@tiba-spark/client-shared-lib 25.3.0-620 → 25.3.0-629
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/esm2022/libraries/components/index.mjs +14 -12
- package/esm2022/libraries/components/message-bar/message-bar-container/message-bar-container.component.mjs +4 -3
- package/esm2022/libraries/components/overlay-loading-container/{empty-resutls/empty-resutls.component.mjs → empty-results/empty-results.component.mjs} +1 -1
- package/esm2022/libraries/components/overlay-loading-container/error-results/error-results.component.mjs +26 -0
- package/esm2022/libraries/components/overlay-loading-container/index.mjs +3 -2
- package/esm2022/libraries/components/overlay-loading-container/loading-overlay.component.mjs +7 -9
- package/esm2022/libraries/components/restart-link/restart-link.component.mjs +41 -0
- package/esm2022/libraries/components/restart-link/restart-link.module.mjs +28 -0
- package/esm2022/libraries/constants/global-constants.mjs +3 -1
- package/esm2022/libraries/modules/auth/refresh-token.state.mjs +1 -1
- package/esm2022/libraries/pipes/humanize.pipe.mjs +25 -0
- package/esm2022/libraries/pipes/index.mjs +2 -1
- package/esm2022/libraries/pipes/shared-pipes.module.mjs +11 -6
- package/esm2022/libraries/resolvers/version.resolver.mjs +4 -1
- package/esm2022/libraries/services/refresh-token.service.mjs +35 -6
- package/esm2022/libraries/services/smartpark.service.mjs +18 -5
- package/fesm2022/tiba-spark-client-shared-lib.mjs +863 -723
- package/fesm2022/tiba-spark-client-shared-lib.mjs.map +1 -1
- package/libraries/components/index.d.ts +13 -11
- package/libraries/components/index.d.ts.map +1 -1
- package/libraries/components/message-bar/message-bar-container/message-bar-container.component.d.ts +1 -0
- package/libraries/components/message-bar/message-bar-container/message-bar-container.component.d.ts.map +1 -1
- package/libraries/components/overlay-loading-container/{empty-resutls/empty-resutls.component.d.ts → empty-results/empty-results.component.d.ts} +1 -1
- package/libraries/components/overlay-loading-container/{empty-resutls/empty-resutls.component.d.ts.map → empty-results/empty-results.component.d.ts.map} +1 -1
- package/libraries/components/overlay-loading-container/error-results/error-results.component.d.ts +10 -0
- package/libraries/components/overlay-loading-container/error-results/error-results.component.d.ts.map +1 -0
- package/libraries/components/overlay-loading-container/index.d.ts +2 -1
- package/libraries/components/overlay-loading-container/index.d.ts.map +1 -1
- package/libraries/components/overlay-loading-container/loading-overlay.component.d.ts +0 -2
- package/libraries/components/overlay-loading-container/loading-overlay.component.d.ts.map +1 -1
- package/libraries/components/restart-link/restart-link.component.d.ts +19 -0
- package/libraries/components/restart-link/restart-link.component.d.ts.map +1 -0
- package/libraries/components/restart-link/restart-link.module.d.ts +10 -0
- package/libraries/components/restart-link/restart-link.module.d.ts.map +1 -0
- package/libraries/constants/global-constants.d.ts +2 -0
- package/libraries/constants/global-constants.d.ts.map +1 -1
- package/libraries/pipes/humanize.pipe.d.ts +16 -0
- package/libraries/pipes/humanize.pipe.d.ts.map +1 -0
- package/libraries/pipes/index.d.ts +1 -0
- package/libraries/pipes/index.d.ts.map +1 -1
- package/libraries/pipes/shared-pipes.module.d.ts +2 -1
- package/libraries/pipes/shared-pipes.module.d.ts.map +1 -1
- package/libraries/resolvers/version.resolver.d.ts.map +1 -1
- package/libraries/services/refresh-token.service.d.ts +6 -2
- package/libraries/services/refresh-token.service.d.ts.map +1 -1
- package/libraries/services/smartpark.service.d.ts +3 -1
- package/libraries/services/smartpark.service.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/libraries/theme/_expansion-panel.scss +6 -1
- package/src/libraries/theme/mat-components/_mat-nav-list.scss +13 -0
|
@@ -13,6 +13,7 @@ export * from './filter-numbers.pipe';
|
|
|
13
13
|
export * from './filter.pipe';
|
|
14
14
|
export * from './format.pipe';
|
|
15
15
|
export * from './group-permission.pipe';
|
|
16
|
+
export * from './humanize.pipe';
|
|
16
17
|
export * from './order-by.pipe';
|
|
17
18
|
export * from './orphan-facilities.pipe';
|
|
18
19
|
export * from './smartpark-time.pipe';
|
|
@@ -27,4 +28,4 @@ export * from './translate-local.pipe';
|
|
|
27
28
|
export * from './tree-filter-keys.pipe';
|
|
28
29
|
export * from './wrap-fn.pipe';
|
|
29
30
|
export * from './zerofy-negative.pipe';
|
|
30
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
31
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jbGllbnQtc2hhcmVkLWxpYi9zcmMvbGlicmFyaWVzL3BpcGVzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLFNBQVM7QUFDVCxjQUFjLGdCQUFnQixDQUFDO0FBQy9CLGNBQWMsdUJBQXVCLENBQUM7QUFFdEMsUUFBUTtBQUNSLGNBQWMsaUJBQWlCLENBQUM7QUFDaEMsY0FBYyxxQkFBcUIsQ0FBQztBQUNwQyxjQUFjLHNCQUFzQixDQUFDO0FBQ3JDLGNBQWMsMEJBQTBCLENBQUM7QUFDekMsY0FBYyw0QkFBNEIsQ0FBQztBQUMzQyxjQUFjLHVCQUF1QixDQUFDO0FBQ3RDLGNBQWMsb0JBQW9CLENBQUM7QUFDbkMsY0FBYyx1QkFBdUIsQ0FBQztBQUN0QyxjQUFjLGVBQWUsQ0FBQztBQUM5QixjQUFjLGVBQWUsQ0FBQztBQUM5QixjQUFjLHlCQUF5QixDQUFDO0FBQ3hDLGNBQWMsaUJBQWlCLENBQUM7QUFDaEMsY0FBYyxpQkFBaUIsQ0FBQztBQUNoQyxjQUFjLDBCQUEwQixDQUFDO0FBQ3pDLGNBQWMsdUJBQXVCLENBQUM7QUFDdEMsY0FBYyxhQUFhLENBQUM7QUFDNUIsY0FBYyxvQkFBb0IsQ0FBQztBQUNuQyxjQUFjLGtCQUFrQixDQUFDO0FBQ2pDLGNBQWMseUJBQXlCLENBQUM7QUFDeEMsY0FBYyxpQkFBaUIsQ0FBQztBQUNoQyxjQUFjLHFCQUFxQixDQUFDO0FBQ3BDLGNBQWMsbUJBQW1CLENBQUM7QUFDbEMsY0FBYyx3QkFBd0IsQ0FBQztBQUN2QyxjQUFjLHlCQUF5QixDQUFDO0FBQ3hDLGNBQWMsZ0JBQWdCLENBQUM7QUFDL0IsY0FBYyx3QkFBd0IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8vIE1vZHVsZVxuZXhwb3J0ICogZnJvbSAnLi9kZXZpY2UtcGlwZXMnO1xuZXhwb3J0ICogZnJvbSAnLi9zaGFyZWQtcGlwZXMubW9kdWxlJztcblxuLy8gUGlwZXNcbmV4cG9ydCAqIGZyb20gJy4vYy1sb2ctaXQucGlwZSc7XG5leHBvcnQgKiBmcm9tICcuL2NlbnQtdG8tY29pbi5waXBlJztcbmV4cG9ydCAqIGZyb20gJy4vY3VybHktdG8tYm9sZC5waXBlJztcbmV4cG9ydCAqIGZyb20gJy4vZGVjaW1hbC10by1hbW91bnQucGlwZSc7XG5leHBvcnQgKiBmcm9tICcuL2RlY2ltYWwtdG8tY3VycmVuY3kucGlwZSc7XG5leHBvcnQgKiBmcm9tICcuL2VudW1zLXRvLWFycmF5LnBpcGUnO1xuZXhwb3J0ICogZnJvbSAnLi9maWx0ZXIta2V5cy5waXBlJztcbmV4cG9ydCAqIGZyb20gJy4vZmlsdGVyLW51bWJlcnMucGlwZSc7XG5leHBvcnQgKiBmcm9tICcuL2ZpbHRlci5waXBlJztcbmV4cG9ydCAqIGZyb20gJy4vZm9ybWF0LnBpcGUnO1xuZXhwb3J0ICogZnJvbSAnLi9ncm91cC1wZXJtaXNzaW9uLnBpcGUnO1xuZXhwb3J0ICogZnJvbSAnLi9odW1hbml6ZS5waXBlJztcbmV4cG9ydCAqIGZyb20gJy4vb3JkZXItYnkucGlwZSc7XG5leHBvcnQgKiBmcm9tICcuL29ycGhhbi1mYWNpbGl0aWVzLnBpcGUnO1xuZXhwb3J0ICogZnJvbSAnLi9zbWFydHBhcmstdGltZS5waXBlJztcbmV4cG9ydCAqIGZyb20gJy4vc29ydC5waXBlJztcbmV4cG9ydCAqIGZyb20gJy4vc3BlY2lhbC1kYXkucGlwZSc7XG5leHBvcnQgKiBmcm9tICcuL3N0cmluZy1pdC5waXBlJztcbmV4cG9ydCAqIGZyb20gJy4vc3Vic3RyLWhpZ2hsaWdodC5waXBlJztcbmV4cG9ydCAqIGZyb20gJy4vdGltZS1hZ28ucGlwZSc7XG5leHBvcnQgKiBmcm9tICcuL3RpbWUtZWxhcHNlZC5waXBlJztcbmV4cG9ydCAqIGZyb20gJy4vdGltZS1yYW5nZS5waXBlJztcbmV4cG9ydCAqIGZyb20gJy4vdHJhbnNsYXRlLWxvY2FsLnBpcGUnO1xuZXhwb3J0ICogZnJvbSAnLi90cmVlLWZpbHRlci1rZXlzLnBpcGUnO1xuZXhwb3J0ICogZnJvbSAnLi93cmFwLWZuLnBpcGUnO1xuZXhwb3J0ICogZnJvbSAnLi96ZXJvZnktbmVnYXRpdmUucGlwZSc7XG4iXX0=
|
|
@@ -9,7 +9,11 @@ import { FilterKeysPipe } from './filter-keys.pipe';
|
|
|
9
9
|
import { FilterNumbersPipe } from './filter-numbers.pipe';
|
|
10
10
|
import { FilterPipe } from './filter.pipe';
|
|
11
11
|
import { TBFormatPipe } from './format.pipe';
|
|
12
|
+
import { GroupPermissionsPipe } from './group-permission.pipe';
|
|
13
|
+
import { HumanizePipe } from './humanize.pipe';
|
|
12
14
|
import { OrderByPipe } from './order-by.pipe';
|
|
15
|
+
import { OrphanFacilitiesPipe } from './orphan-facilities.pipe';
|
|
16
|
+
import { SmartparkDateTimePipe } from './smartpark-time.pipe';
|
|
13
17
|
import { SortPipe } from './sort.pipe';
|
|
14
18
|
import { StringItPipe } from './string-it.pipe';
|
|
15
19
|
import { SubstrHightlightPipe } from './substr-highlight.pipe';
|
|
@@ -20,9 +24,6 @@ import { TranslateLocalPipe } from './translate-local.pipe';
|
|
|
20
24
|
import { TreeFilterKeysPipe } from './tree-filter-keys.pipe';
|
|
21
25
|
import { WrapFnPipe } from './wrap-fn.pipe';
|
|
22
26
|
import { ZerofyNegativePipe } from './zerofy-negative.pipe';
|
|
23
|
-
import { SmartparkDateTimePipe } from './smartpark-time.pipe';
|
|
24
|
-
import { OrphanFacilitiesPipe } from './orphan-facilities.pipe';
|
|
25
|
-
import { GroupPermissionsPipe } from './group-permission.pipe';
|
|
26
27
|
import * as i0 from "@angular/core";
|
|
27
28
|
export class SharedPipesModule {
|
|
28
29
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SharedPipesModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
@@ -49,7 +50,8 @@ export class SharedPipesModule {
|
|
|
49
50
|
ZerofyNegativePipe,
|
|
50
51
|
SubstrHightlightPipe,
|
|
51
52
|
GroupPermissionsPipe,
|
|
52
|
-
OrphanFacilitiesPipe
|
|
53
|
+
OrphanFacilitiesPipe,
|
|
54
|
+
HumanizePipe], exports: [SmartparkDateTimePipe,
|
|
53
55
|
CLogItPipe,
|
|
54
56
|
CentToCoinPipe,
|
|
55
57
|
CurlyToBoldPipe,
|
|
@@ -72,7 +74,8 @@ export class SharedPipesModule {
|
|
|
72
74
|
ZerofyNegativePipe,
|
|
73
75
|
SubstrHightlightPipe,
|
|
74
76
|
GroupPermissionsPipe,
|
|
75
|
-
OrphanFacilitiesPipe
|
|
77
|
+
OrphanFacilitiesPipe,
|
|
78
|
+
HumanizePipe] }); }
|
|
76
79
|
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SharedPipesModule }); }
|
|
77
80
|
}
|
|
78
81
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SharedPipesModule, decorators: [{
|
|
@@ -104,6 +107,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
104
107
|
SubstrHightlightPipe,
|
|
105
108
|
GroupPermissionsPipe,
|
|
106
109
|
OrphanFacilitiesPipe,
|
|
110
|
+
HumanizePipe,
|
|
107
111
|
],
|
|
108
112
|
exports: [
|
|
109
113
|
SmartparkDateTimePipe,
|
|
@@ -130,7 +134,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
130
134
|
SubstrHightlightPipe,
|
|
131
135
|
GroupPermissionsPipe,
|
|
132
136
|
OrphanFacilitiesPipe,
|
|
137
|
+
HumanizePipe,
|
|
133
138
|
],
|
|
134
139
|
}]
|
|
135
140
|
}] });
|
|
136
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
141
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2hhcmVkLXBpcGVzLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NsaWVudC1zaGFyZWQtbGliL3NyYy9saWJyYXJpZXMvcGlwZXMvc2hhcmVkLXBpcGVzLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUM3QyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDckQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQy9ELE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ25FLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ3pELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUNwRCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUMxRCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDN0MsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDL0QsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUM5QyxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUNoRSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUM5RCxPQUFPLEVBQUUsUUFBUSxF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TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDTG9nSXRQaXBlIH0gZnJvbSAnLi9jLWxvZy1pdC5waXBlJztcbmltcG9ydCB7IENlbnRUb0NvaW5QaXBlIH0gZnJvbSAnLi9jZW50LXRvLWNvaW4ucGlwZSc7XG5pbXBvcnQgeyBDdXJseVRvQm9sZFBpcGUgfSBmcm9tICcuL2N1cmx5LXRvLWJvbGQucGlwZSc7XG5pbXBvcnQgeyBEZWNpbWFsVG9BbW91bnRQaXBlIH0gZnJvbSAnLi9kZWNpbWFsLXRvLWFtb3VudC5waXBlJztcbmltcG9ydCB7IERlY2ltYWxUb0N1cnJlbmN5UGlwZSB9IGZyb20gJy4vZGVjaW1hbC10by1jdXJyZW5jeS5waXBlJztcbmltcG9ydCB7IEVudW1zVG9BcnJheVBpcGUgfSBmcm9tICcuL2VudW1zLXRvLWFycmF5LnBpcGUnO1xuaW1wb3J0IHsgRmlsdGVyS2V5c1BpcGUgfSBmcm9tICcuL2ZpbHRlci1rZXlzLnBpcGUnO1xuaW1wb3J0IHsgRmlsdGVyTnVtYmVyc1BpcGUgfSBmcm9tICcuL2ZpbHRlci1udW1iZXJzLnBpcGUnO1xuaW1wb3J0IHsgRmlsdGVyUGlwZSB9IGZyb20gJy4vZmlsdGVyLnBpcGUnO1xuaW1wb3J0IHsgVEJGb3JtYXRQaXBlIH0gZnJvbSAnLi9mb3JtYXQucGlwZSc7XG5pbXBvcnQgeyBHcm91cFBlcm1pc3Npb25zUGlwZSB9IGZyb20gJy4vZ3JvdXAtcGVybWlzc2lvbi5waXBlJztcbmltcG9ydCB7IEh1bWFuaXplUGlwZSB9IGZyb20gJy4vaHVtYW5pemUucGlwZSc7XG5pbXBvcnQgeyBPcmRlckJ5UGlwZSB9IGZyb20gJy4vb3JkZXItYnkucGlwZSc7XG5pbXBvcnQgeyBPcnBoYW5GYWNpbGl0aWVzUGlwZSB9IGZyb20gJy4vb3JwaGFuLWZhY2lsaXRpZXMucGlwZSc7XG5pbXBvcnQgeyBTbWFydHBhcmtEYXRlVGltZVBpcGUgfSBmcm9tICcuL3NtYXJ0cGFyay10aW1lLnBpcGUnO1xuaW1wb3J0IHsgU29ydFBpcGUgfSBmcm9tICcuL3NvcnQucGlwZSc7XG5pbXBvcnQgeyBTdHJpbmdJdFBpcGUgfSBmcm9tICcuL3N0cmluZy1pdC5waXBlJztcbmltcG9ydCB7IFN1YnN0ckhpZ2h0bGlnaHRQaXBlIH0gZnJvbSAnLi9zdWJzdHItaGlnaGxpZ2h0LnBpcGUnO1xuaW1wb3J0IHsgVGltZUFnb1BpcGUgfSBmcm9tICcuL3RpbWUtYWdvLnBpcGUnO1xuaW1wb3J0IHsgVGltZUVsYXBzZWRQaXBlIH0gZnJvbSAnLi90aW1lLWVsYXBzZWQucGlwZSc7XG5pbXBvcnQgeyBUaW1lUmFuZ2VQaXBlIH0gZnJvbSAnLi90aW1lLXJhbmdlLnBpcGUnO1xuaW1wb3J0IHsgVHJhbnNsYXRlTG9jYWxQaXBlIH0gZnJvbSAnLi90cmFuc2xhdGUtbG9jYWwucGlwZSc7XG5pbXBvcnQgeyBUcmVlRmlsdGVyS2V5c1BpcGUgfSBmcm9tICcuL3RyZWUtZmlsdGVyLWtleXMucGlwZSc7XG5pbXBvcnQgeyBXcmFwRm5QaXBlIH0gZnJvbSAnLi93cmFwLWZuLnBpcGUnO1xuaW1wb3J0IHsgWmVyb2Z5TmVnYXRpdmVQaXBlIH0gZnJvbSAnLi96ZXJvZnktbmVnYXRpdmUucGlwZSc7XG5cbkBOZ01vZHVsZSh7XG4gIGRlY2xhcmF0aW9uczogW1xuICBdLFxuICBpbXBvcnRzOiBbXG4gICAgU21hcnRwYXJrRGF0ZVRpbWVQaXBlLFxuICAgIENMb2dJdFBpcGUsXG4gICAgQ2VudFRvQ29pblBpcGUsXG4gICAgQ3VybHlUb0JvbGRQaXBlLFxuICAgIERlY2ltYWxUb0Ftb3VudFBpcGUsXG4gICAgRGVjaW1hbFRvQ3VycmVuY3lQaXBlLFxuICAgIEVudW1zVG9BcnJheVBpcGUsXG4gICAgRmlsdGVyS2V5c1BpcGUsXG4gICAgRmlsdGVyTnVtYmVyc1BpcGUsXG4gICAgRmlsdGVyUGlwZSxcbiAgICBUQkZvcm1hdFBpcGUsXG4gICAgT3JkZXJCeVBpcGUsXG4gICAgU29ydFBpcGUsXG4gICAgU3RyaW5nSXRQaXBlLFxuICAgIFRpbWVBZ29QaXBlLFxuICAgIFRpbWVFbGFwc2VkUGlwZSxcbiAgICBUaW1lUmFuZ2VQaXBlLFxuICAgIFRyYW5zbGF0ZUxvY2FsUGlwZSxcbiAgICBUcmVlRmlsdGVyS2V5c1BpcGUsXG4gICAgV3JhcEZuUGlwZSxcbiAgICBaZXJvZnlOZWdhdGl2ZVBpcGUsXG4gICAgU3Vic3RySGlnaHRsaWdodFBpcGUsXG4gICAgR3JvdXBQZXJtaXNzaW9uc1BpcGUsXG4gICAgT3JwaGFuRmFjaWxpdGllc1BpcGUsXG4gICAgSHVtYW5pemVQaXBlLFxuICBdLFxuICBleHBvcnRzOiBbXG4gICAgU21hcnRwYXJrRGF0ZVRpbWVQaXBlLFxuICAgIENMb2dJdFBpcGUsXG4gICAgQ2VudFRvQ29pblBpcGUsXG4gICAgQ3VybHlUb0JvbGRQaXBlLFxuICAgIERlY2ltYWxUb0Ftb3VudFBpcGUsXG4gICAgRGVjaW1hbFRvQ3VycmVuY3lQaXBlLFxuICAgIEVudW1zVG9BcnJheVBpcGUsXG4gICAgRmlsdGVyS2V5c1BpcGUsXG4gICAgRmlsdGVyTnVtYmVyc1BpcGUsXG4gICAgRmlsdGVyUGlwZSxcbiAgICBUQkZvcm1hdFBpcGUsXG4gICAgT3JkZXJCeVBpcGUsXG4gICAgU29ydFBpcGUsXG4gICAgU3RyaW5nSXRQaXBlLFxuICAgIFRpbWVBZ29QaXBlLFxuICAgIFRpbWVFbGFwc2VkUGlwZSxcbiAgICBUaW1lUmFuZ2VQaXBlLFxuICAgIFRyYW5zbGF0ZUxvY2FsUGlwZSxcbiAgICBUcmVlRmlsdGVyS2V5c1BpcGUsXG4gICAgV3JhcEZuUGlwZSxcbiAgICBaZXJvZnlOZWdhdGl2ZVBpcGUsXG4gICAgU3Vic3RySGlnaHRsaWdodFBpcGUsXG4gICAgR3JvdXBQZXJtaXNzaW9uc1BpcGUsXG4gICAgT3JwaGFuRmFjaWxpdGllc1BpcGUsXG4gICAgSHVtYW5pemVQaXBlLFxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBTaGFyZWRQaXBlc01vZHVsZSB7IH1cbiJdfQ==
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { Injectable } from '@angular/core';
|
|
2
|
+
import { catchError, of } from 'rxjs';
|
|
2
3
|
import { tap } from 'rxjs/operators';
|
|
3
4
|
import { SetSmartParkVersionsAction } from '../modules/smartparks/smartpark.actions';
|
|
4
5
|
import * as i0 from "@angular/core";
|
|
@@ -12,6 +13,8 @@ export class VersionResolver {
|
|
|
12
13
|
resolve() {
|
|
13
14
|
return this.smartparkServiceProxy.versions().pipe(tap(versionsMap => {
|
|
14
15
|
this.store.dispatch(new SetSmartParkVersionsAction(versionsMap.data));
|
|
16
|
+
}), catchError(() => {
|
|
17
|
+
return of(null);
|
|
15
18
|
}));
|
|
16
19
|
}
|
|
17
20
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: VersionResolver, deps: [{ token: i1.SmartparkServiceProxy }, { token: i2.Store }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
@@ -20,4 +23,4 @@ export class VersionResolver {
|
|
|
20
23
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: VersionResolver, decorators: [{
|
|
21
24
|
type: Injectable
|
|
22
25
|
}], ctorParameters: () => [{ type: i1.SmartparkServiceProxy }, { type: i2.Store }] });
|
|
23
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
26
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmVyc2lvbi5yZXNvbHZlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NsaWVudC1zaGFyZWQtbGliL3NyYy9saWJyYXJpZXMvcmVzb2x2ZXJzL3ZlcnNpb24ucmVzb2x2ZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUzQyxPQUFPLEVBQUUsVUFBVSxFQUFjLEVBQUUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUNsRCxPQUFPLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDckMsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0seUNBQXlDLENBQUM7Ozs7QUFJckYsTUFBTSxPQUFPLGVBQWU7SUFFMUIsWUFBb0IscUJBQTRDLEVBQVUsS0FBWTtRQUFsRSwwQkFBcUIsR0FBckIscUJBQXFCLENBQXVCO1FBQVUsVUFBSyxHQUFMLEtBQUssQ0FBTztJQUN0RixDQUFDO0lBRUQsT0FBTztRQUNMLE9BQU8sSUFBSSxDQUFDLHFCQUFxQixDQUFDLFFBQVEsRUFBRSxDQUFDLElBQUksQ0FDL0MsR0FBRyxDQUFDLFdBQVcsQ0FBQyxFQUFFO1lBQ2hCLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLElBQUksMEJBQTBCLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7UUFDeEUsQ0FBQyxDQUFDLEVBQ0YsVUFBVSxDQUFDLEdBQUcsRUFBRTtZQUNkLE9BQU8sRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ2xCLENBQUMsQ0FBQyxDQUNILENBQUM7SUFDSixDQUFDOytHQWRVLGVBQWU7bUhBQWYsZUFBZTs7NEZBQWYsZUFBZTtrQkFEM0IsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFN0b3JlIH0gZnJvbSAnQG5neHMvc3RvcmUnO1xuaW1wb3J0IHsgY2F0Y2hFcnJvciwgT2JzZXJ2YWJsZSwgb2YgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IHRhcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IFNldFNtYXJ0UGFya1ZlcnNpb25zQWN0aW9uIH0gZnJvbSAnLi4vbW9kdWxlcy9zbWFydHBhcmtzL3NtYXJ0cGFyay5hY3Rpb25zJztcbmltcG9ydCB7IFNtYXJ0cGFya1NlcnZpY2VQcm94eSwgU3RyaW5nU3RyaW5nSURpY3Rpb25hcnlIdHRwUmVzcG9uc2VEYXRhIH0gZnJvbSAnLi4vc2VydmljZS1wcm94eS9jbG91ZC1zZXJ2aWNlLXByb3hpZXMnO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgVmVyc2lvblJlc29sdmVyIHtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHNtYXJ0cGFya1NlcnZpY2VQcm94eTogU21hcnRwYXJrU2VydmljZVByb3h5LCBwcml2YXRlIHN0b3JlOiBTdG9yZSkge1xuICB9XG5cbiAgcmVzb2x2ZSgpOiBPYnNlcnZhYmxlPFN0cmluZ1N0cmluZ0lEaWN0aW9uYXJ5SHR0cFJlc3BvbnNlRGF0YT4ge1xuICAgIHJldHVybiB0aGlzLnNtYXJ0cGFya1NlcnZpY2VQcm94eS52ZXJzaW9ucygpLnBpcGUoXG4gICAgICB0YXAodmVyc2lvbnNNYXAgPT4ge1xuICAgICAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKG5ldyBTZXRTbWFydFBhcmtWZXJzaW9uc0FjdGlvbih2ZXJzaW9uc01hcC5kYXRhKSk7XG4gICAgICB9KSxcbiAgICAgIGNhdGNoRXJyb3IoKCkgPT4ge1xuICAgICAgICByZXR1cm4gb2YobnVsbCk7XG4gICAgICB9KVxuICAgICk7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -1,30 +1,36 @@
|
|
|
1
1
|
import { Injectable } from '@angular/core';
|
|
2
|
-
import {
|
|
2
|
+
import { ofActionDispatched } from '@ngxs/store';
|
|
3
|
+
import { first, Subject, throwError } from 'rxjs';
|
|
3
4
|
import { catchError, filter, finalize, switchMap, take, tap } from 'rxjs/operators';
|
|
4
5
|
import { VERSION_V1 } from '../constants/version-constants';
|
|
5
|
-
import { SetStateAction } from '../modules/auth/session.actions';
|
|
6
|
+
import { LogoutAction, LogoutMobileAction, SetStateAction } from '../modules/auth/session.actions';
|
|
6
7
|
import * as i0 from "@angular/core";
|
|
7
8
|
import * as i1 from "@ngxs/store";
|
|
8
9
|
import * as i2 from "../service-proxy/identity-service-proxies";
|
|
9
10
|
import * as i3 from "./session-storage.service";
|
|
10
11
|
import * as i4 from "../service-proxy";
|
|
11
12
|
export class RefreshTokenService {
|
|
12
|
-
constructor(store, usersServiceProxyIdentity, sessionStorageService, mobileServiceProxyIdentity) {
|
|
13
|
+
constructor(store, usersServiceProxyIdentity, sessionStorageService, actions$, mobileServiceProxyIdentity) {
|
|
13
14
|
this.store = store;
|
|
14
15
|
this.usersServiceProxyIdentity = usersServiceProxyIdentity;
|
|
15
16
|
this.sessionStorageService = sessionStorageService;
|
|
17
|
+
this.actions$ = actions$;
|
|
16
18
|
this.mobileServiceProxyIdentity = mobileServiceProxyIdentity;
|
|
17
19
|
this.isRefreshing = false;
|
|
18
20
|
this.refreshTokenSubject = new Subject();
|
|
19
21
|
}
|
|
20
22
|
handleRefreshToken(request, next) {
|
|
21
23
|
if (!this.isRefreshing) {
|
|
24
|
+
const subscription = this.listenToLogoutAction();
|
|
22
25
|
this.isRefreshing = true;
|
|
23
26
|
const refreshInfo = this.sessionStorageService.getAuth;
|
|
24
27
|
return this.usersServiceProxyIdentity.refreshToken(refreshInfo?.refreshToken).pipe(switchMap(tokenResult => {
|
|
25
28
|
this.setAuthSession(tokenResult.data);
|
|
26
29
|
return next.handle(this.addToken(request, tokenResult.data.accessToken));
|
|
27
30
|
}), catchError((error) => throwError(() => error)), finalize(() => {
|
|
31
|
+
if (subscription) {
|
|
32
|
+
subscription.unsubscribe();
|
|
33
|
+
}
|
|
28
34
|
this.isRefreshing = false;
|
|
29
35
|
// Process the request queue after token refresh completes
|
|
30
36
|
this.refreshTokenSubject.next(this.sessionStorageService.accessToken);
|
|
@@ -37,12 +43,16 @@ export class RefreshTokenService {
|
|
|
37
43
|
}
|
|
38
44
|
handleMobileRefreshToken(request, next) {
|
|
39
45
|
if (!this.isRefreshing) {
|
|
46
|
+
const subscription = this.listenToLogoutMobileAction();
|
|
40
47
|
this.isRefreshing = true;
|
|
41
48
|
const refreshInfo = this.sessionStorageService.getAuth;
|
|
42
49
|
return this.mobileServiceProxyIdentity.mobileRefreshToken(refreshInfo?.refreshToken, VERSION_V1).pipe(switchMap(tokenResult => {
|
|
43
50
|
this.setAuthSession(tokenResult.data);
|
|
44
51
|
return next.handle(this.addToken(request, tokenResult.data.accessToken));
|
|
45
52
|
}), catchError((error) => throwError(() => error)), finalize(() => {
|
|
53
|
+
if (subscription) {
|
|
54
|
+
subscription.unsubscribe();
|
|
55
|
+
}
|
|
46
56
|
this.isRefreshing = false;
|
|
47
57
|
// Process the request queue after token refresh completes
|
|
48
58
|
this.refreshTokenSubject.next(this.sessionStorageService.accessToken);
|
|
@@ -73,6 +83,25 @@ export class RefreshTokenService {
|
|
|
73
83
|
this.sessionStorageService.setAuthSession(tokenResult.accessToken, newRefreshData);
|
|
74
84
|
this.store.dispatch(new SetStateAction(tokenResult.accessToken, newRefreshData));
|
|
75
85
|
}
|
|
86
|
+
listenToLogoutAction() {
|
|
87
|
+
return this.actions$
|
|
88
|
+
.pipe(ofActionDispatched(LogoutAction), first())
|
|
89
|
+
.subscribe(() => {
|
|
90
|
+
this.clearRefreshTokenQueue();
|
|
91
|
+
});
|
|
92
|
+
}
|
|
93
|
+
listenToLogoutMobileAction() {
|
|
94
|
+
return this.actions$
|
|
95
|
+
.pipe(ofActionDispatched(LogoutMobileAction), first())
|
|
96
|
+
.subscribe(() => {
|
|
97
|
+
this.clearRefreshTokenQueue();
|
|
98
|
+
});
|
|
99
|
+
}
|
|
100
|
+
clearRefreshTokenQueue() {
|
|
101
|
+
this.refreshTokenSubject.complete();
|
|
102
|
+
this.refreshTokenSubject = new Subject();
|
|
103
|
+
this.isRefreshing = false;
|
|
104
|
+
}
|
|
76
105
|
handleRefreshTokenQueue(request, next) {
|
|
77
106
|
return this.refreshTokenSubject.pipe(filter((token) => !this.isRefreshing && !!token), take(1), switchMap((token) => next.handle(this.addToken(request, token))));
|
|
78
107
|
}
|
|
@@ -83,10 +112,10 @@ export class RefreshTokenService {
|
|
|
83
112
|
}
|
|
84
113
|
});
|
|
85
114
|
}
|
|
86
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: RefreshTokenService, deps: [{ token: i1.Store }, { token: i2.UsersServiceProxyIdentity }, { token: i3.SessionStorageService }, { token: i4.Identity.MobileServiceProxyIdentity }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
115
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: RefreshTokenService, deps: [{ token: i1.Store }, { token: i2.UsersServiceProxyIdentity }, { token: i3.SessionStorageService }, { token: i1.Actions }, { token: i4.Identity.MobileServiceProxyIdentity }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
87
116
|
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: RefreshTokenService }); }
|
|
88
117
|
}
|
|
89
118
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: RefreshTokenService, decorators: [{
|
|
90
119
|
type: Injectable
|
|
91
|
-
}], ctorParameters: () => [{ type: i1.Store }, { type: i2.UsersServiceProxyIdentity }, { type: i3.SessionStorageService }, { type: i4.Identity.MobileServiceProxyIdentity }] });
|
|
92
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVmcmVzaC10b2tlbi5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2xpZW50LXNoYXJlZC1saWIvc3JjL2xpYnJhcmllcy9zZXJ2aWNlcy9yZWZyZXNoLXRva2VuLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUzQyxPQUFPLEVBQWMsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUN2RCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxRQUFRLEVBQUUsU0FBUyxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNwRixPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFFNUQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGlDQUFpQyxDQUFDOzs7Ozs7QUFNakUsTUFBTSxPQUFPLG1CQUFtQjtJQUs5QixZQUFvQixLQUFZLEVBQVUseUJBQW9ELEVBQVUscUJBQTRDLEVBQzFJLDBCQUErRDtRQURyRCxVQUFLLEdBQUwsS0FBSyxDQUFPO1FBQVUsOEJBQXlCLEdBQXpCLHlCQUF5QixDQUEyQjtRQUFVLDBCQUFxQixHQUFyQixxQkFBcUIsQ0FBdUI7UUFDMUksK0JBQTBCLEdBQTFCLDBCQUEwQixDQUFxQztRQUpqRSxpQkFBWSxHQUFHLEtBQUssQ0FBQztRQUNyQix3QkFBbUIsR0FBaUIsSUFBSSxPQUFPLEVBQU8sQ0FBQztJQUsvRCxDQUFDO0lBRU0sa0JBQWtCLENBQUMsT0FBeUIsRUFBRSxJQUFpQjtRQUNwRSxJQUFJLENBQUMsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO1lBQ3ZCLElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDO1lBQ3pCLE1BQU0sV0FBVyxHQUFnQixJQUFJLENBQUMscUJBQXFCLENBQUMsT0FBTyxD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RkFBbkIsbUJBQW1CO2tCQUQvQixVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSHR0cEhhbmRsZXIsIEh0dHBSZXF1ZXN0IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgU3RvcmUgfSBmcm9tICdAbmd4cy9zdG9yZSc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBTdWJqZWN0LCB0aHJvd0Vycm9yIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBjYXRjaEVycm9yLCBmaWx0ZXIsIGZpbmFsaXplLCBzd2l0Y2hNYXAsIHRha2UsIHRhcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IFZFUlNJT05fVjEgfSBmcm9tICcuLi9jb25zdGFudHMvdmVyc2lvbi1jb25zdGFudHMnO1xuaW1wb3J0IHsgUmVmcmVzaEluZm8gfSBmcm9tICcuLi9tb2R1bGVzL2F1dGgvbW9kZWwvcmVmcmVzaC1pbmZvLmludGVyZmFjZSc7XG5pbXBvcnQgeyBTZXRTdGF0ZUFjdGlvbiB9IGZyb20gJy4uL21vZHVsZXMvYXV0aC9zZXNzaW9uLmFjdGlvbnMnO1xuaW1wb3J0IHsgSWRlbnRpdHkgfSBmcm9tICcuLi9zZXJ2aWNlLXByb3h5JztcbmltcG9ydCB7IFJlZnJlc2hUb2tlbkR0bywgVXNlcnNTZXJ2aWNlUHJveHlJZGVudGl0eSB9IGZyb20gJy4uL3NlcnZpY2UtcHJveHkvaWRlbnRpdHktc2VydmljZS1wcm94aWVzJztcbmltcG9ydCB7IFNlc3Npb25TdG9yYWdlU2VydmljZSB9IGZyb20gJy4vc2Vzc2lvbi1zdG9yYWdlLnNlcnZpY2UnO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgUmVmcmVzaFRva2VuU2VydmljZSB7XG5cbiAgcHJpdmF0ZSBpc1JlZnJlc2hpbmcgPSBmYWxzZTtcbiAgcHJpdmF0ZSByZWZyZXNoVG9rZW5TdWJqZWN0OiBTdWJqZWN0PGFueT4gPSBuZXcgU3ViamVjdDxhbnk+KCk7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBzdG9yZTogU3RvcmUsIHByaXZhdGUgdXNlcnNTZXJ2aWNlUHJveHlJZGVudGl0eTogVXNlcnNTZXJ2aWNlUHJveHlJZGVudGl0eSwgcHJpdmF0ZSBzZXNzaW9uU3RvcmFnZVNlcnZpY2U6IFNlc3Npb25TdG9yYWdlU2VydmljZSxcbiAgICBwcml2YXRlIG1vYmlsZVNlcnZpY2VQcm94eUlkZW50aXR5OiBJZGVudGl0eS5Nb2JpbGVTZXJ2aWNlUHJveHlJZGVudGl0eSxcbiAgKSB7XG4gIH1cblxuICBwdWJsaWMgaGFuZGxlUmVmcmVzaFRva2VuKHJlcXVlc3Q6IEh0dHBSZXF1ZXN0PGFueT4sIG5leHQ6IEh0dHBIYW5kbGVyKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBpZiAoIXRoaXMuaXNSZWZyZXNoaW5nKSB7XG4gICAgICB0aGlzLmlzUmVmcmVzaGluZyA9IHRydWU7XG4gICAgICBjb25zdCByZWZyZXNoSW5mbzogUmVmcmVzaEluZm8gPSB0aGlzLnNlc3Npb25TdG9yYWdlU2VydmljZS5nZXRBdXRoO1xuICAgICAgcmV0dXJuIHRoaXMudXNlcnNTZXJ2aWNlUHJveHlJZGVudGl0eS5yZWZyZXNoVG9rZW4ocmVmcmVzaEluZm8/LnJlZnJlc2hUb2tlbikucGlwZShcbiAgICAgICAgc3dpdGNoTWFwKHRva2VuUmVzdWx0ID0+IHtcbiAgICAgICAgICB0aGlzLnNldEF1dGhTZXNzaW9uKHRva2VuUmVzdWx0LmRhdGEpO1xuXG4gICAgICAgICAgcmV0dXJuIG5leHQuaGFuZGxlKHRoaXMuYWRkVG9rZW4ocmVxdWVzdCwgdG9rZW5SZXN1bHQuZGF0YS5hY2Nlc3NUb2tlbikpO1xuICAgICAgICB9KSxcbiAgICAgICAgY2F0Y2hFcnJvcigoZXJyb3IpID0+IHRocm93RXJyb3IoKCkgPT4gZXJyb3IpKSxcbiAgICAgICAgZmluYWxpemUoKCkgPT4ge1xuICAgICAgICAgIHRoaXMuaXNSZWZyZXNoaW5nID0gZmFsc2U7XG4gICAgICAgICAgLy8gUHJvY2VzcyB0aGUgcmVxdWVzdCBxdWV1ZSBhZnRlciB0b2tlbiByZWZyZXNoIGNvbXBsZXRlc1xuICAgICAgICAgIHRoaXMucmVmcmVzaFRva2VuU3ViamVjdC5uZXh0KHRoaXMuc2Vzc2lvblN0b3JhZ2VTZXJ2aWNlLmFjY2Vzc1Rva2VuKTtcbiAgICAgICAgfSlcbiAgICAgICk7XG5cbiAgICB9IGVsc2Uge1xuICAgICAgLy8gUXVldWUgdGhlIGZhaWxlZCByZXF1ZXN0XG4gICAgICByZXR1cm4gdGhpcy5oYW5kbGVSZWZyZXNoVG9rZW5RdWV1ZShyZXF1ZXN0LCBuZXh0KTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgaGFuZGxlTW9iaWxlUmVmcmVzaFRva2VuKHJlcXVlc3Q6IEh0dHBSZXF1ZXN0PGFueT4sIG5leHQ6IEh0dHBIYW5kbGVyKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBpZiAoIXRoaXMuaXNSZWZyZXNoaW5nKSB7XG4gICAgICB0aGlzLmlzUmVmcmVzaGluZyA9IHRydWU7XG4gICAgICBjb25zdCByZWZyZXNoSW5mbzogUmVmcmVzaEluZm8gPSB0aGlzLnNlc3Npb25TdG9yYWdlU2VydmljZS5nZXRBdXRoO1xuICAgICAgcmV0dXJuIHRoaXMubW9iaWxlU2VydmljZVByb3h5SWRlbnRpdHkubW9iaWxlUmVmcmVzaFRva2VuKHJlZnJlc2hJbmZvPy5yZWZyZXNoVG9rZW4sIFZFUlNJT05fVjEpLnBpcGUoXG4gICAgICAgIHN3aXRjaE1hcCh0b2tlblJlc3VsdCA9PiB7XG4gICAgICAgICAgdGhpcy5zZXRBdXRoU2Vzc2lvbih0b2tlblJlc3VsdC5kYXRhKTtcblxuICAgICAgICAgIHJldHVybiBuZXh0LmhhbmRsZSh0aGlzLmFkZFRva2VuKHJlcXVlc3QsIHRva2VuUmVzdWx0LmRhdGEuYWNjZXNzVG9rZW4pKTtcbiAgICAgICAgfSksXG4gICAgICAgIGNhdGNoRXJyb3IoKGVycm9yKSA9PiB0aHJvd0Vycm9yKCgpID0+IGVycm9yKSksXG4gICAgICAgIGZpbmFsaXplKCgpID0+IHtcbiAgICAgICAgICB0aGlzLmlzUmVmcmVzaGluZyA9IGZhbHNlO1xuICAgICAgICAgIC8vIFByb2Nlc3MgdGhlIHJlcXVlc3QgcXVldWUgYWZ0ZXIgdG9rZW4gcmVmcmVzaCBjb21wbGV0ZXNcbiAgICAgICAgICB0aGlzLnJlZnJlc2hUb2tlblN1YmplY3QubmV4dCh0aGlzLnNlc3Npb25TdG9yYWdlU2VydmljZS5hY2Nlc3NUb2tlbik7XG4gICAgICAgIH0pXG4gICAgICApO1xuXG4gICAgfSBlbHNlIHtcbiAgICAgIC8vIFF1ZXVlIHRoZSBmYWlsZWQgcmVxdWVzdFxuICAgICAgcmV0dXJuIHRoaXMuaGFuZGxlUmVmcmVzaFRva2VuUXVldWUocmVxdWVzdCwgbmV4dCk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGdldFJlZnJlc2hUb2tlbigpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGNvbnN0IHJlZnJlc2hJbmZvOiBSZWZyZXNoSW5mbyA9IHRoaXMuc2Vzc2lvblN0b3JhZ2VTZXJ2aWNlLmdldEF1dGg7XG4gICAgcmV0dXJuIHRoaXMudXNlcnNTZXJ2aWNlUHJveHlJZGVudGl0eS5yZWZyZXNoVG9rZW4ocmVmcmVzaEluZm8/LnJlZnJlc2hUb2tlbikucGlwZSh0YXAoe1xuICAgICAgbmV4dDogdG9rZW5SZXN1bHQgPT4gdGhpcy5zZXRBdXRoU2Vzc2lvbih0b2tlblJlc3VsdC5kYXRhKVxuICAgIH0pKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXROZXdSZWZyZXNoSW5mbyh0b2tlblJlc3VsdDogUmVmcmVzaFRva2VuRHRvKTogUmVmcmVzaEluZm8ge1xuICAgIGNvbnN0IHJlZnJlc2hJbmZvOiBSZWZyZXNoSW5mbyA9IHRoaXMuc2Vzc2lvblN0b3JhZ2VTZXJ2aWNlLmdldEF1dGg7XG4gICAgY29uc3QgbmV3UmVmcmVzaERhdGE6IFJlZnJlc2hJbmZvID0ge1xuICAgICAgcmVmcmVzaFRva2VuOiB0b2tlblJlc3VsdC5yZWZyZXNoVG9rZW4sXG4gICAgICBleHBpcmF0aW9uOiB0b2tlblJlc3VsdC5leHBpcmF0aW9uLFxuICAgICAgcmVmcmVzaEludGVydmFsOiByZWZyZXNoSW5mby5yZWZyZXNoSW50ZXJ2YWwsXG4gICAgfTtcblxuICAgIHJldHVybiBuZXdSZWZyZXNoRGF0YTtcbiAgfVxuXG4gIHB1YmxpYyBzZXRBdXRoU2Vzc2lvbih0b2tlblJlc3VsdDogUmVmcmVzaFRva2VuRHRvKSB7XG4gICAgY29uc3QgbmV3UmVmcmVzaERhdGE6IFJlZnJlc2hJbmZvID0gdGhpcy5nZXROZXdSZWZyZXNoSW5mbyh0b2tlblJlc3VsdCk7XG4gICAgdGhpcy5zZXNzaW9uU3RvcmFnZVNlcnZpY2Uuc2V0QXV0aFNlc3Npb24odG9rZW5SZXN1bHQuYWNjZXNzVG9rZW4sIG5ld1JlZnJlc2hEYXRhKTtcbiAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKG5ldyBTZXRTdGF0ZUFjdGlvbih0b2tlblJlc3VsdC5hY2Nlc3NUb2tlbiwgbmV3UmVmcmVzaERhdGEpKTtcbiAgfVxuXG4gIHByaXZhdGUgaGFuZGxlUmVmcmVzaFRva2VuUXVldWUocmVxdWVzdDogSHR0cFJlcXVlc3Q8YW55PiwgbmV4dDogSHR0cEhhbmRsZXIpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIHJldHVybiB0aGlzLnJlZnJlc2hUb2tlblN1YmplY3QucGlwZShcbiAgICAgIGZpbHRlcigodG9rZW4pID0+ICF0aGlzLmlzUmVmcmVzaGluZyAmJiAhIXRva2VuKSxcbiAgICAgIHRha2UoMSksXG4gICAgICBzd2l0Y2hNYXAoKHRva2VuOiBzdHJpbmcpID0+IG5leHQuaGFuZGxlKHRoaXMuYWRkVG9rZW4ocmVxdWVzdCwgdG9rZW4pKSlcbiAgICApO1xuICB9XG5cbiAgcHJpdmF0ZSBhZGRUb2tlbihyZXF1ZXN0OiBIdHRwUmVxdWVzdDxhbnk+LCB0b2tlbjogc3RyaW5nKTogSHR0cFJlcXVlc3Q8YW55PiB7XG4gICAgcmV0dXJuIHJlcXVlc3QuY2xvbmUoe1xuICAgICAgc2V0SGVhZGVyczoge1xuICAgICAgICBBdXRob3JpemF0aW9uOiBgQmVhcmVyICR7dG9rZW59YFxuICAgICAgfVxuICAgIH0pO1xuICB9XG59XG4iXX0=
|
|
120
|
+
}], ctorParameters: () => [{ type: i1.Store }, { type: i2.UsersServiceProxyIdentity }, { type: i3.SessionStorageService }, { type: i1.Actions }, { type: i4.Identity.MobileServiceProxyIdentity }] });
|
|
121
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVmcmVzaC10b2tlbi5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2xpZW50LXNoYXJlZC1saWIvc3JjL2xpYnJhcmllcy9zZXJ2aWNlcy9yZWZyZXNoLXRva2VuLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQVcsa0JBQWtCLEVBQVMsTUFBTSxhQUFhLENBQUM7QUFDakUsT0FBTyxFQUFFLEtBQUssRUFBYyxPQUFPLEVBQWdCLFVBQVUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUM1RSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxRQUFRLEVBQUUsU0FBUyxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNwRixPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFFNUQsT0FBTyxFQUFFLFlBQVksRUFBRSxrQkFBa0IsRUFBRSxjQUFjLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQzs7Ozs7O0FBTW5HLE1BQU0sT0FBTyxtQkFBbUI7SUFLOUIsWUFBb0IsS0FBWSxFQUFVLHlCQUFvRCxFQUFVLHFCQUE0QyxFQUMxSSxRQUFpQixFQUFVLDBCQUErRDtRQURoRixVQUFLLEdBQUwsS0FBSyxDQUFPO1FBQVUsOEJBQXlCLEdBQXpCLHlCQUF5QixDQUEyQjtRQUFVLDBCQUFxQixHQUFyQixxQkFBcUIsQ0FBdUI7UUFDMUksYUFBUSxHQUFSLFFBQVEsQ0FBUztRQUFVLCtCQUEwQixHQUExQiwwQkFBMEIsQ0FBcUM7UUFKNUYsaUJBQVksR0FBRyxLQUFLLENBQUM7UUFDckIsd0JBQW1CLEdBQWlCLElBQUksT0FBTyxFQUFPLENBQUM7SUFNL0QsQ0FBQztJQUVNLGtCQUFrQixDQUFDLE9BQXlCLEVBQUUsSUFBaUI7UUFDcEUsSUFBSSxDQUFD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cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSHR0cEhhbmRsZXIsIEh0dHBSZXF1ZXN0IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQWN0aW9ucywgb2ZBY3Rpb25EaXNwYXRjaGVkLCBTdG9yZSB9IGZyb20gJ0BuZ3hzL3N0b3JlJztcbmltcG9ydCB7IGZpcnN0LCBPYnNlcnZhYmxlLCBTdWJqZWN0LCBTdWJzY3JpcHRpb24sIHRocm93RXJyb3IgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGNhdGNoRXJyb3IsIGZpbHRlciwgZmluYWxpemUsIHN3aXRjaE1hcCwgdGFrZSwgdGFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgVkVSU0lPTl9WMSB9IGZyb20gJy4uL2NvbnN0YW50cy92ZXJzaW9uLWNvbnN0YW50cyc7XG5pbXBvcnQgeyBSZWZyZXNoSW5mbyB9IGZyb20gJy4uL21vZHVsZXMvYXV0aC9tb2RlbC9yZWZyZXNoLWluZm8uaW50ZXJmYWNlJztcbmltcG9ydCB7IExvZ291dEFjdGlvbiwgTG9nb3V0TW9iaWxlQWN0aW9uLCBTZXRTdGF0ZUFjdGlvbiB9IGZyb20gJy4uL21vZHVsZXMvYXV0aC9zZXNzaW9uLmFjdGlvbnMnO1xuaW1wb3J0IHsgSWRlbnRpdHkgfSBmcm9tICcuLi9zZXJ2aWNlLXByb3h5JztcbmltcG9ydCB7IFJlZnJlc2hUb2tlbkR0bywgVXNlcnNTZXJ2aWNlUHJveHlJZGVudGl0eSB9IGZyb20gJy4uL3NlcnZpY2UtcHJveHkvaWRlbnRpdHktc2VydmljZS1wcm94aWVzJztcbmltcG9ydCB7IFNlc3Npb25TdG9yYWdlU2VydmljZSB9IGZyb20gJy4vc2Vzc2lvbi1zdG9yYWdlLnNlcnZpY2UnO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgUmVmcmVzaFRva2VuU2VydmljZSB7XG5cbiAgcHJpdmF0ZSBpc1JlZnJlc2hpbmcgPSBmYWxzZTtcbiAgcHJpdmF0ZSByZWZyZXNoVG9rZW5TdWJqZWN0OiBTdWJqZWN0PGFueT4gPSBuZXcgU3ViamVjdDxhbnk+KCk7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBzdG9yZTogU3RvcmUsIHByaXZhdGUgdXNlcnNTZXJ2aWNlUHJveHlJZGVudGl0eTogVXNlcnNTZXJ2aWNlUHJveHlJZGVudGl0eSwgcHJpdmF0ZSBzZXNzaW9uU3RvcmFnZVNlcnZpY2U6IFNlc3Npb25TdG9yYWdlU2VydmljZSxcbiAgICBwcml2YXRlIGFjdGlvbnMkOiBBY3Rpb25zLCBwcml2YXRlIG1vYmlsZVNlcnZpY2VQcm94eUlkZW50aXR5OiBJZGVudGl0eS5Nb2JpbGVTZXJ2aWNlUHJveHlJZGVudGl0eSxcbiAgKSB7XG5cbiAgfVxuXG4gIHB1YmxpYyBoYW5kbGVSZWZyZXNoVG9rZW4ocmVxdWVzdDogSHR0cFJlcXVlc3Q8YW55PiwgbmV4dDogSHR0cEhhbmRsZXIpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGlmICghdGhpcy5pc1JlZnJlc2hpbmcpIHtcbiAgICAgIGNvbnN0IHN1YnNjcmlwdGlvbiA9IHRoaXMubGlzdGVuVG9Mb2dvdXRBY3Rpb24oKTtcbiAgICAgIHRoaXMuaXNSZWZyZXNoaW5nID0gdHJ1ZTtcbiAgICAgIGNvbnN0IHJlZnJlc2hJbmZvOiBSZWZyZXNoSW5mbyA9IHRoaXMuc2Vzc2lvblN0b3JhZ2VTZXJ2aWNlLmdldEF1dGg7XG4gICAgICByZXR1cm4gdGhpcy51c2Vyc1NlcnZpY2VQcm94eUlkZW50aXR5LnJlZnJlc2hUb2tlbihyZWZyZXNoSW5mbz8ucmVmcmVzaFRva2VuKS5waXBlKFxuICAgICAgICBzd2l0Y2hNYXAodG9rZW5SZXN1bHQgPT4ge1xuICAgICAgICAgIHRoaXMuc2V0QXV0aFNlc3Npb24odG9rZW5SZXN1bHQuZGF0YSk7XG5cbiAgICAgICAgICByZXR1cm4gbmV4dC5oYW5kbGUodGhpcy5hZGRUb2tlbihyZXF1ZXN0LCB0b2tlblJlc3VsdC5kYXRhLmFjY2Vzc1Rva2VuKSk7XG4gICAgICAgIH0pLFxuICAgICAgICBjYXRjaEVycm9yKChlcnJvcikgPT4gdGhyb3dFcnJvcigoKSA9PiBlcnJvcikpLFxuICAgICAgICBmaW5hbGl6ZSgoKSA9PiB7XG4gICAgICAgICAgaWYgKHN1YnNjcmlwdGlvbikge1xuICAgICAgICAgICAgc3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgdGhpcy5pc1JlZnJlc2hpbmcgPSBmYWxzZTtcbiAgICAgICAgICAvLyBQcm9jZXNzIHRoZSByZXF1ZXN0IHF1ZXVlIGFmdGVyIHRva2VuIHJlZnJlc2ggY29tcGxldGVzXG4gICAgICAgICAgdGhpcy5yZWZyZXNoVG9rZW5TdWJqZWN0Lm5leHQodGhpcy5zZXNzaW9uU3RvcmFnZVNlcnZpY2UuYWNjZXNzVG9rZW4pO1xuICAgICAgICB9KVxuICAgICAgKTtcblxuICAgIH0gZWxzZSB7XG4gICAgICAvLyBRdWV1ZSB0aGUgZmFpbGVkIHJlcXVlc3RcbiAgICAgIHJldHVybiB0aGlzLmhhbmRsZVJlZnJlc2hUb2tlblF1ZXVlKHJlcXVlc3QsIG5leHQpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBoYW5kbGVNb2JpbGVSZWZyZXNoVG9rZW4ocmVxdWVzdDogSHR0cFJlcXVlc3Q8YW55PiwgbmV4dDogSHR0cEhhbmRsZXIpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGlmICghdGhpcy5pc1JlZnJlc2hpbmcpIHtcbiAgICAgIGNvbnN0IHN1YnNjcmlwdGlvbiA9IHRoaXMubGlzdGVuVG9Mb2dvdXRNb2JpbGVBY3Rpb24oKTtcbiAgICAgIHRoaXMuaXNSZWZyZXNoaW5nID0gdHJ1ZTtcbiAgICAgIGNvbnN0IHJlZnJlc2hJbmZvOiBSZWZyZXNoSW5mbyA9IHRoaXMuc2Vzc2lvblN0b3JhZ2VTZXJ2aWNlLmdldEF1dGg7XG4gICAgICByZXR1cm4gdGhpcy5tb2JpbGVTZXJ2aWNlUHJveHlJZGVudGl0eS5tb2JpbGVSZWZyZXNoVG9rZW4ocmVmcmVzaEluZm8/LnJlZnJlc2hUb2tlbiwgVkVSU0lPTl9WMSkucGlwZShcbiAgICAgICAgc3dpdGNoTWFwKHRva2VuUmVzdWx0ID0+IHtcbiAgICAgICAgICB0aGlzLnNldEF1dGhTZXNzaW9uKHRva2VuUmVzdWx0LmRhdGEpO1xuXG4gICAgICAgICAgcmV0dXJuIG5leHQuaGFuZGxlKHRoaXMuYWRkVG9rZW4ocmVxdWVzdCwgdG9rZW5SZXN1bHQuZGF0YS5hY2Nlc3NUb2tlbikpO1xuICAgICAgICB9KSxcbiAgICAgICAgY2F0Y2hFcnJvcigoZXJyb3IpID0+IHRocm93RXJyb3IoKCkgPT4gZXJyb3IpKSxcbiAgICAgICAgZmluYWxpemUoKCkgPT4ge1xuICAgICAgICAgIGlmIChzdWJzY3JpcHRpb24pIHtcbiAgICAgICAgICAgIHN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIHRoaXMuaXNSZWZyZXNoaW5nID0gZmFsc2U7XG4gICAgICAgICAgLy8gUHJvY2VzcyB0aGUgcmVxdWVzdCBxdWV1ZSBhZnRlciB0b2tlbiByZWZyZXNoIGNvbXBsZXRlc1xuICAgICAgICAgIHRoaXMucmVmcmVzaFRva2VuU3ViamVjdC5uZXh0KHRoaXMuc2Vzc2lvblN0b3JhZ2VTZXJ2aWNlLmFjY2Vzc1Rva2VuKTtcbiAgICAgICAgfSlcbiAgICAgICk7XG5cbiAgICB9IGVsc2Uge1xuICAgICAgLy8gUXVldWUgdGhlIGZhaWxlZCByZXF1ZXN0XG4gICAgICByZXR1cm4gdGhpcy5oYW5kbGVSZWZyZXNoVG9rZW5RdWV1ZShyZXF1ZXN0LCBuZXh0KTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgZ2V0UmVmcmVzaFRva2VuKCk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgY29uc3QgcmVmcmVzaEluZm86IFJlZnJlc2hJbmZvID0gdGhpcy5zZXNzaW9uU3RvcmFnZVNlcnZpY2UuZ2V0QXV0aDtcbiAgICByZXR1cm4gdGhpcy51c2Vyc1NlcnZpY2VQcm94eUlkZW50aXR5LnJlZnJlc2hUb2tlbihyZWZyZXNoSW5mbz8ucmVmcmVzaFRva2VuKS5waXBlKHRhcCh7XG4gICAgICBuZXh0OiB0b2tlblJlc3VsdCA9PiB0aGlzLnNldEF1dGhTZXNzaW9uKHRva2VuUmVzdWx0LmRhdGEpXG4gICAgfSkpO1xuICB9XG5cbiAgcHVibGljIGdldE5ld1JlZnJlc2hJbmZvKHRva2VuUmVzdWx0OiBSZWZyZXNoVG9rZW5EdG8pOiBSZWZyZXNoSW5mbyB7XG4gICAgY29uc3QgcmVmcmVzaEluZm86IFJlZnJlc2hJbmZvID0gdGhpcy5zZXNzaW9uU3RvcmFnZVNlcnZpY2UuZ2V0QXV0aDtcbiAgICBjb25zdCBuZXdSZWZyZXNoRGF0YTogUmVmcmVzaEluZm8gPSB7XG4gICAgICByZWZyZXNoVG9rZW46IHRva2VuUmVzdWx0LnJlZnJlc2hUb2tlbixcbiAgICAgIGV4cGlyYXRpb246IHRva2VuUmVzdWx0LmV4cGlyYXRpb24sXG4gICAgICByZWZyZXNoSW50ZXJ2YWw6IHJlZnJlc2hJbmZvLnJlZnJlc2hJbnRlcnZhbCxcbiAgICB9O1xuXG4gICAgcmV0dXJuIG5ld1JlZnJlc2hEYXRhO1xuICB9XG5cbiAgcHVibGljIHNldEF1dGhTZXNzaW9uKHRva2VuUmVzdWx0OiBSZWZyZXNoVG9rZW5EdG8pIHtcbiAgICBjb25zdCBuZXdSZWZyZXNoRGF0YTogUmVmcmVzaEluZm8gPSB0aGlzLmdldE5ld1JlZnJlc2hJbmZvKHRva2VuUmVzdWx0KTtcbiAgICB0aGlzLnNlc3Npb25TdG9yYWdlU2VydmljZS5zZXRBdXRoU2Vzc2lvbih0b2tlblJlc3VsdC5hY2Nlc3NUb2tlbiwgbmV3UmVmcmVzaERhdGEpO1xuICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2gobmV3IFNldFN0YXRlQWN0aW9uKHRva2VuUmVzdWx0LmFjY2Vzc1Rva2VuLCBuZXdSZWZyZXNoRGF0YSkpO1xuICB9XG5cbiAgcHJpdmF0ZSBsaXN0ZW5Ub0xvZ291dEFjdGlvbigpOiBTdWJzY3JpcHRpb24ge1xuICAgIHJldHVybiB0aGlzLmFjdGlvbnMkXG4gICAgICAucGlwZShvZkFjdGlvbkRpc3BhdGNoZWQoTG9nb3V0QWN0aW9uKSwgZmlyc3QoKSlcbiAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICB0aGlzLmNsZWFyUmVmcmVzaFRva2VuUXVldWUoKTtcbiAgICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBsaXN0ZW5Ub0xvZ291dE1vYmlsZUFjdGlvbigpOiBTdWJzY3JpcHRpb24ge1xuICAgIHJldHVybiB0aGlzLmFjdGlvbnMkXG4gICAgICAucGlwZShvZkFjdGlvbkRpc3BhdGNoZWQoTG9nb3V0TW9iaWxlQWN0aW9uKSwgZmlyc3QoKSlcbiAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICB0aGlzLmNsZWFyUmVmcmVzaFRva2VuUXVldWUoKTtcbiAgICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBjbGVhclJlZnJlc2hUb2tlblF1ZXVlKCkge1xuICAgIHRoaXMucmVmcmVzaFRva2VuU3ViamVjdC5jb21wbGV0ZSgpO1xuICAgIHRoaXMucmVmcmVzaFRva2VuU3ViamVjdCA9IG5ldyBTdWJqZWN0PGFueT4oKTtcbiAgICB0aGlzLmlzUmVmcmVzaGluZyA9IGZhbHNlO1xuICB9XG5cbiAgcHJpdmF0ZSBoYW5kbGVSZWZyZXNoVG9rZW5RdWV1ZShyZXF1ZXN0OiBIdHRwUmVxdWVzdDxhbnk+LCBuZXh0OiBIdHRwSGFuZGxlcik6IE9ic2VydmFibGU8YW55PiB7XG4gICAgcmV0dXJuIHRoaXMucmVmcmVzaFRva2VuU3ViamVjdC5waXBlKFxuICAgICAgZmlsdGVyKCh0b2tlbikgPT4gIXRoaXMuaXNSZWZyZXNoaW5nICYmICEhdG9rZW4pLFxuICAgICAgdGFrZSgxKSxcbiAgICAgIHN3aXRjaE1hcCgodG9rZW46IHN0cmluZykgPT4gbmV4dC5oYW5kbGUodGhpcy5hZGRUb2tlbihyZXF1ZXN0LCB0b2tlbikpKVxuICAgICk7XG4gIH1cblxuICBwcml2YXRlIGFkZFRva2VuKHJlcXVlc3Q6IEh0dHBSZXF1ZXN0PGFueT4sIHRva2VuOiBzdHJpbmcpOiBIdHRwUmVxdWVzdDxhbnk+IHtcbiAgICByZXR1cm4gcmVxdWVzdC5jbG9uZSh7XG4gICAgICBzZXRIZWFkZXJzOiB7XG4gICAgICAgIEF1dGhvcml6YXRpb246IGBCZWFyZXIgJHt0b2tlbn1gXG4gICAgICB9XG4gICAgfSk7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -1,25 +1,29 @@
|
|
|
1
1
|
import { Injectable } from '@angular/core';
|
|
2
2
|
import { BehaviorSubject, catchError, combineLatest } from 'rxjs';
|
|
3
3
|
import { delay, map, startWith, tap } from 'rxjs/operators';
|
|
4
|
+
import { RestartLinkComponent } from '../components';
|
|
4
5
|
import { ONE_SECOND_IN_MILLISECONDS } from '../constants/global-constants';
|
|
5
6
|
import { ClearFacilityDictionaryAction, SetSmartparkBasicAllAction } from '../modules/facility/facility.actions';
|
|
6
7
|
import { ClearSmartparksBasicAction, SetSmartParkTableAction } from '../modules/smartparks/smartpark.actions';
|
|
7
8
|
import { SmartparkState } from '../modules/smartparks/smartpark.state';
|
|
9
|
+
import { HttpStatusCode } from '../service-proxy/cloud-service-proxies';
|
|
8
10
|
import * as i0 from "@angular/core";
|
|
9
11
|
import * as i1 from "@ngxs/store";
|
|
10
12
|
import * as i2 from "../service-proxy/edge-service-proxies";
|
|
11
13
|
import * as i3 from "../utils/ngxs/action-status.service";
|
|
14
|
+
import * as i4 from "../components";
|
|
12
15
|
export class SmartparkService {
|
|
13
16
|
get loading$() {
|
|
14
17
|
return this.loading.asObservable();
|
|
15
18
|
}
|
|
16
19
|
get hasError$() {
|
|
17
|
-
return this.
|
|
20
|
+
return this.hasError.asObservable();
|
|
18
21
|
}
|
|
19
|
-
constructor(store, facilityServiceProxy, actionStatusService) {
|
|
22
|
+
constructor(store, facilityServiceProxy, actionStatusService, messageBarService) {
|
|
20
23
|
this.store = store;
|
|
21
24
|
this.facilityServiceProxy = facilityServiceProxy;
|
|
22
25
|
this.actionStatusService = actionStatusService;
|
|
26
|
+
this.messageBarService = messageBarService;
|
|
23
27
|
this.loading = new BehaviorSubject(false);
|
|
24
28
|
this.hasError = new BehaviorSubject(false);
|
|
25
29
|
}
|
|
@@ -41,6 +45,15 @@ export class SmartparkService {
|
|
|
41
45
|
}), catchError(e => {
|
|
42
46
|
this.hasError.next(true);
|
|
43
47
|
this.loading.next(false);
|
|
48
|
+
if (e.status !== HttpStatusCode.RequestTimeout) {
|
|
49
|
+
const messageInfo = {
|
|
50
|
+
duration: ONE_SECOND_IN_MILLISECONDS * 15,
|
|
51
|
+
action: {
|
|
52
|
+
component: RestartLinkComponent
|
|
53
|
+
},
|
|
54
|
+
};
|
|
55
|
+
this.messageBarService.warn("", messageInfo);
|
|
56
|
+
}
|
|
44
57
|
throw e;
|
|
45
58
|
}));
|
|
46
59
|
}
|
|
@@ -71,10 +84,10 @@ export class SmartparkService {
|
|
|
71
84
|
}
|
|
72
85
|
return loadingOverlayOptions;
|
|
73
86
|
}
|
|
74
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SmartparkService, deps: [{ token: i1.Store }, { token: i2.FacilityServiceProxy }, { token: i3.ActionStatusService }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
87
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SmartparkService, deps: [{ token: i1.Store }, { token: i2.FacilityServiceProxy }, { token: i3.ActionStatusService }, { token: i4.MessageBarService }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
75
88
|
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SmartparkService }); }
|
|
76
89
|
}
|
|
77
90
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SmartparkService, decorators: [{
|
|
78
91
|
type: Injectable
|
|
79
|
-
}], ctorParameters: () => [{ type: i1.Store }, { type: i2.FacilityServiceProxy }, { type: i3.ActionStatusService }] });
|
|
80
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic21hcnRwYXJrLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jbGllbnQtc2hhcmVkLWxpYi9zcmMvbGlicmFyaWVzL3NlcnZpY2VzL3NtYXJ0cGFyay5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFM0MsT0FBTyxFQUFFLGVBQWUsRUFBRSxVQUFVLEVBQUUsYUFBYSxFQUFjLE1BQU0sTUFBTSxDQUFDO0FBQzlFLE9BQU8sRUFBRSxLQUFLLEVBQUUsR0FBRyxFQUFFLFNBQVMsRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM1RCxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUUzRSxPQUFPLEVBQUUsNkJBQTZCLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQztBQUNqSCxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQztBQUM5RyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sdUNBQXVDLENBQUM7Ozs7O0FBTXZFLE1BQU0sT0FBTyxnQkFBZ0I7SUFFM0IsSUFBSSxRQUFRO1FBQ1YsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLFlBQVksRUFBRSxDQUFDO0lBQ3JDLENBQUM7SUFFRCxJQUFJLFNBQVM7UUFDWCxPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDckMsQ0FBQztJQUtELFlBQ1UsS0FBWSxFQUNaLG9CQUEwQyxFQUMxQyxtQkFBd0M7UUFGeEMsVUFBSyxHQUFMLEtBQUssQ0FBTztRQUNaLHlCQUFvQixHQUFwQixvQkFBb0IsQ0FBc0I7UUFDMUMsd0JBQW1CLEdBQW5CLG1CQUFtQixDQUFxQjtRQU4xQyxZQUFPLEdBQTZCLElBQUksZUFBZSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQy9ELGFBQVEsR0FBNkIsSUFBSSxlQUFlLENBQUMsS0FBSyxDQUFDLENBQUM7SUFPeEUsQ0FBQztJQUVNLG9CQUFvQixDQUFDLFNBQW9CLEVBQUUsaUJBQWlCLEdBQUcsSUFBSTtRQUN4RSxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUMxQixJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUV4QixJQUFJLGlCQUFpQixFQUFFLENBQUM7WUFDdEIsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsSUFBSSx1QkFBdUIsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO1lBQ3ZELElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLElBQUksMEJBQTBCLEVBQUUsQ0FBQyxDQUFDO1lBQ3RELElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLElBQUksNkJBQTZCLEVBQUUsQ0FBQyxDQUFDO1FBQzNELENBQUM7UUFFRCxvRUFBb0U7UUFDcEUsTUFBTSxRQUFRLEdBQW9ELElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxvQkFBb0IsQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUM1SCxPQUFPLFFBQVEsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLGNBQWMsQ0FBQyxFQUFFO1lBQ3hDLElBQUksaUJBQWlCLEVBQUUsQ0FBQztnQkFDdEIsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsSUFBSSwwQkFBMEIsQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDO1lBQ3RFLENBQUM7WUFFRCxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUMzQixDQUFDLENBQUMsRUFDQSxVQUFVLENBQUMsQ0FBQyxDQUFDLEVBQUU7WUFDYixJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUN6QixJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUN6QixNQUFNLENBQUMsQ0FBQztRQUNWLENBQUMsQ0FBQyxDQUNILENBQUM7SUFDSixDQUFDO0lBRU0sd0JBQXdCLENBQUMsT0FBa0MsRUFBRSxnQkFBd0IsSUFBSTtRQUM5RixNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDaEQsTUFBTSxTQUFTLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUUvQyxPQUFPLElBQUksQ0FBQywyQkFBMkIsQ0FBQyxRQUFRLEVBQUUsU0FBUyxFQUFFLGFBQWEsQ0FBQyxDQUFDO0lBQzlFLENBQUM7SUFFTyxnQkFBZ0IsQ0FBQyxPQUFrQztRQUN6RCxNQUFNLHFCQUFxQixHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsY0FBYyxDQUFDLGNBQWMsQ0FBQyxVQUFVLENBQUMsS0FBSyxJQUFJLENBQUM7UUFDNUYsTUFBTSxTQUFTLEdBQUcscUJBQXFCLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxpQkFBaUIsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDO1lBQzdGLENBQ0UsYUFBYSxDQUFDO2dCQUNaLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQywwQkFBMEIsQ0FBQyxDQUFDO2dCQUNyRCxJQUFJLENBQUMsbUJBQW1CLENBQUMsaUJBQWlCLENBQUMsT0FBTyxDQUFDO2FBQ3BELENBQUMsQ0FBQyxJQUFJLENBQ0wsR0FBRyxDQUFDLENBQUMsQ0FBQyxpQkFBaUIsRUFBRSxhQUFhLENBQUMsRUFBRSxFQUFFLENBQUMsaUJBQWlCLElBQUksYUFBYSxDQUFDLEVBQy9FLFNBQVMsQ0FBQyxJQUFJLENBQUMsQ0FDaEIsQ0FDRixDQUFDO1FBQ0osT0FBTyxTQUFTLENBQUM7SUFDbkIsQ0FBQztJQUVPLGNBQWMsQ0FBQyxPQUFrQztRQUN2RCxPQUFPLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxlQUFlLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDM0QsQ0FBQztJQUVPLDJCQUEyQixDQUFDLFFBQTZCLEVBQUUsU0FBOEIsRUFBRSxhQUFxQjtRQUN0SCxNQUFNLHFCQUFxQixHQUEwQjtZQUNuRCxRQUFRO1lBQ1IsU0FBUztTQUNWLENBQUM7UUFFRixJQUFJLGFBQWEsRUFBRSxDQUFDO1lBQ2xCLHFCQUFxQixDQUFDLG1CQUFtQixHQUFHLEVBQUUsYUFBYSxFQUFFLENBQUM7UUFDaEUsQ0FBQztRQUVELE9BQU8scUJBQXFCLENBQUM7SUFDL0IsQ0FBQzsrR0FwRlUsZ0JBQWdCO21IQUFoQixnQkFBZ0I7OzRGQUFoQixnQkFBZ0I7a0JBRDVCLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBY3Rpb25UeXBlLCBTdG9yZSB9IGZyb20gJ0BuZ3hzL3N0b3JlJztcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgY2F0Y2hFcnJvciwgY29tYmluZUxhdGVzdCwgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgZGVsYXksIG1hcCwgc3RhcnRXaXRoLCB0YXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBPTkVfU0VDT05EX0lOX01JTExJU0VDT05EUyB9IGZyb20gJy4uL2NvbnN0YW50cy9nbG9iYWwtY29uc3RhbnRzJztcbmltcG9ydCB7IExvYWRpbmdPdmVybGF5T3B0aW9ucyB9IGZyb20gJy4uL2ludGVyZmFjZXMvbG9hZGluZy1vdmVybGF5LW9wdGlvbnMnO1xuaW1wb3J0IHsgQ2xlYXJGYWNpbGl0eURpY3Rpb25hcnlBY3Rpb24sIFNldFNtYXJ0cGFya0Jhc2ljQWxsQWN0aW9uIH0gZnJvbSAnLi4vbW9kdWxlcy9mYWNpbGl0eS9mYWNpbGl0eS5hY3Rpb25zJztcbmltcG9ydCB7IENsZWFyU21hcnRwYXJrc0Jhc2ljQWN0aW9uLCBTZXRTbWFydFBhcmtUYWJsZUFjdGlvbiB9IGZyb20gJy4uL21vZHVsZXMvc21hcnRwYXJrcy9zbWFydHBhcmsuYWN0aW9ucyc7XG5pbXBvcnQgeyBTbWFydHBhcmtTdGF0ZSB9IGZyb20gJy4uL21vZHVsZXMvc21hcnRwYXJrcy9zbWFydHBhcmsuc3RhdGUnO1xuaW1wb3J0IHsgQXBwTW9kdWxlIH0gZnJvbSAnLi4vc2VydmljZS1wcm94eS9jbG91ZC1zZXJ2aWNlLXByb3hpZXMnO1xuaW1wb3J0IHsgRmFjaWxpdHlTZXJ2aWNlUHJveHksIFNtYXJ0UGFya1dyYXBwZXJEdG9IdHRwUmVzcG9uc2VEYXRhIH0gZnJvbSAnLi4vc2VydmljZS1wcm94eS9lZGdlLXNlcnZpY2UtcHJveGllcyc7XG5pbXBvcnQgeyBBY3Rpb25TdGF0dXNTZXJ2aWNlIH0gZnJvbSAnLi4vdXRpbHMvbmd4cy9hY3Rpb24tc3RhdHVzLnNlcnZpY2UnO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgU21hcnRwYXJrU2VydmljZSB7XG5cbiAgZ2V0IGxvYWRpbmckKCk6IE9ic2VydmFibGU8Ym9vbGVhbj4ge1xuICAgIHJldHVybiB0aGlzLmxvYWRpbmcuYXNPYnNlcnZhYmxlKCk7XG4gIH1cblxuICBnZXQgaGFzRXJyb3IkKCk6IE9ic2VydmFibGU8Ym9vbGVhbj4ge1xuICAgIHJldHVybiB0aGlzLmxvYWRpbmcuYXNPYnNlcnZhYmxlKCk7XG4gIH1cblxuICBwcml2YXRlIGxvYWRpbmc6IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPiA9IG5ldyBCZWhhdmlvclN1YmplY3QoZmFsc2UpO1xuICBwcml2YXRlIGhhc0Vycm9yOiBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4gPSBuZXcgQmVoYXZpb3JTdWJqZWN0KGZhbHNlKTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHN0b3JlOiBTdG9yZSxcbiAgICBwcml2YXRlIGZhY2lsaXR5U2VydmljZVByb3h5OiBGYWNpbGl0eVNlcnZpY2VQcm94eSxcbiAgICBwcml2YXRlIGFjdGlvblN0YXR1c1NlcnZpY2U6IEFjdGlvblN0YXR1c1NlcnZpY2VcbiAgKSB7XG4gIH1cblxuICBwdWJsaWMgZ2V0U21hcnRwYXJrQmFzaWNBbGwoYXBwTW9kdWxlOiBBcHBNb2R1bGUsIHNldFNtYXJ0cGFya0Jhc2ljID0gdHJ1ZSk6IE9ic2VydmFibGU8U21hcnRQYXJrV3JhcHBlckR0b0h0dHBSZXNwb25zZURhdGE+IHtcbiAgICB0aGlzLmhhc0Vycm9yLm5leHQoZmFsc2UpO1xuICAgIHRoaXMubG9hZGluZy5uZXh0KHRydWUpO1xuXG4gICAgaWYgKHNldFNtYXJ0cGFya0Jhc2ljKSB7XG4gICAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKG5ldyBTZXRTbWFydFBhcmtUYWJsZUFjdGlvbihudWxsKSk7XG4gICAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKG5ldyBDbGVhclNtYXJ0cGFya3NCYXNpY0FjdGlvbigpKTtcbiAgICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2gobmV3IENsZWFyRmFjaWxpdHlEaWN0aW9uYXJ5QWN0aW9uKCkpO1xuICAgIH1cblxuICAgIC8vIHRoZSBzdWJNb2R1bGUgc2VudCBpbiB0aGUgaGVhZGVyIGJ5IHRoZSBDbG91ZEF1dGhUb2tlbkludGVyY2VwdG9yXG4gICAgY29uc3QgcmVzcG9uc2U6IE9ic2VydmFibGU8U21hcnRQYXJrV3JhcHBlckR0b0h0dHBSZXNwb25zZURhdGE+ID0gdGhpcy5mYWNpbGl0eVNlcnZpY2VQcm94eS5nZXRTbWFydHBhcmtCYXNpY0FsbChhcHBNb2R1bGUpO1xuICAgIHJldHVybiByZXNwb25zZS5waXBlKHRhcChzbWFydHBhcmtCYXNpYyA9PiB7XG4gICAgICBpZiAoc2V0U21hcnRwYXJrQmFzaWMpIHtcbiAgICAgICAgdGhpcy5zdG9yZS5kaXNwYXRjaChuZXcgU2V0U21hcnRwYXJrQmFzaWNBbGxBY3Rpb24oc21hcnRwYXJrQmFzaWMpKTtcbiAgICAgIH1cblxuICAgICAgdGhpcy5sb2FkaW5nLm5leHQoZmFsc2UpO1xuICAgIH0pLFxuICAgICAgY2F0Y2hFcnJvcihlID0+IHtcbiAgICAgICAgdGhpcy5oYXNFcnJvci5uZXh0KHRydWUpO1xuICAgICAgICB0aGlzLmxvYWRpbmcubmV4dChmYWxzZSk7XG4gICAgICAgIHRocm93IGU7XG4gICAgICB9KVxuICAgICk7XG4gIH1cblxuICBwdWJsaWMgZ2V0TG9hZGluZ092ZXJsYXlPcHRpb25zKGFjdGlvbnM6IEFjdGlvblR5cGUgfCBBY3Rpb25UeXBlW10sIG5vRGF0YU1lc3NhZ2U6IHN0cmluZyA9IG51bGwpOiBMb2FkaW5nT3ZlcmxheU9wdGlvbnMge1xuICAgIGNvbnN0IGxvYWRpbmckID0gdGhpcy5nZXRMb2FkaW5nU3RyZWFtKGFjdGlvbnMpO1xuICAgIGNvbnN0IGhhc0Vycm9yJCA9IHRoaXMuZ2V0RXJyb3JTdHJlYW0oYWN0aW9ucyk7XG5cbiAgICByZXR1cm4gdGhpcy5jcmVhdGVMb2FkaW5nT3ZlcmxheU9wdGlvbnMobG9hZGluZyQsIGhhc0Vycm9yJCwgbm9EYXRhTWVzc2FnZSk7XG4gIH1cblxuICBwcml2YXRlIGdldExvYWRpbmdTdHJlYW0oYWN0aW9uczogQWN0aW9uVHlwZSB8IEFjdGlvblR5cGVbXSk6IE9ic2VydmFibGU8Ym9vbGVhbj4ge1xuICAgIGNvbnN0IGlzU21hcnRwYXJrRGF0YUxvYWRlZCA9IHRoaXMuc3RvcmUuc2VsZWN0U25hcHNob3QoU21hcnRwYXJrU3RhdGUuc21hcnRwYXJrcykgIT09IG51bGw7XG4gICAgY29uc3QgcmVzcG9uc2UkID0gaXNTbWFydHBhcmtEYXRhTG9hZGVkID8gdGhpcy5hY3Rpb25TdGF0dXNTZXJ2aWNlLmFjdGlvbnNFeGVjdXRpbmckKGFjdGlvbnMpIDpcbiAgICAgIChcbiAgICAgICAgY29tYmluZUxhdGVzdChbXG4gICAgICAgICAgdGhpcy5sb2FkaW5nJC5waXBlKGRlbGF5KE9ORV9TRUNPTkRfSU5fTUlMTElTRUNPTkRTKSksXG4gICAgICAgICAgdGhpcy5hY3Rpb25TdGF0dXNTZXJ2aWNlLmFjdGlvbnNFeGVjdXRpbmckKGFjdGlvbnMpXG4gICAgICAgIF0pLnBpcGUoXG4gICAgICAgICAgbWFwKChbc21hcnRwYXJrc0xvYWRpbmcsIGFjdGlvbkxvYWRpbmddKSA9PiBzbWFydHBhcmtzTG9hZGluZyB8fCBhY3Rpb25Mb2FkaW5nKSxcbiAgICAgICAgICBzdGFydFdpdGgodHJ1ZSlcbiAgICAgICAgKVxuICAgICAgKTtcbiAgICByZXR1cm4gcmVzcG9uc2UkO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRFcnJvclN0cmVhbShhY3Rpb25zOiBBY3Rpb25UeXBlIHwgQWN0aW9uVHlwZVtdKTogT2JzZXJ2YWJsZTxib29sZWFuPiB7XG4gICAgcmV0dXJuIHRoaXMuYWN0aW9uU3RhdHVzU2VydmljZS5hY3Rpb25zRXJyb3JlZCQoYWN0aW9ucyk7XG4gIH1cblxuICBwcml2YXRlIGNyZWF0ZUxvYWRpbmdPdmVybGF5T3B0aW9ucyhsb2FkaW5nJDogT2JzZXJ2YWJsZTxib29sZWFuPiwgaGFzRXJyb3IkOiBPYnNlcnZhYmxlPGJvb2xlYW4+LCBub0RhdGFNZXNzYWdlOiBzdHJpbmcpOiBMb2FkaW5nT3ZlcmxheU9wdGlvbnMge1xuICAgIGNvbnN0IGxvYWRpbmdPdmVybGF5T3B0aW9uczogTG9hZGluZ092ZXJsYXlPcHRpb25zID0ge1xuICAgICAgbG9hZGluZyQsXG4gICAgICBoYXNFcnJvciQsXG4gICAgfTtcblxuICAgIGlmIChub0RhdGFNZXNzYWdlKSB7XG4gICAgICBsb2FkaW5nT3ZlcmxheU9wdGlvbnMuZW1wdHlSZXN1bHRzT3B0aW9ucyA9IHsgbm9EYXRhTWVzc2FnZSB9O1xuICAgIH1cblxuICAgIHJldHVybiBsb2FkaW5nT3ZlcmxheU9wdGlvbnM7XG4gIH1cbn1cbiJdfQ==
|
|
92
|
+
}], ctorParameters: () => [{ type: i1.Store }, { type: i2.FacilityServiceProxy }, { type: i3.ActionStatusService }, { type: i4.MessageBarService }] });
|
|
93
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic21hcnRwYXJrLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jbGllbnQtc2hhcmVkLWxpYi9zcmMvbGlicmFyaWVzL3NlcnZpY2VzL3NtYXJ0cGFyay5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFM0MsT0FBTyxFQUFFLGVBQWUsRUFBRSxVQUFVLEVBQUUsYUFBYSxFQUFjLE1BQU0sTUFBTSxDQUFDO0FBQzlFLE9BQU8sRUFBRSxLQUFLLEVBQUUsR0FBRyxFQUFFLFNBQVMsRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM1RCxPQUFPLEVBQWtDLG9CQUFvQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3JGLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBRTNFLE9BQU8sRUFBRSw2QkFBNkIsRUFBRSwwQkFBMEIsRUFBRSxNQUFNLHNDQUFzQyxDQUFDO0FBQ2pILE9BQU8sRUFBRSwwQkFBMEIsRUFBRSx1QkFBdUIsRUFBRSxNQUFNLHlDQUF5QyxDQUFDO0FBQzlHLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUN2RSxPQUFPLEVBQWEsY0FBYyxFQUFFLE1BQU0sd0NBQXdDLENBQUM7Ozs7OztBQUtuRixNQUFNLE9BQU8sZ0JBQWdCO0lBRTNCLElBQUksUUFBUTtRQUNWLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUNyQyxDQUFDO0lBRUQsSUFBSSxTQUFTO1FBQ1gsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDLFlBQVksRUFBRSxDQUFDO0lBQ3RDLENBQUM7SUFLRCxZQUNVLEtBQVksRUFDWixvQkFBMEMsRUFDMUMsbUJBQXdDLEVBQ3hDLGlCQUFvQztRQUhwQyxVQUFLLEdBQUwsS0FBSyxDQUFPO1FBQ1os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QUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQywwQkFBMEIsQ0FBQyxDQUFDO2dCQUNyRCxJQUFJLENBQUMsbUJBQW1CLENBQUMsaUJBQWlCLENBQUMsT0FBTyxDQUFDO2FBQ3BELENBQUMsQ0FBQyxJQUFJLENBQ0wsR0FBRyxDQUFDLENBQUMsQ0FBQyxpQkFBaUIsRUFBRSxhQUFhLENBQUMsRUFBRSxFQUFFLENBQUMsaUJBQWlCLElBQUksYUFBYSxDQUFDLEVBQy9FLFNBQVMsQ0FBQyxJQUFJLENBQUMsQ0FDaEIsQ0FDRixDQUFDO1FBQ0osT0FBTyxTQUFTLENBQUM7SUFDbkIsQ0FBQztJQUVPLGNBQWMsQ0FBQyxPQUFrQztRQUN2RCxPQUFPLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxlQUFlLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDM0QsQ0FBQztJQUVPLDJCQUEyQixDQUFDLFFBQTZCLEVBQUUsU0FBOEIsRUFBRSxhQUFxQjtRQUN0SCxNQUFNLHFCQUFxQixHQUEwQjtZQUNuRCxRQUFRO1lBQ1IsU0FBUztTQUNWLENBQUM7UUFFRixJQUFJLGFBQWEsRUFBRSxDQUFDO1lBQ2xCLHFCQUFxQixDQUFDLG1CQUFtQixHQUFHLEVBQUUsYUFBYSxFQUFFLENBQUM7UUFDaEUsQ0FBQztRQUVELE9BQU8scUJBQXFCLENBQUM7SUFDL0IsQ0FBQzsrR0FoR1UsZ0JBQWdCO21IQUFoQixnQkFBZ0I7OzRGQUFoQixnQkFBZ0I7a0JBRDVCLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBY3Rpb25UeXBlLCBTdG9yZSB9IGZyb20gJ0BuZ3hzL3N0b3JlJztcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgY2F0Y2hFcnJvciwgY29tYmluZUxhdGVzdCwgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgZGVsYXksIG1hcCwgc3RhcnRXaXRoLCB0YXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBNZXNzYWdlQmFyU2VydmljZSwgTWVzc2FnZUluZm8sIFJlc3RhcnRMaW5rQ29tcG9uZW50IH0gZnJvbSAnLi4vY29tcG9uZW50cyc7XG5pbXBvcnQgeyBPTkVfU0VDT05EX0lOX01JTExJU0VDT05EUyB9IGZyb20gJy4uL2NvbnN0YW50cy9nbG9iYWwtY29uc3RhbnRzJztcbmltcG9ydCB7IExvYWRpbmdPdmVybGF5T3B0aW9ucyB9IGZyb20gJy4uL2ludGVyZmFjZXMvbG9hZGluZy1vdmVybGF5LW9wdGlvbnMnO1xuaW1wb3J0IHsgQ2xlYXJGYWNpbGl0eURpY3Rpb25hcnlBY3Rpb24sIFNldFNtYXJ0cGFya0Jhc2ljQWxsQWN0aW9uIH0gZnJvbSAnLi4vbW9kdWxlcy9mYWNpbGl0eS9mYWNpbGl0eS5hY3Rpb25zJztcbmltcG9ydCB7IENsZWFyU21hcnRwYXJrc0Jhc2ljQWN0aW9uLCBTZXRTbWFydFBhcmtUYWJsZUFjdGlvbiB9IGZyb20gJy4uL21vZHVsZXMvc21hcnRwYXJrcy9zbWFydHBhcmsuYWN0aW9ucyc7XG5pbXBvcnQgeyBTbWFydHBhcmtTdGF0ZSB9IGZyb20gJy4uL21vZHVsZXMvc21hcnRwYXJrcy9zbWFydHBhcmsuc3RhdGUnO1xuaW1wb3J0IHsgQXBwTW9kdWxlLCBIdHRwU3RhdHVzQ29kZSB9IGZyb20gJy4uL3NlcnZpY2UtcHJveHkvY2xvdWQtc2VydmljZS1wcm94aWVzJztcbmltcG9ydCB7IEZhY2lsaXR5U2VydmljZVByb3h5LCBTbWFydFBhcmtXcmFwcGVyRHRvSHR0cFJlc3BvbnNlRGF0YSB9IGZyb20gJy4uL3NlcnZpY2UtcHJveHkvZWRnZS1zZXJ2aWNlLXByb3hpZXMnO1xuaW1wb3J0IHsgQWN0aW9uU3RhdHVzU2VydmljZSB9IGZyb20gJy4uL3V0aWxzL25neHMvYWN0aW9uLXN0YXR1cy5zZXJ2aWNlJztcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIFNtYXJ0cGFya1NlcnZpY2Uge1xuXG4gIGdldCBsb2FkaW5nJCgpOiBPYnNlcnZhYmxlPGJvb2xlYW4+IHtcbiAgICByZXR1cm4gdGhpcy5sb2FkaW5nLmFzT2JzZXJ2YWJsZSgpO1xuICB9XG5cbiAgZ2V0IGhhc0Vycm9yJCgpOiBPYnNlcnZhYmxlPGJvb2xlYW4+IHtcbiAgICByZXR1cm4gdGhpcy5oYXNFcnJvci5hc09ic2VydmFibGUoKTtcbiAgfVxuXG4gIHByaXZhdGUgbG9hZGluZzogQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+ID0gbmV3IEJlaGF2aW9yU3ViamVjdChmYWxzZSk7XG4gIHByaXZhdGUgaGFzRXJyb3I6IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPiA9IG5ldyBCZWhhdmlvclN1YmplY3QoZmFsc2UpO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgc3RvcmU6IFN0b3JlLFxuICAgIHByaXZhdGUgZmFjaWxpdHlTZXJ2aWNlUHJveHk6IEZhY2lsaXR5U2VydmljZVByb3h5LFxuICAgIHByaXZhdGUgYWN0aW9uU3RhdHVzU2VydmljZTogQWN0aW9uU3RhdHVzU2VydmljZSxcbiAgICBwcml2YXRlIG1lc3NhZ2VCYXJTZXJ2aWNlOiBNZXNzYWdlQmFyU2VydmljZSxcbiAgKSB7XG4gIH1cblxuICBwdWJsaWMgZ2V0U21hcnRwYXJrQmFzaWNBbGwoYXBwTW9kdWxlOiBBcHBNb2R1bGUsIHNldFNtYXJ0cGFya0Jhc2ljID0gdHJ1ZSk6IE9ic2VydmFibGU8U21hcnRQYXJrV3JhcHBlckR0b0h0dHBSZXNwb25zZURhdGE+IHtcbiAgICB0aGlzLmhhc0Vycm9yLm5leHQoZmFsc2UpO1xuICAgIHRoaXMubG9hZGluZy5uZXh0KHRydWUpO1xuXG4gICAgaWYgKHNldFNtYXJ0cGFya0Jhc2ljKSB7XG4gICAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKG5ldyBTZXRTbWFydFBhcmtUYWJsZUFjdGlvbihudWxsKSk7XG4gICAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKG5ldyBDbGVhclNtYXJ0cGFya3NCYXNpY0FjdGlvbigpKTtcbiAgICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2gobmV3IENsZWFyRmFjaWxpdHlEaWN0aW9uYXJ5QWN0aW9uKCkpO1xuICAgIH1cblxuICAgIC8vIHRoZSBzdWJNb2R1bGUgc2VudCBpbiB0aGUgaGVhZGVyIGJ5IHRoZSBDbG91ZEF1dGhUb2tlbkludGVyY2VwdG9yXG4gICAgY29uc3QgcmVzcG9uc2U6IE9ic2VydmFibGU8U21hcnRQYXJrV3JhcHBlckR0b0h0dHBSZXNwb25zZURhdGE+ID0gdGhpcy5mYWNpbGl0eVNlcnZpY2VQcm94eS5nZXRTbWFydHBhcmtCYXNpY0FsbChhcHBNb2R1bGUpO1xuICAgIHJldHVybiByZXNwb25zZS5waXBlKFxuICAgICAgdGFwKHNtYXJ0cGFya0Jhc2ljID0+IHtcbiAgICAgICAgaWYgKHNldFNtYXJ0cGFya0Jhc2ljKSB7XG4gICAgICAgICAgdGhpcy5zdG9yZS5kaXNwYXRjaChuZXcgU2V0U21hcnRwYXJrQmFzaWNBbGxBY3Rpb24oc21hcnRwYXJrQmFzaWMpKTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLmxvYWRpbmcubmV4dChmYWxzZSk7XG4gICAgICB9KSxcbiAgICAgIGNhdGNoRXJyb3IoZSA9PiB7XG4gICAgICAgIHRoaXMuaGFzRXJyb3IubmV4dCh0cnVlKTtcbiAgICAgICAgdGhpcy5sb2FkaW5nLm5leHQoZmFsc2UpO1xuXG4gICAgICAgIGlmIChlLnN0YXR1cyAhPT0gSHR0cFN0YXR1c0NvZGUuUmVxdWVzdFRpbWVvdXQpIHtcbiAgICAgICAgICBjb25zdCBtZXNzYWdlSW5mbzogTWVzc2FnZUluZm8gPSB7XG4gICAgICAgICAgICBkdXJhdGlvbjogT05FX1NFQ09ORF9JTl9NSUxMSVNFQ09ORFMgKiAxNSxcbiAgICAgICAgICAgIGFjdGlvbjoge1xuICAgICAgICAgICAgICBjb21wb25lbnQ6IFJlc3RhcnRMaW5rQ29tcG9uZW50XG4gICAgICAgICAgICB9LFxuICAgICAgICAgIH07XG4gICAgICAgICAgdGhpcy5tZXNzYWdlQmFyU2VydmljZS53YXJuKFwiXCIsIG1lc3NhZ2VJbmZvKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRocm93IGU7XG4gICAgICB9KVxuICAgICk7XG4gIH1cblxuICBwdWJsaWMgZ2V0TG9hZGluZ092ZXJsYXlPcHRpb25zKGFjdGlvbnM6IEFjdGlvblR5cGUgfCBBY3Rpb25UeXBlW10sIG5vRGF0YU1lc3NhZ2U6IHN0cmluZyA9IG51bGwpOiBMb2FkaW5nT3ZlcmxheU9wdGlvbnMge1xuICAgIGNvbnN0IGxvYWRpbmckID0gdGhpcy5nZXRMb2FkaW5nU3RyZWFtKGFjdGlvbnMpO1xuICAgIGNvbnN0IGhhc0Vycm9yJCA9IHRoaXMuZ2V0RXJyb3JTdHJlYW0oYWN0aW9ucyk7XG5cbiAgICByZXR1cm4gdGhpcy5jcmVhdGVMb2FkaW5nT3ZlcmxheU9wdGlvbnMobG9hZGluZyQsIGhhc0Vycm9yJCwgbm9EYXRhTWVzc2FnZSk7XG4gIH1cblxuICBwcml2YXRlIGdldExvYWRpbmdTdHJlYW0oYWN0aW9uczogQWN0aW9uVHlwZSB8IEFjdGlvblR5cGVbXSk6IE9ic2VydmFibGU8Ym9vbGVhbj4ge1xuICAgIGNvbnN0IGlzU21hcnRwYXJrRGF0YUxvYWRlZCA9IHRoaXMuc3RvcmUuc2VsZWN0U25hcHNob3QoU21hcnRwYXJrU3RhdGUuc21hcnRwYXJrcykgIT09IG51bGw7XG4gICAgY29uc3QgcmVzcG9uc2UkID0gaXNTbWFydHBhcmtEYXRhTG9hZGVkID8gdGhpcy5hY3Rpb25TdGF0dXNTZXJ2aWNlLmFjdGlvbnNFeGVjdXRpbmckKGFjdGlvbnMpIDpcbiAgICAgIChcbiAgICAgICAgY29tYmluZUxhdGVzdChbXG4gICAgICAgICAgdGhpcy5sb2FkaW5nJC5waXBlKGRlbGF5KE9ORV9TRUNPTkRfSU5fTUlMTElTRUNPTkRTKSksXG4gICAgICAgICAgdGhpcy5hY3Rpb25TdGF0dXNTZXJ2aWNlLmFjdGlvbnNFeGVjdXRpbmckKGFjdGlvbnMpXG4gICAgICAgIF0pLnBpcGUoXG4gICAgICAgICAgbWFwKChbc21hcnRwYXJrc0xvYWRpbmcsIGFjdGlvbkxvYWRpbmddKSA9PiBzbWFydHBhcmtzTG9hZGluZyB8fCBhY3Rpb25Mb2FkaW5nKSxcbiAgICAgICAgICBzdGFydFdpdGgodHJ1ZSlcbiAgICAgICAgKVxuICAgICAgKTtcbiAgICByZXR1cm4gcmVzcG9uc2UkO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRFcnJvclN0cmVhbShhY3Rpb25zOiBBY3Rpb25UeXBlIHwgQWN0aW9uVHlwZVtdKTogT2JzZXJ2YWJsZTxib29sZWFuPiB7XG4gICAgcmV0dXJuIHRoaXMuYWN0aW9uU3RhdHVzU2VydmljZS5hY3Rpb25zRXJyb3JlZCQoYWN0aW9ucyk7XG4gIH1cblxuICBwcml2YXRlIGNyZWF0ZUxvYWRpbmdPdmVybGF5T3B0aW9ucyhsb2FkaW5nJDogT2JzZXJ2YWJsZTxib29sZWFuPiwgaGFzRXJyb3IkOiBPYnNlcnZhYmxlPGJvb2xlYW4+LCBub0RhdGFNZXNzYWdlOiBzdHJpbmcpOiBMb2FkaW5nT3ZlcmxheU9wdGlvbnMge1xuICAgIGNvbnN0IGxvYWRpbmdPdmVybGF5T3B0aW9uczogTG9hZGluZ092ZXJsYXlPcHRpb25zID0ge1xuICAgICAgbG9hZGluZyQsXG4gICAgICBoYXNFcnJvciQsXG4gICAgfTtcblxuICAgIGlmIChub0RhdGFNZXNzYWdlKSB7XG4gICAgICBsb2FkaW5nT3ZlcmxheU9wdGlvbnMuZW1wdHlSZXN1bHRzT3B0aW9ucyA9IHsgbm9EYXRhTWVzc2FnZSB9O1xuICAgIH1cblxuICAgIHJldHVybiBsb2FkaW5nT3ZlcmxheU9wdGlvbnM7XG4gIH1cbn1cbiJdfQ==
|