@dsivd/prestations-ng 14.5.17-beta1 → 14.5.19

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.
@@ -10,7 +10,7 @@ import { ValidationHandlerService } from './validation/validation-handler.servic
10
10
  import { GesdemEventService } from './gesdem/gesdem-event.service';
11
11
  import { BreadcrumbEventService } from './foehn-breadcrumb/breadcrumb-event.service';
12
12
  import { FoehnPageService } from './foehn-page/foehn-page.service';
13
- import { first, mergeMap, share, throttleTime } from 'rxjs/operators';
13
+ import { mergeMap, share, throttleTime } from 'rxjs/operators';
14
14
  import { ActionStatut, GesdemStatutUtils } from './gesdem/gesdem-statut-utils';
15
15
  import { PendingUploadService } from './foehn-upload/foehn-multi-upload/pending-upload.service';
16
16
  import { SdkDictionaryService } from './sdk-dictionary/sdk-dictionary.service';
@@ -135,13 +135,11 @@ export class AbstractPageComponent {
135
135
  else {
136
136
  this._validationHandlerService.shouldDisplayErrors(true);
137
137
  }
138
- this.sendForFormConcurrentSafe
139
- .pipe(first())
140
- .subscribe(() => this.onFormSent(goToNextPage));
138
+ this.sendForFormConcurrentSafe.subscribe(() => this.onFormSent(goToNextPage));
141
139
  }
142
140
  transmit() {
143
141
  this._validationHandlerService.shouldDisplayErrors(true);
144
- this.transmitConcurrentSafe.pipe(first()).subscribe(() => {
142
+ this.transmitConcurrentSafe.subscribe(() => {
145
143
  if (!this._gesdemService.lastResponse.errors.length) {
146
144
  this._gesdemEventService.formTransmittedSubject.next(this._gesdemService.lastResponse);
147
145
  this._navigation.next();
@@ -223,4 +221,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.4", ngImpor
223
221
  type: ViewChild,
224
222
  args: [FoehnFormComponent, { static: true }]
225
223
  }] } });
226
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWJzdHJhY3QtcGFnZS1jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9wcm9qZWN0cy9wcmVzdGF0aW9ucy1uZy9zcmMvYWJzdHJhY3QtcGFnZS1jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUVILFNBQVMsRUFHVCxTQUFTLEVBQ1osTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDdkUsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sNkNBQTZDLENBQUM7QUFDckYsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFDdkUsT0FBTyxFQUFjLEVBQUUsRUFBZ0IsTUFBTSxNQUFNLENBQUM7QUFDcEQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ25ELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNqRCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUN4RSxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQztBQUNuRixPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUNuRSxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSw2Q0FBNkMsQ0FBQztBQUNyRixPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUNuRSxPQUFPLEVBQUUsS0FBSyxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUUsWUFBWSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDdEUsT0FBTyxFQUFFLFlBQVksRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQy9FLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDBEQUEwRCxDQUFDO0FBRWhHLE9BQU8sRUFBRSxvQkFBb0Is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WUFDOUMsTUFBTSxpQ0FBaUMsR0FBRyxJQUFJLENBQUMscUJBQXFCLENBQUMsbUJBQW1CLENBQUMsU0FBUyxDQUM5RixHQUFHLEVBQUU7Z0JBQ0QsaUNBQWlDLENBQUMsV0FBVyxFQUFFLENBQUM7Z0JBQ2hELElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztZQUNwQixDQUFDLENBQ0osQ0FBQztZQUNGLE9BQU8sSUFBSSxDQUFDO1NBQ2Y7UUFDRCxPQUFPLEtBQUssQ0FBQztJQUNqQixDQUFDO0lBRU8sUUFBUTtRQUNaLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO0lBQzFCLENBQUM7O2tIQXhSaUIscUJBQXFCO3NHQUFyQixxQkFBcUIsOEVBRTVCLGtCQUFrQjsyRkFGWCxxQkFBcUI7a0JBRDFDLFNBQVM7cUdBSU4sa0JBQWtCO3NCQURqQixTQUFTO3VCQUFDLGtCQUFrQixFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgQWZ0ZXJWaWV3SW5pdCxcbiAgICBEaXJlY3RpdmUsXG4gICAgT25EZXN0cm95LFxuICAgIE9uSW5pdCxcbiAgICBWaWV3Q2hpbGRcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBHZXNkZW1IYW5kbGVyU2VydmljZSB9IGZyb20gJy4vZ2VzZGVtL2dlc2RlbS1oYW5kbGVyLnNlcnZpY2UnO1xuaW1wb3J0IHsgRm9laG5OYXZpZ2F0aW9uU2VydmljZSB9IGZyb20gJy4vZm9laG4tbmF2aWdhdGlvbi9mb2Vobi1uYXZpZ2F0aW9uLnNlcnZpY2UnO1xuaW1wb3J0IHsgRm9laG5Gb3JtQ29tcG9uZW50IH0gZnJvbSAnLi9mb2Vobi1mb3JtL2ZvZWhuLWZvcm0uY29tcG9uZW50JztcbmltcG9ydCB7IE9ic2VydmFibGUsIG9mLCBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IFNlcnZpY2VMb2NhdG9yIH0gZnJvbSAnLi9zZXJ2aWNlLWxvY2F0b3InO1xuaW1wb3J0IHsgQWN0aXZhdGVkUm91dGUgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgR3Jvd2xCcm9rZXJTZXJ2aWNlIH0gZnJvbSAnLi9mb2Vobi1ncm93bC9ncm93bC1icm9rZXIuc2VydmljZSc7XG5pbXBvcnQgeyBWYWxpZGF0aW9uSGFuZGxlclNlcnZpY2UgfSBmcm9tICcuL3ZhbGlkYXRpb24vdmFsaWRhdGlvbi1oYW5kbGVyLnNlcnZpY2UnO1xuaW1wb3J0IHsgR2VzZGVtRXZlbnRTZXJ2aWNlIH0gZnJvbSAnLi9nZXNkZW0vZ2VzZGVtLWV2ZW50LnNlcnZpY2UnO1xuaW1wb3J0IHsgQnJlYWRjcnVtYkV2ZW50U2VydmljZSB9IGZyb20gJy4vZm9laG4tYnJlYWRjcnVtYi9icmVhZGNydW1iLWV2ZW50LnNlcnZpY2UnO1xuaW1wb3J0IHsgRm9laG5QYWdlU2VydmljZSB9IGZyb20gJy4vZm9laG4tcGFnZS9mb2Vobi1wYWdlLnNlcnZpY2UnO1xuaW1wb3J0IHsgZmlyc3QsIG1lcmdlTWFwLCBzaGFyZSwgdGhyb3R0bGVUaW1lIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgQWN0aW9uU3RhdHV0LCBHZXNkZW1TdGF0dXRVdGlscyB9IGZyb20gJy4vZ2VzZGVtL2dlc2RlbS1zdGF0dXQtdXRpbHMnO1xuaW1wb3J0IHsgUGVuZGluZ1VwbG9hZFNlcnZpY2UgfSBmcm9tICcuL2ZvZWhuLXVwbG9hZC9mb2Vobi1tdWx0aS11cGxvYWQvcGVuZGluZy11cGxvYWQuc2VydmljZSc7XG5pbXBvcnQgeyBJMThuRm9ybSB9IGZyb20gJy4vaTE4bi1mb3JtJztcbmltcG9ydCB7IFNka0RpY3Rpb25hcnlTZXJ2aWNlIH0gZnJvbSAnLi9zZGstZGljdGlvbmFyeS9zZGstZGljdGlvbmFyeS5zZXJ2aWNlJztcblxuLyoqXG4gKiBFbnN1cmVzIHRoYXQgYSBjYWxsIGlzIG9ubHkgc3Vic2NyaWJlZCBhbmQgc2VuZCBvbmUgYXQgdGhlIHRpbWUuXG4gKlxuICogQHBhcmFtIGZuIGZ1bmN0aW9uIHRvIGJlIGNhbGxlZCBhcyBjb25jdXJyZW50IHNhZmVcbiAqIEByZXR1cm5zIE9ic2VydmFibGVcbiAqL1xuLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIHByZWZlci1hcnJvdy9wcmVmZXItYXJyb3ctZnVuY3Rpb25zXG5mdW5jdGlvbiBnZXRDb25jdXJyZW50U2FmZUNhbGw8VD4oZm46ICgpID0+IE9ic2VydmFibGU8VD4pOiBPYnNlcnZhYmxlPFQ+IHtcbiAgICByZXR1cm4gb2YodHJ1ZSkucGlwZShcbiAgICAgICAgLy8gVG8gZ3VhcmQgZnJvbSBkb3VibGUtY2xpY2tcbiAgICAgICAgdGhyb3R0bGVUaW1lKDIwMCksXG4gICAgICAgIC8vIGZsYXRtYXAoZm4sIDEpIGVuc3VyZXMgdGhhdCBvbmx5IG9uZSBxdWVyeSBpcyByYW4gYXQgdGhlIHNhbWUgdGltZVxuICAgICAgICBtZXJnZU1hcChmbiwgMSksXG4gICAgICAgIC8vIEFzIHRoaXMgb2JzZXJ2YWJsZSBpcyB1c2VkIGFzIGEgUHJvbWlzZSAod2l0aCBzdWJzY3JpYmUpLCB0aGlzIGVuc3VyZXMgdGhhdFxuICAgICAgICAvLyB0aGUgb3BlcmF0b3JzIGFib3ZlIGNhbiBiZSBzaGFyZWQgYmV0d2VlbiBlYWNoIHN1YnNjcmliZS5cbiAgICAgICAgc2hhcmUoKVxuICAgICk7XG59XG5cbkBEaXJlY3RpdmUoKVxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIEFic3RyYWN0UGFnZUNvbXBvbmVudDxUIGV4dGVuZHMgSTE4bkZvcm0+XG4gICAgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSwgQWZ0ZXJWaWV3SW5pdCB7XG4gICAgQFZpZXdDaGlsZChGb2VobkZvcm1Db21wb25lbnQsIHsgc3RhdGljOiB0cnVlIH0pXG4gICAgZm9laG5Gb3JtQ29tcG9uZW50OiBGb2VobkZvcm1Db21wb25lbnQ7XG5cbiAgICBmb3JtOiBUO1xuICAgIHJlZmVyZW5jZTogc3RyaW5nO1xuXG4gICAgcHJvdGVjdGVkIHBhZ2VUaXRsZVN1YnNjcmlwdGlvbjogU3Vic2NyaXB0aW9uO1xuICAgIHByb3RlY3RlZCB1cGRhdGVGb3JtRGF0YVN1YmplY3RTdWJzY3JpcHRpb246IFN1YnNjcmlwdGlvbjtcbiAgICBwcm90ZWN0ZWQgYXR0YWNobWVudHNTaW5nbGVVcGxvYWRlZFN1YnNjcmlwdGlvbjogU3Vic2NyaXB0aW9uO1xuICAgIHByb3RlY3RlZCBhdHRhY2htZW50c011bHRpVXBsb2FkZWRTdWJzY3JpcHRpb246IFN1YnNjcmlwdGlvbjtcbiAgICBwcm90ZWN0ZWQgc2F2ZUZvcm1SZXF1ZXN0U3Vic2NyaXB0aW9uOiBTdWJzY3JpcHRpb247XG4gICAgcHJvdGVjdGVkIF9nZXNkZW1TZXJ2aWNlOiBHZXNkZW1IYW5kbGVyU2VydmljZTtcbiAgICBwcm90ZWN0ZWQgX2dlc2RlbUV2ZW50U2VydmljZTogR2VzZGVtRXZlbnRTZXJ2aWNlO1xuICAgIHByb3RlY3RlZCBfbmF2aWdhdGlvbjogRm9laG5OYXZpZ2F0aW9uU2VydmljZTtcbiAgICBwcm90ZWN0ZWQgX2FjdGl2YXRlZFJvdXRlOiBBY3RpdmF0ZWRSb3V0ZTtcbiAgICBwcm90ZWN0ZWQgX2dyb3dsU2VydmljZTogR3Jvd2xCcm9rZXJTZXJ2aWNlO1xuICAgIHByb3RlY3RlZCBfdmFsaWRhdGlvbkhhbmRsZXJTZXJ2aWNlOiBWYWxpZGF0aW9uSGFuZGxlclNlcnZpY2U7XG4gICAgcHJvdGVjdGVkIF9icmVhZGNydW1iRXZlbnRTZXJ2aWNlOiBCcmVhZGNydW1iRXZlbnRTZXJ2aWNlO1xuICAgIHByb3RlY3RlZCBfZm9laG5QYWdlU2VydmljZTogRm9laG5QYWdlU2VydmljZTtcbiAgICBwcm90ZWN0ZWQgX2RpY3Rpb25hcnlTZXJ2aWNlOiBTZGtEaWN0aW9uYXJ5U2VydmljZTtcblxuICAgIHByaXZhdGUgX3BlbmRpbmdVcGxvYWRTZXJ2aWNlOiBQZW5kaW5nVXBsb2FkU2VydmljZTtcbiAgICBwcml2YXRlIF9mb3JtSW5pdFN1YnNjcmlwdGlvbjogU3Vic2NyaXB0aW9uO1xuICAgIHByaXZhdGUgX2N1cnJlbnRMYW5nU3Vic2NyaXB0aW9uOiBTdWJzY3JpcHRpb247XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnlcbiAgICBwcml2YXRlIHNlbmRGb3JGb3JtQ29uY3VycmVudFNhZmU6IE9ic2VydmFibGU8YW55PjtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueVxuICAgIHByaXZhdGUgdHJhbnNtaXRDb25jdXJyZW50U2FmZTogT2JzZXJ2YWJsZTxhbnk+O1xuXG4gICAgY29uc3RydWN0b3IocHJvdGVjdGVkIGFjdGl2YXRlZFJvdXRlOiBBY3RpdmF0ZWRSb3V0ZSkge1xuICAgICAgICB0aGlzLl9nZXNkZW1TZXJ2aWNlID0gU2VydmljZUxvY2F0b3IuaW5qZWN0b3IuZ2V0KEdlc2RlbUhhbmRsZXJTZXJ2aWNlKTtcbiAgICAgICAgdGhpcy5fZ2VzZGVtRXZlbnRTZXJ2aWNlID0gU2VydmljZUxvY2F0b3IuaW5qZWN0b3IuZ2V0KFxuICAgICAgICAgICAgR2VzZGVtRXZlbnRTZXJ2aWNlXG4gICAgICAgICk7XG4gICAgICAgIHRoaXMuX25hdmlnYXRpb24gPSBTZXJ2aWNlTG9jYXRvci5pbmplY3Rvci5nZXQoRm9laG5OYXZpZ2F0aW9uU2VydmljZSk7XG4gICAgICAgIHRoaXMuX2FjdGl2YXRlZFJvdXRlID0gU2VydmljZUxvY2F0b3IuaW5qZWN0b3IuZ2V0KEFjdGl2YXRlZFJvdXRlKTtcbiAgICAgICAgdGhpcy5fZ3Jvd2xTZXJ2aWNlID0gU2VydmljZUxvY2F0b3IuaW5qZWN0b3IuZ2V0KEdyb3dsQnJva2VyU2VydmljZSk7XG4gICAgICAgIHRoaXMuX3ZhbGlkYXRpb25IYW5kbGVyU2VydmljZSA9IFNlcnZpY2VMb2NhdG9yLmluamVjdG9yLmdldChcbiAgICAgICAgICAgIFZhbGlkYXRpb25IYW5kbGVyU2VydmljZVxuICAgICAgICApO1xuICAgICAgICB0aGlzLl9wZW5kaW5nVXBsb2FkU2VydmljZSA9IFNlcnZpY2VMb2NhdG9yLmluamVjdG9yLmdldChcbiAgICAgICAgICAgIFBlbmRpbmdVcGxvYWRTZXJ2aWNlXG4gICAgICAgICk7XG4gICAgICAgIHRoaXMuX2JyZWFkY3J1bWJFdmVudFNlcnZpY2UgPSBTZXJ2aWNlTG9jYXRvci5pbmplY3Rvci5nZXQoXG4gICAgICAgICAgICBCcmVhZGNydW1iRXZlbnRTZXJ2aWNlXG4gICAgICAgICk7XG4gICAgICAgIHRoaXMuX2ZvZWhuUGFnZVNlcnZpY2UgPSBTZXJ2aWNlTG9jYXRvci5pbmplY3Rvci5nZXQoRm9laG5QYWdlU2VydmljZSk7XG5cbiAgICAgICAgdGhpcy5fZGljdGlvbmFyeVNlcnZpY2UgPSBTZXJ2aWNlTG9jYXRvci5pbmplY3Rvci5nZXQoXG4gICAgICAgICAgICBTZGtEaWN0aW9uYXJ5U2VydmljZVxuICAgICAgICApO1xuXG4gICAgICAgIHRoaXMuX2N1cnJlbnRMYW5nU3Vic2NyaXB0aW9uID0gdGhpcy5fZGljdGlvbmFyeVNlcnZpY2VcbiAgICAgICAgICAgIC5nZXRDdXJyZW50TGFuZ3VhZ2VDb2RlKClcbiAgICAgICAgICAgIC5zdWJzY3JpYmUobGFuZ3VhZ2VDb2RlID0+IHtcbiAgICAgICAgICAgICAgICBpZiAodGhpcy5mb3JtKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZm9ybS5sYW5ndWFnZSA9IGxhbmd1YWdlQ29kZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KTtcblxuICAgICAgICBjb25zdCByb3V0ZSA9IEZvZWhuTmF2aWdhdGlvblNlcnZpY2UuZ2V0Um9vdFJvdXRlUmVjdXJzaXZlKFxuICAgICAgICAgICAgYWN0aXZhdGVkUm91dGUuc25hcHNob3RcbiAgICAgICAgKTtcbiAgICAgICAgdGhpcy5fbmF2aWdhdGlvbi5pbml0Um91dGUocm91dGUpO1xuICAgICAgICB0aGlzLl9mb3JtSW5pdFN1YnNjcmlwdGlvbiA9IHRoaXMuX2dlc2RlbUV2ZW50U2VydmljZVxuICAgICAgICAgICAgLmZvcm1Jbml0aWFsaXphdGlvbk9ic2VydmFibGUoKVxuICAgICAgICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5yZWZlcmVuY2UgPVxuICAgICAgICAgICAgICAgICAgICB0aGlzLl9nZXNkZW1TZXJ2aWNlLmxhc3RSZXNwb25zZSAmJlxuICAgICAgICAgICAgICAgICAgICB0aGlzLl9nZXNkZW1TZXJ2aWNlLmxhc3RSZXNwb25zZS5tZXRhLnJlZmVyZW5jZTtcbiAgICAgICAgICAgICAgICBjb25zdCBzdGF0dXQgPVxuICAgICAgICAgICAgICAgICAgICB0aGlzLl9nZXNkZW1TZXJ2aWNlLmxhc3RSZXNwb25zZSAmJlxuICAgICAgICAgICAgICAgICAgICB0aGlzLl9nZXNkZW1TZXJ2aWNlLmxhc3RSZXNwb25zZS5tZXRhLnN0YXR1dDtcbiAgICAgICAgICAgICAgICBjb25zdCBzaG91bGRQcmV2ZW50TmF2aWdhdGlvblRvTGFzdCA9XG4gICAgICAgICAgICAgICAgICAgIGFjdGl2YXRlZFJvdXRlLnNuYXBzaG90LmRhdGFcbiAgICAgICAgICAgICAgICAgICAgICAgIC5wcmV2ZW50TmF2aWdhdGlvblRvTGFzdE9uVHJhbnNmZXJyZWQgPT09IHRydWU7XG5cbiAgICAgICAgICAgICAgICBjb25zdCBsYW5ndWFnZUNvZGUgPVxuICAgICAgICAgICAgICAgICAgICB0aGlzLl9nZXNkZW1TZXJ2aWNlLmxhc3RSZXNwb25zZSAmJlxuICAgICAgICAgICAgICAgICAgICB0aGlzLl9nZXNkZW1TZXJ2aWNlLmxhc3RSZXNwb25zZS5mb3JtICYmXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuX2dlc2RlbVNlcnZpY2UubGFzdFJlc3BvbnNlLmZvcm0ubGFuZ3VhZ2U7XG5cbiAgICAgICAgICAgICAgICB0aGlzLl9kaWN0aW9uYXJ5U2VydmljZS5jaGFuZ2VMYW5ndWFnZShsYW5ndWFnZUNvZGUpO1xuXG4gICAgICAgICAgICAgICAgaWYgKFxuICAgICAgICAgICAgICAgICAgICAhc2hvdWxkUHJldmVudE5hdmlnYXRpb25Ub0xhc3QgJiZcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5yZWZlcmVuY2UgJiZcbiAgICAgICAgICAgICAgICAgICAgR2VzZGVtU3RhdHV0VXRpbHMuaXNGaW5hbChcbiAgICAgICAgICAgICAgICAgICAgICAgIEFjdGlvblN0YXR1dFtzdGF0dXQgYXMgQWN0aW9uU3RhdHV0XVxuICAgICAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuX25hdmlnYXRpb24ubGFzdCgpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pO1xuXG4gICAgICAgIC8vIFByb3RlY3RzIHRoZSBzYXZlIG1ldGhvZCBvbiB0aGUgR2VzZGVtU2VydmljZSBmcm9tIGNvbmN1cnJlbnQgYWNjZXNzLlxuICAgICAgICB0aGlzLnNlbmRGb3JGb3JtQ29uY3VycmVudFNhZmUgPSBnZXRDb25jdXJyZW50U2FmZUNhbGwoKCkgPT5cbiAgICAgICAgICAgIHRoaXMuX2dlc2RlbVNlcnZpY2Uuc2F2ZSh0aGlzLmZvcm0pXG4gICAgICAgICk7XG5cbiAgICAgICAgLy8gUHJvdGVjdHMgdGhlIHRyYW5zbWl0IG1ldGhvZCBvbiB0aGUgR2VzZGVtU2VydmljZSBmcm9tIGNvbmN1cnJlbnQgYWNjZXNzLlxuICAgICAgICB0aGlzLnRyYW5zbWl0Q29uY3VycmVudFNhZmUgPSBnZXRDb25jdXJyZW50U2FmZUNhbGwoKCkgPT5cbiAgICAgICAgICAgIHRoaXMuX2dlc2RlbVNlcnZpY2UudHJhbnNtaXQoKVxuICAgICAgICApO1xuICAgIH1cblxuICAgIG5nT25Jbml0KCk6IHZvaWQge1xuICAgICAgICB0aGlzLmdvdFRvVG9wKCk7XG4gICAgICAgIHRoaXMuZm9ybSA9IHRoaXMubmV3Rm9ybSgpO1xuXG4gICAgICAgIHRoaXMuX3ZhbGlkYXRpb25IYW5kbGVyU2VydmljZS5zaG91bGREaXNwbGF5RXJyb3JzKGZhbHNlKTtcblxuICAgICAgICB0aGlzLnVwZGF0ZUZvcm1EYXRhU3ViamVjdFN1YnNjcmlwdGlvbiA9IHRoaXMuX2dlc2RlbVNlcnZpY2UudXBkYXRlRm9ybURhdGFTdWJqZWN0LnN1YnNjcmliZShcbiAgICAgICAgICAgIGZvcm0gPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMuZm9ybSA9IGZvcm07XG4gICAgICAgICAgICAgICAgdGhpcy5fZ2VzZGVtRXZlbnRTZXJ2aWNlLmZvcm1Jbml0aWFsaXphdGlvblN1YmplY3QubmV4dChmb3JtKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgKTtcblxuICAgICAgICB0aGlzLmF0dGFjaG1lbnRzTXVsdGlVcGxvYWRlZFN1YnNjcmlwdGlvbiA9IHRoaXMuX3BlbmRpbmdVcGxvYWRTZXJ2aWNlLmF0dGFjaG1lbnRzVXBsb2FkZWQuc3Vic2NyaWJlKFxuICAgICAgICAgICAgZm9ybSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5mb3JtID0gZm9ybTtcbiAgICAgICAgICAgICAgICAvLyBQUkVTVEFLSVQtMzA5OiBzZXQgYmFjayBzaG91bGREaXNwbGF5RXJyb3JzIHRvIHRydWUgb25jZSBmaWxlcyBoYXZlIGJlZW4gdXBsb2FkZWRcbiAgICAgICAgICAgICAgICB0aGlzLl92YWxpZGF0aW9uSGFuZGxlclNlcnZpY2Uuc2hvdWxkRGlzcGxheUVycm9ycyh0cnVlKTtcbiAgICAgICAgICAgICAgICB0aGlzLm9uRm9ybVNlbnQodHJ1ZSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICk7XG5cbiAgICAgICAgdGhpcy5zYXZlRm9ybVJlcXVlc3RTdWJzY3JpcHRpb24gPSB0aGlzLl9mb2VoblBhZ2VTZXJ2aWNlXG4gICAgICAgICAgICAuc2F2ZUZvcm1SZXF1ZXN0KClcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoKCkgPT4gdGhpcy5zZW5kKGZhbHNlKSk7XG4gICAgfVxuXG4gICAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgICAgICAvLyBAc2VlIGh0dHBzOi8vZ2l0aHViLmNvbS9hbmd1bGFyL2FuZ3VsYXIvaXNzdWVzLzE3NTcyI2lzc3VlY29tbWVudC0zMjM0NjU3MzdcbiAgICAgICAgUHJvbWlzZS5yZXNvbHZlKG51bGwpLnRoZW4oKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5fZ2VzZGVtU2VydmljZS5yZXF1aXJlKCkuc3Vic2NyaWJlKCk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5fY3VycmVudExhbmdTdWJzY3JpcHRpb24pIHtcbiAgICAgICAgICAgIHRoaXMuX2N1cnJlbnRMYW5nU3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAodGhpcy5wYWdlVGl0bGVTdWJzY3JpcHRpb24pIHtcbiAgICAgICAgICAgIHRoaXMucGFnZVRpdGxlU3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAodGhpcy51cGRhdGVGb3JtRGF0YVN1YmplY3RTdWJzY3JpcHRpb24pIHtcbiAgICAgICAgICAgIHRoaXMudXBkYXRlRm9ybURhdGFTdWJqZWN0U3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAodGhpcy5hdHRhY2htZW50c1NpbmdsZVVwbG9hZGVkU3Vic2NyaXB0aW9uKSB7XG4gICAgICAgICAgICB0aGlzLmF0dGFjaG1lbnRzU2luZ2xlVXBsb2FkZWRTdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICh0aGlzLmF0dGFjaG1lbnRzTXVsdGlVcGxvYWRlZFN1YnNjcmlwdGlvbikge1xuICAgICAgICAgICAgdGhpcy5hdHRhY2htZW50c011bHRpVXBsb2FkZWRTdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICh0aGlzLl9mb3JtSW5pdFN1YnNjcmlwdGlvbikge1xuICAgICAgICAgICAgdGhpcy5fZm9ybUluaXRTdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICh0aGlzLnNhdmVGb3JtUmVxdWVzdFN1YnNjcmlwdGlvbikge1xuICAgICAgICAgICAgdGhpcy5zYXZlRm9ybVJlcXVlc3RTdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHNlbmQoZ29Ub05leHRQYWdlOiBib29sZWFuID0gdHJ1ZSk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5fcGVuZGluZ1VwbG9hZFNlcnZpY2UuaGFzUGVuZGluZ0ZpbGVzKCkpIHtcbiAgICAgICAgICAgIGdvVG9OZXh0UGFnZSA9IGZhbHNlO1xuICAgICAgICAgICAgLy8gUFJFU1RBS0lULTMwOTogc2hvdWxkRGlzcGxheUVycm9ycyB3aWxsIGJlIHNldCBiYWNrIHRvIHRydWUgaW4gJ2F0dGFjaG1lbnRzVXBsb2FkZWQnIHN1YnNjcmlwdGlvblxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5fdmFsaWRhdGlvbkhhbmRsZXJTZXJ2aWNlLnNob3VsZERpc3BsYXlFcnJvcnModHJ1ZSk7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5zZW5kRm9yRm9ybUNvbmN1cnJlbnRTYWZlXG4gICAgICAgICAgICAucGlwZShmaXJzdCgpKVxuICAgICAgICAgICAgLnN1YnNjcmliZSgoKSA9PiB0aGlzLm9uRm9ybVNlbnQoZ29Ub05leHRQYWdlKSk7XG4gICAgfVxuXG4gICAgdHJhbnNtaXQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuX3ZhbGlkYXRpb25IYW5kbGVyU2VydmljZS5zaG91bGREaXNwbGF5RXJyb3JzKHRydWUpO1xuICAgICAgICB0aGlzLnRyYW5zbWl0Q29uY3VycmVudFNhZmUucGlwZShmaXJzdCgpKS5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgICAgaWYgKCF0aGlzLl9nZXNkZW1TZXJ2aWNlLmxhc3RSZXNwb25zZS5lcnJvcnMubGVuZ3RoKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5fZ2VzZGVtRXZlbnRTZXJ2aWNlLmZvcm1UcmFuc21pdHRlZFN1YmplY3QubmV4dChcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5fZ2VzZGVtU2VydmljZS5sYXN0UmVzcG9uc2VcbiAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgIHRoaXMuX25hdmlnYXRpb24ubmV4dCgpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9LCBjb25zb2xlLmVycm9yKTtcbiAgICB9XG5cbiAgICBzZW5kQW5kVHJhbnNtaXQoKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IHNlbnRTdWJzY3JpcHRpb246IFN1YnNjcmlwdGlvbiA9IHRoaXMuX2dlc2RlbUV2ZW50U2VydmljZVxuICAgICAgICAgICAgLmZvcm1TZW50T2JzZXJ2YWJsZSgpXG4gICAgICAgICAgICAuc3Vic2NyaWJlKFxuICAgICAgICAgICAgICAgIHJlc3BvbnNlID0+IHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKCFyZXNwb25zZS5lcnJvcnMubGVuZ3RoICYmICFyZXNwb25zZS5tZXRhLmNyaXRpY2FsKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoIXRoaXMuY2hlY2tIYXNQZW5kaW5nc0ZpbGVzQmVmb3JlVHJhbnNtaXQoKSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMudHJhbnNtaXQoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBzZW50U3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAoKSA9PiBzZW50U3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKClcbiAgICAgICAgICAgICk7XG5cbiAgICAgICAgdGhpcy5zZW5kKGZhbHNlKTtcbiAgICB9XG5cbiAgICBwcmV2aW91cygpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fbmF2aWdhdGlvbi5wcmV2aW91cygpO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBzZXRQYWdlVGl0bGUocGFnZVRpdGxlOiBzdHJpbmcpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fZm9laG5QYWdlU2VydmljZS5zZXRQYWdlVGl0bGUocGFnZVRpdGxlKTtcbiAgICAgICAgdGhpcy5fYnJlYWRjcnVtYkV2ZW50U2VydmljZS5zZXRDdXJyZW50QnJlYWRjcnVtYih7XG4gICAgICAgICAgICB1cmw6IG51bGwsXG4gICAgICAgICAgICByb3V0ZXJMaW5rOiBudWxsLFxuICAgICAgICAgICAgbGFiZWw6IHBhZ2VUaXRsZVxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgc2V0UGFnZVRpdGxlQXN5bmMocGFnZVRpdGxlOiBPYnNlcnZhYmxlPHN0cmluZz4pOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMucGFnZVRpdGxlU3Vic2NyaXB0aW9uKSB7XG4gICAgICAgICAgICB0aGlzLnBhZ2VUaXRsZVN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMucGFnZVRpdGxlU3Vic2NyaXB0aW9uID0gcGFnZVRpdGxlLnN1YnNjcmliZSh0aXRsZSA9PlxuICAgICAgICAgICAgdGhpcy5zZXRQYWdlVGl0bGUodGl0bGUpXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIG9uRm9ybVNlbnQoZ29Ub05leHRQYWdlOiBib29sZWFuKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLmZvZWhuRm9ybUNvbXBvbmVudCkge1xuICAgICAgICAgICAgLy8gU29tZSBwYWdlcyBkb24ndCBoYXZlIGEgZm9ybS5cbiAgICAgICAgICAgIHRoaXMuZm9laG5Gb3JtQ29tcG9uZW50LnJlc2V0KCk7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLl9uYXZpZ2F0aW9uLmN1cnJlbnQoKS50aGVuKCgpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IGlzVmFsaWQgPVxuICAgICAgICAgICAgICAgIC8vIFNvbWUgcGFnZXMgZG9uJ3QgaGF2ZSBhIGZvcm0uXG4gICAgICAgICAgICAgICAgdGhpcy5mb2VobkZvcm1Db21wb25lbnQgJiZcbiAgICAgICAgICAgICAgICB0aGlzLmZvZWhuRm9ybUNvbXBvbmVudC5pc1ZhbGlkKCkgJiZcbiAgICAgICAgICAgICAgICAhdGhpcy5fZ2VzZGVtU2VydmljZS5sYXN0UmVzcG9uc2UubWV0YS5jcml0aWNhbDtcblxuICAgICAgICAgICAgaWYgKGlzVmFsaWQpIHtcbiAgICAgICAgICAgICAgICB0aGlzLl92YWxpZGF0aW9uSGFuZGxlclNlcnZpY2Uuc2hvdWxkRGlzcGxheUVycm9ycyhmYWxzZSk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHRoaXMuX2dlc2RlbUV2ZW50U2VydmljZS5mb3JtU2VudFN1YmplY3QubmV4dChcbiAgICAgICAgICAgICAgICB0aGlzLl9nZXNkZW1TZXJ2aWNlLmxhc3RSZXNwb25zZVxuICAgICAgICAgICAgKTtcblxuICAgICAgICAgICAgaWYgKGlzVmFsaWQgJiYgZ29Ub05leHRQYWdlKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5fbmF2aWdhdGlvbi5uZXh0KCk7XG4gICAgICAgICAgICB9IGVsc2UgaWYgKCFpc1ZhbGlkICYmIHRoaXMuZm9laG5Gb3JtQ29tcG9uZW50KSB7XG4gICAgICAgICAgICAgICAgdGhpcy5mb2VobkZvcm1Db21wb25lbnQuZm9jdXNFcnJvclN1bW1hcnkoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSwgY29uc29sZS5lcnJvcik7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBjaGVja0hhc1BlbmRpbmdzRmlsZXNCZWZvcmVUcmFuc21pdCgpOiBib29sZWFuIHtcbiAgICAgICAgaWYgKHRoaXMuX3BlbmRpbmdVcGxvYWRTZXJ2aWNlLmhhc1BlbmRpbmdGaWxlcygpKSB7XG4gICAgICAgICAgICBjb25zdCBtdWx0aVVwbG9hZEF0dGFjaG1lbnRTdWJzY3JpcHRpb24gPSB0aGlzLl9wZW5kaW5nVXBsb2FkU2VydmljZS5hdHRhY2htZW50c1VwbG9hZGVkLnN1YnNjcmliZShcbiAgICAgICAgICAgICAgICAoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIG11bHRpVXBsb2FkQXR0YWNobWVudFN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLnRyYW5zbWl0KCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGdvdFRvVG9wKCk6IHZvaWQge1xuICAgICAgICB3aW5kb3cuc2Nyb2xsVG8oMCwgMCk7XG4gICAgfVxuXG4gICAgYWJzdHJhY3QgbmV3Rm9ybSgpOiBUO1xufVxuIl19
224
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWJzdHJhY3QtcGFnZS1jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9wcm9qZWN0cy9wcmVzdGF0aW9ucy1uZy9zcmMvYWJzdHJhY3QtcGFnZS1jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUVILFNBQVMsRUFHVCxTQUFTLEVBQ1osTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDdkUsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sNkNBQTZDLENBQUM7QUFDckYsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFDdkUsT0FBTyxFQUFjLEVBQUUsRUFBZ0IsTUFBTSxNQUFNLENBQUM7QUFDcEQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ25ELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNqRCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUN4RSxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQztBQUNuRixPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUNuRSxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSw2Q0FBNkMsQ0FBQztBQUNyRixPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUNuRSxPQUFPLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRSxZQUFZLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUMvRCxPQUFPLEVBQUUsWUFBWSxFQUFFLGlCQUFpQixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDL0UsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sMERBQTBELENBQUM7QUFFaEcsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0s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QUcsRUFBRTtnQkFDRCxpQ0FBaUMsQ0FBQyxXQUFXLEVBQUUsQ0FBQztnQkFDaEQsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO1lBQ3BCLENBQUMsQ0FDSixDQUFDO1lBQ0YsT0FBTyxJQUFJLENBQUM7U0FDZjtRQUNELE9BQU8sS0FBSyxDQUFDO0lBQ2pCLENBQUM7SUFFTyxRQUFRO1FBQ1osTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7SUFDMUIsQ0FBQzs7a0hBeFJpQixxQkFBcUI7c0dBQXJCLHFCQUFxQiw4RUFFNUIsa0JBQWtCOzJGQUZYLHFCQUFxQjtrQkFEMUMsU0FBUztxR0FJTixrQkFBa0I7c0JBRGpCLFNBQVM7dUJBQUMsa0JBQWtCLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBBZnRlclZpZXdJbml0LFxuICAgIERpcmVjdGl2ZSxcbiAgICBPbkRlc3Ryb3ksXG4gICAgT25Jbml0LFxuICAgIFZpZXdDaGlsZFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEdlc2RlbUhhbmRsZXJTZXJ2aWNlIH0gZnJvbSAnLi9nZXNkZW0vZ2VzZGVtLWhhbmRsZXIuc2VydmljZSc7XG5pbXBvcnQgeyBGb2Vobk5hdmlnYXRpb25TZXJ2aWNlIH0gZnJvbSAnLi9mb2Vobi1uYXZpZ2F0aW9uL2ZvZWhuLW5hdmlnYXRpb24uc2VydmljZSc7XG5pbXBvcnQgeyBGb2VobkZvcm1Db21wb25lbnQgfSBmcm9tICcuL2ZvZWhuLWZvcm0vZm9laG4tZm9ybS5jb21wb25lbnQnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgb2YsIFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgU2VydmljZUxvY2F0b3IgfSBmcm9tICcuL3NlcnZpY2UtbG9jYXRvcic7XG5pbXBvcnQgeyBBY3RpdmF0ZWRSb3V0ZSB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgeyBHcm93bEJyb2tlclNlcnZpY2UgfSBmcm9tICcuL2ZvZWhuLWdyb3dsL2dyb3dsLWJyb2tlci5zZXJ2aWNlJztcbmltcG9ydCB7IFZhbGlkYXRpb25IYW5kbGVyU2VydmljZSB9IGZyb20gJy4vdmFsaWRhdGlvbi92YWxpZGF0aW9uLWhhbmRsZXIuc2VydmljZSc7XG5pbXBvcnQgeyBHZXNkZW1FdmVudFNlcnZpY2UgfSBmcm9tICcuL2dlc2RlbS9nZXNkZW0tZXZlbnQuc2VydmljZSc7XG5pbXBvcnQgeyBCcmVhZGNydW1iRXZlbnRTZXJ2aWNlIH0gZnJvbSAnLi9mb2Vobi1icmVhZGNydW1iL2JyZWFkY3J1bWItZXZlbnQuc2VydmljZSc7XG5pbXBvcnQgeyBGb2VoblBhZ2VTZXJ2aWNlIH0gZnJvbSAnLi9mb2Vobi1wYWdlL2ZvZWhuLXBhZ2Uuc2VydmljZSc7XG5pbXBvcnQgeyBtZXJnZU1hcCwgc2hhcmUsIHRocm90dGxlVGltZSB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IEFjdGlvblN0YXR1dCwgR2VzZGVtU3RhdHV0VXRpbHMgfSBmcm9tICcuL2dlc2RlbS9nZXNkZW0tc3RhdHV0LXV0aWxzJztcbmltcG9ydCB7IFBlbmRpbmdVcGxvYWRTZXJ2aWNlIH0gZnJvbSAnLi9mb2Vobi11cGxvYWQvZm9laG4tbXVsdGktdXBsb2FkL3BlbmRpbmctdXBsb2FkLnNlcnZpY2UnO1xuaW1wb3J0IHsgSTE4bkZvcm0gfSBmcm9tICcuL2kxOG4tZm9ybSc7XG5pbXBvcnQgeyBTZGtEaWN0aW9uYXJ5U2VydmljZSB9IGZyb20gJy4vc2RrLWRpY3Rpb25hcnkvc2RrLWRpY3Rpb25hcnkuc2VydmljZSc7XG5cbi8qKlxuICogRW5zdXJlcyB0aGF0IGEgY2FsbCBpcyBvbmx5IHN1YnNjcmliZWQgYW5kIHNlbmQgb25lIGF0IHRoZSB0aW1lLlxuICpcbiAqIEBwYXJhbSBmbiBmdW5jdGlvbiB0byBiZSBjYWxsZWQgYXMgY29uY3VycmVudCBzYWZlXG4gKiBAcmV0dXJucyBPYnNlcnZhYmxlXG4gKi9cbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBwcmVmZXItYXJyb3cvcHJlZmVyLWFycm93LWZ1bmN0aW9uc1xuZnVuY3Rpb24gZ2V0Q29uY3VycmVudFNhZmVDYWxsPFQ+KGZuOiAoKSA9PiBPYnNlcnZhYmxlPFQ+KTogT2JzZXJ2YWJsZTxUPiB7XG4gICAgcmV0dXJuIG9mKHRydWUpLnBpcGUoXG4gICAgICAgIC8vIFRvIGd1YXJkIGZyb20gZG91YmxlLWNsaWNrXG4gICAgICAgIHRocm90dGxlVGltZSgyMDApLFxuICAgICAgICAvLyBmbGF0bWFwKGZuLCAxKSBlbnN1cmVzIHRoYXQgb25seSBvbmUgcXVlcnkgaXMgcmFuIGF0IHRoZSBzYW1lIHRpbWVcbiAgICAgICAgbWVyZ2VNYXAoZm4sIDEpLFxuICAgICAgICAvLyBBcyB0aGlzIG9ic2VydmFibGUgaXMgdXNlZCBhcyBhIFByb21pc2UgKHdpdGggc3Vic2NyaWJlKSwgdGhpcyBlbnN1cmVzIHRoYXRcbiAgICAgICAgLy8gdGhlIG9wZXJhdG9ycyBhYm92ZSBjYW4gYmUgc2hhcmVkIGJldHdlZW4gZWFjaCBzdWJzY3JpYmUuXG4gICAgICAgIHNoYXJlKClcbiAgICApO1xufVxuXG5ARGlyZWN0aXZlKClcbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBBYnN0cmFjdFBhZ2VDb21wb25lbnQ8VCBleHRlbmRzIEkxOG5Gb3JtPlxuICAgIGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3ksIEFmdGVyVmlld0luaXQge1xuICAgIEBWaWV3Q2hpbGQoRm9laG5Gb3JtQ29tcG9uZW50LCB7IHN0YXRpYzogdHJ1ZSB9KVxuICAgIGZvZWhuRm9ybUNvbXBvbmVudDogRm9laG5Gb3JtQ29tcG9uZW50O1xuXG4gICAgZm9ybTogVDtcbiAgICByZWZlcmVuY2U6IHN0cmluZztcblxuICAgIHByb3RlY3RlZCBwYWdlVGl0bGVTdWJzY3JpcHRpb246IFN1YnNjcmlwdGlvbjtcbiAgICBwcm90ZWN0ZWQgdXBkYXRlRm9ybURhdGFTdWJqZWN0U3Vic2NyaXB0aW9uOiBTdWJzY3JpcHRpb247XG4gICAgcHJvdGVjdGVkIGF0dGFjaG1lbnRzU2luZ2xlVXBsb2FkZWRTdWJzY3JpcHRpb246IFN1YnNjcmlwdGlvbjtcbiAgICBwcm90ZWN0ZWQgYXR0YWNobWVudHNNdWx0aVVwbG9hZGVkU3Vic2NyaXB0aW9uOiBTdWJzY3JpcHRpb247XG4gICAgcHJvdGVjdGVkIHNhdmVGb3JtUmVxdWVzdFN1YnNjcmlwdGlvbjogU3Vic2NyaXB0aW9uO1xuICAgIHByb3RlY3RlZCBfZ2VzZGVtU2VydmljZTogR2VzZGVtSGFuZGxlclNlcnZpY2U7XG4gICAgcHJvdGVjdGVkIF9nZXNkZW1FdmVudFNlcnZpY2U6IEdlc2RlbUV2ZW50U2VydmljZTtcbiAgICBwcm90ZWN0ZWQgX25hdmlnYXRpb246IEZvZWhuTmF2aWdhdGlvblNlcnZpY2U7XG4gICAgcHJvdGVjdGVkIF9hY3RpdmF0ZWRSb3V0ZTogQWN0aXZhdGVkUm91dGU7XG4gICAgcHJvdGVjdGVkIF9ncm93bFNlcnZpY2U6IEdyb3dsQnJva2VyU2VydmljZTtcbiAgICBwcm90ZWN0ZWQgX3ZhbGlkYXRpb25IYW5kbGVyU2VydmljZTogVmFsaWRhdGlvbkhhbmRsZXJTZXJ2aWNlO1xuICAgIHByb3RlY3RlZCBfYnJlYWRjcnVtYkV2ZW50U2VydmljZTogQnJlYWRjcnVtYkV2ZW50U2VydmljZTtcbiAgICBwcm90ZWN0ZWQgX2ZvZWhuUGFnZVNlcnZpY2U6IEZvZWhuUGFnZVNlcnZpY2U7XG4gICAgcHJvdGVjdGVkIF9kaWN0aW9uYXJ5U2VydmljZTogU2RrRGljdGlvbmFyeVNlcnZpY2U7XG5cbiAgICBwcml2YXRlIF9wZW5kaW5nVXBsb2FkU2VydmljZTogUGVuZGluZ1VwbG9hZFNlcnZpY2U7XG4gICAgcHJpdmF0ZSBfZm9ybUluaXRTdWJzY3JpcHRpb246IFN1YnNjcmlwdGlvbjtcbiAgICBwcml2YXRlIF9jdXJyZW50TGFuZ1N1YnNjcmlwdGlvbjogU3Vic2NyaXB0aW9uO1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55XG4gICAgcHJpdmF0ZSBzZW5kRm9yRm9ybUNvbmN1cnJlbnRTYWZlOiBPYnNlcnZhYmxlPGFueT47XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnlcbiAgICBwcml2YXRlIHRyYW5zbWl0Q29uY3VycmVudFNhZmU6IE9ic2VydmFibGU8YW55PjtcblxuICAgIGNvbnN0cnVjdG9yKHByb3RlY3RlZCBhY3RpdmF0ZWRSb3V0ZTogQWN0aXZhdGVkUm91dGUpIHtcbiAgICAgICAgdGhpcy5fZ2VzZGVtU2VydmljZSA9IFNlcnZpY2VMb2NhdG9yLmluamVjdG9yLmdldChHZXNkZW1IYW5kbGVyU2VydmljZSk7XG4gICAgICAgIHRoaXMuX2dlc2RlbUV2ZW50U2VydmljZSA9IFNlcnZpY2VMb2NhdG9yLmluamVjdG9yLmdldChcbiAgICAgICAgICAgIEdlc2RlbUV2ZW50U2VydmljZVxuICAgICAgICApO1xuICAgICAgICB0aGlzLl9uYXZpZ2F0aW9uID0gU2VydmljZUxvY2F0b3IuaW5qZWN0b3IuZ2V0KEZvZWhuTmF2aWdhdGlvblNlcnZpY2UpO1xuICAgICAgICB0aGlzLl9hY3RpdmF0ZWRSb3V0ZSA9IFNlcnZpY2VMb2NhdG9yLmluamVjdG9yLmdldChBY3RpdmF0ZWRSb3V0ZSk7XG4gICAgICAgIHRoaXMuX2dyb3dsU2VydmljZSA9IFNlcnZpY2VMb2NhdG9yLmluamVjdG9yLmdldChHcm93bEJyb2tlclNlcnZpY2UpO1xuICAgICAgICB0aGlzLl92YWxpZGF0aW9uSGFuZGxlclNlcnZpY2UgPSBTZXJ2aWNlTG9jYXRvci5pbmplY3Rvci5nZXQoXG4gICAgICAgICAgICBWYWxpZGF0aW9uSGFuZGxlclNlcnZpY2VcbiAgICAgICAgKTtcbiAgICAgICAgdGhpcy5fcGVuZGluZ1VwbG9hZFNlcnZpY2UgPSBTZXJ2aWNlTG9jYXRvci5pbmplY3Rvci5nZXQoXG4gICAgICAgICAgICBQZW5kaW5nVXBsb2FkU2VydmljZVxuICAgICAgICApO1xuICAgICAgICB0aGlzLl9icmVhZGNydW1iRXZlbnRTZXJ2aWNlID0gU2VydmljZUxvY2F0b3IuaW5qZWN0b3IuZ2V0KFxuICAgICAgICAgICAgQnJlYWRjcnVtYkV2ZW50U2VydmljZVxuICAgICAgICApO1xuICAgICAgICB0aGlzLl9mb2VoblBhZ2VTZXJ2aWNlID0gU2VydmljZUxvY2F0b3IuaW5qZWN0b3IuZ2V0KEZvZWhuUGFnZVNlcnZpY2UpO1xuXG4gICAgICAgIHRoaXMuX2RpY3Rpb25hcnlTZXJ2aWNlID0gU2VydmljZUxvY2F0b3IuaW5qZWN0b3IuZ2V0KFxuICAgICAgICAgICAgU2RrRGljdGlvbmFyeVNlcnZpY2VcbiAgICAgICAgKTtcblxuICAgICAgICB0aGlzLl9jdXJyZW50TGFuZ1N1YnNjcmlwdGlvbiA9IHRoaXMuX2RpY3Rpb25hcnlTZXJ2aWNlXG4gICAgICAgICAgICAuZ2V0Q3VycmVudExhbmd1YWdlQ29kZSgpXG4gICAgICAgICAgICAuc3Vic2NyaWJlKGxhbmd1YWdlQ29kZSA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKHRoaXMuZm9ybSkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmZvcm0ubGFuZ3VhZ2UgPSBsYW5ndWFnZUNvZGU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSk7XG5cbiAgICAgICAgY29uc3Qgcm91dGUgPSBGb2Vobk5hdmlnYXRpb25TZXJ2aWNlLmdldFJvb3RSb3V0ZVJlY3Vyc2l2ZShcbiAgICAgICAgICAgIGFjdGl2YXRlZFJvdXRlLnNuYXBzaG90XG4gICAgICAgICk7XG4gICAgICAgIHRoaXMuX25hdmlnYXRpb24uaW5pdFJvdXRlKHJvdXRlKTtcbiAgICAgICAgdGhpcy5fZm9ybUluaXRTdWJzY3JpcHRpb24gPSB0aGlzLl9nZXNkZW1FdmVudFNlcnZpY2VcbiAgICAgICAgICAgIC5mb3JtSW5pdGlhbGl6YXRpb25PYnNlcnZhYmxlKClcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMucmVmZXJlbmNlID1cbiAgICAgICAgICAgICAgICAgICAgdGhpcy5fZ2VzZGVtU2VydmljZS5sYXN0UmVzcG9uc2UgJiZcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5fZ2VzZGVtU2VydmljZS5sYXN0UmVzcG9uc2UubWV0YS5yZWZlcmVuY2U7XG4gICAgICAgICAgICAgICAgY29uc3Qgc3RhdHV0ID1cbiAgICAgICAgICAgICAgICAgICAgdGhpcy5fZ2VzZGVtU2VydmljZS5sYXN0UmVzcG9uc2UgJiZcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5fZ2VzZGVtU2VydmljZS5sYXN0UmVzcG9uc2UubWV0YS5zdGF0dXQ7XG4gICAgICAgICAgICAgICAgY29uc3Qgc2hvdWxkUHJldmVudE5hdmlnYXRpb25Ub0xhc3QgPVxuICAgICAgICAgICAgICAgICAgICBhY3RpdmF0ZWRSb3V0ZS5zbmFwc2hvdC5kYXRhXG4gICAgICAgICAgICAgICAgICAgICAgICAucHJldmVudE5hdmlnYXRpb25Ub0xhc3RPblRyYW5zZmVycmVkID09PSB0cnVlO1xuXG4gICAgICAgICAgICAgICAgY29uc3QgbGFuZ3VhZ2VDb2RlID1cbiAgICAgICAgICAgICAgICAgICAgdGhpcy5fZ2VzZGVtU2VydmljZS5sYXN0UmVzcG9uc2UgJiZcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5fZ2VzZGVtU2VydmljZS5sYXN0UmVzcG9uc2UuZm9ybSAmJlxuICAgICAgICAgICAgICAgICAgICB0aGlzLl9nZXNkZW1TZXJ2aWNlLmxhc3RSZXNwb25zZS5mb3JtLmxhbmd1YWdlO1xuXG4gICAgICAgICAgICAgICAgdGhpcy5fZGljdGlvbmFyeVNlcnZpY2UuY2hhbmdlTGFuZ3VhZ2UobGFuZ3VhZ2VDb2RlKTtcblxuICAgICAgICAgICAgICAgIGlmIChcbiAgICAgICAgICAgICAgICAgICAgIXNob3VsZFByZXZlbnROYXZpZ2F0aW9uVG9MYXN0ICYmXG4gICAgICAgICAgICAgICAgICAgIHRoaXMucmVmZXJlbmNlICYmXG4gICAgICAgICAgICAgICAgICAgIEdlc2RlbVN0YXR1dFV0aWxzLmlzRmluYWwoXG4gICAgICAgICAgICAgICAgICAgICAgICBBY3Rpb25TdGF0dXRbc3RhdHV0IGFzIEFjdGlvblN0YXR1dF1cbiAgICAgICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgICkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLl9uYXZpZ2F0aW9uLmxhc3QoKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KTtcblxuICAgICAgICAvLyBQcm90ZWN0cyB0aGUgc2F2ZSBtZXRob2Qgb24gdGhlIEdlc2RlbVNlcnZpY2UgZnJvbSBjb25jdXJyZW50IGFjY2Vzcy5cbiAgICAgICAgdGhpcy5zZW5kRm9yRm9ybUNvbmN1cnJlbnRTYWZlID0gZ2V0Q29uY3VycmVudFNhZmVDYWxsKCgpID0+XG4gICAgICAgICAgICB0aGlzLl9nZXNkZW1TZXJ2aWNlLnNhdmUodGhpcy5mb3JtKVxuICAgICAgICApO1xuXG4gICAgICAgIC8vIFByb3RlY3RzIHRoZSB0cmFuc21pdCBtZXRob2Qgb24gdGhlIEdlc2RlbVNlcnZpY2UgZnJvbSBjb25jdXJyZW50IGFjY2Vzcy5cbiAgICAgICAgdGhpcy50cmFuc21pdENvbmN1cnJlbnRTYWZlID0gZ2V0Q29uY3VycmVudFNhZmVDYWxsKCgpID0+XG4gICAgICAgICAgICB0aGlzLl9nZXNkZW1TZXJ2aWNlLnRyYW5zbWl0KClcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5nb3RUb1RvcCgpO1xuICAgICAgICB0aGlzLmZvcm0gPSB0aGlzLm5ld0Zvcm0oKTtcblxuICAgICAgICB0aGlzLl92YWxpZGF0aW9uSGFuZGxlclNlcnZpY2Uuc2hvdWxkRGlzcGxheUVycm9ycyhmYWxzZSk7XG5cbiAgICAgICAgdGhpcy51cGRhdGVGb3JtRGF0YVN1YmplY3RTdWJzY3JpcHRpb24gPSB0aGlzLl9nZXNkZW1TZXJ2aWNlLnVwZGF0ZUZvcm1EYXRhU3ViamVjdC5zdWJzY3JpYmUoXG4gICAgICAgICAgICBmb3JtID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLmZvcm0gPSBmb3JtO1xuICAgICAgICAgICAgICAgIHRoaXMuX2dlc2RlbUV2ZW50U2VydmljZS5mb3JtSW5pdGlhbGl6YXRpb25TdWJqZWN0Lm5leHQoZm9ybSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICk7XG5cbiAgICAgICAgdGhpcy5hdHRhY2htZW50c011bHRpVXBsb2FkZWRTdWJzY3JpcHRpb24gPSB0aGlzLl9wZW5kaW5nVXBsb2FkU2VydmljZS5hdHRhY2htZW50c1VwbG9hZGVkLnN1YnNjcmliZShcbiAgICAgICAgICAgIGZvcm0gPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMuZm9ybSA9IGZvcm07XG4gICAgICAgICAgICAgICAgLy8gUFJFU1RBS0lULTMwOTogc2V0IGJhY2sgc2hvdWxkRGlzcGxheUVycm9ycyB0byB0cnVlIG9uY2UgZmlsZXMgaGF2ZSBiZWVuIHVwbG9hZGVkXG4gICAgICAgICAgICAgICAgdGhpcy5fdmFsaWRhdGlvbkhhbmRsZXJTZXJ2aWNlLnNob3VsZERpc3BsYXlFcnJvcnModHJ1ZSk7XG4gICAgICAgICAgICAgICAgdGhpcy5vbkZvcm1TZW50KHRydWUpO1xuICAgICAgICAgICAgfVxuICAgICAgICApO1xuXG4gICAgICAgIHRoaXMuc2F2ZUZvcm1SZXF1ZXN0U3Vic2NyaXB0aW9uID0gdGhpcy5fZm9laG5QYWdlU2VydmljZVxuICAgICAgICAgICAgLnNhdmVGb3JtUmVxdWVzdCgpXG4gICAgICAgICAgICAuc3Vic2NyaWJlKCgpID0+IHRoaXMuc2VuZChmYWxzZSkpO1xuICAgIH1cblxuICAgIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcbiAgICAgICAgLy8gQHNlZSBodHRwczovL2dpdGh1Yi5jb20vYW5ndWxhci9hbmd1bGFyL2lzc3Vlcy8xNzU3MiNpc3N1ZWNvbW1lbnQtMzIzNDY1NzM3XG4gICAgICAgIFByb21pc2UucmVzb2x2ZShudWxsKS50aGVuKCgpID0+IHtcbiAgICAgICAgICAgIHRoaXMuX2dlc2RlbVNlcnZpY2UucmVxdWlyZSgpLnN1YnNjcmliZSgpO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuX2N1cnJlbnRMYW5nU3Vic2NyaXB0aW9uKSB7XG4gICAgICAgICAgICB0aGlzLl9jdXJyZW50TGFuZ1N1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHRoaXMucGFnZVRpdGxlU3Vic2NyaXB0aW9uKSB7XG4gICAgICAgICAgICB0aGlzLnBhZ2VUaXRsZVN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHRoaXMudXBkYXRlRm9ybURhdGFTdWJqZWN0U3Vic2NyaXB0aW9uKSB7XG4gICAgICAgICAgICB0aGlzLnVwZGF0ZUZvcm1EYXRhU3ViamVjdFN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHRoaXMuYXR0YWNobWVudHNTaW5nbGVVcGxvYWRlZFN1YnNjcmlwdGlvbikge1xuICAgICAgICAgICAgdGhpcy5hdHRhY2htZW50c1NpbmdsZVVwbG9hZGVkU3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAodGhpcy5hdHRhY2htZW50c011bHRpVXBsb2FkZWRTdWJzY3JpcHRpb24pIHtcbiAgICAgICAgICAgIHRoaXMuYXR0YWNobWVudHNNdWx0aVVwbG9hZGVkU3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAodGhpcy5fZm9ybUluaXRTdWJzY3JpcHRpb24pIHtcbiAgICAgICAgICAgIHRoaXMuX2Zvcm1Jbml0U3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAodGhpcy5zYXZlRm9ybVJlcXVlc3RTdWJzY3JpcHRpb24pIHtcbiAgICAgICAgICAgIHRoaXMuc2F2ZUZvcm1SZXF1ZXN0U3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBzZW5kKGdvVG9OZXh0UGFnZTogYm9vbGVhbiA9IHRydWUpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuX3BlbmRpbmdVcGxvYWRTZXJ2aWNlLmhhc1BlbmRpbmdGaWxlcygpKSB7XG4gICAgICAgICAgICBnb1RvTmV4dFBhZ2UgPSBmYWxzZTtcbiAgICAgICAgICAgIC8vIFBSRVNUQUtJVC0zMDk6IHNob3VsZERpc3BsYXlFcnJvcnMgd2lsbCBiZSBzZXQgYmFjayB0byB0cnVlIGluICdhdHRhY2htZW50c1VwbG9hZGVkJyBzdWJzY3JpcHRpb25cbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuX3ZhbGlkYXRpb25IYW5kbGVyU2VydmljZS5zaG91bGREaXNwbGF5RXJyb3JzKHRydWUpO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuc2VuZEZvckZvcm1Db25jdXJyZW50U2FmZS5zdWJzY3JpYmUoKCkgPT5cbiAgICAgICAgICAgIHRoaXMub25Gb3JtU2VudChnb1RvTmV4dFBhZ2UpXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgdHJhbnNtaXQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuX3ZhbGlkYXRpb25IYW5kbGVyU2VydmljZS5zaG91bGREaXNwbGF5RXJyb3JzKHRydWUpO1xuICAgICAgICB0aGlzLnRyYW5zbWl0Q29uY3VycmVudFNhZmUuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICAgIGlmICghdGhpcy5fZ2VzZGVtU2VydmljZS5sYXN0UmVzcG9uc2UuZXJyb3JzLmxlbmd0aCkge1xuICAgICAgICAgICAgICAgIHRoaXMuX2dlc2RlbUV2ZW50U2VydmljZS5mb3JtVHJhbnNtaXR0ZWRTdWJqZWN0Lm5leHQoXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuX2dlc2RlbVNlcnZpY2UubGFzdFJlc3BvbnNlXG4gICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICB0aGlzLl9uYXZpZ2F0aW9uLm5leHQoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSwgY29uc29sZS5lcnJvcik7XG4gICAgfVxuXG4gICAgc2VuZEFuZFRyYW5zbWl0KCk6IHZvaWQge1xuICAgICAgICBjb25zdCBzZW50U3Vic2NyaXB0aW9uOiBTdWJzY3JpcHRpb24gPSB0aGlzLl9nZXNkZW1FdmVudFNlcnZpY2VcbiAgICAgICAgICAgIC5mb3JtU2VudE9ic2VydmFibGUoKVxuICAgICAgICAgICAgLnN1YnNjcmliZShcbiAgICAgICAgICAgICAgICByZXNwb25zZSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGlmICghcmVzcG9uc2UuZXJyb3JzLmxlbmd0aCAmJiAhcmVzcG9uc2UubWV0YS5jcml0aWNhbCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCF0aGlzLmNoZWNrSGFzUGVuZGluZ3NGaWxlc0JlZm9yZVRyYW5zbWl0KCkpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnRyYW5zbWl0KCk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgc2VudFN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgKCkgPT4gc2VudFN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpXG4gICAgICAgICAgICApO1xuXG4gICAgICAgIHRoaXMuc2VuZChmYWxzZSk7XG4gICAgfVxuXG4gICAgcHJldmlvdXMoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuX25hdmlnYXRpb24ucHJldmlvdXMoKTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgc2V0UGFnZVRpdGxlKHBhZ2VUaXRsZTogc3RyaW5nKTogdm9pZCB7XG4gICAgICAgIHRoaXMuX2ZvZWhuUGFnZVNlcnZpY2Uuc2V0UGFnZVRpdGxlKHBhZ2VUaXRsZSk7XG4gICAgICAgIHRoaXMuX2JyZWFkY3J1bWJFdmVudFNlcnZpY2Uuc2V0Q3VycmVudEJyZWFkY3J1bWIoe1xuICAgICAgICAgICAgdXJsOiBudWxsLFxuICAgICAgICAgICAgcm91dGVyTGluazogbnVsbCxcbiAgICAgICAgICAgIGxhYmVsOiBwYWdlVGl0bGVcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIHNldFBhZ2VUaXRsZUFzeW5jKHBhZ2VUaXRsZTogT2JzZXJ2YWJsZTxzdHJpbmc+KTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLnBhZ2VUaXRsZVN1YnNjcmlwdGlvbikge1xuICAgICAgICAgICAgdGhpcy5wYWdlVGl0bGVTdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLnBhZ2VUaXRsZVN1YnNjcmlwdGlvbiA9IHBhZ2VUaXRsZS5zdWJzY3JpYmUodGl0bGUgPT5cbiAgICAgICAgICAgIHRoaXMuc2V0UGFnZVRpdGxlKHRpdGxlKVxuICAgICAgICApO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBvbkZvcm1TZW50KGdvVG9OZXh0UGFnZTogYm9vbGVhbik6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5mb2VobkZvcm1Db21wb25lbnQpIHtcbiAgICAgICAgICAgIC8vIFNvbWUgcGFnZXMgZG9uJ3QgaGF2ZSBhIGZvcm0uXG4gICAgICAgICAgICB0aGlzLmZvZWhuRm9ybUNvbXBvbmVudC5yZXNldCgpO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5fbmF2aWdhdGlvbi5jdXJyZW50KCkudGhlbigoKSA9PiB7XG4gICAgICAgICAgICBjb25zdCBpc1ZhbGlkID1cbiAgICAgICAgICAgICAgICAvLyBTb21lIHBhZ2VzIGRvbid0IGhhdmUgYSBmb3JtLlxuICAgICAgICAgICAgICAgIHRoaXMuZm9laG5Gb3JtQ29tcG9uZW50ICYmXG4gICAgICAgICAgICAgICAgdGhpcy5mb2VobkZvcm1Db21wb25lbnQuaXNWYWxpZCgpICYmXG4gICAgICAgICAgICAgICAgIXRoaXMuX2dlc2RlbVNlcnZpY2UubGFzdFJlc3BvbnNlLm1ldGEuY3JpdGljYWw7XG5cbiAgICAgICAgICAgIGlmIChpc1ZhbGlkKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5fdmFsaWRhdGlvbkhhbmRsZXJTZXJ2aWNlLnNob3VsZERpc3BsYXlFcnJvcnMoZmFsc2UpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICB0aGlzLl9nZXNkZW1FdmVudFNlcnZpY2UuZm9ybVNlbnRTdWJqZWN0Lm5leHQoXG4gICAgICAgICAgICAgICAgdGhpcy5fZ2VzZGVtU2VydmljZS5sYXN0UmVzcG9uc2VcbiAgICAgICAgICAgICk7XG5cbiAgICAgICAgICAgIGlmIChpc1ZhbGlkICYmIGdvVG9OZXh0UGFnZSkge1xuICAgICAgICAgICAgICAgIHRoaXMuX25hdmlnYXRpb24ubmV4dCgpO1xuICAgICAgICAgICAgfSBlbHNlIGlmICghaXNWYWxpZCAmJiB0aGlzLmZvZWhuRm9ybUNvbXBvbmVudCkge1xuICAgICAgICAgICAgICAgIHRoaXMuZm9laG5Gb3JtQ29tcG9uZW50LmZvY3VzRXJyb3JTdW1tYXJ5KCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0sIGNvbnNvbGUuZXJyb3IpO1xuICAgIH1cblxuICAgIHByaXZhdGUgY2hlY2tIYXNQZW5kaW5nc0ZpbGVzQmVmb3JlVHJhbnNtaXQoKTogYm9vbGVhbiB7XG4gICAgICAgIGlmICh0aGlzLl9wZW5kaW5nVXBsb2FkU2VydmljZS5oYXNQZW5kaW5nRmlsZXMoKSkge1xuICAgICAgICAgICAgY29uc3QgbXVsdGlVcGxvYWRBdHRhY2htZW50U3Vic2NyaXB0aW9uID0gdGhpcy5fcGVuZGluZ1VwbG9hZFNlcnZpY2UuYXR0YWNobWVudHNVcGxvYWRlZC5zdWJzY3JpYmUoXG4gICAgICAgICAgICAgICAgKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICBtdWx0aVVwbG9hZEF0dGFjaG1lbnRTdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy50cmFuc21pdCgpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICk7XG4gICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnb3RUb1RvcCgpOiB2b2lkIHtcbiAgICAgICAgd2luZG93LnNjcm9sbFRvKDAsIDApO1xuICAgIH1cblxuICAgIGFic3RyYWN0IG5ld0Zvcm0oKTogVDtcbn1cbiJdfQ==
@@ -1,3 +1,3 @@
1
1
  export class FoehnConfirmModalContent {
2
2
  }
3
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9laG4tY29uZmlybS1tb2RhbC1jb250ZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvcHJlc3RhdGlvbnMtbmcvc3JjL2ZvZWhuLWNvbmZpcm0tbW9kYWwvZm9laG4tY29uZmlybS1tb2RhbC1jb250ZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sT0FBTyx3QkFBd0I7Q0FLcEMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgY2xhc3MgRm9laG5Db25maXJtTW9kYWxDb250ZW50IHtcbiAgICB0aXRsZT86IHN0cmluZztcbiAgICBodG1sQ29udGVudDogc3RyaW5nO1xuICAgIG9rQnV0dG9uTGFiZWw/OiBzdHJpbmc7XG4gICAgY2FuY2VsQnV0dG9uTGFiZWw/OiBzdHJpbmc7XG59XG4iXX0=
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9laG4tY29uZmlybS1tb2RhbC1jb250ZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvcHJlc3RhdGlvbnMtbmcvc3JjL2ZvZWhuLWNvbmZpcm0tbW9kYWwvZm9laG4tY29uZmlybS1tb2RhbC1jb250ZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sT0FBTyx3QkFBd0I7Q0FNcEMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgY2xhc3MgRm9laG5Db25maXJtTW9kYWxDb250ZW50IHtcbiAgICB0aXRsZT86IHN0cmluZztcbiAgICBodG1sQ29udGVudDogc3RyaW5nO1xuICAgIG9rQnV0dG9uTGFiZWw/OiBzdHJpbmc7XG4gICAgY2FuY2VsQnV0dG9uTGFiZWw/OiBzdHJpbmc7XG4gICAgY2xvc2VhYmxlPzogYm9vbGVhbjtcbn1cbiJdfQ==
@@ -31,7 +31,7 @@ export class FoehnConfirmModalComponent {
31
31
  }
32
32
  }
33
33
  FoehnConfirmModalComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.4", ngImport: i0, type: FoehnConfirmModalComponent, deps: [{ token: i1.FoehnConfirmModalService }], target: i0.ɵɵFactoryTarget.Component });
34
- FoehnConfirmModalComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.4", type: FoehnConfirmModalComponent, selector: "foehn-confirm-modal", ngImport: i0, template: "<foehn-modal\n [modalHeaderText]=\"modalContent.title || 'Confirmation'\"\n modalSize=\"modal-md\"\n [isModalVisible]=\"isVisible\"\n (isModalVisibleChange)=\"updateVisibilityStatus($event)\"\n *ngIf=\"content | async as modalContent\"\n>\n <p [innerHTML]=\"modalContent.htmlContent\"></p>\n\n <div modal-footer>\n <div class=\"d-flex justify-content-end mr-2 mb-2 mt-2\">\n <button\n id=\"confirmButton\"\n class=\"btn btn-secondary\"\n (click)=\"cancel()\"\n >\n {{ modalContent.cancelButtonLabel || 'Annuler' }}\n </button>\n <button\n id=\"cancelButton\"\n class=\"btn btn-primary ml-3\"\n (click)=\"ok()\"\n >\n {{ modalContent.okButtonLabel || 'Confirmer' }}\n </button>\n </div>\n </div>\n</foehn-modal>\n", components: [{ type: i2.FoehnModalComponent, selector: "foehn-modal", inputs: ["id", "name", "modalSize", "modalBodyText", "modalHeaderText", "modalFooterText", "closeable", "modalTriggerHtmlElement", "isModalVisible"], outputs: ["isModalVisibleChange"] }], directives: [{ type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], pipes: { "async": i3.AsyncPipe } });
34
+ FoehnConfirmModalComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.4", type: FoehnConfirmModalComponent, selector: "foehn-confirm-modal", ngImport: i0, template: "<foehn-modal\n [modalHeaderText]=\"modalContent.title || 'Confirmation'\"\n modalSize=\"modal-md\"\n [isModalVisible]=\"isVisible\"\n (isModalVisibleChange)=\"updateVisibilityStatus($event)\"\n [closeable]=\"\n modalContent.closeable !== null && modalContent.closeable !== undefined\n ? modalContent.closeable\n : true\n \"\n *ngIf=\"content | async as modalContent\"\n>\n <p [innerHTML]=\"modalContent.htmlContent\"></p>\n\n <div modal-footer>\n <div class=\"d-flex justify-content-end mr-2 mb-2 mt-2\">\n <button\n id=\"confirmButton\"\n class=\"btn btn-secondary\"\n (click)=\"cancel()\"\n >\n {{ modalContent.cancelButtonLabel || 'Annuler' }}\n </button>\n <button\n id=\"cancelButton\"\n class=\"btn btn-primary ml-3\"\n (click)=\"ok()\"\n >\n {{ modalContent.okButtonLabel || 'Confirmer' }}\n </button>\n </div>\n </div>\n</foehn-modal>\n", components: [{ type: i2.FoehnModalComponent, selector: "foehn-modal", inputs: ["id", "name", "modalSize", "modalBodyText", "modalHeaderText", "modalFooterText", "closeable", "modalTriggerHtmlElement", "isModalVisible"], outputs: ["isModalVisibleChange"] }], directives: [{ type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], pipes: { "async": i3.AsyncPipe } });
35
35
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.4", ngImport: i0, type: FoehnConfirmModalComponent, decorators: [{
36
36
  type: Component,
37
37
  args: [{
@@ -39,4 +39,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.4", ngImpor
39
39
  templateUrl: './foehn-confirm-modal.component.html'
40
40
  }]
41
41
  }], ctorParameters: function () { return [{ type: i1.FoehnConfirmModalService }]; } });
42
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9laG4tY29uZmlybS1tb2RhbC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9wcmVzdGF0aW9ucy1uZy9zcmMvZm9laG4tY29uZmlybS1tb2RhbC9mb2Vobi1jb25maXJtLW1vZGFsLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uL3Byb2plY3RzL3ByZXN0YXRpb25zLW5nL3NyYy9mb2Vobi1jb25maXJtLW1vZGFsL2ZvZWhuLWNvbmZpcm0tbW9kYWwuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBVSxNQUFNLGVBQWUsQ0FBQzs7Ozs7QUFVbEQsTUFBTSxPQUFPLDBCQUEwQjtJQUduQyxZQUFvQixtQkFBNkM7UUFBN0Msd0JBQW1CLEdBQW5CLG1CQUFtQixDQUEwQjtRQUZqRSxjQUFTLEdBQUcsS0FBSyxDQUFDO1FBR2QsOEVBQThFO1FBQzlFLElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDckMsSUFBSSxDQUFDLEVBQUUsR0FBRyxJQUFJLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNqQyxDQUFDO0lBRUQsUUFBUTtRQUNKLElBQUksQ0FBQyxtQkFBbUI7YUFDbkIsWUFBWSxFQUFFO2FBQ2QsU0FBUyxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxHQUFHLFNBQVMsQ0FBQyxDQUFDLENBQUM7SUFDOUQsQ0FBQztJQUVELElBQUksT0FBTztRQUNQLE9BQU8sSUFBSSxDQUFDLG1CQUFtQixDQUFDLFVBQVUsRUFBRSxDQUFDO0lBQ2pELENBQUM7SUFFRCxNQUFNO1FBQ0YsSUFBSSxDQUFDLG1CQUFtQixDQUFDLEtBQUssRUFBRSxDQUFDO0lBQ3JDLENBQUM7SUFFRCxFQUFFO1FBQ0UsSUFBSSxDQUFDLG1CQUFtQixDQUFDLEVBQUUsRUFBRSxDQUFDO0lBQ2xDLENBQUM7SUFFRCxzQkFBc0IsQ0FBQyxNQUFlO1FBQ2xDLHNFQUFzRTtRQUN0RSxJQUFJLENBQUMsU0FBUyxHQUFHLE1BQU0sQ0FBQztJQUM1QixDQUFDOzt1SEE5QlEsMEJBQTBCOzJHQUExQiwwQkFBMEIsMkRDVnZDLDA2QkE0QkE7MkZEbEJhLDBCQUEwQjtrQkFKdEMsU0FBUzttQkFBQztvQkFDUCxRQUFRLEVBQUUscUJBQXFCO29CQUMvQixXQUFXLEVBQUUsc0NBQXNDO2lCQUN0RCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IEZvZWhuQ29uZmlybU1vZGFsU2VydmljZSB9IGZyb20gJy4vZm9laG4tY29uZmlybS1tb2RhbC5zZXJ2aWNlJztcbmltcG9ydCB7IEZvZWhuQ29uZmlybU1vZGFsQ29udGVudCB9IGZyb20gJy4vZm9laG4tY29uZmlybS1tb2RhbC1jb250ZW50JztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdmb2Vobi1jb25maXJtLW1vZGFsJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vZm9laG4tY29uZmlybS1tb2RhbC5jb21wb25lbnQuaHRtbCdcbn0pXG5leHBvcnQgY2xhc3MgRm9laG5Db25maXJtTW9kYWxDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICAgIGlzVmlzaWJsZSA9IGZhbHNlO1xuXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSBjb25maXJtTW9kYWxTZXJ2aWNlOiBGb2VobkNvbmZpcm1Nb2RhbFNlcnZpY2UpIHtcbiAgICAgICAgLy8gVGhpcyBuZWVkIHRvIGJlIGRvbmUgYXMgd2UncmUgcGFzc2luZyB0aGVzZSBmdW5jdGlvbnMgdG8gYW5vdGhlciBjb21wb25lbnQuXG4gICAgICAgIHRoaXMuY2FuY2VsID0gdGhpcy5jYW5jZWwuYmluZCh0aGlzKTtcbiAgICAgICAgdGhpcy5vayA9IHRoaXMub2suYmluZCh0aGlzKTtcbiAgICB9XG5cbiAgICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5jb25maXJtTW9kYWxTZXJ2aWNlXG4gICAgICAgICAgICAuZ2V0SXNWaXNpYmxlKClcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoaXNWaXNpYmxlID0+ICh0aGlzLmlzVmlzaWJsZSA9IGlzVmlzaWJsZSkpO1xuICAgIH1cblxuICAgIGdldCBjb250ZW50KCk6IE9ic2VydmFibGU8Rm9laG5Db25maXJtTW9kYWxDb250ZW50PiB7XG4gICAgICAgIHJldHVybiB0aGlzLmNvbmZpcm1Nb2RhbFNlcnZpY2UuZ2V0Q29udGVudCgpO1xuICAgIH1cblxuICAgIGNhbmNlbCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5jb25maXJtTW9kYWxTZXJ2aWNlLmNsb3NlKCk7XG4gICAgfVxuXG4gICAgb2soKTogdm9pZCB7XG4gICAgICAgIHRoaXMuY29uZmlybU1vZGFsU2VydmljZS5vaygpO1xuICAgIH1cblxuICAgIHVwZGF0ZVZpc2liaWxpdHlTdGF0dXMoc3RhdHVzOiBib29sZWFuKTogdm9pZCB7XG4gICAgICAgIC8vIEluIGNhc2UgdGhlIG1vZGFsIGlzIGNsb3NlZCBieSBhbm90aGVyIG1lYW4gc3VjaCBhcyB0aGUgRXNjYXBlIGtleS5cbiAgICAgICAgdGhpcy5pc1Zpc2libGUgPSBzdGF0dXM7XG4gICAgfVxufVxuIiwiPGZvZWhuLW1vZGFsXG4gICAgW21vZGFsSGVhZGVyVGV4dF09XCJtb2RhbENvbnRlbnQudGl0bGUgfHwgJ0NvbmZpcm1hdGlvbidcIlxuICAgIG1vZGFsU2l6ZT1cIm1vZGFsLW1kXCJcbiAgICBbaXNNb2RhbFZpc2libGVdPVwiaXNWaXNpYmxlXCJcbiAgICAoaXNNb2RhbFZpc2libGVDaGFuZ2UpPVwidXBkYXRlVmlzaWJpbGl0eVN0YXR1cygkZXZlbnQpXCJcbiAgICAqbmdJZj1cImNvbnRlbnQgfCBhc3luYyBhcyBtb2RhbENvbnRlbnRcIlxuPlxuICAgIDxwIFtpbm5lckhUTUxdPVwibW9kYWxDb250ZW50Lmh0bWxDb250ZW50XCI+PC9wPlxuXG4gICAgPGRpdiBtb2RhbC1mb290ZXI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXgganVzdGlmeS1jb250ZW50LWVuZCBtci0yIG1iLTIgbXQtMlwiPlxuICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICAgIGlkPVwiY29uZmlybUJ1dHRvblwiXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJidG4gYnRuLXNlY29uZGFyeVwiXG4gICAgICAgICAgICAgICAgKGNsaWNrKT1cImNhbmNlbCgpXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICB7eyBtb2RhbENvbnRlbnQuY2FuY2VsQnV0dG9uTGFiZWwgfHwgJ0FubnVsZXInIH19XG4gICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgICBpZD1cImNhbmNlbEJ1dHRvblwiXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJidG4gYnRuLXByaW1hcnkgbWwtM1wiXG4gICAgICAgICAgICAgICAgKGNsaWNrKT1cIm9rKClcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIHt7IG1vZGFsQ29udGVudC5va0J1dHRvbkxhYmVsIHx8ICdDb25maXJtZXInIH19XG4gICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG48L2ZvZWhuLW1vZGFsPlxuIl19
42
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9laG4tY29uZmlybS1tb2RhbC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9wcmVzdGF0aW9ucy1uZy9zcmMvZm9laG4tY29uZmlybS1tb2RhbC9mb2Vobi1jb25maXJtLW1vZGFsLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uL3Byb2plY3RzL3ByZXN0YXRpb25zLW5nL3NyYy9mb2Vobi1jb25maXJtLW1vZGFsL2ZvZWhuLWNvbmZpcm0tbW9kYWwuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBVSxNQUFNLGVBQWUsQ0FBQzs7Ozs7QUFVbEQsTUFBTSxPQUFPLDBCQUEwQjtJQUduQyxZQUFvQixtQkFBNkM7UUFBN0Msd0JBQW1CLEdBQW5CLG1CQUFtQixDQUEwQjtRQUZqRSxjQUFTLEdBQUcsS0FBSyxDQUFDO1FBR2QsOEVBQThFO1FBQzlFLElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDckMsSUFBSSxDQUFDLEVBQUUsR0FBRyxJQUFJLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNqQyxDQUFDO0lBRUQsUUFBUTtRQUNKLElBQUksQ0FBQyxtQkFBbUI7YUFDbkIsWUFBWSxFQUFFO2FBQ2QsU0FBUyxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxHQUFHLFNBQVMsQ0FBQyxDQUFDLENBQUM7SUFDOUQsQ0FBQztJQUVELElBQUksT0FBTztRQUNQLE9BQU8sSUFBSSxDQUFDLG1CQUFtQixDQUFDLFVBQVUsRUFBRSxDQUFDO0lBQ2pELENBQUM7SUFFRCxNQUFNO1FBQ0YsSUFBSSxDQUFDLG1CQUFtQixDQUFDLEtBQUssRUFBRSxDQUFDO0lBQ3JDLENBQUM7SUFFRCxFQUFFO1FBQ0UsSUFBSSxDQUFDLG1CQUFtQixDQUFDLEVBQUUsRUFBRSxDQUFDO0lBQ2xDLENBQUM7SUFFRCxzQkFBc0IsQ0FBQyxNQUFlO1FBQ2xDLHNFQUFzRTtRQUN0RSxJQUFJLENBQUMsU0FBUyxHQUFHLE1BQU0sQ0FBQztJQUM1QixDQUFDOzt1SEE5QlEsMEJBQTBCOzJHQUExQiwwQkFBMEIsMkRDVnZDLGlsQ0FpQ0E7MkZEdkJhLDBCQUEwQjtrQkFKdEMsU0FBUzttQkFBQztvQkFDUCxRQUFRLEVBQUUscUJBQXFCO29CQUMvQixXQUFXLEVBQUUsc0NBQXNDO2lCQUN0RCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IEZvZWhuQ29uZmlybU1vZGFsU2VydmljZSB9IGZyb20gJy4vZm9laG4tY29uZmlybS1tb2RhbC5zZXJ2aWNlJztcbmltcG9ydCB7IEZvZWhuQ29uZmlybU1vZGFsQ29udGVudCB9IGZyb20gJy4vZm9laG4tY29uZmlybS1tb2RhbC1jb250ZW50JztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdmb2Vobi1jb25maXJtLW1vZGFsJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vZm9laG4tY29uZmlybS1tb2RhbC5jb21wb25lbnQuaHRtbCdcbn0pXG5leHBvcnQgY2xhc3MgRm9laG5Db25maXJtTW9kYWxDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICAgIGlzVmlzaWJsZSA9IGZhbHNlO1xuXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSBjb25maXJtTW9kYWxTZXJ2aWNlOiBGb2VobkNvbmZpcm1Nb2RhbFNlcnZpY2UpIHtcbiAgICAgICAgLy8gVGhpcyBuZWVkIHRvIGJlIGRvbmUgYXMgd2UncmUgcGFzc2luZyB0aGVzZSBmdW5jdGlvbnMgdG8gYW5vdGhlciBjb21wb25lbnQuXG4gICAgICAgIHRoaXMuY2FuY2VsID0gdGhpcy5jYW5jZWwuYmluZCh0aGlzKTtcbiAgICAgICAgdGhpcy5vayA9IHRoaXMub2suYmluZCh0aGlzKTtcbiAgICB9XG5cbiAgICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5jb25maXJtTW9kYWxTZXJ2aWNlXG4gICAgICAgICAgICAuZ2V0SXNWaXNpYmxlKClcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoaXNWaXNpYmxlID0+ICh0aGlzLmlzVmlzaWJsZSA9IGlzVmlzaWJsZSkpO1xuICAgIH1cblxuICAgIGdldCBjb250ZW50KCk6IE9ic2VydmFibGU8Rm9laG5Db25maXJtTW9kYWxDb250ZW50PiB7XG4gICAgICAgIHJldHVybiB0aGlzLmNvbmZpcm1Nb2RhbFNlcnZpY2UuZ2V0Q29udGVudCgpO1xuICAgIH1cblxuICAgIGNhbmNlbCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5jb25maXJtTW9kYWxTZXJ2aWNlLmNsb3NlKCk7XG4gICAgfVxuXG4gICAgb2soKTogdm9pZCB7XG4gICAgICAgIHRoaXMuY29uZmlybU1vZGFsU2VydmljZS5vaygpO1xuICAgIH1cblxuICAgIHVwZGF0ZVZpc2liaWxpdHlTdGF0dXMoc3RhdHVzOiBib29sZWFuKTogdm9pZCB7XG4gICAgICAgIC8vIEluIGNhc2UgdGhlIG1vZGFsIGlzIGNsb3NlZCBieSBhbm90aGVyIG1lYW4gc3VjaCBhcyB0aGUgRXNjYXBlIGtleS5cbiAgICAgICAgdGhpcy5pc1Zpc2libGUgPSBzdGF0dXM7XG4gICAgfVxufVxuIiwiPGZvZWhuLW1vZGFsXG4gICAgW21vZGFsSGVhZGVyVGV4dF09XCJtb2RhbENvbnRlbnQudGl0bGUgfHwgJ0NvbmZpcm1hdGlvbidcIlxuICAgIG1vZGFsU2l6ZT1cIm1vZGFsLW1kXCJcbiAgICBbaXNNb2RhbFZpc2libGVdPVwiaXNWaXNpYmxlXCJcbiAgICAoaXNNb2RhbFZpc2libGVDaGFuZ2UpPVwidXBkYXRlVmlzaWJpbGl0eVN0YXR1cygkZXZlbnQpXCJcbiAgICBbY2xvc2VhYmxlXT1cIlxuICAgICAgICBtb2RhbENvbnRlbnQuY2xvc2VhYmxlICE9PSBudWxsICYmIG1vZGFsQ29udGVudC5jbG9zZWFibGUgIT09IHVuZGVmaW5lZFxuICAgICAgICAgICAgPyBtb2RhbENvbnRlbnQuY2xvc2VhYmxlXG4gICAgICAgICAgICA6IHRydWVcbiAgICBcIlxuICAgICpuZ0lmPVwiY29udGVudCB8IGFzeW5jIGFzIG1vZGFsQ29udGVudFwiXG4+XG4gICAgPHAgW2lubmVySFRNTF09XCJtb2RhbENvbnRlbnQuaHRtbENvbnRlbnRcIj48L3A+XG5cbiAgICA8ZGl2IG1vZGFsLWZvb3Rlcj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtZW5kIG1yLTIgbWItMiBtdC0yXCI+XG4gICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgICAgaWQ9XCJjb25maXJtQnV0dG9uXCJcbiAgICAgICAgICAgICAgICBjbGFzcz1cImJ0biBidG4tc2Vjb25kYXJ5XCJcbiAgICAgICAgICAgICAgICAoY2xpY2spPVwiY2FuY2VsKClcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIHt7IG1vZGFsQ29udGVudC5jYW5jZWxCdXR0b25MYWJlbCB8fCAnQW5udWxlcicgfX1cbiAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICAgIGlkPVwiY2FuY2VsQnV0dG9uXCJcbiAgICAgICAgICAgICAgICBjbGFzcz1cImJ0biBidG4tcHJpbWFyeSBtbC0zXCJcbiAgICAgICAgICAgICAgICAoY2xpY2spPVwib2soKVwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAge3sgbW9kYWxDb250ZW50Lm9rQnV0dG9uTGFiZWwgfHwgJ0NvbmZpcm1lcicgfX1cbiAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbjwvZm9laG4tbW9kYWw+XG4iXX0=
@@ -4,9 +4,7 @@ import * as i0 from "@angular/core";
4
4
  import * as i1 from "../foehn-icons/foehn-icon-chevron-left.component";
5
5
  import * as i2 from "../foehn-icons/foehn-icon-chevron-right.component";
6
6
  import * as i3 from "@angular/common";
7
- const hasInputChanged = (change) => !(!change ||
8
- !change.currentValue ||
9
- ObjectHelper.isEqual(change.previousValue, change.currentValue));
7
+ const hasInputChanged = (change) => change && !ObjectHelper.isEqual(change.previousValue, change.currentValue);
10
8
  export class FoehnListComponent {
11
9
  constructor() {
12
10
  this.itemsPerPage = 10;
@@ -133,4 +131,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.4", ngImpor
133
131
  }], list: [{
134
132
  type: Input
135
133
  }] } });
136
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9laG4tbGlzdC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9wcmVzdGF0aW9ucy1uZy9zcmMvZm9laG4tbGlzdC9mb2Vobi1saXN0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uL3Byb2plY3RzL3ByZXN0YXRpb25zLW5nL3NyYy9mb2Vobi1saXN0L2ZvZWhuLWxpc3QuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNILFNBQVMsRUFDVCxZQUFZLEVBQ1osWUFBWSxFQUNaLEtBQUssRUFFTCxNQUFNLEVBR04sV0FBVyxFQUNkLE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQzs7Ozs7QUFFeEQsTUFBTSxlQUFlLEdBQUcsQ0FBQyxNQUFvQixFQUFXLEVBQUUsQ0FDdEQsQ0FBQyxDQUNHLENBQUMsTUFBTTtJQUNQLENBQUMsTUFBTSxDQUFDLFlBQVk7SUFDcEIsWUFBWSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsYUFBYSxFQUFFLE1BQU0sQ0FBQyxZQUFZLENBQUMsQ0FDbEUsQ0FBQztBQU9OLE1BQU0sT0FBTyxrQkFBa0I7SUFML0I7UUFXSSxpQkFBWSxHQUFHLEVBQUUsQ0FBQztRQUdsQixPQUFFLEdBQUcsWUFBWSxDQUFDO1FBR2xCLGtCQUFhLEdBQUcsV0FBVyxDQUFDO1FBRzVCLGNBQVMsR0FBRyxTQUFTLENBQUM7UUFNdEIsZUFBVSxHQUFHLElBQUksWUFBWSxFQUFtQixDQUFDO1FBRWpELGdCQUFXLEdBQUcsQ0FBQyxDQUFDO1FBRWhCLDhEQUE4RDtRQUM5RCxpQkFBWSxHQUFVLEVBQUUsQ0FBQztRQU16QixtQ0FBbUM7UUFDbkMsa0pBQWtKO1FBQ2xKLGNBQVMsR0FBRyxDQUFDLEtBQWEsRUFBRSxJQUFTLEVBQVUsRUFBRSxDQUFDLEtBQUssQ0FBQztLQW9HM0Q7SUFsR0csSUFFSSxJQUFJLENBQUMsSUFBVztRQUNoQixJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQztJQUN0QixDQUFDO0lBRUQsV0FBVyxDQUFDLE9BQXNCO1FBQzlCLE1BQU0sa0JBQWtCLEdBQWlCLE9BQU8sQ0FBQyxZQUFZLENBQUM7UUFDOUQsTUFBTSxVQUFVLEdBQWlCLE9BQU8sQ0FBQyxJQUFJLENBQUM7UUFDOUMsTUFBTSxvQkFBb0IsR0FBaUIsT0FBTyxDQUFDLGNBQWMsQ0FBQztRQUVsRSxJQUNJLENBQUMsZUFBZSxDQUFDLGtCQUFrQixDQUFDO1lBQ3BDLENBQUMsZUFBZSxDQUFDLFVBQVUsQ0FBQztZQUM1QixDQUFDLGVBQWUsQ0FBQyxvQkFBb0IsQ0FBQyxFQUN4QztZQUNFLE9BQU87U0FDVjtRQUVELElBQUksQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO0lBQzdCLENBQUM7SUFFRCxZQUFZO1FBQ1IsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUMsV0FBVyxHQUFHLENBQUMsQ0FBQztRQUN4QyxJQUFJLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztRQUN6QixJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQztZQUNqQixZQUFZLEVBQUUsSUFBSSxDQUFDLFdBQVcsR0FBRyxDQUFDO1lBQ2xDLFdBQVcsRUFBRSxJQUFJLENBQUMsV0FBVztZQUM3QixTQUFTLEVBQUUsSUFBSSxDQUFDLFVBQVUsRUFBRTtTQUMvQixDQUFDLENBQUM7SUFDUCxDQUFDO0lBRUQsZUFBZTtRQUNYLE9BQU8sSUFBSSxDQUFDLFdBQVcsR0FBRyxDQUFDLENBQUM7SUFDaEMsQ0FBQztJQUVELFFBQVE7UUFDSixJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQyxXQUFXLEdBQUcsQ0FBQyxDQUFDO1FBQ3hDLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO1FBRXpCLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDO1lBQ2pCLFlBQVksRUFBRSxJQUFJLENBQUMsV0FBVyxHQUFHLENBQUM7WUFDbEMsV0FBVyxFQUFFLElBQUksQ0FBQyxXQUFXO1lBQzdCLFNBQVMsRUFBRSxJQUFJLENBQUMsVUFBVSxFQUFFO1NBQy9CLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFRCxXQUFXO1FBQ1AsT0FBTyxJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztJQUNoRCxDQUFDO0lBRUQsUUFBUSxDQUFDLElBQVksRUFBRSxzQkFBK0IsS0FBSztRQUN2RCxJQUFJLElBQUksQ0FBQyxXQUFXLEtBQUssSUFBSSxFQUFFO1lBQzNCLE9BQU87U0FDVjtRQUVELE1BQU0sWUFBWSxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUM7UUFDdEMsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUM7UUFDeEIsSUFBSSxDQUFDLGlCQUFpQixFQUFFLENBQUM7UUFFekIsSUFBSSxtQkFBbUIsRUFBRTtZQUNyQixJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQztnQkFDakIsWUFBWTtnQkFDWixXQUFXLEVBQUUsSUFBSSxDQUFDLFdBQVc7Z0JBQzdCLFNBQVMsRUFBRSxJQUFJLENBQUMsVUFBVSxFQUFFO2FBQy9CLENBQUMsQ0FBQztTQUNOO0lBQ0wsQ0FBQztJQUVELFVBQVU7UUFDTixJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsY0FBYyxFQUFFO1lBQ3ZCLE9BQU8sSUFBSSxDQUFDLGNBQWMsQ0FBQztTQUM5QjtRQUVELE9BQU8sSUFBSSxDQUFDLEtBQUs7WUFDYixDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDO1lBQ2xELENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDWixDQUFDO0lBRU8saUJBQWlCO1FBQ3JCLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFO1lBQ2IsSUFBSSxDQUFDLFlBQVksR0FBRyxFQUFFLENBQUM7WUFDdkIsT0FBTztTQUNWO1FBRUQsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLGNBQWMsRUFBRTtZQUN2QixJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUM7WUFDL0IsT0FBTztTQUNWO1FBRUQsTUFBTSxpQkFBaUIsR0FDbkIsQ0FBQyxJQUFJLENBQUMsV0FBVyxHQUFHLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQyxZQUFZLElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUM7UUFDcEUsSUFBSSxDQUFDLGlCQUFpQixFQUFFO1lBQ3BCLElBQUksQ0FBQyxXQUFXLEdBQUcsQ0FBQyxDQUFDO1NBQ3hCO1FBQ0QsTUFBTSxLQUFLLEdBQUcsQ0FBQyxJQUFJLENBQUMsV0FBVyxHQUFHLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUM7UUFDekQsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxLQUFLLEVBQUUsS0FBSyxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQztJQUMzRSxDQUFDOzsrR0FySVEsa0JBQWtCO21HQUFsQixrQkFBa0IsMlRBQ2IsV0FBVyxxRUMzQjdCLGd5R0E0RUE7MkZEbERhLGtCQUFrQjtrQkFMOUIsU0FBUzttQkFBQztvQkFDUCxRQUFRLEVBQUUsWUFBWTtvQkFDdEIsV0FBVyxFQUFFLDZCQUE2QjtvQkFDMUMsU0FBUyxFQUFFLENBQUMsNEJBQTRCLENBQUM7aUJBQzVDOztRQUdHLDhEQUE4RDtRQUM5RCxnQkFBZ0I7c0JBRmYsWUFBWTt1QkFBQyxXQUFXO2dCQUt6QixZQUFZO3NCQURYLEtBQUs7Z0JBSU4sRUFBRTtzQkFERCxLQUFLO2dCQUlOLGFBQWE7c0JBRFosS0FBSztnQkFJTixTQUFTO3NCQURSLEtBQUs7Z0JBSU4sY0FBYztzQkFEYixLQUFLO2dCQUlOLFVBQVU7c0JBRFQsTUFBTTs7UUFZUCxtQ0FBbUM7UUFDbkMsa0pBQWtKO1FBQ2xKLFNBQVM7c0JBSFIsS0FBSztnQkFPRixJQUFJO3NCQUZQLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIENvbXBvbmVudCxcbiAgICBDb250ZW50Q2hpbGQsXG4gICAgRXZlbnRFbWl0dGVyLFxuICAgIElucHV0LFxuICAgIE9uQ2hhbmdlcyxcbiAgICBPdXRwdXQsXG4gICAgU2ltcGxlQ2hhbmdlLFxuICAgIFNpbXBsZUNoYW5nZXMsXG4gICAgVGVtcGxhdGVSZWZcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBQYWdlQ2hhbmdlRXZlbnQgfSBmcm9tICcuL3BhZ2UtY2hhbmdlLWV2ZW50JztcbmltcG9ydCB7IE9iamVjdEhlbHBlciB9IGZyb20gJy4uL2hlbHBlcnMvb2JqZWN0LmhlbHBlcic7XG5cbmNvbnN0IGhhc0lucHV0Q2hhbmdlZCA9IChjaGFuZ2U6IFNpbXBsZUNoYW5nZSk6IGJvb2xlYW4gPT5cbiAgICAhKFxuICAgICAgICAhY2hhbmdlIHx8XG4gICAgICAgICFjaGFuZ2UuY3VycmVudFZhbHVlIHx8XG4gICAgICAgIE9iamVjdEhlbHBlci5pc0VxdWFsKGNoYW5nZS5wcmV2aW91c1ZhbHVlLCBjaGFuZ2UuY3VycmVudFZhbHVlKVxuICAgICk7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnZm9laG4tbGlzdCcsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2ZvZWhuLWxpc3QuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL2ZvZWhuLWxpc3QuY29tcG9uZW50LmNzcyddXG59KVxuZXhwb3J0IGNsYXNzIEZvZWhuTGlzdENvbXBvbmVudCBpbXBsZW1lbnRzIE9uQ2hhbmdlcyB7XG4gICAgQENvbnRlbnRDaGlsZChUZW1wbGF0ZVJlZilcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueVxuICAgIHRlbXBsYXRlVmFyaWFibGU6IFRlbXBsYXRlUmVmPGFueT47XG5cbiAgICBASW5wdXQoKVxuICAgIGl0ZW1zUGVyUGFnZSA9IDEwO1xuXG4gICAgQElucHV0KClcbiAgICBpZCA9ICdmb2Vobi1saXN0JztcblxuICAgIEBJbnB1dCgpXG4gICAgcHJldmlvdXNMYWJlbCA9ICdQcsOpY8OpZGVudCc7XG5cbiAgICBASW5wdXQoKVxuICAgIG5leHRMYWJlbCA9ICdTdWl2YW50JztcblxuICAgIEBJbnB1dCgpXG4gICAgZml4ZWRQYWdlQ291bnQ6IG51bWJlcjtcblxuICAgIEBPdXRwdXQoKVxuICAgIHBhZ2VDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPFBhZ2VDaGFuZ2VFdmVudD4oKTtcblxuICAgIGN1cnJlbnRQYWdlID0gMTtcblxuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55XG4gICAgZmlsdGVyZWRMaXN0OiBhbnlbXSA9IFtdO1xuXG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnlcbiAgICBwcml2YXRlIF9saXN0OiBhbnlbXTtcblxuICAgIEBJbnB1dCgpXG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG1heC1sZW5cbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueSxAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdW51c2VkLXZhcnMsQHR5cGVzY3JpcHQtZXNsaW50L2V4cGxpY2l0LW1vZHVsZS1ib3VuZGFyeS10eXBlc1xuICAgIHRyYWNrQnlGbiA9IChpbmRleDogbnVtYmVyLCBpdGVtOiBhbnkpOiBudW1iZXIgPT4gaW5kZXg7XG5cbiAgICBASW5wdXQoKVxuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55XG4gICAgc2V0IGxpc3QobGlzdDogYW55W10pIHtcbiAgICAgICAgdGhpcy5fbGlzdCA9IGxpc3Q7XG4gICAgfVxuXG4gICAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xuICAgICAgICBjb25zdCBpdGVtc1BlclBhZ2VDaGFuZ2U6IFNpbXBsZUNoYW5nZSA9IGNoYW5nZXMuaXRlbXNQZXJQYWdlO1xuICAgICAgICBjb25zdCBsaXN0Q2hhbmdlOiBTaW1wbGVDaGFuZ2UgPSBjaGFuZ2VzLmxpc3Q7XG4gICAgICAgIGNvbnN0IGZpeGVkUGFnZUNvdW50Q2hhbmdlOiBTaW1wbGVDaGFuZ2UgPSBjaGFuZ2VzLmZpeGVkUGFnZUNvdW50O1xuXG4gICAgICAgIGlmIChcbiAgICAgICAgICAgICFoYXNJbnB1dENoYW5nZWQoaXRlbXNQZXJQYWdlQ2hhbmdlKSAmJlxuICAgICAgICAgICAgIWhhc0lucHV0Q2hhbmdlZChsaXN0Q2hhbmdlKSAmJlxuICAgICAgICAgICAgIWhhc0lucHV0Q2hhbmdlZChmaXhlZFBhZ2VDb3VudENoYW5nZSlcbiAgICAgICAgKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLmJ1aWxkRmlsdGVyZWRMaXN0KCk7XG4gICAgfVxuXG4gICAgcHJldmlvdXNQYWdlKCk6IHZvaWQge1xuICAgICAgICB0aGlzLmN1cnJlbnRQYWdlID0gdGhpcy5jdXJyZW50UGFnZSAtIDE7XG4gICAgICAgIHRoaXMuYnVpbGRGaWx0ZXJlZExpc3QoKTtcbiAgICAgICAgdGhpcy5wYWdlQ2hhbmdlLm5leHQoe1xuICAgICAgICAgICAgcHJldmlvdXNQYWdlOiB0aGlzLmN1cnJlbnRQYWdlICsgMSxcbiAgICAgICAgICAgIGN1cnJlbnRQYWdlOiB0aGlzLmN1cnJlbnRQYWdlLFxuICAgICAgICAgICAgcGFnZUNvdW50OiB0aGlzLnBhZ2VzQ291bnQoKVxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBoYXNQcmV2aW91c1BhZ2UoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLmN1cnJlbnRQYWdlID4gMTtcbiAgICB9XG5cbiAgICBuZXh0UGFnZSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5jdXJyZW50UGFnZSA9IHRoaXMuY3VycmVudFBhZ2UgKyAxO1xuICAgICAgICB0aGlzLmJ1aWxkRmlsdGVyZWRMaXN0KCk7XG5cbiAgICAgICAgdGhpcy5wYWdlQ2hhbmdlLm5leHQoe1xuICAgICAgICAgICAgcHJldmlvdXNQYWdlOiB0aGlzLmN1cnJlbnRQYWdlIC0gMSxcbiAgICAgICAgICAgIGN1cnJlbnRQYWdlOiB0aGlzLmN1cnJlbnRQYWdlLFxuICAgICAgICAgICAgcGFnZUNvdW50OiB0aGlzLnBhZ2VzQ291bnQoKVxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBoYXNOZXh0UGFnZSgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuY3VycmVudFBhZ2UgPCB0aGlzLnBhZ2VzQ291bnQoKTtcbiAgICB9XG5cbiAgICBzaG93UGFnZShwYWdlOiBudW1iZXIsIGVtaXRQYWdlQ2hhbmdlRXZlbnQ6IGJvb2xlYW4gPSBmYWxzZSk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5jdXJyZW50UGFnZSA9PT0gcGFnZSkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgcHJldmlvdXNQYWdlID0gdGhpcy5jdXJyZW50UGFnZTtcbiAgICAgICAgdGhpcy5jdXJyZW50UGFnZSA9IHBhZ2U7XG4gICAgICAgIHRoaXMuYnVpbGRGaWx0ZXJlZExpc3QoKTtcblxuICAgICAgICBpZiAoZW1pdFBhZ2VDaGFuZ2VFdmVudCkge1xuICAgICAgICAgICAgdGhpcy5wYWdlQ2hhbmdlLm5leHQoe1xuICAgICAgICAgICAgICAgIHByZXZpb3VzUGFnZSxcbiAgICAgICAgICAgICAgICBjdXJyZW50UGFnZTogdGhpcy5jdXJyZW50UGFnZSxcbiAgICAgICAgICAgICAgICBwYWdlQ291bnQ6IHRoaXMucGFnZXNDb3VudCgpXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHBhZ2VzQ291bnQoKTogbnVtYmVyIHtcbiAgICAgICAgaWYgKCEhdGhpcy5maXhlZFBhZ2VDb3VudCkge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMuZml4ZWRQYWdlQ291bnQ7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gdGhpcy5fbGlzdFxuICAgICAgICAgICAgPyBNYXRoLmNlaWwodGhpcy5fbGlzdC5sZW5ndGggLyB0aGlzLml0ZW1zUGVyUGFnZSlcbiAgICAgICAgICAgIDogMDtcbiAgICB9XG5cbiAgICBwcml2YXRlIGJ1aWxkRmlsdGVyZWRMaXN0KCk6IHZvaWQge1xuICAgICAgICBpZiAoIXRoaXMuX2xpc3QpIHtcbiAgICAgICAgICAgIHRoaXMuZmlsdGVyZWRMaXN0ID0gW107XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoISF0aGlzLmZpeGVkUGFnZUNvdW50KSB7XG4gICAgICAgICAgICB0aGlzLmZpbHRlcmVkTGlzdCA9IHRoaXMuX2xpc3Q7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBjdXJyZW50UGFnZUV4aXN0cyA9XG4gICAgICAgICAgICAodGhpcy5jdXJyZW50UGFnZSAtIDEpICogdGhpcy5pdGVtc1BlclBhZ2UgPD0gdGhpcy5fbGlzdC5sZW5ndGg7XG4gICAgICAgIGlmICghY3VycmVudFBhZ2VFeGlzdHMpIHtcbiAgICAgICAgICAgIHRoaXMuY3VycmVudFBhZ2UgPSAxO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IHN0YXJ0ID0gKHRoaXMuY3VycmVudFBhZ2UgLSAxKSAqIHRoaXMuaXRlbXNQZXJQYWdlO1xuICAgICAgICB0aGlzLmZpbHRlcmVkTGlzdCA9IHRoaXMuX2xpc3Quc2xpY2Uoc3RhcnQsIHN0YXJ0ICsgdGhpcy5pdGVtc1BlclBhZ2UpO1xuICAgIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJyb3dcIiBbaWRdPVwiaWRcIj5cbiAgICA8ZGl2IGNsYXNzPVwiY29sLWxnLTEyIGNvbC1tZC0xMiBjb2wtc20tMTIgY29sLXhzLTEyXCI+XG4gICAgICAgIDx1bCBjbGFzcz1cImxpc3QtdW5zdHlsZWRcIj5cbiAgICAgICAgICAgIDxsaVxuICAgICAgICAgICAgICAgICpuZ0Zvcj1cIlxuICAgICAgICAgICAgICAgICAgICBsZXQgaXRlbSBvZiBmaWx0ZXJlZExpc3Q7XG4gICAgICAgICAgICAgICAgICAgIGxldCBpbmRleCA9IGluZGV4O1xuICAgICAgICAgICAgICAgICAgICB0cmFja0J5OiB0cmFja0J5Rm5cbiAgICAgICAgICAgICAgICBcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZVxuICAgICAgICAgICAgICAgICAgICBbbmdUZW1wbGF0ZU91dGxldF09XCJ0ZW1wbGF0ZVZhcmlhYmxlXCJcbiAgICAgICAgICAgICAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRDb250ZXh0XT1cInsgaXRlbTogaXRlbSwgaW5kZXg6IGluZGV4IH1cIlxuICAgICAgICAgICAgICAgID48L25nLXRlbXBsYXRlPlxuICAgICAgICAgICAgPC9saT5cbiAgICAgICAgPC91bD5cblxuICAgICAgICA8ZGl2IGNsYXNzPVwicm93IGQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtYmV0d2VlbiBwLTFcIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbGctMyBjb2wtbWQtMyBjb2wtc20tNiBjb2wteHMtNlwiPlxuICAgICAgICAgICAgICAgIDxuYXZcbiAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJ2ZC1wYWdpbmF0aW9uXCJcbiAgICAgICAgICAgICAgICAgICAgYXJpYS1sYWJlbD1cIlBhZ2luYXRpb25cIlxuICAgICAgICAgICAgICAgICAgICAqbmdJZj1cImhhc1ByZXZpb3VzUGFnZSgpXCJcbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgIDx1bCBjbGFzcz1cInZkLXBhZ2luYXRpb25fX2xpc3RcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxsaVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwidmQtcGFnaW5hdGlvbl9faXRlbSB2ZC1wYWdpbmF0aW9uX19pdGVtLS1wcmV2aW91c1wiXG4gICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImJ0bi1saW5rIHZkLXBhZ2luYXRpb25fX2xpbmsgYnRuLW5vLWV4dHJhIHZkLXBhZ2luYXRpb25fX2xpbmstcmVzZXRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwicHJldmlvdXNQYWdlKClcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ2ZC1wYWdpbmF0aW9uX190aXRsZVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGZvZWhuLWljb24tY2hldnJvbi1sZWZ0PjwvZm9laG4taWNvbi1jaGV2cm9uLWxlZnQ+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7eyBwcmV2aW91c0xhYmVsIH19XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJzci1vbmx5XCI+Ojwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ2ZC1wYWdpbmF0aW9uX19sYWJlbFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge3sgY3VycmVudFBhZ2UgLSAxIH19IHN1ciB7eyBwYWdlc0NvdW50KCkgfX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9saT5cbiAgICAgICAgICAgICAgICAgICAgPC91bD5cbiAgICAgICAgICAgICAgICA8L25hdj5cbiAgICAgICAgICAgIDwvZGl2PlxuXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLWxnLTMgY29sLW1kLTMgY29sLXNtLTYgY29sLXhzLTZcIj5cbiAgICAgICAgICAgICAgICA8bmF2XG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwidmQtcGFnaW5hdGlvblwiXG4gICAgICAgICAgICAgICAgICAgIGFyaWEtbGFiZWw9XCJQYWdpbmF0aW9uXCJcbiAgICAgICAgICAgICAgICAgICAgKm5nSWY9XCJoYXNOZXh0UGFnZSgpXCJcbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgIDx1bCBjbGFzcz1cInZkLXBhZ2luYXRpb25fX2xpc3RcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxsaVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwidmQtcGFnaW5hdGlvbl9faXRlbSB2ZC1wYWdpbmF0aW9uX19pdGVtLS1uZXh0XCJcbiAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiYnRuLWxpbmsgdmQtcGFnaW5hdGlvbl9fbGluayBidG4tbm8tZXh0cmEgdmQtcGFnaW5hdGlvbl9fbGluay1yZXNldFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJuZXh0UGFnZSgpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwidmQtcGFnaW5hdGlvbl9fdGl0bGVcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7IG5leHRMYWJlbCB9fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGZvZWhuLWljb24tY2hldnJvbi1yaWdodD48L2ZvZWhuLWljb24tY2hldnJvbi1yaWdodD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInNyLW9ubHlcIj46PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInZkLXBhZ2luYXRpb25fX2xhYmVsXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7eyBjdXJyZW50UGFnZSArIDEgfX0gc3VyIHt7IHBhZ2VzQ291bnQoKSB9fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2xpPlxuICAgICAgICAgICAgICAgICAgICA8L3VsPlxuICAgICAgICAgICAgICAgIDwvbmF2PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuPC9kaXY+XG4iXX0=
134
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9laG4tbGlzdC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9wcmVzdGF0aW9ucy1uZy9zcmMvZm9laG4tbGlzdC9mb2Vobi1saXN0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uL3Byb2plY3RzL3ByZXN0YXRpb25zLW5nL3NyYy9mb2Vobi1saXN0L2ZvZWhuLWxpc3QuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNILFNBQVMsRUFDVCxZQUFZLEVBQ1osWUFBWSxFQUNaLEtBQUssRUFFTCxNQUFNLEVBR04sV0FBVyxFQUNkLE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQzs7Ozs7QUFFeEQsTUFBTSxlQUFlLEdBQUcsQ0FBQyxNQUFvQixFQUFXLEVBQUUsQ0FDdEQsTUFBTSxJQUFJLENBQUMsWUFBWSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsYUFBYSxFQUFFLE1BQU0sQ0FBQyxZQUFZLENBQUMsQ0FBQztBQU8vRSxNQUFNLE9BQU8sa0JBQWtCO0lBTC9CO1FBV0ksaUJBQVksR0FBRyxFQUFFLENBQUM7UUFHbEIsT0FBRSxHQUFHLFlBQVksQ0FBQztRQUdsQixrQkFBYSxHQUFHLFdBQVcsQ0FBQztRQUc1QixjQUFTLEdBQUcsU0FBUyxDQUFDO1FBTXRCLGVBQVUsR0FBRyxJQUFJLFlBQVksRUFBbUIsQ0FBQztRQUVqRCxnQkFBVyxHQUFHLENBQUMsQ0FBQztRQUVoQiw4REFBOEQ7UUFDOUQsaUJBQVksR0FBVSxFQUFFLENBQUM7UUFNekIsbUNBQW1DO1FBQ25DLGtKQUFrSjtRQUNsSixjQUFTLEdBQUcsQ0FBQyxLQUFhLEVBQUUsSUFBUyxFQUFVLEVBQUUsQ0FBQyxLQUFLLENBQUM7S0FvRzNEO0lBbEdHLElBRUksSUFBSSxDQUFDLElBQVc7UUFDaEIsSUFBSSxDQUFDLEtBQUssR0FB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QUFDO1lBQy9CLE9BQU87U0FDVjtRQUVELE1BQU0saUJBQWlCLEdBQ25CLENBQUMsSUFBSSxDQUFDLFdBQVcsR0FBRyxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUMsWUFBWSxJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDO1FBQ3BFLElBQUksQ0FBQyxpQkFBaUIsRUFBRTtZQUNwQixJQUFJLENBQUMsV0FBVyxHQUFHLENBQUMsQ0FBQztTQUN4QjtRQUNELE1BQU0sS0FBSyxHQUFHLENBQUMsSUFBSSxDQUFDLFdBQVcsR0FBRyxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDO1FBQ3pELElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsS0FBSyxFQUFFLEtBQUssR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUM7SUFDM0UsQ0FBQzs7K0dBcklRLGtCQUFrQjttR0FBbEIsa0JBQWtCLDJUQUNiLFdBQVcscUVDdkI3QixneUdBNEVBOzJGRHREYSxrQkFBa0I7a0JBTDlCLFNBQVM7bUJBQUM7b0JBQ1AsUUFBUSxFQUFFLFlBQVk7b0JBQ3RCLFdBQVcsRUFBRSw2QkFBNkI7b0JBQzFDLFNBQVMsRUFBRSxDQUFDLDRCQUE0QixDQUFDO2lCQUM1Qzs7UUFHRyw4REFBOEQ7UUFDOUQsZ0JBQWdCO3NCQUZmLFlBQVk7dUJBQUMsV0FBVztnQkFLekIsWUFBWTtzQkFEWCxLQUFLO2dCQUlOLEVBQUU7c0JBREQsS0FBSztnQkFJTixhQUFhO3NCQURaLEtBQUs7Z0JBSU4sU0FBUztzQkFEUixLQUFLO2dCQUlOLGNBQWM7c0JBRGIsS0FBSztnQkFJTixVQUFVO3NCQURULE1BQU07O1FBWVAsbUNBQW1DO1FBQ25DLGtKQUFrSjtRQUNsSixTQUFTO3NCQUhSLEtBQUs7Z0JBT0YsSUFBSTtzQkFGUCxLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBDb21wb25lbnQsXG4gICAgQ29udGVudENoaWxkLFxuICAgIEV2ZW50RW1pdHRlcixcbiAgICBJbnB1dCxcbiAgICBPbkNoYW5nZXMsXG4gICAgT3V0cHV0LFxuICAgIFNpbXBsZUNoYW5nZSxcbiAgICBTaW1wbGVDaGFuZ2VzLFxuICAgIFRlbXBsYXRlUmVmXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUGFnZUNoYW5nZUV2ZW50IH0gZnJvbSAnLi9wYWdlLWNoYW5nZS1ldmVudCc7XG5pbXBvcnQgeyBPYmplY3RIZWxwZXIgfSBmcm9tICcuLi9oZWxwZXJzL29iamVjdC5oZWxwZXInO1xuXG5jb25zdCBoYXNJbnB1dENoYW5nZWQgPSAoY2hhbmdlOiBTaW1wbGVDaGFuZ2UpOiBib29sZWFuID0+XG4gICAgY2hhbmdlICYmICFPYmplY3RIZWxwZXIuaXNFcXVhbChjaGFuZ2UucHJldmlvdXNWYWx1ZSwgY2hhbmdlLmN1cnJlbnRWYWx1ZSk7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnZm9laG4tbGlzdCcsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2ZvZWhuLWxpc3QuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL2ZvZWhuLWxpc3QuY29tcG9uZW50LmNzcyddXG59KVxuZXhwb3J0IGNsYXNzIEZvZWhuTGlzdENvbXBvbmVudCBpbXBsZW1lbnRzIE9uQ2hhbmdlcyB7XG4gICAgQENvbnRlbnRDaGlsZChUZW1wbGF0ZVJlZilcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueVxuICAgIHRlbXBsYXRlVmFyaWFibGU6IFRlbXBsYXRlUmVmPGFueT47XG5cbiAgICBASW5wdXQoKVxuICAgIGl0ZW1zUGVyUGFnZSA9IDEwO1xuXG4gICAgQElucHV0KClcbiAgICBpZCA9ICdmb2Vobi1saXN0JztcblxuICAgIEBJbnB1dCgpXG4gICAgcHJldmlvdXNMYWJlbCA9ICdQcsOpY8OpZGVudCc7XG5cbiAgICBASW5wdXQoKVxuICAgIG5leHRMYWJlbCA9ICdTdWl2YW50JztcblxuICAgIEBJbnB1dCgpXG4gICAgZml4ZWRQYWdlQ291bnQ6IG51bWJlcjtcblxuICAgIEBPdXRwdXQoKVxuICAgIHBhZ2VDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPFBhZ2VDaGFuZ2VFdmVudD4oKTtcblxuICAgIGN1cnJlbnRQYWdlID0gMTtcblxuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55XG4gICAgZmlsdGVyZWRMaXN0OiBhbnlbXSA9IFtdO1xuXG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnlcbiAgICBwcml2YXRlIF9saXN0OiBhbnlbXTtcblxuICAgIEBJbnB1dCgpXG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG1heC1sZW5cbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueSxAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdW51c2VkLXZhcnMsQHR5cGVzY3JpcHQtZXNsaW50L2V4cGxpY2l0LW1vZHVsZS1ib3VuZGFyeS10eXBlc1xuICAgIHRyYWNrQnlGbiA9IChpbmRleDogbnVtYmVyLCBpdGVtOiBhbnkpOiBudW1iZXIgPT4gaW5kZXg7XG5cbiAgICBASW5wdXQoKVxuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55XG4gICAgc2V0IGxpc3QobGlzdDogYW55W10pIHtcbiAgICAgICAgdGhpcy5fbGlzdCA9IGxpc3Q7XG4gICAgfVxuXG4gICAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xuICAgICAgICBjb25zdCBpdGVtc1BlclBhZ2VDaGFuZ2U6IFNpbXBsZUNoYW5nZSA9IGNoYW5nZXMuaXRlbXNQZXJQYWdlO1xuICAgICAgICBjb25zdCBsaXN0Q2hhbmdlOiBTaW1wbGVDaGFuZ2UgPSBjaGFuZ2VzLmxpc3Q7XG4gICAgICAgIGNvbnN0IGZpeGVkUGFnZUNvdW50Q2hhbmdlOiBTaW1wbGVDaGFuZ2UgPSBjaGFuZ2VzLmZpeGVkUGFnZUNvdW50O1xuXG4gICAgICAgIGlmIChcbiAgICAgICAgICAgICFoYXNJbnB1dENoYW5nZWQoaXRlbXNQZXJQYWdlQ2hhbmdlKSAmJlxuICAgICAgICAgICAgIWhhc0lucHV0Q2hhbmdlZChsaXN0Q2hhbmdlKSAmJlxuICAgICAgICAgICAgIWhhc0lucHV0Q2hhbmdlZChmaXhlZFBhZ2VDb3VudENoYW5nZSlcbiAgICAgICAgKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLmJ1aWxkRmlsdGVyZWRMaXN0KCk7XG4gICAgfVxuXG4gICAgcHJldmlvdXNQYWdlKCk6IHZvaWQge1xuICAgICAgICB0aGlzLmN1cnJlbnRQYWdlID0gdGhpcy5jdXJyZW50UGFnZSAtIDE7XG4gICAgICAgIHRoaXMuYnVpbGRGaWx0ZXJlZExpc3QoKTtcbiAgICAgICAgdGhpcy5wYWdlQ2hhbmdlLm5leHQoe1xuICAgICAgICAgICAgcHJldmlvdXNQYWdlOiB0aGlzLmN1cnJlbnRQYWdlICsgMSxcbiAgICAgICAgICAgIGN1cnJlbnRQYWdlOiB0aGlzLmN1cnJlbnRQYWdlLFxuICAgICAgICAgICAgcGFnZUNvdW50OiB0aGlzLnBhZ2VzQ291bnQoKVxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBoYXNQcmV2aW91c1BhZ2UoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLmN1cnJlbnRQYWdlID4gMTtcbiAgICB9XG5cbiAgICBuZXh0UGFnZSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5jdXJyZW50UGFnZSA9IHRoaXMuY3VycmVudFBhZ2UgKyAxO1xuICAgICAgICB0aGlzLmJ1aWxkRmlsdGVyZWRMaXN0KCk7XG5cbiAgICAgICAgdGhpcy5wYWdlQ2hhbmdlLm5leHQoe1xuICAgICAgICAgICAgcHJldmlvdXNQYWdlOiB0aGlzLmN1cnJlbnRQYWdlIC0gMSxcbiAgICAgICAgICAgIGN1cnJlbnRQYWdlOiB0aGlzLmN1cnJlbnRQYWdlLFxuICAgICAgICAgICAgcGFnZUNvdW50OiB0aGlzLnBhZ2VzQ291bnQoKVxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBoYXNOZXh0UGFnZSgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuY3VycmVudFBhZ2UgPCB0aGlzLnBhZ2VzQ291bnQoKTtcbiAgICB9XG5cbiAgICBzaG93UGFnZShwYWdlOiBudW1iZXIsIGVtaXRQYWdlQ2hhbmdlRXZlbnQ6IGJvb2xlYW4gPSBmYWxzZSk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5jdXJyZW50UGFnZSA9PT0gcGFnZSkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgcHJldmlvdXNQYWdlID0gdGhpcy5jdXJyZW50UGFnZTtcbiAgICAgICAgdGhpcy5jdXJyZW50UGFnZSA9IHBhZ2U7XG4gICAgICAgIHRoaXMuYnVpbGRGaWx0ZXJlZExpc3QoKTtcblxuICAgICAgICBpZiAoZW1pdFBhZ2VDaGFuZ2VFdmVudCkge1xuICAgICAgICAgICAgdGhpcy5wYWdlQ2hhbmdlLm5leHQoe1xuICAgICAgICAgICAgICAgIHByZXZpb3VzUGFnZSxcbiAgICAgICAgICAgICAgICBjdXJyZW50UGFnZTogdGhpcy5jdXJyZW50UGFnZSxcbiAgICAgICAgICAgICAgICBwYWdlQ291bnQ6IHRoaXMucGFnZXNDb3VudCgpXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHBhZ2VzQ291bnQoKTogbnVtYmVyIHtcbiAgICAgICAgaWYgKCEhdGhpcy5maXhlZFBhZ2VDb3VudCkge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMuZml4ZWRQYWdlQ291bnQ7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gdGhpcy5fbGlzdFxuICAgICAgICAgICAgPyBNYXRoLmNlaWwodGhpcy5fbGlzdC5sZW5ndGggLyB0aGlzLml0ZW1zUGVyUGFnZSlcbiAgICAgICAgICAgIDogMDtcbiAgICB9XG5cbiAgICBwcml2YXRlIGJ1aWxkRmlsdGVyZWRMaXN0KCk6IHZvaWQge1xuICAgICAgICBpZiAoIXRoaXMuX2xpc3QpIHtcbiAgICAgICAgICAgIHRoaXMuZmlsdGVyZWRMaXN0ID0gW107XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoISF0aGlzLmZpeGVkUGFnZUNvdW50KSB7XG4gICAgICAgICAgICB0aGlzLmZpbHRlcmVkTGlzdCA9IHRoaXMuX2xpc3Q7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBjdXJyZW50UGFnZUV4aXN0cyA9XG4gICAgICAgICAgICAodGhpcy5jdXJyZW50UGFnZSAtIDEpICogdGhpcy5pdGVtc1BlclBhZ2UgPD0gdGhpcy5fbGlzdC5sZW5ndGg7XG4gICAgICAgIGlmICghY3VycmVudFBhZ2VFeGlzdHMpIHtcbiAgICAgICAgICAgIHRoaXMuY3VycmVudFBhZ2UgPSAxO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IHN0YXJ0ID0gKHRoaXMuY3VycmVudFBhZ2UgLSAxKSAqIHRoaXMuaXRlbXNQZXJQYWdlO1xuICAgICAgICB0aGlzLmZpbHRlcmVkTGlzdCA9IHRoaXMuX2xpc3Quc2xpY2Uoc3RhcnQsIHN0YXJ0ICsgdGhpcy5pdGVtc1BlclBhZ2UpO1xuICAgIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJyb3dcIiBbaWRdPVwiaWRcIj5cbiAgICA8ZGl2IGNsYXNzPVwiY29sLWxnLTEyIGNvbC1tZC0xMiBjb2wtc20tMTIgY29sLXhzLTEyXCI+XG4gICAgICAgIDx1bCBjbGFzcz1cImxpc3QtdW5zdHlsZWRcIj5cbiAgICAgICAgICAgIDxsaVxuICAgICAgICAgICAgICAgICpuZ0Zvcj1cIlxuICAgICAgICAgICAgICAgICAgICBsZXQgaXRlbSBvZiBmaWx0ZXJlZExpc3Q7XG4gICAgICAgICAgICAgICAgICAgIGxldCBpbmRleCA9IGluZGV4O1xuICAgICAgICAgICAgICAgICAgICB0cmFja0J5OiB0cmFja0J5Rm5cbiAgICAgICAgICAgICAgICBcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZVxuICAgICAgICAgICAgICAgICAgICBbbmdUZW1wbGF0ZU91dGxldF09XCJ0ZW1wbGF0ZVZhcmlhYmxlXCJcbiAgICAgICAgICAgICAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRDb250ZXh0XT1cInsgaXRlbTogaXRlbSwgaW5kZXg6IGluZGV4IH1cIlxuICAgICAgICAgICAgICAgID48L25nLXRlbXBsYXRlPlxuICAgICAgICAgICAgPC9saT5cbiAgICAgICAgPC91bD5cblxuICAgICAgICA8ZGl2IGNsYXNzPVwicm93IGQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtYmV0d2VlbiBwLTFcIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbGctMyBjb2wtbWQtMyBjb2wtc20tNiBjb2wteHMtNlwiPlxuICAgICAgICAgICAgICAgIDxuYXZcbiAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJ2ZC1wYWdpbmF0aW9uXCJcbiAgICAgICAgICAgICAgICAgICAgYXJpYS1sYWJlbD1cIlBhZ2luYXRpb25cIlxuICAgICAgICAgICAgICAgICAgICAqbmdJZj1cImhhc1ByZXZpb3VzUGFnZSgpXCJcbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgIDx1bCBjbGFzcz1cInZkLXBhZ2luYXRpb25fX2xpc3RcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxsaVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwidmQtcGFnaW5hdGlvbl9faXRlbSB2ZC1wYWdpbmF0aW9uX19pdGVtLS1wcmV2aW91c1wiXG4gICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImJ0bi1saW5rIHZkLXBhZ2luYXRpb25fX2xpbmsgYnRuLW5vLWV4dHJhIHZkLXBhZ2luYXRpb25fX2xpbmstcmVzZXRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwicHJldmlvdXNQYWdlKClcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ2ZC1wYWdpbmF0aW9uX190aXRsZVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGZvZWhuLWljb24tY2hldnJvbi1sZWZ0PjwvZm9laG4taWNvbi1jaGV2cm9uLWxlZnQ+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7eyBwcmV2aW91c0xhYmVsIH19XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJzci1vbmx5XCI+Ojwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ2ZC1wYWdpbmF0aW9uX19sYWJlbFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge3sgY3VycmVudFBhZ2UgLSAxIH19IHN1ciB7eyBwYWdlc0NvdW50KCkgfX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9saT5cbiAgICAgICAgICAgICAgICAgICAgPC91bD5cbiAgICAgICAgICAgICAgICA8L25hdj5cbiAgICAgICAgICAgIDwvZGl2PlxuXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLWxnLTMgY29sLW1kLTMgY29sLXNtLTYgY29sLXhzLTZcIj5cbiAgICAgICAgICAgICAgICA8bmF2XG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwidmQtcGFnaW5hdGlvblwiXG4gICAgICAgICAgICAgICAgICAgIGFyaWEtbGFiZWw9XCJQYWdpbmF0aW9uXCJcbiAgICAgICAgICAgICAgICAgICAgKm5nSWY9XCJoYXNOZXh0UGFnZSgpXCJcbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgIDx1bCBjbGFzcz1cInZkLXBhZ2luYXRpb25fX2xpc3RcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxsaVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwidmQtcGFnaW5hdGlvbl9faXRlbSB2ZC1wYWdpbmF0aW9uX19pdGVtLS1uZXh0XCJcbiAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiYnRuLWxpbmsgdmQtcGFnaW5hdGlvbl9fbGluayBidG4tbm8tZXh0cmEgdmQtcGFnaW5hdGlvbl9fbGluay1yZXNldFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJuZXh0UGFnZSgpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwidmQtcGFnaW5hdGlvbl9fdGl0bGVcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7IG5leHRMYWJlbCB9fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGZvZWhuLWljb24tY2hldnJvbi1yaWdodD48L2ZvZWhuLWljb24tY2hldnJvbi1yaWdodD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInNyLW9ubHlcIj46PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInZkLXBhZ2luYXRpb25fX2xhYmVsXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7eyBjdXJyZW50UGFnZSArIDEgfX0gc3VyIHt7IHBhZ2VzQ291bnQoKSB9fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2xpPlxuICAgICAgICAgICAgICAgICAgICA8L3VsPlxuICAgICAgICAgICAgICAgIDwvbmF2PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuPC9kaXY+XG4iXX0=
@@ -42,7 +42,6 @@ export class FoehnPageComponent {
42
42
  this.sessionInfo = sessionInfo;
43
43
  this.foehnPageModalService = foehnPageModalService;
44
44
  this.sdkDictionaryService = sdkDictionaryService;
45
- this.neverConnected = false;
46
45
  this.supportAlertEnabled = true;
47
46
  this.userConnectedAsDisplayed = true;
48
47
  this.confirmLeavingAlert = {
@@ -212,4 +211,4 @@ export class DisplayLoginMessagesData {
212
211
  this.displayShouldLoginMessage = displayShouldLoginMessage;
213
212
  }
214
213
  }
215
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9laG4tcGFnZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9wcmVzdGF0aW9ucy1uZy9zcmMvZm9laG4tcGFnZS9mb2Vobi1wYWdlLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uL3Byb2plY3RzL3ByZXN0YXRpb25zLW5nL3NyYy9mb2Vobi1wYWdlL2ZvZWhuLXBhZ2UuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNILFNBQVMsRUFDVCxLQUFLLEVBS1IsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLGFBQWEsRUFBVSxNQUFNLGlCQUFpQixDQUFDO0FBS3hELE9BQU8sRUFBRSxhQUFhLEVBQUUsS0FBSyxFQUFjLEVBQUUsRUFBZ0IsTUFBTSxNQUFNLENBQUM7QUFHMUUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFLM0QsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUt6RCxNQUFNLHFCQUFxQixHQUN2QixrSEFBa0gsQ0FBQztBQUN2SCxNQUFNLGdCQUFnQixHQUFHLDZCQUE2QixDQUFDO0FBQ3ZELE1BQU0sb0JBQW9CLEdBQUcsMkJBQTJCLENBQUM7QUFNekQsTUFBTSxPQUFPLGtCQUFrQjtJQXdFM0IsWUFDWSxhQUFvQixFQUNwQixnQkFBa0MsRUFDbEMsbUJBQXdDLEVBQ3hDLHNCQUE4QyxFQUM5QyxzQkFBOEMsRUFDOUMsa0JBQXNDLEVBQ3RDLGlCQUF5QyxFQUN6QyxNQUFjLEVBQ2QsV0FBd0IsRUFDeEIscUJBQTRDLEVBQzVDLG9CQUEwQztRQVYxQyxrQkFBYSxHQUFiLGFBQWEsQ0FBTztRQUNwQixxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWtCO1FBQ2xDLHdCQUFtQixHQUFuQixtQkFBbUIsQ0FB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QTsyRkRoSWEsa0JBQWtCO2tCQUo5QixTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSxZQUFZO29CQUN0QixXQUFXLEVBQUUsNkJBQTZCO2lCQUM3QztxYUFHRyxRQUFRO3NCQURQLEtBQUs7Z0JBSU4sV0FBVztzQkFEVixLQUFLO2dCQUlOLGNBQWM7c0JBRGIsS0FBSztnQkFJTixtQkFBbUI7c0JBRGxCLEtBQUs7Z0JBSU4sZUFBZTtzQkFEZCxLQUFLO2dCQUlOLE9BQU87c0JBRE4sS0FBSztnQkFJTix3QkFBd0I7c0JBRHZCLEtBQUs7Z0JBSU4sbUJBQW1CO3NCQURsQixLQUFLO2dCQVdOLDRCQUE0QjtzQkFEM0IsS0FBSztnQkFPTiwwQkFBMEI7c0JBRHpCLEtBQUs7Z0JBT04sd0JBQXdCO3NCQUR2QixLQUFLO2dCQU9OLG1DQUFtQztzQkFEbEMsS0FBSzs7QUE0TVYsTUFBTSxPQUFPLHdCQUF3QjtJQUlqQyxZQUNJLDZCQUFzQyxFQUN0Qyx5QkFBa0M7UUFFbEMsSUFBSSxDQUFDLDZCQUE2QixHQUFHLDZCQUE2QixDQUFDO1FBQ25FLElBQUksQ0FBQyx5QkFBeUIsR0FBRyx5QkFBeUIsQ0FBQztJQUMvRCxDQUFDO0NBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIENvbXBvbmVudCxcbiAgICBJbnB1dCxcbiAgICBPbkNoYW5nZXMsXG4gICAgT25EZXN0cm95LFxuICAgIE9uSW5pdCxcbiAgICBTaW1wbGVDaGFuZ2VzXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTmF2aWdhdGlvbkVuZCwgUm91dGVyIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IEZvb3RlckxpbmsgfSBmcm9tICcuLi9mb2Vobi1mb290ZXIvZm9vdGVyLWxpbmsudHlwZSc7XG5pbXBvcnQgeyBUaXRsZSB9IGZyb20gJ0Bhbmd1bGFyL3BsYXRmb3JtLWJyb3dzZXInO1xuaW1wb3J0IHsgRm9laG5QYWdlU2VydmljZSB9IGZyb20gJy4vZm9laG4tcGFnZS5zZXJ2aWNlJztcbmltcG9ydCB7IFN1cHBvcnRBbGVydFNlcnZpY2UgfSBmcm9tICcuLi9zZGstc3VwcG9ydC1hbGVydC9zdXBwb3J0LWFsZXJ0LnNlcnZpY2UnO1xuaW1wb3J0IHsgY29tYmluZUxhdGVzdCwgbWVyZ2UsIE9ic2VydmFibGUsIG9mLCBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IEZvZWhuTmF2aWdhdGlvblNlcnZpY2UgfSBmcm9tICcuLi9mb2Vobi1uYXZpZ2F0aW9uL2ZvZWhuLW5hdmlnYXRpb24uc2VydmljZSc7XG5pbXBvcnQgeyBBcHBsaWNhdGlvbkluZm9TZXJ2aWNlIH0gZnJvbSAnLi4vc2RrLWFwcGluZm8vYXBwbGljYXRpb24taW5mby5zZXJ2aWNlJztcbmltcG9ydCB7IGRlYm91bmNlVGltZSwgZmlsdGVyLCBtYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBFdGFwZUluZm8gfSBmcm9tICcuLi9zZGstYXBwaW5mby9hcHBsaWNhdGlvbi1pbmZvJztcbmltcG9ydCB7IEdlc2RlbUV2ZW50U2VydmljZSB9IGZyb20gJy4uL2dlc2RlbS9nZXNkZW0tZXZlbnQuc2VydmljZSc7XG5pbXBvcnQgeyBGb2VobkNvbmZpcm1Nb2RhbENvbnRlbnQgfSBmcm9tICcuLi9mb2Vobi1jb25maXJtLW1vZGFsL2ZvZWhuLWNvbmZpcm0tbW9kYWwtY29udGVudCc7XG5pbXBvcnQgeyBCcmVhZGNydW1iRXZlbnRTZXJ2aWNlIH0gZnJvbSAnLi4vZm9laG4tYnJlYWRjcnVtYi9icmVhZGNydW1iLWV2ZW50LnNlcnZpY2UnO1xuaW1wb3J0IHsgc3VwcG9ydGVkQnJvd3NlcnMgfSBmcm9tICcuLi9zdXBwb3J0ZWQtYnJvd3Nlcic7XG5pbXBvcnQgeyBTZXNzaW9uSW5mbyB9IGZyb20gJy4uL3Nkay1zZXNzaW9uLWluZm8vc2Vzc2lvbi1pbmZvLnNlcnZpY2UnO1xuaW1wb3J0IHsgRm9laG5QYWdlTW9kYWxTZXJ2aWNlIH0gZnJvbSAnLi4vZm9laG4tcGFnZS9mb2Vobi1wYWdlLW1vZGFsLnNlcnZpY2UnO1xuaW1wb3J0IHsgU2RrRGljdGlvbmFyeVNlcnZpY2UgfSBmcm9tICcuLi9zZGstZGljdGlvbmFyeS9zZGstZGljdGlvbmFyeS5zZXJ2aWNlJztcblxuY29uc3QgTEVBVklOR19BTEVSVF9DT05URU5UID1cbiAgICAnQ2UgY2hhbmdlbWVudCBkZSBwYWdlIGVudHJhaW5lIHVuZSBwZXJ0ZSBkZXMgZG9ubsOpZXMgbm9uIHNhdXZlZ2FyZMOpZXMuPGJyLz5Tb3VoYWl0ZXotdm91cyBxdWFuZCBtw6ptZSBjb250aW51ZXIgPyc7XG5jb25zdCBMRUFWSU5HX0FMRVJUX09LID0gJ1BvdXJzdWl2cmUgc2FucyBzYXV2ZWdhcmRlcic7XG5jb25zdCBMRUFWSU5HX0FMRVJUX0NBTkNFTCA9ICdSZXRvdXJuZXIgw6AgbGEgcHJlc3RhdGlvbic7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnZm9laG4tcGFnZScsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2ZvZWhuLXBhZ2UuY29tcG9uZW50Lmh0bWwnXG59KVxuZXhwb3J0IGNsYXNzIEZvZWhuUGFnZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uRGVzdHJveSwgT25DaGFuZ2VzLCBPbkluaXQge1xuICAgIEBJbnB1dCgpXG4gICAgYXBwVGl0bGU6IHN0cmluZztcblxuICAgIEBJbnB1dCgpXG4gICAgZm9vdGVyTGlua3M6IEZvb3RlckxpbmtbXTtcblxuICAgIEBJbnB1dCgpXG4gICAgbmV2ZXJDb25uZWN0ZWQgPSBmYWxzZTtcblxuICAgIEBJbnB1dCgpXG4gICAgc3VwcG9ydEFsZXJ0RW5hYmxlZCA9IHRydWU7XG5cbiAgICBASW5wdXQoKVxuICAgIHN1cHBvcnRBbGVydFVybDogc3RyaW5nO1xuXG4gICAgQElucHV0KClcbiAgICBldGFwZUlkOiBzdHJpbmc7XG5cbiAgICBASW5wdXQoKVxuICAgIHVzZXJDb25uZWN0ZWRBc0Rpc3BsYXllZCA9IHRydWU7XG5cbiAgICBASW5wdXQoKVxuICAgIGNvbmZpcm1MZWF2aW5nQWxlcnQ6IEZvZWhuQ29uZmlybU1vZGFsQ29udGVudCA9IHtcbiAgICAgICAgaHRtbENvbnRlbnQ6IExFQVZJTkdfQUxFUlRfQ09OVEVOVCxcbiAgICAgICAgb2tCdXR0b25MYWJlbDogTEVBVklOR19BTEVSVF9PSyxcbiAgICAgICAgY2FuY2VsQnV0dG9uTGFiZWw6IExFQVZJTkdfQUxFUlRfQ0FOQ0VMXG4gICAgfTtcblxuICAgIC8qKlxuICAgICAqIElmIHNldCB0byAnZmFsc2UnLCBoaWRlIHRoZSBkZWZhdWx0IENvbnRhY3QgbGluayBpbiB0aGUgZm9vdGVyLlxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgc2hvd0RlZmF1bHRDb250YWN0Rm9vdGVyTGluayA9IHRydWU7XG5cbiAgICAvKipcbiAgICAgKiBJZiBzZXQgdG8gJ2ZhbHNlJywgaGlkZSB0aGUgZGVmYXVsdCBHdWlkZSBsaW5rIGluIHRoZSBmb290ZXIuXG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBzaG93RGVmYXVsdEd1aWRlRm9vdGVyTGluayA9IHRydWU7XG5cbiAgICAvKipcbiAgICAgKiBJZiBzZXQgdG8gJ2ZhbHNlJywgaGlkZSB0aGUgZGVmYXVsdCBUZXJtcyBvZiB1c2UgbGluay5cbiAgICAgKi9cbiAgICBASW5wdXQoKVxuICAgIHNob3dEZWZhdWx0VGVybU9mVXNlTGluayA9IHRydWU7XG5cbiAgICAvKipcbiAgICAgKiBJZiBzZXQgdG8gJ2ZhbHNlJywgaGlkZSB0aGUgZGVmYXVsdCBTZWN1cml0eSBCZXN0IFByYWN0aWNlIGxpbmsuXG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBzaG93RGVmYXVsdFNlY3VyaXR5QmVzdFByYWN0aWNlTGluayA9IHRydWU7XG5cbiAgICBwYWdlVGl0bGU6IHN0cmluZztcblxuICAgIGhhc0Jsb2NraW5nU3VwcG9ydEFsZXJ0OiBPYnNlcnZhYmxlPGJvb2xlYW4+O1xuXG4gICAgZGlzcGxheVVzZXJDYXRlZ29yeTogT2JzZXJ2YWJsZTxib29sZWFuPjtcblxuICAgIGRpc3BsYXlMb2dpbk1lc3NhZ2VzOiBPYnNlcnZhYmxlPERpc3BsYXlMb2dpbk1lc3NhZ2VzRGF0YT47XG5cbiAgICBpc0Jyb3dzZXJTdXBwb3J0ZWQ6IGJvb2xlYW47XG5cbiAgICBpc0FwcGxlUGxhdGZvcm06IGJvb2xlYW47XG5cbiAgICBicm93c2VyTGlua1RpdGxlUHJlZml4ID1cbiAgICAgICAgJ0xpZW4gcG91ciBsZSB0w6lsw6ljaGFyZ2VtZW50IGR1IG5hdmlnYXRldXIgaW50ZXJuZXQnO1xuXG4gICAgYnJvd3Nlck5vdFN1cHBvcnRlZEJ5cGFzcyA9IGZhbHNlO1xuXG4gICAgcHJpdmF0ZSByZWFkb25seSBibG9ja2VkU3Vic2NyaXB0aW9uOiBTdWJzY3JpcHRpb247XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHJpdmF0ZSBfdGl0bGVTZXJ2aWNlOiBUaXRsZSxcbiAgICAgICAgcHJpdmF0ZSBmb2VoblBhZ2VTZXJ2aWNlOiBGb2VoblBhZ2VTZXJ2aWNlLFxuICAgICAgICBwcml2YXRlIHN1cHBvcnRBbGVydFNlcnZpY2U6IFN1cHBvcnRBbGVydFNlcnZpY2UsXG4gICAgICAgIHByaXZhdGUgZm9laG5OYXZpZ2F0aW9uU2VydmljZTogRm9laG5OYXZpZ2F0aW9uU2VydmljZSxcbiAgICAgICAgcHJpdmF0ZSBhcHBsaWNhdGlvbkluZm9TZXJ2aWNlOiBBcHBsaWNhdGlvbkluZm9TZXJ2aWNlLFxuICAgICAgICBwcml2YXRlIGdlc2RlbUV2ZW50U2VydmljZTogR2VzZGVtRXZlbnRTZXJ2aWNlLFxuICAgICAgICBwcml2YXRlIGJyZWFkY3J1bWJTZXJ2aWNlOiBCcmVhZGNydW1iRXZlbnRTZXJ2aWNlLFxuICAgICAgICBwcml2YXRlIHJvdXRlcjogUm91dGVyLFxuICAgICAgICBwcml2YXRlIHNlc3Npb25JbmZvOiBTZXNzaW9uSW5mbyxcbiAgICAgICAgcHJpdmF0ZSBmb2VoblBhZ2VNb2RhbFNlcnZpY2U6IEZvZWhuUGFnZU1vZGFsU2VydmljZSxcbiAgICAgICAgcHJpdmF0ZSBzZGtEaWN0aW9uYXJ5U2VydmljZTogU2RrRGljdGlvbmFyeVNlcnZpY2VcbiAgICApIHtcbiAgICAgICAgdGhpcy5oYXNCbG9ja2luZ1N1cHBvcnRBbGVydCA9IHN1cHBvcnRBbGVydFNlcnZpY2UuZ2V0SGFzQXRMZWFzdE9uZUJsb2NraW5nQWxlcnQoKTtcblxuICAgICAgICB0aGlzLmJsb2NrZWRTdWJzY3JpcHRpb24gPSBjb21iaW5lTGF0ZXN0KFtcbiAgICAgICAgICAgIHRoaXMuZm9laG5QYWdlU2VydmljZS5mb2VoblBhZ2VPYnNlcnZhYmxlKCksXG4gICAgICAgICAgICAvLyBFbnN1cmVzIHRoZXJlIGlzIGF0IGxlYXN0IG9uZSB2YWx1ZSBpbiB0aGUgb2JzZXJ2YWJsZS5cbiAgICAgICAgICAgIG1lcmdlKG9mKGZhbHNlKSwgdGhpcy5oYXNCbG9ja2luZ1N1cHBvcnRBbGVydClcbiAgICAgICAgXSkuc3Vic2NyaWJlKChbdGl0bGUsIGJsb2NrZWRdKSA9PiB7XG4gICAgICAgICAgICBpZiAoYmxvY2tlZCkge1xuICAgICAgICAgICAgICAgIHRoaXMuc2V0UGFnZVRpdGxlKCdQcmVzdGF0aW9uIGluZGlzcG9uaWJsZScpO1xuICAgICAgICAgICAgfSBlbHNlIGlmICh0aXRsZSkge1xuICAgICAgICAgICAgICAgIHRoaXMuc2V0UGFnZVRpdGxlKHRpdGxlKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgICAgIHRoaXMuaXNCcm93c2VyU3VwcG9ydGVkID0gc3VwcG9ydGVkQnJvd3NlcnMudGVzdChuYXZpZ2F0b3IudXNlckFnZW50KTtcbiAgICAgICAgdGhpcy5pc0FwcGxlUGxhdGZvcm0gPSAvKE1hY3xpUGhvbmV8aVBvZHxpUGFkKS9pLnRlc3QoXG4gICAgICAgICAgICBuYXZpZ2F0b3IucGxhdGZvcm1cbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICAgICAgaWYgKCF0aGlzLmlzQnJvd3NlclN1cHBvcnRlZCkge1xuICAgICAgICAgICAgY29uc3QgcGFnZVRpdGxlID0gJ05hdmlnYXRldXIgbm9uIHN1cHBvcnTDqSc7XG4gICAgICAgICAgICB0aGlzLmZvZWhuUGFnZVNlcnZpY2Uuc2V0UGFnZVRpdGxlKHBhZ2VUaXRsZSk7XG4gICAgICAgICAgICB0aGlzLmJyZWFkY3J1bWJTZXJ2aWNlLnNldEN1cnJlbnRCcmVhZGNydW1iKHtcbiAgICAgICAgICAgICAgICB1cmw6IG51bGwsXG4gICAgICAgICAgICAgICAgcm91dGVyTGluazogbnVsbCxcbiAgICAgICAgICAgICAgICBsYWJlbDogcGFnZVRpdGxlXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IGlzSW5pdGlhbFN0ZXAgPSB0aGlzLmFwcGxpY2F0aW9uSW5mb1NlcnZpY2UuY3VycmVudEV0YXBlSW5mby5waXBlKFxuICAgICAgICAgICAgbWFwKFxuICAgICAgICAgICAgICAgIChjdXJyZW50RXRhcGVJbmZvOiBFdGFwZUluZm8pID0+XG4gICAgICAgICAgICAgICAgICAgIGN1cnJlbnRFdGFwZUluZm8gJiZcbiAgICAgICAgICAgICAgICAgICAgY3VycmVudEV0YXBlSW5mby5pZE1ldGllckV0YXBlID09PVxuICAgICAgICAgICAgICAgICAgICAgICAgY3VycmVudEV0YXBlSW5mby5pZE1ldGllclByZXN0YXRpb25cbiAgICAgICAgICAgIClcbiAgICAgICAgKTtcblxuICAgICAgICAvLyBjb25zdCBuYXZpZ2F0aW9uVXBkYXRlOiBPYnNlcnZhYmxlPGFueT4gPSBvZiAodHJ1ZSlcbiAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnlcbiAgICAgICAgY29uc3QgbmF2aWdhdGlvblVwZGF0ZTogT2JzZXJ2YWJsZTxhbnk+ID0gdGhpcy5yb3V0ZXIuZXZlbnRzLnBpcGUoXG4gICAgICAgICAgICBmaWx0ZXIoZXZlbnQgPT4gZXZlbnQgaW5zdGFuY2VvZiBOYXZpZ2F0aW9uRW5kKVxuICAgICAgICApO1xuXG4gICAgICAgIC8vIEVuc3VyZXMgdGhlcmUgaXMgYXQgbGVhc3Qgb25lIHZhbHVlIGluIHRoZSBvYnNlcnZhYmxlLlxuICAgICAgICBjb25zdCBuYXZpZ2F0aW9uQW5kSW5pdCA9IG1lcmdlKG9mKHRydWUpLCBuYXZpZ2F0aW9uVXBkYXRlKTtcbiAgICAgICAgY29uc3QgZm9ybVRyYW5zbWl0dGVkID0gbWVyZ2UoXG4gICAgICAgICAgICBvZih1bmRlZmluZWQpLFxuICAgICAgICAgICAgdGhpcy5nZXNkZW1FdmVudFNlcnZpY2UuZm9ybVRyYW5zbWl0dGVkT2JzZXJ2YWJsZSgpXG4gICAgICAgICk7XG5cbiAgICAgICAgdGhpcy5kaXNwbGF5VXNlckNhdGVnb3J5ID0gY29tYmluZUxhdGVzdChbXG4gICAgICAgICAgICBpc0luaXRpYWxTdGVwLFxuICAgICAgICAgICAgdGhpcy5mb2Vobk5hdmlnYXRpb25TZXJ2aWNlLmhhc0JlZW5Jbml0aWFsaXplZCgpLFxuICAgICAgICAgICAgZm9ybVRyYW5zbWl0dGVkLFxuICAgICAgICAgICAgbmF2aWdhdGlvbkFuZEluaXRcbiAgICAgICAgXSkucGlwZShcbiAgICAgICAgICAgIGRlYm91bmNlVGltZSgwKSwgLy8gd2l0aG91dCBkZWJvdW5jZVRpbWUsIHRoZSBvdXRjb21lIGlzIGxlc3MgZWZmZWN0aXZlLi4uXG4gICAgICAgICAgICBtYXAoKFtpbml0aWFsU3RlcCwgbmF2U2VydmljZUluaXRpYWxpemVkLCBiYWNrZW5kUmVzcG9uc2VdKSA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKG5hdlNlcnZpY2VJbml0aWFsaXplZCkge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBpc0ZpcnN0UGFnZSA9IHRoaXMuZm9laG5OYXZpZ2F0aW9uU2VydmljZS5pc0ZpcnN0Rm9ybVBhZ2UoKTtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgaXNMYXN0UGFnZSA9IHRoaXMuZm9laG5OYXZpZ2F0aW9uU2VydmljZS5pc0xhc3RGb3JtUGFnZSgpO1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBpc0N1cnJlbnRSb3V0ZURlZmluZWQgPVxuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5mb2Vobk5hdmlnYXRpb25TZXJ2aWNlLmdldEN1cnJlbnRSb3V0ZUluZGV4KCkgIT09XG4gICAgICAgICAgICAgICAgICAgICAgICBudWxsO1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5mb2VoblBhZ2VTZXJ2aWNlLmlzVXNlckNhdGVnb3J5VmlzaWJsZShcbiAgICAgICAgICAgICAgICAgICAgICAgIGlzRmlyc3RQYWdlLFxuICAgICAgICAgICAgICAgICAgICAgICAgaXNMYXN0UGFnZSxcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMudXNlckNvbm5lY3RlZEFzRGlzcGxheWVkLFxuICAgICAgICAgICAgICAgICAgICAgICAgaW5pdGlhbFN0ZXAsXG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLm5ldmVyQ29ubmVjdGVkLFxuICAgICAgICAgICAgICAgICAgICAgICAgYmFja2VuZFJlc3BvbnNlLFxuICAgICAgICAgICAgICAgICAgICAgICAgaXNDdXJyZW50Um91dGVEZWZpbmVkXG4gICAgICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgICAgIH0pXG4gICAgICAgICk7XG5cbiAgICAgICAgY29uc3QgZm9ybUluaXRpYWxpemF0aW9uT2JzZXJ2YWJsZSA9IG1lcmdlKFxuICAgICAgICAgICAgb2YodW5kZWZpbmVkKSxcbiAgICAgICAgICAgIHRoaXMuZ2VzZGVtRXZlbnRTZXJ2aWNlLmZvcm1Jbml0aWFsaXphdGlvbk9ic2VydmFibGUoKVxuICAgICAgICApO1xuXG4gICAgICAgIGlmICh0aGlzLm5ldmVyQ29ubmVjdGVkKSB7XG4gICAgICAgICAgICB0aGlzLmRpc3BsYXlMb2dpbk1lc3NhZ2VzID0gb2YoXG4gICAgICAgICAgICAgICAgbmV3IERpc3BsYXlMb2dpbk1lc3NhZ2VzRGF0YShmYWxzZSwgZmFsc2UpXG4gICAgICAgICAgICApO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5kaXNwbGF5TG9naW5NZXNzYWdlcyA9IGNvbWJpbmVMYXRlc3QoW1xuICAgICAgICAgICAgICAgIGZvcm1Jbml0aWFsaXphdGlvbk9ic2VydmFibGUsXG4gICAgICAgICAgICAgICAgdGhpcy5zZXNzaW9uSW5mby5kYXRhLFxuICAgICAgICAgICAgICAgIHRoaXMuYXBwbGljYXRpb25JbmZvU2VydmljZS5jdXJyZW50RXRhcGVJbmZvXG4gICAgICAgICAgICBdKS5waXBlKFxuICAgICAgICAgICAgICAgIGRlYm91bmNlVGltZSgwKSwgLy8gd2l0aG91dCBkZWJvdW5jZVRpbWUsIHRoZSBvdXRjb21lIGlzIGxlc3MgZWZmZWN0aXZlLi4uXG4gICAgICAgICAgICAgICAgbWFwKFxuICAgICAgICAgICAgICAgICAgICAoW1xuICAgICAgICAgICAgICAgICAgICAgICAgZm9ybUluaXRpYWxpemF0aW9uLFxuICAgICAgICAgICAgICAgICAgICAgICAgc2Vzc2lvbkluZm9EYXRhLFxuICAgICAgICAgICAgICAgICAgICAgICAgY3VycmVudEV0YXBlSW5mb1xuICAgICAgICAgICAgICAgICAgICBdKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBpc0Nvbm5lY3RlZEN5YmVyT3JJYW0gPSAhIXNlc3Npb25JbmZvRGF0YTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGlzTGFzdFBhZ2UgPSB0aGlzLmZvZWhuTmF2aWdhdGlvblNlcnZpY2UuaXNMYXN0Rm9ybVBhZ2UoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpc0Nvbm5lY3RlZEN5YmVyT3JJYW0gfHxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAhY3VycmVudEV0YXBlSW5mby5kZXBsb3llZUN5YmVyIHx8XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgISFmb3JtSW5pdGlhbGl6YXRpb24gfHxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpc0xhc3RQYWdlXG4gICAgICAgICAgICAgICAgICAgICAgICApIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gbmV3IERpc3BsYXlMb2dpbk1lc3NhZ2VzRGF0YShmYWxzZSwgZmFsc2UpO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gbmV3IERpc3BsYXlMb2dpbk1lc3NhZ2VzRGF0YShcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjdXJyZW50RXRhcGVJbmZvPy5kZWNpc2lvbkVsZWN0cm9uaXF1ZUF2YWlsYWJsZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0cnVlXG4gICAgICAgICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgZXRhcGVJZENoYW5nZSA9IGNoYW5nZXMuZXRhcGVJZDtcbiAgICAgICAgaWYgKGV0YXBlSWRDaGFuZ2UgJiYgZXRhcGVJZENoYW5nZS5jdXJyZW50VmFsdWUpIHtcbiAgICAgICAgICAgIHRoaXMuZm9laG5QYWdlU2VydmljZS5zZXRDdXJyZW50RXRhcGVJZChldGFwZUlkQ2hhbmdlLmN1cnJlbnRWYWx1ZSk7XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBhcHBUaXRsZUNoYW5nZSA9IGNoYW5nZXMuYXBwVGl0bGU7XG4gICAgICAgIGlmIChhcHBUaXRsZUNoYW5nZSkge1xuICAgICAgICAgICAgdGhpcy5fdGl0bGVTZXJ2aWNlLnNldFRpdGxlKGFwcFRpdGxlQ2hhbmdlLmN1cnJlbnRWYWx1ZSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuYmxvY2tlZFN1YnNjcmlwdGlvbikge1xuICAgICAgICAgICAgdGhpcy5ibG9ja2VkU3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBnZXRGdWxsTG9naW5VcmwoKTogT2JzZXJ2YWJsZTxzdHJpbmc+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZm9laG5QYWdlTW9kYWxTZXJ2aWNlLmJ1aWxkU2VsZlJlZGlyZWN0aW9uVGhyb3VnaEN5YmVyTG9naW4oKTtcbiAgICB9XG5cbiAgICBnZXRGdWxsTG9naW5NZXNzYWdlKFxuICAgICAgICBkZWNpc2lvbkVsZWN0cm9uaXF1ZUF2YWlsYWJsZTogYm9vbGVhblxuICAgICk6IE9ic2VydmFibGU8c3RyaW5nPiB7XG4gICAgICAgIGlmIChkZWNpc2lvbkVsZWN0cm9uaXF1ZUF2YWlsYWJsZSkge1xuICAgICAgICAgICAgcmV0dXJuIGNvbWJpbmVMYXRlc3QoW1xuICAgICAgICAgICAgICAgIHRoaXMuc2RrRGljdGlvbmFyeVNlcnZpY2UuZ2V0S2V5KCd1c2UtbG9naW4udGV4dCcpLFxuICAgICAgICAgICAgICAgIHRoaXMuc2RrRGljdGlvbmFyeVNlcnZpY2UuZ2V0S2V5KFxuICAgICAgICAgICAgICAgICAgICAndXNlLWxvZ2luLnRleHQuZGVjaXNpb24tZWxlY3Ryb25pcXVlLWF2YWlsYWJsZSdcbiAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICBdKS5waXBlKFxuICAgICAgICAgICAgICAgIG1hcChcbiAgICAgICAgICAgICAgICAgICAgKFtsb2dpbk1zZywgZGVjaXNpb25FbGVjdHJvbmlxdWVBdmFpbGFibGVNc2ddKSA9PlxuICAgICAgICAgICAgICAgICAgICAgICAgYCR7bG9naW5Nc2d9PGJyLz48YnIvPiR7ZGVjaXNpb25FbGVjdHJvbmlxdWVBdmFpbGFibGVNc2d9YFxuICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHRoaXMuc2RrRGljdGlvbmFyeVNlcnZpY2UuZ2V0S2V5KCd1c2UtbG9naW4udGV4dCcpO1xuICAgIH1cblxuICAgIHByaXZhdGUgc2V0UGFnZVRpdGxlKHRpdGxlOiBzdHJpbmcpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5wYWdlVGl0bGUgPSB0aXRsZTtcbiAgICB9XG59XG5cbmV4cG9ydCBjbGFzcyBEaXNwbGF5TG9naW5NZXNzYWdlc0RhdGEge1xuICAgIGRlY2lzaW9uRWxlY3Ryb25pcXVlQXZhaWxhYmxlOiBib29sZWFuO1xuICAgIGRpc3BsYXlTaG91bGRMb2dpbk1lc3NhZ2U6IGJvb2xlYW47XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgZGVjaXNpb25FbGVjdHJvbmlxdWVBdmFpbGFibGU6IGJvb2xlYW4sXG4gICAgICAgIGRpc3BsYXlTaG91bGRMb2dpbk1lc3NhZ2U6IGJvb2xlYW5cbiAgICApIHtcbiAgICAgICAgdGhpcy5kZWNpc2lvbkVsZWN0cm9uaXF1ZUF2YWlsYWJsZSA9IGRlY2lzaW9uRWxlY3Ryb25pcXVlQXZhaWxhYmxlO1xuICAgICAgICB0aGlzLmRpc3BsYXlTaG91bGRMb2dpbk1lc3NhZ2UgPSBkaXNwbGF5U2hvdWxkTG9naW5NZXNzYWdlO1xuICAgIH1cbn1cbiIsIjxmb2Vobi1oZWFkZXJcbiAgICBpZD1cImZvZWhuX2hlYWRlclwiXG4gICAgW3RpdGxlXT1cImFwcFRpdGxlXCJcbiAgICBbbmV2ZXJDb25uZWN0ZWRdPVwibmV2ZXJDb25uZWN0ZWRcIlxuPjwvZm9laG4taGVhZGVyPlxuPGZvZWhuLWdyb3dsIGlkPVwiZm9laG5fZ3Jvd2xcIj48L2ZvZWhuLWdyb3dsPlxuPGRpdiBjbGFzcz1cInZkLWJnLXBhdHRlcm4tZ3JheVwiPlxuICAgIDxkaXYgY2xhc3M9XCJjb250YWluZXJcIj5cbiAgICAgICAgPGZvZWhuLWJyZWFkY3J1bWJcbiAgICAgICAgICAgIFtuZXZlckNvbm5lY3RlZF09XCJuZXZlckNvbm5lY3RlZFwiXG4gICAgICAgICAgICBbY29uZmlybUxlYXZpbmdBbGVydF09XCJjb25maXJtTGVhdmluZ0FsZXJ0XCJcbiAgICAgICAgPjwvZm9laG4tYnJlYWRjcnVtYj5cbiAgICA8L2Rpdj5cbjwvZGl2PlxuPG1haW4gaWQ9XCJtYWluXCI+XG4gICAgPGRpdiBjbGFzcz1cInZkLWJnLXBhdHRlcm4tZ3JheVwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiY29udGFpbmVyXCI+XG4gICAgICAgICAgICA8IS0tIEZpeCBhbm5veWluZyBmbGlja2VyaW5nIHdoZW4gdGhlIHBhZ2UgbG9hZHMgLS0+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiaDEgbXQtMFwiICpuZ0lmPVwiIXBhZ2VUaXRsZVwiPiZuYnNwOzwvZGl2PlxuICAgICAgICAgICAgPGgxXG4gICAgICAgICAgICAgICAgW3RhYkluZGV4XT1cIi0xXCJcbiAgICAgICAgICAgICAgICBjbGFzcz1cIm10LTBcIlxuICAgICAgICAgICAgICAgIGlkPVwicGFnZS10aXRsZVwiXG4gICAgICAgICAgICAgICAgKm5nSWY9XCIhIXBhZ2VUaXRsZVwiXG4gICAgICAgICAgICAgICAgW2lubmVySFRNTF09XCJwYWdlVGl0bGVcIlxuICAgICAgICAgICAgPjwvaDE+XG4gICAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuXG4gICAgPHNlY3Rpb25cbiAgICAgICAgKm5nSWY9XCIhaXNCcm93c2VyU3VwcG9ydGVkXCJcbiAgICAgICAgY2xhc3M9XCJjb250YWluZXIgYWxlcnQgYWxlcnQtZGFuZ2VyXCJcbiAgICAgICAgaWQ9XCJicm93c2VyX25vdF9zdXBwb3J0ZWRfYmxvY2tcIlxuICAgICAgICByb2xlPVwiYWxlcnRcIlxuICAgID5cbiAgICAgICAgPHAgY2xhc3M9XCJhbGVydC1oZWFkaW5nXCI+XG4gICAgICAgICAgICA8c3Ryb25nPlxuICAgICAgICAgICAgICAgIENldHRlIHByZXN0YXRpb24gbuKAmWVzdCBwYXMgY29tcGF0aWJsZSBhdmVjIHZvdHJlIG5hdmlnYXRldXIuXG4gICAgICAgICAgICA8L3N0cm9uZz5cbiAgICAgICAgPC9wPlxuICAgICAgICA8cCBjbGFzcz1cIm1iLTBcIj5cbiAgICAgICAgICAgIE5vdXMgdm91cyBpbnZpdG9ucyDDoCB1dGlsaXNlciB1bmUgdmVyc2lvbiByw6ljZW50ZSBkZVxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFpc0FwcGxlUGxhdGZvcm1cIj5cbiAgICAgICAgICAgICAgICA8YVxuICAgICAgICAgICAgICAgICAgICBbdGl0bGVdPVwiYnJvd3NlckxpbmtUaXRsZVByZWZpeCArICcgRWRnZSdcIlxuICAgICAgICAgICAgICAgICAgICBocmVmPVwiaHR0cHM6Ly93d3cubWljcm9zb2Z0LmNvbS9mci1jaC93aW5kb3dzL21pY3Jvc29mdC1lZGdlXCJcbiAgICAgICAgICAgICAgICAgICAgdGFyZ2V0PVwiX2JsYW5rXCJcbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgIEVkZ2VcbiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJzci1vbmx5XCI+KGxpZW4gZXh0ZXJuZSk8L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgIDxzcGFuIGFyaWEtaGlkZGVuPVwidHJ1ZVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGZvZWhuLWljb24tZXh0ZXJuYWwtbGluay1hbHQ+PC9mb2Vobi1pY29uLWV4dGVybmFsLWxpbmstYWx0PlxuICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICAgICAgPC9hPlxuICAgICAgICAgICAgICAgICxcbiAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImlzQXBwbGVQbGF0Zm9ybVwiPlxuICAgICAgICAgICAgICAgIDxhXG4gICAgICAgICAgICAgICAgICAgIFt0aXRsZV09XCJicm93c2VyTGlua1RpdGxlUHJlZml4ICsgJyBTYWZhcmknXCJcbiAgICAgICAgICAgICAgICAgICAgaHJlZj1cImh0dHBzOi8vc3VwcG9ydC5hcHBsZS5jb20vZG93bmxvYWRzL3NhZmFyaVwiXG4gICAgICAgICAgICAgICAgICAgIHRhcmdldD1cIl9ibGFua1wiXG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICBTYWZhcmlcbiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJzci1vbmx5XCI+KGxpZW4gZXh0ZXJuZSk8L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgIDxzcGFuIGFyaWEtaGlkZGVuPVwidHJ1ZVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGZvZWhuLWljb24tZXh0ZXJuYWwtbGluay1hbHQ+PC9mb2Vobi1pY29uLWV4dGVybmFsLWxpbmstYWx0PlxuICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICAgICAgPC9hPlxuICAgICAgICAgICAgICAgICxcbiAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgPGFcbiAgICAgICAgICAgICAgICBbdGl0bGVdPVwiYnJvd3NlckxpbmtUaXRsZVByZWZpeCArICcgRmlyZWZveCdcIlxuICAgICAgICAgICAgICAgIGhyZWY9XCJodHRwczovL3d3dy5tb3ppbGxhLm9yZy9mci9maXJlZm94L1wiXG4gICAgICAgICAgICAgICAgdGFyZ2V0PVwiX2JsYW5rXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICBGaXJlZm94XG4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJzci1vbmx5XCI+KGxpZW4gZXh0ZXJuZSk8L3NwYW4+XG4gICAgICAgICAgICAgICAgPHNwYW4gYXJpYS1oaWRkZW49XCJ0cnVlXCI+XG4gICAgICAgICAgICAgICAgICAgIDxmb2Vobi1pY29uLWV4dGVybmFsLWxpbmstYWx0PjwvZm9laG4taWNvbi1leHRlcm5hbC1saW5rLWFsdD5cbiAgICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICA8L2E+XG4gICAgICAgICAgICBvdVxuICAgICAgICAgICAgPGFcbiAgICAgICAgICAgICAgICBbdGl0bGVdPVwiYnJvd3NlckxpbmtUaXRsZVByZWZpeCArICcgQ2hyb21lJ1wiXG4gICAgICAgICAgICAgICAgaHJlZj1cImh0dHBzOi8vd3d3Lmdvb2dsZS5jb20vaW50bC9mci9jaHJvbWUvXCJcbiAgICAgICAgICAgICAgICB0YXJnZXQ9XCJfYmxhbmtcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIENocm9tZVxuICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwic3Itb25seVwiPihsaWVuIGV4dGVybmUpPC9zcGFuPlxuICAgICAgICAgICAgICAgIDxzcGFuIGFyaWEtaGlkZGVuPVwidHJ1ZVwiPlxuICAgICAgICAgICAgICAgICAgICA8Zm9laG4taWNvbi1leHRlcm5hbC1saW5rLWFsdD48L2ZvZWhuLWljb24tZXh0ZXJuYWwtbGluay1hbHQ+XG4gICAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgPC9hPlxuICAgICAgICAgICAgLlxuICAgICAgICA8L3A+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJyb3cgbXQtM1wiPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1tZC0xMlwiPlxuICAgICAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgICAgICAgaWQ9XCJicm93c2VyX25vdF9zdXBwb3J0ZWRfYnlwYXNzXCJcbiAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJmbG9hdC1yaWdodCBidG4gYnRuLWRhbmdlclwiXG4gICAgICAgICAgICAgICAgICAgICpuZ0lmPVwiIWJyb3dzZXJOb3RTdXBwb3J0ZWRCeXBhc3NcIlxuICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwiYnJvd3Nlck5vdFN1cHBvcnRlZEJ5cGFzcyA9IHRydWVcIlxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgQ29udGludWVyIGF2ZWMgY2UgbmF2aWdhdGV1clxuICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgIDwvc2VjdGlvbj5cblxuICAgIDxzZGstc3VwcG9ydC1hbGVydC1jb250YWluZXJcbiAgICAgICAgKm5nSWY9XCJzdXBwb3J0QWxlcnRFbmFibGVkXCJcbiAgICAgICAgW2V0YXBlSWRdPVwiZXRhcGVJZFwiXG4gICAgICAgIFtzdXBwb3J0QWxlcnRVcmxdPVwic3VwcG9ydEFsZXJ0VXJsXCJcbiAgICA+PC9zZGstc3VwcG9ydC1hbGVydC1jb250YWluZXI+XG4gICAgPG5nLWNvbnRhaW5lclxuICAgICAgICAqbmdJZj1cIlxuICAgICAgICAgICAgIShoYXNCbG9ja2luZ1N1cHBvcnRBbGVydCB8IGFzeW5jKSAmJlxuICAgICAgICAgICAgKGlzQnJvd3NlclN1cHBvcnRlZCB8fCBicm93c2VyTm90U3VwcG9ydGVkQnlwYXNzKVxuICAgICAgICBcIlxuICAgID5cbiAgICAgICAgPGRpdiBjbGFzcz1cImNvbnRhaW5lciBtdC01XCIgaWQ9XCJwYWdlX2NvbnRlbnRcIj5cbiAgICAgICAgICAgIDxmb2Vobi11c2VyLWNvbm5lY3RlZC1hc1xuICAgICAgICAgICAgICAgICpuZ0lmPVwiZGlzcGxheVVzZXJDYXRlZ29yeSB8IGFzeW5jXCJcbiAgICAgICAgICAgID48L2ZvZWhuLXVzZXItY29ubmVjdGVkLWFzPlxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lclxuICAgICAgICAgICAgICAgICpuZ0lmPVwiZGlzcGxheUxvZ2luTWVzc2FnZXMgfCBhc3luYyBhcyBkaXNwbGF5TG9naW5NZXNzYWdlc0RhdGFcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICAgICAgKm5nSWY9XCJkaXNwbGF5TG9naW5NZXNzYWdlc0RhdGEuZGlzcGxheVNob3VsZExvZ2luTWVzc2FnZVwiXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiYWxlcnQgYWxlcnQtaW5mb1wiXG4gICAgICAgICAgICAgICAgICAgIGlkPVwiZGlzcGxheUxvZ2luTWVzc2FnZVwiXG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICA8cFxuICAgICAgICAgICAgICAgICAgICAgICAgW2lubmVySFRNTF09XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBnZXRGdWxsTG9naW5NZXNzYWdlKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5TG9naW5NZXNzYWdlc0RhdGEuZGVjaXNpb25FbGVjdHJvbmlxdWVBdmFpbGFibGVcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICApIHwgYXN5bmNcbiAgICAgICAgICAgICAgICAgICAgICAgIFwiXG4gICAgICAgICAgICAgICAgICAgID48L3A+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXgganVzdGlmeS1jb250ZW50LXN0YXJ0IG1yLTIgbWItMiBtdC0yXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8YVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiYnRuIGJ0bi1wcmltYXJ5XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbaHJlZl09XCJnZXRGdWxsTG9naW5VcmwoKSB8IGFzeW5jXCJcbiAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7eyAndXNlLWxvZ2luLmJ1dHRvbi50ZXh0JyB8IGZyb21EaWN0aW9uYXJ5IH19XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2E+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG4gICAgPC9uZy1jb250YWluZXI+XG48L21haW4+XG48Zm9laG4tZm9vdGVyXG4gICAgaWQ9XCJmb2Vobl9mb290ZXJcIlxuICAgIFtsaW5rc109XCJmb290ZXJMaW5rc1wiXG4gICAgW3Nob3dEZWZhdWx0Q29udGFjdExpbmtdPVwic2hvd0RlZmF1bHRDb250YWN0Rm9vdGVyTGlua1wiXG4gICAgW3Nob3dEZWZhdWx0R3VpZGVMaW5rXT1cInNob3dEZWZhdWx0R3VpZGVGb290ZXJMaW5rXCJcbiAgICBbc2hvd0RlZmF1bHRUZXJtT2ZVc2VMaW5rXT1cInNob3dEZWZhdWx0VGVybU9mVXNlTGlua1wiXG4gICAgW3Nob3dEZWZhdWx0U2VjdXJpdHlCZXN0UHJhY3RpY2VMaW5rXT1cInNob3dEZWZhdWx0U2VjdXJpdHlCZXN0UHJhY3RpY2VMaW5rXCJcbj48L2ZvZWhuLWZvb3Rlcj5cbjxmb2Vobi1wYWdlLW1vZGFsPjwvZm9laG4tcGFnZS1tb2RhbD5cbjxmb2Vobi1jb25maXJtLW1vZGFsPjwvZm9laG4tY29uZmlybS1tb2RhbD5cbiJdfQ==
214
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9laG4tcGFnZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9wcmVzdGF0aW9ucy1uZy9zcmMvZm9laG4tcGFnZS9mb2Vobi1wYWdlLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uL3Byb2plY3RzL3ByZXN0YXRpb25zLW5nL3NyYy9mb2Vobi1wYWdlL2ZvZWhuLXBhZ2UuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNILFNBQVMsRUFDVCxLQUFLLEVBS1IsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLGFBQWEsRUFBVSxNQUFNLGlCQUFpQixDQUFDO0FBS3hELE9BQU8sRUFBRSxhQUFhLEVBQUUsS0FBSyxFQUFjLEVBQUUsRUFBZ0IsTUFBTSxNQUFNLENBQUM7QUFHMUUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFLM0QsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUt6RCxNQUFNLHFCQUFxQixHQUN2QixrSEFBa0gsQ0FBQztBQUN2SCxNQUFNLGdCQUFnQixHQUFHLDZCQUE2QixDQUFDO0FBQ3ZELE1BQU0sb0JBQW9CLEdBQUcsMkJBQTJCLENBQUM7QUFNekQsTUFBTSxPQUFPLGtCQUFrQjtJQXdFM0IsWUFDWSxhQUFvQixFQUNwQixnQkFBa0MsRUFDbEMsbUJBQXdDLEVBQ3hDLHNCQUE4QyxFQUM5QyxzQkFBOEMsRUFDOUMsa0JBQXNDLEVBQ3RDLGlCQUF5QyxFQUN6QyxNQUFjLEVBQ2QsV0FBd0IsRUFDeEIscUJBQTRDLEVBQzVDLG9CQUEwQztRQVYxQyxrQkFBYSxHQUFiLGFBQWEsQ0FBTztRQUNwQixxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWtCO1FBQ2xDLHdCQUFtQixHQUFuQixtQkFBbUIsQ0FBcUI7UUFDeEMsMkJBQXNCLEdBQXRCLHNCQUFzQixDQUF3QjtRQUM5QywyQkFBc0IsR0FBdEIsc0JBQXNCLENBQXdCO1FBQzlDLHVCQUFrQixHQUFsQixrQkFBa0IsQ0FBb0I7UUFDdEMsc0JBQWlCLEdBQWpCLGlCQUFpQixDQUF3QjtRQUN6QyxXQUFNLEdBQU4sTUFBTSxDQUFRO1FBQ2QsZ0JBQVcsR0FBWCxXQUFXLENBQWE7UUFDeEIsMEJBQXFCLEdBQXJCLHFCQUFxQixDQUF1QjtRQUM1Qyx5QkFBb0IsR0FBcEIsb0JBQW9CLENBQXNCO1FBeEV0RCx3QkFBbUIsR0FBRyxJQUFJLENBQUM7UUFTM0IsNkJBQXdCLEdBQUcsSUFBSSxDQUFDO1FBR2hDLHdCQUFtQixHQUE2QjtZQUM1QyxXQUFXLEVBQUUscUJBQXFCO1lBQ2xDLGFBQWEsRUFBRSxnQkFBZ0I7WUFDL0IsaUJBQWlCLEVBQUUsb0JBQW9CO1NBQzFDLENBQUM7UUFFRjs7V0FFRztRQUVILGlDQUE0QixHQUFHLElBQUksQ0FBQztRQUVwQzs7V0FFRztRQUVILCtCQUEwQixHQUFHLElBQUksQ0FBQztRQUVsQzs7V0FFRztRQUVILDZCQUF3QixHQUFHLElBQUksQ0FBQztRQUVoQzs7V0FFRztRQUVILHdDQUFtQyxHQUFHLElBQUksQ0FBQztRQWMzQywyQkFBc0IsR0FDbEIsb0RBQW9ELENBQUM7UUFFekQsOEJBQXlCLEdBQUcsS0FBSyxDQUFDO1FBaUI5QixJQUFJLENBQUMsdUJBQXVCLEdBQUcsbUJBQW1CLENBQUMsNkJBQTZCLEVBQUUsQ0FBQztRQUVuRixJQUFJLENBQUMsbUJBQW1CLEdBQUcsYUFBYSxDQUFDO1lBQ3JDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxtQkFBbUIsRUFBRTtZQUMzQyx5REFBeUQ7WUFDekQsS0FBSyxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsRUFBRSxJQUFJLENBQUMsdUJBQXVCLENBQUM7U0FDakQsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsS0FBSyxFQUFFLE9BQU8sQ0FBQyxFQUFFLEVBQUU7WUFDOUIsSUFBSSxPQUFPLEVBQUU7Z0JBQ1QsSUFBSSxDQUFDLFlBQVksQ0FBQyx5QkFBeUIsQ0FBQyxDQUFDO2FBQ2hEO2lCQUFNLElBQUksS0FBSyxFQUFFO2dCQUNkLElBQUksQ0FBQyxZQUFZLENBQUMsS0FBSyxDQUFDLENBQUM7YUFDNUI7UUFDTCxDQUFDLENBQUMsQ0FBQztRQUNILElBQUksQ0FBQyxrQkFBa0IsR0FBRyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQ3RFLElBQUksQ0FBQyxlQUFlLEdBQUcseUJBQXlCLENBQUMsSUFBSSxDQUNqRCxTQUFTLENBQUMsUUFBUSxDQUNyQixDQUFDO0lBQ04sQ0FBQztJQUVELFFBQVE7UUFDSixJQUFJLENBQUMsSUFBSSxDQUFDLGtCQUFrQixFQUFFO1lBQzFCLE1BQU0sU0FBUyxHQUFHLHlCQUF5QixDQUFDO1lBQzVDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxZQUFZLENBQUMsU0FBUyxDQUFDLENBQUM7WUFDOUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLG9CQUFvQixDQUFDO2dCQUN4QyxHQUFHLEVBQUUsSUFBSTtnQkFDVCxVQUFVLEVBQUUsSUFBSTtnQkFDaEIsS0FBSyxFQUFFLFNBQVM7YUFDbkIsQ0FBQyxDQUFDO1NBQ047UUFFRCxNQUFNLGFBQWEsR0FBRyxJQUFJLENBQUMsc0JBQXNCLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUNuRSxHQUFHLENBQ0MsQ0FBQyxnQkFBMkIsRUFBRSxFQUFFLENBQzVCLGdCQUFnQjtZQUNoQixnQkFBZ0IsQ0FBQyxhQUFhO2dCQUMxQixnQkFBZ0IsQ0FBQyxrQkFBa0IsQ0FDOUMsQ0FDSixDQUFDO1FBRUYsc0RBQXNEO1FBQ3RELDhEQUE4RDtRQUM5RCxNQUFNLGdCQUFnQixHQUFvQixJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQzdELE1BQU0sQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLEtBQUssWUFBWSxhQUFhLENBQUMsQ0FDbEQsQ0FBQztRQUVGLHlEQUF5RDtRQUN6RCxNQUFNLGlCQUFpQixHQUFHLEtBQUssQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLEVBQUUsZ0JBQWdCLENBQUMsQ0FBQztRQUM1RCxNQUFNLGVBQWUsR0FBRyxLQUFLLENBQ3pCLEVBQUUsQ0FBQyxTQUFTLENBQUMsRUFDYixJQUFJLENBQUMsa0JBQWtCLENBQUMseUJBQXlCLEVBQUUsQ0FDdEQsQ0FBQztRQUVGLElBQUksQ0FBQyxtQkFBbUIsR0FBRyxhQUFhLENBQUM7WUFDckMsYUFBYTtZQUNiLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxrQkFBa0IsRUFBRTtZQUNoRCxlQUFlO1lBQ2YsaUJBQWlCO1NBQ3BCLENBQUMsQ0FBQyxJQUFJLENBQ0gsWUFBWSxDQUFDLENBQUMsQ0FBQyxFQUFFLHlEQUF5RDtRQUMxRSxHQUFHLENBQUMsQ0FBQyxDQUFDLFdBQVcsRUFBRSxxQkFBcUIsRUFBRSxlQUFlLENBQUMsRUFBRSxFQUFFO1lBQzFELElBQUkscUJBQXFCLEVBQUU7Z0JBQ3ZCLE1BQU0sV0FBVyxHQUFHLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxlQUFlLEVBQUUsQ0FBQztnQkFDbEUsTUFBTSxVQUFVLEdBQUcsSUFBSSxDQUFDLHNCQUFzQixDQUFDLGNBQWMsRUFBRSxDQUFDO2dCQUNoRSxNQUFNLHFCQUFxQixHQUN2QixJQUFJLENBQUMsc0JBQXNCLENBQUMsb0JBQW9CLEVBQUU7b0JBQ2xELElBQUksQ0FBQztnQkFDVCxPQUFPLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxxQkFBcUIsQ0FDOUMsV0FBVyxFQUNYLFVBQVUsRUFDVixJQUFJLENBQUMsd0JBQXdCLEVBQzdCLFdBQVcsRUFDWCxJQUFJLENBQUMsY0FBYyxFQUNuQixlQUFlLEVBQ2YscUJBQXFCLENBQ3hCLENBQUM7YUFDTDtZQUNELE9BQU8sS0FBSyxDQUFDO1FBQ2pCLENBQUMsQ0FBQyxDQUNMLENBQUM7UUFFRixNQUFNLDRCQUE0QixHQUFHLEtBQUssQ0FDdEMsRUFBRSxDQUFDLFNBQVMsQ0FBQyxFQUNiLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyw0QkFBNEIsRUFBRSxDQUN6RCxDQUFDO1FBRUYsSUFBSSxJQUFJLENBQUMsY0FBYyxFQUFFO1lBQ3JCLElBQUksQ0FBQyxvQkFBb0IsR0FBRyxFQUFFLENBQzFCLElBQUksd0JBQXdCLENBQUMsS0FBSyxFQUFFLEtBQUssQ0FBQyxDQUM3QyxDQUFDO1NBQ0w7YUFBTTtZQUNILElBQUksQ0FBQyxvQkFBb0IsR0FBRyxhQUFhLENBQUM7Z0JBQ3RDLDRCQUE0QjtnQkFDNUIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJO2dCQUNyQixJQUFJLENBQUMsc0JBQXNCLENBQUMsZ0JBQWdCO2FBQy9DLENBQUMsQ0FBQyxJQUFJLENBQ0gsWUFBWSxDQUFDLENBQUMsQ0FBQyxFQUFFLHlEQUF5RDtZQUMxRSxHQUFHLENBQ0MsQ0FBQyxDQUNHLGtCQUFrQixFQUNsQixlQUFlLEVBQ2YsZ0JBQWdCLENBQ25CLEVBQUUsRUFBRTtnQkFDRCxNQUFNLHFCQUFxQixHQUFHLENBQUMsQ0FBQyxlQUFlLENBQUM7Z0JBQ2hELE1BQU0sVUFBVSxHQUFHLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxjQUFjLEVBQUUsQ0FBQztnQkFDaEUsSUFDSSxxQkFBcUI7b0JBQ3JCLENBQUMsZ0JBQWdCLENBQUMsYUFBYTtvQkFDL0IsQ0FBQyxDQUFDLGtCQUFrQjtvQkFDcEIsVUFBVSxFQUNaO29CQUNFLE9BQU8sSUFBSSx3QkFBd0IsQ0FBQyxLQUFLLEVBQUUsS0FBSyxDQUFDLENBQUM7aUJBQ3JEO2dCQUVELE9BQU8sSUFBSSx3QkFBd0IsQ0FDL0IsZ0JBQWdCLGFBQWhCLGdCQUFnQix1QkFBaEIsZ0JBQWdCLENBQUUsNkJBQTZCLEVBQy9DLElBQUksQ0FDUCxDQUFDO1lBQ04sQ0FBQyxDQUNKLENBQ0osQ0FBQztTQUNMO0lBQ0wsQ0FBQztJQUVELFdBQVcsQ0FBQyxPQUFzQjtRQUM5QixNQUFNLGFBQWEsR0FBRyxPQUFPLENBQUMsT0FBTyxDQUFDO1FBQ3RDLElBQUksYUFBYSxJQUFJLGFBQWEsQ0FBQyxZQUFZLEVBQUU7WUFDN0MsSUFBSSxDQUFDLGdCQUFnQixDQUFDLGlCQUFpQixDQUFDLGFBQWEsQ0FBQyxZQUFZLENBQUMsQ0FBQztTQUN2RTtRQUVELE1BQU0sY0FBYyxHQUFHLE9BQU8sQ0FBQyxRQUFRLENBQUM7UUFDeEMsSUFBSSxjQUFjLEVBQUU7WUFDaEIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxRQUFRLENBQUMsY0FBYyxDQUFDLFlBQVksQ0FBQyxDQUFDO1NBQzVEO0lBQ0wsQ0FBQztJQUVELFdBQVc7UUFDUCxJQUFJLElBQUksQ0FBQyxtQkFBbUIsRUFBRTtZQUMxQixJQUFJLENBQUMsbUJBQW1CLENBQUMsV0FBVyxFQUFFLENBQUM7U0FDMUM7SUFDTCxDQUFDO0lBRUQsZUFBZTtRQUNYLE9BQU8sSUFBSSxDQUFDLHFCQUFxQixDQUFDLHFDQUFxQyxFQUFFLENBQUM7SUFDOUUsQ0FBQztJQUVELG1CQUFtQixDQUNmLDZCQUFzQztRQUV0QyxJQUFJLDZCQUE2QixFQUFFO1lBQy9CLE9BQU8sYUFBYSxDQUFDO2dCQUNqQixJQUFJLENBQUMsb0JBQW9CLENBQUMsTUFBTSxDQUFDLGdCQUFnQixDQUFDO2dCQUNsRCxJQUFJLENBQUMsb0JBQW9CLENBQUMsTUFBTSxDQUM1QixnREFBZ0QsQ0FDbkQ7YUFDSixDQUFDLENBQUMsSUFBSSxDQUNILEdBQUcsQ0FDQyxDQUFDLENBQUMsUUFBUSxFQUFFLGdDQUFnQyxDQUFDLEVBQUUsRUFBRSxDQUM3QyxHQUFHLFFBQVEsYUFBYSxnQ0FBZ0MsRUFBRSxDQUNqRSxDQUNKLENBQUM7U0FDTDtRQUNELE9BQU8sSUFBSSxDQUFDLG9CQUFvQixDQUFDLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO0lBQzlELENBQUM7SUFFTyxZQUFZLENBQUMsS0FBYTtRQUM5QixJQUFJLENBQUMsU0FBUyxHQUFHLEtBQUssQ0FBQztJQUMzQixDQUFDOzsrR0EzUFEsa0JBQWtCO21HQUFsQixrQkFBa0IsdW1CQ25DL0IsK2hNQW1LQTsyRkRoSWEsa0JBQWtCO2tCQUo5QixTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSxZQUFZO29CQUN0QixXQUFXLEVBQUUsNkJBQTZCO2lCQUM3QztxYUFHRyxRQUFRO3NCQURQLEtBQUs7Z0JBSU4sV0FBVztzQkFEVixLQUFLO2dCQUlOLGNBQWM7c0JBRGIsS0FBSztnQkFJTixtQkFBbUI7c0JBRGxCLEtBQUs7Z0JBSU4sZUFBZTtzQkFEZCxLQUFLO2dCQUlOLE9BQU87c0JBRE4sS0FBSztnQkFJTix3QkFBd0I7c0JBRHZCLEtBQUs7Z0JBSU4sbUJBQW1CO3NCQURsQixLQUFLO2dCQVdOLDRCQUE0QjtzQkFEM0IsS0FBSztnQkFPTiwwQkFBMEI7c0JBRHpCLEtBQUs7Z0JBT04sd0JBQXdCO3NCQUR2QixLQUFLO2dCQU9OLG1DQUFtQztzQkFEbEMsS0FBSzs7QUE0TVYsTUFBTSxPQUFPLHdCQUF3QjtJQUlqQyxZQUNJLDZCQUFzQyxFQUN0Qyx5QkFBa0M7UUFFbEMsSUFBSSxDQUFDLDZCQUE2QixHQUFHLDZCQUE2QixDQUFDO1FBQ25FLElBQUksQ0FBQyx5QkFBeUIsR0FBRyx5QkFBeUIsQ0FBQztJQUMvRCxDQUFDO0NBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIENvbXBvbmVudCxcbiAgICBJbnB1dCxcbiAgICBPbkNoYW5nZXMsXG4gICAgT25EZXN0cm95LFxuICAgIE9uSW5pdCxcbiAgICBTaW1wbGVDaGFuZ2VzXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTmF2aWdhdGlvbkVuZCwgUm91dGVyIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IEZvb3RlckxpbmsgfSBmcm9tICcuLi9mb2Vobi1mb290ZXIvZm9vdGVyLWxpbmsudHlwZSc7XG5pbXBvcnQgeyBUaXRsZSB9IGZyb20gJ0Bhbmd1bGFyL3BsYXRmb3JtLWJyb3dzZXInO1xuaW1wb3J0IHsgRm9laG5QYWdlU2VydmljZSB9IGZyb20gJy4vZm9laG4tcGFnZS5zZXJ2aWNlJztcbmltcG9ydCB7IFN1cHBvcnRBbGVydFNlcnZpY2UgfSBmcm9tICcuLi9zZGstc3VwcG9ydC1hbGVydC9zdXBwb3J0LWFsZXJ0LnNlcnZpY2UnO1xuaW1wb3J0IHsgY29tYmluZUxhdGVzdCwgbWVyZ2UsIE9ic2VydmFibGUsIG9mLCBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IEZvZWhuTmF2aWdhdGlvblNlcnZpY2UgfSBmcm9tICcuLi9mb2Vobi1uYXZpZ2F0aW9uL2ZvZWhuLW5hdmlnYXRpb24uc2VydmljZSc7XG5pbXBvcnQgeyBBcHBsaWNhdGlvbkluZm9TZXJ2aWNlIH0gZnJvbSAnLi4vc2RrLWFwcGluZm8vYXBwbGljYXRpb24taW5mby5zZXJ2aWNlJztcbmltcG9ydCB7IGRlYm91bmNlVGltZSwgZmlsdGVyLCBtYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBFdGFwZUluZm8gfSBmcm9tICcuLi9zZGstYXBwaW5mby9hcHBsaWNhdGlvbi1pbmZvJztcbmltcG9ydCB7IEdlc2RlbUV2ZW50U2VydmljZSB9IGZyb20gJy4uL2dlc2RlbS9nZXNkZW0tZXZlbnQuc2VydmljZSc7XG5pbXBvcnQgeyBGb2VobkNvbmZpcm1Nb2RhbENvbnRlbnQgfSBmcm9tICcuLi9mb2Vobi1jb25maXJtLW1vZGFsL2ZvZWhuLWNvbmZpcm0tbW9kYWwtY29udGVudCc7XG5pbXBvcnQgeyBCcmVhZGNydW1iRXZlbnRTZXJ2aWNlIH0gZnJvbSAnLi4vZm9laG4tYnJlYWRjcnVtYi9icmVhZGNydW1iLWV2ZW50LnNlcnZpY2UnO1xuaW1wb3J0IHsgc3VwcG9ydGVkQnJvd3NlcnMgfSBmcm9tICcuLi9zdXBwb3J0ZWQtYnJvd3Nlcic7XG5pbXBvcnQgeyBTZXNzaW9uSW5mbyB9IGZyb20gJy4uL3Nkay1zZXNzaW9uLWluZm8vc2Vzc2lvbi1pbmZvLnNlcnZpY2UnO1xuaW1wb3J0IHsgRm9laG5QYWdlTW9kYWxTZXJ2aWNlIH0gZnJvbSAnLi4vZm9laG4tcGFnZS9mb2Vobi1wYWdlLW1vZGFsLnNlcnZpY2UnO1xuaW1wb3J0IHsgU2RrRGljdGlvbmFyeVNlcnZpY2UgfSBmcm9tICcuLi9zZGstZGljdGlvbmFyeS9zZGstZGljdGlvbmFyeS5zZXJ2aWNlJztcblxuY29uc3QgTEVBVklOR19BTEVSVF9DT05URU5UID1cbiAgICAnQ2UgY2hhbmdlbWVudCBkZSBwYWdlIGVudHJhaW5lIHVuZSBwZXJ0ZSBkZXMgZG9ubsOpZXMgbm9uIHNhdXZlZ2FyZMOpZXMuPGJyLz5Tb3VoYWl0ZXotdm91cyBxdWFuZCBtw6ptZSBjb250aW51ZXIgPyc7XG5jb25zdCBMRUFWSU5HX0FMRVJUX09LID0gJ1BvdXJzdWl2cmUgc2FucyBzYXV2ZWdhcmRlcic7XG5jb25zdCBMRUFWSU5HX0FMRVJUX0NBTkNFTCA9ICdSZXRvdXJuZXIgw6AgbGEgcHJlc3RhdGlvbic7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnZm9laG4tcGFnZScsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2ZvZWhuLXBhZ2UuY29tcG9uZW50Lmh0bWwnXG59KVxuZXhwb3J0IGNsYXNzIEZvZWhuUGFnZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uRGVzdHJveSwgT25DaGFuZ2VzLCBPbkluaXQge1xuICAgIEBJbnB1dCgpXG4gICAgYXBwVGl0bGU6IHN0cmluZztcblxuICAgIEBJbnB1dCgpXG4gICAgZm9vdGVyTGlua3M6IEZvb3RlckxpbmtbXTtcblxuICAgIEBJbnB1dCgpXG4gICAgbmV2ZXJDb25uZWN0ZWQ6IGJvb2xlYW47XG5cbiAgICBASW5wdXQoKVxuICAgIHN1cHBvcnRBbGVydEVuYWJsZWQgPSB0cnVlO1xuXG4gICAgQElucHV0KClcbiAgICBzdXBwb3J0QWxlcnRVcmw6IHN0cmluZztcblxuICAgIEBJbnB1dCgpXG4gICAgZXRhcGVJZDogc3RyaW5nO1xuXG4gICAgQElucHV0KClcbiAgICB1c2VyQ29ubmVjdGVkQXNEaXNwbGF5ZWQgPSB0cnVlO1xuXG4gICAgQElucHV0KClcbiAgICBjb25maXJtTGVhdmluZ0FsZXJ0OiBGb2VobkNvbmZpcm1Nb2RhbENvbnRlbnQgPSB7XG4gICAgICAgIGh0bWxDb250ZW50OiBMRUFWSU5HX0FMRVJUX0NPTlRFTlQsXG4gICAgICAgIG9rQnV0dG9uTGFiZWw6IExFQVZJTkdfQUxFUlRfT0ssXG4gICAgICAgIGNhbmNlbEJ1dHRvbkxhYmVsOiBMRUFWSU5HX0FMRVJUX0NBTkNFTFxuICAgIH07XG5cbiAgICAvKipcbiAgICAgKiBJZiBzZXQgdG8gJ2ZhbHNlJywgaGlkZSB0aGUgZGVmYXVsdCBDb250YWN0IGxpbmsgaW4gdGhlIGZvb3Rlci5cbiAgICAgKi9cbiAgICBASW5wdXQoKVxuICAgIHNob3dEZWZhdWx0Q29udGFjdEZvb3RlckxpbmsgPSB0cnVlO1xuXG4gICAgLyoqXG4gICAgICogSWYgc2V0IHRvICdmYWxzZScsIGhpZGUgdGhlIGRlZmF1bHQgR3VpZGUgbGluayBpbiB0aGUgZm9vdGVyLlxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgc2hvd0RlZmF1bHRHdWlkZUZvb3RlckxpbmsgPSB0cnVlO1xuXG4gICAgLyoqXG4gICAgICogSWYgc2V0IHRvICdmYWxzZScsIGhpZGUgdGhlIGRlZmF1bHQgVGVybXMgb2YgdXNlIGxpbmsuXG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBzaG93RGVmYXVsdFRlcm1PZlVzZUxpbmsgPSB0cnVlO1xuXG4gICAgLyoqXG4gICAgICogSWYgc2V0IHRvICdmYWxzZScsIGhpZGUgdGhlIGRlZmF1bHQgU2VjdXJpdHkgQmVzdCBQcmFjdGljZSBsaW5rLlxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgc2hvd0RlZmF1bHRTZWN1cml0eUJlc3RQcmFjdGljZUxpbmsgPSB0cnVlO1xuXG4gICAgcGFnZVRpdGxlOiBzdHJpbmc7XG5cbiAgICBoYXNCbG9ja2luZ1N1cHBvcnRBbGVydDogT2JzZXJ2YWJsZTxib29sZWFuPjtcblxuICAgIGRpc3BsYXlVc2VyQ2F0ZWdvcnk6IE9ic2VydmFibGU8Ym9vbGVhbj47XG5cbiAgICBkaXNwbGF5TG9naW5NZXNzYWdlczogT2JzZXJ2YWJsZTxEaXNwbGF5TG9naW5NZXNzYWdlc0RhdGE+O1xuXG4gICAgaXNCcm93c2VyU3VwcG9ydGVkOiBib29sZWFuO1xuXG4gICAgaXNBcHBsZVBsYXRmb3JtOiBib29sZWFuO1xuXG4gICAgYnJvd3NlckxpbmtUaXRsZVByZWZpeCA9XG4gICAgICAgICdMaWVuIHBvdXIgbGUgdMOpbMOpY2hhcmdlbWVudCBkdSBuYXZpZ2F0ZXVyIGludGVybmV0JztcblxuICAgIGJyb3dzZXJOb3RTdXBwb3J0ZWRCeXBhc3MgPSBmYWxzZTtcblxuICAgIHByaXZhdGUgcmVhZG9ubHkgYmxvY2tlZFN1YnNjcmlwdGlvbjogU3Vic2NyaXB0aW9uO1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHByaXZhdGUgX3RpdGxlU2VydmljZTogVGl0bGUsXG4gICAgICAgIHByaXZhdGUgZm9laG5QYWdlU2VydmljZTogRm9laG5QYWdlU2VydmljZSxcbiAgICAgICAgcHJpdmF0ZSBzdXBwb3J0QWxlcnRTZXJ2aWNlOiBTdXBwb3J0QWxlcnRTZXJ2aWNlLFxuICAgICAgICBwcml2YXRlIGZvZWhuTmF2aWdhdGlvblNlcnZpY2U6IEZvZWhuTmF2aWdhdGlvblNlcnZpY2UsXG4gICAgICAgIHByaXZhdGUgYXBwbGljYXRpb25JbmZvU2VydmljZTogQXBwbGljYXRpb25JbmZvU2VydmljZSxcbiAgICAgICAgcHJpdmF0ZSBnZXNkZW1FdmVudFNlcnZpY2U6IEdlc2RlbUV2ZW50U2VydmljZSxcbiAgICAgICAgcHJpdmF0ZSBicmVhZGNydW1iU2VydmljZTogQnJlYWRjcnVtYkV2ZW50U2VydmljZSxcbiAgICAgICAgcHJpdmF0ZSByb3V0ZXI6IFJvdXRlcixcbiAgICAgICAgcHJpdmF0ZSBzZXNzaW9uSW5mbzogU2Vzc2lvbkluZm8sXG4gICAgICAgIHByaXZhdGUgZm9laG5QYWdlTW9kYWxTZXJ2aWNlOiBGb2VoblBhZ2VNb2RhbFNlcnZpY2UsXG4gICAgICAgIHByaXZhdGUgc2RrRGljdGlvbmFyeVNlcnZpY2U6IFNka0RpY3Rpb25hcnlTZXJ2aWNlXG4gICAgKSB7XG4gICAgICAgIHRoaXMuaGFzQmxvY2tpbmdTdXBwb3J0QWxlcnQgPSBzdXBwb3J0QWxlcnRTZXJ2aWNlLmdldEhhc0F0TGVhc3RPbmVCbG9ja2luZ0FsZXJ0KCk7XG5cbiAgICAgICAgdGhpcy5ibG9ja2VkU3Vic2NyaXB0aW9uID0gY29tYmluZUxhdGVzdChbXG4gICAgICAgICAgICB0aGlzLmZvZWhuUGFnZVNlcnZpY2UuZm9laG5QYWdlT2JzZXJ2YWJsZSgpLFxuICAgICAgICAgICAgLy8gRW5zdXJlcyB0aGVyZSBpcyBhdCBsZWFzdCBvbmUgdmFsdWUgaW4gdGhlIG9ic2VydmFibGUuXG4gICAgICAgICAgICBtZXJnZShvZihmYWxzZSksIHRoaXMuaGFzQmxvY2tpbmdTdXBwb3J0QWxlcnQpXG4gICAgICAgIF0pLnN1YnNjcmliZSgoW3RpdGxlLCBibG9ja2VkXSkgPT4ge1xuICAgICAgICAgICAgaWYgKGJsb2NrZWQpIHtcbiAgICAgICAgICAgICAgICB0aGlzLnNldFBhZ2VUaXRsZSgnUHJlc3RhdGlvbiBpbmRpc3BvbmlibGUnKTtcbiAgICAgICAgICAgIH0gZWxzZSBpZiAodGl0bGUpIHtcbiAgICAgICAgICAgICAgICB0aGlzLnNldFBhZ2VUaXRsZSh0aXRsZSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgICAgICB0aGlzLmlzQnJvd3NlclN1cHBvcnRlZCA9IHN1cHBvcnRlZEJyb3dzZXJzLnRlc3QobmF2aWdhdG9yLnVzZXJBZ2VudCk7XG4gICAgICAgIHRoaXMuaXNBcHBsZVBsYXRmb3JtID0gLyhNYWN8aVBob25lfGlQb2R8aVBhZCkvaS50ZXN0KFxuICAgICAgICAgICAgbmF2aWdhdG9yLnBsYXRmb3JtXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgICAgIGlmICghdGhpcy5pc0Jyb3dzZXJTdXBwb3J0ZWQpIHtcbiAgICAgICAgICAgIGNvbnN0IHBhZ2VUaXRsZSA9ICdOYXZpZ2F0ZXVyIG5vbiBzdXBwb3J0w6knO1xuICAgICAgICAgICAgdGhpcy5mb2VoblBhZ2VTZXJ2aWNlLnNldFBhZ2VUaXRsZShwYWdlVGl0bGUpO1xuICAgICAgICAgICAgdGhpcy5icmVhZGNydW1iU2VydmljZS5zZXRDdXJyZW50QnJlYWRjcnVtYih7XG4gICAgICAgICAgICAgICAgdXJsOiBudWxsLFxuICAgICAgICAgICAgICAgIHJvdXRlckxpbms6IG51bGwsXG4gICAgICAgICAgICAgICAgbGFiZWw6IHBhZ2VUaXRsZVxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBpc0luaXRpYWxTdGVwID0gdGhpcy5hcHBsaWNhdGlvbkluZm9TZXJ2aWNlLmN1cnJlbnRFdGFwZUluZm8ucGlwZShcbiAgICAgICAgICAgIG1hcChcbiAgICAgICAgICAgICAgICAoY3VycmVudEV0YXBlSW5mbzogRXRhcGVJbmZvKSA9PlxuICAgICAgICAgICAgICAgICAgICBjdXJyZW50RXRhcGVJbmZvICYmXG4gICAgICAgICAgICAgICAgICAgIGN1cnJlbnRFdGFwZUluZm8uaWRNZXRpZXJFdGFwZSA9PT1cbiAgICAgICAgICAgICAgICAgICAgICAgIGN1cnJlbnRFdGFwZUluZm8uaWRNZXRpZXJQcmVzdGF0aW9uXG4gICAgICAgICAgICApXG4gICAgICAgICk7XG5cbiAgICAgICAgLy8gY29uc3QgbmF2aWdhdGlvblVwZGF0ZTogT2JzZXJ2YWJsZTxhbnk+ID0gb2YgKHRydWUpXG4gICAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55XG4gICAgICAgIGNvbnN0IG5hdmlnYXRpb25VcGRhdGU6IE9ic2VydmFibGU8YW55PiA9IHRoaXMucm91dGVyLmV2ZW50cy5waXBlKFxuICAgICAgICAgICAgZmlsdGVyKGV2ZW50ID0+IGV2ZW50IGluc3RhbmNlb2YgTmF2aWdhdGlvbkVuZClcbiAgICAgICAgKTtcblxuICAgICAgICAvLyBFbnN1cmVzIHRoZXJlIGlzIGF0IGxlYXN0IG9uZSB2YWx1ZSBpbiB0aGUgb2JzZXJ2YWJsZS5cbiAgICAgICAgY29uc3QgbmF2aWdhdGlvbkFuZEluaXQgPSBtZXJnZShvZih0cnVlKSwgbmF2aWdhdGlvblVwZGF0ZSk7XG4gICAgICAgIGNvbnN0IGZvcm1UcmFuc21pdHRlZCA9IG1lcmdlKFxuICAgICAgICAgICAgb2YodW5kZWZpbmVkKSxcbiAgICAgICAgICAgIHRoaXMuZ2VzZGVtRXZlbnRTZXJ2aWNlLmZvcm1UcmFuc21pdHRlZE9ic2VydmFibGUoKVxuICAgICAgICApO1xuXG4gICAgICAgIHRoaXMuZGlzcGxheVVzZXJDYXRlZ29yeSA9IGNvbWJpbmVMYXRlc3QoW1xuICAgICAgICAgICAgaXNJbml0aWFsU3RlcCxcbiAgICAgICAgICAgIHRoaXMuZm9laG5OYXZpZ2F0aW9uU2VydmljZS5oYXNCZWVuSW5pdGlhbGl6ZWQoKSxcbiAgICAgICAgICAgIGZvcm1UcmFuc21pdHRlZCxcbiAgICAgICAgICAgIG5hdmlnYXRpb25BbmRJbml0XG4gICAgICAgIF0pLnBpcGUoXG4gICAgICAgICAgICBkZWJvdW5jZVRpbWUoMCksIC8vIHdpdGhvdXQgZGVib3VuY2VUaW1lLCB0aGUgb3V0Y29tZSBpcyBsZXNzIGVmZmVjdGl2ZS4uLlxuICAgICAgICAgICAgbWFwKChbaW5pdGlhbFN0ZXAsIG5hdlNlcnZpY2VJbml0aWFsaXplZCwgYmFja2VuZFJlc3BvbnNlXSkgPT4ge1xuICAgICAgICAgICAgICAgIGlmIChuYXZTZXJ2aWNlSW5pdGlhbGl6ZWQpIHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgaXNGaXJzdFBhZ2UgPSB0aGlzLmZvZWhuTmF2aWdhdGlvblNlcnZpY2UuaXNGaXJzdEZvcm1QYWdlKCk7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGlzTGFzdFBhZ2UgPSB0aGlzLmZvZWhuTmF2aWdhdGlvblNlcnZpY2UuaXNMYXN0Rm9ybVBhZ2UoKTtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgaXNDdXJyZW50Um91dGVEZWZpbmVkID1cbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuZm9laG5OYXZpZ2F0aW9uU2VydmljZS5nZXRDdXJyZW50Um91dGVJbmRleCgpICE9PVxuICAgICAgICAgICAgICAgICAgICAgICAgbnVsbDtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMuZm9laG5QYWdlU2VydmljZS5pc1VzZXJDYXRlZ29yeVZpc2libGUoXG4gICAgICAgICAgICAgICAgICAgICAgICBpc0ZpcnN0UGFnZSxcbiAgICAgICAgICAgICAgICAgICAgICAgIGlzTGFzdFBhZ2UsXG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnVzZXJDb25uZWN0ZWRBc0Rpc3BsYXllZCxcbiAgICAgICAgICAgICAgICAgICAgICAgIGluaXRpYWxTdGVwLFxuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5uZXZlckNvbm5lY3RlZCxcbiAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tlbmRSZXNwb25zZSxcbiAgICAgICAgICAgICAgICAgICAgICAgIGlzQ3VycmVudFJvdXRlRGVmaW5lZFxuICAgICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgICAgICB9KVxuICAgICAgICApO1xuXG4gICAgICAgIGNvbnN0IGZvcm1Jbml0aWFsaXphdGlvbk9ic2VydmFibGUgPSBtZXJnZShcbiAgICAgICAgICAgIG9mKHVuZGVmaW5lZCksXG4gICAgICAgICAgICB0aGlzLmdlc2RlbUV2ZW50U2VydmljZS5mb3JtSW5pdGlhbGl6YXRpb25PYnNlcnZhYmxlKClcbiAgICAgICAgKTtcblxuICAgICAgICBpZiAodGhpcy5uZXZlckNvbm5lY3RlZCkge1xuICAgICAgICAgICAgdGhpcy5kaXNwbGF5TG9naW5NZXNzYWdlcyA9IG9mKFxuICAgICAgICAgICAgICAgIG5ldyBEaXNwbGF5TG9naW5NZXNzYWdlc0RhdGEoZmFsc2UsIGZhbHNlKVxuICAgICAgICAgICAgKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuZGlzcGxheUxvZ2luTWVzc2FnZXMgPSBjb21iaW5lTGF0ZXN0KFtcbiAgICAgICAgICAgICAgICBmb3JtSW5pdGlhbGl6YXRpb25PYnNlcnZhYmxlLFxuICAgICAgICAgICAgICAgIHRoaXMuc2Vzc2lvbkluZm8uZGF0YSxcbiAgICAgICAgICAgICAgICB0aGlzLmFwcGxpY2F0aW9uSW5mb1NlcnZpY2UuY3VycmVudEV0YXBlSW5mb1xuICAgICAgICAgICAgXSkucGlwZShcbiAgICAgICAgICAgICAgICBkZWJvdW5jZVRpbWUoMCksIC8vIHdpdGhvdXQgZGVib3VuY2VUaW1lLCB0aGUgb3V0Y29tZSBpcyBsZXNzIGVmZmVjdGl2ZS4uLlxuICAgICAgICAgICAgICAgIG1hcChcbiAgICAgICAgICAgICAgICAgICAgKFtcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvcm1Jbml0aWFsaXphdGlvbixcbiAgICAgICAgICAgICAgICAgICAgICAgIHNlc3Npb25JbmZvRGF0YSxcbiAgICAgICAgICAgICAgICAgICAgICAgIGN1cnJlbnRFdGFwZUluZm9cbiAgICAgICAgICAgICAgICAgICAgXSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgaXNDb25uZWN0ZWRDeWJlck9ySWFtID0gISFzZXNzaW9uSW5mb0RhdGE7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBpc0xhc3RQYWdlID0gdGhpcy5mb2Vobk5hdmlnYXRpb25TZXJ2aWNlLmlzTGFzdEZvcm1QYWdlKCk7XG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaXNDb25uZWN0ZWRDeWJlck9ySWFtIHx8XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIWN1cnJlbnRFdGFwZUluZm8uZGVwbG95ZWVDeWJlciB8fFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICEhZm9ybUluaXRpYWxpemF0aW9uIHx8XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaXNMYXN0UGFnZVxuICAgICAgICAgICAgICAgICAgICAgICAgKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG5ldyBEaXNwbGF5TG9naW5NZXNzYWdlc0RhdGEoZmFsc2UsIGZhbHNlKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG5ldyBEaXNwbGF5TG9naW5NZXNzYWdlc0RhdGEoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY3VycmVudEV0YXBlSW5mbz8uZGVjaXNpb25FbGVjdHJvbmlxdWVBdmFpbGFibGUsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJ1ZVxuICAgICAgICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IGV0YXBlSWRDaGFuZ2UgPSBjaGFuZ2VzLmV0YXBlSWQ7XG4gICAgICAgIGlmIChldGFwZUlkQ2hhbmdlICYmIGV0YXBlSWRDaGFuZ2UuY3VycmVudFZhbHVlKSB7XG4gICAgICAgICAgICB0aGlzLmZvZWhuUGFnZVNlcnZpY2Uuc2V0Q3VycmVudEV0YXBlSWQoZXRhcGVJZENoYW5nZS5jdXJyZW50VmFsdWUpO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgYXBwVGl0bGVDaGFuZ2UgPSBjaGFuZ2VzLmFwcFRpdGxlO1xuICAgICAgICBpZiAoYXBwVGl0bGVDaGFuZ2UpIHtcbiAgICAgICAgICAgIHRoaXMuX3RpdGxlU2VydmljZS5zZXRUaXRsZShhcHBUaXRsZUNoYW5nZS5jdXJyZW50VmFsdWUpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLmJsb2NrZWRTdWJzY3JpcHRpb24pIHtcbiAgICAgICAgICAgIHRoaXMuYmxvY2tlZFN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgZ2V0RnVsbExvZ2luVXJsKCk6IE9ic2VydmFibGU8c3RyaW5nPiB7XG4gICAgICAgIHJldHVybiB0aGlzLmZvZWhuUGFnZU1vZGFsU2VydmljZS5idWlsZFNlbGZSZWRpcmVjdGlvblRocm91Z2hDeWJlckxvZ2luKCk7XG4gICAgfVxuXG4gICAgZ2V0RnVsbExvZ2luTWVzc2FnZShcbiAgICAgICAgZGVjaXNpb25FbGVjdHJvbmlxdWVBdmFpbGFibGU6IGJvb2xlYW5cbiAgICApOiBPYnNlcnZhYmxlPHN0cmluZz4ge1xuICAgICAgICBpZiAoZGVjaXNpb25FbGVjdHJvbmlxdWVBdmFpbGFibGUpIHtcbiAgICAgICAgICAgIHJldHVybiBjb21iaW5lTGF0ZXN0KFtcbiAgICAgICAgICAgICAgICB0aGlzLnNka0RpY3Rpb25hcnlTZXJ2aWNlLmdldEtleSgndXNlLWxvZ2luLnRleHQnKSxcbiAgICAgICAgICAgICAgICB0aGlzLnNka0RpY3Rpb25hcnlTZXJ2aWNlLmdldEtleShcbiAgICAgICAgICAgICAgICAgICAgJ3VzZS1sb2dpbi50ZXh0LmRlY2lzaW9uLWVsZWN0cm9uaXF1ZS1hdmFpbGFibGUnXG4gICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgXSkucGlwZShcbiAgICAgICAgICAgICAgICBtYXAoXG4gICAgICAgICAgICAgICAgICAgIChbbG9naW5Nc2csIGRlY2lzaW9uRWxlY3Ryb25pcXVlQXZhaWxhYmxlTXNnXSkgPT5cbiAgICAgICAgICAgICAgICAgICAgICAgIGAke2xvZ2luTXNnfTxici8+PGJyLz4ke2RlY2lzaW9uRWxlY3Ryb25pcXVlQXZhaWxhYmxlTXNnfWBcbiAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICApO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiB0aGlzLnNka0RpY3Rpb25hcnlTZXJ2aWNlLmdldEtleSgndXNlLWxvZ2luLnRleHQnKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHNldFBhZ2VUaXRsZSh0aXRsZTogc3RyaW5nKTogdm9pZCB7XG4gICAgICAgIHRoaXMucGFnZVRpdGxlID0gdGl0bGU7XG4gICAgfVxufVxuXG5leHBvcnQgY2xhc3MgRGlzcGxheUxvZ2luTWVzc2FnZXNEYXRhIHtcbiAgICBkZWNpc2lvbkVsZWN0cm9uaXF1ZUF2YWlsYWJsZTogYm9vbGVhbjtcbiAgICBkaXNwbGF5U2hvdWxkTG9naW5NZXNzYWdlOiBib29sZWFuO1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIGRlY2lzaW9uRWxlY3Ryb25pcXVlQXZhaWxhYmxlOiBib29sZWFuLFxuICAgICAgICBkaXNwbGF5U2hvdWxkTG9naW5NZXNzYWdlOiBib29sZWFuXG4gICAgKSB7XG4gICAgICAgIHRoaXMuZGVjaXNpb25FbGVjdHJvbmlxdWVBdmFpbGFibGUgPSBkZWNpc2lvbkVsZWN0cm9uaXF1ZUF2YWlsYWJsZTtcbiAgICAgICAgdGhpcy5kaXNwbGF5U2hvdWxkTG9naW5NZXNzYWdlID0gZGlzcGxheVNob3VsZExvZ2luTWVzc2FnZTtcbiAgICB9XG59XG4iLCI8Zm9laG4taGVhZGVyXG4gICAgaWQ9XCJmb2Vobl9oZWFkZXJcIlxuICAgIFt0aXRsZV09XCJhcHBUaXRsZVwiXG4gICAgW25ldmVyQ29ubmVjdGVkXT1cIm5ldmVyQ29ubmVjdGVkXCJcbj48L2ZvZWhuLWhlYWRlcj5cbjxmb2Vobi1ncm93bCBpZD1cImZvZWhuX2dyb3dsXCI+PC9mb2Vobi1ncm93bD5cbjxkaXYgY2xhc3M9XCJ2ZC1iZy1wYXR0ZXJuLWdyYXlcIj5cbiAgICA8ZGl2IGNsYXNzPVwiY29udGFpbmVyXCI+XG4gICAgICAgIDxmb2Vobi1icmVhZGNydW1iXG4gICAgICAgICAgICBbbmV2ZXJDb25uZWN0ZWRdPVwibmV2ZXJDb25uZWN0ZWRcIlxuICAgICAgICAgICAgW2NvbmZpcm1MZWF2aW5nQWxlcnRdPVwiY29uZmlybUxlYXZpbmdBbGVydFwiXG4gICAgICAgID48L2ZvZWhuLWJyZWFkY3J1bWI+XG4gICAgPC9kaXY+XG48L2Rpdj5cbjxtYWluIGlkPVwibWFpblwiPlxuICAgIDxkaXYgY2xhc3M9XCJ2ZC1iZy1wYXR0ZXJuLWdyYXlcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImNvbnRhaW5lclwiPlxuICAgICAgICAgICAgPCEtLSBGaXggYW5ub3lpbmcgZmxpY2tlcmluZyB3aGVuIHRoZSBwYWdlIGxvYWRzIC0tPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImgxIG10LTBcIiAqbmdJZj1cIiFwYWdlVGl0bGVcIj4mbmJzcDs8L2Rpdj5cbiAgICAgICAgICAgIDxoMVxuICAgICAgICAgICAgICAgIFt0YWJJbmRleF09XCItMVwiXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJtdC0wXCJcbiAgICAgICAgICAgICAgICBpZD1cInBhZ2UtdGl0bGVcIlxuICAgICAgICAgICAgICAgICpuZ0lmPVwiISFwYWdlVGl0bGVcIlxuICAgICAgICAgICAgICAgIFtpbm5lckhUTUxdPVwicGFnZVRpdGxlXCJcbiAgICAgICAgICAgID48L2gxPlxuICAgICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cblxuICAgIDxzZWN0aW9uXG4gICAgICAgICpuZ0lmPVwiIWlzQnJvd3NlclN1cHBvcnRlZFwiXG4gICAgICAgIGNsYXNzPVwiY29udGFpbmVyIGFsZXJ0IGFsZXJ0LWRhbmdlclwiXG4gICAgICAgIGlkPVwiYnJvd3Nlcl9ub3Rfc3VwcG9ydGVkX2Jsb2NrXCJcbiAgICAgICAgcm9sZT1cImFsZXJ0XCJcbiAgICA+XG4gICAgICAgIDxwIGNsYXNzPVwiYWxlcnQtaGVhZGluZ1wiPlxuICAgICAgICAgICAgPHN0cm9uZz5cbiAgICAgICAgICAgICAgICBDZXR0ZSBwcmVzdGF0aW9uIG7igJllc3QgcGFzIGNvbXBhdGlibGUgYXZlYyB2b3RyZSBuYXZpZ2F0ZXVyLlxuICAgICAgICAgICAgPC9zdHJvbmc+XG4gICAgICAgIDwvcD5cbiAgICAgICAgPHAgY2xhc3M9XCJtYi0wXCI+XG4gICAgICAgICAgICBOb3VzIHZvdXMgaW52aXRvbnMgw6AgdXRpbGlzZXIgdW5lIHZlcnNpb24gcsOpY2VudGUgZGVcbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCIhaXNBcHBsZVBsYXRmb3JtXCI+XG4gICAgICAgICAgICAgICAgPGFcbiAgICAgICAgICAgICAgICAgICAgW3RpdGxlXT1cImJyb3dzZXJMaW5rVGl0bGVQcmVmaXggKyAnIEVkZ2UnXCJcbiAgICAgICAgICAgICAgICAgICAgaHJlZj1cImh0dHBzOi8vd3d3Lm1pY3Jvc29mdC5jb20vZnItY2gvd2luZG93cy9taWNyb3NvZnQtZWRnZVwiXG4gICAgICAgICAgICAgICAgICAgIHRhcmdldD1cIl9ibGFua1wiXG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICBFZGdlXG4gICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwic3Itb25seVwiPihsaWVuIGV4dGVybmUpPC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICA8c3BhbiBhcmlhLWhpZGRlbj1cInRydWVcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxmb2Vobi1pY29uLWV4dGVybmFsLWxpbmstYWx0PjwvZm9laG4taWNvbi1leHRlcm5hbC1saW5rLWFsdD5cbiAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgICAgIDwvYT5cbiAgICAgICAgICAgICAgICAsXG4gICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJpc0FwcGxlUGxhdGZvcm1cIj5cbiAgICAgICAgICAgICAgICA8YVxuICAgICAgICAgICAgICAgICAgICBbdGl0bGVdPVwiYnJvd3NlckxpbmtUaXRsZVByZWZpeCArICcgU2FmYXJpJ1wiXG4gICAgICAgICAgICAgICAgICAgIGhyZWY9XCJodHRwczovL3N1cHBvcnQuYXBwbGUuY29tL2Rvd25sb2Fkcy9zYWZhcmlcIlxuICAgICAgICAgICAgICAgICAgICB0YXJnZXQ9XCJfYmxhbmtcIlxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgU2FmYXJpXG4gICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwic3Itb25seVwiPihsaWVuIGV4dGVybmUpPC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICA8c3BhbiBhcmlhLWhpZGRlbj1cInRydWVcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxmb2Vobi1pY29uLWV4dGVybmFsLWxpbmstYWx0PjwvZm9laG4taWNvbi1leHRlcm5hbC1saW5rLWFsdD5cbiAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgICAgIDwvYT5cbiAgICAgICAgICAgICAgICAsXG4gICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgIDxhXG4gICAgICAgICAgICAgICAgW3RpdGxlXT1cImJyb3dzZXJMaW5rVGl0bGVQcmVmaXggKyAnIEZpcmVmb3gnXCJcbiAgICAgICAgICAgICAgICBocmVmPVwiaHR0cHM6Ly93d3cubW96aWxsYS5vcmcvZnIvZmlyZWZveC9cIlxuICAgICAgICAgICAgICAgIHRhcmdldD1cIl9ibGFua1wiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgRmlyZWZveFxuICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwic3Itb25seVwiPihsaWVuIGV4dGVybmUpPC9zcGFuPlxuICAgICAgICAgICAgICAgIDxzcGFuIGFyaWEtaGlkZGVuPVwidHJ1ZVwiPlxuICAgICAgICAgICAgICAgICAgICA8Zm9laG4taWNvbi1leHRlcm5hbC1saW5rLWFsdD48L2ZvZWhuLWljb24tZXh0ZXJuYWwtbGluay1hbHQ+XG4gICAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgPC9hPlxuICAgICAgICAgICAgb3VcbiAgICAgICAgICAgIDxhXG4gICAgICAgICAgICAgICAgW3RpdGxlXT1cImJyb3dzZXJMaW5rVGl0bGVQcmVmaXggKyAnIENocm9tZSdcIlxuICAgICAgICAgICAgICAgIGhyZWY9XCJodHRwczovL3d3dy5nb29nbGUuY29tL2ludGwvZnIvY2hyb21lL1wiXG4gICAgICAgICAgICAgICAgdGFyZ2V0PVwiX2JsYW5rXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICBDaHJvbWVcbiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInNyLW9ubHlcIj4obGllbiBleHRlcm5lKTwvc3Bhbj5cbiAgICAgICAgICAgICAgICA8c3BhbiBhcmlhLWhpZGRlbj1cInRydWVcIj5cbiAgICAgICAgICAgICAgICAgICAgPGZvZWhuLWljb24tZXh0ZXJuYWwtbGluay1hbHQ+PC9mb2Vobi1pY29uLWV4dGVybmFsLWxpbmstYWx0PlxuICAgICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgIDwvYT5cbiAgICAgICAgICAgIC5cbiAgICAgICAgPC9wPlxuICAgICAgICA8ZGl2IGNsYXNzPVwicm93IG10LTNcIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbWQtMTJcIj5cbiAgICAgICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgICAgICAgIGlkPVwiYnJvd3Nlcl9ub3Rfc3VwcG9ydGVkX2J5cGFzc1wiXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiZmxvYXQtcmlnaHQgYnRuIGJ0bi1kYW5nZXJcIlxuICAgICAgICAgICAgICAgICAgICAqbmdJZj1cIiFicm93c2VyTm90U3VwcG9ydGVkQnlwYXNzXCJcbiAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cImJyb3dzZXJOb3RTdXBwb3J0ZWRCeXBhc3MgPSB0cnVlXCJcbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgIENvbnRpbnVlciBhdmVjIGNlIG5hdmlnYXRldXJcbiAgICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICA8L3NlY3Rpb24+XG5cbiAgICA8c2RrLXN1cHBvcnQtYWxlcnQtY29udGFpbmVyXG4gICAgICAgICpuZ0lmPVwic3VwcG9ydEFsZXJ0RW5hYmxlZFwiXG4gICAgICAgIFtldGFwZUlkXT1cImV0YXBlSWRcIlxuICAgICAgICBbc3VwcG9ydEFsZXJ0VXJsXT1cInN1cHBvcnRBbGVydFVybFwiXG4gICAgPjwvc2RrLXN1cHBvcnQtYWxlcnQtY29udGFpbmVyPlxuICAgIDxuZy1jb250YWluZXJcbiAgICAgICAgKm5nSWY9XCJcbiAgICAgICAgICAgICEoaGFzQmxvY2tpbmdTdXBwb3J0QWxlcnQgfCBhc3luYykgJiZcbiAgICAgICAgICAgIChpc0Jyb3dzZXJTdXBwb3J0ZWQgfHwgYnJvd3Nlck5vdFN1cHBvcnRlZEJ5cGFzcylcbiAgICAgICAgXCJcbiAgICA+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJjb250YWluZXIgbXQtNVwiIGlkPVwicGFnZV9jb250ZW50XCI+XG4gICAgICAgICAgICA8Zm9laG4tdXNlci1jb25uZWN0ZWQtYXNcbiAgICAgICAgICAgICAgICAqbmdJZj1cImRpc3BsYXlVc2VyQ2F0ZWdvcnkgfCBhc3luY1wiXG4gICAgICAgICAgICA+PC9mb2Vobi11c2VyLWNvbm5lY3RlZC1hcz5cbiAgICAgICAgICAgIDxuZy1jb250YWluZXJcbiAgICAgICAgICAgICAgICAqbmdJZj1cImRpc3BsYXlMb2dpbk1lc3NhZ2VzIHwgYXN5bmMgYXMgZGlzcGxheUxvZ2luTWVzc2FnZXNEYXRhXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgICAgICpuZ0lmPVwiZGlzcGxheUxvZ2luTWVzc2FnZXNEYXRhLmRpc3BsYXlTaG91bGRMb2dpbk1lc3NhZ2VcIlxuICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImFsZXJ0IGFsZXJ0LWluZm9cIlxuICAgICAgICAgICAgICAgICAgICBpZD1cImRpc3BsYXlMb2dpbk1lc3NhZ2VcIlxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgPHBcbiAgICAgICAgICAgICAgICAgICAgICAgIFtpbm5lckhUTUxdPVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZ2V0RnVsbExvZ2luTWVzc2FnZShcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheUxvZ2luTWVzc2FnZXNEYXRhLmRlY2lzaW9uRWxlY3Ryb25pcXVlQXZhaWxhYmxlXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKSB8IGFzeW5jXG4gICAgICAgICAgICAgICAgICAgICAgICBcIlxuICAgICAgICAgICAgICAgICAgICA+PC9wPlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGp1c3RpZnktY29udGVudC1zdGFydCBtci0yIG1iLTIgbXQtMlwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGFcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImJ0biBidG4tcHJpbWFyeVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW2hyZWZdPVwiZ2V0RnVsbExvZ2luVXJsKCkgfCBhc3luY1wiXG4gICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAge3sgJ3VzZS1sb2dpbi5idXR0b24udGV4dCcgfCBmcm9tRGljdGlvbmFyeSB9fVxuICAgICAgICAgICAgICAgICAgICAgICAgPC9hPlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuICAgIDwvbmctY29udGFpbmVyPlxuPC9tYWluPlxuPGZvZWhuLWZvb3RlclxuICAgIGlkPVwiZm9laG5fZm9vdGVyXCJcbiAgICBbbGlua3NdPVwiZm9vdGVyTGlua3NcIlxuICAgIFtzaG93RGVmYXVsdENvbnRhY3RMaW5rXT1cInNob3dEZWZhdWx0Q29udGFjdEZvb3RlckxpbmtcIlxuICAgIFtzaG93RGVmYXVsdEd1aWRlTGlua109XCJzaG93RGVmYXVsdEd1aWRlRm9vdGVyTGlua1wiXG4gICAgW3Nob3dEZWZhdWx0VGVybU9mVXNlTGlua109XCJzaG93RGVmYXVsdFRlcm1PZlVzZUxpbmtcIlxuICAgIFtzaG93RGVmYXVsdFNlY3VyaXR5QmVzdFByYWN0aWNlTGlua109XCJzaG93RGVmYXVsdFNlY3VyaXR5QmVzdFByYWN0aWNlTGlua1wiXG4+PC9mb2Vobi1mb290ZXI+XG48Zm9laG4tcGFnZS1tb2RhbD48L2ZvZWhuLXBhZ2UtbW9kYWw+XG48Zm9laG4tY29uZmlybS1tb2RhbD48L2ZvZWhuLWNvbmZpcm0tbW9kYWw+XG4iXX0=
@@ -8,9 +8,7 @@ import * as i4 from "../foehn-icons/foehn-icon-chevron-right.component";
8
8
  import * as i5 from "@angular/common";
9
9
  import * as i6 from "@angular/router";
10
10
  import * as i7 from "../sdk-dictionary/sdk-dictionary.pipe";
11
- const hasInputChanged = (change) => !(!change ||
12
- !change.currentValue ||
13
- ObjectHelper.isEqual(change.previousValue, change.currentValue));
11
+ const hasInputChanged = (change) => change && !ObjectHelper.isEqual(change.previousValue, change.currentValue);
14
12
  export class FoehnTableComponent {
15
13
  constructor() {
16
14
  this.itemsPerPage = 10;
@@ -150,4 +148,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.4", ngImpor
150
148
  }], list: [{
151
149
  type: Input
152
150
  }] } });
153
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9laG4tdGFibGUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvcHJlc3RhdGlvbnMtbmcvc3JjL2ZvZWhuLXRhYmxlL2ZvZWhuLXRhYmxlLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uL3Byb2plY3RzL3ByZXN0YXRpb25zLW5nL3NyYy9mb2Vobi10YWJsZS9mb2Vobi10YWJsZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0gsU0FBUyxFQUNULFlBQVksRUFDWixLQUFLLEVBRUwsTUFBTSxFQUdULE1BQU0sZUFBZSxDQUFDO0FBSXZCLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQzs7Ozs7Ozs7O0FBRXhELE1BQU0sZUFBZSxHQUFHLENBQUMsTUFBb0IsRUFBVyxFQUFFLENBQ3RELENBQUMsQ0FDRyxDQUFDLE1BQU07SUFDUCxDQUFDLE1BQU0sQ0FBQyxZQUFZO0lBQ3BCLFlBQVksQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLGFBQWEsRUFBRSxNQUFNLENBQUMsWUFBWSxDQUFDLENBQ2xFLENBQUM7QUFPTixNQUFNLE9BQU8sbUJBQW1CO0lBTGhDO1FBT0ksaUJBQVksR0FBRyxFQUFFLENBQUM7UUFHbEIsT0FBRSxHQUFHLGFBQWEsQ0FBQztRQUduQixrQkFBYSxHQUFHLFdBQVcsQ0FBQztRQUc1QixjQUFTLEdBQUcsU0FBUyxDQUFDO1FBWXRCLGVBQVUsR0FBRyxJQUFJLFlBQVksRUFBNkIsQ0FBQztRQU0zRCxlQUFVLEdBQUcsSUFBSSxZQUFZLEVBQWEsQ0FBQztRQUUzQyxnQkFBVyxHQUFHLENBQUMsQ0FBQztRQUVoQixpQkFBWSxHQUFjLEVBQUUsQ0FBQztRQUs3Qiw2REFBNkQ7UUFDN0QsY0FBUyxHQUFHLENBQUMsS0FBYSxFQUFFLElBQWEsRUFBVSxFQUFFLENBQUMsS0FBSyxDQUFDO0tBaUgvRDtJQS9HRyxJQUNJ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LFdBQVcsRUFBRSw4QkFBOEI7b0JBQzNDLFNBQVMsRUFBRSxDQUFDLDZCQUE2QixDQUFDO2lCQUM3Qzs4QkFHRyxZQUFZO3NCQURYLEtBQUs7Z0JBSU4sRUFBRTtzQkFERCxLQUFLO2dCQUlOLGFBQWE7c0JBRFosS0FBSztnQkFJTixTQUFTO3NCQURSLEtBQUs7Z0JBSU4sYUFBYTtzQkFEWixLQUFLO2dCQUlOLGNBQWM7c0JBRGIsS0FBSztnQkFJTixvQkFBb0I7c0JBRG5CLEtBQUs7Z0JBSU4sVUFBVTtzQkFEVCxNQUFNO2dCQUlQLElBQUk7c0JBREgsS0FBSztnQkFJTixVQUFVO3NCQURULE1BQU07O1FBVVAsNkRBQTZEO1FBQzdELFNBQVM7c0JBRlIsS0FBSztnQkFLRixJQUFJO3NCQURQLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIENvbXBvbmVudCxcbiAgICBFdmVudEVtaXR0ZXIsXG4gICAgSW5wdXQsXG4gICAgT25DaGFuZ2VzLFxuICAgIE91dHB1dCxcbiAgICBTaW1wbGVDaGFuZ2UsXG4gICAgU2ltcGxlQ2hhbmdlc1xufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZvZWhuVGFibGVQYWdlQ2hhbmdlRXZlbnQgfSBmcm9tICcuL2ZvZWhuLXRhYmxlLXBhZ2UtY2hhbmdlLWV2ZW50JztcbmltcG9ydCB7IEZvZWhuVGFibGVDb2x1bW5Db25maWd1cmF0aW9uIH0gZnJvbSAnLi9mb2Vobi10YWJsZS1jb2x1bW4tY29uZmlndXJhdGlvbic7XG5pbXBvcnQgeyBUYWJsZVNvcnQgfSBmcm9tICcuL3RhYmxlU29ydCc7XG5pbXBvcnQgeyBPYmplY3RIZWxwZXIgfSBmcm9tICcuLi9oZWxwZXJzL29iamVjdC5oZWxwZXInO1xuXG5jb25zdCBoYXNJbnB1dENoYW5nZWQgPSAoY2hhbmdlOiBTaW1wbGVDaGFuZ2UpOiBib29sZWFuID0+XG4gICAgIShcbiAgICAgICAgIWNoYW5nZSB8fFxuICAgICAgICAhY2hhbmdlLmN1cnJlbnRWYWx1ZSB8fFxuICAgICAgICBPYmplY3RIZWxwZXIuaXNFcXVhbChjaGFuZ2UucHJldmlvdXNWYWx1ZSwgY2hhbmdlLmN1cnJlbnRWYWx1ZSlcbiAgICApO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2ZvZWhuLXRhYmxlJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vZm9laG4tdGFibGUuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL2ZvZWhuLXRhYmxlLmNvbXBvbmVudC5jc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBGb2VoblRhYmxlQ29tcG9uZW50IGltcGxlbWVudHMgT25DaGFuZ2VzIHtcbiAgICBASW5wdXQoKVxuICAgIGl0ZW1zUGVyUGFnZSA9IDEwO1xuXG4gICAgQElucHV0KClcbiAgICBpZCA9ICdmb2Vobi10YWJsZSc7XG5cbiAgICBASW5wdXQoKVxuICAgIHByZXZpb3VzTGFiZWwgPSAnUHLDqWPDqWRlbnQnO1xuXG4gICAgQElucHV0KClcbiAgICBuZXh0TGFiZWwgPSAnU3VpdmFudCc7XG5cbiAgICBASW5wdXQoKVxuICAgIHRvdGFsRWxlbWVudHM6IG51bWJlcjtcblxuICAgIEBJbnB1dCgpXG4gICAgZml4ZWRQYWdlQ291bnQ6IG51bWJlcjtcblxuICAgIEBJbnB1dCgpXG4gICAgY29sdW1uc0NvbmZpZ3VyYXRpb246IEZvZWhuVGFibGVDb2x1bW5Db25maWd1cmF0aW9uPHVua25vd24+W107XG5cbiAgICBAT3V0cHV0KClcbiAgICBwYWdlQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxGb2VoblRhYmxlUGFnZUNoYW5nZUV2ZW50PigpO1xuXG4gICAgQElucHV0KClcbiAgICBzb3J0OiBUYWJsZVNvcnQ7XG5cbiAgICBAT3V0cHV0KClcbiAgICBzb3J0Q2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxUYWJsZVNvcnQ+KCk7XG5cbiAgICBjdXJyZW50UGFnZSA9IDE7XG5cbiAgICBmaWx0ZXJlZExpc3Q6IHVua25vd25bXSA9IFtdO1xuXG4gICAgcHJpdmF0ZSBfbGlzdDogdW5rbm93bltdO1xuXG4gICAgQElucHV0KClcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLXVudXNlZC12YXJzXG4gICAgdHJhY2tCeUZuID0gKGluZGV4OiBudW1iZXIsIGl0ZW06IHVua25vd24pOiBudW1iZXIgPT4gaW5kZXg7XG5cbiAgICBASW5wdXQoKVxuICAgIHNldCBsaXN0KGxpc3Q6IHVua25vd25bXSkge1xuICAgICAgICB0aGlzLl9saXN0ID0gbGlzdDtcbiAgICB9XG5cbiAgICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IGl0ZW1zUGVyUGFnZUNoYW5nZTogU2ltcGxlQ2hhbmdlID0gY2hhbmdlcy5pdGVtc1BlclBhZ2U7XG4gICAgICAgIGNvbnN0IGxpc3RDaGFuZ2U6IFNpbXBsZUNoYW5nZSA9IGNoYW5nZXMubGlzdDtcbiAgICAgICAgY29uc3QgZml4ZWRQYWdlQ291bnRDaGFuZ2U6IFNpbXBsZUNoYW5nZSA9IGNoYW5nZXMuZml4ZWRQYWdlQ291bnQ7XG4gICAgICAgIGNvbnN0IHNvcnRJbnB1dENoYW5nZTogU2ltcGxlQ2hhbmdlID0gY2hhbmdlcy5zb3J0O1xuXG4gICAgICAgIGlmIChcbiAgICAgICAgICAgICFoYXNJbnB1dENoYW5nZWQoaXRlbXNQZXJQYWdlQ2hhbmdlKSAmJlxuICAgICAgICAgICAgIWhhc0lucHV0Q2hhbmdlZChsaXN0Q2hhbmdlKSAmJlxuICAgICAgICAgICAgIWhhc0lucHV0Q2hhbmdlZChmaXhlZFBhZ2VDb3VudENoYW5nZSkgJiZcbiAgICAgICAgICAgICFoYXNJbnB1dENoYW5nZWQoc29ydElucHV0Q2hhbmdlKVxuICAgICAgICApIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuYnVpbGRGaWx0ZXJlZExpc3QoKTtcbiAgICB9XG5cbiAgICBwcmV2aW91c1BhZ2UoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuY3VycmVudFBhZ2UgPSB0aGlzLmN1cnJlbnRQYWdlIC0gMTtcbiAgICAgICAgdGhpcy5idWlsZEZpbHRlcmVkTGlzdCgpO1xuICAgICAgICB0aGlzLnBhZ2VDaGFuZ2UubmV4dCh7XG4gICAgICAgICAgICBwcmV2aW91c1BhZ2U6IHRoaXMuY3VycmVudFBhZ2UgKyAxLFxuICAgICAgICAgICAgY3VycmVudFBhZ2U6IHRoaXMuY3VycmVudFBhZ2UsXG4gICAgICAgICAgICBwYWdlQ291bnQ6IHRoaXMucGFnZXNDb3VudCgpXG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIGhhc1ByZXZpb3VzUGFnZSgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuY3VycmVudFBhZ2UgPiAxO1xuICAgIH1cblxuICAgIG5leHRQYWdlKCk6IHZvaWQge1xuICAgICAgICB0aGlzLmN1cnJlbnRQYWdlID0gdGhpcy5jdXJyZW50UGFnZSArIDE7XG4gICAgICAgIHRoaXMuYnVpbGRGaWx0ZXJlZExpc3QoKTtcblxuICAgICAgICB0aGlzLnBhZ2VDaGFuZ2UubmV4dCh7XG4gICAgICAgICAgICBwcmV2aW91c1BhZ2U6IHRoaXMuY3VycmVudFBhZ2UgLSAxLFxuICAgICAgICAgICAgY3VycmVudFBhZ2U6IHRoaXMuY3VycmVudFBhZ2UsXG4gICAgICAgICAgICBwYWdlQ291bnQ6IHRoaXMucGFnZXNDb3VudCgpXG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIGhhc05leHRQYWdlKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5jdXJyZW50UGFnZSA8IHRoaXMucGFnZXNDb3VudCgpO1xuICAgIH1cblxuICAgIHNob3dQYWdlKHBhZ2U6IG51bWJlciwgZW1pdFBhZ2VDaGFuZ2VFdmVudDogYm9vbGVhbiA9IGZhbHNlKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLmN1cnJlbnRQYWdlID09PSBwYWdlKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBwcmV2aW91c1BhZ2UgPSB0aGlzLmN1cnJlbnRQYWdlO1xuICAgICAgICB0aGlzLmN1cnJlbnRQYWdlID0gcGFnZTtcbiAgICAgICAgdGhpcy5idWlsZEZpbHRlcmVkTGlzdCgpO1xuXG4gICAgICAgIGlmIChlbWl0UGFnZUNoYW5nZUV2ZW50KSB7XG4gICAgICAgICAgICB0aGlzLnBhZ2VDaGFuZ2UubmV4dCh7XG4gICAgICAgICAgICAgICAgcHJldmlvdXNQYWdlLFxuICAgICAgICAgICAgICAgIGN1cnJlbnRQYWdlOiB0aGlzLmN1cnJlbnRQYWdlLFxuICAgICAgICAgICAgICAgIHBhZ2VDb3VudDogdGhpcy5wYWdlc0NvdW50KClcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcGFnZXNDb3VudCgpOiBudW1iZXIge1xuICAgICAgICBpZiAoISF0aGlzLmZpeGVkUGFnZUNvdW50KSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5maXhlZFBhZ2VDb3VudDtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiB0aGlzLl9saXN0XG4gICAgICAgICAgICA/IE1hdGguY2VpbCh0aGlzLl9saXN0Lmxlbmd0aCAvIHRoaXMuaXRlbXNQZXJQYWdlKVxuICAgICAgICAgICAgOiAwO1xuICAgIH1cblxuICAgIHRyaWdnZXJTb3J0KHNvcnRBdHRyaWJ1dGU6IHN0cmluZyk6IHZvaWQge1xuICAgICAgICBsZXQgc29ydERpcmVjdGlvbjogJ0RFU0MnIHwgJ0FTQycgPSAnREVTQyc7XG4gICAgICAgIGlmICh0aGlzLnNvcnQuc29ydEF0dHJpYnV0ZSA9PT0gc29ydEF0dHJpYnV0ZSkge1xuICAgICAgICAgICAgc29ydERpcmVjdGlvbiA9IHRoaXMuc29ydC5zb3J0RGlyZWN0aW9uID09PSAnREVTQycgPyAnQVNDJyA6ICdERVNDJztcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuc29ydENoYW5nZS5uZXh0KHtcbiAgICAgICAgICAgIHNvcnREaXJlY3Rpb24sXG4gICAgICAgICAgICBzb3J0QXR0cmlidXRlXG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHByaXZhdGUgYnVpbGRGaWx0ZXJlZExpc3QoKTogdm9pZCB7XG4gICAgICAgIGlmICghdGhpcy5fbGlzdCkge1xuICAgICAgICAgICAgdGhpcy5maWx0ZXJlZExpc3QgPSBbXTtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICghIXRoaXMuZml4ZWRQYWdlQ291bnQpIHtcbiAgICAgICAgICAgIHRoaXMuZmlsdGVyZWRMaXN0ID0gdGhpcy5fbGlzdDtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IGN1cnJlbnRQYWdlRXhpc3RzID1cbiAgICAgICAgICAgICh0aGlzLmN1cnJlbnRQYWdlIC0gMSkgKiB0aGlzLml0ZW1zUGVyUGFnZSA8PSB0aGlzLl9saXN0Lmxlbmd0aDtcbiAgICAgICAgaWYgKCFjdXJyZW50UGFnZUV4aXN0cykge1xuICAgICAgICAgICAgdGhpcy5jdXJyZW50UGFnZSA9IDE7XG4gICAgICAgIH1cbiAgICAgICAgY29uc3Qgc3RhcnQgPSAodGhpcy5jdXJyZW50UGFnZSAtIDEpICogdGhpcy5pdGVtc1BlclBhZ2U7XG4gICAgICAgIHRoaXMuZmlsdGVyZWRMaXN0ID0gdGhpcy5fbGlzdC5zbGljZShzdGFydCwgc3RhcnQgKyB0aGlzLml0ZW1zUGVyUGFnZSk7XG4gICAgfVxufVxuIiwiPGRpdiBjbGFzcz1cInJvd1wiIFtpZF09XCJpZFwiPlxuICAgIDxkaXYgY2xhc3M9XCJjb2wtMTJcIj5cbiAgICAgICAgPGg0ICpuZ0lmPVwiISF0b3RhbEVsZW1lbnRzICYmIHRvdGFsRWxlbWVudHMgPT09IDFcIj5cbiAgICAgICAgICAgIHt7ICdmb2Vobi10YWJsZS50b3RhbEVsZW1lbnRzLjEnIHwgZnJvbURpY3Rpb25hcnkgfX1cbiAgICAgICAgPC9oND5cbiAgICAgICAgPGg0ICpuZ0lmPVwiISF0b3RhbEVsZW1lbnRzICYmIHRvdGFsRWxlbWVudHMgIT09IDFcIj5cbiAgICAgICAgICAgIHt7XG4gICAgICAgICAgICAgICAgJ2ZvZWhuLXRhYmxlLnRvdGFsRWxlbWVudHMnXG4gICAgICAgICAgICAgICAgICAgIHwgZnJvbURpY3Rpb25hcnk6IHsgdG90YWw6IHRvdGFsRWxlbWVudHMudG9TdHJpbmcoKSB9XG4gICAgICAgICAgICB9fVxuICAgICAgICA8L2g0PlxuICAgIDwvZGl2PlxuXG4gICAgPGRpdiBjbGFzcz1cImNvbC0xMiB0YWJsZS1yZXNwb25zaXZlXCI+XG4gICAgICAgIDx0YWJsZSBjbGFzcz1cInRhYmxlIHRhYmxlLWhvdmVyXCI+XG4gICAgICAgICAgICA8dGhlYWQgY2xhc3M9XCJ2ZC1iZy1wYXR0ZXJuLWJhcnMtZ3JheVwiPlxuICAgICAgICAgICAgICAgIDx0cj5cbiAgICAgICAgICAgICAgICAgICAgPHRoXG4gICAgICAgICAgICAgICAgICAgICAgICBzY29wZT1cImNvbFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAqbmdGb3I9XCJsZXQgY29sIG9mIGNvbHVtbnNDb25maWd1cmF0aW9uXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtpZF09XCJjb2wuaWRcIlxuICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKm5nSWY9XCIhZmlsdGVyZWRMaXN0Lmxlbmd0aCB8fCAhY29sLnNvcnRBdHRyaWJ1dGVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtpbm5lckhUTUxdPVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2wuY29sdW1uTGFiZWxLZXkgfCBmcm9tRGljdGlvbmFyeVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgID48L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cblxuICAgICAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICpuZ0lmPVwiISFmaWx0ZXJlZExpc3QubGVuZ3RoICYmICEhY29sLnNvcnRBdHRyaWJ1dGVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9XCIjXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJ2ZC10ZXh0LXRoaW5cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRyaWdnZXJTb3J0KGNvbC5zb3J0QXR0cmlidXRlKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbdGl0bGVdPVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnVHJpZXIgcGFyICcgK1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNvbC5jb2x1bW5MYWJlbEtleSB8IGZyb21EaWN0aW9uYXJ5KVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtpbm5lckhUTUxdPVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sLmNvbHVtbkxhYmVsS2V5IHwgZnJvbURpY3Rpb25hcnlcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID48L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpuZ0lmPVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc29ydC5zb3J0QXR0cmlidXRlID09PSBjb2wuc29ydEF0dHJpYnV0ZVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cIm1sLTNcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpuZ0lmPVwic29ydC5zb3J0RGlyZWN0aW9uID09PSAnQVNDJ1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGZvZWhuLWljb24tY2hldnJvbi11cD48L2ZvZWhuLWljb24tY2hldnJvbi11cD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJtbC0zXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqbmdJZj1cInNvcnQuc29ydERpcmVjdGlvbiA9PT0gJ0RFU0MnXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Zm9laG4taWNvbi1jaGV2cm9uLWRvd24+PC9mb2Vobi1pY29uLWNoZXZyb24tZG93bj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICAgICAgICAgIDwvdGg+XG4gICAgICAgICAgICAgICAgPC90cj5cbiAgICAgICAgICAgIDwvdGhlYWQ+XG4gICAgICAgICAgICA8dGJvZHk+XG4gICAgICAgICAgICAgICAgPHRyXG4gICAgICAgICAgICAgICAgICAgICpuZ0Zvcj1cIlxuICAgICAgICAgICAgICAgICAgICAgICAgbGV0IGl0ZW0gb2YgZmlsdGVyZWRMaXN0O1xuICAgICAgICAgICAgICAgICAgICAgICAgbGV0IGluZGV4ID0gaW5kZXg7XG4gICAgICAgICAgICAgICAgICAgICAgICB0cmFja0J5OiB0cmFja0J5Rm5cbiAgICAgICAgICAgICAgICAgICAgXCJcbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgIDx0ZFxuICAgICAgICAgICAgICAgICAgICAgICAgKm5nRm9yPVwibGV0IGNvbCBvZiBjb2x1bW5zQ29uZmlndXJhdGlvblwiXG4gICAgICAgICAgICAgICAgICAgICAgICBbaWRdPVwiY29sLmlkICsgJy0nICsgaW5kZXhcIlxuICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiISFjb2wuaXNJbXBvcnRhbnRcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqbmdJZj1cImNvbC5pc0ltcG9ydGFudChpdGVtKVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiY2VsbC12ZXJ0aWNhbC1hbGlnbi1taWRkbGVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN2Z1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aWR0aD1cIjMwXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodD1cIjMwXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPVwiY29sb3I6IHZhcigtLXJlZClcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmlsbD1cImN1cnJlbnRDb2xvclwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImJpIGJpLWV4Y2xhbWF0aW9uXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZpZXdCb3g9XCIwIDAgMTYgMTZcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGQ9XCJNNy4wMDIgMTFhMSAxIDAgMSAxIDIgMCAxIDEgMCAwIDEtMiAwek03LjEgNC45OTVhLjkwNS45MDUgMCAxIDEgMS44IDBsLS4zNSAzLjUwN2EuNTUzLjU1MyAwIDAgMS0xLjEgMEw3LjEgNC45OTV6XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuXG4gICAgICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiIWNvbC5yb3V0ZXJMaW5rR2V0dGVyXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2lubmVySFRNTF09XCJjb2wudmFsdWVHZXR0ZXIoaXRlbSlcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImNlbGwtdmVydGljYWwtYWxpZ24tbWlkZGxlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA+PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCIhIWNvbC5yb3V0ZXJMaW5rR2V0dGVyXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGFcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3JvdXRlckxpbmtdPVwiY29sLnJvdXRlckxpbmtHZXR0ZXIoaXRlbSlcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBxdWVyeVBhcmFtc0hhbmRsaW5nPVwibWVyZ2VcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImNlbGwtdmVydGljYWwtYWxpZ24tbWlkZGxlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbaW5uZXJIVE1MXT1cImNvbC52YWx1ZUdldHRlcihpdGVtKVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID48L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICAgICAgICAgIDwvdGQ+XG4gICAgICAgICAgICAgICAgPC90cj5cbiAgICAgICAgICAgICAgICA8dHIgKm5nSWY9XCIhIWNvbHVtbnNDb25maWd1cmF0aW9uICYmICFmaWx0ZXJlZExpc3QubGVuZ3RoXCI+XG4gICAgICAgICAgICAgICAgICAgIDx0ZCBbY29sU3Bhbl09XCJjb2x1bW5zQ29uZmlndXJhdGlvbi5sZW5ndGhcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ3LTEwMCB0ZXh0LWNlbnRlclwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7ICdmb2Vobi10YWJsZS50b3RhbEVsZW1lbnRzLjAnIHwgZnJvbURpY3Rpb25hcnkgfX1cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8L3RkPlxuICAgICAgICAgICAgICAgIDwvdHI+XG4gICAgICAgICAgICA8L3Rib2R5PlxuICAgICAgICA8L3RhYmxlPlxuXG4gICAgICAgIDxkaXYgY2xhc3M9XCJyb3cgZC1mbGV4IGp1c3RpZnktY29udGVudC1iZXR3ZWVuIHAtMVwiPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1sZy0zIGNvbC1tZC0zIGNvbC1zbS02IGNvbC14cy02XCI+XG4gICAgICAgICAgICAgICAgPG5hdlxuICAgICAgICAgICAgICAgICAgICBjbGFzcz1cInZkLXBhZ2luYXRpb25cIlxuICAgICAgICAgICAgICAgICAgICBhcmlhLWxhYmVsPVwiUGFnaW5hdGlvblwiXG4gICAgICAgICAgICAgICAgICAgICpuZ0lmPVwiaGFzUHJldmlvdXNQYWdlKClcIlxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgPHVsIGNsYXNzPVwidmQtcGFnaW5hdGlvbl9fbGlzdFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGxpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJ2ZC1wYWdpbmF0aW9uX19pdGVtIHZkLXBhZ2luYXRpb25fX2l0ZW0tLXByZXZpb3VzXCJcbiAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiYnRuLWxpbmsgdmQtcGFnaW5hdGlvbl9fbGluayBidG4tbm8tZXh0cmEgdmQtcGFnaW5hdGlvbl9fbGluay1yZXNldFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJwcmV2aW91c1BhZ2UoKVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInZkLXBhZ2luYXRpb25fX3RpdGxlXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Zm9laG4taWNvbi1jaGV2cm9uLWxlZnQ+PC9mb2Vobi1pY29uLWNoZXZyb24tbGVmdD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7IHByZXZpb3VzTGFiZWwgfX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInNyLW9ubHlcIj46PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInZkLXBhZ2luYXRpb25fX2xhYmVsXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7eyBjdXJyZW50UGFnZSAtIDEgfX0gc3VyIHt7IHBhZ2VzQ291bnQoKSB9fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2xpPlxuICAgICAgICAgICAgICAgICAgICA8L3VsPlxuICAgICAgICAgICAgICAgIDwvbmF2PlxuICAgICAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbGctMyBjb2wtbWQtMyBjb2wtc20tNiBjb2wteHMtNlwiPlxuICAgICAgICAgICAgICAgIDxuYXZcbiAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJ2ZC1wYWdpbmF0aW9uXCJcbiAgICAgICAgICAgICAgICAgICAgYXJpYS1sYWJlbD1cIlBhZ2luYXRpb25cIlxuICAgICAgICAgICAgICAgICAgICAqbmdJZj1cImhhc05leHRQYWdlKClcIlxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgPHVsIGNsYXNzPVwidmQtcGFnaW5hdGlvbl9fbGlzdFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGxpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJ2ZC1wYWdpbmF0aW9uX19pdGVtIHZkLXBhZ2luYXRpb25fX2l0ZW0tLW5leHRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJidG4tbGluayB2ZC1wYWdpbmF0aW9uX19saW5rIGJ0bi1uby1leHRyYSB2ZC1wYWdpbmF0aW9uX19saW5rLXJlc2V0XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cIm5leHRQYWdlKClcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ2ZC1wYWdpbmF0aW9uX190aXRsZVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge3sgbmV4dExhYmVsIH19XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Zm9laG4taWNvbi1jaGV2cm9uLXJpZ2h0PjwvZm9laG4taWNvbi1jaGV2cm9uLXJpZ2h0PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwic3Itb25seVwiPjo8L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwidmQtcGFnaW5hdGlvbl9fbGFiZWxcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7IGN1cnJlbnRQYWdlICsgMSB9fSBzdXIge3sgcGFnZXNDb3VudCgpIH19XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+XG4gICAgICAgICAgICAgICAgICAgIDwvdWw+XG4gICAgICAgICAgICAgICAgPC9uYXY+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG48L2Rpdj5cbiJdfQ==
151
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9laG4tdGFibGUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvcHJlc3RhdGlvbnMtbmcvc3JjL2ZvZWhuLXRhYmxlL2ZvZWhuLXRhYmxlLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uL3Byb2plY3RzL3ByZXN0YXRpb25zLW5nL3NyYy9mb2Vobi10YWJsZS9mb2Vobi10YWJsZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0gsU0FBUyxFQUNULFlBQVksRUFDWixLQUFLLEVBRUwsTUFBTSxFQUdULE1BQU0sZUFBZSxDQUFDO0FBSXZCLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQzs7Ozs7Ozs7O0FBRXhELE1BQU0sZUFBZSxHQUFHLENBQUMsTUFBb0IsRUFBVyxFQUFFLENBQ3RELE1BQU0sSUFBSSxDQUFDLFlBQVksQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLGFBQWEsRUFBRSxNQUFNLENBQUMsWUFBWSxDQUFDLENBQUM7QUFPL0UsTUFBTSxPQUFPLG1CQUFtQjtJQUxoQztRQU9JLGlCQUFZLEdBQUcsRUFBRSxDQUFDO1FBR2xCLE9BQUUsR0FBRyxhQUFhLENBQUM7UUFHbkIsa0JBQWEsR0FBRyxXQUFXLENBQUM7UUFHNUIsY0FBUyxHQUFHLFNBQVMsQ0FBQztRQVl0QixlQUFVLEdBQUcsSUFBSSxZQUFZLEVBQTZCLENBQUM7UUFNM0QsZUFBVSxHQUFHLElBQUksWUFBWSxFQUFhLENBQUM7UUFFM0MsZ0JBQVcsR0FBRyxDQUFDLENBQUM7UUFFaEIsaUJBQVksR0FBYyxFQUFFLENBQUM7UUFLN0IsNkRBQTZEO1FBQzdELGNBQVMsR0FBRyxDQUFDLEtBQWEsRUFBRSxJQUFhLEVBQVUsRUFBRSxDQUFDLEtBQUssQ0FBQztLQWlIL0Q7SUEvR0csSUFDSSxJQUFJLENBQUMsSUFBZTtRQUNwQixJQUFJLENBQUMsS0FBSyxHQUFH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QkFBNkIsQ0FBQztpQkFDN0M7OEJBR0csWUFBWTtzQkFEWCxLQUFLO2dCQUlOLEVBQUU7c0JBREQsS0FBSztnQkFJTixhQUFhO3NCQURaLEtBQUs7Z0JBSU4sU0FBUztzQkFEUixLQUFLO2dCQUlOLGFBQWE7c0JBRFosS0FBSztnQkFJTixjQUFjO3NCQURiLEtBQUs7Z0JBSU4sb0JBQW9CO3NCQURuQixLQUFLO2dCQUlOLFVBQVU7c0JBRFQsTUFBTTtnQkFJUCxJQUFJO3NCQURILEtBQUs7Z0JBSU4sVUFBVTtzQkFEVCxNQUFNOztRQVVQLDZEQUE2RDtRQUM3RCxTQUFTO3NCQUZSLEtBQUs7Z0JBS0YsSUFBSTtzQkFEUCxLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBDb21wb25lbnQsXG4gICAgRXZlbnRFbWl0dGVyLFxuICAgIElucHV0LFxuICAgIE9uQ2hhbmdlcyxcbiAgICBPdXRwdXQsXG4gICAgU2ltcGxlQ2hhbmdlLFxuICAgIFNpbXBsZUNoYW5nZXNcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb2VoblRhYmxlUGFnZUNoYW5nZUV2ZW50IH0gZnJvbSAnLi9mb2Vobi10YWJsZS1wYWdlLWNoYW5nZS1ldmVudCc7XG5pbXBvcnQgeyBGb2VoblRhYmxlQ29sdW1uQ29uZmlndXJhdGlvbiB9IGZyb20gJy4vZm9laG4tdGFibGUtY29sdW1uLWNvbmZpZ3VyYXRpb24nO1xuaW1wb3J0IHsgVGFibGVTb3J0IH0gZnJvbSAnLi90YWJsZVNvcnQnO1xuaW1wb3J0IHsgT2JqZWN0SGVscGVyIH0gZnJvbSAnLi4vaGVscGVycy9vYmplY3QuaGVscGVyJztcblxuY29uc3QgaGFzSW5wdXRDaGFuZ2VkID0gKGNoYW5nZTogU2ltcGxlQ2hhbmdlKTogYm9vbGVhbiA9PlxuICAgIGNoYW5nZSAmJiAhT2JqZWN0SGVscGVyLmlzRXF1YWwoY2hhbmdlLnByZXZpb3VzVmFsdWUsIGNoYW5nZS5jdXJyZW50VmFsdWUpO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2ZvZWhuLXRhYmxlJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vZm9laG4tdGFibGUuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL2ZvZWhuLXRhYmxlLmNvbXBvbmVudC5jc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBGb2VoblRhYmxlQ29tcG9uZW50IGltcGxlbWVudHMgT25DaGFuZ2VzIHtcbiAgICBASW5wdXQoKVxuICAgIGl0ZW1zUGVyUGFnZSA9IDEwO1xuXG4gICAgQElucHV0KClcbiAgICBpZCA9ICdmb2Vobi10YWJsZSc7XG5cbiAgICBASW5wdXQoKVxuICAgIHByZXZpb3VzTGFiZWwgPSAnUHLDqWPDqWRlbnQnO1xuXG4gICAgQElucHV0KClcbiAgICBuZXh0TGFiZWwgPSAnU3VpdmFudCc7XG5cbiAgICBASW5wdXQoKVxuICAgIHRvdGFsRWxlbWVudHM6IG51bWJlcjtcblxuICAgIEBJbnB1dCgpXG4gICAgZml4ZWRQYWdlQ291bnQ6IG51bWJlcjtcblxuICAgIEBJbnB1dCgpXG4gICAgY29sdW1uc0NvbmZpZ3VyYXRpb246IEZvZWhuVGFibGVDb2x1bW5Db25maWd1cmF0aW9uPHVua25vd24+W107XG5cbiAgICBAT3V0cHV0KClcbiAgICBwYWdlQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxGb2VoblRhYmxlUGFnZUNoYW5nZUV2ZW50PigpO1xuXG4gICAgQElucHV0KClcbiAgICBzb3J0OiBUYWJsZVNvcnQ7XG5cbiAgICBAT3V0cHV0KClcbiAgICBzb3J0Q2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxUYWJsZVNvcnQ+KCk7XG5cbiAgICBjdXJyZW50UGFnZSA9IDE7XG5cbiAgICBmaWx0ZXJlZExpc3Q6IHVua25vd25bXSA9IFtdO1xuXG4gICAgcHJpdmF0ZSBfbGlzdDogdW5rbm93bltdO1xuXG4gICAgQElucHV0KClcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLXVudXNlZC12YXJzXG4gICAgdHJhY2tCeUZuID0gKGluZGV4OiBudW1iZXIsIGl0ZW06IHVua25vd24pOiBudW1iZXIgPT4gaW5kZXg7XG5cbiAgICBASW5wdXQoKVxuICAgIHNldCBsaXN0KGxpc3Q6IHVua25vd25bXSkge1xuICAgICAgICB0aGlzLl9saXN0ID0gbGlzdDtcbiAgICB9XG5cbiAgICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IGl0ZW1zUGVyUGFnZUNoYW5nZTogU2ltcGxlQ2hhbmdlID0gY2hhbmdlcy5pdGVtc1BlclBhZ2U7XG4gICAgICAgIGNvbnN0IGxpc3RDaGFuZ2U6IFNpbXBsZUNoYW5nZSA9IGNoYW5nZXMubGlzdDtcbiAgICAgICAgY29uc3QgZml4ZWRQYWdlQ291bnRDaGFuZ2U6IFNpbXBsZUNoYW5nZSA9IGNoYW5nZXMuZml4ZWRQYWdlQ291bnQ7XG4gICAgICAgIGNvbnN0IHNvcnRJbnB1dENoYW5nZTogU2ltcGxlQ2hhbmdlID0gY2hhbmdlcy5zb3J0O1xuXG4gICAgICAgIGlmIChcbiAgICAgICAgICAgICFoYXNJbnB1dENoYW5nZWQoaXRlbXNQZXJQYWdlQ2hhbmdlKSAmJlxuICAgICAgICAgICAgIWhhc0lucHV0Q2hhbmdlZChsaXN0Q2hhbmdlKSAmJlxuICAgICAgICAgICAgIWhhc0lucHV0Q2hhbmdlZChmaXhlZFBhZ2VDb3VudENoYW5nZSkgJiZcbiAgICAgICAgICAgICFoYXNJbnB1dENoYW5nZWQoc29ydElucHV0Q2hhbmdlKVxuICAgICAgICApIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuYnVpbGRGaWx0ZXJlZExpc3QoKTtcbiAgICB9XG5cbiAgICBwcmV2aW91c1BhZ2UoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuY3VycmVudFBhZ2UgPSB0aGlzLmN1cnJlbnRQYWdlIC0gMTtcbiAgICAgICAgdGhpcy5idWlsZEZpbHRlcmVkTGlzdCgpO1xuICAgICAgICB0aGlzLnBhZ2VDaGFuZ2UubmV4dCh7XG4gICAgICAgICAgICBwcmV2aW91c1BhZ2U6IHRoaXMuY3VycmVudFBhZ2UgKyAxLFxuICAgICAgICAgICAgY3VycmVudFBhZ2U6IHRoaXMuY3VycmVudFBhZ2UsXG4gICAgICAgICAgICBwYWdlQ291bnQ6IHRoaXMucGFnZXNDb3VudCgpXG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIGhhc1ByZXZpb3VzUGFnZSgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuY3VycmVudFBhZ2UgPiAxO1xuICAgIH1cblxuICAgIG5leHRQYWdlKCk6IHZvaWQge1xuICAgICAgICB0aGlzLmN1cnJlbnRQYWdlID0gdGhpcy5jdXJyZW50UGFnZSArIDE7XG4gICAgICAgIHRoaXMuYnVpbGRGaWx0ZXJlZExpc3QoKTtcblxuICAgICAgICB0aGlzLnBhZ2VDaGFuZ2UubmV4dCh7XG4gICAgICAgICAgICBwcmV2aW91c1BhZ2U6IHRoaXMuY3VycmVudFBhZ2UgLSAxLFxuICAgICAgICAgICAgY3VycmVudFBhZ2U6IHRoaXMuY3VycmVudFBhZ2UsXG4gICAgICAgICAgICBwYWdlQ291bnQ6IHRoaXMucGFnZXNDb3VudCgpXG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIGhhc05leHRQYWdlKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5jdXJyZW50UGFnZSA8IHRoaXMucGFnZXNDb3VudCgpO1xuICAgIH1cblxuICAgIHNob3dQYWdlKHBhZ2U6IG51bWJlciwgZW1pdFBhZ2VDaGFuZ2VFdmVudDogYm9vbGVhbiA9IGZhbHNlKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLmN1cnJlbnRQYWdlID09PSBwYWdlKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBwcmV2aW91c1BhZ2UgPSB0aGlzLmN1cnJlbnRQYWdlO1xuICAgICAgICB0aGlzLmN1cnJlbnRQYWdlID0gcGFnZTtcbiAgICAgICAgdGhpcy5idWlsZEZpbHRlcmVkTGlzdCgpO1xuXG4gICAgICAgIGlmIChlbWl0UGFnZUNoYW5nZUV2ZW50KSB7XG4gICAgICAgICAgICB0aGlzLnBhZ2VDaGFuZ2UubmV4dCh7XG4gICAgICAgICAgICAgICAgcHJldmlvdXNQYWdlLFxuICAgICAgICAgICAgICAgIGN1cnJlbnRQYWdlOiB0aGlzLmN1cnJlbnRQYWdlLFxuICAgICAgICAgICAgICAgIHBhZ2VDb3VudDogdGhpcy5wYWdlc0NvdW50KClcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcGFnZXNDb3VudCgpOiBudW1iZXIge1xuICAgICAgICBpZiAoISF0aGlzLmZpeGVkUGFnZUNvdW50KSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5maXhlZFBhZ2VDb3VudDtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiB0aGlzLl9saXN0XG4gICAgICAgICAgICA/IE1hdGguY2VpbCh0aGlzLl9saXN0Lmxlbmd0aCAvIHRoaXMuaXRlbXNQZXJQYWdlKVxuICAgICAgICAgICAgOiAwO1xuICAgIH1cblxuICAgIHRyaWdnZXJTb3J0KHNvcnRBdHRyaWJ1dGU6IHN0cmluZyk6IHZvaWQge1xuICAgICAgICBsZXQgc29ydERpcmVjdGlvbjogJ0RFU0MnIHwgJ0FTQycgPSAnREVTQyc7XG4gICAgICAgIGlmICh0aGlzLnNvcnQuc29ydEF0dHJpYnV0ZSA9PT0gc29ydEF0dHJpYnV0ZSkge1xuICAgICAgICAgICAgc29ydERpcmVjdGlvbiA9IHRoaXMuc29ydC5zb3J0RGlyZWN0aW9uID09PSAnREVTQycgPyAnQVNDJyA6ICdERVNDJztcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuc29ydENoYW5nZS5uZXh0KHtcbiAgICAgICAgICAgIHNvcnREaXJlY3Rpb24sXG4gICAgICAgICAgICBzb3J0QXR0cmlidXRlXG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHByaXZhdGUgYnVpbGRGaWx0ZXJlZExpc3QoKTogdm9pZCB7XG4gICAgICAgIGlmICghdGhpcy5fbGlzdCkge1xuICAgICAgICAgICAgdGhpcy5maWx0ZXJlZExpc3QgPSBbXTtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICghIXRoaXMuZml4ZWRQYWdlQ291bnQpIHtcbiAgICAgICAgICAgIHRoaXMuZmlsdGVyZWRMaXN0ID0gdGhpcy5fbGlzdDtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IGN1cnJlbnRQYWdlRXhpc3RzID1cbiAgICAgICAgICAgICh0aGlzLmN1cnJlbnRQYWdlIC0gMSkgKiB0aGlzLml0ZW1zUGVyUGFnZSA8PSB0aGlzLl9saXN0Lmxlbmd0aDtcbiAgICAgICAgaWYgKCFjdXJyZW50UGFnZUV4aXN0cykge1xuICAgICAgICAgICAgdGhpcy5jdXJyZW50UGFnZSA9IDE7XG4gICAgICAgIH1cbiAgICAgICAgY29uc3Qgc3RhcnQgPSAodGhpcy5jdXJyZW50UGFnZSAtIDEpICogdGhpcy5pdGVtc1BlclBhZ2U7XG4gICAgICAgIHRoaXMuZmlsdGVyZWRMaXN0ID0gdGhpcy5fbGlzdC5zbGljZShzdGFydCwgc3RhcnQgKyB0aGlzLml0ZW1zUGVyUGFnZSk7XG4gICAgfVxufVxuIiwiPGRpdiBjbGFzcz1cInJvd1wiIFtpZF09XCJpZFwiPlxuICAgIDxkaXYgY2xhc3M9XCJjb2wtMTJcIj5cbiAgICAgICAgPGg0ICpuZ0lmPVwiISF0b3RhbEVsZW1lbnRzICYmIHRvdGFsRWxlbWVudHMgPT09IDFcIj5cbiAgICAgICAgICAgIHt7ICdmb2Vobi10YWJsZS50b3RhbEVsZW1lbnRzLjEnIHwgZnJvbURpY3Rpb25hcnkgfX1cbiAgICAgICAgPC9oND5cbiAgICAgICAgPGg0ICpuZ0lmPVwiISF0b3RhbEVsZW1lbnRzICYmIHRvdGFsRWxlbWVudHMgIT09IDFcIj5cbiAgICAgICAgICAgIHt7XG4gICAgICAgICAgICAgICAgJ2ZvZWhuLXRhYmxlLnRvdGFsRWxlbWVudHMnXG4gICAgICAgICAgICAgICAgICAgIHwgZnJvbURpY3Rpb25hcnk6IHsgdG90YWw6IHRvdGFsRWxlbWVudHMudG9TdHJpbmcoKSB9XG4gICAgICAgICAgICB9fVxuICAgICAgICA8L2g0PlxuICAgIDwvZGl2PlxuXG4gICAgPGRpdiBjbGFzcz1cImNvbC0xMiB0YWJsZS1yZXNwb25zaXZlXCI+XG4gICAgICAgIDx0YWJsZSBjbGFzcz1cInRhYmxlIHRhYmxlLWhvdmVyXCI+XG4gICAgICAgICAgICA8dGhlYWQgY2xhc3M9XCJ2ZC1iZy1wYXR0ZXJuLWJhcnMtZ3JheVwiPlxuICAgICAgICAgICAgICAgIDx0cj5cbiAgICAgICAgICAgICAgICAgICAgPHRoXG4gICAgICAgICAgICAgICAgICAgICAgICBzY29wZT1cImNvbFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAqbmdGb3I9XCJsZXQgY29sIG9mIGNvbHVtbnNDb25maWd1cmF0aW9uXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtpZF09XCJjb2wuaWRcIlxuICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKm5nSWY9XCIhZmlsdGVyZWRMaXN0Lmxlbmd0aCB8fCAhY29sLnNvcnRBdHRyaWJ1dGVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtpbm5lckhUTUxdPVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2wuY29sdW1uTGFiZWxLZXkgfCBmcm9tRGljdGlvbmFyeVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgID48L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cblxuICAgICAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICpuZ0lmPVwiISFmaWx0ZXJlZExpc3QubGVuZ3RoICYmICEhY29sLnNvcnRBdHRyaWJ1dGVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9XCIjXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJ2ZC10ZXh0LXRoaW5cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRyaWdnZXJTb3J0KGNvbC5zb3J0QXR0cmlidXRlKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbdGl0bGVdPVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnVHJpZXIgcGFyICcgK1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNvbC5jb2x1bW5MYWJlbEtleSB8IGZyb21EaWN0aW9uYXJ5KVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtpbm5lckhUTUxdPVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sLmNvbHVtbkxhYmVsS2V5IHwgZnJvbURpY3Rpb25hcnlcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID48L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpuZ0lmPVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc29ydC5zb3J0QXR0cmlidXRlID09PSBjb2wuc29ydEF0dHJpYnV0ZVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cIm1sLTNcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpuZ0lmPVwic29ydC5zb3J0RGlyZWN0aW9uID09PSAnQVNDJ1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGZvZWhuLWljb24tY2hldnJvbi11cD48L2ZvZWhuLWljb24tY2hldnJvbi11cD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJtbC0zXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqbmdJZj1cInNvcnQuc29ydERpcmVjdGlvbiA9PT0gJ0RFU0MnXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Zm9laG4taWNvbi1jaGV2cm9uLWRvd24+PC9mb2Vobi1pY29uLWNoZXZyb24tZG93bj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICAgICAgICAgIDwvdGg+XG4gICAgICAgICAgICAgICAgPC90cj5cbiAgICAgICAgICAgIDwvdGhlYWQ+XG4gICAgICAgICAgICA8dGJvZHk+XG4gICAgICAgICAgICAgICAgPHRyXG4gICAgICAgICAgICAgICAgICAgICpuZ0Zvcj1cIlxuICAgICAgICAgICAgICAgICAgICAgICAgbGV0IGl0ZW0gb2YgZmlsdGVyZWRMaXN0O1xuICAgICAgICAgICAgICAgICAgICAgICAgbGV0IGluZGV4ID0gaW5kZXg7XG4gICAgICAgICAgICAgICAgICAgICAgICB0cmFja0J5OiB0cmFja0J5Rm5cbiAgICAgICAgICAgICAgICAgICAgXCJcbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgIDx0ZFxuICAgICAgICAgICAgICAgICAgICAgICAgKm5nRm9yPVwibGV0IGNvbCBvZiBjb2x1bW5zQ29uZmlndXJhdGlvblwiXG4gICAgICAgICAgICAgICAgICAgICAgICBbaWRdPVwiY29sLmlkICsgJy0nICsgaW5kZXhcIlxuICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiISFjb2wuaXNJbXBvcnRhbnRcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqbmdJZj1cImNvbC5pc0ltcG9ydGFudChpdGVtKVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiY2VsbC12ZXJ0aWNhbC1hbGlnbi1taWRkbGVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN2Z1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aWR0aD1cIjMwXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodD1cIjMwXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPVwiY29sb3I6IHZhcigtLXJlZClcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmlsbD1cImN1cnJlbnRDb2xvclwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImJpIGJpLWV4Y2xhbWF0aW9uXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZpZXdCb3g9XCIwIDAgMTYgMTZcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGQ9XCJNNy4wMDIgMTFhMSAxIDAgMSAxIDIgMCAxIDEgMCAwIDEtMiAwek03LjEgNC45OTVhLjkwNS45MDUgMCAxIDEgMS44IDBsLS4zNSAzLjUwN2EuNTUzLjU1MyAwIDAgMS0xLjEgMEw3LjEgNC45OTV6XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuXG4gICAgICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiIWNvbC5yb3V0ZXJMaW5rR2V0dGVyXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2lubmVySFRNTF09XCJjb2wudmFsdWVHZXR0ZXIoaXRlbSlcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImNlbGwtdmVydGljYWwtYWxpZ24tbWlkZGxlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA+PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCIhIWNvbC5yb3V0ZXJMaW5rR2V0dGVyXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGFcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3JvdXRlckxpbmtdPVwiY29sLnJvdXRlckxpbmtHZXR0ZXIoaXRlbSlcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBxdWVyeVBhcmFtc0hhbmRsaW5nPVwibWVyZ2VcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImNlbGwtdmVydGljYWwtYWxpZ24tbWlkZGxlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbaW5uZXJIVE1MXT1cImNvbC52YWx1ZUdldHRlcihpdGVtKVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID48L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICAgICAgICAgIDwvdGQ+XG4gICAgICAgICAgICAgICAgPC90cj5cbiAgICAgICAgICAgICAgICA8dHIgKm5nSWY9XCIhIWNvbHVtbnNDb25maWd1cmF0aW9uICYmICFmaWx0ZXJlZExpc3QubGVuZ3RoXCI+XG4gICAgICAgICAgICAgICAgICAgIDx0ZCBbY29sU3Bhbl09XCJjb2x1bW5zQ29uZmlndXJhdGlvbi5sZW5ndGhcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ3LTEwMCB0ZXh0LWNlbnRlclwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7ICdmb2Vobi10YWJsZS50b3RhbEVsZW1lbnRzLjAnIHwgZnJvbURpY3Rpb25hcnkgfX1cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8L3RkPlxuICAgICAgICAgICAgICAgIDwvdHI+XG4gICAgICAgICAgICA8L3Rib2R5PlxuICAgICAgICA8L3RhYmxlPlxuXG4gICAgICAgIDxkaXYgY2xhc3M9XCJyb3cgZC1mbGV4IGp1c3RpZnktY29udGVudC1iZXR3ZWVuIHAtMVwiPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1sZy0zIGNvbC1tZC0zIGNvbC1zbS02IGNvbC14cy02XCI+XG4gICAgICAgICAgICAgICAgPG5hdlxuICAgICAgICAgICAgICAgICAgICBjbGFzcz1cInZkLXBhZ2luYXRpb25cIlxuICAgICAgICAgICAgICAgICAgICBhcmlhLWxhYmVsPVwiUGFnaW5hdGlvblwiXG4gICAgICAgICAgICAgICAgICAgICpuZ0lmPVwiaGFzUHJldmlvdXNQYWdlKClcIlxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgPHVsIGNsYXNzPVwidmQtcGFnaW5hdGlvbl9fbGlzdFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGxpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJ2ZC1wYWdpbmF0aW9uX19pdGVtIHZkLXBhZ2luYXRpb25fX2l0ZW0tLXByZXZpb3VzXCJcbiAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiYnRuLWxpbmsgdmQtcGFnaW5hdGlvbl9fbGluayBidG4tbm8tZXh0cmEgdmQtcGFnaW5hdGlvbl9fbGluay1yZXNldFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJwcmV2aW91c1BhZ2UoKVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInZkLXBhZ2luYXRpb25fX3RpdGxlXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Zm9laG4taWNvbi1jaGV2cm9uLWxlZnQ+PC9mb2Vobi1pY29uLWNoZXZyb24tbGVmdD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7IHByZXZpb3VzTGFiZWwgfX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInNyLW9ubHlcIj46PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInZkLXBhZ2luYXRpb25fX2xhYmVsXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7eyBjdXJyZW50UGFnZSAtIDEgfX0gc3VyIHt7IHBhZ2VzQ291bnQoKSB9fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2xpPlxuICAgICAgICAgICAgICAgICAgICA8L3VsPlxuICAgICAgICAgICAgICAgIDwvbmF2PlxuICAgICAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbGctMyBjb2wtbWQtMyBjb2wtc20tNiBjb2wteHMtNlwiPlxuICAgICAgICAgICAgICAgIDxuYXZcbiAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJ2ZC1wYWdpbmF0aW9uXCJcbiAgICAgICAgICAgICAgICAgICAgYXJpYS1sYWJlbD1cIlBhZ2luYXRpb25cIlxuICAgICAgICAgICAgICAgICAgICAqbmdJZj1cImhhc05leHRQYWdlKClcIlxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgPHVsIGNsYXNzPVwidmQtcGFnaW5hdGlvbl9fbGlzdFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGxpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJ2ZC1wYWdpbmF0aW9uX19pdGVtIHZkLXBhZ2luYXRpb25fX2l0ZW0tLW5leHRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJidG4tbGluayB2ZC1wYWdpbmF0aW9uX19saW5rIGJ0bi1uby1leHRyYSB2ZC1wYWdpbmF0aW9uX19saW5rLXJlc2V0XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cIm5leHRQYWdlKClcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ2ZC1wYWdpbmF0aW9uX190aXRsZVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge3sgbmV4dExhYmVsIH19XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Zm9laG4taWNvbi1jaGV2cm9uLXJpZ2h0PjwvZm9laG4taWNvbi1jaGV2cm9uLXJpZ2h0PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwic3Itb25seVwiPjo8L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwidmQtcGFnaW5hdGlvbl9fbGFiZWxcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7IGN1cnJlbnRQYWdlICsgMSB9fSBzdXIge3sgcGFnZXNDb3VudCgpIH19XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+XG4gICAgICAgICAgICAgICAgICAgIDwvdWw+XG4gICAgICAgICAgICAgICAgPC9uYXY+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG48L2Rpdj5cbiJdfQ==