@valtimo/connector-management 12.15.0 → 12.15.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- {"version":3,"file":"valtimo-connector-management.mjs","sources":["../../../../projects/valtimo/connector-management/src/lib/models/object-sync.ts","../../../../projects/valtimo/connector-management/src/lib/models/index.ts","../../../../projects/valtimo/connector-management/src/lib/services/connector-management/connector-management.service.ts","../../../../projects/valtimo/connector-management/src/lib/services/connector-management-state/connector-management-state.service.ts","../../../../projects/valtimo/connector-management/src/lib/components/add-connector-select/add-connector-select.component.ts","../../../../projects/valtimo/connector-management/src/lib/components/add-connector-select/add-connector-select.component.html","../../../../projects/valtimo/connector-management/src/lib/components/multi-value-connector-property/multi-value-connector-property.component.ts","../../../../projects/valtimo/connector-management/src/lib/components/multi-value-connector-property/multi-value-connector-property.component.html","../../../../projects/valtimo/connector-management/src/lib/components/edit-connector-properties/edit-connector-properties.component.ts","../../../../projects/valtimo/connector-management/src/lib/components/edit-connector-properties/edit-connector-properties.component.html","../../../../projects/valtimo/connector-management/src/lib/components/edit-product-aanvragen-connector/edit-product-aanvragen-connector.form.ts","../../../../projects/valtimo/connector-management/src/lib/components/edit-product-aanvragen-connector/edit-product-aanvragen-connector.component.ts","../../../../projects/valtimo/connector-management/src/lib/components/edit-product-aanvragen-connector/edit-product-aanvragen-connector.component.html","../../../../projects/valtimo/connector-management/src/lib/components/edit-taak-connector/edit-taak-connector.form.ts","../../../../projects/valtimo/connector-management/src/lib/components/edit-taak-connector/edit-taak-connector.component.ts","../../../../projects/valtimo/connector-management/src/lib/components/edit-taak-connector/edit-taak-connector.component.html","../../../../projects/valtimo/connector-management/src/lib/components/edit-connector-form/edit-connector-form.component.ts","../../../../projects/valtimo/connector-management/src/lib/components/edit-connector-form/edit-connector-form.component.html","../../../../projects/valtimo/connector-management/src/lib/components/add-connector-configure/add-connector-configure.component.ts","../../../../projects/valtimo/connector-management/src/lib/components/add-connector-configure/add-connector-configure.component.html","../../../../projects/valtimo/connector-management/src/lib/components/modify-connector/modify-connector.component.ts","../../../../projects/valtimo/connector-management/src/lib/components/modify-connector/modify-connector.component.html","../../../../projects/valtimo/connector-management/src/lib/components/connector-modal/connector-modal.component.ts","../../../../projects/valtimo/connector-management/src/lib/components/connector-modal/connector-modal.component.html","../../../../projects/valtimo/connector-management/src/lib/components/connector-management/connector-management.component.ts","../../../../projects/valtimo/connector-management/src/lib/components/connector-management/connector-management.component.html","../../../../projects/valtimo/connector-management/src/lib/connector-management-routing.ts","../../../../projects/valtimo/connector-management/src/lib/services/object-api-sync/object-api-sync.service.ts","../../../../projects/valtimo/connector-management/src/lib/components/connector-link-extension-modal/connector-link-extension-modal.component.ts","../../../../projects/valtimo/connector-management/src/lib/components/connector-link-extension-modal/connector-link-extension-modal.component.html","../../../../projects/valtimo/connector-management/src/lib/components/connector-link-extension/connector-link-extension.component.ts","../../../../projects/valtimo/connector-management/src/lib/components/connector-link-extension/connector-link-extension.component.html","../../../../projects/valtimo/connector-management/src/lib/connector-management.module.ts","../../../../projects/valtimo/connector-management/src/public-api.ts","../../../../projects/valtimo/connector-management/src/valtimo-connector-management.ts"],"sourcesContent":["/*\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\ninterface ObjectSyncConfig {\n id: string;\n connectorInstanceId: string;\n documentDefinitionName: string;\n enabled: boolean;\n objectTypeId: string;\n title?: string;\n}\n\ninterface CreateObjectSyncConfigRequest {\n connectorInstanceId: string;\n enabled: boolean;\n documentDefinitionName: string;\n objectTypeId: string;\n}\n\ninterface CreateObjectSyncConfigResult {\n errors: Array<any>;\n objectSyncConfig: ObjectSyncConfig;\n}\n\nexport {ObjectSyncConfig, CreateObjectSyncConfigRequest, CreateObjectSyncConfigResult};\n","/*\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nexport * from './object-sync';\n","/*\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {Injectable} from '@angular/core';\nimport {HttpClient} from '@angular/common/http';\nimport {\n ConfigService,\n ConnectorInstance,\n ConnectorInstanceCreateRequest,\n ConnectorInstanceUpdateRequest,\n ConnectorType,\n} from '@valtimo/config';\nimport {Observable} from 'rxjs';\nimport {Page} from '@valtimo/document';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class ConnectorManagementService {\n private valtimoApiConfig: any;\n\n constructor(\n private http: HttpClient,\n private configService: ConfigService\n ) {\n this.valtimoApiConfig = configService.config.valtimoApi;\n }\n\n getConnectorInstances(params?: any): Observable<Page<ConnectorInstance>> {\n return this.http.get<Page<ConnectorInstance>>(\n `${this.valtimoApiConfig.endpointUri}v1/connector/instance`,\n {params}\n );\n }\n\n getConnectorInstancesByType(typeId: string, params?: any): Observable<Page<ConnectorInstance>> {\n return this.http.get<Page<ConnectorInstance>>(\n `${this.valtimoApiConfig.endpointUri}v1/connector/instance/${typeId}`,\n {params}\n );\n }\n\n getConnectorInstanceById(instanceId: string): Observable<ConnectorInstance> {\n return this.http.get<ConnectorInstance>(\n `${this.valtimoApiConfig.endpointUri}v1/connector/instance?instanceId=${instanceId}`\n );\n }\n\n getConnectorTypes(): Observable<Array<ConnectorType>> {\n return this.http.get<Array<ConnectorType>>(\n `${this.valtimoApiConfig.endpointUri}v1/connector/type`\n );\n }\n\n createConnectorInstance(request: ConnectorInstanceCreateRequest): Observable<ConnectorInstance> {\n return this.http.post<ConnectorInstance>(\n `${this.valtimoApiConfig.endpointUri}v1/connector/instance`,\n request\n );\n }\n\n updateConnectorInstance(request: ConnectorInstanceUpdateRequest): Observable<ConnectorInstance> {\n return this.http.put<ConnectorInstance>(\n `${this.valtimoApiConfig.endpointUri}v1/connector/instance`,\n request\n );\n }\n\n deleteConnectorInstance(connectorInstanceId: string): Observable<ConnectorInstance> {\n return this.http.delete<ConnectorInstance>(\n `${this.valtimoApiConfig.endpointUri}v1/connector/instance/${connectorInstanceId}`\n );\n }\n}\n","/*\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {Injectable} from '@angular/core';\nimport {BehaviorSubject, Observable, Subject} from 'rxjs';\nimport {take} from 'rxjs/operators';\nimport {ConnectorInstance, ConnectorModal, ConnectorType} from '@valtimo/config';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class ConnectorManagementStateService {\n private readonly _showModal$ = new Subject();\n private readonly _hideModal$ = new Subject();\n private readonly _showExtensionModal$ = new BehaviorSubject<boolean>(false);\n private readonly _inputDisabled$ = new BehaviorSubject<boolean>(false);\n private readonly _saveButtonDisabled$ = new BehaviorSubject<boolean>(true);\n private readonly _refresh$ = new BehaviorSubject<null>(null);\n private readonly _save$ = new Subject();\n private readonly _selectedInstance$ = new BehaviorSubject<ConnectorInstance>(undefined);\n private readonly _lastConfigIdAdded$ = new BehaviorSubject<string>('');\n private readonly _selectedConnector$ = new BehaviorSubject<ConnectorType>(undefined);\n private readonly _connectorTypes$ = new BehaviorSubject<Array<ConnectorType>>(undefined);\n private readonly _modalType$ = new BehaviorSubject<ConnectorModal>('add');\n private readonly _delete$ = new Subject();\n private readonly _hideModalSaveButton$ = new BehaviorSubject<boolean>(false);\n\n get showModal$(): Observable<any> {\n return this._showModal$.asObservable();\n }\n\n get hideModal$(): Observable<any> {\n return this._hideModal$.asObservable();\n }\n\n get showExtensionModal$(): Observable<boolean> {\n return this._showExtensionModal$.asObservable();\n }\n\n get inputDisabled$(): Observable<boolean> {\n return this._inputDisabled$.asObservable();\n }\n\n get refresh$(): Observable<any> {\n return this._refresh$.asObservable();\n }\n\n get selectedInstance$(): Observable<ConnectorInstance> {\n return this._selectedInstance$.asObservable();\n }\n\n get lastConfigIdAdded$(): Observable<string> {\n return this._lastConfigIdAdded$.asObservable();\n }\n\n get selectedConnector$(): Observable<ConnectorType> {\n return this._selectedConnector$.asObservable();\n }\n\n get connectorTypes$(): Observable<Array<ConnectorType>> {\n return this._connectorTypes$.asObservable();\n }\n\n get saveButtonDisabled$(): Observable<boolean> {\n return this._saveButtonDisabled$.asObservable();\n }\n\n get save$(): Observable<any> {\n return this._save$.asObservable();\n }\n\n get modalType$(): Observable<ConnectorModal> {\n return this._modalType$.asObservable();\n }\n\n get delete$(): Observable<any> {\n return this._delete$.asObservable();\n }\n\n get hideModalSaveButton$(): Observable<boolean> {\n return this._hideModalSaveButton$.asObservable();\n }\n\n showModal(): void {\n this._showModal$.next(null);\n }\n\n hideModal(): void {\n this._hideModal$.next(null);\n }\n\n showExtensionModal(): void {\n this._showExtensionModal$.next(true);\n }\n\n hideExtensionModal(): void {\n this._showExtensionModal$.next(false);\n }\n\n disableInput(): void {\n this._inputDisabled$.next(true);\n }\n\n enableInput(): void {\n this._inputDisabled$.next(false);\n }\n\n refresh(): void {\n this._refresh$.next(null);\n }\n\n setConnectorInstance(instance: ConnectorInstance): void {\n this._selectedInstance$.next(instance);\n }\n\n setLastConfigIdAdded(id: string): void {\n this._lastConfigIdAdded$.next(id);\n }\n\n clearLastConfigIdAdded(): void {\n this._lastConfigIdAdded$.next('');\n }\n\n setSelectedConnectorType(connectorType: ConnectorType): void {\n this._selectedConnector$.next(connectorType);\n }\n\n clearSelectedConnector(): void {\n this._selectedConnector$.next(undefined);\n }\n\n setConnectorTypes(connectorTypes: Array<ConnectorType>): void {\n this._connectorTypes$.next(connectorTypes);\n }\n\n enableSaveButton(): void {\n this._saveButtonDisabled$.next(false);\n }\n\n disableSaveButton(): void {\n this._saveButtonDisabled$.next(true);\n }\n\n save(): void {\n this._saveButtonDisabled$.pipe(take(1)).subscribe(saveButtonDisabled => {\n if (!saveButtonDisabled) {\n this._save$.next(null);\n }\n });\n }\n\n setModalType(type: ConnectorModal): void {\n this._modalType$.next(type);\n }\n\n delete(): void {\n this._delete$.next(null);\n }\n\n hideModalSaveButton(): void {\n this._hideModalSaveButton$.next(true);\n }\n\n showModalSaveButton(): void {\n this._hideModalSaveButton$.next(false);\n }\n}\n","/*\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {Component, OnDestroy, OnInit} from '@angular/core';\nimport {combineLatest, Subscription} from 'rxjs';\nimport {ConnectorType} from '@valtimo/config';\nimport {TranslateService} from '@ngx-translate/core';\nimport {ConnectorManagementService} from '../../services/connector-management/connector-management.service';\nimport {ConnectorManagementStateService} from '../../services/connector-management-state/connector-management-state.service';\n\n/**\n * @deprecated Use the new plugin framework\n */\n@Component({\n selector: 'valtimo-add-connector-select',\n templateUrl: './add-connector-select.component.html',\n styleUrls: ['./add-connector-select.component.scss'],\n})\nexport class AddConnectorSelectComponent implements OnInit, OnDestroy {\n readonly selectedConnector$ = this.stateService.selectedConnector$;\n readonly disabled$ = this.stateService.inputDisabled$;\n readonly connectorTypes$ = this.stateService.connectorTypes$;\n\n private refreshSubscription!: Subscription;\n\n constructor(\n private readonly connectorManagementService: ConnectorManagementService,\n private readonly stateService: ConnectorManagementStateService,\n private readonly translateService: TranslateService\n ) {}\n\n ngOnInit(): void {\n this.openRefreshSubscription();\n this.getConnectorTypes();\n }\n\n ngOnDestroy(): void {\n this.refreshSubscription?.unsubscribe();\n }\n\n selectConnector(connectorType: ConnectorType): void {\n this.stateService.setSelectedConnectorType(connectorType);\n }\n\n deselectConnector(): void {\n this.stateService.clearSelectedConnector();\n }\n\n private getConnectorTypes(): void {\n this.connectorManagementService.getConnectorTypes().subscribe(connectorTypes => {\n this.stateService.setConnectorTypes(connectorTypes);\n });\n }\n\n private openRefreshSubscription(): void {\n this.refreshSubscription = combineLatest([\n this.stateService.showModal$,\n this.stateService.refresh$,\n ]).subscribe(() => {\n this.deselectConnector();\n });\n }\n}\n","<!--\n ~ Copyright 2015-2024 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<ng-container *ngIf=\"connectorTypes$ | async as connectorTypes; else loading\">\n <div class=\"connector-type__grid\">\n <div class=\"connector-type__item\" *ngFor=\"let connectorType of connectorTypes\">\n <v-card\n [titleTranslationKey]=\"'connector.' + connectorType.name + '.title'\"\n [descriptionTranslationKey]=\"'connector.' + connectorType.name + '.description'\"\n [selectable]=\"true\"\n [selected]=\"(selectedConnector$ | async)?.name === connectorType.name\"\n [fullHeight]=\"true\"\n (selectEvent)=\"selectConnector(connectorType)\"\n (deselectEvent)=\"deselectConnector()\"\n ></v-card>\n </div>\n </div>\n</ng-container>\n\n<ng-template #loading>\n <div class=\"connector-type__grid\">\n <ng-container *ngTemplateOutlet=\"loadingCard\"></ng-container>\n <ng-container *ngTemplateOutlet=\"loadingCard\"></ng-container>\n <ng-container *ngTemplateOutlet=\"loadingCard\"></ng-container>\n </div>\n</ng-template>\n\n<ng-template #loadingCard>\n <div class=\"connector-type__item\">\n <v-card [loading]=\"true\" [loadingDescription]=\"true\" [loadingTitle]=\"true\"></v-card>\n </div>\n</ng-template>\n","/*\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {Component, EventEmitter, Input, OnDestroy, OnInit, Output} from '@angular/core';\nimport {ConnectorPropertyEditField, ConnectorPropertyValueType} from '@valtimo/config';\nimport {BehaviorSubject, combineLatest, Subscription} from 'rxjs';\nimport {map, take} from 'rxjs/operators';\n\n/**\n * @deprecated Use the new plugin framework\n */\n@Component({\n selector: 'valtimo-multi-value-connector-property',\n templateUrl: './multi-value-connector-property.component.html',\n styleUrls: ['./multi-value-connector-property.component.scss'],\n})\nexport class MultiValueConnectorPropertyComponent implements OnInit, OnDestroy {\n @Input() editField: ConnectorPropertyEditField;\n @Input() disabled!: boolean;\n @Input() defaultValue!: ConnectorPropertyValueType;\n\n @Output() valuesSet = new EventEmitter<{editFieldKey: string; values: Array<string | number>}>();\n\n readonly amountOfValues$ = new BehaviorSubject<Array<null>>([null]);\n\n readonly removeButtonDisabled$ = this.amountOfValues$.pipe(\n map(amountOfValues => amountOfValues.length === 1)\n );\n\n readonly values$ = new BehaviorSubject<{[key: number]: number | string}>({});\n\n readonly addButtonDisabled$ = combineLatest([this.values$, this.amountOfValues$]).pipe(\n map(([values, amountOfValues]) => {\n const objectValues = Object.values(values);\n const validObjectValues = objectValues.filter(value => value === 0 || value);\n\n return amountOfValues.length !== validObjectValues.length;\n })\n );\n\n private valuesSubscription!: Subscription;\n\n ngOnInit(): void {\n this.openValuesSubscription();\n this.setDefaults();\n }\n\n ngOnDestroy(): void {\n this.valuesSubscription?.unsubscribe();\n }\n\n onValueChange(\n value: string | number,\n editField: ConnectorPropertyEditField,\n index: number\n ): void {\n this.values$.pipe(take(1)).subscribe(values => {\n this.values$.next({\n ...values,\n [index]:\n editField.editType === 'string[]'\n ? (value as string).trim()\n : parseInt(value as string, 10),\n });\n });\n }\n\n addRow(): void {\n this.amountOfValues$.pipe(take(1)).subscribe(amountOfValues => {\n this.amountOfValues$.next([...amountOfValues, null]);\n });\n }\n\n removeRow(): void {\n combineLatest([this.values$, this.amountOfValues$])\n .pipe(take(1))\n .subscribe(([values, amountOfValues]) => {\n const lastValueIndex = amountOfValues.length - 1;\n const valuesCopy = {...values};\n\n delete valuesCopy[lastValueIndex];\n\n this.values$.next(valuesCopy);\n this.amountOfValues$.next(amountOfValues.filter((curr, index) => index !== lastValueIndex));\n });\n }\n\n private openValuesSubscription(): void {\n this.valuesSubscription = this.values$.subscribe(values => {\n this.valuesSet.emit({\n editFieldKey: this.editField.key,\n values: Object.values(values).filter(value => value === 0 || value),\n });\n });\n }\n\n private setDefaults(): void {\n const defaultValue = this.defaultValue as Array<any>;\n const validValues =\n Array.isArray(defaultValue) && defaultValue.filter(value => value === 0 || value);\n\n if (validValues && validValues.length > 0) {\n const valuesObject = {};\n\n validValues.forEach((value, index) => {\n valuesObject[index] = value;\n });\n\n this.values$.next(valuesObject);\n this.amountOfValues$.next(validValues.map(() => null));\n }\n }\n}\n","<!--\n ~ Copyright 2015-2024 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<div\n class=\"form-group row\"\n *ngIf=\"{amountOfValues: amountOfValues$ | async, values: values$ | async} as obs\"\n>\n <label class=\"col-3 col-form-label text-sm-right\">\n {{ 'connectorManagement.inputLabels.' + editField.key | translate }}\n </label>\n <div class=\"col-7\">\n <ng-container *ngFor=\"let value of obs.amountOfValues; let index = index\">\n <ng-container\n *ngTemplateOutlet=\"input; context: {index: index, disabled: disabled, values: obs.values}\"\n >\n </ng-container>\n </ng-container>\n <ng-container *ngTemplateOutlet=\"buttons; context: {disabled: disabled}\"></ng-container>\n </div>\n</div>\n\n<ng-template #input let-index=\"index\" let-disabled=\"disabled\" let-values=\"values\">\n <input\n *ngIf=\"editField.editType === 'string[]'\"\n class=\"form-control mb-2\"\n type=\"text\"\n (input)=\"onValueChange($event.target.value, editField, index)\"\n [disabled]=\"disabled\"\n [value]=\"defaultValue && values[index] ? values[index] : ''\"\n />\n <input\n *ngIf=\"editField.editType === 'number[]'\"\n class=\"form-control mb-2\"\n type=\"number\"\n step=\"1\"\n min=\"0\"\n oninput=\"validity.valid||(value='');\"\n (input)=\"onValueChange($event.target.value, editField, index)\"\n [disabled]=\"disabled\"\n [value]=\"defaultValue && values[index] ? values[index] : ''\"\n />\n</ng-template>\n\n<ng-template #buttons let-disabled=\"disabled\">\n <div class=\"button-container mt-1\">\n <button\n class=\"btn btn-danger btn-space btn-sm\"\n (click)=\"removeRow()\"\n [disabled]=\"disabled || (removeButtonDisabled$ | async)\"\n >\n <i class=\"icon mdi mdi-delete mr-1\"></i>\n {{ 'connectorManagement.removeValue' | translate }}\n </button>\n <button\n class=\"btn btn-secondary btn-space mr-0 btn-sm\"\n (click)=\"addRow()\"\n [disabled]=\"disabled || (addButtonDisabled$ | async)\"\n >\n <i class=\"icon mdi mdi-plus mr-1\"></i>\n {{ 'connectorManagement.addValue' | translate }}\n </button>\n </div>\n</ng-template>\n","/*\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {Component, EventEmitter, Input, OnChanges, OnDestroy, OnInit, Output} from '@angular/core';\nimport {\n ConnectorProperties,\n ConnectorPropertyEditField,\n ConnectorPropertyValueType,\n} from '@valtimo/config';\nimport {BehaviorSubject, combineLatest, Observable, Subscription} from 'rxjs';\nimport {map, take} from 'rxjs/operators';\nimport {cloneDeep, get, set} from 'lodash';\nimport {ConnectorManagementStateService} from '../../services/connector-management-state/connector-management-state.service';\n\n/**\n * @deprecated Use the new plugin framework\n */\n@Component({\n selector: 'valtimo-edit-connector-properties',\n templateUrl: './edit-connector-properties.component.html',\n styleUrls: ['./edit-connector-properties.component.scss'],\n})\nexport class EditConnectorPropertiesComponent implements OnInit, OnChanges, OnDestroy {\n @Input() properties: ConnectorProperties;\n @Input() withDefaults = false;\n @Input() showDeleteButton = false;\n @Input() showSaveButton = true;\n @Input() defaultName!: string;\n\n @Output() propertiesSave = new EventEmitter<{properties: ConnectorProperties; name: string}>();\n @Output() connectorDelete = new EventEmitter<any>();\n\n readonly disabled$!: Observable<boolean>;\n\n readonly modifiedProperties$ = new BehaviorSubject<ConnectorProperties>(undefined);\n\n readonly editFields$ = new BehaviorSubject<Array<ConnectorPropertyEditField>>([]);\n\n readonly connectorName$ = new BehaviorSubject<string>('');\n\n readonly saveButtonDisabled$ = this.stateService.saveButtonDisabled$;\n\n private saveButtonDisabledSubscription!: Subscription;\n private saveSubscription!: Subscription;\n private deleteSubscription!: Subscription;\n\n constructor(private readonly stateService: ConnectorManagementStateService) {\n this.disabled$ = this.stateService.inputDisabled$;\n }\n\n ngOnInit(): void {\n this.setEditFields();\n this.setName();\n this.openSaveButtonDisabledSubscription();\n this.openSaveSubscription();\n this.openDeleteSubscription();\n this.stateService.showModalSaveButton();\n }\n\n ngOnChanges(): void {\n this.setEditFields();\n this.setName();\n }\n\n ngOnDestroy(): void {\n this.saveButtonDisabledSubscription?.unsubscribe();\n this.saveSubscription?.unsubscribe();\n this.deleteSubscription?.unsubscribe();\n }\n\n multiFieldValuesSet(event: {editFieldKey: string; values: Array<string> | Array<number>}): void {\n this.modifiedProperties$.pipe(take(1)).subscribe(properties => {\n set(properties, event.editFieldKey, event.values);\n this.modifiedProperties$.next(properties);\n });\n }\n\n onSingleValueChange(value: any, editField: ConnectorPropertyEditField): void {\n this.modifiedProperties$.pipe(take(1)).subscribe(properties => {\n set(\n properties,\n editField.key,\n editField.editType === 'string' ? value.trim() : parseInt(value, 10)\n );\n this.modifiedProperties$.next(properties);\n });\n }\n\n onNameValueChange(value: string): void {\n this.connectorName$.next(value.trim());\n }\n\n onSave(): void {\n this.stateService.disableInput();\n\n combineLatest([this.modifiedProperties$, this.connectorName$])\n .pipe(take(1))\n .subscribe(([properties, name]) => {\n this.propertiesSave.emit({properties, name});\n });\n }\n\n onDelete(): void {\n this.stateService.disableInput();\n this.connectorDelete.emit();\n }\n\n private setName(): void {\n if (this.withDefaults && this.defaultName) {\n this.connectorName$.next(this.defaultName);\n } else {\n this.connectorName$.next('');\n }\n }\n\n private setModifiedProperties(editFields: Array<ConnectorPropertyEditField>): void {\n const propertiesCopy = cloneDeep(this.properties);\n\n if (!this.withDefaults) {\n editFields.forEach(editField => {\n set(propertiesCopy, editField.key, undefined);\n });\n }\n\n this.modifiedProperties$.next(propertiesCopy);\n }\n\n private setEditFields(): void {\n const editFields: Array<ConnectorPropertyEditField> = [];\n const keysToFilter = ['className'];\n\n const handlePropertyLevel = (propertyLevel: ConnectorProperties, previousKeys: string) => {\n const propertyLevelKeys = Object.keys(propertyLevel).filter(\n key => !keysToFilter.includes(key)\n );\n\n propertyLevelKeys.forEach(key => {\n const propertyValue = propertyLevel[key];\n const baseEditField = {\n key: previousKeys + key,\n ...(this.withDefaults && {defaultValue: propertyValue as ConnectorPropertyValueType}),\n };\n\n if (typeof propertyValue === 'number') {\n editFields.push({...baseEditField, editType: 'number'});\n } else if (Array.isArray(propertyValue)) {\n if (propertyValue[0] && typeof propertyValue[0] === 'number') {\n editFields.push({...baseEditField, editType: 'number[]'});\n } else {\n editFields.push({...baseEditField, editType: 'string[]'});\n }\n } else if (typeof propertyValue === 'string') {\n editFields.push({...baseEditField, editType: 'string'});\n } else if (typeof propertyValue === 'object') {\n handlePropertyLevel(propertyValue, `${previousKeys}${key}.`);\n }\n });\n };\n\n handlePropertyLevel(this.properties, '');\n\n this.editFields$.next(editFields);\n this.setModifiedProperties(editFields);\n }\n\n private openSaveButtonDisabledSubscription(): void {\n this.saveButtonDisabledSubscription = combineLatest([\n this.editFields$,\n this.modifiedProperties$,\n this.connectorName$,\n ])\n .pipe(\n map(([editFields, modifiedProperties, connectorName]) => {\n const values = editFields.map(field => get(modifiedProperties, field.key));\n const validValues = values.filter(value =>\n Array.isArray(value) ? value.length > 0 : value === 0 || value\n );\n const invalidProperties = editFields.length !== validValues.length || !connectorName;\n\n if (invalidProperties) {\n this.stateService.disableSaveButton();\n } else {\n this.stateService.enableSaveButton();\n }\n })\n )\n .subscribe();\n }\n\n private openSaveSubscription(): void {\n this.saveSubscription = this.stateService.save$.subscribe(() => {\n this.onSave();\n });\n }\n\n private openDeleteSubscription(): void {\n this.deleteSubscription = this.stateService.delete$.subscribe(() => {\n this.onDelete();\n });\n }\n}\n","<!--\n ~ Copyright 2015-2024 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<div\n class=\"edit-fields\"\n *ngIf=\"{editFields: editFields$ | async, disabled: disabled$ | async} as obs\"\n>\n <ng-container *ngTemplateOutlet=\"nameInput; context: {disabled: obs.disabled}\"></ng-container>\n <ng-container *ngFor=\"let editField of obs.editFields\">\n <ng-container *ngIf=\"editField.editType === 'string' || editField.editType === 'number'\">\n <ng-container\n *ngTemplateOutlet=\"singleInput; context: {editField: editField, disabled: obs.disabled}\"\n ></ng-container>\n </ng-container>\n <ng-container *ngIf=\"editField.editType === 'string[]' || editField.editType === 'number[]'\">\n <valtimo-multi-value-connector-property\n [editField]=\"editField\"\n (valuesSet)=\"multiFieldValuesSet($event)\"\n [disabled]=\"obs.disabled\"\n [defaultValue]=\"withDefaults && editField.defaultValue\"\n >\n </valtimo-multi-value-connector-property>\n </ng-container>\n </ng-container>\n <ng-container *ngTemplateOutlet=\"buttons; context: {disabled: obs.disabled}\"></ng-container>\n</div>\n\n<ng-template #nameInput let-disabled=\"disabled\">\n <v-input\n name=\"name\"\n titleTranslationKey=\"connectorManagement.inputLabels.connectorName\"\n [defaultValue]=\"withDefaults && defaultName ? defaultName : ''\"\n [fullWidth]=\"true\"\n [margin]=\"true\"\n [disabled]=\"disabled\"\n (valueChange)=\"onNameValueChange($event)\"\n ></v-input>\n</ng-template>\n\n<ng-template #singleInput let-editField=\"editField\" let-disabled=\"disabled\">\n <v-input\n *ngIf=\"editField.editType === 'string'\"\n [name]=\"editField.key\"\n [titleTranslationKey]=\"'connectorManagement.inputLabels.' + editField.key\"\n [defaultValue]=\"withDefaults ? editField.defaultValue : ''\"\n [fullWidth]=\"true\"\n [margin]=\"true\"\n [disabled]=\"disabled\"\n (valueChange)=\"onSingleValueChange($event, editField)\"\n ></v-input>\n <v-input\n *ngIf=\"editField.editType === 'number'\"\n [name]=\"editField.key\"\n [titleTranslationKey]=\"'connectorManagement.inputLabels.' + editField.key\"\n [defaultValue]=\"withDefaults ? editField.defaultValue : ''\"\n [fullWidth]=\"true\"\n [margin]=\"true\"\n [disabled]=\"disabled\"\n (valueChange)=\"onSingleValueChange($event, editField)\"\n [step]=\"1\"\n [min]=\"0\"\n ></v-input>\n</ng-template>\n\n<ng-template #buttons let-disabled=\"disabled\">\n <div class=\"border-top mt-3 pt-6\" *ngIf=\"showDeleteButton || showSaveButton\">\n <div class=\"button-container\">\n <button\n *ngIf=\"showSaveButton\"\n class=\"btn btn-primary\"\n [disabled]=\"disabled || (saveButtonDisabled$ | async)\"\n (click)=\"onSave()\"\n >\n <i class=\"icon mdi mdi-save mr-1\"></i>\n {{ 'connectorManagement.save' | translate }}\n </button>\n <button\n *ngIf=\"showDeleteButton\"\n class=\"btn btn-danger btn-space\"\n (click)=\"onDelete()\"\n [disabled]=\"disabled\"\n >\n <i class=\"icon mdi mdi-delete mr-1\"></i>\n {{ 'connectorManagement.remove' | translate }}\n </button>\n </div>\n </div>\n</ng-template>\n","/*\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nexport const editProductAanvragenConnectorForm = {\n display: 'wizard',\n settings: {\n pdf: {\n id: '1ec0f8ee-6685-5d98-a847-26f67b67d6f0',\n src: 'https://files.form.io/pdf/5692b91fd1028f01000407e3/file/1ec0f8ee-6685-5d98-a847-26f67b67d6f0',\n },\n },\n components: [\n {\n title: 'connectorForm.productaanvraag.step0.title',\n breadcrumbClickable: true,\n buttonSettings: {\n previous: true,\n cancel: true,\n next: true,\n },\n navigateOnEnter: false,\n saveOnEnter: false,\n scrollToTop: false,\n collapsible: false,\n key: 'page0',\n type: 'panel',\n label: 'Page 0',\n input: false,\n tableView: false,\n components: [\n {\n label: 'HTML',\n attrs: [\n {\n attr: '',\n value: '',\n },\n ],\n content: 'connectorForm.productaanvraag.step0.tip',\n refreshOnChange: false,\n key: 'html4',\n type: 'htmlelement',\n input: false,\n tableView: false,\n },\n {\n key: 'productAanvraagTypes',\n type: 'editgrid',\n input: true,\n validate: {\n minLength: 1,\n },\n customClass: 'edit-grid-component',\n components: [\n {\n label: 'connectorForm.productaanvraag.step0.typeMapping.productAanvraagType.label',\n tooltip:\n 'connectorForm.productaanvraag.step0.typeMapping.productAanvraagType.tooltip',\n tableView: true,\n validate: {\n required: true,\n },\n key: 'productAanvraagType',\n type: 'textfield',\n input: true,\n },\n {\n label: 'connectorForm.productaanvraag.step0.typeMapping.caseDefinitionKey.label',\n widget: 'choicesjs',\n placeholder:\n 'connectorForm.productaanvraag.step0.typeMapping.caseDefinitionKey.placeholder',\n tableView: true,\n validate: {\n required: true,\n },\n key: 'caseDefinitionKey',\n type: 'select',\n input: true,\n },\n {\n label: 'connectorForm.productaanvraag.step0.typeMapping.processDefinitionKey.label',\n widget: 'choicesjs',\n tableView: true,\n dataSrc: 'custom',\n data: {\n custom: \"values = window['productRequestDefinitions'][row.caseDefinitionKey] || []\",\n },\n dataType: 'string',\n refreshOn: 'row.caseDefinitionKey',\n clearOnRefresh: true,\n key: 'processDefinitionKey',\n type: 'select',\n input: true,\n validate: {\n required: true,\n },\n placeholder:\n 'connectorForm.productaanvraag.step0.typeMapping.processDefinitionKey.placeholder',\n },\n ],\n },\n ],\n },\n {\n title: 'connectorForm.productaanvraag.step1.title',\n breadcrumbClickable: true,\n buttonSettings: {\n previous: true,\n cancel: true,\n next: true,\n },\n navigateOnEnter: false,\n saveOnEnter: false,\n scrollToTop: false,\n collapsible: false,\n key: 'page1',\n type: 'panel',\n label: 'Page 1',\n input: false,\n tableView: false,\n components: [\n {\n label: 'HTML',\n attrs: [\n {\n attr: '',\n value: '',\n },\n ],\n content: 'connectorForm.productaanvraag.step1.tip',\n refreshOnChange: false,\n key: 'html',\n type: 'htmlelement',\n input: false,\n tableView: false,\n },\n {\n title: 'connectorForm.productaanvraag.step1.connectors.panelTitle',\n collapsible: false,\n key: 'connectorFormProductaanvraagStep1ConnectorsPanelTitle',\n type: 'panel',\n label: 'Panel',\n input: false,\n tableView: false,\n components: [\n {\n label:\n 'connectorForm.productaanvraag.step1.connectors.openNotificatieConnector.label',\n widget: 'choicesjs',\n tableView: true,\n dataSrc: 'custom',\n data: {\n custom: \"values = window['openNotificatieConnectorNames'] || []\",\n },\n dataType: 'string',\n clearOnRefresh: true,\n key: 'openNotificatieConnectionName',\n type: 'select',\n input: true,\n validate: {\n required: true,\n },\n placeholder:\n 'connectorForm.productaanvraag.step1.connectors.openNotificatieConnector.placeholder',\n },\n {\n label: 'connectorForm.productaanvraag.step1.connectors.objectsApiConnector.label',\n widget: 'choicesjs',\n tableView: true,\n dataSrc: 'custom',\n data: {\n custom: \"values = window['objectApiConnectorNames'] || []\",\n },\n dataType: 'string',\n clearOnRefresh: true,\n key: 'objectsApiConnectionName',\n type: 'select',\n input: true,\n validate: {\n required: true,\n },\n placeholder:\n 'connectorForm.productaanvraag.step1.connectors.objectsApiConnector.placeholder',\n },\n ],\n },\n ],\n },\n {\n title: 'connectorForm.productaanvraag.step2.title',\n breadcrumbClickable: true,\n buttonSettings: {\n previous: true,\n cancel: true,\n next: true,\n },\n navigateOnEnter: false,\n saveOnEnter: false,\n scrollToTop: false,\n collapsible: false,\n key: 'page2',\n type: 'panel',\n label: 'Page 2',\n input: false,\n tableView: false,\n components: [\n {\n label: 'HTML',\n attrs: [\n {\n attr: '',\n value: '',\n },\n ],\n content: 'connectorForm.productaanvraag.step2.tip',\n refreshOnChange: false,\n key: 'html3',\n type: 'htmlelement',\n input: false,\n tableView: false,\n },\n {\n title: 'connectorForm.productaanvraag.step2.applicant.panelTitle',\n collapsible: false,\n key: 'connectorFormProductaanvraagstep2ApplicantPanelTitle',\n type: 'panel',\n label: 'Panel',\n input: false,\n tableView: false,\n components: [\n {\n label: 'HTML',\n attrs: [\n {\n attr: '',\n value: '',\n },\n ],\n content: 'connectorForm.productaanvraag.step2.applicant.tip',\n refreshOnChange: false,\n key: 'html5',\n type: 'htmlelement',\n input: false,\n tableView: false,\n },\n {\n label: 'connectorForm.productaanvraag.step2.applicant.roleTypeUrl.label',\n tooltip: 'connectorForm.productaanvraag.step2.applicant.roleTypeUrl.tooltip',\n tableView: true,\n validate: {\n required: true,\n },\n key: 'applicantRoleTypeUrl',\n type: 'textfield',\n input: true,\n },\n ],\n },\n ],\n },\n {\n title: 'connectorForm.productaanvraag.step3.title',\n breadcrumbClickable: true,\n buttonSettings: {\n previous: true,\n cancel: true,\n next: true,\n },\n navigateOnEnter: false,\n saveOnEnter: false,\n scrollToTop: false,\n collapsible: false,\n key: 'page3',\n type: 'panel',\n label: 'Page 3',\n input: false,\n tableView: false,\n components: [\n {\n label: 'HTML',\n attrs: [\n {\n attr: '',\n value: '',\n },\n ],\n content: 'connectorForm.productaanvraag.step3.tip',\n refreshOnChange: false,\n key: 'html6',\n type: 'htmlelement',\n input: false,\n tableView: false,\n },\n {\n label: 'connectorForm.productaanvraag.step3.name',\n tableView: true,\n validate: {\n required: true,\n },\n key: 'connectorName',\n type: 'textfield',\n input: true,\n },\n ],\n },\n ],\n};\n","/*\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {Component, EventEmitter, Input, OnChanges, OnDestroy, OnInit, Output} from '@angular/core';\nimport {editProductAanvragenConnectorForm} from './edit-product-aanvragen-connector.form';\nimport {FormMappingService, FormTranslationService} from '@valtimo/form';\nimport {DocumentDefinition, DocumentService} from '@valtimo/document';\nimport {ExtendedComponentSchema, FormioForm, FormioRefreshValue} from '@formio/angular';\nimport {BehaviorSubject, combineLatest, Subject, Subscription} from 'rxjs';\nimport {ConnectorProperties} from '@valtimo/config';\nimport {FormioOptions} from '@formio/angular/formio.common';\nimport {cloneDeep} from 'lodash';\nimport {TranslateService} from '@ngx-translate/core';\nimport {map, switchMap, tap} from 'rxjs/operators';\nimport {ConnectorManagementService} from '../../services/connector-management/connector-management.service';\nimport {ConnectorManagementStateService} from '../../services/connector-management-state/connector-management-state.service';\n\n/**\n * @deprecated Use the new plugin framework\n */\n@Component({\n selector: 'valtimo-edit-product-aanvragen-connector',\n templateUrl: './edit-product-aanvragen-connector.component.html',\n styleUrls: ['./edit-product-aanvragen-connector.component.scss'],\n})\nexport class EditProductAanvragenConnectorComponent implements OnInit, OnChanges, OnDestroy {\n @Input() properties: ConnectorProperties;\n @Input() defaultName!: string;\n @Input() showDeleteButton = false;\n\n @Output() propertiesSave = new EventEmitter<{properties: ConnectorProperties; name: string}>();\n @Output() connectorDelete = new EventEmitter<any>();\n\n formRefresh$ = new Subject<FormioRefreshValue>();\n formDefinition$ = new BehaviorSubject<FormioForm>(undefined);\n translatedFormDefinition$ = this.formDefinition$.pipe(\n map(definition => this.formTranslationService.translateForm(definition))\n );\n caseDefinitionOptions: Array<{label: string; value: string}> = [];\n processDocumentDefinitionOptions: {[caseDefinitionId: string]: Array<string>} = {};\n\n readonly options: FormioOptions = {\n disableAlerts: true,\n };\n\n private formDefinitionSubscription!: Subscription;\n private translateSubscription!: Subscription;\n private deleteSubscription!: Subscription;\n\n constructor(\n private readonly formTranslationService: FormTranslationService,\n private readonly formMappingService: FormMappingService,\n private readonly documentService: DocumentService,\n private readonly translateService: TranslateService,\n private readonly connectorManagementService: ConnectorManagementService,\n private readonly stateService: ConnectorManagementStateService\n ) {}\n\n ngOnInit(): void {\n window['productRequestDefinitions'] = {};\n this.openFormDefinitionSubscription();\n this.openDeleteSubscription();\n this.formDefinition$.next(editProductAanvragenConnectorForm);\n this.loadConnectorNames();\n this.loadDefinitions();\n this.stateService.hideModalSaveButton();\n }\n\n ngOnChanges(): void {\n this.formDefinition$.next(editProductAanvragenConnectorForm);\n this.loadConnectorNames();\n this.loadDefinitions();\n }\n\n ngOnDestroy(): void {\n this.formDefinitionSubscription?.unsubscribe();\n this.translateSubscription?.unsubscribe();\n this.deleteSubscription?.unsubscribe();\n }\n\n onSubmit(event: any): void {\n const submission = event.data;\n const properties = cloneDeep(this.properties);\n\n properties.objectsApiConnectionName = submission.objectsApiConnectionName;\n properties.openNotificatieConnectionName = submission.openNotificatieConnectionName;\n properties.aanvragerRolTypeUrl = submission.applicantRoleTypeUrl;\n properties.typeMapping = submission.productAanvraagTypes;\n\n this.propertiesSave.emit({properties, name: submission.connectorName});\n }\n\n onDelete(): void {\n this.stateService.disableInput();\n this.connectorDelete.emit();\n }\n\n private openFormDefinitionSubscription(): void {\n this.formDefinitionSubscription = combineLatest([\n this.formDefinition$,\n this.translateService.stream('key'),\n ]).subscribe(([form]) => {\n const translatedForm = this.formTranslationService.translateForm(form);\n this.refreshForm({form: translatedForm});\n });\n }\n\n private prefillForm(): void {\n const properties = cloneDeep(this.properties);\n const submission: {[key: string]: any} = {};\n\n submission.objectsApiConnectionName = properties.objectsApiConnectionName;\n submission.openNotificatieConnectionName = properties.openNotificatieConnectionName;\n submission.applicantRoleTypeUrl = properties.aanvragerRolTypeUrl;\n submission.productAanvraagTypes = properties.typeMapping;\n submission.connectorName = this.defaultName;\n\n this.refreshForm({submission: {data: submission}});\n }\n\n private mapCaseDefinitionKeyComponent = (\n component: ExtendedComponentSchema\n ): ExtendedComponentSchema => {\n if (component.key === 'caseDefinitionKey') {\n return {...component, disabled: false, data: {values: this.caseDefinitionOptions}};\n }\n\n return component;\n };\n\n private refreshForm(refreshValue: FormioRefreshValue): void {\n this.formRefresh$.next(refreshValue);\n }\n\n private loadDefinitions(): void {\n let documentDefinitions: Array<DocumentDefinition>;\n\n this.documentService\n .getAllDefinitions()\n .pipe(\n tap(resDocumentDefinitions => (documentDefinitions = resDocumentDefinitions.content)),\n switchMap(resDocumentDefinitions =>\n combineLatest(\n resDocumentDefinitions.content.map(definition =>\n this.documentService.findProcessDocumentDefinitions(definition.id.name)\n )\n )\n ),\n tap(res => {\n this.caseDefinitionOptions = documentDefinitions.map(documentDefinition => ({\n label: documentDefinition.id.name,\n value: documentDefinition.id.name,\n }));\n\n documentDefinitions.forEach((documentDefinition, index) => {\n this.processDocumentDefinitionOptions[documentDefinition.id.name] = res[index].map(\n processDocumentDefinition => processDocumentDefinition.id.processDefinitionKey\n );\n });\n\n window['productRequestDefinitions'] = this.processDocumentDefinitionOptions;\n\n const definitionWithCaseDefinitionOptions = this.formMappingService.mapComponents(\n this.formDefinition$.getValue(),\n this.mapCaseDefinitionKeyComponent\n );\n\n this.formDefinition$.next(definitionWithCaseDefinitionOptions);\n\n if (this.properties?.aanvragerRolTypeUrl) {\n this.prefillForm();\n }\n })\n )\n .subscribe();\n }\n\n private loadConnectorNames(): void {\n this.connectorManagementService\n .getConnectorTypes()\n .pipe(\n tap(res => {\n res.forEach(connectorType => {\n if (connectorType.name === 'ObjectsApi') {\n this.loadConnectorNamesByType('objectApiConnectorNames', connectorType.id);\n } else if (connectorType.name === 'OpenNotificatie') {\n this.loadConnectorNamesByType('openNotificatieConnectorNames', connectorType.id);\n }\n });\n })\n )\n .subscribe();\n }\n\n private loadConnectorNamesByType(windowKey: string, connectorTypeId: string) {\n this.connectorManagementService\n .getConnectorInstancesByType(connectorTypeId)\n .pipe(map(res => (window[windowKey] = res.content.map(connector => connector.name))))\n .subscribe();\n }\n\n private openDeleteSubscription(): void {\n this.deleteSubscription = this.stateService.delete$.subscribe(() => {\n this.onDelete();\n });\n }\n}\n","<!--\n ~ Copyright 2015-2024 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<div\n *ngIf=\"translatedFormDefinition$ | async as definition\"\n class=\"edit-product-request\"\n [ngClass]=\"{'has-delete': showDeleteButton}\"\n>\n <valtimo-form-io\n [form]=\"definition\"\n [formRefresh$]=\"formRefresh$\"\n [options]=\"options\"\n (submit)=\"onSubmit($event)\"\n >\n </valtimo-form-io>\n\n <button *ngIf=\"showDeleteButton\" class=\"btn btn-danger btn-space\" (click)=\"onDelete()\">\n <i class=\"icon mdi mdi-delete mr-1\"></i>\n {{ 'connectorManagement.remove' | translate }}\n </button>\n</div>\n","/*\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nexport const editTaakConnectorForm = {\n components: [\n {\n label: 'connectorForm.taak.name',\n tableView: false,\n validate: {\n required: true,\n },\n key: 'connectorName',\n type: 'textfield',\n input: true,\n },\n {\n label: 'connectorForm.taak.openNotificatieConnector.label',\n widget: 'choicesjs',\n tableView: false,\n dataSrc: 'custom',\n data: {\n custom: \"values = window['openNotificatieConnectorNames'] || []\",\n },\n dataType: 'string',\n clearOnRefresh: true,\n key: 'openNotificatieConnectionName',\n type: 'select',\n input: true,\n validate: {\n required: true,\n },\n placeholder: 'connectorForm.taak.openNotificatieConnector.placeholder',\n },\n {\n label: 'connectorForm.taak.objectsApiConnector.label',\n widget: 'choicesjs',\n tableView: false,\n dataSrc: 'custom',\n data: {\n custom: \"values = window['objectApiConnectorNames'] || []\",\n },\n dataType: 'string',\n clearOnRefresh: true,\n key: 'objectsApiConnectionName',\n type: 'select',\n input: true,\n validate: {\n required: true,\n },\n placeholder: 'connectorForm.taak.objectsApiConnector.placeholder',\n },\n {\n key: 'submit',\n type: 'button',\n customClass: 'list-inline',\n leftIcon: 'icon mdi mdi-save mt-1',\n input: true,\n label: 'connectorManagement.save',\n tableView: false,\n disableOnInvalid: true,\n },\n ],\n};\n","/*\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {Component, EventEmitter, Input, OnChanges, OnDestroy, OnInit, Output} from '@angular/core';\nimport {editTaakConnectorForm} from './edit-taak-connector.form';\nimport {FormMappingService, FormTranslationService} from '@valtimo/form';\nimport {BehaviorSubject, combineLatest, Subject, Subscription, timer} from 'rxjs';\nimport {ConnectorProperties} from '@valtimo/config';\nimport {FormioForm, FormioRefreshValue} from '@formio/angular';\nimport {FormioOptions} from '@formio/angular/formio.common';\nimport {cloneDeep} from 'lodash';\nimport {TranslateService} from '@ngx-translate/core';\nimport {map, tap} from 'rxjs/operators';\nimport {ConnectorManagementService} from '../../services/connector-management/connector-management.service';\nimport {ConnectorManagementStateService} from '../../services/connector-management-state/connector-management-state.service';\n\n/**\n * @deprecated Use the new plugin framework\n */\n@Component({\n selector: 'valtimo-edit-taak-connector',\n templateUrl: './edit-taak-connector.component.html',\n styleUrls: ['./edit-taak-connector.component.scss'],\n})\nexport class EditTaakConnectorComponent implements OnInit, OnChanges, OnDestroy {\n @Input() properties: ConnectorProperties;\n @Input() defaultName!: string;\n @Input() showDeleteButton = false;\n\n @Output() propertiesSave = new EventEmitter<{properties: ConnectorProperties; name: string}>();\n @Output() connectorDelete = new EventEmitter<any>();\n\n formRefresh$ = new Subject<FormioRefreshValue>();\n formDefinition$ = new BehaviorSubject<FormioForm>(undefined);\n translatedFormDefinition$ = this.formDefinition$.pipe(\n map(definition => this.formTranslationService.translateForm(definition))\n );\n\n readonly options: FormioOptions = {\n disableAlerts: true,\n };\n\n private formDefinitionSubscription!: Subscription;\n private translateSubscription!: Subscription;\n private deleteSubscription!: Subscription;\n\n constructor(\n private readonly formTranslationService: FormTranslationService,\n private readonly formMappingService: FormMappingService,\n private readonly translateService: TranslateService,\n private readonly connectorManagementService: ConnectorManagementService,\n private readonly stateService: ConnectorManagementStateService\n ) {}\n\n ngOnInit(): void {\n this.openFormDefinitionSubscription();\n this.openDeleteSubscription();\n this.formDefinition$.next(editTaakConnectorForm);\n this.loadConnectorNames();\n this.prefillForm();\n this.stateService.hideModalSaveButton();\n }\n\n ngOnChanges(): void {\n this.formDefinition$.next(editTaakConnectorForm);\n this.loadConnectorNames();\n this.prefillForm();\n }\n\n ngOnDestroy(): void {\n this.formDefinitionSubscription?.unsubscribe();\n this.translateSubscription?.unsubscribe();\n this.deleteSubscription?.unsubscribe();\n }\n\n onSubmit(event: any): void {\n const submission = event.data;\n const properties = cloneDeep(this.properties);\n\n properties.objectsApiConnectionName = submission.objectsApiConnectionName;\n properties.openNotificatieConnectionName = submission.openNotificatieConnectionName;\n\n this.propertiesSave.emit({properties, name: submission.connectorName});\n }\n\n onDelete(): void {\n this.stateService.disableInput();\n this.connectorDelete.emit();\n }\n\n private openFormDefinitionSubscription(): void {\n this.formDefinitionSubscription = combineLatest([\n this.formDefinition$,\n this.translateService.stream('key'),\n ]).subscribe(([form]) => {\n const translatedForm = this.formTranslationService.translateForm(form);\n this.refreshForm({form: translatedForm});\n });\n }\n\n private prefillForm(): void {\n timer(100)\n .pipe(\n tap(() => {\n if (this.defaultName !== undefined) {\n const properties = cloneDeep(this.properties);\n const submission: {[key: string]: any} = {};\n\n submission.objectsApiConnectionName = properties.objectsApiConnectionName;\n submission.openNotificatieConnectionName = properties.openNotificatieConnectionName;\n submission.connectorName = this.defaultName;\n\n this.refreshForm({submission: {data: submission}});\n }\n })\n )\n .subscribe();\n }\n\n private refreshForm(refreshValue: FormioRefreshValue): void {\n this.formRefresh$.next(refreshValue);\n }\n\n private loadConnectorNames(): void {\n this.connectorManagementService\n .getConnectorTypes()\n .pipe(\n tap(res => {\n res.forEach(connectorType => {\n if (connectorType.name === 'ObjectsApi') {\n this.loadConnectorNamesByType('objectApiConnectorNames', connectorType.id);\n } else if (connectorType.name === 'OpenNotificatie') {\n this.loadConnectorNamesByType('openNotificatieConnectorNames', connectorType.id);\n }\n });\n })\n )\n .subscribe();\n }\n\n private loadConnectorNamesByType(windowKey: string, connectorTypeId: string) {\n this.connectorManagementService\n .getConnectorInstancesByType(connectorTypeId)\n .pipe(map(res => (window[windowKey] = res.content.map(connector => connector.name))))\n .subscribe();\n }\n\n private openDeleteSubscription(): void {\n this.deleteSubscription = this.stateService.delete$.subscribe(() => {\n this.onDelete();\n });\n }\n}\n","<!--\n ~ Copyright 2015-2024 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<div\n *ngIf=\"translatedFormDefinition$ | async as definition\"\n class=\"edit-taak\"\n [ngClass]=\"{'has-delete': showDeleteButton}\"\n>\n <valtimo-form-io\n [form]=\"definition\"\n [formRefresh$]=\"formRefresh$\"\n [options]=\"options\"\n (submit)=\"onSubmit($event)\"\n >\n </valtimo-form-io>\n\n <button *ngIf=\"showDeleteButton\" class=\"btn btn-danger btn-space\" (click)=\"onDelete()\">\n <i class=\"icon mdi mdi-delete mr-1\"></i>\n {{ 'connectorManagement.remove' | translate }}\n </button>\n</div>\n","/*\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {Component, EventEmitter, Input, Output} from '@angular/core';\nimport {ConnectorProperties} from '@valtimo/config';\n\n/**\n * @deprecated Use the new plugin framework\n */\n@Component({\n selector: 'valtimo-edit-connector-form',\n templateUrl: './edit-connector-form.component.html',\n styleUrls: ['./edit-connector-form.component.scss'],\n})\nexport class EditConnectorFormComponent {\n @Input() properties: ConnectorProperties;\n @Input() withDefaults = false;\n @Input() showDeleteButton = false;\n @Input() showSaveButton = true;\n @Input() defaultName!: string;\n @Input() connectorName: string;\n\n @Output() propertiesSave = new EventEmitter<{properties: ConnectorProperties; name: string}>();\n @Output() connectorDelete = new EventEmitter<any>();\n\n readonly productAanvragenName = 'ProductAanvragen';\n readonly taakName = 'Taak';\n readonly customConnectorNames = [this.productAanvragenName, this.taakName];\n}\n","<!--\n ~ Copyright 2015-2024 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<valtimo-edit-connector-properties\n *ngIf=\"!customConnectorNames.includes(connectorName)\"\n [properties]=\"properties\"\n [withDefaults]=\"withDefaults\"\n [defaultName]=\"defaultName\"\n [showDeleteButton]=\"showDeleteButton\"\n (propertiesSave)=\"propertiesSave.emit($event)\"\n (connectorDelete)=\"connectorDelete.emit()\"\n [showSaveButton]=\"showSaveButton\"\n>\n</valtimo-edit-connector-properties>\n\n<valtimo-edit-product-aanvragen-connector\n *ngIf=\"connectorName === productAanvragenName\"\n [defaultName]=\"defaultName\"\n [properties]=\"properties\"\n [showDeleteButton]=\"showDeleteButton\"\n (propertiesSave)=\"propertiesSave.emit($event)\"\n (connectorDelete)=\"connectorDelete.emit()\"\n>\n</valtimo-edit-product-aanvragen-connector>\n\n<valtimo-edit-taak-connector\n *ngIf=\"connectorName === taakName\"\n [defaultName]=\"defaultName\"\n [properties]=\"properties\"\n [showDeleteButton]=\"showDeleteButton\"\n (propertiesSave)=\"propertiesSave.emit($event)\"\n (connectorDelete)=\"connectorDelete.emit()\"\n>\n</valtimo-edit-taak-connector>\n","/*\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {Component, Input} from '@angular/core';\nimport {ConnectorProperties, ConnectorType} from '@valtimo/config';\nimport {take} from 'rxjs/operators';\nimport {AlertService} from '@valtimo/components';\nimport {TranslateService} from '@ngx-translate/core';\nimport {ConnectorManagementService} from '../../services/connector-management/connector-management.service';\nimport {ConnectorManagementStateService} from '../../services/connector-management-state/connector-management-state.service';\n\n/**\n * @deprecated Use the new plugin framework\n */\n@Component({\n selector: 'valtimo-add-connector-configure',\n templateUrl: './add-connector-configure.component.html',\n styleUrls: ['./add-connector-configure.component.scss'],\n})\nexport class AddConnectorConfigureComponent {\n @Input() showSaveButton = true;\n\n readonly selectedConnector$ = this.stateService.selectedConnector$;\n readonly disabled$ = this.stateService.inputDisabled$;\n readonly connectorTypes$ = this.stateService.connectorTypes$;\n\n constructor(\n private readonly connectorManagementService: ConnectorManagementService,\n private readonly stateService: ConnectorManagementStateService,\n private readonly alertService: AlertService,\n private readonly translateService: TranslateService\n ) {}\n\n selectConnector(connectorType: ConnectorType): void {\n this.stateService.setSelectedConnectorType(connectorType);\n }\n\n onSave(event: {properties: ConnectorProperties; name: string}): void {\n this.stateService.disableInput();\n\n this.selectedConnector$.pipe(take(1)).subscribe(selectedConnectorType => {\n this.connectorManagementService\n .createConnectorInstance({\n name: event.name,\n typeId: selectedConnectorType.id,\n connectorProperties: event.properties,\n })\n .subscribe(\n () => {\n this.alertService.success(\n this.translateService.instant('connectorManagement.messages.addSuccess')\n );\n this.stateService.hideModal();\n this.stateService.enableInput();\n this.stateService.refresh();\n },\n () => {\n this.stateService.enableInput();\n }\n );\n });\n }\n}\n","<!--\n ~ Copyright 2015-2024 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<valtimo-edit-connector-form\n *ngIf=\"selectedConnector$ | async as connector\"\n [connectorName]=\"connector.name\"\n [properties]=\"(selectedConnector$ | async).properties\"\n (propertiesSave)=\"onSave($event)\"\n [showSaveButton]=\"showSaveButton\"\n>\n</valtimo-edit-connector-form>\n","/*\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {Component, Input} from '@angular/core';\nimport {ConnectorInstance, ConnectorProperties} from '@valtimo/config';\nimport {Observable} from 'rxjs';\nimport {take} from 'rxjs/operators';\nimport {AlertService} from '@valtimo/components';\nimport {TranslateService} from '@ngx-translate/core';\nimport {ConnectorManagementService} from '../../services/connector-management/connector-management.service';\nimport {ConnectorManagementStateService} from '../../services/connector-management-state/connector-management-state.service';\n\n/**\n * @deprecated Use the new plugin framework\n */\n@Component({\n selector: 'valtimo-modify-connector',\n templateUrl: './modify-connector.component.html',\n styleUrls: ['./modify-connector.component.scss'],\n})\nexport class ModifyConnectorComponent {\n @Input() showSaveButton = true;\n @Input() showDeleteButton = true;\n\n instance$!: Observable<ConnectorInstance>;\n\n constructor(\n private readonly connectorManagementService: ConnectorManagementService,\n private readonly stateService: ConnectorManagementStateService,\n private readonly alertService: AlertService,\n private readonly translateService: TranslateService\n ) {\n this.instance$ = this.stateService.selectedInstance$;\n }\n\n onSave(event: {properties: ConnectorProperties; name: string}): void {\n this.stateService.disableInput();\n\n this.instance$.pipe(take(1)).subscribe(instance => {\n this.connectorManagementService\n .updateConnectorInstance({\n name: event.name,\n typeId: instance.type.id,\n id: instance.id,\n connectorProperties: event.properties,\n })\n .subscribe(\n () => {\n this.alertService.success(\n this.translateService.instant('connectorManagement.messages.modifySuccess')\n );\n this.stateService.hideModal();\n this.stateService.enableInput();\n this.stateService.refresh();\n },\n () => {\n this.stateService.enableInput();\n }\n );\n });\n }\n\n onDelete(): void {\n this.stateService.disableInput();\n\n this.instance$.pipe(take(1)).subscribe(instance => {\n this.connectorManagementService.deleteConnectorInstance(instance.id).subscribe(\n () => {\n this.alertService.success(\n this.translateService.instant('connectorManagement.messages.deleteSuccess')\n );\n this.stateService.hideModal();\n this.stateService.enableInput();\n this.stateService.refresh();\n },\n () => {\n this.stateService.enableInput();\n }\n );\n });\n }\n}\n","<!--\n ~ Copyright 2015-2024 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<valtimo-edit-connector-form\n *ngIf=\"instance$ | async as instance\"\n [properties]=\"instance.properties\"\n [withDefaults]=\"true\"\n [defaultName]=\"instance.name\"\n [showDeleteButton]=\"showDeleteButton\"\n [connectorName]=\"instance.type.name\"\n [showSaveButton]=\"showSaveButton\"\n (propertiesSave)=\"onSave($event)\"\n (connectorDelete)=\"onDelete()\"\n>\n</valtimo-edit-connector-form>\n","/*\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {AfterViewInit, Component, OnDestroy, ViewChild} from '@angular/core';\nimport {Observable, Subject, Subscription} from 'rxjs';\nimport {ConnectorType} from '@valtimo/config';\nimport {ConnectorManagementStateService} from '../../services/connector-management-state/connector-management-state.service';\nimport {take} from 'rxjs/operators';\nimport {VModalComponent, ModalService} from '@valtimo/components';\n\n/**\n * @deprecated Use the new plugin framework\n */\n@Component({\n selector: 'valtimo-connector-modal',\n templateUrl: './connector-modal.component.html',\n styleUrls: ['./connector-modal.component.scss'],\n})\nexport class ConnectorModalComponent implements AfterViewInit, OnDestroy {\n @ViewChild('connectorCreateModal') connectorCreateModal: VModalComponent;\n @ViewChild('connectorEditModal') connectorEditModal: VModalComponent;\n\n showSubscription!: Subscription;\n hideSubscription!: Subscription;\n\n readonly connectorTypeSelected$: Observable<ConnectorType> = this.stateService.selectedConnector$;\n readonly saveButtonDisabled$: Observable<boolean> = this.stateService.saveButtonDisabled$;\n readonly inputDisabled$: Observable<boolean> = this.stateService.inputDisabled$;\n readonly hideModalSaveButton$: Observable<boolean> = this.stateService.hideModalSaveButton$;\n readonly returnToFirstStepSubject$ = new Subject<boolean>();\n\n constructor(\n private readonly stateService: ConnectorManagementStateService,\n private readonly modalService: ModalService\n ) {}\n\n ngAfterViewInit(): void {\n this.openShowSubscription();\n this.openHideSubscription();\n }\n\n ngOnDestroy(): void {\n this.showSubscription?.unsubscribe();\n this.hideSubscription?.unsubscribe();\n }\n\n hide(): void {\n this.stateService.disableInput();\n this.modalService.closeModal(() => {\n this.returnToFirstStep();\n this.stateService.enableInput();\n this.stateService.clearSelectedConnector();\n });\n }\n\n complete(): void {\n this.stateService.save();\n }\n\n delete(): void {\n this.stateService.delete();\n }\n\n private openShowSubscription(): void {\n this.showSubscription = this.stateService.showModal$.subscribe(() => {\n this.show();\n });\n }\n\n private openHideSubscription(): void {\n this.hideSubscription = this.stateService.hideModal$.subscribe(() => {\n this.hide();\n });\n }\n\n private returnToFirstStep(): void {\n this.returnToFirstStepSubject$.next(true);\n }\n\n private show(): void {\n this.stateService.modalType$.pipe(take(1)).subscribe(modalType => {\n if (modalType === 'add') {\n this.modalService.openModal(this.connectorCreateModal);\n } else if (modalType === 'modify') {\n this.modalService.openModal(this.connectorEditModal);\n }\n });\n }\n}\n","<!--\n ~ Copyright 2015-2024 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<v-modal #connectorEditModal>\n <div role=\"header\">\n <div class=\"edit-connector-title\">\n <v-title [margin]=\"false\">{{ 'connectorManagement.modify' | translate }}</v-title>\n </div>\n </div>\n <div role=\"content\">\n <valtimo-modify-connector\n [showSaveButton]=\"false\"\n [showDeleteButton]=\"false\"\n ></valtimo-modify-connector>\n </div>\n <div role=\"footer\">\n <div class=\"edit-connector-buttons\">\n <v-button\n [disabled]=\"inputDisabled$ | async\"\n (clickEvent)=\"delete()\"\n [mdiIcon]=\"'delete'\"\n type=\"danger\"\n >{{ 'connectorManagement.remove' | translate }}</v-button\n >\n <v-button\n *ngIf=\"(hideModalSaveButton$ | async) === false\"\n [disabled]=\"(saveButtonDisabled$ | async) || (inputDisabled$ | async)\"\n (clickEvent)=\"complete()\"\n [mdiIcon]=\"'check'\"\n type=\"success\"\n >{{ 'connectorManagement.save' | translate }}</v-button\n >\n </div>\n </div>\n</v-modal>\n\n<v-stepper-container\n (completeEvent)=\"complete()\"\n (cancelClickEvent)=\"hide()\"\n [disabled]=\"inputDisabled$ | async\"\n [returnToFirstStepSubject$]=\"returnToFirstStepSubject$\"\n>\n <v-modal #connectorCreateModal (closeEvent)=\"hide()\">\n <div role=\"header\">\n <v-stepper-header></v-stepper-header>\n </div>\n <div role=\"content\">\n <v-stepper-content>\n <v-stepper-step titleTranslationKey=\"addConnectorSteps.step0\">\n <valtimo-add-connector-select></valtimo-add-connector-select>\n </v-stepper-step>\n <v-stepper-step titleTranslationKey=\"addConnectorSteps.step1\">\n <valtimo-add-connector-configure\n [showSaveButton]=\"false\"\n ></valtimo-add-connector-configure>\n </v-stepper-step>\n </v-stepper-content>\n </div>\n <div role=\"footer\">\n <v-stepper-footer>\n <v-stepper-footer-step\n nextButtonTranslationKey=\"addConnectorSteps.step1\"\n [nextButtonEnabled]=\"connectorTypeSelected$ | async\"\n ></v-stepper-footer-step>\n <v-stepper-footer-step\n completeButtonTranslationKey=\"addConnectorSteps.complete\"\n [completeButtonEnabled]=\"(saveButtonDisabled$ | async) === false\"\n [showCompleteButton]=\"(hideModalSaveButton$ | async) === false\"\n ></v-stepper-footer-step>\n </v-stepper-footer>\n </div>\n </v-modal>\n</v-stepper-container>\n","/*\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {Component, OnDestroy} from '@angular/core';\nimport {BehaviorSubject, combineLatest, Observable} from 'rxjs';\nimport {ConnectorInstance} from '@valtimo/config';\nimport {map, switchMap, take, tap} from 'rxjs/operators';\nimport {TranslateService} from '@ngx-translate/core';\nimport {ConnectorManagementService} from '../../services/connector-management/connector-management.service';\nimport {ConnectorManagementStateService} from '../../services/connector-management-state/connector-management-state.service';\nimport {Pagination, TableColumn} from '@valtimo/components';\n\n/**\n * @deprecated Use the new plugin framework\n */\n@Component({\n selector: 'valtimo-connector-management',\n templateUrl: './connector-management.component.html',\n styleUrls: ['./connector-management.component.scss'],\n})\nexport class ConnectorManagementComponent implements OnDestroy {\n readonly loading$ = new BehaviorSubject<boolean>(true);\n\n readonly fields$ = new BehaviorSubject<Array<{key: string; label: string}>>([]);\n\n readonly columns$: Observable<Array<TableColumn>> = this.fields$.pipe(\n map(fields =>\n fields.map(field => ({\n dataKey: field.key,\n labelTranslationKey: field.label,\n }))\n )\n );\n\n readonly currentPageAndSize$ = new BehaviorSubject<Partial<Pagination>>({\n page: 0,\n size: 10,\n });\n\n readonly pageSizes$ = new BehaviorSubject<Partial<Pagination>>({\n collectionSize: 0,\n });\n\n readonly pagination$: Observable<Pagination> = combineLatest([\n this.currentPageAndSize$,\n this.pageSizes$,\n ]).pipe(\n map(\n ([currentPage, sizes]) =>\n ({...currentPage, ...sizes, page: currentPage.page + 1}) as Pagination\n )\n );\n\n readonly connectorInstances$: Observable<Array<ConnectorInstance>> = combineLatest([\n this.currentPageAndSize$,\n this.translateService.stream('key'),\n this.stateService.refresh$,\n ]).pipe(\n tap(() => this.setFields()),\n switchMap(([currentPage]) =>\n combineLatest([\n this.connectorManagementService.getConnectorInstances({\n page: currentPage.page,\n size: currentPage.size,\n }),\n this.connectorManagementService.getConnectorTypes(),\n ])\n ),\n tap(([instanceRes]) => {\n this.pageSizes$.pipe(take(1)).subscribe(sizes => {\n this.pageSizes$.next({...sizes, collectionSize: instanceRes.totalElements});\n });\n }),\n map(([instanceRes, typesRes]) =>\n instanceRes.content.map(instance => ({\n ...instance,\n typeName: typesRes.find(type => type.id === instance.type.id)?.name,\n }))\n ),\n tap(() => this.loading$.next(false))\n );\n\n constructor(\n private readonly connectorManagementService: ConnectorManagementService,\n private readonly translateService: TranslateService,\n private readonly stateService: ConnectorManagementStateService\n ) {}\n\n ngOnDestroy(): void {\n this.stateService.hideModal();\n }\n\n paginationClicked(newPageNumber): void {\n this.currentPageAndSize$.pipe(take(1)).subscribe(currentPage => {\n this.currentPageAndSize$.next({...currentPage, page: newPageNumber - 1});\n });\n }\n\n paginationSet(newPageSize): void {\n if (newPageSize) {\n this.currentPageAndSize$.pipe(take(1)).subscribe(currentPage => {\n this.currentPageAndSize$.next({...currentPage, size: newPageSize});\n });\n }\n }\n\n rowClicked(instance: ConnectorInstance): void {\n this.stateService.setModalType('modify');\n this.stateService.setConnectorInstance(instance);\n this.stateService.showModal();\n }\n\n showAddModal(): void {\n this.stateService.setModalType('add');\n this.stateService.showModal();\n }\n\n private setFields(): void {\n const keys: Array<string> = ['name', 'typeName'];\n this.fields$.next(keys.map(key => ({label: `connectorManagement.labels.${key}`, key})));\n }\n}\n","<!--\n ~ Copyright 2015-2024 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<v-page-container\n *ngIf=\"{\n connectorInstances: connectorInstances$ | async,\n fields: fields$ | async,\n columns: columns$ | async,\n pagination: pagination$ | async,\n loading: loading$ | async,\n } as obs\"\n>\n <v-page-header>\n <v-page-header-introduction>\n <v-paragraph>{{ 'pages.connectors.description' | translate }}</v-paragraph>\n </v-page-header-introduction>\n <v-page-header-actions>\n <v-button\n (clickEvent)=\"showAddModal()\"\n type=\"primary\"\n mdiIcon=\"plus\"\n [disabled]=\"obs.loading\"\n >\n {{ 'connectorManagement.add' | translate }}\n </v-button>\n </v-page-header-actions>\n </v-page-header>\n <v-page-content>\n <v-table\n [loading]=\"obs.loading\"\n [items]=\"obs.connectorInstances\"\n [columns]=\"obs.columns\"\n [showEditButtons]=\"true\"\n [amountOfLoadingRows]=\"2\"\n [collectionSize]=\"obs.pagination.collectionSize\"\n [page]=\"obs.pagination.page\"\n [size]=\"obs.pagination.size\"\n [itemsTranslationKey]=\"'connectorManagement.tableItemsText'\"\n (editButtonClicked)=\"rowClicked($event)\"\n (paginationSizeSet)=\"paginationSet($event)\"\n (paginationPageSet)=\"paginationClicked($event)\"\n ></v-table>\n </v-page-content>\n</v-page-container>\n\n<valtimo-connector-modal></valtimo-connector-modal>\n","/*\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {NgModule} from '@angular/core';\nimport {RouterModule, Routes} from '@angular/router';\nimport {CommonModule} from '@angular/common';\nimport {AuthGuardService} from '@valtimo/security';\nimport {ROLE_ADMIN} from '@valtimo/config';\nimport {ConnectorManagementComponent} from './components/connector-management/connector-management.component';\n\nconst routes: Routes = [\n {\n path: 'connectors',\n component: ConnectorManagementComponent,\n canActivate: [AuthGuardService],\n data: {title: 'Connectors', roles: [ROLE_ADMIN]},\n },\n];\n\n@NgModule({\n declarations: [],\n imports: [CommonModule, RouterModule.forChild(routes)],\n exports: [RouterModule],\n})\nexport class ConnectorManagementRoutingModule {}\n","/*\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {Injectable} from '@angular/core';\nimport {HttpClient} from '@angular/common/http';\nimport {ConfigService} from '@valtimo/config';\nimport {Observable} from 'rxjs';\nimport {\n CreateObjectSyncConfigRequest,\n CreateObjectSyncConfigResult,\n ObjectSyncConfig,\n} from '../../models';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class ObjectApiSyncService {\n private valtimoApiConfig: any;\n\n constructor(\n private http: HttpClient,\n private configService: ConfigService\n ) {\n this.valtimoApiConfig = configService.config.valtimoApi;\n }\n\n getObjectSyncConfigs(documentDefinitionName: string): Observable<Array<ObjectSyncConfig>> {\n return this.http.get<Array<ObjectSyncConfig>>(\n `${this.valtimoApiConfig.endpointUri}v1/object/sync/config`,\n {params: {documentDefinitionName}}\n );\n }\n\n createObjectSyncConfig(\n request: CreateObjectSyncConfigRequest\n ): Observable<CreateObjectSyncConfigResult> {\n return this.http.post<CreateObjectSyncConfigResult>(\n `${this.valtimoApiConfig.endpointUri}v1/object/sync/config`,\n request\n );\n }\n\n modifyObjectSyncConfig(request: ObjectSyncConfig): Observable<CreateObjectSyncConfigResult> {\n return this.http.put<CreateObjectSyncConfigResult>(\n `${this.valtimoApiConfig.endpointUri}v1/object/sync/config`,\n request\n );\n }\n\n deleteObjectSyncConfig(configId: string): Observable<any> {\n return this.http.delete<any>(\n `${this.valtimoApiConfig.endpointUri}v1/object/sync/config/${configId}`\n );\n }\n}\n","/*\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {AfterViewInit, Component, OnDestroy, ViewChild} from '@angular/core';\nimport {AlertService, ModalComponent, Pagination} from '@valtimo/components';\nimport {BehaviorSubject, combineLatest, Observable, Subscription} from 'rxjs';\nimport {map, switchMap, take, tap} from 'rxjs/operators';\nimport {ConnectorInstance} from '@valtimo/config';\nimport {TranslateService} from '@ngx-translate/core';\nimport {ActivatedRoute} from '@angular/router';\nimport {ConnectorManagementService} from '../../services/connector-management/connector-management.service';\nimport {ConnectorManagementStateService} from '../../services/connector-management-state/connector-management-state.service';\nimport {ObjectApiSyncService} from '../../services/object-api-sync/object-api-sync.service';\n\n/**\n * @deprecated Use the new plugin framework\n */\n@Component({\n selector: 'valtimo-connector-link-extension-modal',\n templateUrl: './connector-link-extension-modal.component.html',\n styleUrls: ['./connector-link-extension-modal.component.scss'],\n})\nexport class ConnectorLinkExtensionModalComponent implements AfterViewInit, OnDestroy {\n @ViewChild('modal') modal: ModalComponent;\n\n private showSubscription!: Subscription;\n\n readonly loading$ = new BehaviorSubject<boolean>(true);\n\n readonly fields$ = new BehaviorSubject<Array<{key: string; label: string}>>([]);\n\n readonly currentPageAndSize$ = new BehaviorSubject<Partial<Pagination>>({\n page: 0,\n size: 10,\n });\n\n readonly pageSizes$ = new BehaviorSubject<Partial<Pagination>>({\n collectionSize: 0,\n });\n\n readonly pagination$: Observable<Pagination> = combineLatest([\n this.currentPageAndSize$,\n this.pageSizes$,\n ]).pipe(\n map(\n ([currentPage, sizes]) =>\n ({...currentPage, ...sizes, page: currentPage.page + 1}) as Pagination\n )\n );\n\n readonly connectorInstances$: Observable<Array<ConnectorInstance>> = combineLatest([\n this.currentPageAndSize$,\n this.connectorManagementService.getConnectorTypes(),\n this.translateService.stream('key'),\n this.stateService.refresh$,\n ]).pipe(\n tap(() => this.setFields()),\n switchMap(([currentPage, types]) =>\n this.connectorManagementService.getConnectorInstancesByType(\n types.find(type => type.name.toLowerCase().includes('objectsapi'))?.id,\n {page: currentPage.page, size: currentPage.size}\n )\n ),\n tap(instanceRes => {\n this.pageSizes$.pipe(take(1)).subscribe(sizes => {\n this.pageSizes$.next({...sizes, collectionSize: instanceRes.totalElements});\n });\n }),\n map(res => res.content),\n tap(() => this.loading$.next(false))\n );\n\n readonly noObjectsApiConnectors$ = this.connectorInstances$.pipe(\n map(instances => !instances || instances.length === 0)\n );\n\n readonly disabled$!: Observable<boolean>;\n\n constructor(\n private readonly connectorManagementService: ConnectorManagementService,\n private readonly translateService: TranslateService,\n private readonly stateService: ConnectorManagementStateService,\n private readonly objectApiSyncService: ObjectApiSyncService,\n private readonly route: ActivatedRoute,\n private readonly alertService: AlertService\n ) {\n this.disabled$ = this.stateService.inputDisabled$;\n }\n\n ngAfterViewInit(): void {\n this.showSubscription = this.stateService.showExtensionModal$.subscribe(show => {\n if (show) {\n this.show();\n } else {\n this.hide();\n }\n });\n }\n\n ngOnDestroy(): void {\n this.showSubscription?.unsubscribe();\n }\n\n paginationClicked(newPageNumber): void {\n this.currentPageAndSize$.pipe(take(1)).subscribe(currentPage => {\n this.currentPageAndSize$.next({...currentPage, page: newPageNumber - 1});\n });\n }\n\n paginationSet(newPageSize): void {\n if (newPageSize) {\n this.currentPageAndSize$.pipe(take(1)).subscribe(currentPage => {\n this.currentPageAndSize$.next({...currentPage, size: newPageSize});\n });\n }\n }\n\n rowClicked(instance: ConnectorInstance): void {\n const connectorInstanceId = instance.id;\n const enabled = true;\n const documentDefinitionName = this.route.snapshot.paramMap.get('name');\n const objectTypeUrl = (instance as any).properties?.objectType?.url;\n const splitObjectTypeUrl = objectTypeUrl?.split('/');\n const objectTypeId = splitObjectTypeUrl[splitObjectTypeUrl.length - 1];\n\n this.stateService.disableInput();\n\n this.objectApiSyncService\n .createObjectSyncConfig({connectorInstanceId, enabled, documentDefinitionName, objectTypeId})\n .subscribe(\n res => {\n this.alertService.success(\n this.translateService.instant('connectorManagement.extension.addSyncSuccess')\n );\n this.stateService.hideExtensionModal();\n this.stateService.enableInput();\n this.stateService.refresh();\n this.stateService.setLastConfigIdAdded(res.objectSyncConfig.id);\n },\n () => {\n this.stateService.enableInput();\n }\n );\n }\n\n private setFields(): void {\n const getTranslatedLabel = (key: string) =>\n this.translateService.instant(`connectorManagement.labels.${key}`);\n const keys: Array<string> = ['name'];\n this.fields$.next(keys.map(key => ({label: getTranslatedLabel(key), key})));\n }\n\n private show(): void {\n this.modal.show();\n }\n\n private hide(): void {\n this.modal.hide();\n }\n}\n","<!--\n ~ Copyright 2015-2024 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<valtimo-modal #modal [title]=\"'connectorManagement.extension.buttonText' | translate\">\n <div\n class=\"mt-2\"\n body\n *ngIf=\"{\n connectorInstances: connectorInstances$ | async,\n fields: fields$ | async,\n pagination: pagination$ | async,\n loading: loading$ | async,\n disabled: disabled$ | async,\n noConnectors: noObjectsApiConnectors$ | async,\n } as obs\"\n >\n <div *ngIf=\"obs.loading === false; else loading\" [ngClass]=\"{disabled: obs.disabled}\">\n <ng-container *ngIf=\"!obs.noConnectors; else noConnectors\">\n <p class=\"lead\">{{ 'connectorManagement.extension.clickToSync' | translate }}</p>\n <valtimo-widget>\n <valtimo-list\n [items]=\"obs.connectorInstances\"\n [fields]=\"obs.fields\"\n [header]=\"false\"\n [viewMode]=\"false\"\n [isSearchable]=\"false\"\n [pagination]=\"obs.pagination\"\n paginationIdentifier=\"connectorManagementList\"\n (paginationClicked)=\"paginationClicked($event)\"\n (paginationSet)=\"paginationSet($event)\"\n (rowClicked)=\"rowClicked($event)\"\n >\n <div header>\n <h3 class=\"list-header-title\">{{ 'connectorManagement.title' | translate }}</h3>\n <h5 class=\"list-header-description\">\n {{ 'connectorManagement.subtitle' | translate }}\n </h5>\n </div>\n </valtimo-list>\n </valtimo-widget>\n </ng-container>\n </div>\n </div>\n</valtimo-modal>\n\n<ng-template #loading>\n <valtimo-spinner></valtimo-spinner>\n</ng-template>\n\n<ng-template #noConnectors>\n <p class=\"lead\">{{ 'connectorManagement.extension.noConnectors' | translate }}</p>\n</ng-template>\n","/*\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {Component, OnDestroy} from '@angular/core';\nimport {BehaviorSubject, combineLatest, Observable, of} from 'rxjs';\nimport {catchError, map, switchMap, tap} from 'rxjs/operators';\nimport {TranslateService} from '@ngx-translate/core';\nimport {ActivatedRoute} from '@angular/router';\nimport {AlertService} from '@valtimo/components';\nimport {ObjectSyncConfig} from '../../models';\nimport {ConnectorManagementStateService} from '../../services/connector-management-state/connector-management-state.service';\nimport {ObjectApiSyncService} from '../../services/object-api-sync/object-api-sync.service';\nimport {ConnectorManagementService} from '../../services/connector-management/connector-management.service';\nimport {ConnectorInstance} from '@valtimo/config';\n\n/**\n * @deprecated Use the new plugin framework\n */\n@Component({\n selector: 'valtimo-connector-link-extension',\n templateUrl: './connector-link-extension.component.html',\n styleUrls: ['./connector-link-extension.component.scss'],\n})\nexport class ConnectorLinkExtensionComponent implements OnDestroy {\n readonly loading$ = new BehaviorSubject<boolean>(true);\n\n readonly objectApiSyncConfig$: Observable<ObjectSyncConfig | null> = combineLatest([\n this.route.params,\n this.translateService.stream('key'),\n this.stateService.refresh$,\n ]).pipe(\n switchMap(([params]) => this.objectApiSyncService.getObjectSyncConfigs(params.name)),\n switchMap(configs =>\n combineLatest([\n of(configs),\n ...configs.map(config =>\n this.connectorManagementService\n .getConnectorInstanceById(config.connectorInstanceId)\n .pipe(catchError(() => of('')))\n ),\n ])\n ),\n map(results => {\n const [, ...instances] = results.filter(result => result) as Array<ConnectorInstance>;\n return (results[0] as Array<ObjectSyncConfig>).map(syncConfig => ({\n ...syncConfig,\n title:\n instances.find(instance => instance.id === syncConfig.connectorInstanceId)?.name ||\n 'Objects API',\n }));\n }),\n map(results => (Array.isArray(results) && results.length > 0 ? results[0] : null)),\n tap(() => {\n this.loading$.next(false);\n })\n );\n\n readonly disabled$!: Observable<boolean>;\n\n constructor(\n private readonly stateService: ConnectorManagementStateService,\n private readonly objectApiSyncService: ObjectApiSyncService,\n private readonly translateService: TranslateService,\n private readonly route: ActivatedRoute,\n private readonly alertService: AlertService,\n private readonly connectorManagementService: ConnectorManagementService\n ) {\n this.disabled$ = this.stateService.inputDisabled$;\n }\n\n ngOnDestroy(): void {\n this.stateService.hideExtensionModal();\n }\n\n openModal(): void {\n this.stateService.showExtensionModal();\n }\n\n toggleSync(config: ObjectSyncConfig): void {\n this.stateService.disableInput();\n\n this.objectApiSyncService\n .modifyObjectSyncConfig({...config, enabled: !config.enabled})\n .subscribe(\n () => {\n if (!config.enabled) {\n this.alertService.success(\n this.translateService.instant('connectorManagement.extension.addSyncSuccess')\n );\n } else {\n this.alertService.success(\n this.translateService.instant('connectorManagement.extension.disableSyncSuccess')\n );\n }\n this.stateService.enableInput();\n this.stateService.refresh();\n },\n () => {\n this.stateService.enableInput();\n }\n );\n }\n\n deleteSync(configId: string): void {\n this.stateService.disableInput();\n\n this.objectApiSyncService.deleteObjectSyncConfig(configId).subscribe(\n () => {\n this.alertService.success(\n this.translateService.instant('connectorManagement.extension.deleteSyncSuccess')\n );\n this.stateService.enableInput();\n this.stateService.refresh();\n },\n () => {\n this.stateService.enableInput();\n }\n );\n }\n}\n","<!--\n ~ Copyright 2015-2024 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<h2 class=\"mb-4 mt-6\">{{ 'connectorManagement.extension.title' | translate }}</h2>\n\n<ng-container\n *ngIf=\"{\n syncConfig: objectApiSyncConfig$ | async,\n loading: loading$ | async,\n disabled: disabled$ | async,\n } as obs\"\n>\n <ng-container *ngIf=\"obs.loading === false; else loading\">\n <ng-container *ngIf=\"obs.syncConfig; else addSync\">\n <div class=\"card card-border card-contrast\">\n <div class=\"card-header card-header-contrast card-header-featured\">\n <div>\n {{ obs.syncConfig.title }}\n </div>\n <div class=\"controls\">\n <button\n class=\"btn btn-danger ml-3\"\n [disabled]=\"obs.disabled\"\n (click)=\"deleteSync(obs.syncConfig.id)\"\n >\n <i class=\"icon mdi mdi-delete\"></i>\n </button>\n </div>\n </div>\n <div class=\"card-body\">\n <div class=\"setting-row\">\n {{ 'connectorManagement.autoSync' | translate }}\n <div class=\"controls\">\n <div class=\"switch-button switch-button-success\">\n <input\n type=\"checkbox\"\n [checked]=\"obs.syncConfig.enabled\"\n [disabled]=\"obs.disabled\"\n name=\"sync\"\n id=\"sync\"\n (click)=\"toggleSync(obs.syncConfig)\"\n />\n <span><label for=\"sync\"></label></span>\n </div>\n </div>\n </div>\n </div>\n </div>\n </ng-container>\n </ng-container>\n</ng-container>\n\n<valtimo-connector-link-extension-modal></valtimo-connector-link-extension-modal>\n\n<ng-template #loading>\n <valtimo-spinner></valtimo-spinner>\n</ng-template>\n\n<ng-template #addSync>\n <div class=\"text-right mt-5\">\n <button class=\"btn btn-primary\" (click)=\"openModal()\" [disabled]=\"disabled$ | async\">\n <i class=\"icon mdi mdi-plus mr-1\"></i>\n {{ 'connectorManagement.extension.buttonText' | translate }}\n </button>\n </div>\n</ng-template>\n","/*\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {NgModule} from '@angular/core';\nimport {ConnectorManagementRoutingModule} from './connector-management-routing';\nimport {CommonModule} from '@angular/common';\nimport {TranslateModule} from '@ngx-translate/core';\nimport {\n FormIoModule,\n ListModule,\n ModalModule,\n SpinnerModule,\n WidgetModule,\n ButtonModule,\n VCardModule,\n InputModule,\n VModalModule,\n PageModule,\n ParagraphModule,\n StepperModule,\n TableModule,\n TitleModule,\n} from '@valtimo/components';\nimport {ConnectorManagementStateService} from './services/connector-management-state/connector-management-state.service';\nimport {ConnectorManagementComponent} from './components/connector-management/connector-management.component';\nimport {ConnectorLinkExtensionModalComponent} from './components/connector-link-extension-modal/connector-link-extension-modal.component';\nimport {AddConnectorSelectComponent} from './components/add-connector-select/add-connector-select.component';\nimport {ModifyConnectorComponent} from './components/modify-connector/modify-connector.component';\nimport {ConnectorModalComponent} from './components/connector-modal/connector-modal.component';\nimport {EditConnectorPropertiesComponent} from './components/edit-connector-properties/edit-connector-properties.component';\nimport {ConnectorLinkExtensionComponent} from './components/connector-link-extension/connector-link-extension.component';\nimport {MultiValueConnectorPropertyComponent} from './components/multi-value-connector-property/multi-value-connector-property.component';\nimport {EditProductAanvragenConnectorComponent} from './components/edit-product-aanvragen-connector/edit-product-aanvragen-connector.component';\nimport {EditConnectorFormComponent} from './components/edit-connector-form/edit-connector-form.component';\nimport {EditTaakConnectorComponent} from './components/edit-taak-connector/edit-taak-connector.component';\nimport {AddConnectorConfigureComponent} from './components/add-connector-configure/add-connector-configure.component';\n\n/**\n * @deprecated Use the new plugin framework\n */\n@NgModule({\n providers: [ConnectorManagementStateService],\n declarations: [\n ConnectorManagementComponent,\n AddConnectorSelectComponent,\n AddConnectorConfigureComponent,\n ConnectorModalComponent,\n ModifyConnectorComponent,\n EditConnectorPropertiesComponent,\n MultiValueConnectorPropertyComponent,\n ConnectorLinkExtensionComponent,\n ConnectorLinkExtensionModalComponent,\n EditProductAanvragenConnectorComponent,\n EditConnectorFormComponent,\n EditTaakConnectorComponent,\n ],\n imports: [\n CommonModule,\n ConnectorManagementRoutingModule,\n TranslateModule,\n WidgetModule,\n ListModule,\n SpinnerModule,\n ModalModule,\n FormIoModule,\n ButtonModule,\n TableModule,\n VModalModule,\n StepperModule,\n VCardModule,\n TitleModule,\n InputModule,\n PageModule,\n ParagraphModule,\n ],\n exports: [\n ConnectorManagementComponent,\n AddConnectorSelectComponent,\n AddConnectorConfigureComponent,\n ConnectorModalComponent,\n ModifyConnectorComponent,\n EditConnectorPropertiesComponent,\n MultiValueConnectorPropertyComponent,\n ConnectorLinkExtensionComponent,\n ConnectorLinkExtensionModalComponent,\n EditProductAanvragenConnectorComponent,\n EditTaakConnectorComponent,\n ],\n})\nexport class ConnectorManagementModule {}\n","/*\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/*\n * Public API Surface of process-management\n */\n\nexport * from './lib/models';\nexport * from './lib/connector-management.module';\nexport * from './lib/components/connector-link-extension-modal/connector-link-extension-modal.component';\nexport * from './lib/components/connector-link-extension/connector-link-extension.component';\nexport * from './lib/components/add-connector-select/add-connector-select.component';\nexport * from './lib/components/connector-management/connector-management.component';\nexport * from './lib/components/connector-modal/connector-modal.component';\nexport * from './lib/components/edit-connector-properties/edit-connector-properties.component';\nexport * from './lib/components/modify-connector/modify-connector.component';\nexport * from './lib/components/multi-value-connector-property/multi-value-connector-property.component';\nexport * from './lib/services/connector-management/connector-management.service';\nexport * from './lib/services/object-api-sync/object-api-sync.service';\nexport * from './lib/services/connector-management-state/connector-management-state.service';\nexport * from './lib/components/edit-taak-connector/edit-taak-connector.component';\nexport * from './lib/components/edit-product-aanvragen-connector/edit-product-aanvragen-connector.component';\nexport * from './lib/components/add-connector-configure/add-connector-configure.component';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1.ConnectorManagementService","i2.ConnectorManagementStateService","i3","i4","i5","i1","i2","i1.ConnectorManagementStateService","i4.MultiValueConnectorPropertyComponent","i4.ConnectorManagementService","i5.ConnectorManagementStateService","i6","i7","i3.ConnectorManagementService","i4.ConnectorManagementStateService","i2.EditConnectorPropertiesComponent","i3.EditProductAanvragenConnectorComponent","i4.EditTaakConnectorComponent","i6.EditConnectorFormComponent","i4.AddConnectorSelectComponent","i5.AddConnectorConfigureComponent","i6.ModifyConnectorComponent","i3.ConnectorManagementStateService","i6.ConnectorModalComponent","i4.ObjectApiSyncService","i2.ObjectApiSyncService","i6.ConnectorManagementService","i8.ConnectorLinkExtensionModalComponent"],"mappings":"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"}
1
+ {"version":3,"file":"valtimo-connector-management.mjs","sources":["../../../../projects/valtimo/connector-management/src/lib/models/object-sync.ts","../../../../projects/valtimo/connector-management/src/lib/models/index.ts","../../../../projects/valtimo/connector-management/src/lib/services/connector-management/connector-management.service.ts","../../../../projects/valtimo/connector-management/src/lib/services/connector-management-state/connector-management-state.service.ts","../../../../projects/valtimo/connector-management/src/lib/components/add-connector-select/add-connector-select.component.ts","../../../../projects/valtimo/connector-management/src/lib/components/add-connector-select/add-connector-select.component.html","../../../../projects/valtimo/connector-management/src/lib/components/multi-value-connector-property/multi-value-connector-property.component.ts","../../../../projects/valtimo/connector-management/src/lib/components/multi-value-connector-property/multi-value-connector-property.component.html","../../../../projects/valtimo/connector-management/src/lib/components/edit-connector-properties/edit-connector-properties.component.ts","../../../../projects/valtimo/connector-management/src/lib/components/edit-connector-properties/edit-connector-properties.component.html","../../../../projects/valtimo/connector-management/src/lib/components/edit-product-aanvragen-connector/edit-product-aanvragen-connector.form.ts","../../../../projects/valtimo/connector-management/src/lib/components/edit-product-aanvragen-connector/edit-product-aanvragen-connector.component.ts","../../../../projects/valtimo/connector-management/src/lib/components/edit-product-aanvragen-connector/edit-product-aanvragen-connector.component.html","../../../../projects/valtimo/connector-management/src/lib/components/edit-taak-connector/edit-taak-connector.form.ts","../../../../projects/valtimo/connector-management/src/lib/components/edit-taak-connector/edit-taak-connector.component.ts","../../../../projects/valtimo/connector-management/src/lib/components/edit-taak-connector/edit-taak-connector.component.html","../../../../projects/valtimo/connector-management/src/lib/components/edit-connector-form/edit-connector-form.component.ts","../../../../projects/valtimo/connector-management/src/lib/components/edit-connector-form/edit-connector-form.component.html","../../../../projects/valtimo/connector-management/src/lib/components/add-connector-configure/add-connector-configure.component.ts","../../../../projects/valtimo/connector-management/src/lib/components/add-connector-configure/add-connector-configure.component.html","../../../../projects/valtimo/connector-management/src/lib/components/modify-connector/modify-connector.component.ts","../../../../projects/valtimo/connector-management/src/lib/components/modify-connector/modify-connector.component.html","../../../../projects/valtimo/connector-management/src/lib/components/connector-modal/connector-modal.component.ts","../../../../projects/valtimo/connector-management/src/lib/components/connector-modal/connector-modal.component.html","../../../../projects/valtimo/connector-management/src/lib/components/connector-management/connector-management.component.ts","../../../../projects/valtimo/connector-management/src/lib/components/connector-management/connector-management.component.html","../../../../projects/valtimo/connector-management/src/lib/connector-management-routing.ts","../../../../projects/valtimo/connector-management/src/lib/services/object-api-sync/object-api-sync.service.ts","../../../../projects/valtimo/connector-management/src/lib/components/connector-link-extension-modal/connector-link-extension-modal.component.ts","../../../../projects/valtimo/connector-management/src/lib/components/connector-link-extension-modal/connector-link-extension-modal.component.html","../../../../projects/valtimo/connector-management/src/lib/components/connector-link-extension/connector-link-extension.component.ts","../../../../projects/valtimo/connector-management/src/lib/components/connector-link-extension/connector-link-extension.component.html","../../../../projects/valtimo/connector-management/src/lib/connector-management.module.ts","../../../../projects/valtimo/connector-management/src/public-api.ts","../../../../projects/valtimo/connector-management/src/valtimo-connector-management.ts"],"sourcesContent":["/*\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\ninterface ObjectSyncConfig {\n id: string;\n connectorInstanceId: string;\n documentDefinitionName: string;\n enabled: boolean;\n objectTypeId: string;\n title?: string;\n}\n\ninterface CreateObjectSyncConfigRequest {\n connectorInstanceId: string;\n enabled: boolean;\n documentDefinitionName: string;\n objectTypeId: string;\n}\n\ninterface CreateObjectSyncConfigResult {\n errors: Array<any>;\n objectSyncConfig: ObjectSyncConfig;\n}\n\nexport {ObjectSyncConfig, CreateObjectSyncConfigRequest, CreateObjectSyncConfigResult};\n","/*\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nexport * from './object-sync';\n","/*\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {Injectable} from '@angular/core';\nimport {HttpClient} from '@angular/common/http';\nimport {\n ConfigService,\n ConnectorInstance,\n ConnectorInstanceCreateRequest,\n ConnectorInstanceUpdateRequest,\n ConnectorType,\n} from '@valtimo/config';\nimport {Observable} from 'rxjs';\nimport {Page} from '@valtimo/document';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class ConnectorManagementService {\n private valtimoApiConfig: any;\n\n constructor(\n private http: HttpClient,\n private configService: ConfigService\n ) {\n this.valtimoApiConfig = configService.config.valtimoApi;\n }\n\n getConnectorInstances(params?: any): Observable<Page<ConnectorInstance>> {\n return this.http.get<Page<ConnectorInstance>>(\n `${this.valtimoApiConfig.endpointUri}v1/connector/instance`,\n {params}\n );\n }\n\n getConnectorInstancesByType(typeId: string, params?: any): Observable<Page<ConnectorInstance>> {\n return this.http.get<Page<ConnectorInstance>>(\n `${this.valtimoApiConfig.endpointUri}v1/connector/instance/${typeId}`,\n {params}\n );\n }\n\n getConnectorInstanceById(instanceId: string): Observable<ConnectorInstance> {\n return this.http.get<ConnectorInstance>(\n `${this.valtimoApiConfig.endpointUri}v1/connector/instance?instanceId=${instanceId}`\n );\n }\n\n getConnectorTypes(): Observable<Array<ConnectorType>> {\n return this.http.get<Array<ConnectorType>>(\n `${this.valtimoApiConfig.endpointUri}v1/connector/type`\n );\n }\n\n createConnectorInstance(request: ConnectorInstanceCreateRequest): Observable<ConnectorInstance> {\n return this.http.post<ConnectorInstance>(\n `${this.valtimoApiConfig.endpointUri}v1/connector/instance`,\n request\n );\n }\n\n updateConnectorInstance(request: ConnectorInstanceUpdateRequest): Observable<ConnectorInstance> {\n return this.http.put<ConnectorInstance>(\n `${this.valtimoApiConfig.endpointUri}v1/connector/instance`,\n request\n );\n }\n\n deleteConnectorInstance(connectorInstanceId: string): Observable<ConnectorInstance> {\n return this.http.delete<ConnectorInstance>(\n `${this.valtimoApiConfig.endpointUri}v1/connector/instance/${connectorInstanceId}`\n );\n }\n}\n","/*\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {Injectable} from '@angular/core';\nimport {BehaviorSubject, Observable, Subject} from 'rxjs';\nimport {take} from 'rxjs/operators';\nimport {ConnectorInstance, ConnectorModal, ConnectorType} from '@valtimo/config';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class ConnectorManagementStateService {\n private readonly _showModal$ = new Subject();\n private readonly _hideModal$ = new Subject();\n private readonly _showExtensionModal$ = new BehaviorSubject<boolean>(false);\n private readonly _inputDisabled$ = new BehaviorSubject<boolean>(false);\n private readonly _saveButtonDisabled$ = new BehaviorSubject<boolean>(true);\n private readonly _refresh$ = new BehaviorSubject<null>(null);\n private readonly _save$ = new Subject();\n private readonly _selectedInstance$ = new BehaviorSubject<ConnectorInstance>(undefined);\n private readonly _lastConfigIdAdded$ = new BehaviorSubject<string>('');\n private readonly _selectedConnector$ = new BehaviorSubject<ConnectorType>(undefined);\n private readonly _connectorTypes$ = new BehaviorSubject<Array<ConnectorType>>(undefined);\n private readonly _modalType$ = new BehaviorSubject<ConnectorModal>('add');\n private readonly _delete$ = new Subject();\n private readonly _hideModalSaveButton$ = new BehaviorSubject<boolean>(false);\n\n get showModal$(): Observable<any> {\n return this._showModal$.asObservable();\n }\n\n get hideModal$(): Observable<any> {\n return this._hideModal$.asObservable();\n }\n\n get showExtensionModal$(): Observable<boolean> {\n return this._showExtensionModal$.asObservable();\n }\n\n get inputDisabled$(): Observable<boolean> {\n return this._inputDisabled$.asObservable();\n }\n\n get refresh$(): Observable<any> {\n return this._refresh$.asObservable();\n }\n\n get selectedInstance$(): Observable<ConnectorInstance> {\n return this._selectedInstance$.asObservable();\n }\n\n get lastConfigIdAdded$(): Observable<string> {\n return this._lastConfigIdAdded$.asObservable();\n }\n\n get selectedConnector$(): Observable<ConnectorType> {\n return this._selectedConnector$.asObservable();\n }\n\n get connectorTypes$(): Observable<Array<ConnectorType>> {\n return this._connectorTypes$.asObservable();\n }\n\n get saveButtonDisabled$(): Observable<boolean> {\n return this._saveButtonDisabled$.asObservable();\n }\n\n get save$(): Observable<any> {\n return this._save$.asObservable();\n }\n\n get modalType$(): Observable<ConnectorModal> {\n return this._modalType$.asObservable();\n }\n\n get delete$(): Observable<any> {\n return this._delete$.asObservable();\n }\n\n get hideModalSaveButton$(): Observable<boolean> {\n return this._hideModalSaveButton$.asObservable();\n }\n\n showModal(): void {\n this._showModal$.next(null);\n }\n\n hideModal(): void {\n this._hideModal$.next(null);\n }\n\n showExtensionModal(): void {\n this._showExtensionModal$.next(true);\n }\n\n hideExtensionModal(): void {\n this._showExtensionModal$.next(false);\n }\n\n disableInput(): void {\n this._inputDisabled$.next(true);\n }\n\n enableInput(): void {\n this._inputDisabled$.next(false);\n }\n\n refresh(): void {\n this._refresh$.next(null);\n }\n\n setConnectorInstance(instance: ConnectorInstance): void {\n this._selectedInstance$.next(instance);\n }\n\n setLastConfigIdAdded(id: string): void {\n this._lastConfigIdAdded$.next(id);\n }\n\n clearLastConfigIdAdded(): void {\n this._lastConfigIdAdded$.next('');\n }\n\n setSelectedConnectorType(connectorType: ConnectorType): void {\n this._selectedConnector$.next(connectorType);\n }\n\n clearSelectedConnector(): void {\n this._selectedConnector$.next(undefined);\n }\n\n setConnectorTypes(connectorTypes: Array<ConnectorType>): void {\n this._connectorTypes$.next(connectorTypes);\n }\n\n enableSaveButton(): void {\n this._saveButtonDisabled$.next(false);\n }\n\n disableSaveButton(): void {\n this._saveButtonDisabled$.next(true);\n }\n\n save(): void {\n this._saveButtonDisabled$.pipe(take(1)).subscribe(saveButtonDisabled => {\n if (!saveButtonDisabled) {\n this._save$.next(null);\n }\n });\n }\n\n setModalType(type: ConnectorModal): void {\n this._modalType$.next(type);\n }\n\n delete(): void {\n this._delete$.next(null);\n }\n\n hideModalSaveButton(): void {\n this._hideModalSaveButton$.next(true);\n }\n\n showModalSaveButton(): void {\n this._hideModalSaveButton$.next(false);\n }\n}\n","/*\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {Component, OnDestroy, OnInit} from '@angular/core';\nimport {combineLatest, Subscription} from 'rxjs';\nimport {ConnectorType} from '@valtimo/config';\nimport {TranslateService} from '@ngx-translate/core';\nimport {ConnectorManagementService} from '../../services/connector-management/connector-management.service';\nimport {ConnectorManagementStateService} from '../../services/connector-management-state/connector-management-state.service';\n\n/**\n * @deprecated Use the new plugin framework\n */\n@Component({\n selector: 'valtimo-add-connector-select',\n templateUrl: './add-connector-select.component.html',\n styleUrls: ['./add-connector-select.component.scss'],\n})\nexport class AddConnectorSelectComponent implements OnInit, OnDestroy {\n readonly selectedConnector$ = this.stateService.selectedConnector$;\n readonly disabled$ = this.stateService.inputDisabled$;\n readonly connectorTypes$ = this.stateService.connectorTypes$;\n\n private refreshSubscription!: Subscription;\n\n constructor(\n private readonly connectorManagementService: ConnectorManagementService,\n private readonly stateService: ConnectorManagementStateService,\n private readonly translateService: TranslateService\n ) {}\n\n ngOnInit(): void {\n this.openRefreshSubscription();\n this.getConnectorTypes();\n }\n\n ngOnDestroy(): void {\n this.refreshSubscription?.unsubscribe();\n }\n\n selectConnector(connectorType: ConnectorType): void {\n this.stateService.setSelectedConnectorType(connectorType);\n }\n\n deselectConnector(): void {\n this.stateService.clearSelectedConnector();\n }\n\n private getConnectorTypes(): void {\n this.connectorManagementService.getConnectorTypes().subscribe(connectorTypes => {\n this.stateService.setConnectorTypes(connectorTypes);\n });\n }\n\n private openRefreshSubscription(): void {\n this.refreshSubscription = combineLatest([\n this.stateService.showModal$,\n this.stateService.refresh$,\n ]).subscribe(() => {\n this.deselectConnector();\n });\n }\n}\n","<!--\n ~ Copyright 2015-2024 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<ng-container *ngIf=\"connectorTypes$ | async as connectorTypes; else loading\">\n <div class=\"connector-type__grid\">\n <div class=\"connector-type__item\" *ngFor=\"let connectorType of connectorTypes\">\n <v-card\n [titleTranslationKey]=\"'connector.' + connectorType.name + '.title'\"\n [descriptionTranslationKey]=\"'connector.' + connectorType.name + '.description'\"\n [selectable]=\"true\"\n [selected]=\"(selectedConnector$ | async)?.name === connectorType.name\"\n [fullHeight]=\"true\"\n (selectEvent)=\"selectConnector(connectorType)\"\n (deselectEvent)=\"deselectConnector()\"\n ></v-card>\n </div>\n </div>\n</ng-container>\n\n<ng-template #loading>\n <div class=\"connector-type__grid\">\n <ng-container *ngTemplateOutlet=\"loadingCard\"></ng-container>\n <ng-container *ngTemplateOutlet=\"loadingCard\"></ng-container>\n <ng-container *ngTemplateOutlet=\"loadingCard\"></ng-container>\n </div>\n</ng-template>\n\n<ng-template #loadingCard>\n <div class=\"connector-type__item\">\n <v-card [loading]=\"true\" [loadingDescription]=\"true\" [loadingTitle]=\"true\"></v-card>\n </div>\n</ng-template>\n","/*\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {Component, EventEmitter, Input, OnDestroy, OnInit, Output} from '@angular/core';\nimport {ConnectorPropertyEditField, ConnectorPropertyValueType} from '@valtimo/config';\nimport {BehaviorSubject, combineLatest, Subscription} from 'rxjs';\nimport {map, take} from 'rxjs/operators';\n\n/**\n * @deprecated Use the new plugin framework\n */\n@Component({\n selector: 'valtimo-multi-value-connector-property',\n templateUrl: './multi-value-connector-property.component.html',\n styleUrls: ['./multi-value-connector-property.component.scss'],\n})\nexport class MultiValueConnectorPropertyComponent implements OnInit, OnDestroy {\n @Input() editField: ConnectorPropertyEditField;\n @Input() disabled!: boolean;\n @Input() defaultValue!: ConnectorPropertyValueType;\n\n @Output() valuesSet = new EventEmitter<{editFieldKey: string; values: Array<string | number>}>();\n\n readonly amountOfValues$ = new BehaviorSubject<Array<null>>([null]);\n\n readonly removeButtonDisabled$ = this.amountOfValues$.pipe(\n map(amountOfValues => amountOfValues.length === 1)\n );\n\n readonly values$ = new BehaviorSubject<{[key: number]: number | string}>({});\n\n readonly addButtonDisabled$ = combineLatest([this.values$, this.amountOfValues$]).pipe(\n map(([values, amountOfValues]) => {\n const objectValues = Object.values(values);\n const validObjectValues = objectValues.filter(value => value === 0 || value);\n\n return amountOfValues.length !== validObjectValues.length;\n })\n );\n\n private valuesSubscription!: Subscription;\n\n ngOnInit(): void {\n this.openValuesSubscription();\n this.setDefaults();\n }\n\n ngOnDestroy(): void {\n this.valuesSubscription?.unsubscribe();\n }\n\n onValueChange(\n value: string | number,\n editField: ConnectorPropertyEditField,\n index: number\n ): void {\n this.values$.pipe(take(1)).subscribe(values => {\n this.values$.next({\n ...values,\n [index]:\n editField.editType === 'string[]'\n ? (value as string).trim()\n : parseInt(value as string, 10),\n });\n });\n }\n\n addRow(): void {\n this.amountOfValues$.pipe(take(1)).subscribe(amountOfValues => {\n this.amountOfValues$.next([...amountOfValues, null]);\n });\n }\n\n removeRow(): void {\n combineLatest([this.values$, this.amountOfValues$])\n .pipe(take(1))\n .subscribe(([values, amountOfValues]) => {\n const lastValueIndex = amountOfValues.length - 1;\n const valuesCopy = {...values};\n\n delete valuesCopy[lastValueIndex];\n\n this.values$.next(valuesCopy);\n this.amountOfValues$.next(amountOfValues.filter((curr, index) => index !== lastValueIndex));\n });\n }\n\n private openValuesSubscription(): void {\n this.valuesSubscription = this.values$.subscribe(values => {\n this.valuesSet.emit({\n editFieldKey: this.editField.key,\n values: Object.values(values).filter(value => value === 0 || value),\n });\n });\n }\n\n private setDefaults(): void {\n const defaultValue = this.defaultValue as Array<any>;\n const validValues =\n Array.isArray(defaultValue) && defaultValue.filter(value => value === 0 || value);\n\n if (validValues && validValues.length > 0) {\n const valuesObject = {};\n\n validValues.forEach((value, index) => {\n valuesObject[index] = value;\n });\n\n this.values$.next(valuesObject);\n this.amountOfValues$.next(validValues.map(() => null));\n }\n }\n}\n","<!--\n ~ Copyright 2015-2024 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<div\n class=\"form-group row\"\n *ngIf=\"{amountOfValues: amountOfValues$ | async, values: values$ | async} as obs\"\n>\n <label class=\"col-3 col-form-label text-sm-right\">\n {{ 'connectorManagement.inputLabels.' + editField.key | translate }}\n </label>\n <div class=\"col-7\">\n <ng-container *ngFor=\"let value of obs.amountOfValues; let index = index\">\n <ng-container\n *ngTemplateOutlet=\"input; context: {index: index, disabled: disabled, values: obs.values}\"\n >\n </ng-container>\n </ng-container>\n <ng-container *ngTemplateOutlet=\"buttons; context: {disabled: disabled}\"></ng-container>\n </div>\n</div>\n\n<ng-template #input let-index=\"index\" let-disabled=\"disabled\" let-values=\"values\">\n <input\n *ngIf=\"editField.editType === 'string[]'\"\n class=\"form-control mb-2\"\n type=\"text\"\n (input)=\"onValueChange($event.target.value, editField, index)\"\n [disabled]=\"disabled\"\n [value]=\"defaultValue && values[index] ? values[index] : ''\"\n />\n <input\n *ngIf=\"editField.editType === 'number[]'\"\n class=\"form-control mb-2\"\n type=\"number\"\n step=\"1\"\n min=\"0\"\n oninput=\"validity.valid||(value='');\"\n (input)=\"onValueChange($event.target.value, editField, index)\"\n [disabled]=\"disabled\"\n [value]=\"defaultValue && values[index] ? values[index] : ''\"\n />\n</ng-template>\n\n<ng-template #buttons let-disabled=\"disabled\">\n <div class=\"button-container mt-1\">\n <button\n class=\"btn btn-danger btn-space btn-sm\"\n (click)=\"removeRow()\"\n [disabled]=\"disabled || (removeButtonDisabled$ | async)\"\n >\n <i class=\"icon mdi mdi-delete mr-1\"></i>\n {{ 'connectorManagement.removeValue' | translate }}\n </button>\n <button\n class=\"btn btn-secondary btn-space mr-0 btn-sm\"\n (click)=\"addRow()\"\n [disabled]=\"disabled || (addButtonDisabled$ | async)\"\n >\n <i class=\"icon mdi mdi-plus mr-1\"></i>\n {{ 'connectorManagement.addValue' | translate }}\n </button>\n </div>\n</ng-template>\n","/*\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {Component, EventEmitter, Input, OnChanges, OnDestroy, OnInit, Output} from '@angular/core';\nimport {\n ConnectorProperties,\n ConnectorPropertyEditField,\n ConnectorPropertyValueType,\n} from '@valtimo/config';\nimport {BehaviorSubject, combineLatest, Observable, Subscription} from 'rxjs';\nimport {map, take} from 'rxjs/operators';\nimport {cloneDeep, get, set} from 'lodash';\nimport {ConnectorManagementStateService} from '../../services/connector-management-state/connector-management-state.service';\n\n/**\n * @deprecated Use the new plugin framework\n */\n@Component({\n selector: 'valtimo-edit-connector-properties',\n templateUrl: './edit-connector-properties.component.html',\n styleUrls: ['./edit-connector-properties.component.scss'],\n})\nexport class EditConnectorPropertiesComponent implements OnInit, OnChanges, OnDestroy {\n @Input() properties: ConnectorProperties;\n @Input() withDefaults = false;\n @Input() showDeleteButton = false;\n @Input() showSaveButton = true;\n @Input() defaultName!: string;\n\n @Output() propertiesSave = new EventEmitter<{properties: ConnectorProperties; name: string}>();\n @Output() connectorDelete = new EventEmitter<any>();\n\n readonly disabled$!: Observable<boolean>;\n\n readonly modifiedProperties$ = new BehaviorSubject<ConnectorProperties>(undefined);\n\n readonly editFields$ = new BehaviorSubject<Array<ConnectorPropertyEditField>>([]);\n\n readonly connectorName$ = new BehaviorSubject<string>('');\n\n readonly saveButtonDisabled$ = this.stateService.saveButtonDisabled$;\n\n private saveButtonDisabledSubscription!: Subscription;\n private saveSubscription!: Subscription;\n private deleteSubscription!: Subscription;\n\n constructor(private readonly stateService: ConnectorManagementStateService) {\n this.disabled$ = this.stateService.inputDisabled$;\n }\n\n ngOnInit(): void {\n this.setEditFields();\n this.setName();\n this.openSaveButtonDisabledSubscription();\n this.openSaveSubscription();\n this.openDeleteSubscription();\n this.stateService.showModalSaveButton();\n }\n\n ngOnChanges(): void {\n this.setEditFields();\n this.setName();\n }\n\n ngOnDestroy(): void {\n this.saveButtonDisabledSubscription?.unsubscribe();\n this.saveSubscription?.unsubscribe();\n this.deleteSubscription?.unsubscribe();\n }\n\n multiFieldValuesSet(event: {editFieldKey: string; values: Array<string> | Array<number>}): void {\n this.modifiedProperties$.pipe(take(1)).subscribe(properties => {\n set(properties, event.editFieldKey, event.values);\n this.modifiedProperties$.next(properties);\n });\n }\n\n onSingleValueChange(value: any, editField: ConnectorPropertyEditField): void {\n this.modifiedProperties$.pipe(take(1)).subscribe(properties => {\n set(\n properties,\n editField.key,\n editField.editType === 'string' ? value.trim() : parseInt(value, 10)\n );\n this.modifiedProperties$.next(properties);\n });\n }\n\n onNameValueChange(value: string): void {\n this.connectorName$.next(value.trim());\n }\n\n onSave(): void {\n this.stateService.disableInput();\n\n combineLatest([this.modifiedProperties$, this.connectorName$])\n .pipe(take(1))\n .subscribe(([properties, name]) => {\n this.propertiesSave.emit({properties, name});\n });\n }\n\n onDelete(): void {\n this.stateService.disableInput();\n this.connectorDelete.emit();\n }\n\n private setName(): void {\n if (this.withDefaults && this.defaultName) {\n this.connectorName$.next(this.defaultName);\n } else {\n this.connectorName$.next('');\n }\n }\n\n private setModifiedProperties(editFields: Array<ConnectorPropertyEditField>): void {\n const propertiesCopy = cloneDeep(this.properties);\n\n if (!this.withDefaults) {\n editFields.forEach(editField => {\n set(propertiesCopy, editField.key, undefined);\n });\n }\n\n this.modifiedProperties$.next(propertiesCopy);\n }\n\n private setEditFields(): void {\n const editFields: Array<ConnectorPropertyEditField> = [];\n const keysToFilter = ['className'];\n\n const handlePropertyLevel = (propertyLevel: ConnectorProperties, previousKeys: string) => {\n const propertyLevelKeys = Object.keys(propertyLevel).filter(\n key => !keysToFilter.includes(key)\n );\n\n propertyLevelKeys.forEach(key => {\n const propertyValue = propertyLevel[key];\n const baseEditField = {\n key: previousKeys + key,\n ...(this.withDefaults && {defaultValue: propertyValue as ConnectorPropertyValueType}),\n };\n\n if (typeof propertyValue === 'number') {\n editFields.push({...baseEditField, editType: 'number'});\n } else if (Array.isArray(propertyValue)) {\n if (propertyValue[0] && typeof propertyValue[0] === 'number') {\n editFields.push({...baseEditField, editType: 'number[]'});\n } else {\n editFields.push({...baseEditField, editType: 'string[]'});\n }\n } else if (typeof propertyValue === 'string') {\n editFields.push({...baseEditField, editType: 'string'});\n } else if (typeof propertyValue === 'object') {\n handlePropertyLevel(propertyValue, `${previousKeys}${key}.`);\n }\n });\n };\n\n handlePropertyLevel(this.properties, '');\n\n this.editFields$.next(editFields);\n this.setModifiedProperties(editFields);\n }\n\n private openSaveButtonDisabledSubscription(): void {\n this.saveButtonDisabledSubscription = combineLatest([\n this.editFields$,\n this.modifiedProperties$,\n this.connectorName$,\n ])\n .pipe(\n map(([editFields, modifiedProperties, connectorName]) => {\n const values = editFields.map(field => get(modifiedProperties, field.key));\n const validValues = values.filter(value =>\n Array.isArray(value) ? value.length > 0 : value === 0 || value\n );\n const invalidProperties = editFields.length !== validValues.length || !connectorName;\n\n if (invalidProperties) {\n this.stateService.disableSaveButton();\n } else {\n this.stateService.enableSaveButton();\n }\n })\n )\n .subscribe();\n }\n\n private openSaveSubscription(): void {\n this.saveSubscription = this.stateService.save$.subscribe(() => {\n this.onSave();\n });\n }\n\n private openDeleteSubscription(): void {\n this.deleteSubscription = this.stateService.delete$.subscribe(() => {\n this.onDelete();\n });\n }\n}\n","<!--\n ~ Copyright 2015-2024 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<div\n class=\"edit-fields\"\n *ngIf=\"{editFields: editFields$ | async, disabled: disabled$ | async} as obs\"\n>\n <ng-container *ngTemplateOutlet=\"nameInput; context: {disabled: obs.disabled}\"></ng-container>\n <ng-container *ngFor=\"let editField of obs.editFields\">\n <ng-container *ngIf=\"editField.editType === 'string' || editField.editType === 'number'\">\n <ng-container\n *ngTemplateOutlet=\"singleInput; context: {editField: editField, disabled: obs.disabled}\"\n ></ng-container>\n </ng-container>\n <ng-container *ngIf=\"editField.editType === 'string[]' || editField.editType === 'number[]'\">\n <valtimo-multi-value-connector-property\n [editField]=\"editField\"\n (valuesSet)=\"multiFieldValuesSet($event)\"\n [disabled]=\"obs.disabled\"\n [defaultValue]=\"withDefaults && editField.defaultValue\"\n >\n </valtimo-multi-value-connector-property>\n </ng-container>\n </ng-container>\n <ng-container *ngTemplateOutlet=\"buttons; context: {disabled: obs.disabled}\"></ng-container>\n</div>\n\n<ng-template #nameInput let-disabled=\"disabled\">\n <v-input\n name=\"name\"\n titleTranslationKey=\"connectorManagement.inputLabels.connectorName\"\n [defaultValue]=\"withDefaults && defaultName ? defaultName : ''\"\n [fullWidth]=\"true\"\n [margin]=\"true\"\n [disabled]=\"disabled\"\n (valueChange)=\"onNameValueChange($event)\"\n ></v-input>\n</ng-template>\n\n<ng-template #singleInput let-editField=\"editField\" let-disabled=\"disabled\">\n <v-input\n *ngIf=\"editField.editType === 'string'\"\n [name]=\"editField.key\"\n [titleTranslationKey]=\"'connectorManagement.inputLabels.' + editField.key\"\n [defaultValue]=\"withDefaults ? editField.defaultValue : ''\"\n [fullWidth]=\"true\"\n [margin]=\"true\"\n [disabled]=\"disabled\"\n (valueChange)=\"onSingleValueChange($event, editField)\"\n ></v-input>\n <v-input\n *ngIf=\"editField.editType === 'number'\"\n [name]=\"editField.key\"\n [titleTranslationKey]=\"'connectorManagement.inputLabels.' + editField.key\"\n [defaultValue]=\"withDefaults ? editField.defaultValue : ''\"\n [fullWidth]=\"true\"\n [margin]=\"true\"\n [disabled]=\"disabled\"\n (valueChange)=\"onSingleValueChange($event, editField)\"\n [step]=\"1\"\n [min]=\"0\"\n ></v-input>\n</ng-template>\n\n<ng-template #buttons let-disabled=\"disabled\">\n <div class=\"border-top mt-3 pt-6\" *ngIf=\"showDeleteButton || showSaveButton\">\n <div class=\"button-container\">\n <button\n *ngIf=\"showSaveButton\"\n class=\"btn btn-primary\"\n [disabled]=\"disabled || (saveButtonDisabled$ | async)\"\n (click)=\"onSave()\"\n >\n <i class=\"icon mdi mdi-save mr-1\"></i>\n {{ 'connectorManagement.save' | translate }}\n </button>\n <button\n *ngIf=\"showDeleteButton\"\n class=\"btn btn-danger btn-space\"\n (click)=\"onDelete()\"\n [disabled]=\"disabled\"\n >\n <i class=\"icon mdi mdi-delete mr-1\"></i>\n {{ 'connectorManagement.remove' | translate }}\n </button>\n </div>\n </div>\n</ng-template>\n","/*\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nexport const editProductAanvragenConnectorForm = {\n display: 'wizard',\n settings: {\n pdf: {\n id: '1ec0f8ee-6685-5d98-a847-26f67b67d6f0',\n src: 'https://files.form.io/pdf/5692b91fd1028f01000407e3/file/1ec0f8ee-6685-5d98-a847-26f67b67d6f0',\n },\n },\n components: [\n {\n title: 'connectorForm.productaanvraag.step0.title',\n breadcrumbClickable: true,\n buttonSettings: {\n previous: true,\n cancel: true,\n next: true,\n },\n navigateOnEnter: false,\n saveOnEnter: false,\n scrollToTop: false,\n collapsible: false,\n key: 'page0',\n type: 'panel',\n label: 'Page 0',\n input: false,\n tableView: false,\n components: [\n {\n label: 'HTML',\n attrs: [\n {\n attr: '',\n value: '',\n },\n ],\n content: 'connectorForm.productaanvraag.step0.tip',\n refreshOnChange: false,\n key: 'html4',\n type: 'htmlelement',\n input: false,\n tableView: false,\n },\n {\n key: 'productAanvraagTypes',\n type: 'editgrid',\n input: true,\n validate: {\n minLength: 1,\n },\n customClass: 'edit-grid-component',\n components: [\n {\n label: 'connectorForm.productaanvraag.step0.typeMapping.productAanvraagType.label',\n tooltip:\n 'connectorForm.productaanvraag.step0.typeMapping.productAanvraagType.tooltip',\n tableView: true,\n validate: {\n required: true,\n },\n key: 'productAanvraagType',\n type: 'textfield',\n input: true,\n },\n {\n label: 'connectorForm.productaanvraag.step0.typeMapping.caseDefinitionKey.label',\n widget: 'choicesjs',\n placeholder:\n 'connectorForm.productaanvraag.step0.typeMapping.caseDefinitionKey.placeholder',\n tableView: true,\n validate: {\n required: true,\n },\n key: 'caseDefinitionKey',\n type: 'select',\n input: true,\n },\n {\n label: 'connectorForm.productaanvraag.step0.typeMapping.processDefinitionKey.label',\n widget: 'choicesjs',\n tableView: true,\n dataSrc: 'custom',\n data: {\n custom: \"values = window['productRequestDefinitions'][row.caseDefinitionKey] || []\",\n },\n dataType: 'string',\n refreshOn: 'row.caseDefinitionKey',\n clearOnRefresh: true,\n key: 'processDefinitionKey',\n type: 'select',\n input: true,\n validate: {\n required: true,\n },\n placeholder:\n 'connectorForm.productaanvraag.step0.typeMapping.processDefinitionKey.placeholder',\n },\n ],\n },\n ],\n },\n {\n title: 'connectorForm.productaanvraag.step1.title',\n breadcrumbClickable: true,\n buttonSettings: {\n previous: true,\n cancel: true,\n next: true,\n },\n navigateOnEnter: false,\n saveOnEnter: false,\n scrollToTop: false,\n collapsible: false,\n key: 'page1',\n type: 'panel',\n label: 'Page 1',\n input: false,\n tableView: false,\n components: [\n {\n label: 'HTML',\n attrs: [\n {\n attr: '',\n value: '',\n },\n ],\n content: 'connectorForm.productaanvraag.step1.tip',\n refreshOnChange: false,\n key: 'html',\n type: 'htmlelement',\n input: false,\n tableView: false,\n },\n {\n title: 'connectorForm.productaanvraag.step1.connectors.panelTitle',\n collapsible: false,\n key: 'connectorFormProductaanvraagStep1ConnectorsPanelTitle',\n type: 'panel',\n label: 'Panel',\n input: false,\n tableView: false,\n components: [\n {\n label:\n 'connectorForm.productaanvraag.step1.connectors.openNotificatieConnector.label',\n widget: 'choicesjs',\n tableView: true,\n dataSrc: 'custom',\n data: {\n custom: \"values = window['openNotificatieConnectorNames'] || []\",\n },\n dataType: 'string',\n clearOnRefresh: true,\n key: 'openNotificatieConnectionName',\n type: 'select',\n input: true,\n validate: {\n required: true,\n },\n placeholder:\n 'connectorForm.productaanvraag.step1.connectors.openNotificatieConnector.placeholder',\n },\n {\n label: 'connectorForm.productaanvraag.step1.connectors.objectsApiConnector.label',\n widget: 'choicesjs',\n tableView: true,\n dataSrc: 'custom',\n data: {\n custom: \"values = window['objectApiConnectorNames'] || []\",\n },\n dataType: 'string',\n clearOnRefresh: true,\n key: 'objectsApiConnectionName',\n type: 'select',\n input: true,\n validate: {\n required: true,\n },\n placeholder:\n 'connectorForm.productaanvraag.step1.connectors.objectsApiConnector.placeholder',\n },\n ],\n },\n ],\n },\n {\n title: 'connectorForm.productaanvraag.step2.title',\n breadcrumbClickable: true,\n buttonSettings: {\n previous: true,\n cancel: true,\n next: true,\n },\n navigateOnEnter: false,\n saveOnEnter: false,\n scrollToTop: false,\n collapsible: false,\n key: 'page2',\n type: 'panel',\n label: 'Page 2',\n input: false,\n tableView: false,\n components: [\n {\n label: 'HTML',\n attrs: [\n {\n attr: '',\n value: '',\n },\n ],\n content: 'connectorForm.productaanvraag.step2.tip',\n refreshOnChange: false,\n key: 'html3',\n type: 'htmlelement',\n input: false,\n tableView: false,\n },\n {\n title: 'connectorForm.productaanvraag.step2.applicant.panelTitle',\n collapsible: false,\n key: 'connectorFormProductaanvraagstep2ApplicantPanelTitle',\n type: 'panel',\n label: 'Panel',\n input: false,\n tableView: false,\n components: [\n {\n label: 'HTML',\n attrs: [\n {\n attr: '',\n value: '',\n },\n ],\n content: 'connectorForm.productaanvraag.step2.applicant.tip',\n refreshOnChange: false,\n key: 'html5',\n type: 'htmlelement',\n input: false,\n tableView: false,\n },\n {\n label: 'connectorForm.productaanvraag.step2.applicant.roleTypeUrl.label',\n tooltip: 'connectorForm.productaanvraag.step2.applicant.roleTypeUrl.tooltip',\n tableView: true,\n validate: {\n required: true,\n },\n key: 'applicantRoleTypeUrl',\n type: 'textfield',\n input: true,\n },\n ],\n },\n ],\n },\n {\n title: 'connectorForm.productaanvraag.step3.title',\n breadcrumbClickable: true,\n buttonSettings: {\n previous: true,\n cancel: true,\n next: true,\n },\n navigateOnEnter: false,\n saveOnEnter: false,\n scrollToTop: false,\n collapsible: false,\n key: 'page3',\n type: 'panel',\n label: 'Page 3',\n input: false,\n tableView: false,\n components: [\n {\n label: 'HTML',\n attrs: [\n {\n attr: '',\n value: '',\n },\n ],\n content: 'connectorForm.productaanvraag.step3.tip',\n refreshOnChange: false,\n key: 'html6',\n type: 'htmlelement',\n input: false,\n tableView: false,\n },\n {\n label: 'connectorForm.productaanvraag.step3.name',\n tableView: true,\n validate: {\n required: true,\n },\n key: 'connectorName',\n type: 'textfield',\n input: true,\n },\n ],\n },\n ],\n};\n","/*\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {Component, EventEmitter, Input, OnChanges, OnDestroy, OnInit, Output} from '@angular/core';\nimport {editProductAanvragenConnectorForm} from './edit-product-aanvragen-connector.form';\nimport {FormMappingService, FormTranslationService} from '@valtimo/form';\nimport {DocumentDefinition, DocumentService} from '@valtimo/document';\nimport {ExtendedComponentSchema, FormioForm, FormioRefreshValue} from '@formio/angular';\nimport {BehaviorSubject, combineLatest, Subject, Subscription} from 'rxjs';\nimport {ConnectorProperties} from '@valtimo/config';\nimport {FormioOptions} from '@formio/angular/formio.common';\nimport {cloneDeep} from 'lodash';\nimport {TranslateService} from '@ngx-translate/core';\nimport {map, switchMap, tap} from 'rxjs/operators';\nimport {ConnectorManagementService} from '../../services/connector-management/connector-management.service';\nimport {ConnectorManagementStateService} from '../../services/connector-management-state/connector-management-state.service';\n\n/**\n * @deprecated Use the new plugin framework\n */\n@Component({\n selector: 'valtimo-edit-product-aanvragen-connector',\n templateUrl: './edit-product-aanvragen-connector.component.html',\n styleUrls: ['./edit-product-aanvragen-connector.component.scss'],\n})\nexport class EditProductAanvragenConnectorComponent implements OnInit, OnChanges, OnDestroy {\n @Input() properties: ConnectorProperties;\n @Input() defaultName!: string;\n @Input() showDeleteButton = false;\n\n @Output() propertiesSave = new EventEmitter<{properties: ConnectorProperties; name: string}>();\n @Output() connectorDelete = new EventEmitter<any>();\n\n formRefresh$ = new Subject<FormioRefreshValue>();\n formDefinition$ = new BehaviorSubject<FormioForm>(undefined);\n translatedFormDefinition$ = this.formDefinition$.pipe(\n map(definition => this.formTranslationService.translateForm(definition))\n );\n caseDefinitionOptions: Array<{label: string; value: string}> = [];\n processDocumentDefinitionOptions: {[caseDefinitionId: string]: Array<string>} = {};\n\n readonly options: FormioOptions = {\n disableAlerts: true,\n };\n\n private formDefinitionSubscription!: Subscription;\n private translateSubscription!: Subscription;\n private deleteSubscription!: Subscription;\n\n constructor(\n private readonly formTranslationService: FormTranslationService,\n private readonly formMappingService: FormMappingService,\n private readonly documentService: DocumentService,\n private readonly translateService: TranslateService,\n private readonly connectorManagementService: ConnectorManagementService,\n private readonly stateService: ConnectorManagementStateService\n ) {}\n\n ngOnInit(): void {\n window['productRequestDefinitions'] = {};\n this.openFormDefinitionSubscription();\n this.openDeleteSubscription();\n this.formDefinition$.next(editProductAanvragenConnectorForm);\n this.loadConnectorNames();\n this.loadDefinitions();\n this.stateService.hideModalSaveButton();\n }\n\n ngOnChanges(): void {\n this.formDefinition$.next(editProductAanvragenConnectorForm);\n this.loadConnectorNames();\n this.loadDefinitions();\n }\n\n ngOnDestroy(): void {\n this.formDefinitionSubscription?.unsubscribe();\n this.translateSubscription?.unsubscribe();\n this.deleteSubscription?.unsubscribe();\n }\n\n onSubmit(event: any): void {\n const submission = event.data;\n const properties = cloneDeep(this.properties);\n\n properties.objectsApiConnectionName = submission.objectsApiConnectionName;\n properties.openNotificatieConnectionName = submission.openNotificatieConnectionName;\n properties.aanvragerRolTypeUrl = submission.applicantRoleTypeUrl;\n properties.typeMapping = submission.productAanvraagTypes;\n\n this.propertiesSave.emit({properties, name: submission.connectorName});\n }\n\n onDelete(): void {\n this.stateService.disableInput();\n this.connectorDelete.emit();\n }\n\n private openFormDefinitionSubscription(): void {\n this.formDefinitionSubscription = combineLatest([\n this.formDefinition$,\n this.translateService.stream('key'),\n ]).subscribe(([form]) => {\n const translatedForm = this.formTranslationService.translateForm(form);\n this.refreshForm({form: translatedForm});\n });\n }\n\n private prefillForm(): void {\n const properties = cloneDeep(this.properties);\n const submission: {[key: string]: any} = {};\n\n submission.objectsApiConnectionName = properties.objectsApiConnectionName;\n submission.openNotificatieConnectionName = properties.openNotificatieConnectionName;\n submission.applicantRoleTypeUrl = properties.aanvragerRolTypeUrl;\n submission.productAanvraagTypes = properties.typeMapping;\n submission.connectorName = this.defaultName;\n\n this.refreshForm({submission: {data: submission}});\n }\n\n private mapCaseDefinitionKeyComponent = (\n component: ExtendedComponentSchema\n ): ExtendedComponentSchema => {\n if (component.key === 'caseDefinitionKey') {\n return {...component, disabled: false, data: {values: this.caseDefinitionOptions}};\n }\n\n return component;\n };\n\n private refreshForm(refreshValue: FormioRefreshValue): void {\n this.formRefresh$.next(refreshValue);\n }\n\n private loadDefinitions(): void {\n let documentDefinitions: Array<DocumentDefinition>;\n\n this.documentService\n .getAllDefinitions()\n .pipe(\n tap(resDocumentDefinitions => (documentDefinitions = resDocumentDefinitions.content)),\n switchMap(resDocumentDefinitions =>\n combineLatest(\n resDocumentDefinitions.content.map(definition =>\n this.documentService.findProcessDocumentDefinitions(definition.id.name)\n )\n )\n ),\n tap(res => {\n this.caseDefinitionOptions = documentDefinitions.map(documentDefinition => ({\n label: documentDefinition.id.name,\n value: documentDefinition.id.name,\n }));\n\n documentDefinitions.forEach((documentDefinition, index) => {\n this.processDocumentDefinitionOptions[documentDefinition.id.name] = res[index].map(\n processDocumentDefinition => processDocumentDefinition.id.processDefinitionKey\n );\n });\n\n window['productRequestDefinitions'] = this.processDocumentDefinitionOptions;\n\n const definitionWithCaseDefinitionOptions = this.formMappingService.mapComponents(\n this.formDefinition$.getValue(),\n this.mapCaseDefinitionKeyComponent\n );\n\n this.formDefinition$.next(definitionWithCaseDefinitionOptions);\n\n if (this.properties?.aanvragerRolTypeUrl) {\n this.prefillForm();\n }\n })\n )\n .subscribe();\n }\n\n private loadConnectorNames(): void {\n this.connectorManagementService\n .getConnectorTypes()\n .pipe(\n tap(res => {\n res.forEach(connectorType => {\n if (connectorType.name === 'ObjectsApi') {\n this.loadConnectorNamesByType('objectApiConnectorNames', connectorType.id);\n } else if (connectorType.name === 'OpenNotificatie') {\n this.loadConnectorNamesByType('openNotificatieConnectorNames', connectorType.id);\n }\n });\n })\n )\n .subscribe();\n }\n\n private loadConnectorNamesByType(windowKey: string, connectorTypeId: string) {\n this.connectorManagementService\n .getConnectorInstancesByType(connectorTypeId)\n .pipe(map(res => (window[windowKey] = res.content.map(connector => connector.name))))\n .subscribe();\n }\n\n private openDeleteSubscription(): void {\n this.deleteSubscription = this.stateService.delete$.subscribe(() => {\n this.onDelete();\n });\n }\n}\n","<!--\n ~ Copyright 2015-2024 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<div\n *ngIf=\"translatedFormDefinition$ | async as definition\"\n class=\"edit-product-request\"\n [ngClass]=\"{'has-delete': showDeleteButton}\"\n>\n <valtimo-form-io\n [form]=\"definition\"\n [formRefresh$]=\"formRefresh$\"\n [options]=\"options\"\n (submit)=\"onSubmit($event)\"\n >\n </valtimo-form-io>\n\n <button *ngIf=\"showDeleteButton\" class=\"btn btn-danger btn-space\" (click)=\"onDelete()\">\n <i class=\"icon mdi mdi-delete mr-1\"></i>\n {{ 'connectorManagement.remove' | translate }}\n </button>\n</div>\n","/*\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nexport const editTaakConnectorForm = {\n components: [\n {\n label: 'connectorForm.taak.name',\n tableView: false,\n validate: {\n required: true,\n },\n key: 'connectorName',\n type: 'textfield',\n input: true,\n },\n {\n label: 'connectorForm.taak.openNotificatieConnector.label',\n widget: 'choicesjs',\n tableView: false,\n dataSrc: 'custom',\n data: {\n custom: \"values = window['openNotificatieConnectorNames'] || []\",\n },\n dataType: 'string',\n clearOnRefresh: true,\n key: 'openNotificatieConnectionName',\n type: 'select',\n input: true,\n validate: {\n required: true,\n },\n placeholder: 'connectorForm.taak.openNotificatieConnector.placeholder',\n },\n {\n label: 'connectorForm.taak.objectsApiConnector.label',\n widget: 'choicesjs',\n tableView: false,\n dataSrc: 'custom',\n data: {\n custom: \"values = window['objectApiConnectorNames'] || []\",\n },\n dataType: 'string',\n clearOnRefresh: true,\n key: 'objectsApiConnectionName',\n type: 'select',\n input: true,\n validate: {\n required: true,\n },\n placeholder: 'connectorForm.taak.objectsApiConnector.placeholder',\n },\n {\n key: 'submit',\n type: 'button',\n customClass: 'list-inline',\n leftIcon: 'icon mdi mdi-save mt-1',\n input: true,\n label: 'connectorManagement.save',\n tableView: false,\n disableOnInvalid: true,\n },\n ],\n};\n","/*\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {Component, EventEmitter, Input, OnChanges, OnDestroy, OnInit, Output} from '@angular/core';\nimport {editTaakConnectorForm} from './edit-taak-connector.form';\nimport {FormMappingService, FormTranslationService} from '@valtimo/form';\nimport {BehaviorSubject, combineLatest, Subject, Subscription, timer} from 'rxjs';\nimport {ConnectorProperties} from '@valtimo/config';\nimport {FormioForm, FormioRefreshValue} from '@formio/angular';\nimport {FormioOptions} from '@formio/angular/formio.common';\nimport {cloneDeep} from 'lodash';\nimport {TranslateService} from '@ngx-translate/core';\nimport {map, tap} from 'rxjs/operators';\nimport {ConnectorManagementService} from '../../services/connector-management/connector-management.service';\nimport {ConnectorManagementStateService} from '../../services/connector-management-state/connector-management-state.service';\n\n/**\n * @deprecated Use the new plugin framework\n */\n@Component({\n selector: 'valtimo-edit-taak-connector',\n templateUrl: './edit-taak-connector.component.html',\n styleUrls: ['./edit-taak-connector.component.scss'],\n})\nexport class EditTaakConnectorComponent implements OnInit, OnChanges, OnDestroy {\n @Input() properties: ConnectorProperties;\n @Input() defaultName!: string;\n @Input() showDeleteButton = false;\n\n @Output() propertiesSave = new EventEmitter<{properties: ConnectorProperties; name: string}>();\n @Output() connectorDelete = new EventEmitter<any>();\n\n formRefresh$ = new Subject<FormioRefreshValue>();\n formDefinition$ = new BehaviorSubject<FormioForm>(undefined);\n translatedFormDefinition$ = this.formDefinition$.pipe(\n map(definition => this.formTranslationService.translateForm(definition))\n );\n\n readonly options: FormioOptions = {\n disableAlerts: true,\n };\n\n private formDefinitionSubscription!: Subscription;\n private translateSubscription!: Subscription;\n private deleteSubscription!: Subscription;\n\n constructor(\n private readonly formTranslationService: FormTranslationService,\n private readonly formMappingService: FormMappingService,\n private readonly translateService: TranslateService,\n private readonly connectorManagementService: ConnectorManagementService,\n private readonly stateService: ConnectorManagementStateService\n ) {}\n\n ngOnInit(): void {\n this.openFormDefinitionSubscription();\n this.openDeleteSubscription();\n this.formDefinition$.next(editTaakConnectorForm);\n this.loadConnectorNames();\n this.prefillForm();\n this.stateService.hideModalSaveButton();\n }\n\n ngOnChanges(): void {\n this.formDefinition$.next(editTaakConnectorForm);\n this.loadConnectorNames();\n this.prefillForm();\n }\n\n ngOnDestroy(): void {\n this.formDefinitionSubscription?.unsubscribe();\n this.translateSubscription?.unsubscribe();\n this.deleteSubscription?.unsubscribe();\n }\n\n onSubmit(event: any): void {\n const submission = event.data;\n const properties = cloneDeep(this.properties);\n\n properties.objectsApiConnectionName = submission.objectsApiConnectionName;\n properties.openNotificatieConnectionName = submission.openNotificatieConnectionName;\n\n this.propertiesSave.emit({properties, name: submission.connectorName});\n }\n\n onDelete(): void {\n this.stateService.disableInput();\n this.connectorDelete.emit();\n }\n\n private openFormDefinitionSubscription(): void {\n this.formDefinitionSubscription = combineLatest([\n this.formDefinition$,\n this.translateService.stream('key'),\n ]).subscribe(([form]) => {\n const translatedForm = this.formTranslationService.translateForm(form);\n this.refreshForm({form: translatedForm});\n });\n }\n\n private prefillForm(): void {\n timer(100)\n .pipe(\n tap(() => {\n if (this.defaultName !== undefined) {\n const properties = cloneDeep(this.properties);\n const submission: {[key: string]: any} = {};\n\n submission.objectsApiConnectionName = properties.objectsApiConnectionName;\n submission.openNotificatieConnectionName = properties.openNotificatieConnectionName;\n submission.connectorName = this.defaultName;\n\n this.refreshForm({submission: {data: submission}});\n }\n })\n )\n .subscribe();\n }\n\n private refreshForm(refreshValue: FormioRefreshValue): void {\n this.formRefresh$.next(refreshValue);\n }\n\n private loadConnectorNames(): void {\n this.connectorManagementService\n .getConnectorTypes()\n .pipe(\n tap(res => {\n res.forEach(connectorType => {\n if (connectorType.name === 'ObjectsApi') {\n this.loadConnectorNamesByType('objectApiConnectorNames', connectorType.id);\n } else if (connectorType.name === 'OpenNotificatie') {\n this.loadConnectorNamesByType('openNotificatieConnectorNames', connectorType.id);\n }\n });\n })\n )\n .subscribe();\n }\n\n private loadConnectorNamesByType(windowKey: string, connectorTypeId: string) {\n this.connectorManagementService\n .getConnectorInstancesByType(connectorTypeId)\n .pipe(map(res => (window[windowKey] = res.content.map(connector => connector.name))))\n .subscribe();\n }\n\n private openDeleteSubscription(): void {\n this.deleteSubscription = this.stateService.delete$.subscribe(() => {\n this.onDelete();\n });\n }\n}\n","<!--\n ~ Copyright 2015-2024 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<div\n *ngIf=\"translatedFormDefinition$ | async as definition\"\n class=\"edit-taak\"\n [ngClass]=\"{'has-delete': showDeleteButton}\"\n>\n <valtimo-form-io\n [form]=\"definition\"\n [formRefresh$]=\"formRefresh$\"\n [options]=\"options\"\n (submit)=\"onSubmit($event)\"\n >\n </valtimo-form-io>\n\n <button *ngIf=\"showDeleteButton\" class=\"btn btn-danger btn-space\" (click)=\"onDelete()\">\n <i class=\"icon mdi mdi-delete mr-1\"></i>\n {{ 'connectorManagement.remove' | translate }}\n </button>\n</div>\n","/*\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {Component, EventEmitter, Input, Output} from '@angular/core';\nimport {ConnectorProperties} from '@valtimo/config';\n\n/**\n * @deprecated Use the new plugin framework\n */\n@Component({\n selector: 'valtimo-edit-connector-form',\n templateUrl: './edit-connector-form.component.html',\n styleUrls: ['./edit-connector-form.component.scss'],\n})\nexport class EditConnectorFormComponent {\n @Input() properties: ConnectorProperties;\n @Input() withDefaults = false;\n @Input() showDeleteButton = false;\n @Input() showSaveButton = true;\n @Input() defaultName!: string;\n @Input() connectorName: string;\n\n @Output() propertiesSave = new EventEmitter<{properties: ConnectorProperties; name: string}>();\n @Output() connectorDelete = new EventEmitter<any>();\n\n readonly productAanvragenName = 'ProductAanvragen';\n readonly taakName = 'Taak';\n readonly customConnectorNames = [this.productAanvragenName, this.taakName];\n}\n","<!--\n ~ Copyright 2015-2024 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<valtimo-edit-connector-properties\n *ngIf=\"!customConnectorNames.includes(connectorName)\"\n [properties]=\"properties\"\n [withDefaults]=\"withDefaults\"\n [defaultName]=\"defaultName\"\n [showDeleteButton]=\"showDeleteButton\"\n (propertiesSave)=\"propertiesSave.emit($event)\"\n (connectorDelete)=\"connectorDelete.emit()\"\n [showSaveButton]=\"showSaveButton\"\n>\n</valtimo-edit-connector-properties>\n\n<valtimo-edit-product-aanvragen-connector\n *ngIf=\"connectorName === productAanvragenName\"\n [defaultName]=\"defaultName\"\n [properties]=\"properties\"\n [showDeleteButton]=\"showDeleteButton\"\n (propertiesSave)=\"propertiesSave.emit($event)\"\n (connectorDelete)=\"connectorDelete.emit()\"\n>\n</valtimo-edit-product-aanvragen-connector>\n\n<valtimo-edit-taak-connector\n *ngIf=\"connectorName === taakName\"\n [defaultName]=\"defaultName\"\n [properties]=\"properties\"\n [showDeleteButton]=\"showDeleteButton\"\n (propertiesSave)=\"propertiesSave.emit($event)\"\n (connectorDelete)=\"connectorDelete.emit()\"\n>\n</valtimo-edit-taak-connector>\n","/*\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {Component, Input} from '@angular/core';\nimport {ConnectorProperties, ConnectorType} from '@valtimo/config';\nimport {take} from 'rxjs/operators';\nimport {AlertService} from '@valtimo/components';\nimport {TranslateService} from '@ngx-translate/core';\nimport {ConnectorManagementService} from '../../services/connector-management/connector-management.service';\nimport {ConnectorManagementStateService} from '../../services/connector-management-state/connector-management-state.service';\n\n/**\n * @deprecated Use the new plugin framework\n */\n@Component({\n selector: 'valtimo-add-connector-configure',\n templateUrl: './add-connector-configure.component.html',\n styleUrls: ['./add-connector-configure.component.scss'],\n})\nexport class AddConnectorConfigureComponent {\n @Input() showSaveButton = true;\n\n readonly selectedConnector$ = this.stateService.selectedConnector$;\n readonly disabled$ = this.stateService.inputDisabled$;\n readonly connectorTypes$ = this.stateService.connectorTypes$;\n\n constructor(\n private readonly connectorManagementService: ConnectorManagementService,\n private readonly stateService: ConnectorManagementStateService,\n private readonly alertService: AlertService,\n private readonly translateService: TranslateService\n ) {}\n\n selectConnector(connectorType: ConnectorType): void {\n this.stateService.setSelectedConnectorType(connectorType);\n }\n\n onSave(event: {properties: ConnectorProperties; name: string}): void {\n this.stateService.disableInput();\n\n this.selectedConnector$.pipe(take(1)).subscribe(selectedConnectorType => {\n this.connectorManagementService\n .createConnectorInstance({\n name: event.name,\n typeId: selectedConnectorType.id,\n connectorProperties: event.properties,\n })\n .subscribe(\n () => {\n this.alertService.success(\n this.translateService.instant('connectorManagement.messages.addSuccess')\n );\n this.stateService.hideModal();\n this.stateService.enableInput();\n this.stateService.refresh();\n },\n () => {\n this.stateService.enableInput();\n }\n );\n });\n }\n}\n","<!--\n ~ Copyright 2015-2024 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<valtimo-edit-connector-form\n *ngIf=\"selectedConnector$ | async as connector\"\n [connectorName]=\"connector.name\"\n [properties]=\"(selectedConnector$ | async).properties\"\n (propertiesSave)=\"onSave($event)\"\n [showSaveButton]=\"showSaveButton\"\n>\n</valtimo-edit-connector-form>\n","/*\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {Component, Input} from '@angular/core';\nimport {ConnectorInstance, ConnectorProperties} from '@valtimo/config';\nimport {Observable} from 'rxjs';\nimport {take} from 'rxjs/operators';\nimport {AlertService} from '@valtimo/components';\nimport {TranslateService} from '@ngx-translate/core';\nimport {ConnectorManagementService} from '../../services/connector-management/connector-management.service';\nimport {ConnectorManagementStateService} from '../../services/connector-management-state/connector-management-state.service';\n\n/**\n * @deprecated Use the new plugin framework\n */\n@Component({\n selector: 'valtimo-modify-connector',\n templateUrl: './modify-connector.component.html',\n styleUrls: ['./modify-connector.component.scss'],\n})\nexport class ModifyConnectorComponent {\n @Input() showSaveButton = true;\n @Input() showDeleteButton = true;\n\n instance$!: Observable<ConnectorInstance>;\n\n constructor(\n private readonly connectorManagementService: ConnectorManagementService,\n private readonly stateService: ConnectorManagementStateService,\n private readonly alertService: AlertService,\n private readonly translateService: TranslateService\n ) {\n this.instance$ = this.stateService.selectedInstance$;\n }\n\n onSave(event: {properties: ConnectorProperties; name: string}): void {\n this.stateService.disableInput();\n\n this.instance$.pipe(take(1)).subscribe(instance => {\n this.connectorManagementService\n .updateConnectorInstance({\n name: event.name,\n typeId: instance.type.id,\n id: instance.id,\n connectorProperties: event.properties,\n })\n .subscribe(\n () => {\n this.alertService.success(\n this.translateService.instant('connectorManagement.messages.modifySuccess')\n );\n this.stateService.hideModal();\n this.stateService.enableInput();\n this.stateService.refresh();\n },\n () => {\n this.stateService.enableInput();\n }\n );\n });\n }\n\n onDelete(): void {\n this.stateService.disableInput();\n\n this.instance$.pipe(take(1)).subscribe(instance => {\n this.connectorManagementService.deleteConnectorInstance(instance.id).subscribe(\n () => {\n this.alertService.success(\n this.translateService.instant('connectorManagement.messages.deleteSuccess')\n );\n this.stateService.hideModal();\n this.stateService.enableInput();\n this.stateService.refresh();\n },\n () => {\n this.stateService.enableInput();\n }\n );\n });\n }\n}\n","<!--\n ~ Copyright 2015-2024 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<valtimo-edit-connector-form\n *ngIf=\"instance$ | async as instance\"\n [properties]=\"instance.properties\"\n [withDefaults]=\"true\"\n [defaultName]=\"instance.name\"\n [showDeleteButton]=\"showDeleteButton\"\n [connectorName]=\"instance.type.name\"\n [showSaveButton]=\"showSaveButton\"\n (propertiesSave)=\"onSave($event)\"\n (connectorDelete)=\"onDelete()\"\n>\n</valtimo-edit-connector-form>\n","/*\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {AfterViewInit, Component, OnDestroy, ViewChild} from '@angular/core';\nimport {Observable, Subject, Subscription} from 'rxjs';\nimport {ConnectorType} from '@valtimo/config';\nimport {ConnectorManagementStateService} from '../../services/connector-management-state/connector-management-state.service';\nimport {take} from 'rxjs/operators';\nimport {VModalComponent, ModalService} from '@valtimo/components';\n\n/**\n * @deprecated Use the new plugin framework\n */\n@Component({\n selector: 'valtimo-connector-modal',\n templateUrl: './connector-modal.component.html',\n styleUrls: ['./connector-modal.component.scss'],\n})\nexport class ConnectorModalComponent implements AfterViewInit, OnDestroy {\n @ViewChild('connectorCreateModal') connectorCreateModal: VModalComponent;\n @ViewChild('connectorEditModal') connectorEditModal: VModalComponent;\n\n showSubscription!: Subscription;\n hideSubscription!: Subscription;\n\n readonly connectorTypeSelected$: Observable<ConnectorType> = this.stateService.selectedConnector$;\n readonly saveButtonDisabled$: Observable<boolean> = this.stateService.saveButtonDisabled$;\n readonly inputDisabled$: Observable<boolean> = this.stateService.inputDisabled$;\n readonly hideModalSaveButton$: Observable<boolean> = this.stateService.hideModalSaveButton$;\n readonly returnToFirstStepSubject$ = new Subject<boolean>();\n\n constructor(\n private readonly stateService: ConnectorManagementStateService,\n private readonly modalService: ModalService\n ) {}\n\n ngAfterViewInit(): void {\n this.openShowSubscription();\n this.openHideSubscription();\n }\n\n ngOnDestroy(): void {\n this.showSubscription?.unsubscribe();\n this.hideSubscription?.unsubscribe();\n }\n\n hide(): void {\n this.stateService.disableInput();\n this.modalService.closeModal(() => {\n this.returnToFirstStep();\n this.stateService.enableInput();\n this.stateService.clearSelectedConnector();\n });\n }\n\n complete(): void {\n this.stateService.save();\n }\n\n delete(): void {\n this.stateService.delete();\n }\n\n private openShowSubscription(): void {\n this.showSubscription = this.stateService.showModal$.subscribe(() => {\n this.show();\n });\n }\n\n private openHideSubscription(): void {\n this.hideSubscription = this.stateService.hideModal$.subscribe(() => {\n this.hide();\n });\n }\n\n private returnToFirstStep(): void {\n this.returnToFirstStepSubject$.next(true);\n }\n\n private show(): void {\n this.stateService.modalType$.pipe(take(1)).subscribe(modalType => {\n if (modalType === 'add') {\n this.modalService.openModal(this.connectorCreateModal);\n } else if (modalType === 'modify') {\n this.modalService.openModal(this.connectorEditModal);\n }\n });\n }\n}\n","<!--\n ~ Copyright 2015-2024 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<v-modal #connectorEditModal>\n <div role=\"header\">\n <div class=\"edit-connector-title\">\n <v-title [margin]=\"false\">{{ 'connectorManagement.modify' | translate }}</v-title>\n </div>\n </div>\n <div role=\"content\">\n <valtimo-modify-connector\n [showSaveButton]=\"false\"\n [showDeleteButton]=\"false\"\n ></valtimo-modify-connector>\n </div>\n <div role=\"footer\">\n <div class=\"edit-connector-buttons\">\n <v-button\n [disabled]=\"inputDisabled$ | async\"\n (clickEvent)=\"delete()\"\n [mdiIcon]=\"'delete'\"\n type=\"danger\"\n >{{ 'connectorManagement.remove' | translate }}</v-button\n >\n <v-button\n *ngIf=\"(hideModalSaveButton$ | async) === false\"\n [disabled]=\"(saveButtonDisabled$ | async) || (inputDisabled$ | async)\"\n (clickEvent)=\"complete()\"\n [mdiIcon]=\"'check'\"\n type=\"success\"\n >{{ 'connectorManagement.save' | translate }}</v-button\n >\n </div>\n </div>\n</v-modal>\n\n<v-stepper-container\n (completeEvent)=\"complete()\"\n (cancelClickEvent)=\"hide()\"\n [disabled]=\"inputDisabled$ | async\"\n [returnToFirstStepSubject$]=\"returnToFirstStepSubject$\"\n>\n <v-modal #connectorCreateModal (closeEvent)=\"hide()\">\n <div role=\"header\">\n <v-stepper-header></v-stepper-header>\n </div>\n <div role=\"content\">\n <v-stepper-content>\n <v-stepper-step titleTranslationKey=\"addConnectorSteps.step0\">\n <valtimo-add-connector-select></valtimo-add-connector-select>\n </v-stepper-step>\n <v-stepper-step titleTranslationKey=\"addConnectorSteps.step1\">\n <valtimo-add-connector-configure\n [showSaveButton]=\"false\"\n ></valtimo-add-connector-configure>\n </v-stepper-step>\n </v-stepper-content>\n </div>\n <div role=\"footer\">\n <v-stepper-footer>\n <v-stepper-footer-step\n nextButtonTranslationKey=\"addConnectorSteps.step1\"\n [nextButtonEnabled]=\"connectorTypeSelected$ | async\"\n ></v-stepper-footer-step>\n <v-stepper-footer-step\n completeButtonTranslationKey=\"addConnectorSteps.complete\"\n [completeButtonEnabled]=\"(saveButtonDisabled$ | async) === false\"\n [showCompleteButton]=\"(hideModalSaveButton$ | async) === false\"\n ></v-stepper-footer-step>\n </v-stepper-footer>\n </div>\n </v-modal>\n</v-stepper-container>\n","/*\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {Component, OnDestroy} from '@angular/core';\nimport {BehaviorSubject, combineLatest, Observable} from 'rxjs';\nimport {ConnectorInstance} from '@valtimo/config';\nimport {map, switchMap, take, tap} from 'rxjs/operators';\nimport {TranslateService} from '@ngx-translate/core';\nimport {ConnectorManagementService} from '../../services/connector-management/connector-management.service';\nimport {ConnectorManagementStateService} from '../../services/connector-management-state/connector-management-state.service';\nimport {Pagination, TableColumn} from '@valtimo/components';\n\n/**\n * @deprecated Use the new plugin framework\n */\n@Component({\n selector: 'valtimo-connector-management',\n templateUrl: './connector-management.component.html',\n styleUrls: ['./connector-management.component.scss'],\n})\nexport class ConnectorManagementComponent implements OnDestroy {\n readonly loading$ = new BehaviorSubject<boolean>(true);\n\n readonly fields$ = new BehaviorSubject<Array<{key: string; label: string}>>([]);\n\n readonly columns$: Observable<Array<TableColumn>> = this.fields$.pipe(\n map(fields =>\n fields.map(field => ({\n dataKey: field.key,\n labelTranslationKey: field.label,\n }))\n )\n );\n\n readonly currentPageAndSize$ = new BehaviorSubject<Partial<Pagination>>({\n page: 0,\n size: 10,\n });\n\n readonly pageSizes$ = new BehaviorSubject<Partial<Pagination>>({\n collectionSize: 0,\n });\n\n readonly pagination$: Observable<Pagination> = combineLatest([\n this.currentPageAndSize$,\n this.pageSizes$,\n ]).pipe(\n map(\n ([currentPage, sizes]) =>\n ({...currentPage, ...sizes, page: currentPage.page + 1}) as Pagination\n )\n );\n\n readonly connectorInstances$: Observable<Array<ConnectorInstance>> = combineLatest([\n this.currentPageAndSize$,\n this.translateService.stream('key'),\n this.stateService.refresh$,\n ]).pipe(\n tap(() => this.setFields()),\n switchMap(([currentPage]) =>\n combineLatest([\n this.connectorManagementService.getConnectorInstances({\n page: currentPage.page,\n size: currentPage.size,\n }),\n this.connectorManagementService.getConnectorTypes(),\n ])\n ),\n tap(([instanceRes]) => {\n this.pageSizes$.pipe(take(1)).subscribe(sizes => {\n this.pageSizes$.next({...sizes, collectionSize: instanceRes.totalElements});\n });\n }),\n map(([instanceRes, typesRes]) =>\n instanceRes.content.map(instance => ({\n ...instance,\n typeName: typesRes.find(type => type.id === instance.type.id)?.name,\n }))\n ),\n tap(() => this.loading$.next(false))\n );\n\n constructor(\n private readonly connectorManagementService: ConnectorManagementService,\n private readonly translateService: TranslateService,\n private readonly stateService: ConnectorManagementStateService\n ) {}\n\n ngOnDestroy(): void {\n this.stateService.hideModal();\n }\n\n paginationClicked(newPageNumber): void {\n this.currentPageAndSize$.pipe(take(1)).subscribe(currentPage => {\n this.currentPageAndSize$.next({...currentPage, page: newPageNumber - 1});\n });\n }\n\n paginationSet(newPageSize): void {\n if (newPageSize) {\n this.currentPageAndSize$.pipe(take(1)).subscribe(currentPage => {\n this.currentPageAndSize$.next({...currentPage, size: newPageSize});\n });\n }\n }\n\n rowClicked(instance: ConnectorInstance): void {\n this.stateService.setModalType('modify');\n this.stateService.setConnectorInstance(instance);\n this.stateService.showModal();\n }\n\n showAddModal(): void {\n this.stateService.setModalType('add');\n this.stateService.showModal();\n }\n\n private setFields(): void {\n const keys: Array<string> = ['name', 'typeName'];\n this.fields$.next(keys.map(key => ({label: `connectorManagement.labels.${key}`, key})));\n }\n}\n","<!--\n ~ Copyright 2015-2024 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<v-page-container\n *ngIf=\"{\n connectorInstances: connectorInstances$ | async,\n fields: fields$ | async,\n columns: columns$ | async,\n pagination: pagination$ | async,\n loading: loading$ | async,\n } as obs\"\n>\n <v-page-header>\n <v-page-header-introduction>\n <v-paragraph>{{ 'pages.connectors.description' | translate }}</v-paragraph>\n </v-page-header-introduction>\n <v-page-header-actions>\n <v-button\n (clickEvent)=\"showAddModal()\"\n type=\"primary\"\n mdiIcon=\"plus\"\n [disabled]=\"obs.loading\"\n >\n {{ 'connectorManagement.add' | translate }}\n </v-button>\n </v-page-header-actions>\n </v-page-header>\n <v-page-content>\n <v-table\n [loading]=\"obs.loading\"\n [items]=\"obs.connectorInstances\"\n [columns]=\"obs.columns\"\n [showEditButtons]=\"true\"\n [amountOfLoadingRows]=\"2\"\n [collectionSize]=\"obs.pagination.collectionSize\"\n [page]=\"obs.pagination.page\"\n [size]=\"obs.pagination.size\"\n [itemsTranslationKey]=\"'connectorManagement.tableItemsText'\"\n (editButtonClicked)=\"rowClicked($event)\"\n (paginationSizeSet)=\"paginationSet($event)\"\n (paginationPageSet)=\"paginationClicked($event)\"\n ></v-table>\n </v-page-content>\n</v-page-container>\n\n<valtimo-connector-modal></valtimo-connector-modal>\n","/*\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {NgModule} from '@angular/core';\nimport {RouterModule, Routes} from '@angular/router';\nimport {CommonModule} from '@angular/common';\nimport {AuthGuardService} from '@valtimo/security';\nimport {ROLE_ADMIN} from '@valtimo/config';\nimport {ConnectorManagementComponent} from './components/connector-management/connector-management.component';\n\nconst routes: Routes = [\n {\n path: 'connectors',\n component: ConnectorManagementComponent,\n canActivate: [AuthGuardService],\n data: {title: 'Connectors', roles: [ROLE_ADMIN]},\n },\n];\n\n@NgModule({\n declarations: [],\n imports: [CommonModule, RouterModule.forChild(routes)],\n exports: [RouterModule],\n})\nexport class ConnectorManagementRoutingModule {}\n","/*\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {Injectable} from '@angular/core';\nimport {HttpClient} from '@angular/common/http';\nimport {ConfigService} from '@valtimo/config';\nimport {Observable} from 'rxjs';\nimport {\n CreateObjectSyncConfigRequest,\n CreateObjectSyncConfigResult,\n ObjectSyncConfig,\n} from '../../models';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class ObjectApiSyncService {\n private valtimoApiConfig: any;\n\n constructor(\n private http: HttpClient,\n private configService: ConfigService\n ) {\n this.valtimoApiConfig = configService.config.valtimoApi;\n }\n\n getObjectSyncConfigs(documentDefinitionName: string): Observable<Array<ObjectSyncConfig>> {\n return this.http.get<Array<ObjectSyncConfig>>(\n `${this.valtimoApiConfig.endpointUri}v1/object/sync/config`,\n {params: {documentDefinitionName}}\n );\n }\n\n createObjectSyncConfig(\n request: CreateObjectSyncConfigRequest\n ): Observable<CreateObjectSyncConfigResult> {\n return this.http.post<CreateObjectSyncConfigResult>(\n `${this.valtimoApiConfig.endpointUri}v1/object/sync/config`,\n request\n );\n }\n\n modifyObjectSyncConfig(request: ObjectSyncConfig): Observable<CreateObjectSyncConfigResult> {\n return this.http.put<CreateObjectSyncConfigResult>(\n `${this.valtimoApiConfig.endpointUri}v1/object/sync/config`,\n request\n );\n }\n\n deleteObjectSyncConfig(configId: string): Observable<any> {\n return this.http.delete<any>(\n `${this.valtimoApiConfig.endpointUri}v1/object/sync/config/${configId}`\n );\n }\n}\n","/*\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {AfterViewInit, Component, OnDestroy, ViewChild} from '@angular/core';\nimport {AlertService, ModalComponent, Pagination} from '@valtimo/components';\nimport {BehaviorSubject, combineLatest, Observable, Subscription} from 'rxjs';\nimport {map, switchMap, take, tap} from 'rxjs/operators';\nimport {ConnectorInstance} from '@valtimo/config';\nimport {TranslateService} from '@ngx-translate/core';\nimport {ActivatedRoute} from '@angular/router';\nimport {ConnectorManagementService} from '../../services/connector-management/connector-management.service';\nimport {ConnectorManagementStateService} from '../../services/connector-management-state/connector-management-state.service';\nimport {ObjectApiSyncService} from '../../services/object-api-sync/object-api-sync.service';\n\n/**\n * @deprecated Use the new plugin framework\n */\n@Component({\n selector: 'valtimo-connector-link-extension-modal',\n templateUrl: './connector-link-extension-modal.component.html',\n styleUrls: ['./connector-link-extension-modal.component.scss'],\n})\nexport class ConnectorLinkExtensionModalComponent implements AfterViewInit, OnDestroy {\n @ViewChild('modal') modal: ModalComponent;\n\n private showSubscription!: Subscription;\n\n readonly loading$ = new BehaviorSubject<boolean>(true);\n\n readonly fields$ = new BehaviorSubject<Array<{key: string; label: string}>>([]);\n\n readonly currentPageAndSize$ = new BehaviorSubject<Partial<Pagination>>({\n page: 0,\n size: 10,\n });\n\n readonly pageSizes$ = new BehaviorSubject<Partial<Pagination>>({\n collectionSize: 0,\n });\n\n readonly pagination$: Observable<Pagination> = combineLatest([\n this.currentPageAndSize$,\n this.pageSizes$,\n ]).pipe(\n map(\n ([currentPage, sizes]) =>\n ({...currentPage, ...sizes, page: currentPage.page + 1}) as Pagination\n )\n );\n\n readonly connectorInstances$: Observable<Array<ConnectorInstance>> = combineLatest([\n this.currentPageAndSize$,\n this.connectorManagementService.getConnectorTypes(),\n this.translateService.stream('key'),\n this.stateService.refresh$,\n ]).pipe(\n tap(() => this.setFields()),\n switchMap(([currentPage, types]) =>\n this.connectorManagementService.getConnectorInstancesByType(\n types.find(type => type.name.toLowerCase().includes('objectsapi'))?.id,\n {page: currentPage.page, size: currentPage.size}\n )\n ),\n tap(instanceRes => {\n this.pageSizes$.pipe(take(1)).subscribe(sizes => {\n this.pageSizes$.next({...sizes, collectionSize: instanceRes.totalElements});\n });\n }),\n map(res => res.content),\n tap(() => this.loading$.next(false))\n );\n\n readonly noObjectsApiConnectors$ = this.connectorInstances$.pipe(\n map(instances => !instances || instances.length === 0)\n );\n\n readonly disabled$!: Observable<boolean>;\n\n constructor(\n private readonly connectorManagementService: ConnectorManagementService,\n private readonly translateService: TranslateService,\n private readonly stateService: ConnectorManagementStateService,\n private readonly objectApiSyncService: ObjectApiSyncService,\n private readonly route: ActivatedRoute,\n private readonly alertService: AlertService\n ) {\n this.disabled$ = this.stateService.inputDisabled$;\n }\n\n ngAfterViewInit(): void {\n this.showSubscription = this.stateService.showExtensionModal$.subscribe(show => {\n if (show) {\n this.show();\n } else {\n this.hide();\n }\n });\n }\n\n ngOnDestroy(): void {\n this.showSubscription?.unsubscribe();\n }\n\n paginationClicked(newPageNumber): void {\n this.currentPageAndSize$.pipe(take(1)).subscribe(currentPage => {\n this.currentPageAndSize$.next({...currentPage, page: newPageNumber - 1});\n });\n }\n\n paginationSet(newPageSize): void {\n if (newPageSize) {\n this.currentPageAndSize$.pipe(take(1)).subscribe(currentPage => {\n this.currentPageAndSize$.next({...currentPage, size: newPageSize});\n });\n }\n }\n\n rowClicked(instance: ConnectorInstance): void {\n const connectorInstanceId = instance.id;\n const enabled = true;\n const documentDefinitionName = this.route.snapshot.paramMap.get('name');\n const objectTypeUrl = (instance as any).properties?.objectType?.url;\n const splitObjectTypeUrl = objectTypeUrl?.split('/');\n const objectTypeId = splitObjectTypeUrl[splitObjectTypeUrl.length - 1];\n\n this.stateService.disableInput();\n\n this.objectApiSyncService\n .createObjectSyncConfig({connectorInstanceId, enabled, documentDefinitionName, objectTypeId})\n .subscribe(\n res => {\n this.alertService.success(\n this.translateService.instant('connectorManagement.extension.addSyncSuccess')\n );\n this.stateService.hideExtensionModal();\n this.stateService.enableInput();\n this.stateService.refresh();\n this.stateService.setLastConfigIdAdded(res.objectSyncConfig.id);\n },\n () => {\n this.stateService.enableInput();\n }\n );\n }\n\n private setFields(): void {\n const getTranslatedLabel = (key: string) =>\n this.translateService.instant(`connectorManagement.labels.${key}`);\n const keys: Array<string> = ['name'];\n this.fields$.next(keys.map(key => ({label: getTranslatedLabel(key), key})));\n }\n\n private show(): void {\n this.modal.show();\n }\n\n private hide(): void {\n this.modal.hide();\n }\n}\n","<!--\n ~ Copyright 2015-2024 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<valtimo-modal #modal [title]=\"'connectorManagement.extension.buttonText' | translate\">\n <div\n class=\"mt-2\"\n body\n *ngIf=\"{\n connectorInstances: connectorInstances$ | async,\n fields: fields$ | async,\n pagination: pagination$ | async,\n loading: loading$ | async,\n disabled: disabled$ | async,\n noConnectors: noObjectsApiConnectors$ | async,\n } as obs\"\n >\n <div *ngIf=\"obs.loading === false; else loading\" [ngClass]=\"{disabled: obs.disabled}\">\n <ng-container *ngIf=\"!obs.noConnectors; else noConnectors\">\n <p class=\"lead\">{{ 'connectorManagement.extension.clickToSync' | translate }}</p>\n <valtimo-widget>\n <valtimo-list\n [items]=\"obs.connectorInstances\"\n [fields]=\"obs.fields\"\n [header]=\"false\"\n [viewMode]=\"false\"\n [isSearchable]=\"false\"\n [pagination]=\"obs.pagination\"\n paginationIdentifier=\"connectorManagementList\"\n (paginationClicked)=\"paginationClicked($event)\"\n (paginationSet)=\"paginationSet($event)\"\n (rowClicked)=\"rowClicked($event)\"\n >\n <div header>\n <h3 class=\"list-header-title\">{{ 'connectorManagement.title' | translate }}</h3>\n <h5 class=\"list-header-description\">\n {{ 'connectorManagement.subtitle' | translate }}\n </h5>\n </div>\n </valtimo-list>\n </valtimo-widget>\n </ng-container>\n </div>\n </div>\n</valtimo-modal>\n\n<ng-template #loading>\n <valtimo-spinner></valtimo-spinner>\n</ng-template>\n\n<ng-template #noConnectors>\n <p class=\"lead\">{{ 'connectorManagement.extension.noConnectors' | translate }}</p>\n</ng-template>\n","/*\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {Component, OnDestroy} from '@angular/core';\nimport {BehaviorSubject, combineLatest, Observable, of} from 'rxjs';\nimport {catchError, map, switchMap, tap} from 'rxjs/operators';\nimport {TranslateService} from '@ngx-translate/core';\nimport {ActivatedRoute} from '@angular/router';\nimport {AlertService} from '@valtimo/components';\nimport {ObjectSyncConfig} from '../../models';\nimport {ConnectorManagementStateService} from '../../services/connector-management-state/connector-management-state.service';\nimport {ObjectApiSyncService} from '../../services/object-api-sync/object-api-sync.service';\nimport {ConnectorManagementService} from '../../services/connector-management/connector-management.service';\nimport {ConnectorInstance} from '@valtimo/config';\n\n/**\n * @deprecated Use the new plugin framework\n */\n@Component({\n selector: 'valtimo-connector-link-extension',\n templateUrl: './connector-link-extension.component.html',\n styleUrls: ['./connector-link-extension.component.scss'],\n})\nexport class ConnectorLinkExtensionComponent implements OnDestroy {\n readonly loading$ = new BehaviorSubject<boolean>(true);\n\n readonly objectApiSyncConfig$: Observable<ObjectSyncConfig | null> = combineLatest([\n this.route.params,\n this.translateService.stream('key'),\n this.stateService.refresh$,\n ]).pipe(\n switchMap(([params]) => this.objectApiSyncService.getObjectSyncConfigs(params.name)),\n switchMap(configs =>\n combineLatest([\n of(configs),\n ...configs.map(config =>\n this.connectorManagementService\n .getConnectorInstanceById(config.connectorInstanceId)\n .pipe(catchError(() => of('')))\n ),\n ])\n ),\n map(results => {\n const [, ...instances] = results.filter(result => result) as Array<ConnectorInstance>;\n return (results[0] as Array<ObjectSyncConfig>).map(syncConfig => ({\n ...syncConfig,\n title:\n instances.find(instance => instance.id === syncConfig.connectorInstanceId)?.name ||\n 'Objects API',\n }));\n }),\n map(results => (Array.isArray(results) && results.length > 0 ? results[0] : null)),\n tap(() => {\n this.loading$.next(false);\n })\n );\n\n readonly disabled$!: Observable<boolean>;\n\n constructor(\n private readonly stateService: ConnectorManagementStateService,\n private readonly objectApiSyncService: ObjectApiSyncService,\n private readonly translateService: TranslateService,\n private readonly route: ActivatedRoute,\n private readonly alertService: AlertService,\n private readonly connectorManagementService: ConnectorManagementService\n ) {\n this.disabled$ = this.stateService.inputDisabled$;\n }\n\n ngOnDestroy(): void {\n this.stateService.hideExtensionModal();\n }\n\n openModal(): void {\n this.stateService.showExtensionModal();\n }\n\n toggleSync(config: ObjectSyncConfig): void {\n this.stateService.disableInput();\n\n this.objectApiSyncService\n .modifyObjectSyncConfig({...config, enabled: !config.enabled})\n .subscribe(\n () => {\n if (!config.enabled) {\n this.alertService.success(\n this.translateService.instant('connectorManagement.extension.addSyncSuccess')\n );\n } else {\n this.alertService.success(\n this.translateService.instant('connectorManagement.extension.disableSyncSuccess')\n );\n }\n this.stateService.enableInput();\n this.stateService.refresh();\n },\n () => {\n this.stateService.enableInput();\n }\n );\n }\n\n deleteSync(configId: string): void {\n this.stateService.disableInput();\n\n this.objectApiSyncService.deleteObjectSyncConfig(configId).subscribe(\n () => {\n this.alertService.success(\n this.translateService.instant('connectorManagement.extension.deleteSyncSuccess')\n );\n this.stateService.enableInput();\n this.stateService.refresh();\n },\n () => {\n this.stateService.enableInput();\n }\n );\n }\n}\n","<!--\n ~ Copyright 2015-2024 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<h2 class=\"mb-4 mt-6\">{{ 'connectorManagement.extension.title' | translate }}</h2>\n\n<ng-container\n *ngIf=\"{\n syncConfig: objectApiSyncConfig$ | async,\n loading: loading$ | async,\n disabled: disabled$ | async,\n } as obs\"\n>\n <ng-container *ngIf=\"obs.loading === false; else loading\">\n <ng-container *ngIf=\"obs.syncConfig; else addSync\">\n <div class=\"card card-border card-contrast\">\n <div class=\"card-header card-header-contrast card-header-featured\">\n <div>\n {{ obs.syncConfig.title }}\n </div>\n <div class=\"controls\">\n <button\n class=\"btn btn-danger ml-3\"\n [disabled]=\"obs.disabled\"\n (click)=\"deleteSync(obs.syncConfig.id)\"\n >\n <i class=\"icon mdi mdi-delete\"></i>\n </button>\n </div>\n </div>\n <div class=\"card-body\">\n <div class=\"setting-row\">\n {{ 'connectorManagement.autoSync' | translate }}\n <div class=\"controls\">\n <div class=\"switch-button switch-button-success\">\n <input\n type=\"checkbox\"\n [checked]=\"obs.syncConfig.enabled\"\n [disabled]=\"obs.disabled\"\n name=\"sync\"\n id=\"sync\"\n (click)=\"toggleSync(obs.syncConfig)\"\n />\n <span><label for=\"sync\"></label></span>\n </div>\n </div>\n </div>\n </div>\n </div>\n </ng-container>\n </ng-container>\n</ng-container>\n\n<valtimo-connector-link-extension-modal></valtimo-connector-link-extension-modal>\n\n<ng-template #loading>\n <valtimo-spinner></valtimo-spinner>\n</ng-template>\n\n<ng-template #addSync>\n <div class=\"text-right mt-5\">\n <button class=\"btn btn-primary\" (click)=\"openModal()\" [disabled]=\"disabled$ | async\">\n <i class=\"icon mdi mdi-plus mr-1\"></i>\n {{ 'connectorManagement.extension.buttonText' | translate }}\n </button>\n </div>\n</ng-template>\n","/*\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport {NgModule} from '@angular/core';\nimport {ConnectorManagementRoutingModule} from './connector-management-routing';\nimport {CommonModule} from '@angular/common';\nimport {TranslateModule} from '@ngx-translate/core';\nimport {\n FormIoModule,\n ListModule,\n ModalModule,\n SpinnerModule,\n WidgetModule,\n ButtonModule,\n VCardModule,\n InputModule,\n VModalModule,\n PageModule,\n ParagraphModule,\n StepperModule,\n TableModule,\n TitleModule,\n} from '@valtimo/components';\nimport {ConnectorManagementStateService} from './services/connector-management-state/connector-management-state.service';\nimport {ConnectorManagementComponent} from './components/connector-management/connector-management.component';\nimport {ConnectorLinkExtensionModalComponent} from './components/connector-link-extension-modal/connector-link-extension-modal.component';\nimport {AddConnectorSelectComponent} from './components/add-connector-select/add-connector-select.component';\nimport {ModifyConnectorComponent} from './components/modify-connector/modify-connector.component';\nimport {ConnectorModalComponent} from './components/connector-modal/connector-modal.component';\nimport {EditConnectorPropertiesComponent} from './components/edit-connector-properties/edit-connector-properties.component';\nimport {ConnectorLinkExtensionComponent} from './components/connector-link-extension/connector-link-extension.component';\nimport {MultiValueConnectorPropertyComponent} from './components/multi-value-connector-property/multi-value-connector-property.component';\nimport {EditProductAanvragenConnectorComponent} from './components/edit-product-aanvragen-connector/edit-product-aanvragen-connector.component';\nimport {EditConnectorFormComponent} from './components/edit-connector-form/edit-connector-form.component';\nimport {EditTaakConnectorComponent} from './components/edit-taak-connector/edit-taak-connector.component';\nimport {AddConnectorConfigureComponent} from './components/add-connector-configure/add-connector-configure.component';\n\n/**\n * @deprecated Use the new plugin framework\n */\n@NgModule({\n providers: [ConnectorManagementStateService],\n declarations: [\n ConnectorManagementComponent,\n AddConnectorSelectComponent,\n AddConnectorConfigureComponent,\n ConnectorModalComponent,\n ModifyConnectorComponent,\n EditConnectorPropertiesComponent,\n MultiValueConnectorPropertyComponent,\n ConnectorLinkExtensionComponent,\n ConnectorLinkExtensionModalComponent,\n EditProductAanvragenConnectorComponent,\n EditConnectorFormComponent,\n EditTaakConnectorComponent,\n ],\n imports: [\n CommonModule,\n ConnectorManagementRoutingModule,\n TranslateModule,\n WidgetModule,\n ListModule,\n SpinnerModule,\n ModalModule,\n FormIoModule,\n ButtonModule,\n TableModule,\n VModalModule,\n StepperModule,\n VCardModule,\n TitleModule,\n InputModule,\n PageModule,\n ParagraphModule,\n ],\n exports: [\n ConnectorManagementComponent,\n AddConnectorSelectComponent,\n AddConnectorConfigureComponent,\n ConnectorModalComponent,\n ModifyConnectorComponent,\n EditConnectorPropertiesComponent,\n MultiValueConnectorPropertyComponent,\n ConnectorLinkExtensionComponent,\n ConnectorLinkExtensionModalComponent,\n EditProductAanvragenConnectorComponent,\n EditTaakConnectorComponent,\n ],\n})\nexport class ConnectorManagementModule {}\n","/*\n * Copyright 2015-2024 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/*\n * Public API Surface of process-management\n */\n\nexport * from './lib/models';\nexport * from './lib/connector-management.module';\nexport * from './lib/components/connector-link-extension-modal/connector-link-extension-modal.component';\nexport * from './lib/components/connector-link-extension/connector-link-extension.component';\nexport * from './lib/components/add-connector-select/add-connector-select.component';\nexport * from './lib/components/connector-management/connector-management.component';\nexport * from './lib/components/connector-modal/connector-modal.component';\nexport * from './lib/components/edit-connector-properties/edit-connector-properties.component';\nexport * from './lib/components/modify-connector/modify-connector.component';\nexport * from './lib/components/multi-value-connector-property/multi-value-connector-property.component';\nexport * from './lib/services/connector-management/connector-management.service';\nexport * from './lib/services/object-api-sync/object-api-sync.service';\nexport * from './lib/services/connector-management-state/connector-management-state.service';\nexport * from './lib/components/edit-taak-connector/edit-taak-connector.component';\nexport * from './lib/components/edit-product-aanvragen-connector/edit-product-aanvragen-connector.component';\nexport * from './lib/components/add-connector-configure/add-connector-configure.component';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1.ConnectorManagementService","i2.ConnectorManagementStateService","i3","i4","i5","i1","i2","i1.ConnectorManagementStateService","i4.MultiValueConnectorPropertyComponent","i4.ConnectorManagementService","i5.ConnectorManagementStateService","i6","i7","i3.ConnectorManagementService","i4.ConnectorManagementStateService","i2.EditConnectorPropertiesComponent","i3.EditProductAanvragenConnectorComponent","i4.EditTaakConnectorComponent","i6.EditConnectorFormComponent","i4.AddConnectorSelectComponent","i5.AddConnectorConfigureComponent","i6.ModifyConnectorComponent","i3.ConnectorManagementStateService","i6.ConnectorModalComponent","i4.ObjectApiSyncService","i2.ObjectApiSyncService","i6.ConnectorManagementService","i8.ConnectorLinkExtensionModalComponent"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;;;;;;;;;;;;;;AAcG;;ACdH;;;;;;;;;;;;;;AAcG;;ACdH;;;;;;;;;;;;;;AAcG;MAiBU,0BAA0B,CAAA;IAGrC,WAAA,CACU,IAAgB,EAChB,aAA4B,EAAA;QAD5B,IAAA,CAAA,IAAI,GAAJ,IAAI;QACJ,IAAA,CAAA,aAAa,GAAb,aAAa;QAErB,IAAI,CAAC,gBAAgB,GAAG,aAAa,CAAC,MAAM,CAAC,UAAU;IACzD;AAEA,IAAA,qBAAqB,CAAC,MAAY,EAAA;AAChC,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAClB,GAAG,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAA,qBAAA,CAAuB,EAC3D,EAAC,MAAM,EAAC,CACT;IACH;IAEA,2BAA2B,CAAC,MAAc,EAAE,MAAY,EAAA;QACtD,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAClB,CAAA,EAAG,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAA,sBAAA,EAAyB,MAAM,CAAA,CAAE,EACrE,EAAC,MAAM,EAAC,CACT;IACH;AAEA,IAAA,wBAAwB,CAAC,UAAkB,EAAA;AACzC,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAClB,CAAA,EAAG,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAA,iCAAA,EAAoC,UAAU,CAAA,CAAE,CACrF;IACH;IAEA,iBAAiB,GAAA;AACf,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAClB,CAAA,EAAG,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAA,iBAAA,CAAmB,CACxD;IACH;AAEA,IAAA,uBAAuB,CAAC,OAAuC,EAAA;AAC7D,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CACnB,CAAA,EAAG,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAA,qBAAA,CAAuB,EAC3D,OAAO,CACR;IACH;AAEA,IAAA,uBAAuB,CAAC,OAAuC,EAAA;AAC7D,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAClB,CAAA,EAAG,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAA,qBAAA,CAAuB,EAC3D,OAAO,CACR;IACH;AAEA,IAAA,uBAAuB,CAAC,mBAA2B,EAAA;AACjD,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,CACrB,CAAA,EAAG,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAA,sBAAA,EAAyB,mBAAmB,CAAA,CAAE,CACnF;IACH;+GAtDW,0BAA0B,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,aAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAA1B,IAAA,SAAA,IAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,0BAA0B,cAFzB,MAAM,EAAA,CAAA,CAAA;;4FAEP,0BAA0B,EAAA,UAAA,EAAA,CAAA;kBAHtC,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACV,oBAAA,UAAU,EAAE,MAAM;AACnB,iBAAA;;;AC9BD;;;;;;;;;;;;;;AAcG;MAUU,+BAA+B,CAAA;AAH5C,IAAA,WAAA,GAAA;AAImB,QAAA,IAAA,CAAA,WAAW,GAAG,IAAI,OAAO,EAAE;AAC3B,QAAA,IAAA,CAAA,WAAW,GAAG,IAAI,OAAO,EAAE;AAC3B,QAAA,IAAA,CAAA,oBAAoB,GAAG,IAAI,eAAe,CAAU,KAAK,CAAC;AAC1D,QAAA,IAAA,CAAA,eAAe,GAAG,IAAI,eAAe,CAAU,KAAK,CAAC;AACrD,QAAA,IAAA,CAAA,oBAAoB,GAAG,IAAI,eAAe,CAAU,IAAI,CAAC;AACzD,QAAA,IAAA,CAAA,SAAS,GAAG,IAAI,eAAe,CAAO,IAAI,CAAC;AAC3C,QAAA,IAAA,CAAA,MAAM,GAAG,IAAI,OAAO,EAAE;AACtB,QAAA,IAAA,CAAA,kBAAkB,GAAG,IAAI,eAAe,CAAoB,SAAS,CAAC;AACtE,QAAA,IAAA,CAAA,mBAAmB,GAAG,IAAI,eAAe,CAAS,EAAE,CAAC;AACrD,QAAA,IAAA,CAAA,mBAAmB,GAAG,IAAI,eAAe,CAAgB,SAAS,CAAC;AACnE,QAAA,IAAA,CAAA,gBAAgB,GAAG,IAAI,eAAe,CAAuB,SAAS,CAAC;AACvE,QAAA,IAAA,CAAA,WAAW,GAAG,IAAI,eAAe,CAAiB,KAAK,CAAC;AACxD,QAAA,IAAA,CAAA,QAAQ,GAAG,IAAI,OAAO,EAAE;AACxB,QAAA,IAAA,CAAA,qBAAqB,GAAG,IAAI,eAAe,CAAU,KAAK,CAAC;AA6I7E,IAAA;AA3IC,IAAA,IAAI,UAAU,GAAA;AACZ,QAAA,OAAO,IAAI,CAAC,WAAW,CAAC,YAAY,EAAE;IACxC;AAEA,IAAA,IAAI,UAAU,GAAA;AACZ,QAAA,OAAO,IAAI,CAAC,WAAW,CAAC,YAAY,EAAE;IACxC;AAEA,IAAA,IAAI,mBAAmB,GAAA;AACrB,QAAA,OAAO,IAAI,CAAC,oBAAoB,CAAC,YAAY,EAAE;IACjD;AAEA,IAAA,IAAI,cAAc,GAAA;AAChB,QAAA,OAAO,IAAI,CAAC,eAAe,CAAC,YAAY,EAAE;IAC5C;AAEA,IAAA,IAAI,QAAQ,GAAA;AACV,QAAA,OAAO,IAAI,CAAC,SAAS,CAAC,YAAY,EAAE;IACtC;AAEA,IAAA,IAAI,iBAAiB,GAAA;AACnB,QAAA,OAAO,IAAI,CAAC,kBAAkB,CAAC,YAAY,EAAE;IAC/C;AAEA,IAAA,IAAI,kBAAkB,GAAA;AACpB,QAAA,OAAO,IAAI,CAAC,mBAAmB,CAAC,YAAY,EAAE;IAChD;AAEA,IAAA,IAAI,kBAAkB,GAAA;AACpB,QAAA,OAAO,IAAI,CAAC,mBAAmB,CAAC,YAAY,EAAE;IAChD;AAEA,IAAA,IAAI,eAAe,GAAA;AACjB,QAAA,OAAO,IAAI,CAAC,gBAAgB,CAAC,YAAY,EAAE;IAC7C;AAEA,IAAA,IAAI,mBAAmB,GAAA;AACrB,QAAA,OAAO,IAAI,CAAC,oBAAoB,CAAC,YAAY,EAAE;IACjD;AAEA,IAAA,IAAI,KAAK,GAAA;AACP,QAAA,OAAO,IAAI,CAAC,MAAM,CAAC,YAAY,EAAE;IACnC;AAEA,IAAA,IAAI,UAAU,GAAA;AACZ,QAAA,OAAO,IAAI,CAAC,WAAW,CAAC,YAAY,EAAE;IACxC;AAEA,IAAA,IAAI,OAAO,GAAA;AACT,QAAA,OAAO,IAAI,CAAC,QAAQ,CAAC,YAAY,EAAE;IACrC;AAEA,IAAA,IAAI,oBAAoB,GAAA;AACtB,QAAA,OAAO,IAAI,CAAC,qBAAqB,CAAC,YAAY,EAAE;IAClD;IAEA,SAAS,GAAA;AACP,QAAA,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC;IAC7B;IAEA,SAAS,GAAA;AACP,QAAA,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC;IAC7B;IAEA,kBAAkB,GAAA;AAChB,QAAA,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,IAAI,CAAC;IACtC;IAEA,kBAAkB,GAAA;AAChB,QAAA,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,KAAK,CAAC;IACvC;IAEA,YAAY,GAAA;AACV,QAAA,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC;IACjC;IAEA,WAAW,GAAA;AACT,QAAA,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,KAAK,CAAC;IAClC;IAEA,OAAO,GAAA;AACL,QAAA,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC;IAC3B;AAEA,IAAA,oBAAoB,CAAC,QAA2B,EAAA;AAC9C,QAAA,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,QAAQ,CAAC;IACxC;AAEA,IAAA,oBAAoB,CAAC,EAAU,EAAA;AAC7B,QAAA,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,EAAE,CAAC;IACnC;IAEA,sBAAsB,GAAA;AACpB,QAAA,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,EAAE,CAAC;IACnC;AAEA,IAAA,wBAAwB,CAAC,aAA4B,EAAA;AACnD,QAAA,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,aAAa,CAAC;IAC9C;IAEA,sBAAsB,GAAA;AACpB,QAAA,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,SAAS,CAAC;IAC1C;AAEA,IAAA,iBAAiB,CAAC,cAAoC,EAAA;AACpD,QAAA,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,cAAc,CAAC;IAC5C;IAEA,gBAAgB,GAAA;AACd,QAAA,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,KAAK,CAAC;IACvC;IAEA,iBAAiB,GAAA;AACf,QAAA,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,IAAI,CAAC;IACtC;IAEA,IAAI,GAAA;AACF,QAAA,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,kBAAkB,IAAG;YACrE,IAAI,CAAC,kBAAkB,EAAE;AACvB,gBAAA,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC;YACxB;AACF,QAAA,CAAC,CAAC;IACJ;AAEA,IAAA,YAAY,CAAC,IAAoB,EAAA;AAC/B,QAAA,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC;IAC7B;IAEA,MAAM,GAAA;AACJ,QAAA,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC;IAC1B;IAEA,mBAAmB,GAAA;AACjB,QAAA,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,IAAI,CAAC;IACvC;IAEA,mBAAmB,GAAA;AACjB,QAAA,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,KAAK,CAAC;IACxC;+GA1JW,+BAA+B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAA/B,IAAA,SAAA,IAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,+BAA+B,cAF9B,MAAM,EAAA,CAAA,CAAA;;4FAEP,+BAA+B,EAAA,UAAA,EAAA,CAAA;kBAH3C,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACV,oBAAA,UAAU,EAAE,MAAM;AACnB,iBAAA;;;ACvBD;;;;;;;;;;;;;;AAcG;AASH;;AAEG;MAMU,2BAA2B,CAAA;AAOtC,IAAA,WAAA,CACmB,0BAAsD,EACtD,YAA6C,EAC7C,gBAAkC,EAAA;QAFlC,IAAA,CAAA,0BAA0B,GAA1B,0BAA0B;QAC1B,IAAA,CAAA,YAAY,GAAZ,YAAY;QACZ,IAAA,CAAA,gBAAgB,GAAhB,gBAAgB;AAT1B,QAAA,IAAA,CAAA,kBAAkB,GAAG,IAAI,CAAC,YAAY,CAAC,kBAAkB;AACzD,QAAA,IAAA,CAAA,SAAS,GAAG,IAAI,CAAC,YAAY,CAAC,cAAc;AAC5C,QAAA,IAAA,CAAA,eAAe,GAAG,IAAI,CAAC,YAAY,CAAC,eAAe;IAQzD;IAEH,QAAQ,GAAA;QACN,IAAI,CAAC,uBAAuB,EAAE;QAC9B,IAAI,CAAC,iBAAiB,EAAE;IAC1B;IAEA,WAAW,GAAA;AACT,QAAA,IAAI,CAAC,mBAAmB,EAAE,WAAW,EAAE;IACzC;AAEA,IAAA,eAAe,CAAC,aAA4B,EAAA;AAC1C,QAAA,IAAI,CAAC,YAAY,CAAC,wBAAwB,CAAC,aAAa,CAAC;IAC3D;IAEA,iBAAiB,GAAA;AACf,QAAA,IAAI,CAAC,YAAY,CAAC,sBAAsB,EAAE;IAC5C;IAEQ,iBAAiB,GAAA;QACvB,IAAI,CAAC,0BAA0B,CAAC,iBAAiB,EAAE,CAAC,SAAS,CAAC,cAAc,IAAG;AAC7E,YAAA,IAAI,CAAC,YAAY,CAAC,iBAAiB,CAAC,cAAc,CAAC;AACrD,QAAA,CAAC,CAAC;IACJ;IAEQ,uBAAuB,GAAA;AAC7B,QAAA,IAAI,CAAC,mBAAmB,GAAG,aAAa,CAAC;YACvC,IAAI,CAAC,YAAY,CAAC,UAAU;YAC5B,IAAI,CAAC,YAAY,CAAC,QAAQ;AAC3B,SAAA,CAAC,CAAC,SAAS,CAAC,MAAK;YAChB,IAAI,CAAC,iBAAiB,EAAE;AAC1B,QAAA,CAAC,CAAC;IACJ;+GA3CW,2BAA2B,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAA,0BAAA,EAAA,EAAA,EAAA,KAAA,EAAAC,+BAAA,EAAA,EAAA,EAAA,KAAA,EAAAC,IAAA,CAAA,gBAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAA3B,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,2BAA2B,oEC/BxC,+zDA6CA,EAAA,MAAA,EAAA,CAAA,ujCAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,cAAA,EAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,EAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,EAAA,CAAA,gBAAA,EAAA,QAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,CAAA,yBAAA,EAAA,kBAAA,EAAA,0BAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,IAAA,CAAA,cAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,qBAAA,EAAA,OAAA,EAAA,2BAAA,EAAA,aAAA,EAAA,YAAA,EAAA,UAAA,EAAA,YAAA,EAAA,SAAA,EAAA,cAAA,EAAA,oBAAA,CAAA,EAAA,OAAA,EAAA,CAAA,aAAA,EAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAAD,EAAA,CAAA,SAAA,EAAA,IAAA,EAAA,OAAA,EAAA,CAAA,EAAA,CAAA,CAAA;;4FDda,2BAA2B,EAAA,UAAA,EAAA,CAAA;kBALvC,SAAS;+BACE,8BAA8B,EAAA,QAAA,EAAA,+zDAAA,EAAA,MAAA,EAAA,CAAA,ujCAAA,CAAA,EAAA;;;AE3B1C;;;;;;;;;;;;;;AAcG;AAOH;;AAEG;MAMU,oCAAoC,CAAA;AALjD,IAAA,WAAA,GAAA;AAUY,QAAA,IAAA,CAAA,SAAS,GAAG,IAAI,YAAY,EAA0D;QAEvF,IAAA,CAAA,eAAe,GAAG,IAAI,eAAe,CAAc,CAAC,IAAI,CAAC,CAAC;QAE1D,IAAA,CAAA,qBAAqB,GAAG,IAAI,CAAC,eAAe,CAAC,IAAI,CACxD,GAAG,CAAC,cAAc,IAAI,cAAc,CAAC,MAAM,KAAK,CAAC,CAAC,CACnD;AAEQ,QAAA,IAAA,CAAA,OAAO,GAAG,IAAI,eAAe,CAAmC,EAAE,CAAC;QAEnE,IAAA,CAAA,kBAAkB,GAAG,aAAa,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,IAAI,CACpF,GAAG,CAAC,CAAC,CAAC,MAAM,EAAE,cAAc,CAAC,KAAI;YAC/B,MAAM,YAAY,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC;AAC1C,YAAA,MAAM,iBAAiB,GAAG,YAAY,CAAC,MAAM,CAAC,KAAK,IAAI,KAAK,KAAK,CAAC,IAAI,KAAK,CAAC;AAE5E,YAAA,OAAO,cAAc,CAAC,MAAM,KAAK,iBAAiB,CAAC,MAAM;QAC3D,CAAC,CAAC,CACH;AA0EF,IAAA;IAtEC,QAAQ,GAAA;QACN,IAAI,CAAC,sBAAsB,EAAE;QAC7B,IAAI,CAAC,WAAW,EAAE;IACpB;IAEA,WAAW,GAAA;AACT,QAAA,IAAI,CAAC,kBAAkB,EAAE,WAAW,EAAE;IACxC;AAEA,IAAA,aAAa,CACX,KAAsB,EACtB,SAAqC,EACrC,KAAa,EAAA;AAEb,QAAA,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,MAAM,IAAG;AAC5C,YAAA,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC;AAChB,gBAAA,GAAG,MAAM;AACT,gBAAA,CAAC,KAAK,GACJ,SAAS,CAAC,QAAQ,KAAK;AACrB,sBAAG,KAAgB,CAAC,IAAI;AACxB,sBAAE,QAAQ,CAAC,KAAe,EAAE,EAAE,CAAC;AACpC,aAAA,CAAC;AACJ,QAAA,CAAC,CAAC;IACJ;IAEA,MAAM,GAAA;AACJ,QAAA,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,cAAc,IAAG;AAC5D,YAAA,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,GAAG,cAAc,EAAE,IAAI,CAAC,CAAC;AACtD,QAAA,CAAC,CAAC;IACJ;IAEA,SAAS,GAAA;QACP,aAAa,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,eAAe,CAAC;AAC/C,aAAA,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;aACZ,SAAS,CAAC,CAAC,CAAC,MAAM,EAAE,cAAc,CAAC,KAAI;AACtC,YAAA,MAAM,cAAc,GAAG,cAAc,CAAC,MAAM,GAAG,CAAC;AAChD,YAAA,MAAM,UAAU,GAAG,EAAC,GAAG,MAAM,EAAC;AAE9B,YAAA,OAAO,UAAU,CAAC,cAAc,CAAC;AAEjC,YAAA,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC;YAC7B,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,KAAK,KAAK,KAAK,KAAK,cAAc,CAAC,CAAC;AAC7F,QAAA,CAAC,CAAC;IACN;IAEQ,sBAAsB,GAAA;QAC5B,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,MAAM,IAAG;AACxD,YAAA,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;AAClB,gBAAA,YAAY,EAAE,IAAI,CAAC,SAAS,CAAC,GAAG;AAChC,gBAAA,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,KAAK,IAAI,KAAK,KAAK,CAAC,IAAI,KAAK,CAAC;AACpE,aAAA,CAAC;AACJ,QAAA,CAAC,CAAC;IACJ;IAEQ,WAAW,GAAA;AACjB,QAAA,MAAM,YAAY,GAAG,IAAI,CAAC,YAA0B;QACpD,MAAM,WAAW,GACf,KAAK,CAAC,OAAO,CAAC,YAAY,CAAC,IAAI,YAAY,CAAC,MAAM,CAAC,KAAK,IAAI,KAAK,KAAK,CAAC,IAAI,KAAK,CAAC;QAEnF,IAAI,WAAW,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE;YACzC,MAAM,YAAY,GAAG,EAAE;YAEvB,WAAW,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,KAAK,KAAI;AACnC,gBAAA,YAAY,CAAC,KAAK,CAAC,GAAG,KAAK;AAC7B,YAAA,CAAC,CAAC;AAEF,YAAA,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC;AAC/B,YAAA,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,MAAM,IAAI,CAAC,CAAC;QACxD;IACF;+GA/FW,oCAAoC,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAApC,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,oCAAoC,2MC7BjD,mtFA4EA,EAAA,MAAA,EAAA,CAAA,qsBAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAE,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,cAAA,EAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,EAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,EAAA,CAAA,gBAAA,EAAA,QAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,CAAA,yBAAA,EAAA,kBAAA,EAAA,0BAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAAA,EAAA,CAAA,SAAA,EAAA,IAAA,EAAA,OAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAAC,IAAA,CAAA,aAAA,EAAA,IAAA,EAAA,WAAA,EAAA,CAAA,EAAA,CAAA,CAAA;;4FD/Ca,oCAAoC,EAAA,UAAA,EAAA,CAAA;kBALhD,SAAS;+BACE,wCAAwC,EAAA,QAAA,EAAA,mtFAAA,EAAA,MAAA,EAAA,CAAA,qsBAAA,CAAA,EAAA;8BAKzC,SAAS,EAAA,CAAA;sBAAjB;gBACQ,QAAQ,EAAA,CAAA;sBAAhB;gBACQ,YAAY,EAAA,CAAA;sBAApB;gBAES,SAAS,EAAA,CAAA;sBAAlB;;;AElCH;;;;;;;;;;;;;;AAcG;AAaH;;AAEG;MAMU,gCAAgC,CAAA;AAwB3C,IAAA,WAAA,CAA6B,YAA6C,EAAA;QAA7C,IAAA,CAAA,YAAY,GAAZ,YAAY;QAtBhC,IAAA,CAAA,YAAY,GAAG,KAAK;QACpB,IAAA,CAAA,gBAAgB,GAAG,KAAK;QACxB,IAAA,CAAA,cAAc,GAAG,IAAI;AAGpB,QAAA,IAAA,CAAA,cAAc,GAAG,IAAI,YAAY,EAAmD;AACpF,QAAA,IAAA,CAAA,eAAe,GAAG,IAAI,YAAY,EAAO;AAI1C,QAAA,IAAA,CAAA,mBAAmB,GAAG,IAAI,eAAe,CAAsB,SAAS,CAAC;AAEzE,QAAA,IAAA,CAAA,WAAW,GAAG,IAAI,eAAe,CAAoC,EAAE,CAAC;AAExE,QAAA,IAAA,CAAA,cAAc,GAAG,IAAI,eAAe,CAAS,EAAE,CAAC;AAEhD,QAAA,IAAA,CAAA,mBAAmB,GAAG,IAAI,CAAC,YAAY,CAAC,mBAAmB;QAOlE,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,YAAY,CAAC,cAAc;IACnD;IAEA,QAAQ,GAAA;QACN,IAAI,CAAC,aAAa,EAAE;QACpB,IAAI,CAAC,OAAO,EAAE;QACd,IAAI,CAAC,kCAAkC,EAAE;QACzC,IAAI,CAAC,oBAAoB,EAAE;QAC3B,IAAI,CAAC,sBAAsB,EAAE;AAC7B,QAAA,IAAI,CAAC,YAAY,CAAC,mBAAmB,EAAE;IACzC;IAEA,WAAW,GAAA;QACT,IAAI,CAAC,aAAa,EAAE;QACpB,IAAI,CAAC,OAAO,EAAE;IAChB;IAEA,WAAW,GAAA;AACT,QAAA,IAAI,CAAC,8BAA8B,EAAE,WAAW,EAAE;AAClD,QAAA,IAAI,CAAC,gBAAgB,EAAE,WAAW,EAAE;AACpC,QAAA,IAAI,CAAC,kBAAkB,EAAE,WAAW,EAAE;IACxC;AAEA,IAAA,mBAAmB,CAAC,KAAoE,EAAA;AACtF,QAAA,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,UAAU,IAAG;YAC5D,GAAG,CAAC,UAAU,EAAE,KAAK,CAAC,YAAY,EAAE,KAAK,CAAC,MAAM,CAAC;AACjD,YAAA,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,UAAU,CAAC;AAC3C,QAAA,CAAC,CAAC;IACJ;IAEA,mBAAmB,CAAC,KAAU,EAAE,SAAqC,EAAA;AACnE,QAAA,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,UAAU,IAAG;AAC5D,YAAA,GAAG,CACD,UAAU,EACV,SAAS,CAAC,GAAG,EACb,SAAS,CAAC,QAAQ,KAAK,QAAQ,GAAG,KAAK,CAAC,IAAI,EAAE,GAAG,QAAQ,CAAC,KAAK,EAAE,EAAE,CAAC,CACrE;AACD,YAAA,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,UAAU,CAAC;AAC3C,QAAA,CAAC,CAAC;IACJ;AAEA,IAAA,iBAAiB,CAAC,KAAa,EAAA;QAC7B,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;IACxC;IAEA,MAAM,GAAA;AACJ,QAAA,IAAI,CAAC,YAAY,CAAC,YAAY,EAAE;QAEhC,aAAa,CAAC,CAAC,IAAI,CAAC,mBAAmB,EAAE,IAAI,CAAC,cAAc,CAAC;AAC1D,aAAA,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;aACZ,SAAS,CAAC,CAAC,CAAC,UAAU,EAAE,IAAI,CAAC,KAAI;YAChC,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,EAAC,UAAU,EAAE,IAAI,EAAC,CAAC;AAC9C,QAAA,CAAC,CAAC;IACN;IAEA,QAAQ,GAAA;AACN,QAAA,IAAI,CAAC,YAAY,CAAC,YAAY,EAAE;AAChC,QAAA,IAAI,CAAC,eAAe,CAAC,IAAI,EAAE;IAC7B;IAEQ,OAAO,GAAA;QACb,IAAI,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,WAAW,EAAE;YACzC,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC;QAC5C;aAAO;AACL,YAAA,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,CAAC;QAC9B;IACF;AAEQ,IAAA,qBAAqB,CAAC,UAA6C,EAAA;QACzE,MAAM,cAAc,GAAG,SAAS,CAAC,IAAI,CAAC,UAAU,CAAC;AAEjD,QAAA,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE;AACtB,YAAA,UAAU,CAAC,OAAO,CAAC,SAAS,IAAG;gBAC7B,GAAG,CAAC,cAAc,EAAE,SAAS,CAAC,GAAG,EAAE,SAAS,CAAC;AAC/C,YAAA,CAAC,CAAC;QACJ;AAEA,QAAA,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,cAAc,CAAC;IAC/C;IAEQ,aAAa,GAAA;QACnB,MAAM,UAAU,GAAsC,EAAE;AACxD,QAAA,MAAM,YAAY,GAAG,CAAC,WAAW,CAAC;AAElC,QAAA,MAAM,mBAAmB,GAAG,CAAC,aAAkC,EAAE,YAAoB,KAAI;YACvF,MAAM,iBAAiB,GAAG,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,MAAM,CACzD,GAAG,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,GAAG,CAAC,CACnC;AAED,YAAA,iBAAiB,CAAC,OAAO,CAAC,GAAG,IAAG;AAC9B,gBAAA,MAAM,aAAa,GAAG,aAAa,CAAC,GAAG,CAAC;AACxC,gBAAA,MAAM,aAAa,GAAG;oBACpB,GAAG,EAAE,YAAY,GAAG,GAAG;oBACvB,IAAI,IAAI,CAAC,YAAY,IAAI,EAAC,YAAY,EAAE,aAA2C,EAAC,CAAC;iBACtF;AAED,gBAAA,IAAI,OAAO,aAAa,KAAK,QAAQ,EAAE;AACrC,oBAAA,UAAU,CAAC,IAAI,CAAC,EAAC,GAAG,aAAa,EAAE,QAAQ,EAAE,QAAQ,EAAC,CAAC;gBACzD;AAAO,qBAAA,IAAI,KAAK,CAAC,OAAO,CAAC,aAAa,CAAC,EAAE;AACvC,oBAAA,IAAI,aAAa,CAAC,CAAC,CAAC,IAAI,OAAO,aAAa,CAAC,CAAC,CAAC,KAAK,QAAQ,EAAE;AAC5D,wBAAA,UAAU,CAAC,IAAI,CAAC,EAAC,GAAG,aAAa,EAAE,QAAQ,EAAE,UAAU,EAAC,CAAC;oBAC3D;yBAAO;AACL,wBAAA,UAAU,CAAC,IAAI,CAAC,EAAC,GAAG,aAAa,EAAE,QAAQ,EAAE,UAAU,EAAC,CAAC;oBAC3D;gBACF;AAAO,qBAAA,IAAI,OAAO,aAAa,KAAK,QAAQ,EAAE;AAC5C,oBAAA,UAAU,CAAC,IAAI,CAAC,EAAC,GAAG,aAAa,EAAE,QAAQ,EAAE,QAAQ,EAAC,CAAC;gBACzD;AAAO,qBAAA,IAAI,OAAO,aAAa,KAAK,QAAQ,EAAE;oBAC5C,mBAAmB,CAAC,aAAa,EAAE,CAAA,EAAG,YAAY,CAAA,EAAG,GAAG,CAAA,CAAA,CAAG,CAAC;gBAC9D;AACF,YAAA,CAAC,CAAC;AACJ,QAAA,CAAC;AAED,QAAA,mBAAmB,CAAC,IAAI,CAAC,UAAU,EAAE,EAAE,CAAC;AAExC,QAAA,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC;AACjC,QAAA,IAAI,CAAC,qBAAqB,CAAC,UAAU,CAAC;IACxC;IAEQ,kCAAkC,GAAA;AACxC,QAAA,IAAI,CAAC,8BAA8B,GAAG,aAAa,CAAC;AAClD,YAAA,IAAI,CAAC,WAAW;AAChB,YAAA,IAAI,CAAC,mBAAmB;AACxB,YAAA,IAAI,CAAC,cAAc;SACpB;AACE,aAAA,IAAI,CACH,GAAG,CAAC,CAAC,CAAC,UAAU,EAAE,kBAAkB,EAAE,aAAa,CAAC,KAAI;AACtD,YAAA,MAAM,MAAM,GAAG,UAAU,CAAC,GAAG,CAAC,KAAK,IAAI,GAAG,CAAC,kBAAkB,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC;AAC1E,YAAA,MAAM,WAAW,GAAG,MAAM,CAAC,MAAM,CAAC,KAAK,IACrC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC,GAAG,KAAK,KAAK,CAAC,IAAI,KAAK,CAC/D;AACD,YAAA,MAAM,iBAAiB,GAAG,UAAU,CAAC,MAAM,KAAK,WAAW,CAAC,MAAM,IAAI,CAAC,aAAa;YAEpF,IAAI,iBAAiB,EAAE;AACrB,gBAAA,IAAI,CAAC,YAAY,CAAC,iBAAiB,EAAE;YACvC;iBAAO;AACL,gBAAA,IAAI,CAAC,YAAY,CAAC,gBAAgB,EAAE;YACtC;AACF,QAAA,CAAC,CAAC;AAEH,aAAA,SAAS,EAAE;IAChB;IAEQ,oBAAoB,GAAA;AAC1B,QAAA,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,SAAS,CAAC,MAAK;YAC7D,IAAI,CAAC,MAAM,EAAE;AACf,QAAA,CAAC,CAAC;IACJ;IAEQ,sBAAsB,GAAA;AAC5B,QAAA,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,SAAS,CAAC,MAAK;YACjE,IAAI,CAAC,QAAQ,EAAE;AACjB,QAAA,CAAC,CAAC;IACJ;+GAjLW,gCAAgC,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAC,+BAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAhC,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,gCAAgC,yVCnC7C,8xHAqGA,EAAA,MAAA,EAAA,CAAA,guBAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAD,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,cAAA,EAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,EAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,EAAA,CAAA,gBAAA,EAAA,QAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,CAAA,yBAAA,EAAA,kBAAA,EAAA,0BAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAJ,IAAA,CAAA,cAAA,EAAA,QAAA,EAAA,SAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,MAAA,EAAA,OAAA,EAAA,qBAAA,EAAA,cAAA,EAAA,SAAA,EAAA,WAAA,EAAA,QAAA,EAAA,aAAA,EAAA,UAAA,EAAA,MAAA,EAAA,KAAA,EAAA,WAAA,EAAA,SAAA,EAAA,UAAA,EAAA,mBAAA,EAAA,YAAA,EAAA,MAAA,EAAA,QAAA,EAAA,aAAA,EAAA,aAAA,EAAA,YAAA,EAAA,MAAA,CAAA,EAAA,OAAA,EAAA,CAAA,aAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAM,oCAAA,EAAA,QAAA,EAAA,wCAAA,EAAA,MAAA,EAAA,CAAA,WAAA,EAAA,UAAA,EAAA,cAAA,CAAA,EAAA,OAAA,EAAA,CAAA,WAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAAF,EAAA,CAAA,SAAA,EAAA,IAAA,EAAA,OAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAAF,IAAA,CAAA,aAAA,EAAA,IAAA,EAAA,WAAA,EAAA,CAAA,EAAA,CAAA,CAAA;;4FDlEa,gCAAgC,EAAA,UAAA,EAAA,CAAA;kBAL5C,SAAS;+BACE,mCAAmC,EAAA,QAAA,EAAA,8xHAAA,EAAA,MAAA,EAAA,CAAA,guBAAA,CAAA,EAAA;iGAKpC,UAAU,EAAA,CAAA;sBAAlB;gBACQ,YAAY,EAAA,CAAA;sBAApB;gBACQ,gBAAgB,EAAA,CAAA;sBAAxB;gBACQ,cAAc,EAAA,CAAA;sBAAtB;gBACQ,WAAW,EAAA,CAAA;sBAAnB;gBAES,cAAc,EAAA,CAAA;sBAAvB;gBACS,eAAe,EAAA,CAAA;sBAAxB;;;AE3CH;;;;;;;;;;;;;;AAcG;AAEI,MAAM,iCAAiC,GAAG;AAC/C,IAAA,OAAO,EAAE,QAAQ;AACjB,IAAA,QAAQ,EAAE;AACR,QAAA,GAAG,EAAE;AACH,YAAA,EAAE,EAAE,sCAAsC;AAC1C,YAAA,GAAG,EAAE,8FAA8F;AACpG,SAAA;AACF,KAAA;AACD,IAAA,UAAU,EAAE;AACV,QAAA;AACE,YAAA,KAAK,EAAE,2CAA2C;AAClD,YAAA,mBAAmB,EAAE,IAAI;AACzB,YAAA,cAAc,EAAE;AACd,gBAAA,QAAQ,EAAE,IAAI;AACd,gBAAA,MAAM,EAAE,IAAI;AACZ,gBAAA,IAAI,EAAE,IAAI;AACX,aAAA;AACD,YAAA,eAAe,EAAE,KAAK;AACtB,YAAA,WAAW,EAAE,KAAK;AAClB,YAAA,WAAW,EAAE,KAAK;AAClB,YAAA,WAAW,EAAE,KAAK;AAClB,YAAA,GAAG,EAAE,OAAO;AACZ,YAAA,IAAI,EAAE,OAAO;AACb,YAAA,KAAK,EAAE,QAAQ;AACf,YAAA,KAAK,EAAE,KAAK;AACZ,YAAA,SAAS,EAAE,KAAK;AAChB,YAAA,UAAU,EAAE;AACV,gBAAA;AACE,oBAAA,KAAK,EAAE,MAAM;AACb,oBAAA,KAAK,EAAE;AACL,wBAAA;AACE,4BAAA,IAAI,EAAE,EAAE;AACR,4BAAA,KAAK,EAAE,EAAE;AACV,yBAAA;AACF,qBAAA;AACD,oBAAA,OAAO,EAAE,yCAAyC;AAClD,oBAAA,eAAe,EAAE,KAAK;AACtB,oBAAA,GAAG,EAAE,OAAO;AACZ,oBAAA,IAAI,EAAE,aAAa;AACnB,oBAAA,KAAK,EAAE,KAAK;AACZ,oBAAA,SAAS,EAAE,KAAK;AACjB,iBAAA;AACD,gBAAA;AACE,oBAAA,GAAG,EAAE,sBAAsB;AAC3B,oBAAA,IAAI,EAAE,UAAU;AAChB,oBAAA,KAAK,EAAE,IAAI;AACX,oBAAA,QAAQ,EAAE;AACR,wBAAA,SAAS,EAAE,CAAC;AACb,qBAAA;AACD,oBAAA,WAAW,EAAE,qBAAqB;AAClC,oBAAA,UAAU,EAAE;AACV,wBAAA;AACE,4BAAA,KAAK,EAAE,2EAA2E;AAClF,4BAAA,OAAO,EACL,6EAA6E;AAC/E,4BAAA,SAAS,EAAE,IAAI;AACf,4BAAA,QAAQ,EAAE;AACR,gCAAA,QAAQ,EAAE,IAAI;AACf,6BAAA;AACD,4BAAA,GAAG,EAAE,qBAAqB;AAC1B,4BAAA,IAAI,EAAE,WAAW;AACjB,4BAAA,KAAK,EAAE,IAAI;AACZ,yBAAA;AACD,wBAAA;AACE,4BAAA,KAAK,EAAE,yEAAyE;AAChF,4BAAA,MAAM,EAAE,WAAW;AACnB,4BAAA,WAAW,EACT,+EAA+E;AACjF,4BAAA,SAAS,EAAE,IAAI;AACf,4BAAA,QAAQ,EAAE;AACR,gCAAA,QAAQ,EAAE,IAAI;AACf,6BAAA;AACD,4BAAA,GAAG,EAAE,mBAAmB;AACxB,4BAAA,IAAI,EAAE,QAAQ;AACd,4BAAA,KAAK,EAAE,IAAI;AACZ,yBAAA;AACD,wBAAA;AACE,4BAAA,KAAK,EAAE,4EAA4E;AACnF,4BAAA,MAAM,EAAE,WAAW;AACnB,4BAAA,SAAS,EAAE,IAAI;AACf,4BAAA,OAAO,EAAE,QAAQ;AACjB,4BAAA,IAAI,EAAE;AACJ,gCAAA,MAAM,EAAE,2EAA2E;AACpF,6BAAA;AACD,4BAAA,QAAQ,EAAE,QAAQ;AAClB,4BAAA,SAAS,EAAE,uBAAuB;AAClC,4BAAA,cAAc,EAAE,IAAI;AACpB,4BAAA,GAAG,EAAE,sBAAsB;AAC3B,4BAAA,IAAI,EAAE,QAAQ;AACd,4BAAA,KAAK,EAAE,IAAI;AACX,4BAAA,QAAQ,EAAE;AACR,gCAAA,QAAQ,EAAE,IAAI;AACf,6BAAA;AACD,4BAAA,WAAW,EACT,kFAAkF;AACrF,yBAAA;AACF,qBAAA;AACF,iBAAA;AACF,aAAA;AACF,SAAA;AACD,QAAA;AACE,YAAA,KAAK,EAAE,2CAA2C;AAClD,YAAA,mBAAmB,EAAE,IAAI;AACzB,YAAA,cAAc,EAAE;AACd,gBAAA,QAAQ,EAAE,IAAI;AACd,gBAAA,MAAM,EAAE,IAAI;AACZ,gBAAA,IAAI,EAAE,IAAI;AACX,aAAA;AACD,YAAA,eAAe,EAAE,KAAK;AACtB,YAAA,WAAW,EAAE,KAAK;AAClB,YAAA,WAAW,EAAE,KAAK;AAClB,YAAA,WAAW,EAAE,KAAK;AAClB,YAAA,GAAG,EAAE,OAAO;AACZ,YAAA,IAAI,EAAE,OAAO;AACb,YAAA,KAAK,EAAE,QAAQ;AACf,YAAA,KAAK,EAAE,KAAK;AACZ,YAAA,SAAS,EAAE,KAAK;AAChB,YAAA,UAAU,EAAE;AACV,gBAAA;AACE,oBAAA,KAAK,EAAE,MAAM;AACb,oBAAA,KAAK,EAAE;AACL,wBAAA;AACE,4BAAA,IAAI,EAAE,EAAE;AACR,4BAAA,KAAK,EAAE,EAAE;AACV,yBAAA;AACF,qBAAA;AACD,oBAAA,OAAO,EAAE,yCAAyC;AAClD,oBAAA,eAAe,EAAE,KAAK;AACtB,oBAAA,GAAG,EAAE,MAAM;AACX,oBAAA,IAAI,EAAE,aAAa;AACnB,oBAAA,KAAK,EAAE,KAAK;AACZ,oBAAA,SAAS,EAAE,KAAK;AACjB,iBAAA;AACD,gBAAA;AACE,oBAAA,KAAK,EAAE,2DAA2D;AAClE,oBAAA,WAAW,EAAE,KAAK;AAClB,oBAAA,GAAG,EAAE,uDAAuD;AAC5D,oBAAA,IAAI,EAAE,OAAO;AACb,oBAAA,KAAK,EAAE,OAAO;AACd,oBAAA,KAAK,EAAE,KAAK;AACZ,oBAAA,SAAS,EAAE,KAAK;AAChB,oBAAA,UAAU,EAAE;AACV,wBAAA;AACE,4BAAA,KAAK,EACH,+EAA+E;AACjF,4BAAA,MAAM,EAAE,WAAW;AACnB,4BAAA,SAAS,EAAE,IAAI;AACf,4BAAA,OAAO,EAAE,QAAQ;AACjB,4BAAA,IAAI,EAAE;AACJ,gCAAA,MAAM,EAAE,wDAAwD;AACjE,6BAAA;AACD,4BAAA,QAAQ,EAAE,QAAQ;AAClB,4BAAA,cAAc,EAAE,IAAI;AACpB,4BAAA,GAAG,EAAE,+BAA+B;AACpC,4BAAA,IAAI,EAAE,QAAQ;AACd,4BAAA,KAAK,EAAE,IAAI;AACX,4BAAA,QAAQ,EAAE;AACR,gCAAA,QAAQ,EAAE,IAAI;AACf,6BAAA;AACD,4BAAA,WAAW,EACT,qFAAqF;AACxF,yBAAA;AACD,wBAAA;AACE,4BAAA,KAAK,EAAE,0EAA0E;AACjF,4BAAA,MAAM,EAAE,WAAW;AACnB,4BAAA,SAAS,EAAE,IAAI;AACf,4BAAA,OAAO,EAAE,QAAQ;AACjB,4BAAA,IAAI,EAAE;AACJ,gCAAA,MAAM,EAAE,kDAAkD;AAC3D,6BAAA;AACD,4BAAA,QAAQ,EAAE,QAAQ;AAClB,4BAAA,cAAc,EAAE,IAAI;AACpB,4BAAA,GAAG,EAAE,0BAA0B;AAC/B,4BAAA,IAAI,EAAE,QAAQ;AACd,4BAAA,KAAK,EAAE,IAAI;AACX,4BAAA,QAAQ,EAAE;AACR,gCAAA,QAAQ,EAAE,IAAI;AACf,6BAAA;AACD,4BAAA,WAAW,EACT,gFAAgF;AACnF,yBAAA;AACF,qBAAA;AACF,iBAAA;AACF,aAAA;AACF,SAAA;AACD,QAAA;AACE,YAAA,KAAK,EAAE,2CAA2C;AAClD,YAAA,mBAAmB,EAAE,IAAI;AACzB,YAAA,cAAc,EAAE;AACd,gBAAA,QAAQ,EAAE,IAAI;AACd,gBAAA,MAAM,EAAE,IAAI;AACZ,gBAAA,IAAI,EAAE,IAAI;AACX,aAAA;AACD,YAAA,eAAe,EAAE,KAAK;AACtB,YAAA,WAAW,EAAE,KAAK;AAClB,YAAA,WAAW,EAAE,KAAK;AAClB,YAAA,WAAW,EAAE,KAAK;AAClB,YAAA,GAAG,EAAE,OAAO;AACZ,YAAA,IAAI,EAAE,OAAO;AACb,YAAA,KAAK,EAAE,QAAQ;AACf,YAAA,KAAK,EAAE,KAAK;AACZ,YAAA,SAAS,EAAE,KAAK;AAChB,YAAA,UAAU,EAAE;AACV,gBAAA;AACE,oBAAA,KAAK,EAAE,MAAM;AACb,oBAAA,KAAK,EAAE;AACL,wBAAA;AACE,4BAAA,IAAI,EAAE,EAAE;AACR,4BAAA,KAAK,EAAE,EAAE;AACV,yBAAA;AACF,qBAAA;AACD,oBAAA,OAAO,EAAE,yCAAyC;AAClD,oBAAA,eAAe,EAAE,KAAK;AACtB,oBAAA,GAAG,EAAE,OAAO;AACZ,oBAAA,IAAI,EAAE,aAAa;AACnB,oBAAA,KAAK,EAAE,KAAK;AACZ,oBAAA,SAAS,EAAE,KAAK;AACjB,iBAAA;AACD,gBAAA;AACE,oBAAA,KAAK,EAAE,0DAA0D;AACjE,oBAAA,WAAW,EAAE,KAAK;AAClB,oBAAA,GAAG,EAAE,sDAAsD;AAC3D,oBAAA,IAAI,EAAE,OAAO;AACb,oBAAA,KAAK,EAAE,OAAO;AACd,oBAAA,KAAK,EAAE,KAAK;AACZ,oBAAA,SAAS,EAAE,KAAK;AAChB,oBAAA,UAAU,EAAE;AACV,wBAAA;AACE,4BAAA,KAAK,EAAE,MAAM;AACb,4BAAA,KAAK,EAAE;AACL,gCAAA;AACE,oCAAA,IAAI,EAAE,EAAE;AACR,oCAAA,KAAK,EAAE,EAAE;AACV,iCAAA;AACF,6BAAA;AACD,4BAAA,OAAO,EAAE,mDAAmD;AAC5D,4BAAA,eAAe,EAAE,KAAK;AACtB,4BAAA,GAAG,EAAE,OAAO;AACZ,4BAAA,IAAI,EAAE,aAAa;AACnB,4BAAA,KAAK,EAAE,KAAK;AACZ,4BAAA,SAAS,EAAE,KAAK;AACjB,yBAAA;AACD,wBAAA;AACE,4BAAA,KAAK,EAAE,iEAAiE;AACxE,4BAAA,OAAO,EAAE,mEAAmE;AAC5E,4BAAA,SAAS,EAAE,IAAI;AACf,4BAAA,QAAQ,EAAE;AACR,gCAAA,QAAQ,EAAE,IAAI;AACf,6BAAA;AACD,4BAAA,GAAG,EAAE,sBAAsB;AAC3B,4BAAA,IAAI,EAAE,WAAW;AACjB,4BAAA,KAAK,EAAE,IAAI;AACZ,yBAAA;AACF,qBAAA;AACF,iBAAA;AACF,aAAA;AACF,SAAA;AACD,QAAA;AACE,YAAA,KAAK,EAAE,2CAA2C;AAClD,YAAA,mBAAmB,EAAE,IAAI;AACzB,YAAA,cAAc,EAAE;AACd,gBAAA,QAAQ,EAAE,IAAI;AACd,gBAAA,MAAM,EAAE,IAAI;AACZ,gBAAA,IAAI,EAAE,IAAI;AACX,aAAA;AACD,YAAA,eAAe,EAAE,KAAK;AACtB,YAAA,WAAW,EAAE,KAAK;AAClB,YAAA,WAAW,EAAE,KAAK;AAClB,YAAA,WAAW,EAAE,KAAK;AAClB,YAAA,GAAG,EAAE,OAAO;AACZ,YAAA,IAAI,EAAE,OAAO;AACb,YAAA,KAAK,EAAE,QAAQ;AACf,YAAA,KAAK,EAAE,KAAK;AACZ,YAAA,SAAS,EAAE,KAAK;AAChB,YAAA,UAAU,EAAE;AACV,gBAAA;AACE,oBAAA,KAAK,EAAE,MAAM;AACb,oBAAA,KAAK,EAAE;AACL,wBAAA;AACE,4BAAA,IAAI,EAAE,EAAE;AACR,4BAAA,KAAK,EAAE,EAAE;AACV,yBAAA;AACF,qBAAA;AACD,oBAAA,OAAO,EAAE,yCAAyC;AAClD,oBAAA,eAAe,EAAE,KAAK;AACtB,oBAAA,GAAG,EAAE,OAAO;AACZ,oBAAA,IAAI,EAAE,aAAa;AACnB,oBAAA,KAAK,EAAE,KAAK;AACZ,oBAAA,SAAS,EAAE,KAAK;AACjB,iBAAA;AACD,gBAAA;AACE,oBAAA,KAAK,EAAE,0CAA0C;AACjD,oBAAA,SAAS,EAAE,IAAI;AACf,oBAAA,QAAQ,EAAE;AACR,wBAAA,QAAQ,EAAE,IAAI;AACf,qBAAA;AACD,oBAAA,GAAG,EAAE,eAAe;AACpB,oBAAA,IAAI,EAAE,WAAW;AACjB,oBAAA,KAAK,EAAE,IAAI;AACZ,iBAAA;AACF,aAAA;AACF,SAAA;AACF,KAAA;CACF;;AC/TD;;;;;;;;;;;;;;AAcG;AAgBH;;AAEG;MAMU,sCAAsC,CAAA;IAwBjD,WAAA,CACmB,sBAA8C,EAC9C,kBAAsC,EACtC,eAAgC,EAChC,gBAAkC,EAClC,0BAAsD,EACtD,YAA6C,EAAA;QAL7C,IAAA,CAAA,sBAAsB,GAAtB,sBAAsB;QACtB,IAAA,CAAA,kBAAkB,GAAlB,kBAAkB;QAClB,IAAA,CAAA,eAAe,GAAf,eAAe;QACf,IAAA,CAAA,gBAAgB,GAAhB,gBAAgB;QAChB,IAAA,CAAA,0BAA0B,GAA1B,0BAA0B;QAC1B,IAAA,CAAA,YAAY,GAAZ,YAAY;QA3BtB,IAAA,CAAA,gBAAgB,GAAG,KAAK;AAEvB,QAAA,IAAA,CAAA,cAAc,GAAG,IAAI,YAAY,EAAmD;AACpF,QAAA,IAAA,CAAA,eAAe,GAAG,IAAI,YAAY,EAAO;AAEnD,QAAA,IAAA,CAAA,YAAY,GAAG,IAAI,OAAO,EAAsB;AAChD,QAAA,IAAA,CAAA,eAAe,GAAG,IAAI,eAAe,CAAa,SAAS,CAAC;QAC5D,IAAA,CAAA,yBAAyB,GAAG,IAAI,CAAC,eAAe,CAAC,IAAI,CACnD,GAAG,CAAC,UAAU,IAAI,IAAI,CAAC,sBAAsB,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC,CACzE;QACD,IAAA,CAAA,qBAAqB,GAA0C,EAAE;QACjE,IAAA,CAAA,gCAAgC,GAAgD,EAAE;AAEzE,QAAA,IAAA,CAAA,OAAO,GAAkB;AAChC,YAAA,aAAa,EAAE,IAAI;SACpB;AA6EO,QAAA,IAAA,CAAA,6BAA6B,GAAG,CACtC,SAAkC,KACP;AAC3B,YAAA,IAAI,SAAS,CAAC,GAAG,KAAK,mBAAmB,EAAE;AACzC,gBAAA,OAAO,EAAC,GAAG,SAAS,EAAE,QAAQ,EAAE,KAAK,EAAE,IAAI,EAAE,EAAC,MAAM,EAAE,IAAI,CAAC,qBAAqB,EAAC,EAAC;YACpF;AAEA,YAAA,OAAO,SAAS;AAClB,QAAA,CAAC;IAxEE;IAEH,QAAQ,GAAA;AACN,QAAA,MAAM,CAAC,2BAA2B,CAAC,GAAG,EAAE;QACxC,IAAI,CAAC,8BAA8B,EAAE;QACrC,IAAI,CAAC,sBAAsB,EAAE;AAC7B,QAAA,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,iCAAiC,CAAC;QAC5D,IAAI,CAAC,kBAAkB,EAAE;QACzB,IAAI,CAAC,eAAe,EAAE;AACtB,QAAA,IAAI,CAAC,YAAY,CAAC,mBAAmB,EAAE;IACzC;IAEA,WAAW,GAAA;AACT,QAAA,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,iCAAiC,CAAC;QAC5D,IAAI,CAAC,kBAAkB,EAAE;QACzB,IAAI,CAAC,eAAe,EAAE;IACxB;IAEA,WAAW,GAAA;AACT,QAAA,IAAI,CAAC,0BAA0B,EAAE,WAAW,EAAE;AAC9C,QAAA,IAAI,CAAC,qBAAqB,EAAE,WAAW,EAAE;AACzC,QAAA,IAAI,CAAC,kBAAkB,EAAE,WAAW,EAAE;IACxC;AAEA,IAAA,QAAQ,CAAC,KAAU,EAAA;AACjB,QAAA,MAAM,UAAU,GAAG,KAAK,CAAC,IAAI;QAC7B,MAAM,UAAU,GAAG,SAAS,CAAC,IAAI,CAAC,UAAU,CAAC;AAE7C,QAAA,UAAU,CAAC,wBAAwB,GAAG,UAAU,CAAC,wBAAwB;AACzE,QAAA,UAAU,CAAC,6BAA6B,GAAG,UAAU,CAAC,6BAA6B;AACnF,QAAA,UAAU,CAAC,mBAAmB,GAAG,UAAU,CAAC,oBAAoB;AAChE,QAAA,UAAU,CAAC,WAAW,GAAG,UAAU,CAAC,oBAAoB;AAExD,QAAA,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,EAAC,UAAU,EAAE,IAAI,EAAE,UAAU,CAAC,aAAa,EAAC,CAAC;IACxE;IAEA,QAAQ,GAAA;AACN,QAAA,IAAI,CAAC,YAAY,CAAC,YAAY,EAAE;AAChC,QAAA,IAAI,CAAC,eAAe,CAAC,IAAI,EAAE;IAC7B;IAEQ,8BAA8B,GAAA;AACpC,QAAA,IAAI,CAAC,0BAA0B,GAAG,aAAa,CAAC;AAC9C,YAAA,IAAI,CAAC,eAAe;AACpB,YAAA,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,KAAK,CAAC;SACpC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,KAAI;YACtB,MAAM,cAAc,GAAG,IAAI,CAAC,sBAAsB,CAAC,aAAa,CAAC,IAAI,CAAC;YACtE,IAAI,CAAC,WAAW,CAAC,EAAC,IAAI,EAAE,cAAc,EAAC,CAAC;AAC1C,QAAA,CAAC,CAAC;IACJ;IAEQ,WAAW,GAAA;QACjB,MAAM,UAAU,GAAG,SAAS,CAAC,IAAI,CAAC,UAAU,CAAC;QAC7C,MAAM,UAAU,GAAyB,EAAE;AAE3C,QAAA,UAAU,CAAC,wBAAwB,GAAG,UAAU,CAAC,wBAAwB;AACzE,QAAA,UAAU,CAAC,6BAA6B,GAAG,UAAU,CAAC,6BAA6B;AACnF,QAAA,UAAU,CAAC,oBAAoB,GAAG,UAAU,CAAC,mBAAmB;AAChE,QAAA,UAAU,CAAC,oBAAoB,GAAG,UAAU,CAAC,WAAW;AACxD,QAAA,UAAU,CAAC,aAAa,GAAG,IAAI,CAAC,WAAW;AAE3C,QAAA,IAAI,CAAC,WAAW,CAAC,EAAC,UAAU,EAAE,EAAC,IAAI,EAAE,UAAU,EAAC,EAAC,CAAC;IACpD;AAYQ,IAAA,WAAW,CAAC,YAAgC,EAAA;AAClD,QAAA,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,YAAY,CAAC;IACtC;IAEQ,eAAe,GAAA;AACrB,QAAA,IAAI,mBAA8C;AAElD,QAAA,IAAI,CAAC;AACF,aAAA,iBAAiB;aACjB,IAAI,CACH,GAAG,CAAC,sBAAsB,KAAK,mBAAmB,GAAG,sBAAsB,CAAC,OAAO,CAAC,CAAC,EACrF,SAAS,CAAC,sBAAsB,IAC9B,aAAa,CACX,sBAAsB,CAAC,OAAO,CAAC,GAAG,CAAC,UAAU,IAC3C,IAAI,CAAC,eAAe,CAAC,8BAA8B,CAAC,UAAU,CAAC,EAAE,CAAC,IAAI,CAAC,CACxE,CACF,CACF,EACD,GAAG,CAAC,GAAG,IAAG;YACR,IAAI,CAAC,qBAAqB,GAAG,mBAAmB,CAAC,GAAG,CAAC,kBAAkB,KAAK;AAC1E,gBAAA,KAAK,EAAE,kBAAkB,CAAC,EAAE,CAAC,IAAI;AACjC,gBAAA,KAAK,EAAE,kBAAkB,CAAC,EAAE,CAAC,IAAI;AAClC,aAAA,CAAC,CAAC;YAEH,mBAAmB,CAAC,OAAO,CAAC,CAAC,kBAAkB,EAAE,KAAK,KAAI;gBACxD,IAAI,CAAC,gCAAgC,CAAC,kBAAkB,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,GAAG,CAChF,yBAAyB,IAAI,yBAAyB,CAAC,EAAE,CAAC,oBAAoB,CAC/E;AACH,YAAA,CAAC,CAAC;AAEF,YAAA,MAAM,CAAC,2BAA2B,CAAC,GAAG,IAAI,CAAC,gCAAgC;AAE3E,YAAA,MAAM,mCAAmC,GAAG,IAAI,CAAC,kBAAkB,CAAC,aAAa,CAC/E,IAAI,CAAC,eAAe,CAAC,QAAQ,EAAE,EAC/B,IAAI,CAAC,6BAA6B,CACnC;AAED,YAAA,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,mCAAmC,CAAC;AAE9D,YAAA,IAAI,IAAI,CAAC,UAAU,EAAE,mBAAmB,EAAE;gBACxC,IAAI,CAAC,WAAW,EAAE;YACpB;AACF,QAAA,CAAC,CAAC;AAEH,aAAA,SAAS,EAAE;IAChB;IAEQ,kBAAkB,GAAA;AACxB,QAAA,IAAI,CAAC;AACF,aAAA,iBAAiB;AACjB,aAAA,IAAI,CACH,GAAG,CAAC,GAAG,IAAG;AACR,YAAA,GAAG,CAAC,OAAO,CAAC,aAAa,IAAG;AAC1B,gBAAA,IAAI,aAAa,CAAC,IAAI,KAAK,YAAY,EAAE;oBACvC,IAAI,CAAC,wBAAwB,CAAC,yBAAyB,EAAE,aAAa,CAAC,EAAE,CAAC;gBAC5E;AAAO,qBAAA,IAAI,aAAa,CAAC,IAAI,KAAK,iBAAiB,EAAE;oBACnD,IAAI,CAAC,wBAAwB,CAAC,+BAA+B,EAAE,aAAa,CAAC,EAAE,CAAC;gBAClF;AACF,YAAA,CAAC,CAAC;AACJ,QAAA,CAAC,CAAC;AAEH,aAAA,SAAS,EAAE;IAChB;IAEQ,wBAAwB,CAAC,SAAiB,EAAE,eAAuB,EAAA;AACzE,QAAA,IAAI,CAAC;aACF,2BAA2B,CAAC,eAAe;AAC3C,aAAA,IAAI,CAAC,GAAG,CAAC,GAAG,KAAK,MAAM,CAAC,SAAS,CAAC,GAAG,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,SAAS,IAAI,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC;AACnF,aAAA,SAAS,EAAE;IAChB;IAEQ,sBAAsB,GAAA;AAC5B,QAAA,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,SAAS,CAAC,MAAK;YACjE,IAAI,CAAC,QAAQ,EAAE;AACjB,QAAA,CAAC,CAAC;IACJ;+GApLW,sCAAsC,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAC,IAAA,CAAA,sBAAA,EAAA,EAAA,EAAA,KAAA,EAAAA,IAAA,CAAA,kBAAA,EAAA,EAAA,EAAA,KAAA,EAAAC,IAAA,CAAA,eAAA,EAAA,EAAA,EAAA,KAAA,EAAAJ,IAAA,CAAA,gBAAA,EAAA,EAAA,EAAA,KAAA,EAAAO,0BAAA,EAAA,EAAA,EAAA,KAAA,EAAAC,+BAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAtC,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,sCAAsC,gSCtCnD,qrCAkCA,EAAA,MAAA,EAAA,CAAA,yjCAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,EAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,IAAA,CAAA,eAAA,EAAA,QAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,YAAA,EAAA,MAAA,EAAA,UAAA,EAAA,cAAA,CAAA,EAAA,OAAA,EAAA,CAAA,QAAA,EAAA,QAAA,EAAA,OAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAAD,EAAA,CAAA,SAAA,EAAA,IAAA,EAAA,OAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAAT,IAAA,CAAA,aAAA,EAAA,IAAA,EAAA,WAAA,EAAA,CAAA,EAAA,CAAA,CAAA;;4FDIa,sCAAsC,EAAA,UAAA,EAAA,CAAA;kBALlD,SAAS;+BACE,0CAA0C,EAAA,QAAA,EAAA,qrCAAA,EAAA,MAAA,EAAA,CAAA,yjCAAA,CAAA,EAAA;kRAK3C,UAAU,EAAA,CAAA;sBAAlB;gBACQ,WAAW,EAAA,CAAA;sBAAnB;gBACQ,gBAAgB,EAAA,CAAA;sBAAxB;gBAES,cAAc,EAAA,CAAA;sBAAvB;gBACS,eAAe,EAAA,CAAA;sBAAxB;;;AE5CH;;;;;;;;;;;;;;AAcG;AAEI,MAAM,qBAAqB,GAAG;AACnC,IAAA,UAAU,EAAE;AACV,QAAA;AACE,YAAA,KAAK,EAAE,yBAAyB;AAChC,YAAA,SAAS,EAAE,KAAK;AAChB,YAAA,QAAQ,EAAE;AACR,gBAAA,QAAQ,EAAE,IAAI;AACf,aAAA;AACD,YAAA,GAAG,EAAE,eAAe;AACpB,YAAA,IAAI,EAAE,WAAW;AACjB,YAAA,KAAK,EAAE,IAAI;AACZ,SAAA;AACD,QAAA;AACE,YAAA,KAAK,EAAE,mDAAmD;AAC1D,YAAA,MAAM,EAAE,WAAW;AACnB,YAAA,SAAS,EAAE,KAAK;AAChB,YAAA,OAAO,EAAE,QAAQ;AACjB,YAAA,IAAI,EAAE;AACJ,gBAAA,MAAM,EAAE,wDAAwD;AACjE,aAAA;AACD,YAAA,QAAQ,EAAE,QAAQ;AAClB,YAAA,cAAc,EAAE,IAAI;AACpB,YAAA,GAAG,EAAE,+BAA+B;AACpC,YAAA,IAAI,EAAE,QAAQ;AACd,YAAA,KAAK,EAAE,IAAI;AACX,YAAA,QAAQ,EAAE;AACR,gBAAA,QAAQ,EAAE,IAAI;AACf,aAAA;AACD,YAAA,WAAW,EAAE,yDAAyD;AACvE,SAAA;AACD,QAAA;AACE,YAAA,KAAK,EAAE,8CAA8C;AACrD,YAAA,MAAM,EAAE,WAAW;AACnB,YAAA,SAAS,EAAE,KAAK;AAChB,YAAA,OAAO,EAAE,QAAQ;AACjB,YAAA,IAAI,EAAE;AACJ,gBAAA,MAAM,EAAE,kDAAkD;AAC3D,aAAA;AACD,YAAA,QAAQ,EAAE,QAAQ;AAClB,YAAA,cAAc,EAAE,IAAI;AACpB,YAAA,GAAG,EAAE,0BAA0B;AAC/B,YAAA,IAAI,EAAE,QAAQ;AACd,YAAA,KAAK,EAAE,IAAI;AACX,YAAA,QAAQ,EAAE;AACR,gBAAA,QAAQ,EAAE,IAAI;AACf,aAAA;AACD,YAAA,WAAW,EAAE,oDAAoD;AAClE,SAAA;AACD,QAAA;AACE,YAAA,GAAG,EAAE,QAAQ;AACb,YAAA,IAAI,EAAE,QAAQ;AACd,YAAA,WAAW,EAAE,aAAa;AAC1B,YAAA,QAAQ,EAAE,wBAAwB;AAClC,YAAA,KAAK,EAAE,IAAI;AACX,YAAA,KAAK,EAAE,0BAA0B;AACjC,YAAA,SAAS,EAAE,KAAK;AAChB,YAAA,gBAAgB,EAAE,IAAI;AACvB,SAAA;AACF,KAAA;CACF;;AC3ED;;;;;;;;;;;;;;AAcG;AAeH;;AAEG;MAMU,0BAA0B,CAAA;IAsBrC,WAAA,CACmB,sBAA8C,EAC9C,kBAAsC,EACtC,gBAAkC,EAClC,0BAAsD,EACtD,YAA6C,EAAA;QAJ7C,IAAA,CAAA,sBAAsB,GAAtB,sBAAsB;QACtB,IAAA,CAAA,kBAAkB,GAAlB,kBAAkB;QAClB,IAAA,CAAA,gBAAgB,GAAhB,gBAAgB;QAChB,IAAA,CAAA,0BAA0B,GAA1B,0BAA0B;QAC1B,IAAA,CAAA,YAAY,GAAZ,YAAY;QAxBtB,IAAA,CAAA,gBAAgB,GAAG,KAAK;AAEvB,QAAA,IAAA,CAAA,cAAc,GAAG,IAAI,YAAY,EAAmD;AACpF,QAAA,IAAA,CAAA,eAAe,GAAG,IAAI,YAAY,EAAO;AAEnD,QAAA,IAAA,CAAA,YAAY,GAAG,IAAI,OAAO,EAAsB;AAChD,QAAA,IAAA,CAAA,eAAe,GAAG,IAAI,eAAe,CAAa,SAAS,CAAC;QAC5D,IAAA,CAAA,yBAAyB,GAAG,IAAI,CAAC,eAAe,CAAC,IAAI,CACnD,GAAG,CAAC,UAAU,IAAI,IAAI,CAAC,sBAAsB,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC,CACzE;AAEQ,QAAA,IAAA,CAAA,OAAO,GAAkB;AAChC,YAAA,aAAa,EAAE,IAAI;SACpB;IAYE;IAEH,QAAQ,GAAA;QACN,IAAI,CAAC,8BAA8B,EAAE;QACrC,IAAI,CAAC,sBAAsB,EAAE;AAC7B,QAAA,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,qBAAqB,CAAC;QAChD,IAAI,CAAC,kBAAkB,EAAE;QACzB,IAAI,CAAC,WAAW,EAAE;AAClB,QAAA,IAAI,CAAC,YAAY,CAAC,mBAAmB,EAAE;IACzC;IAEA,WAAW,GAAA;AACT,QAAA,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,qBAAqB,CAAC;QAChD,IAAI,CAAC,kBAAkB,EAAE;QACzB,IAAI,CAAC,WAAW,EAAE;IACpB;IAEA,WAAW,GAAA;AACT,QAAA,IAAI,CAAC,0BAA0B,EAAE,WAAW,EAAE;AAC9C,QAAA,IAAI,CAAC,qBAAqB,EAAE,WAAW,EAAE;AACzC,QAAA,IAAI,CAAC,kBAAkB,EAAE,WAAW,EAAE;IACxC;AAEA,IAAA,QAAQ,CAAC,KAAU,EAAA;AACjB,QAAA,MAAM,UAAU,GAAG,KAAK,CAAC,IAAI;QAC7B,MAAM,UAAU,GAAG,SAAS,CAAC,IAAI,CAAC,UAAU,CAAC;AAE7C,QAAA,UAAU,CAAC,wBAAwB,GAAG,UAAU,CAAC,wBAAwB;AACzE,QAAA,UAAU,CAAC,6BAA6B,GAAG,UAAU,CAAC,6BAA6B;AAEnF,QAAA,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,EAAC,UAAU,EAAE,IAAI,EAAE,UAAU,CAAC,aAAa,EAAC,CAAC;IACxE;IAEA,QAAQ,GAAA;AACN,QAAA,IAAI,CAAC,YAAY,CAAC,YAAY,EAAE;AAChC,QAAA,IAAI,CAAC,eAAe,CAAC,IAAI,EAAE;IAC7B;IAEQ,8BAA8B,GAAA;AACpC,QAAA,IAAI,CAAC,0BAA0B,GAAG,aAAa,CAAC;AAC9C,YAAA,IAAI,CAAC,eAAe;AACpB,YAAA,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,KAAK,CAAC;SACpC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,KAAI;YACtB,MAAM,cAAc,GAAG,IAAI,CAAC,sBAAsB,CAAC,aAAa,CAAC,IAAI,CAAC;YACtE,IAAI,CAAC,WAAW,CAAC,EAAC,IAAI,EAAE,cAAc,EAAC,CAAC;AAC1C,QAAA,CAAC,CAAC;IACJ;IAEQ,WAAW,GAAA;QACjB,KAAK,CAAC,GAAG;AACN,aAAA,IAAI,CACH,GAAG,CAAC,MAAK;AACP,YAAA,IAAI,IAAI,CAAC,WAAW,KAAK,SAAS,EAAE;gBAClC,MAAM,UAAU,GAAG,SAAS,CAAC,IAAI,CAAC,UAAU,CAAC;gBAC7C,MAAM,UAAU,GAAyB,EAAE;AAE3C,gBAAA,UAAU,CAAC,wBAAwB,GAAG,UAAU,CAAC,wBAAwB;AACzE,gBAAA,UAAU,CAAC,6BAA6B,GAAG,UAAU,CAAC,6BAA6B;AACnF,gBAAA,UAAU,CAAC,aAAa,GAAG,IAAI,CAAC,WAAW;AAE3C,gBAAA,IAAI,CAAC,WAAW,CAAC,EAAC,UAAU,EAAE,EAAC,IAAI,EAAE,UAAU,EAAC,EAAC,CAAC;YACpD;AACF,QAAA,CAAC,CAAC;AAEH,aAAA,SAAS,EAAE;IAChB;AAEQ,IAAA,WAAW,CAAC,YAAgC,EAAA;AAClD,QAAA,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,YAAY,CAAC;IACtC;IAEQ,kBAAkB,GAAA;AACxB,QAAA,IAAI,CAAC;AACF,aAAA,iBAAiB;AACjB,aAAA,IAAI,CACH,GAAG,CAAC,GAAG,IAAG;AACR,YAAA,GAAG,CAAC,OAAO,CAAC,aAAa,IAAG;AAC1B,gBAAA,IAAI,aAAa,CAAC,IAAI,KAAK,YAAY,EAAE;oBACvC,IAAI,CAAC,wBAAwB,CAAC,yBAAyB,EAAE,aAAa,CAAC,EAAE,CAAC;gBAC5E;AAAO,qBAAA,IAAI,aAAa,CAAC,IAAI,KAAK,iBAAiB,EAAE;oBACnD,IAAI,CAAC,wBAAwB,CAAC,+BAA+B,EAAE,aAAa,CAAC,EAAE,CAAC;gBAClF;AACF,YAAA,CAAC,CAAC;AACJ,QAAA,CAAC,CAAC;AAEH,aAAA,SAAS,EAAE;IAChB;IAEQ,wBAAwB,CAAC,SAAiB,EAAE,eAAuB,EAAA;AACzE,QAAA,IAAI,CAAC;aACF,2BAA2B,CAAC,eAAe;AAC3C,aAAA,IAAI,CAAC,GAAG,CAAC,GAAG,KAAK,MAAM,CAAC,SAAS,CAAC,GAAG,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,SAAS,IAAI,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC;AACnF,aAAA,SAAS,EAAE;IAChB;IAEQ,sBAAsB,GAAA;AAC5B,QAAA,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,SAAS,CAAC,MAAK;YACjE,IAAI,CAAC,QAAQ,EAAE;AACjB,QAAA,CAAC,CAAC;IACJ;+GA/HW,0BAA0B,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAG,IAAA,CAAA,sBAAA,EAAA,EAAA,EAAA,KAAA,EAAAA,IAAA,CAAA,kBAAA,EAAA,EAAA,EAAA,KAAA,EAAAC,IAAA,CAAA,gBAAA,EAAA,EAAA,EAAA,KAAA,EAAAO,0BAAA,EAAA,EAAA,EAAA,KAAA,EAAAC,+BAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAA1B,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,0BAA0B,mRCrCvC,0qCAkCA,EAAA,MAAA,EAAA,CAAA,kxBAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAH,IAAA,CAAA,eAAA,EAAA,QAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,YAAA,EAAA,MAAA,EAAA,UAAA,EAAA,cAAA,CAAA,EAAA,OAAA,EAAA,CAAA,QAAA,EAAA,QAAA,EAAA,OAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAA,EAAA,CAAA,SAAA,EAAA,IAAA,EAAA,OAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAAL,IAAA,CAAA,aAAA,EAAA,IAAA,EAAA,WAAA,EAAA,CAAA,EAAA,CAAA,CAAA;;4FDGa,0BAA0B,EAAA,UAAA,EAAA,CAAA;kBALtC,SAAS;+BACE,6BAA6B,EAAA,QAAA,EAAA,0qCAAA,EAAA,MAAA,EAAA,CAAA,kxBAAA,CAAA,EAAA;kPAK9B,UAAU,EAAA,CAAA;sBAAlB;gBACQ,WAAW,EAAA,CAAA;sBAAnB;gBACQ,gBAAgB,EAAA,CAAA;sBAAxB;gBAES,cAAc,EAAA,CAAA;sBAAvB;gBACS,eAAe,EAAA,CAAA;sBAAxB;;;AE3CH;;;;;;;;;;;;;;AAcG;AAKH;;AAEG;MAMU,0BAA0B,CAAA;AALvC,IAAA,WAAA,GAAA;QAOW,IAAA,CAAA,YAAY,GAAG,KAAK;QACpB,IAAA,CAAA,gBAAgB,GAAG,KAAK;QACxB,IAAA,CAAA,cAAc,GAAG,IAAI;AAIpB,QAAA,IAAA,CAAA,cAAc,GAAG,IAAI,YAAY,EAAmD;AACpF,QAAA,IAAA,CAAA,eAAe,GAAG,IAAI,YAAY,EAAO;QAE1C,IAAA,CAAA,oBAAoB,GAAG,kBAAkB;QACzC,IAAA,CAAA,QAAQ,GAAG,MAAM;QACjB,IAAA,CAAA,oBAAoB,GAAG,CAAC,IAAI,CAAC,oBAAoB,EAAE,IAAI,CAAC,QAAQ,CAAC;AAC3E,IAAA;+GAdY,0BAA0B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAA1B,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,0BAA0B,8VC3BvC,6sDA+CA,EAAA,MAAA,EAAA,CAAA,goBAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAD,EAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAU,gCAAA,EAAA,QAAA,EAAA,mCAAA,EAAA,MAAA,EAAA,CAAA,YAAA,EAAA,cAAA,EAAA,kBAAA,EAAA,gBAAA,EAAA,aAAA,CAAA,EAAA,OAAA,EAAA,CAAA,gBAAA,EAAA,iBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,sCAAA,EAAA,QAAA,EAAA,0CAAA,EAAA,MAAA,EAAA,CAAA,YAAA,EAAA,aAAA,EAAA,kBAAA,CAAA,EAAA,OAAA,EAAA,CAAA,gBAAA,EAAA,iBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,0BAAA,EAAA,QAAA,EAAA,6BAAA,EAAA,MAAA,EAAA,CAAA,YAAA,EAAA,aAAA,EAAA,kBAAA,CAAA,EAAA,OAAA,EAAA,CAAA,gBAAA,EAAA,iBAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;;4FDpBa,0BAA0B,EAAA,UAAA,EAAA,CAAA;kBALtC,SAAS;+BACE,6BAA6B,EAAA,QAAA,EAAA,6sDAAA,EAAA,MAAA,EAAA,CAAA,goBAAA,CAAA,EAAA;8BAK9B,UAAU,EAAA,CAAA;sBAAlB;gBACQ,YAAY,EAAA,CAAA;sBAApB;gBACQ,gBAAgB,EAAA,CAAA;sBAAxB;gBACQ,cAAc,EAAA,CAAA;sBAAtB;gBACQ,WAAW,EAAA,CAAA;sBAAnB;gBACQ,aAAa,EAAA,CAAA;sBAArB;gBAES,cAAc,EAAA,CAAA;sBAAvB;gBACS,eAAe,EAAA,CAAA;sBAAxB;;;AEpCH;;;;;;;;;;;;;;AAcG;AAUH;;AAEG;MAMU,8BAA8B,CAAA;AAOzC,IAAA,WAAA,CACmB,0BAAsD,EACtD,YAA6C,EAC7C,YAA0B,EAC1B,gBAAkC,EAAA;QAHlC,IAAA,CAAA,0BAA0B,GAA1B,0BAA0B;QAC1B,IAAA,CAAA,YAAY,GAAZ,YAAY;QACZ,IAAA,CAAA,YAAY,GAAZ,YAAY;QACZ,IAAA,CAAA,gBAAgB,GAAhB,gBAAgB;QAV1B,IAAA,CAAA,cAAc,GAAG,IAAI;AAErB,QAAA,IAAA,CAAA,kBAAkB,GAAG,IAAI,CAAC,YAAY,CAAC,kBAAkB;AACzD,QAAA,IAAA,CAAA,SAAS,GAAG,IAAI,CAAC,YAAY,CAAC,cAAc;AAC5C,QAAA,IAAA,CAAA,eAAe,GAAG,IAAI,CAAC,YAAY,CAAC,eAAe;IAOzD;AAEH,IAAA,eAAe,CAAC,aAA4B,EAAA;AAC1C,QAAA,IAAI,CAAC,YAAY,CAAC,wBAAwB,CAAC,aAAa,CAAC;IAC3D;AAEA,IAAA,MAAM,CAAC,KAAsD,EAAA;AAC3D,QAAA,IAAI,CAAC,YAAY,CAAC,YAAY,EAAE;AAEhC,QAAA,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,qBAAqB,IAAG;AACtE,YAAA,IAAI,CAAC;AACF,iBAAA,uBAAuB,CAAC;gBACvB,IAAI,EAAE,KAAK,CAAC,IAAI;gBAChB,MAAM,EAAE,qBAAqB,CAAC,EAAE;gBAChC,mBAAmB,EAAE,KAAK,CAAC,UAAU;aACtC;iBACA,SAAS,CACR,MAAK;AACH,gBAAA,IAAI,CAAC,YAAY,CAAC,OAAO,CACvB,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,yCAAyC,CAAC,CACzE;AACD,gBAAA,IAAI,CAAC,YAAY,CAAC,SAAS,EAAE;AAC7B,gBAAA,IAAI,CAAC,YAAY,CAAC,WAAW,EAAE;AAC/B,gBAAA,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE;YAC7B,CAAC,EACD,MAAK;AACH,gBAAA,IAAI,CAAC,YAAY,CAAC,WAAW,EAAE;AACjC,YAAA,CAAC,CACF;AACL,QAAA,CAAC,CAAC;IACJ;+GA1CW,8BAA8B,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAjB,0BAAA,EAAA,EAAA,EAAA,KAAA,EAAAC,+BAAA,EAAA,EAAA,EAAA,KAAA,EAAAC,IAAA,CAAA,YAAA,EAAA,EAAA,EAAA,KAAA,EAAAC,IAAA,CAAA,gBAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAA9B,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,8BAA8B,qHChC3C,w7BAwBA,EAAA,MAAA,EAAA,CAAA,u3BAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAe,0BAAA,EAAA,QAAA,EAAA,6BAAA,EAAA,MAAA,EAAA,CAAA,YAAA,EAAA,cAAA,EAAA,kBAAA,EAAA,gBAAA,EAAA,aAAA,EAAA,eAAA,CAAA,EAAA,OAAA,EAAA,CAAA,gBAAA,EAAA,iBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAA,EAAA,CAAA,SAAA,EAAA,IAAA,EAAA,OAAA,EAAA,CAAA,EAAA,CAAA,CAAA;;4FDQa,8BAA8B,EAAA,UAAA,EAAA,CAAA;kBAL1C,SAAS;+BACE,iCAAiC,EAAA,QAAA,EAAA,w7BAAA,EAAA,MAAA,EAAA,CAAA,u3BAAA,CAAA,EAAA;qMAKlC,cAAc,EAAA,CAAA;sBAAtB;;;AEjCH;;;;;;;;;;;;;;AAcG;AAWH;;AAEG;MAMU,wBAAwB,CAAA;AAMnC,IAAA,WAAA,CACmB,0BAAsD,EACtD,YAA6C,EAC7C,YAA0B,EAC1B,gBAAkC,EAAA;QAHlC,IAAA,CAAA,0BAA0B,GAA1B,0BAA0B;QAC1B,IAAA,CAAA,YAAY,GAAZ,YAAY;QACZ,IAAA,CAAA,YAAY,GAAZ,YAAY;QACZ,IAAA,CAAA,gBAAgB,GAAhB,gBAAgB;QAT1B,IAAA,CAAA,cAAc,GAAG,IAAI;QACrB,IAAA,CAAA,gBAAgB,GAAG,IAAI;QAU9B,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,YAAY,CAAC,iBAAiB;IACtD;AAEA,IAAA,MAAM,CAAC,KAAsD,EAAA;AAC3D,QAAA,IAAI,CAAC,YAAY,CAAC,YAAY,EAAE;AAEhC,QAAA,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,QAAQ,IAAG;AAChD,YAAA,IAAI,CAAC;AACF,iBAAA,uBAAuB,CAAC;gBACvB,IAAI,EAAE,KAAK,CAAC,IAAI;AAChB,gBAAA,MAAM,EAAE,QAAQ,CAAC,IAAI,CAAC,EAAE;gBACxB,EAAE,EAAE,QAAQ,CAAC,EAAE;gBACf,mBAAmB,EAAE,KAAK,CAAC,UAAU;aACtC;iBACA,SAAS,CACR,MAAK;AACH,gBAAA,IAAI,CAAC,YAAY,CAAC,OAAO,CACvB,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,4CAA4C,CAAC,CAC5E;AACD,gBAAA,IAAI,CAAC,YAAY,CAAC,SAAS,EAAE;AAC7B,gBAAA,IAAI,CAAC,YAAY,CAAC,WAAW,EAAE;AAC/B,gBAAA,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE;YAC7B,CAAC,EACD,MAAK;AACH,gBAAA,IAAI,CAAC,YAAY,CAAC,WAAW,EAAE;AACjC,YAAA,CAAC,CACF;AACL,QAAA,CAAC,CAAC;IACJ;IAEA,QAAQ,GAAA;AACN,QAAA,IAAI,CAAC,YAAY,CAAC,YAAY,EAAE;AAEhC,QAAA,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,QAAQ,IAAG;AAChD,YAAA,IAAI,CAAC,0BAA0B,CAAC,uBAAuB,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,SAAS,CAC5E,MAAK;AACH,gBAAA,IAAI,CAAC,YAAY,CAAC,OAAO,CACvB,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,4CAA4C,CAAC,CAC5E;AACD,gBAAA,IAAI,CAAC,YAAY,CAAC,SAAS,EAAE;AAC7B,gBAAA,IAAI,CAAC,YAAY,CAAC,WAAW,EAAE;AAC/B,gBAAA,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE;YAC7B,CAAC,EACD,MAAK;AACH,gBAAA,IAAI,CAAC,YAAY,CAAC,WAAW,EAAE;AACjC,YAAA,CAAC,CACF;AACH,QAAA,CAAC,CAAC;IACJ;+GA5DW,wBAAwB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAlB,0BAAA,EAAA,EAAA,EAAA,KAAA,EAAAC,+BAAA,EAAA,EAAA,EAAA,KAAA,EAAAC,IAAA,CAAA,YAAA,EAAA,EAAA,EAAA,KAAA,EAAAC,IAAA,CAAA,gBAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAxB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,wBAAwB,oJCjCrC,2iCA4BA,EAAA,MAAA,EAAA,CAAA,goBAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAe,0BAAA,EAAA,QAAA,EAAA,6BAAA,EAAA,MAAA,EAAA,CAAA,YAAA,EAAA,cAAA,EAAA,kBAAA,EAAA,gBAAA,EAAA,aAAA,EAAA,eAAA,CAAA,EAAA,OAAA,EAAA,CAAA,gBAAA,EAAA,iBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAA,EAAA,CAAA,SAAA,EAAA,IAAA,EAAA,OAAA,EAAA,CAAA,EAAA,CAAA,CAAA;;4FDKa,wBAAwB,EAAA,UAAA,EAAA,CAAA;kBALpC,SAAS;+BACE,0BAA0B,EAAA,QAAA,EAAA,2iCAAA,EAAA,MAAA,EAAA,CAAA,goBAAA,CAAA,EAAA;qMAK3B,cAAc,EAAA,CAAA;sBAAtB;gBACQ,gBAAgB,EAAA,CAAA;sBAAxB;;;AEnCH;;;;;;;;;;;;;;AAcG;AASH;;AAEG;MAMU,uBAAuB,CAAA;IAalC,WAAA,CACmB,YAA6C,EAC7C,YAA0B,EAAA;QAD1B,IAAA,CAAA,YAAY,GAAZ,YAAY;QACZ,IAAA,CAAA,YAAY,GAAZ,YAAY;AARtB,QAAA,IAAA,CAAA,sBAAsB,GAA8B,IAAI,CAAC,YAAY,CAAC,kBAAkB;AACxF,QAAA,IAAA,CAAA,mBAAmB,GAAwB,IAAI,CAAC,YAAY,CAAC,mBAAmB;AAChF,QAAA,IAAA,CAAA,cAAc,GAAwB,IAAI,CAAC,YAAY,CAAC,cAAc;AACtE,QAAA,IAAA,CAAA,oBAAoB,GAAwB,IAAI,CAAC,YAAY,CAAC,oBAAoB;AAClF,QAAA,IAAA,CAAA,yBAAyB,GAAG,IAAI,OAAO,EAAW;IAKxD;IAEH,eAAe,GAAA;QACb,IAAI,CAAC,oBAAoB,EAAE;QAC3B,IAAI,CAAC,oBAAoB,EAAE;IAC7B;IAEA,WAAW,GAAA;AACT,QAAA,IAAI,CAAC,gBAAgB,EAAE,WAAW,EAAE;AACpC,QAAA,IAAI,CAAC,gBAAgB,EAAE,WAAW,EAAE;IACtC;IAEA,IAAI,GAAA;AACF,QAAA,IAAI,CAAC,YAAY,CAAC,YAAY,EAAE;AAChC,QAAA,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,MAAK;YAChC,IAAI,CAAC,iBAAiB,EAAE;AACxB,YAAA,IAAI,CAAC,YAAY,CAAC,WAAW,EAAE;AAC/B,YAAA,IAAI,CAAC,YAAY,CAAC,sBAAsB,EAAE;AAC5C,QAAA,CAAC,CAAC;IACJ;IAEA,QAAQ,GAAA;AACN,QAAA,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE;IAC1B;IAEA,MAAM,GAAA;AACJ,QAAA,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE;IAC5B;IAEQ,oBAAoB,GAAA;AAC1B,QAAA,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,SAAS,CAAC,MAAK;YAClE,IAAI,CAAC,IAAI,EAAE;AACb,QAAA,CAAC,CAAC;IACJ;IAEQ,oBAAoB,GAAA;AAC1B,QAAA,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,SAAS,CAAC,MAAK;YAClE,IAAI,CAAC,IAAI,EAAE;AACb,QAAA,CAAC,CAAC;IACJ;IAEQ,iBAAiB,GAAA;AACvB,QAAA,IAAI,CAAC,yBAAyB,CAAC,IAAI,CAAC,IAAI,CAAC;IAC3C;IAEQ,IAAI,GAAA;AACV,QAAA,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,SAAS,IAAG;AAC/D,YAAA,IAAI,SAAS,KAAK,KAAK,EAAE;gBACvB,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,IAAI,CAAC,oBAAoB,CAAC;YACxD;AAAO,iBAAA,IAAI,SAAS,KAAK,QAAQ,EAAE;gBACjC,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,IAAI,CAAC,kBAAkB,CAAC;YACtD;AACF,QAAA,CAAC,CAAC;IACJ;+GArEW,uBAAuB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAX,+BAAA,EAAA,EAAA,EAAA,KAAA,EAAAD,IAAA,CAAA,YAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAvB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,uBAAuB,wSC/BpC,4lGAsFA,EAAA,MAAA,EAAA,CAAA,syBAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAJ,EAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAI,IAAA,CAAA,eAAA,EAAA,QAAA,EAAA,UAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,SAAA,EAAA,UAAA,EAAA,OAAA,EAAA,qBAAA,CAAA,EAAA,OAAA,EAAA,CAAA,YAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,eAAA,EAAA,QAAA,EAAA,SAAA,EAAA,MAAA,EAAA,CAAA,kBAAA,EAAA,YAAA,EAAA,YAAA,EAAA,UAAA,CAAA,EAAA,OAAA,EAAA,CAAA,YAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,yBAAA,EAAA,QAAA,EAAA,qBAAA,EAAA,MAAA,EAAA,CAAA,2BAAA,EAAA,UAAA,CAAA,EAAA,OAAA,EAAA,CAAA,kBAAA,EAAA,eAAA,EAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,uBAAA,EAAA,QAAA,EAAA,mBAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,sBAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,sBAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,oBAAA,EAAA,QAAA,EAAA,gBAAA,EAAA,MAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,0BAAA,EAAA,QAAA,EAAA,uBAAA,EAAA,MAAA,EAAA,CAAA,mBAAA,EAAA,uBAAA,EAAA,0BAAA,EAAA,4BAAA,EAAA,8BAAA,EAAA,uBAAA,EAAA,oBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,cAAA,EAAA,QAAA,EAAA,SAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,QAAA,EAAA,WAAA,EAAA,QAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAa,2BAAA,EAAA,QAAA,EAAA,8BAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,8BAAA,EAAA,QAAA,EAAA,iCAAA,EAAA,MAAA,EAAA,CAAA,gBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,wBAAA,EAAA,QAAA,EAAA,0BAAA,EAAA,MAAA,EAAA,CAAA,gBAAA,EAAA,kBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAAnB,EAAA,CAAA,SAAA,EAAA,IAAA,EAAA,OAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAAU,IAAA,CAAA,aAAA,EAAA,IAAA,EAAA,WAAA,EAAA,CAAA,EAAA,CAAA,CAAA;;4FDvDa,uBAAuB,EAAA,UAAA,EAAA,CAAA;kBALnC,SAAS;+BACE,yBAAyB,EAAA,QAAA,EAAA,4lGAAA,EAAA,MAAA,EAAA,CAAA,syBAAA,CAAA,EAAA;8HAKA,oBAAoB,EAAA,CAAA;sBAAtD,SAAS;uBAAC,sBAAsB;gBACA,kBAAkB,EAAA,CAAA;sBAAlD,SAAS;uBAAC,oBAAoB;;;AEjCjC;;;;;;;;;;;;;;AAcG;AAWH;;AAEG;MAMU,4BAA4B,CAAA;AA8DvC,IAAA,WAAA,CACmB,0BAAsD,EACtD,gBAAkC,EAClC,YAA6C,EAAA;QAF7C,IAAA,CAAA,0BAA0B,GAA1B,0BAA0B;QAC1B,IAAA,CAAA,gBAAgB,GAAhB,gBAAgB;QAChB,IAAA,CAAA,YAAY,GAAZ,YAAY;AAhEtB,QAAA,IAAA,CAAA,QAAQ,GAAG,IAAI,eAAe,CAAU,IAAI,CAAC;AAE7C,QAAA,IAAA,CAAA,OAAO,GAAG,IAAI,eAAe,CAAsC,EAAE,CAAC;QAEtE,IAAA,CAAA,QAAQ,GAAmC,IAAI,CAAC,OAAO,CAAC,IAAI,CACnE,GAAG,CAAC,MAAM,IACR,MAAM,CAAC,GAAG,CAAC,KAAK,KAAK;YACnB,OAAO,EAAE,KAAK,CAAC,GAAG;YAClB,mBAAmB,EAAE,KAAK,CAAC,KAAK;SACjC,CAAC,CAAC,CACJ,CACF;QAEQ,IAAA,CAAA,mBAAmB,GAAG,IAAI,eAAe,CAAsB;AACtE,YAAA,IAAI,EAAE,CAAC;AACP,YAAA,IAAI,EAAE,EAAE;AACT,SAAA,CAAC;QAEO,IAAA,CAAA,UAAU,GAAG,IAAI,eAAe,CAAsB;AAC7D,YAAA,cAAc,EAAE,CAAC;AAClB,SAAA,CAAC;QAEO,IAAA,CAAA,WAAW,GAA2B,aAAa,CAAC;AAC3D,YAAA,IAAI,CAAC,mBAAmB;AACxB,YAAA,IAAI,CAAC,UAAU;AAChB,SAAA,CAAC,CAAC,IAAI,CACL,GAAG,CACD,CAAC,CAAC,WAAW,EAAE,KAAK,CAAC,MAClB,EAAC,GAAG,WAAW,EAAE,GAAG,KAAK,EAAE,IAAI,EAAE,WAAW,CAAC,IAAI,GAAG,CAAC,EAAC,CAAe,CACzE,CACF;QAEQ,IAAA,CAAA,mBAAmB,GAAyC,aAAa,CAAC;AACjF,YAAA,IAAI,CAAC,mBAAmB;AACxB,YAAA,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,KAAK,CAAC;YACnC,IAAI,CAAC,YAAY,CAAC,QAAQ;SAC3B,CAAC,CAAC,IAAI,CACL,GAAG,CAAC,MAAM,IAAI,CAAC,SAAS,EAAE,CAAC,EAC3B,SAAS,CAAC,CAAC,CAAC,WAAW,CAAC,KACtB,aAAa,CAAC;AACZ,YAAA,IAAI,CAAC,0BAA0B,CAAC,qBAAqB,CAAC;gBACpD,IAAI,EAAE,WAAW,CAAC,IAAI;gBACtB,IAAI,EAAE,WAAW,CAAC,IAAI;aACvB,CAAC;AACF,YAAA,IAAI,CAAC,0BAA0B,CAAC,iBAAiB,EAAE;SACpD,CAAC,CACH,EACD,GAAG,CAAC,CAAC,CAAC,WAAW,CAAC,KAAI;AACpB,YAAA,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,KAAK,IAAG;AAC9C,gBAAA,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,EAAC,GAAG,KAAK,EAAE,cAAc,EAAE,WAAW,CAAC,aAAa,EAAC,CAAC;AAC7E,YAAA,CAAC,CAAC;QACJ,CAAC,CAAC,EACF,GAAG,CAAC,CAAC,CAAC,WAAW,EAAE,QAAQ,CAAC,KAC1B,WAAW,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK;AACnC,YAAA,GAAG,QAAQ;YACX,QAAQ,EAAE,QAAQ,CAAC,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,EAAE,KAAK,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,IAAI;AACpE,SAAA,CAAC,CAAC,CACJ,EACD,GAAG,CAAC,MAAM,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CACrC;IAME;IAEH,WAAW,GAAA;AACT,QAAA,IAAI,CAAC,YAAY,CAAC,SAAS,EAAE;IAC/B;AAEA,IAAA,iBAAiB,CAAC,aAAa,EAAA;AAC7B,QAAA,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,WAAW,IAAG;AAC7D,YAAA,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,EAAC,GAAG,WAAW,EAAE,IAAI,EAAE,aAAa,GAAG,CAAC,EAAC,CAAC;AAC1E,QAAA,CAAC,CAAC;IACJ;AAEA,IAAA,aAAa,CAAC,WAAW,EAAA;QACvB,IAAI,WAAW,EAAE;AACf,YAAA,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,WAAW,IAAG;AAC7D,gBAAA,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,EAAC,GAAG,WAAW,EAAE,IAAI,EAAE,WAAW,EAAC,CAAC;AACpE,YAAA,CAAC,CAAC;QACJ;IACF;AAEA,IAAA,UAAU,CAAC,QAA2B,EAAA;AACpC,QAAA,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC,QAAQ,CAAC;AACxC,QAAA,IAAI,CAAC,YAAY,CAAC,oBAAoB,CAAC,QAAQ,CAAC;AAChD,QAAA,IAAI,CAAC,YAAY,CAAC,SAAS,EAAE;IAC/B;IAEA,YAAY,GAAA;AACV,QAAA,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC,KAAK,CAAC;AACrC,QAAA,IAAI,CAAC,YAAY,CAAC,SAAS,EAAE;IAC/B;IAEQ,SAAS,GAAA;AACf,QAAA,MAAM,IAAI,GAAkB,CAAC,MAAM,EAAE,UAAU,CAAC;QAChD,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,KAAK,EAAC,KAAK,EAAE,CAAA,2BAAA,EAA8B,GAAG,CAAA,CAAE,EAAE,GAAG,EAAC,CAAC,CAAC,CAAC;IACzF;+GApGW,4BAA4B,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAZ,0BAAA,EAAA,EAAA,EAAA,KAAA,EAAAM,IAAA,CAAA,gBAAA,EAAA,EAAA,EAAA,KAAA,EAAAgB,+BAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAA5B,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,4BAA4B,oECjCzC,2gEA2DA,EAAA,MAAA,EAAA,CAAA,goBAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAnB,EAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,IAAA,CAAA,eAAA,EAAA,QAAA,EAAA,UAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,SAAA,EAAA,UAAA,EAAA,OAAA,EAAA,qBAAA,CAAA,EAAA,OAAA,EAAA,CAAA,YAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,cAAA,EAAA,QAAA,EAAA,SAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,SAAA,EAAA,SAAA,EAAA,iBAAA,EAAA,gBAAA,EAAA,0BAAA,EAAA,qBAAA,EAAA,yBAAA,EAAA,oBAAA,EAAA,qBAAA,EAAA,gBAAA,EAAA,MAAA,EAAA,MAAA,CAAA,EAAA,OAAA,EAAA,CAAA,mBAAA,EAAA,mBAAA,EAAA,mBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,sBAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,oBAAA,EAAA,QAAA,EAAA,gBAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,oBAAA,EAAA,QAAA,EAAA,eAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,0BAAA,EAAA,QAAA,EAAA,uBAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,+BAAA,EAAA,QAAA,EAAA,4BAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,kBAAA,EAAA,QAAA,EAAA,aAAA,EAAA,MAAA,EAAA,CAAA,QAAA,EAAA,WAAA,EAAA,QAAA,EAAA,QAAA,EAAA,SAAA,EAAA,YAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAmB,uBAAA,EAAA,QAAA,EAAA,yBAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAApB,EAAA,CAAA,SAAA,EAAA,IAAA,EAAA,OAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAAG,IAAA,CAAA,aAAA,EAAA,IAAA,EAAA,WAAA,EAAA,CAAA,EAAA,CAAA,CAAA;;4FD1Ba,4BAA4B,EAAA,UAAA,EAAA,CAAA;kBALxC,SAAS;+BACE,8BAA8B,EAAA,QAAA,EAAA,2gEAAA,EAAA,MAAA,EAAA,CAAA,goBAAA,CAAA,EAAA;;;AE7B1C;;;;;;;;;;;;;;AAcG;AASH,MAAM,MAAM,GAAW;AACrB,IAAA;AACE,QAAA,IAAI,EAAE,YAAY;AAClB,QAAA,SAAS,EAAE,4BAA4B;QACvC,WAAW,EAAE,CAAC,gBAAgB,CAAC;QAC/B,IAAI,EAAE,EAAC,KAAK,EAAE,YAAY,EAAE,KAAK,EAAE,CAAC,UAAU,CAAC,EAAC;AACjD,KAAA;CACF;MAOY,gCAAgC,CAAA;+GAAhC,gCAAgC,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;gHAAhC,gCAAgC,EAAA,OAAA,EAAA,CAHjC,YAAY,EAAAD,IAAA,CAAA,YAAA,CAAA,EAAA,OAAA,EAAA,CACZ,YAAY,CAAA,EAAA,CAAA,CAAA;gHAEX,gCAAgC,EAAA,OAAA,EAAA,CAHjC,YAAY,EAAE,YAAY,CAAC,QAAQ,CAAC,MAAM,CAAC,EAC3C,YAAY,CAAA,EAAA,CAAA,CAAA;;4FAEX,gCAAgC,EAAA,UAAA,EAAA,CAAA;kBAL5C,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,YAAY,EAAE,EAAE;oBAChB,OAAO,EAAE,CAAC,YAAY,EAAE,YAAY,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;oBACtD,OAAO,EAAE,CAAC,YAAY,CAAC;AACxB,iBAAA;;;ACpCD;;;;;;;;;;;;;;AAcG;MAeU,oBAAoB,CAAA;IAG/B,WAAA,CACU,IAAgB,EAChB,aAA4B,EAAA;QAD5B,IAAA,CAAA,IAAI,GAAJ,IAAI;QACJ,IAAA,CAAA,aAAa,GAAb,aAAa;QAErB,IAAI,CAAC,gBAAgB,GAAG,aAAa,CAAC,MAAM,CAAC,UAAU;IACzD;AAEA,IAAA,oBAAoB,CAAC,sBAA8B,EAAA;QACjD,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAClB,CAAA,EAAG,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAA,qBAAA,CAAuB,EAC3D,EAAC,MAAM,EAAE,EAAC,sBAAsB,EAAC,EAAC,CACnC;IACH;AAEA,IAAA,sBAAsB,CACpB,OAAsC,EAAA;AAEtC,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CACnB,CAAA,EAAG,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAA,qBAAA,CAAuB,EAC3D,OAAO,CACR;IACH;AAEA,IAAA,sBAAsB,CAAC,OAAyB,EAAA;AAC9C,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAClB,CAAA,EAAG,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAA,qBAAA,CAAuB,EAC3D,OAAO,CACR;IACH;AAEA,IAAA,sBAAsB,CAAC,QAAgB,EAAA;AACrC,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,CACrB,CAAA,EAAG,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAA,sBAAA,EAAyB,QAAQ,CAAA,CAAE,CACxE;IACH;+GArCW,oBAAoB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,aAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAApB,IAAA,SAAA,IAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,oBAAoB,cAFnB,MAAM,EAAA,CAAA,CAAA;;4FAEP,oBAAoB,EAAA,UAAA,EAAA,CAAA;kBAHhC,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACV,oBAAA,UAAU,EAAE,MAAM;AACnB,iBAAA;;;AC5BD;;;;;;;;;;;;;;AAcG;AAaH;;AAEG;MAMU,oCAAoC,CAAA;IAwD/C,WAAA,CACmB,0BAAsD,EACtD,gBAAkC,EAClC,YAA6C,EAC7C,oBAA0C,EAC1C,KAAqB,EACrB,YAA0B,EAAA;QAL1B,IAAA,CAAA,0BAA0B,GAA1B,0BAA0B;QAC1B,IAAA,CAAA,gBAAgB,GAAhB,gBAAgB;QAChB,IAAA,CAAA,YAAY,GAAZ,YAAY;QACZ,IAAA,CAAA,oBAAoB,GAApB,oBAAoB;QACpB,IAAA,CAAA,KAAK,GAAL,KAAK;QACL,IAAA,CAAA,YAAY,GAAZ,YAAY;AAzDtB,QAAA,IAAA,CAAA,QAAQ,GAAG,IAAI,eAAe,CAAU,IAAI,CAAC;AAE7C,QAAA,IAAA,CAAA,OAAO,GAAG,IAAI,eAAe,CAAsC,EAAE,CAAC;QAEtE,IAAA,CAAA,mBAAmB,GAAG,IAAI,eAAe,CAAsB;AACtE,YAAA,IAAI,EAAE,CAAC;AACP,YAAA,IAAI,EAAE,EAAE;AACT,SAAA,CAAC;QAEO,IAAA,CAAA,UAAU,GAAG,IAAI,eAAe,CAAsB;AAC7D,YAAA,cAAc,EAAE,CAAC;AAClB,SAAA,CAAC;QAEO,IAAA,CAAA,WAAW,GAA2B,aAAa,CAAC;AAC3D,YAAA,IAAI,CAAC,mBAAmB;AACxB,YAAA,IAAI,CAAC,UAAU;AAChB,SAAA,CAAC,CAAC,IAAI,CACL,GAAG,CACD,CAAC,CAAC,WAAW,EAAE,KAAK,CAAC,MAClB,EAAC,GAAG,WAAW,EAAE,GAAG,KAAK,EAAE,IAAI,EAAE,WAAW,CAAC,IAAI,GAAG,CAAC,EAAC,CAAe,CACzE,CACF;QAEQ,IAAA,CAAA,mBAAmB,GAAyC,aAAa,CAAC;AACjF,YAAA,IAAI,CAAC,mBAAmB;AACxB,YAAA,IAAI,CAAC,0BAA0B,CAAC,iBAAiB,EAAE;AACnD,YAAA,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,KAAK,CAAC;YACnC,IAAI,CAAC,YAAY,CAAC,QAAQ;AAC3B,SAAA,CAAC,CAAC,IAAI,CACL,GAAG,CAAC,MAAM,IAAI,CAAC,SAAS,EAAE,CAAC,EAC3B,SAAS,CAAC,CAAC,CAAC,WAAW,EAAE,KAAK,CAAC,KAC7B,IAAI,CAAC,0BAA0B,CAAC,2BAA2B,CACzD,KAAK,CAAC,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC,EAAE,EAAE,EACtE,EAAC,IAAI,EAAE,WAAW,CAAC,IAAI,EAAE,IAAI,EAAE,WAAW,CAAC,IAAI,EAAC,CACjD,CACF,EACD,GAAG,CAAC,WAAW,IAAG;AAChB,YAAA,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,KAAK,IAAG;AAC9C,gBAAA,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,EAAC,GAAG,KAAK,EAAE,cAAc,EAAE,WAAW,CAAC,aAAa,EAAC,CAAC;AAC7E,YAAA,CAAC,CAAC;AACJ,QAAA,CAAC,CAAC,EACF,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,EACvB,GAAG,CAAC,MAAM,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CACrC;QAEQ,IAAA,CAAA,uBAAuB,GAAG,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAC9D,GAAG,CAAC,SAAS,IAAI,CAAC,SAAS,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,CAAC,CACvD;QAYC,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,YAAY,CAAC,cAAc;IACnD;IAEA,eAAe,GAAA;AACb,QAAA,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,YAAY,CAAC,mBAAmB,CAAC,SAAS,CAAC,IAAI,IAAG;YAC7E,IAAI,IAAI,EAAE;gBACR,IAAI,CAAC,IAAI,EAAE;YACb;iBAAO;gBACL,IAAI,CAAC,IAAI,EAAE;YACb;AACF,QAAA,CAAC,CAAC;IACJ;IAEA,WAAW,GAAA;AACT,QAAA,IAAI,CAAC,gBAAgB,EAAE,WAAW,EAAE;IACtC;AAEA,IAAA,iBAAiB,CAAC,aAAa,EAAA;AAC7B,QAAA,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,WAAW,IAAG;AAC7D,YAAA,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,EAAC,GAAG,WAAW,EAAE,IAAI,EAAE,aAAa,GAAG,CAAC,EAAC,CAAC;AAC1E,QAAA,CAAC,CAAC;IACJ;AAEA,IAAA,aAAa,CAAC,WAAW,EAAA;QACvB,IAAI,WAAW,EAAE;AACf,YAAA,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,WAAW,IAAG;AAC7D,gBAAA,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,EAAC,GAAG,WAAW,EAAE,IAAI,EAAE,WAAW,EAAC,CAAC;AACpE,YAAA,CAAC,CAAC;QACJ;IACF;AAEA,IAAA,UAAU,CAAC,QAA2B,EAAA;AACpC,QAAA,MAAM,mBAAmB,GAAG,QAAQ,CAAC,EAAE;QACvC,MAAM,OAAO,GAAG,IAAI;AACpB,QAAA,MAAM,sBAAsB,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC;QACvE,MAAM,aAAa,GAAI,QAAgB,CAAC,UAAU,EAAE,UAAU,EAAE,GAAG;QACnE,MAAM,kBAAkB,GAAG,aAAa,EAAE,KAAK,CAAC,GAAG,CAAC;QACpD,MAAM,YAAY,GAAG,kBAAkB,CAAC,kBAAkB,CAAC,MAAM,GAAG,CAAC,CAAC;AAEtE,QAAA,IAAI,CAAC,YAAY,CAAC,YAAY,EAAE;AAEhC,QAAA,IAAI,CAAC;aACF,sBAAsB,CAAC,EAAC,mBAAmB,EAAE,OAAO,EAAE,sBAAsB,EAAE,YAAY,EAAC;aAC3F,SAAS,CACR,GAAG,IAAG;AACJ,YAAA,IAAI,CAAC,YAAY,CAAC,OAAO,CACvB,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,8CAA8C,CAAC,CAC9E;AACD,YAAA,IAAI,CAAC,YAAY,CAAC,kBAAkB,EAAE;AACtC,YAAA,IAAI,CAAC,YAAY,CAAC,WAAW,EAAE;AAC/B,YAAA,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE;YAC3B,IAAI,CAAC,YAAY,CAAC,oBAAoB,CAAC,GAAG,CAAC,gBAAgB,CAAC,EAAE,CAAC;QACjE,CAAC,EACD,MAAK;AACH,YAAA,IAAI,CAAC,YAAY,CAAC,WAAW,EAAE;AACjC,QAAA,CAAC,CACF;IACL;IAEQ,SAAS,GAAA;AACf,QAAA,MAAM,kBAAkB,GAAG,CAAC,GAAW,KACrC,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,8BAA8B,GAAG,CAAA,CAAE,CAAC;AACpE,QAAA,MAAM,IAAI,GAAkB,CAAC,MAAM,CAAC;QACpC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,KAAK,EAAC,KAAK,EAAE,kBAAkB,CAAC,GAAG,CAAC,EAAE,GAAG,EAAC,CAAC,CAAC,CAAC;IAC7E;IAEQ,IAAI,GAAA;AACV,QAAA,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE;IACnB;IAEQ,IAAI,GAAA;AACV,QAAA,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE;IACnB;+GAxIW,oCAAoC,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAL,0BAAA,EAAA,EAAA,EAAA,KAAA,EAAAM,IAAA,CAAA,gBAAA,EAAA,EAAA,EAAA,KAAA,EAAAgB,+BAAA,EAAA,EAAA,EAAA,KAAA,EAAAE,oBAAA,EAAA,EAAA,EAAA,KAAA,EAAApB,IAAA,CAAA,cAAA,EAAA,EAAA,EAAA,KAAA,EAAAO,IAAA,CAAA,YAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAApC,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,oCAAoC,8KCnCjD,86EAiEA,EAAA,MAAA,EAAA,CAAA,+rBAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,EAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAD,IAAA,CAAA,eAAA,EAAA,QAAA,EAAA,gBAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,MAAA,EAAA,MAAA,EAAA,UAAA,EAAA,SAAA,EAAA,OAAA,EAAA,UAAA,EAAA,cAAA,EAAA,UAAA,EAAA,mBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,aAAA,EAAA,QAAA,EAAA,cAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,YAAA,EAAA,UAAA,EAAA,cAAA,EAAA,QAAA,EAAA,SAAA,EAAA,sBAAA,EAAA,kBAAA,EAAA,oBAAA,CAAA,EAAA,OAAA,EAAA,CAAA,YAAA,EAAA,mBAAA,EAAA,eAAA,EAAA,QAAA,EAAA,aAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,gBAAA,EAAA,QAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,CAAA,qBAAA,EAAA,MAAA,EAAA,MAAA,EAAA,MAAA,EAAA,OAAA,EAAA,SAAA,EAAA,YAAA,EAAA,aAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,cAAA,EAAA,QAAA,EAAA,eAAA,EAAA,MAAA,EAAA,CAAA,WAAA,EAAA,OAAA,EAAA,UAAA,EAAA,uBAAA,EAAA,YAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAAC,EAAA,CAAA,SAAA,EAAA,IAAA,EAAA,OAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAAN,IAAA,CAAA,aAAA,EAAA,IAAA,EAAA,WAAA,EAAA,CAAA,EAAA,CAAA,CAAA;;4FD9Ba,oCAAoC,EAAA,UAAA,EAAA,CAAA;kBALhD,SAAS;+BACE,wCAAwC,EAAA,QAAA,EAAA,86EAAA,EAAA,MAAA,EAAA,CAAA,+rBAAA,CAAA,EAAA;oQAK9B,KAAK,EAAA,CAAA;sBAAxB,SAAS;uBAAC,OAAO;;;AEpCpB;;;;;;;;;;;;;;AAcG;AAcH;;AAEG;MAMU,+BAA+B,CAAA;IAoC1C,WAAA,CACmB,YAA6C,EAC7C,oBAA0C,EAC1C,gBAAkC,EAClC,KAAqB,EACrB,YAA0B,EAC1B,0BAAsD,EAAA;QALtD,IAAA,CAAA,YAAY,GAAZ,YAAY;QACZ,IAAA,CAAA,oBAAoB,GAApB,oBAAoB;QACpB,IAAA,CAAA,gBAAgB,GAAhB,gBAAgB;QAChB,IAAA,CAAA,KAAK,GAAL,KAAK;QACL,IAAA,CAAA,YAAY,GAAZ,YAAY;QACZ,IAAA,CAAA,0BAA0B,GAA1B,0BAA0B;AAzCpC,QAAA,IAAA,CAAA,QAAQ,GAAG,IAAI,eAAe,CAAU,IAAI,CAAC;QAE7C,IAAA,CAAA,oBAAoB,GAAwC,aAAa,CAAC;YACjF,IAAI,CAAC,KAAK,CAAC,MAAM;AACjB,YAAA,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,KAAK,CAAC;YACnC,IAAI,CAAC,YAAY,CAAC,QAAQ;AAC3B,SAAA,CAAC,CAAC,IAAI,CACL,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,IAAI,CAAC,oBAAoB,CAAC,oBAAoB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,EACpF,SAAS,CAAC,OAAO,IACf,aAAa,CAAC;YACZ,EAAE,CAAC,OAAO,CAAC;YACX,GAAG,OAAO,CAAC,GAAG,CAAC,MAAM,IACnB,IAAI,CAAC;AACF,iBAAA,wBAAwB,CAAC,MAAM,CAAC,mBAAmB;AACnD,iBAAA,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAClC;AACF,SAAA,CAAC,CACH,EACD,GAAG,CAAC,OAAO,IAAG;AACZ,YAAA,MAAM,GAAG,GAAG,SAAS,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,IAAI,MAAM,CAA6B;YACrF,OAAQ,OAAO,CAAC,CAAC,CAA6B,CAAC,GAAG,CAAC,UAAU,KAAK;AAChE,gBAAA,GAAG,UAAU;AACb,gBAAA,KAAK,EACH,SAAS,CAAC,IAAI,CAAC,QAAQ,IAAI,QAAQ,CAAC,EAAE,KAAK,UAAU,CAAC,mBAAmB,CAAC,EAAE,IAAI;oBAChF,aAAa;AAChB,aAAA,CAAC,CAAC;AACL,QAAA,CAAC,CAAC,EACF,GAAG,CAAC,OAAO,KAAK,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,EAClF,GAAG,CAAC,MAAK;AACP,YAAA,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC;QAC3B,CAAC,CAAC,CACH;QAYC,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,YAAY,CAAC,cAAc;IACnD;IAEA,WAAW,GAAA;AACT,QAAA,IAAI,CAAC,YAAY,CAAC,kBAAkB,EAAE;IACxC;IAEA,SAAS,GAAA;AACP,QAAA,IAAI,CAAC,YAAY,CAAC,kBAAkB,EAAE;IACxC;AAEA,IAAA,UAAU,CAAC,MAAwB,EAAA;AACjC,QAAA,IAAI,CAAC,YAAY,CAAC,YAAY,EAAE;AAEhC,QAAA,IAAI,CAAC;AACF,aAAA,sBAAsB,CAAC,EAAC,GAAG,MAAM,EAAE,OAAO,EAAE,CAAC,MAAM,CAAC,OAAO,EAAC;aAC5D,SAAS,CACR,MAAK;AACH,YAAA,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE;AACnB,gBAAA,IAAI,CAAC,YAAY,CAAC,OAAO,CACvB,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,8CAA8C,CAAC,CAC9E;YACH;iBAAO;AACL,gBAAA,IAAI,CAAC,YAAY,CAAC,OAAO,CACvB,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,kDAAkD,CAAC,CAClF;YACH;AACA,YAAA,IAAI,CAAC,YAAY,CAAC,WAAW,EAAE;AAC/B,YAAA,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE;QAC7B,CAAC,EACD,MAAK;AACH,YAAA,IAAI,CAAC,YAAY,CAAC,WAAW,EAAE;AACjC,QAAA,CAAC,CACF;IACL;AAEA,IAAA,UAAU,CAAC,QAAgB,EAAA;AACzB,QAAA,IAAI,CAAC,YAAY,CAAC,YAAY,EAAE;QAEhC,IAAI,CAAC,oBAAoB,CAAC,sBAAsB,CAAC,QAAQ,CAAC,CAAC,SAAS,CAClE,MAAK;AACH,YAAA,IAAI,CAAC,YAAY,CAAC,OAAO,CACvB,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,iDAAiD,CAAC,CACjF;AACD,YAAA,IAAI,CAAC,YAAY,CAAC,WAAW,EAAE;AAC/B,YAAA,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE;QAC7B,CAAC,EACD,MAAK;AACH,YAAA,IAAI,CAAC,YAAY,CAAC,WAAW,EAAE;AACjC,QAAA,CAAC,CACF;IACH;+GA/FW,+BAA+B,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAC,+BAAA,EAAA,EAAA,EAAA,KAAA,EAAAkB,oBAAA,EAAA,EAAA,EAAA,KAAA,EAAAvB,IAAA,CAAA,gBAAA,EAAA,EAAA,EAAA,KAAA,EAAAC,IAAA,CAAA,cAAA,EAAA,EAAA,EAAA,KAAA,EAAAC,IAAA,CAAA,YAAA,EAAA,EAAA,EAAA,KAAA,EAAAsB,0BAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAA/B,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,+BAA+B,wECpC5C,4uFA+EA,EAAA,MAAA,EAAA,CAAA,uxBAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAd,EAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAR,IAAA,CAAA,gBAAA,EAAA,QAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,CAAA,qBAAA,EAAA,MAAA,EAAA,MAAA,EAAA,MAAA,EAAA,OAAA,EAAA,SAAA,EAAA,YAAA,EAAA,aAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAuB,oCAAA,EAAA,QAAA,EAAA,wCAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAAf,EAAA,CAAA,SAAA,EAAA,IAAA,EAAA,OAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAAV,IAAA,CAAA,aAAA,EAAA,IAAA,EAAA,WAAA,EAAA,CAAA,EAAA,CAAA,CAAA;;4FD3Ca,+BAA+B,EAAA,UAAA,EAAA,CAAA;kBAL3C,SAAS;+BACE,kCAAkC,EAAA,QAAA,EAAA,4uFAAA,EAAA,MAAA,EAAA,CAAA,uxBAAA,CAAA,EAAA;;;AEhC9C;;;;;;;;;;;;;;AAcG;AAoCH;;AAEG;MAkDU,yBAAyB,CAAA;+GAAzB,yBAAyB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;AAAzB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,yBAAyB,iBA9ClC,4BAA4B;YAC5B,2BAA2B;YAC3B,8BAA8B;YAC9B,uBAAuB;YACvB,wBAAwB;YACxB,gCAAgC;YAChC,oCAAoC;YACpC,+BAA+B;YAC/B,oCAAoC;YACpC,sCAAsC;YACtC,0BAA0B;AAC1B,YAAA,0BAA0B,aAG1B,YAAY;YACZ,gCAAgC;YAChC,eAAe;YACf,YAAY;YACZ,UAAU;YACV,aAAa;YACb,WAAW;YACX,YAAY;YACZ,YAAY;YACZ,WAAW;YACX,YAAY;YACZ,aAAa;YACb,WAAW;YACX,WAAW;YACX,WAAW;YACX,UAAU;AACV,YAAA,eAAe,aAGf,4BAA4B;YAC5B,2BAA2B;YAC3B,8BAA8B;YAC9B,uBAAuB;YACvB,wBAAwB;YACxB,gCAAgC;YAChC,oCAAoC;YACpC,+BAA+B;YAC/B,oCAAoC;YACpC,sCAAsC;YACtC,0BAA0B,CAAA,EAAA,CAAA,CAAA;AAGjB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,yBAAyB,EAAA,SAAA,EAhDzB,CAAC,+BAA+B,CAAC,YAgB1C,YAAY;YACZ,gCAAgC;YAChC,eAAe;YACf,YAAY;YACZ,UAAU;YACV,aAAa;YACb,WAAW;YACX,YAAY;YACZ,YAAY;YACZ,WAAW;YACX,YAAY;YACZ,aAAa;YACb,WAAW;YACX,WAAW;YACX,WAAW;YACX,UAAU;YACV,eAAe,CAAA,EAAA,CAAA,CAAA;;4FAgBN,yBAAyB,EAAA,UAAA,EAAA,CAAA;kBAjDrC,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;oBACR,SAAS,EAAE,CAAC,+BAA+B,CAAC;AAC5C,oBAAA,YAAY,EAAE;wBACZ,4BAA4B;wBAC5B,2BAA2B;wBAC3B,8BAA8B;wBAC9B,uBAAuB;wBACvB,wBAAwB;wBACxB,gCAAgC;wBAChC,oCAAoC;wBACpC,+BAA+B;wBAC/B,oCAAoC;wBACpC,sCAAsC;wBACtC,0BAA0B;wBAC1B,0BAA0B;AAC3B,qBAAA;AACD,oBAAA,OAAO,EAAE;wBACP,YAAY;wBACZ,gCAAgC;wBAChC,eAAe;wBACf,YAAY;wBACZ,UAAU;wBACV,aAAa;wBACb,WAAW;wBACX,YAAY;wBACZ,YAAY;wBACZ,WAAW;wBACX,YAAY;wBACZ,aAAa;wBACb,WAAW;wBACX,WAAW;wBACX,WAAW;wBACX,UAAU;wBACV,eAAe;AAChB,qBAAA;AACD,oBAAA,OAAO,EAAE;wBACP,4BAA4B;wBAC5B,2BAA2B;wBAC3B,8BAA8B;wBAC9B,uBAAuB;wBACvB,wBAAwB;wBACxB,gCAAgC;wBAChC,oCAAoC;wBACpC,+BAA+B;wBAC/B,oCAAoC;wBACpC,sCAAsC;wBACtC,0BAA0B;AAC3B,qBAAA;AACF,iBAAA;;;ACrGD;;;;;;;;;;;;;;AAcG;AAEH;;AAEG;;AClBH;;AAEG;;;;"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@valtimo/connector-management",
3
3
  "license": "EUPL-1.2",
4
- "version": "12.15.0",
4
+ "version": "12.15.1",
5
5
  "peerDependencies": {
6
6
  "@angular/common": "^17.2.2",
7
7
  "@angular/core": "^17.2.2"