http-request-manager 15.0.24 → 15.0.26
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/ng-package.json +8 -0
- package/package.json +1 -14
- package/src/lib/http-request-manager.module.ts +101 -0
- package/src/lib/http-request-services-demo/database-data-demo/database-data-demo.component.html +3 -0
- package/src/lib/http-request-services-demo/database-data-demo/database-data-demo.component.scss +0 -0
- package/src/lib/http-request-services-demo/database-data-demo/database-data-demo.component.ts +105 -0
- package/src/lib/http-request-services-demo/http-request-services-demo.component.html +64 -0
- package/src/lib/http-request-services-demo/http-request-services-demo.component.scss +6 -0
- package/src/lib/http-request-services-demo/http-request-services-demo.component.ts +34 -0
- package/src/lib/http-request-services-demo/local-storage-demo/local-storage-demo.component.html +195 -0
- package/src/lib/http-request-services-demo/local-storage-demo/local-storage-demo.component.scss +17 -0
- package/src/lib/http-request-services-demo/local-storage-demo/local-storage-demo.component.ts +205 -0
- package/src/lib/http-request-services-demo/request-manager-demo/file-downloader/download-file/download-file.component.html +59 -0
- package/src/lib/http-request-services-demo/request-manager-demo/file-downloader/download-file/download-file.component.scss +60 -0
- package/src/lib/http-request-services-demo/request-manager-demo/file-downloader/download-file/download-file.component.ts +71 -0
- package/src/lib/http-request-services-demo/request-manager-demo/file-downloader/file-download.module.ts +28 -0
- package/src/lib/http-request-services-demo/request-manager-demo/file-downloader/file-downloader.component.html +10 -0
- package/src/lib/http-request-services-demo/request-manager-demo/file-downloader/file-downloader.component.scss +29 -0
- package/src/lib/http-request-services-demo/request-manager-demo/file-downloader/file-downloader.component.ts +99 -0
- package/src/lib/http-request-services-demo/request-manager-demo/file-downloader/models/download-labels-model.ts +22 -0
- package/src/lib/http-request-services-demo/request-manager-demo/file-downloader/spinner/spinner.component.html +8 -0
- package/src/lib/http-request-services-demo/request-manager-demo/file-downloader/spinner/spinner.component.scss +19 -0
- package/src/lib/http-request-services-demo/request-manager-demo/file-downloader/spinner/spinner.component.ts +25 -0
- package/src/lib/http-request-services-demo/request-manager-demo/models/app-session.model.ts +30 -0
- package/src/lib/http-request-services-demo/request-manager-demo/models/app.model.ts +19 -0
- package/src/lib/http-request-services-demo/request-manager-demo/models/get-sample.model.ts +25 -0
- package/src/lib/http-request-services-demo/request-manager-demo/models/sample-ai-prompt.ts +19 -0
- package/src/lib/http-request-services-demo/request-manager-demo/models/sample-client-details.ts +24 -0
- package/src/lib/http-request-services-demo/request-manager-demo/models/sample-client-info.ts +30 -0
- package/src/lib/http-request-services-demo/request-manager-demo/models/sample-client.model.ts +49 -0
- package/src/lib/http-request-services-demo/request-manager-demo/models/sample-mapper-client-info.ts +33 -0
- package/src/lib/http-request-services-demo/request-manager-demo/request-manager-demo.component.html +336 -0
- package/src/lib/http-request-services-demo/request-manager-demo/request-manager-demo.component.scss +24 -0
- package/src/lib/http-request-services-demo/request-manager-demo/request-manager-demo.component.ts +403 -0
- package/src/lib/http-request-services-demo/request-manager-state-demo/request-manager-state-demo.component.html +328 -0
- package/src/lib/http-request-services-demo/request-manager-state-demo/request-manager-state-demo.component.scss +24 -0
- package/src/lib/http-request-services-demo/request-manager-state-demo/request-manager-state-demo.component.ts +347 -0
- package/src/lib/http-request-services-demo/request-manager-state-demo/services/state-manager-demo.service.ts +88 -0
- package/src/lib/index.ts +3 -0
- package/src/lib/interceptors/credentials.interceptor.ts +18 -0
- package/{lib/interceptors/index.d.ts → src/lib/interceptors/index.ts} +2 -0
- package/src/lib/interceptors/models/error-settings.model.ts +22 -0
- package/src/lib/interceptors/proxy-debugger.interceptor.ts +46 -0
- package/src/lib/interceptors/request-error.interceptor.ts +65 -0
- package/src/lib/interceptors/request-header.interceptor.ts +58 -0
- package/src/lib/models/config-http-options.model.ts +42 -0
- package/src/lib/models/config-local-storage-options.model.ts +27 -0
- package/src/lib/models/config-options.model.ts +27 -0
- package/{lib/models/config-token.model.d.ts → src/lib/models/config-token.model.ts} +2 -1
- package/src/lib/models/data-type.enum.ts +5 -0
- package/src/lib/models/database-storage.model.ts +24 -0
- package/src/lib/models/index.ts +9 -0
- package/src/lib/models/retry-options.model.ts +22 -0
- package/src/lib/services/database-manager-services/database.manager.service.ts +193 -0
- package/src/lib/services/database-manager-services/db.storage.service.ts +191 -0
- package/{lib/services/database-manager-services/index.d.ts → src/lib/services/database-manager-services/index.ts} +1 -0
- package/src/lib/services/database-manager-services/models/table-schema.ts +35 -0
- package/{lib/services/index.d.ts → src/lib/services/index.ts} +4 -0
- package/src/lib/services/local-storage-manager-service/index.ts +2 -0
- package/src/lib/services/local-storage-manager-service/local-storage-manager.service.spec.ts +71 -0
- package/src/lib/services/local-storage-manager-service/local-storage-manager.service.ts +421 -0
- package/src/lib/services/local-storage-manager-service/models/global-store-options.model.ts +30 -0
- package/{lib/services/local-storage-manager-service/models/index.d.ts → src/lib/services/local-storage-manager-service/models/index.ts} +2 -1
- package/src/lib/services/local-storage-manager-service/models/setting-options.model.ts +30 -0
- package/src/lib/services/local-storage-manager-service/models/storage-data.model.ts +24 -0
- package/src/lib/services/local-storage-manager-service/models/storage-option.model.ts +29 -0
- package/src/lib/services/local-storage-manager-service/models/storage-type.enum.ts +5 -0
- package/src/lib/services/request-manager-services/README.md +268 -0
- package/src/lib/services/request-manager-services/http-manager.service.spec.ts +230 -0
- package/src/lib/services/request-manager-services/http-manager.service.ts +274 -0
- package/{lib/services/request-manager-services/index.d.ts → src/lib/services/request-manager-services/index.ts} +2 -0
- package/src/lib/services/request-manager-services/request.service.ts +261 -0
- package/src/lib/services/request-manager-services/rxjs-operators/countdown.ts +17 -0
- package/src/lib/services/request-manager-services/rxjs-operators/delay-retry.ts +16 -0
- package/src/lib/services/request-manager-services/rxjs-operators/request-polling.ts +21 -0
- package/src/lib/services/request-manager-services/rxjs-operators/request-streaming.ts +32 -0
- package/src/lib/services/request-manager-state-service/http-manager-state.store.ts +402 -0
- package/{lib/services/request-manager-state-service/index.d.ts → src/lib/services/request-manager-state-service/index.ts} +1 -0
- package/src/lib/services/request-manager-state-service/models/api-request.model.ts +50 -0
- package/{lib/services/request-manager-state-service/models/index.d.ts → src/lib/services/request-manager-state-service/models/index.ts} +1 -0
- package/src/lib/services/request-manager-state-service/models/request-options.model.ts +22 -0
- package/src/lib/services/utils/app.service.spec.ts +25 -0
- package/src/lib/services/utils/app.service.ts +21 -0
- package/src/lib/services/utils/encryption/README.md +79 -0
- package/src/lib/services/utils/encryption/asymmetrical-encryption.service.ts +282 -0
- package/src/lib/services/utils/encryption/encryption-test.service.ts +39 -0
- package/{lib/services/utils/encryption/index.d.ts → src/lib/services/utils/encryption/index.ts} +2 -0
- package/src/lib/services/utils/encryption/random.ts +69 -0
- package/src/lib/services/utils/encryption/symmetrical-encryption.service.ts +93 -0
- package/src/lib/services/utils/headers.service.spec.ts +80 -0
- package/src/lib/services/utils/headers.service.ts +18 -0
- package/{lib/services/utils/index.d.ts → src/lib/services/utils/index.ts} +2 -0
- package/src/lib/services/utils/object-merger.service.spec.ts +16 -0
- package/src/lib/services/utils/object-merger.service.ts +60 -0
- package/src/lib/services/utils/path-query.service.spec.ts +117 -0
- package/src/lib/services/utils/path-query.service.ts +69 -0
- package/src/lib/services/utils/utils.service.spec.ts +164 -0
- package/src/lib/services/utils/utils.service.ts +192 -0
- package/{public-api.d.ts → src/public-api.ts} +7 -0
- package/tsconfig.lib.json +32 -0
- package/tsconfig.lib.prod.json +10 -0
- package/tsconfig.spec.json +14 -0
- package/esm2022/http-request-manager.mjs +0 -5
- package/esm2022/lib/http-request-manager.module.mjs +0 -146
- package/esm2022/lib/http-request-services-demo/database-data-demo/database-data-demo.component.mjs +0 -71
- package/esm2022/lib/http-request-services-demo/http-request-services-demo.component.mjs +0 -41
- package/esm2022/lib/http-request-services-demo/local-storage-demo/local-storage-demo.component.mjs +0 -173
- package/esm2022/lib/http-request-services-demo/request-manager-demo/file-downloader/download-file/download-file.component.mjs +0 -80
- package/esm2022/lib/http-request-services-demo/request-manager-demo/file-downloader/file-download.module.mjs +0 -42
- package/esm2022/lib/http-request-services-demo/request-manager-demo/file-downloader/file-downloader.component.mjs +0 -88
- package/esm2022/lib/http-request-services-demo/request-manager-demo/file-downloader/models/download-labels-model.mjs +0 -11
- package/esm2022/lib/http-request-services-demo/request-manager-demo/file-downloader/spinner/spinner.component.mjs +0 -29
- package/esm2022/lib/http-request-services-demo/request-manager-demo/models/sample-ai-prompt.mjs +0 -9
- package/esm2022/lib/http-request-services-demo/request-manager-demo/models/sample-client-info.mjs +0 -12
- package/esm2022/lib/http-request-services-demo/request-manager-demo/models/sample-mapper-client-info.mjs +0 -14
- package/esm2022/lib/http-request-services-demo/request-manager-demo/request-manager-demo.component.mjs +0 -315
- package/esm2022/lib/http-request-services-demo/request-manager-state-demo/request-manager-state-demo.component.mjs +0 -270
- package/esm2022/lib/http-request-services-demo/request-manager-state-demo/services/state-manager-demo.service.mjs +0 -67
- package/esm2022/lib/index.mjs +0 -4
- package/esm2022/lib/interceptors/credentials.interceptor.mjs +0 -14
- package/esm2022/lib/interceptors/index.mjs +0 -5
- package/esm2022/lib/interceptors/models/error-settings.model.mjs +0 -10
- package/esm2022/lib/interceptors/proxy-debugger.interceptor.mjs +0 -47
- package/esm2022/lib/interceptors/request-error.interceptor.mjs +0 -49
- package/esm2022/lib/interceptors/request-header.interceptor.mjs +0 -41
- package/esm2022/lib/models/config-http-options.model.mjs +0 -18
- package/esm2022/lib/models/config-local-storage-options.model.mjs +0 -12
- package/esm2022/lib/models/config-options.model.mjs +0 -12
- package/esm2022/lib/models/config-token.model.mjs +0 -8
- package/esm2022/lib/models/data-type.enum.mjs +0 -7
- package/esm2022/lib/models/database-storage.model.mjs +0 -10
- package/esm2022/lib/models/index.mjs +0 -7
- package/esm2022/lib/models/retry-options.model.mjs +0 -10
- package/esm2022/lib/services/database-manager-services/database.manager.service.mjs +0 -119
- package/esm2022/lib/services/database-manager-services/db.storage.service.mjs +0 -143
- package/esm2022/lib/services/database-manager-services/index.mjs +0 -4
- package/esm2022/lib/services/database-manager-services/models/table-schema.mjs +0 -20
- package/esm2022/lib/services/index.mjs +0 -6
- package/esm2022/lib/services/local-storage-manager-service/index.mjs +0 -3
- package/esm2022/lib/services/local-storage-manager-service/local-storage-manager.service.mjs +0 -302
- package/esm2022/lib/services/local-storage-manager-service/models/global-store-options.model.mjs +0 -13
- package/esm2022/lib/services/local-storage-manager-service/models/index.mjs +0 -6
- package/esm2022/lib/services/local-storage-manager-service/models/setting-options.model.mjs +0 -13
- package/esm2022/lib/services/local-storage-manager-service/models/storage-data.model.mjs +0 -10
- package/esm2022/lib/services/local-storage-manager-service/models/storage-option.model.mjs +0 -12
- package/esm2022/lib/services/local-storage-manager-service/models/storage-type.enum.mjs +0 -7
- package/esm2022/lib/services/request-manager-services/http-manager.service.mjs +0 -207
- package/esm2022/lib/services/request-manager-services/index.mjs +0 -5
- package/esm2022/lib/services/request-manager-services/request.service.mjs +0 -189
- package/esm2022/lib/services/request-manager-services/rxjs-operators/countdown.mjs +0 -9
- package/esm2022/lib/services/request-manager-services/rxjs-operators/delay-retry.mjs +0 -10
- package/esm2022/lib/services/request-manager-services/rxjs-operators/index.mjs +0 -5
- package/esm2022/lib/services/request-manager-services/rxjs-operators/request-polling.mjs +0 -14
- package/esm2022/lib/services/request-manager-services/rxjs-operators/request-streaming.mjs +0 -19
- package/esm2022/lib/services/request-manager-state-service/http-manager-state.store.mjs +0 -267
- package/esm2022/lib/services/request-manager-state-service/index.mjs +0 -3
- package/esm2022/lib/services/request-manager-state-service/models/api-request.model.mjs +0 -20
- package/esm2022/lib/services/request-manager-state-service/models/index.mjs +0 -3
- package/esm2022/lib/services/request-manager-state-service/models/request-options.model.mjs +0 -10
- package/esm2022/lib/services/utils/app.service.mjs +0 -26
- package/esm2022/lib/services/utils/encryption/asymmetrical-encryption.service.mjs +0 -186
- package/esm2022/lib/services/utils/encryption/encryption-test.service.mjs +0 -35
- package/esm2022/lib/services/utils/encryption/index.mjs +0 -4
- package/esm2022/lib/services/utils/encryption/random.mjs +0 -52
- package/esm2022/lib/services/utils/encryption/symmetrical-encryption.service.mjs +0 -77
- package/esm2022/lib/services/utils/headers.service.mjs +0 -21
- package/esm2022/lib/services/utils/index.mjs +0 -6
- package/esm2022/lib/services/utils/object-merger.service.mjs +0 -50
- package/esm2022/lib/services/utils/path-query.service.mjs +0 -54
- package/esm2022/lib/services/utils/utils.service.mjs +0 -155
- package/esm2022/public-api.mjs +0 -11
- package/fesm2022/http-request-manager.mjs +0 -3444
- package/fesm2022/http-request-manager.mjs.map +0 -1
- package/http-request-manager-15.0.24.tgz +0 -0
- package/index.d.ts +0 -5
- package/lib/http-request-manager.module.d.ts +0 -33
- package/lib/http-request-services-demo/database-data-demo/database-data-demo.component.d.ts +0 -19
- package/lib/http-request-services-demo/http-request-services-demo.component.d.ts +0 -24
- package/lib/http-request-services-demo/local-storage-demo/local-storage-demo.component.d.ts +0 -56
- package/lib/http-request-services-demo/request-manager-demo/file-downloader/download-file/download-file.component.d.ts +0 -26
- package/lib/http-request-services-demo/request-manager-demo/file-downloader/file-download.module.d.ts +0 -13
- package/lib/http-request-services-demo/request-manager-demo/file-downloader/file-downloader.component.d.ts +0 -27
- package/lib/http-request-services-demo/request-manager-demo/file-downloader/models/download-labels-model.d.ts +0 -12
- package/lib/http-request-services-demo/request-manager-demo/file-downloader/spinner/spinner.component.d.ts +0 -16
- package/lib/http-request-services-demo/request-manager-demo/models/sample-ai-prompt.d.ts +0 -8
- package/lib/http-request-services-demo/request-manager-demo/models/sample-client-info.d.ts +0 -14
- package/lib/http-request-services-demo/request-manager-demo/models/sample-mapper-client-info.d.ts +0 -14
- package/lib/http-request-services-demo/request-manager-demo/request-manager-demo.component.d.ts +0 -107
- package/lib/http-request-services-demo/request-manager-state-demo/request-manager-state-demo.component.d.ts +0 -122
- package/lib/http-request-services-demo/request-manager-state-demo/services/state-manager-demo.service.d.ts +0 -15
- package/lib/index.d.ts +0 -3
- package/lib/interceptors/credentials.interceptor.d.ts +0 -8
- package/lib/interceptors/models/error-settings.model.d.ts +0 -10
- package/lib/interceptors/proxy-debugger.interceptor.d.ts +0 -12
- package/lib/interceptors/request-error.interceptor.d.ts +0 -10
- package/lib/interceptors/request-header.interceptor.d.ts +0 -15
- package/lib/models/config-http-options.model.d.ts +0 -21
- package/lib/models/config-local-storage-options.model.d.ts +0 -13
- package/lib/models/config-options.model.d.ts +0 -12
- package/lib/models/data-type.enum.d.ts +0 -5
- package/lib/models/database-storage.model.d.ts +0 -10
- package/lib/models/index.d.ts +0 -6
- package/lib/models/retry-options.model.d.ts +0 -10
- package/lib/services/database-manager-services/database.manager.service.d.ts +0 -31
- package/lib/services/database-manager-services/db.storage.service.d.ts +0 -26
- package/lib/services/database-manager-services/models/table-schema.d.ts +0 -11
- package/lib/services/local-storage-manager-service/index.d.ts +0 -2
- package/lib/services/local-storage-manager-service/local-storage-manager.service.d.ts +0 -86
- package/lib/services/local-storage-manager-service/models/global-store-options.model.d.ts +0 -15
- package/lib/services/local-storage-manager-service/models/setting-options.model.d.ts +0 -15
- package/lib/services/local-storage-manager-service/models/storage-data.model.d.ts +0 -10
- package/lib/services/local-storage-manager-service/models/storage-option.model.d.ts +0 -13
- package/lib/services/local-storage-manager-service/models/storage-type.enum.d.ts +0 -5
- package/lib/services/request-manager-services/http-manager.service.d.ts +0 -41
- package/lib/services/request-manager-services/request.service.d.ts +0 -27
- package/lib/services/request-manager-services/rxjs-operators/countdown.d.ts +0 -2
- package/lib/services/request-manager-services/rxjs-operators/delay-retry.d.ts +0 -2
- package/lib/services/request-manager-services/rxjs-operators/request-polling.d.ts +0 -7
- package/lib/services/request-manager-services/rxjs-operators/request-streaming.d.ts +0 -2
- package/lib/services/request-manager-state-service/http-manager-state.store.d.ts +0 -51
- package/lib/services/request-manager-state-service/models/api-request.model.d.ts +0 -27
- package/lib/services/request-manager-state-service/models/request-options.model.d.ts +0 -10
- package/lib/services/utils/app.service.d.ts +0 -8
- package/lib/services/utils/encryption/asymmetrical-encryption.service.d.ts +0 -17
- package/lib/services/utils/encryption/encryption-test.service.d.ts +0 -10
- package/lib/services/utils/encryption/random.d.ts +0 -7
- package/lib/services/utils/encryption/symmetrical-encryption.service.d.ts +0 -14
- package/lib/services/utils/headers.service.d.ts +0 -10
- package/lib/services/utils/object-merger.service.d.ts +0 -12
- package/lib/services/utils/path-query.service.d.ts +0 -11
- package/lib/services/utils/utils.service.d.ts +0 -24
- /package/{lib/services/request-manager-services/rxjs-operators/index.d.ts → src/lib/services/request-manager-services/rxjs-operators/index.ts} +0 -0
|
@@ -1,267 +0,0 @@
|
|
|
1
|
-
import { inject, Inject, Injectable, InjectionToken } from '@angular/core';
|
|
2
|
-
import { ComponentStore } from '@ngrx/component-store';
|
|
3
|
-
import { BehaviorSubject, of } from 'rxjs';
|
|
4
|
-
import { tap, switchMap, concatMap, scan, delay } from 'rxjs/operators';
|
|
5
|
-
import { DatabaseStorage } from '../../models/database-storage.model';
|
|
6
|
-
import { HTTPManagerService, DataType } from '../request-manager-services';
|
|
7
|
-
import { ApiRequest, RequestOptions } from './models';
|
|
8
|
-
import * as i0 from "@angular/core";
|
|
9
|
-
const API_OPTS = new InjectionToken('API_OPTS');
|
|
10
|
-
const defaultState = {
|
|
11
|
-
data: [],
|
|
12
|
-
dataObject: null,
|
|
13
|
-
};
|
|
14
|
-
export class HTTPManagerStateService extends ComponentStore {
|
|
15
|
-
constructor(apiOptions = ApiRequest.adapt(), dataType, database) {
|
|
16
|
-
super(defaultState);
|
|
17
|
-
this.apiOptions = apiOptions;
|
|
18
|
-
this.dataType = dataType;
|
|
19
|
-
this.database = database;
|
|
20
|
-
this.httpManagerService = inject(HTTPManagerService);
|
|
21
|
-
this.error$ = this.httpManagerService.error$;
|
|
22
|
-
this.isPending$ = this.httpManagerService.isPending$.pipe(delay(1));
|
|
23
|
-
// PAGINATION
|
|
24
|
-
this.page = new BehaviorSubject(0);
|
|
25
|
-
this.page$ = this.page.asObservable();
|
|
26
|
-
this.totalPages = new BehaviorSubject(0);
|
|
27
|
-
this.totalPages$ = this.totalPages.asObservable();
|
|
28
|
-
this.percentage = new BehaviorSubject(0);
|
|
29
|
-
this.percentage$ = this.percentage.asObservable();
|
|
30
|
-
// ----------
|
|
31
|
-
this.hasDatabase = false;
|
|
32
|
-
this.streamedResponse = [];
|
|
33
|
-
// --------------------------------------------------------------------------------------------------
|
|
34
|
-
// SELECTORS
|
|
35
|
-
this.data$ = this.select(({ data, dataObject }) => {
|
|
36
|
-
const isArray = (this.dataType === DataType.ARRAY) ? true : false;
|
|
37
|
-
return (isArray) ? data : dataObject;
|
|
38
|
-
});
|
|
39
|
-
this.selectRecord$ = (id) => this.select(this.data$, (data) => {
|
|
40
|
-
if (this.dataType === DataType.ARRAY && Array.isArray(data)) {
|
|
41
|
-
return data.find(item => item.id === id);
|
|
42
|
-
}
|
|
43
|
-
else {
|
|
44
|
-
return data.id === id ? data : null;
|
|
45
|
-
}
|
|
46
|
-
});
|
|
47
|
-
// --------------------------------------------------------------------------------------------------
|
|
48
|
-
// UPDATERS
|
|
49
|
-
this.setData$ = this.updater((state, data) => {
|
|
50
|
-
if (!data)
|
|
51
|
-
return state;
|
|
52
|
-
if (this.dataType === DataType.ARRAY) {
|
|
53
|
-
const dataArray = Array.isArray(data) ? data : [data];
|
|
54
|
-
const stateDataSample = (state.data.length > 0) ? Object.keys(state.data[0]) : [];
|
|
55
|
-
const newDataSample = (dataArray.length > 0) ? Object.keys(dataArray[0]) : [];
|
|
56
|
-
const isSame = (state.data.length === 0) ? false : stateDataSample.every((value, index) => value === newDataSample[index]);
|
|
57
|
-
const updatedData = (!isSame && dataArray.length !== 0) ? this.updateArrayState([], dataArray) : this.updateArrayState(state.data, dataArray);
|
|
58
|
-
return { ...state, data: updatedData, dataObject: null };
|
|
59
|
-
}
|
|
60
|
-
else {
|
|
61
|
-
const dataObject = this.isEmpty(data) ? null : data;
|
|
62
|
-
return { ...state, data: [], dataObject: dataObject };
|
|
63
|
-
}
|
|
64
|
-
});
|
|
65
|
-
this.addData$ = this.updater((state, data) => {
|
|
66
|
-
if (this.dataType === DataType.ARRAY) {
|
|
67
|
-
const newState = [...state.data, data];
|
|
68
|
-
return { ...state, ...{ data: newState } };
|
|
69
|
-
}
|
|
70
|
-
else {
|
|
71
|
-
return { ...state, ...{ dataObject: data } };
|
|
72
|
-
}
|
|
73
|
-
});
|
|
74
|
-
this.deleteData$ = this.updater((state, data) => {
|
|
75
|
-
if (this.dataType === DataType.ARRAY) {
|
|
76
|
-
const newState = state.data.filter(item => item.id !== data.id);
|
|
77
|
-
return { ...state, ...{ data: newState } };
|
|
78
|
-
}
|
|
79
|
-
else {
|
|
80
|
-
return { ...state, ...{ dataObject: null } };
|
|
81
|
-
}
|
|
82
|
-
});
|
|
83
|
-
this.updateData$ = this.updater((state, data) => {
|
|
84
|
-
if (this.dataType === DataType.ARRAY) {
|
|
85
|
-
const objIndex = state.data.findIndex(item => item.id === data.id);
|
|
86
|
-
if (objIndex > -1) {
|
|
87
|
-
const newState = [...state.data];
|
|
88
|
-
newState[objIndex] = data;
|
|
89
|
-
return { ...state, ...{ data: newState } };
|
|
90
|
-
}
|
|
91
|
-
return state;
|
|
92
|
-
}
|
|
93
|
-
else {
|
|
94
|
-
return { ...state, ...{ dataObject: data } };
|
|
95
|
-
}
|
|
96
|
-
});
|
|
97
|
-
// --------------------------------------------------------------------------------------------------
|
|
98
|
-
// EFFECTS
|
|
99
|
-
this.clearRecords = this.effect(data => data.pipe(tap(() => {
|
|
100
|
-
if (this.dataType === DataType.ARRAY) {
|
|
101
|
-
this.setData$([]);
|
|
102
|
-
}
|
|
103
|
-
else {
|
|
104
|
-
this.setData$({});
|
|
105
|
-
}
|
|
106
|
-
})));
|
|
107
|
-
this.refreshData = this.effect(data => data.pipe(tap(() => {
|
|
108
|
-
// this.apiService.flushDatabase(this.otherOptions.database?.table)
|
|
109
|
-
this.fetchRecords();
|
|
110
|
-
})));
|
|
111
|
-
// --------------------------------------------------------------------------------------------------
|
|
112
|
-
// CRUD OPERATIONS
|
|
113
|
-
// FETCH RECORDS
|
|
114
|
-
this.fetchRecords = (options) => this.effect(() => of(RequestOptions.adapt(options)).pipe(switchMap(() => {
|
|
115
|
-
this.streamedResponse = [];
|
|
116
|
-
const requestOptions = this.updateRequestOptions(options?.headers);
|
|
117
|
-
return this.httpManagerService.getRequest(requestOptions, options?.path)
|
|
118
|
-
.pipe(tap((data) => {
|
|
119
|
-
data = (!data) ? (this.dataType === DataType.ARRAY) ? [] : {} : data;
|
|
120
|
-
this.setData$(data);
|
|
121
|
-
}));
|
|
122
|
-
})));
|
|
123
|
-
// CREATE RECORD
|
|
124
|
-
this.createRecord = (data, options) => this.effect(() => of(data).pipe(switchMap((data) => {
|
|
125
|
-
this.streamedResponse = [];
|
|
126
|
-
const requestOptions = this.updateRequestOptions(options?.headers);
|
|
127
|
-
return this.httpManagerService.postRequest(data, requestOptions, options?.path)
|
|
128
|
-
.pipe(tap((data) => {
|
|
129
|
-
data = (!data) ? (this.dataType === DataType.ARRAY) ? [] : {} : data;
|
|
130
|
-
this.addData$(data);
|
|
131
|
-
}));
|
|
132
|
-
})));
|
|
133
|
-
// UPDATE RECORD
|
|
134
|
-
this.updateRecord = (data, options) => this.effect(() => of(data).pipe(concatMap((data) => {
|
|
135
|
-
this.streamedResponse = [];
|
|
136
|
-
const requestOptions = this.updateRequestOptions(options?.headers);
|
|
137
|
-
return this.httpManagerService.putRequest(data, requestOptions, options?.path)
|
|
138
|
-
.pipe(tap((data) => {
|
|
139
|
-
data = (!data) ? (this.dataType === DataType.ARRAY) ? [] : {} : data;
|
|
140
|
-
this.updateData$(data);
|
|
141
|
-
}));
|
|
142
|
-
})));
|
|
143
|
-
// DELETE RECORD
|
|
144
|
-
this.deleteRecord = (options) => this.effect(() => of(options).pipe(concatMap((data) => {
|
|
145
|
-
this.streamedResponse = [];
|
|
146
|
-
const requestOptions = this.updateRequestOptions(options?.headers);
|
|
147
|
-
return this.httpManagerService.deleteRequest(requestOptions, options?.path)
|
|
148
|
-
.pipe(tap((data) => {
|
|
149
|
-
data = (!data) ? (this.dataType === DataType.ARRAY) ? [] : {} : data;
|
|
150
|
-
this.deleteData$(data);
|
|
151
|
-
}));
|
|
152
|
-
})));
|
|
153
|
-
// --------------------------------------------------------------------------------------------------
|
|
154
|
-
// FETCH STREAM
|
|
155
|
-
this.createStream = (data, options) => this.effect(() => of(data).pipe(tap(() => this.httpManagerService.isPending.next(true)), switchMap((data) => {
|
|
156
|
-
const requestOptions = this.updateRequestOptions(options?.headers);
|
|
157
|
-
return this.httpManagerService.postRequest(data, requestOptions, options?.path)
|
|
158
|
-
.pipe(tap((res) => {
|
|
159
|
-
if (res.length > 0)
|
|
160
|
-
this.setData$(res);
|
|
161
|
-
this.streamedResponse = res;
|
|
162
|
-
}), scan((acc, res) => {
|
|
163
|
-
const previous = acc.current;
|
|
164
|
-
const current = res;
|
|
165
|
-
return { previous, current };
|
|
166
|
-
}, { previous: null, current: null }), tap(({ previous, current }) => {
|
|
167
|
-
if (previous && JSON.stringify(previous) === JSON.stringify(current)) {
|
|
168
|
-
this.httpManagerService.isPending.next(false);
|
|
169
|
-
this.setData$([]);
|
|
170
|
-
}
|
|
171
|
-
else {
|
|
172
|
-
this.httpManagerService.isPending.next(true);
|
|
173
|
-
}
|
|
174
|
-
}));
|
|
175
|
-
})));
|
|
176
|
-
this.fetchStream = (options) => this.effect(() => of(options).pipe(tap(() => this.httpManagerService.isPending.next(true)), switchMap((options) => {
|
|
177
|
-
const requestOptions = this.updateRequestOptions(options?.headers);
|
|
178
|
-
requestOptions.stream = true;
|
|
179
|
-
return this.httpManagerService.getRequest(requestOptions, options?.path)
|
|
180
|
-
.pipe(tap((res) => {
|
|
181
|
-
if (res.length > 0)
|
|
182
|
-
this.setData$(res);
|
|
183
|
-
this.streamedResponse = res;
|
|
184
|
-
}), scan((acc, res) => {
|
|
185
|
-
const previous = acc.current;
|
|
186
|
-
const current = res;
|
|
187
|
-
return { previous, current };
|
|
188
|
-
}, { previous: null, current: null }), tap(({ previous, current }) => {
|
|
189
|
-
if (previous && JSON.stringify(previous) === JSON.stringify(current)) {
|
|
190
|
-
this.httpManagerService.isPending.next(false);
|
|
191
|
-
this.setData$([]);
|
|
192
|
-
}
|
|
193
|
-
else {
|
|
194
|
-
this.httpManagerService.isPending.next(true);
|
|
195
|
-
}
|
|
196
|
-
}));
|
|
197
|
-
})));
|
|
198
|
-
this.setApiRequestOptions(apiOptions, dataType, database);
|
|
199
|
-
}
|
|
200
|
-
setApiRequestOptions(apiOptions, dataType, database) {
|
|
201
|
-
this.apiOptions = ApiRequest.adapt(apiOptions);
|
|
202
|
-
this.dataType = (dataType) ? dataType : DataType.ARRAY;
|
|
203
|
-
this.hasDatabase = this.database?.table === "" ? false : true;
|
|
204
|
-
this.database = (this.hasDatabase) ? DatabaseStorage.adapt(database) : undefined;
|
|
205
|
-
}
|
|
206
|
-
get ApiRequestOptions() {
|
|
207
|
-
return this.apiOptions;
|
|
208
|
-
}
|
|
209
|
-
initStorage() {
|
|
210
|
-
// if(this.otherOptions.database) {
|
|
211
|
-
// console.log('Has Database Option:', this.otherOptions.database.table)
|
|
212
|
-
// const schema = (this.otherOptions.adapters?.incoming) ? Object.keys(this.otherOptions.adapters.incoming({})).join() : '++id'
|
|
213
|
-
// this.apiService.initDB(this.otherOptions.database.expiresIn, this.otherOptions.database.table, schema)
|
|
214
|
-
// }
|
|
215
|
-
}
|
|
216
|
-
initializeState(data) {
|
|
217
|
-
this.setData$(data);
|
|
218
|
-
}
|
|
219
|
-
updateArrayState(currentData, newData) {
|
|
220
|
-
const filterCurrentData = () => {
|
|
221
|
-
const ids = this.streamedResponse.map((obj) => obj.id);
|
|
222
|
-
return currentData.filter(obj => (obj.id) ? ids.includes(obj.id) : obj);
|
|
223
|
-
};
|
|
224
|
-
const filteredCurrentData = (this.httpManagerService.isPending.value) ? currentData : filterCurrentData();
|
|
225
|
-
const updatedData = filteredCurrentData.map(item => {
|
|
226
|
-
const newItem = newData.find(newItem => {
|
|
227
|
-
const hasId = (newItem?.id && item?.id) ? true : false;
|
|
228
|
-
return (hasId) ? newItem.id === item.id : JSON.stringify(newItem) === JSON.stringify(item);
|
|
229
|
-
});
|
|
230
|
-
return (newItem) ? { ...item, ...newItem } : item;
|
|
231
|
-
});
|
|
232
|
-
const addedData = newData.filter(newItem => {
|
|
233
|
-
return !filteredCurrentData.some(item => {
|
|
234
|
-
const hasId = (newItem?.id && item?.id) ? true : false;
|
|
235
|
-
return (hasId) ? item.id === newItem.id : JSON.stringify(newItem) === JSON.stringify(item);
|
|
236
|
-
});
|
|
237
|
-
});
|
|
238
|
-
return [...updatedData, ...addedData];
|
|
239
|
-
}
|
|
240
|
-
// --------------------------------------------------------------------------------------------------
|
|
241
|
-
// MISC
|
|
242
|
-
isEmpty(obj) {
|
|
243
|
-
return Object.keys(obj).length === 0;
|
|
244
|
-
}
|
|
245
|
-
updateRequestOptions(headers) {
|
|
246
|
-
const options = ApiRequest.adapt({ ...this.apiOptions });
|
|
247
|
-
options.headers = (headers)
|
|
248
|
-
? { ...options.headers, ...headers }
|
|
249
|
-
: { ...options.headers };
|
|
250
|
-
return options;
|
|
251
|
-
}
|
|
252
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: HTTPManagerStateService, deps: [{ token: API_OPTS }, { token: "dataType" }, { token: "database" }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
253
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: HTTPManagerStateService }); }
|
|
254
|
-
}
|
|
255
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: HTTPManagerStateService, decorators: [{
|
|
256
|
-
type: Injectable
|
|
257
|
-
}], ctorParameters: function () { return [{ type: undefined, decorators: [{
|
|
258
|
-
type: Inject,
|
|
259
|
-
args: [API_OPTS]
|
|
260
|
-
}] }, { type: undefined, decorators: [{
|
|
261
|
-
type: Inject,
|
|
262
|
-
args: ["dataType"]
|
|
263
|
-
}] }, { type: undefined, decorators: [{
|
|
264
|
-
type: Inject,
|
|
265
|
-
args: ["database"]
|
|
266
|
-
}] }]; } });
|
|
267
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaHR0cC1tYW5hZ2VyLXN0YXRlLnN0b3JlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvaHR0cC1yZXF1ZXN0LW1hbmFnZXIvc3JjL2xpYi9zZXJ2aWNlcy9yZXF1ZXN0LW1hbmFnZXItc3RhdGUtc2VydmljZS9odHRwLW1hbmFnZXItc3RhdGUuc3RvcmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLGNBQWMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzRSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFFdkQsT0FBTyxFQUFFLGVBQWUsRUFBRSxFQUFFLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDM0MsT0FBTyxFQUFFLEdBQUcsRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUN4RSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFDdEUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLFFBQVEsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQzNFLE9BQU8sRUFBRSxVQUFVLEVBQUUsY0FBYyxFQUFFLE1BQU0sVUFBVSxDQUFDOztBQUd0RCxNQUFNLFFBQVEsR0FBRyxJQUFJLGNBQWMsQ0FBYSxVQUFVLENBQUMsQ0FBQztBQU81RCxNQUFNLFlBQVksR0FBNkI7SUFDN0MsSUFBSSxFQUFFLEVBQUU7SUFDUixVQUFVLEVBQUUsSUFBSTtDQUNqQixDQUFDO0FBR0YsTUFBTSxPQUFPLHVCQUFrRCxTQUFRLGNBQXNDO0lBc0IzRyxZQUM0QixhQUFhLFVBQVUsQ0FBQyxLQUFLLEVBQUUsRUFDN0IsUUFBOEIsRUFDOUIsUUFBc0M7UUFFbEUsS0FBSyxDQUFDLFlBQVksQ0FBQyxDQUFDO1FBSk0sZUFBVSxHQUFWLFVBQVUsQ0FBcUI7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LHFHQUFxRztJQUNyRyxPQUFPO0lBRUMsT0FBTyxDQUFDLEdBQVE7UUFDdEIsT0FBTyxNQUFNLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLE1BQU0sS0FBSyxDQUFDLENBQUE7SUFDdEMsQ0FBQztJQUVPLG9CQUFvQixDQUFDLE9BQWE7UUFFeEMsTUFBTSxPQUFPLEdBQUcsVUFBVSxDQUFDLEtBQUssQ0FBQyxFQUFFLEdBQUcsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDLENBQUE7UUFFeEQsT0FBTyxDQUFDLE9BQU8sR0FBRyxDQUFDLE9BQU8sQ0FBQztZQUNyQixDQUFDLENBQUMsRUFBRSxHQUFHLE9BQU8sQ0FBQyxPQUFPLEVBQUUsR0FBRyxPQUFPLEVBQUU7WUFDcEMsQ0FBQyxDQUFDLEVBQUUsR0FBRyxPQUFPLENBQUMsT0FBTyxFQUFFLENBQUE7UUFFOUIsT0FBTyxPQUFPLENBQUE7SUFDaEIsQ0FBQzsrR0F4WFUsdUJBQXVCLGtCQXVCeEIsUUFBUSxhQUNSLFVBQVUsYUFDVixVQUFVO21IQXpCVCx1QkFBdUI7OzRGQUF2Qix1QkFBdUI7a0JBRG5DLFVBQVU7OzBCQXdCTixNQUFNOzJCQUFDLFFBQVE7OzBCQUNmLE1BQU07MkJBQUMsVUFBVTs7MEJBQ2pCLE1BQU07MkJBQUMsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGluamVjdCwgSW5qZWN0LCBJbmplY3RhYmxlLCBJbmplY3Rpb25Ub2tlbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29tcG9uZW50U3RvcmUgfSBmcm9tICdAbmdyeC9jb21wb25lbnQtc3RvcmUnO1xuXG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIG9mIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyB0YXAsIHN3aXRjaE1hcCwgY29uY2F0TWFwLCBzY2FuLCBkZWxheSB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IERhdGFiYXNlU3RvcmFnZSB9IGZyb20gJy4uLy4uL21vZGVscy9kYXRhYmFzZS1zdG9yYWdlLm1vZGVsJztcbmltcG9ydCB7IEhUVFBNYW5hZ2VyU2VydmljZSwgRGF0YVR5cGUgfSBmcm9tICcuLi9yZXF1ZXN0LW1hbmFnZXItc2VydmljZXMnO1xuaW1wb3J0IHsgQXBpUmVxdWVzdCwgUmVxdWVzdE9wdGlvbnMgfSBmcm9tICcuL21vZGVscyc7XG5cblxuY29uc3QgQVBJX09QVFMgPSBuZXcgSW5qZWN0aW9uVG9rZW48QXBpUmVxdWVzdD4oJ0FQSV9PUFRTJyk7XG5cbmV4cG9ydCBpbnRlcmZhY2UgQVBJU3RhdGVNYW5hZ2VyRGF0YTxUPiB7XG4gIGRhdGE6IFRbXVxuICBkYXRhT2JqZWN0OiBUIHwgbnVsbFxufVxuXG5jb25zdCBkZWZhdWx0U3RhdGU6IEFQSVN0YXRlTWFuYWdlckRhdGE8YW55PiA9IHtcbiAgZGF0YTogW10sXG4gIGRhdGFPYmplY3Q6IG51bGwsXG59O1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgSFRUUE1hbmFnZXJTdGF0ZVNlcnZpY2U8VCBleHRlbmRzIHsgaWQ6IG51bWJlciB9PiBleHRlbmRzIENvbXBvbmVudFN0b3JlPEFQSVN0YXRlTWFuYWdlckRhdGE8VD4+IHtcblxuICBodHRwTWFuYWdlclNlcnZpY2UgPSBpbmplY3QoSFRUUE1hbmFnZXJTZXJ2aWNlKVxuXG4gIGVycm9yJCA9IHRoaXMuaHR0cE1hbmFnZXJTZXJ2aWNlLmVycm9yJFxuICBpc1BlbmRpbmckID0gdGhpcy5odHRwTWFuYWdlclNlcnZpY2UuaXNQZW5kaW5nJC5waXBlKGRlbGF5KDEpKVxuXG4gIC8vIFBBR0lOQVRJT05cbiAgcHJpdmF0ZSBwYWdlID0gbmV3IEJlaGF2aW9yU3ViamVjdDxudW1iZXI+KDApXG4gIHBhZ2UkID0gdGhpcy5wYWdlLmFzT2JzZXJ2YWJsZSgpXG5cbiAgcHJpdmF0ZSB0b3RhbFBhZ2VzID0gbmV3IEJlaGF2aW9yU3ViamVjdDxudW1iZXI+KDApXG4gIHRvdGFsUGFnZXMkID0gdGhpcy50b3RhbFBhZ2VzLmFzT2JzZXJ2YWJsZSgpXG5cbiAgcHJpdmF0ZSBwZXJjZW50YWdlID0gbmV3IEJlaGF2aW9yU3ViamVjdDxudW1iZXI+KDApXG4gIHBlcmNlbnRhZ2UkID0gdGhpcy5wZXJjZW50YWdlLmFzT2JzZXJ2YWJsZSgpXG4gIC8vIC0tLS0tLS0tLS1cblxuICBwcml2YXRlIGhhc0RhdGFiYXNlID0gZmFsc2VcblxuICBzdHJlYW1lZFJlc3BvbnNlID0gW11cblxuICBjb25zdHJ1Y3RvcihcbiAgICBASW5qZWN0KEFQSV9PUFRTKSBwcml2YXRlIGFwaU9wdGlvbnMgPSBBcGlSZXF1ZXN0LmFkYXB0KCksXG4gICAgQEluamVjdChcImRhdGFUeXBlXCIpIHByaXZhdGUgZGF0YVR5cGU6IERhdGFUeXBlIHwgdW5kZWZpbmVkLFxuICAgIEBJbmplY3QoXCJkYXRhYmFzZVwiKSBwcml2YXRlIGRhdGFiYXNlPzogRGF0YWJhc2VTdG9yYWdlIHwgdW5kZWZpbmVkXG4gICkge1xuICAgIHN1cGVyKGRlZmF1bHRTdGF0ZSk7XG4gICAgdGhpcy5zZXRBcGlSZXF1ZXN0T3B0aW9ucyhhcGlPcHRpb25zLCBkYXRhVHlwZSwgZGF0YWJhc2UpXG4gIH1cblxuICBzZXRBcGlSZXF1ZXN0T3B0aW9ucyhhcGlPcHRpb25zPzogQXBpUmVxdWVzdCwgZGF0YVR5cGU/OiBEYXRhVHlwZSwgZGF0YWJhc2U/OiBEYXRhYmFzZVN0b3JhZ2UpIHtcblxuICAgIHRoaXMuYXBpT3B0aW9ucyA9IEFwaVJlcXVlc3QuYWRhcHQoYXBpT3B0aW9ucylcbiAgICB0aGlzLmRhdGFUeXBlID0gKGRhdGFUeXBlKSA/IGRhdGFUeXBlIDogRGF0YVR5cGUuQVJSQVlcblxuICAgIHRoaXMuaGFzRGF0YWJhc2UgPSB0aGlzLmRhdGFiYXNlPy50YWJsZSA9PT0gXCJcIiA/IGZhbHNlIDogdHJ1ZVxuICAgIHRoaXMuZGF0YWJhc2UgPSAodGhpcy5oYXNEYXRhYmFzZSkgPyBEYXRhYmFzZVN0b3JhZ2UuYWRhcHQoZGF0YWJhc2UpIDogdW5kZWZpbmVkXG5cbiAgfVxuXG4gIGdldCBBcGlSZXF1ZXN0T3B0aW9ucygpIHtcbiAgICByZXR1cm4gdGhpcy5hcGlPcHRpb25zXG4gIH1cblxuICBpbml0U3RvcmFnZSgpIHtcbiAgICAvLyBpZih0aGlzLm90aGVyT3B0aW9ucy5kYXRhYmFzZSkge1xuICAgICAgLy8gY29uc29sZS5sb2coJ0hhcyBEYXRhYmFzZSBPcHRpb246JywgdGhpcy5vdGhlck9wdGlvbnMuZGF0YWJhc2UudGFibGUpXG4gICAgICAvLyBjb25zdCBzY2hlbWEgPSAodGhpcy5vdGhlck9wdGlvbnMuYWRhcHRlcnM/LmluY29taW5nKSA/IE9iamVjdC5rZXlzKHRoaXMub3RoZXJPcHRpb25zLmFkYXB0ZXJzLmluY29taW5nKHt9KSkuam9pbigpIDogJysraWQnXG4gICAgICAvLyB0aGlzLmFwaVNlcnZpY2UuaW5pdERCKHRoaXMub3RoZXJPcHRpb25zLmRhdGFiYXNlLmV4cGlyZXNJbiwgdGhpcy5vdGhlck9wdGlvbnMuZGF0YWJhc2UudGFibGUsIHNjaGVtYSlcbiAgICAvLyB9XG4gIH1cblxuICBpbml0aWFsaXplU3RhdGUoZGF0YTogYW55KSB7XG4gICAgdGhpcy5zZXREYXRhJChkYXRhKVxuICB9XG5cbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgLy8gU0VMRUNUT1JTXG5cbiAgcmVhZG9ubHkgZGF0YSQgPSB0aGlzLnNlbGVjdCgoeyBkYXRhLCBkYXRhT2JqZWN0IH0pID0+IHtcbiAgICBjb25zdCBpc0FycmF5ID0oIHRoaXMuZGF0YVR5cGUgPT09IERhdGFUeXBlLkFSUkFZKSA/IHRydWUgOiBmYWxzZVxuICAgIHJldHVybiAoaXNBcnJheSkgPyBkYXRhIDogZGF0YU9iamVjdFxuICB9KVxuXG4gIHJlYWRvbmx5IHNlbGVjdFJlY29yZCQgPSAoaWQ6IG51bWJlcikgPT4gdGhpcy5zZWxlY3QoXG4gICAgdGhpcy5kYXRhJCxcbiAgICAoZGF0YSkgPT4ge1xuICAgICAgaWYgKHRoaXMuZGF0YVR5cGUgPT09IERhdGFUeXBlLkFSUkFZICYmIEFycmF5LmlzQXJyYXkoZGF0YSkpIHtcbiAgICAgICAgcmV0dXJuIGRhdGEuZmluZChpdGVtID0+IGl0ZW0uaWQgPT09IGlkKSBhcyBUIHwgbnVsbFxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgcmV0dXJuIChkYXRhIGFzIFQpLmlkID09PSBpZCA/IGRhdGEgOiBudWxsXG4gICAgICB9XG4gICAgfVxuICApO1xuXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgLy8gVVBEQVRFUlNcblxuICBwcml2YXRlIHJlYWRvbmx5IHNldERhdGEkID0gdGhpcy51cGRhdGVyKChzdGF0ZTogQVBJU3RhdGVNYW5hZ2VyRGF0YTxUPiwgZGF0YTogVCB8IFRbXSB8IGFueSkgPT4ge1xuXG4gICAgaWYgKCFkYXRhKSByZXR1cm4gc3RhdGU7XG5cbiAgICBpZiAodGhpcy5kYXRhVHlwZSA9PT0gRGF0YVR5cGUuQVJSQVkpIHtcblxuICAgICAgY29uc3QgZGF0YUFycmF5ID0gQXJyYXkuaXNBcnJheShkYXRhKSA/IGRhdGEgOiBbZGF0YV1cblxuICAgICAgY29uc3Qgc3RhdGVEYXRhU2FtcGxlID0gKHN0YXRlLmRhdGEubGVuZ3RoID4gMCkgPyBPYmplY3Qua2V5cyhzdGF0ZS5kYXRhWzBdKSA6IFtdXG4gICAgICBjb25zdCBuZXdEYXRhU2FtcGxlID0gKGRhdGFBcnJheS5sZW5ndGggPiAwKSA/IE9iamVjdC5rZXlzKGRhdGFBcnJheVswXSkgOiBbXVxuXG4gICAgICBjb25zdCBpc1NhbWUgPSAoc3RhdGUuZGF0YS5sZW5ndGggPT09IDApID8gZmFsc2UgOiBzdGF0ZURhdGFTYW1wbGUuZXZlcnkoKHZhbHVlLCBpbmRleCkgPT4gdmFsdWUgPT09IG5ld0RhdGFTYW1wbGVbaW5kZXhdKVxuICAgICAgY29uc3QgdXBkYXRlZERhdGEgPSAoIWlzU2FtZSAmJiBkYXRhQXJyYXkubGVuZ3RoICE9PSAwKSA/IHRoaXMudXBkYXRlQXJyYXlTdGF0ZShbXSwgZGF0YUFycmF5KSA6IHRoaXMudXBkYXRlQXJyYXlTdGF0ZShzdGF0ZS5kYXRhLCBkYXRhQXJyYXkpXG5cbiAgICAgIHJldHVybiB7IC4uLnN0YXRlLCBkYXRhOiB1cGRhdGVkRGF0YSwgZGF0YU9iamVjdDogbnVsbCB9IGFzIEFQSVN0YXRlTWFuYWdlckRhdGE8VD47XG5cbiAgICB9IGVsc2Uge1xuICAgICAgY29uc3QgZGF0YU9iamVjdCA9IHRoaXMuaXNFbXB0eShkYXRhKSA/IG51bGwgOiBkYXRhO1xuICAgICAgcmV0dXJuIHsgLi4uc3RhdGUsIGRhdGE6IFtdLCBkYXRhT2JqZWN0OiBkYXRhT2JqZWN0IH0gYXMgQVBJU3RhdGVNYW5hZ2VyRGF0YTxUPjtcbiAgICB9XG5cbiAgfSk7XG5cbiAgcHJpdmF0ZSB1cGRhdGVBcnJheVN0YXRlKGN1cnJlbnREYXRhOiBhbnlbXSwgbmV3RGF0YTogYW55W10pOiBhbnlbXSB7XG5cbiAgICBjb25zdCBmaWx0ZXJDdXJyZW50RGF0YSA9ICgpID0+IHtcbiAgICAgIGNvbnN0IGlkcyA9IHRoaXMuc3RyZWFtZWRSZXNwb25zZS5tYXAoKG9iajogYW55KSA9PiBvYmouaWQpXG4gICAgICByZXR1cm4gY3VycmVudERhdGEuZmlsdGVyKG9iaiA9PiAob2JqLmlkKSA/IGlkcy5pbmNsdWRlcyhvYmouaWQpIDogb2JqKVxuICAgIH1cblxuICAgIGNvbnN0IGZpbHRlcmVkQ3VycmVudERhdGEgPSAodGhpcy5odHRwTWFuYWdlclNlcnZpY2UuaXNQZW5kaW5nLnZhbHVlKSA/IGN1cnJlbnREYXRhIDogZmlsdGVyQ3VycmVudERhdGEoKVxuXG4gICAgY29uc3QgdXBkYXRlZERhdGEgPSBmaWx0ZXJlZEN1cnJlbnREYXRhLm1hcChpdGVtID0+IHtcbiAgICAgICAgY29uc3QgbmV3SXRlbSA9IG5ld0RhdGEuZmluZChuZXdJdGVtID0+IHtcbiAgICAgICAgICBjb25zdCBoYXNJZCA9IChuZXdJdGVtPy5pZCAmJiBpdGVtPy5pZCkgPyB0cnVlIDogZmFsc2VcbiAgICAgICAgICByZXR1cm4gKGhhc0lkKSA/IG5ld0l0ZW0uaWQgPT09IGl0ZW0uaWQgOiBKU09OLnN0cmluZ2lmeShuZXdJdGVtKSA9PT0gSlNPTi5zdHJpbmdpZnkoaXRlbSlcbiAgICAgICAgfSlcbiAgICAgICAgcmV0dXJuIChuZXdJdGVtKSA/IHsgLi4uaXRlbSwgLi4ubmV3SXRlbSB9IDogaXRlbVxuICAgIH0pXG5cbiAgICBjb25zdCBhZGRlZERhdGEgPSBuZXdEYXRhLmZpbHRlcihuZXdJdGVtID0+IHtcbiAgICAgIHJldHVybiAhZmlsdGVyZWRDdXJyZW50RGF0YS5zb21lKGl0ZW0gPT4ge1xuICAgICAgICAgIGNvbnN0IGhhc0lkID0gKG5ld0l0ZW0/LmlkICYmIGl0ZW0/LmlkKSA/IHRydWUgOiBmYWxzZVxuICAgICAgICAgIHJldHVybiAoaGFzSWQpID8gaXRlbS5pZCA9PT0gbmV3SXRlbS5pZCA6IEpTT04uc3RyaW5naWZ5KG5ld0l0ZW0pID09PSBKU09OLnN0cmluZ2lmeShpdGVtKVxuICAgICAgfSlcbiAgICB9KVxuXG4gICAgcmV0dXJuIFsuLi51cGRhdGVkRGF0YSwgLi4uYWRkZWREYXRhXVxuXG59XG5cbiAgcHJpdmF0ZSByZWFkb25seSBhZGREYXRhJCA9IHRoaXMudXBkYXRlcigoc3RhdGU6IEFQSVN0YXRlTWFuYWdlckRhdGE8VD4sIGRhdGE6IFQpID0+IHtcblxuICAgIGlmICh0aGlzLmRhdGFUeXBlID09PSBEYXRhVHlwZS5BUlJBWSkge1xuICAgICAgY29uc3QgbmV3U3RhdGUgPSBbLi4uc3RhdGUuZGF0YSwgZGF0YV07XG4gICAgICByZXR1cm4geyAuLi5zdGF0ZSwgLi4ueyBkYXRhOiBuZXdTdGF0ZSB9IH1cbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIHsgLi4uc3RhdGUsIC4uLnsgZGF0YU9iamVjdDogZGF0YSB9IH1cbiAgICB9XG5cbiAgfSlcblxuICBwcml2YXRlIHJlYWRvbmx5IGRlbGV0ZURhdGEkID0gdGhpcy51cGRhdGVyKChzdGF0ZTogQVBJU3RhdGVNYW5hZ2VyRGF0YTxUPiwgZGF0YTogVCAmIHsgaWQ6IG51bWJlciB9KSA9PiB7XG4gICAgaWYgKHRoaXMuZGF0YVR5cGUgPT09IERhdGFUeXBlLkFSUkFZKSB7XG4gICAgY29uc3QgbmV3U3RhdGUgPSBzdGF0ZS5kYXRhLmZpbHRlcihpdGVtID0+IGl0ZW0uaWQgIT09IGRhdGEuaWQpXG4gICAgcmV0dXJuIHsgLi4uc3RhdGUsIC4uLnsgZGF0YTogbmV3U3RhdGUgfSB9XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiB7IC4uLnN0YXRlLCAuLi57IGRhdGFPYmplY3Q6IG51bGwgfSB9XG4gICAgfVxuICB9KVxuXG4gIHByaXZhdGUgcmVhZG9ubHkgdXBkYXRlRGF0YSQgPSB0aGlzLnVwZGF0ZXIoKHN0YXRlOiBBUElTdGF0ZU1hbmFnZXJEYXRhPFQ+LCBkYXRhOiBUKSA9PiB7XG5cbiAgICBpZiAodGhpcy5kYXRhVHlwZSA9PT0gRGF0YVR5cGUuQVJSQVkpIHtcblxuICAgICAgY29uc3Qgb2JqSW5kZXggPSBzdGF0ZS5kYXRhLmZpbmRJbmRleChpdGVtID0+IGl0ZW0uaWQgPT09IGRhdGEuaWQpXG5cbiAgICAgIGlmIChvYmpJbmRleCA+IC0xKSB7XG4gICAgICAgIGNvbnN0IG5ld1N0YXRlID0gWy4uLnN0YXRlLmRhdGFdXG4gICAgICAgIG5ld1N0YXRlW29iakluZGV4XSA9IGRhdGFcbiAgICAgICAgcmV0dXJuIHsgLi4uc3RhdGUsIC4uLnsgZGF0YTogbmV3U3RhdGUgfSB9XG4gICAgICB9XG5cbiAgICAgIHJldHVybiBzdGF0ZVxuXG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiB7IC4uLnN0YXRlLCAuLi57IGRhdGFPYmplY3Q6IGRhdGEgfSB9XG4gICAgfVxuXG4gIH0pXG5cbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgLy8gRUZGRUNUU1xuXG4gIHJlYWRvbmx5IGNsZWFyUmVjb3JkcyA9IHRoaXMuZWZmZWN0KGRhdGEgPT5cbiAgICBkYXRhLnBpcGUoXG4gICAgICB0YXAoKCkgPT4ge1xuICAgICAgICBpZiAodGhpcy5kYXRhVHlwZSA9PT0gRGF0YVR5cGUuQVJSQVkpIHtcbiAgICAgICAgICB0aGlzLnNldERhdGEkKFtdKVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHRoaXMuc2V0RGF0YSQoe30pXG4gICAgICAgIH1cbiAgICAgIH0pXG4gICkpXG5cbiAgcmVhZG9ubHkgcmVmcmVzaERhdGEgPSB0aGlzLmVmZmVjdChkYXRhID0+XG4gICAgZGF0YS5waXBlKFxuICAgICAgdGFwKCgpID0+IHtcbiAgICAgICAgLy8gdGhpcy5hcGlTZXJ2aWNlLmZsdXNoRGF0YWJhc2UodGhpcy5vdGhlck9wdGlvbnMuZGF0YWJhc2U/LnRhYmxlKVxuICAgICAgICB0aGlzLmZldGNoUmVjb3JkcygpXG4gICAgICB9KVxuICApKVxuXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gIC8vIENSVUQgT1BFUkFUSU9OU1xuXG4gIC8vIEZFVENIIFJFQ09SRFNcbiAgcmVhZG9ubHkgZmV0Y2hSZWNvcmRzID0gKG9wdGlvbnM/OiBSZXF1ZXN0T3B0aW9ucykgPT5cbiAgICB0aGlzLmVmZmVjdDxhbnk+KCgpID0+XG4gICAgb2YoUmVxdWVzdE9wdGlvbnMuYWRhcHQob3B0aW9ucykpLnBpcGUoXG4gICAgICBzd2l0Y2hNYXAoKCkgPT4ge1xuXG4gICAgICAgIHRoaXMuc3RyZWFtZWRSZXNwb25zZSA9IFtdXG4gICAgICAgIGNvbnN0IHJlcXVlc3RPcHRpb25zID0gdGhpcy51cGRhdGVSZXF1ZXN0T3B0aW9ucyhvcHRpb25zPy5oZWFkZXJzKVxuXG4gICAgICAgIHJldHVybiB0aGlzLmh0dHBNYW5hZ2VyU2VydmljZS5nZXRSZXF1ZXN0KHJlcXVlc3RPcHRpb25zLCBvcHRpb25zPy5wYXRoKVxuICAgICAgICAucGlwZShcbiAgICAgICAgICB0YXAoKGRhdGE6IGFueSkgPT4ge1xuICAgICAgICAgICAgZGF0YSA9ICghZGF0YSkgPyAodGhpcy5kYXRhVHlwZSA9PT0gRGF0YVR5cGUuQVJSQVkpID8gW10gOiB7fSA6IGRhdGFcbiAgICAgICAgICAgIHRoaXMuc2V0RGF0YSQoZGF0YSlcbiAgICAgICAgICB9KVxuICAgICAgICApXG5cbiAgICAgIH0pXG4gICAgKVxuICApXG5cbiAgLy8gQ1JFQVRFIFJFQ09SRFxuICByZWFkb25seSBjcmVhdGVSZWNvcmQgPSAoZGF0YTogYW55fG51bGwsIG9wdGlvbnM/OiBSZXF1ZXN0T3B0aW9ucykgPT5cbiAgICB0aGlzLmVmZmVjdDxhbnk+KCgpID0+XG4gICAgICBvZihkYXRhKS5waXBlKFxuICAgICAgICBzd2l0Y2hNYXAoKGRhdGE6IGFueSkgPT4ge1xuXG4gICAgICAgIHRoaXMuc3RyZWFtZWRSZXNwb25zZSA9IFtdXG4gICAgICAgIGNvbnN0IHJlcXVlc3RPcHRpb25zID0gdGhpcy51cGRhdGVSZXF1ZXN0T3B0aW9ucyhvcHRpb25zPy5oZWFkZXJzKVxuXG4gICAgICAgIHJldHVybiB0aGlzLmh0dHBNYW5hZ2VyU2VydmljZS5wb3N0UmVxdWVzdChkYXRhLCByZXF1ZXN0T3B0aW9ucywgb3B0aW9ucz8ucGF0aClcbiAgICAgICAgLnBpcGUoXG4gICAgICAgICAgdGFwKChkYXRhOiBhbnkpID0+IHtcbiAgICAgICAgICAgIGRhdGEgPSAoIWRhdGEpID8gKHRoaXMuZGF0YVR5cGUgPT09IERhdGFUeXBlLkFSUkFZKSA/IFtdIDoge30gOiBkYXRhXG4gICAgICAgICAgICB0aGlzLmFkZERhdGEkKGRhdGEpXG4gICAgICAgICAgfSksXG4gICAgICAgIClcblxuICAgICAgfSlcbiAgICApXG4gIClcblxuICAvLyBVUERBVEUgUkVDT1JEXG4gIHJlYWRvbmx5IHVwZGF0ZVJlY29yZCA9IChkYXRhOiBhbnl8bnVsbCwgb3B0aW9ucz86IFJlcXVlc3RPcHRpb25zKSA9PlxuICAgIHRoaXMuZWZmZWN0PGFueT4oKCkgPT5cbiAgICBvZihkYXRhKS5waXBlKFxuICAgICAgY29uY2F0TWFwKChkYXRhOiBhbnkpID0+IHtcblxuICAgICAgICB0aGlzLnN0cmVhbWVkUmVzcG9uc2UgPSBbXVxuICAgICAgICBjb25zdCByZXF1ZXN0T3B0aW9ucyA9IHRoaXMudXBkYXRlUmVxdWVzdE9wdGlvbnMob3B0aW9ucz8uaGVhZGVycylcblxuICAgICAgICByZXR1cm4gdGhpcy5odHRwTWFuYWdlclNlcnZpY2UucHV0UmVxdWVzdChkYXRhLCByZXF1ZXN0T3B0aW9ucywgb3B0aW9ucz8ucGF0aClcbiAgICAgICAgLnBpcGUoXG4gICAgICAgICAgdGFwKChkYXRhOiBhbnkpID0+IHtcbiAgICAgICAgICAgIGRhdGEgPSAoIWRhdGEpID8gKHRoaXMuZGF0YVR5cGUgPT09IERhdGFUeXBlLkFSUkFZKSA/IFtdIDoge30gOiBkYXRhXG4gICAgICAgICAgICB0aGlzLnVwZGF0ZURhdGEkKGRhdGEpXG4gICAgICAgICAgfSksXG4gICAgICAgIClcblxuICAgICAgfSlcbiAgICApXG4gIClcblxuICAvLyBERUxFVEUgUkVDT1JEXG4gIHJlYWRvbmx5IGRlbGV0ZVJlY29yZCA9IChvcHRpb25zPzogUmVxdWVzdE9wdGlvbnMpID0+XG4gICAgdGhpcy5lZmZlY3Q8YW55PigoKSA9PlxuICAgIG9mKG9wdGlvbnMpLnBpcGUoXG4gICAgICBjb25jYXRNYXAoKGRhdGE6IGFueSkgPT4ge1xuXG4gICAgICAgIHRoaXMuc3RyZWFtZWRSZXNwb25zZSA9IFtdXG4gICAgICAgIGNvbnN0IHJlcXVlc3RPcHRpb25zID0gdGhpcy51cGRhdGVSZXF1ZXN0T3B0aW9ucyhvcHRpb25zPy5oZWFkZXJzKVxuXG4gICAgICAgIHJldHVybiB0aGlzLmh0dHBNYW5hZ2VyU2VydmljZS5kZWxldGVSZXF1ZXN0KHJlcXVlc3RPcHRpb25zLCBvcHRpb25zPy5wYXRoKVxuICAgICAgICAucGlwZShcbiAgICAgICAgICB0YXAoKGRhdGE6IGFueSkgPT4ge1xuICAgICAgICAgICAgZGF0YSA9ICghZGF0YSkgPyAodGhpcy5kYXRhVHlwZSA9PT0gRGF0YVR5cGUuQVJSQVkpID8gW10gOiB7fSA6IGRhdGFcbiAgICAgICAgICAgIHRoaXMuZGVsZXRlRGF0YSQoZGF0YSlcbiAgICAgICAgICB9KSxcbiAgICAgICAgKVxuXG4gICAgICB9KVxuICAgIClcbiAgKVxuXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gIC8vIEZFVENIIFNUUkVBTVxuXG4gIHJlYWRvbmx5IGNyZWF0ZVN0cmVhbSA9IChkYXRhOiBhbnl8bnVsbCwgb3B0aW9ucz86IFJlcXVlc3RPcHRpb25zKSA9PlxuICAgIHRoaXMuZWZmZWN0PGFueT4oKCkgPT5cbiAgICBvZihkYXRhKS5waXBlKFxuICAgICAgdGFwKCgpID0+IHRoaXMuaHR0cE1hbmFnZXJTZXJ2aWNlLmlzUGVuZGluZy5uZXh0KHRydWUpKSxcbiAgICAgIHN3aXRjaE1hcCgoZGF0YTogYW55KSA9PiB7XG5cbiAgICAgICAgY29uc3QgcmVxdWVzdE9wdGlvbnMgPSB0aGlzLnVwZGF0ZVJlcXVlc3RPcHRpb25zKG9wdGlvbnM/LmhlYWRlcnMpXG5cbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cE1hbmFnZXJTZXJ2aWNlLnBvc3RSZXF1ZXN0KGRhdGEsIHJlcXVlc3RPcHRpb25zLCBvcHRpb25zPy5wYXRoKVxuICAgICAgICAucGlwZShcbiAgICAgICAgICB0YXAoKHJlczogYW55KSA9PiB7XG4gICAgICAgICAgICBpZihyZXMubGVuZ3RoID4gMCkgdGhpcy5zZXREYXRhJChyZXMpXG4gICAgICAgICAgICB0aGlzLnN0cmVhbWVkUmVzcG9uc2UgPSByZXNcbiAgICAgICAgICB9KSxcbiAgICAgICAgICBzY2FuKChhY2MsIHJlczogYW55KSA9PiB7XG5cbiAgICAgICAgICAgIGNvbnN0IHByZXZpb3VzID0gYWNjLmN1cnJlbnRcbiAgICAgICAgICAgIGNvbnN0IGN1cnJlbnQgPSByZXNcbiAgICAgICAgICAgIHJldHVybiB7IHByZXZpb3VzLCBjdXJyZW50IH07XG5cbiAgICAgICAgICB9LCB7IHByZXZpb3VzOiBudWxsLCBjdXJyZW50OiBudWxsIH0pLFxuICAgICAgICAgIHRhcCgoeyBwcmV2aW91cywgY3VycmVudCB9KSA9PiB7XG5cbiAgICAgICAgICAgIGlmKHByZXZpb3VzICYmIEpTT04uc3RyaW5naWZ5KHByZXZpb3VzKSA9PT0gSlNPTi5zdHJpbmdpZnkoY3VycmVudCkpIHtcbiAgICAgICAgICAgICAgdGhpcy5odHRwTWFuYWdlclNlcnZpY2UuaXNQZW5kaW5nLm5leHQoZmFsc2UpXG4gICAgICAgICAgICAgIHRoaXMuc2V0RGF0YSQoW10pXG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICB0aGlzLmh0dHBNYW5hZ2VyU2VydmljZS5pc1BlbmRpbmcubmV4dCh0cnVlKVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgfSlcbiAgICAgICAgKVxuXG4gICAgICB9KVxuICAgIClcblxuICApXG5cbiAgcmVhZG9ubHkgZmV0Y2hTdHJlYW0gPSAob3B0aW9ucz86IFJlcXVlc3RPcHRpb25zKSA9PlxuICAgIHRoaXMuZWZmZWN0PGFueT4oKCkgPT5cbiAgICBvZihvcHRpb25zKS5waXBlKFxuICAgICAgdGFwKCgpID0+IHRoaXMuaHR0cE1hbmFnZXJTZXJ2aWNlLmlzUGVuZGluZy5uZXh0KHRydWUpKSxcbiAgICAgIHN3aXRjaE1hcCgob3B0aW9uczogYW55KSA9PiB7XG5cbiAgICAgICAgY29uc3QgcmVxdWVzdE9wdGlvbnMgPSB0aGlzLnVwZGF0ZVJlcXVlc3RPcHRpb25zKG9wdGlvbnM/LmhlYWRlcnMpXG4gICAgICAgIHJlcXVlc3RPcHRpb25zLnN0cmVhbSA9IHRydWVcblxuICAgICAgICByZXR1cm4gdGhpcy5odHRwTWFuYWdlclNlcnZpY2UuZ2V0UmVxdWVzdChyZXF1ZXN0T3B0aW9ucywgb3B0aW9ucz8ucGF0aClcbiAgICAgICAgLnBpcGUoXG4gICAgICAgICAgdGFwKChyZXM6IGFueSkgPT4ge1xuXG4gICAgICAgICAgICBpZihyZXMubGVuZ3RoID4gMCkgdGhpcy5zZXREYXRhJChyZXMpXG4gICAgICAgICAgICB0aGlzLnN0cmVhbWVkUmVzcG9uc2UgPSByZXNcbiAgICAgICAgICB9KSxcbiAgICAgICAgICBzY2FuKChhY2MsIHJlczogYW55KSA9PiB7XG5cbiAgICAgICAgICAgIGNvbnN0IHByZXZpb3VzID0gYWNjLmN1cnJlbnRcbiAgICAgICAgICAgIGNvbnN0IGN1cnJlbnQgPSByZXNcbiAgICAgICAgICAgIHJldHVybiB7IHByZXZpb3VzLCBjdXJyZW50IH1cblxuICAgICAgICAgIH0sIHsgcHJldmlvdXM6IG51bGwsIGN1cnJlbnQ6IG51bGwgfSksXG4gICAgICAgICAgdGFwKCh7IHByZXZpb3VzLCBjdXJyZW50IH0pID0+IHtcblxuICAgICAgICAgICAgaWYocHJldmlvdXMgJiYgSlNPTi5zdHJpbmdpZnkocHJldmlvdXMpID09PSBKU09OLnN0cmluZ2lmeShjdXJyZW50KSkge1xuICAgICAgICAgICAgICB0aGlzLmh0dHBNYW5hZ2VyU2VydmljZS5pc1BlbmRpbmcubmV4dChmYWxzZSlcbiAgICAgICAgICAgICAgdGhpcy5zZXREYXRhJChbXSlcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgIHRoaXMuaHR0cE1hbmFnZXJTZXJ2aWNlLmlzUGVuZGluZy5uZXh0KHRydWUpXG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICB9KVxuICAgICAgICApXG5cbiAgICAgIH0pLFxuICAgIClcbiAgKVxuXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gIC8vIE1JU0NcblxuICBwcml2YXRlIGlzRW1wdHkob2JqOiBhbnkpIHtcbiAgICByZXR1cm4gT2JqZWN0LmtleXMob2JqKS5sZW5ndGggPT09IDBcbiAgfVxuXG4gIHByaXZhdGUgdXBkYXRlUmVxdWVzdE9wdGlvbnMoaGVhZGVycz86IGFueSk6IEFwaVJlcXVlc3Qge1xuXG4gICAgY29uc3Qgb3B0aW9ucyA9IEFwaVJlcXVlc3QuYWRhcHQoeyAuLi50aGlzLmFwaU9wdGlvbnMgfSlcblxuICAgIG9wdGlvbnMuaGVhZGVycyA9IChoZWFkZXJzKVxuICAgICAgICAgID8geyAuLi5vcHRpb25zLmhlYWRlcnMsIC4uLmhlYWRlcnMgfVxuICAgICAgICAgIDogeyAuLi5vcHRpb25zLmhlYWRlcnMgfVxuXG4gICAgcmV0dXJuIG9wdGlvbnNcbiAgfVxuXG59XG4iXX0=
|
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
export * from "./http-manager-state.store";
|
|
2
|
-
export * from "./models/index";
|
|
3
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9odHRwLXJlcXVlc3QtbWFuYWdlci9zcmMvbGliL3NlcnZpY2VzL3JlcXVlc3QtbWFuYWdlci1zdGF0ZS1zZXJ2aWNlL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsNEJBQTRCLENBQUM7QUFFM0MsY0FBYyxnQkFBZ0IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gXCIuL2h0dHAtbWFuYWdlci1zdGF0ZS5zdG9yZVwiO1xuXG5leHBvcnQgKiBmcm9tIFwiLi9tb2RlbHMvaW5kZXhcIjtcbiJdfQ==
|
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
import { RetryOptions } from "../../request-manager-services";
|
|
2
|
-
export class ApiRequest {
|
|
3
|
-
constructor(server = '', path, headers, adapter, mapper, polling, retry, stream, displayError, saveAs) {
|
|
4
|
-
this.server = server;
|
|
5
|
-
this.path = path;
|
|
6
|
-
this.headers = headers;
|
|
7
|
-
this.adapter = adapter;
|
|
8
|
-
this.mapper = mapper;
|
|
9
|
-
this.polling = polling;
|
|
10
|
-
this.retry = retry;
|
|
11
|
-
this.stream = stream;
|
|
12
|
-
this.displayError = displayError;
|
|
13
|
-
this.saveAs = saveAs;
|
|
14
|
-
}
|
|
15
|
-
static adapt(item) {
|
|
16
|
-
const server = Array.isArray(item?.server) ? item.server.join('/') : item?.server || '';
|
|
17
|
-
return new ApiRequest(server, (item?.path) ? item.path : [], (item?.headers) ? item.headers : {}, item?.adapter, item?.mapper, item?.polling ? Math.floor(item.polling) : 0, item?.retry ? RetryOptions.adapt(item.retry) : RetryOptions.adapt(), (item?.stream) ? item.stream : false, (item?.displayError) ? item.displayError : false, item?.saveAs);
|
|
18
|
-
}
|
|
19
|
-
}
|
|
20
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBpLXJlcXVlc3QubW9kZWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9odHRwLXJlcXVlc3QtbWFuYWdlci9zcmMvbGliL3NlcnZpY2VzL3JlcXVlc3QtbWFuYWdlci1zdGF0ZS1zZXJ2aWNlL21vZGVscy9hcGktcmVxdWVzdC5tb2RlbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sZ0NBQWdDLENBQUE7QUFlN0QsTUFBTSxPQUFPLFVBQVU7SUFFckIsWUFDUyxTQUFTLEVBQUUsRUFDWCxJQUFZLEVBQ1osT0FBYSxFQUNiLE9BQWEsRUFDYixNQUFZLEVBQ1osT0FBZ0IsRUFDaEIsS0FBb0IsRUFDcEIsTUFBZ0IsRUFDaEIsWUFBc0IsRUFDdEIsTUFBZTtRQVRmLFdBQU0sR0FBTixNQUFNLENBQUs7UUFDWCxTQUFJLEdBQUosSUFBSSxDQUFRO1FBQ1osWUFBTyxHQUFQLE9BQU8sQ0FBTTtRQUNiLFlBQU8sR0FBUCxPQUFPLENBQU07UUFDYixXQUFNLEdBQU4sTUFBTSxDQUFNO1FBQ1osWUFBTyxHQUFQLE9BQU8sQ0FBUztRQUNoQixVQUFLLEdBQUwsS0FBSyxDQUFlO1FBQ3BCLFdBQU0sR0FBTixNQUFNLENBQVU7UUFDaEIsaUJBQVksR0FBWixZQUFZLENBQVU7UUFDdEIsV0FBTSxHQUFOLE1BQU0sQ0FBUztJQUNyQixDQUFDO0lBRUosTUFBTSxDQUFDLEtBQUssQ0FBQyxJQUFVO1FBRXJCLE1BQU0sTUFBTSxHQUFHLEtBQUssQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFFLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxFQUFFLE1BQU0sSUFBSSxFQUFFLENBQUM7UUFFeEYsT0FBTyxJQUFJLFVBQVUsQ0FDbkIsTUFBTSxFQUNOLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQzdCLENBQUMsSUFBSSxFQUFFLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQ25DLElBQUksRUFBRSxPQUFPLEVBQ2IsSUFBSSxFQUFFLE1BQU0sRUFDWixJQUFJLEVBQUUsT0FBTyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUM1QyxJQUFJLEVBQUUsS0FBSyxDQUFDLENBQUMsQ0FBQyxZQUFZLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsWUFBWSxDQUFDLEtBQUssRUFBRSxFQUNuRSxDQUFDLElBQUksRUFBRSxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsS0FBSyxFQUNwQyxDQUFDLElBQUksRUFBRSxZQUFZLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsS0FBSyxFQUNoRCxJQUFJLEVBQUUsTUFBTSxDQUNiLENBQUE7SUFFSCxDQUFDO0NBRUYiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBSZXRyeU9wdGlvbnMgfSBmcm9tIFwiLi4vLi4vcmVxdWVzdC1tYW5hZ2VyLXNlcnZpY2VzXCJcblxuZXhwb3J0IGludGVyZmFjZSBBcGlSZXF1ZXN0SW50ZXJmYWNlIHtcbiAgc2VydmVyOiBzdHJpbmdcbiAgcGF0aD86IGFueVtdXG4gIGhlYWRlcnM/OiBhbnlcbiAgYWRhcHRlcj86IGFueVxuICBtYXBwZXI/OiBhbnlcbiAgcG9sbGluZz86IG51bWJlciAvLyBzZWNvbmRzICh1bmRlZmluZWQgfCAwID0gbm9uZSlcbiAgcmV0cnk/OiBSZXRyeU9wdGlvbnNcbiAgc3RyZWFtPzogYm9vbGVhblxuICBkaXNwbGF5RXJyb3I/OiBib29sZWFuXG4gIHNhdmVBcz86IHN0cmluZ1xufVxuXG5leHBvcnQgY2xhc3MgQXBpUmVxdWVzdCBpbXBsZW1lbnRzIEFwaVJlcXVlc3RJbnRlcmZhY2Uge1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHB1YmxpYyBzZXJ2ZXIgPSAnJyxcbiAgICBwdWJsaWMgcGF0aD86IGFueVtdLFxuICAgIHB1YmxpYyBoZWFkZXJzPzogYW55LFxuICAgIHB1YmxpYyBhZGFwdGVyPzogYW55LFxuICAgIHB1YmxpYyBtYXBwZXI/OiBhbnksXG4gICAgcHVibGljIHBvbGxpbmc/OiBudW1iZXIsXG4gICAgcHVibGljIHJldHJ5PzogUmV0cnlPcHRpb25zLFxuICAgIHB1YmxpYyBzdHJlYW0/OiBib29sZWFuLFxuICAgIHB1YmxpYyBkaXNwbGF5RXJyb3I/OiBib29sZWFuLFxuICAgIHB1YmxpYyBzYXZlQXM/OiBzdHJpbmcsXG4gICkge31cblxuICBzdGF0aWMgYWRhcHQoaXRlbT86IGFueSk6IEFwaVJlcXVlc3Qge1xuXG4gICAgY29uc3Qgc2VydmVyID0gQXJyYXkuaXNBcnJheShpdGVtPy5zZXJ2ZXIpID8gaXRlbS5zZXJ2ZXIuam9pbignLycpIDogaXRlbT8uc2VydmVyIHx8ICcnO1xuXG4gICAgcmV0dXJuIG5ldyBBcGlSZXF1ZXN0KFxuICAgICAgc2VydmVyLFxuICAgICAgKGl0ZW0/LnBhdGgpID8gaXRlbS5wYXRoIDogW10sXG4gICAgICAoaXRlbT8uaGVhZGVycykgPyBpdGVtLmhlYWRlcnMgOiB7fSxcbiAgICAgIGl0ZW0/LmFkYXB0ZXIsXG4gICAgICBpdGVtPy5tYXBwZXIsXG4gICAgICBpdGVtPy5wb2xsaW5nID8gTWF0aC5mbG9vcihpdGVtLnBvbGxpbmcpIDogMCxcbiAgICAgIGl0ZW0/LnJldHJ5ID8gUmV0cnlPcHRpb25zLmFkYXB0KGl0ZW0ucmV0cnkpIDogUmV0cnlPcHRpb25zLmFkYXB0KCksXG4gICAgICAoaXRlbT8uc3RyZWFtKSA/IGl0ZW0uc3RyZWFtIDogZmFsc2UsXG4gICAgICAoaXRlbT8uZGlzcGxheUVycm9yKSA/IGl0ZW0uZGlzcGxheUVycm9yIDogZmFsc2UsXG4gICAgICBpdGVtPy5zYXZlQXMsXG4gICAgKVxuXG4gIH1cblxufVxuIl19
|
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
export * from "./api-request.model";
|
|
2
|
-
export * from "./request-options.model";
|
|
3
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9odHRwLXJlcXVlc3QtbWFuYWdlci9zcmMvbGliL3NlcnZpY2VzL3JlcXVlc3QtbWFuYWdlci1zdGF0ZS1zZXJ2aWNlL21vZGVscy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLHFCQUFxQixDQUFDO0FBQ3BDLGNBQWMseUJBQXlCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tIFwiLi9hcGktcmVxdWVzdC5tb2RlbFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vcmVxdWVzdC1vcHRpb25zLm1vZGVsXCI7XG5cbiJdfQ==
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
export class RequestOptions {
|
|
2
|
-
constructor(path = [], headers = {}) {
|
|
3
|
-
this.path = path;
|
|
4
|
-
this.headers = headers;
|
|
5
|
-
}
|
|
6
|
-
static adapt(item) {
|
|
7
|
-
return new RequestOptions(item?.path, item?.headers);
|
|
8
|
-
}
|
|
9
|
-
}
|
|
10
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVxdWVzdC1vcHRpb25zLm1vZGVsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvaHR0cC1yZXF1ZXN0LW1hbmFnZXIvc3JjL2xpYi9zZXJ2aWNlcy9yZXF1ZXN0LW1hbmFnZXItc3RhdGUtc2VydmljZS9tb2RlbHMvcmVxdWVzdC1vcHRpb25zLm1vZGVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUtBLE1BQU0sT0FBTyxjQUFjO0lBRXpCLFlBQ1MsT0FBYyxFQUFFLEVBQ2hCLFVBQVUsRUFBRTtRQURaLFNBQUksR0FBSixJQUFJLENBQVk7UUFDaEIsWUFBTyxHQUFQLE9BQU8sQ0FBSztJQUNsQixDQUFDO0lBRUosTUFBTSxDQUFDLEtBQUssQ0FBQyxJQUFVO1FBRXJCLE9BQU8sSUFBSSxjQUFjLENBQ3ZCLElBQUksRUFBRSxJQUFJLEVBQ1YsSUFBSSxFQUFFLE9BQU8sQ0FDZCxDQUFBO0lBRUgsQ0FBQztDQUVGIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGludGVyZmFjZSBSZXF1ZXN0T3B0aW9uc0ludGVyZmFjZSB7XG4gICAgcGF0aDogYW55W10sXG4gICAgaGVhZGVyczogYW55LFxufVxuXG5leHBvcnQgY2xhc3MgUmVxdWVzdE9wdGlvbnMgaW1wbGVtZW50cyBSZXF1ZXN0T3B0aW9uc0ludGVyZmFjZSB7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHVibGljIHBhdGg6IGFueVtdID0gW10sXG4gICAgcHVibGljIGhlYWRlcnMgPSB7fSxcbiAgKSB7fVxuXG4gIHN0YXRpYyBhZGFwdChpdGVtPzogYW55KTogUmVxdWVzdE9wdGlvbnMge1xuXG4gICAgcmV0dXJuIG5ldyBSZXF1ZXN0T3B0aW9ucyhcbiAgICAgIGl0ZW0/LnBhdGgsXG4gICAgICBpdGVtPy5oZWFkZXJzLFxuICAgIClcblxuICB9XG5cbn1cbiJdfQ==
|
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
import { APP_ID, Inject, Injectable } from '@angular/core';
|
|
2
|
-
import * as i0 from "@angular/core";
|
|
3
|
-
// Must provide a value for APP_ID in AppModule->Providers
|
|
4
|
-
// providers: [
|
|
5
|
-
// {
|
|
6
|
-
// provide: APP_ID,
|
|
7
|
-
// useValue: "056991ac-3537-43ab-b5b9-83edf6554eff",
|
|
8
|
-
// },
|
|
9
|
-
export class AppService {
|
|
10
|
-
constructor(id) {
|
|
11
|
-
this.id = id;
|
|
12
|
-
this.appID = this.id;
|
|
13
|
-
}
|
|
14
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: AppService, deps: [{ token: APP_ID }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
15
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: AppService, providedIn: 'root' }); }
|
|
16
|
-
}
|
|
17
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: AppService, decorators: [{
|
|
18
|
-
type: Injectable,
|
|
19
|
-
args: [{
|
|
20
|
-
providedIn: 'root'
|
|
21
|
-
}]
|
|
22
|
-
}], ctorParameters: function () { return [{ type: undefined, decorators: [{
|
|
23
|
-
type: Inject,
|
|
24
|
-
args: [APP_ID]
|
|
25
|
-
}] }]; } });
|
|
26
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9odHRwLXJlcXVlc3QtbWFuYWdlci9zcmMvbGliL3NlcnZpY2VzL3V0aWxzL2FwcC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFFM0QsMERBQTBEO0FBQzFELGVBQWU7QUFDZixNQUFNO0FBQ04sdUJBQXVCO0FBQ3ZCLHdEQUF3RDtBQUN4RCxPQUFPO0FBS1AsTUFBTSxPQUFPLFVBQVU7SUFJckIsWUFBb0MsRUFBVTtRQUFWLE9BQUUsR0FBRixFQUFFLENBQVE7UUFDNUMsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsRUFBRSxDQUFBO0lBQ3RCLENBQUM7K0dBTlUsVUFBVSxrQkFJRCxNQUFNO21IQUpmLFVBQVUsY0FGVCxNQUFNOzs0RkFFUCxVQUFVO2tCQUh0QixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQjs7MEJBS2MsTUFBTTsyQkFBQyxNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQVBQX0lELCBJbmplY3QsIEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuLy8gTXVzdCBwcm92aWRlIGEgdmFsdWUgZm9yIEFQUF9JRCBpbiBBcHBNb2R1bGUtPlByb3ZpZGVyc1xuLy8gcHJvdmlkZXJzOiBbXG4vLyAgIHtcbi8vICAgICBwcm92aWRlOiBBUFBfSUQsXG4vLyAgICAgdXNlVmFsdWU6IFwiMDU2OTkxYWMtMzUzNy00M2FiLWI1YjktODNlZGY2NTU0ZWZmXCIsXG4vLyAgIH0sXG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIEFwcFNlcnZpY2Uge1xuXG4gIGFwcElEOiBzdHJpbmdcblxuICBjb25zdHJ1Y3RvcihASW5qZWN0KEFQUF9JRCkgcHJpdmF0ZSBpZDogc3RyaW5nKSB7XG4gICAgdGhpcy5hcHBJRCA9IHRoaXMuaWRcbiAgfVxuXG59XG4iXX0=
|