@arsedizioni/ars-utils 18.5.61 → 19.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/fesm2022/arsedizioni-ars-utils-clipper.common.mjs +14 -12
- package/fesm2022/arsedizioni-ars-utils-clipper.common.mjs.map +1 -1
- package/fesm2022/arsedizioni-ars-utils-clipper.ui.mjs +41 -41
- package/fesm2022/arsedizioni-ars-utils-clipper.ui.mjs.map +1 -1
- package/fesm2022/arsedizioni-ars-utils-core.mjs +99 -99
- package/fesm2022/arsedizioni-ars-utils-core.mjs.map +1 -1
- package/fesm2022/arsedizioni-ars-utils-evolution.common.mjs +15 -13
- package/fesm2022/arsedizioni-ars-utils-evolution.common.mjs.map +1 -1
- package/fesm2022/arsedizioni-ars-utils-help.mjs +13 -13
- package/fesm2022/arsedizioni-ars-utils-help.mjs.map +1 -1
- package/fesm2022/arsedizioni-ars-utils-support.common.mjs +14 -12
- package/fesm2022/arsedizioni-ars-utils-support.common.mjs.map +1 -1
- package/fesm2022/arsedizioni-ars-utils-support.ui.mjs +6 -6
- package/fesm2022/arsedizioni-ars-utils-support.ui.mjs.map +1 -1
- package/fesm2022/arsedizioni-ars-utils-tinymce.mjs +7 -7
- package/fesm2022/arsedizioni-ars-utils-tinymce.mjs.map +1 -1
- package/fesm2022/arsedizioni-ars-utils-ui.application.mjs +58 -58
- package/fesm2022/arsedizioni-ars-utils-ui.application.mjs.map +1 -1
- package/fesm2022/arsedizioni-ars-utils-ui.mjs +34 -34
- package/fesm2022/arsedizioni-ars-utils-ui.mjs.map +1 -1
- package/fesm2022/arsedizioni-ars-utils-ui.oauth.mjs +7 -7
- package/fesm2022/arsedizioni-ars-utils-ui.oauth.mjs.map +1 -1
- package/fesm2022/arsedizioni-ars-utils.mjs.map +1 -1
- package/package.json +9 -33
- package/clipper.ui/ui/clipper.scss +0 -530
- package/esm2022/arsedizioni-ars-utils.mjs +0 -5
- package/esm2022/clipper.common/arsedizioni-ars-utils-clipper.common.mjs +0 -5
- package/esm2022/clipper.common/common/common.module.mjs +0 -16
- package/esm2022/clipper.common/common/definitions.mjs +0 -2041
- package/esm2022/clipper.common/common/interceptors/auth.interceptor.mjs +0 -100
- package/esm2022/clipper.common/common/messages.mjs +0 -36
- package/esm2022/clipper.common/common/services/clipper.service.mjs +0 -1009
- package/esm2022/clipper.common/public_api.mjs +0 -5
- package/esm2022/clipper.ui/arsedizioni-ars-utils-clipper.ui.mjs +0 -5
- package/esm2022/clipper.ui/documents.mjs +0 -50
- package/esm2022/clipper.ui/public_api.mjs +0 -18
- package/esm2022/clipper.ui/ui/browser-dialog/browser-dialog.component.mjs +0 -766
- package/esm2022/clipper.ui/ui/document/document.component.mjs +0 -688
- package/esm2022/clipper.ui/ui/document-index/document-index.component.mjs +0 -118
- package/esm2022/clipper.ui/ui/document-manager/document-manager.mjs +0 -441
- package/esm2022/clipper.ui/ui/document-menu/document-menu.component.mjs +0 -217
- package/esm2022/clipper.ui/ui/references/references.component.mjs +0 -380
- package/esm2022/clipper.ui/ui/search-calendar/search-calendar.component.mjs +0 -116
- package/esm2022/clipper.ui/ui/search-dialog/search-dialog.component.mjs +0 -339
- package/esm2022/clipper.ui/ui/search-facets/search-facets.component.mjs +0 -251
- package/esm2022/clipper.ui/ui/search-free-text-help/search-free-text-help.component.mjs +0 -17
- package/esm2022/clipper.ui/ui/search-free-text-query-builder/search-free-text-query-builder.component.mjs +0 -106
- package/esm2022/clipper.ui/ui/search-result-item/search-result-item.component.mjs +0 -120
- package/esm2022/clipper.ui/ui/search-result-manager/search-result-manager.mjs +0 -531
- package/esm2022/core/arsedizioni-ars-utils-core.mjs +0 -5
- package/esm2022/core/core.module.mjs +0 -151
- package/esm2022/core/dateFnsAdapter.mjs +0 -203
- package/esm2022/core/definitions.mjs +0 -47
- package/esm2022/core/directives/autoFocusDirective.mjs +0 -22
- package/esm2022/core/directives/changeDateIntervalDirective.mjs +0 -48
- package/esm2022/core/directives/copyClipboardDirective.mjs +0 -46
- package/esm2022/core/directives/validators.mjs +0 -502
- package/esm2022/core/pipes/format.pipe.mjs +0 -53
- package/esm2022/core/pipes/replace.pipe.mjs +0 -29
- package/esm2022/core/pipes/safe-html.pipe.mjs +0 -24
- package/esm2022/core/pipes/safe-url.pipe.mjs +0 -24
- package/esm2022/core/pipes/search-callback.pipe.mjs +0 -21
- package/esm2022/core/pipes/search-filter.pipe.mjs +0 -50
- package/esm2022/core/public_api.mjs +0 -22
- package/esm2022/core/selectable.mjs +0 -131
- package/esm2022/core/services/broadcast.service.mjs +0 -35
- package/esm2022/core/services/broadcastChannelManager.mjs +0 -80
- package/esm2022/core/services/environment.service.mjs +0 -29
- package/esm2022/core/services/screen.service.mjs +0 -23
- package/esm2022/core/services/theme.service.mjs +0 -140
- package/esm2022/core/system.mjs +0 -664
- package/esm2022/evolution.common/arsedizioni-ars-utils-evolution.common.mjs +0 -5
- package/esm2022/evolution.common/common/common.module.mjs +0 -16
- package/esm2022/evolution.common/common/definitions.mjs +0 -454
- package/esm2022/evolution.common/common/interceptors/auth.interceptor.mjs +0 -100
- package/esm2022/evolution.common/common/messages.mjs +0 -8
- package/esm2022/evolution.common/common/services/evolution.service.mjs +0 -488
- package/esm2022/evolution.common/public_api.mjs +0 -5
- package/esm2022/help/arsedizioni-ars-utils-help.mjs +0 -5
- package/esm2022/help/components/help-viewer/help-viewer.component.mjs +0 -442
- package/esm2022/help/definitions.mjs +0 -2
- package/esm2022/help/help.module.mjs +0 -12
- package/esm2022/help/public_api.mjs +0 -7
- package/esm2022/help/services/help.service.mjs +0 -77
- package/esm2022/public_api.mjs +0 -15
- package/esm2022/support.common/arsedizioni-ars-utils-support.common.mjs +0 -5
- package/esm2022/support.common/common/common.module.mjs +0 -16
- package/esm2022/support.common/common/definitions.mjs +0 -29
- package/esm2022/support.common/common/interceptors/auth.interceptor.mjs +0 -100
- package/esm2022/support.common/common/messages.mjs +0 -13
- package/esm2022/support.common/common/services/support.service.mjs +0 -287
- package/esm2022/support.common/public_api.mjs +0 -8
- package/esm2022/support.ui/arsedizioni-ars-utils-support.ui.mjs +0 -5
- package/esm2022/support.ui/public_api.mjs +0 -5
- package/esm2022/support.ui/ui/notifications-browser/notification/notification.component.mjs +0 -80
- package/esm2022/support.ui/ui/notifications-browser/notifications-browser.component.mjs +0 -233
- package/esm2022/tinymce/arsedizioni-ars-utils-tinymce.mjs +0 -5
- package/esm2022/tinymce/full-screen-editor/full-screen-editor.component.mjs +0 -48
- package/esm2022/tinymce/public_api.mjs +0 -7
- package/esm2022/tinymce/tinymce.module.mjs +0 -19
- package/esm2022/tinymce/utils.mjs +0 -150
- package/esm2022/ui/arsedizioni-ars-utils-ui.mjs +0 -5
- package/esm2022/ui/public_api.mjs +0 -12
- package/esm2022/ui/ui/components/button-selector/button-selector.component.mjs +0 -150
- package/esm2022/ui/ui/components/button-toggle/button-toggle.component.mjs +0 -51
- package/esm2022/ui/ui/components/calendar-empty-header/calendar-empy-header.component.mjs +0 -30
- package/esm2022/ui/ui/components/chips-selector/chips-selector.component.mjs +0 -272
- package/esm2022/ui/ui/components/file-input/file-input.component.mjs +0 -264
- package/esm2022/ui/ui/components/file-preview/file-preview.component.mjs +0 -73
- package/esm2022/ui/ui/components/filter-bar/filter-bar.component.mjs +0 -356
- package/esm2022/ui/ui/definitions.mjs +0 -2
- package/esm2022/ui/ui/dialogs/busy/busy-dialog.component.mjs +0 -47
- package/esm2022/ui/ui/dialogs/confirm/confirm-dialog.component.mjs +0 -101
- package/esm2022/ui/ui/dialogs/credentials/credentials-dialog.component.mjs +0 -86
- package/esm2022/ui/ui/dialogs/info/info-dialog.component.mjs +0 -51
- package/esm2022/ui/ui/dialogs/prompt/prompt-dialog.component.mjs +0 -77
- package/esm2022/ui/ui/dialogs/prompt-date/prompt-date-dialog.component.mjs +0 -79
- package/esm2022/ui/ui/dialogs/prompt-time/prompt-time-dialog.component.mjs +0 -72
- package/esm2022/ui/ui/dialogs/recover-password/recover-password-dialog.component.mjs +0 -49
- package/esm2022/ui/ui/dialogs/reset-password/reset-password-dialog.component.mjs +0 -89
- package/esm2022/ui/ui/dialogs/select/select-dialog.component.mjs +0 -374
- package/esm2022/ui/ui/dialogs/select-file/select-file-dialog.component.mjs +0 -106
- package/esm2022/ui/ui/dialogs/select-picture/select-picture-dialog.component.mjs +0 -62
- package/esm2022/ui/ui/dialogs/select-tree/select-tree-dialog.component.mjs +0 -277
- package/esm2022/ui/ui/dialogs/send-to/send-to-dialog.component.mjs +0 -90
- package/esm2022/ui/ui/dialogs/toast/toast.component.mjs +0 -32
- package/esm2022/ui/ui/directives/resize-table-column.directive.mjs +0 -63
- package/esm2022/ui/ui/filters.mjs +0 -43
- package/esm2022/ui/ui/paginatorIntl.mjs +0 -34
- package/esm2022/ui/ui/services/dialog.service.mjs +0 -417
- package/esm2022/ui/ui/services/ui.service.mjs +0 -21
- package/esm2022/ui/ui/ui.module.mjs +0 -21
- package/esm2022/ui.application/arsedizioni-ars-utils-ui.application.mjs +0 -5
- package/esm2022/ui.application/public_api.mjs +0 -21
- package/esm2022/ui.application/ui/components/button-selector/button-selector.component.mjs +0 -150
- package/esm2022/ui.application/ui/components/button-toggle/button-toggle.component.mjs +0 -51
- package/esm2022/ui.application/ui/components/calendar-empty-header/calendar-empy-header.component.mjs +0 -30
- package/esm2022/ui.application/ui/components/chips-selector/chips-selector.component.mjs +0 -272
- package/esm2022/ui.application/ui/components/file-input/file-input.component.mjs +0 -264
- package/esm2022/ui.application/ui/components/file-preview/file-preview.component.mjs +0 -73
- package/esm2022/ui.application/ui/components/filter-bar/filter-bar.component.mjs +0 -356
- package/esm2022/ui.application/ui/definitions.mjs +0 -31
- package/esm2022/ui.application/ui/dialogs/prompt/prompt-dialog.component.mjs +0 -77
- package/esm2022/ui.application/ui/dialogs/prompt-date/prompt-date-dialog.component.mjs +0 -79
- package/esm2022/ui.application/ui/dialogs/prompt-time/prompt-time-dialog.component.mjs +0 -72
- package/esm2022/ui.application/ui/dialogs/select/select-dialog.component.mjs +0 -374
- package/esm2022/ui.application/ui/dialogs/select-file/select-file-dialog.component.mjs +0 -106
- package/esm2022/ui.application/ui/dialogs/select-picture/select-picture-dialog.component.mjs +0 -62
- package/esm2022/ui.application/ui/dialogs/select-tree/select-tree-dialog.component.mjs +0 -277
- package/esm2022/ui.application/ui/dialogs/send-to/send-to-dialog.component.mjs +0 -90
- package/esm2022/ui.application/ui/directives/resize-table-column.directive.mjs +0 -63
- package/esm2022/ui.application/ui/filters.mjs +0 -43
- package/esm2022/ui.application/ui/services/applicationDialog.service.mjs +0 -304
- package/esm2022/ui.application/ui/ui.module.mjs +0 -30
- package/esm2022/ui.oauth/arsedizioni-ars-utils-ui.oauth.mjs +0 -5
- package/esm2022/ui.oauth/public_api.mjs +0 -6
- package/esm2022/ui.oauth/ui/components/login/login-oauth.component.mjs +0 -199
- package/esm2022/ui.oauth/ui/definitions.mjs +0 -7
- package/esm2022/ui.oauth/ui/ui.module.mjs +0 -13
- package/styles/ui.colors.scss +0 -77
- package/styles/ui.scss +0 -318
- package/ui/ui/components/button-selector/button-selector.component.d.ts +0 -52
- package/ui/ui/components/button-toggle/button-toggle.component.d.ts +0 -28
- package/ui/ui/components/calendar-empty-header/calendar-empy-header.component.d.ts +0 -11
- package/ui/ui/components/chips-selector/chips-selector.component.d.ts +0 -82
- package/ui/ui/components/file-input/file-input.component.d.ts +0 -88
- package/ui/ui/components/file-preview/file-preview.component.d.ts +0 -26
- package/ui/ui/components/filter-bar/filter-bar.component.d.ts +0 -83
- package/ui/ui/dialogs/prompt/prompt-dialog.component.d.ts +0 -18
- package/ui/ui/dialogs/prompt-date/prompt-date-dialog.component.d.ts +0 -18
- package/ui/ui/dialogs/prompt-time/prompt-time-dialog.component.d.ts +0 -18
- package/ui/ui/dialogs/select/select-dialog.component.d.ts +0 -122
- package/ui/ui/dialogs/select-file/select-file-dialog.component.d.ts +0 -36
- package/ui/ui/dialogs/select-picture/select-picture-dialog.component.d.ts +0 -26
- package/ui/ui/dialogs/select-tree/select-tree-dialog.component.d.ts +0 -98
- package/ui/ui/dialogs/send-to/send-to-dialog.component.d.ts +0 -28
- package/ui/ui/directives/resize-table-column.directive.d.ts +0 -19
- package/ui/ui/filters.d.ts +0 -57
|
@@ -1,77 +0,0 @@
|
|
|
1
|
-
import { Injectable, inject } from '@angular/core';
|
|
2
|
-
import { DialogService } from '@arsedizioni/ars-utils/ui';
|
|
3
|
-
import { HttpClient } from '@angular/common/http';
|
|
4
|
-
import { HelpViewerComponent } from '../components/help-viewer/help-viewer.component';
|
|
5
|
-
import * as i0 from "@angular/core";
|
|
6
|
-
export class HelpService {
|
|
7
|
-
constructor() {
|
|
8
|
-
this.httpClient = inject(HttpClient);
|
|
9
|
-
this.dialogService = inject(DialogService);
|
|
10
|
-
}
|
|
11
|
-
/**
|
|
12
|
-
* Initialize help service
|
|
13
|
-
* @param serviceUri : the service uri
|
|
14
|
-
*/
|
|
15
|
-
initialize(serviceUri) {
|
|
16
|
-
this.serviceUri = serviceUri;
|
|
17
|
-
}
|
|
18
|
-
/**
|
|
19
|
-
* Retrieve an help chapter
|
|
20
|
-
* @param id the chapter id
|
|
21
|
-
* @param query the search query
|
|
22
|
-
*/
|
|
23
|
-
getChapter(id, query = null) {
|
|
24
|
-
return this.httpClient.get(this.serviceUri +
|
|
25
|
-
'/help/chapter/' +
|
|
26
|
-
id +
|
|
27
|
-
'/?query=' +
|
|
28
|
-
(query == null ? '' : query));
|
|
29
|
-
}
|
|
30
|
-
/**
|
|
31
|
-
* Retrieve an help chapater info
|
|
32
|
-
* @param id the chapter id
|
|
33
|
-
*/
|
|
34
|
-
getChapterInfo(id) {
|
|
35
|
-
return this.httpClient.get(this.serviceUri + '/help/chapter/info/' + id);
|
|
36
|
-
}
|
|
37
|
-
/**
|
|
38
|
-
* Retrieve a repository item
|
|
39
|
-
* @param id the file id
|
|
40
|
-
*/
|
|
41
|
-
getRepo(id) {
|
|
42
|
-
return this.httpClient.get(this.serviceUri + '/help/repo/' + id);
|
|
43
|
-
}
|
|
44
|
-
/**
|
|
45
|
-
* Retrieve an help toc
|
|
46
|
-
*/
|
|
47
|
-
getToc() {
|
|
48
|
-
return this.httpClient.get(this.serviceUri + '/help/toc');
|
|
49
|
-
}
|
|
50
|
-
/**
|
|
51
|
-
* Open help viewer
|
|
52
|
-
*/
|
|
53
|
-
show(id = '1') {
|
|
54
|
-
this.dialogService.open(HelpViewerComponent, {
|
|
55
|
-
ariaLabel: 'guida',
|
|
56
|
-
autoFocus: false,
|
|
57
|
-
restoreFocus: false,
|
|
58
|
-
disableClose: true,
|
|
59
|
-
data: {
|
|
60
|
-
id: id
|
|
61
|
-
},
|
|
62
|
-
minWidth: '375px',
|
|
63
|
-
maxWidth: '1200px',
|
|
64
|
-
width: '100%',
|
|
65
|
-
height: '100%'
|
|
66
|
-
});
|
|
67
|
-
}
|
|
68
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.10", ngImport: i0, type: HelpService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
69
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.10", ngImport: i0, type: HelpService, providedIn: 'root' }); }
|
|
70
|
-
}
|
|
71
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.10", ngImport: i0, type: HelpService, decorators: [{
|
|
72
|
-
type: Injectable,
|
|
73
|
-
args: [{
|
|
74
|
-
providedIn: 'root'
|
|
75
|
-
}]
|
|
76
|
-
}] });
|
|
77
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGVscC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYXJzLXV0aWxzL2hlbHAvc2VydmljZXMvaGVscC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25ELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUUxRCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDbEQsT0FBTyxFQUFFLG1CQUFtQixFQUFhLE1BQU0saURBQWlELENBQUM7O0FBTWpHLE1BQU0sT0FBTyxXQUFXO0lBSHhCO1FBS1UsZUFBVSxHQUFHLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUNoQyxrQkFBYSxHQUFHLE1BQU0sQ0FBQyxhQUFhLENBQUMsQ0FBQztLQTBFL0M7SUF2RUM7OztPQUdHO0lBQ0gsVUFBVSxDQUFDLFVBQWtCO1FBQzNCLElBQUksQ0FBQyxVQUFVLEdBQUcsVUFBVSxDQUFDO0lBQy9CLENBQUM7SUFFRDs7OztPQUlHO0lBQ0gsVUFBVSxDQUFDLEVBQVUsRUFBRSxRQUFnQixJQUFJO1FBQ3pDLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQ3hCLElBQUksQ0FBQyxVQUFVO1lBQ2IsZ0JBQWdCO1lBQ2hCLEVBQUU7WUFDRixVQUFVO1lBQ1YsQ0FBQyxLQUFLLElBQUksSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUMvQixDQUFDO0lBQ0osQ0FBQztJQUVEOzs7T0FHRztJQUNILGNBQWMsQ0FBQyxFQUFVO1FBQ3ZCLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQ3hCLElBQUksQ0FBQyxVQUFVLEdBQUcscUJBQXFCLEdBQUcsRUFBRSxDQUM3QyxDQUFDO0lBQ0osQ0FBQztJQUVEOzs7T0FHRztJQUNILE9BQU8sQ0FBQyxFQUFVO1FBQ2hCLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQ3hCLElBQUksQ0FBQyxVQUFVLEdBQUcsYUFBYSxHQUFHLEVBQUUsQ0FDckMsQ0FBQztJQUNKLENBQUM7SUFFRDs7T0FFRztJQUNILE1BQU07UUFDSixPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUN4QixJQUFJLENBQUMsVUFBVSxHQUFHLFdBQVcsQ0FDOUIsQ0FBQztJQUNKLENBQUM7SUFHRDs7T0FFRztJQUNILElBQUksQ0FBQyxLQUFhLEdBQUc7UUFDbkIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsbUJBQW1CLEVBQUU7WUFDM0MsU0FBUyxFQUFFLE9BQU87WUFDbEIsU0FBUyxFQUFFLEtBQUs7WUFDaEIsWUFBWSxFQUFFLEtBQUs7WUFDbkIsWUFBWSxFQUFFLElBQUk7WUFDbEIsSUFBSSxFQUFFO2dCQUNKLEVBQUUsRUFBRSxFQUFFO2FBQ1A7WUFDRCxRQUFRLEVBQUUsT0FBTztZQUNqQixRQUFRLEVBQUUsUUFBUTtZQUNsQixLQUFLLEVBQUUsTUFBTTtZQUNiLE1BQU0sRUFBRSxNQUFNO1NBQ2YsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzsrR0E1RVUsV0FBVzttSEFBWCxXQUFXLGNBRlYsTUFBTTs7NEZBRVAsV0FBVztrQkFIdkIsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlLCBpbmplY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgRGlhbG9nU2VydmljZSB9IGZyb20gJ0BhcnNlZGl6aW9uaS9hcnMtdXRpbHMvdWknO1xyXG5pbXBvcnQgeyBBcGlSZXN1bHQgfSBmcm9tICdAYXJzZWRpemlvbmkvYXJzLXV0aWxzL2NvcmUnO1xyXG5pbXBvcnQgeyBIdHRwQ2xpZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xyXG5pbXBvcnQgeyBIZWxwVmlld2VyQ29tcG9uZW50LCBJbmRleEluZm8gfSBmcm9tICcuLi9jb21wb25lbnRzL2hlbHAtdmlld2VyL2hlbHAtdmlld2VyLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IENoYXB0ZXIsIENoYXB0ZXJCYWcgfSBmcm9tICcuLi9kZWZpbml0aW9ucyc7XHJcblxyXG5ASW5qZWN0YWJsZSh7XHJcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBIZWxwU2VydmljZSB7XHJcbiAgXHJcbiAgcHJpdmF0ZSBodHRwQ2xpZW50ID0gaW5qZWN0KEh0dHBDbGllbnQpOyBcclxuICBwcml2YXRlIGRpYWxvZ1NlcnZpY2UgPSBpbmplY3QoRGlhbG9nU2VydmljZSk7XHJcbiAgcHJpdmF0ZSBzZXJ2aWNlVXJpOiBzdHJpbmc7XHJcblxyXG4gIC8qKlxyXG4gICAqIEluaXRpYWxpemUgaGVscCBzZXJ2aWNlXHJcbiAgICogQHBhcmFtIHNlcnZpY2VVcmkgOiB0aGUgc2VydmljZSB1cmlcclxuICAgKi9cclxuICBpbml0aWFsaXplKHNlcnZpY2VVcmk6IHN0cmluZykge1xyXG4gICAgdGhpcy5zZXJ2aWNlVXJpID0gc2VydmljZVVyaTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFJldHJpZXZlIGFuIGhlbHAgY2hhcHRlclxyXG4gICAqIEBwYXJhbSBpZCB0aGUgY2hhcHRlciBpZFxyXG4gICAqIEBwYXJhbSBxdWVyeSB0aGUgc2VhcmNoIHF1ZXJ5XHJcbiAgICovXHJcbiAgZ2V0Q2hhcHRlcihpZDogc3RyaW5nLCBxdWVyeTogc3RyaW5nID0gbnVsbCkge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cENsaWVudC5nZXQ8QXBpUmVzdWx0PENoYXB0ZXJCYWc+PihcclxuICAgICAgdGhpcy5zZXJ2aWNlVXJpICtcclxuICAgICAgICAnL2hlbHAvY2hhcHRlci8nICtcclxuICAgICAgICBpZCArXHJcbiAgICAgICAgJy8/cXVlcnk9JyArXHJcbiAgICAgICAgKHF1ZXJ5ID09IG51bGwgPyAnJyA6IHF1ZXJ5KVxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFJldHJpZXZlIGFuIGhlbHAgY2hhcGF0ZXIgaW5mb1xyXG4gICAqIEBwYXJhbSBpZCB0aGUgY2hhcHRlciBpZFxyXG4gICAqL1xyXG4gIGdldENoYXB0ZXJJbmZvKGlkOiBzdHJpbmcpIHtcclxuICAgIHJldHVybiB0aGlzLmh0dHBDbGllbnQuZ2V0PEFwaVJlc3VsdDxDaGFwdGVyPj4oXHJcbiAgICAgIHRoaXMuc2VydmljZVVyaSArICcvaGVscC9jaGFwdGVyL2luZm8vJyArIGlkXHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogUmV0cmlldmUgYSByZXBvc2l0b3J5IGl0ZW1cclxuICAgKiBAcGFyYW0gaWQgdGhlIGZpbGUgaWRcclxuICAgKi9cclxuICBnZXRSZXBvKGlkOiBzdHJpbmcpIHtcclxuICAgIHJldHVybiB0aGlzLmh0dHBDbGllbnQuZ2V0PEFwaVJlc3VsdDxhbnk+PihcclxuICAgICAgdGhpcy5zZXJ2aWNlVXJpICsgJy9oZWxwL3JlcG8vJyArIGlkXHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogUmV0cmlldmUgYW4gaGVscCB0b2NcclxuICAgKi9cclxuICBnZXRUb2MoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwQ2xpZW50LmdldDxBcGlSZXN1bHQ8SW5kZXhJbmZvPj4oXHJcbiAgICAgIHRoaXMuc2VydmljZVVyaSArICcvaGVscC90b2MnXHJcbiAgICApO1xyXG4gIH1cclxuXHJcblxyXG4gIC8qKlxyXG4gICAqIE9wZW4gaGVscCB2aWV3ZXJcclxuICAgKi9cclxuICBzaG93KGlkOiBzdHJpbmcgPSAnMScpIHtcclxuICAgIHRoaXMuZGlhbG9nU2VydmljZS5vcGVuKEhlbHBWaWV3ZXJDb21wb25lbnQsIHtcclxuICAgICAgYXJpYUxhYmVsOiAnZ3VpZGEnLFxyXG4gICAgICBhdXRvRm9jdXM6IGZhbHNlLFxyXG4gICAgICByZXN0b3JlRm9jdXM6IGZhbHNlLFxyXG4gICAgICBkaXNhYmxlQ2xvc2U6IHRydWUsXHJcbiAgICAgIGRhdGE6IHtcclxuICAgICAgICBpZDogaWRcclxuICAgICAgfSxcclxuICAgICAgbWluV2lkdGg6ICczNzVweCcsXHJcbiAgICAgIG1heFdpZHRoOiAnMTIwMHB4JyxcclxuICAgICAgd2lkdGg6ICcxMDAlJyxcclxuICAgICAgaGVpZ2h0OiAnMTAwJSdcclxuICAgIH0pO1xyXG4gIH1cclxufVxyXG4iXX0=
|
package/esm2022/public_api.mjs
DELETED
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
/*
|
|
2
|
-
* Public API Surface of ars-utils
|
|
3
|
-
*/
|
|
4
|
-
export * from '@arsedizioni/ars-utils/core';
|
|
5
|
-
export * from '@arsedizioni/ars-utils/ui';
|
|
6
|
-
export * from '@arsedizioni/ars-utils/ui.oauth';
|
|
7
|
-
export * from '@arsedizioni/ars-utils/ui.application';
|
|
8
|
-
export * from '@arsedizioni/ars-utils/support.common';
|
|
9
|
-
export * from '@arsedizioni/ars-utils/support.ui';
|
|
10
|
-
export * from '@arsedizioni/ars-utils/help';
|
|
11
|
-
export * from '@arsedizioni/ars-utils/clipper.common';
|
|
12
|
-
export * from '@arsedizioni/ars-utils/clipper.ui';
|
|
13
|
-
export * from '@arsedizioni/ars-utils/tinymce';
|
|
14
|
-
export * from '@arsedizioni/ars-utils/evolution.common';
|
|
15
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljX2FwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Byb2plY3RzL2Fycy11dGlscy9wdWJsaWNfYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBQ0gsY0FBYyw2QkFBNkIsQ0FBQztBQUM1QyxjQUFjLDJCQUEyQixDQUFDO0FBQzFDLGNBQWMsaUNBQWlDLENBQUM7QUFDaEQsY0FBYyx1Q0FBdUMsQ0FBQztBQUN0RCxjQUFjLHVDQUF1QyxDQUFDO0FBQ3RELGNBQWMsbUNBQW1DLENBQUM7QUFDbEQsY0FBYyw2QkFBNkIsQ0FBQztBQUM1QyxjQUFjLHVDQUF1QyxDQUFDO0FBQ3RELGNBQWMsbUNBQW1DLENBQUM7QUFDbEQsY0FBYyxnQ0FBZ0MsQ0FBQztBQUMvQyxjQUFjLHlDQUF5QyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLypcclxuICogUHVibGljIEFQSSBTdXJmYWNlIG9mIGFycy11dGlsc1xyXG4gKi9cclxuZXhwb3J0ICogZnJvbSAnQGFyc2VkaXppb25pL2Fycy11dGlscy9jb3JlJztcclxuZXhwb3J0ICogZnJvbSAnQGFyc2VkaXppb25pL2Fycy11dGlscy91aSc7XHJcbmV4cG9ydCAqIGZyb20gJ0BhcnNlZGl6aW9uaS9hcnMtdXRpbHMvdWkub2F1dGgnO1xyXG5leHBvcnQgKiBmcm9tICdAYXJzZWRpemlvbmkvYXJzLXV0aWxzL3VpLmFwcGxpY2F0aW9uJztcclxuZXhwb3J0ICogZnJvbSAnQGFyc2VkaXppb25pL2Fycy11dGlscy9zdXBwb3J0LmNvbW1vbic7XHJcbmV4cG9ydCAqIGZyb20gJ0BhcnNlZGl6aW9uaS9hcnMtdXRpbHMvc3VwcG9ydC51aSc7XHJcbmV4cG9ydCAqIGZyb20gJ0BhcnNlZGl6aW9uaS9hcnMtdXRpbHMvaGVscCc7XHJcbmV4cG9ydCAqIGZyb20gJ0BhcnNlZGl6aW9uaS9hcnMtdXRpbHMvY2xpcHBlci5jb21tb24nO1xyXG5leHBvcnQgKiBmcm9tICdAYXJzZWRpemlvbmkvYXJzLXV0aWxzL2NsaXBwZXIudWknO1xyXG5leHBvcnQgKiBmcm9tICdAYXJzZWRpemlvbmkvYXJzLXV0aWxzL3RpbnltY2UnO1xyXG5leHBvcnQgKiBmcm9tICdAYXJzZWRpemlvbmkvYXJzLXV0aWxzL2V2b2x1dGlvbi5jb21tb24nO1xyXG5cclxuXHJcblxyXG5cclxuIl19
|
|
@@ -1,5 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Generated bundle index. Do not edit.
|
|
3
|
-
*/
|
|
4
|
-
export * from './public_api';
|
|
5
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXJzZWRpemlvbmktYXJzLXV0aWxzLXN1cHBvcnQuY29tbW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvYXJzLXV0aWxzL3N1cHBvcnQuY29tbW9uL2Fyc2VkaXppb25pLWFycy11dGlscy1zdXBwb3J0LmNvbW1vbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsY0FBYyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL3B1YmxpY19hcGknO1xuIl19
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
import { NgModule } from '@angular/core';
|
|
2
|
-
import * as i0 from "@angular/core";
|
|
3
|
-
export class ArsSupportCommonModule {
|
|
4
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.10", ngImport: i0, type: ArsSupportCommonModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
5
|
-
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.10", ngImport: i0, type: ArsSupportCommonModule }); }
|
|
6
|
-
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.10", ngImport: i0, type: ArsSupportCommonModule }); }
|
|
7
|
-
}
|
|
8
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.10", ngImport: i0, type: ArsSupportCommonModule, decorators: [{
|
|
9
|
-
type: NgModule
|
|
10
|
-
}] });
|
|
11
|
-
// Other exports
|
|
12
|
-
export * from './messages';
|
|
13
|
-
export * from './definitions';
|
|
14
|
-
export * from './interceptors/auth.interceptor';
|
|
15
|
-
export * from './services/support.service';
|
|
16
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tbW9uLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Fycy11dGlscy9zdXBwb3J0LmNvbW1vbi9jb21tb24vY29tbW9uLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQUd6QyxNQUFNLE9BQU8sc0JBQXNCOytHQUF0QixzQkFBc0I7Z0hBQXRCLHNCQUFzQjtnSEFBdEIsc0JBQXNCOzs0RkFBdEIsc0JBQXNCO2tCQURsQyxRQUFROztBQUdULGdCQUFnQjtBQUNoQixjQUFjLFlBQVksQ0FBQztBQUMzQixjQUFjLGVBQWUsQ0FBQztBQUM5QixjQUFjLGlDQUFpQyxDQUFDO0FBQ2hELGNBQWMsNEJBQTRCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5cclxuQE5nTW9kdWxlKClcclxuZXhwb3J0IGNsYXNzIEFyc1N1cHBvcnRDb21tb25Nb2R1bGUge31cclxuXHJcbi8vIE90aGVyIGV4cG9ydHNcclxuZXhwb3J0ICogZnJvbSAnLi9tZXNzYWdlcyc7XHJcbmV4cG9ydCAqIGZyb20gJy4vZGVmaW5pdGlvbnMnO1xyXG5leHBvcnQgKiBmcm9tICcuL2ludGVyY2VwdG9ycy9hdXRoLmludGVyY2VwdG9yJztcclxuZXhwb3J0ICogZnJvbSAnLi9zZXJ2aWNlcy9zdXBwb3J0LnNlcnZpY2UnO1xyXG4iXX0=
|
|
@@ -1,29 +0,0 @@
|
|
|
1
|
-
export var SupportServiceFlags;
|
|
2
|
-
(function (SupportServiceFlags) {
|
|
3
|
-
SupportServiceFlags[SupportServiceFlags["None"] = 0] = "None";
|
|
4
|
-
SupportServiceFlags[SupportServiceFlags["NotifySystemErrors"] = 1] = "NotifySystemErrors";
|
|
5
|
-
SupportServiceFlags[SupportServiceFlags["DisplayConnectionStateMessages"] = 2] = "DisplayConnectionStateMessages";
|
|
6
|
-
})(SupportServiceFlags || (SupportServiceFlags = {}));
|
|
7
|
-
export var SupportProduct;
|
|
8
|
-
(function (SupportProduct) {
|
|
9
|
-
SupportProduct[SupportProduct["None"] = 0] = "None";
|
|
10
|
-
SupportProduct[SupportProduct["Clipper"] = 1] = "Clipper";
|
|
11
|
-
SupportProduct[SupportProduct["Evolution"] = 2] = "Evolution";
|
|
12
|
-
SupportProduct[SupportProduct["DGInfo"] = 4] = "DGInfo";
|
|
13
|
-
})(SupportProduct || (SupportProduct = {}));
|
|
14
|
-
export var SupportProductModule;
|
|
15
|
-
(function (SupportProductModule) {
|
|
16
|
-
SupportProductModule[SupportProductModule["None"] = 0] = "None";
|
|
17
|
-
SupportProductModule[SupportProductModule["EvoFormazione"] = 1] = "EvoFormazione";
|
|
18
|
-
SupportProductModule[SupportProductModule["EvoDPI"] = 2] = "EvoDPI";
|
|
19
|
-
SupportProductModule[SupportProductModule["EvoSorveglianzaSanitaria"] = 4] = "EvoSorveglianzaSanitaria";
|
|
20
|
-
SupportProductModule[SupportProductModule["EvoRegistroEScadenzario"] = 8] = "EvoRegistroEScadenzario";
|
|
21
|
-
SupportProductModule[SupportProductModule["EvoAttrezzatureEImpianti"] = 16] = "EvoAttrezzatureEImpianti";
|
|
22
|
-
SupportProductModule[SupportProductModule["EvoMonitoraggio"] = 32] = "EvoMonitoraggio";
|
|
23
|
-
SupportProductModule[SupportProductModule["EvoBollettino"] = 64] = "EvoBollettino";
|
|
24
|
-
SupportProductModule[SupportProductModule["DgiADR"] = 128] = "DgiADR";
|
|
25
|
-
SupportProductModule[SupportProductModule["DgiRID"] = 256] = "DgiRID";
|
|
26
|
-
SupportProductModule[SupportProductModule["DgiIMDG"] = 512] = "DgiIMDG";
|
|
27
|
-
SupportProductModule[SupportProductModule["DgiCLP"] = 1024] = "DgiCLP";
|
|
28
|
-
})(SupportProductModule || (SupportProductModule = {}));
|
|
29
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVmaW5pdGlvbnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hcnMtdXRpbHMvc3VwcG9ydC5jb21tb24vY29tbW9uL2RlZmluaXRpb25zLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE1BQU0sQ0FBTixJQUFZLG1CQUlYO0FBSkQsV0FBWSxtQkFBbUI7SUFDN0IsNkRBQVEsQ0FBQTtJQUNSLHlGQUFzQixDQUFBO0lBQ3RCLGlIQUF1QyxDQUFBO0FBQ3pDLENBQUMsRUFKVyxtQkFBbUIsS0FBbkIsbUJBQW1CLFFBSTlCO0FBa0VELE1BQU0sQ0FBTixJQUFZLGNBS1g7QUFMRCxXQUFZLGNBQWM7SUFDeEIsbURBQVEsQ0FBQTtJQUNSLHlEQUFXLENBQUE7SUFDWCw2REFBa0IsQ0FBQTtJQUNsQix1REFBZSxDQUFBO0FBQ2pCLENBQUMsRUFMVyxjQUFjLEtBQWQsY0FBYyxRQUt6QjtBQUVELE1BQU0sQ0FBTixJQUFZLG9CQWFYO0FBYkQsV0FBWSxvQkFBb0I7SUFDOUIsK0RBQVEsQ0FBQTtJQUNSLGlGQUFpQixDQUFBO0lBQ2pCLG1FQUFlLENBQUE7SUFDZix1R0FBaUMsQ0FBQTtJQUNqQyxxR0FBZ0MsQ0FBQTtJQUNoQyx3R0FBaUMsQ0FBQTtJQUNqQyxzRkFBd0IsQ0FBQTtJQUN4QixrRkFBc0IsQ0FBQTtJQUN0QixxRUFBZSxDQUFBO0lBQ2YscUVBQWUsQ0FBQTtJQUNmLHVFQUFnQixDQUFBO0lBQ2hCLHNFQUFnQixDQUFBO0FBQ2xCLENBQUMsRUFiVyxvQkFBb0IsS0FBcEIsb0JBQW9CLFFBYS9CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTG9naW5SZXN1bHQgfSBmcm9tICdAYXJzZWRpemlvbmkvYXJzLXV0aWxzL2NvcmUnO1xyXG5cclxuZXhwb3J0IGVudW0gU3VwcG9ydFNlcnZpY2VGbGFncyB7XHJcbiAgTm9uZSA9IDAsXHJcbiAgTm90aWZ5U3lzdGVtRXJyb3JzID0gMSxcclxuICBEaXNwbGF5Q29ubmVjdGlvblN0YXRlTWVzc2FnZXMgPSAxIDw8IDFcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBTdXBwb3J0VXNlckluZm8ge1xyXG5cclxuICAgIGlkOiBudW1iZXI7XHJcbiAgICBncm91cHM/OiBudW1iZXIgfCBudWxsO1xyXG4gICAgZ3JvdXBOYW1lcz86IHN0cmluZyB8IG51bGw7XHJcbiAgICBkaXNwbGF5TmFtZT86IHN0cmluZyB8IG51bGw7XHJcbiAgICBkYXNoYm9hcmQ/OiBzdHJpbmcgfCBudWxsO1xyXG4gICAgc2Vzc2lvbklkPzogc3RyaW5nIHwgbnVsbDtcclxuICAgIGVtYWlsPzogc3RyaW5nIHwgbnVsbDtcclxuICAgIGN1c3RvbWVySWQ/OiBudW1iZXIgfCBudWxsO1xyXG4gICAgY29tcGFueU5hbWU/OiBzdHJpbmcgfCBudWxsO1xyXG4gICAgcm9sZTogbnVtYmVyO1xyXG4gICAgc2NvcGVzPzogc3RyaW5nW10gfCBudWxsO1xyXG4gICAgc2xhOiBudW1iZXI7XHJcbiAgICBpc0NvbW1lcmNpYWw/OiBib29sZWFuIHwgbnVsbDtcclxuICAgIGlzQWRtaW5pc3RyYXRvcjogYm9vbGVhbjtcclxuICAgIGlzR3Vlc3Q6IGJvb2xlYW47XHJcbiAgICBpc1VzZXI6IGJvb2xlYW47XHJcbiAgICBpc09wZXJhdG9yOiBib29sZWFuO1xyXG4gICAgaXNUZW1wb3Jhcnk6IGJvb2xlYW47XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgU3VwcG9ydExvZ2luUmVzdWx0IGV4dGVuZHMgTG9naW5SZXN1bHQ8U3VwcG9ydFVzZXJJbmZvPiB7IH0gXHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFN1cHBvcnRMb2dpbkluZm8ge1xyXG4gIGNvbnRleHQ6IFN1cHBvcnRVc2VySW5mbztcclxuICB1c2VyQ3JlZGVudGlhbHM/OiBzdHJpbmcgfCBudWxsO1xyXG59XHJcblxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBTdXBwb3J0Tm90aWZpY2F0aW9uc1NlYXJjaFBhcmFtcyB7XHJcbiAgYW55Pzogc3RyaW5nIHwgbnVsbDtcclxuICBwcm9kdWN0cz86IG51bWJlciB8IG51bGw7XHJcbiAgcHJvZHVjdE1vZHVsZXM/OiBudW1iZXIgfCBudWxsO1xyXG4gIGZpcnN0PzogbnVtYmVyIHwgbnVsbDtcclxuICBjb3VudD86IG51bWJlciB8IG51bGw7XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgU3VwcG9ydE5vdGlmaWNhdGlvbnNTZWFyY2hSZXN1bHQge1xyXG4gIGludGVydmFsPzogc3RyaW5nIHwgbnVsbDtcclxuICBpdGVtcz86IFN1cHBvcnROb3RpZmljYXRpb25JbmZvW10gfCBudWxsO1xyXG4gIHRvdGFsPzogbnVtYmVyIHwgbnVsbDtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBTdXBwb3J0Tm90aWZpY2F0aW9uSW5mbyB7XHJcbiAgaWQ6IG51bWJlcjtcclxuICBwcm9kdWN0czogbnVtYmVyO1xyXG4gIHByb2R1Y3ROYW1lcz86IHN0cmluZyB8IG51bGw7XHJcbiAgcHJvZHVjdE1vZHVsZXM/OiBudW1iZXIgfCBudWxsO1xyXG4gIHByb2R1Y3RNb2R1bGVOYW1lcz86IHN0cmluZyB8IG51bGw7XHJcbiAgcHVibGlzaGluZ0RhdGU/OiBEYXRlIHwgbnVsbDtcclxuICB0aXRsZTogc3RyaW5nO1xyXG4gIHRleHQ6IHN0cmluZztcclxuICBzdGF0ZTogbnVtYmVyO1xyXG4gIGlzUHVibGlzaGVkOiBib29sZWFuO1xyXG4gIGlzSW50ZXJuYWw6IGJvb2xlYW47XHJcbiAgaXNSZWFkOiBib29sZWFuO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFN1cHBvcnROb3RpZmljYXRpb25zTWFya1BhcmFtcyB7XHJcbiAgaWRzOiBudW1iZXJbXTtcclxuICB1bm1hcms6IGJvb2xlYW47XHJcbn1cclxuXHJcbmV4cG9ydCBlbnVtIFN1cHBvcnRQcm9kdWN0IHtcclxuICBOb25lID0gMCxcclxuICBDbGlwcGVyID0gMSxcclxuICBFdm9sdXRpb24gPSAxIDw8IDEsXHJcbiAgREdJbmZvID0gMSA8PCAyXHJcbn1cclxuXHJcbmV4cG9ydCBlbnVtIFN1cHBvcnRQcm9kdWN0TW9kdWxlIHtcclxuICBOb25lID0gMCxcclxuICBFdm9Gb3JtYXppb25lID0gMSxcclxuICBFdm9EUEkgPSAxIDw8IDEsXHJcbiAgRXZvU29ydmVnbGlhbnphU2FuaXRhcmlhID0gMSA8PCAyLFxyXG4gIEV2b1JlZ2lzdHJvRVNjYWRlbnphcmlvID0gMSA8PCAzLFxyXG4gIEV2b0F0dHJlenphdHVyZUVJbXBpYW50aSA9IDEgPDwgNCxcclxuICBFdm9Nb25pdG9yYWdnaW8gPSAxIDw8IDUsXHJcbiAgRXZvQm9sbGV0dGlubyA9IDEgPDwgNixcclxuICBEZ2lBRFIgPSAxIDw8IDcsXHJcbiAgRGdpUklEID0gMSA8PCA4LFxyXG4gIERnaUlNREcgPSAxIDw8IDksXHJcbiAgRGdpQ0xQID0gMSA8PCAxMCxcclxufVxyXG4iXX0=
|
|
@@ -1,100 +0,0 @@
|
|
|
1
|
-
import { HttpErrorResponse } from '@angular/common/http';
|
|
2
|
-
import { Injectable, inject } from '@angular/core';
|
|
3
|
-
import { catchError, finalize, switchMap, throwError } from 'rxjs';
|
|
4
|
-
import { SupportService } from '../services/support.service';
|
|
5
|
-
import { DialogService } from '@arsedizioni/ars-utils/ui';
|
|
6
|
-
import { BroadcastService } from '@arsedizioni/ars-utils/core';
|
|
7
|
-
import { SupportMessages } from '../messages';
|
|
8
|
-
import { SupportServiceFlags } from '../definitions';
|
|
9
|
-
import * as i0 from "@angular/core";
|
|
10
|
-
export class SupportAuthInterceptor {
|
|
11
|
-
constructor() {
|
|
12
|
-
this.supportService = inject(SupportService);
|
|
13
|
-
this.broadcastService = inject(BroadcastService);
|
|
14
|
-
this.dialogService = inject(DialogService);
|
|
15
|
-
this.lastErrorTime = -1;
|
|
16
|
-
}
|
|
17
|
-
intercept(request, next) {
|
|
18
|
-
if (request.url.startsWith(this.supportService.serviceUri)) {
|
|
19
|
-
request = request.clone({ withCredentials: true });
|
|
20
|
-
return next.handle(this.addTokenToRequest(request))
|
|
21
|
-
.pipe(finalize(() => this.dialogService.clearBusy()), catchError(error => {
|
|
22
|
-
if (error.url.startsWith(this.supportService.serviceUri)) {
|
|
23
|
-
if (error instanceof HttpErrorResponse &&
|
|
24
|
-
!request.url.includes("/login") &&
|
|
25
|
-
error.status === 401) {
|
|
26
|
-
return this.handle401Error(request, next);
|
|
27
|
-
}
|
|
28
|
-
const errorStatus = parseInt(error.status ?? "0");
|
|
29
|
-
if ((errorStatus > 0 && errorStatus < 500) || (this.supportService.flags & SupportServiceFlags.NotifySystemErrors) > 0) {
|
|
30
|
-
const errorTime = new Date().getTime();
|
|
31
|
-
if (errorTime - this.lastErrorTime > 5000) {
|
|
32
|
-
this.lastErrorTime = errorTime;
|
|
33
|
-
let message = "";
|
|
34
|
-
switch (errorStatus) {
|
|
35
|
-
case 0:
|
|
36
|
-
message = "In questo momento ARS Support non è disponibile. Riprova tra qualche minuto.";
|
|
37
|
-
break;
|
|
38
|
-
case 403:
|
|
39
|
-
message = "Non hai i permessi necessari per eseguire l'operazione richiesta.";
|
|
40
|
-
break;
|
|
41
|
-
default:
|
|
42
|
-
message = (error.error?.message ?? error.message ?? "Impossibile eseguire l'operazione richiesta.").replaceAll("\r\n", "</p><p>");
|
|
43
|
-
break;
|
|
44
|
-
}
|
|
45
|
-
const invalidSession = errorStatus === 405 || errorStatus === 410;
|
|
46
|
-
this.dialogService.error("<p>" + message + "</p>", null, "Errore in ARS Support", undefined, undefined, invalidSession ? 5000 : 15000).afterClosed().subscribe(() => {
|
|
47
|
-
if (invalidSession) {
|
|
48
|
-
this.broadcastService.sendMessage(SupportMessages.LOGOUT);
|
|
49
|
-
}
|
|
50
|
-
});
|
|
51
|
-
}
|
|
52
|
-
}
|
|
53
|
-
}
|
|
54
|
-
return throwError(() => error);
|
|
55
|
-
}));
|
|
56
|
-
}
|
|
57
|
-
return next.handle(request);
|
|
58
|
-
}
|
|
59
|
-
/**
|
|
60
|
-
* Handle 401 error
|
|
61
|
-
* @param request : the request
|
|
62
|
-
* @param next : the http handler
|
|
63
|
-
*/
|
|
64
|
-
handle401Error(request, next) {
|
|
65
|
-
if (this.supportService.loggedIn()) {
|
|
66
|
-
return this.supportService.refresh().pipe(switchMap(() => {
|
|
67
|
-
return next.handle(this.addTokenToRequest(request));
|
|
68
|
-
}), catchError(error => {
|
|
69
|
-
return throwError(() => error);
|
|
70
|
-
}));
|
|
71
|
-
}
|
|
72
|
-
return next.handle(request);
|
|
73
|
-
}
|
|
74
|
-
/**
|
|
75
|
-
* Add token to request
|
|
76
|
-
* @param request : the request
|
|
77
|
-
* @param token: the token or null to use curre3nt
|
|
78
|
-
*/
|
|
79
|
-
addTokenToRequest(request, token = null) {
|
|
80
|
-
if (request.url.startsWith(this.supportService.serviceUri)) {
|
|
81
|
-
if (!token)
|
|
82
|
-
token = this.supportService.getToken();
|
|
83
|
-
if (token) {
|
|
84
|
-
return request.clone({
|
|
85
|
-
setHeaders: {
|
|
86
|
-
Authorization: 'Bearer ' + token,
|
|
87
|
-
'ngsw-bypass': 'ngsw-bypass'
|
|
88
|
-
},
|
|
89
|
-
});
|
|
90
|
-
}
|
|
91
|
-
}
|
|
92
|
-
return request;
|
|
93
|
-
}
|
|
94
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.10", ngImport: i0, type: SupportAuthInterceptor, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
95
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.10", ngImport: i0, type: SupportAuthInterceptor }); }
|
|
96
|
-
}
|
|
97
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.10", ngImport: i0, type: SupportAuthInterceptor, decorators: [{
|
|
98
|
-
type: Injectable
|
|
99
|
-
}] });
|
|
100
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aC5pbnRlcmNlcHRvci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Fycy11dGlscy9zdXBwb3J0LmNvbW1vbi9jb21tb24vaW50ZXJjZXB0b3JzL2F1dGguaW50ZXJjZXB0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGlCQUFpQixFQUF3RCxNQUFNLHNCQUFzQixDQUFDO0FBQy9HLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25ELE9BQU8sRUFBYyxVQUFVLEVBQUUsUUFBUSxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDL0UsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQzdELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUMxRCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUMvRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQzlDLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDOztBQUdyRCxNQUFNLE9BQU8sc0JBQXNCO0lBRG5DO1FBR1UsbUJBQWMsR0FBRyxNQUFNLENBQUMsY0FBYyxDQUFDLENBQUM7UUFDeEMscUJBQWdCLEdBQUcsTUFBTSxDQUFDLGdCQUFnQixDQUFDLENBQUM7UUFDNUMsa0JBQWEsR0FBRyxNQUFNLENBQUMsYUFBYSxDQUFDLENBQUM7UUFDdEMsa0JBQWEsR0FBVyxDQUFDLENBQUMsQ0FBQztLQW9HcEM7SUFsR0MsU0FBUyxDQUNQLE9BQXlCLEVBQ3pCLElBQWlCO1FBRWpCLElBQUksT0FBTyxDQUFDLEdBQUcsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxVQUFVLENBQUMsRUFBRSxDQUFDO1lBQzNELE9BQU8sR0FBRyxP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RXZlbnQsIEh0dHBIYW5kbGVyLCBIdHRwSW50ZXJjZXB0b3IsIEh0dHBSZXF1ZXN0IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xyXG5pbXBvcnQgeyBJbmplY3RhYmxlLCBpbmplY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgY2F0Y2hFcnJvciwgZmluYWxpemUsIHN3aXRjaE1hcCwgdGhyb3dFcnJvciB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBTdXBwb3J0U2VydmljZSB9IGZyb20gJy4uL3NlcnZpY2VzL3N1cHBvcnQuc2VydmljZSc7XHJcbmltcG9ydCB7IERpYWxvZ1NlcnZpY2UgfSBmcm9tICdAYXJzZWRpemlvbmkvYXJzLXV0aWxzL3VpJztcclxuaW1wb3J0IHsgQnJvYWRjYXN0U2VydmljZSB9IGZyb20gJ0BhcnNlZGl6aW9uaS9hcnMtdXRpbHMvY29yZSc7XHJcbmltcG9ydCB7IFN1cHBvcnRNZXNzYWdlcyB9IGZyb20gJy4uL21lc3NhZ2VzJztcclxuaW1wb3J0IHsgU3VwcG9ydFNlcnZpY2VGbGFncyB9IGZyb20gJy4uL2RlZmluaXRpb25zJztcclxuXHJcbkBJbmplY3RhYmxlKClcclxuZXhwb3J0IGNsYXNzIFN1cHBvcnRBdXRoSW50ZXJjZXB0b3IgaW1wbGVtZW50cyBIdHRwSW50ZXJjZXB0b3Ige1xyXG5cclxuICBwcml2YXRlIHN1cHBvcnRTZXJ2aWNlID0gaW5qZWN0KFN1cHBvcnRTZXJ2aWNlKTtcclxuICBwcml2YXRlIGJyb2FkY2FzdFNlcnZpY2UgPSBpbmplY3QoQnJvYWRjYXN0U2VydmljZSk7XHJcbiAgcHJpdmF0ZSBkaWFsb2dTZXJ2aWNlID0gaW5qZWN0KERpYWxvZ1NlcnZpY2UpO1xyXG4gIHByaXZhdGUgbGFzdEVycm9yVGltZTogbnVtYmVyID0gLTE7XHJcblxyXG4gIGludGVyY2VwdChcclxuICAgIHJlcXVlc3Q6IEh0dHBSZXF1ZXN0PGFueT4sXHJcbiAgICBuZXh0OiBIdHRwSGFuZGxlclxyXG4gICk6IE9ic2VydmFibGU8SHR0cEV2ZW50PGFueT4+IHtcclxuICAgIGlmIChyZXF1ZXN0LnVybC5zdGFydHNXaXRoKHRoaXMuc3VwcG9ydFNlcnZpY2Uuc2VydmljZVVyaSkpIHtcclxuICAgICAgcmVxdWVzdCA9IHJlcXVlc3QuY2xvbmUoeyB3aXRoQ3JlZGVudGlhbHM6IHRydWUgfSk7XHJcbiAgICAgIHJldHVybiBuZXh0LmhhbmRsZSh0aGlzLmFkZFRva2VuVG9SZXF1ZXN0KHJlcXVlc3QpKVxyXG4gICAgICAgIC5waXBlKFxyXG4gICAgICAgICAgZmluYWxpemUoKCkgPT4gdGhpcy5kaWFsb2dTZXJ2aWNlLmNsZWFyQnVzeSgpKSxcclxuICAgICAgICAgIGNhdGNoRXJyb3IoZXJyb3IgPT4ge1xyXG4gICAgICAgICAgICBpZiAoZXJyb3IudXJsLnN0YXJ0c1dpdGgodGhpcy5zdXBwb3J0U2VydmljZS5zZXJ2aWNlVXJpKSkge1xyXG4gICAgICAgICAgICAgIGlmIChcclxuICAgICAgICAgICAgICAgIGVycm9yIGluc3RhbmNlb2YgSHR0cEVycm9yUmVzcG9uc2UgJiZcclxuICAgICAgICAgICAgICAgICFyZXF1ZXN0LnVybC5pbmNsdWRlcyhcIi9sb2dpblwiKSAmJlxyXG4gICAgICAgICAgICAgICAgZXJyb3Iuc3RhdHVzID09PSA0MDFcclxuICAgICAgICAgICAgICApIHtcclxuICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLmhhbmRsZTQwMUVycm9yKHJlcXVlc3QsIG5leHQpO1xyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICBjb25zdCBlcnJvclN0YXR1cyA9IHBhcnNlSW50KGVycm9yLnN0YXR1cyA/PyBcIjBcIik7XHJcbiAgICAgICAgICAgICAgaWYgKChlcnJvclN0YXR1cyA+IDAgJiYgZXJyb3JTdGF0dXMgPCA1MDApIHx8ICh0aGlzLnN1cHBvcnRTZXJ2aWNlLmZsYWdzICYgU3VwcG9ydFNlcnZpY2VGbGFncy5Ob3RpZnlTeXN0ZW1FcnJvcnMpID4gMCkge1xyXG4gICAgICAgICAgICAgICAgY29uc3QgZXJyb3JUaW1lID0gbmV3IERhdGUoKS5nZXRUaW1lKCk7XHJcbiAgICAgICAgICAgICAgICBpZiAoZXJyb3JUaW1lIC0gdGhpcy5sYXN0RXJyb3JUaW1lID4gNTAwMCkge1xyXG4gICAgICAgICAgICAgICAgICB0aGlzLmxhc3RFcnJvclRpbWUgPSBlcnJvclRpbWU7XHJcbiAgICAgICAgICAgICAgICAgIGxldCBtZXNzYWdlID0gXCJcIlxyXG4gICAgICAgICAgICAgICAgICBzd2l0Y2ggKGVycm9yU3RhdHVzKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgY2FzZSAwOlxyXG4gICAgICAgICAgICAgICAgICAgICAgbWVzc2FnZSA9IFwiSW4gcXVlc3RvIG1vbWVudG8gQVJTIFN1cHBvcnQgbm9uIMOoIGRpc3BvbmliaWxlLiBSaXByb3ZhIHRyYSBxdWFsY2hlIG1pbnV0by5cIjtcclxuICAgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgICAgICAgICAgICAgIGNhc2UgNDAzOlxyXG4gICAgICAgICAgICAgICAgICAgICAgbWVzc2FnZSA9IFwiTm9uIGhhaSBpIHBlcm1lc3NpIG5lY2Vzc2FyaSBwZXIgZXNlZ3VpcmUgbCdvcGVyYXppb25lIHJpY2hpZXN0YS5cIjtcclxuICAgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgICAgICAgICAgICAgIGRlZmF1bHQ6XHJcbiAgICAgICAgICAgICAgICAgICAgICBtZXNzYWdlID0gKGVycm9yLmVycm9yPy5tZXNzYWdlID8/IGVycm9yLm1lc3NhZ2UgPz8gXCJJbXBvc3NpYmlsZSBlc2VndWlyZSBsJ29wZXJhemlvbmUgcmljaGllc3RhLlwiKS5yZXBsYWNlQWxsKFwiXFxyXFxuXCIsIFwiPC9wPjxwPlwiKTtcclxuICAgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgIGNvbnN0IGludmFsaWRTZXNzaW9uID0gZXJyb3JTdGF0dXMgPT09IDQwNSB8fCBlcnJvclN0YXR1cyA9PT0gNDEwO1xyXG4gICAgICAgICAgICAgICAgICB0aGlzLmRpYWxvZ1NlcnZpY2UuZXJyb3IoXHJcbiAgICAgICAgICAgICAgICAgICAgXCI8cD5cIiArIG1lc3NhZ2UgICsgXCI8L3A+XCIsXHJcbiAgICAgICAgICAgICAgICAgICAgbnVsbCxcclxuICAgICAgICAgICAgICAgICAgICBcIkVycm9yZSBpbiBBUlMgU3VwcG9ydFwiLFxyXG4gICAgICAgICAgICAgICAgICAgIHVuZGVmaW5lZCxcclxuICAgICAgICAgICAgICAgICAgICB1bmRlZmluZWQsXHJcbiAgICAgICAgICAgICAgICAgICAgaW52YWxpZFNlc3Npb24gPyA1MDAwIDogMTUwMDApLmFmdGVyQ2xvc2VkKCkuc3Vic2NyaWJlKCgpID0+IHtcclxuICAgICAgICAgICAgICAgICAgICAgIGlmIChpbnZhbGlkU2Vzc2lvbikge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmJyb2FkY2FzdFNlcnZpY2Uuc2VuZE1lc3NhZ2UoU3VwcG9ydE1lc3NhZ2VzLkxPR09VVCk7XHJcbiAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHJldHVybiB0aHJvd0Vycm9yKCgpID0+IGVycm9yKTtcclxuICAgICAgICAgIH0pKTtcclxuICAgIH1cclxuICAgIHJldHVybiBuZXh0LmhhbmRsZShyZXF1ZXN0KTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gKiBIYW5kbGUgNDAxIGVycm9yXHJcbiAqIEBwYXJhbSByZXF1ZXN0IDogdGhlIHJlcXVlc3RcclxuICogQHBhcmFtIG5leHQgOiB0aGUgaHR0cCBoYW5kbGVyXHJcbiAqL1xyXG4gIHByaXZhdGUgaGFuZGxlNDAxRXJyb3IocmVxdWVzdDogSHR0cFJlcXVlc3Q8YW55PiwgbmV4dDogSHR0cEhhbmRsZXIpIHtcclxuICAgIGlmICh0aGlzLnN1cHBvcnRTZXJ2aWNlLmxvZ2dlZEluKCkpIHtcclxuICAgICAgcmV0dXJuIHRoaXMuc3VwcG9ydFNlcnZpY2UucmVmcmVzaCgpLnBpcGUoXHJcbiAgICAgICAgc3dpdGNoTWFwKCgpID0+IHtcclxuICAgICAgICAgIHJldHVybiBuZXh0LmhhbmRsZSh0aGlzLmFkZFRva2VuVG9SZXF1ZXN0KHJlcXVlc3QpKTtcclxuICAgICAgICB9KSxcclxuICAgICAgICBjYXRjaEVycm9yKGVycm9yID0+IHtcclxuICAgICAgICAgIHJldHVybiB0aHJvd0Vycm9yKCgpID0+IGVycm9yKTtcclxuICAgICAgICB9KVxyXG4gICAgICApO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIG5leHQuaGFuZGxlKHJlcXVlc3QpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogQWRkIHRva2VuIHRvIHJlcXVlc3RcclxuICAgKiBAcGFyYW0gcmVxdWVzdCA6IHRoZSByZXF1ZXN0XHJcbiAgICogQHBhcmFtIHRva2VuOiB0aGUgdG9rZW4gb3IgbnVsbCB0byB1c2UgY3VycmUzbnRcclxuICAgKi9cclxuICBwcml2YXRlIGFkZFRva2VuVG9SZXF1ZXN0KFxyXG4gICAgcmVxdWVzdDogSHR0cFJlcXVlc3Q8YW55PixcclxuICAgIHRva2VuOiBzdHJpbmcgPSBudWxsXHJcbiAgKTogSHR0cFJlcXVlc3Q8YW55PiB7XHJcbiAgICBpZiAocmVxdWVzdC51cmwuc3RhcnRzV2l0aCh0aGlzLnN1cHBvcnRTZXJ2aWNlLnNlcnZpY2VVcmkpKSB7XHJcbiAgICAgIGlmICghdG9rZW4pIHRva2VuID0gdGhpcy5zdXBwb3J0U2VydmljZS5nZXRUb2tlbigpO1xyXG4gICAgICBpZiAodG9rZW4pIHtcclxuICAgICAgICByZXR1cm4gcmVxdWVzdC5jbG9uZSh7XHJcbiAgICAgICAgICBzZXRIZWFkZXJzOiB7XHJcbiAgICAgICAgICAgIEF1dGhvcml6YXRpb246ICdCZWFyZXIgJyArIHRva2VuLFxyXG4gICAgICAgICAgICAnbmdzdy1ieXBhc3MnOiAnbmdzdy1ieXBhc3MnXHJcbiAgICAgICAgICB9LFxyXG4gICAgICAgIH0pO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICByZXR1cm4gcmVxdWVzdDtcclxuICB9XHJcblxyXG59XHJcbiJdfQ==
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
export const SupportMessages = {
|
|
2
|
-
/**
|
|
3
|
-
* Messages
|
|
4
|
-
*/
|
|
5
|
-
// Login
|
|
6
|
-
LOGIN_CHANGED: '§support-login-changed',
|
|
7
|
-
LOGIN_COMPLETED: '§support-login-completed',
|
|
8
|
-
LOGOUT_COMPLETED: '§support-logout-completed',
|
|
9
|
-
LOGOUT: '§support-logout',
|
|
10
|
-
// Notifications
|
|
11
|
-
NOTIFICATION_READ: '§support-notification-read',
|
|
12
|
-
};
|
|
13
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVzc2FnZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hcnMtdXRpbHMvc3VwcG9ydC5jb21tb24vY29tbW9uL21lc3NhZ2VzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sQ0FBQyxNQUFNLGVBQWUsR0FBRztJQUM3Qjs7T0FFRztJQUVILFFBQVE7SUFDUixhQUFhLEVBQUUsd0JBQXdCO0lBQ3ZDLGVBQWUsRUFBRSwwQkFBMEI7SUFDM0MsZ0JBQWdCLEVBQUUsMkJBQTJCO0lBQzdDLE1BQU0sRUFBRSxpQkFBaUI7SUFFekIsZ0JBQWdCO0lBQ2hCLGlCQUFpQixFQUFFLDRCQUE0QjtDQUNoRCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGNvbnN0IFN1cHBvcnRNZXNzYWdlcyA9IHtcclxuICAvKipcclxuICAgKiBNZXNzYWdlc1xyXG4gICAqL1xyXG5cclxuICAvLyBMb2dpblxyXG4gIExPR0lOX0NIQU5HRUQ6ICfCp3N1cHBvcnQtbG9naW4tY2hhbmdlZCcsXHJcbiAgTE9HSU5fQ09NUExFVEVEOiAnwqdzdXBwb3J0LWxvZ2luLWNvbXBsZXRlZCcsXHJcbiAgTE9HT1VUX0NPTVBMRVRFRDogJ8Knc3VwcG9ydC1sb2dvdXQtY29tcGxldGVkJyxcclxuICBMT0dPVVQ6ICfCp3N1cHBvcnQtbG9nb3V0JyxcclxuXHJcbiAgLy8gTm90aWZpY2F0aW9uc1xyXG4gIE5PVElGSUNBVElPTl9SRUFEOiAnwqdzdXBwb3J0LW5vdGlmaWNhdGlvbi1yZWFkJyxcclxufTtcclxuIl19
|
|
@@ -1,287 +0,0 @@
|
|
|
1
|
-
import { HttpClient, HttpHeaders } from '@angular/common/http';
|
|
2
|
-
import { Injectable, inject, signal } from '@angular/core';
|
|
3
|
-
import { BroadcastService, SystemUtils } from '@arsedizioni/ars-utils/core';
|
|
4
|
-
import { of, throwError } from 'rxjs';
|
|
5
|
-
import { catchError, finalize, map } from 'rxjs/operators';
|
|
6
|
-
import { SupportMessages } from '../messages';
|
|
7
|
-
import { SupportProduct, SupportProductModule, SupportServiceFlags } from '../definitions';
|
|
8
|
-
import * as i0 from "@angular/core";
|
|
9
|
-
export class SupportService {
|
|
10
|
-
constructor() {
|
|
11
|
-
this.httpClient = inject(HttpClient);
|
|
12
|
-
this.broadcastService = inject(BroadcastService);
|
|
13
|
-
this.broadcastServiceSubscription = null;
|
|
14
|
-
this._loginInfo = null;
|
|
15
|
-
this._serviceUri = "https://support.arsedizioni.it";
|
|
16
|
-
this._flags = SupportServiceFlags.None;
|
|
17
|
-
this.products = SupportProduct.None;
|
|
18
|
-
this.productModules = SupportProductModule.None;
|
|
19
|
-
this.unreadNotifications = signal(null);
|
|
20
|
-
this.loggedIn = signal(false);
|
|
21
|
-
this.loggingIn = signal(false);
|
|
22
|
-
this.keepAlive = 0;
|
|
23
|
-
}
|
|
24
|
-
get loginInfo() { return this._loginInfo; }
|
|
25
|
-
;
|
|
26
|
-
set loginInfo(value) {
|
|
27
|
-
this._loginInfo = value;
|
|
28
|
-
}
|
|
29
|
-
get serviceUri() {
|
|
30
|
-
return this._serviceUri;
|
|
31
|
-
}
|
|
32
|
-
get flags() {
|
|
33
|
-
return this._flags;
|
|
34
|
-
}
|
|
35
|
-
ngOnDestroy() {
|
|
36
|
-
// Clean-up
|
|
37
|
-
if (this.broadcastServiceSubscription) {
|
|
38
|
-
this.broadcastServiceSubscription.unsubscribe();
|
|
39
|
-
}
|
|
40
|
-
// Stop keep alive
|
|
41
|
-
this.removeKeepAlive();
|
|
42
|
-
}
|
|
43
|
-
/**
|
|
44
|
-
* Initialize service
|
|
45
|
-
* @param serviceUri : the service uri
|
|
46
|
-
* @param products: the supported products
|
|
47
|
-
* @param productModules: the supported product modules
|
|
48
|
-
* @param flags: the service flags. Default is none.
|
|
49
|
-
*/
|
|
50
|
-
initialize(serviceUri = null, products = SupportProduct.None, productModules = SupportProductModule.None, flags = SupportServiceFlags.None) {
|
|
51
|
-
// Create unique client id
|
|
52
|
-
if (!localStorage.getItem('support_client_id'))
|
|
53
|
-
localStorage.setItem('support_client_id', SystemUtils.generateUUID());
|
|
54
|
-
// Initialize
|
|
55
|
-
this._serviceUri = serviceUri;
|
|
56
|
-
this._flags = flags;
|
|
57
|
-
this.products = products;
|
|
58
|
-
this.productModules = productModules;
|
|
59
|
-
// React to message broadcasting
|
|
60
|
-
if (!this.broadcastServiceSubscription) {
|
|
61
|
-
this.broadcastServiceSubscription = this.broadcastService.getMessage().subscribe((message) => {
|
|
62
|
-
if (message.id === SupportMessages.LOGIN_CHANGED) {
|
|
63
|
-
setTimeout(() => {
|
|
64
|
-
this.login(message.data.email, message.data.oauth, message.data.oauthAccessToken).subscribe({
|
|
65
|
-
next: r => {
|
|
66
|
-
if (r.success) {
|
|
67
|
-
this.countUnreadNotifications();
|
|
68
|
-
}
|
|
69
|
-
}, error: () => { console.error("ARS Support non disponibile."); } // Avoid unwanted errors on client);
|
|
70
|
-
});
|
|
71
|
-
}, 500);
|
|
72
|
-
}
|
|
73
|
-
else if (message.id === SupportMessages.LOGOUT) {
|
|
74
|
-
if (this.loggedIn()) {
|
|
75
|
-
this.logout().subscribe({
|
|
76
|
-
complete: () => {
|
|
77
|
-
this.clear();
|
|
78
|
-
}
|
|
79
|
-
});
|
|
80
|
-
}
|
|
81
|
-
else {
|
|
82
|
-
this.clear();
|
|
83
|
-
}
|
|
84
|
-
}
|
|
85
|
-
else if (message.id === SupportMessages.NOTIFICATION_READ) {
|
|
86
|
-
this.countUnreadNotifications();
|
|
87
|
-
}
|
|
88
|
-
});
|
|
89
|
-
}
|
|
90
|
-
// Eveluate current session storage in case of page refresh (F5)
|
|
91
|
-
if (!this.loggedIn() && this.getToken()) {
|
|
92
|
-
// Auto login
|
|
93
|
-
this.loggedIn.set(true);
|
|
94
|
-
// Notify
|
|
95
|
-
this.broadcastService.sendMessage(SupportMessages.LOGIN_COMPLETED);
|
|
96
|
-
// Set keep alive
|
|
97
|
-
this.setKeepAlive();
|
|
98
|
-
}
|
|
99
|
-
}
|
|
100
|
-
/**
|
|
101
|
-
* Set keep alive
|
|
102
|
-
*/
|
|
103
|
-
setKeepAlive() {
|
|
104
|
-
// Keep alive every 1 min
|
|
105
|
-
if (this.keepAlive === 0) {
|
|
106
|
-
this.keepAlive = window.setInterval(() => {
|
|
107
|
-
this.ping();
|
|
108
|
-
}, 1000 * 60);
|
|
109
|
-
}
|
|
110
|
-
}
|
|
111
|
-
/**
|
|
112
|
-
* Remove keep alive
|
|
113
|
-
*/
|
|
114
|
-
removeKeepAlive() {
|
|
115
|
-
if (this.keepAlive > 0) {
|
|
116
|
-
window.clearInterval(this.keepAlive);
|
|
117
|
-
this.keepAlive = 0;
|
|
118
|
-
}
|
|
119
|
-
}
|
|
120
|
-
/**
|
|
121
|
-
* Ping
|
|
122
|
-
*/
|
|
123
|
-
ping() {
|
|
124
|
-
this.httpClient.get(this._serviceUri + '/ping').subscribe();
|
|
125
|
-
}
|
|
126
|
-
/**
|
|
127
|
-
* Set JWT token
|
|
128
|
-
* @param value : the login result
|
|
129
|
-
*/
|
|
130
|
-
setToken(value) {
|
|
131
|
-
sessionStorage.setItem('support_jwt', value.token);
|
|
132
|
-
sessionStorage.setItem('support_jwt_refresh', value.refreshToken ?? '');
|
|
133
|
-
}
|
|
134
|
-
/**
|
|
135
|
-
* Return current JWT token
|
|
136
|
-
* @param refresh: true to get the refresh token. Default is false.
|
|
137
|
-
*/
|
|
138
|
-
getToken(refresh = false) {
|
|
139
|
-
let token = sessionStorage.getItem(refresh ? 'support_jwt_refresh' : 'support_jwt');
|
|
140
|
-
if (token && token[0] === '"') {
|
|
141
|
-
return token.substring(1, token.length - 1);
|
|
142
|
-
}
|
|
143
|
-
return token ?? '';
|
|
144
|
-
}
|
|
145
|
-
/**
|
|
146
|
-
* Perform login
|
|
147
|
-
* @param email: the guest email
|
|
148
|
-
* @param oauth: the optional open authentication supported
|
|
149
|
-
* @param oauthAccessToken: the optional oauth2 access token
|
|
150
|
-
* @returns: the login result
|
|
151
|
-
*/
|
|
152
|
-
login(email = null, oauth = null, oauthAccessToken = null) {
|
|
153
|
-
this.loggingIn.set(true);
|
|
154
|
-
return this.httpClient
|
|
155
|
-
.post(this._serviceUri + '/login', {
|
|
156
|
-
user: oauth > 0 ? null : email,
|
|
157
|
-
clientId: localStorage.getItem("support_client_id"),
|
|
158
|
-
OAUTH: oauth
|
|
159
|
-
}, {
|
|
160
|
-
headers: !oauth
|
|
161
|
-
? new HttpHeaders()
|
|
162
|
-
: new HttpHeaders()
|
|
163
|
-
.set("Authorization", oauthAccessToken)
|
|
164
|
-
})
|
|
165
|
-
.pipe(catchError(err => {
|
|
166
|
-
this.loggingIn.set(false);
|
|
167
|
-
return throwError(() => err);
|
|
168
|
-
}), map((r) => {
|
|
169
|
-
this.loggingIn.set(false);
|
|
170
|
-
if (r.success) {
|
|
171
|
-
this.setToken(r.value);
|
|
172
|
-
this._loginInfo = r.value.context;
|
|
173
|
-
this.loggedIn.set(true);
|
|
174
|
-
// Notify
|
|
175
|
-
this.broadcastService.sendMessage(SupportMessages.LOGIN_COMPLETED);
|
|
176
|
-
// Keep alive
|
|
177
|
-
this.setKeepAlive();
|
|
178
|
-
}
|
|
179
|
-
return r;
|
|
180
|
-
}));
|
|
181
|
-
}
|
|
182
|
-
/**
|
|
183
|
-
* Perform logout
|
|
184
|
-
*/
|
|
185
|
-
logout() {
|
|
186
|
-
return this.httpClient
|
|
187
|
-
.post(this._serviceUri + '/logout', {}).pipe(finalize(() => { this.removeKeepAlive(); }), map(r => {
|
|
188
|
-
this.clear();
|
|
189
|
-
return r;
|
|
190
|
-
}), catchError((_e) => {
|
|
191
|
-
this.clear();
|
|
192
|
-
return of([]);
|
|
193
|
-
}));
|
|
194
|
-
}
|
|
195
|
-
/**
|
|
196
|
-
* Reset login refresh timer and logins state
|
|
197
|
-
*/
|
|
198
|
-
reset() {
|
|
199
|
-
// Clear login info
|
|
200
|
-
this._loginInfo = null;
|
|
201
|
-
this.loggedIn.set(false);
|
|
202
|
-
// Notify
|
|
203
|
-
this.broadcastService.sendMessage(SupportMessages.LOGOUT_COMPLETED);
|
|
204
|
-
}
|
|
205
|
-
/**
|
|
206
|
-
* Clear login data
|
|
207
|
-
*/
|
|
208
|
-
clear() {
|
|
209
|
-
// Reset login
|
|
210
|
-
this.reset();
|
|
211
|
-
// Clear local storage
|
|
212
|
-
sessionStorage.removeItem('support_jwt');
|
|
213
|
-
sessionStorage.removeItem('support_jwt_refresh');
|
|
214
|
-
}
|
|
215
|
-
/**
|
|
216
|
-
* Perform token refresh
|
|
217
|
-
*/
|
|
218
|
-
refresh() {
|
|
219
|
-
return this.httpClient.get(this._serviceUri + '/refresh2/?token=' + this.getToken(true)).pipe(map((r) => {
|
|
220
|
-
// Update token
|
|
221
|
-
this.setToken(r.value);
|
|
222
|
-
}));
|
|
223
|
-
}
|
|
224
|
-
/**
|
|
225
|
-
* Navigate to support service
|
|
226
|
-
*/
|
|
227
|
-
open() {
|
|
228
|
-
let uri = this.serviceUri ?? '';
|
|
229
|
-
if (uri.endsWith('/api'))
|
|
230
|
-
uri = uri.substring(0, uri.length - 4);
|
|
231
|
-
window.open(uri);
|
|
232
|
-
}
|
|
233
|
-
////
|
|
234
|
-
// NOTIFICATIONS
|
|
235
|
-
////
|
|
236
|
-
/**
|
|
237
|
-
* Count unread notifications
|
|
238
|
-
*/
|
|
239
|
-
countUnreadNotifications() {
|
|
240
|
-
this.httpClient.get(this._serviceUri + '/notifications/count-unread/?products=' + (this.products ?? 0) + "&modules=" + (this.productModules ?? 0)).subscribe((r) => {
|
|
241
|
-
if (r.success) {
|
|
242
|
-
this.unreadNotifications.set(r.value > 0 ? r.value : null);
|
|
243
|
-
}
|
|
244
|
-
});
|
|
245
|
-
}
|
|
246
|
-
/**
|
|
247
|
-
* Query notifications
|
|
248
|
-
* @param params: query parameters
|
|
249
|
-
*/
|
|
250
|
-
queryNotifications(params) {
|
|
251
|
-
params.products = this.products ?? 0;
|
|
252
|
-
params.productModules = this.productModules ?? 0;
|
|
253
|
-
return this.httpClient.post(this._serviceUri + '/notifications', params);
|
|
254
|
-
}
|
|
255
|
-
/**
|
|
256
|
-
* Retrieve a notification
|
|
257
|
-
* @param id: the notification id
|
|
258
|
-
*/
|
|
259
|
-
getNotification(id) {
|
|
260
|
-
return this.httpClient.get(this._serviceUri +
|
|
261
|
-
'/notifications/' +
|
|
262
|
-
id);
|
|
263
|
-
}
|
|
264
|
-
/**
|
|
265
|
-
* Mark a group of notifications as read
|
|
266
|
-
* @param ids: the array of notification's ids to set as read
|
|
267
|
-
*/
|
|
268
|
-
markNotifications(params) {
|
|
269
|
-
return this.httpClient.post(this._serviceUri + '/notifications/mark', params);
|
|
270
|
-
}
|
|
271
|
-
/**
|
|
272
|
-
* Download a notification document
|
|
273
|
-
* @param documentId : the notification document id
|
|
274
|
-
*/
|
|
275
|
-
dowloadNotificationDocument(documentId) {
|
|
276
|
-
return this.httpClient.get(this._serviceUri + '/documents/download/' + documentId, { responseType: 'blob' });
|
|
277
|
-
}
|
|
278
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.10", ngImport: i0, type: SupportService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
279
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.10", ngImport: i0, type: SupportService, providedIn: 'root' }); }
|
|
280
|
-
}
|
|
281
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.10", ngImport: i0, type: SupportService, decorators: [{
|
|
282
|
-
type: Injectable,
|
|
283
|
-
args: [{
|
|
284
|
-
providedIn: 'root',
|
|
285
|
-
}]
|
|
286
|
-
}] });
|
|
287
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3VwcG9ydC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYXJzLXV0aWxzL3N1cHBvcnQuY29tbW9uL2NvbW1vbi9zZXJ2aWNlcy9zdXBwb3J0LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxXQUFXLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUMvRCxPQUFPLEVBQUUsVUFBVSxFQUFhLE1BQU0sRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDdEUsT0FBTyxFQUFtQyxnQkFBZ0IsRUFBRSxXQUFXLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUM3RyxPQUFPLEVBQUUsRUFBRSxFQUFnQixVQUFVLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDcEQsT0FBTyxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDM0QsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUM5QyxPQUFPLEVBQW1KLGNBQWMsRUFBRSxvQkFBb0IsRUFBRSxtQkFBbUIsRUFBbUIsTUFBTSxnQkFBZ0IsQ0FBQzs7QUFNN1AsTUFBTSxPQUFPLGNBQWM7SUFIM0I7UUFNVSxlQUFVLEdBQUcsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQ2hDLHFCQUFnQixHQUFHLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO1FBQzVDLGlDQUE0QixHQUF5QixJQUFJLENBQUM7UUFDMUQsZUFBVSxHQUEyQixJQUFJLENBQUM7UUFNMUMsZ0JBQVcsR0FBVyxnQ0FBZ0MsQ0FBQTtRQUl0RCxXQUFNLEdBQXdCLG1CQUFtQixDQUFDLElBQUksQ0FBQztRQUt4RCxhQUFRLEdBQW1CLGNBQWMsQ0FBQyxJQUFJLENBQUM7UUFDL0MsbUJBQWMsR0FBeUIsb0JBQW9CLENBQUMsSUFBSSxDQUFDO1FBRXhELHdCQUFt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LFFBQVEsSUFBSSxDQUFDLENBQUM7UUFDckMsTUFBTSxDQUFDLGNBQWMsR0FBRyxJQUFJLENBQUMsY0FBYyxJQUFJLENBQUMsQ0FBQztRQUNqRCxPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUN6QixJQUFJLENBQUMsV0FBVyxHQUFHLGdCQUFnQixFQUNuQyxNQUFNLENBQ1AsQ0FBQztJQUNKLENBQUM7SUFFRDs7O09BR0c7SUFDSCxlQUFlLENBQUMsRUFBVTtRQUN4QixPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUN4QixJQUFJLENBQUMsV0FBVztZQUNoQixpQkFBaUI7WUFDakIsRUFBRSxDQUNILENBQUM7SUFDSixDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsaUJBQWlCLENBQUMsTUFBc0M7UUFDdEQsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FDekIsSUFBSSxDQUFDLFdBQVcsR0FBRyxxQkFBcUIsRUFDeEMsTUFBTSxDQUNQLENBQUM7SUFDSixDQUFDO0lBRUQ7OztLQUdDO0lBQ0QsMkJBQTJCLENBQUMsVUFBa0I7UUFDNUMsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FDeEIsSUFBSSxDQUFDLFdBQVcsR0FBRyxzQkFBc0IsR0FBRyxVQUFVLEVBQ3RELEVBQUUsWUFBWSxFQUFFLE1BQU0sRUFBRSxDQUN6QixDQUFDO0lBQ0osQ0FBQzsrR0EzVVUsY0FBYzttSEFBZCxjQUFjLGNBRmIsTUFBTTs7NEZBRVAsY0FBYztrQkFIMUIsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBIdHRwQ2xpZW50LCBIdHRwSGVhZGVycyB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcclxuaW1wb3J0IHsgSW5qZWN0YWJsZSwgT25EZXN0cm95LCBpbmplY3QsIHNpZ25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBBcGlSZXN1bHQsIEJyb2FkY2FzdE1lc3NhZ2VJbmZvLCBCcm9hZGNhc3RTZXJ2aWNlLCBTeXN0ZW1VdGlscyB9IGZyb20gJ0BhcnNlZGl6aW9uaS9hcnMtdXRpbHMvY29yZSc7XHJcbmltcG9ydCB7IG9mLCBTdWJzY3JpcHRpb24sIHRocm93RXJyb3IgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgY2F0Y2hFcnJvciwgZmluYWxpemUsIG1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcclxuaW1wb3J0IHsgU3VwcG9ydE1lc3NhZ2VzIH0gZnJvbSAnLi4vbWVzc2FnZXMnO1xyXG5pbXBvcnQgeyBTdXBwb3J0TG9naW5SZXN1bHQsIFN1cHBvcnROb3RpZmljYXRpb25JbmZvLCBTdXBwb3J0Tm90aWZpY2F0aW9uc01hcmtQYXJhbXMsIFN1cHBvcnROb3RpZmljYXRpb25zU2VhcmNoUGFyYW1zLCBTdXBwb3J0Tm90aWZpY2F0aW9uc1NlYXJjaFJlc3VsdCwgU3VwcG9ydFByb2R1Y3QsIFN1cHBvcnRQcm9kdWN0TW9kdWxlLCBTdXBwb3J0U2VydmljZUZsYWdzLCBTdXBwb3J0VXNlckluZm8gfSBmcm9tICcuLi9kZWZpbml0aW9ucyc7XHJcblxyXG5cclxuQEluamVjdGFibGUoe1xyXG4gIHByb3ZpZGVkSW46ICdyb290JyxcclxufSlcclxuZXhwb3J0IGNsYXNzIFN1cHBvcnRTZXJ2aWNlIGltcGxlbWVudHMgT25EZXN0cm95IHtcclxuXHJcblxyXG4gIHByaXZhdGUgaHR0cENsaWVudCA9IGluamVjdChIdHRwQ2xpZW50KTtcclxuICBwcml2YXRlIGJyb2FkY2FzdFNlcnZpY2UgPSBpbmplY3QoQnJvYWRjYXN0U2VydmljZSk7XHJcbiAgcHJpdmF0ZSBicm9hZGNhc3RTZXJ2aWNlU3Vic2NyaXB0aW9uPzogU3Vic2NyaXB0aW9uIHwgbnVsbCA9IG51bGw7XHJcbiAgcHJpdmF0ZSBfbG9naW5JbmZvOiBTdXBwb3J0VXNlckluZm8gfCBudWxsID0gbnVsbDtcclxuICBnZXQgbG9naW5JbmZvKCk6IFN1cHBvcnRVc2VySW5mbyB8IG51bGwgeyByZXR1cm4gdGhpcy5fbG9naW5JbmZvIH07XHJcbiAgc2V0IGxvZ2luSW5mbyh2YWx1ZTogU3VwcG9ydFVzZXJJbmZvIHwgbnVsbCkge1xyXG4gICAgdGhpcy5fbG9naW5JbmZvID0gdmFsdWU7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIF9zZXJ2aWNlVXJpOiBzdHJpbmcgPSBcImh0dHBzOi8vc3VwcG9ydC5hcnNlZGl6aW9uaS5pdFwiXHJcbiAgZ2V0IHNlcnZpY2VVcmkoKTogc3RyaW5nIHtcclxuICAgIHJldHVybiB0aGlzLl9zZXJ2aWNlVXJpO1xyXG4gIH1cclxuICBwcml2YXRlIF9mbGFnczogU3VwcG9ydFNlcnZpY2VGbGFncyA9IFN1cHBvcnRTZXJ2aWNlRmxhZ3MuTm9uZTtcclxuICBnZXQgZmxhZ3MoKTogU3VwcG9ydFNlcnZpY2VGbGFncyB7XHJcbiAgICByZXR1cm4gdGhpcy5fZmxhZ3M7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgcHJvZHVjdHM6IFN1cHBvcnRQcm9kdWN0ID0gU3VwcG9ydFByb2R1Y3QuTm9uZTtcclxuICBwdWJsaWMgcHJvZHVjdE1vZHVsZXM6IFN1cHBvcnRQcm9kdWN0TW9kdWxlID0gU3VwcG9ydFByb2R1Y3RNb2R1bGUuTm9uZTtcclxuXHJcbiAgcHVibGljIHJlYWRvbmx5IHVucmVhZE5vdGlmaWNhdGlvbnMgPSBzaWduYWw8bnVtYmVyIHwgbnVsbD4obnVsbCk7XHJcbiAgcHVibGljIHJlYWRvbmx5IGxvZ2dlZEluID0gc2lnbmFsPGJvb2xlYW4+KGZhbHNlKTtcclxuICBwdWJsaWMgcmVhZG9ubHkgbG9nZ2luZ0luID0gc2lnbmFsPGJvb2xlYW4+KGZhbHNlKTtcclxuXHJcbiAgcHJpdmF0ZSBrZWVwQWxpdmUgPSAwO1xyXG5cclxuICBuZ09uRGVzdHJveSgpIHtcclxuICAgIC8vIENsZWFuLXVwXHJcbiAgICBpZiAodGhpcy5icm9hZGNhc3RTZXJ2aWNlU3Vic2NyaXB0aW9uKSB7XHJcbiAgICAgIHRoaXMuYnJvYWRjYXN0U2VydmljZVN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xyXG4gICAgfVxyXG4gICAgLy8gU3RvcCBrZWVwIGFsaXZlXHJcbiAgICB0aGlzLnJlbW92ZUtlZXBBbGl2ZSgpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogSW5pdGlhbGl6ZSBzZXJ2aWNlXHJcbiAgICogQHBhcmFtIHNlcnZpY2VVcmkgOiB0aGUgc2VydmljZSB1cmlcclxuICAgKiBAcGFyYW0gcHJvZHVjdHM6IHRoZSBzdXBwb3J0ZWQgcHJvZHVjdHNcclxuICAgKiBAcGFyYW0gcHJvZHVjdE1vZHVsZXM6IHRoZSBzdXBwb3J0ZWQgcHJvZHVjdCBtb2R1bGVzXHJcbiAgICogQHBhcmFtIGZsYWdzOiB0aGUgc2VydmljZSBmbGFncy4gRGVmYXVsdCBpcyBub25lLlxyXG4gICAqL1xyXG4gIGluaXRpYWxpemUoXHJcbiAgICBzZXJ2aWNlVXJpOiBzdHJpbmcgPSBudWxsLFxyXG4gICAgcHJvZHVjdHM6IFN1cHBvcnRQcm9kdWN0ID0gU3VwcG9ydFByb2R1Y3QuTm9uZSxcclxuICAgIHByb2R1Y3RNb2R1bGVzOiBTdXBwb3J0UHJvZHVjdE1vZHVsZSA9IFN1cHBvcnRQcm9kdWN0TW9kdWxlLk5vbmUsXHJcbiAgICBmbGFnczogU3VwcG9ydFNlcnZpY2VGbGFncyA9IFN1cHBvcnRTZXJ2aWNlRmxhZ3MuTm9uZSkge1xyXG5cclxuICAgIC8vIENyZWF0ZSB1bmlxdWUgY2xpZW50IGlkXHJcbiAgICBpZiAoIWxvY2FsU3RvcmFnZS5nZXRJdGVtKCdzdXBwb3J0X2NsaWVudF9pZCcpKVxyXG4gICAgICBsb2NhbFN0b3JhZ2Uuc2V0SXRlbSgnc3VwcG9ydF9jbGllbnRfaWQnLCBTeXN0ZW1VdGlscy5nZW5lcmF0ZVVVSUQoKSk7XHJcblxyXG4gICAgLy8gSW5pdGlhbGl6ZVxyXG4gICAgdGhpcy5fc2VydmljZVVyaSA9IHNlcnZpY2VVcmk7XHJcbiAgICB0aGlzLl9mbGFncyA9IGZsYWdzO1xyXG4gICAgdGhpcy5wcm9kdWN0cyA9IHByb2R1Y3RzO1xyXG4gICAgdGhpcy5wcm9kdWN0TW9kdWxlcyA9IHByb2R1Y3RNb2R1bGVzO1xyXG5cclxuICAgIC8vIFJlYWN0IHRvIG1lc3NhZ2UgYnJvYWRjYXN0aW5nXHJcbiAgICBpZiAoIXRoaXMuYnJvYWRjYXN0U2VydmljZVN1YnNjcmlwdGlvbikge1xyXG4gICAgICB0aGlzLmJyb2FkY2FzdFNlcnZpY2VTdWJzY3JpcHRpb24gPSB0aGlzLmJyb2FkY2FzdFNlcnZpY2UuZ2V0TWVzc2FnZSgpLnN1YnNjcmliZSgobWVzc2FnZTogQnJvYWRjYXN0TWVzc2FnZUluZm8pID0+IHtcclxuICAgICAgICBpZiAobWVzc2FnZS5pZCA9PT0gU3VwcG9ydE1lc3NhZ2VzLkxPR0lOX0NIQU5HRUQpIHtcclxuICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICAgICAgICB0aGlzLmxvZ2luKG1lc3NhZ2UuZGF0YS5lbWFpbCwgbWVzc2FnZS5kYXRhLm9hdXRoLCBtZXNzYWdlLmRhdGEub2F1dGhBY2Nlc3NUb2tlbikuc3Vic2NyaWJlKHtcclxuICAgICAgICAgICAgICBuZXh0OiByID0+IHtcclxuICAgICAgICAgICAgICAgIGlmIChyLnN1Y2Nlc3MpIHtcclxuICAgICAgICAgICAgICAgICAgdGhpcy5jb3VudFVucmVhZE5vdGlmaWNhdGlvbnMoKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICB9LCBlcnJvcjogKCkgPT4geyBjb25zb2xlLmVycm9yKFwiQVJTIFN1cHBvcnQgbm9uIGRpc3BvbmliaWxlLlwiKSB9IC8vIEF2b2lkIHVud2FudGVkIGVycm9ycyBvbiBjbGllbnQpO1xyXG4gICAgICAgICAgICB9KVxyXG4gICAgICAgICAgfSwgNTAwKTtcclxuICAgICAgICB9IGVsc2UgaWYgKG1lc3NhZ2UuaWQgPT09IFN1cHBvcnRNZXNzYWdlcy5MT0dPVVQpIHtcclxuICAgICAgICAgIGlmICh0aGlzLmxvZ2dlZEluKCkpIHtcclxuICAgICAgICAgICAgdGhpcy5sb2dvdXQoKS5zdWJzY3JpYmUoe1xyXG4gICAgICAgICAgICAgIGNvbXBsZXRlOiAoKSA9PiB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLmNsZWFyKCk7XHJcbiAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9KTtcclxuICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIHRoaXMuY2xlYXIoKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9IGVsc2UgaWYgKG1lc3NhZ2UuaWQgPT09IFN1cHBvcnRNZXNzYWdlcy5OT1RJRklDQVRJT05fUkVBRCkge1xyXG4gICAgICAgICAgdGhpcy5jb3VudFVucmVhZE5vdGlmaWNhdGlvbnMoKTtcclxuICAgICAgICB9XHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG5cclxuICAgIC8vIEV2ZWx1YXRlIGN1cnJlbnQgc2Vzc2lvbiBzdG9yYWdlIGluIGNhc2Ugb2YgcGFnZSByZWZyZXNoIChGNSlcclxuICAgIGlmICghdGhpcy5sb2dnZWRJbigpICYmIHRoaXMuZ2V0VG9rZW4oKSkge1xyXG4gICAgICAvLyBBdXRvIGxvZ2luXHJcbiAgICAgIHRoaXMubG9nZ2VkSW4uc2V0KHRydWUpO1xyXG4gICAgICAvLyBOb3RpZnlcclxuICAgICAgdGhpcy5icm9hZGNhc3RTZXJ2aWNlLnNlbmRNZXNzYWdlKFN1cHBvcnRNZXNzYWdlcy5MT0dJTl9DT01QTEVURUQpO1xyXG4gICAgICAvLyBTZXQga2VlcCBhbGl2ZVxyXG4gICAgICB0aGlzLnNldEtlZXBBbGl2ZSgpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogU2V0IGtlZXAgYWxpdmVcclxuICAgKi9cclxuICBwcml2YXRlIHNldEtlZXBBbGl2ZSgpIHtcclxuICAgIC8vIEtlZXAgYWxpdmUgZXZlcnkgMSBtaW5cclxuICAgIGlmICh0aGlzLmtlZXBBbGl2ZSA9PT0gMCkge1xyXG4gICAgICB0aGlzLmtlZXBBbGl2ZSA9IHdpbmRvdy5zZXRJbnRlcnZhbChcclxuICAgICAgICAoKSA9PiB7XHJcbiAgICAgICAgICB0aGlzLnBpbmcoKTtcclxuICAgICAgICB9LCAxMDAwICogNjApO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogUmVtb3ZlIGtlZXAgYWxpdmVcclxuICAgKi9cclxuICBwcml2YXRlIHJlbW92ZUtlZXBBbGl2ZSgpIHtcclxuICAgIGlmICh0aGlzLmtlZXBBbGl2ZSA+IDApIHtcclxuICAgICAgd2luZG93LmNsZWFySW50ZXJ2YWwodGhpcy5rZWVwQWxpdmUpO1xyXG4gICAgICB0aGlzLmtlZXBBbGl2ZSA9IDA7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvKipcclxuICogUGluZ1xyXG4gKi9cclxuICBwaW5nKCkge1xyXG4gICAgdGhpcy5odHRwQ2xpZW50LmdldDxBcGlSZXN1bHQ8bnVtYmVyPj4oXHJcbiAgICAgIHRoaXMuX3NlcnZpY2VVcmkgKyAnL3BpbmcnXHJcbiAgICApLnN1YnNjcmliZSgpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAqIFNldCBKV1QgdG9rZW5cclxuICogQHBhcmFtIHZhbHVlIDogdGhlIGxvZ2luIHJlc3VsdFxyXG4gKi9cclxuICBwcml2YXRlIHNldFRva2VuKHZhbHVlOiBTdXBwb3J0TG9naW5SZXN1bHQpIHtcclxuICAgIHNlc3Npb25TdG9yYWdlLnNldEl0ZW0oJ3N1cHBvcnRfand0JywgdmFsdWUudG9rZW4pO1xyXG4gICAgc2Vzc2lvblN0b3JhZ2Uuc2V0SXRlbSgnc3VwcG9ydF9qd3RfcmVmcmVzaCcsIHZhbHVlLnJlZnJlc2hUb2tlbiA/PyAnJyk7XHJcbiAgfVxyXG5cclxuXHJcbiAgLyoqXHJcbiAgICogUmV0dXJuIGN1cnJlbnQgSldUIHRva2VuXHJcbiAgICogQHBhcmFtIHJlZnJlc2g6IHRydWUgdG8gZ2V0IHRoZSByZWZyZXNoIHRva2VuLiBEZWZhdWx0IGlzIGZhbHNlLlxyXG4gICAqL1xyXG4gIGdldFRva2VuKHJlZnJlc2g6IGJvb2xlYW4gPSBmYWxzZSk6IHN0cmluZyB7XHJcbiAgICBsZXQgdG9rZW4gPSBzZXNzaW9uU3RvcmFnZS5nZXRJdGVtKHJlZnJlc2ggPyAnc3VwcG9ydF9qd3RfcmVmcmVzaCcgOiAnc3VwcG9ydF9qd3QnKTtcclxuICAgIGlmICh0b2tlbiAmJiB0b2tlblswXSA9PT0gJ1wiJykge1xyXG4gICAgICByZXR1cm4gdG9rZW4uc3Vic3RyaW5nKDEsIHRva2VuLmxlbmd0aCAtIDEpO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIHRva2VuID8/ICcnO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiogUGVyZm9ybSBsb2dpbiAgIFxyXG4qIEBwYXJhbSBlbWFpbDogdGhlIGd1ZXN0IGVtYWlsXHJcbiogQHBhcmFtIG9hdXRoOiB0aGUgb3B0aW9uYWwgb3BlbiBhdXRoZW50aWNhdGlvbiBzdXBwb3J0ZWRcclxuKiBAcGFyYW0gb2F1dGhBY2Nlc3NUb2tlbjogdGhlIG9wdGlvbmFsIG9hdXRoMiBhY2Nlc3MgdG9rZW5cclxuKiBAcmV0dXJuczogdGhlIGxvZ2luIHJlc3VsdFxyXG4qL1xyXG4gIGxvZ2luKGVtYWlsOiBzdHJpbmcgfCBudWxsIHwgdW5kZWZpbmVkID0gbnVsbCxcclxuICAgIG9hdXRoOiBudW1iZXIgfCBudWxsIHwgdW5kZWZpbmVkID0gbnVsbCxcclxuICAgIG9hdXRoQWNjZXNzVG9rZW46IHN0cmluZyB8IG51bGwgfCB1bmRlZmluZWQgPSBudWxsKSB7XHJcbiAgICB0aGlzLmxvZ2dpbmdJbi5zZXQodHJ1ZSk7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwQ2xpZW50XHJcbiAgICAgIC5wb3N0PEFwaVJlc3VsdDxTdXBwb3J0TG9naW5SZXN1bHQ+PihcclxuICAgICAgICB0aGlzLl9zZXJ2aWNlVXJpICsgJy9sb2dpbicsXHJcbiAgICAgICAge1xyXG4gICAgICAgICAgdXNlcjogb2F1dGggPiAwID8gbnVsbCA6IGVtYWlsLFxyXG4gICAgICAgICAgY2xpZW50SWQ6IGxvY2FsU3RvcmFnZS5nZXRJdGVtKFwic3VwcG9ydF9jbGllbnRfaWRcIiksXHJcbiAgICAgICAgICBPQVVUSDogb2F1dGhcclxuICAgICAgICB9LFxyXG4gICAgICAgIHtcclxuICAgICAgICAgIGhlYWRlcnM6XHJcbiAgICAgICAgICAgICFvYXV0aFxyXG4gICAgICAgICAgICAgID8gbmV3IEh0dHBIZWFkZXJzKClcclxuICAgICAgICAgICAgICA6IG5ldyBIdHRwSGVhZGVycygpXHJcbiAgICAgICAgICAgICAgICAuc2V0KFwiQXV0aG9yaXphdGlvblwiLCBvYXV0aEFjY2Vzc1Rva2VuKVxyXG4gICAgICAgIH0pXHJcbiAgICAgIC5waXBlKFxyXG4gICAgICAgIGNhdGNoRXJyb3IoZXJyID0+IHtcclxuICAgICAgICAgIHRoaXMubG9nZ2luZ0luLnNldChmYWxzZSk7XHJcbiAgICAgICAgICByZXR1cm4gdGhyb3dFcnJvcigoKSA9PiBlcnIpO1xyXG4gICAgICAgIH0pLFxyXG4gICAgICAgIG1hcCgocjogQXBpUmVzdWx0PFN1cHBvcnRMb2dpblJlc3VsdD4pID0+IHtcclxuICAgICAgICAgIHRoaXMubG9nZ2luZ0luLnNldChmYWxzZSk7XHJcbiAgICAgICAgICBpZiAoci5zdWNjZXNzKSB7XHJcbiAgICAgICAgICAgIHRoaXMuc2V0VG9rZW4oci52YWx1ZSk7XHJcbiAgICAgICAgICAgIHRoaXMuX2xvZ2luSW5mbyA9IHIudmFsdWUuY29udGV4dDtcclxuICAgICAgICAgICAgdGhpcy5sb2dnZWRJbi5zZXQodHJ1ZSk7XHJcbiAgICAgICAgICAgIC8vIE5vdGlmeVxyXG4gICAgICAgICAgICB0aGlzLmJyb2FkY2FzdFNlcnZpY2Uuc2VuZE1lc3NhZ2UoU3VwcG9ydE1lc3NhZ2VzLkxPR0lOX0NPTVBMRVRFRCk7XHJcbiAgICAgICAgICAgIC8vIEtlZXAgYWxpdmVcclxuICAgICAgICAgICAgdGhpcy5zZXRLZWVwQWxpdmUoKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICAgIHJldHVybiByO1xyXG4gICAgICAgIH0pXHJcbiAgICAgICk7XHJcblxyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogUGVyZm9ybSBsb2dvdXRcclxuICAgKi9cclxuICBsb2dvdXQoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwQ2xpZW50XHJcbiAgICAgIC5wb3N0PGFueT4odGhpcy5fc2VydmljZVVyaSArICcvbG9nb3V0Jywge30pLnBpcGUoXHJcbiAgICAgICAgZmluYWxpemUoKCkgPT4geyB0aGlzLnJlbW92ZUtlZXBBbGl2ZSgpIH0pLFxyXG4gICAgICAgIG1hcChyID0+IHtcclxuICAgICAgICAgIHRoaXMuY2xlYXIoKTtcclxuICAgICAgICAgIHJldHVybiByO1xyXG4gICAgICAgIH0pLFxyXG4gICAgICAgIGNhdGNoRXJyb3IoKF9lKSA9PiB7XHJcbiAgICAgICAgICB0aGlzLmNsZWFyKCk7XHJcbiAgICAgICAgICByZXR1cm4gb2YoW10pO1xyXG4gICAgICAgIH0pKTtcclxuXHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBSZXNldCBsb2dpbiByZWZyZXNoIHRpbWVyIGFuZCBsb2dpbnMgc3RhdGVcclxuICAgKi9cclxuICByZXNldCgpIHtcclxuICAgIC8vIENsZWFyIGxvZ2luIGluZm9cclxuICAgIHRoaXMuX2xvZ2luSW5mbyA9IG51bGw7XHJcbiAgICB0aGlzLmxvZ2dlZEluLnNldChmYWxzZSk7XHJcblxyXG4gICAgLy8gTm90aWZ5XHJcbiAgICB0aGlzLmJyb2FkY2FzdFNlcnZpY2Uuc2VuZE1lc3NhZ2UoU3VwcG9ydE1lc3NhZ2VzLkxPR09VVF9DT01QTEVURUQpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogQ2xlYXIgbG9naW4gZGF0YVxyXG4gICAqL1xyXG4gIGNsZWFyKCkge1xyXG4gICAgLy8gUmVzZXQgbG9naW5cclxuICAgIHRoaXMucmVzZXQoKTtcclxuXHJcbiAgICAvLyBDbGVhciBsb2NhbCBzdG9yYWdlXHJcbiAgICBzZXNzaW9uU3RvcmFnZS5yZW1vdmVJdGVtKCdzdXBwb3J0X2p3dCcpO1xyXG4gICAgc2Vzc2lvblN0b3JhZ2UucmVtb3ZlSXRlbSgnc3VwcG9ydF9qd3RfcmVmcmVzaCcpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAqIFBlcmZvcm0gdG9rZW4gcmVmcmVzaFxyXG4gKi9cclxuICByZWZyZXNoKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cENsaWVudC5nZXQ8QXBpUmVzdWx0PFN1cHBvcnRMb2dpblJlc3VsdD4+KFxyXG4gICAgICB0aGlzLl9zZXJ2aWNlVXJpICsgJy9yZWZyZXNoMi8/dG9rZW49JyArIHRoaXMuZ2V0VG9rZW4odHJ1ZSlcclxuICAgICkucGlwZShtYXAoKHI6IEFwaVJlc3VsdDxTdXBwb3J0TG9naW5SZXN1bHQ+KSA9PiB7XHJcbiAgICAgIC8vIFVwZGF0ZSB0b2tlblxyXG4gICAgICB0aGlzLnNldFRva2VuKHIudmFsdWUpO1xyXG4gICAgfSkpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogTmF2aWdhdGUgdG8gc3VwcG9ydCBzZXJ2aWNlXHJcbiAgICovXHJcbiAgb3BlbigpIHtcclxuICAgIGxldCB1cmkgPSB0aGlzLnNlcnZpY2VVcmkgPz8gJyc7XHJcbiAgICBpZiAodXJpLmVuZHNXaXRoKCcvYXBpJykpXHJcbiAgICAgIHVyaSA9IHVyaS5zdWJzdHJpbmcoMCwgdXJpLmxlbmd0aCAtIDQpXHJcbiAgICB3aW5kb3cub3Blbih1cmkpO1xyXG4gIH1cclxuXHJcblxyXG4gIC8vLy9cclxuICAvLyBOT1RJRklDQVRJT05TXHJcbiAgLy8vL1xyXG5cclxuICAvKipcclxuICAgKiBDb3VudCB1bnJlYWQgbm90aWZpY2F0aW9uc1xyXG4gICAqL1xyXG4gIGNvdW50VW5yZWFkTm90aWZpY2F0aW9ucygpIHtcclxuICAgIHRoaXMuaHR0cENsaWVudC5nZXQ8QXBpUmVzdWx0PG51bWJlcj4+KFxyXG4gICAgICB0aGlzLl9zZXJ2aWNlVXJpICsgJy9ub3RpZmljYXRpb25zL2NvdW50LXVucmVhZC8/cHJvZHVjdHM9JyArICh0aGlzLnByb2R1Y3RzID8/IDApICsgXCImbW9kdWxlcz1cIiArICh0aGlzLnByb2R1Y3RNb2R1bGVzID8/IDApXHJcbiAgICApLnN1YnNjcmliZSgocjogQXBpUmVzdWx0PG51bWJlcj4pID0+IHtcclxuICAgICAgaWYgKHIuc3VjY2Vzcykge1xyXG4gICAgICAgIHRoaXMudW5yZWFkTm90aWZpY2F0aW9ucy5zZXQoci52YWx1ZSA+IDAgPyByLnZhbHVlIDogbnVsbClcclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBRdWVyeSBub3RpZmljYXRpb25zXHJcbiAgICogQHBhcmFtIHBhcmFtczogcXVlcnkgcGFyYW1ldGVyc1xyXG4gICAqL1xyXG4gIHF1ZXJ5Tm90aWZpY2F0aW9ucyhwYXJhbXM6IFN1cHBvcnROb3RpZmljYXRpb25zU2VhcmNoUGFyYW1zKSB7XHJcbiAgICBwYXJhbXMucHJvZHVjdHMgPSB0aGlzLnByb2R1Y3RzID8/IDA7XHJcbiAgICBwYXJhbXMucHJvZHVjdE1vZHVsZXMgPSB0aGlzLnByb2R1Y3RNb2R1bGVzID8/IDA7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwQ2xpZW50LnBvc3Q8QXBpUmVzdWx0PFN1cHBvcnROb3RpZmljYXRpb25zU2VhcmNoUmVzdWx0Pj4oXHJcbiAgICAgIHRoaXMuX3NlcnZpY2VVcmkgKyAnL25vdGlmaWNhdGlvbnMnLFxyXG4gICAgICBwYXJhbXNcclxuICAgICk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBSZXRyaWV2ZSBhIG5vdGlmaWNhdGlvblxyXG4gICAqIEBwYXJhbSBpZDogdGhlIG5vdGlmaWNhdGlvbiBpZFxyXG4gICAqL1xyXG4gIGdldE5vdGlmaWNhdGlvbihpZDogbnVtYmVyKSB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwQ2xpZW50LmdldDxBcGlSZXN1bHQ8U3VwcG9ydE5vdGlmaWNhdGlvbkluZm8+PihcclxuICAgICAgdGhpcy5fc2VydmljZVVyaSArXHJcbiAgICAgICcvbm90aWZpY2F0aW9ucy8nICtcclxuICAgICAgaWRcclxuICAgICk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBNYXJrIGEgZ3JvdXAgb2Ygbm90aWZpY2F0aW9ucyBhcyByZWFkXHJcbiAgICogQHBhcmFtIGlkczogdGhlIGFycmF5IG9mIG5vdGlmaWNhdGlvbidzIGlkcyB0byBzZXQgYXMgcmVhZFxyXG4gICAqL1xyXG4gIG1hcmtOb3RpZmljYXRpb25zKHBhcmFtczogU3VwcG9ydE5vdGlmaWNhdGlvbnNNYXJrUGFyYW1zKSB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwQ2xpZW50LnBvc3Q8QXBpUmVzdWx0PGJvb2xlYW4+PihcclxuICAgICAgdGhpcy5fc2VydmljZVVyaSArICcvbm90aWZpY2F0aW9ucy9tYXJrJyxcclxuICAgICAgcGFyYW1zXHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAqIERvd25sb2FkIGEgbm90aWZpY2F0aW9uIGRvY3VtZW50XHJcbiAqIEBwYXJhbSBkb2N1bWVudElkIDogdGhlIG5vdGlmaWNhdGlvbiBkb2N1bWVudCBpZFxyXG4gKi9cclxuICBkb3dsb2FkTm90aWZpY2F0aW9uRG9jdW1lbnQoZG9jdW1lbnRJZDogbnVtYmVyKSB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwQ2xpZW50LmdldChcclxuICAgICAgdGhpcy5fc2VydmljZVVyaSArICcvZG9jdW1lbnRzL2Rvd25sb2FkLycgKyBkb2N1bWVudElkLFxyXG4gICAgICB7IHJlc3BvbnNlVHlwZTogJ2Jsb2InIH1cclxuICAgICk7XHJcbiAgfVxyXG59XHJcbiJdfQ==
|