@byuhbll/components 4.0.23 → 4.0.25

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.
@@ -13,7 +13,7 @@ export class HbllFooterComponent {
13
13
  this.footerSkipTargetId = 'hbllChatBtn';
14
14
  // TODO: Convert these to signal inputs: https://github.com/angular/angular/issues/57755
15
15
  this.mainsitebaseurl = 'https://lib.byu.edu';
16
- this.libraryapibaseuri = 'https://apps.lib.byu.edu/v1';
16
+ this.libraryapibaseuri = 'https://api.lib.byu.edu/v1';
17
17
  this.date = new Date();
18
18
  this.isSubmitted = false;
19
19
  this.isLoading = false;
@@ -105,4 +105,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.0", ngImpor
105
105
  }], emailstatus: [{
106
106
  type: Input
107
107
  }] } });
108
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGJsbC1mb290ZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29tcG9uZW50cy9zcmMvbGliL2hibGwtZm9vdGVyL2hibGwtZm9vdGVyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvbXBvbmVudHMvc3JjL2xpYi9oYmxsLWZvb3Rlci9oYmxsLWZvb3Rlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFjLE1BQU0sRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2hGLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsV0FBVyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDbEUsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ2xELE9BQU8sRUFBa0IsaUJBQWlCLEVBQUUsV0FBVyxFQUFFLGFBQWEsRUFBRSxNQUFNLGtCQUFrQixDQUFDOzs7O0FBU2pHLE1BQU0sT0FBTyxtQkFBbUI7SUFQaEM7UUFRcUIsT0FBRSxHQUFHLE1BQU0sQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUN6QixTQUFJLEdBQUcsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQzFCLHVCQUFrQixHQUFHLGFBQWEsQ0FBQztRQUVwRCx3RkFBd0Y7UUFDL0Usb0JBQWUsR0FBRyxxQkFBcUIsQ0FBQztRQUN4QyxzQkFBaUIsR0FBRyw2QkFBNkIsQ0FBQztRQWFqRCxTQUFJLEdBQUcsSUFBSSxJQUFJLEVBQUUsQ0FBQztRQUNsQixnQkFBVyxHQUFHLEtBQUssQ0FBQztRQUNwQixjQUFTLEdBQUcsS0FBSyxDQUFDO1FBQ2xCLHVCQUFrQixHQUFHLEtBQUssQ0FBQztRQUMzQixnQkFBVyxHQUFHLEtBQUssQ0FBQztR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QztJQUN0RCxDQUFDO0lBQ0QsSUFBYSxXQUFXLENBQUMsTUFBZ0M7UUFDckQsSUFBSSxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUNwRCxDQUFDO0lBbURELFVBQVU7UUFDTixNQUFNLFVBQVUsR0FBRyxRQUFRLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxrQkFBa0IsQ0FBZ0IsQ0FBQztRQUNuRixJQUFJLFVBQVUsRUFBRSxDQUFDO1lBQ2IsVUFBVSxDQUFDLEtBQUssRUFBRSxDQUFDO1FBQ3ZCLENBQUM7YUFBTSxDQUFDO1lBQ0osT0FBTyxDQUFDLElBQUksQ0FBQywyQ0FBMkMsQ0FBQyxDQUFDO1FBQzlELENBQUM7SUFDTCxDQUFDOzhHQTdFUSxtQkFBbUI7a0dBQW5CLG1CQUFtQiwyWENiaEMsb3FUQStOQSwrdU1EdE5jLFlBQVksc0lBQUUsbUJBQW1COzsyRkFJbEMsbUJBQW1CO2tCQVAvQixTQUFTOytCQUNJLGlCQUFpQixjQUNmLElBQUksV0FDUCxDQUFDLFlBQVksRUFBRSxtQkFBbUIsQ0FBQzs4QkFRVixXQUFXO3NCQUE1QyxTQUFTO3VCQUFDLGFBQWE7Z0JBRWYsZUFBZTtzQkFBdkIsS0FBSztnQkFDRyxpQkFBaUI7c0JBQXpCLEtBQUs7Z0JBQ08sU0FBUztzQkFBckIsS0FBSztnQkFHTyxVQUFVO3NCQUF0QixLQUFLO2dCQUdPLFlBQVk7c0JBQXhCLEtBQUs7Z0JBR08sV0FBVztzQkFBdkIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRWxlbWVudFJlZiwgaW5qZWN0LCBJbnB1dCwgVmlld0NoaWxkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgRm9ybUJ1aWxkZXIsIFJlYWN0aXZlRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBIdHRwQ2xpZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHsgQ29udGFjdFBheWxvYWQsIGNyZWF0ZUNvbnRhY3RGb3JtLCBzdWJtaXRFbWFpbCwgVVNFUl9TVEFUVVNFUyB9IGZyb20gJy4uL2NvbnRhY3QtdXRpbHMnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2xpYi1oYmxsLWZvb3RlcicsXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBSZWFjdGl2ZUZvcm1zTW9kdWxlXSxcbiAgICB0ZW1wbGF0ZVVybDogJy4vaGJsbC1mb290ZXIuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsOiAnLi9oYmxsLWZvb3Rlci5jb21wb25lbnQuc2NzcycsXG59KVxuZXhwb3J0IGNsYXNzIEhibGxGb290ZXJDb21wb25lbnQge1xuICAgIHByaXZhdGUgcmVhZG9ubHkgZmIgPSBpbmplY3QoRm9ybUJ1aWxkZXIpO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgaHR0cCA9IGluamVjdChIdHRwQ2xpZW50KTtcbiAgICBwcml2YXRlIHJlYWRvbmx5IGZvb3RlclNraXBUYXJnZXRJZCA9ICdoYmxsQ2hhdEJ0bic7XG4gICAgQFZpZXdDaGlsZCgnZW1haWxEaWFsb2cnKSBwcml2YXRlIGVtYWlsRGlhbG9nITogRWxlbWVudFJlZjtcbiAgICAvLyBUT0RPOiBDb252ZXJ0IHRoZXNlIHRvIHNpZ25hbCBpbnB1dHM6IGh0dHBzOi8vZ2l0aHViLmNvbS9hbmd1bGFyL2FuZ3VsYXIvaXNzdWVzLzU3NzU1XG4gICAgQElucHV0KCkgbWFpbnNpdGViYXNldXJsID0gJ2h0dHBzOi8vbGliLmJ5dS5lZHUnO1xuICAgIEBJbnB1dCgpIGxpYnJhcnlhcGliYXNldXJpID0gJ2h0dHBzOi8vYXBwcy5saWIuYnl1LmVkdS92MSc7XG4gICAgQElucHV0KCkgc2V0IGVtYWlsbmFtZShuYW1lOiBzdHJpbmcpIHtcbiAgICAgICAgdGhpcy5lbWFpbEZvcm0uY29udHJvbHMubmFtZS5zZXRWYWx1ZShuYW1lKTtcbiAgICB9XG4gICAgQElucHV0KCkgc2V0IGVtYWlsZW1haWwoZW1haWw6IHN0cmluZykge1xuICAgICAgICB0aGlzLmVtYWlsRm9ybS5jb250cm9scy5lbWFpbC5zZXRWYWx1ZShlbWFpbCk7XG4gICAgfVxuICAgIEBJbnB1dCgpIHNldCBlbWFpbG1lc3NhZ2UobWVzc2FnZTogc3RyaW5nKSB7XG4gICAgICAgIHRoaXMuZW1haWxGb3JtLmNvbnRyb2xzLm1lc3NhZ2Uuc2V0VmFsdWUobWVzc2FnZSk7XG4gICAgfVxuICAgIEBJbnB1dCgpIHNldCBlbWFpbHN0YXR1cyhzdGF0dXM6IENvbnRhY3RQYXlsb2FkWydzdGF0dXMnXSkge1xuICAgICAgICB0aGlzLmVtYWlsRm9ybS5jb250cm9scy5zdGF0dXMuc2V0VmFsdWUoc3RhdHVzKTtcbiAgICB9XG4gICAgcHJvdGVjdGVkIGRhdGUgPSBuZXcgRGF0ZSgpO1xuICAgIHByb3RlY3RlZCBpc1N1Ym1pdHRlZCA9IGZhbHNlO1xuICAgIHByb3RlY3RlZCBpc0xvYWRpbmcgPSBmYWxzZTtcbiAgICBwcm90ZWN0ZWQgaGFzQ29ubmVjdGlvbkVycm9yID0gZmFsc2U7XG4gICAgcHJvdGVjdGVkIGlzRW1haWxTZW50ID0gZmFsc2U7XG4gICAgcHJvdGVjdGVkIGVtYWlsRm9ybSA9IGNyZWF0ZUNvbnRhY3RGb3JtKHRoaXMuZmIpO1xuICAgIHByb3RlY3RlZCB1c2VyU3RhdHVzZXMgPSBVU0VSX1NUQVRVU0VTO1xuXG4gICAgcHJvdGVjdGVkIHNlbmRFbWFpbCA9ICgpID0+IHtcbiAgICAgICAgdGhpcy5pc1N1Ym1pdHRlZCA9IHRydWU7XG4gICAgICAgIGlmICh0aGlzLmVtYWlsRm9ybS5pbnZhbGlkKSByZXR1cm47XG4gICAgICAgIHRoaXMuaXNMb2FkaW5nID0gdHJ1ZTtcbiAgICAgICAgc3VibWl0RW1haWwoXG4gICAgICAgICAgICB0aGlzLmVtYWlsRm9ybS52YWx1ZSBhcyBDb250YWN0UGF5bG9hZCxcbiAgICAgICAgICAgIHRoaXMuaHR0cCxcbiAgICAgICAgICAgIHRoaXMubGlicmFyeWFwaWJhc2V1cmksXG4gICAgICAgICkuc3Vic2NyaWJlKHtcbiAgICAgICAgICAgIGVycm9yOiAoKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5oYXNDb25uZWN0aW9uRXJyb3IgPSB0cnVlO1xuICAgICAgICAgICAgICAgIHRoaXMuaXNMb2FkaW5nID0gZmFsc2U7XG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgY29tcGxldGU6ICgpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLmhhc0Nvbm5lY3Rpb25FcnJvciA9IGZhbHNlO1xuICAgICAgICAgICAgICAgIHRoaXMuaXNMb2FkaW5nID0gZmFsc2U7XG4gICAgICAgICAgICAgICAgdGhpcy5pc0VtYWlsU2VudCA9IHRydWU7XG4gICAgICAgICAgICAgICAgdGhpcy5lbWFpbEZvcm0ucmVzZXQoKTtcbiAgICAgICAgICAgIH0sXG4gICAgICAgIH0pO1xuICAgIH07XG5cbiAgICBwcm90ZWN0ZWQgaGFuZGxlQ2xvc2UgPSAoKSA9PiB7XG4gICAgICAgIGlmICh0aGlzLmlzRW1haWxTZW50KSB7XG4gICAgICAgICAgICB0aGlzLmlzRW1haWxTZW50ID0gZmFsc2U7XG4gICAgICAgICAgICB0aGlzLmhhc0Nvbm5lY3Rpb25FcnJvciA9IGZhbHNlO1xuICAgICAgICAgICAgdGhpcy5pc0xvYWRpbmcgPSBmYWxzZTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLmlzU3VibWl0dGVkID0gZmFsc2U7XG4gICAgfTtcblxuICAgIC8vIEV4cG9zZSB0aGlzIHRvIGJlIGNhbGxlZCBmcm9tIGNvbnN1bWluZyBhcHBsaWNhdGlvbnMuXG4gICAgb3BlbkVtYWlsRm9ybSA9IChmb3JtVmFsdWVzPzogdHlwZW9mIHRoaXMuZW1haWxGb3JtLnZhbHVlKSA9PiB7XG4gICAgICAgIGlmIChmb3JtVmFsdWVzKSB7XG4gICAgICAgICAgICBpZiAoZm9ybVZhbHVlcy5uYW1lKSB0aGlzLmVtYWlsRm9ybS5jb250cm9scy5uYW1lLnNldFZhbHVlKGZvcm1WYWx1ZXMubmFtZSk7XG4gICAgICAgICAgICBpZiAoZm9ybVZhbHVlcy5lbWFpbCkgdGhpcy5lbWFpbEZvcm0uY29udHJvbHMuZW1haWwuc2V0VmFsdWUoZm9ybVZhbHVlcy5lbWFpbCk7XG4gICAgICAgICAgICBpZiAoZm9ybVZhbHVlcy5tZXNzYWdlKSB0aGlzLmVtYWlsRm9ybS5jb250cm9scy5tZXNzYWdlLnNldFZhbHVlKGZvcm1WYWx1ZXMubWVzc2FnZSk7XG4gICAgICAgICAgICBpZiAoZm9ybVZhbHVlcy5zdGF0dXMpIHRoaXMuZW1haWxGb3JtLmNvbnRyb2xzLnN0YXR1cy5zZXRWYWx1ZShmb3JtVmFsdWVzLnN0YXR1cyk7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5lbWFpbERpYWxvZy5uYXRpdmVFbGVtZW50LnNob3dNb2RhbCgpO1xuICAgIH07XG5cbiAgICBza2lwRm9vdGVyKCk6IHZvaWQge1xuICAgICAgICBjb25zdCBza2lwVGFyZ2V0ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQodGhpcy5mb290ZXJTa2lwVGFyZ2V0SWQpIGFzIEhUTUxFbGVtZW50O1xuICAgICAgICBpZiAoc2tpcFRhcmdldCkge1xuICAgICAgICAgICAgc2tpcFRhcmdldC5mb2N1cygpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgY29uc29sZS53YXJuKCdTa2lwIGZvb3RlciB0YXJnZXQgbm90IGZvdW5kIG9uIHRoZSBwYWdlLicpO1xuICAgICAgICB9XG4gICAgfVxufVxuIiwiPGZvb3Rlcj5cbiAgICA8ZGl2IGNsYXNzPVwiaGJsbC1mb290ZXItd3JhcHBlclwiPlxuICAgICAgICA8YnV0dG9uIGNsYXNzPVwic2tpcC1saW5rLWZvb3RlclwiIChjbGljayk9XCJza2lwRm9vdGVyKClcIiA+U2tpcCBmb290ZXI8L2J1dHRvbj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImhibGwtZm9vdGVyLWxpbmtzXCI+XG4gICAgICAgICAgICA8c2VjdGlvbiBhcmlhLWxhYmVsbGVkYnk9XCJmb290ZXJDb250YWN0SGVhZGluZ1wiPlxuICAgICAgICAgICAgICAgIDxoMyBpZD1cImZvb3RlckNvbnRhY3RIZWFkaW5nXCIgPkNvbnRhY3Q8L2gzPlxuICAgICAgICAgICAgICAgIDx1bD5cbiAgICAgICAgICAgICAgICAgICAgPGxpPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGFkZHJlc3M+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgUC5PLiBCb3ggMjY4MDA8YnIgLz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBQcm92bywgVVQgODQ2MDItNjgwMFxuICAgICAgICAgICAgICAgICAgICAgICAgPC9hZGRyZXNzPlxuICAgICAgICAgICAgICAgICAgICA8L2xpPlxuICAgICAgICAgICAgICAgICAgICA8bGk+XG4gICAgICAgICAgICAgICAgICAgICAgICA8YSBocmVmPVwidGVsOjgwMS00MjItNjA2MVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwibWF0ZXJpYWwtc3ltYm9scy1vdXRsaW5lZCBoYmxsLWZvb3Rlci1pY29uXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBob25lX2luX3RhbGsgPC9zcGFuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPiZuYnNwOyA8c3Ryb25nPkNhbGw8L3N0cm9uZz4mbmJzcDsoODAxKSA0MjItNjA2MVxuICAgICAgICAgICAgICAgICAgICAgICAgPC9hPlxuICAgICAgICAgICAgICAgICAgICA8L2xpPlxuICAgICAgICAgICAgICAgICAgICA8bGk+XG4gICAgICAgICAgICAgICAgICAgICAgICA8YSBocmVmPVwic21zOjgwMS02MjMtNjgzOFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwibWF0ZXJpYWwtc3ltYm9scy1vdXRsaW5lZCBoYmxsLWZvb3Rlci1pY29uXCI+IHNtcyA8L3NwYW5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA+Jm5ic3A7IDxzdHJvbmc+VGV4dDwvc3Ryb25nPiZuYnNwOyg4MDEpIDYyMy02ODM4XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2E+XG4gICAgICAgICAgICAgICAgICAgIDwvbGk+XG4gICAgICAgICAgICAgICAgICAgIDxsaT5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxidXR0b24gKGNsaWNrKT1cImVtYWlsRGlhbG9nLnNob3dNb2RhbCgpXCIgZGF0YS10ZXN0aWQ9XCJlbWFpbFVzQnRuXCIgc3R5bGU9XCJwYWRkaW5nOiA0cHg7XCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJtYXRlcmlhbC1zeW1ib2xzLW91dGxpbmVkIGhibGwtZm9vdGVyLWljb25cIj4gbWFpbCA8L3NwYW5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA+Jm5ic3A7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN0cm9uZz5FbWFpbCB1czwvc3Ryb25nPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICAgICAgICAgIDwvbGk+XG4gICAgICAgICAgICAgICAgPC91bD5cbiAgICAgICAgICAgIDwvc2VjdGlvbj5cbiAgICAgICAgICAgIDxzZWN0aW9uIGFyaWEtbGFiZWxsZWRieT1cImZvb3RlclJlc291cmNlc0hlYWRpbmdcIj5cbiAgICAgICAgICAgICAgICA8aDMgaWQ9XCJmb290ZXJSZXNvdXJjZXNIZWFkaW5nXCI+UmVzb3VyY2VzPC9oMz5cbiAgICAgICAgICAgICAgICA8dWw+XG4gICAgICAgICAgICAgICAgICAgIDxsaT5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxhIHRhcmdldD1cIl9ibGFua1wiIGhyZWY9XCJ7eyBtYWluc2l0ZWJhc2V1cmwgfX0vc2l0ZS1pbmRleC9cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgID5BLVogU2l0ZSBJbmRleDwvYVxuICAgICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICA8L2xpPlxuICAgICAgICAgICAgICAgICAgICA8bGk+XG4gICAgICAgICAgICAgICAgICAgICAgICA8YSB0YXJnZXQ9XCJfYmxhbmtcIiBocmVmPVwie3sgbWFpbnNpdGViYXNldXJsIH19L2Fib3V0L3BvbGljaWVzL1wiPlBvbGljaWVzPC9hPlxuICAgICAgICAgICAgICAgICAgICA8L2xpPlxuICAgICAgICAgICAgICAgICAgICA8bGk+XG4gICAgICAgICAgICAgICAgICAgICAgICA8YSB0YXJnZXQ9XCJfYmxhbmtcIiBocmVmPVwie3sgbWFpbnNpdGViYXNldXJsIH19L2Fib3V0L2xvY2F0aW9uL1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPlBhcmtpbmcgJiBEaXJlY3Rpb25zPC9hXG4gICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgIDwvbGk+XG4gICAgICAgICAgICAgICAgICAgIDxsaT5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxhIHRhcmdldD1cIl9ibGFua1wiIGhyZWY9XCJodHRwczovL3VhYy5ieXUuZWR1L2FjY2Vzc2liaWxpdHktbGFiXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA+QWNjZXNzaWJpbGl0eSBSZXNvdXJjZXM8L2FcbiAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgPC9saT5cbiAgICAgICAgICAgICAgICAgICAgPGxpPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGEgdGFyZ2V0PVwiX2JsYW5rXCIgaHJlZj1cImh0dHBzOi8vaHIubGliLmJ5dS5lZHUvYnl1LWxpYnJhcnktam9ic1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPkVtcGxveW1lbnQgT3Bwb3J0dW5pdGllczwvYVxuICAgICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICA8L2xpPlxuICAgICAgICAgICAgICAgIDwvdWw+XG4gICAgICAgICAgICA8L3NlY3Rpb24+XG4gICAgICAgICAgICA8c2VjdGlvbiBhcmlhLWxhYmVsbGVkYnk9XCJmb290ZXJGcmllbmRzSGVhZGluZ1wiPlxuICAgICAgICAgICAgICAgIDxoMyBpZD1cImZvb3RlckZyaWVuZHNIZWFkaW5nXCI+RnJpZW5kcyBpbiB0aGUgTGlicmFyeTwvaDM+XG4gICAgICAgICAgICAgICAgPHVsPlxuICAgICAgICAgICAgICAgICAgICA8bGk+XG4gICAgICAgICAgICAgICAgICAgICAgICA8YSB0YXJnZXQ9XCJfYmxhbmtcIiBocmVmPVwiaHR0cHM6Ly9jdGwuYnl1LmVkdVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPkNlbnRlciBmb3IgVGVhY2hpbmcgYW5kIExlYXJuaW5nPC9hXG4gICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgIDwvbGk+XG4gICAgICAgICAgICAgICAgICAgIDxsaT5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxhIHRhcmdldD1cIl9ibGFua1wiIGhyZWY9XCJodHRwczovL2NvcHlyaWdodC5ieXUuZWR1XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA+Q29weXJpZ2h0IExpY2Vuc2luZyBPZmZpY2U8L2FcbiAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgPC9saT5cbiAgICAgICAgICAgICAgICAgICAgPGxpPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGEgdGFyZ2V0PVwiX2JsYW5rXCIgaHJlZj1cImh0dHBzOi8vZmFjdWx0eWNlbnRlci5ieXUuZWR1L2Fib3V0dXNcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgID5GYWN1bHR5IENlbnRlcjwvYVxuICAgICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICA8L2xpPlxuICAgICAgICAgICAgICAgICAgICA8bGk+XG4gICAgICAgICAgICAgICAgICAgICAgICA8YSB0YXJnZXQ9XCJfYmxhbmtcIiBocmVmPVwiaHR0cHM6Ly9kaW5pbmcuYnl1LmVkdS9saWJyYXJ5LWNhZmVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgID5MaWJyYXJ5IENhZmU8L2FcbiAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgPC9saT5cbiAgICAgICAgICAgICAgICA8L3VsPlxuICAgICAgICAgICAgPC9zZWN0aW9uPlxuICAgICAgICAgICAgPHNlY3Rpb24gYXJpYS1sYWJlbGxlZGJ5PVwiZm9vdGVyQ29ubmVjdEhlYWRpbmdcIj5cbiAgICAgICAgICAgICAgICA8aDMgaWQ9XCJmb290ZXJDb25uZWN0SGVhZGluZ1wiPkNvbm5lY3Q8L2gzPlxuICAgICAgICAgICAgICAgIDx1bCBjbGFzcz1cImhibGwtZm9vdGVyLXNvY2lhbC1saXN0XCI+XG4gICAgICAgICAgICAgICAgICAgIDxsaT5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxhIHRhcmdldD1cIl9ibGFua1wiIGhyZWY9XCJodHRwczovL3d3dy5mYWNlYm9vay5jb20vYnl1aGJsbFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbWdcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJoYmxsLWZvb3Rlci1zb2NpYWxcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzcmM9XCJodHRwczovL21lZGlhLmxpYi5ieXUuZWR1L3dlYi1hc3NldHMvaW1hZ2VzLzEuMC4wL2ZhY2Vib29rLWNvbG9yLXJvdW5kLnN2Z1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFsdD1cIkZhY2Vib29rXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGl0bGU9XCJGYWNlYm9va1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvYT5cbiAgICAgICAgICAgICAgICAgICAgPC9saT5cbiAgICAgICAgICAgICAgICAgICAgPGxpPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGEgdGFyZ2V0PVwiX2JsYW5rXCIgaHJlZj1cImh0dHBzOi8vd3d3Lmluc3RhZ3JhbS5jb20vYnl1X2hibGwvXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGltZ1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImhibGwtZm9vdGVyLXNvY2lhbFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNyYz1cImh0dHBzOi8vbWVkaWEubGliLmJ5dS5lZHUvd2ViLWFzc2V0cy9pbWFnZXMvMS4wLjAvaW5zdGFncmFtLWNvbG9yLnN2Z1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFsdD1cIkluc3RhZ3JhbVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRpdGxlPVwiSW5zdGFncmFtXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9hPlxuICAgICAgICAgICAgICAgICAgICA8L2xpPlxuICAgICAgICAgICAgICAgIDwvdWw+XG4gICAgICAgICAgICA8L3NlY3Rpb24+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8c2VjdGlvbiBjbGFzcz1cImhibGwtZm9vdGVyLWJvdHRvbVwiIGFyaWEtbGFiZWw9XCJCb3R0b20tbW9zdCBwYXJ0IG9mIHRoZSBmb290ZXJcIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJoYmxsLWZvb3Rlci10aXRsZVwiPlxuICAgICAgICAgICAgICAgIDxhIGhyZWY9XCJodHRwczovL2J5dS5lZHVcIiB0YXJnZXQ9XCJfYmxhbmtcIj5CUklHSEFNIFlPVU5HIFVOSVZFUlNJVFk8L2E+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxiciAvPlxuICAgICAgICAgICAgUFJPVk8sIFVUIDg0NjAyLCBVU0EgfCA8YSBocmVmPVwic21zOjgwMS00MjItNjA2MVwiPig4MDEpIDQyMi02MDYxPC9hPlxuICAgICAgICAgICAgPGJyIC8+JmNvcHk7Jm5ic3A7e3sgZGF0ZSB8IGRhdGU6ICd5eXl5JyB9fVxuICAgICAgICAgICAgQUxMIFJJR0hUUyBSRVNFUlZFRFxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImhibGwtZm9vdGVyLXByaXZhY3lcIj5cbiAgICAgICAgICAgICAgICA8YSBocmVmPVwiaHR0cHM6Ly9wcml2YWN5LmJ5dS5lZHUvXCIgdGFyZ2V0PVwiX2JsYW5rXCI+UHJpdmFjeSBOb3RpY2U8L2E+XG4gICAgICAgICAgICAgICAgfFxuICAgICAgICAgICAgICAgIDxzcGFuIGlkPVwidGVjb25zZW50XCI+PC9zcGFuPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvc2VjdGlvbj5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2IGlkPVwiY29uc2VudC1iYW5uZXJcIj48L2Rpdj5cbjwvZm9vdGVyPlxuXG48ZGlhbG9nXG4gICAgI2VtYWlsRGlhbG9nXG4gICAgb25tb3VzZWRvd249XCJldmVudC50YXJnZXQgPT09IHRoaXMgJiYgdGhpcy5jbG9zZSgpXCJcbiAgICAoY2xvc2UpPVwiaGFuZGxlQ2xvc2UoKVwiXG4gICAgZGF0YS10ZXN0aWQ9XCJkaWFsb2dcIlxuPlxuICAgIEBpZiAoIWlzRW1haWxTZW50KSB7XG4gICAgICAgIDxmb3JtIFtmb3JtR3JvdXBdPVwiZW1haWxGb3JtXCIgKHN1Ym1pdCk9XCJzZW5kRW1haWwoKVwiIGRhdGEtdGVzdGlkPVwiZm9ybVwiPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImhibGwtZm9vdGVyLWVtYWlsLXRvcFwiPlxuICAgICAgICAgICAgICAgIDxoMT5FbWFpbCBVczwvaDE+XG4gICAgICAgICAgICAgICAgPGJ1dHRvbiAoY2xpY2spPVwiZW1haWxEaWFsb2cuY2xvc2UoKVwiIHR5cGU9XCJidXR0b25cIiBkYXRhLXRlc3RpZD1cImNsb3NlQnRuXCI+XG4gICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwibWF0ZXJpYWwtc3ltYm9scy1vdXRsaW5lZFwiPiBjbG9zZSA8L3NwYW4+XG4gICAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxsYWJlbCBmb3I9XCJoYmxsRm9vdGVyRW1haWxOYW1lXCI+TmFtZTwvbGFiZWw+XG4gICAgICAgICAgICA8aW5wdXRcbiAgICAgICAgICAgICAgICBpZD1cImhibGxGb290ZXJFbWFpbE5hbWVcIlxuICAgICAgICAgICAgICAgIHR5cGU9XCJ0ZXh0XCJcbiAgICAgICAgICAgICAgICBmb3JtQ29udHJvbE5hbWU9XCJuYW1lXCJcbiAgICAgICAgICAgICAgICBkYXRhLXRlc3RpZD1cImVtYWlsTmFtZUlucHV0XCJcbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgICA8bGFiZWwgZm9yPVwiaGJsbEZvb3RlckVtYWlsRW1haWxcIj5cbiAgICAgICAgICAgICAgICBFbWFpbCAocGxlYXNlIHByb3ZpZGUgaWYgeW91IHdvdWxkIGxpa2UgYSByZXNwb25zZSk8L2xhYmVsXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICA8aW5wdXRcbiAgICAgICAgICAgICAgICBpZD1cImhibGxGb290ZXJFbWFpbEVtYWlsXCJcbiAgICAgICAgICAgICAgICB0eXBlPVwidGV4dFwiXG4gICAgICAgICAgICAgICAgZm9ybUNvbnRyb2xOYW1lPVwiZW1haWxcIlxuICAgICAgICAgICAgICAgIGRhdGEtdGVzdGlkPVwiZW1haWxFbWFpbElucHV0XCJcbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgICA8bGFiZWwgZm9yPVwiaGJsbEZvb3RlckVtYWlsUXVlc3Rpb25Db21tZW50XCI+XG4gICAgICAgICAgICAgICAgUXVlc3Rpb24gb3IgY29tbWVudCZuYnNwOzxzcGFuIGNsYXNzPVwiaGJsbC1mb290ZXItZW1haWwtcmVxdWlyZWRcIj4qPC9zcGFuPlxuICAgICAgICAgICAgPC9sYWJlbD5cbiAgICAgICAgICAgIDx0ZXh0YXJlYVxuICAgICAgICAgICAgICAgIGlkPVwiaGJsbEZvb3RlckVtYWlsUXVlc3Rpb25Db21tZW50XCJcbiAgICAgICAgICAgICAgICB0eXBlPVwidGV4dFwiXG4gICAgICAgICAgICAgICAgZm9ybUNvbnRyb2xOYW1lPVwibWVzc2FnZVwiXG4gICAgICAgICAgICAgICAgZGF0YS10ZXN0aWQ9XCJlbWFpbE1lc3NhZ2VJbnB1dFwiXG4gICAgICAgICAgICA+PC90ZXh0YXJlYT5cbiAgICAgICAgICAgIEBpZiAoaXNTdWJtaXR0ZWQgJiYgZW1haWxGb3JtLmNvbnRyb2xzLm1lc3NhZ2UuaW52YWxpZCkge1xuICAgICAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJoYmxsLWZvb3Rlci1lbWFpbC1yZXF1aXJlZCBoYmxsLWZvb3Rlci1lbWFpbC1lcnJvclwiXG4gICAgICAgICAgICAgICAgICAgIGRhdGEtdGVzdGlkPVwiY29tbWVudEVycm9yXCJcbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwibWF0ZXJpYWwtc3ltYm9scy1vdXRsaW5lZCBoYmxsLWZvb3Rlci1lbWFpbC1lcnJvci1pY29uXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICB3YXJuaW5nXG4gICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgPHN0cm9uZz5QbGVhc2UgZmlsbCBvdXQgdGhpcyBmaWVsZDwvc3Ryb25nPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgPGxhYmVsIGZvcj1cImhibGxGb290ZXJFbWFpbFN0YXR1c1wiPlJvbGU8L2xhYmVsPlxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJoYmxsLWZvb3Rlci1zZWxlY3Qtd3JhcHBlclwiPlxuICAgICAgICAgICAgICAgIDxzZWxlY3RcbiAgICAgICAgICAgICAgICAgICAgaWQ9XCJoYmxsRm9vdGVyRW1haWxTdGF0dXNcIlxuICAgICAgICAgICAgICAgICAgICBmb3JtQ29udHJvbE5hbWU9XCJzdGF0dXNcIlxuICAgICAgICAgICAgICAgICAgICBkYXRhLXRlc3RpZD1cImVtYWlsU3RhdHVzSW5wdXRcIlxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgPG9wdGlvbiBzZWxlY3RlZCB2YWx1ZT1cIlwiPjwvb3B0aW9uPlxuICAgICAgICAgICAgICAgICAgICBAZm9yIChzdGF0dXMgb2YgdXNlclN0YXR1c2VzIHwgc2xpY2U6IDE7IHRyYWNrIHN0YXR1cykge1xuICAgICAgICAgICAgICAgICAgICAgICAgPG9wdGlvbiBbdmFsdWVdPVwic3RhdHVzXCI+e3sgc3RhdHVzIH19PC9vcHRpb24+XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICA8L3NlbGVjdD5cbiAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJoYmxsLWZvb3Rlci1lbWFpbC1ib3R0b20tYmFyXCI+XG4gICAgICAgICAgICAgICAgQGlmIChoYXNDb25uZWN0aW9uRXJyb3IpIHtcbiAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3M9XCJoYmxsLWZvb3Rlci1jb25uZWN0aW9uLWVycm9yXCIgZGF0YS10ZXN0aWQ9XCJjb25uZWN0aW9uRXJyb3JcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxpPlRoZXJlIHdhcyBhbiBlcnJvciBzZW5kaW5nIHlvdXIgZW1haWwuIFBsZWFzZSB0cnkgYWdhaW4gbGF0ZXIuPC9pPlxuICAgICAgICAgICAgICAgICAgICA8L3A+XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJwaWxsLWJ0bi0tY29tcG9uZW50c1wiXG4gICAgICAgICAgICAgICAgICAgIHR5cGU9XCJzdWJtaXRcIlxuICAgICAgICAgICAgICAgICAgICBbZGlzYWJsZWRdPVwiaXNMb2FkaW5nXCJcbiAgICAgICAgICAgICAgICAgICAgZGF0YS10ZXN0aWQ9XCJzZW5kRW1haWxCdG5cIlxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgU2VuZFxuICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZm9ybT5cbiAgICB9IEBlbHNlIHtcbiAgICAgICAgPGRpdiBjbGFzcz1cImhibGwtZm9vdGVyLWVtYWlsLXN1Y2Nlc3NcIiBkYXRhLXRlc3RpZD1cInN1Y2Nlc3NNZXNzYWdlXCI+XG4gICAgICAgICAgICA8cD5cbiAgICAgICAgICAgICAgICBZb3VyIGVtYWlsIHdhcyBzZW50IHN1Y2Nlc3NmdWxseS4gSWYgeW91IHN1cHBsaWVkIHlvdXIgZW1haWwgYWRkcmVzcywgd2Ugd2lsbCBnZXRcbiAgICAgICAgICAgICAgICBiYWNrIHRvIHlvdSBzaG9ydGx5LjxiciAvPlRoYW5rIHlvdSFcbiAgICAgICAgICAgIDwvcD5cbiAgICAgICAgICAgIDxidXR0b24gY2xhc3M9XCJwaWxsLWJ0bi0tY29tcG9uZW50c1wiIChjbGljayk9XCJlbWFpbERpYWxvZy5jbG9zZSgpXCIgdHlwZT1cImJ1dHRvblwiPlxuICAgICAgICAgICAgICAgIENsb3NlXG4gICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgPC9kaXY+XG4gICAgfVxuPC9kaWFsb2c+XG4iXX0=
108
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGJsbC1mb290ZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29tcG9uZW50cy9zcmMvbGliL2hibGwtZm9vdGVyL2hibGwtZm9vdGVyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvbXBvbmVudHMvc3JjL2xpYi9oYmxsLWZvb3Rlci9oYmxsLWZvb3Rlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFjLE1BQU0sRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2hGLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsV0FBVyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDbEUsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ2xELE9BQU8sRUFBa0IsaUJBQWlCLEVBQUUsV0FBVyxFQUFFLGFBQWEsRUFBRSxNQUFNLGtCQUFrQixDQUFDOzs7O0FBU2pHLE1BQU0sT0FBTyxtQkFBbUI7SUFQaEM7UUFRcUIsT0FBRSxHQUFHLE1BQU0sQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUN6QixTQUFJLEdBQUcsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQzFCLHVCQUFrQixHQUFHLGFBQWEsQ0FBQztRQUVwRCx3RkFBd0Y7UUFDL0Usb0JBQWUsR0FBRyxxQkFBcUIsQ0FBQztRQUN4QyxzQkFBaUIsR0FBRyw0QkFBNEIsQ0FBQztRQWFoRCxTQUFJLEdBQUcsSUFBSSxJQUFJLEVBQUUsQ0FBQztRQUNsQixnQkFBVyxHQUFHLEtBQUssQ0FBQztRQUNwQixjQUFTLEdBQUcsS0FBSyxDQUFDO1FBQ2xCLHVCQUFrQixHQUFHLEtBQUssQ0FBQztRQUMzQixnQkFBVyxHQUFHLEtBQUssQ0FBQztR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QztJQUN0RCxDQUFDO0lBQ0QsSUFBYSxXQUFXLENBQUMsTUFBZ0M7UUFDckQsSUFBSSxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUNwRCxDQUFDO0lBbURELFVBQVU7UUFDTixNQUFNLFVBQVUsR0FBRyxRQUFRLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxrQkFBa0IsQ0FBZ0IsQ0FBQztRQUNuRixJQUFJLFVBQVUsRUFBRSxDQUFDO1lBQ2IsVUFBVSxDQUFDLEtBQUssRUFBRSxDQUFDO1FBQ3ZCLENBQUM7YUFBTSxDQUFDO1lBQ0osT0FBTyxDQUFDLElBQUksQ0FBQywyQ0FBMkMsQ0FBQyxDQUFDO1FBQzlELENBQUM7SUFDTCxDQUFDOzhHQTdFUSxtQkFBbUI7a0dBQW5CLG1CQUFtQiwyWENiaEMsb3FUQStOQSwrdU1EdE5jLFlBQVksc0lBQUUsbUJBQW1COzsyRkFJbEMsbUJBQW1CO2tCQVAvQixTQUFTOytCQUNJLGlCQUFpQixjQUNmLElBQUksV0FDUCxDQUFDLFlBQVksRUFBRSxtQkFBbUIsQ0FBQzs4QkFRVixXQUFXO3NCQUE1QyxTQUFTO3VCQUFDLGFBQWE7Z0JBRWYsZUFBZTtzQkFBdkIsS0FBSztnQkFDRyxpQkFBaUI7c0JBQXpCLEtBQUs7Z0JBQ08sU0FBUztzQkFBckIsS0FBSztnQkFHTyxVQUFVO3NCQUF0QixLQUFLO2dCQUdPLFlBQVk7c0JBQXhCLEtBQUs7Z0JBR08sV0FBVztzQkFBdkIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRWxlbWVudFJlZiwgaW5qZWN0LCBJbnB1dCwgVmlld0NoaWxkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgRm9ybUJ1aWxkZXIsIFJlYWN0aXZlRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBIdHRwQ2xpZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHsgQ29udGFjdFBheWxvYWQsIGNyZWF0ZUNvbnRhY3RGb3JtLCBzdWJtaXRFbWFpbCwgVVNFUl9TVEFUVVNFUyB9IGZyb20gJy4uL2NvbnRhY3QtdXRpbHMnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2xpYi1oYmxsLWZvb3RlcicsXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBSZWFjdGl2ZUZvcm1zTW9kdWxlXSxcbiAgICB0ZW1wbGF0ZVVybDogJy4vaGJsbC1mb290ZXIuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsOiAnLi9oYmxsLWZvb3Rlci5jb21wb25lbnQuc2NzcycsXG59KVxuZXhwb3J0IGNsYXNzIEhibGxGb290ZXJDb21wb25lbnQge1xuICAgIHByaXZhdGUgcmVhZG9ubHkgZmIgPSBpbmplY3QoRm9ybUJ1aWxkZXIpO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgaHR0cCA9IGluamVjdChIdHRwQ2xpZW50KTtcbiAgICBwcml2YXRlIHJlYWRvbmx5IGZvb3RlclNraXBUYXJnZXRJZCA9ICdoYmxsQ2hhdEJ0bic7XG4gICAgQFZpZXdDaGlsZCgnZW1haWxEaWFsb2cnKSBwcml2YXRlIGVtYWlsRGlhbG9nITogRWxlbWVudFJlZjtcbiAgICAvLyBUT0RPOiBDb252ZXJ0IHRoZXNlIHRvIHNpZ25hbCBpbnB1dHM6IGh0dHBzOi8vZ2l0aHViLmNvbS9hbmd1bGFyL2FuZ3VsYXIvaXNzdWVzLzU3NzU1XG4gICAgQElucHV0KCkgbWFpbnNpdGViYXNldXJsID0gJ2h0dHBzOi8vbGliLmJ5dS5lZHUnO1xuICAgIEBJbnB1dCgpIGxpYnJhcnlhcGliYXNldXJpID0gJ2h0dHBzOi8vYXBpLmxpYi5ieXUuZWR1L3YxJztcbiAgICBASW5wdXQoKSBzZXQgZW1haWxuYW1lKG5hbWU6IHN0cmluZykge1xuICAgICAgICB0aGlzLmVtYWlsRm9ybS5jb250cm9scy5uYW1lLnNldFZhbHVlKG5hbWUpO1xuICAgIH1cbiAgICBASW5wdXQoKSBzZXQgZW1haWxlbWFpbChlbWFpbDogc3RyaW5nKSB7XG4gICAgICAgIHRoaXMuZW1haWxGb3JtLmNvbnRyb2xzLmVtYWlsLnNldFZhbHVlKGVtYWlsKTtcbiAgICB9XG4gICAgQElucHV0KCkgc2V0IGVtYWlsbWVzc2FnZShtZXNzYWdlOiBzdHJpbmcpIHtcbiAgICAgICAgdGhpcy5lbWFpbEZvcm0uY29udHJvbHMubWVzc2FnZS5zZXRWYWx1ZShtZXNzYWdlKTtcbiAgICB9XG4gICAgQElucHV0KCkgc2V0IGVtYWlsc3RhdHVzKHN0YXR1czogQ29udGFjdFBheWxvYWRbJ3N0YXR1cyddKSB7XG4gICAgICAgIHRoaXMuZW1haWxGb3JtLmNvbnRyb2xzLnN0YXR1cy5zZXRWYWx1ZShzdGF0dXMpO1xuICAgIH1cbiAgICBwcm90ZWN0ZWQgZGF0ZSA9IG5ldyBEYXRlKCk7XG4gICAgcHJvdGVjdGVkIGlzU3VibWl0dGVkID0gZmFsc2U7XG4gICAgcHJvdGVjdGVkIGlzTG9hZGluZyA9IGZhbHNlO1xuICAgIHByb3RlY3RlZCBoYXNDb25uZWN0aW9uRXJyb3IgPSBmYWxzZTtcbiAgICBwcm90ZWN0ZWQgaXNFbWFpbFNlbnQgPSBmYWxzZTtcbiAgICBwcm90ZWN0ZWQgZW1haWxGb3JtID0gY3JlYXRlQ29udGFjdEZvcm0odGhpcy5mYik7XG4gICAgcHJvdGVjdGVkIHVzZXJTdGF0dXNlcyA9IFVTRVJfU1RBVFVTRVM7XG5cbiAgICBwcm90ZWN0ZWQgc2VuZEVtYWlsID0gKCkgPT4ge1xuICAgICAgICB0aGlzLmlzU3VibWl0dGVkID0gdHJ1ZTtcbiAgICAgICAgaWYgKHRoaXMuZW1haWxGb3JtLmludmFsaWQpIHJldHVybjtcbiAgICAgICAgdGhpcy5pc0xvYWRpbmcgPSB0cnVlO1xuICAgICAgICBzdWJtaXRFbWFpbChcbiAgICAgICAgICAgIHRoaXMuZW1haWxGb3JtLnZhbHVlIGFzIENvbnRhY3RQYXlsb2FkLFxuICAgICAgICAgICAgdGhpcy5odHRwLFxuICAgICAgICAgICAgdGhpcy5saWJyYXJ5YXBpYmFzZXVyaSxcbiAgICAgICAgKS5zdWJzY3JpYmUoe1xuICAgICAgICAgICAgZXJyb3I6ICgpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLmhhc0Nvbm5lY3Rpb25FcnJvciA9IHRydWU7XG4gICAgICAgICAgICAgICAgdGhpcy5pc0xvYWRpbmcgPSBmYWxzZTtcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBjb21wbGV0ZTogKCkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMuaGFzQ29ubmVjdGlvbkVycm9yID0gZmFsc2U7XG4gICAgICAgICAgICAgICAgdGhpcy5pc0xvYWRpbmcgPSBmYWxzZTtcbiAgICAgICAgICAgICAgICB0aGlzLmlzRW1haWxTZW50ID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICB0aGlzLmVtYWlsRm9ybS5yZXNldCgpO1xuICAgICAgICAgICAgfSxcbiAgICAgICAgfSk7XG4gICAgfTtcblxuICAgIHByb3RlY3RlZCBoYW5kbGVDbG9zZSA9ICgpID0+IHtcbiAgICAgICAgaWYgKHRoaXMuaXNFbWFpbFNlbnQpIHtcbiAgICAgICAgICAgIHRoaXMuaXNFbWFpbFNlbnQgPSBmYWxzZTtcbiAgICAgICAgICAgIHRoaXMuaGFzQ29ubmVjdGlvbkVycm9yID0gZmFsc2U7XG4gICAgICAgICAgICB0aGlzLmlzTG9hZGluZyA9IGZhbHNlO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuaXNTdWJtaXR0ZWQgPSBmYWxzZTtcbiAgICB9O1xuXG4gICAgLy8gRXhwb3NlIHRoaXMgdG8gYmUgY2FsbGVkIGZyb20gY29uc3VtaW5nIGFwcGxpY2F0aW9ucy5cbiAgICBvcGVuRW1haWxGb3JtID0gKGZvcm1WYWx1ZXM/OiB0eXBlb2YgdGhpcy5lbWFpbEZvcm0udmFsdWUpID0+IHtcbiAgICAgICAgaWYgKGZvcm1WYWx1ZXMpIHtcbiAgICAgICAgICAgIGlmIChmb3JtVmFsdWVzLm5hbWUpIHRoaXMuZW1haWxGb3JtLmNvbnRyb2xzLm5hbWUuc2V0VmFsdWUoZm9ybVZhbHVlcy5uYW1lKTtcbiAgICAgICAgICAgIGlmIChmb3JtVmFsdWVzLmVtYWlsKSB0aGlzLmVtYWlsRm9ybS5jb250cm9scy5lbWFpbC5zZXRWYWx1ZShmb3JtVmFsdWVzLmVtYWlsKTtcbiAgICAgICAgICAgIGlmIChmb3JtVmFsdWVzLm1lc3NhZ2UpIHRoaXMuZW1haWxGb3JtLmNvbnRyb2xzLm1lc3NhZ2Uuc2V0VmFsdWUoZm9ybVZhbHVlcy5tZXNzYWdlKTtcbiAgICAgICAgICAgIGlmIChmb3JtVmFsdWVzLnN0YXR1cykgdGhpcy5lbWFpbEZvcm0uY29udHJvbHMuc3RhdHVzLnNldFZhbHVlKGZvcm1WYWx1ZXMuc3RhdHVzKTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLmVtYWlsRGlhbG9nLm5hdGl2ZUVsZW1lbnQuc2hvd01vZGFsKCk7XG4gICAgfTtcblxuICAgIHNraXBGb290ZXIoKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IHNraXBUYXJnZXQgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCh0aGlzLmZvb3RlclNraXBUYXJnZXRJZCkgYXMgSFRNTEVsZW1lbnQ7XG4gICAgICAgIGlmIChza2lwVGFyZ2V0KSB7XG4gICAgICAgICAgICBza2lwVGFyZ2V0LmZvY3VzKCk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBjb25zb2xlLndhcm4oJ1NraXAgZm9vdGVyIHRhcmdldCBub3QgZm91bmQgb24gdGhlIHBhZ2UuJyk7XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCI8Zm9vdGVyPlxuICAgIDxkaXYgY2xhc3M9XCJoYmxsLWZvb3Rlci13cmFwcGVyXCI+XG4gICAgICAgIDxidXR0b24gY2xhc3M9XCJza2lwLWxpbmstZm9vdGVyXCIgKGNsaWNrKT1cInNraXBGb290ZXIoKVwiID5Ta2lwIGZvb3RlcjwvYnV0dG9uPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiaGJsbC1mb290ZXItbGlua3NcIj5cbiAgICAgICAgICAgIDxzZWN0aW9uIGFyaWEtbGFiZWxsZWRieT1cImZvb3RlckNvbnRhY3RIZWFkaW5nXCI+XG4gICAgICAgICAgICAgICAgPGgzIGlkPVwiZm9vdGVyQ29udGFjdEhlYWRpbmdcIiA+Q29udGFjdDwvaDM+XG4gICAgICAgICAgICAgICAgPHVsPlxuICAgICAgICAgICAgICAgICAgICA8bGk+XG4gICAgICAgICAgICAgICAgICAgICAgICA8YWRkcmVzcz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBQLk8uIEJveCAyNjgwMDxiciAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFByb3ZvLCBVVCA4NDYwMi02ODAwXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2FkZHJlc3M+XG4gICAgICAgICAgICAgICAgICAgIDwvbGk+XG4gICAgICAgICAgICAgICAgICAgIDxsaT5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxhIGhyZWY9XCJ0ZWw6ODAxLTQyMi02MDYxXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJtYXRlcmlhbC1zeW1ib2xzLW91dGxpbmVkIGhibGwtZm9vdGVyLWljb25cIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGhvbmVfaW5fdGFsayA8L3NwYW5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA+Jm5ic3A7IDxzdHJvbmc+Q2FsbDwvc3Ryb25nPiZuYnNwOyg4MDEpIDQyMi02MDYxXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2E+XG4gICAgICAgICAgICAgICAgICAgIDwvbGk+XG4gICAgICAgICAgICAgICAgICAgIDxsaT5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxhIGhyZWY9XCJzbXM6ODAxLTYyMy02ODM4XCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJtYXRlcmlhbC1zeW1ib2xzLW91dGxpbmVkIGhibGwtZm9vdGVyLWljb25cIj4gc21zIDwvc3BhblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgID4mbmJzcDsgPHN0cm9uZz5UZXh0PC9zdHJvbmc+Jm5ic3A7KDgwMSkgNjIzLTY4MzhcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvYT5cbiAgICAgICAgICAgICAgICAgICAgPC9saT5cbiAgICAgICAgICAgICAgICAgICAgPGxpPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiAoY2xpY2spPVwiZW1haWxEaWFsb2cuc2hvd01vZGFsKClcIiBkYXRhLXRlc3RpZD1cImVtYWlsVXNCdG5cIiBzdHlsZT1cInBhZGRpbmc6IDRweDtcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cIm1hdGVyaWFsLXN5bWJvbHMtb3V0bGluZWQgaGJsbC1mb290ZXItaWNvblwiPiBtYWlsIDwvc3BhblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgID4mbmJzcDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3Ryb25nPkVtYWlsIHVzPC9zdHJvbmc+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgICAgICAgICAgPC9saT5cbiAgICAgICAgICAgICAgICA8L3VsPlxuICAgICAgICAgICAgPC9zZWN0aW9uPlxuICAgICAgICAgICAgPHNlY3Rpb24gYXJpYS1sYWJlbGxlZGJ5PVwiZm9vdGVyUmVzb3VyY2VzSGVhZGluZ1wiPlxuICAgICAgICAgICAgICAgIDxoMyBpZD1cImZvb3RlclJlc291cmNlc0hlYWRpbmdcIj5SZXNvdXJjZXM8L2gzPlxuICAgICAgICAgICAgICAgIDx1bD5cbiAgICAgICAgICAgICAgICAgICAgPGxpPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGEgdGFyZ2V0PVwiX2JsYW5rXCIgaHJlZj1cInt7IG1haW5zaXRlYmFzZXVybCB9fS9zaXRlLWluZGV4L1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPkEtWiBTaXRlIEluZGV4PC9hXG4gICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgIDwvbGk+XG4gICAgICAgICAgICAgICAgICAgIDxsaT5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxhIHRhcmdldD1cIl9ibGFua1wiIGhyZWY9XCJ7eyBtYWluc2l0ZWJhc2V1cmwgfX0vYWJvdXQvcG9saWNpZXMvXCI+UG9saWNpZXM8L2E+XG4gICAgICAgICAgICAgICAgICAgIDwvbGk+XG4gICAgICAgICAgICAgICAgICAgIDxsaT5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxhIHRhcmdldD1cIl9ibGFua1wiIGhyZWY9XCJ7eyBtYWluc2l0ZWJhc2V1cmwgfX0vYWJvdXQvbG9jYXRpb24vXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA+UGFya2luZyAmIERpcmVjdGlvbnM8L2FcbiAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgPC9saT5cbiAgICAgICAgICAgICAgICAgICAgPGxpPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGEgdGFyZ2V0PVwiX2JsYW5rXCIgaHJlZj1cImh0dHBzOi8vdWFjLmJ5dS5lZHUvYWNjZXNzaWJpbGl0eS1sYWJcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgID5BY2Nlc3NpYmlsaXR5IFJlc291cmNlczwvYVxuICAgICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICA8L2xpPlxuICAgICAgICAgICAgICAgICAgICA8bGk+XG4gICAgICAgICAgICAgICAgICAgICAgICA8YSB0YXJnZXQ9XCJfYmxhbmtcIiBocmVmPVwiaHR0cHM6Ly9oci5saWIuYnl1LmVkdS9ieXUtbGlicmFyeS1qb2JzXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA+RW1wbG95bWVudCBPcHBvcnR1bml0aWVzPC9hXG4gICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgIDwvbGk+XG4gICAgICAgICAgICAgICAgPC91bD5cbiAgICAgICAgICAgIDwvc2VjdGlvbj5cbiAgICAgICAgICAgIDxzZWN0aW9uIGFyaWEtbGFiZWxsZWRieT1cImZvb3RlckZyaWVuZHNIZWFkaW5nXCI+XG4gICAgICAgICAgICAgICAgPGgzIGlkPVwiZm9vdGVyRnJpZW5kc0hlYWRpbmdcIj5GcmllbmRzIGluIHRoZSBMaWJyYXJ5PC9oMz5cbiAgICAgICAgICAgICAgICA8dWw+XG4gICAgICAgICAgICAgICAgICAgIDxsaT5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxhIHRhcmdldD1cIl9ibGFua1wiIGhyZWY9XCJodHRwczovL2N0bC5ieXUuZWR1XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA+Q2VudGVyIGZvciBUZWFjaGluZyBhbmQgTGVhcm5pbmc8L2FcbiAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgPC9saT5cbiAgICAgICAgICAgICAgICAgICAgPGxpPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGEgdGFyZ2V0PVwiX2JsYW5rXCIgaHJlZj1cImh0dHBzOi8vY29weXJpZ2h0LmJ5dS5lZHVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgID5Db3B5cmlnaHQgTGljZW5zaW5nIE9mZmljZTwvYVxuICAgICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICA8L2xpPlxuICAgICAgICAgICAgICAgICAgICA8bGk+XG4gICAgICAgICAgICAgICAgICAgICAgICA8YSB0YXJnZXQ9XCJfYmxhbmtcIiBocmVmPVwiaHR0cHM6Ly9mYWN1bHR5Y2VudGVyLmJ5dS5lZHUvYWJvdXR1c1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPkZhY3VsdHkgQ2VudGVyPC9hXG4gICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgIDwvbGk+XG4gICAgICAgICAgICAgICAgICAgIDxsaT5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxhIHRhcmdldD1cIl9ibGFua1wiIGhyZWY9XCJodHRwczovL2RpbmluZy5ieXUuZWR1L2xpYnJhcnktY2FmZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPkxpYnJhcnkgQ2FmZTwvYVxuICAgICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICA8L2xpPlxuICAgICAgICAgICAgICAgIDwvdWw+XG4gICAgICAgICAgICA8L3NlY3Rpb24+XG4gICAgICAgICAgICA8c2VjdGlvbiBhcmlhLWxhYmVsbGVkYnk9XCJmb290ZXJDb25uZWN0SGVhZGluZ1wiPlxuICAgICAgICAgICAgICAgIDxoMyBpZD1cImZvb3RlckNvbm5lY3RIZWFkaW5nXCI+Q29ubmVjdDwvaDM+XG4gICAgICAgICAgICAgICAgPHVsIGNsYXNzPVwiaGJsbC1mb290ZXItc29jaWFsLWxpc3RcIj5cbiAgICAgICAgICAgICAgICAgICAgPGxpPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGEgdGFyZ2V0PVwiX2JsYW5rXCIgaHJlZj1cImh0dHBzOi8vd3d3LmZhY2Vib29rLmNvbS9ieXVoYmxsXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGltZ1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImhibGwtZm9vdGVyLXNvY2lhbFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNyYz1cImh0dHBzOi8vbWVkaWEubGliLmJ5dS5lZHUvd2ViLWFzc2V0cy9pbWFnZXMvMS4wLjAvZmFjZWJvb2stY29sb3Itcm91bmQuc3ZnXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYWx0PVwiRmFjZWJvb2tcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aXRsZT1cIkZhY2Vib29rXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9hPlxuICAgICAgICAgICAgICAgICAgICA8L2xpPlxuICAgICAgICAgICAgICAgICAgICA8bGk+XG4gICAgICAgICAgICAgICAgICAgICAgICA8YSB0YXJnZXQ9XCJfYmxhbmtcIiBocmVmPVwiaHR0cHM6Ly93d3cuaW5zdGFncmFtLmNvbS9ieXVfaGJsbC9cIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW1nXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiaGJsbC1mb290ZXItc29jaWFsXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3JjPVwiaHR0cHM6Ly9tZWRpYS5saWIuYnl1LmVkdS93ZWItYXNzZXRzL2ltYWdlcy8xLjAuMC9pbnN0YWdyYW0tY29sb3Iuc3ZnXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYWx0PVwiSW5zdGFncmFtXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGl0bGU9XCJJbnN0YWdyYW1cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2E+XG4gICAgICAgICAgICAgICAgICAgIDwvbGk+XG4gICAgICAgICAgICAgICAgPC91bD5cbiAgICAgICAgICAgIDwvc2VjdGlvbj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxzZWN0aW9uIGNsYXNzPVwiaGJsbC1mb290ZXItYm90dG9tXCIgYXJpYS1sYWJlbD1cIkJvdHRvbS1tb3N0IHBhcnQgb2YgdGhlIGZvb3RlclwiPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImhibGwtZm9vdGVyLXRpdGxlXCI+XG4gICAgICAgICAgICAgICAgPGEgaHJlZj1cImh0dHBzOi8vYnl1LmVkdVwiIHRhcmdldD1cIl9ibGFua1wiPkJSSUdIQU0gWU9VTkcgVU5JVkVSU0lUWTwvYT5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPGJyIC8+XG4gICAgICAgICAgICBQUk9WTywgVVQgODQ2MDIsIFVTQSB8IDxhIGhyZWY9XCJzbXM6ODAxLTQyMi02MDYxXCI+KDgwMSkgNDIyLTYwNjE8L2E+XG4gICAgICAgICAgICA8YnIgLz4mY29weTsmbmJzcDt7eyBkYXRlIHwgZGF0ZTogJ3l5eXknIH19XG4gICAgICAgICAgICBBTEwgUklHSFRTIFJFU0VSVkVEXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiaGJsbC1mb290ZXItcHJpdmFjeVwiPlxuICAgICAgICAgICAgICAgIDxhIGhyZWY9XCJodHRwczovL3ByaXZhY3kuYnl1LmVkdS9cIiB0YXJnZXQ9XCJfYmxhbmtcIj5Qcml2YWN5IE5vdGljZTwvYT5cbiAgICAgICAgICAgICAgICB8XG4gICAgICAgICAgICAgICAgPHNwYW4gaWQ9XCJ0ZWNvbnNlbnRcIj48L3NwYW4+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9zZWN0aW9uPlxuICAgIDwvZGl2PlxuICAgIDxkaXYgaWQ9XCJjb25zZW50LWJhbm5lclwiPjwvZGl2PlxuPC9mb290ZXI+XG5cbjxkaWFsb2dcbiAgICAjZW1haWxEaWFsb2dcbiAgICBvbm1vdXNlZG93bj1cImV2ZW50LnRhcmdldCA9PT0gdGhpcyAmJiB0aGlzLmNsb3NlKClcIlxuICAgIChjbG9zZSk9XCJoYW5kbGVDbG9zZSgpXCJcbiAgICBkYXRhLXRlc3RpZD1cImRpYWxvZ1wiXG4+XG4gICAgQGlmICghaXNFbWFpbFNlbnQpIHtcbiAgICAgICAgPGZvcm0gW2Zvcm1Hcm91cF09XCJlbWFpbEZvcm1cIiAoc3VibWl0KT1cInNlbmRFbWFpbCgpXCIgZGF0YS10ZXN0aWQ9XCJmb3JtXCI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiaGJsbC1mb290ZXItZW1haWwtdG9wXCI+XG4gICAgICAgICAgICAgICAgPGgxPkVtYWlsIFVzPC9oMT5cbiAgICAgICAgICAgICAgICA8YnV0dG9uIChjbGljayk9XCJlbWFpbERpYWxvZy5jbG9zZSgpXCIgdHlwZT1cImJ1dHRvblwiIGRhdGEtdGVzdGlkPVwiY2xvc2VCdG5cIj5cbiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJtYXRlcmlhbC1zeW1ib2xzLW91dGxpbmVkXCI+IGNsb3NlIDwvc3Bhbj5cbiAgICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPGxhYmVsIGZvcj1cImhibGxGb290ZXJFbWFpbE5hbWVcIj5OYW1lPC9sYWJlbD5cbiAgICAgICAgICAgIDxpbnB1dFxuICAgICAgICAgICAgICAgIGlkPVwiaGJsbEZvb3RlckVtYWlsTmFtZVwiXG4gICAgICAgICAgICAgICAgdHlwZT1cInRleHRcIlxuICAgICAgICAgICAgICAgIGZvcm1Db250cm9sTmFtZT1cIm5hbWVcIlxuICAgICAgICAgICAgICAgIGRhdGEtdGVzdGlkPVwiZW1haWxOYW1lSW5wdXRcIlxuICAgICAgICAgICAgLz5cbiAgICAgICAgICAgIDxsYWJlbCBmb3I9XCJoYmxsRm9vdGVyRW1haWxFbWFpbFwiPlxuICAgICAgICAgICAgICAgIEVtYWlsIChwbGVhc2UgcHJvdmlkZSBpZiB5b3Ugd291bGQgbGlrZSBhIHJlc3BvbnNlKTwvbGFiZWxcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgIDxpbnB1dFxuICAgICAgICAgICAgICAgIGlkPVwiaGJsbEZvb3RlckVtYWlsRW1haWxcIlxuICAgICAgICAgICAgICAgIHR5cGU9XCJ0ZXh0XCJcbiAgICAgICAgICAgICAgICBmb3JtQ29udHJvbE5hbWU9XCJlbWFpbFwiXG4gICAgICAgICAgICAgICAgZGF0YS10ZXN0aWQ9XCJlbWFpbEVtYWlsSW5wdXRcIlxuICAgICAgICAgICAgLz5cbiAgICAgICAgICAgIDxsYWJlbCBmb3I9XCJoYmxsRm9vdGVyRW1haWxRdWVzdGlvbkNvbW1lbnRcIj5cbiAgICAgICAgICAgICAgICBRdWVzdGlvbiBvciBjb21tZW50Jm5ic3A7PHNwYW4gY2xhc3M9XCJoYmxsLWZvb3Rlci1lbWFpbC1yZXF1aXJlZFwiPio8L3NwYW4+XG4gICAgICAgICAgICA8L2xhYmVsPlxuICAgICAgICAgICAgPHRleHRhcmVhXG4gICAgICAgICAgICAgICAgaWQ9XCJoYmxsRm9vdGVyRW1haWxRdWVzdGlvbkNvbW1lbnRcIlxuICAgICAgICAgICAgICAgIHR5cGU9XCJ0ZXh0XCJcbiAgICAgICAgICAgICAgICBmb3JtQ29udHJvbE5hbWU9XCJtZXNzYWdlXCJcbiAgICAgICAgICAgICAgICBkYXRhLXRlc3RpZD1cImVtYWlsTWVzc2FnZUlucHV0XCJcbiAgICAgICAgICAgID48L3RleHRhcmVhPlxuICAgICAgICAgICAgQGlmIChpc1N1Ym1pdHRlZCAmJiBlbWFpbEZvcm0uY29udHJvbHMubWVzc2FnZS5pbnZhbGlkKSB7XG4gICAgICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImhibGwtZm9vdGVyLWVtYWlsLXJlcXVpcmVkIGhibGwtZm9vdGVyLWVtYWlsLWVycm9yXCJcbiAgICAgICAgICAgICAgICAgICAgZGF0YS10ZXN0aWQ9XCJjb21tZW50RXJyb3JcIlxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJtYXRlcmlhbC1zeW1ib2xzLW91dGxpbmVkIGhibGwtZm9vdGVyLWVtYWlsLWVycm9yLWljb25cIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIHdhcm5pbmdcbiAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICA8c3Ryb25nPlBsZWFzZSBmaWxsIG91dCB0aGlzIGZpZWxkPC9zdHJvbmc+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICA8bGFiZWwgZm9yPVwiaGJsbEZvb3RlckVtYWlsU3RhdHVzXCI+Um9sZTwvbGFiZWw+XG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cImhibGwtZm9vdGVyLXNlbGVjdC13cmFwcGVyXCI+XG4gICAgICAgICAgICAgICAgPHNlbGVjdFxuICAgICAgICAgICAgICAgICAgICBpZD1cImhibGxGb290ZXJFbWFpbFN0YXR1c1wiXG4gICAgICAgICAgICAgICAgICAgIGZvcm1Db250cm9sTmFtZT1cInN0YXR1c1wiXG4gICAgICAgICAgICAgICAgICAgIGRhdGEtdGVzdGlkPVwiZW1haWxTdGF0dXNJbnB1dFwiXG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICA8b3B0aW9uIHNlbGVjdGVkIHZhbHVlPVwiXCI+PC9vcHRpb24+XG4gICAgICAgICAgICAgICAgICAgIEBmb3IgKHN0YXR1cyBvZiB1c2VyU3RhdHVzZXMgfCBzbGljZTogMTsgdHJhY2sgc3RhdHVzKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICA8b3B0aW9uIFt2YWx1ZV09XCJzdGF0dXNcIj57eyBzdGF0dXMgfX08L29wdGlvbj5cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIDwvc2VsZWN0PlxuICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImhibGwtZm9vdGVyLWVtYWlsLWJvdHRvbS1iYXJcIj5cbiAgICAgICAgICAgICAgICBAaWYgKGhhc0Nvbm5lY3Rpb25FcnJvcikge1xuICAgICAgICAgICAgICAgICAgICA8cCBjbGFzcz1cImhibGwtZm9vdGVyLWNvbm5lY3Rpb24tZXJyb3JcIiBkYXRhLXRlc3RpZD1cImNvbm5lY3Rpb25FcnJvclwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGk+VGhlcmUgd2FzIGFuIGVycm9yIHNlbmRpbmcgeW91ciBlbWFpbC4gUGxlYXNlIHRyeSBhZ2FpbiBsYXRlci48L2k+XG4gICAgICAgICAgICAgICAgICAgIDwvcD5cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICAgICAgICBjbGFzcz1cInBpbGwtYnRuLS1jb21wb25lbnRzXCJcbiAgICAgICAgICAgICAgICAgICAgdHlwZT1cInN1Ym1pdFwiXG4gICAgICAgICAgICAgICAgICAgIFtkaXNhYmxlZF09XCJpc0xvYWRpbmdcIlxuICAgICAgICAgICAgICAgICAgICBkYXRhLXRlc3RpZD1cInNlbmRFbWFpbEJ0blwiXG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICBTZW5kXG4gICAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9mb3JtPlxuICAgIH0gQGVsc2Uge1xuICAgICAgICA8ZGl2IGNsYXNzPVwiaGJsbC1mb290ZXItZW1haWwtc3VjY2Vzc1wiIGRhdGEtdGVzdGlkPVwic3VjY2Vzc01lc3NhZ2VcIj5cbiAgICAgICAgICAgIDxwPlxuICAgICAgICAgICAgICAgIFlvdXIgZW1haWwgd2FzIHNlbnQgc3VjY2Vzc2Z1bGx5LiBJZiB5b3Ugc3VwcGxpZWQgeW91ciBlbWFpbCBhZGRyZXNzLCB3ZSB3aWxsIGdldFxuICAgICAgICAgICAgICAgIGJhY2sgdG8geW91IHNob3J0bHkuPGJyIC8+VGhhbmsgeW91IVxuICAgICAgICAgICAgPC9wPlxuICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz1cInBpbGwtYnRuLS1jb21wb25lbnRzXCIgKGNsaWNrKT1cImVtYWlsRGlhbG9nLmNsb3NlKClcIiB0eXBlPVwiYnV0dG9uXCI+XG4gICAgICAgICAgICAgICAgQ2xvc2VcbiAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICA8L2Rpdj5cbiAgICB9XG48L2RpYWxvZz5cbiJdfQ==
@@ -132,7 +132,7 @@ export class NavBarComponent {
132
132
  url: `${this.mainSiteBaseUrl()}/services?categories=multimedia-creation`,
133
133
  },
134
134
  {
135
- label: 'Video View Spaces',
135
+ label: 'Video Viewing Spaces',
136
136
  url: `${this.mainSiteBaseUrl()}/services?categories=video-viewing`,
137
137
  },
138
138
  ],
@@ -285,7 +285,7 @@ export class NavBarComponent {
285
285
  title: 'Get Help',
286
286
  links: [
287
287
  {
288
- label: 'Ask a Librarian',
288
+ label: 'Chat',
289
289
  url: `${this.mainSiteBaseUrl()}/chat?url=${window.location.href}`,
290
290
  icon: 'chat_bubble',
291
291
  },
@@ -340,13 +340,13 @@ export class NavBarComponent {
340
340
  this.isInteractingWithNavbar = false;
341
341
  }
342
342
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: NavBarComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
343
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.1.0", type: NavBarComponent, isStandalone: true, selector: "lib-nav-bar", inputs: { mainSiteBaseUrl: { classPropertyName: "mainSiteBaseUrl", publicName: "mainSiteBaseUrl", isSignal: true, isRequired: true, transformFunction: null }, height: { classPropertyName: "height", publicName: "height", isSignal: true, isRequired: false, transformFunction: null } }, viewQueries: [{ propertyName: "dropdownComps", predicate: NavBarDropdownComponent, descendants: true }], ngImport: i0, template: "<nav\n [style]=\"{ height: height() ? height() + 'px' : 'auto' }\"\n [ngClass]=\"{ 'hbll-header-desktop': !isScreenSmall() }\"\n data-testid=\"nav\"\n (mouseleave)=\"handleNavbarMouseLeave()\"\n>\n <ul class=\"hbll-header-nav-bar\">\n <li id=\"navHome\">\n <a [href]=\"mainSiteBaseUrl()\">\n @if (isScreenSmall()) {\n <span class=\"material-symbols-outlined hbll-header-icon\"> home </span>\n }\n Home\n </a>\n </li>\n @for (navInfo of navInfos(); track navInfo.title) {\n <li>\n <lib-nav-bar-dropdown\n [title]=\"navInfo.title\"\n [isSmallScreen]=\"isScreenSmall() ?? true\"\n [isInteracting]=\"isInteractingWithNavbar\"\n (openEvent)=\"handleDropdownOpenEvent($event)\"\n (hoverStarted)=\"handleHoverStarted()\"\n >\n <div\n class=\"hbll-header-content\"\n [ngStyle]=\"{\n 'background-color': isScreenSmall() ? '#336cc8' : 'inherit',\n }\"\n >\n @if (navInfo.mainSection) {\n <section>\n <h2 tabindex=\"0\">{{ navInfo.mainSection.title }}</h2>\n <div class=\"hbll-header-main hbll-header-links\">\n @for (link of navInfo.mainSection.links; track link.label) {\n <a [href]=\"link.url\">\n {{ link.label }}\n </a>\n }\n </div>\n @if (navInfo.mainSection.auxiliaryLink) {\n <a\n class=\"hbll-header-see-all\"\n [href]=\"navInfo.mainSection.auxiliaryLink.url\"\n >\n {{ navInfo.mainSection.auxiliaryLink.label }}\n <span class=\"material-symbols-outlined hbll-header-icon\">\n chevron_right\n </span>\n </a>\n }\n </section>\n }\n @for (section of navInfo.otherSections; track section.title) {\n <section>\n <h3 tabindex=\"0\">{{ section.title }}</h3>\n <div class=\"hbll-header-links\">\n @for (link of section.links; track link.label) {\n <a [href]=\"link.url\">\n {{ link.label }}\n @if (link.icon) {\n <span\n class=\"material-symbols-outlined hbll-header-icon-right\"\n >\n {{ link.icon }}\n </span>\n }\n </a>\n }\n </div>\n @if (section.auxiliaryLink) {\n <a\n class=\"hbll-header-see-all\"\n [href]=\"section.auxiliaryLink.url\"\n >\n {{ section.auxiliaryLink.label }}\n <span class=\"material-symbols-outlined hbll-header-icon\">\n chevron_right\n </span>\n </a>\n }\n </section>\n }\n </div>\n </lib-nav-bar-dropdown>\n </li>\n }\n <li>\n <a id=\"navSearch\" [href]=\"mainSiteBaseUrl() + '/search'\">\n @if (isScreenSmall()) {\n Search\n }\n <span\n class=\"material-symbols-outlined\"\n [ngClass]=\"{ 'hbll-header-icon': isScreenSmall() }\"\n >\n search\n </span>\n </a>\n </li>\n </ul>\n</nav>\n", styles: ["nav.hbll-header-desktop .hbll-header-nav-bar li#navHome a,nav.hbll-header-desktop .hbll-header-nav-bar li #navSearch{color:#002e5d;background-color:#fff;display:flex;justify-content:center;align-items:center;font-size:1.1em;font-weight:500;border:none;padding:.4em 1em;line-height:1.4em}nav.hbll-header-desktop .hbll-header-nav-bar li#navHome a .hbll-header-icon,nav.hbll-header-desktop .hbll-header-nav-bar li #navSearch .hbll-header-icon{font-size:1.3em;margin-bottom:-.1em}nav.hbll-header-desktop .hbll-header-nav-bar li#navHome a:hover,nav.hbll-header-desktop .hbll-header-nav-bar li #navSearch:hover{background-color:#0047ba;color:#fff}*{box-sizing:border-box;text-decoration:none;font-size:1em}*:not(.material-symbols-outlined){font-family:inherit}.hbll-header-icon-right{margin-left:.4em;font-size:1.2em}nav{background-color:#0047ba;position:absolute;overflow-y:scroll;overflow-x:hidden;scrollbar-width:none;width:100vw;max-width:400px;right:0}nav li{list-style-type:none}nav ::-webkit-scrollbar{display:none}nav .hbll-header-nav-bar{display:flex;flex-direction:column;align-items:flex-end;margin:0;padding:0}nav .hbll-header-nav-bar .hbll-header-links{padding:0}nav .hbll-header-nav-bar li{width:100%}nav .hbll-header-nav-bar li#navHome .hbll-header-icon{margin-right:.2em}nav .hbll-header-nav-bar li a{color:#fff;display:flex;align-items:center;width:100%;padding:.6em}nav .hbll-header-nav-bar li #navSearch{justify-content:flex-end;font-size:1.3em}nav .hbll-header-nav-bar li #navSearch .hbll-header-icon{margin-left:.2em}nav .hbll-header-nav-bar li .hbll-header-content{border-bottom:1px solid rgba(255,255,255,.3);padding-bottom:1.4em}nav .hbll-header-nav-bar li .hbll-header-content section{padding-left:3em}nav .hbll-header-nav-bar li .hbll-header-content section:first-of-type{padding-top:1em}nav .hbll-header-nav-bar li .hbll-header-content section h2,nav .hbll-header-nav-bar li .hbll-header-content section h3{font-weight:600;font-size:1.4em;margin-bottom:.4em}nav .hbll-header-nav-bar li .hbll-header-content section+section{margin-top:1.8em}nav .hbll-header-nav-bar li .hbll-header-content section li a{padding:.6em .8em;margin:.2em 0}nav .hbll-header-nav-bar li .hbll-header-content section .hbll-header-see-all{border-top:1px solid rgba(255,255,255,.3);justify-content:flex-end}nav .hbll-header-nav-bar li .hbll-header-content section .hbll-header-no-see-all{margin-bottom:1em}nav .hbll-header-nav-bar li .hbll-header-content section .hbll-header-main{padding-bottom:.4em}nav.hbll-header-desktop{overflow:initial;background-color:#fff;padding:0 2em;position:relative;max-width:100%}nav.hbll-header-desktop .hbll-header-nav-bar{flex-direction:row;align-items:center}nav.hbll-header-desktop .hbll-header-nav-bar .hbll-header-links{background-color:#0047ba;display:flex;flex-direction:column;align-items:flex-start}nav.hbll-header-desktop .hbll-header-nav-bar .hbll-header-links li{width:100%}nav.hbll-header-desktop .hbll-header-nav-bar .hbll-header-links li a{transition:background-color .1s ease-in-out}nav.hbll-header-desktop .hbll-header-nav-bar .hbll-header-links li a:hover{background-color:#fff3;width:100%}nav.hbll-header-desktop .hbll-header-nav-bar li{width:auto;height:100%}nav.hbll-header-desktop .hbll-header-nav-bar li #navSearch{transition:all .2s ease-in-out;font-size:1.2em;background-color:transparent}nav.hbll-header-desktop .hbll-header-nav-bar li #navSearch:hover{background-color:transparent;transform:scale(115%);color:#0047ba}nav.hbll-header-desktop .hbll-header-nav-bar li .hbll-header-content{display:flex;justify-content:center;padding-top:1.4em;padding-right:10%;padding-left:10%}nav.hbll-header-desktop .hbll-header-nav-bar li .hbll-header-content section{padding-top:0;padding-left:5%;width:30em}nav.hbll-header-desktop .hbll-header-nav-bar li .hbll-header-content section+section{border-left:1px solid rgba(255,255,255,.3);margin-top:0}nav.hbll-header-desktop .hbll-header-nav-bar li .hbll-header-content section .hbll-header-see-all{margin-right:1em;transition:color .1s ease-in-out;width:auto}nav.hbll-header-desktop .hbll-header-nav-bar li .hbll-header-content section .hbll-header-see-all:hover{color:#ffffffd9}nav.hbll-header-desktop .hbll-header-nav-bar li .hbll-header-content h2,nav.hbll-header-desktop .hbll-header-nav-bar li .hbll-header-content h3{color:#fff}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "component", type: NavBarDropdownComponent, selector: "lib-nav-bar-dropdown", inputs: ["title", "isSmallScreen", "isInteracting"], outputs: ["openEvent", "hoverStarted"] }] }); }
343
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.1.0", type: NavBarComponent, isStandalone: true, selector: "lib-nav-bar", inputs: { mainSiteBaseUrl: { classPropertyName: "mainSiteBaseUrl", publicName: "mainSiteBaseUrl", isSignal: true, isRequired: true, transformFunction: null }, height: { classPropertyName: "height", publicName: "height", isSignal: true, isRequired: false, transformFunction: null } }, viewQueries: [{ propertyName: "dropdownComps", predicate: NavBarDropdownComponent, descendants: true }], ngImport: i0, template: "<nav\n [style]=\"{ height: height() ? height() + 'px' : 'auto' }\"\n [ngClass]=\"{ 'hbll-header-desktop': !isScreenSmall() }\"\n data-testid=\"nav\"\n (mouseleave)=\"handleNavbarMouseLeave()\"\n>\n <ul class=\"hbll-header-nav-bar\">\n <li id=\"navHome\">\n <a [href]=\"mainSiteBaseUrl()\">\n @if (isScreenSmall()) {\n <span class=\"material-symbols-outlined hbll-header-icon\"> home </span>\n }\n Home\n </a>\n </li>\n @for (navInfo of navInfos(); track navInfo.title) {\n <li>\n <lib-nav-bar-dropdown\n [title]=\"navInfo.title\"\n [isSmallScreen]=\"isScreenSmall() ?? true\"\n [isInteracting]=\"isInteractingWithNavbar\"\n (openEvent)=\"handleDropdownOpenEvent($event)\"\n (hoverStarted)=\"handleHoverStarted()\"\n >\n <div\n class=\"hbll-header-content\"\n [ngStyle]=\"{\n 'background-color': isScreenSmall() ? '#336cc8' : 'inherit',\n }\"\n >\n @if (navInfo.mainSection) {\n <section>\n <h2 tabindex=\"0\">{{ navInfo.mainSection.title }}</h2>\n <div class=\"hbll-header-main hbll-header-links\">\n @for (link of navInfo.mainSection.links; track link.label) {\n <a [href]=\"link.url\">\n {{ link.label }}\n </a>\n }\n </div>\n @if (navInfo.mainSection.auxiliaryLink) {\n <a\n class=\"hbll-header-see-all\"\n [href]=\"navInfo.mainSection.auxiliaryLink.url\"\n >\n {{ navInfo.mainSection.auxiliaryLink.label }}\n <span class=\"material-symbols-outlined hbll-header-icon\">\n chevron_right\n </span>\n </a>\n }\n </section>\n }\n @for (section of navInfo.otherSections; track section.title) {\n <section>\n <h3 tabindex=\"0\">{{ section.title }}</h3>\n <div class=\"hbll-header-links\">\n @for (link of section.links; track link.label) {\n <a [href]=\"link.url\">\n {{ link.label }}\n @if (link.icon) {\n <span\n class=\"material-symbols-outlined hbll-header-icon-right\"\n >\n {{ link.icon }}\n </span>\n }\n </a>\n }\n </div>\n @if (section.auxiliaryLink) {\n <a\n class=\"hbll-header-see-all\"\n [href]=\"section.auxiliaryLink.url\"\n >\n {{ section.auxiliaryLink.label }}\n <span class=\"material-symbols-outlined hbll-header-icon\">\n chevron_right\n </span>\n </a>\n }\n </section>\n }\n </div>\n </lib-nav-bar-dropdown>\n </li>\n }\n <li>\n <a id=\"navSearch\" [href]=\"mainSiteBaseUrl() + '/search'\">\n @if (isScreenSmall()) {\n Search\n }\n <span\n class=\"material-symbols-outlined\"\n [ngClass]=\"{ 'hbll-header-icon': isScreenSmall() }\"\n >\n search\n </span>\n </a>\n </li>\n </ul>\n</nav>\n", styles: ["nav.hbll-header-desktop .hbll-header-nav-bar li#navHome a,nav.hbll-header-desktop .hbll-header-nav-bar li #navSearch{color:#002e5d;background-color:#fff;display:flex;justify-content:center;align-items:center;font-size:1.1em;font-weight:500;border:none;padding:.4em 1em;line-height:1.4em}nav.hbll-header-desktop .hbll-header-nav-bar li#navHome a .hbll-header-icon,nav.hbll-header-desktop .hbll-header-nav-bar li #navSearch .hbll-header-icon{font-size:1.3em;margin-bottom:-.1em}nav.hbll-header-desktop .hbll-header-nav-bar li#navHome a:hover,nav.hbll-header-desktop .hbll-header-nav-bar li #navSearch:hover{background-color:#0047ba;color:#fff}*{box-sizing:border-box;text-decoration:none;font-size:1em}*:not(.material-symbols-outlined){font-family:inherit}.hbll-header-icon-right{margin-left:.4em;font-size:1.2em}nav{background-color:#0047ba;position:absolute;overflow-y:scroll;overflow-x:hidden;scrollbar-width:none;width:100vw;max-width:400px;right:0}nav li{list-style-type:none}nav ::-webkit-scrollbar{display:none}nav .hbll-header-nav-bar{display:flex;flex-direction:column;align-items:flex-end;margin:0;padding:0}nav .hbll-header-nav-bar .hbll-header-links{padding:0}nav .hbll-header-nav-bar li{width:100%}nav .hbll-header-nav-bar li#navHome .hbll-header-icon{margin-right:.2em}nav .hbll-header-nav-bar li a{color:#fff;display:flex;align-items:center;width:100%;padding:.6em;transition:background-color .1s ease-in-out}nav .hbll-header-nav-bar li a:hover{background-color:#fff3}nav .hbll-header-nav-bar li #navSearch{justify-content:flex-end;font-size:1.3em}nav .hbll-header-nav-bar li #navSearch .hbll-header-icon{margin-left:.2em}nav .hbll-header-nav-bar li .hbll-header-content{border-bottom:1px solid rgba(255,255,255,.3);padding-bottom:1.4em}nav .hbll-header-nav-bar li .hbll-header-content section{padding-left:3em}nav .hbll-header-nav-bar li .hbll-header-content section:first-of-type{padding-top:1em}nav .hbll-header-nav-bar li .hbll-header-content section h2,nav .hbll-header-nav-bar li .hbll-header-content section h3{font-weight:600;font-size:1.4em;margin-bottom:.4em}nav .hbll-header-nav-bar li .hbll-header-content section+section{margin-top:1.8em}nav .hbll-header-nav-bar li .hbll-header-content section li a{padding:.6em .8em;margin:.2em 0}nav .hbll-header-nav-bar li .hbll-header-content section .hbll-header-see-all{border-top:1px solid rgba(255,255,255,.3);justify-content:flex-end}nav .hbll-header-nav-bar li .hbll-header-content section .hbll-header-no-see-all{margin-bottom:1em}nav .hbll-header-nav-bar li .hbll-header-content section .hbll-header-main{padding-bottom:.4em}nav.hbll-header-desktop{overflow:initial;background-color:#fff;padding:0 2em;position:relative;max-width:100%}nav.hbll-header-desktop .hbll-header-nav-bar{flex-direction:row;align-items:center}nav.hbll-header-desktop .hbll-header-nav-bar .hbll-header-links{background-color:#0047ba;display:flex;flex-direction:column;align-items:flex-start}nav.hbll-header-desktop .hbll-header-nav-bar .hbll-header-links li{width:100%}nav.hbll-header-desktop .hbll-header-nav-bar .hbll-header-links li a{transition:background-color .1s ease-in-out}nav.hbll-header-desktop .hbll-header-nav-bar .hbll-header-links li a:hover{background-color:#fff3;width:100%}nav.hbll-header-desktop .hbll-header-nav-bar li{width:auto;height:100%}nav.hbll-header-desktop .hbll-header-nav-bar li #navSearch{transition:all .2s ease-in-out;font-size:1.2em;background-color:transparent}nav.hbll-header-desktop .hbll-header-nav-bar li #navSearch:hover{background-color:transparent;transform:scale(115%);color:#0047ba}nav.hbll-header-desktop .hbll-header-nav-bar li .hbll-header-content{display:flex;justify-content:center;padding-top:1.4em;padding-right:10%;padding-left:10%}nav.hbll-header-desktop .hbll-header-nav-bar li .hbll-header-content section{padding-top:0;padding-left:5%;width:30em}nav.hbll-header-desktop .hbll-header-nav-bar li .hbll-header-content section+section{border-left:1px solid rgba(255,255,255,.3);margin-top:0}nav.hbll-header-desktop .hbll-header-nav-bar li .hbll-header-content section .hbll-header-see-all{margin-right:1em;transition:color .1s ease-in-out;width:auto}nav.hbll-header-desktop .hbll-header-nav-bar li .hbll-header-content section .hbll-header-see-all:hover{color:#ffffffd9}nav.hbll-header-desktop .hbll-header-nav-bar li .hbll-header-content h2,nav.hbll-header-desktop .hbll-header-nav-bar li .hbll-header-content h3{color:#fff}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "component", type: NavBarDropdownComponent, selector: "lib-nav-bar-dropdown", inputs: ["title", "isSmallScreen", "isInteracting"], outputs: ["openEvent", "hoverStarted"] }] }); }
344
344
  }
345
345
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: NavBarComponent, decorators: [{
346
346
  type: Component,
347
- args: [{ selector: 'lib-nav-bar', standalone: true, imports: [CommonModule, NavBarDropdownComponent], template: "<nav\n [style]=\"{ height: height() ? height() + 'px' : 'auto' }\"\n [ngClass]=\"{ 'hbll-header-desktop': !isScreenSmall() }\"\n data-testid=\"nav\"\n (mouseleave)=\"handleNavbarMouseLeave()\"\n>\n <ul class=\"hbll-header-nav-bar\">\n <li id=\"navHome\">\n <a [href]=\"mainSiteBaseUrl()\">\n @if (isScreenSmall()) {\n <span class=\"material-symbols-outlined hbll-header-icon\"> home </span>\n }\n Home\n </a>\n </li>\n @for (navInfo of navInfos(); track navInfo.title) {\n <li>\n <lib-nav-bar-dropdown\n [title]=\"navInfo.title\"\n [isSmallScreen]=\"isScreenSmall() ?? true\"\n [isInteracting]=\"isInteractingWithNavbar\"\n (openEvent)=\"handleDropdownOpenEvent($event)\"\n (hoverStarted)=\"handleHoverStarted()\"\n >\n <div\n class=\"hbll-header-content\"\n [ngStyle]=\"{\n 'background-color': isScreenSmall() ? '#336cc8' : 'inherit',\n }\"\n >\n @if (navInfo.mainSection) {\n <section>\n <h2 tabindex=\"0\">{{ navInfo.mainSection.title }}</h2>\n <div class=\"hbll-header-main hbll-header-links\">\n @for (link of navInfo.mainSection.links; track link.label) {\n <a [href]=\"link.url\">\n {{ link.label }}\n </a>\n }\n </div>\n @if (navInfo.mainSection.auxiliaryLink) {\n <a\n class=\"hbll-header-see-all\"\n [href]=\"navInfo.mainSection.auxiliaryLink.url\"\n >\n {{ navInfo.mainSection.auxiliaryLink.label }}\n <span class=\"material-symbols-outlined hbll-header-icon\">\n chevron_right\n </span>\n </a>\n }\n </section>\n }\n @for (section of navInfo.otherSections; track section.title) {\n <section>\n <h3 tabindex=\"0\">{{ section.title }}</h3>\n <div class=\"hbll-header-links\">\n @for (link of section.links; track link.label) {\n <a [href]=\"link.url\">\n {{ link.label }}\n @if (link.icon) {\n <span\n class=\"material-symbols-outlined hbll-header-icon-right\"\n >\n {{ link.icon }}\n </span>\n }\n </a>\n }\n </div>\n @if (section.auxiliaryLink) {\n <a\n class=\"hbll-header-see-all\"\n [href]=\"section.auxiliaryLink.url\"\n >\n {{ section.auxiliaryLink.label }}\n <span class=\"material-symbols-outlined hbll-header-icon\">\n chevron_right\n </span>\n </a>\n }\n </section>\n }\n </div>\n </lib-nav-bar-dropdown>\n </li>\n }\n <li>\n <a id=\"navSearch\" [href]=\"mainSiteBaseUrl() + '/search'\">\n @if (isScreenSmall()) {\n Search\n }\n <span\n class=\"material-symbols-outlined\"\n [ngClass]=\"{ 'hbll-header-icon': isScreenSmall() }\"\n >\n search\n </span>\n </a>\n </li>\n </ul>\n</nav>\n", styles: ["nav.hbll-header-desktop .hbll-header-nav-bar li#navHome a,nav.hbll-header-desktop .hbll-header-nav-bar li #navSearch{color:#002e5d;background-color:#fff;display:flex;justify-content:center;align-items:center;font-size:1.1em;font-weight:500;border:none;padding:.4em 1em;line-height:1.4em}nav.hbll-header-desktop .hbll-header-nav-bar li#navHome a .hbll-header-icon,nav.hbll-header-desktop .hbll-header-nav-bar li #navSearch .hbll-header-icon{font-size:1.3em;margin-bottom:-.1em}nav.hbll-header-desktop .hbll-header-nav-bar li#navHome a:hover,nav.hbll-header-desktop .hbll-header-nav-bar li #navSearch:hover{background-color:#0047ba;color:#fff}*{box-sizing:border-box;text-decoration:none;font-size:1em}*:not(.material-symbols-outlined){font-family:inherit}.hbll-header-icon-right{margin-left:.4em;font-size:1.2em}nav{background-color:#0047ba;position:absolute;overflow-y:scroll;overflow-x:hidden;scrollbar-width:none;width:100vw;max-width:400px;right:0}nav li{list-style-type:none}nav ::-webkit-scrollbar{display:none}nav .hbll-header-nav-bar{display:flex;flex-direction:column;align-items:flex-end;margin:0;padding:0}nav .hbll-header-nav-bar .hbll-header-links{padding:0}nav .hbll-header-nav-bar li{width:100%}nav .hbll-header-nav-bar li#navHome .hbll-header-icon{margin-right:.2em}nav .hbll-header-nav-bar li a{color:#fff;display:flex;align-items:center;width:100%;padding:.6em}nav .hbll-header-nav-bar li #navSearch{justify-content:flex-end;font-size:1.3em}nav .hbll-header-nav-bar li #navSearch .hbll-header-icon{margin-left:.2em}nav .hbll-header-nav-bar li .hbll-header-content{border-bottom:1px solid rgba(255,255,255,.3);padding-bottom:1.4em}nav .hbll-header-nav-bar li .hbll-header-content section{padding-left:3em}nav .hbll-header-nav-bar li .hbll-header-content section:first-of-type{padding-top:1em}nav .hbll-header-nav-bar li .hbll-header-content section h2,nav .hbll-header-nav-bar li .hbll-header-content section h3{font-weight:600;font-size:1.4em;margin-bottom:.4em}nav .hbll-header-nav-bar li .hbll-header-content section+section{margin-top:1.8em}nav .hbll-header-nav-bar li .hbll-header-content section li a{padding:.6em .8em;margin:.2em 0}nav .hbll-header-nav-bar li .hbll-header-content section .hbll-header-see-all{border-top:1px solid rgba(255,255,255,.3);justify-content:flex-end}nav .hbll-header-nav-bar li .hbll-header-content section .hbll-header-no-see-all{margin-bottom:1em}nav .hbll-header-nav-bar li .hbll-header-content section .hbll-header-main{padding-bottom:.4em}nav.hbll-header-desktop{overflow:initial;background-color:#fff;padding:0 2em;position:relative;max-width:100%}nav.hbll-header-desktop .hbll-header-nav-bar{flex-direction:row;align-items:center}nav.hbll-header-desktop .hbll-header-nav-bar .hbll-header-links{background-color:#0047ba;display:flex;flex-direction:column;align-items:flex-start}nav.hbll-header-desktop .hbll-header-nav-bar .hbll-header-links li{width:100%}nav.hbll-header-desktop .hbll-header-nav-bar .hbll-header-links li a{transition:background-color .1s ease-in-out}nav.hbll-header-desktop .hbll-header-nav-bar .hbll-header-links li a:hover{background-color:#fff3;width:100%}nav.hbll-header-desktop .hbll-header-nav-bar li{width:auto;height:100%}nav.hbll-header-desktop .hbll-header-nav-bar li #navSearch{transition:all .2s ease-in-out;font-size:1.2em;background-color:transparent}nav.hbll-header-desktop .hbll-header-nav-bar li #navSearch:hover{background-color:transparent;transform:scale(115%);color:#0047ba}nav.hbll-header-desktop .hbll-header-nav-bar li .hbll-header-content{display:flex;justify-content:center;padding-top:1.4em;padding-right:10%;padding-left:10%}nav.hbll-header-desktop .hbll-header-nav-bar li .hbll-header-content section{padding-top:0;padding-left:5%;width:30em}nav.hbll-header-desktop .hbll-header-nav-bar li .hbll-header-content section+section{border-left:1px solid rgba(255,255,255,.3);margin-top:0}nav.hbll-header-desktop .hbll-header-nav-bar li .hbll-header-content section .hbll-header-see-all{margin-right:1em;transition:color .1s ease-in-out;width:auto}nav.hbll-header-desktop .hbll-header-nav-bar li .hbll-header-content section .hbll-header-see-all:hover{color:#ffffffd9}nav.hbll-header-desktop .hbll-header-nav-bar li .hbll-header-content h2,nav.hbll-header-desktop .hbll-header-nav-bar li .hbll-header-content h3{color:#fff}\n"] }]
347
+ args: [{ selector: 'lib-nav-bar', standalone: true, imports: [CommonModule, NavBarDropdownComponent], template: "<nav\n [style]=\"{ height: height() ? height() + 'px' : 'auto' }\"\n [ngClass]=\"{ 'hbll-header-desktop': !isScreenSmall() }\"\n data-testid=\"nav\"\n (mouseleave)=\"handleNavbarMouseLeave()\"\n>\n <ul class=\"hbll-header-nav-bar\">\n <li id=\"navHome\">\n <a [href]=\"mainSiteBaseUrl()\">\n @if (isScreenSmall()) {\n <span class=\"material-symbols-outlined hbll-header-icon\"> home </span>\n }\n Home\n </a>\n </li>\n @for (navInfo of navInfos(); track navInfo.title) {\n <li>\n <lib-nav-bar-dropdown\n [title]=\"navInfo.title\"\n [isSmallScreen]=\"isScreenSmall() ?? true\"\n [isInteracting]=\"isInteractingWithNavbar\"\n (openEvent)=\"handleDropdownOpenEvent($event)\"\n (hoverStarted)=\"handleHoverStarted()\"\n >\n <div\n class=\"hbll-header-content\"\n [ngStyle]=\"{\n 'background-color': isScreenSmall() ? '#336cc8' : 'inherit',\n }\"\n >\n @if (navInfo.mainSection) {\n <section>\n <h2 tabindex=\"0\">{{ navInfo.mainSection.title }}</h2>\n <div class=\"hbll-header-main hbll-header-links\">\n @for (link of navInfo.mainSection.links; track link.label) {\n <a [href]=\"link.url\">\n {{ link.label }}\n </a>\n }\n </div>\n @if (navInfo.mainSection.auxiliaryLink) {\n <a\n class=\"hbll-header-see-all\"\n [href]=\"navInfo.mainSection.auxiliaryLink.url\"\n >\n {{ navInfo.mainSection.auxiliaryLink.label }}\n <span class=\"material-symbols-outlined hbll-header-icon\">\n chevron_right\n </span>\n </a>\n }\n </section>\n }\n @for (section of navInfo.otherSections; track section.title) {\n <section>\n <h3 tabindex=\"0\">{{ section.title }}</h3>\n <div class=\"hbll-header-links\">\n @for (link of section.links; track link.label) {\n <a [href]=\"link.url\">\n {{ link.label }}\n @if (link.icon) {\n <span\n class=\"material-symbols-outlined hbll-header-icon-right\"\n >\n {{ link.icon }}\n </span>\n }\n </a>\n }\n </div>\n @if (section.auxiliaryLink) {\n <a\n class=\"hbll-header-see-all\"\n [href]=\"section.auxiliaryLink.url\"\n >\n {{ section.auxiliaryLink.label }}\n <span class=\"material-symbols-outlined hbll-header-icon\">\n chevron_right\n </span>\n </a>\n }\n </section>\n }\n </div>\n </lib-nav-bar-dropdown>\n </li>\n }\n <li>\n <a id=\"navSearch\" [href]=\"mainSiteBaseUrl() + '/search'\">\n @if (isScreenSmall()) {\n Search\n }\n <span\n class=\"material-symbols-outlined\"\n [ngClass]=\"{ 'hbll-header-icon': isScreenSmall() }\"\n >\n search\n </span>\n </a>\n </li>\n </ul>\n</nav>\n", styles: ["nav.hbll-header-desktop .hbll-header-nav-bar li#navHome a,nav.hbll-header-desktop .hbll-header-nav-bar li #navSearch{color:#002e5d;background-color:#fff;display:flex;justify-content:center;align-items:center;font-size:1.1em;font-weight:500;border:none;padding:.4em 1em;line-height:1.4em}nav.hbll-header-desktop .hbll-header-nav-bar li#navHome a .hbll-header-icon,nav.hbll-header-desktop .hbll-header-nav-bar li #navSearch .hbll-header-icon{font-size:1.3em;margin-bottom:-.1em}nav.hbll-header-desktop .hbll-header-nav-bar li#navHome a:hover,nav.hbll-header-desktop .hbll-header-nav-bar li #navSearch:hover{background-color:#0047ba;color:#fff}*{box-sizing:border-box;text-decoration:none;font-size:1em}*:not(.material-symbols-outlined){font-family:inherit}.hbll-header-icon-right{margin-left:.4em;font-size:1.2em}nav{background-color:#0047ba;position:absolute;overflow-y:scroll;overflow-x:hidden;scrollbar-width:none;width:100vw;max-width:400px;right:0}nav li{list-style-type:none}nav ::-webkit-scrollbar{display:none}nav .hbll-header-nav-bar{display:flex;flex-direction:column;align-items:flex-end;margin:0;padding:0}nav .hbll-header-nav-bar .hbll-header-links{padding:0}nav .hbll-header-nav-bar li{width:100%}nav .hbll-header-nav-bar li#navHome .hbll-header-icon{margin-right:.2em}nav .hbll-header-nav-bar li a{color:#fff;display:flex;align-items:center;width:100%;padding:.6em;transition:background-color .1s ease-in-out}nav .hbll-header-nav-bar li a:hover{background-color:#fff3}nav .hbll-header-nav-bar li #navSearch{justify-content:flex-end;font-size:1.3em}nav .hbll-header-nav-bar li #navSearch .hbll-header-icon{margin-left:.2em}nav .hbll-header-nav-bar li .hbll-header-content{border-bottom:1px solid rgba(255,255,255,.3);padding-bottom:1.4em}nav .hbll-header-nav-bar li .hbll-header-content section{padding-left:3em}nav .hbll-header-nav-bar li .hbll-header-content section:first-of-type{padding-top:1em}nav .hbll-header-nav-bar li .hbll-header-content section h2,nav .hbll-header-nav-bar li .hbll-header-content section h3{font-weight:600;font-size:1.4em;margin-bottom:.4em}nav .hbll-header-nav-bar li .hbll-header-content section+section{margin-top:1.8em}nav .hbll-header-nav-bar li .hbll-header-content section li a{padding:.6em .8em;margin:.2em 0}nav .hbll-header-nav-bar li .hbll-header-content section .hbll-header-see-all{border-top:1px solid rgba(255,255,255,.3);justify-content:flex-end}nav .hbll-header-nav-bar li .hbll-header-content section .hbll-header-no-see-all{margin-bottom:1em}nav .hbll-header-nav-bar li .hbll-header-content section .hbll-header-main{padding-bottom:.4em}nav.hbll-header-desktop{overflow:initial;background-color:#fff;padding:0 2em;position:relative;max-width:100%}nav.hbll-header-desktop .hbll-header-nav-bar{flex-direction:row;align-items:center}nav.hbll-header-desktop .hbll-header-nav-bar .hbll-header-links{background-color:#0047ba;display:flex;flex-direction:column;align-items:flex-start}nav.hbll-header-desktop .hbll-header-nav-bar .hbll-header-links li{width:100%}nav.hbll-header-desktop .hbll-header-nav-bar .hbll-header-links li a{transition:background-color .1s ease-in-out}nav.hbll-header-desktop .hbll-header-nav-bar .hbll-header-links li a:hover{background-color:#fff3;width:100%}nav.hbll-header-desktop .hbll-header-nav-bar li{width:auto;height:100%}nav.hbll-header-desktop .hbll-header-nav-bar li #navSearch{transition:all .2s ease-in-out;font-size:1.2em;background-color:transparent}nav.hbll-header-desktop .hbll-header-nav-bar li #navSearch:hover{background-color:transparent;transform:scale(115%);color:#0047ba}nav.hbll-header-desktop .hbll-header-nav-bar li .hbll-header-content{display:flex;justify-content:center;padding-top:1.4em;padding-right:10%;padding-left:10%}nav.hbll-header-desktop .hbll-header-nav-bar li .hbll-header-content section{padding-top:0;padding-left:5%;width:30em}nav.hbll-header-desktop .hbll-header-nav-bar li .hbll-header-content section+section{border-left:1px solid rgba(255,255,255,.3);margin-top:0}nav.hbll-header-desktop .hbll-header-nav-bar li .hbll-header-content section .hbll-header-see-all{margin-right:1em;transition:color .1s ease-in-out;width:auto}nav.hbll-header-desktop .hbll-header-nav-bar li .hbll-header-content section .hbll-header-see-all:hover{color:#ffffffd9}nav.hbll-header-desktop .hbll-header-nav-bar li .hbll-header-content h2,nav.hbll-header-desktop .hbll-header-nav-bar li .hbll-header-content h3{color:#fff}\n"] }]
348
348
  }], propDecorators: { dropdownComps: [{
349
349
  type: ViewChildren,
350
350
  args: [NavBarDropdownComponent]
351
351
  }] } });
352
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmF2LWJhci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb21wb25lbnRzL3NyYy9saWIvaGJsbC1oZWFkZXIvbmF2LWJhci9uYXYtYmFyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvbXBvbmVudHMvc3JjL2xpYi9oYmxsLWhlYWRlci9uYXYtYmFyL25hdi1iYXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxTQUFTLEVBQUUsUUFBUSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQVUsWUFBWSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pGLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLGdEQUFnRCxDQUFDO0FBQ3pGLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUNsRCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQzs7O0FBMkJ6RCxNQUFNLE9BQU8sZUFBZTtJQVA1QjtRQVFZLE9BQUUsR0FBRyxNQUFNLENBQUMsa0JBQWtCLENBQUMsQ0FBQztRQUN4QyxvQkFBZSxHQUFHLEtBQUssQ0FBQyxRQUFRLEVBQVUsQ0FBQztRQUMzQyxXQUFNLEdBQUcsS0FBSyxDQUFnQixJQUFJLENBQUMsQ0FBQztRQUNwQyw0QkFBdUIsR0FBWSxLQUFLLENBQUM7UUFJekMsOEVBQThFO1FBQ3BFLDRCQUF1QixHQUFHLENBQUMsS0FBYSxFQUFFLEVBQUU7WUFDbEQsSUFBSSxDQUFDLGFBQWE7aUJBQ2IsTUFBTSxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLEtBQUssS0FBSyxDQUFDO2lCQUN4QyxPQUFPLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRTtn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LEtBQUssRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUFFLEdBQUcsSUFBSSxDQUFDLGVBQWUsRUFBRSxNQUFNLEVBQUU7NkJBQzFEO3lCQUNKO3FCQUNKO2lCQUNKO2FBQ0osQ0FBQztRQUNOLENBQUMsQ0FBQyxDQUFDO0tBQ047SUFuVUcsa0JBQWtCO1FBQ2QsSUFBSSxDQUFDLHVCQUF1QixHQUFHLElBQUksQ0FBQztJQUN4QyxDQUFDO0lBRUQsc0JBQXNCO1FBQ2xCLElBQUksQ0FBQyx1QkFBdUIsR0FBRyxLQUFLLENBQUM7SUFDekMsQ0FBQzs4R0F2QlEsZUFBZTtrR0FBZixlQUFlLHFZQU1WLHVCQUF1QixnRENyQ3pDLG8xSkFzR0EsNHhJRDNFYyxZQUFZLGtOQUFFLHVCQUF1Qjs7MkZBSXRDLGVBQWU7a0JBUDNCLFNBQVM7K0JBQ0ksYUFBYSxjQUNYLElBQUksV0FDUCxDQUFDLFlBQVksRUFBRSx1QkFBdUIsQ0FBQzs4QkFVVCxhQUFhO3NCQUFuRCxZQUFZO3VCQUFDLHVCQUF1QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBDb21wb25lbnQsIGNvbXB1dGVkLCBpbmplY3QsIGlucHV0LCBTaWduYWwsIFZpZXdDaGlsZHJlbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTmF2QmFyRHJvcGRvd25Db21wb25lbnQgfSBmcm9tICcuLi9uYXYtYmFyLWRyb3Bkb3duL25hdi1iYXItZHJvcGRvd24uY29tcG9uZW50JztcbmltcG9ydCB7IGlzU2NyZWVuU21hbGxTaWduYWwgfSBmcm9tICcuLi8uLi91dGlscyc7XG5pbXBvcnQgeyBCcmVha3BvaW50T2JzZXJ2ZXIgfSBmcm9tICdAYW5ndWxhci9jZGsvbGF5b3V0JztcblxudHlwZSBOYXZJbmZvID0ge1xuICAgIHRpdGxlOiBzdHJpbmc7XG4gICAgbWFpblNlY3Rpb24/OiBTZWN0aW9uO1xuICAgIG90aGVyU2VjdGlvbnM6IFNlY3Rpb25bXTtcbn07XG5cbnR5cGUgU2VjdGlvbiA9IHtcbiAgICB0aXRsZTogc3RyaW5nO1xuICAgIGxpbmtzOiBMaW5rW107XG4gICAgYXV4aWxpYXJ5TGluaz86IExpbms7XG59O1xuXG50eXBlIExpbmsgPSB7XG4gICAgbGFiZWw6IHN0cmluZztcbiAgICB1cmw6IHN0cmluZztcbiAgICBpY29uPzogc3RyaW5nO1xufTtcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdsaWItbmF2LWJhcicsXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBOYXZCYXJEcm9wZG93bkNvbXBvbmVudF0sXG4gICAgdGVtcGxhdGVVcmw6ICcuL25hdi1iYXIuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsOiAnLi9uYXYtYmFyLmNvbXBvbmVudC5zY3NzJyxcbn0pXG5leHBvcnQgY2xhc3MgTmF2QmFyQ29tcG9uZW50IHtcbiAgICBwcml2YXRlIGJvID0gaW5qZWN0KEJyZWFrcG9pbnRPYnNlcnZlcik7XG4gICAgbWFpblNpdGVCYXNlVXJsID0gaW5wdXQucmVxdWlyZWQ8c3RyaW5nPigpO1xuICAgIGhlaWdodCA9IGlucHV0PG51bWJlciB8IG51bGw+KG51bGwpO1xuICAgIGlzSW50ZXJhY3RpbmdXaXRoTmF2YmFyOiBib29sZWFuID0gZmFsc2U7XG5cbiAgICBAVmlld0NoaWxkcmVuKE5hdkJhckRyb3Bkb3duQ29tcG9uZW50KSBkcm9wZG93bkNvbXBzITogTmF2QmFyRHJvcGRvd25Db21wb25lbnRbXTtcblxuICAgIC8vIElmIGFueSBzZWN0aW9uIG9wZW5zIHVwLCBjbG9zZSBhbGwgb3RoZXJzLiBPbmx5IG9uZSBzZWN0aW9uIG9wZW4gYXQgYSB0aW1lLlxuICAgIHByb3RlY3RlZCBoYW5kbGVEcm9wZG93bk9wZW5FdmVudCA9ICh0aXRsZTogc3RyaW5nKSA9PiB7XG4gICAgICAgIHRoaXMuZHJvcGRvd25Db21wc1xuICAgICAgICAgICAgLmZpbHRlcigoY29tcCkgPT4gY29tcC50aXRsZSgpICE9PSB0aXRsZSlcbiAgICAgICAgICAgIC5mb3JFYWNoKChjb21wKSA9PiB7XG4gICAgICAgICAgICAgICAgY29tcC5jbG9zZURyb3Bkb3duKCk7XG4gICAgICAgICAgICB9KTtcbiAgICB9O1xuXG4gICAgaGFuZGxlSG92ZXJTdGFydGVkKCk6IHZvaWQge1xuICAgICAgICB0aGlzLmlzSW50ZXJhY3RpbmdXaXRoTmF2YmFyID0gdHJ1ZTtcbiAgICB9XG5cbiAgICBoYW5kbGVOYXZiYXJNb3VzZUxlYXZlKCk6IHZvaWQge1xuICAgICAgICB0aGlzLmlzSW50ZXJhY3RpbmdXaXRoTmF2YmFyID0gZmFsc2U7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIGlzU2NyZWVuU21hbGwgPSBpc1NjcmVlblNtYWxsU2lnbmFsKHRoaXMuYm8pO1xuXG4gICAgcHJvdGVjdGVkIG5hdkluZm9zOiBTaWduYWw8TmF2SW5mb1tdPiA9IGNvbXB1dGVkKCgpID0+IHtcbiAgICAgICAgcmV0dXJuIFtcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICB0aXRsZTogJ01hdGVyaWFscycsXG4gICAgICAgICAgICAgICAgbWFpblNlY3Rpb246IHtcbiAgICAgICAgICAgICAgICAgICAgdGl0bGU6ICdSZXNvdXJjZSBDb2xsZWN0aW9ucycsXG4gICAgICAgICAgICAgICAgICAgIGxpbmtzOiBbXG4gICAgICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbGFiZWw6ICdTdWJqZWN0IEFyZWEgQ29sbGVjdGlvbnMnLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVybDogYCR7dGhpcy5tYWluU2l0ZUJhc2VVcmwoKX0vY29sbGVjdGlvbnNgLFxuICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgIHsgbGFiZWw6ICdEYXRhYmFzZXMnLCB1cmw6IGAke3RoaXMubWFpblNpdGVCYXNlVXJsKCl9L2RhdGFiYXNlc2AgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgIHsgbGFiZWw6ICdKb3VybmFscycsIHVybDogYCR7dGhpcy5tYWluU2l0ZUJhc2VVcmwoKX0vam91cm5hbHNgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbGFiZWw6ICdUaGVzZXMgJiBEaXNzZXJ0YXRpb25zJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB1cmw6IGAke3RoaXMubWFpblNpdGVCYXNlVXJsKCl9L3RoZXNlcy1hbmQtZGlzc2VydGF0aW9uc2AsXG4gICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxhYmVsOiAnU3BlY2lhbCBDb2xsZWN0aW9ucycsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdXJsOiBgJHt0aGlzLm1haW5TaXRlQmFzZVVybCgpfS9zcGVjaWFsLWNvbGxlY3Rpb25zYCxcbiAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbGFiZWw6ICdEaWdpdGFsIENvbGxlY3Rpb25zJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB1cmw6IGAke3RoaXMubWFpblNpdGVCYXNlVXJsKCl9L2NvbGxlY3Rpb25zL2RpZ2l0YWxgLFxuICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgXSxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIG90aGVyU2VjdGlvbnM6IFtcbiAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGl0bGU6ICdGb3JtYXRzJyxcbiAgICAgICAgICAgICAgICAgICAgICAgIGxpbmtzOiBbXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgeyBsYWJlbDogJ0FydGljbGVzJywgdXJsOiBgJHt0aGlzLm1haW5TaXRlQmFzZVVybCgpfS9hcnRpY2xlc2AgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IGxhYmVsOiAnQXVkaW8nLCB1cmw6IGAke3RoaXMubWFpblNpdGVCYXNlVXJsKCl9L2F1ZGlvYCB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgbGFiZWw6ICdCb29rcycsIHVybDogYCR7dGhpcy5tYWluU2l0ZUJhc2VVcmwoKX0vYm9va3NgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgeyBsYWJlbDogJ1ZpZGVvJywgdXJsOiBgJHt0aGlzLm1haW5TaXRlQmFzZVVybCgpfS92aWRlb2AgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgIF0sXG4gICAgICAgICAgICAgICAgICAgICAgICBhdXhpbGlhcnlMaW5rOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbGFiZWw6ICdTZWUgYWxsIGZvcm1hdHMnLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVybDogYCR7dGhpcy5tYWluU2l0ZUJhc2VVcmwoKX0vZm9ybWF0c2AsXG4gICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aXRsZTogJ0VxdWlwbWVudCcsXG4gICAgICAgICAgICAgICAgICAgICAgICBsaW5rczogW1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGFiZWw6ICdBdmFpbGFibGUgZm9yIENoZWNrb3V0JyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdXJsOiBgJHt0aGlzLm1haW5TaXRlQmFzZVVybCgpfS9zZXJ2aWNlcz9jYXRlZ29yaWVzPWF2YWlsYWJsZS1mb3ItY2hlY2tvdXRgLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsYWJlbDogJ0F2YWlsYWJsZSB3aXRoIFJlc2VydmF0aW9uJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdXJsOiBgJHt0aGlzLm1haW5TaXRlQmFzZVVybCgpfS9zZXJ2aWNlcz9jYXRlZ29yaWVzPWF2YWlsYWJsZS12aWEtcmVzZXJ2YXRpb25gLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsYWJlbDogJ1B1YmxpYyBDb21wdXRlcnMnLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1cmw6IGAke3RoaXMubWFpblNpdGVCYXNlVXJsKCl9L3NlcnZpY2VzL3B1YmxpYy1jb21wdXRlcnNgLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsYWJlbDogJ1ByaW50ZXJzIGFuZCBDb3B5aW5nJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdXJsOiBgJHt0aGlzLm1haW5TaXRlQmFzZVVybCgpfS9zZXJ2aWNlcz9jYXRlZ29yaWVzPXByaW50aW5nLWFuZC1jb3B5aW5nYCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgXSxcbiAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICBdLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICB0aXRsZTogJ1BsYWNlcycsXG4gICAgICAgICAgICAgICAgbWFpblNlY3Rpb246IHtcbiAgICAgICAgICAgICAgICAgICAgdGl0bGU6ICdQb3B1bGFyIFBsYWNlcycsXG4gICAgICAgICAgICAgICAgICAgIGxpbmtzOiBbXG4gICAgICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbGFiZWw6ICdIZWxwIERlc2tzJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB1cmw6IGAke3RoaXMubWFpblNpdGVCYXNlVXJsKCl9L3NlcnZpY2VzL2hlbHAtZGVza3NgLFxuICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBsYWJlbDogJ0ZhbWlseSBIaXN0b3J5JyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB1cmw6IGAke3RoaXMubWFpblNpdGVCYXNlVXJsKCl9L3JlbGlnaW9uLWZhbWlseS1oaXN0b3J5YCxcbiAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbGFiZWw6ICdSZXNlYXJjaCBhbmQgV3JpdGluZyBDZW50ZXInLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVybDogYCR7dGhpcy5tYWluU2l0ZUJhc2VVcmwoKX0vc2VydmljZXMvcmVzZWFyY2gtYW5kLXdyaXRpbmctY2VudGVyYCxcbiAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbGFiZWw6ICdTcGVjaWFsIENvbGxlY3Rpb25zJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB1cmw6IGAke3RoaXMubWFpblNpdGVCYXNlVXJsKCl9L3NwZWNpYWwtY29sbGVjdGlvbnNgLFxuICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgXSxcbiAgICAgICAgICAgICAgICAgICAgYXV4aWxpYXJ5TGluazoge1xuICAgICAgICAgICAgICAgICAgICAgICAgbGFiZWw6ICdWaWV3IEZsb29yIE1hcHMnLFxuICAgICAgICAgICAgICAgICAgICAgICAgdXJsOiAnaHR0cHM6Ly9saWIuYnl1LmVkdS9mbG9vcm1hcHMnLFxuICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgb3RoZXJTZWN0aW9uczogW1xuICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aXRsZTogJ1NwYWNlcycsXG4gICAgICAgICAgICAgICAgICAgICAgICBsaW5rczogW1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGFiZWw6ICdDb2xsZWN0aW9ucyAmIEFyY2hpdmVzJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdXJsOiBgJHt0aGlzLm1haW5TaXRlQmFzZVVybCgpfS9zZXJ2aWNlcz9jYXRlZ29yaWVzPWNvbGxlY3Rpb25zLWFuZC1hcmNoaXZlc2AsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxhYmVsOiAnR3JvdXAgU3R1ZHkgU3BhY2VzJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdXJsOiBgJHt0aGlzLm1haW5TaXRlQmFzZVVybCgpfS9zZXJ2aWNlcy9ncm91cC1zdHVkeS1yb29tc2AsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxhYmVsOiAnSW5kaXZpZHVhbCBTdHVkeSBTcGFjZXMnLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1cmw6IGAke3RoaXMubWFpblNpdGVCYXNlVXJsKCl9L3NlcnZpY2VzP2NhdGVnb3JpZXM9aW5kaXZpZHVhbC1zdHVkeS1zcGFjZXNgLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsYWJlbDogJ011bHRpbWVkaWEgQ3JlYXRpb24gU3BhY2VzJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdXJsOiBgJHt0aGlzLm1haW5TaXRlQmFzZVVybCgpfS9zZXJ2aWNlcz9jYXRlZ29yaWVzPW11bHRpbWVkaWEtY3JlYXRpb25gLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsYWJlbDogJ1ZpZGVvIFZpZXcgU3BhY2VzJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdXJsOiBgJHt0aGlzLm1haW5TaXRlQmFzZVVybCgpfS9zZXJ2aWNlcz9jYXRlZ29yaWVzPXZpZGVvLXZpZXdpbmdgLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICBdLFxuICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aXRsZTogJ1Jvb21zJyxcbiAgICAgICAgICAgICAgICAgICAgICAgIGxpbmtzOiBbXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsYWJlbDogJ0NsYXNzcm9vbXMnLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1cmw6IGAke3RoaXMubWFpblNpdGVCYXNlVXJsKCl9L3NlcnZpY2VzP2NhdGVnb3JpZXM9Y2xhc3Nyb29tc2AsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxhYmVsOiAnQ29uZmVyZW5jZSBSb29tcycsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVybDogYCR7dGhpcy5tYWluU2l0ZUJhc2VVcmwoKX0vc2VydmljZXM/Y2F0ZWdvcmllcz1jb25mZXJlbmNlLXJvb21zYCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGFiZWw6ICdMYWJzICYgQ2VudGVycycsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVybDogYCR7dGhpcy5tYWluU2l0ZUJhc2VVcmwoKX0vc2VydmljZXM/Y2F0ZWdvcmllcz1sYWJzLWFuZC1jZW50ZXJzYCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGFiZWw6ICdSZXNlYXJjaCBSb29tcycsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVybDogYCR7dGhpcy5tYWluU2l0ZUJhc2VVcmwoKX0vc2VydmljZXM/Y2F0ZWdvcmllcz1yZXNlYXJjaC1yb29tc2AsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgIF0sXG4gICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgXSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgdGl0bGU6ICdFeHBlcmllbmNlcycsXG4gICAgICAgICAgICAgICAgbWFpblNlY3Rpb246IHtcbiAgICAgICAgICAgICAgICAgICAgdGl0bGU6ICdFdmVudHMnLFxuICAgICAgICAgICAgICAgICAgICBsaW5rczogW1xuICAgICAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxhYmVsOiAnQ29uY2VydHMgJiBGaWxtIFNob3dpbmdzJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB1cmw6IGAke3RoaXMubWFpblNpdGVCYXNlVXJsKCl9L3NlcnZpY2VzL21vdGlvbi1waWN0dXJlLWFyY2hpdmUtc2VyaWVzYCxcbiAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbGFiZWw6ICdMZWN0dXJlcycsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdXJsOiBgJHt0aGlzLm1haW5TaXRlQmFzZVVybCgpfS9zZXJ2aWNlcz9jYXRlZ29yaWVzPWxlY3R1cmVzYCxcbiAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICB7IGxhYmVsOiAnTmV3cycsIHVybDogYCR7dGhpcy5tYWluU2l0ZUJhc2VVcmwoKX0vYWJvdXQvbmV3c2AgfSxcbiAgICAgICAgICAgICAgICAgICAgXSxcbiAgICAgICAgICAgICAgICAgICAgYXV4aWxpYXJ5TGluazoge1xuICAgICAgICAgICAgICAgICAgICAgICAgbGFiZWw6ICdTZWUgY2FsZW5kYXIgb2YgZXZlbnRzJyxcbiAgICAgICAgICAgICAgICAgICAgICAgIHVybDogYCR7dGhpcy5tYWluU2l0ZUJhc2VVcmwoKX0vZXZlbnRzYCxcbiAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIG90aGVyU2VjdGlvbnM6IFtcbiAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGl0bGU6ICdMZWFybmluZyBPcHBvcnR1bml0aWVzJyxcbiAgICAgICAgICAgICAgICAgICAgICAgIGxpbmtzOiBbXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsYWJlbDogJ0xpYnJhcnkgSW5zdHJ1Y3Rpb24gQ2xhc3NlcycsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVybDogYCR7dGhpcy5tYWluU2l0ZUJhc2VVcmwoKX0vbGlicmFyeS1pbnN0cnVjdGlvbmAsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxhYmVsOiAnU29mdHdhcmUgVHJhaW5pbmcnLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1cmw6IGAke3RoaXMubWFpblNpdGVCYXNlVXJsKCl9L3NlcnZpY2VzL3NvZnR3YXJlLXRyYWluaW5nYCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGFiZWw6ICdGYW1pbHkgSGlzdG9yeSBDbGFzc2VzICYgV2ViaW5hcnMnLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1cmw6IGAke3RoaXMubWFpblNpdGVCYXNlVXJsKCl9L3NlcnZpY2VzL2ZhbWlseS1oaXN0b3J5LWNsYXNzZXNgLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICBdLFxuICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aXRsZTogJ0Rpc3BsYXlzJyxcbiAgICAgICAgICAgICAgICAgICAgICAgIGxpbmtzOiBbXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgeyBsYWJlbDogJ0V4aGliaXRzJywgdXJsOiBgJHt0aGlzLm1haW5TaXRlQmFzZVVybCgpfS9leGhpYml0c2AgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxhYmVsOiAnR2FsbGVyaWVzJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdXJsOiBgJHt0aGlzLm1haW5TaXRlQmFzZVVybCgpfS9zZXJ2aWNlcz9jYXRlZ29yaWVzPWdhbGxlcmllcy1hbmQtZXhoaWJpdHNgLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICBdLFxuICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIF0sXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIHRpdGxlOiAnU2VydmljZXMnLFxuICAgICAgICAgICAgICAgIG1haW5TZWN0aW9uOiB7XG4gICAgICAgICAgICAgICAgICAgIHRpdGxlOiAnU2VydmljZXMgRm9yJyxcbiAgICAgICAgICAgICAgICAgICAgbGlua3M6IFtcbiAgICAgICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBsYWJlbDogJ0N1cnJlbnQgU3R1ZGVudHMnLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVybDogYCR7dGhpcy5tYWluU2l0ZUJhc2VVcmwoKX0vc2VydmljZXM/Y2F0ZWdvcmllcz1mb3Itc3R1ZGVudHNgLFxuICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBsYWJlbDogJ0ZhY3VsdHkgYW5kIFN0YWZmJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB1cmw6IGAke3RoaXMubWFpblNpdGVCYXNlVXJsKCl9L3NlcnZpY2VzP2NhdGVnb3JpZXM9Zm9yLWZhY3VsdHlgLFxuICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBsYWJlbDogJ1JldGlyZWVzJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB1cmw6IGAke3RoaXMubWFpblNpdGVCYXNlVXJsKCl9L3NlcnZpY2VzP2NhdGVnb3JpZXM9Zm9yLXJldGlyZWVzYCxcbiAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbGFiZWw6ICdWaXNpdG9ycyBhbmQgQWx1bW5pJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB1cmw6IGAke3RoaXMubWFpblNpdGVCYXNlVXJsKCl9L3NlcnZpY2VzP2NhdGVnb3JpZXM9Zm9yLXZpc2l0b3JzYCxcbiAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgIF0sXG4gICAgICAgICAgICAgICAgICAgIGF1eGlsaWFyeUxpbms6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGxhYmVsOiAnU2VlIGFsbCBTZXJ2aWNlcycsXG4gICAgICAgICAgICAgICAgICAgICAgICB1cmw6IGAke3RoaXMubWFpblNpdGVCYXNlVXJsKCl9L3NlcnZpY2VzYCxcbiAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIG90aGVyU2VjdGlvbnM6IFtcbiAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGl0bGU6ICdHZXR0aW5nIE1hdGVyaWFscycsXG4gICAgICAgICAgICAgICAgICAgICAgICBsaW5rczogW1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGFiZWw6ICdDaGVjayBvdXQgYW5kIFJlbmV3JyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdXJsOiBgJHt0aGlzLm1haW5TaXRlQmFzZVVybCgpfS9hYm91dC9jaGVja291dC1wcml2aWxlZ2VzYCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGFiZWw6ICdIb2xkcycsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVybDogYCR7dGhpcy5tYWluU2l0ZUJhc2VVcmwoKX0vc2VydmljZXMvaG9sZHNgLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsYWJlbDogJ0JvcnJvdyBmcm9tIGFub3RoZXIgTGlicmFyeSAoSUxMKScsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVybDogYCR7dGhpcy5tYWluU2l0ZUJhc2VVcmwoKX0vc2VydmljZXMvaW50ZXJsaWJyYXJ5LWxvYW5gLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICBdLFxuICAgICAgICAgICAgICAgICAgICAgICAgYXV4aWxpYXJ5TGluazoge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxhYmVsOiAnU2VlIGFsbCBNYXRlcmlhbCBTZXJ2aWNlcycsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdXJsOiBgJHt0aGlzLm1haW5TaXRlQmFzZVVybCgpfS9zZXJ2aWNlcy8/Y2F0ZWdvcmllcz1vYnRhaW5pbmctYW5kLXJlc2VydmluZy1tYXRlcmlhbHNgLFxuICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGl0bGU6ICdPdGhlcicsXG4gICAgICAgICAgICAgICAgICAgICAgICBsaW5rczogW1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGFiZWw6ICdJbnRlcm5zaGlwcywgRmVsbG93c2hpcHMgYW5kIEdyYW50cycsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVybDogYCR7dGhpcy5tYWluU2l0ZUJhc2VVcmwoKX0vc2VydmljZXM/Y2F0ZWdvcmllcz1pbnRlcm5zaGlwcy1mZWxsb3dzaGlwcy1ncmFudHNgLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsYWJlbDogJ1Byb2dyYW1zJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdXJsOiBgJHt0aGlzLm1haW5TaXRlQmFzZVVybCgpfS9zZXJ2aWNlcz9jYXRlZ29yaWVzPXByb2dyYW1zYCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGFiZWw6ICdTY2hvbGFybHkgUHVibGlzaGluZycsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVybDogYCR7dGhpcy5tYWluU2l0ZUJhc2VVcmwoKX0vc2VydmljZXM/Y2F0ZWdvcmllcz1jcmVhdGluZy1hbmQtcHVibGlzaGluZy1tYXRlcmlhbHNgLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICBdLFxuICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIF0sXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIHRpdGxlOiAnQXNrIFVzJyxcblxuICAgICAgICAgICAgICAgIG90aGVyU2VjdGlvbnM6IFtcbiAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGl0bGU6ICdHZXQgSGVscCcsXG4gICAgICAgICAgICAgICAgICAgICAgICBsaW5rczogW1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGFiZWw6ICdBc2sgYSBMaWJyYXJpYW4nLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1cmw6IGAke3RoaXMubWFpblNpdGVCYXNlVXJsKCl9L2NoYXQ/dXJsPSR7d2luZG93LmxvY2F0aW9uLmhyZWZ9YCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWNvbjogJ2NoYXRfYnViYmxlJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGFiZWw6ICdMaWJyYXJ5IEluc3RydWN0aW9uJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdXJsOiBgJHt0aGlzLm1haW5TaXRlQmFzZVVybCgpfS9saWJyYXJ5LWluc3RydWN0aW9uYCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgbGFiZWw6ICdSZXNlYXJjaCBHdWlkZXMnLCB1cmw6IGAke3RoaXMubWFpblNpdGVCYXNlVXJsKCl9L2d1aWRlc2AgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxhYmVsOiAnSGVscCAmIEd1aWRhbmNlJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdXJsOiBgJHt0aGlzLm1haW5TaXRlQmFzZVVybCgpfS9zZXJ2aWNlcz9jYXRlZ29yaWVzPWhlbHAtYW5kLWd1aWRhbmNlYCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgXSxcbiAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGl0bGU6ICdGaW5kIGEuLi4nLFxuICAgICAgICAgICAgICAgICAgICAgICAgbGlua3M6IFtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IGxhYmVsOiAnRGVwYXJ0bWVudCcsIHVybDogYCR7dGhpcy5tYWluU2l0ZUJhc2VVcmwoKX0vZGlyZWN0b3J5YCB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGFiZWw6ICdIZWxwIERlc2snLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1cmw6IGAke3RoaXMubWFpblNpdGVCYXNlVXJsKCl9L3NlcnZpY2VzL2hlbHAtZGVza3NgLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsYWJlbDogJ0xpYnJhcnkgRW1wbG95ZWUgYnkgTmFtZScsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVybDogYCR7dGhpcy5tYWluU2l0ZUJhc2VVcmwoKX0vZGlyZWN0b3J5YCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGFiZWw6ICdTdWJqZWN0IExpYnJhcmlhbicsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVybDogYCR7dGhpcy5tYWluU2l0ZUJhc2VVcmwoKX0vZGlyZWN0b3J5I2Jyb3dzZS1ieS1zdWJqZWN0YCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgXSxcbiAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGl0bGU6ICdBYm91dCB0aGUgTGlicmFyeScsXG4gICAgICAgICAgICAgICAgICAgICAgICBsaW5rczogW1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGFiZWw6ICdHZW5lcmFsIEluZm9ybWF0aW9uJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdXJsOiBgJHt0aGlzLm1haW5TaXRlQmFzZVVybCgpfS9hYm91dGAsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IGxhYmVsOiAnRkFRcycsIHVybDogYCR7dGhpcy5tYWluU2l0ZUJhc2VVcmwoKX0vZmFxYCB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgXSxcbiAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICBdLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgXTtcbiAgICB9KTtcbn1cbiIsIjxuYXZcbiAgICBbc3R5bGVdPVwieyBoZWlnaHQ6IGhlaWdodCgpID8gaGVpZ2h0KCkgKyAncHgnIDogJ2F1dG8nIH1cIlxuICAgIFtuZ0NsYXNzXT1cInsgJ2hibGwtaGVhZGVyLWRlc2t0b3AnOiAhaXNTY3JlZW5TbWFsbCgpIH1cIlxuICAgIGRhdGEtdGVzdGlkPVwibmF2XCJcbiAgICAobW91c2VsZWF2ZSk9XCJoYW5kbGVOYXZiYXJNb3VzZUxlYXZlKClcIlxuPlxuICAgIDx1bCBjbGFzcz1cImhibGwtaGVhZGVyLW5hdi1iYXJcIj5cbiAgICAgICAgPGxpIGlkPVwibmF2SG9tZVwiPlxuICAgICAgICAgICAgPGEgW2hyZWZdPVwibWFpblNpdGVCYXNlVXJsKClcIj5cbiAgICAgICAgICAgICAgICBAaWYgKGlzU2NyZWVuU21hbGwoKSkge1xuICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cIm1hdGVyaWFsLXN5bWJvbHMtb3V0bGluZWQgaGJsbC1oZWFkZXItaWNvblwiPiBob21lIDwvc3Bhbj5cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgSG9tZVxuICAgICAgICAgICAgPC9hPlxuICAgICAgICA8L2xpPlxuICAgICAgICBAZm9yIChuYXZJbmZvIG9mIG5hdkluZm9zKCk7IHRyYWNrIG5hdkluZm8udGl0bGUpIHtcbiAgICAgICAgICAgIDxsaT5cbiAgICAgICAgICAgICAgICA8bGliLW5hdi1iYXItZHJvcGRvd25cbiAgICAgICAgICAgICAgICAgICAgW3RpdGxlXT1cIm5hdkluZm8udGl0bGVcIlxuICAgICAgICAgICAgICAgICAgICBbaXNTbWFsbFNjcmVlbl09XCJpc1NjcmVlblNtYWxsKCkgPz8gdHJ1ZVwiXG4gICAgICAgICAgICAgICAgICAgIFtpc0ludGVyYWN0aW5nXT1cImlzSW50ZXJhY3RpbmdXaXRoTmF2YmFyXCJcbiAgICAgICAgICAgICAgICAgICAgKG9wZW5FdmVudCk9XCJoYW5kbGVEcm9wZG93bk9wZW5FdmVudCgkZXZlbnQpXCJcbiAgICAgICAgICAgICAgICAgICAgKGhvdmVyU3RhcnRlZCk9XCJoYW5kbGVIb3ZlclN0YXJ0ZWQoKVwiXG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImhibGwtaGVhZGVyLWNvbnRlbnRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW25nU3R5bGVdPVwie1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICdiYWNrZ3JvdW5kLWNvbG9yJzogaXNTY3JlZW5TbWFsbCgpID8gJyMzMzZjYzgnIDogJ2luaGVyaXQnLFxuICAgICAgICAgICAgICAgICAgICAgICAgfVwiXG4gICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgIEBpZiAobmF2SW5mby5tYWluU2VjdGlvbikge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzZWN0aW9uPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aDIgdGFiaW5kZXg9XCIwXCI+e3sgbmF2SW5mby5tYWluU2VjdGlvbi50aXRsZSB9fTwvaDI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJoYmxsLWhlYWRlci1tYWluIGhibGwtaGVhZGVyLWxpbmtzXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBAZm9yIChsaW5rIG9mIG5hdkluZm8ubWFpblNlY3Rpb24ubGlua3M7IHRyYWNrIGxpbmsubGFiZWwpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBbaHJlZl09XCJsaW5rLnVybFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7eyBsaW5rLmxhYmVsIH19XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQGlmIChuYXZJbmZvLm1haW5TZWN0aW9uLmF1eGlsaWFyeUxpbmspIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJoYmxsLWhlYWRlci1zZWUtYWxsXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbaHJlZl09XCJuYXZJbmZvLm1haW5TZWN0aW9uLmF1eGlsaWFyeUxpbmsudXJsXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7eyBuYXZJbmZvLm1haW5TZWN0aW9uLmF1eGlsaWFyeUxpbmsubGFiZWwgfX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cIm1hdGVyaWFsLXN5bWJvbHMtb3V0bGluZWQgaGJsbC1oZWFkZXItaWNvblwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjaGV2cm9uX3JpZ2h0XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zZWN0aW9uPlxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgQGZvciAoc2VjdGlvbiBvZiBuYXZJbmZvLm90aGVyU2VjdGlvbnM7IHRyYWNrIHNlY3Rpb24udGl0bGUpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c2VjdGlvbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGgzIHRhYmluZGV4PVwiMFwiPnt7IHNlY3Rpb24udGl0bGUgfX08L2gzPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiaGJsbC1oZWFkZXItbGlua3NcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEBmb3IgKGxpbmsgb2Ygc2VjdGlvbi5saW5rczsgdHJhY2sgbGluay5sYWJlbCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIFtocmVmXT1cImxpbmsudXJsXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7IGxpbmsubGFiZWwgfX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQGlmIChsaW5rLmljb24pIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJtYXRlcmlhbC1zeW1ib2xzLW91dGxpbmVkIGhibGwtaGVhZGVyLWljb24tcmlnaHRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7IGxpbmsuaWNvbiB9fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQGlmIChzZWN0aW9uLmF1eGlsaWFyeUxpbmspIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJoYmxsLWhlYWRlci1zZWUtYWxsXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbaHJlZl09XCJzZWN0aW9uLmF1eGlsaWFyeUxpbmsudXJsXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7eyBzZWN0aW9uLmF1eGlsaWFyeUxpbmsubGFiZWwgfX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cIm1hdGVyaWFsLXN5bWJvbHMtb3V0bGluZWQgaGJsbC1oZWFkZXItaWNvblwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjaGV2cm9uX3JpZ2h0XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zZWN0aW9uPlxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8L2xpYi1uYXYtYmFyLWRyb3Bkb3duPlxuICAgICAgICAgICAgPC9saT5cbiAgICAgICAgfVxuICAgICAgICA8bGk+XG4gICAgICAgICAgICA8YSBpZD1cIm5hdlNlYXJjaFwiIFtocmVmXT1cIm1haW5TaXRlQmFzZVVybCgpICsgJy9zZWFyY2gnXCI+XG4gICAgICAgICAgICAgICAgQGlmIChpc1NjcmVlblNtYWxsKCkpIHtcbiAgICAgICAgICAgICAgICAgICAgU2VhcmNoXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIDxzcGFuXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwibWF0ZXJpYWwtc3ltYm9scy1vdXRsaW5lZFwiXG4gICAgICAgICAgICAgICAgICAgIFtuZ0NsYXNzXT1cInsgJ2hibGwtaGVhZGVyLWljb24nOiBpc1NjcmVlblNtYWxsKCkgfVwiXG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICBzZWFyY2hcbiAgICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICA8L2E+XG4gICAgICAgIDwvbGk+XG4gICAgPC91bD5cbjwvbmF2PlxuIl19
352
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmF2LWJhci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb21wb25lbnRzL3NyYy9saWIvaGJsbC1oZWFkZXIvbmF2LWJhci9uYXYtYmFyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvbXBvbmVudHMvc3JjL2xpYi9oYmxsLWhlYWRlci9uYXYtYmFyL25hdi1iYXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxTQUFTLEVBQUUsUUFBUSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQVUsWUFBWSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pGLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLGdEQUFnRCxDQUFDO0FBQ3pGLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUNsRCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQzs7O0FBMkJ6RCxNQUFNLE9BQU8sZUFBZTtJQVA1QjtRQVFZLE9BQUUsR0FBRyxNQUFNLENBQUMsa0JBQWtCLENBQUMsQ0FBQztRQUN4QyxvQkFBZSxHQUFHLEtBQUssQ0FBQyxRQUFRLEVBQVUsQ0FBQztRQUMzQyxXQUFNLEdBQUcsS0FBSyxDQUFnQixJQUFJLENBQUMsQ0FBQztRQUNwQyw0QkFBdUIsR0FBWSxLQUFLLENBQUM7UUFJekMsOEVBQThFO1FBQ3BFLDRCQUF1QixHQUFHLENBQUMsS0FBYSxFQUFFLEVBQUU7WUFDbEQsSUFBSSxDQUFDLGFBQWE7aUJBQ2IsTUFBTSxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLEtBQUssS0FBSyxDQUFDO2lCQUN4QyxPQUFPLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRTtn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QUssRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUFFLEdBQUcsSUFBSSxDQUFDLGVBQWUsRUFBRSxNQUFNLEVBQUU7NkJBQzFEO3lCQUNKO3FCQUNKO2lCQUNKO2FBQ0osQ0FBQztRQUNOLENBQUMsQ0FBQyxDQUFDO0tBQ047SUFuVUcsa0JBQWtCO1FBQ2QsSUFBSSxDQUFDLHVCQUF1QixHQUFHLElBQUksQ0FBQztJQUN4QyxDQUFDO0lBRUQsc0JBQXNCO1FBQ2xCLElBQUksQ0FBQyx1QkFBdUIsR0FBRyxLQUFLLENBQUM7SUFDekMsQ0FBQzs4R0F2QlEsZUFBZTtrR0FBZixlQUFlLHFZQU1WLHVCQUF1QixnRENyQ3pDLG8xSkFzR0EsbTRJRDNFYyxZQUFZLGtOQUFFLHVCQUF1Qjs7MkZBSXRDLGVBQWU7a0JBUDNCLFNBQVM7K0JBQ0ksYUFBYSxjQUNYLElBQUksV0FDUCxDQUFDLFlBQVksRUFBRSx1QkFBdUIsQ0FBQzs4QkFVVCxhQUFhO3NCQUFuRCxZQUFZO3VCQUFDLHVCQUF1QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBDb21wb25lbnQsIGNvbXB1dGVkLCBpbmplY3QsIGlucHV0LCBTaWduYWwsIFZpZXdDaGlsZHJlbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTmF2QmFyRHJvcGRvd25Db21wb25lbnQgfSBmcm9tICcuLi9uYXYtYmFyLWRyb3Bkb3duL25hdi1iYXItZHJvcGRvd24uY29tcG9uZW50JztcbmltcG9ydCB7IGlzU2NyZWVuU21hbGxTaWduYWwgfSBmcm9tICcuLi8uLi91dGlscyc7XG5pbXBvcnQgeyBCcmVha3BvaW50T2JzZXJ2ZXIgfSBmcm9tICdAYW5ndWxhci9jZGsvbGF5b3V0JztcblxudHlwZSBOYXZJbmZvID0ge1xuICAgIHRpdGxlOiBzdHJpbmc7XG4gICAgbWFpblNlY3Rpb24/OiBTZWN0aW9uO1xuICAgIG90aGVyU2VjdGlvbnM6IFNlY3Rpb25bXTtcbn07XG5cbnR5cGUgU2VjdGlvbiA9IHtcbiAgICB0aXRsZTogc3RyaW5nO1xuICAgIGxpbmtzOiBMaW5rW107XG4gICAgYXV4aWxpYXJ5TGluaz86IExpbms7XG59O1xuXG50eXBlIExpbmsgPSB7XG4gICAgbGFiZWw6IHN0cmluZztcbiAgICB1cmw6IHN0cmluZztcbiAgICBpY29uPzogc3RyaW5nO1xufTtcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdsaWItbmF2LWJhcicsXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBOYXZCYXJEcm9wZG93bkNvbXBvbmVudF0sXG4gICAgdGVtcGxhdGVVcmw6ICcuL25hdi1iYXIuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsOiAnLi9uYXYtYmFyLmNvbXBvbmVudC5zY3NzJyxcbn0pXG5leHBvcnQgY2xhc3MgTmF2QmFyQ29tcG9uZW50IHtcbiAgICBwcml2YXRlIGJvID0gaW5qZWN0KEJyZWFrcG9pbnRPYnNlcnZlcik7XG4gICAgbWFpblNpdGVCYXNlVXJsID0gaW5wdXQucmVxdWlyZWQ8c3RyaW5nPigpO1xuICAgIGhlaWdodCA9IGlucHV0PG51bWJlciB8IG51bGw+KG51bGwpO1xuICAgIGlzSW50ZXJhY3RpbmdXaXRoTmF2YmFyOiBib29sZWFuID0gZmFsc2U7XG5cbiAgICBAVmlld0NoaWxkcmVuKE5hdkJhckRyb3Bkb3duQ29tcG9uZW50KSBkcm9wZG93bkNvbXBzITogTmF2QmFyRHJvcGRvd25Db21wb25lbnRbXTtcblxuICAgIC8vIElmIGFueSBzZWN0aW9uIG9wZW5zIHVwLCBjbG9zZSBhbGwgb3RoZXJzLiBPbmx5IG9uZSBzZWN0aW9uIG9wZW4gYXQgYSB0aW1lLlxuICAgIHByb3RlY3RlZCBoYW5kbGVEcm9wZG93bk9wZW5FdmVudCA9ICh0aXRsZTogc3RyaW5nKSA9PiB7XG4gICAgICAgIHRoaXMuZHJvcGRvd25Db21wc1xuICAgICAgICAgICAgLmZpbHRlcigoY29tcCkgPT4gY29tcC50aXRsZSgpICE9PSB0aXRsZSlcbiAgICAgICAgICAgIC5mb3JFYWNoKChjb21wKSA9PiB7XG4gICAgICAgICAgICAgICAgY29tcC5jbG9zZURyb3Bkb3duKCk7XG4gICAgICAgICAgICB9KTtcbiAgICB9O1xuXG4gICAgaGFuZGxlSG92ZXJTdGFydGVkKCk6IHZvaWQge1xuICAgICAgICB0aGlzLmlzSW50ZXJhY3RpbmdXaXRoTmF2YmFyID0gdHJ1ZTtcbiAgICB9XG5cbiAgICBoYW5kbGVOYXZiYXJNb3VzZUxlYXZlKCk6IHZvaWQge1xuICAgICAgICB0aGlzLmlzSW50ZXJhY3RpbmdXaXRoTmF2YmFyID0gZmFsc2U7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIGlzU2NyZWVuU21hbGwgPSBpc1NjcmVlblNtYWxsU2lnbmFsKHRoaXMuYm8pO1xuXG4gICAgcHJvdGVjdGVkIG5hdkluZm9zOiBTaWduYWw8TmF2SW5mb1tdPiA9IGNvbXB1dGVkKCgpID0+IHtcbiAgICAgICAgcmV0dXJuIFtcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICB0aXRsZTogJ01hdGVyaWFscycsXG4gICAgICAgICAgICAgICAgbWFpblNlY3Rpb246IHtcbiAgICAgICAgICAgICAgICAgICAgdGl0bGU6ICdSZXNvdXJjZSBDb2xsZWN0aW9ucycsXG4gICAgICAgICAgICAgICAgICAgIGxpbmtzOiBbXG4gICAgICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbGFiZWw6ICdTdWJqZWN0IEFyZWEgQ29sbGVjdGlvbnMnLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVybDogYCR7dGhpcy5tYWluU2l0ZUJhc2VVcmwoKX0vY29sbGVjdGlvbnNgLFxuICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgIHsgbGFiZWw6ICdEYXRhYmFzZXMnLCB1cmw6IGAke3RoaXMubWFpblNpdGVCYXNlVXJsKCl9L2RhdGFiYXNlc2AgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgIHsgbGFiZWw6ICdKb3VybmFscycsIHVybDogYCR7dGhpcy5tYWluU2l0ZUJhc2VVcmwoKX0vam91cm5hbHNgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbGFiZWw6ICdUaGVzZXMgJiBEaXNzZXJ0YXRpb25zJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB1cmw6IGAke3RoaXMubWFpblNpdGVCYXNlVXJsKCl9L3RoZXNlcy1hbmQtZGlzc2VydGF0aW9uc2AsXG4gICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxhYmVsOiAnU3BlY2lhbCBDb2xsZWN0aW9ucycsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdXJsOiBgJHt0aGlzLm1haW5TaXRlQmFzZVVybCgpfS9zcGVjaWFsLWNvbGxlY3Rpb25zYCxcbiAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbGFiZWw6ICdEaWdpdGFsIENvbGxlY3Rpb25zJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB1cmw6IGAke3RoaXMubWFpblNpdGVCYXNlVXJsKCl9L2NvbGxlY3Rpb25zL2RpZ2l0YWxgLFxuICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgXSxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIG90aGVyU2VjdGlvbnM6IFtcbiAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGl0bGU6ICdGb3JtYXRzJyxcbiAgICAgICAgICAgICAgICAgICAgICAgIGxpbmtzOiBbXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgeyBsYWJlbDogJ0FydGljbGVzJywgdXJsOiBgJHt0aGlzLm1haW5TaXRlQmFzZVVybCgpfS9hcnRpY2xlc2AgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IGxhYmVsOiAnQXVkaW8nLCB1cmw6IGAke3RoaXMubWFpblNpdGVCYXNlVXJsKCl9L2F1ZGlvYCB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgbGFiZWw6ICdCb29rcycsIHVybDogYCR7dGhpcy5tYWluU2l0ZUJhc2VVcmwoKX0vYm9va3NgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgeyBsYWJlbDogJ1ZpZGVvJywgdXJsOiBgJHt0aGlzLm1haW5TaXRlQmFzZVVybCgpfS92aWRlb2AgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgIF0sXG4gICAgICAgICAgICAgICAgICAgICAgICBhdXhpbGlhcnlMaW5rOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbGFiZWw6ICdTZWUgYWxsIGZvcm1hdHMnLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVybDogYCR7dGhpcy5tYWluU2l0ZUJhc2VVcmwoKX0vZm9ybWF0c2AsXG4gICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aXRsZTogJ0VxdWlwbWVudCcsXG4gICAgICAgICAgICAgICAgICAgICAgICBsaW5rczogW1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGFiZWw6ICdBdmFpbGFibGUgZm9yIENoZWNrb3V0JyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdXJsOiBgJHt0aGlzLm1haW5TaXRlQmFzZVVybCgpfS9zZXJ2aWNlcz9jYXRlZ29yaWVzPWF2YWlsYWJsZS1mb3ItY2hlY2tvdXRgLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsYWJlbDogJ0F2YWlsYWJsZSB3aXRoIFJlc2VydmF0aW9uJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdXJsOiBgJHt0aGlzLm1haW5TaXRlQmFzZVVybCgpfS9zZXJ2aWNlcz9jYXRlZ29yaWVzPWF2YWlsYWJsZS12aWEtcmVzZXJ2YXRpb25gLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsYWJlbDogJ1B1YmxpYyBDb21wdXRlcnMnLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1cmw6IGAke3RoaXMubWFpblNpdGVCYXNlVXJsKCl9L3NlcnZpY2VzL3B1YmxpYy1jb21wdXRlcnNgLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsYWJlbDogJ1ByaW50ZXJzIGFuZCBDb3B5aW5nJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdXJsOiBgJHt0aGlzLm1haW5TaXRlQmFzZVVybCgpfS9zZXJ2aWNlcz9jYXRlZ29yaWVzPXByaW50aW5nLWFuZC1jb3B5aW5nYCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgXSxcbiAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICBdLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICB0aXRsZTogJ1BsYWNlcycsXG4gICAgICAgICAgICAgICAgbWFpblNlY3Rpb246IHtcbiAgICAgICAgICAgICAgICAgICAgdGl0bGU6ICdQb3B1bGFyIFBsYWNlcycsXG4gICAgICAgICAgICAgICAgICAgIGxpbmtzOiBbXG4gICAgICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbGFiZWw6ICdIZWxwIERlc2tzJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB1cmw6IGAke3RoaXMubWFpblNpdGVCYXNlVXJsKCl9L3NlcnZpY2VzL2hlbHAtZGVza3NgLFxuICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBsYWJlbDogJ0ZhbWlseSBIaXN0b3J5JyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB1cmw6IGAke3RoaXMubWFpblNpdGVCYXNlVXJsKCl9L3JlbGlnaW9uLWZhbWlseS1oaXN0b3J5YCxcbiAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbGFiZWw6ICdSZXNlYXJjaCBhbmQgV3JpdGluZyBDZW50ZXInLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVybDogYCR7dGhpcy5tYWluU2l0ZUJhc2VVcmwoKX0vc2VydmljZXMvcmVzZWFyY2gtYW5kLXdyaXRpbmctY2VudGVyYCxcbiAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbGFiZWw6ICdTcGVjaWFsIENvbGxlY3Rpb25zJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB1cmw6IGAke3RoaXMubWFpblNpdGVCYXNlVXJsKCl9L3NwZWNpYWwtY29sbGVjdGlvbnNgLFxuICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgXSxcbiAgICAgICAgICAgICAgICAgICAgYXV4aWxpYXJ5TGluazoge1xuICAgICAgICAgICAgICAgICAgICAgICAgbGFiZWw6ICdWaWV3IEZsb29yIE1hcHMnLFxuICAgICAgICAgICAgICAgICAgICAgICAgdXJsOiAnaHR0cHM6Ly9saWIuYnl1LmVkdS9mbG9vcm1hcHMnLFxuICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgb3RoZXJTZWN0aW9uczogW1xuICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aXRsZTogJ1NwYWNlcycsXG4gICAgICAgICAgICAgICAgICAgICAgICBsaW5rczogW1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGFiZWw6ICdDb2xsZWN0aW9ucyAmIEFyY2hpdmVzJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdXJsOiBgJHt0aGlzLm1haW5TaXRlQmFzZVVybCgpfS9zZXJ2aWNlcz9jYXRlZ29yaWVzPWNvbGxlY3Rpb25zLWFuZC1hcmNoaXZlc2AsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxhYmVsOiAnR3JvdXAgU3R1ZHkgU3BhY2VzJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdXJsOiBgJHt0aGlzLm1haW5TaXRlQmFzZVVybCgpfS9zZXJ2aWNlcy9ncm91cC1zdHVkeS1yb29tc2AsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxhYmVsOiAnSW5kaXZpZHVhbCBTdHVkeSBTcGFjZXMnLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1cmw6IGAke3RoaXMubWFpblNpdGVCYXNlVXJsKCl9L3NlcnZpY2VzP2NhdGVnb3JpZXM9aW5kaXZpZHVhbC1zdHVkeS1zcGFjZXNgLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsYWJlbDogJ011bHRpbWVkaWEgQ3JlYXRpb24gU3BhY2VzJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdXJsOiBgJHt0aGlzLm1haW5TaXRlQmFzZVVybCgpfS9zZXJ2aWNlcz9jYXRlZ29yaWVzPW11bHRpbWVkaWEtY3JlYXRpb25gLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsYWJlbDogJ1ZpZGVvIFZpZXdpbmcgU3BhY2VzJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdXJsOiBgJHt0aGlzLm1haW5TaXRlQmFzZVVybCgpfS9zZXJ2aWNlcz9jYXRlZ29yaWVzPXZpZGVvLXZpZXdpbmdgLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICBdLFxuICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aXRsZTogJ1Jvb21zJyxcbiAgICAgICAgICAgICAgICAgICAgICAgIGxpbmtzOiBbXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsYWJlbDogJ0NsYXNzcm9vbXMnLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1cmw6IGAke3RoaXMubWFpblNpdGVCYXNlVXJsKCl9L3NlcnZpY2VzP2NhdGVnb3JpZXM9Y2xhc3Nyb29tc2AsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxhYmVsOiAnQ29uZmVyZW5jZSBSb29tcycsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVybDogYCR7dGhpcy5tYWluU2l0ZUJhc2VVcmwoKX0vc2VydmljZXM/Y2F0ZWdvcmllcz1jb25mZXJlbmNlLXJvb21zYCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGFiZWw6ICdMYWJzICYgQ2VudGVycycsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVybDogYCR7dGhpcy5tYWluU2l0ZUJhc2VVcmwoKX0vc2VydmljZXM/Y2F0ZWdvcmllcz1sYWJzLWFuZC1jZW50ZXJzYCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGFiZWw6ICdSZXNlYXJjaCBSb29tcycsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVybDogYCR7dGhpcy5tYWluU2l0ZUJhc2VVcmwoKX0vc2VydmljZXM/Y2F0ZWdvcmllcz1yZXNlYXJjaC1yb29tc2AsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgIF0sXG4gICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgXSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgdGl0bGU6ICdFeHBlcmllbmNlcycsXG4gICAgICAgICAgICAgICAgbWFpblNlY3Rpb246IHtcbiAgICAgICAgICAgICAgICAgICAgdGl0bGU6ICdFdmVudHMnLFxuICAgICAgICAgICAgICAgICAgICBsaW5rczogW1xuICAgICAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxhYmVsOiAnQ29uY2VydHMgJiBGaWxtIFNob3dpbmdzJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB1cmw6IGAke3RoaXMubWFpblNpdGVCYXNlVXJsKCl9L3NlcnZpY2VzL21vdGlvbi1waWN0dXJlLWFyY2hpdmUtc2VyaWVzYCxcbiAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbGFiZWw6ICdMZWN0dXJlcycsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdXJsOiBgJHt0aGlzLm1haW5TaXRlQmFzZVVybCgpfS9zZXJ2aWNlcz9jYXRlZ29yaWVzPWxlY3R1cmVzYCxcbiAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICB7IGxhYmVsOiAnTmV3cycsIHVybDogYCR7dGhpcy5tYWluU2l0ZUJhc2VVcmwoKX0vYWJvdXQvbmV3c2AgfSxcbiAgICAgICAgICAgICAgICAgICAgXSxcbiAgICAgICAgICAgICAgICAgICAgYXV4aWxpYXJ5TGluazoge1xuICAgICAgICAgICAgICAgICAgICAgICAgbGFiZWw6ICdTZWUgY2FsZW5kYXIgb2YgZXZlbnRzJyxcbiAgICAgICAgICAgICAgICAgICAgICAgIHVybDogYCR7dGhpcy5tYWluU2l0ZUJhc2VVcmwoKX0vZXZlbnRzYCxcbiAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIG90aGVyU2VjdGlvbnM6IFtcbiAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGl0bGU6ICdMZWFybmluZyBPcHBvcnR1bml0aWVzJyxcbiAgICAgICAgICAgICAgICAgICAgICAgIGxpbmtzOiBbXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsYWJlbDogJ0xpYnJhcnkgSW5zdHJ1Y3Rpb24gQ2xhc3NlcycsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVybDogYCR7dGhpcy5tYWluU2l0ZUJhc2VVcmwoKX0vbGlicmFyeS1pbnN0cnVjdGlvbmAsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxhYmVsOiAnU29mdHdhcmUgVHJhaW5pbmcnLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1cmw6IGAke3RoaXMubWFpblNpdGVCYXNlVXJsKCl9L3NlcnZpY2VzL3NvZnR3YXJlLXRyYWluaW5nYCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGFiZWw6ICdGYW1pbHkgSGlzdG9yeSBDbGFzc2VzICYgV2ViaW5hcnMnLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1cmw6IGAke3RoaXMubWFpblNpdGVCYXNlVXJsKCl9L3NlcnZpY2VzL2ZhbWlseS1oaXN0b3J5LWNsYXNzZXNgLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICBdLFxuICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aXRsZTogJ0Rpc3BsYXlzJyxcbiAgICAgICAgICAgICAgICAgICAgICAgIGxpbmtzOiBbXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgeyBsYWJlbDogJ0V4aGliaXRzJywgdXJsOiBgJHt0aGlzLm1haW5TaXRlQmFzZVVybCgpfS9leGhpYml0c2AgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxhYmVsOiAnR2FsbGVyaWVzJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdXJsOiBgJHt0aGlzLm1haW5TaXRlQmFzZVVybCgpfS9zZXJ2aWNlcz9jYXRlZ29yaWVzPWdhbGxlcmllcy1hbmQtZXhoaWJpdHNgLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICBdLFxuICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIF0sXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIHRpdGxlOiAnU2VydmljZXMnLFxuICAgICAgICAgICAgICAgIG1haW5TZWN0aW9uOiB7XG4gICAgICAgICAgICAgICAgICAgIHRpdGxlOiAnU2VydmljZXMgRm9yJyxcbiAgICAgICAgICAgICAgICAgICAgbGlua3M6IFtcbiAgICAgICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBsYWJlbDogJ0N1cnJlbnQgU3R1ZGVudHMnLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVybDogYCR7dGhpcy5tYWluU2l0ZUJhc2VVcmwoKX0vc2VydmljZXM/Y2F0ZWdvcmllcz1mb3Itc3R1ZGVudHNgLFxuICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBsYWJlbDogJ0ZhY3VsdHkgYW5kIFN0YWZmJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB1cmw6IGAke3RoaXMubWFpblNpdGVCYXNlVXJsKCl9L3NlcnZpY2VzP2NhdGVnb3JpZXM9Zm9yLWZhY3VsdHlgLFxuICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBsYWJlbDogJ1JldGlyZWVzJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB1cmw6IGAke3RoaXMubWFpblNpdGVCYXNlVXJsKCl9L3NlcnZpY2VzP2NhdGVnb3JpZXM9Zm9yLXJldGlyZWVzYCxcbiAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbGFiZWw6ICdWaXNpdG9ycyBhbmQgQWx1bW5pJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB1cmw6IGAke3RoaXMubWFpblNpdGVCYXNlVXJsKCl9L3NlcnZpY2VzP2NhdGVnb3JpZXM9Zm9yLXZpc2l0b3JzYCxcbiAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgIF0sXG4gICAgICAgICAgICAgICAgICAgIGF1eGlsaWFyeUxpbms6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGxhYmVsOiAnU2VlIGFsbCBTZXJ2aWNlcycsXG4gICAgICAgICAgICAgICAgICAgICAgICB1cmw6IGAke3RoaXMubWFpblNpdGVCYXNlVXJsKCl9L3NlcnZpY2VzYCxcbiAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIG90aGVyU2VjdGlvbnM6IFtcbiAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGl0bGU6ICdHZXR0aW5nIE1hdGVyaWFscycsXG4gICAgICAgICAgICAgICAgICAgICAgICBsaW5rczogW1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGFiZWw6ICdDaGVjayBvdXQgYW5kIFJlbmV3JyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdXJsOiBgJHt0aGlzLm1haW5TaXRlQmFzZVVybCgpfS9hYm91dC9jaGVja291dC1wcml2aWxlZ2VzYCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGFiZWw6ICdIb2xkcycsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVybDogYCR7dGhpcy5tYWluU2l0ZUJhc2VVcmwoKX0vc2VydmljZXMvaG9sZHNgLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsYWJlbDogJ0JvcnJvdyBmcm9tIGFub3RoZXIgTGlicmFyeSAoSUxMKScsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVybDogYCR7dGhpcy5tYWluU2l0ZUJhc2VVcmwoKX0vc2VydmljZXMvaW50ZXJsaWJyYXJ5LWxvYW5gLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICBdLFxuICAgICAgICAgICAgICAgICAgICAgICAgYXV4aWxpYXJ5TGluazoge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxhYmVsOiAnU2VlIGFsbCBNYXRlcmlhbCBTZXJ2aWNlcycsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdXJsOiBgJHt0aGlzLm1haW5TaXRlQmFzZVVybCgpfS9zZXJ2aWNlcy8/Y2F0ZWdvcmllcz1vYnRhaW5pbmctYW5kLXJlc2VydmluZy1tYXRlcmlhbHNgLFxuICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGl0bGU6ICdPdGhlcicsXG4gICAgICAgICAgICAgICAgICAgICAgICBsaW5rczogW1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGFiZWw6ICdJbnRlcm5zaGlwcywgRmVsbG93c2hpcHMgYW5kIEdyYW50cycsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVybDogYCR7dGhpcy5tYWluU2l0ZUJhc2VVcmwoKX0vc2VydmljZXM/Y2F0ZWdvcmllcz1pbnRlcm5zaGlwcy1mZWxsb3dzaGlwcy1ncmFudHNgLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsYWJlbDogJ1Byb2dyYW1zJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdXJsOiBgJHt0aGlzLm1haW5TaXRlQmFzZVVybCgpfS9zZXJ2aWNlcz9jYXRlZ29yaWVzPXByb2dyYW1zYCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGFiZWw6ICdTY2hvbGFybHkgUHVibGlzaGluZycsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVybDogYCR7dGhpcy5tYWluU2l0ZUJhc2VVcmwoKX0vc2VydmljZXM/Y2F0ZWdvcmllcz1jcmVhdGluZy1hbmQtcHVibGlzaGluZy1tYXRlcmlhbHNgLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICBdLFxuICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIF0sXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIHRpdGxlOiAnQXNrIFVzJyxcblxuICAgICAgICAgICAgICAgIG90aGVyU2VjdGlvbnM6IFtcbiAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGl0bGU6ICdHZXQgSGVscCcsXG4gICAgICAgICAgICAgICAgICAgICAgICBsaW5rczogW1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGFiZWw6ICdDaGF0JyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdXJsOiBgJHt0aGlzLm1haW5TaXRlQmFzZVVybCgpfS9jaGF0P3VybD0ke3dpbmRvdy5sb2NhdGlvbi5ocmVmfWAsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGljb246ICdjaGF0X2J1YmJsZScsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxhYmVsOiAnTGlicmFyeSBJbnN0cnVjdGlvbicsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVybDogYCR7dGhpcy5tYWluU2l0ZUJhc2VVcmwoKX0vbGlicmFyeS1pbnN0cnVjdGlvbmAsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IGxhYmVsOiAnUmVzZWFyY2ggR3VpZGVzJywgdXJsOiBgJHt0aGlzLm1haW5TaXRlQmFzZVVybCgpfS9ndWlkZXNgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsYWJlbDogJ0hlbHAgJiBHdWlkYW5jZScsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVybDogYCR7dGhpcy5tYWluU2l0ZUJhc2VVcmwoKX0vc2VydmljZXM/Y2F0ZWdvcmllcz1oZWxwLWFuZC1ndWlkYW5jZWAsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgIF0sXG4gICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRpdGxlOiAnRmluZCBhLi4uJyxcbiAgICAgICAgICAgICAgICAgICAgICAgIGxpbmtzOiBbXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgeyBsYWJlbDogJ0RlcGFydG1lbnQnLCB1cmw6IGAke3RoaXMubWFpblNpdGVCYXNlVXJsKCl9L2RpcmVjdG9yeWAgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxhYmVsOiAnSGVscCBEZXNrJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdXJsOiBgJHt0aGlzLm1haW5TaXRlQmFzZVVybCgpfS9zZXJ2aWNlcy9oZWxwLWRlc2tzYCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGFiZWw6ICdMaWJyYXJ5IEVtcGxveWVlIGJ5IE5hbWUnLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1cmw6IGAke3RoaXMubWFpblNpdGVCYXNlVXJsKCl9L2RpcmVjdG9yeWAsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxhYmVsOiAnU3ViamVjdCBMaWJyYXJpYW4nLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1cmw6IGAke3RoaXMubWFpblNpdGVCYXNlVXJsKCl9L2RpcmVjdG9yeSNicm93c2UtYnktc3ViamVjdGAsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgIF0sXG4gICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRpdGxlOiAnQWJvdXQgdGhlIExpYnJhcnknLFxuICAgICAgICAgICAgICAgICAgICAgICAgbGlua3M6IFtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxhYmVsOiAnR2VuZXJhbCBJbmZvcm1hdGlvbicsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVybDogYCR7dGhpcy5tYWluU2l0ZUJhc2VVcmwoKX0vYWJvdXRgLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgeyBsYWJlbDogJ0ZBUXMnLCB1cmw6IGAke3RoaXMubWFpblNpdGVCYXNlVXJsKCl9L2ZhcWAgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgIF0sXG4gICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgXSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgIF07XG4gICAgfSk7XG59XG4iLCI8bmF2XG4gICAgW3N0eWxlXT1cInsgaGVpZ2h0OiBoZWlnaHQoKSA/IGhlaWdodCgpICsgJ3B4JyA6ICdhdXRvJyB9XCJcbiAgICBbbmdDbGFzc109XCJ7ICdoYmxsLWhlYWRlci1kZXNrdG9wJzogIWlzU2NyZWVuU21hbGwoKSB9XCJcbiAgICBkYXRhLXRlc3RpZD1cIm5hdlwiXG4gICAgKG1vdXNlbGVhdmUpPVwiaGFuZGxlTmF2YmFyTW91c2VMZWF2ZSgpXCJcbj5cbiAgICA8dWwgY2xhc3M9XCJoYmxsLWhlYWRlci1uYXYtYmFyXCI+XG4gICAgICAgIDxsaSBpZD1cIm5hdkhvbWVcIj5cbiAgICAgICAgICAgIDxhIFtocmVmXT1cIm1haW5TaXRlQmFzZVVybCgpXCI+XG4gICAgICAgICAgICAgICAgQGlmIChpc1NjcmVlblNtYWxsKCkpIHtcbiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJtYXRlcmlhbC1zeW1ib2xzLW91dGxpbmVkIGhibGwtaGVhZGVyLWljb25cIj4gaG9tZSA8L3NwYW4+XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIEhvbWVcbiAgICAgICAgICAgIDwvYT5cbiAgICAgICAgPC9saT5cbiAgICAgICAgQGZvciAobmF2SW5mbyBvZiBuYXZJbmZvcygpOyB0cmFjayBuYXZJbmZvLnRpdGxlKSB7XG4gICAgICAgICAgICA8bGk+XG4gICAgICAgICAgICAgICAgPGxpYi1uYXYtYmFyLWRyb3Bkb3duXG4gICAgICAgICAgICAgICAgICAgIFt0aXRsZV09XCJuYXZJbmZvLnRpdGxlXCJcbiAgICAgICAgICAgICAgICAgICAgW2lzU21hbGxTY3JlZW5dPVwiaXNTY3JlZW5TbWFsbCgpID8/IHRydWVcIlxuICAgICAgICAgICAgICAgICAgICBbaXNJbnRlcmFjdGluZ109XCJpc0ludGVyYWN0aW5nV2l0aE5hdmJhclwiXG4gICAgICAgICAgICAgICAgICAgIChvcGVuRXZlbnQpPVwiaGFuZGxlRHJvcGRvd25PcGVuRXZlbnQoJGV2ZW50KVwiXG4gICAgICAgICAgICAgICAgICAgIChob3ZlclN0YXJ0ZWQpPVwiaGFuZGxlSG92ZXJTdGFydGVkKClcIlxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJoYmxsLWhlYWRlci1jb250ZW50XCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtuZ1N0eWxlXT1cIntcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnYmFja2dyb3VuZC1jb2xvcic6IGlzU2NyZWVuU21hbGwoKSA/ICcjMzM2Y2M4JyA6ICdpbmhlcml0JyxcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cIlxuICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICBAaWYgKG5hdkluZm8ubWFpblNlY3Rpb24pIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c2VjdGlvbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGgyIHRhYmluZGV4PVwiMFwiPnt7IG5hdkluZm8ubWFpblNlY3Rpb24udGl0bGUgfX08L2gyPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiaGJsbC1oZWFkZXItbWFpbiBoYmxsLWhlYWRlci1saW5rc1wiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQGZvciAobGluayBvZiBuYXZJbmZvLm1haW5TZWN0aW9uLmxpbmtzOyB0cmFjayBsaW5rLmxhYmVsKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgW2hyZWZdPVwibGluay51cmxcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge3sgbGluay5sYWJlbCB9fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEBpZiAobmF2SW5mby5tYWluU2VjdGlvbi5hdXhpbGlhcnlMaW5rKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiaGJsbC1oZWFkZXItc2VlLWFsbFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2hyZWZdPVwibmF2SW5mby5tYWluU2VjdGlvbi5hdXhpbGlhcnlMaW5rLnVybFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge3sgbmF2SW5mby5tYWluU2VjdGlvbi5hdXhpbGlhcnlMaW5rLmxhYmVsIH19XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJtYXRlcmlhbC1zeW1ib2xzLW91dGxpbmVkIGhibGwtaGVhZGVyLWljb25cIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2hldnJvbl9yaWdodFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc2VjdGlvbj5cbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIEBmb3IgKHNlY3Rpb24gb2YgbmF2SW5mby5vdGhlclNlY3Rpb25zOyB0cmFjayBzZWN0aW9uLnRpdGxlKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNlY3Rpb24+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoMyB0YWJpbmRleD1cIjBcIj57eyBzZWN0aW9uLnRpdGxlIH19PC9oMz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImhibGwtaGVhZGVyLWxpbmtzXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBAZm9yIChsaW5rIG9mIHNlY3Rpb24ubGlua3M7IHRyYWNrIGxpbmsubGFiZWwpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBbaHJlZl09XCJsaW5rLnVybFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7eyBsaW5rLmxhYmVsIH19XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEBpZiAobGluay5pY29uKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwibWF0ZXJpYWwtc3ltYm9scy1vdXRsaW5lZCBoYmxsLWhlYWRlci1pY29uLXJpZ2h0XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7eyBsaW5rLmljb24gfX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEBpZiAoc2VjdGlvbi5hdXhpbGlhcnlMaW5rKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiaGJsbC1oZWFkZXItc2VlLWFsbFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2hyZWZdPVwic2VjdGlvbi5hdXhpbGlhcnlMaW5rLnVybFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge3sgc2VjdGlvbi5hdXhpbGlhcnlMaW5rLmxhYmVsIH19XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJtYXRlcmlhbC1zeW1ib2xzLW91dGxpbmVkIGhibGwtaGVhZGVyLWljb25cIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2hldnJvbl9yaWdodFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc2VjdGlvbj5cbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPC9saWItbmF2LWJhci1kcm9wZG93bj5cbiAgICAgICAgICAgIDwvbGk+XG4gICAgICAgIH1cbiAgICAgICAgPGxpPlxuICAgICAgICAgICAgPGEgaWQ9XCJuYXZTZWFyY2hcIiBbaHJlZl09XCJtYWluU2l0ZUJhc2VVcmwoKSArICcvc2VhcmNoJ1wiPlxuICAgICAgICAgICAgICAgIEBpZiAoaXNTY3JlZW5TbWFsbCgpKSB7XG4gICAgICAgICAgICAgICAgICAgIFNlYXJjaFxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICA8c3BhblxuICAgICAgICAgICAgICAgICAgICBjbGFzcz1cIm1hdGVyaWFsLXN5bWJvbHMtb3V0bGluZWRcIlxuICAgICAgICAgICAgICAgICAgICBbbmdDbGFzc109XCJ7ICdoYmxsLWhlYWRlci1pY29uJzogaXNTY3JlZW5TbWFsbCgpIH1cIlxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgc2VhcmNoXG4gICAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgPC9hPlxuICAgICAgICA8L2xpPlxuICAgIDwvdWw+XG48L25hdj5cbiJdfQ==
@@ -40,7 +40,7 @@ export class ImpersonationBannerComponent {
40
40
  this.http = inject(HttpClient);
41
41
  this.accessTokenPayload = input.required();
42
42
  this.personBaseUri = input('https://apps.lib.byu.edu/person/v2/');
43
- this.libraryApiBaseUri = input('https://apps.lib.byu.edu/v1');
43
+ this.libraryApiBaseUri = input('https://api.lib.byu.edu/v1');
44
44
  this.endImpersonation = new EventEmitter();
45
45
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
46
46
  this.parsedToken = computed(() => this.accessTokenPayload().token ? jwtDecode(this.accessTokenPayload().token) : {});
@@ -146,4 +146,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.0", ngImpor
146
146
  }], propDecorators: { endImpersonation: [{
147
147
  type: Output
148
148
  }] } });
149
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW1wZXJzb25hdGlvbi1iYW5uZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29tcG9uZW50cy9zcmMvbGliL2ltcGVyc29uYXRpb24tYmFubmVyL2ltcGVyc29uYXRpb24tYmFubmVyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvbXBvbmVudHMvc3JjL2xpYi9pbXBlcnNvbmF0aW9uLWJhbm5lci9pbXBlcnNvbmF0aW9uLWJhbm5lci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFFBQVEsRUFBRSxZQUFZLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFDakcsT0FBTyxFQUFFLEdBQUcsRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNoRCxPQUFPLEVBQ0gsWUFBWSxHQUdmLE1BQU0sNkJBQTZCLENBQUM7QUFDckMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRS9DLE9BQU8sRUFBRSxTQUFTLEVBQWMsTUFBTSxZQUFZLENBQUM7QUFDbkQsT0FBTyxFQUFFLFlBQVksRUFBRSxRQUFRLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUNwRSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFFbEQsT0FBTyxNQUFNLE1BQU0sUUFBUSxDQUFDO0FBQzVCLE9BQU8sRUFBRSxhQUFhLEVBQUUsRUFBRSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHdDQUF3QyxDQUFDOzs7QUFFOUUsTUFBTSxjQUFjLEdBQUcsNERBQTRELENBQUM7QUFDcEYsTUFBTSxtQkFBbUIsR0FBRyxzQkFBc0IsQ0FBQztBQUNuRCxNQUFNLCtCQUErQixHQUFHLGdDQUFn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QU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIGNvbXB1dGVkLCBFdmVudEVtaXR0ZXIsIGluamVjdCwgaW5wdXQsIE91dHB1dCwgU2lnbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBtYXAsIHN3aXRjaE1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7XG4gICAgQWNjZXNzU3RhdHVzLFxuICAgIEFjY291bnRzUmVzcG9uc2UsXG4gICAgdHlwZSBBcHBsaWNhdGlvbkFjY2Vzcyxcbn0gZnJvbSAnLi9tb2RlbHMvYXBwbGljYXRpb24tYWNjZXNzJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBUb2tlblBheWxvYWQgfSBmcm9tICcuLi9tb2RlbHMvdG9rZW4tcGF5bG9hZCc7XG5pbXBvcnQgeyBqd3REZWNvZGUsIEp3dFBheWxvYWQgfSBmcm9tICdqd3QtZGVjb2RlJztcbmltcG9ydCB7IHRvT2JzZXJ2YWJsZSwgdG9TaWduYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlL3J4anMtaW50ZXJvcCc7XG5pbXBvcnQgeyBIdHRwQ2xpZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHsgSW5kZXBlbmRlbnRTdHVkeVJlc3BvbnNlLCBQZXJzb25TdW1tYXJ5IH0gZnJvbSAnLi9tb2RlbHMvcGVyc29uLXN1bW1hcnknO1xuaW1wb3J0IHVybGNhdCBmcm9tICd1cmxjYXQnO1xuaW1wb3J0IHsgY29tYmluZUxhdGVzdCwgb2YgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IENvcHlUb29sdGlwQ29tcG9uZW50IH0gZnJvbSAnLi4vY29weS10b29sdGlwL2NvcHktdG9vbHRpcC5jb21wb25lbnQnO1xuXG5jb25zdCBVU0VSX1BIT1RPX1VSTCA9ICdodHRwczovL3kuYnl1LmVkdS9yeS9hZS9wcm9kL3BlcnNvbi9jZ2kvcGVyc29uUGhvdG8uY2dpP249JztcbmNvbnN0IFBFUlNPTl9TVU1NQVJZX1BBVEggPSAnL3N1bW1hcnkvOmxpYnJhcnlJZC8nO1xuY29uc3QgSU5ERVBFTkRFTlRfU1RVRFlfUkVTUE9OU0VfUEFUSCA9ICcvaW5kZXBlbmRlbnQtc3R1ZHkvOmxpYnJhcnlJZC8nO1xuY29uc3QgUEFUUk9OX0FDQ09VTlRTX1BBVEggPSAnL3BhdHJvbi9hY2NvdW50cyc7XG5cbi8qKlxuICogQHRvZG86IFJlZmFjdG9yOiBteSByZWNvbW1lbmRhdGlvbiB3b3VsZCBiZSB0byBhbGxvdyBhIHVzZXIgdG8gYmUgcGFzc2VkIGludG8gdGhpcyBjb21wb25lbnQgdmlhIGFuIGlucHV0IGluc3RlYWQgb2YgdGhlIHVzZXJzIGNvbWluZyBmcm9tIGFuIEFQSSBjYWxsIGJhc2VkIG9uIHRoZSBKV1QgcGFzc2VkIGluLiBUaGlzIG1pZ2h0IGxvb2sgc29tZXRoaW5nIGxpa2U6XG4gKiAgYGBgXG4gKiAgICDvvKBJbnB1dCgpIHVzZXI6IHtcbiAqICAgICAgcHJpbWFyeV9wb3NpdGlvbl90eXBlX2Rpc3BsYXk/OiBzdHJpbmdcbiAqICAgICAgdW5kZXJncmFkX2dyYWR1YXRlX3N0YXR1cz86IHN0cmluZ1xuICogICAgICByZXN0cmljdGVkPzogYm9vbGVhblxuICogICAgICBpc19yZXRpcmVkPzogYm9vbGVhblxuICogICAgICBpc19lbXBsb3llZT86IGJvb2xlYW5cbiAqICAgICAgcHJpbWFyeV9wb3NpdGlvbl90eXBlPzogc3RyaW5nXG4gKiAgICB9XG4gKiBgYGBcbiAqIEFjY2VwdGluZyBhbGwgcHJvcGVydGllcyB0aGF0IGFyZSB1c2VkIGluIHRoaXMgY29tcG9uZW50IHdpdGhvdXQgbmVlZGluZyB0byBicmluZyBpbiB0aGUgdXNlciB0eXBlIGV4cGxpY2l0bHkuIE9yIHRoZSBwcm9wZXJ0aWVzIG9uIHRoaXMgdXNlciBvYmplY3QgY291bGQgYmUgbWFkZSBldmVuIG1vcmUgZ2VuZXJhbCBhcyB0byBub3QgYmUgdGllZCBhdCBhbGwgdG8gYW55IHNwZWNpZmljIHR5cGUuXG4gKlxuICogU29tZXRoaW5nIHNpbWlsYXIgY291bGQgYmUgZG9uZSB3aXRoIGBhY2NvdW50U3RhdHVzZXNgLiBJJ2QgcmVjb21tZW5kIHRoZSBjb25zdW1pbmcgYXBwbGljYXRpb24gcHJlcGFyZSBhcnJheXMgb2Ygc3RyaW5ncyB0byBiZSBwYXNzZWQgaW50byBpbnB1dHMgb2YgYGFjY291bnRzT2tgLCBgYWNjb3VudHNCbG9ja2VkYCwgYW5kIGBhY2NvdW50c05vbmVgLCB0aGF0IGFyZSB0aGVuIHBhc3NlZCBpbnRvIGFuZCBkaXNwbGF5ZWQgaW4gdGhlIHRlbXBsYXRlLlxuICpcbiAqIFRoZSBpZGVhIGJlaGluZCB0aGVzZSByZXZpc2lvbnMgaXMgdGhhdCB0aGVyZSBpcyBsZXNzIGJ1c2luZXNzIGxvZ2ljIGJha2VkIGludG8gdGhpcyBjb21wb25lbnQsIGFzIGl0J3Mgcm9sZSBpcyBqdXN0IG9uZSBvZiBwcmVzZW50YXRpb24uIEl0IHdpbGwgYWxzbyBhdm9pZCBtdWx0aXBsZSBBUEkgY2FsbHMgZm9yIHRoZSBzYW1lIGRhdGEgaW4gb3VyIGJpZyBBbmd1bGFyIGFwcHMuXG4gKlxuICogQmVzdCBvZiBsdWNrLFxuICogUGF1bFxuICovXG5AQ29tcG9uZW50KHtcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIENvcHlUb29sdGlwQ29tcG9uZW50XSxcbiAgICBzZWxlY3RvcjogJ2xpYi1pbXBlcnNvbmF0aW9uLWJhbm5lcicsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2ltcGVyc29uYXRpb24tYmFubmVyLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9pbXBlcnNvbmF0aW9uLWJhbm5lci5jb21wb25lbnQuc2NzcyddLFxufSlcbmV4cG9ydCBjbGFzcyBJbXBlcnNvbmF0aW9uQmFubmVyQ29tcG9uZW50IHtcbiAgICBwcml2YXRlIGh0dHAgPSBpbmplY3QoSHR0cENsaWVudCk7XG4gICAgYWNjZXNzVG9rZW5QYXlsb2FkID0gaW5wdXQucmVxdWlyZWQ8VG9rZW5QYXlsb2FkPigpO1xuICAgIHBlcnNvbkJhc2VVcmkgPSBpbnB1dCgnaHR0cHM6Ly9hcHBzLmxpYi5ieXUuZWR1L3BlcnNvbi92Mi8nKTtcbiAgICBsaWJyYXJ5QXBpQmFzZVVyaSA9IGlucHV0KCdodHRwczovL2FwcHMubGliLmJ5dS5lZHUvdjEnKTtcbiAgICBAT3V0cHV0KCkgZW5kSW1wZXJzb25hdGlvbiA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueVxuICAgIHByb3RlY3RlZCBwYXJzZWRUb2tlbjogU2lnbmFsPEp3dFBheWxvYWQgJiBSZWNvcmQ8c3RyaW5nLCBhbnk+PiA9IGNvbXB1dGVkKCgpID0+XG4gICAgICAgIHRoaXMuYWNjZXNzVG9rZW5QYXlsb2FkKCkudG9rZW4gPyBqd3REZWNvZGUodGhpcy5hY2Nlc3NUb2tlblBheWxvYWQoKS50b2tlbikgOiB7fSxcbiAgICApO1xuICAgIHByb3RlY3RlZCBpc0ltcGVyc29uYXRpbmcgPSBjb21wdXRlZCgoKSA9PiAhIXRoaXMucGFyc2VkVG9rZW4oKVsnaW1wZXJzb25hdG9yJ10pO1xuICAgIHByb3RlY3RlZCBsaWJyYXJ5SWQgPSBjb21wdXRlZCgoKSA9PiB0aGlzLnBhcnNlZFRva2VuKClbJ2xpYnJhcnlfaWQnXSk7XG4gICAgcHJvdGVjdGVkIHVzZXIgPSB0b1NpZ25hbChcbiAgICAgICAgY29tYmluZUxhdGVzdChbdG9PYnNlcnZhYmxlKHRoaXMubGlicmFyeUlkKSwgdG9PYnNlcnZhYmxlKHRoaXMuaXNJbXBlcnNvbmF0aW5nKV0pLnBpcGUoXG4gICAgICAgICAgICBzd2l0Y2hNYXAoKFtsaWJyYXJ5SWQsIGlzSW1wZXJzb25hdGluZ10pID0+XG4gICAgICAgICAgICAgICAgbGlicmFyeUlkICYmIGlzSW1wZXJzb25hdGluZ1xuICAgICAgICAgICAgICAgICAgICA/IHRoaXMuaHR0cC5nZXQ8UGVyc29uU3VtbWFyeT4oXG4gICAgICAgICAgICAgICAgICAgICAgICAgIHVybGNhdCh0aGlzLnBlcnNvbkJhc2VVcmkoKSwgUEVSU09OX1NVTU1BUllfUEFUSCwge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlicmFyeUlkLFxuICAgICAgICAgICAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGVhZGVyczoge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEF1dGhvcml6YXRpb246IGBCZWFyZXIgJHt0aGlzLmFjY2Vzc1Rva2VuUGF5bG9hZCgpLnRva2VufWAsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICAgICAgOiBvZihudWxsKSxcbiAgICAgICAgICAgICksXG4gICAgICAgICksXG4gICAgKTtcbiAgICBwcm90ZWN0ZWQgdXNlckZ1bGxOYW1lID0gY29tcHV0ZWQoKCkgPT5cbiAgICAgICAgdGhpcy5wYXJzZWRUb2tlbigpWydnaXZlbl9uYW1lJ11cbiAgICAgICAgICAgID8gYCR7dGhpcy5wYXJzZWRUb2tlbigpWydnaXZlbl9uYW1lJ119ICR7dGhpcy5wYXJzZWRUb2tlbigpWydmYW1pbHlfbmFtZSddfWBcbiAgICAgICAgICAgIDogJ1Vua25vd24nLFxuICAgICk7XG4gICAgcHJvdGVjdGVkIGlzUmVzdHJpY3RlZCA9IGNvbXB1dGVkKCgpID0+IHRoaXMudXNlcigpPy5yZXN0cmljdGVkKTtcbiAgICBwcm90ZWN0ZWQgdXNlckluZm9UYWJzID0gY29tcHV0ZWQoXG4gICAgICAgICgpID0+XG4gICAgICAgICAgICBuZXcgTWFwKFtcbiAgICAgICAgICAgICAgICBbJ05ldCBJRCcsIHRoaXMucGFyc2VkVG9rZW4oKVsnbmV0X2lkJ10gPz8gJyddLFxuICAgICAgICAgICAgICAgIFsnQllVIElEJywgdGhpcy5wYXJzZWRUb2tlbigpWydieXVfaWQnXSA/PyAnJ10sXG4gICAgICAgICAgICAgICAgWydFbWFpbCcsIHRoaXMudXNlcigpPy5lbWFpbF9hZGRyZXNzID8/ICcnXSxcbiAgICAgICAgICAgIF0pLFxuICAgICk7XG4gICAgcHJvdGVjdGVkIHVzZXJQaG90b1VybCA9IGNvbXB1dGVkKCgpID0+XG4gICAgICAgIHRoaXMucGFyc2VkVG9rZW4oKVsnbmV0X2lkJ10gPyBVU0VSX1BIT1RPX1VSTCArIHRoaXMucGFyc2VkVG9rZW4oKVsnbmV0X2lkJ10gOiAnJyxcbiAgICApO1xuXG4gICAgcHJvdGVjdGVkIGFjdGl2aXR5U3RhdHVzID0gY29tcHV0ZWQoKCkgPT4ge1xuICAgICAgICBpZiAodGhpcy51c2VyKCk/LmlzX3JldGlyZWQpIHJldHVybiAncmV0aXJlZCc7XG4gICAgICAgIGVsc2UgaWYgKHRoaXMudXNlcigpPy5pc19lbXBsb3llZSkgcmV0dXJuICdhY3RpdmUnO1xuICAgICAgICBlbHNlIGlmICh0aGlzLnVzZXIoKT8ucHJpbWFyeV9wb3NpdGlvbl90eXBlKSByZXR1cm4gJ2luYWN0aXZlJztcbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgfSk7XG5cbiAgICBwcm90ZWN0ZWQgZW1wbG95ZWVTdGF0dXNEZXNjcmlwdGlvbiA9IGNvbXB1dGVkKCgpID0+IHtcbiAgICAgICAgaWYgKCF0aGlzLnVzZXIoKSkge1xuICAgICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgIH1cblxuICAgICAgICBsZXQgZGVzY3JpcHRpb24gPSAnJztcbiAgICAgICAgaWYgKHRoaXMudXNlcigpIS5pc19yZXRpcmVkKSB7XG4gICAgICAgICAgICBkZXNjcmlwdGlvbiA9ICdSZXRpcmVkJztcbiAgICAgICAgfSBlbHNlIGlmICh0aGlzLnVzZXIoKSEuaXNfZW1wbG95ZWUpIHtcbiAgICAgICAgICAgIGRlc2NyaXB0aW9uID0gJ0FjdGl2ZSc7XG4gICAgICAgIH0gZWxzZSBpZiAodGhpcy51c2VyKCkhLnByaW1hcnlfcG9zaXRpb25fdHlwZSkge1xuICAgICAgICAgICAgZGVzY3JpcHRpb24gPSAnSW5hY3RpdmUnO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHRoaXMudXNlcigpIS5wcmltYXJ5X3Bvc2l0aW9uX3R5cGVfZGlzcGxheSkge1xuICAgICAgICAgICAgZGVzY3JpcHRpb24gKz0gYCAke3RoaXMudXNlcigpIS5wcmltYXJ5X3Bvc2l0aW9uX3R5cGVfZGlzcGxheX0gRW1wbG95ZWVgO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIGRlc2NyaXB0aW9uID8/IG51bGw7XG4gICAgfSk7XG5cbiAgICBwcm90ZWN0ZWQgaW5kZXBlbmRlbnRTdHVkeVN0YXR1cyA9IHRvU2lnbmFsKFxuICAgICAgICBjb21iaW5lTGF0ZXN0KFt0b09ic2VydmFibGUodGhpcy5saWJyYXJ5SWQpLCB0b09ic2VydmFibGUodGhpcy5pc0ltcGVyc29uYXRpbmcpXSkucGlwZShcbiAgICAgICAgICAgIHN3aXRjaE1hcCgoW2xpYnJhcnlJZCwgaXNJbXBlcnNvbmF0aW5nXSkgPT5cbiAgICAgICAgICAgICAgICBsaWJyYXJ5SWQgJiYgaXNJbXBlcnNvbmF0aW5nXG4gICAgICAgICAgICAgICAgICAgID8gdGhpcy5odHRwXG4gICAgICAgICAgICAgICAgICAgICAgICAgIC5nZXQ8SW5kZXBlbmRlbnRTdHVkeVJlc3BvbnNlPihcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVybGNhdCh0aGlzLnBlcnNvbkJhc2VVcmkoKSwgSU5ERVBFTkRFTlRfU1RVRFlfUkVTUE9OU0VfUEFUSCwge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpYnJhcnlJZCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhlYWRlcnM6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQXV0aG9yaXphdGlvbjogYEJlYXJlciAke3RoaXMuYWNjZXNzVG9rZW5QYXlsb2FkKCkudG9rZW59YCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAucGlwZShtYXAoKHJlc3BvbnNlKSA9PiByZXNwb25zZT8uaXNfZW5yb2xsZWQpKVxuICAgICAgICAgICAgICAgICAgICA6IG9mKG51bGwpLFxuICAgICAgICAgICAgKSxcbiAgICAgICAgKSxcbiAgICApO1xuICAgIHByb3RlY3RlZCBhY2NvdW50U3RhdHVzZXMgPSB0b1NpZ25hbChcbiAgICAgICAgdG9PYnNlcnZhYmxlKHRoaXMuaXNJbXBlcnNvbmF0aW5nKS5waXBlKFxuICAgICAgICAgICAgc3dpdGNoTWFwKChpc0ltcGVyc29uYXRpbmcpID0+IHtcbiAgICAgICAgICAgICAgICBpZiAoIWlzSW1wZXJzb25hdGluZykge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gb2YobnVsbCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLmh0dHBcbiAgICAgICAgICAgICAgICAgICAgLmdldDxBY2NvdW50c1Jlc3BvbnNlPih1cmxjYXQodGhpcy5saWJyYXJ5QXBpQmFzZVVyaSgpLCBQQVRST05fQUNDT1VOVFNfUEFUSCksIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGhlYWRlcnM6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBBdXRob3JpemF0aW9uOiBgQmVhcmVyICR7dGhpcy5hY2Nlc3NUb2tlblBheWxvYWQoKS50b2tlbn1gLFxuICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgICAgICAgICBtYXAoKGFjY291bnRzKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgYWNjb3VudFN0YXR1c2VzID0ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvazogW10gYXMgQXBwbGljYXRpb25BY2Nlc3NbXSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmxvY2tlZDogW10gYXMgQXBwbGljYXRpb25BY2Nlc3NbXSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbm9uZTogW10gYXMgQXBwbGljYXRpb25BY2Nlc3NbXSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9O1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgT2JqZWN0LnZhbHVlcyhhY2NvdW50cy5hcHBsaWNhdGlvbnMpLmZvckVhY2goKGFwcCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzd2l0Y2ggKGFwcC5hY2Nlc3MpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNhc2UgQWNjZXNzU3RhdHVzLk9LOlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFjY291bnRTdGF0dXNlcy5vay5wdXNoKGFwcCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjYXNlIEFjY2Vzc1N0YXR1cy5CTE9DS0VEOlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFjY291bnRTdGF0dXNlcy5ibG9ja2VkLnB1c2goYXBwKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNhc2UgQWNjZXNzU3RhdHVzLk5PTkU6XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYWNjb3VudFN0YXR1c2VzLm5vbmUucHVzaChhcHApO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSk7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gYWNjb3VudFN0YXR1c2VzO1xuICAgICAgICAgICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICB9KSxcbiAgICAgICAgKSxcbiAgICApO1xufVxuIiwiQGlmIChpc0ltcGVyc29uYXRpbmcoKSkge1xuICAgIDxkaXYgY2xhc3M9XCJiYW5uZXItcGFkZGluZ1wiPjwvZGl2PlxuICAgIDxkaXYgY2xhc3M9XCJ0b3AtYmFubmVyXCIgZGF0YS10ZXN0aWQ9XCJiYW5uZXJcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImJhbm5lci1ncm91cCBwcm9maWxlLW5hbWUtY29udGFpbmVyXCI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwicHJvZmlsZS1hdmF0YXJcIj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicHJvZmlsZS1pbWFnZVwiPlxuICAgICAgICAgICAgICAgICAgICA8aW1nXG4gICAgICAgICAgICAgICAgICAgICAgICBbc3JjXT1cInVzZXJQaG90b1VybCgpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFthbHRdPVwidXNlckZ1bGxOYW1lKClcIlxuICAgICAgICAgICAgICAgICAgICAgICAgYWx0PVwidXNlciBwaG90b1wiXG4gICAgICAgICAgICAgICAgICAgICAgICBvbmVycm9yPVwidGhpcy5yZW1vdmUoKVwiXG4gICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJtYXRlcmlhbC1zeW1ib2xzLW91dGxpbmVkIHByb2ZpbGUtaWNvblwiPiBwZXJzb24gPC9zcGFuPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwicHJvZmlsZS1uYW1lLWdyb3VwXCI+XG4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJzb2Z0XCI+SW1wZXJzb25hdGluZzwvc3Bhbj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicHJvZmlsZS1uYW1lLXdyYXBwZXJcIj5cbiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJwcm9maWxlLW5hbWVcIj57eyB1c2VyRnVsbE5hbWUoKSB9fTwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgQGlmIChhY2NvdW50U3RhdHVzZXMoKSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImFwcGxpY2F0aW9uLXN0YXR1cy1iYXJcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBAaWYgKGFjY291bnRTdGF0dXNlcygpIS5vay5sZW5ndGgpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImFwcGxpY2F0aW9uLXN0YXR1cy1pbmRpY2F0b3JcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiYXBwbGljYXRpb24tc3RhdHVzLW9rIGFwcGxpY2F0aW9uLXN0YXR1c1wiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwibWF0ZXJpYWwtc3ltYm9scy1vdXRsaW5lZCBpY29uLWNoZWNrbWFya1wiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjaGVja1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImFwcGxpY2F0aW9uLWNvdW50XCI+e3tcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYWNjb3VudFN0YXR1c2VzKCkhLm9rLmxlbmd0aFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH19PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInN0YXR1cy10b29sdGlwLWNvbnRhaW5lclwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzdGF0dXMtdG9vbHRpcFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBPSyBBcHBsaWNhdGlvbnNcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGhyIC8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEBmb3IgKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXBwbGljYXRpb24gb2YgYWNjb3VudFN0YXR1c2VzKCkhLm9rO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJhY2sgYXBwbGljYXRpb24ubGFiZWxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYXBwbGljYXRpb24tc3RhdHVzXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJtYXRlcmlhbC1zeW1ib2xzLW91dGxpbmVkIGljb24tY2hlY2ttYXJrXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNoZWNrXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuPnt7IGFwcGxpY2F0aW9uLmxhYmVsIH19PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgQGlmIChhY2NvdW50U3RhdHVzZXMoKSEuYmxvY2tlZC5sZW5ndGgpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImFwcGxpY2F0aW9uLXN0YXR1cy1pbmRpY2F0b3JcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiYXBwbGljYXRpb24tc3RhdHVzLWJsb2NrZWQgYXBwbGljYXRpb24tc3RhdHVzXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJtYXRlcmlhbC1zeW1ib2xzLW91dGxpbmVkIGljb24td2FybmluZ1wiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3YXJuaW5nXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiYXBwbGljYXRpb24tY291bnRcIj57e1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhY2NvdW50U3RhdHVzZXMoKSEuYmxvY2tlZC5sZW5ndGhcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9fTwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzdGF0dXMtdG9vbHRpcC1jb250YWluZXJcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3RhdHVzLXRvb2x0aXBcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQmxvY2tlZCBBcHBsaWNhdGlvbnNcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGhyIC8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEBmb3IgKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXBwbGljYXRpb24gb2YgYWNjb3VudFN0YXR1c2VzKCkhLmJsb2NrZWQ7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0cmFjayBhcHBsaWNhdGlvbi5jb2RlXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImFwcGxpY2F0aW9uLXN0YXR1c1wiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwibWF0ZXJpYWwtc3ltYm9scy1vdXRsaW5lZCBpY29uLXdhcm5pbmdcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgd2FybmluZ1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3Bhbj57eyBhcHBsaWNhdGlvbi5sYWJlbCB9fTwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIEBpZiAoYWNjb3VudFN0YXR1c2VzKCkhLm5vbmUubGVuZ3RoKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJhcHBsaWNhdGlvbi1zdGF0dXMtaW5kaWNhdG9yXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImFwcGxpY2F0aW9uLXN0YXR1cy1ub25lIGFwcGxpY2F0aW9uLXN0YXR1c1wiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwibWF0ZXJpYWwtc3ltYm9scy1vdXRsaW5lZCBpY29uLWxvY2tcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbG9ja1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImFwcGxpY2F0aW9uLWNvdW50XCI+e3tcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYWNjb3VudFN0YXR1c2VzKCkhLm5vbmUubGVuZ3RoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfX08L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3RhdHVzLXRvb2x0aXAtY29udGFpbmVyXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInN0YXR1cy10b29sdGlwXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5vIEFjY291bnRcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGhyIC8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEBmb3IgKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXBwbGljYXRpb24gb2YgYWNjb3VudFN0YXR1c2VzKCkhLm5vbmU7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0cmFjayBhcHBsaWNhdGlvbi5sYWJlbFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJhcHBsaWNhdGlvbi1zdGF0dXNcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cIm1hdGVyaWFsLXN5bWJvbHMtb3V0bGluZWQgaWNvbi1sb2NrXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxvY2tcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4+e3sgYXBwbGljYXRpb24ubGFiZWwgfX08L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJwcm9maWxlLWRldGFpbHMtY29udGFpbmVyIGJhbm5lci1ncm91cFwiPlxuICAgICAgICAgICAgQGZvciAoZGV0YWlsIG9mIHVzZXJJbmZvVGFicygpIHwga2V5dmFsdWU7IHRyYWNrIGRldGFpbC5rZXkpIHtcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicHJvZmlsZS1kZXRhaWxcIj5cbiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJzb2Z0IGxhYmVsXCI+e3sgZGV0YWlsLmtleSB9fTwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgPGxpYi1jb3B5LXRvb2x0aXAgW2NvcHlUZXh0XT1cImRldGFpbC52YWx1ZVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInByb2ZpbGUtZGV0YWlsLXRhZyB3aGl0ZS10YWcgY2xpY2thYmxlXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAge3sgZGV0YWlsLnZhbHVlIHx8ICdVbmtub3duJyB9fVxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDwvbGliLWNvcHktdG9vbHRpcD5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIH1cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJwcm9maWxlLWRldGFpbHMtY29udGFpbmVyIGJhbm5lci1ncm91cFwiPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInByb2ZpbGUtZGV0YWlsXCI+XG4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJzb2Z0IGxhYmVsXCI+U3RhdHVzPC9zcGFuPlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtdWx0aXBsZS1kZXRhaWwtdGFnc1wiPlxuICAgICAgICAgICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cInByb2ZpbGUtZGV0YWlsLXRhZyBjb2xvci10YWdcIlxuICAgICAgICAgICAgICAgICAgICAgICAgdGl0bGU9XCJ7eyBlbXBsb3llZVN0YXR1c0Rlc2NyaXB0aW9uKCkgfX1cIlxuICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICB7eyB1c2VyKCk/LnByaW1hcnlfcG9zaXRpb25fdHlwZV9kaXNwbGF5ID8/ICdOb24tZW1wbG95ZWUnIH19XG4gICAgICAgICAgICAgICAgICAgICAgICBAaWYgKGFjdGl2aXR5U3RhdHVzKCkpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cInByb2ZpbGUtc3RhdHVzLWNpcmNsZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtjbGFzcy5zdGF0dXMtYWN0aXZlXT1cImFjdGl2aXR5U3RhdHVzKCkgPT09ICdhY3RpdmUnXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2NsYXNzLnN0YXR1cy1pbmFjdGl2ZV09XCJhY3Rpdml0eVN0YXR1cygpID09PSAnaW5hY3RpdmUnXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2NsYXNzLnN0YXR1cy1yZXRpcmVkXT1cImFjdGl2aXR5U3RhdHVzKCkgPT09ICdyZXRpcmVkJ1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPjwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJwcm9maWxlLWRldGFpbC10YWcgY29sb3ItdGFnXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICB7eyAodXNlcigpPy51bmRlcmdyYWRfZ3JhZHVhdGVfc3RhdHVzIHwgdGl0bGVjYXNlKSB8fCAnTm9uLXN0dWRlbnQnIH19XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicHJvZmlsZS1kZXRhaWwtdGFnIGNvbG9yLXRhZ1wiPlxuICAgICAgICAgICAgICAgICAgICAgICAge3sgaW5kZXBlbmRlbnRTdHVkeVN0YXR1cygpID8gJ0luZGVwZW5kZW50IFN0dWR5JyA6ICdObyBJbmQuIFN0dWR5JyB9fVxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzcz1cInNwYWNlclwiPjwvZGl2PlxuICAgICAgICA8YnV0dG9uIGNsYXNzPVwiZW5kLWltcGVyc29uYXRpb24tYnV0dG9uIHNoYWRvd1wiIChjbGljayk9XCJ0aGlzLmVuZEltcGVyc29uYXRpb24uZW1pdCgpXCI+XG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cIm1hdGVyaWFsLXN5bWJvbHMtb3V0bGluZWQgaWNvblwiPiBjbG9zZSA8L3NwYW4+XG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cImV4aXQtdGV4dFwiPkV4aXQ8L3NwYW4+XG4gICAgICAgIDwvYnV0dG9uPlxuICAgIDwvZGl2PlxuICAgIEBpZiAoaXNSZXN0cmljdGVkKCkpIHtcbiAgICAgICAgPGRpdiBjbGFzcz1cInJlc3RyaWN0ZWQtYmFyLXBhZGRpbmdcIj48L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzcz1cInJlc3RyaWN0ZWQtYmFyXCI+XG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cInRpdGxlXCI+cmVzdHJpY3RlZCBwZXJzb248L3NwYW4+XG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cInRleHRcIj5cbiAgICAgICAgICAgICAgICBJZiBhbnlvbmUgYXNrcyBhYm91dCB0aGlzIHBlcnNvbiwgeW91IGFyZSBpbnN0cnVjdGVkIHRvIHJlc3BvbmQsXG4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJlbXBoYXNpemVcIj5cIldlIGhhdmUgbm8gcmVjb3JkcyBmb3IgdGhpcyBwZXJzb24uXCI8L3NwYW4+XG4gICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgIDwvZGl2PlxuICAgIH1cbiAgICA8ZGl2IGNsYXNzPVwicmlnaHQtYm9yZGVyXCI+PC9kaXY+XG4gICAgPGRpdiBjbGFzcz1cImJvdHRvbS1ib3JkZXJcIj48L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPVwibGVmdC1ib3JkZXJcIj48L2Rpdj5cbn1cbiJdfQ==
149
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW1wZXJzb25hdGlvbi1iYW5uZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29tcG9uZW50cy9zcmMvbGliL2ltcGVyc29uYXRpb24tYmFubmVyL2ltcGVyc29uYXRpb24tYmFubmVyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvbXBvbmVudHMvc3JjL2xpYi9pbXBlcnNvbmF0aW9uLWJhbm5lci9pbXBlcnNvbmF0aW9uLWJhbm5lci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFFBQVEsRUFBRSxZQUFZLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFDakcsT0FBTyxFQUFFLEdBQUcsRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNoRCxPQUFPLEVBQ0gsWUFBWSxHQUdmLE1BQU0sNkJBQTZCLENBQUM7QUFDckMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRS9DLE9BQU8sRUFBRSxTQUFTLEVBQWMsTUFBTSxZQUFZLENBQUM7QUFDbkQsT0FBTyxFQUFFLFlBQVksRUFBRSxRQUFRLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUNwRSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFFbEQsT0FBTyxNQUFNLE1BQU0sUUFBUSxDQUFDO0FBQzVCLE9BQU8sRUFBRSxhQUFhLEVBQUUsRUFBRSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHdDQUF3QyxDQUFDOzs7QUFFOUUsTUFBTSxjQUFjLEdBQUcsNERBQTRELENBQUM7QUFDcEYsTUFBTSxtQkFBbUIsR0FBRyxzQkFBc0IsQ0FBQztBQUNuRCxNQUFNLCtCQUErQixHQUFHLGdDQUFnQyxDQUFDO0FBQ3pFLE1BQU0sb0JBQW9CLEdBQUcsa0JBQWtCLENBQUM7QUFFaEQ7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBb0JHO0FBUUgsTUFBTSxPQUFPLDRCQUE0QjtJQVB6QztRQVFZLFNBQUksR0FBRyxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDbEMsdUJBQWtCLEdBQUcsS0FBSyxDQUFDLFFBQVEsRUFBZ0IsQ0FBQztRQUNwRCxrQkFBYSxHQUFHLEtBQUssQ0FBQyxxQ0FBcUMsQ0FBQyxDQUFDO1FBQzdELHNCQUFpQixHQUFHLEtBQUssQ0FBQyw0QkFBNEIsQ0FBQyxDQUFDO1FBQzlDLHFCQUFnQixHQUFHLElBQUksWUFBWSxFQUFRLENBQUM7UUFDdEQsOERBQThEO1FBQ3BELGdCQUFXLEdBQTZDLFFBQVEsQ0FBQyxHQUFHLEVBQUUsQ0FDNUUsSUFBSSxDQUFDLGtCQUFrQixFQUFFLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLGtCQUFrQixFQUFFLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FDcEYsQ0FBQztRQUNRLG9CQUFlLEdBQUcsUUFBUSxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQztRQUN2RSxjQUFTLEdBQUcsUUFBUSxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDO1FBQzdELFNBQUksR0FBRyxRQUFRLENBQ3JCLGFBQWEsQ0FBQyxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLEVBQUUsWUFBWSxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUNsRixTQUFTLENBQUMsQ0FBQyxDQUFDLFNBQVMsRUFBRSxlQUFlLENBQUMsRUFBRSxFQUFFLENBQ3ZDLFNBQVMsSUFBSSxlQUFlO1lBQ3hCLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FDVCxNQUFNLENBQUMsSUFBSSxDQUFDLGFBQWEsRUFBRSxFQUFFLG1CQUFtQixFQUFFO2dCQUM5QyxTQUFTO2FBQ1osQ0FBQyxFQUNGO2dCQUNJLE9BQU8sRUFBRTtvQkFDTCxhQUFhLEVBQUUsVUFBVSxJQUFJLENBQUMsa0JBQWtCLEVBQUUsQ0FBQyxLQUFLLEVBQUU7aUJBQzdEO2FBQ0osQ0FDSjtZQUNILENBQUMsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLENBQ2pCLENBQ0osQ0FDSixDQUFDO1FBQ1EsaUJBQVksR0FBRyxRQUFRLENBQUMsR0FBRyxFQUFFLENBQ25DLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQyxZQUFZLENBQUM7WUFDNUIsQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDLFlBQVksQ0FBQyxJQUFJLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQyxhQUFhLENBQUMsRUFBRTtZQUM1RSxDQUFDLENBQUMsU0FBUyxDQUNsQixDQUFDO1FBQ1EsaUJBQVksR0FBRyxRQUFRLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxFQUFFLFVBQVUsQ0FBQyxDQUFDO1FBQ3ZELGlCQUFZLEdBQUcsUUFBUSxDQUM3QixHQUFHLEVBQUUsQ0FDRCxJQUFJLEdBQUcsQ0FBQztZQUNKLENBQUMsUUFBUSxFQUFFLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLENBQUM7WUFDOUMsQ0FBQyxRQUFRLEVBQUUsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsQ0FBQztZQUM5QyxDQUFDLE9BQU8sRUFBRSxJQUFJLENBQUMsSUFBSSxFQUFFLEVBQUUsYUFBYSxJQUFJLEVBQUUsQ0FBQztTQUM5QyxDQUFDLENBQ1QsQ0FBQztRQUNRLGlCQUFZLEdBQUcsUUFBUSxDQUFDLEdBQUcsRUFBRSxDQUNuQyxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLGNBQWMsR0FBRyxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FDcEYsQ0FBQztRQUVRLG1CQUFjLEdBQUcsUUFBUSxDQUFDLEdBQUcsRUFBRTtZQUNyQyxJQUFJLElBQUksQ0FBQyxJQUFJLEVBQUUsRUFBRSxVQUFVO2dCQUFFLE9BQU8sU0FBUyxDQUFDO2lCQUN6QyxJQUFJLElBQUksQ0FBQyxJQUFJLEVBQUUsRUFBRSxXQUFXO2dCQUFFLE9BQU8sUUFBUSxDQUFDO2lCQUM5QyxJQUFJLElBQUksQ0FBQyxJQUFJLEVBQUUsRUFBRSxxQkFBcUI7Z0JBQUUsT0FBTyxVQUFVLENBQUM7WUFDL0QsT0FBTyxJQUFJLENBQUM7UUFDaEIsQ0FBQyxDQUFDLENBQUM7UUFFTyw4QkFBeUIsR0FBRyxRQUFRLENBQUMsR0FBRyxFQUFFO1lBQ2hELElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQztnQkFDZixPQUFPLElBQUksQ0FBQztZQUNoQixDQUFDO1lBRUQsSUFBSSxXQUFXLEdBQUcsRUFBRSxDQUFDO1lBQ3JCLElBQUksSUFBSSxDQUFDLElBQUksRUFBRyxDQUFDLFVBQVUsRUFBRSxDQUFDO2dCQUMxQixXQUFXLEdBQUcsU0FBUyxDQUFDO1lBQzVCLENBQUM7aUJBQU0sSUFBSSxJQUFJLENBQUMsSUFBSSxFQUFHLENBQUMsV0FBVyxFQUFFLENBQUM7Z0JBQ2xDLFdBQVcsR0FBRyxRQUFRLENBQUM7WUFDM0IsQ0FBQztpQkFBTSxJQUFJLElBQUksQ0FBQyxJQUFJLEVBQUcsQ0FBQyxxQkFBcUIsRUFBRSxDQUFDO2dCQUM1QyxXQUFXLEdBQUcsVUFBVSxDQUFDO1lBQzdCLENBQUM7WUFFRCxJQUFJLElBQUksQ0FBQyxJQUFJLEVBQUcsQ0FBQyw2QkFBNkIsRUFBRSxDQUFDO2dCQUM3QyxXQUFXLElBQUksSUFBSSxJQUFJLENBQUMsSUFBSSxFQUFHLENBQUMsNkJBQTZCLFdBQVcsQ0FBQztZQUM3RSxDQUFDO1lBRUQsT0FBTyxXQUFXLElBQUksSUFBSSxDQUFDO1FBQy9CLENBQUMsQ0FBQyxDQUFDO1FBRU8sMkJBQXNCLEdBQUcsUUFBUSxDQUN2QyxhQUFhLENBQUMsQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxFQUFFLFlBQVksQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FDbEYsU0FBUyxDQUFDLENBQUMsQ0FBQyxTQUFTLEVBQUUsZUFBZSxDQUFDLEVBQUUsRUFBRSxDQUN2QyxTQUFTLElBQUksZUFBZTtZQUN4QixDQUFDLENBQUMsSUFBSSxDQUFDLElBQUk7aUJBQ0osR0FBRyxDQUNBLE1BQU0sQ0FBQyxJQUFJLENBQUMsYUFBYSxFQUFFLEVBQUUsK0JBQStCLEVBQUU7Z0JBQzFELFNBQVM7YUFDWixDQUFDLEVBQ0Y7Z0JBQ0ksT0FBTyxFQUFFO29CQUNMLGFBQWEsRUFBRSxVQUFVLElBQUksQ0FBQyxrQkFBa0IsRUFBRSxDQUFDLEtBQUssRUFBRTtpQkFDN0Q7YUFDSixDQUNKO2lCQUNBLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxRQUFRLEVBQUUsRUFBRSxDQUFDLFFBQVEsRUFBRSxXQUFXLENBQUMsQ0FBQztZQUNyRCxDQUFDLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUNqQixDQUNKLENBQ0osQ0FBQztRQUNRLG9CQUFlLEdBQUcsUUFBUSxDQUNoQyxZQUFZLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxDQUFDLElBQUksQ0FDbkMsU0FBUyxDQUFDLENBQUMsZUFBZSxFQUFFLEVBQUU7WUFDMUIsSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDO2dCQUNuQixPQUFPLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUNwQixDQUFDO1lBQ0QsT0FBTyxJQUFJLENBQUMsSUFBSTtpQkFDWCxHQUFHLENBQW1CLE1BQU0sQ0FBQyxJQUFJLENBQUMsaUJBQWlCLEVBQUUsRUFBRSxvQkFBb0IsQ0FBQyxFQUFFO2dCQUMzRSxPQUFPLEVBQUU7b0JBQ0wsYUFBYSxFQUFFLFVBQVUsSUFBSSxDQUFDLGtCQUFrQixFQUFFLENBQUMsS0FBSyxFQUFFO2lCQUM3RDthQUNKLENBQUM7aUJBQ0QsSUFBSSxDQUNELEdBQUcsQ0FBQyxDQUFDLFFBQVEsRUFBRSxFQUFFO2dCQUNiLE1BQU0sZUFBZSxHQUFHO29CQUNwQixFQUFFLEVBQUUsRUFBeUI7b0JBQzdCLE9BQU8sRUFBRSxFQUF5QjtvQkFDbEMsSUFBSSxFQUFFLEVBQXlCO2lCQUNsQyxDQUFDO2dCQUVGLE1BQU0sQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLFlBQVksQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFO29CQUNqRCxRQUFRLEdBQUcsQ0FBQyxNQUFNLEVBQUUsQ0FBQzt3QkFDakIsS0FBSyxZQUFZLENBQUMsRUFBRTs0QkFDaEIsZUFBZSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7NEJBQzdCLE1BQU07d0JBQ1YsS0FBSyxZQUFZLENBQUMsT0FBTzs0QkFDckIsZUFBZSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7NEJBQ2xDLE1BQU07d0JBQ1YsS0FBSyxZQUFZLENBQUMsSUFBSTs0QkFDbEIsZUFBZSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7NEJBQy9CLE1BQU07b0JBQ2QsQ0FBQztnQkFDTCxDQUFDLENBQUMsQ0FBQztnQkFFSCxPQUFPLGVBQWUsQ0FBQztZQUMzQixDQUFDLENBQUMsQ0FDTCxDQUFDO1FBQ1YsQ0FBQyxDQUFDLENBQ0wsQ0FDSixDQUFDO0tBQ0w7OEdBeElZLDRCQUE0QjtrR0FBNUIsNEJBQTRCLDZsQkNsRHpDLGl5VEFrTEEsOGdRRHJJYyxZQUFZLHVKQUFFLG9CQUFvQjs7MkZBS25DLDRCQUE0QjtrQkFQeEMsU0FBUztpQ0FDTSxJQUFJLFdBQ1AsQ0FBQyxZQUFZLEVBQUUsb0JBQW9CLENBQUMsWUFDbkMsMEJBQTBCOzhCQVMxQixnQkFBZ0I7c0JBQXpCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIGNvbXB1dGVkLCBFdmVudEVtaXR0ZXIsIGluamVjdCwgaW5wdXQsIE91dHB1dCwgU2lnbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBtYXAsIHN3aXRjaE1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7XG4gICAgQWNjZXNzU3RhdHVzLFxuICAgIEFjY291bnRzUmVzcG9uc2UsXG4gICAgdHlwZSBBcHBsaWNhdGlvbkFjY2Vzcyxcbn0gZnJvbSAnLi9tb2RlbHMvYXBwbGljYXRpb24tYWNjZXNzJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBUb2tlblBheWxvYWQgfSBmcm9tICcuLi9tb2RlbHMvdG9rZW4tcGF5bG9hZCc7XG5pbXBvcnQgeyBqd3REZWNvZGUsIEp3dFBheWxvYWQgfSBmcm9tICdqd3QtZGVjb2RlJztcbmltcG9ydCB7IHRvT2JzZXJ2YWJsZSwgdG9TaWduYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlL3J4anMtaW50ZXJvcCc7XG5pbXBvcnQgeyBIdHRwQ2xpZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHsgSW5kZXBlbmRlbnRTdHVkeVJlc3BvbnNlLCBQZXJzb25TdW1tYXJ5IH0gZnJvbSAnLi9tb2RlbHMvcGVyc29uLXN1bW1hcnknO1xuaW1wb3J0IHVybGNhdCBmcm9tICd1cmxjYXQnO1xuaW1wb3J0IHsgY29tYmluZUxhdGVzdCwgb2YgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IENvcHlUb29sdGlwQ29tcG9uZW50IH0gZnJvbSAnLi4vY29weS10b29sdGlwL2NvcHktdG9vbHRpcC5jb21wb25lbnQnO1xuXG5jb25zdCBVU0VSX1BIT1RPX1VSTCA9ICdodHRwczovL3kuYnl1LmVkdS9yeS9hZS9wcm9kL3BlcnNvbi9jZ2kvcGVyc29uUGhvdG8uY2dpP249JztcbmNvbnN0IFBFUlNPTl9TVU1NQVJZX1BBVEggPSAnL3N1bW1hcnkvOmxpYnJhcnlJZC8nO1xuY29uc3QgSU5ERVBFTkRFTlRfU1RVRFlfUkVTUE9OU0VfUEFUSCA9ICcvaW5kZXBlbmRlbnQtc3R1ZHkvOmxpYnJhcnlJZC8nO1xuY29uc3QgUEFUUk9OX0FDQ09VTlRTX1BBVEggPSAnL3BhdHJvbi9hY2NvdW50cyc7XG5cbi8qKlxuICogQHRvZG86IFJlZmFjdG9yOiBteSByZWNvbW1lbmRhdGlvbiB3b3VsZCBiZSB0byBhbGxvdyBhIHVzZXIgdG8gYmUgcGFzc2VkIGludG8gdGhpcyBjb21wb25lbnQgdmlhIGFuIGlucHV0IGluc3RlYWQgb2YgdGhlIHVzZXJzIGNvbWluZyBmcm9tIGFuIEFQSSBjYWxsIGJhc2VkIG9uIHRoZSBKV1QgcGFzc2VkIGluLiBUaGlzIG1pZ2h0IGxvb2sgc29tZXRoaW5nIGxpa2U6XG4gKiAgYGBgXG4gKiAgICDvvKBJbnB1dCgpIHVzZXI6IHtcbiAqICAgICAgcHJpbWFyeV9wb3NpdGlvbl90eXBlX2Rpc3BsYXk/OiBzdHJpbmdcbiAqICAgICAgdW5kZXJncmFkX2dyYWR1YXRlX3N0YXR1cz86IHN0cmluZ1xuICogICAgICByZXN0cmljdGVkPzogYm9vbGVhblxuICogICAgICBpc19yZXRpcmVkPzogYm9vbGVhblxuICogICAgICBpc19lbXBsb3llZT86IGJvb2xlYW5cbiAqICAgICAgcHJpbWFyeV9wb3NpdGlvbl90eXBlPzogc3RyaW5nXG4gKiAgICB9XG4gKiBgYGBcbiAqIEFjY2VwdGluZyBhbGwgcHJvcGVydGllcyB0aGF0IGFyZSB1c2VkIGluIHRoaXMgY29tcG9uZW50IHdpdGhvdXQgbmVlZGluZyB0byBicmluZyBpbiB0aGUgdXNlciB0eXBlIGV4cGxpY2l0bHkuIE9yIHRoZSBwcm9wZXJ0aWVzIG9uIHRoaXMgdXNlciBvYmplY3QgY291bGQgYmUgbWFkZSBldmVuIG1vcmUgZ2VuZXJhbCBhcyB0byBub3QgYmUgdGllZCBhdCBhbGwgdG8gYW55IHNwZWNpZmljIHR5cGUuXG4gKlxuICogU29tZXRoaW5nIHNpbWlsYXIgY291bGQgYmUgZG9uZSB3aXRoIGBhY2NvdW50U3RhdHVzZXNgLiBJJ2QgcmVjb21tZW5kIHRoZSBjb25zdW1pbmcgYXBwbGljYXRpb24gcHJlcGFyZSBhcnJheXMgb2Ygc3RyaW5ncyB0byBiZSBwYXNzZWQgaW50byBpbnB1dHMgb2YgYGFjY291bnRzT2tgLCBgYWNjb3VudHNCbG9ja2VkYCwgYW5kIGBhY2NvdW50c05vbmVgLCB0aGF0IGFyZSB0aGVuIHBhc3NlZCBpbnRvIGFuZCBkaXNwbGF5ZWQgaW4gdGhlIHRlbXBsYXRlLlxuICpcbiAqIFRoZSBpZGVhIGJlaGluZCB0aGVzZSByZXZpc2lvbnMgaXMgdGhhdCB0aGVyZSBpcyBsZXNzIGJ1c2luZXNzIGxvZ2ljIGJha2VkIGludG8gdGhpcyBjb21wb25lbnQsIGFzIGl0J3Mgcm9sZSBpcyBqdXN0IG9uZSBvZiBwcmVzZW50YXRpb24uIEl0IHdpbGwgYWxzbyBhdm9pZCBtdWx0aXBsZSBBUEkgY2FsbHMgZm9yIHRoZSBzYW1lIGRhdGEgaW4gb3VyIGJpZyBBbmd1bGFyIGFwcHMuXG4gKlxuICogQmVzdCBvZiBsdWNrLFxuICogUGF1bFxuICovXG5AQ29tcG9uZW50KHtcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIENvcHlUb29sdGlwQ29tcG9uZW50XSxcbiAgICBzZWxlY3RvcjogJ2xpYi1pbXBlcnNvbmF0aW9uLWJhbm5lcicsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2ltcGVyc29uYXRpb24tYmFubmVyLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9pbXBlcnNvbmF0aW9uLWJhbm5lci5jb21wb25lbnQuc2NzcyddLFxufSlcbmV4cG9ydCBjbGFzcyBJbXBlcnNvbmF0aW9uQmFubmVyQ29tcG9uZW50IHtcbiAgICBwcml2YXRlIGh0dHAgPSBpbmplY3QoSHR0cENsaWVudCk7XG4gICAgYWNjZXNzVG9rZW5QYXlsb2FkID0gaW5wdXQucmVxdWlyZWQ8VG9rZW5QYXlsb2FkPigpO1xuICAgIHBlcnNvbkJhc2VVcmkgPSBpbnB1dCgnaHR0cHM6Ly9hcHBzLmxpYi5ieXUuZWR1L3BlcnNvbi92Mi8nKTtcbiAgICBsaWJyYXJ5QXBpQmFzZVVyaSA9IGlucHV0KCdodHRwczovL2FwaS5saWIuYnl1LmVkdS92MScpO1xuICAgIEBPdXRwdXQoKSBlbmRJbXBlcnNvbmF0aW9uID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55XG4gICAgcHJvdGVjdGVkIHBhcnNlZFRva2VuOiBTaWduYWw8Snd0UGF5bG9hZCAmIFJlY29yZDxzdHJpbmcsIGFueT4+ID0gY29tcHV0ZWQoKCkgPT5cbiAgICAgICAgdGhpcy5hY2Nlc3NUb2tlblBheWxvYWQoKS50b2tlbiA/IGp3dERlY29kZSh0aGlzLmFjY2Vzc1Rva2VuUGF5bG9hZCgpLnRva2VuKSA6IHt9LFxuICAgICk7XG4gICAgcHJvdGVjdGVkIGlzSW1wZXJzb25hdGluZyA9IGNvbXB1dGVkKCgpID0+ICEhdGhpcy5wYXJzZWRUb2tlbigpWydpbXBlcnNvbmF0b3InXSk7XG4gICAgcHJvdGVjdGVkIGxpYnJhcnlJZCA9IGNvbXB1dGVkKCgpID0+IHRoaXMucGFyc2VkVG9rZW4oKVsnbGlicmFyeV9pZCddKTtcbiAgICBwcm90ZWN0ZWQgdXNlciA9IHRvU2lnbmFsKFxuICAgICAgICBjb21iaW5lTGF0ZXN0KFt0b09ic2VydmFibGUodGhpcy5saWJyYXJ5SWQpLCB0b09ic2VydmFibGUodGhpcy5pc0ltcGVyc29uYXRpbmcpXSkucGlwZShcbiAgICAgICAgICAgIHN3aXRjaE1hcCgoW2xpYnJhcnlJZCwgaXNJbXBlcnNvbmF0aW5nXSkgPT5cbiAgICAgICAgICAgICAgICBsaWJyYXJ5SWQgJiYgaXNJbXBlcnNvbmF0aW5nXG4gICAgICAgICAgICAgICAgICAgID8gdGhpcy5odHRwLmdldDxQZXJzb25TdW1tYXJ5PihcbiAgICAgICAgICAgICAgICAgICAgICAgICAgdXJsY2F0KHRoaXMucGVyc29uQmFzZVVyaSgpLCBQRVJTT05fU1VNTUFSWV9QQVRILCB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWJyYXJ5SWQsXG4gICAgICAgICAgICAgICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoZWFkZXJzOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQXV0aG9yaXphdGlvbjogYEJlYXJlciAke3RoaXMuYWNjZXNzVG9rZW5QYXlsb2FkKCkudG9rZW59YCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgICAgICA6IG9mKG51bGwpLFxuICAgICAgICAgICAgKSxcbiAgICAgICAgKSxcbiAgICApO1xuICAgIHByb3RlY3RlZCB1c2VyRnVsbE5hbWUgPSBjb21wdXRlZCgoKSA9PlxuICAgICAgICB0aGlzLnBhcnNlZFRva2VuKClbJ2dpdmVuX25hbWUnXVxuICAgICAgICAgICAgPyBgJHt0aGlzLnBhcnNlZFRva2VuKClbJ2dpdmVuX25hbWUnXX0gJHt0aGlzLnBhcnNlZFRva2VuKClbJ2ZhbWlseV9uYW1lJ119YFxuICAgICAgICAgICAgOiAnVW5rbm93bicsXG4gICAgKTtcbiAgICBwcm90ZWN0ZWQgaXNSZXN0cmljdGVkID0gY29tcHV0ZWQoKCkgPT4gdGhpcy51c2VyKCk/LnJlc3RyaWN0ZWQpO1xuICAgIHByb3RlY3RlZCB1c2VySW5mb1RhYnMgPSBjb21wdXRlZChcbiAgICAgICAgKCkgPT5cbiAgICAgICAgICAgIG5ldyBNYXAoW1xuICAgICAgICAgICAgICAgIFsnTmV0IElEJywgdGhpcy5wYXJzZWRUb2tlbigpWyduZXRfaWQnXSA/PyAnJ10sXG4gICAgICAgICAgICAgICAgWydCWVUgSUQnLCB0aGlzLnBhcnNlZFRva2VuKClbJ2J5dV9pZCddID8/ICcnXSxcbiAgICAgICAgICAgICAgICBbJ0VtYWlsJywgdGhpcy51c2VyKCk/LmVtYWlsX2FkZHJlc3MgPz8gJyddLFxuICAgICAgICAgICAgXSksXG4gICAgKTtcbiAgICBwcm90ZWN0ZWQgdXNlclBob3RvVXJsID0gY29tcHV0ZWQoKCkgPT5cbiAgICAgICAgdGhpcy5wYXJzZWRUb2tlbigpWyduZXRfaWQnXSA/IFVTRVJfUEhPVE9fVVJMICsgdGhpcy5wYXJzZWRUb2tlbigpWyduZXRfaWQnXSA6ICcnLFxuICAgICk7XG5cbiAgICBwcm90ZWN0ZWQgYWN0aXZpdHlTdGF0dXMgPSBjb21wdXRlZCgoKSA9PiB7XG4gICAgICAgIGlmICh0aGlzLnVzZXIoKT8uaXNfcmV0aXJlZCkgcmV0dXJuICdyZXRpcmVkJztcbiAgICAgICAgZWxzZSBpZiAodGhpcy51c2VyKCk/LmlzX2VtcGxveWVlKSByZXR1cm4gJ2FjdGl2ZSc7XG4gICAgICAgIGVsc2UgaWYgKHRoaXMudXNlcigpPy5wcmltYXJ5X3Bvc2l0aW9uX3R5cGUpIHJldHVybiAnaW5hY3RpdmUnO1xuICAgICAgICByZXR1cm4gbnVsbDtcbiAgICB9KTtcblxuICAgIHByb3RlY3RlZCBlbXBsb3llZVN0YXR1c0Rlc2NyaXB0aW9uID0gY29tcHV0ZWQoKCkgPT4ge1xuICAgICAgICBpZiAoIXRoaXMudXNlcigpKSB7XG4gICAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgfVxuXG4gICAgICAgIGxldCBkZXNjcmlwdGlvbiA9ICcnO1xuICAgICAgICBpZiAodGhpcy51c2VyKCkhLmlzX3JldGlyZWQpIHtcbiAgICAgICAgICAgIGRlc2NyaXB0aW9uID0gJ1JldGlyZWQnO1xuICAgICAgICB9IGVsc2UgaWYgKHRoaXMudXNlcigpIS5pc19lbXBsb3llZSkge1xuICAgICAgICAgICAgZGVzY3JpcHRpb24gPSAnQWN0aXZlJztcbiAgICAgICAgfSBlbHNlIGlmICh0aGlzLnVzZXIoKSEucHJpbWFyeV9wb3NpdGlvbl90eXBlKSB7XG4gICAgICAgICAgICBkZXNjcmlwdGlvbiA9ICdJbmFjdGl2ZSc7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAodGhpcy51c2VyKCkhLnByaW1hcnlfcG9zaXRpb25fdHlwZV9kaXNwbGF5KSB7XG4gICAgICAgICAgICBkZXNjcmlwdGlvbiArPSBgICR7dGhpcy51c2VyKCkhLnByaW1hcnlfcG9zaXRpb25fdHlwZV9kaXNwbGF5fSBFbXBsb3llZWA7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gZGVzY3JpcHRpb24gPz8gbnVsbDtcbiAgICB9KTtcblxuICAgIHByb3RlY3RlZCBpbmRlcGVuZGVudFN0dWR5U3RhdHVzID0gdG9TaWduYWwoXG4gICAgICAgIGNvbWJpbmVMYXRlc3QoW3RvT2JzZXJ2YWJsZSh0aGlzLmxpYnJhcnlJZCksIHRvT2JzZXJ2YWJsZSh0aGlzLmlzSW1wZXJzb25hdGluZyldKS5waXBlKFxuICAgICAgICAgICAgc3dpdGNoTWFwKChbbGlicmFyeUlkLCBpc0ltcGVyc29uYXRpbmddKSA9PlxuICAgICAgICAgICAgICAgIGxpYnJhcnlJZCAmJiBpc0ltcGVyc29uYXRpbmdcbiAgICAgICAgICAgICAgICAgICAgPyB0aGlzLmh0dHBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgLmdldDxJbmRlcGVuZGVudFN0dWR5UmVzcG9uc2U+KFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdXJsY2F0KHRoaXMucGVyc29uQmFzZVVyaSgpLCBJTkRFUEVOREVOVF9TVFVEWV9SRVNQT05TRV9QQVRILCB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlicmFyeUlkLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGVhZGVyczoge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBBdXRob3JpemF0aW9uOiBgQmVhcmVyICR7dGhpcy5hY2Nlc3NUb2tlblBheWxvYWQoKS50b2tlbn1gLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgICAgICAgICAgIC5waXBlKG1hcCgocmVzcG9uc2UpID0+IHJlc3BvbnNlPy5pc19lbnJvbGxlZCkpXG4gICAgICAgICAgICAgICAgICAgIDogb2YobnVsbCksXG4gICAgICAgICAgICApLFxuICAgICAgICApLFxuICAgICk7XG4gICAgcHJvdGVjdGVkIGFjY291bnRTdGF0dXNlcyA9IHRvU2lnbmFsKFxuICAgICAgICB0b09ic2VydmFibGUodGhpcy5pc0ltcGVyc29uYXRpbmcpLnBpcGUoXG4gICAgICAgICAgICBzd2l0Y2hNYXAoKGlzSW1wZXJzb25hdGluZykgPT4ge1xuICAgICAgICAgICAgICAgIGlmICghaXNJbXBlcnNvbmF0aW5nKSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBvZihudWxsKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMuaHR0cFxuICAgICAgICAgICAgICAgICAgICAuZ2V0PEFjY291bnRzUmVzcG9uc2U+KHVybGNhdCh0aGlzLmxpYnJhcnlBcGlCYXNlVXJpKCksIFBBVFJPTl9BQ0NPVU5UU19QQVRIKSwge1xuICAgICAgICAgICAgICAgICAgICAgICAgaGVhZGVyczoge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIEF1dGhvcml6YXRpb246IGBCZWFyZXIgJHt0aGlzLmFjY2Vzc1Rva2VuUGF5bG9hZCgpLnRva2VufWAsXG4gICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hcCgoYWNjb3VudHMpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBhY2NvdW50U3RhdHVzZXMgPSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9rOiBbXSBhcyBBcHBsaWNhdGlvbkFjY2Vzc1tdLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBibG9ja2VkOiBbXSBhcyBBcHBsaWNhdGlvbkFjY2Vzc1tdLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBub25lOiBbXSBhcyBBcHBsaWNhdGlvbkFjY2Vzc1tdLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH07XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBPYmplY3QudmFsdWVzKGFjY291bnRzLmFwcGxpY2F0aW9ucykuZm9yRWFjaCgoYXBwKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN3aXRjaCAoYXBwLmFjY2Vzcykge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2FzZSBBY2Nlc3NTdGF0dXMuT0s6XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYWNjb3VudFN0YXR1c2VzLm9rLnB1c2goYXBwKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNhc2UgQWNjZXNzU3RhdHVzLkJMT0NLRUQ6XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYWNjb3VudFN0YXR1c2VzLmJsb2NrZWQucHVzaChhcHApO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2FzZSBBY2Nlc3NTdGF0dXMuTk9ORTpcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhY2NvdW50U3RhdHVzZXMubm9uZS5wdXNoKGFwcCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBhY2NvdW50U3RhdHVzZXM7XG4gICAgICAgICAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIH0pLFxuICAgICAgICApLFxuICAgICk7XG59XG4iLCJAaWYgKGlzSW1wZXJzb25hdGluZygpKSB7XG4gICAgPGRpdiBjbGFzcz1cImJhbm5lci1wYWRkaW5nXCI+PC9kaXY+XG4gICAgPGRpdiBjbGFzcz1cInRvcC1iYW5uZXJcIiBkYXRhLXRlc3RpZD1cImJhbm5lclwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiYmFubmVyLWdyb3VwIHByb2ZpbGUtbmFtZS1jb250YWluZXJcIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJwcm9maWxlLWF2YXRhclwiPlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJwcm9maWxlLWltYWdlXCI+XG4gICAgICAgICAgICAgICAgICAgIDxpbWdcbiAgICAgICAgICAgICAgICAgICAgICAgIFtzcmNdPVwidXNlclBob3RvVXJsKClcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW2FsdF09XCJ1c2VyRnVsbE5hbWUoKVwiXG4gICAgICAgICAgICAgICAgICAgICAgICBhbHQ9XCJ1c2VyIHBob3RvXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIG9uZXJyb3I9XCJ0aGlzLnJlbW92ZSgpXCJcbiAgICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cIm1hdGVyaWFsLXN5bWJvbHMtb3V0bGluZWQgcHJvZmlsZS1pY29uXCI+IHBlcnNvbiA8L3NwYW4+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJwcm9maWxlLW5hbWUtZ3JvdXBcIj5cbiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInNvZnRcIj5JbXBlcnNvbmF0aW5nPC9zcGFuPlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJwcm9maWxlLW5hbWUtd3JhcHBlclwiPlxuICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInByb2ZpbGUtbmFtZVwiPnt7IHVzZXJGdWxsTmFtZSgpIH19PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICBAaWYgKGFjY291bnRTdGF0dXNlcygpKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYXBwbGljYXRpb24tc3RhdHVzLWJhclwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIEBpZiAoYWNjb3VudFN0YXR1c2VzKCkhLm9rLmxlbmd0aCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYXBwbGljYXRpb24tc3RhdHVzLWluZGljYXRvclwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJhcHBsaWNhdGlvbi1zdGF0dXMtb2sgYXBwbGljYXRpb24tc3RhdHVzXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJtYXRlcmlhbC1zeW1ib2xzLW91dGxpbmVkIGljb24tY2hlY2ttYXJrXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNoZWNrXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiYXBwbGljYXRpb24tY291bnRcIj57e1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhY2NvdW50U3RhdHVzZXMoKSEub2subGVuZ3RoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfX08L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3RhdHVzLXRvb2x0aXAtY29udGFpbmVyXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInN0YXR1cy10b29sdGlwXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE9LIEFwcGxpY2F0aW9uc1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aHIgLz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQGZvciAoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhcHBsaWNhdGlvbiBvZiBhY2NvdW50U3RhdHVzZXMoKSEub2s7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0cmFjayBhcHBsaWNhdGlvbi5sYWJlbFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJhcHBsaWNhdGlvbi1zdGF0dXNcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cIm1hdGVyaWFsLXN5bWJvbHMtb3V0bGluZWQgaWNvbi1jaGVja21hcmtcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2hlY2tcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4+e3sgYXBwbGljYXRpb24ubGFiZWwgfX08L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBAaWYgKGFjY291bnRTdGF0dXNlcygpIS5ibG9ja2VkLmxlbmd0aCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYXBwbGljYXRpb24tc3RhdHVzLWluZGljYXRvclwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJhcHBsaWNhdGlvbi1zdGF0dXMtYmxvY2tlZCBhcHBsaWNhdGlvbi1zdGF0dXNcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cIm1hdGVyaWFsLXN5bWJvbHMtb3V0bGluZWQgaWNvbi13YXJuaW5nXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdhcm5pbmdcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJhcHBsaWNhdGlvbi1jb3VudFwiPnt7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFjY291bnRTdGF0dXNlcygpIS5ibG9ja2VkLmxlbmd0aFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH19PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInN0YXR1cy10b29sdGlwLWNvbnRhaW5lclwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzdGF0dXMtdG9vbHRpcFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBCbG9ja2VkIEFwcGxpY2F0aW9uc1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aHIgLz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQGZvciAoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhcHBsaWNhdGlvbiBvZiBhY2NvdW50U3RhdHVzZXMoKSEuYmxvY2tlZDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRyYWNrIGFwcGxpY2F0aW9uLmNvZGVcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYXBwbGljYXRpb24tc3RhdHVzXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJtYXRlcmlhbC1zeW1ib2xzLW91dGxpbmVkIGljb24td2FybmluZ1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3YXJuaW5nXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuPnt7IGFwcGxpY2F0aW9uLmxhYmVsIH19PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgQGlmIChhY2NvdW50U3RhdHVzZXMoKSEubm9uZS5sZW5ndGgpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImFwcGxpY2F0aW9uLXN0YXR1cy1pbmRpY2F0b3JcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiYXBwbGljYXRpb24tc3RhdHVzLW5vbmUgYXBwbGljYXRpb24tc3RhdHVzXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJtYXRlcmlhbC1zeW1ib2xzLW91dGxpbmVkIGljb24tbG9ja1wiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsb2NrXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiYXBwbGljYXRpb24tY291bnRcIj57e1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhY2NvdW50U3RhdHVzZXMoKSEubm9uZS5sZW5ndGhcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9fTwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzdGF0dXMtdG9vbHRpcC1jb250YWluZXJcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3RhdHVzLXRvb2x0aXBcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTm8gQWNjb3VudFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aHIgLz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQGZvciAoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhcHBsaWNhdGlvbiBvZiBhY2NvdW50U3RhdHVzZXMoKSEubm9uZTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRyYWNrIGFwcGxpY2F0aW9uLmxhYmVsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImFwcGxpY2F0aW9uLXN0YXR1c1wiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwibWF0ZXJpYWwtc3ltYm9scy1vdXRsaW5lZCBpY29uLWxvY2tcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbG9ja1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3Bhbj57eyBhcHBsaWNhdGlvbi5sYWJlbCB9fTwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzcz1cInByb2ZpbGUtZGV0YWlscy1jb250YWluZXIgYmFubmVyLWdyb3VwXCI+XG4gICAgICAgICAgICBAZm9yIChkZXRhaWwgb2YgdXNlckluZm9UYWJzKCkgfCBrZXl2YWx1ZTsgdHJhY2sgZGV0YWlsLmtleSkge1xuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJwcm9maWxlLWRldGFpbFwiPlxuICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInNvZnQgbGFiZWxcIj57eyBkZXRhaWwua2V5IH19PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICA8bGliLWNvcHktdG9vbHRpcCBbY29weVRleHRdPVwiZGV0YWlsLnZhbHVlXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicHJvZmlsZS1kZXRhaWwtdGFnIHdoaXRlLXRhZyBjbGlja2FibGVcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7eyBkZXRhaWwudmFsdWUgfHwgJ1Vua25vd24nIH19XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPC9saWItY29weS10b29sdGlwPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgfVxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzcz1cInByb2ZpbGUtZGV0YWlscy1jb250YWluZXIgYmFubmVyLWdyb3VwXCI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwicHJvZmlsZS1kZXRhaWxcIj5cbiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInNvZnQgbGFiZWxcIj5TdGF0dXM8L3NwYW4+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm11bHRpcGxlLWRldGFpbC10YWdzXCI+XG4gICAgICAgICAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwicHJvZmlsZS1kZXRhaWwtdGFnIGNvbG9yLXRhZ1wiXG4gICAgICAgICAgICAgICAgICAgICAgICB0aXRsZT1cInt7IGVtcGxveWVlU3RhdHVzRGVzY3JpcHRpb24oKSB9fVwiXG4gICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgIHt7IHVzZXIoKT8ucHJpbWFyeV9wb3NpdGlvbl90eXBlX2Rpc3BsYXkgPz8gJ05vbi1lbXBsb3llZScgfX1cbiAgICAgICAgICAgICAgICAgICAgICAgIEBpZiAoYWN0aXZpdHlTdGF0dXMoKSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwicHJvZmlsZS1zdGF0dXMtY2lyY2xlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2NsYXNzLnN0YXR1cy1hY3RpdmVdPVwiYWN0aXZpdHlTdGF0dXMoKSA9PT0gJ2FjdGl2ZSdcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbY2xhc3Muc3RhdHVzLWluYWN0aXZlXT1cImFjdGl2aXR5U3RhdHVzKCkgPT09ICdpbmFjdGl2ZSdcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbY2xhc3Muc3RhdHVzLXJldGlyZWRdPVwiYWN0aXZpdHlTdGF0dXMoKSA9PT0gJ3JldGlyZWQnXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA+PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInByb2ZpbGUtZGV0YWlsLXRhZyBjb2xvci10YWdcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIHt7ICh1c2VyKCk/LnVuZGVyZ3JhZF9ncmFkdWF0ZV9zdGF0dXMgfCB0aXRsZWNhc2UpIHx8ICdOb24tc3R1ZGVudCcgfX1cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJwcm9maWxlLWRldGFpbC10YWcgY29sb3ItdGFnXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICB7eyBpbmRlcGVuZGVudFN0dWR5U3RhdHVzKCkgPyAnSW5kZXBlbmRlbnQgU3R1ZHknIDogJ05vIEluZC4gU3R1ZHknIH19XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzPVwic3BhY2VyXCI+PC9kaXY+XG4gICAgICAgIDxidXR0b24gY2xhc3M9XCJlbmQtaW1wZXJzb25hdGlvbi1idXR0b24gc2hhZG93XCIgKGNsaWNrKT1cInRoaXMuZW5kSW1wZXJzb25hdGlvbi5lbWl0KClcIj5cbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwibWF0ZXJpYWwtc3ltYm9scy1vdXRsaW5lZCBpY29uXCI+IGNsb3NlIDwvc3Bhbj5cbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZXhpdC10ZXh0XCI+RXhpdDwvc3Bhbj5cbiAgICAgICAgPC9idXR0b24+XG4gICAgPC9kaXY+XG4gICAgQGlmIChpc1Jlc3RyaWN0ZWQoKSkge1xuICAgICAgICA8ZGl2IGNsYXNzPVwicmVzdHJpY3RlZC1iYXItcGFkZGluZ1wiPjwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzPVwicmVzdHJpY3RlZC1iYXJcIj5cbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwidGl0bGVcIj5yZXN0cmljdGVkIHBlcnNvbjwvc3Bhbj5cbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwidGV4dFwiPlxuICAgICAgICAgICAgICAgIElmIGFueW9uZSBhc2tzIGFib3V0IHRoaXMgcGVyc29uLCB5b3UgYXJlIGluc3RydWN0ZWQgdG8gcmVzcG9uZCxcbiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImVtcGhhc2l6ZVwiPlwiV2UgaGF2ZSBubyByZWNvcmRzIGZvciB0aGlzIHBlcnNvbi5cIjwvc3Bhbj5cbiAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgPC9kaXY+XG4gICAgfVxuICAgIDxkaXYgY2xhc3M9XCJyaWdodC1ib3JkZXJcIj48L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPVwiYm90dG9tLWJvcmRlclwiPjwvZGl2PlxuICAgIDxkaXYgY2xhc3M9XCJsZWZ0LWJvcmRlclwiPjwvZGl2PlxufVxuIl19