diff --git a/core-web/apps/contenttype-fields-builder/src/app/app.module.ts b/core-web/apps/contenttype-fields-builder/src/app/app.module.ts index 7b21f428746a..d8d3ae9e1387 100644 --- a/core-web/apps/contenttype-fields-builder/src/app/app.module.ts +++ b/core-web/apps/contenttype-fields-builder/src/app/app.module.ts @@ -1,5 +1,6 @@ import { MonacoEditorModule } from '@materia-ui/ngx-monaco-editor'; +import { HttpClientModule } from '@angular/common/http'; import { DoBootstrap, Injector, NgModule, Type } from '@angular/core'; import { createCustomElement } from '@angular/elements'; import { BrowserModule } from '@angular/platform-browser'; @@ -24,7 +25,13 @@ const CONTENTTYPE_FIELDS: ContenttypeFieldElement[] = [ @NgModule({ declarations: [AppComponent], - imports: [BrowserModule, BrowserAnimationsModule, DotBinaryFieldComponent, MonacoEditorModule], + imports: [ + BrowserModule, + BrowserAnimationsModule, + HttpClientModule, + DotBinaryFieldComponent, + MonacoEditorModule + ], providers: [DotMessageService, DotUploadService] }) export class AppModule implements DoBootstrap { diff --git a/core-web/apps/dotcms-ui/src/stories/primeng/button/Button.stories.ts b/core-web/apps/dotcms-ui/src/stories/primeng/button/Button.stories.ts index cbee162a00f0..88895396c815 100644 --- a/core-web/apps/dotcms-ui/src/stories/primeng/button/Button.stories.ts +++ b/core-web/apps/dotcms-ui/src/stories/primeng/button/Button.stories.ts @@ -28,7 +28,7 @@ export default { control: { type: 'select' } }, type: { - options: ['-', 'p-button-text', 'p-button-outlined'], + options: ['-', 'p-button-text', 'p-button-outlined', 'p-button-link'], control: { type: 'select' } }, iconPos: { diff --git a/core-web/libs/contenttype-fields/src/lib/fields/binary-field/binary-field.component.html b/core-web/libs/contenttype-fields/src/lib/fields/binary-field/binary-field.component.html index afa89c32534f..d0e63196fb45 100644 --- a/core-web/libs/contenttype-fields/src/lib/fields/binary-field/binary-field.component.html +++ b/core-web/libs/contenttype-fields/src/lib/fields/binary-field/binary-field.component.html @@ -2,11 +2,11 @@ class="binary-field__container" *ngIf="vm$ | async as vm" [ngClass]="{ - 'binary-field__container--uploading': vm.status === BINARY_FIELD_STATUS.UPLOADING + 'binary-field__container--uploading': vm.status === BinaryFieldStatus.UPLOADING }">
- +
- -
- - {{ vm.tempFile.fileName }} - -
- -
+ + - + [styleClass]="vm.mode === BinaryFieldMode.EDITOR ? 'screen-cover' : ''"> + -
{{ helperText }} diff --git a/core-web/libs/contenttype-fields/src/lib/fields/binary-field/binary-field.component.scss b/core-web/libs/contenttype-fields/src/lib/fields/binary-field/binary-field.component.scss index fc96c08fecf0..4e2002a84ce9 100644 --- a/core-web/libs/contenttype-fields/src/lib/fields/binary-field/binary-field.component.scss +++ b/core-web/libs/contenttype-fields/src/lib/fields/binary-field/binary-field.component.scss @@ -7,6 +7,18 @@ min-width: 40rem; min-height: 40rem; } + p-dialog { + .p-dialog-mask.p-component-overlay { + background-color: transparent; + -webkit-backdrop-filter: blur($blur-md); + backdrop-filter: blur($blur-md); + } + } +} + +dot-drop-zone { + height: 100%; + width: 100%; } .binary-field__container { @@ -14,22 +26,18 @@ justify-content: center; align-items: center; width: 100%; - gap: $spacing-3; border-radius: $border-radius-md; border: $field-border-size solid $color-palette-gray-300; padding: $spacing-1; margin-bottom: $spacing-1; - height: 10rem; + height: 12.5rem; + min-width: 17.5rem; } .binary-field__container--uploading { border: $field-border-size dashed $color-palette-gray-300; } -.binary-field__helper-icon { - color: $color-palette-gray-600; -} - .binary-field__helper { display: flex; justify-content: flex-start; @@ -39,20 +47,24 @@ font-weight: $font-size-sm; } +.binary-field__helper-icon { + color: $color-palette-gray-600; +} + .binary-field__actions { display: flex; flex-direction: column; gap: $spacing-3; justify-content: center; align-items: flex-start; +} - ::ng-deep .p-button { - display: inline-flex; - user-select: none; - align-items: center; - vertical-align: bottom; - text-align: center; - } +.binary-field__actions .p-button { + display: inline-flex; + user-select: none; + align-items: center; + vertical-align: bottom; + text-align: center; } .binary-field__actions ::ng-deep { @@ -82,20 +94,19 @@ justify-content: center; align-items: center; border-radius: $border-radius-md; - user-select: none; cursor: default; flex-grow: 1; height: 100%; +} - .binary-field__drop-zone-btn { - border: none; - background: none; - color: $color-palette-primary-500; - text-decoration: underline; - font-size: $font-size-md; - font-family: $font-default; - padding: revert; - } +.binary-field__drop-zone-btn { + border: none; + background: none; + color: $color-palette-primary-500; + text-decoration: underline; + font-size: $font-size-md; + font-family: $font-default; + padding: revert; } .binary-field__drop-zone--active { @@ -105,11 +116,6 @@ box-shadow: $md-shadow-6; } -.binary-field__drop-zone dot-drop-zone { - height: 100%; - width: 100%; -} - .binary-field__input { display: none; } @@ -119,11 +125,3 @@ display: block; height: 25rem; } - -p-dialog ::ng-deep { - .p-dialog-mask.p-component-overlay { - background-color: transparent; - -webkit-backdrop-filter: blur($blur-md); - backdrop-filter: blur($blur-md); - } -} diff --git a/core-web/libs/contenttype-fields/src/lib/fields/binary-field/binary-field.component.spec.ts b/core-web/libs/contenttype-fields/src/lib/fields/binary-field/binary-field.component.spec.ts index 26b583fc4030..e8fac9f8b262 100644 --- a/core-web/libs/contenttype-fields/src/lib/fields/binary-field/binary-field.component.spec.ts +++ b/core-web/libs/contenttype-fields/src/lib/fields/binary-field/binary-field.component.spec.ts @@ -1,28 +1,29 @@ import { expect, it } from '@jest/globals'; import { MonacoEditorModule } from '@materia-ui/ngx-monaco-editor'; import { byTestId, createComponentFactory, Spectator } from '@ngneat/spectator'; +import { of } from 'rxjs'; import { HttpClientTestingModule } from '@angular/common/http/testing'; +import { NgZone } from '@angular/core'; +import { fakeAsync, tick } from '@angular/core/testing'; import { By } from '@angular/platform-browser'; import { NoopAnimationsModule } from '@angular/platform-browser/animations'; import { ButtonModule } from 'primeng/button'; import { DialogModule } from 'primeng/dialog'; -import { DotMessageService, DotUploadService } from '@dotcms/data-access'; +import { DotLicenseService, DotMessageService, DotUploadService } from '@dotcms/data-access'; import { DotCMSTempFile } from '@dotcms/dotcms-models'; -import { DropZoneFileEvent } from '@dotcms/ui'; +import { DropZoneErrorType, DropZoneFileEvent } from '@dotcms/ui'; import { DotBinaryFieldComponent } from './binary-field.component'; import { DotBinaryFieldUiMessageComponent } from './components/dot-binary-field-ui-message/dot-binary-field-ui-message.component'; -import { - BINARY_FIELD_MODE, - BINARY_FIELD_STATUS, - DotBinaryFieldStore -} from './store/binary-field.store'; +import { BinaryFieldMode, BinaryFieldStatus } from './interfaces'; +import { DotBinaryFieldEditImageService } from './service/dot-binary-field-edit-image/dot-binary-field-edit-image.service'; +import { DotBinaryFieldStore } from './store/binary-field.store'; import { getUiMessage } from '../../utils/binary-field-utils'; -import { CONTENTTYPE_FIELDS_MESSAGE_MOCK } from '../../utils/mock'; +import { CONTENTTYPE_FIELDS_MESSAGE_MOCK, FIELD } from '../../utils/mock'; const TEMP_FILE_MOCK: DotCMSTempFile = { fileName: 'image.png', @@ -30,7 +31,8 @@ const TEMP_FILE_MOCK: DotCMSTempFile = { id: '12345', image: true, length: 1000, - referenceUrl: '/reference/url', + referenceUrl: + 'https://images.unsplash.com/photo-1575936123452-b67c3203c357?auto=format&fit=crop&q=80&w=1000&ixlib=rb-4.0.3&ixid=M3wxMjA3fDB8MHxzZWFyY2h8Mnx8aW1hZ2V8ZW58MHx8MHx8fDA%3D', thumbnailUrl: 'image.png', mimeType: 'mimeType' }; @@ -40,7 +42,8 @@ const validity = { valid: true, fileTypeMismatch: false, maxFileSizeExceeded: false, - multipleFilesDropped: false + multipleFilesDropped: false, + errorsType: [DropZoneErrorType.FILE_TYPE_MISMATCH] }; const DROP_ZONE_FILE_EVENT: DropZoneFileEvent = { @@ -52,6 +55,9 @@ describe('DotBinaryFieldComponent', () => { let spectator: Spectator; let store: DotBinaryFieldStore; + let dotBinaryFieldEditImageService: DotBinaryFieldEditImageService; + let ngZone: NgZone; + const createComponent = createComponentFactory({ component: DotBinaryFieldComponent, imports: [ @@ -64,6 +70,13 @@ describe('DotBinaryFieldComponent', () => { ], componentProviders: [DotBinaryFieldStore], providers: [ + DotBinaryFieldEditImageService, + { + provide: DotLicenseService, + useValue: { + isEnterprise: () => of(true) + } + }, { provide: DotUploadService, useValue: { @@ -87,12 +100,13 @@ describe('DotBinaryFieldComponent', () => { spectator = createComponent({ detectChanges: false, props: { - accept: ['image/*'], - maxFileSize: 1000, - helperText: 'helper text' + field: FIELD, + contentlet: null } }); store = spectator.inject(DotBinaryFieldStore, true); + dotBinaryFieldEditImageService = spectator.inject(DotBinaryFieldEditImageService, true); + ngZone = spectator.inject(NgZone); }); it('should emit temp file', () => { @@ -104,9 +118,10 @@ describe('DotBinaryFieldComponent', () => { describe('Dropzone', () => { beforeEach(async () => { - store.setStatus(BINARY_FIELD_STATUS.INIT); spectator.detectChanges(); + store.setStatus(BinaryFieldStatus.INIT); await spectator.fixture.whenStable(); + spectator.detectChanges(); }); it('should show dropzone when statust is INIT', () => { @@ -139,7 +154,7 @@ describe('DotBinaryFieldComponent', () => { }); expect(spyInvalidFile).toHaveBeenCalledWith( - getUiMessage('FILE_TYPE_MISMATCH', 'image/*') + getUiMessage('FILE_TYPE_MISMATCH', 'image/*, .html, .ts') ); expect(spyUploadFile).not.toHaveBeenCalled(); }); @@ -185,21 +200,24 @@ describe('DotBinaryFieldComponent', () => { describe('Preview', () => { beforeEach(async () => { - store.setStatus(BINARY_FIELD_STATUS.PREVIEW); + store.setStatus(BinaryFieldStatus.PREVIEW); store.setTempFile(TEMP_FILE_MOCK); spectator.detectChanges(); await spectator.fixture.whenStable(); }); - it('should remove file and set INIT status when clickin on remove button', async () => { + it('should remove file and set INIT status when remove file ', async () => { const spyRemoveFile = jest.spyOn(store, 'removeFile'); - const remove = spectator.query(byTestId('action-remove-btn')) as HTMLButtonElement; - remove.click(); + const dotBinarPreviewFile = spectator.fixture.debugElement.query( + By.css('[data-testId="preview"]') + ); + + dotBinarPreviewFile.componentInstance.removeFile.emit(); store.vm$.subscribe((state) => { expect(state).toEqual({ ...state, - status: BINARY_FIELD_STATUS.INIT, + status: BinaryFieldStatus.INIT, tempFile: null, file: null }); @@ -213,6 +231,43 @@ describe('DotBinaryFieldComponent', () => { expect(dropZone).toBeTruthy(); expect(spyRemoveFile).toHaveBeenCalled(); }); + + describe('Edit Image', () => { + it('should open edit image dialog when click on edit image button', () => { + const spy = jest.spyOn(dotBinaryFieldEditImageService, 'openImageEditor'); + const dotBinaryFieldPreviewComponent = spectator.fixture.debugElement.query( + By.css('dot-binary-field-preview') + ); + dotBinaryFieldPreviewComponent.triggerEventHandler('editImage'); + expect(spy).toHaveBeenCalled(); + }); + + it('should emit the tempId of the edited image', () => { + // Needed because the openImageEditor method is using a DOM custom event + ngZone.run( + fakeAsync(() => { + const spy = jest.spyOn(dotBinaryFieldEditImageService, 'openImageEditor'); + const spyTempFile = jest.spyOn(store, 'setTempFile'); + const dotBinaryFieldPreviewComponent = spectator.fixture.debugElement.query( + By.css('dot-binary-field-preview') + ); + dotBinaryFieldPreviewComponent.triggerEventHandler('editImage'); + const customEvent = new CustomEvent( + `binaryField-tempfile-${FIELD.variable}`, + { + detail: { tempFile: TEMP_FILE_MOCK } + } + ); + document.dispatchEvent(customEvent); + + tick(1000); + + expect(spy).toHaveBeenCalled(); + expect(spyTempFile).toHaveBeenCalledWith(TEMP_FILE_MOCK); + }) + ); + }); + }); }); describe('Template', () => { @@ -221,21 +276,21 @@ describe('DotBinaryFieldComponent', () => { }); it('should show dropzone when status is INIT', async () => { - store.setStatus(BINARY_FIELD_STATUS.INIT); + store.setStatus(BinaryFieldStatus.INIT); spectator.detectChanges(); await spectator.fixture.whenStable(); expect(spectator.query(byTestId('dropzone'))).toBeTruthy(); }); it('should show loading when status is UPLOADING', async () => { - store.setStatus(BINARY_FIELD_STATUS.UPLOADING); + store.setStatus(BinaryFieldStatus.UPLOADING); spectator.detectChanges(); await spectator.fixture.whenStable(); expect(spectator.query(byTestId('loading'))).toBeTruthy(); }); it('should show preview when status is PREVIEW', async () => { - store.setStatus(BINARY_FIELD_STATUS.PREVIEW); + store.setStatus(BinaryFieldStatus.PREVIEW); store.setTempFile(TEMP_FILE_MOCK); spectator.detectChanges(); @@ -245,12 +300,17 @@ describe('DotBinaryFieldComponent', () => { }); it('should show helper text', () => { - expect(spectator.query(byTestId('helper-text')).innerHTML).toBe('helper text'); + expect(spectator.query(byTestId('helper-text')).innerHTML).toBe( + 'Helper label to be displayed below the field' + ); }); }); describe('Dialog', () => { - beforeEach(() => { + beforeEach(async () => { + jest.spyOn(store, 'setFileAndContent').mockReturnValue(of(null).subscribe()); + spectator.detectChanges(); + await spectator.fixture.whenStable(); spectator.detectChanges(); }); @@ -267,7 +327,7 @@ describe('DotBinaryFieldComponent', () => { expect(editorElement).toBeTruthy(); expect(isDialogOpen).toBeTruthy(); - expect(spySetMode).toHaveBeenCalledWith(BINARY_FIELD_MODE.EDITOR); + expect(spySetMode).toHaveBeenCalledWith(BinaryFieldMode.EDITOR); }); it('should open dialog with url componet component when click on url button', async () => { @@ -283,7 +343,7 @@ describe('DotBinaryFieldComponent', () => { expect(urlElement).toBeTruthy(); expect(isDialogOpen).toBeTruthy(); - expect(spySetMode).toHaveBeenCalledWith(BINARY_FIELD_MODE.URL); + expect(spySetMode).toHaveBeenCalledWith(BinaryFieldMode.URL); }); }); diff --git a/core-web/libs/contenttype-fields/src/lib/fields/binary-field/binary-field.component.stories.ts b/core-web/libs/contenttype-fields/src/lib/fields/binary-field/binary-field.component.stories.ts index d10f1e67ef1d..ad356d535a14 100644 --- a/core-web/libs/contenttype-fields/src/lib/fields/binary-field/binary-field.component.stories.ts +++ b/core-web/libs/contenttype-fields/src/lib/fields/binary-field/binary-field.component.stories.ts @@ -1,5 +1,6 @@ import { MonacoEditorModule } from '@materia-ui/ngx-monaco-editor'; import { moduleMetadata, Story, Meta } from '@storybook/angular'; +import { of } from 'rxjs'; import { CommonModule } from '@angular/common'; import { HttpClientModule } from '@angular/common/http'; @@ -9,8 +10,12 @@ import { ButtonModule } from 'primeng/button'; import { DialogModule } from 'primeng/dialog'; import { InputTextModule } from 'primeng/inputtext'; -import { DotMessageService, DotUploadService } from '@dotcms/data-access'; +import { delay } from 'rxjs/operators'; + +import { DotLicenseService, DotMessageService, DotUploadService } from '@dotcms/data-access'; +import { CoreWebService, CoreWebServiceMock } from '@dotcms/dotcms-js'; import { + DotContentThumbnailComponent, DotDropZoneComponent, DotFieldValidationMessageComponent, DotMessagePipe, @@ -18,11 +23,17 @@ import { } from '@dotcms/ui'; import { DotBinaryFieldComponent } from './binary-field.component'; +import { DotBinaryFieldPreviewComponent } from './components/dot-binary-field-preview/dot-binary-field-preview.component'; import { DotBinaryFieldUiMessageComponent } from './components/dot-binary-field-ui-message/dot-binary-field-ui-message.component'; import { DotBinaryFieldUrlModeComponent } from './components/dot-binary-field-url-mode/dot-binary-field-url-mode.component'; import { DotBinaryFieldStore } from './store/binary-field.store'; -import { CONTENTTYPE_FIELDS_MESSAGE_MOCK } from '../../utils/mock'; +import { + CONTENTLET, + CONTENTTYPE_FIELDS_MESSAGE_MOCK, + FIELD, + TEMP_FILES_MOCK +} from '../../utils/mock'; export default { title: 'Library / Contenttype Fields / DotBinaryFieldComponent', @@ -42,27 +53,29 @@ export default { DotSpinnerModule, InputTextModule, DotBinaryFieldUrlModeComponent, - DotFieldValidationMessageComponent + DotBinaryFieldPreviewComponent, + DotFieldValidationMessageComponent, + DotContentThumbnailComponent ], providers: [ + { provide: CoreWebService, useClass: CoreWebServiceMock }, DotBinaryFieldStore, + { + provide: DotLicenseService, + useValue: { + isEnterprise: () => of(true).pipe(delay(1000)) + } + }, { provide: DotUploadService, useValue: { uploadFile: () => { return new Promise((resolve, _reject) => { setTimeout(() => { - resolve({ - fileName: 'Image.jpg', - folder: 'folder', - id: 'tempFileId', - image: true, - length: 10000, - mimeType: 'mimeType', - referenceUrl: 'referenceUrl', - thumbnailUrl: 'thumbnailUrl' - }); - }, 4000); + const index = Math.floor(Math.random() * 3); + const TEMP_FILE = TEMP_FILES_MOCK[index]; + resolve(TEMP_FILE); // TEMP_FILES_MOCK is imported from utils/mock.ts + }, 2000); }); } } @@ -75,25 +88,19 @@ export default { }) ], args: { - accept: ['image/*', '.ts'], - maxFileSize: 1000000, - helperText: 'This field accepts only images with a maximum size of 1MB.' + contentlet: CONTENTLET, + field: FIELD }, argTypes: { - accept: { - defaultValue: ['image/*'], + contentlet: { + defaultValue: CONTENTLET, control: 'object', - description: 'Accepted file types' - }, - maxFileSize: { - defaultValue: 1000000, - control: 'number', - description: 'Maximum file size in bytes' + description: 'Contentlet Object' }, - helperText: { - defaultValue: 'This field accepts only images with a maximum size of 1MB.', - control: 'text', - description: 'Helper label to be displayed below the field' + field: { + defaultValue: FIELD, + control: 'Object', + description: 'Content Type Field Object' } } } as Meta; @@ -101,9 +108,8 @@ export default { const Template: Story = (args: DotBinaryFieldComponent) => ({ props: args, template: `` }); diff --git a/core-web/libs/contenttype-fields/src/lib/fields/binary-field/binary-field.component.ts b/core-web/libs/contenttype-fields/src/lib/fields/binary-field/binary-field.component.ts index 54c824ae9d6b..09cedb7212f3 100644 --- a/core-web/libs/contenttype-fields/src/lib/fields/binary-field/binary-field.component.ts +++ b/core-web/libs/contenttype-fields/src/lib/fields/binary-field/binary-field.component.ts @@ -3,11 +3,14 @@ import { MonacoEditorModule } from '@materia-ui/ngx-monaco-editor'; import { CommonModule } from '@angular/common'; import { HttpClientModule } from '@angular/common/http'; import { + AfterViewInit, ChangeDetectionStrategy, + ChangeDetectorRef, Component, ElementRef, EventEmitter, Input, + OnDestroy, OnInit, Output, ViewChild @@ -17,38 +20,28 @@ import { ButtonModule } from 'primeng/button'; import { DialogModule } from 'primeng/dialog'; import { InputTextModule } from 'primeng/inputtext'; -import { skip } from 'rxjs/operators'; +import { delay, filter, skip, tap } from 'rxjs/operators'; -import { DotMessageService } from '@dotcms/data-access'; -import { DotCMSTempFile } from '@dotcms/dotcms-models'; +import { DotLicenseService, DotMessageService } from '@dotcms/data-access'; +import { DotCMSContentTypeField, DotCMSContentlet, DotCMSTempFile } from '@dotcms/dotcms-models'; import { DotDropZoneComponent, DotMessagePipe, DotSpinnerModule, + DropZoneErrorType, DropZoneFileEvent, DropZoneFileValidity } from '@dotcms/ui'; import { DotBinaryFieldEditorComponent } from './components/dot-binary-field-editor/dot-binary-field-editor.component'; +import { DotBinaryFieldPreviewComponent } from './components/dot-binary-field-preview/dot-binary-field-preview.component'; import { DotBinaryFieldUiMessageComponent } from './components/dot-binary-field-ui-message/dot-binary-field-ui-message.component'; import { DotBinaryFieldUrlModeComponent } from './components/dot-binary-field-url-mode/dot-binary-field-url-mode.component'; -import { - BINARY_FIELD_MODE, - BINARY_FIELD_STATUS, - BinaryFieldState, - DotBinaryFieldStore -} from './store/binary-field.store'; - -import { UI_MESSAGE_KEYS, UiMessageI, getUiMessage } from '../../utils/binary-field-utils'; - -const initialState: BinaryFieldState = { - file: null, - tempFile: null, - mode: BINARY_FIELD_MODE.DROPZONE, - status: BINARY_FIELD_STATUS.INIT, - dropZoneActive: false, - UiMessage: getUiMessage(UI_MESSAGE_KEYS.DEFAULT) -}; +import { BinaryFieldMode, BinaryFieldStatus } from './interfaces'; +import { DotBinaryFieldEditImageService } from './service/dot-binary-field-edit-image/dot-binary-field-edit-image.service'; +import { DotBinaryFieldStore } from './store/binary-field.store'; + +import { getUiMessage } from '../../utils/binary-field-utils'; @Component({ selector: 'dot-binary-field', @@ -65,95 +58,87 @@ const initialState: BinaryFieldState = { HttpClientModule, DotBinaryFieldEditorComponent, InputTextModule, - DotBinaryFieldUrlModeComponent + DotBinaryFieldUrlModeComponent, + DotBinaryFieldPreviewComponent ], - providers: [DotBinaryFieldStore], + providers: [DotBinaryFieldStore, DotLicenseService, DotBinaryFieldEditImageService], templateUrl: './binary-field.component.html', styleUrls: ['./binary-field.component.scss'], changeDetection: ChangeDetectionStrategy.OnPush }) -export class DotBinaryFieldComponent implements OnInit { - //Inputs - @Input() accept: string[] = []; - @Input() maxFileSize: number; - @Input() helperText: string; - - @ViewChild('inputFile') inputFile: ElementRef; - +export class DotBinaryFieldComponent implements OnInit, AfterViewInit, OnDestroy { + @Input() field: DotCMSContentTypeField; + @Input() contentlet: DotCMSContentlet; @Output() tempFile = new EventEmitter(); - - @Input() contentlet; + @ViewChild('inputFile') inputFile: ElementRef; readonly dialogHeaderMap = { - [BINARY_FIELD_MODE.URL]: 'dot.binary.field.dialog.import.from.url.header', - [BINARY_FIELD_MODE.EDITOR]: 'dot.binary.field.dialog.create.new.file.header' + [BinaryFieldMode.URL]: 'dot.binary.field.dialog.import.from.url.header', + [BinaryFieldMode.EDITOR]: 'dot.binary.field.dialog.create.new.file.header' }; - readonly BINARY_FIELD_STATUS = BINARY_FIELD_STATUS; - readonly BINARY_FIELD_MODE = BINARY_FIELD_MODE; + readonly BinaryFieldStatus = BinaryFieldStatus; + readonly BinaryFieldMode = BinaryFieldMode; readonly vm$ = this.dotBinaryFieldStore.vm$; + private tempId = ''; dialogOpen = false; + accept: string[] = []; + maxFileSize: number; + helperText: string; constructor( private readonly dotBinaryFieldStore: DotBinaryFieldStore, - private readonly dotMessageService: DotMessageService + private readonly dotMessageService: DotMessageService, + private readonly dotBinaryFieldEditImageService: DotBinaryFieldEditImageService, + private readonly cd: ChangeDetectorRef ) { - // WIP - This will receive the contentlet from the parent component (PREVIEW MODE) - this.dotBinaryFieldStore.setState(initialState); this.dotMessageService.init(); } ngOnInit() { - this.dotBinaryFieldStore.tempFile$ - .pipe(skip(1)) // Skip initial state - .subscribe((tempFile) => { - this.tempFile.emit(tempFile); - }); + this.dotBinaryFieldStore.tempFile$.pipe(skip(1)).subscribe((tempFile) => { + this.tempId = tempFile?.id; + this.tempFile.emit(tempFile); + }); - this.dotBinaryFieldStore.setMaxFileSize(this.maxFileSize); - } + this.dotBinaryFieldEditImageService + .editedImage() + .pipe( + filter((tempFile) => !!tempFile), + tap(() => this.dotBinaryFieldStore.setStatus(BinaryFieldStatus.UPLOADING)), + delay(500) // Loading animation + ) + .subscribe((tempFile) => this.setTempFile(tempFile)); - /** - * Set drop zone active state - * - * @param {boolean} value - * @memberof DotBinaryFieldComponent - */ - setDropZoneActiveState(value: boolean) { - this.dotBinaryFieldStore.setDropZoneActive(value); + this.dotBinaryFieldStore.setMaxFileSize(this.maxFileSize); } - /** - * Handle file dropped - * - * @param {DropZoneFileEvent} { validity } - * @return {*} - * @memberof BinaryFieldComponent - */ - handleFileDrop({ validity, file }: DropZoneFileEvent) { - if (!validity.valid) { - const uiMessage = this.handleFileDropError(validity); - this.dotBinaryFieldStore.invalidFile(uiMessage); - - return; + ngAfterViewInit() { + this.setFieldVariables(); + if (this.contentlet) { + this.setPreviewFile(); } - this.dotBinaryFieldStore.handleUploadFile(file); + this.cd.detectChanges(); + } + + ngOnDestroy() { + this.dotBinaryFieldEditImageService.removeListener(); } /** - * Open dialog + * Open dialog to create new file or import from url * - * @param {BINARY_FIELD_MODE} mode + * @param {BinaryFieldMode} mode * @memberof DotBinaryFieldComponent */ - openDialog(mode: BINARY_FIELD_MODE) { + openDialog(mode: BinaryFieldMode) { this.dialogOpen = true; this.dotBinaryFieldStore.setMode(mode); } /** - * Close Dialog + * Close dialog * * @memberof DotBinaryFieldComponent */ @@ -162,16 +147,7 @@ export class DotBinaryFieldComponent implements OnInit { } /** - * Listen to dialog close event - * - * @memberof DotBinaryFieldComponent - */ - afterDialogClose() { - this.dotBinaryFieldStore.setMode(null); - } - - /** - * Open file picker dialog + * Open file picker * * @memberof DotBinaryFieldComponent */ @@ -200,36 +176,132 @@ export class DotBinaryFieldComponent implements OnInit { this.dotBinaryFieldStore.removeFile(); } + /** + * Set temp file + * + * @param {DotCMSTempFile} tempFile + * @memberof DotBinaryFieldComponent + */ setTempFile(tempFile: DotCMSTempFile) { this.dotBinaryFieldStore.setTempFile(tempFile); - this.dialogOpen = false; + this.closeDialog(); } - isEditorMode(mode: BINARY_FIELD_MODE): boolean { - return mode === BINARY_FIELD_MODE.EDITOR; + /** + * Open Dialog to edit file in editor + * + * @memberof DotBinaryFieldComponent + */ + onEditFile() { + this.openDialog(BinaryFieldMode.EDITOR); } /** - * Handle file drop error + * Open Image Editor * - * @private - * @param {DropZoneFileValidity} { fileTypeMismatch, maxFileSizeExceeded } - * @memberof DotBinaryFieldStore + * @memberof DotBinaryFieldComponent + */ + onEditImage() { + this.dotBinaryFieldEditImageService.openImageEditor({ + inode: this.contentlet?.inode, + tempId: this.tempId, + variable: this.field.variable + }); + } + + /** + * Set drop zone active state + * + * @param {boolean} value + * @memberof DotBinaryFieldComponent + */ + setDropZoneActiveState(value: boolean) { + this.dotBinaryFieldStore.setDropZoneActive(value); + } + + /** + * Handle file drop + * + * @param {DropZoneFileEvent} { validity, file } + * @return {*} + * @memberof DotBinaryFieldComponent */ - private handleFileDropError({ - fileTypeMismatch, - maxFileSizeExceeded - }: DropZoneFileValidity): UiMessageI { - const acceptedTypes = this.accept.join(', '); - const maxSize = `${this.maxFileSize} bytes`; - let uiMessage: UiMessageI; - - if (fileTypeMismatch) { - uiMessage = getUiMessage(UI_MESSAGE_KEYS.FILE_TYPE_MISMATCH, acceptedTypes); - } else if (maxFileSizeExceeded) { - uiMessage = getUiMessage(UI_MESSAGE_KEYS.MAX_FILE_SIZE_EXCEEDED, maxSize); + handleFileDrop({ validity, file }: DropZoneFileEvent) { + if (!validity.valid) { + this.handleFileDropError(validity); + + return; } - return uiMessage; + this.dotBinaryFieldStore.handleUploadFile(file); + } + + /** + * Set preview file + * + * @private + * @memberof DotBinaryFieldComponent + */ + private setPreviewFile() { + const variable = this.field.variable; + const metaDataKey = variable + 'MetaData'; + const { titleImage, inode, [metaDataKey]: metadata } = this.contentlet; + const { contentType: mimeType } = metadata; + + this.dotBinaryFieldStore.setFileAndContent({ + inode, + titleImage, + mimeType, + url: this.contentlet[variable], + ...metadata + }); + } + + /** + * Set field variables + * + * @private + * @memberof DotBinaryFieldComponent + */ + private setFieldVariables() { + const { accept, maxFileSize = 0, helperText } = this.getFieldVariables(); + this.accept = accept ? accept.split(',') : []; + this.maxFileSize = Number(maxFileSize); + this.helperText = helperText; + } + + /** + * Get field variables + * + * @private + * @return {*} {Record} + * @memberof DotBinaryFieldComponent + */ + private getFieldVariables(): Record { + return this.field.fieldVariables.reduce( + (prev, { key, value }) => ({ + ...prev, + [key]: value + }), + {} + ); + } + + /** + * Handle file drop error + * + * @private + * @param {DropZoneFileValidity} { errorsType } + * @memberof DotBinaryFieldComponent + */ + private handleFileDropError({ errorsType }: DropZoneFileValidity): void { + const messageArgs = { + [DropZoneErrorType.FILE_TYPE_MISMATCH]: this.accept.join(', '), + [DropZoneErrorType.MAX_FILE_SIZE_EXCEEDED]: `${this.maxFileSize} bytes` + }; + const errorType = errorsType[0]; + const uiMessage = getUiMessage(errorType, messageArgs[errorType]); + + this.dotBinaryFieldStore.invalidFile(uiMessage); } } diff --git a/core-web/libs/contenttype-fields/src/lib/fields/binary-field/components/dot-binary-field-editor/dot-binary-field-editor.component.spec.ts b/core-web/libs/contenttype-fields/src/lib/fields/binary-field/components/dot-binary-field-editor/dot-binary-field-editor.component.spec.ts index 7d90c9b16f34..f17c62bf2f1b 100644 --- a/core-web/libs/contenttype-fields/src/lib/fields/binary-field/components/dot-binary-field-editor/dot-binary-field-editor.component.spec.ts +++ b/core-web/libs/contenttype-fields/src/lib/fields/binary-field/components/dot-binary-field-editor/dot-binary-field-editor.component.spec.ts @@ -98,10 +98,6 @@ describe('DotBinaryFieldEditorComponent', () => { spectator.detectChanges(); }); - it('should create', () => { - expect(component).toBeTruthy(); - }); - describe('Editor', () => { it('should set editor language', fakeAsync(() => { component.form.setValue({ diff --git a/core-web/libs/contenttype-fields/src/lib/fields/binary-field/components/dot-binary-field-editor/dot-binary-field-editor.component.ts b/core-web/libs/contenttype-fields/src/lib/fields/binary-field/components/dot-binary-field-editor/dot-binary-field-editor.component.ts index 63bd3d093f9d..56525d99c4a9 100644 --- a/core-web/libs/contenttype-fields/src/lib/fields/binary-field/components/dot-binary-field-editor/dot-binary-field-editor.component.ts +++ b/core-web/libs/contenttype-fields/src/lib/fields/binary-field/components/dot-binary-field-editor/dot-binary-field-editor.component.ts @@ -68,6 +68,8 @@ const EDITOR_CONFIG: MonacoEditorConstructionOptions = { }) export class DotBinaryFieldEditorComponent implements OnInit, AfterViewInit { @Input() accept: string[]; + @Input() fileName = ''; + @Input() fileContent = ''; @Output() readonly tempFileUploaded = new EventEmitter(); @Output() readonly cancel = new EventEmitter(); @@ -98,6 +100,7 @@ export class DotBinaryFieldEditorComponent implements OnInit, AfterViewInit { } ngOnInit(): void { + this.setFormValues(); this.name.valueChanges .pipe(debounceTime(350)) .subscribe((name) => this.setEditorLanguage(name)); @@ -109,13 +112,14 @@ export class DotBinaryFieldEditorComponent implements OnInit, AfterViewInit { ngAfterViewInit(): void { this.editor = this.editorRef.editor; + if (this.fileName) { + this.setEditorLanguage(this.fileName); + } } onSubmit(): void { - if (this.form.invalid) { - if (!this.name.dirty) { - this.markControlInvalid(this.name); - } + if (this.name.invalid) { + this.markControlInvalid(this.name); return; } @@ -126,6 +130,11 @@ export class DotBinaryFieldEditorComponent implements OnInit, AfterViewInit { this.uploadFile(file); } + private setFormValues(): void { + this.name.setValue(this.fileName); + this.content.setValue(this.fileContent); + } + private markControlInvalid(control: FormControl): void { control.markAsDirty(); control.updateValueAndValidity(); @@ -137,7 +146,10 @@ export class DotBinaryFieldEditorComponent implements OnInit, AfterViewInit { this.disableEditor(); obs$.subscribe((tempFile) => { this.enableEditor(); - this.tempFileUploaded.emit(tempFile); + this.tempFileUploaded.emit({ + ...tempFile, + content: this.content.value + }); }); } diff --git a/core-web/libs/contenttype-fields/src/lib/fields/binary-field/components/dot-binary-field-preview/dot-binary-field-preview.component.html b/core-web/libs/contenttype-fields/src/lib/fields/binary-field/components/dot-binary-field-preview/dot-binary-field-preview.component.html new file mode 100644 index 000000000000..fde4953d7ed5 --- /dev/null +++ b/core-web/libs/contenttype-fields/src/lib/fields/binary-field/components/dot-binary-field-preview/dot-binary-field-preview.component.html @@ -0,0 +1,77 @@ +
+
+ {{ file.content }} +
+ + +
+ +
+ + +
+ + + + +
+ + + + diff --git a/core-web/libs/contenttype-fields/src/lib/fields/binary-field/components/dot-binary-field-preview/dot-binary-field-preview.component.scss b/core-web/libs/contenttype-fields/src/lib/fields/binary-field/components/dot-binary-field-preview/dot-binary-field-preview.component.scss new file mode 100644 index 000000000000..1b70bd071094 --- /dev/null +++ b/core-web/libs/contenttype-fields/src/lib/fields/binary-field/components/dot-binary-field-preview/dot-binary-field-preview.component.scss @@ -0,0 +1,141 @@ +@use "variables" as *; + +:host { + display: block; + width: 100%; + height: 100%; +} + +.preview-container { + display: flex; + gap: $spacing-1; + align-items: flex-start; + justify-content: center; + height: 100%; + width: 100%; + position: relative; + container-type: inline-size; + container-name: preview; + + &:only-child { + gap: 0; // Remove gap if only one preview + } +} + +.preview-code_container { + display: flex; + align-items: center; + justify-content: center; + height: 100%; + width: 100%; + user-select: none; +} + +.preview-image__container { + height: 100%; + width: 100%; + display: flex; + justify-content: center; + align-items: center; + background: $color-palette-gray-200; +} + +.preview-container--fade::after { + content: ""; + background: linear-gradient(0deg, rgba(255, 255, 255, 1) 0%, rgba(255, 255, 255, 0) 100%); + position: absolute; + width: 100%; + height: 50%; + bottom: 0; + left: 0; + border-radius: $border-radius-md; +} + +.preview-metadata__container, +.preview-metadata__responsive { + flex-grow: 1; + padding: $spacing-1; + display: none; + justify-content: top; + flex-direction: column; + height: 100%; + min-width: 8rem; + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; + gap: $spacing-2; + + .preview-metadata_header { + font-size: $font-size-md; + font-weight: $font-weight-bold; + margin: 0; + color: $black; + } + + span { + color: $color-palette-gray-700; + } +} + +.preview-metadata__responsive { + display: flex; + padding: 0; + max-width: 20rem; +} + +.preview-metadata { + display: flex; + justify-content: flex-start; + align-items: center; + gap: $spacing-1; +} + +.preview-metadata__actions { + position: absolute; + bottom: $spacing-1; + right: $spacing-1; + display: none; + justify-content: flex-end; + align-items: center; + gap: $spacing-1; + width: 100%; + z-index: 100; +} + +.preview-metadata__action--responsive { + position: absolute; + bottom: $spacing-1; + right: $spacing-1; + display: flex; + flex-direction: column; + gap: $spacing-1; +} + +code { + background: $white; + color: $color-palette-primary-500; + height: 100%; + width: 100%; + white-space: pre-wrap; + overflow: hidden; +} + +@container preview (min-width: 22rem) { + .preview-metadata__container, + .preview-metadata__actions { + display: flex; + } + + .preview-metadata__action--responsive { + display: none; + } + + .preview-image__container { + height: 100%; + max-width: 17.5rem; + } + + .preview-overlay__container { + display: none; + } +} diff --git a/core-web/libs/contenttype-fields/src/lib/fields/binary-field/components/dot-binary-field-preview/dot-binary-field-preview.component.spec.ts b/core-web/libs/contenttype-fields/src/lib/fields/binary-field/components/dot-binary-field-preview/dot-binary-field-preview.component.spec.ts new file mode 100644 index 000000000000..bfd7cccfc5e2 --- /dev/null +++ b/core-web/libs/contenttype-fields/src/lib/fields/binary-field/components/dot-binary-field-preview/dot-binary-field-preview.component.spec.ts @@ -0,0 +1,137 @@ +import { Spectator, byTestId, createComponentFactory } from '@ngneat/spectator'; + +import { HttpClientTestingModule } from '@angular/common/http/testing'; + +import { DotBinaryFieldPreviewComponent } from './dot-binary-field-preview.component'; + +import { BinaryFile } from '../../interfaces'; + +const fileImage: BinaryFile = { + mimeType: 'image/png', + name: 'test.png', + fileSize: 1234, + content: 'data:image/png;base64,iVBORw0KGg...', + url: 'http://example.com/test.png', + inode: '123', + titleImage: 'Test Image', + width: '100', + height: '100' +}; + +const fileText: BinaryFile = { + mimeType: 'text/plain', + name: 'test.txt', + fileSize: 1234, + content: 'This is a text file', + url: 'http://example.com/test.txt', + inode: '123' +}; + +describe('DotBinaryFieldPreviewComponent', () => { + let spectator: Spectator; + const createComponent = createComponentFactory({ + component: DotBinaryFieldPreviewComponent, + imports: [HttpClientTestingModule] + }); + + beforeEach(() => { + spectator = createComponent({ + props: { + file: fileImage, + editableImage: true + } + }); + }); + + it('should set isEditable to true for image files', () => { + expect(spectator.component.isEditable).toBe(true); + }); + + it('should emit removeFile event when remove button is clicked', () => { + const spy = jest.spyOn(spectator.component.removeFile, 'emit'); + const removeButton = spectator.query(byTestId('remove-button')); + spectator.click(removeButton); + expect(spy).toHaveBeenCalled(); + }); + + describe('onEdit', () => { + describe('when file is an image', () => { + it('should emit editImage event', () => { + const spy = jest.spyOn(spectator.component.editImage, 'emit'); + const editButton = spectator.query(byTestId('edit-button')); + spectator.click(editButton); + expect(spy).toHaveBeenCalled(); + }); + }); + + describe('when file is a text file', () => { + beforeEach(() => { + spectator.setInput('file', fileText); + spectator.detectChanges(); + }); + + it('should emit editFile event when edit button is clicked', () => { + const spy = jest.spyOn(spectator.component.editFile, 'emit'); + const editButton = spectator.query(byTestId('edit-button')); + spectator.click(editButton); + expect(spy).toHaveBeenCalled(); + }); + }); + }); + + describe('editableImage', () => { + describe('when is true', () => { + it('should set isEditable to true', () => { + const editButton = spectator.query(byTestId('edit-button')); + expect(editButton).toBeTruthy(); + }); + }); + + describe('when is false', () => { + beforeEach(async () => { + spectator.setInput('editableImage', false); + spectator.detectChanges(); + await spectator.fixture.whenStable(); + }); + + it('should set isEditable to false', () => { + const editButton = spectator.query(byTestId('edit-button')); + expect(editButton).not.toBeTruthy(); + }); + }); + }); + + describe('responsive', () => { + it('should emit removeFile event when remove button is clicked', () => { + const spy = jest.spyOn(spectator.component.removeFile, 'emit'); + const removeButton = spectator.query(byTestId('remove-button-responsive')); + spectator.click(removeButton); + expect(spy).toHaveBeenCalled(); + }); + + describe('onEdit', () => { + describe('when file is an image', () => { + it('should emit editImage event', () => { + const spy = jest.spyOn(spectator.component.editImage, 'emit'); + const editButton = spectator.query(byTestId('edit-button-responsive')); + spectator.click(editButton); + expect(spy).toHaveBeenCalled(); + }); + }); + + describe('when file is a text file', () => { + beforeEach(() => { + spectator.setInput('file', fileText); + spectator.detectChanges(); + }); + + it('should emit editFile event when edit button is clicked', () => { + const spy = jest.spyOn(spectator.component.editFile, 'emit'); + const editButton = spectator.query(byTestId('edit-button-responsive')); + spectator.click(editButton); + expect(spy).toHaveBeenCalled(); + }); + }); + }); + }); +}); diff --git a/core-web/libs/contenttype-fields/src/lib/fields/binary-field/components/dot-binary-field-preview/dot-binary-field-preview.component.stories.ts b/core-web/libs/contenttype-fields/src/lib/fields/binary-field/components/dot-binary-field-preview/dot-binary-field-preview.component.stories.ts new file mode 100644 index 000000000000..d9c2144d16de --- /dev/null +++ b/core-web/libs/contenttype-fields/src/lib/fields/binary-field/components/dot-binary-field-preview/dot-binary-field-preview.component.stories.ts @@ -0,0 +1,152 @@ +import { action } from '@storybook/addon-actions'; +import { moduleMetadata, Story, Meta } from '@storybook/angular'; + +import { CommonModule } from '@angular/common'; +import { HttpClientModule } from '@angular/common/http'; +import { BrowserAnimationsModule } from '@angular/platform-browser/animations'; + +import { ButtonModule } from 'primeng/button'; + +import { DotContentThumbnailComponent, DotSpinnerModule } from '@dotcms/ui'; + +import { DotBinaryFieldPreviewComponent } from './dot-binary-field-preview.component'; + +const previewImage = { + type: 'image', + resolution: { + width: '400', + height: '400' + }, + fileSize: 8000, + content: '', + mimeType: 'image/png', + inode: '123456789', + titleImage: 'true', + name: 'image.jpg', + title: 'image.jpg', + + contentType: 'image/png', + contentTypeIcon: 'image' +}; + +const previewVideo = { + type: 'image', + fileSize: 8000, + content: '', + mimeType: 'video/png', + inode: '123456789', + titlevideo: 'true', + name: 'video.jpg', + title: 'video.jpg', + + contentType: 'video/png' +}; + +const previewFile = { + type: 'file', + fileSize: 8000, + mimeType: 'text/html', + inode: '123456789', + titlevideo: 'true', + name: 'template.html', + title: 'template.html', + + contentType: 'text/html', + content: ` + + + + + Document + + +

I have styles

+ + ` +}; + +export default { + title: 'Library / Contenttype Fields / Component / DotBinaryFieldPreviewComponent', + component: DotBinaryFieldPreviewComponent, + decorators: [ + moduleMetadata({ + imports: [ + BrowserAnimationsModule, + CommonModule, + ButtonModule, + DotContentThumbnailComponent, + DotSpinnerModule, + HttpClientModule + ], + providers: [] + }) + ], + parameters: { + actions: { + handles: ['editFile', 'removeFile'] + } + }, + args: { + file: previewImage, + variableName: 'binaryField' + }, + argTypes: { + file: { + defaultValue: previewImage, + control: 'object', + description: 'Preview object' + }, + variableName: { + defaultValue: 'binaryField', + control: 'text', + description: 'Field variable name' + } + } +} as Meta; + +const Template: Story = (args: DotBinaryFieldPreviewComponent) => ({ + props: { + ...args, + // https://storybook.js.org/docs/6.5/angular/essentials/actions#action-args + editFile: action('editFile'), + removeFile: action('removeFile') + }, + styles: [ + ` + .container { + width: 100%; + max-width: 36rem; + height: 12.5rem; + border: 1px solid #f2f2f2; + border-radius: 4px; + padding: 0.5rem; + } + ` + ], + template: ` +
+ +
+ ` +}); + +export const Image = Template.bind({}); + +export const Video = Template.bind({}); + +Video.args = { + file: previewVideo, + variableName: 'binaryField' +}; + +export const file = Template.bind({}); + +file.args = { + file: previewFile, + variableName: 'binaryField' +}; diff --git a/core-web/libs/contenttype-fields/src/lib/fields/binary-field/components/dot-binary-field-preview/dot-binary-field-preview.component.ts b/core-web/libs/contenttype-fields/src/lib/fields/binary-field/components/dot-binary-field-preview/dot-binary-field-preview.component.ts new file mode 100644 index 000000000000..a674702686f8 --- /dev/null +++ b/core-web/libs/contenttype-fields/src/lib/fields/binary-field/components/dot-binary-field-preview/dot-binary-field-preview.component.ts @@ -0,0 +1,98 @@ +import { CommonModule } from '@angular/common'; +import { + ChangeDetectionStrategy, + Component, + EventEmitter, + Input, + OnChanges, + Output +} from '@angular/core'; + +import { ButtonModule } from 'primeng/button'; +import { OverlayPanelModule } from 'primeng/overlaypanel'; + +import { + DotContentThumbnailComponent, + DotMessagePipe, + DotSpinnerModule, + DotThumbnailOptions +} from '@dotcms/ui'; + +import { BinaryFile } from '../../interfaces'; + +export enum EDITABLE_FILE { + image = 'image', + text = 'text' +} + +type EDITABLE_FILE_FUNCTION_MAP = { + [key in EDITABLE_FILE]: () => boolean; +}; + +@Component({ + selector: 'dot-binary-field-preview', + standalone: true, + imports: [ + CommonModule, + ButtonModule, + DotContentThumbnailComponent, + DotSpinnerModule, + OverlayPanelModule, + DotMessagePipe + ], + templateUrl: './dot-binary-field-preview.component.html', + styleUrls: ['./dot-binary-field-preview.component.scss'], + changeDetection: ChangeDetectionStrategy.OnPush +}) +export class DotBinaryFieldPreviewComponent implements OnChanges { + @Input() file: BinaryFile; + @Input() editableImage: boolean; + + @Output() editImage: EventEmitter = new EventEmitter(); + @Output() editFile: EventEmitter = new EventEmitter(); + @Output() removeFile: EventEmitter = new EventEmitter(); + + private readonly EDITABLE_FILE_FUNCTION_MAP: EDITABLE_FILE_FUNCTION_MAP = { + [EDITABLE_FILE.image]: () => this.editableImage, + [EDITABLE_FILE.text]: () => !!this.file?.content + }; + private contenttype: EDITABLE_FILE; + isEditable = true; + + get dotThumbnailOptions(): DotThumbnailOptions { + return { + tempUrl: this.file.url, + inode: this.file.inode, + name: this.file.name, + contentType: this.file.mimeType, + iconSize: '48px', + titleImage: this.file.name + }; + } + + ngOnChanges(): void { + this.setIsEditable(); + } + + /** + * Emits event to remove the file + * + * @return {*} {void} + * @memberof DotBinaryFieldPreviewComponent + */ + onEdit(): void { + if (this.contenttype === EDITABLE_FILE.image) { + this.editImage.emit(); + + return; + } + + this.editFile.emit(); + } + + private setIsEditable() { + const type = this.file.mimeType?.split('/')[0]; + this.contenttype = EDITABLE_FILE[type]; + this.isEditable = this.EDITABLE_FILE_FUNCTION_MAP[this.contenttype]?.(); + } +} diff --git a/core-web/libs/contenttype-fields/src/lib/fields/binary-field/components/dot-binary-field-ui-message/dot-binary-field-ui-message.component.html b/core-web/libs/contenttype-fields/src/lib/fields/binary-field/components/dot-binary-field-ui-message/dot-binary-field-ui-message.component.html index 27c84d6d4aeb..48c5af144ae6 100644 --- a/core-web/libs/contenttype-fields/src/lib/fields/binary-field/components/dot-binary-field-ui-message/dot-binary-field-ui-message.component.html +++ b/core-web/libs/contenttype-fields/src/lib/fields/binary-field/components/dot-binary-field-ui-message/dot-binary-field-ui-message.component.html @@ -1,6 +1,10 @@ -
- +
+
- +
diff --git a/core-web/libs/contenttype-fields/src/lib/fields/binary-field/components/dot-binary-field-ui-message/dot-binary-field-ui-message.component.spec.ts b/core-web/libs/contenttype-fields/src/lib/fields/binary-field/components/dot-binary-field-ui-message/dot-binary-field-ui-message.component.spec.ts index 82196d6c2b4d..dbe3dfbd57d0 100644 --- a/core-web/libs/contenttype-fields/src/lib/fields/binary-field/components/dot-binary-field-ui-message/dot-binary-field-ui-message.component.spec.ts +++ b/core-web/libs/contenttype-fields/src/lib/fields/binary-field/components/dot-binary-field-ui-message/dot-binary-field-ui-message.component.spec.ts @@ -1,6 +1,9 @@ import { SpectatorHost, byTestId, createHostFactory } from '@ngneat/spectator'; import { CommonModule } from '@angular/common'; +import { HttpClientTestingModule } from '@angular/common/http/testing'; + +import { DotMessagePipe } from '@dotcms/ui'; import { DotBinaryFieldUiMessageComponent } from './dot-binary-field-ui-message.component'; @@ -9,20 +12,22 @@ describe('DotBinaryFieldUiMessageComponent', () => { const createHost = createHostFactory({ component: DotBinaryFieldUiMessageComponent, - imports: [CommonModule], + imports: [CommonModule, DotMessagePipe, HttpClientTestingModule], providers: [] }); beforeEach(async () => { spectator = createHost( - ` + ` `, { hostProps: { - message: 'Drag and Drop File', - icon: 'pi pi-upload', - severity: 'info' + uiMessage: { + message: 'Drag and Drop File', + icon: 'pi pi-upload', + severity: 'info' + } } } ); diff --git a/core-web/libs/contenttype-fields/src/lib/fields/binary-field/components/dot-binary-field-ui-message/dot-binary-field-ui-message.component.ts b/core-web/libs/contenttype-fields/src/lib/fields/binary-field/components/dot-binary-field-ui-message/dot-binary-field-ui-message.component.ts index 69cdf4796221..21279aaf5f76 100644 --- a/core-web/libs/contenttype-fields/src/lib/fields/binary-field/components/dot-binary-field-ui-message/dot-binary-field-ui-message.component.ts +++ b/core-web/libs/contenttype-fields/src/lib/fields/binary-field/components/dot-binary-field-ui-message/dot-binary-field-ui-message.component.ts @@ -1,16 +1,18 @@ import { CommonModule } from '@angular/common'; import { ChangeDetectionStrategy, Component, Input } from '@angular/core'; +import { DotMessagePipe } from '@dotcms/ui'; + +import { UiMessageI } from '../../interfaces'; + @Component({ selector: 'dot-binary-field-ui-message', standalone: true, - imports: [CommonModule], + imports: [CommonModule, DotMessagePipe], templateUrl: './dot-binary-field-ui-message.component.html', styleUrls: ['./dot-binary-field-ui-message.component.scss'], changeDetection: ChangeDetectionStrategy.OnPush }) export class DotBinaryFieldUiMessageComponent { - @Input() message: string; - @Input() icon: string; - @Input() severity: string; + @Input() uiMessage: UiMessageI; } diff --git a/core-web/libs/contenttype-fields/src/lib/fields/binary-field/components/dot-binary-field-url-mode/dot-binary-field-url-mode.component.html b/core-web/libs/contenttype-fields/src/lib/fields/binary-field/components/dot-binary-field-url-mode/dot-binary-field-url-mode.component.html index a8d27c1f86b6..b216760bf030 100644 --- a/core-web/libs/contenttype-fields/src/lib/fields/binary-field/components/dot-binary-field-url-mode/dot-binary-field-url-mode.component.html +++ b/core-web/libs/contenttype-fields/src/lib/fields/binary-field/components/dot-binary-field-url-mode/dot-binary-field-url-mode.component.html @@ -8,7 +8,7 @@ diff --git a/core-web/libs/contenttype-fields/src/lib/fields/binary-field/components/dot-binary-field-url-mode/dot-binary-field-url-mode.component.ts b/core-web/libs/contenttype-fields/src/lib/fields/binary-field/components/dot-binary-field-url-mode/dot-binary-field-url-mode.component.ts index b6a58941b5cf..eaf609b45bdc 100644 --- a/core-web/libs/contenttype-fields/src/lib/fields/binary-field/components/dot-binary-field-url-mode/dot-binary-field-url-mode.component.ts +++ b/core-web/libs/contenttype-fields/src/lib/fields/binary-field/components/dot-binary-field-url-mode/dot-binary-field-url-mode.component.ts @@ -8,7 +8,8 @@ import { Input, OnDestroy, OnInit, - Output + Output, + inject } from '@angular/core'; import { FormGroup, @@ -21,7 +22,7 @@ import { import { ButtonModule } from 'primeng/button'; import { InputTextModule } from 'primeng/inputtext'; -import { takeUntil, tap } from 'rxjs/operators'; +import { filter, takeUntil, tap } from 'rxjs/operators'; import { DotCMSTempFile } from '@dotcms/dotcms-models'; import { DotFieldValidationMessageComponent, DotMessagePipe } from '@dotcms/ui'; @@ -52,29 +53,34 @@ export class DotBinaryFieldUrlModeComponent implements OnInit, OnDestroy { @Output() tempFileUploaded: EventEmitter = new EventEmitter(); @Output() cancel: EventEmitter = new EventEmitter(); - private readonly destroy$ = new Subject(); + private readonly store = inject(DotBinaryFieldUrlModeStore); + + // Form private readonly validators = [ Validators.required, Validators.pattern(/^(ftp|http|https):\/\/[^ "]+$/) ]; - - readonly invalidError = 'dot.binary.field.action.import.from.url.error.message'; - readonly vm$ = this.store.vm$.pipe(tap(({ isLoading }) => this.toggleForm(isLoading))); - readonly tempFileChanged$ = this.store.tempFile$; readonly form = new FormGroup({ url: new FormControl('', this.validators) }); - private abortController: AbortController; + // Observables + readonly vm$ = this.store.vm$.pipe(tap(({ isLoading }) => this.toggleForm(isLoading))); + readonly tempFileChanged$ = this.store.tempFile$; - constructor(private readonly store: DotBinaryFieldUrlModeStore) { - this.tempFileChanged$.pipe(takeUntil(this.destroy$)).subscribe((tempFile) => { - this.tempFileUploaded.emit(tempFile); - }); - } + private readonly destroy$ = new Subject(); + private abortController: AbortController; ngOnInit(): void { this.store.setMaxFileSize(this.maxFileSize); + this.tempFileChanged$ + .pipe( + takeUntil(this.destroy$), + filter((tempFile) => tempFile !== null) + ) + .subscribe((tempFile) => { + this.tempFileUploaded.emit(tempFile); + }); } ngOnDestroy(): void { @@ -83,29 +89,41 @@ export class DotBinaryFieldUrlModeComponent implements OnInit, OnDestroy { this.abortController?.abort(); // Abort fetch request if component is destroyed } + /** + * Submit form + * + * @return {*} {void} + * @memberof DotBinaryFieldUrlModeComponent + */ onSubmit(): void { - const control = this.form.get('url'); - if (this.form.invalid) { return; } - const url = control.value; + const url = this.form.get('url').value; this.abortController = new AbortController(); this.store.uploadFileByUrl({ url, signal: this.abortController.signal }); this.form.reset({ url }); // Reset form to initial state } + /** + * Cancel upload + * + * @memberof DotBinaryFieldUrlModeComponent + */ cancelUpload(): void { this.abortController?.abort(); this.cancel.emit(); } - resetError(isError: boolean): void { - if (isError) { - this.store.setError(''); - } + /** + * Handle focus event and clear server error message + * + * @memberof DotBinaryFieldUrlModeComponent + */ + handleFocus(): void { + this.store.setError(''); // Clear server error message when user focus on input } private toggleForm(isLoading: boolean): void { diff --git a/core-web/libs/contenttype-fields/src/lib/fields/binary-field/interfaces/index.ts b/core-web/libs/contenttype-fields/src/lib/fields/binary-field/interfaces/index.ts new file mode 100644 index 000000000000..93a8040db865 --- /dev/null +++ b/core-web/libs/contenttype-fields/src/lib/fields/binary-field/interfaces/index.ts @@ -0,0 +1,43 @@ +import { DropZoneErrorType } from '@dotcms/ui'; + +export enum BinaryFieldMode { + DROPZONE = 'DROPZONE', + URL = 'URL', + EDITOR = 'EDITOR' +} + +export enum BinaryFieldStatus { + INIT = 'INIT', + UPLOADING = 'UPLOADING', + PREVIEW = 'PREVIEW' +} + +export interface BinaryFile { + mimeType: string; + name: string; + fileSize: number; + url?: string; + inode?: string; + content?: string; + width?: string; + height?: string; + titleImage?: string; +} + +export enum UI_MESSAGE_KEYS { + DEFAULT = 'DEFAULT', + SERVER_ERROR = 'SERVER_ERROR' +} + +type BINARY_FIELD_MESSAGE_KEY = UI_MESSAGE_KEYS | DropZoneErrorType; + +export type UiMessageMap = { + [key in BINARY_FIELD_MESSAGE_KEY]: UiMessageI; +}; + +export interface UiMessageI { + message: string; + severity: string; + icon: string; + args?: string[]; +} diff --git a/core-web/libs/contenttype-fields/src/lib/fields/binary-field/service/dot-binary-field-edit-image/dot-binary-field-edit-image.service.spec.ts b/core-web/libs/contenttype-fields/src/lib/fields/binary-field/service/dot-binary-field-edit-image/dot-binary-field-edit-image.service.spec.ts new file mode 100644 index 000000000000..b434def8b22e --- /dev/null +++ b/core-web/libs/contenttype-fields/src/lib/fields/binary-field/service/dot-binary-field-edit-image/dot-binary-field-edit-image.service.spec.ts @@ -0,0 +1,121 @@ +import { expect } from '@jest/globals'; +import { SpectatorService, createServiceFactory } from '@ngneat/spectator'; + +import { skip } from 'rxjs/operators'; + +import { DotBinaryFieldEditImageService } from './dot-binary-field-edit-image.service'; + +describe('DotBinaryFieldEditImageService', () => { + let spectator: SpectatorService; + + const createService = createServiceFactory({ + service: DotBinaryFieldEditImageService + }); + + let spyDispatchEvent: jest.SpyInstance; + let spyAddEventListener: jest.SpyInstance; + let spyRemoveEventListener: jest.SpyInstance; + + beforeEach(() => { + spyDispatchEvent = jest.spyOn(document, 'dispatchEvent'); + spyAddEventListener = jest.spyOn(document, 'addEventListener'); + spyRemoveEventListener = jest.spyOn(document, 'removeEventListener'); + spectator = createService(); + }); + + it('should listen to edited image', () => { + const detail = { + variable: 'test', + inode: '456', + tempId: '789' + }; + + const tempEventName = `binaryField-tempfile-${detail.variable}`; + const openEditorEventName = `binaryField-open-image-editor-${detail.variable}`; + const openImageCustomEvent = new CustomEvent(openEditorEventName, { detail }); + + spectator.service.openImageEditor(detail); + expect(spyDispatchEvent).toHaveBeenCalledWith(openImageCustomEvent); + expect(spyAddEventListener).toHaveBeenCalledWith(tempEventName, expect.any(Function)); + }); + it('should listen to edited image 2', () => { + const detail = { + variable: 'test', + inode: '456', + tempId: '789' + }; + + const tempEventName = `binaryField-tempfile-${detail.variable}`; + const openEditorEventName = `binaryField-open-image-editor-${detail.variable}`; + const openImageCustomEvent = new CustomEvent(openEditorEventName, { detail }); + + spectator.service.openImageEditor(detail); + expect(spyDispatchEvent).toHaveBeenCalledWith(openImageCustomEvent); + expect(spyAddEventListener).toHaveBeenCalledWith(tempEventName, expect.any(Function)); + }); + + it('should listen to edited image 3', () => { + const detail = { + variable: 'test', + inode: '456', + tempId: '789' + }; + + const tempEventName = `binaryField-tempfile-${detail.variable}`; + const openEditorEventName = `binaryField-open-image-editor-${detail.variable}`; + const openImageCustomEvent = new CustomEvent(openEditorEventName, { detail }); + + spectator.service.openImageEditor(detail); + expect(spyDispatchEvent).toHaveBeenCalledWith(openImageCustomEvent); + expect(spyAddEventListener).toHaveBeenCalledWith(tempEventName, expect.any(Function)); + }); + + it('should emit edited image and remove listener', (done) => { + const tempFile = { id: '123', url: 'http://example.com/image.jpg' }; + const data = { + variable: 'test', + inode: '456', + tempId: '789' + }; + + spectator.service + .editedImage() + .pipe(skip(1)) + .subscribe((file) => { + expect(file).toEqual(tempFile); + done(); + }); + + const tempEventName = `binaryField-tempfile-${data.variable}`; + const closeEventName = `binaryField-close-image-editor-${data.variable}`; + + spectator.service.openImageEditor(data); + document.dispatchEvent(new CustomEvent(tempEventName, { detail: { tempFile } })); + + expect(spyRemoveEventListener.mock.calls[0]).toEqual([tempEventName, expect.any(Function)]); + expect(spyRemoveEventListener.mock.calls[1]).toEqual([ + closeEventName, + expect.any(Function) + ]); + }); + + it('should listen to close image editor and remove listeners', () => { + const data = { + variable: 'test', + inode: '456', + tempId: '789' + }; + + const tempEventName = `binaryField-tempfile-${data.variable}`; + const closeEventName = `binaryField-close-image-editor-${data.variable}`; + + spectator.service.openImageEditor(data); + + document.dispatchEvent(new CustomEvent(closeEventName, {})); + expect(spyRemoveEventListener.mock.calls[0]).toEqual([tempEventName, expect.any(Function)]); + expect(spyRemoveEventListener.mock.calls[1]).toEqual([ + closeEventName, + expect.any(Function) + ]); + }); +}); diff --git a/core-web/libs/contenttype-fields/src/lib/fields/binary-field/service/dot-binary-field-edit-image/dot-binary-field-edit-image.service.ts b/core-web/libs/contenttype-fields/src/lib/fields/binary-field/service/dot-binary-field-edit-image/dot-binary-field-edit-image.service.ts new file mode 100644 index 000000000000..e590d1ad3d1a --- /dev/null +++ b/core-web/libs/contenttype-fields/src/lib/fields/binary-field/service/dot-binary-field-edit-image/dot-binary-field-edit-image.service.ts @@ -0,0 +1,94 @@ +import { BehaviorSubject, Observable } from 'rxjs'; + +import { Injectable } from '@angular/core'; + +import { DotCMSTempFile } from '@dotcms/dotcms-models'; + +interface ImageEditorProps { + inode: string; + tempId: string; + variable: string; +} + +@Injectable() +export class DotBinaryFieldEditImageService { + private subject: BehaviorSubject = new BehaviorSubject(null); + private variable: string; + + editedImage(): Observable { + return this.subject.asObservable(); + } + + /** + * Open the dojo image editor modal and listen to the edited image + * + * @param {ImageEditorProps} { inode, tempId, variable } + * @memberof DotBinaryFieldEditImageService + */ + openImageEditor({ inode, tempId, variable }: ImageEditorProps): void { + this.variable = variable; + const customEvent = new CustomEvent(`binaryField-open-image-editor-${variable}`, { + detail: { + inode, + tempId, + variable + } + }); + document.dispatchEvent(customEvent); + this.listenToEditedImage(); + this.listenToCloseImageEditor(); + } + + /** + * Listen to the edited image + * + * @memberof DotBinaryFieldEditImageService + */ + listenToEditedImage(): void { + document.addEventListener( + `binaryField-tempfile-${this.variable}`, + this.handleNewImage.bind(this) + ); + } + + /** + * Listen to the close image editor event + * + * @memberof DotBinaryFieldEditImageService + */ + listenToCloseImageEditor(): void { + document.addEventListener( + `binaryField-close-image-editor-${this.variable}`, + this.removeListener.bind(this) + ); + } + + /** + * Remove the listener to the edited image + * + * @memberof DotBinaryFieldEditImageService + */ + removeListener(): void { + document.removeEventListener( + `binaryField-tempfile-${this.variable}`, + this.handleNewImage.bind(this) + ); + + document.removeEventListener( + `binaryField-close-image-editor-${this.variable}`, + this.removeListener.bind(this) + ); + } + + /** + * Handle the edited image + * + * @private + * @param {*} { detail } + * @memberof DotBinaryFieldEditImageService + */ + private handleNewImage({ detail }): void { + this.subject.next(detail.tempFile); + this.removeListener(); + } +} diff --git a/core-web/libs/contenttype-fields/src/lib/fields/binary-field/store/binary-field.store.spec.ts b/core-web/libs/contenttype-fields/src/lib/fields/binary-field/store/binary-field.store.spec.ts index 4ba76cee27a5..bbd9e63385de 100644 --- a/core-web/libs/contenttype-fields/src/lib/fields/binary-field/store/binary-field.store.spec.ts +++ b/core-web/libs/contenttype-fields/src/lib/fields/binary-field/store/binary-field.store.spec.ts @@ -1,30 +1,32 @@ import { expect, describe } from '@jest/globals'; import { SpectatorService, createServiceFactory } from '@ngneat/spectator'; +import { of } from 'rxjs'; + +import { HttpClientTestingModule } from '@angular/common/http/testing'; import { skip } from 'rxjs/operators'; -import { DotUploadService } from '@dotcms/data-access'; +import { DotLicenseService, DotUploadService } from '@dotcms/data-access'; import { DotCMSTempFile } from '@dotcms/dotcms-models'; +import { DropZoneErrorType } from '@dotcms/ui'; -import { - BINARY_FIELD_MODE, - BINARY_FIELD_STATUS, - BinaryFieldState, - DotBinaryFieldStore -} from './binary-field.store'; +import { BinaryFieldState, DotBinaryFieldStore } from './binary-field.store'; -import { UI_MESSAGE_KEYS, getUiMessage } from '../../../utils/binary-field-utils'; +import { getUiMessage } from '../../../utils/binary-field-utils'; +import { BinaryFieldMode, BinaryFieldStatus, UI_MESSAGE_KEYS } from '../interfaces'; const INITIAL_STATE: BinaryFieldState = { file: null, tempFile: null, - mode: BINARY_FIELD_MODE.DROPZONE, - status: BINARY_FIELD_STATUS.INIT, - UiMessage: getUiMessage(UI_MESSAGE_KEYS.DEFAULT), - dropZoneActive: false + mode: BinaryFieldMode.DROPZONE, + status: BinaryFieldStatus.INIT, + uiMessage: getUiMessage(UI_MESSAGE_KEYS.DEFAULT), + dropZoneActive: false, + isEnterprise: false }; export const TEMP_FILE_MOCK: DotCMSTempFile = { + content: 'test', fileName: 'image.png', folder: '/images', id: '12345', @@ -44,7 +46,14 @@ describe('DotBinaryFieldStore', () => { const createStoreService = createServiceFactory({ service: DotBinaryFieldStore, + imports: [HttpClientTestingModule], providers: [ + { + provide: DotLicenseService, + useValue: { + isEnterprise: () => of(true) + } + }, { provide: DotUploadService, useValue: { @@ -77,11 +86,21 @@ describe('DotBinaryFieldStore', () => { describe('Updaters', () => { it('should set File', (done) => { - const mockFile = new File([''], 'filename'); + const mockFile = { + mimeType: 'mimeType', + name: 'name', + fileSize: 100000, + content: 'content', + url: 'url', + inode: 'inode', + titleImage: 'titleImage', + width: '20', + height: '20' + }; store.setFile(mockFile); - store.file$.subscribe((file) => { - expect(file).toEqual(mockFile); + store.vm$.subscribe((state) => { + expect(state.file).toEqual(mockFile); done(); }); }); @@ -93,28 +112,28 @@ describe('DotBinaryFieldStore', () => { done(); }); }); - it('should set UiMessage', (done) => { - const uiMessage = getUiMessage(UI_MESSAGE_KEYS.FILE_TYPE_MISMATCH); + it('should set uiMessage', (done) => { + const uiMessage = getUiMessage(DropZoneErrorType.FILE_TYPE_MISMATCH); store.setUiMessage(uiMessage); store.vm$.subscribe((state) => { - expect(state.UiMessage).toEqual(uiMessage); + expect(state.uiMessage).toEqual(uiMessage); done(); }); }); it('should set Mode', (done) => { - store.setMode(BINARY_FIELD_MODE.EDITOR); + store.setMode(BinaryFieldMode.EDITOR); store.vm$.subscribe((state) => { - expect(state.mode).toBe(BINARY_FIELD_MODE.EDITOR); + expect(state.mode).toBe(BinaryFieldMode.EDITOR); done(); }); }); it('should set Status', (done) => { - store.setStatus(BINARY_FIELD_STATUS.PREVIEW); + store.setStatus(BinaryFieldStatus.PREVIEW); store.vm$.subscribe((state) => { - expect(state.status).toBe(BINARY_FIELD_STATUS.PREVIEW); + expect(state.status).toBe(BinaryFieldStatus.PREVIEW); done(); }); }); diff --git a/core-web/libs/contenttype-fields/src/lib/fields/binary-field/store/binary-field.store.ts b/core-web/libs/contenttype-fields/src/lib/fields/binary-field/store/binary-field.store.ts index 3218e9990a9a..2c5f9244dbd9 100644 --- a/core-web/libs/contenttype-fields/src/lib/fields/binary-field/store/binary-field.store.ts +++ b/core-web/libs/contenttype-fields/src/lib/fields/binary-field/store/binary-field.store.ts @@ -1,51 +1,52 @@ import { ComponentStore, tapResponse } from '@ngrx/component-store'; -import { Observable, from } from 'rxjs'; +import { from, Observable, of } from 'rxjs'; +import { HttpClient } from '@angular/common/http'; import { Injectable } from '@angular/core'; import { switchMap, tap } from 'rxjs/operators'; -import { DotUploadService } from '@dotcms/data-access'; +import { DotLicenseService, DotUploadService } from '@dotcms/data-access'; import { DotCMSTempFile } from '@dotcms/dotcms-models'; -import { UI_MESSAGE_KEYS, UiMessageI, getUiMessage } from '../../../utils/binary-field-utils'; +import { getUiMessage } from '../../../utils/binary-field-utils'; +import { + BinaryFieldMode, + BinaryFieldStatus, + BinaryFile, + UI_MESSAGE_KEYS, + UiMessageI +} from '../interfaces/index'; export interface BinaryFieldState { - file: File; + file?: BinaryFile; tempFile: DotCMSTempFile; - mode: BINARY_FIELD_MODE; - status: BINARY_FIELD_STATUS; - UiMessage: UiMessageI; + mode: BinaryFieldMode; + status: BinaryFieldStatus; + uiMessage: UiMessageI; dropZoneActive: boolean; + isEnterprise: boolean; } -export enum BINARY_FIELD_MODE { - DROPZONE = 'DROPZONE', - URL = 'URL', - EDITOR = 'EDITOR' -} - -export enum BINARY_FIELD_STATUS { - INIT = 'INIT', - UPLOADING = 'UPLOADING', - PREVIEW = 'PREVIEW', - ERROR = 'ERROR' -} +const initialState: BinaryFieldState = { + file: null, + tempFile: null, + mode: BinaryFieldMode.DROPZONE, + status: BinaryFieldStatus.INIT, + dropZoneActive: false, + uiMessage: getUiMessage(UI_MESSAGE_KEYS.DEFAULT), + isEnterprise: false +}; @Injectable() export class DotBinaryFieldStore extends ComponentStore { - private _maxFileSizeInMB: number; + private _maxFileSizeInMB = 0; // Selectors - readonly vm$ = this.select((state) => { - return { - ...state, - isLoading: state.status === BINARY_FIELD_STATUS.UPLOADING - }; - }); - - // File state - readonly file$ = this.select((state) => state.file); + readonly vm$ = this.select((state) => ({ + ...state, + isLoading: state.status === BinaryFieldStatus.UPLOADING + })); // Temp file state readonly tempFile$ = this.select((state) => state.tempFile); @@ -53,16 +54,17 @@ export class DotBinaryFieldStore extends ComponentStore { // Mode state readonly mode$ = this.select((state) => state.mode); - constructor(private readonly dotUploadService: DotUploadService) { - super(); + constructor( + private readonly dotUploadService: DotUploadService, + private readonly dotLicenseService: DotLicenseService, + private readonly http: HttpClient + ) { + super(initialState); + this.dotLicenseService.isEnterprise().subscribe((isEnterprise) => { + this.setIsEnterprise(isEnterprise); + }); } - // Updaters - readonly setFile = this.updater((state, file) => ({ - ...state, - file - })); - readonly setDropZoneActive = this.updater((state, dropZoneActive) => ({ ...state, dropZoneActive @@ -70,88 +72,155 @@ export class DotBinaryFieldStore extends ComponentStore { readonly setTempFile = this.updater((state, tempFile) => ({ ...state, - status: BINARY_FIELD_STATUS.PREVIEW, + status: BinaryFieldStatus.PREVIEW, + file: this.fileFromTempFile(tempFile), tempFile })); - readonly setUiMessage = this.updater((state, UiMessage) => ({ + readonly setFile = this.updater((state, file) => ({ + ...state, + status: BinaryFieldStatus.PREVIEW, + file + })); + + readonly setUiMessage = this.updater((state, uiMessage) => ({ ...state, - UiMessage + uiMessage })); - readonly setMode = this.updater((state, mode) => ({ + readonly setMode = this.updater((state, mode) => ({ ...state, mode })); - readonly setStatus = this.updater((state, status) => ({ + readonly setStatus = this.updater((state, status) => ({ ...state, status })); + readonly setIsEnterprise = this.updater((state, isEnterprise) => ({ + ...state, + isEnterprise + })); + readonly setUploading = this.updater((state) => ({ ...state, dropZoneActive: false, uiMessage: getUiMessage(UI_MESSAGE_KEYS.DEFAULT), - status: BINARY_FIELD_STATUS.UPLOADING + status: BinaryFieldStatus.UPLOADING })); - readonly setError = this.updater((state, UiMessage) => ({ + readonly setError = this.updater((state, uiMessage) => ({ ...state, - UiMessage, - status: BINARY_FIELD_STATUS.ERROR, + uiMessage, + status: BinaryFieldStatus.INIT, tempFile: null })); - readonly invalidFile = this.updater((state, UiMessage) => ({ + readonly invalidFile = this.updater((state, uiMessage) => ({ ...state, dropZoneActive: false, - UiMessage, - status: BINARY_FIELD_STATUS.ERROR + uiMessage, + status: BinaryFieldStatus.INIT })); readonly removeFile = this.updater((state) => ({ ...state, file: null, tempFile: null, - status: BINARY_FIELD_STATUS.INIT + status: BinaryFieldStatus.INIT })); - // Effects - readonly handleUploadFile = this.effect((event$) => { - return event$.pipe( + // Effects + readonly handleUploadFile = this.effect((file$: Observable) => + file$.pipe( + tap(() => this.setUploading()), + switchMap((file) => + from( + this.dotUploadService.uploadFile({ + file, + maxSize: this._maxFileSizeInMB ? `${this._maxFileSizeInMB}MB` : '', + signal: null + }) + ).pipe( + tapResponse( + (tempFile) => this.setTempFile(tempFile), + () => this.setError(getUiMessage(UI_MESSAGE_KEYS.SERVER_ERROR)) + ) + ) + ) + ) + ); + + /** + * Set the file and the content + * + * @memberof DotBinaryFieldStore + */ + readonly setFileAndContent = this.effect((file$: Observable) => { + return file$.pipe( tap(() => this.setUploading()), - switchMap((file) => this.uploadTempFile(file)) + switchMap((file) => { + const { url, mimeType } = file; + // TODO: This should be done in the serverside + const obs$ = mimeType.includes('text') ? this.getFileContent(url) : of(''); + + return obs$.pipe( + tap((content) => { + this.setFile({ + ...file, + content + }); + }) + ); + }) ); }); - readonly handleCreateFile = this.effect<{ name: string; code: string }>((fileDetails$) => { - /* To be implemented */ - return fileDetails$.pipe(); - }); + /** + * Set the max file size in bytes + * + * @param bytes The max file size in bytes + */ + setMaxFileSize(bytes: number): void { + // Convert bytes to MB + this._maxFileSizeInMB = bytes / (1024 * 1024); + } /** - * Set the max file size in Bytes + * Get the file content * - * @param {number} bytes + * @private + * @param {string} url + * @return {*} {Observable} * @memberof DotBinaryFieldStore */ - setMaxFileSize(bytes: number) { - this._maxFileSizeInMB = bytes / (1024 * 1024); + private getFileContent(url: string): Observable { + return this.http.get(url, { responseType: 'text' }); } - private uploadTempFile(file: File): Observable { - return from( - this.dotUploadService.uploadFile({ - file, - maxSize: this._maxFileSizeInMB ? `${this._maxFileSizeInMB}MB` : '', - signal: null - }) - ).pipe( - tapResponse( - (tempFile) => this.setTempFile(tempFile), - () => this.setError(getUiMessage(UI_MESSAGE_KEYS.SERVER_ERROR)) - ) - ); + /** + * Create a BinaryFile from a DotCMSTempFile + * + * @private + * @param {DotCMSTempFile} tempFile + * @return {*} {BinaryFile} + * @memberof DotBinaryFieldStore + */ + private fileFromTempFile({ + length, + thumbnailUrl, + referenceUrl, + fileName, + mimeType, + content = '' + }: DotCMSTempFile): BinaryFile { + return { + url: thumbnailUrl || referenceUrl, + fileSize: length, + mimeType, + name: fileName, + content + }; } } diff --git a/core-web/libs/contenttype-fields/src/lib/utils/binary-field-utils.ts b/core-web/libs/contenttype-fields/src/lib/utils/binary-field-utils.ts index c9073294cc2f..b0c9d4075f03 100644 --- a/core-web/libs/contenttype-fields/src/lib/utils/binary-field-utils.ts +++ b/core-web/libs/contenttype-fields/src/lib/utils/binary-field-utils.ts @@ -1,20 +1,4 @@ -export enum UI_MESSAGE_KEYS { - DEFAULT = 'DEFAULT', - SERVER_ERROR = 'SERVER_ERROR', - FILE_TYPE_MISMATCH = 'FILE_TYPE_MISMATCH', - MAX_FILE_SIZE_EXCEEDED = 'MAX_FILE_SIZE_EXCEEDED' -} - -export interface UiMessageI { - message: string; - severity: string; - icon: string; - args?: string[]; -} - -type UiMessageMap = { - [key in UI_MESSAGE_KEYS]: UiMessageI; -}; +import { UiMessageI, UiMessageMap } from '../fields/binary-field/interfaces'; const UiMessageMap: UiMessageMap = { DEFAULT: { @@ -36,16 +20,17 @@ const UiMessageMap: UiMessageMap = { message: 'dot.binary.field.drag.and.drop.error.file.maxsize.exceeded.message', severity: 'error', icon: 'pi pi-exclamation-triangle' + }, + MULTIPLE_FILES_DROPPED: { + message: 'dot.binary.field.drag.and.drop.error.multiple.files.dropped.message', + severity: 'error', + icon: 'pi pi-exclamation-triangle' } }; export const getUiMessage = (messageKey: string, ...args: string[]): UiMessageI => { - const { message, severity, icon } = UiMessageMap[messageKey]; - return { - message, - severity, - icon, + ...UiMessageMap[messageKey], args }; }; diff --git a/core-web/libs/contenttype-fields/src/lib/utils/mock.ts b/core-web/libs/contenttype-fields/src/lib/utils/mock.ts index 2adbd829a2a4..4c179ade1512 100644 --- a/core-web/libs/contenttype-fields/src/lib/utils/mock.ts +++ b/core-web/libs/contenttype-fields/src/lib/utils/mock.ts @@ -3,28 +3,163 @@ import { MockDotMessageService } from '@dotcms/utils-testing'; const MESSAGES_MOCK = { 'dot.binary.field.action.choose.file': 'Choose File', 'dot.binary.field.action.create.new.file': 'Create New File', - 'dot.binary.field.action.import.from.url': 'Import from URL', 'dot.binary.field.action.import.from.url.error.message': 'The URL you requested is not valid. Please try again.', + 'dot.binary.field.action.import.from.url': 'Import from URL', 'dot.binary.field.action.remove': 'Remove', 'dot.binary.field.dialog.create.new.file.header': 'File Details', 'dot.binary.field.dialog.import.from.url.header': 'URL', - 'dot.binary.field.drag.and.drop.message': 'Drag and Drop or', 'dot.binary.field.drag.and.drop.error.could.not.load.message': - 'Couldn't load the file. Please try again or
', + 'Couldn't load the file. Please try again or', + 'dot.binary.field.drag.and.drop.error.file.maxsize.exceeded.message': + 'The file weight exceeds the limits of {0}, please reduce size before uploading.', 'dot.binary.field.drag.and.drop.error.file.not.supported.message': - 'This type of file is not supported, Please select a
{0} file.', + 'This type of file is not supported, Please select a {0} file.', + 'dot.binary.field.drag.and.drop.error.multiple.files.dropped.message': + 'You can only upload one file at a time.', + 'dot.binary.field.drag.and.drop.error.server.error.message': + 'Something went wrong, please try again or contact our support team.', + 'dot.binary.field.drag.and.drop.message': 'Drag and Drop or', + 'dot.binary.field.error.type.file.not.extension': "Please add the file's extension", 'dot.binary.field.error.type.file.not.supported.message': 'This type of file is not supported. Please use a {0} file.', - 'dot.binary.field.error.type.file.not.extension': "Please add the file's extension", - 'dot.binary.field.drag.and.drop.error.file.maxsize.exceeded.message': - 'The file weight exceeds the limits of {0}, please
reduce size before uploading.', - 'dot.binary.field.drag.and.drop.error.server.error.message': - 'Something went wrong, please try again or
contact our support team.', + 'dot.binary.field.file.bytes': 'Bytes', + 'dot.binary.field.file.dimension': 'Dimension', + 'dot.binary.field.file.size': 'File Size', 'dot.common.cancel': 'Cancel', + 'dot.common.edit': 'Edit', 'dot.common.import': 'Import', + 'dot.common.remove': 'Remove', 'dot.common.save': 'Save', 'error.form.validator.required': 'This field is required' }; export const CONTENTTYPE_FIELDS_MESSAGE_MOCK = new MockDotMessageService(MESSAGES_MOCK); + +const TEMP_IMAGE_MOCK = { + fileName: 'Image.jpg', + folder: 'folder', + id: 'tempFileId', + image: true, + length: 10000, + mimeType: 'image/jpeg', + referenceUrl: '', + thumbnailUrl: + 'https://images.unsplash.com/photo-1575936123452-b67c3203c357?auto=format&fit=crop&q=80&w=1000&ixlib=rb-4.0.3&ixid=M3wxMjA3fDB8MHxzZWFyY2h8Mnx8aW1hZ2V8ZW58MHx8MHx8fDA%3D' +}; + +const TEMP_VIDEO_MOCK = { + fileName: 'video.mp4', + folder: 'folder', + id: 'tempFileId', + image: false, + length: 10000, + mimeType: 'video/mp4', + referenceUrl: 'https://www.w3schools.com/tags/movie.mp4', + thumbnailUrl: '' +}; + +const TEMP_FILE_MOCK = { + fileName: 'template.html', + folder: 'folder', + id: 'tempFileId', + image: false, + length: 10000, + mimeType: 'text/html', + referenceUrl: 'https://raw.githubusercontent.com/angular/angular/master/README.md', + thumbnailUrl: '', + content: 'HOLA' +}; + +export const TEMP_FILES_MOCK = [TEMP_IMAGE_MOCK, TEMP_VIDEO_MOCK, TEMP_FILE_MOCK]; + +export const CONTENTLET = { + publishDate: '2023-10-24 13:21:49.682', + inode: 'b22aa2f3-12af-4ea8-9d7d-164f98ea30b1', + binaryField2: '/dA/af9294c29906dea7f4a58d845f569219/binaryField2/New-Image.png', + host: '48190c8c-42c4-46af-8d1a-0cd5db894797', + binaryField2Version: '/dA/b22aa2f3-12af-4ea8-9d7d-164f98ea30b1/binaryField2/New-Image.png', + locked: false, + stInode: 'd1901a41d38b6686dd5ed8f910346d7a', + contentType: 'BinaryField', + identifier: 'af9294c29906dea7f4a58d845f569219', + folder: 'SYSTEM_FOLDER', + hasTitleImage: true, + sortOrder: 0, + binaryField2MetaData: { + modDate: 1698153707197, + sha256: 'e84030fe91978e483e34242f0631a81903cf53a945475d8dcfbb72da484a28d5', + length: 29848, + title: 'New-Image.png', + version: 20220201, + isImage: true, + fileSize: 29848, + name: 'New-Image.png', + width: 738, + contentType: 'image/png', + height: 435 + }, + hostName: 'demo.dotcms.com', + modDate: '2023-10-24 13:21:49.682', + title: 'af9294c29906dea7f4a58d845f569219', + baseType: 'CONTENT', + archived: false, + working: true, + live: true, + owner: 'dotcms.org.1', + binaryField2ContentAsset: 'af9294c29906dea7f4a58d845f569219/binaryField2', + languageId: 1, + url: '/content.b22aa2f3-12af-4ea8-9d7d-164f98ea30b1', + titleImage: 'binaryField2', + modUserName: 'Admin User', + hasLiveVersion: true, + modUser: 'dotcms.org.1', + __icon__: 'contentIcon', + contentTypeIcon: 'event_note', + variant: 'DEFAULT' +}; + +export const FIELD = { + clazz: 'com.dotcms.contenttype.model.field.ImmutableBinaryField', + contentTypeId: 'd1901a41d38b6686dd5ed8f910346d7a', + dataType: 'SYSTEM', + fieldType: 'Binary', + fieldTypeLabel: 'Binary', + fieldVariables: [ + { + clazz: 'com.dotcms.contenttype.model.field.ImmutableFieldVariable', + fieldId: '5df3f8fc49177c195740bcdc02ec2db7', + id: '1ff1ff05-b9fb-4239-ad3d-b2cfaa9a8406', + key: 'accept', + value: 'image/*,.html,.ts' + }, + { + clazz: 'com.dotcms.contenttype.model.field.ImmutableFieldVariable', + fieldId: '5df3f8fc49177c195740bcdc02ec2db7', + id: '1ff1ff05-b9fb-4239-ad3d-b2cfaa9a8406', + key: 'maxFileSize', + value: '50000' + }, + { + clazz: 'com.dotcms.contenttype.model.field.ImmutableFieldVariable', + fieldId: '5df3f8fc49177c195740bcdc02ec2db7', + id: '1ff1ff05-b9fb-4239-ad3d-b2cfaa9a8406', + key: 'helperText', + value: 'Helper label to be displayed below the field' + } + ], + fixed: false, + forceIncludeInApi: false, + iDate: 1698153564000, + id: '5df3f8fc49177c195740bcdc02ec2db7', + indexed: false, + listed: false, + modDate: 1698153564000, + name: 'Binary Field2', + readOnly: false, + required: false, + searchable: false, + sortOrder: 2, + unique: false, + variable: 'binaryField2' +}; diff --git a/core-web/libs/data-access/src/lib/dot-license/dot-license.service.spec.ts b/core-web/libs/data-access/src/lib/dot-license/dot-license.service.spec.ts index c7ba40855022..7ef6f5bec63c 100644 --- a/core-web/libs/data-access/src/lib/dot-license/dot-license.service.spec.ts +++ b/core-web/libs/data-access/src/lib/dot-license/dot-license.service.spec.ts @@ -3,9 +3,6 @@ import { of } from 'rxjs'; import { HttpTestingController, HttpClientTestingModule } from '@angular/common/http/testing'; import { TestBed, getTestBed } from '@angular/core/testing'; -import { CoreWebService } from '@dotcms/dotcms-js'; -import { CoreWebServiceMock } from '@dotcms/utils-testing'; - import { DotLicenseService } from './dot-license.service'; describe('DotLicenseService', () => { @@ -16,10 +13,7 @@ describe('DotLicenseService', () => { beforeEach(() => { TestBed.configureTestingModule({ imports: [HttpClientTestingModule], - providers: [ - { provide: CoreWebService, useClass: CoreWebServiceMock }, - DotLicenseService - ] + providers: [DotLicenseService] }); injector = getTestBed(); dotLicenseService = injector.get(DotLicenseService); @@ -29,7 +23,7 @@ describe('DotLicenseService', () => { it('should call the BE with correct endpoint url and method', () => { dotLicenseService.isEnterprise().subscribe(); - const req = httpMock.expectOne('v1/appconfiguration'); + const req = httpMock.expectOne('/api/v1/appconfiguration'); expect(req.request.method).toBe('GET'); req.flush({ entity: { @@ -47,7 +41,7 @@ describe('DotLicenseService', () => { expect(result).toBe(false); }); - const req = httpMock.expectOne('v1/appconfiguration'); + const req = httpMock.expectOne('/api/v1/appconfiguration'); expect(req.request.method).toBe('GET'); req.flush({ entity: { @@ -65,7 +59,7 @@ describe('DotLicenseService', () => { expect(result).toBe(true); }); - const req = httpMock.expectOne('v1/appconfiguration'); + const req = httpMock.expectOne('/api/v1/appconfiguration'); expect(req.request.method).toBe('GET'); req.flush({ entity: { @@ -83,7 +77,7 @@ describe('DotLicenseService', () => { expect(result).toBe(true); }); - const req = httpMock.expectOne('v1/appconfiguration'); + const req = httpMock.expectOne('/api/v1/appconfiguration'); expect(req.request.method).toBe('GET'); req.flush({ entity: { @@ -147,13 +141,13 @@ describe('DotLicenseService', () => { expect(result).toBe(true); }); - httpMock.expectNone('v1/appconfiguration'); + httpMock.expectNone('/api/v1/appconfiguration'); }); it('should fetch the license when calling updateLicense', () => { dotLicenseService.updateLicense(); - const req = httpMock.expectOne('v1/appconfiguration'); + const req = httpMock.expectOne('/api/v1/appconfiguration'); expect(req.request.method).toBe('GET'); req.flush({ entity: { diff --git a/core-web/libs/data-access/src/lib/dot-license/dot-license.service.ts b/core-web/libs/data-access/src/lib/dot-license/dot-license.service.ts index ab2f58fa4d06..fb78b820b308 100644 --- a/core-web/libs/data-access/src/lib/dot-license/dot-license.service.ts +++ b/core-web/libs/data-access/src/lib/dot-license/dot-license.service.ts @@ -1,10 +1,11 @@ import { Observable, Subject, BehaviorSubject, of } from 'rxjs'; +import { HttpClient } from '@angular/common/http'; import { Injectable } from '@angular/core'; import { pluck, map, take, tap } from 'rxjs/operators'; -import { CoreWebService } from '@dotcms/dotcms-js'; +import { ResponseView } from '@dotcms/dotcms-js'; import { DotLicense } from '@dotcms/dotcms-models'; export interface DotUnlicensedPortletData { @@ -82,8 +83,8 @@ export class DotLicenseService { private license?: DotLicense; - constructor(private coreWebService: CoreWebService) { - this.licenseURL = 'v1/appconfiguration'; + constructor(private readonly http: HttpClient) { + this.licenseURL = '/api/v1/appconfiguration'; } /** @@ -128,16 +129,12 @@ export class DotLicenseService { private getLicense(): Observable { if (this.license) return of(this.license); - return this.coreWebService - .requestView({ - url: this.licenseURL + return this.http.get(this.licenseURL).pipe( + pluck('entity', 'config', 'license'), + tap((license) => { + this.setLicense(license); }) - .pipe( - pluck('entity', 'config', 'license'), - tap((license) => { - this.setLicense(license); - }) - ); + ); } /** @@ -146,10 +143,8 @@ export class DotLicenseService { * @memberof DotLicenseService */ updateLicense(): void { - this.coreWebService - .requestView({ - url: this.licenseURL - }) + this.http + .get(this.licenseURL) .pipe(pluck('entity', 'config', 'license')) .subscribe((license) => { this.setLicense(license); diff --git a/core-web/libs/dotcms-models/src/lib/dot-temp-file.model.ts b/core-web/libs/dotcms-models/src/lib/dot-temp-file.model.ts index 8b9cae64e8eb..3625cb54c6d2 100644 --- a/core-web/libs/dotcms-models/src/lib/dot-temp-file.model.ts +++ b/core-web/libs/dotcms-models/src/lib/dot-temp-file.model.ts @@ -12,4 +12,5 @@ export interface DotCMSTempFile { mimeType: string; referenceUrl: string; thumbnailUrl: string; + content?: string; } diff --git a/core-web/libs/dotcms-scss/angular/dotcms-theme/components/_overlaypanel.scss b/core-web/libs/dotcms-scss/angular/dotcms-theme/components/_overlaypanel.scss index d0d2a4b8c9cd..a774f2eb1d5a 100644 --- a/core-web/libs/dotcms-scss/angular/dotcms-theme/components/_overlaypanel.scss +++ b/core-web/libs/dotcms-scss/angular/dotcms-theme/components/_overlaypanel.scss @@ -4,7 +4,7 @@ background: $white; color: $black; border: 0 none; - border-radius: $border-radius-xs; + border-radius: $border-radius-md; box-shadow: 0 11px 15px -7px $color-palette-black-op-20, 0 24px 38px 3px $color-palette-black-op-10, 0 9px 46px 8px $color-palette-black-op-10; } diff --git a/core-web/libs/dotcms-scss/angular/dotcms-theme/components/buttons/_button.scss b/core-web/libs/dotcms-scss/angular/dotcms-theme/components/buttons/_button.scss index a7e0a4d233ec..672965fb32c8 100644 --- a/core-web/libs/dotcms-scss/angular/dotcms-theme/components/buttons/_button.scss +++ b/core-web/libs/dotcms-scss/angular/dotcms-theme/components/buttons/_button.scss @@ -55,16 +55,17 @@ .p-button.p-fileupload-choose { @extend #main-primary-severity; - &.p-button-secondary { - @extend #main-secondary-severity; - } - // Button Links &.p-button-link { color: $color-palette-primary; background: transparent; border: transparent; } + + &.p-button-link.p-button-secondary { + @extend #outlined-secondary-severity; + border: transparent; + } } // Severity for outlined button diff --git a/core-web/libs/dotcms-scss/angular/dotcms-theme/components/buttons/common.scss b/core-web/libs/dotcms-scss/angular/dotcms-theme/components/buttons/common.scss index 46a19d63df00..b7683eb0eb91 100644 --- a/core-web/libs/dotcms-scss/angular/dotcms-theme/components/buttons/common.scss +++ b/core-web/libs/dotcms-scss/angular/dotcms-theme/components/buttons/common.scss @@ -152,6 +152,10 @@ background-color: transparent; color: $black; + &.p-button-semi-transparent { + background-color: rgba(255, 255, 255, 0.65); + } + .p-button-label { color: inherit; } @@ -161,6 +165,13 @@ color: $color-palette-secondary; } + &.p-button-icon-only { + .p-button-icon, + .pi { + color: $black; + } + } + &:hover { background-color: $color-palette-secondary-op-10; } diff --git a/core-web/libs/ui/src/index.ts b/core-web/libs/ui/src/index.ts index 5e5999ec981b..ffc8b6a8df18 100644 --- a/core-web/libs/ui/src/index.ts +++ b/core-web/libs/ui/src/index.ts @@ -9,6 +9,8 @@ export * from './lib/components/dot-empty-container/dot-empty-container.componen export * from './lib/dot-tab-buttons/dot-tab-buttons.component'; export * from './lib/components/dot-field-validation-message/dot-field-validation-message.component'; export * from './lib/components/dot-copy-button/dot-copy-button.component'; +export * from './lib/components/dot-content-thumbnail/dot-content-thumbnail.component'; + // Directives export * from './lib/dot-field-required/dot-field-required.directive'; export * from './lib/dot-remove-confirm-popup/dot-remove-confirm-popup.directive'; diff --git a/core-web/libs/ui/src/lib/components/dot-content-thumbnail/dot-content-thumbnail.component.html b/core-web/libs/ui/src/lib/components/dot-content-thumbnail/dot-content-thumbnail.component.html new file mode 100644 index 000000000000..ba4499623a2e --- /dev/null +++ b/core-web/libs/ui/src/lib/components/dot-content-thumbnail/dot-content-thumbnail.component.html @@ -0,0 +1,23 @@ + + + + + + + diff --git a/core-web/libs/ui/src/lib/components/dot-content-thumbnail/dot-content-thumbnail.component.scss b/core-web/libs/ui/src/lib/components/dot-content-thumbnail/dot-content-thumbnail.component.scss new file mode 100644 index 000000000000..23991308dafe --- /dev/null +++ b/core-web/libs/ui/src/lib/components/dot-content-thumbnail/dot-content-thumbnail.component.scss @@ -0,0 +1,23 @@ +@use "variables" as *; + +:host { + width: 100%; + height: 100%; + justify-content: center; + align-items: center; + display: flex; + + img, + video { + width: 100%; + height: 100%; + } + + img { + object-fit: cover; + } + + i { + color: $color-palette-secondary-400; + } +} diff --git a/core-web/libs/ui/src/lib/components/dot-content-thumbnail/dot-content-thumbnail.component.spec.ts b/core-web/libs/ui/src/lib/components/dot-content-thumbnail/dot-content-thumbnail.component.spec.ts new file mode 100644 index 000000000000..f1934211ffde --- /dev/null +++ b/core-web/libs/ui/src/lib/components/dot-content-thumbnail/dot-content-thumbnail.component.spec.ts @@ -0,0 +1,95 @@ +import { Spectator, byTestId, createComponentFactory } from '@ngneat/spectator'; + +import { + DotContentThumbnailComponent, + CONTENT_THUMBNAIL_TYPE +} from './dot-content-thumbnail.component'; + +const mockDotThumbnailOptions = { + tempUrl: '', + inode: '123-456', + name: 'name', + contentType: 'video/mp4', + iconSize: '74', + titleImage: '' +}; + +describe('DotContentThumbnailComponent', () => { + let spectator: Spectator; + const createComponent = createComponentFactory(DotContentThumbnailComponent); + + describe('video', () => { + beforeEach(async () => { + spectator = createComponent({ + props: { + dotThumbanilOptions: mockDotThumbnailOptions + } + }); + spectator.detectChanges(); + await spectator.fixture.whenStable(); + }); + + it('should set thumbnailType to video when contentType is video/*', () => { + const videoElement = spectator.query(byTestId('thumbail-video')); + const sourceElement = videoElement.querySelector('source'); + + expect(spectator.component.thumbnailType).toBe(CONTENT_THUMBNAIL_TYPE.video); + expect(spectator.component.src).toBe('/dA/123-456'); + expect(sourceElement.getAttribute('src')).toBe('/dA/123-456'); + expect(sourceElement).toBeTruthy(); + expect(videoElement).toBeTruthy(); + }); + }); + + describe('image', () => { + beforeEach(async () => { + spectator = createComponent({ + props: { + dotThumbanilOptions: { + ...mockDotThumbnailOptions, + name: 'image.png', + contentType: 'image/png' + } + } + }); + spectator.detectChanges(); + await spectator.fixture.whenStable(); + }); + + it('should set thumbnailType to video when contentType is video/*', () => { + const imageElement = spectator.query(byTestId('thumbail-image')); + + expect(spectator.component.thumbnailType).toBe(CONTENT_THUMBNAIL_TYPE.image); + expect(spectator.component.src).toBe('/dA/123-456/500w/50q'); + expect(imageElement.getAttribute('src')).toBe('/dA/123-456/500w/50q'); + expect(imageElement.getAttribute('title')).toBe('image.png'); + expect(imageElement.getAttribute('alt')).toBe('image.png'); + expect(imageElement).toBeTruthy(); + }); + }); + + describe('icon', () => { + beforeEach(async () => { + spectator = createComponent({ + props: { + dotThumbanilOptions: { + ...mockDotThumbnailOptions, + name: 'name', + contentType: 'unknown' + } + } + }); + spectator.detectChanges(); + await spectator.fixture.whenStable(); + }); + + it('should set thumbnailType to video when contentType is video/*', () => { + const iconElement = spectator.query(byTestId('thumbail-icon')); + + expect(spectator.component.thumbnailType).toBe(CONTENT_THUMBNAIL_TYPE.icon); + expect(spectator.component.src).not.toBeDefined(); + expect(iconElement.getAttribute('class')).toBe('pi pi-file'); + expect(iconElement).toBeTruthy(); + }); + }); +}); diff --git a/core-web/libs/ui/src/lib/components/dot-content-thumbnail/dot-content-thumbnail.component.ts b/core-web/libs/ui/src/lib/components/dot-content-thumbnail/dot-content-thumbnail.component.ts new file mode 100644 index 000000000000..10963f0738dd --- /dev/null +++ b/core-web/libs/ui/src/lib/components/dot-content-thumbnail/dot-content-thumbnail.component.ts @@ -0,0 +1,164 @@ +import { CommonModule } from '@angular/common'; +import { ChangeDetectionStrategy, Component, Input, OnInit } from '@angular/core'; + +const ICON_MAP = { + html: 'pi-file', + pdf: 'pi-file-pdf', + image: 'pi-image', + video: 'pi-video', + msword: 'pi-file-word', + doc: 'pi-file-word', + docx: 'pi-file-word' +}; + +export enum CONTENT_THUMBNAIL_TYPE { + image = 'image', + video = 'video', + icon = 'icon' +} + +export interface DotThumbnailOptions { + tempUrl?: string; + inode?: string; + name?: string; + contentType?: string; + iconSize?: string; + titleImage?: string; +} + +@Component({ + selector: 'dot-content-thumbnail', + standalone: true, + imports: [CommonModule], + templateUrl: './dot-content-thumbnail.component.html', + styleUrls: ['./dot-content-thumbnail.component.scss'], + changeDetection: ChangeDetectionStrategy.OnPush +}) +export class DotContentThumbnailComponent implements OnInit { + src: string; + thumbnailIcon: string; + thumbnailType: CONTENT_THUMBNAIL_TYPE; + + @Input() dotThumbanilOptions: DotThumbnailOptions; + + private _type: string; + private _tempUrl: string; + private _inode: string; + private _contentType: string; + private _titleImage: string; + private _name: string; + private _iconSize: string; + readonly CONTENT_THUMBNAIL_TYPE = CONTENT_THUMBNAIL_TYPE; + + private readonly DEFAULT_ICON = 'pi-file'; + private readonly thumbnailUrlMap = { + image: this.getImageThumbnailUrl.bind(this), + video: this.getVideoThumbnailUrl.bind(this), + pdf: this.getPdfThumbnailUrl.bind(this) + }; + + get iconSize(): string { + return this._iconSize || '1rem'; + } + + get name(): string { + return this._name || ''; + } + + ngOnInit(): void { + this.buildThumbnail(); + } + + /** + * Handle error when image/video is not found + * Set thumbnail type to icon + * + * @memberof DotContentThumbnailComponent + */ + handleError() { + this.thumbnailType = this.CONTENT_THUMBNAIL_TYPE.icon; + } + + private setProperties(): void { + const { tempUrl, inode, name, contentType, titleImage, iconSize } = + this.dotThumbanilOptions; + this._tempUrl = tempUrl; + this._inode = inode; + this._name = name; + this._contentType = contentType; + this._titleImage = titleImage; + this._iconSize = iconSize; + this._type = this._contentType.split('/')[0]; + } + + private buildThumbnail(): void { + this.setProperties(); + this.setSrc(); + this.setThumbnailType(); + this.setThumbnailIcon(); + } + + /** + * Set thumbnail type + * + * @private + * @memberof DotContentThumbnailComponent + */ + private setThumbnailType(): void { + this.thumbnailType = CONTENT_THUMBNAIL_TYPE[this._type] || CONTENT_THUMBNAIL_TYPE.icon; + } + + /** + * Set thumbnail src + * + * @private + * @memberof DotContentThumbnailComponent + */ + private setSrc(): void { + this.src = this._tempUrl || this.thumbnailUrlMap[this._type]?.(); + } + + /** + * Set thumbnail icon + * + * @private + * @memberof DotContentThumbnailComponent + */ + private setThumbnailIcon(): void { + const extension = this._name.split('.').pop(); + this.thumbnailIcon = ICON_MAP[extension] || this.DEFAULT_ICON; + } + + /** + * Get pdf thumbnail url + * + * @private + * @return {*} {string} + * @memberof DotContentThumbnailComponent + */ + private getPdfThumbnailUrl(): string { + return `/contentAsset/image/${this._inode}/${this._titleImage}/pdf_page/1/resize_w/250/quality_q/45`; + } + + /** + * Get image thumbnail url + * + * @private + * @return {*} {string} + * @memberof DotContentThumbnailComponent + */ + private getImageThumbnailUrl(): string { + return `/dA/${this._inode}/500w/50q`; + } + + /** + * Get video thumbnail url + * + * @private + * @return {*} {string} + * @memberof DotContentThumbnailComponent + */ + private getVideoThumbnailUrl(): string { + return `/dA/${this._inode}`; + } +} diff --git a/core-web/libs/ui/src/lib/components/dot-drop-zone/dot-drop-zone.component.spec.ts b/core-web/libs/ui/src/lib/components/dot-drop-zone/dot-drop-zone.component.spec.ts index 3801ef418d1c..f518a7551643 100644 --- a/core-web/libs/ui/src/lib/components/dot-drop-zone/dot-drop-zone.component.spec.ts +++ b/core-web/libs/ui/src/lib/components/dot-drop-zone/dot-drop-zone.component.spec.ts @@ -2,12 +2,17 @@ import { SpectatorHost, createHostFactory } from '@ngneat/spectator'; import { CommonModule } from '@angular/common'; -import { DotDropZoneComponent } from './dot-drop-zone.component'; +import { + DotDropZoneComponent, + DropZoneErrorType, + DropZoneFileValidity +} from './dot-drop-zone.component'; -const MOCK_VALIDITY = { +const MOCK_VALIDITY: DropZoneFileValidity = { fileTypeMismatch: false, maxFileSizeExceeded: false, multipleFilesDropped: false, + errorsType: [], valid: true }; @@ -119,6 +124,7 @@ describe('DotDropZoneComponent', () => { file: null, validity: { ...MOCK_VALIDITY, + errorsType: [DropZoneErrorType.MULTIPLE_FILES_DROPPED], multipleFilesDropped: true, valid: false } @@ -144,6 +150,7 @@ describe('DotDropZoneComponent', () => { file: mockFile, validity: { ...MOCK_VALIDITY, + errorsType: [DropZoneErrorType.FILE_TYPE_MISMATCH], fileTypeMismatch: true, valid: false } @@ -166,6 +173,7 @@ describe('DotDropZoneComponent', () => { file: mockFile, validity: { ...MOCK_VALIDITY, + errorsType: [DropZoneErrorType.MAX_FILE_SIZE_EXCEEDED], maxFileSizeExceeded: true, valid: false } diff --git a/core-web/libs/ui/src/lib/components/dot-drop-zone/dot-drop-zone.component.ts b/core-web/libs/ui/src/lib/components/dot-drop-zone/dot-drop-zone.component.ts index 290a5318fa79..7a71de84cb51 100644 --- a/core-web/libs/ui/src/lib/components/dot-drop-zone/dot-drop-zone.component.ts +++ b/core-web/libs/ui/src/lib/components/dot-drop-zone/dot-drop-zone.component.ts @@ -13,13 +13,17 @@ export interface DropZoneFileEvent { validity: DropZoneFileValidity; } -export type DropZoneErrorType = 'fileTypeMismatch' | 'maxFileSizeExceeded'; +export enum DropZoneErrorType { + FILE_TYPE_MISMATCH = 'FILE_TYPE_MISMATCH', + MAX_FILE_SIZE_EXCEEDED = 'MAX_FILE_SIZE_EXCEEDED', + MULTIPLE_FILES_DROPPED = 'MULTIPLE_FILES_DROPPED' +} export interface DropZoneFileValidity { fileTypeMismatch: boolean; maxFileSizeExceeded: boolean; multipleFilesDropped: boolean; - errorType?: DropZoneErrorType; + errorsType: DropZoneErrorType[]; valid: boolean; } @@ -53,10 +57,12 @@ export class DotDropZoneComponent { } private _accept: string[] = []; + private errorsType: DropZoneErrorType[] = []; private _validity: DropZoneFileValidity = { fileTypeMismatch: false, maxFileSizeExceeded: false, multipleFilesDropped: false, + errorsType: [], valid: true }; @@ -127,6 +133,10 @@ export class DotDropZoneComponent { (type) => mimeType.includes(type) || type.includes(`.${extension}`) ); + if (!isValidType) { + this.errorsType.push(DropZoneErrorType.FILE_TYPE_MISMATCH); + } + return isValidType; } @@ -163,7 +173,31 @@ export class DotDropZoneComponent { return false; } - return file.size > this.maxFileSize; + const isTooLong = file.size > this.maxFileSize; + + if (isTooLong) { + this.errorsType.push(DropZoneErrorType.MAX_FILE_SIZE_EXCEEDED); + } + + return isTooLong; + } + + /** + * Check if multiple files were dropped + * + * @private + * @param {File[]} files + * @return {*} {boolean} + * @memberof DotDropZoneComponent + */ + private multipleFilesDropped(files: File[]): boolean { + const multipleFilesDropped = files.length > 1; + + if (multipleFilesDropped) { + this.errorsType.push(DropZoneErrorType.MULTIPLE_FILES_DROPPED); + } + + return multipleFilesDropped; } /** @@ -174,8 +208,9 @@ export class DotDropZoneComponent { * @memberof DotDropZoneComponent */ private setValidity(files: File[]): void { + this.errorsType = []; // Reset the errors type const file = files[0]; // Only one file is allowed - const multipleFilesDropped = files.length > 1; + const multipleFilesDropped = this.multipleFilesDropped(files); const fileTypeMismatch = !this.typeMatch(file); const maxFileSizeExceeded = this.isFileTooLong(file); const valid = !fileTypeMismatch && !maxFileSizeExceeded && !multipleFilesDropped; @@ -185,6 +220,7 @@ export class DotDropZoneComponent { multipleFilesDropped, fileTypeMismatch, maxFileSizeExceeded, + errorsType: this.errorsType, valid }; } diff --git a/dotCMS/src/main/webapp/WEB-INF/messages/Language.properties b/dotCMS/src/main/webapp/WEB-INF/messages/Language.properties index 721db098159d..2a13fdd18bd9 100644 --- a/dotCMS/src/main/webapp/WEB-INF/messages/Language.properties +++ b/dotCMS/src/main/webapp/WEB-INF/messages/Language.properties @@ -1152,16 +1152,22 @@ dot.binary.field.action.remove=Remove dot.binary.field.dialog.create.new.file.header=File Details dot.binary.field.dialog.import.from.url.header=URL dot.binary.field.drag.and.drop.message=Drag and Drop or -dot.binary.field.drag.and.drop.error.could.not.load.message=Couldn't load the file. Please try again or
-dot.binary.field.drag.and.drop.error.file.not.supported.message=This type of file is not supported, Please select a
{0} file. +dot.binary.field.drag.and.drop.error.could.not.load.message=Couldn't load the file. Please try again or +dot.binary.field.drag.and.drop.error.file.not.supported.message=This type of file is not supported, Please select a {0} file. +dot.binary.field.drag.and.drop.error.multiple.files.dropped.message=You can only upload one file at a time. +dot.binary.field.drag.and.drop.error.file.maxsize.exceeded.message=The file weight exceeds the limits of {0}, please reduce size before uploading. +dot.binary.field.drag.and.drop.error.server.error.message=Something went wrong, please try again or contact our support team. dot.binary.field.error.type.file.not.supported.message=This type of file is not supported. Please use a {0} file. dot.binary.field.error.type.file.not.extension=Please add the file's extension -dot.binary.field.drag.and.drop.error.file.maxsize.exceeded.message=The file weight exceeds the limits of {0}, please
reduce size before uploading. -dot.binary.field.drag.and.drop.error.server.error.message=Something went wrong, please try again or
contact our support team. +dot.binary.field.file.size=File Size +dot.binary.field.file.dimension=Dimension +dot.binary.field.file.bytes=Bytes dot.common.apply=Apply dot.common.archived=Archived dot.common.cancel=Cancel +dot.common.edit=Edit dot.common.import=Import +dot.common.remove=Remove dot.common.save=Save dot.common.content.search=Content Search dot.common.dialog.accept=Accept diff --git a/dotCMS/src/main/webapp/html/binary-field.js b/dotCMS/src/main/webapp/html/binary-field.js index 7cdcf8aa034a..e67162b357e5 100644 --- a/dotCMS/src/main/webapp/html/binary-field.js +++ b/dotCMS/src/main/webapp/html/binary-field.js @@ -1 +1 @@ -var runtime=function(c){"use strict";var l,M=Object.prototype,p=M.hasOwnProperty,w=Object.defineProperty||function(r,t,e){r[t]=e.value},O="function"==typeof Symbol?Symbol:{},L=O.iterator||"@@iterator",z=O.asyncIterator||"@@asyncIterator",_=O.toStringTag||"@@toStringTag";function v(r,t,e){return Object.defineProperty(r,t,{value:e,enumerable:!0,configurable:!0,writable:!0}),r[t]}try{v({},"")}catch{v=function(t,e,o){return t[e]=o}}function R(r,t,e,o){var i=Object.create((t&&t.prototype instanceof j?t:j).prototype),a=new I(o||[]);return w(i,"_invoke",{value:H(r,e,a)}),i}function k(r,t,e){try{return{type:"normal",arg:r.call(t,e)}}catch(o){return{type:"throw",arg:o}}}c.wrap=R;var Y="suspendedStart",q="executing",b="completed",s={};function j(){}function S(){}function d(){}var N={};v(N,L,function(){return this});var T=Object.getPrototypeOf,E=T&&T(T(A([])));E&&E!==M&&p.call(E,L)&&(N=E);var g=d.prototype=j.prototype=Object.create(N);function D(r){["next","throw","return"].forEach(function(t){v(r,t,function(e){return this._invoke(t,e)})})}function G(r,t){function e(i,a,u,h){var f=k(r[i],r,a);if("throw"!==f.type){var C=f.arg,m=C.value;return m&&"object"==typeof m&&p.call(m,"__await")?t.resolve(m.__await).then(function(y){e("next",y,u,h)},function(y){e("throw",y,u,h)}):t.resolve(m).then(function(y){C.value=y,u(C)},function(y){return e("throw",y,u,h)})}h(f.arg)}var o;w(this,"_invoke",{value:function n(i,a){function u(){return new t(function(h,f){e(i,a,h,f)})}return o=o?o.then(u,u):u()}})}function H(r,t,e){var o=Y;return function(i,a){if(o===q)throw new Error("Generator is already running");if(o===b){if("throw"===i)throw a;return $()}for(e.method=i,e.arg=a;;){var u=e.delegate;if(u){var h=W(u,e);if(h){if(h===s)continue;return h}}if("next"===e.method)e.sent=e._sent=e.arg;else if("throw"===e.method){if(o===Y)throw o=b,e.arg;e.dispatchException(e.arg)}else"return"===e.method&&e.abrupt("return",e.arg);o=q;var f=k(r,t,e);if("normal"===f.type){if(o=e.done?b:"suspendedYield",f.arg===s)continue;return{value:f.arg,done:e.done}}"throw"===f.type&&(o=b,e.method="throw",e.arg=f.arg)}}}function W(r,t){var e=t.method,o=r.iterator[e];if(o===l)return t.delegate=null,"throw"===e&&r.iterator.return&&(t.method="return",t.arg=l,W(r,t),"throw"===t.method)||"return"!==e&&(t.method="throw",t.arg=new TypeError("The iterator does not provide a '"+e+"' method")),s;var n=k(o,r.iterator,t.arg);if("throw"===n.type)return t.method="throw",t.arg=n.arg,t.delegate=null,s;var i=n.arg;return i?i.done?(t[r.resultName]=i.value,t.next=r.nextLoc,"return"!==t.method&&(t.method="next",t.arg=l),t.delegate=null,s):i:(t.method="throw",t.arg=new TypeError("iterator result is not an object"),t.delegate=null,s)}function J(r){var t={tryLoc:r[0]};1 in r&&(t.catchLoc=r[1]),2 in r&&(t.finallyLoc=r[2],t.afterLoc=r[3]),this.tryEntries.push(t)}function P(r){var t=r.completion||{};t.type="normal",delete t.arg,r.completion=t}function I(r){this.tryEntries=[{tryLoc:"root"}],r.forEach(J,this),this.reset(!0)}function A(r){if(r){var t=r[L];if(t)return t.call(r);if("function"==typeof r.next)return r;if(!isNaN(r.length)){var e=-1,o=function n(){for(;++e=0;--o){var n=this.tryEntries[o],i=n.completion;if("root"===n.tryLoc)return e("end");if(n.tryLoc<=this.prev){var a=p.call(n,"catchLoc"),u=p.call(n,"finallyLoc");if(a&&u){if(this.prev=0;--e){var o=this.tryEntries[e];if(o.tryLoc<=this.prev&&p.call(o,"finallyLoc")&&this.prev=0;--t){var e=this.tryEntries[t];if(e.finallyLoc===r)return this.complete(e.completion,e.afterLoc),P(e),s}},catch:function(r){for(var t=this.tryEntries.length-1;t>=0;--t){var e=this.tryEntries[t];if(e.tryLoc===r){var o=e.completion;if("throw"===o.type){var n=o.arg;P(e)}return n}}throw new Error("illegal catch attempt")},delegateYield:function(r,t,e){return this.delegate={iterator:A(r),resultName:t,nextLoc:e},"next"===this.method&&(this.arg=l),s}},c}("object"==typeof module?module.exports:{});try{regeneratorRuntime=runtime}catch{"object"==typeof globalThis?globalThis.regeneratorRuntime=runtime:Function("r","regeneratorRuntime = r")(runtime)}(()=>{"use strict";var e,m={},_={};function r(e){var i=_[e];if(void 0!==i)return i.exports;var t=_[e]={exports:{}};return m[e](t,t.exports,r),t.exports}r.m=m,e=[],r.O=(i,t,a,f)=>{if(!t){var n=1/0;for(o=0;o=f)&&Object.keys(r.O).every(b=>r.O[b](t[u]))?t.splice(u--,1):(s=!1,f0&&e[o-1][2]>f;o--)e[o]=e[o-1];e[o]=[t,a,f]},(()=>{var i,e=Object.getPrototypeOf?t=>Object.getPrototypeOf(t):t=>t.__proto__;r.t=function(t,a){if(1&a&&(t=this(t)),8&a||"object"==typeof t&&t&&(4&a&&t.__esModule||16&a&&"function"==typeof t.then))return t;var f=Object.create(null);r.r(f);var o={};i=i||[null,e({}),e([]),e(e)];for(var n=2&a&&t;"object"==typeof n&&!~i.indexOf(n);n=e(n))Object.getOwnPropertyNames(n).forEach(s=>o[s]=()=>t[s]);return o.default=()=>t,r.d(f,o),f}})(),r.d=(e,i)=>{for(var t in i)r.o(i,t)&&!r.o(e,t)&&Object.defineProperty(e,t,{enumerable:!0,get:i[t]})},r.f={},r.e=e=>Promise.all(Object.keys(r.f).reduce((i,t)=>(r.f[t](e,i),i),[])),r.u=e=>(8592===e?"common":e)+".js",r.miniCssF=e=>{},r.o=(e,i)=>Object.prototype.hasOwnProperty.call(e,i),(()=>{var e={},i="contenttype-fields-builder:";r.l=(t,a,f,o)=>{if(e[t])e[t].push(a);else{var n,s;if(void 0!==f)for(var u=document.getElementsByTagName("script"),l=0;l{n.onerror=n.onload=null,clearTimeout(p);var y=e[t];if(delete e[t],n.parentNode&&n.parentNode.removeChild(n),y&&y.forEach(g=>g(b)),v)return v(b)},p=setTimeout(c.bind(null,void 0,{type:"timeout",target:n}),12e4);n.onerror=c.bind(null,n.onerror),n.onload=c.bind(null,n.onload),s&&document.head.appendChild(n)}}})(),r.r=e=>{typeof Symbol<"u"&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},(()=>{var e;r.tt=()=>(void 0===e&&(e={createScriptURL:i=>i},typeof trustedTypes<"u"&&trustedTypes.createPolicy&&(e=trustedTypes.createPolicy("angular#bundler",e))),e)})(),r.tu=e=>r.tt().createScriptURL(e),r.p="",(()=>{var e={3666:0};r.f.j=(a,f)=>{var o=r.o(e,a)?e[a]:void 0;if(0!==o)if(o)f.push(o[2]);else if(3666!=a){var n=new Promise((d,c)=>o=e[a]=[d,c]);f.push(o[2]=n);var s=r.p+r.u(a),u=new Error;r.l(s,d=>{if(r.o(e,a)&&(0!==(o=e[a])&&(e[a]=void 0),o)){var c=d&&("load"===d.type?"missing":d.type),p=d&&d.target&&d.target.src;u.message="Loading chunk "+a+" failed.\n("+c+": "+p+")",u.name="ChunkLoadError",u.type=c,u.request=p,o[1](u)}},"chunk-"+a,a)}else e[a]=0},r.O.j=a=>0===e[a];var i=(a,f)=>{var u,l,[o,n,s]=f,d=0;if(o.some(p=>0!==e[p])){for(u in n)r.o(n,u)&&(r.m[u]=n[u]);if(s)var c=s(r)}for(a&&a(f);d{!function(e){const n=e.performance;function i(I){n&&n.mark&&n.mark(I)}function r(I,_){n&&n.measure&&n.measure(I,_)}i("Zone");const c=e.__Zone_symbol_prefix||"__zone_symbol__";function u(I){return c+I}const f=!0===e[u("forceDuplicateZoneCheck")];if(e.Zone){if(f||"function"!=typeof e.Zone.__symbol__)throw new Error("Zone already loaded.");return e.Zone}let p=(()=>{class I{constructor(t,o){this._parent=t,this._name=o?o.name||"unnamed":"",this._properties=o&&o.properties||{},this._zoneDelegate=new T(this,this._parent&&this._parent._zoneDelegate,o)}static assertZonePatched(){if(e.Promise!==K.ZoneAwarePromise)throw new Error("Zone.js has detected that ZoneAwarePromise `(window|global).Promise` has been overwritten.\nMost likely cause is that a Promise polyfill has been loaded after Zone.js (Polyfilling Promise api is not necessary when zone.js is loaded. If you must load one, do so before loading zone.js.)")}static get root(){let t=I.current;for(;t.parent;)t=t.parent;return t}static get current(){return G.zone}static get currentTask(){return te}static __load_patch(t,o,y=!1){if(K.hasOwnProperty(t)){if(!y&&f)throw Error("Already loaded patch: "+t)}else if(!e["__Zone_disable_"+t]){const P="Zone:"+t;i(P),K[t]=o(e,I,le),r(P,P)}}get parent(){return this._parent}get name(){return this._name}get(t){const o=this.getZoneWith(t);if(o)return o._properties[t]}getZoneWith(t){let o=this;for(;o;){if(o._properties.hasOwnProperty(t))return o;o=o._parent}return null}fork(t){if(!t)throw new Error("ZoneSpec required!");return this._zoneDelegate.fork(this,t)}wrap(t,o){if("function"!=typeof t)throw new Error("Expecting function got: "+t);const y=this._zoneDelegate.intercept(this,t,o),P=this;return function(){return P.runGuarded(y,this,arguments,o)}}run(t,o,y,P){G={parent:G,zone:this};try{return this._zoneDelegate.invoke(this,t,o,y,P)}finally{G=G.parent}}runGuarded(t,o=null,y,P){G={parent:G,zone:this};try{try{return this._zoneDelegate.invoke(this,t,o,y,P)}catch(J){if(this._zoneDelegate.handleError(this,J))throw J}}finally{G=G.parent}}runTask(t,o,y){if(t.zone!=this)throw new Error("A task can only be run in the zone of creation! (Creation: "+(t.zone||z).name+"; Execution: "+this.name+")");if(t.state===H&&(t.type===R||t.type===M))return;const P=t.state!=X;P&&t._transitionTo(X,Z),t.runCount++;const J=te;te=t,G={parent:G,zone:this};try{t.type==M&&t.data&&!t.data.isPeriodic&&(t.cancelFn=void 0);try{return this._zoneDelegate.invokeTask(this,t,o,y)}catch(l){if(this._zoneDelegate.handleError(this,l))throw l}}finally{t.state!==H&&t.state!==Y&&(t.type==R||t.data&&t.data.isPeriodic?P&&t._transitionTo(Z,X):(t.runCount=0,this._updateTaskCount(t,-1),P&&t._transitionTo(H,X,H))),G=G.parent,te=J}}scheduleTask(t){if(t.zone&&t.zone!==this){let y=this;for(;y;){if(y===t.zone)throw Error(`can not reschedule task to ${this.name} which is descendants of the original zone ${t.zone.name}`);y=y.parent}}t._transitionTo(W,H);const o=[];t._zoneDelegates=o,t._zone=this;try{t=this._zoneDelegate.scheduleTask(this,t)}catch(y){throw t._transitionTo(Y,W,H),this._zoneDelegate.handleError(this,y),y}return t._zoneDelegates===o&&this._updateTaskCount(t,1),t.state==W&&t._transitionTo(Z,W),t}scheduleMicroTask(t,o,y,P){return this.scheduleTask(new m(v,t,o,y,P,void 0))}scheduleMacroTask(t,o,y,P,J){return this.scheduleTask(new m(M,t,o,y,P,J))}scheduleEventTask(t,o,y,P,J){return this.scheduleTask(new m(R,t,o,y,P,J))}cancelTask(t){if(t.zone!=this)throw new Error("A task can only be cancelled in the zone of creation! (Creation: "+(t.zone||z).name+"; Execution: "+this.name+")");t._transitionTo(A,Z,X);try{this._zoneDelegate.cancelTask(this,t)}catch(o){throw t._transitionTo(Y,A),this._zoneDelegate.handleError(this,o),o}return this._updateTaskCount(t,-1),t._transitionTo(H,A),t.runCount=0,t}_updateTaskCount(t,o){const y=t._zoneDelegates;-1==o&&(t._zoneDelegates=null);for(let P=0;PI.hasTask(t,o),onScheduleTask:(I,_,t,o)=>I.scheduleTask(t,o),onInvokeTask:(I,_,t,o,y,P)=>I.invokeTask(t,o,y,P),onCancelTask:(I,_,t,o)=>I.cancelTask(t,o)};class T{constructor(_,t,o){this._taskCounts={microTask:0,macroTask:0,eventTask:0},this.zone=_,this._parentDelegate=t,this._forkZS=o&&(o&&o.onFork?o:t._forkZS),this._forkDlgt=o&&(o.onFork?t:t._forkDlgt),this._forkCurrZone=o&&(o.onFork?this.zone:t._forkCurrZone),this._interceptZS=o&&(o.onIntercept?o:t._interceptZS),this._interceptDlgt=o&&(o.onIntercept?t:t._interceptDlgt),this._interceptCurrZone=o&&(o.onIntercept?this.zone:t._interceptCurrZone),this._invokeZS=o&&(o.onInvoke?o:t._invokeZS),this._invokeDlgt=o&&(o.onInvoke?t:t._invokeDlgt),this._invokeCurrZone=o&&(o.onInvoke?this.zone:t._invokeCurrZone),this._handleErrorZS=o&&(o.onHandleError?o:t._handleErrorZS),this._handleErrorDlgt=o&&(o.onHandleError?t:t._handleErrorDlgt),this._handleErrorCurrZone=o&&(o.onHandleError?this.zone:t._handleErrorCurrZone),this._scheduleTaskZS=o&&(o.onScheduleTask?o:t._scheduleTaskZS),this._scheduleTaskDlgt=o&&(o.onScheduleTask?t:t._scheduleTaskDlgt),this._scheduleTaskCurrZone=o&&(o.onScheduleTask?this.zone:t._scheduleTaskCurrZone),this._invokeTaskZS=o&&(o.onInvokeTask?o:t._invokeTaskZS),this._invokeTaskDlgt=o&&(o.onInvokeTask?t:t._invokeTaskDlgt),this._invokeTaskCurrZone=o&&(o.onInvokeTask?this.zone:t._invokeTaskCurrZone),this._cancelTaskZS=o&&(o.onCancelTask?o:t._cancelTaskZS),this._cancelTaskDlgt=o&&(o.onCancelTask?t:t._cancelTaskDlgt),this._cancelTaskCurrZone=o&&(o.onCancelTask?this.zone:t._cancelTaskCurrZone),this._hasTaskZS=null,this._hasTaskDlgt=null,this._hasTaskDlgtOwner=null,this._hasTaskCurrZone=null;const y=o&&o.onHasTask;(y||t&&t._hasTaskZS)&&(this._hasTaskZS=y?o:g,this._hasTaskDlgt=t,this._hasTaskDlgtOwner=this,this._hasTaskCurrZone=_,o.onScheduleTask||(this._scheduleTaskZS=g,this._scheduleTaskDlgt=t,this._scheduleTaskCurrZone=this.zone),o.onInvokeTask||(this._invokeTaskZS=g,this._invokeTaskDlgt=t,this._invokeTaskCurrZone=this.zone),o.onCancelTask||(this._cancelTaskZS=g,this._cancelTaskDlgt=t,this._cancelTaskCurrZone=this.zone))}fork(_,t){return this._forkZS?this._forkZS.onFork(this._forkDlgt,this.zone,_,t):new p(_,t)}intercept(_,t,o){return this._interceptZS?this._interceptZS.onIntercept(this._interceptDlgt,this._interceptCurrZone,_,t,o):t}invoke(_,t,o,y,P){return this._invokeZS?this._invokeZS.onInvoke(this._invokeDlgt,this._invokeCurrZone,_,t,o,y,P):t.apply(o,y)}handleError(_,t){return!this._handleErrorZS||this._handleErrorZS.onHandleError(this._handleErrorDlgt,this._handleErrorCurrZone,_,t)}scheduleTask(_,t){let o=t;if(this._scheduleTaskZS)this._hasTaskZS&&o._zoneDelegates.push(this._hasTaskDlgtOwner),o=this._scheduleTaskZS.onScheduleTask(this._scheduleTaskDlgt,this._scheduleTaskCurrZone,_,t),o||(o=t);else if(t.scheduleFn)t.scheduleFn(t);else{if(t.type!=v)throw new Error("Task is missing scheduleFn.");d(t)}return o}invokeTask(_,t,o,y){return this._invokeTaskZS?this._invokeTaskZS.onInvokeTask(this._invokeTaskDlgt,this._invokeTaskCurrZone,_,t,o,y):t.callback.apply(o,y)}cancelTask(_,t){let o;if(this._cancelTaskZS)o=this._cancelTaskZS.onCancelTask(this._cancelTaskDlgt,this._cancelTaskCurrZone,_,t);else{if(!t.cancelFn)throw Error("Task is not cancelable");o=t.cancelFn(t)}return o}hasTask(_,t){try{this._hasTaskZS&&this._hasTaskZS.onHasTask(this._hasTaskDlgt,this._hasTaskCurrZone,_,t)}catch(o){this.handleError(_,o)}}_updateTaskCount(_,t){const o=this._taskCounts,y=o[_],P=o[_]=y+t;if(P<0)throw new Error("More tasks executed then were scheduled.");0!=y&&0!=P||this.hasTask(this.zone,{microTask:o.microTask>0,macroTask:o.macroTask>0,eventTask:o.eventTask>0,change:_})}}class m{constructor(_,t,o,y,P,J){if(this._zone=null,this.runCount=0,this._zoneDelegates=null,this._state="notScheduled",this.type=_,this.source=t,this.data=y,this.scheduleFn=P,this.cancelFn=J,!o)throw new Error("callback is not defined");this.callback=o;const l=this;this.invoke=_===R&&y&&y.useG?m.invokeTask:function(){return m.invokeTask.call(e,l,this,arguments)}}static invokeTask(_,t,o){_||(_=this),re++;try{return _.runCount++,_.zone.runTask(_,t,o)}finally{1==re&&L(),re--}}get zone(){return this._zone}get state(){return this._state}cancelScheduleRequest(){this._transitionTo(H,W)}_transitionTo(_,t,o){if(this._state!==t&&this._state!==o)throw new Error(`${this.type} '${this.source}': can not transition to '${_}', expecting state '${t}'${o?" or '"+o+"'":""}, was '${this._state}'.`);this._state=_,_==H&&(this._zoneDelegates=null)}toString(){return this.data&&typeof this.data.handleId<"u"?this.data.handleId.toString():Object.prototype.toString.call(this)}toJSON(){return{type:this.type,state:this.state,source:this.source,zone:this.zone.name,runCount:this.runCount}}}const D=u("setTimeout"),S=u("Promise"),O=u("then");let E,F=[],V=!1;function d(I){if(0===re&&0===F.length)if(E||e[S]&&(E=e[S].resolve(0)),E){let _=E[O];_||(_=E.then),_.call(E,L)}else e[D](L,0);I&&F.push(I)}function L(){if(!V){for(V=!0;F.length;){const I=F;F=[];for(let _=0;_G,onUnhandledError:B,microtaskDrainDone:B,scheduleMicroTask:d,showUncaughtError:()=>!p[u("ignoreConsoleErrorUncaughtError")],patchEventTarget:()=>[],patchOnProperties:B,patchMethod:()=>B,bindArguments:()=>[],patchThen:()=>B,patchMacroTask:()=>B,patchEventPrototype:()=>B,isIEOrEdge:()=>!1,getGlobalObjects:()=>{},ObjectDefineProperty:()=>B,ObjectGetOwnPropertyDescriptor:()=>{},ObjectCreate:()=>{},ArraySlice:()=>[],patchClass:()=>B,wrapWithCurrentZone:()=>B,filterProperties:()=>[],attachOriginToPatched:()=>B,_redefineProperty:()=>B,patchCallbacks:()=>B};let G={parent:null,zone:new p(null,null)},te=null,re=0;function B(){}r("Zone","Zone"),e.Zone=p}(typeof window<"u"&&window||typeof self<"u"&&self||global);const fe=Object.getOwnPropertyDescriptor,be=Object.defineProperty,ye=Object.getPrototypeOf,lt=Object.create,ut=Array.prototype.slice,De="addEventListener",Ze="removeEventListener",Oe=Zone.__symbol__(De),Ie=Zone.__symbol__(Ze),se="true",ie="false",ge=Zone.__symbol__("");function Le(e,n){return Zone.current.wrap(e,n)}function Me(e,n,i,r,c){return Zone.current.scheduleMacroTask(e,n,i,r,c)}const x=Zone.__symbol__,we=typeof window<"u",de=we?window:void 0,$=we&&de||"object"==typeof self&&self||global,ht=[null];function Ae(e,n){for(let i=e.length-1;i>=0;i--)"function"==typeof e[i]&&(e[i]=Le(e[i],n+"_"+i));return e}function Fe(e){return!e||!1!==e.writable&&!("function"==typeof e.get&&typeof e.set>"u")}const Be=typeof WorkerGlobalScope<"u"&&self instanceof WorkerGlobalScope,Pe=!("nw"in $)&&typeof $.process<"u"&&"[object process]"==={}.toString.call($.process),He=!Pe&&!Be&&!(!we||!de.HTMLElement),Ue=typeof $.process<"u"&&"[object process]"==={}.toString.call($.process)&&!Be&&!(!we||!de.HTMLElement),Re={},qe=function(e){if(!(e=e||$.event))return;let n=Re[e.type];n||(n=Re[e.type]=x("ON_PROPERTY"+e.type));const i=this||e.target||$,r=i[n];let c;return He&&i===de&&"error"===e.type?(c=r&&r.call(this,e.message,e.filename,e.lineno,e.colno,e.error),!0===c&&e.preventDefault()):(c=r&&r.apply(this,arguments),null!=c&&!c&&e.preventDefault()),c};function We(e,n,i){let r=fe(e,n);if(!r&&i&&fe(i,n)&&(r={enumerable:!0,configurable:!0}),!r||!r.configurable)return;const c=x("on"+n+"patched");if(e.hasOwnProperty(c)&&e[c])return;delete r.writable,delete r.value;const u=r.get,f=r.set,p=n.substr(2);let g=Re[p];g||(g=Re[p]=x("ON_PROPERTY"+p)),r.set=function(T){let m=this;!m&&e===$&&(m=$),m&&(m[g]&&m.removeEventListener(p,qe),f&&f.apply(m,ht),"function"==typeof T?(m[g]=T,m.addEventListener(p,qe,!1)):m[g]=null)},r.get=function(){let T=this;if(!T&&e===$&&(T=$),!T)return null;const m=T[g];if(m)return m;if(u){let D=u&&u.call(this);if(D)return r.set.call(this,D),"function"==typeof T.removeAttribute&&T.removeAttribute(n),D}return null},be(e,n,r),e[c]=!0}function Xe(e,n,i){if(n)for(let r=0;rfunction(f,p){const g=i(f,p);return g.cbIdx>=0&&"function"==typeof p[g.cbIdx]?Me(g.name,p[g.cbIdx],g,c):u.apply(f,p)})}function ae(e,n){e[x("OriginalDelegate")]=n}let Ye=!1,je=!1;function mt(){if(Ye)return je;Ye=!0;try{const e=de.navigator.userAgent;(-1!==e.indexOf("MSIE ")||-1!==e.indexOf("Trident/")||-1!==e.indexOf("Edge/"))&&(je=!0)}catch{}return je}Zone.__load_patch("ZoneAwarePromise",(e,n,i)=>{const r=Object.getOwnPropertyDescriptor,c=Object.defineProperty,f=i.symbol,p=[],g=!0===e[f("DISABLE_WRAPPING_UNCAUGHT_PROMISE_REJECTION")],T=f("Promise"),m=f("then");i.onUnhandledError=l=>{if(i.showUncaughtError()){const s=l&&l.rejection;s?console.error("Unhandled Promise rejection:",s instanceof Error?s.message:s,"; Zone:",l.zone.name,"; Task:",l.task&&l.task.source,"; Value:",s,s instanceof Error?s.stack:void 0):console.error(l)}},i.microtaskDrainDone=()=>{for(;p.length;){const l=p.shift();try{l.zone.runGuarded(()=>{throw l.throwOriginal?l.rejection:l})}catch(s){O(s)}}};const S=f("unhandledPromiseRejectionHandler");function O(l){i.onUnhandledError(l);try{const s=n[S];"function"==typeof s&&s.call(this,l)}catch{}}function F(l){return l&&l.then}function V(l){return l}function E(l){return t.reject(l)}const d=f("state"),L=f("value"),z=f("finally"),H=f("parentPromiseValue"),W=f("parentPromiseState"),X=null,A=!0,Y=!1;function M(l,s){return a=>{try{G(l,s,a)}catch(h){G(l,!1,h)}}}const le=f("currentTaskTrace");function G(l,s,a){const h=function(){let l=!1;return function(a){return function(){l||(l=!0,a.apply(null,arguments))}}}();if(l===a)throw new TypeError("Promise resolved with itself");if(l[d]===X){let w=null;try{("object"==typeof a||"function"==typeof a)&&(w=a&&a.then)}catch(N){return h(()=>{G(l,!1,N)})(),l}if(s!==Y&&a instanceof t&&a.hasOwnProperty(d)&&a.hasOwnProperty(L)&&a[d]!==X)re(a),G(l,a[d],a[L]);else if(s!==Y&&"function"==typeof w)try{w.call(a,h(M(l,s)),h(M(l,!1)))}catch(N){h(()=>{G(l,!1,N)})()}else{l[d]=s;const N=l[L];if(l[L]=a,l[z]===z&&s===A&&(l[d]=l[W],l[L]=l[H]),s===Y&&a instanceof Error){const k=n.currentTask&&n.currentTask.data&&n.currentTask.data.__creationTrace__;k&&c(a,le,{configurable:!0,enumerable:!1,writable:!0,value:k})}for(let k=0;k{try{const b=l[L],C=!!a&&z===a[z];C&&(a[H]=b,a[W]=N);const j=s.run(k,void 0,C&&k!==E&&k!==V?[]:[b]);G(a,!0,j)}catch(b){G(a,!1,b)}},a)}const _=function(){};class t{static toString(){return"function ZoneAwarePromise() { [native code] }"}static resolve(s){return G(new this(null),A,s)}static reject(s){return G(new this(null),Y,s)}static race(s){let a,h,w=new this((b,C)=>{a=b,h=C});function N(b){a(b)}function k(b){h(b)}for(let b of s)F(b)||(b=this.resolve(b)),b.then(N,k);return w}static all(s){return t.allWithCallback(s)}static allSettled(s){return(this&&this.prototype instanceof t?this:t).allWithCallback(s,{thenCallback:h=>({status:"fulfilled",value:h}),errorCallback:h=>({status:"rejected",reason:h})})}static allWithCallback(s,a){let h,w,N=new this((j,U)=>{h=j,w=U}),k=2,b=0;const C=[];for(let j of s){F(j)||(j=this.resolve(j));const U=b;try{j.then(Q=>{C[U]=a?a.thenCallback(Q):Q,k--,0===k&&h(C)},Q=>{a?(C[U]=a.errorCallback(Q),k--,0===k&&h(C)):w(Q)})}catch(Q){w(Q)}k++,b++}return k-=2,0===k&&h(C),N}constructor(s){const a=this;if(!(a instanceof t))throw new Error("Must be an instanceof Promise.");a[d]=X,a[L]=[];try{s&&s(M(a,A),M(a,Y))}catch(h){G(a,!1,h)}}get[Symbol.toStringTag](){return"Promise"}get[Symbol.species](){return t}then(s,a){let h=this.constructor[Symbol.species];(!h||"function"!=typeof h)&&(h=this.constructor||t);const w=new h(_),N=n.current;return this[d]==X?this[L].push(N,w,s,a):B(this,N,w,s,a),w}catch(s){return this.then(null,s)}finally(s){let a=this.constructor[Symbol.species];(!a||"function"!=typeof a)&&(a=t);const h=new a(_);h[z]=z;const w=n.current;return this[d]==X?this[L].push(w,h,s,s):B(this,w,h,s,s),h}}t.resolve=t.resolve,t.reject=t.reject,t.race=t.race,t.all=t.all;const o=e[T]=e.Promise;e.Promise=t;const y=f("thenPatched");function P(l){const s=l.prototype,a=r(s,"then");if(a&&(!1===a.writable||!a.configurable))return;const h=s.then;s[m]=h,l.prototype.then=function(w,N){return new t((b,C)=>{h.call(this,b,C)}).then(w,N)},l[y]=!0}return i.patchThen=P,o&&(P(o),ce(e,"fetch",l=>function J(l){return function(s,a){let h=l.apply(s,a);if(h instanceof t)return h;let w=h.constructor;return w[y]||P(w),h}}(l))),Promise[n.__symbol__("uncaughtPromiseErrors")]=p,t}),Zone.__load_patch("toString",e=>{const n=Function.prototype.toString,i=x("OriginalDelegate"),r=x("Promise"),c=x("Error"),u=function(){if("function"==typeof this){const T=this[i];if(T)return"function"==typeof T?n.call(T):Object.prototype.toString.call(T);if(this===Promise){const m=e[r];if(m)return n.call(m)}if(this===Error){const m=e[c];if(m)return n.call(m)}}return n.call(this)};u[i]=n,Function.prototype.toString=u;const f=Object.prototype.toString;Object.prototype.toString=function(){return"function"==typeof Promise&&this instanceof Promise?"[object Promise]":f.call(this)}});let pe=!1;if(typeof window<"u")try{const e=Object.defineProperty({},"passive",{get:function(){pe=!0}});window.addEventListener("test",e,e),window.removeEventListener("test",e,e)}catch{pe=!1}const Et={useG:!0},ee={},$e={},Je=new RegExp("^"+ge+"(\\w+)(true|false)$"),xe=x("propagationStopped");function Ke(e,n){const i=(n?n(e):e)+ie,r=(n?n(e):e)+se,c=ge+i,u=ge+r;ee[e]={},ee[e][ie]=c,ee[e][se]=u}function Tt(e,n,i){const r=i&&i.add||De,c=i&&i.rm||Ze,u=i&&i.listeners||"eventListeners",f=i&&i.rmAll||"removeAllListeners",p=x(r),g="."+r+":",T="prependListener",m="."+T+":",D=function(E,d,L){if(E.isRemoved)return;const z=E.callback;"object"==typeof z&&z.handleEvent&&(E.callback=W=>z.handleEvent(W),E.originalDelegate=z),E.invoke(E,d,[L]);const H=E.options;H&&"object"==typeof H&&H.once&&d[c].call(d,L.type,E.originalDelegate?E.originalDelegate:E.callback,H)},S=function(E){if(!(E=E||e.event))return;const d=this||E.target||e,L=d[ee[E.type][ie]];if(L)if(1===L.length)D(L[0],d,E);else{const z=L.slice();for(let H=0;Hfunction(c,u){c[xe]=!0,r&&r.apply(c,u)})}function gt(e,n,i,r,c){const u=Zone.__symbol__(r);if(n[u])return;const f=n[u]=n[r];n[r]=function(p,g,T){return g&&g.prototype&&c.forEach(function(m){const D=`${i}.${r}::`+m,S=g.prototype;if(S.hasOwnProperty(m)){const O=e.ObjectGetOwnPropertyDescriptor(S,m);O&&O.value?(O.value=e.wrapWithCurrentZone(O.value,D),e._redefineProperty(g.prototype,m,O)):S[m]&&(S[m]=e.wrapWithCurrentZone(S[m],D))}else S[m]&&(S[m]=e.wrapWithCurrentZone(S[m],D))}),f.call(n,p,g,T)},e.attachOriginToPatched(n[r],f)}const Ve=["absolutedeviceorientation","afterinput","afterprint","appinstalled","beforeinstallprompt","beforeprint","beforeunload","devicelight","devicemotion","deviceorientation","deviceorientationabsolute","deviceproximity","hashchange","languagechange","message","mozbeforepaint","offline","online","paint","pageshow","pagehide","popstate","rejectionhandled","storage","unhandledrejection","unload","userproximity","vrdisplayconnected","vrdisplaydisconnected","vrdisplaypresentchange"],wt=["encrypted","waitingforkey","msneedkey","mozinterruptbegin","mozinterruptend"],et=["load"],tt=["blur","error","focus","load","resize","scroll","messageerror"],St=["bounce","finish","start"],nt=["loadstart","progress","abort","error","load","progress","timeout","loadend","readystatechange"],_e=["upgradeneeded","complete","abort","success","error","blocked","versionchange","close"],Dt=["close","error","open","message"],Zt=["error","message"],me=["abort","animationcancel","animationend","animationiteration","auxclick","beforeinput","blur","cancel","canplay","canplaythrough","change","compositionstart","compositionupdate","compositionend","cuechange","click","close","contextmenu","curechange","dblclick","drag","dragend","dragenter","dragexit","dragleave","dragover","drop","durationchange","emptied","ended","error","focus","focusin","focusout","gotpointercapture","input","invalid","keydown","keypress","keyup","load","loadstart","loadeddata","loadedmetadata","lostpointercapture","mousedown","mouseenter","mouseleave","mousemove","mouseout","mouseover","mouseup","mousewheel","orientationchange","pause","play","playing","pointercancel","pointerdown","pointerenter","pointerleave","pointerlockchange","mozpointerlockchange","webkitpointerlockerchange","pointerlockerror","mozpointerlockerror","webkitpointerlockerror","pointermove","pointout","pointerover","pointerup","progress","ratechange","reset","resize","scroll","seeked","seeking","select","selectionchange","selectstart","show","sort","stalled","submit","suspend","timeupdate","volumechange","touchcancel","touchmove","touchstart","touchend","transitioncancel","transitionend","waiting","wheel"].concat(["webglcontextrestored","webglcontextlost","webglcontextcreationerror"],["autocomplete","autocompleteerror"],["toggle"],["afterscriptexecute","beforescriptexecute","DOMContentLoaded","freeze","fullscreenchange","mozfullscreenchange","webkitfullscreenchange","msfullscreenchange","fullscreenerror","mozfullscreenerror","webkitfullscreenerror","msfullscreenerror","readystatechange","visibilitychange","resume"],Ve,["beforecopy","beforecut","beforepaste","copy","cut","paste","dragstart","loadend","animationstart","search","transitionrun","transitionstart","webkitanimationend","webkitanimationiteration","webkitanimationstart","webkittransitionend"],["activate","afterupdate","ariarequest","beforeactivate","beforedeactivate","beforeeditfocus","beforeupdate","cellchange","controlselect","dataavailable","datasetchanged","datasetcomplete","errorupdate","filterchange","layoutcomplete","losecapture","move","moveend","movestart","propertychange","resizeend","resizestart","rowenter","rowexit","rowsdelete","rowsinserted","command","compassneedscalibration","deactivate","help","mscontentzoom","msmanipulationstatechanged","msgesturechange","msgesturedoubletap","msgestureend","msgesturehold","msgesturestart","msgesturetap","msgotpointercapture","msinertiastart","mslostpointercapture","mspointercancel","mspointerdown","mspointerenter","mspointerhover","mspointerleave","mspointermove","mspointerout","mspointerover","mspointerup","pointerout","mssitemodejumplistitemremoved","msthumbnailclick","stop","storagecommit"]);function rt(e,n,i){if(!i||0===i.length)return n;const r=i.filter(u=>u.target===e);if(!r||0===r.length)return n;const c=r[0].ignoreProperties;return n.filter(u=>-1===c.indexOf(u))}function q(e,n,i,r){e&&Xe(e,rt(e,n,i),r)}Zone.__load_patch("util",(e,n,i)=>{i.patchOnProperties=Xe,i.patchMethod=ce,i.bindArguments=Ae,i.patchMacroTask=pt;const r=n.__symbol__("BLACK_LISTED_EVENTS"),c=n.__symbol__("UNPATCHED_EVENTS");e[c]&&(e[r]=e[c]),e[r]&&(n[r]=n[c]=e[r]),i.patchEventPrototype=yt,i.patchEventTarget=Tt,i.isIEOrEdge=mt,i.ObjectDefineProperty=be,i.ObjectGetOwnPropertyDescriptor=fe,i.ObjectCreate=lt,i.ArraySlice=ut,i.patchClass=ke,i.wrapWithCurrentZone=Le,i.filterProperties=rt,i.attachOriginToPatched=ae,i._redefineProperty=Object.defineProperty,i.patchCallbacks=gt,i.getGlobalObjects=()=>({globalSources:$e,zoneSymbolEventNames:ee,eventNames:me,isBrowser:He,isMix:Ue,isNode:Pe,TRUE_STR:se,FALSE_STR:ie,ZONE_SYMBOL_PREFIX:ge,ADD_EVENT_LISTENER_STR:De,REMOVE_EVENT_LISTENER_STR:Ze})});const Ne=x("zoneTask");function Ee(e,n,i,r){let c=null,u=null;i+=r;const f={};function p(T){const m=T.data;return m.args[0]=function(){return T.invoke.apply(this,arguments)},m.handleId=c.apply(e,m.args),T}function g(T){return u.call(e,T.data.handleId)}c=ce(e,n+=r,T=>function(m,D){if("function"==typeof D[0]){const S={isPeriodic:"Interval"===r,delay:"Timeout"===r||"Interval"===r?D[1]||0:void 0,args:D},O=D[0];D[0]=function(){try{return O.apply(this,arguments)}finally{S.isPeriodic||("number"==typeof S.handleId?delete f[S.handleId]:S.handleId&&(S.handleId[Ne]=null))}};const F=Me(n,D[0],S,p,g);if(!F)return F;const V=F.data.handleId;return"number"==typeof V?f[V]=F:V&&(V[Ne]=F),V&&V.ref&&V.unref&&"function"==typeof V.ref&&"function"==typeof V.unref&&(F.ref=V.ref.bind(V),F.unref=V.unref.bind(V)),"number"==typeof V||V?V:F}return T.apply(e,D)}),u=ce(e,i,T=>function(m,D){const S=D[0];let O;"number"==typeof S?O=f[S]:(O=S&&S[Ne],O||(O=S)),O&&"string"==typeof O.type?"notScheduled"!==O.state&&(O.cancelFn&&O.data.isPeriodic||0===O.runCount)&&("number"==typeof S?delete f[S]:S&&(S[Ne]=null),O.zone.cancelTask(O)):T.apply(e,D)})}Zone.__load_patch("legacy",e=>{const n=e[Zone.__symbol__("legacyPatch")];n&&n()}),Zone.__load_patch("queueMicrotask",(e,n,i)=>{i.patchMethod(e,"queueMicrotask",r=>function(c,u){n.current.scheduleMicroTask("queueMicrotask",u[0])})}),Zone.__load_patch("timers",e=>{const n="set",i="clear";Ee(e,n,i,"Timeout"),Ee(e,n,i,"Interval"),Ee(e,n,i,"Immediate")}),Zone.__load_patch("requestAnimationFrame",e=>{Ee(e,"request","cancel","AnimationFrame"),Ee(e,"mozRequest","mozCancel","AnimationFrame"),Ee(e,"webkitRequest","webkitCancel","AnimationFrame")}),Zone.__load_patch("blocking",(e,n)=>{const i=["alert","prompt","confirm"];for(let r=0;rfunction(g,T){return n.current.run(u,e,T,p)})}),Zone.__load_patch("EventTarget",(e,n,i)=>{(function Mt(e,n){n.patchEventPrototype(e,n)})(e,i),function Lt(e,n){if(Zone[n.symbol("patchEventTarget")])return;const{eventNames:i,zoneSymbolEventNames:r,TRUE_STR:c,FALSE_STR:u,ZONE_SYMBOL_PREFIX:f}=n.getGlobalObjects();for(let g=0;g{ke("MutationObserver"),ke("WebKitMutationObserver")}),Zone.__load_patch("IntersectionObserver",(e,n,i)=>{ke("IntersectionObserver")}),Zone.__load_patch("FileReader",(e,n,i)=>{ke("FileReader")}),Zone.__load_patch("on_property",(e,n,i)=>{!function Ot(e,n){if(Pe&&!Ue||Zone[e.symbol("patchEvents")])return;const i=typeof WebSocket<"u",r=n.__Zone_ignore_on_properties;if(He){const f=window,p=function _t(){try{const e=de.navigator.userAgent;if(-1!==e.indexOf("MSIE ")||-1!==e.indexOf("Trident/"))return!0}catch{}return!1}()?[{target:f,ignoreProperties:["error"]}]:[];q(f,me.concat(["messageerror"]),r&&r.concat(p),ye(f)),q(Document.prototype,me,r),typeof f.SVGElement<"u"&&q(f.SVGElement.prototype,me,r),q(Element.prototype,me,r),q(HTMLElement.prototype,me,r),q(HTMLMediaElement.prototype,wt,r),q(HTMLFrameSetElement.prototype,Ve.concat(tt),r),q(HTMLBodyElement.prototype,Ve.concat(tt),r),q(HTMLFrameElement.prototype,et,r),q(HTMLIFrameElement.prototype,et,r);const g=f.HTMLMarqueeElement;g&&q(g.prototype,St,r);const T=f.Worker;T&&q(T.prototype,Zt,r)}const c=n.XMLHttpRequest;c&&q(c.prototype,nt,r);const u=n.XMLHttpRequestEventTarget;u&&q(u&&u.prototype,nt,r),typeof IDBIndex<"u"&&(q(IDBIndex.prototype,_e,r),q(IDBRequest.prototype,_e,r),q(IDBOpenDBRequest.prototype,_e,r),q(IDBDatabase.prototype,_e,r),q(IDBTransaction.prototype,_e,r),q(IDBCursor.prototype,_e,r)),i&&q(WebSocket.prototype,Dt,r)}(i,e)}),Zone.__load_patch("customElements",(e,n,i)=>{!function It(e,n){const{isBrowser:i,isMix:r}=n.getGlobalObjects();(i||r)&&e.customElements&&"customElements"in e&&n.patchCallbacks(n,e.customElements,"customElements","define",["connectedCallback","disconnectedCallback","adoptedCallback","attributeChangedCallback"])}(e,i)}),Zone.__load_patch("XHR",(e,n)=>{!function g(T){const m=T.XMLHttpRequest;if(!m)return;const D=m.prototype;let O=D[Oe],F=D[Ie];if(!O){const v=T.XMLHttpRequestEventTarget;if(v){const M=v.prototype;O=M[Oe],F=M[Ie]}}const V="readystatechange",E="scheduled";function d(v){const M=v.data,R=M.target;R[u]=!1,R[p]=!1;const K=R[c];O||(O=R[Oe],F=R[Ie]),K&&F.call(R,V,K);const le=R[c]=()=>{if(R.readyState===R.DONE)if(!M.aborted&&R[u]&&v.state===E){const te=R[n.__symbol__("loadfalse")];if(0!==R.status&&te&&te.length>0){const re=v.invoke;v.invoke=function(){const B=R[n.__symbol__("loadfalse")];for(let I=0;Ifunction(v,M){return v[r]=0==M[2],v[f]=M[1],H.apply(v,M)}),Z=x("fetchTaskAborting"),X=x("fetchTaskScheduling"),A=ce(D,"send",()=>function(v,M){if(!0===n.current[X]||v[r])return A.apply(v,M);{const R={target:v,url:v[f],isPeriodic:!1,args:M,aborted:!1},K=Me("XMLHttpRequest.send",L,R,d,z);v&&!0===v[p]&&!R.aborted&&K.state===E&&K.invoke()}}),Y=ce(D,"abort",()=>function(v,M){const R=function S(v){return v[i]}(v);if(R&&"string"==typeof R.type){if(null==R.cancelFn||R.data&&R.data.aborted)return;R.zone.cancelTask(R)}else if(!0===n.current[Z])return Y.apply(v,M)})}(e);const i=x("xhrTask"),r=x("xhrSync"),c=x("xhrListener"),u=x("xhrScheduled"),f=x("xhrURL"),p=x("xhrErrorBeforeScheduled")}),Zone.__load_patch("geolocation",e=>{e.navigator&&e.navigator.geolocation&&function dt(e,n){const i=e.constructor.name;for(let r=0;r{const g=function(){return p.apply(this,Ae(arguments,i+"."+c))};return ae(g,p),g})(u)}}}(e.navigator.geolocation,["getCurrentPosition","watchPosition"])}),Zone.__load_patch("PromiseRejectionEvent",(e,n)=>{function i(r){return function(c){Qe(e,r).forEach(f=>{const p=e.PromiseRejectionEvent;if(p){const g=new p(r,{promise:c.promise,reason:c.rejection});f.invoke(g)}})}}e.PromiseRejectionEvent&&(n[x("unhandledPromiseRejectionHandler")]=i("unhandledrejection"),n[x("rejectionHandledHandler")]=i("rejectionhandled"))})}},Se=>{Se(Se.s=88583)}]);(self.webpackChunkcontenttype_fields_builder=self.webpackChunkcontenttype_fields_builder||[]).push([[179],{44579:(mi,rs,In)=>{"use strict";function rt(n){return"function"==typeof n}let qt=!1;const Le={Promise:void 0,set useDeprecatedSynchronousErrorHandling(n){if(n){const t=new Error;console.warn("DEPRECATED! RxJS was set to use deprecated synchronous error handling behavior by code at: \n"+t.stack)}else qt&&console.log("RxJS: Back to a better error behavior. Thank you. <3");qt=n},get useDeprecatedSynchronousErrorHandling(){return qt}};function bt(n){setTimeout(()=>{throw n},0)}const Kn={closed:!0,next(n){},error(n){if(Le.useDeprecatedSynchronousErrorHandling)throw n;bt(n)},complete(){}},Kt=Array.isArray||(n=>n&&"number"==typeof n.length);function Tl(n){return null!==n&&"object"==typeof n}const os=(()=>{function n(t){return Error.call(this),this.message=t?`${t.length} errors occurred during unsubscription:\n${t.map((e,i)=>`${i+1}) ${e.toString()}`).join("\n ")}`:"",this.name="UnsubscriptionError",this.errors=t,this}return n.prototype=Object.create(Error.prototype),n})();class _e{constructor(t){this.closed=!1,this._parentOrParents=null,this._subscriptions=null,t&&(this._ctorUnsubscribe=!0,this._unsubscribe=t)}unsubscribe(){let t;if(this.closed)return;let{_parentOrParents:e,_ctorUnsubscribe:i,_unsubscribe:r,_subscriptions:o}=this;if(this.closed=!0,this._parentOrParents=null,this._subscriptions=null,e instanceof _e)e.remove(this);else if(null!==e)for(let s=0;st.concat(e instanceof os?e.errors:e),[])}_e.EMPTY=((n=new _e).closed=!0,n);const ss="function"==typeof Symbol?Symbol("rxSubscriber"):"@@rxSubscriber_"+Math.random();class Se extends _e{constructor(t,e,i){switch(super(),this.syncErrorValue=null,this.syncErrorThrown=!1,this.syncErrorThrowable=!1,this.isStopped=!1,arguments.length){case 0:this.destination=Kn;break;case 1:if(!t){this.destination=Kn;break}if("object"==typeof t){t instanceof Se?(this.syncErrorThrowable=t.syncErrorThrowable,this.destination=t,t.add(this)):(this.syncErrorThrowable=!0,this.destination=new Gf(this,t));break}default:this.syncErrorThrowable=!0,this.destination=new Gf(this,t,e,i)}}[ss](){return this}static create(t,e,i){const r=new Se(t,e,i);return r.syncErrorThrowable=!1,r}next(t){this.isStopped||this._next(t)}error(t){this.isStopped||(this.isStopped=!0,this._error(t))}complete(){this.isStopped||(this.isStopped=!0,this._complete())}unsubscribe(){this.closed||(this.isStopped=!0,super.unsubscribe())}_next(t){this.destination.next(t)}_error(t){this.destination.error(t),this.unsubscribe()}_complete(){this.destination.complete(),this.unsubscribe()}_unsubscribeAndRecycle(){const{_parentOrParents:t}=this;return this._parentOrParents=null,this.unsubscribe(),this.closed=!1,this.isStopped=!1,this._parentOrParents=t,this}}class Gf extends Se{constructor(t,e,i,r){super(),this._parentSubscriber=t;let o,s=this;rt(e)?o=e:e&&(o=e.next,i=e.error,r=e.complete,e!==Kn&&(s=Object.create(e),rt(s.unsubscribe)&&this.add(s.unsubscribe.bind(s)),s.unsubscribe=this.unsubscribe.bind(this))),this._context=s,this._next=o,this._error=i,this._complete=r}next(t){if(!this.isStopped&&this._next){const{_parentSubscriber:e}=this;Le.useDeprecatedSynchronousErrorHandling&&e.syncErrorThrowable?this.__tryOrSetError(e,this._next,t)&&this.unsubscribe():this.__tryOrUnsub(this._next,t)}}error(t){if(!this.isStopped){const{_parentSubscriber:e}=this,{useDeprecatedSynchronousErrorHandling:i}=Le;if(this._error)i&&e.syncErrorThrowable?(this.__tryOrSetError(e,this._error,t),this.unsubscribe()):(this.__tryOrUnsub(this._error,t),this.unsubscribe());else if(e.syncErrorThrowable)i?(e.syncErrorValue=t,e.syncErrorThrown=!0):bt(t),this.unsubscribe();else{if(this.unsubscribe(),i)throw t;bt(t)}}}complete(){if(!this.isStopped){const{_parentSubscriber:t}=this;if(this._complete){const e=()=>this._complete.call(this._context);Le.useDeprecatedSynchronousErrorHandling&&t.syncErrorThrowable?(this.__tryOrSetError(t,e),this.unsubscribe()):(this.__tryOrUnsub(e),this.unsubscribe())}else this.unsubscribe()}}__tryOrUnsub(t,e){try{t.call(this._context,e)}catch(i){if(this.unsubscribe(),Le.useDeprecatedSynchronousErrorHandling)throw i;bt(i)}}__tryOrSetError(t,e,i){if(!Le.useDeprecatedSynchronousErrorHandling)throw new Error("bad call");try{e.call(this._context,i)}catch(r){return Le.useDeprecatedSynchronousErrorHandling?(t.syncErrorValue=r,t.syncErrorThrown=!0,!0):(bt(r),!0)}return!1}_unsubscribe(){const{_parentSubscriber:t}=this;this._context=null,this._parentSubscriber=null,t.unsubscribe()}}const $r="function"==typeof Symbol&&Symbol.observable||"@@observable";function qf(n){return n}let ve=(()=>{class n{constructor(e){this._isScalar=!1,e&&(this._subscribe=e)}lift(e){const i=new n;return i.source=this,i.operator=e,i}subscribe(e,i,r){const{operator:o}=this,s=function OE(n,t,e){if(n){if(n instanceof Se)return n;if(n[ss])return n[ss]()}return n||t||e?new Se(n,t,e):new Se(Kn)}(e,i,r);if(s.add(o?o.call(s,this.source):this.source||Le.useDeprecatedSynchronousErrorHandling&&!s.syncErrorThrowable?this._subscribe(s):this._trySubscribe(s)),Le.useDeprecatedSynchronousErrorHandling&&s.syncErrorThrowable&&(s.syncErrorThrowable=!1,s.syncErrorThrown))throw s.syncErrorValue;return s}_trySubscribe(e){try{return this._subscribe(e)}catch(i){Le.useDeprecatedSynchronousErrorHandling&&(e.syncErrorThrown=!0,e.syncErrorValue=i),function PE(n){for(;n;){const{closed:t,destination:e,isStopped:i}=n;if(t||i)return!1;n=e&&e instanceof Se?e:null}return!0}(e)?e.error(i):console.warn(i)}}forEach(e,i){return new(i=Qf(i))((r,o)=>{let s;s=this.subscribe(a=>{try{e(a)}catch(l){o(l),s&&s.unsubscribe()}},o,r)})}_subscribe(e){const{source:i}=this;return i&&i.subscribe(e)}[$r](){return this}pipe(...e){return 0===e.length?this:function Kf(n){return 0===n.length?qf:1===n.length?n[0]:function(e){return n.reduce((i,r)=>r(i),e)}}(e)(this)}toPromise(e){return new(e=Qf(e))((i,r)=>{let o;this.subscribe(s=>o=s,s=>r(s),()=>i(o))})}}return n.create=t=>new n(t),n})();function Qf(n){if(n||(n=Le.Promise||Promise),!n)throw new Error("no Promise impl found");return n}const gi=(()=>{function n(){return Error.call(this),this.message="object unsubscribed",this.name="ObjectUnsubscribedError",this}return n.prototype=Object.create(Error.prototype),n})();class Yf extends _e{constructor(t,e){super(),this.subject=t,this.subscriber=e,this.closed=!1}unsubscribe(){if(this.closed)return;this.closed=!0;const t=this.subject,e=t.observers;if(this.subject=null,!e||0===e.length||t.isStopped||t.closed)return;const i=e.indexOf(this.subscriber);-1!==i&&e.splice(i,1)}}class Zf extends Se{constructor(t){super(t),this.destination=t}}let Tn=(()=>{class n extends ve{constructor(){super(),this.observers=[],this.closed=!1,this.isStopped=!1,this.hasError=!1,this.thrownError=null}[ss](){return new Zf(this)}lift(e){const i=new Xf(this,this);return i.operator=e,i}next(e){if(this.closed)throw new gi;if(!this.isStopped){const{observers:i}=this,r=i.length,o=i.slice();for(let s=0;snew Xf(t,e),n})();class Xf extends Tn{constructor(t,e){super(),this.destination=t,this.source=e}next(t){const{destination:e}=this;e&&e.next&&e.next(t)}error(t){const{destination:e}=this;e&&e.error&&this.destination.error(t)}complete(){const{destination:t}=this;t&&t.complete&&this.destination.complete()}_subscribe(t){const{source:e}=this;return e?this.source.subscribe(t):_e.EMPTY}}function Ml(n){return n&&"function"==typeof n.schedule}function mt(n,t){return function(i){if("function"!=typeof n)throw new TypeError("argument is not a function. Are you looking for `mapTo()`?");return i.lift(new NE(n,t))}}class NE{constructor(t,e){this.project=t,this.thisArg=e}call(t,e){return e.subscribe(new RE(t,this.project,this.thisArg))}}class RE extends Se{constructor(t,e,i){super(t),this.project=e,this.count=0,this.thisArg=i||this}_next(t){let e;try{e=this.project.call(this.thisArg,t,this.count++)}catch(i){return void this.destination.error(i)}this.destination.next(e)}}const Jf=n=>t=>{for(let e=0,i=n.length;en&&"number"==typeof n.length&&"function"!=typeof n;function th(n){return!!n&&"function"!=typeof n.subscribe&&"function"==typeof n.then}const Al=n=>{if(n&&"function"==typeof n[$r])return(n=>t=>{const e=n[$r]();if("function"!=typeof e.subscribe)throw new TypeError("Provided object does not correctly implement Symbol.observable");return e.subscribe(t)})(n);if(eh(n))return Jf(n);if(th(n))return(n=>t=>(n.then(e=>{t.closed||(t.next(e),t.complete())},e=>t.error(e)).then(null,bt),t))(n);if(n&&"function"==typeof n[as])return(n=>t=>{const e=n[as]();for(;;){let i;try{i=e.next()}catch(r){return t.error(r),t}if(i.done){t.complete();break}if(t.next(i.value),t.closed)break}return"function"==typeof e.return&&t.add(()=>{e.return&&e.return()}),t})(n);{const e=`You provided ${Tl(n)?"an invalid object":`'${n}'`} where a stream was expected. You can provide an Observable, Promise, Array, or Iterable.`;throw new TypeError(e)}};function xl(n,t){return new ve(e=>{const i=new _e;let r=0;return i.add(t.schedule(function(){r!==n.length?(e.next(n[r++]),e.closed||i.add(this.schedule())):e.complete()})),i})}function nh(n,t){if(null!=n){if(function UE(n){return n&&"function"==typeof n[$r]}(n))return function VE(n,t){return new ve(e=>{const i=new _e;return i.add(t.schedule(()=>{const r=n[$r]();i.add(r.subscribe({next(o){i.add(t.schedule(()=>e.next(o)))},error(o){i.add(t.schedule(()=>e.error(o)))},complete(){i.add(t.schedule(()=>e.complete()))}}))})),i})}(n,t);if(th(n))return function BE(n,t){return new ve(e=>{const i=new _e;return i.add(t.schedule(()=>n.then(r=>{i.add(t.schedule(()=>{e.next(r),i.add(t.schedule(()=>e.complete()))}))},r=>{i.add(t.schedule(()=>e.error(r)))}))),i})}(n,t);if(eh(n))return xl(n,t);if(function $E(n){return n&&"function"==typeof n[as]}(n)||"string"==typeof n)return function HE(n,t){if(!n)throw new Error("Iterable cannot be null");return new ve(e=>{const i=new _e;let r;return i.add(()=>{r&&"function"==typeof r.return&&r.return()}),i.add(t.schedule(()=>{r=n[as](),i.add(t.schedule(function(){if(e.closed)return;let o,s;try{const a=r.next();o=a.value,s=a.done}catch(a){return void e.error(a)}s?e.complete():(e.next(o),this.schedule())}))})),i})}(n,t)}throw new TypeError((null!==n&&typeof n||n)+" is not observable")}function yi(n,t){return t?nh(n,t):n instanceof ve?n:new ve(Al(n))}class ls extends Se{constructor(t){super(),this.parent=t}_next(t){this.parent.notifyNext(t)}_error(t){this.parent.notifyError(t),this.unsubscribe()}_complete(){this.parent.notifyComplete(),this.unsubscribe()}}class cs extends Se{notifyNext(t){this.destination.next(t)}notifyError(t){this.destination.error(t)}notifyComplete(){this.destination.complete()}}function us(n,t){if(t.closed)return;if(n instanceof ve)return n.subscribe(t);let e;try{e=Al(n)(t)}catch(i){t.error(i)}return e}function Pl(n,t,e=Number.POSITIVE_INFINITY){return"function"==typeof t?i=>i.pipe(Pl((r,o)=>yi(n(r,o)).pipe(mt((s,a)=>t(r,s,o,a))),e)):("number"==typeof t&&(e=t),i=>i.lift(new zE(n,e)))}class zE{constructor(t,e=Number.POSITIVE_INFINITY){this.project=t,this.concurrent=e}call(t,e){return e.subscribe(new WE(t,this.project,this.concurrent))}}class WE extends cs{constructor(t,e,i=Number.POSITIVE_INFINITY){super(t),this.project=e,this.concurrent=i,this.hasCompleted=!1,this.buffer=[],this.active=0,this.index=0}_next(t){this.active0?this._next(t.shift()):0===this.active&&this.hasCompleted&&this.destination.complete()}}function Ol(n,t){return t?xl(n,t):new ve(Jf(n))}function ih(...n){let t=Number.POSITIVE_INFINITY,e=null,i=n[n.length-1];return Ml(i)?(e=n.pop(),n.length>1&&"number"==typeof n[n.length-1]&&(t=n.pop())):"number"==typeof i&&(t=n.pop()),null===e&&1===n.length&&n[0]instanceof ve?n[0]:function GE(n=Number.POSITIVE_INFINITY){return Pl(qf,n)}(t)(Ol(n,e))}function rh(){return function(t){return t.lift(new qE(t))}}class qE{constructor(t){this.connectable=t}call(t,e){const{connectable:i}=this;i._refCount++;const r=new KE(t,i),o=e.subscribe(r);return r.closed||(r.connection=i.connect()),o}}class KE extends Se{constructor(t,e){super(t),this.connectable=e}_unsubscribe(){const{connectable:t}=this;if(!t)return void(this.connection=null);this.connectable=null;const e=t._refCount;if(e<=0)return void(this.connection=null);if(t._refCount=e-1,e>1)return void(this.connection=null);const{connection:i}=this,r=t._connection;this.connection=null,r&&(!i||r===i)&&r.unsubscribe()}}class QE extends ve{constructor(t,e){super(),this.source=t,this.subjectFactory=e,this._refCount=0,this._isComplete=!1}_subscribe(t){return this.getSubject().subscribe(t)}getSubject(){const t=this._subject;return(!t||t.isStopped)&&(this._subject=this.subjectFactory()),this._subject}connect(){let t=this._connection;return t||(this._isComplete=!1,t=this._connection=new _e,t.add(this.source.subscribe(new ZE(this.getSubject(),this))),t.closed&&(this._connection=null,t=_e.EMPTY)),t}refCount(){return rh()(this)}}const YE=(()=>{const n=QE.prototype;return{operator:{value:null},_refCount:{value:0,writable:!0},_subject:{value:null,writable:!0},_connection:{value:null,writable:!0},_subscribe:{value:n._subscribe},_isComplete:{value:n._isComplete,writable:!0},getSubject:{value:n.getSubject},connect:{value:n.connect},refCount:{value:n.refCount}}})();class ZE extends Zf{constructor(t,e){super(t),this.connectable=e}_error(t){this._unsubscribe(),super._error(t)}_complete(){this.connectable._isComplete=!0,this._unsubscribe(),super._complete()}_unsubscribe(){const t=this.connectable;if(t){this.connectable=null;const e=t._connection;t._refCount=0,t._subject=null,t._connection=null,e&&e.unsubscribe()}}}class eS{constructor(t,e){this.subjectFactory=t,this.selector=e}call(t,e){const{selector:i}=this,r=this.subjectFactory(),o=i(r).subscribe(t);return o.add(e.subscribe(r)),o}}function tS(){return new Tn}function ue(n){for(let t in n)if(n[t]===ue)return t;throw Error("Could not find renamed property on target object.")}function Nl(n,t){for(const e in t)t.hasOwnProperty(e)&&!n.hasOwnProperty(e)&&(n[e]=t[e])}function fe(n){if("string"==typeof n)return n;if(Array.isArray(n))return"["+n.map(fe).join(", ")+"]";if(null==n)return""+n;if(n.overriddenName)return`${n.overriddenName}`;if(n.name)return`${n.name}`;const t=n.toString();if(null==t)return""+t;const e=t.indexOf("\n");return-1===e?t:t.substring(0,e)}function Rl(n,t){return null==n||""===n?null===t?"":t:null==t||""===t?n:n+" "+t}const iS=ue({__forward_ref__:ue});function ce(n){return n.__forward_ref__=ce,n.toString=function(){return fe(this())},n}function N(n){return Fl(n)?n():n}function Fl(n){return"function"==typeof n&&n.hasOwnProperty(iS)&&n.__forward_ref__===ce}function Ll(n){return n&&!!n.\u0275providers}const oh="https://g.co/ng/security#xss";class D extends Error{constructor(t,e){super(function ds(n,t){return`NG0${Math.abs(n)}${t?": "+t.trim():""}`}(t,e)),this.code=t}}function B(n){return"string"==typeof n?n:null==n?"":String(n)}function fs(n,t){throw new D(-201,!1)}function Nt(n,t){null==n&&function oe(n,t,e,i){throw new Error(`ASSERTION ERROR: ${n}`+(null==i?"":` [Expected=> ${e} ${i} ${t} <=Actual]`))}(t,n,null,"!=")}function $(n){return{token:n.token,providedIn:n.providedIn||null,factory:n.factory,value:void 0}}function xe(n){return{providers:n.providers||[],imports:n.imports||[]}}function hs(n){return sh(n,ps)||sh(n,lh)}function sh(n,t){return n.hasOwnProperty(t)?n[t]:null}function ah(n){return n&&(n.hasOwnProperty(kl)||n.hasOwnProperty(dS))?n[kl]:null}const ps=ue({\u0275prov:ue}),kl=ue({\u0275inj:ue}),lh=ue({ngInjectableDef:ue}),dS=ue({ngInjectorDef:ue});var V=(()=>((V=V||{})[V.Default=0]="Default",V[V.Host=1]="Host",V[V.Self=2]="Self",V[V.SkipSelf=4]="SkipSelf",V[V.Optional=8]="Optional",V))();let jl;function Rt(n){const t=jl;return jl=n,t}function ch(n,t,e){const i=hs(n);return i&&"root"==i.providedIn?void 0===i.value?i.value=i.factory():i.value:e&V.Optional?null:void 0!==t?t:void fs(fe(n))}const he=(()=>typeof globalThis<"u"&&globalThis||typeof global<"u"&&global||typeof window<"u"&&window||typeof self<"u"&&typeof WorkerGlobalScope<"u"&&self instanceof WorkerGlobalScope&&self)(),zr={},Vl="__NG_DI_FLAG__",ms="ngTempTokenPath",pS=/\n/gm,uh="__source";let Wr;function qi(n){const t=Wr;return Wr=n,t}function gS(n,t=V.Default){if(void 0===Wr)throw new D(-203,!1);return null===Wr?ch(n,void 0,t):Wr.get(n,t&V.Optional?null:void 0,t)}function A(n,t=V.Default){return(function fS(){return jl}()||gS)(N(n),t)}function Yn(n,t=V.Default){return A(n,gs(t))}function gs(n){return typeof n>"u"||"number"==typeof n?n:0|(n.optional&&8)|(n.host&&1)|(n.self&&2)|(n.skipSelf&&4)}function Bl(n){const t=[];for(let e=0;e((Qt=Qt||{})[Qt.OnPush=0]="OnPush",Qt[Qt.Default=1]="Default",Qt))(),Yt=(()=>(function(n){n[n.Emulated=0]="Emulated",n[n.None=2]="None",n[n.ShadowDom=3]="ShadowDom"}(Yt||(Yt={})),Yt))();const Mn={},ie=[],ys=ue({\u0275cmp:ue}),Hl=ue({\u0275dir:ue}),Ul=ue({\u0275pipe:ue}),fh=ue({\u0275mod:ue}),An=ue({\u0275fac:ue}),qr=ue({__NG_ELEMENT_ID__:ue});let bS=0;function gt(n){return Zn(()=>{const e=!0===n.standalone,i={},r={type:n.type,providersResolver:null,decls:n.decls,vars:n.vars,factory:null,template:n.template||null,consts:n.consts||null,ngContentSelectors:n.ngContentSelectors,hostBindings:n.hostBindings||null,hostVars:n.hostVars||0,hostAttrs:n.hostAttrs||null,contentQueries:n.contentQueries||null,declaredInputs:i,inputs:null,outputs:null,exportAs:n.exportAs||null,onPush:n.changeDetection===Qt.OnPush,directiveDefs:null,pipeDefs:null,standalone:e,dependencies:e&&n.dependencies||null,getStandaloneInjector:null,selectors:n.selectors||ie,viewQuery:n.viewQuery||null,features:n.features||null,data:n.data||{},encapsulation:n.encapsulation||Yt.Emulated,id:"c"+bS++,styles:n.styles||ie,_:null,setInput:null,schemas:n.schemas||null,tView:null,findHostDirectiveDefs:null,hostDirectives:null},o=n.dependencies,s=n.features;return r.inputs=mh(n.inputs,i),r.outputs=mh(n.outputs),s&&s.forEach(a=>a(r)),r.directiveDefs=o?()=>("function"==typeof o?o():o).map(hh).filter(ph):null,r.pipeDefs=o?()=>("function"==typeof o?o():o).map(st).filter(ph):null,r})}function hh(n){return se(n)||qe(n)}function ph(n){return null!==n}function ke(n){return Zn(()=>({type:n.type,bootstrap:n.bootstrap||ie,declarations:n.declarations||ie,imports:n.imports||ie,exports:n.exports||ie,transitiveCompileScopes:null,schemas:n.schemas||null,id:n.id||null}))}function mh(n,t){if(null==n)return Mn;const e={};for(const i in n)if(n.hasOwnProperty(i)){let r=n[i],o=r;Array.isArray(r)&&(o=r[1],r=r[0]),e[r]=i,t&&(t[r]=o)}return e}const k=gt;function ot(n){return{type:n.type,name:n.name,factory:null,pure:!1!==n.pure,standalone:!0===n.standalone,onDestroy:n.type.prototype.ngOnDestroy||null}}function se(n){return n[ys]||null}function qe(n){return n[Hl]||null}function st(n){return n[Ul]||null}const q=11;function St(n){return Array.isArray(n)&&"object"==typeof n[1]}function Xt(n){return Array.isArray(n)&&!0===n[1]}function Wl(n){return 0!=(4&n.flags)}function Xr(n){return n.componentOffset>-1}function Es(n){return 1==(1&n.flags)}function Jt(n){return null!==n.template}function SS(n){return 0!=(256&n[2])}function vi(n,t){return n.hasOwnProperty(An)?n[An]:null}class Dh{constructor(t,e,i){this.previousValue=t,this.currentValue=e,this.firstChange=i}isFirstChange(){return this.firstChange}}function hn(){return Eh}function Eh(n){return n.type.prototype.ngOnChanges&&(n.setInput=TS),IS}function IS(){const n=Ch(this),t=n?.current;if(t){const e=n.previous;if(e===Mn)n.previous=t;else for(let i in t)e[i]=t[i];n.current=null,this.ngOnChanges(t)}}function TS(n,t,e,i){const r=this.declaredInputs[e],o=Ch(n)||function MS(n,t){return n[Sh]=t}(n,{previous:Mn,current:null}),s=o.current||(o.current={}),a=o.previous,l=a[r];s[r]=new Dh(l&&l.currentValue,t,a===Mn),n[i]=t}hn.ngInherit=!0;const Sh="__ngSimpleChanges__";function Ch(n){return n[Sh]||null}function $e(n){for(;Array.isArray(n);)n=n[0];return n}function Ss(n,t){return $e(t[n])}function Ct(n,t){return $e(t[n.index])}function Th(n,t){return n.data[t]}function Xi(n,t){return n[t]}function wt(n,t){const e=t[n];return St(e)?e:e[0]}function Cs(n){return 64==(64&n[2])}function Xn(n,t){return null==t?null:n[t]}function Mh(n){n[18]=0}function ql(n,t){n[5]+=t;let e=n,i=n[3];for(;null!==i&&(1===t&&1===e[5]||-1===t&&0===e[5]);)i[5]+=t,e=i,i=i[3]}const H={lFrame:jh(null),bindingsEnabled:!0};function xh(){return H.bindingsEnabled}function v(){return H.lFrame.lView}function X(){return H.lFrame.tView}function pe(n){return H.lFrame.contextLView=n,n[8]}function me(n){return H.lFrame.contextLView=null,n}function ze(){let n=Ph();for(;null!==n&&64===n.type;)n=n.parent;return n}function Ph(){return H.lFrame.currentTNode}function pn(n,t){const e=H.lFrame;e.currentTNode=n,e.isParent=t}function Kl(){return H.lFrame.isParent}function Ql(){H.lFrame.isParent=!1}function lt(){const n=H.lFrame;let t=n.bindingRootIndex;return-1===t&&(t=n.bindingRootIndex=n.tView.bindingStartIndex),t}function Ji(){return H.lFrame.bindingIndex++}function On(n){const t=H.lFrame,e=t.bindingIndex;return t.bindingIndex=t.bindingIndex+n,e}function HS(n,t){const e=H.lFrame;e.bindingIndex=e.bindingRootIndex=n,Yl(t)}function Yl(n){H.lFrame.currentDirectiveIndex=n}function Fh(){return H.lFrame.currentQueryIndex}function Xl(n){H.lFrame.currentQueryIndex=n}function $S(n){const t=n[1];return 2===t.type?t.declTNode:1===t.type?n[6]:null}function Lh(n,t,e){if(e&V.SkipSelf){let r=t,o=n;for(;!(r=r.parent,null!==r||e&V.Host||(r=$S(o),null===r||(o=o[15],10&r.type))););if(null===r)return!1;t=r,n=o}const i=H.lFrame=kh();return i.currentTNode=t,i.lView=n,!0}function Jl(n){const t=kh(),e=n[1];H.lFrame=t,t.currentTNode=e.firstChild,t.lView=n,t.tView=e,t.contextLView=n,t.bindingIndex=e.bindingStartIndex,t.inI18n=!1}function kh(){const n=H.lFrame,t=null===n?null:n.child;return null===t?jh(n):t}function jh(n){const t={currentTNode:null,isParent:!0,lView:null,tView:null,selectedIndex:-1,contextLView:null,elementDepthCount:0,currentNamespace:null,currentDirectiveIndex:-1,bindingRootIndex:-1,bindingIndex:-1,currentQueryIndex:0,parent:n,child:null,inI18n:!1};return null!==n&&(n.child=t),t}function Vh(){const n=H.lFrame;return H.lFrame=n.parent,n.currentTNode=null,n.lView=null,n}const Bh=Vh;function ec(){const n=Vh();n.isParent=!0,n.tView=null,n.selectedIndex=-1,n.contextLView=null,n.elementDepthCount=0,n.currentDirectiveIndex=-1,n.currentNamespace=null,n.bindingRootIndex=-1,n.bindingIndex=-1,n.currentQueryIndex=0}function ct(){return H.lFrame.selectedIndex}function bi(n){H.lFrame.selectedIndex=n}function be(){const n=H.lFrame;return Th(n.tView,n.selectedIndex)}function ws(n,t){for(let e=t.directiveStart,i=t.directiveEnd;e=i)break}else t[l]<0&&(n[18]+=65536),(a>11>16&&(3&n[2])===t){n[2]+=2048;try{o.call(a)}finally{}}}else try{o.call(a)}finally{}}class eo{constructor(t,e,i){this.factory=t,this.resolving=!1,this.canSeeViewProviders=e,this.injectImpl=i}}function ic(n,t,e){let i=0;for(;it){s=o-1;break}}}for(;o>16}(n),i=t;for(;e>0;)i=i[15],e--;return i}let rc=!0;function xs(n){const t=rc;return rc=n,t}let iC=0;const mn={};function Ps(n,t){const e=Kh(n,t);if(-1!==e)return e;const i=t[1];i.firstCreatePass&&(n.injectorIndex=t.length,oc(i.data,n),oc(t,null),oc(i.blueprint,null));const r=sc(n,t),o=n.injectorIndex;if(Wh(r)){const s=Ms(r),a=As(r,t),l=a[1].data;for(let c=0;c<8;c++)t[o+c]=a[s+c]|l[s+c]}return t[o+8]=r,o}function oc(n,t){n.push(0,0,0,0,0,0,0,0,t)}function Kh(n,t){return-1===n.injectorIndex||n.parent&&n.parent.injectorIndex===n.injectorIndex||null===t[n.injectorIndex+8]?-1:n.injectorIndex}function sc(n,t){if(n.parent&&-1!==n.parent.injectorIndex)return n.parent.injectorIndex;let e=0,i=null,r=t;for(;null!==r;){if(i=tp(r),null===i)return-1;if(e++,r=r[15],-1!==i.injectorIndex)return i.injectorIndex|e<<16}return-1}function ac(n,t,e){!function rC(n,t,e){let i;"string"==typeof e?i=e.charCodeAt(0)||0:e.hasOwnProperty(qr)&&(i=e[qr]),null==i&&(i=e[qr]=iC++);const r=255&i;t.data[n+(r>>5)]|=1<=0?255&t:lC:t}(e);if("function"==typeof o){if(!Lh(t,n,i))return i&V.Host?Qh(r,0,i):Yh(t,e,i,r);try{const s=o(i);if(null!=s||i&V.Optional)return s;fs()}finally{Bh()}}else if("number"==typeof o){let s=null,a=Kh(n,t),l=-1,c=i&V.Host?t[16][6]:null;for((-1===a||i&V.SkipSelf)&&(l=-1===a?sc(n,t):t[a+8],-1!==l&&ep(i,!1)?(s=t[1],a=Ms(l),t=As(l,t)):a=-1);-1!==a;){const u=t[1];if(Jh(o,a,u.data)){const d=sC(a,t,e,s,i,c);if(d!==mn)return d}l=t[a+8],-1!==l&&ep(i,t[1].data[a+8]===c)&&Jh(o,a,t)?(s=u,a=Ms(l),t=As(l,t)):a=-1}}return r}function sC(n,t,e,i,r,o){const s=t[1],a=s.data[n+8],u=Os(a,s,e,null==i?Xr(a)&&rc:i!=s&&0!=(3&a.type),r&V.Host&&o===a);return null!==u?Di(t,s,u,a):mn}function Os(n,t,e,i,r){const o=n.providerIndexes,s=t.data,a=1048575&o,l=n.directiveStart,u=o>>20,f=r?a+u:n.directiveEnd;for(let h=i?a:a+u;h=l&&p.type===e)return h}if(r){const h=s[l];if(h&&Jt(h)&&h.type===e)return l}return null}function Di(n,t,e,i){let r=n[e];const o=t.data;if(function JS(n){return n instanceof eo}(r)){const s=r;s.resolving&&function rS(n,t){const e=t?`. Dependency path: ${t.join(" > ")} > ${n}`:"";throw new D(-200,`Circular dependency in DI detected for ${n}${e}`)}(function re(n){return"function"==typeof n?n.name||n.toString():"object"==typeof n&&null!=n&&"function"==typeof n.type?n.type.name||n.type.toString():B(n)}(o[e]));const a=xs(s.canSeeViewProviders);s.resolving=!0;const l=s.injectImpl?Rt(s.injectImpl):null;Lh(n,i,V.Default);try{r=n[e]=s.factory(void 0,o,n,i),t.firstCreatePass&&e>=i.directiveStart&&function ZS(n,t,e){const{ngOnChanges:i,ngOnInit:r,ngDoCheck:o}=t.type.prototype;if(i){const s=Eh(t);(e.preOrderHooks||(e.preOrderHooks=[])).push(n,s),(e.preOrderCheckHooks||(e.preOrderCheckHooks=[])).push(n,s)}r&&(e.preOrderHooks||(e.preOrderHooks=[])).push(0-n,r),o&&((e.preOrderHooks||(e.preOrderHooks=[])).push(n,o),(e.preOrderCheckHooks||(e.preOrderCheckHooks=[])).push(n,o))}(e,o[e],t)}finally{null!==l&&Rt(l),xs(a),s.resolving=!1,Bh()}}return r}function Jh(n,t,e){return!!(e[t+(n>>5)]&1<{const t=lc(N(n));return t&&t()}:vi(n)}function tp(n){const t=n[1],e=t.type;return 2===e?t.declTNode:1===e?n[6]:null}const ir="__parameters__";function or(n,t,e){return Zn(()=>{const i=function uc(n){return function(...e){if(n){const i=n(...e);for(const r in i)this[r]=i[r]}}}(t);function r(...o){if(this instanceof r)return i.apply(this,o),this;const s=new r(...o);return a.annotation=s,a;function a(l,c,u){const d=l.hasOwnProperty(ir)?l[ir]:Object.defineProperty(l,ir,{value:[]})[ir];for(;d.length<=u;)d.push(null);return(d[u]=d[u]||[]).push(s),l}}return e&&(r.prototype=Object.create(e.prototype)),r.prototype.ngMetadataName=n,r.annotationCls=r,r})}class P{constructor(t,e){this._desc=t,this.ngMetadataName="InjectionToken",this.\u0275prov=void 0,"number"==typeof e?this.__NG_ELEMENT_ID__=e:void 0!==e&&(this.\u0275prov=$({token:this,providedIn:e.providedIn||"root",factory:e.factory}))}get multi(){return this}toString(){return`InjectionToken ${this._desc}`}}function Ei(n,t){n.forEach(e=>Array.isArray(e)?Ei(e,t):t(e))}function ip(n,t,e){t>=n.length?n.push(e):n.splice(t,0,e)}function Ns(n,t){return t>=n.length-1?n.pop():n.splice(t,1)[0]}function ro(n,t){const e=[];for(let i=0;i=0?n[1|i]=e:(i=~i,function hC(n,t,e,i){let r=n.length;if(r==t)n.push(e,i);else if(1===r)n.push(i,n[0]),n[0]=e;else{for(r--,n.push(n[r-1],n[r]);r>t;)n[r]=n[r-2],r--;n[t]=e,n[t+1]=i}}(n,i,t,e)),i}function fc(n,t){const e=sr(n,t);if(e>=0)return n[1|e]}function sr(n,t){return function rp(n,t,e){let i=0,r=n.length>>e;for(;r!==i;){const o=i+(r-i>>1),s=n[o<t?r=o:i=o+1}return~(r<({token:n})),-1),Ls=Gr(or("Optional"),8),ks=Gr(or("SkipSelf"),4);var yt=(()=>((yt=yt||{})[yt.Important=1]="Important",yt[yt.DashCase=2]="DashCase",yt))();const yc=new Map;let FC=0;const vc="__ngContext__";function Ze(n,t){St(t)?(n[vc]=t[20],function kC(n){yc.set(n[20],n)}(t)):n[vc]=t}function Dc(n,t){return undefined(n,t)}function lo(n){const t=n[3];return Xt(t)?t[3]:t}function Ec(n){return Cp(n[13])}function Sc(n){return Cp(n[4])}function Cp(n){for(;null!==n&&!Xt(n);)n=n[4];return n}function lr(n,t,e,i,r){if(null!=i){let o,s=!1;Xt(i)?o=i:St(i)&&(s=!0,i=i[0]);const a=$e(i);0===n&&null!==e?null==r?xp(t,e,a):Si(t,e,a,r||null,!0):1===n&&null!==e?Si(t,e,a,r||null,!0):2===n?function xc(n,t,e){const i=Bs(n,t);i&&function iw(n,t,e,i){n.removeChild(t,e,i)}(n,i,t,e)}(t,a,s):3===n&&t.destroyNode(a),null!=o&&function sw(n,t,e,i,r){const o=e[7];o!==$e(e)&&lr(t,n,i,o,r);for(let a=10;a0&&(n[e-1][4]=i[4]);const o=Ns(n,10+t);!function QC(n,t){co(n,t,t[q],2,null,null),t[0]=null,t[6]=null}(i[1],i);const s=o[19];null!==s&&s.detachView(o[1]),i[3]=null,i[4]=null,i[2]&=-65}return i}function Tp(n,t){if(!(128&t[2])){const e=t[q];e.destroyNode&&co(n,t,e,3,null,null),function XC(n){let t=n[13];if(!t)return Tc(n[1],n);for(;t;){let e=null;if(St(t))e=t[13];else{const i=t[10];i&&(e=i)}if(!e){for(;t&&!t[4]&&t!==n;)St(t)&&Tc(t[1],t),t=t[3];null===t&&(t=n),St(t)&&Tc(t[1],t),e=t&&t[4]}t=e}}(t)}}function Tc(n,t){if(!(128&t[2])){t[2]&=-65,t[2]|=128,function nw(n,t){let e;if(null!=n&&null!=(e=n.destroyHooks))for(let i=0;i=0?i[r=s]():i[r=-s].unsubscribe(),o+=2}else{const s=i[r=e[o+1]];e[o].call(s)}if(null!==i){for(let o=r+1;o-1){const{encapsulation:o}=n.data[i.directiveStart+r];if(o===Yt.None||o===Yt.Emulated)return null}return Ct(i,e)}}(n,t.parent,e)}function Si(n,t,e,i,r){n.insertBefore(t,e,i,r)}function xp(n,t,e){n.appendChild(t,e)}function Pp(n,t,e,i,r){null!==i?Si(n,t,e,i,r):xp(n,t,e)}function Bs(n,t){return n.parentNode(t)}function Op(n,t,e){return Rp(n,t,e)}let $s,Nc,zs,Rp=function Np(n,t,e){return 40&n.type?Ct(n,e):null};function Hs(n,t,e,i){const r=Mp(n,i,t),o=t[q],a=Op(i.parent||t[6],i,t);if(null!=r)if(Array.isArray(e))for(let l=0;ln,createScript:n=>n,createScriptURL:n=>n})}catch{}return $s}()?.createHTML(n)||n}function Hp(n){return function Rc(){if(void 0===zs&&(zs=null,he.trustedTypes))try{zs=he.trustedTypes.createPolicy("angular#unsafe-bypass",{createHTML:n=>n,createScript:n=>n,createScriptURL:n=>n})}catch{}return zs}()?.createHTML(n)||n}class zp{constructor(t){this.changingThisBreaksApplicationSecurity=t}toString(){return`SafeValue must use [property]=binding: ${this.changingThisBreaksApplicationSecurity} (see ${oh})`}}function Jn(n){return n instanceof zp?n.changingThisBreaksApplicationSecurity:n}class vw{constructor(t){this.inertDocumentHelper=t}getInertBodyElement(t){t=""+t;try{const e=(new window.DOMParser).parseFromString(Ci(t),"text/html").body;return null===e?this.inertDocumentHelper.getInertBodyElement(t):(e.removeChild(e.firstChild),e)}catch{return null}}}class bw{constructor(t){if(this.defaultDoc=t,this.inertDocument=this.defaultDoc.implementation.createHTMLDocument("sanitization-inert"),null==this.inertDocument.body){const e=this.inertDocument.createElement("html");this.inertDocument.appendChild(e);const i=this.inertDocument.createElement("body");e.appendChild(i)}}getInertBodyElement(t){const e=this.inertDocument.createElement("template");if("content"in e)return e.innerHTML=Ci(t),e;const i=this.inertDocument.createElement("body");return i.innerHTML=Ci(t),this.defaultDoc.documentMode&&this.stripCustomNsAttrs(i),i}stripCustomNsAttrs(t){const e=t.attributes;for(let r=e.length-1;0"),!0}endElement(t){const e=t.nodeName.toLowerCase();Lc.hasOwnProperty(e)&&!Gp.hasOwnProperty(e)&&(this.buf.push(""))}chars(t){this.buf.push(Yp(t))}checkClobberedElement(t,e){if(e&&(t.compareDocumentPosition(e)&Node.DOCUMENT_POSITION_CONTAINED_BY)===Node.DOCUMENT_POSITION_CONTAINED_BY)throw new Error(`Failed to sanitize html because the element is clobbered: ${t.outerHTML}`);return e}}const ww=/[\uD800-\uDBFF][\uDC00-\uDFFF]/g,Iw=/([^\#-~ |!])/g;function Yp(n){return n.replace(/&/g,"&").replace(ww,function(t){return"&#"+(1024*(t.charCodeAt(0)-55296)+(t.charCodeAt(1)-56320)+65536)+";"}).replace(Iw,function(t){return"&#"+t.charCodeAt(0)+";"}).replace(//g,">")}let Ws;function jc(n){return"content"in n&&function Mw(n){return n.nodeType===Node.ELEMENT_NODE&&"TEMPLATE"===n.nodeName}(n)?n.content:null}var Pe=(()=>((Pe=Pe||{})[Pe.NONE=0]="NONE",Pe[Pe.HTML=1]="HTML",Pe[Pe.STYLE=2]="STYLE",Pe[Pe.SCRIPT=3]="SCRIPT",Pe[Pe.URL=4]="URL",Pe[Pe.RESOURCE_URL=5]="RESOURCE_URL",Pe))();function Zp(n){const t=function ho(){const n=v();return n&&n[12]}();return t?Hp(t.sanitize(Pe.HTML,n)||""):function uo(n,t){const e=function _w(n){return n instanceof zp&&n.getTypeName()||null}(n);if(null!=e&&e!==t){if("ResourceURL"===e&&"URL"===t)return!0;throw new Error(`Required a safe ${t}, got a ${e} (see ${oh})`)}return e===t}(n,"HTML")?Hp(Jn(n)):function Tw(n,t){let e=null;try{Ws=Ws||function Wp(n){const t=new bw(n);return function Dw(){try{return!!(new window.DOMParser).parseFromString(Ci(""),"text/html")}catch{return!1}}()?new vw(t):t}(n);let i=t?String(t):"";e=Ws.getInertBodyElement(i);let r=5,o=i;do{if(0===r)throw new Error("Failed to sanitize html because the input is unstable");r--,i=o,o=e.innerHTML,e=Ws.getInertBodyElement(i)}while(i!==o);return Ci((new Cw).sanitizeChildren(jc(e)||e))}finally{if(e){const i=jc(e)||e;for(;i.firstChild;)i.removeChild(i.firstChild)}}}(function Bp(){return void 0!==Nc?Nc:typeof document<"u"?document:void 0}(),B(n))}const em=new P("ENVIRONMENT_INITIALIZER"),tm=new P("INJECTOR",-1),nm=new P("INJECTOR_DEF_TYPES");class im{get(t,e=zr){if(e===zr){const i=new Error(`NullInjectorError: No provider for ${fe(t)}!`);throw i.name="NullInjectorError",i}return e}}function Lw(...n){return{\u0275providers:rm(0,n),\u0275fromNgModule:!0}}function rm(n,...t){const e=[],i=new Set;let r;return Ei(t,o=>{const s=o;Vc(s,e,[],i)&&(r||(r=[]),r.push(s))}),void 0!==r&&om(r,e),e}function om(n,t){for(let e=0;e{t.push(o)})}}function Vc(n,t,e,i){if(!(n=N(n)))return!1;let r=null,o=ah(n);const s=!o&&se(n);if(o||s){if(s&&!s.standalone)return!1;r=n}else{const l=n.ngModule;if(o=ah(l),!o)return!1;r=l}const a=i.has(r);if(s){if(a)return!1;if(i.add(r),s.dependencies){const l="function"==typeof s.dependencies?s.dependencies():s.dependencies;for(const c of l)Vc(c,t,e,i)}}else{if(!o)return!1;{if(null!=o.imports&&!a){let c;i.add(r);try{Ei(o.imports,u=>{Vc(u,t,e,i)&&(c||(c=[]),c.push(u))})}finally{}void 0!==c&&om(c,t)}if(!a){const c=vi(r)||(()=>new r);t.push({provide:r,useFactory:c,deps:ie},{provide:nm,useValue:r,multi:!0},{provide:em,useValue:()=>A(r),multi:!0})}const l=o.providers;null==l||a||Bc(l,u=>{t.push(u)})}}return r!==n&&void 0!==n.providers}function Bc(n,t){for(let e of n)Ll(e)&&(e=e.\u0275providers),Array.isArray(e)?Bc(e,t):t(e)}const kw=ue({provide:String,useValue:ue});function Hc(n){return null!==n&&"object"==typeof n&&kw in n}function wi(n){return"function"==typeof n}const Uc=new P("Set Injector scope."),Gs={},Vw={};let $c;function qs(){return void 0===$c&&($c=new im),$c}class Ii{}class lm extends Ii{get destroyed(){return this._destroyed}constructor(t,e,i,r){super(),this.parent=e,this.source=i,this.scopes=r,this.records=new Map,this._ngOnDestroyHooks=new Set,this._onDestroyHooks=[],this._destroyed=!1,Wc(t,s=>this.processProvider(s)),this.records.set(tm,cr(void 0,this)),r.has("environment")&&this.records.set(Ii,cr(void 0,this));const o=this.records.get(Uc);null!=o&&"string"==typeof o.value&&this.scopes.add(o.value),this.injectorDefTypes=new Set(this.get(nm.multi,ie,V.Self))}destroy(){this.assertNotDestroyed(),this._destroyed=!0;try{for(const t of this._ngOnDestroyHooks)t.ngOnDestroy();for(const t of this._onDestroyHooks)t()}finally{this.records.clear(),this._ngOnDestroyHooks.clear(),this.injectorDefTypes.clear(),this._onDestroyHooks.length=0}}onDestroy(t){this._onDestroyHooks.push(t)}runInContext(t){this.assertNotDestroyed();const e=qi(this),i=Rt(void 0);try{return t()}finally{qi(e),Rt(i)}}get(t,e=zr,i=V.Default){this.assertNotDestroyed(),i=gs(i);const r=qi(this),o=Rt(void 0);try{if(!(i&V.SkipSelf)){let a=this.records.get(t);if(void 0===a){const l=function zw(n){return"function"==typeof n||"object"==typeof n&&n instanceof P}(t)&&hs(t);a=l&&this.injectableDefInScope(l)?cr(zc(t),Gs):null,this.records.set(t,a)}if(null!=a)return this.hydrate(t,a)}return(i&V.Self?qs():this.parent).get(t,e=i&V.Optional&&e===zr?null:e)}catch(s){if("NullInjectorError"===s.name){if((s[ms]=s[ms]||[]).unshift(fe(t)),r)throw s;return function _S(n,t,e,i){const r=n[ms];throw t[uh]&&r.unshift(t[uh]),n.message=function vS(n,t,e,i=null){n=n&&"\n"===n.charAt(0)&&"\u0275"==n.charAt(1)?n.slice(2):n;let r=fe(t);if(Array.isArray(t))r=t.map(fe).join(" -> ");else if("object"==typeof t){let o=[];for(let s in t)if(t.hasOwnProperty(s)){let a=t[s];o.push(s+":"+("string"==typeof a?JSON.stringify(a):fe(a)))}r=`{${o.join(", ")}}`}return`${e}${i?"("+i+")":""}[${r}]: ${n.replace(pS,"\n ")}`}("\n"+n.message,r,e,i),n.ngTokenPath=r,n[ms]=null,n}(s,t,"R3InjectorError",this.source)}throw s}finally{Rt(o),qi(r)}}resolveInjectorInitializers(){const t=qi(this),e=Rt(void 0);try{const i=this.get(em.multi,ie,V.Self);for(const r of i)r()}finally{qi(t),Rt(e)}}toString(){const t=[],e=this.records;for(const i of e.keys())t.push(fe(i));return`R3Injector[${t.join(", ")}]`}assertNotDestroyed(){if(this._destroyed)throw new D(205,!1)}processProvider(t){let e=wi(t=N(t))?t:N(t&&t.provide);const i=function Hw(n){return Hc(n)?cr(void 0,n.useValue):cr(cm(n),Gs)}(t);if(wi(t)||!0!==t.multi)this.records.get(e);else{let r=this.records.get(e);r||(r=cr(void 0,Gs,!0),r.factory=()=>Bl(r.multi),this.records.set(e,r)),e=t,r.multi.push(t)}this.records.set(e,i)}hydrate(t,e){return e.value===Gs&&(e.value=Vw,e.value=e.factory()),"object"==typeof e.value&&e.value&&function $w(n){return null!==n&&"object"==typeof n&&"function"==typeof n.ngOnDestroy}(e.value)&&this._ngOnDestroyHooks.add(e.value),e.value}injectableDefInScope(t){if(!t.providedIn)return!1;const e=N(t.providedIn);return"string"==typeof e?"any"===e||this.scopes.has(e):this.injectorDefTypes.has(e)}}function zc(n){const t=hs(n),e=null!==t?t.factory:vi(n);if(null!==e)return e;if(n instanceof P)throw new D(204,!1);if(n instanceof Function)return function Bw(n){const t=n.length;if(t>0)throw ro(t,"?"),new D(204,!1);const e=function cS(n){const t=n&&(n[ps]||n[lh]);if(t){const e=function uS(n){if(n.hasOwnProperty("name"))return n.name;const t=(""+n).match(/^function\s*([^\s(]+)/);return null===t?"":t[1]}(n);return console.warn(`DEPRECATED: DI is instantiating a token "${e}" that inherits its @Injectable decorator but does not provide one itself.\nThis will become an error in a future version of Angular. Please add @Injectable() to the "${e}" class.`),t}return null}(n);return null!==e?()=>e.factory(n):()=>new n}(n);throw new D(204,!1)}function cm(n,t,e){let i;if(wi(n)){const r=N(n);return vi(r)||zc(r)}if(Hc(n))i=()=>N(n.useValue);else if(function am(n){return!(!n||!n.useFactory)}(n))i=()=>n.useFactory(...Bl(n.deps||[]));else if(function sm(n){return!(!n||!n.useExisting)}(n))i=()=>A(N(n.useExisting));else{const r=N(n&&(n.useClass||n.provide));if(!function Uw(n){return!!n.deps}(n))return vi(r)||zc(r);i=()=>new r(...Bl(n.deps))}return i}function cr(n,t,e=!1){return{factory:n,value:t,multi:e?[]:void 0}}function Wc(n,t){for(const e of n)Array.isArray(e)?Wc(e,t):e&&Ll(e)?Wc(e.\u0275providers,t):t(e)}class Ww{}class um{}class qw{resolveComponentFactory(t){throw function Gw(n){const t=Error(`No component factory found for ${fe(n)}. Did you add it to @NgModule.entryComponents?`);return t.ngComponent=n,t}(t)}}let ur=(()=>{class n{}return n.NULL=new qw,n})();function Kw(){return dr(ze(),v())}function dr(n,t){return new ut(Ct(n,t))}let ut=(()=>{class n{constructor(e){this.nativeElement=e}}return n.__NG_ELEMENT_ID__=Kw,n})();function Qw(n){return n instanceof ut?n.nativeElement:n}class po{}let ei=(()=>{class n{}return n.__NG_ELEMENT_ID__=()=>function Yw(){const n=v(),e=wt(ze().index,n);return(St(e)?e:n)[q]}(),n})(),Zw=(()=>{class n{}return n.\u0275prov=$({token:n,providedIn:"root",factory:()=>null}),n})();class mo{constructor(t){this.full=t,this.major=t.split(".")[0],this.minor=t.split(".")[1],this.patch=t.split(".").slice(2).join(".")}}const Xw=new mo("15.1.1"),Gc={};function Kc(n){return n.ngOriginalError}class fr{constructor(){this._console=console}handleError(t){const e=this._findOriginalError(t);this._console.error("ERROR",t),e&&this._console.error("ORIGINAL ERROR",e)}_findOriginalError(t){let e=t&&Kc(t);for(;e&&Kc(e);)e=Kc(e);return e||null}}function hm(n,t,e){let i=n.length;for(;;){const r=n.indexOf(t,e);if(-1===r)return r;if(0===r||n.charCodeAt(r-1)<=32){const o=t.length;if(r+o===i||n.charCodeAt(r+o)<=32)return r}e=r+1}}const pm="ng-template";function cI(n,t,e){let i=0;for(;io?"":r[d+1].toLowerCase();const h=8&i?f:null;if(h&&-1!==hm(h,c,0)||2&i&&c!==f){if(en(i))return!1;s=!0}}}}else{if(!s&&!en(i)&&!en(l))return!1;if(s&&en(l))continue;s=!1,i=l|1&i}}return en(i)||s}function en(n){return 0==(1&n)}function fI(n,t,e,i){if(null===t)return-1;let r=0;if(i||!e){let o=!1;for(;r-1)for(e++;e0?'="'+a+'"':"")+"]"}else 8&i?r+="."+s:4&i&&(r+=" "+s);else""!==r&&!en(s)&&(t+=ym(o,r),r=""),i=s,o=o||!en(i);e++}return""!==r&&(t+=ym(o,r)),t}const U={};function M(n){_m(X(),v(),ct()+n,!1)}function _m(n,t,e,i){if(!i)if(3==(3&t[2])){const o=n.preOrderCheckHooks;null!==o&&Is(t,o,e)}else{const o=n.preOrderHooks;null!==o&&Ts(t,o,0,e)}bi(e)}function Em(n,t=null,e=null,i){const r=Sm(n,t,e,i);return r.resolveInjectorInitializers(),r}function Sm(n,t=null,e=null,i,r=new Set){const o=[e||ie,Lw(n)];return i=i||("object"==typeof n?void 0:fe(n)),new lm(o,t||qs(),i||null,r)}let gn=(()=>{class n{static create(e,i){if(Array.isArray(e))return Em({name:""},i,e,"");{const r=e.name??"";return Em({name:r},e.parent,e.providers,r)}}}return n.THROW_IF_NOT_FOUND=zr,n.NULL=new im,n.\u0275prov=$({token:n,providedIn:"any",factory:()=>A(tm)}),n.__NG_ELEMENT_ID__=-1,n})();function b(n,t=V.Default){const e=v();return null===e?A(n,t):Zh(ze(),e,N(n),t)}function xm(n,t){const e=n.contentQueries;if(null!==e)for(let i=0;i22&&_m(n,t,22,!1),e(i,r)}finally{bi(o)}}function tu(n,t,e){if(Wl(t)){const r=t.directiveEnd;for(let o=t.directiveStart;o0;){const e=n[--t];if("number"==typeof e&&e<0)return e}return 0})(s)!=a&&s.push(a),s.push(e,i,o)}}(n,t,i,go(n,e,r.hostVars,U),r)}function yn(n,t,e,i,r,o){const s=Ct(n,t);!function au(n,t,e,i,r,o,s){if(null==o)n.removeAttribute(t,r,e);else{const a=null==s?B(o):s(o,i||"",r);n.setAttribute(t,r,a,e)}}(t[q],s,o,n.value,e,i,r)}function o0(n,t,e,i,r,o){const s=o[t];if(null!==s){const a=i.setInput;for(let l=0;l0&&lu(e)}}function lu(n){for(let i=Ec(n);null!==i;i=Sc(i))for(let r=10;r0&&lu(o)}const e=n[1].components;if(null!==e)for(let i=0;i0&&lu(r)}}function u0(n,t){const e=wt(t,n),i=e[1];(function d0(n,t){for(let e=t.length;e-1&&(Ic(t,i),Ns(e,i))}this._attachedToViewContainer=!1}Tp(this._lView[1],this._lView)}onDestroy(t){Nm(this._lView[1],this._lView,null,t)}markForCheck(){cu(this._cdRefInjectingView||this._lView)}detach(){this._lView[2]&=-65}reattach(){this._lView[2]|=64}detectChanges(){Xs(this._lView[1],this._lView,this.context)}checkNoChanges(){}attachToViewContainerRef(){if(this._appRef)throw new D(902,!1);this._attachedToViewContainer=!0}detachFromAppRef(){this._appRef=null,function ZC(n,t){co(n,t,t[q],2,null,null)}(this._lView[1],this._lView)}attachToAppRef(t){if(this._attachedToViewContainer)throw new D(902,!1);this._appRef=t}}class f0 extends yo{constructor(t){super(t),this._view=t}detectChanges(){const t=this._view;Xs(t[1],t,t[8],!1)}checkNoChanges(){}get context(){return null}}class zm extends ur{constructor(t){super(),this.ngModule=t}resolveComponentFactory(t){const e=se(t);return new _o(e,this.ngModule)}}function Wm(n){const t=[];for(let e in n)n.hasOwnProperty(e)&&t.push({propName:n[e],templateName:e});return t}class p0{constructor(t,e){this.injector=t,this.parentInjector=e}get(t,e,i){i=gs(i);const r=this.injector.get(t,Gc,i);return r!==Gc||e===Gc?r:this.parentInjector.get(t,e,i)}}class _o extends um{get inputs(){return Wm(this.componentDef.inputs)}get outputs(){return Wm(this.componentDef.outputs)}constructor(t,e){super(),this.componentDef=t,this.ngModule=e,this.componentType=t.type,this.selector=function _I(n){return n.map(yI).join(",")}(t.selectors),this.ngContentSelectors=t.ngContentSelectors?t.ngContentSelectors:[],this.isBoundToModule=!!e}create(t,e,i,r){let o=(r=r||this.ngModule)instanceof Ii?r:r?.injector;o&&null!==this.componentDef.getStandaloneInjector&&(o=this.componentDef.getStandaloneInjector(o)||o);const s=o?new p0(t,o):t,a=s.get(po,null);if(null===a)throw new D(407,!1);const l=s.get(Zw,null),c=a.createRenderer(null,this.componentDef),u=this.componentDef.selectors[0][0]||"div",d=i?function $I(n,t,e){return n.selectRootElement(t,e===Yt.ShadowDom)}(c,i,this.componentDef.encapsulation):wc(c,u,function h0(n){const t=n.toLowerCase();return"svg"===t?"svg":"math"===t?"math":null}(u)),f=this.componentDef.onPush?288:272,h=ru(0,null,null,1,0,null,null,null,null,null),p=Qs(null,h,null,f,null,null,a,c,l,s,null);let m,y;Jl(p);try{const _=this.componentDef;let E,g=null;_.findHostDirectiveDefs?(E=[],g=new Map,_.findHostDirectiveDefs(_,E,g),E.push(_)):E=[_];const C=function g0(n,t){const e=n[1];return n[22]=t,mr(e,22,2,"#host",null)}(p,d),ee=function y0(n,t,e,i,r,o,s,a){const l=r[1];!function _0(n,t,e,i){for(const r of n)t.mergedAttrs=to(t.mergedAttrs,r.hostAttrs);null!==t.mergedAttrs&&(Js(t,t.mergedAttrs,!0),null!==e&&Vp(i,e,t))}(i,n,t,s);const c=o.createRenderer(t,e),u=Qs(r,Om(e),null,e.onPush?32:16,r[n.index],n,o,c,a||null,null,null);return l.firstCreatePass&&su(l,n,i.length-1),Zs(r,u),r[n.index]=u}(C,d,_,E,p,a,c);y=Th(h,22),d&&function b0(n,t,e,i){if(i)ic(n,e,["ng-version",Xw.full]);else{const{attrs:r,classes:o}=function vI(n){const t=[],e=[];let i=1,r=2;for(;i0&&jp(n,e,o.join(" "))}}(c,_,d,i),void 0!==e&&function D0(n,t,e){const i=n.projection=[];for(let r=0;r=0;i--){const r=n[i];r.hostVars=t+=r.hostVars,r.hostAttrs=to(r.hostAttrs,e=to(e,r.hostAttrs))}}(i)}function fu(n){return n===Mn?{}:n===ie?[]:n}function C0(n,t){const e=n.viewQuery;n.viewQuery=e?(i,r)=>{t(i,r),e(i,r)}:t}function w0(n,t){const e=n.contentQueries;n.contentQueries=e?(i,r,o)=>{t(i,r,o),e(i,r,o)}:t}function I0(n,t){const e=n.hostBindings;n.hostBindings=e?(i,r)=>{t(i,r),e(i,r)}:t}let ta=null;function Ti(){if(!ta){const n=he.Symbol;if(n&&n.iterator)ta=n.iterator;else{const t=Object.getOwnPropertyNames(Map.prototype);for(let e=0;es($e(C[i.index])):i.index;let g=null;if(!s&&a&&(g=function B0(n,t,e,i){const r=n.cleanup;if(null!=r)for(let o=0;ol?a[l]:null}"string"==typeof s&&(o+=2)}return null}(n,t,r,i.index)),null!==g)(g.__ngLastListenerFn__||g).__ngNextListenerFn__=o,g.__ngLastListenerFn__=o,f=!1;else{o=ug(i,t,u,o,!1);const C=e.listen(y,r,o);d.push(o,C),c&&c.push(r,E,_,_+1)}}else o=ug(i,t,u,o,!1);const h=i.outputs;let p;if(f&&null!==h&&(p=h[r])){const m=p.length;if(m)for(let y=0;y-1?wt(n.index,t):t);let l=cg(t,0,i,s),c=o.__ngNextListenerFn__;for(;c;)l=cg(t,0,c,s)&&l,c=c.__ngNextListenerFn__;return r&&!1===l&&(s.preventDefault(),s.returnValue=!1),l}}function j(n=1){return function zS(n){return(H.lFrame.contextLView=function WS(n,t){for(;n>0;)t=t[15],n--;return t}(n,H.lFrame.contextLView))[8]}(n)}function H0(n,t){let e=null;const i=function hI(n){const t=n.attrs;if(null!=t){const e=t.indexOf(5);if(!(1&e))return t[e+1]}return null}(n);for(let r=0;r>17&32767}function yu(n){return 2|n}function xi(n){return(131068&n)>>2}function _u(n,t){return-131069&n|t<<2}function vu(n){return 1|n}function bg(n,t,e,i,r){const o=n[e+1],s=null===t;let a=i?ti(o):xi(o),l=!1;for(;0!==a&&(!1===l||s);){const u=n[a+1];q0(n[a],t)&&(l=!0,n[a+1]=i?vu(u):yu(u)),a=i?ti(u):xi(u)}l&&(n[e+1]=i?yu(o):vu(o))}function q0(n,t){return null===n||null==t||(Array.isArray(n)?n[1]:n)===t||!(!Array.isArray(n)||"string"!=typeof t)&&sr(n,t)>=0}const Ve={textEnd:0,key:0,keyEnd:0,value:0,valueEnd:0};function Dg(n){return n.substring(Ve.key,Ve.keyEnd)}function K0(n){return n.substring(Ve.value,Ve.valueEnd)}function Eg(n,t){const e=Ve.textEnd;return e===t?-1:(t=Ve.keyEnd=function Z0(n,t,e){for(;t32;)t++;return t}(n,Ve.key=t,e),Mr(n,t,e))}function Sg(n,t){const e=Ve.textEnd;let i=Ve.key=Mr(n,t,e);return e===i?-1:(i=Ve.keyEnd=function X0(n,t,e){let i;for(;t=65&&(-33&i)<=90||i>=48&&i<=57);)t++;return t}(n,i,e),i=wg(n,i,e),i=Ve.value=Mr(n,i,e),i=Ve.valueEnd=function J0(n,t,e){let i=-1,r=-1,o=-1,s=t,a=s;for(;s32&&(a=s),o=r,r=i,i=-33&l}return a}(n,i,e),wg(n,i,e))}function Cg(n){Ve.key=0,Ve.keyEnd=0,Ve.value=0,Ve.valueEnd=0,Ve.textEnd=n.length}function Mr(n,t,e){for(;t=0;e=Sg(t,e))xg(n,Dg(t),K0(t))}function Pi(n){rn(It,vn,n,!0)}function vn(n,t){for(let e=function Q0(n){return Cg(n),Eg(n,Mr(n,0,Ve.textEnd))}(t);e>=0;e=Eg(t,e))It(n,Dg(t),!0)}function rn(n,t,e,i){const r=X(),o=On(2);r.firstUpdatePass&&Ag(r,null,o,i);const s=v();if(e!==U&&Xe(s,o,e)){const a=r.data[ct()];if(Ng(a,i)&&!Mg(r,o)){let l=i?a.classesWithoutHost:a.stylesWithoutHost;null!==l&&(e=Rl(l,e||"")),mu(r,a,s,e,i)}else!function sT(n,t,e,i,r,o,s,a){r===U&&(r=ie);let l=0,c=0,u=0=n.expandoStartIndex}function Ag(n,t,e,i){const r=n.data;if(null===r[e+1]){const o=r[ct()],s=Mg(n,e);Ng(o,i)&&null===t&&!s&&(t=!1),t=function tT(n,t,e,i){const r=function Zl(n){const t=H.lFrame.currentDirectiveIndex;return-1===t?null:n[t]}(n);let o=i?t.residualClasses:t.residualStyles;if(null===r)0===(i?t.classBindings:t.styleBindings)&&(e=Do(e=bu(null,n,t,e,i),t.attrs,i),o=null);else{const s=t.directiveStylingLast;if(-1===s||n[s]!==r)if(e=bu(r,n,t,e,i),null===o){let l=function nT(n,t,e){const i=e?t.classBindings:t.styleBindings;if(0!==xi(i))return n[ti(i)]}(n,t,i);void 0!==l&&Array.isArray(l)&&(l=bu(null,n,t,l[1],i),l=Do(l,t.attrs,i),function iT(n,t,e,i){n[ti(e?t.classBindings:t.styleBindings)]=i}(n,t,i,l))}else o=function rT(n,t,e){let i;const r=t.directiveEnd;for(let o=1+t.directiveStylingLast;o0)&&(c=!0)):u=e,r)if(0!==l){const f=ti(n[a+1]);n[i+1]=oa(f,a),0!==f&&(n[f+1]=_u(n[f+1],i)),n[a+1]=function $0(n,t){return 131071&n|t<<17}(n[a+1],i)}else n[i+1]=oa(a,0),0!==a&&(n[a+1]=_u(n[a+1],i)),a=i;else n[i+1]=oa(l,0),0===a?a=i:n[l+1]=_u(n[l+1],i),l=i;c&&(n[i+1]=yu(n[i+1])),bg(n,u,i,!0),bg(n,u,i,!1),function G0(n,t,e,i,r){const o=r?n.residualClasses:n.residualStyles;null!=o&&"string"==typeof t&&sr(o,t)>=0&&(e[i+1]=vu(e[i+1]))}(t,u,n,i,o),s=oa(a,l),o?t.classBindings=s:t.styleBindings=s}(r,o,t,e,s,i)}}function bu(n,t,e,i,r){let o=null;const s=e.directiveEnd;let a=e.directiveStylingLast;for(-1===a?a=e.directiveStart:a++;a0;){const l=n[r],c=Array.isArray(l),u=c?l[1]:l,d=null===u;let f=e[r+1];f===U&&(f=d?ie:void 0);let h=d?fc(f,i):u===i?f:void 0;if(c&&!sa(h)&&(h=fc(l,i)),sa(h)&&(a=h,s))return a;const p=n[r+1];r=s?ti(p):xi(p)}if(null!==t){let l=o?t.residualClasses:t.residualStyles;null!=l&&(a=fc(l,i))}return a}function sa(n){return void 0!==n}function Ng(n,t){return 0!=(n.flags&(t?8:16))}function Vt(n,t=""){const e=v(),i=X(),r=n+22,o=i.firstCreatePass?mr(i,r,1,t,null):i.data[r],s=e[r]=function Cc(n,t){return n.createText(t)}(e[q],t);Hs(i,e,s,o),pn(o,!1)}function Oi(n){return ni("",n,""),Oi}function ni(n,t,e){const i=v(),r=function yr(n,t,e,i){return Xe(n,Ji(),e)?t+B(e)+i:U}(i,n,t,e);return r!==U&&function Fn(n,t,e){const i=Ss(t,n);!function wp(n,t,e){n.setValue(t,e)}(n[q],i,e)}(i,ct(),r),ni}const xr="en-US";let ty=xr;function Su(n,t,e,i,r){if(n=N(n),Array.isArray(n))for(let o=0;o>20;if(wi(n)||!n.multi){const h=new eo(l,r,b),p=wu(a,t,r?u:u+f,d);-1===p?(ac(Ps(c,s),o,a),Cu(o,n,t.length),t.push(a),c.directiveStart++,c.directiveEnd++,r&&(c.providerIndexes+=1048576),e.push(h),s.push(h)):(e[p]=h,s[p]=h)}else{const h=wu(a,t,u+f,d),p=wu(a,t,u,u+f),y=p>=0&&e[p];if(r&&!y||!r&&!(h>=0&&e[h])){ac(Ps(c,s),o,a);const _=function wM(n,t,e,i,r){const o=new eo(n,e,b);return o.multi=[],o.index=t,o.componentProviders=0,Iy(o,r,i&&!e),o}(r?CM:SM,e.length,r,i,l);!r&&y&&(e[p].providerFactory=_),Cu(o,n,t.length,0),t.push(a),c.directiveStart++,c.directiveEnd++,r&&(c.providerIndexes+=1048576),e.push(_),s.push(_)}else Cu(o,n,h>-1?h:p,Iy(e[r?p:h],l,!r&&i));!r&&i&&y&&e[p].componentProviders++}}}function Cu(n,t,e,i){const r=wi(t),o=function jw(n){return!!n.useClass}(t);if(r||o){const l=(o?N(t.useClass):t).prototype.ngOnDestroy;if(l){const c=n.destroyHooks||(n.destroyHooks=[]);if(!r&&t.multi){const u=c.indexOf(e);-1===u?c.push(e,[i,l]):c[u+1].push(i,l)}else c.push(e,l)}}}function Iy(n,t,e){return e&&n.componentProviders++,n.multi.push(t)-1}function wu(n,t,e,i){for(let r=e;r{e.providersResolver=(i,r)=>function EM(n,t,e){const i=X();if(i.firstCreatePass){const r=Jt(n);Su(e,i.data,i.blueprint,r,!0),Su(t,i.data,i.blueprint,r,!1)}}(i,r?r(n):n,t)}}class Pr{}class IM{}class Ty extends Pr{constructor(t,e){super(),this._parent=e,this._bootstrapComponents=[],this.destroyCbs=[],this.componentFactoryResolver=new zm(this);const i=function Et(n,t){const e=n[fh]||null;if(!e&&!0===t)throw new Error(`Type ${fe(n)} does not have '\u0275mod' property.`);return e}(t);this._bootstrapComponents=function Rn(n){return n instanceof Function?n():n}(i.bootstrap),this._r3Injector=Sm(t,e,[{provide:Pr,useValue:this},{provide:ur,useValue:this.componentFactoryResolver}],fe(t),new Set(["environment"])),this._r3Injector.resolveInjectorInitializers(),this.instance=this._r3Injector.get(t)}get injector(){return this._r3Injector}destroy(){const t=this._r3Injector;!t.destroyed&&t.destroy(),this.destroyCbs.forEach(e=>e()),this.destroyCbs=null}onDestroy(t){this.destroyCbs.push(t)}}class Tu extends IM{constructor(t){super(),this.moduleType=t}create(t){return new Ty(this.moduleType,t)}}class MM extends Pr{constructor(t,e,i){super(),this.componentFactoryResolver=new zm(this),this.instance=null;const r=new lm([...t,{provide:Pr,useValue:this},{provide:ur,useValue:this.componentFactoryResolver}],e||qs(),i,new Set(["environment"]));this.injector=r,r.resolveInjectorInitializers()}destroy(){this.injector.destroy()}onDestroy(t){this.injector.onDestroy(t)}}let AM=(()=>{class n{constructor(e){this._injector=e,this.cachedInjectors=new Map}getOrCreateStandaloneInjector(e){if(!e.standalone)return null;if(!this.cachedInjectors.has(e.id)){const i=rm(0,e.type),r=i.length>0?function My(n,t,e=null){return new MM(n,t,e).injector}([i],this._injector,`Standalone[${e.type.name}]`):null;this.cachedInjectors.set(e.id,r)}return this.cachedInjectors.get(e.id)}ngOnDestroy(){try{for(const e of this.cachedInjectors.values())null!==e&&e.destroy()}finally{this.cachedInjectors.clear()}}}return n.\u0275prov=$({token:n,providedIn:"environment",factory:()=>new n(A(Ii))}),n})();function Ri(n){n.getStandaloneInjector=t=>t.get(AM).getOrCreateStandaloneInjector(n)}function da(n,t,e){const i=lt()+n,r=v();return r[i]===U?_n(r,i,e?t.call(e):t()):vo(r,i)}function Or(n,t,e,i){return Vy(v(),lt(),n,t,e,i)}function Ly(n,t,e,i,r,o){return function Hy(n,t,e,i,r,o,s,a){const l=t+e;return function ia(n,t,e,i,r){const o=Mi(n,t,e,i);return Xe(n,t+2,r)||o}(n,l,r,o,s)?_n(n,l+3,a?i.call(a,r,o,s):i(r,o,s)):To(n,l+3)}(v(),lt(),n,t,e,i,r,o)}function Au(n,t,e,i,r,o,s){return function Uy(n,t,e,i,r,o,s,a,l){const c=t+e;return kt(n,c,r,o,s,a)?_n(n,c+4,l?i.call(l,r,o,s,a):i(r,o,s,a)):To(n,c+4)}(v(),lt(),n,t,e,i,r,o,s)}function jy(n,t,e,i){return function $y(n,t,e,i,r,o){let s=t+e,a=!1;for(let l=0;l=0;e--){const i=t[e];if(n===i.name)return i}}(t,e.pipeRegistry),e.data[r]=i,i.onDestroy&&(e.destroyHooks||(e.destroyHooks=[])).push(r,i.onDestroy)):i=e.data[r];const o=i.factory||(i.factory=vi(i.type)),s=Rt(b);try{const a=xs(!1),l=o();return xs(a),function k0(n,t,e,i){e>=n.data.length&&(n.data[e]=null,n.blueprint[e]=null),t[e]=i}(e,v(),r,l),l}finally{Rt(s)}}function et(n,t,e){const i=n+22,r=v(),o=Xi(r,i);return Mo(r,i)?Vy(r,lt(),t,o.transform,e,o):o.transform(e)}function Mo(n,t){return n[1].data[t].pure}function xu(n){return t=>{setTimeout(n,void 0,t)}}const Y=class WM extends Tn{constructor(t=!1){super(),this.__isAsync=t}emit(t){super.next(t)}subscribe(t,e,i){let r=t,o=e||(()=>null),s=i;if(t&&"object"==typeof t){const l=t;r=l.next?.bind(l),o=l.error?.bind(l),s=l.complete?.bind(l)}this.__isAsync&&(o=xu(o),r&&(r=xu(r)),s&&(s=xu(s)));const a=super.subscribe({next:r,error:o,complete:s});return t instanceof _e&&t.add(a),a}};function GM(){return this._results[Ti()]()}class Pu{get changes(){return this._changes||(this._changes=new Y)}constructor(t=!1){this._emitDistinctChangesOnly=t,this.dirty=!0,this._results=[],this._changesDetected=!1,this._changes=null,this.length=0,this.first=void 0,this.last=void 0;const e=Ti(),i=Pu.prototype;i[e]||(i[e]=GM)}get(t){return this._results[t]}map(t){return this._results.map(t)}filter(t){return this._results.filter(t)}find(t){return this._results.find(t)}reduce(t,e){return this._results.reduce(t,e)}forEach(t){this._results.forEach(t)}some(t){return this._results.some(t)}toArray(){return this._results.slice()}toString(){return this._results.toString()}reset(t,e){const i=this;i.dirty=!1;const r=function Lt(n){return n.flat(Number.POSITIVE_INFINITY)}(t);(this._changesDetected=!function dC(n,t,e){if(n.length!==t.length)return!1;for(let i=0;i{class n{}return n.__NG_ELEMENT_ID__=QM,n})();const qM=bn,KM=class extends qM{constructor(t,e,i){super(),this._declarationLView=t,this._declarationTContainer=e,this.elementRef=i}createEmbeddedView(t,e){const i=this._declarationTContainer.tViews,r=Qs(this._declarationLView,i,t,16,null,i.declTNode,null,null,null,null,e||null);r[17]=this._declarationLView[this._declarationTContainer.index];const s=this._declarationLView[19];return null!==s&&(r[19]=s.createEmbeddedView(i)),eu(i,r,t),new yo(r)}};function QM(){return fa(ze(),v())}function fa(n,t){return 4&n.type?new KM(t,n,dr(n,t)):null}let Dn=(()=>{class n{}return n.__NG_ELEMENT_ID__=YM,n})();function YM(){return qy(ze(),v())}const ZM=Dn,Wy=class extends ZM{constructor(t,e,i){super(),this._lContainer=t,this._hostTNode=e,this._hostLView=i}get element(){return dr(this._hostTNode,this._hostLView)}get injector(){return new tr(this._hostTNode,this._hostLView)}get parentInjector(){const t=sc(this._hostTNode,this._hostLView);if(Wh(t)){const e=As(t,this._hostLView),i=Ms(t);return new tr(e[1].data[i+8],e)}return new tr(null,this._hostLView)}clear(){for(;this.length>0;)this.remove(this.length-1)}get(t){const e=Gy(this._lContainer);return null!==e&&e[t]||null}get length(){return this._lContainer.length-10}createEmbeddedView(t,e,i){let r,o;"number"==typeof i?r=i:null!=i&&(r=i.index,o=i.injector);const s=t.createEmbeddedView(e||{},o);return this.insert(s,r),s}createComponent(t,e,i,r,o){const s=t&&!function io(n){return"function"==typeof n}(t);let a;if(s)a=e;else{const d=e||{};a=d.index,i=d.injector,r=d.projectableNodes,o=d.environmentInjector||d.ngModuleRef}const l=s?t:new _o(se(t)),c=i||this.parentInjector;if(!o&&null==l.ngModule){const f=(s?c:this.parentInjector).get(Ii,null);f&&(o=f)}const u=l.create(c,r,void 0,o);return this.insert(u.hostView,a),u}insert(t,e){const i=t._lView,r=i[1];if(function NS(n){return Xt(n[3])}(i)){const u=this.indexOf(t);if(-1!==u)this.detach(u);else{const d=i[3],f=new Wy(d,d[6],d[3]);f.detach(f.indexOf(t))}}const o=this._adjustIndex(e),s=this._lContainer;!function JC(n,t,e,i){const r=10+i,o=e.length;i>0&&(e[r-1][4]=t),i0)i.push(s[a/2]);else{const c=o[a+1],u=t[-l];for(let d=10;d{class n{constructor(e){this.appInits=e,this.resolve=pa,this.reject=pa,this.initialized=!1,this.done=!1,this.donePromise=new Promise((i,r)=>{this.resolve=i,this.reject=r})}runInitializers(){if(this.initialized)return;const e=[],i=()=>{this.done=!0,this.resolve()};if(this.appInits)for(let r=0;r{o.subscribe({complete:a,error:l})});e.push(s)}}Promise.all(e).then(()=>{i()}).catch(r=>{this.reject(r)}),0===e.length&&i(),this.initialized=!0}}return n.\u0275fac=function(e){return new(e||n)(A(y_,8))},n.\u0275prov=$({token:n,factory:n.\u0275fac,providedIn:"root"}),n})();const Po=new P("AppId",{providedIn:"root",factory:function __(){return`${$u()}${$u()}${$u()}`}});function $u(){return String.fromCharCode(97+Math.floor(25*Math.random()))}const v_=new P("Platform Initializer"),zu=new P("Platform ID",{providedIn:"platform",factory:()=>"unknown"}),SA=new P("appBootstrapListener"),b_=new P("AnimationModuleType"),kn=new P("LocaleId",{providedIn:"root",factory:()=>Yn(kn,V.Optional|V.SkipSelf)||function CA(){return typeof $localize<"u"&&$localize.locale||xr}()}),AA=(()=>Promise.resolve(0))();function Wu(n){typeof Zone>"u"?AA.then(()=>{n&&n.apply(null,null)}):Zone.current.scheduleMicroTask("scheduleMicrotask",n)}class Ie{constructor({enableLongStackTrace:t=!1,shouldCoalesceEventChangeDetection:e=!1,shouldCoalesceRunChangeDetection:i=!1}){if(this.hasPendingMacrotasks=!1,this.hasPendingMicrotasks=!1,this.isStable=!0,this.onUnstable=new Y(!1),this.onMicrotaskEmpty=new Y(!1),this.onStable=new Y(!1),this.onError=new Y(!1),typeof Zone>"u")throw new D(908,!1);Zone.assertZonePatched();const r=this;r._nesting=0,r._outer=r._inner=Zone.current,Zone.TaskTrackingZoneSpec&&(r._inner=r._inner.fork(new Zone.TaskTrackingZoneSpec)),t&&Zone.longStackTraceZoneSpec&&(r._inner=r._inner.fork(Zone.longStackTraceZoneSpec)),r.shouldCoalesceEventChangeDetection=!i&&e,r.shouldCoalesceRunChangeDetection=i,r.lastRequestAnimationFrameId=-1,r.nativeRequestAnimationFrame=function xA(){let n=he.requestAnimationFrame,t=he.cancelAnimationFrame;if(typeof Zone<"u"&&n&&t){const e=n[Zone.__symbol__("OriginalDelegate")];e&&(n=e);const i=t[Zone.__symbol__("OriginalDelegate")];i&&(t=i)}return{nativeRequestAnimationFrame:n,nativeCancelAnimationFrame:t}}().nativeRequestAnimationFrame,function NA(n){const t=()=>{!function OA(n){n.isCheckStableRunning||-1!==n.lastRequestAnimationFrameId||(n.lastRequestAnimationFrameId=n.nativeRequestAnimationFrame.call(he,()=>{n.fakeTopEventTask||(n.fakeTopEventTask=Zone.root.scheduleEventTask("fakeTopEventTask",()=>{n.lastRequestAnimationFrameId=-1,qu(n),n.isCheckStableRunning=!0,Gu(n),n.isCheckStableRunning=!1},void 0,()=>{},()=>{})),n.fakeTopEventTask.invoke()}),qu(n))}(n)};n._inner=n._inner.fork({name:"angular",properties:{isAngularZone:!0},onInvokeTask:(e,i,r,o,s,a)=>{try{return S_(n),e.invokeTask(r,o,s,a)}finally{(n.shouldCoalesceEventChangeDetection&&"eventTask"===o.type||n.shouldCoalesceRunChangeDetection)&&t(),C_(n)}},onInvoke:(e,i,r,o,s,a,l)=>{try{return S_(n),e.invoke(r,o,s,a,l)}finally{n.shouldCoalesceRunChangeDetection&&t(),C_(n)}},onHasTask:(e,i,r,o)=>{e.hasTask(r,o),i===r&&("microTask"==o.change?(n._hasPendingMicrotasks=o.microTask,qu(n),Gu(n)):"macroTask"==o.change&&(n.hasPendingMacrotasks=o.macroTask))},onHandleError:(e,i,r,o)=>(e.handleError(r,o),n.runOutsideAngular(()=>n.onError.emit(o)),!1)})}(r)}static isInAngularZone(){return typeof Zone<"u"&&!0===Zone.current.get("isAngularZone")}static assertInAngularZone(){if(!Ie.isInAngularZone())throw new D(909,!1)}static assertNotInAngularZone(){if(Ie.isInAngularZone())throw new D(909,!1)}run(t,e,i){return this._inner.run(t,e,i)}runTask(t,e,i,r){const o=this._inner,s=o.scheduleEventTask("NgZoneEvent: "+r,t,PA,pa,pa);try{return o.runTask(s,e,i)}finally{o.cancelTask(s)}}runGuarded(t,e,i){return this._inner.runGuarded(t,e,i)}runOutsideAngular(t){return this._outer.run(t)}}const PA={};function Gu(n){if(0==n._nesting&&!n.hasPendingMicrotasks&&!n.isStable)try{n._nesting++,n.onMicrotaskEmpty.emit(null)}finally{if(n._nesting--,!n.hasPendingMicrotasks)try{n.runOutsideAngular(()=>n.onStable.emit(null))}finally{n.isStable=!0}}}function qu(n){n.hasPendingMicrotasks=!!(n._hasPendingMicrotasks||(n.shouldCoalesceEventChangeDetection||n.shouldCoalesceRunChangeDetection)&&-1!==n.lastRequestAnimationFrameId)}function S_(n){n._nesting++,n.isStable&&(n.isStable=!1,n.onUnstable.emit(null))}function C_(n){n._nesting--,Gu(n)}class RA{constructor(){this.hasPendingMicrotasks=!1,this.hasPendingMacrotasks=!1,this.isStable=!0,this.onUnstable=new Y,this.onMicrotaskEmpty=new Y,this.onStable=new Y,this.onError=new Y}run(t,e,i){return t.apply(e,i)}runGuarded(t,e,i){return t.apply(e,i)}runOutsideAngular(t){return t()}runTask(t,e,i,r){return t.apply(e,i)}}const w_=new P(""),ga=new P("");let Yu,Ku=(()=>{class n{constructor(e,i,r){this._ngZone=e,this.registry=i,this._pendingCount=0,this._isZoneStable=!0,this._didWork=!1,this._callbacks=[],this.taskTrackingZone=null,Yu||(function FA(n){Yu=n}(r),r.addToWindow(i)),this._watchAngularEvents(),e.run(()=>{this.taskTrackingZone=typeof Zone>"u"?null:Zone.current.get("TaskTrackingZone")})}_watchAngularEvents(){this._ngZone.onUnstable.subscribe({next:()=>{this._didWork=!0,this._isZoneStable=!1}}),this._ngZone.runOutsideAngular(()=>{this._ngZone.onStable.subscribe({next:()=>{Ie.assertNotInAngularZone(),Wu(()=>{this._isZoneStable=!0,this._runCallbacksIfReady()})}})})}increasePendingRequestCount(){return this._pendingCount+=1,this._didWork=!0,this._pendingCount}decreasePendingRequestCount(){if(this._pendingCount-=1,this._pendingCount<0)throw new Error("pending async requests below zero");return this._runCallbacksIfReady(),this._pendingCount}isStable(){return this._isZoneStable&&0===this._pendingCount&&!this._ngZone.hasPendingMacrotasks}_runCallbacksIfReady(){if(this.isStable())Wu(()=>{for(;0!==this._callbacks.length;){let e=this._callbacks.pop();clearTimeout(e.timeoutId),e.doneCb(this._didWork)}this._didWork=!1});else{let e=this.getPendingTasks();this._callbacks=this._callbacks.filter(i=>!i.updateCb||!i.updateCb(e)||(clearTimeout(i.timeoutId),!1)),this._didWork=!0}}getPendingTasks(){return this.taskTrackingZone?this.taskTrackingZone.macroTasks.map(e=>({source:e.source,creationLocation:e.creationLocation,data:e.data})):[]}addCallback(e,i,r){let o=-1;i&&i>0&&(o=setTimeout(()=>{this._callbacks=this._callbacks.filter(s=>s.timeoutId!==o),e(this._didWork,this.getPendingTasks())},i)),this._callbacks.push({doneCb:e,timeoutId:o,updateCb:r})}whenStable(e,i,r){if(r&&!this.taskTrackingZone)throw new Error('Task tracking zone is required when passing an update callback to whenStable(). Is "zone.js/plugins/task-tracking" loaded?');this.addCallback(e,i,r),this._runCallbacksIfReady()}getPendingRequestCount(){return this._pendingCount}registerApplication(e){this.registry.registerApplication(e,this)}unregisterApplication(e){this.registry.unregisterApplication(e)}findProviders(e,i,r){return[]}}return n.\u0275fac=function(e){return new(e||n)(A(Ie),A(Qu),A(ga))},n.\u0275prov=$({token:n,factory:n.\u0275fac}),n})(),Qu=(()=>{class n{constructor(){this._applications=new Map}registerApplication(e,i){this._applications.set(e,i)}unregisterApplication(e){this._applications.delete(e)}unregisterAllApplications(){this._applications.clear()}getTestability(e){return this._applications.get(e)||null}getAllTestabilities(){return Array.from(this._applications.values())}getAllRootElements(){return Array.from(this._applications.keys())}findTestabilityInTree(e,i=!0){return Yu?.findTestabilityInTree(this,e,i)??null}}return n.\u0275fac=function(e){return new(e||n)},n.\u0275prov=$({token:n,factory:n.\u0275fac,providedIn:"platform"}),n})(),ii=null;const I_=new P("AllowMultipleToken"),Zu=new P("PlatformDestroyListeners");function M_(n,t,e=[]){const i=`Platform: ${t}`,r=new P(i);return(o=[])=>{let s=Xu();if(!s||s.injector.get(I_,!1)){const a=[...e,...o,{provide:r,useValue:!0}];n?n(a):function jA(n){if(ii&&!ii.get(I_,!1))throw new D(400,!1);ii=n;const t=n.get(x_);(function T_(n){const t=n.get(v_,null);t&&t.forEach(e=>e())})(n)}(function A_(n=[],t){return gn.create({name:t,providers:[{provide:Uc,useValue:"platform"},{provide:Zu,useValue:new Set([()=>ii=null])},...n]})}(a,i))}return function BA(n){const t=Xu();if(!t)throw new D(401,!1);return t}()}}function Xu(){return ii?.get(x_)??null}let x_=(()=>{class n{constructor(e){this._injector=e,this._modules=[],this._destroyListeners=[],this._destroyed=!1}bootstrapModuleFactory(e,i){const r=function O_(n,t){let e;return e="noop"===n?new RA:("zone.js"===n?void 0:n)||new Ie(t),e}(i?.ngZone,function P_(n){return{enableLongStackTrace:!1,shouldCoalesceEventChangeDetection:!(!n||!n.ngZoneEventCoalescing)||!1,shouldCoalesceRunChangeDetection:!(!n||!n.ngZoneRunCoalescing)||!1}}(i)),o=[{provide:Ie,useValue:r}];return r.run(()=>{const s=gn.create({providers:o,parent:this.injector,name:e.moduleType.name}),a=e.create(s),l=a.injector.get(fr,null);if(!l)throw new D(402,!1);return r.runOutsideAngular(()=>{const c=r.onError.subscribe({next:u=>{l.handleError(u)}});a.onDestroy(()=>{ya(this._modules,a),c.unsubscribe()})}),function N_(n,t,e){try{const i=e();return ra(i)?i.catch(r=>{throw t.runOutsideAngular(()=>n.handleError(r)),r}):i}catch(i){throw t.runOutsideAngular(()=>n.handleError(i)),i}}(l,r,()=>{const c=a.injector.get(ma);return c.runInitializers(),c.donePromise.then(()=>(function ny(n){Nt(n,"Expected localeId to be defined"),"string"==typeof n&&(ty=n.toLowerCase().replace(/_/g,"-"))}(a.injector.get(kn,xr)||xr),this._moduleDoBootstrap(a),a))})})}bootstrapModule(e,i=[]){const r=R_({},i);return function LA(n,t,e){const i=new Tu(e);return Promise.resolve(i)}(0,0,e).then(o=>this.bootstrapModuleFactory(o,r))}_moduleDoBootstrap(e){const i=e.injector.get(Oo);if(e._bootstrapComponents.length>0)e._bootstrapComponents.forEach(r=>i.bootstrap(r));else{if(!e.instance.ngDoBootstrap)throw new D(-403,!1);e.instance.ngDoBootstrap(i)}this._modules.push(e)}onDestroy(e){this._destroyListeners.push(e)}get injector(){return this._injector}destroy(){if(this._destroyed)throw new D(404,!1);this._modules.slice().forEach(i=>i.destroy()),this._destroyListeners.forEach(i=>i());const e=this._injector.get(Zu,null);e&&(e.forEach(i=>i()),e.clear()),this._destroyed=!0}get destroyed(){return this._destroyed}}return n.\u0275fac=function(e){return new(e||n)(A(gn))},n.\u0275prov=$({token:n,factory:n.\u0275fac,providedIn:"platform"}),n})();function R_(n,t){return Array.isArray(t)?t.reduce(R_,n):{...n,...t}}let Oo=(()=>{class n{get destroyed(){return this._destroyed}get injector(){return this._injector}constructor(e,i,r){this._zone=e,this._injector=i,this._exceptionHandler=r,this._bootstrapListeners=[],this._views=[],this._runningTick=!1,this._stable=!0,this._destroyed=!1,this._destroyListeners=[],this.componentTypes=[],this.components=[],this._onMicrotaskEmptySubscription=this._zone.onMicrotaskEmpty.subscribe({next:()=>{this._zone.run(()=>{this.tick()})}});const o=new ve(a=>{this._stable=this._zone.isStable&&!this._zone.hasPendingMacrotasks&&!this._zone.hasPendingMicrotasks,this._zone.runOutsideAngular(()=>{a.next(this._stable),a.complete()})}),s=new ve(a=>{let l;this._zone.runOutsideAngular(()=>{l=this._zone.onStable.subscribe(()=>{Ie.assertNotInAngularZone(),Wu(()=>{!this._stable&&!this._zone.hasPendingMacrotasks&&!this._zone.hasPendingMicrotasks&&(this._stable=!0,a.next(!0))})})});const c=this._zone.onUnstable.subscribe(()=>{Ie.assertInAngularZone(),this._stable&&(this._stable=!1,this._zone.runOutsideAngular(()=>{a.next(!1)}))});return()=>{l.unsubscribe(),c.unsubscribe()}});this.isStable=ih(o,s.pipe(function nS(){return n=>rh()(function JE(n,t){return function(i){let r;if(r="function"==typeof n?n:function(){return n},"function"==typeof t)return i.lift(new eS(r,t));const o=Object.create(i,YE);return o.source=i,o.subjectFactory=r,o}}(tS)(n))}()))}bootstrap(e,i){const r=e instanceof um;if(!this._injector.get(ma).done)throw!r&&function Kr(n){const t=se(n)||qe(n)||st(n);return null!==t&&t.standalone}(e),new D(405,false);let s;s=r?e:this._injector.get(ur).resolveComponentFactory(e),this.componentTypes.push(s.componentType);const a=function kA(n){return n.isBoundToModule}(s)?void 0:this._injector.get(Pr),c=s.create(gn.NULL,[],i||s.selector,a),u=c.location.nativeElement,d=c.injector.get(w_,null);return d?.registerApplication(u),c.onDestroy(()=>{this.detachView(c.hostView),ya(this.components,c),d?.unregisterApplication(u)}),this._loadComponent(c),c}tick(){if(this._runningTick)throw new D(101,!1);try{this._runningTick=!0;for(let e of this._views)e.detectChanges()}catch(e){this._zone.runOutsideAngular(()=>this._exceptionHandler.handleError(e))}finally{this._runningTick=!1}}attachView(e){const i=e;this._views.push(i),i.attachToAppRef(this)}detachView(e){const i=e;ya(this._views,i),i.detachFromAppRef()}_loadComponent(e){this.attachView(e.hostView),this.tick(),this.components.push(e);const i=this._injector.get(SA,[]);i.push(...this._bootstrapListeners),i.forEach(r=>r(e))}ngOnDestroy(){if(!this._destroyed)try{this._destroyListeners.forEach(e=>e()),this._views.slice().forEach(e=>e.destroy()),this._onMicrotaskEmptySubscription.unsubscribe()}finally{this._destroyed=!0,this._views=[],this._bootstrapListeners=[],this._destroyListeners=[]}}onDestroy(e){return this._destroyListeners.push(e),()=>ya(this._destroyListeners,e)}destroy(){if(this._destroyed)throw new D(406,!1);const e=this._injector;e.destroy&&!e.destroyed&&e.destroy()}get viewCount(){return this._views.length}warnIfDestroyed(){}}return n.\u0275fac=function(e){return new(e||n)(A(Ie),A(Ii),A(fr))},n.\u0275prov=$({token:n,factory:n.\u0275fac,providedIn:"root"}),n})();function ya(n,t){const e=n.indexOf(t);e>-1&&n.splice(e,1)}let Li=(()=>{class n{}return n.__NG_ELEMENT_ID__=$A,n})();function $A(n){return function zA(n,t,e){if(Xr(n)&&!e){const i=wt(n.index,t);return new yo(i,i)}return 47&n.type?new yo(t[16],t):null}(ze(),v(),16==(16&n))}class V_{constructor(){}supports(t){return na(t)}create(t){return new YA(t)}}const QA=(n,t)=>t;class YA{constructor(t){this.length=0,this._linkedRecords=null,this._unlinkedRecords=null,this._previousItHead=null,this._itHead=null,this._itTail=null,this._additionsHead=null,this._additionsTail=null,this._movesHead=null,this._movesTail=null,this._removalsHead=null,this._removalsTail=null,this._identityChangesHead=null,this._identityChangesTail=null,this._trackByFn=t||QA}forEachItem(t){let e;for(e=this._itHead;null!==e;e=e._next)t(e)}forEachOperation(t){let e=this._itHead,i=this._removalsHead,r=0,o=null;for(;e||i;){const s=!i||e&&e.currentIndex{s=this._trackByFn(r,a),null!==e&&Object.is(e.trackById,s)?(i&&(e=this._verifyReinsertion(e,a,s,r)),Object.is(e.item,a)||this._addIdentityChange(e,a)):(e=this._mismatch(e,a,s,r),i=!0),e=e._next,r++}),this.length=r;return this._truncate(e),this.collection=t,this.isDirty}get isDirty(){return null!==this._additionsHead||null!==this._movesHead||null!==this._removalsHead||null!==this._identityChangesHead}_reset(){if(this.isDirty){let t;for(t=this._previousItHead=this._itHead;null!==t;t=t._next)t._nextPrevious=t._next;for(t=this._additionsHead;null!==t;t=t._nextAdded)t.previousIndex=t.currentIndex;for(this._additionsHead=this._additionsTail=null,t=this._movesHead;null!==t;t=t._nextMoved)t.previousIndex=t.currentIndex;this._movesHead=this._movesTail=null,this._removalsHead=this._removalsTail=null,this._identityChangesHead=this._identityChangesTail=null}}_mismatch(t,e,i,r){let o;return null===t?o=this._itTail:(o=t._prev,this._remove(t)),null!==(t=null===this._unlinkedRecords?null:this._unlinkedRecords.get(i,null))?(Object.is(t.item,e)||this._addIdentityChange(t,e),this._reinsertAfter(t,o,r)):null!==(t=null===this._linkedRecords?null:this._linkedRecords.get(i,r))?(Object.is(t.item,e)||this._addIdentityChange(t,e),this._moveAfter(t,o,r)):t=this._addAfter(new ZA(e,i),o,r),t}_verifyReinsertion(t,e,i,r){let o=null===this._unlinkedRecords?null:this._unlinkedRecords.get(i,null);return null!==o?t=this._reinsertAfter(o,t._prev,r):t.currentIndex!=r&&(t.currentIndex=r,this._addToMoves(t,r)),t}_truncate(t){for(;null!==t;){const e=t._next;this._addToRemovals(this._unlink(t)),t=e}null!==this._unlinkedRecords&&this._unlinkedRecords.clear(),null!==this._additionsTail&&(this._additionsTail._nextAdded=null),null!==this._movesTail&&(this._movesTail._nextMoved=null),null!==this._itTail&&(this._itTail._next=null),null!==this._removalsTail&&(this._removalsTail._nextRemoved=null),null!==this._identityChangesTail&&(this._identityChangesTail._nextIdentityChange=null)}_reinsertAfter(t,e,i){null!==this._unlinkedRecords&&this._unlinkedRecords.remove(t);const r=t._prevRemoved,o=t._nextRemoved;return null===r?this._removalsHead=o:r._nextRemoved=o,null===o?this._removalsTail=r:o._prevRemoved=r,this._insertAfter(t,e,i),this._addToMoves(t,i),t}_moveAfter(t,e,i){return this._unlink(t),this._insertAfter(t,e,i),this._addToMoves(t,i),t}_addAfter(t,e,i){return this._insertAfter(t,e,i),this._additionsTail=null===this._additionsTail?this._additionsHead=t:this._additionsTail._nextAdded=t,t}_insertAfter(t,e,i){const r=null===e?this._itHead:e._next;return t._next=r,t._prev=e,null===r?this._itTail=t:r._prev=t,null===e?this._itHead=t:e._next=t,null===this._linkedRecords&&(this._linkedRecords=new B_),this._linkedRecords.put(t),t.currentIndex=i,t}_remove(t){return this._addToRemovals(this._unlink(t))}_unlink(t){null!==this._linkedRecords&&this._linkedRecords.remove(t);const e=t._prev,i=t._next;return null===e?this._itHead=i:e._next=i,null===i?this._itTail=e:i._prev=e,t}_addToMoves(t,e){return t.previousIndex===e||(this._movesTail=null===this._movesTail?this._movesHead=t:this._movesTail._nextMoved=t),t}_addToRemovals(t){return null===this._unlinkedRecords&&(this._unlinkedRecords=new B_),this._unlinkedRecords.put(t),t.currentIndex=null,t._nextRemoved=null,null===this._removalsTail?(this._removalsTail=this._removalsHead=t,t._prevRemoved=null):(t._prevRemoved=this._removalsTail,this._removalsTail=this._removalsTail._nextRemoved=t),t}_addIdentityChange(t,e){return t.item=e,this._identityChangesTail=null===this._identityChangesTail?this._identityChangesHead=t:this._identityChangesTail._nextIdentityChange=t,t}}class ZA{constructor(t,e){this.item=t,this.trackById=e,this.currentIndex=null,this.previousIndex=null,this._nextPrevious=null,this._prev=null,this._next=null,this._prevDup=null,this._nextDup=null,this._prevRemoved=null,this._nextRemoved=null,this._nextAdded=null,this._nextMoved=null,this._nextIdentityChange=null}}class XA{constructor(){this._head=null,this._tail=null}add(t){null===this._head?(this._head=this._tail=t,t._nextDup=null,t._prevDup=null):(this._tail._nextDup=t,t._prevDup=this._tail,t._nextDup=null,this._tail=t)}get(t,e){let i;for(i=this._head;null!==i;i=i._nextDup)if((null===e||e<=i.currentIndex)&&Object.is(i.trackById,t))return i;return null}remove(t){const e=t._prevDup,i=t._nextDup;return null===e?this._head=i:e._nextDup=i,null===i?this._tail=e:i._prevDup=e,null===this._head}}class B_{constructor(){this.map=new Map}put(t){const e=t.trackById;let i=this.map.get(e);i||(i=new XA,this.map.set(e,i)),i.add(t)}get(t,e){const r=this.map.get(t);return r?r.get(t,e):null}remove(t){const e=t.trackById;return this.map.get(e).remove(t)&&this.map.delete(e),t}get isEmpty(){return 0===this.map.size}clear(){this.map.clear()}}function H_(n,t,e){const i=n.previousIndex;if(null===i)return i;let r=0;return e&&i{if(e&&e.key===r)this._maybeAddToChanges(e,i),this._appendAfter=e,e=e._next;else{const o=this._getOrCreateRecordForKey(r,i);e=this._insertBeforeOrAppend(e,o)}}),e){e._prev&&(e._prev._next=null),this._removalsHead=e;for(let i=e;null!==i;i=i._nextRemoved)i===this._mapHead&&(this._mapHead=null),this._records.delete(i.key),i._nextRemoved=i._next,i.previousValue=i.currentValue,i.currentValue=null,i._prev=null,i._next=null}return this._changesTail&&(this._changesTail._nextChanged=null),this._additionsTail&&(this._additionsTail._nextAdded=null),this.isDirty}_insertBeforeOrAppend(t,e){if(t){const i=t._prev;return e._next=t,e._prev=i,t._prev=e,i&&(i._next=e),t===this._mapHead&&(this._mapHead=e),this._appendAfter=t,t}return this._appendAfter?(this._appendAfter._next=e,e._prev=this._appendAfter):this._mapHead=e,this._appendAfter=e,null}_getOrCreateRecordForKey(t,e){if(this._records.has(t)){const r=this._records.get(t);this._maybeAddToChanges(r,e);const o=r._prev,s=r._next;return o&&(o._next=s),s&&(s._prev=o),r._next=null,r._prev=null,r}const i=new ex(t);return this._records.set(t,i),i.currentValue=e,this._addToAdditions(i),i}_reset(){if(this.isDirty){let t;for(this._previousMapHead=this._mapHead,t=this._previousMapHead;null!==t;t=t._next)t._nextPrevious=t._next;for(t=this._changesHead;null!==t;t=t._nextChanged)t.previousValue=t.currentValue;for(t=this._additionsHead;null!=t;t=t._nextAdded)t.previousValue=t.currentValue;this._changesHead=this._changesTail=null,this._additionsHead=this._additionsTail=null,this._removalsHead=null}}_maybeAddToChanges(t,e){Object.is(e,t.currentValue)||(t.previousValue=t.currentValue,t.currentValue=e,this._addToChanges(t))}_addToAdditions(t){null===this._additionsHead?this._additionsHead=this._additionsTail=t:(this._additionsTail._nextAdded=t,this._additionsTail=t)}_addToChanges(t){null===this._changesHead?this._changesHead=this._changesTail=t:(this._changesTail._nextChanged=t,this._changesTail=t)}_forEach(t,e){t instanceof Map?t.forEach(e):Object.keys(t).forEach(i=>e(t[i],i))}}class ex{constructor(t){this.key=t,this.previousValue=null,this.currentValue=null,this._nextPrevious=null,this._next=null,this._prev=null,this._nextAdded=null,this._nextRemoved=null,this._nextChanged=null}}function $_(){return new ba([new V_])}let ba=(()=>{class n{constructor(e){this.factories=e}static create(e,i){if(null!=i){const r=i.factories.slice();e=e.concat(r)}return new n(e)}static extend(e){return{provide:n,useFactory:i=>n.create(e,i||$_()),deps:[[n,new ks,new Ls]]}}find(e){const i=this.factories.find(r=>r.supports(e));if(null!=i)return i;throw new D(901,!1)}}return n.\u0275prov=$({token:n,providedIn:"root",factory:$_}),n})();function z_(){return new No([new U_])}let No=(()=>{class n{constructor(e){this.factories=e}static create(e,i){if(i){const r=i.factories.slice();e=e.concat(r)}return new n(e)}static extend(e){return{provide:n,useFactory:i=>n.create(e,i||z_()),deps:[[n,new ks,new Ls]]}}find(e){const i=this.factories.find(r=>r.supports(e));if(i)return i;throw new D(901,!1)}}return n.\u0275prov=$({token:n,providedIn:"root",factory:z_}),n})();const ix=M_(null,"core",[]);let rx=(()=>{class n{constructor(e){}}return n.\u0275fac=function(e){return new(e||n)(A(Oo))},n.\u0275mod=ke({type:n}),n.\u0275inj=xe({}),n})();let rd=null;function ji(){return rd}class ax{}const Bt=new P("DocumentToken");function ev(n,t){t=encodeURIComponent(t);for(const e of n.split(";")){const i=e.indexOf("="),[r,o]=-1==i?[e,""]:[e.slice(0,i),e.slice(i+1)];if(r.trim()===t)return decodeURIComponent(o)}return null}const pd=/\s+/,tv=[];let Fr=(()=>{class n{constructor(e,i,r,o){this._iterableDiffers=e,this._keyValueDiffers=i,this._ngEl=r,this._renderer=o,this.initialClasses=tv,this.stateMap=new Map}set klass(e){this.initialClasses=null!=e?e.trim().split(pd):tv}set ngClass(e){this.rawClass="string"==typeof e?e.trim().split(pd):e}ngDoCheck(){for(const i of this.initialClasses)this._updateState(i,!0);const e=this.rawClass;if(Array.isArray(e)||e instanceof Set)for(const i of e)this._updateState(i,!0);else if(null!=e)for(const i of Object.keys(e))this._updateState(i,Boolean(e[i]));this._applyStateDiff()}_updateState(e,i){const r=this.stateMap.get(e);void 0!==r?(r.enabled!==i&&(r.changed=!0,r.enabled=i),r.touched=!0):this.stateMap.set(e,{enabled:i,changed:!0,touched:!0})}_applyStateDiff(){for(const e of this.stateMap){const 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()).length>0&&e.split(pd).forEach(r=>{i?this._renderer.addClass(this._ngEl.nativeElement,r):this._renderer.removeClass(this._ngEl.nativeElement,r)})}}return n.\u0275fac=function(e){return new(e||n)(b(ba),b(No),b(ut),b(ei))},n.\u0275dir=k({type:n,selectors:[["","ngClass",""]],inputs:{klass:["class","klass"],ngClass:"ngClass"},standalone:!0}),n})(),Lr=(()=>{class n{constructor(e,i){this._viewContainer=e,this._context=new Yx,this._thenTemplateRef=null,this._elseTemplateRef=null,this._thenViewRef=null,this._elseViewRef=null,this._thenTemplateRef=i}set ngIf(e){this._context.$implicit=this._context.ngIf=e,this._updateView()}set ngIfThen(e){ov("ngIfThen",e),this._thenTemplateRef=e,this._thenViewRef=null,this._updateView()}set ngIfElse(e){ov("ngIfElse",e),this._elseTemplateRef=e,this._elseViewRef=null,this._updateView()}_updateView(){this._context.$implicit?this._thenViewRef||(this._viewContainer.clear(),this._elseViewRef=null,this._thenTemplateRef&&(this._thenViewRef=this._viewContainer.createEmbeddedView(this._thenTemplateRef,this._context))):this._elseViewRef||(this._viewContainer.clear(),this._thenViewRef=null,this._elseTemplateRef&&(this._elseViewRef=this._viewContainer.createEmbeddedView(this._elseTemplateRef,this._context)))}static ngTemplateContextGuard(e,i){return!0}}return n.\u0275fac=function(e){return new(e||n)(b(Dn),b(bn))},n.\u0275dir=k({type:n,selectors:[["","ngIf",""]],inputs:{ngIf:"ngIf",ngIfThen:"ngIfThen",ngIfElse:"ngIfElse"},standalone:!0}),n})();class Yx{constructor(){this.$implicit=null,this.ngIf=null}}function ov(n,t){if(t&&!t.createEmbeddedView)throw new Error(`${n} must be a TemplateRef, but received '${fe(t)}'.`)}class md{constructor(t,e){this._viewContainerRef=t,this._templateRef=e,this._created=!1}create(){this._created=!0,this._viewContainerRef.createEmbeddedView(this._templateRef)}destroy(){this._created=!1,this._viewContainerRef.clear()}enforceState(t){t&&!this._created?this.create():!t&&this._created&&this.destroy()}}let xa=(()=>{class n{constructor(){this._defaultViews=[],this._defaultUsed=!1,this._caseCount=0,this._lastCaseCheckIndex=0,this._lastCasesMatched=!1}set ngSwitch(e){this._ngSwitch=e,0===this._caseCount&&this._updateDefaultCases(!0)}_addCase(){return this._caseCount++}_addDefault(e){this._defaultViews.push(e)}_matchCase(e){const i=e==this._ngSwitch;return this._lastCasesMatched=this._lastCasesMatched||i,this._lastCaseCheckIndex++,this._lastCaseCheckIndex===this._caseCount&&(this._updateDefaultCases(!this._lastCasesMatched),this._lastCaseCheckIndex=0,this._lastCasesMatched=!1),i}_updateDefaultCases(e){if(this._defaultViews.length>0&&e!==this._defaultUsed){this._defaultUsed=e;for(const i of this._defaultViews)i.enforceState(e)}}}return n.\u0275fac=function(e){return new(e||n)},n.\u0275dir=k({type:n,selectors:[["","ngSwitch",""]],inputs:{ngSwitch:"ngSwitch"},standalone:!0}),n})(),sv=(()=>{class n{constructor(e,i,r){this.ngSwitch=r,r._addCase(),this._view=new md(e,i)}ngDoCheck(){this._view.enforceState(this.ngSwitch._matchCase(this.ngSwitchCase))}}return n.\u0275fac=function(e){return new(e||n)(b(Dn),b(bn),b(xa,9))},n.\u0275dir=k({type:n,selectors:[["","ngSwitchCase",""]],inputs:{ngSwitchCase:"ngSwitchCase"},standalone:!0}),n})(),Pa=(()=>{class n{constructor(e,i,r){this._ngEl=e,this._differs=i,this._renderer=r,this._ngStyle=null,this._differ=null}set ngStyle(e){this._ngStyle=e,!this._differ&&e&&(this._differ=this._differs.find(e).create())}ngDoCheck(){if(this._differ){const e=this._differ.diff(this._ngStyle);e&&this._applyChanges(e)}}_setStyle(e,i){const[r,o]=e.split("."),s=-1===r.indexOf("-")?void 0:yt.DashCase;null!=i?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))}}return n.\u0275fac=function(e){return new(e||n)(b(ut),b(No),b(ei))},n.\u0275dir=k({type:n,selectors:[["","ngStyle",""]],inputs:{ngStyle:"ngStyle"},standalone:!0}),n})(),gd=(()=>{class n{constructor(e){this._viewContainerRef=e,this._viewRef=null,this.ngTemplateOutletContext=null,this.ngTemplateOutlet=null,this.ngTemplateOutletInjector=null}ngOnChanges(e){if(e.ngTemplateOutlet||e.ngTemplateOutletInjector){const i=this._viewContainerRef;if(this._viewRef&&i.remove(i.indexOf(this._viewRef)),this.ngTemplateOutlet){const{ngTemplateOutlet:r,ngTemplateOutletContext:o,ngTemplateOutletInjector:s}=this;this._viewRef=i.createEmbeddedView(r,o,s?{injector:s}:void 0)}else this._viewRef=null}else this._viewRef&&e.ngTemplateOutletContext&&this.ngTemplateOutletContext&&(this._viewRef.context=this.ngTemplateOutletContext)}}return n.\u0275fac=function(e){return new(e||n)(b(Dn))},n.\u0275dir=k({type:n,selectors:[["","ngTemplateOutlet",""]],inputs:{ngTemplateOutletContext:"ngTemplateOutletContext",ngTemplateOutlet:"ngTemplateOutlet",ngTemplateOutletInjector:"ngTemplateOutletInjector"},standalone:!0,features:[hn]}),n})();class Jx{createSubscription(t,e){return t.subscribe({next:e,error:i=>{throw i}})}dispose(t){t.unsubscribe()}}class eP{createSubscription(t,e){return t.then(e,i=>{throw i})}dispose(t){}}const tP=new eP,nP=new Jx;let yd=(()=>{class n{constructor(e){this._latestValue=null,this._subscription=null,this._obj=null,this._strategy=null,this._ref=e}ngOnDestroy(){this._subscription&&this._dispose(),this._ref=null}transform(e){return this._obj?e!==this._obj?(this._dispose(),this.transform(e)):this._latestValue:(e&&this._subscribe(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(ra(e))return tP;if(og(e))return nP;throw function cn(n,t){return new D(2100,!1)}()}_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._ref.markForCheck())}}return n.\u0275fac=function(e){return new(e||n)(b(Li,16))},n.\u0275pipe=ot({name:"async",type:n,pure:!1,standalone:!0}),n})(),Mt=(()=>{class n{}return n.\u0275fac=function(e){return new(e||n)},n.\u0275mod=ke({type:n}),n.\u0275inj=xe({}),n})();class dv{}class YP extends ax{constructor(){super(...arguments),this.supportsDOMEvents=!0}}class Ed extends YP{static makeCurrent(){!function sx(n){rd||(rd=n)}(new Ed)}onAndCancel(t,e,i){return t.addEventListener(e,i,!1),()=>{t.removeEventListener(e,i,!1)}}dispatchEvent(t,e){t.dispatchEvent(e)}remove(t){t.parentNode&&t.parentNode.removeChild(t)}createElement(t,e){return(e=e||this.getDefaultDocument()).createElement(t)}createHtmlDocument(){return document.implementation.createHTMLDocument("fakeTitle")}getDefaultDocument(){return document}isElementNode(t){return t.nodeType===Node.ELEMENT_NODE}isShadowRoot(t){return t instanceof DocumentFragment}getGlobalEventTarget(t,e){return"window"===e?window:"document"===e?t:"body"===e?t.body:null}getBaseHref(t){const e=function ZP(){return ko=ko||document.querySelector("base"),ko?ko.getAttribute("href"):null}();return null==e?null:function XP(n){Na=Na||document.createElement("a"),Na.setAttribute("href",n);const t=Na.pathname;return"/"===t.charAt(0)?t:`/${t}`}(e)}resetBaseElement(){ko=null}getUserAgent(){return window.navigator.userAgent}getCookie(t){return ev(document.cookie,t)}}let Na,ko=null;const yv=new P("TRANSITION_ID"),e1=[{provide:y_,useFactory:function JP(n,t,e){return()=>{e.get(ma).donePromise.then(()=>{const i=ji(),r=t.querySelectorAll(`style[ng-transition="${n}"]`);for(let o=0;o{class n{build(){return new XMLHttpRequest}}return n.\u0275fac=function(e){return new(e||n)},n.\u0275prov=$({token:n,factory:n.\u0275fac}),n})();const Ra=new P("EventManagerPlugins");let Fa=(()=>{class n{constructor(e,i){this._zone=i,this._eventNameToPlugin=new Map,e.forEach(r=>r.manager=this),this._plugins=e.slice().reverse()}addEventListener(e,i,r){return this._findPluginFor(i).addEventListener(e,i,r)}addGlobalEventListener(e,i,r){return this._findPluginFor(i).addGlobalEventListener(e,i,r)}getZone(){return this._zone}_findPluginFor(e){const i=this._eventNameToPlugin.get(e);if(i)return i;const r=this._plugins;for(let o=0;o{class n{constructor(){this._stylesSet=new Set}addStyles(e){const i=new Set;e.forEach(r=>{this._stylesSet.has(r)||(this._stylesSet.add(r),i.add(r))}),this.onStylesAdded(i)}onStylesAdded(e){}getAllStyles(){return Array.from(this._stylesSet)}}return n.\u0275fac=function(e){return new(e||n)},n.\u0275prov=$({token:n,factory:n.\u0275fac}),n})(),jo=(()=>{class n extends vv{constructor(e){super(),this._doc=e,this._hostNodes=new Map,this._hostNodes.set(e.head,[])}_addStylesToHost(e,i,r){e.forEach(o=>{const s=this._doc.createElement("style");s.textContent=o,r.push(i.appendChild(s))})}addHost(e){const i=[];this._addStylesToHost(this._stylesSet,e,i),this._hostNodes.set(e,i)}removeHost(e){const i=this._hostNodes.get(e);i&&i.forEach(bv),this._hostNodes.delete(e)}onStylesAdded(e){this._hostNodes.forEach((i,r)=>{this._addStylesToHost(e,r,i)})}ngOnDestroy(){this._hostNodes.forEach(e=>e.forEach(bv))}}return n.\u0275fac=function(e){return new(e||n)(A(Bt))},n.\u0275prov=$({token:n,factory:n.\u0275fac}),n})();function bv(n){ji().remove(n)}const Sd={svg:"http://www.w3.org/2000/svg",xhtml:"http://www.w3.org/1999/xhtml",xlink:"http://www.w3.org/1999/xlink",xml:"http://www.w3.org/XML/1998/namespace",xmlns:"http://www.w3.org/2000/xmlns/",math:"http://www.w3.org/1998/MathML/"},Cd=/%COMP%/g;function wd(n,t){return t.flat(100).map(e=>e.replace(Cd,n))}function Sv(n){return t=>{if("__ngUnwrap__"===t)return n;!1===n(t)&&(t.preventDefault(),t.returnValue=!1)}}let La=(()=>{class n{constructor(e,i,r){this.eventManager=e,this.sharedStylesHost=i,this.appId=r,this.rendererByCompId=new Map,this.defaultRenderer=new Id(e)}createRenderer(e,i){if(!e||!i)return this.defaultRenderer;switch(i.encapsulation){case Yt.Emulated:{let r=this.rendererByCompId.get(i.id);return r||(r=new c1(this.eventManager,this.sharedStylesHost,i,this.appId),this.rendererByCompId.set(i.id,r)),r.applyToHost(e),r}case Yt.ShadowDom:return new u1(this.eventManager,this.sharedStylesHost,e,i);default:if(!this.rendererByCompId.has(i.id)){const r=wd(i.id,i.styles);this.sharedStylesHost.addStyles(r),this.rendererByCompId.set(i.id,this.defaultRenderer)}return this.defaultRenderer}}begin(){}end(){}}return n.\u0275fac=function(e){return new(e||n)(A(Fa),A(jo),A(Po))},n.\u0275prov=$({token:n,factory:n.\u0275fac}),n})();class Id{constructor(t){this.eventManager=t,this.data=Object.create(null),this.destroyNode=null}destroy(){}createElement(t,e){return e?document.createElementNS(Sd[e]||e,t):document.createElement(t)}createComment(t){return document.createComment(t)}createText(t){return document.createTextNode(t)}appendChild(t,e){(wv(t)?t.content:t).appendChild(e)}insertBefore(t,e,i){t&&(wv(t)?t.content:t).insertBefore(e,i)}removeChild(t,e){t&&t.removeChild(e)}selectRootElement(t,e){let i="string"==typeof t?document.querySelector(t):t;if(!i)throw new Error(`The selector "${t}" did not match any elements`);return e||(i.textContent=""),i}parentNode(t){return t.parentNode}nextSibling(t){return t.nextSibling}setAttribute(t,e,i,r){if(r){e=r+":"+e;const o=Sd[r];o?t.setAttributeNS(o,e,i):t.setAttribute(e,i)}else t.setAttribute(e,i)}removeAttribute(t,e,i){if(i){const r=Sd[i];r?t.removeAttributeNS(r,e):t.removeAttribute(`${i}:${e}`)}else t.removeAttribute(e)}addClass(t,e){t.classList.add(e)}removeClass(t,e){t.classList.remove(e)}setStyle(t,e,i,r){r&(yt.DashCase|yt.Important)?t.style.setProperty(e,i,r&yt.Important?"important":""):t.style[e]=i}removeStyle(t,e,i){i&yt.DashCase?t.style.removeProperty(e):t.style[e]=""}setProperty(t,e,i){t[e]=i}setValue(t,e){t.nodeValue=e}listen(t,e,i){return"string"==typeof t?this.eventManager.addGlobalEventListener(t,e,Sv(i)):this.eventManager.addEventListener(t,e,Sv(i))}}function wv(n){return"TEMPLATE"===n.tagName&&void 0!==n.content}class c1 extends Id{constructor(t,e,i,r){super(t),this.component=i;const o=wd(r+"-"+i.id,i.styles);e.addStyles(o),this.contentAttr=function s1(n){return"_ngcontent-%COMP%".replace(Cd,n)}(r+"-"+i.id),this.hostAttr=function a1(n){return"_nghost-%COMP%".replace(Cd,n)}(r+"-"+i.id)}applyToHost(t){super.setAttribute(t,this.hostAttr,"")}createElement(t,e){const i=super.createElement(t,e);return super.setAttribute(i,this.contentAttr,""),i}}class u1 extends Id{constructor(t,e,i,r){super(t),this.sharedStylesHost=e,this.hostEl=i,this.shadowRoot=i.attachShadow({mode:"open"}),this.sharedStylesHost.addHost(this.shadowRoot);const o=wd(r.id,r.styles);for(let s=0;s{class n extends _v{constructor(e){super(e)}supports(e){return!0}addEventListener(e,i,r){return e.addEventListener(i,r,!1),()=>this.removeEventListener(e,i,r)}removeEventListener(e,i,r){return e.removeEventListener(i,r)}}return n.\u0275fac=function(e){return new(e||n)(A(Bt))},n.\u0275prov=$({token:n,factory:n.\u0275fac}),n})();const Iv=["alt","control","meta","shift"],f1={"\b":"Backspace","\t":"Tab","\x7f":"Delete","\x1b":"Escape",Del:"Delete",Esc:"Escape",Left:"ArrowLeft",Right:"ArrowRight",Up:"ArrowUp",Down:"ArrowDown",Menu:"ContextMenu",Scroll:"ScrollLock",Win:"OS"},h1={alt:n=>n.altKey,control:n=>n.ctrlKey,meta:n=>n.metaKey,shift:n=>n.shiftKey};let p1=(()=>{class n extends _v{constructor(e){super(e)}supports(e){return null!=n.parseEventName(e)}addEventListener(e,i,r){const o=n.parseEventName(i),s=n.eventCallback(o.fullKey,r,this.manager.getZone());return this.manager.getZone().runOutsideAngular(()=>ji().onAndCancel(e,o.domEventName,s))}static parseEventName(e){const i=e.toLowerCase().split("."),r=i.shift();if(0===i.length||"keydown"!==r&&"keyup"!==r)return null;const o=n._normalizeKey(i.pop());let s="",a=i.indexOf("code");if(a>-1&&(i.splice(a,1),s="code."),Iv.forEach(c=>{const u=i.indexOf(c);u>-1&&(i.splice(u,1),s+=c+".")}),s+=o,0!=i.length||0===o.length)return null;const l={};return l.domEventName=r,l.fullKey=s,l}static matchEventFullKeyCode(e,i){let r=f1[e.key]||e.key,o="";return i.indexOf("code.")>-1&&(r=e.code,o="code."),!(null==r||!r)&&(r=r.toLowerCase()," "===r?r="space":"."===r&&(r="dot"),Iv.forEach(s=>{s!==r&&(0,h1[s])(e)&&(o+=s+".")}),o+=r,o===i)}static eventCallback(e,i,r){return o=>{n.matchEventFullKeyCode(o,e)&&r.runGuarded(()=>i(o))}}static _normalizeKey(e){return"esc"===e?"escape":e}}return n.\u0275fac=function(e){return new(e||n)(A(Bt))},n.\u0275prov=$({token:n,factory:n.\u0275fac}),n})();const Mv=[{provide:zu,useValue:"browser"},{provide:v_,useValue:function m1(){Ed.makeCurrent()},multi:!0},{provide:Bt,useFactory:function y1(){return function fw(n){Nc=n}(document),document},deps:[]}],_1=M_(ix,"browser",Mv),Av=new P(""),xv=[{provide:ga,useClass:class t1{addToWindow(t){he.getAngularTestability=(i,r=!0)=>{const o=t.findTestabilityInTree(i,r);if(null==o)throw new Error("Could not find testability for element.");return o},he.getAllAngularTestabilities=()=>t.getAllTestabilities(),he.getAllAngularRootElements=()=>t.getAllRootElements(),he.frameworkStabilizers||(he.frameworkStabilizers=[]),he.frameworkStabilizers.push(i=>{const r=he.getAllAngularTestabilities();let o=r.length,s=!1;const a=function(l){s=s||l,o--,0==o&&i(s)};r.forEach(function(l){l.whenStable(a)})})}findTestabilityInTree(t,e,i){return null==e?null:t.getTestability(e)??(i?ji().isShadowRoot(e)?this.findTestabilityInTree(t,e.host,!0):this.findTestabilityInTree(t,e.parentElement,!0):null)}},deps:[]},{provide:w_,useClass:Ku,deps:[Ie,Qu,ga]},{provide:Ku,useClass:Ku,deps:[Ie,Qu,ga]}],Pv=[{provide:Uc,useValue:"root"},{provide:fr,useFactory:function g1(){return new fr},deps:[]},{provide:Ra,useClass:d1,multi:!0,deps:[Bt,Ie,zu]},{provide:Ra,useClass:p1,multi:!0,deps:[Bt]},{provide:La,useClass:La,deps:[Fa,jo,Po]},{provide:po,useExisting:La},{provide:vv,useExisting:jo},{provide:jo,useClass:jo,deps:[Bt]},{provide:Fa,useClass:Fa,deps:[Ra,Ie]},{provide:dv,useClass:n1,deps:[]},[]];let Ov=(()=>{class n{constructor(e){}static withServerTransition(e){return{ngModule:n,providers:[{provide:Po,useValue:e.appId},{provide:yv,useExisting:Po},e1]}}}return n.\u0275fac=function(e){return new(e||n)(A(Av,12))},n.\u0275mod=ke({type:n}),n.\u0275inj=xe({providers:[...Pv,...xv],imports:[Mt,rx]}),n})();function Ad(n,t){return function(i){return i.lift(new M1(n,t))}}typeof window<"u"&&window;class M1{constructor(t,e){this.predicate=t,this.thisArg=e}call(t,e){return e.subscribe(new A1(t,this.predicate,this.thisArg))}}class A1 extends Se{constructor(t,e,i){super(t),this.predicate=e,this.thisArg=i,this.count=0}_next(t){let e;try{e=this.predicate.call(this.thisArg,t,this.count++)}catch(i){return void this.destination.error(i)}e&&this.destination.next(t)}}const x1=(()=>{function n(){return Error.call(this),this.message="argument out of range",this.name="ArgumentOutOfRangeError",this}return n.prototype=Object.create(Error.prototype),n})(),xd=new ve(n=>n.complete());function Fv(n){return n?function P1(n){return new ve(t=>n.schedule(()=>t.complete()))}(n):xd}function Pd(n){return t=>0===n?Fv():t.lift(new O1(n))}class O1{constructor(t){if(this.total=t,this.total<0)throw new x1}call(t,e){return e.subscribe(new N1(t,this.total))}}class N1 extends Se{constructor(t,e){super(t),this.total=e,this.count=0}_next(t){const e=this.total,i=++this.count;i<=e&&(this.destination.next(t),i===e&&(this.destination.complete(),this.unsubscribe()))}}class R1 extends Tn{constructor(t){super(),this._value=t}get value(){return this.getValue()}_subscribe(t){const e=super._subscribe(t);return e&&!e.closed&&t.next(this._value),e}getValue(){if(this.hasError)throw this.thrownError;if(this.closed)throw new gi;return this._value}next(t){super.next(this._value=t)}}function ka(n,t){return new ve(e=>{const i=n.length;if(0===i)return void e.complete();const r=new Array(i);let o=0,s=0;for(let a=0;a{c||(c=!0,s++),r[a]=u},error:u=>e.error(u),complete:()=>{o++,(o===i||!c)&&(s===i&&e.next(t?t.reduce((u,d,f)=>(u[d]=r[f],u),{}):r),e.complete())}}))}})}let Lv=(()=>{class n{constructor(e,i){this._renderer=e,this._elementRef=i,this.onChange=r=>{},this.onTouched=()=>{}}setProperty(e,i){this._renderer.setProperty(this._elementRef.nativeElement,e,i)}registerOnTouched(e){this.onTouched=e}registerOnChange(e){this.onChange=e}setDisabledState(e){this.setProperty("disabled",e)}}return n.\u0275fac=function(e){return new(e||n)(b(ei),b(ut))},n.\u0275dir=k({type:n}),n})(),Vi=(()=>{class n extends Lv{}return n.\u0275fac=function(){let t;return function(i){return(t||(t=function Ye(n){return Zn(()=>{const t=n.prototype.constructor,e=t[An]||lc(t),i=Object.prototype;let r=Object.getPrototypeOf(n.prototype).constructor;for(;r&&r!==i;){const o=r[An]||lc(r);if(o&&o!==e)return o;r=Object.getPrototypeOf(r)}return o=>new o})}(n)))(i||n)}}(),n.\u0275dir=k({type:n,features:[le]}),n})();const un=new P("NgValueAccessor"),k1={provide:un,useExisting:ce(()=>Vo),multi:!0},V1=new P("CompositionEventMode");let Vo=(()=>{class n extends Lv{constructor(e,i,r){super(e,i),this._compositionMode=r,this._composing=!1,null==this._compositionMode&&(this._compositionMode=!function j1(){const n=ji()?ji().getUserAgent():"";return/android (\d+)/.test(n.toLowerCase())}())}writeValue(e){this.setProperty("value",e??"")}_handleInput(e){(!this._compositionMode||this._compositionMode&&!this._composing)&&this.onChange(e)}_compositionStart(){this._composing=!0}_compositionEnd(e){this._composing=!1,this._compositionMode&&this.onChange(e)}}return n.\u0275fac=function(e){return new(e||n)(b(ei),b(ut),b(V1,8))},n.\u0275dir=k({type:n,selectors:[["input","formControlName","",3,"type","checkbox"],["textarea","formControlName",""],["input","formControl","",3,"type","checkbox"],["textarea","formControl",""],["input","ngModel","",3,"type","checkbox"],["textarea","ngModel",""],["","ngDefaultControl",""]],hostBindings:function(e,i){1&e&&J("input",function(o){return i._handleInput(o.target.value)})("blur",function(){return i.onTouched()})("compositionstart",function(){return i._compositionStart()})("compositionend",function(o){return i._compositionEnd(o.target.value)})},features:[de([k1]),le]}),n})();function oi(n){return null==n||("string"==typeof n||Array.isArray(n))&&0===n.length}function jv(n){return null!=n&&"number"==typeof n.length}const Ge=new P("NgValidators"),si=new P("NgAsyncValidators"),H1=/^(?=.{1,254}$)(?=.{1,64}@)[a-zA-Z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-zA-Z0-9!#$%&'*+/=?^_`{|}~-]+)*@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*$/;class ja{static min(t){return function Vv(n){return t=>{if(oi(t.value)||oi(n))return null;const e=parseFloat(t.value);return!isNaN(e)&&e{if(oi(t.value)||oi(n))return null;const e=parseFloat(t.value);return!isNaN(e)&&e>n?{max:{max:n,actual:t.value}}:null}}(t)}static required(t){return function Hv(n){return oi(n.value)?{required:!0}:null}(t)}static requiredTrue(t){return function Uv(n){return!0===n.value?null:{required:!0}}(t)}static email(t){return function $v(n){return oi(n.value)||H1.test(n.value)?null:{email:!0}}(t)}static minLength(t){return function zv(n){return t=>oi(t.value)||!jv(t.value)?null:t.value.lengthjv(t.value)&&t.value.length>n?{maxlength:{requiredLength:n,actualLength:t.value.length}}:null}(t)}static pattern(t){return function Gv(n){if(!n)return Va;let t,e;return"string"==typeof n?(e="","^"!==n.charAt(0)&&(e+="^"),e+=n,"$"!==n.charAt(n.length-1)&&(e+="$"),t=new RegExp(e)):(e=n.toString(),t=n),i=>{if(oi(i.value))return null;const r=i.value;return t.test(r)?null:{pattern:{requiredPattern:e,actualValue:r}}}}(t)}static nullValidator(t){return null}static compose(t){return Xv(t)}static composeAsync(t){return Jv(t)}}function Va(n){return null}function qv(n){return null!=n}function Kv(n){return ra(n)?yi(n):n}function Qv(n){let t={};return n.forEach(e=>{t=null!=e?{...t,...e}:t}),0===Object.keys(t).length?null:t}function Yv(n,t){return t.map(e=>e(n))}function Zv(n){return n.map(t=>function U1(n){return!n.validate}(t)?t:e=>t.validate(e))}function Xv(n){if(!n)return null;const t=n.filter(qv);return 0==t.length?null:function(e){return Qv(Yv(e,t))}}function Od(n){return null!=n?Xv(Zv(n)):null}function Jv(n){if(!n)return null;const t=n.filter(qv);return 0==t.length?null:function(e){return function F1(...n){if(1===n.length){const t=n[0];if(Kt(t))return ka(t,null);if(Tl(t)&&Object.getPrototypeOf(t)===Object.prototype){const e=Object.keys(t);return ka(e.map(i=>t[i]),e)}}if("function"==typeof n[n.length-1]){const t=n.pop();return ka(n=1===n.length&&Kt(n[0])?n[0]:n,null).pipe(mt(e=>t(...e)))}return ka(n,null)}(Yv(e,t).map(Kv)).pipe(mt(Qv))}}function Nd(n){return null!=n?Jv(Zv(n)):null}function eb(n,t){return null===n?[t]:Array.isArray(n)?[...n,t]:[n,t]}function tb(n){return n._rawValidators}function nb(n){return n._rawAsyncValidators}function Rd(n){return n?Array.isArray(n)?n:[n]:[]}function Ba(n,t){return Array.isArray(n)?n.includes(t):n===t}function ib(n,t){const e=Rd(t);return Rd(n).forEach(r=>{Ba(e,r)||e.push(r)}),e}function rb(n,t){return Rd(t).filter(e=>!Ba(n,e))}class ob{constructor(){this._rawValidators=[],this._rawAsyncValidators=[],this._onDestroyCallbacks=[]}get value(){return this.control?this.control.value:null}get valid(){return this.control?this.control.valid:null}get invalid(){return this.control?this.control.invalid:null}get pending(){return this.control?this.control.pending:null}get disabled(){return this.control?this.control.disabled:null}get enabled(){return this.control?this.control.enabled:null}get errors(){return this.control?this.control.errors:null}get pristine(){return this.control?this.control.pristine:null}get dirty(){return this.control?this.control.dirty:null}get touched(){return this.control?this.control.touched:null}get status(){return this.control?this.control.status:null}get untouched(){return this.control?this.control.untouched:null}get statusChanges(){return this.control?this.control.statusChanges:null}get valueChanges(){return this.control?this.control.valueChanges:null}get path(){return null}_setValidators(t){this._rawValidators=t||[],this._composedValidatorFn=Od(this._rawValidators)}_setAsyncValidators(t){this._rawAsyncValidators=t||[],this._composedAsyncValidatorFn=Nd(this._rawAsyncValidators)}get validator(){return this._composedValidatorFn||null}get asyncValidator(){return this._composedAsyncValidatorFn||null}_registerOnDestroy(t){this._onDestroyCallbacks.push(t)}_invokeOnDestroyCallbacks(){this._onDestroyCallbacks.forEach(t=>t()),this._onDestroyCallbacks=[]}reset(t){this.control&&this.control.reset(t)}hasError(t,e){return!!this.control&&this.control.hasError(t,e)}getError(t,e){return this.control?this.control.getError(t,e):null}}class ht extends ob{get formDirective(){return null}get path(){return null}}class ai extends ob{constructor(){super(...arguments),this._parent=null,this.name=null,this.valueAccessor=null}}class sb{constructor(t){this._cd=t}get isTouched(){return!!this._cd?.control?.touched}get isUntouched(){return!!this._cd?.control?.untouched}get isPristine(){return!!this._cd?.control?.pristine}get isDirty(){return!!this._cd?.control?.dirty}get isValid(){return!!this._cd?.control?.valid}get isInvalid(){return!!this._cd?.control?.invalid}get isPending(){return!!this._cd?.control?.pending}get isSubmitted(){return!!this._cd?.submitted}}let Fd=(()=>{class n extends sb{constructor(e){super(e)}}return n.\u0275fac=function(e){return new(e||n)(b(ai,2))},n.\u0275dir=k({type:n,selectors:[["","formControlName",""],["","ngModel",""],["","formControl",""]],hostVars:14,hostBindings:function(e,i){2&e&&bo("ng-untouched",i.isUntouched)("ng-touched",i.isTouched)("ng-pristine",i.isPristine)("ng-dirty",i.isDirty)("ng-valid",i.isValid)("ng-invalid",i.isInvalid)("ng-pending",i.isPending)},features:[le]}),n})(),Ld=(()=>{class n extends sb{constructor(e){super(e)}}return n.\u0275fac=function(e){return new(e||n)(b(ht,10))},n.\u0275dir=k({type:n,selectors:[["","formGroupName",""],["","formArrayName",""],["","ngModelGroup",""],["","formGroup",""],["form",3,"ngNoForm",""],["","ngForm",""]],hostVars:16,hostBindings:function(e,i){2&e&&bo("ng-untouched",i.isUntouched)("ng-touched",i.isTouched)("ng-pristine",i.isPristine)("ng-dirty",i.isDirty)("ng-valid",i.isValid)("ng-invalid",i.isInvalid)("ng-pending",i.isPending)("ng-submitted",i.isSubmitted)},features:[le]}),n})();const Bo="VALID",Ua="INVALID",kr="PENDING",Ho="DISABLED";function Bd(n){return($a(n)?n.validators:n)||null}function Hd(n,t){return($a(t)?t.asyncValidators:n)||null}function $a(n){return null!=n&&!Array.isArray(n)&&"object"==typeof n}class ub{constructor(t,e){this._pendingDirty=!1,this._hasOwnPendingAsyncValidator=!1,this._pendingTouched=!1,this._onCollectionChange=()=>{},this._parent=null,this.pristine=!0,this.touched=!1,this._onDisabledChange=[],this._assignValidators(t),this._assignAsyncValidators(e)}get validator(){return this._composedValidatorFn}set validator(t){this._rawValidators=this._composedValidatorFn=t}get asyncValidator(){return this._composedAsyncValidatorFn}set asyncValidator(t){this._rawAsyncValidators=this._composedAsyncValidatorFn=t}get parent(){return this._parent}get valid(){return this.status===Bo}get invalid(){return this.status===Ua}get pending(){return this.status==kr}get disabled(){return this.status===Ho}get enabled(){return this.status!==Ho}get dirty(){return!this.pristine}get untouched(){return!this.touched}get updateOn(){return this._updateOn?this._updateOn:this.parent?this.parent.updateOn:"change"}setValidators(t){this._assignValidators(t)}setAsyncValidators(t){this._assignAsyncValidators(t)}addValidators(t){this.setValidators(ib(t,this._rawValidators))}addAsyncValidators(t){this.setAsyncValidators(ib(t,this._rawAsyncValidators))}removeValidators(t){this.setValidators(rb(t,this._rawValidators))}removeAsyncValidators(t){this.setAsyncValidators(rb(t,this._rawAsyncValidators))}hasValidator(t){return Ba(this._rawValidators,t)}hasAsyncValidator(t){return Ba(this._rawAsyncValidators,t)}clearValidators(){this.validator=null}clearAsyncValidators(){this.asyncValidator=null}markAsTouched(t={}){this.touched=!0,this._parent&&!t.onlySelf&&this._parent.markAsTouched(t)}markAllAsTouched(){this.markAsTouched({onlySelf:!0}),this._forEachChild(t=>t.markAllAsTouched())}markAsUntouched(t={}){this.touched=!1,this._pendingTouched=!1,this._forEachChild(e=>{e.markAsUntouched({onlySelf:!0})}),this._parent&&!t.onlySelf&&this._parent._updateTouched(t)}markAsDirty(t={}){this.pristine=!1,this._parent&&!t.onlySelf&&this._parent.markAsDirty(t)}markAsPristine(t={}){this.pristine=!0,this._pendingDirty=!1,this._forEachChild(e=>{e.markAsPristine({onlySelf:!0})}),this._parent&&!t.onlySelf&&this._parent._updatePristine(t)}markAsPending(t={}){this.status=kr,!1!==t.emitEvent&&this.statusChanges.emit(this.status),this._parent&&!t.onlySelf&&this._parent.markAsPending(t)}disable(t={}){const e=this._parentMarkedDirty(t.onlySelf);this.status=Ho,this.errors=null,this._forEachChild(i=>{i.disable({...t,onlySelf:!0})}),this._updateValue(),!1!==t.emitEvent&&(this.valueChanges.emit(this.value),this.statusChanges.emit(this.status)),this._updateAncestors({...t,skipPristineCheck:e}),this._onDisabledChange.forEach(i=>i(!0))}enable(t={}){const e=this._parentMarkedDirty(t.onlySelf);this.status=Bo,this._forEachChild(i=>{i.enable({...t,onlySelf:!0})}),this.updateValueAndValidity({onlySelf:!0,emitEvent:t.emitEvent}),this._updateAncestors({...t,skipPristineCheck:e}),this._onDisabledChange.forEach(i=>i(!1))}_updateAncestors(t){this._parent&&!t.onlySelf&&(this._parent.updateValueAndValidity(t),t.skipPristineCheck||this._parent._updatePristine(),this._parent._updateTouched())}setParent(t){this._parent=t}getRawValue(){return this.value}updateValueAndValidity(t={}){this._setInitialStatus(),this._updateValue(),this.enabled&&(this._cancelExistingSubscription(),this.errors=this._runValidator(),this.status=this._calculateStatus(),(this.status===Bo||this.status===kr)&&this._runAsyncValidator(t.emitEvent)),!1!==t.emitEvent&&(this.valueChanges.emit(this.value),this.statusChanges.emit(this.status)),this._parent&&!t.onlySelf&&this._parent.updateValueAndValidity(t)}_updateTreeValidity(t={emitEvent:!0}){this._forEachChild(e=>e._updateTreeValidity(t)),this.updateValueAndValidity({onlySelf:!0,emitEvent:t.emitEvent})}_setInitialStatus(){this.status=this._allControlsDisabled()?Ho:Bo}_runValidator(){return this.validator?this.validator(this):null}_runAsyncValidator(t){if(this.asyncValidator){this.status=kr,this._hasOwnPendingAsyncValidator=!0;const e=Kv(this.asyncValidator(this));this._asyncValidationSubscription=e.subscribe(i=>{this._hasOwnPendingAsyncValidator=!1,this.setErrors(i,{emitEvent:t})})}}_cancelExistingSubscription(){this._asyncValidationSubscription&&(this._asyncValidationSubscription.unsubscribe(),this._hasOwnPendingAsyncValidator=!1)}setErrors(t,e={}){this.errors=t,this._updateControlsErrors(!1!==e.emitEvent)}get(t){let e=t;return null==e||(Array.isArray(e)||(e=e.split(".")),0===e.length)?null:e.reduce((i,r)=>i&&i._find(r),this)}getError(t,e){const i=e?this.get(e):this;return i&&i.errors?i.errors[t]:null}hasError(t,e){return!!this.getError(t,e)}get root(){let t=this;for(;t._parent;)t=t._parent;return t}_updateControlsErrors(t){this.status=this._calculateStatus(),t&&this.statusChanges.emit(this.status),this._parent&&this._parent._updateControlsErrors(t)}_initObservables(){this.valueChanges=new Y,this.statusChanges=new Y}_calculateStatus(){return this._allControlsDisabled()?Ho:this.errors?Ua:this._hasOwnPendingAsyncValidator||this._anyControlsHaveStatus(kr)?kr:this._anyControlsHaveStatus(Ua)?Ua:Bo}_anyControlsHaveStatus(t){return this._anyControls(e=>e.status===t)}_anyControlsDirty(){return this._anyControls(t=>t.dirty)}_anyControlsTouched(){return this._anyControls(t=>t.touched)}_updatePristine(t={}){this.pristine=!this._anyControlsDirty(),this._parent&&!t.onlySelf&&this._parent._updatePristine(t)}_updateTouched(t={}){this.touched=this._anyControlsTouched(),this._parent&&!t.onlySelf&&this._parent._updateTouched(t)}_registerOnCollectionChange(t){this._onCollectionChange=t}_setUpdateStrategy(t){$a(t)&&null!=t.updateOn&&(this._updateOn=t.updateOn)}_parentMarkedDirty(t){return!t&&!(!this._parent||!this._parent.dirty)&&!this._parent._anyControlsDirty()}_find(t){return null}_assignValidators(t){this._rawValidators=Array.isArray(t)?t.slice():t,this._composedValidatorFn=function Q1(n){return Array.isArray(n)?Od(n):n||null}(this._rawValidators)}_assignAsyncValidators(t){this._rawAsyncValidators=Array.isArray(t)?t.slice():t,this._composedAsyncValidatorFn=function Y1(n){return Array.isArray(n)?Nd(n):n||null}(this._rawAsyncValidators)}}class Uo extends ub{constructor(t,e,i){super(Bd(e),Hd(i,e)),this.controls=t,this._initObservables(),this._setUpdateStrategy(e),this._setUpControls(),this.updateValueAndValidity({onlySelf:!0,emitEvent:!!this.asyncValidator})}registerControl(t,e){return this.controls[t]?this.controls[t]:(this.controls[t]=e,e.setParent(this),e._registerOnCollectionChange(this._onCollectionChange),e)}addControl(t,e,i={}){this.registerControl(t,e),this.updateValueAndValidity({emitEvent:i.emitEvent}),this._onCollectionChange()}removeControl(t,e={}){this.controls[t]&&this.controls[t]._registerOnCollectionChange(()=>{}),delete this.controls[t],this.updateValueAndValidity({emitEvent:e.emitEvent}),this._onCollectionChange()}setControl(t,e,i={}){this.controls[t]&&this.controls[t]._registerOnCollectionChange(()=>{}),delete this.controls[t],e&&this.registerControl(t,e),this.updateValueAndValidity({emitEvent:i.emitEvent}),this._onCollectionChange()}contains(t){return this.controls.hasOwnProperty(t)&&this.controls[t].enabled}setValue(t,e={}){(function cb(n,t,e){n._forEachChild((i,r)=>{if(void 0===e[r])throw new D(1002,"")})})(this,0,t),Object.keys(t).forEach(i=>{(function lb(n,t,e){const i=n.controls;if(!(t?Object.keys(i):i).length)throw new D(1e3,"");if(!i[e])throw new D(1001,"")})(this,!0,i),this.controls[i].setValue(t[i],{onlySelf:!0,emitEvent:e.emitEvent})}),this.updateValueAndValidity(e)}patchValue(t,e={}){null!=t&&(Object.keys(t).forEach(i=>{const r=this.controls[i];r&&r.patchValue(t[i],{onlySelf:!0,emitEvent:e.emitEvent})}),this.updateValueAndValidity(e))}reset(t={},e={}){this._forEachChild((i,r)=>{i.reset(t[r],{onlySelf:!0,emitEvent:e.emitEvent})}),this._updatePristine(e),this._updateTouched(e),this.updateValueAndValidity(e)}getRawValue(){return this._reduceChildren({},(t,e,i)=>(t[i]=e.getRawValue(),t))}_syncPendingControls(){let t=this._reduceChildren(!1,(e,i)=>!!i._syncPendingControls()||e);return t&&this.updateValueAndValidity({onlySelf:!0}),t}_forEachChild(t){Object.keys(this.controls).forEach(e=>{const i=this.controls[e];i&&t(i,e)})}_setUpControls(){this._forEachChild(t=>{t.setParent(this),t._registerOnCollectionChange(this._onCollectionChange)})}_updateValue(){this.value=this._reduceValue()}_anyControls(t){for(const[e,i]of Object.entries(this.controls))if(this.contains(e)&&t(i))return!0;return!1}_reduceValue(){return this._reduceChildren({},(e,i,r)=>((i.enabled||this.disabled)&&(e[r]=i.value),e))}_reduceChildren(t,e){let i=t;return this._forEachChild((r,o)=>{i=e(i,r,o)}),i}_allControlsDisabled(){for(const t of Object.keys(this.controls))if(this.controls[t].enabled)return!1;return Object.keys(this.controls).length>0||this.disabled}_find(t){return this.controls.hasOwnProperty(t)?this.controls[t]:null}}const jr=new P("CallSetDisabledState",{providedIn:"root",factory:()=>za}),za="always";function Wa(n,t){return[...t.path,n]}function $o(n,t,e=za){Ud(n,t),t.valueAccessor.writeValue(n.value),(n.disabled||"always"===e)&&t.valueAccessor.setDisabledState?.(n.disabled),function J1(n,t){t.valueAccessor.registerOnChange(e=>{n._pendingValue=e,n._pendingChange=!0,n._pendingDirty=!0,"change"===n.updateOn&&db(n,t)})}(n,t),function tO(n,t){const e=(i,r)=>{t.valueAccessor.writeValue(i),r&&t.viewToModelUpdate(i)};n.registerOnChange(e),t._registerOnDestroy(()=>{n._unregisterOnChange(e)})}(n,t),function eO(n,t){t.valueAccessor.registerOnTouched(()=>{n._pendingTouched=!0,"blur"===n.updateOn&&n._pendingChange&&db(n,t),"submit"!==n.updateOn&&n.markAsTouched()})}(n,t),function X1(n,t){if(t.valueAccessor.setDisabledState){const e=i=>{t.valueAccessor.setDisabledState(i)};n.registerOnDisabledChange(e),t._registerOnDestroy(()=>{n._unregisterOnDisabledChange(e)})}}(n,t)}function Ga(n,t,e=!0){const i=()=>{};t.valueAccessor&&(t.valueAccessor.registerOnChange(i),t.valueAccessor.registerOnTouched(i)),Ka(n,t),n&&(t._invokeOnDestroyCallbacks(),n._registerOnCollectionChange(()=>{}))}function qa(n,t){n.forEach(e=>{e.registerOnValidatorChange&&e.registerOnValidatorChange(t)})}function Ud(n,t){const e=tb(n);null!==t.validator?n.setValidators(eb(e,t.validator)):"function"==typeof e&&n.setValidators([e]);const i=nb(n);null!==t.asyncValidator?n.setAsyncValidators(eb(i,t.asyncValidator)):"function"==typeof i&&n.setAsyncValidators([i]);const r=()=>n.updateValueAndValidity();qa(t._rawValidators,r),qa(t._rawAsyncValidators,r)}function Ka(n,t){let e=!1;if(null!==n){if(null!==t.validator){const r=tb(n);if(Array.isArray(r)&&r.length>0){const o=r.filter(s=>s!==t.validator);o.length!==r.length&&(e=!0,n.setValidators(o))}}if(null!==t.asyncValidator){const r=nb(n);if(Array.isArray(r)&&r.length>0){const o=r.filter(s=>s!==t.asyncValidator);o.length!==r.length&&(e=!0,n.setAsyncValidators(o))}}}const i=()=>{};return qa(t._rawValidators,i),qa(t._rawAsyncValidators,i),e}function db(n,t){n._pendingDirty&&n.markAsDirty(),n.setValue(n._pendingValue,{emitModelToViewChange:!1}),t.viewToModelUpdate(n._pendingValue),n._pendingChange=!1}function zd(n,t){if(!n.hasOwnProperty("model"))return!1;const e=n.model;return!!e.isFirstChange()||!Object.is(t,e.currentValue)}function Wd(n,t){if(!t)return null;let e,i,r;return Array.isArray(t),t.forEach(o=>{o.constructor===Vo?e=o:function rO(n){return Object.getPrototypeOf(n.constructor)===Vi}(o)?i=o:r=o}),r||i||e||null}function pb(n,t){const e=n.indexOf(t);e>-1&&n.splice(e,1)}function mb(n){return"object"==typeof n&&null!==n&&2===Object.keys(n).length&&"value"in n&&"disabled"in n}const Wo=class extends ub{constructor(t=null,e,i){super(Bd(e),Hd(i,e)),this.defaultValue=null,this._onChange=[],this._pendingChange=!1,this._applyFormState(t),this._setUpdateStrategy(e),this._initObservables(),this.updateValueAndValidity({onlySelf:!0,emitEvent:!!this.asyncValidator}),$a(e)&&(e.nonNullable||e.initialValueIsDefault)&&(this.defaultValue=mb(t)?t.value:t)}setValue(t,e={}){this.value=this._pendingValue=t,this._onChange.length&&!1!==e.emitModelToViewChange&&this._onChange.forEach(i=>i(this.value,!1!==e.emitViewToModelChange)),this.updateValueAndValidity(e)}patchValue(t,e={}){this.setValue(t,e)}reset(t=this.defaultValue,e={}){this._applyFormState(t),this.markAsPristine(e),this.markAsUntouched(e),this.setValue(this.value,e),this._pendingChange=!1}_updateValue(){}_anyControls(t){return!1}_allControlsDisabled(){return this.disabled}registerOnChange(t){this._onChange.push(t)}_unregisterOnChange(t){pb(this._onChange,t)}registerOnDisabledChange(t){this._onDisabledChange.push(t)}_unregisterOnDisabledChange(t){pb(this._onDisabledChange,t)}_forEachChild(t){}_syncPendingControls(){return!("submit"!==this.updateOn||(this._pendingDirty&&this.markAsDirty(),this._pendingTouched&&this.markAsTouched(),!this._pendingChange)||(this.setValue(this._pendingValue,{onlySelf:!0,emitModelToViewChange:!1}),0))}_applyFormState(t){mb(t)?(this.value=this._pendingValue=t.value,t.disabled?this.disable({onlySelf:!0,emitEvent:!1}):this.enable({onlySelf:!0,emitEvent:!1})):this.value=this._pendingValue=t}},cO={provide:ai,useExisting:ce(()=>qd)},_b=(()=>Promise.resolve())();let qd=(()=>{class n extends ai{constructor(e,i,r,o,s,a){super(),this._changeDetectorRef=s,this.callSetDisabledState=a,this.control=new Wo,this._registered=!1,this.update=new Y,this._parent=e,this._setValidators(i),this._setAsyncValidators(r),this.valueAccessor=Wd(0,o)}ngOnChanges(e){if(this._checkForErrors(),!this._registered||"name"in e){if(this._registered&&(this._checkName(),this.formDirective)){const i=e.name.previousValue;this.formDirective.removeControl({name:i,path:this._getPath(i)})}this._setUpControl()}"isDisabled"in e&&this._updateDisabled(e),zd(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&&null!=this.options.updateOn&&(this.control._updateOn=this.options.updateOn)}_isStandalone(){return!this._parent||!(!this.options||!this.options.standalone)}_setUpStandalone(){$o(this.control,this,this.callSetDisabledState),this.control.updateValueAndValidity({emitEvent:!1})}_checkForErrors(){this._isStandalone()||this._checkParentType(),this._checkName()}_checkParentType(){}_checkName(){this.options&&this.options.name&&(this.name=this.options.name),this._isStandalone()}_updateValue(e){_b.then(()=>{this.control.setValue(e,{emitViewToModelChange:!1}),this._changeDetectorRef?.markForCheck()})}_updateDisabled(e){const i=e.isDisabled.currentValue,r=0!==i&&function id(n){return"boolean"==typeof n?n:null!=n&&"false"!==n}(i);_b.then(()=>{r&&!this.control.disabled?this.control.disable():!r&&this.control.disabled&&this.control.enable(),this._changeDetectorRef?.markForCheck()})}_getPath(e){return this._parent?Wa(e,this._parent):[e]}}return n.\u0275fac=function(e){return new(e||n)(b(ht,9),b(Ge,10),b(si,10),b(un,10),b(Li,8),b(jr,8))},n.\u0275dir=k({type:n,selectors:[["","ngModel","",3,"formControlName","",3,"formControl",""]],inputs:{name:"name",isDisabled:["disabled","isDisabled"],model:["ngModel","model"],options:["ngModelOptions","options"]},outputs:{update:"ngModelChange"},exportAs:["ngModel"],features:[de([cO]),le,hn]}),n})(),Kd=(()=>{class n{}return n.\u0275fac=function(e){return new(e||n)},n.\u0275dir=k({type:n,selectors:[["form",3,"ngNoForm","",3,"ngNativeValidate",""]],hostAttrs:["novalidate",""]}),n})(),bb=(()=>{class n{}return n.\u0275fac=function(e){return new(e||n)},n.\u0275mod=ke({type:n}),n.\u0275inj=xe({}),n})();const Qd=new P("NgModelWithFormControlWarning"),mO={provide:ht,useExisting:ce(()=>Go)};let Go=(()=>{class n extends ht{constructor(e,i,r){super(),this.callSetDisabledState=r,this.submitted=!1,this._onCollectionChange=()=>this._updateDomValue(),this.directives=[],this.form=null,this.ngSubmit=new Y,this._setValidators(e),this._setAsyncValidators(i)}ngOnChanges(e){this._checkFormPresent(),e.hasOwnProperty("form")&&(this._updateValidators(),this._updateDomValue(),this._updateRegistrations(),this._oldForm=this.form)}ngOnDestroy(){this.form&&(Ka(this.form,this),this.form._onCollectionChange===this._onCollectionChange&&this.form._registerOnCollectionChange(()=>{}))}get formDirective(){return this}get control(){return this.form}get path(){return[]}addControl(e){const i=this.form.get(e.path);return $o(i,e,this.callSetDisabledState),i.updateValueAndValidity({emitEvent:!1}),this.directives.push(e),i}getControl(e){return this.form.get(e.path)}removeControl(e){Ga(e.control||null,e,!1),function oO(n,t){const e=n.indexOf(t);e>-1&&n.splice(e,1)}(this.directives,e)}addFormGroup(e){this._setUpFormContainer(e)}removeFormGroup(e){this._cleanUpFormContainer(e)}getFormGroup(e){return this.form.get(e.path)}addFormArray(e){this._setUpFormContainer(e)}removeFormArray(e){this._cleanUpFormContainer(e)}getFormArray(e){return this.form.get(e.path)}updateModel(e,i){this.form.get(e.path).setValue(i)}onSubmit(e){return this.submitted=!0,function hb(n,t){n._syncPendingControls(),t.forEach(e=>{const i=e.control;"submit"===i.updateOn&&i._pendingChange&&(e.viewToModelUpdate(i._pendingValue),i._pendingChange=!1)})}(this.form,this.directives),this.ngSubmit.emit(e),"dialog"===e?.target?.method}onReset(){this.resetForm()}resetForm(e){this.form.reset(e),this.submitted=!1}_updateDomValue(){this.directives.forEach(e=>{const i=e.control,r=this.form.get(e.path);i!==r&&(Ga(i||null,e),(n=>n instanceof Wo)(r)&&($o(r,e,this.callSetDisabledState),e.control=r))}),this.form._updateTreeValidity({emitEvent:!1})}_setUpFormContainer(e){const i=this.form.get(e.path);(function fb(n,t){Ud(n,t)})(i,e),i.updateValueAndValidity({emitEvent:!1})}_cleanUpFormContainer(e){if(this.form){const i=this.form.get(e.path);i&&function nO(n,t){return Ka(n,t)}(i,e)&&i.updateValueAndValidity({emitEvent:!1})}}_updateRegistrations(){this.form._registerOnCollectionChange(this._onCollectionChange),this._oldForm&&this._oldForm._registerOnCollectionChange(()=>{})}_updateValidators(){Ud(this.form,this),this._oldForm&&Ka(this._oldForm,this)}_checkFormPresent(){}}return n.\u0275fac=function(e){return new(e||n)(b(Ge,10),b(si,10),b(jr,8))},n.\u0275dir=k({type:n,selectors:[["","formGroup",""]],hostBindings:function(e,i){1&e&&J("submit",function(o){return i.onSubmit(o)})("reset",function(){return i.onReset()})},inputs:{form:["formGroup","form"]},outputs:{ngSubmit:"ngSubmit"},exportAs:["ngForm"],features:[de([mO]),le,hn]}),n})();const _O={provide:ai,useExisting:ce(()=>Qa)};let Qa=(()=>{class n extends ai{set isDisabled(e){}constructor(e,i,r,o,s){super(),this._ngModelWarningConfig=s,this._added=!1,this.update=new Y,this._ngModelWarningSent=!1,this._parent=e,this._setValidators(i),this._setAsyncValidators(r),this.valueAccessor=Wd(0,o)}ngOnChanges(e){this._added||this._setUpControl(),zd(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 Wa(null==this.name?this.name:this.name.toString(),this._parent)}get formDirective(){return this._parent?this._parent.formDirective:null}_checkParentType(){}_setUpControl(){this._checkParentType(),this.control=this.formDirective.addControl(this),this._added=!0}}return n._ngModelWarningSentOnce=!1,n.\u0275fac=function(e){return new(e||n)(b(ht,13),b(Ge,10),b(si,10),b(un,10),b(Qd,8))},n.\u0275dir=k({type:n,selectors:[["","formControlName",""]],inputs:{name:["formControlName","name"],isDisabled:["disabled","isDisabled"],model:["ngModel","model"]},outputs:{update:"ngModelChange"},features:[de([_O]),le,hn]}),n})(),Lb=(()=>{class n{}return n.\u0275fac=function(e){return new(e||n)},n.\u0275mod=ke({type:n}),n.\u0275inj=xe({imports:[bb]}),n})(),kb=(()=>{class n{static withConfig(e){return{ngModule:n,providers:[{provide:jr,useValue:e.callSetDisabledState??za}]}}}return n.\u0275fac=function(e){return new(e||n)},n.\u0275mod=ke({type:n}),n.\u0275inj=xe({imports:[Lb]}),n})(),jb=(()=>{class n{static withConfig(e){return{ngModule:n,providers:[{provide:Qd,useValue:e.warnOnNgModelWithFormControl??"always"},{provide:jr,useValue:e.callSetDisabledState??za}]}}}return n.\u0275fac=function(e){return new(e||n)},n.\u0275mod=ke({type:n}),n.\u0275inj=xe({imports:[Lb]}),n})();const RO=["editor"];let LO=(()=>{class n{constructor(e,i){this.ngZone=e,this.monacoPathConfig=i,this.isMonacoLoaded$=new R1(!1),this._monacoPath="assets/monaco-editor/min/vs",window.monacoEditorAlreadyInitialized?e.run(()=>this.isMonacoLoaded$.next(!0)):(window.monacoEditorAlreadyInitialized=!0,this.monacoPathConfig&&(this.monacoPath=this.monacoPathConfig),this.loadMonaco())}set monacoPath(e){e&&(this._monacoPath=e)}loadMonaco(){const e=()=>{let s=this._monacoPath;window.amdRequire=window.require;const a=!!this.nodeRequire,l=s.includes("http");a&&(window.require=this.nodeRequire,l||(s=window.require("path").resolve(window.__dirname,this._monacoPath))),window.amdRequire.config({paths:{vs:s}}),window.amdRequire(["vs/editor/editor.main"],()=>{this.ngZone.run(()=>this.isMonacoLoaded$.next(!0))},c=>console.error("Error loading monaco-editor: ",c))};if(window.amdRequire)return e();window.require&&(this.addElectronFixScripts(),this.nodeRequire=window.require);const o=document.createElement("script");o.type="text/javascript",o.src=`${this._monacoPath}/loader.js`,o.addEventListener("load",e),document.body.appendChild(o)}addElectronFixScripts(){const e=document.createElement("script"),i=document.createTextNode("self.module = undefined;"),r=document.createTextNode("self.process.browser = true;");e.appendChild(i),e.appendChild(r),document.body.appendChild(e)}}return n.\u0275fac=function(e){return new(e||n)(A(Ie),A("MONACO_PATH",8))},n.\u0275prov=$({token:n,factory:n.\u0275fac,providedIn:"root"}),n})(),kO=(()=>{class n{constructor(e){this.monacoLoader=e,this.init=new Y,this.onTouched=()=>{},this.onErrorStatusChange=()=>{},this.propagateChange=()=>{}}get model(){return this.editor&&this.editor.getModel()}get modelMarkers(){return this.model&&monaco.editor.getModelMarkers({resource:this.model.uri})}ngOnInit(){this.monacoLoader.isMonacoLoaded$.pipe(Ad(e=>e),Pd(1)).subscribe(()=>{this.initEditor()})}ngOnChanges(e){if(this.editor&&e.options&&!e.options.firstChange){const{language:i,theme:r,...o}=e.options.currentValue,{language:s,theme:a}=e.options.previousValue;s!==i&&monaco.editor.setModelLanguage(this.editor.getModel(),this.options&&this.options.language?this.options.language:"text"),a!==r&&monaco.editor.setTheme(r),this.editor.updateOptions(o)}if(this.editor&&e.uri){const i=e.uri.currentValue,r=e.uri.previousValue;if(r&&!i||!r&&i||i&&r&&i.path!==r.path){const o=this.editor.getValue();let s;this.modelUriInstance&&this.modelUriInstance.dispose(),i&&(s=monaco.editor.getModels().find(a=>a.uri.path===i.path)),this.modelUriInstance=s||monaco.editor.createModel(o,this.options.language||"text",this.uri),this.editor.setModel(this.modelUriInstance)}}}writeValue(e){this.value=e,this.editor&&e?this.editor.setValue(e):this.editor&&this.editor.setValue("")}registerOnChange(e){this.propagateChange=e}registerOnTouched(e){this.onTouched=e}validate(){return this.parsedError?{monaco:{value:this.parsedError.split("|")}}:null}registerOnValidatorChange(e){this.onErrorStatusChange=e}initEditor(){const e={value:[this.value].join("\n"),language:"text",automaticLayout:!0,scrollBeyondLastLine:!1,theme:"vc"};this.editor=monaco.editor.create(this.editorContent.nativeElement,this.options?{...e,...this.options}:e),this.registerEditorListeners(),this.init.emit(this.editor)}registerEditorListeners(){this.editor.onDidChangeModelContent(()=>{this.propagateChange(this.editor.getValue())}),this.editor.onDidChangeModelDecorations(()=>{const e=this.modelMarkers.map(({message:r})=>r).join("|");this.parsedError!==e&&(this.parsedError=e,this.onErrorStatusChange())}),this.editor.onDidBlurEditorText(()=>{this.onTouched()})}ngOnDestroy(){this.editor&&this.editor.dispose()}}return n.\u0275fac=function(e){return new(e||n)(b(LO))},n.\u0275cmp=gt({type:n,selectors:[["ngx-monaco-editor"]],viewQuery:function(e,i){if(1&e&&Fi(RO,7),2&e){let r;on(r=sn())&&(i.editorContent=r.first)}},inputs:{options:"options",uri:"uri"},outputs:{init:"init"},features:[de([{provide:un,useExisting:ce(()=>n),multi:!0},{provide:Ge,useExisting:ce(()=>n),multi:!0}]),hn],decls:4,vars:0,consts:[["fxFlex","",1,"editor-container"],["container",""],[1,"monaco-editor"],["editor",""]],template:function(e,i){1&e&&(R(0,"div",0,1),Oe(2,"div",2,3),W())},styles:[".monaco-editor[_ngcontent-%COMP%]{position:absolute;top:0;bottom:0;left:0;right:0}.editor-container[_ngcontent-%COMP%]{overflow:hidden;position:relative;display:table;width:100%;height:100%;min-width:0}"],changeDetection:0}),n})(),tf=(()=>{class n{}return n.\u0275fac=function(e){return new(e||n)},n.\u0275mod=ke({type:n}),n.\u0275inj=xe({imports:[[]]}),n})();class jO extends _e{constructor(t,e){super()}schedule(t,e=0){return this}}class nf extends jO{constructor(t,e){super(t,e),this.scheduler=t,this.work=e,this.pending=!1}schedule(t,e=0){if(this.closed)return this;this.state=t;const i=this.id,r=this.scheduler;return null!=i&&(this.id=this.recycleAsyncId(r,i,e)),this.pending=!0,this.delay=e,this.id=this.id||this.requestAsyncId(r,this.id,e),this}requestAsyncId(t,e,i=0){return setInterval(t.flush.bind(t,this),i)}recycleAsyncId(t,e,i=0){if(null!==i&&this.delay===i&&!1===this.pending)return e;clearInterval(e)}execute(t,e){if(this.closed)return new Error("executing a cancelled action");this.pending=!1;const i=this._execute(t,e);if(i)return i;!1===this.pending&&null!=this.id&&(this.id=this.recycleAsyncId(this.scheduler,this.id,null))}_execute(t,e){let r,i=!1;try{this.work(t)}catch(o){i=!0,r=!!o&&o||new Error(o)}if(i)return this.unsubscribe(),r}_unsubscribe(){const t=this.id,e=this.scheduler,i=e.actions,r=i.indexOf(this);this.work=null,this.state=null,this.pending=!1,this.scheduler=null,-1!==r&&i.splice(r,1),null!=t&&(this.id=this.recycleAsyncId(e,t,null)),this.delay=null}}let Vb=(()=>{class n{constructor(e,i=n.now){this.SchedulerAction=e,this.now=i}schedule(e,i=0,r){return new this.SchedulerAction(this,e).schedule(r,i)}}return n.now=()=>Date.now(),n})();class En extends Vb{constructor(t,e=Vb.now){super(t,()=>En.delegate&&En.delegate!==this?En.delegate.now():e()),this.actions=[],this.active=!1,this.scheduled=void 0}schedule(t,e=0,i){return En.delegate&&En.delegate!==this?En.delegate.schedule(t,e,i):super.schedule(t,e,i)}flush(t){const{actions:e}=this;if(this.active)return void e.push(t);let i;this.active=!0;do{if(i=t.execute(t.state,t.delay))break}while(t=e.shift());if(this.active=!1,i){for(;t=e.shift();)t.unsubscribe();throw i}}}const rf=new class BO extends En{}(class VO extends nf{constructor(t,e){super(t,e),this.scheduler=t,this.work=e}schedule(t,e=0){return e>0?super.schedule(t,e):(this.delay=e,this.state=t,this.scheduler.flush(this),this)}execute(t,e){return e>0||this.closed?super.execute(t,e):this._execute(t,e)}requestAsyncId(t,e,i=0){return null!==i&&i>0||null===i&&this.delay>0?super.requestAsyncId(t,e,i):t.flush(this)}}),HO=rf;function Ya(...n){let t=n[n.length-1];return Ml(t)?(n.pop(),xl(n,t)):Ol(n)}function Bb(n,t){return new ve(t?e=>t.schedule(UO,0,{error:n,subscriber:e}):e=>e.error(n))}function UO({error:n,subscriber:t}){t.error(n)}class $t{constructor(t,e,i){this.kind=t,this.value=e,this.error=i,this.hasValue="N"===t}observe(t){switch(this.kind){case"N":return t.next&&t.next(this.value);case"E":return t.error&&t.error(this.error);case"C":return t.complete&&t.complete()}}do(t,e,i){switch(this.kind){case"N":return t&&t(this.value);case"E":return e&&e(this.error);case"C":return i&&i()}}accept(t,e,i){return t&&"function"==typeof t.next?this.observe(t):this.do(t,e,i)}toObservable(){switch(this.kind){case"N":return Ya(this.value);case"E":return Bb(this.error);case"C":return Fv()}throw new Error("unexpected notification kind value")}static createNext(t){return typeof t<"u"?new $t("N",t):$t.undefinedValueNotification}static createError(t){return new $t("E",void 0,t)}static createComplete(){return $t.completeNotification}}$t.completeNotification=new $t("C"),$t.undefinedValueNotification=new $t("N",void 0);class zO{constructor(t,e=0){this.scheduler=t,this.delay=e}call(t,e){return e.subscribe(new Za(t,this.scheduler,this.delay))}}class Za extends Se{constructor(t,e,i=0){super(t),this.scheduler=e,this.delay=i}static dispatch(t){const{notification:e,destination:i}=t;e.observe(i),this.unsubscribe()}scheduleMessage(t){this.destination.add(this.scheduler.schedule(Za.dispatch,this.delay,new WO(t,this.destination)))}_next(t){this.scheduleMessage($t.createNext(t))}_error(t){this.scheduleMessage($t.createError(t)),this.unsubscribe()}_complete(){this.scheduleMessage($t.createComplete()),this.unsubscribe()}}class WO{constructor(t,e){this.notification=t,this.destination=e}}class Xa extends Tn{constructor(t=Number.POSITIVE_INFINITY,e=Number.POSITIVE_INFINITY,i){super(),this.scheduler=i,this._events=[],this._infiniteTimeWindow=!1,this._bufferSize=t<1?1:t,this._windowTime=e<1?1:e,e===Number.POSITIVE_INFINITY?(this._infiniteTimeWindow=!0,this.next=this.nextInfiniteTimeWindow):this.next=this.nextTimeWindow}nextInfiniteTimeWindow(t){if(!this.isStopped){const e=this._events;e.push(t),e.length>this._bufferSize&&e.shift()}super.next(t)}nextTimeWindow(t){this.isStopped||(this._events.push(new GO(this._getNow(),t)),this._trimBufferThenGetEvents()),super.next(t)}_subscribe(t){const e=this._infiniteTimeWindow,i=e?this._events:this._trimBufferThenGetEvents(),r=this.scheduler,o=i.length;let s;if(this.closed)throw new gi;if(this.isStopped||this.hasError?s=_e.EMPTY:(this.observers.push(t),s=new Yf(this,t)),r&&t.add(t=new Za(t,r)),e)for(let a=0;ae&&(s=Math.max(s,o-e)),s>0&&r.splice(0,s),r}}class GO{constructor(t,e){this.time=t,this.value=e}}function Ja(n,t){return"function"==typeof t?e=>e.pipe(Ja((i,r)=>yi(n(i,r)).pipe(mt((o,s)=>t(i,o,r,s))))):e=>e.lift(new qO(n))}class qO{constructor(t){this.project=t}call(t,e){return e.subscribe(new KO(t,this.project))}}class KO extends cs{constructor(t,e){super(t),this.project=e,this.index=0}_next(t){let e;const i=this.index++;try{e=this.project(t,i)}catch(r){return void this.destination.error(r)}this._innerSub(e)}_innerSub(t){const e=this.innerSubscription;e&&e.unsubscribe();const i=new ls(this),r=this.destination;r.add(i),this.innerSubscription=us(t,i),this.innerSubscription!==i&&r.add(this.innerSubscription)}_complete(){const{innerSubscription:t}=this;(!t||t.closed)&&super._complete(),this.unsubscribe()}_unsubscribe(){this.innerSubscription=void 0}notifyComplete(){this.innerSubscription=void 0,this.isStopped&&super._complete()}notifyNext(t){this.destination.next(t)}}const el={schedule(n,t){const e=setTimeout(n,t);return()=>clearTimeout(e)},scheduleBeforeRender(n){if(typeof window>"u")return el.schedule(n,0);if(typeof window.requestAnimationFrame>"u")return el.schedule(n,16);const t=window.requestAnimationFrame(n);return()=>window.cancelAnimationFrame(t)}};let sf;function iN(n,t,e){let i=e;return function YO(n){return!!n&&n.nodeType===Node.ELEMENT_NODE}(n)&&t.some((r,o)=>!("*"===r||!function XO(n,t){if(!sf){const e=Element.prototype;sf=e.matches||e.matchesSelector||e.mozMatchesSelector||e.msMatchesSelector||e.oMatchesSelector||e.webkitMatchesSelector}return n.nodeType===Node.ELEMENT_NODE&&sf.call(n,t)}(n,r)||(i=o,0))),i}class oN{constructor(t,e){this.componentFactory=e.get(ur).resolveComponentFactory(t)}create(t){return new sN(this.componentFactory,t)}}class sN{constructor(t,e){this.componentFactory=t,this.injector=e,this.eventEmitters=new Xa(1),this.events=this.eventEmitters.pipe(Ja(i=>ih(...i))),this.componentRef=null,this.viewChangeDetectorRef=null,this.inputChanges=null,this.hasInputChanges=!1,this.implementsOnChanges=!1,this.scheduledChangeDetectionFn=null,this.scheduledDestroyFn=null,this.initialInputValues=new Map,this.unchangedInputs=new Set(this.componentFactory.inputs.map(({propName:i})=>i)),this.ngZone=this.injector.get(Ie),this.elementZone=typeof Zone>"u"?null:this.ngZone.run(()=>Zone.current)}connect(t){this.runInZone(()=>{if(null!==this.scheduledDestroyFn)return this.scheduledDestroyFn(),void(this.scheduledDestroyFn=null);null===this.componentRef&&this.initializeComponent(t)})}disconnect(){this.runInZone(()=>{null===this.componentRef||null!==this.scheduledDestroyFn||(this.scheduledDestroyFn=el.schedule(()=>{null!==this.componentRef&&(this.componentRef.destroy(),this.componentRef=null,this.viewChangeDetectorRef=null)},10))})}getInputValue(t){return this.runInZone(()=>null===this.componentRef?this.initialInputValues.get(t):this.componentRef.instance[t])}setInputValue(t,e){this.runInZone(()=>{null!==this.componentRef?function JO(n,t){return n===t||n!=n&&t!=t}(e,this.getInputValue(t))&&(void 0!==e||!this.unchangedInputs.has(t))||(this.recordInputChange(t,e),this.unchangedInputs.delete(t),this.hasInputChanges=!0,this.componentRef.instance[t]=e,this.scheduleDetectChanges()):this.initialInputValues.set(t,e)})}initializeComponent(t){const e=gn.create({providers:[],parent:this.injector}),i=function nN(n,t){const e=n.childNodes,i=t.map(()=>[]);let r=-1;t.some((o,s)=>"*"===o&&(r=s,!0));for(let o=0,s=e.length;o{this.initialInputValues.has(t)&&this.setInputValue(t,this.initialInputValues.get(t))}),this.initialInputValues.clear()}initializeOutputs(t){const e=this.componentFactory.outputs.map(({propName:i,templateName:r})=>t.instance[i].pipe(mt(s=>({name:r,value:s}))));this.eventEmitters.next(e)}callNgOnChanges(t){if(!this.implementsOnChanges||null===this.inputChanges)return;const e=this.inputChanges;this.inputChanges=null,t.instance.ngOnChanges(e)}markViewForCheck(t){this.hasInputChanges&&(this.hasInputChanges=!1,t.markForCheck())}scheduleDetectChanges(){this.scheduledChangeDetectionFn||(this.scheduledChangeDetectionFn=el.scheduleBeforeRender(()=>{this.scheduledChangeDetectionFn=null,this.detectChanges()}))}recordInputChange(t,e){if(!this.implementsOnChanges)return;null===this.inputChanges&&(this.inputChanges={});const i=this.inputChanges[t];if(i)return void(i.currentValue=e);const r=this.unchangedInputs.has(t),o=r?void 0:this.getInputValue(t);this.inputChanges[t]=new Dh(o,e,r)}detectChanges(){null!==this.componentRef&&(this.callNgOnChanges(this.componentRef),this.markViewForCheck(this.viewChangeDetectorRef),this.componentRef.changeDetectorRef.detectChanges())}runInZone(t){return this.elementZone&&Zone.current!==this.elementZone?this.ngZone.run(t):t()}}class aN extends HTMLElement{constructor(){super(...arguments),this.ngElementEventsSubscription=null}}class Hb{}class cN{}const Bn="*";function uN(n,t){return{type:7,name:n,definitions:t,options:{}}}function Ub(n,t=null){return{type:4,styles:t,timings:n}}function $b(n,t=null){return{type:2,steps:n,options:t}}function tl(n){return{type:6,styles:n,offset:null}}function zb(n,t,e=null){return{type:1,expr:n,animation:t,options:e}}function Wb(n,t=null){return{type:8,animation:n,options:t}}function Gb(n,t=null){return{type:10,animation:n,options:t}}function qb(n){Promise.resolve().then(n)}class qo{constructor(t=0,e=0){this._onDoneFns=[],this._onStartFns=[],this._onDestroyFns=[],this._originalOnDoneFns=[],this._originalOnStartFns=[],this._started=!1,this._destroyed=!1,this._finished=!1,this._position=0,this.parentPlayer=null,this.totalTime=t+e}_onFinish(){this._finished||(this._finished=!0,this._onDoneFns.forEach(t=>t()),this._onDoneFns=[])}onStart(t){this._originalOnStartFns.push(t),this._onStartFns.push(t)}onDone(t){this._originalOnDoneFns.push(t),this._onDoneFns.push(t)}onDestroy(t){this._onDestroyFns.push(t)}hasStarted(){return this._started}init(){}play(){this.hasStarted()||(this._onStart(),this.triggerMicrotask()),this._started=!0}triggerMicrotask(){qb(()=>this._onFinish())}_onStart(){this._onStartFns.forEach(t=>t()),this._onStartFns=[]}pause(){}restart(){}finish(){this._onFinish()}destroy(){this._destroyed||(this._destroyed=!0,this.hasStarted()||this._onStart(),this.finish(),this._onDestroyFns.forEach(t=>t()),this._onDestroyFns=[])}reset(){this._started=!1,this._finished=!1,this._onStartFns=this._originalOnStartFns,this._onDoneFns=this._originalOnDoneFns}setPosition(t){this._position=this.totalTime?t*this.totalTime:1}getPosition(){return this.totalTime?this._position/this.totalTime:1}triggerCallback(t){const e="start"==t?this._onStartFns:this._onDoneFns;e.forEach(i=>i()),e.length=0}}class Kb{constructor(t){this._onDoneFns=[],this._onStartFns=[],this._finished=!1,this._started=!1,this._destroyed=!1,this._onDestroyFns=[],this.parentPlayer=null,this.totalTime=0,this.players=t;let e=0,i=0,r=0;const o=this.players.length;0==o?qb(()=>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(t=>t()),this._onDoneFns=[])}init(){this.players.forEach(t=>t.init())}onStart(t){this._onStartFns.push(t)}_onStart(){this.hasStarted()||(this._started=!0,this._onStartFns.forEach(t=>t()),this._onStartFns=[])}onDone(t){this._onDoneFns.push(t)}onDestroy(t){this._onDestroyFns.push(t)}hasStarted(){return this._started}play(){this.parentPlayer||this.init(),this._onStart(),this.players.forEach(t=>t.play())}pause(){this.players.forEach(t=>t.pause())}restart(){this.players.forEach(t=>t.restart())}finish(){this._onFinish(),this.players.forEach(t=>t.finish())}destroy(){this._onDestroy()}_onDestroy(){this._destroyed||(this._destroyed=!0,this._onFinish(),this.players.forEach(t=>t.destroy()),this._onDestroyFns.forEach(t=>t()),this._onDestroyFns=[])}reset(){this.players.forEach(t=>t.reset()),this._destroyed=!1,this._finished=!1,this._started=!1}setPosition(t){const e=t*this.totalTime;this.players.forEach(i=>{const r=i.totalTime?Math.min(1,e/i.totalTime):1;i.setPosition(r)})}getPosition(){const t=this.players.reduce((e,i)=>null===e||i.totalTime>e.totalTime?i:e,null);return null!=t?t.getPosition():0}beforeDestroy(){this.players.forEach(t=>{t.beforeDestroy&&t.beforeDestroy()})}triggerCallback(t){const e="start"==t?this._onStartFns:this._onDoneFns;e.forEach(i=>i()),e.length=0}}function Qb(n){return new D(3e3,!1)}function WN(){return typeof window<"u"&&typeof window.document<"u"}function lf(){return typeof process<"u"&&"[object process]"==={}.toString.call(process)}function li(n){switch(n.length){case 0:return new qo;case 1:return n[0];default:return new Kb(n)}}function Yb(n,t,e,i,r=new Map,o=new Map){const s=[],a=[];let l=-1,c=null;if(i.forEach(u=>{const d=u.get("offset"),f=d==l,h=f&&c||new Map;u.forEach((p,m)=>{let y=m,_=p;if("offset"!==m)switch(y=t.normalizePropertyName(y,s),_){case"!":_=r.get(m);break;case Bn:_=o.get(m);break;default:_=t.normalizeStyleValue(m,y,_,s)}h.set(y,_)}),f||a.push(h),c=h,l=d}),s.length)throw function NN(n){return new D(3502,!1)}();return a}function cf(n,t,e,i){switch(t){case"start":n.onStart(()=>i(e&&uf(e,"start",n)));break;case"done":n.onDone(()=>i(e&&uf(e,"done",n)));break;case"destroy":n.onDestroy(()=>i(e&&uf(e,"destroy",n)))}}function uf(n,t,e){const o=df(n.element,n.triggerName,n.fromState,n.toState,t||n.phaseName,e.totalTime??n.totalTime,!!e.disabled),s=n._data;return null!=s&&(o._data=s),o}function df(n,t,e,i,r="",o=0,s){return{element:n,triggerName:t,fromState:e,toState:i,phaseName:r,totalTime:o,disabled:!!s}}function At(n,t,e){let i=n.get(t);return i||n.set(t,i=e),i}function Zb(n){const t=n.indexOf(":");return[n.substring(1,t),n.slice(t+1)]}let ff=(n,t)=>!1,Xb=(n,t,e)=>[],Jb=null;function hf(n){const t=n.parentNode||n.host;return t===Jb?null:t}(lf()||typeof Element<"u")&&(WN()?(Jb=(()=>document.documentElement)(),ff=(n,t)=>{for(;t;){if(t===n)return!0;t=hf(t)}return!1}):ff=(n,t)=>n.contains(t),Xb=(n,t,e)=>{if(e)return Array.from(n.querySelectorAll(t));const i=n.querySelector(t);return i?[i]:[]});let Hi=null,eD=!1;const tD=ff,nD=Xb;let iD=(()=>{class n{validateStyleProperty(e){return function qN(n){Hi||(Hi=function KN(){return typeof document<"u"?document.body:null}()||{},eD=!!Hi.style&&"WebkitAppearance"in Hi.style);let t=!0;return Hi.style&&!function GN(n){return"ebkit"==n.substring(1,6)}(n)&&(t=n in Hi.style,!t&&eD&&(t="Webkit"+n.charAt(0).toUpperCase()+n.slice(1)in Hi.style)),t}(e)}matchesElement(e,i){return!1}containsElement(e,i){return tD(e,i)}getParentElement(e){return hf(e)}query(e,i,r){return nD(e,i,r)}computeStyle(e,i,r){return r||""}animate(e,i,r,o,s,a=[],l){return new qo(r,o)}}return n.\u0275fac=function(e){return new(e||n)},n.\u0275prov=$({token:n,factory:n.\u0275fac}),n})(),pf=(()=>{class n{}return n.NOOP=new iD,n})();const mf="ng-enter",nl="ng-leave",il="ng-trigger",rl=".ng-trigger",oD="ng-animating",gf=".ng-animating";function Hn(n){if("number"==typeof n)return n;const t=n.match(/^(-?[\.\d]+)(m?s)/);return!t||t.length<2?0:yf(parseFloat(t[1]),t[2])}function yf(n,t){return"s"===t?1e3*n:n}function ol(n,t,e){return n.hasOwnProperty("duration")?n:function ZN(n,t,e){let r,o=0,s="";if("string"==typeof n){const a=n.match(/^(-?[\.\d]+)(m?s)(?:\s+(-?[\.\d]+)(m?s))?(?:\s+([-a-z]+(?:\(.+?\))?))?$/i);if(null===a)return t.push(Qb()),{duration:0,delay:0,easing:""};r=yf(parseFloat(a[1]),a[2]);const l=a[3];null!=l&&(o=yf(parseFloat(l),a[4]));const c=a[5];c&&(s=c)}else r=n;if(!e){let a=!1,l=t.length;r<0&&(t.push(function dN(){return new D(3100,!1)}()),a=!0),o<0&&(t.push(function fN(){return new D(3101,!1)}()),a=!0),a&&t.splice(l,0,Qb())}return{duration:r,delay:o,easing:s}}(n,t,e)}function Ko(n,t={}){return Object.keys(n).forEach(e=>{t[e]=n[e]}),t}function sD(n){const t=new Map;return Object.keys(n).forEach(e=>{t.set(e,n[e])}),t}function ci(n,t=new Map,e){if(e)for(let[i,r]of e)t.set(i,r);for(let[i,r]of n)t.set(i,r);return t}function lD(n,t,e){return e?t+":"+e+";":""}function cD(n){let t="";for(let e=0;e{const o=vf(r);e&&!e.has(r)&&e.set(r,n.style[o]),n.style[o]=i}),lf()&&cD(n))}function Ui(n,t){n.style&&(t.forEach((e,i)=>{const r=vf(i);n.style[r]=""}),lf()&&cD(n))}function Qo(n){return Array.isArray(n)?1==n.length?n[0]:$b(n):n}const _f=new RegExp("{{\\s*(.+?)\\s*}}","g");function uD(n){let t=[];if("string"==typeof n){let e;for(;e=_f.exec(n);)t.push(e[1]);_f.lastIndex=0}return t}function Yo(n,t,e){const i=n.toString(),r=i.replace(_f,(o,s)=>{let a=t[s];return null==a&&(e.push(function pN(n){return new D(3003,!1)}()),a=""),a.toString()});return r==i?n:r}function sl(n){const t=[];let e=n.next();for(;!e.done;)t.push(e.value),e=n.next();return t}const eR=/-+([a-z0-9])/g;function vf(n){return n.replace(eR,(...t)=>t[1].toUpperCase())}function tR(n){return n.replace(/([a-z])([A-Z])/g,"$1-$2").toLowerCase()}function xt(n,t,e){switch(t.type){case 7:return n.visitTrigger(t,e);case 0:return n.visitState(t,e);case 1:return n.visitTransition(t,e);case 2:return n.visitSequence(t,e);case 3:return n.visitGroup(t,e);case 4:return n.visitAnimate(t,e);case 5:return n.visitKeyframes(t,e);case 6:return n.visitStyle(t,e);case 8:return n.visitReference(t,e);case 9:return n.visitAnimateChild(t,e);case 10:return n.visitAnimateRef(t,e);case 11:return n.visitQuery(t,e);case 12:return n.visitStagger(t,e);default:throw function mN(n){return new D(3004,!1)}()}}function dD(n,t){return window.getComputedStyle(n)[t]}function aR(n,t){const e=[];return"string"==typeof n?n.split(/\s*,\s*/).forEach(i=>function lR(n,t,e){if(":"==n[0]){const l=function cR(n,t){switch(n){case":enter":return"void => *";case":leave":return"* => void";case":increment":return(e,i)=>parseFloat(i)>parseFloat(e);case":decrement":return(e,i)=>parseFloat(i) *"}}(n,e);if("function"==typeof l)return void t.push(l);n=l}const i=n.match(/^(\*|[-\w]+)\s*()\s*(\*|[-\w]+)$/);if(null==i||i.length<4)return e.push(function MN(n){return new D(3015,!1)}()),t;const r=i[1],o=i[2],s=i[3];t.push(fD(r,s));"<"==o[0]&&!("*"==r&&"*"==s)&&t.push(fD(s,r))}(i,e,t)):e.push(n),e}const ul=new Set(["true","1"]),dl=new Set(["false","0"]);function fD(n,t){const e=ul.has(n)||dl.has(n),i=ul.has(t)||dl.has(t);return(r,o)=>{let s="*"==n||n==r,a="*"==t||t==o;return!s&&e&&"boolean"==typeof r&&(s=r?ul.has(n):dl.has(n)),!a&&i&&"boolean"==typeof o&&(a=o?ul.has(t):dl.has(t)),s&&a}}const uR=new RegExp("s*:selfs*,?","g");function bf(n,t,e,i){return new dR(n).build(t,e,i)}class dR{constructor(t){this._driver=t}build(t,e,i){const r=new pR(e);return this._resetContextStyleTimingState(r),xt(this,Qo(t),r)}_resetContextStyleTimingState(t){t.currentQuerySelector="",t.collectedStyles=new Map,t.collectedStyles.set("",new Map),t.currentTime=0}visitTrigger(t,e){let i=e.queryCount=0,r=e.depCount=0;const o=[],s=[];return"@"==t.name.charAt(0)&&e.errors.push(function yN(){return new D(3006,!1)}()),t.definitions.forEach(a=>{if(this._resetContextStyleTimingState(e),0==a.type){const 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(1==a.type){const l=this.visitTransition(a,e);i+=l.queryCount,r+=l.depCount,s.push(l)}else e.errors.push(function _N(){return new D(3007,!1)}())}),{type:7,name:t.name,states:o,transitions:s,queryCount:i,depCount:r,options:null}}visitState(t,e){const i=this.visitStyle(t.styles,e),r=t.options&&t.options.params||null;if(i.containsDynamicStyles){const o=new Set,s=r||{};i.styles.forEach(a=>{a instanceof Map&&a.forEach(l=>{uD(l).forEach(c=>{s.hasOwnProperty(c)||o.add(c)})})}),o.size&&(sl(o.values()),e.errors.push(function vN(n,t){return new D(3008,!1)}()))}return{type:0,name:t.name,style:i,options:r?{params:r}:null}}visitTransition(t,e){e.queryCount=0,e.depCount=0;const i=xt(this,Qo(t.animation),e);return{type:1,matchers:aR(t.expr,e.errors),animation:i,queryCount:e.queryCount,depCount:e.depCount,options:$i(t.options)}}visitSequence(t,e){return{type:2,steps:t.steps.map(i=>xt(this,i,e)),options:$i(t.options)}}visitGroup(t,e){const i=e.currentTime;let r=0;const o=t.steps.map(s=>{e.currentTime=i;const a=xt(this,s,e);return r=Math.max(r,e.currentTime),a});return e.currentTime=r,{type:3,steps:o,options:$i(t.options)}}visitAnimate(t,e){const i=function gR(n,t){if(n.hasOwnProperty("duration"))return n;if("number"==typeof n)return Df(ol(n,t).duration,0,"");const e=n;if(e.split(/\s+/).some(o=>"{"==o.charAt(0)&&"{"==o.charAt(1))){const o=Df(0,0,"");return o.dynamic=!0,o.strValue=e,o}const r=ol(e,t);return Df(r.duration,r.delay,r.easing)}(t.timings,e.errors);e.currentAnimateTimings=i;let r,o=t.styles?t.styles:tl({});if(5==o.type)r=this.visitKeyframes(o,e);else{let s=t.styles,a=!1;if(!s){a=!0;const c={};i.easing&&(c.easing=i.easing),s=tl(c)}e.currentTime+=i.duration+i.delay;const l=this.visitStyle(s,e);l.isEmptyStep=a,r=l}return e.currentAnimateTimings=null,{type:4,timings:i,style:r,options:null}}visitStyle(t,e){const i=this._makeStyleAst(t,e);return this._validateStyleAst(i,e),i}_makeStyleAst(t,e){const i=[],r=Array.isArray(t.styles)?t.styles:[t.styles];for(let a of r)"string"==typeof a?a===Bn?i.push(a):e.errors.push(new D(3002,!1)):i.push(sD(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("{{")>=0){o=!0;break}}),{type:6,styles:i,easing:s,offset:t.offset,containsDynamicStyles:o,options:null}}_validateStyleAst(t,e){const i=e.currentAnimateTimings;let r=e.currentTime,o=e.currentTime;i&&o>0&&(o-=i.duration+i.delay),t.styles.forEach(s=>{"string"!=typeof s&&s.forEach((a,l)=>{const c=e.collectedStyles.get(e.currentQuerySelector),u=c.get(l);let d=!0;u&&(o!=r&&o>=u.startTime&&r<=u.endTime&&(e.errors.push(function DN(n,t,e,i,r){return new D(3010,!1)}()),d=!1),o=u.startTime),d&&c.set(l,{startTime:o,endTime:r}),e.options&&function JN(n,t,e){const i=t.params||{},r=uD(n);r.length&&r.forEach(o=>{i.hasOwnProperty(o)||e.push(function hN(n){return new D(3001,!1)}())})}(a,e.options,e.errors)})})}visitKeyframes(t,e){const i={type:5,styles:[],options:null};if(!e.currentAnimateTimings)return e.errors.push(function EN(){return new D(3011,!1)}()),i;let o=0;const s=[];let a=!1,l=!1,c=0;const u=t.steps.map(_=>{const E=this._makeStyleAst(_,e);let g=null!=E.offset?E.offset:function mR(n){if("string"==typeof n)return null;let t=null;if(Array.isArray(n))n.forEach(e=>{if(e instanceof Map&&e.has("offset")){const i=e;t=parseFloat(i.get("offset")),i.delete("offset")}});else if(n instanceof Map&&n.has("offset")){const e=n;t=parseFloat(e.get("offset")),e.delete("offset")}return t}(E.styles),C=0;return null!=g&&(o++,C=E.offset=g),l=l||C<0||C>1,a=a||C0&&o{const g=f>0?E==h?1:f*E:s[E],C=g*y;e.currentTime=p+m.delay+C,m.duration=C,this._validateStyleAst(_,e),_.offset=g,i.styles.push(_)}),i}visitReference(t,e){return{type:8,animation:xt(this,Qo(t.animation),e),options:$i(t.options)}}visitAnimateChild(t,e){return e.depCount++,{type:9,options:$i(t.options)}}visitAnimateRef(t,e){return{type:10,animation:this.visitReference(t.animation,e),options:$i(t.options)}}visitQuery(t,e){const i=e.currentQuerySelector,r=t.options||{};e.queryCount++,e.currentQuery=t;const[o,s]=function fR(n){const t=!!n.split(/\s*,\s*/).find(e=>":self"==e);return t&&(n=n.replace(uR,"")),n=n.replace(/@\*/g,rl).replace(/@\w+/g,e=>rl+"-"+e.slice(1)).replace(/:animating/g,gf),[n,t]}(t.selector);e.currentQuerySelector=i.length?i+" "+o:o,At(e.collectedStyles,e.currentQuerySelector,new Map);const a=xt(this,Qo(t.animation),e);return e.currentQuery=null,e.currentQuerySelector=i,{type:11,selector:o,limit:r.limit||0,optional:!!r.optional,includeSelf:s,animation:a,originalSelector:t.selector,options:$i(t.options)}}visitStagger(t,e){e.currentQuery||e.errors.push(function IN(){return new D(3013,!1)}());const i="full"===t.timings?{duration:0,delay:0,easing:"full"}:ol(t.timings,e.errors,!0);return{type:12,animation:xt(this,Qo(t.animation),e),timings:i,options:null}}}class pR{constructor(t){this.errors=t,this.queryCount=0,this.depCount=0,this.currentTransition=null,this.currentQuery=null,this.currentQuerySelector=null,this.currentAnimateTimings=null,this.currentTime=0,this.collectedStyles=new Map,this.options=null,this.unsupportedCSSPropertiesFound=new Set}}function $i(n){return n?(n=Ko(n)).params&&(n.params=function hR(n){return n?Ko(n):null}(n.params)):n={},n}function Df(n,t,e){return{duration:n,delay:t,easing:e}}function Ef(n,t,e,i,r,o,s=null,a=!1){return{type:1,element:n,keyframes:t,preStyleProps:e,postStyleProps:i,duration:r,delay:o,totalTime:r+o,easing:s,subTimeline:a}}class fl{constructor(){this._map=new Map}get(t){return this._map.get(t)||[]}append(t,e){let i=this._map.get(t);i||this._map.set(t,i=[]),i.push(...e)}has(t){return this._map.has(t)}clear(){this._map.clear()}}const vR=new RegExp(":enter","g"),DR=new RegExp(":leave","g");function Sf(n,t,e,i,r,o=new Map,s=new Map,a,l,c=[]){return(new ER).buildKeyframes(n,t,e,i,r,o,s,a,l,c)}class ER{buildKeyframes(t,e,i,r,o,s,a,l,c,u=[]){c=c||new fl;const d=new Cf(t,e,c,r,o,u,[]);d.options=l;const f=l.delay?Hn(l.delay):0;d.currentTimeline.delayNextStep(f),d.currentTimeline.setStyles([s],null,d.errors,l),xt(this,i,d);const h=d.timelines.filter(p=>p.containsAnimation());if(h.length&&a.size){let p;for(let m=h.length-1;m>=0;m--){const y=h[m];if(y.element===e){p=y;break}}p&&!p.allowOnlyTimelineStyles()&&p.setStyles([a],null,d.errors,l)}return h.length?h.map(p=>p.buildKeyframes()):[Ef(e,[],[],[],0,f,"",!1)]}visitTrigger(t,e){}visitState(t,e){}visitTransition(t,e){}visitAnimateChild(t,e){const i=e.subInstructions.get(e.element);if(i){const r=e.createSubContext(t.options),o=e.currentTimeline.currentTime,s=this._visitSubInstructions(i,r,r.options);o!=s&&e.transformIntoNewTimeline(s)}e.previousNode=t}visitAnimateRef(t,e){const i=e.createSubContext(t.options);i.transformIntoNewTimeline(),this._applyAnimationRefDelays([t.options,t.animation.options],e,i),this.visitReference(t.animation,i),e.transformIntoNewTimeline(i.currentTimeline.currentTime),e.previousNode=t}_applyAnimationRefDelays(t,e,i){for(const r of t){const o=r?.delay;if(o){const s="number"==typeof o?o:Hn(Yo(o,r?.params??{},e.errors));i.delayNextStep(s)}}}_visitSubInstructions(t,e,i){let o=e.currentTimeline.currentTime;const s=null!=i.duration?Hn(i.duration):null,a=null!=i.delay?Hn(i.delay):null;return 0!==s&&t.forEach(l=>{const c=e.appendInstructionToTimeline(l,s,a);o=Math.max(o,c.duration+c.delay)}),o}visitReference(t,e){e.updateOptions(t.options,!0),xt(this,t.animation,e),e.previousNode=t}visitSequence(t,e){const i=e.subContextCount;let r=e;const o=t.options;if(o&&(o.params||o.delay)&&(r=e.createSubContext(o),r.transformIntoNewTimeline(),null!=o.delay)){6==r.previousNode.type&&(r.currentTimeline.snapshotCurrentStyles(),r.previousNode=hl);const s=Hn(o.delay);r.delayNextStep(s)}t.steps.length&&(t.steps.forEach(s=>xt(this,s,r)),r.currentTimeline.applyStylesToKeyframe(),r.subContextCount>i&&r.transformIntoNewTimeline()),e.previousNode=t}visitGroup(t,e){const i=[];let r=e.currentTimeline.currentTime;const o=t.options&&t.options.delay?Hn(t.options.delay):0;t.steps.forEach(s=>{const a=e.createSubContext(t.options);o&&a.delayNextStep(o),xt(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=t}_visitTiming(t,e){if(t.dynamic){const i=t.strValue;return ol(e.params?Yo(i,e.params,e.errors):i,e.errors)}return{duration:t.duration,delay:t.delay,easing:t.easing}}visitAnimate(t,e){const i=e.currentAnimateTimings=this._visitTiming(t.timings,e),r=e.currentTimeline;i.delay&&(e.incrementTime(i.delay),r.snapshotCurrentStyles());const o=t.style;5==o.type?this.visitKeyframes(o,e):(e.incrementTime(i.duration),this.visitStyle(o,e),r.applyStylesToKeyframe()),e.currentAnimateTimings=null,e.previousNode=t}visitStyle(t,e){const i=e.currentTimeline,r=e.currentAnimateTimings;!r&&i.hasCurrentStyleProperties()&&i.forwardFrame();const o=r&&r.easing||t.easing;t.isEmptyStep?i.applyEmptyStep(o):i.setStyles(t.styles,o,e.errors,e.options),e.previousNode=t}visitKeyframes(t,e){const i=e.currentAnimateTimings,r=e.currentTimeline.duration,o=i.duration,a=e.createSubContext().currentTimeline;a.easing=i.easing,t.styles.forEach(l=>{a.forwardTime((l.offset||0)*o),a.setStyles(l.styles,l.easing,e.errors,e.options),a.applyStylesToKeyframe()}),e.currentTimeline.mergeTimelineCollectedStyles(a),e.transformIntoNewTimeline(r+o),e.previousNode=t}visitQuery(t,e){const i=e.currentTimeline.currentTime,r=t.options||{},o=r.delay?Hn(r.delay):0;o&&(6===e.previousNode.type||0==i&&e.currentTimeline.hasCurrentStyleProperties())&&(e.currentTimeline.snapshotCurrentStyles(),e.previousNode=hl);let s=i;const a=e.invokeQuery(t.selector,t.originalSelector,t.limit,t.includeSelf,!!r.optional,e.errors);e.currentQueryTotal=a.length;let l=null;a.forEach((c,u)=>{e.currentQueryIndex=u;const d=e.createSubContext(t.options,c);o&&d.delayNextStep(o),c===e.element&&(l=d.currentTimeline),xt(this,t.animation,d),d.currentTimeline.applyStylesToKeyframe(),s=Math.max(s,d.currentTimeline.currentTime)}),e.currentQueryIndex=0,e.currentQueryTotal=0,e.transformIntoNewTimeline(s),l&&(e.currentTimeline.mergeTimelineCollectedStyles(l),e.currentTimeline.snapshotCurrentStyles()),e.previousNode=t}visitStagger(t,e){const i=e.parentContext,r=e.currentTimeline,o=t.timings,s=Math.abs(o.duration),a=s*(e.currentQueryTotal-1);let l=s*e.currentQueryIndex;switch(o.duration<0?"reverse":o.easing){case"reverse":l=a-l;break;case"full":l=i.currentStaggerTime}const u=e.currentTimeline;l&&u.delayNextStep(l);const d=u.currentTime;xt(this,t.animation,e),e.previousNode=t,i.currentStaggerTime=r.currentTime-d+(r.startTime-i.currentTimeline.startTime)}}const hl={};class Cf{constructor(t,e,i,r,o,s,a,l){this._driver=t,this.element=e,this.subInstructions=i,this._enterClassName=r,this._leaveClassName=o,this.errors=s,this.timelines=a,this.parentContext=null,this.currentAnimateTimings=null,this.previousNode=hl,this.subContextCount=0,this.options={},this.currentQueryIndex=0,this.currentQueryTotal=0,this.currentStaggerTime=0,this.currentTimeline=l||new pl(this._driver,e,0),a.push(this.currentTimeline)}get params(){return this.options.params}updateOptions(t,e){if(!t)return;const i=t;let r=this.options;null!=i.duration&&(r.duration=Hn(i.duration)),null!=i.delay&&(r.delay=Hn(i.delay));const 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]=Yo(o[a],s,this.errors))})}}_copyOptions(){const t={};if(this.options){const e=this.options.params;if(e){const i=t.params={};Object.keys(e).forEach(r=>{i[r]=e[r]})}}return t}createSubContext(t=null,e,i){const r=e||this.element,o=new Cf(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(t),o.currentQueryIndex=this.currentQueryIndex,o.currentQueryTotal=this.currentQueryTotal,o.parentContext=this,this.subContextCount++,o}transformIntoNewTimeline(t){return this.previousNode=hl,this.currentTimeline=this.currentTimeline.fork(this.element,t),this.timelines.push(this.currentTimeline),this.currentTimeline}appendInstructionToTimeline(t,e,i){const r={duration:e??t.duration,delay:this.currentTimeline.currentTime+(i??0)+t.delay,easing:""},o=new SR(this._driver,t.element,t.keyframes,t.preStyleProps,t.postStyleProps,r,t.stretchStartingKeyframe);return this.timelines.push(o),r}incrementTime(t){this.currentTimeline.forwardTime(this.currentTimeline.duration+t)}delayNextStep(t){t>0&&this.currentTimeline.delayNextStep(t)}invokeQuery(t,e,i,r,o,s){let a=[];if(r&&a.push(this.element),t.length>0){t=(t=t.replace(vR,"."+this._enterClassName)).replace(DR,"."+this._leaveClassName);let c=this._driver.query(this.element,t,1!=i);0!==i&&(c=i<0?c.slice(c.length+i,c.length):c.slice(0,i)),a.push(...c)}return!o&&0==a.length&&s.push(function TN(n){return new D(3014,!1)}()),a}}class pl{constructor(t,e,i,r){this._driver=t,this.element=e,this.startTime=i,this._elementTimelineStylesLookup=r,this.duration=0,this._previousKeyframe=new Map,this._currentKeyframe=new Map,this._keyframes=new Map,this._styleSummary=new Map,this._localTimelineStyles=new Map,this._pendingStyles=new Map,this._backFill=new Map,this._currentEmptyStepKeyframe=null,this._elementTimelineStylesLookup||(this._elementTimelineStylesLookup=new Map),this._globalTimelineStyles=this._elementTimelineStylesLookup.get(e),this._globalTimelineStyles||(this._globalTimelineStyles=this._localTimelineStyles,this._elementTimelineStylesLookup.set(e,this._localTimelineStyles)),this._loadKeyframe()}containsAnimation(){switch(this._keyframes.size){case 0:return!1;case 1:return this.hasCurrentStyleProperties();default:return!0}}hasCurrentStyleProperties(){return this._currentKeyframe.size>0}get currentTime(){return this.startTime+this.duration}delayNextStep(t){const e=1===this._keyframes.size&&this._pendingStyles.size;this.duration||e?(this.forwardTime(this.currentTime+t),e&&this.snapshotCurrentStyles()):this.startTime+=t}fork(t,e){return this.applyStylesToKeyframe(),new pl(this._driver,t,e||this.currentTime,this._elementTimelineStylesLookup)}_loadKeyframe(){this._currentKeyframe&&(this._previousKeyframe=this._currentKeyframe),this._currentKeyframe=this._keyframes.get(this.duration),this._currentKeyframe||(this._currentKeyframe=new Map,this._keyframes.set(this.duration,this._currentKeyframe))}forwardFrame(){this.duration+=1,this._loadKeyframe()}forwardTime(t){this.applyStylesToKeyframe(),this.duration=t,this._loadKeyframe()}_updateStyle(t,e){this._localTimelineStyles.set(t,e),this._globalTimelineStyles.set(t,e),this._styleSummary.set(t,{time:this.currentTime,value:e})}allowOnlyTimelineStyles(){return this._currentEmptyStepKeyframe!==this._currentKeyframe}applyEmptyStep(t){t&&this._previousKeyframe.set("easing",t);for(let[e,i]of this._globalTimelineStyles)this._backFill.set(e,i||Bn),this._currentKeyframe.set(e,Bn);this._currentEmptyStepKeyframe=this._currentKeyframe}setStyles(t,e,i,r){e&&this._previousKeyframe.set("easing",e);const o=r&&r.params||{},s=function CR(n,t){const e=new Map;let i;return n.forEach(r=>{if("*"===r){i=i||t.keys();for(let o of i)e.set(o,Bn)}else ci(r,e)}),e}(t,this._globalTimelineStyles);for(let[a,l]of s){const c=Yo(l,o,i);this._pendingStyles.set(a,c),this._localTimelineStyles.has(a)||this._backFill.set(a,this._globalTimelineStyles.get(a)??Bn),this._updateStyle(a,c)}}applyStylesToKeyframe(){0!=this._pendingStyles.size&&(this._pendingStyles.forEach((t,e)=>{this._currentKeyframe.set(e,t)}),this._pendingStyles.clear(),this._localTimelineStyles.forEach((t,e)=>{this._currentKeyframe.has(e)||this._currentKeyframe.set(e,t)}))}snapshotCurrentStyles(){for(let[t,e]of this._localTimelineStyles)this._pendingStyles.set(t,e),this._updateStyle(t,e)}getFinalKeyframe(){return this._keyframes.get(this.duration)}get properties(){const t=[];for(let e in this._currentKeyframe)t.push(e);return t}mergeTimelineCollectedStyles(t){t._styleSummary.forEach((e,i)=>{const r=this._styleSummary.get(i);(!r||e.time>r.time)&&this._updateStyle(i,e.value)})}buildKeyframes(){this.applyStylesToKeyframe();const t=new Set,e=new Set,i=1===this._keyframes.size&&0===this.duration;let r=[];this._keyframes.forEach((a,l)=>{const c=ci(a,new Map,this._backFill);c.forEach((u,d)=>{"!"===u?t.add(d):u===Bn&&e.add(d)}),i||c.set("offset",l/this.duration),r.push(c)});const o=t.size?sl(t.values()):[],s=e.size?sl(e.values()):[];if(i){const a=r[0],l=new Map(a);a.set("offset",0),l.set("offset",1),r=[a,l]}return Ef(this.element,r,o,s,this.duration,this.startTime,this.easing,!1)}}class SR extends pl{constructor(t,e,i,r,o,s,a=!1){super(t,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 t=this.keyframes,{delay:e,duration:i,easing:r}=this.timings;if(this._stretchStartingKeyframe&&e){const o=[],s=i+e,a=e/s,l=ci(t[0]);l.set("offset",0),o.push(l);const c=ci(t[0]);c.set("offset",mD(a)),o.push(c);const u=t.length-1;for(let d=1;d<=u;d++){let f=ci(t[d]);const h=f.get("offset");f.set("offset",mD((e+h*i)/s)),o.push(f)}i=s,e=0,r="",t=o}return Ef(this.element,t,this.preStyleProps,this.postStyleProps,i,e,r,!0)}}function mD(n,t=3){const e=Math.pow(10,t-1);return Math.round(n*e)/e}class wf{}const wR=new Set(["width","height","minWidth","minHeight","maxWidth","maxHeight","left","top","bottom","right","fontSize","outlineWidth","outlineOffset","paddingTop","paddingLeft","paddingBottom","paddingRight","marginTop","marginLeft","marginBottom","marginRight","borderRadius","borderWidth","borderTopWidth","borderLeftWidth","borderRightWidth","borderBottomWidth","textIndent","perspective"]);class IR extends wf{normalizePropertyName(t,e){return vf(t)}normalizeStyleValue(t,e,i,r){let o="";const s=i.toString().trim();if(wR.has(e)&&0!==i&&"0"!==i)if("number"==typeof i)o="px";else{const a=i.match(/^[+-]?[\d\.]+([a-z]*)$/);a&&0==a[1].length&&r.push(function gN(n,t){return new D(3005,!1)}())}return s+o}}function gD(n,t,e,i,r,o,s,a,l,c,u,d,f){return{type:0,element:n,triggerName:t,isRemovalTransition:r,fromState:e,fromStyles:o,toState:i,toStyles:s,timelines:a,queriedElements:l,preStyleProps:c,postStyleProps:u,totalTime:d,errors:f}}const If={};class yD{constructor(t,e,i){this._triggerName=t,this.ast=e,this._stateStyles=i}match(t,e,i,r){return function TR(n,t,e,i,r){return n.some(o=>o(t,e,i,r))}(this.ast.matchers,t,e,i,r)}buildStyles(t,e,i){let r=this._stateStyles.get("*");return void 0!==t&&(r=this._stateStyles.get(t?.toString())||r),r?r.buildStyles(e,i):new Map}build(t,e,i,r,o,s,a,l,c,u){const d=[],f=this.ast.options&&this.ast.options.params||If,p=this.buildStyles(i,a&&a.params||If,d),m=l&&l.params||If,y=this.buildStyles(r,m,d),_=new Set,E=new Map,g=new Map,C="void"===r,ee={params:MR(m,f),delay:this.ast.options?.delay},ne=u?[]:Sf(t,e,this.ast.animation,o,s,p,y,ee,c,d);let nt=0;if(ne.forEach(Gn=>{nt=Math.max(Gn.duration+Gn.delay,nt)}),d.length)return gD(e,this._triggerName,i,r,C,p,y,[],[],E,g,nt,d);ne.forEach(Gn=>{const qn=Gn.element,TE=At(E,qn,new Set);Gn.preStyleProps.forEach(Wi=>TE.add(Wi));const is=At(g,qn,new Set);Gn.postStyleProps.forEach(Wi=>is.add(Wi)),qn!==e&&_.add(qn)});const Wn=sl(_.values());return gD(e,this._triggerName,i,r,C,p,y,ne,Wn,E,g,nt)}}function MR(n,t){const e=Ko(t);for(const i in n)n.hasOwnProperty(i)&&null!=n[i]&&(e[i]=n[i]);return e}class AR{constructor(t,e,i){this.styles=t,this.defaultParams=e,this.normalizer=i}buildStyles(t,e){const i=new Map,r=Ko(this.defaultParams);return Object.keys(t).forEach(o=>{const s=t[o];null!==s&&(r[o]=s)}),this.styles.styles.forEach(o=>{"string"!=typeof o&&o.forEach((s,a)=>{s&&(s=Yo(s,r,e));const l=this.normalizer.normalizePropertyName(a,e);s=this.normalizer.normalizeStyleValue(a,l,s,e),i.set(a,s)})}),i}}class PR{constructor(t,e,i){this.name=t,this.ast=e,this._normalizer=i,this.transitionFactories=[],this.states=new Map,e.states.forEach(r=>{this.states.set(r.name,new AR(r.style,r.options&&r.options.params||{},i))}),_D(this.states,"true","1"),_D(this.states,"false","0"),e.transitions.forEach(r=>{this.transitionFactories.push(new yD(t,r,this.states))}),this.fallbackTransition=function OR(n,t,e){return new yD(n,{type:1,animation:{type:2,steps:[],options:null},matchers:[(s,a)=>!0],options:null,queryCount:0,depCount:0},t)}(t,this.states)}get containsQueries(){return this.ast.queryCount>0}matchTransition(t,e,i,r){return this.transitionFactories.find(s=>s.match(t,e,i,r))||null}matchStyles(t,e,i){return this.fallbackTransition.buildStyles(t,e,i)}}function _D(n,t,e){n.has(t)?n.has(e)||n.set(e,n.get(t)):n.has(e)&&n.set(t,n.get(e))}const NR=new fl;class RR{constructor(t,e,i){this.bodyNode=t,this._driver=e,this._normalizer=i,this._animations=new Map,this._playersById=new Map,this.players=[]}register(t,e){const i=[],o=bf(this._driver,e,i,[]);if(i.length)throw function RN(n){return new D(3503,!1)}();this._animations.set(t,o)}_buildPlayer(t,e,i){const r=t.element,o=Yb(0,this._normalizer,0,t.keyframes,e,i);return this._driver.animate(r,o,t.duration,t.delay,t.easing,[],!0)}create(t,e,i={}){const r=[],o=this._animations.get(t);let s;const a=new Map;if(o?(s=Sf(this._driver,e,o,mf,nl,new Map,new Map,i,NR,r),s.forEach(u=>{const d=At(a,u.element,new Map);u.postStyleProps.forEach(f=>d.set(f,null))})):(r.push(function FN(){return new D(3300,!1)}()),s=[]),r.length)throw function LN(n){return new D(3504,!1)}();a.forEach((u,d)=>{u.forEach((f,h)=>{u.set(h,this._driver.computeStyle(d,h,Bn))})});const c=li(s.map(u=>{const d=a.get(u.element);return this._buildPlayer(u,new Map,d)}));return this._playersById.set(t,c),c.onDestroy(()=>this.destroy(t)),this.players.push(c),c}destroy(t){const e=this._getPlayer(t);e.destroy(),this._playersById.delete(t);const i=this.players.indexOf(e);i>=0&&this.players.splice(i,1)}_getPlayer(t){const e=this._playersById.get(t);if(!e)throw function kN(n){return new D(3301,!1)}();return e}listen(t,e,i,r){const o=df(e,"","","");return cf(this._getPlayer(t),i,o,r),()=>{}}command(t,e,i,r){if("register"==i)return void this.register(t,r[0]);if("create"==i)return void this.create(t,e,r[0]||{});const o=this._getPlayer(t);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(t)}}}const vD="ng-animate-queued",Tf="ng-animate-disabled",VR=[],bD={namespaceId:"",setForRemoval:!1,setForMove:!1,hasAnimation:!1,removedBeforeQueried:!1},BR={namespaceId:"",setForMove:!1,setForRemoval:!1,hasAnimation:!1,removedBeforeQueried:!0},zt="__ng_removed";class Mf{get params(){return this.options.params}constructor(t,e=""){this.namespaceId=e;const i=t&&t.hasOwnProperty("value");if(this.value=function zR(n){return n??null}(i?t.value:t),i){const o=Ko(t);delete o.value,this.options=o}else this.options={};this.options.params||(this.options.params={})}absorbOptions(t){const e=t.params;if(e){const i=this.options.params;Object.keys(e).forEach(r=>{null==i[r]&&(i[r]=e[r])})}}}const Zo="void",Af=new Mf(Zo);class HR{constructor(t,e,i){this.id=t,this.hostElement=e,this._engine=i,this.players=[],this._triggers=new Map,this._queue=[],this._elementListeners=new Map,this._hostClassName="ng-tns-"+t,Wt(e,this._hostClassName)}listen(t,e,i,r){if(!this._triggers.has(e))throw function jN(n,t){return new D(3302,!1)}();if(null==i||0==i.length)throw function VN(n){return new D(3303,!1)}();if(!function WR(n){return"start"==n||"done"==n}(i))throw function BN(n,t){return new D(3400,!1)}();const o=At(this._elementListeners,t,[]),s={name:e,phase:i,callback:r};o.push(s);const a=At(this._engine.statesByElement,t,new Map);return a.has(e)||(Wt(t,il),Wt(t,il+"-"+e),a.set(e,Af)),()=>{this._engine.afterFlush(()=>{const l=o.indexOf(s);l>=0&&o.splice(l,1),this._triggers.has(e)||a.delete(e)})}}register(t,e){return!this._triggers.has(t)&&(this._triggers.set(t,e),!0)}_getTrigger(t){const e=this._triggers.get(t);if(!e)throw function HN(n){return new D(3401,!1)}();return e}trigger(t,e,i,r=!0){const o=this._getTrigger(e),s=new xf(this.id,e,t);let a=this._engine.statesByElement.get(t);a||(Wt(t,il),Wt(t,il+"-"+e),this._engine.statesByElement.set(t,a=new Map));let l=a.get(e);const c=new Mf(i,this.id);if(!(i&&i.hasOwnProperty("value"))&&l&&c.absorbOptions(l.options),a.set(e,c),l||(l=Af),c.value!==Zo&&l.value===c.value){if(!function KR(n,t){const e=Object.keys(n),i=Object.keys(t);if(e.length!=i.length)return!1;for(let r=0;r{Ui(t,y),Sn(t,_)})}return}const f=At(this._engine.playersByElement,t,[]);f.forEach(m=>{m.namespaceId==this.id&&m.triggerName==e&&m.queued&&m.destroy()});let h=o.matchTransition(l.value,c.value,t,c.params),p=!1;if(!h){if(!r)return;h=o.fallbackTransition,p=!0}return this._engine.totalQueuedPlayers++,this._queue.push({element:t,triggerName:e,transition:h,fromState:l,toState:c,player:s,isFallbackTransition:p}),p||(Wt(t,vD),s.onStart(()=>{Vr(t,vD)})),s.onDone(()=>{let m=this.players.indexOf(s);m>=0&&this.players.splice(m,1);const y=this._engine.playersByElement.get(t);if(y){let _=y.indexOf(s);_>=0&&y.splice(_,1)}}),this.players.push(s),f.push(s),s}deregister(t){this._triggers.delete(t),this._engine.statesByElement.forEach(e=>e.delete(t)),this._elementListeners.forEach((e,i)=>{this._elementListeners.set(i,e.filter(r=>r.name!=t))})}clearElementCache(t){this._engine.statesByElement.delete(t),this._elementListeners.delete(t);const e=this._engine.playersByElement.get(t);e&&(e.forEach(i=>i.destroy()),this._engine.playersByElement.delete(t))}_signalRemovalForInnerTriggers(t,e){const i=this._engine.driver.query(t,rl,!0);i.forEach(r=>{if(r[zt])return;const 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(t,e,i,r){const o=this._engine.statesByElement.get(t),s=new Map;if(o){const a=[];if(o.forEach((l,c)=>{if(s.set(c,l.value),this._triggers.has(c)){const u=this.trigger(t,c,Zo,r);u&&a.push(u)}}),a.length)return this._engine.markElementAsRemoved(this.id,t,!0,e,s),i&&li(a).onDone(()=>this._engine.processLeaveNode(t)),!0}return!1}prepareLeaveAnimationListeners(t){const e=this._elementListeners.get(t),i=this._engine.statesByElement.get(t);if(e&&i){const r=new Set;e.forEach(o=>{const s=o.name;if(r.has(s))return;r.add(s);const l=this._triggers.get(s).fallbackTransition,c=i.get(s)||Af,u=new Mf(Zo),d=new xf(this.id,s,t);this._engine.totalQueuedPlayers++,this._queue.push({element:t,triggerName:s,transition:l,fromState:c,toState:u,player:d,isFallbackTransition:!0})})}}removeNode(t,e){const i=this._engine;if(t.childElementCount&&this._signalRemovalForInnerTriggers(t,e),this.triggerLeaveAnimation(t,e,!0))return;let r=!1;if(i.totalAnimations){const o=i.players.length?i.playersByQueriedElement.get(t):[];if(o&&o.length)r=!0;else{let s=t;for(;s=s.parentNode;)if(i.statesByElement.get(s)){r=!0;break}}}if(this.prepareLeaveAnimationListeners(t),r)i.markElementAsRemoved(this.id,t,!1,e);else{const o=t[zt];(!o||o===bD)&&(i.afterFlush(()=>this.clearElementCache(t)),i.destroyInnerAnimations(t),i._onRemovalComplete(t,e))}}insertNode(t,e){Wt(t,this._hostClassName)}drainQueuedTransitions(t){const e=[];return this._queue.forEach(i=>{const r=i.player;if(r.destroyed)return;const o=i.element,s=this._elementListeners.get(o);s&&s.forEach(a=>{if(a.name==i.triggerName){const l=df(o,i.triggerName,i.fromState.value,i.toState.value);l._data=t,cf(i.player,a.phase,l,a.callback)}}),r.markedForDestroy?this._engine.afterFlush(()=>{r.destroy()}):e.push(i)}),this._queue=[],e.sort((i,r)=>{const o=i.transition.ast.depCount,s=r.transition.ast.depCount;return 0==o||0==s?o-s:this._engine.driver.containsElement(i.element,r.element)?1:-1})}destroy(t){this.players.forEach(e=>e.destroy()),this._signalRemovalForInnerTriggers(this.hostElement,t)}elementContainsData(t){let e=!1;return this._elementListeners.has(t)&&(e=!0),e=!!this._queue.find(i=>i.element===t)||e,e}}class UR{_onRemovalComplete(t,e){this.onRemovalComplete(t,e)}constructor(t,e,i){this.bodyNode=t,this.driver=e,this._normalizer=i,this.players=[],this.newHostElements=new Map,this.playersByElement=new Map,this.playersByQueriedElement=new Map,this.statesByElement=new Map,this.disabledNodes=new Set,this.totalAnimations=0,this.totalQueuedPlayers=0,this._namespaceLookup={},this._namespaceList=[],this._flushFns=[],this._whenQuietFns=[],this.namespacesByHostElement=new Map,this.collectedEnterElements=[],this.collectedLeaveElements=[],this.onRemovalComplete=(r,o)=>{}}get queuedPlayers(){const t=[];return this._namespaceList.forEach(e=>{e.players.forEach(i=>{i.queued&&t.push(i)})}),t}createNamespace(t,e){const i=new HR(t,e,this);return this.bodyNode&&this.driver.containsElement(this.bodyNode,e)?this._balanceNamespaceList(i,e):(this.newHostElements.set(e,i),this.collectEnterElement(e)),this._namespaceLookup[t]=i}_balanceNamespaceList(t,e){const i=this._namespaceList,r=this.namespacesByHostElement;if(i.length-1>=0){let s=!1,a=this.driver.getParentElement(e);for(;a;){const l=r.get(a);if(l){const c=i.indexOf(l);i.splice(c+1,0,t),s=!0;break}a=this.driver.getParentElement(a)}s||i.unshift(t)}else i.push(t);return r.set(e,t),t}register(t,e){let i=this._namespaceLookup[t];return i||(i=this.createNamespace(t,e)),i}registerTrigger(t,e,i){let r=this._namespaceLookup[t];r&&r.register(e,i)&&this.totalAnimations++}destroy(t,e){if(!t)return;const i=this._fetchNamespace(t);this.afterFlush(()=>{this.namespacesByHostElement.delete(i.hostElement),delete this._namespaceLookup[t];const r=this._namespaceList.indexOf(i);r>=0&&this._namespaceList.splice(r,1)}),this.afterFlushAnimationsDone(()=>i.destroy(e))}_fetchNamespace(t){return this._namespaceLookup[t]}fetchNamespacesByElement(t){const e=new Set,i=this.statesByElement.get(t);if(i)for(let r of i.values())if(r.namespaceId){const o=this._fetchNamespace(r.namespaceId);o&&e.add(o)}return e}trigger(t,e,i,r){if(ml(e)){const o=this._fetchNamespace(t);if(o)return o.trigger(e,i,r),!0}return!1}insertNode(t,e,i,r){if(!ml(e))return;const o=e[zt];if(o&&o.setForRemoval){o.setForRemoval=!1,o.setForMove=!0;const s=this.collectedLeaveElements.indexOf(e);s>=0&&this.collectedLeaveElements.splice(s,1)}if(t){const s=this._fetchNamespace(t);s&&s.insertNode(e,i)}r&&this.collectEnterElement(e)}collectEnterElement(t){this.collectedEnterElements.push(t)}markElementAsDisabled(t,e){e?this.disabledNodes.has(t)||(this.disabledNodes.add(t),Wt(t,Tf)):this.disabledNodes.has(t)&&(this.disabledNodes.delete(t),Vr(t,Tf))}removeNode(t,e,i,r){if(ml(e)){const o=t?this._fetchNamespace(t):null;if(o?o.removeNode(e,r):this.markElementAsRemoved(t,e,!1,r),i){const s=this.namespacesByHostElement.get(e);s&&s.id!==t&&s.removeNode(e,r)}}else this._onRemovalComplete(e,r)}markElementAsRemoved(t,e,i,r,o){this.collectedLeaveElements.push(e),e[zt]={namespaceId:t,setForRemoval:r,hasAnimation:i,removedBeforeQueried:!1,previousTriggersValues:o}}listen(t,e,i,r,o){return ml(e)?this._fetchNamespace(t).listen(e,i,r,o):()=>{}}_buildInstruction(t,e,i,r,o){return t.transition.build(this.driver,t.element,t.fromState.value,t.toState.value,i,r,t.fromState.options,t.toState.options,e,o)}destroyInnerAnimations(t){let e=this.driver.query(t,rl,!0);e.forEach(i=>this.destroyActiveAnimationsForElement(i)),0!=this.playersByQueriedElement.size&&(e=this.driver.query(t,gf,!0),e.forEach(i=>this.finishActiveQueriedAnimationOnElement(i)))}destroyActiveAnimationsForElement(t){const e=this.playersByElement.get(t);e&&e.forEach(i=>{i.queued?i.markedForDestroy=!0:i.destroy()})}finishActiveQueriedAnimationOnElement(t){const e=this.playersByQueriedElement.get(t);e&&e.forEach(i=>i.finish())}whenRenderingDone(){return new Promise(t=>{if(this.players.length)return li(this.players).onDone(()=>t());t()})}processLeaveNode(t){const e=t[zt];if(e&&e.setForRemoval){if(t[zt]=bD,e.namespaceId){this.destroyInnerAnimations(t);const i=this._fetchNamespace(e.namespaceId);i&&i.clearElementCache(t)}this._onRemovalComplete(t,e.setForRemoval)}t.classList?.contains(Tf)&&this.markElementAsDisabled(t,!1),this.driver.query(t,".ng-animate-disabled",!0).forEach(i=>{this.markElementAsDisabled(i,!1)})}flush(t=-1){let e=[];if(this.newHostElements.size&&(this.newHostElements.forEach((i,r)=>this._balanceNamespaceList(i,r)),this.newHostElements.clear()),this.totalAnimations&&this.collectedEnterElements.length)for(let i=0;ii()),this._flushFns=[],this._whenQuietFns.length){const i=this._whenQuietFns;this._whenQuietFns=[],e.length?li(e).onDone(()=>{i.forEach(r=>r())}):i.forEach(r=>r())}}reportError(t){throw function UN(n){return new D(3402,!1)}()}_flushAnimations(t,e){const i=new fl,r=[],o=new Map,s=[],a=new Map,l=new Map,c=new Map,u=new Set;this.disabledNodes.forEach(T=>{u.add(T);const x=this.driver.query(T,".ng-animate-queued",!0);for(let L=0;L{const L=mf+m++;p.set(x,L),T.forEach(te=>Wt(te,L))});const y=[],_=new Set,E=new Set;for(let T=0;T_.add(te)):E.add(x))}const g=new Map,C=SD(f,Array.from(_));C.forEach((T,x)=>{const L=nl+m++;g.set(x,L),T.forEach(te=>Wt(te,L))}),t.push(()=>{h.forEach((T,x)=>{const L=p.get(x);T.forEach(te=>Vr(te,L))}),C.forEach((T,x)=>{const L=g.get(x);T.forEach(te=>Vr(te,L))}),y.forEach(T=>{this.processLeaveNode(T)})});const ee=[],ne=[];for(let T=this._namespaceList.length-1;T>=0;T--)this._namespaceList[T].drainQueuedTransitions(e).forEach(L=>{const te=L.player,Ue=L.element;if(ee.push(te),this.collectedEnterElements.length){const it=Ue[zt];if(it&&it.setForMove){if(it.previousTriggersValues&&it.previousTriggersValues.has(L.triggerName)){const Gi=it.previousTriggersValues.get(L.triggerName),Gt=this.statesByElement.get(L.element);if(Gt&&Gt.has(L.triggerName)){const Il=Gt.get(L.triggerName);Il.value=Gi,Gt.set(L.triggerName,Il)}}return void te.destroy()}}const wn=!d||!this.driver.containsElement(d,Ue),Ot=g.get(Ue),pi=p.get(Ue),Ee=this._buildInstruction(L,i,pi,Ot,wn);if(Ee.errors&&Ee.errors.length)return void ne.push(Ee);if(wn)return te.onStart(()=>Ui(Ue,Ee.fromStyles)),te.onDestroy(()=>Sn(Ue,Ee.toStyles)),void r.push(te);if(L.isFallbackTransition)return te.onStart(()=>Ui(Ue,Ee.fromStyles)),te.onDestroy(()=>Sn(Ue,Ee.toStyles)),void r.push(te);const xE=[];Ee.timelines.forEach(it=>{it.stretchStartingKeyframe=!0,this.disabledNodes.has(it.element)||xE.push(it)}),Ee.timelines=xE,i.append(Ue,Ee.timelines),s.push({instruction:Ee,player:te,element:Ue}),Ee.queriedElements.forEach(it=>At(a,it,[]).push(te)),Ee.preStyleProps.forEach((it,Gi)=>{if(it.size){let Gt=l.get(Gi);Gt||l.set(Gi,Gt=new Set),it.forEach((Il,zf)=>Gt.add(zf))}}),Ee.postStyleProps.forEach((it,Gi)=>{let Gt=c.get(Gi);Gt||c.set(Gi,Gt=new Set),it.forEach((Il,zf)=>Gt.add(zf))})});if(ne.length){const T=[];ne.forEach(x=>{T.push(function $N(n,t){return new D(3505,!1)}())}),ee.forEach(x=>x.destroy()),this.reportError(T)}const nt=new Map,Wn=new Map;s.forEach(T=>{const x=T.element;i.has(x)&&(Wn.set(x,x),this._beforeAnimationBuild(T.player.namespaceId,T.instruction,nt))}),r.forEach(T=>{const x=T.element;this._getPreviousPlayers(x,!1,T.namespaceId,T.triggerName,null).forEach(te=>{At(nt,x,[]).push(te),te.destroy()})});const Gn=y.filter(T=>wD(T,l,c)),qn=new Map;ED(qn,this.driver,E,c,Bn).forEach(T=>{wD(T,l,c)&&Gn.push(T)});const is=new Map;h.forEach((T,x)=>{ED(is,this.driver,new Set(T),l,"!")}),Gn.forEach(T=>{const x=qn.get(T),L=is.get(T);qn.set(T,new Map([...Array.from(x?.entries()??[]),...Array.from(L?.entries()??[])]))});const Wi=[],ME=[],AE={};s.forEach(T=>{const{element:x,player:L,instruction:te}=T;if(i.has(x)){if(u.has(x))return L.onDestroy(()=>Sn(x,te.toStyles)),L.disabled=!0,L.overrideTotalTime(te.totalTime),void r.push(L);let Ue=AE;if(Wn.size>1){let Ot=x;const pi=[];for(;Ot=Ot.parentNode;){const Ee=Wn.get(Ot);if(Ee){Ue=Ee;break}pi.push(Ot)}pi.forEach(Ee=>Wn.set(Ee,Ue))}const wn=this._buildAnimation(L.namespaceId,te,nt,o,is,qn);if(L.setRealPlayer(wn),Ue===AE)Wi.push(L);else{const Ot=this.playersByElement.get(Ue);Ot&&Ot.length&&(L.parentPlayer=li(Ot)),r.push(L)}}else Ui(x,te.fromStyles),L.onDestroy(()=>Sn(x,te.toStyles)),ME.push(L),u.has(x)&&r.push(L)}),ME.forEach(T=>{const x=o.get(T.element);if(x&&x.length){const L=li(x);T.setRealPlayer(L)}}),r.forEach(T=>{T.parentPlayer?T.syncPlayerEvents(T.parentPlayer):T.destroy()});for(let T=0;T!wn.destroyed);Ue.length?GR(this,x,Ue):this.processLeaveNode(x)}return y.length=0,Wi.forEach(T=>{this.players.push(T),T.onDone(()=>{T.destroy();const x=this.players.indexOf(T);this.players.splice(x,1)}),T.play()}),Wi}elementContainsData(t,e){let i=!1;const r=e[zt];return r&&r.setForRemoval&&(i=!0),this.playersByElement.has(e)&&(i=!0),this.playersByQueriedElement.has(e)&&(i=!0),this.statesByElement.has(e)&&(i=!0),this._fetchNamespace(t).elementContainsData(e)||i}afterFlush(t){this._flushFns.push(t)}afterFlushAnimationsDone(t){this._whenQuietFns.push(t)}_getPreviousPlayers(t,e,i,r,o){let s=[];if(e){const a=this.playersByQueriedElement.get(t);a&&(s=a)}else{const a=this.playersByElement.get(t);if(a){const l=!o||o==Zo;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(t,e,i){const o=e.element,s=e.isRemovalTransition?void 0:t,a=e.isRemovalTransition?void 0:e.triggerName;for(const l of e.timelines){const c=l.element,u=c!==o,d=At(i,c,[]);this._getPreviousPlayers(c,u,s,a,e.toState).forEach(h=>{const p=h.getRealPlayer();p.beforeDestroy&&p.beforeDestroy(),h.destroy(),d.push(h)})}Ui(o,e.fromStyles)}_buildAnimation(t,e,i,r,o,s){const a=e.triggerName,l=e.element,c=[],u=new Set,d=new Set,f=e.timelines.map(p=>{const m=p.element;u.add(m);const y=m[zt];if(y&&y.removedBeforeQueried)return new qo(p.duration,p.delay);const _=m!==l,E=function qR(n){const t=[];return CD(n,t),t}((i.get(m)||VR).map(nt=>nt.getRealPlayer())).filter(nt=>!!nt.element&&nt.element===m),g=o.get(m),C=s.get(m),ee=Yb(0,this._normalizer,0,p.keyframes,g,C),ne=this._buildPlayer(p,ee,E);if(p.subTimeline&&r&&d.add(m),_){const nt=new xf(t,a,m);nt.setRealPlayer(ne),c.push(nt)}return ne});c.forEach(p=>{At(this.playersByQueriedElement,p.element,[]).push(p),p.onDone(()=>function $R(n,t,e){let i=n.get(t);if(i){if(i.length){const r=i.indexOf(e);i.splice(r,1)}0==i.length&&n.delete(t)}return i}(this.playersByQueriedElement,p.element,p))}),u.forEach(p=>Wt(p,oD));const h=li(f);return h.onDestroy(()=>{u.forEach(p=>Vr(p,oD)),Sn(l,e.toStyles)}),d.forEach(p=>{At(r,p,[]).push(h)}),h}_buildPlayer(t,e,i){return e.length>0?this.driver.animate(t.element,e,t.duration,t.delay,t.easing,i):new qo(t.duration,t.delay)}}class xf{constructor(t,e,i){this.namespaceId=t,this.triggerName=e,this.element=i,this._player=new qo,this._containsRealPlayer=!1,this._queuedCallbacks=new Map,this.destroyed=!1,this.markedForDestroy=!1,this.disabled=!1,this.queued=!0,this.totalTime=0}setRealPlayer(t){this._containsRealPlayer||(this._player=t,this._queuedCallbacks.forEach((e,i)=>{e.forEach(r=>cf(t,i,void 0,r))}),this._queuedCallbacks.clear(),this._containsRealPlayer=!0,this.overrideTotalTime(t.totalTime),this.queued=!1)}getRealPlayer(){return this._player}overrideTotalTime(t){this.totalTime=t}syncPlayerEvents(t){const e=this._player;e.triggerCallback&&t.onStart(()=>e.triggerCallback("start")),t.onDone(()=>this.finish()),t.onDestroy(()=>this.destroy())}_queueEvent(t,e){At(this._queuedCallbacks,t,[]).push(e)}onDone(t){this.queued&&this._queueEvent("done",t),this._player.onDone(t)}onStart(t){this.queued&&this._queueEvent("start",t),this._player.onStart(t)}onDestroy(t){this.queued&&this._queueEvent("destroy",t),this._player.onDestroy(t)}init(){this._player.init()}hasStarted(){return!this.queued&&this._player.hasStarted()}play(){!this.queued&&this._player.play()}pause(){!this.queued&&this._player.pause()}restart(){!this.queued&&this._player.restart()}finish(){this._player.finish()}destroy(){this.destroyed=!0,this._player.destroy()}reset(){!this.queued&&this._player.reset()}setPosition(t){this.queued||this._player.setPosition(t)}getPosition(){return this.queued?0:this._player.getPosition()}triggerCallback(t){const e=this._player;e.triggerCallback&&e.triggerCallback(t)}}function ml(n){return n&&1===n.nodeType}function DD(n,t){const e=n.style.display;return n.style.display=t??"none",e}function ED(n,t,e,i,r){const o=[];e.forEach(l=>o.push(DD(l)));const s=[];i.forEach((l,c)=>{const u=new Map;l.forEach(d=>{const f=t.computeStyle(c,d,r);u.set(d,f),(!f||0==f.length)&&(c[zt]=BR,s.push(c))}),n.set(c,u)});let a=0;return e.forEach(l=>DD(l,o[a++])),s}function SD(n,t){const e=new Map;if(n.forEach(a=>e.set(a,[])),0==t.length)return e;const r=new Set(t),o=new Map;function s(a){if(!a)return 1;let l=o.get(a);if(l)return l;const c=a.parentNode;return l=e.has(c)?c:r.has(c)?1:s(c),o.set(a,l),l}return t.forEach(a=>{const l=s(a);1!==l&&e.get(l).push(a)}),e}function Wt(n,t){n.classList?.add(t)}function Vr(n,t){n.classList?.remove(t)}function GR(n,t,e){li(e).onDone(()=>n.processLeaveNode(t))}function CD(n,t){for(let e=0;er.add(o)):t.set(n,i),e.delete(n),!0}class gl{constructor(t,e,i){this.bodyNode=t,this._driver=e,this._normalizer=i,this._triggerCache={},this.onRemovalComplete=(r,o)=>{},this._transitionEngine=new UR(t,e,i),this._timelineEngine=new RR(t,e,i),this._transitionEngine.onRemovalComplete=(r,o)=>this.onRemovalComplete(r,o)}registerTrigger(t,e,i,r,o){const s=t+"-"+r;let a=this._triggerCache[s];if(!a){const l=[],u=bf(this._driver,o,l,[]);if(l.length)throw function ON(n,t){return new D(3404,!1)}();a=function xR(n,t,e){return new PR(n,t,e)}(r,u,this._normalizer),this._triggerCache[s]=a}this._transitionEngine.registerTrigger(e,r,a)}register(t,e){this._transitionEngine.register(t,e)}destroy(t,e){this._transitionEngine.destroy(t,e)}onInsert(t,e,i,r){this._transitionEngine.insertNode(t,e,i,r)}onRemove(t,e,i,r){this._transitionEngine.removeNode(t,e,r||!1,i)}disableAnimations(t,e){this._transitionEngine.markElementAsDisabled(t,e)}process(t,e,i,r){if("@"==i.charAt(0)){const[o,s]=Zb(i);this._timelineEngine.command(o,e,s,r)}else this._transitionEngine.trigger(t,e,i,r)}listen(t,e,i,r,o){if("@"==i.charAt(0)){const[s,a]=Zb(i);return this._timelineEngine.listen(s,e,a,o)}return this._transitionEngine.listen(t,e,i,r,o)}flush(t=-1){this._transitionEngine.flush(t)}get players(){return this._transitionEngine.players.concat(this._timelineEngine.players)}whenRenderingDone(){return this._transitionEngine.whenRenderingDone()}}let YR=(()=>{class n{constructor(e,i,r){this._element=e,this._startStyles=i,this._endStyles=r,this._state=0;let o=n.initialStylesByElement.get(e);o||n.initialStylesByElement.set(e,o=new Map),this._initialStyles=o}start(){this._state<1&&(this._startStyles&&Sn(this._element,this._startStyles,this._initialStyles),this._state=1)}finish(){this.start(),this._state<2&&(Sn(this._element,this._initialStyles),this._endStyles&&(Sn(this._element,this._endStyles),this._endStyles=null),this._state=1)}destroy(){this.finish(),this._state<3&&(n.initialStylesByElement.delete(this._element),this._startStyles&&(Ui(this._element,this._startStyles),this._endStyles=null),this._endStyles&&(Ui(this._element,this._endStyles),this._endStyles=null),Sn(this._element,this._initialStyles),this._state=3)}}return n.initialStylesByElement=new WeakMap,n})();function Pf(n){let t=null;return n.forEach((e,i)=>{(function ZR(n){return"display"===n||"position"===n})(i)&&(t=t||new Map,t.set(i,e))}),t}class ID{constructor(t,e,i,r){this.element=t,this.keyframes=e,this.options=i,this._specialStyles=r,this._onDoneFns=[],this._onStartFns=[],this._onDestroyFns=[],this._initialized=!1,this._finished=!1,this._started=!1,this._destroyed=!1,this._originalOnDoneFns=[],this._originalOnStartFns=[],this.time=0,this.parentPlayer=null,this.currentSnapshot=new Map,this._duration=i.duration,this._delay=i.delay||0,this.time=this._duration+this._delay}_onFinish(){this._finished||(this._finished=!0,this._onDoneFns.forEach(t=>t()),this._onDoneFns=[])}init(){this._buildPlayer(),this._preparePlayerBeforeStart()}_buildPlayer(){if(this._initialized)return;this._initialized=!0;const t=this.keyframes;this.domPlayer=this._triggerWebAnimation(this.element,t,this.options),this._finalKeyframe=t.length?t[t.length-1]:new Map,this.domPlayer.addEventListener("finish",()=>this._onFinish())}_preparePlayerBeforeStart(){this._delay?this._resetDomPlayerState():this.domPlayer.pause()}_convertKeyframesToObject(t){const e=[];return t.forEach(i=>{e.push(Object.fromEntries(i))}),e}_triggerWebAnimation(t,e,i){return t.animate(this._convertKeyframesToObject(e),i)}onStart(t){this._originalOnStartFns.push(t),this._onStartFns.push(t)}onDone(t){this._originalOnDoneFns.push(t),this._onDoneFns.push(t)}onDestroy(t){this._onDestroyFns.push(t)}play(){this._buildPlayer(),this.hasStarted()||(this._onStartFns.forEach(t=>t()),this._onStartFns=[],this._started=!0,this._specialStyles&&this._specialStyles.start()),this.domPlayer.play()}pause(){this.init(),this.domPlayer.pause()}finish(){this.init(),this._specialStyles&&this._specialStyles.finish(),this._onFinish(),this.domPlayer.finish()}reset(){this._resetDomPlayerState(),this._destroyed=!1,this._finished=!1,this._started=!1,this._onStartFns=this._originalOnStartFns,this._onDoneFns=this._originalOnDoneFns}_resetDomPlayerState(){this.domPlayer&&this.domPlayer.cancel()}restart(){this.reset(),this.play()}hasStarted(){return this._started}destroy(){this._destroyed||(this._destroyed=!0,this._resetDomPlayerState(),this._onFinish(),this._specialStyles&&this._specialStyles.destroy(),this._onDestroyFns.forEach(t=>t()),this._onDestroyFns=[])}setPosition(t){void 0===this.domPlayer&&this.init(),this.domPlayer.currentTime=t*this.time}getPosition(){return this.domPlayer.currentTime/this.time}get totalTime(){return this._delay+this._duration}beforeDestroy(){const t=new Map;this.hasStarted()&&this._finalKeyframe.forEach((i,r)=>{"offset"!==r&&t.set(r,this._finished?i:dD(this.element,r))}),this.currentSnapshot=t}triggerCallback(t){const e="start"===t?this._onStartFns:this._onDoneFns;e.forEach(i=>i()),e.length=0}}class XR{validateStyleProperty(t){return!0}validateAnimatableStyleProperty(t){return!0}matchesElement(t,e){return!1}containsElement(t,e){return tD(t,e)}getParentElement(t){return hf(t)}query(t,e,i){return nD(t,e,i)}computeStyle(t,e,i){return window.getComputedStyle(t)[e]}animate(t,e,i,r,o,s=[]){const l={duration:i,delay:r,fill:0==r?"both":"forwards"};o&&(l.easing=o);const c=new Map,u=s.filter(h=>h instanceof ID);(function nR(n,t){return 0===n||0===t})(i,r)&&u.forEach(h=>{h.currentSnapshot.forEach((p,m)=>c.set(m,p))});let d=function XN(n){return n.length?n[0]instanceof Map?n:n.map(t=>sD(t)):[]}(e).map(h=>ci(h));d=function iR(n,t,e){if(e.size&&t.length){let i=t[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,dD(n,a)))}}return t}(t,d,c);const f=function QR(n,t){let e=null,i=null;return Array.isArray(t)&&t.length?(e=Pf(t[0]),t.length>1&&(i=Pf(t[t.length-1]))):t instanceof Map&&(e=Pf(t)),e||i?new YR(n,e,i):null}(t,d);return new ID(t,d,l,f)}}let JR=(()=>{class n extends Hb{constructor(e,i){super(),this._nextAnimationId=0,this._renderer=e.createRenderer(i.body,{id:"0",encapsulation:Yt.None,styles:[],data:{animation:[]}})}build(e){const i=this._nextAnimationId.toString();this._nextAnimationId++;const r=Array.isArray(e)?$b(e):e;return TD(this._renderer,null,i,"register",[r]),new eF(i,this._renderer)}}return n.\u0275fac=function(e){return new(e||n)(A(po),A(Bt))},n.\u0275prov=$({token:n,factory:n.\u0275fac}),n})();class eF extends cN{constructor(t,e){super(),this._id=t,this._renderer=e}create(t,e){return new tF(this._id,t,e||{},this._renderer)}}class tF{constructor(t,e,i,r){this.id=t,this.element=e,this._renderer=r,this.parentPlayer=null,this._started=!1,this.totalTime=0,this._command("create",i)}_listen(t,e){return this._renderer.listen(this.element,`@@${this.id}:${t}`,e)}_command(t,...e){return TD(this._renderer,this.element,this.id,t,e)}onDone(t){this._listen("done",t)}onStart(t){this._listen("start",t)}onDestroy(t){this._listen("destroy",t)}init(){this._command("init")}hasStarted(){return this._started}play(){this._command("play"),this._started=!0}pause(){this._command("pause")}restart(){this._command("restart")}finish(){this._command("finish")}destroy(){this._command("destroy")}reset(){this._command("reset"),this._started=!1}setPosition(t){this._command("setPosition",t)}getPosition(){return this._renderer.engine.players[+this.id]?.getPosition()??0}}function TD(n,t,e,i,r){return n.setProperty(t,`@@${e}:${i}`,r)}const MD="@.disabled";let nF=(()=>{class n{constructor(e,i,r){this.delegate=e,this.engine=i,this._zone=r,this._currentId=0,this._microtaskId=1,this._animationCallbacksBuffer=[],this._rendererCache=new Map,this._cdRecurDepth=0,this.promise=Promise.resolve(0),i.onRemovalComplete=(o,s)=>{const a=s?.parentNode(o);a&&s.removeChild(a,o)}}createRenderer(e,i){const o=this.delegate.createRenderer(e,i);if(!(e&&i&&i.data&&i.data.animation)){let u=this._rendererCache.get(o);return u||(u=new AD("",o,this.engine,()=>this._rendererCache.delete(o)),this._rendererCache.set(o,u)),u}const s=i.id,a=i.id+"-"+this._currentId;this._currentId++,this.engine.register(a,e);const l=u=>{Array.isArray(u)?u.forEach(l):this.engine.registerTrigger(s,a,e,u.name,u)};return i.data.animation.forEach(l),new iF(this,a,o,this.engine)}begin(){this._cdRecurDepth++,this.delegate.begin&&this.delegate.begin()}_scheduleCountTask(){this.promise.then(()=>{this._microtaskId++})}scheduleListenerCallback(e,i,r){e>=0&&ei(r)):(0==this._animationCallbacksBuffer.length&&Promise.resolve(null).then(()=>{this._zone.run(()=>{this._animationCallbacksBuffer.forEach(o=>{const[s,a]=o;s(a)}),this._animationCallbacksBuffer=[]})}),this._animationCallbacksBuffer.push([i,r]))}end(){this._cdRecurDepth--,0==this._cdRecurDepth&&this._zone.runOutsideAngular(()=>{this._scheduleCountTask(),this.engine.flush(this._microtaskId)}),this.delegate.end&&this.delegate.end()}whenRenderingDone(){return this.engine.whenRenderingDone()}}return n.\u0275fac=function(e){return new(e||n)(A(po),A(gl),A(Ie))},n.\u0275prov=$({token:n,factory:n.\u0275fac}),n})();class AD{constructor(t,e,i,r){this.namespaceId=t,this.delegate=e,this.engine=i,this._onDestroy=r,this.destroyNode=this.delegate.destroyNode?o=>e.destroyNode(o):null}get data(){return this.delegate.data}destroy(){this.engine.destroy(this.namespaceId,this.delegate),this.delegate.destroy(),this._onDestroy?.()}createElement(t,e){return this.delegate.createElement(t,e)}createComment(t){return this.delegate.createComment(t)}createText(t){return this.delegate.createText(t)}appendChild(t,e){this.delegate.appendChild(t,e),this.engine.onInsert(this.namespaceId,e,t,!1)}insertBefore(t,e,i,r=!0){this.delegate.insertBefore(t,e,i),this.engine.onInsert(this.namespaceId,e,t,r)}removeChild(t,e,i){this.engine.onRemove(this.namespaceId,e,this.delegate,i)}selectRootElement(t,e){return this.delegate.selectRootElement(t,e)}parentNode(t){return this.delegate.parentNode(t)}nextSibling(t){return this.delegate.nextSibling(t)}setAttribute(t,e,i,r){this.delegate.setAttribute(t,e,i,r)}removeAttribute(t,e,i){this.delegate.removeAttribute(t,e,i)}addClass(t,e){this.delegate.addClass(t,e)}removeClass(t,e){this.delegate.removeClass(t,e)}setStyle(t,e,i,r){this.delegate.setStyle(t,e,i,r)}removeStyle(t,e,i){this.delegate.removeStyle(t,e,i)}setProperty(t,e,i){"@"==e.charAt(0)&&e==MD?this.disableAnimations(t,!!i):this.delegate.setProperty(t,e,i)}setValue(t,e){this.delegate.setValue(t,e)}listen(t,e,i){return this.delegate.listen(t,e,i)}disableAnimations(t,e){this.engine.disableAnimations(t,e)}}class iF extends AD{constructor(t,e,i,r,o){super(e,i,r,o),this.factory=t,this.namespaceId=e}setProperty(t,e,i){"@"==e.charAt(0)?"."==e.charAt(1)&&e==MD?this.disableAnimations(t,i=void 0===i||!!i):this.engine.process(this.namespaceId,t,e.slice(1),i):this.delegate.setProperty(t,e,i)}listen(t,e,i){if("@"==e.charAt(0)){const r=function rF(n){switch(n){case"body":return document.body;case"document":return document;case"window":return window;default:return n}}(t);let o=e.slice(1),s="";return"@"!=o.charAt(0)&&([o,s]=function oF(n){const t=n.indexOf(".");return[n.substring(0,t),n.slice(t+1)]}(o)),this.engine.listen(this.namespaceId,r,o,s,a=>{this.factory.scheduleListenerCallback(a._data||-1,i,a)})}return this.delegate.listen(t,e,i)}}let sF=(()=>{class n extends gl{constructor(e,i,r,o){super(e.body,i,r)}ngOnDestroy(){this.flush()}}return n.\u0275fac=function(e){return new(e||n)(A(Bt),A(pf),A(wf),A(Oo))},n.\u0275prov=$({token:n,factory:n.\u0275fac}),n})();const xD=[{provide:Hb,useClass:JR},{provide:wf,useFactory:function aF(){return new IR}},{provide:gl,useClass:sF},{provide:po,useFactory:function lF(n,t,e){return new nF(n,t,e)},deps:[La,gl,Ie]}],Of=[{provide:pf,useFactory:()=>new XR},{provide:b_,useValue:"BrowserAnimations"},...xD],PD=[{provide:pf,useClass:iD},{provide:b_,useValue:"NoopAnimations"},...xD];let cF=(()=>{class n{static withConfig(e){return{ngModule:n,providers:e.disableAnimations?PD:Of}}}return n.\u0275fac=function(e){return new(e||n)},n.\u0275mod=ke({type:n}),n.\u0275inj=xe({providers:Of,imports:[Ov]}),n})();class _l{}class Nf{}class Un{constructor(t){this.normalizedNames=new Map,this.lazyUpdate=null,t?this.lazyInit="string"==typeof t?()=>{this.headers=new Map,t.split("\n").forEach(e=>{const i=e.indexOf(":");if(i>0){const r=e.slice(0,i),o=r.toLowerCase(),s=e.slice(i+1).trim();this.maybeSetNormalizedName(r,o),this.headers.has(o)?this.headers.get(o).push(s):this.headers.set(o,[s])}})}:()=>{this.headers=new Map,Object.keys(t).forEach(e=>{let i=t[e];const r=e.toLowerCase();"string"==typeof i&&(i=[i]),i.length>0&&(this.headers.set(r,i),this.maybeSetNormalizedName(e,r))})}:this.headers=new Map}has(t){return this.init(),this.headers.has(t.toLowerCase())}get(t){this.init();const e=this.headers.get(t.toLowerCase());return e&&e.length>0?e[0]:null}keys(){return this.init(),Array.from(this.normalizedNames.values())}getAll(t){return this.init(),this.headers.get(t.toLowerCase())||null}append(t,e){return this.clone({name:t,value:e,op:"a"})}set(t,e){return this.clone({name:t,value:e,op:"s"})}delete(t,e){return this.clone({name:t,value:e,op:"d"})}maybeSetNormalizedName(t,e){this.normalizedNames.has(e)||this.normalizedNames.set(e,t)}init(){this.lazyInit&&(this.lazyInit instanceof Un?this.copyFrom(this.lazyInit):this.lazyInit(),this.lazyInit=null,this.lazyUpdate&&(this.lazyUpdate.forEach(t=>this.applyUpdate(t)),this.lazyUpdate=null))}copyFrom(t){t.init(),Array.from(t.headers.keys()).forEach(e=>{this.headers.set(e,t.headers.get(e)),this.normalizedNames.set(e,t.normalizedNames.get(e))})}clone(t){const e=new Un;return e.lazyInit=this.lazyInit&&this.lazyInit instanceof Un?this.lazyInit:this,e.lazyUpdate=(this.lazyUpdate||[]).concat([t]),e}applyUpdate(t){const e=t.name.toLowerCase();switch(t.op){case"a":case"s":let i=t.value;if("string"==typeof i&&(i=[i]),0===i.length)return;this.maybeSetNormalizedName(t.name,e);const r=("a"===t.op?this.headers.get(e):void 0)||[];r.push(...i),this.headers.set(e,r);break;case"d":const o=t.value;if(o){let s=this.headers.get(e);if(!s)return;s=s.filter(a=>-1===o.indexOf(a)),0===s.length?(this.headers.delete(e),this.normalizedNames.delete(e)):this.headers.set(e,s)}else this.headers.delete(e),this.normalizedNames.delete(e)}}forEach(t){this.init(),Array.from(this.normalizedNames.keys()).forEach(e=>t(this.normalizedNames.get(e),this.headers.get(e)))}}class dF{encodeKey(t){return OD(t)}encodeValue(t){return OD(t)}decodeKey(t){return decodeURIComponent(t)}decodeValue(t){return decodeURIComponent(t)}}const hF=/%(\d[a-f0-9])/gi,pF={40:"@","3A":":",24:"$","2C":",","3B":";","3D":"=","3F":"?","2F":"/"};function OD(n){return encodeURIComponent(n).replace(hF,(t,e)=>pF[e]??t)}function vl(n){return`${n}`}class ui{constructor(t={}){if(this.updates=null,this.cloneFrom=null,this.encoder=t.encoder||new dF,t.fromString){if(t.fromObject)throw new Error("Cannot specify both fromString and fromObject.");this.map=function fF(n,t){const e=new Map;return n.length>0&&n.replace(/^\?/,"").split("&").forEach(r=>{const o=r.indexOf("="),[s,a]=-1==o?[t.decodeKey(r),""]:[t.decodeKey(r.slice(0,o)),t.decodeValue(r.slice(o+1))],l=e.get(s)||[];l.push(a),e.set(s,l)}),e}(t.fromString,this.encoder)}else t.fromObject?(this.map=new Map,Object.keys(t.fromObject).forEach(e=>{const i=t.fromObject[e],r=Array.isArray(i)?i.map(vl):[vl(i)];this.map.set(e,r)})):this.map=null}has(t){return this.init(),this.map.has(t)}get(t){this.init();const e=this.map.get(t);return e?e[0]:null}getAll(t){return this.init(),this.map.get(t)||null}keys(){return this.init(),Array.from(this.map.keys())}append(t,e){return this.clone({param:t,value:e,op:"a"})}appendAll(t){const e=[];return Object.keys(t).forEach(i=>{const r=t[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(t,e){return this.clone({param:t,value:e,op:"s"})}delete(t,e){return this.clone({param:t,value:e,op:"d"})}toString(){return this.init(),this.keys().map(t=>{const e=this.encoder.encodeKey(t);return this.map.get(t).map(i=>e+"="+this.encoder.encodeValue(i)).join("&")}).filter(t=>""!==t).join("&")}clone(t){const e=new ui({encoder:this.encoder});return e.cloneFrom=this.cloneFrom||this,e.updates=(this.updates||[]).concat(t),e}init(){null===this.map&&(this.map=new Map),null!==this.cloneFrom&&(this.cloneFrom.init(),this.cloneFrom.keys().forEach(t=>this.map.set(t,this.cloneFrom.map.get(t))),this.updates.forEach(t=>{switch(t.op){case"a":case"s":const e=("a"===t.op?this.map.get(t.param):void 0)||[];e.push(vl(t.value)),this.map.set(t.param,e);break;case"d":if(void 0===t.value){this.map.delete(t.param);break}{let i=this.map.get(t.param)||[];const r=i.indexOf(vl(t.value));-1!==r&&i.splice(r,1),i.length>0?this.map.set(t.param,i):this.map.delete(t.param)}}}),this.cloneFrom=this.updates=null)}}class mF{constructor(){this.map=new Map}set(t,e){return this.map.set(t,e),this}get(t){return this.map.has(t)||this.map.set(t,t.defaultValue()),this.map.get(t)}delete(t){return this.map.delete(t),this}has(t){return this.map.has(t)}keys(){return this.map.keys()}}function ND(n){return typeof ArrayBuffer<"u"&&n instanceof ArrayBuffer}function RD(n){return typeof Blob<"u"&&n instanceof Blob}function FD(n){return typeof FormData<"u"&&n instanceof FormData}class Xo{constructor(t,e,i,r){let o;if(this.url=e,this.body=null,this.reportProgress=!1,this.withCredentials=!1,this.responseType="json",this.method=t.toUpperCase(),function gF(n){switch(n){case"DELETE":case"GET":case"HEAD":case"OPTIONS":case"JSONP":return!1;default:return!0}}(this.method)||r?(this.body=void 0!==i?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.headers||(this.headers=new Un),this.context||(this.context=new mF),this.params){const s=this.params.toString();if(0===s.length)this.urlWithParams=e;else{const a=e.indexOf("?");this.urlWithParams=e+(-1===a?"?":ad.set(f,t.setHeaders[f]),l)),t.setParams&&(c=Object.keys(t.setParams).reduce((d,f)=>d.set(f,t.setParams[f]),c)),new Xo(e,i,o,{params:c,headers:l,context:u,reportProgress:a,responseType:r,withCredentials:s})}}var Fe=(()=>((Fe=Fe||{})[Fe.Sent=0]="Sent",Fe[Fe.UploadProgress=1]="UploadProgress",Fe[Fe.ResponseHeader=2]="ResponseHeader",Fe[Fe.DownloadProgress=3]="DownloadProgress",Fe[Fe.Response=4]="Response",Fe[Fe.User=5]="User",Fe))();class Rf{constructor(t,e=200,i="OK"){this.headers=t.headers||new Un,this.status=void 0!==t.status?t.status:e,this.statusText=t.statusText||i,this.url=t.url||null,this.ok=this.status>=200&&this.status<300}}class Ff extends Rf{constructor(t={}){super(t),this.type=Fe.ResponseHeader}clone(t={}){return new Ff({headers:t.headers||this.headers,status:void 0!==t.status?t.status:this.status,statusText:t.statusText||this.statusText,url:t.url||this.url||void 0})}}class bl extends Rf{constructor(t={}){super(t),this.type=Fe.Response,this.body=void 0!==t.body?t.body:null}clone(t={}){return new bl({body:void 0!==t.body?t.body:this.body,headers:t.headers||this.headers,status:void 0!==t.status?t.status:this.status,statusText:t.statusText||this.statusText,url:t.url||this.url||void 0})}}class LD extends Rf{constructor(t){super(t,0,"Unknown Error"),this.name="HttpErrorResponse",this.ok=!1,this.message=this.status>=200&&this.status<300?`Http failure during parsing for ${t.url||"(unknown url)"}`:`Http failure response for ${t.url||"(unknown url)"}: ${t.status} ${t.statusText}`,this.error=t.error||null}}function Lf(n,t){return{body:t,headers:n.headers,context:n.context,observe:n.observe,params:n.params,reportProgress:n.reportProgress,responseType:n.responseType,withCredentials:n.withCredentials}}let kD=(()=>{class n{constructor(e){this.handler=e}request(e,i,r={}){let o;if(e instanceof Xo)o=e;else{let l,c;l=r.headers instanceof Un?r.headers:new Un(r.headers),r.params&&(c=r.params instanceof ui?r.params:new ui({fromObject:r.params})),o=new Xo(e,i,void 0!==r.body?r.body:null,{headers:l,context:r.context,params:c,reportProgress:r.reportProgress,responseType:r.responseType||"json",withCredentials:r.withCredentials})}const s=Ya(o).pipe(function uF(n,t){return Pl(n,t,1)}(l=>this.handler.handle(l)));if(e instanceof Xo||"events"===r.observe)return s;const a=s.pipe(Ad(l=>l instanceof bl));switch(r.observe||"body"){case"body":switch(o.responseType){case"arraybuffer":return a.pipe(mt(l=>{if(null!==l.body&&!(l.body instanceof ArrayBuffer))throw new Error("Response is not an ArrayBuffer.");return l.body}));case"blob":return a.pipe(mt(l=>{if(null!==l.body&&!(l.body instanceof Blob))throw new Error("Response is not a Blob.");return l.body}));case"text":return a.pipe(mt(l=>{if(null!==l.body&&"string"!=typeof l.body)throw new Error("Response is not a string.");return l.body}));default:return a.pipe(mt(l=>l.body))}case"response":return a;default:throw new Error(`Unreachable: unhandled observe type ${r.observe}}`)}}delete(e,i={}){return this.request("DELETE",e,i)}get(e,i={}){return this.request("GET",e,i)}head(e,i={}){return this.request("HEAD",e,i)}jsonp(e,i){return this.request("JSONP",e,{params:(new ui).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,Lf(r,i))}post(e,i,r={}){return this.request("POST",e,Lf(r,i))}put(e,i,r={}){return this.request("PUT",e,Lf(r,i))}}return n.\u0275fac=function(e){return new(e||n)(A(_l))},n.\u0275prov=$({token:n,factory:n.\u0275fac}),n})();function jD(n,t){return t(n)}function _F(n,t){return(e,i)=>t.intercept(e,{handle:r=>n(r,i)})}const bF=new P("HTTP_INTERCEPTORS"),Jo=new P("HTTP_INTERCEPTOR_FNS");function DF(){let n=null;return(t,e)=>(null===n&&(n=(Yn(bF,{optional:!0})??[]).reduceRight(_F,jD)),n(t,e))}let VD=(()=>{class n extends _l{constructor(e,i){super(),this.backend=e,this.injector=i,this.chain=null}handle(e){if(null===this.chain){const i=Array.from(new Set(this.injector.get(Jo)));this.chain=i.reduceRight((r,o)=>function vF(n,t,e){return(i,r)=>e.runInContext(()=>t(i,o=>n(o,r)))}(r,o,this.injector),jD)}return this.chain(e,i=>this.backend.handle(i))}}return n.\u0275fac=function(e){return new(e||n)(A(Nf),A(Ii))},n.\u0275prov=$({token:n,factory:n.\u0275fac}),n})();const wF=/^\)\]\}',?\n/;let HD=(()=>{class n{constructor(e){this.xhrFactory=e}handle(e){if("JSONP"===e.method)throw new Error("Attempted to construct Jsonp request without HttpClientJsonpModule installed.");return new ve(i=>{const r=this.xhrFactory.build();if(r.open(e.method,e.urlWithParams),e.withCredentials&&(r.withCredentials=!0),e.headers.forEach((h,p)=>r.setRequestHeader(h,p.join(","))),e.headers.has("Accept")||r.setRequestHeader("Accept","application/json, text/plain, */*"),!e.headers.has("Content-Type")){const h=e.detectContentTypeHeader();null!==h&&r.setRequestHeader("Content-Type",h)}if(e.responseType){const h=e.responseType.toLowerCase();r.responseType="json"!==h?h:"text"}const o=e.serializeBody();let s=null;const a=()=>{if(null!==s)return s;const h=r.statusText||"OK",p=new Un(r.getAllResponseHeaders()),m=function IF(n){return"responseURL"in n&&n.responseURL?n.responseURL:/^X-Request-URL:/m.test(n.getAllResponseHeaders())?n.getResponseHeader("X-Request-URL"):null}(r)||e.url;return s=new Ff({headers:p,status:r.status,statusText:h,url:m}),s},l=()=>{let{headers:h,status:p,statusText:m,url:y}=a(),_=null;204!==p&&(_=typeof r.response>"u"?r.responseText:r.response),0===p&&(p=_?200:0);let E=p>=200&&p<300;if("json"===e.responseType&&"string"==typeof _){const g=_;_=_.replace(wF,"");try{_=""!==_?JSON.parse(_):null}catch(C){_=g,E&&(E=!1,_={error:C,text:_})}}E?(i.next(new bl({body:_,headers:h,status:p,statusText:m,url:y||void 0})),i.complete()):i.error(new LD({error:_,headers:h,status:p,statusText:m,url:y||void 0}))},c=h=>{const{url:p}=a(),m=new LD({error:h,status:r.status||0,statusText:r.statusText||"Unknown Error",url:p||void 0});i.error(m)};let u=!1;const d=h=>{u||(i.next(a()),u=!0);let p={type:Fe.DownloadProgress,loaded:h.loaded};h.lengthComputable&&(p.total=h.total),"text"===e.responseType&&r.responseText&&(p.partialText=r.responseText),i.next(p)},f=h=>{let p={type:Fe.UploadProgress,loaded:h.loaded};h.lengthComputable&&(p.total=h.total),i.next(p)};return r.addEventListener("load",l),r.addEventListener("error",c),r.addEventListener("timeout",c),r.addEventListener("abort",c),e.reportProgress&&(r.addEventListener("progress",d),null!==o&&r.upload&&r.upload.addEventListener("progress",f)),r.send(o),i.next({type:Fe.Sent}),()=>{r.removeEventListener("error",c),r.removeEventListener("abort",c),r.removeEventListener("load",l),r.removeEventListener("timeout",c),e.reportProgress&&(r.removeEventListener("progress",d),null!==o&&r.upload&&r.upload.removeEventListener("progress",f)),r.readyState!==r.DONE&&r.abort()}})}}return n.\u0275fac=function(e){return new(e||n)(A(dv))},n.\u0275prov=$({token:n,factory:n.\u0275fac}),n})();const kf=new P("XSRF_ENABLED"),UD="XSRF-TOKEN",$D=new P("XSRF_COOKIE_NAME",{providedIn:"root",factory:()=>UD}),zD="X-XSRF-TOKEN",WD=new P("XSRF_HEADER_NAME",{providedIn:"root",factory:()=>zD});class GD{}let TF=(()=>{class n{constructor(e,i,r){this.doc=e,this.platform=i,this.cookieName=r,this.lastCookieString="",this.lastToken=null,this.parseCount=0}getToken(){if("server"===this.platform)return null;const e=this.doc.cookie||"";return e!==this.lastCookieString&&(this.parseCount++,this.lastToken=ev(e,this.cookieName),this.lastCookieString=e),this.lastToken}}return n.\u0275fac=function(e){return new(e||n)(A(Bt),A(zu),A($D))},n.\u0275prov=$({token:n,factory:n.\u0275fac}),n})();function MF(n,t){const e=n.url.toLowerCase();if(!Yn(kf)||"GET"===n.method||"HEAD"===n.method||e.startsWith("http://")||e.startsWith("https://"))return t(n);const i=Yn(GD).getToken(),r=Yn(WD);return null!=i&&!n.headers.has(r)&&(n=n.clone({headers:n.headers.set(r,i)})),t(n)}var Ae=(()=>((Ae=Ae||{})[Ae.Interceptors=0]="Interceptors",Ae[Ae.LegacyInterceptors=1]="LegacyInterceptors",Ae[Ae.CustomXsrfConfiguration=2]="CustomXsrfConfiguration",Ae[Ae.NoXsrfProtection=3]="NoXsrfProtection",Ae[Ae.JsonpSupport=4]="JsonpSupport",Ae[Ae.RequestsMadeViaParent=5]="RequestsMadeViaParent",Ae))();function Br(n,t){return{\u0275kind:n,\u0275providers:t}}function AF(...n){const t=[kD,HD,VD,{provide:_l,useExisting:VD},{provide:Nf,useExisting:HD},{provide:Jo,useValue:MF,multi:!0},{provide:kf,useValue:!0},{provide:GD,useClass:TF}];for(const e of n)t.push(...e.\u0275providers);return function Fw(n){return{\u0275providers:n}}(t)}const qD=new P("LEGACY_INTERCEPTOR_FN");function PF({cookieName:n,headerName:t}){const e=[];return void 0!==n&&e.push({provide:$D,useValue:n}),void 0!==t&&e.push({provide:WD,useValue:t}),Br(Ae.CustomXsrfConfiguration,e)}let OF=(()=>{class n{}return n.\u0275fac=function(e){return new(e||n)},n.\u0275mod=ke({type:n}),n.\u0275inj=xe({providers:[AF(Br(Ae.LegacyInterceptors,[{provide:qD,useFactory:DF},{provide:Jo,useExisting:qD,multi:!0}]),PF({cookieName:UD,headerName:zD}))]}),n})();const KD=["*"];let tt=(()=>{class n{}return n.STARTS_WITH="startsWith",n.CONTAINS="contains",n.NOT_CONTAINS="notContains",n.ENDS_WITH="endsWith",n.EQUALS="equals",n.NOT_EQUALS="notEquals",n.IN="in",n.LESS_THAN="lt",n.LESS_THAN_OR_EQUAL_TO="lte",n.GREATER_THAN="gt",n.GREATER_THAN_OR_EQUAL_TO="gte",n.BETWEEN="between",n.IS="is",n.IS_NOT="isNot",n.BEFORE="before",n.AFTER="after",n.DATE_IS="dateIs",n.DATE_IS_NOT="dateIsNot",n.DATE_BEFORE="dateBefore",n.DATE_AFTER="dateAfter",n})(),QD=(()=>{class n{constructor(){this.ripple=!1,this.overlayOptions={},this.filterMatchModeOptions={text:[tt.STARTS_WITH,tt.CONTAINS,tt.NOT_CONTAINS,tt.ENDS_WITH,tt.EQUALS,tt.NOT_EQUALS],numeric:[tt.EQUALS,tt.NOT_EQUALS,tt.LESS_THAN,tt.LESS_THAN_OR_EQUAL_TO,tt.GREATER_THAN,tt.GREATER_THAN_OR_EQUAL_TO],date:[tt.DATE_IS,tt.DATE_IS_NOT,tt.DATE_BEFORE,tt.DATE_AFTER]},this.translation={startsWith:"Starts with",contains:"Contains",notContains:"Not contains",endsWith:"Ends with",equals:"Equals",notEquals:"Not equals",noFilter:"No Filter",lt:"Less than",lte:"Less than or equal to",gt:"Greater than",gte:"Greater than or equal to",is:"Is",isNot:"Is not",before:"Before",after:"After",dateIs:"Date is",dateIsNot:"Date is not",dateBefore:"Date is before",dateAfter:"Date is after",clear:"Clear",apply:"Apply",matchAll:"Match All",matchAny:"Match Any",addRule:"Add Rule",removeRule:"Remove Rule",accept:"Yes",reject:"No",choose:"Choose",upload:"Upload",cancel:"Cancel",dayNames:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],dayNamesShort:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],dayNamesMin:["Su","Mo","Tu","We","Th","Fr","Sa"],monthNames:["January","February","March","April","May","June","July","August","September","October","November","December"],monthNamesShort:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],dateFormat:"mm/dd/yy",firstDayOfWeek:0,today:"Today",weekHeader:"Wk",weak:"Weak",medium:"Medium",strong:"Strong",passwordPrompt:"Enter a password",emptyMessage:"No results found",emptyFilterMessage:"No results found"},this.zIndex={modal:1100,overlay:1e3,menu:1e3,tooltip:1100},this.translationSource=new Tn,this.translationObserver=this.translationSource.asObservable()}getTranslation(e){return this.translation[e]}setTranslation(e){this.translation={...this.translation,...e},this.translationSource.next(this.translation)}}return n.\u0275fac=function(e){return new(e||n)},n.\u0275prov=$({token:n,factory:n.\u0275fac,providedIn:"root"}),n})(),NF=(()=>{class n{}return n.\u0275fac=function(e){return new(e||n)},n.\u0275cmp=gt({type:n,selectors:[["p-header"]],ngContentSelectors:KD,decls:1,vars:0,template:function(e,i){1&e&&(Ai(),Ln(0))},encapsulation:2}),n})(),RF=(()=>{class n{}return n.\u0275fac=function(e){return new(e||n)},n.\u0275cmp=gt({type:n,selectors:[["p-footer"]],ngContentSelectors:KD,decls:1,vars:0,template:function(e,i){1&e&&(Ai(),Ln(0))},encapsulation:2}),n})(),YD=(()=>{class n{constructor(e){this.template=e}getType(){return this.name}}return n.\u0275fac=function(e){return new(e||n)(b(bn))},n.\u0275dir=k({type:n,selectors:[["","pTemplate",""]],inputs:{type:"type",name:["pTemplate","name"]}}),n})(),FF=(()=>{class n{}return n.\u0275fac=function(e){return new(e||n)},n.\u0275mod=ke({type:n}),n.\u0275inj=xe({imports:[Mt]}),n})(),K=(()=>{class n{static addClass(e,i){e&&i&&(e.classList?e.classList.add(i):e.className+=" "+i)}static addMultipleClasses(e,i){if(e&&i)if(e.classList){let r=i.trim().split(" ");for(let o=0;o{if(m)return"relative"===getComputedStyle(m).getPropertyValue("position")?m:r(m.parentElement)},o=e.offsetParent?{width:e.offsetWidth,height:e.offsetHeight}:this.getHiddenElementDimensions(e),s=i.offsetHeight,a=i.getBoundingClientRect(),l=this.getWindowScrollTop(),c=this.getWindowScrollLeft(),u=this.getViewport(),f=r(e)?.getBoundingClientRect()||{top:-1*l,left:-1*c};let h,p;a.top+s+o.height>u.height?(h=a.top-f.top-o.height,e.style.transformOrigin="bottom",a.top+h<0&&(h=-1*a.top)):(h=s+a.top-f.top,e.style.transformOrigin="top"),p=o.width>u.width?-1*(a.left-f.left):a.left-f.left+o.width>u.width?-1*(a.left-f.left+o.width-u.width):a.left-f.left,e.style.top=h+"px",e.style.left=p+"px"}static absolutePosition(e,i){const r=e.offsetParent?{width:e.offsetWidth,height:e.offsetHeight}:this.getHiddenElementDimensions(e),o=r.height,s=r.width,a=i.offsetHeight,l=i.offsetWidth,c=i.getBoundingClientRect(),u=this.getWindowScrollTop(),d=this.getWindowScrollLeft(),f=this.getViewport();let h,p;c.top+a+o>f.height?(h=c.top+u-o,e.style.transformOrigin="bottom",h<0&&(h=u)):(h=a+c.top+u,e.style.transformOrigin="top"),p=c.left+s>f.width?Math.max(0,c.left+d+l-s):c.left+d,e.style.top=h+"px",e.style.left=p+"px"}static getParents(e,i=[]){return null===e.parentNode?i:this.getParents(e.parentNode,i.concat([e.parentNode]))}static getScrollableParents(e){let i=[];if(e){let r=this.getParents(e);const o=/(auto|scroll)/,s=a=>{let l=window.getComputedStyle(a,null);return o.test(l.getPropertyValue("overflow"))||o.test(l.getPropertyValue("overflowX"))||o.test(l.getPropertyValue("overflowY"))};for(let a of r){let l=1===a.nodeType&&a.dataset.scrollselectors;if(l){let c=l.split(",");for(let u of c){let d=this.findSingle(a,u);d&&s(d)&&i.push(d)}}9!==a.nodeType&&s(a)&&i.push(a)}}return i}static getHiddenElementOuterHeight(e){e.style.visibility="hidden",e.style.display="block";let i=e.offsetHeight;return e.style.display="none",e.style.visibility="visible",i}static getHiddenElementOuterWidth(e){e.style.visibility="hidden",e.style.display="block";let i=e.offsetWidth;return e.style.display="none",e.style.visibility="visible",i}static getHiddenElementDimensions(e){let i={};return e.style.visibility="hidden",e.style.display="block",i.width=e.offsetWidth,i.height=e.offsetHeight,e.style.display="none",e.style.visibility="visible",i}static scrollInView(e,i){let r=getComputedStyle(e).getPropertyValue("borderTopWidth"),o=r?parseFloat(r):0,s=getComputedStyle(e).getPropertyValue("paddingTop"),a=s?parseFloat(s):0,l=e.getBoundingClientRect(),u=i.getBoundingClientRect().top+document.body.scrollTop-(l.top+document.body.scrollTop)-o-a,d=e.scrollTop,f=e.clientHeight,h=this.getOuterHeight(i);u<0?e.scrollTop=d+u:u+h>f&&(e.scrollTop=d+u-f+h)}static fadeIn(e,i){e.style.opacity=0;let r=+new Date,o=0,s=function(){o=+e.style.opacity.replace(",",".")+((new Date).getTime()-r)/i,e.style.opacity=o,r=+new Date,+o<1&&(window.requestAnimationFrame&&requestAnimationFrame(s)||setTimeout(s,16))};s()}static fadeOut(e,i){var r=1,a=50/i;let l=setInterval(()=>{(r-=a)<=0&&(r=0,clearInterval(l)),e.style.opacity=r},50)}static getWindowScrollTop(){let e=document.documentElement;return(window.pageYOffset||e.scrollTop)-(e.clientTop||0)}static getWindowScrollLeft(){let e=document.documentElement;return(window.pageXOffset||e.scrollLeft)-(e.clientLeft||0)}static matches(e,i){var r=Element.prototype;return(r.matches||r.webkitMatchesSelector||r.mozMatchesSelector||r.msMatchesSelector||function(s){return-1!==[].indexOf.call(document.querySelectorAll(s),this)}).call(e,i)}static getOuterWidth(e,i){let r=e.offsetWidth;if(i){let o=getComputedStyle(e);r+=parseFloat(o.marginLeft)+parseFloat(o.marginRight)}return r}static getHorizontalPadding(e){let i=getComputedStyle(e);return parseFloat(i.paddingLeft)+parseFloat(i.paddingRight)}static getHorizontalMargin(e){let i=getComputedStyle(e);return parseFloat(i.marginLeft)+parseFloat(i.marginRight)}static innerWidth(e){let i=e.offsetWidth,r=getComputedStyle(e);return i+=parseFloat(r.paddingLeft)+parseFloat(r.paddingRight),i}static width(e){let i=e.offsetWidth,r=getComputedStyle(e);return i-=parseFloat(r.paddingLeft)+parseFloat(r.paddingRight),i}static getInnerHeight(e){let i=e.offsetHeight,r=getComputedStyle(e);return i+=parseFloat(r.paddingTop)+parseFloat(r.paddingBottom),i}static getOuterHeight(e,i){let r=e.offsetHeight;if(i){let o=getComputedStyle(e);r+=parseFloat(o.marginTop)+parseFloat(o.marginBottom)}return r}static getHeight(e){let i=e.offsetHeight,r=getComputedStyle(e);return i-=parseFloat(r.paddingTop)+parseFloat(r.paddingBottom)+parseFloat(r.borderTopWidth)+parseFloat(r.borderBottomWidth),i}static getWidth(e){let i=e.offsetWidth,r=getComputedStyle(e);return i-=parseFloat(r.paddingLeft)+parseFloat(r.paddingRight)+parseFloat(r.borderLeftWidth)+parseFloat(r.borderRightWidth),i}static getViewport(){let e=window,i=document,r=i.documentElement,o=i.getElementsByTagName("body")[0];return{width:e.innerWidth||r.clientWidth||o.clientWidth,height:e.innerHeight||r.clientHeight||o.clientHeight}}static getOffset(e){var i=e.getBoundingClientRect();return{top:i.top+(window.pageYOffset||document.documentElement.scrollTop||document.body.scrollTop||0),left:i.left+(window.pageXOffset||document.documentElement.scrollLeft||document.body.scrollLeft||0)}}static replaceElementWith(e,i){let r=e.parentNode;if(!r)throw"Can't replace element";return r.replaceChild(i,e)}static getUserAgent(){return navigator.userAgent}static isIE(){var e=window.navigator.userAgent;return e.indexOf("MSIE ")>0||(e.indexOf("Trident/")>0?(e.indexOf("rv:"),!0):e.indexOf("Edge/")>0)}static isIOS(){return/iPad|iPhone|iPod/.test(navigator.userAgent)&&!window.MSStream}static isAndroid(){return/(android)/i.test(navigator.userAgent)}static isTouchDevice(){return"ontouchstart"in window||navigator.maxTouchPoints>0}static appendChild(e,i){if(this.isElement(i))i.appendChild(e);else{if(!i.el||!i.el.nativeElement)throw"Cannot append "+i+" to "+e;i.el.nativeElement.appendChild(e)}}static removeChild(e,i){if(this.isElement(i))i.removeChild(e);else{if(!i.el||!i.el.nativeElement)throw"Cannot remove "+e+" from "+i;i.el.nativeElement.removeChild(e)}}static removeElement(e){"remove"in Element.prototype?e.remove():e.parentNode.removeChild(e)}static isElement(e){return"object"==typeof HTMLElement?e instanceof HTMLElement:e&&"object"==typeof e&&null!==e&&1===e.nodeType&&"string"==typeof e.nodeName}static calculateScrollbarWidth(e){if(e){let i=getComputedStyle(e);return e.offsetWidth-e.clientWidth-parseFloat(i.borderLeftWidth)-parseFloat(i.borderRightWidth)}{if(null!==this.calculatedScrollbarWidth)return this.calculatedScrollbarWidth;let i=document.createElement("div");i.className="p-scrollbar-measure",document.body.appendChild(i);let r=i.offsetWidth-i.clientWidth;return document.body.removeChild(i),this.calculatedScrollbarWidth=r,r}}static calculateScrollbarHeight(){if(null!==this.calculatedScrollbarHeight)return this.calculatedScrollbarHeight;let e=document.createElement("div");e.className="p-scrollbar-measure",document.body.appendChild(e);let i=e.offsetHeight-e.clientHeight;return document.body.removeChild(e),this.calculatedScrollbarWidth=i,i}static invokeElementMethod(e,i,r){e[i].apply(e,r)}static clearSelection(){if(window.getSelection)window.getSelection().empty?window.getSelection().empty():window.getSelection().removeAllRanges&&window.getSelection().rangeCount>0&&window.getSelection().getRangeAt(0).getClientRects().length>0&&window.getSelection().removeAllRanges();else if(document.selection&&document.selection.empty)try{document.selection.empty()}catch{}}static getBrowser(){if(!this.browser){let e=this.resolveUserAgent();this.browser={},e.browser&&(this.browser[e.browser]=!0,this.browser.version=e.version),this.browser.chrome?this.browser.webkit=!0:this.browser.webkit&&(this.browser.safari=!0)}return this.browser}static resolveUserAgent(){let e=navigator.userAgent.toLowerCase(),i=/(chrome)[ \/]([\w.]+)/.exec(e)||/(webkit)[ \/]([\w.]+)/.exec(e)||/(opera)(?:.*version|)[ \/]([\w.]+)/.exec(e)||/(msie) ([\w.]+)/.exec(e)||e.indexOf("compatible")<0&&/(mozilla)(?:.*? rv:([\w.]+)|)/.exec(e)||[];return{browser:i[1]||"",version:i[2]||"0"}}static isInteger(e){return Number.isInteger?Number.isInteger(e):"number"==typeof e&&isFinite(e)&&Math.floor(e)===e}static isHidden(e){return!e||null===e.offsetParent}static isVisible(e){return e&&null!=e.offsetParent}static isExist(e){return null!==e&&typeof e<"u"&&e.nodeName&&e.parentNode}static focus(e,i){e&&document.activeElement!==e&&e.focus(i)}static getFocusableElements(e){let i=n.find(e,'button:not([tabindex = "-1"]):not([disabled]):not([style*="display:none"]):not([hidden]),\n [href][clientHeight][clientWidth]:not([tabindex = "-1"]):not([disabled]):not([style*="display:none"]):not([hidden]),\n input:not([tabindex = "-1"]):not([disabled]):not([style*="display:none"]):not([hidden]), select:not([tabindex = "-1"]):not([disabled]):not([style*="display:none"]):not([hidden]),\n textarea:not([tabindex = "-1"]):not([disabled]):not([style*="display:none"]):not([hidden]), [tabIndex]:not([tabIndex = "-1"]):not([disabled]):not([style*="display:none"]):not([hidden]),\n [contenteditable]:not([tabIndex = "-1"]):not([disabled]):not([style*="display:none"]):not([hidden]):not(.p-disabled)'),r=[];for(let o of i)(o.offsetWidth||o.offsetHeight||o.getClientRects().length)&&r.push(o);return r}static getNextFocusableElement(e,i=!1){const r=n.getFocusableElements(e);let o=0;if(r&&r.length>0){const s=r.indexOf(r[0].ownerDocument.activeElement);i?o=-1==s||0===s?r.length-1:s-1:-1!=s&&s!==r.length-1&&(o=s+1)}return r[o]}static generateZIndex(){return this.zindex=this.zindex||999,++this.zindex}static getSelection(){return window.getSelection?window.getSelection().toString():document.getSelection?document.getSelection().toString():document.selection?document.selection.createRange().text:null}static getTargetElement(e,i){if(!e)return null;switch(e){case"document":return document;case"window":return window;case"@next":return i?.nextElementSibling;case"@prev":return i?.previousElementSibling;case"@parent":return i?.parentElement;case"@grandparent":return i?.parentElement.parentElement;default:const r=typeof e;if("string"===r)return document.querySelector(e);if("object"===r&&e.hasOwnProperty("nativeElement"))return this.isExist(e.nativeElement)?e.nativeElement:void 0;const s=(a=e)&&a.constructor&&a.call&&a.apply?e():e;return s&&9===s.nodeType||this.isExist(s)?s:null}var a}}return n.zindex=1e3,n.calculatedScrollbarWidth=null,n.calculatedScrollbarHeight=null,n})(),ZD=(()=>{class n{constructor(e,i,r){this.el=e,this.zone=i,this.config=r}ngAfterViewInit(){this.config&&this.config.ripple&&this.zone.runOutsideAngular(()=>{this.create(),this.mouseDownListener=this.onMouseDown.bind(this),this.el.nativeElement.addEventListener("mousedown",this.mouseDownListener)})}onMouseDown(e){let i=this.getInk();if(!i||"none"===getComputedStyle(i,null).display)return;if(K.removeClass(i,"p-ink-active"),!K.getHeight(i)&&!K.getWidth(i)){let a=Math.max(K.getOuterWidth(this.el.nativeElement),K.getOuterHeight(this.el.nativeElement));i.style.height=a+"px",i.style.width=a+"px"}let r=K.getOffset(this.el.nativeElement),o=e.pageX-r.left+document.body.scrollTop-K.getWidth(i)/2,s=e.pageY-r.top+document.body.scrollLeft-K.getHeight(i)/2;i.style.top=s+"px",i.style.left=o+"px",K.addClass(i,"p-ink-active"),this.timeout=setTimeout(()=>{let a=this.getInk();a&&K.removeClass(a,"p-ink-active")},401)}getInk(){const e=this.el.nativeElement.children;for(let i=0;i{class n{}return n.\u0275fac=function(e){return new(e||n)},n.\u0275mod=ke({type:n}),n.\u0275inj=xe({imports:[Mt]}),n})();function LF(n,t){1&n&&Tr(0)}const kF=function(n,t,e,i){return{"p-button-icon":!0,"p-button-icon-left":n,"p-button-icon-right":t,"p-button-icon-top":e,"p-button-icon-bottom":i}};function jF(n,t){if(1&n&&Oe(0,"span",4),2&n){const e=j();Pi(e.loading?"p-button-loading-icon "+e.loadingIcon:e.icon),I("ngClass",Au(4,kF,"left"===e.iconPos&&e.label,"right"===e.iconPos&&e.label,"top"===e.iconPos&&e.label,"bottom"===e.iconPos&&e.label)),Je("aria-hidden",!0)}}function VF(n,t){if(1&n&&(R(0,"span",5),Vt(1),W()),2&n){const e=j();Je("aria-hidden",e.icon&&!e.label),M(1),Oi(e.label)}}function BF(n,t){if(1&n&&(R(0,"span",4),Vt(1),W()),2&n){const e=j();Pi(e.badgeClass),I("ngClass",e.badgeStyleClass()),M(1),Oi(e.badge)}}const HF=function(n,t,e,i,r){return{"p-button p-component":!0,"p-button-icon-only":n,"p-button-vertical":t,"p-disabled":e,"p-button-loading":i,"p-button-loading-label-only":r}},UF=["*"];let jf=(()=>{class n{constructor(){this.type="button",this.iconPos="left",this.loading=!1,this.loadingIcon="pi pi-spinner pi-spin",this.onClick=new Y,this.onFocus=new Y,this.onBlur=new Y}ngAfterContentInit(){this.templates.forEach(e=>{e.getType(),this.contentTemplate=e.template})}badgeStyleClass(){return{"p-badge p-component":!0,"p-badge-no-gutter":this.badge&&1===String(this.badge).length}}}return n.\u0275fac=function(e){return new(e||n)},n.\u0275cmp=gt({type:n,selectors:[["p-button"]],contentQueries:function(e,i,r){if(1&e&&Ao(r,YD,4),2&e){let o;on(o=sn())&&(i.templates=o)}},hostAttrs:[1,"p-element"],inputs:{type:"type",iconPos:"iconPos",icon:"icon",badge:"badge",label:"label",disabled:"disabled",loading:"loading",loadingIcon:"loadingIcon",style:"style",styleClass:"styleClass",badgeClass:"badgeClass",ariaLabel:"ariaLabel"},outputs:{onClick:"onClick",onFocus:"onFocus",onBlur:"onBlur"},ngContentSelectors:UF,decls:6,vars:17,consts:[["pRipple","",3,"ngStyle","disabled","ngClass","click","focus","blur"],[4,"ngTemplateOutlet"],[3,"ngClass","class",4,"ngIf"],["class","p-button-label",4,"ngIf"],[3,"ngClass"],[1,"p-button-label"]],template:function(e,i){1&e&&(Ai(),R(0,"button",0),J("click",function(o){return i.onClick.emit(o)})("focus",function(o){return i.onFocus.emit(o)})("blur",function(o){return i.onBlur.emit(o)}),Ln(1),ae(2,LF,1,0,"ng-container",1),ae(3,jF,1,9,"span",2),ae(4,VF,2,2,"span",3),ae(5,BF,2,4,"span",2),W()),2&e&&(Pi(i.styleClass),I("ngStyle",i.style)("disabled",i.disabled||i.loading)("ngClass",function ky(n,t,e,i,r,o,s,a){const l=lt()+n,c=v(),u=kt(c,l,e,i,r,o);return Xe(c,l+4,s)||u?_n(c,l+5,a?t.call(a,e,i,r,o,s):t(e,i,r,o,s)):vo(c,l+5)}(11,HF,i.icon&&!i.label,("top"===i.iconPos||"bottom"===i.iconPos)&&i.label,i.disabled||i.loading,i.loading,i.loading&&!i.icon&&i.label)),Je("type",i.type)("aria-label",i.ariaLabel),M(2),I("ngTemplateOutlet",i.contentTemplate),M(1),I("ngIf",!i.contentTemplate&&(i.icon||i.loading)),M(1),I("ngIf",!i.contentTemplate&&i.label),M(1),I("ngIf",!i.contentTemplate&&i.badge))},dependencies:[Fr,Lr,gd,Pa,ZD],encapsulation:2,changeDetection:0}),n})(),Vf=(()=>{class n{}return n.\u0275fac=function(e){return new(e||n)},n.\u0275mod=ke({type:n}),n.\u0275inj=xe({imports:[Mt,XD]}),n})(),$F=(()=>{class n{constructor(e){this.el=e}onkeydown(e){if(!0!==this.pFocusTrapDisabled){e.preventDefault();const i=K.getNextFocusableElement(this.el.nativeElement,e.shiftKey);i&&(i.focus(),i.select?.())}}}return n.\u0275fac=function(e){return new(e||n)(b(ut))},n.\u0275dir=k({type:n,selectors:[["","pFocusTrap",""]],hostAttrs:[1,"p-element"],hostBindings:function(e,i){1&e&&J("keydown.tab",function(o){return i.onkeydown(o)})("keydown.shift.tab",function(o){return i.onkeydown(o)})},inputs:{pFocusTrapDisabled:"pFocusTrapDisabled"}}),n})(),zF=(()=>{class n{}return n.\u0275fac=function(e){return new(e||n)},n.\u0275mod=ke({type:n}),n.\u0275inj=xe({imports:[Mt]}),n})();var eE=0,tE=function GF(){let n=[];const r=o=>o&&parseInt(o.style.zIndex,10)||0;return{get:r,set:(o,s,a)=>{s&&(s.style.zIndex=String(((o,s)=>{let a=n.length>0?n[n.length-1]:{key:o,value:s},l=a.value+(a.key===o?0:s)+1;return n.push({key:o,value:l}),l})(o,a)))},clear:o=>{o&&((o=>{n=n.filter(s=>s.value!==o)})(r(o)),o.style.zIndex="")},getCurrent:()=>n.length>0?n[n.length-1].value:0}}();const qF=["titlebar"],KF=["content"],QF=["footer"];function YF(n,t){if(1&n){const e=jt();R(0,"div",11),J("mousedown",function(r){return pe(e),me(j(3).initResize(r))}),W()}}function ZF(n,t){if(1&n&&(R(0,"span",18),Vt(1),W()),2&n){const e=j(4);Je("id",e.id+"-label"),M(1),Oi(e.header)}}function XF(n,t){1&n&&(R(0,"span",18),Ln(1,1),W()),2&n&&Je("id",j(4).id+"-label")}function JF(n,t){1&n&&Tr(0)}const eL=function(){return{"p-dialog-header-icon p-dialog-header-maximize p-link":!0}};function tL(n,t){if(1&n){const e=jt();R(0,"button",19),J("click",function(){return pe(e),me(j(4).maximize())})("keydown.enter",function(){return pe(e),me(j(4).maximize())}),Oe(1,"span",20),W()}if(2&n){const e=j(4);I("ngClass",da(2,eL)),M(1),I("ngClass",e.maximized?e.minimizeIcon:e.maximizeIcon)}}const nL=function(){return{"p-dialog-header-icon p-dialog-header-close p-link":!0}};function iL(n,t){if(1&n){const e=jt();R(0,"button",21),J("click",function(r){return pe(e),me(j(4).close(r))})("keydown.enter",function(r){return pe(e),me(j(4).close(r))}),Oe(1,"span",22),W()}if(2&n){const e=j(4);I("ngClass",da(4,nL)),Je("aria-label",e.closeAriaLabel)("tabindex",e.closeTabindex),M(1),I("ngClass",e.closeIcon)}}function rL(n,t){if(1&n){const e=jt();R(0,"div",12,13),J("mousedown",function(r){return pe(e),me(j(3).initDrag(r))}),ae(2,ZF,2,2,"span",14),ae(3,XF,2,1,"span",14),ae(4,JF,1,0,"ng-container",9),R(5,"div",15),ae(6,tL,2,3,"button",16),ae(7,iL,2,5,"button",17),W()()}if(2&n){const e=j(3);M(2),I("ngIf",!e.headerFacet&&!e.headerTemplate),M(1),I("ngIf",e.headerFacet),M(1),I("ngTemplateOutlet",e.headerTemplate),M(2),I("ngIf",e.maximizable),M(1),I("ngIf",e.closable)}}function oL(n,t){1&n&&Tr(0)}function sL(n,t){1&n&&Tr(0)}function aL(n,t){if(1&n&&(R(0,"div",23,24),Ln(2,2),ae(3,sL,1,0,"ng-container",9),W()),2&n){const e=j(3);M(3),I("ngTemplateOutlet",e.footerTemplate)}}const lL=function(n,t,e,i){return{"p-dialog p-component":!0,"p-dialog-rtl":n,"p-dialog-draggable":t,"p-dialog-resizable":e,"p-dialog-maximized":i}},cL=function(n,t){return{transform:n,transition:t}},uL=function(n){return{value:"visible",params:n}};function dL(n,t){if(1&n){const e=jt();R(0,"div",3,4),J("@animation.start",function(r){return pe(e),me(j(2).onAnimationStart(r))})("@animation.done",function(r){return pe(e),me(j(2).onAnimationEnd(r))}),ae(2,YF,1,0,"div",5),ae(3,rL,8,5,"div",6),R(4,"div",7,8),Ln(6),ae(7,oL,1,0,"ng-container",9),W(),ae(8,aL,4,1,"div",10),W()}if(2&n){const e=j(2);Pi(e.styleClass),I("ngClass",Au(15,lL,e.rtl,e.draggable,e.resizable,e.maximized))("ngStyle",e.style)("pFocusTrapDisabled",!1===e.focusTrap)("@animation",Or(23,uL,function Fy(n,t,e,i,r){return By(v(),lt(),n,t,e,i,r)}(20,cL,e.transformOptions,e.transitionOptions))),Je("aria-labelledby",e.id+"-label"),M(2),I("ngIf",e.resizable),M(1),I("ngIf",e.showHeader),M(1),Pi(e.contentStyleClass),I("ngClass","p-dialog-content")("ngStyle",e.contentStyle),M(3),I("ngTemplateOutlet",e.contentTemplate),M(1),I("ngIf",e.footerFacet||e.footerTemplate)}}const fL=function(n,t,e,i,r,o,s,a,l,c){return{"p-dialog-mask":!0,"p-component-overlay p-component-overlay-enter":n,"p-dialog-mask-scrollblocker":t,"p-dialog-left":e,"p-dialog-right":i,"p-dialog-top":r,"p-dialog-top-left":o,"p-dialog-top-right":s,"p-dialog-bottom":a,"p-dialog-bottom-left":l,"p-dialog-bottom-right":c}};function hL(n,t){if(1&n&&(R(0,"div",1),ae(1,dL,9,25,"div",2),W()),2&n){const e=j();Pi(e.maskStyleClass),I("ngClass",jy(4,fL,[e.modal,e.modal||e.blockScroll,"left"===e.position,"right"===e.position,"top"===e.position,"topleft"===e.position||"top-left"===e.position,"topright"===e.position||"top-right"===e.position,"bottom"===e.position,"bottomleft"===e.position||"bottom-left"===e.position,"bottomright"===e.position||"bottom-right"===e.position])),M(1),I("ngIf",e.visible)}}const pL=["*",[["p-header"]],[["p-footer"]]],mL=["*","p-header","p-footer"],gL=Wb([tl({transform:"{{transform}}",opacity:0}),Ub("{{transition}}")]),yL=Wb([Ub("{{transition}}",tl({transform:"{{transform}}",opacity:0}))]);let _L=(()=>{class n{constructor(e,i,r,o,s){this.el=e,this.renderer=i,this.zone=r,this.cd=o,this.config=s,this.draggable=!0,this.resizable=!0,this.closeOnEscape=!0,this.closable=!0,this.showHeader=!0,this.blockScroll=!1,this.autoZIndex=!0,this.baseZIndex=0,this.minX=0,this.minY=0,this.focusOnShow=!0,this.keepInViewport=!0,this.focusTrap=!0,this.transitionOptions="150ms cubic-bezier(0, 0, 0.2, 1)",this.closeIcon="pi pi-times",this.closeTabindex="-1",this.minimizeIcon="pi pi-window-minimize",this.maximizeIcon="pi pi-window-maximize",this.onShow=new Y,this.onHide=new Y,this.visibleChange=new Y,this.onResizeInit=new Y,this.onResizeEnd=new Y,this.onDragEnd=new Y,this.onMaximize=new Y,this.id=function WF(){return"pr_id_"+ ++eE}(),this._style={},this._position="center",this.transformOptions="scale(0.7)"}get positionLeft(){return 0}set positionLeft(e){console.log("positionLeft property is deprecated.")}get positionTop(){return 0}set positionTop(e){console.log("positionTop property is deprecated.")}get responsive(){return!1}set responsive(e){console.log("Responsive property is deprecated.")}get breakpoint(){return 649}set breakpoint(e){console.log("Breakpoint property is not utilized and deprecated, use breakpoints or CSS media queries instead.")}ngAfterContentInit(){this.templates.forEach(e=>{switch(e.getType()){case"header":this.headerTemplate=e.template;break;case"content":default:this.contentTemplate=e.template;break;case"footer":this.footerTemplate=e.template}})}ngOnInit(){this.breakpoints&&this.createStyle()}get visible(){return this._visible}set visible(e){this._visible=e,this._visible&&!this.maskVisible&&(this.maskVisible=!0)}get style(){return this._style}set style(e){e&&(this._style={...e},this.originalStyle=e)}get position(){return this._position}set position(e){switch(this._position=e,e){case"topleft":case"bottomleft":case"left":this.transformOptions="translate3d(-100%, 0px, 0px)";break;case"topright":case"bottomright":case"right":this.transformOptions="translate3d(100%, 0px, 0px)";break;case"bottom":this.transformOptions="translate3d(0px, 100%, 0px)";break;case"top":this.transformOptions="translate3d(0px, -100%, 0px)";break;default:this.transformOptions="scale(0.7)"}}focus(){let e=K.findSingle(this.container,"[autofocus]");e&&this.zone.runOutsideAngular(()=>{setTimeout(()=>e.focus(),5)})}close(e){this.visibleChange.emit(!1),e.preventDefault()}enableModality(){this.closable&&this.dismissableMask&&(this.maskClickListener=this.renderer.listen(this.wrapper,"mousedown",e=>{this.wrapper&&this.wrapper.isSameNode(e.target)&&this.close(e)})),this.modal&&K.addClass(document.body,"p-overflow-hidden")}disableModality(){this.wrapper&&(this.dismissableMask&&this.unbindMaskClickListener(),this.modal&&K.removeClass(document.body,"p-overflow-hidden"),this.cd.destroyed||this.cd.detectChanges())}maximize(){this.maximized=!this.maximized,!this.modal&&!this.blockScroll&&(this.maximized?K.addClass(document.body,"p-overflow-hidden"):K.removeClass(document.body,"p-overflow-hidden")),this.onMaximize.emit({maximized:this.maximized})}unbindMaskClickListener(){this.maskClickListener&&(this.maskClickListener(),this.maskClickListener=null)}moveOnTop(){this.autoZIndex&&(tE.set("modal",this.container,this.baseZIndex+this.config.zIndex.modal),this.wrapper.style.zIndex=String(parseInt(this.container.style.zIndex,10)-1))}createStyle(){if(!this.styleElement){this.styleElement=document.createElement("style"),this.styleElement.type="text/css",document.head.appendChild(this.styleElement);let e="";for(let i in this.breakpoints)e+=`\n @media screen and (max-width: ${i}) {\n .p-dialog[${this.id}] {\n width: ${this.breakpoints[i]} !important;\n }\n }\n `;this.styleElement.innerHTML=e}}initDrag(e){K.hasClass(e.target,"p-dialog-header-icon")||K.hasClass(e.target.parentElement,"p-dialog-header-icon")||this.draggable&&(this.dragging=!0,this.lastPageX=e.pageX,this.lastPageY=e.pageY,this.container.style.margin="0",K.addClass(document.body,"p-unselectable-text"))}onKeydown(e){if(this.focusTrap&&9===e.which){e.preventDefault();let i=K.getFocusableElements(this.container);if(i&&i.length>0)if(i[0].ownerDocument.activeElement){let r=i.indexOf(i[0].ownerDocument.activeElement);e.shiftKey?-1==r||0===r?i[i.length-1].focus():i[r-1].focus():-1==r||r===i.length-1?i[0].focus():i[r+1].focus()}else i[0].focus()}}onDrag(e){if(this.dragging){let i=K.getOuterWidth(this.container),r=K.getOuterHeight(this.container),o=e.pageX-this.lastPageX,s=e.pageY-this.lastPageY,a=this.container.getBoundingClientRect(),l=a.left+o,c=a.top+s,u=K.getViewport();this.container.style.position="fixed",this.keepInViewport?(l>=this.minX&&l+i=this.minY&&c+rparseInt(u))&&f.left+lparseInt(d))&&f.top+c{this.documentDragListener=this.onDrag.bind(this),window.document.addEventListener("mousemove",this.documentDragListener)})}unbindDocumentDragListener(){this.documentDragListener&&(window.document.removeEventListener("mousemove",this.documentDragListener),this.documentDragListener=null)}bindDocumentDragEndListener(){this.zone.runOutsideAngular(()=>{this.documentDragEndListener=this.endDrag.bind(this),window.document.addEventListener("mouseup",this.documentDragEndListener)})}unbindDocumentDragEndListener(){this.documentDragEndListener&&(window.document.removeEventListener("mouseup",this.documentDragEndListener),this.documentDragEndListener=null)}bindDocumentResizeListeners(){this.zone.runOutsideAngular(()=>{this.documentResizeListener=this.onResize.bind(this),this.documentResizeEndListener=this.resizeEnd.bind(this),window.document.addEventListener("mousemove",this.documentResizeListener),window.document.addEventListener("mouseup",this.documentResizeEndListener)})}unbindDocumentResizeListeners(){this.documentResizeListener&&this.documentResizeEndListener&&(window.document.removeEventListener("mousemove",this.documentResizeListener),window.document.removeEventListener("mouseup",this.documentResizeEndListener),this.documentResizeListener=null,this.documentResizeEndListener=null)}bindDocumentEscapeListener(){this.documentEscapeListener=this.renderer.listen(this.el?this.el.nativeElement.ownerDocument:"document","keydown",i=>{27==i.which&&this.close(i)})}unbindDocumentEscapeListener(){this.documentEscapeListener&&(this.documentEscapeListener(),this.documentEscapeListener=null)}appendContainer(){this.appendTo&&("body"===this.appendTo?document.body.appendChild(this.wrapper):K.appendChild(this.wrapper,this.appendTo))}restoreAppend(){this.container&&this.appendTo&&this.el.nativeElement.appendChild(this.wrapper)}onAnimationStart(e){switch(e.toState){case"visible":this.container=e.element,this.wrapper=this.container.parentElement,this.appendContainer(),this.moveOnTop(),this.bindGlobalListeners(),this.container.setAttribute(this.id,""),this.modal&&this.enableModality(),!this.modal&&this.blockScroll&&K.addClass(document.body,"p-overflow-hidden"),this.focusOnShow&&this.focus();break;case"void":this.wrapper&&this.modal&&K.addClass(this.wrapper,"p-component-overlay-leave")}}onAnimationEnd(e){switch(e.toState){case"void":this.onContainerDestroy(),this.onHide.emit({}),this.cd.markForCheck();break;case"visible":this.onShow.emit({})}}onContainerDestroy(){this.unbindGlobalListeners(),this.dragging=!1,this.maskVisible=!1,this.maximized&&(K.removeClass(document.body,"p-overflow-hidden"),this.maximized=!1),this.modal&&this.disableModality(),this.blockScroll&&K.removeClass(document.body,"p-overflow-hidden"),this.container&&this.autoZIndex&&tE.clear(this.container),this.container=null,this.wrapper=null,this._style=this.originalStyle?{...this.originalStyle}:{}}destroyStyle(){this.styleElement&&(document.head.removeChild(this.styleElement),this.styleElement=null)}ngOnDestroy(){this.container&&(this.restoreAppend(),this.onContainerDestroy()),this.destroyStyle()}}return n.\u0275fac=function(e){return new(e||n)(b(ut),b(ei),b(Ie),b(Li),b(QD))},n.\u0275cmp=gt({type:n,selectors:[["p-dialog"]],contentQueries:function(e,i,r){if(1&e&&(Ao(r,NF,5),Ao(r,RF,5),Ao(r,YD,4)),2&e){let o;on(o=sn())&&(i.headerFacet=o.first),on(o=sn())&&(i.footerFacet=o.first),on(o=sn())&&(i.templates=o)}},viewQuery:function(e,i){if(1&e&&(Fi(qF,5),Fi(KF,5),Fi(QF,5)),2&e){let r;on(r=sn())&&(i.headerViewChild=r.first),on(r=sn())&&(i.contentViewChild=r.first),on(r=sn())&&(i.footerViewChild=r.first)}},hostAttrs:[1,"p-element"],inputs:{header:"header",draggable:"draggable",resizable:"resizable",positionLeft:"positionLeft",positionTop:"positionTop",contentStyle:"contentStyle",contentStyleClass:"contentStyleClass",modal:"modal",closeOnEscape:"closeOnEscape",dismissableMask:"dismissableMask",rtl:"rtl",closable:"closable",responsive:"responsive",appendTo:"appendTo",breakpoints:"breakpoints",styleClass:"styleClass",maskStyleClass:"maskStyleClass",showHeader:"showHeader",breakpoint:"breakpoint",blockScroll:"blockScroll",autoZIndex:"autoZIndex",baseZIndex:"baseZIndex",minX:"minX",minY:"minY",focusOnShow:"focusOnShow",maximizable:"maximizable",keepInViewport:"keepInViewport",focusTrap:"focusTrap",transitionOptions:"transitionOptions",closeIcon:"closeIcon",closeAriaLabel:"closeAriaLabel",closeTabindex:"closeTabindex",minimizeIcon:"minimizeIcon",maximizeIcon:"maximizeIcon",visible:"visible",style:"style",position:"position"},outputs:{onShow:"onShow",onHide:"onHide",visibleChange:"visibleChange",onResizeInit:"onResizeInit",onResizeEnd:"onResizeEnd",onDragEnd:"onDragEnd",onMaximize:"onMaximize"},ngContentSelectors:mL,decls:1,vars:1,consts:[[3,"class","ngClass",4,"ngIf"],[3,"ngClass"],["pFocusTrap","","role","dialog",3,"ngClass","ngStyle","class","pFocusTrapDisabled",4,"ngIf"],["pFocusTrap","","role","dialog",3,"ngClass","ngStyle","pFocusTrapDisabled"],["container",""],["class","p-resizable-handle","style","z-index: 90;",3,"mousedown",4,"ngIf"],["class","p-dialog-header",3,"mousedown",4,"ngIf"],[3,"ngClass","ngStyle"],["content",""],[4,"ngTemplateOutlet"],["class","p-dialog-footer",4,"ngIf"],[1,"p-resizable-handle",2,"z-index","90",3,"mousedown"],[1,"p-dialog-header",3,"mousedown"],["titlebar",""],["class","p-dialog-title",4,"ngIf"],[1,"p-dialog-header-icons"],["type","button","tabindex","-1","pRipple","",3,"ngClass","click","keydown.enter",4,"ngIf"],["type","button","pRipple","",3,"ngClass","click","keydown.enter",4,"ngIf"],[1,"p-dialog-title"],["type","button","tabindex","-1","pRipple","",3,"ngClass","click","keydown.enter"],[1,"p-dialog-header-maximize-icon",3,"ngClass"],["type","button","pRipple","",3,"ngClass","click","keydown.enter"],[1,"p-dialog-header-close-icon",3,"ngClass"],[1,"p-dialog-footer"],["footer",""]],template:function(e,i){1&e&&(Ai(pL),ae(0,hL,2,15,"div",0)),2&e&&I("ngIf",i.maskVisible)},dependencies:[Fr,Lr,gd,Pa,$F,ZD],styles:[".p-dialog-mask{position:fixed;top:0;left:0;width:100%;height:100%;display:flex;justify-content:center;align-items:center;pointer-events:none}.p-dialog-mask.p-component-overlay{pointer-events:auto}.p-dialog{display:flex;flex-direction:column;pointer-events:auto;max-height:90%;transform:scale(1);position:relative}.p-dialog-content{overflow-y:auto;flex-grow:1}.p-dialog-header{display:flex;align-items:center;justify-content:space-between;flex-shrink:0}.p-dialog-draggable .p-dialog-header{cursor:move}.p-dialog-footer{flex-shrink:0}.p-dialog .p-dialog-header-icons{display:flex;align-items:center}.p-dialog .p-dialog-header-icon{display:flex;align-items:center;justify-content:center;overflow:hidden;position:relative}.p-fluid .p-dialog-footer .p-button{width:auto}.p-dialog-top .p-dialog,.p-dialog-bottom .p-dialog,.p-dialog-left .p-dialog,.p-dialog-right .p-dialog,.p-dialog-top-left .p-dialog,.p-dialog-top-right .p-dialog,.p-dialog-bottom-left .p-dialog,.p-dialog-bottom-right .p-dialog{margin:.75rem;transform:translateZ(0)}.p-dialog-maximized{transition:none;transform:none;width:100vw!important;height:100vh!important;top:0!important;left:0!important;max-height:100%;height:100%}.p-dialog-maximized .p-dialog-content{flex-grow:1}.p-dialog-left{justify-content:flex-start}.p-dialog-right{justify-content:flex-end}.p-dialog-top{align-items:flex-start}.p-dialog-top-left{justify-content:flex-start;align-items:flex-start}.p-dialog-top-right{justify-content:flex-end;align-items:flex-start}.p-dialog-bottom{align-items:flex-end}.p-dialog-bottom-left{justify-content:flex-start;align-items:flex-end}.p-dialog-bottom-right{justify-content:flex-end;align-items:flex-end}.p-dialog .p-resizable-handle{position:absolute;font-size:.1px;display:block;cursor:se-resize;width:12px;height:12px;right:1px;bottom:1px}.p-confirm-dialog .p-dialog-content{display:flex;align-items:center}\n"],encapsulation:2,data:{animation:[uN("animation",[zb("void => visible",[Gb(gL)]),zb("visible => void",[Gb(yL)])])]},changeDetection:0}),n})(),vL=(()=>{class n{}return n.\u0275fac=function(e){return new(e||n)},n.\u0275mod=ke({type:n}),n.\u0275inj=xe({imports:[Mt,zF,XD,FF]}),n})(),nE=(()=>{class n{constructor(e,i,r){this.el=e,this.ngModel=i,this.cd=r}ngAfterViewInit(){this.updateFilledState(),this.cd.detectChanges()}ngDoCheck(){this.updateFilledState()}onInput(e){this.updateFilledState()}updateFilledState(){this.filled=this.el.nativeElement.value&&this.el.nativeElement.value.length||this.ngModel&&this.ngModel.model}}return n.\u0275fac=function(e){return new(e||n)(b(ut),b(qd,8),b(Li))},n.\u0275dir=k({type:n,selectors:[["","pInputText",""]],hostAttrs:[1,"p-inputtext","p-component","p-element"],hostVars:2,hostBindings:function(e,i){1&e&&J("input",function(o){return i.onInput(o)}),2&e&&bo("p-filled",i.filled)}}),n})(),Bf=(()=>{class n{}return n.\u0275fac=function(e){return new(e||n)},n.\u0275mod=ke({type:n}),n.\u0275inj=xe({imports:[Mt]}),n})();class DL{constructor(t){this.total=t}call(t,e){return e.subscribe(new EL(t,this.total))}}class EL extends Se{constructor(t,e){super(t),this.total=e,this.count=0}_next(t){++this.count>this.total&&this.destination.next(t)}}getComputedStyle(document.body).getPropertyValue("--color-palette-black-op-20"),getComputedStyle(document.body).getPropertyValue("--color-palette-black-op-30"),getComputedStyle(document.body).getPropertyValue("--color-palette-black-op-50"),getComputedStyle(document.body).getPropertyValue("--color-palette-black-op-70");let ML=(()=>{class n{constructor(){this.iconPath="./src/assets/images/icons",this.dotCMSURLKey="siteURLJWT"}}return n.\u0275fac=function(e){return new(e||n)},n.\u0275prov=$({token:n,factory:n.\u0275fac}),n})(),es=class{constructor(t){this.iconPath=t.iconPath}displayErrorMessage(t){this.displayMessage("Error",t,"error")}displaySuccessMessage(t){this.displayMessage("Success",t,"success")}displayInfoMessage(t){this.displayMessage("Info",t,"info")}displayMessage(t,e,i){let r;return r=new Notification(i,{body:e,icon:this.iconPath+"/"+i+".png"}),r}};function aE(n,t,e,i){return rt(e)&&(i=e,e=void 0),i?aE(n,t,e).pipe(mt(r=>Kt(r)?i(...r):i(r))):new ve(r=>{lE(n,t,function o(s){r.next(arguments.length>1?Array.prototype.slice.call(arguments):s)},r,e)})}function lE(n,t,e,i,r){let o;if(function LL(n){return n&&"function"==typeof n.addEventListener&&"function"==typeof n.removeEventListener}(n)){const s=n;n.addEventListener(t,e,r),o=()=>s.removeEventListener(t,e,r)}else if(function FL(n){return n&&"function"==typeof n.on&&"function"==typeof n.off}(n)){const s=n;n.on(t,e),o=()=>s.off(t,e)}else if(function RL(n){return n&&"function"==typeof n.addListener&&"function"==typeof n.removeListener}(n)){const s=n;n.addListener(t,e),o=()=>s.removeListener(t,e)}else{if(!n||!n.length)throw new TypeError("Invalid event target");for(let s=0,a=n.length;s=0;a--)(s=n[a])&&(o=(r<3?s(o):r>3?s(t,e,o):s(t,e))||o);return r>3&&o&&Object.defineProperty(t,e,o),o}([Fs("config"),function wL(n,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(n,t)}("design:paramtypes",[ML])],es);const cE=n=>{const t=parseInt(n,0);if(t)return t;try{return JSON.parse(n)}catch{return n}};let kL=(()=>{class n{setItem(e,i){let r;r="object"==typeof i?JSON.stringify(i):i,localStorage.setItem(e,r)}getItem(e){const i=localStorage.getItem(e);return cE(i)}removeItem(e){localStorage.removeItem(e)}clear(){localStorage.clear()}listen(e){return aE(window,"storage").pipe(Ad(({key:i})=>i===e),mt(i=>cE(i.newValue)))}}return n.\u0275fac=function(e){return new(e||n)},n.\u0275prov=$({token:n,factory:n.\u0275fac,providedIn:"root"}),n})(),ts=(()=>{class n{constructor(e,i){this.http=e,this.dotLocalstorageService=i,this.messageMap={},this.MESSAGES_LOCALSTORAGE_KEY="dotMessagesKeys",this.BUILDATE_LOCALSTORAGE_KEY="buildDate"}init(e){if(e&&(this.dotLocalstorageService.getItem(this.BUILDATE_LOCALSTORAGE_KEY)!==e?.buildDate||e.language))this.getAll(e.language||"default"),e.buildDate&&this.dotLocalstorageService.setItem(this.BUILDATE_LOCALSTORAGE_KEY,e.buildDate);else{const i=this.dotLocalstorageService.getItem(this.MESSAGES_LOCALSTORAGE_KEY);i?this.messageMap=i:this.getAll(e?.language||"default")}}get(e,...i){return this.messageMap[e]?i.length?function PL(n,t){return n.replace(/{(\d+)}/g,(e,i)=>typeof t[i]<"u"?t[i]:e)}(this.messageMap[e],i):this.messageMap[e]:e}getAll(e){this.http.get(this.geti18nURL(e)).pipe(Pd(1),function OL(...n){const t=n.length;if(0===t)throw new Error("list of properties cannot be empty.");return e=>mt(function NL(n,t){return i=>{let r=i;for(let o=0;o{this.messageMap=i,this.dotLocalstorageService.setItem(this.MESSAGES_LOCALSTORAGE_KEY,this.messageMap)})}geti18nURL(e){return`/api/v2/languages/${e||"default"}/keys`}}return n.\u0275fac=function(e){return new(e||n)(A(kD),A(kL))},n.\u0275prov=$({token:n,factory:n.\u0275fac,providedIn:"root"}),n})();function uE(n,t,e,i,r,o,s){try{var a=n[o](s),l=a.value}catch(c){return void e(c)}a.done?t(l):Promise.resolve(l).then(i,r)}function dE(n){return function(){var t=this,e=arguments;return new Promise(function(i,r){var o=n.apply(t,e);function s(l){uE(o,i,r,s,a,"next",l)}function a(l){uE(o,i,r,s,a,"throw",l)}s(void 0)})}}const jL={500:"500 Internal Server Error",400:"400 Bad Request",401:"401 Unauthorized Error"};let El=(()=>{class n{uploadFile({file:e,maxSize:i,signal:r}){return"string"==typeof e?this.uploadFileByURL(e,r):this.uploadBinaryFile({file:e,maxSize:i,signal:r})}uploadFileByURL(e,i){return fetch("/api/v1/temp/byUrl",{method:"POST",signal:i,headers:{"Content-Type":"application/json",Origin:window.location.hostname},body:JSON.stringify({remoteUrl:e})}).then(function(){var o=dE(function*(s){if(200===s.status)return(yield s.json()).tempFiles[0];throw{message:(yield s.json()).message,status:s.status}});return function(s){return o.apply(this,arguments)}}()).catch(o=>{const{message:s,response:a}=o,l="string"==typeof a?JSON.parse(a):a;throw this.errorHandler(l||{message:s},o.status)})}uploadBinaryFile({file:e,maxSize:i,signal:r}){let o="/api/v1/temp";o+=i?`?maxFileLength=${i}`:"";const s=new FormData;return s.append("file",e),fetch(o,{method:"POST",signal:r,headers:{Origin:window.location.hostname},body:s}).then(function(){var a=dE(function*(l){if(200===l.status)return(yield l.json()).tempFiles[0];throw{message:(yield l.json()).message,status:l.status}});return function(l){return a.apply(this,arguments)}}()).catch(a=>{throw this.errorHandler(JSON.parse(a.response),a.status)})}errorHandler(e,i){let r="";try{r=e.message||e.errors[0].message}catch{r=jL[i||500]}return{message:r,status:500|i}}}return n.\u0275fac=function(e){return new(e||n)},n.\u0275prov=$({token:n,factory:n.\u0275fac,providedIn:"root"}),n})(),VL=(()=>{class n{}return n.\u0275fac=function(e){return new(e||n)},n.\u0275mod=ke({type:n}),n.\u0275inj=xe({imports:[Mt]}),n})();const BL=["*"];let HL=(()=>{class n{constructor(){this.fileDropped=new Y,this.fileDragEnter=new Y,this.fileDragOver=new Y,this.fileDragLeave=new Y,this._accept=[],this._validity={fileTypeMismatch:!1,maxFileSizeExceeded:!1,multipleFilesDropped:!1,valid:!0}}set accept(e){this._accept=e?.filter(i=>"*/*"!==i).map(i=>i.toLowerCase().replace(/\*/g,""))}get validity(){return this._validity}onDrop(e){e.stopPropagation(),e.preventDefault();const{dataTransfer:i}=e,r=this.getFiles(i),o=1===r?.length?r[0]:null;0!==r.length&&(this.setValidity(r),i.items?.clear(),i.clearData(),this.fileDropped.emit({file:o,validity:this._validity}))}onDragEnter(e){e.stopPropagation(),e.preventDefault(),this.fileDragEnter.emit(!0)}onDragOver(e){e.stopPropagation(),e.preventDefault(),this.fileDragOver.emit(!0)}onDragLeave(e){e.stopPropagation(),e.preventDefault(),this.fileDragLeave.emit(!0)}typeMatch(e){if(!this._accept.length)return!0;const i=e.name.split(".").pop().toLowerCase(),r=e.type.toLowerCase();return this._accept.some(s=>r.includes(s)||s.includes(`.${i}`))}getFiles(e){const{items:i,files:r}=e;return i?Array.from(i).filter(o=>"file"===o.kind).map(o=>o.getAsFile()):Array.from(r)||[]}isFileTooLong(e){return!!this.maxFileSize&&e.size>this.maxFileSize}setValidity(e){const i=e[0],r=e.length>1,o=!this.typeMatch(i),s=this.isFileTooLong(i);this._validity={...this._validity,multipleFilesDropped:r,fileTypeMismatch:o,maxFileSizeExceeded:s,valid:!o&&!s&&!r}}}return n.\u0275fac=function(e){return new(e||n)},n.\u0275cmp=gt({type:n,selectors:[["dot-drop-zone"]],hostBindings:function(e,i){1&e&&J("drop",function(o){return i.onDrop(o)})("dragenter",function(o){return i.onDragEnter(o)})("dragover",function(o){return i.onDragOver(o)})("dragleave",function(o){return i.onDragLeave(o)})},inputs:{maxFileSize:"maxFileSize",accept:"accept"},outputs:{fileDropped:"fileDropped",fileDragEnter:"fileDragEnter",fileDragOver:"fileDragOver",fileDragLeave:"fileDragLeave"},standalone:!0,features:[Ri],ngContentSelectors:BL,decls:1,vars:0,template:function(e,i){1&e&&(Ai(),Ln(0))},dependencies:[Mt],changeDetection:0}),n})(),Sl=(()=>{class n{constructor(e){this.dotMessageService=e}transform(e,i=[]){return e?this.dotMessageService.get(e,...i):""}}return n.\u0275fac=function(e){return new(e||n)(b(ts,16))},n.\u0275pipe=ot({name:"dm",type:n,pure:!0,standalone:!0}),n})();function Hr(n){return t=>t.lift(new YL(n))}class YL{constructor(t){this.notifier=t}call(t,e){const i=new ZL(t),r=us(this.notifier,new ls(i));return r&&!i.seenValue?(i.add(r),e.subscribe(i)):i}}class ZL extends cs{constructor(t){super(t),this.seenValue=!1}notifyNext(){this.seenValue=!0,this.complete()}notifyComplete(){}}function XL(n,t){if(1&n&&(R(0,"small",1),Vt(1),We(2,"dm"),W()),2&n){const e=j();M(1),ni(" ",et(2,1,e.errorMsg),"\n")}}const Cl={maxlength:"error.form.validator.maxlength",required:"error.form.validator.required",pattern:"error.form.validator.pattern"};let fE=(()=>{class n{constructor(e,i){this.cd=e,this.dotMessageService=i,this.errorMsg="",this.destroy$=new Tn}set message(e){this.defaultMessage=e,this.cd.markForCheck()}set field(e){e&&(this._field=e,e.statusChanges.pipe(Hr(this.destroy$)).subscribe(()=>{this.errorMsg=this.getErrors(e.errors),this.cd.detectChanges()}))}ngOnDestroy(){this.destroy$.next(!0),this.destroy$.complete()}getErrors(e){let i=[];return e&&(i=[...this.getMsgDefaultValidators(e),...this.getMsgCustomsValidators(e)]),this.defaultMessage?this.defaultMessage:i.slice(0,1)[0]}getMsgDefaultValidators(e){let i=[];return Object.entries(e).forEach(([r,o])=>{if(r in Cl){let s="";const{requiredLength:a,requiredPattern:l}=o;switch(r){case"maxlength":s=this.dotMessageService.get(Cl[r],a);break;case"pattern":s=this.dotMessageService.get(this.patternErrorMessage||Cl[r],l);break;default:s=Cl[r]}i=[...i,s]}}),i}getMsgCustomsValidators(e){let i=[];return Object.entries(e).forEach(([,r])=>{"string"==typeof r&&(i=[...i,r])}),i}}return n.\u0275fac=function(e){return new(e||n)(b(Li),b(ts))},n.\u0275cmp=gt({type:n,selectors:[["dot-field-validation-message"]],inputs:{patternErrorMessage:"patternErrorMessage",message:"message",field:"field"},standalone:!0,features:[Ri],decls:1,vars:1,consts:[["class","p-invalid","data-testId","error-msg",4,"ngIf"],["data-testId","error-msg",1,"p-invalid"]],template:function(e,i){1&e&&ae(0,XL,3,3,"small",0),2&e&&I("ngIf",i._field&&i._field.enabled&&i._field.dirty&&!i._field.valid)},dependencies:[Lr,Sl],encapsulation:2,changeDetection:0}),n})();const JL=new En(nf);class tk{constructor(t,e){this.dueTime=t,this.scheduler=e}call(t,e){return e.subscribe(new nk(t,this.dueTime,this.scheduler))}}class nk extends Se{constructor(t,e,i){super(t),this.dueTime=e,this.scheduler=i,this.debouncedSubscription=null,this.lastValue=null,this.hasValue=!1}_next(t){this.clearDebounce(),this.lastValue=t,this.hasValue=!0,this.add(this.debouncedSubscription=this.scheduler.schedule(ik,this.dueTime,this))}_complete(){this.debouncedNext(),this.destination.complete()}debouncedNext(){if(this.clearDebounce(),this.hasValue){const{lastValue:t}=this;this.lastValue=null,this.hasValue=!1,this.destination.next(t)}}clearDebounce(){const t=this.debouncedSubscription;null!==t&&(this.remove(t),t.unsubscribe(),this.debouncedSubscription=null)}}function ik(n){n.debouncedNext()}const rk=["editorRef"],ok=function(n){return{"binary-field__code-editor--disabled":n}},sk=function(n){return{"editor-mode__helper--visible":n}},ak={theme:"vs",minimap:{enabled:!1},cursorBlinking:"solid",overviewRulerBorder:!1,mouseWheelZoom:!1,lineNumbers:"on",roundedSelection:!1,automaticLayout:!0,language:"text"};let lk=(()=>{class n{constructor(){this.tempFileUploaded=new Y,this.cancel=new Y,this.cd=Yn(Li),this.dotUploadService=Yn(El),this.dotMessageService=Yn(ts),this.extension="",this.invalidFileMessage="",this.form=new Uo({name:new Wo("",[ja.required,ja.pattern(/^.+\..+$/)]),content:new Wo("")}),this.editorOptions=ak,this.mimeType=""}get name(){return this.form.get("name")}get content(){return this.form.get("content")}ngOnInit(){this.name.valueChanges.pipe(function ek(n,t=JL){return e=>e.lift(new tk(n,t))}(350)).subscribe(e=>this.setEditorLanguage(e)),this.invalidFileMessage=this.dotMessageService.get("dot.binary.field.error.type.file.not.supported.message",this.accept.join(", "))}ngAfterViewInit(){this.editor=this.editorRef.editor}onSubmit(){if(this.form.invalid)return void this.markControlInvalid(this.name);const e=new File([this.content.value],this.name.value,{type:this.mimeType});this.uploadFile(e)}markControlInvalid(e){e.markAsDirty(),e.updateValueAndValidity(),this.cd.detectChanges()}uploadFile(e){const i=yi(this.dotUploadService.uploadFile({file:e}));this.disableEditor(),i.subscribe(r=>{this.enableEditor(),this.tempFileUploaded.emit(r)})}setEditorLanguage(e=""){const i=e?.split(".").pop(),{id:r,mimetypes:o,extensions:s}=this.getLanguage(i)||{};this.mimeType=o?.[0],this.extension=s?.[0],this.isValidType()||this.name.setErrors({invalidExtension:this.invalidFileMessage}),this.updateEditorLanguage(r),this.cd.detectChanges()}getLanguage(e){return monaco.languages.getLanguages().find(i=>i.extensions?.includes(`.${e}`))}updateEditorLanguage(e="text"){this.editorOptions={...this.editorOptions,language:e}}disableEditor(){this.form.disable(),this.editor.updateOptions({readOnly:!0})}enableEditor(){this.form.enable(),this.editor.updateOptions({readOnly:!1})}isValidType(){return 0===this.accept?.length||this.accept?.includes(this.extension)||this.accept?.includes(this.mimeType)}}return n.\u0275fac=function(e){return new(e||n)},n.\u0275cmp=gt({type:n,selectors:[["dot-dot-binary-field-editor"]],viewQuery:function(e,i){if(1&e&&Fi(rk,7),2&e){let r;on(r=sn())&&(i.editorRef=r.first)}},inputs:{accept:"accept"},outputs:{tempFileUploaded:"tempFileUploaded",cancel:"cancel"},standalone:!0,features:[Ri],decls:20,vars:17,consts:[[1,"editor-mode__form",3,"formGroup","ngSubmit"],[1,"editor-mode__input-container"],["for","file-name",1,"editor-mode__label"],[1,"editor-mode__label-text"],["id","file-name","type","text","pInputText","","formControlName","name","autocomplete","off","pInputText","","placeholder","Ex. template.html"],[1,"error-message"],["data-testId","error-message",3,"patternErrorMessage","field"],[1,"binary-field__editor-container"],["formControlName","content","data-testId","code-editor",1,"binary-field__code-editor",3,"ngClass","options"],["editorRef",""],[1,"editor-mode__helper",3,"ngClass"],[1,"pi","pi-info-circle"],[1,"editor-mode__actions"],["styleClass","p-button-outlined","type","button","aria-label","Cancel button","data-testId","cancel-button",3,"label","click"],["type","submit","aria-label","Import button","data-testId","import-button",3,"label"]],template:function(e,i){1&e&&(R(0,"form",0),J("ngSubmit",function(){return i.onSubmit()}),R(1,"div",1)(2,"label",2)(3,"span",3),Vt(4,"File Name"),W()(),Oe(5,"input",4),R(6,"div",5),Oe(7,"dot-field-validation-message",6),W()(),R(8,"div",7),Oe(9,"ngx-monaco-editor",8,9),R(11,"div",10),Oe(12,"i",11),R(13,"small"),Vt(14),W()()(),R(15,"div",12)(16,"p-button",13),J("click",function(){return i.cancel.emit()}),We(17,"dm"),W(),Oe(18,"p-button",14),We(19,"dm"),W()()),2&e&&(I("formGroup",i.form),M(7),I("patternErrorMessage","dot.binary.field.error.type.file.not.extension")("field",i.form.get("name")),M(2),I("ngClass",Or(13,ok,i.form.disabled))("options",i.editorOptions),M(2),I("ngClass",Or(15,sk,i.mimeType)),M(3),ni("Mime Type: ",i.mimeType,""),M(2),I("label",et(17,9,"dot.common.cancel")),M(2),I("label",et(19,11,"dot.common.save")))},dependencies:[Mt,Fr,tf,kO,kb,Kd,Vo,Fd,Ld,jb,Go,Qa,Bf,nE,Vf,jf,Sl,fE],styles:[".binary-field__editor-container[_ngcontent-%COMP%]{display:flex;justify-content:center;align-items:flex-start;flex-direction:column;flex:1;width:100%;gap:.5rem}.binary-field__code-editor[_ngcontent-%COMP%]{border:1px solid #d1d4db;display:block;flex-grow:1;width:100%;min-height:20rem;border-radius:.375rem;overflow:auto}.binary-field__code-editor--disabled[_ngcontent-%COMP%]{background-color:#f3f3f4;opacity:.5}.binary-field__code-editor--disabled[_ngcontent-%COMP%] .monaco-mouse-cursor-text, .binary-field__code-editor--disabled[_ngcontent-%COMP%] .overflow-guard{cursor:not-allowed}.editor-mode__form[_ngcontent-%COMP%]{height:100%;display:flex;flex-direction:column;justify-content:center;align-items:flex-start}.editor-mode__input-container[_ngcontent-%COMP%]{width:100%;display:flex;gap:.5rem;flex-direction:column}.editor-mode__input[_ngcontent-%COMP%]{width:100%;display:flex;flex-direction:column}.editor-mode__actions[_ngcontent-%COMP%]{width:100%;display:flex;gap:.5rem;align-items:center;justify-content:flex-end}.editor-mode__helper[_ngcontent-%COMP%]{display:flex;justify-content:flex-start;align-items:center;gap:.5rem;color:#6c7389;font-weight:.813rem;visibility:hidden}.editor-mode__helper--visible[_ngcontent-%COMP%]{visibility:visible}.error-message[_ngcontent-%COMP%]{min-height:1.5rem;justify-content:flex-start;display:flex}"],changeDetection:0}),n})();const ck=["*"];let uk=(()=>{class n{}return n.\u0275fac=function(e){return new(e||n)},n.\u0275cmp=gt({type:n,selectors:[["dot-binary-field-ui-message"]],inputs:{message:"message",icon:"icon",severity:"severity"},standalone:!0,features:[Ri],ngContentSelectors:ck,decls:5,vars:3,consts:[["data-testId","ui-message-icon-container",1,"icon-container",3,"ngClass"],["data-testId","ui-message-icon",2,"font-size","2rem","width","auto",3,"ngClass"],[1,"text"],["data-testId","ui-message-span",3,"innerHTML"]],template:function(e,i){1&e&&(Ai(),R(0,"div",0),Oe(1,"i",1),W(),R(2,"div",2),Oe(3,"span",3),Ln(4),W()),2&e&&(I("ngClass",i.severity),M(1),I("ngClass",i.icon),M(2),I("innerHTML",i.message,Zp))},dependencies:[Mt,Fr],styles:["[_nghost-%COMP%]{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:1rem;height:100%;padding:1rem}.icon-container[_ngcontent-%COMP%]{border-radius:50%;padding:1rem}.icon-container.info[_ngcontent-%COMP%]{color:var(--color-palette-secondary-500);background:var(--color-palette-secondary-200)}.icon-container.error[_ngcontent-%COMP%]{color:#ffb444;background:#fff8ec}.text[_ngcontent-%COMP%]{text-align:center;line-height:140%}"],changeDetection:0}),n})();function di(){}function Ur(n,t,e){return function(r){return r.lift(new dk(n,t,e))}}class dk{constructor(t,e,i){this.nextOrObserver=t,this.error=e,this.complete=i}call(t,e){return e.subscribe(new fk(t,this.nextOrObserver,this.error,this.complete))}}class fk extends Se{constructor(t,e,i,r){super(t),this._tapNext=di,this._tapError=di,this._tapComplete=di,this._tapError=i||di,this._tapComplete=r||di,rt(e)?(this._context=this,this._tapNext=e):e&&(this._context=e,this._tapNext=e.next||di,this._tapError=e.error||di,this._tapComplete=e.complete||di)}_next(t){try{this._tapNext.call(this._context,t)}catch(e){return void this.destination.error(e)}this.destination.next(t)}_error(t){try{this._tapError.call(this._context,t)}catch(e){return void this.destination.error(e)}this.destination.error(t)}_complete(){try{this._tapComplete.call(this._context)}catch(t){return void this.destination.error(t)}return this.destination.complete()}}let hk=1;const pk=Promise.resolve(),wl={};function hE(n){return n in wl&&(delete wl[n],!0)}const pE={setImmediate(n){const t=hk++;return wl[t]=!0,pk.then(()=>hE(t)&&n()),t},clearImmediate(n){hE(n)}},mE=new class gk extends En{flush(t){this.active=!0,this.scheduled=void 0;const{actions:e}=this;let i,r=-1,o=e.length;t=t||e.shift();do{if(i=t.execute(t.state,t.delay))break}while(++r0?super.requestAsyncId(t,e,i):(t.actions.push(this),t.scheduled||(t.scheduled=pE.setImmediate(t.flush.bind(t,null))))}recycleAsyncId(t,e,i=0){if(null!==i&&i>0||null===i&&this.delay>0)return super.recycleAsyncId(t,e,i);0===t.actions.length&&(pE.clearImmediate(e),t.scheduled=void 0)}});function gE(n){return!!n&&(n instanceof ve||"function"==typeof n.lift&&"function"==typeof n.subscribe)}class yE extends Se{notifyNext(t,e,i,r,o){this.destination.next(e)}notifyError(t,e){this.destination.error(t)}notifyComplete(t){this.destination.complete()}}class yk extends Se{constructor(t,e,i){super(),this.parent=t,this.outerValue=e,this.outerIndex=i,this.index=0}_next(t){this.parent.notifyNext(this.outerValue,t,this.outerIndex,this.index++,this)}_error(t){this.parent.notifyError(t,this),this.unsubscribe()}_complete(){this.parent.notifyComplete(this),this.unsubscribe()}}function _E(n,t,e,i,r=new yk(n,e,i)){if(!r.closed)return t instanceof ve?t.subscribe(r):Al(t)(r)}const vE={};class vk{constructor(t){this.resultSelector=t}call(t,e){return e.subscribe(new bk(t,this.resultSelector))}}class bk extends yE{constructor(t,e){super(t),this.resultSelector=e,this.active=0,this.values=[],this.observables=[]}_next(t){this.values.push(vE),this.observables.push(t)}_complete(){const t=this.observables,e=t.length;if(0===e)this.destination.complete();else{this.active=e,this.toRespond=e;for(let i=0;i0){const o=r.indexOf(i);-1!==o&&r.splice(o,1)}}notifyComplete(){}_next(t){if(0===this.toRespond.length){const e=[t,...this.values];this.project?this._tryProject(e):this.destination.next(e)}}_tryProject(t){let e;try{e=this.project.apply(this,t)}catch(i){return void this.destination.error(i)}this.destination.next(e)}}function bE(n){return function(e){const i=new Ck(n),r=e.lift(i);return i.caught=r}}class Ck{constructor(t){this.selector=t}call(t,e){return e.subscribe(new wk(t,this.selector,this.caught))}}class wk extends cs{constructor(t,e,i){super(t),this.selector=e,this.caught=i}error(t){if(!this.isStopped){let e;try{e=this.selector(t,this.caught)}catch(o){return void super.error(o)}this._unsubscribeAndRecycle();const i=new ls(this);this.add(i);const r=us(e,i);r!==i&&this.add(r)}}}class Tk{constructor(t,e){this.compare=t,this.keySelector=e}call(t,e){return e.subscribe(new Mk(t,this.compare,this.keySelector))}}class Mk extends Se{constructor(t,e,i){super(t),this.keySelector=i,this.hasKey=!1,"function"==typeof e&&(this.compare=e)}compare(t,e){return t===e}_next(t){let e;try{const{keySelector:r}=this;e=r?r(t):t}catch(r){return this.destination.error(r)}let i=!1;if(this.hasKey)try{const{compare:r}=this;i=r(this.key,e)}catch(r){return this.destination.error(r)}else this.hasKey=!0;i||(this.key=e,this.destination.next(t))}}const Ok=new P("@ngrx/component-store Initial State");let DE=(()=>{class n{constructor(e){this.destroySubject$=new Xa(1),this.destroy$=this.destroySubject$.asObservable(),this.stateSubject$=new Xa(1),this.isInitialized=!1,this.state$=this.select(i=>i),this.\u0275hasProvider=!1,e&&this.initState(e),this.checkProviderForHooks()}ngOnDestroy(){this.stateSubject$.complete(),this.destroySubject$.next()}updater(e){return i=>{let o,r=!0;const a=(gE(i)?i:Ya(i)).pipe(function $O(n,t=0){return function(i){return i.lift(new zO(n,t))}}(rf),Ur(()=>this.assertStateIsInitialized()),function Dk(...n){return t=>{let e;return"function"==typeof n[n.length-1]&&(e=n.pop()),t.lift(new Ek(n,e))}}(this.stateSubject$),mt(([l,c])=>e(c,l)),Ur(l=>this.stateSubject$.next(l)),bE(l=>r?(o=l,xd):Bb(()=>l)),Hr(this.destroy$)).subscribe();if(o)throw o;return r=!1,a}}initState(e){nh([e],rf).subscribe(i=>{this.isInitialized=!0,this.stateSubject$.next(i)})}setState(e){"function"!=typeof e?this.initState(e):this.updater(e)()}patchState(e){const i="function"==typeof e?e(this.get()):e;this.updater((r,o)=>({...r,...o}))(i)}get(e){let i;return this.assertStateIsInitialized(),this.stateSubject$.pipe(Pd(1)).subscribe(r=>{i=e?e(r):r}),i}select(...e){const{observablesOrSelectorsObject:i,projector:r,config:o}=function Nk(n){const t=Array.from(n);let e={debounce:!1};if(function Rk(n){return typeof n.debounce<"u"}(t[t.length-1])&&(e={...e,...t.pop()}),1===t.length&&"function"!=typeof t[0])return{observablesOrSelectorsObject:t[0],projector:void 0,config:e};const i=t.pop();return{observablesOrSelectorsObject:t,projector:i,config:e}}(e);return(function Fk(n,t){return Array.isArray(n)&&0===n.length&&t}(i,r)?this.stateSubject$:function _k(...n){let t,e;return Ml(n[n.length-1])&&(e=n.pop()),"function"==typeof n[n.length-1]&&(t=n.pop()),1===n.length&&Kt(n[0])&&(n=n[0]),Ol(n,e).lift(new vk(t))}(i)).pipe(o.debounce?function Pk(){return n=>new ve(t=>{let e,i;const r=new _e;return r.add(n.subscribe({complete:()=>{e&&t.next(i),t.complete()},error:o=>{t.error(o)},next:o=>{i=o,e||(e=mE.schedule(()=>{t.next(i),e=void 0}),r.add(e))}})),r})}():n=>n,r?mt(a=>i.length>0&&Array.isArray(a)?r(...a):r(a)):n=>n,function Ik(n,t){return e=>e.lift(new Tk(n,t))}(),function Ak(n,t,e){let i;return i=n&&"object"==typeof n?n:{bufferSize:n,windowTime:t,refCount:!1,scheduler:e},r=>r.lift(function xk({bufferSize:n=Number.POSITIVE_INFINITY,windowTime:t=Number.POSITIVE_INFINITY,refCount:e,scheduler:i}){let r,s,o=0,a=!1,l=!1;return function(u){let d;o++,!r||a?(a=!1,r=new Xa(n,t,i),d=r.subscribe(this),s=u.subscribe({next(f){r.next(f)},error(f){a=!0,r.error(f)},complete(){l=!0,s=void 0,r.complete()}}),l&&(s=void 0)):d=r.subscribe(this),this.add(()=>{o--,d.unsubscribe(),d=void 0,s&&!l&&e&&0===o&&(s.unsubscribe(),s=void 0,r=void 0)})}}(i))}({refCount:!0,bufferSize:1}),Hr(this.destroy$))}effect(e){const i=new Tn;return e(i).pipe(Hr(this.destroy$)).subscribe(),r=>(gE(r)?r:Ya(r)).pipe(Hr(this.destroy$)).subscribe(s=>{i.next(s)})}checkProviderForHooks(){mE.schedule(()=>{})}assertStateIsInitialized(){if(!this.isInitialized)throw new Error(`${this.constructor.name} has not been initialized yet. Please make sure it is initialized before updating/getting.`)}}return n.\u0275fac=function(e){return new(e||n)(A(Ok,8))},n.\u0275prov=$({token:n,factory:n.\u0275fac}),n})();function SE(n,t,e){return i=>i.pipe(Ur({next:n,complete:e}),bE(r=>(t(r),xd)))}let CE=(()=>{class n extends DE{constructor(e){super({tempFile:null,isLoading:!1,error:""}),this.dotUploadService=e,this.vm$=this.select(i=>i),this.tempFile$=this.select(({tempFile:i})=>i),this.error$=this.select(({error:i})=>i),this.setTempFile=this.updater((i,r)=>({...i,tempFile:r,isLoading:!1,error:""})),this.setIsLoading=this.updater((i,r)=>({...i,isLoading:r})),this.setError=this.updater((i,r)=>({...i,isLoading:!1,error:r})),this.uploadFileByUrl=this.effect(i=>i.pipe(Ur(()=>this.setIsLoading(!0)),Ja(({url:r,signal:o})=>this.uploadTempFile(r,o))))}setMaxFileSize(e){this._maxFileSize=e/1048576}uploadTempFile(e,i){return yi(this.dotUploadService.uploadFile({file:e,maxSize:this._maxFileSize?`${this._maxFileSize}MB`:"",signal:i})).pipe(SE(r=>this.setTempFile(r),r=>{i.aborted?this.setIsLoading(!1):this.setError(r.message)}))}}return n.\u0275fac=function(e){return new(e||n)(A(El))},n.\u0275prov=$({token:n,factory:n.\u0275fac}),n})();function Lk(n,t){if(1&n&&(Oe(0,"dot-field-validation-message",12),We(1,"dm")),2&n){const e=j(2);I("message",et(1,2,e.invalidError))("field",e.form.get("url"))}}function kk(n,t){if(1&n&&(R(0,"small",13),Vt(1),We(2,"dm"),W()),2&n){const e=j().ngIf;M(1),ni(" ",et(2,1,e.error)," ")}}function jk(n,t){1&n&&(Oe(0,"p-button",14),We(1,"dm")),2&n&&I("label",et(1,2,"dot.common.import"))("icon","pi pi-download")}function Vk(n,t){1&n&&Oe(0,"p-button",15),2&n&&I("icon","pi pi-spin pi-spinner")}const Bk=function(){return{width:"6.85rem"}};function Hk(n,t){if(1&n){const e=jt();R(0,"form",1),J("ngSubmit",function(){return pe(e),me(j().onSubmit())}),R(1,"div",2)(2,"label",3),Vt(3),We(4,"dm"),W(),R(5,"input",4),J("focus",function(){const o=pe(e).ngIf;return me(j().resetError(!!o.error))}),W(),R(6,"div",5),ae(7,Lk,2,4,"dot-field-validation-message",6),ae(8,kk,3,3,"ng-template",null,7,ju),W()(),R(10,"div",8)(11,"p-button",9),J("click",function(){return pe(e),me(j().cancelUpload())}),We(12,"dm"),W(),R(13,"div"),ae(14,jk,2,4,"p-button",10),ae(15,Vk,1,1,"ng-template",null,11,ju),W()()()}if(2&n){const e=t.ngIf,i=pu(9),r=pu(16);I("formGroup",j().form),M(3),Oi(et(4,9,"dot.binary.field.action.import.from.url")),M(4),I("ngIf",!e.error)("ngIfElse",i),M(4),I("label",et(12,11,"dot.common.cancel")),M(2),function tn(n){rn(xg,eT,n,!1)}(da(13,Bk)),M(1),I("ngIf",!e.isLoading)("ngIfElse",r)}}let Uk=(()=>{class n{constructor(e){this.store=e,this.tempFileUploaded=new Y,this.cancel=new Y,this.destroy$=new Tn,this.validators=[ja.required,ja.pattern(/^(ftp|http|https):\/\/[^ "]+$/)],this.invalidError="dot.binary.field.action.import.from.url.error.message",this.vm$=this.store.vm$.pipe(Ur(({isLoading:i})=>this.toggleForm(i))),this.tempFileChanged$=this.store.tempFile$,this.form=new Uo({url:new Wo("",this.validators)}),this.tempFileChanged$.pipe(Hr(this.destroy$)).subscribe(i=>{this.tempFileUploaded.emit(i)})}ngOnInit(){this.store.setMaxFileSize(this.maxFileSize)}ngOnDestroy(){this.destroy$.next(),this.destroy$.complete(),this.abortController?.abort()}onSubmit(){const e=this.form.get("url");if(this.form.invalid)return;const i=e.value;this.abortController=new AbortController,this.store.uploadFileByUrl({url:i,signal:this.abortController.signal}),this.form.reset({url:i})}cancelUpload(){this.abortController?.abort(),this.cancel.emit()}resetError(e){e&&this.store.setError("")}toggleForm(e){e?this.form.disable():this.form.enable()}}return n.\u0275fac=function(e){return new(e||n)(b(CE))},n.\u0275cmp=gt({type:n,selectors:[["dot-dot-binary-field-url-mode"]],inputs:{maxFileSize:"maxFileSize",accept:"accept"},outputs:{tempFileUploaded:"tempFileUploaded",cancel:"cancel"},standalone:!0,features:[de([CE]),Ri],decls:2,vars:3,consts:[["class","url-mode__form","data-testId","form",3,"formGroup","ngSubmit",4,"ngIf"],["data-testId","form",1,"url-mode__form",3,"formGroup","ngSubmit"],[1,"url-mode__input-container"],["for","url-input"],["id","url-input","type","text","autocomplete","off","formControlName","url","pInputText","","placeholder","https://www.dotcms.com/image.png","aria-label","URL input field","data-testId","url-input",3,"focus"],[1,"error-messsage__container"],["data-testId","error-message",3,"message","field",4,"ngIf","ngIfElse"],["serverError",""],[1,"url-mode__actions"],["styleClass","p-button-outlined","type","button","aria-label","Cancel button","data-testId","cancel-button",3,"label","click"],["type","submit","aria-label","Import button","data-testId","import-button",3,"label","icon",4,"ngIf","ngIfElse"],["loadingButton",""],["data-testId","error-message",3,"message","field"],["data-testId","error-msg",1,"p-invalid"],["type","submit","aria-label","Import button","data-testId","import-button",3,"label","icon"],["type","button","aria-label","Loading button","data-testId","loading-button",3,"icon"]],template:function(e,i){1&e&&(ae(0,Hk,17,14,"form",0),We(1,"async")),2&e&&I("ngIf",et(1,1,i.vm$))},dependencies:[Mt,Lr,yd,kb,Kd,Vo,Fd,Ld,jb,Go,Qa,Vf,jf,Bf,nE,Sl,fE],styles:["[_nghost-%COMP%] {display:block;width:32rem}[_nghost-%COMP%] .p-button{width:100%}[_nghost-%COMP%] .error-messsage__container{min-height:1.5rem}.url-mode__form[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:1rem;justify-content:center;align-items:flex-start}.url-mode__input-container[_ngcontent-%COMP%]{width:100%;display:flex;gap:.5rem;flex-direction:column}.url-mode__actions[_ngcontent-%COMP%]{width:100%;display:flex;gap:.5rem;align-items:center;justify-content:flex-end}"],changeDetection:0}),n})();var fi=(()=>(function(n){n.DEFAULT="DEFAULT",n.SERVER_ERROR="SERVER_ERROR",n.FILE_TYPE_MISMATCH="FILE_TYPE_MISMATCH",n.MAX_FILE_SIZE_EXCEEDED="MAX_FILE_SIZE_EXCEEDED"}(fi||(fi={})),fi))();const $k={DEFAULT:{message:"dot.binary.field.drag.and.drop.message",severity:"info",icon:"pi pi-upload"},SERVER_ERROR:{message:"dot.binary.field.drag.and.drop.error.server.error.message",severity:"error",icon:"pi pi-exclamation-triangle"},FILE_TYPE_MISMATCH:{message:"dot.binary.field.drag.and.drop.error.file.not.supported.message",severity:"error",icon:"pi pi-exclamation-triangle"},MAX_FILE_SIZE_EXCEEDED:{message:"dot.binary.field.drag.and.drop.error.file.maxsize.exceeded.message",severity:"error",icon:"pi pi-exclamation-triangle"}},ns=(n,...t)=>{const{message:e,severity:i,icon:r}=$k[n];return{message:e,severity:i,icon:r,args:t}};var hi=(()=>(function(n){n.DROPZONE="DROPZONE",n.URL="URL",n.EDITOR="EDITOR"}(hi||(hi={})),hi))(),dn=(()=>(function(n){n.INIT="INIT",n.UPLOADING="UPLOADING",n.PREVIEW="PREVIEW",n.ERROR="ERROR"}(dn||(dn={})),dn))();let wE=(()=>{class n extends DE{constructor(e){super(),this.dotUploadService=e,this.vm$=this.select(i=>({...i,isLoading:i.status===dn.UPLOADING})),this.file$=this.select(i=>i.file),this.tempFile$=this.select(i=>i.tempFile),this.mode$=this.select(i=>i.mode),this.setFile=this.updater((i,r)=>({...i,file:r})),this.setDropZoneActive=this.updater((i,r)=>({...i,dropZoneActive:r})),this.setTempFile=this.updater((i,r)=>({...i,status:dn.PREVIEW,tempFile:r})),this.setUiMessage=this.updater((i,r)=>({...i,UiMessage:r})),this.setMode=this.updater((i,r)=>({...i,mode:r})),this.setStatus=this.updater((i,r)=>({...i,status:r})),this.setUploading=this.updater(i=>({...i,dropZoneActive:!1,uiMessage:ns(fi.DEFAULT),status:dn.UPLOADING})),this.setError=this.updater((i,r)=>({...i,UiMessage:r,status:dn.ERROR,tempFile:null})),this.invalidFile=this.updater((i,r)=>({...i,dropZoneActive:!1,UiMessage:r,status:dn.ERROR})),this.removeFile=this.updater(i=>({...i,file:null,tempFile:null,status:dn.INIT})),this.handleUploadFile=this.effect(i=>i.pipe(Ur(()=>this.setUploading()),Ja(r=>this.uploadTempFile(r)))),this.handleCreateFile=this.effect(i=>i.pipe())}setMaxFileSize(e){this._maxFileSizeInMB=e/1048576}uploadTempFile(e){return yi(this.dotUploadService.uploadFile({file:e,maxSize:this._maxFileSizeInMB?`${this._maxFileSizeInMB}MB`:"",signal:null})).pipe(SE(i=>this.setTempFile(i),()=>this.setError(ns(fi.SERVER_ERROR))))}}return n.\u0275fac=function(e){return new(e||n)(A(El))},n.\u0275prov=$({token:n,factory:n.\u0275fac}),n})();const zk=function(n,t,e){return{"border-width":n,width:t,height:e}};let Wk=(()=>{class n{constructor(){this.borderSize="",this.size=""}}return n.\u0275fac=function(e){return new(e||n)},n.\u0275cmp=gt({type:n,selectors:[["dot-spinner"]],inputs:{borderSize:"borderSize",size:"size"},decls:1,vars:5,consts:[[3,"ngStyle"]],template:function(e,i){1&e&&Oe(0,"div",0),2&e&&I("ngStyle",Ly(1,zk,i.borderSize,i.size,i.size))},dependencies:[Pa],styles:["div[_ngcontent-%COMP%]{border-radius:50%;width:2.5rem;height:2.5rem;display:inline-block;vertical-align:middle;font-size:10px;position:relative;text-indent:-9999em;border:.5rem solid var(--color-palette-primary-op-20);border-left-color:var(--color-palette-primary-500);transform:translateZ(0);animation:_ngcontent-%COMP%_load8 1.1s infinite linear;overflow:hidden}.edit-page-variant-mode [_nghost-%COMP%] div[_ngcontent-%COMP%]{border:.5rem solid var(--color-palette-white-op-20);border-left-color:var(--color-palette-white-op-90)}@keyframes _ngcontent-%COMP%_load8{0%{transform:rotate(0)}to{transform:rotate(360deg)}}"]}),n})();const Gk=["inputFile"],qk=function(n){return{"binary-field__drop-zone--active":n}};function Kk(n,t){if(1&n){const e=jt();R(0,"div",10)(1,"div",11)(2,"dot-drop-zone",12),J("fileDragOver",function(){return pe(e),me(j(2).setDropZoneActiveState(!0))})("fileDragLeave",function(){return pe(e),me(j(2).setDropZoneActiveState(!1))})("fileDropped",function(r){return pe(e),me(j(2).handleFileDrop(r))}),R(3,"dot-binary-field-ui-message",13),We(4,"dm"),R(5,"button",14),J("click",function(){return pe(e),me(j(2).openFilePicker())}),Vt(6),We(7,"dm"),W()()(),R(8,"input",15,16),J("change",function(r){return pe(e),me(j(2).handleFileSelection(r))}),W()(),R(10,"div",17)(11,"p-button",18),J("click",function(){pe(e);const r=j(2);return me(r.openDialog(r.BINARY_FIELD_MODE.URL))}),We(12,"dm"),W(),R(13,"p-button",19),J("click",function(){pe(e);const r=j(2);return me(r.openDialog(r.BINARY_FIELD_MODE.EDITOR))}),We(14,"dm"),W()()()}if(2&n){const e=j().ngIf,i=j();M(1),I("ngClass",Or(19,qk,e.dropZoneActive)),M(1),I("accept",i.accept)("maxFileSize",i.maxFileSize),M(1),I("message",function zy(n,t,e,i){const r=n+22,o=v(),s=Xi(o,r);return Mo(o,r)?By(o,lt(),t,s.transform,e,i,s):s.transform(e,i)}(4,10,e.UiMessage.message,e.UiMessage.args))("icon",e.UiMessage.icon)("severity",e.UiMessage.severity),M(3),ni(" ",et(7,13,"dot.binary.field.action.choose.file")," "),M(2),I("accept",i.accept.join(",")),M(3),I("label",et(12,15,"dot.binary.field.action.import.from.url")),M(2),I("label",et(14,17,"dot.binary.field.action.create.new.file"))}}function Qk(n,t){1&n&&Oe(0,"dot-spinner",20)}function Yk(n,t){if(1&n){const e=jt();R(0,"div",21)(1,"span"),Vt(2),W(),Oe(3,"br"),R(4,"p-button",22),J("click",function(){return pe(e),me(j(2).removeFile())}),We(5,"dm"),W()()}if(2&n){const e=j().ngIf;M(2),ni(" ",e.tempFile.fileName," "),M(2),I("label",et(5,2,"dot.binary.field.action.remove"))}}function Zk(n,t){if(1&n){const e=jt();wr(0,23),R(1,"dot-dot-binary-field-url-mode",24),J("tempFileUploaded",function(r){return pe(e),me(j(2).setTempFile(r))})("cancel",function(){return pe(e),me(j(2).closeDialog())}),W(),Ir()}if(2&n){const e=j(2);M(1),I("accept",e.accept)("maxFileSize",e.maxFileSize)}}function Xk(n,t){if(1&n){const e=jt();wr(0,25),R(1,"dot-dot-binary-field-editor",26),J("tempFileUploaded",function(r){return pe(e),me(j(2).setTempFile(r))})("cancel",function(){return pe(e),me(j(2).closeDialog())}),W(),Ir()}if(2&n){const e=j(2);M(1),I("accept",e.accept)}}const Jk=function(n){return{"binary-field__container--uploading":n}};function e2(n,t){if(1&n){const e=jt();R(0,"div",2),ae(1,Kk,15,21,"div",3),ae(2,Qk,1,0,"dot-spinner",4),ae(3,Yk,6,4,"div",5),R(4,"p-dialog",6),J("visibleChange",function(r){return pe(e),me(j().dialogOpen=r)})("onHide",function(){return pe(e),me(j().afterDialogClose())}),We(5,"dm"),wr(6,7),ae(7,Zk,2,2,"ng-container",8),ae(8,Xk,2,1,"ng-container",9),Ir(),W()()}if(2&n){const e=t.ngIf,i=j();I("ngClass",Or(16,Jk,e.status===i.BINARY_FIELD_STATUS.UPLOADING)),M(1),I("ngIf",e.status===i.BINARY_FIELD_STATUS.INIT||e.status===i.BINARY_FIELD_STATUS.ERROR),M(1),I("ngIf",e.status===i.BINARY_FIELD_STATUS.UPLOADING),M(1),I("ngIf",e.status===i.BINARY_FIELD_STATUS.PREVIEW),M(1),I("visible",i.dialogOpen)("modal",!0)("header",et(5,14,i.dialogHeaderMap[e.mode]))("draggable",!1)("resizable",!1)("closeOnEscape",!1)("styleClass",i.isEditorMode(e.mode)?"screen-cover":""),M(2),I("ngSwitch",e.mode),M(1),I("ngSwitchCase",i.BINARY_FIELD_MODE.URL),M(1),I("ngSwitchCase",i.BINARY_FIELD_MODE.EDITOR)}}function t2(n,t){if(1&n&&(R(0,"div",27),Oe(1,"i",28),R(2,"span",29),Vt(3),W()()),2&n){const e=j();M(3),Oi(e.helperText)}}const n2={file:null,tempFile:null,mode:hi.DROPZONE,status:dn.INIT,dropZoneActive:!1,UiMessage:ns(fi.DEFAULT)};let IE=(()=>{class n{constructor(e,i){this.dotBinaryFieldStore=e,this.dotMessageService=i,this.accept=[],this.tempFile=new Y,this.dialogHeaderMap={[hi.URL]:"dot.binary.field.dialog.import.from.url.header",[hi.EDITOR]:"dot.binary.field.dialog.create.new.file.header"},this.BINARY_FIELD_STATUS=dn,this.BINARY_FIELD_MODE=hi,this.vm$=this.dotBinaryFieldStore.vm$,this.dialogOpen=!1,this.dotBinaryFieldStore.setState(n2),this.dotMessageService.init()}ngOnInit(){this.dotBinaryFieldStore.tempFile$.pipe(function bL(n){return t=>t.lift(new DL(n))}(1)).subscribe(e=>{this.tempFile.emit(e)}),this.dotBinaryFieldStore.setMaxFileSize(this.maxFileSize)}setDropZoneActiveState(e){this.dotBinaryFieldStore.setDropZoneActive(e)}handleFileDrop({validity:e,file:i}){if(e.valid)this.dotBinaryFieldStore.handleUploadFile(i);else{const r=this.handleFileDropError(e);this.dotBinaryFieldStore.invalidFile(r)}}openDialog(e){this.dialogOpen=!0,this.dotBinaryFieldStore.setMode(e)}closeDialog(){this.dialogOpen=!1}afterDialogClose(){this.dotBinaryFieldStore.setMode(null)}openFilePicker(){this.inputFile.nativeElement.click()}handleFileSelection(e){this.dotBinaryFieldStore.handleUploadFile(e.target.files[0])}removeFile(){this.dotBinaryFieldStore.removeFile()}setTempFile(e){this.dotBinaryFieldStore.setTempFile(e),this.dialogOpen=!1}isEditorMode(e){return e===hi.EDITOR}handleFileDropError({fileTypeMismatch:e,maxFileSizeExceeded:i}){const r=this.accept.join(", "),o=`${this.maxFileSize} bytes`;let s;return e?s=ns(fi.FILE_TYPE_MISMATCH,r):i&&(s=ns(fi.MAX_FILE_SIZE_EXCEEDED,o)),s}}return n.\u0275fac=function(e){return new(e||n)(b(wE),b(ts))},n.\u0275cmp=gt({type:n,selectors:[["dot-binary-field"]],viewQuery:function(e,i){if(1&e&&Fi(Gk,5),2&e){let r;on(r=sn())&&(i.inputFile=r.first)}},inputs:{accept:"accept",maxFileSize:"maxFileSize",helperText:"helperText",contentlet:"contentlet"},outputs:{tempFile:"tempFile"},standalone:!0,features:[de([wE]),Ri],decls:3,vars:4,consts:[["class","binary-field__container",3,"ngClass",4,"ngIf"],["class","binary-field__helper",4,"ngIf"],[1,"binary-field__container",3,"ngClass"],["class","binary-field__drop-zone-container","data-testId","binary-field__drop-zone-container",4,"ngIf"],["data-testId","loading",4,"ngIf"],["data-testId","preview",4,"ngIf"],[3,"visible","modal","header","draggable","resizable","closeOnEscape","styleClass","visibleChange","onHide"],[3,"ngSwitch"],["data-testId","url",4,"ngSwitchCase"],["data-testId","editor",4,"ngSwitchCase"],["data-testId","binary-field__drop-zone-container",1,"binary-field__drop-zone-container"],[1,"binary-field__drop-zone",3,"ngClass"],["data-testId","dropzone",3,"accept","maxFileSize","fileDragOver","fileDragLeave","fileDropped"],[3,"message","icon","severity"],["data-testId","choose-file-btn",1,"binary-field__drop-zone-btn",3,"click"],["type","file","data-testId","binary-field__file-input",1,"binary-field__input",3,"accept","change"],["inputFile",""],[1,"binary-field__actions"],["data-testId","action-url-btn","styleClass","p-button-link","icon","pi pi-link",3,"label","click"],["data-testId","action-editor-btn","styleClass","p-button-link","icon","pi pi-code",3,"label","click"],["data-testId","loading"],["data-testId","preview"],["data-testId","action-remove-btn","icon","pi pi-trash",1,"p-button-outlined",3,"label","click"],["data-testId","url"],["data-testId","url-mode",3,"accept","maxFileSize","tempFileUploaded","cancel"],["data-testId","editor"],["data-testId","editor-mode",3,"accept","tempFileUploaded","cancel"],[1,"binary-field__helper"],[1,"pi","pi-info-circle","binary-field__helper-icon"],["data-testId","helper-text"]],template:function(e,i){1&e&&(ae(0,e2,9,18,"div",0),We(1,"async"),ae(2,t2,4,1,"div",1)),2&e&&(I("ngIf",et(1,2,i.vm$)),M(2),I("ngIf",i.helperText))},dependencies:[Mt,Fr,Lr,xa,sv,yd,Vf,jf,vL,_L,HL,tf,Sl,uk,VL,Wk,OF,lk,Bf,Uk],styles:[".screen-cover{width:90vw;height:90vh;min-width:40rem;min-height:40rem}.binary-field__container[_ngcontent-%COMP%]{display:flex;justify-content:center;align-items:center;width:100%;gap:1rem;border-radius:.375rem;border:1.5px solid #ebecef;padding:.5rem;margin-bottom:.5rem;height:10rem}.binary-field__container--uploading[_ngcontent-%COMP%]{border:1.5px dashed #ebecef}.binary-field__helper-icon[_ngcontent-%COMP%]{color:#8d92a5}.binary-field__helper[_ngcontent-%COMP%]{display:flex;justify-content:flex-start;align-items:center;gap:.5rem;color:#6c7389;font-weight:.813rem}.binary-field__actions[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:1rem;justify-content:center;align-items:flex-start}.binary-field__actions[_ngcontent-%COMP%] .p-button{display:inline-flex;-webkit-user-select:none;user-select:none;align-items:center;vertical-align:bottom;text-align:center}.binary-field__actions[_ngcontent-%COMP%] .p-button-link .p-button-label{color:#14151a}.binary-field__actions[_ngcontent-%COMP%] .p-button-link .p-button-icon{color:var(--color-palette-secondary-500)}.binary-field__drop-zone-container[_ngcontent-%COMP%]{display:flex;justify-content:center;align-items:center;height:100%;width:100%}.binary-field__drop-zone[_ngcontent-%COMP%]{border:1.5px dashed #afb3c0;display:flex;flex-direction:column;justify-content:center;align-items:center;border-radius:.375rem;-webkit-user-select:none;user-select:none;cursor:default;flex-grow:1;height:100%}.binary-field__drop-zone[_ngcontent-%COMP%] .binary-field__drop-zone-btn[_ngcontent-%COMP%]{border:none;background:none;color:var(--color-palette-primary-500);text-decoration:underline;font-size:1rem;font-family:Assistant,Helvetica Neue,Helvetica,Arial,Lucida Grande,sans-serif;padding:revert}.binary-field__drop-zone--active[_ngcontent-%COMP%]{border-radius:.375rem;border-color:var(--color-palette-secondary-500);background:#ffffff;box-shadow:0 0 4px #14151a0a,0 8px 16px #14151a14}.binary-field__drop-zone[_ngcontent-%COMP%] dot-drop-zone[_ngcontent-%COMP%]{height:100%;width:100%}.binary-field__input[_ngcontent-%COMP%]{display:none}.binary-field__code-editor[_ngcontent-%COMP%]{border:1px solid #afb3c0;display:block;height:25rem}p-dialog[_ngcontent-%COMP%] .p-dialog-mask.p-component-overlay{background-color:transparent;-webkit-backdrop-filter:blur(.375rem);backdrop-filter:blur(.375rem)}"],changeDetection:0}),n})();const r2=[{tag:"dotcms-binary-field",component:IE}];let o2=(()=>{class n{constructor(e){this.injector=e}ngDoBootstrap(){try{r2.forEach(({tag:e,component:i})=>{if(customElements.get(e))return;const r=function lN(n,t){const e=function tN(n,t){return t.get(ur).resolveComponentFactory(n).inputs}(n,t.injector),i=t.strategyFactory||new oN(n,t.injector),r=function eN(n){const t={};return n.forEach(({propName:e,templateName:i})=>{t[function QO(n){return n.replace(/[A-Z]/g,t=>`-${t.toLowerCase()}`)}(i)]=e}),t}(e);class o extends aN{get ngElementStrategy(){if(!this._ngElementStrategy){const a=this._ngElementStrategy=i.create(this.injector||t.injector);e.forEach(({propName:l})=>{if(!this.hasOwnProperty(l))return;const c=this[l];delete this[l],a.setInputValue(l,c)})}return this._ngElementStrategy}constructor(a){super(),this.injector=a}attributeChangedCallback(a,l,c,u){this.ngElementStrategy.setInputValue(r[a],c)}connectedCallback(){let a=!1;this.ngElementStrategy.events&&(this.subscribeToEvents(),a=!0),this.ngElementStrategy.connect(this),a||this.subscribeToEvents()}disconnectedCallback(){this._ngElementStrategy&&this._ngElementStrategy.disconnect(),this.ngElementEventsSubscription&&(this.ngElementEventsSubscription.unsubscribe(),this.ngElementEventsSubscription=null)}subscribeToEvents(){this.ngElementEventsSubscription=this.ngElementStrategy.events.subscribe(a=>{const l=new CustomEvent(a.name,{detail:a.value});this.dispatchEvent(l)})}}return o.observedAttributes=Object.keys(r),e.forEach(({propName:s})=>{Object.defineProperty(o.prototype,s,{get(){return this.ngElementStrategy.getInputValue(s)},set(a){this.ngElementStrategy.setInputValue(s,a)},configurable:!0,enumerable:!0})}),o}(i,{injector:this.injector});customElements.define(e,r)})}catch(e){console.error(e)}}}return n.\u0275fac=function(e){return new(e||n)(A(gn))},n.\u0275mod=ke({type:n}),n.\u0275inj=xe({providers:[ts,El],imports:[Ov,cF,IE,tf]}),n})();_1().bootstrapModule(o2).catch(n=>console.error(n))},13131:(mi,rs,In)=>{var rt={"./ar-DZ/_lib/formatDistance/index.js":[28066,8592],"./ar-DZ/_lib/formatLong/index.js":[86369,8592,9493],"./ar-DZ/_lib/formatRelative/index.js":[89786,8592],"./ar-DZ/_lib/localize/index.js":[36207,8592,4373],"./ar-DZ/_lib/match/index.js":[53371,8592,2877],"./ar-DZ/index.js":[76327,8592,4288],"./ar-EG/_lib/formatDistance/index.js":[95932,8592],"./ar-EG/_lib/formatLong/index.js":[46023,8592,3639],"./ar-EG/_lib/formatRelative/index.js":[74621,8592],"./ar-EG/_lib/localize/index.js":[93376,8592,1378],"./ar-EG/_lib/match/index.js":[76456,8592,9284],"./ar-EG/index.js":[30830,8592,8477],"./ar-MA/_lib/formatDistance/index.js":[25565,8592],"./ar-MA/_lib/formatLong/index.js":[81783,8592,7236],"./ar-MA/_lib/formatRelative/index.js":[90030,8592],"./ar-MA/_lib/localize/index.js":[60503,8592,7995],"./ar-MA/_lib/match/index.js":[83427,8592,8213],"./ar-MA/index.js":[96094,8592,9736],"./ar-SA/_lib/formatDistance/index.js":[3797,8592],"./ar-SA/_lib/formatLong/index.js":[73212,8592,9090],"./ar-SA/_lib/formatRelative/index.js":[79009,8592],"./ar-SA/_lib/localize/index.js":[12535,8592,124],"./ar-SA/_lib/match/index.js":[14710,8592,2912],"./ar-SA/index.js":[54370,8592,6562],"./ar-TN/_lib/formatDistance/index.js":[56566,8592],"./ar-TN/_lib/formatLong/index.js":[4585,8592,3753],"./ar-TN/_lib/formatRelative/index.js":[5374,8592],"./ar-TN/_lib/localize/index.js":[85963,8592,4843],"./ar-TN/_lib/match/index.js":[13401,8592,2581],"./ar-TN/index.js":[37373,8592,6426],"./be-tarask/_lib/formatDistance/index.js":[82665,8592],"./be-tarask/_lib/formatLong/index.js":[9662,8592,5806],"./be-tarask/_lib/formatRelative/index.js":[4653,4,8592],"./be-tarask/_lib/localize/index.js":[40591,8592,1283],"./be-tarask/_lib/match/index.js":[34412,8592,9938],"./be-tarask/index.js":[27840,4,8592,7840],"./de-AT/_lib/localize/index.js":[44821,8592,8300],"./de-AT/index.js":[21782,8592,243],"./en-AU/_lib/formatLong/index.js":[65493,8592,6237],"./en-AU/index.js":[87747,8592,1128],"./en-CA/_lib/formatDistance/index.js":[80780,8592],"./en-CA/_lib/formatLong/index.js":[26153,8592,7747],"./en-CA/index.js":[21413,8592,7555],"./en-GB/_lib/formatLong/index.js":[33819,8592,4547],"./en-GB/index.js":[33035,8592,1228],"./en-IE/index.js":[61959,8592,463],"./en-IN/_lib/formatLong/index.js":[20862,8592,3191],"./en-IN/index.js":[82873,8592,8757],"./en-NZ/_lib/formatLong/index.js":[36336,8592,3197],"./en-NZ/index.js":[26041,8592,5966],"./en-US/_lib/formatDistance/index.js":[39563,9563],"./en-US/_lib/formatLong/index.js":[66929,6929],"./en-US/_lib/formatRelative/index.js":[21656,1656],"./en-US/_lib/localize/index.js":[31098,9350],"./en-US/_lib/match/index.js":[53239,3239],"./en-US/index.js":[33338,3338],"./en-ZA/_lib/formatLong/index.js":[9221,8592,6951],"./en-ZA/index.js":[11543,8592,4093],"./fa-IR/_lib/formatDistance/index.js":[76726,8592],"./fa-IR/_lib/formatLong/index.js":[10749,8592,7612],"./fa-IR/_lib/formatRelative/index.js":[7220,8592],"./fa-IR/_lib/localize/index.js":[72441,8592,9371],"./fa-IR/_lib/match/index.js":[81488,8592,7743],"./fa-IR/index.js":[84996,8592,5974],"./fr-CA/_lib/formatLong/index.js":[85947,8592,4367],"./fr-CA/index.js":[73723,8592,1688],"./fr-CH/_lib/formatLong/index.js":[27414,8592,3603],"./fr-CH/_lib/formatRelative/index.js":[66155,8592],"./fr-CH/index.js":[24565,8592,4087],"./it-CH/_lib/formatLong/index.js":[31519,8592,6685],"./it-CH/index.js":[87736,8592,2324],"./ja-Hira/_lib/formatDistance/index.js":[84703,8592],"./ja-Hira/_lib/formatLong/index.js":[56574,8592,7336],"./ja-Hira/_lib/formatRelative/index.js":[93381,8592],"./ja-Hira/_lib/localize/index.js":[35710,8592,3665],"./ja-Hira/_lib/match/index.js":[69417,8592,3148],"./ja-Hira/index.js":[12944,8592,1464],"./nl-BE/_lib/formatDistance/index.js":[16129,8592],"./nl-BE/_lib/formatLong/index.js":[17657,8592,3039],"./nl-BE/_lib/formatRelative/index.js":[89811,8592],"./nl-BE/_lib/localize/index.js":[58816,8592,1681],"./nl-BE/_lib/match/index.js":[28333,8592,2237],"./nl-BE/index.js":[70296,8592,4862],"./pt-BR/_lib/formatDistance/index.js":[52638,8592],"./pt-BR/_lib/formatLong/index.js":[33247,8592,4753],"./pt-BR/_lib/formatRelative/index.js":[25492,8592],"./pt-BR/_lib/localize/index.js":[81046,8592,2258],"./pt-BR/_lib/match/index.js":[63770,8592,9792],"./pt-BR/index.js":[47569,8592,1100],"./sr-Latn/_lib/formatDistance/index.js":[69014,8592],"./sr-Latn/_lib/formatLong/index.js":[99257,8592,275],"./sr-Latn/_lib/formatRelative/index.js":[42428,8592],"./sr-Latn/_lib/localize/index.js":[92773,8592,7136],"./sr-Latn/_lib/match/index.js":[7766,8592,3177],"./sr-Latn/index.js":[99064,8592,2152],"./uz-Cyrl/_lib/formatDistance/index.js":[67778,8592],"./uz-Cyrl/_lib/formatLong/index.js":[64095,8592,160],"./uz-Cyrl/_lib/formatRelative/index.js":[83734,8592],"./uz-Cyrl/_lib/localize/index.js":[17670,8592,2654],"./uz-Cyrl/_lib/match/index.js":[75798,8592,1360],"./uz-Cyrl/index.js":[14527,8592,8932],"./zh-CN/_lib/formatDistance/index.js":[33437,8592],"./zh-CN/_lib/formatLong/index.js":[91583,8592,485],"./zh-CN/_lib/formatRelative/index.js":[95629,8592,5441],"./zh-CN/_lib/localize/index.js":[17939,8592,9169],"./zh-CN/_lib/match/index.js":[71362,8592,7103],"./zh-CN/index.js":[86335,8592,8664],"./zh-HK/_lib/formatDistance/index.js":[37348,8592],"./zh-HK/_lib/formatLong/index.js":[60924,8592,3215],"./zh-HK/_lib/formatRelative/index.js":[22164,8592],"./zh-HK/_lib/localize/index.js":[39264,8592,1780],"./zh-HK/_lib/match/index.js":[50358,8592,5641],"./zh-HK/index.js":[59277,8592,2336],"./zh-TW/_lib/formatDistance/index.js":[31613,8592],"./zh-TW/_lib/formatLong/index.js":[1239,8592,248],"./zh-TW/_lib/formatRelative/index.js":[13240,8592],"./zh-TW/_lib/localize/index.js":[29850,8592,9886],"./zh-TW/_lib/match/index.js":[38819,8592,8041],"./zh-TW/index.js":[74565,8592,8978]};function qt(Le){if(!In.o(rt,Le))return Promise.resolve().then(()=>{var Kt=new Error("Cannot find module '"+Le+"'");throw Kt.code="MODULE_NOT_FOUND",Kt});var bt=rt[Le],Kn=bt[0];return Promise.all(bt.slice(1).map(In.e)).then(()=>In.t(Kn,23))}qt.keys=()=>Object.keys(rt),qt.id=13131,mi.exports=qt},71213:(mi,rs,In)=>{var rt={"./_lib/buildFormatLongFn/index.js":[88995,7,8995],"./_lib/buildLocalizeFn/index.js":[77579,7,7579],"./_lib/buildMatchFn/index.js":[84728,7,4728],"./_lib/buildMatchPatternFn/index.js":[27223,7,7223],"./af/_lib/formatDistance/index.js":[55864,7,8592],"./af/_lib/formatLong/index.js":[25358,7,8592,9848],"./af/_lib/formatRelative/index.js":[25892,7,8592],"./af/_lib/localize/index.js":[18874,7,8592,459],"./af/_lib/match/index.js":[22146,7,8592,4568],"./af/index.js":[72399,7,8592,6595],"./ar-DZ/_lib/formatDistance/index.js":[28066,7,8592],"./ar-DZ/_lib/formatLong/index.js":[86369,7,8592,9493],"./ar-DZ/_lib/formatRelative/index.js":[89786,7,8592],"./ar-DZ/_lib/localize/index.js":[36207,7,8592,4373],"./ar-DZ/_lib/match/index.js":[53371,7,8592,2877],"./ar-DZ/index.js":[76327,7,8592,4288],"./ar-EG/_lib/formatDistance/index.js":[95932,7,8592],"./ar-EG/_lib/formatLong/index.js":[46023,7,8592,3639],"./ar-EG/_lib/formatRelative/index.js":[74621,7,8592],"./ar-EG/_lib/localize/index.js":[93376,7,8592,1378],"./ar-EG/_lib/match/index.js":[76456,7,8592,9284],"./ar-EG/index.js":[30830,7,8592,8477],"./ar-MA/_lib/formatDistance/index.js":[25565,7,8592],"./ar-MA/_lib/formatLong/index.js":[81783,7,8592,7236],"./ar-MA/_lib/formatRelative/index.js":[90030,7,8592],"./ar-MA/_lib/localize/index.js":[60503,7,8592,7995],"./ar-MA/_lib/match/index.js":[83427,7,8592,8213],"./ar-MA/index.js":[96094,7,8592,9736],"./ar-SA/_lib/formatDistance/index.js":[3797,7,8592],"./ar-SA/_lib/formatLong/index.js":[73212,7,8592,9090],"./ar-SA/_lib/formatRelative/index.js":[79009,7,8592],"./ar-SA/_lib/localize/index.js":[12535,7,8592,124],"./ar-SA/_lib/match/index.js":[14710,7,8592,2912],"./ar-SA/index.js":[54370,7,8592,6562],"./ar-TN/_lib/formatDistance/index.js":[56566,7,8592],"./ar-TN/_lib/formatLong/index.js":[4585,7,8592,3753],"./ar-TN/_lib/formatRelative/index.js":[5374,7,8592],"./ar-TN/_lib/localize/index.js":[85963,7,8592,4843],"./ar-TN/_lib/match/index.js":[13401,7,8592,2581],"./ar-TN/index.js":[37373,7,8592,6426],"./ar/_lib/formatDistance/index.js":[91118,7,8592],"./ar/_lib/formatLong/index.js":[90899,7,8592,319],"./ar/_lib/formatRelative/index.js":[18739,7,8592],"./ar/_lib/localize/index.js":[64620,7,8592,9521],"./ar/_lib/match/index.js":[32101,7,8592,6574],"./ar/index.js":[91780,7,8592,7519],"./az/_lib/formatDistance/index.js":[2541,7,8592],"./az/_lib/formatLong/index.js":[6246,7,8592,1481],"./az/_lib/formatRelative/index.js":[33557,7,8592],"./az/_lib/localize/index.js":[89347,7,8592,38],"./az/_lib/match/index.js":[75242,7,8592,5991],"./az/index.js":[170,7,8592,6265],"./be-tarask/_lib/formatDistance/index.js":[82665,7,8592],"./be-tarask/_lib/formatLong/index.js":[9662,7,8592,5806],"./be-tarask/_lib/formatRelative/index.js":[4653,7,4,8592],"./be-tarask/_lib/localize/index.js":[40591,7,8592,1283],"./be-tarask/_lib/match/index.js":[34412,7,8592,9938],"./be-tarask/index.js":[27840,7,4,8592,7840],"./be/_lib/formatDistance/index.js":[9006,7,8592],"./be/_lib/formatLong/index.js":[58343,7,8592,193],"./be/_lib/formatRelative/index.js":[20369,7,4,8592],"./be/_lib/localize/index.js":[30768,7,8592,36],"./be/_lib/match/index.js":[35637,7,8592,7910],"./be/index.js":[94646,7,4,8592,4646],"./bg/_lib/formatDistance/index.js":[54037,7,8592],"./bg/_lib/formatLong/index.js":[44221,7,8592,8416],"./bg/_lib/formatRelative/index.js":[24925,7,8592,9491],"./bg/_lib/localize/index.js":[60958,7,8592,7265],"./bg/_lib/match/index.js":[99124,7,8592,4480],"./bg/index.js":[90948,7,8592,6516],"./bn/_lib/formatDistance/index.js":[5190,7,8592,9310],"./bn/_lib/formatLong/index.js":[10846,7,8592,6590],"./bn/_lib/formatRelative/index.js":[90009,7,8592],"./bn/_lib/localize/index.js":[32143,9,8592,6288],"./bn/_lib/match/index.js":[71701,7,8592,9531],"./bn/index.js":[76982,7,8592,1832],"./bs/_lib/formatDistance/index.js":[3504,7,8592],"./bs/_lib/formatLong/index.js":[47625,7,8592,8960],"./bs/_lib/formatRelative/index.js":[69642,7,8592],"./bs/_lib/localize/index.js":[19781,7,8592,5350],"./bs/_lib/match/index.js":[98469,7,8592,7403],"./bs/index.js":[21670,7,8592,6919],"./ca/_lib/formatDistance/index.js":[78470,7,8592],"./ca/_lib/formatLong/index.js":[37682,7,8592,1927],"./ca/_lib/formatRelative/index.js":[73019,7,8592],"./ca/_lib/localize/index.js":[94354,7,8592,6716],"./ca/_lib/match/index.js":[87821,7,8592,4111],"./ca/index.js":[59800,7,8592,2376],"./cs/_lib/formatDistance/index.js":[84712,7,8592],"./cs/_lib/formatLong/index.js":[25366,7,8592,3353],"./cs/_lib/formatRelative/index.js":[30404,7,8592],"./cs/_lib/localize/index.js":[1944,7,8592,7884],"./cs/_lib/match/index.js":[8302,7,8592,4925],"./cs/index.js":[27463,7,8592,9494],"./cy/_lib/formatDistance/index.js":[53860,7,8592],"./cy/_lib/formatLong/index.js":[5355,7,8592,6718],"./cy/_lib/formatRelative/index.js":[11612,7,8592],"./cy/_lib/localize/index.js":[79008,7,8592,6502],"./cy/_lib/match/index.js":[69946,7,8592,9797],"./cy/index.js":[87955,7,8592,7039],"./da/_lib/formatDistance/index.js":[32439,7,8592],"./da/_lib/formatLong/index.js":[40114,7,8592,8688],"./da/_lib/formatRelative/index.js":[33452,7,8592],"./da/_lib/localize/index.js":[22653,7,8592,2710],"./da/_lib/match/index.js":[1416,7,8592,7195],"./da/index.js":[11295,7,8592,2630],"./de-AT/_lib/localize/index.js":[44821,7,8592,8300],"./de-AT/index.js":[21782,7,8592,243],"./de/_lib/formatDistance/index.js":[98815,7,8592],"./de/_lib/formatLong/index.js":[47173,7,8592,4801],"./de/_lib/formatRelative/index.js":[5278,7,8592],"./de/_lib/localize/index.js":[54552,7,8592,6131],"./de/_lib/match/index.js":[31871,7,8592,5131],"./de/index.js":[94086,7,8592,9616],"./el/_lib/formatDistance/index.js":[39298,7,8592],"./el/_lib/formatLong/index.js":[94460,7,8592,2027],"./el/_lib/formatRelative/index.js":[72435,7,8592],"./el/_lib/localize/index.js":[674,7,8592,7538],"./el/_lib/match/index.js":[40588,7,8592,2187],"./el/index.js":[26106,7,8592,5382],"./en-AU/_lib/formatLong/index.js":[65493,7,8592,6237],"./en-AU/index.js":[87747,7,8592,1128],"./en-CA/_lib/formatDistance/index.js":[80780,7,8592],"./en-CA/_lib/formatLong/index.js":[26153,7,8592,7747],"./en-CA/index.js":[21413,7,8592,7555],"./en-GB/_lib/formatLong/index.js":[33819,7,8592,4547],"./en-GB/index.js":[33035,7,8592,1228],"./en-IE/index.js":[61959,7,8592,463],"./en-IN/_lib/formatLong/index.js":[20862,7,8592,3191],"./en-IN/index.js":[82873,7,8592,8757],"./en-NZ/_lib/formatLong/index.js":[36336,7,8592,3197],"./en-NZ/index.js":[26041,7,8592,5966],"./en-US/_lib/formatDistance/index.js":[39563,7,9563],"./en-US/_lib/formatLong/index.js":[66929,7,6929],"./en-US/_lib/formatRelative/index.js":[21656,7,1656],"./en-US/_lib/localize/index.js":[31098,7,9350],"./en-US/_lib/match/index.js":[53239,7,3239],"./en-US/index.js":[33338,7,3338],"./en-ZA/_lib/formatLong/index.js":[9221,7,8592,6951],"./en-ZA/index.js":[11543,7,8592,4093],"./eo/_lib/formatDistance/index.js":[43549,7,8592],"./eo/_lib/formatLong/index.js":[25567,7,8592,8118],"./eo/_lib/formatRelative/index.js":[30410,7,8592],"./eo/_lib/localize/index.js":[27249,7,8592,1634],"./eo/_lib/match/index.js":[75687,7,8592,8199],"./eo/index.js":[63574,7,8592,1411],"./es/_lib/formatDistance/index.js":[66660,7,8592],"./es/_lib/formatLong/index.js":[39055,7,8592,8248],"./es/_lib/formatRelative/index.js":[63774,7,8592],"./es/_lib/localize/index.js":[38835,7,8592,7568],"./es/_lib/match/index.js":[38662,7,8592,6331],"./es/index.js":[23413,7,8592,7412],"./et/_lib/formatDistance/index.js":[64334,7,8592],"./et/_lib/formatLong/index.js":[32045,7,8592,7372],"./et/_lib/formatRelative/index.js":[47074,7,8592],"./et/_lib/localize/index.js":[42462,7,8592,6778],"./et/_lib/match/index.js":[85999,7,8592,7670],"./et/index.js":[65861,7,8592,8138],"./eu/_lib/formatDistance/index.js":[91793,7,8592],"./eu/_lib/formatLong/index.js":[17350,7,8592,2069],"./eu/_lib/formatRelative/index.js":[25688,7,8592],"./eu/_lib/localize/index.js":[28061,7,8592,8759],"./eu/_lib/match/index.js":[11113,7,8592,7462],"./eu/index.js":[29618,7,8592,7969],"./fa-IR/_lib/formatDistance/index.js":[76726,7,8592],"./fa-IR/_lib/formatLong/index.js":[10749,7,8592,7612],"./fa-IR/_lib/formatRelative/index.js":[7220,7,8592],"./fa-IR/_lib/localize/index.js":[72441,7,8592,9371],"./fa-IR/_lib/match/index.js":[81488,7,8592,7743],"./fa-IR/index.js":[84996,7,8592,5974],"./fi/_lib/formatDistance/index.js":[97929,7,8592],"./fi/_lib/formatLong/index.js":[63741,7,8592,694],"./fi/_lib/formatRelative/index.js":[23234,7,8592],"./fi/_lib/localize/index.js":[5936,7,8592,1090],"./fi/_lib/match/index.js":[157,7,8592,5464],"./fi/index.js":[3596,7,8592,4420],"./fr-CA/_lib/formatLong/index.js":[85947,7,8592,4367],"./fr-CA/index.js":[73723,7,8592,1688],"./fr-CH/_lib/formatLong/index.js":[27414,7,8592,3603],"./fr-CH/_lib/formatRelative/index.js":[66155,7,8592],"./fr-CH/index.js":[24565,7,8592,4087],"./fr/_lib/formatDistance/index.js":[26839,7,8592],"./fr/_lib/formatLong/index.js":[32554,7,8592,7586],"./fr/_lib/formatRelative/index.js":[15328,7,8592],"./fr/_lib/localize/index.js":[29821,7,8592,6409],"./fr/_lib/match/index.js":[57047,7,8592,7405],"./fr/index.js":[34153,7,8592,5146],"./fy/_lib/formatDistance/index.js":[60373,7,8592],"./fy/_lib/formatLong/index.js":[97771,7,8592,7654],"./fy/_lib/formatRelative/index.js":[33851,7,8592],"./fy/_lib/localize/index.js":[86993,7,8592,6579],"./fy/_lib/match/index.js":[48603,7,8592,5284],"./fy/index.js":[73434,7,8592,7176],"./gd/_lib/formatDistance/index.js":[45690,7,8592],"./gd/_lib/formatLong/index.js":[2660,7,8592,2e3],"./gd/_lib/formatRelative/index.js":[30700,7,8592],"./gd/_lib/localize/index.js":[40751,7,8592,8987],"./gd/_lib/match/index.js":[40421,7,8592,8809],"./gd/index.js":[48569,7,8592,296],"./gl/_lib/formatDistance/index.js":[35871,7,8592],"./gl/_lib/formatLong/index.js":[30449,7,8592,359],"./gl/_lib/formatRelative/index.js":[95563,7,8592],"./gl/_lib/localize/index.js":[61905,7,8592,594],"./gl/_lib/match/index.js":[33150,7,8592,5012],"./gl/index.js":[96508,7,8592,4612],"./gu/_lib/formatDistance/index.js":[88210,7,8592],"./gu/_lib/formatLong/index.js":[63333,7,8592,7308],"./gu/_lib/formatRelative/index.js":[89348,7,8592],"./gu/_lib/localize/index.js":[50143,7,8592,6108],"./gu/_lib/match/index.js":[50932,7,8592,7091],"./gu/index.js":[75732,7,8592,6971],"./he/_lib/formatDistance/index.js":[42191,7,8592],"./he/_lib/formatLong/index.js":[13925,7,8592,7992],"./he/_lib/formatRelative/index.js":[11481,7,8592],"./he/_lib/localize/index.js":[19661,7,8592,5989],"./he/_lib/match/index.js":[41291,7,8592,5362],"./he/index.js":[86517,7,8592,340],"./hi/_lib/formatDistance/index.js":[52573,7,8592,9170],"./hi/_lib/formatLong/index.js":[30535,7,8592,9664],"./hi/_lib/formatRelative/index.js":[65379,7,8592],"./hi/_lib/localize/index.js":[35423,9,8592,383],"./hi/_lib/match/index.js":[78198,7,8592,652],"./hi/index.js":[29562,7,8592,2592],"./hr/_lib/formatDistance/index.js":[7652,7,8592],"./hr/_lib/formatLong/index.js":[29577,7,8592,6290],"./hr/_lib/formatRelative/index.js":[27603,7,8592],"./hr/_lib/localize/index.js":[12512,7,8592,5734],"./hr/_lib/match/index.js":[83880,7,8592,8808],"./hr/index.js":[41499,7,8592,9108],"./ht/_lib/formatDistance/index.js":[17743,7,8592],"./ht/_lib/formatLong/index.js":[50596,7,8592,1669],"./ht/_lib/formatRelative/index.js":[66473,7,8592],"./ht/_lib/localize/index.js":[98942,7,8592,5217],"./ht/_lib/match/index.js":[18649,7,8592,4042],"./ht/index.js":[91792,7,8592,6132],"./hu/_lib/formatDistance/index.js":[74406,7,8592],"./hu/_lib/formatLong/index.js":[53971,7,8592,7275],"./hu/_lib/formatRelative/index.js":[48580,7,8592],"./hu/_lib/localize/index.js":[6998,7,8592,8730],"./hu/_lib/match/index.js":[69897,7,8592,4330],"./hu/index.js":[85980,7,8592,7955],"./hy/_lib/formatDistance/index.js":[50897,7,8592],"./hy/_lib/formatLong/index.js":[11837,7,8592,1408],"./hy/_lib/formatRelative/index.js":[3543,7,8592],"./hy/_lib/localize/index.js":[90151,7,8592,81],"./hy/_lib/match/index.js":[97177,7,8592,4931],"./hy/index.js":[83268,7,8592,5803],"./id/_lib/formatDistance/index.js":[70846,7,8592],"./id/_lib/formatLong/index.js":[53405,7,8592,7106],"./id/_lib/formatRelative/index.js":[97180,7,8592],"./id/_lib/localize/index.js":[35645,7,8592,4320],"./id/_lib/match/index.js":[87601,7,8592,3434],"./id/index.js":[90146,7,8592,3963],"./is/_lib/formatDistance/index.js":[2370,7,8592],"./is/_lib/formatLong/index.js":[74096,7,8592,1427],"./is/_lib/formatRelative/index.js":[42141,7,8592],"./is/_lib/localize/index.js":[12161,7,8592,5221],"./is/_lib/match/index.js":[20798,7,8592,4321],"./is/index.js":[84111,7,8592,5121],"./it-CH/_lib/formatLong/index.js":[31519,7,8592,6685],"./it-CH/index.js":[87736,7,8592,2324],"./it/_lib/formatDistance/index.js":[40358,7,8592],"./it/_lib/formatLong/index.js":[29588,7,8592,7173],"./it/_lib/formatRelative/index.js":[91403,7,8592,5096],"./it/_lib/localize/index.js":[62007,7,8592,5232],"./it/_lib/match/index.js":[94070,7,8592,4604],"./it/index.js":[93722,7,8592,6815],"./ja-Hira/_lib/formatDistance/index.js":[84703,7,8592],"./ja-Hira/_lib/formatLong/index.js":[56574,7,8592,7336],"./ja-Hira/_lib/formatRelative/index.js":[93381,7,8592],"./ja-Hira/_lib/localize/index.js":[35710,7,8592,3665],"./ja-Hira/_lib/match/index.js":[69417,7,8592,3148],"./ja-Hira/index.js":[12944,7,8592,1464],"./ja/_lib/formatDistance/index.js":[68018,7,8592],"./ja/_lib/formatLong/index.js":[45602,7,8592,1264],"./ja/_lib/formatRelative/index.js":[65297,7,8592],"./ja/_lib/localize/index.js":[77420,7,8592,800],"./ja/_lib/match/index.js":[83926,7,8592,4403],"./ja/index.js":[89251,7,8592,6422],"./ka/_lib/formatDistance/index.js":[39442,7,8592],"./ka/_lib/formatLong/index.js":[960,7,8592,6634],"./ka/_lib/formatRelative/index.js":[18861,7,8592],"./ka/_lib/localize/index.js":[85798,7,8592,599],"./ka/_lib/match/index.js":[55077,7,8592,3545],"./ka/index.js":[34010,7,8592,1289],"./kk/_lib/formatDistance/index.js":[44502,7,8592],"./kk/_lib/formatLong/index.js":[79591,7,8592,1473],"./kk/_lib/formatRelative/index.js":[80876,7,8592,1098],"./kk/_lib/localize/index.js":[16163,7,8592,9023],"./kk/_lib/match/index.js":[11079,7,8592,1038],"./kk/index.js":[61615,7,8592,9444],"./km/_lib/formatDistance/index.js":[69355,7,8592],"./km/_lib/formatLong/index.js":[64335,7,8592,5713],"./km/_lib/formatRelative/index.js":[68462,7,8592],"./km/_lib/localize/index.js":[32885,7,8592,5727],"./km/_lib/match/index.js":[49242,7,8592,3286],"./km/index.js":[98510,7,8592,2044],"./kn/_lib/formatDistance/index.js":[93557,7,8592],"./kn/_lib/formatLong/index.js":[19335,7,8592,2367],"./kn/_lib/formatRelative/index.js":[19080,7,8592],"./kn/_lib/localize/index.js":[83848,7,8592,61],"./kn/_lib/match/index.js":[36809,7,8592,4054],"./kn/index.js":[99517,7,8592,1417],"./ko/_lib/formatDistance/index.js":[21540,7,8592],"./ko/_lib/formatLong/index.js":[47237,7,8592,5780],"./ko/_lib/formatRelative/index.js":[91078,7,8592],"./ko/_lib/localize/index.js":[89409,7,8592,1075],"./ko/_lib/match/index.js":[38567,7,8592,9545],"./ko/index.js":[15058,7,8592,404],"./lb/_lib/formatDistance/index.js":[81904,7,8592],"./lb/_lib/formatLong/index.js":[53103,7,8592,5735],"./lb/_lib/formatRelative/index.js":[64861,7,8592],"./lb/_lib/localize/index.js":[13317,7,8592,8947],"./lb/_lib/match/index.js":[72652,7,8592,6123],"./lb/index.js":[61953,7,8592,9937],"./lt/_lib/formatDistance/index.js":[55348,7,8592],"./lt/_lib/formatLong/index.js":[18290,7,8592,5214],"./lt/_lib/formatRelative/index.js":[53257,7,8592],"./lt/_lib/localize/index.js":[62395,7,8592,6006],"./lt/_lib/match/index.js":[5825,7,8592,8766],"./lt/index.js":[35901,7,8592,1422],"./lv/_lib/formatDistance/index.js":[28910,7,8592],"./lv/_lib/formatLong/index.js":[86421,7,8592,2624],"./lv/_lib/formatRelative/index.js":[60151,7,8592,3746],"./lv/_lib/localize/index.js":[44960,7,8592,406],"./lv/_lib/match/index.js":[4876,7,8592,4139],"./lv/index.js":[82008,7,8592,2537],"./mk/_lib/formatDistance/index.js":[38992,7,8592],"./mk/_lib/formatLong/index.js":[7479,7,8592,6156],"./mk/_lib/formatRelative/index.js":[41655,7,8592,903],"./mk/_lib/localize/index.js":[23458,7,8592,4893],"./mk/_lib/match/index.js":[82975,7,8592,9858],"./mk/index.js":[21880,7,8592,2683],"./mn/_lib/formatDistance/index.js":[61341,7,8592],"./mn/_lib/formatLong/index.js":[19732,7,8592,5992],"./mn/_lib/formatRelative/index.js":[98225,7,8592],"./mn/_lib/localize/index.js":[89576,7,8592,4261],"./mn/_lib/match/index.js":[33306,7,8592,5055],"./mn/index.js":[31937,7,8592,4446],"./ms/_lib/formatDistance/index.js":[97808,7,8592],"./ms/_lib/formatLong/index.js":[61962,7,8592,6623],"./ms/_lib/formatRelative/index.js":[68530,7,8592],"./ms/_lib/localize/index.js":[13241,7,8592,3368],"./ms/_lib/match/index.js":[67079,7,8592,9302],"./ms/index.js":[25098,7,8592,5705],"./mt/_lib/formatDistance/index.js":[14611,7,8592],"./mt/_lib/formatLong/index.js":[65011,7,8592,1161],"./mt/_lib/formatRelative/index.js":[44521,7,8592],"./mt/_lib/localize/index.js":[69408,7,8592,6433],"./mt/_lib/match/index.js":[29726,7,8592,4216],"./mt/index.js":[12811,7,8592,1911],"./nb/_lib/formatDistance/index.js":[59968,7,8592],"./nb/_lib/formatLong/index.js":[20511,7,8592,5168],"./nb/_lib/formatRelative/index.js":[11639,7,8592],"./nb/_lib/localize/index.js":[94249,7,8592,4378],"./nb/_lib/match/index.js":[63498,7,8592,9691],"./nb/index.js":[61295,7,8592,2392],"./nl-BE/_lib/formatDistance/index.js":[16129,7,8592],"./nl-BE/_lib/formatLong/index.js":[17657,7,8592,3039],"./nl-BE/_lib/formatRelative/index.js":[89811,7,8592],"./nl-BE/_lib/localize/index.js":[58816,7,8592,1681],"./nl-BE/_lib/match/index.js":[28333,7,8592,2237],"./nl-BE/index.js":[70296,7,8592,4862],"./nl/_lib/formatDistance/index.js":[57117,7,8592],"./nl/_lib/formatLong/index.js":[57197,7,8592,2377],"./nl/_lib/formatRelative/index.js":[62818,7,8592],"./nl/_lib/localize/index.js":[67706,7,8592,3283],"./nl/_lib/match/index.js":[61430,7,8592,9229],"./nl/index.js":[80775,7,8592,9354],"./nn/_lib/formatDistance/index.js":[4563,7,8592],"./nn/_lib/formatLong/index.js":[89212,7,8592,169],"./nn/_lib/formatRelative/index.js":[2565,7,8592],"./nn/_lib/localize/index.js":[28456,7,8592,4340],"./nn/_lib/match/index.js":[51571,7,8592,9185],"./nn/index.js":[34632,7,8592,7506],"./oc/_lib/formatDistance/index.js":[16585,7,8592],"./oc/_lib/formatLong/index.js":[96725,7,8592,415],"./oc/_lib/formatRelative/index.js":[7548,7,8592],"./oc/_lib/localize/index.js":[93417,7,8592,5746],"./oc/_lib/match/index.js":[18145,7,8592,7829],"./oc/index.js":[68311,7,8592,7250],"./pl/_lib/formatDistance/index.js":[62056,7,8592],"./pl/_lib/formatLong/index.js":[47448,7,8592,5539],"./pl/_lib/formatRelative/index.js":[65991,7,8592,6160],"./pl/_lib/localize/index.js":[4306,7,8592,3498],"./pl/_lib/match/index.js":[76075,7,8592,7768],"./pl/index.js":[8554,7,8592,9134],"./pt-BR/_lib/formatDistance/index.js":[52638,7,8592],"./pt-BR/_lib/formatLong/index.js":[33247,7,8592,4753],"./pt-BR/_lib/formatRelative/index.js":[25492,7,8592],"./pt-BR/_lib/localize/index.js":[81046,7,8592,2258],"./pt-BR/_lib/match/index.js":[63770,7,8592,9792],"./pt-BR/index.js":[47569,7,8592,1100],"./pt/_lib/formatDistance/index.js":[55488,7,8592],"./pt/_lib/formatLong/index.js":[5133,7,8592,2741],"./pt/_lib/formatRelative/index.js":[7493,7,8592],"./pt/_lib/localize/index.js":[58360,7,8592,3713],"./pt/_lib/match/index.js":[37200,7,8592,7033],"./pt/index.js":[24239,7,8592,3530],"./ro/_lib/formatDistance/index.js":[18199,7,8592],"./ro/_lib/formatLong/index.js":[84311,7,8592,173],"./ro/_lib/formatRelative/index.js":[97974,7,8592],"./ro/_lib/localize/index.js":[64729,7,8592,470],"./ro/_lib/match/index.js":[9202,7,8592,9975],"./ro/index.js":[51055,7,8592,5563],"./ru/_lib/formatDistance/index.js":[90650,7,8592],"./ru/_lib/formatLong/index.js":[12580,7,8592,9390],"./ru/_lib/formatRelative/index.js":[15994,7,8592,1338],"./ru/_lib/localize/index.js":[66943,7,8592,6325],"./ru/_lib/match/index.js":[86374,7,8592,7339],"./ru/index.js":[27413,7,8592,9896],"./sk/_lib/formatDistance/index.js":[32882,7,8592],"./sk/_lib/formatLong/index.js":[95087,7,8592,6050],"./sk/_lib/formatRelative/index.js":[35507,7,8592,3951],"./sk/_lib/localize/index.js":[37369,7,8592,3264],"./sk/_lib/match/index.js":[74329,7,8592,9460],"./sk/index.js":[17065,7,8592,5064],"./sl/_lib/formatDistance/index.js":[57613,7,8592],"./sl/_lib/formatLong/index.js":[66302,7,8592,2857],"./sl/_lib/formatRelative/index.js":[92131,7,8592],"./sl/_lib/localize/index.js":[2942,7,8592,6363],"./sl/_lib/match/index.js":[36326,7,8592,7341],"./sl/index.js":[62166,7,8592,2157],"./sq/_lib/formatDistance/index.js":[82569,7,8592],"./sq/_lib/formatLong/index.js":[32784,7,8592,314],"./sq/_lib/formatRelative/index.js":[44390,7,8592],"./sq/_lib/localize/index.js":[26425,7,8592,9930],"./sq/_lib/match/index.js":[72140,7,8592,1445],"./sq/index.js":[70797,7,8592,8556],"./sr-Latn/_lib/formatDistance/index.js":[69014,7,8592],"./sr-Latn/_lib/formatLong/index.js":[99257,7,8592,275],"./sr-Latn/_lib/formatRelative/index.js":[42428,7,8592],"./sr-Latn/_lib/localize/index.js":[92773,7,8592,7136],"./sr-Latn/_lib/match/index.js":[7766,7,8592,3177],"./sr-Latn/index.js":[99064,7,8592,2152],"./sr/_lib/formatDistance/index.js":[55503,7,8592],"./sr/_lib/formatLong/index.js":[13465,7,8592,232],"./sr/_lib/formatRelative/index.js":[25743,7,8592],"./sr/_lib/localize/index.js":[30172,7,8592,5864],"./sr/_lib/match/index.js":[81613,7,8592,7316],"./sr/index.js":[15930,7,8592,5831],"./sv/_lib/formatDistance/index.js":[81387,7,8592],"./sv/_lib/formatLong/index.js":[20660,7,8592,5204],"./sv/_lib/formatRelative/index.js":[43502,7,8592],"./sv/_lib/localize/index.js":[32384,7,8592,4345],"./sv/_lib/match/index.js":[69940,7,8592,7105],"./sv/index.js":[81413,7,8592,5396],"./ta/_lib/formatDistance/index.js":[66840,7,8592],"./ta/_lib/formatLong/index.js":[49391,7,8592,5892],"./ta/_lib/formatRelative/index.js":[99284,7,8592],"./ta/_lib/localize/index.js":[61290,7,8592,6239],"./ta/_lib/match/index.js":[33749,7,8592,4720],"./ta/index.js":[21486,7,8592,7983],"./te/_lib/formatDistance/index.js":[38,7,8592],"./te/_lib/formatLong/index.js":[34703,7,8592,4094],"./te/_lib/formatRelative/index.js":[46611,7,8592],"./te/_lib/localize/index.js":[86184,7,8592,118],"./te/_lib/match/index.js":[17208,7,8592,7193],"./te/index.js":[52492,7,8592,7183],"./th/_lib/formatDistance/index.js":[32939,7,8592],"./th/_lib/formatLong/index.js":[96146,7,8592,8475],"./th/_lib/formatRelative/index.js":[97294,7,8592],"./th/_lib/localize/index.js":[44204,7,8592,6203],"./th/_lib/match/index.js":[59829,7,8592,2626],"./th/index.js":[74785,7,8592,4008],"./tr/_lib/formatDistance/index.js":[77216,7,8592],"./tr/_lib/formatLong/index.js":[68379,7,8592,5102],"./tr/_lib/formatRelative/index.js":[93999,7,8592],"./tr/_lib/localize/index.js":[8830,7,8592,7157],"./tr/_lib/match/index.js":[58828,7,8592,3128],"./tr/index.js":[63131,7,8592,8302],"./ug/_lib/formatDistance/index.js":[69442,7,8592],"./ug/_lib/formatLong/index.js":[36922,7,8592,5002],"./ug/_lib/formatRelative/index.js":[20290,7,8592],"./ug/_lib/localize/index.js":[82490,7,8592,6604],"./ug/_lib/match/index.js":[85282,7,8592,8004],"./ug/index.js":[60182,7,8592,6934],"./uk/_lib/formatDistance/index.js":[10017,7,8592],"./uk/_lib/formatLong/index.js":[26136,7,8592,8806],"./uk/_lib/formatRelative/index.js":[88271,7,4,8592],"./uk/_lib/localize/index.js":[10954,7,8592,1193],"./uk/_lib/match/index.js":[71680,7,8592,6954],"./uk/index.js":[12509,7,4,8592,2509],"./uz-Cyrl/_lib/formatDistance/index.js":[67778,7,8592],"./uz-Cyrl/_lib/formatLong/index.js":[64095,7,8592,160],"./uz-Cyrl/_lib/formatRelative/index.js":[83734,7,8592],"./uz-Cyrl/_lib/localize/index.js":[17670,7,8592,2654],"./uz-Cyrl/_lib/match/index.js":[75798,7,8592,1360],"./uz-Cyrl/index.js":[14527,7,8592,8932],"./uz/_lib/formatDistance/index.js":[27197,7,8592],"./uz/_lib/formatLong/index.js":[27810,7,8592,4328],"./uz/_lib/formatRelative/index.js":[22175,7,8592],"./uz/_lib/localize/index.js":[6881,7,8592,6425],"./uz/_lib/match/index.js":[19263,7,8592,2880],"./uz/index.js":[44203,7,8592,6896],"./vi/_lib/formatDistance/index.js":[61664,7,8592],"./vi/_lib/formatLong/index.js":[42296,7,8592,3405],"./vi/_lib/formatRelative/index.js":[55191,7,8592],"./vi/_lib/localize/index.js":[67431,7,8592,5843],"./vi/_lib/match/index.js":[98442,7,8592,3319],"./vi/index.js":[48875,7,8592,6677],"./zh-CN/_lib/formatDistance/index.js":[33437,7,8592],"./zh-CN/_lib/formatLong/index.js":[91583,7,8592,485],"./zh-CN/_lib/formatRelative/index.js":[95629,7,8592,5441],"./zh-CN/_lib/localize/index.js":[17939,7,8592,9169],"./zh-CN/_lib/match/index.js":[71362,7,8592,7103],"./zh-CN/index.js":[86335,7,8592,8664],"./zh-HK/_lib/formatDistance/index.js":[37348,7,8592],"./zh-HK/_lib/formatLong/index.js":[60924,7,8592,3215],"./zh-HK/_lib/formatRelative/index.js":[22164,7,8592],"./zh-HK/_lib/localize/index.js":[39264,7,8592,1780],"./zh-HK/_lib/match/index.js":[50358,7,8592,5641],"./zh-HK/index.js":[59277,7,8592,2336],"./zh-TW/_lib/formatDistance/index.js":[31613,7,8592],"./zh-TW/_lib/formatLong/index.js":[1239,7,8592,248],"./zh-TW/_lib/formatRelative/index.js":[13240,7,8592],"./zh-TW/_lib/localize/index.js":[29850,7,8592,9886],"./zh-TW/_lib/match/index.js":[38819,7,8592,8041],"./zh-TW/index.js":[74565,7,8592,8978]};function qt(Le){if(!In.o(rt,Le))return Promise.resolve().then(()=>{var Kt=new Error("Cannot find module '"+Le+"'");throw Kt.code="MODULE_NOT_FOUND",Kt});var bt=rt[Le],Kn=bt[0];return Promise.all(bt.slice(2).map(In.e)).then(()=>In.t(Kn,16|bt[1]))}qt.keys=()=>Object.keys(rt),qt.id=71213,mi.exports=qt}},mi=>{mi(mi.s=44579)}]); \ No newline at end of file +var runtime=function(c){"use strict";var l,M=Object.prototype,p=M.hasOwnProperty,w=Object.defineProperty||function(r,t,e){r[t]=e.value},O="function"==typeof Symbol?Symbol:{},L=O.iterator||"@@iterator",z=O.asyncIterator||"@@asyncIterator",_=O.toStringTag||"@@toStringTag";function v(r,t,e){return Object.defineProperty(r,t,{value:e,enumerable:!0,configurable:!0,writable:!0}),r[t]}try{v({},"")}catch{v=function(t,e,o){return t[e]=o}}function R(r,t,e,o){var i=Object.create((t&&t.prototype instanceof j?t:j).prototype),a=new I(o||[]);return w(i,"_invoke",{value:H(r,e,a)}),i}function k(r,t,e){try{return{type:"normal",arg:r.call(t,e)}}catch(o){return{type:"throw",arg:o}}}c.wrap=R;var Y="suspendedStart",q="executing",b="completed",s={};function j(){}function S(){}function d(){}var N={};v(N,L,function(){return this});var T=Object.getPrototypeOf,E=T&&T(T(A([])));E&&E!==M&&p.call(E,L)&&(N=E);var g=d.prototype=j.prototype=Object.create(N);function D(r){["next","throw","return"].forEach(function(t){v(r,t,function(e){return this._invoke(t,e)})})}function G(r,t){function e(i,a,u,h){var f=k(r[i],r,a);if("throw"!==f.type){var C=f.arg,m=C.value;return m&&"object"==typeof m&&p.call(m,"__await")?t.resolve(m.__await).then(function(y){e("next",y,u,h)},function(y){e("throw",y,u,h)}):t.resolve(m).then(function(y){C.value=y,u(C)},function(y){return e("throw",y,u,h)})}h(f.arg)}var o;w(this,"_invoke",{value:function n(i,a){function u(){return new t(function(h,f){e(i,a,h,f)})}return o=o?o.then(u,u):u()}})}function H(r,t,e){var o=Y;return function(i,a){if(o===q)throw new Error("Generator is already running");if(o===b){if("throw"===i)throw a;return $()}for(e.method=i,e.arg=a;;){var u=e.delegate;if(u){var h=W(u,e);if(h){if(h===s)continue;return h}}if("next"===e.method)e.sent=e._sent=e.arg;else if("throw"===e.method){if(o===Y)throw o=b,e.arg;e.dispatchException(e.arg)}else"return"===e.method&&e.abrupt("return",e.arg);o=q;var f=k(r,t,e);if("normal"===f.type){if(o=e.done?b:"suspendedYield",f.arg===s)continue;return{value:f.arg,done:e.done}}"throw"===f.type&&(o=b,e.method="throw",e.arg=f.arg)}}}function W(r,t){var e=t.method,o=r.iterator[e];if(o===l)return t.delegate=null,"throw"===e&&r.iterator.return&&(t.method="return",t.arg=l,W(r,t),"throw"===t.method)||"return"!==e&&(t.method="throw",t.arg=new TypeError("The iterator does not provide a '"+e+"' method")),s;var n=k(o,r.iterator,t.arg);if("throw"===n.type)return t.method="throw",t.arg=n.arg,t.delegate=null,s;var i=n.arg;return i?i.done?(t[r.resultName]=i.value,t.next=r.nextLoc,"return"!==t.method&&(t.method="next",t.arg=l),t.delegate=null,s):i:(t.method="throw",t.arg=new TypeError("iterator result is not an object"),t.delegate=null,s)}function J(r){var t={tryLoc:r[0]};1 in r&&(t.catchLoc=r[1]),2 in r&&(t.finallyLoc=r[2],t.afterLoc=r[3]),this.tryEntries.push(t)}function P(r){var t=r.completion||{};t.type="normal",delete t.arg,r.completion=t}function I(r){this.tryEntries=[{tryLoc:"root"}],r.forEach(J,this),this.reset(!0)}function A(r){if(r){var t=r[L];if(t)return t.call(r);if("function"==typeof r.next)return r;if(!isNaN(r.length)){var e=-1,o=function n(){for(;++e=0;--o){var n=this.tryEntries[o],i=n.completion;if("root"===n.tryLoc)return e("end");if(n.tryLoc<=this.prev){var a=p.call(n,"catchLoc"),u=p.call(n,"finallyLoc");if(a&&u){if(this.prev=0;--e){var o=this.tryEntries[e];if(o.tryLoc<=this.prev&&p.call(o,"finallyLoc")&&this.prev=0;--t){var e=this.tryEntries[t];if(e.finallyLoc===r)return this.complete(e.completion,e.afterLoc),P(e),s}},catch:function(r){for(var t=this.tryEntries.length-1;t>=0;--t){var e=this.tryEntries[t];if(e.tryLoc===r){var o=e.completion;if("throw"===o.type){var n=o.arg;P(e)}return n}}throw new Error("illegal catch attempt")},delegateYield:function(r,t,e){return this.delegate={iterator:A(r),resultName:t,nextLoc:e},"next"===this.method&&(this.arg=l),s}},c}("object"==typeof module?module.exports:{});try{regeneratorRuntime=runtime}catch{"object"==typeof globalThis?globalThis.regeneratorRuntime=runtime:Function("r","regeneratorRuntime = r")(runtime)}(()=>{"use strict";var e,m={},_={};function r(e){var i=_[e];if(void 0!==i)return i.exports;var t=_[e]={exports:{}};return m[e](t,t.exports,r),t.exports}r.m=m,e=[],r.O=(i,t,a,f)=>{if(!t){var n=1/0;for(o=0;o=f)&&Object.keys(r.O).every(b=>r.O[b](t[u]))?t.splice(u--,1):(s=!1,f0&&e[o-1][2]>f;o--)e[o]=e[o-1];e[o]=[t,a,f]},(()=>{var i,e=Object.getPrototypeOf?t=>Object.getPrototypeOf(t):t=>t.__proto__;r.t=function(t,a){if(1&a&&(t=this(t)),8&a||"object"==typeof t&&t&&(4&a&&t.__esModule||16&a&&"function"==typeof t.then))return t;var f=Object.create(null);r.r(f);var o={};i=i||[null,e({}),e([]),e(e)];for(var n=2&a&&t;"object"==typeof n&&!~i.indexOf(n);n=e(n))Object.getOwnPropertyNames(n).forEach(s=>o[s]=()=>t[s]);return o.default=()=>t,r.d(f,o),f}})(),r.d=(e,i)=>{for(var t in i)r.o(i,t)&&!r.o(e,t)&&Object.defineProperty(e,t,{enumerable:!0,get:i[t]})},r.f={},r.e=e=>Promise.all(Object.keys(r.f).reduce((i,t)=>(r.f[t](e,i),i),[])),r.u=e=>(8592===e?"common":e)+".js",r.miniCssF=e=>{},r.o=(e,i)=>Object.prototype.hasOwnProperty.call(e,i),(()=>{var e={},i="contenttype-fields-builder:";r.l=(t,a,f,o)=>{if(e[t])e[t].push(a);else{var n,s;if(void 0!==f)for(var u=document.getElementsByTagName("script"),l=0;l{n.onerror=n.onload=null,clearTimeout(p);var y=e[t];if(delete e[t],n.parentNode&&n.parentNode.removeChild(n),y&&y.forEach(g=>g(b)),v)return v(b)},p=setTimeout(c.bind(null,void 0,{type:"timeout",target:n}),12e4);n.onerror=c.bind(null,n.onerror),n.onload=c.bind(null,n.onload),s&&document.head.appendChild(n)}}})(),r.r=e=>{typeof Symbol<"u"&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},(()=>{var e;r.tt=()=>(void 0===e&&(e={createScriptURL:i=>i},typeof trustedTypes<"u"&&trustedTypes.createPolicy&&(e=trustedTypes.createPolicy("angular#bundler",e))),e)})(),r.tu=e=>r.tt().createScriptURL(e),r.p="",(()=>{var e={3666:0};r.f.j=(a,f)=>{var o=r.o(e,a)?e[a]:void 0;if(0!==o)if(o)f.push(o[2]);else if(3666!=a){var n=new Promise((d,c)=>o=e[a]=[d,c]);f.push(o[2]=n);var s=r.p+r.u(a),u=new Error;r.l(s,d=>{if(r.o(e,a)&&(0!==(o=e[a])&&(e[a]=void 0),o)){var c=d&&("load"===d.type?"missing":d.type),p=d&&d.target&&d.target.src;u.message="Loading chunk "+a+" failed.\n("+c+": "+p+")",u.name="ChunkLoadError",u.type=c,u.request=p,o[1](u)}},"chunk-"+a,a)}else e[a]=0},r.O.j=a=>0===e[a];var i=(a,f)=>{var u,l,[o,n,s]=f,d=0;if(o.some(p=>0!==e[p])){for(u in n)r.o(n,u)&&(r.m[u]=n[u]);if(s)var c=s(r)}for(a&&a(f);d{!function(e){const n=e.performance;function i(I){n&&n.mark&&n.mark(I)}function r(I,_){n&&n.measure&&n.measure(I,_)}i("Zone");const c=e.__Zone_symbol_prefix||"__zone_symbol__";function u(I){return c+I}const f=!0===e[u("forceDuplicateZoneCheck")];if(e.Zone){if(f||"function"!=typeof e.Zone.__symbol__)throw new Error("Zone already loaded.");return e.Zone}let p=(()=>{class I{constructor(t,o){this._parent=t,this._name=o?o.name||"unnamed":"",this._properties=o&&o.properties||{},this._zoneDelegate=new T(this,this._parent&&this._parent._zoneDelegate,o)}static assertZonePatched(){if(e.Promise!==K.ZoneAwarePromise)throw new Error("Zone.js has detected that ZoneAwarePromise `(window|global).Promise` has been overwritten.\nMost likely cause is that a Promise polyfill has been loaded after Zone.js (Polyfilling Promise api is not necessary when zone.js is loaded. If you must load one, do so before loading zone.js.)")}static get root(){let t=I.current;for(;t.parent;)t=t.parent;return t}static get current(){return G.zone}static get currentTask(){return te}static __load_patch(t,o,y=!1){if(K.hasOwnProperty(t)){if(!y&&f)throw Error("Already loaded patch: "+t)}else if(!e["__Zone_disable_"+t]){const P="Zone:"+t;i(P),K[t]=o(e,I,le),r(P,P)}}get parent(){return this._parent}get name(){return this._name}get(t){const o=this.getZoneWith(t);if(o)return o._properties[t]}getZoneWith(t){let o=this;for(;o;){if(o._properties.hasOwnProperty(t))return o;o=o._parent}return null}fork(t){if(!t)throw new Error("ZoneSpec required!");return this._zoneDelegate.fork(this,t)}wrap(t,o){if("function"!=typeof t)throw new Error("Expecting function got: "+t);const y=this._zoneDelegate.intercept(this,t,o),P=this;return function(){return P.runGuarded(y,this,arguments,o)}}run(t,o,y,P){G={parent:G,zone:this};try{return this._zoneDelegate.invoke(this,t,o,y,P)}finally{G=G.parent}}runGuarded(t,o=null,y,P){G={parent:G,zone:this};try{try{return this._zoneDelegate.invoke(this,t,o,y,P)}catch(J){if(this._zoneDelegate.handleError(this,J))throw J}}finally{G=G.parent}}runTask(t,o,y){if(t.zone!=this)throw new Error("A task can only be run in the zone of creation! (Creation: "+(t.zone||z).name+"; Execution: "+this.name+")");if(t.state===H&&(t.type===R||t.type===M))return;const P=t.state!=X;P&&t._transitionTo(X,Z),t.runCount++;const J=te;te=t,G={parent:G,zone:this};try{t.type==M&&t.data&&!t.data.isPeriodic&&(t.cancelFn=void 0);try{return this._zoneDelegate.invokeTask(this,t,o,y)}catch(l){if(this._zoneDelegate.handleError(this,l))throw l}}finally{t.state!==H&&t.state!==Y&&(t.type==R||t.data&&t.data.isPeriodic?P&&t._transitionTo(Z,X):(t.runCount=0,this._updateTaskCount(t,-1),P&&t._transitionTo(H,X,H))),G=G.parent,te=J}}scheduleTask(t){if(t.zone&&t.zone!==this){let y=this;for(;y;){if(y===t.zone)throw Error(`can not reschedule task to ${this.name} which is descendants of the original zone ${t.zone.name}`);y=y.parent}}t._transitionTo(W,H);const o=[];t._zoneDelegates=o,t._zone=this;try{t=this._zoneDelegate.scheduleTask(this,t)}catch(y){throw t._transitionTo(Y,W,H),this._zoneDelegate.handleError(this,y),y}return t._zoneDelegates===o&&this._updateTaskCount(t,1),t.state==W&&t._transitionTo(Z,W),t}scheduleMicroTask(t,o,y,P){return this.scheduleTask(new m(v,t,o,y,P,void 0))}scheduleMacroTask(t,o,y,P,J){return this.scheduleTask(new m(M,t,o,y,P,J))}scheduleEventTask(t,o,y,P,J){return this.scheduleTask(new m(R,t,o,y,P,J))}cancelTask(t){if(t.zone!=this)throw new Error("A task can only be cancelled in the zone of creation! (Creation: "+(t.zone||z).name+"; Execution: "+this.name+")");t._transitionTo(A,Z,X);try{this._zoneDelegate.cancelTask(this,t)}catch(o){throw t._transitionTo(Y,A),this._zoneDelegate.handleError(this,o),o}return this._updateTaskCount(t,-1),t._transitionTo(H,A),t.runCount=0,t}_updateTaskCount(t,o){const y=t._zoneDelegates;-1==o&&(t._zoneDelegates=null);for(let P=0;PI.hasTask(t,o),onScheduleTask:(I,_,t,o)=>I.scheduleTask(t,o),onInvokeTask:(I,_,t,o,y,P)=>I.invokeTask(t,o,y,P),onCancelTask:(I,_,t,o)=>I.cancelTask(t,o)};class T{constructor(_,t,o){this._taskCounts={microTask:0,macroTask:0,eventTask:0},this.zone=_,this._parentDelegate=t,this._forkZS=o&&(o&&o.onFork?o:t._forkZS),this._forkDlgt=o&&(o.onFork?t:t._forkDlgt),this._forkCurrZone=o&&(o.onFork?this.zone:t._forkCurrZone),this._interceptZS=o&&(o.onIntercept?o:t._interceptZS),this._interceptDlgt=o&&(o.onIntercept?t:t._interceptDlgt),this._interceptCurrZone=o&&(o.onIntercept?this.zone:t._interceptCurrZone),this._invokeZS=o&&(o.onInvoke?o:t._invokeZS),this._invokeDlgt=o&&(o.onInvoke?t:t._invokeDlgt),this._invokeCurrZone=o&&(o.onInvoke?this.zone:t._invokeCurrZone),this._handleErrorZS=o&&(o.onHandleError?o:t._handleErrorZS),this._handleErrorDlgt=o&&(o.onHandleError?t:t._handleErrorDlgt),this._handleErrorCurrZone=o&&(o.onHandleError?this.zone:t._handleErrorCurrZone),this._scheduleTaskZS=o&&(o.onScheduleTask?o:t._scheduleTaskZS),this._scheduleTaskDlgt=o&&(o.onScheduleTask?t:t._scheduleTaskDlgt),this._scheduleTaskCurrZone=o&&(o.onScheduleTask?this.zone:t._scheduleTaskCurrZone),this._invokeTaskZS=o&&(o.onInvokeTask?o:t._invokeTaskZS),this._invokeTaskDlgt=o&&(o.onInvokeTask?t:t._invokeTaskDlgt),this._invokeTaskCurrZone=o&&(o.onInvokeTask?this.zone:t._invokeTaskCurrZone),this._cancelTaskZS=o&&(o.onCancelTask?o:t._cancelTaskZS),this._cancelTaskDlgt=o&&(o.onCancelTask?t:t._cancelTaskDlgt),this._cancelTaskCurrZone=o&&(o.onCancelTask?this.zone:t._cancelTaskCurrZone),this._hasTaskZS=null,this._hasTaskDlgt=null,this._hasTaskDlgtOwner=null,this._hasTaskCurrZone=null;const y=o&&o.onHasTask;(y||t&&t._hasTaskZS)&&(this._hasTaskZS=y?o:g,this._hasTaskDlgt=t,this._hasTaskDlgtOwner=this,this._hasTaskCurrZone=_,o.onScheduleTask||(this._scheduleTaskZS=g,this._scheduleTaskDlgt=t,this._scheduleTaskCurrZone=this.zone),o.onInvokeTask||(this._invokeTaskZS=g,this._invokeTaskDlgt=t,this._invokeTaskCurrZone=this.zone),o.onCancelTask||(this._cancelTaskZS=g,this._cancelTaskDlgt=t,this._cancelTaskCurrZone=this.zone))}fork(_,t){return this._forkZS?this._forkZS.onFork(this._forkDlgt,this.zone,_,t):new p(_,t)}intercept(_,t,o){return this._interceptZS?this._interceptZS.onIntercept(this._interceptDlgt,this._interceptCurrZone,_,t,o):t}invoke(_,t,o,y,P){return this._invokeZS?this._invokeZS.onInvoke(this._invokeDlgt,this._invokeCurrZone,_,t,o,y,P):t.apply(o,y)}handleError(_,t){return!this._handleErrorZS||this._handleErrorZS.onHandleError(this._handleErrorDlgt,this._handleErrorCurrZone,_,t)}scheduleTask(_,t){let o=t;if(this._scheduleTaskZS)this._hasTaskZS&&o._zoneDelegates.push(this._hasTaskDlgtOwner),o=this._scheduleTaskZS.onScheduleTask(this._scheduleTaskDlgt,this._scheduleTaskCurrZone,_,t),o||(o=t);else if(t.scheduleFn)t.scheduleFn(t);else{if(t.type!=v)throw new Error("Task is missing scheduleFn.");d(t)}return o}invokeTask(_,t,o,y){return this._invokeTaskZS?this._invokeTaskZS.onInvokeTask(this._invokeTaskDlgt,this._invokeTaskCurrZone,_,t,o,y):t.callback.apply(o,y)}cancelTask(_,t){let o;if(this._cancelTaskZS)o=this._cancelTaskZS.onCancelTask(this._cancelTaskDlgt,this._cancelTaskCurrZone,_,t);else{if(!t.cancelFn)throw Error("Task is not cancelable");o=t.cancelFn(t)}return o}hasTask(_,t){try{this._hasTaskZS&&this._hasTaskZS.onHasTask(this._hasTaskDlgt,this._hasTaskCurrZone,_,t)}catch(o){this.handleError(_,o)}}_updateTaskCount(_,t){const o=this._taskCounts,y=o[_],P=o[_]=y+t;if(P<0)throw new Error("More tasks executed then were scheduled.");0!=y&&0!=P||this.hasTask(this.zone,{microTask:o.microTask>0,macroTask:o.macroTask>0,eventTask:o.eventTask>0,change:_})}}class m{constructor(_,t,o,y,P,J){if(this._zone=null,this.runCount=0,this._zoneDelegates=null,this._state="notScheduled",this.type=_,this.source=t,this.data=y,this.scheduleFn=P,this.cancelFn=J,!o)throw new Error("callback is not defined");this.callback=o;const l=this;this.invoke=_===R&&y&&y.useG?m.invokeTask:function(){return m.invokeTask.call(e,l,this,arguments)}}static invokeTask(_,t,o){_||(_=this),re++;try{return _.runCount++,_.zone.runTask(_,t,o)}finally{1==re&&L(),re--}}get zone(){return this._zone}get state(){return this._state}cancelScheduleRequest(){this._transitionTo(H,W)}_transitionTo(_,t,o){if(this._state!==t&&this._state!==o)throw new Error(`${this.type} '${this.source}': can not transition to '${_}', expecting state '${t}'${o?" or '"+o+"'":""}, was '${this._state}'.`);this._state=_,_==H&&(this._zoneDelegates=null)}toString(){return this.data&&typeof this.data.handleId<"u"?this.data.handleId.toString():Object.prototype.toString.call(this)}toJSON(){return{type:this.type,state:this.state,source:this.source,zone:this.zone.name,runCount:this.runCount}}}const D=u("setTimeout"),S=u("Promise"),O=u("then");let E,F=[],V=!1;function d(I){if(0===re&&0===F.length)if(E||e[S]&&(E=e[S].resolve(0)),E){let _=E[O];_||(_=E.then),_.call(E,L)}else e[D](L,0);I&&F.push(I)}function L(){if(!V){for(V=!0;F.length;){const I=F;F=[];for(let _=0;_G,onUnhandledError:B,microtaskDrainDone:B,scheduleMicroTask:d,showUncaughtError:()=>!p[u("ignoreConsoleErrorUncaughtError")],patchEventTarget:()=>[],patchOnProperties:B,patchMethod:()=>B,bindArguments:()=>[],patchThen:()=>B,patchMacroTask:()=>B,patchEventPrototype:()=>B,isIEOrEdge:()=>!1,getGlobalObjects:()=>{},ObjectDefineProperty:()=>B,ObjectGetOwnPropertyDescriptor:()=>{},ObjectCreate:()=>{},ArraySlice:()=>[],patchClass:()=>B,wrapWithCurrentZone:()=>B,filterProperties:()=>[],attachOriginToPatched:()=>B,_redefineProperty:()=>B,patchCallbacks:()=>B};let G={parent:null,zone:new p(null,null)},te=null,re=0;function B(){}r("Zone","Zone"),e.Zone=p}(typeof window<"u"&&window||typeof self<"u"&&self||global);const fe=Object.getOwnPropertyDescriptor,be=Object.defineProperty,ye=Object.getPrototypeOf,lt=Object.create,ut=Array.prototype.slice,De="addEventListener",Ze="removeEventListener",Oe=Zone.__symbol__(De),Ie=Zone.__symbol__(Ze),se="true",ie="false",ge=Zone.__symbol__("");function Le(e,n){return Zone.current.wrap(e,n)}function Me(e,n,i,r,c){return Zone.current.scheduleMacroTask(e,n,i,r,c)}const x=Zone.__symbol__,we=typeof window<"u",de=we?window:void 0,$=we&&de||"object"==typeof self&&self||global,ht=[null];function Ae(e,n){for(let i=e.length-1;i>=0;i--)"function"==typeof e[i]&&(e[i]=Le(e[i],n+"_"+i));return e}function Fe(e){return!e||!1!==e.writable&&!("function"==typeof e.get&&typeof e.set>"u")}const Be=typeof WorkerGlobalScope<"u"&&self instanceof WorkerGlobalScope,Pe=!("nw"in $)&&typeof $.process<"u"&&"[object process]"==={}.toString.call($.process),He=!Pe&&!Be&&!(!we||!de.HTMLElement),Ue=typeof $.process<"u"&&"[object process]"==={}.toString.call($.process)&&!Be&&!(!we||!de.HTMLElement),Re={},qe=function(e){if(!(e=e||$.event))return;let n=Re[e.type];n||(n=Re[e.type]=x("ON_PROPERTY"+e.type));const i=this||e.target||$,r=i[n];let c;return He&&i===de&&"error"===e.type?(c=r&&r.call(this,e.message,e.filename,e.lineno,e.colno,e.error),!0===c&&e.preventDefault()):(c=r&&r.apply(this,arguments),null!=c&&!c&&e.preventDefault()),c};function We(e,n,i){let r=fe(e,n);if(!r&&i&&fe(i,n)&&(r={enumerable:!0,configurable:!0}),!r||!r.configurable)return;const c=x("on"+n+"patched");if(e.hasOwnProperty(c)&&e[c])return;delete r.writable,delete r.value;const u=r.get,f=r.set,p=n.substr(2);let g=Re[p];g||(g=Re[p]=x("ON_PROPERTY"+p)),r.set=function(T){let m=this;!m&&e===$&&(m=$),m&&(m[g]&&m.removeEventListener(p,qe),f&&f.apply(m,ht),"function"==typeof T?(m[g]=T,m.addEventListener(p,qe,!1)):m[g]=null)},r.get=function(){let T=this;if(!T&&e===$&&(T=$),!T)return null;const m=T[g];if(m)return m;if(u){let D=u&&u.call(this);if(D)return r.set.call(this,D),"function"==typeof T.removeAttribute&&T.removeAttribute(n),D}return null},be(e,n,r),e[c]=!0}function Xe(e,n,i){if(n)for(let r=0;rfunction(f,p){const g=i(f,p);return g.cbIdx>=0&&"function"==typeof p[g.cbIdx]?Me(g.name,p[g.cbIdx],g,c):u.apply(f,p)})}function ae(e,n){e[x("OriginalDelegate")]=n}let Ye=!1,je=!1;function mt(){if(Ye)return je;Ye=!0;try{const e=de.navigator.userAgent;(-1!==e.indexOf("MSIE ")||-1!==e.indexOf("Trident/")||-1!==e.indexOf("Edge/"))&&(je=!0)}catch{}return je}Zone.__load_patch("ZoneAwarePromise",(e,n,i)=>{const r=Object.getOwnPropertyDescriptor,c=Object.defineProperty,f=i.symbol,p=[],g=!0===e[f("DISABLE_WRAPPING_UNCAUGHT_PROMISE_REJECTION")],T=f("Promise"),m=f("then");i.onUnhandledError=l=>{if(i.showUncaughtError()){const s=l&&l.rejection;s?console.error("Unhandled Promise rejection:",s instanceof Error?s.message:s,"; Zone:",l.zone.name,"; Task:",l.task&&l.task.source,"; Value:",s,s instanceof Error?s.stack:void 0):console.error(l)}},i.microtaskDrainDone=()=>{for(;p.length;){const l=p.shift();try{l.zone.runGuarded(()=>{throw l.throwOriginal?l.rejection:l})}catch(s){O(s)}}};const S=f("unhandledPromiseRejectionHandler");function O(l){i.onUnhandledError(l);try{const s=n[S];"function"==typeof s&&s.call(this,l)}catch{}}function F(l){return l&&l.then}function V(l){return l}function E(l){return t.reject(l)}const d=f("state"),L=f("value"),z=f("finally"),H=f("parentPromiseValue"),W=f("parentPromiseState"),X=null,A=!0,Y=!1;function M(l,s){return a=>{try{G(l,s,a)}catch(h){G(l,!1,h)}}}const le=f("currentTaskTrace");function G(l,s,a){const h=function(){let l=!1;return function(a){return function(){l||(l=!0,a.apply(null,arguments))}}}();if(l===a)throw new TypeError("Promise resolved with itself");if(l[d]===X){let w=null;try{("object"==typeof a||"function"==typeof a)&&(w=a&&a.then)}catch(N){return h(()=>{G(l,!1,N)})(),l}if(s!==Y&&a instanceof t&&a.hasOwnProperty(d)&&a.hasOwnProperty(L)&&a[d]!==X)re(a),G(l,a[d],a[L]);else if(s!==Y&&"function"==typeof w)try{w.call(a,h(M(l,s)),h(M(l,!1)))}catch(N){h(()=>{G(l,!1,N)})()}else{l[d]=s;const N=l[L];if(l[L]=a,l[z]===z&&s===A&&(l[d]=l[W],l[L]=l[H]),s===Y&&a instanceof Error){const k=n.currentTask&&n.currentTask.data&&n.currentTask.data.__creationTrace__;k&&c(a,le,{configurable:!0,enumerable:!1,writable:!0,value:k})}for(let k=0;k{try{const b=l[L],C=!!a&&z===a[z];C&&(a[H]=b,a[W]=N);const j=s.run(k,void 0,C&&k!==E&&k!==V?[]:[b]);G(a,!0,j)}catch(b){G(a,!1,b)}},a)}const _=function(){};class t{static toString(){return"function ZoneAwarePromise() { [native code] }"}static resolve(s){return G(new this(null),A,s)}static reject(s){return G(new this(null),Y,s)}static race(s){let a,h,w=new this((b,C)=>{a=b,h=C});function N(b){a(b)}function k(b){h(b)}for(let b of s)F(b)||(b=this.resolve(b)),b.then(N,k);return w}static all(s){return t.allWithCallback(s)}static allSettled(s){return(this&&this.prototype instanceof t?this:t).allWithCallback(s,{thenCallback:h=>({status:"fulfilled",value:h}),errorCallback:h=>({status:"rejected",reason:h})})}static allWithCallback(s,a){let h,w,N=new this((j,U)=>{h=j,w=U}),k=2,b=0;const C=[];for(let j of s){F(j)||(j=this.resolve(j));const U=b;try{j.then(Q=>{C[U]=a?a.thenCallback(Q):Q,k--,0===k&&h(C)},Q=>{a?(C[U]=a.errorCallback(Q),k--,0===k&&h(C)):w(Q)})}catch(Q){w(Q)}k++,b++}return k-=2,0===k&&h(C),N}constructor(s){const a=this;if(!(a instanceof t))throw new Error("Must be an instanceof Promise.");a[d]=X,a[L]=[];try{s&&s(M(a,A),M(a,Y))}catch(h){G(a,!1,h)}}get[Symbol.toStringTag](){return"Promise"}get[Symbol.species](){return t}then(s,a){let h=this.constructor[Symbol.species];(!h||"function"!=typeof h)&&(h=this.constructor||t);const w=new h(_),N=n.current;return this[d]==X?this[L].push(N,w,s,a):B(this,N,w,s,a),w}catch(s){return this.then(null,s)}finally(s){let a=this.constructor[Symbol.species];(!a||"function"!=typeof a)&&(a=t);const h=new a(_);h[z]=z;const w=n.current;return this[d]==X?this[L].push(w,h,s,s):B(this,w,h,s,s),h}}t.resolve=t.resolve,t.reject=t.reject,t.race=t.race,t.all=t.all;const o=e[T]=e.Promise;e.Promise=t;const y=f("thenPatched");function P(l){const s=l.prototype,a=r(s,"then");if(a&&(!1===a.writable||!a.configurable))return;const h=s.then;s[m]=h,l.prototype.then=function(w,N){return new t((b,C)=>{h.call(this,b,C)}).then(w,N)},l[y]=!0}return i.patchThen=P,o&&(P(o),ce(e,"fetch",l=>function J(l){return function(s,a){let h=l.apply(s,a);if(h instanceof t)return h;let w=h.constructor;return w[y]||P(w),h}}(l))),Promise[n.__symbol__("uncaughtPromiseErrors")]=p,t}),Zone.__load_patch("toString",e=>{const n=Function.prototype.toString,i=x("OriginalDelegate"),r=x("Promise"),c=x("Error"),u=function(){if("function"==typeof this){const T=this[i];if(T)return"function"==typeof T?n.call(T):Object.prototype.toString.call(T);if(this===Promise){const m=e[r];if(m)return n.call(m)}if(this===Error){const m=e[c];if(m)return n.call(m)}}return n.call(this)};u[i]=n,Function.prototype.toString=u;const f=Object.prototype.toString;Object.prototype.toString=function(){return"function"==typeof Promise&&this instanceof Promise?"[object Promise]":f.call(this)}});let pe=!1;if(typeof window<"u")try{const e=Object.defineProperty({},"passive",{get:function(){pe=!0}});window.addEventListener("test",e,e),window.removeEventListener("test",e,e)}catch{pe=!1}const Et={useG:!0},ee={},$e={},Je=new RegExp("^"+ge+"(\\w+)(true|false)$"),xe=x("propagationStopped");function Ke(e,n){const i=(n?n(e):e)+ie,r=(n?n(e):e)+se,c=ge+i,u=ge+r;ee[e]={},ee[e][ie]=c,ee[e][se]=u}function Tt(e,n,i){const r=i&&i.add||De,c=i&&i.rm||Ze,u=i&&i.listeners||"eventListeners",f=i&&i.rmAll||"removeAllListeners",p=x(r),g="."+r+":",T="prependListener",m="."+T+":",D=function(E,d,L){if(E.isRemoved)return;const z=E.callback;"object"==typeof z&&z.handleEvent&&(E.callback=W=>z.handleEvent(W),E.originalDelegate=z),E.invoke(E,d,[L]);const H=E.options;H&&"object"==typeof H&&H.once&&d[c].call(d,L.type,E.originalDelegate?E.originalDelegate:E.callback,H)},S=function(E){if(!(E=E||e.event))return;const d=this||E.target||e,L=d[ee[E.type][ie]];if(L)if(1===L.length)D(L[0],d,E);else{const z=L.slice();for(let H=0;Hfunction(c,u){c[xe]=!0,r&&r.apply(c,u)})}function gt(e,n,i,r,c){const u=Zone.__symbol__(r);if(n[u])return;const f=n[u]=n[r];n[r]=function(p,g,T){return g&&g.prototype&&c.forEach(function(m){const D=`${i}.${r}::`+m,S=g.prototype;if(S.hasOwnProperty(m)){const O=e.ObjectGetOwnPropertyDescriptor(S,m);O&&O.value?(O.value=e.wrapWithCurrentZone(O.value,D),e._redefineProperty(g.prototype,m,O)):S[m]&&(S[m]=e.wrapWithCurrentZone(S[m],D))}else S[m]&&(S[m]=e.wrapWithCurrentZone(S[m],D))}),f.call(n,p,g,T)},e.attachOriginToPatched(n[r],f)}const Ve=["absolutedeviceorientation","afterinput","afterprint","appinstalled","beforeinstallprompt","beforeprint","beforeunload","devicelight","devicemotion","deviceorientation","deviceorientationabsolute","deviceproximity","hashchange","languagechange","message","mozbeforepaint","offline","online","paint","pageshow","pagehide","popstate","rejectionhandled","storage","unhandledrejection","unload","userproximity","vrdisplayconnected","vrdisplaydisconnected","vrdisplaypresentchange"],wt=["encrypted","waitingforkey","msneedkey","mozinterruptbegin","mozinterruptend"],et=["load"],tt=["blur","error","focus","load","resize","scroll","messageerror"],St=["bounce","finish","start"],nt=["loadstart","progress","abort","error","load","progress","timeout","loadend","readystatechange"],_e=["upgradeneeded","complete","abort","success","error","blocked","versionchange","close"],Dt=["close","error","open","message"],Zt=["error","message"],me=["abort","animationcancel","animationend","animationiteration","auxclick","beforeinput","blur","cancel","canplay","canplaythrough","change","compositionstart","compositionupdate","compositionend","cuechange","click","close","contextmenu","curechange","dblclick","drag","dragend","dragenter","dragexit","dragleave","dragover","drop","durationchange","emptied","ended","error","focus","focusin","focusout","gotpointercapture","input","invalid","keydown","keypress","keyup","load","loadstart","loadeddata","loadedmetadata","lostpointercapture","mousedown","mouseenter","mouseleave","mousemove","mouseout","mouseover","mouseup","mousewheel","orientationchange","pause","play","playing","pointercancel","pointerdown","pointerenter","pointerleave","pointerlockchange","mozpointerlockchange","webkitpointerlockerchange","pointerlockerror","mozpointerlockerror","webkitpointerlockerror","pointermove","pointout","pointerover","pointerup","progress","ratechange","reset","resize","scroll","seeked","seeking","select","selectionchange","selectstart","show","sort","stalled","submit","suspend","timeupdate","volumechange","touchcancel","touchmove","touchstart","touchend","transitioncancel","transitionend","waiting","wheel"].concat(["webglcontextrestored","webglcontextlost","webglcontextcreationerror"],["autocomplete","autocompleteerror"],["toggle"],["afterscriptexecute","beforescriptexecute","DOMContentLoaded","freeze","fullscreenchange","mozfullscreenchange","webkitfullscreenchange","msfullscreenchange","fullscreenerror","mozfullscreenerror","webkitfullscreenerror","msfullscreenerror","readystatechange","visibilitychange","resume"],Ve,["beforecopy","beforecut","beforepaste","copy","cut","paste","dragstart","loadend","animationstart","search","transitionrun","transitionstart","webkitanimationend","webkitanimationiteration","webkitanimationstart","webkittransitionend"],["activate","afterupdate","ariarequest","beforeactivate","beforedeactivate","beforeeditfocus","beforeupdate","cellchange","controlselect","dataavailable","datasetchanged","datasetcomplete","errorupdate","filterchange","layoutcomplete","losecapture","move","moveend","movestart","propertychange","resizeend","resizestart","rowenter","rowexit","rowsdelete","rowsinserted","command","compassneedscalibration","deactivate","help","mscontentzoom","msmanipulationstatechanged","msgesturechange","msgesturedoubletap","msgestureend","msgesturehold","msgesturestart","msgesturetap","msgotpointercapture","msinertiastart","mslostpointercapture","mspointercancel","mspointerdown","mspointerenter","mspointerhover","mspointerleave","mspointermove","mspointerout","mspointerover","mspointerup","pointerout","mssitemodejumplistitemremoved","msthumbnailclick","stop","storagecommit"]);function rt(e,n,i){if(!i||0===i.length)return n;const r=i.filter(u=>u.target===e);if(!r||0===r.length)return n;const c=r[0].ignoreProperties;return n.filter(u=>-1===c.indexOf(u))}function q(e,n,i,r){e&&Xe(e,rt(e,n,i),r)}Zone.__load_patch("util",(e,n,i)=>{i.patchOnProperties=Xe,i.patchMethod=ce,i.bindArguments=Ae,i.patchMacroTask=pt;const r=n.__symbol__("BLACK_LISTED_EVENTS"),c=n.__symbol__("UNPATCHED_EVENTS");e[c]&&(e[r]=e[c]),e[r]&&(n[r]=n[c]=e[r]),i.patchEventPrototype=yt,i.patchEventTarget=Tt,i.isIEOrEdge=mt,i.ObjectDefineProperty=be,i.ObjectGetOwnPropertyDescriptor=fe,i.ObjectCreate=lt,i.ArraySlice=ut,i.patchClass=ke,i.wrapWithCurrentZone=Le,i.filterProperties=rt,i.attachOriginToPatched=ae,i._redefineProperty=Object.defineProperty,i.patchCallbacks=gt,i.getGlobalObjects=()=>({globalSources:$e,zoneSymbolEventNames:ee,eventNames:me,isBrowser:He,isMix:Ue,isNode:Pe,TRUE_STR:se,FALSE_STR:ie,ZONE_SYMBOL_PREFIX:ge,ADD_EVENT_LISTENER_STR:De,REMOVE_EVENT_LISTENER_STR:Ze})});const Ne=x("zoneTask");function Ee(e,n,i,r){let c=null,u=null;i+=r;const f={};function p(T){const m=T.data;return m.args[0]=function(){return T.invoke.apply(this,arguments)},m.handleId=c.apply(e,m.args),T}function g(T){return u.call(e,T.data.handleId)}c=ce(e,n+=r,T=>function(m,D){if("function"==typeof D[0]){const S={isPeriodic:"Interval"===r,delay:"Timeout"===r||"Interval"===r?D[1]||0:void 0,args:D},O=D[0];D[0]=function(){try{return O.apply(this,arguments)}finally{S.isPeriodic||("number"==typeof S.handleId?delete f[S.handleId]:S.handleId&&(S.handleId[Ne]=null))}};const F=Me(n,D[0],S,p,g);if(!F)return F;const V=F.data.handleId;return"number"==typeof V?f[V]=F:V&&(V[Ne]=F),V&&V.ref&&V.unref&&"function"==typeof V.ref&&"function"==typeof V.unref&&(F.ref=V.ref.bind(V),F.unref=V.unref.bind(V)),"number"==typeof V||V?V:F}return T.apply(e,D)}),u=ce(e,i,T=>function(m,D){const S=D[0];let O;"number"==typeof S?O=f[S]:(O=S&&S[Ne],O||(O=S)),O&&"string"==typeof O.type?"notScheduled"!==O.state&&(O.cancelFn&&O.data.isPeriodic||0===O.runCount)&&("number"==typeof S?delete f[S]:S&&(S[Ne]=null),O.zone.cancelTask(O)):T.apply(e,D)})}Zone.__load_patch("legacy",e=>{const n=e[Zone.__symbol__("legacyPatch")];n&&n()}),Zone.__load_patch("queueMicrotask",(e,n,i)=>{i.patchMethod(e,"queueMicrotask",r=>function(c,u){n.current.scheduleMicroTask("queueMicrotask",u[0])})}),Zone.__load_patch("timers",e=>{const n="set",i="clear";Ee(e,n,i,"Timeout"),Ee(e,n,i,"Interval"),Ee(e,n,i,"Immediate")}),Zone.__load_patch("requestAnimationFrame",e=>{Ee(e,"request","cancel","AnimationFrame"),Ee(e,"mozRequest","mozCancel","AnimationFrame"),Ee(e,"webkitRequest","webkitCancel","AnimationFrame")}),Zone.__load_patch("blocking",(e,n)=>{const i=["alert","prompt","confirm"];for(let r=0;rfunction(g,T){return n.current.run(u,e,T,p)})}),Zone.__load_patch("EventTarget",(e,n,i)=>{(function Mt(e,n){n.patchEventPrototype(e,n)})(e,i),function Lt(e,n){if(Zone[n.symbol("patchEventTarget")])return;const{eventNames:i,zoneSymbolEventNames:r,TRUE_STR:c,FALSE_STR:u,ZONE_SYMBOL_PREFIX:f}=n.getGlobalObjects();for(let g=0;g{ke("MutationObserver"),ke("WebKitMutationObserver")}),Zone.__load_patch("IntersectionObserver",(e,n,i)=>{ke("IntersectionObserver")}),Zone.__load_patch("FileReader",(e,n,i)=>{ke("FileReader")}),Zone.__load_patch("on_property",(e,n,i)=>{!function Ot(e,n){if(Pe&&!Ue||Zone[e.symbol("patchEvents")])return;const i=typeof WebSocket<"u",r=n.__Zone_ignore_on_properties;if(He){const f=window,p=function _t(){try{const e=de.navigator.userAgent;if(-1!==e.indexOf("MSIE ")||-1!==e.indexOf("Trident/"))return!0}catch{}return!1}()?[{target:f,ignoreProperties:["error"]}]:[];q(f,me.concat(["messageerror"]),r&&r.concat(p),ye(f)),q(Document.prototype,me,r),typeof f.SVGElement<"u"&&q(f.SVGElement.prototype,me,r),q(Element.prototype,me,r),q(HTMLElement.prototype,me,r),q(HTMLMediaElement.prototype,wt,r),q(HTMLFrameSetElement.prototype,Ve.concat(tt),r),q(HTMLBodyElement.prototype,Ve.concat(tt),r),q(HTMLFrameElement.prototype,et,r),q(HTMLIFrameElement.prototype,et,r);const g=f.HTMLMarqueeElement;g&&q(g.prototype,St,r);const T=f.Worker;T&&q(T.prototype,Zt,r)}const c=n.XMLHttpRequest;c&&q(c.prototype,nt,r);const u=n.XMLHttpRequestEventTarget;u&&q(u&&u.prototype,nt,r),typeof IDBIndex<"u"&&(q(IDBIndex.prototype,_e,r),q(IDBRequest.prototype,_e,r),q(IDBOpenDBRequest.prototype,_e,r),q(IDBDatabase.prototype,_e,r),q(IDBTransaction.prototype,_e,r),q(IDBCursor.prototype,_e,r)),i&&q(WebSocket.prototype,Dt,r)}(i,e)}),Zone.__load_patch("customElements",(e,n,i)=>{!function It(e,n){const{isBrowser:i,isMix:r}=n.getGlobalObjects();(i||r)&&e.customElements&&"customElements"in e&&n.patchCallbacks(n,e.customElements,"customElements","define",["connectedCallback","disconnectedCallback","adoptedCallback","attributeChangedCallback"])}(e,i)}),Zone.__load_patch("XHR",(e,n)=>{!function g(T){const m=T.XMLHttpRequest;if(!m)return;const D=m.prototype;let O=D[Oe],F=D[Ie];if(!O){const v=T.XMLHttpRequestEventTarget;if(v){const M=v.prototype;O=M[Oe],F=M[Ie]}}const V="readystatechange",E="scheduled";function d(v){const M=v.data,R=M.target;R[u]=!1,R[p]=!1;const K=R[c];O||(O=R[Oe],F=R[Ie]),K&&F.call(R,V,K);const le=R[c]=()=>{if(R.readyState===R.DONE)if(!M.aborted&&R[u]&&v.state===E){const te=R[n.__symbol__("loadfalse")];if(0!==R.status&&te&&te.length>0){const re=v.invoke;v.invoke=function(){const B=R[n.__symbol__("loadfalse")];for(let I=0;Ifunction(v,M){return v[r]=0==M[2],v[f]=M[1],H.apply(v,M)}),Z=x("fetchTaskAborting"),X=x("fetchTaskScheduling"),A=ce(D,"send",()=>function(v,M){if(!0===n.current[X]||v[r])return A.apply(v,M);{const R={target:v,url:v[f],isPeriodic:!1,args:M,aborted:!1},K=Me("XMLHttpRequest.send",L,R,d,z);v&&!0===v[p]&&!R.aborted&&K.state===E&&K.invoke()}}),Y=ce(D,"abort",()=>function(v,M){const R=function S(v){return v[i]}(v);if(R&&"string"==typeof R.type){if(null==R.cancelFn||R.data&&R.data.aborted)return;R.zone.cancelTask(R)}else if(!0===n.current[Z])return Y.apply(v,M)})}(e);const i=x("xhrTask"),r=x("xhrSync"),c=x("xhrListener"),u=x("xhrScheduled"),f=x("xhrURL"),p=x("xhrErrorBeforeScheduled")}),Zone.__load_patch("geolocation",e=>{e.navigator&&e.navigator.geolocation&&function dt(e,n){const i=e.constructor.name;for(let r=0;r{const g=function(){return p.apply(this,Ae(arguments,i+"."+c))};return ae(g,p),g})(u)}}}(e.navigator.geolocation,["getCurrentPosition","watchPosition"])}),Zone.__load_patch("PromiseRejectionEvent",(e,n)=>{function i(r){return function(c){Qe(e,r).forEach(f=>{const p=e.PromiseRejectionEvent;if(p){const g=new p(r,{promise:c.promise,reason:c.rejection});f.invoke(g)}})}}e.PromiseRejectionEvent&&(n[x("unhandledPromiseRejectionHandler")]=i("unhandledrejection"),n[x("rejectionHandledHandler")]=i("rejectionhandled"))})}},Se=>{Se(Se.s=88583)}]);(self.webpackChunkcontenttype_fields_builder=self.webpackChunkcontenttype_fields_builder||[]).push([[179],{65790:(Ci,gs,Pn)=>{"use strict";function ut(n){return"function"==typeof n}let Yt=!1;const Be={Promise:void 0,set useDeprecatedSynchronousErrorHandling(n){if(n){const t=new Error;console.warn("DEPRECATED! RxJS was set to use deprecated synchronous error handling behavior by code at: \n"+t.stack)}else Yt&&console.log("RxJS: Back to a better error behavior. Thank you. <3");Yt=n},get useDeprecatedSynchronousErrorHandling(){return Yt}};function Ct(n){setTimeout(()=>{throw n},0)}const ii={closed:!0,next(n){},error(n){if(Be.useDeprecatedSynchronousErrorHandling)throw n;Ct(n)},complete(){}},Zt=Array.isArray||(n=>n&&"number"==typeof n.length);function zl(n){return null!==n&&"object"==typeof n}const ys=(()=>{function n(t){return Error.call(this),this.message=t?`${t.length} errors occurred during unsubscription:\n${t.map((e,i)=>`${i+1}) ${e.toString()}`).join("\n ")}`:"",this.name="UnsubscriptionError",this.errors=t,this}return n.prototype=Object.create(Error.prototype),n})();class ve{constructor(t){this.closed=!1,this._parentOrParents=null,this._subscriptions=null,t&&(this._ctorUnsubscribe=!0,this._unsubscribe=t)}unsubscribe(){let t;if(this.closed)return;let{_parentOrParents:e,_ctorUnsubscribe:i,_unsubscribe:r,_subscriptions:o}=this;if(this.closed=!0,this._parentOrParents=null,this._subscriptions=null,e instanceof ve)e.remove(this);else if(null!==e)for(let s=0;st.concat(e instanceof ys?e.errors:e),[])}ve.EMPTY=((n=new ve).closed=!0,n);const _s="function"==typeof Symbol?Symbol("rxSubscriber"):"@@rxSubscriber_"+Math.random();class De extends ve{constructor(t,e,i){switch(super(),this.syncErrorValue=null,this.syncErrorThrown=!1,this.syncErrorThrowable=!1,this.isStopped=!1,arguments.length){case 0:this.destination=ii;break;case 1:if(!t){this.destination=ii;break}if("object"==typeof t){t instanceof De?(this.syncErrorThrowable=t.syncErrorThrowable,this.destination=t,t.add(this)):(this.syncErrorThrowable=!0,this.destination=new hh(this,t));break}default:this.syncErrorThrowable=!0,this.destination=new hh(this,t,e,i)}}[_s](){return this}static create(t,e,i){const r=new De(t,e,i);return r.syncErrorThrowable=!1,r}next(t){this.isStopped||this._next(t)}error(t){this.isStopped||(this.isStopped=!0,this._error(t))}complete(){this.isStopped||(this.isStopped=!0,this._complete())}unsubscribe(){this.closed||(this.isStopped=!0,super.unsubscribe())}_next(t){this.destination.next(t)}_error(t){this.destination.error(t),this.unsubscribe()}_complete(){this.destination.complete(),this.unsubscribe()}_unsubscribeAndRecycle(){const{_parentOrParents:t}=this;return this._parentOrParents=null,this.unsubscribe(),this.closed=!1,this.isStopped=!1,this._parentOrParents=t,this}}class hh extends De{constructor(t,e,i,r){super(),this._parentSubscriber=t;let o,s=this;ut(e)?o=e:e&&(o=e.next,i=e.error,r=e.complete,e!==ii&&(s=Object.create(e),ut(s.unsubscribe)&&this.add(s.unsubscribe.bind(s)),s.unsubscribe=this.unsubscribe.bind(this))),this._context=s,this._next=o,this._error=i,this._complete=r}next(t){if(!this.isStopped&&this._next){const{_parentSubscriber:e}=this;Be.useDeprecatedSynchronousErrorHandling&&e.syncErrorThrowable?this.__tryOrSetError(e,this._next,t)&&this.unsubscribe():this.__tryOrUnsub(this._next,t)}}error(t){if(!this.isStopped){const{_parentSubscriber:e}=this,{useDeprecatedSynchronousErrorHandling:i}=Be;if(this._error)i&&e.syncErrorThrowable?(this.__tryOrSetError(e,this._error,t),this.unsubscribe()):(this.__tryOrUnsub(this._error,t),this.unsubscribe());else if(e.syncErrorThrowable)i?(e.syncErrorValue=t,e.syncErrorThrown=!0):Ct(t),this.unsubscribe();else{if(this.unsubscribe(),i)throw t;Ct(t)}}}complete(){if(!this.isStopped){const{_parentSubscriber:t}=this;if(this._complete){const e=()=>this._complete.call(this._context);Be.useDeprecatedSynchronousErrorHandling&&t.syncErrorThrowable?(this.__tryOrSetError(t,e),this.unsubscribe()):(this.__tryOrUnsub(e),this.unsubscribe())}else this.unsubscribe()}}__tryOrUnsub(t,e){try{t.call(this._context,e)}catch(i){if(this.unsubscribe(),Be.useDeprecatedSynchronousErrorHandling)throw i;Ct(i)}}__tryOrSetError(t,e,i){if(!Be.useDeprecatedSynchronousErrorHandling)throw new Error("bad call");try{e.call(this._context,i)}catch(r){return Be.useDeprecatedSynchronousErrorHandling?(t.syncErrorValue=r,t.syncErrorThrown=!0,!0):(Ct(r),!0)}return!1}_unsubscribe(){const{_parentSubscriber:t}=this;this._context=null,this._parentSubscriber=null,t.unsubscribe()}}const Qr="function"==typeof Symbol&&Symbol.observable||"@@observable";function ph(n){return n}let be=(()=>{class n{constructor(e){this._isScalar=!1,e&&(this._subscribe=e)}lift(e){const i=new n;return i.source=this,i.operator=e,i}subscribe(e,i,r){const{operator:o}=this,s=function KE(n,t,e){if(n){if(n instanceof De)return n;if(n[_s])return n[_s]()}return n||t||e?new De(n,t,e):new De(ii)}(e,i,r);if(s.add(o?o.call(s,this.source):this.source||Be.useDeprecatedSynchronousErrorHandling&&!s.syncErrorThrowable?this._subscribe(s):this._trySubscribe(s)),Be.useDeprecatedSynchronousErrorHandling&&s.syncErrorThrowable&&(s.syncErrorThrowable=!1,s.syncErrorThrown))throw s.syncErrorValue;return s}_trySubscribe(e){try{return this._subscribe(e)}catch(i){Be.useDeprecatedSynchronousErrorHandling&&(e.syncErrorThrown=!0,e.syncErrorValue=i),function qE(n){for(;n;){const{closed:t,destination:e,isStopped:i}=n;if(t||i)return!1;n=e&&e instanceof De?e:null}return!0}(e)?e.error(i):console.warn(i)}}forEach(e,i){return new(i=gh(i))((r,o)=>{let s;s=this.subscribe(a=>{try{e(a)}catch(l){o(l),s&&s.unsubscribe()}},o,r)})}_subscribe(e){const{source:i}=this;return i&&i.subscribe(e)}[Qr](){return this}pipe(...e){return 0===e.length?this:function mh(n){return 0===n.length?ph:1===n.length?n[0]:function(e){return n.reduce((i,r)=>r(i),e)}}(e)(this)}toPromise(e){return new(e=gh(e))((i,r)=>{let o;this.subscribe(s=>o=s,s=>r(s),()=>i(o))})}}return n.create=t=>new n(t),n})();function gh(n){if(n||(n=Be.Promise||Promise),!n)throw new Error("no Promise impl found");return n}const wi=(()=>{function n(){return Error.call(this),this.message="object unsubscribed",this.name="ObjectUnsubscribedError",this}return n.prototype=Object.create(Error.prototype),n})();class yh extends ve{constructor(t,e){super(),this.subject=t,this.subscriber=e,this.closed=!1}unsubscribe(){if(this.closed)return;this.closed=!0;const t=this.subject,e=t.observers;if(this.subject=null,!e||0===e.length||t.isStopped||t.closed)return;const i=e.indexOf(this.subscriber);-1!==i&&e.splice(i,1)}}class _h extends De{constructor(t){super(t),this.destination=t}}let hn=(()=>{class n extends be{constructor(){super(),this.observers=[],this.closed=!1,this.isStopped=!1,this.hasError=!1,this.thrownError=null}[_s](){return new _h(this)}lift(e){const i=new vh(this,this);return i.operator=e,i}next(e){if(this.closed)throw new wi;if(!this.isStopped){const{observers:i}=this,r=i.length,o=i.slice();for(let s=0;snew vh(t,e),n})();class vh extends hn{constructor(t,e){super(),this.destination=t,this.source=e}next(t){const{destination:e}=this;e&&e.next&&e.next(t)}error(t){const{destination:e}=this;e&&e.error&&this.destination.error(t)}complete(){const{destination:t}=this;t&&t.complete&&this.destination.complete()}_subscribe(t){const{source:e}=this;return e?this.source.subscribe(t):ve.EMPTY}}function Wl(n){return n&&"function"==typeof n.schedule}function Xe(n,t){return function(i){if("function"!=typeof n)throw new TypeError("argument is not a function. Are you looking for `mapTo()`?");return i.lift(new QE(n,t))}}class QE{constructor(t,e){this.project=t,this.thisArg=e}call(t,e){return e.subscribe(new YE(t,this.project,this.thisArg))}}class YE extends De{constructor(t,e,i){super(t),this.project=e,this.count=0,this.thisArg=i||this}_next(t){let e;try{e=this.project.call(this.thisArg,t,this.count++)}catch(i){return void this.destination.error(i)}this.destination.next(e)}}const bh=n=>t=>{for(let e=0,i=n.length;en&&"number"==typeof n.length&&"function"!=typeof n;function Eh(n){return!!n&&"function"!=typeof n.subscribe&&"function"==typeof n.then}const Gl=n=>{if(n&&"function"==typeof n[Qr])return(n=>t=>{const e=n[Qr]();if("function"!=typeof e.subscribe)throw new TypeError("Provided object does not correctly implement Symbol.observable");return e.subscribe(t)})(n);if(Dh(n))return bh(n);if(Eh(n))return(n=>t=>(n.then(e=>{t.closed||(t.next(e),t.complete())},e=>t.error(e)).then(null,Ct),t))(n);if(n&&"function"==typeof n[vs])return(n=>t=>{const e=n[vs]();for(;;){let i;try{i=e.next()}catch(r){return t.error(r),t}if(i.done){t.complete();break}if(t.next(i.value),t.closed)break}return"function"==typeof e.return&&t.add(()=>{e.return&&e.return()}),t})(n);{const e=`You provided ${zl(n)?"an invalid object":`'${n}'`} where a stream was expected. You can provide an Observable, Promise, Array, or Iterable.`;throw new TypeError(e)}};function ql(n,t){return new be(e=>{const i=new ve;let r=0;return i.add(t.schedule(function(){r!==n.length?(e.next(n[r++]),e.closed||i.add(this.schedule())):e.complete()})),i})}function Sh(n,t){if(null!=n){if(function rS(n){return n&&"function"==typeof n[Qr]}(n))return function tS(n,t){return new be(e=>{const i=new ve;return i.add(t.schedule(()=>{const r=n[Qr]();i.add(r.subscribe({next(o){i.add(t.schedule(()=>e.next(o)))},error(o){i.add(t.schedule(()=>e.error(o)))},complete(){i.add(t.schedule(()=>e.complete()))}}))})),i})}(n,t);if(Eh(n))return function nS(n,t){return new be(e=>{const i=new ve;return i.add(t.schedule(()=>n.then(r=>{i.add(t.schedule(()=>{e.next(r),i.add(t.schedule(()=>e.complete()))}))},r=>{i.add(t.schedule(()=>e.error(r)))}))),i})}(n,t);if(Dh(n))return ql(n,t);if(function oS(n){return n&&"function"==typeof n[vs]}(n)||"string"==typeof n)return function iS(n,t){if(!n)throw new Error("Iterable cannot be null");return new be(e=>{const i=new ve;let r;return i.add(()=>{r&&"function"==typeof r.return&&r.return()}),i.add(t.schedule(()=>{r=n[vs](),i.add(t.schedule(function(){if(e.closed)return;let o,s;try{const a=r.next();o=a.value,s=a.done}catch(a){return void e.error(a)}s?e.complete():(e.next(o),this.schedule())}))})),i})}(n,t)}throw new TypeError((null!==n&&typeof n||n)+" is not observable")}function Ii(n,t){return t?Sh(n,t):n instanceof be?n:new be(Gl(n))}class bs extends De{constructor(t){super(),this.parent=t}_next(t){this.parent.notifyNext(t)}_error(t){this.parent.notifyError(t),this.unsubscribe()}_complete(){this.parent.notifyComplete(),this.unsubscribe()}}class Ds extends De{notifyNext(t){this.destination.next(t)}notifyError(t){this.destination.error(t)}notifyComplete(){this.destination.complete()}}function Es(n,t){if(t.closed)return;if(n instanceof be)return n.subscribe(t);let e;try{e=Gl(n)(t)}catch(i){t.error(i)}return e}function Kl(n,t,e=Number.POSITIVE_INFINITY){return"function"==typeof t?i=>i.pipe(Kl((r,o)=>Ii(n(r,o)).pipe(Xe((s,a)=>t(r,s,o,a))),e)):("number"==typeof t&&(e=t),i=>i.lift(new sS(n,e)))}class sS{constructor(t,e=Number.POSITIVE_INFINITY){this.project=t,this.concurrent=e}call(t,e){return e.subscribe(new aS(t,this.project,this.concurrent))}}class aS extends Ds{constructor(t,e,i=Number.POSITIVE_INFINITY){super(t),this.project=e,this.concurrent=i,this.hasCompleted=!1,this.buffer=[],this.active=0,this.index=0}_next(t){this.active0?this._next(t.shift()):0===this.active&&this.hasCompleted&&this.destination.complete()}}function Ql(n,t){return t?ql(n,t):new be(bh(n))}function Ch(...n){let t=Number.POSITIVE_INFINITY,e=null,i=n[n.length-1];return Wl(i)?(e=n.pop(),n.length>1&&"number"==typeof n[n.length-1]&&(t=n.pop())):"number"==typeof i&&(t=n.pop()),null===e&&1===n.length&&n[0]instanceof be?n[0]:function lS(n=Number.POSITIVE_INFINITY){return Kl(ph,n)}(t)(Ql(n,e))}function wh(){return function(t){return t.lift(new cS(t))}}class cS{constructor(t){this.connectable=t}call(t,e){const{connectable:i}=this;i._refCount++;const r=new uS(t,i),o=e.subscribe(r);return r.closed||(r.connection=i.connect()),o}}class uS extends De{constructor(t,e){super(t),this.connectable=e}_unsubscribe(){const{connectable:t}=this;if(!t)return void(this.connection=null);this.connectable=null;const e=t._refCount;if(e<=0)return void(this.connection=null);if(t._refCount=e-1,e>1)return void(this.connection=null);const{connection:i}=this,r=t._connection;this.connection=null,r&&(!i||r===i)&&r.unsubscribe()}}class dS extends be{constructor(t,e){super(),this.source=t,this.subjectFactory=e,this._refCount=0,this._isComplete=!1}_subscribe(t){return this.getSubject().subscribe(t)}getSubject(){const t=this._subject;return(!t||t.isStopped)&&(this._subject=this.subjectFactory()),this._subject}connect(){let t=this._connection;return t||(this._isComplete=!1,t=this._connection=new ve,t.add(this.source.subscribe(new hS(this.getSubject(),this))),t.closed&&(this._connection=null,t=ve.EMPTY)),t}refCount(){return wh()(this)}}const fS=(()=>{const n=dS.prototype;return{operator:{value:null},_refCount:{value:0,writable:!0},_subject:{value:null,writable:!0},_connection:{value:null,writable:!0},_subscribe:{value:n._subscribe},_isComplete:{value:n._isComplete,writable:!0},getSubject:{value:n.getSubject},connect:{value:n.connect},refCount:{value:n.refCount}}})();class hS extends _h{constructor(t,e){super(t),this.connectable=e}_error(t){this._unsubscribe(),super._error(t)}_complete(){this.connectable._isComplete=!0,this._unsubscribe(),super._complete()}_unsubscribe(){const t=this.connectable;if(t){this.connectable=null;const e=t._connection;t._refCount=0,t._subject=null,t._connection=null,e&&e.unsubscribe()}}}class gS{constructor(t,e){this.subjectFactory=t,this.selector=e}call(t,e){const{selector:i}=this,r=this.subjectFactory(),o=i(r).subscribe(t);return o.add(e.subscribe(r)),o}}function yS(){return new hn}function fe(n){for(let t in n)if(n[t]===fe)return t;throw Error("Could not find renamed property on target object.")}function Yl(n,t){for(const e in t)t.hasOwnProperty(e)&&!n.hasOwnProperty(e)&&(n[e]=t[e])}function pe(n){if("string"==typeof n)return n;if(Array.isArray(n))return"["+n.map(pe).join(", ")+"]";if(null==n)return""+n;if(n.overriddenName)return`${n.overriddenName}`;if(n.name)return`${n.name}`;const t=n.toString();if(null==t)return""+t;const e=t.indexOf("\n");return-1===e?t:t.substring(0,e)}function Zl(n,t){return null==n||""===n?null===t?"":t:null==t||""===t?n:n+" "+t}const vS=fe({__forward_ref__:fe});function de(n){return n.__forward_ref__=de,n.toString=function(){return pe(this())},n}function L(n){return Xl(n)?n():n}function Xl(n){return"function"==typeof n&&n.hasOwnProperty(vS)&&n.__forward_ref__===de}function Jl(n){return n&&!!n.\u0275providers}const Ih="https://g.co/ng/security#xss";class D extends Error{constructor(t,e){super(function Ss(n,t){return`NG0${Math.abs(n)}${t?": "+t.trim():""}`}(t,e)),this.code=t}}function $(n){return"string"==typeof n?n:null==n?"":String(n)}function Cs(n,t){throw new D(-201,!1)}function kt(n,t){null==n&&function le(n,t,e,i){throw new Error(`ASSERTION ERROR: ${n}`+(null==i?"":` [Expected=> ${e} ${i} ${t} <=Actual]`))}(t,n,null,"!=")}function H(n){return{token:n.token,providedIn:n.providedIn||null,factory:n.factory,value:void 0}}function Ae(n){return{providers:n.providers||[],imports:n.imports||[]}}function ws(n){return Th(n,Is)||Th(n,Ah)}function Th(n,t){return n.hasOwnProperty(t)?n[t]:null}function Mh(n){return n&&(n.hasOwnProperty(ec)||n.hasOwnProperty(TS))?n[ec]:null}const Is=fe({\u0275prov:fe}),ec=fe({\u0275inj:fe}),Ah=fe({ngInjectableDef:fe}),TS=fe({ngInjectorDef:fe});var U=(()=>((U=U||{})[U.Default=0]="Default",U[U.Host=1]="Host",U[U.Self=2]="Self",U[U.SkipSelf=4]="SkipSelf",U[U.Optional=8]="Optional",U))();let tc;function jt(n){const t=tc;return tc=n,t}function xh(n,t,e){const i=ws(n);return i&&"root"==i.providedIn?void 0===i.value?i.value=i.factory():i.value:e&U.Optional?null:void 0!==t?t:void Cs(pe(n))}const me=(()=>typeof globalThis<"u"&&globalThis||typeof global<"u"&&global||typeof window<"u"&&window||typeof self<"u"&&typeof WorkerGlobalScope<"u"&&self instanceof WorkerGlobalScope&&self)(),Yr={},nc="__NG_DI_FLAG__",Ts="ngTempTokenPath",xS=/\n/gm,Ph="__source";let Zr;function er(n){const t=Zr;return Zr=n,t}function OS(n,t=U.Default){if(void 0===Zr)throw new D(-203,!1);return null===Zr?xh(n,void 0,t):Zr.get(n,t&U.Optional?null:void 0,t)}function O(n,t=U.Default){return(function MS(){return tc}()||OS)(L(n),t)}function On(n,t=U.Default){return O(n,Ms(t))}function Ms(n){return typeof n>"u"||"number"==typeof n?n:0|(n.optional&&8)|(n.host&&1)|(n.self&&2)|(n.skipSelf&&4)}function ic(n){const t=[];for(let e=0;e((Xt=Xt||{})[Xt.OnPush=0]="OnPush",Xt[Xt.Default=1]="Default",Xt))(),Jt=(()=>(function(n){n[n.Emulated=0]="Emulated",n[n.None=2]="None",n[n.ShadowDom=3]="ShadowDom"}(Jt||(Jt={})),Jt))();const Nn={},se=[],As=fe({\u0275cmp:fe}),rc=fe({\u0275dir:fe}),oc=fe({\u0275pipe:fe}),Nh=fe({\u0275mod:fe}),Fn=fe({\u0275fac:fe}),Jr=fe({__NG_ELEMENT_ID__:fe});let LS=0;function qe(n){return oi(()=>{const e=!0===n.standalone,i={},r={type:n.type,providersResolver:null,decls:n.decls,vars:n.vars,factory:null,template:n.template||null,consts:n.consts||null,ngContentSelectors:n.ngContentSelectors,hostBindings:n.hostBindings||null,hostVars:n.hostVars||0,hostAttrs:n.hostAttrs||null,contentQueries:n.contentQueries||null,declaredInputs:i,inputs:null,outputs:null,exportAs:n.exportAs||null,onPush:n.changeDetection===Xt.OnPush,directiveDefs:null,pipeDefs:null,standalone:e,dependencies:e&&n.dependencies||null,getStandaloneInjector:null,selectors:n.selectors||se,viewQuery:n.viewQuery||null,features:n.features||null,data:n.data||{},encapsulation:n.encapsulation||Jt.Emulated,id:"c"+LS++,styles:n.styles||se,_:null,setInput:null,schemas:n.schemas||null,tView:null,findHostDirectiveDefs:null,hostDirectives:null},o=n.dependencies,s=n.features;return r.inputs=Lh(n.inputs,i),r.outputs=Lh(n.outputs),s&&s.forEach(a=>a(r)),r.directiveDefs=o?()=>("function"==typeof o?o():o).map(Fh).filter(Rh):null,r.pipeDefs=o?()=>("function"==typeof o?o():o).map(ft).filter(Rh):null,r})}function Fh(n){return ce(n)||Je(n)}function Rh(n){return null!==n}function Ne(n){return oi(()=>({type:n.type,bootstrap:n.bootstrap||se,declarations:n.declarations||se,imports:n.imports||se,exports:n.exports||se,transitiveCompileScopes:null,schemas:n.schemas||null,id:n.id||null}))}function Lh(n,t){if(null==n)return Nn;const e={};for(const i in n)if(n.hasOwnProperty(i)){let r=n[i],o=r;Array.isArray(r)&&(o=r[1],r=r[0]),e[r]=i,t&&(t[r]=o)}return e}const V=qe;function dt(n){return{type:n.type,name:n.name,factory:null,pure:!1!==n.pure,standalone:!0===n.standalone,onDestroy:n.type.prototype.ngOnDestroy||null}}function ce(n){return n[As]||null}function Je(n){return n[rc]||null}function ft(n){return n[oc]||null}const Z=11;function Tt(n){return Array.isArray(n)&&"object"==typeof n[1]}function tn(n){return Array.isArray(n)&&!0===n[1]}function lc(n){return 0!=(4&n.flags)}function ro(n){return n.componentOffset>-1}function Fs(n){return 1==(1&n.flags)}function nn(n){return null!==n.template}function VS(n){return 0!=(256&n[2])}function Mi(n,t){return n.hasOwnProperty(Fn)?n[Fn]:null}class Uh{constructor(t,e,i){this.previousValue=t,this.currentValue=e,this.firstChange=i}isFirstChange(){return this.firstChange}}function rn(){return $h}function $h(n){return n.type.prototype.ngOnChanges&&(n.setInput=$S),US}function US(){const n=Wh(this),t=n?.current;if(t){const e=n.previous;if(e===Nn)n.previous=t;else for(let i in t)e[i]=t[i];n.current=null,this.ngOnChanges(t)}}function $S(n,t,e,i){const r=this.declaredInputs[e],o=Wh(n)||function zS(n,t){return n[zh]=t}(n,{previous:Nn,current:null}),s=o.current||(o.current={}),a=o.previous,l=a[r];s[r]=new Uh(l&&l.currentValue,t,a===Nn),n[i]=t}rn.ngInherit=!0;const zh="__ngSimpleChanges__";function Wh(n){return n[zh]||null}function Ke(n){for(;Array.isArray(n);)n=n[0];return n}function Rs(n,t){return Ke(t[n])}function Mt(n,t){return Ke(t[n.index])}function Kh(n,t){return n.data[t]}function or(n,t){return n[t]}function At(n,t){const e=t[n];return Tt(e)?e:e[0]}function Ls(n){return 64==(64&n[2])}function si(n,t){return null==t?null:n[t]}function Qh(n){n[18]=0}function uc(n,t){n[5]+=t;let e=n,i=n[3];for(;null!==i&&(1===t&&1===e[5]||-1===t&&0===e[5]);)i[5]+=t,e=i,i=i[3]}const z={lFrame:op(null),bindingsEnabled:!0};function Zh(){return z.bindingsEnabled}function b(){return z.lFrame.lView}function ne(){return z.lFrame.tView}function X(n){return z.lFrame.contextLView=n,n[8]}function J(n){return z.lFrame.contextLView=null,n}function Qe(){let n=Xh();for(;null!==n&&64===n.type;)n=n.parent;return n}function Xh(){return z.lFrame.currentTNode}function mn(n,t){const e=z.lFrame;e.currentTNode=n,e.isParent=t}function dc(){return z.lFrame.isParent}function fc(){z.lFrame.isParent=!1}function pt(){const n=z.lFrame;let t=n.bindingRootIndex;return-1===t&&(t=n.bindingRootIndex=n.tView.bindingStartIndex),t}function sr(){return z.lFrame.bindingIndex++}function kn(n){const t=z.lFrame,e=t.bindingIndex;return t.bindingIndex=t.bindingIndex+n,e}function iC(n,t){const e=z.lFrame;e.bindingIndex=e.bindingRootIndex=n,hc(t)}function hc(n){z.lFrame.currentDirectiveIndex=n}function np(){return z.lFrame.currentQueryIndex}function mc(n){z.lFrame.currentQueryIndex=n}function oC(n){const t=n[1];return 2===t.type?t.declTNode:1===t.type?n[6]:null}function ip(n,t,e){if(e&U.SkipSelf){let r=t,o=n;for(;!(r=r.parent,null!==r||e&U.Host||(r=oC(o),null===r||(o=o[15],10&r.type))););if(null===r)return!1;t=r,n=o}const i=z.lFrame=rp();return i.currentTNode=t,i.lView=n,!0}function gc(n){const t=rp(),e=n[1];z.lFrame=t,t.currentTNode=e.firstChild,t.lView=n,t.tView=e,t.contextLView=n,t.bindingIndex=e.bindingStartIndex,t.inI18n=!1}function rp(){const n=z.lFrame,t=null===n?null:n.child;return null===t?op(n):t}function op(n){const t={currentTNode:null,isParent:!0,lView:null,tView:null,selectedIndex:-1,contextLView:null,elementDepthCount:0,currentNamespace:null,currentDirectiveIndex:-1,bindingRootIndex:-1,bindingIndex:-1,currentQueryIndex:0,parent:n,child:null,inI18n:!1};return null!==n&&(n.child=t),t}function sp(){const n=z.lFrame;return z.lFrame=n.parent,n.currentTNode=null,n.lView=null,n}const ap=sp;function yc(){const n=sp();n.isParent=!0,n.tView=null,n.selectedIndex=-1,n.contextLView=null,n.elementDepthCount=0,n.currentDirectiveIndex=-1,n.currentNamespace=null,n.bindingRootIndex=-1,n.bindingIndex=-1,n.currentQueryIndex=0}function mt(){return z.lFrame.selectedIndex}function Ai(n){z.lFrame.selectedIndex=n}function Ee(){const n=z.lFrame;return Kh(n.tView,n.selectedIndex)}function ks(n,t){for(let e=t.directiveStart,i=t.directiveEnd;e=i)break}else t[l]<0&&(n[18]+=65536),(a>11>16&&(3&n[2])===t){n[2]+=2048;try{o.call(a)}finally{}}}else try{o.call(a)}finally{}}class so{constructor(t,e,i){this.factory=t,this.resolving=!1,this.canSeeViewProviders=e,this.injectImpl=i}}function bc(n,t,e){let i=0;for(;it){s=o-1;break}}}for(;o>16}(n),i=t;for(;e>0;)i=i[15],e--;return i}let Dc=!0;function Us(n){const t=Dc;return Dc=n,t}let vC=0;const gn={};function $s(n,t){const e=mp(n,t);if(-1!==e)return e;const i=t[1];i.firstCreatePass&&(n.injectorIndex=t.length,Ec(i.data,n),Ec(t,null),Ec(i.blueprint,null));const r=Sc(n,t),o=n.injectorIndex;if(fp(r)){const s=Bs(r),a=Hs(r,t),l=a[1].data;for(let c=0;c<8;c++)t[o+c]=a[s+c]|l[s+c]}return t[o+8]=r,o}function Ec(n,t){n.push(0,0,0,0,0,0,0,0,t)}function mp(n,t){return-1===n.injectorIndex||n.parent&&n.parent.injectorIndex===n.injectorIndex||null===t[n.injectorIndex+8]?-1:n.injectorIndex}function Sc(n,t){if(n.parent&&-1!==n.parent.injectorIndex)return n.parent.injectorIndex;let e=0,i=null,r=t;for(;null!==r;){if(i=Ep(r),null===i)return-1;if(e++,r=r[15],-1!==i.injectorIndex)return i.injectorIndex|e<<16}return-1}function Cc(n,t,e){!function bC(n,t,e){let i;"string"==typeof e?i=e.charCodeAt(0)||0:e.hasOwnProperty(Jr)&&(i=e[Jr]),null==i&&(i=e[Jr]=vC++);const r=255&i;t.data[n+(r>>5)]|=1<=0?255&t:CC:t}(e);if("function"==typeof o){if(!ip(t,n,i))return i&U.Host?gp(r,0,i):yp(t,e,i,r);try{const s=o(i);if(null!=s||i&U.Optional)return s;Cs()}finally{ap()}}else if("number"==typeof o){let s=null,a=mp(n,t),l=-1,c=i&U.Host?t[16][6]:null;for((-1===a||i&U.SkipSelf)&&(l=-1===a?Sc(n,t):t[a+8],-1!==l&&Dp(i,!1)?(s=t[1],a=Bs(l),t=Hs(l,t)):a=-1);-1!==a;){const u=t[1];if(bp(o,a,u.data)){const d=EC(a,t,e,s,i,c);if(d!==gn)return d}l=t[a+8],-1!==l&&Dp(i,t[1].data[a+8]===c)&&bp(o,a,t)?(s=u,a=Bs(l),t=Hs(l,t)):a=-1}}return r}function EC(n,t,e,i,r,o){const s=t[1],a=s.data[n+8],u=zs(a,s,e,null==i?ro(a)&&Dc:i!=s&&0!=(3&a.type),r&U.Host&&o===a);return null!==u?xi(t,s,u,a):gn}function zs(n,t,e,i,r){const o=n.providerIndexes,s=t.data,a=1048575&o,l=n.directiveStart,u=o>>20,f=r?a+u:n.directiveEnd;for(let h=i?a:a+u;h=l&&p.type===e)return h}if(r){const h=s[l];if(h&&nn(h)&&h.type===e)return l}return null}function xi(n,t,e,i){let r=n[e];const o=t.data;if(function mC(n){return n instanceof so}(r)){const s=r;s.resolving&&function bS(n,t){const e=t?`. Dependency path: ${t.join(" > ")} > ${n}`:"";throw new D(-200,`Circular dependency in DI detected for ${n}${e}`)}(function ae(n){return"function"==typeof n?n.name||n.toString():"object"==typeof n&&null!=n&&"function"==typeof n.type?n.type.name||n.type.toString():$(n)}(o[e]));const a=Us(s.canSeeViewProviders);s.resolving=!0;const l=s.injectImpl?jt(s.injectImpl):null;ip(n,i,U.Default);try{r=n[e]=s.factory(void 0,o,n,i),t.firstCreatePass&&e>=i.directiveStart&&function hC(n,t,e){const{ngOnChanges:i,ngOnInit:r,ngDoCheck:o}=t.type.prototype;if(i){const s=$h(t);(e.preOrderHooks||(e.preOrderHooks=[])).push(n,s),(e.preOrderCheckHooks||(e.preOrderCheckHooks=[])).push(n,s)}r&&(e.preOrderHooks||(e.preOrderHooks=[])).push(0-n,r),o&&((e.preOrderHooks||(e.preOrderHooks=[])).push(n,o),(e.preOrderCheckHooks||(e.preOrderCheckHooks=[])).push(n,o))}(e,o[e],t)}finally{null!==l&&jt(l),Us(a),s.resolving=!1,ap()}}return r}function bp(n,t,e){return!!(e[t+(n>>5)]&1<{const t=wc(L(n));return t&&t()}:Mi(n)}function Ep(n){const t=n[1],e=t.type;return 2===e?t.declTNode:1===e?n[6]:null}const ur="__parameters__";function fr(n,t,e){return oi(()=>{const i=function Tc(n){return function(...e){if(n){const i=n(...e);for(const r in i)this[r]=i[r]}}}(t);function r(...o){if(this instanceof r)return i.apply(this,o),this;const s=new r(...o);return a.annotation=s,a;function a(l,c,u){const d=l.hasOwnProperty(ur)?l[ur]:Object.defineProperty(l,ur,{value:[]})[ur];for(;d.length<=u;)d.push(null);return(d[u]=d[u]||[]).push(s),l}}return e&&(r.prototype=Object.create(e.prototype)),r.prototype.ngMetadataName=n,r.annotationCls=r,r})}class F{constructor(t,e){this._desc=t,this.ngMetadataName="InjectionToken",this.\u0275prov=void 0,"number"==typeof e?this.__NG_ELEMENT_ID__=e:void 0!==e&&(this.\u0275prov=H({token:this,providedIn:e.providedIn||"root",factory:e.factory}))}get multi(){return this}toString(){return`InjectionToken ${this._desc}`}}function Pi(n,t){n.forEach(e=>Array.isArray(e)?Pi(e,t):t(e))}function Cp(n,t,e){t>=n.length?n.push(e):n.splice(t,0,e)}function Ws(n,t){return t>=n.length-1?n.pop():n.splice(t,1)[0]}function uo(n,t){const e=[];for(let i=0;i=0?n[1|i]=e:(i=~i,function AC(n,t,e,i){let r=n.length;if(r==t)n.push(e,i);else if(1===r)n.push(i,n[0]),n[0]=e;else{for(r--,n.push(n[r-1],n[r]);r>t;)n[r]=n[r-2],r--;n[t]=e,n[t+1]=i}}(n,i,t,e)),i}function Ac(n,t){const e=hr(n,t);if(e>=0)return n[1|e]}function hr(n,t){return function wp(n,t,e){let i=0,r=n.length>>e;for(;r!==i;){const o=i+(r-i>>1),s=n[o<t?r=o:i=o+1}return~(r<({token:n})),-1),Ks=Xr(fr("Optional"),8),Qs=Xr(fr("SkipSelf"),4);var bt=(()=>((bt=bt||{})[bt.Important=1]="Important",bt[bt.DashCase=2]="DashCase",bt))();const Fc=new Map;let ZC=0;const Lc="__ngContext__";function it(n,t){Tt(t)?(n[Lc]=t[20],function JC(n){Fc.set(n[20],n)}(t)):n[Lc]=t}function jc(n,t){return undefined(n,t)}function mo(n){const t=n[3];return tn(t)?t[3]:t}function Vc(n){return Wp(n[13])}function Bc(n){return Wp(n[4])}function Wp(n){for(;null!==n&&!tn(n);)n=n[4];return n}function mr(n,t,e,i,r){if(null!=i){let o,s=!1;tn(i)?o=i:Tt(i)&&(s=!0,i=i[0]);const a=Ke(i);0===n&&null!==e?null==r?Zp(t,e,a):Oi(t,e,a,r||null,!0):1===n&&null!==e?Oi(t,e,a,r||null,!0):2===n?function qc(n,t,e){const i=Xs(n,t);i&&function vw(n,t,e,i){n.removeChild(t,e,i)}(n,i,t,e)}(t,a,s):3===n&&t.destroyNode(a),null!=o&&function Ew(n,t,e,i,r){const o=e[7];o!==Ke(e)&&mr(t,n,i,o,r);for(let a=10;a0&&(n[e-1][4]=i[4]);const o=Ws(n,10+t);!function dw(n,t){go(n,t,t[Z],2,null,null),t[0]=null,t[6]=null}(i[1],i);const s=o[19];null!==s&&s.detachView(o[1]),i[3]=null,i[4]=null,i[2]&=-65}return i}function Kp(n,t){if(!(128&t[2])){const e=t[Z];e.destroyNode&&go(n,t,e,3,null,null),function pw(n){let t=n[13];if(!t)return zc(n[1],n);for(;t;){let e=null;if(Tt(t))e=t[13];else{const i=t[10];i&&(e=i)}if(!e){for(;t&&!t[4]&&t!==n;)Tt(t)&&zc(t[1],t),t=t[3];null===t&&(t=n),Tt(t)&&zc(t[1],t),e=t&&t[4]}t=e}}(t)}}function zc(n,t){if(!(128&t[2])){t[2]&=-65,t[2]|=128,function _w(n,t){let e;if(null!=n&&null!=(e=n.destroyHooks))for(let i=0;i=0?i[r=s]():i[r=-s].unsubscribe(),o+=2}else{const s=i[r=e[o+1]];e[o].call(s)}if(null!==i){for(let o=r+1;o-1){const{encapsulation:o}=n.data[i.directiveStart+r];if(o===Jt.None||o===Jt.Emulated)return null}return Mt(i,e)}}(n,t.parent,e)}function Oi(n,t,e,i,r){n.insertBefore(t,e,i,r)}function Zp(n,t,e){n.appendChild(t,e)}function Xp(n,t,e,i,r){null!==i?Oi(n,t,e,i,r):Zp(n,t,e)}function Xs(n,t){return n.parentNode(t)}function Jp(n,t,e){return tm(n,t,e)}let ta,Yc,na,tm=function em(n,t,e){return 40&n.type?Mt(n,e):null};function Js(n,t,e,i){const r=Qp(n,i,t),o=t[Z],a=Jp(i.parent||t[6],i,t);if(null!=r)if(Array.isArray(e))for(let l=0;ln,createScript:n=>n,createScriptURL:n=>n})}catch{}return ta}()?.createHTML(n)||n}function lm(n){return function Zc(){if(void 0===na&&(na=null,me.trustedTypes))try{na=me.trustedTypes.createPolicy("angular#unsafe-bypass",{createHTML:n=>n,createScript:n=>n,createScriptURL:n=>n})}catch{}return na}()?.createHTML(n)||n}class dm{constructor(t){this.changingThisBreaksApplicationSecurity=t}toString(){return`SafeValue must use [property]=binding: ${this.changingThisBreaksApplicationSecurity} (see ${Ih})`}}function ai(n){return n instanceof dm?n.changingThisBreaksApplicationSecurity:n}function yo(n,t){const e=function Fw(n){return n instanceof dm&&n.getTypeName()||null}(n);if(null!=e&&e!==t){if("ResourceURL"===e&&"URL"===t)return!0;throw new Error(`Required a safe ${t}, got a ${e} (see ${Ih})`)}return e===t}class Rw{constructor(t){this.inertDocumentHelper=t}getInertBodyElement(t){t=""+t;try{const e=(new window.DOMParser).parseFromString(Ni(t),"text/html").body;return null===e?this.inertDocumentHelper.getInertBodyElement(t):(e.removeChild(e.firstChild),e)}catch{return null}}}class Lw{constructor(t){if(this.defaultDoc=t,this.inertDocument=this.defaultDoc.implementation.createHTMLDocument("sanitization-inert"),null==this.inertDocument.body){const e=this.inertDocument.createElement("html");this.inertDocument.appendChild(e);const i=this.inertDocument.createElement("body");e.appendChild(i)}}getInertBodyElement(t){const e=this.inertDocument.createElement("template");if("content"in e)return e.innerHTML=Ni(t),e;const i=this.inertDocument.createElement("body");return i.innerHTML=Ni(t),this.defaultDoc.documentMode&&this.stripCustomNsAttrs(i),i}stripCustomNsAttrs(t){const e=t.attributes;for(let r=e.length-1;0"),!0}endElement(t){const e=t.nodeName.toLowerCase();Jc.hasOwnProperty(e)&&!hm.hasOwnProperty(e)&&(this.buf.push(""))}chars(t){this.buf.push(ym(t))}checkClobberedElement(t,e){if(e&&(t.compareDocumentPosition(e)&Node.DOCUMENT_POSITION_CONTAINED_BY)===Node.DOCUMENT_POSITION_CONTAINED_BY)throw new Error(`Failed to sanitize html because the element is clobbered: ${t.outerHTML}`);return e}}const Hw=/[\uD800-\uDBFF][\uDC00-\uDFFF]/g,Uw=/([^\#-~ |!])/g;function ym(n){return n.replace(/&/g,"&").replace(Hw,function(t){return"&#"+(1024*(t.charCodeAt(0)-55296)+(t.charCodeAt(1)-56320)+65536)+";"}).replace(Uw,function(t){return"&#"+t.charCodeAt(0)+";"}).replace(//g,">")}let ia;function tu(n){return"content"in n&&function zw(n){return n.nodeType===Node.ELEMENT_NODE&&"TEMPLATE"===n.nodeName}(n)?n.content:null}var Fe=(()=>((Fe=Fe||{})[Fe.NONE=0]="NONE",Fe[Fe.HTML=1]="HTML",Fe[Fe.STYLE=2]="STYLE",Fe[Fe.SCRIPT=3]="SCRIPT",Fe[Fe.URL=4]="URL",Fe[Fe.RESOURCE_URL=5]="RESOURCE_URL",Fe))();function _m(n){const t=vo();return t?lm(t.sanitize(Fe.HTML,n)||""):yo(n,"HTML")?lm(ai(n)):function $w(n,t){let e=null;try{ia=ia||function fm(n){const t=new Lw(n);return function kw(){try{return!!(new window.DOMParser).parseFromString(Ni(""),"text/html")}catch{return!1}}()?new Rw(t):t}(n);let i=t?String(t):"";e=ia.getInertBodyElement(i);let r=5,o=i;do{if(0===r)throw new Error("Failed to sanitize html because the input is unstable");r--,i=o,o=e.innerHTML,e=ia.getInertBodyElement(i)}while(i!==o);return Ni((new Bw).sanitizeChildren(tu(e)||e))}finally{if(e){const i=tu(e)||e;for(;i.firstChild;)i.removeChild(i.firstChild)}}}(function am(){return void 0!==Yc?Yc:typeof document<"u"?document:void 0}(),$(n))}function ra(n){const t=vo();return t?t.sanitize(Fe.URL,n)||"":yo(n,"URL")?ai(n):Xc($(n))}function vo(){const n=b();return n&&n[12]}const bm=new F("ENVIRONMENT_INITIALIZER"),Dm=new F("INJECTOR",-1),Em=new F("INJECTOR_DEF_TYPES");class Sm{get(t,e=Yr){if(e===Yr){const i=new Error(`NullInjectorError: No provider for ${pe(t)}!`);throw i.name="NullInjectorError",i}return e}}function Xw(...n){return{\u0275providers:Cm(0,n),\u0275fromNgModule:!0}}function Cm(n,...t){const e=[],i=new Set;let r;return Pi(t,o=>{const s=o;nu(s,e,[],i)&&(r||(r=[]),r.push(s))}),void 0!==r&&wm(r,e),e}function wm(n,t){for(let e=0;e{t.push(o)})}}function nu(n,t,e,i){if(!(n=L(n)))return!1;let r=null,o=Mh(n);const s=!o&&ce(n);if(o||s){if(s&&!s.standalone)return!1;r=n}else{const l=n.ngModule;if(o=Mh(l),!o)return!1;r=l}const a=i.has(r);if(s){if(a)return!1;if(i.add(r),s.dependencies){const l="function"==typeof s.dependencies?s.dependencies():s.dependencies;for(const c of l)nu(c,t,e,i)}}else{if(!o)return!1;{if(null!=o.imports&&!a){let c;i.add(r);try{Pi(o.imports,u=>{nu(u,t,e,i)&&(c||(c=[]),c.push(u))})}finally{}void 0!==c&&wm(c,t)}if(!a){const c=Mi(r)||(()=>new r);t.push({provide:r,useFactory:c,deps:se},{provide:Em,useValue:r,multi:!0},{provide:bm,useValue:()=>O(r),multi:!0})}const l=o.providers;null==l||a||iu(l,u=>{t.push(u)})}}return r!==n&&void 0!==n.providers}function iu(n,t){for(let e of n)Jl(e)&&(e=e.\u0275providers),Array.isArray(e)?iu(e,t):t(e)}const Jw=fe({provide:String,useValue:fe});function ru(n){return null!==n&&"object"==typeof n&&Jw in n}function Fi(n){return"function"==typeof n}const ou=new F("Set Injector scope."),oa={},t0={};let su;function sa(){return void 0===su&&(su=new Sm),su}class Ri{}class Mm extends Ri{get destroyed(){return this._destroyed}constructor(t,e,i,r){super(),this.parent=e,this.source=i,this.scopes=r,this.records=new Map,this._ngOnDestroyHooks=new Set,this._onDestroyHooks=[],this._destroyed=!1,lu(t,s=>this.processProvider(s)),this.records.set(Dm,gr(void 0,this)),r.has("environment")&&this.records.set(Ri,gr(void 0,this));const o=this.records.get(ou);null!=o&&"string"==typeof o.value&&this.scopes.add(o.value),this.injectorDefTypes=new Set(this.get(Em.multi,se,U.Self))}destroy(){this.assertNotDestroyed(),this._destroyed=!0;try{for(const t of this._ngOnDestroyHooks)t.ngOnDestroy();for(const t of this._onDestroyHooks)t()}finally{this.records.clear(),this._ngOnDestroyHooks.clear(),this.injectorDefTypes.clear(),this._onDestroyHooks.length=0}}onDestroy(t){this._onDestroyHooks.push(t)}runInContext(t){this.assertNotDestroyed();const e=er(this),i=jt(void 0);try{return t()}finally{er(e),jt(i)}}get(t,e=Yr,i=U.Default){this.assertNotDestroyed(),i=Ms(i);const r=er(this),o=jt(void 0);try{if(!(i&U.SkipSelf)){let a=this.records.get(t);if(void 0===a){const l=function a0(n){return"function"==typeof n||"object"==typeof n&&n instanceof F}(t)&&ws(t);a=l&&this.injectableDefInScope(l)?gr(au(t),oa):null,this.records.set(t,a)}if(null!=a)return this.hydrate(t,a)}return(i&U.Self?sa():this.parent).get(t,e=i&U.Optional&&e===Yr?null:e)}catch(s){if("NullInjectorError"===s.name){if((s[Ts]=s[Ts]||[]).unshift(pe(t)),r)throw s;return function FS(n,t,e,i){const r=n[Ts];throw t[Ph]&&r.unshift(t[Ph]),n.message=function RS(n,t,e,i=null){n=n&&"\n"===n.charAt(0)&&"\u0275"==n.charAt(1)?n.slice(2):n;let r=pe(t);if(Array.isArray(t))r=t.map(pe).join(" -> ");else if("object"==typeof t){let o=[];for(let s in t)if(t.hasOwnProperty(s)){let a=t[s];o.push(s+":"+("string"==typeof a?JSON.stringify(a):pe(a)))}r=`{${o.join(", ")}}`}return`${e}${i?"("+i+")":""}[${r}]: ${n.replace(xS,"\n ")}`}("\n"+n.message,r,e,i),n.ngTokenPath=r,n[Ts]=null,n}(s,t,"R3InjectorError",this.source)}throw s}finally{jt(o),er(r)}}resolveInjectorInitializers(){const t=er(this),e=jt(void 0);try{const i=this.get(bm.multi,se,U.Self);for(const r of i)r()}finally{er(t),jt(e)}}toString(){const t=[],e=this.records;for(const i of e.keys())t.push(pe(i));return`R3Injector[${t.join(", ")}]`}assertNotDestroyed(){if(this._destroyed)throw new D(205,!1)}processProvider(t){let e=Fi(t=L(t))?t:L(t&&t.provide);const i=function r0(n){return ru(n)?gr(void 0,n.useValue):gr(Am(n),oa)}(t);if(Fi(t)||!0!==t.multi)this.records.get(e);else{let r=this.records.get(e);r||(r=gr(void 0,oa,!0),r.factory=()=>ic(r.multi),this.records.set(e,r)),e=t,r.multi.push(t)}this.records.set(e,i)}hydrate(t,e){return e.value===oa&&(e.value=t0,e.value=e.factory()),"object"==typeof e.value&&e.value&&function s0(n){return null!==n&&"object"==typeof n&&"function"==typeof n.ngOnDestroy}(e.value)&&this._ngOnDestroyHooks.add(e.value),e.value}injectableDefInScope(t){if(!t.providedIn)return!1;const e=L(t.providedIn);return"string"==typeof e?"any"===e||this.scopes.has(e):this.injectorDefTypes.has(e)}}function au(n){const t=ws(n),e=null!==t?t.factory:Mi(n);if(null!==e)return e;if(n instanceof F)throw new D(204,!1);if(n instanceof Function)return function n0(n){const t=n.length;if(t>0)throw uo(t,"?"),new D(204,!1);const e=function wS(n){const t=n&&(n[Is]||n[Ah]);if(t){const e=function IS(n){if(n.hasOwnProperty("name"))return n.name;const t=(""+n).match(/^function\s*([^\s(]+)/);return null===t?"":t[1]}(n);return console.warn(`DEPRECATED: DI is instantiating a token "${e}" that inherits its @Injectable decorator but does not provide one itself.\nThis will become an error in a future version of Angular. Please add @Injectable() to the "${e}" class.`),t}return null}(n);return null!==e?()=>e.factory(n):()=>new n}(n);throw new D(204,!1)}function Am(n,t,e){let i;if(Fi(n)){const r=L(n);return Mi(r)||au(r)}if(ru(n))i=()=>L(n.useValue);else if(function Tm(n){return!(!n||!n.useFactory)}(n))i=()=>n.useFactory(...ic(n.deps||[]));else if(function Im(n){return!(!n||!n.useExisting)}(n))i=()=>O(L(n.useExisting));else{const r=L(n&&(n.useClass||n.provide));if(!function o0(n){return!!n.deps}(n))return Mi(r)||au(r);i=()=>new r(...ic(n.deps))}return i}function gr(n,t,e=!1){return{factory:n,value:t,multi:e?[]:void 0}}function lu(n,t){for(const e of n)Array.isArray(e)?lu(e,t):e&&Jl(e)?lu(e.\u0275providers,t):t(e)}class l0{}class xm{}class u0{resolveComponentFactory(t){throw function c0(n){const t=Error(`No component factory found for ${pe(n)}. Did you add it to @NgModule.entryComponents?`);return t.ngComponent=n,t}(t)}}let yr=(()=>{class n{}return n.NULL=new u0,n})();function d0(){return _r(Qe(),b())}function _r(n,t){return new rt(Mt(n,t))}let rt=(()=>{class n{constructor(e){this.nativeElement=e}}return n.__NG_ELEMENT_ID__=d0,n})();function f0(n){return n instanceof rt?n.nativeElement:n}class bo{}let Vn=(()=>{class n{}return n.__NG_ELEMENT_ID__=()=>function h0(){const n=b(),e=At(Qe().index,n);return(Tt(e)?e:n)[Z]}(),n})(),p0=(()=>{class n{}return n.\u0275prov=H({token:n,providedIn:"root",factory:()=>null}),n})();class Do{constructor(t){this.full=t,this.major=t.split(".")[0],this.minor=t.split(".")[1],this.patch=t.split(".").slice(2).join(".")}}const m0=new Do("15.1.1"),cu={};function du(n){return n.ngOriginalError}class vr{constructor(){this._console=console}handleError(t){const e=this._findOriginalError(t);this._console.error("ERROR",t),e&&this._console.error("ORIGINAL ERROR",e)}_findOriginalError(t){let e=t&&du(t);for(;e&&du(e);)e=du(e);return e||null}}function Nm(n,t,e){let i=n.length;for(;;){const r=n.indexOf(t,e);if(-1===r)return r;if(0===r||n.charCodeAt(r-1)<=32){const o=t.length;if(r+o===i||n.charCodeAt(r+o)<=32)return r}e=r+1}}const Fm="ng-template";function I0(n,t,e){let i=0;for(;io?"":r[d+1].toLowerCase();const h=8&i?f:null;if(h&&-1!==Nm(h,c,0)||2&i&&c!==f){if(on(i))return!1;s=!0}}}}else{if(!s&&!on(i)&&!on(l))return!1;if(s&&on(l))continue;s=!1,i=l|1&i}}return on(i)||s}function on(n){return 0==(1&n)}function A0(n,t,e,i){if(null===t)return-1;let r=0;if(i||!e){let o=!1;for(;r-1)for(e++;e0?'="'+a+'"':"")+"]"}else 8&i?r+="."+s:4&i&&(r+=" "+s);else""!==r&&!on(s)&&(t+=km(o,r),r=""),i=s,o=o||!on(i);e++}return""!==r&&(t+=km(o,r)),t}const W={};function C(n){jm(ne(),b(),mt()+n,!1)}function jm(n,t,e,i){if(!i)if(3==(3&t[2])){const o=n.preOrderCheckHooks;null!==o&&js(t,o,e)}else{const o=n.preOrderHooks;null!==o&&Vs(t,o,0,e)}Ai(e)}function Um(n,t=null,e=null,i){const r=$m(n,t,e,i);return r.resolveInjectorInitializers(),r}function $m(n,t=null,e=null,i,r=new Set){const o=[e||se,Xw(n)];return i=i||("object"==typeof n?void 0:pe(n)),new Mm(o,t||sa(),i||null,r)}let yn=(()=>{class n{static create(e,i){if(Array.isArray(e))return Um({name:""},i,e,"");{const r=e.name??"";return Um({name:r},e.parent,e.providers,r)}}}return n.THROW_IF_NOT_FOUND=Yr,n.NULL=new Sm,n.\u0275prov=H({token:n,providedIn:"any",factory:()=>O(Dm)}),n.__NG_ELEMENT_ID__=-1,n})();function v(n,t=U.Default){const e=b();return null===e?O(n,t):_p(Qe(),e,L(n),t)}function Ym(n,t){const e=n.contentQueries;if(null!==e)for(let i=0;i22&&jm(n,t,22,!1),e(i,r)}finally{Ai(o)}}function _u(n,t,e){if(lc(t)){const r=t.directiveEnd;for(let o=t.directiveStart;o0;){const e=n[--t];if("number"==typeof e&&e<0)return e}return 0})(s)!=a&&s.push(a),s.push(e,i,o)}}(n,t,i,Eo(n,e,r.hostVars,W),r)}function _n(n,t,e,i,r,o){const s=Mt(n,t);!function Cu(n,t,e,i,r,o,s){if(null==o)n.removeAttribute(t,r,e);else{const a=null==s?$(o):s(o,i||"",r);n.setAttribute(t,r,a,e)}}(t[Z],s,o,n.value,e,i,r)}function DI(n,t,e,i,r,o){const s=o[t];if(null!==s){const a=i.setInput;for(let l=0;l0&&wu(e)}}function wu(n){for(let i=Vc(n);null!==i;i=Bc(i))for(let r=10;r0&&wu(o)}const e=n[1].components;if(null!==e)for(let i=0;i0&&wu(r)}}function II(n,t){const e=At(t,n),i=e[1];(function TI(n,t){for(let e=t.length;e-1&&($c(t,i),Ws(e,i))}this._attachedToViewContainer=!1}Kp(this._lView[1],this._lView)}onDestroy(t){Jm(this._lView[1],this._lView,null,t)}markForCheck(){Iu(this._cdRefInjectingView||this._lView)}detach(){this._lView[2]&=-65}reattach(){this._lView[2]|=64}detectChanges(){da(this._lView[1],this._lView,this.context)}checkNoChanges(){}attachToViewContainerRef(){if(this._appRef)throw new D(902,!1);this._attachedToViewContainer=!0}detachFromAppRef(){this._appRef=null,function hw(n,t){go(n,t,t[Z],2,null,null)}(this._lView[1],this._lView)}attachToAppRef(t){if(this._attachedToViewContainer)throw new D(902,!1);this._appRef=t}}class MI extends So{constructor(t){super(t),this._view=t}detectChanges(){const t=this._view;da(t[1],t,t[8],!1)}checkNoChanges(){}get context(){return null}}class ug extends yr{constructor(t){super(),this.ngModule=t}resolveComponentFactory(t){const e=ce(t);return new Co(e,this.ngModule)}}function dg(n){const t=[];for(let e in n)n.hasOwnProperty(e)&&t.push({propName:n[e],templateName:e});return t}class xI{constructor(t,e){this.injector=t,this.parentInjector=e}get(t,e,i){i=Ms(i);const r=this.injector.get(t,cu,i);return r!==cu||e===cu?r:this.parentInjector.get(t,e,i)}}class Co extends xm{get inputs(){return dg(this.componentDef.inputs)}get outputs(){return dg(this.componentDef.outputs)}constructor(t,e){super(),this.componentDef=t,this.ngModule=e,this.componentType=t.type,this.selector=function R0(n){return n.map(F0).join(",")}(t.selectors),this.ngContentSelectors=t.ngContentSelectors?t.ngContentSelectors:[],this.isBoundToModule=!!e}create(t,e,i,r){let o=(r=r||this.ngModule)instanceof Ri?r:r?.injector;o&&null!==this.componentDef.getStandaloneInjector&&(o=this.componentDef.getStandaloneInjector(o)||o);const s=o?new xI(t,o):t,a=s.get(bo,null);if(null===a)throw new D(407,!1);const l=s.get(p0,null),c=a.createRenderer(null,this.componentDef),u=this.componentDef.selectors[0][0]||"div",d=i?function sI(n,t,e){return n.selectRootElement(t,e===Jt.ShadowDom)}(c,i,this.componentDef.encapsulation):Uc(c,u,function AI(n){const t=n.toLowerCase();return"svg"===t?"svg":"math"===t?"math":null}(u)),f=this.componentDef.onPush?288:272,h=Du(0,null,null,1,0,null,null,null,null,null),p=la(null,h,null,f,null,null,a,c,l,s,null);let m,y;gc(p);try{const _=this.componentDef;let S,g=null;_.findHostDirectiveDefs?(S=[],g=new Map,_.findHostDirectiveDefs(_,S,g),S.push(_)):S=[_];const M=function OI(n,t){const e=n[1];return n[22]=t,Er(e,22,2,"#host",null)}(p,d),ie=function NI(n,t,e,i,r,o,s,a){const l=r[1];!function FI(n,t,e,i){for(const r of n)t.mergedAttrs=ao(t.mergedAttrs,r.hostAttrs);null!==t.mergedAttrs&&(fa(t,t.mergedAttrs,!0),null!==e&&sm(i,e,t))}(i,n,t,s);const c=o.createRenderer(t,e),u=la(r,Xm(e),null,e.onPush?32:16,r[n.index],n,o,c,a||null,null,null);return l.firstCreatePass&&Su(l,n,i.length-1),ua(r,u),r[n.index]=u}(M,d,_,S,p,a,c);y=Kh(h,22),d&&function LI(n,t,e,i){if(i)bc(n,e,["ng-version",m0.full]);else{const{attrs:r,classes:o}=function L0(n){const t=[],e=[];let i=1,r=2;for(;i0&&om(n,e,o.join(" "))}}(c,_,d,i),void 0!==e&&function kI(n,t,e){const i=n.projection=[];for(let r=0;r=0;i--){const r=n[i];r.hostVars=t+=r.hostVars,r.hostAttrs=ao(r.hostAttrs,e=ao(e,r.hostAttrs))}}(i)}function Au(n){return n===Nn?{}:n===se?[]:n}function BI(n,t){const e=n.viewQuery;n.viewQuery=e?(i,r)=>{t(i,r),e(i,r)}:t}function HI(n,t){const e=n.contentQueries;n.contentQueries=e?(i,r,o)=>{t(i,r,o),e(i,r,o)}:t}function UI(n,t){const e=n.hostBindings;n.hostBindings=e?(i,r)=>{t(i,r),e(i,r)}:t}let pa=null;function Li(){if(!pa){const n=me.Symbol;if(n&&n.iterator)pa=n.iterator;else{const t=Object.getOwnPropertyNames(Map.prototype);for(let e=0;es(Ke(M[i.index])):i.index;let g=null;if(!s&&a&&(g=function nT(n,t,e,i){const r=n.cleanup;if(null!=r)for(let o=0;ol?a[l]:null}"string"==typeof s&&(o+=2)}return null}(n,t,r,i.index)),null!==g)(g.__ngLastListenerFn__||g).__ngNextListenerFn__=o,g.__ngLastListenerFn__=o,f=!1;else{o=xg(i,t,u,o,!1);const M=e.listen(y,r,o);d.push(o,M),c&&c.push(r,S,_,_+1)}}else o=xg(i,t,u,o,!1);const h=i.outputs;let p;if(f&&null!==h&&(p=h[r])){const m=p.length;if(m)for(let y=0;y-1?At(n.index,t):t);let l=Ag(t,0,i,s),c=o.__ngNextListenerFn__;for(;c;)l=Ag(t,0,c,s)&&l,c=c.__ngNextListenerFn__;return r&&!1===l&&(s.preventDefault(),s.returnValue=!1),l}}function w(n=1){return function sC(n){return(z.lFrame.contextLView=function aC(n,t){for(;n>0;)t=t[15],n--;return t}(n,z.lFrame.contextLView))[8]}(n)}function iT(n,t){let e=null;const i=function x0(n){const t=n.attrs;if(null!=t){const e=t.indexOf(5);if(!(1&e))return t[e+1]}return null}(n);for(let r=0;r>17&32767}function Nu(n){return 2|n}function Vi(n){return(131068&n)>>2}function Fu(n,t){return-131069&n|t<<2}function Ru(n){return 1|n}function Bg(n,t,e,i,r){const o=n[e+1],s=null===t;let a=i?ci(o):Vi(o),l=!1;for(;0!==a&&(!1===l||s);){const u=n[a+1];cT(n[a],t)&&(l=!0,n[a+1]=i?Ru(u):Nu(u)),a=i?ci(u):Vi(u)}l&&(n[e+1]=i?Nu(o):Ru(o))}function cT(n,t){return null===n||null==t||(Array.isArray(n)?n[1]:n)===t||!(!Array.isArray(n)||"string"!=typeof t)&&hr(n,t)>=0}const $e={textEnd:0,key:0,keyEnd:0,value:0,valueEnd:0};function Hg(n){return n.substring($e.key,$e.keyEnd)}function uT(n){return n.substring($e.value,$e.valueEnd)}function Ug(n,t){const e=$e.textEnd;return e===t?-1:(t=$e.keyEnd=function hT(n,t,e){for(;t32;)t++;return t}(n,$e.key=t,e),Or(n,t,e))}function $g(n,t){const e=$e.textEnd;let i=$e.key=Or(n,t,e);return e===i?-1:(i=$e.keyEnd=function pT(n,t,e){let i;for(;t=65&&(-33&i)<=90||i>=48&&i<=57);)t++;return t}(n,i,e),i=Wg(n,i,e),i=$e.value=Or(n,i,e),i=$e.valueEnd=function mT(n,t,e){let i=-1,r=-1,o=-1,s=t,a=s;for(;s32&&(a=s),o=r,r=i,i=-33&l}return a}(n,i,e),Wg(n,i,e))}function zg(n){$e.key=0,$e.keyEnd=0,$e.value=0,$e.valueEnd=0,$e.textEnd=n.length}function Or(n,t,e){for(;t=0;e=$g(t,e))Yg(n,Hg(t),uT(t))}function ui(n){ln(xt,Dn,n,!0)}function Dn(n,t){for(let e=function dT(n){return zg(n),Ug(n,Or(n,0,$e.textEnd))}(t);e>=0;e=Ug(t,e))xt(n,Hg(t),!0)}function ln(n,t,e,i){const r=ne(),o=kn(2);r.firstUpdatePass&&Qg(r,null,o,i);const s=b();if(e!==W&&ot(s,o,e)){const a=r.data[mt()];if(Jg(a,i)&&!Kg(r,o)){let l=i?a.classesWithoutHost:a.stylesWithoutHost;null!==l&&(e=Zl(l,e||"")),Pu(r,a,s,e,i)}else!function ET(n,t,e,i,r,o,s,a){r===W&&(r=se);let l=0,c=0,u=0=n.expandoStartIndex}function Qg(n,t,e,i){const r=n.data;if(null===r[e+1]){const o=r[mt()],s=Kg(n,e);Jg(o,i)&&null===t&&!s&&(t=!1),t=function yT(n,t,e,i){const r=function pc(n){const t=z.lFrame.currentDirectiveIndex;return-1===t?null:n[t]}(n);let o=i?t.residualClasses:t.residualStyles;if(null===r)0===(i?t.classBindings:t.styleBindings)&&(e=xo(e=Lu(null,n,t,e,i),t.attrs,i),o=null);else{const s=t.directiveStylingLast;if(-1===s||n[s]!==r)if(e=Lu(r,n,t,e,i),null===o){let l=function _T(n,t,e){const i=e?t.classBindings:t.styleBindings;if(0!==Vi(i))return n[ci(i)]}(n,t,i);void 0!==l&&Array.isArray(l)&&(l=Lu(null,n,t,l[1],i),l=xo(l,t.attrs,i),function vT(n,t,e,i){n[ci(e?t.classBindings:t.styleBindings)]=i}(n,t,i,l))}else o=function bT(n,t,e){let i;const r=t.directiveEnd;for(let o=1+t.directiveStylingLast;o0)&&(c=!0)):u=e,r)if(0!==l){const f=ci(n[a+1]);n[i+1]=_a(f,a),0!==f&&(n[f+1]=Fu(n[f+1],i)),n[a+1]=function oT(n,t){return 131071&n|t<<17}(n[a+1],i)}else n[i+1]=_a(a,0),0!==a&&(n[a+1]=Fu(n[a+1],i)),a=i;else n[i+1]=_a(l,0),0===a?a=i:n[l+1]=Fu(n[l+1],i),l=i;c&&(n[i+1]=Nu(n[i+1])),Bg(n,u,i,!0),Bg(n,u,i,!1),function lT(n,t,e,i,r){const o=r?n.residualClasses:n.residualStyles;null!=o&&"string"==typeof t&&hr(o,t)>=0&&(e[i+1]=Ru(e[i+1]))}(t,u,n,i,o),s=_a(a,l),o?t.classBindings=s:t.styleBindings=s}(r,o,t,e,s,i)}}function Lu(n,t,e,i,r){let o=null;const s=e.directiveEnd;let a=e.directiveStylingLast;for(-1===a?a=e.directiveStart:a++;a0;){const l=n[r],c=Array.isArray(l),u=c?l[1]:l,d=null===u;let f=e[r+1];f===W&&(f=d?se:void 0);let h=d?Ac(f,i):u===i?f:void 0;if(c&&!va(h)&&(h=Ac(l,i)),va(h)&&(a=h,s))return a;const p=n[r+1];r=s?ci(p):Vi(p)}if(null!==t){let l=o?t.residualClasses:t.residualStyles;null!=l&&(a=Ac(l,i))}return a}function va(n){return void 0!==n}function Jg(n,t){return 0!=(n.flags&(t?8:16))}function Re(n,t=""){const e=b(),i=ne(),r=n+22,o=i.firstCreatePass?Er(i,r,1,t,null):i.data[r],s=e[r]=function Hc(n,t){return n.createText(t)}(e[Z],t);Js(i,e,s,o),mn(o,!1)}function En(n){return Sn("",n,""),En}function Sn(n,t,e){const i=b(),r=function Cr(n,t,e,i){return ot(n,sr(),e)?t+$(e)+i:W}(i,n,t,e);return r!==W&&Hn(i,mt(),r),Sn}function Po(n,t,e,i,r){const o=b(),s=wr(o,n,t,e,i,r);return s!==W&&Hn(o,mt(),s),Po}const Bi=void 0;var $T=["en",[["a","p"],["AM","PM"],Bi],[["AM","PM"],Bi,Bi],[["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"]],Bi,[["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"]],Bi,[["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}",Bi,"{1} 'at' {0}",Bi],[".",",",";","%","+","-","E","\xd7","\u2030","\u221e","NaN",":"],["#,##0.###","#,##0%","\xa4#,##0.00","#E0"],"USD","$","US Dollar",{},"ltr",function UT(n){const e=Math.floor(Math.abs(n)),i=n.toString().replace(/^[^.]*\.?/,"").length;return 1===e&&0===i?1:5}];let Nr={};function gt(n){const t=function zT(n){return n.toLowerCase().replace(/_/g,"-")}(n);let e=vy(t);if(e)return e;const i=t.split("-")[0];if(e=vy(i),e)return e;if("en"===i)return $T;throw new D(701,!1)}function vy(n){return n in Nr||(Nr[n]=me.ng&&me.ng.common&&me.ng.common.locales&&me.ng.common.locales[n]),Nr[n]}var I=(()=>((I=I||{})[I.LocaleId=0]="LocaleId",I[I.DayPeriodsFormat=1]="DayPeriodsFormat",I[I.DayPeriodsStandalone=2]="DayPeriodsStandalone",I[I.DaysFormat=3]="DaysFormat",I[I.DaysStandalone=4]="DaysStandalone",I[I.MonthsFormat=5]="MonthsFormat",I[I.MonthsStandalone=6]="MonthsStandalone",I[I.Eras=7]="Eras",I[I.FirstDayOfWeek=8]="FirstDayOfWeek",I[I.WeekendRange=9]="WeekendRange",I[I.DateFormat=10]="DateFormat",I[I.TimeFormat=11]="TimeFormat",I[I.DateTimeFormat=12]="DateTimeFormat",I[I.NumberSymbols=13]="NumberSymbols",I[I.NumberFormats=14]="NumberFormats",I[I.CurrencyCode=15]="CurrencyCode",I[I.CurrencySymbol=16]="CurrencySymbol",I[I.CurrencyName=17]="CurrencyName",I[I.Currencies=18]="Currencies",I[I.Directionality=19]="Directionality",I[I.PluralCase=20]="PluralCase",I[I.ExtraData=21]="ExtraData",I))();const Fr="en-US";let by=Fr;function Vu(n,t,e,i,r){if(n=L(n),Array.isArray(n))for(let o=0;o>20;if(Fi(n)||!n.multi){const h=new so(l,r,v),p=Hu(a,t,r?u:u+f,d);-1===p?(Cc($s(c,s),o,a),Bu(o,n,t.length),t.push(a),c.directiveStart++,c.directiveEnd++,r&&(c.providerIndexes+=1048576),e.push(h),s.push(h)):(e[p]=h,s[p]=h)}else{const h=Hu(a,t,u+f,d),p=Hu(a,t,u,u+f),y=p>=0&&e[p];if(r&&!y||!r&&!(h>=0&&e[h])){Cc($s(c,s),o,a);const _=function HM(n,t,e,i,r){const o=new so(n,e,v);return o.multi=[],o.index=t,o.componentProviders=0,Wy(o,r,i&&!e),o}(r?BM:VM,e.length,r,i,l);!r&&y&&(e[p].providerFactory=_),Bu(o,n,t.length,0),t.push(a),c.directiveStart++,c.directiveEnd++,r&&(c.providerIndexes+=1048576),e.push(_),s.push(_)}else Bu(o,n,h>-1?h:p,Wy(e[r?p:h],l,!r&&i));!r&&i&&y&&e[p].componentProviders++}}}function Bu(n,t,e,i){const r=Fi(t),o=function e0(n){return!!n.useClass}(t);if(r||o){const l=(o?L(t.useClass):t).prototype.ngOnDestroy;if(l){const c=n.destroyHooks||(n.destroyHooks=[]);if(!r&&t.multi){const u=c.indexOf(e);-1===u?c.push(e,[i,l]):c[u+1].push(i,l)}else c.push(e,l)}}}function Wy(n,t,e){return e&&n.componentProviders++,n.multi.push(t)-1}function Hu(n,t,e,i){for(let r=e;r{e.providersResolver=(i,r)=>function jM(n,t,e){const i=ne();if(i.firstCreatePass){const r=nn(n);Vu(e,i.data,i.blueprint,r,!0),Vu(t,i.data,i.blueprint,r,!1)}}(i,r?r(n):n,t)}}class Rr{}class UM{}class Gy extends Rr{constructor(t,e){super(),this._parent=e,this._bootstrapComponents=[],this.destroyCbs=[],this.componentFactoryResolver=new ug(this);const i=function It(n,t){const e=n[Nh]||null;if(!e&&!0===t)throw new Error(`Type ${pe(n)} does not have '\u0275mod' property.`);return e}(t);this._bootstrapComponents=function Bn(n){return n instanceof Function?n():n}(i.bootstrap),this._r3Injector=$m(t,e,[{provide:Rr,useValue:this},{provide:yr,useValue:this.componentFactoryResolver}],pe(t),new Set(["environment"])),this._r3Injector.resolveInjectorInitializers(),this.instance=this._r3Injector.get(t)}get injector(){return this._r3Injector}destroy(){const t=this._r3Injector;!t.destroyed&&t.destroy(),this.destroyCbs.forEach(e=>e()),this.destroyCbs=null}onDestroy(t){this.destroyCbs.push(t)}}class $u extends UM{constructor(t){super(),this.moduleType=t}create(t){return new Gy(this.moduleType,t)}}class zM extends Rr{constructor(t,e,i){super(),this.componentFactoryResolver=new ug(this),this.instance=null;const r=new Mm([...t,{provide:Rr,useValue:this},{provide:yr,useValue:this.componentFactoryResolver}],e||sa(),i,new Set(["environment"]));this.injector=r,r.resolveInjectorInitializers()}destroy(){this.injector.destroy()}onDestroy(t){this.injector.onDestroy(t)}}let WM=(()=>{class n{constructor(e){this._injector=e,this.cachedInjectors=new Map}getOrCreateStandaloneInjector(e){if(!e.standalone)return null;if(!this.cachedInjectors.has(e.id)){const i=Cm(0,e.type),r=i.length>0?function qy(n,t,e=null){return new zM(n,t,e).injector}([i],this._injector,`Standalone[${e.type.name}]`):null;this.cachedInjectors.set(e.id,r)}return this.cachedInjectors.get(e.id)}ngOnDestroy(){try{for(const e of this.cachedInjectors.values())null!==e&&e.destroy()}finally{this.cachedInjectors.clear()}}}return n.\u0275prov=H({token:n,providedIn:"environment",factory:()=>new n(O(Ri))}),n})();function Un(n){n.getStandaloneInjector=t=>t.get(WM).getOrCreateStandaloneInjector(n)}function Ca(n,t,e){const i=pt()+n,r=b();return r[i]===W?vn(r,i,e?t.call(e):t()):wo(r,i)}function $n(n,t,e,i){return i_(b(),pt(),n,t,e,i)}function wa(n,t,e,i,r){return r_(b(),pt(),n,t,e,i,r)}function e_(n,t,e,i,r,o){return function o_(n,t,e,i,r,o,s,a){const l=t+e;return function ga(n,t,e,i,r){const o=ki(n,t,e,i);return ot(n,t+2,r)||o}(n,l,r,o,s)?vn(n,l+3,a?i.call(a,r,o,s):i(r,o,s)):ko(n,l+3)}(b(),pt(),n,t,e,i,r,o)}function Wu(n,t,e,i,r,o,s){return function s_(n,t,e,i,r,o,s,a,l){const c=t+e;return Ht(n,c,r,o,s,a)?vn(n,c+4,l?i.call(l,r,o,s,a):i(r,o,s,a)):ko(n,c+4)}(b(),pt(),n,t,e,i,r,o,s)}function n_(n,t,e,i){return function a_(n,t,e,i,r,o){let s=t+e,a=!1;for(let l=0;l=0;e--){const i=t[e];if(n===i.name)return i}}(t,e.pipeRegistry),e.data[r]=i,i.onDestroy&&(e.destroyHooks||(e.destroyHooks=[])).push(r,i.onDestroy)):i=e.data[r];const o=i.factory||(i.factory=Mi(i.type)),s=jt(v);try{const a=Us(!1),l=o();return Us(a),function JI(n,t,e,i){e>=n.data.length&&(n.data[e]=null,n.blueprint[e]=null),t[e]=i}(e,b(),r,l),l}finally{jt(s)}}function Le(n,t,e){const i=n+22,r=b(),o=or(r,i);return jo(r,i)?i_(r,pt(),t,o.transform,e,o):o.transform(e)}function Gu(n,t,e,i){const r=n+22,o=b(),s=or(o,r);return jo(o,r)?r_(o,pt(),t,s.transform,e,i,s):s.transform(e,i)}function jo(n,t){return n[1].data[t].pure}function qu(n){return t=>{setTimeout(n,void 0,t)}}const Q=class aA extends hn{constructor(t=!1){super(),this.__isAsync=t}emit(t){super.next(t)}subscribe(t,e,i){let r=t,o=e||(()=>null),s=i;if(t&&"object"==typeof t){const l=t;r=l.next?.bind(l),o=l.error?.bind(l),s=l.complete?.bind(l)}this.__isAsync&&(o=qu(o),r&&(r=qu(r)),s&&(s=qu(s)));const a=super.subscribe({next:r,error:o,complete:s});return t instanceof ve&&t.add(a),a}};function lA(){return this._results[Li()]()}class Ku{get changes(){return this._changes||(this._changes=new Q)}constructor(t=!1){this._emitDistinctChangesOnly=t,this.dirty=!0,this._results=[],this._changesDetected=!1,this._changes=null,this.length=0,this.first=void 0,this.last=void 0;const e=Li(),i=Ku.prototype;i[e]||(i[e]=lA)}get(t){return this._results[t]}map(t){return this._results.map(t)}filter(t){return this._results.filter(t)}find(t){return this._results.find(t)}reduce(t,e){return this._results.reduce(t,e)}forEach(t){this._results.forEach(t)}some(t){return this._results.some(t)}toArray(){return this._results.slice()}toString(){return this._results.toString()}reset(t,e){const i=this;i.dirty=!1;const r=function Bt(n){return n.flat(Number.POSITIVE_INFINITY)}(t);(this._changesDetected=!function TC(n,t,e){if(n.length!==t.length)return!1;for(let i=0;i{class n{}return n.__NG_ELEMENT_ID__=dA,n})();const cA=Cn,uA=class extends cA{constructor(t,e,i){super(),this._declarationLView=t,this._declarationTContainer=e,this.elementRef=i}createEmbeddedView(t,e){const i=this._declarationTContainer.tViews,r=la(this._declarationLView,i,t,16,null,i.declTNode,null,null,null,null,e||null);r[17]=this._declarationLView[this._declarationTContainer.index];const s=this._declarationLView[19];return null!==s&&(r[19]=s.createEmbeddedView(i)),yu(i,r,t),new So(r)}};function dA(){return Ia(Qe(),b())}function Ia(n,t){return 4&n.type?new uA(t,n,_r(n,t)):null}let wn=(()=>{class n{}return n.__NG_ELEMENT_ID__=fA,n})();function fA(){return u_(Qe(),b())}const hA=wn,l_=class extends hA{constructor(t,e,i){super(),this._lContainer=t,this._hostTNode=e,this._hostLView=i}get element(){return _r(this._hostTNode,this._hostLView)}get injector(){return new lr(this._hostTNode,this._hostLView)}get parentInjector(){const t=Sc(this._hostTNode,this._hostLView);if(fp(t)){const e=Hs(t,this._hostLView),i=Bs(t);return new lr(e[1].data[i+8],e)}return new lr(null,this._hostLView)}clear(){for(;this.length>0;)this.remove(this.length-1)}get(t){const e=c_(this._lContainer);return null!==e&&e[t]||null}get length(){return this._lContainer.length-10}createEmbeddedView(t,e,i){let r,o;"number"==typeof i?r=i:null!=i&&(r=i.index,o=i.injector);const s=t.createEmbeddedView(e||{},o);return this.insert(s,r),s}createComponent(t,e,i,r,o){const s=t&&!function co(n){return"function"==typeof n}(t);let a;if(s)a=e;else{const d=e||{};a=d.index,i=d.injector,r=d.projectableNodes,o=d.environmentInjector||d.ngModuleRef}const l=s?t:new Co(ce(t)),c=i||this.parentInjector;if(!o&&null==l.ngModule){const f=(s?c:this.parentInjector).get(Ri,null);f&&(o=f)}const u=l.create(c,r,void 0,o);return this.insert(u.hostView,a),u}insert(t,e){const i=t._lView,r=i[1];if(function QS(n){return tn(n[3])}(i)){const u=this.indexOf(t);if(-1!==u)this.detach(u);else{const d=i[3],f=new l_(d,d[6],d[3]);f.detach(f.indexOf(t))}}const o=this._adjustIndex(e),s=this._lContainer;!function mw(n,t,e,i){const r=10+i,o=e.length;i>0&&(e[r-1][4]=t),i0)i.push(s[a/2]);else{const c=o[a+1],u=t[-l];for(let d=10;d{class n{constructor(e){this.appInits=e,this.resolve=Aa,this.reject=Aa,this.initialized=!1,this.done=!1,this.donePromise=new Promise((i,r)=>{this.resolve=i,this.reject=r})}runInitializers(){if(this.initialized)return;const e=[],i=()=>{this.done=!0,this.resolve()};if(this.appInits)for(let r=0;r{o.subscribe({complete:a,error:l})});e.push(s)}}Promise.all(e).then(()=>{i()}).catch(r=>{this.reject(r)}),0===e.length&&i(),this.initialized=!0}}return n.\u0275fac=function(e){return new(e||n)(O(F_,8))},n.\u0275prov=H({token:n,factory:n.\u0275fac,providedIn:"root"}),n})();const Bo=new F("AppId",{providedIn:"root",factory:function R_(){return`${od()}${od()}${od()}`}});function od(){return String.fromCharCode(97+Math.floor(25*Math.random()))}const L_=new F("Platform Initializer"),sd=new F("Platform ID",{providedIn:"platform",factory:()=>"unknown"}),VA=new F("appBootstrapListener"),k_=new F("AnimationModuleType"),zn=new F("LocaleId",{providedIn:"root",factory:()=>On(zn,U.Optional|U.SkipSelf)||function BA(){return typeof $localize<"u"&&$localize.locale||Fr}()}),WA=(()=>Promise.resolve(0))();function ad(n){typeof Zone>"u"?WA.then(()=>{n&&n.apply(null,null)}):Zone.current.scheduleMicroTask("scheduleMicrotask",n)}class Se{constructor({enableLongStackTrace:t=!1,shouldCoalesceEventChangeDetection:e=!1,shouldCoalesceRunChangeDetection:i=!1}){if(this.hasPendingMacrotasks=!1,this.hasPendingMicrotasks=!1,this.isStable=!0,this.onUnstable=new Q(!1),this.onMicrotaskEmpty=new Q(!1),this.onStable=new Q(!1),this.onError=new Q(!1),typeof Zone>"u")throw new D(908,!1);Zone.assertZonePatched();const r=this;r._nesting=0,r._outer=r._inner=Zone.current,Zone.TaskTrackingZoneSpec&&(r._inner=r._inner.fork(new Zone.TaskTrackingZoneSpec)),t&&Zone.longStackTraceZoneSpec&&(r._inner=r._inner.fork(Zone.longStackTraceZoneSpec)),r.shouldCoalesceEventChangeDetection=!i&&e,r.shouldCoalesceRunChangeDetection=i,r.lastRequestAnimationFrameId=-1,r.nativeRequestAnimationFrame=function GA(){let n=me.requestAnimationFrame,t=me.cancelAnimationFrame;if(typeof Zone<"u"&&n&&t){const e=n[Zone.__symbol__("OriginalDelegate")];e&&(n=e);const i=t[Zone.__symbol__("OriginalDelegate")];i&&(t=i)}return{nativeRequestAnimationFrame:n,nativeCancelAnimationFrame:t}}().nativeRequestAnimationFrame,function QA(n){const t=()=>{!function KA(n){n.isCheckStableRunning||-1!==n.lastRequestAnimationFrameId||(n.lastRequestAnimationFrameId=n.nativeRequestAnimationFrame.call(me,()=>{n.fakeTopEventTask||(n.fakeTopEventTask=Zone.root.scheduleEventTask("fakeTopEventTask",()=>{n.lastRequestAnimationFrameId=-1,cd(n),n.isCheckStableRunning=!0,ld(n),n.isCheckStableRunning=!1},void 0,()=>{},()=>{})),n.fakeTopEventTask.invoke()}),cd(n))}(n)};n._inner=n._inner.fork({name:"angular",properties:{isAngularZone:!0},onInvokeTask:(e,i,r,o,s,a)=>{try{return B_(n),e.invokeTask(r,o,s,a)}finally{(n.shouldCoalesceEventChangeDetection&&"eventTask"===o.type||n.shouldCoalesceRunChangeDetection)&&t(),H_(n)}},onInvoke:(e,i,r,o,s,a,l)=>{try{return B_(n),e.invoke(r,o,s,a,l)}finally{n.shouldCoalesceRunChangeDetection&&t(),H_(n)}},onHasTask:(e,i,r,o)=>{e.hasTask(r,o),i===r&&("microTask"==o.change?(n._hasPendingMicrotasks=o.microTask,cd(n),ld(n)):"macroTask"==o.change&&(n.hasPendingMacrotasks=o.macroTask))},onHandleError:(e,i,r,o)=>(e.handleError(r,o),n.runOutsideAngular(()=>n.onError.emit(o)),!1)})}(r)}static isInAngularZone(){return typeof Zone<"u"&&!0===Zone.current.get("isAngularZone")}static assertInAngularZone(){if(!Se.isInAngularZone())throw new D(909,!1)}static assertNotInAngularZone(){if(Se.isInAngularZone())throw new D(909,!1)}run(t,e,i){return this._inner.run(t,e,i)}runTask(t,e,i,r){const o=this._inner,s=o.scheduleEventTask("NgZoneEvent: "+r,t,qA,Aa,Aa);try{return o.runTask(s,e,i)}finally{o.cancelTask(s)}}runGuarded(t,e,i){return this._inner.runGuarded(t,e,i)}runOutsideAngular(t){return this._outer.run(t)}}const qA={};function ld(n){if(0==n._nesting&&!n.hasPendingMicrotasks&&!n.isStable)try{n._nesting++,n.onMicrotaskEmpty.emit(null)}finally{if(n._nesting--,!n.hasPendingMicrotasks)try{n.runOutsideAngular(()=>n.onStable.emit(null))}finally{n.isStable=!0}}}function cd(n){n.hasPendingMicrotasks=!!(n._hasPendingMicrotasks||(n.shouldCoalesceEventChangeDetection||n.shouldCoalesceRunChangeDetection)&&-1!==n.lastRequestAnimationFrameId)}function B_(n){n._nesting++,n.isStable&&(n.isStable=!1,n.onUnstable.emit(null))}function H_(n){n._nesting--,ld(n)}class YA{constructor(){this.hasPendingMicrotasks=!1,this.hasPendingMacrotasks=!1,this.isStable=!0,this.onUnstable=new Q,this.onMicrotaskEmpty=new Q,this.onStable=new Q,this.onError=new Q}run(t,e,i){return t.apply(e,i)}runGuarded(t,e,i){return t.apply(e,i)}runOutsideAngular(t){return t()}runTask(t,e,i,r){return t.apply(e,i)}}const U_=new F(""),Pa=new F("");let fd,ud=(()=>{class n{constructor(e,i,r){this._ngZone=e,this.registry=i,this._pendingCount=0,this._isZoneStable=!0,this._didWork=!1,this._callbacks=[],this.taskTrackingZone=null,fd||(function ZA(n){fd=n}(r),r.addToWindow(i)),this._watchAngularEvents(),e.run(()=>{this.taskTrackingZone=typeof Zone>"u"?null:Zone.current.get("TaskTrackingZone")})}_watchAngularEvents(){this._ngZone.onUnstable.subscribe({next:()=>{this._didWork=!0,this._isZoneStable=!1}}),this._ngZone.runOutsideAngular(()=>{this._ngZone.onStable.subscribe({next:()=>{Se.assertNotInAngularZone(),ad(()=>{this._isZoneStable=!0,this._runCallbacksIfReady()})}})})}increasePendingRequestCount(){return this._pendingCount+=1,this._didWork=!0,this._pendingCount}decreasePendingRequestCount(){if(this._pendingCount-=1,this._pendingCount<0)throw new Error("pending async requests below zero");return this._runCallbacksIfReady(),this._pendingCount}isStable(){return this._isZoneStable&&0===this._pendingCount&&!this._ngZone.hasPendingMacrotasks}_runCallbacksIfReady(){if(this.isStable())ad(()=>{for(;0!==this._callbacks.length;){let e=this._callbacks.pop();clearTimeout(e.timeoutId),e.doneCb(this._didWork)}this._didWork=!1});else{let e=this.getPendingTasks();this._callbacks=this._callbacks.filter(i=>!i.updateCb||!i.updateCb(e)||(clearTimeout(i.timeoutId),!1)),this._didWork=!0}}getPendingTasks(){return this.taskTrackingZone?this.taskTrackingZone.macroTasks.map(e=>({source:e.source,creationLocation:e.creationLocation,data:e.data})):[]}addCallback(e,i,r){let o=-1;i&&i>0&&(o=setTimeout(()=>{this._callbacks=this._callbacks.filter(s=>s.timeoutId!==o),e(this._didWork,this.getPendingTasks())},i)),this._callbacks.push({doneCb:e,timeoutId:o,updateCb:r})}whenStable(e,i,r){if(r&&!this.taskTrackingZone)throw new Error('Task tracking zone is required when passing an update callback to whenStable(). Is "zone.js/plugins/task-tracking" loaded?');this.addCallback(e,i,r),this._runCallbacksIfReady()}getPendingRequestCount(){return this._pendingCount}registerApplication(e){this.registry.registerApplication(e,this)}unregisterApplication(e){this.registry.unregisterApplication(e)}findProviders(e,i,r){return[]}}return n.\u0275fac=function(e){return new(e||n)(O(Se),O(dd),O(Pa))},n.\u0275prov=H({token:n,factory:n.\u0275fac}),n})(),dd=(()=>{class n{constructor(){this._applications=new Map}registerApplication(e,i){this._applications.set(e,i)}unregisterApplication(e){this._applications.delete(e)}unregisterAllApplications(){this._applications.clear()}getTestability(e){return this._applications.get(e)||null}getAllTestabilities(){return Array.from(this._applications.values())}getAllRootElements(){return Array.from(this._applications.keys())}findTestabilityInTree(e,i=!0){return fd?.findTestabilityInTree(this,e,i)??null}}return n.\u0275fac=function(e){return new(e||n)},n.\u0275prov=H({token:n,factory:n.\u0275fac,providedIn:"platform"}),n})(),di=null;const $_=new F("AllowMultipleToken"),hd=new F("PlatformDestroyListeners");function W_(n,t,e=[]){const i=`Platform: ${t}`,r=new F(i);return(o=[])=>{let s=pd();if(!s||s.injector.get($_,!1)){const a=[...e,...o,{provide:r,useValue:!0}];n?n(a):function ex(n){if(di&&!di.get($_,!1))throw new D(400,!1);di=n;const t=n.get(q_);(function z_(n){const t=n.get(L_,null);t&&t.forEach(e=>e())})(n)}(function G_(n=[],t){return yn.create({name:t,providers:[{provide:ou,useValue:"platform"},{provide:hd,useValue:new Set([()=>di=null])},...n]})}(a,i))}return function nx(n){const t=pd();if(!t)throw new D(401,!1);return t}()}}function pd(){return di?.get(q_)??null}let q_=(()=>{class n{constructor(e){this._injector=e,this._modules=[],this._destroyListeners=[],this._destroyed=!1}bootstrapModuleFactory(e,i){const r=function Q_(n,t){let e;return e="noop"===n?new YA:("zone.js"===n?void 0:n)||new Se(t),e}(i?.ngZone,function K_(n){return{enableLongStackTrace:!1,shouldCoalesceEventChangeDetection:!(!n||!n.ngZoneEventCoalescing)||!1,shouldCoalesceRunChangeDetection:!(!n||!n.ngZoneRunCoalescing)||!1}}(i)),o=[{provide:Se,useValue:r}];return r.run(()=>{const s=yn.create({providers:o,parent:this.injector,name:e.moduleType.name}),a=e.create(s),l=a.injector.get(vr,null);if(!l)throw new D(402,!1);return r.runOutsideAngular(()=>{const c=r.onError.subscribe({next:u=>{l.handleError(u)}});a.onDestroy(()=>{Oa(this._modules,a),c.unsubscribe()})}),function Y_(n,t,e){try{const i=e();return ya(i)?i.catch(r=>{throw t.runOutsideAngular(()=>n.handleError(r)),r}):i}catch(i){throw t.runOutsideAngular(()=>n.handleError(i)),i}}(l,r,()=>{const c=a.injector.get(xa);return c.runInitializers(),c.donePromise.then(()=>(function Dy(n){kt(n,"Expected localeId to be defined"),"string"==typeof n&&(by=n.toLowerCase().replace(/_/g,"-"))}(a.injector.get(zn,Fr)||Fr),this._moduleDoBootstrap(a),a))})})}bootstrapModule(e,i=[]){const r=Z_({},i);return function XA(n,t,e){const i=new $u(e);return Promise.resolve(i)}(0,0,e).then(o=>this.bootstrapModuleFactory(o,r))}_moduleDoBootstrap(e){const i=e.injector.get(Ho);if(e._bootstrapComponents.length>0)e._bootstrapComponents.forEach(r=>i.bootstrap(r));else{if(!e.instance.ngDoBootstrap)throw new D(-403,!1);e.instance.ngDoBootstrap(i)}this._modules.push(e)}onDestroy(e){this._destroyListeners.push(e)}get injector(){return this._injector}destroy(){if(this._destroyed)throw new D(404,!1);this._modules.slice().forEach(i=>i.destroy()),this._destroyListeners.forEach(i=>i());const e=this._injector.get(hd,null);e&&(e.forEach(i=>i()),e.clear()),this._destroyed=!0}get destroyed(){return this._destroyed}}return n.\u0275fac=function(e){return new(e||n)(O(yn))},n.\u0275prov=H({token:n,factory:n.\u0275fac,providedIn:"platform"}),n})();function Z_(n,t){return Array.isArray(t)?t.reduce(Z_,n):{...n,...t}}let Ho=(()=>{class n{get destroyed(){return this._destroyed}get injector(){return this._injector}constructor(e,i,r){this._zone=e,this._injector=i,this._exceptionHandler=r,this._bootstrapListeners=[],this._views=[],this._runningTick=!1,this._stable=!0,this._destroyed=!1,this._destroyListeners=[],this.componentTypes=[],this.components=[],this._onMicrotaskEmptySubscription=this._zone.onMicrotaskEmpty.subscribe({next:()=>{this._zone.run(()=>{this.tick()})}});const o=new be(a=>{this._stable=this._zone.isStable&&!this._zone.hasPendingMacrotasks&&!this._zone.hasPendingMicrotasks,this._zone.runOutsideAngular(()=>{a.next(this._stable),a.complete()})}),s=new be(a=>{let l;this._zone.runOutsideAngular(()=>{l=this._zone.onStable.subscribe(()=>{Se.assertNotInAngularZone(),ad(()=>{!this._stable&&!this._zone.hasPendingMacrotasks&&!this._zone.hasPendingMicrotasks&&(this._stable=!0,a.next(!0))})})});const c=this._zone.onUnstable.subscribe(()=>{Se.assertInAngularZone(),this._stable&&(this._stable=!1,this._zone.runOutsideAngular(()=>{a.next(!1)}))});return()=>{l.unsubscribe(),c.unsubscribe()}});this.isStable=Ch(o,s.pipe(function _S(){return n=>wh()(function mS(n,t){return function(i){let r;if(r="function"==typeof n?n:function(){return n},"function"==typeof t)return i.lift(new gS(r,t));const o=Object.create(i,fS);return o.source=i,o.subjectFactory=r,o}}(yS)(n))}()))}bootstrap(e,i){const r=e instanceof xm;if(!this._injector.get(xa).done)throw!r&&function eo(n){const t=ce(n)||Je(n)||ft(n);return null!==t&&t.standalone}(e),new D(405,false);let s;s=r?e:this._injector.get(yr).resolveComponentFactory(e),this.componentTypes.push(s.componentType);const a=function JA(n){return n.isBoundToModule}(s)?void 0:this._injector.get(Rr),c=s.create(yn.NULL,[],i||s.selector,a),u=c.location.nativeElement,d=c.injector.get(U_,null);return d?.registerApplication(u),c.onDestroy(()=>{this.detachView(c.hostView),Oa(this.components,c),d?.unregisterApplication(u)}),this._loadComponent(c),c}tick(){if(this._runningTick)throw new D(101,!1);try{this._runningTick=!0;for(let e of this._views)e.detectChanges()}catch(e){this._zone.runOutsideAngular(()=>this._exceptionHandler.handleError(e))}finally{this._runningTick=!1}}attachView(e){const i=e;this._views.push(i),i.attachToAppRef(this)}detachView(e){const i=e;Oa(this._views,i),i.detachFromAppRef()}_loadComponent(e){this.attachView(e.hostView),this.tick(),this.components.push(e);const i=this._injector.get(VA,[]);i.push(...this._bootstrapListeners),i.forEach(r=>r(e))}ngOnDestroy(){if(!this._destroyed)try{this._destroyListeners.forEach(e=>e()),this._views.slice().forEach(e=>e.destroy()),this._onMicrotaskEmptySubscription.unsubscribe()}finally{this._destroyed=!0,this._views=[],this._bootstrapListeners=[],this._destroyListeners=[]}}onDestroy(e){return this._destroyListeners.push(e),()=>Oa(this._destroyListeners,e)}destroy(){if(this._destroyed)throw new D(406,!1);const e=this._injector;e.destroy&&!e.destroyed&&e.destroy()}get viewCount(){return this._views.length}warnIfDestroyed(){}}return n.\u0275fac=function(e){return new(e||n)(O(Se),O(Ri),O(vr))},n.\u0275prov=H({token:n,factory:n.\u0275fac,providedIn:"root"}),n})();function Oa(n,t){const e=n.indexOf(t);e>-1&&n.splice(e,1)}let Gn=(()=>{class n{}return n.__NG_ELEMENT_ID__=ox,n})();function ox(n){return function sx(n,t,e){if(ro(n)&&!e){const i=At(n.index,t);return new So(i,i)}return 47&n.type?new So(t[16],t):null}(Qe(),b(),16==(16&n))}class nv{constructor(){}supports(t){return ma(t)}create(t){return new fx(t)}}const dx=(n,t)=>t;class fx{constructor(t){this.length=0,this._linkedRecords=null,this._unlinkedRecords=null,this._previousItHead=null,this._itHead=null,this._itTail=null,this._additionsHead=null,this._additionsTail=null,this._movesHead=null,this._movesTail=null,this._removalsHead=null,this._removalsTail=null,this._identityChangesHead=null,this._identityChangesTail=null,this._trackByFn=t||dx}forEachItem(t){let e;for(e=this._itHead;null!==e;e=e._next)t(e)}forEachOperation(t){let e=this._itHead,i=this._removalsHead,r=0,o=null;for(;e||i;){const s=!i||e&&e.currentIndex{s=this._trackByFn(r,a),null!==e&&Object.is(e.trackById,s)?(i&&(e=this._verifyReinsertion(e,a,s,r)),Object.is(e.item,a)||this._addIdentityChange(e,a)):(e=this._mismatch(e,a,s,r),i=!0),e=e._next,r++}),this.length=r;return this._truncate(e),this.collection=t,this.isDirty}get isDirty(){return null!==this._additionsHead||null!==this._movesHead||null!==this._removalsHead||null!==this._identityChangesHead}_reset(){if(this.isDirty){let t;for(t=this._previousItHead=this._itHead;null!==t;t=t._next)t._nextPrevious=t._next;for(t=this._additionsHead;null!==t;t=t._nextAdded)t.previousIndex=t.currentIndex;for(this._additionsHead=this._additionsTail=null,t=this._movesHead;null!==t;t=t._nextMoved)t.previousIndex=t.currentIndex;this._movesHead=this._movesTail=null,this._removalsHead=this._removalsTail=null,this._identityChangesHead=this._identityChangesTail=null}}_mismatch(t,e,i,r){let o;return null===t?o=this._itTail:(o=t._prev,this._remove(t)),null!==(t=null===this._unlinkedRecords?null:this._unlinkedRecords.get(i,null))?(Object.is(t.item,e)||this._addIdentityChange(t,e),this._reinsertAfter(t,o,r)):null!==(t=null===this._linkedRecords?null:this._linkedRecords.get(i,r))?(Object.is(t.item,e)||this._addIdentityChange(t,e),this._moveAfter(t,o,r)):t=this._addAfter(new hx(e,i),o,r),t}_verifyReinsertion(t,e,i,r){let o=null===this._unlinkedRecords?null:this._unlinkedRecords.get(i,null);return null!==o?t=this._reinsertAfter(o,t._prev,r):t.currentIndex!=r&&(t.currentIndex=r,this._addToMoves(t,r)),t}_truncate(t){for(;null!==t;){const e=t._next;this._addToRemovals(this._unlink(t)),t=e}null!==this._unlinkedRecords&&this._unlinkedRecords.clear(),null!==this._additionsTail&&(this._additionsTail._nextAdded=null),null!==this._movesTail&&(this._movesTail._nextMoved=null),null!==this._itTail&&(this._itTail._next=null),null!==this._removalsTail&&(this._removalsTail._nextRemoved=null),null!==this._identityChangesTail&&(this._identityChangesTail._nextIdentityChange=null)}_reinsertAfter(t,e,i){null!==this._unlinkedRecords&&this._unlinkedRecords.remove(t);const r=t._prevRemoved,o=t._nextRemoved;return null===r?this._removalsHead=o:r._nextRemoved=o,null===o?this._removalsTail=r:o._prevRemoved=r,this._insertAfter(t,e,i),this._addToMoves(t,i),t}_moveAfter(t,e,i){return this._unlink(t),this._insertAfter(t,e,i),this._addToMoves(t,i),t}_addAfter(t,e,i){return this._insertAfter(t,e,i),this._additionsTail=null===this._additionsTail?this._additionsHead=t:this._additionsTail._nextAdded=t,t}_insertAfter(t,e,i){const r=null===e?this._itHead:e._next;return t._next=r,t._prev=e,null===r?this._itTail=t:r._prev=t,null===e?this._itHead=t:e._next=t,null===this._linkedRecords&&(this._linkedRecords=new iv),this._linkedRecords.put(t),t.currentIndex=i,t}_remove(t){return this._addToRemovals(this._unlink(t))}_unlink(t){null!==this._linkedRecords&&this._linkedRecords.remove(t);const e=t._prev,i=t._next;return null===e?this._itHead=i:e._next=i,null===i?this._itTail=e:i._prev=e,t}_addToMoves(t,e){return t.previousIndex===e||(this._movesTail=null===this._movesTail?this._movesHead=t:this._movesTail._nextMoved=t),t}_addToRemovals(t){return null===this._unlinkedRecords&&(this._unlinkedRecords=new iv),this._unlinkedRecords.put(t),t.currentIndex=null,t._nextRemoved=null,null===this._removalsTail?(this._removalsTail=this._removalsHead=t,t._prevRemoved=null):(t._prevRemoved=this._removalsTail,this._removalsTail=this._removalsTail._nextRemoved=t),t}_addIdentityChange(t,e){return t.item=e,this._identityChangesTail=null===this._identityChangesTail?this._identityChangesHead=t:this._identityChangesTail._nextIdentityChange=t,t}}class hx{constructor(t,e){this.item=t,this.trackById=e,this.currentIndex=null,this.previousIndex=null,this._nextPrevious=null,this._prev=null,this._next=null,this._prevDup=null,this._nextDup=null,this._prevRemoved=null,this._nextRemoved=null,this._nextAdded=null,this._nextMoved=null,this._nextIdentityChange=null}}class px{constructor(){this._head=null,this._tail=null}add(t){null===this._head?(this._head=this._tail=t,t._nextDup=null,t._prevDup=null):(this._tail._nextDup=t,t._prevDup=this._tail,t._nextDup=null,this._tail=t)}get(t,e){let i;for(i=this._head;null!==i;i=i._nextDup)if((null===e||e<=i.currentIndex)&&Object.is(i.trackById,t))return i;return null}remove(t){const e=t._prevDup,i=t._nextDup;return null===e?this._head=i:e._nextDup=i,null===i?this._tail=e:i._prevDup=e,null===this._head}}class iv{constructor(){this.map=new Map}put(t){const e=t.trackById;let i=this.map.get(e);i||(i=new px,this.map.set(e,i)),i.add(t)}get(t,e){const r=this.map.get(t);return r?r.get(t,e):null}remove(t){const e=t.trackById;return this.map.get(e).remove(t)&&this.map.delete(e),t}get isEmpty(){return 0===this.map.size}clear(){this.map.clear()}}function rv(n,t,e){const i=n.previousIndex;if(null===i)return i;let r=0;return e&&i{if(e&&e.key===r)this._maybeAddToChanges(e,i),this._appendAfter=e,e=e._next;else{const o=this._getOrCreateRecordForKey(r,i);e=this._insertBeforeOrAppend(e,o)}}),e){e._prev&&(e._prev._next=null),this._removalsHead=e;for(let i=e;null!==i;i=i._nextRemoved)i===this._mapHead&&(this._mapHead=null),this._records.delete(i.key),i._nextRemoved=i._next,i.previousValue=i.currentValue,i.currentValue=null,i._prev=null,i._next=null}return this._changesTail&&(this._changesTail._nextChanged=null),this._additionsTail&&(this._additionsTail._nextAdded=null),this.isDirty}_insertBeforeOrAppend(t,e){if(t){const i=t._prev;return e._next=t,e._prev=i,t._prev=e,i&&(i._next=e),t===this._mapHead&&(this._mapHead=e),this._appendAfter=t,t}return this._appendAfter?(this._appendAfter._next=e,e._prev=this._appendAfter):this._mapHead=e,this._appendAfter=e,null}_getOrCreateRecordForKey(t,e){if(this._records.has(t)){const r=this._records.get(t);this._maybeAddToChanges(r,e);const o=r._prev,s=r._next;return o&&(o._next=s),s&&(s._prev=o),r._next=null,r._prev=null,r}const i=new gx(t);return this._records.set(t,i),i.currentValue=e,this._addToAdditions(i),i}_reset(){if(this.isDirty){let t;for(this._previousMapHead=this._mapHead,t=this._previousMapHead;null!==t;t=t._next)t._nextPrevious=t._next;for(t=this._changesHead;null!==t;t=t._nextChanged)t.previousValue=t.currentValue;for(t=this._additionsHead;null!=t;t=t._nextAdded)t.previousValue=t.currentValue;this._changesHead=this._changesTail=null,this._additionsHead=this._additionsTail=null,this._removalsHead=null}}_maybeAddToChanges(t,e){Object.is(e,t.currentValue)||(t.previousValue=t.currentValue,t.currentValue=e,this._addToChanges(t))}_addToAdditions(t){null===this._additionsHead?this._additionsHead=this._additionsTail=t:(this._additionsTail._nextAdded=t,this._additionsTail=t)}_addToChanges(t){null===this._changesHead?this._changesHead=this._changesTail=t:(this._changesTail._nextChanged=t,this._changesTail=t)}_forEach(t,e){t instanceof Map?t.forEach(e):Object.keys(t).forEach(i=>e(t[i],i))}}class gx{constructor(t){this.key=t,this.previousValue=null,this.currentValue=null,this._nextPrevious=null,this._next=null,this._prev=null,this._nextAdded=null,this._nextRemoved=null,this._nextChanged=null}}function sv(){return new Ra([new nv])}let Ra=(()=>{class n{constructor(e){this.factories=e}static create(e,i){if(null!=i){const r=i.factories.slice();e=e.concat(r)}return new n(e)}static extend(e){return{provide:n,useFactory:i=>n.create(e,i||sv()),deps:[[n,new Qs,new Ks]]}}find(e){const i=this.factories.find(r=>r.supports(e));if(null!=i)return i;throw new D(901,!1)}}return n.\u0275prov=H({token:n,providedIn:"root",factory:sv}),n})();function av(){return new Uo([new ov])}let Uo=(()=>{class n{constructor(e){this.factories=e}static create(e,i){if(i){const r=i.factories.slice();e=e.concat(r)}return new n(e)}static extend(e){return{provide:n,useFactory:i=>n.create(e,i||av()),deps:[[n,new Qs,new Ks]]}}find(e){const i=this.factories.find(r=>r.supports(e));if(i)return i;throw new D(901,!1)}}return n.\u0275prov=H({token:n,providedIn:"root",factory:av}),n})();const vx=W_(null,"core",[]);let bx=(()=>{class n{constructor(e){}}return n.\u0275fac=function(e){return new(e||n)(O(Ho))},n.\u0275mod=Ne({type:n}),n.\u0275inj=Ae({}),n})();let bd=null;function $i(){return bd}class Sx{}const zt=new F("DocumentToken");var Et=(()=>((Et=Et||{})[Et.Decimal=0]="Decimal",Et[Et.Percent=1]="Percent",Et[Et.Currency=2]="Currency",Et[Et.Scientific=3]="Scientific",Et))(),R=(()=>((R=R||{})[R.Decimal=0]="Decimal",R[R.Group=1]="Group",R[R.List=2]="List",R[R.PercentSign=3]="PercentSign",R[R.PlusSign=4]="PlusSign",R[R.MinusSign=5]="MinusSign",R[R.Exponential=6]="Exponential",R[R.SuperscriptingExponent=7]="SuperscriptingExponent",R[R.PerMille=8]="PerMille",R[R.Infinity=9]="Infinity",R[R.NaN=10]="NaN",R[R.TimeSeparator=11]="TimeSeparator",R[R.CurrencyDecimal=12]="CurrencyDecimal",R[R.CurrencyGroup=13]="CurrencyGroup",R))();function Wt(n,t){const e=gt(n),i=e[I.NumberSymbols][t];if(typeof i>"u"){if(t===R.CurrencyDecimal)return e[I.NumberSymbols][R.Decimal];if(t===R.CurrencyGroup)return e[I.NumberSymbols][R.Group]}return i}const Zx=/^(\d+)?\.((\d+)(-(\d+))?)?$/;function Md(n){const t=parseInt(n);if(isNaN(t))throw new Error("Invalid integer literal when parsing "+n);return t}function yv(n,t){t=encodeURIComponent(t);for(const e of n.split(";")){const i=e.indexOf("="),[r,o]=-1==i?[e,""]:[e.slice(0,i),e.slice(i+1)];if(r.trim()===t)return decodeURIComponent(o)}return null}const xd=/\s+/,_v=[];let Kn=(()=>{class n{constructor(e,i,r,o){this._iterableDiffers=e,this._keyValueDiffers=i,this._ngEl=r,this._renderer=o,this.initialClasses=_v,this.stateMap=new Map}set klass(e){this.initialClasses=null!=e?e.trim().split(xd):_v}set ngClass(e){this.rawClass="string"==typeof e?e.trim().split(xd):e}ngDoCheck(){for(const i of this.initialClasses)this._updateState(i,!0);const e=this.rawClass;if(Array.isArray(e)||e instanceof Set)for(const i of e)this._updateState(i,!0);else if(null!=e)for(const i of Object.keys(e))this._updateState(i,Boolean(e[i]));this._applyStateDiff()}_updateState(e,i){const r=this.stateMap.get(e);void 0!==r?(r.enabled!==i&&(r.changed=!0,r.enabled=i),r.touched=!0):this.stateMap.set(e,{enabled:i,changed:!0,touched:!0})}_applyStateDiff(){for(const e of this.stateMap){const 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()).length>0&&e.split(xd).forEach(r=>{i?this._renderer.addClass(this._ngEl.nativeElement,r):this._renderer.removeClass(this._ngEl.nativeElement,r)})}}return n.\u0275fac=function(e){return new(e||n)(v(Ra),v(Uo),v(rt),v(Vn))},n.\u0275dir=V({type:n,selectors:[["","ngClass",""]],inputs:{klass:["class","klass"],ngClass:"ngClass"},standalone:!0}),n})(),fi=(()=>{class n{constructor(e,i){this._viewContainer=e,this._context=new h1,this._thenTemplateRef=null,this._elseTemplateRef=null,this._thenViewRef=null,this._elseViewRef=null,this._thenTemplateRef=i}set ngIf(e){this._context.$implicit=this._context.ngIf=e,this._updateView()}set ngIfThen(e){Ev("ngIfThen",e),this._thenTemplateRef=e,this._thenViewRef=null,this._updateView()}set ngIfElse(e){Ev("ngIfElse",e),this._elseTemplateRef=e,this._elseViewRef=null,this._updateView()}_updateView(){this._context.$implicit?this._thenViewRef||(this._viewContainer.clear(),this._elseViewRef=null,this._thenTemplateRef&&(this._thenViewRef=this._viewContainer.createEmbeddedView(this._thenTemplateRef,this._context))):this._elseViewRef||(this._viewContainer.clear(),this._thenViewRef=null,this._elseTemplateRef&&(this._elseViewRef=this._viewContainer.createEmbeddedView(this._elseTemplateRef,this._context)))}static ngTemplateContextGuard(e,i){return!0}}return n.\u0275fac=function(e){return new(e||n)(v(wn),v(Cn))},n.\u0275dir=V({type:n,selectors:[["","ngIf",""]],inputs:{ngIf:"ngIf",ngIfThen:"ngIfThen",ngIfElse:"ngIfElse"},standalone:!0}),n})();class h1{constructor(){this.$implicit=null,this.ngIf=null}}function Ev(n,t){if(t&&!t.createEmbeddedView)throw new Error(`${n} must be a TemplateRef, but received '${pe(t)}'.`)}class Pd{constructor(t,e){this._viewContainerRef=t,this._templateRef=e,this._created=!1}create(){this._created=!0,this._viewContainerRef.createEmbeddedView(this._templateRef)}destroy(){this._created=!1,this._viewContainerRef.clear()}enforceState(t){t&&!this._created?this.create():!t&&this._created&&this.destroy()}}let Wo=(()=>{class n{constructor(){this._defaultViews=[],this._defaultUsed=!1,this._caseCount=0,this._lastCaseCheckIndex=0,this._lastCasesMatched=!1}set ngSwitch(e){this._ngSwitch=e,0===this._caseCount&&this._updateDefaultCases(!0)}_addCase(){return this._caseCount++}_addDefault(e){this._defaultViews.push(e)}_matchCase(e){const i=e==this._ngSwitch;return this._lastCasesMatched=this._lastCasesMatched||i,this._lastCaseCheckIndex++,this._lastCaseCheckIndex===this._caseCount&&(this._updateDefaultCases(!this._lastCasesMatched),this._lastCaseCheckIndex=0,this._lastCasesMatched=!1),i}_updateDefaultCases(e){if(this._defaultViews.length>0&&e!==this._defaultUsed){this._defaultUsed=e;for(const i of this._defaultViews)i.enforceState(e)}}}return n.\u0275fac=function(e){return new(e||n)},n.\u0275dir=V({type:n,selectors:[["","ngSwitch",""]],inputs:{ngSwitch:"ngSwitch"},standalone:!0}),n})(),Od=(()=>{class n{constructor(e,i,r){this.ngSwitch=r,r._addCase(),this._view=new Pd(e,i)}ngDoCheck(){this._view.enforceState(this.ngSwitch._matchCase(this.ngSwitchCase))}}return n.\u0275fac=function(e){return new(e||n)(v(wn),v(Cn),v(Wo,9))},n.\u0275dir=V({type:n,selectors:[["","ngSwitchCase",""]],inputs:{ngSwitchCase:"ngSwitchCase"},standalone:!0}),n})(),Sv=(()=>{class n{constructor(e,i,r){r._addDefault(new Pd(e,i))}}return n.\u0275fac=function(e){return new(e||n)(v(wn),v(Cn),v(Wo,9))},n.\u0275dir=V({type:n,selectors:[["","ngSwitchDefault",""]],standalone:!0}),n})(),Vr=(()=>{class n{constructor(e,i,r){this._ngEl=e,this._differs=i,this._renderer=r,this._ngStyle=null,this._differ=null}set ngStyle(e){this._ngStyle=e,!this._differ&&e&&(this._differ=this._differs.find(e).create())}ngDoCheck(){if(this._differ){const e=this._differ.diff(this._ngStyle);e&&this._applyChanges(e)}}_setStyle(e,i){const[r,o]=e.split("."),s=-1===r.indexOf("-")?void 0:bt.DashCase;null!=i?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))}}return n.\u0275fac=function(e){return new(e||n)(v(rt),v(Uo),v(Vn))},n.\u0275dir=V({type:n,selectors:[["","ngStyle",""]],inputs:{ngStyle:"ngStyle"},standalone:!0}),n})(),Wa=(()=>{class n{constructor(e){this._viewContainerRef=e,this._viewRef=null,this.ngTemplateOutletContext=null,this.ngTemplateOutlet=null,this.ngTemplateOutletInjector=null}ngOnChanges(e){if(e.ngTemplateOutlet||e.ngTemplateOutletInjector){const i=this._viewContainerRef;if(this._viewRef&&i.remove(i.indexOf(this._viewRef)),this.ngTemplateOutlet){const{ngTemplateOutlet:r,ngTemplateOutletContext:o,ngTemplateOutletInjector:s}=this;this._viewRef=i.createEmbeddedView(r,o,s?{injector:s}:void 0)}else this._viewRef=null}else this._viewRef&&e.ngTemplateOutletContext&&this.ngTemplateOutletContext&&(this._viewRef.context=this.ngTemplateOutletContext)}}return n.\u0275fac=function(e){return new(e||n)(v(wn))},n.\u0275dir=V({type:n,selectors:[["","ngTemplateOutlet",""]],inputs:{ngTemplateOutletContext:"ngTemplateOutletContext",ngTemplateOutlet:"ngTemplateOutlet",ngTemplateOutletInjector:"ngTemplateOutletInjector"},standalone:!0,features:[rn]}),n})();function dn(n,t){return new D(2100,!1)}class m1{createSubscription(t,e){return t.subscribe({next:e,error:i=>{throw i}})}dispose(t){t.unsubscribe()}}class g1{createSubscription(t,e){return t.then(e,i=>{throw i})}dispose(t){}}const y1=new g1,_1=new m1;let Nd=(()=>{class n{constructor(e){this._latestValue=null,this._subscription=null,this._obj=null,this._strategy=null,this._ref=e}ngOnDestroy(){this._subscription&&this._dispose(),this._ref=null}transform(e){return this._obj?e!==this._obj?(this._dispose(),this.transform(e)):this._latestValue:(e&&this._subscribe(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(ya(e))return y1;if(wg(e))return _1;throw dn()}_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._ref.markForCheck())}}return n.\u0275fac=function(e){return new(e||n)(v(Gn,16))},n.\u0275pipe=dt({name:"async",type:n,pure:!1,standalone:!0}),n})(),Iv=(()=>{class n{constructor(e){this._locale=e}transform(e,i,r){if(!function Fd(n){return!(null==n||""===n||n!=n)}(e))return null;r=r||this._locale;try{return function r1(n,t,e){return function Id(n,t,e,i,r,o,s=!1){let a="",l=!1;if(isFinite(n)){let c=function s1(n){let i,r,o,s,a,t=Math.abs(n)+"",e=0;for((r=t.indexOf("."))>-1&&(t=t.replace(".","")),(o=t.search(/e/i))>0?(r<0&&(r=o),r+=+t.slice(o+1),t=t.substring(0,o)):r<0&&(r=t.length),o=0;"0"===t.charAt(o);o++);if(o===(a=t.length))i=[0],r=1;else{for(a--;"0"===t.charAt(a);)a--;for(r-=o,i=[],s=0;o<=a;o++,s++)i[s]=Number(t.charAt(o))}return r>22&&(i=i.splice(0,21),e=r-1,r=1),{digits:i,exponent:e,integerLen:r}}(n);s&&(c=function o1(n){if(0===n.digits[0])return n;const t=n.digits.length-n.integerLen;return n.exponent?n.exponent+=2:(0===t?n.digits.push(0,0):1===t&&n.digits.push(0),n.integerLen+=2),n}(c));let u=t.minInt,d=t.minFrac,f=t.maxFrac;if(o){const S=o.match(Zx);if(null===S)throw new Error(`${o} is not a valid digit info`);const g=S[1],M=S[3],ie=S[5];null!=g&&(u=Md(g)),null!=M&&(d=Md(M)),null!=ie?f=Md(ie):null!=M&&d>f&&(f=d)}!function a1(n,t,e){if(t>e)throw new Error(`The minimum number of digits after fraction (${t}) is higher than the maximum (${e}).`);let i=n.digits,r=i.length-n.integerLen;const o=Math.min(Math.max(t,r),e);let s=o+n.integerLen,a=i[s];if(s>0){i.splice(Math.max(n.integerLen,s));for(let d=s;d=5)if(s-1<0){for(let d=0;d>s;d--)i.unshift(0),n.integerLen++;i.unshift(1),n.integerLen++}else i[s-1]++;for(;r=c?p.pop():l=!1),f>=10?1:0},0);u&&(i.unshift(u),n.integerLen++)}(c,d,f);let h=c.digits,p=c.integerLen;const m=c.exponent;let y=[];for(l=h.every(S=>!S);p0?y=h.splice(p,h.length):(y=h,h=[0]);const _=[];for(h.length>=t.lgSize&&_.unshift(h.splice(-t.lgSize,h.length).join(""));h.length>t.gSize;)_.unshift(h.splice(-t.gSize,h.length).join(""));h.length&&_.unshift(h.join("")),a=_.join(Wt(e,i)),y.length&&(a+=Wt(e,r)+y.join("")),m&&(a+=Wt(e,R.Exponential)+"+"+m)}else a=Wt(e,R.Infinity);return a=n<0&&!l?t.negPre+a+t.negSuf:t.posPre+a+t.posSuf,a}(n,function Td(n,t="-"){const e={minInt:1,minFrac:0,maxFrac:0,posPre:"",posSuf:"",negPre:"",negSuf:"",gSize:0,lgSize:0},i=n.split(";"),r=i[0],o=i[1],s=-1!==r.indexOf(".")?r.split("."):[r.substring(0,r.lastIndexOf("0")+1),r.substring(r.lastIndexOf("0")+1)],a=s[0],l=s[1]||"";e.posPre=a.substring(0,a.indexOf("#"));for(let u=0;u{class n{}return n.\u0275fac=function(e){return new(e||n)},n.\u0275mod=Ne({type:n}),n.\u0275inj=Ae({}),n})();class Av{}class dP extends Sx{constructor(){super(...arguments),this.supportsDOMEvents=!0}}class jd extends dP{static makeCurrent(){!function Ex(n){bd||(bd=n)}(new jd)}onAndCancel(t,e,i){return t.addEventListener(e,i,!1),()=>{t.removeEventListener(e,i,!1)}}dispatchEvent(t,e){t.dispatchEvent(e)}remove(t){t.parentNode&&t.parentNode.removeChild(t)}createElement(t,e){return(e=e||this.getDefaultDocument()).createElement(t)}createHtmlDocument(){return document.implementation.createHTMLDocument("fakeTitle")}getDefaultDocument(){return document}isElementNode(t){return t.nodeType===Node.ELEMENT_NODE}isShadowRoot(t){return t instanceof DocumentFragment}getGlobalEventTarget(t,e){return"window"===e?window:"document"===e?t:"body"===e?t.body:null}getBaseHref(t){const e=function fP(){return qo=qo||document.querySelector("base"),qo?qo.getAttribute("href"):null}();return null==e?null:function hP(n){qa=qa||document.createElement("a"),qa.setAttribute("href",n);const t=qa.pathname;return"/"===t.charAt(0)?t:`/${t}`}(e)}resetBaseElement(){qo=null}getUserAgent(){return window.navigator.userAgent}getCookie(t){return yv(document.cookie,t)}}let qa,qo=null;const Rv=new F("TRANSITION_ID"),mP=[{provide:F_,useFactory:function pP(n,t,e){return()=>{e.get(xa).donePromise.then(()=>{const i=$i(),r=t.querySelectorAll(`style[ng-transition="${n}"]`);for(let o=0;o{class n{build(){return new XMLHttpRequest}}return n.\u0275fac=function(e){return new(e||n)},n.\u0275prov=H({token:n,factory:n.\u0275fac}),n})();const Ka=new F("EventManagerPlugins");let Qa=(()=>{class n{constructor(e,i){this._zone=i,this._eventNameToPlugin=new Map,e.forEach(r=>r.manager=this),this._plugins=e.slice().reverse()}addEventListener(e,i,r){return this._findPluginFor(i).addEventListener(e,i,r)}addGlobalEventListener(e,i,r){return this._findPluginFor(i).addGlobalEventListener(e,i,r)}getZone(){return this._zone}_findPluginFor(e){const i=this._eventNameToPlugin.get(e);if(i)return i;const r=this._plugins;for(let o=0;o{class n{constructor(){this._stylesSet=new Set}addStyles(e){const i=new Set;e.forEach(r=>{this._stylesSet.has(r)||(this._stylesSet.add(r),i.add(r))}),this.onStylesAdded(i)}onStylesAdded(e){}getAllStyles(){return Array.from(this._stylesSet)}}return n.\u0275fac=function(e){return new(e||n)},n.\u0275prov=H({token:n,factory:n.\u0275fac}),n})(),Ko=(()=>{class n extends kv{constructor(e){super(),this._doc=e,this._hostNodes=new Map,this._hostNodes.set(e.head,[])}_addStylesToHost(e,i,r){e.forEach(o=>{const s=this._doc.createElement("style");s.textContent=o,r.push(i.appendChild(s))})}addHost(e){const i=[];this._addStylesToHost(this._stylesSet,e,i),this._hostNodes.set(e,i)}removeHost(e){const i=this._hostNodes.get(e);i&&i.forEach(jv),this._hostNodes.delete(e)}onStylesAdded(e){this._hostNodes.forEach((i,r)=>{this._addStylesToHost(e,r,i)})}ngOnDestroy(){this._hostNodes.forEach(e=>e.forEach(jv))}}return n.\u0275fac=function(e){return new(e||n)(O(zt))},n.\u0275prov=H({token:n,factory:n.\u0275fac}),n})();function jv(n){$i().remove(n)}const Vd={svg:"http://www.w3.org/2000/svg",xhtml:"http://www.w3.org/1999/xhtml",xlink:"http://www.w3.org/1999/xlink",xml:"http://www.w3.org/XML/1998/namespace",xmlns:"http://www.w3.org/2000/xmlns/",math:"http://www.w3.org/1998/MathML/"},Bd=/%COMP%/g;function Hd(n,t){return t.flat(100).map(e=>e.replace(Bd,n))}function Hv(n){return t=>{if("__ngUnwrap__"===t)return n;!1===n(t)&&(t.preventDefault(),t.returnValue=!1)}}let Ya=(()=>{class n{constructor(e,i,r){this.eventManager=e,this.sharedStylesHost=i,this.appId=r,this.rendererByCompId=new Map,this.defaultRenderer=new Ud(e)}createRenderer(e,i){if(!e||!i)return this.defaultRenderer;switch(i.encapsulation){case Jt.Emulated:{let r=this.rendererByCompId.get(i.id);return r||(r=new SP(this.eventManager,this.sharedStylesHost,i,this.appId),this.rendererByCompId.set(i.id,r)),r.applyToHost(e),r}case Jt.ShadowDom:return new CP(this.eventManager,this.sharedStylesHost,e,i);default:if(!this.rendererByCompId.has(i.id)){const r=Hd(i.id,i.styles);this.sharedStylesHost.addStyles(r),this.rendererByCompId.set(i.id,this.defaultRenderer)}return this.defaultRenderer}}begin(){}end(){}}return n.\u0275fac=function(e){return new(e||n)(O(Qa),O(Ko),O(Bo))},n.\u0275prov=H({token:n,factory:n.\u0275fac}),n})();class Ud{constructor(t){this.eventManager=t,this.data=Object.create(null),this.destroyNode=null}destroy(){}createElement(t,e){return e?document.createElementNS(Vd[e]||e,t):document.createElement(t)}createComment(t){return document.createComment(t)}createText(t){return document.createTextNode(t)}appendChild(t,e){($v(t)?t.content:t).appendChild(e)}insertBefore(t,e,i){t&&($v(t)?t.content:t).insertBefore(e,i)}removeChild(t,e){t&&t.removeChild(e)}selectRootElement(t,e){let i="string"==typeof t?document.querySelector(t):t;if(!i)throw new Error(`The selector "${t}" did not match any elements`);return e||(i.textContent=""),i}parentNode(t){return t.parentNode}nextSibling(t){return t.nextSibling}setAttribute(t,e,i,r){if(r){e=r+":"+e;const o=Vd[r];o?t.setAttributeNS(o,e,i):t.setAttribute(e,i)}else t.setAttribute(e,i)}removeAttribute(t,e,i){if(i){const r=Vd[i];r?t.removeAttributeNS(r,e):t.removeAttribute(`${i}:${e}`)}else t.removeAttribute(e)}addClass(t,e){t.classList.add(e)}removeClass(t,e){t.classList.remove(e)}setStyle(t,e,i,r){r&(bt.DashCase|bt.Important)?t.style.setProperty(e,i,r&bt.Important?"important":""):t.style[e]=i}removeStyle(t,e,i){i&bt.DashCase?t.style.removeProperty(e):t.style[e]=""}setProperty(t,e,i){t[e]=i}setValue(t,e){t.nodeValue=e}listen(t,e,i){return"string"==typeof t?this.eventManager.addGlobalEventListener(t,e,Hv(i)):this.eventManager.addEventListener(t,e,Hv(i))}}function $v(n){return"TEMPLATE"===n.tagName&&void 0!==n.content}class SP extends Ud{constructor(t,e,i,r){super(t),this.component=i;const o=Hd(r+"-"+i.id,i.styles);e.addStyles(o),this.contentAttr=function bP(n){return"_ngcontent-%COMP%".replace(Bd,n)}(r+"-"+i.id),this.hostAttr=function DP(n){return"_nghost-%COMP%".replace(Bd,n)}(r+"-"+i.id)}applyToHost(t){super.setAttribute(t,this.hostAttr,"")}createElement(t,e){const i=super.createElement(t,e);return super.setAttribute(i,this.contentAttr,""),i}}class CP extends Ud{constructor(t,e,i,r){super(t),this.sharedStylesHost=e,this.hostEl=i,this.shadowRoot=i.attachShadow({mode:"open"}),this.sharedStylesHost.addHost(this.shadowRoot);const o=Hd(r.id,r.styles);for(let s=0;s{class n extends Lv{constructor(e){super(e)}supports(e){return!0}addEventListener(e,i,r){return e.addEventListener(i,r,!1),()=>this.removeEventListener(e,i,r)}removeEventListener(e,i,r){return e.removeEventListener(i,r)}}return n.\u0275fac=function(e){return new(e||n)(O(zt))},n.\u0275prov=H({token:n,factory:n.\u0275fac}),n})();const zv=["alt","control","meta","shift"],IP={"\b":"Backspace","\t":"Tab","\x7f":"Delete","\x1b":"Escape",Del:"Delete",Esc:"Escape",Left:"ArrowLeft",Right:"ArrowRight",Up:"ArrowUp",Down:"ArrowDown",Menu:"ContextMenu",Scroll:"ScrollLock",Win:"OS"},TP={alt:n=>n.altKey,control:n=>n.ctrlKey,meta:n=>n.metaKey,shift:n=>n.shiftKey};let MP=(()=>{class n extends Lv{constructor(e){super(e)}supports(e){return null!=n.parseEventName(e)}addEventListener(e,i,r){const o=n.parseEventName(i),s=n.eventCallback(o.fullKey,r,this.manager.getZone());return this.manager.getZone().runOutsideAngular(()=>$i().onAndCancel(e,o.domEventName,s))}static parseEventName(e){const i=e.toLowerCase().split("."),r=i.shift();if(0===i.length||"keydown"!==r&&"keyup"!==r)return null;const o=n._normalizeKey(i.pop());let s="",a=i.indexOf("code");if(a>-1&&(i.splice(a,1),s="code."),zv.forEach(c=>{const u=i.indexOf(c);u>-1&&(i.splice(u,1),s+=c+".")}),s+=o,0!=i.length||0===o.length)return null;const l={};return l.domEventName=r,l.fullKey=s,l}static matchEventFullKeyCode(e,i){let r=IP[e.key]||e.key,o="";return i.indexOf("code.")>-1&&(r=e.code,o="code."),!(null==r||!r)&&(r=r.toLowerCase()," "===r?r="space":"."===r&&(r="dot"),zv.forEach(s=>{s!==r&&(0,TP[s])(e)&&(o+=s+".")}),o+=r,o===i)}static eventCallback(e,i,r){return o=>{n.matchEventFullKeyCode(o,e)&&r.runGuarded(()=>i(o))}}static _normalizeKey(e){return"esc"===e?"escape":e}}return n.\u0275fac=function(e){return new(e||n)(O(zt))},n.\u0275prov=H({token:n,factory:n.\u0275fac}),n})();const Gv=[{provide:sd,useValue:"browser"},{provide:L_,useValue:function AP(){jd.makeCurrent()},multi:!0},{provide:zt,useFactory:function PP(){return function Mw(n){Yc=n}(document),document},deps:[]}],OP=W_(vx,"browser",Gv),qv=new F(""),Kv=[{provide:Pa,useClass:class gP{addToWindow(t){me.getAngularTestability=(i,r=!0)=>{const o=t.findTestabilityInTree(i,r);if(null==o)throw new Error("Could not find testability for element.");return o},me.getAllAngularTestabilities=()=>t.getAllTestabilities(),me.getAllAngularRootElements=()=>t.getAllRootElements(),me.frameworkStabilizers||(me.frameworkStabilizers=[]),me.frameworkStabilizers.push(i=>{const r=me.getAllAngularTestabilities();let o=r.length,s=!1;const a=function(l){s=s||l,o--,0==o&&i(s)};r.forEach(function(l){l.whenStable(a)})})}findTestabilityInTree(t,e,i){return null==e?null:t.getTestability(e)??(i?$i().isShadowRoot(e)?this.findTestabilityInTree(t,e.host,!0):this.findTestabilityInTree(t,e.parentElement,!0):null)}},deps:[]},{provide:U_,useClass:ud,deps:[Se,dd,Pa]},{provide:ud,useClass:ud,deps:[Se,dd,Pa]}],Qv=[{provide:ou,useValue:"root"},{provide:vr,useFactory:function xP(){return new vr},deps:[]},{provide:Ka,useClass:wP,multi:!0,deps:[zt,Se,sd]},{provide:Ka,useClass:MP,multi:!0,deps:[zt]},{provide:Ya,useClass:Ya,deps:[Qa,Ko,Bo]},{provide:bo,useExisting:Ya},{provide:kv,useExisting:Ko},{provide:Ko,useClass:Ko,deps:[zt]},{provide:Qa,useClass:Qa,deps:[Ka,Se]},{provide:Av,useClass:yP,deps:[]},[]];let Yv=(()=>{class n{constructor(e){}static withServerTransition(e){return{ngModule:n,providers:[{provide:Bo,useValue:e.appId},{provide:Rv,useExisting:Bo},mP]}}}return n.\u0275fac=function(e){return new(e||n)(O(qv,12))},n.\u0275mod=Ne({type:n}),n.\u0275inj=Ae({providers:[...Qv,...Kv],imports:[st,bx]}),n})();function Qo(n,t){return function(i){return i.lift(new UP(n,t))}}typeof window<"u"&&window;class UP{constructor(t,e){this.predicate=t,this.thisArg=e}call(t,e){return e.subscribe(new $P(t,this.predicate,this.thisArg))}}class $P extends De{constructor(t,e,i){super(t),this.predicate=e,this.thisArg=i,this.count=0}_next(t){let e;try{e=this.predicate.call(this.thisArg,t,this.count++)}catch(i){return void this.destination.error(i)}e&&this.destination.next(t)}}const zP=(()=>{function n(){return Error.call(this),this.message="argument out of range",this.name="ArgumentOutOfRangeError",this}return n.prototype=Object.create(Error.prototype),n})(),Wd=new be(n=>n.complete());function Jv(n){return n?function WP(n){return new be(t=>n.schedule(()=>t.complete()))}(n):Wd}function Za(n){return t=>0===n?Jv():t.lift(new GP(n))}class GP{constructor(t){if(this.total=t,this.total<0)throw new zP}call(t,e){return e.subscribe(new qP(t,this.total))}}class qP extends De{constructor(t,e){super(t),this.total=e,this.count=0}_next(t){const e=this.total,i=++this.count;i<=e&&(this.destination.next(t),i===e&&(this.destination.complete(),this.unsubscribe()))}}class Gd extends hn{constructor(t){super(),this._value=t}get value(){return this.getValue()}_subscribe(t){const e=super._subscribe(t);return e&&!e.closed&&t.next(this._value),e}getValue(){if(this.hasError)throw this.thrownError;if(this.closed)throw new wi;return this._value}next(t){super.next(this._value=t)}}function Xa(n,t){return new be(e=>{const i=n.length;if(0===i)return void e.complete();const r=new Array(i);let o=0,s=0;for(let a=0;a{c||(c=!0,s++),r[a]=u},error:u=>e.error(u),complete:()=>{o++,(o===i||!c)&&(s===i&&e.next(t?t.reduce((u,d,f)=>(u[d]=r[f],u),{}):r),e.complete())}}))}})}let eb=(()=>{class n{constructor(e,i){this._renderer=e,this._elementRef=i,this.onChange=r=>{},this.onTouched=()=>{}}setProperty(e,i){this._renderer.setProperty(this._elementRef.nativeElement,e,i)}registerOnTouched(e){this.onTouched=e}registerOnChange(e){this.onChange=e}setDisabledState(e){this.setProperty("disabled",e)}}return n.\u0275fac=function(e){return new(e||n)(v(Vn),v(rt))},n.\u0275dir=V({type:n}),n})(),zi=(()=>{class n extends eb{}return n.\u0275fac=function(){let t;return function(i){return(t||(t=function nt(n){return oi(()=>{const t=n.prototype.constructor,e=t[Fn]||wc(t),i=Object.prototype;let r=Object.getPrototypeOf(n.prototype).constructor;for(;r&&r!==i;){const o=r[Fn]||wc(r);if(o&&o!==e)return o;r=Object.getPrototypeOf(r)}return o=>new o})}(n)))(i||n)}}(),n.\u0275dir=V({type:n,features:[ue]}),n})();const fn=new F("NgValueAccessor"),YP={provide:fn,useExisting:de(()=>Yo),multi:!0},XP=new F("CompositionEventMode");let Yo=(()=>{class n extends eb{constructor(e,i,r){super(e,i),this._compositionMode=r,this._composing=!1,null==this._compositionMode&&(this._compositionMode=!function ZP(){const n=$i()?$i().getUserAgent():"";return/android (\d+)/.test(n.toLowerCase())}())}writeValue(e){this.setProperty("value",e??"")}_handleInput(e){(!this._compositionMode||this._compositionMode&&!this._composing)&&this.onChange(e)}_compositionStart(){this._composing=!0}_compositionEnd(e){this._composing=!1,this._compositionMode&&this.onChange(e)}}return n.\u0275fac=function(e){return new(e||n)(v(Vn),v(rt),v(XP,8))},n.\u0275dir=V({type:n,selectors:[["input","formControlName","",3,"type","checkbox"],["textarea","formControlName",""],["input","formControl","",3,"type","checkbox"],["textarea","formControl",""],["input","ngModel","",3,"type","checkbox"],["textarea","ngModel",""],["","ngDefaultControl",""]],hostBindings:function(e,i){1&e&&q("input",function(o){return i._handleInput(o.target.value)})("blur",function(){return i.onTouched()})("compositionstart",function(){return i._compositionStart()})("compositionend",function(o){return i._compositionEnd(o.target.value)})},features:[he([YP]),ue]}),n})();function pi(n){return null==n||("string"==typeof n||Array.isArray(n))&&0===n.length}function nb(n){return null!=n&&"number"==typeof n.length}const Ze=new F("NgValidators"),mi=new F("NgAsyncValidators"),eO=/^(?=.{1,254}$)(?=.{1,64}@)[a-zA-Z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-zA-Z0-9!#$%&'*+/=?^_`{|}~-]+)*@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*$/;class Ja{static min(t){return function ib(n){return t=>{if(pi(t.value)||pi(n))return null;const e=parseFloat(t.value);return!isNaN(e)&&e{if(pi(t.value)||pi(n))return null;const e=parseFloat(t.value);return!isNaN(e)&&e>n?{max:{max:n,actual:t.value}}:null}}(t)}static required(t){return function ob(n){return pi(n.value)?{required:!0}:null}(t)}static requiredTrue(t){return function sb(n){return!0===n.value?null:{required:!0}}(t)}static email(t){return function ab(n){return pi(n.value)||eO.test(n.value)?null:{email:!0}}(t)}static minLength(t){return function lb(n){return t=>pi(t.value)||!nb(t.value)?null:t.value.lengthnb(t.value)&&t.value.length>n?{maxlength:{requiredLength:n,actualLength:t.value.length}}:null}(t)}static pattern(t){return function ub(n){if(!n)return el;let t,e;return"string"==typeof n?(e="","^"!==n.charAt(0)&&(e+="^"),e+=n,"$"!==n.charAt(n.length-1)&&(e+="$"),t=new RegExp(e)):(e=n.toString(),t=n),i=>{if(pi(i.value))return null;const r=i.value;return t.test(r)?null:{pattern:{requiredPattern:e,actualValue:r}}}}(t)}static nullValidator(t){return null}static compose(t){return gb(t)}static composeAsync(t){return yb(t)}}function el(n){return null}function db(n){return null!=n}function fb(n){return ya(n)?Ii(n):n}function hb(n){let t={};return n.forEach(e=>{t=null!=e?{...t,...e}:t}),0===Object.keys(t).length?null:t}function pb(n,t){return t.map(e=>e(n))}function mb(n){return n.map(t=>function tO(n){return!n.validate}(t)?t:e=>t.validate(e))}function gb(n){if(!n)return null;const t=n.filter(db);return 0==t.length?null:function(e){return hb(pb(e,t))}}function qd(n){return null!=n?gb(mb(n)):null}function yb(n){if(!n)return null;const t=n.filter(db);return 0==t.length?null:function(e){return function KP(...n){if(1===n.length){const t=n[0];if(Zt(t))return Xa(t,null);if(zl(t)&&Object.getPrototypeOf(t)===Object.prototype){const e=Object.keys(t);return Xa(e.map(i=>t[i]),e)}}if("function"==typeof n[n.length-1]){const t=n.pop();return Xa(n=1===n.length&&Zt(n[0])?n[0]:n,null).pipe(Xe(e=>t(...e)))}return Xa(n,null)}(pb(e,t).map(fb)).pipe(Xe(hb))}}function Kd(n){return null!=n?yb(mb(n)):null}function _b(n,t){return null===n?[t]:Array.isArray(n)?[...n,t]:[n,t]}function vb(n){return n._rawValidators}function bb(n){return n._rawAsyncValidators}function Qd(n){return n?Array.isArray(n)?n:[n]:[]}function tl(n,t){return Array.isArray(n)?n.includes(t):n===t}function Db(n,t){const e=Qd(t);return Qd(n).forEach(r=>{tl(e,r)||e.push(r)}),e}function Eb(n,t){return Qd(t).filter(e=>!tl(n,e))}class Sb{constructor(){this._rawValidators=[],this._rawAsyncValidators=[],this._onDestroyCallbacks=[]}get value(){return this.control?this.control.value:null}get valid(){return this.control?this.control.valid:null}get invalid(){return this.control?this.control.invalid:null}get pending(){return this.control?this.control.pending:null}get disabled(){return this.control?this.control.disabled:null}get enabled(){return this.control?this.control.enabled:null}get errors(){return this.control?this.control.errors:null}get pristine(){return this.control?this.control.pristine:null}get dirty(){return this.control?this.control.dirty:null}get touched(){return this.control?this.control.touched:null}get status(){return this.control?this.control.status:null}get untouched(){return this.control?this.control.untouched:null}get statusChanges(){return this.control?this.control.statusChanges:null}get valueChanges(){return this.control?this.control.valueChanges:null}get path(){return null}_setValidators(t){this._rawValidators=t||[],this._composedValidatorFn=qd(this._rawValidators)}_setAsyncValidators(t){this._rawAsyncValidators=t||[],this._composedAsyncValidatorFn=Kd(this._rawAsyncValidators)}get validator(){return this._composedValidatorFn||null}get asyncValidator(){return this._composedAsyncValidatorFn||null}_registerOnDestroy(t){this._onDestroyCallbacks.push(t)}_invokeOnDestroyCallbacks(){this._onDestroyCallbacks.forEach(t=>t()),this._onDestroyCallbacks=[]}reset(t){this.control&&this.control.reset(t)}hasError(t,e){return!!this.control&&this.control.hasError(t,e)}getError(t,e){return this.control?this.control.getError(t,e):null}}class _t extends Sb{get formDirective(){return null}get path(){return null}}class gi extends Sb{constructor(){super(...arguments),this._parent=null,this.name=null,this.valueAccessor=null}}class Cb{constructor(t){this._cd=t}get isTouched(){return!!this._cd?.control?.touched}get isUntouched(){return!!this._cd?.control?.untouched}get isPristine(){return!!this._cd?.control?.pristine}get isDirty(){return!!this._cd?.control?.dirty}get isValid(){return!!this._cd?.control?.valid}get isInvalid(){return!!this._cd?.control?.invalid}get isPending(){return!!this._cd?.control?.pending}get isSubmitted(){return!!this._cd?.submitted}}let Yd=(()=>{class n extends Cb{constructor(e){super(e)}}return n.\u0275fac=function(e){return new(e||n)(v(gi,2))},n.\u0275dir=V({type:n,selectors:[["","formControlName",""],["","ngModel",""],["","formControl",""]],hostVars:14,hostBindings:function(e,i){2&e&&Ao("ng-untouched",i.isUntouched)("ng-touched",i.isTouched)("ng-pristine",i.isPristine)("ng-dirty",i.isDirty)("ng-valid",i.isValid)("ng-invalid",i.isInvalid)("ng-pending",i.isPending)},features:[ue]}),n})(),Zd=(()=>{class n extends Cb{constructor(e){super(e)}}return n.\u0275fac=function(e){return new(e||n)(v(_t,10))},n.\u0275dir=V({type:n,selectors:[["","formGroupName",""],["","formArrayName",""],["","ngModelGroup",""],["","formGroup",""],["form",3,"ngNoForm",""],["","ngForm",""]],hostVars:16,hostBindings:function(e,i){2&e&&Ao("ng-untouched",i.isUntouched)("ng-touched",i.isTouched)("ng-pristine",i.isPristine)("ng-dirty",i.isDirty)("ng-valid",i.isValid)("ng-invalid",i.isInvalid)("ng-pending",i.isPending)("ng-submitted",i.isSubmitted)},features:[ue]}),n})();const Zo="VALID",il="INVALID",Br="PENDING",Xo="DISABLED";function tf(n){return(rl(n)?n.validators:n)||null}function nf(n,t){return(rl(t)?t.asyncValidators:n)||null}function rl(n){return null!=n&&!Array.isArray(n)&&"object"==typeof n}class Mb{constructor(t,e){this._pendingDirty=!1,this._hasOwnPendingAsyncValidator=!1,this._pendingTouched=!1,this._onCollectionChange=()=>{},this._parent=null,this.pristine=!0,this.touched=!1,this._onDisabledChange=[],this._assignValidators(t),this._assignAsyncValidators(e)}get validator(){return this._composedValidatorFn}set validator(t){this._rawValidators=this._composedValidatorFn=t}get asyncValidator(){return this._composedAsyncValidatorFn}set asyncValidator(t){this._rawAsyncValidators=this._composedAsyncValidatorFn=t}get parent(){return this._parent}get valid(){return this.status===Zo}get invalid(){return this.status===il}get pending(){return this.status==Br}get disabled(){return this.status===Xo}get enabled(){return this.status!==Xo}get dirty(){return!this.pristine}get untouched(){return!this.touched}get updateOn(){return this._updateOn?this._updateOn:this.parent?this.parent.updateOn:"change"}setValidators(t){this._assignValidators(t)}setAsyncValidators(t){this._assignAsyncValidators(t)}addValidators(t){this.setValidators(Db(t,this._rawValidators))}addAsyncValidators(t){this.setAsyncValidators(Db(t,this._rawAsyncValidators))}removeValidators(t){this.setValidators(Eb(t,this._rawValidators))}removeAsyncValidators(t){this.setAsyncValidators(Eb(t,this._rawAsyncValidators))}hasValidator(t){return tl(this._rawValidators,t)}hasAsyncValidator(t){return tl(this._rawAsyncValidators,t)}clearValidators(){this.validator=null}clearAsyncValidators(){this.asyncValidator=null}markAsTouched(t={}){this.touched=!0,this._parent&&!t.onlySelf&&this._parent.markAsTouched(t)}markAllAsTouched(){this.markAsTouched({onlySelf:!0}),this._forEachChild(t=>t.markAllAsTouched())}markAsUntouched(t={}){this.touched=!1,this._pendingTouched=!1,this._forEachChild(e=>{e.markAsUntouched({onlySelf:!0})}),this._parent&&!t.onlySelf&&this._parent._updateTouched(t)}markAsDirty(t={}){this.pristine=!1,this._parent&&!t.onlySelf&&this._parent.markAsDirty(t)}markAsPristine(t={}){this.pristine=!0,this._pendingDirty=!1,this._forEachChild(e=>{e.markAsPristine({onlySelf:!0})}),this._parent&&!t.onlySelf&&this._parent._updatePristine(t)}markAsPending(t={}){this.status=Br,!1!==t.emitEvent&&this.statusChanges.emit(this.status),this._parent&&!t.onlySelf&&this._parent.markAsPending(t)}disable(t={}){const e=this._parentMarkedDirty(t.onlySelf);this.status=Xo,this.errors=null,this._forEachChild(i=>{i.disable({...t,onlySelf:!0})}),this._updateValue(),!1!==t.emitEvent&&(this.valueChanges.emit(this.value),this.statusChanges.emit(this.status)),this._updateAncestors({...t,skipPristineCheck:e}),this._onDisabledChange.forEach(i=>i(!0))}enable(t={}){const e=this._parentMarkedDirty(t.onlySelf);this.status=Zo,this._forEachChild(i=>{i.enable({...t,onlySelf:!0})}),this.updateValueAndValidity({onlySelf:!0,emitEvent:t.emitEvent}),this._updateAncestors({...t,skipPristineCheck:e}),this._onDisabledChange.forEach(i=>i(!1))}_updateAncestors(t){this._parent&&!t.onlySelf&&(this._parent.updateValueAndValidity(t),t.skipPristineCheck||this._parent._updatePristine(),this._parent._updateTouched())}setParent(t){this._parent=t}getRawValue(){return this.value}updateValueAndValidity(t={}){this._setInitialStatus(),this._updateValue(),this.enabled&&(this._cancelExistingSubscription(),this.errors=this._runValidator(),this.status=this._calculateStatus(),(this.status===Zo||this.status===Br)&&this._runAsyncValidator(t.emitEvent)),!1!==t.emitEvent&&(this.valueChanges.emit(this.value),this.statusChanges.emit(this.status)),this._parent&&!t.onlySelf&&this._parent.updateValueAndValidity(t)}_updateTreeValidity(t={emitEvent:!0}){this._forEachChild(e=>e._updateTreeValidity(t)),this.updateValueAndValidity({onlySelf:!0,emitEvent:t.emitEvent})}_setInitialStatus(){this.status=this._allControlsDisabled()?Xo:Zo}_runValidator(){return this.validator?this.validator(this):null}_runAsyncValidator(t){if(this.asyncValidator){this.status=Br,this._hasOwnPendingAsyncValidator=!0;const e=fb(this.asyncValidator(this));this._asyncValidationSubscription=e.subscribe(i=>{this._hasOwnPendingAsyncValidator=!1,this.setErrors(i,{emitEvent:t})})}}_cancelExistingSubscription(){this._asyncValidationSubscription&&(this._asyncValidationSubscription.unsubscribe(),this._hasOwnPendingAsyncValidator=!1)}setErrors(t,e={}){this.errors=t,this._updateControlsErrors(!1!==e.emitEvent)}get(t){let e=t;return null==e||(Array.isArray(e)||(e=e.split(".")),0===e.length)?null:e.reduce((i,r)=>i&&i._find(r),this)}getError(t,e){const i=e?this.get(e):this;return i&&i.errors?i.errors[t]:null}hasError(t,e){return!!this.getError(t,e)}get root(){let t=this;for(;t._parent;)t=t._parent;return t}_updateControlsErrors(t){this.status=this._calculateStatus(),t&&this.statusChanges.emit(this.status),this._parent&&this._parent._updateControlsErrors(t)}_initObservables(){this.valueChanges=new Q,this.statusChanges=new Q}_calculateStatus(){return this._allControlsDisabled()?Xo:this.errors?il:this._hasOwnPendingAsyncValidator||this._anyControlsHaveStatus(Br)?Br:this._anyControlsHaveStatus(il)?il:Zo}_anyControlsHaveStatus(t){return this._anyControls(e=>e.status===t)}_anyControlsDirty(){return this._anyControls(t=>t.dirty)}_anyControlsTouched(){return this._anyControls(t=>t.touched)}_updatePristine(t={}){this.pristine=!this._anyControlsDirty(),this._parent&&!t.onlySelf&&this._parent._updatePristine(t)}_updateTouched(t={}){this.touched=this._anyControlsTouched(),this._parent&&!t.onlySelf&&this._parent._updateTouched(t)}_registerOnCollectionChange(t){this._onCollectionChange=t}_setUpdateStrategy(t){rl(t)&&null!=t.updateOn&&(this._updateOn=t.updateOn)}_parentMarkedDirty(t){return!t&&!(!this._parent||!this._parent.dirty)&&!this._parent._anyControlsDirty()}_find(t){return null}_assignValidators(t){this._rawValidators=Array.isArray(t)?t.slice():t,this._composedValidatorFn=function lO(n){return Array.isArray(n)?qd(n):n||null}(this._rawValidators)}_assignAsyncValidators(t){this._rawAsyncValidators=Array.isArray(t)?t.slice():t,this._composedAsyncValidatorFn=function cO(n){return Array.isArray(n)?Kd(n):n||null}(this._rawAsyncValidators)}}class Jo extends Mb{constructor(t,e,i){super(tf(e),nf(i,e)),this.controls=t,this._initObservables(),this._setUpdateStrategy(e),this._setUpControls(),this.updateValueAndValidity({onlySelf:!0,emitEvent:!!this.asyncValidator})}registerControl(t,e){return this.controls[t]?this.controls[t]:(this.controls[t]=e,e.setParent(this),e._registerOnCollectionChange(this._onCollectionChange),e)}addControl(t,e,i={}){this.registerControl(t,e),this.updateValueAndValidity({emitEvent:i.emitEvent}),this._onCollectionChange()}removeControl(t,e={}){this.controls[t]&&this.controls[t]._registerOnCollectionChange(()=>{}),delete this.controls[t],this.updateValueAndValidity({emitEvent:e.emitEvent}),this._onCollectionChange()}setControl(t,e,i={}){this.controls[t]&&this.controls[t]._registerOnCollectionChange(()=>{}),delete this.controls[t],e&&this.registerControl(t,e),this.updateValueAndValidity({emitEvent:i.emitEvent}),this._onCollectionChange()}contains(t){return this.controls.hasOwnProperty(t)&&this.controls[t].enabled}setValue(t,e={}){(function Tb(n,t,e){n._forEachChild((i,r)=>{if(void 0===e[r])throw new D(1002,"")})})(this,0,t),Object.keys(t).forEach(i=>{(function Ib(n,t,e){const i=n.controls;if(!(t?Object.keys(i):i).length)throw new D(1e3,"");if(!i[e])throw new D(1001,"")})(this,!0,i),this.controls[i].setValue(t[i],{onlySelf:!0,emitEvent:e.emitEvent})}),this.updateValueAndValidity(e)}patchValue(t,e={}){null!=t&&(Object.keys(t).forEach(i=>{const r=this.controls[i];r&&r.patchValue(t[i],{onlySelf:!0,emitEvent:e.emitEvent})}),this.updateValueAndValidity(e))}reset(t={},e={}){this._forEachChild((i,r)=>{i.reset(t[r],{onlySelf:!0,emitEvent:e.emitEvent})}),this._updatePristine(e),this._updateTouched(e),this.updateValueAndValidity(e)}getRawValue(){return this._reduceChildren({},(t,e,i)=>(t[i]=e.getRawValue(),t))}_syncPendingControls(){let t=this._reduceChildren(!1,(e,i)=>!!i._syncPendingControls()||e);return t&&this.updateValueAndValidity({onlySelf:!0}),t}_forEachChild(t){Object.keys(this.controls).forEach(e=>{const i=this.controls[e];i&&t(i,e)})}_setUpControls(){this._forEachChild(t=>{t.setParent(this),t._registerOnCollectionChange(this._onCollectionChange)})}_updateValue(){this.value=this._reduceValue()}_anyControls(t){for(const[e,i]of Object.entries(this.controls))if(this.contains(e)&&t(i))return!0;return!1}_reduceValue(){return this._reduceChildren({},(e,i,r)=>((i.enabled||this.disabled)&&(e[r]=i.value),e))}_reduceChildren(t,e){let i=t;return this._forEachChild((r,o)=>{i=e(i,r,o)}),i}_allControlsDisabled(){for(const t of Object.keys(this.controls))if(this.controls[t].enabled)return!1;return Object.keys(this.controls).length>0||this.disabled}_find(t){return this.controls.hasOwnProperty(t)?this.controls[t]:null}}const Hr=new F("CallSetDisabledState",{providedIn:"root",factory:()=>ol}),ol="always";function sl(n,t){return[...t.path,n]}function es(n,t,e=ol){rf(n,t),t.valueAccessor.writeValue(n.value),(n.disabled||"always"===e)&&t.valueAccessor.setDisabledState?.(n.disabled),function fO(n,t){t.valueAccessor.registerOnChange(e=>{n._pendingValue=e,n._pendingChange=!0,n._pendingDirty=!0,"change"===n.updateOn&&Ab(n,t)})}(n,t),function pO(n,t){const e=(i,r)=>{t.valueAccessor.writeValue(i),r&&t.viewToModelUpdate(i)};n.registerOnChange(e),t._registerOnDestroy(()=>{n._unregisterOnChange(e)})}(n,t),function hO(n,t){t.valueAccessor.registerOnTouched(()=>{n._pendingTouched=!0,"blur"===n.updateOn&&n._pendingChange&&Ab(n,t),"submit"!==n.updateOn&&n.markAsTouched()})}(n,t),function dO(n,t){if(t.valueAccessor.setDisabledState){const e=i=>{t.valueAccessor.setDisabledState(i)};n.registerOnDisabledChange(e),t._registerOnDestroy(()=>{n._unregisterOnDisabledChange(e)})}}(n,t)}function al(n,t,e=!0){const i=()=>{};t.valueAccessor&&(t.valueAccessor.registerOnChange(i),t.valueAccessor.registerOnTouched(i)),cl(n,t),n&&(t._invokeOnDestroyCallbacks(),n._registerOnCollectionChange(()=>{}))}function ll(n,t){n.forEach(e=>{e.registerOnValidatorChange&&e.registerOnValidatorChange(t)})}function rf(n,t){const e=vb(n);null!==t.validator?n.setValidators(_b(e,t.validator)):"function"==typeof e&&n.setValidators([e]);const i=bb(n);null!==t.asyncValidator?n.setAsyncValidators(_b(i,t.asyncValidator)):"function"==typeof i&&n.setAsyncValidators([i]);const r=()=>n.updateValueAndValidity();ll(t._rawValidators,r),ll(t._rawAsyncValidators,r)}function cl(n,t){let e=!1;if(null!==n){if(null!==t.validator){const r=vb(n);if(Array.isArray(r)&&r.length>0){const o=r.filter(s=>s!==t.validator);o.length!==r.length&&(e=!0,n.setValidators(o))}}if(null!==t.asyncValidator){const r=bb(n);if(Array.isArray(r)&&r.length>0){const o=r.filter(s=>s!==t.asyncValidator);o.length!==r.length&&(e=!0,n.setAsyncValidators(o))}}}const i=()=>{};return ll(t._rawValidators,i),ll(t._rawAsyncValidators,i),e}function Ab(n,t){n._pendingDirty&&n.markAsDirty(),n.setValue(n._pendingValue,{emitModelToViewChange:!1}),t.viewToModelUpdate(n._pendingValue),n._pendingChange=!1}function af(n,t){if(!n.hasOwnProperty("model"))return!1;const e=n.model;return!!e.isFirstChange()||!Object.is(t,e.currentValue)}function lf(n,t){if(!t)return null;let e,i,r;return Array.isArray(t),t.forEach(o=>{o.constructor===Yo?e=o:function yO(n){return Object.getPrototypeOf(n.constructor)===zi}(o)?i=o:r=o}),r||i||e||null}function Ob(n,t){const e=n.indexOf(t);e>-1&&n.splice(e,1)}function Nb(n){return"object"==typeof n&&null!==n&&2===Object.keys(n).length&&"value"in n&&"disabled"in n}const ns=class extends Mb{constructor(t=null,e,i){super(tf(e),nf(i,e)),this.defaultValue=null,this._onChange=[],this._pendingChange=!1,this._applyFormState(t),this._setUpdateStrategy(e),this._initObservables(),this.updateValueAndValidity({onlySelf:!0,emitEvent:!!this.asyncValidator}),rl(e)&&(e.nonNullable||e.initialValueIsDefault)&&(this.defaultValue=Nb(t)?t.value:t)}setValue(t,e={}){this.value=this._pendingValue=t,this._onChange.length&&!1!==e.emitModelToViewChange&&this._onChange.forEach(i=>i(this.value,!1!==e.emitViewToModelChange)),this.updateValueAndValidity(e)}patchValue(t,e={}){this.setValue(t,e)}reset(t=this.defaultValue,e={}){this._applyFormState(t),this.markAsPristine(e),this.markAsUntouched(e),this.setValue(this.value,e),this._pendingChange=!1}_updateValue(){}_anyControls(t){return!1}_allControlsDisabled(){return this.disabled}registerOnChange(t){this._onChange.push(t)}_unregisterOnChange(t){Ob(this._onChange,t)}registerOnDisabledChange(t){this._onDisabledChange.push(t)}_unregisterOnDisabledChange(t){Ob(this._onDisabledChange,t)}_forEachChild(t){}_syncPendingControls(){return!("submit"!==this.updateOn||(this._pendingDirty&&this.markAsDirty(),this._pendingTouched&&this.markAsTouched(),!this._pendingChange)||(this.setValue(this._pendingValue,{onlySelf:!0,emitModelToViewChange:!1}),0))}_applyFormState(t){Nb(t)?(this.value=this._pendingValue=t.value,t.disabled?this.disable({onlySelf:!0,emitEvent:!1}):this.enable({onlySelf:!0,emitEvent:!1})):this.value=this._pendingValue=t}},EO={provide:gi,useExisting:de(()=>uf)},Lb=(()=>Promise.resolve())();let uf=(()=>{class n extends gi{constructor(e,i,r,o,s,a){super(),this._changeDetectorRef=s,this.callSetDisabledState=a,this.control=new ns,this._registered=!1,this.update=new Q,this._parent=e,this._setValidators(i),this._setAsyncValidators(r),this.valueAccessor=lf(0,o)}ngOnChanges(e){if(this._checkForErrors(),!this._registered||"name"in e){if(this._registered&&(this._checkName(),this.formDirective)){const i=e.name.previousValue;this.formDirective.removeControl({name:i,path:this._getPath(i)})}this._setUpControl()}"isDisabled"in e&&this._updateDisabled(e),af(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&&null!=this.options.updateOn&&(this.control._updateOn=this.options.updateOn)}_isStandalone(){return!this._parent||!(!this.options||!this.options.standalone)}_setUpStandalone(){es(this.control,this,this.callSetDisabledState),this.control.updateValueAndValidity({emitEvent:!1})}_checkForErrors(){this._isStandalone()||this._checkParentType(),this._checkName()}_checkParentType(){}_checkName(){this.options&&this.options.name&&(this.name=this.options.name),this._isStandalone()}_updateValue(e){Lb.then(()=>{this.control.setValue(e,{emitViewToModelChange:!1}),this._changeDetectorRef?.markForCheck()})}_updateDisabled(e){const i=e.isDisabled.currentValue,r=0!==i&&function vd(n){return"boolean"==typeof n?n:null!=n&&"false"!==n}(i);Lb.then(()=>{r&&!this.control.disabled?this.control.disable():!r&&this.control.disabled&&this.control.enable(),this._changeDetectorRef?.markForCheck()})}_getPath(e){return this._parent?sl(e,this._parent):[e]}}return n.\u0275fac=function(e){return new(e||n)(v(_t,9),v(Ze,10),v(mi,10),v(fn,10),v(Gn,8),v(Hr,8))},n.\u0275dir=V({type:n,selectors:[["","ngModel","",3,"formControlName","",3,"formControl",""]],inputs:{name:"name",isDisabled:["disabled","isDisabled"],model:["ngModel","model"],options:["ngModelOptions","options"]},outputs:{update:"ngModelChange"},exportAs:["ngModel"],features:[he([EO]),ue,rn]}),n})(),df=(()=>{class n{}return n.\u0275fac=function(e){return new(e||n)},n.\u0275dir=V({type:n,selectors:[["form",3,"ngNoForm","",3,"ngNativeValidate",""]],hostAttrs:["novalidate",""]}),n})(),jb=(()=>{class n{}return n.\u0275fac=function(e){return new(e||n)},n.\u0275mod=Ne({type:n}),n.\u0275inj=Ae({}),n})();const ff=new F("NgModelWithFormControlWarning"),MO={provide:_t,useExisting:de(()=>is)};let is=(()=>{class n extends _t{constructor(e,i,r){super(),this.callSetDisabledState=r,this.submitted=!1,this._onCollectionChange=()=>this._updateDomValue(),this.directives=[],this.form=null,this.ngSubmit=new Q,this._setValidators(e),this._setAsyncValidators(i)}ngOnChanges(e){this._checkFormPresent(),e.hasOwnProperty("form")&&(this._updateValidators(),this._updateDomValue(),this._updateRegistrations(),this._oldForm=this.form)}ngOnDestroy(){this.form&&(cl(this.form,this),this.form._onCollectionChange===this._onCollectionChange&&this.form._registerOnCollectionChange(()=>{}))}get formDirective(){return this}get control(){return this.form}get path(){return[]}addControl(e){const i=this.form.get(e.path);return es(i,e,this.callSetDisabledState),i.updateValueAndValidity({emitEvent:!1}),this.directives.push(e),i}getControl(e){return this.form.get(e.path)}removeControl(e){al(e.control||null,e,!1),function _O(n,t){const e=n.indexOf(t);e>-1&&n.splice(e,1)}(this.directives,e)}addFormGroup(e){this._setUpFormContainer(e)}removeFormGroup(e){this._cleanUpFormContainer(e)}getFormGroup(e){return this.form.get(e.path)}addFormArray(e){this._setUpFormContainer(e)}removeFormArray(e){this._cleanUpFormContainer(e)}getFormArray(e){return this.form.get(e.path)}updateModel(e,i){this.form.get(e.path).setValue(i)}onSubmit(e){return this.submitted=!0,function Pb(n,t){n._syncPendingControls(),t.forEach(e=>{const i=e.control;"submit"===i.updateOn&&i._pendingChange&&(e.viewToModelUpdate(i._pendingValue),i._pendingChange=!1)})}(this.form,this.directives),this.ngSubmit.emit(e),"dialog"===e?.target?.method}onReset(){this.resetForm()}resetForm(e){this.form.reset(e),this.submitted=!1}_updateDomValue(){this.directives.forEach(e=>{const i=e.control,r=this.form.get(e.path);i!==r&&(al(i||null,e),(n=>n instanceof ns)(r)&&(es(r,e,this.callSetDisabledState),e.control=r))}),this.form._updateTreeValidity({emitEvent:!1})}_setUpFormContainer(e){const i=this.form.get(e.path);(function xb(n,t){rf(n,t)})(i,e),i.updateValueAndValidity({emitEvent:!1})}_cleanUpFormContainer(e){if(this.form){const i=this.form.get(e.path);i&&function mO(n,t){return cl(n,t)}(i,e)&&i.updateValueAndValidity({emitEvent:!1})}}_updateRegistrations(){this.form._registerOnCollectionChange(this._onCollectionChange),this._oldForm&&this._oldForm._registerOnCollectionChange(()=>{})}_updateValidators(){rf(this.form,this),this._oldForm&&cl(this._oldForm,this)}_checkFormPresent(){}}return n.\u0275fac=function(e){return new(e||n)(v(Ze,10),v(mi,10),v(Hr,8))},n.\u0275dir=V({type:n,selectors:[["","formGroup",""]],hostBindings:function(e,i){1&e&&q("submit",function(o){return i.onSubmit(o)})("reset",function(){return i.onReset()})},inputs:{form:["formGroup","form"]},outputs:{ngSubmit:"ngSubmit"},exportAs:["ngForm"],features:[he([MO]),ue,rn]}),n})();const PO={provide:gi,useExisting:de(()=>ul)};let ul=(()=>{class n extends gi{set isDisabled(e){}constructor(e,i,r,o,s){super(),this._ngModelWarningConfig=s,this._added=!1,this.update=new Q,this._ngModelWarningSent=!1,this._parent=e,this._setValidators(i),this._setAsyncValidators(r),this.valueAccessor=lf(0,o)}ngOnChanges(e){this._added||this._setUpControl(),af(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 sl(null==this.name?this.name:this.name.toString(),this._parent)}get formDirective(){return this._parent?this._parent.formDirective:null}_checkParentType(){}_setUpControl(){this._checkParentType(),this.control=this.formDirective.addControl(this),this._added=!0}}return n._ngModelWarningSentOnce=!1,n.\u0275fac=function(e){return new(e||n)(v(_t,13),v(Ze,10),v(mi,10),v(fn,10),v(ff,8))},n.\u0275dir=V({type:n,selectors:[["","formControlName",""]],inputs:{name:["formControlName","name"],isDisabled:["disabled","isDisabled"],model:["ngModel","model"]},outputs:{update:"ngModelChange"},features:[he([PO]),ue,rn]}),n})(),eD=(()=>{class n{}return n.\u0275fac=function(e){return new(e||n)},n.\u0275mod=Ne({type:n}),n.\u0275inj=Ae({imports:[jb]}),n})(),tD=(()=>{class n{static withConfig(e){return{ngModule:n,providers:[{provide:Hr,useValue:e.callSetDisabledState??ol}]}}}return n.\u0275fac=function(e){return new(e||n)},n.\u0275mod=Ne({type:n}),n.\u0275inj=Ae({imports:[eD]}),n})(),nD=(()=>{class n{static withConfig(e){return{ngModule:n,providers:[{provide:ff,useValue:e.warnOnNgModelWithFormControl??"always"},{provide:Hr,useValue:e.callSetDisabledState??ol}]}}}return n.\u0275fac=function(e){return new(e||n)},n.\u0275mod=Ne({type:n}),n.\u0275inj=Ae({imports:[eD]}),n})();const qO=["editor"];let QO=(()=>{class n{constructor(e,i){this.ngZone=e,this.monacoPathConfig=i,this.isMonacoLoaded$=new Gd(!1),this._monacoPath="assets/monaco-editor/min/vs",window.monacoEditorAlreadyInitialized?e.run(()=>this.isMonacoLoaded$.next(!0)):(window.monacoEditorAlreadyInitialized=!0,this.monacoPathConfig&&(this.monacoPath=this.monacoPathConfig),this.loadMonaco())}set monacoPath(e){e&&(this._monacoPath=e)}loadMonaco(){const e=()=>{let s=this._monacoPath;window.amdRequire=window.require;const a=!!this.nodeRequire,l=s.includes("http");a&&(window.require=this.nodeRequire,l||(s=window.require("path").resolve(window.__dirname,this._monacoPath))),window.amdRequire.config({paths:{vs:s}}),window.amdRequire(["vs/editor/editor.main"],()=>{this.ngZone.run(()=>this.isMonacoLoaded$.next(!0))},c=>console.error("Error loading monaco-editor: ",c))};if(window.amdRequire)return e();window.require&&(this.addElectronFixScripts(),this.nodeRequire=window.require);const o=document.createElement("script");o.type="text/javascript",o.src=`${this._monacoPath}/loader.js`,o.addEventListener("load",e),document.body.appendChild(o)}addElectronFixScripts(){const e=document.createElement("script"),i=document.createTextNode("self.module = undefined;"),r=document.createTextNode("self.process.browser = true;");e.appendChild(i),e.appendChild(r),document.body.appendChild(e)}}return n.\u0275fac=function(e){return new(e||n)(O(Se),O("MONACO_PATH",8))},n.\u0275prov=H({token:n,factory:n.\u0275fac,providedIn:"root"}),n})(),YO=(()=>{class n{constructor(e){this.monacoLoader=e,this.init=new Q,this.onTouched=()=>{},this.onErrorStatusChange=()=>{},this.propagateChange=()=>{}}get model(){return this.editor&&this.editor.getModel()}get modelMarkers(){return this.model&&monaco.editor.getModelMarkers({resource:this.model.uri})}ngOnInit(){this.monacoLoader.isMonacoLoaded$.pipe(Qo(e=>e),Za(1)).subscribe(()=>{this.initEditor()})}ngOnChanges(e){if(this.editor&&e.options&&!e.options.firstChange){const{language:i,theme:r,...o}=e.options.currentValue,{language:s,theme:a}=e.options.previousValue;s!==i&&monaco.editor.setModelLanguage(this.editor.getModel(),this.options&&this.options.language?this.options.language:"text"),a!==r&&monaco.editor.setTheme(r),this.editor.updateOptions(o)}if(this.editor&&e.uri){const i=e.uri.currentValue,r=e.uri.previousValue;if(r&&!i||!r&&i||i&&r&&i.path!==r.path){const o=this.editor.getValue();let s;this.modelUriInstance&&this.modelUriInstance.dispose(),i&&(s=monaco.editor.getModels().find(a=>a.uri.path===i.path)),this.modelUriInstance=s||monaco.editor.createModel(o,this.options.language||"text",this.uri),this.editor.setModel(this.modelUriInstance)}}}writeValue(e){this.value=e,this.editor&&e?this.editor.setValue(e):this.editor&&this.editor.setValue("")}registerOnChange(e){this.propagateChange=e}registerOnTouched(e){this.onTouched=e}validate(){return this.parsedError?{monaco:{value:this.parsedError.split("|")}}:null}registerOnValidatorChange(e){this.onErrorStatusChange=e}initEditor(){const e={value:[this.value].join("\n"),language:"text",automaticLayout:!0,scrollBeyondLastLine:!1,theme:"vc"};this.editor=monaco.editor.create(this.editorContent.nativeElement,this.options?{...e,...this.options}:e),this.registerEditorListeners(),this.init.emit(this.editor)}registerEditorListeners(){this.editor.onDidChangeModelContent(()=>{this.propagateChange(this.editor.getValue())}),this.editor.onDidChangeModelDecorations(()=>{const e=this.modelMarkers.map(({message:r})=>r).join("|");this.parsedError!==e&&(this.parsedError=e,this.onErrorStatusChange())}),this.editor.onDidBlurEditorText(()=>{this.onTouched()})}ngOnDestroy(){this.editor&&this.editor.dispose()}}return n.\u0275fac=function(e){return new(e||n)(v(QO))},n.\u0275cmp=qe({type:n,selectors:[["ngx-monaco-editor"]],viewQuery:function(e,i){if(1&e&&Hi(qO,7),2&e){let r;Ut(r=$t())&&(i.editorContent=r.first)}},inputs:{options:"options",uri:"uri"},outputs:{init:"init"},features:[he([{provide:fn,useExisting:de(()=>n),multi:!0},{provide:Ze,useExisting:de(()=>n),multi:!0}]),rn],decls:4,vars:0,consts:[["fxFlex","",1,"editor-container"],["container",""],[1,"monaco-editor"],["editor",""]],template:function(e,i){1&e&&(T(0,"div",0,1),_e(2,"div",2,3),P())},styles:[".monaco-editor[_ngcontent-%COMP%]{position:absolute;top:0;bottom:0;left:0;right:0}.editor-container[_ngcontent-%COMP%]{overflow:hidden;position:relative;display:table;width:100%;height:100%;min-width:0}"],changeDetection:0}),n})(),_f=(()=>{class n{}return n.\u0275fac=function(e){return new(e||n)},n.\u0275mod=Ne({type:n}),n.\u0275inj=Ae({imports:[[]]}),n})();function Ur(...n){let t=n[n.length-1];return Wl(t)?(n.pop(),ql(n,t)):Ql(n)}class dl{}class vf{}class Qn{constructor(t){this.normalizedNames=new Map,this.lazyUpdate=null,t?this.lazyInit="string"==typeof t?()=>{this.headers=new Map,t.split("\n").forEach(e=>{const i=e.indexOf(":");if(i>0){const r=e.slice(0,i),o=r.toLowerCase(),s=e.slice(i+1).trim();this.maybeSetNormalizedName(r,o),this.headers.has(o)?this.headers.get(o).push(s):this.headers.set(o,[s])}})}:()=>{this.headers=new Map,Object.keys(t).forEach(e=>{let i=t[e];const r=e.toLowerCase();"string"==typeof i&&(i=[i]),i.length>0&&(this.headers.set(r,i),this.maybeSetNormalizedName(e,r))})}:this.headers=new Map}has(t){return this.init(),this.headers.has(t.toLowerCase())}get(t){this.init();const e=this.headers.get(t.toLowerCase());return e&&e.length>0?e[0]:null}keys(){return this.init(),Array.from(this.normalizedNames.values())}getAll(t){return this.init(),this.headers.get(t.toLowerCase())||null}append(t,e){return this.clone({name:t,value:e,op:"a"})}set(t,e){return this.clone({name:t,value:e,op:"s"})}delete(t,e){return this.clone({name:t,value:e,op:"d"})}maybeSetNormalizedName(t,e){this.normalizedNames.has(e)||this.normalizedNames.set(e,t)}init(){this.lazyInit&&(this.lazyInit instanceof Qn?this.copyFrom(this.lazyInit):this.lazyInit(),this.lazyInit=null,this.lazyUpdate&&(this.lazyUpdate.forEach(t=>this.applyUpdate(t)),this.lazyUpdate=null))}copyFrom(t){t.init(),Array.from(t.headers.keys()).forEach(e=>{this.headers.set(e,t.headers.get(e)),this.normalizedNames.set(e,t.normalizedNames.get(e))})}clone(t){const e=new Qn;return e.lazyInit=this.lazyInit&&this.lazyInit instanceof Qn?this.lazyInit:this,e.lazyUpdate=(this.lazyUpdate||[]).concat([t]),e}applyUpdate(t){const e=t.name.toLowerCase();switch(t.op){case"a":case"s":let i=t.value;if("string"==typeof i&&(i=[i]),0===i.length)return;this.maybeSetNormalizedName(t.name,e);const r=("a"===t.op?this.headers.get(e):void 0)||[];r.push(...i),this.headers.set(e,r);break;case"d":const o=t.value;if(o){let s=this.headers.get(e);if(!s)return;s=s.filter(a=>-1===o.indexOf(a)),0===s.length?(this.headers.delete(e),this.normalizedNames.delete(e)):this.headers.set(e,s)}else this.headers.delete(e),this.normalizedNames.delete(e)}}forEach(t){this.init(),Array.from(this.normalizedNames.keys()).forEach(e=>t(this.normalizedNames.get(e),this.headers.get(e)))}}class XO{encodeKey(t){return iD(t)}encodeValue(t){return iD(t)}decodeKey(t){return decodeURIComponent(t)}decodeValue(t){return decodeURIComponent(t)}}const eN=/%(\d[a-f0-9])/gi,tN={40:"@","3A":":",24:"$","2C":",","3B":";","3D":"=","3F":"?","2F":"/"};function iD(n){return encodeURIComponent(n).replace(eN,(t,e)=>tN[e]??t)}function fl(n){return`${n}`}class yi{constructor(t={}){if(this.updates=null,this.cloneFrom=null,this.encoder=t.encoder||new XO,t.fromString){if(t.fromObject)throw new Error("Cannot specify both fromString and fromObject.");this.map=function JO(n,t){const e=new Map;return n.length>0&&n.replace(/^\?/,"").split("&").forEach(r=>{const o=r.indexOf("="),[s,a]=-1==o?[t.decodeKey(r),""]:[t.decodeKey(r.slice(0,o)),t.decodeValue(r.slice(o+1))],l=e.get(s)||[];l.push(a),e.set(s,l)}),e}(t.fromString,this.encoder)}else t.fromObject?(this.map=new Map,Object.keys(t.fromObject).forEach(e=>{const i=t.fromObject[e],r=Array.isArray(i)?i.map(fl):[fl(i)];this.map.set(e,r)})):this.map=null}has(t){return this.init(),this.map.has(t)}get(t){this.init();const e=this.map.get(t);return e?e[0]:null}getAll(t){return this.init(),this.map.get(t)||null}keys(){return this.init(),Array.from(this.map.keys())}append(t,e){return this.clone({param:t,value:e,op:"a"})}appendAll(t){const e=[];return Object.keys(t).forEach(i=>{const r=t[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(t,e){return this.clone({param:t,value:e,op:"s"})}delete(t,e){return this.clone({param:t,value:e,op:"d"})}toString(){return this.init(),this.keys().map(t=>{const e=this.encoder.encodeKey(t);return this.map.get(t).map(i=>e+"="+this.encoder.encodeValue(i)).join("&")}).filter(t=>""!==t).join("&")}clone(t){const e=new yi({encoder:this.encoder});return e.cloneFrom=this.cloneFrom||this,e.updates=(this.updates||[]).concat(t),e}init(){null===this.map&&(this.map=new Map),null!==this.cloneFrom&&(this.cloneFrom.init(),this.cloneFrom.keys().forEach(t=>this.map.set(t,this.cloneFrom.map.get(t))),this.updates.forEach(t=>{switch(t.op){case"a":case"s":const e=("a"===t.op?this.map.get(t.param):void 0)||[];e.push(fl(t.value)),this.map.set(t.param,e);break;case"d":if(void 0===t.value){this.map.delete(t.param);break}{let i=this.map.get(t.param)||[];const r=i.indexOf(fl(t.value));-1!==r&&i.splice(r,1),i.length>0?this.map.set(t.param,i):this.map.delete(t.param)}}}),this.cloneFrom=this.updates=null)}}class nN{constructor(){this.map=new Map}set(t,e){return this.map.set(t,e),this}get(t){return this.map.has(t)||this.map.set(t,t.defaultValue()),this.map.get(t)}delete(t){return this.map.delete(t),this}has(t){return this.map.has(t)}keys(){return this.map.keys()}}function rD(n){return typeof ArrayBuffer<"u"&&n instanceof ArrayBuffer}function oD(n){return typeof Blob<"u"&&n instanceof Blob}function sD(n){return typeof FormData<"u"&&n instanceof FormData}class rs{constructor(t,e,i,r){let o;if(this.url=e,this.body=null,this.reportProgress=!1,this.withCredentials=!1,this.responseType="json",this.method=t.toUpperCase(),function iN(n){switch(n){case"DELETE":case"GET":case"HEAD":case"OPTIONS":case"JSONP":return!1;default:return!0}}(this.method)||r?(this.body=void 0!==i?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.headers||(this.headers=new Qn),this.context||(this.context=new nN),this.params){const s=this.params.toString();if(0===s.length)this.urlWithParams=e;else{const a=e.indexOf("?");this.urlWithParams=e+(-1===a?"?":ad.set(f,t.setHeaders[f]),l)),t.setParams&&(c=Object.keys(t.setParams).reduce((d,f)=>d.set(f,t.setParams[f]),c)),new rs(e,i,o,{params:c,headers:l,context:u,reportProgress:a,responseType:r,withCredentials:s})}}var Ve=(()=>((Ve=Ve||{})[Ve.Sent=0]="Sent",Ve[Ve.UploadProgress=1]="UploadProgress",Ve[Ve.ResponseHeader=2]="ResponseHeader",Ve[Ve.DownloadProgress=3]="DownloadProgress",Ve[Ve.Response=4]="Response",Ve[Ve.User=5]="User",Ve))();class bf{constructor(t,e=200,i="OK"){this.headers=t.headers||new Qn,this.status=void 0!==t.status?t.status:e,this.statusText=t.statusText||i,this.url=t.url||null,this.ok=this.status>=200&&this.status<300}}class Df extends bf{constructor(t={}){super(t),this.type=Ve.ResponseHeader}clone(t={}){return new Df({headers:t.headers||this.headers,status:void 0!==t.status?t.status:this.status,statusText:t.statusText||this.statusText,url:t.url||this.url||void 0})}}class hl extends bf{constructor(t={}){super(t),this.type=Ve.Response,this.body=void 0!==t.body?t.body:null}clone(t={}){return new hl({body:void 0!==t.body?t.body:this.body,headers:t.headers||this.headers,status:void 0!==t.status?t.status:this.status,statusText:t.statusText||this.statusText,url:t.url||this.url||void 0})}}class aD extends bf{constructor(t){super(t,0,"Unknown Error"),this.name="HttpErrorResponse",this.ok=!1,this.message=this.status>=200&&this.status<300?`Http failure during parsing for ${t.url||"(unknown url)"}`:`Http failure response for ${t.url||"(unknown url)"}: ${t.status} ${t.statusText}`,this.error=t.error||null}}function Ef(n,t){return{body:t,headers:n.headers,context:n.context,observe:n.observe,params:n.params,reportProgress:n.reportProgress,responseType:n.responseType,withCredentials:n.withCredentials}}let pl=(()=>{class n{constructor(e){this.handler=e}request(e,i,r={}){let o;if(e instanceof rs)o=e;else{let l,c;l=r.headers instanceof Qn?r.headers:new Qn(r.headers),r.params&&(c=r.params instanceof yi?r.params:new yi({fromObject:r.params})),o=new rs(e,i,void 0!==r.body?r.body:null,{headers:l,context:r.context,params:c,reportProgress:r.reportProgress,responseType:r.responseType||"json",withCredentials:r.withCredentials})}const s=Ur(o).pipe(function ZO(n,t){return Kl(n,t,1)}(l=>this.handler.handle(l)));if(e instanceof rs||"events"===r.observe)return s;const a=s.pipe(Qo(l=>l instanceof hl));switch(r.observe||"body"){case"body":switch(o.responseType){case"arraybuffer":return a.pipe(Xe(l=>{if(null!==l.body&&!(l.body instanceof ArrayBuffer))throw new Error("Response is not an ArrayBuffer.");return l.body}));case"blob":return a.pipe(Xe(l=>{if(null!==l.body&&!(l.body instanceof Blob))throw new Error("Response is not a Blob.");return l.body}));case"text":return a.pipe(Xe(l=>{if(null!==l.body&&"string"!=typeof l.body)throw new Error("Response is not a string.");return l.body}));default:return a.pipe(Xe(l=>l.body))}case"response":return a;default:throw new Error(`Unreachable: unhandled observe type ${r.observe}}`)}}delete(e,i={}){return this.request("DELETE",e,i)}get(e,i={}){return this.request("GET",e,i)}head(e,i={}){return this.request("HEAD",e,i)}jsonp(e,i){return this.request("JSONP",e,{params:(new yi).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,Ef(r,i))}post(e,i,r={}){return this.request("POST",e,Ef(r,i))}put(e,i,r={}){return this.request("PUT",e,Ef(r,i))}}return n.\u0275fac=function(e){return new(e||n)(O(dl))},n.\u0275prov=H({token:n,factory:n.\u0275fac}),n})();function lD(n,t){return t(n)}function oN(n,t){return(e,i)=>t.intercept(e,{handle:r=>n(r,i)})}const aN=new F("HTTP_INTERCEPTORS"),os=new F("HTTP_INTERCEPTOR_FNS");function lN(){let n=null;return(t,e)=>(null===n&&(n=(On(aN,{optional:!0})??[]).reduceRight(oN,lD)),n(t,e))}let cD=(()=>{class n extends dl{constructor(e,i){super(),this.backend=e,this.injector=i,this.chain=null}handle(e){if(null===this.chain){const i=Array.from(new Set(this.injector.get(os)));this.chain=i.reduceRight((r,o)=>function sN(n,t,e){return(i,r)=>e.runInContext(()=>t(i,o=>n(o,r)))}(r,o,this.injector),lD)}return this.chain(e,i=>this.backend.handle(i))}}return n.\u0275fac=function(e){return new(e||n)(O(vf),O(Ri))},n.\u0275prov=H({token:n,factory:n.\u0275fac}),n})();const fN=/^\)\]\}',?\n/;let dD=(()=>{class n{constructor(e){this.xhrFactory=e}handle(e){if("JSONP"===e.method)throw new Error("Attempted to construct Jsonp request without HttpClientJsonpModule installed.");return new be(i=>{const r=this.xhrFactory.build();if(r.open(e.method,e.urlWithParams),e.withCredentials&&(r.withCredentials=!0),e.headers.forEach((h,p)=>r.setRequestHeader(h,p.join(","))),e.headers.has("Accept")||r.setRequestHeader("Accept","application/json, text/plain, */*"),!e.headers.has("Content-Type")){const h=e.detectContentTypeHeader();null!==h&&r.setRequestHeader("Content-Type",h)}if(e.responseType){const h=e.responseType.toLowerCase();r.responseType="json"!==h?h:"text"}const o=e.serializeBody();let s=null;const a=()=>{if(null!==s)return s;const h=r.statusText||"OK",p=new Qn(r.getAllResponseHeaders()),m=function hN(n){return"responseURL"in n&&n.responseURL?n.responseURL:/^X-Request-URL:/m.test(n.getAllResponseHeaders())?n.getResponseHeader("X-Request-URL"):null}(r)||e.url;return s=new Df({headers:p,status:r.status,statusText:h,url:m}),s},l=()=>{let{headers:h,status:p,statusText:m,url:y}=a(),_=null;204!==p&&(_=typeof r.response>"u"?r.responseText:r.response),0===p&&(p=_?200:0);let S=p>=200&&p<300;if("json"===e.responseType&&"string"==typeof _){const g=_;_=_.replace(fN,"");try{_=""!==_?JSON.parse(_):null}catch(M){_=g,S&&(S=!1,_={error:M,text:_})}}S?(i.next(new hl({body:_,headers:h,status:p,statusText:m,url:y||void 0})),i.complete()):i.error(new aD({error:_,headers:h,status:p,statusText:m,url:y||void 0}))},c=h=>{const{url:p}=a(),m=new aD({error:h,status:r.status||0,statusText:r.statusText||"Unknown Error",url:p||void 0});i.error(m)};let u=!1;const d=h=>{u||(i.next(a()),u=!0);let p={type:Ve.DownloadProgress,loaded:h.loaded};h.lengthComputable&&(p.total=h.total),"text"===e.responseType&&r.responseText&&(p.partialText=r.responseText),i.next(p)},f=h=>{let p={type:Ve.UploadProgress,loaded:h.loaded};h.lengthComputable&&(p.total=h.total),i.next(p)};return r.addEventListener("load",l),r.addEventListener("error",c),r.addEventListener("timeout",c),r.addEventListener("abort",c),e.reportProgress&&(r.addEventListener("progress",d),null!==o&&r.upload&&r.upload.addEventListener("progress",f)),r.send(o),i.next({type:Ve.Sent}),()=>{r.removeEventListener("error",c),r.removeEventListener("abort",c),r.removeEventListener("load",l),r.removeEventListener("timeout",c),e.reportProgress&&(r.removeEventListener("progress",d),null!==o&&r.upload&&r.upload.removeEventListener("progress",f)),r.readyState!==r.DONE&&r.abort()}})}}return n.\u0275fac=function(e){return new(e||n)(O(Av))},n.\u0275prov=H({token:n,factory:n.\u0275fac}),n})();const Sf=new F("XSRF_ENABLED"),fD="XSRF-TOKEN",hD=new F("XSRF_COOKIE_NAME",{providedIn:"root",factory:()=>fD}),pD="X-XSRF-TOKEN",mD=new F("XSRF_HEADER_NAME",{providedIn:"root",factory:()=>pD});class gD{}let pN=(()=>{class n{constructor(e,i,r){this.doc=e,this.platform=i,this.cookieName=r,this.lastCookieString="",this.lastToken=null,this.parseCount=0}getToken(){if("server"===this.platform)return null;const e=this.doc.cookie||"";return e!==this.lastCookieString&&(this.parseCount++,this.lastToken=yv(e,this.cookieName),this.lastCookieString=e),this.lastToken}}return n.\u0275fac=function(e){return new(e||n)(O(zt),O(sd),O(hD))},n.\u0275prov=H({token:n,factory:n.\u0275fac}),n})();function mN(n,t){const e=n.url.toLowerCase();if(!On(Sf)||"GET"===n.method||"HEAD"===n.method||e.startsWith("http://")||e.startsWith("https://"))return t(n);const i=On(gD).getToken(),r=On(mD);return null!=i&&!n.headers.has(r)&&(n=n.clone({headers:n.headers.set(r,i)})),t(n)}var Oe=(()=>((Oe=Oe||{})[Oe.Interceptors=0]="Interceptors",Oe[Oe.LegacyInterceptors=1]="LegacyInterceptors",Oe[Oe.CustomXsrfConfiguration=2]="CustomXsrfConfiguration",Oe[Oe.NoXsrfProtection=3]="NoXsrfProtection",Oe[Oe.JsonpSupport=4]="JsonpSupport",Oe[Oe.RequestsMadeViaParent=5]="RequestsMadeViaParent",Oe))();function $r(n,t){return{\u0275kind:n,\u0275providers:t}}function gN(...n){const t=[pl,dD,cD,{provide:dl,useExisting:cD},{provide:vf,useExisting:dD},{provide:os,useValue:mN,multi:!0},{provide:Sf,useValue:!0},{provide:gD,useClass:pN}];for(const e of n)t.push(...e.\u0275providers);return function Zw(n){return{\u0275providers:n}}(t)}const yD=new F("LEGACY_INTERCEPTOR_FN");function _N({cookieName:n,headerName:t}){const e=[];return void 0!==n&&e.push({provide:hD,useValue:n}),void 0!==t&&e.push({provide:mD,useValue:t}),$r(Oe.CustomXsrfConfiguration,e)}let _D=(()=>{class n{}return n.\u0275fac=function(e){return new(e||n)},n.\u0275mod=Ne({type:n}),n.\u0275inj=Ae({providers:[gN($r(Oe.LegacyInterceptors,[{provide:yD,useFactory:lN},{provide:os,useExisting:yD,multi:!0}]),_N({cookieName:fD,headerName:pD}))]}),n})();class vN extends ve{constructor(t,e){super()}schedule(t,e=0){return this}}class Cf extends vN{constructor(t,e){super(t,e),this.scheduler=t,this.work=e,this.pending=!1}schedule(t,e=0){if(this.closed)return this;this.state=t;const i=this.id,r=this.scheduler;return null!=i&&(this.id=this.recycleAsyncId(r,i,e)),this.pending=!0,this.delay=e,this.id=this.id||this.requestAsyncId(r,this.id,e),this}requestAsyncId(t,e,i=0){return setInterval(t.flush.bind(t,this),i)}recycleAsyncId(t,e,i=0){if(null!==i&&this.delay===i&&!1===this.pending)return e;clearInterval(e)}execute(t,e){if(this.closed)return new Error("executing a cancelled action");this.pending=!1;const i=this._execute(t,e);if(i)return i;!1===this.pending&&null!=this.id&&(this.id=this.recycleAsyncId(this.scheduler,this.id,null))}_execute(t,e){let r,i=!1;try{this.work(t)}catch(o){i=!0,r=!!o&&o||new Error(o)}if(i)return this.unsubscribe(),r}_unsubscribe(){const t=this.id,e=this.scheduler,i=e.actions,r=i.indexOf(this);this.work=null,this.state=null,this.pending=!1,this.scheduler=null,-1!==r&&i.splice(r,1),null!=t&&(this.id=this.recycleAsyncId(e,t,null)),this.delay=null}}let vD=(()=>{class n{constructor(e,i=n.now){this.SchedulerAction=e,this.now=i}schedule(e,i=0,r){return new this.SchedulerAction(this,e).schedule(r,i)}}return n.now=()=>Date.now(),n})();class In extends vD{constructor(t,e=vD.now){super(t,()=>In.delegate&&In.delegate!==this?In.delegate.now():e()),this.actions=[],this.active=!1,this.scheduled=void 0}schedule(t,e=0,i){return In.delegate&&In.delegate!==this?In.delegate.schedule(t,e,i):super.schedule(t,e,i)}flush(t){const{actions:e}=this;if(this.active)return void e.push(t);let i;this.active=!0;do{if(i=t.execute(t.state,t.delay))break}while(t=e.shift());if(this.active=!1,i){for(;t=e.shift();)t.unsubscribe();throw i}}}const wf=new class DN extends In{}(class bN extends Cf{constructor(t,e){super(t,e),this.scheduler=t,this.work=e}schedule(t,e=0){return e>0?super.schedule(t,e):(this.delay=e,this.state=t,this.scheduler.flush(this),this)}execute(t,e){return e>0||this.closed?super.execute(t,e):this._execute(t,e)}requestAsyncId(t,e,i=0){return null!==i&&i>0||null===i&&this.delay>0?super.requestAsyncId(t,e,i):t.flush(this)}}),EN=wf;function bD(n,t){return new be(t?e=>t.schedule(SN,0,{error:n,subscriber:e}):e=>e.error(n))}function SN({error:n,subscriber:t}){t.error(n)}class St{constructor(t,e,i){this.kind=t,this.value=e,this.error=i,this.hasValue="N"===t}observe(t){switch(this.kind){case"N":return t.next&&t.next(this.value);case"E":return t.error&&t.error(this.error);case"C":return t.complete&&t.complete()}}do(t,e,i){switch(this.kind){case"N":return t&&t(this.value);case"E":return e&&e(this.error);case"C":return i&&i()}}accept(t,e,i){return t&&"function"==typeof t.next?this.observe(t):this.do(t,e,i)}toObservable(){switch(this.kind){case"N":return Ur(this.value);case"E":return bD(this.error);case"C":return Jv()}throw new Error("unexpected notification kind value")}static createNext(t){return typeof t<"u"?new St("N",t):St.undefinedValueNotification}static createError(t){return new St("E",void 0,t)}static createComplete(){return St.completeNotification}}St.completeNotification=new St("C"),St.undefinedValueNotification=new St("N",void 0);class wN{constructor(t,e=0){this.scheduler=t,this.delay=e}call(t,e){return e.subscribe(new ml(t,this.scheduler,this.delay))}}class ml extends De{constructor(t,e,i=0){super(t),this.scheduler=e,this.delay=i}static dispatch(t){const{notification:e,destination:i}=t;e.observe(i),this.unsubscribe()}scheduleMessage(t){this.destination.add(this.scheduler.schedule(ml.dispatch,this.delay,new IN(t,this.destination)))}_next(t){this.scheduleMessage(St.createNext(t))}_error(t){this.scheduleMessage(St.createError(t)),this.unsubscribe()}_complete(){this.scheduleMessage(St.createComplete()),this.unsubscribe()}}class IN{constructor(t,e){this.notification=t,this.destination=e}}class gl extends hn{constructor(t=Number.POSITIVE_INFINITY,e=Number.POSITIVE_INFINITY,i){super(),this.scheduler=i,this._events=[],this._infiniteTimeWindow=!1,this._bufferSize=t<1?1:t,this._windowTime=e<1?1:e,e===Number.POSITIVE_INFINITY?(this._infiniteTimeWindow=!0,this.next=this.nextInfiniteTimeWindow):this.next=this.nextTimeWindow}nextInfiniteTimeWindow(t){if(!this.isStopped){const e=this._events;e.push(t),e.length>this._bufferSize&&e.shift()}super.next(t)}nextTimeWindow(t){this.isStopped||(this._events.push(new TN(this._getNow(),t)),this._trimBufferThenGetEvents()),super.next(t)}_subscribe(t){const e=this._infiniteTimeWindow,i=e?this._events:this._trimBufferThenGetEvents(),r=this.scheduler,o=i.length;let s;if(this.closed)throw new wi;if(this.isStopped||this.hasError?s=ve.EMPTY:(this.observers.push(t),s=new yh(this,t)),r&&t.add(t=new ml(t,r)),e)for(let a=0;ae&&(s=Math.max(s,o-e)),s>0&&r.splice(0,s),r}}class TN{constructor(t,e){this.time=t,this.value=e}}function ss(n,t){return"function"==typeof t?e=>e.pipe(ss((i,r)=>Ii(n(i,r)).pipe(Xe((o,s)=>t(i,o,r,s))))):e=>e.lift(new MN(n))}class MN{constructor(t){this.project=t}call(t,e){return e.subscribe(new AN(t,this.project))}}class AN extends Ds{constructor(t,e){super(t),this.project=e,this.index=0}_next(t){let e;const i=this.index++;try{e=this.project(t,i)}catch(r){return void this.destination.error(r)}this._innerSub(e)}_innerSub(t){const e=this.innerSubscription;e&&e.unsubscribe();const i=new bs(this),r=this.destination;r.add(i),this.innerSubscription=Es(t,i),this.innerSubscription!==i&&r.add(this.innerSubscription)}_complete(){const{innerSubscription:t}=this;(!t||t.closed)&&super._complete(),this.unsubscribe()}_unsubscribe(){this.innerSubscription=void 0}notifyComplete(){this.innerSubscription=void 0,this.isStopped&&super._complete()}notifyNext(t){this.destination.next(t)}}const yl={schedule(n,t){const e=setTimeout(n,t);return()=>clearTimeout(e)},scheduleBeforeRender(n){if(typeof window>"u")return yl.schedule(n,0);if(typeof window.requestAnimationFrame>"u")return yl.schedule(n,16);const t=window.requestAnimationFrame(n);return()=>window.cancelAnimationFrame(t)}};let If;function jN(n,t,e){let i=e;return function PN(n){return!!n&&n.nodeType===Node.ELEMENT_NODE}(n)&&t.some((r,o)=>!("*"===r||!function NN(n,t){if(!If){const e=Element.prototype;If=e.matches||e.matchesSelector||e.mozMatchesSelector||e.msMatchesSelector||e.oMatchesSelector||e.webkitMatchesSelector}return n.nodeType===Node.ELEMENT_NODE&&If.call(n,t)}(n,r)||(i=o,0))),i}class BN{constructor(t,e){this.componentFactory=e.get(yr).resolveComponentFactory(t)}create(t){return new HN(this.componentFactory,t)}}class HN{constructor(t,e){this.componentFactory=t,this.injector=e,this.eventEmitters=new gl(1),this.events=this.eventEmitters.pipe(ss(i=>Ch(...i))),this.componentRef=null,this.viewChangeDetectorRef=null,this.inputChanges=null,this.hasInputChanges=!1,this.implementsOnChanges=!1,this.scheduledChangeDetectionFn=null,this.scheduledDestroyFn=null,this.initialInputValues=new Map,this.unchangedInputs=new Set(this.componentFactory.inputs.map(({propName:i})=>i)),this.ngZone=this.injector.get(Se),this.elementZone=typeof Zone>"u"?null:this.ngZone.run(()=>Zone.current)}connect(t){this.runInZone(()=>{if(null!==this.scheduledDestroyFn)return this.scheduledDestroyFn(),void(this.scheduledDestroyFn=null);null===this.componentRef&&this.initializeComponent(t)})}disconnect(){this.runInZone(()=>{null===this.componentRef||null!==this.scheduledDestroyFn||(this.scheduledDestroyFn=yl.schedule(()=>{null!==this.componentRef&&(this.componentRef.destroy(),this.componentRef=null,this.viewChangeDetectorRef=null)},10))})}getInputValue(t){return this.runInZone(()=>null===this.componentRef?this.initialInputValues.get(t):this.componentRef.instance[t])}setInputValue(t,e){this.runInZone(()=>{null!==this.componentRef?function FN(n,t){return n===t||n!=n&&t!=t}(e,this.getInputValue(t))&&(void 0!==e||!this.unchangedInputs.has(t))||(this.recordInputChange(t,e),this.unchangedInputs.delete(t),this.hasInputChanges=!0,this.componentRef.instance[t]=e,this.scheduleDetectChanges()):this.initialInputValues.set(t,e)})}initializeComponent(t){const e=yn.create({providers:[],parent:this.injector}),i=function kN(n,t){const e=n.childNodes,i=t.map(()=>[]);let r=-1;t.some((o,s)=>"*"===o&&(r=s,!0));for(let o=0,s=e.length;o{this.initialInputValues.has(t)&&this.setInputValue(t,this.initialInputValues.get(t))}),this.initialInputValues.clear()}initializeOutputs(t){const e=this.componentFactory.outputs.map(({propName:i,templateName:r})=>t.instance[i].pipe(Xe(s=>({name:r,value:s}))));this.eventEmitters.next(e)}callNgOnChanges(t){if(!this.implementsOnChanges||null===this.inputChanges)return;const e=this.inputChanges;this.inputChanges=null,t.instance.ngOnChanges(e)}markViewForCheck(t){this.hasInputChanges&&(this.hasInputChanges=!1,t.markForCheck())}scheduleDetectChanges(){this.scheduledChangeDetectionFn||(this.scheduledChangeDetectionFn=yl.scheduleBeforeRender(()=>{this.scheduledChangeDetectionFn=null,this.detectChanges()}))}recordInputChange(t,e){if(!this.implementsOnChanges)return;null===this.inputChanges&&(this.inputChanges={});const i=this.inputChanges[t];if(i)return void(i.currentValue=e);const r=this.unchangedInputs.has(t),o=r?void 0:this.getInputValue(t);this.inputChanges[t]=new Uh(o,e,r)}detectChanges(){null!==this.componentRef&&(this.callNgOnChanges(this.componentRef),this.markViewForCheck(this.viewChangeDetectorRef),this.componentRef.changeDetectorRef.detectChanges())}runInZone(t){return this.elementZone&&Zone.current!==this.elementZone?this.ngZone.run(t):t()}}class UN extends HTMLElement{constructor(){super(...arguments),this.ngElementEventsSubscription=null}}class DD{}class zN{}const Yn="*";function ED(n,t){return{type:7,name:n,definitions:t,options:{}}}function _l(n,t=null){return{type:4,styles:t,timings:n}}function SD(n,t=null){return{type:2,steps:n,options:t}}function Gi(n){return{type:6,styles:n,offset:null}}function Tf(n,t,e){return{type:0,name:n,styles:t,options:e}}function vl(n,t,e=null){return{type:1,expr:n,animation:t,options:e}}function CD(n,t=null){return{type:8,animation:n,options:t}}function wD(n,t=null){return{type:10,animation:n,options:t}}function ID(n){Promise.resolve().then(n)}class as{constructor(t=0,e=0){this._onDoneFns=[],this._onStartFns=[],this._onDestroyFns=[],this._originalOnDoneFns=[],this._originalOnStartFns=[],this._started=!1,this._destroyed=!1,this._finished=!1,this._position=0,this.parentPlayer=null,this.totalTime=t+e}_onFinish(){this._finished||(this._finished=!0,this._onDoneFns.forEach(t=>t()),this._onDoneFns=[])}onStart(t){this._originalOnStartFns.push(t),this._onStartFns.push(t)}onDone(t){this._originalOnDoneFns.push(t),this._onDoneFns.push(t)}onDestroy(t){this._onDestroyFns.push(t)}hasStarted(){return this._started}init(){}play(){this.hasStarted()||(this._onStart(),this.triggerMicrotask()),this._started=!0}triggerMicrotask(){ID(()=>this._onFinish())}_onStart(){this._onStartFns.forEach(t=>t()),this._onStartFns=[]}pause(){}restart(){}finish(){this._onFinish()}destroy(){this._destroyed||(this._destroyed=!0,this.hasStarted()||this._onStart(),this.finish(),this._onDestroyFns.forEach(t=>t()),this._onDestroyFns=[])}reset(){this._started=!1,this._finished=!1,this._onStartFns=this._originalOnStartFns,this._onDoneFns=this._originalOnDoneFns}setPosition(t){this._position=this.totalTime?t*this.totalTime:1}getPosition(){return this.totalTime?this._position/this.totalTime:1}triggerCallback(t){const e="start"==t?this._onStartFns:this._onDoneFns;e.forEach(i=>i()),e.length=0}}class TD{constructor(t){this._onDoneFns=[],this._onStartFns=[],this._finished=!1,this._started=!1,this._destroyed=!1,this._onDestroyFns=[],this.parentPlayer=null,this.totalTime=0,this.players=t;let e=0,i=0,r=0;const o=this.players.length;0==o?ID(()=>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(t=>t()),this._onDoneFns=[])}init(){this.players.forEach(t=>t.init())}onStart(t){this._onStartFns.push(t)}_onStart(){this.hasStarted()||(this._started=!0,this._onStartFns.forEach(t=>t()),this._onStartFns=[])}onDone(t){this._onDoneFns.push(t)}onDestroy(t){this._onDestroyFns.push(t)}hasStarted(){return this._started}play(){this.parentPlayer||this.init(),this._onStart(),this.players.forEach(t=>t.play())}pause(){this.players.forEach(t=>t.pause())}restart(){this.players.forEach(t=>t.restart())}finish(){this._onFinish(),this.players.forEach(t=>t.finish())}destroy(){this._onDestroy()}_onDestroy(){this._destroyed||(this._destroyed=!0,this._onFinish(),this.players.forEach(t=>t.destroy()),this._onDestroyFns.forEach(t=>t()),this._onDestroyFns=[])}reset(){this.players.forEach(t=>t.reset()),this._destroyed=!1,this._finished=!1,this._started=!1}setPosition(t){const e=t*this.totalTime;this.players.forEach(i=>{const r=i.totalTime?Math.min(1,e/i.totalTime):1;i.setPosition(r)})}getPosition(){const t=this.players.reduce((e,i)=>null===e||i.totalTime>e.totalTime?i:e,null);return null!=t?t.getPosition():0}beforeDestroy(){this.players.forEach(t=>{t.beforeDestroy&&t.beforeDestroy()})}triggerCallback(t){const e="start"==t?this._onStartFns:this._onDoneFns;e.forEach(i=>i()),e.length=0}}function MD(n){return new D(3e3,!1)}function wF(){return typeof window<"u"&&typeof window.document<"u"}function Af(){return typeof process<"u"&&"[object process]"==={}.toString.call(process)}function _i(n){switch(n.length){case 0:return new as;case 1:return n[0];default:return new TD(n)}}function AD(n,t,e,i,r=new Map,o=new Map){const s=[],a=[];let l=-1,c=null;if(i.forEach(u=>{const d=u.get("offset"),f=d==l,h=f&&c||new Map;u.forEach((p,m)=>{let y=m,_=p;if("offset"!==m)switch(y=t.normalizePropertyName(y,s),_){case"!":_=r.get(m);break;case Yn:_=o.get(m);break;default:_=t.normalizeStyleValue(m,y,_,s)}h.set(y,_)}),f||a.push(h),c=h,l=d}),s.length)throw function hF(n){return new D(3502,!1)}();return a}function xf(n,t,e,i){switch(t){case"start":n.onStart(()=>i(e&&Pf(e,"start",n)));break;case"done":n.onDone(()=>i(e&&Pf(e,"done",n)));break;case"destroy":n.onDestroy(()=>i(e&&Pf(e,"destroy",n)))}}function Pf(n,t,e){const o=Of(n.element,n.triggerName,n.fromState,n.toState,t||n.phaseName,e.totalTime??n.totalTime,!!e.disabled),s=n._data;return null!=s&&(o._data=s),o}function Of(n,t,e,i,r="",o=0,s){return{element:n,triggerName:t,fromState:e,toState:i,phaseName:r,totalTime:o,disabled:!!s}}function Ot(n,t,e){let i=n.get(t);return i||n.set(t,i=e),i}function xD(n){const t=n.indexOf(":");return[n.substring(1,t),n.slice(t+1)]}let Nf=(n,t)=>!1,PD=(n,t,e)=>[],OD=null;function Ff(n){const t=n.parentNode||n.host;return t===OD?null:t}(Af()||typeof Element<"u")&&(wF()?(OD=(()=>document.documentElement)(),Nf=(n,t)=>{for(;t;){if(t===n)return!0;t=Ff(t)}return!1}):Nf=(n,t)=>n.contains(t),PD=(n,t,e)=>{if(e)return Array.from(n.querySelectorAll(t));const i=n.querySelector(t);return i?[i]:[]});let qi=null,ND=!1;const FD=Nf,RD=PD;let LD=(()=>{class n{validateStyleProperty(e){return function TF(n){qi||(qi=function MF(){return typeof document<"u"?document.body:null}()||{},ND=!!qi.style&&"WebkitAppearance"in qi.style);let t=!0;return qi.style&&!function IF(n){return"ebkit"==n.substring(1,6)}(n)&&(t=n in qi.style,!t&&ND&&(t="Webkit"+n.charAt(0).toUpperCase()+n.slice(1)in qi.style)),t}(e)}matchesElement(e,i){return!1}containsElement(e,i){return FD(e,i)}getParentElement(e){return Ff(e)}query(e,i,r){return RD(e,i,r)}computeStyle(e,i,r){return r||""}animate(e,i,r,o,s,a=[],l){return new as(r,o)}}return n.\u0275fac=function(e){return new(e||n)},n.\u0275prov=H({token:n,factory:n.\u0275fac}),n})(),Rf=(()=>{class n{}return n.NOOP=new LD,n})();const Lf="ng-enter",bl="ng-leave",Dl="ng-trigger",El=".ng-trigger",jD="ng-animating",kf=".ng-animating";function Zn(n){if("number"==typeof n)return n;const t=n.match(/^(-?[\.\d]+)(m?s)/);return!t||t.length<2?0:jf(parseFloat(t[1]),t[2])}function jf(n,t){return"s"===t?1e3*n:n}function Sl(n,t,e){return n.hasOwnProperty("duration")?n:function PF(n,t,e){let r,o=0,s="";if("string"==typeof n){const a=n.match(/^(-?[\.\d]+)(m?s)(?:\s+(-?[\.\d]+)(m?s))?(?:\s+([-a-z]+(?:\(.+?\))?))?$/i);if(null===a)return t.push(MD()),{duration:0,delay:0,easing:""};r=jf(parseFloat(a[1]),a[2]);const l=a[3];null!=l&&(o=jf(parseFloat(l),a[4]));const c=a[5];c&&(s=c)}else r=n;if(!e){let a=!1,l=t.length;r<0&&(t.push(function WN(){return new D(3100,!1)}()),a=!0),o<0&&(t.push(function GN(){return new D(3101,!1)}()),a=!0),a&&t.splice(l,0,MD())}return{duration:r,delay:o,easing:s}}(n,t,e)}function ls(n,t={}){return Object.keys(n).forEach(e=>{t[e]=n[e]}),t}function VD(n){const t=new Map;return Object.keys(n).forEach(e=>{t.set(e,n[e])}),t}function vi(n,t=new Map,e){if(e)for(let[i,r]of e)t.set(i,r);for(let[i,r]of n)t.set(i,r);return t}function HD(n,t,e){return e?t+":"+e+";":""}function UD(n){let t="";for(let e=0;e{const o=Bf(r);e&&!e.has(r)&&e.set(r,n.style[o]),n.style[o]=i}),Af()&&UD(n))}function Ki(n,t){n.style&&(t.forEach((e,i)=>{const r=Bf(i);n.style[r]=""}),Af()&&UD(n))}function cs(n){return Array.isArray(n)?1==n.length?n[0]:SD(n):n}const Vf=new RegExp("{{\\s*(.+?)\\s*}}","g");function $D(n){let t=[];if("string"==typeof n){let e;for(;e=Vf.exec(n);)t.push(e[1]);Vf.lastIndex=0}return t}function us(n,t,e){const i=n.toString(),r=i.replace(Vf,(o,s)=>{let a=t[s];return null==a&&(e.push(function KN(n){return new D(3003,!1)}()),a=""),a.toString()});return r==i?n:r}function Cl(n){const t=[];let e=n.next();for(;!e.done;)t.push(e.value),e=n.next();return t}const FF=/-+([a-z0-9])/g;function Bf(n){return n.replace(FF,(...t)=>t[1].toUpperCase())}function RF(n){return n.replace(/([a-z])([A-Z])/g,"$1-$2").toLowerCase()}function Nt(n,t,e){switch(t.type){case 7:return n.visitTrigger(t,e);case 0:return n.visitState(t,e);case 1:return n.visitTransition(t,e);case 2:return n.visitSequence(t,e);case 3:return n.visitGroup(t,e);case 4:return n.visitAnimate(t,e);case 5:return n.visitKeyframes(t,e);case 6:return n.visitStyle(t,e);case 8:return n.visitReference(t,e);case 9:return n.visitAnimateChild(t,e);case 10:return n.visitAnimateRef(t,e);case 11:return n.visitQuery(t,e);case 12:return n.visitStagger(t,e);default:throw function QN(n){return new D(3004,!1)}()}}function zD(n,t){return window.getComputedStyle(n)[t]}function HF(n,t){const e=[];return"string"==typeof n?n.split(/\s*,\s*/).forEach(i=>function UF(n,t,e){if(":"==n[0]){const l=function $F(n,t){switch(n){case":enter":return"void => *";case":leave":return"* => void";case":increment":return(e,i)=>parseFloat(i)>parseFloat(e);case":decrement":return(e,i)=>parseFloat(i) *"}}(n,e);if("function"==typeof l)return void t.push(l);n=l}const i=n.match(/^(\*|[-\w]+)\s*()\s*(\*|[-\w]+)$/);if(null==i||i.length<4)return e.push(function lF(n){return new D(3015,!1)}()),t;const r=i[1],o=i[2],s=i[3];t.push(WD(r,s));"<"==o[0]&&!("*"==r&&"*"==s)&&t.push(WD(s,r))}(i,e,t)):e.push(n),e}const Ml=new Set(["true","1"]),Al=new Set(["false","0"]);function WD(n,t){const e=Ml.has(n)||Al.has(n),i=Ml.has(t)||Al.has(t);return(r,o)=>{let s="*"==n||n==r,a="*"==t||t==o;return!s&&e&&"boolean"==typeof r&&(s=r?Ml.has(n):Al.has(n)),!a&&i&&"boolean"==typeof o&&(a=o?Ml.has(t):Al.has(t)),s&&a}}const zF=new RegExp("s*:selfs*,?","g");function Hf(n,t,e,i){return new WF(n).build(t,e,i)}class WF{constructor(t){this._driver=t}build(t,e,i){const r=new KF(e);return this._resetContextStyleTimingState(r),Nt(this,cs(t),r)}_resetContextStyleTimingState(t){t.currentQuerySelector="",t.collectedStyles=new Map,t.collectedStyles.set("",new Map),t.currentTime=0}visitTrigger(t,e){let i=e.queryCount=0,r=e.depCount=0;const o=[],s=[];return"@"==t.name.charAt(0)&&e.errors.push(function ZN(){return new D(3006,!1)}()),t.definitions.forEach(a=>{if(this._resetContextStyleTimingState(e),0==a.type){const 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(1==a.type){const l=this.visitTransition(a,e);i+=l.queryCount,r+=l.depCount,s.push(l)}else e.errors.push(function XN(){return new D(3007,!1)}())}),{type:7,name:t.name,states:o,transitions:s,queryCount:i,depCount:r,options:null}}visitState(t,e){const i=this.visitStyle(t.styles,e),r=t.options&&t.options.params||null;if(i.containsDynamicStyles){const o=new Set,s=r||{};i.styles.forEach(a=>{a instanceof Map&&a.forEach(l=>{$D(l).forEach(c=>{s.hasOwnProperty(c)||o.add(c)})})}),o.size&&(Cl(o.values()),e.errors.push(function JN(n,t){return new D(3008,!1)}()))}return{type:0,name:t.name,style:i,options:r?{params:r}:null}}visitTransition(t,e){e.queryCount=0,e.depCount=0;const i=Nt(this,cs(t.animation),e);return{type:1,matchers:HF(t.expr,e.errors),animation:i,queryCount:e.queryCount,depCount:e.depCount,options:Qi(t.options)}}visitSequence(t,e){return{type:2,steps:t.steps.map(i=>Nt(this,i,e)),options:Qi(t.options)}}visitGroup(t,e){const i=e.currentTime;let r=0;const o=t.steps.map(s=>{e.currentTime=i;const a=Nt(this,s,e);return r=Math.max(r,e.currentTime),a});return e.currentTime=r,{type:3,steps:o,options:Qi(t.options)}}visitAnimate(t,e){const i=function YF(n,t){if(n.hasOwnProperty("duration"))return n;if("number"==typeof n)return Uf(Sl(n,t).duration,0,"");const e=n;if(e.split(/\s+/).some(o=>"{"==o.charAt(0)&&"{"==o.charAt(1))){const o=Uf(0,0,"");return o.dynamic=!0,o.strValue=e,o}const r=Sl(e,t);return Uf(r.duration,r.delay,r.easing)}(t.timings,e.errors);e.currentAnimateTimings=i;let r,o=t.styles?t.styles:Gi({});if(5==o.type)r=this.visitKeyframes(o,e);else{let s=t.styles,a=!1;if(!s){a=!0;const c={};i.easing&&(c.easing=i.easing),s=Gi(c)}e.currentTime+=i.duration+i.delay;const l=this.visitStyle(s,e);l.isEmptyStep=a,r=l}return e.currentAnimateTimings=null,{type:4,timings:i,style:r,options:null}}visitStyle(t,e){const i=this._makeStyleAst(t,e);return this._validateStyleAst(i,e),i}_makeStyleAst(t,e){const i=[],r=Array.isArray(t.styles)?t.styles:[t.styles];for(let a of r)"string"==typeof a?a===Yn?i.push(a):e.errors.push(new D(3002,!1)):i.push(VD(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("{{")>=0){o=!0;break}}),{type:6,styles:i,easing:s,offset:t.offset,containsDynamicStyles:o,options:null}}_validateStyleAst(t,e){const i=e.currentAnimateTimings;let r=e.currentTime,o=e.currentTime;i&&o>0&&(o-=i.duration+i.delay),t.styles.forEach(s=>{"string"!=typeof s&&s.forEach((a,l)=>{const c=e.collectedStyles.get(e.currentQuerySelector),u=c.get(l);let d=!0;u&&(o!=r&&o>=u.startTime&&r<=u.endTime&&(e.errors.push(function tF(n,t,e,i,r){return new D(3010,!1)}()),d=!1),o=u.startTime),d&&c.set(l,{startTime:o,endTime:r}),e.options&&function NF(n,t,e){const i=t.params||{},r=$D(n);r.length&&r.forEach(o=>{i.hasOwnProperty(o)||e.push(function qN(n){return new D(3001,!1)}())})}(a,e.options,e.errors)})})}visitKeyframes(t,e){const i={type:5,styles:[],options:null};if(!e.currentAnimateTimings)return e.errors.push(function nF(){return new D(3011,!1)}()),i;let o=0;const s=[];let a=!1,l=!1,c=0;const u=t.steps.map(_=>{const S=this._makeStyleAst(_,e);let g=null!=S.offset?S.offset:function QF(n){if("string"==typeof n)return null;let t=null;if(Array.isArray(n))n.forEach(e=>{if(e instanceof Map&&e.has("offset")){const i=e;t=parseFloat(i.get("offset")),i.delete("offset")}});else if(n instanceof Map&&n.has("offset")){const e=n;t=parseFloat(e.get("offset")),e.delete("offset")}return t}(S.styles),M=0;return null!=g&&(o++,M=S.offset=g),l=l||M<0||M>1,a=a||M0&&o{const g=f>0?S==h?1:f*S:s[S],M=g*y;e.currentTime=p+m.delay+M,m.duration=M,this._validateStyleAst(_,e),_.offset=g,i.styles.push(_)}),i}visitReference(t,e){return{type:8,animation:Nt(this,cs(t.animation),e),options:Qi(t.options)}}visitAnimateChild(t,e){return e.depCount++,{type:9,options:Qi(t.options)}}visitAnimateRef(t,e){return{type:10,animation:this.visitReference(t.animation,e),options:Qi(t.options)}}visitQuery(t,e){const i=e.currentQuerySelector,r=t.options||{};e.queryCount++,e.currentQuery=t;const[o,s]=function GF(n){const t=!!n.split(/\s*,\s*/).find(e=>":self"==e);return t&&(n=n.replace(zF,"")),n=n.replace(/@\*/g,El).replace(/@\w+/g,e=>El+"-"+e.slice(1)).replace(/:animating/g,kf),[n,t]}(t.selector);e.currentQuerySelector=i.length?i+" "+o:o,Ot(e.collectedStyles,e.currentQuerySelector,new Map);const a=Nt(this,cs(t.animation),e);return e.currentQuery=null,e.currentQuerySelector=i,{type:11,selector:o,limit:r.limit||0,optional:!!r.optional,includeSelf:s,animation:a,originalSelector:t.selector,options:Qi(t.options)}}visitStagger(t,e){e.currentQuery||e.errors.push(function sF(){return new D(3013,!1)}());const i="full"===t.timings?{duration:0,delay:0,easing:"full"}:Sl(t.timings,e.errors,!0);return{type:12,animation:Nt(this,cs(t.animation),e),timings:i,options:null}}}class KF{constructor(t){this.errors=t,this.queryCount=0,this.depCount=0,this.currentTransition=null,this.currentQuery=null,this.currentQuerySelector=null,this.currentAnimateTimings=null,this.currentTime=0,this.collectedStyles=new Map,this.options=null,this.unsupportedCSSPropertiesFound=new Set}}function Qi(n){return n?(n=ls(n)).params&&(n.params=function qF(n){return n?ls(n):null}(n.params)):n={},n}function Uf(n,t,e){return{duration:n,delay:t,easing:e}}function $f(n,t,e,i,r,o,s=null,a=!1){return{type:1,element:n,keyframes:t,preStyleProps:e,postStyleProps:i,duration:r,delay:o,totalTime:r+o,easing:s,subTimeline:a}}class xl{constructor(){this._map=new Map}get(t){return this._map.get(t)||[]}append(t,e){let i=this._map.get(t);i||this._map.set(t,i=[]),i.push(...e)}has(t){return this._map.has(t)}clear(){this._map.clear()}}const JF=new RegExp(":enter","g"),tR=new RegExp(":leave","g");function zf(n,t,e,i,r,o=new Map,s=new Map,a,l,c=[]){return(new nR).buildKeyframes(n,t,e,i,r,o,s,a,l,c)}class nR{buildKeyframes(t,e,i,r,o,s,a,l,c,u=[]){c=c||new xl;const d=new Wf(t,e,c,r,o,u,[]);d.options=l;const f=l.delay?Zn(l.delay):0;d.currentTimeline.delayNextStep(f),d.currentTimeline.setStyles([s],null,d.errors,l),Nt(this,i,d);const h=d.timelines.filter(p=>p.containsAnimation());if(h.length&&a.size){let p;for(let m=h.length-1;m>=0;m--){const y=h[m];if(y.element===e){p=y;break}}p&&!p.allowOnlyTimelineStyles()&&p.setStyles([a],null,d.errors,l)}return h.length?h.map(p=>p.buildKeyframes()):[$f(e,[],[],[],0,f,"",!1)]}visitTrigger(t,e){}visitState(t,e){}visitTransition(t,e){}visitAnimateChild(t,e){const i=e.subInstructions.get(e.element);if(i){const r=e.createSubContext(t.options),o=e.currentTimeline.currentTime,s=this._visitSubInstructions(i,r,r.options);o!=s&&e.transformIntoNewTimeline(s)}e.previousNode=t}visitAnimateRef(t,e){const i=e.createSubContext(t.options);i.transformIntoNewTimeline(),this._applyAnimationRefDelays([t.options,t.animation.options],e,i),this.visitReference(t.animation,i),e.transformIntoNewTimeline(i.currentTimeline.currentTime),e.previousNode=t}_applyAnimationRefDelays(t,e,i){for(const r of t){const o=r?.delay;if(o){const s="number"==typeof o?o:Zn(us(o,r?.params??{},e.errors));i.delayNextStep(s)}}}_visitSubInstructions(t,e,i){let o=e.currentTimeline.currentTime;const s=null!=i.duration?Zn(i.duration):null,a=null!=i.delay?Zn(i.delay):null;return 0!==s&&t.forEach(l=>{const c=e.appendInstructionToTimeline(l,s,a);o=Math.max(o,c.duration+c.delay)}),o}visitReference(t,e){e.updateOptions(t.options,!0),Nt(this,t.animation,e),e.previousNode=t}visitSequence(t,e){const i=e.subContextCount;let r=e;const o=t.options;if(o&&(o.params||o.delay)&&(r=e.createSubContext(o),r.transformIntoNewTimeline(),null!=o.delay)){6==r.previousNode.type&&(r.currentTimeline.snapshotCurrentStyles(),r.previousNode=Pl);const s=Zn(o.delay);r.delayNextStep(s)}t.steps.length&&(t.steps.forEach(s=>Nt(this,s,r)),r.currentTimeline.applyStylesToKeyframe(),r.subContextCount>i&&r.transformIntoNewTimeline()),e.previousNode=t}visitGroup(t,e){const i=[];let r=e.currentTimeline.currentTime;const o=t.options&&t.options.delay?Zn(t.options.delay):0;t.steps.forEach(s=>{const a=e.createSubContext(t.options);o&&a.delayNextStep(o),Nt(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=t}_visitTiming(t,e){if(t.dynamic){const i=t.strValue;return Sl(e.params?us(i,e.params,e.errors):i,e.errors)}return{duration:t.duration,delay:t.delay,easing:t.easing}}visitAnimate(t,e){const i=e.currentAnimateTimings=this._visitTiming(t.timings,e),r=e.currentTimeline;i.delay&&(e.incrementTime(i.delay),r.snapshotCurrentStyles());const o=t.style;5==o.type?this.visitKeyframes(o,e):(e.incrementTime(i.duration),this.visitStyle(o,e),r.applyStylesToKeyframe()),e.currentAnimateTimings=null,e.previousNode=t}visitStyle(t,e){const i=e.currentTimeline,r=e.currentAnimateTimings;!r&&i.hasCurrentStyleProperties()&&i.forwardFrame();const o=r&&r.easing||t.easing;t.isEmptyStep?i.applyEmptyStep(o):i.setStyles(t.styles,o,e.errors,e.options),e.previousNode=t}visitKeyframes(t,e){const i=e.currentAnimateTimings,r=e.currentTimeline.duration,o=i.duration,a=e.createSubContext().currentTimeline;a.easing=i.easing,t.styles.forEach(l=>{a.forwardTime((l.offset||0)*o),a.setStyles(l.styles,l.easing,e.errors,e.options),a.applyStylesToKeyframe()}),e.currentTimeline.mergeTimelineCollectedStyles(a),e.transformIntoNewTimeline(r+o),e.previousNode=t}visitQuery(t,e){const i=e.currentTimeline.currentTime,r=t.options||{},o=r.delay?Zn(r.delay):0;o&&(6===e.previousNode.type||0==i&&e.currentTimeline.hasCurrentStyleProperties())&&(e.currentTimeline.snapshotCurrentStyles(),e.previousNode=Pl);let s=i;const a=e.invokeQuery(t.selector,t.originalSelector,t.limit,t.includeSelf,!!r.optional,e.errors);e.currentQueryTotal=a.length;let l=null;a.forEach((c,u)=>{e.currentQueryIndex=u;const d=e.createSubContext(t.options,c);o&&d.delayNextStep(o),c===e.element&&(l=d.currentTimeline),Nt(this,t.animation,d),d.currentTimeline.applyStylesToKeyframe(),s=Math.max(s,d.currentTimeline.currentTime)}),e.currentQueryIndex=0,e.currentQueryTotal=0,e.transformIntoNewTimeline(s),l&&(e.currentTimeline.mergeTimelineCollectedStyles(l),e.currentTimeline.snapshotCurrentStyles()),e.previousNode=t}visitStagger(t,e){const i=e.parentContext,r=e.currentTimeline,o=t.timings,s=Math.abs(o.duration),a=s*(e.currentQueryTotal-1);let l=s*e.currentQueryIndex;switch(o.duration<0?"reverse":o.easing){case"reverse":l=a-l;break;case"full":l=i.currentStaggerTime}const u=e.currentTimeline;l&&u.delayNextStep(l);const d=u.currentTime;Nt(this,t.animation,e),e.previousNode=t,i.currentStaggerTime=r.currentTime-d+(r.startTime-i.currentTimeline.startTime)}}const Pl={};class Wf{constructor(t,e,i,r,o,s,a,l){this._driver=t,this.element=e,this.subInstructions=i,this._enterClassName=r,this._leaveClassName=o,this.errors=s,this.timelines=a,this.parentContext=null,this.currentAnimateTimings=null,this.previousNode=Pl,this.subContextCount=0,this.options={},this.currentQueryIndex=0,this.currentQueryTotal=0,this.currentStaggerTime=0,this.currentTimeline=l||new Ol(this._driver,e,0),a.push(this.currentTimeline)}get params(){return this.options.params}updateOptions(t,e){if(!t)return;const i=t;let r=this.options;null!=i.duration&&(r.duration=Zn(i.duration)),null!=i.delay&&(r.delay=Zn(i.delay));const 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]=us(o[a],s,this.errors))})}}_copyOptions(){const t={};if(this.options){const e=this.options.params;if(e){const i=t.params={};Object.keys(e).forEach(r=>{i[r]=e[r]})}}return t}createSubContext(t=null,e,i){const r=e||this.element,o=new Wf(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(t),o.currentQueryIndex=this.currentQueryIndex,o.currentQueryTotal=this.currentQueryTotal,o.parentContext=this,this.subContextCount++,o}transformIntoNewTimeline(t){return this.previousNode=Pl,this.currentTimeline=this.currentTimeline.fork(this.element,t),this.timelines.push(this.currentTimeline),this.currentTimeline}appendInstructionToTimeline(t,e,i){const r={duration:e??t.duration,delay:this.currentTimeline.currentTime+(i??0)+t.delay,easing:""},o=new iR(this._driver,t.element,t.keyframes,t.preStyleProps,t.postStyleProps,r,t.stretchStartingKeyframe);return this.timelines.push(o),r}incrementTime(t){this.currentTimeline.forwardTime(this.currentTimeline.duration+t)}delayNextStep(t){t>0&&this.currentTimeline.delayNextStep(t)}invokeQuery(t,e,i,r,o,s){let a=[];if(r&&a.push(this.element),t.length>0){t=(t=t.replace(JF,"."+this._enterClassName)).replace(tR,"."+this._leaveClassName);let c=this._driver.query(this.element,t,1!=i);0!==i&&(c=i<0?c.slice(c.length+i,c.length):c.slice(0,i)),a.push(...c)}return!o&&0==a.length&&s.push(function aF(n){return new D(3014,!1)}()),a}}class Ol{constructor(t,e,i,r){this._driver=t,this.element=e,this.startTime=i,this._elementTimelineStylesLookup=r,this.duration=0,this._previousKeyframe=new Map,this._currentKeyframe=new Map,this._keyframes=new Map,this._styleSummary=new Map,this._localTimelineStyles=new Map,this._pendingStyles=new Map,this._backFill=new Map,this._currentEmptyStepKeyframe=null,this._elementTimelineStylesLookup||(this._elementTimelineStylesLookup=new Map),this._globalTimelineStyles=this._elementTimelineStylesLookup.get(e),this._globalTimelineStyles||(this._globalTimelineStyles=this._localTimelineStyles,this._elementTimelineStylesLookup.set(e,this._localTimelineStyles)),this._loadKeyframe()}containsAnimation(){switch(this._keyframes.size){case 0:return!1;case 1:return this.hasCurrentStyleProperties();default:return!0}}hasCurrentStyleProperties(){return this._currentKeyframe.size>0}get currentTime(){return this.startTime+this.duration}delayNextStep(t){const e=1===this._keyframes.size&&this._pendingStyles.size;this.duration||e?(this.forwardTime(this.currentTime+t),e&&this.snapshotCurrentStyles()):this.startTime+=t}fork(t,e){return this.applyStylesToKeyframe(),new Ol(this._driver,t,e||this.currentTime,this._elementTimelineStylesLookup)}_loadKeyframe(){this._currentKeyframe&&(this._previousKeyframe=this._currentKeyframe),this._currentKeyframe=this._keyframes.get(this.duration),this._currentKeyframe||(this._currentKeyframe=new Map,this._keyframes.set(this.duration,this._currentKeyframe))}forwardFrame(){this.duration+=1,this._loadKeyframe()}forwardTime(t){this.applyStylesToKeyframe(),this.duration=t,this._loadKeyframe()}_updateStyle(t,e){this._localTimelineStyles.set(t,e),this._globalTimelineStyles.set(t,e),this._styleSummary.set(t,{time:this.currentTime,value:e})}allowOnlyTimelineStyles(){return this._currentEmptyStepKeyframe!==this._currentKeyframe}applyEmptyStep(t){t&&this._previousKeyframe.set("easing",t);for(let[e,i]of this._globalTimelineStyles)this._backFill.set(e,i||Yn),this._currentKeyframe.set(e,Yn);this._currentEmptyStepKeyframe=this._currentKeyframe}setStyles(t,e,i,r){e&&this._previousKeyframe.set("easing",e);const o=r&&r.params||{},s=function rR(n,t){const e=new Map;let i;return n.forEach(r=>{if("*"===r){i=i||t.keys();for(let o of i)e.set(o,Yn)}else vi(r,e)}),e}(t,this._globalTimelineStyles);for(let[a,l]of s){const c=us(l,o,i);this._pendingStyles.set(a,c),this._localTimelineStyles.has(a)||this._backFill.set(a,this._globalTimelineStyles.get(a)??Yn),this._updateStyle(a,c)}}applyStylesToKeyframe(){0!=this._pendingStyles.size&&(this._pendingStyles.forEach((t,e)=>{this._currentKeyframe.set(e,t)}),this._pendingStyles.clear(),this._localTimelineStyles.forEach((t,e)=>{this._currentKeyframe.has(e)||this._currentKeyframe.set(e,t)}))}snapshotCurrentStyles(){for(let[t,e]of this._localTimelineStyles)this._pendingStyles.set(t,e),this._updateStyle(t,e)}getFinalKeyframe(){return this._keyframes.get(this.duration)}get properties(){const t=[];for(let e in this._currentKeyframe)t.push(e);return t}mergeTimelineCollectedStyles(t){t._styleSummary.forEach((e,i)=>{const r=this._styleSummary.get(i);(!r||e.time>r.time)&&this._updateStyle(i,e.value)})}buildKeyframes(){this.applyStylesToKeyframe();const t=new Set,e=new Set,i=1===this._keyframes.size&&0===this.duration;let r=[];this._keyframes.forEach((a,l)=>{const c=vi(a,new Map,this._backFill);c.forEach((u,d)=>{"!"===u?t.add(d):u===Yn&&e.add(d)}),i||c.set("offset",l/this.duration),r.push(c)});const o=t.size?Cl(t.values()):[],s=e.size?Cl(e.values()):[];if(i){const a=r[0],l=new Map(a);a.set("offset",0),l.set("offset",1),r=[a,l]}return $f(this.element,r,o,s,this.duration,this.startTime,this.easing,!1)}}class iR extends Ol{constructor(t,e,i,r,o,s,a=!1){super(t,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 t=this.keyframes,{delay:e,duration:i,easing:r}=this.timings;if(this._stretchStartingKeyframe&&e){const o=[],s=i+e,a=e/s,l=vi(t[0]);l.set("offset",0),o.push(l);const c=vi(t[0]);c.set("offset",KD(a)),o.push(c);const u=t.length-1;for(let d=1;d<=u;d++){let f=vi(t[d]);const h=f.get("offset");f.set("offset",KD((e+h*i)/s)),o.push(f)}i=s,e=0,r="",t=o}return $f(this.element,t,this.preStyleProps,this.postStyleProps,i,e,r,!0)}}function KD(n,t=3){const e=Math.pow(10,t-1);return Math.round(n*e)/e}class Gf{}const oR=new Set(["width","height","minWidth","minHeight","maxWidth","maxHeight","left","top","bottom","right","fontSize","outlineWidth","outlineOffset","paddingTop","paddingLeft","paddingBottom","paddingRight","marginTop","marginLeft","marginBottom","marginRight","borderRadius","borderWidth","borderTopWidth","borderLeftWidth","borderRightWidth","borderBottomWidth","textIndent","perspective"]);class sR extends Gf{normalizePropertyName(t,e){return Bf(t)}normalizeStyleValue(t,e,i,r){let o="";const s=i.toString().trim();if(oR.has(e)&&0!==i&&"0"!==i)if("number"==typeof i)o="px";else{const a=i.match(/^[+-]?[\d\.]+([a-z]*)$/);a&&0==a[1].length&&r.push(function YN(n,t){return new D(3005,!1)}())}return s+o}}function QD(n,t,e,i,r,o,s,a,l,c,u,d,f){return{type:0,element:n,triggerName:t,isRemovalTransition:r,fromState:e,fromStyles:o,toState:i,toStyles:s,timelines:a,queriedElements:l,preStyleProps:c,postStyleProps:u,totalTime:d,errors:f}}const qf={};class YD{constructor(t,e,i){this._triggerName=t,this.ast=e,this._stateStyles=i}match(t,e,i,r){return function aR(n,t,e,i,r){return n.some(o=>o(t,e,i,r))}(this.ast.matchers,t,e,i,r)}buildStyles(t,e,i){let r=this._stateStyles.get("*");return void 0!==t&&(r=this._stateStyles.get(t?.toString())||r),r?r.buildStyles(e,i):new Map}build(t,e,i,r,o,s,a,l,c,u){const d=[],f=this.ast.options&&this.ast.options.params||qf,p=this.buildStyles(i,a&&a.params||qf,d),m=l&&l.params||qf,y=this.buildStyles(r,m,d),_=new Set,S=new Map,g=new Map,M="void"===r,ie={params:lR(m,f),delay:this.ast.options?.delay},oe=u?[]:zf(t,e,this.ast.animation,o,s,p,y,ie,c,d);let lt=0;if(oe.forEach(ti=>{lt=Math.max(ti.duration+ti.delay,lt)}),d.length)return QD(e,this._triggerName,i,r,M,p,y,[],[],S,g,lt,d);oe.forEach(ti=>{const ni=ti.element,$E=Ot(S,ni,new Set);ti.preStyleProps.forEach(Xi=>$E.add(Xi));const ms=Ot(g,ni,new Set);ti.postStyleProps.forEach(Xi=>ms.add(Xi)),ni!==e&&_.add(ni)});const ei=Cl(_.values());return QD(e,this._triggerName,i,r,M,p,y,oe,ei,S,g,lt)}}function lR(n,t){const e=ls(t);for(const i in n)n.hasOwnProperty(i)&&null!=n[i]&&(e[i]=n[i]);return e}class cR{constructor(t,e,i){this.styles=t,this.defaultParams=e,this.normalizer=i}buildStyles(t,e){const i=new Map,r=ls(this.defaultParams);return Object.keys(t).forEach(o=>{const s=t[o];null!==s&&(r[o]=s)}),this.styles.styles.forEach(o=>{"string"!=typeof o&&o.forEach((s,a)=>{s&&(s=us(s,r,e));const l=this.normalizer.normalizePropertyName(a,e);s=this.normalizer.normalizeStyleValue(a,l,s,e),i.set(a,s)})}),i}}class dR{constructor(t,e,i){this.name=t,this.ast=e,this._normalizer=i,this.transitionFactories=[],this.states=new Map,e.states.forEach(r=>{this.states.set(r.name,new cR(r.style,r.options&&r.options.params||{},i))}),ZD(this.states,"true","1"),ZD(this.states,"false","0"),e.transitions.forEach(r=>{this.transitionFactories.push(new YD(t,r,this.states))}),this.fallbackTransition=function fR(n,t,e){return new YD(n,{type:1,animation:{type:2,steps:[],options:null},matchers:[(s,a)=>!0],options:null,queryCount:0,depCount:0},t)}(t,this.states)}get containsQueries(){return this.ast.queryCount>0}matchTransition(t,e,i,r){return this.transitionFactories.find(s=>s.match(t,e,i,r))||null}matchStyles(t,e,i){return this.fallbackTransition.buildStyles(t,e,i)}}function ZD(n,t,e){n.has(t)?n.has(e)||n.set(e,n.get(t)):n.has(e)&&n.set(t,n.get(e))}const hR=new xl;class pR{constructor(t,e,i){this.bodyNode=t,this._driver=e,this._normalizer=i,this._animations=new Map,this._playersById=new Map,this.players=[]}register(t,e){const i=[],o=Hf(this._driver,e,i,[]);if(i.length)throw function pF(n){return new D(3503,!1)}();this._animations.set(t,o)}_buildPlayer(t,e,i){const r=t.element,o=AD(0,this._normalizer,0,t.keyframes,e,i);return this._driver.animate(r,o,t.duration,t.delay,t.easing,[],!0)}create(t,e,i={}){const r=[],o=this._animations.get(t);let s;const a=new Map;if(o?(s=zf(this._driver,e,o,Lf,bl,new Map,new Map,i,hR,r),s.forEach(u=>{const d=Ot(a,u.element,new Map);u.postStyleProps.forEach(f=>d.set(f,null))})):(r.push(function mF(){return new D(3300,!1)}()),s=[]),r.length)throw function gF(n){return new D(3504,!1)}();a.forEach((u,d)=>{u.forEach((f,h)=>{u.set(h,this._driver.computeStyle(d,h,Yn))})});const c=_i(s.map(u=>{const d=a.get(u.element);return this._buildPlayer(u,new Map,d)}));return this._playersById.set(t,c),c.onDestroy(()=>this.destroy(t)),this.players.push(c),c}destroy(t){const e=this._getPlayer(t);e.destroy(),this._playersById.delete(t);const i=this.players.indexOf(e);i>=0&&this.players.splice(i,1)}_getPlayer(t){const e=this._playersById.get(t);if(!e)throw function yF(n){return new D(3301,!1)}();return e}listen(t,e,i,r){const o=Of(e,"","","");return xf(this._getPlayer(t),i,o,r),()=>{}}command(t,e,i,r){if("register"==i)return void this.register(t,r[0]);if("create"==i)return void this.create(t,e,r[0]||{});const o=this._getPlayer(t);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(t)}}}const XD="ng-animate-queued",Kf="ng-animate-disabled",vR=[],JD={namespaceId:"",setForRemoval:!1,setForMove:!1,hasAnimation:!1,removedBeforeQueried:!1},bR={namespaceId:"",setForMove:!1,setForRemoval:!1,hasAnimation:!1,removedBeforeQueried:!0},qt="__ng_removed";class Qf{get params(){return this.options.params}constructor(t,e=""){this.namespaceId=e;const i=t&&t.hasOwnProperty("value");if(this.value=function CR(n){return n??null}(i?t.value:t),i){const o=ls(t);delete o.value,this.options=o}else this.options={};this.options.params||(this.options.params={})}absorbOptions(t){const e=t.params;if(e){const i=this.options.params;Object.keys(e).forEach(r=>{null==i[r]&&(i[r]=e[r])})}}}const ds="void",Yf=new Qf(ds);class DR{constructor(t,e,i){this.id=t,this.hostElement=e,this._engine=i,this.players=[],this._triggers=new Map,this._queue=[],this._elementListeners=new Map,this._hostClassName="ng-tns-"+t,Kt(e,this._hostClassName)}listen(t,e,i,r){if(!this._triggers.has(e))throw function _F(n,t){return new D(3302,!1)}();if(null==i||0==i.length)throw function vF(n){return new D(3303,!1)}();if(!function wR(n){return"start"==n||"done"==n}(i))throw function bF(n,t){return new D(3400,!1)}();const o=Ot(this._elementListeners,t,[]),s={name:e,phase:i,callback:r};o.push(s);const a=Ot(this._engine.statesByElement,t,new Map);return a.has(e)||(Kt(t,Dl),Kt(t,Dl+"-"+e),a.set(e,Yf)),()=>{this._engine.afterFlush(()=>{const l=o.indexOf(s);l>=0&&o.splice(l,1),this._triggers.has(e)||a.delete(e)})}}register(t,e){return!this._triggers.has(t)&&(this._triggers.set(t,e),!0)}_getTrigger(t){const e=this._triggers.get(t);if(!e)throw function DF(n){return new D(3401,!1)}();return e}trigger(t,e,i,r=!0){const o=this._getTrigger(e),s=new Zf(this.id,e,t);let a=this._engine.statesByElement.get(t);a||(Kt(t,Dl),Kt(t,Dl+"-"+e),this._engine.statesByElement.set(t,a=new Map));let l=a.get(e);const c=new Qf(i,this.id);if(!(i&&i.hasOwnProperty("value"))&&l&&c.absorbOptions(l.options),a.set(e,c),l||(l=Yf),c.value!==ds&&l.value===c.value){if(!function MR(n,t){const e=Object.keys(n),i=Object.keys(t);if(e.length!=i.length)return!1;for(let r=0;r{Ki(t,y),Tn(t,_)})}return}const f=Ot(this._engine.playersByElement,t,[]);f.forEach(m=>{m.namespaceId==this.id&&m.triggerName==e&&m.queued&&m.destroy()});let h=o.matchTransition(l.value,c.value,t,c.params),p=!1;if(!h){if(!r)return;h=o.fallbackTransition,p=!0}return this._engine.totalQueuedPlayers++,this._queue.push({element:t,triggerName:e,transition:h,fromState:l,toState:c,player:s,isFallbackTransition:p}),p||(Kt(t,XD),s.onStart(()=>{zr(t,XD)})),s.onDone(()=>{let m=this.players.indexOf(s);m>=0&&this.players.splice(m,1);const y=this._engine.playersByElement.get(t);if(y){let _=y.indexOf(s);_>=0&&y.splice(_,1)}}),this.players.push(s),f.push(s),s}deregister(t){this._triggers.delete(t),this._engine.statesByElement.forEach(e=>e.delete(t)),this._elementListeners.forEach((e,i)=>{this._elementListeners.set(i,e.filter(r=>r.name!=t))})}clearElementCache(t){this._engine.statesByElement.delete(t),this._elementListeners.delete(t);const e=this._engine.playersByElement.get(t);e&&(e.forEach(i=>i.destroy()),this._engine.playersByElement.delete(t))}_signalRemovalForInnerTriggers(t,e){const i=this._engine.driver.query(t,El,!0);i.forEach(r=>{if(r[qt])return;const 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(t,e,i,r){const o=this._engine.statesByElement.get(t),s=new Map;if(o){const a=[];if(o.forEach((l,c)=>{if(s.set(c,l.value),this._triggers.has(c)){const u=this.trigger(t,c,ds,r);u&&a.push(u)}}),a.length)return this._engine.markElementAsRemoved(this.id,t,!0,e,s),i&&_i(a).onDone(()=>this._engine.processLeaveNode(t)),!0}return!1}prepareLeaveAnimationListeners(t){const e=this._elementListeners.get(t),i=this._engine.statesByElement.get(t);if(e&&i){const r=new Set;e.forEach(o=>{const s=o.name;if(r.has(s))return;r.add(s);const l=this._triggers.get(s).fallbackTransition,c=i.get(s)||Yf,u=new Qf(ds),d=new Zf(this.id,s,t);this._engine.totalQueuedPlayers++,this._queue.push({element:t,triggerName:s,transition:l,fromState:c,toState:u,player:d,isFallbackTransition:!0})})}}removeNode(t,e){const i=this._engine;if(t.childElementCount&&this._signalRemovalForInnerTriggers(t,e),this.triggerLeaveAnimation(t,e,!0))return;let r=!1;if(i.totalAnimations){const o=i.players.length?i.playersByQueriedElement.get(t):[];if(o&&o.length)r=!0;else{let s=t;for(;s=s.parentNode;)if(i.statesByElement.get(s)){r=!0;break}}}if(this.prepareLeaveAnimationListeners(t),r)i.markElementAsRemoved(this.id,t,!1,e);else{const o=t[qt];(!o||o===JD)&&(i.afterFlush(()=>this.clearElementCache(t)),i.destroyInnerAnimations(t),i._onRemovalComplete(t,e))}}insertNode(t,e){Kt(t,this._hostClassName)}drainQueuedTransitions(t){const e=[];return this._queue.forEach(i=>{const r=i.player;if(r.destroyed)return;const o=i.element,s=this._elementListeners.get(o);s&&s.forEach(a=>{if(a.name==i.triggerName){const l=Of(o,i.triggerName,i.fromState.value,i.toState.value);l._data=t,xf(i.player,a.phase,l,a.callback)}}),r.markedForDestroy?this._engine.afterFlush(()=>{r.destroy()}):e.push(i)}),this._queue=[],e.sort((i,r)=>{const o=i.transition.ast.depCount,s=r.transition.ast.depCount;return 0==o||0==s?o-s:this._engine.driver.containsElement(i.element,r.element)?1:-1})}destroy(t){this.players.forEach(e=>e.destroy()),this._signalRemovalForInnerTriggers(this.hostElement,t)}elementContainsData(t){let e=!1;return this._elementListeners.has(t)&&(e=!0),e=!!this._queue.find(i=>i.element===t)||e,e}}class ER{_onRemovalComplete(t,e){this.onRemovalComplete(t,e)}constructor(t,e,i){this.bodyNode=t,this.driver=e,this._normalizer=i,this.players=[],this.newHostElements=new Map,this.playersByElement=new Map,this.playersByQueriedElement=new Map,this.statesByElement=new Map,this.disabledNodes=new Set,this.totalAnimations=0,this.totalQueuedPlayers=0,this._namespaceLookup={},this._namespaceList=[],this._flushFns=[],this._whenQuietFns=[],this.namespacesByHostElement=new Map,this.collectedEnterElements=[],this.collectedLeaveElements=[],this.onRemovalComplete=(r,o)=>{}}get queuedPlayers(){const t=[];return this._namespaceList.forEach(e=>{e.players.forEach(i=>{i.queued&&t.push(i)})}),t}createNamespace(t,e){const i=new DR(t,e,this);return this.bodyNode&&this.driver.containsElement(this.bodyNode,e)?this._balanceNamespaceList(i,e):(this.newHostElements.set(e,i),this.collectEnterElement(e)),this._namespaceLookup[t]=i}_balanceNamespaceList(t,e){const i=this._namespaceList,r=this.namespacesByHostElement;if(i.length-1>=0){let s=!1,a=this.driver.getParentElement(e);for(;a;){const l=r.get(a);if(l){const c=i.indexOf(l);i.splice(c+1,0,t),s=!0;break}a=this.driver.getParentElement(a)}s||i.unshift(t)}else i.push(t);return r.set(e,t),t}register(t,e){let i=this._namespaceLookup[t];return i||(i=this.createNamespace(t,e)),i}registerTrigger(t,e,i){let r=this._namespaceLookup[t];r&&r.register(e,i)&&this.totalAnimations++}destroy(t,e){if(!t)return;const i=this._fetchNamespace(t);this.afterFlush(()=>{this.namespacesByHostElement.delete(i.hostElement),delete this._namespaceLookup[t];const r=this._namespaceList.indexOf(i);r>=0&&this._namespaceList.splice(r,1)}),this.afterFlushAnimationsDone(()=>i.destroy(e))}_fetchNamespace(t){return this._namespaceLookup[t]}fetchNamespacesByElement(t){const e=new Set,i=this.statesByElement.get(t);if(i)for(let r of i.values())if(r.namespaceId){const o=this._fetchNamespace(r.namespaceId);o&&e.add(o)}return e}trigger(t,e,i,r){if(Nl(e)){const o=this._fetchNamespace(t);if(o)return o.trigger(e,i,r),!0}return!1}insertNode(t,e,i,r){if(!Nl(e))return;const o=e[qt];if(o&&o.setForRemoval){o.setForRemoval=!1,o.setForMove=!0;const s=this.collectedLeaveElements.indexOf(e);s>=0&&this.collectedLeaveElements.splice(s,1)}if(t){const s=this._fetchNamespace(t);s&&s.insertNode(e,i)}r&&this.collectEnterElement(e)}collectEnterElement(t){this.collectedEnterElements.push(t)}markElementAsDisabled(t,e){e?this.disabledNodes.has(t)||(this.disabledNodes.add(t),Kt(t,Kf)):this.disabledNodes.has(t)&&(this.disabledNodes.delete(t),zr(t,Kf))}removeNode(t,e,i,r){if(Nl(e)){const o=t?this._fetchNamespace(t):null;if(o?o.removeNode(e,r):this.markElementAsRemoved(t,e,!1,r),i){const s=this.namespacesByHostElement.get(e);s&&s.id!==t&&s.removeNode(e,r)}}else this._onRemovalComplete(e,r)}markElementAsRemoved(t,e,i,r,o){this.collectedLeaveElements.push(e),e[qt]={namespaceId:t,setForRemoval:r,hasAnimation:i,removedBeforeQueried:!1,previousTriggersValues:o}}listen(t,e,i,r,o){return Nl(e)?this._fetchNamespace(t).listen(e,i,r,o):()=>{}}_buildInstruction(t,e,i,r,o){return t.transition.build(this.driver,t.element,t.fromState.value,t.toState.value,i,r,t.fromState.options,t.toState.options,e,o)}destroyInnerAnimations(t){let e=this.driver.query(t,El,!0);e.forEach(i=>this.destroyActiveAnimationsForElement(i)),0!=this.playersByQueriedElement.size&&(e=this.driver.query(t,kf,!0),e.forEach(i=>this.finishActiveQueriedAnimationOnElement(i)))}destroyActiveAnimationsForElement(t){const e=this.playersByElement.get(t);e&&e.forEach(i=>{i.queued?i.markedForDestroy=!0:i.destroy()})}finishActiveQueriedAnimationOnElement(t){const e=this.playersByQueriedElement.get(t);e&&e.forEach(i=>i.finish())}whenRenderingDone(){return new Promise(t=>{if(this.players.length)return _i(this.players).onDone(()=>t());t()})}processLeaveNode(t){const e=t[qt];if(e&&e.setForRemoval){if(t[qt]=JD,e.namespaceId){this.destroyInnerAnimations(t);const i=this._fetchNamespace(e.namespaceId);i&&i.clearElementCache(t)}this._onRemovalComplete(t,e.setForRemoval)}t.classList?.contains(Kf)&&this.markElementAsDisabled(t,!1),this.driver.query(t,".ng-animate-disabled",!0).forEach(i=>{this.markElementAsDisabled(i,!1)})}flush(t=-1){let e=[];if(this.newHostElements.size&&(this.newHostElements.forEach((i,r)=>this._balanceNamespaceList(i,r)),this.newHostElements.clear()),this.totalAnimations&&this.collectedEnterElements.length)for(let i=0;ii()),this._flushFns=[],this._whenQuietFns.length){const i=this._whenQuietFns;this._whenQuietFns=[],e.length?_i(e).onDone(()=>{i.forEach(r=>r())}):i.forEach(r=>r())}}reportError(t){throw function EF(n){return new D(3402,!1)}()}_flushAnimations(t,e){const i=new xl,r=[],o=new Map,s=[],a=new Map,l=new Map,c=new Map,u=new Set;this.disabledNodes.forEach(x=>{u.add(x);const N=this.driver.query(x,".ng-animate-queued",!0);for(let j=0;j{const j=Lf+m++;p.set(N,j),x.forEach(re=>Kt(re,j))});const y=[],_=new Set,S=new Set;for(let x=0;x_.add(re)):S.add(N))}const g=new Map,M=nE(f,Array.from(_));M.forEach((x,N)=>{const j=bl+m++;g.set(N,j),x.forEach(re=>Kt(re,j))}),t.push(()=>{h.forEach((x,N)=>{const j=p.get(N);x.forEach(re=>zr(re,j))}),M.forEach((x,N)=>{const j=g.get(N);x.forEach(re=>zr(re,j))}),y.forEach(x=>{this.processLeaveNode(x)})});const ie=[],oe=[];for(let x=this._namespaceList.length-1;x>=0;x--)this._namespaceList[x].drainQueuedTransitions(e).forEach(j=>{const re=j.player,Ge=j.element;if(ie.push(re),this.collectedEnterElements.length){const ct=Ge[qt];if(ct&&ct.setForMove){if(ct.previousTriggersValues&&ct.previousTriggersValues.has(j.triggerName)){const Ji=ct.previousTriggersValues.get(j.triggerName),Qt=this.statesByElement.get(j.element);if(Qt&&Qt.has(j.triggerName)){const $l=Qt.get(j.triggerName);$l.value=Ji,Qt.set(j.triggerName,$l)}}return void re.destroy()}}const xn=!d||!this.driver.containsElement(d,Ge),Lt=g.get(Ge),Si=p.get(Ge),we=this._buildInstruction(j,i,Si,Lt,xn);if(we.errors&&we.errors.length)return void oe.push(we);if(xn)return re.onStart(()=>Ki(Ge,we.fromStyles)),re.onDestroy(()=>Tn(Ge,we.toStyles)),void r.push(re);if(j.isFallbackTransition)return re.onStart(()=>Ki(Ge,we.fromStyles)),re.onDestroy(()=>Tn(Ge,we.toStyles)),void r.push(re);const GE=[];we.timelines.forEach(ct=>{ct.stretchStartingKeyframe=!0,this.disabledNodes.has(ct.element)||GE.push(ct)}),we.timelines=GE,i.append(Ge,we.timelines),s.push({instruction:we,player:re,element:Ge}),we.queriedElements.forEach(ct=>Ot(a,ct,[]).push(re)),we.preStyleProps.forEach((ct,Ji)=>{if(ct.size){let Qt=l.get(Ji);Qt||l.set(Ji,Qt=new Set),ct.forEach(($l,dh)=>Qt.add(dh))}}),we.postStyleProps.forEach((ct,Ji)=>{let Qt=c.get(Ji);Qt||c.set(Ji,Qt=new Set),ct.forEach(($l,dh)=>Qt.add(dh))})});if(oe.length){const x=[];oe.forEach(N=>{x.push(function SF(n,t){return new D(3505,!1)}())}),ie.forEach(N=>N.destroy()),this.reportError(x)}const lt=new Map,ei=new Map;s.forEach(x=>{const N=x.element;i.has(N)&&(ei.set(N,N),this._beforeAnimationBuild(x.player.namespaceId,x.instruction,lt))}),r.forEach(x=>{const N=x.element;this._getPreviousPlayers(N,!1,x.namespaceId,x.triggerName,null).forEach(re=>{Ot(lt,N,[]).push(re),re.destroy()})});const ti=y.filter(x=>rE(x,l,c)),ni=new Map;tE(ni,this.driver,S,c,Yn).forEach(x=>{rE(x,l,c)&&ti.push(x)});const ms=new Map;h.forEach((x,N)=>{tE(ms,this.driver,new Set(x),l,"!")}),ti.forEach(x=>{const N=ni.get(x),j=ms.get(x);ni.set(x,new Map([...Array.from(N?.entries()??[]),...Array.from(j?.entries()??[])]))});const Xi=[],zE=[],WE={};s.forEach(x=>{const{element:N,player:j,instruction:re}=x;if(i.has(N)){if(u.has(N))return j.onDestroy(()=>Tn(N,re.toStyles)),j.disabled=!0,j.overrideTotalTime(re.totalTime),void r.push(j);let Ge=WE;if(ei.size>1){let Lt=N;const Si=[];for(;Lt=Lt.parentNode;){const we=ei.get(Lt);if(we){Ge=we;break}Si.push(Lt)}Si.forEach(we=>ei.set(we,Ge))}const xn=this._buildAnimation(j.namespaceId,re,lt,o,ms,ni);if(j.setRealPlayer(xn),Ge===WE)Xi.push(j);else{const Lt=this.playersByElement.get(Ge);Lt&&Lt.length&&(j.parentPlayer=_i(Lt)),r.push(j)}}else Ki(N,re.fromStyles),j.onDestroy(()=>Tn(N,re.toStyles)),zE.push(j),u.has(N)&&r.push(j)}),zE.forEach(x=>{const N=o.get(x.element);if(N&&N.length){const j=_i(N);x.setRealPlayer(j)}}),r.forEach(x=>{x.parentPlayer?x.syncPlayerEvents(x.parentPlayer):x.destroy()});for(let x=0;x!xn.destroyed);Ge.length?IR(this,N,Ge):this.processLeaveNode(N)}return y.length=0,Xi.forEach(x=>{this.players.push(x),x.onDone(()=>{x.destroy();const N=this.players.indexOf(x);this.players.splice(N,1)}),x.play()}),Xi}elementContainsData(t,e){let i=!1;const r=e[qt];return r&&r.setForRemoval&&(i=!0),this.playersByElement.has(e)&&(i=!0),this.playersByQueriedElement.has(e)&&(i=!0),this.statesByElement.has(e)&&(i=!0),this._fetchNamespace(t).elementContainsData(e)||i}afterFlush(t){this._flushFns.push(t)}afterFlushAnimationsDone(t){this._whenQuietFns.push(t)}_getPreviousPlayers(t,e,i,r,o){let s=[];if(e){const a=this.playersByQueriedElement.get(t);a&&(s=a)}else{const a=this.playersByElement.get(t);if(a){const l=!o||o==ds;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(t,e,i){const o=e.element,s=e.isRemovalTransition?void 0:t,a=e.isRemovalTransition?void 0:e.triggerName;for(const l of e.timelines){const c=l.element,u=c!==o,d=Ot(i,c,[]);this._getPreviousPlayers(c,u,s,a,e.toState).forEach(h=>{const p=h.getRealPlayer();p.beforeDestroy&&p.beforeDestroy(),h.destroy(),d.push(h)})}Ki(o,e.fromStyles)}_buildAnimation(t,e,i,r,o,s){const a=e.triggerName,l=e.element,c=[],u=new Set,d=new Set,f=e.timelines.map(p=>{const m=p.element;u.add(m);const y=m[qt];if(y&&y.removedBeforeQueried)return new as(p.duration,p.delay);const _=m!==l,S=function TR(n){const t=[];return iE(n,t),t}((i.get(m)||vR).map(lt=>lt.getRealPlayer())).filter(lt=>!!lt.element&<.element===m),g=o.get(m),M=s.get(m),ie=AD(0,this._normalizer,0,p.keyframes,g,M),oe=this._buildPlayer(p,ie,S);if(p.subTimeline&&r&&d.add(m),_){const lt=new Zf(t,a,m);lt.setRealPlayer(oe),c.push(lt)}return oe});c.forEach(p=>{Ot(this.playersByQueriedElement,p.element,[]).push(p),p.onDone(()=>function SR(n,t,e){let i=n.get(t);if(i){if(i.length){const r=i.indexOf(e);i.splice(r,1)}0==i.length&&n.delete(t)}return i}(this.playersByQueriedElement,p.element,p))}),u.forEach(p=>Kt(p,jD));const h=_i(f);return h.onDestroy(()=>{u.forEach(p=>zr(p,jD)),Tn(l,e.toStyles)}),d.forEach(p=>{Ot(r,p,[]).push(h)}),h}_buildPlayer(t,e,i){return e.length>0?this.driver.animate(t.element,e,t.duration,t.delay,t.easing,i):new as(t.duration,t.delay)}}class Zf{constructor(t,e,i){this.namespaceId=t,this.triggerName=e,this.element=i,this._player=new as,this._containsRealPlayer=!1,this._queuedCallbacks=new Map,this.destroyed=!1,this.markedForDestroy=!1,this.disabled=!1,this.queued=!0,this.totalTime=0}setRealPlayer(t){this._containsRealPlayer||(this._player=t,this._queuedCallbacks.forEach((e,i)=>{e.forEach(r=>xf(t,i,void 0,r))}),this._queuedCallbacks.clear(),this._containsRealPlayer=!0,this.overrideTotalTime(t.totalTime),this.queued=!1)}getRealPlayer(){return this._player}overrideTotalTime(t){this.totalTime=t}syncPlayerEvents(t){const e=this._player;e.triggerCallback&&t.onStart(()=>e.triggerCallback("start")),t.onDone(()=>this.finish()),t.onDestroy(()=>this.destroy())}_queueEvent(t,e){Ot(this._queuedCallbacks,t,[]).push(e)}onDone(t){this.queued&&this._queueEvent("done",t),this._player.onDone(t)}onStart(t){this.queued&&this._queueEvent("start",t),this._player.onStart(t)}onDestroy(t){this.queued&&this._queueEvent("destroy",t),this._player.onDestroy(t)}init(){this._player.init()}hasStarted(){return!this.queued&&this._player.hasStarted()}play(){!this.queued&&this._player.play()}pause(){!this.queued&&this._player.pause()}restart(){!this.queued&&this._player.restart()}finish(){this._player.finish()}destroy(){this.destroyed=!0,this._player.destroy()}reset(){!this.queued&&this._player.reset()}setPosition(t){this.queued||this._player.setPosition(t)}getPosition(){return this.queued?0:this._player.getPosition()}triggerCallback(t){const e=this._player;e.triggerCallback&&e.triggerCallback(t)}}function Nl(n){return n&&1===n.nodeType}function eE(n,t){const e=n.style.display;return n.style.display=t??"none",e}function tE(n,t,e,i,r){const o=[];e.forEach(l=>o.push(eE(l)));const s=[];i.forEach((l,c)=>{const u=new Map;l.forEach(d=>{const f=t.computeStyle(c,d,r);u.set(d,f),(!f||0==f.length)&&(c[qt]=bR,s.push(c))}),n.set(c,u)});let a=0;return e.forEach(l=>eE(l,o[a++])),s}function nE(n,t){const e=new Map;if(n.forEach(a=>e.set(a,[])),0==t.length)return e;const r=new Set(t),o=new Map;function s(a){if(!a)return 1;let l=o.get(a);if(l)return l;const c=a.parentNode;return l=e.has(c)?c:r.has(c)?1:s(c),o.set(a,l),l}return t.forEach(a=>{const l=s(a);1!==l&&e.get(l).push(a)}),e}function Kt(n,t){n.classList?.add(t)}function zr(n,t){n.classList?.remove(t)}function IR(n,t,e){_i(e).onDone(()=>n.processLeaveNode(t))}function iE(n,t){for(let e=0;er.add(o)):t.set(n,i),e.delete(n),!0}class Fl{constructor(t,e,i){this.bodyNode=t,this._driver=e,this._normalizer=i,this._triggerCache={},this.onRemovalComplete=(r,o)=>{},this._transitionEngine=new ER(t,e,i),this._timelineEngine=new pR(t,e,i),this._transitionEngine.onRemovalComplete=(r,o)=>this.onRemovalComplete(r,o)}registerTrigger(t,e,i,r,o){const s=t+"-"+r;let a=this._triggerCache[s];if(!a){const l=[],u=Hf(this._driver,o,l,[]);if(l.length)throw function fF(n,t){return new D(3404,!1)}();a=function uR(n,t,e){return new dR(n,t,e)}(r,u,this._normalizer),this._triggerCache[s]=a}this._transitionEngine.registerTrigger(e,r,a)}register(t,e){this._transitionEngine.register(t,e)}destroy(t,e){this._transitionEngine.destroy(t,e)}onInsert(t,e,i,r){this._transitionEngine.insertNode(t,e,i,r)}onRemove(t,e,i,r){this._transitionEngine.removeNode(t,e,r||!1,i)}disableAnimations(t,e){this._transitionEngine.markElementAsDisabled(t,e)}process(t,e,i,r){if("@"==i.charAt(0)){const[o,s]=xD(i);this._timelineEngine.command(o,e,s,r)}else this._transitionEngine.trigger(t,e,i,r)}listen(t,e,i,r,o){if("@"==i.charAt(0)){const[s,a]=xD(i);return this._timelineEngine.listen(s,e,a,o)}return this._transitionEngine.listen(t,e,i,r,o)}flush(t=-1){this._transitionEngine.flush(t)}get players(){return this._transitionEngine.players.concat(this._timelineEngine.players)}whenRenderingDone(){return this._transitionEngine.whenRenderingDone()}}let xR=(()=>{class n{constructor(e,i,r){this._element=e,this._startStyles=i,this._endStyles=r,this._state=0;let o=n.initialStylesByElement.get(e);o||n.initialStylesByElement.set(e,o=new Map),this._initialStyles=o}start(){this._state<1&&(this._startStyles&&Tn(this._element,this._startStyles,this._initialStyles),this._state=1)}finish(){this.start(),this._state<2&&(Tn(this._element,this._initialStyles),this._endStyles&&(Tn(this._element,this._endStyles),this._endStyles=null),this._state=1)}destroy(){this.finish(),this._state<3&&(n.initialStylesByElement.delete(this._element),this._startStyles&&(Ki(this._element,this._startStyles),this._endStyles=null),this._endStyles&&(Ki(this._element,this._endStyles),this._endStyles=null),Tn(this._element,this._initialStyles),this._state=3)}}return n.initialStylesByElement=new WeakMap,n})();function Xf(n){let t=null;return n.forEach((e,i)=>{(function PR(n){return"display"===n||"position"===n})(i)&&(t=t||new Map,t.set(i,e))}),t}class oE{constructor(t,e,i,r){this.element=t,this.keyframes=e,this.options=i,this._specialStyles=r,this._onDoneFns=[],this._onStartFns=[],this._onDestroyFns=[],this._initialized=!1,this._finished=!1,this._started=!1,this._destroyed=!1,this._originalOnDoneFns=[],this._originalOnStartFns=[],this.time=0,this.parentPlayer=null,this.currentSnapshot=new Map,this._duration=i.duration,this._delay=i.delay||0,this.time=this._duration+this._delay}_onFinish(){this._finished||(this._finished=!0,this._onDoneFns.forEach(t=>t()),this._onDoneFns=[])}init(){this._buildPlayer(),this._preparePlayerBeforeStart()}_buildPlayer(){if(this._initialized)return;this._initialized=!0;const t=this.keyframes;this.domPlayer=this._triggerWebAnimation(this.element,t,this.options),this._finalKeyframe=t.length?t[t.length-1]:new Map,this.domPlayer.addEventListener("finish",()=>this._onFinish())}_preparePlayerBeforeStart(){this._delay?this._resetDomPlayerState():this.domPlayer.pause()}_convertKeyframesToObject(t){const e=[];return t.forEach(i=>{e.push(Object.fromEntries(i))}),e}_triggerWebAnimation(t,e,i){return t.animate(this._convertKeyframesToObject(e),i)}onStart(t){this._originalOnStartFns.push(t),this._onStartFns.push(t)}onDone(t){this._originalOnDoneFns.push(t),this._onDoneFns.push(t)}onDestroy(t){this._onDestroyFns.push(t)}play(){this._buildPlayer(),this.hasStarted()||(this._onStartFns.forEach(t=>t()),this._onStartFns=[],this._started=!0,this._specialStyles&&this._specialStyles.start()),this.domPlayer.play()}pause(){this.init(),this.domPlayer.pause()}finish(){this.init(),this._specialStyles&&this._specialStyles.finish(),this._onFinish(),this.domPlayer.finish()}reset(){this._resetDomPlayerState(),this._destroyed=!1,this._finished=!1,this._started=!1,this._onStartFns=this._originalOnStartFns,this._onDoneFns=this._originalOnDoneFns}_resetDomPlayerState(){this.domPlayer&&this.domPlayer.cancel()}restart(){this.reset(),this.play()}hasStarted(){return this._started}destroy(){this._destroyed||(this._destroyed=!0,this._resetDomPlayerState(),this._onFinish(),this._specialStyles&&this._specialStyles.destroy(),this._onDestroyFns.forEach(t=>t()),this._onDestroyFns=[])}setPosition(t){void 0===this.domPlayer&&this.init(),this.domPlayer.currentTime=t*this.time}getPosition(){return this.domPlayer.currentTime/this.time}get totalTime(){return this._delay+this._duration}beforeDestroy(){const t=new Map;this.hasStarted()&&this._finalKeyframe.forEach((i,r)=>{"offset"!==r&&t.set(r,this._finished?i:zD(this.element,r))}),this.currentSnapshot=t}triggerCallback(t){const e="start"===t?this._onStartFns:this._onDoneFns;e.forEach(i=>i()),e.length=0}}class OR{validateStyleProperty(t){return!0}validateAnimatableStyleProperty(t){return!0}matchesElement(t,e){return!1}containsElement(t,e){return FD(t,e)}getParentElement(t){return Ff(t)}query(t,e,i){return RD(t,e,i)}computeStyle(t,e,i){return window.getComputedStyle(t)[e]}animate(t,e,i,r,o,s=[]){const l={duration:i,delay:r,fill:0==r?"both":"forwards"};o&&(l.easing=o);const c=new Map,u=s.filter(h=>h instanceof oE);(function LF(n,t){return 0===n||0===t})(i,r)&&u.forEach(h=>{h.currentSnapshot.forEach((p,m)=>c.set(m,p))});let d=function OF(n){return n.length?n[0]instanceof Map?n:n.map(t=>VD(t)):[]}(e).map(h=>vi(h));d=function kF(n,t,e){if(e.size&&t.length){let i=t[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,zD(n,a)))}}return t}(t,d,c);const f=function AR(n,t){let e=null,i=null;return Array.isArray(t)&&t.length?(e=Xf(t[0]),t.length>1&&(i=Xf(t[t.length-1]))):t instanceof Map&&(e=Xf(t)),e||i?new xR(n,e,i):null}(t,d);return new oE(t,d,l,f)}}let NR=(()=>{class n extends DD{constructor(e,i){super(),this._nextAnimationId=0,this._renderer=e.createRenderer(i.body,{id:"0",encapsulation:Jt.None,styles:[],data:{animation:[]}})}build(e){const i=this._nextAnimationId.toString();this._nextAnimationId++;const r=Array.isArray(e)?SD(e):e;return sE(this._renderer,null,i,"register",[r]),new FR(i,this._renderer)}}return n.\u0275fac=function(e){return new(e||n)(O(bo),O(zt))},n.\u0275prov=H({token:n,factory:n.\u0275fac}),n})();class FR extends zN{constructor(t,e){super(),this._id=t,this._renderer=e}create(t,e){return new RR(this._id,t,e||{},this._renderer)}}class RR{constructor(t,e,i,r){this.id=t,this.element=e,this._renderer=r,this.parentPlayer=null,this._started=!1,this.totalTime=0,this._command("create",i)}_listen(t,e){return this._renderer.listen(this.element,`@@${this.id}:${t}`,e)}_command(t,...e){return sE(this._renderer,this.element,this.id,t,e)}onDone(t){this._listen("done",t)}onStart(t){this._listen("start",t)}onDestroy(t){this._listen("destroy",t)}init(){this._command("init")}hasStarted(){return this._started}play(){this._command("play"),this._started=!0}pause(){this._command("pause")}restart(){this._command("restart")}finish(){this._command("finish")}destroy(){this._command("destroy")}reset(){this._command("reset"),this._started=!1}setPosition(t){this._command("setPosition",t)}getPosition(){return this._renderer.engine.players[+this.id]?.getPosition()??0}}function sE(n,t,e,i,r){return n.setProperty(t,`@@${e}:${i}`,r)}const aE="@.disabled";let LR=(()=>{class n{constructor(e,i,r){this.delegate=e,this.engine=i,this._zone=r,this._currentId=0,this._microtaskId=1,this._animationCallbacksBuffer=[],this._rendererCache=new Map,this._cdRecurDepth=0,this.promise=Promise.resolve(0),i.onRemovalComplete=(o,s)=>{const a=s?.parentNode(o);a&&s.removeChild(a,o)}}createRenderer(e,i){const o=this.delegate.createRenderer(e,i);if(!(e&&i&&i.data&&i.data.animation)){let u=this._rendererCache.get(o);return u||(u=new lE("",o,this.engine,()=>this._rendererCache.delete(o)),this._rendererCache.set(o,u)),u}const s=i.id,a=i.id+"-"+this._currentId;this._currentId++,this.engine.register(a,e);const l=u=>{Array.isArray(u)?u.forEach(l):this.engine.registerTrigger(s,a,e,u.name,u)};return i.data.animation.forEach(l),new kR(this,a,o,this.engine)}begin(){this._cdRecurDepth++,this.delegate.begin&&this.delegate.begin()}_scheduleCountTask(){this.promise.then(()=>{this._microtaskId++})}scheduleListenerCallback(e,i,r){e>=0&&ei(r)):(0==this._animationCallbacksBuffer.length&&Promise.resolve(null).then(()=>{this._zone.run(()=>{this._animationCallbacksBuffer.forEach(o=>{const[s,a]=o;s(a)}),this._animationCallbacksBuffer=[]})}),this._animationCallbacksBuffer.push([i,r]))}end(){this._cdRecurDepth--,0==this._cdRecurDepth&&this._zone.runOutsideAngular(()=>{this._scheduleCountTask(),this.engine.flush(this._microtaskId)}),this.delegate.end&&this.delegate.end()}whenRenderingDone(){return this.engine.whenRenderingDone()}}return n.\u0275fac=function(e){return new(e||n)(O(bo),O(Fl),O(Se))},n.\u0275prov=H({token:n,factory:n.\u0275fac}),n})();class lE{constructor(t,e,i,r){this.namespaceId=t,this.delegate=e,this.engine=i,this._onDestroy=r,this.destroyNode=this.delegate.destroyNode?o=>e.destroyNode(o):null}get data(){return this.delegate.data}destroy(){this.engine.destroy(this.namespaceId,this.delegate),this.delegate.destroy(),this._onDestroy?.()}createElement(t,e){return this.delegate.createElement(t,e)}createComment(t){return this.delegate.createComment(t)}createText(t){return this.delegate.createText(t)}appendChild(t,e){this.delegate.appendChild(t,e),this.engine.onInsert(this.namespaceId,e,t,!1)}insertBefore(t,e,i,r=!0){this.delegate.insertBefore(t,e,i),this.engine.onInsert(this.namespaceId,e,t,r)}removeChild(t,e,i){this.engine.onRemove(this.namespaceId,e,this.delegate,i)}selectRootElement(t,e){return this.delegate.selectRootElement(t,e)}parentNode(t){return this.delegate.parentNode(t)}nextSibling(t){return this.delegate.nextSibling(t)}setAttribute(t,e,i,r){this.delegate.setAttribute(t,e,i,r)}removeAttribute(t,e,i){this.delegate.removeAttribute(t,e,i)}addClass(t,e){this.delegate.addClass(t,e)}removeClass(t,e){this.delegate.removeClass(t,e)}setStyle(t,e,i,r){this.delegate.setStyle(t,e,i,r)}removeStyle(t,e,i){this.delegate.removeStyle(t,e,i)}setProperty(t,e,i){"@"==e.charAt(0)&&e==aE?this.disableAnimations(t,!!i):this.delegate.setProperty(t,e,i)}setValue(t,e){this.delegate.setValue(t,e)}listen(t,e,i){return this.delegate.listen(t,e,i)}disableAnimations(t,e){this.engine.disableAnimations(t,e)}}class kR extends lE{constructor(t,e,i,r,o){super(e,i,r,o),this.factory=t,this.namespaceId=e}setProperty(t,e,i){"@"==e.charAt(0)?"."==e.charAt(1)&&e==aE?this.disableAnimations(t,i=void 0===i||!!i):this.engine.process(this.namespaceId,t,e.slice(1),i):this.delegate.setProperty(t,e,i)}listen(t,e,i){if("@"==e.charAt(0)){const r=function jR(n){switch(n){case"body":return document.body;case"document":return document;case"window":return window;default:return n}}(t);let o=e.slice(1),s="";return"@"!=o.charAt(0)&&([o,s]=function VR(n){const t=n.indexOf(".");return[n.substring(0,t),n.slice(t+1)]}(o)),this.engine.listen(this.namespaceId,r,o,s,a=>{this.factory.scheduleListenerCallback(a._data||-1,i,a)})}return this.delegate.listen(t,e,i)}}let BR=(()=>{class n extends Fl{constructor(e,i,r,o){super(e.body,i,r)}ngOnDestroy(){this.flush()}}return n.\u0275fac=function(e){return new(e||n)(O(zt),O(Rf),O(Gf),O(Ho))},n.\u0275prov=H({token:n,factory:n.\u0275fac}),n})();const cE=[{provide:DD,useClass:NR},{provide:Gf,useFactory:function HR(){return new sR}},{provide:Fl,useClass:BR},{provide:bo,useFactory:function UR(n,t,e){return new LR(n,t,e)},deps:[Ya,Fl,Se]}],Jf=[{provide:Rf,useFactory:()=>new OR},{provide:k_,useValue:"BrowserAnimations"},...cE],uE=[{provide:Rf,useClass:LD},{provide:k_,useValue:"NoopAnimations"},...cE];let $R=(()=>{class n{static withConfig(e){return{ngModule:n,providers:e.disableAnimations?uE:Jf}}}return n.\u0275fac=function(e){return new(e||n)},n.\u0275mod=Ne({type:n}),n.\u0275inj=Ae({providers:Jf,imports:[Yv]}),n})();const dE=["*"];let at=(()=>{class n{}return n.STARTS_WITH="startsWith",n.CONTAINS="contains",n.NOT_CONTAINS="notContains",n.ENDS_WITH="endsWith",n.EQUALS="equals",n.NOT_EQUALS="notEquals",n.IN="in",n.LESS_THAN="lt",n.LESS_THAN_OR_EQUAL_TO="lte",n.GREATER_THAN="gt",n.GREATER_THAN_OR_EQUAL_TO="gte",n.BETWEEN="between",n.IS="is",n.IS_NOT="isNot",n.BEFORE="before",n.AFTER="after",n.DATE_IS="dateIs",n.DATE_IS_NOT="dateIsNot",n.DATE_BEFORE="dateBefore",n.DATE_AFTER="dateAfter",n})(),zR=(()=>{class n{constructor(){this.clickSource=new hn,this.clickObservable=this.clickSource.asObservable()}add(e){e&&this.clickSource.next(e)}}return n.\u0275fac=function(e){return new(e||n)},n.\u0275prov=H({token:n,factory:n.\u0275fac,providedIn:"root"}),n})(),eh=(()=>{class n{constructor(){this.ripple=!1,this.overlayOptions={},this.filterMatchModeOptions={text:[at.STARTS_WITH,at.CONTAINS,at.NOT_CONTAINS,at.ENDS_WITH,at.EQUALS,at.NOT_EQUALS],numeric:[at.EQUALS,at.NOT_EQUALS,at.LESS_THAN,at.LESS_THAN_OR_EQUAL_TO,at.GREATER_THAN,at.GREATER_THAN_OR_EQUAL_TO],date:[at.DATE_IS,at.DATE_IS_NOT,at.DATE_BEFORE,at.DATE_AFTER]},this.translation={startsWith:"Starts with",contains:"Contains",notContains:"Not contains",endsWith:"Ends with",equals:"Equals",notEquals:"Not equals",noFilter:"No Filter",lt:"Less than",lte:"Less than or equal to",gt:"Greater than",gte:"Greater than or equal to",is:"Is",isNot:"Is not",before:"Before",after:"After",dateIs:"Date is",dateIsNot:"Date is not",dateBefore:"Date is before",dateAfter:"Date is after",clear:"Clear",apply:"Apply",matchAll:"Match All",matchAny:"Match Any",addRule:"Add Rule",removeRule:"Remove Rule",accept:"Yes",reject:"No",choose:"Choose",upload:"Upload",cancel:"Cancel",dayNames:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],dayNamesShort:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],dayNamesMin:["Su","Mo","Tu","We","Th","Fr","Sa"],monthNames:["January","February","March","April","May","June","July","August","September","October","November","December"],monthNamesShort:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],dateFormat:"mm/dd/yy",firstDayOfWeek:0,today:"Today",weekHeader:"Wk",weak:"Weak",medium:"Medium",strong:"Strong",passwordPrompt:"Enter a password",emptyMessage:"No results found",emptyFilterMessage:"No results found"},this.zIndex={modal:1100,overlay:1e3,menu:1e3,tooltip:1100},this.translationSource=new hn,this.translationObserver=this.translationSource.asObservable()}getTranslation(e){return this.translation[e]}setTranslation(e){this.translation={...this.translation,...e},this.translationSource.next(this.translation)}}return n.\u0275fac=function(e){return new(e||n)},n.\u0275prov=H({token:n,factory:n.\u0275fac,providedIn:"root"}),n})(),WR=(()=>{class n{}return n.\u0275fac=function(e){return new(e||n)},n.\u0275cmp=qe({type:n,selectors:[["p-header"]],ngContentSelectors:dE,decls:1,vars:0,template:function(e,i){1&e&&(li(),bn(0))},encapsulation:2}),n})(),GR=(()=>{class n{}return n.\u0275fac=function(e){return new(e||n)},n.\u0275cmp=qe({type:n,selectors:[["p-footer"]],ngContentSelectors:dE,decls:1,vars:0,template:function(e,i){1&e&&(li(),bn(0))},encapsulation:2}),n})(),th=(()=>{class n{constructor(e){this.template=e}getType(){return this.name}}return n.\u0275fac=function(e){return new(e||n)(v(Cn))},n.\u0275dir=V({type:n,selectors:[["","pTemplate",""]],inputs:{type:"type",name:["pTemplate","name"]}}),n})(),nh=(()=>{class n{}return n.\u0275fac=function(e){return new(e||n)},n.\u0275mod=Ne({type:n}),n.\u0275inj=Ae({imports:[st]}),n})(),B=(()=>{class n{static addClass(e,i){e&&i&&(e.classList?e.classList.add(i):e.className+=" "+i)}static addMultipleClasses(e,i){if(e&&i)if(e.classList){let r=i.trim().split(" ");for(let o=0;o{if(m)return"relative"===getComputedStyle(m).getPropertyValue("position")?m:r(m.parentElement)},o=e.offsetParent?{width:e.offsetWidth,height:e.offsetHeight}:this.getHiddenElementDimensions(e),s=i.offsetHeight,a=i.getBoundingClientRect(),l=this.getWindowScrollTop(),c=this.getWindowScrollLeft(),u=this.getViewport(),f=r(e)?.getBoundingClientRect()||{top:-1*l,left:-1*c};let h,p;a.top+s+o.height>u.height?(h=a.top-f.top-o.height,e.style.transformOrigin="bottom",a.top+h<0&&(h=-1*a.top)):(h=s+a.top-f.top,e.style.transformOrigin="top"),p=o.width>u.width?-1*(a.left-f.left):a.left-f.left+o.width>u.width?-1*(a.left-f.left+o.width-u.width):a.left-f.left,e.style.top=h+"px",e.style.left=p+"px"}static absolutePosition(e,i){const r=e.offsetParent?{width:e.offsetWidth,height:e.offsetHeight}:this.getHiddenElementDimensions(e),o=r.height,s=r.width,a=i.offsetHeight,l=i.offsetWidth,c=i.getBoundingClientRect(),u=this.getWindowScrollTop(),d=this.getWindowScrollLeft(),f=this.getViewport();let h,p;c.top+a+o>f.height?(h=c.top+u-o,e.style.transformOrigin="bottom",h<0&&(h=u)):(h=a+c.top+u,e.style.transformOrigin="top"),p=c.left+s>f.width?Math.max(0,c.left+d+l-s):c.left+d,e.style.top=h+"px",e.style.left=p+"px"}static getParents(e,i=[]){return null===e.parentNode?i:this.getParents(e.parentNode,i.concat([e.parentNode]))}static getScrollableParents(e){let i=[];if(e){let r=this.getParents(e);const o=/(auto|scroll)/,s=a=>{let l=window.getComputedStyle(a,null);return o.test(l.getPropertyValue("overflow"))||o.test(l.getPropertyValue("overflowX"))||o.test(l.getPropertyValue("overflowY"))};for(let a of r){let l=1===a.nodeType&&a.dataset.scrollselectors;if(l){let c=l.split(",");for(let u of c){let d=this.findSingle(a,u);d&&s(d)&&i.push(d)}}9!==a.nodeType&&s(a)&&i.push(a)}}return i}static getHiddenElementOuterHeight(e){e.style.visibility="hidden",e.style.display="block";let i=e.offsetHeight;return e.style.display="none",e.style.visibility="visible",i}static getHiddenElementOuterWidth(e){e.style.visibility="hidden",e.style.display="block";let i=e.offsetWidth;return e.style.display="none",e.style.visibility="visible",i}static getHiddenElementDimensions(e){let i={};return e.style.visibility="hidden",e.style.display="block",i.width=e.offsetWidth,i.height=e.offsetHeight,e.style.display="none",e.style.visibility="visible",i}static scrollInView(e,i){let r=getComputedStyle(e).getPropertyValue("borderTopWidth"),o=r?parseFloat(r):0,s=getComputedStyle(e).getPropertyValue("paddingTop"),a=s?parseFloat(s):0,l=e.getBoundingClientRect(),u=i.getBoundingClientRect().top+document.body.scrollTop-(l.top+document.body.scrollTop)-o-a,d=e.scrollTop,f=e.clientHeight,h=this.getOuterHeight(i);u<0?e.scrollTop=d+u:u+h>f&&(e.scrollTop=d+u-f+h)}static fadeIn(e,i){e.style.opacity=0;let r=+new Date,o=0,s=function(){o=+e.style.opacity.replace(",",".")+((new Date).getTime()-r)/i,e.style.opacity=o,r=+new Date,+o<1&&(window.requestAnimationFrame&&requestAnimationFrame(s)||setTimeout(s,16))};s()}static fadeOut(e,i){var r=1,a=50/i;let l=setInterval(()=>{(r-=a)<=0&&(r=0,clearInterval(l)),e.style.opacity=r},50)}static getWindowScrollTop(){let e=document.documentElement;return(window.pageYOffset||e.scrollTop)-(e.clientTop||0)}static getWindowScrollLeft(){let e=document.documentElement;return(window.pageXOffset||e.scrollLeft)-(e.clientLeft||0)}static matches(e,i){var r=Element.prototype;return(r.matches||r.webkitMatchesSelector||r.mozMatchesSelector||r.msMatchesSelector||function(s){return-1!==[].indexOf.call(document.querySelectorAll(s),this)}).call(e,i)}static getOuterWidth(e,i){let r=e.offsetWidth;if(i){let o=getComputedStyle(e);r+=parseFloat(o.marginLeft)+parseFloat(o.marginRight)}return r}static getHorizontalPadding(e){let i=getComputedStyle(e);return parseFloat(i.paddingLeft)+parseFloat(i.paddingRight)}static getHorizontalMargin(e){let i=getComputedStyle(e);return parseFloat(i.marginLeft)+parseFloat(i.marginRight)}static innerWidth(e){let i=e.offsetWidth,r=getComputedStyle(e);return i+=parseFloat(r.paddingLeft)+parseFloat(r.paddingRight),i}static width(e){let i=e.offsetWidth,r=getComputedStyle(e);return i-=parseFloat(r.paddingLeft)+parseFloat(r.paddingRight),i}static getInnerHeight(e){let i=e.offsetHeight,r=getComputedStyle(e);return i+=parseFloat(r.paddingTop)+parseFloat(r.paddingBottom),i}static getOuterHeight(e,i){let r=e.offsetHeight;if(i){let o=getComputedStyle(e);r+=parseFloat(o.marginTop)+parseFloat(o.marginBottom)}return r}static getHeight(e){let i=e.offsetHeight,r=getComputedStyle(e);return i-=parseFloat(r.paddingTop)+parseFloat(r.paddingBottom)+parseFloat(r.borderTopWidth)+parseFloat(r.borderBottomWidth),i}static getWidth(e){let i=e.offsetWidth,r=getComputedStyle(e);return i-=parseFloat(r.paddingLeft)+parseFloat(r.paddingRight)+parseFloat(r.borderLeftWidth)+parseFloat(r.borderRightWidth),i}static getViewport(){let e=window,i=document,r=i.documentElement,o=i.getElementsByTagName("body")[0];return{width:e.innerWidth||r.clientWidth||o.clientWidth,height:e.innerHeight||r.clientHeight||o.clientHeight}}static getOffset(e){var i=e.getBoundingClientRect();return{top:i.top+(window.pageYOffset||document.documentElement.scrollTop||document.body.scrollTop||0),left:i.left+(window.pageXOffset||document.documentElement.scrollLeft||document.body.scrollLeft||0)}}static replaceElementWith(e,i){let r=e.parentNode;if(!r)throw"Can't replace element";return r.replaceChild(i,e)}static getUserAgent(){return navigator.userAgent}static isIE(){var e=window.navigator.userAgent;return e.indexOf("MSIE ")>0||(e.indexOf("Trident/")>0?(e.indexOf("rv:"),!0):e.indexOf("Edge/")>0)}static isIOS(){return/iPad|iPhone|iPod/.test(navigator.userAgent)&&!window.MSStream}static isAndroid(){return/(android)/i.test(navigator.userAgent)}static isTouchDevice(){return"ontouchstart"in window||navigator.maxTouchPoints>0}static appendChild(e,i){if(this.isElement(i))i.appendChild(e);else{if(!i.el||!i.el.nativeElement)throw"Cannot append "+i+" to "+e;i.el.nativeElement.appendChild(e)}}static removeChild(e,i){if(this.isElement(i))i.removeChild(e);else{if(!i.el||!i.el.nativeElement)throw"Cannot remove "+e+" from "+i;i.el.nativeElement.removeChild(e)}}static removeElement(e){"remove"in Element.prototype?e.remove():e.parentNode.removeChild(e)}static isElement(e){return"object"==typeof HTMLElement?e instanceof HTMLElement:e&&"object"==typeof e&&null!==e&&1===e.nodeType&&"string"==typeof e.nodeName}static calculateScrollbarWidth(e){if(e){let i=getComputedStyle(e);return e.offsetWidth-e.clientWidth-parseFloat(i.borderLeftWidth)-parseFloat(i.borderRightWidth)}{if(null!==this.calculatedScrollbarWidth)return this.calculatedScrollbarWidth;let i=document.createElement("div");i.className="p-scrollbar-measure",document.body.appendChild(i);let r=i.offsetWidth-i.clientWidth;return document.body.removeChild(i),this.calculatedScrollbarWidth=r,r}}static calculateScrollbarHeight(){if(null!==this.calculatedScrollbarHeight)return this.calculatedScrollbarHeight;let e=document.createElement("div");e.className="p-scrollbar-measure",document.body.appendChild(e);let i=e.offsetHeight-e.clientHeight;return document.body.removeChild(e),this.calculatedScrollbarWidth=i,i}static invokeElementMethod(e,i,r){e[i].apply(e,r)}static clearSelection(){if(window.getSelection)window.getSelection().empty?window.getSelection().empty():window.getSelection().removeAllRanges&&window.getSelection().rangeCount>0&&window.getSelection().getRangeAt(0).getClientRects().length>0&&window.getSelection().removeAllRanges();else if(document.selection&&document.selection.empty)try{document.selection.empty()}catch{}}static getBrowser(){if(!this.browser){let e=this.resolveUserAgent();this.browser={},e.browser&&(this.browser[e.browser]=!0,this.browser.version=e.version),this.browser.chrome?this.browser.webkit=!0:this.browser.webkit&&(this.browser.safari=!0)}return this.browser}static resolveUserAgent(){let e=navigator.userAgent.toLowerCase(),i=/(chrome)[ \/]([\w.]+)/.exec(e)||/(webkit)[ \/]([\w.]+)/.exec(e)||/(opera)(?:.*version|)[ \/]([\w.]+)/.exec(e)||/(msie) ([\w.]+)/.exec(e)||e.indexOf("compatible")<0&&/(mozilla)(?:.*? rv:([\w.]+)|)/.exec(e)||[];return{browser:i[1]||"",version:i[2]||"0"}}static isInteger(e){return Number.isInteger?Number.isInteger(e):"number"==typeof e&&isFinite(e)&&Math.floor(e)===e}static isHidden(e){return!e||null===e.offsetParent}static isVisible(e){return e&&null!=e.offsetParent}static isExist(e){return null!==e&&typeof e<"u"&&e.nodeName&&e.parentNode}static focus(e,i){e&&document.activeElement!==e&&e.focus(i)}static getFocusableElements(e){let i=n.find(e,'button:not([tabindex = "-1"]):not([disabled]):not([style*="display:none"]):not([hidden]),\n [href][clientHeight][clientWidth]:not([tabindex = "-1"]):not([disabled]):not([style*="display:none"]):not([hidden]),\n input:not([tabindex = "-1"]):not([disabled]):not([style*="display:none"]):not([hidden]), select:not([tabindex = "-1"]):not([disabled]):not([style*="display:none"]):not([hidden]),\n textarea:not([tabindex = "-1"]):not([disabled]):not([style*="display:none"]):not([hidden]), [tabIndex]:not([tabIndex = "-1"]):not([disabled]):not([style*="display:none"]):not([hidden]),\n [contenteditable]:not([tabIndex = "-1"]):not([disabled]):not([style*="display:none"]):not([hidden]):not(.p-disabled)'),r=[];for(let o of i)(o.offsetWidth||o.offsetHeight||o.getClientRects().length)&&r.push(o);return r}static getNextFocusableElement(e,i=!1){const r=n.getFocusableElements(e);let o=0;if(r&&r.length>0){const s=r.indexOf(r[0].ownerDocument.activeElement);i?o=-1==s||0===s?r.length-1:s-1:-1!=s&&s!==r.length-1&&(o=s+1)}return r[o]}static generateZIndex(){return this.zindex=this.zindex||999,++this.zindex}static getSelection(){return window.getSelection?window.getSelection().toString():document.getSelection?document.getSelection().toString():document.selection?document.selection.createRange().text:null}static getTargetElement(e,i){if(!e)return null;switch(e){case"document":return document;case"window":return window;case"@next":return i?.nextElementSibling;case"@prev":return i?.previousElementSibling;case"@parent":return i?.parentElement;case"@grandparent":return i?.parentElement.parentElement;default:const r=typeof e;if("string"===r)return document.querySelector(e);if("object"===r&&e.hasOwnProperty("nativeElement"))return this.isExist(e.nativeElement)?e.nativeElement:void 0;const s=(a=e)&&a.constructor&&a.call&&a.apply?e():e;return s&&9===s.nodeType||this.isExist(s)?s:null}var a}}return n.zindex=1e3,n.calculatedScrollbarWidth=null,n.calculatedScrollbarHeight=null,n})();class qR{constructor(t,e=(()=>{})){this.element=t,this.listener=e}bindScrollListener(){this.scrollableParents=B.getScrollableParents(this.element);for(let t=0;t{class n{constructor(e,i,r){this.el=e,this.zone=i,this.config=r}ngAfterViewInit(){this.config&&this.config.ripple&&this.zone.runOutsideAngular(()=>{this.create(),this.mouseDownListener=this.onMouseDown.bind(this),this.el.nativeElement.addEventListener("mousedown",this.mouseDownListener)})}onMouseDown(e){let i=this.getInk();if(!i||"none"===getComputedStyle(i,null).display)return;if(B.removeClass(i,"p-ink-active"),!B.getHeight(i)&&!B.getWidth(i)){let a=Math.max(B.getOuterWidth(this.el.nativeElement),B.getOuterHeight(this.el.nativeElement));i.style.height=a+"px",i.style.width=a+"px"}let r=B.getOffset(this.el.nativeElement),o=e.pageX-r.left+document.body.scrollTop-B.getWidth(i)/2,s=e.pageY-r.top+document.body.scrollLeft-B.getHeight(i)/2;i.style.top=s+"px",i.style.left=o+"px",B.addClass(i,"p-ink-active"),this.timeout=setTimeout(()=>{let a=this.getInk();a&&B.removeClass(a,"p-ink-active")},401)}getInk(){const e=this.el.nativeElement.children;for(let i=0;i{class n{}return n.\u0275fac=function(e){return new(e||n)},n.\u0275mod=Ne({type:n}),n.\u0275inj=Ae({imports:[st]}),n})();function KR(n,t){1&n&&ji(0)}const QR=function(n,t,e,i){return{"p-button-icon":!0,"p-button-icon-left":n,"p-button-icon-right":t,"p-button-icon-top":e,"p-button-icon-bottom":i}};function YR(n,t){if(1&n&&_e(0,"span",4),2&n){const e=w();ui(e.loading?"p-button-loading-icon "+e.loadingIcon:e.icon),E("ngClass",Wu(4,QR,"left"===e.iconPos&&e.label,"right"===e.iconPos&&e.label,"top"===e.iconPos&&e.label,"bottom"===e.iconPos&&e.label)),Ye("aria-hidden",!0)}}function ZR(n,t){if(1&n&&(T(0,"span",5),Re(1),P()),2&n){const e=w();Ye("aria-hidden",e.icon&&!e.label),C(1),En(e.label)}}function XR(n,t){if(1&n&&(T(0,"span",4),Re(1),P()),2&n){const e=w();ui(e.badgeClass),E("ngClass",e.badgeStyleClass()),C(1),En(e.badge)}}const JR=function(n,t,e,i,r){return{"p-button p-component":!0,"p-button-icon-only":n,"p-button-vertical":t,"p-disabled":e,"p-button-loading":i,"p-button-loading-label-only":r}},eL=["*"];let Ll=(()=>{class n{constructor(){this.type="button",this.iconPos="left",this.loading=!1,this.loadingIcon="pi pi-spinner pi-spin",this.onClick=new Q,this.onFocus=new Q,this.onBlur=new Q}ngAfterContentInit(){this.templates.forEach(e=>{e.getType(),this.contentTemplate=e.template})}badgeStyleClass(){return{"p-badge p-component":!0,"p-badge-no-gutter":this.badge&&1===String(this.badge).length}}}return n.\u0275fac=function(e){return new(e||n)},n.\u0275cmp=qe({type:n,selectors:[["p-button"]],contentQueries:function(e,i,r){if(1&e&&Lr(r,th,4),2&e){let o;Ut(o=$t())&&(i.templates=o)}},hostAttrs:[1,"p-element"],inputs:{type:"type",iconPos:"iconPos",icon:"icon",badge:"badge",label:"label",disabled:"disabled",loading:"loading",loadingIcon:"loadingIcon",style:"style",styleClass:"styleClass",badgeClass:"badgeClass",ariaLabel:"ariaLabel"},outputs:{onClick:"onClick",onFocus:"onFocus",onBlur:"onBlur"},ngContentSelectors:eL,decls:6,vars:17,consts:[["pRipple","",3,"ngStyle","disabled","ngClass","click","focus","blur"],[4,"ngTemplateOutlet"],[3,"ngClass","class",4,"ngIf"],["class","p-button-label",4,"ngIf"],[3,"ngClass"],[1,"p-button-label"]],template:function(e,i){1&e&&(li(),T(0,"button",0),q("click",function(o){return i.onClick.emit(o)})("focus",function(o){return i.onFocus.emit(o)})("blur",function(o){return i.onBlur.emit(o)}),bn(1),G(2,KR,1,0,"ng-container",1),G(3,YR,1,9,"span",2),G(4,ZR,2,2,"span",3),G(5,XR,2,4,"span",2),P()),2&e&&(ui(i.styleClass),E("ngStyle",i.style)("disabled",i.disabled||i.loading)("ngClass",function t_(n,t,e,i,r,o,s,a){const l=pt()+n,c=b(),u=Ht(c,l,e,i,r,o);return ot(c,l+4,s)||u?vn(c,l+5,a?t.call(a,e,i,r,o,s):t(e,i,r,o,s)):wo(c,l+5)}(11,JR,i.icon&&!i.label,("top"===i.iconPos||"bottom"===i.iconPos)&&i.label,i.disabled||i.loading,i.loading,i.loading&&!i.icon&&i.label)),Ye("type",i.type)("aria-label",i.ariaLabel),C(2),E("ngTemplateOutlet",i.contentTemplate),C(1),E("ngIf",!i.contentTemplate&&(i.icon||i.loading)),C(1),E("ngIf",!i.contentTemplate&&i.label),C(1),E("ngIf",!i.contentTemplate&&i.badge))},dependencies:[Kn,fi,Wa,Vr,ih],encapsulation:2,changeDetection:0}),n})(),kl=(()=>{class n{}return n.\u0275fac=function(e){return new(e||n)},n.\u0275mod=Ne({type:n}),n.\u0275inj=Ae({imports:[st,rh]}),n})(),tL=(()=>{class n{constructor(e){this.el=e}onkeydown(e){if(!0!==this.pFocusTrapDisabled){e.preventDefault();const i=B.getNextFocusableElement(this.el.nativeElement,e.shiftKey);i&&(i.focus(),i.select?.())}}}return n.\u0275fac=function(e){return new(e||n)(v(rt))},n.\u0275dir=V({type:n,selectors:[["","pFocusTrap",""]],hostAttrs:[1,"p-element"],hostBindings:function(e,i){1&e&&q("keydown.tab",function(o){return i.onkeydown(o)})("keydown.shift.tab",function(o){return i.onkeydown(o)})},inputs:{pFocusTrapDisabled:"pFocusTrapDisabled"}}),n})(),nL=(()=>{class n{}return n.\u0275fac=function(e){return new(e||n)},n.\u0275mod=Ne({type:n}),n.\u0275inj=Ae({imports:[st]}),n})();var hE=0,fs=function rL(){let n=[];const r=o=>o&&parseInt(o.style.zIndex,10)||0;return{get:r,set:(o,s,a)=>{s&&(s.style.zIndex=String(((o,s)=>{let a=n.length>0?n[n.length-1]:{key:o,value:s},l=a.value+(a.key===o?0:s)+1;return n.push({key:o,value:l}),l})(o,a)))},clear:o=>{o&&((o=>{n=n.filter(s=>s.value!==o)})(r(o)),o.style.zIndex="")},getCurrent:()=>n.length>0?n[n.length-1].value:0}}();const oL=["titlebar"],sL=["content"],aL=["footer"];function lL(n,t){if(1&n){const e=Ue();T(0,"div",11),q("mousedown",function(r){return X(e),J(w(3).initResize(r))}),P()}}function cL(n,t){if(1&n&&(T(0,"span",18),Re(1),P()),2&n){const e=w(4);Ye("id",e.id+"-label"),C(1),En(e.header)}}function uL(n,t){1&n&&(T(0,"span",18),bn(1,1),P()),2&n&&Ye("id",w(4).id+"-label")}function dL(n,t){1&n&&ji(0)}const fL=function(){return{"p-dialog-header-icon p-dialog-header-maximize p-link":!0}};function hL(n,t){if(1&n){const e=Ue();T(0,"button",19),q("click",function(){return X(e),J(w(4).maximize())})("keydown.enter",function(){return X(e),J(w(4).maximize())}),_e(1,"span",20),P()}if(2&n){const e=w(4);E("ngClass",Ca(2,fL)),C(1),E("ngClass",e.maximized?e.minimizeIcon:e.maximizeIcon)}}const pL=function(){return{"p-dialog-header-icon p-dialog-header-close p-link":!0}};function mL(n,t){if(1&n){const e=Ue();T(0,"button",21),q("click",function(r){return X(e),J(w(4).close(r))})("keydown.enter",function(r){return X(e),J(w(4).close(r))}),_e(1,"span",22),P()}if(2&n){const e=w(4);E("ngClass",Ca(4,pL)),Ye("aria-label",e.closeAriaLabel)("tabindex",e.closeTabindex),C(1),E("ngClass",e.closeIcon)}}function gL(n,t){if(1&n){const e=Ue();T(0,"div",12,13),q("mousedown",function(r){return X(e),J(w(3).initDrag(r))}),G(2,cL,2,2,"span",14),G(3,uL,2,1,"span",14),G(4,dL,1,0,"ng-container",9),T(5,"div",15),G(6,hL,2,3,"button",16),G(7,mL,2,5,"button",17),P()()}if(2&n){const e=w(3);C(2),E("ngIf",!e.headerFacet&&!e.headerTemplate),C(1),E("ngIf",e.headerFacet),C(1),E("ngTemplateOutlet",e.headerTemplate),C(2),E("ngIf",e.maximizable),C(1),E("ngIf",e.closable)}}function yL(n,t){1&n&&ji(0)}function _L(n,t){1&n&&ji(0)}function vL(n,t){if(1&n&&(T(0,"div",23,24),bn(2,2),G(3,_L,1,0,"ng-container",9),P()),2&n){const e=w(3);C(3),E("ngTemplateOutlet",e.footerTemplate)}}const bL=function(n,t,e,i){return{"p-dialog p-component":!0,"p-dialog-rtl":n,"p-dialog-draggable":t,"p-dialog-resizable":e,"p-dialog-maximized":i}},DL=function(n,t){return{transform:n,transition:t}},EL=function(n){return{value:"visible",params:n}};function SL(n,t){if(1&n){const e=Ue();T(0,"div",3,4),q("@animation.start",function(r){return X(e),J(w(2).onAnimationStart(r))})("@animation.done",function(r){return X(e),J(w(2).onAnimationEnd(r))}),G(2,lL,1,0,"div",5),G(3,gL,8,5,"div",6),T(4,"div",7,8),bn(6),G(7,yL,1,0,"ng-container",9),P(),G(8,vL,4,1,"div",10),P()}if(2&n){const e=w(2);ui(e.styleClass),E("ngClass",Wu(15,bL,e.rtl,e.draggable,e.resizable,e.maximized))("ngStyle",e.style)("pFocusTrapDisabled",!1===e.focusTrap)("@animation",$n(23,EL,wa(20,DL,e.transformOptions,e.transitionOptions))),Ye("aria-labelledby",e.id+"-label"),C(2),E("ngIf",e.resizable),C(1),E("ngIf",e.showHeader),C(1),ui(e.contentStyleClass),E("ngClass","p-dialog-content")("ngStyle",e.contentStyle),C(3),E("ngTemplateOutlet",e.contentTemplate),C(1),E("ngIf",e.footerFacet||e.footerTemplate)}}const CL=function(n,t,e,i,r,o,s,a,l,c){return{"p-dialog-mask":!0,"p-component-overlay p-component-overlay-enter":n,"p-dialog-mask-scrollblocker":t,"p-dialog-left":e,"p-dialog-right":i,"p-dialog-top":r,"p-dialog-top-left":o,"p-dialog-top-right":s,"p-dialog-bottom":a,"p-dialog-bottom-left":l,"p-dialog-bottom-right":c}};function wL(n,t){if(1&n&&(T(0,"div",1),G(1,SL,9,25,"div",2),P()),2&n){const e=w();ui(e.maskStyleClass),E("ngClass",n_(4,CL,[e.modal,e.modal||e.blockScroll,"left"===e.position,"right"===e.position,"top"===e.position,"topleft"===e.position||"top-left"===e.position,"topright"===e.position||"top-right"===e.position,"bottom"===e.position,"bottomleft"===e.position||"bottom-left"===e.position,"bottomright"===e.position||"bottom-right"===e.position])),C(1),E("ngIf",e.visible)}}const IL=["*",[["p-header"]],[["p-footer"]]],TL=["*","p-header","p-footer"],ML=CD([Gi({transform:"{{transform}}",opacity:0}),_l("{{transition}}")]),AL=CD([_l("{{transition}}",Gi({transform:"{{transform}}",opacity:0}))]);let xL=(()=>{class n{constructor(e,i,r,o,s){this.el=e,this.renderer=i,this.zone=r,this.cd=o,this.config=s,this.draggable=!0,this.resizable=!0,this.closeOnEscape=!0,this.closable=!0,this.showHeader=!0,this.blockScroll=!1,this.autoZIndex=!0,this.baseZIndex=0,this.minX=0,this.minY=0,this.focusOnShow=!0,this.keepInViewport=!0,this.focusTrap=!0,this.transitionOptions="150ms cubic-bezier(0, 0, 0.2, 1)",this.closeIcon="pi pi-times",this.closeTabindex="-1",this.minimizeIcon="pi pi-window-minimize",this.maximizeIcon="pi pi-window-maximize",this.onShow=new Q,this.onHide=new Q,this.visibleChange=new Q,this.onResizeInit=new Q,this.onResizeEnd=new Q,this.onDragEnd=new Q,this.onMaximize=new Q,this.id=function iL(){return"pr_id_"+ ++hE}(),this._style={},this._position="center",this.transformOptions="scale(0.7)"}get positionLeft(){return 0}set positionLeft(e){console.log("positionLeft property is deprecated.")}get positionTop(){return 0}set positionTop(e){console.log("positionTop property is deprecated.")}get responsive(){return!1}set responsive(e){console.log("Responsive property is deprecated.")}get breakpoint(){return 649}set breakpoint(e){console.log("Breakpoint property is not utilized and deprecated, use breakpoints or CSS media queries instead.")}ngAfterContentInit(){this.templates.forEach(e=>{switch(e.getType()){case"header":this.headerTemplate=e.template;break;case"content":default:this.contentTemplate=e.template;break;case"footer":this.footerTemplate=e.template}})}ngOnInit(){this.breakpoints&&this.createStyle()}get visible(){return this._visible}set visible(e){this._visible=e,this._visible&&!this.maskVisible&&(this.maskVisible=!0)}get style(){return this._style}set style(e){e&&(this._style={...e},this.originalStyle=e)}get position(){return this._position}set position(e){switch(this._position=e,e){case"topleft":case"bottomleft":case"left":this.transformOptions="translate3d(-100%, 0px, 0px)";break;case"topright":case"bottomright":case"right":this.transformOptions="translate3d(100%, 0px, 0px)";break;case"bottom":this.transformOptions="translate3d(0px, 100%, 0px)";break;case"top":this.transformOptions="translate3d(0px, -100%, 0px)";break;default:this.transformOptions="scale(0.7)"}}focus(){let e=B.findSingle(this.container,"[autofocus]");e&&this.zone.runOutsideAngular(()=>{setTimeout(()=>e.focus(),5)})}close(e){this.visibleChange.emit(!1),e.preventDefault()}enableModality(){this.closable&&this.dismissableMask&&(this.maskClickListener=this.renderer.listen(this.wrapper,"mousedown",e=>{this.wrapper&&this.wrapper.isSameNode(e.target)&&this.close(e)})),this.modal&&B.addClass(document.body,"p-overflow-hidden")}disableModality(){this.wrapper&&(this.dismissableMask&&this.unbindMaskClickListener(),this.modal&&B.removeClass(document.body,"p-overflow-hidden"),this.cd.destroyed||this.cd.detectChanges())}maximize(){this.maximized=!this.maximized,!this.modal&&!this.blockScroll&&(this.maximized?B.addClass(document.body,"p-overflow-hidden"):B.removeClass(document.body,"p-overflow-hidden")),this.onMaximize.emit({maximized:this.maximized})}unbindMaskClickListener(){this.maskClickListener&&(this.maskClickListener(),this.maskClickListener=null)}moveOnTop(){this.autoZIndex&&(fs.set("modal",this.container,this.baseZIndex+this.config.zIndex.modal),this.wrapper.style.zIndex=String(parseInt(this.container.style.zIndex,10)-1))}createStyle(){if(!this.styleElement){this.styleElement=document.createElement("style"),this.styleElement.type="text/css",document.head.appendChild(this.styleElement);let e="";for(let i in this.breakpoints)e+=`\n @media screen and (max-width: ${i}) {\n .p-dialog[${this.id}] {\n width: ${this.breakpoints[i]} !important;\n }\n }\n `;this.styleElement.innerHTML=e}}initDrag(e){B.hasClass(e.target,"p-dialog-header-icon")||B.hasClass(e.target.parentElement,"p-dialog-header-icon")||this.draggable&&(this.dragging=!0,this.lastPageX=e.pageX,this.lastPageY=e.pageY,this.container.style.margin="0",B.addClass(document.body,"p-unselectable-text"))}onKeydown(e){if(this.focusTrap&&9===e.which){e.preventDefault();let i=B.getFocusableElements(this.container);if(i&&i.length>0)if(i[0].ownerDocument.activeElement){let r=i.indexOf(i[0].ownerDocument.activeElement);e.shiftKey?-1==r||0===r?i[i.length-1].focus():i[r-1].focus():-1==r||r===i.length-1?i[0].focus():i[r+1].focus()}else i[0].focus()}}onDrag(e){if(this.dragging){let i=B.getOuterWidth(this.container),r=B.getOuterHeight(this.container),o=e.pageX-this.lastPageX,s=e.pageY-this.lastPageY,a=this.container.getBoundingClientRect(),l=a.left+o,c=a.top+s,u=B.getViewport();this.container.style.position="fixed",this.keepInViewport?(l>=this.minX&&l+i=this.minY&&c+rparseInt(u))&&f.left+lparseInt(d))&&f.top+c{this.documentDragListener=this.onDrag.bind(this),window.document.addEventListener("mousemove",this.documentDragListener)})}unbindDocumentDragListener(){this.documentDragListener&&(window.document.removeEventListener("mousemove",this.documentDragListener),this.documentDragListener=null)}bindDocumentDragEndListener(){this.zone.runOutsideAngular(()=>{this.documentDragEndListener=this.endDrag.bind(this),window.document.addEventListener("mouseup",this.documentDragEndListener)})}unbindDocumentDragEndListener(){this.documentDragEndListener&&(window.document.removeEventListener("mouseup",this.documentDragEndListener),this.documentDragEndListener=null)}bindDocumentResizeListeners(){this.zone.runOutsideAngular(()=>{this.documentResizeListener=this.onResize.bind(this),this.documentResizeEndListener=this.resizeEnd.bind(this),window.document.addEventListener("mousemove",this.documentResizeListener),window.document.addEventListener("mouseup",this.documentResizeEndListener)})}unbindDocumentResizeListeners(){this.documentResizeListener&&this.documentResizeEndListener&&(window.document.removeEventListener("mousemove",this.documentResizeListener),window.document.removeEventListener("mouseup",this.documentResizeEndListener),this.documentResizeListener=null,this.documentResizeEndListener=null)}bindDocumentEscapeListener(){this.documentEscapeListener=this.renderer.listen(this.el?this.el.nativeElement.ownerDocument:"document","keydown",i=>{27==i.which&&this.close(i)})}unbindDocumentEscapeListener(){this.documentEscapeListener&&(this.documentEscapeListener(),this.documentEscapeListener=null)}appendContainer(){this.appendTo&&("body"===this.appendTo?document.body.appendChild(this.wrapper):B.appendChild(this.wrapper,this.appendTo))}restoreAppend(){this.container&&this.appendTo&&this.el.nativeElement.appendChild(this.wrapper)}onAnimationStart(e){switch(e.toState){case"visible":this.container=e.element,this.wrapper=this.container.parentElement,this.appendContainer(),this.moveOnTop(),this.bindGlobalListeners(),this.container.setAttribute(this.id,""),this.modal&&this.enableModality(),!this.modal&&this.blockScroll&&B.addClass(document.body,"p-overflow-hidden"),this.focusOnShow&&this.focus();break;case"void":this.wrapper&&this.modal&&B.addClass(this.wrapper,"p-component-overlay-leave")}}onAnimationEnd(e){switch(e.toState){case"void":this.onContainerDestroy(),this.onHide.emit({}),this.cd.markForCheck();break;case"visible":this.onShow.emit({})}}onContainerDestroy(){this.unbindGlobalListeners(),this.dragging=!1,this.maskVisible=!1,this.maximized&&(B.removeClass(document.body,"p-overflow-hidden"),this.maximized=!1),this.modal&&this.disableModality(),this.blockScroll&&B.removeClass(document.body,"p-overflow-hidden"),this.container&&this.autoZIndex&&fs.clear(this.container),this.container=null,this.wrapper=null,this._style=this.originalStyle?{...this.originalStyle}:{}}destroyStyle(){this.styleElement&&(document.head.removeChild(this.styleElement),this.styleElement=null)}ngOnDestroy(){this.container&&(this.restoreAppend(),this.onContainerDestroy()),this.destroyStyle()}}return n.\u0275fac=function(e){return new(e||n)(v(rt),v(Vn),v(Se),v(Gn),v(eh))},n.\u0275cmp=qe({type:n,selectors:[["p-dialog"]],contentQueries:function(e,i,r){if(1&e&&(Lr(r,WR,5),Lr(r,GR,5),Lr(r,th,4)),2&e){let o;Ut(o=$t())&&(i.headerFacet=o.first),Ut(o=$t())&&(i.footerFacet=o.first),Ut(o=$t())&&(i.templates=o)}},viewQuery:function(e,i){if(1&e&&(Hi(oL,5),Hi(sL,5),Hi(aL,5)),2&e){let r;Ut(r=$t())&&(i.headerViewChild=r.first),Ut(r=$t())&&(i.contentViewChild=r.first),Ut(r=$t())&&(i.footerViewChild=r.first)}},hostAttrs:[1,"p-element"],inputs:{header:"header",draggable:"draggable",resizable:"resizable",positionLeft:"positionLeft",positionTop:"positionTop",contentStyle:"contentStyle",contentStyleClass:"contentStyleClass",modal:"modal",closeOnEscape:"closeOnEscape",dismissableMask:"dismissableMask",rtl:"rtl",closable:"closable",responsive:"responsive",appendTo:"appendTo",breakpoints:"breakpoints",styleClass:"styleClass",maskStyleClass:"maskStyleClass",showHeader:"showHeader",breakpoint:"breakpoint",blockScroll:"blockScroll",autoZIndex:"autoZIndex",baseZIndex:"baseZIndex",minX:"minX",minY:"minY",focusOnShow:"focusOnShow",maximizable:"maximizable",keepInViewport:"keepInViewport",focusTrap:"focusTrap",transitionOptions:"transitionOptions",closeIcon:"closeIcon",closeAriaLabel:"closeAriaLabel",closeTabindex:"closeTabindex",minimizeIcon:"minimizeIcon",maximizeIcon:"maximizeIcon",visible:"visible",style:"style",position:"position"},outputs:{onShow:"onShow",onHide:"onHide",visibleChange:"visibleChange",onResizeInit:"onResizeInit",onResizeEnd:"onResizeEnd",onDragEnd:"onDragEnd",onMaximize:"onMaximize"},ngContentSelectors:TL,decls:1,vars:1,consts:[[3,"class","ngClass",4,"ngIf"],[3,"ngClass"],["pFocusTrap","","role","dialog",3,"ngClass","ngStyle","class","pFocusTrapDisabled",4,"ngIf"],["pFocusTrap","","role","dialog",3,"ngClass","ngStyle","pFocusTrapDisabled"],["container",""],["class","p-resizable-handle","style","z-index: 90;",3,"mousedown",4,"ngIf"],["class","p-dialog-header",3,"mousedown",4,"ngIf"],[3,"ngClass","ngStyle"],["content",""],[4,"ngTemplateOutlet"],["class","p-dialog-footer",4,"ngIf"],[1,"p-resizable-handle",2,"z-index","90",3,"mousedown"],[1,"p-dialog-header",3,"mousedown"],["titlebar",""],["class","p-dialog-title",4,"ngIf"],[1,"p-dialog-header-icons"],["type","button","tabindex","-1","pRipple","",3,"ngClass","click","keydown.enter",4,"ngIf"],["type","button","pRipple","",3,"ngClass","click","keydown.enter",4,"ngIf"],[1,"p-dialog-title"],["type","button","tabindex","-1","pRipple","",3,"ngClass","click","keydown.enter"],[1,"p-dialog-header-maximize-icon",3,"ngClass"],["type","button","pRipple","",3,"ngClass","click","keydown.enter"],[1,"p-dialog-header-close-icon",3,"ngClass"],[1,"p-dialog-footer"],["footer",""]],template:function(e,i){1&e&&(li(IL),G(0,wL,2,15,"div",0)),2&e&&E("ngIf",i.maskVisible)},dependencies:[Kn,fi,Wa,Vr,tL,ih],styles:[".p-dialog-mask{position:fixed;top:0;left:0;width:100%;height:100%;display:flex;justify-content:center;align-items:center;pointer-events:none}.p-dialog-mask.p-component-overlay{pointer-events:auto}.p-dialog{display:flex;flex-direction:column;pointer-events:auto;max-height:90%;transform:scale(1);position:relative}.p-dialog-content{overflow-y:auto;flex-grow:1}.p-dialog-header{display:flex;align-items:center;justify-content:space-between;flex-shrink:0}.p-dialog-draggable .p-dialog-header{cursor:move}.p-dialog-footer{flex-shrink:0}.p-dialog .p-dialog-header-icons{display:flex;align-items:center}.p-dialog .p-dialog-header-icon{display:flex;align-items:center;justify-content:center;overflow:hidden;position:relative}.p-fluid .p-dialog-footer .p-button{width:auto}.p-dialog-top .p-dialog,.p-dialog-bottom .p-dialog,.p-dialog-left .p-dialog,.p-dialog-right .p-dialog,.p-dialog-top-left .p-dialog,.p-dialog-top-right .p-dialog,.p-dialog-bottom-left .p-dialog,.p-dialog-bottom-right .p-dialog{margin:.75rem;transform:translateZ(0)}.p-dialog-maximized{transition:none;transform:none;width:100vw!important;height:100vh!important;top:0!important;left:0!important;max-height:100%;height:100%}.p-dialog-maximized .p-dialog-content{flex-grow:1}.p-dialog-left{justify-content:flex-start}.p-dialog-right{justify-content:flex-end}.p-dialog-top{align-items:flex-start}.p-dialog-top-left{justify-content:flex-start;align-items:flex-start}.p-dialog-top-right{justify-content:flex-end;align-items:flex-start}.p-dialog-bottom{align-items:flex-end}.p-dialog-bottom-left{justify-content:flex-start;align-items:flex-end}.p-dialog-bottom-right{justify-content:flex-end;align-items:flex-end}.p-dialog .p-resizable-handle{position:absolute;font-size:.1px;display:block;cursor:se-resize;width:12px;height:12px;right:1px;bottom:1px}.p-confirm-dialog .p-dialog-content{display:flex;align-items:center}\n"],encapsulation:2,data:{animation:[ED("animation",[vl("void => visible",[wD(ML)]),vl("visible => void",[wD(AL)])])]},changeDetection:0}),n})(),PL=(()=>{class n{}return n.\u0275fac=function(e){return new(e||n)},n.\u0275mod=Ne({type:n}),n.\u0275inj=Ae({imports:[st,nL,rh,nh]}),n})(),pE=(()=>{class n{constructor(e,i,r){this.el=e,this.ngModel=i,this.cd=r}ngAfterViewInit(){this.updateFilledState(),this.cd.detectChanges()}ngDoCheck(){this.updateFilledState()}onInput(e){this.updateFilledState()}updateFilledState(){this.filled=this.el.nativeElement.value&&this.el.nativeElement.value.length||this.ngModel&&this.ngModel.model}}return n.\u0275fac=function(e){return new(e||n)(v(rt),v(uf,8),v(Gn))},n.\u0275dir=V({type:n,selectors:[["","pInputText",""]],hostAttrs:[1,"p-inputtext","p-component","p-element"],hostVars:2,hostBindings:function(e,i){1&e&&q("input",function(o){return i.onInput(o)}),2&e&&Ao("p-filled",i.filled)}}),n})(),oh=(()=>{class n{}return n.\u0275fac=function(e){return new(e||n)},n.\u0275mod=Ne({type:n}),n.\u0275inj=Ae({imports:[st]}),n})();class NL{constructor(t){this.total=t}call(t,e){return e.subscribe(new FL(t,this.total))}}class FL extends De{constructor(t,e){super(t),this.total=e,this.count=0}_next(t){++this.count>this.total&&this.destination.next(t)}}function bi(){}function Mn(n,t,e){return function(r){return r.lift(new RL(n,t,e))}}class RL{constructor(t,e,i){this.nextOrObserver=t,this.error=e,this.complete=i}call(t,e){return e.subscribe(new LL(t,this.nextOrObserver,this.error,this.complete))}}class LL extends De{constructor(t,e,i,r){super(t),this._tapNext=bi,this._tapError=bi,this._tapComplete=bi,this._tapError=i||bi,this._tapComplete=r||bi,ut(e)?(this._context=this,this._tapNext=e):e&&(this._context=e,this._tapNext=e.next||bi,this._tapError=e.error||bi,this._tapComplete=e.complete||bi)}_next(t){try{this._tapNext.call(this._context,t)}catch(e){return void this.destination.error(e)}this.destination.next(t)}_error(t){try{this._tapError.call(this._context,t)}catch(e){return void this.destination.error(e)}this.destination.error(t)}_complete(){try{this._tapComplete.call(this._context)}catch(t){return void this.destination.error(t)}return this.destination.complete()}}const mE=new In(Cf);class VL{constructor(t,e){this.delay=t,this.scheduler=e}call(t,e){return e.subscribe(new sh(t,this.delay,this.scheduler))}}class sh extends De{constructor(t,e,i){super(t),this.delay=e,this.scheduler=i,this.queue=[],this.active=!1,this.errored=!1}static dispatch(t){const e=t.source,i=e.queue,r=t.scheduler,o=t.destination;for(;i.length>0&&i[0].time-r.now()<=0;)i.shift().notification.observe(o);if(i.length>0){const s=Math.max(0,i[0].time-r.now());this.schedule(t,s)}else this.unsubscribe(),e.active=!1}_schedule(t){this.active=!0,this.destination.add(t.schedule(sh.dispatch,this.delay,{source:this,destination:this.destination,scheduler:t}))}scheduleNotification(t){if(!0===this.errored)return;const e=this.scheduler,i=new BL(e.now()+this.delay,t);this.queue.push(i),!1===this.active&&this._schedule(e)}_next(t){this.scheduleNotification(St.createNext(t))}_error(t){this.errored=!0,this.queue=[],this.destination.error(t),this.unsubscribe()}_complete(){this.scheduleNotification(St.createComplete()),this.unsubscribe()}}class BL{constructor(t,e){this.time=t,this.notification=e}}getComputedStyle(document.body).getPropertyValue("--color-palette-black-op-20"),getComputedStyle(document.body).getPropertyValue("--color-palette-black-op-30"),getComputedStyle(document.body).getPropertyValue("--color-palette-black-op-50"),getComputedStyle(document.body).getPropertyValue("--color-palette-black-op-70");let GL=(()=>{class n{constructor(){this.iconPath="./src/assets/images/icons",this.dotCMSURLKey="siteURLJWT"}}return n.\u0275fac=function(e){return new(e||n)},n.\u0275prov=H({token:n,factory:n.\u0275fac}),n})(),hs=class{constructor(t){this.iconPath=t.iconPath}displayErrorMessage(t){this.displayMessage("Error",t,"error")}displaySuccessMessage(t){this.displayMessage("Success",t,"success")}displayInfoMessage(t){this.displayMessage("Info",t,"info")}displayMessage(t,e,i){let r;return r=new Notification(i,{body:e,icon:this.iconPath+"/"+i+".png"}),r}};function lh(...n){const t=n.length;if(0===t)throw new Error("list of properties cannot be empty.");return e=>Xe(function YL(n,t){return i=>{let r=i;for(let o=0;oZt(r)?i(...r):i(r))):new be(r=>{DE(n,t,function o(s){r.next(arguments.length>1?Array.prototype.slice.call(arguments):s)},r,e)})}function DE(n,t,e,i,r){let o;if(function JL(n){return n&&"function"==typeof n.addEventListener&&"function"==typeof n.removeEventListener}(n)){const s=n;n.addEventListener(t,e,r),o=()=>s.removeEventListener(t,e,r)}else if(function XL(n){return n&&"function"==typeof n.on&&"function"==typeof n.off}(n)){const s=n;n.on(t,e),o=()=>s.off(t,e)}else if(function ZL(n){return n&&"function"==typeof n.addListener&&"function"==typeof n.removeListener}(n)){const s=n;n.addListener(t,e),o=()=>s.removeListener(t,e)}else{if(!n||!n.length)throw new TypeError("Invalid event target");for(let s=0,a=n.length;s=0;a--)(s=n[a])&&(o=(r<3?s(o):r>3?s(t,e,o):s(t,e))||o);return r>3&&o&&Object.defineProperty(t,e,o),o}([qs("config"),function $L(n,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(n,t)}("design:paramtypes",[GL])],hs);const EE=n=>{const t=parseInt(n,0);if(t)return t;try{return JSON.parse(n)}catch{return n}};let ek=(()=>{class n{setItem(e,i){let r;r="object"==typeof i?JSON.stringify(i):i,localStorage.setItem(e,r)}getItem(e){const i=localStorage.getItem(e);return EE(i)}removeItem(e){localStorage.removeItem(e)}clear(){localStorage.clear()}listen(e){return bE(window,"storage").pipe(Qo(({key:i})=>i===e),Xe(i=>EE(i.newValue)))}}return n.\u0275fac=function(e){return new(e||n)},n.\u0275prov=H({token:n,factory:n.\u0275fac,providedIn:"root"}),n})(),ps=(()=>{class n{constructor(e,i){this.http=e,this.dotLocalstorageService=i,this.messageMap={},this.MESSAGES_LOCALSTORAGE_KEY="dotMessagesKeys",this.BUILDATE_LOCALSTORAGE_KEY="buildDate"}init(e){if(e&&(this.dotLocalstorageService.getItem(this.BUILDATE_LOCALSTORAGE_KEY)!==e?.buildDate||e.language))this.getAll(e.language||"default"),e.buildDate&&this.dotLocalstorageService.setItem(this.BUILDATE_LOCALSTORAGE_KEY,e.buildDate);else{const i=this.dotLocalstorageService.getItem(this.MESSAGES_LOCALSTORAGE_KEY);i?this.messageMap=i:this.getAll(e?.language||"default")}}get(e,...i){return this.messageMap[e]?i.length?function QL(n,t){return n.replace(/{(\d+)}/g,(e,i)=>typeof t[i]<"u"?t[i]:e)}(this.messageMap[e],i):this.messageMap[e]:e}getAll(e){this.http.get(this.geti18nURL(e)).pipe(Za(1),lh("entity")).subscribe(i=>{this.messageMap=i,this.dotLocalstorageService.setItem(this.MESSAGES_LOCALSTORAGE_KEY,this.messageMap)})}geti18nURL(e){return`/api/v2/languages/${e||"default"}/keys`}}return n.\u0275fac=function(e){return new(e||n)(O(pl),O(ek))},n.\u0275prov=H({token:n,factory:n.\u0275fac,providedIn:"root"}),n})();const tk=[{icon:"tune",titleKey:"com.dotcms.repackage.javax.portlet.title.rules",url:"/rules"},{icon:"cloud_upload",titleKey:"com.dotcms.repackage.javax.portlet.title.publishing-queue",url:"/c/publishing-queue"},{icon:"find_in_page",titleKey:"com.dotcms.repackage.javax.portlet.title.site-search",url:"/c/site-search"},{icon:"person",titleKey:"com.dotcms.repackage.javax.portlet.title.personas",url:"/c/c_Personas"},{icon:"update",titleKey:"com.dotcms.repackage.javax.portlet.title.time-machine",url:"/c/time-machine"},{icon:"device_hub",titleKey:"com.dotcms.repackage.javax.portlet.title.workflow-schemes",url:"/c/workflow-schemes"},{icon:"find_in_page",titleKey:"com.dotcms.repackage.javax.portlet.title.es-search",url:"/c/es-search"},{icon:"business",titleKey:"Forms-and-Form-Builder",url:"/forms"},{icon:"apps",titleKey:"com.dotcms.repackage.javax.portlet.title.apps",url:"/apps"},{icon:"integration_instructions",titleKey:"com.dotcms.repackage.javax.portlet.title.velocity",url:"/c/velocity_playground"}];let SE=(()=>{class n{constructor(e){this.http=e,this.unlicenseData=new Gd({icon:"",titleKey:"",url:""}),this.licenseURL="/api/v1/appconfiguration"}isEnterprise(){return this.getLicense().pipe(Xe(e=>e.level>=200))}canAccessEnterprisePortlet(e){return this.isEnterprise().pipe(Za(1),Xe(i=>{const r=this.checksIfEnterpriseUrl(e);return!r||r&&i}))}checksIfEnterpriseUrl(e){const i=tk.filter(r=>0===e.indexOf(r.url));return i.length&&this.unlicenseData.next(...i),!!i.length}getLicense(){return this.license?Ur(this.license):this.http.get(this.licenseURL).pipe(lh("entity","config","license"),Mn(e=>{this.setLicense(e)}))}updateLicense(){this.http.get(this.licenseURL).pipe(lh("entity","config","license")).subscribe(e=>{this.setLicense(e)})}setLicense(e){this.license={...e}}}return n.\u0275fac=function(e){return new(e||n)(O(pl))},n.\u0275prov=H({token:n,factory:n.\u0275fac}),n})();function CE(n,t,e,i,r,o,s){try{var a=n[o](s),l=a.value}catch(c){return void e(c)}a.done?t(l):Promise.resolve(l).then(i,r)}function wE(n){return function(){var t=this,e=arguments;return new Promise(function(i,r){var o=n.apply(t,e);function s(l){CE(o,i,r,s,a,"next",l)}function a(l){CE(o,i,r,s,a,"throw",l)}s(void 0)})}}const nk={500:"500 Internal Server Error",400:"400 Bad Request",401:"401 Unauthorized Error"};let Vl=(()=>{class n{uploadFile({file:e,maxSize:i,signal:r}){return"string"==typeof e?this.uploadFileByURL(e,r):this.uploadBinaryFile({file:e,maxSize:i,signal:r})}uploadFileByURL(e,i){return fetch("/api/v1/temp/byUrl",{method:"POST",signal:i,headers:{"Content-Type":"application/json",Origin:window.location.hostname},body:JSON.stringify({remoteUrl:e})}).then(function(){var o=wE(function*(s){if(200===s.status)return(yield s.json()).tempFiles[0];throw{message:(yield s.json()).message,status:s.status}});return function(s){return o.apply(this,arguments)}}()).catch(o=>{const{message:s,response:a}=o,l="string"==typeof a?JSON.parse(a):a;throw this.errorHandler(l||{message:s},o.status)})}uploadBinaryFile({file:e,maxSize:i,signal:r}){let o="/api/v1/temp";o+=i?`?maxFileLength=${i}`:"";const s=new FormData;return s.append("file",e),fetch(o,{method:"POST",signal:r,headers:{Origin:window.location.hostname},body:s}).then(function(){var a=wE(function*(l){if(200===l.status)return(yield l.json()).tempFiles[0];throw{message:(yield l.json()).message,status:l.status}});return function(l){return a.apply(this,arguments)}}()).catch(a=>{throw this.errorHandler(JSON.parse(a.response),a.status)})}errorHandler(e,i){let r="";try{r=e.message||e.errors[0].message}catch{r=nk[i||500]}return{message:r,status:500|i}}}return n.\u0275fac=function(e){return new(e||n)},n.\u0275prov=H({token:n,factory:n.\u0275fac,providedIn:"root"}),n})(),IE=(()=>{class n{}return n.\u0275fac=function(e){return new(e||n)},n.\u0275mod=Ne({type:n}),n.\u0275inj=Ae({imports:[st]}),n})();const ik=["*"];var Di=(()=>(function(n){n.FILE_TYPE_MISMATCH="FILE_TYPE_MISMATCH",n.MAX_FILE_SIZE_EXCEEDED="MAX_FILE_SIZE_EXCEEDED",n.MULTIPLE_FILES_DROPPED="MULTIPLE_FILES_DROPPED"}(Di||(Di={})),Di))();let rk=(()=>{class n{constructor(){this.fileDropped=new Q,this.fileDragEnter=new Q,this.fileDragOver=new Q,this.fileDragLeave=new Q,this._accept=[],this.errorsType=[],this._validity={fileTypeMismatch:!1,maxFileSizeExceeded:!1,multipleFilesDropped:!1,errorsType:[],valid:!0}}set accept(e){this._accept=e?.filter(i=>"*/*"!==i).map(i=>i.toLowerCase().replace(/\*/g,""))}get validity(){return this._validity}onDrop(e){e.stopPropagation(),e.preventDefault();const{dataTransfer:i}=e,r=this.getFiles(i),o=1===r?.length?r[0]:null;0!==r.length&&(this.setValidity(r),i.items?.clear(),i.clearData(),this.fileDropped.emit({file:o,validity:this._validity}))}onDragEnter(e){e.stopPropagation(),e.preventDefault(),this.fileDragEnter.emit(!0)}onDragOver(e){e.stopPropagation(),e.preventDefault(),this.fileDragOver.emit(!0)}onDragLeave(e){e.stopPropagation(),e.preventDefault(),this.fileDragLeave.emit(!0)}typeMatch(e){if(!this._accept.length)return!0;const i=e.name.split(".").pop().toLowerCase(),r=e.type.toLowerCase(),o=this._accept.some(s=>r.includes(s)||s.includes(`.${i}`));return o||this.errorsType.push(Di.FILE_TYPE_MISMATCH),o}getFiles(e){const{items:i,files:r}=e;return i?Array.from(i).filter(o=>"file"===o.kind).map(o=>o.getAsFile()):Array.from(r)||[]}isFileTooLong(e){if(!this.maxFileSize)return!1;const i=e.size>this.maxFileSize;return i&&this.errorsType.push(Di.MAX_FILE_SIZE_EXCEEDED),i}multipleFilesDropped(e){const i=e.length>1;return i&&this.errorsType.push(Di.MULTIPLE_FILES_DROPPED),i}setValidity(e){this.errorsType=[];const i=e[0],r=this.multipleFilesDropped(e),o=!this.typeMatch(i),s=this.isFileTooLong(i);this._validity={...this._validity,multipleFilesDropped:r,fileTypeMismatch:o,maxFileSizeExceeded:s,errorsType:this.errorsType,valid:!o&&!s&&!r}}}return n.\u0275fac=function(e){return new(e||n)},n.\u0275cmp=qe({type:n,selectors:[["dot-drop-zone"]],hostBindings:function(e,i){1&e&&q("drop",function(o){return i.onDrop(o)})("dragenter",function(o){return i.onDragEnter(o)})("dragover",function(o){return i.onDragOver(o)})("dragleave",function(o){return i.onDragLeave(o)})},inputs:{maxFileSize:"maxFileSize",accept:"accept"},outputs:{fileDropped:"fileDropped",fileDragEnter:"fileDragEnter",fileDragOver:"fileDragOver",fileDragLeave:"fileDragLeave"},standalone:!0,features:[Un],ngContentSelectors:ik,decls:1,vars:0,template:function(e,i){1&e&&(li(),bn(0))},dependencies:[st],changeDetection:0}),n})(),Wr=(()=>{class n{constructor(e){this.dotMessageService=e}transform(e,i=[]){return e?this.dotMessageService.get(e,...i):""}}return n.\u0275fac=function(e){return new(e||n)(v(ps,16))},n.\u0275pipe=dt({name:"dm",type:n,pure:!0,standalone:!0}),n})();function Gr(n){return t=>t.lift(new hk(n))}class hk{constructor(t){this.notifier=t}call(t,e){const i=new pk(t),r=Es(this.notifier,new bs(i));return r&&!i.seenValue?(i.add(r),e.subscribe(i)):i}}class pk extends Ds{constructor(t){super(t),this.seenValue=!1}notifyNext(){this.seenValue=!0,this.complete()}notifyComplete(){}}function mk(n,t){if(1&n&&(T(0,"small",1),Re(1),Me(2,"dm"),P()),2&n){const e=w();C(1),Sn(" ",Le(2,1,e.errorMsg),"\n")}}const Bl={maxlength:"error.form.validator.maxlength",required:"error.form.validator.required",pattern:"error.form.validator.pattern"};let TE=(()=>{class n{constructor(e,i){this.cd=e,this.dotMessageService=i,this.errorMsg="",this.destroy$=new hn}set message(e){this.defaultMessage=e,this.cd.markForCheck()}set field(e){e&&(this._field=e,e.statusChanges.pipe(Gr(this.destroy$)).subscribe(()=>{this.errorMsg=this.getErrors(e.errors),this.cd.detectChanges()}))}ngOnDestroy(){this.destroy$.next(!0),this.destroy$.complete()}getErrors(e){let i=[];return e&&(i=[...this.getMsgDefaultValidators(e),...this.getMsgCustomsValidators(e)]),this.defaultMessage?this.defaultMessage:i.slice(0,1)[0]}getMsgDefaultValidators(e){let i=[];return Object.entries(e).forEach(([r,o])=>{if(r in Bl){let s="";const{requiredLength:a,requiredPattern:l}=o;switch(r){case"maxlength":s=this.dotMessageService.get(Bl[r],a);break;case"pattern":s=this.dotMessageService.get(this.patternErrorMessage||Bl[r],l);break;default:s=Bl[r]}i=[...i,s]}}),i}getMsgCustomsValidators(e){let i=[];return Object.entries(e).forEach(([,r])=>{"string"==typeof r&&(i=[...i,r])}),i}}return n.\u0275fac=function(e){return new(e||n)(v(Gn),v(ps))},n.\u0275cmp=qe({type:n,selectors:[["dot-field-validation-message"]],inputs:{patternErrorMessage:"patternErrorMessage",message:"message",field:"field"},standalone:!0,features:[Un],decls:1,vars:1,consts:[["class","p-invalid","data-testId","error-msg",4,"ngIf"],["data-testId","error-msg",1,"p-invalid"]],template:function(e,i){1&e&&G(0,mk,3,3,"small",0),2&e&&E("ngIf",i._field&&i._field.enabled&&i._field.dirty&&!i._field.valid)},dependencies:[fi,Wr],encapsulation:2,changeDetection:0}),n})();function gk(n,t){if(1&n){const e=Ue();T(0,"img",4),q("error",function(){return X(e),J(w().handleError())}),P()}if(2&n){const e=w();E("src",e.src,ra)("title",e.name)("alt",e.name)}}function yk(n,t){if(1&n){const e=Ue();T(0,"video",5),q("error",function(){return X(e),J(w().handleError())}),_e(1,"source",6),P()}if(2&n){const e=w();C(1),E("src",e.src,ra)}}const _k=function(n){return["pi",n]},vk=function(n){return{"font-size":n,color:"var(--color-palette-secondary-400)"}};function bk(n,t){if(1&n&&_e(0,"i",7),2&n){const e=w();E("ngClass",$n(2,_k,e.thumbnailIcon))("ngStyle",$n(4,vk,e.iconSize))}}const Dk={html:"pi-file",pdf:"pi-file-pdf",image:"pi-image",video:"pi-video",msword:"pi-file-word",doc:"pi-file-word",docx:"pi-file-word"};var qr=(()=>(function(n){n.image="image",n.video="video",n.icon="icon"}(qr||(qr={})),qr))();let Ek=(()=>{class n{constructor(){this.CONTENT_THUMBNAIL_TYPE=qr,this.DEFAULT_ICON="pi-file",this.thumbnailUrlMap={image:this.getImageThumbnailUrl.bind(this),video:this.getVideoThumbnailUrl.bind(this),pdf:this.getPdfThumbnailUrl.bind(this)}}get iconSize(){return this._iconSize||"1rem"}get name(){return this._name||""}ngOnInit(){this.buildThumbnail()}handleError(){this.thumbnailType=this.CONTENT_THUMBNAIL_TYPE.icon}setProperties(){const{tempUrl:e,inode:i,name:r,contentType:o,titleImage:s,iconSize:a}=this.dotThumbanilOptions;this._tempUrl=e,this._inode=i,this._name=r,this._contentType=o,this._titleImage=s,this._iconSize=a,this._type=this._contentType.split("/")[0]}buildThumbnail(){this.setProperties(),this.setSrc(),this.setThumbnailType(),this.setThumbnailIcon()}setThumbnailType(){this.thumbnailType=qr[this._type]||qr.icon}setSrc(){this.src=this._tempUrl||this.thumbnailUrlMap[this._type]?.()}setThumbnailIcon(){const e=this._name.split(".").pop();this.thumbnailIcon=Dk[e]||this.DEFAULT_ICON}getPdfThumbnailUrl(){return`/contentAsset/image/${this._inode}/${this._titleImage}/pdf_page/1/resize_w/250/quality_q/45`}getImageThumbnailUrl(){return`/dA/${this._inode}/500w/50q`}getVideoThumbnailUrl(){return`/dA/${this._inode}`}}return n.\u0275fac=function(e){return new(e||n)},n.\u0275cmp=qe({type:n,selectors:[["dot-content-thumbnail"]],inputs:{dotThumbanilOptions:"dotThumbanilOptions"},standalone:!0,features:[Un],decls:4,vars:3,consts:[[3,"ngSwitch"],["data-testId","thumbail-image",3,"src","title","alt","error",4,"ngSwitchCase"],["controls","","data-testId","thumbail-video",3,"error",4,"ngSwitchCase"],["data-testId","thumbail-icon",3,"ngClass","ngStyle",4,"ngSwitchDefault"],["data-testId","thumbail-image",3,"src","title","alt","error"],["controls","","data-testId","thumbail-video",3,"error"],[3,"src"],["data-testId","thumbail-icon",3,"ngClass","ngStyle"]],template:function(e,i){1&e&&(To(0,0),G(1,gk,1,3,"img",1),G(2,yk,2,1,"video",2),G(3,bk,1,6,"i",3),Mo()),2&e&&(E("ngSwitch",i.thumbnailType),C(1),E("ngSwitchCase",i.CONTENT_THUMBNAIL_TYPE.image),C(1),E("ngSwitchCase",i.CONTENT_THUMBNAIL_TYPE.video))},dependencies:[st,Kn,Vr,Wo,Od,Sv],styles:["[_nghost-%COMP%]{width:100%;height:100%;justify-content:center;align-items:center;display:flex}[_nghost-%COMP%] img[_ngcontent-%COMP%], [_nghost-%COMP%] video[_ngcontent-%COMP%]{width:100%;height:100%}[_nghost-%COMP%] img[_ngcontent-%COMP%]{object-fit:cover}[_nghost-%COMP%] i[_ngcontent-%COMP%]{color:var(--color-palette-secondary-400)}"],changeDetection:0}),n})();class Ck{constructor(t,e){this.dueTime=t,this.scheduler=e}call(t,e){return e.subscribe(new wk(t,this.dueTime,this.scheduler))}}class wk extends De{constructor(t,e,i){super(t),this.dueTime=e,this.scheduler=i,this.debouncedSubscription=null,this.lastValue=null,this.hasValue=!1}_next(t){this.clearDebounce(),this.lastValue=t,this.hasValue=!0,this.add(this.debouncedSubscription=this.scheduler.schedule(Ik,this.dueTime,this))}_complete(){this.debouncedNext(),this.destination.complete()}debouncedNext(){if(this.clearDebounce(),this.hasValue){const{lastValue:t}=this;this.lastValue=null,this.hasValue=!1,this.destination.next(t)}}clearDebounce(){const t=this.debouncedSubscription;null!==t&&(this.remove(t),t.unsubscribe(),this.debouncedSubscription=null)}}function Ik(n){n.debouncedNext()}const Tk=["editorRef"],Mk=function(n){return{"binary-field__code-editor--disabled":n}},Ak=function(n){return{"editor-mode__helper--visible":n}},xk={theme:"vs",minimap:{enabled:!1},cursorBlinking:"solid",overviewRulerBorder:!1,mouseWheelZoom:!1,lineNumbers:"on",roundedSelection:!1,automaticLayout:!0,language:"text"};let Pk=(()=>{class n{constructor(){this.fileName="",this.fileContent="",this.tempFileUploaded=new Q,this.cancel=new Q,this.cd=On(Gn),this.dotUploadService=On(Vl),this.dotMessageService=On(ps),this.extension="",this.invalidFileMessage="",this.form=new Jo({name:new ns("",[Ja.required,Ja.pattern(/^[^.]+\.[^.]+$/)]),content:new ns("")}),this.editorOptions=xk,this.mimeType=""}get name(){return this.form.get("name")}get content(){return this.form.get("content")}ngOnInit(){this.setFormValues(),this.name.valueChanges.pipe(function Sk(n,t=mE){return e=>e.lift(new Ck(n,t))}(350)).subscribe(e=>this.setEditorLanguage(e)),this.invalidFileMessage=this.dotMessageService.get("dot.binary.field.error.type.file.not.supported.message",this.accept.join(", "))}ngAfterViewInit(){this.editor=this.editorRef.editor,this.fileName&&this.setEditorLanguage(this.fileName)}onSubmit(){if(this.name.invalid)return void this.markControlInvalid(this.name);const e=new File([this.content.value],this.name.value,{type:this.mimeType});this.uploadFile(e)}setFormValues(){this.name.setValue(this.fileName),this.content.setValue(this.fileContent)}markControlInvalid(e){e.markAsDirty(),e.updateValueAndValidity(),this.cd.detectChanges()}uploadFile(e){const i=Ii(this.dotUploadService.uploadFile({file:e}));this.disableEditor(),i.subscribe(r=>{this.enableEditor(),this.tempFileUploaded.emit({...r,content:this.content.value})})}setEditorLanguage(e=""){const i=e?.includes(".")?e.split(".").pop():"",{id:r,mimetypes:o,extensions:s}=this.getLanguage(i)||{};this.mimeType=o?.[0],this.extension=s?.[0],i&&!this.isValidType()&&this.name.setErrors({invalidExtension:this.invalidFileMessage}),this.updateEditorLanguage(r),this.cd.detectChanges()}getLanguage(e){return monaco.languages.getLanguages().find(i=>i.extensions?.includes(`.${e}`))}updateEditorLanguage(e="text"){this.editorOptions={...this.editorOptions,language:e}}disableEditor(){this.form.disable(),this.editor.updateOptions({readOnly:!0})}enableEditor(){this.form.enable(),this.editor.updateOptions({readOnly:!1})}isValidType(){return 0===this.accept?.length||this.accept?.includes(this.extension)||this.accept?.includes(this.mimeType)}}return n.\u0275fac=function(e){return new(e||n)},n.\u0275cmp=qe({type:n,selectors:[["dot-dot-binary-field-editor"]],viewQuery:function(e,i){if(1&e&&Hi(Tk,7),2&e){let r;Ut(r=$t())&&(i.editorRef=r.first)}},inputs:{accept:"accept",fileName:"fileName",fileContent:"fileContent"},outputs:{tempFileUploaded:"tempFileUploaded",cancel:"cancel"},standalone:!0,features:[Un],decls:20,vars:17,consts:[[1,"editor-mode__form",3,"formGroup","ngSubmit"],[1,"editor-mode__input-container"],["for","file-name",1,"editor-mode__label"],[1,"editor-mode__label-text"],["id","file-name","type","text","pInputText","","formControlName","name","autocomplete","off","pInputText","","placeholder","Ex. template.html"],[1,"error-message"],["data-testId","error-message",3,"patternErrorMessage","field"],[1,"binary-field__editor-container"],["formControlName","content","data-testId","code-editor",1,"binary-field__code-editor",3,"ngClass","options"],["editorRef",""],[1,"editor-mode__helper",3,"ngClass"],[1,"pi","pi-info-circle"],[1,"editor-mode__actions"],["styleClass","p-button-outlined","type","button","aria-label","Cancel button","data-testId","cancel-button",3,"label","click"],["type","submit","aria-label","Import button","data-testId","import-button",3,"label"]],template:function(e,i){1&e&&(T(0,"form",0),q("ngSubmit",function(){return i.onSubmit()}),T(1,"div",1)(2,"label",2)(3,"span",3),Re(4,"File Name"),P()(),_e(5,"input",4),T(6,"div",5),_e(7,"dot-field-validation-message",6),P()(),T(8,"div",7),_e(9,"ngx-monaco-editor",8,9),T(11,"div",10),_e(12,"i",11),T(13,"small"),Re(14),P()()(),T(15,"div",12)(16,"p-button",13),q("click",function(){return i.cancel.emit()}),Me(17,"dm"),P(),_e(18,"p-button",14),Me(19,"dm"),P()()),2&e&&(E("formGroup",i.form),C(7),E("patternErrorMessage","dot.binary.field.error.type.file.not.extension")("field",i.form.get("name")),C(2),E("ngClass",$n(13,Mk,i.form.disabled))("options",i.editorOptions),C(2),E("ngClass",$n(15,Ak,i.mimeType)),C(3),Sn("Mime Type: ",i.mimeType,""),C(2),E("label",Le(17,9,"dot.common.cancel")),C(2),E("label",Le(19,11,"dot.common.save")))},dependencies:[st,Kn,_f,YO,tD,df,Yo,Yd,Zd,nD,is,ul,oh,pE,kl,Ll,Wr,TE],styles:[".binary-field__editor-container[_ngcontent-%COMP%]{display:flex;justify-content:center;align-items:flex-start;flex-direction:column;flex:1;width:100%;gap:.5rem}.binary-field__code-editor[_ngcontent-%COMP%]{border:1px solid #d1d4db;display:block;flex-grow:1;width:100%;min-height:20rem;border-radius:.375rem;overflow:auto}.binary-field__code-editor--disabled[_ngcontent-%COMP%]{background-color:#f3f3f4;opacity:.5}.binary-field__code-editor--disabled[_ngcontent-%COMP%] .monaco-mouse-cursor-text, .binary-field__code-editor--disabled[_ngcontent-%COMP%] .overflow-guard{cursor:not-allowed}.editor-mode__form[_ngcontent-%COMP%]{height:100%;display:flex;flex-direction:column;justify-content:center;align-items:flex-start}.editor-mode__input-container[_ngcontent-%COMP%]{width:100%;display:flex;gap:.5rem;flex-direction:column}.editor-mode__input[_ngcontent-%COMP%]{width:100%;display:flex;flex-direction:column}.editor-mode__actions[_ngcontent-%COMP%]{width:100%;display:flex;gap:.5rem;align-items:center;justify-content:flex-end}.editor-mode__helper[_ngcontent-%COMP%]{display:flex;justify-content:flex-start;align-items:center;gap:.5rem;color:#6c7389;font-weight:.813rem;visibility:hidden}.editor-mode__helper--visible[_ngcontent-%COMP%]{visibility:visible}.error-message[_ngcontent-%COMP%]{min-height:1.5rem;justify-content:flex-start;display:flex}"],changeDetection:0}),n})();function Ok(n,t){1&n&&ji(0)}function Nk(n,t){if(1&n){const e=Ue();T(0,"button",5),q("click",function(r){return X(e),J(w(2).onCloseClick(r))})("keydown.enter",function(){return X(e),J(w(2).hide())}),_e(1,"span",6),P()}2&n&&Ye("aria-label",w(2).ariaCloseLabel)}const Fk=function(n,t){return{showTransitionParams:n,hideTransitionParams:t}},Rk=function(n,t){return{value:n,params:t}};function Lk(n,t){if(1&n){const e=Ue();T(0,"div",1),q("click",function(r){return X(e),J(w().onOverlayClick(r))})("@animation.start",function(r){return X(e),J(w().onAnimationStart(r))})("@animation.done",function(r){return X(e),J(w().onAnimationEnd(r))}),T(1,"div",2),q("click",function(){return X(e),J(w().onContentClick())})("mousedown",function(){return X(e),J(w().onContentClick())}),bn(2),G(3,Ok,1,0,"ng-container",3),P(),G(4,Nk,2,1,"button",4),P()}if(2&n){const e=w();ui(e.styleClass),E("ngClass","p-overlaypanel p-component")("ngStyle",e.style)("@animation",wa(10,Rk,e.overlayVisible?"open":"close",wa(7,Fk,e.showTransitionOptions,e.hideTransitionOptions))),C(3),E("ngTemplateOutlet",e.contentTemplate),C(1),E("ngIf",e.showCloseIcon)}}const kk=["*"];let jk=(()=>{class n{constructor(e,i,r,o,s,a){this.el=e,this.renderer=i,this.cd=r,this.zone=o,this.config=s,this.overlayService=a,this.dismissable=!0,this.appendTo="body",this.autoZIndex=!0,this.baseZIndex=0,this.focusOnShow=!0,this.showTransitionOptions=".12s cubic-bezier(0, 0, 0.2, 1)",this.hideTransitionOptions=".1s linear",this.onShow=new Q,this.onHide=new Q,this.overlayVisible=!1,this.render=!1,this.isOverlayAnimationInProgress=!1,this.selfClick=!1}ngAfterContentInit(){this.templates.forEach(e=>{e.getType(),this.contentTemplate=e.template,this.cd.markForCheck()})}bindDocumentClickListener(){!this.documentClickListener&&this.dismissable&&this.zone.runOutsideAngular(()=>{let e=B.isIOS()?"touchstart":"click";this.documentClickListener=this.renderer.listen(this.el?this.el.nativeElement.ownerDocument:"document",e,r=>{!this.container.contains(r.target)&&this.target!==r.target&&!this.target.contains(r.target)&&!this.selfClick&&this.zone.run(()=>{this.hide()}),this.selfClick=!1,this.cd.markForCheck()})})}unbindDocumentClickListener(){this.documentClickListener&&(this.documentClickListener(),this.documentClickListener=null,this.selfClick=!1)}toggle(e,i){this.isOverlayAnimationInProgress||(this.overlayVisible?(this.hasTargetChanged(e,i)&&(this.destroyCallback=()=>{this.show(null,i||e.currentTarget||e.target)}),this.hide()):this.show(e,i))}show(e,i){this.isOverlayAnimationInProgress||(this.target=i||e.currentTarget||e.target,this.overlayVisible=!0,this.render=!0,this.cd.markForCheck())}onOverlayClick(e){this.overlayService.add({originalEvent:e,target:this.el.nativeElement}),this.selfClick=!0}onContentClick(){this.selfClick=!0}hasTargetChanged(e,i){return null!=this.target&&this.target!==(i||e.currentTarget||e.target)}appendContainer(){this.appendTo&&("body"===this.appendTo?document.body.appendChild(this.container):B.appendChild(this.container,this.appendTo))}restoreAppend(){this.container&&this.appendTo&&this.el.nativeElement.appendChild(this.container)}align(){this.autoZIndex&&fs.set("overlay",this.container,this.baseZIndex+this.config.zIndex.overlay),B.absolutePosition(this.container,this.target);const e=B.getOffset(this.container),i=B.getOffset(this.target);let r=0;e.left{this.container&&this.container.contains(i.target)&&(this.selfClick=!0)},this.overlaySubscription=this.overlayService.clickObservable.subscribe(this.overlayEventListener),this.onShow.emit(null)),this.isOverlayAnimationInProgress=!0}onAnimationEnd(e){switch(e.toState){case"void":this.destroyCallback&&(this.destroyCallback(),this.destroyCallback=null),this.overlaySubscription&&this.overlaySubscription.unsubscribe();break;case"close":this.autoZIndex&&fs.clear(this.container),this.overlaySubscription&&this.overlaySubscription.unsubscribe(),this.onContainerDestroy(),this.onHide.emit({}),this.render=!1}this.isOverlayAnimationInProgress=!1}focus(){let e=B.findSingle(this.container,"[autofocus]");e&&this.zone.runOutsideAngular(()=>{setTimeout(()=>e.focus(),5)})}hide(){this.overlayVisible=!1,this.cd.markForCheck()}onCloseClick(e){this.hide(),e.preventDefault()}onWindowResize(e){this.overlayVisible&&!B.isTouchDevice()&&this.hide()}bindDocumentResizeListener(){this.documentResizeListener=this.onWindowResize.bind(this),window.addEventListener("resize",this.documentResizeListener)}unbindDocumentResizeListener(){this.documentResizeListener&&(window.removeEventListener("resize",this.documentResizeListener),this.documentResizeListener=null)}bindScrollListener(){this.scrollHandler||(this.scrollHandler=new qR(this.target,()=>{this.overlayVisible&&this.hide()})),this.scrollHandler.bindScrollListener()}unbindScrollListener(){this.scrollHandler&&this.scrollHandler.unbindScrollListener()}onContainerDestroy(){this.cd.destroyed||(this.target=null),this.unbindDocumentClickListener(),this.unbindDocumentResizeListener(),this.unbindScrollListener()}ngOnDestroy(){this.scrollHandler&&(this.scrollHandler.destroy(),this.scrollHandler=null),this.container&&this.autoZIndex&&fs.clear(this.container),this.cd.destroyed||(this.target=null),this.destroyCallback=null,this.container&&(this.restoreAppend(),this.onContainerDestroy()),this.overlaySubscription&&this.overlaySubscription.unsubscribe()}}return n.\u0275fac=function(e){return new(e||n)(v(rt),v(Vn),v(Gn),v(Se),v(eh),v(zR))},n.\u0275cmp=qe({type:n,selectors:[["p-overlayPanel"]],contentQueries:function(e,i,r){if(1&e&&Lr(r,th,4),2&e){let o;Ut(o=$t())&&(i.templates=o)}},hostAttrs:[1,"p-element"],inputs:{dismissable:"dismissable",showCloseIcon:"showCloseIcon",style:"style",styleClass:"styleClass",appendTo:"appendTo",autoZIndex:"autoZIndex",ariaCloseLabel:"ariaCloseLabel",baseZIndex:"baseZIndex",focusOnShow:"focusOnShow",showTransitionOptions:"showTransitionOptions",hideTransitionOptions:"hideTransitionOptions"},outputs:{onShow:"onShow",onHide:"onHide"},ngContentSelectors:kk,decls:1,vars:1,consts:[[3,"ngClass","ngStyle","class","click",4,"ngIf"],[3,"ngClass","ngStyle","click"],[1,"p-overlaypanel-content",3,"click","mousedown"],[4,"ngTemplateOutlet"],["type","button","class","p-overlaypanel-close p-link","pRipple","",3,"click","keydown.enter",4,"ngIf"],["type","button","pRipple","",1,"p-overlaypanel-close","p-link",3,"click","keydown.enter"],[1,"p-overlaypanel-close-icon","pi","pi-times"]],template:function(e,i){1&e&&(li(),G(0,Lk,5,13,"div",0)),2&e&&E("ngIf",i.render)},dependencies:[Kn,fi,Wa,Vr,ih],styles:['.p-overlaypanel{position:absolute;margin-top:10px;top:0;left:0}.p-overlaypanel-flipped{margin-top:0;margin-bottom:10px}.p-overlaypanel-close{display:flex;justify-content:center;align-items:center;overflow:hidden;position:relative}.p-overlaypanel:after,.p-overlaypanel:before{bottom:100%;left:calc(var(--overlayArrowLeft, 0) + 1.25rem);content:" ";height:0;width:0;position:absolute;pointer-events:none}.p-overlaypanel:after{border-width:8px;margin-left:-8px}.p-overlaypanel:before{border-width:10px;margin-left:-10px}.p-overlaypanel-shifted:after,.p-overlaypanel-shifted:before{left:auto;right:1.25em;margin-left:auto}.p-overlaypanel-flipped:after,.p-overlaypanel-flipped:before{bottom:auto;top:100%}.p-overlaypanel.p-overlaypanel-flipped:after{border-bottom-color:transparent}.p-overlaypanel.p-overlaypanel-flipped:before{border-bottom-color:transparent}\n'],encapsulation:2,data:{animation:[ED("animation",[Tf("void",Gi({transform:"scaleY(0.8)",opacity:0})),Tf("close",Gi({opacity:0})),Tf("open",Gi({transform:"translateY(0)",opacity:1})),vl("void => open",_l("{{showTransitionParams}}")),vl("open => close",_l("{{hideTransitionParams}}"))])]},changeDetection:0}),n})(),Vk=(()=>{class n{}return n.\u0275fac=function(e){return new(e||n)},n.\u0275mod=Ne({type:n}),n.\u0275inj=Ae({imports:[st,rh,nh,nh]}),n})();function Bk(n,t){if(1&n&&(T(0,"div",14)(1,"code"),Re(2),P()()),2&n){const e=w();C(2),En(e.file.content)}}function Hk(n,t){if(1&n&&(T(0,"div",18),_e(1,"i",20),T(2,"span"),Re(3),P()()),2&n){const e=w(2);C(3),Po("",e.file.width,"px, ",e.file.height,"px")}}function Uk(n,t){if(1&n&&(T(0,"div",15),_e(1,"dot-content-thumbnail",16),P(),T(2,"div",11)(3,"span",12),Re(4),P(),G(5,Hk,4,2,"div",17),T(6,"div",18),_e(7,"i",19),T(8,"span"),Re(9),Me(10,"number"),Me(11,"dm"),P()()()),2&n){const e=w();C(1),E("dotThumbanilOptions",e.dotThumbnailOptions),C(3),En(e.file.name),C(1),E("ngIf",e.file.width&&e.file.height),C(4),Po("",Gu(10,5,e.file.fileSize,"1.0-2")," ",Le(11,8,"dot.binary.field.file.bytes"),"")}}function $k(n,t){if(1&n){const e=Ue();T(0,"p-button",21),q("click",function(){return X(e),J(w().onEdit())}),Me(1,"dm"),P()}2&n&&E("label",Le(1,1,"dot.common.edit"))}function zk(n,t){if(1&n){const e=Ue();T(0,"p-button",22),q("click",function(){return X(e),J(w().onEdit())}),P()}}function Wk(n,t){if(1&n&&(T(0,"div"),Re(1),Me(2,"dm"),T(3,"span"),Re(4),P()()),2&n){const e=w();C(1),Sn(" ",Le(2,3,"dot.binary.field.file.dimension"),": "),C(3),Po("",e.file.width,"px, ",e.file.height,"px")}}function Gk(n,t){if(1&n&&(T(0,"div"),Re(1),Me(2,"dm"),T(3,"span"),Re(4),P()()),2&n){const e=w();C(1),Sn(" ",Le(2,2,"dot.binary.field.file.size"),": "),C(3),Sn("",e.file.fileSize," Bytes")}}const qk=function(n){return{"preview-container--fade":n}};var Zi=(()=>(function(n){n.image="image",n.text="text"}(Zi||(Zi={})),Zi))();let Kk=(()=>{class n{constructor(){this.editImage=new Q,this.editFile=new Q,this.removeFile=new Q,this.EDITABLE_FILE_FUNCTION_MAP={[Zi.image]:()=>this.editableImage,[Zi.text]:()=>!!this.file?.content},this.isEditable=!0}get dotThumbnailOptions(){return{tempUrl:this.file.url,inode:this.file.inode,name:this.file.name,contentType:this.file.mimeType,iconSize:"48px",titleImage:this.file.name}}ngOnChanges(){this.setIsEditable()}onEdit(){this.contenttype!==Zi.image?this.editFile.emit():this.editImage.emit()}setIsEditable(){const e=this.file.mimeType?.split("/")[0];this.contenttype=Zi[e],this.isEditable=this.EDITABLE_FILE_FUNCTION_MAP[this.contenttype]?.()}}return n.\u0275fac=function(e){return new(e||n)},n.\u0275cmp=qe({type:n,selectors:[["dot-binary-field-preview"]],inputs:{file:"file",editableImage:"editableImage"},outputs:{editImage:"editImage",editFile:"editFile",removeFile:"removeFile"},standalone:!0,features:[rn,Un],decls:19,vars:13,consts:[[1,"preview-container",3,"ngClass"],["class","preview-code_container",4,"ngIf","ngIfElse"],["contentThumnail",""],[1,"preview-metadata__actions"],["styleClass","p-button-link p-button-sm p-button-secondary","data-testId","remove-button","icon","pi pi-trash",3,"label","click"],["severity","secondary","styleClass","p-button-outlined p-button-sm p-button-secondary","data-testId","edit-button","icon","pi pi-pencil",3,"label","click",4,"ngIf"],[1,"preview-metadata__action--responsive"],["styleClass","p-button-rounded p-button-secondary p-button-text","data-testId","edit-button-responsive","icon","pi pi-pencil",3,"click",4,"ngIf"],["styleClass","p-button-rounded p-button-secondary p-button-text","data-testId","infor-button-responsive","icon","pi pi-info",3,"click"],["styleClass","p-button-rounded p-button-secondary p-button-text","data-testId","remove-button-responsive","icon","pi pi-trash",3,"click"],["op",""],[1,"preview-metadata__container"],[1,"preview-metadata_header"],[4,"ngIf"],[1,"preview-code_container"],[1,"preview-image__container"],[3,"dotThumbanilOptions"],["class","preview-metadata",4,"ngIf"],[1,"preview-metadata"],[1,"pi","pi-file"],[1,"pi","pi-arrows-alt"],["severity","secondary","styleClass","p-button-outlined p-button-sm p-button-secondary","data-testId","edit-button","icon","pi pi-pencil",3,"label","click"],["styleClass","p-button-rounded p-button-secondary p-button-text","data-testId","edit-button-responsive","icon","pi pi-pencil",3,"click"]],template:function(e,i){if(1&e){const r=Ue();T(0,"div",0),G(1,Bk,3,1,"div",1),G(2,Uk,12,10,"ng-template",null,2,Ta),T(4,"div",3)(5,"p-button",4),q("click",function(){return i.removeFile.emit()}),Me(6,"dm"),P(),G(7,$k,2,3,"p-button",5),P(),T(8,"div",6),G(9,zk,1,0,"p-button",7),T(10,"p-button",8),q("click",function(s){return X(r),J(Io(13).toggle(s))}),P(),T(11,"p-button",9),q("click",function(){return i.removeFile.emit()}),P()()(),T(12,"p-overlayPanel",null,10)(14,"div",11)(15,"span",12),Re(16),P(),G(17,Wk,5,5,"div",13),G(18,Gk,5,4,"div",13),P()()}if(2&e){const r=Io(3);E("ngClass",$n(11,qk,i.file.content)),C(1),E("ngIf",i.file.content)("ngIfElse",r),C(4),E("label",Le(6,9,"dot.common.remove")),C(2),E("ngIf",i.isEditable),C(2),E("ngIf",i.isEditable),C(7),En(i.file.name),C(1),E("ngIf",i.file.width&&i.file.height),C(1),E("ngIf",i.file.fileSize)}},dependencies:[st,Kn,fi,Iv,kl,Ll,Ek,IE,Vk,jk,Wr],styles:['[_nghost-%COMP%]{display:block;width:100%;height:100%}.preview-container[_ngcontent-%COMP%]{display:flex;gap:.5rem;align-items:flex-start;justify-content:center;height:100%;width:100%;position:relative;container-type:inline-size;container-name:preview}.preview-container[_ngcontent-%COMP%]:only-child{gap:0}.preview-code_container[_ngcontent-%COMP%]{display:flex;align-items:center;justify-content:center;height:100%;width:100%;-webkit-user-select:none;user-select:none}.preview-image__container[_ngcontent-%COMP%]{height:100%;width:100%;display:flex;justify-content:center;align-items:center;background:#f3f3f4}.preview-container--fade[_ngcontent-%COMP%]:after{content:"";background:linear-gradient(0deg,rgb(255,255,255) 0%,rgba(255,255,255,0) 100%);position:absolute;width:100%;height:50%;bottom:0;left:0;border-radius:.375rem}.preview-metadata__container[_ngcontent-%COMP%], .preview-metadata__responsive[_ngcontent-%COMP%]{flex-grow:1;padding:.5rem;display:none;justify-content:top;flex-direction:column;height:100%;min-width:8rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;gap:.75rem}.preview-metadata__container[_ngcontent-%COMP%] .preview-metadata_header[_ngcontent-%COMP%], .preview-metadata__responsive[_ngcontent-%COMP%] .preview-metadata_header[_ngcontent-%COMP%]{font-size:1rem;font-weight:700;margin:0;color:#14151a}.preview-metadata__container[_ngcontent-%COMP%] span[_ngcontent-%COMP%], .preview-metadata__responsive[_ngcontent-%COMP%] span[_ngcontent-%COMP%]{color:#6c7389}.preview-metadata__responsive[_ngcontent-%COMP%]{display:flex;padding:0;max-width:20rem}.preview-metadata[_ngcontent-%COMP%]{display:flex;justify-content:flex-start;align-items:center;gap:.5rem}.preview-metadata__actions[_ngcontent-%COMP%]{position:absolute;bottom:.5rem;right:.5rem;display:none;justify-content:flex-end;align-items:center;gap:.5rem;width:100%;z-index:100}.preview-metadata__action--responsive[_ngcontent-%COMP%]{position:absolute;bottom:.5rem;right:.5rem;display:flex;flex-direction:column;gap:.5rem}code[_ngcontent-%COMP%]{background:#ffffff;color:var(--color-palette-primary-500);height:100%;width:100%;white-space:pre-wrap;overflow:hidden}@container preview (min-width: 22rem){.preview-metadata__container[_ngcontent-%COMP%], .preview-metadata__actions[_ngcontent-%COMP%]{display:flex}.preview-metadata__action--responsive[_ngcontent-%COMP%]{display:none}.preview-image__container[_ngcontent-%COMP%]{height:100%;max-width:17.5rem}.preview-overlay__container[_ngcontent-%COMP%]{display:none}}'],changeDetection:0}),n})();const Qk=["*"];let Yk=(()=>{class n{}return n.\u0275fac=function(e){return new(e||n)},n.\u0275cmp=qe({type:n,selectors:[["dot-binary-field-ui-message"]],inputs:{uiMessage:"uiMessage"},standalone:!0,features:[Un],ngContentSelectors:Qk,decls:6,vars:6,consts:[["data-testId","ui-message-icon-container",1,"icon-container",3,"ngClass"],["data-testId","ui-message-icon",2,"font-size","2rem","width","auto",3,"ngClass"],[1,"text"],["data-testId","ui-message-span",3,"innerHTML"]],template:function(e,i){1&e&&(li(),T(0,"div",0),_e(1,"i",1),P(),T(2,"div",2),_e(3,"span",3),Me(4,"dm"),bn(5),P()),2&e&&(E("ngClass",i.uiMessage.severity),C(1),E("ngClass",i.uiMessage.icon),C(2),E("innerHTML",Gu(4,3,i.uiMessage.message,i.uiMessage.args),_m))},dependencies:[st,Kn,Wr],styles:["[_nghost-%COMP%]{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:1rem;height:100%;padding:1rem}.icon-container[_ngcontent-%COMP%]{border-radius:50%;padding:1rem}.icon-container.info[_ngcontent-%COMP%]{color:var(--color-palette-secondary-500);background:var(--color-palette-secondary-200)}.icon-container.error[_ngcontent-%COMP%]{color:#ffb444;background:#fff8ec}.text[_ngcontent-%COMP%]{text-align:center;line-height:140%}"],changeDetection:0}),n})(),Zk=1;const Xk=Promise.resolve(),Hl={};function ME(n){return n in Hl&&(delete Hl[n],!0)}const AE={setImmediate(n){const t=Zk++;return Hl[t]=!0,Xk.then(()=>ME(t)&&n()),t},clearImmediate(n){ME(n)}},xE=new class e2 extends In{flush(t){this.active=!0,this.scheduled=void 0;const{actions:e}=this;let i,r=-1,o=e.length;t=t||e.shift();do{if(i=t.execute(t.state,t.delay))break}while(++r0?super.requestAsyncId(t,e,i):(t.actions.push(this),t.scheduled||(t.scheduled=AE.setImmediate(t.flush.bind(t,null))))}recycleAsyncId(t,e,i=0){if(null!==i&&i>0||null===i&&this.delay>0)return super.recycleAsyncId(t,e,i);0===t.actions.length&&(AE.clearImmediate(e),t.scheduled=void 0)}});function PE(n){return!!n&&(n instanceof be||"function"==typeof n.lift&&"function"==typeof n.subscribe)}class OE extends De{notifyNext(t,e,i,r,o){this.destination.next(e)}notifyError(t,e){this.destination.error(t)}notifyComplete(t){this.destination.complete()}}class t2 extends De{constructor(t,e,i){super(),this.parent=t,this.outerValue=e,this.outerIndex=i,this.index=0}_next(t){this.parent.notifyNext(this.outerValue,t,this.outerIndex,this.index++,this)}_error(t){this.parent.notifyError(t,this),this.unsubscribe()}_complete(){this.parent.notifyComplete(this),this.unsubscribe()}}function NE(n,t,e,i,r=new t2(n,e,i)){if(!r.closed)return t instanceof be?t.subscribe(r):Gl(t)(r)}const FE={};class r2{constructor(t){this.resultSelector=t}call(t,e){return e.subscribe(new o2(t,this.resultSelector))}}class o2 extends OE{constructor(t,e){super(t),this.resultSelector=e,this.active=0,this.values=[],this.observables=[]}_next(t){this.values.push(FE),this.observables.push(t)}_complete(){const t=this.observables,e=t.length;if(0===e)this.destination.complete();else{this.active=e,this.toRespond=e;for(let i=0;i0){const o=r.indexOf(i);-1!==o&&r.splice(o,1)}}notifyComplete(){}_next(t){if(0===this.toRespond.length){const e=[t,...this.values];this.project?this._tryProject(e):this.destination.next(e)}}_tryProject(t){let e;try{e=this.project.apply(this,t)}catch(i){return void this.destination.error(i)}this.destination.next(e)}}function RE(n){return function(e){const i=new c2(n),r=e.lift(i);return i.caught=r}}class c2{constructor(t){this.selector=t}call(t,e){return e.subscribe(new u2(t,this.selector,this.caught))}}class u2 extends Ds{constructor(t,e,i){super(t),this.selector=e,this.caught=i}error(t){if(!this.isStopped){let e;try{e=this.selector(t,this.caught)}catch(o){return void super.error(o)}this._unsubscribeAndRecycle();const i=new bs(this);this.add(i);const r=Es(e,i);r!==i&&this.add(r)}}}class f2{constructor(t,e){this.compare=t,this.keySelector=e}call(t,e){return e.subscribe(new h2(t,this.compare,this.keySelector))}}class h2 extends De{constructor(t,e,i){super(t),this.keySelector=i,this.hasKey=!1,"function"==typeof e&&(this.compare=e)}compare(t,e){return t===e}_next(t){let e;try{const{keySelector:r}=this;e=r?r(t):t}catch(r){return this.destination.error(r)}let i=!1;if(this.hasKey)try{const{compare:r}=this;i=r(this.key,e)}catch(r){return this.destination.error(r)}else this.hasKey=!0;i||(this.key=e,this.destination.next(t))}}const y2=new F("@ngrx/component-store Initial State");let LE=(()=>{class n{constructor(e){this.destroySubject$=new gl(1),this.destroy$=this.destroySubject$.asObservable(),this.stateSubject$=new gl(1),this.isInitialized=!1,this.state$=this.select(i=>i),this.\u0275hasProvider=!1,e&&this.initState(e),this.checkProviderForHooks()}ngOnDestroy(){this.stateSubject$.complete(),this.destroySubject$.next()}updater(e){return i=>{let o,r=!0;const a=(PE(i)?i:Ur(i)).pipe(function CN(n,t=0){return function(i){return i.lift(new wN(n,t))}}(wf),Mn(()=>this.assertStateIsInitialized()),function s2(...n){return t=>{let e;return"function"==typeof n[n.length-1]&&(e=n.pop()),t.lift(new a2(n,e))}}(this.stateSubject$),Xe(([l,c])=>e(c,l)),Mn(l=>this.stateSubject$.next(l)),RE(l=>r?(o=l,Wd):bD(()=>l)),Gr(this.destroy$)).subscribe();if(o)throw o;return r=!1,a}}initState(e){Sh([e],wf).subscribe(i=>{this.isInitialized=!0,this.stateSubject$.next(i)})}setState(e){"function"!=typeof e?this.initState(e):this.updater(e)()}patchState(e){const i="function"==typeof e?e(this.get()):e;this.updater((r,o)=>({...r,...o}))(i)}get(e){let i;return this.assertStateIsInitialized(),this.stateSubject$.pipe(Za(1)).subscribe(r=>{i=e?e(r):r}),i}select(...e){const{observablesOrSelectorsObject:i,projector:r,config:o}=function _2(n){const t=Array.from(n);let e={debounce:!1};if(function v2(n){return typeof n.debounce<"u"}(t[t.length-1])&&(e={...e,...t.pop()}),1===t.length&&"function"!=typeof t[0])return{observablesOrSelectorsObject:t[0],projector:void 0,config:e};const i=t.pop();return{observablesOrSelectorsObject:t,projector:i,config:e}}(e);return(function b2(n,t){return Array.isArray(n)&&0===n.length&&t}(i,r)?this.stateSubject$:function n2(...n){let t,e;return Wl(n[n.length-1])&&(e=n.pop()),"function"==typeof n[n.length-1]&&(t=n.pop()),1===n.length&&Zt(n[0])&&(n=n[0]),Ql(n,e).lift(new r2(t))}(i)).pipe(o.debounce?function g2(){return n=>new be(t=>{let e,i;const r=new ve;return r.add(n.subscribe({complete:()=>{e&&t.next(i),t.complete()},error:o=>{t.error(o)},next:o=>{i=o,e||(e=xE.schedule(()=>{t.next(i),e=void 0}),r.add(e))}})),r})}():n=>n,r?Xe(a=>i.length>0&&Array.isArray(a)?r(...a):r(a)):n=>n,function d2(n,t){return e=>e.lift(new f2(n,t))}(),function p2(n,t,e){let i;return i=n&&"object"==typeof n?n:{bufferSize:n,windowTime:t,refCount:!1,scheduler:e},r=>r.lift(function m2({bufferSize:n=Number.POSITIVE_INFINITY,windowTime:t=Number.POSITIVE_INFINITY,refCount:e,scheduler:i}){let r,s,o=0,a=!1,l=!1;return function(u){let d;o++,!r||a?(a=!1,r=new gl(n,t,i),d=r.subscribe(this),s=u.subscribe({next(f){r.next(f)},error(f){a=!0,r.error(f)},complete(){l=!0,s=void 0,r.complete()}}),l&&(s=void 0)):d=r.subscribe(this),this.add(()=>{o--,d.unsubscribe(),d=void 0,s&&!l&&e&&0===o&&(s.unsubscribe(),s=void 0,r=void 0)})}}(i))}({refCount:!0,bufferSize:1}),Gr(this.destroy$))}effect(e){const i=new hn;return e(i).pipe(Gr(this.destroy$)).subscribe(),r=>(PE(r)?r:Ur(r)).pipe(Gr(this.destroy$)).subscribe(s=>{i.next(s)})}checkProviderForHooks(){xE.schedule(()=>{})}assertStateIsInitialized(){if(!this.isInitialized)throw new Error(`${this.constructor.name} has not been initialized yet. Please make sure it is initialized before updating/getting.`)}}return n.\u0275fac=function(e){return new(e||n)(O(y2,8))},n.\u0275prov=H({token:n,factory:n.\u0275fac}),n})();function jE(n,t,e){return i=>i.pipe(Mn({next:n,complete:e}),RE(r=>(t(r),Wd)))}let VE=(()=>{class n extends LE{constructor(e){super({tempFile:null,isLoading:!1,error:""}),this.dotUploadService=e,this.vm$=this.select(i=>i),this.tempFile$=this.select(({tempFile:i})=>i),this.error$=this.select(({error:i})=>i),this.setTempFile=this.updater((i,r)=>({...i,tempFile:r,isLoading:!1,error:""})),this.setIsLoading=this.updater((i,r)=>({...i,isLoading:r})),this.setError=this.updater((i,r)=>({...i,isLoading:!1,error:r})),this.uploadFileByUrl=this.effect(i=>i.pipe(Mn(()=>this.setIsLoading(!0)),ss(({url:r,signal:o})=>this.uploadTempFile(r,o))))}setMaxFileSize(e){this._maxFileSize=e/1048576}uploadTempFile(e,i){return Ii(this.dotUploadService.uploadFile({file:e,maxSize:this._maxFileSize?`${this._maxFileSize}MB`:"",signal:i})).pipe(jE(r=>this.setTempFile(r),r=>{i.aborted?this.setIsLoading(!1):this.setError(r.message)}))}}return n.\u0275fac=function(e){return new(e||n)(O(Vl))},n.\u0275prov=H({token:n,factory:n.\u0275fac}),n})();function D2(n,t){if(1&n&&(_e(0,"dot-field-validation-message",12),Me(1,"dm")),2&n){const e=w(2);E("message",Le(1,2,"dot.binary.field.action.import.from.url.error.message"))("field",e.form.get("url"))}}function E2(n,t){if(1&n&&(T(0,"small",13),Re(1),Me(2,"dm"),P()),2&n){const e=w().ngIf;C(1),Sn(" ",Le(2,1,e.error)," ")}}function S2(n,t){1&n&&(_e(0,"p-button",14),Me(1,"dm")),2&n&&E("label",Le(1,2,"dot.common.import"))("icon","pi pi-download")}function C2(n,t){1&n&&_e(0,"p-button",15),2&n&&E("icon","pi pi-spin pi-spinner")}const w2=function(){return{width:"6.85rem"}};function I2(n,t){if(1&n){const e=Ue();T(0,"form",1),q("ngSubmit",function(){return X(e),J(w().onSubmit())}),T(1,"div",2)(2,"label",3),Re(3),Me(4,"dm"),P(),T(5,"input",4),q("focus",function(){return X(e),J(w().handleFocus())}),P(),T(6,"div",5),G(7,D2,2,4,"dot-field-validation-message",6),G(8,E2,3,3,"ng-template",null,7,Ta),P()(),T(10,"div",8)(11,"p-button",9),q("click",function(){return X(e),J(w().cancelUpload())}),Me(12,"dm"),P(),T(13,"div"),G(14,S2,2,4,"p-button",10),G(15,C2,1,1,"ng-template",null,11,Ta),P()()()}if(2&n){const e=t.ngIf,i=Io(9),r=Io(16);E("formGroup",w().form),C(3),En(Le(4,9,"dot.binary.field.action.import.from.url")),C(4),E("ngIf",!e.error)("ngIfElse",i),C(4),E("label",Le(12,11,"dot.common.cancel")),C(2),function sn(n){ln(Yg,gT,n,!1)}(Ca(13,w2)),C(1),E("ngIf",!e.isLoading)("ngIfElse",r)}}let T2=(()=>{class n{constructor(){this.tempFileUploaded=new Q,this.cancel=new Q,this.store=On(VE),this.validators=[Ja.required,Ja.pattern(/^(ftp|http|https):\/\/[^ "]+$/)],this.form=new Jo({url:new ns("",this.validators)}),this.vm$=this.store.vm$.pipe(Mn(({isLoading:e})=>this.toggleForm(e))),this.tempFileChanged$=this.store.tempFile$,this.destroy$=new hn}ngOnInit(){this.store.setMaxFileSize(this.maxFileSize),this.tempFileChanged$.pipe(Gr(this.destroy$),Qo(e=>null!==e)).subscribe(e=>{this.tempFileUploaded.emit(e)})}ngOnDestroy(){this.destroy$.next(),this.destroy$.complete(),this.abortController?.abort()}onSubmit(){if(this.form.invalid)return;const e=this.form.get("url").value;this.abortController=new AbortController,this.store.uploadFileByUrl({url:e,signal:this.abortController.signal}),this.form.reset({url:e})}cancelUpload(){this.abortController?.abort(),this.cancel.emit()}handleFocus(){this.store.setError("")}toggleForm(e){e?this.form.disable():this.form.enable()}}return n.\u0275fac=function(e){return new(e||n)},n.\u0275cmp=qe({type:n,selectors:[["dot-dot-binary-field-url-mode"]],inputs:{maxFileSize:"maxFileSize",accept:"accept"},outputs:{tempFileUploaded:"tempFileUploaded",cancel:"cancel"},standalone:!0,features:[he([VE]),Un],decls:2,vars:3,consts:[["class","url-mode__form","data-testId","form",3,"formGroup","ngSubmit",4,"ngIf"],["data-testId","form",1,"url-mode__form",3,"formGroup","ngSubmit"],[1,"url-mode__input-container"],["for","url-input"],["id","url-input","type","text","autocomplete","off","formControlName","url","pInputText","","placeholder","https://www.dotcms.com/image.png","aria-label","URL input field","data-testId","url-input",3,"focus"],[1,"error-messsage__container"],["data-testId","error-message",3,"message","field",4,"ngIf","ngIfElse"],["serverError",""],[1,"url-mode__actions"],["styleClass","p-button-outlined","type","button","aria-label","Cancel button","data-testId","cancel-button",3,"label","click"],["type","submit","aria-label","Import button","data-testId","import-button",3,"label","icon",4,"ngIf","ngIfElse"],["loadingButton",""],["data-testId","error-message",3,"message","field"],["data-testId","error-msg",1,"p-invalid"],["type","submit","aria-label","Import button","data-testId","import-button",3,"label","icon"],["type","button","aria-label","Loading button","data-testId","loading-button",3,"icon"]],template:function(e,i){1&e&&(G(0,I2,17,14,"form",0),Me(1,"async")),2&e&&E("ngIf",Le(1,1,i.vm$))},dependencies:[st,fi,Nd,tD,df,Yo,Yd,Zd,nD,is,ul,kl,Ll,oh,pE,Wr,TE],styles:["[_nghost-%COMP%] {display:block;width:32rem}[_nghost-%COMP%] .p-button{width:100%}[_nghost-%COMP%] .error-messsage__container{min-height:1.5rem}.url-mode__form[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:1rem;justify-content:center;align-items:flex-start}.url-mode__input-container[_ngcontent-%COMP%]{width:100%;display:flex;gap:.5rem;flex-direction:column}.url-mode__actions[_ngcontent-%COMP%]{width:100%;display:flex;gap:.5rem;align-items:center;justify-content:flex-end}"],changeDetection:0}),n})();var Ei=(()=>(function(n){n.DROPZONE="DROPZONE",n.URL="URL",n.EDITOR="EDITOR"}(Ei||(Ei={})),Ei))(),Rt=(()=>(function(n){n.INIT="INIT",n.UPLOADING="UPLOADING",n.PREVIEW="PREVIEW"}(Rt||(Rt={})),Rt))(),Kr=(()=>(function(n){n.DEFAULT="DEFAULT",n.SERVER_ERROR="SERVER_ERROR"}(Kr||(Kr={})),Kr))();let BE=(()=>{class n{constructor(){this.subject=new Gd(null)}editedImage(){return this.subject.asObservable()}openImageEditor({inode:e,tempId:i,variable:r}){this.variable=r;const o=new CustomEvent(`binaryField-open-image-editor-${r}`,{detail:{inode:e,tempId:i,variable:r}});document.dispatchEvent(o),this.listenToEditedImage(),this.listenToCloseImageEditor()}listenToEditedImage(){document.addEventListener(`binaryField-tempfile-${this.variable}`,this.handleNewImage.bind(this))}listenToCloseImageEditor(){document.addEventListener(`binaryField-close-image-editor-${this.variable}`,this.removeListener.bind(this))}removeListener(){document.removeEventListener(`binaryField-tempfile-${this.variable}`,this.handleNewImage.bind(this)),document.removeEventListener(`binaryField-close-image-editor-${this.variable}`,this.removeListener.bind(this))}handleNewImage({detail:e}){this.subject.next(e.tempFile),this.removeListener()}}return n.\u0275fac=function(e){return new(e||n)},n.\u0275prov=H({token:n,factory:n.\u0275fac}),n})();const M2={DEFAULT:{message:"dot.binary.field.drag.and.drop.message",severity:"info",icon:"pi pi-upload"},SERVER_ERROR:{message:"dot.binary.field.drag.and.drop.error.server.error.message",severity:"error",icon:"pi pi-exclamation-triangle"},FILE_TYPE_MISMATCH:{message:"dot.binary.field.drag.and.drop.error.file.not.supported.message",severity:"error",icon:"pi pi-exclamation-triangle"},MAX_FILE_SIZE_EXCEEDED:{message:"dot.binary.field.drag.and.drop.error.file.maxsize.exceeded.message",severity:"error",icon:"pi pi-exclamation-triangle"},MULTIPLE_FILES_DROPPED:{message:"dot.binary.field.drag.and.drop.error.multiple.files.dropped.message",severity:"error",icon:"pi pi-exclamation-triangle"}},Ul=(n,...t)=>({...M2[n],args:t}),A2={file:null,tempFile:null,mode:Ei.DROPZONE,status:Rt.INIT,dropZoneActive:!1,uiMessage:Ul(Kr.DEFAULT),isEnterprise:!1};let HE=(()=>{class n extends LE{constructor(e,i,r){super(A2),this.dotUploadService=e,this.dotLicenseService=i,this.http=r,this._maxFileSizeInMB=0,this.vm$=this.select(o=>({...o,isLoading:o.status===Rt.UPLOADING})),this.tempFile$=this.select(o=>o.tempFile),this.mode$=this.select(o=>o.mode),this.setDropZoneActive=this.updater((o,s)=>({...o,dropZoneActive:s})),this.setTempFile=this.updater((o,s)=>({...o,status:Rt.PREVIEW,file:this.fileFromTempFile(s),tempFile:s})),this.setFile=this.updater((o,s)=>({...o,status:Rt.PREVIEW,file:s})),this.setUiMessage=this.updater((o,s)=>({...o,uiMessage:s})),this.setMode=this.updater((o,s)=>({...o,mode:s})),this.setStatus=this.updater((o,s)=>({...o,status:s})),this.setIsEnterprise=this.updater((o,s)=>({...o,isEnterprise:s})),this.setUploading=this.updater(o=>({...o,dropZoneActive:!1,uiMessage:Ul(Kr.DEFAULT),status:Rt.UPLOADING})),this.setError=this.updater((o,s)=>({...o,uiMessage:s,status:Rt.INIT,tempFile:null})),this.invalidFile=this.updater((o,s)=>({...o,dropZoneActive:!1,uiMessage:s,status:Rt.INIT})),this.removeFile=this.updater(o=>({...o,file:null,tempFile:null,status:Rt.INIT})),this.handleUploadFile=this.effect(o=>o.pipe(Mn(()=>this.setUploading()),ss(s=>Ii(this.dotUploadService.uploadFile({file:s,maxSize:this._maxFileSizeInMB?`${this._maxFileSizeInMB}MB`:"",signal:null})).pipe(jE(a=>this.setTempFile(a),()=>this.setError(Ul(Kr.SERVER_ERROR))))))),this.setFileAndContent=this.effect(o=>o.pipe(Mn(()=>this.setUploading()),ss(s=>{const{url:a,mimeType:l}=s;return(l.includes("text")?this.getFileContent(a):Ur("")).pipe(Mn(u=>{this.setFile({...s,content:u})}))}))),this.dotLicenseService.isEnterprise().subscribe(o=>{this.setIsEnterprise(o)})}setMaxFileSize(e){this._maxFileSizeInMB=e/1048576}getFileContent(e){return this.http.get(e,{responseType:"text"})}fileFromTempFile({length:e,thumbnailUrl:i,referenceUrl:r,fileName:o,mimeType:s,content:a=""}){return{url:i||r,fileSize:e,mimeType:s,name:o,content:a}}}return n.\u0275fac=function(e){return new(e||n)(O(Vl),O(SE),O(pl))},n.\u0275prov=H({token:n,factory:n.\u0275fac}),n})();const x2=function(n,t,e){return{"border-width":n,width:t,height:e}};let P2=(()=>{class n{constructor(){this.borderSize="",this.size=""}}return n.\u0275fac=function(e){return new(e||n)},n.\u0275cmp=qe({type:n,selectors:[["dot-spinner"]],inputs:{borderSize:"borderSize",size:"size"},decls:1,vars:5,consts:[[3,"ngStyle"]],template:function(e,i){1&e&&_e(0,"div",0),2&e&&E("ngStyle",e_(1,x2,i.borderSize,i.size,i.size))},dependencies:[Vr],styles:["div[_ngcontent-%COMP%]{border-radius:50%;width:2.5rem;height:2.5rem;display:inline-block;vertical-align:middle;font-size:10px;position:relative;text-indent:-9999em;border:.5rem solid var(--color-palette-primary-op-20);border-left-color:var(--color-palette-primary-500);transform:translateZ(0);animation:_ngcontent-%COMP%_load8 1.1s infinite linear;overflow:hidden}.edit-page-variant-mode [_nghost-%COMP%] div[_ngcontent-%COMP%]{border:.5rem solid var(--color-palette-white-op-20);border-left-color:var(--color-palette-white-op-90)}@keyframes _ngcontent-%COMP%_load8{0%{transform:rotate(0)}to{transform:rotate(360deg)}}"]}),n})();const O2=["inputFile"],N2=function(n){return{"binary-field__drop-zone--active":n}};function F2(n,t){if(1&n){const e=Ue();T(0,"div",8)(1,"div",9)(2,"dot-drop-zone",10),q("fileDragOver",function(){return X(e),J(w(2).setDropZoneActiveState(!0))})("fileDragLeave",function(){return X(e),J(w(2).setDropZoneActiveState(!1))})("fileDropped",function(r){return X(e),J(w(2).handleFileDrop(r))}),T(3,"dot-binary-field-ui-message",11)(4,"button",12),q("click",function(){return X(e),J(w(2).openFilePicker())}),Re(5),Me(6,"dm"),P()()(),T(7,"input",13,14),q("change",function(r){return X(e),J(w(2).handleFileSelection(r))}),P()(),T(9,"div",15)(10,"p-button",16),q("click",function(){X(e);const r=w(2);return J(r.openDialog(r.BinaryFieldMode.URL))}),Me(11,"dm"),P(),T(12,"p-button",17),q("click",function(){X(e);const r=w(2);return J(r.openDialog(r.BinaryFieldMode.EDITOR))}),Me(13,"dm"),P()()()}if(2&n){const e=w().ngIf,i=w();C(1),E("ngClass",$n(14,N2,e.dropZoneActive)),C(1),E("accept",i.accept)("maxFileSize",i.maxFileSize),C(1),E("uiMessage",e.uiMessage),C(2),Sn(" ",Le(6,8,"dot.binary.field.action.choose.file")," "),C(2),E("accept",i.accept.join(",")),C(3),E("label",Le(11,10,"dot.binary.field.action.import.from.url")),C(2),E("label",Le(13,12,"dot.binary.field.action.create.new.file"))}}function R2(n,t){1&n&&_e(0,"dot-spinner",18)}function L2(n,t){if(1&n){const e=Ue();T(0,"dot-binary-field-preview",19),q("removeFile",function(){return X(e),J(w(2).removeFile())})("editFile",function(){return X(e),J(w(2).onEditFile())})("editImage",function(){return X(e),J(w(2).onEditImage())}),P()}if(2&n){const e=w().ngIf;E("file",e.file)("editableImage",e.isEnterprise)}}function k2(n,t){if(1&n){const e=Ue();T(0,"dot-dot-binary-field-url-mode",23),q("tempFileUploaded",function(r){return X(e),J(w(3).setTempFile(r))})("cancel",function(){return X(e),J(w(3).closeDialog())}),P()}if(2&n){const e=w(3);E("accept",e.accept)("maxFileSize",e.maxFileSize)}}function j2(n,t){if(1&n){const e=Ue();T(0,"dot-dot-binary-field-editor",24),q("tempFileUploaded",function(r){return X(e),J(w(3).setTempFile(r))})("cancel",function(){return X(e),J(w(3).closeDialog())}),P()}if(2&n){const e=w(2).ngIf,i=w();E("fileName",null==e.file?null:e.file.name)("fileContent",null==e.file?null:e.file.content)("accept",i.accept)}}function V2(n,t){if(1&n&&(To(0,20),G(1,k2,1,2,"dot-dot-binary-field-url-mode",21),G(2,j2,1,3,"dot-dot-binary-field-editor",22),Mo()),2&n){const e=w().ngIf,i=w();E("ngSwitch",e.mode),C(1),E("ngSwitchCase",i.BinaryFieldMode.URL),C(1),E("ngSwitchCase",i.BinaryFieldMode.EDITOR)}}const B2=function(n){return{"binary-field__container--uploading":n}};function H2(n,t){if(1&n){const e=Ue();T(0,"div",2),G(1,F2,14,16,"div",3),G(2,R2,1,0,"dot-spinner",4),G(3,L2,1,2,"dot-binary-field-preview",5),T(4,"p-dialog",6),q("visibleChange",function(r){return X(e),J(w().dialogOpen=r)}),Me(5,"dm"),G(6,V2,3,3,"ng-container",7),P()()}if(2&n){const e=t.ngIf,i=w();E("ngClass",$n(15,B2,e.status===i.BinaryFieldStatus.UPLOADING)),C(1),E("ngIf",e.status===i.BinaryFieldStatus.INIT),C(1),E("ngIf",e.status===i.BinaryFieldStatus.UPLOADING),C(1),E("ngIf",e.status===i.BinaryFieldStatus.PREVIEW),C(1),E("visible",i.dialogOpen)("keepInViewport",!1)("modal",!0)("header",Le(5,13,i.dialogHeaderMap[e.mode]))("draggable",!1)("resizable",!1)("closeOnEscape",!1)("styleClass",e.mode===i.BinaryFieldMode.EDITOR?"screen-cover":""),C(2),E("ngIf",i.dialogOpen)}}function U2(n,t){if(1&n&&(T(0,"div",25),_e(1,"i",26),T(2,"span",27),Re(3),P()()),2&n){const e=w();C(3),En(e.helperText)}}let UE=(()=>{class n{constructor(e,i,r,o){this.dotBinaryFieldStore=e,this.dotMessageService=i,this.dotBinaryFieldEditImageService=r,this.cd=o,this.tempFile=new Q,this.dialogHeaderMap={[Ei.URL]:"dot.binary.field.dialog.import.from.url.header",[Ei.EDITOR]:"dot.binary.field.dialog.create.new.file.header"},this.BinaryFieldStatus=Rt,this.BinaryFieldMode=Ei,this.vm$=this.dotBinaryFieldStore.vm$,this.tempId="",this.dialogOpen=!1,this.accept=[],this.dotMessageService.init()}ngOnInit(){this.dotBinaryFieldStore.tempFile$.pipe(function OL(n){return t=>t.lift(new NL(n))}(1)).subscribe(e=>{this.tempId=e?.id,this.tempFile.emit(e)}),this.dotBinaryFieldEditImageService.editedImage().pipe(Qo(e=>!!e),Mn(()=>this.dotBinaryFieldStore.setStatus(Rt.UPLOADING)),function jL(n,t=mE){const i=function kL(n){return n instanceof Date&&!isNaN(+n)}(n)?+n-t.now():Math.abs(n);return r=>r.lift(new VL(i,t))}(500)).subscribe(e=>this.setTempFile(e)),this.dotBinaryFieldStore.setMaxFileSize(this.maxFileSize)}ngAfterViewInit(){this.setFieldVariables(),this.contentlet&&this.setPreviewFile(),this.cd.detectChanges()}ngOnDestroy(){this.dotBinaryFieldEditImageService.removeListener()}openDialog(e){this.dialogOpen=!0,this.dotBinaryFieldStore.setMode(e)}closeDialog(){this.dialogOpen=!1}openFilePicker(){this.inputFile.nativeElement.click()}handleFileSelection(e){this.dotBinaryFieldStore.handleUploadFile(e.target.files[0])}removeFile(){this.dotBinaryFieldStore.removeFile()}setTempFile(e){this.dotBinaryFieldStore.setTempFile(e),this.closeDialog()}onEditFile(){this.openDialog(Ei.EDITOR)}onEditImage(){this.dotBinaryFieldEditImageService.openImageEditor({inode:this.contentlet?.inode,tempId:this.tempId,variable:this.field.variable})}setDropZoneActiveState(e){this.dotBinaryFieldStore.setDropZoneActive(e)}handleFileDrop({validity:e,file:i}){e.valid?this.dotBinaryFieldStore.handleUploadFile(i):this.handleFileDropError(e)}setPreviewFile(){const e=this.field.variable,i=e+"MetaData",{titleImage:r,inode:o,[i]:s}=this.contentlet,{contentType:a}=s;this.dotBinaryFieldStore.setFileAndContent({inode:o,titleImage:r,mimeType:a,url:this.contentlet[e],...s})}setFieldVariables(){const{accept:e,maxFileSize:i=0,helperText:r}=this.getFieldVariables();this.accept=e?e.split(","):[],this.maxFileSize=Number(i),this.helperText=r}getFieldVariables(){return this.field.fieldVariables.reduce((e,{key:i,value:r})=>({...e,[i]:r}),{})}handleFileDropError({errorsType:e}){const i={[Di.FILE_TYPE_MISMATCH]:this.accept.join(", "),[Di.MAX_FILE_SIZE_EXCEEDED]:`${this.maxFileSize} bytes`},r=e[0],o=Ul(r,i[r]);this.dotBinaryFieldStore.invalidFile(o)}}return n.\u0275fac=function(e){return new(e||n)(v(HE),v(ps),v(BE),v(Gn))},n.\u0275cmp=qe({type:n,selectors:[["dot-binary-field"]],viewQuery:function(e,i){if(1&e&&Hi(O2,5),2&e){let r;Ut(r=$t())&&(i.inputFile=r.first)}},inputs:{field:"field",contentlet:"contentlet"},outputs:{tempFile:"tempFile"},standalone:!0,features:[he([HE,SE,BE]),Un],decls:3,vars:4,consts:[["class","binary-field__container",3,"ngClass",4,"ngIf"],["class","binary-field__helper",4,"ngIf"],[1,"binary-field__container",3,"ngClass"],["class","binary-field__drop-zone-container","data-testId","binary-field__drop-zone-container",4,"ngIf"],["data-testId","loading",4,"ngIf"],["data-testId","preview",3,"file","editableImage","removeFile","editFile","editImage",4,"ngIf"],[3,"visible","keepInViewport","modal","header","draggable","resizable","closeOnEscape","styleClass","visibleChange"],[3,"ngSwitch",4,"ngIf"],["data-testId","binary-field__drop-zone-container",1,"binary-field__drop-zone-container"],[1,"binary-field__drop-zone",3,"ngClass"],["data-testId","dropzone",3,"accept","maxFileSize","fileDragOver","fileDragLeave","fileDropped"],[3,"uiMessage"],["data-testId","choose-file-btn",1,"binary-field__drop-zone-btn",3,"click"],["type","file","data-testId","binary-field__file-input",1,"binary-field__input",3,"accept","change"],["inputFile",""],[1,"binary-field__actions"],["data-testId","action-url-btn","styleClass","p-button-link","icon","pi pi-link",3,"label","click"],["data-testId","action-editor-btn","styleClass","p-button-link","icon","pi pi-code",3,"label","click"],["data-testId","loading"],["data-testId","preview",3,"file","editableImage","removeFile","editFile","editImage"],[3,"ngSwitch"],["data-testId","url-mode",3,"accept","maxFileSize","tempFileUploaded","cancel",4,"ngSwitchCase"],["data-testId","editor-mode",3,"fileName","fileContent","accept","tempFileUploaded","cancel",4,"ngSwitchCase"],["data-testId","url-mode",3,"accept","maxFileSize","tempFileUploaded","cancel"],["data-testId","editor-mode",3,"fileName","fileContent","accept","tempFileUploaded","cancel"],[1,"binary-field__helper"],[1,"pi","pi-info-circle","binary-field__helper-icon"],["data-testId","helper-text"]],template:function(e,i){1&e&&(G(0,H2,7,17,"div",0),Me(1,"async"),G(2,U2,4,1,"div",1)),2&e&&(E("ngIf",Le(1,2,i.vm$)),C(2),E("ngIf",i.helperText))},dependencies:[st,Kn,fi,Wo,Od,Nd,kl,Ll,PL,xL,rk,_f,Wr,Yk,IE,P2,_D,Pk,oh,T2,Kk],styles:[".screen-cover{width:90vw;height:90vh;min-width:40rem;min-height:40rem} p-dialog .p-dialog-mask.p-component-overlay{background-color:transparent;-webkit-backdrop-filter:blur(.375rem);backdrop-filter:blur(.375rem)}dot-drop-zone[_ngcontent-%COMP%]{height:100%;width:100%}.binary-field__container[_ngcontent-%COMP%]{display:flex;justify-content:center;align-items:center;width:100%;border-radius:.375rem;border:1.5px solid #ebecef;padding:.5rem;margin-bottom:.5rem;height:12.5rem;min-width:17.5rem}.binary-field__container--uploading[_ngcontent-%COMP%]{border:1.5px dashed #ebecef}.binary-field__helper[_ngcontent-%COMP%]{display:flex;justify-content:flex-start;align-items:center;gap:.5rem;color:#6c7389;font-weight:.813rem}.binary-field__helper-icon[_ngcontent-%COMP%]{color:#8d92a5}.binary-field__actions[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:1rem;justify-content:center;align-items:flex-start}.binary-field__actions[_ngcontent-%COMP%] .p-button[_ngcontent-%COMP%]{display:inline-flex;-webkit-user-select:none;user-select:none;align-items:center;vertical-align:bottom;text-align:center}.binary-field__actions[_ngcontent-%COMP%] .p-button-link .p-button-label{color:#14151a}.binary-field__actions[_ngcontent-%COMP%] .p-button-link .p-button-icon{color:var(--color-palette-secondary-500)}.binary-field__drop-zone-container[_ngcontent-%COMP%]{display:flex;justify-content:center;align-items:center;height:100%;width:100%}.binary-field__drop-zone[_ngcontent-%COMP%]{border:1.5px dashed #afb3c0;display:flex;flex-direction:column;justify-content:center;align-items:center;border-radius:.375rem;cursor:default;flex-grow:1;height:100%}.binary-field__drop-zone-btn[_ngcontent-%COMP%]{border:none;background:none;color:var(--color-palette-primary-500);text-decoration:underline;font-size:1rem;font-family:Assistant,Helvetica Neue,Helvetica,Arial,Lucida Grande,sans-serif;padding:revert}.binary-field__drop-zone--active[_ngcontent-%COMP%]{border-radius:.375rem;border-color:var(--color-palette-secondary-500);background:#ffffff;box-shadow:0 0 4px #14151a0a,0 8px 16px #14151a14}.binary-field__input[_ngcontent-%COMP%]{display:none}.binary-field__code-editor[_ngcontent-%COMP%]{border:1px solid #afb3c0;display:block;height:25rem}"],changeDetection:0}),n})();const $2=[{tag:"dotcms-binary-field",component:UE}];let z2=(()=>{class n{constructor(e){this.injector=e}ngDoBootstrap(){try{$2.forEach(({tag:e,component:i})=>{if(customElements.get(e))return;const r=function $N(n,t){const e=function LN(n,t){return t.get(yr).resolveComponentFactory(n).inputs}(n,t.injector),i=t.strategyFactory||new BN(n,t.injector),r=function RN(n){const t={};return n.forEach(({propName:e,templateName:i})=>{t[function xN(n){return n.replace(/[A-Z]/g,t=>`-${t.toLowerCase()}`)}(i)]=e}),t}(e);class o extends UN{get ngElementStrategy(){if(!this._ngElementStrategy){const a=this._ngElementStrategy=i.create(this.injector||t.injector);e.forEach(({propName:l})=>{if(!this.hasOwnProperty(l))return;const c=this[l];delete this[l],a.setInputValue(l,c)})}return this._ngElementStrategy}constructor(a){super(),this.injector=a}attributeChangedCallback(a,l,c,u){this.ngElementStrategy.setInputValue(r[a],c)}connectedCallback(){let a=!1;this.ngElementStrategy.events&&(this.subscribeToEvents(),a=!0),this.ngElementStrategy.connect(this),a||this.subscribeToEvents()}disconnectedCallback(){this._ngElementStrategy&&this._ngElementStrategy.disconnect(),this.ngElementEventsSubscription&&(this.ngElementEventsSubscription.unsubscribe(),this.ngElementEventsSubscription=null)}subscribeToEvents(){this.ngElementEventsSubscription=this.ngElementStrategy.events.subscribe(a=>{const l=new CustomEvent(a.name,{detail:a.value});this.dispatchEvent(l)})}}return o.observedAttributes=Object.keys(r),e.forEach(({propName:s})=>{Object.defineProperty(o.prototype,s,{get(){return this.ngElementStrategy.getInputValue(s)},set(a){this.ngElementStrategy.setInputValue(s,a)},configurable:!0,enumerable:!0})}),o}(i,{injector:this.injector});customElements.define(e,r)})}catch(e){console.error(e)}}}return n.\u0275fac=function(e){return new(e||n)(O(yn))},n.\u0275mod=Ne({type:n}),n.\u0275inj=Ae({providers:[ps,Vl],imports:[Yv,$R,_D,UE,_f]}),n})();OP().bootstrapModule(z2).catch(n=>console.error(n))},13131:(Ci,gs,Pn)=>{var ut={"./ar-DZ/_lib/formatDistance/index.js":[28066,8592],"./ar-DZ/_lib/formatLong/index.js":[86369,8592,9493],"./ar-DZ/_lib/formatRelative/index.js":[89786,8592],"./ar-DZ/_lib/localize/index.js":[36207,8592,4373],"./ar-DZ/_lib/match/index.js":[53371,8592,2877],"./ar-DZ/index.js":[76327,8592,4288],"./ar-EG/_lib/formatDistance/index.js":[95932,8592],"./ar-EG/_lib/formatLong/index.js":[46023,8592,3639],"./ar-EG/_lib/formatRelative/index.js":[74621,8592],"./ar-EG/_lib/localize/index.js":[93376,8592,1378],"./ar-EG/_lib/match/index.js":[76456,8592,9284],"./ar-EG/index.js":[30830,8592,8477],"./ar-MA/_lib/formatDistance/index.js":[25565,8592],"./ar-MA/_lib/formatLong/index.js":[81783,8592,7236],"./ar-MA/_lib/formatRelative/index.js":[90030,8592],"./ar-MA/_lib/localize/index.js":[60503,8592,7995],"./ar-MA/_lib/match/index.js":[83427,8592,8213],"./ar-MA/index.js":[96094,8592,9736],"./ar-SA/_lib/formatDistance/index.js":[3797,8592],"./ar-SA/_lib/formatLong/index.js":[73212,8592,9090],"./ar-SA/_lib/formatRelative/index.js":[79009,8592],"./ar-SA/_lib/localize/index.js":[12535,8592,124],"./ar-SA/_lib/match/index.js":[14710,8592,2912],"./ar-SA/index.js":[54370,8592,6562],"./ar-TN/_lib/formatDistance/index.js":[56566,8592],"./ar-TN/_lib/formatLong/index.js":[4585,8592,3753],"./ar-TN/_lib/formatRelative/index.js":[5374,8592],"./ar-TN/_lib/localize/index.js":[85963,8592,4843],"./ar-TN/_lib/match/index.js":[13401,8592,2581],"./ar-TN/index.js":[37373,8592,6426],"./be-tarask/_lib/formatDistance/index.js":[82665,8592],"./be-tarask/_lib/formatLong/index.js":[9662,8592,5806],"./be-tarask/_lib/formatRelative/index.js":[4653,4,8592],"./be-tarask/_lib/localize/index.js":[40591,8592,1283],"./be-tarask/_lib/match/index.js":[34412,8592,9938],"./be-tarask/index.js":[27840,4,8592,7840],"./de-AT/_lib/localize/index.js":[44821,8592,8300],"./de-AT/index.js":[21782,8592,243],"./en-AU/_lib/formatLong/index.js":[65493,8592,6237],"./en-AU/index.js":[87747,8592,1128],"./en-CA/_lib/formatDistance/index.js":[80780,8592],"./en-CA/_lib/formatLong/index.js":[26153,8592,7747],"./en-CA/index.js":[21413,8592,7555],"./en-GB/_lib/formatLong/index.js":[33819,8592,4547],"./en-GB/index.js":[33035,8592,1228],"./en-IE/index.js":[61959,8592,463],"./en-IN/_lib/formatLong/index.js":[20862,8592,3191],"./en-IN/index.js":[82873,8592,8757],"./en-NZ/_lib/formatLong/index.js":[36336,8592,3197],"./en-NZ/index.js":[26041,8592,5966],"./en-US/_lib/formatDistance/index.js":[39563,9563],"./en-US/_lib/formatLong/index.js":[66929,6929],"./en-US/_lib/formatRelative/index.js":[21656,1656],"./en-US/_lib/localize/index.js":[31098,9350],"./en-US/_lib/match/index.js":[53239,3239],"./en-US/index.js":[33338,3338],"./en-ZA/_lib/formatLong/index.js":[9221,8592,6951],"./en-ZA/index.js":[11543,8592,4093],"./fa-IR/_lib/formatDistance/index.js":[76726,8592],"./fa-IR/_lib/formatLong/index.js":[10749,8592,7612],"./fa-IR/_lib/formatRelative/index.js":[7220,8592],"./fa-IR/_lib/localize/index.js":[72441,8592,9371],"./fa-IR/_lib/match/index.js":[81488,8592,7743],"./fa-IR/index.js":[84996,8592,5974],"./fr-CA/_lib/formatLong/index.js":[85947,8592,4367],"./fr-CA/index.js":[73723,8592,1688],"./fr-CH/_lib/formatLong/index.js":[27414,8592,3603],"./fr-CH/_lib/formatRelative/index.js":[66155,8592],"./fr-CH/index.js":[24565,8592,4087],"./it-CH/_lib/formatLong/index.js":[31519,8592,6685],"./it-CH/index.js":[87736,8592,2324],"./ja-Hira/_lib/formatDistance/index.js":[84703,8592],"./ja-Hira/_lib/formatLong/index.js":[56574,8592,7336],"./ja-Hira/_lib/formatRelative/index.js":[93381,8592],"./ja-Hira/_lib/localize/index.js":[35710,8592,3665],"./ja-Hira/_lib/match/index.js":[69417,8592,3148],"./ja-Hira/index.js":[12944,8592,1464],"./nl-BE/_lib/formatDistance/index.js":[16129,8592],"./nl-BE/_lib/formatLong/index.js":[17657,8592,3039],"./nl-BE/_lib/formatRelative/index.js":[89811,8592],"./nl-BE/_lib/localize/index.js":[58816,8592,1681],"./nl-BE/_lib/match/index.js":[28333,8592,2237],"./nl-BE/index.js":[70296,8592,4862],"./pt-BR/_lib/formatDistance/index.js":[52638,8592],"./pt-BR/_lib/formatLong/index.js":[33247,8592,4753],"./pt-BR/_lib/formatRelative/index.js":[25492,8592],"./pt-BR/_lib/localize/index.js":[81046,8592,2258],"./pt-BR/_lib/match/index.js":[63770,8592,9792],"./pt-BR/index.js":[47569,8592,1100],"./sr-Latn/_lib/formatDistance/index.js":[69014,8592],"./sr-Latn/_lib/formatLong/index.js":[99257,8592,275],"./sr-Latn/_lib/formatRelative/index.js":[42428,8592],"./sr-Latn/_lib/localize/index.js":[92773,8592,7136],"./sr-Latn/_lib/match/index.js":[7766,8592,3177],"./sr-Latn/index.js":[99064,8592,2152],"./uz-Cyrl/_lib/formatDistance/index.js":[67778,8592],"./uz-Cyrl/_lib/formatLong/index.js":[64095,8592,160],"./uz-Cyrl/_lib/formatRelative/index.js":[83734,8592],"./uz-Cyrl/_lib/localize/index.js":[17670,8592,2654],"./uz-Cyrl/_lib/match/index.js":[75798,8592,1360],"./uz-Cyrl/index.js":[14527,8592,8932],"./zh-CN/_lib/formatDistance/index.js":[33437,8592],"./zh-CN/_lib/formatLong/index.js":[91583,8592,485],"./zh-CN/_lib/formatRelative/index.js":[95629,8592,5441],"./zh-CN/_lib/localize/index.js":[17939,8592,9169],"./zh-CN/_lib/match/index.js":[71362,8592,7103],"./zh-CN/index.js":[86335,8592,8664],"./zh-HK/_lib/formatDistance/index.js":[37348,8592],"./zh-HK/_lib/formatLong/index.js":[60924,8592,3215],"./zh-HK/_lib/formatRelative/index.js":[22164,8592],"./zh-HK/_lib/localize/index.js":[39264,8592,1780],"./zh-HK/_lib/match/index.js":[50358,8592,5641],"./zh-HK/index.js":[59277,8592,2336],"./zh-TW/_lib/formatDistance/index.js":[31613,8592],"./zh-TW/_lib/formatLong/index.js":[1239,8592,248],"./zh-TW/_lib/formatRelative/index.js":[13240,8592],"./zh-TW/_lib/localize/index.js":[29850,8592,9886],"./zh-TW/_lib/match/index.js":[38819,8592,8041],"./zh-TW/index.js":[74565,8592,8978]};function Yt(Be){if(!Pn.o(ut,Be))return Promise.resolve().then(()=>{var Zt=new Error("Cannot find module '"+Be+"'");throw Zt.code="MODULE_NOT_FOUND",Zt});var Ct=ut[Be],ii=Ct[0];return Promise.all(Ct.slice(1).map(Pn.e)).then(()=>Pn.t(ii,23))}Yt.keys=()=>Object.keys(ut),Yt.id=13131,Ci.exports=Yt},71213:(Ci,gs,Pn)=>{var ut={"./_lib/buildFormatLongFn/index.js":[88995,7,8995],"./_lib/buildLocalizeFn/index.js":[77579,7,7579],"./_lib/buildMatchFn/index.js":[84728,7,4728],"./_lib/buildMatchPatternFn/index.js":[27223,7,7223],"./af/_lib/formatDistance/index.js":[55864,7,8592],"./af/_lib/formatLong/index.js":[25358,7,8592,9848],"./af/_lib/formatRelative/index.js":[25892,7,8592],"./af/_lib/localize/index.js":[18874,7,8592,459],"./af/_lib/match/index.js":[22146,7,8592,4568],"./af/index.js":[72399,7,8592,6595],"./ar-DZ/_lib/formatDistance/index.js":[28066,7,8592],"./ar-DZ/_lib/formatLong/index.js":[86369,7,8592,9493],"./ar-DZ/_lib/formatRelative/index.js":[89786,7,8592],"./ar-DZ/_lib/localize/index.js":[36207,7,8592,4373],"./ar-DZ/_lib/match/index.js":[53371,7,8592,2877],"./ar-DZ/index.js":[76327,7,8592,4288],"./ar-EG/_lib/formatDistance/index.js":[95932,7,8592],"./ar-EG/_lib/formatLong/index.js":[46023,7,8592,3639],"./ar-EG/_lib/formatRelative/index.js":[74621,7,8592],"./ar-EG/_lib/localize/index.js":[93376,7,8592,1378],"./ar-EG/_lib/match/index.js":[76456,7,8592,9284],"./ar-EG/index.js":[30830,7,8592,8477],"./ar-MA/_lib/formatDistance/index.js":[25565,7,8592],"./ar-MA/_lib/formatLong/index.js":[81783,7,8592,7236],"./ar-MA/_lib/formatRelative/index.js":[90030,7,8592],"./ar-MA/_lib/localize/index.js":[60503,7,8592,7995],"./ar-MA/_lib/match/index.js":[83427,7,8592,8213],"./ar-MA/index.js":[96094,7,8592,9736],"./ar-SA/_lib/formatDistance/index.js":[3797,7,8592],"./ar-SA/_lib/formatLong/index.js":[73212,7,8592,9090],"./ar-SA/_lib/formatRelative/index.js":[79009,7,8592],"./ar-SA/_lib/localize/index.js":[12535,7,8592,124],"./ar-SA/_lib/match/index.js":[14710,7,8592,2912],"./ar-SA/index.js":[54370,7,8592,6562],"./ar-TN/_lib/formatDistance/index.js":[56566,7,8592],"./ar-TN/_lib/formatLong/index.js":[4585,7,8592,3753],"./ar-TN/_lib/formatRelative/index.js":[5374,7,8592],"./ar-TN/_lib/localize/index.js":[85963,7,8592,4843],"./ar-TN/_lib/match/index.js":[13401,7,8592,2581],"./ar-TN/index.js":[37373,7,8592,6426],"./ar/_lib/formatDistance/index.js":[91118,7,8592],"./ar/_lib/formatLong/index.js":[90899,7,8592,319],"./ar/_lib/formatRelative/index.js":[18739,7,8592],"./ar/_lib/localize/index.js":[64620,7,8592,9521],"./ar/_lib/match/index.js":[32101,7,8592,6574],"./ar/index.js":[91780,7,8592,7519],"./az/_lib/formatDistance/index.js":[2541,7,8592],"./az/_lib/formatLong/index.js":[6246,7,8592,1481],"./az/_lib/formatRelative/index.js":[33557,7,8592],"./az/_lib/localize/index.js":[89347,7,8592,38],"./az/_lib/match/index.js":[75242,7,8592,5991],"./az/index.js":[170,7,8592,6265],"./be-tarask/_lib/formatDistance/index.js":[82665,7,8592],"./be-tarask/_lib/formatLong/index.js":[9662,7,8592,5806],"./be-tarask/_lib/formatRelative/index.js":[4653,7,4,8592],"./be-tarask/_lib/localize/index.js":[40591,7,8592,1283],"./be-tarask/_lib/match/index.js":[34412,7,8592,9938],"./be-tarask/index.js":[27840,7,4,8592,7840],"./be/_lib/formatDistance/index.js":[9006,7,8592],"./be/_lib/formatLong/index.js":[58343,7,8592,193],"./be/_lib/formatRelative/index.js":[20369,7,4,8592],"./be/_lib/localize/index.js":[30768,7,8592,36],"./be/_lib/match/index.js":[35637,7,8592,7910],"./be/index.js":[94646,7,4,8592,4646],"./bg/_lib/formatDistance/index.js":[54037,7,8592],"./bg/_lib/formatLong/index.js":[44221,7,8592,8416],"./bg/_lib/formatRelative/index.js":[24925,7,8592,9491],"./bg/_lib/localize/index.js":[60958,7,8592,7265],"./bg/_lib/match/index.js":[99124,7,8592,4480],"./bg/index.js":[90948,7,8592,6516],"./bn/_lib/formatDistance/index.js":[5190,7,8592,9310],"./bn/_lib/formatLong/index.js":[10846,7,8592,6590],"./bn/_lib/formatRelative/index.js":[90009,7,8592],"./bn/_lib/localize/index.js":[32143,9,8592,6288],"./bn/_lib/match/index.js":[71701,7,8592,9531],"./bn/index.js":[76982,7,8592,1832],"./bs/_lib/formatDistance/index.js":[3504,7,8592],"./bs/_lib/formatLong/index.js":[47625,7,8592,8960],"./bs/_lib/formatRelative/index.js":[69642,7,8592],"./bs/_lib/localize/index.js":[19781,7,8592,5350],"./bs/_lib/match/index.js":[98469,7,8592,7403],"./bs/index.js":[21670,7,8592,6919],"./ca/_lib/formatDistance/index.js":[78470,7,8592],"./ca/_lib/formatLong/index.js":[37682,7,8592,1927],"./ca/_lib/formatRelative/index.js":[73019,7,8592],"./ca/_lib/localize/index.js":[94354,7,8592,6716],"./ca/_lib/match/index.js":[87821,7,8592,4111],"./ca/index.js":[59800,7,8592,2376],"./cs/_lib/formatDistance/index.js":[84712,7,8592],"./cs/_lib/formatLong/index.js":[25366,7,8592,3353],"./cs/_lib/formatRelative/index.js":[30404,7,8592],"./cs/_lib/localize/index.js":[1944,7,8592,7884],"./cs/_lib/match/index.js":[8302,7,8592,4925],"./cs/index.js":[27463,7,8592,9494],"./cy/_lib/formatDistance/index.js":[53860,7,8592],"./cy/_lib/formatLong/index.js":[5355,7,8592,6718],"./cy/_lib/formatRelative/index.js":[11612,7,8592],"./cy/_lib/localize/index.js":[79008,7,8592,6502],"./cy/_lib/match/index.js":[69946,7,8592,9797],"./cy/index.js":[87955,7,8592,7039],"./da/_lib/formatDistance/index.js":[32439,7,8592],"./da/_lib/formatLong/index.js":[40114,7,8592,8688],"./da/_lib/formatRelative/index.js":[33452,7,8592],"./da/_lib/localize/index.js":[22653,7,8592,2710],"./da/_lib/match/index.js":[1416,7,8592,7195],"./da/index.js":[11295,7,8592,2630],"./de-AT/_lib/localize/index.js":[44821,7,8592,8300],"./de-AT/index.js":[21782,7,8592,243],"./de/_lib/formatDistance/index.js":[98815,7,8592],"./de/_lib/formatLong/index.js":[47173,7,8592,4801],"./de/_lib/formatRelative/index.js":[5278,7,8592],"./de/_lib/localize/index.js":[54552,7,8592,6131],"./de/_lib/match/index.js":[31871,7,8592,5131],"./de/index.js":[94086,7,8592,9616],"./el/_lib/formatDistance/index.js":[39298,7,8592],"./el/_lib/formatLong/index.js":[94460,7,8592,2027],"./el/_lib/formatRelative/index.js":[72435,7,8592],"./el/_lib/localize/index.js":[674,7,8592,7538],"./el/_lib/match/index.js":[40588,7,8592,2187],"./el/index.js":[26106,7,8592,5382],"./en-AU/_lib/formatLong/index.js":[65493,7,8592,6237],"./en-AU/index.js":[87747,7,8592,1128],"./en-CA/_lib/formatDistance/index.js":[80780,7,8592],"./en-CA/_lib/formatLong/index.js":[26153,7,8592,7747],"./en-CA/index.js":[21413,7,8592,7555],"./en-GB/_lib/formatLong/index.js":[33819,7,8592,4547],"./en-GB/index.js":[33035,7,8592,1228],"./en-IE/index.js":[61959,7,8592,463],"./en-IN/_lib/formatLong/index.js":[20862,7,8592,3191],"./en-IN/index.js":[82873,7,8592,8757],"./en-NZ/_lib/formatLong/index.js":[36336,7,8592,3197],"./en-NZ/index.js":[26041,7,8592,5966],"./en-US/_lib/formatDistance/index.js":[39563,7,9563],"./en-US/_lib/formatLong/index.js":[66929,7,6929],"./en-US/_lib/formatRelative/index.js":[21656,7,1656],"./en-US/_lib/localize/index.js":[31098,7,9350],"./en-US/_lib/match/index.js":[53239,7,3239],"./en-US/index.js":[33338,7,3338],"./en-ZA/_lib/formatLong/index.js":[9221,7,8592,6951],"./en-ZA/index.js":[11543,7,8592,4093],"./eo/_lib/formatDistance/index.js":[43549,7,8592],"./eo/_lib/formatLong/index.js":[25567,7,8592,8118],"./eo/_lib/formatRelative/index.js":[30410,7,8592],"./eo/_lib/localize/index.js":[27249,7,8592,1634],"./eo/_lib/match/index.js":[75687,7,8592,8199],"./eo/index.js":[63574,7,8592,1411],"./es/_lib/formatDistance/index.js":[66660,7,8592],"./es/_lib/formatLong/index.js":[39055,7,8592,8248],"./es/_lib/formatRelative/index.js":[63774,7,8592],"./es/_lib/localize/index.js":[38835,7,8592,7568],"./es/_lib/match/index.js":[38662,7,8592,6331],"./es/index.js":[23413,7,8592,7412],"./et/_lib/formatDistance/index.js":[64334,7,8592],"./et/_lib/formatLong/index.js":[32045,7,8592,7372],"./et/_lib/formatRelative/index.js":[47074,7,8592],"./et/_lib/localize/index.js":[42462,7,8592,6778],"./et/_lib/match/index.js":[85999,7,8592,7670],"./et/index.js":[65861,7,8592,8138],"./eu/_lib/formatDistance/index.js":[91793,7,8592],"./eu/_lib/formatLong/index.js":[17350,7,8592,2069],"./eu/_lib/formatRelative/index.js":[25688,7,8592],"./eu/_lib/localize/index.js":[28061,7,8592,8759],"./eu/_lib/match/index.js":[11113,7,8592,7462],"./eu/index.js":[29618,7,8592,7969],"./fa-IR/_lib/formatDistance/index.js":[76726,7,8592],"./fa-IR/_lib/formatLong/index.js":[10749,7,8592,7612],"./fa-IR/_lib/formatRelative/index.js":[7220,7,8592],"./fa-IR/_lib/localize/index.js":[72441,7,8592,9371],"./fa-IR/_lib/match/index.js":[81488,7,8592,7743],"./fa-IR/index.js":[84996,7,8592,5974],"./fi/_lib/formatDistance/index.js":[97929,7,8592],"./fi/_lib/formatLong/index.js":[63741,7,8592,694],"./fi/_lib/formatRelative/index.js":[23234,7,8592],"./fi/_lib/localize/index.js":[5936,7,8592,1090],"./fi/_lib/match/index.js":[157,7,8592,5464],"./fi/index.js":[3596,7,8592,4420],"./fr-CA/_lib/formatLong/index.js":[85947,7,8592,4367],"./fr-CA/index.js":[73723,7,8592,1688],"./fr-CH/_lib/formatLong/index.js":[27414,7,8592,3603],"./fr-CH/_lib/formatRelative/index.js":[66155,7,8592],"./fr-CH/index.js":[24565,7,8592,4087],"./fr/_lib/formatDistance/index.js":[26839,7,8592],"./fr/_lib/formatLong/index.js":[32554,7,8592,7586],"./fr/_lib/formatRelative/index.js":[15328,7,8592],"./fr/_lib/localize/index.js":[29821,7,8592,6409],"./fr/_lib/match/index.js":[57047,7,8592,7405],"./fr/index.js":[34153,7,8592,5146],"./fy/_lib/formatDistance/index.js":[60373,7,8592],"./fy/_lib/formatLong/index.js":[97771,7,8592,7654],"./fy/_lib/formatRelative/index.js":[33851,7,8592],"./fy/_lib/localize/index.js":[86993,7,8592,6579],"./fy/_lib/match/index.js":[48603,7,8592,5284],"./fy/index.js":[73434,7,8592,7176],"./gd/_lib/formatDistance/index.js":[45690,7,8592],"./gd/_lib/formatLong/index.js":[2660,7,8592,2e3],"./gd/_lib/formatRelative/index.js":[30700,7,8592],"./gd/_lib/localize/index.js":[40751,7,8592,8987],"./gd/_lib/match/index.js":[40421,7,8592,8809],"./gd/index.js":[48569,7,8592,296],"./gl/_lib/formatDistance/index.js":[35871,7,8592],"./gl/_lib/formatLong/index.js":[30449,7,8592,359],"./gl/_lib/formatRelative/index.js":[95563,7,8592],"./gl/_lib/localize/index.js":[61905,7,8592,594],"./gl/_lib/match/index.js":[33150,7,8592,5012],"./gl/index.js":[96508,7,8592,4612],"./gu/_lib/formatDistance/index.js":[88210,7,8592],"./gu/_lib/formatLong/index.js":[63333,7,8592,7308],"./gu/_lib/formatRelative/index.js":[89348,7,8592],"./gu/_lib/localize/index.js":[50143,7,8592,6108],"./gu/_lib/match/index.js":[50932,7,8592,7091],"./gu/index.js":[75732,7,8592,6971],"./he/_lib/formatDistance/index.js":[42191,7,8592],"./he/_lib/formatLong/index.js":[13925,7,8592,7992],"./he/_lib/formatRelative/index.js":[11481,7,8592],"./he/_lib/localize/index.js":[19661,7,8592,5989],"./he/_lib/match/index.js":[41291,7,8592,5362],"./he/index.js":[86517,7,8592,340],"./hi/_lib/formatDistance/index.js":[52573,7,8592,9170],"./hi/_lib/formatLong/index.js":[30535,7,8592,9664],"./hi/_lib/formatRelative/index.js":[65379,7,8592],"./hi/_lib/localize/index.js":[35423,9,8592,383],"./hi/_lib/match/index.js":[78198,7,8592,652],"./hi/index.js":[29562,7,8592,2592],"./hr/_lib/formatDistance/index.js":[7652,7,8592],"./hr/_lib/formatLong/index.js":[29577,7,8592,6290],"./hr/_lib/formatRelative/index.js":[27603,7,8592],"./hr/_lib/localize/index.js":[12512,7,8592,5734],"./hr/_lib/match/index.js":[83880,7,8592,8808],"./hr/index.js":[41499,7,8592,9108],"./ht/_lib/formatDistance/index.js":[17743,7,8592],"./ht/_lib/formatLong/index.js":[50596,7,8592,1669],"./ht/_lib/formatRelative/index.js":[66473,7,8592],"./ht/_lib/localize/index.js":[98942,7,8592,5217],"./ht/_lib/match/index.js":[18649,7,8592,4042],"./ht/index.js":[91792,7,8592,6132],"./hu/_lib/formatDistance/index.js":[74406,7,8592],"./hu/_lib/formatLong/index.js":[53971,7,8592,7275],"./hu/_lib/formatRelative/index.js":[48580,7,8592],"./hu/_lib/localize/index.js":[6998,7,8592,8730],"./hu/_lib/match/index.js":[69897,7,8592,4330],"./hu/index.js":[85980,7,8592,7955],"./hy/_lib/formatDistance/index.js":[50897,7,8592],"./hy/_lib/formatLong/index.js":[11837,7,8592,1408],"./hy/_lib/formatRelative/index.js":[3543,7,8592],"./hy/_lib/localize/index.js":[90151,7,8592,81],"./hy/_lib/match/index.js":[97177,7,8592,4931],"./hy/index.js":[83268,7,8592,5803],"./id/_lib/formatDistance/index.js":[70846,7,8592],"./id/_lib/formatLong/index.js":[53405,7,8592,7106],"./id/_lib/formatRelative/index.js":[97180,7,8592],"./id/_lib/localize/index.js":[35645,7,8592,4320],"./id/_lib/match/index.js":[87601,7,8592,3434],"./id/index.js":[90146,7,8592,3963],"./is/_lib/formatDistance/index.js":[2370,7,8592],"./is/_lib/formatLong/index.js":[74096,7,8592,1427],"./is/_lib/formatRelative/index.js":[42141,7,8592],"./is/_lib/localize/index.js":[12161,7,8592,5221],"./is/_lib/match/index.js":[20798,7,8592,4321],"./is/index.js":[84111,7,8592,5121],"./it-CH/_lib/formatLong/index.js":[31519,7,8592,6685],"./it-CH/index.js":[87736,7,8592,2324],"./it/_lib/formatDistance/index.js":[40358,7,8592],"./it/_lib/formatLong/index.js":[29588,7,8592,7173],"./it/_lib/formatRelative/index.js":[91403,7,8592,5096],"./it/_lib/localize/index.js":[62007,7,8592,5232],"./it/_lib/match/index.js":[94070,7,8592,4604],"./it/index.js":[93722,7,8592,6815],"./ja-Hira/_lib/formatDistance/index.js":[84703,7,8592],"./ja-Hira/_lib/formatLong/index.js":[56574,7,8592,7336],"./ja-Hira/_lib/formatRelative/index.js":[93381,7,8592],"./ja-Hira/_lib/localize/index.js":[35710,7,8592,3665],"./ja-Hira/_lib/match/index.js":[69417,7,8592,3148],"./ja-Hira/index.js":[12944,7,8592,1464],"./ja/_lib/formatDistance/index.js":[68018,7,8592],"./ja/_lib/formatLong/index.js":[45602,7,8592,1264],"./ja/_lib/formatRelative/index.js":[65297,7,8592],"./ja/_lib/localize/index.js":[77420,7,8592,800],"./ja/_lib/match/index.js":[83926,7,8592,4403],"./ja/index.js":[89251,7,8592,6422],"./ka/_lib/formatDistance/index.js":[39442,7,8592],"./ka/_lib/formatLong/index.js":[960,7,8592,6634],"./ka/_lib/formatRelative/index.js":[18861,7,8592],"./ka/_lib/localize/index.js":[85798,7,8592,599],"./ka/_lib/match/index.js":[55077,7,8592,3545],"./ka/index.js":[34010,7,8592,1289],"./kk/_lib/formatDistance/index.js":[44502,7,8592],"./kk/_lib/formatLong/index.js":[79591,7,8592,1473],"./kk/_lib/formatRelative/index.js":[80876,7,8592,1098],"./kk/_lib/localize/index.js":[16163,7,8592,9023],"./kk/_lib/match/index.js":[11079,7,8592,1038],"./kk/index.js":[61615,7,8592,9444],"./km/_lib/formatDistance/index.js":[69355,7,8592],"./km/_lib/formatLong/index.js":[64335,7,8592,5713],"./km/_lib/formatRelative/index.js":[68462,7,8592],"./km/_lib/localize/index.js":[32885,7,8592,5727],"./km/_lib/match/index.js":[49242,7,8592,3286],"./km/index.js":[98510,7,8592,2044],"./kn/_lib/formatDistance/index.js":[93557,7,8592],"./kn/_lib/formatLong/index.js":[19335,7,8592,2367],"./kn/_lib/formatRelative/index.js":[19080,7,8592],"./kn/_lib/localize/index.js":[83848,7,8592,61],"./kn/_lib/match/index.js":[36809,7,8592,4054],"./kn/index.js":[99517,7,8592,1417],"./ko/_lib/formatDistance/index.js":[21540,7,8592],"./ko/_lib/formatLong/index.js":[47237,7,8592,5780],"./ko/_lib/formatRelative/index.js":[91078,7,8592],"./ko/_lib/localize/index.js":[89409,7,8592,1075],"./ko/_lib/match/index.js":[38567,7,8592,9545],"./ko/index.js":[15058,7,8592,404],"./lb/_lib/formatDistance/index.js":[81904,7,8592],"./lb/_lib/formatLong/index.js":[53103,7,8592,5735],"./lb/_lib/formatRelative/index.js":[64861,7,8592],"./lb/_lib/localize/index.js":[13317,7,8592,8947],"./lb/_lib/match/index.js":[72652,7,8592,6123],"./lb/index.js":[61953,7,8592,9937],"./lt/_lib/formatDistance/index.js":[55348,7,8592],"./lt/_lib/formatLong/index.js":[18290,7,8592,5214],"./lt/_lib/formatRelative/index.js":[53257,7,8592],"./lt/_lib/localize/index.js":[62395,7,8592,6006],"./lt/_lib/match/index.js":[5825,7,8592,8766],"./lt/index.js":[35901,7,8592,1422],"./lv/_lib/formatDistance/index.js":[28910,7,8592],"./lv/_lib/formatLong/index.js":[86421,7,8592,2624],"./lv/_lib/formatRelative/index.js":[60151,7,8592,3746],"./lv/_lib/localize/index.js":[44960,7,8592,406],"./lv/_lib/match/index.js":[4876,7,8592,4139],"./lv/index.js":[82008,7,8592,2537],"./mk/_lib/formatDistance/index.js":[38992,7,8592],"./mk/_lib/formatLong/index.js":[7479,7,8592,6156],"./mk/_lib/formatRelative/index.js":[41655,7,8592,903],"./mk/_lib/localize/index.js":[23458,7,8592,4893],"./mk/_lib/match/index.js":[82975,7,8592,9858],"./mk/index.js":[21880,7,8592,2683],"./mn/_lib/formatDistance/index.js":[61341,7,8592],"./mn/_lib/formatLong/index.js":[19732,7,8592,5992],"./mn/_lib/formatRelative/index.js":[98225,7,8592],"./mn/_lib/localize/index.js":[89576,7,8592,4261],"./mn/_lib/match/index.js":[33306,7,8592,5055],"./mn/index.js":[31937,7,8592,4446],"./ms/_lib/formatDistance/index.js":[97808,7,8592],"./ms/_lib/formatLong/index.js":[61962,7,8592,6623],"./ms/_lib/formatRelative/index.js":[68530,7,8592],"./ms/_lib/localize/index.js":[13241,7,8592,3368],"./ms/_lib/match/index.js":[67079,7,8592,9302],"./ms/index.js":[25098,7,8592,5705],"./mt/_lib/formatDistance/index.js":[14611,7,8592],"./mt/_lib/formatLong/index.js":[65011,7,8592,1161],"./mt/_lib/formatRelative/index.js":[44521,7,8592],"./mt/_lib/localize/index.js":[69408,7,8592,6433],"./mt/_lib/match/index.js":[29726,7,8592,4216],"./mt/index.js":[12811,7,8592,1911],"./nb/_lib/formatDistance/index.js":[59968,7,8592],"./nb/_lib/formatLong/index.js":[20511,7,8592,5168],"./nb/_lib/formatRelative/index.js":[11639,7,8592],"./nb/_lib/localize/index.js":[94249,7,8592,4378],"./nb/_lib/match/index.js":[63498,7,8592,9691],"./nb/index.js":[61295,7,8592,2392],"./nl-BE/_lib/formatDistance/index.js":[16129,7,8592],"./nl-BE/_lib/formatLong/index.js":[17657,7,8592,3039],"./nl-BE/_lib/formatRelative/index.js":[89811,7,8592],"./nl-BE/_lib/localize/index.js":[58816,7,8592,1681],"./nl-BE/_lib/match/index.js":[28333,7,8592,2237],"./nl-BE/index.js":[70296,7,8592,4862],"./nl/_lib/formatDistance/index.js":[57117,7,8592],"./nl/_lib/formatLong/index.js":[57197,7,8592,2377],"./nl/_lib/formatRelative/index.js":[62818,7,8592],"./nl/_lib/localize/index.js":[67706,7,8592,3283],"./nl/_lib/match/index.js":[61430,7,8592,9229],"./nl/index.js":[80775,7,8592,9354],"./nn/_lib/formatDistance/index.js":[4563,7,8592],"./nn/_lib/formatLong/index.js":[89212,7,8592,169],"./nn/_lib/formatRelative/index.js":[2565,7,8592],"./nn/_lib/localize/index.js":[28456,7,8592,4340],"./nn/_lib/match/index.js":[51571,7,8592,9185],"./nn/index.js":[34632,7,8592,7506],"./oc/_lib/formatDistance/index.js":[16585,7,8592],"./oc/_lib/formatLong/index.js":[96725,7,8592,415],"./oc/_lib/formatRelative/index.js":[7548,7,8592],"./oc/_lib/localize/index.js":[93417,7,8592,5746],"./oc/_lib/match/index.js":[18145,7,8592,7829],"./oc/index.js":[68311,7,8592,7250],"./pl/_lib/formatDistance/index.js":[62056,7,8592],"./pl/_lib/formatLong/index.js":[47448,7,8592,5539],"./pl/_lib/formatRelative/index.js":[65991,7,8592,6160],"./pl/_lib/localize/index.js":[4306,7,8592,3498],"./pl/_lib/match/index.js":[76075,7,8592,7768],"./pl/index.js":[8554,7,8592,9134],"./pt-BR/_lib/formatDistance/index.js":[52638,7,8592],"./pt-BR/_lib/formatLong/index.js":[33247,7,8592,4753],"./pt-BR/_lib/formatRelative/index.js":[25492,7,8592],"./pt-BR/_lib/localize/index.js":[81046,7,8592,2258],"./pt-BR/_lib/match/index.js":[63770,7,8592,9792],"./pt-BR/index.js":[47569,7,8592,1100],"./pt/_lib/formatDistance/index.js":[55488,7,8592],"./pt/_lib/formatLong/index.js":[5133,7,8592,2741],"./pt/_lib/formatRelative/index.js":[7493,7,8592],"./pt/_lib/localize/index.js":[58360,7,8592,3713],"./pt/_lib/match/index.js":[37200,7,8592,7033],"./pt/index.js":[24239,7,8592,3530],"./ro/_lib/formatDistance/index.js":[18199,7,8592],"./ro/_lib/formatLong/index.js":[84311,7,8592,173],"./ro/_lib/formatRelative/index.js":[97974,7,8592],"./ro/_lib/localize/index.js":[64729,7,8592,470],"./ro/_lib/match/index.js":[9202,7,8592,9975],"./ro/index.js":[51055,7,8592,5563],"./ru/_lib/formatDistance/index.js":[90650,7,8592],"./ru/_lib/formatLong/index.js":[12580,7,8592,9390],"./ru/_lib/formatRelative/index.js":[15994,7,8592,1338],"./ru/_lib/localize/index.js":[66943,7,8592,6325],"./ru/_lib/match/index.js":[86374,7,8592,7339],"./ru/index.js":[27413,7,8592,9896],"./sk/_lib/formatDistance/index.js":[32882,7,8592],"./sk/_lib/formatLong/index.js":[95087,7,8592,6050],"./sk/_lib/formatRelative/index.js":[35507,7,8592,3951],"./sk/_lib/localize/index.js":[37369,7,8592,3264],"./sk/_lib/match/index.js":[74329,7,8592,9460],"./sk/index.js":[17065,7,8592,5064],"./sl/_lib/formatDistance/index.js":[57613,7,8592],"./sl/_lib/formatLong/index.js":[66302,7,8592,2857],"./sl/_lib/formatRelative/index.js":[92131,7,8592],"./sl/_lib/localize/index.js":[2942,7,8592,6363],"./sl/_lib/match/index.js":[36326,7,8592,7341],"./sl/index.js":[62166,7,8592,2157],"./sq/_lib/formatDistance/index.js":[82569,7,8592],"./sq/_lib/formatLong/index.js":[32784,7,8592,314],"./sq/_lib/formatRelative/index.js":[44390,7,8592],"./sq/_lib/localize/index.js":[26425,7,8592,9930],"./sq/_lib/match/index.js":[72140,7,8592,1445],"./sq/index.js":[70797,7,8592,8556],"./sr-Latn/_lib/formatDistance/index.js":[69014,7,8592],"./sr-Latn/_lib/formatLong/index.js":[99257,7,8592,275],"./sr-Latn/_lib/formatRelative/index.js":[42428,7,8592],"./sr-Latn/_lib/localize/index.js":[92773,7,8592,7136],"./sr-Latn/_lib/match/index.js":[7766,7,8592,3177],"./sr-Latn/index.js":[99064,7,8592,2152],"./sr/_lib/formatDistance/index.js":[55503,7,8592],"./sr/_lib/formatLong/index.js":[13465,7,8592,232],"./sr/_lib/formatRelative/index.js":[25743,7,8592],"./sr/_lib/localize/index.js":[30172,7,8592,5864],"./sr/_lib/match/index.js":[81613,7,8592,7316],"./sr/index.js":[15930,7,8592,5831],"./sv/_lib/formatDistance/index.js":[81387,7,8592],"./sv/_lib/formatLong/index.js":[20660,7,8592,5204],"./sv/_lib/formatRelative/index.js":[43502,7,8592],"./sv/_lib/localize/index.js":[32384,7,8592,4345],"./sv/_lib/match/index.js":[69940,7,8592,7105],"./sv/index.js":[81413,7,8592,5396],"./ta/_lib/formatDistance/index.js":[66840,7,8592],"./ta/_lib/formatLong/index.js":[49391,7,8592,5892],"./ta/_lib/formatRelative/index.js":[99284,7,8592],"./ta/_lib/localize/index.js":[61290,7,8592,6239],"./ta/_lib/match/index.js":[33749,7,8592,4720],"./ta/index.js":[21486,7,8592,7983],"./te/_lib/formatDistance/index.js":[38,7,8592],"./te/_lib/formatLong/index.js":[34703,7,8592,4094],"./te/_lib/formatRelative/index.js":[46611,7,8592],"./te/_lib/localize/index.js":[86184,7,8592,118],"./te/_lib/match/index.js":[17208,7,8592,7193],"./te/index.js":[52492,7,8592,7183],"./th/_lib/formatDistance/index.js":[32939,7,8592],"./th/_lib/formatLong/index.js":[96146,7,8592,8475],"./th/_lib/formatRelative/index.js":[97294,7,8592],"./th/_lib/localize/index.js":[44204,7,8592,6203],"./th/_lib/match/index.js":[59829,7,8592,2626],"./th/index.js":[74785,7,8592,4008],"./tr/_lib/formatDistance/index.js":[77216,7,8592],"./tr/_lib/formatLong/index.js":[68379,7,8592,5102],"./tr/_lib/formatRelative/index.js":[93999,7,8592],"./tr/_lib/localize/index.js":[8830,7,8592,7157],"./tr/_lib/match/index.js":[58828,7,8592,3128],"./tr/index.js":[63131,7,8592,8302],"./ug/_lib/formatDistance/index.js":[69442,7,8592],"./ug/_lib/formatLong/index.js":[36922,7,8592,5002],"./ug/_lib/formatRelative/index.js":[20290,7,8592],"./ug/_lib/localize/index.js":[82490,7,8592,6604],"./ug/_lib/match/index.js":[85282,7,8592,8004],"./ug/index.js":[60182,7,8592,6934],"./uk/_lib/formatDistance/index.js":[10017,7,8592],"./uk/_lib/formatLong/index.js":[26136,7,8592,8806],"./uk/_lib/formatRelative/index.js":[88271,7,4,8592],"./uk/_lib/localize/index.js":[10954,7,8592,1193],"./uk/_lib/match/index.js":[71680,7,8592,6954],"./uk/index.js":[12509,7,4,8592,2509],"./uz-Cyrl/_lib/formatDistance/index.js":[67778,7,8592],"./uz-Cyrl/_lib/formatLong/index.js":[64095,7,8592,160],"./uz-Cyrl/_lib/formatRelative/index.js":[83734,7,8592],"./uz-Cyrl/_lib/localize/index.js":[17670,7,8592,2654],"./uz-Cyrl/_lib/match/index.js":[75798,7,8592,1360],"./uz-Cyrl/index.js":[14527,7,8592,8932],"./uz/_lib/formatDistance/index.js":[27197,7,8592],"./uz/_lib/formatLong/index.js":[27810,7,8592,4328],"./uz/_lib/formatRelative/index.js":[22175,7,8592],"./uz/_lib/localize/index.js":[6881,7,8592,6425],"./uz/_lib/match/index.js":[19263,7,8592,2880],"./uz/index.js":[44203,7,8592,6896],"./vi/_lib/formatDistance/index.js":[61664,7,8592],"./vi/_lib/formatLong/index.js":[42296,7,8592,3405],"./vi/_lib/formatRelative/index.js":[55191,7,8592],"./vi/_lib/localize/index.js":[67431,7,8592,5843],"./vi/_lib/match/index.js":[98442,7,8592,3319],"./vi/index.js":[48875,7,8592,6677],"./zh-CN/_lib/formatDistance/index.js":[33437,7,8592],"./zh-CN/_lib/formatLong/index.js":[91583,7,8592,485],"./zh-CN/_lib/formatRelative/index.js":[95629,7,8592,5441],"./zh-CN/_lib/localize/index.js":[17939,7,8592,9169],"./zh-CN/_lib/match/index.js":[71362,7,8592,7103],"./zh-CN/index.js":[86335,7,8592,8664],"./zh-HK/_lib/formatDistance/index.js":[37348,7,8592],"./zh-HK/_lib/formatLong/index.js":[60924,7,8592,3215],"./zh-HK/_lib/formatRelative/index.js":[22164,7,8592],"./zh-HK/_lib/localize/index.js":[39264,7,8592,1780],"./zh-HK/_lib/match/index.js":[50358,7,8592,5641],"./zh-HK/index.js":[59277,7,8592,2336],"./zh-TW/_lib/formatDistance/index.js":[31613,7,8592],"./zh-TW/_lib/formatLong/index.js":[1239,7,8592,248],"./zh-TW/_lib/formatRelative/index.js":[13240,7,8592],"./zh-TW/_lib/localize/index.js":[29850,7,8592,9886],"./zh-TW/_lib/match/index.js":[38819,7,8592,8041],"./zh-TW/index.js":[74565,7,8592,8978]};function Yt(Be){if(!Pn.o(ut,Be))return Promise.resolve().then(()=>{var Zt=new Error("Cannot find module '"+Be+"'");throw Zt.code="MODULE_NOT_FOUND",Zt});var Ct=ut[Be],ii=Ct[0];return Promise.all(Ct.slice(2).map(Pn.e)).then(()=>Pn.t(ii,16|Ct[1]))}Yt.keys=()=>Object.keys(ut),Yt.id=71213,Ci.exports=Yt}},Ci=>{Ci(Ci.s=65790)}]); \ No newline at end of file diff --git a/dotCMS/src/main/webapp/html/css/binary-field.css b/dotCMS/src/main/webapp/html/css/binary-field.css index e68717c8bbf0..c7fd6994b5f2 100644 --- a/dotCMS/src/main/webapp/html/css/binary-field.css +++ b/dotCMS/src/main/webapp/html/css/binary-field.css @@ -1 +1 @@ -@font-face{font-family:primeicons;font-display:block;src:url(primeicons.eot);src:url(primeicons.eot?#iefix) format("embedded-opentype"),url(primeicons.woff2) format("woff2"),url(primeicons.woff) format("woff"),url(primeicons.ttf) format("truetype"),url(primeicons.svg?#primeicons) format("svg");font-weight:400;font-style:normal}.pi{font-family:primeicons;speak:none;font-style:normal;font-weight:400;font-variant:normal;text-transform:none;line-height:1;display:inline-block;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.pi:before{--webkit-backface-visibility:hidden;-webkit-backface-visibility:hidden;backface-visibility:hidden}.pi-fw{width:1.28571429em;text-align:center}.pi-spin{animation:fa-spin 2s infinite linear}@keyframes fa-spin{0%{transform:rotate(0)}to{transform:rotate(359deg)}}.pi-eraser:before{content:"\ea04"}.pi-stopwatch:before{content:"\ea01"}.pi-verified:before{content:"\ea02"}.pi-delete-left:before{content:"\ea03"}.pi-hourglass:before{content:"\e9fe"}.pi-truck:before{content:"\ea00"}.pi-wrench:before{content:"\e9ff"}.pi-microphone:before{content:"\e9fa"}.pi-megaphone:before{content:"\e9fb"}.pi-arrow-right-arrow-left:before{content:"\e9fc"}.pi-bitcoin:before{content:"\e9fd"}.pi-file-edit:before{content:"\e9f6"}.pi-language:before{content:"\e9f7"}.pi-file-export:before{content:"\e9f8"}.pi-file-import:before{content:"\e9f9"}.pi-file-word:before{content:"\e9f1"}.pi-gift:before{content:"\e9f2"}.pi-cart-plus:before{content:"\e9f3"}.pi-thumbs-down-fill:before{content:"\e9f4"}.pi-thumbs-up-fill:before{content:"\e9f5"}.pi-arrows-alt:before{content:"\e9f0"}.pi-calculator:before{content:"\e9ef"}.pi-sort-alt-slash:before{content:"\e9ee"}.pi-arrows-h:before{content:"\e9ec"}.pi-arrows-v:before{content:"\e9ed"}.pi-pound:before{content:"\e9eb"}.pi-prime:before{content:"\e9ea"}.pi-chart-pie:before{content:"\e9e9"}.pi-reddit:before{content:"\e9e8"}.pi-code:before{content:"\e9e7"}.pi-sync:before{content:"\e9e6"}.pi-shopping-bag:before{content:"\e9e5"}.pi-server:before{content:"\e9e4"}.pi-database:before{content:"\e9e3"}.pi-hashtag:before{content:"\e9e2"}.pi-bookmark-fill:before{content:"\e9df"}.pi-filter-fill:before{content:"\e9e0"}.pi-heart-fill:before{content:"\e9e1"}.pi-flag-fill:before{content:"\e9de"}.pi-circle:before{content:"\e9dc"}.pi-circle-fill:before{content:"\e9dd"}.pi-bolt:before{content:"\e9db"}.pi-history:before{content:"\e9da"}.pi-box:before{content:"\e9d9"}.pi-at:before{content:"\e9d8"}.pi-arrow-up-right:before{content:"\e9d4"}.pi-arrow-up-left:before{content:"\e9d5"}.pi-arrow-down-left:before{content:"\e9d6"}.pi-arrow-down-right:before{content:"\e9d7"}.pi-telegram:before{content:"\e9d3"}.pi-stop-circle:before{content:"\e9d2"}.pi-stop:before{content:"\e9d1"}.pi-whatsapp:before{content:"\e9d0"}.pi-building:before{content:"\e9cf"}.pi-qrcode:before{content:"\e9ce"}.pi-car:before{content:"\e9cd"}.pi-instagram:before{content:"\e9cc"}.pi-linkedin:before{content:"\e9cb"}.pi-send:before{content:"\e9ca"}.pi-slack:before{content:"\e9c9"}.pi-sun:before{content:"\e9c8"}.pi-moon:before{content:"\e9c7"}.pi-vimeo:before{content:"\e9c6"}.pi-youtube:before{content:"\e9c5"}.pi-flag:before{content:"\e9c4"}.pi-wallet:before{content:"\e9c3"}.pi-map:before{content:"\e9c2"}.pi-link:before{content:"\e9c1"}.pi-credit-card:before{content:"\e9bf"}.pi-discord:before{content:"\e9c0"}.pi-percentage:before{content:"\e9be"}.pi-euro:before{content:"\e9bd"}.pi-book:before{content:"\e9ba"}.pi-shield:before{content:"\e9b9"}.pi-paypal:before{content:"\e9bb"}.pi-amazon:before{content:"\e9bc"}.pi-phone:before{content:"\e9b8"}.pi-filter-slash:before{content:"\e9b7"}.pi-facebook:before{content:"\e9b4"}.pi-github:before{content:"\e9b5"}.pi-twitter:before{content:"\e9b6"}.pi-step-backward-alt:before{content:"\e9ac"}.pi-step-forward-alt:before{content:"\e9ad"}.pi-forward:before{content:"\e9ae"}.pi-backward:before{content:"\e9af"}.pi-fast-backward:before{content:"\e9b0"}.pi-fast-forward:before{content:"\e9b1"}.pi-pause:before{content:"\e9b2"}.pi-play:before{content:"\e9b3"}.pi-compass:before{content:"\e9ab"}.pi-id-card:before{content:"\e9aa"}.pi-ticket:before{content:"\e9a9"}.pi-file-o:before{content:"\e9a8"}.pi-reply:before{content:"\e9a7"}.pi-directions-alt:before{content:"\e9a5"}.pi-directions:before{content:"\e9a6"}.pi-thumbs-up:before{content:"\e9a3"}.pi-thumbs-down:before{content:"\e9a4"}.pi-sort-numeric-down-alt:before{content:"\e996"}.pi-sort-numeric-up-alt:before{content:"\e997"}.pi-sort-alpha-down-alt:before{content:"\e998"}.pi-sort-alpha-up-alt:before{content:"\e999"}.pi-sort-numeric-down:before{content:"\e99a"}.pi-sort-numeric-up:before{content:"\e99b"}.pi-sort-alpha-down:before{content:"\e99c"}.pi-sort-alpha-up:before{content:"\e99d"}.pi-sort-alt:before{content:"\e99e"}.pi-sort-amount-up:before{content:"\e99f"}.pi-sort-amount-down:before{content:"\e9a0"}.pi-sort-amount-down-alt:before{content:"\e9a1"}.pi-sort-amount-up-alt:before{content:"\e9a2"}.pi-palette:before{content:"\e995"}.pi-undo:before{content:"\e994"}.pi-desktop:before{content:"\e993"}.pi-sliders-v:before{content:"\e991"}.pi-sliders-h:before{content:"\e992"}.pi-search-plus:before{content:"\e98f"}.pi-search-minus:before{content:"\e990"}.pi-file-excel:before{content:"\e98e"}.pi-file-pdf:before{content:"\e98d"}.pi-check-square:before{content:"\e98c"}.pi-chart-line:before{content:"\e98b"}.pi-user-edit:before{content:"\e98a"}.pi-exclamation-circle:before{content:"\e989"}.pi-android:before{content:"\e985"}.pi-google:before{content:"\e986"}.pi-apple:before{content:"\e987"}.pi-microsoft:before{content:"\e988"}.pi-heart:before{content:"\e984"}.pi-mobile:before{content:"\e982"}.pi-tablet:before{content:"\e983"}.pi-key:before{content:"\e981"}.pi-shopping-cart:before{content:"\e980"}.pi-comments:before{content:"\e97e"}.pi-comment:before{content:"\e97f"}.pi-briefcase:before{content:"\e97d"}.pi-bell:before{content:"\e97c"}.pi-paperclip:before{content:"\e97b"}.pi-share-alt:before{content:"\e97a"}.pi-envelope:before{content:"\e979"}.pi-volume-down:before{content:"\e976"}.pi-volume-up:before{content:"\e977"}.pi-volume-off:before{content:"\e978"}.pi-eject:before{content:"\e975"}.pi-money-bill:before{content:"\e974"}.pi-images:before{content:"\e973"}.pi-image:before{content:"\e972"}.pi-sign-in:before{content:"\e970"}.pi-sign-out:before{content:"\e971"}.pi-wifi:before{content:"\e96f"}.pi-sitemap:before{content:"\e96e"}.pi-chart-bar:before{content:"\e96d"}.pi-camera:before{content:"\e96c"}.pi-dollar:before{content:"\e96b"}.pi-lock-open:before{content:"\e96a"}.pi-table:before{content:"\e969"}.pi-map-marker:before{content:"\e968"}.pi-list:before{content:"\e967"}.pi-eye-slash:before{content:"\e965"}.pi-eye:before{content:"\e966"}.pi-folder-open:before{content:"\e964"}.pi-folder:before{content:"\e963"}.pi-video:before{content:"\e962"}.pi-inbox:before{content:"\e961"}.pi-lock:before{content:"\e95f"}.pi-unlock:before{content:"\e960"}.pi-tags:before{content:"\e95d"}.pi-tag:before{content:"\e95e"}.pi-power-off:before{content:"\e95c"}.pi-save:before{content:"\e95b"}.pi-question-circle:before{content:"\e959"}.pi-question:before{content:"\e95a"}.pi-copy:before{content:"\e957"}.pi-file:before{content:"\e958"}.pi-clone:before{content:"\e955"}.pi-calendar-times:before{content:"\e952"}.pi-calendar-minus:before{content:"\e953"}.pi-calendar-plus:before{content:"\e954"}.pi-ellipsis-v:before{content:"\e950"}.pi-ellipsis-h:before{content:"\e951"}.pi-bookmark:before{content:"\e94e"}.pi-globe:before{content:"\e94f"}.pi-replay:before{content:"\e94d"}.pi-filter:before{content:"\e94c"}.pi-print:before{content:"\e94b"}.pi-align-right:before{content:"\e946"}.pi-align-left:before{content:"\e947"}.pi-align-center:before{content:"\e948"}.pi-align-justify:before{content:"\e949"}.pi-cog:before{content:"\e94a"}.pi-cloud-download:before{content:"\e943"}.pi-cloud-upload:before{content:"\e944"}.pi-cloud:before{content:"\e945"}.pi-pencil:before{content:"\e942"}.pi-users:before{content:"\e941"}.pi-clock:before{content:"\e940"}.pi-user-minus:before{content:"\e93e"}.pi-user-plus:before{content:"\e93f"}.pi-trash:before{content:"\e93d"}.pi-external-link:before{content:"\e93c"}.pi-window-maximize:before{content:"\e93b"}.pi-window-minimize:before{content:"\e93a"}.pi-refresh:before{content:"\e938"}.pi-user:before{content:"\e939"}.pi-exclamation-triangle:before{content:"\e922"}.pi-calendar:before{content:"\e927"}.pi-chevron-circle-left:before{content:"\e928"}.pi-chevron-circle-down:before{content:"\e929"}.pi-chevron-circle-right:before{content:"\e92a"}.pi-chevron-circle-up:before{content:"\e92b"}.pi-angle-double-down:before{content:"\e92c"}.pi-angle-double-left:before{content:"\e92d"}.pi-angle-double-right:before{content:"\e92e"}.pi-angle-double-up:before{content:"\e92f"}.pi-angle-down:before{content:"\e930"}.pi-angle-left:before{content:"\e931"}.pi-angle-right:before{content:"\e932"}.pi-angle-up:before{content:"\e933"}.pi-upload:before{content:"\e934"}.pi-download:before{content:"\e956"}.pi-ban:before{content:"\e935"}.pi-star-fill:before{content:"\e936"}.pi-star:before{content:"\e937"}.pi-chevron-left:before{content:"\e900"}.pi-chevron-right:before{content:"\e901"}.pi-chevron-down:before{content:"\e902"}.pi-chevron-up:before{content:"\e903"}.pi-caret-left:before{content:"\e904"}.pi-caret-right:before{content:"\e905"}.pi-caret-down:before{content:"\e906"}.pi-caret-up:before{content:"\e907"}.pi-search:before{content:"\e908"}.pi-check:before{content:"\e909"}.pi-check-circle:before{content:"\e90a"}.pi-times:before{content:"\e90b"}.pi-times-circle:before{content:"\e90c"}.pi-plus:before{content:"\e90d"}.pi-plus-circle:before{content:"\e90e"}.pi-minus:before{content:"\e90f"}.pi-minus-circle:before{content:"\e910"}.pi-circle-on:before{content:"\e911"}.pi-circle-off:before{content:"\e912"}.pi-sort-down:before{content:"\e913"}.pi-sort-up:before{content:"\e914"}.pi-sort:before{content:"\e915"}.pi-step-backward:before{content:"\e916"}.pi-step-forward:before{content:"\e917"}.pi-th-large:before{content:"\e918"}.pi-arrow-down:before{content:"\e919"}.pi-arrow-left:before{content:"\e91a"}.pi-arrow-right:before{content:"\e91b"}.pi-arrow-up:before{content:"\e91c"}.pi-bars:before{content:"\e91d"}.pi-arrow-circle-down:before{content:"\e91e"}.pi-arrow-circle-left:before{content:"\e91f"}.pi-arrow-circle-right:before{content:"\e920"}.pi-arrow-circle-up:before{content:"\e921"}.pi-info:before{content:"\e923"}.pi-info-circle:before{content:"\e924"}.pi-home:before{content:"\e925"}.pi-spinner:before{content:"\e926"}.p-component,.p-component *{box-sizing:border-box}.p-hidden{display:none}.p-hidden-space{visibility:hidden}.p-hidden-accessible{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.p-hidden-accessible input,.p-hidden-accessible select{transform:scale(0)}.p-reset{margin:0;padding:0;border:0;outline:0;text-decoration:none;font-size:100%;list-style:none}.p-disabled,.p-disabled *{cursor:default!important;pointer-events:none}.p-component-overlay{position:fixed;top:0;left:0;width:100%;height:100%}.p-overflow-hidden{overflow:hidden}.p-unselectable-text{-webkit-user-select:none;user-select:none}.p-scrollbar-measure{width:100px;height:100px;overflow:scroll;position:absolute;top:-9999px}@keyframes p-fadein{0%{opacity:0}to{opacity:1}}input[type=button],input[type=submit],input[type=reset],input[type=file]::-webkit-file-upload-button,button{border-radius:0}.p-link{text-align:left;background-color:transparent;margin:0;padding:0;border:0;cursor:pointer;-webkit-user-select:none;user-select:none}.p-link:disabled{cursor:default}.p-sr-only{border:0;clip:rect(1px,1px,1px,1px);clip-path:inset(50%);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;word-wrap:normal!important}.p-connected-overlay{opacity:0;transform:scaleY(.8);transition:transform .12s cubic-bezier(0,0,.2,1),opacity .12s cubic-bezier(0,0,.2,1)}.p-connected-overlay-visible{opacity:1;transform:scaleY(1)}.p-connected-overlay-hidden{opacity:0;transform:scaleY(1);transition:opacity .1s linear}.p-toggleable-content.ng-animating{overflow:hidden}.p-badge{display:inline-block;border-radius:10px;text-align:center;padding:0 .5rem}.p-overlay-badge{position:relative}.p-overlay-badge .p-badge{position:absolute;top:0;right:0;transform:translate(50%,-50%);transform-origin:100% 0;margin:0}.p-badge-dot{width:.5rem;min-width:.5rem;height:.5rem;border-radius:50%;padding:0}.p-badge-no-gutter{padding:0;border-radius:50%}.p-button{margin:0;display:inline-flex;cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;vertical-align:bottom;text-align:center;overflow:hidden;position:relative}.p-button-label{flex:1 1 auto}.p-button-icon-right{order:1}.p-button:disabled{cursor:default}.p-button-icon-only{justify-content:center}.p-button-icon-only:after{content:"p";visibility:hidden;clip:rect(0 0 0 0);width:0}.p-button-vertical{flex-direction:column}.p-button-icon-bottom{order:2}.p-buttonset .p-button{margin:0}.p-buttonset .p-button:not(:last-child){border-right:0 none}.p-buttonset .p-button:not(:first-of-type):not(:last-of-type){border-radius:0}.p-buttonset .p-button:first-of-type{border-top-right-radius:0;border-bottom-right-radius:0}.p-buttonset .p-button:last-of-type{border-top-left-radius:0;border-bottom-left-radius:0}.p-buttonset .p-button:focus{position:relative;z-index:1}.p-checkbox{display:inline-flex;cursor:pointer;-webkit-user-select:none;user-select:none;vertical-align:bottom;position:relative}.p-checkbox-disabled{cursor:default!important;pointer-events:none}.p-checkbox-box{display:flex;justify-content:center;align-items:center}p-checkbox{display:inline-flex;vertical-align:bottom;align-items:center}.p-checkbox-label{line-height:1}.p-colorpicker-panel .p-colorpicker-color{background:transparent url(color.png) no-repeat left top}.p-colorpicker-panel .p-colorpicker-hue{background:transparent url(hue.png) no-repeat left top}.p-inputtext{margin:0}.p-fluid .p-inputtext{width:100%}.p-inputgroup{display:flex;align-items:stretch;width:100%}.p-inputgroup-addon{display:flex;align-items:center;justify-content:center}.p-inputgroup .p-float-label{display:flex;align-items:stretch;width:100%}.p-inputgroup .p-inputtext,.p-fluid .p-inputgroup .p-inputtext,.p-inputgroup .p-inputwrapper,.p-inputgroup .p-inputwrapper>.p-component{flex:1 1 auto;width:1%}.p-float-label{display:block;position:relative}.p-float-label label{position:absolute;pointer-events:none;top:50%;margin-top:-.5rem;transition-property:all;transition-timing-function:ease;line-height:1}.p-float-label textarea~label{top:1rem}.p-float-label input:focus~label,.p-float-label input.p-filled~label,.p-float-label textarea:focus~label,.p-float-label textarea.p-filled~label,.p-float-label .p-inputwrapper-focus~label,.p-float-label .p-inputwrapper-filled~label{top:-.75rem;font-size:12px}.p-float-label .input:-webkit-autofill~label{top:-20px;font-size:12px}.p-float-label .p-placeholder,.p-float-label input::placeholder,.p-float-label .p-inputtext::placeholder{opacity:0;transition-property:all;transition-timing-function:ease}.p-float-label .p-focus .p-placeholder,.p-float-label input:focus::placeholder,.p-float-label .p-inputtext:focus::placeholder{opacity:1;transition-property:all;transition-timing-function:ease}.p-input-icon-left,.p-input-icon-right{position:relative;display:inline-block}.p-input-icon-left>i,.p-input-icon-right>i{position:absolute;top:50%;margin-top:-.5rem}.p-fluid .p-input-icon-left,.p-fluid .p-input-icon-right{display:block;width:100%}.p-inputtextarea-resizable{overflow:hidden;resize:none}.p-fluid .p-inputtextarea{width:100%}.p-password{position:relative;display:inline-flex}.p-password-panel{position:absolute;top:0;left:0}.p-password .p-password-panel{min-width:100%}.p-password-meter{height:10px}.p-password-strength{height:100%;width:0;transition:width 1s ease-in-out}.p-fluid .p-password{display:flex}.p-password-input::-ms-reveal,.p-password-input::-ms-clear{display:none}.p-password-clear-icon{position:absolute;top:50%;margin-top:-.5rem;cursor:pointer}.p-password-clearable{position:relative}.p-radiobutton{display:inline-flex;cursor:pointer;-webkit-user-select:none;user-select:none;vertical-align:bottom;position:relative}.p-radiobutton-box{display:flex;justify-content:center;align-items:center}.p-radiobutton-icon{-webkit-backface-visibility:hidden;backface-visibility:hidden;transform:translateZ(0) scale(.1);border-radius:50%;visibility:hidden}.p-radiobutton-box.p-highlight .p-radiobutton-icon{transform:translateZ(0) scale(1);visibility:visible}p-radiobutton{display:inline-flex;vertical-align:bottom;align-items:center}.p-radiobutton-label{line-height:1}.p-ripple{overflow:hidden;position:relative}.p-ink{display:block;position:absolute;background:rgba(255,255,255,.5);border-radius:100%;transform:scale(0)}.p-ink-active{animation:ripple .4s linear}.p-ripple-disabled .p-ink{display:none!important}@keyframes ripple{to{opacity:0;transform:scale(2.5)}}.p-tooltip{position:absolute;display:none;padding:.25em .5rem;max-width:12.5rem}.p-tooltip.p-tooltip-right,.p-tooltip.p-tooltip-left{padding:0 .25rem}.p-tooltip.p-tooltip-top,.p-tooltip.p-tooltip-bottom{padding:.25em 0}.p-tooltip .p-tooltip-text{white-space:pre-line;word-break:break-word}.p-tooltip-arrow{position:absolute;width:0;height:0;border-color:transparent;border-style:solid}.p-tooltip-right .p-tooltip-arrow{top:50%;left:0;margin-top:-.25rem;border-width:.25em .25em .25em 0}.p-tooltip-left .p-tooltip-arrow{top:50%;right:0;margin-top:-.25rem;border-width:.25em 0 .25em .25rem}.p-tooltip.p-tooltip-top{padding:.25em 0}.p-tooltip-top .p-tooltip-arrow{bottom:0;left:50%;margin-left:-.25rem;border-width:.25em .25em 0}.p-tooltip-bottom .p-tooltip-arrow{top:0;left:50%;margin-left:-.25rem;border-width:0 .25em .25rem}.p-component{font-family:Assistant,Helvetica Neue,Helvetica,Arial,Lucida Grande,sans-serif;font-size:1rem;font-weight:400;line-height:normal}.p-component-overlay{background-color:#fff;transition-duration:.2s}.p-disabled,.p-component:disabled{opacity:1}.p-text-secondary{color:#14151a}.p-link{border-radius:.125rem}.p-link:focus{outline:0 none;outline-offset:0;box-shadow:none}.p-fluid .p-inputgroup .p-button{width:auto}.p-fluid .p-inputgroup .p-button.p-button-icon-only{width:2.5rem}.p-field>label{font-size:.813rem}.formgroup-inline .field-checkbox{margin-bottom:0}.p-label-input-required:after{content:"*";color:red;margin-left:2px;vertical-align:middle}.pi{aspect-ratio:1/1;line-height:1;justify-content:center;align-items:center;display:flex;font-size:16px;width:20px}[class$=-sm] .pi{width:16px;font-size:14px}[class$=-lg] .pi{width:24px;font-size:18px}#large{height:3rem;border-radius:.5rem;font-size:1.25rem}#large .p-button-label{font-size:inherit}#large .p-button-icon,#large .pi{font-size:18px}#small{border-radius:.25rem;font-size:.813rem;gap:.25rem;height:2rem;padding:0 .5rem}#small .p-button-label{font-size:inherit}#main-primary-severity{background-color:var(--color-palette-primary-500)}#main-primary-severity:hover{background-color:var(--color-palette-primary-600)}#main-primary-severity:active{background-color:var(--color-palette-primary-700)}#main-primary-severity:focus{background-color:var(--color-palette-primary-500);outline:2.8px solid var(--color-palette-primary-op-20)}#main-secondary-severity{background-color:var(--color-palette-secondary-500)}#main-secondary-severity:hover{background-color:var(--color-palette-secondary-600)}#main-secondary-severity:active{background-color:var(--color-palette-secondary-700)}#main-secondary-severity:focus{background-color:var(--color-palette-secondary-500);outline:2.8px solid var(--color-palette-primary-op-20)}#outlined-primary-severity{background-color:transparent;border:1.5px solid var(--color-palette-primary-500)}#outlined-primary-severity .p-button-label,#outlined-primary-severity .p-button-icon,#outlined-primary-severity .pi{color:var(--color-palette-primary-500)}#outlined-primary-severity:hover{background-color:var(--color-palette-primary-op-10)}#outlined-primary-severity:active{background-color:var(--color-palette-primary-op-20)}#outlined-primary-severity:focus{background-color:transparent;outline:2.8px solid var(--color-palette-primary-op-20)}#outlined-primary-severity-sm{border:1px solid var(--color-palette-primary-500)}#outlined-secondary-severity{background-color:transparent;border:1.5px solid var(--color-palette-secondary-500)}#outlined-secondary-severity .p-button-label,#outlined-secondary-severity .p-button-icon,#outlined-secondary-severity .pi{color:var(--color-palette-secondary-500)}#outlined-secondary-severity:hover{background-color:var(--color-palette-secondary-op-10)}#outlined-secondary-severity:active{background-color:var(--color-palette-secondary-op-20)}#outlined-secondary-severity:focus{background-color:transparent;outline:2.8px solid var(--color-palette-primary-op-20)}#outlined-secondary-severity-sm{border:1px solid var(--color-palette-secondary-500)}#text-primary-severity{background-color:transparent;color:#14151a;overflow:hidden;max-width:100%}#text-primary-severity .p-button-label{color:inherit;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}#text-primary-severity .p-button-icon,#text-primary-severity .pi{color:var(--color-palette-primary-500)}#text-primary-severity:hover{background-color:var(--color-palette-primary-op-10)}#text-primary-severity:active{background-color:var(--color-palette-primary-op-20)}#text-primary-severity:focus{background-color:transparent;outline:2.8px solid var(--color-palette-primary-op-20)}#text-secondary-severity{background-color:transparent;color:#14151a}#text-secondary-severity .p-button-label{color:inherit}#text-secondary-severity .p-button-icon,#text-secondary-severity .pi{color:var(--color-palette-secondary-500)}#text-secondary-severity:hover{background-color:var(--color-palette-secondary-op-10)}#text-secondary-severity:active{background-color:var(--color-palette-secondary-op-20)}#text-secondary-severity:focus{background-color:transparent;outline:2.8px solid var(--color-palette-primary-op-20)}#text-danger-severity{background-color:transparent;color:#d82b2e}#text-danger-severity:hover{background-color:#d82b2e1a}#text-danger-severity:active{background-color:#d82b2e33}#text-danger-severity:focus{background-color:transparent;outline:2.8px solid var(--color-palette-primary-op-20)}#text-danger-severity .p-button-icon,#text-danger-severity .pi{color:inherit}#button-disabled{background-color:#f3f3f4;color:#afb3c0}#button-disabled .p-button-label,#button-disabled .p-button-icon,#button-disabled .pi{color:inherit}#button-disabled-outlined{border:1.5px solid #ebecef}#large,.p-button:not(.p-button-icon-only).p-button-lg,.p-button-lg .p-button:not(.p-button-icon-only){height:3rem;border-radius:.5rem;font-size:1.25rem}#large .p-button-label,.p-button:not(.p-button-icon-only).p-button-lg .p-button-label,.p-button-lg .p-button:not(.p-button-icon-only) .p-button-label{font-size:inherit}#large .p-button-icon,.p-button:not(.p-button-icon-only).p-button-lg .p-button-icon,.p-button-lg .p-button:not(.p-button-icon-only) .p-button-icon,#large .pi,.p-button:not(.p-button-icon-only).p-button-lg .pi,.p-button-lg .p-button:not(.p-button-icon-only) .pi{font-size:18px}#small,.p-button:not(.p-button-icon-only).p-button-sm,.p-button-sm .p-button:not(.p-button-icon-only){border-radius:.25rem;font-size:.813rem;gap:.25rem;height:2rem;padding:0 .5rem}#small .p-button-label,.p-button:not(.p-button-icon-only).p-button-sm .p-button-label,.p-button-sm .p-button:not(.p-button-icon-only) .p-button-label{font-size:inherit}#main-primary-severity,.p-button:enabled,.p-button.p-fileupload-choose{background-color:var(--color-palette-primary-500)}#main-primary-severity:hover,.p-button:hover:enabled,.p-button.p-fileupload-choose:hover{background-color:var(--color-palette-primary-600)}#main-primary-severity:active,.p-button:active:enabled,.p-button.p-fileupload-choose:active{background-color:var(--color-palette-primary-700)}#main-primary-severity:focus,.p-button:focus:enabled,.p-button.p-fileupload-choose:focus{background-color:var(--color-palette-primary-500);outline:2.8px solid var(--color-palette-primary-op-20)}#main-secondary-severity,.p-button:enabled.p-button-secondary,.p-button.p-fileupload-choose.p-button-secondary{background-color:var(--color-palette-secondary-500)}#main-secondary-severity:hover,.p-button.p-button-secondary:hover:enabled,.p-button.p-fileupload-choose.p-button-secondary:hover{background-color:var(--color-palette-secondary-600)}#main-secondary-severity:active,.p-button.p-button-secondary:active:enabled,.p-button.p-fileupload-choose.p-button-secondary:active{background-color:var(--color-palette-secondary-700)}#main-secondary-severity:focus,.p-button.p-button-secondary:focus:enabled,.p-button.p-fileupload-choose.p-button-secondary:focus{background-color:var(--color-palette-secondary-500);outline:2.8px solid var(--color-palette-primary-op-20)}#outlined-primary-severity,.p-button.p-button-outlined:enabled,.p-button.p-button-outlined:not(.p-splitbutton-defaultbutton,.p-splitbutton-menubutton){background-color:transparent;border:1.5px solid var(--color-palette-primary-500)}#outlined-primary-severity .p-button-label,.p-button.p-button-outlined:enabled .p-button-label,.p-button.p-button-outlined:not(.p-splitbutton-defaultbutton,.p-splitbutton-menubutton) .p-button-label,#outlined-primary-severity .p-button-icon,.p-button.p-button-outlined:enabled .p-button-icon,.p-button.p-button-outlined:not(.p-splitbutton-defaultbutton,.p-splitbutton-menubutton) .p-button-icon,#outlined-primary-severity .pi,.p-button.p-button-outlined:enabled .pi,.p-button.p-button-outlined:not(.p-splitbutton-defaultbutton,.p-splitbutton-menubutton) .pi{color:var(--color-palette-primary-500)}#outlined-primary-severity:hover,.p-button.p-button-outlined:hover:enabled,.p-button.p-button-outlined:hover:not(.p-splitbutton-defaultbutton,.p-splitbutton-menubutton){background-color:var(--color-palette-primary-op-10)}#outlined-primary-severity:active,.p-button.p-button-outlined:active:enabled,.p-button.p-button-outlined:active:not(.p-splitbutton-defaultbutton,.p-splitbutton-menubutton){background-color:var(--color-palette-primary-op-20)}#outlined-primary-severity:focus,.p-button.p-button-outlined:focus:enabled,.p-button.p-button-outlined:focus:not(.p-splitbutton-defaultbutton,.p-splitbutton-menubutton){background-color:transparent;outline:2.8px solid var(--color-palette-primary-op-20)}#outlined-primary-severity-sm,.p-button.p-button-outlined:enabled.p-button-sm,.p-button.p-button-outlined:not(.p-splitbutton-defaultbutton,.p-splitbutton-menubutton).p-button-sm{border:1px solid var(--color-palette-primary-500)}#outlined-secondary-severity,.p-button.p-button-outlined:enabled.p-button-secondary,.p-button.p-button-outlined:not(.p-splitbutton-defaultbutton,.p-splitbutton-menubutton).p-button-secondary{background-color:transparent;border:1.5px solid var(--color-palette-secondary-500)}#outlined-secondary-severity .p-button-label,.p-button.p-button-outlined:enabled.p-button-secondary .p-button-label,.p-button.p-button-outlined:not(.p-splitbutton-defaultbutton,.p-splitbutton-menubutton).p-button-secondary .p-button-label,#outlined-secondary-severity .p-button-icon,.p-button.p-button-outlined:enabled.p-button-secondary .p-button-icon,.p-button.p-button-outlined:not(.p-splitbutton-defaultbutton,.p-splitbutton-menubutton).p-button-secondary .p-button-icon,#outlined-secondary-severity .pi,.p-button.p-button-outlined:enabled.p-button-secondary .pi,.p-button.p-button-outlined:not(.p-splitbutton-defaultbutton,.p-splitbutton-menubutton).p-button-secondary .pi{color:var(--color-palette-secondary-500)}#outlined-secondary-severity:hover,.p-button.p-button-outlined.p-button-secondary:hover:enabled,.p-button.p-button-outlined.p-button-secondary:hover:not(.p-splitbutton-defaultbutton,.p-splitbutton-menubutton){background-color:var(--color-palette-secondary-op-10)}#outlined-secondary-severity:active,.p-button.p-button-outlined.p-button-secondary:active:enabled,.p-button.p-button-outlined.p-button-secondary:active:not(.p-splitbutton-defaultbutton,.p-splitbutton-menubutton){background-color:var(--color-palette-secondary-op-20)}#outlined-secondary-severity:focus,.p-button.p-button-outlined.p-button-secondary:focus:enabled,.p-button.p-button-outlined.p-button-secondary:focus:not(.p-splitbutton-defaultbutton,.p-splitbutton-menubutton){background-color:transparent;outline:2.8px solid var(--color-palette-primary-op-20)}#outlined-secondary-severity-sm,.p-button.p-button-outlined:enabled.p-button-secondary.p-button-sm,.p-button.p-button-outlined:not(.p-splitbutton-defaultbutton,.p-splitbutton-menubutton).p-button-secondary.p-button-sm{border:1px solid var(--color-palette-secondary-500)}#text-primary-severity,.p-button-text:enabled:not(.p-splitbutton-defaultbutton,.p-splitbutton-menubutton),a.p-button.p-button-text{background-color:transparent;color:#14151a;overflow:hidden;max-width:100%}#text-primary-severity .p-button-label,.p-button-text:enabled:not(.p-splitbutton-defaultbutton,.p-splitbutton-menubutton) .p-button-label,a.p-button.p-button-text .p-button-label{color:inherit;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}#text-primary-severity .p-button-icon,.p-button-text:enabled:not(.p-splitbutton-defaultbutton,.p-splitbutton-menubutton) .p-button-icon,a.p-button.p-button-text .p-button-icon,#text-primary-severity .pi,.p-button-text:enabled:not(.p-splitbutton-defaultbutton,.p-splitbutton-menubutton) .pi,a.p-button.p-button-text .pi{color:var(--color-palette-primary-500)}#text-primary-severity:hover,.p-button-text:hover:enabled:not(.p-splitbutton-defaultbutton,.p-splitbutton-menubutton),a.p-button.p-button-text:hover{background-color:var(--color-palette-primary-op-10)}#text-primary-severity:active,.p-button-text:active:enabled:not(.p-splitbutton-defaultbutton,.p-splitbutton-menubutton),a.p-button.p-button-text:active{background-color:var(--color-palette-primary-op-20)}#text-primary-severity:focus,.p-button-text:focus:enabled:not(.p-splitbutton-defaultbutton,.p-splitbutton-menubutton),a.p-button.p-button-text:focus{background-color:transparent;outline:2.8px solid var(--color-palette-primary-op-20)}#text-secondary-severity,.p-button-text:enabled:not(.p-splitbutton-defaultbutton,.p-splitbutton-menubutton).p-button-secondary,a.p-button.p-button-text.p-button-secondary{background-color:transparent;color:#14151a}#text-secondary-severity .p-button-label,.p-button-text:enabled:not(.p-splitbutton-defaultbutton,.p-splitbutton-menubutton).p-button-secondary .p-button-label,a.p-button.p-button-text.p-button-secondary .p-button-label{color:inherit}#text-secondary-severity .p-button-icon,.p-button-text:enabled:not(.p-splitbutton-defaultbutton,.p-splitbutton-menubutton).p-button-secondary .p-button-icon,a.p-button.p-button-text.p-button-secondary .p-button-icon,#text-secondary-severity .pi,.p-button-text:enabled:not(.p-splitbutton-defaultbutton,.p-splitbutton-menubutton).p-button-secondary .pi,a.p-button.p-button-text.p-button-secondary .pi{color:var(--color-palette-secondary-500)}#text-secondary-severity:hover,.p-button-text.p-button-secondary:hover:enabled:not(.p-splitbutton-defaultbutton,.p-splitbutton-menubutton),a.p-button.p-button-text.p-button-secondary:hover{background-color:var(--color-palette-secondary-op-10)}#text-secondary-severity:active,.p-button-text.p-button-secondary:active:enabled:not(.p-splitbutton-defaultbutton,.p-splitbutton-menubutton),a.p-button.p-button-text.p-button-secondary:active{background-color:var(--color-palette-secondary-op-20)}#text-secondary-severity:focus,.p-button-text.p-button-secondary:focus:enabled:not(.p-splitbutton-defaultbutton,.p-splitbutton-menubutton),a.p-button.p-button-text.p-button-secondary:focus{background-color:transparent;outline:2.8px solid var(--color-palette-primary-op-20)}#text-danger-severity,.p-button-text:enabled:not(.p-splitbutton-defaultbutton,.p-splitbutton-menubutton).p-button-danger,a.p-button.p-button-text.p-button-danger{background-color:transparent;color:#d82b2e}#text-danger-severity:hover,.p-button-text.p-button-danger:hover:enabled:not(.p-splitbutton-defaultbutton,.p-splitbutton-menubutton),a.p-button.p-button-text.p-button-danger:hover{background-color:#d82b2e1a}#text-danger-severity:active,.p-button-text.p-button-danger:active:enabled:not(.p-splitbutton-defaultbutton,.p-splitbutton-menubutton),a.p-button.p-button-text.p-button-danger:active{background-color:#d82b2e33}#text-danger-severity:focus,.p-button-text.p-button-danger:focus:enabled:not(.p-splitbutton-defaultbutton,.p-splitbutton-menubutton),a.p-button.p-button-text.p-button-danger:focus{background-color:transparent;outline:2.8px solid var(--color-palette-primary-op-20)}#text-danger-severity .p-button-icon,.p-button-text:enabled:not(.p-splitbutton-defaultbutton,.p-splitbutton-menubutton).p-button-danger .p-button-icon,a.p-button.p-button-text.p-button-danger .p-button-icon,#text-danger-severity .pi,.p-button-text:enabled:not(.p-splitbutton-defaultbutton,.p-splitbutton-menubutton).p-button-danger .pi,a.p-button.p-button-text.p-button-danger .pi{color:inherit}#button-disabled,.p-button:disabled:not(.p-splitbutton-defaultbutton,.p-splitbutton-menubutton){background-color:#f3f3f4;color:#afb3c0}#button-disabled .p-button-label,.p-button:disabled:not(.p-splitbutton-defaultbutton,.p-splitbutton-menubutton) .p-button-label,#button-disabled .p-button-icon,.p-button:disabled:not(.p-splitbutton-defaultbutton,.p-splitbutton-menubutton) .p-button-icon,#button-disabled .pi,.p-button:disabled:not(.p-splitbutton-defaultbutton,.p-splitbutton-menubutton) .pi{color:inherit}#button-disabled-outlined,.p-button:disabled:not(.p-splitbutton-defaultbutton,.p-splitbutton-menubutton).p-button-outlined{border:1.5px solid #ebecef}.p-button{border:none;color:#fff;border-radius:.375rem}.p-button .p-button-label{color:inherit;font-size:inherit;text-transform:capitalize}.p-button .p-button-icon,.p-button .pi{color:inherit}.p-button:not(.p-button-icon-only){font-size:1rem;gap:.5rem;height:2.5rem;padding:0 1rem;text-transform:capitalize}.p-button:enabled.p-button-link,.p-button.p-fileupload-choose.p-button-link{color:var(--color-palette-primary-500);background:transparent;border:transparent}.p-button-icon-only:not(.p-splitbutton-menubutton){height:2.5rem;width:2.5rem;border:none}.p-button-icon-only:not(.p-splitbutton-menubutton).p-button-sm{height:2rem;width:2rem}.p-button.p-button-vertical{height:100%;gap:.25rem;margin-bottom:0;padding:.5rem}.p-button-rounded{border-radius:50%}.p-dialog{border-radius:.375rem;box-shadow:0 11px 15px -7px var(--color-palette-black-op-20),0 24px 38px 3px var(--color-palette-black-op-10),0 9px 46px 8px var(--color-palette-black-op-10);border:0 none;overflow:auto}.p-dialog .p-dialog-header{border-bottom:0 none;background:#ffffff;color:#14151a;padding:2.5rem;border-top-right-radius:.375rem;border-top-left-radius:.375rem}.p-dialog .p-dialog-header .p-dialog-title{font-size:1.5rem}.p-dialog .p-dialog-header .p-dialog-header-icon{width:2rem;height:2rem;color:#14151a;border:0 none;background:transparent;border-radius:50%;transition:background-color .2s,color .2s,box-shadow .2s;margin-right:.5rem}.p-dialog .p-dialog-header .p-dialog-header-icon:enabled:hover{color:#14151a;border-color:transparent;background:var(--color-palette-primary-100)}.p-dialog .p-dialog-header .p-dialog-header-icon:focus{outline:0 none;outline-offset:0;box-shadow:0 0 0 4px var(--color-palette-secondary-op-20)}.p-dialog .p-dialog-header .p-dialog-header-icon:last-child{margin-right:0}.p-dialog .p-dialog-content{background:#ffffff;color:#14151a;padding:0 2.5rem 2.5rem}.p-dialog .p-dialog-footer{border-top:0 none;background:#ffffff;color:#14151a;padding:1.5rem;text-align:right;border-bottom-right-radius:.125rem;border-bottom-left-radius:.125rem}.p-dialog .p-dialog-footer button{margin:0 .5rem 0 0;width:auto}.p-dialog.p-confirm-dialog .p-confirm-dialog-icon{font-size:1.75rem;padding-right:.5rem;color:var(--color-palette-primary-500)}.p-dialog.p-confirm-dialog .p-confirm-dialog-message{line-height:1.5em}.p-dialog-mask.p-component-overlay{background-color:var(--color-palette-black-op-80);-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.p-dialog-header .p-dialog-header-icons .p-dialog-header-close{background-color:#f3f3f4;color:var(--color-palette-primary-500);border-radius:0}#form-field-base,#form-field-extend,.p-inputtext:not(.p-dropdown-label,.p-autocomplete-multiple-container,.p-autocomplete-input){background-color:#fff;height:2.5rem;border-radius:.375rem;border:1.5px solid #d1d4db;padding:0 .5rem;color:#6c7389;font-size:1rem}#form-field-base.p-filled,.p-filled#form-field-extend,.p-filled.p-inputtext:not(.p-dropdown-label,.p-autocomplete-multiple-container,.p-autocomplete-input){color:#14151a}#form-field-sm,.p-inputtext:not(.p-dropdown-label,.p-autocomplete-multiple-container,.p-autocomplete-input).p-inputtext-sm{height:2rem;font-size:.813rem;border-radius:.25rem}#form-field-hover,#form-field-states:enabled:hover,#form-field-extend:enabled:hover,.p-inputtext:enabled:hover:not(.p-dropdown-label,.p-autocomplete-multiple-container,.p-autocomplete-input),#form-field-states:hover,#form-field-extend:hover,.p-inputtext:hover:not(.p-dropdown-label,.p-autocomplete-multiple-container,.p-autocomplete-input){border-color:var(--color-palette-primary-400)}#form-field-focus,#form-field-states:enabled:active,#form-field-extend:enabled:active,.p-inputtext:enabled:active:not(.p-dropdown-label,.p-autocomplete-multiple-container,.p-autocomplete-input),#form-field-states:enabled:focus,#form-field-extend:enabled:focus,.p-inputtext:enabled:focus:not(.p-dropdown-label,.p-autocomplete-multiple-container,.p-autocomplete-input),#form-field-states:active,#form-field-extend:active,.p-inputtext:active:not(.p-dropdown-label,.p-autocomplete-multiple-container,.p-autocomplete-input),#form-field-states:focus,#form-field-extend:focus,.p-inputtext:focus:not(.p-dropdown-label,.p-autocomplete-multiple-container,.p-autocomplete-input){border-color:var(--color-palette-primary-400);outline:2.8px solid var(--color-palette-primary-op-20)}#form-field-disabled,#field-panel-item-disabled,#form-field-states:disabled,#form-field-extend:disabled,.p-inputtext:disabled:not(.p-dropdown-label,.p-autocomplete-multiple-container,.p-autocomplete-input){border-color:#f3f3f4;background:#fafafb;color:#afb3c0}#field-trigger{background:#f3f3f4;color:var(--color-palette-primary-500);width:2.5rem;border-top-right-radius:.375rem;border-bottom-right-radius:.375rem;height:100%}#field-trigger-sm{width:2rem;border-top-right-radius:.25rem;border-bottom-right-radius:.25rem}#field-trigger-icon{padding:.5rem;font-size:14px}#field-panel{background:#ffffff;color:#14151a;border:0 none;border-radius:.375rem;box-shadow:0 0 4px #14151a0a,0 8px 16px #14151a14;padding:.5rem;margin-top:.5rem}#field-panel-header{padding:.75rem;border-bottom:1.5px solid var(--color-palette-black-op-10);color:#14151a;background:#ffffff;margin:0;border-top-right-radius:.125rem;border-top-left-radius:.125rem}#field-panel-filter{padding-right:3rem;color:#14151a}#field-panel-filter-icon{right:.75rem;color:var(--color-palette-primary-500)}#field-panel-items{padding:0}#field-panel-item{display:flex;align-items:center;padding:0 .75rem;color:#14151a;height:2.5rem}#field-panel-item-highlight{background:var(--color-palette-primary-200)}#field-panel-item-hover{background:var(--color-palette-primary-100)}#field-panel-item-disabled{cursor:initial}#field-panel-item-checkbox{margin-right:.5rem}#field-panel-item-checkbox .p-checkbox-box{border-radius:.25rem;border:2px solid #d1d4db}#field-chip{height:1.5rem;padding:.5rem;background:var(--color-palette-primary-200);border-radius:.25rem;color:var(--color-palette-primary-500);font-size:.813rem;display:flex;align-items:center;justify-content:center;gap:.25rem}.p-inputtext:not(.p-dropdown-label,.p-autocomplete-multiple-container,.p-autocomplete-input).p-inputtextarea{padding:.5rem;min-height:4rem}.p-inputtext:not(.p-dropdown-label,.p-autocomplete-multiple-container,.p-autocomplete-input):disabled::placeholder{color:#afb3c0}.p-input-icon-right i.pi{color:var(--color-palette-primary-500);cursor:pointer;right:.5rem;margin-top:0;transform:translateY(-50%);-moz-transform:translateY(-50%)}.p-input-icon-right:has(.p-inputtext.p-inputtext-sm) i{font-size:.813rem}.p-input-icon-right i.pi:nth-of-type(1){right:.5rem}.p-input-icon-right i.pi:nth-of-type(2){right:2rem}.p-input-icon-right .p-inputtext{padding-right:2.5rem}.p-error,.p-invalid{color:#f65446}p-inputmask.ng-dirty.ng-invalid>.p-inputtext{border-color:#f65446}p-inputnumber.ng-dirty.ng-invalid>.p-inputnumber>.p-inputtext{border-color:#f65446}.p-inputswitch.p-error,.p-inputswitch.p-invalid{border-color:#f65446}p-inputswitch.ng-dirty.ng-invalid>.p-inputswitch{border-color:#f65446}.p-inputtext.p-error,.p-inputtext.p-invalid,.p-inputtext.ng-dirty.ng-invalid{border-color:#f65446}.p-inputtext.p-error:hover,.p-inputtext.p-error:active,.p-inputtext.p-error:focus,.p-inputtext.p-invalid:hover,.p-inputtext.p-invalid:active,.p-inputtext.p-invalid:focus,.p-inputtext.ng-dirty.ng-invalid:hover,.p-inputtext.ng-dirty.ng-invalid:active,.p-inputtext.ng-dirty.ng-invalid:focus{border-color:#f65446}p-listbox.ng-dirty.ng-invalid>.p-listbox{border-color:#f65446}.p-listbox.p-error,.p-listbox.p-invalid{border-color:#f65446}p-multiselect.ng-dirty.ng-invalid>.p-multiselect{border-color:#f65446}p-multiselect.ng-dirty.ng-invalid>.p-multiselect:hover,p-multiselect.ng-dirty.ng-invalid>.p-multiselect:active,p-multiselect.ng-dirty.ng-invalid>.p-multiselect:focus{border-color:#f65446}.p-radiobutton.p-error>.p-radiobutton-box,.p-radiobutton.p-invalid>.p-radiobutton-box{border-color:#f65446}p-radiobutton.ng-dirty.ng-invalid>.p-radiobutton>.p-radiobutton-box{border-color:#f65446}.p-selectbutton.p-error>.p-button,.p-selectbutton.p-invalid>.p-button{border-color:#f65446}p-selectbutton.ng-dirty.ng-invalid>.p-selectbutton>.p-button{border-color:#f65446}.p-togglebutton.p-button.p-error,.p-togglebutton.p-button.p-invalid{border-color:#f65446}p-togglebutton.ng-dirty.ng-invalid>.p-togglebutton.p-button{border-color:#f65446}.p-multiselect.p-error,.p-multiselect.p-invalid{border-color:#f65446}.p-multiselect.p-error:hover,.p-multiselect.p-error:active,.p-multiselect.p-error:focus,.p-multiselect.p-invalid:hover,.p-multiselect.p-invalid:active,.p-multiselect.p-invalid:focus{border-color:#f65446}.p-rating .p-rating-icon.p-rating-cancel{color:#f65446}.p-rating:not(.p-disabled):not(.p-readonly) .p-rating-icon.p-rating-cancel:hover{color:#f65446}@font-face{font-family:primeicons;font-display:block;font-weight:400;font-style:normal;src:url(data:application/font-woff;base64,d09GRgABAAAAAQSgAAsAAAABBFQAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAABPUy8yAAABCAAAAGAAAABgDxIHFmNtYXAAAAFoAAAAVAAAAFQXVtN1Z2FzcAAAAbwAAAAIAAAACAAAABBnbHlmAAABxAAA+PAAAPjwt9TQjGhlYWQAAPq0AAAANgAAADYegaTEaGhlYQAA+uwAAAAkAAAAJAfqBMBobXR4AAD7EAAAA8wAAAPMwkwotGxvY2EAAP7cAAAB6AAAAeht864ebWF4cAABAMQAAAAgAAAAIAECAaduYW1lAAEA5AAAA5wAAAOcIOdgrHBvc3QAAQSAAAAAIAAAACAAAwAAAAMD/gGQAAUAAAKZAswAAACPApkCzAAAAesAMwEJAAAAAAAAAAAAAAAAAAAAARAAAAAAAAAAAAAAAAAAAAAAQAAA6e4DwP/AAEADwABAAAAAAQAAAAAAAAAAAAAAIAAAAAAAAwAAAAMAAAAcAAEAAwAAABwAAwABAAAAHAAEADgAAAAKAAgAAgACAAEAIOnu//3//wAAAAAAIOkA//3//wAB/+MXBAADAAEAAAAAAAAAAAAAAAEAAf//AA8AAQAAAAAAAAAAAAIAADc5AQAAAAABAAAAAAAAAAAAAgAANzkBAAAAAAEAAAAAAAAAAAACAAA3OQEAAAAAAQDH/98C5gOfACkAAAU4ATEiJicBLgE1NDY3MQE+ATMyFhUUBgczCQEeARUUBgcxDgEjIjA5AQKnDRcI/l4JCQkJAaIIFg0aJAkIAf6KAXYICgoICRcMASEKCQGiCBcNDRcIAaIICSUaDBYI/or+iggXDQ0XCAkKAAAAAAEBGv/fAzkDnwAqAAAFOAEjIiYnMS4BNTQ2NzEJAS4BNTQ2MzIWFzEBHgEVFAYHMQEOASM4ATkBAVkBDBcJCAoKCAF2/ooHCSQaDRYIAaIJCQkJ/l4IFw0hCgkIFw0NFwgBdgF2CBYMGiUJCP5eCBcNDRcI/l4JCgAAAAABADcAugPGAr4AIgAAJTgBMSImJwEuATU0NjMyFhcxCQE+ATMyFhUUBgcxAQ4BIzECAA0WCP5tBQYkGQoSBwFpAWkHEAoZIwQE/m0IFg26CQgBlAcSCRkkBwX+mgFmBQUkGQgPB/5tCQsAAAABAD0AvAPNAsIAKQAAJSIwMSImJwkBDgEjIiY1NDY3MQE+ATMyFhcxAR4BFRQGBzEOASMwIiMzA5EBDBYI/pr+mgcRCRkjBAQBkQgWDAwWCAGRCAoKCAgUDAIBAbwJCAFm/p0FBSMZCA8HAZAICgoI/nAIFg0MFggHCAAAAgDFAAADOwOAACMAJgAAJTgBMSImJzMBLgE1NDY3MQE+ATMyFhcxHgEVERQGBxUOASsBCQERAwkIDwcB/e0JCwsJAhMGDwkGCwUMDw8MBQsGAf5BAY4ABQUBjgcVDAwVBwGOBQUDAgcXD/zkDxcGAQIDAcD+1QJWAAAAAAIAxQAAAzsDgAAjACYAADciJiczLgE1ETQ2NzM+ATMyFhcxAR4BFRQGBzEBDgEjOAEjMxMRAfcGDAUBDQ8PDAEEDAYIDwYCEwkLCwn97QYPCAEBMQGPAAMCBhgPAxwPFwcCAwUF/nIHFQwMFQf+cgUFAuv9qgErAAIAWwCYA6UC6AAmACkAACU4ATEiJicxAS4BNTQ2NzE+ATMhMhYXMR4BFRQGBzEBDgEjOAE5AQkCAgAMEwb+iQQFAwIGFg4C7A4WBgIDBQT+iQYTDP7nARkBGZgKCAHzBg8IBQsFCw4OCwULBQgPBv4NCAoB8/6JAXcAAAACAFsAmAOlAucAIAAjAAAlISImJzEuATU0NjcxAT4BMzIWFxUBHgEVFAYHMQ4BIzElIQEDdv0UDhYGAgMFBQF2BhQLCxQGAXYFBQMCBhYO/XECMv7nmA4LBQsGBw8GAfIJCQkIAf4OBg8HBgsFCw5dAXYAAAMAAP/ABAADwAAeAD0AXgAAJSInLgEnJjU0Nz4BNzYzMhceARcWFTEUBw4BBwYjMREiBw4BBwYVFBceARcWMzI3PgE3NjUxNCcuAScmIzEBOAExIiYvAS4BNTQ2MzIWFzEXHgEVFAYHMQ4BIzgBOQEBuFtQUXcjIiIjd1FQW1tQUXcjIiIjd1FQW0lAP2AbHBwbYD9ASUlAQF8bHBwbX0BASQIcCRAG8gUGGRIJDwbyBgcHBgYQCVAiI3dRUFtbUFF3IyIiI3dRUFtbUFF3IyIDGBwbX0BASUk/QGAbHBwbYEA/SUlAQF8bHPxYBwbyBg8JEhkGBfIGEAkJEAYGBwABABgAUgQYAyYAIAAAJS4BJzEBLgE1NDYzMhYXMQkBPgEzMhYVFAYHNQEOAQcxAXAJEAb+2wkLGhIMFQUBBgJlBQwGExkDAv18BhAJUgEHBwEkBhQLEhoMCv78AmMDBBoSBgsFAf18BwcBAAACAAL/wQQCA78AIACdAAABLgEnMScuATU0NjMyFhcxFwE+ATMyFhUUBgc1AQ4BBzETIicuAScmLwEuAS8BLgE1NDc+ATc2PwE+ATczPgEzMhYXJx4BFRQGIyImJzEuASMiBgc3DgEHNw4BBzEOARUUFhc1HgEXJx4BFzMeATMyNjcHPgE3Bz4BNzM+ATU0JicVPAE1NDYzMhYXMR4BFRQHDgEHBg8BDgEHIyoBIwGrCQ4GqgICGRIFCQSMAeQECgURGQIC/gEFDwhVSEJCcy8vIAIYHwUBAQETE0QwMToDKWI0AgwcDihLJAMOFBkSBAgEHD8hDBgMAi1SJAIlPhotMwIBBBsUARU0HwE2iUwMGAsBLVElAiU+GQEsMwEBGhISGQIBAhMTRTAxOgMqYzUCDRsNAQcBCAaqBAkFEhkCAowB4AIDGRIFCQUB/gEGCAH+uhMTRTAwOwMpYjQCDBsOSEJDcy4vIQEYIAUBAgwLAQMYDxIZAgIICgECAQUbFAEVNB83iE0MFwwCLVIlAiQ+Gi0zAQIBBRsUARU0HzeITQwXDAIBAgISGhcRDBsOSEJDcy4vIQEZIQYAAAABAG0ALQOUA1QANwAACQE+ATU0JiMiBgcxCQEuASMiBhUUFhcxCQEOARUUFhcxHgEzMjY3MQkBHgEzMjY3MT4BNTQmJzECSwE4CAkfFgsUCP7I/sgIEgsWHwgHATj+yAgICAgHEwsLEwgBOAE4CBMLCxMHCAgICAHAATgIFAsWHwkI/sgBOAcIHxYLEgj+yP7ICBMLCxMHCAgICAE4/sgICAgIBxMLCxMIAAAABAAA/8AEAAPAAB0APABeAH8AAAUiJy4BJyY1NDc+ATc2MzIXHgEXFhUxFAcOAQcGIxEiBw4BBwYVFBceARcWMzI3PgE3NjUxNCcuAScmIzEDOAExIiYnMS4BNTQ2NzEBPgEzMhYVFAYHNQEOASMiMDkBITgBIyImJwEuATU0NjMyFhcjAR4BFRQGBzEOASM4ATkBAgBqXV6LKCgoKIteXWpqXV6LKCgoKIteXWpYTk50ISIiIXROTlhYTk50ISIiIXROTlirCQ8GBgYGBgFWBQ8JERkGBf6qBRAIAQFWAQgQBf6qBQYZEQkPBgEBVgYGBgYGDwlAKCiLXl1qal1eiygoKCiLXl1qal1eiygoA6siIXROTlhYTk50ISIiIXROTlhYTk50ISL9gAYGBhAICRAFAVYFBhkRCQ8GAf6qBgYGBgFWBQ8JERkGBf6qBRAJCBAGBgYAAAABABX/1QPrA6sAJQAAARE0JiMiBhUxESEiBhUUFjMxIREUFhcxMjY1MREhMjY1MS4BIzECLxsUFBv+dBQcHBQBjBsUFBsBjBQcARsUAe8BjBQcHBT+dBsUFBv+dBQbARwUAYwbFBQbAAQAAP/ABAADwAAdADwATQBdAAAFIicuAScmNTQ3PgE3NjMyFx4BFxYVMRQHDgEHBiMRIgcOAQcGFRQXHgEXFjMyNz4BNzY1MTQnLgEnJiMxESImJxE0NjMyFhUxEQ4BIzE3ISImNTQ2MzEhMhYVFAYjAgBqXV6LKCgoKIteXWpqXV6LKCgoKIteXWpYTk50ISIiIXROTlhYTk50ISIiIXROTlgSGAEZEhIZARgS5P44ERkZEQHIERkZEUAoKIteXWpqXV6LKCgoKIteXWpqXV6LKCgDqyIhdE5OWFhOTnQhIiIhdE5OWFhOTnQhIv1HGREByBEZGRH+OBEZ4xkSEhkZEhIZAAAAAAEAAAGHBAAB+QAPAAABISImNTQ2MzEhMhYVFAYjA8f8chghIRgDjhghIRgBhyEYGCEhGBghAAAAAwAA/8AEAAPAAB0APABMAAAFIicuAScmNTQ3PgE3NjMyFx4BFxYVMRQHDgEHBiMRIgcOAQcGFRQXHgEXFjMyNz4BNzY1MTQnLgEnJiMxEyEiJjU0NjMxITIWFRQGIwIAal1eiygoKCiLXl1qal1eiygoKCiLXl1qWE5OdCEiIiF0Tk5YWE5OdCEiIiF0Tk5Y5P44ERkZEQHIERkZEUAoKIteXWpqXV6LKCgoKIteXWpqXV6LKCgDqyIhdE5OWFhOTnQhIiIhdE5OWFhOTnQhIv4qGRISGRkSEhkAAAEAAP/ABAADwAAbAAABFAcOAQcGIyInLgEnJjU0Nz4BNzYzMhceARcWBAAoKIteXWpqXV6LKCgoKIteXWpqXV6LKCgBwGpdXosoKCgoi15dampdXosoKCgoi15dAAAAAAIAAP/ABAADwAAdADwAAAUiJy4BJyY1NDc+ATc2MzIXHgEXFhUxFAcOAQcGIxEiBw4BBwYVFBceARcWMzI3PgE3NjUxNCcuAScmIzECAGpdXosoKCgoi15dampdXosoKCgoi15dalhOTnQhIiIhdE5OWFhOTnQhIiIhdE5OWEAoKIteXWpqXV6LKCgoKIteXWpqXV6LKCgDqyIhdE5OWFhOTnQhIiIhdE5OWFhOTnQhIgAAAAIAOQDHA8UCuQAaAB0AACU4ATEiJicBLgE1NDYzITIWFRQGBzEBDgEjMQkCAgAJEAb+ZQYHGhIDNhEZBgX+ZQYQCf7QATABMMcHBgGaBhAJExkaEggPBv5lBggBmv7QATAAAAACADsAxwPGArcAJQAoAAAlITgBMSImJzEuATU0NjcBPgEzMhYXMQEeARUUBgcxDgEjMCI5ASUhAQOa/MwOFQUCAQYGAZoGEAkJEAYBmgYHAgIFFQ0B/TYCYP7Qxw8MBAgECQ8GAZoGBwcG/mYGEAkECQQLDlgBMAAEAI7/4ANyA6AAJQAoAFMAVgAAASE4ATEiJicxLgE1NDY3AT4BMzIWFzEBHgEVFAYHMQ4BIzgBOQElIScROAExIiYnAS4BNTQ2NzE+ATM4ATEhOAExMhYXMR4BFRQGBwEOASM4ATkBAxc3A0n9bg0UBQIBBgYBSQYOCQkOBgFJBgYCAQUUDf3RAczmCQ8F/rcGBgIBBRQNApINFAUCAQYG/rcFDwnm5uYCBQ4LAwgFCA8GAUkGBgYG/rcGDwgFCAMLDlLm/KMGBgFJBg8IBQgDCw4OCwMIBQgPBv63BgYBSebmAAADAMb/wAM6A8AAJgApADoAAAUiJicBLgE1NDY3MQE+ATMyFhcjHgEVOAEVMREUMDEUBgcjDgEjMQkBEQEiJjURNDYzMhYVMREUBiMxAwgKEgf+MgcICAcBzgcSCgUKBQEOERENAQQKBf54AVf+IRUdHRUUHR0UQAgHAc4HEgoKEgcBzgcIAgIGGA8B/GQBDxgGAgICAP6pAq78qR0VA5wVHR0V/GQVHQADAMb/wAM6A8AAJgApADoAABciJiczLgE1OAE1MRE0MDE0NjczPgEzMhYXAR4BFRQGBzEBDgEjMRMRARMiJjURNDYzMhYVMREUBiMx+AUKBQEOERENAQQKBQoSBwHOBwgIB/4yBxIKMQFXiBQdHRQVHR0VQAICBhgPAQOcAQ8YBgICCAf+MgcSCgoSB/4yBwgDV/1SAVf+AB0VA5wVHR0V/GQVHQAAAAAIAAD/wAQAA8AAFAAlADkASgBfAHAAhACVAAABIyImNTE1NDYzMTMyFhUxFRQGIzEDIgYdARQWOwEyNj0BNCYjMREjIiY1MTU0NjMxMzIWFTEVFAYjAyIGHQEUFjsBMjY9ATQmIzElIyImNTE1NDYzMTMyFhUxFRQGIzEDIgYdARQWOwEyNj0BNCYjMREjIiY1MTU0NjMxMzIWFTEVFAYjAyIGHQEUFjsBMjY9ATQmIzEBRro6UlI6ujpRUTq6FBsbFLoTGxsTujpSUjq6OlFROroUGxsUuhMbGxMCLro6UVE6ujpSUjq6ExsbE7oUGxsUujpRUTq6OlJSOroTGxsTuhQbGxQB71E6ujpSUjq6OlEBdBsUuhMbGxO6FBv8XVI6ujpRUTq6OlIBdBsTuhQbGxS6Exu7UTq6OlJSOro6UQF0GxS6ExsbE7oUG/xdUjq6OlFROro6UgF0GxO6FBsbFLoTGwAAAAACAEP/wAO9A8AAJQA2AAAFOAExIiYnAS4BNTQ2MzIWFzEJAT4BMzIWFRQGBzEBDgEjOAE5ATEiJicRNDYzMhYVMREOASMxAgAKEgf+dAcHHRUKEQcBaQFpBxEKFR0HB/50BxIKFB0BHRUVHQEdFEAIBwGMBxEKFB0HBv6XAWkGBx0UChEH/nQHCB0VA5wVHR0V/GQVHQAAAAIAAAACBAADfQApADkAACU4ATEiJicBLgE1NDY3MQE+ATMyFhUUBgcxCQEeARUUBgcxDgEjOAE5AQEhIiY1NDYzMSEyFhUUBiMBvgoSB/50BwgIBwGMBxEKFB0HBv6XAWkHBwcHBxIKAhD8ZBUdHRUDnBUdHRUCCAcBjAcSCgoSBwGMBwcdFQoRB/6X/pcHEgoLEgYHCAGMHRUVHR0VFR0AAAAAAgAAAAIEAAN9ACoAOgAAJTgBMSImJzEuATU0NjcxCQEuATU0NjMyFhcxAR4BFRQGBzEBDgEjOAE5AQEhIiY1NDYzMSEyFhUUBiMCQgoSBwcHBwcBaf6XBgcdFAoRBwGMBwgIB/50BxELAYz8ZBUdHRUDnBUdHRUCCAcGEgsKEgcBaQFpBxEKFR0HB/50BxIKChIH/nQHCAGMHRUVHR0VFR0AAAACAEP/wAO+A8AAKQA6AAABOAExIiYnCQEOASMiJjU0NjcxAT4BMzIWFzEBHgEVFAYHMQ4BIzAiOQEBIiYnETQ2MzIWFTERDgEjMQOMChIH/pf+lwcRChUdBwcBjAcSCgoSBwGMBwgIBwYSCgH+dBQdAR0VFR0BHRQB0QcHAWn+lwYHHRQKEQcBjAcICAf+dAcSCgoSBwcH/e8dFQOcFR0dFfxkFR0AAAADAAAAZQQAAxsADwAfAC8AAAEhIiY1NDYzMSEyFhUUBiMRISImNTQ2MzEhMhYVFAYjESEiJjU0NjMxITIWFRQGIwPO/GQVHR0VA5wVHR0V/GQVHR0VA5wVHR0V/GQVHR0VA5wVHR0VAY4dFRUdHRUVHQEqHRQVHR0VFB39rR0VFB0dFBUdAAAABAAA/8AEAAPAAB0APABiAHMAAAUiJy4BJyY1NDc+ATc2MzIXHgEXFhUxFAcOAQcGIxEiBw4BBwYVFBceARcWMzI3PgE3NjUxNCcuAScmIzEROAExIiYvAS4BNTQ2MzIWFzEXNz4BMzIWFRQGBzEHDgEjOAE5ATEiJicRNDYzMhYVMREOASMxAgBqXV6LKCgoKIteXWpqXV6LKCgoKIteXWpYTk50ISIiIXROTlhYTk50ISIiIXROTlgJDwbkBQYZEggPBsXFBg8IEhkGBeQGDwkSGAEZEhIZARgSQCgoi15dampdXosoKCgoi15dampdXosoKAOrIiF0Tk5YWE5OdCEiIiF0Tk5YWE5OdCEi/UcGBuQGDgkSGQcFxcUFBxkSCQ4G5AYGGREByBEZGRH+OBEZAAAEAAD/wAQAA8AAHQA8AGYAdgAABSInLgEnJjU0Nz4BNzYzMhceARcWFTEUBw4BBwYjESIHDgEHBhUUFx4BFxYzMjc+ATc2NTE0Jy4BJyYjMRE4ATEiJi8BLgE1NDY3MTc+ATMyFhUUBgcxBxceARUUBgcxDgEjOAE5ATchIiY1NDYzMSEyFhUUBiMCAGpdXosoKCgoi15dampdXosoKCgoi15dalhOTnQhIiIhdE5OWFhOTnQhIiIhdE5OWAkPBuQFBwcF5AYOCRIZBwXFxQYHBwYGDwnk/jgRGRkRAcgRGRkRQCgoi15dampdXosoKCgoi15dampdXosoKAOrIiF0Tk5YWE5OdCEiIiF0Tk5YWE5OdCEi/UcGBuQGDwkJDwbkBQYZEggPBsXFBhAJCBAGBgbjGRISGRkSEhkABAAA/8AEAAPAAB0APABnAHcAAAUiJy4BJyY1NDc+ATc2MzIXHgEXFhUxFAcOAQcGIxEiBw4BBwYVFBceARcWMzI3PgE3NjUxNCcuAScmIzEROAExIiYnMS4BNTQ2NzE3Jy4BNTQ2MzIWFzEXHgEVFAYHMQcOASM4ATkBNyEiJjU0NjMxITIWFRQGIwIAal1eiygoKCiLXl1qal1eiygoKCiLXl1qWE5OdCEiIiF0Tk5YWE5OdCEiIiF0Tk5YCQ8GBgcHBsXFBQcZEgkOBuQFBwcF5AYPCeT+OBEZGREByBEZGRFAKCiLXl1qal1eiygoKCiLXl1qal1eiygoA6siIXROTlhYTk50ISIiIXROTlhYTk50ISL9RwYGBhAICRAGxcUGDwgSGQYF5AYPCQkPBuQGBuMZEhIZGRISGQAAAAAEAAD/wAQAA8AAHQA8AGYAdwAABSInLgEnJjU0Nz4BNzYzMhceARcWFTEUBw4BBwYjESIHDgEHBhUUFx4BFxYzMjc+ATc2NTE0Jy4BJyYjMRMwIjEiJi8BBw4BIyImNTQ2NzE3PgEzMhYXMRceARUUBgcxDgEjOAE5AQciJicRNDYzMhYVMREOASMxAgBqXV6LKCgoKIteXWpqXV6LKCgoKIteXWpYTk50ISIiIXROTlhYTk50ISIiIXROTljkAQgQBsXFBg8IEhkGBeQGDwkJDwbkBQcHBQYPCeQSGAEZEhIZARgSQCgoi15dampdXosoKCgoi15dampdXosoKAOrIiF0Tk5YWE5OdCEiIiF0Tk5YWE5OdCEi/ioHBsXFBQcZEgkOBuQFBwcF5AYPCQkPBgYH4xkRAcgRGRkR/jgRGQAAAAAEAAAANQQAA74AIAAjADMAQwAAJSEiJic1LgE1NDY3FQE+ATMyFhcxAR4BFRQGBzUOASMxJSEBESImPQE0NjMyFhUxFRQGIxUiJj0BNDYzMhYVMRUUBiMD1PxYDBQGAwMDAwHUBhQMDBQGAdQDAwMDBhQM/KMDEv53EhoaEhIaGhISGhoSEhoaEjUMCQEECwcGCwUBAzQJCwsJ/MwECwYHCwUBCgxYAq/+OxoSzRIZGRLNEhqwGhIdExkZEx0SGgACAb3/wAJDA8AADwAfAAAFIiYnETQ2MzIWFTERDgEjESImJzU0NjMyFhUxFQ4BIwIAHCYBJxwcJwEmHBwmASccHCcBJhxAJxwCbxwnJxz9kRwnA04nHCwcJyccLBwnAAAEAAD/wAQAA8AAEAAhAD8AXgAAJSImJxE0NjMyFhUxEQ4BIzERLgEnNTQ2MzIWFTEVDgEHMREiJy4BJyY1NDc+ATc2MzIXHgEXFhUxFAcOAQcGIxEiBw4BBwYVFBceARcWMzI3PgE3NjUxNCcuAScmIzECABIYARkSEhkBGBISGAEZEhIZARgSal1eiygoKCiLXl1qal1eiygoKCiLXl1qWE5OdCEiIiF0Tk5YWE5OdCEiIiF0Tk5YshkRAR0SGRkS/uMRGQGqARkRHREZGREdERkB/WQoKIteXWpqXV6LKCgoKIteXWpqXV6LKCgDqyIhdE5OWFhOTnQhIiIhdE5OWFhOTnQhIgAD////+gP/A4YAJwBDAF4AAAE4ATEiJicVCQEOASMiJjU0NjcxAT4BMzIWFzEBHgEVFAYHMQ4BIzEDISImNRE0NjMyFhUxESERNDYzMhYVMREUBiMxIyImNREjERQGIyImNTERNDY7ATIWFREUBiMxA9UIDQb+Rv5GBg0IEhoKCAHVBQ4HBw4FAdUICAQDBhILdf1AEhkZEhMZAmgZExIZGRLrEhqSGhISGhoS6hIaGhIBzwQFAQFM/rQEBBkTChMGAV8EBQUE/qEGEgoHDQUJC/4rGhICLBMZGRP+AAIAExkZE/3UEhoaEgFu/pISGhoSAZoSGhoS/mYSGgABAAD/wAQAA8AAUAAABSInLgEnJjU0Nz4BNzYzMhceARcWFzUeARUUBgcxDgEjIiYnMSYnLgEnJiMiBw4BBwYVFBceARcWMzI3PgE3NjUxNDYzMhYVMRQHDgEHBiMxAgBqXV2LKCkpKItdXWozMTBZKCgjBQcHBQYQCQgQBhwiIUooKCtYTk50ISIiIXROTlhZTk10IiIZERIZKCiLXl1qQCgpi11dampdXosoKAoJJBoaIQEGEAkIEAYGBgYGGxUWHggIIiJ0TU5ZWE5OdCEiIiF0Tk5YEhkZEmpdXosoKAAAAAADAFP/3AOtA9wAKABJAFYAAAEjNTQmIyIGFTEVIzU0JiMiBhUxFSMiBhUxERQWMzEhMjY1MRE0JiMxBTMVFBYzMjY1MTUzFRQWMzI2NTE1MzIWFTEVITU0NjMxASEiJjUxESERFAYjMQMVRRkRERj6GBERGUU/WVk/Aio/WVk//dZFGRERGPoYEREZRRwp/UwpHAIq/dYcKQK0KRwDbUURGRkRRUURGRkRRVk//Z8/WVk/AmE/WVNFERkZEUVFERkZEUUpHJiYHCn9FSgdAXb+ih0oAAMAAP/ABAADwAAdADwAZgAABSInLgEnJjU0Nz4BNzYzMhceARcWFTEUBw4BBwYjESIHDgEHBhUUFx4BFxYzMjc+ATc2NTE0Jy4BJyYjMRM4ATEiJi8BLgE1NDY3MTc+ATMyFhUUBgcxBxceARUUBgcxDgEjOAE5AQIAal1eiygoKCiLXl1qal1eiygoKCiLXl1qWE5OdCEiIiF0Tk5YWE5OdCEiIiF0Tk5YcgkQBeQGBgYG5AUPCREZBgXFxQYGBgYGDwlAKCiLXl1qal1eiygoKCiLXl1qal1eiygoA6siIXROTlhYTk50ISIiIXROTlhYTk50ISL9RwYG5AYPCQkPBuQFBhkSCA8GxcUGEAkIEAYGBgAAAAADAAD/wAQAA8AAHQA8AGIAAAUiJy4BJyY1NDc+ATc2MzIXHgEXFhUxFAcOAQcGIxEiBw4BBwYVFBceARcWMzI3PgE3NjUxNCcuAScmIzEROAExIiYvAS4BNTQ2MzIWFzEXNz4BMzIWFRQGBzEHDgEjOAE5AQIAal1eiygoKCiLXl1qal1eiygoKCiLXl1qWE5OdCEiIiF0Tk5YWE5OdCEiIiF0Tk5YCQ8G5AUGGRIIDwbFxQYPCBIZBgXkBg8JQCgoi15dampdXosoKCgoi15dampdXosoKAOrIiF0Tk5YWE5OdCEiIiF0Tk5YWE5OdCEi/bkGBuQFDwkRGQYFxcUFBhkRCQ8F5AYGAAAAAwAA/8AEAAPAAB0APABnAAAFIicuAScmNTQ3PgE3NjMyFx4BFxYVMRQHDgEHBiMRIgcOAQcGFRQXHgEXFjMyNz4BNzY1MTQnLgEnJiMxAzgBMSImJzEuATU0NjcxNycuATU0NjMyFhcxFx4BFRQGBzEHDgEjOAE5AQIAal1eiygoKCiLXl1qal1eiygoKCiLXl1qWE5OdCEiIiF0Tk5YWE5OdCEiIiF0Tk5YcgkPBgYGBgbFxQUGGREJDwXkBgYGBuQFEAlAKCiLXl1qal1eiygoKCiLXl1qal1eiygoA6siIXROTlhYTk50ISIiIXROTlhYTk50ISL9RwYGBhAICRAGxcUGDwgSGQYF5AYPCQkPBuQGBgAAAAMAAP/ABAADwAAdADwAZgAABSInLgEnJjU0Nz4BNzYzMhceARcWFTEUBw4BBwYjESIHDgEHBhUUFx4BFxYzMjc+ATc2NTE0Jy4BJyYjMRMwIjEiJi8BBw4BIyImNTQ2NzE3PgEzMhYXMRceARUUBgcxDgEjOAE5AQIAal1eiygoKCiLXl1qal1eiygoKCiLXl1qWE5OdCEiIiF0Tk5YWE5OdCEiIiF0Tk5Y5AEIEAbFxQYPCBIZBgXkBg8JCQ8G5AUHBwUGDwlAKCiLXl1qal1eiygoKCiLXl1qal1eiygoA6siIXROTlhYTk50ISIiIXROTlhYTk50ISL9uQYGxcUFBhkRCQ8F5AYGBgbkBRAJCQ8GBgYAAAACAM0AOQMzAzkAIwBHAAAlOAExIiYnMQEuATU0NjMyFhcxFzc+ATMyFhUUBgczAQ4BBzEROAExIiYnMQEuATU0NjMyFhcxFzc+ATMyFhUUBgc3AQ4BIzECAAwUB/79BAUhFwgOBt/fBg4IFyEFBQH+/QcUDAwUB/79AgMhFwYNBd/fBQ0GFyEDAwH++wcTCzkJCAEEBw8JFyAEA9/fAwQgFwkPB/7+CAoBAZoICAEHBQwHFyADAt/fAwIgFwcMBgH++wgKAAAAAAIAdgB/A4gC9wAqAE8AACUwIjEiJicxAS4BNTQ2NzEBPgEzMhYVFAYHMwcXHgEVFAYHMQ4BIyoBIzMhLgEnMQEuATU0NjcxAT4BMzIWFRQGBzEHFx4BFRQGBzEOAQcjAbUBCxUH/voICQkIAQYGEAgYIQQEAePjBwkJBwgTCwEBAQEBngsTB/74CAkJCAEIBQwHFyIDA+LiBwgIBwcTCwF/CQgBCAgUDAwUCAEGBAUhGAcPBuLiCBULDBUHBwgBCggBCAgVCwwVBwEEAgMhFwcMBuLiCBMLCxMICAoBAAAAAgB6AIEDigL0ACcATAAAJTgBMSImJzEuATU0NjcxNycuATU0NjMyFhcxAR4BFRQGBzEBDgEjMSEuAScjLgE1NDY3IzcnLgE1NDYzMhYXMQEeARUUBgcxAQ4BBzECSwwUCAcJCQfi4gIDIRcIDwYBBwcJCQf++QcVDP5jCxQGAQYICAcB4uICAyEXBwwGAQYICQkI/voHFAuBCQcIFAwMFAjh4gUMBxchBAT++ggVCwwUCP7+CQoBCggHEwsLEwjh4QYMBxchAwP++ggVCwwUCP7+CAoBAAAAAgDTAD8DOAM/ACkATgAAATgBIyImLwEHDgEjIiY1NDY3MTc+ATMyFhcxAR4BFRQGBzEOASMwIjkBES4BJzEnBw4BIyImNTQ2NzEBPgEzMhYXMRMeARUUBgcxDgEHMQMBAQsUB9zcBgwGFyAEBP4IFAsLFAgBAQcJCQcIEgsCCxMH3NwFDAcXIAMDAQAIFAsMFAf8BwcHBwYTCwHSCQfd3QIDIBcIDgb/BwkJB/7/BxQMCxQIBgj+bQEJCNzcAgMgFwYMBgEACAgICP8ACBMKCxMHCAkBAAAAAQCiAOwDXgKKACMAACU4ATEiJicxAS4BNTQ2MzIWFycXNz4BMzIWFRQGBzcBDgEjMQIADRcJ/tkEBiYaCRAHAf//BhAJGyUGBQH+1ggVDewKCAEqBxIJGyUFBAH//wMFJRsJEggB/tYICgAAAQFBAHsCvwL7ACkAACU4ATEiJicBLgE1NDY3MQE+ATMyFhUUBgcxBxceARUUBgcxDgEjMCI5AQKGDBUI/vUICQkIAQsHEAgYIgQE5eUICQkIBxQLAnsJCAELCBUMDBUIAQkEBSIXCA8G5eUIFQwMFQcHCAABAUAAegLAAvoAJAAAJS4BJzEuATU0NjcxNycuATU0NjMyFhcjAR4BFRQGBzEBDgEHMQF6DBUICAkJCObmAgIiFwgOBwEBDQgJCQj+8wcVDHoBCggIFQwMFQjm5gULBhciBAP+8wcVDAwVCP74CAoBAAAAAAEAqADvA2YCkQApAAAlOAExIiYvAQcOASMiJjU0NjcxAT4BMzIWFzEBHgEVFAYHMQ4BIyoBIzEDJQ0XCPz7Bg4HGiUFBAElCRcNDRYJASUICgoICRYNAQEB7woI+/sDAyUaCRAHASUICgoI/tsJFwwNFwkICgAAAAMAAP/AA/4DwAAwAFoAawAABSEuATU8ATUxNTQ2MzIWFTEVHAEVFBYXMSE+ATU8AScxNTQ2MzIWFTEVHAEVFAYHMQM4ATEiJi8BBw4BIyImNTQ2NzE3PgEzMhYXMRceARUUBgcxDgEjOAE5AQMiJjURNDYzMhYVMREUBiMxA2z9KD5WGhISGiEZAtoZIgEaEhMZVT2CCRAGy8sGDwkSGgYG6gYQCQkQBuoGBwcGBhAJ6hIaGhISGhoSQANZPgIEAa8TGRkTrwEDAhomAwMmGgIDAa8TGRkTrwIDAj5ZAwK+BwbLywUHGhIJDwbqBgcHBuoGEAkJEAYGB/5nGRIChBIaGhL9fBIZAAMAAP/ABAADwAAdADQARAAAASIHDgEHBhUUFx4BFxYzMjc+ATc2NTE0Jy4BJyYjATgBMTQ2NyMBDgEjIicuAScmNTQwOQEJAT4BMzIXHgEXFhUUBgczAgBqXV6LKCgoKIteXWpqXV6LKCgoKIteXWr+VTQuAQJYN4pOWE1OdCEiAvX9qDeKTVhOTnMiITMuAQPAKCiLXl1qal1eiygoKCiLXl1qal1eiygo/gBNijf9qC00IiF0Tk1YAf7yAlgtMyEic05OWE2KNwAAAAEAAP/XBAADpwBEAAABLgEnIyUDLgEjIgYHMQMFDgEHMQ4BFRQWFzEXAxwBFRQWFzEeATMyNjcjJQUeATMxMjY3MT4BNTQmNTEDNz4BNTQmJzED/gQSCwH+0YgFFAwMFAWI/tEMEgQBAQcF3DQJCAUNBwUKBQEBDwEPBAoGBwwFCAoBNNsGBwEBAjcLDwIsARMJDAwJ/u0sAg8LAwcECQ8G1f7SAgMCCxEGBAQDAo6OAwIEBAYRCwIDAgEu1QYQCQMHAwACAAD/1wQAA6cARABtAAAFIiYnMSUFDgEjIiYnMS4BNTQ2NTETJy4BNTQ2NzE+ATcxJRM+ATMyFhcxEwUeARcxHgEVFAYHMQcTFhQVFAYHMQ4BIzElMhYXMRcnNCY1NDY3MTcnLgEnNScHDgEHMQcXHgEVFAYVMQc3PgEzMQMjBgoE/vH+8QQKBgcMBQgKATXdBQcBAQQSDAEviAUUDAwUBYgBLwwSBAEBBwXdNAEJCAUNBv7dBQoF1ykBBwau8QoQBWxsBBEK8a4GBwEp1wUJBikDAo6OAgMEBAYRCwIEAQEu1QYPCQQHAwsPAiwBEwkMDAn+7SwCDwsDBwQJDwbV/tICAwILEQYEBOwCAnDwAQQCCQ8GqCQBDQgB2tsJDAIjqAYPCQIEAfJwAwMAAAAAAgBY/8EDqAPBAD0AaAAABSInLgEnJjU0Nz4BNzYzMTMyFhUUBiMxIyIHDgEHBhUUFx4BFxYzMjc+ATc2NTE0NjMyFhUxFAcOAQcGIzEROAExIiYnMS4BNTQ2NzE3Jy4BNTQ2MzIWFzEXHgEVFAYHMQcOASM4ATkBAgBYTU1zISIiIXNNTViSEhoaEpJGPT1bGxoaG1s9PUZGPT1bGxoaEhIaIiFzTU1YCRAGBgcHBpCQBggaEgkRBq8GBwcGrwYQCT8hIXNNTldYTU1zIiEaEhIaGhpcPT1GRT49WxobGxpbPT5FEhoaEldOTXMhIQJIBwYGEAkJEAaQkQYQChIaCAawBhAJCRAGrwYHAAMAAP/hBAADnwAdACsAVwAAASInLgEnJjU0Nz4BNzYzMhceARcWFTEUBw4BBwYjESIGFRQWMzI2NTE0JiMBIiY1MTQnLgEnJiMiBw4BBwYVFAYjIiY1MTQ3PgE3NjMyFx4BFxYVFAYjMQIAMy0uQxMUFBNDLi0zMy0uQxMUFBNDLi0zPldXPj5XVz4BzhQdEBFaUVCBgVBRWhEQHRQVHTo7o1dYOTlYV6M7Oh0VAa8UE0QtLTM0LS1DExQUE0MtLTQzLS1EExQBjVc+PVdXPT5X/KUdFTAoJzgQDw8QOCcoMBUdHRV1QEA7BAUFBDtAQHUVHQAEAAD/wAQAA8AALgBYAGoAfgAAASEiBhUxERQWMzI2NTERNDYzMSEyFhUxERQGIzEhIgYVFBYzMSEyNjUxETQmIzEBHgE7ATI2NTQmIzEjNz4BNTQmIyIGBzEHNTQmIyIGFTEVFBYXNR4BFzMHIyIGHQEUFjsBMjY9ATQmIzETFAYjMSMiJjUxNTQ2MzEzMhYVMQNf/UJDXhoSEhorHgK+HisrHv6hEhoaEgFfQ15eQ/5zBAgF6hIaGhKAvAYGGhIJDwa8GhISGgIBBAwHAbywKjw8KrAqPDwqDwkGsAYICAawBgkDwF5D/qESGhoSAV8eKyse/UIeKxoSEhpeQwK+Q179ugECGhISGrwGDwkSGgYGvIASGhoS6gUJBAEIDAQ+PCqwKjw8KrAqPP7qBggIBrAGCQkGAAAFAAD/wAQAA8AALgBDAF8AcQCFAAAFISImNTQ2MzEhMjY1MRE0JiMxISIGFTERFAYjIiY1MRE0NjMxITIWFTERFAYjMQMiJj0BIyImNTQ2MzEzMhYdARQGIwUuAScjLgE1NDY3IwE+ATMyFhUUBgcxAQ4BBzEDIyImPQE0NjsBMhYdARQGIzEDIgYVMRUUFjMxMzI2NTE1NCYjMQNf/qESGhoSAV8eKyse/UIeKxoSEhpeQwK+Q15eQ3USGr4SGhoS6hIaGhL++QkPBQEFBgYGAQEIBg8JEhoHBf71BQ8JzbAqPDwqsCo8PCqwBggIBrAGCQkGQBoSEhorHgK+HisrHv6hEhoaEgFfQ15eQ/1CQ14B1BoSvhoSEhoaEuoSGh0BBwYGDwkIDwYBBwYGGhIIEAb+/AYHAf5JPCqwKjw8KrAqPAElCQawBggIBrAGCQADAAH/wQQBA78ALgBEAGAAAAUhIiY1MRE0NjMxITIWFRQGIzEhIgYVMREUFjMxITI2NTERNDYzMhYVMREUBiMxEyImPQEjIiY1NDYzMTMeARcVDgEjMQUiJicxLgE1NDY3MQE+ATMyFhUUBgcjAQ4BIzEDXv1EQ15eQwFeEhoaEv6iHisrHgK8HisaEhIaXkN1Ehq+EhkZEuoSGQEBGRL+hQkPBgUGBgUBfAYQChIZBwYB/oIGDwg/XkMCvENeGhISGise/UQeKyseAV4SGhoS/qJDXgK9GRK+GhISGgEZEuoSGZIIBgYPCQgPBgF7BggaEgkRBv6IBggAAAAFAAD/wAQAA8AADgA3AG0AhACZAAABISImNTQ2MyEyFhUUBiMDISoBIyImJzERNDYzMhYVMREUFjMhMjY1ETQ2MzIWFTERDgEjKgEjMxMwIjEiJjU4ATkBNTQmIyEiBh0BFAYjIiY1MTU+ATM6ATMjIToBMzIWFzEVOAExFAYjOAE5AQEiJjURNDYzMhYVMRE4ARUUBiM4ATkBMyImNTERNDYzMhYVMRE4ATEUBiMxA9T8WBIaGhIDqBIaGhLQ/fgCBQI4UQMZEhMZJBcCBxkiGxQUGwNROAIFAwEHARIZJBf+uRgiGhISGgRROAEDAgEBRgEEAjhRBBoS/o0SGhoSEhoaEtASGhoSEhoaEgKBGhISGhoSEhr9P003AmYSGhoS/ZoSGhoSAmYUGxsU/Zo3TQL5GRJYEhoaElgSGRkSWDdNTTdYEhr95BkSAQkTGRkT/vgBEhkZEgEJExkZE/74EhoAAAQANP/0BDQDUQAeAC0AWQBpAAABIicuAScmNTQ3PgE3NjMyFx4BFxYVMRQHDgEHBiMxESIGFRQWMzI2NTE0JiMxASImNTE0Jy4BJyYjIgcOAQcGFRQGIyImNTE0Nz4BNzYzMhceARcWFRQGIzETIyImNTQ2MzEzMhYVFAYjAgAuKSg9ERISET0oKS4uKSg9ERISET0oKS43T083N09PNwGgExoPDlJISHR0SEhSDg8aExIaNDWTTk40NE5OkzU0GhJnzxMaGhPPExoaEwGTEhE9KCkuLikoPRESEhE9KCkuLikoPRESAWVPNzdOTjc3T/z8GhIsIyQzDg0NDjMkIywSGhoSajk6NQQEBAQ1OjlqEhoBnxsSEhsbEhIbAAAAAAUANP/0BDQDUQAeAC0AWQBqAHoAAAEiJy4BJyY1NDc+ATc2MzIXHgEXFhUxFAcOAQcGIzERIgYVFBYzMjY1MTQmIzEBIiY1MTQnLgEnJiMiBw4BBwYVFAYjIiY1MTQ3PgE3NjMyFx4BFxYVFAYjMREiJj0BNDYzMhYVMRUUBiMxNyMiJjU0NjMxMzIWFRQGIwIALikoPRESEhE9KCkuLikoPRESEhE9KCkuN09PNzdPTzcBoBMaDw5SSEh0dEhIUg4PGhMSGjQ1k05ONDROTpM1NBoSExoaExIaGhJnzxMaGhPPExoaEwGTEhE9KCkuLikoPRESEhE9KCkuLikoPRESAWVPNzdOTjc3T/z8GhIsIyQzDg0NDjMkIywSGhoSajk6NQQEBAQ1OjlqEhoBOBoS0BIaGhLQEhpnGxISGxsSEhsAAAMAAP/ABAADwAAdADwAUQAABSInLgEnJjU0Nz4BNzYzMhceARcWFTEUBw4BBwYjESIHDgEHBhUUFx4BFxYzMjc+ATc2NTE0Jy4BJyYjMRMjLgEnETQ2MzIWFTEVMzIWFRQGIwIAal1eiygoKCiLXl1qal1eiygoKCiLXl1qWE5OdCEiIiF0Tk5YWE5OdCEiIiF0Tk5Yq6sSGAEZEhIZgBEZGRFAKCiLXl1qal1eiygoKCiLXl1qal1eiygoA6siIXROTlhYTk50ISIiIXROTlhYTk50ISL+KgEYEgEcEhkZEvEZEhIZAAAFAAAAQwQAAz0AHQArAE8AjACiAAABIicuAScmNTQ3PgE3NjMyFx4BFxYVMRQHDgEHBiMRIgYVFBYzMjY1MTQmIwEuATUxNCYjIgYVFAYjIiY1MTQ3PgE3NjMyFx4BFxYVFAYHMQEjLgE1NDYzOgEXIzIWFRQGIyoBIzMiJiMiBgcxDgEHMRwBFRQWFzEyFjMyNjcxPgEzMhYVFAYHMQ4BBzEBIiY1MTQ2MzIWFRQGIzEiBhUUBiMxAmkpJCM2DxAQDzYjJCkpJCQ1DxAQDzUkJCkxRUUxMUVFMQFwERd8zMx8FxEQFy8ugkVFLi5FRYIvLhcQ/WYRPVJdQQQIBAEQFhcQAgMCAQIEAg4aCgsPAikeAQQCCxYJBAsFERcKCREpF/7oEBdUixAYGBBcNBcRAbMPEDUkJCkpIyQ2DxAQDzYkIykpJCQ1EA8BO0UxMUVFMTFF/VUBFhFMXl5MERcXEV0zMy4EBAQELjMzXREWAQFFBlo+QV0BFxAQFwEKCQkbEAIEAh8tAgEHBQMDFxALEgULDQH+4xcQaoIXEBAXRVkQFwACAAH/vwP/A78AKwBAAAAXOAExIiYnMS4BNTwBNTE3NDY3AT4BMzIWMzEyFhcxHgEVFAYHMQEOASMxBxMHNwE+ATU0JiMwIjkBIiYjIgYHMS0JEAYGBxMHBgKWGkMmAgMBJ0UbGh4bF/1pBQ4I6TcMpAKNCw08KwEBAwITIQ0+BgYGEQkBAgHmCA8FApcYHAEdGRtHKCZEGv1nBgcVAQKkDwKODSITKzwBDgwAAwABADQEAQNUAGEAhwCZAAAlIiY1NDYzMTI2NS4BJyMOAQc3DgEjIiYnMSYnLgEnJiMiBw4BBwYHMRQWMzIWFRQGIzEiJy4BJyY1PAE1NDc+ATc2MzIXHgEXFh8BPgEzMDI5ARYXHgEXFhcVBgcOAQcGIwU4ATEiJi8BLgE1NDYzMhYXMRc3PgEzMhYVFAYHMQcOASMwIiMxMSImNTERNDYzMhYVMREUBiMxAzASGBgSRDgHZUcBDxwNAQMIBQ4VBA4bG0gsLDA8NDVOFxcBJVcSGBgSTSoqJwMEHh1lRERNOjU1WiIjFQEKFgsBNS4vRhUWAwEDBCgqKk3+0AkPBZwGBhkRCA8Ff38FDwgRGQYGnAUOCAEBERgYEREYGBFnGBESGE5hSGUHAQUFAQIBEQ0sJSU1Dw8WF040NTuGmBgSERgkI25AQTsBBAJNRERlHR4RET0qKjMCAgIEFRZGLi41ARosLFMfHjMGBpwGDggRGQYFf38FBhkRCA4GngUFGBEBXxEZGRH+oREYAAAAAAMAAQA0BAEDVABhAIUAlwAAJSImNTQ2MzEyNjUuAScjDgEHNw4BIyImJzEmJy4BJyYjIgcOAQcGBzEUFjMyFhUUBiMxIicuAScmNTwBNTQ3PgE3NjMyFx4BFxYfAT4BMzAyOQEWFx4BFxYXFQYHDgEHBiMnIiYvAQcOASMiJjU0NjcxNz4BMzIWFzEXHgEVFAYHMQ4BIzEHIiY1MRE0NjMyFhUxERQGIzEDMBIYGBJEOAdlRwEPHA0BAwgFDhUEDhsbSCwsMDw0NU4XFwE/PRIYGBIzJyc0DQ0eHWVERE06NTVaIiMVAQoWCwE1Li9GFRYDAQMEKCoqTZQIDwZ/fwUPCBEZBgacBQ8JCQ8FnAYHBwYFDwmcERgYEREYGBFnGBESGE5hSGUHAQUFAQIBEQ0sJSU1Dw8WF040NTuPjxgSERgXF11FRVwBBAJNRERlHR4RET0qKjMCAgIEFRZGLi41ARosLFMfHpAGBn9/BQYYEQgPBZwGBwcGnAUQCAkPBQYGwxgRAV8RGRkR/qERGAACAAAASgQAAzYAKwBeAAAlISInLgEnJjU0Nz4BNzYzMhceARcWHwE+ATMxFhceARcWFxUUBw4BBwYjMQEiBw4BBwYVFBceARcWMzEhPgE1MS4BJyMiBgc3DgEjIiYnMy4BJzEmJy4BJyYjMCI5AQL5/n1ORERlHh0dHmVERE45NTRZIyIWAQoWDDUvLkYWFgMVFEgwLzf+fT00NU8XFxcXTzU0PQGDS2kGZkcBDxwNAQQIBAUIBAEICgMOGhtJLC0xAUoeHWZERE1NRERmHR4REDspKTICAgIDFhVHLi41ATYwMEcVFQKZFxdPNTU8PDU1TxcXAWlKSGYGBgUBAgEBAgMNCC0nJjcPEAAABAAEADUEBANLAA8AIAAxAEEAAAEhIiY1NDYzMSEyFhUUBiM3ISImNTQ2MzEhMhYVFAYjMREhIiY1NDYzMSEyFhUUBiMxByEiJjU0NjMxITIWFRQGIwPU/bcSGhoSAkkSGhoSBPxYEhoaEgOoEhoaEvxYEhoaEgOoEhoaEgT9txIaGhICSRIaGhICCRoSEhoaEhIa6hoSEhoaEhIa/iwaEhIaGhISGuoaEhIaGhISGgAEAAAAKgQAAzkAEAAhADIAQwAAASEiJjU0NjMxITIWFRQGIzElISImNTQ2MzEhMhYVFAYjMREhIiY1NDYzMSEyFhUUBiMxBSEiJjU0NjMxITIWFRQGIzECcP28EhoaEgJEEhoaEgFk/GASGhoSA6ASGhoS/GASGhoSA6ASGhoS/pz9vBIaGhICRBIaGhIB+hoSEhkZEhIa6BoSEhkZEhIa/jAZEhIaGhISGegZEhIaGhISGQAEAAAANQQAA0sADwAgADAAQAAAASEiJjU0NjMxITIWFRQGIzchIiY1NDYzMSEyFhUUBiMxESEiJjU0NjMxITIWFRQGIwchIiY1NDYzMSEyFhUUBiMDJf22EhkZEgJKEhkZEq/8WBIaGhIDqBIaGhL8WBIaGhIDqBIaGhKv/bYSGRkSAkoSGRkSAgkaEhIaGhISGuoaEhIaGhISGv4sGhISGhoSEhrqGhISGhoSEhoAAAQAAAA1BAADSwAPACAAMABAAAABISImNTQ2MzEhMhYVFAYjNSEiJjU0NjMxITIWFRQGIzERISImNTQ2MzEhMhYVFAYjFSEiJjU0NjMxITIWFRQGIwPU/FgSGhoSA6gSGhoS/FgSGhoSA6gSGhoS/FgSGhoSA6gSGhoS/FgSGhoSA6gSGhoSAgkaEhIaGhISGuoaEhIaGhISGv4sGhISGhoSEhrqGhISGhoSEhoAAAAABAAB/8AEAAPAAA0AGwDrAaQAAAEiJjU0NjMyFhUxFAYjNSIGFRQWMzI2NTE0JiMTIiY1MDQ5ATQmJzEuASMiBgcxDgEHMTgBIyImJzEuATU0NjcxPgE1PAEnFS4BIzEiJicxNDYzOAE5ATI2NzE+ATU0JicxLgEnMTA0NTQ2NzE+ATMyFhcxHgEzMjYzMT4BNTE4ATE0NjcxHgEVMBQ5ARQWFzEeATMyNjcxPgE3MToBMzIWFzEeARUUBgcxDgEVFBYXMR4BMzEeARcxDgEjMCI5ASIGBzEOARUUFhcxHgEXMTAUFRQGBzEOASMiJicxLgEjIgYHMw4BFTEUBgcxJzAyMTIWFyMeARcxMBQxFBYXMz4BNTA0OQE+ATczPgEzMhYXMR4BMzI2NTQmJzEuATU0NjcVPgEzMTIwMTI2NzEuASMwIjkBLgEnIy4BNTQ2NzE+ATU0JiMiBgcxDgEjIiYnMTQwMTQmJzEOARUwFDkBDgEPAQ4BIyImJzMuASMiBhUUFhcxHgEVFAYHNQ4BIzEwIjEiBgcxHgEzMDI5ATIWFxUeARUUBgcxDgEVFBYzMjY3MT4BMzECAEdkZEdHZGRHIzExIyMxMSMENkwJCAMGAwYLBBEvGwEaLxISFBQSBAUBBA8JNk0BTDYIDQQBAQQEERQBFBESLxsbLxIFDAYDBAIICks2NUwJBwIFAwYLBBEvGwECARotERIUFBIDBQEBBA8JNUwCAUs2AQgOBAEBBQQRFAEUERIvGxsvEgQKBgMFAwEICUs1nwEMFwoBHygBGBEBERcBJh4BCRcMGSoQBg8IERkHBRASBQQOOSMBERkBARoRASQ6DgEEBBIQBQcYEggPBg8pFzBEARgREhcBJx8BChcMGCsRAQYPCREYBgYPEgUEDTkjAREZAQEaEQEkOQ8EBRIQBgYYEQkPBREqGAEVZEdHZGRHR2T/MSMjMTEjIzH9rEw2AQgNBAEBBAQRFAEUERIvGxsvEgQLBwIEAwEICUs1NkwJCAMGAwYLBBEvGwEBGi8REhQUEgQFAQQPCTZNAgFLNgEIDgQBAQUEERQBFBESLxsbLxIEDAYDBQIICgFLNTVMCQcCBQMGCwQRLxsBARovERIUFBIEBAEBBA8JNUwC9gUEDTkjAREZAQEaEQEkOQ8EBRIQBgYYEQkPBRArGAwXCwEfJhgRERgBJx8KFwwZKxAGDwgRGQcFDxFCLwERGQEBGhEBJDoOAQQEEhAFBxgSCA8GECoYDBcLASAoGRERGCYeAQoXDBgrDwYPCREYBgYPEgAABAAA/8AEAAPAADcAVABoAGwAACUjIiY1NDYzMTMyNjUxNTQmIzEhIgYVMRUUFjMxMzIWFRQGIzEjIiY1MTU0NjMxITIWFTEVFAYjAyImPQEhFRQGIyImNTE1NDYzMSEyFhUxFRQGIzEDISImNTERNDYzMSEyFhUxERQGIyUhESEDX3USGhoSdR4rKx79Qh4rKx51EhoaEnVDXl5DAr5DXl5DdRIa/oQaEhIaKx4Bmh4rGhId/mYeKyseAZoeKyse/nUBfP6EqhoSEhorHuoeKyse6h4rGhISGl5D6kNeXkPqQ14B1BoSvr4SGhoSzR4rKx7NEhr9QiseAZoeKyse/mYeK1gBfAAAAgAP/8AD8QPAACIANgAABSMiJicRAS4BNTQ2NxU+ATMhMhYXFR4BFRQGBzEBEQ4BIzEnMxE4ATE0NjcxASEBHgEVOAE5AQJ48BMaAf6+BAUDAgYVDQOIDRUGAgMFBP6+ARoTw5YFBAEV/S4BFgQFQBsSAdMBuAYNCAYKBQELDg4KAQQKBgcOBv5I/i0SG1oBtQgNBgF8/oQGDQgAAgBY/8EDqAPBAD0AZwAABSInLgEnJjUxNDYzMhYVMRQXHgEXFjMyNz4BNzY1NCcuAScmIzEjIiY1NDYzMTMyFx4BFxYVFAcOAQcGIzEROAExIiYvAS4BNTQ2NzE3PgEzMhYVFAYHMQcXHgEVFAYHMQ4BIzgBOQECAFhNTXMhIhoSEhoaG1s9PUZGPT1bGxoaG1s9PUaSEhoaEpJYTU1zISIiIXNNTVgJEAavBgcHBq8GEQkSGggGkJAGBwcGBhAJPyEhc01OVxIaGhJFPj1bGhsbGls9PkVGPT1cGhoaEhIaISJzTU1YV05NcyEhAkgHBq8GEAkJEAawBggaEgoQBpGQBhAJCRAGBgcAAAIAhP/AA3wDwAAnAEMAAAUiJicxJQUOASMiJicxLgE1MRE0NjMxITIWFTEROAExFAYHMQ4BIzEBOAExMhYXMQURNCYjMSEiBhUxESU+ATM4ATkBA1AHDAb+yf7JBQwGBgwFCg1eQwG2Q14MCwQLBv6wBw0FAQwrH/5KHysBDAUNB0AEBNnZAwQEAwUTDAMzQ15eQ/zNDRQGAgMBQgQEugLfHisrHv0hugQEAAAHAAD/wAQAA8AAHQAvAEEAUgBkAHYAiAAAASIHDgEHBhUUFx4BFxYzMjc+ATc2NTE0Jy4BJyYjASMmJy4BJyYnFxYXHgEXFhcVBSEGBw4BBwYHMyYnLgEnJic1NTY3PgE3NjcjFhceARcWFxUBBgcOAQcGBxUjNjc+ATc2NzMBMxYXHgEXFhcnJicuAScmJzUBNjc+ATc2NzUzBgcOAQcGByMCAGpdXosoKCgoi15dampdXosoKCgoi15dagGonQgPDyocGyEBQjg4VRsbB/2jAWoKEREuHR0iASIcHS4REAsKEREuHR0iASIcHS4REAv+5yAcGyoPDwidBxsbVTc4QAP+vJ0IDw8qHBshAUE4OFYbGwcCDCAcGyoPDwidBxsaVTg3QQMDwCgoi15dampdXosoKCgoi15dampdXosoKP4rNTMyXisrJgEQIyJhPDxDAlY0MjFbKSokJSkpWjAxMwRWNDIxWykqJCUpKVowMTMEAXMmKitdMTI0BEQ8PWEiIhH+OTYyM10rKyYBECIjYDw7QwL+jyYqK1wyMjQERD09YSMiEQAAAwGa/8ACZgPAAAsAFwAjAAABFAYjIiY1NDYzMhYRFAYjIiY1NDYzMhYRFAYjIiY1NDYzMhYCZjwqKjw8Kio8PCoqPDwqKjw8Kio8PCoqPAHAKjw8Kio8PAFwKzw8Kyo8PPyiKjw8Kis8PAAAAwAAAVoEAAImAAsAFwAjAAABFAYjIiY1NDYzMhYFFAYjIiY1NDYzMhYFFAYjIiY1NDYzMhYCZjwqKjw8Kio8AZo8Kis8PCsqPPzNPCsqPDwqKzwBwCo8PCoqPDwqKjw8Kio8PCoqPDwqKjw8AAAAAAQAU//AA60DwAAoAEkAVgCgAAABIzU0JiMiBhUxFSM1NCYjIgYVMRUjIgYVMREUFjMxITI2NTERNCYjMQUzFRQWMzI2NTE1MxUUFjMyNjUxNTMyFhUxFSE1NDYzMQEhIiY1MREhERQGIzEDLgEjIgYHMQcnLgEjIgYVFBYXMRcHDgEVFBYXMR4BMzAyOQE4ATEyNj8BFx4BMzgBOQEwMjEyNjcxPgE1NCYnMSc3PgE1NCYnMQMVRRkRERj6GBERGUU/WVk/Aio/WVk//dZFGRERGPoYEREZRRwp/UwpHAIq/dYcKQK0KRyqBQ8JCQ8FMTEFDwgRGQYGMDAGBwcGBQ8IAQkPBTExBQ8JAQgPBQYHBwYwMAYHBwYDUUUSGBgSRUUSGBgSRVk//Z8/WVk/AmE/WVNFERgYEUVFERgYEUUoHZiYHSj9FSkcAXb+ihwpATsGBgYGMTEFBhgRCQ4GMDEGDwgJDwYFBwcFMTEFBwcFBg8JCA8GMTAGDwkIDwYAAAQAU//AA60DwAAoAEkAVgBmAAABIzU0JiMiBhUxFSM1NCYjIgYVMRUjIgYVMREUFjMxITI2NTERNCYjMQUzFRQWMzI2NTE1MxUUFjMyNjUxNTMyFhUxFSE1NDYzMQEhIiY1MREhERQGIzEnIyIGFRQWMzEzMjY1NCYjAxVFGRERGPoYEREZRT9ZWT8CKj9ZWT/91kUZEREY+hgRERlFHCn9TCkcAir91hwpArQpHKbeERgYEd4RGBgRA1FFEhgYEkVFEhgYEkVZP/2fP1lZPwJhP1lTRREYGBFFRREYGBFFKB2YmB0o/RUpHAF2/oocKfYYEREZGRERGAAAAAQAU//AA60DwAAoAEkAVgB6AAABIzU0JiMiBhUxFSM1NCYjIgYVMRUjIgYVMREUFjMxITI2NTERNCYjMQUzFRQWMzI2NTE1MxUUFjMyNjUxNTMyFhUxFSE1NDYzMQEhIiY1MREhERQGIzEnIzU0JiMiBhUxFSMiBhUUFjMxMxUUFjMyNjUxNTMyNjU0JiMDFUUZEREY+hgRERlFP1lZPwIqP1lZP/3WRRkRERj6GBERGUUcKf1MKRwCKv3WHCkCtCkcpkUZEREZRREYGBFFGRERGUURGBgRA1FFEhgYEkVFEhgYEkVZP/2fP1lZPwJhP1lTRREYGBFFRREYGBFFKB2YmB0o/RUpHAF2/oocKflFERkZEUUYERIYRREZGRFFGBIRGAADAAD/wAQAA8AAEwAnAEoAACUhIiY1MRE0NjMxITIWFTERFAYjASIGFTERFBYzMSEyNjUxETQmIzETISImNTE1MxUUFjMxITI2NTERNCYjMSM1MzIWFTERFAYjMQJ1/ixDXl5DAdRDXl5D/iweKyseAdQeKyse6v4sQ15YKx4B1B4rKx51dUNeXkOqXkMB1ENeXkP+LENeAr4rHv4sHisrHgHUHiv8WF5DdXUeKyseAdQeK1heQ/4sQ14AAAMAAP/AA/4DwAAwAFYAZwAABSEuATU8ATUxNTQ2MzIWFTEVHAEVFBYXMSE+ATU8AScxNTQ2MzIWFTEVHAEVFAYHMQE4ATEiJi8BLgE1NDYzMhYXMRc3PgEzMhYVFAYHNQcOASM4ATkBMSImNRE0NjMyFhUxERQGIzEDbP0oPlYaEhIaIRkC2hkiARoSExlVPf6UCRAG6gYGGhIJDwbLywYPCRIaBgbqBhAJEhoaEhIaGhJAA1k+AgQBrxMZGROvAQMCGiYDAyYaAgMBrxMZGROvAgMCPlkDASUGBusFEAgTGQYFzMwFBhkTCBAGAesGBhkSAoQSGhoS/XwSGQAAAAAEAGn/wAOXA8AAJAAnAD0AUwAACQEuASsBIgYVMRUjIgYVMREUFjMxITI2NTE1MzI2NTERNCYnMSUXIxMUBiMxISImNTERNDYzMTMRFBYzMTM3ISImNTERNDYzMTMVHgEXMxEUBiMxA4v+3gUPCII7VUI7VVU7AXA8VA47VQcF/uubmzUnG/6QGyYmG0JVO+Bc/sQbJiYbXAEXEPkmGwKSASIGBlU7QlU7/fI7VVU7QlU7AVYIDQWom/2xGyYmGwIOGyb+gztVTyYbAg4bJvkQFwH+0hsmAAADAHX/wAOLA8AAGAAbADEAAAkBLgEjISIGFTERFBYzMSEyNjUxETQmJzElFyMTISImNTERNDYzMTMRHgEXIREUBiMxA37+vQYQCf76Q15eQwHUQ14HBv7LrKyh/iweKyse2wEZEgEWKx4CcAFDBgdeQ/1CQ15eQwHxCQ8Guqz9miseAr4eK/7qEhkB/jseKwAEAAD/wAQAA8AAHQA8AIEAjQAAASIHDgEHBhUUFx4BFxYzMjc+ATc2NTE0Jy4BJyYjESInLgEnJjU0Nz4BNzYzMhceARcWFTEUBw4BBwYjMQMOARU4ATkBFBYzMjY1MTgBMTQ2NzE+ATMyFhcxHgEVFAYjMCI5AQ4BBxUUFjMyNjUxNT4BNzE+ATU0JicxLgEjIgYHMRMUBiMiJjU0NjMyFgIAal1eiygoKCiLXl1qal1eiygoKCiLXl1qWE5OdCEiIiF0Tk5YWE5OdCEiIiF0Tk5YgxkdGRIRGRANDiQVFSQODRA6KQESGAEZEhIZGiwSGR0dGRpDJiZDGsoqHR0qKh0dKgPAKCiLXl1qal1eiygoKCiLXl1qal1eiygo/FUiIXROTlhYTk50ISIiIXROTlhYTk50ISICoBlEJhIZGRIVJA0NDw8NDSUVKToBGBI5EhkZEhMHGREaQyYnQxkYHRwY/hkdKiodHikpAAAAAAIAsP/AA1ADwABIAFQAAAEuASMiBw4BBwYVOAEVMRQWMzI2NTE0MDE0Nz4BNzYzMhceARcWFRQHDgEHBiMiMDkBIgYdARQWMzI2NTE1Njc+ATc2NTQmJxUDFAYjIiY1NDYzMhYC7i56RkY9PVsbGhkTEhkUFEMuLTQzLi1EExQUE0QtLjMBEhoaEhIaPjU2ThcWNS2lKx4eKyseHisDXS41GhtbPT1GARIZGRIBNC0tRBQTExRELS00NC0tRBQTGhJ1EhoaEkwJHR1ZOTlARXsuAfysHisrHh8qKgAEADv/wAPFA8AAGAApADkAUAAABSEiJjUxETQ2MzEhMhYXMQEeARURFAYjMQEiBhUxERQWMzEhMjY1MREnEyMRIREjETQ2MzEhMhYVMQMjIiY1OAE5ATUzFTM1MxU4ATEUBisBAyX9tkJeXkIBtwkQBgEIBgZeQv22HisrHgJKHivullj+hFgrHgGaHiv65x8sWM1XKx8BQF5DAr5DXgcG/vcGEAn91kNeA6grHv1CHisrHgIa7fyEAW7+kgF8HyoqHwEWLR/Kvr7KHy0AAAAAAgAA/8AEAAOyAF8AcAAABSInLgEnJjU0Nz4BNzY3MT4BMzIWFzEeARUUBgcxBgcOAQcGFRQXHgEXFjMyNz4BNzY3MTY3PgE3NjU0Jy4BJyYnMS4BNTQ2NzE+ATMyFhcxFhceARcWFRQHDgEHBiMxES4BJxE0NjMyFhUxEQ4BBzECAGpdXosoKAoLJxscIwYPCQkPBgYHBwYfGRkkCQoiIXROTlgvKyxPIyMeHRcXIQgJCQghFxcdBgcHBgYPCQkPBiMcGycLCigoi15dahIYARkSEhkBGBJAKCiLXl1qNTIyXCkpIwYHBwYGDwkJDwYeIyNPLCsvWE5OdCEiCgkjGhkfHSIjTCoqLCwqKkwjIh0GDwkJDwYGBwcGIykpXDIyNWpdXosoKAHVARgSAcgRGRkR/jgSGAEABAAAACAEAANgACwAPwBeAGoAAAkBLgEjISIGFREUFhcxAR4BMzgBOQEyNj8BHgEXMR4BMzI2NzEBPgE1NCYnMQEOASMiJicxAREhAR4BFRQGBzE3AQ4BIyImJzEuAScxNz4BNTQmJzEnMwEeARUUBgcxJRQGIyImNTQ2MzIWA9z+xQUOCf2iEBcGBgE7ECwaGS0QDQIEAhAtGRosEQEoEBMTEf3gBhAJCRAG/tEBZgEvBgcHBsD+1wUQCQkQBgIFAukQExMQ+lEBLwYHBwb9lyYcGyYmGxwmAhkBOwYGFxD+YggPBf7FERMTEQwDBgMQExMQASoQLBkZLRD+YwYHBwYBLwFm/tEGEAkJEAYB/tcGBwcGAwQC6hAtGRksEfb+0QYQCQkPBtMbJycbGyYmAAP////BA/8DwQAkADcAQwAACQEuAScxITAiMSIGFTAUOQERFBYXMQEeATMyNjcBPgE1NCYnMQcBDgEjIiYnAREhAR4BFRQGBzEBFAYjIiY1NDYzMhYD1f5hBxEK/h0BFB0IBgGgEzUeHjQUAVsUFxcTRP6lBhIKChEH/m8BnwGRBwcHB/3fLyEhLy8hIS8CEgGfBwgBHRQB/h0KEgb+YRQWFhQBWxM1Hh40FIj+pQcHBwcBkQGf/m8HEQoKEgYBFiEvLyEhLy8AAwA7/8ADxQPAACYAMABEAAABIzU0Jy4BJyYjIgcOAQcGFTEVIyIGFTERFBYzMSEyNjUxETQmIzElNDYzMhYVMRUhARQGIzEhIiY1MRE0NjMxITIWFTEDJQ8WFkszMjo6MjNLFhYPQl5eQgJKQl5eQv4db09Pb/6EAiwrHv22HisrHgJKHisCJoQ6MjNLFhYWFkszMjqEXkP+3ENeXkMBJENehE9vb0+E/jseKyseASQfKysfAAAAAAIAO//AA8UDwAA0AEgAAAEhNTQ2MzIWFTEUFjMyNjUxNCcuAScmIyIHDgEHBhUxFSMiBhUxERQWMzEhMjY1MRE0JiMxExQGIzEhIiY1MRE0NjMxITIWFTEDJf4db09PbxoSEhoWFkszMjo6MjNLFhYPQl5eQgJKQl5eQkkrHv22HisrHgJKHisCJoRPb29PEhoaEjoyM0sWFhYWSzMyOoReQ/7cQ15eQwEkQ17+Ox4rKx4BJB8rKx8AAAAAAwAA/+wEAAOUACwAZACBAAAFISImNTERNDYzMhYVMREwFBUUFjM4ATEhMjY1MRE0NjMyFhUxEQ4BIzgBOQEBOAExIicuAScmJzUjOAExIiY1NDY3MRM+ATM6ATkBITIWHwETHgEVFAYHMSMGBw4BBwYjOAE5AQEzMhYVMRUUFjMyNjUxNTQ2MzEzAy4BIyEiBgcxA1/9QkNeGhISGiseAr4eKxoSEhoBXkL+oSolJTkTEwb7EhoDBNoNLRwBAgGMHjEMAdcCAhgR+wUTEzolJSr+e9YSGU03N00ZEtavBAcF/nQEBwIUXkMBXxIaGhL+oQEBHisrHgFfEhoaEv6hQl0BFg4PMyIjKAEaEgYMBQFfFxsgGgH+pQQJBRIZASgjIzMPDgEUGhINNk1NNg0SGgEcBgYFAwAABAAAADUEAANLABMAJwBMAFAAACUhIiY1MRE0NjMxITIWFTERFAYjASIGFTERFBYzMSEyNjUxETQmIzEBIiYnFSUuAT0BNDY3MSU+ATMyFhc1HgEVERQGBzEOASMwIjkBJxcRBwI7/mZDXl5DAZpCXl5C/mYeKyseAZoeKyseAZkGDAX+3AoLCwoBJAULBwYLBQoMDAoFCgYB+c3NNV5DAdRDXl5D/ixDXgK+Kx7+LB4rKx4B1B4r/bcEAwGwBhQLdgsUBrACBAQDAQYUDf4sDBQGAgP0ewE6ewAAAAIAAP/+BAADggAjAD0AAAUhIiY1MRE0NjMxMzgBMTIWFzEXITgBMTIWFTAUOQERFAYjMQEiBhUxERQWMzEhMjY1MRE0JiMxISImJzEnA1X9VkdkZEebChMGrAFAR2RkR/1WIC4uIAKqIC4uIP6rCxIGrAJkRwIuR2QICMlkRgH+q0dkAycuIP3SIC4uIAFVIC4ICMkAAAAAAwAAAC4EAANSADcAWQBdAAA3IxE8ATE0NjcxMzgBMzIWFzEXITgBMTIWFRwBFTEVIzU8ATE0JiM4ATEhIiYnMScjIgYVFDAVMQEhLgEnMS4BNTQ2NxUTPgE3IR4BFzEeARUUBgc1Aw4BBzElIRMhU1NWPoYBCRAGlAEQPlhTJxz+3AoQBpRyGyYCyf0NCxMFAwMDA7sFFAwC8QsTBQMDAwO7BRML/VEClpD9algCYQEBPlgBCAazWD4BAgEbGwEBHCgIB7IoGwEB/XUBCgkFCgYGCgUBAWgKDAEBCgkFCgYGCgUB/pgKDAFUARQAAAAABAAAADUEAANLAD0AcQCBAKAAAAEmJy4BJyYjOAExIgYHMw4BFRQWMzoBMzE+ATMxMhceARcWFw4BBzcOARUUFjMxMjY3MT4BPwE+ATU0JicxAS4BIyIGFRQWFzEXDgEPAQ4BFRQWFzEWFx4BFxYzOgExMjY3BxceATMyNjcxPgE1NCYnMQEXDgEjIiYnMS4BNTQ2NxUTIicuAScmJz4BNzMXDgEVFBYzMjY3IxcOASMqASMxA/wCICB9X16AGjIYAw4RGhIBAwIRKBVcSEhpISANESUVAgUFGhILEgYaLhMCAgICAvzEBg8JEhoHBTY4WiACAgICAgIgIH1fXoABAUeCNwE/BhAJCRAGBgcHBv4igQcRCRUlDw4QBANgXEhIaSEgDR5MLgFpDg9vTxszFgFfKWI0AQEBAdIFPDyKOTkGBQQXDxIZBAQmJ2czMxkiOhsCBQ4IEhoJCCFKKAUECQUFCgQBbAUHGhIJDwY2NHtFBQQJBAUJBAU8PIo5OSkkAT8GBwcGBhAJCRAGAV+CAgMPDg0mFQoTCQH+qycmZzMzGTxlK2kVMxtPbw8OXxgbAAAAAAQAAAA1BAADSwAqAEcAVgBlAAAlIicuAScmJy4BNTQ2NzE2Nz4BNzYzMhceARcWFx4BFRQGBzEGBw4BBwYjARYXHgEXFjMyNz4BNzY3JicuAScmIyIHDgEHBgcFIiY1NDYzMhYVMRQGIzERIgYVFBYzMjY1MTQmIzECAIBeX30gIAICAgICAiAgfV9egIBeX30gIAICAgICAiAgfV9egP5cDSEhaUhIXFxISGkhIQ0NISFpSEhcXEhIaSEhDQGkT29vT09vb08qPDwqKjw8KjU5OYo8PAUECQUFCQQFPDyKOTk5OYo8PAUECQUFCQQFPDyKOTkBixkzNGYnJiYnZjQzGRkzNGYnJiYnZjQzGb5vT09vb09PbwEkPCoqPDwqKjwAAAAG//gAWgP4AyUADwAfAC8AawCbANcAAAEhIiY1NDYzMSEyFhUUBiMRISImNTQ2MzEhMhYVFAYjESEiJjU0NjMxITIWFRQGIwEwIjEiJicxLgEnMS4BNTgBNTE0NjcxPgE3MT4BMzIWFzEeARcxHgEVMRQwMRQGBzEOAQcxDgEjMCI5AREiJicxLgEnMS4BNTgBOQE0NjcxPgE3MT4BMzIWMzEfAR4BFzEeARU4ATkBFAYjMREwIjEiJicxLgEnMS4BJzUuATU0NjcVPgE3MT4BMzIWFzEeARcxHgEXFR4BFRQGBzUOAQcxDgEjOAE5AQPH/TUUHR0UAssUHR0U/TUUHR0UAssUHR0U/TUUHR0UAssUHR0U/HIBBg0FBgsECQoKCQQLBgYMBwcMBgYLBAkKCgkFCgYGDAYBBwwGBgsECQoKCQQLBgYOCAIGAgwLAwUCCQomGwEGDQUGCwQEBwMCAwMCAwcECRcNBw0GBgsEBAcDAgMDAgMHBAkXDgGPHRQUHR0UFB0BJRwVFBwcFBUc/bccFBUcHBUUHAI5AgIDBwQJGA0BDRgJBAcCAwICAwIHBAkYDQENGAkEBwMCAv7bAwIDBwQJFw4NGAkEBwMDAwEEBgIEAgkYDhsm/tsDAgMHBAUKBgEFDQYHDQYBBgsFCAoCAwIHBAULBQEFDQcGDQYBBgsFCAsABABU/8EDrAPBACsAUABeAGwAAAU4ATEiJicxJicuAScmNTQ3PgE3NjMyFx4BFxYVMRQHDgEHBgcOASM4ATkBETAiMSIHDgEHBhUxFBceARcWFzY3PgE3NjU0Jy4BJyYjMCI5AREiJjU0NjMyFhUxFAYjNSIGFRQWMzI2NTE0JiMCAAcLBQZAQJU9PSIhdU1OWVlOTXUhIj09lEBABwULBwFHPz5dGxwrKnI6Oh4eOjpyKiscG10+P0cBP1lZPz9ZWT8dKCgdHSgoHT8EBAQvMKBpandYTk50IiEhInROTlh3ammgMC8EBAQDqxsbXT4+R1hRUYcwMRYWMTCHUVFYRz4+XRsb/itZPj9ZWT8+WdwoHRwpKRwdKAAAAAAFAAD/+wQAA4UAEwAcACUALgA3AAABISIGFTERFBYzMSEyNjUxETQmIxcVIREhMhYVMSUhESE1NDYzMQM1IREhIiY1MQUhESEVFAYjMQNf/UJDXl5DAr5DXl5DSf6EATMeK/z5ATP+hCseSQF8/s0eKwMH/s0BfCseA4VeQv22Ql5eQgJKQl6g+QFCKx5J/r75Hiv9bfn+viseSQFC+R4rAAAAAAIAAP/ABAADwAA1AEoAAAEiBw4BBwYVMRUhIgYVMREUFjMxITI2NTERNCYjMSM1NDYzMhYVMRQWMzI2NTE0Jy4BJyYjMQMRFAYjMSEiJjUxETQ2MzEhMhYVMQLqOjIzSxYW/s1DXl5DAZpCXl5CD29PT28aEhIaFhZLMzI6Zise/mYeKyseAZoeKwPAFhZLMzI6hF5D/txDXl5DASRDXoRPb29PEhoaEjoyM0sWFv3F/tweKyseASQfKysfAAAAAAIAsP/AA1ADwAAPAGwAAAUiJjURNDYzMhYVMREUBiM3ISImNTQ2MzEhMhYzMjY3MS4BIyIGIzMjKgEjIicuAScmJzU2Nz4BNzYzOgEzIyEyFhUUBiMxISImIyIGBzEeATMyNjMjMzoBMzIXHgEXFhcVBgcOAQcGIyoBIzMCABIaGhISGhoSWP6DEhkZEgF9AwYEOVQHB1Q5BAYEAbADCAQuKik/ExQCAhQTPykqLgQIBAEBQhIaGhL+vgMGBDlUBwdUOQQGBAGwAwgELiopPxMUAgIUEz8pKi4ECAQBQBoSA6gSGhoS/FgSGnUaEhIaAUw4OUwBERE7KCguAS4oKDsRERoSEhoBTDg5TAERETsoKC4BLigoOxERAAAABAAAABgEAANmAB8ARwBWAGUAACUhIiY1MRE0NjMxMzc+ATsBMhYXFRczMhYVMREUBiMxASIGFTERFBYzMSEyNjUxETQmIzEjIiYnMScuASMxIyIGBzEHDgEjMQEiJjU0NjMyFhUxFAYHMREiBhUUFjMyNjUxNCYjMQNf/UJDXl5DI0UWRiriKkYWRSNDXl5D/UIeKyseAr4eKyseOgwTBlAKHxLmEh8JVQYTDAElT29vT09vb08qPDwqKjw8KhheQwFfQl9mISYmIAFmX0L+oUNeAkkrHv6hHyoqHwFfHisKCXwOEhIOfAkK/mZwTk9wcE9ObwEBJTwrKjw8Kis8AAYAAP/ABAADwAAQACAAMQBCAFMAZAAAFyImNRE0NjMyFhUxERQGIzEpASImNTQ2MzEhMhYVFAYjJSImPQE0NjMyFhUxFRQGIzEzIiYnETQ2MzIWFTERDgEjMTMiJj0BNDYzMhYVMRUOASMxMyImNRE0NjMyFhUxERQGIzEvFBsbFBMbGxMDovxeFBsbFAOiFBsbFP03ExwbFBMbGxPZExsBHBMTHAEbE9kTGxsTExwBGxPZExsbExQbGxRAGxQDohQbGxT8XhQbGxQTGxsTFBvZHBP4ExwcE/gTHBwTAfAUGxsU/hATHBwT+BMcHBP4ExwcEwHwFBsbFP4QExwAAAAKAAAAKQQAA4sAEQAlADcASwBcAHAAgQCVALgAyQAAASMiJic1PgE7ATIWFxUOASMxAyIGFTEVFBYzMTMyNjUxNTQmIzEBIyImPQE0NjsBMhYdARQGIzEnIgYVMRUUFjMxMzI2NTE1NCYjMQUjIiY9ATQ2OwEyFh0BFAYjJyIGFTEVFBYzMTMyNjUxNTQmIzEFIyImPQE0NjsBMhYdARQGIyciBhUxFRQWMzEzMjY1MTU0JiMxIyImPQE0JiMxISIGFTEVFAYjIiY1MTU0NjMhMhYdARQGIzEhIiY1ETQ2MzIWFTERFAYjMQJPniY1AQE1Jp4mNQEBNSaeBQgIBZ4FCAgF/nZpJjY2JmkmNjYmaQYHBwZpBQgIBQFwaiU2NiVqJTY2JWoFCAgFagUICAUBb2kmNjYmaSY2NiZpBQgIBWkGBwcGNBEXBwb9igYHFxEQFzYmAnYmNhcQ/pAQFxcQEBcXEAI2NiaeJjU1Jp4mNgEHCAWeBQgIBZ4FCPzsNiZpJjY2JmkmNtIIBWkGBwcGaQUI0jYmaSY2NiZpJjbSCAVpBgcHBmkFCNI2JmkmNjYmaSY20ggFaQYHBwZpBQgXEGkGCAgGaRAXFxBpJjY2JWoQFxcQATwQFxcQ/sQQFwAE//0ANgP9A0YANgBqAJYApgAAATgBMSImJzEuASMiBgcxDgEjIiYnNS4BNTQ2NzE2Nz4BNzYzMhceARcWFzEeARUUBgc1DgEjMTciJicxJicuAScmIyIHDgEHBgcxDgEjIiY1NDY3MTY3PgE3NjMyFx4BFxYXMR4BFRQGIzEBIiYnMS4BNTQ2NzE+ATMyFhcxHgEVFAYHMQ4BIyImJzEuASMiBgc1DgEjMRciJjU0NjM5ATIWFRQGIzEDOAgPBjeRUVKQOAYPCAoRBgUFCAYiJydWLi8xMS4vVicnIQcIBgUGEQqaCBAFKzIxbz08QD89PG8yMSsGEQoSGgoJMDk4fkRESEhFRH44OTAGCBkS/ZUKEwYEBQoIJVszM1wlCAkFBAYSCwcOBRpBJCRBGgUNCJkSGhoSEhoaEgGSBgUyOjoyBQYIBgEFDwgKEQYfGBgiCQkJCSIYGR4GEQoIDwYBBwijBgUpICEtDAwMDC0hICkHCBkSDBIGLiUkNA0ODg4zJCUuBhAKEhn+twkIBg0IChMFHSAgHQYSCggNBggJBQQUFhcUAQQFthoSEhoaEhIaAAAAAwAA/8AEAAO+ADAAWwBrAAAFIyImNTQ2MzEzOgEzMjY3MREuASMqAQcxIyImNTQ2MzEzOgEzMhYXFREOASMqASMxJTgBMSImJzEuATU0NjcxNycuATU0NjMyFhcxFx4BFRQGBzEHDgEjOAEjMTchIiY1NDYzMSEyFhUUBiMDX68TGRkTrwEDAhomAwMmGgIDAa8TGRkTrwIDAj5ZAwNZPgIEAf5mCRAGBQcHBczMBQYZEwgQBuoFBwcF6wUQCQHr/XwSGhoSAoQSGRkSQBoSEhohGQLaGSIBGhITGVY9Af0qPlbqBwYGEAkJEAbLywYPCRIaBgbqBhAJCRAG6gYH6hoSEhoaEhIaAAAAAAMAAP/ABAADwAAwAFsAawAABSMqASMiJicxET4BMzoBMzEzMhYVFAYjMSMqASMiBgcxER4BMzI2MzEzMhYVFAYjMSU4ATEiJicxLgE1NDY3MTcnLgE1NDYzMhYXMRceARUUBgcxBw4BIzgBOQE3ISImNTQ2MzEhMhYVFAYjAVGwAQQCPlkDA1k+AgQBsBIZGRKwAQMCGiYDAyYaAgMBsBIZGRIBmQkQBgYHBwbLywYIGhIJEQbqBgcHBuoGEAnq/X0TGRkTAoMSGhoSQFY+Atg+VhoSEhohGf0mGSIBGhISGugHBgYQCQkQBsvLBhEJEhoIBuoGEAkJEAbqBgfqGhISGhoSEhoAAAQAAP/7BAADhQATADkARgBOAAABISIGFTERFBYzMSEyNjUxETQmIwUhMhYVMREnLgEjKgEjMSIGBzEHAS4BIyIwIzEOAQcxAxE0NjMxAzUTFwchOAExIiY1MQUhNxcOASMxA1/9QkNeXkMCvkNeXkP9QgK+HiufBg8JAQEBCREGS/7yBRAIAQEJEQbYKx5J+/GT/vAeKwMH/sTKuAUnGgOFXkL9tkJeXkICSkJeVyse/iCfBgcJBlsBDQYHAQgH/v4Blh4r/W0rAS7xsCoeSfO5GSEABQAA//cEAAOJACAAPgBHAF0AZQAAASEiBhUxFSMiBhUxERQWMzEhMjY1MTUzMjY1MRE0JiMxBTQ2MzEhMhYVMREnLgEjIgYHMQcnLgEjMSIGBzEHFyImNTE1NxcHFxQGIzEhIiY1MRE0NjMxMxEUFjMxITcjNxcOAQcxA2j91j9ZDj9ZWT8CKj9ZDj9ZWT/9kSkcAiocKX4FDggJEAY73QYPCAkQBalFHCnLwHX4KRz91hwpKRwOWT8ByWHrnZECJxoDiVo/DVo//kY/Wlo/DVo/Abo/WpkdKSkd/qlqBQUIBkbXBgcIBsnWKR0Q77uKYB0pKR0Buh0p/qY/WlO5exojAQAIAAAANQQAA0sAEQA1AFYAegEAASEBPwFNAAABISIGFREUFjMhMjY1ETQmIzEXFSMiBiMiJiMzIy4BJzMjLgEnMS4BNTE0NjcxMzgBMTIWFTElMx4BFTEUBgcxDgEPASMOAQcrASoBIyoBIzEjNTQ2MzEDNTMyNjMyFjMjMx4BFyMzHgEXMR4BFTEUBgcxIzgBMSImNTEXPAE1PAE1MTA0MTQmJzEuAScjJy4BJyMnLgEnIyImIyIGIzEjNTM+ATcjNz4BNzE3PgE3MT4BNTA0OQE8ATU8ATUVIRQGFRQWFTEwFDEUFhcxHgEXMxceARczFx4BFzsBFSMmIiMqAQcxDgEHMwcOAQc3Bw4BBzEOARUcATkBFAYVFBYVNRcjLgE1MTQ2NzE+ATc7AT4BPwEzOgEzOgEzMTMVFAYjMQEiBw4BBwYVFBceARcWMzI3PgE3NjUxNCcuAScmIxEiJjU0NjMyFhUxFAYjA5r8zCo8PCoDNCo8PCoODAIGAwIGAwEIBQoFAQcHCwQNDwICYwYI/L5jAgIPDQQLBgEIAwkFAQgCBgIDBgIMCAYODAIGAwIGAwEIBQoFAQcGDAQNDwICYwYIyx0YBw4HAQoECgYBDAYQCAECBAMCBQIdMgYMBgENBw0GCQgQBhkdAboBAR0YBw8IAQkFDQcBDQULBwExHgIEAwIFAggQCAELBwwFAQoIDgcYHQEBu2MCAg8NBAsGAQcECQUBCAIGAgMGAgwIBv5mKiYlOBAQEBA4JSYqKiYlOBAQEBA4JSYqMEVFMDBFRTADSzwq/bYqPDwqAkoqPGZiAQEBAwIDCAUNIRQGDAYJBQ4FDAcTIgwFCAMBAgMBYgYI/ahiAQEBAwIDCAUNIRQGDAYJBQ4DBgMDBgMBJUEYBwsFBwIEAwUCAwEBAdIBAwIEAwYDBQYMBxhBJQEDBgMDBwMBAgcDAwYDASVBGAcMBgUDBgMEAgIB0QEBAQMCBQIGAwEHBQsGGEElAQEDBgMDBgQBAQUMBxMiDAUIBAEDAQFiBggCABAQOCUmKiomJTgQEBAQOCUmKiomJTgQEP6+RTAwRUUwMEUAAAQAAP/ABAADwAAYABsALQBBAAABISImNTQ2NzEBPgEzMhYXMQEeARUUBiMxJSEBASEiJj0BNDYzITIWHQEUBiMxASIGFTEVFBYzMSEyNjUxNTQmIzEDzvxkFR0IBwHOBxIKChIHAc4HCB0V/NsCrv6pAYz86DBERDADGDBERDD86AcKCgcDGAcKCgcBjh0VChIHAc4HCAgH/jIHEgoVHWQBVvx4RDCEMENDMIQwRAEICQeEBwoKB4QHCQAAAwAA/8AEAAPAACUAMgBaAAAFIiYnMSUhLgE1ETQ2NyElPgEzMhYVMBQ5AREUBgcjDgEjMCI5AQEhMhYXMRcRBw4BIyEBIiYnMS4BNTQ2NzE+ATU0JicXLgE1NDYzMhYXFR4BFRQGBzUOASsBAsYJEAb+xP7HFR0dFQE5ATwGEAkVHRAMAQQLBQH9nQEZCRAG+voGEAn+5wMwCA8GCQsFBRcZGhcBBQUdFA0UByAlJSAHFAwBQAYF/QEcFQGMFRwB/QUGHRQB/GQPGAYCAwFrBQXGAszGBQX+igUFBxQMCQ8GHkkpKUkfAQYPCRQdCwgBKWg6OmgqAQkLAAAABP/zAB4D8wNiACUAMwBmAI4AACUuASczJSMiJjURNDY7ASU+ATMyFhU4ATkBERQGBzEOASMiMDkBATMyFhcxFxEHDgEHKwEBIiYnMS4BNTQ2NzE+ATU0JicVLgE1NDYzMhYXMRYXHgEXFhUUBw4BBwYHMQ4BIzgBOQEnIiYnMS4BNTQ2NzE+ATU0JicVLgE1NDYzMhYXMR4BFRQGBzcOASMxAjYHDQYB/v3/ERcXEf8BAwUNBxEXDQoECAQB/g3lCA0Fy8sFDQcB5QMZBw4FBwcFBS41NS4FBRcRCRAFHBcWHwgJCQgfFxYcBRAJfwYNBQcJBAQTFRUTBAQYEAoRBhoeHhsBBhEKHgEEBM8YEAFEEBjPBAUYEf0ODBQFAgIBKQUEogJJogQFAf5ABQUFEAkIDQYzhktLhjQBBg0IERgIBh8kJE8rKy0uKytPJCQfBweRBAQGEAoHDQUYPCEhPBkBBQ0HEBgJByJVLy9VIwEHCQAAAgCE/8ADfAPAACUAMgAABSImJzElIS4BJxE+ATchJT4BMzIWFTAUOQERFAYHMQ4BIzAiOQEBITIWFzEXEQcOASMhA0oJDwf+xP7HFRwBARwVATkBPAYQCRUdEAwFCwUB/Z0BGQkQBvr6BhAJ/udABgX9ARwVAYwVHAH9BQYdFAH8ZA8YBgIDAWsFBcYCzMYFBQAAAAMAAP/7BAADhQAQAB4AMwAAASEiBhURFBYzITI2NRE0JiMFITIWFTEVBSU1NDYzMQEhIiY1MREFHgEzMjY3MSURFAYjMQOa/MwqPDwqAzQqPDwq/MwDNAYI/lj+WAgGAzT8zAYIAZQECwUFCwQBlAgGA4U8Kv1CKjw8KgK+KjxXCQZa1NRaBgn9JAkGAgLKAgMDAsr9/gYJAAAAAAQAAP/ABAADwABHAFYAZQB0AAABIgYPASU+ATUxNCYnFSUeATMyNjU0JiMiBhUUMDkBFBYXNQUuASMwIjkBIgYVFBYzMTAyMTI2NzEFDgEVMRQWMzI2NTQmIzERMhYVFAYjIiY1MT4BMzEBIiY1NDYzMhYVMQ4BIzEBIiY1NDYzMhYVMRQGIzEDQi9QGgH+ywQFBQQBNRtPL05ubk5PbgEC/sAaRigBTnBwTgEoRhoBQAIBb09OcHBOKjw8Kis8ATsr/XwqPDwqKzwBOysChCs8PCsqPDwqATwrIwGZDR0QEB4OApkkKW5PTm9vTgEIDwgBoBsfb09Pbx8boAcPCE9vb09OcAIsPCorPDwrKjz98jwqKjw8Kio8/r48Kis8PCsqPAABAAH/wQQBA78AhwAABTAiMSImJzEuATU0NjcxAT4BMzIWFzEeARcxMBQxFAYHMQEOASMiJicxLgE1NDY3MQE+ATMyFhcxHgEVFAYHMQEOARUUFhcxHgEzMjY3MQE+ATUwNDkBLgEnMS4BIyIGBzEBDgEVFBYXMR4BMzI2NzEBPgEzMhYXMR4BFRQGBzEBDgEjKgEjMQFNAUR3Li01NS0BuiFVMTBVISMpASMe/kYUMh0cMxMTFxcTAZkGEAkKDwYGBwcG/mcHCAgHCBMLCxMIAbsQEwEaFhU3Hh83Ff5IISYmISJbMzJbIgG2BhAJCRAGBgcHBv5GLXhDAQMBPzEqKnRDQnQqAaIeIiIeIFkzASxMHP5eEhUVEhIxHB0xEgGCBgcHBgYQCQkQBv5+BREKCREGBggIBgGhECsZASA3FBQWFhT+Xx5TLzBTHiAlJSABngcHBwcFEAoJEAb+YCoxAAAAAAMAAP/bBAADpAArADQAUQAAJSImNTQnLgEnJiMiBw4BBwYVFAYzIgYVFBYzMSEeATMyNjc1ITI2NTQmIzEFIiYvATMOASMlNjc+ATc2NTQ3PgE3NjMyFx4BFxYVFBceARcWFwPYBHEYGVtCQlNTQkJbGRh0AREZGREBCw5yS0txDwEMERgYEf4pKEAMAeoNQCj+pw8NDRQGBhISRjMyQUEyM0YSEgYGFA0ND9Vl9VZFRWEaGhoaYUVFVvlhGBIRGEhfX0cBGBESGKYuJAElLqYXHyBUNjZEQzY2SxQUExRKNjZFRjY2VB8eFwAABQAA//sEAAPAACMALQA6AD4AVQAAASM1LgEjKgEjMSMqASMiBgcxFSMiBhURFBYzITI2NRE0JiMxJTQ2OwEyFh0BIwUhMhYVMRUhNTQ2MzETIRUhBSEiJjUxETMVFBYzITI2PQEzERQGIzEDmtwDPywCAwKSAgMCLD8D3Co8PCoDNCo8PCr+AA8Okg4PzP7MAzQGCPywCAbcAXz+hAJY/MwGCJIaEgHUEhqSCAYDEEorOzsrSjwq/bcqPDwqAkkqPEoDCwsDSlcJBr6+Bgn+21jqCQYBM4QSGRkShP7NBgkAAAAAAwAB/8EEAQO9ADwAdQDsAAA3MCIxIiY1NDY3BzcuATUxMDQxNDY3BzY3PgE3NjMyFhcxHgEfAR4BFRQGBzcOAQcxDgEjIiYnFwcOASMxATgBMSIGBzcOAQ8BDgEVFBYXJx4BFRQGBzEHNz4BMzIWFyMeATMyNz4BNzY3NT4BNTQnLgEnJicjAQYiIyoBJzEnDgEjIicuAScmLwEuATU0NjcxPgEzMhYXMR4BFzEeATMyNjcHPgEzMhYXIxcnLgE1NDY3MT4BNTA0OQEwNDE0JicxLgEnIy4BNTQ2MzIWFzUeARcxHgEfAR4BFTAUOQEUBgc3Fx4BFRQGIzAiOQEvARMaAQIBTAsNEA8BFyQkXjc3PFCNNBopDwEPDxAPAQ8qGjSOUSRFIAL3AwcDAYsgOxoBNVEXAQsMDAwBAQICATe0AwgEBAgEARo6IC4qKkccHBIKCxcXTzU1PQECFwEEAQIEAfcfRSQ8NjZcJCQWAQICDwwECgUOFgULHxIpbD4fPBsCAwgEBAgEAbQ3AQEBAQsNLygKFAoBCgwbEwcOBhEdDhopDwEOEA0MAUsCARoTAYEbEgQIBAH4HUMjASlMIwI1LCs/EhE8NBo9IgMhTCkpTCQDJD4aND0NDAFNAQEC4wwMARdQNAIaOx8fPBsCBAcFBAcEtDcCAQECCwwODS8hISgCGDgdPTY2URkYAfxeAQFLDA0RET0rKjMDBAoFDhYFAgIPDBsuEygvDQsBAgEBAje0BAcFBAgDGTsfAQE9bCgMFQoGFA0SGwUFAQsYDRo9IgMhTCkBJEUhA/cEBwQTGgAAAgAu/+8D7QOvAEgAggAAFzgBIyImNTQ2NxUTLgE1MDQ1MTgBMTQ2Nwc+ATcxPgE/AT4BMzIWFycWFx4BFxYVMRQHDgEHBgcxDgEPAQ4BIyImJxcFDgEjMQEGBw4BBwYPAQ4BFRQWFyceARUUBgcxBzc+ATMyFhcxHgEzMjY3BzY3PgE3NjU0JicXJicuAScmIzFZAREZAgFaDg8SEgISMR0eRycDJ1gvMFkpAzwzMkgUFAkJIhkYHh5GJwMnWC8sUiYE/tgDBgQB1DgzNFYiIhUBDQ8PDgEBAgIBReoDBwQEBwQfRycmSCEDMikpOhAREA4BFiEiVzMzOBEZEQQHBAEBKCNQKwEBMFkoAilHHh4wEAERExMSARoqKms/P0UvKyxRJCQeHjARARATEA8BWwECA2oBEBA6KCkwAiBHJiZJIQMDCAQEBwPrRwEBAQENDw8OARUiIlczMzkmSSEDMSkoOhEQAAAABAAA/8AEAAOFAA0AGwBBAEUAAAUiJjU0NjMyFhUxFAYjISImNTQ2MzIWFTEUBiM3ISImJzEDIyImNTQ2MzEzMhYXMRchMhYXMR4BFRQGFTUDDgEjMSUhEyEBfCQzMyQlMzMlAX0lMzMlJDMzJGb9txAYA29QEhoaEnUQGAMZAu8LEgYEBQF1BBgP/dwCAl39W0AzJSQ0NCQlMzMlJDQ0JCUz6hUPAmAZExIZFBCLCQgGDgcDBQMB/isOE1gBfAAABQAi/8EEAAPBACAAQQBdAH4AnwAAATgBIyImJzEuATU0Nz4BNzYzMhceARcWFRQHDgEHBiMxESIHDgEHBhUUFhcxHgEzMjc+ATc2NTQnLgEnJiMwIjkBAS4BJzEuATU0NjcxAT4BMzIWFRQGBzEBDgEHMRc4ATEiJi8BLgE1NDYzMhYXMRceARUUBgcxDgEjOAEjMTc4ATEiJi8BLgE1NDYzMhYXMRceARUUBgcxDgEjOAE5AQKvAUV6LS42GxpcPT1GRj0+WxsaGhtbPj1GMy0tQxQTJiIiWjQzLS5DExQUE0MuLTMB/ZsJDwUFBgYFAXkGEAkSGgcG/oMFDwnMCRAFdQYGGhIIEAZ0BgcHBgUQCQF1CRAGdAcHGRIKEAZ1BgcHBgYQCQEfNS4te0ZGPT5bGxoaG1s+PUZFPj1cGhsCSBMUQy0uMzNaIiInFBNDLi0zNC0tQxQT/HcBCAYGDwgJDwUBegYHGhIJEAb+igYIAR0HBnUGDwkSGQYFdQYQCQkQBgYHdQcGdQYQChIZBwd0BhAJCRAGBgcAAAMAsP/AA1ADwAARACUAMwAAASEiBhURFBYzITI2NRE0JiMxExQGIzEhIiY1MRE0NjMxITIWFTEDIgYVFBYzMjY1MTQmIwLq/iwqPDwqAdQqPDwqDwkG/iwGCQkGAdQGCfkkNDQkJDQ0JAPAPCr8zCo8PCoDNCo8/GYGCAgGAzQGCAgG/dQ0JCQ0NCQkNAAAAAMAO//AA8UDwAARACUAMwAAASEiBhURFBYzITI2NRE0JiMxExQGIzEhIiY1MRE0NjMxITIWFTEBIgYVFBYzMjY1MTQmIwNf/UIqPDwqAr4qPDwqDwkG/UIGCQkGAr4GCf6SJDQ0JCQ0NCQDwDwq/MwqPDwqAzQqPPxmBggIBgM0BggIBv3UNCQkNDQkJDQAAAIAAP/5BAADhgAvAGQAAAUiJicxAS4BNTQ2NzE+ATMyFhcxFzc+ATM4ATkBMjAzMhYXMR4BFRQGBzEBDgEHMQMiMCMiBgcxDgEVFBYXMQkBPgE1NCYnMS4BIzAiIzEwIjEiBg8BDgEjIiYnMScuASM4ATkBAgAJEAb+cyctLScnajw8aicSEChpPQEBPGknJy0tJ/5zBhAJ3gEBKUobHB8fHAFuAW0cICAcG0gqAQEBKkkbMAYQCQkQBjAbSioHBwYBjydqPDxqJygtLSgPECguLicoaTw8aij+cgYIAQM2IBscSioqShz+kAFvG0sqKkocGx8fGzAGBgYGMBshAAAGAEL/wgO+A8IAEAAiAEMAggCQAJ4AAAEiBhUxERQWMzI2NTERNCYjISIGFTERFBYzMjY1MRE0JiMxMxEUFjMxMxUUFjMyNjU5ATUzFRQWMzI2NTE1MzI2NTERJy4BLwM/ATQ2NTQmJzEjIgYHMQ8BLwEuASMiBgczDwEvAS4BIyIGFRwBFzEfAQ8BDgEHFQ4BBzEhLgEnFSUiJjU0NjMyFhUxFAYjMyImNTQ2MzIWFTEUBiMDghkjIxkZIyMZ/PwZIyMZGSMjGWcoHCwjGRgjaCMYGSMsHCgIDzspAQoKCyIBAgIFAgQCIgsKCxc0Gxs1GAIKCwsiAQQDBAUBIgsKCik8DgQEAQI2AQQD/m4LDw8LCg8PCv4KDw8KCw8PCwJqIxn+8RkjIxkBDxkjIxn+8RkjIxkBDxkj/mkdKJAZIyMZkJAZIyMZkCgdAZdVMEwZAQYFE0ABAQECBAECAjsUBAQICQkIBAQUPwIDBQQBAwE/FAUGGU0wAQwZDg4aDAEhDwsKDw8KCw8PCwoPDwoLDwAAAAEACv/AA/UDwAB0AAABJyEVIQYHDgEHBiMqASMxLgEnMy4BJzE+ATcxPgEzMDI5AR4BFyM3JicuAScmIzAiOQEqASMiBw4BBwYHMQYHDgEHBhUUFx4BFxYXMRYXHgEXFjM6ATMxOgEzMjc+ATc2NzE2Nz4BNzY1PAE1MTwBNTQmJxcD8Qb+JAEcDBoaSC0tMQECAUFzLAEsMwEBMisqckACOGInAY0hJyZVLi4xAQEBATYzMl0qKSMiGxsmCgoJCiQaGiEkKytgNDU3AQQBAQEBMy8wVycmIR8ZGCMJCQIDAQIPFsovJyc5EBABLykrdUJCdCwpLwEoIpEeFxghCQkKCyccHCIkKSlcMjE1NDExWikoIyQdHSgLCwoKJhsbISIoJ1cwLzICBgIDBwQUKBQDAAAAAgBU/8EDrgPAADcAUQAAATwBNTQ2NzMuAScxJgYjIiYjIgcOAQcGFRQWFycWFx4BFxY3MjYzMhYzMjc+ATc2Ny4BNTA0OQEDPgE1PAEnFQ4BByMOARUcARU1OgEzMjY/AQMhPjMBIWQ7PXUYGWguMC8vShcXEhACCxgYQScoKStKODhGMSkmJj4WFgs/ToAZHQEuTx0BGyABAwEwUBoBAaMBAgE9YxsuNwIENC0TE0w5OUwyXy0EHjExWyEhAigoHh9XLi4gGnFGAQF3HEopBgwFAQUqIB5NLAMHBAEqIwEAAAAABAAA/8AEAAPAAAMABwALAA8AABMhESEBIREhBSERIQEhESEAAeD+IAIgAeD+IP3gAeD+IAIgAeD+IAPA/iAB4P4gQP4gAeD+IAAAAAQAAP/ABAADwAAdADwATQBeAAAFIicuAScmNTQ3PgE3NjMyFx4BFxYVMRQHDgEHBiMRIgcOAQcGFRQXHgEXFjMyNz4BNzY1MTQnLgEnJiMxESImJzU0NjMyFhUxFQ4BIzEVLgEnNTQ2MzIWFTEVDgEHMQIAal1eiygoKCiLXl1qal1eiygoKCiLXl1qWE5OdCEiIiF0Tk5YWE5OdCEiIiF0Tk5YEhgBGRISGQEYEhIYARkSEhkBGBJAKCiLXl1qal1eiygoKCiLXl1qal1eiygoA6siIXROTlhYTk50ISIiIXROTlhYTk50ISL+HBkSxxIZGRLHEhmrARkRHREZGREdERkBAAAAAAUAAAAXBAADaQAeACwAXQCJAJ8AAAEiJy4BJyY1NDc+ATc2MzIXHgEXFhUxFAcOAQcGIzERIgYVFBYzMjY1MTQmIwEiJjUxNDc+ATc2MzIWFx4BFRwBFTEOASMqASMxIiYjIgcOAQcGFTgBFRQGIzgBOQEFIiYnMS4BNTwBNzE3PgE3MQE+ATMyFhcxHgEVMBQVNRwBMRQGBwEOASMxBzcHNwE+ATUwNDkBNCYnMS4BIyIGBzEBsCsnJjgREBAROCYnKysmJjkQEREQOSYmKzRKSjQ0SUk0/noRGTEyiUpJMR42GBAWARgRAQEBFjMcbERETQ4NGREB+wgQBQYHAQgBBgUBNA8oFxYoEA8REA7+zQUNCGwtAysBKQMCBAMECgUGCQQBxxEQOSYmKysmJzgREBAROCcmKysmJjkQEQFPSjQ0SUk0NEr9KxkRYzY2MQUEAQMCFxEBAQEQFgMNDS8iISkBERgqBwUGDwgBAgFrCA0FATQOEBAODykXAQEBAQEVJg7+zQUHCoAqBAEpAwcEAQYLBAMDAwMAAAAEAAD/wAQAA8AAEAAgAE8AZQAAFyImNRE0NjMyFhUxERQGIzEpASImNTQ2MzEhMhYVFAYjATgBMSImLwEHDgEjIiY1NDY3MTc+ATMyFhcxFzc+ATMyFhUUBgcxBw4BIzgBOQElIiY9ASMiJjU0NjMxMx4BHQEUBiMxLxQbGxQTGxsTA6L8XhQbGxQDohQbGxT+qwoRBpmZBxAJExwHBroGEQoKEQaZ1wcQCRMcBwb4BhEKARcTG6sTGxsT2RQbGxRAGxQDohQbGxT8XhQbGxQTGxsTFBsBVQgGmZkGBxwTCREGugYICAaZ1wYHHBMJEQb4Bgg5GxOxGxMTHAEbE98TGwAAAAIAAP/ABAADwAAtAE4AAAUhIiY1MRE0NjMxITIWFRQGIzEhIgYVMREUFjMxITI2NTERNDYzMhYVMREUBiMBLgEnMScuATU0NjMyFhc1FwE+ATMyFhUUBgcxAQ4BBzEDX/1CQ15eQwIGExkZE/36HisrHgK+HisaEhIaXkP+SQkPBbACAhoSBQoEkAH0BAkGEhkCAv3xBQ8JQF5DAr5DXhoSEhorHv1CHisrHgHDEhoaEv49Q14BQgEHBrAECgUSGgIDAZEB8AICGhIFCgT98QYHAQAACAB1/8ADiwPAABgAGwAxAGoAcgB9AIoAkQAACQEuASMhIgYVMREUFjMxITI2NTERNCYnMSUXIxMhIiY1MRE0NjMxMxEeARchERQGIzEDLgEnNT4BNTQmJxcuASMiBgcxDgEVFBYXJw4BBzcOAQcGFjc+AT8BHgEXMzAyMTI2NTQmJzEmBgcFPgE3MQ4BNRMyFAcuATU0NjcHAz4BPwEeARcVDgEHNyUwBic2FgcDfv69BhAJ/vpDXl5DAdRDXgcG/susrKH+LB4rKx7bARkSARYrHpMbJwoGBwECAQMaEQ8XBQIBCQkBFCYUBB9FBwVWTh1GJQcZOyABARQcBwYSWRv+6A0gEx4iqwwIAwQCAgEzDhkLAgwgEyE7GwQBExsyNh0GAnABQwYHXkP9QkNeXkMB8QkPBrqs/ZorHgK+Hiv+6hIZAf47HisBARExHgETKhYJEgkCERYPDAoUCxszGAIvTSUJEjMeGS6JCxUIAg8TAhwUChAHEwIErxUkDy8bAQGPSA0LGQ0KEgkB/uMXNh0GFiUOAQgVDAILBRYDEQMAAAAABAB1/8ADiwPAABgAGwAxAGoAAAkBLgEjISIGFTERFBYzMSEyNjUxETQmJzElFyMTISImNTERNDYzMTMRHgEXIREUBiMxAy4BIyIGBzEHJy4BIyIGFRQWFyMXBw4BFRQWMzI2NzE3Fx4BMzEWMjMyNjU0JicxJzc+ATU0JicxA37+vQYQCf76Q15eQwHUQ14HBv7LrKyh/iweKyse2wEZEgEWKx5ZBg4IChIGU1MGEgoTGgUGAV1dBAUaEgoSBlNTBhIKAQIBEhoHBl1fBAUKCAJwAUMGB15D/UJDXl5DAfEJDwa6rP2aKx4Cvh4r/uoSGQH+Ox4rAa0FBQkIZ2kHCRsSCQ8GdXUFDggSGgkHZmkICAEaEgkQBnV1Bg4ICxMGAAAAAAUAAP/ABAADwAAeAD0AXgBvAH8AACUiJy4BJyY1NDc+ATc2MzIXHgEXFhUxFAcOAQcGIzERIgcOAQcGFRQXHgEXFjMyNz4BNzY1MTQnLgEnJiMxATgBMSImLwEuATU0NjMyFhcxFx4BFRQGBzEOASM4ATkBASImNRE0NjMyFhUxERQGIzE3ISImNTQ2MzEhMhYVFAYjAbhbUFF3IyIiI3dRUFtbUFF3IyIiI3dRUFtJQD9gGxwcG2A/QElJQEBfGxwcG19AQEkCHAkQBvIFBhkSCQ8G8gYHBwYGEAn94xIaGhISGhoSkv7cEhoaEgEkEhoaElAiI3dRUFtbUFF3IyIiI3dRUFtbUFF3IyIDGBwbX0BASUk/QGAbHBwbYEA/SUlAQF8bHPxYBwbyBg8JEhkGBfIGEAkJEAYGBwGLGhIBJBIaGhL+3BIakhoSEhoaEhIaAAAEAAD/wAQAA8AAHgA9AF4AbgAAJSInLgEnJjU0Nz4BNzYzMhceARcWFTEUBw4BBwYjMREiBw4BBwYVFBceARcWMzI3PgE3NjUxNCcuAScmIzEBOAExIiYvAS4BNTQ2MzIWFzEXHgEVFAYHMQ4BIzgBOQEBISImNTQ2MzEhMhYVFAYjAbhbUFF3IyIiI3dRUFtbUFF3IyIiI3dRUFtJQD9gGxwcG2A/QElJQEBfGxwcG19AQEkCHAkQBvIFBhkSCQ8G8gYHBwYGEAn+df7cEhoaEgEkEhoaElAiI3dRUFtbUFF3IyIiI3dRUFtbUFF3IyIDGBwbX0BASUk/QGAbHBwbYEA/SUlAQF8bHPxYBwbyBg8JEhkGBfIGEAkJEAYGBwIdGhISGhoSEhoAAAAJAEL/wAO+A8AADwAgADEAQgBTAGMAdACFAJUAAAUiJjURNDYzMhYVMREUBiMRIiY1ETQ2MzIWFTERFAYjMTMjIiY1NDYzMTMyFhUUBiMxASImNRE0NjMyFhUxERQGIzERIiY1ETQ2MzIWFTERFAYjMTMjIiY1NDYzMTMyFhUUBiMTIiYnNTQ2MzIWFTEVDgEjMREuAScRNDYzMhYVMREOAQcxMyMiJjU0NjMxMzIWFRQGIwMpFB0dFBUdHRUUHR0UFR0dFWPGFB0dFMYVHR0V/UsVHR0VFB0dFBUdHRUUHR0UY8YVHR0VxhQdHRTGFB0BHRUVHQEdFBQdAR0VFR0BHRRjxhUdHRXGFR0dFUAdFQHOFR0dFf4yFR0CUx0UAUoVHR0V/rYUHR0UFR0dFRQd/a0dFQHOFR0dFf4yFR0CUx0UAUoVHR0V/rYUHR0UFR0dFRQd/a0dFcYUHR0UxhUdAUoBHBUCUhUdHRX9rhUcAR0VFB0dFBUdAAAAAAkAAAACBAADfgAPAB8ALwA/AE8AYABwAIAAkQAAASEiJjU0NjMxITIWFRQGIykBIiY1NDYzMSEyFhUUBiMVIiYnNTQ2MzIWFTEVFAYjASEiJjU0NjMxITIWFRQGIykBIiY1NDYzMSEyFhUUBiMVIiYnNTQ2MzIWFTEVFAYjMQEjIiY1NDYzMTMyFhUUBiMpASImNTQ2MzEhMhYVFAYjFS4BPQE0NjMyFhUxFQ4BBzEDzv4yFR0dFQHOFR0dFf2u/rYVHR0VAUoUHR0UFRwBHRUUHR0UAlL+MhUdHRUBzhUdHRX9rv62FR0dFQFKFB0dFBUcAR0VFB0dFAJSxhQdHRTGFR0dFf62/a4VHR0VAlIVHR0VFB0dFBUdARwVArgdFBUdHRUUHR0UFR0dFRQdYx0UxhUdHRXGFB3+EB0VFB0dFBUdHRUUHR0UFR1jHRXGFB0dFMYVHQGMHRUVHR0VFR0dFRUdHRUVHWMBHBXGFR0dFcYVHAEAAAAEAAD/wAQAA8AAEQAlADsASwAAJSEiJjURNDYzITIWFREUBiMxASIGFTERFBYzMSEyNjUxETQmIzEDIyImPQE0NjMyFhUxFTMyFhUUBiMxKwEiJjU0NjMxMzIWFRQGIwOa/MwqPDwqAzQqPDwq/MwGCAgGAzQGCAgG6rASGhoSEhqEEhkZErCwEhkZErASGhoSqjwqAkoqPDwq/bYqPAK+CAb9tgYICAYCSgYI/FgaEuoSGhoSvhoSEhoaEhIaGhISGgAAAgBY/8EDqAPBAD0AZwAABSInLgEnJjUxNDYzMhYVMRQXHgEXFjMyNz4BNzY1NCcuAScmIzEjIiY1NDYzMTMyFx4BFxYVFAcOAQcGIzEROAExIiYvAS4BNTQ2NzE3PgEzMhYVFAYHMQcXHgEVFAYHMQ4BIzgBOQECAFhNTXMhIhoSEhoaG1s9PUZGPT1bGxoaG1s9PUaSEhoaEpJYTU1zISIiIXNNTVgJEAavBgcHBq8GEQkSGggGkJAGBwcGBhAJPyEhc01OVxIaGhJFPj1bGhsbGls9PkVGPT1cGhoaEhIaISJzTU1YV05NcyEhAkgHBq8GEAkJEAawBggaEgoQBpGQBhAJCRAGBgcAAAwABP/BBAEDwQBHAJYApACyAMEA0ADeAOwA+wEJARgBJgAAASMGBw4BBwYHFQ4BFRQWFzEeARcxMz4BMzIWFzUeARUUBgc1MBQVFBYXMR4BMzgBMzE6ATM6ATMxNjc+ATc2NTQnLgEnJicjEzAiMSImJzEuATU4ATkBNjQ1NCcuAScmJzEmJy4BJyYjKgEHMyMuAScxLgE1MDQ1MTY3PgE3NjM4ATEzFhceARcWFxUUFhUUBw4BBwYHIwEiBhUUFjMyNjUxNCYjFSImNTQ2MzIWFTEUBiM3IgYVFBYzMjY1MTQmIzEVIiY1NDYzMhYVMRQGIzEXMjY1NCYjIgYVMRQWMzUiJjU0NjMyFhUxFAYjFyIGFRQWMzI2NTE0JiMxFSImNTQ2MzIWFTEUBiMHIgYVFBYzMjY1MTQmIzEVIiY1NDYzMhYVMRQGIwIHB19VVYctLRABAQ8NDysZBwcQCUF0LScsAQEVEw8lFgECBAMCBQJcT09zISEoJ4lcXGkBOwIDBgICAwEICB4VFhodIiJLKCkrCBAIAgUDBQICAg0lJG1FRk0GU0lJbiEhAgEbGl0/P0kD/vgjMDAjIjAwIgcKCgcGCgoGxiIxMSIiMTEiBwoKBwcKCgfGIzAwIyIwMCIGCgoGBwoKB1MiMTEiIjExIgcJCQcHCgoHUyIwMCIjMDAjBgoKBgcKCgcDwQEhIHNOTlsDBAkFFiYPEhUBAQEtJwEudEEKFAoCAQEZLA8NDxAtLYdVVV9qXF2LKSkB/GwCAgIFAwYPCCspKUwiIx0aFRUeCAcBAQIDAgUEAQFKQEBdGxoCISFuSUhTAQECAU1FRW0kJQ0CsTAjIjAwIiMwYwoGBwoKBwYKtjEiIjExIiIxYwkHBwoKBwcJlTAiIzAwIyIwQgoGBwoKBwYKYzEiIjExIiIxZAoHBwoKBwcKYzAiIzAwIyIwYwoHBgoKBgcKAAAGADr/wAPGA8AALQBLAHYAiwCZAMAAAAUwIjEiJicxJy4BNTQ2NzE+ATMyFh8BNz4BMzIWFzEeARUUBgcxBw4BIyoBOQExOAExIiY1ETQ2MzgBOQEyFhU4ATkBETgBMRQGIzElIiY1OAE5AREHDgEjIiY1NDY3MTc+ATMyFhc1HgEVOAE5AREUBiM4ATkBAyImNTQ2MzIWFTE4ATEUBiMqATkBNSIGFRQWMzEyNjU0JiMDIyImNTQ2MzEzMjY3MTwBPQE4ATE0NjMxOAExMhYdARwBFQ4BKwEBEQEKEgelBwcHBwcSCgsSB4SEBxIKCxIHBggIBqUHEwsBAhUdHRUUHR0UAkEUHRkGDAcUHQ4LLAoXDQoRCBUbHRUhPVdXPj1XVj0BARQdHRQVHR0VIiAUHR0UICEwAh0UFR0EaUgBQAgHpwYSCwoSBwYICAaEhAYICAYHEgoLEgalCAkdFQOcFR0dFfxkFR0hHRUBDA8DAx0VDhcGGAcIBAQBCyka/toVHQKVVz0+V1c+PlbGHRUUHR0UFR3+th0UFR0uIA8iFSEVHR0VIRYlEEhkAAYAO//AA8cDwAAqAEgAcwCIAJYAvQAAASImJzEnBw4BIyImJzEuATU0NjcxNz4BMzIWHwEeARUUBgcxDgEjMCI5AQM4ATEiJjURNDYzOAE5ATIWFTgBOQEROAExFAYjMSUiJjU4ATkBEQcOASMiJjU0NjcxNz4BMzIWFzUeARU4ATkBERQGIzgBOQEDIiY1NDYzMhYVMTgBMRQGIyoBOQE1IgYVFBYzMTI2NTQmIwMjIiY1NDYzMTMyNjcxPAE9ATgBMTQ2MzE4ATEyFh0BHAEVDgEjMQG2CxIHhIQHEAoJEQcGBwcGpQcSCwoSB6UHCAgHBhEKAqUVHR0VFB0dFAJBFB0ZBgwHFB0OCywKFw0KEQgVGx0VIT1XVz49WFc9AQEUHR0UFR0dFSEhFB0dFCEgMAIdFBUdBGlIArgJB4SEBQcHBQcRCQoRBqUHCAgHpQYSCwoSBwYG/QgdFQOcFR0dFfxkFR0hHRUBDA8DAx0VDhcGGAcIBAQBCyka/toVHQKVVz0+V1c+PlbGHRUUHR0UFR3+th0UFR0uIA8iFSEVHR0VIRYlEEhkAAAABAAp/8ED0gPBAC8AWwBeAIgAACUHETQmIyIGFTERJy4BIyIGFRQWFzEXHgEXMx4BMzI2NzE+AT8BPgE1NCYjIgYHMQUDLgEjIgYHFQMOARUUFjMyNj8CMxceATMyMDkBOgEzOgE3Bz4BNTQmJxUnNxcDHgEzMTMyNjU0JiMxIzc+ATU0JicxLgErASIGFRQWMzEzBw4BFRQWFzUBilEdFBUdUQYXDhQdDAqmAwgEAQQKBQUKBAUIA6ULDB0VDRcHAkVxByQXFyQHcQIBHRUQGQUBEYUSBRkQAQIEAgIEAwEQFAEC0yAgwwgkFtIVHR0VnrsKDAMECCYYzhQdHRSfvAoMBAO3TwMnFR0dFfzZTwwNHRQNFgelBAUCAgICAgIFBKUHFg0UHQ0MlQE9FhsbFQH+xQQIBRUdEw4BMzMPEwEBBRoRBQkEAXVaWgGKFRodFBUdwgseEAkRBxUaHRUUHcQLHBAJEQgBAAAAAAQAKv/AA9EDwAAzAF8AYgCMAAABLgEnIy4BIyIGBzEOAQcxBw4BFRQWMzI2NzE3ERQWMzI2NTERFx4BMzI2NzE+ATU0JicxAQMuASMiBgcxAw4BFRQWMzI2NzE3MxceATM4ATkBOgEzOgEzIz4BNTQmJzEnNxcDHgEzMTMyNjU0JiMxIzc+ATU0JicXLgErASIGFRQWMzEzBw4BFRQWFzEBKwMIBAEECgUFCgQECASlCgwdFA4XBlEdFBUdUAcSCgsSBgcICAcB/nEGJRcXJAdxAQEdFBAaBRKEEgUaEAIEAgIFAgEQFAEC0h8gwggjF9EVHR0VnrsKDAMEAQkmF84UHR0UnrsKDAQDA7EEBQICAgICAgUEpwYWDRUdDgtP/NsVHR0VAyVPBggIBgcSCgsSBv0VAT0VGxsV/sQDCQQVHRMOMzMOEwUaEQUIBHVZWQGIFBodFBUdwQseEAkRCAEVGh0VFB3DCxwRCRAIAAAABgA6/8ADxgPAAC0ASwB2AIsAmQDAAAAFMCIxIiYnMScuATU0NjcxPgEzMhYfATc+ATMyFhcxHgEVFAYHMQcOASMqATkBMTgBMSImNRE0NjM4ATkBMhYVOAE5ARE4ATEUBiMxASImNTgBOQERBw4BIyImNTQ2NzE3PgEzMhYXNR4BFRQwOQERFAYjOAE5AQMiJjU0NjMyFhUxMBQxFAYjKgE5ATUiBhUUFjMxMjY1NCYjAyMiJjU0NjMxMz4BNzE8AT0BOAExNDYzMTgBMTIWHQEcARUOAQcjAREBChIHpQcHBwcHEgoLEgeEhAcSCgsSBwYICAalBxMLAQIVHR0VFB0dFAJBFB0ZBQwHFR0ODCsKFw0KEQgVGx0VIT1XVz49V1Y9AQEUHR0UFR0dFSIgFB0dFCAhMAIdFBUdBWhIAUAIB6cGEgsKEgcGCAgGhIQGCAgGBxIKCxIGpQgJHRUDnBUdHRX8ZBUdAjIdFAEMDgMDHRQOFwcWBwkFBAELKRkB/tsUHf5zVz49V1c9AT1Xxh0UFR0dFRQd/rYdFRQdAS0hDiMVIRQdHRQhFiYQR2QBAAAAAAYAJP/AA78DwAAnADgAYABuAH0AngAAASImJzEnBw4BIyImNTQ2NzE3PgEzMhYXMRceARUUBgcxDgEjKgEjMQMiJjURNDYzMhYVMREUBiMxASImNREHDgEjIiYnNS4BNTQ2NzE3PgEzMhYXIx4BFRwBOQERFAYjMQMiJjU0NjMyFhUxFAYjNSIGFRQWMzI2NTE0JiMxAyMiJjU0NjMxMz4BNzU8AT0BNDYzMhYVMRUcARUOASMxAa0KEgeEhAYYDxQdDw2lBxIKCxIGpQcICAcGEQkBAQGlFB0dFBUdHRUCQhQdGgULBw0XBwMDDgwpChgOCBEIARYbHBUhPVdXPT5XVz4UHR0UFR0dFSEhFB0dFCEhMAIeFBUdBWlJArgJB4SEDBAdFQ4YBqUHCAgHpQYSCwoSBwYG/QgdFQOcFR0dFfxkFR0CMh0UAQwOAwMOCwEFCwYOFwcXCAgEAwopGQEB/toUHf5zVz49V1c9PlfGHRQVHR0VFB3+th0VFB0BLSABDiMVIRQdHRQhFyUQSGQAAAAABAAp/8ED0APBAC8AXwBiAIwAACUHETQmIyIGFTERJy4BIyIGFRQWFzEXHgEXMx4BMzI2NzE+AT8BPgE1NCYjIgYHMRMeATMyNj8CMxceATMyMDkBFjIzOgE3Iz4BNTQmJzEDLgEjIgYHMQMOARUUFhcxNyM3Ey4BKwEiBhUUFjMxMwcOARUUFhcxHgEXMTMyNjU0JiMxIzc+ATU0JicVAYpRHRQVHVEGFw4UHQwKpgMIBAEECgUFCgQFCAOlCwwdFQ0XB/oFCQUQGgUBEYUSBRkQAQIEAgIEAwEPEwIBcgYlFxckB3ECARIPtUIgoggmGM4UHR0Un7wKDAQDCCQW0hUdHRWeugsMAwS3TwMnFR0dFfzZTwwNHRQNFgelBAUCAgICAgIFBKUHFg0UHQ0MAT0BAhMOATMzDxIBAQUZEQUKBAE9FRsbFf7EBAkFEBoFtVn+XRUaHRQVHcMLHRAJEQcUGgEdFRQdwgwdEQkQCAEAAAAABAAq/8AD0APAADMAYwBmAJAAAAEuAScjLgEjIgYHMQ4BBzEHDgEVFBYzMjY3MTcRFBYzMjY1MREXHgEzMjY3MT4BNTQmJzETHgEzMjY3NTczFx4BMzgBOQEWMjM6ATcjPgE1NCYnMQMuASMiBgcVAw4BFRQWFzE3IzcTLgErASIGFRQWMzEzBw4BFRQWFzUeARcxMzI2NTQmIzEjNz4BNTQmJzMBKwMIBAEECgUFCgQECASlCgwdFA4XBlEdFBUdUAcSCgsSBgcICAe0BAoFEBoFEoQSBRoQAgQCAgUCAQ8UAgJxByQXFyQHcQICEw+0QiCjCSYXzhQdHRSeuwoMBAMIIxfRFR0dFZ66CwwDBAEDsQQFAgICAgICBQSnBhYNFR0OC0/82xUdHRUDJU8GCAgGBxIKCxIG/uYCARMOATIyDxIBAQUZEQUJBQE8FRsbFAH+xQQJBRAaBbVZ/l4UGh0UFR3DCh0QCREIARQaAR0VFB3CCx0RCREHAAAEABX/wAPrA8AAJAA1AFkAagAAAS4BJzEnBw4BIyImNTQ2NzM3PgEzMhYXMRceARUUBgcxDgEHMQMiJjURNDYzMhYVMREUBiMxITgBMSImJzEnLgE1NDYzMhYXMRc3PgEzMhYVFAYHIwcOAQcxMSImNRE0NjMyFhUxERQGIzEBnQoRBoSEBhgPFR0QDAGlBhILChIHoQYHBwYGEQqlFR0dFRQdHRQCEAoSB6MNDx0UDxgGhIQGGA8VHRAMAaUGEQoUHR0UFR0dFQK4AQgHhIQMEB0VDhgGpQcICAelBhEKCREHBwgB/QgdFQOcFR0dFfxkFR0IB6cGGA4VHRAMhIQMEB0VDhgGpQcJAR0VA5wVHR0V/GQVHQAABv/6AAAD+gOAACQANQBFAFUAZQB1AAABIiYnMScHDgEjIiY1NDY3Mzc+ATMyFhcxFx4BFRQGBzEOASMxAyImNRE0NjMyFhUxERQGIzEBISImNTQ2MzEhMhYVFAYjAyMiJjU0NjMxMzIWFRQGIwcjIiY1NDYzMTMyFhUUBiMTISImNTQ2MzEhMhYVFAYjAVMKDwZ0cwYVDRIZDgoBkgYPCAgPBpIFBgYFBg8JkRIZGRISGRkSAw3+MRIZGRIBzxIZGRLo5xIZGRLnEhoaEnN0EhkZEnQSGRkS5/6lEhkZEgFbEhkZEgKZCAZ0dAsNGRINFQWSBgYGBpIGDgkIDwYGCP1nGRIDKhIZGRL81hIZApkZEhIaGhISGf6lGRISGhoSEhmuGhISGRkSEhoBWxoSEhkZEhIaAAAABv/8//4D/AOCAB8ALwA/AE8AXwBwAAAXIiYvAS4BNTQ2MzIWFzEXNz4BMzIWFRQGDwIOASMxMSImNRE0NjMyFhUxERQGIwEhIiY1NDYzMSEyFhUUBiMDIyImNTQ2MzEzMhYVFAYjByMiJjU0NjMxMzIWFRQGIxMhIiY1NDYzMSEyFhUUBiMxwAgPBpMJCxoSDBQGdHQGFQ0SGQ0LAZMFDwkSGRkSEhoaEgMR/i8SGhoSAdESGRkS6egSGhoS6BIaGhJ0dBIaGhJ0EhoaEun+oxIaGhIBXRIZGRICBwWTBhQLEhoMCnV1Cw0ZEg0VBQGTBQcZEgMuEhkZEvzSEhkCnBkSExkZExIZ/qMaEhIZGRISGq4ZExIZGRITGQFdGRISGhoSEhkAAAAG//z//gP8A4IAHwAvAD8ATwBfAHAAABciJi8BLgE1NDYzMhYXMRc3PgEzMhYVFAYPAg4BIzExIiY1ETQ2MzIWFTERFAYjJSEiJjU0NjMxITIWFRQGIwMjIiY1NDYzMTMyFhUUBiMnIyImNTQ2MzEzMhYVFAYjEyEiJjU0NjMxITIWFRQGIzHACA8GkwkLGhIMFAZ0dAYVDRIZDQsBkwUPCRIZGRISGhoSAxH+LxIaGhIB0RIZGRLp6BIaGhLoEhoaEnR0EhoaEnQSGhoS6f6jEhoaEgFdEhkZEgIHBZMGFAsSGgwKdXULDRkSDRUFAZMFBxkSAy4SGRkS/NISGZEZExIZGRITGQFdGRISGhoSEhmuGRITGRkTEhn+oxoSEhkZEhIaAAAAAAb/+gAAA/oDgAAkADUARQBVAGUAdQAAASImJzEnBw4BIyImNTQ2NzM3PgEzMhYXMRceARUUBgcxDgEjMQMiJjURNDYzMhYVMREUBiMxJSEiJjU0NjMxITIWFRQGIwMjIiY1NDYzMTMyFhUUBiMnIyImNTQ2MzEzMhYVFAYjEyEiJjU0NjMxITIWFRQGIwFTCg8GdHMGFQ0SGQ4KAZIGDwgIDwaSBQYGBQYPCZESGRkSEhkZEgMN/jESGRkSAc8SGRkS6OcSGRkS5xIaGhJzdBIZGRJ0EhkZEuf+pRIZGRIBWxIZGRICmQgGdHQLDRkSDRUFkgYGBgaSBg4JCA8GBgj9ZxkSAyoSGRkS/NYSGZAaEhIZGRISGgFbGhISGRkSEhquGRISGhoSEhn+pRkSEhoaEhIZAAAAAAMAAP/AA/4DwAA3AGcAewAABSE4ATEiJjURNDYzOAExMxM+ATMyFhcjHgEVMBQ5ARUzOgEzOgEzMR4BFzEeARUcAQc1Aw4BIzElITAyMTI2NzETPAE1NCYnMS4BJzEhOAExIiY1MDQ5ATU4ATE0JicjJiIjIgYHMQMHOAExIgYVOAE5AREUFjM4ATEzEQMz/Vg5UlI5daAMMh8LFAoBMT3qAQMBAQMBHS8QDQ4BQAhONP4TAe0BExwDQgUFBxMM/u4SGSEZAQEDAQUGAqi7Fh0eFWNAUTkBSjpRAWQbIgQEFls4AZEGHhYRKRcFCQUB/lYzQ1gYEgGpAgMBCA4FCQ0DGRIBvR4wCwEFA/6KIx4V/rYVHQGvAAADAAH/wAQAA8AAOQBqAH4AAAUwIjEiJiczLgE9ASMiBiMiJiMxLgEnIy4BNTQ2NxUTPgEzOAExITgBMTIWFREUBiM4ATEjAw4BIzEBITgBMTIWFTgBOQEVOAExFBYXMRYyMzI2NzETESEiMDEiBgcxAxwBFRQWFzEeARcxJTM4ATMyNjU4ATkBETQmIyIwMSMCBQEKFAkBMj/qAQMBAQMBHS8QAQwPAQFACE40Aqg5UlI5cqANMh/+gwESERogGgICAgQHAqj+EwETHANCBQUHEwwCi2IBFR0eFAFiQAQEFls5kQEBBh4WESkXBQkFAQGrMkNROf61OVH+mxshAZoaErweMAsBBAQBdgHVGRL+VQIDAQgOBQkNA1weFQFMFR0AAAAABAAA/8AEAAO/ACQASgB4AI4AAAU4ATEiJicBLgE1NDY3AT4BMzIWFzEBHgEVFAYHAQ4BIzgBOQEROAExIgYHMQEOARUUFhcBHgEzMjY3MQE+ATU0JicBLgEjOAE5AQM4ATEiJi8BLgE1NDY3MTc+ATMyFhcxHgEVFAYHMQcXHgEVFAYHMQ4BIzgBOQEFIiY9ASEiJjU0NjMxITIWHQEOASMxAgAVJA7+ZA0QEA0BnA4kFRUkDgGcDRAQDf5kDiQVBAYC/mQCAwMCAZwCBgQEBgIBnAIDAwL+ZAIGBEYJDwZ5BgcHBnkGDwkIDwYGBgYGXl4GBgYGBg8IAQgRGf6mERgYEQGEERgBGBBAEA0BnA4kFRUkDgGcDQ8PDf5kDiQVFSQO/mQNEAOtAwL+ZAMGAwMGA/5kAwMDAwGcAwYDAwYDAZwCA/3NBwV6Bg8ICQ8GewUHBwUGDwkIDwZdXQYPCAkPBgUHIBgRbxgSERgYEZsQFwAABAAA/8AEAAO/ACQASgB0AI0AAAU4ATEiJicBLgE1NDY3AT4BMzIWFzEBHgEVFAYHAQ4BIzgBOQEROAExIgYHMQEOARUUFhcBHgEzMjY3MQE+ATU0JicBLgEjOAE5ARM4ATEiJicxLgE1NDY3MTcnLgE1NDYzMhYXMRceARUUBgcxBw4BIzgBMQUiJj0BNDYzITIWFRQGIzEhFRwBMRQGIzECABUkDv5kDRAQDQGcDiQVFSQOAZwNEBAN/mQOJBUEBgL+ZAIDAwIBnAIGBAQGAgGcAgMDAv5kAgYERggPBgYGBgZeXgYHGBEJEAZ5BgcHBnkGDwn++BEYGBEBhBEYGBH+phgSQBANAZwOJBUVJA4BnA0PDw3+ZA4kFRUkDv5kDRADrQMC/mQDBgMDBgP+ZAMDAwMBnAMGAwMGAwGcAgP9zQcFBg8JCA8GXV0GDwkRGQcGewUQCAkPBnoFByAYEZsRGBgRERluAQERGQAAAAACAAAAAgQAA34AKgBAAAAlOAEjIiY1NDY3MQkBLgE1NDY3MT4BMzIWFzEBHgEVFAYHMQEOASM4ATkBBSImNRE0NjMhMhYVFAYjMSERFAYjMQKoARQdBwcBA/79BwcHBwcSCgoSBwEnBggIBv7ZBhIK/YoVHR0VA5wVHR0V/JUdFNMdFAsSBgEBAQEHEgoLEgYHCAgH/twGEgsKEgf+3AYI0R0VAfQVHR0VFB3+PRUdAAMAdf/AA4sDwAAYABsAMQAACQEuASMhIgYVMREUFjMxITI2NTERNCYnMSUXIxMhIiY1MRE0NjMxMxEeARchERQGIzEDfv69BhAJ/vpDXl5DAdRDXgcG/susrKH+LB4rKx7bARkSARYrHgJwAUMGB15D/UJDXl5DAfEJDwa6rP2aKx4Cvh4r/uoSGQH+Ox4rAAIAAAA1BAADSwAvAFQAACUhIiY9ATQ2NzEyNjU0JiMxLgE9ATQ2MyEyFh0BFAYHMSIGFRQWMzEeAR0BFAYjMSUVFBYzMSEyNjUxNS4BNTQ2NzM1NCYjMSEiBhUxFR4BFRQGByMDmvzMKjwaEio8PCoSGjwqAzQqPBoSKjw8KhIaPCr8vggGAzQGCD9TUz4BCAb8zAYIP1NTPgE1PCqTEhkBPCoqPAEZEpMqPDwqkxIZATwqKjwBGRKTKjzSbAYICAZsEGZDQ2YQbAYICAZsEGZDQ2YQAAAAAAcAAAA1BAADSwARACUAMwBBAGUAdQCFAAAlISImNRE0NjMhMhYVERQGIzEBIgYVMREUFjMxITI2NTERNCYjMQEiJjU0NjMyFhUxFAYjNSIGFRQWMzI2NTE0JiMTIiY1MTQmIyIGFRQGIyImNTE0Nz4BNzYzMhceARcWFRQGIzEBIyImNTQ2MzEzMhYVFAYjByMiJjU0NjMxMzIWFRQGIwOa/MwqPDwqAzQqPDwq/MwGCAgGAzQGCAgG/bYwRUUwMUREMQwREQwNERENsBIaKFxbKBoSEhobGkglJRQVJSVIGhsaEgElsBIaGhKwEhkZEjt1EhoaEnUSGhoSNTwqAkoqPDwq/bYqPAK+CAb9tgYICAYCSgYI/txEMTBFRTAxRJIRDAwSEgwMEf6EGRIeLCweEhkZEj0gIR4DAgIDHiEgPRIZASQaEhIaGhISGq8ZEhMZGRMSGQAABAAA/8AEAAPAACgANgBUAHMAAAEFDgEPAQMOARUUFhcxHgEzMjY3MSU+ATc1Ez4BNTQmJzEmIiMqAQcxAyImNTQ2MzIWFTEUBiMRIicuAScmNTQ3PgE3NjMyFx4BFxYVMRQHDgEHBiMRIgcOAQcGFRQXHgEXFjMyNz4BNzY1MTQnLgEnJiMxAuD+6x0sCwFxAQEHBQIEAQIEAgEVHSwLcgEBBwYBBAICAwLgGCEhGBghIRhqXV6LKCgoKIteXWpqXV6LKCgoKIteXWpYTk50ISIiIXROTlhYTk50ISIiIXROTlgCuXILLBwB/usCBAEHCQIBAQEBcQwrHQEBFQIDAgYKAgEB/s4hGBghIRgYIf45KCiLXl1qal1eiygoKCiLXl1qal1eiygoA6siIXROTlhYTk50ISIiIXROTlhYTk50ISIAAwDQ/8ADMAPAABAALwAyAAAFIiY1ETQ2MzIWFTERFAYjMQUiJicBLgE1NDY3MQE+ATMyFhUROAExFAYHMQ4BIzEJAREBABQcHBQUHBwUAgAKEQf+QAYICAYBwAcRChQcEA0FCQX+hAFMIBwUA4AUHBwU/IAUHCAIBgHABxEKChEHAcAGCBwU/IAPGAUCAgHw/rQCmAAAAAADAND/wAMwA8AAEAA3ADoAAAUiJjURNDYzMhYVMREUBiMxBSImJzEuATU4ATkBETgBMTQ2NzE+ATMyFhcBHgEVFAYHMQEOASMxExEBAwAUHBwUFBwcFP4ABQoEDRAQDQUJBQoRBwHABggIBv5ABxEKMAFMIBwUA4AUHBwU/IAUHCACAgUYDwOADxgFAgIIBv5ABxEKChEH/kAGCAM8/WgBTAAAAAQAAP/7BAADhQAiACUARQBIAAAXIiYnMS4BNRE4ATE0NjMyFhcxAR4BFRQGBzEBDgEjOAE5ARMRARM4ATEiJicxLgE1ETQ2MzIWFzEBHgEVFAYHMQEOASMxExEBLAUJBAsPGhIJDwYBtQYICAb+SwYPCSwBSX4FCAQMDxoTCBAFAbUGCAgG/ksGDwksAUkFAQIFFg0DNBIZBgX+ZgYQCgoQBv5mBQYC+P2ZATT+OwECBRYNAzQSGQYF/mYGEAoKEAb+ZgUGAvj9mQE0AAT////rA/8DdwAjACYARgBJAAAFMCIxIiYnMQEuATU0NjcxAT4BMzIWFTgBOQERFAYHMQ4BBzEJAREBIiYnMQEuATU0NjcxAT4BMzIWFxEUBgcxDgEjKgEjMQkBEQPVAQgPBv5JBggHBwG2BRAIExkODAQIBP6KAUr+OAkPB/5LBggIBgG4BhAIExkBDwwECQQBAQH+iwFJFQcFAZoGEQkKEQYBmgUGGRP8zA0WBQIBAQHG/swCaP0GBwUBmgYRCQoRBgGaBQYZE/zMDRYFAgIBxv7MAmgAAAUAAP/sBAADlAAnACoAOwBjAGYAAAUiJicxAS4BNTQ2NzEBPgEzMhYXMR4BFTgBOQEROAEVFAYHFQ4BIzEJAREBIiY1ETQ2MzIWFTERFAYjMQUiJicxAS4BNTQ2NzEBPgEzMhYXMR4BFTgBOQEROAEVFAYHFQ4BIzEJARED1AkQBv5nBgcHBgGZBhAJBQgEDA8PDAQIBf6lAS/8hBIaGhISGhoSAdQJEAb+ZgYGBgYBmgYQCQUIBAwPDwwECAX+pAEwFAcGAZkGEAkJEAYBmgYHAgIFFQ78zQENFgQBAQIBxf7RAl/9KBoSAzMSGhoS/M0SGh0HBgGZBhAJCRAGAZoGBwICBRUO/M0BDRYEAQECAcX+0QJfAAAFAAD/+wQAA6MAIAAjADQAVQBYAAAXIiYnMS4BNTgBOQERNDYzMhYXMQEeARUUBgcxAQ4BIzETEQEBIiY1ETQ2MzIWFTERFAYjMQUiJicxLgE1OAE5ARE0NjMyFhcxAR4BFRQGBzEBDgEjMRMRASwFCAQMDxoSCRAGAZkGBwcF/mYGEAksAS8CTRIaGhISGhoS/iwFCAQMDxoSCRAGAZoGBgYG/mYGEAksATAFAQIFFg0DNBIZBgb+ZgYQCQkQBv5mBgYC9f2gATD+WBoSAzMSGhoS/M0SGh0BAgUWDQM0EhkGBv5mBhAJCRAG/mYGBgL1/aABMAAAAAIBCP/AAvgDwAAQACEAAAUiJicRNDYzMhYVMREUBiMxISImNRE0NjMyFhUxEQ4BIzEBOhUcAR0VFB0dFAGMFB0dFBUdARwVQB0VA5wVHR0V/GQVHR0VA5wVHR0V/GQVHQAAAAACAOf/vwMXA78AIAAjAAAFIiYnMS4BNTA0OQERPgEzMhYXMQEeARUUBgcxAQ4BBzETEQEBGAUKBA0RARwUChEGAdAGCAgG/jAGEQoyAVdBAgIGGA8BA54UHAcG/jEHEgoKEgf+MQcHAQNY/VIBVwAAAQAA/70EAAO2AEUAAAEmJy4BJyYjIgcOAQcGFRQXHgEXFhczESM1MzUmNDU0NjM6ATMjMhYXJxUjKgEjIgYVHAEVMRUzByMRNjc+ATc2NTwBNTEEAAEpKYpdXWlqXV6KKSghIXNOT1sDgIABaksDBgQBHzsdBEADBAMeLI4XdlxPT3QhIQG9aVxciSgnKCiLXV1qYFVWhi0tDwFrlXEFCgVLagYFAYArHwIDAmCW/poPLS2HVVVgAQEBAAAIAAD/wAQAA8AACwAcACgAxADVAOYA8wEEAAAlFAYjIiY1NDYzMhYnFBYXFDIzMjY3MTQmJyYGBzciBhUeATc+ATUuARMqASMiBw4BBwYVHAEVNRwBFRQXHgEXFh8BFjY1PAE1MAYnMCYnMCYzHgEXFR4BMzI2Nwc+ATcxJicuAScmNTwBNTQ2NzEuATU0NjcHNhYxPgEzMhYXIzA2Fx4BFRQGBzUeARUcARUxFAcOAQcGBx4BFRwBFTEcARU4ATEUFjMyNjcxNjc+ATc2NTwBNTE8ATU0Jy4BJyYjKgEjMwEwFBUeATMyNjcxMDQ1NAYHJzAWFx4BMzI2NzEwJicmIgcXMBQVFBY3NiY1NAYHJzAUFRQWNz4BNTQmJzEuAQcBVwcEBQcHBAQIQAIHAwEDBAECBwYFAVoEBQEHBQQFAQeEAQMBaFtbiCcoGhpcP0BMAxQQmBcgGSMmGikMDjMgDxwMAQIRDisqKUIUFBoXBQUICAEhbh1CIiNCIANuIAgIBgUZHRUVQysqKw8REAsCBQJMQEBdGRopKItdXWoCAwIB/s8BAwIBAwEJAhYBAwECAgECAQEDBAQBQAsCAgIJAhoKAgECAgECBwOIAwUCBgYCBQcEBgEBAwIDBwEBAgMDBwQDAwEBBgMDAwMrKCeIW1toBAgEAQIFAlZNToIxMRwCAxMKClYgCEhDCiEEHRUBGiAHCAEVJA4FCQgvLSxMAgUCIjwWDyASFSgTAgtECQkJCUQLESgVESIPARc/JAEBAUwtLC8ICQURKxkDBQM1bw0LEAEBHDExgU1NVQMGAwECAWpdXYsoKf0mCAMBAQEBCAQDAgIRBwEBAQEBBwECAksKBAMBBAQGBAMBAh8JBAQCAQIDAgIDAgMDAgAAAAABAAAAIgQAA2AAdQAAARwBFRwBFRQHDgEHBiMqASMxMCIxIicuAScmJxc6ATM4ATEyNjcHLgEnNR4BMzgBOQEyNjcjLgE1OAE5AR4BFzMuATU0MDkBNDY3FRYXHgEXFhczLgE1MTwBNTQ3PgE3NjMyFhcxPgE3Bw4BByM+ATcHDgEPAQOVLy6ga2x6AQIBAS0rKlEmJiMDDRgOSoQ2AUVqFAgUCw8cDgJHXhQwGQErMw8NJjAvbT08QQECAxAQOSUmKy5QHSVDHgIMLyABIj0cAhYzHQICjwcNBwECAXprbKAuLwcGGRESFgEwKgEBUT4BAQIEAw9xSgsOAR1cNgEdNRcBMCYnOREQBAsYDQEDAismJTkQECYgCBoTASU7EwQQDQEgNRYBAAMAD//AA/EDwAAfAFgAbQAAAS4BIyEiBhUUFjMxIQcOARUUFjMyNjcxNz4BNTQmJxUlMCIjLgEnMS4BIzEjIgYHFQ4BFRQWFzEBER4BOwEyNjcRNxceATMwMjkBOAExMjY3MT4BNTQmJzElDgEVOAE5AREjETgBMTQmJzEBMwED7AYVDf5aExoaEwFLbwQFGxILEwamBAUDAv1KAQICBgMDBwPfDRUGAgMFBAFCARoT8BMaAQPdBhAJAQkRBgYHBwb+jgQFlgUE/uttAWQDpwsOGhMTGpsFDgcTGgoI4gYOBwYKBQEMAgMCAQIOCgEECgYHDgb+S/4tEhsbEgHTBdoGBwcGBxAJChAGvwYNCP5LAbUIDQYBfP6fAAAAAgAA/8AD/APAAFMAvgAABSMmJy4BJyYnFyYnLgEnJi8BJicuAScmLwE8ATU0NjcxPgE3OwEyFhcxHgEXJx4BFRQGDwEeAR8BNz4BMzIWFyMeARczHgEVHAEVNRU4ATEUBiMxASMiBgcxDgEVHAEVMRYXHgEXFhcnFhceARcWHwEWFx4BFxYXMzAWMzI2NzE+AT0BMDQxNCYnMS4BJxcuASMiBgcxBw4BIyImJzEmJy4BJyYvAS4BNTQ2PwE+ATU0JicxLgEvAS4BIzAiOQEDdw48OTlrMzIvBC0pKUohIBwDHRkZJg4NBgERDxEwHAGYM00IBRAMAgQFFhIkK25BAyMTMh0NGQsBGzwhAjNDUTn9pIwLEgcFBwYMDCMWFxwCGh4eQiUkKAMqLS1hMzM1BQIBChMHBwcYEyhIIgQECQQLEgc6BhAJBgsFLysqSyAgGgIDAwcGOgcIAgILEgUBAh0TAUAGDg0nGRkfAh0hIUkoKCwDLjIxazg4OwQDBwQZLRIUGgNDMiM+HQMKGQ0cMxMjQ24pAiMTFgUEChAFCE0zAQIBAY05UQOnCggGEAoBAgE3MzRiLi4rAygmJUMdHhkCGxcXIwwMBgEIBwcSC4wBExwDBRMMAQECCAY7BgYDAhsgIUoqKS4EBAwGCRAFOwcSCgUJBB5HJQMUGQAAAAACAAD/wQQAA78APQBkAAAFIiYnMyYnLgEnJjU0NjcVPgE3MzY3PgE3NjcHPgEzMhYXMRYXHgEXFh8BHgEXFR4BFRQHDgEHBg8BDgEjMQEGFBUUFx4BFxYfATY3PgE3NjU8AScVJicuAScmJxcGBw4BBwYPAQIABAkEAW9bW4MkJAIBARQOAUA8PXQ3NzUJBAkFBQkEMjU1cDs7PAkPFAEBAiQkglpabAYDCQT+WQEeH29NTl0EX05OcB8eATs5OGw0MzIKLjEyaDY2OAo/AQIyTU7GdHR/EyUTBBAWAwoODiQXFhoEAgICAhgWFSQODgkBAxYPARAkE390dMVOTTECAgEDHQoWDG1lZKtEQywCLUREq2RlbQwXCwIKDg4iFRUYBBcUFCEODQoBAAAFADv/wAPFA8AAGQAqADkASQBZAAABISoBIyIGBxURHgEzOgEzMSEyNjURNCYjMQMhKgEjIiYnMT4BMzoBMzEhNSEiBgczET4BMzoBMzEhBSEyNjU0JiMxISIGFRQWMxUhMjY1NCYjMSEiBhUUFjMDmv0zAQIBOlICAmFDAgICArMSGRkSLP15AgICHy0DAy0fAgICAof9eRgrEwECIBUBAgECof3UAXwSGhoS/oQSGhoSAXwSGhoS/oQSGhoSA8BQOQH9K0NeGhIDqBIa/FgqHx8qWAwKAkoVHeoaEhIaGhISGs0aEhIaGhISGgAAAAACAFD/wQOtA8AALgBmAAABBgcOAQcGBxQGKwE4ATEiJjU8ATUxEz4BNzEgMhcWFx4BBwYHBgcOAQcGByIGBwEuAQcOAQc3BgcOASMGIyoBIyIGFTEOATEUBhUUFjsBMjY3MTQ2Nz4BMzI3PgE3Njc+ATU0JicxAUoDBgcPBwYEAgWoCxCEAhkRAQGIQjMcHRUGBhISHh5RMjE5SVcKAioDAgEECgcBIjs7hUFBLQEBAQkNJhoBDgqQDxYCCBkHIRg7NTRUHR0OBAYjHQFmECopXiwsFQQCEAsBAgEDSBAWARoUICFTMTA0NCYmMgwNAQI1AUUCAQMWJxMEYDExKAEMCfCQAgICCg4UDgkgpSUHDQ08MTFIDiARK0wcAAQAB//AA/0DwAAtADgAWQB3AAABBgcOAQcGFRQXHgE3NjceAR8BNzAmNRE0Jy4BJyYjIgcOAQcGFRc+ATczMhYVFRQHDgEnJjU0NjcBBgcOAQcGIyoBIzMmJy4BJyYnNSY2FxYXHgE3Njc2FgcXDgEHIwYmNz4BJyYGBw4BJyY2NzYWFx4BFRQGBzUCTitDRIAuLjU0j0hJKBk1HAGGTA0MPDMzTk48O1EVFa4LRS8BSAsfH0ofH4s7AUAnLS1kNjc5BAgFAUlFRX03Ny4MDwlBVFTYhIWjDw4OXQkZEAEJCwUFJQwMURQUCwIBPhwbSAkBAQkIApUBCgk4NDVXXjIyFRwbPR01GAGASi8BUBUgITsWFRYWRCsqKhEuPgVaRMRFHx8CGRksVyoC/i4kHBwoCwoDERI7KikyAQ0LBSYsLCwNDUsGEREFFSMOCAULC2UQEAcCAgEDAyIDBAcKBg0GFCYRAQAAAAMABP+/A/UDvwBmAHYAhgAABSMmJy4BJyY1NDc+ATc2NzE2Nz4BNzYzOgEzIxYXHgEXFhcxHgEVFAYHMQ4BIyImJzEmJy4BJyYjIgcOAQcGFRQXHgEXFjMyNjcxNz4BMzIWFzEeARUUBgcxDwEGBw4BBwYjKgEjMxMhIiY1NDYzMSEyFhUUBiMHISImNTQ2MzEhMhYVFAYjAnsJaVtchygnCwooHRwkIigoWTExMwQHAwE0MTBZKCgiBgcHBgYQCQkQBh0iIUwqKStZTU5zIiEhInNOTVlTkzkNBhEJCREGBggGBQMRIicoVi8wMQECAgHq/MsSGhoSAzUSGhoSWP0jEhoaEgLdEhoaEkECKSqKXVxpNjMzXSkpIyIbGiYKCgELCiYbGyEGEAkJEAYGBwcGHBcXHwkIISJzTk1YWU1OcyIhPDQMBgcHBgYQCQgOBgMQHxgZIgkJAi0aEhIaGhISGrAaEhIaGhISGgAFAAD/wAQAA8AAIQBAAE4AbAB7AAAXOAExIiYnMS4BNTQ2NzEBPgEzMhYVFAYHMQEOASMiMDkBEyInLgEnJjU0Nz4BNzYzMhceARcWFTEUBw4BBwYjMREiBhUUFjMyNjUxNCYjASInLgEnJjU0Nz4BNzYzMhceARcWFTEUBw4BBwYjESIGFRQWMzI2NTE0JiMxRw4YCQkKCgkDcgkZDhwnCwr8jgkYDQGBKSUkNhAQEBA2JCUpKiQlNhAQEBA2JSQqGycnGxwnJxwCcCokJTYQEBAQNiUkKiklJDYQEBAQNiQlKRwnJxwbJycbPAsJCRgODhgJA3IKCyccDhkJ/I4JCwJrEBA2JSQqKSUkNhAQEBA2JCUpKiQlNhAQAQsnGxwnJxwbJ/yGEBA2JCUpKiQlNhAQEBA2JSQqKSUkNhAQAQsnHBsnJxscJwAAAAQAAAA1BAADSwARAB4AKwA7AAABISIGFREUFjMhMjY1ETQmIzEFITIWFTEVITU0NjMxASEiJjUxESERFAYjMSUjIgYVFBYzMTMyNjU0JiMDmvzMKjw8KgM0Kjw8KvzMAzQGCPywCAYDNPzMBggDUAgG/bZ1GCIiGHUZIiIZA0s8Kv22Kjw8KgJKKjxYCAaEhAYI/ZoIBgFu/pIGCPgiGBgjIxgYIgAAAAQAQP/AA8ADwAARACYARgCNAAABDgEjIiY1NDY3MR4BFTAUFTUnKgEjIgYVFBYzMjY1MTA0MTQmJzEBES4BJxchOAExIiY1OAE1MRE4ATE0NjMhMhYVOAE5AQMuAScXLgEnIwceARcnLgEjIgYHNwc+AT8BJw4BBzEOAQcxHgEzOgEzMTcuAScxFx4BMzI2NyM+ATcjDgEHIxc6ATMyNjcxApMCHhUVHx4WFh/wAQIBGCEhGBciHxYCHWAdcBr9vCw9PSwCriw9kgEnIwEdSSkBByVBGwEsajkwWikCHh1DJQIFKUkeIScBGU8vAQMBIhssDxUnWzEmSCIDER4NAREvHAEiAQICLlAaAdoVGx4WFh4BASAWAgEBOSIXGCEhGAIWIAEBQ/xqVRppXz0sAQKzLD4+LP4bUphEAxccAggKIBcBGRsUEgEPFiEIAQYCHRdBl1IkKisIIBYNFRgPDQYPCRghByoqJAAAAAACAAAAUgQAAywAVQCrAAA3MCIxIiYnMS4BNTQ2NzE3PgE3MTIWFzEeARUUBgcxBw4BIyImNTQ2NzE3PgE1NCYnMS4BIyIGBzEHDgEVFBYXMR4BMzoBMyM2MjMyFhcxHAEVFAYHMSUiJicxLgE1NDY3MTc+ATMyFhUUBgcxBw4BFRQWFzEeATMyNjcxNz4BNTQmJzEuASMqASMzBiIjIiYnMTwBNTQ2NzEyNjMyFhcxHgEVFAYHMQcOAQcx6QEwVSAfJCkj3CNdNjFVIB8lKSRKBhAKEhoIBkgXGxcTFjYfIjwW2hcbFhMUNR4EBwQBAQICERgCFxABIzFVIB8lKSRKBhAKEhoIBkgXGxcTFjYfIjwW3BcaFxMUNR4EBwQBAQICERgCFxAGDAcvVCAfJCkj3CNdNlIlHyFYMTRcIt4kKgEmICFZMTVdIkoGCBoSCREGTBY8Ix84FRIWGhfdFjwiHzcVFBYBFxEBAgERGQIMJiAhWTE1XSJKBggaEgkRBkwWPCMfOBUSFhoX3RY7Ih84FRQWARcRAQIBERkCASMfIVgxNFwi3iQqAQAAAAQAAP/GBAADugBEAEgAYQB6AAABLgEjIgYHNwclLgEjIgYHMQcOARUcATkBETAUMRQWFzMeATMyNjcHNwUeATM4ATkBMjY3MTc+ATU0MDUxETA0MTQmJyMFFxEnBQ4BIyImJzEuATU0MDUxETgBMTQ2NzE3ESUwFDEUBgcxBxE3PgEzMhYXMR4BFRQwFTEDzgwdDwsVCgHR/uoHEgkKEQj/HSUbFgEMHQ8LFQoB0QEWBxEKChEI/x0lGxYB/cLg4P7gAQQCAgQBBQUIBtICcAcG08gBBAICBAEFBQOPCAkFBAFadQMEBANsDTYhAQH9bgEdMQ8ICQUEAVp1AwQEA20NNyEBAQKQAR0xDztg/TtgVgEBAQEDCgYBAQKTCAsDWv0+EAEHCwNaAsJWAQEBAQMKBgEBAAAAAAQABP/ABAADwAA/AEUAWQBlAAABIzUuAScxKgEjKgEjMQUjByMPBA4BBzEOAQcVBw4BFSMWFDEcAQcxHAEVHAEVMREeARczIT4BNxEuASMxJx4BHQEhARQGIzEhIiY1MRE0NjMxITIWFTEDFAYjIiY1NDYzMhYDmQ4BOysBBAICAwL9SA8KCAoHCAYHAgIBAgICAwICAQEBATkoAQMyKzsBATsrcAQG/kICMwkG/M4GCQkGAzIGCVgrHh4rKx4eKwLWgys7AeoEBQoHBgkBAwEDBQIBBgMGBAECAQIBAgUDAgUD/bgqOwIBOysCSCs8kQEIBYP9UQYJCQYCSAYJCQb+3B4rKx4eKysAAAACADj/wQPBA8EAQwBmAAABLgEjIgYHMQ4BByMuAScXLgEnIw4BBzcOARURFBYzMjY1MRE+ATczHgEXJx4BHwEzPgE3Bz4BNTgBOQERMDQxNCYnMQMOAQcjLgEnFy4BLwEjDgEHNxE+AT8BHgEXJx4BHwE+ATcHA7EFDAcFCAMwbDoEJkQeAiZXLwNRlUYIDREaEhIaMXE7BChGIAIkUSwEDUV9OgYMEAkHRCpeMwMmRB4CJlcvAww9cTUGMnA8BChGIAIjUiwDN2YvBAN5AwQBAhQeCAoeFAIYIgoHIhoDBRYP/JYSGhoSAVUTGgYKHhMBFiIJAQkiGQIFFg4B8QIKEgb+CBIZBgoeEwEYIgkBBhgTAgGZEhsFAQoeFAEWIQoBAxYTAQAAAAIAAABZBAADKABYAFwAAAEuAS8BJicuAScmIyoBIzMqASMiBw4BBwYHNw4BBxUOARUcARUxHAEVFBYXJx4BFzMWFx4BFxYzOgEzIzoBMzI3PgE3NjcHPgE3NT4BNTwBNTE8ATU0JicXARENAQPrCTAhASksLFswLzAKEwoCCBMKMC8wXy8uLw8hMQkKCwsLAQowIAEpLCxbMC8wChMKAggTCjAwL18vLi8PITAKCgsLCwH9rAEM/vQCtyIwCQEFBAQFAQICAQYEBAYCCjAhATZ6PwIEAgIEAkB8PQkhMAkFBAQFAgEBAgUFBAYCCTAgATZ6QAIEAgIEAj98PAj+cAExmJgAAgAA/8AEAAPAABIAPwAAASEiBhUxERQWMyEyNjUxETQmIwMGBwYHDgEHBiMiJicmJy4BJyYjDgEHMSc+ATc2FhceATc+ATc1NiYHNhcWBwOa/MwqPDwqAzQqPDwqPQWRJiMiQR0dGiE2FhYREB0ODhARHQ0iQHMmJzcMJDZAEhkHBkwjNZpyBwPAPCr8zCo8PCoDNCo8/qxsvDAlJDIMDTw8UD4/VxcXBxIKLThnAwQ7P+FXZxc4HgI5CQ+zBASQAAAAAAIAAf/BA/8DwQBUAH0AAAUiJicXJicuAScmLwEuATU0Nz4BNzY3Mz4BMzIWFzEeARUUBgcxDgEVFBYXNRYXHgEXFh8BHgEzMjY3Bz4BMzIWFzEeARUUBgc1BgcOAQcGIzgBIzEDBgcOAQcGFRQXHgEXFjMyNz4BNzY/AQ4BIyInLgEnJic1LgE1NDY3BwIFESERA1hMTXYmJwsBAgIeH2xKSlcDBAgEEh8KBwcGBRQWAQIIFxZEKysyAQsZDCxQIwIIFAoNFwkNEQEBEy4uhVNTXQF7Qzg5URcXIiF0Tk5ZSEJBbCcnFAEmWS9KQ0JoIyMMAgMWFAE/AgMBDCcmdkxMVgMPIxJcU1OFLi4TAQEQDgkWDAsUCSFQLAwZDAIyLCtEFxYIAQECFxUBBQUHBwoeEgUIBAFZS0ttHx8DnBQoJ2xBQkhZTk50ISIXF1E3OEIDExUZGlk9PUcCDh8QL1ooAgAACgAA/8AEAAPAAB4APQBOAF8AbwCAAJwAuwDXAPkAACUiJy4BJyY1NDc+ATc2MzIXHgEXFhUxFAcOAQcGIzERIgcOAQcGFRQXHgEXFjMyNz4BNzY1MSYnLgEnJicxNS4BPQE0NjMyFhUxFRQGBzERIiY9ATQ2MzIWFTEVFAYjMQEjIiY1NDYzMTMyFhUUBiMhIyImNTQ2MzEzMhYVFAYjMRMuAScxJy4BNTQ2MzIWFzEXHgEVFAYHMQ4BByMBOAExIiYnMScuATU0NjMyFhcxFx4BFRQGBzEOASMxAy4BJzEuATU0NjcxNz4BMzIWFRQGBzEHDgEHMQE4ATEiJicxLgE1NDY3MTc+ATMyFhUUBgcxBw4BIyoBOQECAD02NVAXFxcXUDU2PT02NVAXFxcXUDU2PS0oJzsREhIROycoLS0oJzsREgERETsnKC0QFhYQEBYWEBAWFhAQFhYQAdpNEBcXEE0PFxcP/JlNDxcXD00QFxcQcwcNBTgFBxgQCA4GMwUFBQUFDQcBAmoIDgU1AgIXEAQJAzgFBgYFBQ4INggNBQUFBQUzBg4IEBgHBTgFDQf9lggOBQUGBgU4AwkEEBcCAjMFDggBAZoXF1A1Nj09NjVQFxcXF1A1Nj09NjVQFxcCABIROycoLS0oJzsREhIROycoLS0oJzsREQGMARYQTQ8XFw9NEBYB/JoXD00QFxcQTQ8XAdoWEBAWFhAQFhYQEBYWEBAWARkBBwUzBg4IEBgHBTgFDQcIDQUFBwH9lwYFOAMJBBAXAgIzBQ4ICA4FBgcCaQEHBQUNCAcNBTgFBxgQCA4GMwUHAf2XBgUFDggIDgU1AgIXEAQJAzgFBgAAAAAIAAD/wAQAA8AACwAbACcANgBCAFMAXwBuAAATFAYjIiY1NDYzMTMXNDYzMhYVMREUBiMiJjUxEyImNTQ2MzIWFTEVBzIWFRQGIyEiJjU0NjMxBTQ2MzIWFRQGIzEjJxQGIyImNTERNDYzMhYVMREDMhYVFAYjIiY1MTU3IiY1NDYzITIWFRQGIzHXPywtPz8tazY/LSw/PywtP2wtPz8tLD9rLD8/LP7zLT8/LQK9PywtPz8tazY/LSw/PywtP2wtPz8tLD9rLD8/LAENLT8/LQE5LT8/LSw/ayw/Pyz+8y0/Py0CvT8sLT8/LWs2Py0sPz8sLT9sLT8/LSw/ayw/PywBDS0/Py3+8/5QPywtPz8tazY/LSw/PywtPwAAAAAD////wgP/A78AJAAnACoAAAEuASMiBgczAQ4BFRQWFzMFEx4BMzgBMTM+ATcxAT4BNTQmJzEBJQETAwED5wwfEQcNBwH8qRohGRQBAWKwCigZBhooBwEiAgINC/x3Aur+YuSmAZ4DpwsNAgL+4wgsHBgoC6/+nBUZAiAYA1UGDgcRHwv+pvn+Yv52AUwBngAEAAD/wAQAA8AAIAAkAE0AbQAAASEqASMiBgcxER4BFzEhPgE1MDQ1MREwNDE0JiMqASMxASMRMycxKgEjIiY1PAE1FTwBNTQ2MzoBMzE6ATMyFhUcARUxMBQVFAYjKgEjASM1NCYjIgYHMQ4BFRwBFTERIxEzFT4BMzoBMzEyFhUDrvyqAQIBIjACATMkA1YiMC4hAQEB/ZKVlUcBAQEfLCwfAQIBAQEBHywsHwECAQJdliIoGikIAwKTkxNFKgECAUlhA8AvIfyoJDMBAjEjAQEDWAEhLvyqAclFLB8BAgEBAQIBHywsHwECAQIBHyz98vosOB4XBxAIAgMB/vwByUAiK2JmAAAFAAH/wQP/A78AJAAyAEAAlQDeAAABIgcOAQcGFRQXHgEXFjMyNz4BNzY1MTgBNTQnLgEnJiMiMDkBESImNTQ2MzIWFTEUBiMBFAYjIiY1NDYzMTIWFRc8ATU0JicxLgEjKgEjMSYnKgEjBgcqASMiBgcxDgEVHAEVMQYHBhQXFhccARUUFhcxHgEzOgEzMRYzFjI3Mjc6ATMyNjcxPgE1PAE1MTY3PAE1JicDDgEHIw4BIyImJzMOASMiJicXLgEnNSYnLgE1NjU0JzQ2NzY3PgE/AT4BMzIWFyM+ATMyFhcnHgEfARYXHgEVBhUUFxQGBwYHAgA2MDBHFRUVFUcwMDY2MDBHFRUVFUcvMDYBR2RkR0dkZEcBTyYaGyUlGxomri0mKWs+AQMBHzo6gDo6HwIDAjxrKSYtAQEBAQEBLSYpazwCAwIfOjt+OzofAgQBPWsoJi0BAQEBbQ4yIAIzdD0UJhMDESUUPHY5ByEzDQoFBAMBAQMEBQoNMiEBNHQ8FCYTAxElFD12OQgiMg0BCgQFAgEBAgUECgLHFRVHMDA2NjAwRxUVFRVHMDA2ATYwL0cVFf5OZEdHZGRHR2QBvRsmJhsaJiYaQQIEAjxrKCcuAQEBAS0mKGs9AQQCHzo6gDo6HwIEAT1rKCYtAgEBAi0mKGs9AQQCHzo6gDo6H/3+ITMNCwwBAQEBDAwBDTIhARkoKFcpKRwcKSpXKCcaIjINAQsMAgEBAg0MAg4yIAIZKChXKSkcHCkpVygoGQAFAAD/wAQAA5IAPwBTAF4AawB3AAABAy4BJyEiBgcxAw4BBzERMBQVFBYXMzAUMRUUFjMxMzI2NTE1IRUUFjMxMzI2NTE1MDQ1PgE1MDQ5ARE0JicxAxQGIzEhIiY1MRE0NjMxITIWFTEBPgEzITIWFzEXIRMUBiMiJjU0NjMyFhUhFAYjIiY1NDYzMhYDx2wKNCH+CiE0C2wZIAEZFAEiGDoZIgJHIxg6GCMUGCAZHwkG/M8GCQkGAzEGCf1QAgcFAfYEBwJS/UvJNCQkMzMkJDQB0zQkJDMzJCQ0AigBJB8mASYd/twNMB7++QEBGi0NBHUYIiIYZ2cYIiIYdQEDDSwaAQEGHjEM/p8GCQkGAQYGCQkGAWQEBQUE4P75JDMzJCQ0NCQkMzMkJDQ0AAAADgAA/8AEAAPAAAMABwALAA8AEwAXABsAHwAjACcAKwAvADMANwAAAREhEQMhESEBIREhFyERIQMhESEXIREhATMVIzczFSMjMxUjNzMVIyEzFSM3MxUjIzMVIzczFSMCMgHOY/74AQj8YwHO/jJjAQj++GMBzv4yYwEI/vgBz3Nz53NzdHR053R0/qZzc+dzc3R0dOd0dAPA/jIBzv6VAQj+lQHOY/74/WsBzmP++AFrc3NzdHR0c3NzdHR0AAAACABm/8ADmgPAAA8AHwAvAD8ATwBfAHoAigAAATMyFh0BFAYrASImPQE0NjsBMhYdARQGKwEiJj0BNDYHMzIWHQEUBisBIiY9ATQ2OwEyFh0BFAYrASImPQE0NgczMhYdARQGKwEiJj0BNDY7ATIWHQEUBisBIiY9ATQ2ASMRNCYjISIGFREjIgYVFBYzMSEyNjU0JiMxIyE1NCYjMSMiBhUxFSMRIQFuOgwREQw6DBIS9joMEhIMOgwREd46DBERDDoMEhL2OgwSEgw6DBER3joMEREMOgwSEvY6DBISDDoMEREBIh4ZEv22EhkeEhoaEgLcEhoaEnX+zBEMOgwSSQHyAx8RDDsMEREMOwwREQw7DBERDDsMEc0RDDoNERENOgwREQw6DRERDToMEc0RDDoMEhIMOgwREQw6DBISDDoMEf6TA3wSGhoS/IQaEhIaGhISGoMNERENgwNQAAAAAAMAAP/AA/8DwAAvAGAAqwAAASYnLgEnJiMqATkBIgcOAQcGFRQWFycDJR4BFzE4ATEyNz4BNzY3MTQnLgEnJicxATgBMSImJxcnBzcnLgE1NDc+ATc2MzIXHgEXFhcxFhceARcWHQEGBw4BBwYjOAE5ARMuAScmIgcOAQc3DgEnLgEvASY2Nz4BNTQmJxU0JicuASsBIgYHMQ4BFRwBFTEeARc1HgEfAR4BMzI2NyM+ATcxPgE1PAEnFS4BJwNmIigpWjEyNAEBaV1ciigoJCEBSAENNHtDal1ciykoAQsLJxwcJP6aPG0wAg+gKwseISEhc01NVywpKUsiIhwdGBchCQoBISJ0TU1Y5wpECAkOBgoUCwEGDAo3WBwBCh0SAQICAR8ICA8GGQoSBhMXAxsWKWxBAxpAIgcPBwEbLA4FBAEEDQoDKyMbHCYLCigoilxdaUaBOAL++UYdIgEoKIpcXGo1MjJcKSki/PMgHAEKK5wQL3I9WE1NciEiCQggFhccHSEiTCkpLAFXTU1zISEBPAUhAwMJDhgMAQcBCBZMMgIRECQCBgMDBgMBBUcTEgMICBM0HQIEAiVDHAE9YSEBEBIBAQUgFwkWDAQJBQEFBgUAAAIAAP/ABAADwAATACcAAAUhIiY1MRE0NjMxITIWFTERFAYjASIGFTERFBYzMSEyNjUxETQmIzEDSv1sTGpqTAKUTGpqTP1sIzAwIwKUIzAwI0BqTAKUTGpqTP1sTGoDnTAj/WwjMDAjApQjMAAAAAADAAD/wAQAA8AAHQA7AEwAAAUiJy4BJyY1NDc+ATc2MzIXHgEXFhUxFAcOAQcGIxEiBw4BBwYVFBceARcWMzI3PgE3NjUxNCcuAScmIwchMhYVERQGIyEiJjURNDYzAgBqXV6LKCgoKIteXWpqXV6LKCgoKIteXWpYTk50ISIiIXROTlhYTk50ISIiIXROTliOARwkMjIk/uQkMjIkQCgoi15dampdXosoKCgoi15dampdXosoKAOrIiF0Tk5YWE5OdCEiIiF0Tk5YWE5OdCEixzIk/uQkMjIkARwkMgAAAAIAAP/ABAADwAAdADYAAAEiBw4BBwYVFBceARcWMzI3PgE3NjUxNCcuAScmIxMDDgEvAQcOASMxPwE2JgcFJyY2NyU2FgcCAGpdXosoKCgoi15dampdXosoKCgoi15davxUBRgSgEAFDQgJ7QgMC/7dgBQBGQHtExgFA8AoKIteXWpqXV6LKCgoKIteXWpqXV6LKCj+of50FQoJXzsGB4DWBwUHtigGGArABRUaAAAAAQB/AD8DfwM/ACUAAAEiBhUUFjMxIQEOARUUFjMyNjcxAREUFjMyNjUxETQmJxUuAScxARIVHh4VAcH9vAcJHhULEwcCQx4VFR0CAgUXDwM/HRUVHv29BxMLFR4JBwJE/j8VHh4VAjsFCgUBDREBAAEAgQA/A4EDPwAlAAA3FBYzMjY1MREBHgEzMjY1NCYnMQEhMjY1NCYjMSEiBgczDgEVMYEdFRUeAkMHEwsVHgkH/bwBwRUeHhX9xQUKBQEOEdIVHh4VAcH9vAcJHhULEwcCQx4VFR0CAgYZDwAAAAABAIIAPwN/Az8AJQAAJTI2NTQmIzEhAT4BNTQmIyIGBzEBETQmIyIGFTERFBYXNR4BMzEC7RUdHRX+QQJBBwkdFQsTB/2/HhQVHgICBhkQQh4VFB4CQQcTCxUdCQf9vwG/FR0dFf3EBQoFAQ4RAAAAAQCBAD8DgQM/ACUAAAE0JiMiBhUxEQEuASMiBhUUFhcxASEiBhUUFjMxITI2NxU+ATcxA4EeFRUe/bsHEgoVHQcGAkb+PRUdHRUCQAYKBAwPAQKvFR0dFf49AkYGBx0VChIH/bseFRUeAwIBBxcOAAIAAP/ABAADwAB9AIwAAAEiBw4BBwYVMRwBFRQXHgEXFjM6ATMxMjY1NCYjMSoBIyInLgEnJjU8ATUxNDc+ATc2MzEyFx4BFxYdARwBFRQGIyImNTwBNRURNCYjIgYVMRUuASMiMDkBIgcOAQcGFRQXHgEXFjMxMjY3Mx4BMzI2NTgBOQE1NCcuAScmIxEiJjU0NjMyFhUxFAYjMQIAal1eiygoKCiJXFxpAgMBEhoaEgECAldMTHIhISEic01NWGpPT2sbGjIjIzIaEhIaIVUvATUuLkUUFBQURS4uNTliIgEWUC9IZSIhgmBffEVhYUVFYWFFA8AoKIteXWoBAwJpXFyJKCgaEhIaISFyTExXAgIBWE1NcyIhGhtrT09qUQEEAiMyMiMCBAIBASUSGhoSFB0hFBRFLi41NS4uRRQULygnMGZHUXxfYIIhIv1aYUVFYWFFRWEABP///8AD/wPAACsALwAzADcAACUwNDURNCYnFS4BJzElLgEjIgYHMwUOARUxER4BFzMFHgEzMjY3MSU+ATc1AQURJS0BEQUDDQElA/8DAgMLB/4sBAkFBQkFAf4sDA4BDQsBAdQECQUFCQQB1AoOAvxYAXz+hAHUAXz+hCsBaf6X/pe4BAICBAUKBQEHCwPSAgICAtIFFg39/A0VBtICAgIC0gQSCwEBx6v+XKr6q/5bqgM0oqGhAAIAAP/IBAADuABiAIAAAAEmJy4BJyYjIgcOAQcGDwE1NCYjIgYVMRE4ATEUFjMhMjY1NCYjMSM3Njc+ATc2MzIXHgEXFhcxFgcOAQcGJy4BIyIGBzEOARUUFhcxFhceARcWMzI3PgE3NjU0Jy4BJyYnMQUiBh0BFBYXMRceATM4ATkBPgE1NCYnMSc1NCYnMQNsIigpWjIxNDQyMVsoKCNJGhMSGxoTAR4TGhoTtEwcISJKKCkrKygpSiEhHYsREdWjo5gGEAoJEQYGBwcGIygoWzEyNGhcXIknKAoKJxsbI/6UExoHBpgHEAkRFgYEihkSAyUiGxsmCwoKCyYbGyJJrxMaGhP+4hIbGhMTGkscFhcfCAkJCB8XFhyXo6PWERGLBggIBgYQCgkQByIbGycKCicoiVxcaDQyMVopKCNlGxLTCREGlQYHAxkRCA8GicISGgEAAAAAAgC8/78DRAO/AEkAYQAABSoBIyoBIzEuATUwNDkBNRMjOAExIiYnMS4BNTQ2NzE3Ez4BMzIWFzUeARUUMDkBFQMzOAExMhYXMR4BFRQGBzEHAw4BIyoBOQEDMzIWFTgBOQEVBz8BIyImNTgBOQE1NwcBzwIDAgEEAQ4SMesMFAYDAwMDbN0GEwwEBgMOEjHrDRQFAwQEA2zdBhILAQGr2BMaIIdO2BMaIIdBBBgPAQYBVwwLBQwGBgwFvQFgCQwCAQEFFw8BBv6pDQoFDAYHDAW8/qAJCgHcGxMG4NiGGxMG4NgAAgAA/8AEAAPAAB0APAAABSInLgEnJjU0Nz4BNzYzMhceARcWFTEUBw4BBwYjESIHDgEHBhUUFx4BFxYzMjc+ATc2NTE0Jy4BJyYjMQIAal1eiygoKCiLXl1qal1eiygoKCiLXl1qWE5OdCEiIiF0Tk5YWE5OdCEiIiF0Tk5YQCgoi15dampdXosoKCgoi15dampdXosoKAOrIiF0Tk5YWE5OdCEiIiF0Tk5YWE5OdCEiAAAAAQAA/8AEAAPAABsAAAEUBw4BBwYjIicuAScmNTQ3PgE3NjMyFx4BFxYEACgoi15dampdXosoKCgoi15dampdXosoKAHAal1eiygoKCiLXl1qal1eiygoKCiLXl0AAAAAAQA4/8EDwQPBAEIAAAEuASMiBgczDgEHIy4BJxcuAS8BJgcOAQcGBw4BFREUFjMyNjUxET4BPwEeARcnHgEfATM+ATcHPgE1ETwBNTQmJzUDsQUNBwQIBAEwbTkEJkQeAiZXLwMcLCxYJSUODREaEhIaMXE7BChGIAIkUSwEDUV9OgYMEAkHA3kDBAECFR4HCh4TARgiCQECCAcYCwwEBRYP/JYSGhoSAVYSGgUBCh4UARYhCgEKIhkDBRYOAfEBAQEKEgUBAAABAIT/wAN8A8AAJQAAASEiBhUxETgBMRQWMzI2NzElBR4BMzgBOQEyNjcxPgE1ETQmIzEC2/5KQ14ZEwcNBQE3ATcFDQcGCgUKDV5DA8BeQ/zNEhoEBNnZBAQDAgYUDQMzQ14AAQAP/8AD8QPAACEAAAEuASMhIgYHFQ4BFRQWFzEBER4BOwEyNjcRAT4BNTQmJxUD7AYVDfx4DRUGAgMFBAFCARoT8BMaAQFCBAUDAgOnCw4OCgEECgYHDgb+SP4tEhsbEgHTAbgGDQgGCgUBAAAAAAEAAf/7BAEDhwAvAAABMS4BIzAiOQE4ATEiBgcxBycuASMiBgcxDgEVFBYXMQEeATMyNjcxAT4BNTQmJzEDrCdqPAE9aSgQEChqPDxqJyctLScBjQYQCQkQBgGNJy0tKAMxKC4uKBEQKC0tKCdqPDxqJ/5xBgYGBgGPJ2o8PGooAAAAAAIAAP/0BAADjABYAFwAAAEjNz4BNTQmIyIGBzEHITc+ATU0JiMiBgcxByMiBhUUFjMxMwMjIgYVFBYzMTMHFAYVFBYzMjY3MTchBw4BFRQWMzI2NzE3MzI2NTQmIzEjEzMyNjU0JiMxBQMhEwPZnigBARcRDhUDLf6tKAEBGBAOFQMwsxAXFxCeVrEQFxcQnikBFxEOFQMtAVMoAQEYEA4VAy22EBcXEJ5WsRAXFxD++Vb+slYCuaICBQIQGBENtaICBQIQGBENtRcQEBf+qhcQEBeiAgUCEBgRDbWiAgUCEBgRDbUXEBAXAVYXEBAXTv6qAVYAAAAABAAr/8AD1QPAAD4AYACKALcAAAEmJy4BJyYnIwYHDgEHBgc3DgEVMBQ5AREwFDEUFhczFhceARcWFzM2Nz4BNzY3Bz4BNTA0OQERMDQxNCYnIwMGBw4BBwYHIyYnLgEnJicXNRYXHgEXFhczNjc+ATc2NwclNjc+ATc2NzMWFx4BFxYXJx4BHQEGBw4BBwYHIyYnLgEnJicXNTQ2NzEBBgcOAQcGByMmJy4BJyYnFy4BPQEWFx4BFxYXMzY3PgE3NjcHFTgBMRQGBzEDni0yMWc3NjgCOTc2ajIzLwYZHh4YAS0yMWc3NjgCOTc2ajIzLwYZHh4YARsqLi5hMzM0AjU0M2IwLywGKi4uYjIzNQE1MzNjLzAtB/0CKS0tXzIyMwI0MjNgLi8sBgMEKi4uYTMzNAI1NDNiMC8sBgQEAvYpLS1fMjIzAjQyM2AuLywGAwQqLi5iMjM1ATUzM2MvMC0HBAQDXRYREhkHCAICCAcaEhIXAwwvHAH9dgEcLwwWERIZBwgCAggHGhISFwMMLxwBAooBHC8M/kUVEBEYCAcCAgcIGBIRFgPWFA8PFwYHAQEHBhcQEBQCmhQQEBcHBwICBwcYEBEVAwIHBDAVERAZBwcCAgcHGRESFQIyAwYC/VwUEBAXBwcCAgcHGBARFQMCBwTMEw8QFgcGAgIGBxcQEBQDzAQHAgAAAAAKAAD//AQAA4QAOAA8AEAARABQAFwAaAB0AIAAjAAAATU0JiMxISIGFTEVFBYzMSIGFTEVFBYzMSIGFTEVFBYzMSEyNjUxNTQmIzEyNjUxNTQmIzEyNjUxAyE1ITUhNSE1ITUhBRQGIyImNTQ2MzIWFxQGIyImNTQ2MzIWAxQGIyImNTQ2MzIWFxQGIyImNTQ2MzIWAxQGIyImNTQ2MzIWFxQGIyImNTQ2MzIWBAAjGfx4GSMjGRkjIxkZIyMZA4gZIyMZGSMjGRkjPPx4A4j8eAOI/HgDiP0PGxITGxsTEhuWGhMSGxsSExqWGxITGxsTEhuWGhMSGxsSExqWGxITGxsTEhuWGhMSGxsSExoCk7UYJCQYtRkjJBm0GSQjGbUYJCQYtRkjJBm0GSQjGf2ltXm0ebVbExoaExMaGhMTGhoTExoa/sATGhoTExoaExMaGhMTGhr+wBMaGhMTGhoTExoaExMaGgADAAD/wAQAA8AAJgAwAFAAAAEjNTQnLgEnJiMiBw4BBwYVMRUjIgYVMREUFjMxITI2NTERNCYjMSU0NjMyFhUxFSEBFAYjMSEiJjUxETMVFBYzMjY1MTUhFRQWMzI2NTE1MwO3sBQVSDAvNzcvMEgVFLAeK15DAr5DXise/ZlnSUln/qACWCse/UIeK6EZExIZAWAZEhMZoQKbHjYwMEgUFRUUSDAwNh4qH/4PQ15eQwHxHyoeSGdnSB79xh4rKx4B44QSGhoShIQSGhoShAAAAgAj/8AD3APAAEkAjwAAASIGHQEnJicuAScmIyIHDgEHBg8BDgEVFBYXMRYyMzoBNzEyNjcxPgE3MT4BMzIWHwEjIgYVFBYzMSE4ATEyNjUwNDkBETQmIzETLgEjIgYHMQ4BBzEOASMiJi8BMzI2NTQmIzEhOAExIgYVOAE5AREUFjMyNjUxNRcWFx4BFxYzMjc+ATc2PwE+ATU0JicjA6kVHTchJidWLy8yTkhHdiwtGAECAhMPAgQDAgQCEBoFDi4eNIpPToszOJ8VHR0VARgVHB0UEAQJBREaBQ4uHjSKT06LMzijFR0dFf7oFRwdFBUdNyEmJ1YvLzJOSEd2LC0YAQECFA4BA8AdFaA3IRobJAoKGBhWOztGAwUJBhAaBAEBEw4rSR4zPDwzOB0UFR0dFAEBGBUd/ZECARMPK0kdNDs7NDcdFRQdHBX+6BUdHRWgNyEaGyQKChgYVjs7RgMECAQRGQUAAgAAAHAEAAMQACcASwAAAS4BIyIGBzEBDgEVFBYXMQEeATMyNjcxPgE1NCYnMQkBPgE1NCYnMQkBLgEjIgYVFBYXMQkBDgEVFBYXMR4BMzI2NzEBPgE1NCYnMQFvBRAKCRAG/twGBwcGASQGEAkKEAUGBwcG/vsBBQYHBwYChP7cBhAIExkGBgEF/vsGBwcGBRAKCRAGASQGBwcGAwQGBgYG/tsGEAkJEAb+2wYGBgYGEAkJEAYBBgEGBhAJCRAG/tsBJQUGGRMIEAX++v76BhAJCRAGBgYGBgElBhAJCRAGAAAABQAA/8AEAAPAAA0AKwCLALYAxAAAASImNTQ2MzIWFTEUBiMlFAcOAQcGIyInLgEnJjU0Nz4BNzYzMTIXHgEXFhUlDgEHMS4BIzE3FzAUMRQWMzgBOQEyNjU4ATkBPAExNCYjIgYHMScwIiMiBgcxByIGBzcuASMiBhUUFhcxFAYVFBYVNRQXHgEXFjMyNz4BNzY1OAExNCYnFz4BNTQmJzEHDgEjIiYnFy4BIyIGBzEOARUUFhcxHgEzMjY3Bz4BNTQmJzEuASMiBgcxNyIGFRQWMzI2NTE0JiMBjxUeHhUWHh4WAnEoKIteXWpqXV6LKCgoKIteXWpqXV6LKCj+7w4YCSVbMSRyHhUVHh4VDxkGgAEBBAcBKDFbJgEJGg4cKBQRAQEWFUoyMTk4MjJKFRUCAgEPEyYbkRUxGhsxFQECBAMDBAIBAwMBGDogIDoZAQICAgICBAMDBQEQFh4eFhUeHhUBWh4VFR4eFRUeZmpdXosoKCgoi15dampdXosoKCgoi15dalUBCwkZHaIZARUdHhUBARUeEQ0cBQSzHRoBCgsoHRQgCQMJBAQIBQEoJCQ1EA8PEDUkJCgJEQgBCR8THCgB7w0PDw4BAgEBAgIEAwIFAhATExEBAgUCAwQCAgICApseFRUeHhUVHgAAAAMAAP/ABAADwAAyAEAAYQAAATUuASMxIgcOAQcGFRQWFyceATM4ATkBMjY3MTcWFx4BFxYzMjc+ATc2NTQnLgEnJicjBxEFLgE1NDc+ATc2PwETIicuAScmJzUlPgE1NDA5AREWFx4BFxYVFAcOAQcGIzECTgEbE3FjY5MrKiYiAQYVDQYMBRIhKypkOTg8ZFdYgiYmIiF1T05bAl7+kxIUHx9sSUpUAi8vLSxPIiIbAU0LDUg+PlsaGh8eaEdGUAOAEhMbLCuUY2NxSoo8AwoNAwMKLiYlNA8OJiaCWFdkXVNTgCkpCR7+W9IoXDFXTk54JicJAfy8CwspHB0jAcAFFgwBAYEKISJmQkJKUEdGaR8fAAkAPv/AA8ADwAAHAA8AHAAhACYALwA2ADsAQAAAAScXFTcRDwEhLwERFzU3BwUjJwcRHwEzPwERJwcTNzUHFSUXNScVEzMRIwclFwUzEycjETMlNy8BIxc3JSMHFzcC10Y3u1ZW/kpWVrw3RwEpnCc/LzecNy8/J35lZf4DZmb6KFc+/uYvAVAI2z5WNAFQMGxubTek/itubaQ3AesQTvOcAQofVlYf/vac804QCBhe/qBGNzdGAWBeGP5DZmVWdWZmdVZlAXcBvZQXxHwBKZT+QIDAE219EG1tEH0AAAAAAQCQ/8ADcAPAAGoAACUhNz4BPQEzMjY1NCYjMSM1PAE1NDYzOgEzMToBMzIWFRwBBzcVFBYzMjY1MTU2NDU0Jy4BJyYjKgEjMyoBIyIHDgEHBhUcARc1FSMiBhUUFjMxMxUHDgEVFBYXNR4BMzAyMSEyNjU0JiMxA0T92HUEBL4SGhoSwGpLAQMBAgYETGsBARkSExkBFRZJMTE4BAcDAQIDATgwMUkVFQGEEhoaEoScAwMDAwUVDAECeRIaGhIYpQUNB74aEhIavgIFAktqa0wECQQBOxIaGhI7AwkFODExShUVFRVJMDE3AwYDAb4aEhIar+AFCwcGDAUBCw0aEhIaAAABAAAAqgQAAtcAVgAAAS4BLwEuASMiBhUUFhcxFyE3PgE1NCYjIgYHMQcOAQcxDgEVFBYXMR4BHwEeATMyNjcxPgE1NCYnMSchBw4BFRQWFzEeATMyNjcxNz4BNzE+ATU0JicxA/wBBQPqBhEJEhoIBp/9LJ8FBxoSCQ8G6gMFAQICAgIBBQPqBhAJCRAGBgcHBp8C1J8GBwcGBhAJCRAG6gMFAQICAgIB0QQHA+oHBxoSCREGn58GDwkSGgYG6gMHBAQIBQUIBAQHA+oGBwcGBhAJCRAGn58GEAkJEAYGBwcG6gMHBAQIBQUIBAAAAAABAOr/wAMVA8AAVgAABT4BPwE+ATU0JiMiBgcxBxEXHgEzMjY1NCYnMScuAScxLgEjIgYHMQ4BDwEOARUUFhcxHgEzMjY3MTcRJy4BIyIGBzEOARUUFhcxFx4BFzEeATMyNjcxAhEEBwPqBgYaEgkPBp+fBg8JEhoGBuoDBwQECAUFCAQEBwPqBgcHBgYQCQkQBp+fBhAJCRAGBgcHBuoDBwQECAUFCAQ8AQUD6gYPCRIaBwWfAtSfBQcaEgkPBuoDBQECAgICAQUD6gYQCQkQBgYHBwaf/SyfBgcHBgYQCQkQBuoDBQECAgICAAMAFf/AA+sDwAA0AGUAkwAAEzcRFBYzMjY1MREXHgEzMjY3MT4BNTQmJzEnLgEnMS4BIyIGBzMOAQcxBw4BFRQWMzI2NzMBBxE0JiMiBhUxEScuASMiBhUUFhcxFx4BFzEeATMyNjcjPgE3MTc+ATU0JiMiBgcjEz4BNTQmIyIGBzEHNTQmIyIGFTEVAQ4BFRQWFzEeATMyNjcxNxUUFjMyNjUxNXRSHRUUHVMGEQoJEQcGBwcGpQQHBQQKBQUKBQEFCAOhDRAdFQ8XBgEDGFAdFRQdVQYYDxQdDw2lBAcFBAoFBQoFAQUIA6ENEB0VDxcGAUIDAh0UBgsFUh0VFB39WwYHBwYGEQoJEQdQHRUUHQLIT/6IFR0dFQF4TwYGBgYHEQkKEQalBAUCAgICAgIFBKUGGA4VHRAM/fBRAXoVHR0V/ohPDBAdFQ4YBqUEBQICAgICAgUEpQYYDhUdEAwClAULBhQdAgNOThUdHRWx/VcHEQkKEQYGBwcGUFAVHR0VsQABAAAAAQAAkIMiFV8PPPUACwQAAAAAAN2dsBcAAAAA3Z2wF//z/70ENAPcAAAACAACAAAAAAAAAAEAAAPA/8AAAARA//P/zAQ0AAEAAAAAAAAAAAAAAAAAAADzBAAAAAAAAAAAAAAAAgAAAAQAAMcEAAEaBAAANwQAAD0EAADFBAAAxQQAAFsEAABbBAAAAARAABgEAAACBAAAbQQAAAAEAAAVBAAAAAQAAAAEAAAABAAAAAQAAAAEAAA5BAAAOwQAAI4EAADGBAAAxgQAAAAEAABDBAAAAAQAAAAEAABDBAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAABvQQAAAAEAP//BAAAAAQAAFMEAAAABAAAAAQAAAAEAAAABAAAzQQAAHYEAAB6BAAA0wQAAKIEAAFBBAABQAQAAKgEAAAABAAAAAQAAAAEAAAABAAAWAQAAAAEAAAABAAAAAQAAAEEAAAABAAANAQAADQEAAAABAAAAAQAAAEEAAABBAAAAQQAAAAEAAAEBAAAAAQAAAAEAAAABAAAAQQAAAAEAAAPBAAAWAQAAIQEAAAABAABmgQAAAAEAABTBAAAUwQAAFMEAAAABAAAAAQAAGkEAAB1BAAAAAQAALAEAAA7BAAAAAQAAAAEAP//BAAAOwQAADsEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAP/4BAAAVAQAAAAEAAAABAAAsAQAAAAEAAAABAAAAAQA//0EAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAD/8wQAAIQEAAAABAAAAAQAAAEEAAAABAAAAAQAAAEEAAAuBAAAAAQAACIEAACwBAAAOwQAAAAEAABCBAAACgQAAFQEAAAABAAAAAQAAAAEAAAABAAAAAQAAHUEAAB1BAAAAAQAAAAEAABCBAAAAAQAAAAEAABYBAAABAQAADoEAAA7BAAAKQQAACoEAAA6BAAAJAQAACkEAAAqBAAAFQQA//oEAP/8BAD//AQA//oEAAAABAAAAQQAAAAEAAAABAAAAAQAAHUEAAAABAAAAAQAAAAEAADQBAAA0AQAAAAEAP//BAAAAAQAAAAEAAEIBAAA5wQAAAAEAAAABAAAAAQAAA8EAAAABAAAAAQAADsEAABQBAAABwQAAAQEAAAABAAAAAQAAEAEAAAABAAAAAQAAAQEAAA4BAAAAAQAAAAEAAABBAAAAAQAAAAEAP//BAAAAAQAAAEEAAAABAAAAAQAAGYEAAAABAAAAAQAAAAEAAAABAAAfwQAAIEEAACCBAAAgQQAAAAEAP//BAAAAAQAALwEAAAABAAAAAQAADgEAACEBAAADwQAAAEEAAAABAAAKwQAAAAEAAAABAAAIwQAAAAEAAAABAAAAAQAAD4EAACQBAAAAAQAAOoEAAAVAAAAAAAKABQAHgBcAJoA0AEOAUwBiAHGAgACgAK2A5QD6gSWBMoFTgVqBdgGCAZiBpQG0AdCB5YH6gieCOoJPAmOCeIKJgrAC14L/gygDQANMA20DjIOpA8OD5oQIBCsETgRnBIMEngS5BMaE1QTjhPKFE4UtBUWFa4WNBauF0oX8hhwGSIZshpUGsgbmhvwHLgdgB4GHl4euB8QH2ghTiHSIiAipiL8I9AkBiQ+JP4lfCYOJmwm7CdYJ6AoWCjGKS4pyipiKsYrIiuALBwsiizWLU4uKC66L74wTDCeMP4xjDIMMowzfDRWNNw1YDXKNkw34jhAOL45eDnCOhA6ojtUO8o8PD1uPiI+gj9QP5g/4EBgQSpBxEI2QlxC4EOuRDBEmkVsRf5GqEc+R/xIuEkaSaBLCkvgTLZNbE4kTv5PyFCCUUBRzFJoUvxTkFQsVLhVSlYEVrxXFFdcV8hYdFkWWWJZtFoaWoZbEluOW8Bb+FxWXaZeOl7IX8hgXmDWYWRiGGLOY3RjyGR+ZVRl8GZ2ZwpnjGfuaKBp4mpyarprPmxebPZtVm4GbvBvKG+Yb/BwKHBgcJhw0HF8cdhyhHL2c1BzgHPkdBZ0TnSQdQx2EnbGdy534nhUeUx51npGesh7QHu2fHgAAQAAAPMBpQAOAAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAABYBDgABAAAAAAAAABQAHgABAAAAAAABAAoAAAABAAAAAAACAAcCWwABAAAAAAADAAoCHwABAAAAAAAEAAoCcAABAAAAAAAFAAsB/gABAAAAAAAGAAoCPQABAAAAAAAKAD4AWgABAAAAAAALACgBFAABAAAAAAANAAMBjAABAAAAAAAOACMBlQADAAEECQAAACgAMgADAAEECQABABQACgADAAEECQACAA4CYgADAAEECQADABQCKQADAAEECQAEABQCegADAAEECQAFABYCCQADAAEECQAGABQCRwADAAEECQAKAHwAmAADAAEECQALAFABPAADAAEECQANAAYBjwADAAEECQAOAEYBuHByaW1laWNvbnMAcAByAGkAbQBlAGkAYwBvAG4Ac1ByaW1lVGVrIEluZm9ybWF0aWNzAFAAcgBpAG0AZQBUAGUAawAgAEkAbgBmAG8AcgBtAGEAdABpAGMAc0ljb24gTGlicmFyeSBmb3IgUHJpbWUgVUkgTGlicmFyaWVzCkZvbnQgZ2VuZXJhdGVkIGJ5IEljb01vb24uAEkAYwBvAG4AIABMAGkAYgByAGEAcgB5ACAAZgBvAHIAIABQAHIAaQBtAGUAIABVAEkAIABMAGkAYgByAGEAcgBpAGUAcwAKAEYAbwBuAHQAIABnAGUAbgBlAHIAYQB0AGUAZAAgAGIAeQAgAEkAYwBvAE0AbwBvAG4ALmh0dHBzOi8vZ2l0aHViLmNvbS9wcmltZWZhY2VzL3ByaW1laWNvbnMAaAB0AHQAcABzADoALwAvAGcAaQB0AGgAdQBiAC4AYwBvAG0ALwBwAHIAaQBtAGUAZgBhAGMAZQBzAC8AcAByAGkAbQBlAGkAYwBvAG4Ac01JVABNAEkAVGh0dHBzOi8vb3BlbnNvdXJjZS5vcmcvbGljZW5zZXMvTUlUAGgAdAB0AHAAcwA6AC8ALwBvAHAAZQBuAHMAbwB1AHIAYwBlAC4AbwByAGcALwBsAGkAYwBlAG4AcwBlAHMALwBNAEkAVFZlcnNpb24gMS4wAFYAZQByAHMAaQBvAG4AIAAxAC4AMHByaW1laWNvbnMAcAByAGkAbQBlAGkAYwBvAG4Ac3ByaW1laWNvbnMAcAByAGkAbQBlAGkAYwBvAG4Ac1JlZ3VsYXIAUgBlAGcAdQBsAGEAcnByaW1laWNvbnMAcAByAGkAbQBlAGkAYwBvAG4AcwADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA) format("woff")} +@font-face{font-family:primeicons;font-display:block;src:url(primeicons.eot);src:url(primeicons.eot?#iefix) format("embedded-opentype"),url(primeicons.woff2) format("woff2"),url(primeicons.woff) format("woff"),url(primeicons.ttf) format("truetype"),url(primeicons.svg?#primeicons) format("svg");font-weight:400;font-style:normal}.pi{font-family:primeicons;speak:none;font-style:normal;font-weight:400;font-variant:normal;text-transform:none;line-height:1;display:inline-block;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.pi:before{--webkit-backface-visibility:hidden;-webkit-backface-visibility:hidden;backface-visibility:hidden}.pi-fw{width:1.28571429em;text-align:center}.pi-spin{animation:fa-spin 2s infinite linear}@keyframes fa-spin{0%{transform:rotate(0)}to{transform:rotate(359deg)}}.pi-eraser:before{content:"\ea04"}.pi-stopwatch:before{content:"\ea01"}.pi-verified:before{content:"\ea02"}.pi-delete-left:before{content:"\ea03"}.pi-hourglass:before{content:"\e9fe"}.pi-truck:before{content:"\ea00"}.pi-wrench:before{content:"\e9ff"}.pi-microphone:before{content:"\e9fa"}.pi-megaphone:before{content:"\e9fb"}.pi-arrow-right-arrow-left:before{content:"\e9fc"}.pi-bitcoin:before{content:"\e9fd"}.pi-file-edit:before{content:"\e9f6"}.pi-language:before{content:"\e9f7"}.pi-file-export:before{content:"\e9f8"}.pi-file-import:before{content:"\e9f9"}.pi-file-word:before{content:"\e9f1"}.pi-gift:before{content:"\e9f2"}.pi-cart-plus:before{content:"\e9f3"}.pi-thumbs-down-fill:before{content:"\e9f4"}.pi-thumbs-up-fill:before{content:"\e9f5"}.pi-arrows-alt:before{content:"\e9f0"}.pi-calculator:before{content:"\e9ef"}.pi-sort-alt-slash:before{content:"\e9ee"}.pi-arrows-h:before{content:"\e9ec"}.pi-arrows-v:before{content:"\e9ed"}.pi-pound:before{content:"\e9eb"}.pi-prime:before{content:"\e9ea"}.pi-chart-pie:before{content:"\e9e9"}.pi-reddit:before{content:"\e9e8"}.pi-code:before{content:"\e9e7"}.pi-sync:before{content:"\e9e6"}.pi-shopping-bag:before{content:"\e9e5"}.pi-server:before{content:"\e9e4"}.pi-database:before{content:"\e9e3"}.pi-hashtag:before{content:"\e9e2"}.pi-bookmark-fill:before{content:"\e9df"}.pi-filter-fill:before{content:"\e9e0"}.pi-heart-fill:before{content:"\e9e1"}.pi-flag-fill:before{content:"\e9de"}.pi-circle:before{content:"\e9dc"}.pi-circle-fill:before{content:"\e9dd"}.pi-bolt:before{content:"\e9db"}.pi-history:before{content:"\e9da"}.pi-box:before{content:"\e9d9"}.pi-at:before{content:"\e9d8"}.pi-arrow-up-right:before{content:"\e9d4"}.pi-arrow-up-left:before{content:"\e9d5"}.pi-arrow-down-left:before{content:"\e9d6"}.pi-arrow-down-right:before{content:"\e9d7"}.pi-telegram:before{content:"\e9d3"}.pi-stop-circle:before{content:"\e9d2"}.pi-stop:before{content:"\e9d1"}.pi-whatsapp:before{content:"\e9d0"}.pi-building:before{content:"\e9cf"}.pi-qrcode:before{content:"\e9ce"}.pi-car:before{content:"\e9cd"}.pi-instagram:before{content:"\e9cc"}.pi-linkedin:before{content:"\e9cb"}.pi-send:before{content:"\e9ca"}.pi-slack:before{content:"\e9c9"}.pi-sun:before{content:"\e9c8"}.pi-moon:before{content:"\e9c7"}.pi-vimeo:before{content:"\e9c6"}.pi-youtube:before{content:"\e9c5"}.pi-flag:before{content:"\e9c4"}.pi-wallet:before{content:"\e9c3"}.pi-map:before{content:"\e9c2"}.pi-link:before{content:"\e9c1"}.pi-credit-card:before{content:"\e9bf"}.pi-discord:before{content:"\e9c0"}.pi-percentage:before{content:"\e9be"}.pi-euro:before{content:"\e9bd"}.pi-book:before{content:"\e9ba"}.pi-shield:before{content:"\e9b9"}.pi-paypal:before{content:"\e9bb"}.pi-amazon:before{content:"\e9bc"}.pi-phone:before{content:"\e9b8"}.pi-filter-slash:before{content:"\e9b7"}.pi-facebook:before{content:"\e9b4"}.pi-github:before{content:"\e9b5"}.pi-twitter:before{content:"\e9b6"}.pi-step-backward-alt:before{content:"\e9ac"}.pi-step-forward-alt:before{content:"\e9ad"}.pi-forward:before{content:"\e9ae"}.pi-backward:before{content:"\e9af"}.pi-fast-backward:before{content:"\e9b0"}.pi-fast-forward:before{content:"\e9b1"}.pi-pause:before{content:"\e9b2"}.pi-play:before{content:"\e9b3"}.pi-compass:before{content:"\e9ab"}.pi-id-card:before{content:"\e9aa"}.pi-ticket:before{content:"\e9a9"}.pi-file-o:before{content:"\e9a8"}.pi-reply:before{content:"\e9a7"}.pi-directions-alt:before{content:"\e9a5"}.pi-directions:before{content:"\e9a6"}.pi-thumbs-up:before{content:"\e9a3"}.pi-thumbs-down:before{content:"\e9a4"}.pi-sort-numeric-down-alt:before{content:"\e996"}.pi-sort-numeric-up-alt:before{content:"\e997"}.pi-sort-alpha-down-alt:before{content:"\e998"}.pi-sort-alpha-up-alt:before{content:"\e999"}.pi-sort-numeric-down:before{content:"\e99a"}.pi-sort-numeric-up:before{content:"\e99b"}.pi-sort-alpha-down:before{content:"\e99c"}.pi-sort-alpha-up:before{content:"\e99d"}.pi-sort-alt:before{content:"\e99e"}.pi-sort-amount-up:before{content:"\e99f"}.pi-sort-amount-down:before{content:"\e9a0"}.pi-sort-amount-down-alt:before{content:"\e9a1"}.pi-sort-amount-up-alt:before{content:"\e9a2"}.pi-palette:before{content:"\e995"}.pi-undo:before{content:"\e994"}.pi-desktop:before{content:"\e993"}.pi-sliders-v:before{content:"\e991"}.pi-sliders-h:before{content:"\e992"}.pi-search-plus:before{content:"\e98f"}.pi-search-minus:before{content:"\e990"}.pi-file-excel:before{content:"\e98e"}.pi-file-pdf:before{content:"\e98d"}.pi-check-square:before{content:"\e98c"}.pi-chart-line:before{content:"\e98b"}.pi-user-edit:before{content:"\e98a"}.pi-exclamation-circle:before{content:"\e989"}.pi-android:before{content:"\e985"}.pi-google:before{content:"\e986"}.pi-apple:before{content:"\e987"}.pi-microsoft:before{content:"\e988"}.pi-heart:before{content:"\e984"}.pi-mobile:before{content:"\e982"}.pi-tablet:before{content:"\e983"}.pi-key:before{content:"\e981"}.pi-shopping-cart:before{content:"\e980"}.pi-comments:before{content:"\e97e"}.pi-comment:before{content:"\e97f"}.pi-briefcase:before{content:"\e97d"}.pi-bell:before{content:"\e97c"}.pi-paperclip:before{content:"\e97b"}.pi-share-alt:before{content:"\e97a"}.pi-envelope:before{content:"\e979"}.pi-volume-down:before{content:"\e976"}.pi-volume-up:before{content:"\e977"}.pi-volume-off:before{content:"\e978"}.pi-eject:before{content:"\e975"}.pi-money-bill:before{content:"\e974"}.pi-images:before{content:"\e973"}.pi-image:before{content:"\e972"}.pi-sign-in:before{content:"\e970"}.pi-sign-out:before{content:"\e971"}.pi-wifi:before{content:"\e96f"}.pi-sitemap:before{content:"\e96e"}.pi-chart-bar:before{content:"\e96d"}.pi-camera:before{content:"\e96c"}.pi-dollar:before{content:"\e96b"}.pi-lock-open:before{content:"\e96a"}.pi-table:before{content:"\e969"}.pi-map-marker:before{content:"\e968"}.pi-list:before{content:"\e967"}.pi-eye-slash:before{content:"\e965"}.pi-eye:before{content:"\e966"}.pi-folder-open:before{content:"\e964"}.pi-folder:before{content:"\e963"}.pi-video:before{content:"\e962"}.pi-inbox:before{content:"\e961"}.pi-lock:before{content:"\e95f"}.pi-unlock:before{content:"\e960"}.pi-tags:before{content:"\e95d"}.pi-tag:before{content:"\e95e"}.pi-power-off:before{content:"\e95c"}.pi-save:before{content:"\e95b"}.pi-question-circle:before{content:"\e959"}.pi-question:before{content:"\e95a"}.pi-copy:before{content:"\e957"}.pi-file:before{content:"\e958"}.pi-clone:before{content:"\e955"}.pi-calendar-times:before{content:"\e952"}.pi-calendar-minus:before{content:"\e953"}.pi-calendar-plus:before{content:"\e954"}.pi-ellipsis-v:before{content:"\e950"}.pi-ellipsis-h:before{content:"\e951"}.pi-bookmark:before{content:"\e94e"}.pi-globe:before{content:"\e94f"}.pi-replay:before{content:"\e94d"}.pi-filter:before{content:"\e94c"}.pi-print:before{content:"\e94b"}.pi-align-right:before{content:"\e946"}.pi-align-left:before{content:"\e947"}.pi-align-center:before{content:"\e948"}.pi-align-justify:before{content:"\e949"}.pi-cog:before{content:"\e94a"}.pi-cloud-download:before{content:"\e943"}.pi-cloud-upload:before{content:"\e944"}.pi-cloud:before{content:"\e945"}.pi-pencil:before{content:"\e942"}.pi-users:before{content:"\e941"}.pi-clock:before{content:"\e940"}.pi-user-minus:before{content:"\e93e"}.pi-user-plus:before{content:"\e93f"}.pi-trash:before{content:"\e93d"}.pi-external-link:before{content:"\e93c"}.pi-window-maximize:before{content:"\e93b"}.pi-window-minimize:before{content:"\e93a"}.pi-refresh:before{content:"\e938"}.pi-user:before{content:"\e939"}.pi-exclamation-triangle:before{content:"\e922"}.pi-calendar:before{content:"\e927"}.pi-chevron-circle-left:before{content:"\e928"}.pi-chevron-circle-down:before{content:"\e929"}.pi-chevron-circle-right:before{content:"\e92a"}.pi-chevron-circle-up:before{content:"\e92b"}.pi-angle-double-down:before{content:"\e92c"}.pi-angle-double-left:before{content:"\e92d"}.pi-angle-double-right:before{content:"\e92e"}.pi-angle-double-up:before{content:"\e92f"}.pi-angle-down:before{content:"\e930"}.pi-angle-left:before{content:"\e931"}.pi-angle-right:before{content:"\e932"}.pi-angle-up:before{content:"\e933"}.pi-upload:before{content:"\e934"}.pi-download:before{content:"\e956"}.pi-ban:before{content:"\e935"}.pi-star-fill:before{content:"\e936"}.pi-star:before{content:"\e937"}.pi-chevron-left:before{content:"\e900"}.pi-chevron-right:before{content:"\e901"}.pi-chevron-down:before{content:"\e902"}.pi-chevron-up:before{content:"\e903"}.pi-caret-left:before{content:"\e904"}.pi-caret-right:before{content:"\e905"}.pi-caret-down:before{content:"\e906"}.pi-caret-up:before{content:"\e907"}.pi-search:before{content:"\e908"}.pi-check:before{content:"\e909"}.pi-check-circle:before{content:"\e90a"}.pi-times:before{content:"\e90b"}.pi-times-circle:before{content:"\e90c"}.pi-plus:before{content:"\e90d"}.pi-plus-circle:before{content:"\e90e"}.pi-minus:before{content:"\e90f"}.pi-minus-circle:before{content:"\e910"}.pi-circle-on:before{content:"\e911"}.pi-circle-off:before{content:"\e912"}.pi-sort-down:before{content:"\e913"}.pi-sort-up:before{content:"\e914"}.pi-sort:before{content:"\e915"}.pi-step-backward:before{content:"\e916"}.pi-step-forward:before{content:"\e917"}.pi-th-large:before{content:"\e918"}.pi-arrow-down:before{content:"\e919"}.pi-arrow-left:before{content:"\e91a"}.pi-arrow-right:before{content:"\e91b"}.pi-arrow-up:before{content:"\e91c"}.pi-bars:before{content:"\e91d"}.pi-arrow-circle-down:before{content:"\e91e"}.pi-arrow-circle-left:before{content:"\e91f"}.pi-arrow-circle-right:before{content:"\e920"}.pi-arrow-circle-up:before{content:"\e921"}.pi-info:before{content:"\e923"}.pi-info-circle:before{content:"\e924"}.pi-home:before{content:"\e925"}.pi-spinner:before{content:"\e926"}.p-component,.p-component *{box-sizing:border-box}.p-hidden{display:none}.p-hidden-space{visibility:hidden}.p-hidden-accessible{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.p-hidden-accessible input,.p-hidden-accessible select{transform:scale(0)}.p-reset{margin:0;padding:0;border:0;outline:0;text-decoration:none;font-size:100%;list-style:none}.p-disabled,.p-disabled *{cursor:default!important;pointer-events:none}.p-component-overlay{position:fixed;top:0;left:0;width:100%;height:100%}.p-overflow-hidden{overflow:hidden}.p-unselectable-text{-webkit-user-select:none;user-select:none}.p-scrollbar-measure{width:100px;height:100px;overflow:scroll;position:absolute;top:-9999px}@keyframes p-fadein{0%{opacity:0}to{opacity:1}}input[type=button],input[type=submit],input[type=reset],input[type=file]::-webkit-file-upload-button,button{border-radius:0}.p-link{text-align:left;background-color:transparent;margin:0;padding:0;border:0;cursor:pointer;-webkit-user-select:none;user-select:none}.p-link:disabled{cursor:default}.p-sr-only{border:0;clip:rect(1px,1px,1px,1px);clip-path:inset(50%);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;word-wrap:normal!important}.p-connected-overlay{opacity:0;transform:scaleY(.8);transition:transform .12s cubic-bezier(0,0,.2,1),opacity .12s cubic-bezier(0,0,.2,1)}.p-connected-overlay-visible{opacity:1;transform:scaleY(1)}.p-connected-overlay-hidden{opacity:0;transform:scaleY(1);transition:opacity .1s linear}.p-toggleable-content.ng-animating{overflow:hidden}.p-badge{display:inline-block;border-radius:10px;text-align:center;padding:0 .5rem}.p-overlay-badge{position:relative}.p-overlay-badge .p-badge{position:absolute;top:0;right:0;transform:translate(50%,-50%);transform-origin:100% 0;margin:0}.p-badge-dot{width:.5rem;min-width:.5rem;height:.5rem;border-radius:50%;padding:0}.p-badge-no-gutter{padding:0;border-radius:50%}.p-button{margin:0;display:inline-flex;cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;vertical-align:bottom;text-align:center;overflow:hidden;position:relative}.p-button-label{flex:1 1 auto}.p-button-icon-right{order:1}.p-button:disabled{cursor:default}.p-button-icon-only{justify-content:center}.p-button-icon-only:after{content:"p";visibility:hidden;clip:rect(0 0 0 0);width:0}.p-button-vertical{flex-direction:column}.p-button-icon-bottom{order:2}.p-buttonset .p-button{margin:0}.p-buttonset .p-button:not(:last-child){border-right:0 none}.p-buttonset .p-button:not(:first-of-type):not(:last-of-type){border-radius:0}.p-buttonset .p-button:first-of-type{border-top-right-radius:0;border-bottom-right-radius:0}.p-buttonset .p-button:last-of-type{border-top-left-radius:0;border-bottom-left-radius:0}.p-buttonset .p-button:focus{position:relative;z-index:1}.p-checkbox{display:inline-flex;cursor:pointer;-webkit-user-select:none;user-select:none;vertical-align:bottom;position:relative}.p-checkbox-disabled{cursor:default!important;pointer-events:none}.p-checkbox-box{display:flex;justify-content:center;align-items:center}p-checkbox{display:inline-flex;vertical-align:bottom;align-items:center}.p-checkbox-label{line-height:1}.p-colorpicker-panel .p-colorpicker-color{background:transparent url(color.png) no-repeat left top}.p-colorpicker-panel .p-colorpicker-hue{background:transparent url(hue.png) no-repeat left top}.p-inputtext{margin:0}.p-fluid .p-inputtext{width:100%}.p-inputgroup{display:flex;align-items:stretch;width:100%}.p-inputgroup-addon{display:flex;align-items:center;justify-content:center}.p-inputgroup .p-float-label{display:flex;align-items:stretch;width:100%}.p-inputgroup .p-inputtext,.p-fluid .p-inputgroup .p-inputtext,.p-inputgroup .p-inputwrapper,.p-inputgroup .p-inputwrapper>.p-component{flex:1 1 auto;width:1%}.p-float-label{display:block;position:relative}.p-float-label label{position:absolute;pointer-events:none;top:50%;margin-top:-.5rem;transition-property:all;transition-timing-function:ease;line-height:1}.p-float-label textarea~label{top:1rem}.p-float-label input:focus~label,.p-float-label input.p-filled~label,.p-float-label textarea:focus~label,.p-float-label textarea.p-filled~label,.p-float-label .p-inputwrapper-focus~label,.p-float-label .p-inputwrapper-filled~label{top:-.75rem;font-size:12px}.p-float-label .input:-webkit-autofill~label{top:-20px;font-size:12px}.p-float-label .p-placeholder,.p-float-label input::placeholder,.p-float-label .p-inputtext::placeholder{opacity:0;transition-property:all;transition-timing-function:ease}.p-float-label .p-focus .p-placeholder,.p-float-label input:focus::placeholder,.p-float-label .p-inputtext:focus::placeholder{opacity:1;transition-property:all;transition-timing-function:ease}.p-input-icon-left,.p-input-icon-right{position:relative;display:inline-block}.p-input-icon-left>i,.p-input-icon-right>i{position:absolute;top:50%;margin-top:-.5rem}.p-fluid .p-input-icon-left,.p-fluid .p-input-icon-right{display:block;width:100%}.p-inputtextarea-resizable{overflow:hidden;resize:none}.p-fluid .p-inputtextarea{width:100%}.p-password{position:relative;display:inline-flex}.p-password-panel{position:absolute;top:0;left:0}.p-password .p-password-panel{min-width:100%}.p-password-meter{height:10px}.p-password-strength{height:100%;width:0;transition:width 1s ease-in-out}.p-fluid .p-password{display:flex}.p-password-input::-ms-reveal,.p-password-input::-ms-clear{display:none}.p-password-clear-icon{position:absolute;top:50%;margin-top:-.5rem;cursor:pointer}.p-password-clearable{position:relative}.p-radiobutton{display:inline-flex;cursor:pointer;-webkit-user-select:none;user-select:none;vertical-align:bottom;position:relative}.p-radiobutton-box{display:flex;justify-content:center;align-items:center}.p-radiobutton-icon{-webkit-backface-visibility:hidden;backface-visibility:hidden;transform:translateZ(0) scale(.1);border-radius:50%;visibility:hidden}.p-radiobutton-box.p-highlight .p-radiobutton-icon{transform:translateZ(0) scale(1);visibility:visible}p-radiobutton{display:inline-flex;vertical-align:bottom;align-items:center}.p-radiobutton-label{line-height:1}.p-ripple{overflow:hidden;position:relative}.p-ink{display:block;position:absolute;background:rgba(255,255,255,.5);border-radius:100%;transform:scale(0)}.p-ink-active{animation:ripple .4s linear}.p-ripple-disabled .p-ink{display:none!important}@keyframes ripple{to{opacity:0;transform:scale(2.5)}}.p-tooltip{position:absolute;display:none;padding:.25em .5rem;max-width:12.5rem}.p-tooltip.p-tooltip-right,.p-tooltip.p-tooltip-left{padding:0 .25rem}.p-tooltip.p-tooltip-top,.p-tooltip.p-tooltip-bottom{padding:.25em 0}.p-tooltip .p-tooltip-text{white-space:pre-line;word-break:break-word}.p-tooltip-arrow{position:absolute;width:0;height:0;border-color:transparent;border-style:solid}.p-tooltip-right .p-tooltip-arrow{top:50%;left:0;margin-top:-.25rem;border-width:.25em .25em .25em 0}.p-tooltip-left .p-tooltip-arrow{top:50%;right:0;margin-top:-.25rem;border-width:.25em 0 .25em .25rem}.p-tooltip.p-tooltip-top{padding:.25em 0}.p-tooltip-top .p-tooltip-arrow{bottom:0;left:50%;margin-left:-.25rem;border-width:.25em .25em 0}.p-tooltip-bottom .p-tooltip-arrow{top:0;left:50%;margin-left:-.25rem;border-width:0 .25em .25rem}.p-component{font-family:Assistant,Helvetica Neue,Helvetica,Arial,Lucida Grande,sans-serif;font-size:1rem;font-weight:400;line-height:normal}.p-component-overlay{background-color:#fff;transition-duration:.2s}.p-disabled,.p-component:disabled{opacity:1}.p-text-secondary{color:#14151a}.p-link{border-radius:.125rem}.p-link:focus{outline:0 none;outline-offset:0;box-shadow:none}.p-fluid .p-inputgroup .p-button{width:auto}.p-fluid .p-inputgroup .p-button.p-button-icon-only{width:2.5rem}.p-field>label{font-size:.813rem}.formgroup-inline .field-checkbox{margin-bottom:0}.p-label-input-required:after{content:"*";color:red;margin-left:2px;vertical-align:middle}.pi{aspect-ratio:1/1;line-height:1;justify-content:center;align-items:center;display:flex;font-size:16px;width:20px}[class$=-sm] .pi{width:16px;font-size:14px}[class$=-lg] .pi{width:24px;font-size:18px}#large{height:3rem;border-radius:.5rem;font-size:1.25rem}#large .p-button-label{font-size:inherit}#large .p-button-icon,#large .pi{font-size:18px}#small{border-radius:.25rem;font-size:.813rem;gap:.25rem;height:2rem;padding:0 .5rem}#small .p-button-label{font-size:inherit}#main-primary-severity{background-color:var(--color-palette-primary-500)}#main-primary-severity:hover{background-color:var(--color-palette-primary-600)}#main-primary-severity:active{background-color:var(--color-palette-primary-700)}#main-primary-severity:focus{background-color:var(--color-palette-primary-500);outline:2.8px solid var(--color-palette-primary-op-20)}#outlined-primary-severity{background-color:transparent;border:1.5px solid var(--color-palette-primary-500)}#outlined-primary-severity .p-button-label,#outlined-primary-severity .p-button-icon,#outlined-primary-severity .pi{color:var(--color-palette-primary-500)}#outlined-primary-severity:hover{background-color:var(--color-palette-primary-op-10)}#outlined-primary-severity:active{background-color:var(--color-palette-primary-op-20)}#outlined-primary-severity:focus{background-color:transparent;outline:2.8px solid var(--color-palette-primary-op-20)}#outlined-primary-severity-sm{border:1px solid var(--color-palette-primary-500)}#outlined-secondary-severity{background-color:transparent;border:1.5px solid var(--color-palette-secondary-500)}#outlined-secondary-severity .p-button-label,#outlined-secondary-severity .p-button-icon,#outlined-secondary-severity .pi{color:var(--color-palette-secondary-500)}#outlined-secondary-severity:hover{background-color:var(--color-palette-secondary-op-10)}#outlined-secondary-severity:active{background-color:var(--color-palette-secondary-op-20)}#outlined-secondary-severity:focus{background-color:transparent;outline:2.8px solid var(--color-palette-primary-op-20)}#outlined-secondary-severity-sm{border:1px solid var(--color-palette-secondary-500)}#text-primary-severity{background-color:transparent;color:#14151a;overflow:hidden;max-width:100%}#text-primary-severity .p-button-label{color:inherit;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}#text-primary-severity.p-button-semi-transparent{background-color:#ffffffa6}#text-primary-severity .p-button-icon,#text-primary-severity .pi{color:var(--color-palette-primary-500)}#text-primary-severity:hover{background-color:var(--color-palette-primary-op-10)}#text-primary-severity:active{background-color:var(--color-palette-primary-op-20)}#text-primary-severity:focus{background-color:transparent;outline:2.8px solid var(--color-palette-primary-op-20)}#text-secondary-severity{background-color:transparent;color:#14151a}#text-secondary-severity .p-button-label{color:inherit}#text-secondary-severity.p-button-semi-transparent{background-color:#ffffffa6}#text-secondary-severity .p-button-icon,#text-secondary-severity .pi{color:var(--color-palette-secondary-500)}#text-secondary-severity:hover{background-color:var(--color-palette-secondary-op-10)}#text-secondary-severity:active{background-color:var(--color-palette-secondary-op-20)}#text-secondary-severity:focus{background-color:transparent;outline:2.8px solid var(--color-palette-primary-op-20)}#text-danger-severity{background-color:transparent;color:#d82b2e}#text-danger-severity:hover{background-color:#d82b2e1a}#text-danger-severity:active{background-color:#d82b2e33}#text-danger-severity:focus{background-color:transparent;outline:2.8px solid var(--color-palette-primary-op-20)}#text-danger-severity .p-button-icon,#text-danger-severity .pi{color:inherit}#button-disabled{background-color:#f3f3f4;color:#afb3c0}#button-disabled .p-button-label,#button-disabled .p-button-icon,#button-disabled .pi{color:inherit}#button-disabled-outlined{border:1.5px solid #ebecef}#large,.p-button:not(.p-button-icon-only).p-button-lg,.p-button-lg .p-button:not(.p-button-icon-only){height:3rem;border-radius:.5rem;font-size:1.25rem}#large .p-button-label,.p-button:not(.p-button-icon-only).p-button-lg .p-button-label,.p-button-lg .p-button:not(.p-button-icon-only) .p-button-label{font-size:inherit}#large .p-button-icon,.p-button:not(.p-button-icon-only).p-button-lg .p-button-icon,.p-button-lg .p-button:not(.p-button-icon-only) .p-button-icon,#large .pi,.p-button:not(.p-button-icon-only).p-button-lg .pi,.p-button-lg .p-button:not(.p-button-icon-only) .pi{font-size:18px}#small,.p-button:not(.p-button-icon-only).p-button-sm,.p-button-sm .p-button:not(.p-button-icon-only){border-radius:.25rem;font-size:.813rem;gap:.25rem;height:2rem;padding:0 .5rem}#small .p-button-label,.p-button:not(.p-button-icon-only).p-button-sm .p-button-label,.p-button-sm .p-button:not(.p-button-icon-only) .p-button-label{font-size:inherit}#main-primary-severity,.p-button:enabled,.p-button.p-fileupload-choose{background-color:var(--color-palette-primary-500)}#main-primary-severity:hover,.p-button:hover:enabled,.p-button.p-fileupload-choose:hover{background-color:var(--color-palette-primary-600)}#main-primary-severity:active,.p-button:active:enabled,.p-button.p-fileupload-choose:active{background-color:var(--color-palette-primary-700)}#main-primary-severity:focus,.p-button:focus:enabled,.p-button.p-fileupload-choose:focus{background-color:var(--color-palette-primary-500);outline:2.8px solid var(--color-palette-primary-op-20)}#main-secondary-severity{background-color:var(--color-palette-secondary-500)}#main-secondary-severity:hover{background-color:var(--color-palette-secondary-600)}#main-secondary-severity:active{background-color:var(--color-palette-secondary-700)}#main-secondary-severity:focus{background-color:var(--color-palette-secondary-500);outline:2.8px solid var(--color-palette-primary-op-20)}#outlined-primary-severity,.p-button.p-button-outlined:enabled,.p-button.p-button-outlined:not(.p-splitbutton-defaultbutton,.p-splitbutton-menubutton){background-color:transparent;border:1.5px solid var(--color-palette-primary-500)}#outlined-primary-severity .p-button-label,.p-button.p-button-outlined:enabled .p-button-label,.p-button.p-button-outlined:not(.p-splitbutton-defaultbutton,.p-splitbutton-menubutton) .p-button-label,#outlined-primary-severity .p-button-icon,.p-button.p-button-outlined:enabled .p-button-icon,.p-button.p-button-outlined:not(.p-splitbutton-defaultbutton,.p-splitbutton-menubutton) .p-button-icon,#outlined-primary-severity .pi,.p-button.p-button-outlined:enabled .pi,.p-button.p-button-outlined:not(.p-splitbutton-defaultbutton,.p-splitbutton-menubutton) .pi{color:var(--color-palette-primary-500)}#outlined-primary-severity:hover,.p-button.p-button-outlined:hover:enabled,.p-button.p-button-outlined:hover:not(.p-splitbutton-defaultbutton,.p-splitbutton-menubutton){background-color:var(--color-palette-primary-op-10)}#outlined-primary-severity:active,.p-button.p-button-outlined:active:enabled,.p-button.p-button-outlined:active:not(.p-splitbutton-defaultbutton,.p-splitbutton-menubutton){background-color:var(--color-palette-primary-op-20)}#outlined-primary-severity:focus,.p-button.p-button-outlined:focus:enabled,.p-button.p-button-outlined:focus:not(.p-splitbutton-defaultbutton,.p-splitbutton-menubutton){background-color:transparent;outline:2.8px solid var(--color-palette-primary-op-20)}#outlined-primary-severity-sm,.p-button.p-button-outlined:enabled.p-button-sm,.p-button.p-button-outlined:not(.p-splitbutton-defaultbutton,.p-splitbutton-menubutton).p-button-sm{border:1px solid var(--color-palette-primary-500)}#outlined-secondary-severity,.p-button.p-button-outlined:enabled.p-button-secondary,.p-button.p-button-outlined:not(.p-splitbutton-defaultbutton,.p-splitbutton-menubutton).p-button-secondary,.p-button:enabled.p-button-link.p-button-secondary,.p-button.p-fileupload-choose.p-button-link.p-button-secondary{background-color:transparent;border:1.5px solid var(--color-palette-secondary-500)}#outlined-secondary-severity .p-button-label,.p-button.p-button-outlined:enabled.p-button-secondary .p-button-label,.p-button.p-button-outlined:not(.p-splitbutton-defaultbutton,.p-splitbutton-menubutton).p-button-secondary .p-button-label,.p-button:enabled.p-button-link.p-button-secondary .p-button-label,.p-button.p-fileupload-choose.p-button-link.p-button-secondary .p-button-label,#outlined-secondary-severity .p-button-icon,.p-button.p-button-outlined:enabled.p-button-secondary .p-button-icon,.p-button.p-button-outlined:not(.p-splitbutton-defaultbutton,.p-splitbutton-menubutton).p-button-secondary .p-button-icon,.p-button:enabled.p-button-link.p-button-secondary .p-button-icon,.p-button.p-fileupload-choose.p-button-link.p-button-secondary .p-button-icon,#outlined-secondary-severity .pi,.p-button.p-button-outlined:enabled.p-button-secondary .pi,.p-button.p-button-outlined:not(.p-splitbutton-defaultbutton,.p-splitbutton-menubutton).p-button-secondary .pi,.p-button:enabled.p-button-link.p-button-secondary .pi,.p-button.p-fileupload-choose.p-button-link.p-button-secondary .pi{color:var(--color-palette-secondary-500)}#outlined-secondary-severity:hover,.p-button.p-button-outlined.p-button-secondary:hover:enabled,.p-button.p-button-outlined.p-button-secondary:hover:not(.p-splitbutton-defaultbutton,.p-splitbutton-menubutton),.p-button.p-button-link.p-button-secondary:hover:enabled,.p-button.p-fileupload-choose.p-button-link.p-button-secondary:hover{background-color:var(--color-palette-secondary-op-10)}#outlined-secondary-severity:active,.p-button.p-button-outlined.p-button-secondary:active:enabled,.p-button.p-button-outlined.p-button-secondary:active:not(.p-splitbutton-defaultbutton,.p-splitbutton-menubutton),.p-button.p-button-link.p-button-secondary:active:enabled,.p-button.p-fileupload-choose.p-button-link.p-button-secondary:active{background-color:var(--color-palette-secondary-op-20)}#outlined-secondary-severity:focus,.p-button.p-button-outlined.p-button-secondary:focus:enabled,.p-button.p-button-outlined.p-button-secondary:focus:not(.p-splitbutton-defaultbutton,.p-splitbutton-menubutton),.p-button.p-button-link.p-button-secondary:focus:enabled,.p-button.p-fileupload-choose.p-button-link.p-button-secondary:focus{background-color:transparent;outline:2.8px solid var(--color-palette-primary-op-20)}#outlined-secondary-severity-sm,.p-button.p-button-outlined:enabled.p-button-secondary.p-button-sm,.p-button.p-button-outlined:not(.p-splitbutton-defaultbutton,.p-splitbutton-menubutton).p-button-secondary.p-button-sm{border:1px solid var(--color-palette-secondary-500)}#text-primary-severity,.p-button-text:enabled:not(.p-splitbutton-defaultbutton,.p-splitbutton-menubutton),a.p-button.p-button-text{background-color:transparent;color:#14151a;overflow:hidden;max-width:100%}#text-primary-severity .p-button-label,.p-button-text:enabled:not(.p-splitbutton-defaultbutton,.p-splitbutton-menubutton) .p-button-label,a.p-button.p-button-text .p-button-label{color:inherit;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}#text-primary-severity.p-button-semi-transparent,.p-button-semi-transparent.p-button-text:enabled:not(.p-splitbutton-defaultbutton,.p-splitbutton-menubutton),a.p-button-semi-transparent.p-button.p-button-text{background-color:#ffffffa6}#text-primary-severity .p-button-icon,.p-button-text:enabled:not(.p-splitbutton-defaultbutton,.p-splitbutton-menubutton) .p-button-icon,a.p-button.p-button-text .p-button-icon,#text-primary-severity .pi,.p-button-text:enabled:not(.p-splitbutton-defaultbutton,.p-splitbutton-menubutton) .pi,a.p-button.p-button-text .pi{color:var(--color-palette-primary-500)}#text-primary-severity:hover,.p-button-text:hover:enabled:not(.p-splitbutton-defaultbutton,.p-splitbutton-menubutton),a.p-button.p-button-text:hover{background-color:var(--color-palette-primary-op-10)}#text-primary-severity:active,.p-button-text:active:enabled:not(.p-splitbutton-defaultbutton,.p-splitbutton-menubutton),a.p-button.p-button-text:active{background-color:var(--color-palette-primary-op-20)}#text-primary-severity:focus,.p-button-text:focus:enabled:not(.p-splitbutton-defaultbutton,.p-splitbutton-menubutton),a.p-button.p-button-text:focus{background-color:transparent;outline:2.8px solid var(--color-palette-primary-op-20)}#text-secondary-severity,.p-button-text:enabled:not(.p-splitbutton-defaultbutton,.p-splitbutton-menubutton).p-button-secondary,a.p-button.p-button-text.p-button-secondary{background-color:transparent;color:#14151a}#text-secondary-severity .p-button-label,.p-button-text:enabled:not(.p-splitbutton-defaultbutton,.p-splitbutton-menubutton).p-button-secondary .p-button-label,a.p-button.p-button-text.p-button-secondary .p-button-label{color:inherit}#text-secondary-severity.p-button-semi-transparent,.p-button-semi-transparent.p-button-text.p-button-secondary:enabled:not(.p-splitbutton-defaultbutton,.p-splitbutton-menubutton),a.p-button-semi-transparent.p-button.p-button-text.p-button-secondary{background-color:#ffffffa6}#text-secondary-severity .p-button-icon,.p-button-text:enabled:not(.p-splitbutton-defaultbutton,.p-splitbutton-menubutton).p-button-secondary .p-button-icon,a.p-button.p-button-text.p-button-secondary .p-button-icon,#text-secondary-severity .pi,.p-button-text:enabled:not(.p-splitbutton-defaultbutton,.p-splitbutton-menubutton).p-button-secondary .pi,a.p-button.p-button-text.p-button-secondary .pi{color:var(--color-palette-secondary-500)}#text-secondary-severity:hover,.p-button-text.p-button-secondary:hover:enabled:not(.p-splitbutton-defaultbutton,.p-splitbutton-menubutton),a.p-button.p-button-text.p-button-secondary:hover{background-color:var(--color-palette-secondary-op-10)}#text-secondary-severity:active,.p-button-text.p-button-secondary:active:enabled:not(.p-splitbutton-defaultbutton,.p-splitbutton-menubutton),a.p-button.p-button-text.p-button-secondary:active{background-color:var(--color-palette-secondary-op-20)}#text-secondary-severity:focus,.p-button-text.p-button-secondary:focus:enabled:not(.p-splitbutton-defaultbutton,.p-splitbutton-menubutton),a.p-button.p-button-text.p-button-secondary:focus{background-color:transparent;outline:2.8px solid var(--color-palette-primary-op-20)}#text-danger-severity,.p-button-text:enabled:not(.p-splitbutton-defaultbutton,.p-splitbutton-menubutton).p-button-danger,a.p-button.p-button-text.p-button-danger{background-color:transparent;color:#d82b2e}#text-danger-severity:hover,.p-button-text.p-button-danger:hover:enabled:not(.p-splitbutton-defaultbutton,.p-splitbutton-menubutton),a.p-button.p-button-text.p-button-danger:hover{background-color:#d82b2e1a}#text-danger-severity:active,.p-button-text.p-button-danger:active:enabled:not(.p-splitbutton-defaultbutton,.p-splitbutton-menubutton),a.p-button.p-button-text.p-button-danger:active{background-color:#d82b2e33}#text-danger-severity:focus,.p-button-text.p-button-danger:focus:enabled:not(.p-splitbutton-defaultbutton,.p-splitbutton-menubutton),a.p-button.p-button-text.p-button-danger:focus{background-color:transparent;outline:2.8px solid var(--color-palette-primary-op-20)}#text-danger-severity .p-button-icon,.p-button-text:enabled:not(.p-splitbutton-defaultbutton,.p-splitbutton-menubutton).p-button-danger .p-button-icon,a.p-button.p-button-text.p-button-danger .p-button-icon,#text-danger-severity .pi,.p-button-text:enabled:not(.p-splitbutton-defaultbutton,.p-splitbutton-menubutton).p-button-danger .pi,a.p-button.p-button-text.p-button-danger .pi{color:inherit}#button-disabled,.p-button:disabled:not(.p-splitbutton-defaultbutton,.p-splitbutton-menubutton){background-color:#f3f3f4;color:#afb3c0}#button-disabled .p-button-label,.p-button:disabled:not(.p-splitbutton-defaultbutton,.p-splitbutton-menubutton) .p-button-label,#button-disabled .p-button-icon,.p-button:disabled:not(.p-splitbutton-defaultbutton,.p-splitbutton-menubutton) .p-button-icon,#button-disabled .pi,.p-button:disabled:not(.p-splitbutton-defaultbutton,.p-splitbutton-menubutton) .pi{color:inherit}#button-disabled-outlined,.p-button:disabled:not(.p-splitbutton-defaultbutton,.p-splitbutton-menubutton).p-button-outlined{border:1.5px solid #ebecef}.p-button{border:none;color:#fff;border-radius:.375rem}.p-button .p-button-label{color:inherit;font-size:inherit;text-transform:capitalize}.p-button .p-button-icon,.p-button .pi{color:inherit}.p-button:not(.p-button-icon-only){font-size:1rem;gap:.5rem;height:2.5rem;padding:0 1rem;text-transform:capitalize}.p-button:enabled.p-button-link,.p-button.p-fileupload-choose.p-button-link{color:var(--color-palette-primary-500);background:transparent;border:transparent}.p-button:enabled.p-button-link.p-button-secondary,.p-button.p-fileupload-choose.p-button-link.p-button-secondary{border:transparent}.p-button-icon-only:not(.p-splitbutton-menubutton){height:2.5rem;width:2.5rem;border:none}.p-button-icon-only:not(.p-splitbutton-menubutton).p-button-sm{height:2rem;width:2rem}.p-button.p-button-vertical{height:100%;gap:.25rem;margin-bottom:0;padding:.5rem}.p-button-rounded{border-radius:50%}.p-dialog{border-radius:.375rem;box-shadow:0 11px 15px -7px var(--color-palette-black-op-20),0 24px 38px 3px var(--color-palette-black-op-10),0 9px 46px 8px var(--color-palette-black-op-10);border:0 none;overflow:auto}.p-dialog .p-dialog-header{border-bottom:0 none;background:#ffffff;color:#14151a;padding:2.5rem;border-top-right-radius:.375rem;border-top-left-radius:.375rem}.p-dialog .p-dialog-header .p-dialog-title{font-size:1.5rem}.p-dialog .p-dialog-header .p-dialog-header-icon{width:2rem;height:2rem;color:#14151a;border:0 none;background:transparent;border-radius:50%;transition:background-color .2s,color .2s,box-shadow .2s;margin-right:.5rem}.p-dialog .p-dialog-header .p-dialog-header-icon:enabled:hover{color:#14151a;border-color:transparent;background:var(--color-palette-primary-100)}.p-dialog .p-dialog-header .p-dialog-header-icon:focus{outline:0 none;outline-offset:0;box-shadow:0 0 0 4px var(--color-palette-secondary-op-20)}.p-dialog .p-dialog-header .p-dialog-header-icon:last-child{margin-right:0}.p-dialog .p-dialog-content{background:#ffffff;color:#14151a;padding:0 2.5rem 2.5rem}.p-dialog .p-dialog-footer{border-top:0 none;background:#ffffff;color:#14151a;padding:1.5rem;text-align:right;border-bottom-right-radius:.125rem;border-bottom-left-radius:.125rem}.p-dialog .p-dialog-footer button{margin:0 .5rem 0 0;width:auto}.p-dialog.p-confirm-dialog .p-confirm-dialog-icon{font-size:1.75rem;padding-right:.5rem;color:var(--color-palette-primary-500)}.p-dialog.p-confirm-dialog .p-confirm-dialog-message{line-height:1.5em}.p-dialog-mask.p-component-overlay{background-color:var(--color-palette-black-op-80);-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.p-dialog-header .p-dialog-header-icons .p-dialog-header-close{background-color:#f3f3f4;color:var(--color-palette-primary-500);border-radius:0}#form-field-base,#form-field-extend,.p-inputtext:not(.p-dropdown-label,.p-autocomplete-multiple-container,.p-autocomplete-input){background-color:#fff;height:2.5rem;border-radius:.375rem;border:1.5px solid #d1d4db;padding:0 .5rem;color:#6c7389;font-size:1rem}#form-field-base.p-filled,.p-filled#form-field-extend,.p-filled.p-inputtext:not(.p-dropdown-label,.p-autocomplete-multiple-container,.p-autocomplete-input){color:#14151a}#form-field-sm,.p-inputtext:not(.p-dropdown-label,.p-autocomplete-multiple-container,.p-autocomplete-input).p-inputtext-sm{height:2rem;font-size:.813rem;border-radius:.25rem}#form-field-hover,#form-field-states:enabled:hover,#form-field-extend:enabled:hover,.p-inputtext:enabled:hover:not(.p-dropdown-label,.p-autocomplete-multiple-container,.p-autocomplete-input),#form-field-states:hover,#form-field-extend:hover,.p-inputtext:hover:not(.p-dropdown-label,.p-autocomplete-multiple-container,.p-autocomplete-input){border-color:var(--color-palette-primary-400)}#form-field-focus,#form-field-states:enabled:active,#form-field-extend:enabled:active,.p-inputtext:enabled:active:not(.p-dropdown-label,.p-autocomplete-multiple-container,.p-autocomplete-input),#form-field-states:enabled:focus,#form-field-extend:enabled:focus,.p-inputtext:enabled:focus:not(.p-dropdown-label,.p-autocomplete-multiple-container,.p-autocomplete-input),#form-field-states:active,#form-field-extend:active,.p-inputtext:active:not(.p-dropdown-label,.p-autocomplete-multiple-container,.p-autocomplete-input),#form-field-states:focus,#form-field-extend:focus,.p-inputtext:focus:not(.p-dropdown-label,.p-autocomplete-multiple-container,.p-autocomplete-input){border-color:var(--color-palette-primary-400);outline:2.8px solid var(--color-palette-primary-op-20)}#form-field-disabled,#field-panel-item-disabled,#form-field-states:disabled,#form-field-extend:disabled,.p-inputtext:disabled:not(.p-dropdown-label,.p-autocomplete-multiple-container,.p-autocomplete-input){border-color:#f3f3f4;background:#fafafb;color:#afb3c0}#field-trigger{background:#f3f3f4;color:var(--color-palette-primary-500);width:2.5rem;border-top-right-radius:.375rem;border-bottom-right-radius:.375rem;height:100%}#field-trigger-sm{width:2rem;border-top-right-radius:.25rem;border-bottom-right-radius:.25rem}#field-trigger-icon{padding:.5rem;font-size:14px}#field-panel{background:#ffffff;color:#14151a;border:0 none;border-radius:.375rem;box-shadow:0 0 4px #14151a0a,0 8px 16px #14151a14;padding:.5rem;margin-top:.5rem}#field-panel-header{padding:.75rem;border-bottom:1.5px solid var(--color-palette-black-op-10);color:#14151a;background:#ffffff;margin:0;border-top-right-radius:.125rem;border-top-left-radius:.125rem}#field-panel-filter{padding-right:3rem;color:#14151a}#field-panel-filter-icon{right:.75rem;color:var(--color-palette-primary-500)}#field-panel-items{padding:0}#field-panel-item{display:flex;align-items:center;padding:0 .75rem;color:#14151a;height:2.5rem}#field-panel-item-highlight{background:var(--color-palette-primary-200)}#field-panel-item-hover{background:var(--color-palette-primary-100)}#field-panel-item-disabled{cursor:initial}#field-panel-item-checkbox{margin-right:.5rem}#field-panel-item-checkbox .p-checkbox-box{border-radius:.25rem;border:2px solid #d1d4db}#field-chip{height:1.5rem;padding:.5rem;background:var(--color-palette-primary-200);border-radius:.25rem;color:var(--color-palette-primary-500);font-size:.813rem;display:flex;align-items:center;justify-content:center;gap:.25rem}.p-inputtext:not(.p-dropdown-label,.p-autocomplete-multiple-container,.p-autocomplete-input).p-inputtextarea{padding:.5rem;min-height:4rem}.p-inputtext:not(.p-dropdown-label,.p-autocomplete-multiple-container,.p-autocomplete-input):disabled::placeholder{color:#afb3c0}.p-input-icon-right i.pi{color:var(--color-palette-primary-500);cursor:pointer;right:.5rem;margin-top:0;transform:translateY(-50%);-moz-transform:translateY(-50%)}.p-input-icon-right:has(.p-inputtext.p-inputtext-sm) i{font-size:.813rem}.p-input-icon-right i.pi:nth-of-type(1){right:.5rem}.p-input-icon-right i.pi:nth-of-type(2){right:2rem}.p-input-icon-right .p-inputtext{padding-right:2.5rem}.p-error,.p-invalid{color:#f65446}p-inputmask.ng-dirty.ng-invalid>.p-inputtext{border-color:#f65446}p-inputnumber.ng-dirty.ng-invalid>.p-inputnumber>.p-inputtext{border-color:#f65446}.p-inputswitch.p-error,.p-inputswitch.p-invalid{border-color:#f65446}p-inputswitch.ng-dirty.ng-invalid>.p-inputswitch{border-color:#f65446}.p-inputtext.p-error,.p-inputtext.p-invalid,.p-inputtext.ng-dirty.ng-invalid{border-color:#f65446}.p-inputtext.p-error:hover,.p-inputtext.p-error:active,.p-inputtext.p-error:focus,.p-inputtext.p-invalid:hover,.p-inputtext.p-invalid:active,.p-inputtext.p-invalid:focus,.p-inputtext.ng-dirty.ng-invalid:hover,.p-inputtext.ng-dirty.ng-invalid:active,.p-inputtext.ng-dirty.ng-invalid:focus{border-color:#f65446}p-listbox.ng-dirty.ng-invalid>.p-listbox{border-color:#f65446}.p-listbox.p-error,.p-listbox.p-invalid{border-color:#f65446}p-multiselect.ng-dirty.ng-invalid>.p-multiselect{border-color:#f65446}p-multiselect.ng-dirty.ng-invalid>.p-multiselect:hover,p-multiselect.ng-dirty.ng-invalid>.p-multiselect:active,p-multiselect.ng-dirty.ng-invalid>.p-multiselect:focus{border-color:#f65446}.p-radiobutton.p-error>.p-radiobutton-box,.p-radiobutton.p-invalid>.p-radiobutton-box{border-color:#f65446}p-radiobutton.ng-dirty.ng-invalid>.p-radiobutton>.p-radiobutton-box{border-color:#f65446}.p-selectbutton.p-error>.p-button,.p-selectbutton.p-invalid>.p-button{border-color:#f65446}p-selectbutton.ng-dirty.ng-invalid>.p-selectbutton>.p-button{border-color:#f65446}.p-togglebutton.p-button.p-error,.p-togglebutton.p-button.p-invalid{border-color:#f65446}p-togglebutton.ng-dirty.ng-invalid>.p-togglebutton.p-button{border-color:#f65446}.p-multiselect.p-error,.p-multiselect.p-invalid{border-color:#f65446}.p-multiselect.p-error:hover,.p-multiselect.p-error:active,.p-multiselect.p-error:focus,.p-multiselect.p-invalid:hover,.p-multiselect.p-invalid:active,.p-multiselect.p-invalid:focus{border-color:#f65446}.p-rating .p-rating-icon.p-rating-cancel{color:#f65446}.p-rating:not(.p-disabled):not(.p-readonly) .p-rating-icon.p-rating-cancel:hover{color:#f65446}@font-face{font-family:primeicons;font-display:block;font-weight:400;font-style:normal;src:url(data:application/font-woff;base64,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) format("woff")} diff --git a/dotCMS/src/main/webapp/html/js/dotcms/dijit/image/ImageEditor.js b/dotCMS/src/main/webapp/html/js/dotcms/dijit/image/ImageEditor.js index 516333bc2224..3ef673b7cdb1 100644 --- a/dotCMS/src/main/webapp/html/js/dotcms/dijit/image/ImageEditor.js +++ b/dotCMS/src/main/webapp/html/js/dotcms/dijit/image/ImageEditor.js @@ -37,6 +37,7 @@ dojo.declare("dotcms.dijit.image.ImageEditor", dijit._Widget,{ activeEditor: undefined, urlWithInode: undefined, currentNode: undefined, + variable: '', postCreate: function(){ @@ -466,6 +467,16 @@ dojo.declare("dotcms.dijit.image.ImageEditor", dijit._Widget,{ this._cleanUpImageEditor(); }, + /** + * Emit image editor close event if user closes the window without saving + */ + handleOnClose: function() { + const variable = this.variable; + const customEvent = new CustomEvent(`binaryField-close-image-editor-${variable}`, {}); + document.dispatchEvent(customEvent); + this.closeImageWindow(); + }, + /** * cleans up old references, resets imageEditor */ @@ -584,6 +595,8 @@ dojo.declare("dotcms.dijit.image.ImageEditor", dijit._Widget,{ saveBinaryImage: function(activeEditor){ let field = this.binaryFieldId; + let variable = this.variable; + if(this.fieldContentletId.length>0) { field = this.fieldContentletId; } @@ -607,8 +620,16 @@ dojo.declare("dotcms.dijit.image.ImageEditor", dijit._Widget,{ let dataJson = JSON.parse(xhr.responseText); self.tempId=dataJson.id; if(window.document.getElementById(self.binaryFieldId + "ValueField")){ - window.document.getElementById(self.binaryFieldId + "ValueField").value=dataJson.id; + + window.document.getElementById(self.binaryFieldId + "ValueField").value=dataJson.id; // Emit here the id of the image + + } else { + const customEvent = new CustomEvent(`binaryField-tempfile-${variable}`, { + detail: { tempFile: dataJson} + }); + document.dispatchEvent(customEvent); } + } else { alert("Error! Upload failed"); } diff --git a/dotCMS/src/main/webapp/html/js/dotcms/dijit/image/image_tool.jsp b/dotCMS/src/main/webapp/html/js/dotcms/dijit/image/image_tool.jsp index 5e0409173e01..67468e557299 100644 --- a/dotCMS/src/main/webapp/html/js/dotcms/dijit/image/image_tool.jsp +++ b/dotCMS/src/main/webapp/html/js/dotcms/dijit/image/image_tool.jsp @@ -167,7 +167,7 @@ <% } %>   - diff --git a/dotCMS/src/main/webapp/html/portlet/ext/contentlet/field/edit_field.jsp b/dotCMS/src/main/webapp/html/portlet/ext/contentlet/field/edit_field.jsp index 2edc913e6aef..2a5f213c4bce 100644 --- a/dotCMS/src/main/webapp/html/portlet/ext/contentlet/field/edit_field.jsp +++ b/dotCMS/src/main/webapp/html/portlet/ext/contentlet/field/edit_field.jsp @@ -18,6 +18,7 @@ <%@page import="com.dotmarketing.portlets.structure.business.FieldAPI"%> <%@page import="com.dotmarketing.portlets.structure.model.Field"%> <%@page import="com.dotmarketing.portlets.structure.model.FieldVariable"%> + <%@ include file="/html/portlet/ext/contentlet/init.jsp"%> <%@page import="com.dotmarketing.portlets.structure.model.Structure"%> @@ -38,6 +39,7 @@ <%@ page import="com.dotmarketing.beans.Host" %> <%@ page import="com.dotcms.contenttype.model.field.JSONField" %> <%@ page import="org.apache.commons.lang.StringEscapeUtils" %> +<%@ page import="com.fasterxml.jackson.databind.ObjectMapper" %> <% long defaultLang = APILocator.getLanguageAPI().getDefaultLanguage().getId(); @@ -674,8 +676,24 @@ String accept=""; String maxFileLength="0"; String helperText=""; + String binaryMetada = ""; + String jsonField = "{}"; + + Contentlet contentletObj = APILocator.getContentletAPI().find(inode, user, false); + ObjectMapper mapper = new ObjectMapper(); // Create an ObjectMapper instance + + try{ + java.io.File binaryFile = contentletObj.getBinary(field.getVelocityVarName()); + com.dotcms.storage.model.Metadata metadata = contentletObj.getBinaryMetadata(field); + binaryMetada = mapper.writeValueAsString(metadata.getMap()); // Metadata + jsonField = mapper.writeValueAsString(field); // Field + } catch(Exception e){ + Logger.error(this.getClass(), e.getMessage()); + } List acceptTypes=APILocator.getFieldAPI().getFieldVariablesForField(field.getInode(), user, false); + String fieldVariablesContent = mapper.writeValueAsString(acceptTypes); // Field Variables + for(FieldVariable fv : acceptTypes){ if("accept".equalsIgnoreCase(fv.getKey())){ accept = fv.getValue(); @@ -688,8 +706,7 @@ helperText=fv.getValue(); } } - - + %>
@@ -700,20 +717,28 @@ (function autoexecute() { const binaryFieldContainer = document.getElementById("container-binary-field-<%=field.getVelocityVarName()%>"); const field = document.querySelector('#binary-field-input-<%=field.getFieldContentlet()%>ValueField'); - const acceptArr = "<%= accept%>".split(','); - const acceptTypes = acceptArr.map((type) => type.trim()).filter((type) => type !== ""); - const maxFileSize = Number("<%= maxFileLength%>"); + const variable = "<%=field.getVelocityVarName()%>"; + const metadataString = '<%=binaryMetada%>'; + const metaData = metadataString ? JSON.parse(metadataString) : null; + const contentlet = metaData ? { + inode: "<%=binInode%>", + [variable]: `/dA/<%=contentlet.getIdentifier()%>/${variable}/${metaData.name}`, + [variable+"MetaData"]: metaData + } : null; + const fielData = { + ...(JSON.parse('<%=jsonField%>')), + variable, + fieldVariables: JSON.parse('<%=fieldVariablesContent%>') + } // Creating the binary field dynamically // Help us to set inputs before the ngInit is executed. const binaryField = document.createElement('dotcms-binary-field'); binaryField.id = "binary-field-<%=field.getVelocityVarName()%>"; - binaryField.setAttribute("fieldName", "<%=field.getVelocityVarName()%>") + binaryField.setAttribute("fieldName", "<%=field.getVelocityVarName()%>"); - // Set the initial value. - binaryField.maxFileSize = isNaN(maxFileSize) ? 0 : maxFileSize; - binaryField.accept = acceptTypes; - binaryField.helperText ="<%= helperText%>"; + binaryField.field = fielData; + binaryField.contentlet = contentlet; binaryField.addEventListener('tempFile', (event) => { const tempFile = event.detail; @@ -721,6 +746,21 @@ }); binaryFieldContainer.appendChild(binaryField); + + document.addEventListener(`binaryField-open-image-editor-${variable}`,({ detail }) => { + const { inode, variable = '', tempId } = detail; + + const imageEditor = new dotcms.dijit.image.ImageEditor({ + inode, + tempId, + variable, + fieldName: variable, + binaryFieldId: variable, + focalPoint: "0.0,0.0", + }); + + imageEditor.execute(); + }); })();