@arsedizioni/ars-utils 21.0.1 → 21.0.2
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.
- package/fesm2022/arsedizioni-ars-utils-clipper.common.mjs +825 -237
- package/fesm2022/arsedizioni-ars-utils-clipper.common.mjs.map +1 -1
- package/fesm2022/arsedizioni-ars-utils-clipper.ui.mjs +117 -110
- package/fesm2022/arsedizioni-ars-utils-clipper.ui.mjs.map +1 -1
- package/fesm2022/arsedizioni-ars-utils-core.mjs +126 -126
- package/fesm2022/arsedizioni-ars-utils-core.mjs.map +1 -1
- package/fesm2022/arsedizioni-ars-utils-evolution.common.mjs +12 -12
- package/fesm2022/arsedizioni-ars-utils-evolution.common.mjs.map +1 -1
- package/fesm2022/arsedizioni-ars-utils-help.mjs +17 -17
- package/fesm2022/arsedizioni-ars-utils-help.mjs.map +1 -1
- package/fesm2022/arsedizioni-ars-utils-support.common.mjs +8 -8
- package/fesm2022/arsedizioni-ars-utils-support.common.mjs.map +1 -1
- package/fesm2022/arsedizioni-ars-utils-support.ui.mjs +8 -8
- package/fesm2022/arsedizioni-ars-utils-support.ui.mjs.map +1 -1
- package/fesm2022/arsedizioni-ars-utils-tinymce.mjs +8 -8
- package/fesm2022/arsedizioni-ars-utils-tinymce.mjs.map +1 -1
- package/fesm2022/arsedizioni-ars-utils-ui.application.mjs +138 -138
- package/fesm2022/arsedizioni-ars-utils-ui.application.mjs.map +1 -1
- package/fesm2022/arsedizioni-ars-utils-ui.mjs +49 -49
- package/fesm2022/arsedizioni-ars-utils-ui.mjs.map +1 -1
- package/fesm2022/arsedizioni-ars-utils-ui.oauth.mjs +15 -15
- package/fesm2022/arsedizioni-ars-utils-ui.oauth.mjs.map +1 -1
- package/package.json +1 -1
- package/types/arsedizioni-ars-utils-clipper.ui.d.ts +1 -1
|
@@ -487,8 +487,8 @@ class EvolutionService {
|
|
|
487
487
|
this.dialogService = inject(DialogService);
|
|
488
488
|
this._serviceUri = undefined;
|
|
489
489
|
this._flags = EvolutionServiceFlags.None;
|
|
490
|
-
this.loggedIn = signal(false,
|
|
491
|
-
this.loggingIn = signal(false,
|
|
490
|
+
this.loggedIn = signal(false, ...(ngDevMode ? [{ debugName: "loggedIn" }] : []));
|
|
491
|
+
this.loggingIn = signal(false, ...(ngDevMode ? [{ debugName: "loggingIn" }] : []));
|
|
492
492
|
}
|
|
493
493
|
get serviceUri() {
|
|
494
494
|
return this._serviceUri;
|
|
@@ -905,10 +905,10 @@ class EvolutionService {
|
|
|
905
905
|
deleteLink(item) {
|
|
906
906
|
return this.httpClient.post(this._serviceUri + '/account/links/delete', item);
|
|
907
907
|
}
|
|
908
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.
|
|
909
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.0.
|
|
908
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.3", ngImport: i0, type: EvolutionService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
909
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.0.3", ngImport: i0, type: EvolutionService, providedIn: 'root' }); }
|
|
910
910
|
}
|
|
911
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.
|
|
911
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.3", ngImport: i0, type: EvolutionService, decorators: [{
|
|
912
912
|
type: Injectable,
|
|
913
913
|
args: [{
|
|
914
914
|
providedIn: 'root',
|
|
@@ -965,19 +965,19 @@ class EvolutionAuthInterceptor {
|
|
|
965
965
|
}
|
|
966
966
|
return next.handle(request);
|
|
967
967
|
}
|
|
968
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.
|
|
969
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.0.
|
|
968
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.3", ngImport: i0, type: EvolutionAuthInterceptor, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
969
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.0.3", ngImport: i0, type: EvolutionAuthInterceptor }); }
|
|
970
970
|
}
|
|
971
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.
|
|
971
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.3", ngImport: i0, type: EvolutionAuthInterceptor, decorators: [{
|
|
972
972
|
type: Injectable
|
|
973
973
|
}] });
|
|
974
974
|
|
|
975
975
|
class EvolutionCommonModule {
|
|
976
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.
|
|
977
|
-
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.0.
|
|
978
|
-
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.0.
|
|
976
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.3", ngImport: i0, type: EvolutionCommonModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
977
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.0.3", ngImport: i0, type: EvolutionCommonModule }); }
|
|
978
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.0.3", ngImport: i0, type: EvolutionCommonModule }); }
|
|
979
979
|
}
|
|
980
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.
|
|
980
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.3", ngImport: i0, type: EvolutionCommonModule, decorators: [{
|
|
981
981
|
type: NgModule
|
|
982
982
|
}] });
|
|
983
983
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"arsedizioni-ars-utils-evolution.common.mjs","sources":["../../../projects/ars-utils/evolution.common/common/messages.ts","../../../projects/ars-utils/evolution.common/common/definitions.ts","../../../projects/ars-utils/evolution.common/common/services/evolution.service.ts","../../../projects/ars-utils/evolution.common/common/interceptors/auth.interceptor.ts","../../../projects/ars-utils/evolution.common/common/common.module.ts","../../../projects/ars-utils/evolution.common/public_api.ts","../../../projects/ars-utils/evolution.common/arsedizioni-ars-utils-evolution.common.ts"],"sourcesContent":["export const EvolutionMessages = {\r\n // Error\r\n ERROR: '§evo-error',\r\n\r\n // Login\r\n LOGIN_CHANGED: '§evo-login-changed',\r\n LOGIN_COMPLETED: '§evo-login-completed',\r\n LOGOUT_COMPLETED: '§evo-logout-completed',\r\n LOGIN_PENDING: '§evo-login-pending',\r\n LOGOUT: '§evo-logout'\r\n};\r\n","import { LoginResult, QueryModel, SendToModel } from '@arsedizioni/ars-utils/core';\r\nimport { LoginOAuthType } from '@arsedizioni/ars-utils/ui.oauth';\r\n\r\n\r\nexport interface EvolutionLoginResult extends LoginResult<EvolutionUserInfo> {\r\n}\r\n\r\nexport interface EvolutionLoginInfo {\r\n context: EvolutionUserInfo;\r\n oauth?: LoginOAuthType ;\r\n remember?: boolean;\r\n}\r\n\r\nexport interface EvolutionUserLink {\r\n id?: number ;\r\n userId: number;\r\n userName?: string ;\r\n key: string;\r\n}\r\n\r\nexport interface EvolutionUserModuleInfo {\r\n name: string;\r\n module: number;\r\n level: number;\r\n hidden: boolean;\r\n}\r\n\r\n\r\nexport interface EvolutionLicenceModuleInfo {\r\n module: ERPModule;\r\n name: string;\r\n availableUsers: number;\r\n usedUsers: number;\r\n availableOption1?: number ;\r\n usedOption1?: number ;\r\n availableOption2?: number ;\r\n usedOption2?: number ;\r\n availableOption3?: number ;\r\n usedOption3?: number ;\r\n}\r\n\r\nexport interface EvolutionUserInfo {\r\n licenceId: number;\r\n userId: number;\r\n companyName: string;\r\n firstName: string;\r\n fullName: string;\r\n flags?: number ;\r\n email: string;\r\n sessionId?: string ;\r\n isTemporary?: boolean ;\r\n role: number;\r\n scope: number;\r\n roleName: string;\r\n roleLevel: number;\r\n allowedModules: EvolutionUserModuleInfo[];\r\n dashboard?: number ;\r\n dashboard2?: string ;\r\n code?: string ;\r\n subjectId?: number ;\r\n subjectName?: string ;\r\n siteId?: number ;\r\n siteName?: string ;\r\n siteCostCenter?: string ;\r\n departmentId?: number ;\r\n departmentName?: string ;\r\n expiryDate?: string ;\r\n isExpired?: boolean ;\r\n isAdministrator?: boolean ;\r\n isPowerUser?: boolean ;\r\n isObserver?: boolean ;\r\n isUser?: boolean ;\r\n isSupportUser?: boolean ;\r\n isGod?: boolean ;\r\n administrators: string;\r\n availableModules: EvolutionLicenceModuleInfo[];\r\n availableEmployees: number;\r\n usedEmployees: number;\r\n availableStorage: number;\r\n usedStorage: number;\r\n}\r\n\r\n\r\n\r\nexport enum EvolutionServiceFlags {\r\n None = 0,\r\n NotifySystemErrors = 1,\r\n DisplayConnectionStateMessages = 1 << 1,\r\n Embedded = 1 << 2\r\n\r\n}\r\n\r\nexport enum ERPModule {\r\n Formazione = 1,\r\n DPI = 1 << 1,\r\n SorveglianzaSanitaria = 1 << 2,\r\n RegistroEScadenzario = 1 << 3,\r\n AttrezzatureEImpianti = 1 << 4,\r\n Monitoraggio = 1 << 5,\r\n Bollettino = 1 << 6,\r\n Documenti = 1 << 7\r\n\r\n}\r\n\r\nexport interface EvolutionPlaceable {\r\n licenceId?: number ;\r\n companyName?: string ;\r\n subjectId?: number ;\r\n subjectName?: string ;\r\n siteId?: number ;\r\n siteName?: string ;\r\n departmentId?: number ;\r\n departmentName?: string ;\r\n placeId?: number ;\r\n}\r\n\r\nexport enum ERPExportType\r\n{\r\n Basic = 1,\r\n Detailed = 8,\r\n Complete = 9,\r\n Labels = 10,\r\n EmployeesCoursesMatrix = 21,\r\n EmployeesCoursesHoursMatrix = 22,\r\n EmployeesPPEsMatrix = 23,\r\n EmployeesHealthChecksMatrix = 24,\r\n TasksCoursesMatrix = 31,\r\n Training = 101,\r\n TrainingExpired = 102,\r\n TrainingExpiring = 103,\r\n TrainingAbsents = 104,\r\n TrainingClosed = 105,\r\n TrainingCurrentYear = 108,\r\n TrainingNextYear = 109,\r\n TrainingAnnualPlannng = 110,\r\n EquipmentsActivitiesCompleted = 201,\r\n EquipmentsChecksMatrix = 202,\r\n RSNormsUsage = 301,\r\n RSNormsSitesMatrix = 302,\r\n RSNormsSummary = 303,\r\n MonitoringLaws = 401,\r\n MonitoringActivities = 402,\r\n MonitoringSummary = 403,\r\n PPEs = 501,\r\n ComplianceStatistics = 601,\r\n HealthChecks = 701,\r\n}\r\n\r\nexport enum ERPExportFormat\r\n{\r\n Csv = 1,\r\n Word = 2,\r\n Pdf = 3\r\n}\r\n\r\nexport enum ERPExportSource\r\n{\r\n All = 1,\r\n Query = 2,\r\n Selection = 3\r\n}\r\n\r\nexport enum ERPExportPart\r\n{\r\n IncludeRisks = 101,\r\n IncludeTasks = 102,\r\n IncludeTaskHistory = 103,\r\n IncludeTrainingRequired = 111,\r\n IncludeTrainingDone = 112,\r\n SelectedEmployeeCourses = 121,\r\n IncludeDisabledEmployees = 131,\r\n IncludeDismissedEmployees = 132,\r\n IncludeDocumentUpdates = 201,\r\n ExcludeNonApplicableOrAcknowledged = 202,\r\n ExcluteAbblicabilityTable = 203,\r\n IncludeActivities = 204,\r\n GroupLaws = 205,\r\n IncludeApplicableOrAcknowledgedOnly = 4301,\r\n IncludePPEs = 501,\r\n IncludeHealthChecks = 601\r\n}\r\n\r\nexport interface EvolutionExportModel<T> extends SendToModel {\r\n searchParams: T;\r\n selection?: number[] ;\r\n type: ERPExportType;\r\n sort?: number ;\r\n source: ERPExportSource;\r\n format: ERPExportFormat;\r\n parts?: ERPExportPart[] ;\r\n automateReport?: boolean ;\r\n automatedReportId?: number ;\r\n automatedReportSheetName?: string;\r\n formatExtension?: string ; \r\n}\r\n\r\nexport enum ERPComplianceLawsSelectionType {\r\n Analysis = 1,\r\n Activity = 2,\r\n}\r\n\r\nexport enum ERPComplianceProfileRole {\r\n None = 0,\r\n Analyst = 1,\r\n Planner = 1 << 1,\r\n Validator = 1 << 2,\r\n Executor = 1 << 3,\r\n Observer = 1 << 4,\r\n}\r\n\r\nexport enum ERPComplianceProfileFlags {\r\n\r\n OverrideNotificationRegisterSettings = 1 << 4,\r\n}\r\n\r\nexport enum ERPComplianceScope {\r\n None = 0,\r\n Environment = 1,\r\n Safety = 1 << 1,\r\n FoodSafety = 1 << 2,\r\n Energy = 1 << 3,\r\n Health = 1 << 4,\r\n Maintenance = 1 << 5,\r\n Quality = 1 << 6,\r\n Organization = 1 << 7,\r\n Logistics = 1 << 8,\r\n Facility = 1 << 9,\r\n Security = 1 << 10,\r\n GenderEquality = 1 << 11,\r\n AntiCorruption = 1 << 12,\r\n Sustainability = 1 << 13,\r\n InformationSecurity = 1 << 14\r\n}\r\n\r\nexport enum ERPComplianceNotificationLimit {\r\n None = 0,\r\n PlannerOnly = 1,\r\n ExecutorOnly = 2,\r\n Both = 3,\r\n}\r\n\r\nexport enum ERPComplianceRegisterNotificationType {\r\n None = 0,\r\n NewAnalysis = 1,\r\n AnalysisCompleted = 1 << 1,\r\n AnalysisNoticePeriodStarted = 1 << 2,\r\n AnalysisPeriodExpired = 1 << 3,\r\n AnalysisLawChanged = 1 << 14,\r\n NewPlanning = 1 << 13,\r\n PlanningCompleted = 1 << 4,\r\n PlanningNoticePeriodStarted = 1 << 5,\r\n PlanningPeriodExpired = 1 << 6,\r\n NewValidation = 1 << 15,\r\n ValidationCompleted = 1 << 7,\r\n ValidationNoticePeriodStarted = 1 << 8,\r\n ValidationPeriodExpired = 1 << 9,\r\n NewDeadline = 1 << 16,\r\n DeadlineNoticePeriodStarted = 1 << 10,\r\n DeadlineExpired = 1 << 11,\r\n ActivityCompleted = 1 << 12,\r\n //NewNoncompliance = 1 << 17,\r\n //NonComplianceNoticePeriodStarted = 1 << 18,\r\n //NonCompliancePeriodExpired = 1 << 19,\r\n //NonComplianceCompleted = 1 << 20,\r\n LawChanged = 1 << 21,\r\n}\r\n\r\nexport enum ERPComplianceRegisterSiteImportOptions {\r\n CopyAttachments = 1,\r\n KeepOriginalDates = 1 << 1,\r\n DuplicateLaws = 1 << 2,\r\n DiscardNotApplicables = 1 << 3\r\n}\r\n\r\nexport const EvolutionComplianceProfileRoles = [\r\n { name: 'Analista', value: ERPComplianceProfileRole.Analyst },\r\n { name: 'Gestore', value: ERPComplianceProfileRole.Planner },\r\n //{ name: 'Validatore', value: ERPComplianceProfileRole.Validator },\r\n { name: 'Esecutore', value: ERPComplianceProfileRole.Executor },\r\n { name: 'Osservatore', value: ERPComplianceProfileRole.Observer },\r\n];\r\n\r\nexport const EvolutionComplianceProfileFlags = [\r\n { name: 'Deroghe e limitazioni', divider: true },\r\n {\r\n name:\r\n 'Questo profilo riceve regolarmente le notifiche indipendentemente dalla configurazione generale del registro',\r\n value: ERPComplianceProfileFlags.OverrideNotificationRegisterSettings,\r\n },\r\n];\r\n\r\nexport const EvolutionComplianceScopes = [\r\n { name: 'Ambiente', value: ERPComplianceScope.Environment },\r\n { name: 'Salute e sicurezza', value: ERPComplianceScope.Safety },\r\n {\r\n name: 'Sicurezza alimentare',\r\n value: ERPComplianceScope.FoodSafety,\r\n },\r\n { name: 'Energia', value: ERPComplianceScope.Energy },\r\n { name: 'Servizi generali', value: ERPComplianceScope.Facility },\r\n { name: 'Manutenzione', value: ERPComplianceScope.Maintenance },\r\n { name: 'Qualità', value: ERPComplianceScope.Quality },\r\n { name: 'Organizzazione', value: ERPComplianceScope.Organization },\r\n { name: 'Logistica', value: ERPComplianceScope.Logistics },\r\n { name: 'Security', value: ERPComplianceScope.Security },\r\n { name: \"Anticorruzione\", value: ERPComplianceScope.AntiCorruption },\r\n { name: \"Sostenibilità\", value: ERPComplianceScope.Sustainability },\r\n { name: \"Parità di genere\", value: ERPComplianceScope.GenderEquality },\r\n { name: \"Sicurezza dell'informazione\", value: ERPComplianceScope.InformationSecurity },\r\n\r\n];\r\n\r\nexport const EvolutionComplianceNotificationLimits = [\r\n { name: 'Nessuna limitazione', value: ERPComplianceNotificationLimit.None },\r\n {\r\n name: 'Solo gestore che ha pianificato',\r\n value: ERPComplianceNotificationLimit.PlannerOnly,\r\n },\r\n {\r\n name: \"Solo all'incaricato designato\",\r\n value: ERPComplianceNotificationLimit.ExecutorOnly,\r\n },\r\n {\r\n name: 'Solo a gestore e incaricato designato',\r\n value: ERPComplianceNotificationLimit.Both,\r\n },\r\n];\r\n\r\nexport const EvolutionComplianceNotifications = [\r\n { name: 'Verifica applicabilità e analisi', divider: true },\r\n {\r\n name: 'Richiesta analisi',\r\n value: ERPComplianceRegisterNotificationType.NewAnalysis,\r\n },\r\n {\r\n name: \"Preavviso: sta per scadere il termine fissato per l'analisi\",\r\n value: ERPComplianceRegisterNotificationType.AnalysisNoticePeriodStarted,\r\n },\r\n {\r\n name: \"Allarme: è scaduto il termine fissato per l'analisi\",\r\n value: ERPComplianceRegisterNotificationType.AnalysisPeriodExpired,\r\n },\r\n {\r\n name: 'Analisi completata',\r\n value: ERPComplianceRegisterNotificationType.AnalysisCompleted,\r\n },\r\n {\r\n name: 'Avviso norma modificata dal legislatore',\r\n value: ERPComplianceRegisterNotificationType.AnalysisLawChanged,\r\n },\r\n { name: 'Pianificazioni', divider: true },\r\n {\r\n name: 'Richiesta gestione',\r\n value: ERPComplianceRegisterNotificationType.NewPlanning,\r\n },\r\n {\r\n name: 'Preavviso: sta per scadere il termine fissato per la gestione',\r\n value: ERPComplianceRegisterNotificationType.PlanningNoticePeriodStarted,\r\n },\r\n {\r\n name: 'Allarme: è scaduto il termine fissato per la gestione',\r\n value: ERPComplianceRegisterNotificationType.PlanningPeriodExpired,\r\n },\r\n {\r\n name: 'Gestione completata',\r\n value: ERPComplianceRegisterNotificationType.PlanningCompleted,\r\n },\r\n {\r\n name: 'Attività completata',\r\n value: ERPComplianceRegisterNotificationType.ActivityCompleted,\r\n },\r\n /*{ name: 'Gestione non conformità', divider: true },\r\n {\r\n name: 'Apertura non comformità',\r\n value: ERPComplianceRegisterNotificationType.NewNoncompliance,\r\n },\r\n {\r\n name:\r\n \"Preavviso: sta per scadere il termine fissato per l'azione correttiva\",\r\n value:\r\n ERPComplianceRegisterNotificationType.NonComplianceNoticePeriodStarted,\r\n },\r\n {\r\n name: \"Allarme: è scaduto il termine fissato per l'azione correttiva\",\r\n value: ERPComplianceRegisterNotificationType.NonCompliancePeriodExpired,\r\n },\r\n {\r\n name: 'Chiusura non conformità',\r\n value: ERPComplianceRegisterNotificationType.NonComplianceCompleted,\r\n },*/\r\n /*{ name: 'Approvazioni', divider: true },\r\n { name: 'Richiesta approvazione', value: 1 << 14 },\r\n {\r\n name: \"Preavviso: sta per scadere il termine fissato per l'approvazione\",\r\n value: ERPComplianceRegisterNotificationType.ValidationNoticePeriodStarted,\r\n },\r\n {\r\n name: \"Allarme: è scaduto il termine fissato per l'approvazione\",\r\n value: ERPComplianceRegisterNotificationType.ValidationPeriodExpired,\r\n },\r\n {\r\n name: 'Approvazione concessa o negata',\r\n value: ERPComplianceRegisterNotificationType.ValidationCompleted,\r\n },*/\r\n { name: 'Scadenze', divider: true },\r\n {\r\n name: 'Preavviso: 1° promemoria sulla data di scadenza',\r\n value: ERPComplianceRegisterNotificationType.NewValidation,\r\n },\r\n {\r\n name: 'Avviso: 2° promemoria sulla data di scadenza',\r\n value: ERPComplianceRegisterNotificationType.DeadlineNoticePeriodStarted,\r\n },\r\n {\r\n name: 'Allarme: è scaduto il termine',\r\n value: ERPComplianceRegisterNotificationType.DeadlineExpired,\r\n },\r\n { name: 'Norme collegate', divider: true },\r\n {\r\n name: 'Modifica o abrogazione',\r\n value: ERPComplianceRegisterNotificationType.LawChanged,\r\n },\r\n\r\n];\r\n\r\nexport enum ERPComplianceLawState {\r\n ApplicableOrAknowledged = 1,\r\n NotApplicable = 2,\r\n NotAnalyzed = 3,\r\n ExpiredAnalysis = 4,\r\n UpdatedLaws = 5,\r\n Analyzed = 6,\r\n Abrogated = 7,\r\n Applicable = 8,\r\n Aknowledged = 9\r\n}\r\n\r\nexport enum ERPComplianceLawOrigin {\r\n National = 1,\r\n EU = 2,\r\n Regional = 3,\r\n Local = 4,\r\n Technical = 5,\r\n Voulontary = 6,\r\n Internal = 7,\r\n Other = 8,\r\n}\r\n\r\nexport const EvolutionComplianceLawStates = [\r\n { name: 'Applicabile', value: ERPComplianceLawState.Applicable },\r\n { name: 'Da conoscere', value: ERPComplianceLawState.Aknowledged },\r\n {\r\n name: 'Applicabile / da conoscere',\r\n value: ERPComplianceLawState.ApplicableOrAknowledged,\r\n },\r\n { name: 'Non applicabile', value: ERPComplianceLawState.NotApplicable },\r\n { name: 'Abrogata', value: ERPComplianceLawState.Abrogated },\r\n { name: 'Analizzata', value: ERPComplianceLawState.Analyzed },\r\n { name: 'Da definire', value: ERPComplianceLawState.NotAnalyzed },\r\n { name: 'In ritardo', value: ERPComplianceLawState.ExpiredAnalysis },\r\n {\r\n name: 'Con aggiornamenti pendenti',\r\n value: ERPComplianceLawState.UpdatedLaws,\r\n },\r\n];\r\n\r\nexport const EvolutionComplianceLawOrigins = [\r\n { name: 'Nazionale', value: ERPComplianceLawOrigin.National },\r\n { name: 'Comunitaria', value: ERPComplianceLawOrigin.EU },\r\n { name: 'Regionale', value: ERPComplianceLawOrigin.Regional },\r\n { name: 'Locale', value: ERPComplianceLawOrigin.Local },\r\n { name: 'Tecnica', value: ERPComplianceLawOrigin.Technical },\r\n { name: 'Interna', value: ERPComplianceLawOrigin.Internal },\r\n { name: 'Volontaria', value: ERPComplianceLawOrigin.Voulontary },\r\n { name: 'Altro', value: ERPComplianceLawOrigin.Other },\r\n];\r\n\r\nexport const EvolutionComplianceLawChangeStates = [\r\n { name: 'Aperto', value: 1 },\r\n { name: 'Chiuso', value: 2 },\r\n];\r\n\r\nexport enum ERPComplianceActivityState {\r\n NotPlanned = 1 << 7,\r\n Closed = 1 << 2,\r\n Expired = 1 << 3,\r\n Planned = 1 << 8,\r\n Cancelled = 1 << 9,\r\n UpdatedLaws = 1 << 10,\r\n AlreadyManaged = 1 << 11\r\n}\r\n\r\nexport const EvolutionComplianceActivityStates = [\r\n {\r\n name: 'Da definire',\r\n value: ERPComplianceActivityState.NotPlanned,\r\n },\r\n {\r\n name: 'Pianificata',\r\n value: ERPComplianceActivityState.Planned,\r\n },\r\n {\r\n name: 'Chiusa',\r\n value: ERPComplianceActivityState.Closed,\r\n },\r\n {\r\n name: 'In ritardo',\r\n value: ERPComplianceActivityState.Expired,\r\n },\r\n {\r\n name: 'Annullata',\r\n value: ERPComplianceActivityState.Cancelled,\r\n },\r\n {\r\n name: 'Gestita separatamente',\r\n value: ERPComplianceActivityState.AlreadyManaged,\r\n },\r\n {\r\n name: 'Con aggiornamenti pendenti',\r\n value: ERPComplianceActivityState.UpdatedLaws,\r\n },\r\n];\r\n\r\nexport const EvolutionComplianceObligationTypes = [\r\n { name: 'Autorizzazione', value: 1 },\r\n { name: 'Verifiche periodiche manutentive', value: 2 },\r\n { name: 'Misure organizzative', value: 3 },\r\n { name: 'Controlli e misurazioni', value: 4 },\r\n { name: 'Entrata in vigore', value: 5 },\r\n { name: 'Documenti aziendali obbligatori', value: 6 },\r\n {\r\n name: 'Altri adempimenti formali (comunicazioni, dichiarazioni, ecc...)',\r\n value: 7,\r\n },\r\n { name: 'Altro', value: 99 },\r\n];\r\n\r\nexport const EvolutionComplianceObligationAuthorities = [\r\n { name: 'Agenzia ECHA', value: 1 },\r\n { name: 'Albo Nazionale dei Gestori Ambientali', value: 2 },\r\n { name: 'ARPA', value: 4 },\r\n { name: 'ASL', value: 5 },\r\n { name: 'Camera di Commercio', value: 8 },\r\n { name: 'Comando provinciale dei Vigili del Fuoco', value: 10 },\r\n { name: 'Comune', value: 13 },\r\n { name: 'Consorzi gestione rifiuti particolari', value: 14 },\r\n { name: 'Gestore del servizio', value: 21 },\r\n { name: 'Gestore della rete di trasmissione nazionale', value: 22 },\r\n { name: 'INAIL - IPSEMA - ISPESL', value: 23 },\r\n { name: 'ISPRA', value: 26 },\r\n { name: 'Ministero', value: 27 },\r\n { name: 'Genio civile', value: 30 },\r\n { name: 'Organo di vigilanza competente', value: 31 },\r\n { name: 'Provincia', value: 33 },\r\n { name: 'Regione', value: 35 },\r\n { name: 'Uffici tecnici di finanza', value: 36 },\r\n { name: 'Ispettorato del lavoro', value: 37 },\r\n { name: 'Comitato Regionale Tecnico VF', value: 38 },\r\n { name: 'Prefetto', value: 39 },\r\n { name: 'Organismo notificato', value: 40 },\r\n { name: 'Città Metropolitana', value: 41 },\r\n { name: 'Nessuna', value: 28 },\r\n { name: 'Altro', value: 3 }\r\n];\r\n\r\nexport enum ERPRecurrenceFrequencyType {\r\n Day = 1,\r\n Month = 2,\r\n Year = 3,\r\n}\r\nexport const EvolutionRecurrenceFrequencyTypes = [\r\n { name: 'Anni', value: ERPRecurrenceFrequencyType.Year },\r\n { name: 'Mesi', value: ERPRecurrenceFrequencyType.Month },\r\n { name: 'Giorni', value: ERPRecurrenceFrequencyType.Day },\r\n];\r\n\r\nexport enum ERPPlacePermission {\r\n None = 0,\r\n Denied = 1,\r\n Read = 2,\r\n Write = 3\r\n}\r\n\r\nexport enum ERPPlace {\r\n Subject = 1,\r\n Site = 2,\r\n Department = 3,\r\n Area = 4,\r\n Line = 5\r\n}\r\nexport interface EvolutionPermission {\r\n placeId: number;\r\n userId: number;\r\n allowRead: number;\r\n allowWrite: number;\r\n allowNone: number;\r\n}\r\n\r\nexport interface EvolutionPlacePermission extends EvolutionPermission {\r\n id: number;\r\n subjectId?: number;\r\n siteId?: number;\r\n departmentId?: number;\r\n mode: number;\r\n}\r\n\r\nexport interface EvolutionContextInfo {\r\n id: number;\r\n userId?: number;\r\n name: string;\r\n permission: EvolutionPermission;\r\n placePermission: ERPPlacePermission;\r\n costCenter: string;\r\n selected?: boolean;\r\n level?: number;\r\n levelTitle?: string;\r\n}\r\n\r\nexport class EvolutionComplianceContextInfo {\r\n licenceId?: number;\r\n licencedCompany?: string;\r\n registerTitle?: string;\r\n registerId?: number;\r\n siteName?: string;\r\n siteId?: number;\r\n userId?: number;\r\n items?: EvolutionContextInfo[];\r\n}\r\n\r\nexport interface EvolutionChangeContextModel {\r\n userId?: number ;\r\n licenceId?: number ;\r\n subjectId?: number ;\r\n siteId?: number ;\r\n registerId?: number ;\r\n role?: ERPComplianceProfileRole ;\r\n permission?: ERPPlacePermission ;\r\n option1Value?: number ;\r\n option2Value?: number ;\r\n option3Value?: number ;\r\n allowObservers?: boolean ;\r\n allowDisabled?: boolean ;\r\n}\r\n\r\nexport interface EvolutionChangeContextResultModel {\r\n items: EvolutionContextInfo[];\r\n}\r\n\r\nexport interface EvolutionComplianceRegister extends EvolutionPlaceable {\r\n id: number;\r\n title?: string;\r\n enableNotifications?: boolean;\r\n enableNotification1?: boolean;\r\n enableNotification2?: boolean;\r\n enableNotification3?: boolean;\r\n enableNotification4?: boolean;\r\n enableNotification5?: boolean;\r\n enableNotification7?: boolean;\r\n enableNotification8?: boolean;\r\n enableNotification9?: boolean;\r\n notification1NoticeDays?: number;\r\n notification2NoticeDays?: number;\r\n notification2Limit?: number;\r\n notification3NoticeDays?: number;\r\n notification4NoticeDays?: number;\r\n notification4Limit?: number;\r\n notification5NoticeDays?: number;\r\n notification5Limit?: number;\r\n notification6Limit?: number;\r\n notification8NoticeDays?: number;\r\n notification8Limit?: number;\r\n enableActivityLawsPopulation?: boolean;\r\n enableLawChangesTracking?: boolean;\r\n automationMode?: number;\r\n automationScope?: number;\r\n disabled?: boolean;\r\n created?: Date;\r\n lastUpdated?: Date;\r\n lastUpdatedBy?: string;\r\n totalSites?: number;\r\n totalProfiles?: number;\r\n sites?: EvolutionComplianceRegisterSite[];\r\n oldId?: string;\r\n isAutomationEnabled?: boolean;\r\n automationModeDescription?: string;\r\n automationScopeDescription?: string;\r\n context?: EvolutionComplianceContextInfo;\r\n isMenuOpen?: boolean;\r\n isOver?: boolean;\r\n}\r\n\r\nexport interface EvolutionRegisterProfileSiteInfo extends EvolutionContextInfo {\r\n\r\n}\r\n\r\nexport interface EvolutionRegisterProfileUserInfo {\r\n userId: number;\r\n name: string;\r\n sites: EvolutionRegisterProfileSiteInfo[];\r\n}\r\n\r\nexport interface ComplianceRegisterUsersResultModel {\r\n users: EvolutionRegisterProfileUserInfo[];\r\n sites: EvolutionRegisterProfileSiteInfo[];\r\n}\r\n\r\nexport interface EvolutionComplianceRegisterSite {\r\n id: number;\r\n complianceRegisterId?: number;\r\n complianceSiteId?: number;\r\n disabled?: boolean;\r\n created?: Date;\r\n licenceId?: number;\r\n subjectId?: number;\r\n subjectName: string;\r\n siteId?: number;\r\n siteName?: string;\r\n departmentId?: number;\r\n departmentName?: string;\r\n registerTitle?: string;\r\n placeId?: number;\r\n oldSiteId?: string;\r\n}\r\n\r\nexport interface EvolutionComplianceLaw extends EvolutionPlaceable {\r\n id?: number;\r\n state?: number;\r\n complianceRegisterId?: number;\r\n lot?: number;\r\n topicId?: string;\r\n topicPath?: string;\r\n topicName?: string;\r\n summary?: string;\r\n scope?: number;\r\n source?: string;\r\n references?: EvolutionComplianceLawReference[];\r\n originalLawId?: number ;\r\n originRegion?: string ;\r\n origin?: number ;\r\n originAlternativeDescription?: string ;\r\n description?: string ;\r\n documentShortTitle?: string ;\r\n documentTitle?: string ;\r\n documentNumber?: string ;\r\n documentDate?: Date ;\r\n documentLastUpdate?: string ;\r\n documentLastUpdateShortTitle?: string ;\r\n documentUpdateNotes?: string ;\r\n documentValidated?: boolean ;\r\n documentId?: string ;\r\n documentModel?: number ;\r\n documentReferences?: string ;\r\n documentNotes?: string ;\r\n documentForceGlobalCheckForUpdates?: boolean;\r\n complianceCheckItem1?: boolean ;\r\n complianceCheckItem2?: boolean ;\r\n complianceCheckItem3?: boolean ;\r\n complianceCheckItem4?: boolean ;\r\n complianceCheckItem5?: boolean ;\r\n complianceCheckItem6?: boolean ;\r\n complianceCheckItem7?: boolean ;\r\n complianceCheckItem8?: boolean ;\r\n complianceCheckItem9?: boolean ;\r\n complianceCheckItem10?: boolean ;\r\n complianceCheckItem11?: boolean ;\r\n complianceCheckItem12?: boolean ;\r\n alternativeComplianceCheckItem?: boolean ;\r\n alternativeComplianceDescription?: string ;\r\n applicability?: number ;\r\n analyzedBy?: string ;\r\n analystOperatorId?: number ;\r\n analysisExpiringDate?: Date ;\r\n analysisDate?: Date ;\r\n analysisNotes?: string ;\r\n analysisNoticeDate?: string ;\r\n group1?: string ;\r\n group2?: string ;\r\n count?: number ;\r\n created?: Date ;\r\n createdBy?: string ;\r\n lastUpdated?: Date ;\r\n lastUpdatedBy?: string ;\r\n}\r\n\r\nexport interface EvolutionQueryRegisterProfilesModel extends QueryModel {\r\n complianceRegisterId?: number;\r\n siteId?: number;\r\n userId?: number;\r\n licenceId?: number;\r\n name?: string;\r\n role?: number;\r\n allowObservers?: boolean;\r\n allowDisabled?: boolean;\r\n state?: number;\r\n}\r\n\r\nexport interface EvolutionComplianceRegisterProfile {\r\n id: number;\r\n licenceId?: number;\r\n userId?: number;\r\n passiveUserName?: string;\r\n passiveUserOperatorId?: number;\r\n complianceRegisterId?: number;\r\n complianceSiteId?: number;\r\n scopes?: number;\r\n selectedScopes?: number[];\r\n roles?: number;\r\n selectedRoles?: number[];\r\n notifications?: number;\r\n flags?: number;\r\n disabled?: boolean;\r\n created?: Date;\r\n lastUpdated?: Date;\r\n lastUpdatedBy?: string;\r\n subjectId?: number;\r\n subjectName?: string;\r\n siteId?: number;\r\n siteName?: string;\r\n siteDisabled?: boolean;\r\n departmentId?: number;\r\n departmentName?: string;\r\n passiveUserEmail?: string;\r\n placeId?: number;\r\n userEmail?: string;\r\n userOperatorId?: number;\r\n userDisabled?: boolean;\r\n registerDisabled?: boolean;\r\n registerTitle?: string;\r\n name?: string;\r\n scopeNames?: string;\r\n isAdministrator?: boolean;\r\n isObserver?: boolean;\r\n denied?: boolean;\r\n oldId?: string;\r\n operatorId?: number;\r\n isMenuOpen?: boolean;\r\n isOver?: boolean;\r\n context?: EvolutionComplianceContextInfo;\r\n}\r\nexport interface EvolutionComplianceLawDocumentInfo {\r\n documentId?: string;\r\n documentId2?: string;\r\n title2?: string;\r\n title1?: string;\r\n number?: string;\r\n date?: Date;\r\n origin?: number;\r\n originDescription?: string;\r\n originAlternativeDescription?: string;\r\n originRegion?: string;\r\n notes?: string;\r\n references?: EvolutionComplianceLawReference[];\r\n forceGlobalCheckForUpdates?: boolean;\r\n validated?: boolean;\r\n description?: string;\r\n}\r\n\r\nexport interface EvolutionComplianceLawsAddParams extends EvolutionComplianceLaw {\r\n context?: EvolutionComplianceContextInfo;\r\n documents?: EvolutionComplianceLawDocumentInfo[];\r\n shouldNotifyAnalysisCompletionAgain?: boolean;\r\n scopes?: number[];\r\n sites?: number[];\r\n registers?: number[];\r\n}\r\n\r\nexport interface EvolutionComplianceLaswExportParams extends EvolutionExportModel<any> {}\r\n\r\nexport interface EvolutionComplianceLawReference {\r\n id?: number ;\r\n complianceLawId?: number ;\r\n text: string;\r\n description?: string ;\r\n anchor: string;\r\n}\r\n\r\nexport interface EvolutionComplianceActivity extends EvolutionPlaceable {\r\n id: number;\r\n state: number;\r\n monitoringActivityId?: number;\r\n monitoringActivityTaskId?: number;\r\n complianceRegisterId?: number;\r\n childId?: number ;\r\n parentId?: number ;\r\n lot?: number ; \r\n summary?: string;\r\n scope?: number;\r\n topicId?: string ;\r\n topicPath?: string;\r\n topicName?: string;\r\n mandatory?: boolean ;\r\n obligationType?: number ;\r\n obligationAuthorityId?: number ;\r\n obligationNotes?: string;\r\n obligationCheckPoint?: boolean ;\r\n description?: string;\r\n deadlineRecurrent?: boolean ;\r\n deadlineFrequency?: number ;\r\n deadlineFrequencyType?: number ;\r\n deadlineFrequencyEndOfMonth?: boolean ;\r\n deadlineFirstNoticeDays?: number ;\r\n deadlineLastNoticeDays?: number ;\r\n deadlineFirstNoticeDate?: Date ;\r\n deadlineLastNoticeDate?: Date ;\r\n deadlineExpiringDate?: Date ;\r\n planningNoticeDate?: Date ;\r\n planningExpiringDate?: Date ;\r\n planningDate?: Date ;\r\n plannedBy?: string;\r\n plannerOperatorId?: number ;\r\n planningApplicability?: number ;\r\n planningNotificationAdditionalEmailHeader?: string;\r\n planningNotificationAdditionalEmails?: string;\r\n planningNotificationAdditionalEmailsForAlertsOnly?: string;\r\n planningNamedExecutorOperatorId?: number ;\r\n planningNamedExecutorName?: string;\r\n planningNamedExecutorManagerOperatorId?: number ;\r\n planningNamedExecutorManagerName?: string;\r\n planningScheduleNextFromExecutionDate?: boolean ;\r\n planningNotes?: string;\r\n executorOperatorId?: number ;\r\n executed?: boolean;\r\n executedBy?: string;\r\n executionDate?: Date;\r\n externalReference?: string;\r\n externalDescription?: string;\r\n group1?: string;\r\n group2?: string;\r\n notes?: string;\r\n created?: Date;\r\n createdBy?: string;\r\n lastUpdated?: Date ;\r\n lastUpdatedBy?: string;\r\n\r\n}\r\n\r\nexport interface EvolutionComplianceActivitiesAddParams extends EvolutionComplianceActivity {\r\n context?: EvolutionComplianceContextInfo;\r\n complianceLawId?: number;\r\n monitoringLawId?: number;\r\n enableLawChangesTracking?: boolean;\r\n enableActivityLawsPopulation?: boolean;\r\n shouldNotifyPlanningCompletionAgain?: boolean;\r\n scopes?: number[];\r\n sites?: number[];\r\n registers?: number[];\r\n document?: EvolutionComplianceLawDocumentInfo;\r\n}","import { HttpClient, HttpHeaders } from '@angular/common/http';\r\nimport { inject, Injectable, OnDestroy, signal } from '@angular/core';\r\nimport { ApiResult, BroadcastMessageInfo, BroadcastService, FolderTree, INode, SystemUtils } from '@arsedizioni/ars-utils/core';\r\nimport { DialogService } from '@arsedizioni/ars-utils/ui';\r\nimport { EMPTY, of, Subscription, throwError } from 'rxjs';\r\nimport { catchError, finalize, map } from 'rxjs/operators';\r\nimport { LoginOAuthType } from '@arsedizioni/ars-utils/ui.oauth';\r\nimport { EvolutionChangeContextModel, EvolutionChangeContextResultModel, EvolutionComplianceActivitiesAddParams, EvolutionComplianceActivity, EvolutionComplianceLaw, EvolutionComplianceLawsAddParams, EvolutionComplianceRegister, EvolutionComplianceRegisterProfile, EvolutionLoginInfo, EvolutionLoginResult, EvolutionQueryRegisterProfilesModel, EvolutionServiceFlags, EvolutionUserLink } from './../definitions';\r\nimport { EvolutionMessages } from '../messages';\r\n\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class EvolutionService implements OnDestroy {\r\n\r\n\r\n private httpClient = inject(HttpClient);\r\n private broadcastService = inject(BroadcastService);\r\n private broadcastServiceSubscription?: Subscription;\r\n private dialogService = inject(DialogService);\r\n\r\n private _serviceUri: string = undefined;\r\n get serviceUri(): string {\r\n return this._serviceUri;\r\n }\r\n private _flags: EvolutionServiceFlags = EvolutionServiceFlags.None;\r\n get flags(): EvolutionServiceFlags {\r\n return this._flags;\r\n }\r\n private _loginInfo?: EvolutionLoginInfo;\r\n get loginInfo(): EvolutionLoginInfo | undefined {\r\n if (!this._loginInfo) {\r\n const loginInfo = localStorage.getItem('evolution_context');\r\n if (loginInfo) {\r\n try {\r\n this._loginInfo = JSON.parse(loginInfo) as EvolutionLoginInfo;\r\n } catch { }\r\n }\r\n }\r\n return this._loginInfo;\r\n }\r\n public readonly loggedIn = signal<boolean>(false);\r\n public readonly loggingIn = signal<boolean>(false);\r\n\r\n\r\n\r\n ngOnDestroy() {\r\n if (this.broadcastServiceSubscription) {\r\n this.broadcastServiceSubscription.unsubscribe();\r\n }\r\n }\r\n\r\n /**\r\n * Initialize service\r\n * @param serviceUri : the service uri\r\n * @param flags: the service flags. Default is none.\r\n */\r\n initialize(\r\n serviceUri: string,\r\n flags: EvolutionServiceFlags = EvolutionServiceFlags.None) {\r\n // Create unique client id and machine id\r\n if (!sessionStorage.getItem('evolution_client_id')) {\r\n sessionStorage.setItem('evolution_client_id', \r\n (flags && EvolutionServiceFlags.Embedded) > 0\r\n ? 'embedded'\r\n : SystemUtils.generateUUID());\r\n }\r\n \r\n // Initialize\r\n this._serviceUri = serviceUri;\r\n this._flags = flags;\r\n\r\n // React to message broadcasting\r\n if (!this.broadcastServiceSubscription) {\r\n this.broadcastServiceSubscription = this.broadcastService.getMessage().subscribe((message: BroadcastMessageInfo) => {\r\n if (message.id === EvolutionMessages.LOGIN_CHANGED) {\r\n this.login(\r\n null,\r\n null,\r\n true).subscribe({\r\n next: r => {\r\n if (!r.success) {\r\n this.dialogService.error(\r\n \"Le credenziali di accesso sono cambiate o non sono più valide. Esegui un nuovo accesso.\",\r\n undefined,\r\n \"Errore di Evolution\");\r\n } else {\r\n if ((this.flags & EvolutionServiceFlags.DisplayConnectionStateMessages) > 0) {\r\n this.dialogService.toast('Connesso a Evolution', 1500, 'power');\r\n }\r\n }\r\n },\r\n error: () => { console.error(\"Evolution non disponibile.\") } // Avoid unwanted errors on client\r\n });\r\n } else if (message.id === EvolutionMessages.LOGOUT) {\r\n if (this.loggedIn()) {\r\n this.logout().subscribe(r => {\r\n if (!r.success) {\r\n if (r.message) {\r\n this.dialogService.error(\"<p>\" + r.message + \"</p><br><br><hr><p class='small'><i>Per eliminare la configurazione di Evolution accedere a:<br><b>menu > personalizza > collegamenti</b></i></p>\", null, \"Errore di Evolution\");\r\n }\r\n } else {\r\n if ((this.flags & EvolutionServiceFlags.DisplayConnectionStateMessages) > 0) {\r\n this.dialogService.toast('Disconnesso da Evolution', 1500, 'power_off');\r\n }\r\n }\r\n });\r\n } else {\r\n this.clear();\r\n }\r\n }\r\n });\r\n }\r\n\r\n // Eveluate current session storage in case of page refresh (F5)\r\n if (this.loggedIn()) {\r\n // Auto login\r\n this.loggingIn.set(false);\r\n // Notify \r\n this.broadcastService.sendMessage(EvolutionMessages.LOGIN_COMPLETED);\r\n }\r\n }\r\n\r\n\r\n /**\r\n * Ping\r\n */\r\n ping() {\r\n this.httpClient.get<ApiResult<number>>(\r\n this._serviceUri + '/ping?nocache=' + SystemUtils.generateUUID()\r\n )\r\n .pipe(catchError(() => { return EMPTY }))\r\n .subscribe();\r\n }\r\n\r\n\r\n\r\n /**\r\n * Store login info\r\n */\r\n storeContext() {\r\n localStorage.setItem('evolution_context', JSON.stringify(this._loginInfo));\r\n }\r\n\r\n\r\n /**\r\n * Update context\r\n * @param result: the new context\r\n */\r\n updateContext(result: EvolutionLoginResult) {\r\n if (!this._loginInfo) {\r\n this._loginInfo = { context: undefined };\r\n }\r\n this._loginInfo.context = result.context\r\n this.storeContext();\r\n }\r\n\r\n /**\r\n * Perform auto login using current link data\r\n * @param onSuccess: function to execute on seccess\r\n */\r\n autoLogin(onSuccess?: Function) {\r\n this.login(null, null, true)\r\n .pipe(finalize(() => this.dialogService.clearBusy()))\r\n .subscribe({\r\n next: r => {\r\n if (!r.success) {\r\n this.dialogService.error(r.message, null, \"Errore in Evolution\");\r\n } else {\r\n if (!r.value.requiresMfa) {\r\n this.dialogService.toast('Connesso ad Evolution', 1500, 'power');\r\n }\r\n if (onSuccess) {\r\n onSuccess();\r\n }\r\n }\r\n },\r\n error: () => { this.dialogService.error(\"Evolution non disponibile.\") }\r\n });\r\n return true;\r\n }\r\n\r\n /**\r\n * Perform auto logout\r\n * @param onSuccess: function to execute on seccess\r\n */\r\n autoLogout(onSuccess?: Function) {\r\n this.logout()\r\n .subscribe({\r\n next: r => {\r\n if (!r.success) {\r\n if (r.message) {\r\n this.dialogService.error(r.message, null, \"Errore in Evolution\");\r\n }\r\n this.broadcastService.sendMessage(EvolutionMessages.LOGIN_CHANGED);\r\n } else {\r\n this.dialogService.toast('Disconnesso da Evolution', 1500, 'power_off');\r\n }\r\n },\r\n error: () => { },\r\n complete: () => {\r\n this.dialogService.clearBusy()\r\n if (onSuccess) {\r\n onSuccess();\r\n }\r\n }\r\n });\r\n }\r\n\r\n /**\r\n * Perform login \r\n * @param email: the optional email if using OAuth2\r\n * @parma password: the optional password if using OAuth2\r\n * @param remember: remember credentials \r\n * @param oauth: the optional open authentication supported\r\n * @param oauthAccessToken: the optional OAuth2 access token\r\n */\r\n login(email?: string,\r\n password?: string,\r\n remember?: boolean,\r\n oauth?: LoginOAuthType,\r\n oauthAccessToken: string | undefined = sessionStorage.getItem(\"evolution_oauth_token\") ?? undefined) {\r\n return this.httpClient\r\n .post<ApiResult<EvolutionLoginResult>>(\r\n this._serviceUri + '/login2',\r\n {\r\n user: oauth ? null : email,\r\n password: oauth ? null : password,\r\n remember: remember,\r\n oauth: oauth\r\n },\r\n {\r\n headers:\r\n !oauth || !oauthAccessToken\r\n ? new HttpHeaders()\r\n : new HttpHeaders()\r\n .set(\"Authorization\", oauthAccessToken ?? '')\r\n })\r\n .pipe(\r\n catchError(err => {\r\n return throwError(() => err);\r\n }),\r\n map((r: ApiResult<EvolutionLoginResult>) => {\r\n if (r.success) {\r\n if (!this._loginInfo) {\r\n this._loginInfo = { context: undefined }\r\n }\r\n this._loginInfo.oauth = oauth;\r\n this._loginInfo.remember = remember;\r\n if (!oauth && r.value.requiresMfa) {\r\n // Notify login is pending\r\n this.broadcastService.sendMessage(EvolutionMessages.LOGIN_PENDING, {});\r\n } else {\r\n // Complete login\r\n this.completeLogin(r.value);\r\n }\r\n }\r\n return r;\r\n })\r\n );\r\n }\r\n\r\n /**\r\n * Complete login\r\n * @param result : the login result\r\n */\r\n private completeLogin(\r\n result: EvolutionLoginResult) {\r\n // Update context info \r\n this.updateContext(result);\r\n this.loggedIn.set(!result.context?.isTemporary);\r\n this.loggingIn.set(false);\r\n // Keep alive\r\n // Notify\r\n this.broadcastService.sendMessage(EvolutionMessages.LOGIN_COMPLETED);\r\n }\r\n\r\n\r\n /**\r\n * Confirm MFA procedure\r\n * @param code: the confirm code\r\n */\r\n confirmIdentity(code: string) {\r\n return this.httpClient\r\n .post<ApiResult<EvolutionLoginResult>>(\r\n this._serviceUri + '/login/confirm/' + code,\r\n {},\r\n )\r\n .pipe(\r\n catchError((err) => {\r\n return throwError(() => err);\r\n }),\r\n map((r: ApiResult<EvolutionLoginResult>) => {\r\n if (r.success) {\r\n // Complete login\r\n this.completeLogin(r.value);\r\n }\r\n return r;\r\n }),\r\n );\r\n }\r\n\r\n /**\r\n * Perform logout\r\n * @param forget: true to dispose all user informations\r\n */\r\n logout(forget: boolean = false) {\r\n return this.httpClient.post<any>(this._serviceUri + '/logout/?forget=' + forget, {})\r\n .pipe(\r\n finalize(() => {\r\n this.clear();\r\n // Clean up\r\n localStorage.removeItem('evolution_context');\r\n }),\r\n catchError((_e) => {\r\n return of([]);\r\n }));\r\n }\r\n\r\n\r\n /**\r\n * Switch the current login to a new one with the same credentials except role possibly (context change)\r\n * @param id : new user id\r\n */\r\n loginSwitch(id: number) {\r\n return this.httpClient\r\n .post<ApiResult<EvolutionLoginResult>>(\r\n this._serviceUri + '/login/switch',\r\n {\r\n userId: id,\r\n }\r\n )\r\n .pipe(\r\n catchError((err) => {\r\n return throwError(() => err);\r\n }),\r\n map((r: ApiResult<EvolutionLoginResult>) => {\r\n if (r.success) {\r\n // Update login\r\n this.completeLogin(r.value);\r\n }\r\n return r;\r\n })\r\n );\r\n }\r\n\r\n\r\n /**\r\n * Reset login refresh timer and login state\r\n */\r\n reset() {\r\n // Clear login info\r\n this._loginInfo = undefined;\r\n // Logged out\r\n this.loggedIn.set(false);\r\n // Notify\r\n this.broadcastService.sendMessage(EvolutionMessages.LOGOUT_COMPLETED);\r\n }\r\n\r\n /**\r\n * Clear login data\r\n * @param clearOAuthToken: true to clear oauth token also\r\n */\r\n clear(clearOAuthToken: boolean = false) {\r\n // Clear local storage\r\n sessionStorage.removeItem('evolution_auth');\r\n sessionStorage.removeItem('evolution_refresh');\r\n sessionStorage.removeItem('evolution_oauth');\r\n if (clearOAuthToken) {\r\n sessionStorage.removeItem('evolution_oauth_token');\r\n }\r\n\r\n // Reset login\r\n this.reset();\r\n }\r\n \r\n /**\r\n * Convert folders in a tree of Node object.\r\n * @param folders : the subfolders group or null to root\r\n */\r\n toNodes(folders: INode[]): INode[] {\r\n return this._toNodes(folders, null);\r\n }\r\n\r\n /**\r\n * Convert folders in a tree of Node object.\r\n * @param folders : the children group or null to root\r\n */\r\n private _toNodes(folders: INode[], parent?: INode): INode[] {\r\n let nodes: INode[] = [];\r\n folders.forEach(n => {\r\n let node: INode = {\r\n id: n.id,\r\n name: n.name,\r\n count: n.count,\r\n parent: parent,\r\n children: null,\r\n bag: n,\r\n };\r\n node.children =\r\n n.children && n.children.length > 0\r\n ? this._toNodes(n.children, node)\r\n : [];\r\n nodes.push(node);\r\n });\r\n return nodes;\r\n }\r\n\r\n /**\r\n * Retrieve the taxonomy\r\n */\r\n getTaxonomy() {\r\n return this.httpClient.get<ApiResult<FolderTree>>(\r\n this._serviceUri + '/taxonomy'\r\n );\r\n }\r\n\r\n /**\r\n * Retrieve groups\r\n * @param group: the group number\r\n * @param register: the optional register id. Default is null.\r\n */\r\n getGroups(group: number = 1, register?: number) {\r\n return this.httpClient.get<ApiResult<string[]>>(\r\n this._serviceUri +\r\n (register\r\n ? '/compliance/groups/?group=' +\r\n group +\r\n '®ister=' +\r\n register\r\n : '/compliance/groups/?group=' + group)\r\n );\r\n }\r\n\r\n ////\r\n // CONTEXT\r\n ////\r\n /**\r\n * Change context\r\n */\r\n changeContext(params: EvolutionChangeContextModel) {\r\n return this.httpClient.post<ApiResult<EvolutionChangeContextResultModel>>(\r\n this._serviceUri + '/compliance/context',\r\n params\r\n );\r\n }\r\n\r\n ////\r\n // REGISTERS\r\n ////\r\n\r\n\r\n /**\r\n * Retrieve a register\r\n * @param id the register id\r\n */\r\n getRegister(id: number) {\r\n return this.httpClient.get<ApiResult<EvolutionComplianceRegister>>(\r\n this._serviceUri +\r\n '/compliance/registers/' + id\r\n );\r\n }\r\n\r\n\r\n /**\r\n * Collect register profiles\r\n * @param params parameters\r\n */\r\n collectRegisterProfiles(params: EvolutionQueryRegisterProfilesModel) {\r\n return this.httpClient.post<ApiResult<EvolutionComplianceRegisterProfile[]>>(\r\n this._serviceUri +\r\n '/compliance/registers/profiles/collect',\r\n params\r\n );\r\n }\r\n\r\n\r\n ////\r\n // LAWS\r\n ////\r\n\r\n /**\r\n * Add one or more laws\r\n * @param params parameters\r\n */\r\n addLaws(params: EvolutionComplianceLawsAddParams) {\r\n return this.httpClient.post<ApiResult<EvolutionComplianceLaw[]>>(\r\n this._serviceUri + '/compliance/laws/add',\r\n params\r\n );\r\n }\r\n\r\n ////\r\n // ACTIVITIES\r\n ////\r\n\r\n\r\n\r\n /**\r\n * Add one or more activities\r\n * @param params parameters\r\n */\r\n addActivities(params: EvolutionComplianceActivitiesAddParams) {\r\n return this.httpClient.post<ApiResult<EvolutionComplianceActivity>>(\r\n this._serviceUri + '/compliance/activities/add',\r\n params\r\n );\r\n }\r\n\r\n /**\r\n * Export laws\r\n * @param params parameters\r\n */\r\n exportLaws(params: any) {\r\n return this.httpClient.post(\r\n this._serviceUri + '/compliance/laws/export',\r\n params,\r\n { responseType: 'blob' }\r\n );\r\n }\r\n\r\n ///\r\n // LINKS\r\n ///\r\n\r\n /**\r\n * Save a user link\r\n * @param item: the user link\r\n */\r\n saveLink(item: EvolutionUserLink) {\r\n return this.httpClient.post<ApiResult<boolean>>(\r\n this._serviceUri + '/account/links/save',\r\n item\r\n );\r\n }\r\n\r\n /**\r\n * Delete a user link\r\n * @param item: the user link\r\n */\r\n deleteLink(item: EvolutionUserLink) {\r\n return this.httpClient.post<ApiResult<boolean>>(\r\n this._serviceUri + '/account/links/delete',\r\n item\r\n );\r\n }\r\n}\r\n","import { HttpEvent, HttpHandler, HttpInterceptor, HttpRequest } from '@angular/common/http';\r\nimport { Injectable, inject } from '@angular/core';\r\nimport { BroadcastService, ErrorInfo } from '@arsedizioni/ars-utils/core';\r\nimport { Observable, catchError, throwError } from 'rxjs';\r\nimport { EvolutionService } from '../services/evolution.service';\r\nimport { EvolutionServiceFlags } from '../definitions';\r\nimport { EvolutionMessages } from '../messages';\r\n\r\n\r\n@Injectable()\r\nexport class EvolutionAuthInterceptor implements HttpInterceptor {\r\n private evolutionService = inject(EvolutionService);\r\n private broadcastService = inject(BroadcastService);\r\n private lastErrorTime: number = -1;\r\n\r\n intercept(\r\n request: HttpRequest<any>,\r\n next: HttpHandler\r\n ): Observable<HttpEvent<any>> {\r\n if (request.url.startsWith(this.evolutionService.serviceUri ?? '')) {\r\n request = request.clone({ \r\n withCredentials: true, \r\n setHeaders: { \r\n 'ngsw-bypass': 'ngsw-bypass',\r\n 'X-Client-Id': sessionStorage.getItem('evolution_client_id') ?? '' \r\n }});\r\n return next.handle(request)\r\n .pipe(\r\n catchError(error => {\r\n if (error.url.startsWith(this.evolutionService.serviceUri)) {\r\n const errorStatus = parseInt(error.status ?? \"0\");\r\n if ((errorStatus > 0 && errorStatus < 500) || (this.evolutionService.flags & EvolutionServiceFlags.NotifySystemErrors) > 0) {\r\n const errorTime = new Date().getTime();\r\n if (errorTime - this.lastErrorTime > 5000) {\r\n this.lastErrorTime = errorTime;\r\n let message = \"\"\r\n switch (errorStatus) {\r\n case 0:\r\n message = \"In questo momento Evolution non è disponibile. Riprova tra qualche minuto.\";\r\n break;\r\n case 403:\r\n message = \"Non hai i permessi necessari per eseguire l'operazione richiesta.\";\r\n break;\r\n default:\r\n message = (error.error?.message ?? error.message ?? \"Impossibile eseguire l'operazione richiesta.\").replaceAll(\"\\r\\n\", \"</p><p>\");\r\n break;\r\n }\r\n this.broadcastService.sendMessage(\r\n EvolutionMessages.ERROR,\r\n {\r\n invalidateSession: errorStatus === 405 || errorStatus === 410,\r\n message: message,\r\n title: \"Errore in Clipper\",\r\n errorStatus: errorStatus,\r\n service: this.evolutionService.serviceUri\r\n } as ErrorInfo);\r\n }\r\n }\r\n }\r\n return throwError(() => error);\r\n }));\r\n }\r\n return next.handle(request);\r\n }\r\n}\r\n","import { NgModule } from '@angular/core';\r\n\r\n@NgModule()\r\nexport class EvolutionCommonModule {}\r\n\r\n// Other exports\r\nexport * from './messages';\r\nexport * from './definitions';\r\nexport * from './interceptors/auth.interceptor';\r\nexport * from './services/evolution.service';\r\n","/*\r\n * Public API Surface of ars-utils\r\n */\r\n\r\nexport * from './common/common.module';\r\n\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":["catchError"],"mappings":";;;;;;;;AAAO,MAAM,iBAAiB,GAAG;;AAE/B,IAAA,KAAK,EAAE,YAAY;;AAGnB,IAAA,aAAa,EAAE,oBAAoB;AACnC,IAAA,eAAe,EAAE,sBAAsB;AACvC,IAAA,gBAAgB,EAAE,uBAAuB;AACzC,IAAA,aAAa,EAAE,oBAAoB;AACnC,IAAA,MAAM,EAAE;;;IC2EE;AAAZ,CAAA,UAAY,qBAAqB,EAAA;AAC/B,IAAA,qBAAA,CAAA,qBAAA,CAAA,MAAA,CAAA,GAAA,CAAA,CAAA,GAAA,MAAQ;AACR,IAAA,qBAAA,CAAA,qBAAA,CAAA,oBAAA,CAAA,GAAA,CAAA,CAAA,GAAA,oBAAsB;AACtB,IAAA,qBAAA,CAAA,qBAAA,CAAA,gCAAA,CAAA,GAAA,CAAA,CAAA,GAAA,gCAAuC;AACvC,IAAA,qBAAA,CAAA,qBAAA,CAAA,UAAA,CAAA,GAAA,CAAA,CAAA,GAAA,UAAiB;AAEnB,CAAC,EANW,qBAAqB,KAArB,qBAAqB,GAAA,EAAA,CAAA,CAAA;IAQrB;AAAZ,CAAA,UAAY,SAAS,EAAA;AACnB,IAAA,SAAA,CAAA,SAAA,CAAA,YAAA,CAAA,GAAA,CAAA,CAAA,GAAA,YAAc;AACd,IAAA,SAAA,CAAA,SAAA,CAAA,KAAA,CAAA,GAAA,CAAA,CAAA,GAAA,KAAY;AACZ,IAAA,SAAA,CAAA,SAAA,CAAA,uBAAA,CAAA,GAAA,CAAA,CAAA,GAAA,uBAA8B;AAC9B,IAAA,SAAA,CAAA,SAAA,CAAA,sBAAA,CAAA,GAAA,CAAA,CAAA,GAAA,sBAA6B;AAC7B,IAAA,SAAA,CAAA,SAAA,CAAA,uBAAA,CAAA,GAAA,EAAA,CAAA,GAAA,uBAA8B;AAC9B,IAAA,SAAA,CAAA,SAAA,CAAA,cAAA,CAAA,GAAA,EAAA,CAAA,GAAA,cAAqB;AACrB,IAAA,SAAA,CAAA,SAAA,CAAA,YAAA,CAAA,GAAA,EAAA,CAAA,GAAA,YAAmB;AACnB,IAAA,SAAA,CAAA,SAAA,CAAA,WAAA,CAAA,GAAA,GAAA,CAAA,GAAA,WAAkB;AAEpB,CAAC,EAVW,SAAS,KAAT,SAAS,GAAA,EAAA,CAAA,CAAA;IAwBT;AAAZ,CAAA,UAAY,aAAa,EAAA;AAEvB,IAAA,aAAA,CAAA,aAAA,CAAA,OAAA,CAAA,GAAA,CAAA,CAAA,GAAA,OAAS;AACT,IAAA,aAAA,CAAA,aAAA,CAAA,UAAA,CAAA,GAAA,CAAA,CAAA,GAAA,UAAY;AACZ,IAAA,aAAA,CAAA,aAAA,CAAA,UAAA,CAAA,GAAA,CAAA,CAAA,GAAA,UAAY;AACZ,IAAA,aAAA,CAAA,aAAA,CAAA,QAAA,CAAA,GAAA,EAAA,CAAA,GAAA,QAAW;AACX,IAAA,aAAA,CAAA,aAAA,CAAA,wBAAA,CAAA,GAAA,EAAA,CAAA,GAAA,wBAA2B;AAC3B,IAAA,aAAA,CAAA,aAAA,CAAA,6BAAA,CAAA,GAAA,EAAA,CAAA,GAAA,6BAAgC;AAChC,IAAA,aAAA,CAAA,aAAA,CAAA,qBAAA,CAAA,GAAA,EAAA,CAAA,GAAA,qBAAwB;AACxB,IAAA,aAAA,CAAA,aAAA,CAAA,6BAAA,CAAA,GAAA,EAAA,CAAA,GAAA,6BAAgC;AAChC,IAAA,aAAA,CAAA,aAAA,CAAA,oBAAA,CAAA,GAAA,EAAA,CAAA,GAAA,oBAAuB;AACvB,IAAA,aAAA,CAAA,aAAA,CAAA,UAAA,CAAA,GAAA,GAAA,CAAA,GAAA,UAAc;AACd,IAAA,aAAA,CAAA,aAAA,CAAA,iBAAA,CAAA,GAAA,GAAA,CAAA,GAAA,iBAAqB;AACrB,IAAA,aAAA,CAAA,aAAA,CAAA,kBAAA,CAAA,GAAA,GAAA,CAAA,GAAA,kBAAsB;AACtB,IAAA,aAAA,CAAA,aAAA,CAAA,iBAAA,CAAA,GAAA,GAAA,CAAA,GAAA,iBAAqB;AACrB,IAAA,aAAA,CAAA,aAAA,CAAA,gBAAA,CAAA,GAAA,GAAA,CAAA,GAAA,gBAAoB;AACpB,IAAA,aAAA,CAAA,aAAA,CAAA,qBAAA,CAAA,GAAA,GAAA,CAAA,GAAA,qBAAyB;AACzB,IAAA,aAAA,CAAA,aAAA,CAAA,kBAAA,CAAA,GAAA,GAAA,CAAA,GAAA,kBAAsB;AACtB,IAAA,aAAA,CAAA,aAAA,CAAA,uBAAA,CAAA,GAAA,GAAA,CAAA,GAAA,uBAA2B;AAC3B,IAAA,aAAA,CAAA,aAAA,CAAA,+BAAA,CAAA,GAAA,GAAA,CAAA,GAAA,+BAAmC;AACnC,IAAA,aAAA,CAAA,aAAA,CAAA,wBAAA,CAAA,GAAA,GAAA,CAAA,GAAA,wBAA4B;AAC5B,IAAA,aAAA,CAAA,aAAA,CAAA,cAAA,CAAA,GAAA,GAAA,CAAA,GAAA,cAAkB;AAClB,IAAA,aAAA,CAAA,aAAA,CAAA,oBAAA,CAAA,GAAA,GAAA,CAAA,GAAA,oBAAwB;AACxB,IAAA,aAAA,CAAA,aAAA,CAAA,gBAAA,CAAA,GAAA,GAAA,CAAA,GAAA,gBAAoB;AACpB,IAAA,aAAA,CAAA,aAAA,CAAA,gBAAA,CAAA,GAAA,GAAA,CAAA,GAAA,gBAAoB;AACpB,IAAA,aAAA,CAAA,aAAA,CAAA,sBAAA,CAAA,GAAA,GAAA,CAAA,GAAA,sBAA0B;AAC1B,IAAA,aAAA,CAAA,aAAA,CAAA,mBAAA,CAAA,GAAA,GAAA,CAAA,GAAA,mBAAuB;AACvB,IAAA,aAAA,CAAA,aAAA,CAAA,MAAA,CAAA,GAAA,GAAA,CAAA,GAAA,MAAU;AACV,IAAA,aAAA,CAAA,aAAA,CAAA,sBAAA,CAAA,GAAA,GAAA,CAAA,GAAA,sBAA0B;AAC1B,IAAA,aAAA,CAAA,aAAA,CAAA,cAAA,CAAA,GAAA,GAAA,CAAA,GAAA,cAAkB;AACpB,CAAC,EA9BW,aAAa,KAAb,aAAa,GAAA,EAAA,CAAA,CAAA;IAgCb;AAAZ,CAAA,UAAY,eAAe,EAAA;AAEzB,IAAA,eAAA,CAAA,eAAA,CAAA,KAAA,CAAA,GAAA,CAAA,CAAA,GAAA,KAAO;AACP,IAAA,eAAA,CAAA,eAAA,CAAA,MAAA,CAAA,GAAA,CAAA,CAAA,GAAA,MAAQ;AACR,IAAA,eAAA,CAAA,eAAA,CAAA,KAAA,CAAA,GAAA,CAAA,CAAA,GAAA,KAAO;AACT,CAAC,EALW,eAAe,KAAf,eAAe,GAAA,EAAA,CAAA,CAAA;IAOf;AAAZ,CAAA,UAAY,eAAe,EAAA;AAEzB,IAAA,eAAA,CAAA,eAAA,CAAA,KAAA,CAAA,GAAA,CAAA,CAAA,GAAA,KAAO;AACP,IAAA,eAAA,CAAA,eAAA,CAAA,OAAA,CAAA,GAAA,CAAA,CAAA,GAAA,OAAS;AACT,IAAA,eAAA,CAAA,eAAA,CAAA,WAAA,CAAA,GAAA,CAAA,CAAA,GAAA,WAAa;AACf,CAAC,EALW,eAAe,KAAf,eAAe,GAAA,EAAA,CAAA,CAAA;IAOf;AAAZ,CAAA,UAAY,aAAa,EAAA;AAEvB,IAAA,aAAA,CAAA,aAAA,CAAA,cAAA,CAAA,GAAA,GAAA,CAAA,GAAA,cAAkB;AAClB,IAAA,aAAA,CAAA,aAAA,CAAA,cAAA,CAAA,GAAA,GAAA,CAAA,GAAA,cAAkB;AAClB,IAAA,aAAA,CAAA,aAAA,CAAA,oBAAA,CAAA,GAAA,GAAA,CAAA,GAAA,oBAAwB;AACxB,IAAA,aAAA,CAAA,aAAA,CAAA,yBAAA,CAAA,GAAA,GAAA,CAAA,GAAA,yBAA6B;AAC7B,IAAA,aAAA,CAAA,aAAA,CAAA,qBAAA,CAAA,GAAA,GAAA,CAAA,GAAA,qBAAyB;AACzB,IAAA,aAAA,CAAA,aAAA,CAAA,yBAAA,CAAA,GAAA,GAAA,CAAA,GAAA,yBAA6B;AAC7B,IAAA,aAAA,CAAA,aAAA,CAAA,0BAAA,CAAA,GAAA,GAAA,CAAA,GAAA,0BAA8B;AAC9B,IAAA,aAAA,CAAA,aAAA,CAAA,2BAAA,CAAA,GAAA,GAAA,CAAA,GAAA,2BAA+B;AAC/B,IAAA,aAAA,CAAA,aAAA,CAAA,wBAAA,CAAA,GAAA,GAAA,CAAA,GAAA,wBAA4B;AAC5B,IAAA,aAAA,CAAA,aAAA,CAAA,oCAAA,CAAA,GAAA,GAAA,CAAA,GAAA,oCAAwC;AACxC,IAAA,aAAA,CAAA,aAAA,CAAA,2BAAA,CAAA,GAAA,GAAA,CAAA,GAAA,2BAA+B;AAC/B,IAAA,aAAA,CAAA,aAAA,CAAA,mBAAA,CAAA,GAAA,GAAA,CAAA,GAAA,mBAAuB;AACvB,IAAA,aAAA,CAAA,aAAA,CAAA,WAAA,CAAA,GAAA,GAAA,CAAA,GAAA,WAAe;AACf,IAAA,aAAA,CAAA,aAAA,CAAA,qCAAA,CAAA,GAAA,IAAA,CAAA,GAAA,qCAA0C;AAC1C,IAAA,aAAA,CAAA,aAAA,CAAA,aAAA,CAAA,GAAA,GAAA,CAAA,GAAA,aAAiB;AACjB,IAAA,aAAA,CAAA,aAAA,CAAA,qBAAA,CAAA,GAAA,GAAA,CAAA,GAAA,qBAAyB;AAC3B,CAAC,EAlBW,aAAa,KAAb,aAAa,GAAA,EAAA,CAAA,CAAA;IAkCb;AAAZ,CAAA,UAAY,8BAA8B,EAAA;AACxC,IAAA,8BAAA,CAAA,8BAAA,CAAA,UAAA,CAAA,GAAA,CAAA,CAAA,GAAA,UAAY;AACZ,IAAA,8BAAA,CAAA,8BAAA,CAAA,UAAA,CAAA,GAAA,CAAA,CAAA,GAAA,UAAY;AACd,CAAC,EAHW,8BAA8B,KAA9B,8BAA8B,GAAA,EAAA,CAAA,CAAA;IAK9B;AAAZ,CAAA,UAAY,wBAAwB,EAAA;AAClC,IAAA,wBAAA,CAAA,wBAAA,CAAA,MAAA,CAAA,GAAA,CAAA,CAAA,GAAA,MAAQ;AACR,IAAA,wBAAA,CAAA,wBAAA,CAAA,SAAA,CAAA,GAAA,CAAA,CAAA,GAAA,SAAW;AACX,IAAA,wBAAA,CAAA,wBAAA,CAAA,SAAA,CAAA,GAAA,CAAA,CAAA,GAAA,SAAgB;AAChB,IAAA,wBAAA,CAAA,wBAAA,CAAA,WAAA,CAAA,GAAA,CAAA,CAAA,GAAA,WAAkB;AAClB,IAAA,wBAAA,CAAA,wBAAA,CAAA,UAAA,CAAA,GAAA,CAAA,CAAA,GAAA,UAAiB;AACjB,IAAA,wBAAA,CAAA,wBAAA,CAAA,UAAA,CAAA,GAAA,EAAA,CAAA,GAAA,UAAiB;AACnB,CAAC,EAPW,wBAAwB,KAAxB,wBAAwB,GAAA,EAAA,CAAA,CAAA;IASxB;AAAZ,CAAA,UAAY,yBAAyB,EAAA;AAEnC,IAAA,yBAAA,CAAA,yBAAA,CAAA,sCAAA,CAAA,GAAA,EAAA,CAAA,GAAA,sCAA6C;AAC/C,CAAC,EAHW,yBAAyB,KAAzB,yBAAyB,GAAA,EAAA,CAAA,CAAA;IAKzB;AAAZ,CAAA,UAAY,kBAAkB,EAAA;AAC5B,IAAA,kBAAA,CAAA,kBAAA,CAAA,MAAA,CAAA,GAAA,CAAA,CAAA,GAAA,MAAQ;AACR,IAAA,kBAAA,CAAA,kBAAA,CAAA,aAAA,CAAA,GAAA,CAAA,CAAA,GAAA,aAAe;AACf,IAAA,kBAAA,CAAA,kBAAA,CAAA,QAAA,CAAA,GAAA,CAAA,CAAA,GAAA,QAAe;AACf,IAAA,kBAAA,CAAA,kBAAA,CAAA,YAAA,CAAA,GAAA,CAAA,CAAA,GAAA,YAAmB;AACnB,IAAA,kBAAA,CAAA,kBAAA,CAAA,QAAA,CAAA,GAAA,CAAA,CAAA,GAAA,QAAe;AACf,IAAA,kBAAA,CAAA,kBAAA,CAAA,QAAA,CAAA,GAAA,EAAA,CAAA,GAAA,QAAe;AACf,IAAA,kBAAA,CAAA,kBAAA,CAAA,aAAA,CAAA,GAAA,EAAA,CAAA,GAAA,aAAoB;AACpB,IAAA,kBAAA,CAAA,kBAAA,CAAA,SAAA,CAAA,GAAA,EAAA,CAAA,GAAA,SAAgB;AAChB,IAAA,kBAAA,CAAA,kBAAA,CAAA,cAAA,CAAA,GAAA,GAAA,CAAA,GAAA,cAAqB;AACrB,IAAA,kBAAA,CAAA,kBAAA,CAAA,WAAA,CAAA,GAAA,GAAA,CAAA,GAAA,WAAkB;AAClB,IAAA,kBAAA,CAAA,kBAAA,CAAA,UAAA,CAAA,GAAA,GAAA,CAAA,GAAA,UAAiB;AACjB,IAAA,kBAAA,CAAA,kBAAA,CAAA,UAAA,CAAA,GAAA,IAAA,CAAA,GAAA,UAAkB;AAClB,IAAA,kBAAA,CAAA,kBAAA,CAAA,gBAAA,CAAA,GAAA,IAAA,CAAA,GAAA,gBAAwB;AACxB,IAAA,kBAAA,CAAA,kBAAA,CAAA,gBAAA,CAAA,GAAA,IAAA,CAAA,GAAA,gBAAwB;AACxB,IAAA,kBAAA,CAAA,kBAAA,CAAA,gBAAA,CAAA,GAAA,IAAA,CAAA,GAAA,gBAAwB;AACxB,IAAA,kBAAA,CAAA,kBAAA,CAAA,qBAAA,CAAA,GAAA,KAAA,CAAA,GAAA,qBAA6B;AAC/B,CAAC,EAjBW,kBAAkB,KAAlB,kBAAkB,GAAA,EAAA,CAAA,CAAA;IAmBlB;AAAZ,CAAA,UAAY,8BAA8B,EAAA;AACxC,IAAA,8BAAA,CAAA,8BAAA,CAAA,MAAA,CAAA,GAAA,CAAA,CAAA,GAAA,MAAQ;AACR,IAAA,8BAAA,CAAA,8BAAA,CAAA,aAAA,CAAA,GAAA,CAAA,CAAA,GAAA,aAAe;AACf,IAAA,8BAAA,CAAA,8BAAA,CAAA,cAAA,CAAA,GAAA,CAAA,CAAA,GAAA,cAAgB;AAChB,IAAA,8BAAA,CAAA,8BAAA,CAAA,MAAA,CAAA,GAAA,CAAA,CAAA,GAAA,MAAQ;AACV,CAAC,EALW,8BAA8B,KAA9B,8BAA8B,GAAA,EAAA,CAAA,CAAA;IAO9B;AAAZ,CAAA,UAAY,qCAAqC,EAAA;AAC/C,IAAA,qCAAA,CAAA,qCAAA,CAAA,MAAA,CAAA,GAAA,CAAA,CAAA,GAAA,MAAQ;AACR,IAAA,qCAAA,CAAA,qCAAA,CAAA,aAAA,CAAA,GAAA,CAAA,CAAA,GAAA,aAAe;AACf,IAAA,qCAAA,CAAA,qCAAA,CAAA,mBAAA,CAAA,GAAA,CAAA,CAAA,GAAA,mBAA0B;AAC1B,IAAA,qCAAA,CAAA,qCAAA,CAAA,6BAAA,CAAA,GAAA,CAAA,CAAA,GAAA,6BAAoC;AACpC,IAAA,qCAAA,CAAA,qCAAA,CAAA,uBAAA,CAAA,GAAA,CAAA,CAAA,GAAA,uBAA8B;AAC9B,IAAA,qCAAA,CAAA,qCAAA,CAAA,oBAAA,CAAA,GAAA,KAAA,CAAA,GAAA,oBAA4B;AAC5B,IAAA,qCAAA,CAAA,qCAAA,CAAA,aAAA,CAAA,GAAA,IAAA,CAAA,GAAA,aAAqB;AACrB,IAAA,qCAAA,CAAA,qCAAA,CAAA,mBAAA,CAAA,GAAA,EAAA,CAAA,GAAA,mBAA0B;AAC1B,IAAA,qCAAA,CAAA,qCAAA,CAAA,6BAAA,CAAA,GAAA,EAAA,CAAA,GAAA,6BAAoC;AACpC,IAAA,qCAAA,CAAA,qCAAA,CAAA,uBAAA,CAAA,GAAA,EAAA,CAAA,GAAA,uBAA8B;AAC9B,IAAA,qCAAA,CAAA,qCAAA,CAAA,eAAA,CAAA,GAAA,KAAA,CAAA,GAAA,eAAuB;AACvB,IAAA,qCAAA,CAAA,qCAAA,CAAA,qBAAA,CAAA,GAAA,GAAA,CAAA,GAAA,qBAA4B;AAC5B,IAAA,qCAAA,CAAA,qCAAA,CAAA,+BAAA,CAAA,GAAA,GAAA,CAAA,GAAA,+BAAsC;AACtC,IAAA,qCAAA,CAAA,qCAAA,CAAA,yBAAA,CAAA,GAAA,GAAA,CAAA,GAAA,yBAAgC;AAChC,IAAA,qCAAA,CAAA,qCAAA,CAAA,aAAA,CAAA,GAAA,KAAA,CAAA,GAAA,aAAqB;AACrB,IAAA,qCAAA,CAAA,qCAAA,CAAA,6BAAA,CAAA,GAAA,IAAA,CAAA,GAAA,6BAAqC;AACrC,IAAA,qCAAA,CAAA,qCAAA,CAAA,iBAAA,CAAA,GAAA,IAAA,CAAA,GAAA,iBAAyB;AACzB,IAAA,qCAAA,CAAA,qCAAA,CAAA,mBAAA,CAAA,GAAA,IAAA,CAAA,GAAA,mBAA2B;;;;;AAK3B,IAAA,qCAAA,CAAA,qCAAA,CAAA,YAAA,CAAA,GAAA,OAAA,CAAA,GAAA,YAAoB;AACtB,CAAC,EAxBW,qCAAqC,KAArC,qCAAqC,GAAA,EAAA,CAAA,CAAA;IA0BrC;AAAZ,CAAA,UAAY,sCAAsC,EAAA;AAChD,IAAA,sCAAA,CAAA,sCAAA,CAAA,iBAAA,CAAA,GAAA,CAAA,CAAA,GAAA,iBAAmB;AACnB,IAAA,sCAAA,CAAA,sCAAA,CAAA,mBAAA,CAAA,GAAA,CAAA,CAAA,GAAA,mBAA0B;AAC1B,IAAA,sCAAA,CAAA,sCAAA,CAAA,eAAA,CAAA,GAAA,CAAA,CAAA,GAAA,eAAsB;AACtB,IAAA,sCAAA,CAAA,sCAAA,CAAA,uBAAA,CAAA,GAAA,CAAA,CAAA,GAAA,uBAA8B;AAChC,CAAC,EALW,sCAAsC,KAAtC,sCAAsC,GAAA,EAAA,CAAA,CAAA;AAO3C,MAAM,+BAA+B,GAAG;IAC7C,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,wBAAwB,CAAC,OAAO,EAAE;IAC7D,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,wBAAwB,CAAC,OAAO,EAAE;;IAE5D,EAAE,IAAI,EAAE,WAAW,EAAE,KAAK,EAAE,wBAAwB,CAAC,QAAQ,EAAE;IAC/D,EAAE,IAAI,EAAE,aAAa,EAAE,KAAK,EAAE,wBAAwB,CAAC,QAAQ,EAAE;;AAG5D,MAAM,+BAA+B,GAAG;AAC7C,IAAA,EAAE,IAAI,EAAE,uBAAuB,EAAE,OAAO,EAAE,IAAI,EAAE;AAChD,IAAA;AACI,QAAA,IAAI,EACA,8GAA8G;QAClH,KAAK,EAAE,yBAAyB,CAAC,oCAAoC;AACxE,KAAA;;AAGI,MAAM,yBAAyB,GAAG;IACvC,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,kBAAkB,CAAC,WAAW,EAAE;IAC3D,EAAE,IAAI,EAAE,oBAAoB,EAAE,KAAK,EAAE,kBAAkB,CAAC,MAAM,EAAE;AAChE,IAAA;AACI,QAAA,IAAI,EAAE,sBAAsB;QAC5B,KAAK,EAAE,kBAAkB,CAAC,UAAU;AACvC,KAAA;IACD,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,kBAAkB,CAAC,MAAM,EAAE;IACrD,EAAE,IAAI,EAAE,kBAAkB,EAAE,KAAK,EAAE,kBAAkB,CAAC,QAAQ,EAAE;IAChE,EAAE,IAAI,EAAE,cAAc,EAAE,KAAK,EAAE,kBAAkB,CAAC,WAAW,EAAE;IAC/D,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,kBAAkB,CAAC,OAAO,EAAE;IACtD,EAAE,IAAI,EAAE,gBAAgB,EAAE,KAAK,EAAE,kBAAkB,CAAC,YAAY,EAAE;IAClE,EAAE,IAAI,EAAE,WAAW,EAAE,KAAK,EAAE,kBAAkB,CAAC,SAAS,EAAE;IAC1D,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,kBAAkB,CAAC,QAAQ,EAAE;IACxD,EAAE,IAAI,EAAE,gBAAgB,EAAE,KAAK,EAAE,kBAAkB,CAAC,cAAc,EAAE;IACpE,EAAE,IAAI,EAAE,eAAe,EAAE,KAAK,EAAE,kBAAkB,CAAC,cAAc,EAAE;IACnE,EAAE,IAAI,EAAE,kBAAkB,EAAE,KAAK,EAAE,kBAAkB,CAAC,cAAc,EAAE;IACtE,EAAE,IAAI,EAAE,6BAA6B,EAAE,KAAK,EAAE,kBAAkB,CAAC,mBAAmB,EAAE;;AAIjF,MAAM,qCAAqC,GAAG;IACnD,EAAE,IAAI,EAAE,qBAAqB,EAAE,KAAK,EAAE,8BAA8B,CAAC,IAAI,EAAE;AAC3E,IAAA;AACI,QAAA,IAAI,EAAE,iCAAiC;QACvC,KAAK,EAAE,8BAA8B,CAAC,WAAW;AACpD,KAAA;AACD,IAAA;AACI,QAAA,IAAI,EAAE,+BAA+B;QACrC,KAAK,EAAE,8BAA8B,CAAC,YAAY;AACrD,KAAA;AACD,IAAA;AACI,QAAA,IAAI,EAAE,uCAAuC;QAC7C,KAAK,EAAE,8BAA8B,CAAC,IAAI;AAC7C,KAAA;;AAGI,MAAM,gCAAgC,GAAG;AAC9C,IAAA,EAAE,IAAI,EAAE,kCAAkC,EAAE,OAAO,EAAE,IAAI,EAAE;AAC3D,IAAA;AACI,QAAA,IAAI,EAAE,mBAAmB;QACzB,KAAK,EAAE,qCAAqC,CAAC,WAAW;AAC3D,KAAA;AACD,IAAA;AACI,QAAA,IAAI,EAAE,6DAA6D;QACnE,KAAK,EAAE,qCAAqC,CAAC,2BAA2B;AAC3E,KAAA;AACD,IAAA;AACI,QAAA,IAAI,EAAE,qDAAqD;QAC3D,KAAK,EAAE,qCAAqC,CAAC,qBAAqB;AACrE,KAAA;AACD,IAAA;AACI,QAAA,IAAI,EAAE,oBAAoB;QAC1B,KAAK,EAAE,qCAAqC,CAAC,iBAAiB;AACjE,KAAA;AACD,IAAA;AACI,QAAA,IAAI,EAAE,yCAAyC;QAC/C,KAAK,EAAE,qCAAqC,CAAC,kBAAkB;AAClE,KAAA;AACD,IAAA,EAAE,IAAI,EAAE,gBAAgB,EAAE,OAAO,EAAE,IAAI,EAAE;AACzC,IAAA;AACI,QAAA,IAAI,EAAE,oBAAoB;QAC1B,KAAK,EAAE,qCAAqC,CAAC,WAAW;AAC3D,KAAA;AACD,IAAA;AACI,QAAA,IAAI,EAAE,+DAA+D;QACrE,KAAK,EAAE,qCAAqC,CAAC,2BAA2B;AAC3E,KAAA;AACD,IAAA;AACI,QAAA,IAAI,EAAE,uDAAuD;QAC7D,KAAK,EAAE,qCAAqC,CAAC,qBAAqB;AACrE,KAAA;AACD,IAAA;AACI,QAAA,IAAI,EAAE,qBAAqB;QAC3B,KAAK,EAAE,qCAAqC,CAAC,iBAAiB;AACjE,KAAA;AACD,IAAA;AACI,QAAA,IAAI,EAAE,qBAAqB;QAC3B,KAAK,EAAE,qCAAqC,CAAC,iBAAiB;AACjE,KAAA;AACD;;;;;;;;;;;;;;;;;;AAkBI;AACJ;;;;;;;;;;;;;AAaI;AACJ,IAAA,EAAE,IAAI,EAAE,UAAU,EAAE,OAAO,EAAE,IAAI,EAAE;AACnC,IAAA;AACI,QAAA,IAAI,EAAE,iDAAiD;QACvD,KAAK,EAAE,qCAAqC,CAAC,aAAa;AAC7D,KAAA;AACD,IAAA;AACI,QAAA,IAAI,EAAE,8CAA8C;QACpD,KAAK,EAAE,qCAAqC,CAAC,2BAA2B;AAC3E,KAAA;AACD,IAAA;AACI,QAAA,IAAI,EAAE,+BAA+B;QACrC,KAAK,EAAE,qCAAqC,CAAC,eAAe;AAC/D,KAAA;AACD,IAAA,EAAE,IAAI,EAAE,iBAAiB,EAAE,OAAO,EAAE,IAAI,EAAE;AAC1C,IAAA;AACI,QAAA,IAAI,EAAE,wBAAwB;QAC9B,KAAK,EAAE,qCAAqC,CAAC,UAAU;AAC1D,KAAA;;IAIS;AAAZ,CAAA,UAAY,qBAAqB,EAAA;AAC/B,IAAA,qBAAA,CAAA,qBAAA,CAAA,yBAAA,CAAA,GAAA,CAAA,CAAA,GAAA,yBAA2B;AAC3B,IAAA,qBAAA,CAAA,qBAAA,CAAA,eAAA,CAAA,GAAA,CAAA,CAAA,GAAA,eAAiB;AACjB,IAAA,qBAAA,CAAA,qBAAA,CAAA,aAAA,CAAA,GAAA,CAAA,CAAA,GAAA,aAAe;AACf,IAAA,qBAAA,CAAA,qBAAA,CAAA,iBAAA,CAAA,GAAA,CAAA,CAAA,GAAA,iBAAmB;AACnB,IAAA,qBAAA,CAAA,qBAAA,CAAA,aAAA,CAAA,GAAA,CAAA,CAAA,GAAA,aAAe;AACf,IAAA,qBAAA,CAAA,qBAAA,CAAA,UAAA,CAAA,GAAA,CAAA,CAAA,GAAA,UAAY;AACZ,IAAA,qBAAA,CAAA,qBAAA,CAAA,WAAA,CAAA,GAAA,CAAA,CAAA,GAAA,WAAa;AACb,IAAA,qBAAA,CAAA,qBAAA,CAAA,YAAA,CAAA,GAAA,CAAA,CAAA,GAAA,YAAc;AACd,IAAA,qBAAA,CAAA,qBAAA,CAAA,aAAA,CAAA,GAAA,CAAA,CAAA,GAAA,aAAe;AACjB,CAAC,EAVW,qBAAqB,KAArB,qBAAqB,GAAA,EAAA,CAAA,CAAA;IAYrB;AAAZ,CAAA,UAAY,sBAAsB,EAAA;AAChC,IAAA,sBAAA,CAAA,sBAAA,CAAA,UAAA,CAAA,GAAA,CAAA,CAAA,GAAA,UAAY;AACZ,IAAA,sBAAA,CAAA,sBAAA,CAAA,IAAA,CAAA,GAAA,CAAA,CAAA,GAAA,IAAM;AACN,IAAA,sBAAA,CAAA,sBAAA,CAAA,UAAA,CAAA,GAAA,CAAA,CAAA,GAAA,UAAY;AACZ,IAAA,sBAAA,CAAA,sBAAA,CAAA,OAAA,CAAA,GAAA,CAAA,CAAA,GAAA,OAAS;AACT,IAAA,sBAAA,CAAA,sBAAA,CAAA,WAAA,CAAA,GAAA,CAAA,CAAA,GAAA,WAAa;AACb,IAAA,sBAAA,CAAA,sBAAA,CAAA,YAAA,CAAA,GAAA,CAAA,CAAA,GAAA,YAAc;AACd,IAAA,sBAAA,CAAA,sBAAA,CAAA,UAAA,CAAA,GAAA,CAAA,CAAA,GAAA,UAAY;AACZ,IAAA,sBAAA,CAAA,sBAAA,CAAA,OAAA,CAAA,GAAA,CAAA,CAAA,GAAA,OAAS;AACX,CAAC,EATW,sBAAsB,KAAtB,sBAAsB,GAAA,EAAA,CAAA,CAAA;AAW3B,MAAM,4BAA4B,GAAG;IAC1C,EAAE,IAAI,EAAE,aAAa,EAAE,KAAK,EAAE,qBAAqB,CAAC,UAAU,EAAE;IAChE,EAAE,IAAI,EAAE,cAAc,EAAE,KAAK,EAAE,qBAAqB,CAAC,WAAW,EAAE;AAClE,IAAA;AACI,QAAA,IAAI,EAAE,4BAA4B;QAClC,KAAK,EAAE,qBAAqB,CAAC,uBAAuB;AACvD,KAAA;IACD,EAAE,IAAI,EAAE,iBAAiB,EAAE,KAAK,EAAE,qBAAqB,CAAC,aAAa,EAAE;IACvE,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,qBAAqB,CAAC,SAAS,EAAE;IAC5D,EAAE,IAAI,EAAE,YAAY,EAAE,KAAK,EAAE,qBAAqB,CAAC,QAAQ,EAAE;IAC7D,EAAE,IAAI,EAAE,aAAa,EAAE,KAAK,EAAE,qBAAqB,CAAC,WAAW,EAAE;IACjE,EAAE,IAAI,EAAE,YAAY,EAAE,KAAK,EAAE,qBAAqB,CAAC,eAAe,EAAE;AACpE,IAAA;AACI,QAAA,IAAI,EAAE,4BAA4B;QAClC,KAAK,EAAE,qBAAqB,CAAC,WAAW;AAC3C,KAAA;;AAGI,MAAM,6BAA6B,GAAG;IAC3C,EAAE,IAAI,EAAE,WAAW,EAAE,KAAK,EAAE,sBAAsB,CAAC,QAAQ,EAAE;IAC7D,EAAE,IAAI,EAAE,aAAa,EAAE,KAAK,EAAE,sBAAsB,CAAC,EAAE,EAAE;IACzD,EAAE,IAAI,EAAE,WAAW,EAAE,KAAK,EAAE,sBAAsB,CAAC,QAAQ,EAAE;IAC7D,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,sBAAsB,CAAC,KAAK,EAAE;IACvD,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,sBAAsB,CAAC,SAAS,EAAE;IAC5D,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,sBAAsB,CAAC,QAAQ,EAAE;IAC3D,EAAE,IAAI,EAAE,YAAY,EAAE,KAAK,EAAE,sBAAsB,CAAC,UAAU,EAAE;IAChE,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,sBAAsB,CAAC,KAAK,EAAE;;AAGjD,MAAM,kCAAkC,GAAG;AAChD,IAAA,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,EAAE;AAC5B,IAAA,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,EAAE;;IAGlB;AAAZ,CAAA,UAAY,0BAA0B,EAAA;AACpC,IAAA,0BAAA,CAAA,0BAAA,CAAA,YAAA,CAAA,GAAA,GAAA,CAAA,GAAA,YAAmB;AACnB,IAAA,0BAAA,CAAA,0BAAA,CAAA,QAAA,CAAA,GAAA,CAAA,CAAA,GAAA,QAAe;AACf,IAAA,0BAAA,CAAA,0BAAA,CAAA,SAAA,CAAA,GAAA,CAAA,CAAA,GAAA,SAAgB;AAChB,IAAA,0BAAA,CAAA,0BAAA,CAAA,SAAA,CAAA,GAAA,GAAA,CAAA,GAAA,SAAgB;AAChB,IAAA,0BAAA,CAAA,0BAAA,CAAA,WAAA,CAAA,GAAA,GAAA,CAAA,GAAA,WAAkB;AAClB,IAAA,0BAAA,CAAA,0BAAA,CAAA,aAAA,CAAA,GAAA,IAAA,CAAA,GAAA,aAAqB;AACrB,IAAA,0BAAA,CAAA,0BAAA,CAAA,gBAAA,CAAA,GAAA,IAAA,CAAA,GAAA,gBAAwB;AAC1B,CAAC,EARW,0BAA0B,KAA1B,0BAA0B,GAAA,EAAA,CAAA,CAAA;AAU/B,MAAM,iCAAiC,GAAG;AAC/C,IAAA;AACI,QAAA,IAAI,EAAE,aAAa;QACnB,KAAK,EAAE,0BAA0B,CAAC,UAAU;AAC/C,KAAA;AACD,IAAA;AACI,QAAA,IAAI,EAAE,aAAa;QACnB,KAAK,EAAE,0BAA0B,CAAC,OAAO;AAC5C,KAAA;AACD,IAAA;AACI,QAAA,IAAI,EAAE,QAAQ;QACd,KAAK,EAAE,0BAA0B,CAAC,MAAM;AAC3C,KAAA;AACD,IAAA;AACI,QAAA,IAAI,EAAE,YAAY;QAClB,KAAK,EAAE,0BAA0B,CAAC,OAAO;AAC5C,KAAA;AACD,IAAA;AACI,QAAA,IAAI,EAAE,WAAW;QACjB,KAAK,EAAE,0BAA0B,CAAC,SAAS;AAC9C,KAAA;AACD,IAAA;AACI,QAAA,IAAI,EAAE,uBAAuB;QAC7B,KAAK,EAAE,0BAA0B,CAAC,cAAc;AACnD,KAAA;AACD,IAAA;AACI,QAAA,IAAI,EAAE,4BAA4B;QAClC,KAAK,EAAE,0BAA0B,CAAC,WAAW;AAChD,KAAA;;AAGI,MAAM,kCAAkC,GAAG;AAChD,IAAA,EAAE,IAAI,EAAE,gBAAgB,EAAE,KAAK,EAAE,CAAC,EAAE;AACpC,IAAA,EAAE,IAAI,EAAE,kCAAkC,EAAE,KAAK,EAAE,CAAC,EAAE;AACtD,IAAA,EAAE,IAAI,EAAE,sBAAsB,EAAE,KAAK,EAAE,CAAC,EAAE;AAC1C,IAAA,EAAE,IAAI,EAAE,yBAAyB,EAAE,KAAK,EAAE,CAAC,EAAE;AAC7C,IAAA,EAAE,IAAI,EAAE,mBAAmB,EAAE,KAAK,EAAE,CAAC,EAAE;AACvC,IAAA,EAAE,IAAI,EAAE,iCAAiC,EAAE,KAAK,EAAE,CAAC,EAAE;AACrD,IAAA;AACI,QAAA,IAAI,EAAE,kEAAkE;AACxE,QAAA,KAAK,EAAE,CAAC;AACX,KAAA;AACD,IAAA,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,EAAE;;AAGvB,MAAM,wCAAwC,GAAG;AACtD,IAAA,EAAE,IAAI,EAAE,cAAc,EAAE,KAAK,EAAE,CAAC,EAAE;AAClC,IAAA,EAAE,IAAI,EAAE,uCAAuC,EAAE,KAAK,EAAE,CAAC,EAAE;AAC3D,IAAA,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,EAAE;AAC1B,IAAA,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,EAAE;AACzB,IAAA,EAAE,IAAI,EAAE,qBAAqB,EAAE,KAAK,EAAE,CAAC,EAAE;AACzC,IAAA,EAAE,IAAI,EAAE,0CAA0C,EAAE,KAAK,EAAE,EAAE,EAAE;AAC/D,IAAA,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,EAAE,EAAE;AAC7B,IAAA,EAAE,IAAI,EAAE,uCAAuC,EAAE,KAAK,EAAE,EAAE,EAAE;AAC5D,IAAA,EAAE,IAAI,EAAE,sBAAsB,EAAE,KAAK,EAAE,EAAE,EAAE;AAC3C,IAAA,EAAE,IAAI,EAAE,8CAA8C,EAAE,KAAK,EAAE,EAAE,EAAE;AACnE,IAAA,EAAE,IAAI,EAAE,yBAAyB,EAAE,KAAK,EAAE,EAAE,EAAE;AAC9C,IAAA,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,EAAE;AAC5B,IAAA,EAAE,IAAI,EAAE,WAAW,EAAE,KAAK,EAAE,EAAE,EAAE;AAChC,IAAA,EAAE,IAAI,EAAE,cAAc,EAAE,KAAK,EAAE,EAAE,EAAE;AACnC,IAAA,EAAE,IAAI,EAAE,gCAAgC,EAAE,KAAK,EAAE,EAAE,EAAE;AACrD,IAAA,EAAE,IAAI,EAAE,WAAW,EAAE,KAAK,EAAE,EAAE,EAAE;AAChC,IAAA,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,EAAE,EAAE;AAC9B,IAAA,EAAE,IAAI,EAAE,2BAA2B,EAAE,KAAK,EAAE,EAAE,EAAE;AAChD,IAAA,EAAE,IAAI,EAAE,wBAAwB,EAAE,KAAK,EAAE,EAAE,EAAE;AAC7C,IAAA,EAAE,IAAI,EAAE,+BAA+B,EAAE,KAAK,EAAE,EAAE,EAAE;AACpD,IAAA,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,EAAE,EAAE;AAC/B,IAAA,EAAE,IAAI,EAAE,sBAAsB,EAAE,KAAK,EAAE,EAAE,EAAE;AAC3C,IAAA,EAAE,IAAI,EAAE,qBAAqB,EAAE,KAAK,EAAE,EAAE,EAAE;AAC1C,IAAA,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,EAAE,EAAE;AAC9B,IAAA,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;;IAGf;AAAZ,CAAA,UAAY,0BAA0B,EAAA;AACpC,IAAA,0BAAA,CAAA,0BAAA,CAAA,KAAA,CAAA,GAAA,CAAA,CAAA,GAAA,KAAO;AACP,IAAA,0BAAA,CAAA,0BAAA,CAAA,OAAA,CAAA,GAAA,CAAA,CAAA,GAAA,OAAS;AACT,IAAA,0BAAA,CAAA,0BAAA,CAAA,MAAA,CAAA,GAAA,CAAA,CAAA,GAAA,MAAQ;AACV,CAAC,EAJW,0BAA0B,KAA1B,0BAA0B,GAAA,EAAA,CAAA,CAAA;AAK/B,MAAM,iCAAiC,GAAG;IAC/C,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,0BAA0B,CAAC,IAAI,EAAE;IACxD,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,0BAA0B,CAAC,KAAK,EAAE;IACzD,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,0BAA0B,CAAC,GAAG,EAAE;;IAG/C;AAAZ,CAAA,UAAY,kBAAkB,EAAA;AAC5B,IAAA,kBAAA,CAAA,kBAAA,CAAA,MAAA,CAAA,GAAA,CAAA,CAAA,GAAA,MAAQ;AACR,IAAA,kBAAA,CAAA,kBAAA,CAAA,QAAA,CAAA,GAAA,CAAA,CAAA,GAAA,QAAU;AACV,IAAA,kBAAA,CAAA,kBAAA,CAAA,MAAA,CAAA,GAAA,CAAA,CAAA,GAAA,MAAQ;AACR,IAAA,kBAAA,CAAA,kBAAA,CAAA,OAAA,CAAA,GAAA,CAAA,CAAA,GAAA,OAAS;AACX,CAAC,EALW,kBAAkB,KAAlB,kBAAkB,GAAA,EAAA,CAAA,CAAA;IAOlB;AAAZ,CAAA,UAAY,QAAQ,EAAA;AAClB,IAAA,QAAA,CAAA,QAAA,CAAA,SAAA,CAAA,GAAA,CAAA,CAAA,GAAA,SAAW;AACX,IAAA,QAAA,CAAA,QAAA,CAAA,MAAA,CAAA,GAAA,CAAA,CAAA,GAAA,MAAQ;AACR,IAAA,QAAA,CAAA,QAAA,CAAA,YAAA,CAAA,GAAA,CAAA,CAAA,GAAA,YAAc;AACd,IAAA,QAAA,CAAA,QAAA,CAAA,MAAA,CAAA,GAAA,CAAA,CAAA,GAAA,MAAQ;AACR,IAAA,QAAA,CAAA,QAAA,CAAA,MAAA,CAAA,GAAA,CAAA,CAAA,GAAA,MAAQ;AACV,CAAC,EANW,QAAQ,KAAR,QAAQ,GAAA,EAAA,CAAA,CAAA;MAmCP,8BAA8B,CAAA;AAS1C;;MCrmBY,gBAAgB,CAAA;AAH7B,IAAA,WAAA,GAAA;AAMU,QAAA,IAAA,CAAA,UAAU,GAAG,MAAM,CAAC,UAAU,CAAC;AAC/B,QAAA,IAAA,CAAA,gBAAgB,GAAG,MAAM,CAAC,gBAAgB,CAAC;AAE3C,QAAA,IAAA,CAAA,aAAa,GAAG,MAAM,CAAC,aAAa,CAAC;QAErC,IAAA,CAAA,WAAW,GAAW,SAAS;AAI/B,QAAA,IAAA,CAAA,MAAM,GAA0B,qBAAqB,CAAC,IAAI;AAgBlD,QAAA,IAAA,CAAA,QAAQ,GAAG,MAAM,CAAU,KAAK,sDAAC;AACjC,QAAA,IAAA,CAAA,SAAS,GAAG,MAAM,CAAU,KAAK,uDAAC;AAwfnD,IAAA;AA5gBC,IAAA,IAAI,UAAU,GAAA;QACZ,OAAO,IAAI,CAAC,WAAW;IACzB;AAEA,IAAA,IAAI,KAAK,GAAA;QACP,OAAO,IAAI,CAAC,MAAM;IACpB;AAEA,IAAA,IAAI,SAAS,GAAA;AACX,QAAA,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE;YACpB,MAAM,SAAS,GAAG,YAAY,CAAC,OAAO,CAAC,mBAAmB,CAAC;YAC3D,IAAI,SAAS,EAAE;AACb,gBAAA,IAAI;oBACF,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CAAuB;gBAC/D;gBAAE,MAAM,EAAE;YACZ;QACF;QACA,OAAO,IAAI,CAAC,UAAU;IACxB;IAMA,WAAW,GAAA;AACT,QAAA,IAAI,IAAI,CAAC,4BAA4B,EAAE;AACrC,YAAA,IAAI,CAAC,4BAA4B,CAAC,WAAW,EAAE;QACjD;IACF;AAEA;;;;AAIG;AACH,IAAA,UAAU,CACR,UAAkB,EAClB,KAAA,GAA+B,qBAAqB,CAAC,IAAI,EAAA;;QAEzD,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,qBAAqB,CAAC,EAAE;AAClD,YAAA,cAAc,CAAC,OAAO,CAAC,qBAAqB,EAC1C,CAAC,KAAK,IAAI,qBAAqB,CAAC,QAAQ,IAAI;AAC1C,kBAAE;AACF,kBAAE,WAAW,CAAC,YAAY,EAAE,CAAC;QACnC;;AAGA,QAAA,IAAI,CAAC,WAAW,GAAG,UAAU;AAC7B,QAAA,IAAI,CAAC,MAAM,GAAG,KAAK;;AAGnB,QAAA,IAAI,CAAC,IAAI,CAAC,4BAA4B,EAAE;AACtC,YAAA,IAAI,CAAC,4BAA4B,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE,CAAC,SAAS,CAAC,CAAC,OAA6B,KAAI;gBACjH,IAAI,OAAO,CAAC,EAAE,KAAK,iBAAiB,CAAC,aAAa,EAAE;oBAClD,IAAI,CAAC,KAAK,CACR,IAAI,EACJ,IAAI,EACJ,IAAI,CAAC,CAAC,SAAS,CAAC;wBACd,IAAI,EAAE,CAAC,IAAG;AACR,4BAAA,IAAI,CAAC,CAAC,CAAC,OAAO,EAAE;gCACd,IAAI,CAAC,aAAa,CAAC,KAAK,CACtB,yFAAyF,EACzF,SAAS,EACT,qBAAqB,CAAC;4BAC1B;iCAAO;AACL,gCAAA,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,qBAAqB,CAAC,8BAA8B,IAAI,CAAC,EAAE;oCAC3E,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,sBAAsB,EAAE,IAAI,EAAE,OAAO,CAAC;gCACjE;4BACF;wBACF,CAAC;AACD,wBAAA,KAAK,EAAE,MAAK,EAAG,OAAO,CAAC,KAAK,CAAC,4BAA4B,CAAC,CAAA,CAAC,CAAC;AAC7D,qBAAA,CAAC;gBACN;qBAAO,IAAI,OAAO,CAAC,EAAE,KAAK,iBAAiB,CAAC,MAAM,EAAE;AAClD,oBAAA,IAAI,IAAI,CAAC,QAAQ,EAAE,EAAE;wBACnB,IAAI,CAAC,MAAM,EAAE,CAAC,SAAS,CAAC,CAAC,IAAG;AAC1B,4BAAA,IAAI,CAAC,CAAC,CAAC,OAAO,EAAE;AACd,gCAAA,IAAI,CAAC,CAAC,OAAO,EAAE;AACb,oCAAA,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC,OAAO,GAAG,mJAAmJ,EAAE,IAAI,EAAE,qBAAqB,CAAC;gCAChO;4BACF;iCAAO;AACL,gCAAA,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,qBAAqB,CAAC,8BAA8B,IAAI,CAAC,EAAE;oCAC3E,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,0BAA0B,EAAE,IAAI,EAAE,WAAW,CAAC;gCACzE;4BACF;AACF,wBAAA,CAAC,CAAC;oBACJ;yBAAO;wBACL,IAAI,CAAC,KAAK,EAAE;oBACd;gBACF;AACF,YAAA,CAAC,CAAC;QACJ;;AAGA,QAAA,IAAI,IAAI,CAAC,QAAQ,EAAE,EAAE;;AAEnB,YAAA,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC;;YAEzB,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,iBAAiB,CAAC,eAAe,CAAC;QACtE;IACF;AAGA;;AAEC;IACD,IAAI,GAAA;AACF,QAAA,IAAI,CAAC,UAAU,CAAC,GAAG,CACjB,IAAI,CAAC,WAAW,GAAG,gBAAgB,GAAG,WAAW,CAAC,YAAY,EAAE;AAE/D,aAAA,IAAI,CAAC,UAAU,CAAC,MAAK,EAAG,OAAO,KAAK,CAAA,CAAC,CAAC,CAAC;AACvC,aAAA,SAAS,EAAE;IAChB;AAIA;;AAEE;IACF,YAAY,GAAA;AACV,QAAA,YAAY,CAAC,OAAO,CAAC,mBAAmB,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IAC5E;AAGA;;;AAGG;AACH,IAAA,aAAa,CAAC,MAA4B,EAAA;AACxC,QAAA,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE;YACpB,IAAI,CAAC,UAAU,GAAG,EAAE,OAAO,EAAE,SAAS,EAAE;QAC1C;QACA,IAAI,CAAC,UAAU,CAAC,OAAO,GAAG,MAAM,CAAC,OAAO;QACxC,IAAI,CAAC,YAAY,EAAE;IACrB;AAEA;;;AAGE;AACF,IAAA,SAAS,CAAC,SAAoB,EAAA;QAC5B,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI;AACxB,aAAA,IAAI,CAAC,QAAQ,CAAC,MAAM,IAAI,CAAC,aAAa,CAAC,SAAS,EAAE,CAAC;AACnD,aAAA,SAAS,CAAC;YACT,IAAI,EAAE,CAAC,IAAG;AACR,gBAAA,IAAI,CAAC,CAAC,CAAC,OAAO,EAAE;AACd,oBAAA,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,EAAE,IAAI,EAAE,qBAAqB,CAAC;gBAClE;qBAAO;AACL,oBAAA,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,WAAW,EAAE;wBACxB,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,uBAAuB,EAAE,IAAI,EAAE,OAAO,CAAC;oBAClE;oBACA,IAAI,SAAS,EAAE;AACb,wBAAA,SAAS,EAAE;oBACb;gBACF;YACF,CAAC;AACD,YAAA,KAAK,EAAE,MAAK,EAAG,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,4BAA4B,CAAC,CAAA,CAAC;AACvE,SAAA,CAAC;AACJ,QAAA,OAAO,IAAI;IACb;AAEA;;;AAGG;AACH,IAAA,UAAU,CAAC,SAAoB,EAAA;QAC7B,IAAI,CAAC,MAAM;AACR,aAAA,SAAS,CAAC;YACT,IAAI,EAAE,CAAC,IAAG;AACR,gBAAA,IAAI,CAAC,CAAC,CAAC,OAAO,EAAE;AACd,oBAAA,IAAI,CAAC,CAAC,OAAO,EAAE;AACb,wBAAA,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,EAAE,IAAI,EAAE,qBAAqB,CAAC;oBAClE;oBACA,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,iBAAiB,CAAC,aAAa,CAAC;gBACpE;qBAAO;oBACL,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,0BAA0B,EAAE,IAAI,EAAE,WAAW,CAAC;gBACzE;YACF,CAAC;AACD,YAAA,KAAK,EAAE,MAAK,EAAG,CAAC;YAChB,QAAQ,EAAE,MAAK;AACb,gBAAA,IAAI,CAAC,aAAa,CAAC,SAAS,EAAE;gBAC9B,IAAI,SAAS,EAAE;AACb,oBAAA,SAAS,EAAE;gBACb;YACF;AACD,SAAA,CAAC;IACN;AAEA;;;;;;;AAOG;AACH,IAAA,KAAK,CAAC,KAAc,EAClB,QAAiB,EACjB,QAAkB,EAClB,KAAsB,EACtB,gBAAA,GAAuC,cAAc,CAAC,OAAO,CAAC,uBAAuB,CAAC,IAAI,SAAS,EAAA;QACnG,OAAO,IAAI,CAAC;AACT,aAAA,IAAI,CACH,IAAI,CAAC,WAAW,GAAG,SAAS,EAC5B;YACE,IAAI,EAAE,KAAK,GAAG,IAAI,GAAG,KAAK;YAC1B,QAAQ,EAAE,KAAK,GAAG,IAAI,GAAG,QAAQ;AACjC,YAAA,QAAQ,EAAE,QAAQ;AAClB,YAAA,KAAK,EAAE;SACR,EACD;AACE,YAAA,OAAO,EACL,CAAC,KAAK,IAAI,CAAC;kBACP,IAAI,WAAW;kBACf,IAAI,WAAW;AACd,qBAAA,GAAG,CAAC,eAAe,EAAE,gBAAgB,IAAI,EAAE;SACnD;AACF,aAAA,IAAI,CACH,UAAU,CAAC,GAAG,IAAG;AACf,YAAA,OAAO,UAAU,CAAC,MAAM,GAAG,CAAC;AAC9B,QAAA,CAAC,CAAC,EACF,GAAG,CAAC,CAAC,CAAkC,KAAI;AACzC,YAAA,IAAI,CAAC,CAAC,OAAO,EAAE;AACb,gBAAA,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE;oBACpB,IAAI,CAAC,UAAU,GAAG,EAAE,OAAO,EAAE,SAAS,EAAE;gBAC1C;AACA,gBAAA,IAAI,CAAC,UAAU,CAAC,KAAK,GAAG,KAAK;AAC7B,gBAAA,IAAI,CAAC,UAAU,CAAC,QAAQ,GAAG,QAAQ;gBACnC,IAAI,CAAC,KAAK,IAAI,CAAC,CAAC,KAAK,CAAC,WAAW,EAAE;;oBAEjC,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,iBAAiB,CAAC,aAAa,EAAE,EAAE,CAAC;gBACxE;qBAAO;;AAEL,oBAAA,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,KAAK,CAAC;gBAC7B;YACF;AACA,YAAA,OAAO,CAAC;QACV,CAAC,CAAC,CACH;IACL;AAEA;;;AAGG;AACK,IAAA,aAAa,CACnB,MAA4B,EAAA;;AAE5B,QAAA,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC;AAC1B,QAAA,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,EAAE,WAAW,CAAC;AAC/C,QAAA,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC;;;QAGzB,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,iBAAiB,CAAC,eAAe,CAAC;IACtE;AAGA;;;AAGG;AACH,IAAA,eAAe,CAAC,IAAY,EAAA;QAC1B,OAAO,IAAI,CAAC;aACT,IAAI,CACH,IAAI,CAAC,WAAW,GAAG,iBAAiB,GAAG,IAAI,EAC3C,EAAE;AAEH,aAAA,IAAI,CACH,UAAU,CAAC,CAAC,GAAG,KAAI;AACjB,YAAA,OAAO,UAAU,CAAC,MAAM,GAAG,CAAC;AAC9B,QAAA,CAAC,CAAC,EACF,GAAG,CAAC,CAAC,CAAkC,KAAI;AACzC,YAAA,IAAI,CAAC,CAAC,OAAO,EAAE;;AAEb,gBAAA,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,KAAK,CAAC;YAC7B;AACA,YAAA,OAAO,CAAC;QACV,CAAC,CAAC,CACH;IACL;AAEA;;;AAGK;IACL,MAAM,CAAC,SAAkB,KAAK,EAAA;AAC5B,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAAM,IAAI,CAAC,WAAW,GAAG,kBAAkB,GAAG,MAAM,EAAE,EAAE;AAChF,aAAA,IAAI,CACH,QAAQ,CAAC,MAAK;YACZ,IAAI,CAAC,KAAK,EAAE;;AAEZ,YAAA,YAAY,CAAC,UAAU,CAAC,mBAAmB,CAAC;AAC9C,QAAA,CAAC,CAAC,EACF,UAAU,CAAC,CAAC,EAAE,KAAI;AAChB,YAAA,OAAO,EAAE,CAAC,EAAE,CAAC;QACf,CAAC,CAAC,CAAC;IACT;AAGA;;;AAGE;AACF,IAAA,WAAW,CAAC,EAAU,EAAA;QACpB,OAAO,IAAI,CAAC;AACT,aAAA,IAAI,CACH,IAAI,CAAC,WAAW,GAAG,eAAe,EAClC;AACE,YAAA,MAAM,EAAE,EAAE;SACX;AAEF,aAAA,IAAI,CACH,UAAU,CAAC,CAAC,GAAG,KAAI;AACjB,YAAA,OAAO,UAAU,CAAC,MAAM,GAAG,CAAC;AAC9B,QAAA,CAAC,CAAC,EACF,GAAG,CAAC,CAAC,CAAkC,KAAI;AACzC,YAAA,IAAI,CAAC,CAAC,OAAO,EAAE;;AAEb,gBAAA,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,KAAK,CAAC;YAC7B;AACA,YAAA,OAAO,CAAC;QACV,CAAC,CAAC,CACH;IACL;AAGA;;AAEG;IACH,KAAK,GAAA;;AAEH,QAAA,IAAI,CAAC,UAAU,GAAG,SAAS;;AAE3B,QAAA,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC;;QAExB,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,iBAAiB,CAAC,gBAAgB,CAAC;IACvE;AAEA;;;AAGG;IACH,KAAK,CAAC,kBAA2B,KAAK,EAAA;;AAEpC,QAAA,cAAc,CAAC,UAAU,CAAC,gBAAgB,CAAC;AAC3C,QAAA,cAAc,CAAC,UAAU,CAAC,mBAAmB,CAAC;AAC9C,QAAA,cAAc,CAAC,UAAU,CAAC,iBAAiB,CAAC;QAC5C,IAAI,eAAe,EAAE;AACnB,YAAA,cAAc,CAAC,UAAU,CAAC,uBAAuB,CAAC;QACpD;;QAGA,IAAI,CAAC,KAAK,EAAE;IACd;AAEA;;;AAGG;AACH,IAAA,OAAO,CAAC,OAAgB,EAAA;QACtB,OAAO,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,IAAI,CAAC;IACrC;AAEA;;;AAGG;IACK,QAAQ,CAAC,OAAgB,EAAE,MAAc,EAAA;QAC/C,IAAI,KAAK,GAAY,EAAE;AACvB,QAAA,OAAO,CAAC,OAAO,CAAC,CAAC,IAAG;AAClB,YAAA,IAAI,IAAI,GAAU;gBAChB,EAAE,EAAE,CAAC,CAAC,EAAE;gBACR,IAAI,EAAE,CAAC,CAAC,IAAI;gBACZ,KAAK,EAAE,CAAC,CAAC,KAAK;AACd,gBAAA,MAAM,EAAE,MAAM;AACd,gBAAA,QAAQ,EAAE,IAAI;AACd,gBAAA,GAAG,EAAE,CAAC;aACP;AACD,YAAA,IAAI,CAAC,QAAQ;gBACX,CAAC,CAAC,QAAQ,IAAI,CAAC,CAAC,QAAQ,CAAC,MAAM,GAAG;sBAC9B,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,EAAE,IAAI;sBAC9B,EAAE;AACR,YAAA,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC;AAClB,QAAA,CAAC,CAAC;AACF,QAAA,OAAO,KAAK;IACd;AAEA;;AAEG;IACH,WAAW,GAAA;AACT,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CACxB,IAAI,CAAC,WAAW,GAAG,WAAW,CAC/B;IACH;AAEA;;;;AAIE;AACF,IAAA,SAAS,CAAC,KAAA,GAAgB,CAAC,EAAE,QAAiB,EAAA;QAC5C,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CACxB,IAAI,CAAC,WAAW;AAChB,aAAC;AACC,kBAAE,4BAA4B;oBAC9B,KAAK;oBACL,YAAY;oBACZ;AACA,kBAAE,4BAA4B,GAAG,KAAK,CAAC,CAC1C;IACH;;;;AAKA;;AAEG;AACH,IAAA,aAAa,CAAC,MAAmC,EAAA;AAC/C,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CACzB,IAAI,CAAC,WAAW,GAAG,qBAAqB,EACxC,MAAM,CACP;IACH;;;;AAOA;;;AAGG;AACH,IAAA,WAAW,CAAC,EAAU,EAAA;QACpB,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CACxB,IAAI,CAAC,WAAW;YAChB,wBAAwB,GAAG,EAAE,CAC9B;IACH;AAGA;;;AAGG;AACH,IAAA,uBAAuB,CAAC,MAA2C,EAAA;QACjE,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CACzB,IAAI,CAAC,WAAW;YAChB,wCAAwC,EACxC,MAAM,CACP;IACH;;;;AAOA;;;AAGG;AACH,IAAA,OAAO,CAAC,MAAwC,EAAA;AAC9C,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CACzB,IAAI,CAAC,WAAW,GAAG,sBAAsB,EACzC,MAAM,CACP;IACH;;;;AAQA;;;AAGG;AACH,IAAA,aAAa,CAAC,MAA8C,EAAA;AAC1D,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CACzB,IAAI,CAAC,WAAW,GAAG,4BAA4B,EAC/C,MAAM,CACP;IACH;AAEA;;;AAGE;AACF,IAAA,UAAU,CAAC,MAAW,EAAA;QACpB,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CACzB,IAAI,CAAC,WAAW,GAAG,yBAAyB,EAC5C,MAAM,EACN,EAAE,YAAY,EAAE,MAAM,EAAE,CACzB;IACH;;;;AAMA;;;AAGE;AACF,IAAA,QAAQ,CAAC,IAAuB,EAAA;AAC9B,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CACzB,IAAI,CAAC,WAAW,GAAG,qBAAqB,EACxC,IAAI,CACL;IACH;AAEA;;;AAGG;AACH,IAAA,UAAU,CAAC,IAAuB,EAAA;AAChC,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CACzB,IAAI,CAAC,WAAW,GAAG,uBAAuB,EAC1C,IAAI,CACL;IACH;8GAphBW,gBAAgB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAAhB,IAAA,SAAA,IAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,gBAAgB,cAFf,MAAM,EAAA,CAAA,CAAA;;2FAEP,gBAAgB,EAAA,UAAA,EAAA,CAAA;kBAH5B,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACV,oBAAA,UAAU,EAAE,MAAM;AACnB,iBAAA;;;MCHY,wBAAwB,CAAA;AADrC,IAAA,WAAA,GAAA;AAEU,QAAA,IAAA,CAAA,gBAAgB,GAAG,MAAM,CAAC,gBAAgB,CAAC;AAC3C,QAAA,IAAA,CAAA,gBAAgB,GAAG,MAAM,CAAC,gBAAgB,CAAC;QAC3C,IAAA,CAAA,aAAa,GAAW,CAAC,CAAC;AAmDnC,IAAA;IAjDC,SAAS,CACP,OAAyB,EACzB,IAAiB,EAAA;AAEjB,QAAA,IAAI,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,gBAAgB,CAAC,UAAU,IAAI,EAAE,CAAC,EAAE;AAClE,YAAA,OAAO,GAAG,OAAO,CAAC,KAAK,CAAC;AACtB,gBAAA,eAAe,EAAE,IAAI;AACrB,gBAAA,UAAU,EAAE;AACV,oBAAA,aAAa,EAAE,aAAa;oBAC5B,aAAa,EAAE,cAAc,CAAC,OAAO,CAAC,qBAAqB,CAAC,IAAI;AAC/D;AAAC,aAAA,CAAC;AACP,YAAA,OAAO,IAAI,CAAC,MAAM,CAAC,OAAO;AACvB,iBAAA,IAAI,CACHA,YAAU,CAAC,KAAK,IAAG;AACjB,gBAAA,IAAI,KAAK,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,gBAAgB,CAAC,UAAU,CAAC,EAAE;oBAC1D,MAAM,WAAW,GAAG,QAAQ,CAAC,KAAK,CAAC,MAAM,IAAI,GAAG,CAAC;oBACjD,IAAI,CAAC,WAAW,GAAG,CAAC,IAAI,WAAW,GAAG,GAAG,KAAK,CAAC,IAAI,CAAC,gBAAgB,CAAC,KAAK,GAAG,qBAAqB,CAAC,kBAAkB,IAAI,CAAC,EAAE;wBAC1H,MAAM,SAAS,GAAG,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE;wBACtC,IAAI,SAAS,GAAG,IAAI,CAAC,aAAa,GAAG,IAAI,EAAE;AACzC,4BAAA,IAAI,CAAC,aAAa,GAAG,SAAS;4BAC9B,IAAI,OAAO,GAAG,EAAE;4BAChB,QAAQ,WAAW;AACjB,gCAAA,KAAK,CAAC;oCACJ,OAAO,GAAG,4EAA4E;oCACtF;AACF,gCAAA,KAAK,GAAG;oCACN,OAAO,GAAG,mEAAmE;oCAC7E;AACF,gCAAA;oCACE,OAAO,GAAG,CAAC,KAAK,CAAC,KAAK,EAAE,OAAO,IAAI,KAAK,CAAC,OAAO,IAAI,8CAA8C,EAAE,UAAU,CAAC,MAAM,EAAE,SAAS,CAAC;oCACjI;;4BAEJ,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAC/B,iBAAiB,CAAC,KAAK,EACvB;AACE,gCAAA,iBAAiB,EAAE,WAAW,KAAK,GAAG,IAAI,WAAW,KAAK,GAAG;AAC7D,gCAAA,OAAO,EAAE,OAAO;AAChB,gCAAA,KAAK,EAAE,mBAAmB;AAC1B,gCAAA,WAAW,EAAE,WAAW;AACxB,gCAAA,OAAO,EAAE,IAAI,CAAC,gBAAgB,CAAC;AACnB,6BAAA,CAAC;wBACnB;oBACF;gBACF;AACA,gBAAA,OAAO,UAAU,CAAC,MAAM,KAAK,CAAC;YAChC,CAAC,CAAC,CAAC;QACT;AACA,QAAA,OAAO,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC;IAC7B;8GArDW,wBAAwB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;kHAAxB,wBAAwB,EAAA,CAAA,CAAA;;2FAAxB,wBAAwB,EAAA,UAAA,EAAA,CAAA;kBADpC;;;MCNY,qBAAqB,CAAA;8GAArB,qBAAqB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;+GAArB,qBAAqB,EAAA,CAAA,CAAA;+GAArB,qBAAqB,EAAA,CAAA,CAAA;;2FAArB,qBAAqB,EAAA,UAAA,EAAA,CAAA;kBADjC;;;ACFD;;AAEG;;ACFH;;AAEG;;;;"}
|
|
1
|
+
{"version":3,"file":"arsedizioni-ars-utils-evolution.common.mjs","sources":["../../../projects/ars-utils/evolution.common/common/messages.ts","../../../projects/ars-utils/evolution.common/common/definitions.ts","../../../projects/ars-utils/evolution.common/common/services/evolution.service.ts","../../../projects/ars-utils/evolution.common/common/interceptors/auth.interceptor.ts","../../../projects/ars-utils/evolution.common/common/common.module.ts","../../../projects/ars-utils/evolution.common/public_api.ts","../../../projects/ars-utils/evolution.common/arsedizioni-ars-utils-evolution.common.ts"],"sourcesContent":["export const EvolutionMessages = {\r\n // Error\r\n ERROR: '§evo-error',\r\n\r\n // Login\r\n LOGIN_CHANGED: '§evo-login-changed',\r\n LOGIN_COMPLETED: '§evo-login-completed',\r\n LOGOUT_COMPLETED: '§evo-logout-completed',\r\n LOGIN_PENDING: '§evo-login-pending',\r\n LOGOUT: '§evo-logout'\r\n};\r\n","import { LoginResult, QueryModel, SendToModel } from '@arsedizioni/ars-utils/core';\r\nimport { LoginOAuthType } from '@arsedizioni/ars-utils/ui.oauth';\r\n\r\n\r\nexport interface EvolutionLoginResult extends LoginResult<EvolutionUserInfo> {\r\n}\r\n\r\nexport interface EvolutionLoginInfo {\r\n context: EvolutionUserInfo;\r\n oauth?: LoginOAuthType ;\r\n remember?: boolean;\r\n}\r\n\r\nexport interface EvolutionUserLink {\r\n id?: number ;\r\n userId: number;\r\n userName?: string ;\r\n key: string;\r\n}\r\n\r\nexport interface EvolutionUserModuleInfo {\r\n name: string;\r\n module: number;\r\n level: number;\r\n hidden: boolean;\r\n}\r\n\r\n\r\nexport interface EvolutionLicenceModuleInfo {\r\n module: ERPModule;\r\n name: string;\r\n availableUsers: number;\r\n usedUsers: number;\r\n availableOption1?: number ;\r\n usedOption1?: number ;\r\n availableOption2?: number ;\r\n usedOption2?: number ;\r\n availableOption3?: number ;\r\n usedOption3?: number ;\r\n}\r\n\r\nexport interface EvolutionUserInfo {\r\n licenceId: number;\r\n userId: number;\r\n companyName: string;\r\n firstName: string;\r\n fullName: string;\r\n flags?: number ;\r\n email: string;\r\n sessionId?: string ;\r\n isTemporary?: boolean ;\r\n role: number;\r\n scope: number;\r\n roleName: string;\r\n roleLevel: number;\r\n allowedModules: EvolutionUserModuleInfo[];\r\n dashboard?: number ;\r\n dashboard2?: string ;\r\n code?: string ;\r\n subjectId?: number ;\r\n subjectName?: string ;\r\n siteId?: number ;\r\n siteName?: string ;\r\n siteCostCenter?: string ;\r\n departmentId?: number ;\r\n departmentName?: string ;\r\n expiryDate?: string ;\r\n isExpired?: boolean ;\r\n isAdministrator?: boolean ;\r\n isPowerUser?: boolean ;\r\n isObserver?: boolean ;\r\n isUser?: boolean ;\r\n isSupportUser?: boolean ;\r\n isGod?: boolean ;\r\n administrators: string;\r\n availableModules: EvolutionLicenceModuleInfo[];\r\n availableEmployees: number;\r\n usedEmployees: number;\r\n availableStorage: number;\r\n usedStorage: number;\r\n}\r\n\r\n\r\n\r\nexport enum EvolutionServiceFlags {\r\n None = 0,\r\n NotifySystemErrors = 1,\r\n DisplayConnectionStateMessages = 1 << 1,\r\n Embedded = 1 << 2\r\n\r\n}\r\n\r\nexport enum ERPModule {\r\n Formazione = 1,\r\n DPI = 1 << 1,\r\n SorveglianzaSanitaria = 1 << 2,\r\n RegistroEScadenzario = 1 << 3,\r\n AttrezzatureEImpianti = 1 << 4,\r\n Monitoraggio = 1 << 5,\r\n Bollettino = 1 << 6,\r\n Documenti = 1 << 7\r\n\r\n}\r\n\r\nexport interface EvolutionPlaceable {\r\n licenceId?: number ;\r\n companyName?: string ;\r\n subjectId?: number ;\r\n subjectName?: string ;\r\n siteId?: number ;\r\n siteName?: string ;\r\n departmentId?: number ;\r\n departmentName?: string ;\r\n placeId?: number ;\r\n}\r\n\r\nexport enum ERPExportType\r\n{\r\n Basic = 1,\r\n Detailed = 8,\r\n Complete = 9,\r\n Labels = 10,\r\n EmployeesCoursesMatrix = 21,\r\n EmployeesCoursesHoursMatrix = 22,\r\n EmployeesPPEsMatrix = 23,\r\n EmployeesHealthChecksMatrix = 24,\r\n TasksCoursesMatrix = 31,\r\n Training = 101,\r\n TrainingExpired = 102,\r\n TrainingExpiring = 103,\r\n TrainingAbsents = 104,\r\n TrainingClosed = 105,\r\n TrainingCurrentYear = 108,\r\n TrainingNextYear = 109,\r\n TrainingAnnualPlannng = 110,\r\n EquipmentsActivitiesCompleted = 201,\r\n EquipmentsChecksMatrix = 202,\r\n RSNormsUsage = 301,\r\n RSNormsSitesMatrix = 302,\r\n RSNormsSummary = 303,\r\n MonitoringLaws = 401,\r\n MonitoringActivities = 402,\r\n MonitoringSummary = 403,\r\n PPEs = 501,\r\n ComplianceStatistics = 601,\r\n HealthChecks = 701,\r\n}\r\n\r\nexport enum ERPExportFormat\r\n{\r\n Csv = 1,\r\n Word = 2,\r\n Pdf = 3\r\n}\r\n\r\nexport enum ERPExportSource\r\n{\r\n All = 1,\r\n Query = 2,\r\n Selection = 3\r\n}\r\n\r\nexport enum ERPExportPart\r\n{\r\n IncludeRisks = 101,\r\n IncludeTasks = 102,\r\n IncludeTaskHistory = 103,\r\n IncludeTrainingRequired = 111,\r\n IncludeTrainingDone = 112,\r\n SelectedEmployeeCourses = 121,\r\n IncludeDisabledEmployees = 131,\r\n IncludeDismissedEmployees = 132,\r\n IncludeDocumentUpdates = 201,\r\n ExcludeNonApplicableOrAcknowledged = 202,\r\n ExcluteAbblicabilityTable = 203,\r\n IncludeActivities = 204,\r\n GroupLaws = 205,\r\n IncludeApplicableOrAcknowledgedOnly = 4301,\r\n IncludePPEs = 501,\r\n IncludeHealthChecks = 601\r\n}\r\n\r\nexport interface EvolutionExportModel<T> extends SendToModel {\r\n searchParams: T;\r\n selection?: number[] ;\r\n type: ERPExportType;\r\n sort?: number ;\r\n source: ERPExportSource;\r\n format: ERPExportFormat;\r\n parts?: ERPExportPart[] ;\r\n automateReport?: boolean ;\r\n automatedReportId?: number ;\r\n automatedReportSheetName?: string;\r\n formatExtension?: string ; \r\n}\r\n\r\nexport enum ERPComplianceLawsSelectionType {\r\n Analysis = 1,\r\n Activity = 2,\r\n}\r\n\r\nexport enum ERPComplianceProfileRole {\r\n None = 0,\r\n Analyst = 1,\r\n Planner = 1 << 1,\r\n Validator = 1 << 2,\r\n Executor = 1 << 3,\r\n Observer = 1 << 4,\r\n}\r\n\r\nexport enum ERPComplianceProfileFlags {\r\n\r\n OverrideNotificationRegisterSettings = 1 << 4,\r\n}\r\n\r\nexport enum ERPComplianceScope {\r\n None = 0,\r\n Environment = 1,\r\n Safety = 1 << 1,\r\n FoodSafety = 1 << 2,\r\n Energy = 1 << 3,\r\n Health = 1 << 4,\r\n Maintenance = 1 << 5,\r\n Quality = 1 << 6,\r\n Organization = 1 << 7,\r\n Logistics = 1 << 8,\r\n Facility = 1 << 9,\r\n Security = 1 << 10,\r\n GenderEquality = 1 << 11,\r\n AntiCorruption = 1 << 12,\r\n Sustainability = 1 << 13,\r\n InformationSecurity = 1 << 14\r\n}\r\n\r\nexport enum ERPComplianceNotificationLimit {\r\n None = 0,\r\n PlannerOnly = 1,\r\n ExecutorOnly = 2,\r\n Both = 3,\r\n}\r\n\r\nexport enum ERPComplianceRegisterNotificationType {\r\n None = 0,\r\n NewAnalysis = 1,\r\n AnalysisCompleted = 1 << 1,\r\n AnalysisNoticePeriodStarted = 1 << 2,\r\n AnalysisPeriodExpired = 1 << 3,\r\n AnalysisLawChanged = 1 << 14,\r\n NewPlanning = 1 << 13,\r\n PlanningCompleted = 1 << 4,\r\n PlanningNoticePeriodStarted = 1 << 5,\r\n PlanningPeriodExpired = 1 << 6,\r\n NewValidation = 1 << 15,\r\n ValidationCompleted = 1 << 7,\r\n ValidationNoticePeriodStarted = 1 << 8,\r\n ValidationPeriodExpired = 1 << 9,\r\n NewDeadline = 1 << 16,\r\n DeadlineNoticePeriodStarted = 1 << 10,\r\n DeadlineExpired = 1 << 11,\r\n ActivityCompleted = 1 << 12,\r\n //NewNoncompliance = 1 << 17,\r\n //NonComplianceNoticePeriodStarted = 1 << 18,\r\n //NonCompliancePeriodExpired = 1 << 19,\r\n //NonComplianceCompleted = 1 << 20,\r\n LawChanged = 1 << 21,\r\n}\r\n\r\nexport enum ERPComplianceRegisterSiteImportOptions {\r\n CopyAttachments = 1,\r\n KeepOriginalDates = 1 << 1,\r\n DuplicateLaws = 1 << 2,\r\n DiscardNotApplicables = 1 << 3\r\n}\r\n\r\nexport const EvolutionComplianceProfileRoles = [\r\n { name: 'Analista', value: ERPComplianceProfileRole.Analyst },\r\n { name: 'Gestore', value: ERPComplianceProfileRole.Planner },\r\n //{ name: 'Validatore', value: ERPComplianceProfileRole.Validator },\r\n { name: 'Esecutore', value: ERPComplianceProfileRole.Executor },\r\n { name: 'Osservatore', value: ERPComplianceProfileRole.Observer },\r\n];\r\n\r\nexport const EvolutionComplianceProfileFlags = [\r\n { name: 'Deroghe e limitazioni', divider: true },\r\n {\r\n name:\r\n 'Questo profilo riceve regolarmente le notifiche indipendentemente dalla configurazione generale del registro',\r\n value: ERPComplianceProfileFlags.OverrideNotificationRegisterSettings,\r\n },\r\n];\r\n\r\nexport const EvolutionComplianceScopes = [\r\n { name: 'Ambiente', value: ERPComplianceScope.Environment },\r\n { name: 'Salute e sicurezza', value: ERPComplianceScope.Safety },\r\n {\r\n name: 'Sicurezza alimentare',\r\n value: ERPComplianceScope.FoodSafety,\r\n },\r\n { name: 'Energia', value: ERPComplianceScope.Energy },\r\n { name: 'Servizi generali', value: ERPComplianceScope.Facility },\r\n { name: 'Manutenzione', value: ERPComplianceScope.Maintenance },\r\n { name: 'Qualità', value: ERPComplianceScope.Quality },\r\n { name: 'Organizzazione', value: ERPComplianceScope.Organization },\r\n { name: 'Logistica', value: ERPComplianceScope.Logistics },\r\n { name: 'Security', value: ERPComplianceScope.Security },\r\n { name: \"Anticorruzione\", value: ERPComplianceScope.AntiCorruption },\r\n { name: \"Sostenibilità\", value: ERPComplianceScope.Sustainability },\r\n { name: \"Parità di genere\", value: ERPComplianceScope.GenderEquality },\r\n { name: \"Sicurezza dell'informazione\", value: ERPComplianceScope.InformationSecurity },\r\n\r\n];\r\n\r\nexport const EvolutionComplianceNotificationLimits = [\r\n { name: 'Nessuna limitazione', value: ERPComplianceNotificationLimit.None },\r\n {\r\n name: 'Solo gestore che ha pianificato',\r\n value: ERPComplianceNotificationLimit.PlannerOnly,\r\n },\r\n {\r\n name: \"Solo all'incaricato designato\",\r\n value: ERPComplianceNotificationLimit.ExecutorOnly,\r\n },\r\n {\r\n name: 'Solo a gestore e incaricato designato',\r\n value: ERPComplianceNotificationLimit.Both,\r\n },\r\n];\r\n\r\nexport const EvolutionComplianceNotifications = [\r\n { name: 'Verifica applicabilità e analisi', divider: true },\r\n {\r\n name: 'Richiesta analisi',\r\n value: ERPComplianceRegisterNotificationType.NewAnalysis,\r\n },\r\n {\r\n name: \"Preavviso: sta per scadere il termine fissato per l'analisi\",\r\n value: ERPComplianceRegisterNotificationType.AnalysisNoticePeriodStarted,\r\n },\r\n {\r\n name: \"Allarme: è scaduto il termine fissato per l'analisi\",\r\n value: ERPComplianceRegisterNotificationType.AnalysisPeriodExpired,\r\n },\r\n {\r\n name: 'Analisi completata',\r\n value: ERPComplianceRegisterNotificationType.AnalysisCompleted,\r\n },\r\n {\r\n name: 'Avviso norma modificata dal legislatore',\r\n value: ERPComplianceRegisterNotificationType.AnalysisLawChanged,\r\n },\r\n { name: 'Pianificazioni', divider: true },\r\n {\r\n name: 'Richiesta gestione',\r\n value: ERPComplianceRegisterNotificationType.NewPlanning,\r\n },\r\n {\r\n name: 'Preavviso: sta per scadere il termine fissato per la gestione',\r\n value: ERPComplianceRegisterNotificationType.PlanningNoticePeriodStarted,\r\n },\r\n {\r\n name: 'Allarme: è scaduto il termine fissato per la gestione',\r\n value: ERPComplianceRegisterNotificationType.PlanningPeriodExpired,\r\n },\r\n {\r\n name: 'Gestione completata',\r\n value: ERPComplianceRegisterNotificationType.PlanningCompleted,\r\n },\r\n {\r\n name: 'Attività completata',\r\n value: ERPComplianceRegisterNotificationType.ActivityCompleted,\r\n },\r\n /*{ name: 'Gestione non conformità', divider: true },\r\n {\r\n name: 'Apertura non comformità',\r\n value: ERPComplianceRegisterNotificationType.NewNoncompliance,\r\n },\r\n {\r\n name:\r\n \"Preavviso: sta per scadere il termine fissato per l'azione correttiva\",\r\n value:\r\n ERPComplianceRegisterNotificationType.NonComplianceNoticePeriodStarted,\r\n },\r\n {\r\n name: \"Allarme: è scaduto il termine fissato per l'azione correttiva\",\r\n value: ERPComplianceRegisterNotificationType.NonCompliancePeriodExpired,\r\n },\r\n {\r\n name: 'Chiusura non conformità',\r\n value: ERPComplianceRegisterNotificationType.NonComplianceCompleted,\r\n },*/\r\n /*{ name: 'Approvazioni', divider: true },\r\n { name: 'Richiesta approvazione', value: 1 << 14 },\r\n {\r\n name: \"Preavviso: sta per scadere il termine fissato per l'approvazione\",\r\n value: ERPComplianceRegisterNotificationType.ValidationNoticePeriodStarted,\r\n },\r\n {\r\n name: \"Allarme: è scaduto il termine fissato per l'approvazione\",\r\n value: ERPComplianceRegisterNotificationType.ValidationPeriodExpired,\r\n },\r\n {\r\n name: 'Approvazione concessa o negata',\r\n value: ERPComplianceRegisterNotificationType.ValidationCompleted,\r\n },*/\r\n { name: 'Scadenze', divider: true },\r\n {\r\n name: 'Preavviso: 1° promemoria sulla data di scadenza',\r\n value: ERPComplianceRegisterNotificationType.NewValidation,\r\n },\r\n {\r\n name: 'Avviso: 2° promemoria sulla data di scadenza',\r\n value: ERPComplianceRegisterNotificationType.DeadlineNoticePeriodStarted,\r\n },\r\n {\r\n name: 'Allarme: è scaduto il termine',\r\n value: ERPComplianceRegisterNotificationType.DeadlineExpired,\r\n },\r\n { name: 'Norme collegate', divider: true },\r\n {\r\n name: 'Modifica o abrogazione',\r\n value: ERPComplianceRegisterNotificationType.LawChanged,\r\n },\r\n\r\n];\r\n\r\nexport enum ERPComplianceLawState {\r\n ApplicableOrAknowledged = 1,\r\n NotApplicable = 2,\r\n NotAnalyzed = 3,\r\n ExpiredAnalysis = 4,\r\n UpdatedLaws = 5,\r\n Analyzed = 6,\r\n Abrogated = 7,\r\n Applicable = 8,\r\n Aknowledged = 9\r\n}\r\n\r\nexport enum ERPComplianceLawOrigin {\r\n National = 1,\r\n EU = 2,\r\n Regional = 3,\r\n Local = 4,\r\n Technical = 5,\r\n Voulontary = 6,\r\n Internal = 7,\r\n Other = 8,\r\n}\r\n\r\nexport const EvolutionComplianceLawStates = [\r\n { name: 'Applicabile', value: ERPComplianceLawState.Applicable },\r\n { name: 'Da conoscere', value: ERPComplianceLawState.Aknowledged },\r\n {\r\n name: 'Applicabile / da conoscere',\r\n value: ERPComplianceLawState.ApplicableOrAknowledged,\r\n },\r\n { name: 'Non applicabile', value: ERPComplianceLawState.NotApplicable },\r\n { name: 'Abrogata', value: ERPComplianceLawState.Abrogated },\r\n { name: 'Analizzata', value: ERPComplianceLawState.Analyzed },\r\n { name: 'Da definire', value: ERPComplianceLawState.NotAnalyzed },\r\n { name: 'In ritardo', value: ERPComplianceLawState.ExpiredAnalysis },\r\n {\r\n name: 'Con aggiornamenti pendenti',\r\n value: ERPComplianceLawState.UpdatedLaws,\r\n },\r\n];\r\n\r\nexport const EvolutionComplianceLawOrigins = [\r\n { name: 'Nazionale', value: ERPComplianceLawOrigin.National },\r\n { name: 'Comunitaria', value: ERPComplianceLawOrigin.EU },\r\n { name: 'Regionale', value: ERPComplianceLawOrigin.Regional },\r\n { name: 'Locale', value: ERPComplianceLawOrigin.Local },\r\n { name: 'Tecnica', value: ERPComplianceLawOrigin.Technical },\r\n { name: 'Interna', value: ERPComplianceLawOrigin.Internal },\r\n { name: 'Volontaria', value: ERPComplianceLawOrigin.Voulontary },\r\n { name: 'Altro', value: ERPComplianceLawOrigin.Other },\r\n];\r\n\r\nexport const EvolutionComplianceLawChangeStates = [\r\n { name: 'Aperto', value: 1 },\r\n { name: 'Chiuso', value: 2 },\r\n];\r\n\r\nexport enum ERPComplianceActivityState {\r\n NotPlanned = 1 << 7,\r\n Closed = 1 << 2,\r\n Expired = 1 << 3,\r\n Planned = 1 << 8,\r\n Cancelled = 1 << 9,\r\n UpdatedLaws = 1 << 10,\r\n AlreadyManaged = 1 << 11\r\n}\r\n\r\nexport const EvolutionComplianceActivityStates = [\r\n {\r\n name: 'Da definire',\r\n value: ERPComplianceActivityState.NotPlanned,\r\n },\r\n {\r\n name: 'Pianificata',\r\n value: ERPComplianceActivityState.Planned,\r\n },\r\n {\r\n name: 'Chiusa',\r\n value: ERPComplianceActivityState.Closed,\r\n },\r\n {\r\n name: 'In ritardo',\r\n value: ERPComplianceActivityState.Expired,\r\n },\r\n {\r\n name: 'Annullata',\r\n value: ERPComplianceActivityState.Cancelled,\r\n },\r\n {\r\n name: 'Gestita separatamente',\r\n value: ERPComplianceActivityState.AlreadyManaged,\r\n },\r\n {\r\n name: 'Con aggiornamenti pendenti',\r\n value: ERPComplianceActivityState.UpdatedLaws,\r\n },\r\n];\r\n\r\nexport const EvolutionComplianceObligationTypes = [\r\n { name: 'Autorizzazione', value: 1 },\r\n { name: 'Verifiche periodiche manutentive', value: 2 },\r\n { name: 'Misure organizzative', value: 3 },\r\n { name: 'Controlli e misurazioni', value: 4 },\r\n { name: 'Entrata in vigore', value: 5 },\r\n { name: 'Documenti aziendali obbligatori', value: 6 },\r\n {\r\n name: 'Altri adempimenti formali (comunicazioni, dichiarazioni, ecc...)',\r\n value: 7,\r\n },\r\n { name: 'Altro', value: 99 },\r\n];\r\n\r\nexport const EvolutionComplianceObligationAuthorities = [\r\n { name: 'Agenzia ECHA', value: 1 },\r\n { name: 'Albo Nazionale dei Gestori Ambientali', value: 2 },\r\n { name: 'ARPA', value: 4 },\r\n { name: 'ASL', value: 5 },\r\n { name: 'Camera di Commercio', value: 8 },\r\n { name: 'Comando provinciale dei Vigili del Fuoco', value: 10 },\r\n { name: 'Comune', value: 13 },\r\n { name: 'Consorzi gestione rifiuti particolari', value: 14 },\r\n { name: 'Gestore del servizio', value: 21 },\r\n { name: 'Gestore della rete di trasmissione nazionale', value: 22 },\r\n { name: 'INAIL - IPSEMA - ISPESL', value: 23 },\r\n { name: 'ISPRA', value: 26 },\r\n { name: 'Ministero', value: 27 },\r\n { name: 'Genio civile', value: 30 },\r\n { name: 'Organo di vigilanza competente', value: 31 },\r\n { name: 'Provincia', value: 33 },\r\n { name: 'Regione', value: 35 },\r\n { name: 'Uffici tecnici di finanza', value: 36 },\r\n { name: 'Ispettorato del lavoro', value: 37 },\r\n { name: 'Comitato Regionale Tecnico VF', value: 38 },\r\n { name: 'Prefetto', value: 39 },\r\n { name: 'Organismo notificato', value: 40 },\r\n { name: 'Città Metropolitana', value: 41 },\r\n { name: 'Nessuna', value: 28 },\r\n { name: 'Altro', value: 3 }\r\n];\r\n\r\nexport enum ERPRecurrenceFrequencyType {\r\n Day = 1,\r\n Month = 2,\r\n Year = 3,\r\n}\r\nexport const EvolutionRecurrenceFrequencyTypes = [\r\n { name: 'Anni', value: ERPRecurrenceFrequencyType.Year },\r\n { name: 'Mesi', value: ERPRecurrenceFrequencyType.Month },\r\n { name: 'Giorni', value: ERPRecurrenceFrequencyType.Day },\r\n];\r\n\r\nexport enum ERPPlacePermission {\r\n None = 0,\r\n Denied = 1,\r\n Read = 2,\r\n Write = 3\r\n}\r\n\r\nexport enum ERPPlace {\r\n Subject = 1,\r\n Site = 2,\r\n Department = 3,\r\n Area = 4,\r\n Line = 5\r\n}\r\nexport interface EvolutionPermission {\r\n placeId: number;\r\n userId: number;\r\n allowRead: number;\r\n allowWrite: number;\r\n allowNone: number;\r\n}\r\n\r\nexport interface EvolutionPlacePermission extends EvolutionPermission {\r\n id: number;\r\n subjectId?: number;\r\n siteId?: number;\r\n departmentId?: number;\r\n mode: number;\r\n}\r\n\r\nexport interface EvolutionContextInfo {\r\n id: number;\r\n userId?: number;\r\n name: string;\r\n permission: EvolutionPermission;\r\n placePermission: ERPPlacePermission;\r\n costCenter: string;\r\n selected?: boolean;\r\n level?: number;\r\n levelTitle?: string;\r\n}\r\n\r\nexport class EvolutionComplianceContextInfo {\r\n licenceId?: number;\r\n licencedCompany?: string;\r\n registerTitle?: string;\r\n registerId?: number;\r\n siteName?: string;\r\n siteId?: number;\r\n userId?: number;\r\n items?: EvolutionContextInfo[];\r\n}\r\n\r\nexport interface EvolutionChangeContextModel {\r\n userId?: number ;\r\n licenceId?: number ;\r\n subjectId?: number ;\r\n siteId?: number ;\r\n registerId?: number ;\r\n role?: ERPComplianceProfileRole ;\r\n permission?: ERPPlacePermission ;\r\n option1Value?: number ;\r\n option2Value?: number ;\r\n option3Value?: number ;\r\n allowObservers?: boolean ;\r\n allowDisabled?: boolean ;\r\n}\r\n\r\nexport interface EvolutionChangeContextResultModel {\r\n items: EvolutionContextInfo[];\r\n}\r\n\r\nexport interface EvolutionComplianceRegister extends EvolutionPlaceable {\r\n id: number;\r\n title?: string;\r\n enableNotifications?: boolean;\r\n enableNotification1?: boolean;\r\n enableNotification2?: boolean;\r\n enableNotification3?: boolean;\r\n enableNotification4?: boolean;\r\n enableNotification5?: boolean;\r\n enableNotification7?: boolean;\r\n enableNotification8?: boolean;\r\n enableNotification9?: boolean;\r\n notification1NoticeDays?: number;\r\n notification2NoticeDays?: number;\r\n notification2Limit?: number;\r\n notification3NoticeDays?: number;\r\n notification4NoticeDays?: number;\r\n notification4Limit?: number;\r\n notification5NoticeDays?: number;\r\n notification5Limit?: number;\r\n notification6Limit?: number;\r\n notification8NoticeDays?: number;\r\n notification8Limit?: number;\r\n enableActivityLawsPopulation?: boolean;\r\n enableLawChangesTracking?: boolean;\r\n automationMode?: number;\r\n automationScope?: number;\r\n disabled?: boolean;\r\n created?: Date;\r\n lastUpdated?: Date;\r\n lastUpdatedBy?: string;\r\n totalSites?: number;\r\n totalProfiles?: number;\r\n sites?: EvolutionComplianceRegisterSite[];\r\n oldId?: string;\r\n isAutomationEnabled?: boolean;\r\n automationModeDescription?: string;\r\n automationScopeDescription?: string;\r\n context?: EvolutionComplianceContextInfo;\r\n isMenuOpen?: boolean;\r\n isOver?: boolean;\r\n}\r\n\r\nexport interface EvolutionRegisterProfileSiteInfo extends EvolutionContextInfo {\r\n\r\n}\r\n\r\nexport interface EvolutionRegisterProfileUserInfo {\r\n userId: number;\r\n name: string;\r\n sites: EvolutionRegisterProfileSiteInfo[];\r\n}\r\n\r\nexport interface ComplianceRegisterUsersResultModel {\r\n users: EvolutionRegisterProfileUserInfo[];\r\n sites: EvolutionRegisterProfileSiteInfo[];\r\n}\r\n\r\nexport interface EvolutionComplianceRegisterSite {\r\n id: number;\r\n complianceRegisterId?: number;\r\n complianceSiteId?: number;\r\n disabled?: boolean;\r\n created?: Date;\r\n licenceId?: number;\r\n subjectId?: number;\r\n subjectName: string;\r\n siteId?: number;\r\n siteName?: string;\r\n departmentId?: number;\r\n departmentName?: string;\r\n registerTitle?: string;\r\n placeId?: number;\r\n oldSiteId?: string;\r\n}\r\n\r\nexport interface EvolutionComplianceLaw extends EvolutionPlaceable {\r\n id?: number;\r\n state?: number;\r\n complianceRegisterId?: number;\r\n lot?: number;\r\n topicId?: string;\r\n topicPath?: string;\r\n topicName?: string;\r\n summary?: string;\r\n scope?: number;\r\n source?: string;\r\n references?: EvolutionComplianceLawReference[];\r\n originalLawId?: number ;\r\n originRegion?: string ;\r\n origin?: number ;\r\n originAlternativeDescription?: string ;\r\n description?: string ;\r\n documentShortTitle?: string ;\r\n documentTitle?: string ;\r\n documentNumber?: string ;\r\n documentDate?: Date ;\r\n documentLastUpdate?: string ;\r\n documentLastUpdateShortTitle?: string ;\r\n documentUpdateNotes?: string ;\r\n documentValidated?: boolean ;\r\n documentId?: string ;\r\n documentModel?: number ;\r\n documentReferences?: string ;\r\n documentNotes?: string ;\r\n documentForceGlobalCheckForUpdates?: boolean;\r\n complianceCheckItem1?: boolean ;\r\n complianceCheckItem2?: boolean ;\r\n complianceCheckItem3?: boolean ;\r\n complianceCheckItem4?: boolean ;\r\n complianceCheckItem5?: boolean ;\r\n complianceCheckItem6?: boolean ;\r\n complianceCheckItem7?: boolean ;\r\n complianceCheckItem8?: boolean ;\r\n complianceCheckItem9?: boolean ;\r\n complianceCheckItem10?: boolean ;\r\n complianceCheckItem11?: boolean ;\r\n complianceCheckItem12?: boolean ;\r\n alternativeComplianceCheckItem?: boolean ;\r\n alternativeComplianceDescription?: string ;\r\n applicability?: number ;\r\n analyzedBy?: string ;\r\n analystOperatorId?: number ;\r\n analysisExpiringDate?: Date ;\r\n analysisDate?: Date ;\r\n analysisNotes?: string ;\r\n analysisNoticeDate?: string ;\r\n group1?: string ;\r\n group2?: string ;\r\n count?: number ;\r\n created?: Date ;\r\n createdBy?: string ;\r\n lastUpdated?: Date ;\r\n lastUpdatedBy?: string ;\r\n}\r\n\r\nexport interface EvolutionQueryRegisterProfilesModel extends QueryModel {\r\n complianceRegisterId?: number;\r\n siteId?: number;\r\n userId?: number;\r\n licenceId?: number;\r\n name?: string;\r\n role?: number;\r\n allowObservers?: boolean;\r\n allowDisabled?: boolean;\r\n state?: number;\r\n}\r\n\r\nexport interface EvolutionComplianceRegisterProfile {\r\n id: number;\r\n licenceId?: number;\r\n userId?: number;\r\n passiveUserName?: string;\r\n passiveUserOperatorId?: number;\r\n complianceRegisterId?: number;\r\n complianceSiteId?: number;\r\n scopes?: number;\r\n selectedScopes?: number[];\r\n roles?: number;\r\n selectedRoles?: number[];\r\n notifications?: number;\r\n flags?: number;\r\n disabled?: boolean;\r\n created?: Date;\r\n lastUpdated?: Date;\r\n lastUpdatedBy?: string;\r\n subjectId?: number;\r\n subjectName?: string;\r\n siteId?: number;\r\n siteName?: string;\r\n siteDisabled?: boolean;\r\n departmentId?: number;\r\n departmentName?: string;\r\n passiveUserEmail?: string;\r\n placeId?: number;\r\n userEmail?: string;\r\n userOperatorId?: number;\r\n userDisabled?: boolean;\r\n registerDisabled?: boolean;\r\n registerTitle?: string;\r\n name?: string;\r\n scopeNames?: string;\r\n isAdministrator?: boolean;\r\n isObserver?: boolean;\r\n denied?: boolean;\r\n oldId?: string;\r\n operatorId?: number;\r\n isMenuOpen?: boolean;\r\n isOver?: boolean;\r\n context?: EvolutionComplianceContextInfo;\r\n}\r\nexport interface EvolutionComplianceLawDocumentInfo {\r\n documentId?: string;\r\n documentId2?: string;\r\n title2?: string;\r\n title1?: string;\r\n number?: string;\r\n date?: Date;\r\n origin?: number;\r\n originDescription?: string;\r\n originAlternativeDescription?: string;\r\n originRegion?: string;\r\n notes?: string;\r\n references?: EvolutionComplianceLawReference[];\r\n forceGlobalCheckForUpdates?: boolean;\r\n validated?: boolean;\r\n description?: string;\r\n}\r\n\r\nexport interface EvolutionComplianceLawsAddParams extends EvolutionComplianceLaw {\r\n context?: EvolutionComplianceContextInfo;\r\n documents?: EvolutionComplianceLawDocumentInfo[];\r\n shouldNotifyAnalysisCompletionAgain?: boolean;\r\n scopes?: number[];\r\n sites?: number[];\r\n registers?: number[];\r\n}\r\n\r\nexport interface EvolutionComplianceLaswExportParams extends EvolutionExportModel<any> {}\r\n\r\nexport interface EvolutionComplianceLawReference {\r\n id?: number ;\r\n complianceLawId?: number ;\r\n text: string;\r\n description?: string ;\r\n anchor: string;\r\n}\r\n\r\nexport interface EvolutionComplianceActivity extends EvolutionPlaceable {\r\n id: number;\r\n state: number;\r\n monitoringActivityId?: number;\r\n monitoringActivityTaskId?: number;\r\n complianceRegisterId?: number;\r\n childId?: number ;\r\n parentId?: number ;\r\n lot?: number ; \r\n summary?: string;\r\n scope?: number;\r\n topicId?: string ;\r\n topicPath?: string;\r\n topicName?: string;\r\n mandatory?: boolean ;\r\n obligationType?: number ;\r\n obligationAuthorityId?: number ;\r\n obligationNotes?: string;\r\n obligationCheckPoint?: boolean ;\r\n description?: string;\r\n deadlineRecurrent?: boolean ;\r\n deadlineFrequency?: number ;\r\n deadlineFrequencyType?: number ;\r\n deadlineFrequencyEndOfMonth?: boolean ;\r\n deadlineFirstNoticeDays?: number ;\r\n deadlineLastNoticeDays?: number ;\r\n deadlineFirstNoticeDate?: Date ;\r\n deadlineLastNoticeDate?: Date ;\r\n deadlineExpiringDate?: Date ;\r\n planningNoticeDate?: Date ;\r\n planningExpiringDate?: Date ;\r\n planningDate?: Date ;\r\n plannedBy?: string;\r\n plannerOperatorId?: number ;\r\n planningApplicability?: number ;\r\n planningNotificationAdditionalEmailHeader?: string;\r\n planningNotificationAdditionalEmails?: string;\r\n planningNotificationAdditionalEmailsForAlertsOnly?: string;\r\n planningNamedExecutorOperatorId?: number ;\r\n planningNamedExecutorName?: string;\r\n planningNamedExecutorManagerOperatorId?: number ;\r\n planningNamedExecutorManagerName?: string;\r\n planningScheduleNextFromExecutionDate?: boolean ;\r\n planningNotes?: string;\r\n executorOperatorId?: number ;\r\n executed?: boolean;\r\n executedBy?: string;\r\n executionDate?: Date;\r\n externalReference?: string;\r\n externalDescription?: string;\r\n group1?: string;\r\n group2?: string;\r\n notes?: string;\r\n created?: Date;\r\n createdBy?: string;\r\n lastUpdated?: Date ;\r\n lastUpdatedBy?: string;\r\n\r\n}\r\n\r\nexport interface EvolutionComplianceActivitiesAddParams extends EvolutionComplianceActivity {\r\n context?: EvolutionComplianceContextInfo;\r\n complianceLawId?: number;\r\n monitoringLawId?: number;\r\n enableLawChangesTracking?: boolean;\r\n enableActivityLawsPopulation?: boolean;\r\n shouldNotifyPlanningCompletionAgain?: boolean;\r\n scopes?: number[];\r\n sites?: number[];\r\n registers?: number[];\r\n document?: EvolutionComplianceLawDocumentInfo;\r\n}","import { HttpClient, HttpHeaders } from '@angular/common/http';\r\nimport { inject, Injectable, OnDestroy, signal } from '@angular/core';\r\nimport { ApiResult, BroadcastMessageInfo, BroadcastService, FolderTree, INode, SystemUtils } from '@arsedizioni/ars-utils/core';\r\nimport { DialogService } from '@arsedizioni/ars-utils/ui';\r\nimport { EMPTY, of, Subscription, throwError } from 'rxjs';\r\nimport { catchError, finalize, map } from 'rxjs/operators';\r\nimport { LoginOAuthType } from '@arsedizioni/ars-utils/ui.oauth';\r\nimport { EvolutionChangeContextModel, EvolutionChangeContextResultModel, EvolutionComplianceActivitiesAddParams, EvolutionComplianceActivity, EvolutionComplianceLaw, EvolutionComplianceLawsAddParams, EvolutionComplianceRegister, EvolutionComplianceRegisterProfile, EvolutionLoginInfo, EvolutionLoginResult, EvolutionQueryRegisterProfilesModel, EvolutionServiceFlags, EvolutionUserLink } from './../definitions';\r\nimport { EvolutionMessages } from '../messages';\r\n\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class EvolutionService implements OnDestroy {\r\n\r\n\r\n private httpClient = inject(HttpClient);\r\n private broadcastService = inject(BroadcastService);\r\n private broadcastServiceSubscription?: Subscription;\r\n private dialogService = inject(DialogService);\r\n\r\n private _serviceUri: string = undefined;\r\n get serviceUri(): string {\r\n return this._serviceUri;\r\n }\r\n private _flags: EvolutionServiceFlags = EvolutionServiceFlags.None;\r\n get flags(): EvolutionServiceFlags {\r\n return this._flags;\r\n }\r\n private _loginInfo?: EvolutionLoginInfo;\r\n get loginInfo(): EvolutionLoginInfo | undefined {\r\n if (!this._loginInfo) {\r\n const loginInfo = localStorage.getItem('evolution_context');\r\n if (loginInfo) {\r\n try {\r\n this._loginInfo = JSON.parse(loginInfo) as EvolutionLoginInfo;\r\n } catch { }\r\n }\r\n }\r\n return this._loginInfo;\r\n }\r\n public readonly loggedIn = signal<boolean>(false);\r\n public readonly loggingIn = signal<boolean>(false);\r\n\r\n\r\n\r\n ngOnDestroy() {\r\n if (this.broadcastServiceSubscription) {\r\n this.broadcastServiceSubscription.unsubscribe();\r\n }\r\n }\r\n\r\n /**\r\n * Initialize service\r\n * @param serviceUri : the service uri\r\n * @param flags: the service flags. Default is none.\r\n */\r\n initialize(\r\n serviceUri: string,\r\n flags: EvolutionServiceFlags = EvolutionServiceFlags.None) {\r\n // Create unique client id and machine id\r\n if (!sessionStorage.getItem('evolution_client_id')) {\r\n sessionStorage.setItem('evolution_client_id', \r\n (flags && EvolutionServiceFlags.Embedded) > 0\r\n ? 'embedded'\r\n : SystemUtils.generateUUID());\r\n }\r\n \r\n // Initialize\r\n this._serviceUri = serviceUri;\r\n this._flags = flags;\r\n\r\n // React to message broadcasting\r\n if (!this.broadcastServiceSubscription) {\r\n this.broadcastServiceSubscription = this.broadcastService.getMessage().subscribe((message: BroadcastMessageInfo) => {\r\n if (message.id === EvolutionMessages.LOGIN_CHANGED) {\r\n this.login(\r\n null,\r\n null,\r\n true).subscribe({\r\n next: r => {\r\n if (!r.success) {\r\n this.dialogService.error(\r\n \"Le credenziali di accesso sono cambiate o non sono più valide. Esegui un nuovo accesso.\",\r\n undefined,\r\n \"Errore di Evolution\");\r\n } else {\r\n if ((this.flags & EvolutionServiceFlags.DisplayConnectionStateMessages) > 0) {\r\n this.dialogService.toast('Connesso a Evolution', 1500, 'power');\r\n }\r\n }\r\n },\r\n error: () => { console.error(\"Evolution non disponibile.\") } // Avoid unwanted errors on client\r\n });\r\n } else if (message.id === EvolutionMessages.LOGOUT) {\r\n if (this.loggedIn()) {\r\n this.logout().subscribe(r => {\r\n if (!r.success) {\r\n if (r.message) {\r\n this.dialogService.error(\"<p>\" + r.message + \"</p><br><br><hr><p class='small'><i>Per eliminare la configurazione di Evolution accedere a:<br><b>menu > personalizza > collegamenti</b></i></p>\", null, \"Errore di Evolution\");\r\n }\r\n } else {\r\n if ((this.flags & EvolutionServiceFlags.DisplayConnectionStateMessages) > 0) {\r\n this.dialogService.toast('Disconnesso da Evolution', 1500, 'power_off');\r\n }\r\n }\r\n });\r\n } else {\r\n this.clear();\r\n }\r\n }\r\n });\r\n }\r\n\r\n // Eveluate current session storage in case of page refresh (F5)\r\n if (this.loggedIn()) {\r\n // Auto login\r\n this.loggingIn.set(false);\r\n // Notify \r\n this.broadcastService.sendMessage(EvolutionMessages.LOGIN_COMPLETED);\r\n }\r\n }\r\n\r\n\r\n /**\r\n * Ping\r\n */\r\n ping() {\r\n this.httpClient.get<ApiResult<number>>(\r\n this._serviceUri + '/ping?nocache=' + SystemUtils.generateUUID()\r\n )\r\n .pipe(catchError(() => { return EMPTY }))\r\n .subscribe();\r\n }\r\n\r\n\r\n\r\n /**\r\n * Store login info\r\n */\r\n storeContext() {\r\n localStorage.setItem('evolution_context', JSON.stringify(this._loginInfo));\r\n }\r\n\r\n\r\n /**\r\n * Update context\r\n * @param result: the new context\r\n */\r\n updateContext(result: EvolutionLoginResult) {\r\n if (!this._loginInfo) {\r\n this._loginInfo = { context: undefined };\r\n }\r\n this._loginInfo.context = result.context\r\n this.storeContext();\r\n }\r\n\r\n /**\r\n * Perform auto login using current link data\r\n * @param onSuccess: function to execute on seccess\r\n */\r\n autoLogin(onSuccess?: Function) {\r\n this.login(null, null, true)\r\n .pipe(finalize(() => this.dialogService.clearBusy()))\r\n .subscribe({\r\n next: r => {\r\n if (!r.success) {\r\n this.dialogService.error(r.message, null, \"Errore in Evolution\");\r\n } else {\r\n if (!r.value.requiresMfa) {\r\n this.dialogService.toast('Connesso ad Evolution', 1500, 'power');\r\n }\r\n if (onSuccess) {\r\n onSuccess();\r\n }\r\n }\r\n },\r\n error: () => { this.dialogService.error(\"Evolution non disponibile.\") }\r\n });\r\n return true;\r\n }\r\n\r\n /**\r\n * Perform auto logout\r\n * @param onSuccess: function to execute on seccess\r\n */\r\n autoLogout(onSuccess?: Function) {\r\n this.logout()\r\n .subscribe({\r\n next: r => {\r\n if (!r.success) {\r\n if (r.message) {\r\n this.dialogService.error(r.message, null, \"Errore in Evolution\");\r\n }\r\n this.broadcastService.sendMessage(EvolutionMessages.LOGIN_CHANGED);\r\n } else {\r\n this.dialogService.toast('Disconnesso da Evolution', 1500, 'power_off');\r\n }\r\n },\r\n error: () => { },\r\n complete: () => {\r\n this.dialogService.clearBusy()\r\n if (onSuccess) {\r\n onSuccess();\r\n }\r\n }\r\n });\r\n }\r\n\r\n /**\r\n * Perform login \r\n * @param email: the optional email if using OAuth2\r\n * @parma password: the optional password if using OAuth2\r\n * @param remember: remember credentials \r\n * @param oauth: the optional open authentication supported\r\n * @param oauthAccessToken: the optional OAuth2 access token\r\n */\r\n login(email?: string,\r\n password?: string,\r\n remember?: boolean,\r\n oauth?: LoginOAuthType,\r\n oauthAccessToken: string | undefined = sessionStorage.getItem(\"evolution_oauth_token\") ?? undefined) {\r\n return this.httpClient\r\n .post<ApiResult<EvolutionLoginResult>>(\r\n this._serviceUri + '/login2',\r\n {\r\n user: oauth ? null : email,\r\n password: oauth ? null : password,\r\n remember: remember,\r\n oauth: oauth\r\n },\r\n {\r\n headers:\r\n !oauth || !oauthAccessToken\r\n ? new HttpHeaders()\r\n : new HttpHeaders()\r\n .set(\"Authorization\", oauthAccessToken ?? '')\r\n })\r\n .pipe(\r\n catchError(err => {\r\n return throwError(() => err);\r\n }),\r\n map((r: ApiResult<EvolutionLoginResult>) => {\r\n if (r.success) {\r\n if (!this._loginInfo) {\r\n this._loginInfo = { context: undefined }\r\n }\r\n this._loginInfo.oauth = oauth;\r\n this._loginInfo.remember = remember;\r\n if (!oauth && r.value.requiresMfa) {\r\n // Notify login is pending\r\n this.broadcastService.sendMessage(EvolutionMessages.LOGIN_PENDING, {});\r\n } else {\r\n // Complete login\r\n this.completeLogin(r.value);\r\n }\r\n }\r\n return r;\r\n })\r\n );\r\n }\r\n\r\n /**\r\n * Complete login\r\n * @param result : the login result\r\n */\r\n private completeLogin(\r\n result: EvolutionLoginResult) {\r\n // Update context info \r\n this.updateContext(result);\r\n this.loggedIn.set(!result.context?.isTemporary);\r\n this.loggingIn.set(false);\r\n // Keep alive\r\n // Notify\r\n this.broadcastService.sendMessage(EvolutionMessages.LOGIN_COMPLETED);\r\n }\r\n\r\n\r\n /**\r\n * Confirm MFA procedure\r\n * @param code: the confirm code\r\n */\r\n confirmIdentity(code: string) {\r\n return this.httpClient\r\n .post<ApiResult<EvolutionLoginResult>>(\r\n this._serviceUri + '/login/confirm/' + code,\r\n {},\r\n )\r\n .pipe(\r\n catchError((err) => {\r\n return throwError(() => err);\r\n }),\r\n map((r: ApiResult<EvolutionLoginResult>) => {\r\n if (r.success) {\r\n // Complete login\r\n this.completeLogin(r.value);\r\n }\r\n return r;\r\n }),\r\n );\r\n }\r\n\r\n /**\r\n * Perform logout\r\n * @param forget: true to dispose all user informations\r\n */\r\n logout(forget: boolean = false) {\r\n return this.httpClient.post<any>(this._serviceUri + '/logout/?forget=' + forget, {})\r\n .pipe(\r\n finalize(() => {\r\n this.clear();\r\n // Clean up\r\n localStorage.removeItem('evolution_context');\r\n }),\r\n catchError((_e) => {\r\n return of([]);\r\n }));\r\n }\r\n\r\n\r\n /**\r\n * Switch the current login to a new one with the same credentials except role possibly (context change)\r\n * @param id : new user id\r\n */\r\n loginSwitch(id: number) {\r\n return this.httpClient\r\n .post<ApiResult<EvolutionLoginResult>>(\r\n this._serviceUri + '/login/switch',\r\n {\r\n userId: id,\r\n }\r\n )\r\n .pipe(\r\n catchError((err) => {\r\n return throwError(() => err);\r\n }),\r\n map((r: ApiResult<EvolutionLoginResult>) => {\r\n if (r.success) {\r\n // Update login\r\n this.completeLogin(r.value);\r\n }\r\n return r;\r\n })\r\n );\r\n }\r\n\r\n\r\n /**\r\n * Reset login refresh timer and login state\r\n */\r\n reset() {\r\n // Clear login info\r\n this._loginInfo = undefined;\r\n // Logged out\r\n this.loggedIn.set(false);\r\n // Notify\r\n this.broadcastService.sendMessage(EvolutionMessages.LOGOUT_COMPLETED);\r\n }\r\n\r\n /**\r\n * Clear login data\r\n * @param clearOAuthToken: true to clear oauth token also\r\n */\r\n clear(clearOAuthToken: boolean = false) {\r\n // Clear local storage\r\n sessionStorage.removeItem('evolution_auth');\r\n sessionStorage.removeItem('evolution_refresh');\r\n sessionStorage.removeItem('evolution_oauth');\r\n if (clearOAuthToken) {\r\n sessionStorage.removeItem('evolution_oauth_token');\r\n }\r\n\r\n // Reset login\r\n this.reset();\r\n }\r\n \r\n /**\r\n * Convert folders in a tree of Node object.\r\n * @param folders : the subfolders group or null to root\r\n */\r\n toNodes(folders: INode[]): INode[] {\r\n return this._toNodes(folders, null);\r\n }\r\n\r\n /**\r\n * Convert folders in a tree of Node object.\r\n * @param folders : the children group or null to root\r\n */\r\n private _toNodes(folders: INode[], parent?: INode): INode[] {\r\n let nodes: INode[] = [];\r\n folders.forEach(n => {\r\n let node: INode = {\r\n id: n.id,\r\n name: n.name,\r\n count: n.count,\r\n parent: parent,\r\n children: null,\r\n bag: n,\r\n };\r\n node.children =\r\n n.children && n.children.length > 0\r\n ? this._toNodes(n.children, node)\r\n : [];\r\n nodes.push(node);\r\n });\r\n return nodes;\r\n }\r\n\r\n /**\r\n * Retrieve the taxonomy\r\n */\r\n getTaxonomy() {\r\n return this.httpClient.get<ApiResult<FolderTree>>(\r\n this._serviceUri + '/taxonomy'\r\n );\r\n }\r\n\r\n /**\r\n * Retrieve groups\r\n * @param group: the group number\r\n * @param register: the optional register id. Default is null.\r\n */\r\n getGroups(group: number = 1, register?: number) {\r\n return this.httpClient.get<ApiResult<string[]>>(\r\n this._serviceUri +\r\n (register\r\n ? '/compliance/groups/?group=' +\r\n group +\r\n '®ister=' +\r\n register\r\n : '/compliance/groups/?group=' + group)\r\n );\r\n }\r\n\r\n ////\r\n // CONTEXT\r\n ////\r\n /**\r\n * Change context\r\n */\r\n changeContext(params: EvolutionChangeContextModel) {\r\n return this.httpClient.post<ApiResult<EvolutionChangeContextResultModel>>(\r\n this._serviceUri + '/compliance/context',\r\n params\r\n );\r\n }\r\n\r\n ////\r\n // REGISTERS\r\n ////\r\n\r\n\r\n /**\r\n * Retrieve a register\r\n * @param id the register id\r\n */\r\n getRegister(id: number) {\r\n return this.httpClient.get<ApiResult<EvolutionComplianceRegister>>(\r\n this._serviceUri +\r\n '/compliance/registers/' + id\r\n );\r\n }\r\n\r\n\r\n /**\r\n * Collect register profiles\r\n * @param params parameters\r\n */\r\n collectRegisterProfiles(params: EvolutionQueryRegisterProfilesModel) {\r\n return this.httpClient.post<ApiResult<EvolutionComplianceRegisterProfile[]>>(\r\n this._serviceUri +\r\n '/compliance/registers/profiles/collect',\r\n params\r\n );\r\n }\r\n\r\n\r\n ////\r\n // LAWS\r\n ////\r\n\r\n /**\r\n * Add one or more laws\r\n * @param params parameters\r\n */\r\n addLaws(params: EvolutionComplianceLawsAddParams) {\r\n return this.httpClient.post<ApiResult<EvolutionComplianceLaw[]>>(\r\n this._serviceUri + '/compliance/laws/add',\r\n params\r\n );\r\n }\r\n\r\n ////\r\n // ACTIVITIES\r\n ////\r\n\r\n\r\n\r\n /**\r\n * Add one or more activities\r\n * @param params parameters\r\n */\r\n addActivities(params: EvolutionComplianceActivitiesAddParams) {\r\n return this.httpClient.post<ApiResult<EvolutionComplianceActivity>>(\r\n this._serviceUri + '/compliance/activities/add',\r\n params\r\n );\r\n }\r\n\r\n /**\r\n * Export laws\r\n * @param params parameters\r\n */\r\n exportLaws(params: any) {\r\n return this.httpClient.post(\r\n this._serviceUri + '/compliance/laws/export',\r\n params,\r\n { responseType: 'blob' }\r\n );\r\n }\r\n\r\n ///\r\n // LINKS\r\n ///\r\n\r\n /**\r\n * Save a user link\r\n * @param item: the user link\r\n */\r\n saveLink(item: EvolutionUserLink) {\r\n return this.httpClient.post<ApiResult<boolean>>(\r\n this._serviceUri + '/account/links/save',\r\n item\r\n );\r\n }\r\n\r\n /**\r\n * Delete a user link\r\n * @param item: the user link\r\n */\r\n deleteLink(item: EvolutionUserLink) {\r\n return this.httpClient.post<ApiResult<boolean>>(\r\n this._serviceUri + '/account/links/delete',\r\n item\r\n );\r\n }\r\n}\r\n","import { HttpEvent, HttpHandler, HttpInterceptor, HttpRequest } from '@angular/common/http';\r\nimport { Injectable, inject } from '@angular/core';\r\nimport { BroadcastService, ErrorInfo } from '@arsedizioni/ars-utils/core';\r\nimport { Observable, catchError, throwError } from 'rxjs';\r\nimport { EvolutionService } from '../services/evolution.service';\r\nimport { EvolutionServiceFlags } from '../definitions';\r\nimport { EvolutionMessages } from '../messages';\r\n\r\n\r\n@Injectable()\r\nexport class EvolutionAuthInterceptor implements HttpInterceptor {\r\n private evolutionService = inject(EvolutionService);\r\n private broadcastService = inject(BroadcastService);\r\n private lastErrorTime: number = -1;\r\n\r\n intercept(\r\n request: HttpRequest<any>,\r\n next: HttpHandler\r\n ): Observable<HttpEvent<any>> {\r\n if (request.url.startsWith(this.evolutionService.serviceUri ?? '')) {\r\n request = request.clone({ \r\n withCredentials: true, \r\n setHeaders: { \r\n 'ngsw-bypass': 'ngsw-bypass',\r\n 'X-Client-Id': sessionStorage.getItem('evolution_client_id') ?? '' \r\n }});\r\n return next.handle(request)\r\n .pipe(\r\n catchError(error => {\r\n if (error.url.startsWith(this.evolutionService.serviceUri)) {\r\n const errorStatus = parseInt(error.status ?? \"0\");\r\n if ((errorStatus > 0 && errorStatus < 500) || (this.evolutionService.flags & EvolutionServiceFlags.NotifySystemErrors) > 0) {\r\n const errorTime = new Date().getTime();\r\n if (errorTime - this.lastErrorTime > 5000) {\r\n this.lastErrorTime = errorTime;\r\n let message = \"\"\r\n switch (errorStatus) {\r\n case 0:\r\n message = \"In questo momento Evolution non è disponibile. Riprova tra qualche minuto.\";\r\n break;\r\n case 403:\r\n message = \"Non hai i permessi necessari per eseguire l'operazione richiesta.\";\r\n break;\r\n default:\r\n message = (error.error?.message ?? error.message ?? \"Impossibile eseguire l'operazione richiesta.\").replaceAll(\"\\r\\n\", \"</p><p>\");\r\n break;\r\n }\r\n this.broadcastService.sendMessage(\r\n EvolutionMessages.ERROR,\r\n {\r\n invalidateSession: errorStatus === 405 || errorStatus === 410,\r\n message: message,\r\n title: \"Errore in Clipper\",\r\n errorStatus: errorStatus,\r\n service: this.evolutionService.serviceUri\r\n } as ErrorInfo);\r\n }\r\n }\r\n }\r\n return throwError(() => error);\r\n }));\r\n }\r\n return next.handle(request);\r\n }\r\n}\r\n","import { NgModule } from '@angular/core';\r\n\r\n@NgModule()\r\nexport class EvolutionCommonModule {}\r\n\r\n// Other exports\r\nexport * from './messages';\r\nexport * from './definitions';\r\nexport * from './interceptors/auth.interceptor';\r\nexport * from './services/evolution.service';\r\n","/*\r\n * Public API Surface of ars-utils\r\n */\r\n\r\nexport * from './common/common.module';\r\n\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":["catchError"],"mappings":"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"}
|