http-request-manager 4.1.3 → 4.1.7

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/README.md CHANGED
@@ -2,11 +2,45 @@
2
2
 
3
3
  This library has 4 main services that simplify http requests, http request state and local storage states.
4
4
 
5
- 1) [HttpRequestManager](./README/REQUEST_MANAGER_README.md) (service): This service provides http requests (CRUD operations)
6
- 2) [HttpRequestStateManager](./README/REQUEST_STATE_MANAGER_README.md) (service): This service manages HTTP requests by maintaining state, eliminating the need to construct separate API calls for POST, PUT, and DELETE operations. It uses a GET request to retrieve an array of items and applies standard REST rules to update the state. When the state changes—either by adding a new record or modifying an existing one—the service automatically performs the appropriate POST, PUT, or DELETE requests without requiring explicit API calls.
7
- 3) [LocalStorageManager](./README/LOCAL_STORAGE_MANAGER_README.md) (service): Enables the storage of data object structures in either localStorage or sessionStorage, maintaining an updated state to reflect storage changes. This approach eliminates the need to manually serialize and deserialize data structures using JSON.stringify and JSON.parse, streamlining data handling. By synchronizing state with storage updates, the service ensures immediate availability of the current state without relying on timers, thereby preventing potential side effects associated with delayed storage operations.
8
- 4) [DatabaseManagerService](./README/DATABASE_MANAGER_README.md) (beta): This extends the `Http-Request-State-Manager` with persistent storage using `DexieJS`, a minimalistic wrapper for IndexedDB (local browser DB). This service defines a table linked to HTTP requests, storing the retrieved data locally. Upon subsequent requests, the `Http-Request-State-Manager` checks the local database first; if the data is absent, it proceeds with the HTTP request. This approach reduces redundant HTTP requests, enhances application responsiveness, and enables offline functionality without requiring an internet connection.
9
- 5) [Interceptors](./README/INTERCEPTORS_README.md): General interceptors that may be applied to the providers for requests.
5
+ Here is an example:
6
+
7
+ In this example we want to GET data from this URL with the following query params:
8
+ `http://localhost:4200/assets/as/auth/1234/users?sortBy=asc`
9
+
10
+ Setup the options
11
+
12
+ ```ts
13
+ const reqParams = ApiRequest.adapt({
14
+ server: 'http://localhost:4200/assets', // baseUrl
15
+ path: ['as', 'auth'], // additional paths you want to add
16
+ polling: 30, //make same request every 30s
17
+ retry: { times: 3, delay: 3 }, // retry 3 times spacing next the retry by 3 seconds
18
+ displayError: true // display toast if error occurs
19
+ adapter: ClientInfo.adpat // Client Model/Adapter class
20
+ })
21
+ ```
22
+ Now we use the base configs made above and when we make the request we want to add an `userId` which contains `1234` and path `'/users'`
23
+ We also want to add query params to the request `{ sortBy: 'asc'}` which will be 'sortBy=asc'
24
+
25
+ ```ts
26
+ this.data$ = this.httpManagerService.getRequest<ClientInfo[]>(reqParams, [userId, 'users', { sortBy: 'asc' }])
27
+ ```
28
+
29
+ This returns an Observable which you then can implement it in your template as
30
+
31
+ `{{ (data$ | async) | json }}`
32
+
33
+ ## Overview
34
+
35
+ 1) [HttpRequestManager](./src/lib/services/request-manager-services/README.md) (service): This service provides http requests (CRUD operations) and file download, with or without streaming.
36
+
37
+ 2) [HttpRequestStateManager](./src/lib/services/request-manager-state-service/README.md) (service): This service manages HTTP requests by maintaining state, eliminating the need to construct separate API calls for POST, PUT, and DELETE operations. It uses a GET request to retrieve an array of items and applies standard REST rules to update the state. When the state changes—either by adding a new record or modifying an existing one—the service automatically performs the appropriate POST, PUT, or DELETE requests without requiring explicit API calls.
38
+
39
+ 3) [LocalStorageManager](./src/lib/services/local-storage-manager-service/README.md) (service): Enables the storage of data object structures in either localStorage or sessionStorage, maintaining an updated state to reflect storage changes. This approach eliminates the need to manually serialize and deserialize data structures using JSON.stringify and JSON.parse, streamlining data handling. By synchronizing state with storage updates, the service ensures immediate availability of the current state without relying on timers, thereby preventing potential side effects associated with delayed storage operations.
40
+
41
+ 4) [DatabaseManagerService](./src/lib/services/database-manager-services/README.md) (beta): This extends the `Http-Request-State-Manager` with persistent storage using `DexieJS`, a minimalistic wrapper for IndexedDB (local browser DB). This service defines a table linked to HTTP requests, storing the retrieved data locally. Upon subsequent requests, the `Http-Request-State-Manager` checks the local database first; if the data is absent, it proceeds with the HTTP request. This approach reduces redundant HTTP requests, enhances application responsiveness, and enables offline functionality without requiring an internet connection.
42
+
43
+ 5) [Interceptors](./src/lib/interceptors/README.md): General interceptors that may be applied to the providers for requests.
10
44
  This includes:
11
45
 
12
46
  - credentials - adds the { credentials: true } options for secure cookies to be persistent
@@ -17,8 +51,9 @@ This library has 4 main services that simplify http requests, http request state
17
51
  - 'Content-Type': 'application/json', // BE header for json type requests
18
52
  - 'Accept-Language': this.language || 'en-CA', //language localization
19
53
  - 'Current-Date': this.currentDate //todays date
20
- 6) [Proxy-Config](./README/INTERCEPTORS_README.md) Support: This allows for proxies to be used when requests are made that are defined.
21
- 7) Demos available for all the above that demonstrate all functionality
54
+ Support: This allows for proxies to be used when requests are made that are defined.
55
+
56
+ 6) Demos available for all the above that demonstrate all functionality
22
57
 
23
58
  - import `HttpRequestManagerModule`
24
59
  - add the selector `<app-http-request-services-demo></app-http-request-services-demo>` to a template
@@ -56,7 +91,8 @@ This library has 4 main services that simplify http requests, http request state
56
91
  - Updating, Deleting, Creating
57
92
  - Supports data objects (no JSON.stringify or JSON.parse)
58
93
 
59
- # Advanced Topics
94
+ ## Advanced Topics
60
95
 
61
- 1) [Module.forRoot()](./README/FORROOT_README%20copy.md) Module.forRoot() Configuration for Defaults
62
- 2) [Adapter-Models](./README/ADAPTERS_README.md) Pattern - Strong Types
96
+ 1) [Proxy-Config](./README/INTERCEPTORS_README.md)
97
+ 2) [Module.forRoot()](./README/FORROOT_README.md) Module.forRoot() Configuration for Defaults
98
+ 3) [Adapter-Models](./README/ADAPTERS_README.md) Pattern - Strong Types
@@ -23,14 +23,15 @@ import { ProxyDebuggerInterceptor } from './interceptors/proxy-debugger.intercep
23
23
  import { ConfigOptions } from './models';
24
24
  import { CONFIG_SETTINGS_TOKEN } from './models/config-token.model';
25
25
  import { HTTPManagerService, LocalStorageManagerService } from './services';
26
+ import { ToastMessageDisplayModule } from 'toast-message-display';
26
27
  import { FileDownloaderModule } from './http-request-services-demo/request-manager-demo/file-downloader/file-download.module';
27
- import { ToastMessageModule } from 'toast-message-display';
28
- import { HttpRequestServicesDemoComponent } from '../public-api';
29
- import { LocalStorageDemoComponent } from './http-request-services-demo/local-storage-demo/local-storage-demo.component';
30
- import { RequestManagerDemoComponent } from './http-request-services-demo/request-manager-demo/request-manager-demo.component';
28
+ import { HttpRequestServicesDemoComponent } from './http-request-services-demo/http-request-services-demo.component';
31
29
  import { RequestManagerStateDemoComponent } from './http-request-services-demo/request-manager-state-demo/request-manager-state-demo.component';
30
+ import { RequestManagerDemoComponent } from './http-request-services-demo/request-manager-demo/request-manager-demo.component';
31
+ import { LocalStorageDemoComponent } from './http-request-services-demo/local-storage-demo/local-storage-demo.component';
32
32
  import * as i0 from "@angular/core";
33
33
  import * as i1 from "@ngx-translate/core";
34
+ // import { DatabaseDataDemoComponent } from './http-request-services-demo/database-data-demo/database-data-demo.component';
34
35
  export class HttpRequestManagerModule {
35
36
  static forRoot(config = ConfigOptions.adapt()) {
36
37
  return {
@@ -48,7 +49,7 @@ export class HttpRequestManagerModule {
48
49
  LocalStorageDemoComponent
49
50
  // DatabaseDataDemoComponent,
50
51
  ], imports: [CommonModule,
51
- ToastMessageModule,
52
+ ToastMessageDisplayModule,
52
53
  FormsModule,
53
54
  ReactiveFormsModule,
54
55
  MatButtonModule,
@@ -74,7 +75,7 @@ export class HttpRequestManagerModule {
74
75
  { provide: CONFIG_SETTINGS_TOKEN, useValue: ConfigOptions.adapt() },
75
76
  HTTPManagerService, LocalStorageManagerService
76
77
  ], imports: [CommonModule,
77
- ToastMessageModule,
78
+ ToastMessageDisplayModule,
78
79
  FormsModule,
79
80
  ReactiveFormsModule,
80
81
  MatButtonModule,
@@ -101,7 +102,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
101
102
  args: [{
102
103
  imports: [
103
104
  CommonModule,
104
- ToastMessageModule,
105
+ ToastMessageDisplayModule,
105
106
  FormsModule,
106
107
  ReactiveFormsModule,
107
108
  MatButtonModule,
@@ -142,4 +143,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
142
143
  ],
143
144
  }]
144
145
  }] });
145
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaHR0cC1yZXF1ZXN0LW1hbmFnZXIubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvaHR0cC1yZXF1ZXN0LW1hbmFnZXIvc3JjL2xpYi9odHRwLXJlcXVlc3QtbWFuYWdlci5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDekQsT0FBTyxFQUF1QixRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFOUQsT0FBTyxFQUFFLDBCQUEwQixFQUFFLHlCQUF5QixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDdkYsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBRXRELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUUvQyxPQUFPLEVBQUUsV0FBVyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDbEUsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDdkUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzNELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUM3RCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUNsRSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3pELE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ3RFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSwy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LEtBQUssRUFBRSxFQUFFO3dCQUNuRSxrQkFBa0IsRUFBRSwwQkFBMEI7cUJBQy9DO2lCQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSFRUUF9JTlRFUkNFUFRPUlMgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQgeyBNb2R1bGVXaXRoUHJvdmlkZXJzLCBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBXaXRoQ3JlZGVudGlhbHNJbnRlcmNlcHRvciwgUmVxdWVzdEhlYWRlcnNJbnRlcmNlcHRvciB9IGZyb20gJy4vaW50ZXJjZXB0b3JzJztcbmltcG9ydCB7IFRyYW5zbGF0ZU1vZHVsZSB9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xuXG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuXG5pbXBvcnQgeyBGb3Jtc01vZHVsZSwgUmVhY3RpdmVGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IE1hdEF1dG9jb21wbGV0ZU1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2F1dG9jb21wbGV0ZSc7XG5pbXBvcnQgeyBNYXRCdXR0b25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9idXR0b24nO1xuaW1wb3J0IHsgTWF0Q2hpcHNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9jaGlwcyc7XG5pbXBvcnQgeyBNYXREaXZpZGVyTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGl2aWRlcic7XG5pbXBvcnQgeyBNYXRGb3JtRmllbGRNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9mb3JtLWZpZWxkJztcbmltcG9ydCB7IE1hdEljb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pY29uJztcbmltcG9ydCB7IE1hdElucHV0TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaW5wdXQnO1xuaW1wb3J0IHsgTWF0UHJvZ3Jlc3NCYXJNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9wcm9ncmVzcy1iYXInO1xuaW1wb3J0IHsgTWF0U2VsZWN0TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvc2VsZWN0JztcbmltcG9ydCB7IE1hdFNpZGVuYXZNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9zaWRlbmF2JztcbmltcG9ydCB7IE1hdFNsaWRlVG9nZ2xlTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvc2xpZGUtdG9nZ2xlJztcbmltcG9ydCB7IE1hdE1lbnVNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9tZW51JztcbmltcG9ydCB7IE1hdFRvb2xiYXJNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC90b29sYmFyJztcbmltcG9ydCB7IE1hdFRhYmxlTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvdGFibGUnO1xuaW1wb3J0IHsgTWF0QnV0dG9uVG9nZ2xlTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvYnV0dG9uLXRvZ2dsZSc7XG5pbXBvcnQgeyBQcm94eURlYnVnZ2VySW50ZXJjZXB0b3IgfSBmcm9tICcuL2ludGVyY2VwdG9ycy9wcm94eS1kZWJ1Z2dlci5pbnRlcmNlcHRvcic7XG5cbmltcG9ydCB7IENvbmZpZ09wdGlvbnMgfSBmcm9tICcuL21vZGVscyc7XG5pbXBvcnQgeyBDT05GSUdfU0VUVElOR1NfVE9LRU4gfSBmcm9tICcuL21vZGVscy9jb25maWctdG9rZW4ubW9kZWwnO1xuaW1wb3J0IHsgSFRUUE1hbmFnZXJTZXJ2aWNlLCBMb2NhbFN0b3JhZ2VNYW5hZ2VyU2VydmljZSB9IGZyb20gJy4vc2VydmljZXMnO1xuXG5pbXBvcnQgeyBGaWxlRG93bmxvYWRlck1vZHVsZSB9IGZyb20gJy4vaHR0cC1yZXF1ZXN0LXNlcnZpY2VzLWRlbW8vcmVxdWVzdC1tYW5hZ2VyLWRlbW8vZmlsZS1kb3dubG9hZGVyL2ZpbGUtZG93bmxvYWQubW9kdWxlJztcblxuaW1wb3J0IHsgVG9hc3RNZXNzYWdlTW9kdWxlIH0gZnJvbSAndG9hc3QtbWVzc2FnZS1kaXNwbGF5JztcblxuaW1wb3J0IHsgSHR0cFJlcXVlc3RTZXJ2aWNlc0RlbW9Db21wb25lbnQgfSBmcm9tICcuLi9wdWJsaWMtYXBpJztcbmltcG9ydCB7IExvY2FsU3RvcmFnZURlbW9Db21wb25lbnQgfSBmcm9tICcuL2h0dHAtcmVxdWVzdC1zZXJ2aWNlcy1kZW1vL2xvY2FsLXN0b3JhZ2UtZGVtby9sb2NhbC1zdG9yYWdlLWRlbW8uY29tcG9uZW50JztcbmltcG9ydCB7IFJlcXVlc3RNYW5hZ2VyRGVtb0NvbXBvbmVudCB9IGZyb20gJy4vaHR0cC1yZXF1ZXN0LXNlcnZpY2VzLWRlbW8vcmVxdWVzdC1tYW5hZ2VyLWRlbW8vcmVxdWVzdC1tYW5hZ2VyLWRlbW8uY29tcG9uZW50JztcbmltcG9ydCB7IFJlcXVlc3RNYW5hZ2VyU3RhdGVEZW1vQ29tcG9uZW50IH0gZnJvbSAnLi9odHRwLXJlcXVlc3Qtc2VydmljZXMtZGVtby9yZXF1ZXN0LW1hbmFnZXItc3RhdGUtZGVtby9yZXF1ZXN0LW1hbmFnZXItc3RhdGUtZGVtby5jb21wb25lbnQnO1xuXG5ATmdNb2R1bGUoe1xuICBpbXBvcnRzOiBbXG4gICAgQ29tbW9uTW9kdWxlLFxuICAgIFRvYXN0TWVzc2FnZU1vZHVsZSxcbiAgICBGb3Jtc01vZHVsZSxcbiAgICBSZWFjdGl2ZUZvcm1zTW9kdWxlLFxuICAgIE1hdEJ1dHRvbk1vZHVsZSxcbiAgICBNYXRTZWxlY3RNb2R1bGUsXG4gICAgTWF0Q2hpcHNNb2R1bGUsXG4gICAgTWF0TWVudU1vZHVsZSxcbiAgICBNYXRJY29uTW9kdWxlLFxuICAgIE1hdFRhYmxlTW9kdWxlLFxuICAgIE1hdFRvb2xiYXJNb2R1bGUsXG4gICAgTWF0QnV0dG9uVG9nZ2xlTW9kdWxlLFxuICAgIE1hdEF1dG9jb21wbGV0ZU1vZHVsZSxcbiAgICBNYXRQcm9ncmVzc0Jhck1vZHVsZSxcbiAgICBNYXRTbGlkZVRvZ2dsZU1vZHVsZSxcbiAgICBNYXREaXZpZGVyTW9kdWxlLFxuICAgIE1hdEZvcm1GaWVsZE1vZHVsZSxcbiAgICBNYXRJbnB1dE1vZHVsZSxcbiAgICBNYXRTbGlkZVRvZ2dsZU1vZHVsZSxcbiAgICBUcmFuc2xhdGVNb2R1bGUuZm9yUm9vdCgpLFxuICAgIE1hdFNpZGVuYXZNb2R1bGUsXG4gICAgRmlsZURvd25sb2FkZXJNb2R1bGUsXG4gIF0sXG4gIGRlY2xhcmF0aW9uczogW1xuICAgIEh0dHBSZXF1ZXN0U2VydmljZXNEZW1vQ29tcG9uZW50LFxuICAgIFJlcXVlc3RNYW5hZ2VyU3RhdGVEZW1vQ29tcG9uZW50LFxuICAgIFJlcXVlc3RNYW5hZ2VyRGVtb0NvbXBvbmVudCxcbiAgICBMb2NhbFN0b3JhZ2VEZW1vQ29tcG9uZW50XG4gICAgLy8gRGF0YWJhc2VEYXRhRGVtb0NvbXBvbmVudCxcbiAgXSxcbiAgZXhwb3J0czogW1xuICAgIEh0dHBSZXF1ZXN0U2VydmljZXNEZW1vQ29tcG9uZW50LFxuICBdLFxuICBwcm92aWRlcnM6IFtcbiAgICB7IHByb3ZpZGU6IEhUVFBfSU5URVJDRVBUT1JTLCB1c2VDbGFzczogV2l0aENyZWRlbnRpYWxzSW50ZXJjZXB0b3IsIG11bHRpOiB0cnVlIH0sXG4gICAgeyBwcm92aWRlOiBIVFRQX0lOVEVSQ0VQVE9SUywgdXNlQ2xhc3M6IFJlcXVlc3RIZWFkZXJzSW50ZXJjZXB0b3IsIG11bHRpOiB0cnVlIH0sXG4gICAgeyBwcm92aWRlOiBIVFRQX0lOVEVSQ0VQVE9SUywgdXNlQ2xhc3M6IFByb3h5RGVidWdnZXJJbnRlcmNlcHRvciwgbXVsdGk6IHRydWUgfSxcbiAgICB7IHByb3ZpZGU6IENPTkZJR19TRVRUSU5HU19UT0tFTiwgdXNlVmFsdWU6IENvbmZpZ09wdGlvbnMuYWRhcHQoKSB9LFxuICAgIEhUVFBNYW5hZ2VyU2VydmljZSwgTG9jYWxTdG9yYWdlTWFuYWdlclNlcnZpY2VcbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgSHR0cFJlcXVlc3RNYW5hZ2VyTW9kdWxlIHtcblxuICBzdGF0aWMgZm9yUm9vdChjb25maWc6IENvbmZpZ09wdGlvbnMgPSBDb25maWdPcHRpb25zLmFkYXB0KCkpOiBNb2R1bGVXaXRoUHJvdmlkZXJzPEh0dHBSZXF1ZXN0TWFuYWdlck1vZHVsZT4ge1xuICAgIHJldHVybiB7XG4gICAgICBuZ01vZHVsZTogSHR0cFJlcXVlc3RNYW5hZ2VyTW9kdWxlLFxuICAgICAgcHJvdmlkZXJzOiBbXG4gICAgICAgIHsgcHJvdmlkZTogQ09ORklHX1NFVFRJTkdTX1RPS0VOLCB1c2VWYWx1ZTogQ29uZmlnT3B0aW9ucy5hZGFwdChjb25maWcpIH0sXG4gICAgICAgIEhUVFBNYW5hZ2VyU2VydmljZSwgTG9jYWxTdG9yYWdlTWFuYWdlclNlcnZpY2UgLy9hbGwgc2VydmljZXMgdGhhdCBuZWVkIGFjY2VzcyB0byBjb25maWdcbiAgICAgIF0sXG4gICAgfTtcbiAgICB9XG5cbn1cblxuXG4iXX0=
146
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaHR0cC1yZXF1ZXN0LW1hbmFnZXIubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvaHR0cC1yZXF1ZXN0LW1hbmFnZXIvc3JjL2xpYi9odHRwLXJlcXVlc3QtbWFuYWdlci5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDekQsT0FBTyxFQUF1QixRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFOUQsT0FBTyxFQUFFLDBCQUEwQixFQUFFLHlCQUF5QixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDdkYsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBRXRELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUUvQyxPQUFPLEVBQUUsV0FBVyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDbEUsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDdkUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzNELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUM3RCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUNsRSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3pELE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ3RFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSwy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LEVBQUUsYUFBYSxDQUFDLEtBQUssRUFBRSxFQUFFO3dCQUNuRSxrQkFBa0IsRUFBRSwwQkFBMEI7cUJBQy9DO2lCQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSFRUUF9JTlRFUkNFUFRPUlMgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQgeyBNb2R1bGVXaXRoUHJvdmlkZXJzLCBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBXaXRoQ3JlZGVudGlhbHNJbnRlcmNlcHRvciwgUmVxdWVzdEhlYWRlcnNJbnRlcmNlcHRvciB9IGZyb20gJy4vaW50ZXJjZXB0b3JzJztcbmltcG9ydCB7IFRyYW5zbGF0ZU1vZHVsZSB9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xuXG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuXG5pbXBvcnQgeyBGb3Jtc01vZHVsZSwgUmVhY3RpdmVGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IE1hdEF1dG9jb21wbGV0ZU1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2F1dG9jb21wbGV0ZSc7XG5pbXBvcnQgeyBNYXRCdXR0b25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9idXR0b24nO1xuaW1wb3J0IHsgTWF0Q2hpcHNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9jaGlwcyc7XG5pbXBvcnQgeyBNYXREaXZpZGVyTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGl2aWRlcic7XG5pbXBvcnQgeyBNYXRGb3JtRmllbGRNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9mb3JtLWZpZWxkJztcbmltcG9ydCB7IE1hdEljb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pY29uJztcbmltcG9ydCB7IE1hdElucHV0TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaW5wdXQnO1xuaW1wb3J0IHsgTWF0UHJvZ3Jlc3NCYXJNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9wcm9ncmVzcy1iYXInO1xuaW1wb3J0IHsgTWF0U2VsZWN0TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvc2VsZWN0JztcbmltcG9ydCB7IE1hdFNpZGVuYXZNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9zaWRlbmF2JztcbmltcG9ydCB7IE1hdFNsaWRlVG9nZ2xlTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvc2xpZGUtdG9nZ2xlJztcbmltcG9ydCB7IE1hdE1lbnVNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9tZW51JztcbmltcG9ydCB7IE1hdFRvb2xiYXJNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC90b29sYmFyJztcbmltcG9ydCB7IE1hdFRhYmxlTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvdGFibGUnO1xuaW1wb3J0IHsgTWF0QnV0dG9uVG9nZ2xlTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvYnV0dG9uLXRvZ2dsZSc7XG5pbXBvcnQgeyBQcm94eURlYnVnZ2VySW50ZXJjZXB0b3IgfSBmcm9tICcuL2ludGVyY2VwdG9ycy9wcm94eS1kZWJ1Z2dlci5pbnRlcmNlcHRvcic7XG5cbmltcG9ydCB7IENvbmZpZ09wdGlvbnMgfSBmcm9tICcuL21vZGVscyc7XG5pbXBvcnQgeyBDT05GSUdfU0VUVElOR1NfVE9LRU4gfSBmcm9tICcuL21vZGVscy9jb25maWctdG9rZW4ubW9kZWwnO1xuaW1wb3J0IHsgSFRUUE1hbmFnZXJTZXJ2aWNlLCBMb2NhbFN0b3JhZ2VNYW5hZ2VyU2VydmljZSB9IGZyb20gJy4vc2VydmljZXMnO1xuXG5cbmltcG9ydCB7IFRvYXN0TWVzc2FnZURpc3BsYXlNb2R1bGUgfSBmcm9tICd0b2FzdC1tZXNzYWdlLWRpc3BsYXknO1xuXG5pbXBvcnQgeyBGaWxlRG93bmxvYWRlck1vZHVsZSB9IGZyb20gJy4vaHR0cC1yZXF1ZXN0LXNlcnZpY2VzLWRlbW8vcmVxdWVzdC1tYW5hZ2VyLWRlbW8vZmlsZS1kb3dubG9hZGVyL2ZpbGUtZG93bmxvYWQubW9kdWxlJztcblxuaW1wb3J0IHsgSHR0cFJlcXVlc3RTZXJ2aWNlc0RlbW9Db21wb25lbnQgfSBmcm9tICcuL2h0dHAtcmVxdWVzdC1zZXJ2aWNlcy1kZW1vL2h0dHAtcmVxdWVzdC1zZXJ2aWNlcy1kZW1vLmNvbXBvbmVudCc7XG5cbmltcG9ydCB7IFJlcXVlc3RNYW5hZ2VyU3RhdGVEZW1vQ29tcG9uZW50IH0gZnJvbSAnLi9odHRwLXJlcXVlc3Qtc2VydmljZXMtZGVtby9yZXF1ZXN0LW1hbmFnZXItc3RhdGUtZGVtby9yZXF1ZXN0LW1hbmFnZXItc3RhdGUtZGVtby5jb21wb25lbnQnO1xuaW1wb3J0IHsgUmVxdWVzdE1hbmFnZXJEZW1vQ29tcG9uZW50IH0gZnJvbSAnLi9odHRwLXJlcXVlc3Qtc2VydmljZXMtZGVtby9yZXF1ZXN0LW1hbmFnZXItZGVtby9yZXF1ZXN0LW1hbmFnZXItZGVtby5jb21wb25lbnQnO1xuaW1wb3J0IHsgTG9jYWxTdG9yYWdlRGVtb0NvbXBvbmVudCB9IGZyb20gJy4vaHR0cC1yZXF1ZXN0LXNlcnZpY2VzLWRlbW8vbG9jYWwtc3RvcmFnZS1kZW1vL2xvY2FsLXN0b3JhZ2UtZGVtby5jb21wb25lbnQnO1xuLy8gaW1wb3J0IHsgRGF0YWJhc2VEYXRhRGVtb0NvbXBvbmVudCB9IGZyb20gJy4vaHR0cC1yZXF1ZXN0LXNlcnZpY2VzLWRlbW8vZGF0YWJhc2UtZGF0YS1kZW1vL2RhdGFiYXNlLWRhdGEtZGVtby5jb21wb25lbnQnO1xuXG5cbkBOZ01vZHVsZSh7XG4gIGltcG9ydHM6IFtcbiAgICBDb21tb25Nb2R1bGUsXG4gICAgVG9hc3RNZXNzYWdlRGlzcGxheU1vZHVsZSxcbiAgICBGb3Jtc01vZHVsZSxcbiAgICBSZWFjdGl2ZUZvcm1zTW9kdWxlLFxuICAgIE1hdEJ1dHRvbk1vZHVsZSxcbiAgICBNYXRTZWxlY3RNb2R1bGUsXG4gICAgTWF0Q2hpcHNNb2R1bGUsXG4gICAgTWF0TWVudU1vZHVsZSxcbiAgICBNYXRJY29uTW9kdWxlLFxuICAgIE1hdFRhYmxlTW9kdWxlLFxuICAgIE1hdFRvb2xiYXJNb2R1bGUsXG4gICAgTWF0QnV0dG9uVG9nZ2xlTW9kdWxlLFxuICAgIE1hdEF1dG9jb21wbGV0ZU1vZHVsZSxcbiAgICBNYXRQcm9ncmVzc0Jhck1vZHVsZSxcbiAgICBNYXRTbGlkZVRvZ2dsZU1vZHVsZSxcbiAgICBNYXREaXZpZGVyTW9kdWxlLFxuICAgIE1hdEZvcm1GaWVsZE1vZHVsZSxcbiAgICBNYXRJbnB1dE1vZHVsZSxcbiAgICBNYXRTbGlkZVRvZ2dsZU1vZHVsZSxcbiAgICBUcmFuc2xhdGVNb2R1bGUuZm9yUm9vdCgpLFxuICAgIE1hdFNpZGVuYXZNb2R1bGUsXG4gICAgRmlsZURvd25sb2FkZXJNb2R1bGUsXG4gIF0sXG4gIGRlY2xhcmF0aW9uczogW1xuICAgIEh0dHBSZXF1ZXN0U2VydmljZXNEZW1vQ29tcG9uZW50LFxuICAgIFJlcXVlc3RNYW5hZ2VyU3RhdGVEZW1vQ29tcG9uZW50LFxuICAgIFJlcXVlc3RNYW5hZ2VyRGVtb0NvbXBvbmVudCxcbiAgICBMb2NhbFN0b3JhZ2VEZW1vQ29tcG9uZW50XG4gICAgLy8gRGF0YWJhc2VEYXRhRGVtb0NvbXBvbmVudCxcbiAgXSxcbiAgZXhwb3J0czogW1xuICAgIEh0dHBSZXF1ZXN0U2VydmljZXNEZW1vQ29tcG9uZW50LFxuICBdLFxuICBwcm92aWRlcnM6IFtcbiAgICB7IHByb3ZpZGU6IEhUVFBfSU5URVJDRVBUT1JTLCB1c2VDbGFzczogV2l0aENyZWRlbnRpYWxzSW50ZXJjZXB0b3IsIG11bHRpOiB0cnVlIH0sXG4gICAgeyBwcm92aWRlOiBIVFRQX0lOVEVSQ0VQVE9SUywgdXNlQ2xhc3M6IFJlcXVlc3RIZWFkZXJzSW50ZXJjZXB0b3IsIG11bHRpOiB0cnVlIH0sXG4gICAgeyBwcm92aWRlOiBIVFRQX0lOVEVSQ0VQVE9SUywgdXNlQ2xhc3M6IFByb3h5RGVidWdnZXJJbnRlcmNlcHRvciwgbXVsdGk6IHRydWUgfSxcbiAgICB7IHByb3ZpZGU6IENPTkZJR19TRVRUSU5HU19UT0tFTiwgdXNlVmFsdWU6IENvbmZpZ09wdGlvbnMuYWRhcHQoKSB9LFxuICAgIEhUVFBNYW5hZ2VyU2VydmljZSwgTG9jYWxTdG9yYWdlTWFuYWdlclNlcnZpY2VcbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgSHR0cFJlcXVlc3RNYW5hZ2VyTW9kdWxlIHtcblxuICBzdGF0aWMgZm9yUm9vdChjb25maWc6IENvbmZpZ09wdGlvbnMgPSBDb25maWdPcHRpb25zLmFkYXB0KCkpOiBNb2R1bGVXaXRoUHJvdmlkZXJzPEh0dHBSZXF1ZXN0TWFuYWdlck1vZHVsZT4ge1xuICAgIHJldHVybiB7XG4gICAgICBuZ01vZHVsZTogSHR0cFJlcXVlc3RNYW5hZ2VyTW9kdWxlLFxuICAgICAgcHJvdmlkZXJzOiBbXG4gICAgICAgIHsgcHJvdmlkZTogQ09ORklHX1NFVFRJTkdTX1RPS0VOLCB1c2VWYWx1ZTogQ29uZmlnT3B0aW9ucy5hZGFwdChjb25maWcpIH0sXG4gICAgICAgIEhUVFBNYW5hZ2VyU2VydmljZSwgTG9jYWxTdG9yYWdlTWFuYWdlclNlcnZpY2UgLy9hbGwgc2VydmljZXMgdGhhdCBuZWVkIGFjY2VzcyB0byBjb25maWdcbiAgICAgIF0sXG4gICAgfTtcbiAgICB9XG5cbn1cblxuXG4iXX0=
@@ -29,13 +29,13 @@ export class HttpRequestServicesDemoComponent {
29
29
  this.selectedService = this.requestTypes[type].value;
30
30
  }
31
31
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: HttpRequestServicesDemoComponent, deps: [{ token: CONFIG_SETTINGS_TOKEN }], target: i0.ɵɵFactoryTarget.Component }); }
32
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: HttpRequestServicesDemoComponent, selector: "app-http-request-services-demo", ngImport: i0, template: "<mat-toolbar style=\"display:flex\">\n <div>Global Data</div>\n <div style=\"flex:1\"></div>\n <button mat-stroked-button [matMenuTriggerFor]=\"menu\">Services</button>\n <mat-menu #menu=\"matMenu\">\n <ng-container *ngFor=\"let type of requestTypes; index as i\">\n <div\n *ngIf=\"type?.divider\"\n style=\"margin-top: .5rem; margin-bottom: .5rem;\"\n >\n <mat-divider></mat-divider>\n </div>\n <button\n mat-menu-item\n (click)=\"onSelected(i)\"\n [disabled]=\"type.disabled\"\n >\n {{ type.name }}\n </button>\n </ng-container>\n\n </mat-menu>\n</mat-toolbar>\n\n<span [ngSwitch]=\"selectedService\">\n <p *ngSwitchCase=\"'http_service'\">\n <ng-container *ngTemplateOutlet=\"HTTP_OPTIONS\"></ng-container>\n <app-request-manager-demo></app-request-manager-demo>\n </p>\n <p *ngSwitchCase=\"'http_state_service'\">\n <ng-container *ngTemplateOutlet=\"HTTP_OPTIONS\"></ng-container>\n <app-request-manager-state-demo></app-request-manager-state-demo>\n </p>\n <p *ngSwitchCase=\"'database_service'\">\n <!-- <app-database-data-demo></app-database-data-demo> -->\n </p>\n <p *ngSwitchCase=\"'local_storage_service'\">\n <ng-container *ngTemplateOutlet=\"LOCAL_OPTIONS\"></ng-container>\n <app-local-storage-demo></app-local-storage-demo>\n </p>\n <p *ngSwitchDefault>\n Other\n </p>\n</span>\n\n<ng-template #HTTP_OPTIONS>\n <ng-container *ngIf=\"injectionOptions?.httpRequestOptions\">\n <div class=\"box\">\n <h3 style=\"font-weight: bold;\">Injection Token Detected - HTTP Options</h3>\n {{ injectionOptions?.httpRequestOptions| json }}\n </div>\n </ng-container>\n</ng-template>\n\n<ng-template #LOCAL_OPTIONS>\n <ng-container class=\"box\" *ngIf=\"injectionOptions?.LocalStorageOptions\">\n <div class=\"box\">\n <h3 style=\"font-weight: bold;\">Injection Token Detected - LocalStorage Options</h3>\n {{ injectionOptions?.LocalStorageOptions| json }}\n </div>\n </ng-container>\n</ng-template>\n\n\n", styles: [".box{padding:1rem;background-color:#f5f5f5;border:thin gray solid;margin-top:1rem}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i1.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i1.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "directive", type: i1.NgSwitchDefault, selector: "[ngSwitchDefault]" }, { kind: "component", type: i2.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "component", type: i3.MatMenu, selector: "mat-menu", exportAs: ["matMenu"] }, { kind: "component", type: i3.MatMenuItem, selector: "[mat-menu-item]", inputs: ["disabled", "disableRipple", "role"], exportAs: ["matMenuItem"] }, { kind: "directive", type: i3.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", exportAs: ["matMenuTrigger"] }, { kind: "component", type: i4.MatToolbar, selector: "mat-toolbar", inputs: ["color"], exportAs: ["matToolbar"] }, { kind: "component", type: i5.MatDivider, selector: "mat-divider", inputs: ["vertical", "inset"] }, { kind: "component", type: i6.RequestManagerStateDemoComponent, selector: "app-request-manager-state-demo" }, { kind: "component", type: i7.RequestManagerDemoComponent, selector: "app-request-manager-demo" }, { kind: "component", type: i8.LocalStorageDemoComponent, selector: "app-local-storage-demo" }, { kind: "pipe", type: i1.JsonPipe, name: "json" }] }); }
32
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: HttpRequestServicesDemoComponent, selector: "app-http-request-services-demo", ngImport: i0, template: "<mat-toolbar style=\"display:flex\">\n <div>Global Data</div>\n <div style=\"flex:1\"></div>\n <button mat-stroked-button [matMenuTriggerFor]=\"menu\">Services</button>\n <mat-menu #menu=\"matMenu\">\n <ng-container *ngFor=\"let type of requestTypes; index as i\">\n <div\n *ngIf=\"type?.divider\"\n style=\"margin-top: .5rem; margin-bottom: .5rem;\"\n >\n <mat-divider></mat-divider>\n </div>\n <button\n mat-menu-item\n (click)=\"onSelected(i)\"\n [disabled]=\"type.disabled\"\n >\n {{ type.name }}\n </button>\n </ng-container>\n\n </mat-menu>\n</mat-toolbar>\n\n<span [ngSwitch]=\"selectedService\">\n <p *ngSwitchCase=\"'http_service'\">\n <ng-container *ngTemplateOutlet=\"HTTP_OPTIONS\"></ng-container>\n <app-request-manager-demo></app-request-manager-demo>\n </p>\n <p *ngSwitchCase=\"'http_state_service'\">\n <ng-container *ngTemplateOutlet=\"HTTP_OPTIONS\"></ng-container>\n <app-request-manager-state-demo></app-request-manager-state-demo>\n </p>\n <p *ngSwitchCase=\"'database_service'\">\n <!-- <app-database-data-demo></app-database-data-demo> -->\n </p>\n <p *ngSwitchCase=\"'local_storage_service'\">\n <ng-container *ngTemplateOutlet=\"LOCAL_OPTIONS\"></ng-container>\n <app-local-storage-demo></app-local-storage-demo>\n </p>\n <p *ngSwitchDefault>\n Other\n </p>\n</span>\n\n<ng-template #HTTP_OPTIONS>\n <ng-container *ngIf=\"injectionOptions?.httpRequestOptions\">\n <div class=\"box\">\n <h3 style=\"font-weight: bold;\">Injection Token Detected - HTTP Options</h3>\n {{ injectionOptions?.httpRequestOptions| json }}\n </div>\n </ng-container>\n</ng-template>\n\n<ng-template #LOCAL_OPTIONS>\n <ng-container class=\"box\" *ngIf=\"injectionOptions?.LocalStorageOptions\">\n <div class=\"box\">\n <h3 style=\"font-weight: bold;\">Injection Token Detected - LocalStorage Options</h3>\n {{ injectionOptions?.LocalStorageOptions | json }}\n </div>\n </ng-container>\n</ng-template>\n\n\n", styles: [".box{padding:1rem;background-color:#f5f5f5;border:thin gray solid;margin-top:1rem}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i1.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i1.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "directive", type: i1.NgSwitchDefault, selector: "[ngSwitchDefault]" }, { kind: "component", type: i2.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "component", type: i3.MatMenu, selector: "mat-menu", exportAs: ["matMenu"] }, { kind: "component", type: i3.MatMenuItem, selector: "[mat-menu-item]", inputs: ["disabled", "disableRipple", "role"], exportAs: ["matMenuItem"] }, { kind: "directive", type: i3.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", exportAs: ["matMenuTrigger"] }, { kind: "component", type: i4.MatToolbar, selector: "mat-toolbar", inputs: ["color"], exportAs: ["matToolbar"] }, { kind: "component", type: i5.MatDivider, selector: "mat-divider", inputs: ["vertical", "inset"] }, { kind: "component", type: i6.RequestManagerStateDemoComponent, selector: "app-request-manager-state-demo" }, { kind: "component", type: i7.RequestManagerDemoComponent, selector: "app-request-manager-demo" }, { kind: "component", type: i8.LocalStorageDemoComponent, selector: "app-local-storage-demo" }, { kind: "pipe", type: i1.JsonPipe, name: "json" }] }); }
33
33
  }
34
34
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: HttpRequestServicesDemoComponent, decorators: [{
35
35
  type: Component,
36
- args: [{ selector: 'app-http-request-services-demo', template: "<mat-toolbar style=\"display:flex\">\n <div>Global Data</div>\n <div style=\"flex:1\"></div>\n <button mat-stroked-button [matMenuTriggerFor]=\"menu\">Services</button>\n <mat-menu #menu=\"matMenu\">\n <ng-container *ngFor=\"let type of requestTypes; index as i\">\n <div\n *ngIf=\"type?.divider\"\n style=\"margin-top: .5rem; margin-bottom: .5rem;\"\n >\n <mat-divider></mat-divider>\n </div>\n <button\n mat-menu-item\n (click)=\"onSelected(i)\"\n [disabled]=\"type.disabled\"\n >\n {{ type.name }}\n </button>\n </ng-container>\n\n </mat-menu>\n</mat-toolbar>\n\n<span [ngSwitch]=\"selectedService\">\n <p *ngSwitchCase=\"'http_service'\">\n <ng-container *ngTemplateOutlet=\"HTTP_OPTIONS\"></ng-container>\n <app-request-manager-demo></app-request-manager-demo>\n </p>\n <p *ngSwitchCase=\"'http_state_service'\">\n <ng-container *ngTemplateOutlet=\"HTTP_OPTIONS\"></ng-container>\n <app-request-manager-state-demo></app-request-manager-state-demo>\n </p>\n <p *ngSwitchCase=\"'database_service'\">\n <!-- <app-database-data-demo></app-database-data-demo> -->\n </p>\n <p *ngSwitchCase=\"'local_storage_service'\">\n <ng-container *ngTemplateOutlet=\"LOCAL_OPTIONS\"></ng-container>\n <app-local-storage-demo></app-local-storage-demo>\n </p>\n <p *ngSwitchDefault>\n Other\n </p>\n</span>\n\n<ng-template #HTTP_OPTIONS>\n <ng-container *ngIf=\"injectionOptions?.httpRequestOptions\">\n <div class=\"box\">\n <h3 style=\"font-weight: bold;\">Injection Token Detected - HTTP Options</h3>\n {{ injectionOptions?.httpRequestOptions| json }}\n </div>\n </ng-container>\n</ng-template>\n\n<ng-template #LOCAL_OPTIONS>\n <ng-container class=\"box\" *ngIf=\"injectionOptions?.LocalStorageOptions\">\n <div class=\"box\">\n <h3 style=\"font-weight: bold;\">Injection Token Detected - LocalStorage Options</h3>\n {{ injectionOptions?.LocalStorageOptions| json }}\n </div>\n </ng-container>\n</ng-template>\n\n\n", styles: [".box{padding:1rem;background-color:#f5f5f5;border:thin gray solid;margin-top:1rem}\n"] }]
36
+ args: [{ selector: 'app-http-request-services-demo', template: "<mat-toolbar style=\"display:flex\">\n <div>Global Data</div>\n <div style=\"flex:1\"></div>\n <button mat-stroked-button [matMenuTriggerFor]=\"menu\">Services</button>\n <mat-menu #menu=\"matMenu\">\n <ng-container *ngFor=\"let type of requestTypes; index as i\">\n <div\n *ngIf=\"type?.divider\"\n style=\"margin-top: .5rem; margin-bottom: .5rem;\"\n >\n <mat-divider></mat-divider>\n </div>\n <button\n mat-menu-item\n (click)=\"onSelected(i)\"\n [disabled]=\"type.disabled\"\n >\n {{ type.name }}\n </button>\n </ng-container>\n\n </mat-menu>\n</mat-toolbar>\n\n<span [ngSwitch]=\"selectedService\">\n <p *ngSwitchCase=\"'http_service'\">\n <ng-container *ngTemplateOutlet=\"HTTP_OPTIONS\"></ng-container>\n <app-request-manager-demo></app-request-manager-demo>\n </p>\n <p *ngSwitchCase=\"'http_state_service'\">\n <ng-container *ngTemplateOutlet=\"HTTP_OPTIONS\"></ng-container>\n <app-request-manager-state-demo></app-request-manager-state-demo>\n </p>\n <p *ngSwitchCase=\"'database_service'\">\n <!-- <app-database-data-demo></app-database-data-demo> -->\n </p>\n <p *ngSwitchCase=\"'local_storage_service'\">\n <ng-container *ngTemplateOutlet=\"LOCAL_OPTIONS\"></ng-container>\n <app-local-storage-demo></app-local-storage-demo>\n </p>\n <p *ngSwitchDefault>\n Other\n </p>\n</span>\n\n<ng-template #HTTP_OPTIONS>\n <ng-container *ngIf=\"injectionOptions?.httpRequestOptions\">\n <div class=\"box\">\n <h3 style=\"font-weight: bold;\">Injection Token Detected - HTTP Options</h3>\n {{ injectionOptions?.httpRequestOptions| json }}\n </div>\n </ng-container>\n</ng-template>\n\n<ng-template #LOCAL_OPTIONS>\n <ng-container class=\"box\" *ngIf=\"injectionOptions?.LocalStorageOptions\">\n <div class=\"box\">\n <h3 style=\"font-weight: bold;\">Injection Token Detected - LocalStorage Options</h3>\n {{ injectionOptions?.LocalStorageOptions | json }}\n </div>\n </ng-container>\n</ng-template>\n\n\n", styles: [".box{padding:1rem;background-color:#f5f5f5;border:thin gray solid;margin-top:1rem}\n"] }]
37
37
  }], ctorParameters: function () { return [{ type: i9.ConfigOptions, decorators: [{
38
38
  type: Inject,
39
39
  args: [CONFIG_SETTINGS_TOKEN]
40
40
  }] }]; } });
41
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaHR0cC1yZXF1ZXN0LXNlcnZpY2VzLWRlbW8uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvaHR0cC1yZXF1ZXN0LW1hbmFnZXIvc3JjL2xpYi9odHRwLXJlcXVlc3Qtc2VydmljZXMtZGVtby9odHRwLXJlcXVlc3Qtc2VydmljZXMtZGVtby5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9odHRwLXJlcXVlc3QtbWFuYWdlci9zcmMvbGliL2h0dHAtcmVxdWVzdC1zZXJ2aWNlcy1kZW1vL2h0dHAtcmVxdWVzdC1zZXJ2aWNlcy1kZW1vLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFVLE1BQU0sZUFBZSxDQUFDO0FBRTFELE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLDhCQUE4QixDQUFDOzs7Ozs7Ozs7OztBQVFyRSxNQUFNLE9BQU8sZ0NBQWdDO0lBYTNDLFlBQW1ELGFBQTZCO1FBQTdCLGtCQUFhLEdBQWIsYUFBYSxDQUFnQjtRQVhoRixpQkFBWSxHQUFHO1lBQ2IsRUFBRSxJQUFJLEVBQUUsY0FBYyxFQUFFLEtBQUssRUFBRSxjQUFjLEVBQUU7WUFDL0MsRUFBRSxJQUFJLEVBQUUsb0JBQW9CLEVBQUUsS0FBSyxFQUFFLG9CQUFvQixFQUFFO1lBQzNELEVBQUUsSUFBSSxFQUFFLGtCQUFrQixFQUFFLEtBQUssRUFBRSxrQkFBa0IsRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUU7WUFDdEYsRUFBRSxJQUFJLEVBQUUsdUJBQXVCLEVBQUUsS0FBSyxFQUFFLHVCQUF1QixFQUFFO1NBQ2xFLENBQUE7UUFFRCxvQkFBZSxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFBO0lBSXdDLENBQUM7SUFFckYsUUFBUTtRQUNOLElBQUcsSUFBSSxDQUFDLGFBQWE7WUFBRSxJQUFJLENBQUMsZ0JBQWdCLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQTtJQUNuRSxDQUFDO0lBRUQsVUFBVSxDQUFDLElBQVk7UUFDckIsSUFBSSxDQUFDLGVBQWUsR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxDQUFDLEtBQUssQ0FBQTtJQUN0RCxDQUFDOytHQXJCVSxnQ0FBZ0Msa0JBYXZCLHFCQUFxQjttR0FiOUIsZ0NBQWdDLHNFQ1Y3QyxzaEVBZ0VBOzs0RkR0RGEsZ0NBQWdDO2tCQUw1QyxTQUFTOytCQUNFLGdDQUFnQzs7MEJBaUI3QixNQUFNOzJCQUFDLHFCQUFxQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5qZWN0LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgQ09ORklHX1NFVFRJTkdTX1RPS0VOIH0gZnJvbSAnLi4vbW9kZWxzL2NvbmZpZy10b2tlbi5tb2RlbCc7XG5pbXBvcnQgeyBDb25maWdPcHRpb25zIH0gZnJvbSAnLi4vbW9kZWxzL2NvbmZpZy1vcHRpb25zLm1vZGVsJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYXBwLWh0dHAtcmVxdWVzdC1zZXJ2aWNlcy1kZW1vJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2h0dHAtcmVxdWVzdC1zZXJ2aWNlcy1kZW1vLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vaHR0cC1yZXF1ZXN0LXNlcnZpY2VzLWRlbW8uY29tcG9uZW50LnNjc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBIdHRwUmVxdWVzdFNlcnZpY2VzRGVtb0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG5cbiAgcmVxdWVzdFR5cGVzID0gW1xuICAgIHsgbmFtZTogXCJIdHRwIFNlcnZpY2VcIiwgdmFsdWU6ICdodHRwX3NlcnZpY2UnIH0sXG4gICAgeyBuYW1lOiBcIkh0dHAgU3RhdGUgU2VydmljZVwiLCB2YWx1ZTogJ2h0dHBfc3RhdGVfc2VydmljZScgfSxcbiAgICB7IG5hbWU6IFwiRGF0YWJhc2UgU2VydmljZVwiLCB2YWx1ZTogJ2RhdGFiYXNlX3NlcnZpY2UnLCBkaXZpZGVyOiB0cnVlLCBkaXNhYmxlZDogdHJ1ZSB9LFxuICAgIHsgbmFtZTogXCJMb2NhbCBTdG9yYWdlIFNlcnZpY2VcIiwgdmFsdWU6ICdsb2NhbF9zdG9yYWdlX3NlcnZpY2UnIH0sXG4gIF1cblxuICBzZWxlY3RlZFNlcnZpY2UgPSB0aGlzLnJlcXVlc3RUeXBlc1swXS52YWx1ZVxuXG4gIGluamVjdGlvbk9wdGlvbnM/OiBDb25maWdPcHRpb25zXG5cbiAgY29uc3RydWN0b3IoQEluamVjdChDT05GSUdfU0VUVElOR1NfVE9LRU4pIHByaXZhdGUgY29uZmlnT3B0aW9ucz86IENvbmZpZ09wdGlvbnMpIHsgfVxuXG4gIG5nT25Jbml0KCkge1xuICAgIGlmKHRoaXMuY29uZmlnT3B0aW9ucykgdGhpcy5pbmplY3Rpb25PcHRpb25zID0gdGhpcy5jb25maWdPcHRpb25zXG4gIH1cblxuICBvblNlbGVjdGVkKHR5cGU6IG51bWJlcikge1xuICAgIHRoaXMuc2VsZWN0ZWRTZXJ2aWNlID0gdGhpcy5yZXF1ZXN0VHlwZXNbdHlwZV0udmFsdWVcbiAgfVxuXG59XG4iLCI8bWF0LXRvb2xiYXIgIHN0eWxlPVwiZGlzcGxheTpmbGV4XCI+XG4gIDxkaXY+R2xvYmFsIERhdGE8L2Rpdj5cbiAgPGRpdiBzdHlsZT1cImZsZXg6MVwiPjwvZGl2PlxuICA8YnV0dG9uIG1hdC1zdHJva2VkLWJ1dHRvbiBbbWF0TWVudVRyaWdnZXJGb3JdPVwibWVudVwiPlNlcnZpY2VzPC9idXR0b24+XG4gIDxtYXQtbWVudSAjbWVudT1cIm1hdE1lbnVcIj5cbiAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCB0eXBlIG9mIHJlcXVlc3RUeXBlczsgaW5kZXggYXMgaVwiPlxuICAgICAgPGRpdlxuICAgICAgICAqbmdJZj1cInR5cGU/LmRpdmlkZXJcIlxuICAgICAgICBzdHlsZT1cIm1hcmdpbi10b3A6IC41cmVtOyBtYXJnaW4tYm90dG9tOiAuNXJlbTtcIlxuICAgICAgPlxuICAgICAgICA8bWF0LWRpdmlkZXI+PC9tYXQtZGl2aWRlcj5cbiAgICAgIDwvZGl2PlxuICAgICAgPGJ1dHRvblxuICAgICAgICBtYXQtbWVudS1pdGVtXG4gICAgICAgIChjbGljayk9XCJvblNlbGVjdGVkKGkpXCJcbiAgICAgICAgW2Rpc2FibGVkXT1cInR5cGUuZGlzYWJsZWRcIlxuICAgICAgICA+XG4gICAgICAgIHt7IHR5cGUubmFtZSB9fVxuICAgICAgPC9idXR0b24+XG4gICAgPC9uZy1jb250YWluZXI+XG5cbiAgPC9tYXQtbWVudT5cbjwvbWF0LXRvb2xiYXI+XG5cbjxzcGFuIFtuZ1N3aXRjaF09XCJzZWxlY3RlZFNlcnZpY2VcIj5cbiAgPHAgKm5nU3dpdGNoQ2FzZT1cIidodHRwX3NlcnZpY2UnXCI+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cIkhUVFBfT1BUSU9OU1wiPjwvbmctY29udGFpbmVyPlxuICAgIDxhcHAtcmVxdWVzdC1tYW5hZ2VyLWRlbW8+PC9hcHAtcmVxdWVzdC1tYW5hZ2VyLWRlbW8+XG4gIDwvcD5cbiAgPHAgKm5nU3dpdGNoQ2FzZT1cIidodHRwX3N0YXRlX3NlcnZpY2UnXCI+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cIkhUVFBfT1BUSU9OU1wiPjwvbmctY29udGFpbmVyPlxuICAgIDxhcHAtcmVxdWVzdC1tYW5hZ2VyLXN0YXRlLWRlbW8+PC9hcHAtcmVxdWVzdC1tYW5hZ2VyLXN0YXRlLWRlbW8+XG4gIDwvcD5cbiAgPHAgKm5nU3dpdGNoQ2FzZT1cIidkYXRhYmFzZV9zZXJ2aWNlJ1wiPlxuICAgIDwhLS0gPGFwcC1kYXRhYmFzZS1kYXRhLWRlbW8+PC9hcHAtZGF0YWJhc2UtZGF0YS1kZW1vPiAtLT5cbiAgPC9wPlxuICA8cCAqbmdTd2l0Y2hDYXNlPVwiJ2xvY2FsX3N0b3JhZ2Vfc2VydmljZSdcIj5cbiAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiTE9DQUxfT1BUSU9OU1wiPjwvbmctY29udGFpbmVyPlxuICAgIDxhcHAtbG9jYWwtc3RvcmFnZS1kZW1vPjwvYXBwLWxvY2FsLXN0b3JhZ2UtZGVtbz5cbiAgPC9wPlxuICA8cCAqbmdTd2l0Y2hEZWZhdWx0PlxuICAgIE90aGVyXG4gIDwvcD5cbjwvc3Bhbj5cblxuPG5nLXRlbXBsYXRlICNIVFRQX09QVElPTlM+XG4gIDxuZy1jb250YWluZXIgKm5nSWY9XCJpbmplY3Rpb25PcHRpb25zPy5odHRwUmVxdWVzdE9wdGlvbnNcIj5cbiAgICA8ZGl2IGNsYXNzPVwiYm94XCI+XG4gICAgICA8aDMgc3R5bGU9XCJmb250LXdlaWdodDogYm9sZDtcIj5JbmplY3Rpb24gVG9rZW4gRGV0ZWN0ZWQgLSBIVFRQIE9wdGlvbnM8L2gzPlxuICAgICAge3sgaW5qZWN0aW9uT3B0aW9ucz8uaHR0cFJlcXVlc3RPcHRpb25zfCBqc29uIH19XG4gICAgPC9kaXY+XG4gIDwvbmctY29udGFpbmVyPlxuPC9uZy10ZW1wbGF0ZT5cblxuPG5nLXRlbXBsYXRlICNMT0NBTF9PUFRJT05TPlxuICA8bmctY29udGFpbmVyIGNsYXNzPVwiYm94XCIgKm5nSWY9XCJpbmplY3Rpb25PcHRpb25zPy5Mb2NhbFN0b3JhZ2VPcHRpb25zXCI+XG4gICAgPGRpdiBjbGFzcz1cImJveFwiPlxuICAgICAgPGgzIHN0eWxlPVwiZm9udC13ZWlnaHQ6IGJvbGQ7XCI+SW5qZWN0aW9uIFRva2VuIERldGVjdGVkIC0gTG9jYWxTdG9yYWdlIE9wdGlvbnM8L2gzPlxuICAgICAge3sgaW5qZWN0aW9uT3B0aW9ucz8uTG9jYWxTdG9yYWdlT3B0aW9uc3wganNvbiB9fVxuICAgIDwvZGl2PlxuICA8L25nLWNvbnRhaW5lcj5cbjwvbmctdGVtcGxhdGU+XG5cblxuIl19
41
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaHR0cC1yZXF1ZXN0LXNlcnZpY2VzLWRlbW8uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvaHR0cC1yZXF1ZXN0LW1hbmFnZXIvc3JjL2xpYi9odHRwLXJlcXVlc3Qtc2VydmljZXMtZGVtby9odHRwLXJlcXVlc3Qtc2VydmljZXMtZGVtby5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9odHRwLXJlcXVlc3QtbWFuYWdlci9zcmMvbGliL2h0dHAtcmVxdWVzdC1zZXJ2aWNlcy1kZW1vL2h0dHAtcmVxdWVzdC1zZXJ2aWNlcy1kZW1vLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFVLE1BQU0sZUFBZSxDQUFDO0FBRTFELE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLDhCQUE4QixDQUFDOzs7Ozs7Ozs7OztBQVFyRSxNQUFNLE9BQU8sZ0NBQWdDO0lBYTNDLFlBQW1ELGFBQTZCO1FBQTdCLGtCQUFhLEdBQWIsYUFBYSxDQUFnQjtRQVhoRixpQkFBWSxHQUFHO1lBQ2IsRUFBRSxJQUFJLEVBQUUsY0FBYyxFQUFFLEtBQUssRUFBRSxjQUFjLEVBQUU7WUFDL0MsRUFBRSxJQUFJLEVBQUUsb0JBQW9CLEVBQUUsS0FBSyxFQUFFLG9CQUFvQixFQUFFO1lBQzNELEVBQUUsSUFBSSxFQUFFLGtCQUFrQixFQUFFLEtBQUssRUFBRSxrQkFBa0IsRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUU7WUFDdEYsRUFBRSxJQUFJLEVBQUUsdUJBQXVCLEVBQUUsS0FBSyxFQUFFLHVCQUF1QixFQUFFO1NBQ2xFLENBQUE7UUFFRCxvQkFBZSxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFBO0lBSXdDLENBQUM7SUFFckYsUUFBUTtRQUNOLElBQUcsSUFBSSxDQUFDLGFBQWE7WUFBRSxJQUFJLENBQUMsZ0JBQWdCLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQTtJQUNuRSxDQUFDO0lBRUQsVUFBVSxDQUFDLElBQVk7UUFDckIsSUFBSSxDQUFDLGVBQWUsR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxDQUFDLEtBQUssQ0FBQTtJQUN0RCxDQUFDOytHQXJCVSxnQ0FBZ0Msa0JBYXZCLHFCQUFxQjttR0FiOUIsZ0NBQWdDLHNFQ1Y3Qyx1aEVBZ0VBOzs0RkR0RGEsZ0NBQWdDO2tCQUw1QyxTQUFTOytCQUNFLGdDQUFnQzs7MEJBaUI3QixNQUFNOzJCQUFDLHFCQUFxQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5qZWN0LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgQ09ORklHX1NFVFRJTkdTX1RPS0VOIH0gZnJvbSAnLi4vbW9kZWxzL2NvbmZpZy10b2tlbi5tb2RlbCc7XG5pbXBvcnQgeyBDb25maWdPcHRpb25zIH0gZnJvbSAnLi4vbW9kZWxzL2NvbmZpZy1vcHRpb25zLm1vZGVsJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYXBwLWh0dHAtcmVxdWVzdC1zZXJ2aWNlcy1kZW1vJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2h0dHAtcmVxdWVzdC1zZXJ2aWNlcy1kZW1vLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vaHR0cC1yZXF1ZXN0LXNlcnZpY2VzLWRlbW8uY29tcG9uZW50LnNjc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBIdHRwUmVxdWVzdFNlcnZpY2VzRGVtb0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG5cbiAgcmVxdWVzdFR5cGVzID0gW1xuICAgIHsgbmFtZTogXCJIdHRwIFNlcnZpY2VcIiwgdmFsdWU6ICdodHRwX3NlcnZpY2UnIH0sXG4gICAgeyBuYW1lOiBcIkh0dHAgU3RhdGUgU2VydmljZVwiLCB2YWx1ZTogJ2h0dHBfc3RhdGVfc2VydmljZScgfSxcbiAgICB7IG5hbWU6IFwiRGF0YWJhc2UgU2VydmljZVwiLCB2YWx1ZTogJ2RhdGFiYXNlX3NlcnZpY2UnLCBkaXZpZGVyOiB0cnVlLCBkaXNhYmxlZDogdHJ1ZSB9LFxuICAgIHsgbmFtZTogXCJMb2NhbCBTdG9yYWdlIFNlcnZpY2VcIiwgdmFsdWU6ICdsb2NhbF9zdG9yYWdlX3NlcnZpY2UnIH0sXG4gIF1cblxuICBzZWxlY3RlZFNlcnZpY2UgPSB0aGlzLnJlcXVlc3RUeXBlc1swXS52YWx1ZVxuXG4gIGluamVjdGlvbk9wdGlvbnM/OiBDb25maWdPcHRpb25zXG5cbiAgY29uc3RydWN0b3IoQEluamVjdChDT05GSUdfU0VUVElOR1NfVE9LRU4pIHByaXZhdGUgY29uZmlnT3B0aW9ucz86IENvbmZpZ09wdGlvbnMpIHsgfVxuXG4gIG5nT25Jbml0KCkge1xuICAgIGlmKHRoaXMuY29uZmlnT3B0aW9ucykgdGhpcy5pbmplY3Rpb25PcHRpb25zID0gdGhpcy5jb25maWdPcHRpb25zXG4gIH1cblxuICBvblNlbGVjdGVkKHR5cGU6IG51bWJlcikge1xuICAgIHRoaXMuc2VsZWN0ZWRTZXJ2aWNlID0gdGhpcy5yZXF1ZXN0VHlwZXNbdHlwZV0udmFsdWVcbiAgfVxuXG59XG4iLCI8bWF0LXRvb2xiYXIgIHN0eWxlPVwiZGlzcGxheTpmbGV4XCI+XG4gIDxkaXY+R2xvYmFsIERhdGE8L2Rpdj5cbiAgPGRpdiBzdHlsZT1cImZsZXg6MVwiPjwvZGl2PlxuICA8YnV0dG9uIG1hdC1zdHJva2VkLWJ1dHRvbiBbbWF0TWVudVRyaWdnZXJGb3JdPVwibWVudVwiPlNlcnZpY2VzPC9idXR0b24+XG4gIDxtYXQtbWVudSAjbWVudT1cIm1hdE1lbnVcIj5cbiAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCB0eXBlIG9mIHJlcXVlc3RUeXBlczsgaW5kZXggYXMgaVwiPlxuICAgICAgPGRpdlxuICAgICAgICAqbmdJZj1cInR5cGU/LmRpdmlkZXJcIlxuICAgICAgICBzdHlsZT1cIm1hcmdpbi10b3A6IC41cmVtOyBtYXJnaW4tYm90dG9tOiAuNXJlbTtcIlxuICAgICAgPlxuICAgICAgICA8bWF0LWRpdmlkZXI+PC9tYXQtZGl2aWRlcj5cbiAgICAgIDwvZGl2PlxuICAgICAgPGJ1dHRvblxuICAgICAgICBtYXQtbWVudS1pdGVtXG4gICAgICAgIChjbGljayk9XCJvblNlbGVjdGVkKGkpXCJcbiAgICAgICAgW2Rpc2FibGVkXT1cInR5cGUuZGlzYWJsZWRcIlxuICAgICAgICA+XG4gICAgICAgIHt7IHR5cGUubmFtZSB9fVxuICAgICAgPC9idXR0b24+XG4gICAgPC9uZy1jb250YWluZXI+XG5cbiAgPC9tYXQtbWVudT5cbjwvbWF0LXRvb2xiYXI+XG5cbjxzcGFuIFtuZ1N3aXRjaF09XCJzZWxlY3RlZFNlcnZpY2VcIj5cbiAgPHAgKm5nU3dpdGNoQ2FzZT1cIidodHRwX3NlcnZpY2UnXCI+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cIkhUVFBfT1BUSU9OU1wiPjwvbmctY29udGFpbmVyPlxuICAgIDxhcHAtcmVxdWVzdC1tYW5hZ2VyLWRlbW8+PC9hcHAtcmVxdWVzdC1tYW5hZ2VyLWRlbW8+XG4gIDwvcD5cbiAgPHAgKm5nU3dpdGNoQ2FzZT1cIidodHRwX3N0YXRlX3NlcnZpY2UnXCI+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cIkhUVFBfT1BUSU9OU1wiPjwvbmctY29udGFpbmVyPlxuICAgIDxhcHAtcmVxdWVzdC1tYW5hZ2VyLXN0YXRlLWRlbW8+PC9hcHAtcmVxdWVzdC1tYW5hZ2VyLXN0YXRlLWRlbW8+XG4gIDwvcD5cbiAgPHAgKm5nU3dpdGNoQ2FzZT1cIidkYXRhYmFzZV9zZXJ2aWNlJ1wiPlxuICAgIDwhLS0gPGFwcC1kYXRhYmFzZS1kYXRhLWRlbW8+PC9hcHAtZGF0YWJhc2UtZGF0YS1kZW1vPiAtLT5cbiAgPC9wPlxuICA8cCAqbmdTd2l0Y2hDYXNlPVwiJ2xvY2FsX3N0b3JhZ2Vfc2VydmljZSdcIj5cbiAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiTE9DQUxfT1BUSU9OU1wiPjwvbmctY29udGFpbmVyPlxuICAgIDxhcHAtbG9jYWwtc3RvcmFnZS1kZW1vPjwvYXBwLWxvY2FsLXN0b3JhZ2UtZGVtbz5cbiAgPC9wPlxuICA8cCAqbmdTd2l0Y2hEZWZhdWx0PlxuICAgIE90aGVyXG4gIDwvcD5cbjwvc3Bhbj5cblxuPG5nLXRlbXBsYXRlICNIVFRQX09QVElPTlM+XG4gIDxuZy1jb250YWluZXIgKm5nSWY9XCJpbmplY3Rpb25PcHRpb25zPy5odHRwUmVxdWVzdE9wdGlvbnNcIj5cbiAgICA8ZGl2IGNsYXNzPVwiYm94XCI+XG4gICAgICA8aDMgc3R5bGU9XCJmb250LXdlaWdodDogYm9sZDtcIj5JbmplY3Rpb24gVG9rZW4gRGV0ZWN0ZWQgLSBIVFRQIE9wdGlvbnM8L2gzPlxuICAgICAge3sgaW5qZWN0aW9uT3B0aW9ucz8uaHR0cFJlcXVlc3RPcHRpb25zfCBqc29uIH19XG4gICAgPC9kaXY+XG4gIDwvbmctY29udGFpbmVyPlxuPC9uZy10ZW1wbGF0ZT5cblxuPG5nLXRlbXBsYXRlICNMT0NBTF9PUFRJT05TPlxuICA8bmctY29udGFpbmVyIGNsYXNzPVwiYm94XCIgKm5nSWY9XCJpbmplY3Rpb25PcHRpb25zPy5Mb2NhbFN0b3JhZ2VPcHRpb25zXCI+XG4gICAgPGRpdiBjbGFzcz1cImJveFwiPlxuICAgICAgPGgzIHN0eWxlPVwiZm9udC13ZWlnaHQ6IGJvbGQ7XCI+SW5qZWN0aW9uIFRva2VuIERldGVjdGVkIC0gTG9jYWxTdG9yYWdlIE9wdGlvbnM8L2gzPlxuICAgICAge3sgaW5qZWN0aW9uT3B0aW9ucz8uTG9jYWxTdG9yYWdlT3B0aW9ucyB8IGpzb24gfX1cbiAgICA8L2Rpdj5cbiAgPC9uZy1jb250YWluZXI+XG48L25nLXRlbXBsYXRlPlxuXG5cbiJdfQ==
@@ -4,7 +4,7 @@ import { DownloadLabels } from './models/download-labels-model';
4
4
  import { HTTPManagerService } from '../../../services/request-manager-services';
5
5
  import { ApiRequest } from '../../../services';
6
6
  import { Subscription } from 'rxjs';
7
- import { ToastColors, ToastDisplay } from 'toast-message-display';
7
+ import { ToastDisplay, ToastColors } from 'toast-message-display';
8
8
  import * as i0 from "@angular/core";
9
9
  import * as i1 from "./download-file/download-file.component";
10
10
  import * as i2 from "@angular/common";
@@ -82,4 +82,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
82
82
  }], disabled: [{
83
83
  type: Input
84
84
  }] } });
85
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZS1kb3dubG9hZGVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2h0dHAtcmVxdWVzdC1tYW5hZ2VyL3NyYy9saWIvaHR0cC1yZXF1ZXN0LXNlcnZpY2VzLWRlbW8vcmVxdWVzdC1tYW5hZ2VyLWRlbW8vZmlsZS1kb3dubG9hZGVyL2ZpbGUtZG93bmxvYWRlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9odHRwLXJlcXVlc3QtbWFuYWdlci9zcmMvbGliL2h0dHAtcmVxdWVzdC1zZXJ2aWNlcy1kZW1vL3JlcXVlc3QtbWFuYWdlci1kZW1vL2ZpbGUtZG93bmxvYWRlci9maWxlLWRvd25sb2FkZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFVLE1BQU0sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNsRyxPQUFPLEVBQUUsVUFBVSxFQUFFLG9CQUFvQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFbEUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ2hFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDRDQUE0QyxDQUFDO0FBQ2hGLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRXBDLE9BQU8sRUFBRSxXQUFXLEVBQUUsWUFBWSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7Ozs7QUFRbEUsTUFBTSxPQUFPLHVCQUF3QixTQUFRLGtCQUF1QjtJQU9sRSxJQUFhLE1BQU0sQ0FBQyxLQUFxQjtRQUN2QyxJQUFJLENBQUMsT0FBTyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLGNBQWMsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLGNBQWMsQ0FBQyxLQUFLLEVBQUUsQ0FBQTtJQUMvRSxDQUFDO0lBTUQsSUFBSSxNQUFNO1FBQ1IsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFBO0lBQ3JCLENBQUM7SUFPRDtRQUNFLEtBQUssRUFBRSxDQUFBO1FBdkJBLGVBQVUsR0FBRyxDQUFDLENBQUE7UUFDZCxlQUFVLEdBQWUsVUFBVSxDQUFDLEtBQUssRUFBRSxDQUFBO1FBQzNDLHdCQUFtQixHQUFHLEtBQUssQ0FBQTtRQUVwQyxZQUFPLEdBQUcsY0FBYyxDQUFDLEtBQUssRUFBRSxDQUFBO1FBS2hDLFdBQU0sR0FBRyxLQUFLLENBQUE7UUFFZCxpQkFBWSxHQUFHLElBQUksWUFBWSxFQUFFLENBQUE7UUFNdkIsY0FBUyxHQUFHLElBQUksWUFBWSxFQUFRLENBQUE7UUFDcEMsV0FBTSxHQUFHLElBQUksWUFBWSxFQUFVLENBQUE7UUFFcEMsYUFBUSxHQUFHLEtBQUssQ0FBQTtJQUl6QixDQUFDO0lBRUQsUUFBUTtJQUVSLENBQUM7SUFFRCxtQkFBbUI7UUFFakIsSUFBRyxJQUFJLENBQUMsTUFBTTtZQUFFLE9BQU07UUFDdEIsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUE7UUFFbEIsT0FBTyxJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUM7YUFDM0MsSUFBSSxDQUNILG9CQUFvQixFQUFFLEVBQ3RCLFVBQVUsQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFO1lBQ2pCLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxDQUFBO1lBQ3pCLElBQUksQ0FBQyxNQUFNLEdBQUcsS0FBSyxDQUFBO1lBQ25CLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFBO1lBQ3JCLE9BQU8sR0FBRyxDQUFBO1FBQ1osQ0FBQyxDQUFDLENBQ0gsQ0FBQyxTQUFTLENBQUMsQ0FBQyxHQUFRLEVBQUUsRUFBRTtZQUV2QixJQUFHLEdBQUcsS0FBSyxHQUFHLEVBQUU7Z0JBQ2QsSUFBSSxDQUFDLE1BQU0sR0FBRyxLQUFLLENBQUE7Z0JBQ25CLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxFQUFFLENBQUE7YUFDdEI7UUFFSCxDQUFDLENBQUMsQ0FBQTtJQUVKLENBQUM7SUFFRCxPQUFPLENBQUMsT0FBZTtRQUVyQixJQUFHLENBQUMsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLG1CQUFtQjtZQUFFLE9BQU07UUFFaEQsTUFBTSxPQUFPLEdBQUcsWUFBWSxDQUFDLEtBQUssQ0FBQztZQUNqQyxPQUFPO1lBQ1AsTUFBTSxFQUFFLElBQUk7WUFDWixLQUFLLEVBQUUsV0FBVyxDQUFDLEtBQUs7WUFDeEIsSUFBSSxFQUFFLE9BQU87U0FDZCxDQUFDLENBQUM7UUFFSCxJQUFJLENBQUMsTUFBTSxHQUFHLEtBQUssQ0FBQTtRQUVuQixJQUFJLENBQUMsWUFBWSxDQUFDLFlBQVksQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUUxQyxDQUFDO0lBRUQsU0FBUztRQUNQLElBQUksQ0FBQyxZQUFZLENBQUMsV0FBVyxFQUFFLENBQUE7SUFDakMsQ0FBQzsrR0E1RVUsdUJBQXVCO21HQUF2Qix1QkFBdUIsNlJDaEJwQyxvVUFVQTs7NEZETWEsdUJBQXVCO2tCQU5uQyxTQUFTOytCQUNFLHFCQUFxQixpQkFHaEIsaUJBQWlCLENBQUMsSUFBSTswRUFJNUIsVUFBVTtzQkFBbEIsS0FBSztnQkFDRyxVQUFVO3NCQUFsQixLQUFLO2dCQUNHLG1CQUFtQjtzQkFBM0IsS0FBSztnQkFHTyxNQUFNO3NCQUFsQixLQUFLO2dCQVlJLFNBQVM7c0JBQWxCLE1BQU07Z0JBQ0csTUFBTTtzQkFBZixNQUFNO2dCQUVFLFFBQVE7c0JBQWhCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uSW5pdCwgT3V0cHV0LCBWaWV3RW5jYXBzdWxhdGlvbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgY2F0Y2hFcnJvciwgZGlzdGluY3RVbnRpbENoYW5nZWQgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmltcG9ydCB7IERvd25sb2FkTGFiZWxzIH0gZnJvbSAnLi9tb2RlbHMvZG93bmxvYWQtbGFiZWxzLW1vZGVsJztcbmltcG9ydCB7IEhUVFBNYW5hZ2VyU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL3JlcXVlc3QtbWFuYWdlci1zZXJ2aWNlcyc7XG5pbXBvcnQgeyBBcGlSZXF1ZXN0IH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMnO1xuaW1wb3J0IHsgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7IFRvYXN0Q29sb3JzLCBUb2FzdERpc3BsYXkgfSBmcm9tICd0b2FzdC1tZXNzYWdlLWRpc3BsYXknO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhcHAtZmlsZS1kb3dubG9hZGVyJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2ZpbGUtZG93bmxvYWRlci5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2ZpbGUtZG93bmxvYWRlci5jb21wb25lbnQuc2NzcyddLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxufSlcbmV4cG9ydCBjbGFzcyBGaWxlRG93bmxvYWRlckNvbXBvbmVudCBleHRlbmRzIEhUVFBNYW5hZ2VyU2VydmljZTxhbnk+IGltcGxlbWVudHMgT25Jbml0IHtcblxuICBASW5wdXQoKSBkZWxheUVycm9yID0gM1xuICBASW5wdXQoKSBhcGlSZXF1ZXN0OiBBcGlSZXF1ZXN0ID0gQXBpUmVxdWVzdC5hZGFwdCgpXG4gIEBJbnB1dCgpIGRpc3BsYXlFcnJvck1lc3NhZ2UgPSBmYWxzZVxuXG4gIF9sYWJlbHMgPSBEb3dubG9hZExhYmVscy5hZGFwdCgpXG4gIEBJbnB1dCgpIHNldCBsYWJlbHModmFsdWU6IERvd25sb2FkTGFiZWxzKSB7XG4gICAgdGhpcy5fbGFiZWxzID0gKHZhbHVlKSA/IERvd25sb2FkTGFiZWxzLmFkYXB0KHZhbHVlKSA6IERvd25sb2FkTGFiZWxzLmFkYXB0KClcbiAgfVxuXG4gIGFjdGl2ZSA9IGZhbHNlXG5cbiAgc3Vic2NyaXB0aW9uID0gbmV3IFN1YnNjcmlwdGlvbigpXG5cbiAgZ2V0IGxhYmVscygpIHtcbiAgICByZXR1cm4gdGhpcy5fbGFiZWxzXG4gIH1cblxuICBAT3V0cHV0KCkgY29tcGxldGVkID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpXG4gIEBPdXRwdXQoKSBmYWlsZWQgPSBuZXcgRXZlbnRFbWl0dGVyPHN0cmluZz4oKVxuXG4gIEBJbnB1dCgpIGRpc2FibGVkID0gZmFsc2VcblxuICBjb25zdHJ1Y3RvcigpIHtcbiAgICBzdXBlcigpXG4gIH1cblxuICBuZ09uSW5pdCgpIHtcblxuICB9XG5cbiAgb25Eb3dubG9hZFN0cmVhbWluZygpIHtcblxuICAgIGlmKHRoaXMuYWN0aXZlKSByZXR1cm5cbiAgICB0aGlzLmFjdGl2ZSA9IHRydWVcblxuICAgIHJldHVybiB0aGlzLmRvd25sb2FkUmVxdWVzdCh0aGlzLmFwaVJlcXVlc3QpXG4gICAgLnBpcGUoXG4gICAgICBkaXN0aW5jdFVudGlsQ2hhbmdlZCgpLFxuICAgICAgY2F0Y2hFcnJvcigoZXJyKSA9PiB7XG4gICAgICAgIHRoaXMub25FcnJvcihlcnIubWVzc2FnZSlcbiAgICAgICAgdGhpcy5hY3RpdmUgPSBmYWxzZVxuICAgICAgICB0aGlzLmZhaWxlZC5lbWl0KGVycilcbiAgICAgICAgcmV0dXJuIGVyclxuICAgICAgfSlcbiAgICApLnN1YnNjcmliZSgocmVzOiBhbnkpID0+IHtcblxuICAgICAgaWYocmVzID09PSAxMDApIHtcbiAgICAgICAgdGhpcy5hY3RpdmUgPSBmYWxzZVxuICAgICAgICB0aGlzLmNvbXBsZXRlZC5lbWl0KClcbiAgICAgIH1cblxuICAgIH0pXG5cbiAgfVxuXG4gIG9uRXJyb3IobWVzc2FnZTogc3RyaW5nKSB7XG5cbiAgICBpZighbWVzc2FnZSB8fCAhdGhpcy5kaXNwbGF5RXJyb3JNZXNzYWdlKSByZXR1cm5cblxuICAgIGNvbnN0IGRpc3BsYXkgPSBUb2FzdERpc3BsYXkuYWRhcHQoe1xuICAgICAgbWVzc2FnZSxcbiAgICAgIGFjdGlvbjogJ09rJyxcbiAgICAgIGNvbG9yOiBUb2FzdENvbG9ycy5FUlJPUixcbiAgICAgIGljb246ICdlcnJvcicsXG4gICAgfSk7XG5cbiAgICB0aGlzLmFjdGl2ZSA9IGZhbHNlXG5cbiAgICB0aGlzLnRvYXN0TWVzc2FnZS50b2FzdE1lc3NhZ2UoZGlzcGxheSk7XG5cbiAgfVxuXG4gIE9uRGVzdHJveSgpIHtcbiAgICB0aGlzLnN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpXG4gIH1cblxufVxuIiwiPGFwcC1kb3dubG9hZC1maWxlXG4gIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiXG4gIFtkaXNwbGF5RXJyb3JdPVwiM1wiXG4gIFtldmVudF09XCJvbkRvd25sb2FkU3RyZWFtaW5nLmJpbmQodGhpcylcIlxuICBbaXNQZW5kaW5nXT1cIihpc1BlbmRpbmckIHwgYXN5bmMpIHx8IGZhbHNlXCJcbiAgW3Byb2dyZXNzXT1cIihwcm9ncmVzcyQgfCBhc3luYylcIlxuICBbaGFzRXJyb3JdPVwiKGVycm9yJCB8IGFzeW5jKVwiXG4gIChlcnJvcik9XCJvbkVycm9yKGxhYmVscy5lcnJvcilcIlxuICBbYWN0aXZlXT1cImFjdGl2ZVwiXG4+PC9hcHAtZG93bmxvYWQtZmlsZT5cbiJdfQ==
85
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZS1kb3dubG9hZGVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2h0dHAtcmVxdWVzdC1tYW5hZ2VyL3NyYy9saWIvaHR0cC1yZXF1ZXN0LXNlcnZpY2VzLWRlbW8vcmVxdWVzdC1tYW5hZ2VyLWRlbW8vZmlsZS1kb3dubG9hZGVyL2ZpbGUtZG93bmxvYWRlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9odHRwLXJlcXVlc3QtbWFuYWdlci9zcmMvbGliL2h0dHAtcmVxdWVzdC1zZXJ2aWNlcy1kZW1vL3JlcXVlc3QtbWFuYWdlci1kZW1vL2ZpbGUtZG93bmxvYWRlci9maWxlLWRvd25sb2FkZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFVLE1BQU0sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNsRyxPQUFPLEVBQUUsVUFBVSxFQUFFLG9CQUFvQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFbEUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ2hFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDRDQUE0QyxDQUFDO0FBQ2hGLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRXBDLE9BQU8sRUFBRSxZQUFZLEVBQUUsV0FBVyxFQUFFLE1BQU0sdUJBQXVCLENBQUM7Ozs7QUFRbEUsTUFBTSxPQUFPLHVCQUF3QixTQUFRLGtCQUF1QjtJQU9sRSxJQUFhLE1BQU0sQ0FBQyxLQUFxQjtRQUN2QyxJQUFJLENBQUMsT0FBTyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLGNBQWMsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLGNBQWMsQ0FBQyxLQUFLLEVBQUUsQ0FBQTtJQUMvRSxDQUFDO0lBTUQsSUFBSSxNQUFNO1FBQ1IsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFBO0lBQ3JCLENBQUM7SUFPRDtRQUNFLEtBQUssRUFBRSxDQUFBO1FBdkJBLGVBQVUsR0FBRyxDQUFDLENBQUE7UUFDZCxlQUFVLEdBQWUsVUFBVSxDQUFDLEtBQUssRUFBRSxDQUFBO1FBQzNDLHdCQUFtQixHQUFHLEtBQUssQ0FBQTtRQUVwQyxZQUFPLEdBQUcsY0FBYyxDQUFDLEtBQUssRUFBRSxDQUFBO1FBS2hDLFdBQU0sR0FBRyxLQUFLLENBQUE7UUFFZCxpQkFBWSxHQUFHLElBQUksWUFBWSxFQUFFLENBQUE7UUFNdkIsY0FBUyxHQUFHLElBQUksWUFBWSxFQUFRLENBQUE7UUFDcEMsV0FBTSxHQUFHLElBQUksWUFBWSxFQUFVLENBQUE7UUFFcEMsYUFBUSxHQUFHLEtBQUssQ0FBQTtJQUl6QixDQUFDO0lBRUQsUUFBUTtJQUVSLENBQUM7SUFFRCxtQkFBbUI7UUFFakIsSUFBRyxJQUFJLENBQUMsTUFBTTtZQUFFLE9BQU07UUFDdEIsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUE7UUFFbEIsT0FBTyxJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUM7YUFDM0MsSUFBSSxDQUNILG9CQUFvQixFQUFFLEVBQ3RCLFVBQVUsQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFO1lBQ2pCLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxDQUFBO1lBQ3pCLElBQUksQ0FBQyxNQUFNLEdBQUcsS0FBSyxDQUFBO1lBQ25CLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFBO1lBQ3JCLE9BQU8sR0FBRyxDQUFBO1FBQ1osQ0FBQyxDQUFDLENBQ0gsQ0FBQyxTQUFTLENBQUMsQ0FBQyxHQUFRLEVBQUUsRUFBRTtZQUV2QixJQUFHLEdBQUcsS0FBSyxHQUFHLEVBQUU7Z0JBQ2QsSUFBSSxDQUFDLE1BQU0sR0FBRyxLQUFLLENBQUE7Z0JBQ25CLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxFQUFFLENBQUE7YUFDdEI7UUFFSCxDQUFDLENBQUMsQ0FBQTtJQUVKLENBQUM7SUFFRCxPQUFPLENBQUMsT0FBZTtRQUVyQixJQUFHLENBQUMsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLG1CQUFtQjtZQUFFLE9BQU07UUFFaEQsTUFBTSxPQUFPLEdBQUcsWUFBWSxDQUFDLEtBQUssQ0FBQztZQUNqQyxPQUFPO1lBQ1AsTUFBTSxFQUFFLElBQUk7WUFDWixLQUFLLEVBQUUsV0FBVyxDQUFDLEtBQUs7WUFDeEIsSUFBSSxFQUFFLE9BQU87U0FDZCxDQUFDLENBQUM7UUFFSCxJQUFJLENBQUMsTUFBTSxHQUFHLEtBQUssQ0FBQTtRQUVuQixJQUFJLENBQUMsWUFBWSxDQUFDLFlBQVksQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUUxQyxDQUFDO0lBRUQsU0FBUztRQUNQLElBQUksQ0FBQyxZQUFZLENBQUMsV0FBVyxFQUFFLENBQUE7SUFDakMsQ0FBQzsrR0E1RVUsdUJBQXVCO21HQUF2Qix1QkFBdUIsNlJDaEJwQyxvVUFVQTs7NEZETWEsdUJBQXVCO2tCQU5uQyxTQUFTOytCQUNFLHFCQUFxQixpQkFHaEIsaUJBQWlCLENBQUMsSUFBSTswRUFJNUIsVUFBVTtzQkFBbEIsS0FBSztnQkFDRyxVQUFVO3NCQUFsQixLQUFLO2dCQUNHLG1CQUFtQjtzQkFBM0IsS0FBSztnQkFHTyxNQUFNO3NCQUFsQixLQUFLO2dCQVlJLFNBQVM7c0JBQWxCLE1BQU07Z0JBQ0csTUFBTTtzQkFBZixNQUFNO2dCQUVFLFFBQVE7c0JBQWhCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uSW5pdCwgT3V0cHV0LCBWaWV3RW5jYXBzdWxhdGlvbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgY2F0Y2hFcnJvciwgZGlzdGluY3RVbnRpbENoYW5nZWQgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmltcG9ydCB7IERvd25sb2FkTGFiZWxzIH0gZnJvbSAnLi9tb2RlbHMvZG93bmxvYWQtbGFiZWxzLW1vZGVsJztcbmltcG9ydCB7IEhUVFBNYW5hZ2VyU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL3JlcXVlc3QtbWFuYWdlci1zZXJ2aWNlcyc7XG5pbXBvcnQgeyBBcGlSZXF1ZXN0IH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMnO1xuaW1wb3J0IHsgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7IFRvYXN0RGlzcGxheSwgVG9hc3RDb2xvcnMgfSBmcm9tICd0b2FzdC1tZXNzYWdlLWRpc3BsYXknO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhcHAtZmlsZS1kb3dubG9hZGVyJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2ZpbGUtZG93bmxvYWRlci5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2ZpbGUtZG93bmxvYWRlci5jb21wb25lbnQuc2NzcyddLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxufSlcbmV4cG9ydCBjbGFzcyBGaWxlRG93bmxvYWRlckNvbXBvbmVudCBleHRlbmRzIEhUVFBNYW5hZ2VyU2VydmljZTxhbnk+IGltcGxlbWVudHMgT25Jbml0IHtcblxuICBASW5wdXQoKSBkZWxheUVycm9yID0gM1xuICBASW5wdXQoKSBhcGlSZXF1ZXN0OiBBcGlSZXF1ZXN0ID0gQXBpUmVxdWVzdC5hZGFwdCgpXG4gIEBJbnB1dCgpIGRpc3BsYXlFcnJvck1lc3NhZ2UgPSBmYWxzZVxuXG4gIF9sYWJlbHMgPSBEb3dubG9hZExhYmVscy5hZGFwdCgpXG4gIEBJbnB1dCgpIHNldCBsYWJlbHModmFsdWU6IERvd25sb2FkTGFiZWxzKSB7XG4gICAgdGhpcy5fbGFiZWxzID0gKHZhbHVlKSA/IERvd25sb2FkTGFiZWxzLmFkYXB0KHZhbHVlKSA6IERvd25sb2FkTGFiZWxzLmFkYXB0KClcbiAgfVxuXG4gIGFjdGl2ZSA9IGZhbHNlXG5cbiAgc3Vic2NyaXB0aW9uID0gbmV3IFN1YnNjcmlwdGlvbigpXG5cbiAgZ2V0IGxhYmVscygpIHtcbiAgICByZXR1cm4gdGhpcy5fbGFiZWxzXG4gIH1cblxuICBAT3V0cHV0KCkgY29tcGxldGVkID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpXG4gIEBPdXRwdXQoKSBmYWlsZWQgPSBuZXcgRXZlbnRFbWl0dGVyPHN0cmluZz4oKVxuXG4gIEBJbnB1dCgpIGRpc2FibGVkID0gZmFsc2VcblxuICBjb25zdHJ1Y3RvcigpIHtcbiAgICBzdXBlcigpXG4gIH1cblxuICBuZ09uSW5pdCgpIHtcblxuICB9XG5cbiAgb25Eb3dubG9hZFN0cmVhbWluZygpIHtcblxuICAgIGlmKHRoaXMuYWN0aXZlKSByZXR1cm5cbiAgICB0aGlzLmFjdGl2ZSA9IHRydWVcblxuICAgIHJldHVybiB0aGlzLmRvd25sb2FkUmVxdWVzdCh0aGlzLmFwaVJlcXVlc3QpXG4gICAgLnBpcGUoXG4gICAgICBkaXN0aW5jdFVudGlsQ2hhbmdlZCgpLFxuICAgICAgY2F0Y2hFcnJvcigoZXJyKSA9PiB7XG4gICAgICAgIHRoaXMub25FcnJvcihlcnIubWVzc2FnZSlcbiAgICAgICAgdGhpcy5hY3RpdmUgPSBmYWxzZVxuICAgICAgICB0aGlzLmZhaWxlZC5lbWl0KGVycilcbiAgICAgICAgcmV0dXJuIGVyclxuICAgICAgfSlcbiAgICApLnN1YnNjcmliZSgocmVzOiBhbnkpID0+IHtcblxuICAgICAgaWYocmVzID09PSAxMDApIHtcbiAgICAgICAgdGhpcy5hY3RpdmUgPSBmYWxzZVxuICAgICAgICB0aGlzLmNvbXBsZXRlZC5lbWl0KClcbiAgICAgIH1cblxuICAgIH0pXG5cbiAgfVxuXG4gIG9uRXJyb3IobWVzc2FnZTogc3RyaW5nKSB7XG5cbiAgICBpZighbWVzc2FnZSB8fCAhdGhpcy5kaXNwbGF5RXJyb3JNZXNzYWdlKSByZXR1cm5cblxuICAgIGNvbnN0IGRpc3BsYXkgPSBUb2FzdERpc3BsYXkuYWRhcHQoe1xuICAgICAgbWVzc2FnZSxcbiAgICAgIGFjdGlvbjogJ09rJyxcbiAgICAgIGNvbG9yOiBUb2FzdENvbG9ycy5FUlJPUixcbiAgICAgIGljb246ICdlcnJvcicsXG4gICAgfSk7XG5cbiAgICB0aGlzLmFjdGl2ZSA9IGZhbHNlXG5cbiAgICB0aGlzLnRvYXN0TWVzc2FnZS50b2FzdE1lc3NhZ2UoZGlzcGxheSk7XG5cbiAgfVxuXG4gIE9uRGVzdHJveSgpIHtcbiAgICB0aGlzLnN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpXG4gIH1cblxufVxuIiwiPGFwcC1kb3dubG9hZC1maWxlXG4gIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiXG4gIFtkaXNwbGF5RXJyb3JdPVwiM1wiXG4gIFtldmVudF09XCJvbkRvd25sb2FkU3RyZWFtaW5nLmJpbmQodGhpcylcIlxuICBbaXNQZW5kaW5nXT1cIihpc1BlbmRpbmckIHwgYXN5bmMpIHx8IGZhbHNlXCJcbiAgW3Byb2dyZXNzXT1cIihwcm9ncmVzcyQgfCBhc3luYylcIlxuICBbaGFzRXJyb3JdPVwiKGVycm9yJCB8IGFzeW5jKVwiXG4gIChlcnJvcik9XCJvbkVycm9yKGxhYmVscy5lcnJvcilcIlxuICBbYWN0aXZlXT1cImFjdGl2ZVwiXG4+PC9hcHAtZG93bmxvYWQtZmlsZT5cbiJdfQ==
@@ -6,7 +6,7 @@ import { ClientInfoMapper } from './models/sample-mapper-client-info';
6
6
  import { AIPrompt } from './models/sample-ai-prompt';
7
7
  import { ApiRequest, HTTPManagerService } from '../..';
8
8
  import { catchError, map, tap } from 'rxjs/operators';
9
- import { ToastColors, ToastDisplay, ToastMessageService } from 'toast-message-display';
9
+ import { ToastColors, ToastDisplay, ToastMessageDisplayService } from 'toast-message-display';
10
10
  import * as i0 from "@angular/core";
11
11
  import * as i1 from "@angular/common";
12
12
  import * as i2 from "@angular/forms";
@@ -35,7 +35,7 @@ export class RequestManagerDemoComponent {
35
35
  constructor() {
36
36
  this.displayedColumns = ['id', 'name', 'lastName', 'age'];
37
37
  this.fb = inject(FormBuilder);
38
- this.toastMessage = inject(ToastMessageService);
38
+ this.toastMessage = inject(ToastMessageDisplayService);
39
39
  this.httpManagerService = inject(HTTPManagerService);
40
40
  this.isPending$ = this.httpManagerService.isPending$;
41
41
  this.countdown$ = this.httpManagerService.countdown$;
@@ -273,4 +273,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
273
273
  type: ViewChild,
274
274
  args: ["pollingState", { static: true }]
275
275
  }] } });
276
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVxdWVzdC1tYW5hZ2VyLWRlbW8uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvaHR0cC1yZXF1ZXN0LW1hbmFnZXIvc3JjL2xpYi9odHRwLXJlcXVlc3Qtc2VydmljZXMtZGVtby9yZXF1ZXN0LW1hbmFnZXItZGVtby9yZXF1ZXN0LW1hbmFnZXItZGVtby5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9odHRwLXJlcXVlc3QtbWFuYWdlci9zcmMvbGliL2h0dHAtcmVxdWVzdC1zZXJ2aWNlcy1kZW1vL3JlcXVlc3QtbWFuYWdlci1kZW1vL3JlcXVlc3QtbWFuYWdlci1kZW1vLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQVUsU0FBUyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUVyRSxPQUFPLEVBQUUsZUFBZSxFQUFFLEtBQUssRUFBYyxVQUFVLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDdEUsT0FBTyxFQUFhLFdBQVcsRUFBRSxVQUFVLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUVwRSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDekQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFDdEUsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ3JELE9BQU8sRUFBRSxVQUFVLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxPQUFPLENBQUM7QUFDdkQsT0FBTyxFQUFFLFVBQVUsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFdEQsT0FBTyxFQUFFLFdBQVcsRUFBRSxZQUFZLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQzs7Ozs7Ozs7Ozs7Ozs7O0FBT3ZGLE1BQU0s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bzFUQWlTQTs7NEZEL1FhLDJCQUEyQjtrQkFMdkMsU0FBUzsrQkFDRSwwQkFBMEI7MEVBd0NRLFdBQVc7c0JBQXRELFNBQVM7dUJBQUMsYUFBYSxFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRTtnQkFDRyxZQUFZO3NCQUF4RCxTQUFTO3VCQUFDLGNBQWMsRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIE9uSW5pdCwgVmlld0NoaWxkLCBpbmplY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBFTVBUWSwgT2JzZXJ2YWJsZSwgdGhyb3dFcnJvciB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgRm9ybUFycmF5LCBGb3JtQnVpbGRlciwgVmFsaWRhdG9ycyB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcblxuaW1wb3J0IHsgQ2xpZW50SW5mbyB9IGZyb20gJy4vbW9kZWxzL3NhbXBsZS1jbGllbnQtaW5mbyc7XG5pbXBvcnQgeyBDbGllbnRJbmZvTWFwcGVyIH0gZnJvbSAnLi9tb2RlbHMvc2FtcGxlLW1hcHBlci1jbGllbnQtaW5mbyc7XG5pbXBvcnQgeyBBSVByb21wdCB9IGZyb20gJy4vbW9kZWxzL3NhbXBsZS1haS1wcm9tcHQnO1xuaW1wb3J0IHsgQXBpUmVxdWVzdCwgSFRUUE1hbmFnZXJTZXJ2aWNlIH0gZnJvbSAnLi4vLi4nO1xuaW1wb3J0IHsgY2F0Y2hFcnJvciwgbWFwLCB0YXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmltcG9ydCB7IFRvYXN0Q29sb3JzLCBUb2FzdERpc3BsYXksIFRvYXN0TWVzc2FnZVNlcnZpY2UgfSBmcm9tICd0b2FzdC1tZXNzYWdlLWRpc3BsYXknO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhcHAtcmVxdWVzdC1tYW5hZ2VyLWRlbW8nLFxuICB0ZW1wbGF0ZVVybDogJy4vcmVxdWVzdC1tYW5hZ2VyLWRlbW8uY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9yZXF1ZXN0LW1hbmFnZXItZGVtby5jb21wb25lbnQuc2NzcyddLFxufSlcbmV4cG9ydCBjbGFzcyBSZXF1ZXN0TWFuYWdlckRlbW9Db21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuXG4gIGRpc3BsYXllZENvbHVtbnMgPSBbJ2lkJywnbmFtZScsICdsYXN0TmFtZScsICdhZ2UnXVxuXG4gIHByaXZhdGUgZmIgPSBpbmplY3QoRm9ybUJ1aWxkZXIpXG4gIHByaXZhdGUgdG9hc3RNZXNzYWdlID0gaW5qZWN0KFRvYXN0TWVzc2FnZVNlcnZpY2UpO1xuXG4gIGh0dHBNYW5hZ2VyU2VydmljZSA9IGluamVjdChIVFRQTWFuYWdlclNlcnZpY2UpXG5cbiAgaXNQZW5kaW5nJCA9IHRoaXMuaHR0cE1hbmFnZXJTZXJ2aWNlLmlzUGVuZGluZyRcbiAgY291bnRkb3duJCA9IHRoaXMuaHR0cE1hbmFnZXJTZXJ2aWNlLmNvdW50ZG93biRcblxuICBHRVRfZXJyb3IkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxzdHJpbmc+KCcnKVxuICBQT1NUX2Vycm9yJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8c3RyaW5nPignJylcbiAgUFVUX2Vycm9yJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8c3RyaW5nPignJylcbiAgREVMRVRFX2Vycm9yJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8c3RyaW5nPignJylcblxuICBTVFJFQU1fZXJyb3IkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxzdHJpbmc+KCcnKVxuICBTVFJFQU1fQUlfZXJyb3IkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxzdHJpbmc+KCcnKVxuXG4gIEdFVCQ/OiBPYnNlcnZhYmxlPGFueT5cbiAgUE9TVCQ/OiBPYnNlcnZhYmxlPGFueT5cbiAgUFVUJD86IE9ic2VydmFibGU8YW55PlxuICBERUxFVEUkPzogT2JzZXJ2YWJsZTxhbnk+XG5cbiAgU1RSRUFNX0FJJD86IE9ic2VydmFibGU8YW55PlxuICBTVFJFQU0kPzogT2JzZXJ2YWJsZTxhbnk+XG5cbiAgcmVxdWVzdFBhcmFtcyA9IHtcbiAgICBHRVQ6IEFwaVJlcXVlc3QuYWRhcHQoKSxcbiAgICBQT1NUOiBBcGlSZXF1ZXN0LmFkYXB0KCksXG4gICAgUFVUOiBBcGlSZXF1ZXN0LmFkYXB0KCksXG4gICAgREVMRVRFOiBBcGlSZXF1ZXN0LmFkYXB0KCksXG4gICAgU1RSRUFNOiBBcGlSZXF1ZXN0LmFkYXB0KCksXG4gIH1cblxuICBAVmlld0NoaWxkKFwiZmFpbGVkU3RhdGVcIiwgeyBzdGF0aWM6IHRydWUgfSkgZmFpbGVkU3RhdGU6IGFueVxuICBAVmlld0NoaWxkKFwicG9sbGluZ1N0YXRlXCIsIHsgc3RhdGljOiB0cnVlIH0pIHBvbGxpbmdTdGF0ZTogYW55XG5cbiAgcXVlc3Rpb25Db250cm9sID0gdGhpcy5mYi5jb250cm9sKFwiXCIsIFtWYWxpZGF0b3JzLnJlcXVpcmVkXSlcblxuICBkb3dubG9hZFJlcXVlc3QgPSBBcGlSZXF1ZXN0LmFkYXB0KHtcbiAgICBzZXJ2ZXI6ICdodHRwOi8vbG9jYWxob3N0OjQyMDAvYXNzZXRzJyxcbiAgICBwYXRoOiBbJ2ljb25zMS5zdmcnXVxuICB9KVxuXG4gIHNhbXBsZUNsaWVudERhdGEgPSB7XG4gICAgICBpZDogMCxcbiAgICAgIG5hbWU6IFwiT2xkIFNjaG9vbCBEYXRlc1wiLFxuICAgICAgZG9tYWluOiBcIm9zZC5jb21cIixcbiAgICAgIHNlcnZpY2U6IFwib3NkXCIsXG4gICAgICBzcGlmZmU6IFwib3NkLmNvbS9vc2RcIixcbiAgICAgIHNlY3JldDogXCJTTU9QRUNYUC1PUzRQLVVTT0ctWDJJSS0zWE1EMUZRRFIzSUpYXCIsXG4gICAgICBjcmVhdGVkOiAxNjkzMDAzMTM4LFxuICAgICAgbW9kaWZpZWQ6IDE2OTMwMDMxMzgsXG4gICAgICBpY29uOiBcIlwiLFxuICAgICAgaW1hZ2VGaWxlOiBcIlwiLFxuICB9XG5cbiAgcmVxdWVzdEZvcm0gPSB0aGlzLmZiLmdyb3VwKHtcbiAgICBwYXRoOiB0aGlzLmZiLmNvbnRyb2w8c3RyaW5nPihcIlwiKSxcbiAgICBoZWFkZXJzOiB0aGlzLmZiLmFycmF5KFtdKSxcbiAgICBhZGFwdGVyOiBbbnVsbF0sXG4gICAgcmV0cnk6IHRoaXMuZmIuZ3JvdXAoe1xuICAgICAgdGltZXM6IFszXSxcbiAgICAgIGRlbGF5OiBbM10sXG4gICAgfSksXG4gICAgcG9sbGluZzogWzNdLFxuICB9KVxuXG4gIHNhbXBsZUFkYXB0b3JzID0gW1xuICAgIHsgbGFiZWw6IFwiQ2xpZW50SW5mbyBCYXNpY1wiLCB2YWx1ZTogQ2xpZW50SW5mby5hZGFwdCB9LFxuICAgIHsgbGFiZWw6IFwiQUkgUHJvbXB0XCIsIHZhbHVlOiBBSVByb21wdC5hZGFwdCB9LFxuICBdXG5cbiAgc2FtcGxlTWFwcGVycyA9IFtcbiAgICB7IGxhYmVsOiBcIk1hcHBlciBCYXNpY1wiLCB2YWx1ZTogQ2xpZW50SW5mb01hcHBlci5hZGFwdCB9LFxuICAgIHsgbGFiZWw6IFwiQUkgUHJvbXB0XCIsIHZhbHVlOiBBSVByb21wdC5hZGFwdCB9LFxuICBdXG5cbiAgZ2V0IHJldHJ5KCkge1xuICAgIHJldHVybiB0aGlzLnJlcXVlc3RGb3JtLmdldCgncmV0cnknKT8udmFsdWVcbiAgfVxuXG4gIGdldCBoZWFkZXJzKCk6IEZvcm1BcnJheSB7XG4gICAgcmV0dXJuIHRoaXMucmVxdWVzdEZvcm0uZ2V0KCdoZWFkZXJzJykgYXMgRm9ybUFycmF5XG4gIH1cblxuICBnZXQgaXNWYWxpZCgpIHtcbiAgICB0aGlzLnJlcXVlc3RGb3JtLm1hcmtBbGxBc1RvdWNoZWQoKVxuICAgIHJldHVybiB0aGlzLnJlcXVlc3RGb3JtLnZhbGlkXG4gIH1cblxuICAvLyBzZXJ2ZXIgPSBgaHR0cDovL3NhbXBsZS1lbmRwb2ludC9hcy9hdXRob3JpemF0aW9uLm9hdXRoMmBcblxuICBhcnJheU9iamVjdHNUb09iamVjdHMgPSAoYXJyOiBhbnlbXSkgPT4ge1xuICAgIHJldHVybiBBcnJheS5pc0FycmF5KGFycikgPyBhcnIucmVkdWNlKChvYmosIGl0ZW0pID0+IE9iamVjdC5hc3NpZ24ob2JqLCB7IFtpdGVtLmtleV06IGl0ZW0udmFsdWUgfSksIHt9KSA6IHt9XG4gIH1cblxuICBjb25zdHJ1Y3RvcigpIHsgfVxuXG4gIG5nT25Jbml0KCkge1xuXG4gICAgLy8gY29uc3QgcmVxR2V0MiA9IEFwaVJlcXVlc3QuYWRhcHQoe1xuICAgIC8vICAgc2VydmVyLFxuICAgIC8vICAgcGF0aDogWydjbGllbnRzJ10sXG4gICAgLy8gICBoZWFkZXJzOiB7IGF1dGhlbnRpY2F0aW9uOiBcIkJlYXJlciA8S0VZPlwiIH0sXG4gICAgLy8gICBhZGFwdGVyOiBDbGllbnRJbmZvLFxuICAgIC8vICAgZGF0YVR5cGU6IERhdGFUeXBlLk9CSkVDVCxcbiAgICAvLyAgIC8vIGNvbmN1cnJlbnQ6IGZhbHNlLFxuICAgIC8vICAgLy8gcG9sbGluZzogMywgLy9zZWNvbmRzXG4gICAgLy8gfSk7XG5cbiAgICAvLyBjb25zdCByZXEyID0gWzEwMjQsMTAyNSwxMDI2XS5tYXAoaXRlbSA9PiB7XG4gICAgLy8gICByZXR1cm4gdGhpcy5odHRwTWFuYWdlclNlcnZpY2UuZ2V0UmVxdWVzdDxDbGllbnRJbmZvW10+KHJlcUdldDIsIFtpdGVtXSlcbiAgICAvLyAgIC5waXBlKFxuICAgIC8vICAgICBjYXRjaEVycm9yKGVycm9yID0+IHtcbiAgICAvLyAgICAgICByZXR1cm4gdGhyb3dFcnJvcigoKSA9PiBuZXcgRXJyb3IoZXJyb3IuZXJyb3IubWVzc2FnZSkpO1xuICAgIC8vICAgICB9KVxuICAgIC8vICAgKVxuICAgIC8vIH0pXG5cbiAgICAvLyBmb3JrSm9pbihyZXEyKVxuICAgIC8vIC5zdWJzY3JpYmUocmVzID0+IGNvbnNvbGUubG9nKHJlcykpXG5cbiAgfVxuXG4gIGFkZEhlYWRlcigpIHtcbiAgICBjb25zdCBoZWFkZXIgPSB0aGlzLmZiLmdyb3VwKHtcbiAgICAgIGtleTogWycnLCBWYWxpZGF0b3JzLnJlcXVpcmVkXSxcbiAgICAgIHZhbHVlOiBbJyddXG4gICAgfSk7XG4gICAgdGhpcy5oZWFkZXJzLnB1c2goaGVhZGVyKVxuICB9XG5cbiAgcmVtb3ZlSGVhZGVyKGluZGV4OiBudW1iZXIpIHtcbiAgICB0aGlzLmhlYWRlcnMucmVtb3ZlQXQoaW5kZXgpXG4gIH1cblxuICBjb21waWxlUmVxdWVzdCgpIHtcbiAgICBjb25zdCByZXF1ZXN0UGFyYW1zID0gdGhpcy5yZXF1ZXN0Rm9ybS52YWx1ZTtcblxuICAgIHJlcXVlc3RQYXJhbXMuaGVhZGVycyA9IHRoaXMuYXJyYXlPYmplY3RzVG9PYmplY3RzKFxuICAgICAgcmVxdWVzdFBhcmFtcy5oZWFkZXJzIHx8IFtdXG4gICAgKTtcblxuICAgIGNvbnN0IHBhdGhSZXEgPSAocmVxdWVzdFBhcmFtcy5wYXRoID09PSBcIlwiKSA/IFtdIDogKHJlcXVlc3RQYXJhbXMucGF0aCB8fCBcIlwiKS5zcGxpdChcIi9cIilcblxuICAgIGlmICghdGhpcy5wb2xsaW5nU3RhdGUuY2hlY2tlZCkgcmVxdWVzdFBhcmFtcy5wb2xsaW5nID0gMDtcblxuICAgIGlmICghdGhpcy5mYWlsZWRTdGF0ZS5jaGVja2VkKSB7XG4gICAgICByZXF1ZXN0UGFyYW1zLnJldHJ5ID0geyB0aW1lczogMCxkZWxheTogMCB9XG4gICAgfVxuXG4gICAgcmV0dXJuIEFwaVJlcXVlc3QuYWRhcHQoe1xuICAgICAgLi4ucmVxdWVzdFBhcmFtcyxcbiAgICAgIC8vIC4uLnsgcGF0aDogcGF0aFJlcSwgc2VydmVyOiB0aGlzLnNlcnZlciB9LFxuICAgICAgLi4ueyBwYXRoOiBwYXRoUmVxIH0sXG4gICAgfSk7XG5cbiAgfVxuXG4gIG9uR2V0UmVxdWVzdCgpIHtcblxuICAgIGlmKCF0aGlzLmlzVmFsaWQpIHJldHVyblxuXG4gICAgY29uc3QgcmVxUGFyYW1zID0gdGhpcy5jb21waWxlUmVxdWVzdCgpXG5cbiAgICB0aGlzLnJlcXVlc3RQYXJhbXMuR0VUID0gcmVxUGFyYW1zXG5cbiAgICB0aGlzLkdFVCQgPSBFTVBUWSAvL0NhbmNlbHMgUHJldmlvdXNcbiAgICB0aGlzLkdFVF9lcnJvciQubmV4dCgnJylcblxuICAgIHRoaXMuR0VUJCA9IHRoaXMuaHR0cE1hbmFnZXJTZXJ2aWNlLmdldFJlcXVlc3Q8Q2xpZW50SW5mb1tdPihyZXFQYXJhbXMpXG4gICAgLnBpcGUoXG4gICAgICAvLyB0YXAoKGRhdGEpID0+IGNvbnNvbGUubG9nKFwiQVBJIEdFVCByZXNwb25zZVwiLCBkYXRhKSksXG4gICAgICBjYXRjaEVycm9yKGVycm9yID0+IHtcbiAgICAgICAgcmV0dXJuIHRocm93RXJyb3IoKCkgPT4gdGhpcy5lcnJvckhhbmRsaW5nKGVycm9yLCAnR0VUJykpO1xuICAgICAgfSlcbiAgICApXG5cbiAgfVxuXG4gIG9uQ3JlYXRlUmVxdWVzdCgpIHtcblxuICAgIGlmKCF0aGlzLmlzVmFsaWQpIHJldHVyblxuXG4gICAgY29uc3QgcmVxUGFyYW1zID0gdGhpcy5jb21waWxlUmVxdWVzdCgpXG4gICAgdGhpcy5yZXF1ZXN0UGFyYW1zLlBPU1QgPSByZXFQYXJhbXNcblxuICAgIHRoaXMuUE9TVCQgPSBFTVBUWSAvL0NhbmNlbHMgUHJldmlvdXNcbiAgICB0aGlzLlBPU1RfZXJyb3IkLm5leHQoJycpXG5cbiAgICB0aGlzLlBPU1QkID0gdGhpcy5odHRwTWFuYWdlclNlcnZpY2UucG9zdFJlcXVlc3Q8Q2xpZW50SW5mbz4odGhpcy5zYW1wbGVDbGllbnREYXRhLCByZXFQYXJhbXMpXG4gICAgLnBpcGUoXG4gICAgICAvLyB0YXAoKGRhdGEpID0+IGNvbnNvbGUubG9nKFwiQVBJIFBPU1QgcmVzcG9uc2VcIiwgZGF0YSkpLFxuICAgICAgY2F0Y2hFcnJvcihlcnJvciA9PiB7XG4gICAgICAgIHJldHVybiB0aHJvd0Vycm9yKCgpID0+IHRoaXMuZXJyb3JIYW5kbGluZyhlcnJvciwgJ1BPU1QnKSk7XG4gICAgICB9KVxuICAgIClcblxuICB9XG5cbiAgb25VcGRhdGVSZXF1ZXN0KCkge1xuXG4gICAgaWYoIXRoaXMuaXNWYWxpZCkgcmV0dXJuXG5cbiAgICBjb25zdCByZXFQYXJhbXMgPSB0aGlzLmNvbXBpbGVSZXF1ZXN0KClcblxuICAgIHRoaXMuc2FtcGxlQ2xpZW50RGF0YS5pZCA9IHJlcVBhcmFtcy5wYXRoW3JlcVBhcmFtcy5wYXRoLmxlbmd0aC0xXVxuICAgIHRoaXMucmVxdWVzdFBhcmFtcy5QVVQgPSByZXFQYXJhbXNcblxuICAgIHRoaXMuUFVUJCA9IEVNUFRZIC8vQ2FuY2VscyBQcmV2aW91c1xuICAgIHRoaXMuUFVUX2Vycm9yJC5uZXh0KCcnKVxuXG4gICAgdGhpcy5QVVQkID0gdGhpcy5odHRwTWFuYWdlclNlcnZpY2UucHV0UmVxdWVzdDxDbGllbnRJbmZvPih0aGlzLnNhbXBsZUNsaWVudERhdGEsIHJlcVBhcmFtcylcbiAgICAucGlwZShcbiAgICAgIC8vIHRhcCgoZGF0YSkgPT4gY29uc29sZS5sb2coXCJBUEkgUFVUIHJlc3BvbnNlXCIsIGRhdGEpKSxcbiAgICAgIGNhdGNoRXJyb3IoZXJyb3IgPT4ge1xuICAgICAgICByZXR1cm4gdGhyb3dFcnJvcigoKSA9PiB0aGlzLmVycm9ySGFuZGxpbmcoZXJyb3IsICdQVVQnKSk7XG4gICAgICB9KVxuICAgIClcblxuICB9XG5cbiAgb25EZWxldGVSZXF1ZXN0KCkge1xuXG4gICAgaWYoIXRoaXMuaXNWYWxpZCkgcmV0dXJuXG5cbiAgICBjb25zdCByZXFQYXJhbXMgPSB0aGlzLmNvbXBpbGVSZXF1ZXN0KClcbiAgICB0aGlzLnJlcXVlc3RQYXJhbXMuREVMRVRFID0gcmVxUGFyYW1zXG5cbiAgICB0aGlzLkRFTEVURSQgPSBFTVBUWSAvL0NhbmNlbHMgUHJldmlvdXNcbiAgICB0aGlzLkRFTEVURV9lcnJvciQubmV4dCgnJylcblxuICAgIHRoaXMuREVMRVRFJCA9IHRoaXMuaHR0cE1hbmFnZXJTZXJ2aWNlLmRlbGV0ZVJlcXVlc3Q8Q2xpZW50SW5mbz4ocmVxUGFyYW1zKVxuICAgIC5waXBlKFxuICAgICAgLy8gdGFwKChkYXRhKSA9PiBjb25zb2xlLmxvZyhcIkFQSSBERUxFVEUgcmVzcG9uc2VcIiwgZGF0YSkpLFxuICAgICAgY2F0Y2hFcnJvcihlcnJvciA9PiB7XG4gICAgICAgIHJldHVybiB0aHJvd0Vycm9yKCgpID0+IHRoaXMuZXJyb3JIYW5kbGluZyhlcnJvciwgJ0RFTEVURScpKTtcbiAgICAgIH0pXG4gICAgKVxuXG4gIH1cblxuICBvblN0cmVhbVBvc3RSZXF1ZXN0KCkge1xuXG4gICAgaWYoIXRoaXMuaXNWYWxpZCkgcmV0dXJuXG5cbiAgICBjb25zdCByZXFQYXJhbXMgPSB0aGlzLmNvbXBpbGVSZXF1ZXN0KClcblxuICAgIHJlcVBhcmFtcy5zZXJ2ZXIgPSBcImh0dHA6Ly9sb2NhbGhvc3Q6MTE0MzQvYXBpXCJcbiAgICByZXFQYXJhbXMucGF0aCA9IFtcImdlbmVyYXRlXCJdXG4gICAgcmVxUGFyYW1zLnN0cmVhbSA9IHRydWVcblxuICAgIGNvbnN0IHBheWxvYWQgPSB7XG4gICAgICBtb2RlbDogXCJtaXN0cmFsXCIsXG4gICAgICBwcm9tcHQ6IHRoaXMucXVlc3Rpb25Db250cm9sLnZhbHVlLFxuICAgICAgc3RyZWFtOiByZXFQYXJhbXMuc3RyZWFtXG4gICAgfVxuXG4gICAgdGhpcy5yZXF1ZXN0UGFyYW1zLlNUUkVBTSA9IHJlcVBhcmFtc1xuXG4gICAgdGhpcy5TVFJFQU1fQUkkID0gRU1QVFlcbiAgICB0aGlzLlNUUkVBTV9BSV9lcnJvciQubmV4dCgnJylcblxuICAgIHRoaXMuU1RSRUFNX0FJJCA9IHRoaXMuaHR0cE1hbmFnZXJTZXJ2aWNlLnBvc3RSZXF1ZXN0PGFueT4ocGF5bG9hZCwgcmVxUGFyYW1zKVxuICAgIC5waXBlKFxuICAgICAgbWFwKGl0ZW1zID0+IGl0ZW1zLm1hcCgod29yZDogYW55KSA9PiB3b3JkLnJlc3BvbnNlKS5mbGF0KCkuam9pbignJykpLFxuICAgICAgdGFwKCgpID0+IHRoaXMucXVlc3Rpb25Db250cm9sLnJlc2V0KCkpLFxuICAgICAgY2F0Y2hFcnJvcihlcnJvciA9PiB7XG4gICAgICAgIHJldHVybiB0aHJvd0Vycm9yKCgpID0+IHRoaXMuZXJyb3JIYW5kbGluZyhlcnJvciwgJ1NUUkVBTScpKTtcbiAgICAgIH0pXG4gICAgKVxuXG4gIH1cblxuICBvblN0cmVhbVJlcXVlc3QoKSB7XG5cbiAgICBpZighdGhpcy5pc1ZhbGlkKSByZXR1cm5cblxuICAgIGNvbnN0IHJlcVBhcmFtcyA9IHRoaXMuY29tcGlsZVJlcXVlc3QoKVxuXG4gICAgcmVxUGFyYW1zLnNlcnZlciA9IFwib2lkY1wiXG4gICAgcmVxUGFyYW1zLnN0cmVhbSA9IHRydWVcblxuICAgIHRoaXMuU1RSRUFNJCA9IHRoaXMuaHR0cE1hbmFnZXJTZXJ2aWNlLmdldFJlcXVlc3Q8Q2xpZW50SW5mb1tdPihyZXFQYXJhbXMpXG4gICAgLnBpcGUoXG4gICAgICAvLyB0YXAoKGRhdGEpID0+IGNvbnNvbGUubG9nKFwiQVBJIFNUUkVBTSByZXNwb25zZVwiLCBkYXRhKSksXG4gICAgICBjYXRjaEVycm9yKGVycm9yID0+IHtcbiAgICAgICAgcmV0dXJuIHRocm93RXJyb3IoKCkgPT4gdGhpcy5lcnJvckhhbmRsaW5nKGVycm9yLCAnU1RSRUFNJykpO1xuICAgICAgfSlcbiAgICApXG5cbiAgfVxuXG4gIG9uRG93bmxvYWRDb21wbGV0ZWQoKSB7XG5cbiAgICBjb25zdCBtZXNzYWdlID0gXCJEb3dubG9hZCBDb21wbGV0ZWRcIlxuXG4gICAgY29uc3QgZGlzcGxheSA9IFRvYXN0RGlzcGxheS5hZGFwdCh7XG4gICAgICBtZXNzYWdlLFxuICAgICAgYWN0aW9uOiAnT2snLFxuICAgICAgY29sb3I6IFRvYXN0Q29sb3JzLlNVQ0NFU1MsXG4gICAgICBpY29uOiAnc2VudGltZW50X3NhdGlzZmllZF9hbHQnLFxuICAgIH0pO1xuXG4gICAgdGhpcy50b2FzdE1lc3NhZ2UudG9hc3RNZXNzYWdlKGRpc3BsYXkpO1xuICB9XG5cbiAgb25Eb3dubG9hZEZhaWxlZChlcnI6IHN0cmluZykge1xuXG4gICAgY29uc3QgbWVzc2FnZSA9IFwiRG93bmxvYWQgRmFpbGVkXCJcblxuICAgIGNvbnN0IGRpc3BsYXkgPSBUb2FzdERpc3BsYXkuYWRhcHQoe1xuICAgICAgbWVzc2FnZSxcbiAgICAgIGFjdGlvbjogJ09rJyxcbiAgICAgIGNvbG9yOiBUb2FzdENvbG9ycy5FUlJPUixcbiAgICAgIGljb246ICd3YXJuaW5nJyxcbiAgICB9KTtcblxuICAgIHRoaXMudG9hc3RNZXNzYWdlLnRvYXN0TWVzc2FnZShkaXNwbGF5KTtcbiAgfVxuXG4gIGVycm9ySGFuZGxpbmcoZXJyOiBhbnksIHR5cGU6IHN0cmluZykge1xuICAgIGlmKHR5cGUgPT09ICdHRVQnKSB0aGlzLkdFVF9lcnJvciQubmV4dChlcnIubWVzc2FnZSlcbiAgICBpZih0eXBlID09PSAnUE9TVCcpIHRoaXMuUE9TVF9lcnJvciQubmV4dChlcnIubWVzc2FnZSlcbiAgICBpZih0eXBlID09PSAnUFVUJykgdGhpcy5QVVRfZXJyb3IkLm5leHQoZXJyLm1lc3NhZ2UpXG4gICAgaWYodHlwZSA9PT0gJ0RFTEVURScpIHRoaXMuREVMRVRFX2Vycm9yJC5uZXh0KGVyci5tZXNzYWdlKVxuICAgIGlmKHR5cGUgPT09ICdTVFJFQU0nKSB0aGlzLlNUUkVBTV9lcnJvciQubmV4dChlcnIubWVzc2FnZSlcbiAgfVxuXG59XG4iLCI8ZGl2IHN0eWxlPVwibWFyZ2luOiAycmVtO1wiPlxuXG4gIDxoMj5cbiAgICBIVFRQIFJlcXVlc3QgTWFuYWdlclxuICA8L2gyPlxuXG4gIDxkaXYgW2Zvcm1Hcm91cF09XCJyZXF1ZXN0Rm9ybVwiIHN0eWxlPVwibWFyZ2luLXRvcDogMnJlbTtcIj5cbiAgICA8ZGl2IHN0eWxlPVwiZGlzcGxheTogZmxleDsgZ2FwOiAuNXJlbVwiPlxuICAgICAgPG1hdC1mb3JtLWZpZWxkIGFwcGVhcmFuY2U9XCJvdXRsaW5lXCI+XG4gICAgICAgIDxtYXQtbGFiZWw+QWRhcHRlciAoTW9kZWwpPC9tYXQtbGFiZWw+XG4gICAgICAgIDxtYXQtc2VsZWN0IGZvcm1Db250cm9sTmFtZT1cImFkYXB0ZXJcIj5cbiAgICAgICAgICA8bWF0LW9wdGlvbj5Ob25lPC9tYXQtb3B0aW9uPlxuICAgICAgICAgIDxtYXQtb3B0aW9uICpuZ0Zvcj1cImxldCBhZGFwdGVyIG9mIHNhbXBsZUFkYXB0b3JzXCIgW3ZhbHVlXT1cImFkYXB0ZXIudmFsdWVcIj5cbiAgICAgICAgICAgIHt7YWRhcHRlci5sYWJlbH19XG4gICAgICAgICAgPC9tYXQtb3B0aW9uPlxuICAgICAgICA8L21hdC1zZWxlY3Q+XG4gICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgPG1hdC1mb3JtLWZpZWxkIGFwcGVhcmFuY2U9XCJvdXRsaW5lXCI+XG4gICAgICAgIDxtYXQtbGFiZWw+TWFwcGVyIChNb2RlbCk8L21hdC1sYWJlbD5cbiAgICAgICAgPG1hdC1zZWxlY3QgZm9ybUNvbnRyb2xOYW1lPVwiYWRhcHRlclwiPlxuICAgICAgICAgIDxtYXQtb3B0aW9uPk5vbmU8L21hdC1vcHRpb24+XG4gICAgICAgICAgPG1hdC1vcHRpb24gKm5nRm9yPVwibGV0IG1hcHBlciBvZiBzYW1wbGVNYXBwZXJzXCIgW3ZhbHVlXT1cIm1hcHBlci52YWx1ZVwiPlxuICAgICAgICAgICAge3ttYXBwZXIubGFiZWx9fVxuICAgICAgICAgIDwvbWF0LW9wdGlvbj5cbiAgICAgICAgPC9tYXQtc2VsZWN0PlxuICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2PlxuICAgICAgPG1hdC1mb3JtLWZpZWxkIGFwcGVhcmFuY2U9XCJvdXRsaW5lXCI+XG4gICAgICAgIDxtYXQtbGFiZWw+UmVzdFBhdGggKC8gZGVsaW1pdGVkKTwvbWF0LWxhYmVsPlxuICAgICAgICA8aW5wdXQgbWF0SW5wdXQgcGxhY2Vob2xkZXI9XCJjbGllbnRzL2xpc3RcIiBmb3JtQ29udHJvbE5hbWU9XCJwYXRoXCI+XG4gICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgIDwvZGl2PlxuICAgIDxkaXY+XG4gICAgICA8ZGl2IGZvcm1BcnJheU5hbWU9XCJoZWFkZXJzXCI+XG4gICAgICAgIDxkaXYgKm5nRm9yPVwibGV0IHRhc2sgb2YgaGVhZGVycy5jb250cm9sczsgbGV0IGkgPSBpbmRleFwiIFtmb3JtR3JvdXBOYW1lXT1cImlcIj5cbiAgICAgICAgICA8ZGl2IHN0eWxlPVwiZGlzcGxheTogZmxleDsgZ2FwOiAuNXJlbVwiPlxuICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGFwcGVhcmFuY2U9XCJvdXRsaW5lXCI+XG4gICAgICAgICAgICAgIDxtYXQtbGFiZWw+S2V5PC9tYXQtbGFiZWw+XG4gICAgICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCBwbGFjZWhvbGRlcj1cImF1dGhlbnRpY2F0aW9uXCIgZm9ybUNvbnRyb2xOYW1lPVwia2V5XCI+XG4gICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGFwcGVhcmFuY2U9XCJvdXRsaW5lXCIgc3R5bGU9XCJmbGV4OjFcIj5cbiAgICAgICAgICAgICAgPG1hdC1sYWJlbD5WYWx1ZTwvbWF0LWxhYmVsPlxuICAgICAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgcGxhY2Vob2xkZXI9XCJzYW1wbGVcIiBmb3JtQ29udHJvbE5hbWU9XCJ2YWx1ZVwiPlxuICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICAgIDxkaXYgc3R5bGU9XCJtYXJnaW4tdG9wOiAuNXJlbTtcIj5cbiAgICAgICAgICAgICAgPGJ1dHRvbiBtYXQtaWNvbi1idXR0b24gKGNsaWNrKT1cInJlbW92ZUhlYWRlcihpKVwiPlxuICAgICAgICAgICAgICAgICAgPG1hdC1pY29uPmNsb3NlPC9tYXQtaWNvbj5cbiAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxidXR0b24gbWF0LXN0cm9rZWQtYnV0dG9uIChjbGljayk9XCJhZGRIZWFkZXIoKVwiIGNsYXNzPVwiYnRuXCI+QWRkIEhlYWRlcjwvYnV0dG9uPlxuICAgIDwvZGl2PlxuICAgIDxkaXYgc3R5bGU9XCJtYXJnaW4tdG9wOiAycmVtOyBkaXNwbGF5OiBmbGV4OyBmbGV4LWRpcmVjdGlvbjpjb2x1bW47IGdhcDogMXJlbTtcIj5cbiAgICAgIDxkaXY+XG4gICAgICAgIDxtYXQtc2xpZGUtdG9nZ2xlICNmYWlsZWRTdGF0ZT5SZXRyeSBvbiBGYWlsZWQ8L21hdC1zbGlkZS10b2dnbGU+XG4gICAgICAgIDxkaXYgKm5nSWY9XCJmYWlsZWRTdGF0ZS5jaGVja2VkXCIgc3R5bGU9XCJkaXNwbGF5OiBmbGV4OyBnYXA6IC41cmVtOyBtYXJnaW4tdG9wOiAxcmVtO1wiIGZvcm1Hcm91cE5hbWU9XCJyZXRyeVwiPlxuICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBhcHBlYXJhbmNlPVwib3V0bGluZVwiPlxuICAgICAgICAgICAgPG1hdC1sYWJlbD4jb2YgVGltZXM8L21hdC1sYWJlbD5cbiAgICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCBwbGFjZWhvbGRlcj1cIjNcIiBmb3JtQ29udHJvbE5hbWU9XCJ0aW1lc1wiIHZhbHVlPVwiM1wiPlxuICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGFwcGVhcmFuY2U9XCJvdXRsaW5lXCI+XG4gICAgICAgICAgICA8bWF0LWxhYmVsPkRlbGF5IFVudGlsIE5leHQ8L21hdC1sYWJlbD5cbiAgICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCBwbGFjZWhvbGRlcj1cIjNcIiBmb3JtQ29udHJvbE5hbWU9XCJkZWxheVwiIHZhbHVlPVwiM1wiPlxuICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2PlxuICAgICAgICA8bWF0LXNsaWRlLXRvZ2dsZSAjcG9sbGluZ1N0YXRlPlBvbGxpbmc8L21hdC1zbGlkZS10b2dnbGU+XG4gICAgICAgIDxkaXYgKm5nSWY9XCJwb2xsaW5nU3RhdGUuY2hlY2tlZFwiPlxuICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBhcHBlYXJhbmNlPVwib3V0bGluZVwiIHN0eWxlPVwibWFyZ2luLXRvcDogMXJlbVwiPlxuICAgICAgICAgICAgPG1hdC1sYWJlbD4jb2YgU2Vjb25kczwvbWF0LWxhYmVsPlxuICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IHBsYWNlaG9sZGVyPVwiM1wiIGZvcm1Db250cm9sTmFtZT1cInBvbGxpbmdcIiB2YWx1ZT1cIjNcIj5cbiAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cblxuICA8ZGl2IHN0eWxlPVwibWFyZ2luLWJvdHRvbTogMXJlbTsgbWFyZ2luLXRvcDogMnJlbTtcIj5cbiAgICA8bWF0LXByb2dyZXNzLWJhciBtb2RlPVwiaW5kZXRlcm1pbmF0ZVwiXG4gICAgICAqbmdJZj1cIihpc1BlbmRpbmckIHwgYXN5bmMpXCJcbiAgICA+PC9tYXQtcHJvZ3Jlc3MtYmFyPlxuICAgIDxtYXQtcHJvZ3Jlc3MtYmFyIG1vZGU9XCJkZXRlcm1pbmF0ZVwiXG4gICAgICAqbmdJZj1cInBvbGxpbmdTdGF0ZS5jaGVja2VkICYmICEoaXNQZW5kaW5nJCB8IGFzeW5jKVwiXG4gICAgICBbdmFsdWVdPVwiKHRoaXMuY291bnRkb3duJCB8IGFzeW5jKVwiXG4gICAgPjwvbWF0LXByb2dyZXNzLWJhcj5cbiAgPC9kaXY+XG5cbiAgPGRpdiBzdHlsZT1cIm1hcmdpbi10b3A6IDFyZW1cIj5cbiAgICA8bWF0LWRpdmlkZXI+PC9tYXQtZGl2aWRlcj5cbiAgPC9kaXY+XG5cbiAgPGRpdiBzdHlsZT1cIm1hcmdpbi10b3A6IDJyZW1cIj5cbiAgICA8ZGl2IHN0eWxlPVwiZGlzcGxheTogZmxleDtcIj5cbiAgICAgIDxoMiBzdHlsZT1cImZsZXg6MVwiPkdFVCBSZXF1ZXN0PC9oMj5cbiAgICAgIDxkaXY+XG4gICAgICAgIDxidXR0b24gbWF0LXJhaXNlZC1idXR0b24gKGNsaWNrKT1cIm9uR2V0UmVxdWVzdCgpXCIgY2xhc3M9XCJidG5cIj5SZXF1ZXN0PC9idXR0b24+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cblxuICAgIDxkaXYgKm5nSWY9XCIoR0VUX2Vycm9yJCB8IGFzeW5jKSBhcyBnZXRfZXJyb3JcIiBzdHlsZT1cIm1hcmdpbi10b3A6IC41cmVtO1wiPlxuICAgICAgPG1hdC1lcnJvcj57eyBnZXRfZXJyb3IgfX08L21hdC1lcnJvcj5cbiAgICA8L2Rpdj5cblxuICAgIDxkaXYgc3R5bGU9XCJtYXJnaW4tdG9wOiAxcmVtO1wiICpuZ0lmPVwiKEdFVCQgfCBhc3luYykgYXMgZGF0YVJlY29yZFwiPlxuICAgICAgPCEtLSA8ZGl2IFtpbm5lckhUTUxdPVwiKEdFVCQgfCBhc3luYykgfCBqc29udlwiPjwvZGl2PiAtLT5cbiAgICAgIHt7IGRhdGFSZWNvcmQgfCBqc29uIH19XG4gICAgPC9kaXY+XG5cbiAgPC9kaXY+XG5cbiAgPGRpdiBzdHlsZT1cIm1hcmdpbi10b3A6IDJyZW1cIj5cbiAgICA8bWF0LWRpdmlkZXI+PC9tYXQtZGl2aWRlcj5cbiAgPC9kaXY+XG5cbiAgPGRpdiBzdHlsZT1cIm1hcmdpbi10b3A6IDJyZW1cIj5cbiAgICA8ZGl2IHN0eWxlPVwiZGlzcGxheTogZmxleDtcIj5cbiAgICAgIDxoMiBzdHlsZT1cImZsZXg6MVwiPlBPU1QgUmVxdWVzdDwvaDI+XG4gICAgICA8ZGl2PlxuICAgICAgICA8YnV0dG9uIG1hdC1yYWlzZWQtYnV0dG9uIChjbGljayk9XCJvbkNyZWF0ZVJlcXVlc3QoKVwiIGNsYXNzPVwiYnRuXCI+UmVxdWVzdDwvYnV0dG9uPlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG5cbiAgICA8ZGl2ICpuZ0lmPVwiKFBPU1RfZXJyb3IkIHwgYXN5bmMpIGFzIHBvc3RfZXJyb3JcIiBzdHlsZT1cIm1hcmdpbi10b3A6IC41cmVtO1wiPlxuICAgICAgPG1hdC1lcnJvcj57eyBwb3N0X2Vycm9yIH19PC9tYXQtZXJyb3I+XG4gICAgPC9kaXY+XG5cbiAgICA8ZGl2IHN0eWxlPVwibWFyZ2luLXRvcDogMXJlbTtcIiAqbmdJZj1cIihQT1NUJCB8IGFzeW5jKSBhcyBkYXRhUmVjb3JkXCI+XG4gICAgICA8IS0tIDxkaXYgW2lubmVySFRNTF09XCIoUE9TVCQgfCBhc3luYykgfCBqc29udlwiPjwvZGl2PiAtLT5cbiAgICAgIHt7IGRhdGFSZWNvcmQgfCBqc29uIH19XG4gICAgPC9kaXY+XG5cbiAgPC9kaXY+XG5cbiAgPGRpdiBzdHlsZT1cIm1hcmdpbi10b3A6IDJyZW1cIj5cbiAgICA8bWF0LWRpdmlkZXI+PC9tYXQtZGl2aWRlcj5cbiAgPC9kaXY+XG5cbiAgPGRpdiBzdHlsZT1cIm1hcmdpbi10b3A6IDJyZW1cIj5cbiAgICA8ZGl2IHN0eWxlPVwiZGlzcGxheTogZmxleDtcIj5cbiAgICAgIDxoMiBzdHlsZT1cImZsZXg6MVwiPlBVVCBSZXF1ZXN0PC9oMj5cbiAgICAgIDxkaXY+XG4gICAgICAgIDxidXR0b24gbWF0LXJhaXNlZC1idXR0b24gKGNsaWNrKT1cIm9uVXBkYXRlUmVxdWVzdCgpXCIgY2xhc3M9XCJidG5cIj5SZXF1ZXN0PC9idXR0b24+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cblxuICAgIDxkaXYgKm5nSWY9XCIoUFVUX2Vycm9yJCB8IGFzeW5jKSBhcyBwdXRfZXJyb3JcIiBzdHlsZT1cIm1hcmdpbi10b3A6IC41cmVtO1wiPlxuICAgICAgPG1hdC1lcnJvcj57eyBwdXRfZXJyb3IgfX08L21hdC1lcnJvcj5cbiAgICA8L2Rpdj5cblxuICAgIDxkaXYgc3R5bGU9XCJtYXJnaW4tdG9wOiAxcmVtO1wiICpuZ0lmPVwiKFBVVCQgfCBhc3luYykgYXMgZGF0YVJlY29yZFwiPlxuICAgICAgPCEtLSA8ZGl2IFtpbm5lckhUTUxdPVwiKFBVVCQgfCBhc3luYykgfCBqc29udlwiPjwvZGl2PiAtLT5cbiAgICAgICB7eyBkYXRhUmVjb3JkIHwganNvbiB9fVxuICAgIDwvZGl2PlxuXG4gIDwvZGl2PlxuXG4gIDxkaXYgc3R5bGU9XCJtYXJnaW4tdG9wOiAycmVtXCI+XG4gICAgPG1hdC1kaXZpZGVyPjwvbWF0LWRpdmlkZXI+XG4gIDwvZGl2PlxuXG4gIDxkaXYgc3R5bGU9XCJtYXJnaW4tdG9wOiAycmVtXCI+XG4gICAgPGRpdiBzdHlsZT1cImRpc3BsYXk6IGZsZXg7XCI+XG4gICAgICA8aDIgc3R5bGU9XCJmbGV4OjFcIj5ERUxFVEUgUmVxdWVzdDwvaDI+XG4gICAgICA8ZGl2PlxuICAgICAgICA8YnV0dG9uIG1hdC1yYWlzZWQtYnV0dG9uIChjbGljayk9XCJvbkRlbGV0ZVJlcXVlc3QoKVwiIGNsYXNzPVwiYnRuXCI+UmVxdWVzdDwvYnV0dG9uPlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG5cbiAgICA8ZGl2ICpuZ0lmPVwiKERFTEVURV9lcnJvciQgfCBhc3luYykgYXMgZGVsZXRlX2Vycm9yXCIgc3R5bGU9XCJtYXJnaW4tdG9wOiAuNXJlbTtcIj5cbiAgICAgIDxtYXQtZXJyb3I+e3sgZGVsZXRlX2Vycm9yIH19PC9tYXQtZXJyb3I+XG4gICAgPC9kaXY+XG5cbiAgICA8ZGl2IHN0eWxlPVwibWFyZ2luLXRvcDogMXJlbTtcIiAqbmdJZj1cIihERUxFVEUkIHwgYXN5bmMpIGFzIGRhdGFSZWNvcmRcIj5cbiAgICAgIDwhLS0gPGRpdiBbaW5uZXJIVE1MXT1cIihERUxFVEUkIHwgYXN5bmMpIHwganNvbnZcIj48L2Rpdj4gLS0+XG4gICAgICB7eyBkYXRhUmVjb3JkIHwganNvbiB9fVxuICAgIDwvZGl2PlxuXG4gIDwvZGl2PlxuXG4gIDxkaXYgc3R5bGU9XCJtYXJnaW4tdG9wOiAycmVtXCI+XG4gICAgPG1hdC1kaXZpZGVyPjwvbWF0LWRpdmlkZXI+XG4gIDwvZGl2PlxuXG4gIDxkaXYgc3R5bGU9XCJtYXJnaW4tdG9wOiAycmVtXCI+XG4gICAgPGRpdiBzdHlsZT1cImRpc3BsYXk6IGZsZXg7XCI+XG4gICAgICA8aDIgc3R5bGU9XCJmbGV4OjFcIj5TdHJlYW1pbmcgR0VUIFJlcXVlc3Q8L2gyPlxuICAgICAgPGRpdj5cbiAgICAgICAgPGJ1dHRvbiBtYXQtcmFpc2VkLWJ1dHRvbiAoY2xpY2spPVwib25TdHJlYW1SZXF1ZXN0KClcIiBjbGFzcz1cImJ0blwiPlJlcXVlc3Q8L2J1dHRvbj5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuXG4gICAgPGRpdiAqbmdJZj1cIihTVFJFQU1fZXJyb3IkIHwgYXN5bmMpIGFzIHN0cmVhbV9lcnJvclwiIHN0eWxlPVwibWFyZ2luLXRvcDogLjVyZW07XCI+XG4gICAgICA8bWF0LWVycm9yPnt7IHN0cmVhbV9lcnJvciB9fTwvbWF0LWVycm9yPlxuICAgIDwvZGl2PlxuXG4gICAgPGRpdiBzdHlsZT1cIm1hcmdpbi10b3A6IDFyZW07XCI+XG4gICAgICA8ZGl2ICpuZ0lmPVwiKFNUUkVBTSQgfCBhc3luYykgYXMgZGF0YVwiIGNsYXNzPVwiY29udGFpbmVyXCI+XG4gICAgICAgIDx0YWJsZSBtYXQtdGFibGUgW2RhdGFTb3VyY2VdPVwiZGF0YVwiPlxuICAgICAgICAgIDxuZy1jb250YWluZXIgbWF0Q29sdW1uRGVmPVwiaWRcIj5cbiAgICAgICAgICAgIDx0aCBtYXQtaGVhZGVyLWNlbGwgKm1hdEhlYWRlckNlbGxEZWY+IElEIDwvdGg+XG4gICAgICAgICAgICA8dGQgbWF0LWNlbGwgKm1hdENlbGxEZWY9XCJsZXQgZWxlbWVudFwiPiB7e2VsZW1lbnQuaWR9fSA8L3RkPlxuICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuXG4gICAgICAgICAgPG5nLWNvbnRhaW5lciBtYXRDb2x1bW5EZWY9XCJuYW1lXCI+XG4gICAgICAgICAgICA8dGggbWF0LWhlYWRlci1jZWxsICptYXRIZWFkZXJDZWxsRGVmPiBGaXJzdCBOYW1lIDwvdGg+XG4gICAgICAgICAgICA8dGQgbWF0LWNlbGwgKm1hdENlbGxEZWY9XCJsZXQgZWxlbWVudFwiPiB7e2VsZW1lbnQubmFtZX19IDwvdGQ+XG4gICAgICAgICAgPC9uZy1jb250YWluZXI+XG5cbiAgICAgICAgICA8bmctY29udGFpbmVyIG1hdENvbHVtbkRlZj1cImxhc3ROYW1lXCI+XG4gICAgICAgICAgICA8dGggbWF0LWhlYWRlci1jZWxsICptYXRIZWFkZXJDZWxsRGVmPiBMYXN0IE5hbWUgPC90aD5cbiAgICAgICAgICAgIDx0ZCBtYXQtY2VsbCAqbWF0Q2VsbERlZj1cImxldCBlbGVtZW50XCI+IHt7ZWxlbWVudC5sYXN0TmFtZX19IDwvdGQ+XG4gICAgICAgICAgPC9uZy1jb250YWluZXI+XG5cbiAgICAgICAgICA8bmctY29udGFpbmVyIG1hdENvbHVtbkRlZj1cImFnZVwiPlxuICAgICAgICAgICAgPHRoIG1hdC1oZWFkZXItY2VsbCAqbWF0SGVhZGVyQ2VsbERlZj4gQWdlIDwvdGg+XG4gICAgICAgICAgICA8dGQgbWF0LWNlbGwgKm1hdENlbGxEZWY9XCJsZXQgZWxlbWVudFwiPiB7e2VsZW1lbnQuYWdlfX0gPC90ZD5cbiAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cblxuICAgICAgICAgIDx0ciBtYXQtaGVhZGVyLXJvdyAqbWF0SGVhZGVyUm93RGVmPVwiZGlzcGxheWVkQ29sdW1uc1wiPjwvdHI+XG4gICAgICAgICAgPHRyIG1hdC1yb3cgKm1hdFJvd0RlZj1cImxldCByb3c7IGNvbHVtbnM6IGRpc3BsYXllZENvbHVtbnM7XCI+PC90cj5cbiAgICAgICAgPC90YWJsZT5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuXG4gIDwvZGl2PlxuXG4gIDxkaXYgc3R5bGU9XCJtYXJnaW4tdG9wOiAycmVtXCI+XG4gICAgPG1hdC1kaXZpZGVyPjwvbWF0LWRpdmlkZXI+XG4gIDwvZGl2PlxuXG4gIDxkaXYgc3R5bGU9XCJtYXJnaW4tdG9wOiAycmVtXCI+XG4gICAgPGRpdiBzdHlsZT1cImRpc3BsYXk6IGZsZXg7XCI+XG4gICAgICA8aDIgc3R5bGU9XCJmbGV4OjFcIj5TVFJFQU1JTkcgUE9TVCBSZXF1ZXN0PC9oMj5cbiAgICAgIDxkaXY+XG4gICAgICAgIDxidXR0b24gbWF0LXJhaXNlZC1idXR0b24gKGNsaWNrKT1cIm9uU3RyZWFtUG9zdFJlcXVlc3QoKVwiIGNsYXNzPVwiYnRuXCI+QXNrIE1lPC9idXR0b24+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cblxuICAgIDxkaXYgc3R5bGU9XCJkaXNwbGF5OiBmbGV4O1wiPlxuICAgICAgPG1hdC1mb3JtLWZpZWxkIGFwcGVhcmFuY2U9XCJvdXRsaW5lXCIgc3R5bGU9XCJmbGV4OjFcIj5cbiAgICAgICAgPG1hdC1sYWJlbD5Bc2sgbWUgYSBRdWVzdGlvbjwvbWF0LWxhYmVsPlxuICAgICAgICA8dGV4dGFyZWEgbWF0SW5wdXQgcGxhY2Vob2xkZXI9XCJXaHkgaXMgdGhlIHNreSBibHVlP1wiIFtmb3JtQ29udHJvbF09XCJxdWVzdGlvbkNvbnRyb2xcIj48L3RleHRhcmVhPlxuICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICA8L2Rpdj5cblxuICAgIDxkaXYgKm5nSWY9XCIoU1RSRUFNX0FJX2Vycm9yJCB8IGFzeW5jKSBhcyBzdHJlYW1fZXJyb3JcIiBzdHlsZT1cIm1hcmdpbi10b3A6IC41cmVtO1wiPlxuICAgICAgPG1hdC1lcnJvcj57eyBzdHJlYW1fZXJyb3IgfX08L21hdC1lcnJvcj5cbiAgICA8L2Rpdj5cblxuICAgIDxkaXYgc3R5bGU9XCJtYXJnaW4tdG9wOiAxcmVtO1wiPlxuICAgICAgPGRpdiAqbmdJZj1cIihTVFJFQU1fQUkkIHwgYXN5bmMpIGFzIGRhdGFcIj5cbiAgICAgICAgPHAgc3R5bGU9XCJtYXJnaW4tYm90dG9tOiAuNXJlbTsgd2hpdGUtc3BhY2U6cHJlLXdyYXA7XCI+e3tkYXRhfX08L3A+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cblxuICA8L2Rpdj5cblxuICA8ZGl2PlxuICAgIDxkaXYgc3R5bGU9XCJkaXNwbGF5OiBmbGV4O1wiPlxuICAgICAgPGgyIHN0eWxlPVwiZmxleDoxOyBtYXJnaW4tYm90dG9tOiAwOyBwYWRkaW5nLXRvcDogLjVyZW07IGRpc3BsYXk6IGZsZXg7XCI+XG4gICAgICAgIDxkaXY+XG4gICAgICAgICAgRG93bmxvYWQgRmlsZVxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiBzdHlsZT1cImZsZXg6MTsgbWFyZ2luLWxlZnQ6IDFyZW07XCI+XG4gICAgICAgICAgPG1hdC1zbGlkZS10b2dnbGUgI2Rpc2FibGU+XG4gICAgICAgICAgICA8c3BhbiAqbmdJZj1cImRpc2FibGUuY2hlY2tlZDsgZWxzZSBESVNBQkxFXCI+XG4gICAgICAgICAgICAgIEVuYWJsZVxuICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgPG5nLXRlbXBsYXRlICNESVNBQkxFPkRpc2FibGU8L25nLXRlbXBsYXRlPlxuICAgICAgICAgIDwvbWF0LXNsaWRlLXRvZ2dsZT5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2gyPlxuICAgICAgPGRpdj5cbiAgICAgICAgPGFwcC1maWxlLWRvd25sb2FkZXJcbiAgICAgICAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZS5jaGVja2VkXCJcbiAgICAgICAgICBbZGVsYXlFcnJvcl09XCIzXCJcbiAgICAgICAgICBbYXBpUmVxdWVzdF09XCJkb3dubG9hZFJlcXVlc3RcIlxuICAgICAgICAgIChjb21wbGV0ZWQpPVwib25Eb3dubG9hZENvbXBsZXRlZCgpXCJcbiAgICAgICAgICAoZmFpbGVkKT1cIm9uRG93bmxvYWRGYWlsZWQoJGV2ZW50KVwiXG4gICAgICAgID48L2FwcC1maWxlLWRvd25sb2FkZXI+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG5cbjwvZGl2PlxuIl19
276
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVxdWVzdC1tYW5hZ2VyLWRlbW8uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvaHR0cC1yZXF1ZXN0LW1hbmFnZXIvc3JjL2xpYi9odHRwLXJlcXVlc3Qtc2VydmljZXMtZGVtby9yZXF1ZXN0LW1hbmFnZXItZGVtby9yZXF1ZXN0LW1hbmFnZXItZGVtby5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9odHRwLXJlcXVlc3QtbWFuYWdlci9zcmMvbGliL2h0dHAtcmVxdWVzdC1zZXJ2aWNlcy1kZW1vL3JlcXVlc3QtbWFuYWdlci1kZW1vL3JlcXVlc3QtbWFuYWdlci1kZW1vLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQVUsU0FBUyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUVyRSxPQUFPLEVBQUUsZUFBZSxFQUFFLEtBQUssRUFBYyxVQUFVLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDdEUsT0FBTyxFQUFhLFdBQVcsRUFBRSxVQUFVLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUVwRSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDekQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFDdEUsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ3JELE9BQU8sRUFBRSxVQUFVLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxPQUFPLENBQUM7QUFDdkQsT0FBTyxFQUFFLFVBQVUsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFdEQsT0FBTyxFQUFFLFdBQVcsRUFBRSxZQUFZLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQzs7Ozs7Ozs7Ozs7Ozs7O0FBTzlGLE1BQU0s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bzFUQWlTQTs7NEZEL1FhLDJCQUEyQjtrQkFMdkMsU0FBUzsrQkFDRSwwQkFBMEI7MEVBd0NRLFdBQVc7c0JBQXRELFNBQVM7dUJBQUMsYUFBYSxFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRTtnQkFDRyxZQUFZO3NCQUF4RCxTQUFTO3VCQUFDLGNBQWMsRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIE9uSW5pdCwgVmlld0NoaWxkLCBpbmplY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBFTVBUWSwgT2JzZXJ2YWJsZSwgdGhyb3dFcnJvciB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgRm9ybUFycmF5LCBGb3JtQnVpbGRlciwgVmFsaWRhdG9ycyB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcblxuaW1wb3J0IHsgQ2xpZW50SW5mbyB9IGZyb20gJy4vbW9kZWxzL3NhbXBsZS1jbGllbnQtaW5mbyc7XG5pbXBvcnQgeyBDbGllbnRJbmZvTWFwcGVyIH0gZnJvbSAnLi9tb2RlbHMvc2FtcGxlLW1hcHBlci1jbGllbnQtaW5mbyc7XG5pbXBvcnQgeyBBSVByb21wdCB9IGZyb20gJy4vbW9kZWxzL3NhbXBsZS1haS1wcm9tcHQnO1xuaW1wb3J0IHsgQXBpUmVxdWVzdCwgSFRUUE1hbmFnZXJTZXJ2aWNlIH0gZnJvbSAnLi4vLi4nO1xuaW1wb3J0IHsgY2F0Y2hFcnJvciwgbWFwLCB0YXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmltcG9ydCB7IFRvYXN0Q29sb3JzLCBUb2FzdERpc3BsYXksIFRvYXN0TWVzc2FnZURpc3BsYXlTZXJ2aWNlIH0gZnJvbSAndG9hc3QtbWVzc2FnZS1kaXNwbGF5JztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYXBwLXJlcXVlc3QtbWFuYWdlci1kZW1vJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3JlcXVlc3QtbWFuYWdlci1kZW1vLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vcmVxdWVzdC1tYW5hZ2VyLWRlbW8uY29tcG9uZW50LnNjc3MnXSxcbn0pXG5leHBvcnQgY2xhc3MgUmVxdWVzdE1hbmFnZXJEZW1vQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcblxuICBkaXNwbGF5ZWRDb2x1bW5zID0gWydpZCcsJ25hbWUnLCAnbGFzdE5hbWUnLCAnYWdlJ11cblxuICBwcml2YXRlIGZiID0gaW5qZWN0KEZvcm1CdWlsZGVyKVxuICBwcml2YXRlIHRvYXN0TWVzc2FnZSA9IGluamVjdChUb2FzdE1lc3NhZ2VEaXNwbGF5U2VydmljZSk7XG5cbiAgaHR0cE1hbmFnZXJTZXJ2aWNlID0gaW5qZWN0KEhUVFBNYW5hZ2VyU2VydmljZSlcblxuICBpc1BlbmRpbmckID0gdGhpcy5odHRwTWFuYWdlclNlcnZpY2UuaXNQZW5kaW5nJFxuICBjb3VudGRvd24kID0gdGhpcy5odHRwTWFuYWdlclNlcnZpY2UuY291bnRkb3duJFxuXG4gIEdFVF9lcnJvciQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PHN0cmluZz4oJycpXG4gIFBPU1RfZXJyb3IkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxzdHJpbmc+KCcnKVxuICBQVVRfZXJyb3IkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxzdHJpbmc+KCcnKVxuICBERUxFVEVfZXJyb3IkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxzdHJpbmc+KCcnKVxuXG4gIFNUUkVBTV9lcnJvciQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PHN0cmluZz4oJycpXG4gIFNUUkVBTV9BSV9lcnJvciQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PHN0cmluZz4oJycpXG5cbiAgR0VUJD86IE9ic2VydmFibGU8YW55PlxuICBQT1NUJD86IE9ic2VydmFibGU8YW55PlxuICBQVVQkPzogT2JzZXJ2YWJsZTxhbnk+XG4gIERFTEVURSQ/OiBPYnNlcnZhYmxlPGFueT5cblxuICBTVFJFQU1fQUkkPzogT2JzZXJ2YWJsZTxhbnk+XG4gIFNUUkVBTSQ/OiBPYnNlcnZhYmxlPGFueT5cblxuICByZXF1ZXN0UGFyYW1zID0ge1xuICAgIEdFVDogQXBpUmVxdWVzdC5hZGFwdCgpLFxuICAgIFBPU1Q6IEFwaVJlcXVlc3QuYWRhcHQoKSxcbiAgICBQVVQ6IEFwaVJlcXVlc3QuYWRhcHQoKSxcbiAgICBERUxFVEU6IEFwaVJlcXVlc3QuYWRhcHQoKSxcbiAgICBTVFJFQU06IEFwaVJlcXVlc3QuYWRhcHQoKSxcbiAgfVxuXG4gIEBWaWV3Q2hpbGQoXCJmYWlsZWRTdGF0ZVwiLCB7IHN0YXRpYzogdHJ1ZSB9KSBmYWlsZWRTdGF0ZTogYW55XG4gIEBWaWV3Q2hpbGQoXCJwb2xsaW5nU3RhdGVcIiwgeyBzdGF0aWM6IHRydWUgfSkgcG9sbGluZ1N0YXRlOiBhbnlcblxuICBxdWVzdGlvbkNvbnRyb2wgPSB0aGlzLmZiLmNvbnRyb2woXCJcIiwgW1ZhbGlkYXRvcnMucmVxdWlyZWRdKVxuXG4gIGRvd25sb2FkUmVxdWVzdCA9IEFwaVJlcXVlc3QuYWRhcHQoe1xuICAgIHNlcnZlcjogJ2h0dHA6Ly9sb2NhbGhvc3Q6NDIwMC9hc3NldHMnLFxuICAgIHBhdGg6IFsnaWNvbnMxLnN2ZyddXG4gIH0pXG5cbiAgc2FtcGxlQ2xpZW50RGF0YSA9IHtcbiAgICAgIGlkOiAwLFxuICAgICAgbmFtZTogXCJPbGQgU2Nob29sIERhdGVzXCIsXG4gICAgICBkb21haW46IFwib3NkLmNvbVwiLFxuICAgICAgc2VydmljZTogXCJvc2RcIixcbiAgICAgIHNwaWZmZTogXCJvc2QuY29tL29zZFwiLFxuICAgICAgc2VjcmV0OiBcIlNNT1BFQ1hQLU9TNFAtVVNPRy1YMklJLTNYTUQxRlFEUjNJSlhcIixcbiAgICAgIGNyZWF0ZWQ6IDE2OTMwMDMxMzgsXG4gICAgICBtb2RpZmllZDogMTY5MzAwMzEzOCxcbiAgICAgIGljb246IFwiXCIsXG4gICAgICBpbWFnZUZpbGU6IFwiXCIsXG4gIH1cblxuICByZXF1ZXN0Rm9ybSA9IHRoaXMuZmIuZ3JvdXAoe1xuICAgIHBhdGg6IHRoaXMuZmIuY29udHJvbDxzdHJpbmc+KFwiXCIpLFxuICAgIGhlYWRlcnM6IHRoaXMuZmIuYXJyYXkoW10pLFxuICAgIGFkYXB0ZXI6IFtudWxsXSxcbiAgICByZXRyeTogdGhpcy5mYi5ncm91cCh7XG4gICAgICB0aW1lczogWzNdLFxuICAgICAgZGVsYXk6IFszXSxcbiAgICB9KSxcbiAgICBwb2xsaW5nOiBbM10sXG4gIH0pXG5cbiAgc2FtcGxlQWRhcHRvcnMgPSBbXG4gICAgeyBsYWJlbDogXCJDbGllbnRJbmZvIEJhc2ljXCIsIHZhbHVlOiBDbGllbnRJbmZvLmFkYXB0IH0sXG4gICAgeyBsYWJlbDogXCJBSSBQcm9tcHRcIiwgdmFsdWU6IEFJUHJvbXB0LmFkYXB0IH0sXG4gIF1cblxuICBzYW1wbGVNYXBwZXJzID0gW1xuICAgIHsgbGFiZWw6IFwiTWFwcGVyIEJhc2ljXCIsIHZhbHVlOiBDbGllbnRJbmZvTWFwcGVyLmFkYXB0IH0sXG4gICAgeyBsYWJlbDogXCJBSSBQcm9tcHRcIiwgdmFsdWU6IEFJUHJvbXB0LmFkYXB0IH0sXG4gIF1cblxuICBnZXQgcmV0cnkoKSB7XG4gICAgcmV0dXJuIHRoaXMucmVxdWVzdEZvcm0uZ2V0KCdyZXRyeScpPy52YWx1ZVxuICB9XG5cbiAgZ2V0IGhlYWRlcnMoKTogRm9ybUFycmF5IHtcbiAgICByZXR1cm4gdGhpcy5yZXF1ZXN0Rm9ybS5nZXQoJ2hlYWRlcnMnKSBhcyBGb3JtQXJyYXlcbiAgfVxuXG4gIGdldCBpc1ZhbGlkKCkge1xuICAgIHRoaXMucmVxdWVzdEZvcm0ubWFya0FsbEFzVG91Y2hlZCgpXG4gICAgcmV0dXJuIHRoaXMucmVxdWVzdEZvcm0udmFsaWRcbiAgfVxuXG4gIC8vIHNlcnZlciA9IGBodHRwOi8vc2FtcGxlLWVuZHBvaW50L2FzL2F1dGhvcml6YXRpb24ub2F1dGgyYFxuXG4gIGFycmF5T2JqZWN0c1RvT2JqZWN0cyA9IChhcnI6IGFueVtdKSA9PiB7XG4gICAgcmV0dXJuIEFycmF5LmlzQXJyYXkoYXJyKSA/IGFyci5yZWR1Y2UoKG9iaiwgaXRlbSkgPT4gT2JqZWN0LmFzc2lnbihvYmosIHsgW2l0ZW0ua2V5XTogaXRlbS52YWx1ZSB9KSwge30pIDoge31cbiAgfVxuXG4gIGNvbnN0cnVjdG9yKCkgeyB9XG5cbiAgbmdPbkluaXQoKSB7XG5cbiAgICAvLyBjb25zdCByZXFHZXQyID0gQXBpUmVxdWVzdC5hZGFwdCh7XG4gICAgLy8gICBzZXJ2ZXIsXG4gICAgLy8gICBwYXRoOiBbJ2NsaWVudHMnXSxcbiAgICAvLyAgIGhlYWRlcnM6IHsgYXV0aGVudGljYXRpb246IFwiQmVhcmVyIDxLRVk+XCIgfSxcbiAgICAvLyAgIGFkYXB0ZXI6IENsaWVudEluZm8sXG4gICAgLy8gICBkYXRhVHlwZTogRGF0YVR5cGUuT0JKRUNULFxuICAgIC8vICAgLy8gY29uY3VycmVudDogZmFsc2UsXG4gICAgLy8gICAvLyBwb2xsaW5nOiAzLCAvL3NlY29uZHNcbiAgICAvLyB9KTtcblxuICAgIC8vIGNvbnN0IHJlcTIgPSBbMTAyNCwxMDI1LDEwMjZdLm1hcChpdGVtID0+IHtcbiAgICAvLyAgIHJldHVybiB0aGlzLmh0dHBNYW5hZ2VyU2VydmljZS5nZXRSZXF1ZXN0PENsaWVudEluZm9bXT4ocmVxR2V0MiwgW2l0ZW1dKVxuICAgIC8vICAgLnBpcGUoXG4gICAgLy8gICAgIGNhdGNoRXJyb3IoZXJyb3IgPT4ge1xuICAgIC8vICAgICAgIHJldHVybiB0aHJvd0Vycm9yKCgpID0+IG5ldyBFcnJvcihlcnJvci5lcnJvci5tZXNzYWdlKSk7XG4gICAgLy8gICAgIH0pXG4gICAgLy8gICApXG4gICAgLy8gfSlcblxuICAgIC8vIGZvcmtKb2luKHJlcTIpXG4gICAgLy8gLnN1YnNjcmliZShyZXMgPT4gY29uc29sZS5sb2cocmVzKSlcblxuICB9XG5cbiAgYWRkSGVhZGVyKCkge1xuICAgIGNvbnN0IGhlYWRlciA9IHRoaXMuZmIuZ3JvdXAoe1xuICAgICAga2V5OiBbJycsIFZhbGlkYXRvcnMucmVxdWlyZWRdLFxuICAgICAgdmFsdWU6IFsnJ11cbiAgICB9KTtcbiAgICB0aGlzLmhlYWRlcnMucHVzaChoZWFkZXIpXG4gIH1cblxuICByZW1vdmVIZWFkZXIoaW5kZXg6IG51bWJlcikge1xuICAgIHRoaXMuaGVhZGVycy5yZW1vdmVBdChpbmRleClcbiAgfVxuXG4gIGNvbXBpbGVSZXF1ZXN0KCkge1xuICAgIGNvbnN0IHJlcXVlc3RQYXJhbXMgPSB0aGlzLnJlcXVlc3RGb3JtLnZhbHVlO1xuXG4gICAgcmVxdWVzdFBhcmFtcy5oZWFkZXJzID0gdGhpcy5hcnJheU9iamVjdHNUb09iamVjdHMoXG4gICAgICByZXF1ZXN0UGFyYW1zLmhlYWRlcnMgfHwgW11cbiAgICApO1xuXG4gICAgY29uc3QgcGF0aFJlcSA9IChyZXF1ZXN0UGFyYW1zLnBhdGggPT09IFwiXCIpID8gW10gOiAocmVxdWVzdFBhcmFtcy5wYXRoIHx8IFwiXCIpLnNwbGl0KFwiL1wiKVxuXG4gICAgaWYgKCF0aGlzLnBvbGxpbmdTdGF0ZS5jaGVja2VkKSByZXF1ZXN0UGFyYW1zLnBvbGxpbmcgPSAwO1xuXG4gICAgaWYgKCF0aGlzLmZhaWxlZFN0YXRlLmNoZWNrZWQpIHtcbiAgICAgIHJlcXVlc3RQYXJhbXMucmV0cnkgPSB7IHRpbWVzOiAwLGRlbGF5OiAwIH1cbiAgICB9XG5cbiAgICByZXR1cm4gQXBpUmVxdWVzdC5hZGFwdCh7XG4gICAgICAuLi5yZXF1ZXN0UGFyYW1zLFxuICAgICAgLy8gLi4ueyBwYXRoOiBwYXRoUmVxLCBzZXJ2ZXI6IHRoaXMuc2VydmVyIH0sXG4gICAgICAuLi57IHBhdGg6IHBhdGhSZXEgfSxcbiAgICB9KTtcblxuICB9XG5cbiAgb25HZXRSZXF1ZXN0KCkge1xuXG4gICAgaWYoIXRoaXMuaXNWYWxpZCkgcmV0dXJuXG5cbiAgICBjb25zdCByZXFQYXJhbXMgPSB0aGlzLmNvbXBpbGVSZXF1ZXN0KClcblxuICAgIHRoaXMucmVxdWVzdFBhcmFtcy5HRVQgPSByZXFQYXJhbXNcblxuICAgIHRoaXMuR0VUJCA9IEVNUFRZIC8vQ2FuY2VscyBQcmV2aW91c1xuICAgIHRoaXMuR0VUX2Vycm9yJC5uZXh0KCcnKVxuXG4gICAgdGhpcy5HRVQkID0gdGhpcy5odHRwTWFuYWdlclNlcnZpY2UuZ2V0UmVxdWVzdDxDbGllbnRJbmZvW10+KHJlcVBhcmFtcylcbiAgICAucGlwZShcbiAgICAgIC8vIHRhcCgoZGF0YSkgPT4gY29uc29sZS5sb2coXCJBUEkgR0VUIHJlc3BvbnNlXCIsIGRhdGEpKSxcbiAgICAgIGNhdGNoRXJyb3IoZXJyb3IgPT4ge1xuICAgICAgICByZXR1cm4gdGhyb3dFcnJvcigoKSA9PiB0aGlzLmVycm9ySGFuZGxpbmcoZXJyb3IsICdHRVQnKSk7XG4gICAgICB9KVxuICAgIClcblxuICB9XG5cbiAgb25DcmVhdGVSZXF1ZXN0KCkge1xuXG4gICAgaWYoIXRoaXMuaXNWYWxpZCkgcmV0dXJuXG5cbiAgICBjb25zdCByZXFQYXJhbXMgPSB0aGlzLmNvbXBpbGVSZXF1ZXN0KClcbiAgICB0aGlzLnJlcXVlc3RQYXJhbXMuUE9TVCA9IHJlcVBhcmFtc1xuXG4gICAgdGhpcy5QT1NUJCA9IEVNUFRZIC8vQ2FuY2VscyBQcmV2aW91c1xuICAgIHRoaXMuUE9TVF9lcnJvciQubmV4dCgnJylcblxuICAgIHRoaXMuUE9TVCQgPSB0aGlzLmh0dHBNYW5hZ2VyU2VydmljZS5wb3N0UmVxdWVzdDxDbGllbnRJbmZvPih0aGlzLnNhbXBsZUNsaWVudERhdGEsIHJlcVBhcmFtcylcbiAgICAucGlwZShcbiAgICAgIC8vIHRhcCgoZGF0YSkgPT4gY29uc29sZS5sb2coXCJBUEkgUE9TVCByZXNwb25zZVwiLCBkYXRhKSksXG4gICAgICBjYXRjaEVycm9yKGVycm9yID0+IHtcbiAgICAgICAgcmV0dXJuIHRocm93RXJyb3IoKCkgPT4gdGhpcy5lcnJvckhhbmRsaW5nKGVycm9yLCAnUE9TVCcpKTtcbiAgICAgIH0pXG4gICAgKVxuXG4gIH1cblxuICBvblVwZGF0ZVJlcXVlc3QoKSB7XG5cbiAgICBpZighdGhpcy5pc1ZhbGlkKSByZXR1cm5cblxuICAgIGNvbnN0IHJlcVBhcmFtcyA9IHRoaXMuY29tcGlsZVJlcXVlc3QoKVxuXG4gICAgdGhpcy5zYW1wbGVDbGllbnREYXRhLmlkID0gcmVxUGFyYW1zLnBhdGhbcmVxUGFyYW1zLnBhdGgubGVuZ3RoLTFdXG4gICAgdGhpcy5yZXF1ZXN0UGFyYW1zLlBVVCA9IHJlcVBhcmFtc1xuXG4gICAgdGhpcy5QVVQkID0gRU1QVFkgLy9DYW5jZWxzIFByZXZpb3VzXG4gICAgdGhpcy5QVVRfZXJyb3IkLm5leHQoJycpXG5cbiAgICB0aGlzLlBVVCQgPSB0aGlzLmh0dHBNYW5hZ2VyU2VydmljZS5wdXRSZXF1ZXN0PENsaWVudEluZm8+KHRoaXMuc2FtcGxlQ2xpZW50RGF0YSwgcmVxUGFyYW1zKVxuICAgIC5waXBlKFxuICAgICAgLy8gdGFwKChkYXRhKSA9PiBjb25zb2xlLmxvZyhcIkFQSSBQVVQgcmVzcG9uc2VcIiwgZGF0YSkpLFxuICAgICAgY2F0Y2hFcnJvcihlcnJvciA9PiB7XG4gICAgICAgIHJldHVybiB0aHJvd0Vycm9yKCgpID0+IHRoaXMuZXJyb3JIYW5kbGluZyhlcnJvciwgJ1BVVCcpKTtcbiAgICAgIH0pXG4gICAgKVxuXG4gIH1cblxuICBvbkRlbGV0ZVJlcXVlc3QoKSB7XG5cbiAgICBpZighdGhpcy5pc1ZhbGlkKSByZXR1cm5cblxuICAgIGNvbnN0IHJlcVBhcmFtcyA9IHRoaXMuY29tcGlsZVJlcXVlc3QoKVxuICAgIHRoaXMucmVxdWVzdFBhcmFtcy5ERUxFVEUgPSByZXFQYXJhbXNcblxuICAgIHRoaXMuREVMRVRFJCA9IEVNUFRZIC8vQ2FuY2VscyBQcmV2aW91c1xuICAgIHRoaXMuREVMRVRFX2Vycm9yJC5uZXh0KCcnKVxuXG4gICAgdGhpcy5ERUxFVEUkID0gdGhpcy5odHRwTWFuYWdlclNlcnZpY2UuZGVsZXRlUmVxdWVzdDxDbGllbnRJbmZvPihyZXFQYXJhbXMpXG4gICAgLnBpcGUoXG4gICAgICAvLyB0YXAoKGRhdGEpID0+IGNvbnNvbGUubG9nKFwiQVBJIERFTEVURSByZXNwb25zZVwiLCBkYXRhKSksXG4gICAgICBjYXRjaEVycm9yKGVycm9yID0+IHtcbiAgICAgICAgcmV0dXJuIHRocm93RXJyb3IoKCkgPT4gdGhpcy5lcnJvckhhbmRsaW5nKGVycm9yLCAnREVMRVRFJykpO1xuICAgICAgfSlcbiAgICApXG5cbiAgfVxuXG4gIG9uU3RyZWFtUG9zdFJlcXVlc3QoKSB7XG5cbiAgICBpZighdGhpcy5pc1ZhbGlkKSByZXR1cm5cblxuICAgIGNvbnN0IHJlcVBhcmFtcyA9IHRoaXMuY29tcGlsZVJlcXVlc3QoKVxuXG4gICAgcmVxUGFyYW1zLnNlcnZlciA9IFwiaHR0cDovL2xvY2FsaG9zdDoxMTQzNC9hcGlcIlxuICAgIHJlcVBhcmFtcy5wYXRoID0gW1wiZ2VuZXJhdGVcIl1cbiAgICByZXFQYXJhbXMuc3RyZWFtID0gdHJ1ZVxuXG4gICAgY29uc3QgcGF5bG9hZCA9IHtcbiAgICAgIG1vZGVsOiBcIm1pc3RyYWxcIixcbiAgICAgIHByb21wdDogdGhpcy5xdWVzdGlvbkNvbnRyb2wudmFsdWUsXG4gICAgICBzdHJlYW06IHJlcVBhcmFtcy5zdHJlYW1cbiAgICB9XG5cbiAgICB0aGlzLnJlcXVlc3RQYXJhbXMuU1RSRUFNID0gcmVxUGFyYW1zXG5cbiAgICB0aGlzLlNUUkVBTV9BSSQgPSBFTVBUWVxuICAgIHRoaXMuU1RSRUFNX0FJX2Vycm9yJC5uZXh0KCcnKVxuXG4gICAgdGhpcy5TVFJFQU1fQUkkID0gdGhpcy5odHRwTWFuYWdlclNlcnZpY2UucG9zdFJlcXVlc3Q8YW55PihwYXlsb2FkLCByZXFQYXJhbXMpXG4gICAgLnBpcGUoXG4gICAgICBtYXAoaXRlbXMgPT4gaXRlbXMubWFwKCh3b3JkOiBhbnkpID0+IHdvcmQucmVzcG9uc2UpLmZsYXQoKS5qb2luKCcnKSksXG4gICAgICB0YXAoKCkgPT4gdGhpcy5xdWVzdGlvbkNvbnRyb2wucmVzZXQoKSksXG4gICAgICBjYXRjaEVycm9yKGVycm9yID0+IHtcbiAgICAgICAgcmV0dXJuIHRocm93RXJyb3IoKCkgPT4gdGhpcy5lcnJvckhhbmRsaW5nKGVycm9yLCAnU1RSRUFNJykpO1xuICAgICAgfSlcbiAgICApXG5cbiAgfVxuXG4gIG9uU3RyZWFtUmVxdWVzdCgpIHtcblxuICAgIGlmKCF0aGlzLmlzVmFsaWQpIHJldHVyblxuXG4gICAgY29uc3QgcmVxUGFyYW1zID0gdGhpcy5jb21waWxlUmVxdWVzdCgpXG5cbiAgICByZXFQYXJhbXMuc2VydmVyID0gXCJvaWRjXCJcbiAgICByZXFQYXJhbXMuc3RyZWFtID0gdHJ1ZVxuXG4gICAgdGhpcy5TVFJFQU0kID0gdGhpcy5odHRwTWFuYWdlclNlcnZpY2UuZ2V0UmVxdWVzdDxDbGllbnRJbmZvW10+KHJlcVBhcmFtcylcbiAgICAucGlwZShcbiAgICAgIC8vIHRhcCgoZGF0YSkgPT4gY29uc29sZS5sb2coXCJBUEkgU1RSRUFNIHJlc3BvbnNlXCIsIGRhdGEpKSxcbiAgICAgIGNhdGNoRXJyb3IoZXJyb3IgPT4ge1xuICAgICAgICByZXR1cm4gdGhyb3dFcnJvcigoKSA9PiB0aGlzLmVycm9ySGFuZGxpbmcoZXJyb3IsICdTVFJFQU0nKSk7XG4gICAgICB9KVxuICAgIClcblxuICB9XG5cbiAgb25Eb3dubG9hZENvbXBsZXRlZCgpIHtcblxuICAgIGNvbnN0IG1lc3NhZ2UgPSBcIkRvd25sb2FkIENvbXBsZXRlZFwiXG5cbiAgICBjb25zdCBkaXNwbGF5ID0gVG9hc3REaXNwbGF5LmFkYXB0KHtcbiAgICAgIG1lc3NhZ2UsXG4gICAgICBhY3Rpb246ICdPaycsXG4gICAgICBjb2xvcjogVG9hc3RDb2xvcnMuU1VDQ0VTUyxcbiAgICAgIGljb246ICdzZW50aW1lbnRfc2F0aXNmaWVkX2FsdCcsXG4gICAgfSk7XG5cbiAgICB0aGlzLnRvYXN0TWVzc2FnZS50b2FzdE1lc3NhZ2UoZGlzcGxheSk7XG4gIH1cblxuICBvbkRvd25sb2FkRmFpbGVkKGVycjogc3RyaW5nKSB7XG5cbiAgICBjb25zdCBtZXNzYWdlID0gXCJEb3dubG9hZCBGYWlsZWRcIlxuXG4gICAgY29uc3QgZGlzcGxheSA9IFRvYXN0RGlzcGxheS5hZGFwdCh7XG4gICAgICBtZXNzYWdlLFxuICAgICAgYWN0aW9uOiAnT2snLFxuICAgICAgY29sb3I6IFRvYXN0Q29sb3JzLkVSUk9SLFxuICAgICAgaWNvbjogJ3dhcm5pbmcnLFxuICAgIH0pO1xuXG4gICAgdGhpcy50b2FzdE1lc3NhZ2UudG9hc3RNZXNzYWdlKGRpc3BsYXkpO1xuICB9XG5cbiAgZXJyb3JIYW5kbGluZyhlcnI6IGFueSwgdHlwZTogc3RyaW5nKSB7XG4gICAgaWYodHlwZSA9PT0gJ0dFVCcpIHRoaXMuR0VUX2Vycm9yJC5uZXh0KGVyci5tZXNzYWdlKVxuICAgIGlmKHR5cGUgPT09ICdQT1NUJykgdGhpcy5QT1NUX2Vycm9yJC5uZXh0KGVyci5tZXNzYWdlKVxuICAgIGlmKHR5cGUgPT09ICdQVVQnKSB0aGlzLlBVVF9lcnJvciQubmV4dChlcnIubWVzc2FnZSlcbiAgICBpZih0eXBlID09PSAnREVMRVRFJykgdGhpcy5ERUxFVEVfZXJyb3IkLm5leHQoZXJyLm1lc3NhZ2UpXG4gICAgaWYodHlwZSA9PT0gJ1NUUkVBTScpIHRoaXMuU1RSRUFNX2Vycm9yJC5uZXh0KGVyci5tZXNzYWdlKVxuICB9XG5cbn1cbiIsIjxkaXYgc3R5bGU9XCJtYXJnaW46IDJyZW07XCI+XG5cbiAgPGgyPlxuICAgIEhUVFAgUmVxdWVzdCBNYW5hZ2VyXG4gIDwvaDI+XG5cbiAgPGRpdiBbZm9ybUdyb3VwXT1cInJlcXVlc3RGb3JtXCIgc3R5bGU9XCJtYXJnaW4tdG9wOiAycmVtO1wiPlxuICAgIDxkaXYgc3R5bGU9XCJkaXNwbGF5OiBmbGV4OyBnYXA6IC41cmVtXCI+XG4gICAgICA8bWF0LWZvcm0tZmllbGQgYXBwZWFyYW5jZT1cIm91dGxpbmVcIj5cbiAgICAgICAgPG1hdC1sYWJlbD5BZGFwdGVyIChNb2RlbCk8L21hdC1sYWJlbD5cbiAgICAgICAgPG1hdC1zZWxlY3QgZm9ybUNvbnRyb2xOYW1lPVwiYWRhcHRlclwiPlxuICAgICAgICAgIDxtYXQtb3B0aW9uPk5vbmU8L21hdC1vcHRpb24+XG4gICAgICAgICAgPG1hdC1vcHRpb24gKm5nRm9yPVwibGV0IGFkYXB0ZXIgb2Ygc2FtcGxlQWRhcHRvcnNcIiBbdmFsdWVdPVwiYWRhcHRlci52YWx1ZVwiPlxuICAgICAgICAgICAge3thZGFwdGVyLmxhYmVsfX1cbiAgICAgICAgICA8L21hdC1vcHRpb24+XG4gICAgICAgIDwvbWF0LXNlbGVjdD5cbiAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICA8bWF0LWZvcm0tZmllbGQgYXBwZWFyYW5jZT1cIm91dGxpbmVcIj5cbiAgICAgICAgPG1hdC1sYWJlbD5NYXBwZXIgKE1vZGVsKTwvbWF0LWxhYmVsPlxuICAgICAgICA8bWF0LXNlbGVjdCBmb3JtQ29udHJvbE5hbWU9XCJhZGFwdGVyXCI+XG4gICAgICAgICAgPG1hdC1vcHRpb24+Tm9uZTwvbWF0LW9wdGlvbj5cbiAgICAgICAgICA8bWF0LW9wdGlvbiAqbmdGb3I9XCJsZXQgbWFwcGVyIG9mIHNhbXBsZU1hcHBlcnNcIiBbdmFsdWVdPVwibWFwcGVyLnZhbHVlXCI+XG4gICAgICAgICAgICB7e21hcHBlci5sYWJlbH19XG4gICAgICAgICAgPC9tYXQtb3B0aW9uPlxuICAgICAgICA8L21hdC1zZWxlY3Q+XG4gICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgIDwvZGl2PlxuICAgIDxkaXY+XG4gICAgICA8bWF0LWZvcm0tZmllbGQgYXBwZWFyYW5jZT1cIm91dGxpbmVcIj5cbiAgICAgICAgPG1hdC1sYWJlbD5SZXN0UGF0aCAoLyBkZWxpbWl0ZWQpPC9tYXQtbGFiZWw+XG4gICAgICAgIDxpbnB1dCBtYXRJbnB1dCBwbGFjZWhvbGRlcj1cImNsaWVudHMvbGlzdFwiIGZvcm1Db250cm9sTmFtZT1cInBhdGhcIj5cbiAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgPC9kaXY+XG4gICAgPGRpdj5cbiAgICAgIDxkaXYgZm9ybUFycmF5TmFtZT1cImhlYWRlcnNcIj5cbiAgICAgICAgPGRpdiAqbmdGb3I9XCJsZXQgdGFzayBvZiBoZWFkZXJzLmNvbnRyb2xzOyBsZXQgaSA9IGluZGV4XCIgW2Zvcm1Hcm91cE5hbWVdPVwiaVwiPlxuICAgICAgICAgIDxkaXYgc3R5bGU9XCJkaXNwbGF5OiBmbGV4OyBnYXA6IC41cmVtXCI+XG4gICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgYXBwZWFyYW5jZT1cIm91dGxpbmVcIj5cbiAgICAgICAgICAgICAgPG1hdC1sYWJlbD5LZXk8L21hdC1sYWJlbD5cbiAgICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IHBsYWNlaG9sZGVyPVwiYXV0aGVudGljYXRpb25cIiBmb3JtQ29udHJvbE5hbWU9XCJrZXlcIj5cbiAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgYXBwZWFyYW5jZT1cIm91dGxpbmVcIiBzdHlsZT1cImZsZXg6MVwiPlxuICAgICAgICAgICAgICA8bWF0LWxhYmVsPlZhbHVlPC9tYXQtbGFiZWw+XG4gICAgICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCBwbGFjZWhvbGRlcj1cInNhbXBsZVwiIGZvcm1Db250cm9sTmFtZT1cInZhbHVlXCI+XG4gICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgICAgPGRpdiBzdHlsZT1cIm1hcmdpbi10b3A6IC41cmVtO1wiPlxuICAgICAgICAgICAgICA8YnV0dG9uIG1hdC1pY29uLWJ1dHRvbiAoY2xpY2spPVwicmVtb3ZlSGVhZGVyKGkpXCI+XG4gICAgICAgICAgICAgICAgICA8bWF0LWljb24+Y2xvc2U8L21hdC1pY29uPlxuICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgICAgPGJ1dHRvbiBtYXQtc3Ryb2tlZC1idXR0b24gKGNsaWNrKT1cImFkZEhlYWRlcigpXCIgY2xhc3M9XCJidG5cIj5BZGQgSGVhZGVyPC9idXR0b24+XG4gICAgPC9kaXY+XG4gICAgPGRpdiBzdHlsZT1cIm1hcmdpbi10b3A6IDJyZW07IGRpc3BsYXk6IGZsZXg7IGZsZXgtZGlyZWN0aW9uOmNvbHVtbjsgZ2FwOiAxcmVtO1wiPlxuICAgICAgPGRpdj5cbiAgICAgICAgPG1hdC1zbGlkZS10b2dnbGUgI2ZhaWxlZFN0YXRlPlJldHJ5IG9uIEZhaWxlZDwvbWF0LXNsaWRlLXRvZ2dsZT5cbiAgICAgICAgPGRpdiAqbmdJZj1cImZhaWxlZFN0YXRlLmNoZWNrZWRcIiBzdHlsZT1cImRpc3BsYXk6IGZsZXg7IGdhcDogLjVyZW07IG1hcmdpbi10b3A6IDFyZW07XCIgZm9ybUdyb3VwTmFtZT1cInJldHJ5XCI+XG4gICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGFwcGVhcmFuY2U9XCJvdXRsaW5lXCI+XG4gICAgICAgICAgICA8bWF0LWxhYmVsPiNvZiBUaW1lczwvbWF0LWxhYmVsPlxuICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IHBsYWNlaG9sZGVyPVwiM1wiIGZvcm1Db250cm9sTmFtZT1cInRpbWVzXCIgdmFsdWU9XCIzXCI+XG4gICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgYXBwZWFyYW5jZT1cIm91dGxpbmVcIj5cbiAgICAgICAgICAgIDxtYXQtbGFiZWw+RGVsYXkgVW50aWwgTmV4dDwvbWF0LWxhYmVsPlxuICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IHBsYWNlaG9sZGVyPVwiM1wiIGZvcm1Db250cm9sTmFtZT1cImRlbGF5XCIgdmFsdWU9XCIzXCI+XG4gICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXY+XG4gICAgICAgIDxtYXQtc2xpZGUtdG9nZ2xlICNwb2xsaW5nU3RhdGU+UG9sbGluZzwvbWF0LXNsaWRlLXRvZ2dsZT5cbiAgICAgICAgPGRpdiAqbmdJZj1cInBvbGxpbmdTdGF0ZS5jaGVja2VkXCI+XG4gICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGFwcGVhcmFuY2U9XCJvdXRsaW5lXCIgc3R5bGU9XCJtYXJnaW4tdG9wOiAxcmVtXCI+XG4gICAgICAgICAgICA8bWF0LWxhYmVsPiNvZiBTZWNvbmRzPC9tYXQtbGFiZWw+XG4gICAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgcGxhY2Vob2xkZXI9XCIzXCIgZm9ybUNvbnRyb2xOYW1lPVwicG9sbGluZ1wiIHZhbHVlPVwiM1wiPlxuICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuXG4gIDxkaXYgc3R5bGU9XCJtYXJnaW4tYm90dG9tOiAxcmVtOyBtYXJnaW4tdG9wOiAycmVtO1wiPlxuICAgIDxtYXQtcHJvZ3Jlc3MtYmFyIG1vZGU9XCJpbmRldGVybWluYXRlXCJcbiAgICAgICpuZ0lmPVwiKGlzUGVuZGluZyQgfCBhc3luYylcIlxuICAgID48L21hdC1wcm9ncmVzcy1iYXI+XG4gICAgPG1hdC1wcm9ncmVzcy1iYXIgbW9kZT1cImRldGVybWluYXRlXCJcbiAgICAgICpuZ0lmPVwicG9sbGluZ1N0YXRlLmNoZWNrZWQgJiYgIShpc1BlbmRpbmckIHwgYXN5bmMpXCJcbiAgICAgIFt2YWx1ZV09XCIodGhpcy5jb3VudGRvd24kIHwgYXN5bmMpXCJcbiAgICA+PC9tYXQtcHJvZ3Jlc3MtYmFyPlxuICA8L2Rpdj5cblxuICA8ZGl2IHN0eWxlPVwibWFyZ2luLXRvcDogMXJlbVwiPlxuICAgIDxtYXQtZGl2aWRlcj48L21hdC1kaXZpZGVyPlxuICA8L2Rpdj5cblxuICA8ZGl2IHN0eWxlPVwibWFyZ2luLXRvcDogMnJlbVwiPlxuICAgIDxkaXYgc3R5bGU9XCJkaXNwbGF5OiBmbGV4O1wiPlxuICAgICAgPGgyIHN0eWxlPVwiZmxleDoxXCI+R0VUIFJlcXVlc3Q8L2gyPlxuICAgICAgPGRpdj5cbiAgICAgICAgPGJ1dHRvbiBtYXQtcmFpc2VkLWJ1dHRvbiAoY2xpY2spPVwib25HZXRSZXF1ZXN0KClcIiBjbGFzcz1cImJ0blwiPlJlcXVlc3Q8L2J1dHRvbj5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuXG4gICAgPGRpdiAqbmdJZj1cIihHRVRfZXJyb3IkIHwgYXN5bmMpIGFzIGdldF9lcnJvclwiIHN0eWxlPVwibWFyZ2luLXRvcDogLjVyZW07XCI+XG4gICAgICA8bWF0LWVycm9yPnt7IGdldF9lcnJvciB9fTwvbWF0LWVycm9yPlxuICAgIDwvZGl2PlxuXG4gICAgPGRpdiBzdHlsZT1cIm1hcmdpbi10b3A6IDFyZW07XCIgKm5nSWY9XCIoR0VUJCB8IGFzeW5jKSBhcyBkYXRhUmVjb3JkXCI+XG4gICAgICA8IS0tIDxkaXYgW2lubmVySFRNTF09XCIoR0VUJCB8IGFzeW5jKSB8IGpzb252XCI+PC9kaXY+IC0tPlxuICAgICAge3sgZGF0YVJlY29yZCB8IGpzb24gfX1cbiAgICA8L2Rpdj5cblxuICA8L2Rpdj5cblxuICA8ZGl2IHN0eWxlPVwibWFyZ2luLXRvcDogMnJlbVwiPlxuICAgIDxtYXQtZGl2aWRlcj48L21hdC1kaXZpZGVyPlxuICA8L2Rpdj5cblxuICA8ZGl2IHN0eWxlPVwibWFyZ2luLXRvcDogMnJlbVwiPlxuICAgIDxkaXYgc3R5bGU9XCJkaXNwbGF5OiBmbGV4O1wiPlxuICAgICAgPGgyIHN0eWxlPVwiZmxleDoxXCI+UE9TVCBSZXF1ZXN0PC9oMj5cbiAgICAgIDxkaXY+XG4gICAgICAgIDxidXR0b24gbWF0LXJhaXNlZC1idXR0b24gKGNsaWNrKT1cIm9uQ3JlYXRlUmVxdWVzdCgpXCIgY2xhc3M9XCJidG5cIj5SZXF1ZXN0PC9idXR0b24+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cblxuICAgIDxkaXYgKm5nSWY9XCIoUE9TVF9lcnJvciQgfCBhc3luYykgYXMgcG9zdF9lcnJvclwiIHN0eWxlPVwibWFyZ2luLXRvcDogLjVyZW07XCI+XG4gICAgICA8bWF0LWVycm9yPnt7IHBvc3RfZXJyb3IgfX08L21hdC1lcnJvcj5cbiAgICA8L2Rpdj5cblxuICAgIDxkaXYgc3R5bGU9XCJtYXJnaW4tdG9wOiAxcmVtO1wiICpuZ0lmPVwiKFBPU1QkIHwgYXN5bmMpIGFzIGRhdGFSZWNvcmRcIj5cbiAgICAgIDwhLS0gPGRpdiBbaW5uZXJIVE1MXT1cIihQT1NUJCB8IGFzeW5jKSB8IGpzb252XCI+PC9kaXY+IC0tPlxuICAgICAge3sgZGF0YVJlY29yZCB8IGpzb24gfX1cbiAgICA8L2Rpdj5cblxuICA8L2Rpdj5cblxuICA8ZGl2IHN0eWxlPVwibWFyZ2luLXRvcDogMnJlbVwiPlxuICAgIDxtYXQtZGl2aWRlcj48L21hdC1kaXZpZGVyPlxuICA8L2Rpdj5cblxuICA8ZGl2IHN0eWxlPVwibWFyZ2luLXRvcDogMnJlbVwiPlxuICAgIDxkaXYgc3R5bGU9XCJkaXNwbGF5OiBmbGV4O1wiPlxuICAgICAgPGgyIHN0eWxlPVwiZmxleDoxXCI+UFVUIFJlcXVlc3Q8L2gyPlxuICAgICAgPGRpdj5cbiAgICAgICAgPGJ1dHRvbiBtYXQtcmFpc2VkLWJ1dHRvbiAoY2xpY2spPVwib25VcGRhdGVSZXF1ZXN0KClcIiBjbGFzcz1cImJ0blwiPlJlcXVlc3Q8L2J1dHRvbj5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuXG4gICAgPGRpdiAqbmdJZj1cIihQVVRfZXJyb3IkIHwgYXN5bmMpIGFzIHB1dF9lcnJvclwiIHN0eWxlPVwibWFyZ2luLXRvcDogLjVyZW07XCI+XG4gICAgICA8bWF0LWVycm9yPnt7IHB1dF9lcnJvciB9fTwvbWF0LWVycm9yPlxuICAgIDwvZGl2PlxuXG4gICAgPGRpdiBzdHlsZT1cIm1hcmdpbi10b3A6IDFyZW07XCIgKm5nSWY9XCIoUFVUJCB8IGFzeW5jKSBhcyBkYXRhUmVjb3JkXCI+XG4gICAgICA8IS0tIDxkaXYgW2lubmVySFRNTF09XCIoUFVUJCB8IGFzeW5jKSB8IGpzb252XCI+PC9kaXY+IC0tPlxuICAgICAgIHt7IGRhdGFSZWNvcmQgfCBqc29uIH19XG4gICAgPC9kaXY+XG5cbiAgPC9kaXY+XG5cbiAgPGRpdiBzdHlsZT1cIm1hcmdpbi10b3A6IDJyZW1cIj5cbiAgICA8bWF0LWRpdmlkZXI+PC9tYXQtZGl2aWRlcj5cbiAgPC9kaXY+XG5cbiAgPGRpdiBzdHlsZT1cIm1hcmdpbi10b3A6IDJyZW1cIj5cbiAgICA8ZGl2IHN0eWxlPVwiZGlzcGxheTogZmxleDtcIj5cbiAgICAgIDxoMiBzdHlsZT1cImZsZXg6MVwiPkRFTEVURSBSZXF1ZXN0PC9oMj5cbiAgICAgIDxkaXY+XG4gICAgICAgIDxidXR0b24gbWF0LXJhaXNlZC1idXR0b24gKGNsaWNrKT1cIm9uRGVsZXRlUmVxdWVzdCgpXCIgY2xhc3M9XCJidG5cIj5SZXF1ZXN0PC9idXR0b24+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cblxuICAgIDxkaXYgKm5nSWY9XCIoREVMRVRFX2Vycm9yJCB8IGFzeW5jKSBhcyBkZWxldGVfZXJyb3JcIiBzdHlsZT1cIm1hcmdpbi10b3A6IC41cmVtO1wiPlxuICAgICAgPG1hdC1lcnJvcj57eyBkZWxldGVfZXJyb3IgfX08L21hdC1lcnJvcj5cbiAgICA8L2Rpdj5cblxuICAgIDxkaXYgc3R5bGU9XCJtYXJnaW4tdG9wOiAxcmVtO1wiICpuZ0lmPVwiKERFTEVURSQgfCBhc3luYykgYXMgZGF0YVJlY29yZFwiPlxuICAgICAgPCEtLSA8ZGl2IFtpbm5lckhUTUxdPVwiKERFTEVURSQgfCBhc3luYykgfCBqc29udlwiPjwvZGl2PiAtLT5cbiAgICAgIHt7IGRhdGFSZWNvcmQgfCBqc29uIH19XG4gICAgPC9kaXY+XG5cbiAgPC9kaXY+XG5cbiAgPGRpdiBzdHlsZT1cIm1hcmdpbi10b3A6IDJyZW1cIj5cbiAgICA8bWF0LWRpdmlkZXI+PC9tYXQtZGl2aWRlcj5cbiAgPC9kaXY+XG5cbiAgPGRpdiBzdHlsZT1cIm1hcmdpbi10b3A6IDJyZW1cIj5cbiAgICA8ZGl2IHN0eWxlPVwiZGlzcGxheTogZmxleDtcIj5cbiAgICAgIDxoMiBzdHlsZT1cImZsZXg6MVwiPlN0cmVhbWluZyBHRVQgUmVxdWVzdDwvaDI+XG4gICAgICA8ZGl2PlxuICAgICAgICA8YnV0dG9uIG1hdC1yYWlzZWQtYnV0dG9uIChjbGljayk9XCJvblN0cmVhbVJlcXVlc3QoKVwiIGNsYXNzPVwiYnRuXCI+UmVxdWVzdDwvYnV0dG9uPlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG5cbiAgICA8ZGl2ICpuZ0lmPVwiKFNUUkVBTV9lcnJvciQgfCBhc3luYykgYXMgc3RyZWFtX2Vycm9yXCIgc3R5bGU9XCJtYXJnaW4tdG9wOiAuNXJlbTtcIj5cbiAgICAgIDxtYXQtZXJyb3I+e3sgc3RyZWFtX2Vycm9yIH19PC9tYXQtZXJyb3I+XG4gICAgPC9kaXY+XG5cbiAgICA8ZGl2IHN0eWxlPVwibWFyZ2luLXRvcDogMXJlbTtcIj5cbiAgICAgIDxkaXYgKm5nSWY9XCIoU1RSRUFNJCB8IGFzeW5jKSBhcyBkYXRhXCIgY2xhc3M9XCJjb250YWluZXJcIj5cbiAgICAgICAgPHRhYmxlIG1hdC10YWJsZSBbZGF0YVNvdXJjZV09XCJkYXRhXCI+XG4gICAgICAgICAgPG5nLWNvbnRhaW5lciBtYXRDb2x1bW5EZWY9XCJpZFwiPlxuICAgICAgICAgICAgPHRoIG1hdC1oZWFkZXItY2VsbCAqbWF0SGVhZGVyQ2VsbERlZj4gSUQgPC90aD5cbiAgICAgICAgICAgIDx0ZCBtYXQtY2VsbCAqbWF0Q2VsbERlZj1cImxldCBlbGVtZW50XCI+IHt7ZWxlbWVudC5pZH19IDwvdGQ+XG4gICAgICAgICAgPC9uZy1jb250YWluZXI+XG5cbiAgICAgICAgICA8bmctY29udGFpbmVyIG1hdENvbHVtbkRlZj1cIm5hbWVcIj5cbiAgICAgICAgICAgIDx0aCBtYXQtaGVhZGVyLWNlbGwgKm1hdEhlYWRlckNlbGxEZWY+IEZpcnN0IE5hbWUgPC90aD5cbiAgICAgICAgICAgIDx0ZCBtYXQtY2VsbCAqbWF0Q2VsbERlZj1cImxldCBlbGVtZW50XCI+IHt7ZWxlbWVudC5uYW1lfX0gPC90ZD5cbiAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cblxuICAgICAgICAgIDxuZy1jb250YWluZXIgbWF0Q29sdW1uRGVmPVwibGFzdE5hbWVcIj5cbiAgICAgICAgICAgIDx0aCBtYXQtaGVhZGVyLWNlbGwgKm1hdEhlYWRlckNlbGxEZWY+IExhc3QgTmFtZSA8L3RoPlxuICAgICAgICAgICAgPHRkIG1hdC1jZWxsICptYXRDZWxsRGVmPVwibGV0IGVsZW1lbnRcIj4ge3tlbGVtZW50Lmxhc3ROYW1lfX0gPC90ZD5cbiAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cblxuICAgICAgICAgIDxuZy1jb250YWluZXIgbWF0Q29sdW1uRGVmPVwiYWdlXCI+XG4gICAgICAgICAgICA8dGggbWF0LWhlYWRlci1jZWxsICptYXRIZWFkZXJDZWxsRGVmPiBBZ2UgPC90aD5cbiAgICAgICAgICAgIDx0ZCBtYXQtY2VsbCAqbWF0Q2VsbERlZj1cImxldCBlbGVtZW50XCI+IHt7ZWxlbWVudC5hZ2V9fSA8L3RkPlxuICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuXG4gICAgICAgICAgPHRyIG1hdC1oZWFkZXItcm93ICptYXRIZWFkZXJSb3dEZWY9XCJkaXNwbGF5ZWRDb2x1bW5zXCI+PC90cj5cbiAgICAgICAgICA8dHIgbWF0LXJvdyAqbWF0Um93RGVmPVwibGV0IHJvdzsgY29sdW1uczogZGlzcGxheWVkQ29sdW1ucztcIj48L3RyPlxuICAgICAgICA8L3RhYmxlPlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG5cbiAgPC9kaXY+XG5cbiAgPGRpdiBzdHlsZT1cIm1hcmdpbi10b3A6IDJyZW1cIj5cbiAgICA8bWF0LWRpdmlkZXI+PC9tYXQtZGl2aWRlcj5cbiAgPC9kaXY+XG5cbiAgPGRpdiBzdHlsZT1cIm1hcmdpbi10b3A6IDJyZW1cIj5cbiAgICA8ZGl2IHN0eWxlPVwiZGlzcGxheTogZmxleDtcIj5cbiAgICAgIDxoMiBzdHlsZT1cImZsZXg6MVwiPlNUUkVBTUlORyBQT1NUIFJlcXVlc3Q8L2gyPlxuICAgICAgPGRpdj5cbiAgICAgICAgPGJ1dHRvbiBtYXQtcmFpc2VkLWJ1dHRvbiAoY2xpY2spPVwib25TdHJlYW1Qb3N0UmVxdWVzdCgpXCIgY2xhc3M9XCJidG5cIj5Bc2sgTWU8L2J1dHRvbj5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuXG4gICAgPGRpdiBzdHlsZT1cImRpc3BsYXk6IGZsZXg7XCI+XG4gICAgICA8bWF0LWZvcm0tZmllbGQgYXBwZWFyYW5jZT1cIm91dGxpbmVcIiBzdHlsZT1cImZsZXg6MVwiPlxuICAgICAgICA8bWF0LWxhYmVsPkFzayBtZSBhIFF1ZXN0aW9uPC9tYXQtbGFiZWw+XG4gICAgICAgIDx0ZXh0YXJlYSBtYXRJbnB1dCBwbGFjZWhvbGRlcj1cIldoeSBpcyB0aGUgc2t5IGJsdWU/XCIgW2Zvcm1Db250cm9sXT1cInF1ZXN0aW9uQ29udHJvbFwiPjwvdGV4dGFyZWE+XG4gICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgIDwvZGl2PlxuXG4gICAgPGRpdiAqbmdJZj1cIihTVFJFQU1fQUlfZXJyb3IkIHwgYXN5bmMpIGFzIHN0cmVhbV9lcnJvclwiIHN0eWxlPVwibWFyZ2luLXRvcDogLjVyZW07XCI+XG4gICAgICA8bWF0LWVycm9yPnt7IHN0cmVhbV9lcnJvciB9fTwvbWF0LWVycm9yPlxuICAgIDwvZGl2PlxuXG4gICAgPGRpdiBzdHlsZT1cIm1hcmdpbi10b3A6IDFyZW07XCI+XG4gICAgICA8ZGl2ICpuZ0lmPVwiKFNUUkVBTV9BSSQgfCBhc3luYykgYXMgZGF0YVwiPlxuICAgICAgICA8cCBzdHlsZT1cIm1hcmdpbi1ib3R0b206IC41cmVtOyB3aGl0ZS1zcGFjZTpwcmUtd3JhcDtcIj57e2RhdGF9fTwvcD5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuXG4gIDwvZGl2PlxuXG4gIDxkaXY+XG4gICAgPGRpdiBzdHlsZT1cImRpc3BsYXk6IGZsZXg7XCI+XG4gICAgICA8aDIgc3R5bGU9XCJmbGV4OjE7IG1hcmdpbi1ib3R0b206IDA7IHBhZGRpbmctdG9wOiAuNXJlbTsgZGlzcGxheTogZmxleDtcIj5cbiAgICAgICAgPGRpdj5cbiAgICAgICAgICBEb3dubG9hZCBGaWxlXG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2IHN0eWxlPVwiZmxleDoxOyBtYXJnaW4tbGVmdDogMXJlbTtcIj5cbiAgICAgICAgICA8bWF0LXNsaWRlLXRvZ2dsZSAjZGlzYWJsZT5cbiAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwiZGlzYWJsZS5jaGVja2VkOyBlbHNlIERJU0FCTEVcIj5cbiAgICAgICAgICAgICAgRW5hYmxlXG4gICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICA8bmctdGVtcGxhdGUgI0RJU0FCTEU+RGlzYWJsZTwvbmctdGVtcGxhdGU+XG4gICAgICAgICAgPC9tYXQtc2xpZGUtdG9nZ2xlPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvaDI+XG4gICAgICA8ZGl2PlxuICAgICAgICA8YXBwLWZpbGUtZG93bmxvYWRlclxuICAgICAgICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlLmNoZWNrZWRcIlxuICAgICAgICAgIFtkZWxheUVycm9yXT1cIjNcIlxuICAgICAgICAgIFthcGlSZXF1ZXN0XT1cImRvd25sb2FkUmVxdWVzdFwiXG4gICAgICAgICAgKGNvbXBsZXRlZCk9XCJvbkRvd25sb2FkQ29tcGxldGVkKClcIlxuICAgICAgICAgIChmYWlsZWQpPVwib25Eb3dubG9hZEZhaWxlZCgkZXZlbnQpXCJcbiAgICAgICAgPjwvYXBwLWZpbGUtZG93bmxvYWRlcj5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cblxuPC9kaXY+XG4iXX0=
@@ -1,10 +1,10 @@
1
1
  import { inject, Injectable } from '@angular/core';
2
2
  import { catchError, throwError } from 'rxjs';
3
- import { ToastMessageService, ToastDisplay, ToastColors } from 'toast-message-display';
3
+ import { ToastColors, ToastDisplay, ToastMessageDisplayService } from 'toast-message-display';
4
4
  import * as i0 from "@angular/core";
5
5
  export class RequestErrorInterceptor {
6
6
  constructor() {
7
- this.toastMessage = inject(ToastMessageService);
7
+ this.toastMessage = inject(ToastMessageDisplayService);
8
8
  }
9
9
  intercept(req, next) {
10
10
  return next.handle(req).pipe(catchError((error) => {
@@ -46,4 +46,4 @@ export class RequestErrorInterceptor {
46
46
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: RequestErrorInterceptor, decorators: [{
47
47
  type: Injectable
48
48
  }] });
49
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVxdWVzdC1lcnJvci5pbnRlcmNlcHRvci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2h0dHAtcmVxdWVzdC1tYW5hZ2VyL3NyYy9saWIvaW50ZXJjZXB0b3JzL3JlcXVlc3QtZXJyb3IuaW50ZXJjZXB0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUE7QUFFbEQsT0FBTyxFQUFjLFVBQVUsRUFBRSxVQUFVLEVBQUUsTUFBTSxNQUFNLENBQUE7QUFFekQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLFlBQVksRUFBRSxXQUFXLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQTs7QUFHdEYsTUFBTSxPQUFPLHVCQUF1QjtJQURwQztRQUdFLGlCQUFZLEdBQUcsTUFBTSxDQUFDLG1CQUFtQixDQUFDLENBQUE7S0FxRDNDO0lBbkRDLFNBQVMsQ0FBQyxHQUFxQixFQUFFLElBQWlCO1FBRWhELE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBRTFCLFVBQVUsQ0FBQyxDQUFDLEtBQXdCLEVBQUUsRUFBRTtZQUV0QyxNQUFNLFlBQVksR0FBRyxZQUFZLENBQUMsS0FBSyxDQUFDO2dCQUN0QyxPQUFPLEVBQUUsNkNBQTZDO2dCQUN0RCxNQUFNLEVBQUUsSUFBSTtnQkFDWixLQUFLLEVBQUUsV0FBVyxDQUFDLE9BQU87Z0JBQzFCLElBQUksRUFBRSxNQUFNO2dCQUNaLFFBQVEsRUFBRSxDQUFDLEdBQUcsSUFBSSxFQUFFLFdBQVc7YUFDaEMsQ0FBQyxDQUFBO1lBRUYsSUFBSSxLQUFLLENBQUMsTUFBTSxJQUFJLEdBQUcsSUFBSSxLQUFLLENBQUMsTUFBTSxHQUFHLEdBQUcsRUFBRTtnQkFFN0MsWUFBWSxDQUFDLEtBQUssR0FBRyxXQUFXLENBQUMsSUFBSSxDQUFBO2dCQUNyQyxZQUFZLENBQUMsT0FBTyxHQUFHLEtBQUssQ0FBQyxLQUFLLElBQUksR0FBRyxLQUFLLENBQUMsTUFBTSxLQUFLLEtBQUssQ0FBQyxVQUFVLEVBQUUsQ0FBQTtnQkFFNUUsT0FBTyxDQUFDLEtBQUssQ0FBQyxlQUFlLEVBQUU7b0JBQzdCLE1BQU0sRUFBRSxLQUFLLENBQUMsTUFBTTtvQkFDcEIsT0FBTyxFQUFFLEtBQUssQ0FBQyxPQUFPO29CQUN0QixLQUFLLEVBQUUsS0FBSyxDQUFDLEtBQUs7b0JBQ2xCLElBQUksRUFBRSxLQUFLLENBQUMsVUFBVTtpQkFDdkIsQ0FBQyxDQUFBO2dCQUVGLElBQUksQ0FBQyxZQUFZLENBQUMsWUFBWSxDQUFDLFlBQVksQ0FBQyxDQUFBO2FBRTdDO2lCQUFNLElBQUksS0FBSyxDQUFDLE1BQU0sSUFBSSxHQUFHLEVBQUU7Z0JBRTlCLFlBQVksQ0FBQyxLQUFLLEdBQUcsV0FBVyxDQUFDLEtBQUssQ0FBQTtnQkFDdEMsWUFBWSxDQUFDLE9BQU8sR0FBRyxLQUFLLENBQUMsS0FBSyxJQUFJLEdBQUcsS0FBSyxDQUFDLE1BQU0sS0FBSyxLQUFLLENBQUMsVUFBVSxFQUFFLENBQUE7Z0JBRTVFLE9BQU8sQ0FBQyxLQUFLLENBQUMsZUFBZSxFQUFFO29CQUM3QixNQUFNLEVBQUUsS0FBSyxDQUFDLE1BQU07b0JBQ3BCLE9BQU8sRUFBRSxLQUFLLENBQUMsT0FBTztvQkFDdEIsS0FBSyxFQUFFLEtBQUssQ0FBQyxLQUFLO29CQUNsQixJQUFJLEVBQUUsS0FBSyxDQUFDLFVBQVU7aUJBQ3ZCLENBQUMsQ0FBQTtnQkFFRixJQUFJLENBQUMsWUFBWSxDQUFDLFlBQVksQ0FBQyxZQUFZLENBQUMsQ0FBQTthQUU3QztZQUVELE9BQU8sVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLEtBQUssQ0FBQyxDQUFBO1FBRWhDLENBQUMsQ0FBQyxDQUVILENBQUE7SUFDSCxDQUFDOytHQXJEVSx1QkFBdUI7bUhBQXZCLHVCQUF1Qjs7NEZBQXZCLHVCQUF1QjtrQkFEbkMsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGluamVjdCwgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnXG5pbXBvcnQgeyBIdHRwRXZlbnQsIEh0dHBIYW5kbGVyLCBIdHRwSW50ZXJjZXB0b3IsIEh0dHBSZXF1ZXN0LCBIdHRwRXJyb3JSZXNwb25zZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJ1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgY2F0Y2hFcnJvciwgdGhyb3dFcnJvciB9IGZyb20gJ3J4anMnXG5cbmltcG9ydCB7IFRvYXN0TWVzc2FnZVNlcnZpY2UsIFRvYXN0RGlzcGxheSwgVG9hc3RDb2xvcnMgfSBmcm9tICd0b2FzdC1tZXNzYWdlLWRpc3BsYXknXG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBSZXF1ZXN0RXJyb3JJbnRlcmNlcHRvciBpbXBsZW1lbnRzIEh0dHBJbnRlcmNlcHRvciB7XG5cbiAgdG9hc3RNZXNzYWdlID0gaW5qZWN0KFRvYXN0TWVzc2FnZVNlcnZpY2UpXG5cbiAgaW50ZXJjZXB0KHJlcTogSHR0cFJlcXVlc3Q8YW55PiwgbmV4dDogSHR0cEhhbmRsZXIpOiBPYnNlcnZhYmxlPEh0dHBFdmVudDxhbnk+PiB7XG5cbiAgICByZXR1cm4gbmV4dC5oYW5kbGUocmVxKS5waXBlKFxuXG4gICAgICBjYXRjaEVycm9yKChlcnJvcjogSHR0cEVycm9yUmVzcG9uc2UpID0+IHtcblxuICAgICAgICBjb25zdCBkaXNwbGF5RXJyb3IgPSBUb2FzdERpc3BsYXkuYWRhcHQoe1xuICAgICAgICAgIG1lc3NhZ2U6ICdUaGlzIGlzIGEgdG9hc3QgbWVzc2FnZS4gVGhpcyBpcyBhbiBFcnJvciEhJyxcbiAgICAgICAgICBhY3Rpb246ICdPSycsXG4gICAgICAgICAgY29sb3I6IFRvYXN0Q29sb3JzLlNVQ0NFU1MsXG4gICAgICAgICAgaWNvbjogJ2luZm8nLFxuICAgICAgICAgIGR1cmF0aW9uOiA1ICogMTAwMCwgLy81IHNlY29uZHNcbiAgICAgICAgfSlcblxuICAgICAgICBpZiAoZXJyb3Iuc3RhdHVzID49IDQwMCAmJiBlcnJvci5zdGF0dXMgPCA1MDApIHtcblxuICAgICAgICAgIGRpc3BsYXlFcnJvci5jb2xvciA9IFRvYXN0Q29sb3JzLldBUk5cbiAgICAgICAgICBkaXNwbGF5RXJyb3IubWVzc2FnZSA9IGVycm9yLmVycm9yIHx8IGAke2Vycm9yLnN0YXR1c306ICR7ZXJyb3Iuc3RhdHVzVGV4dH1gXG5cbiAgICAgICAgICBjb25zb2xlLmVycm9yKCdDbGllbnQgRXJyb3I6Jywge1xuICAgICAgICAgICAgc3RhdHVzOiBlcnJvci5zdGF0dXMsXG4gICAgICAgICAgICBtZXNzYWdlOiBlcnJvci5tZXNzYWdlLFxuICAgICAgICAgICAgZXJyb3I6IGVycm9yLmVycm9yLFxuICAgICAgICAgICAgdGV4dDogZXJyb3Iuc3RhdHVzVGV4dCxcbiAgICAgICAgICB9KVxuXG4gICAgICAgICAgdGhpcy50b2FzdE1lc3NhZ2UudG9hc3RNZXNzYWdlKGRpc3BsYXlFcnJvcilcblxuICAgICAgICB9IGVsc2UgaWYgKGVycm9yLnN0YXR1cyA+PSA1MDApIHtcblxuICAgICAgICAgIGRpc3BsYXlFcnJvci5jb2xvciA9IFRvYXN0Q29sb3JzLkVSUk9SXG4gICAgICAgICAgZGlzcGxheUVycm9yLm1lc3NhZ2UgPSBlcnJvci5lcnJvciB8fCBgJHtlcnJvci5zdGF0dXN9OiAke2Vycm9yLnN0YXR1c1RleHR9YFxuXG4gICAgICAgICAgY29uc29sZS5lcnJvcignU2VydmVyIEVycm9yOicsIHtcbiAgICAgICAgICAgIHN0YXR1czogZXJyb3Iuc3RhdHVzLFxuICAgICAgICAgICAgbWVzc2FnZTogZXJyb3IubWVzc2FnZSxcbiAgICAgICAgICAgIGVycm9yOiBlcnJvci5lcnJvcixcbiAgICAgICAgICAgIHRleHQ6IGVycm9yLnN0YXR1c1RleHQsXG4gICAgICAgICAgfSlcblxuICAgICAgICAgIHRoaXMudG9hc3RNZXNzYWdlLnRvYXN0TWVzc2FnZShkaXNwbGF5RXJyb3IpXG5cbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiB0aHJvd0Vycm9yKCgpID0+IGVycm9yKVxuXG4gICAgICB9KVxuXG4gICAgKVxuICB9XG5cbn1cblxuXG4iXX0=
49
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVxdWVzdC1lcnJvci5pbnRlcmNlcHRvci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2h0dHAtcmVxdWVzdC1tYW5hZ2VyL3NyYy9saWIvaW50ZXJjZXB0b3JzL3JlcXVlc3QtZXJyb3IuaW50ZXJjZXB0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUE7QUFFbEQsT0FBTyxFQUFjLFVBQVUsRUFBRSxVQUFVLEVBQUUsTUFBTSxNQUFNLENBQUE7QUFFekQsT0FBTyxFQUFFLFdBQVcsRUFBRSxZQUFZLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQzs7QUFHOUYsTUFBTSxPQUFPLHVCQUF1QjtJQURwQztRQUdFLGlCQUFZLEdBQUcsTUFBTSxDQUFDLDBCQUEwQixDQUFDLENBQUE7S0FxRGxEO0lBbkRDLFNBQVMsQ0FBQyxHQUFxQixFQUFFLElBQWlCO1FBRWhELE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBRTFCLFVBQVUsQ0FBQyxDQUFDLEtBQXdCLEVBQUUsRUFBRTtZQUV0QyxNQUFNLFlBQVksR0FBRyxZQUFZLENBQUMsS0FBSyxDQUFDO2dCQUN0QyxPQUFPLEVBQUUsNkNBQTZDO2dCQUN0RCxNQUFNLEVBQUUsSUFBSTtnQkFDWixLQUFLLEVBQUUsV0FBVyxDQUFDLE9BQU87Z0JBQzFCLElBQUksRUFBRSxNQUFNO2dCQUNaLFFBQVEsRUFBRSxDQUFDLEdBQUcsSUFBSSxFQUFFLFdBQVc7YUFDaEMsQ0FBQyxDQUFBO1lBRUYsSUFBSSxLQUFLLENBQUMsTUFBTSxJQUFJLEdBQUcsSUFBSSxLQUFLLENBQUMsTUFBTSxHQUFHLEdBQUcsRUFBRTtnQkFFN0MsWUFBWSxDQUFDLEtBQUssR0FBRyxXQUFXLENBQUMsSUFBSSxDQUFBO2dCQUNyQyxZQUFZLENBQUMsT0FBTyxHQUFHLEtBQUssQ0FBQyxLQUFLLElBQUksR0FBRyxLQUFLLENBQUMsTUFBTSxLQUFLLEtBQUssQ0FBQyxVQUFVLEVBQUUsQ0FBQTtnQkFFNUUsT0FBTyxDQUFDLEtBQUssQ0FBQyxlQUFlLEVBQUU7b0JBQzdCLE1BQU0sRUFBRSxLQUFLLENBQUMsTUFBTTtvQkFDcEIsT0FBTyxFQUFFLEtBQUssQ0FBQyxPQUFPO29CQUN0QixLQUFLLEVBQUUsS0FBSyxDQUFDLEtBQUs7b0JBQ2xCLElBQUksRUFBRSxLQUFLLENBQUMsVUFBVTtpQkFDdkIsQ0FBQyxDQUFBO2dCQUVGLElBQUksQ0FBQyxZQUFZLENBQUMsWUFBWSxDQUFDLFlBQVksQ0FBQyxDQUFBO2FBRTdDO2lCQUFNLElBQUksS0FBSyxDQUFDLE1BQU0sSUFBSSxHQUFHLEVBQUU7Z0JBRTlCLFlBQVksQ0FBQyxLQUFLLEdBQUcsV0FBVyxDQUFDLEtBQUssQ0FBQTtnQkFDdEMsWUFBWSxDQUFDLE9BQU8sR0FBRyxLQUFLLENBQUMsS0FBSyxJQUFJLEdBQUcsS0FBSyxDQUFDLE1BQU0sS0FBSyxLQUFLLENBQUMsVUFBVSxFQUFFLENBQUE7Z0JBRTVFLE9BQU8sQ0FBQyxLQUFLLENBQUMsZUFBZSxFQUFFO29CQUM3QixNQUFNLEVBQUUsS0FBSyxDQUFDLE1BQU07b0JBQ3BCLE9BQU8sRUFBRSxLQUFLLENBQUMsT0FBTztvQkFDdEIsS0FBSyxFQUFFLEtBQUssQ0FBQyxLQUFLO29CQUNsQixJQUFJLEVBQUUsS0FBSyxDQUFDLFVBQVU7aUJBQ3ZCLENBQUMsQ0FBQTtnQkFFRixJQUFJLENBQUMsWUFBWSxDQUFDLFlBQVksQ0FBQyxZQUFZLENBQUMsQ0FBQTthQUU3QztZQUVELE9BQU8sVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLEtBQUssQ0FBQyxDQUFBO1FBRWhDLENBQUMsQ0FBQyxDQUVILENBQUE7SUFDSCxDQUFDOytHQXJEVSx1QkFBdUI7bUhBQXZCLHVCQUF1Qjs7NEZBQXZCLHVCQUF1QjtrQkFEbkMsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGluamVjdCwgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnXG5pbXBvcnQgeyBIdHRwRXZlbnQsIEh0dHBIYW5kbGVyLCBIdHRwSW50ZXJjZXB0b3IsIEh0dHBSZXF1ZXN0LCBIdHRwRXJyb3JSZXNwb25zZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJ1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgY2F0Y2hFcnJvciwgdGhyb3dFcnJvciB9IGZyb20gJ3J4anMnXG5cbmltcG9ydCB7IFRvYXN0Q29sb3JzLCBUb2FzdERpc3BsYXksIFRvYXN0TWVzc2FnZURpc3BsYXlTZXJ2aWNlIH0gZnJvbSAndG9hc3QtbWVzc2FnZS1kaXNwbGF5JztcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIFJlcXVlc3RFcnJvckludGVyY2VwdG9yIGltcGxlbWVudHMgSHR0cEludGVyY2VwdG9yIHtcblxuICB0b2FzdE1lc3NhZ2UgPSBpbmplY3QoVG9hc3RNZXNzYWdlRGlzcGxheVNlcnZpY2UpXG5cbiAgaW50ZXJjZXB0KHJlcTogSHR0cFJlcXVlc3Q8YW55PiwgbmV4dDogSHR0cEhhbmRsZXIpOiBPYnNlcnZhYmxlPEh0dHBFdmVudDxhbnk+PiB7XG5cbiAgICByZXR1cm4gbmV4dC5oYW5kbGUocmVxKS5waXBlKFxuXG4gICAgICBjYXRjaEVycm9yKChlcnJvcjogSHR0cEVycm9yUmVzcG9uc2UpID0+IHtcblxuICAgICAgICBjb25zdCBkaXNwbGF5RXJyb3IgPSBUb2FzdERpc3BsYXkuYWRhcHQoe1xuICAgICAgICAgIG1lc3NhZ2U6ICdUaGlzIGlzIGEgdG9hc3QgbWVzc2FnZS4gVGhpcyBpcyBhbiBFcnJvciEhJyxcbiAgICAgICAgICBhY3Rpb246ICdPSycsXG4gICAgICAgICAgY29sb3I6IFRvYXN0Q29sb3JzLlNVQ0NFU1MsXG4gICAgICAgICAgaWNvbjogJ2luZm8nLFxuICAgICAgICAgIGR1cmF0aW9uOiA1ICogMTAwMCwgLy81IHNlY29uZHNcbiAgICAgICAgfSlcblxuICAgICAgICBpZiAoZXJyb3Iuc3RhdHVzID49IDQwMCAmJiBlcnJvci5zdGF0dXMgPCA1MDApIHtcblxuICAgICAgICAgIGRpc3BsYXlFcnJvci5jb2xvciA9IFRvYXN0Q29sb3JzLldBUk5cbiAgICAgICAgICBkaXNwbGF5RXJyb3IubWVzc2FnZSA9IGVycm9yLmVycm9yIHx8IGAke2Vycm9yLnN0YXR1c306ICR7ZXJyb3Iuc3RhdHVzVGV4dH1gXG5cbiAgICAgICAgICBjb25zb2xlLmVycm9yKCdDbGllbnQgRXJyb3I6Jywge1xuICAgICAgICAgICAgc3RhdHVzOiBlcnJvci5zdGF0dXMsXG4gICAgICAgICAgICBtZXNzYWdlOiBlcnJvci5tZXNzYWdlLFxuICAgICAgICAgICAgZXJyb3I6IGVycm9yLmVycm9yLFxuICAgICAgICAgICAgdGV4dDogZXJyb3Iuc3RhdHVzVGV4dCxcbiAgICAgICAgICB9KVxuXG4gICAgICAgICAgdGhpcy50b2FzdE1lc3NhZ2UudG9hc3RNZXNzYWdlKGRpc3BsYXlFcnJvcilcblxuICAgICAgICB9IGVsc2UgaWYgKGVycm9yLnN0YXR1cyA+PSA1MDApIHtcblxuICAgICAgICAgIGRpc3BsYXlFcnJvci5jb2xvciA9IFRvYXN0Q29sb3JzLkVSUk9SXG4gICAgICAgICAgZGlzcGxheUVycm9yLm1lc3NhZ2UgPSBlcnJvci5lcnJvciB8fCBgJHtlcnJvci5zdGF0dXN9OiAke2Vycm9yLnN0YXR1c1RleHR9YFxuXG4gICAgICAgICAgY29uc29sZS5lcnJvcignU2VydmVyIEVycm9yOicsIHtcbiAgICAgICAgICAgIHN0YXR1czogZXJyb3Iuc3RhdHVzLFxuICAgICAgICAgICAgbWVzc2FnZTogZXJyb3IubWVzc2FnZSxcbiAgICAgICAgICAgIGVycm9yOiBlcnJvci5lcnJvcixcbiAgICAgICAgICAgIHRleHQ6IGVycm9yLnN0YXR1c1RleHQsXG4gICAgICAgICAgfSlcblxuICAgICAgICAgIHRoaXMudG9hc3RNZXNzYWdlLnRvYXN0TWVzc2FnZShkaXNwbGF5RXJyb3IpXG5cbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiB0aHJvd0Vycm9yKCgpID0+IGVycm9yKVxuXG4gICAgICB9KVxuXG4gICAgKVxuICB9XG5cbn1cblxuXG4iXX0=