@eo-sdk/client 11.0.0-beta.1 → 11.0.0-rc.2

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.
Files changed (94) hide show
  1. package/app/eo-client/about-state/about-state.component.d.ts.map +1 -1
  2. package/app/eo-client/dashboard/dashboard.component.d.ts.map +1 -1
  3. package/app/eo-client/dashboard/widgets/charts-widget/charts-setup/charts-setup.component.d.ts +7 -5
  4. package/app/eo-client/dashboard/widgets/charts-widget/charts-setup/charts-setup.component.d.ts.map +1 -1
  5. package/app/eo-client/dashboard/widgets/charts-widget/charts-widget.component.d.ts +2 -0
  6. package/app/eo-client/dashboard/widgets/charts-widget/charts-widget.component.d.ts.map +1 -1
  7. package/app/eo-client/dashboard/widgets/charts-widget/icharts.d.ts +2 -0
  8. package/app/eo-client/dashboard/widgets/charts-widget/icharts.d.ts.map +1 -1
  9. package/app/eo-client/dashboard/widgets/count-objects-widget/count-objects-setup/count-objects-setup.component.d.ts +3 -2
  10. package/app/eo-client/dashboard/widgets/count-objects-widget/count-objects-setup/count-objects-setup.component.d.ts.map +1 -1
  11. package/app/eo-client/dashboard/widgets/hitlist-widget/IHitlist.d.ts +7 -0
  12. package/app/eo-client/dashboard/widgets/hitlist-widget/IHitlist.d.ts.map +1 -1
  13. package/app/eo-client/dashboard/widgets/hitlist-widget/hitlist-setup/hitlist-setup.component.d.ts +6 -4
  14. package/app/eo-client/dashboard/widgets/hitlist-widget/hitlist-setup/hitlist-setup.component.d.ts.map +1 -1
  15. package/app/eo-client/dashboard/widgets/hitlist-widget/hitlist-widget.component.d.ts +2 -2
  16. package/app/eo-client/dashboard/widgets/hitlist-widget/hitlist-widget.component.d.ts.map +1 -1
  17. package/app/eo-client/dashboard/widgets/iframe-widget/iframe-setup/iframe-setup.component.d.ts +3 -2
  18. package/app/eo-client/dashboard/widgets/iframe-widget/iframe-setup/iframe-setup.component.d.ts.map +1 -1
  19. package/app/eo-client/dashboard/widgets/info-inbox-widget/info-inbox-setup/info-inbox-setup.component.d.ts +3 -2
  20. package/app/eo-client/dashboard/widgets/info-inbox-widget/info-inbox-setup/info-inbox-setup.component.d.ts.map +1 -1
  21. package/app/eo-client/dashboard/widgets/info-intray-widget/info-intray-setup/info-intray-setup.component.d.ts +3 -2
  22. package/app/eo-client/dashboard/widgets/info-intray-widget/info-intray-setup/info-intray-setup.component.d.ts.map +1 -1
  23. package/app/eo-client/dashboard/widgets/last-edited-widget/last-edited-and-created-setup/last-edited-and-created-setup.component.d.ts +22 -0
  24. package/app/eo-client/dashboard/widgets/last-edited-widget/last-edited-and-created-setup/last-edited-and-created-setup.component.d.ts.map +1 -0
  25. package/app/eo-client/dashboard/widgets/last-edited-widget/last-edited-and-created.component.d.ts +11 -5
  26. package/app/eo-client/dashboard/widgets/last-edited-widget/last-edited-and-created.component.d.ts.map +1 -1
  27. package/app/eo-client/dashboard/widgets/last-edited-widget/last-edited-and-created.d.ts +7 -0
  28. package/app/eo-client/dashboard/widgets/last-edited-widget/last-edited-and-created.d.ts.map +1 -0
  29. package/app/eo-client/dashboard/widgets/search-widget/search-widget.component.d.ts +1 -2
  30. package/app/eo-client/dashboard/widgets/search-widget/search-widget.component.d.ts.map +1 -1
  31. package/app/eo-client/eo-client.module.d.ts +18 -17
  32. package/app/eo-client/eo-client.module.d.ts.map +1 -1
  33. package/app/eo-client/settings/settings.component.d.ts +2 -11
  34. package/app/eo-client/settings/settings.component.d.ts.map +1 -1
  35. package/app/eo-framework/app-shell/app-bar/app-search/app-search.component.d.ts +7 -3
  36. package/app/eo-framework/app-shell/app-bar/app-search/app-search.component.d.ts.map +1 -1
  37. package/app/eo-framework/app-shell/app-shell.module.d.ts +17 -16
  38. package/app/eo-framework/app-shell/app-shell.module.d.ts.map +1 -1
  39. package/app/eo-framework/app-shell/index.d.ts +1 -0
  40. package/app/eo-framework/app-shell/index.d.ts.map +1 -1
  41. package/app/eo-framework/app-shell/license-warning/license-warning.component.d.ts +10 -0
  42. package/app/eo-framework/app-shell/license-warning/license-warning.component.d.ts.map +1 -0
  43. package/app/eo-framework/form-elements/datetime-range/datetime-range.component.d.ts +1 -0
  44. package/app/eo-framework/form-elements/datetime-range/datetime-range.component.d.ts.map +1 -1
  45. package/app/eo-framework/form-elements/dynamic-list/dynamic-list.component.d.ts.map +1 -1
  46. package/app/eo-framework/prepare-details/prepare-details.component.d.ts.map +1 -1
  47. package/app/eo-framework/result-list/result-list.component.d.ts.map +1 -1
  48. package/app/eo-framework/ui/indexdata-summary/indexdata-summary-entry/indexdata-summary-entry.component.d.ts.map +1 -1
  49. package/app/eo-framework-core/api/grid.service.d.ts.map +1 -1
  50. package/app/eo-framework-core/error-handler/error-handler.service.d.ts.map +1 -1
  51. package/assets/_default/i18n/de.json +14 -9
  52. package/assets/_default/i18n/en.json +16 -11
  53. package/esm2022/app/eo-client/about-state/about-state.component.mjs +3 -3
  54. package/esm2022/app/eo-client/dashboard/dashboard.component.mjs +3 -1
  55. package/esm2022/app/eo-client/dashboard/widgets/charts-widget/charts-setup/charts-setup.component.mjs +51 -32
  56. package/esm2022/app/eo-client/dashboard/widgets/charts-widget/charts-widget.component.mjs +46 -16
  57. package/esm2022/app/eo-client/dashboard/widgets/charts-widget/icharts.mjs +1 -1
  58. package/esm2022/app/eo-client/dashboard/widgets/count-objects-widget/count-objects-setup/count-objects-setup.component.mjs +17 -11
  59. package/esm2022/app/eo-client/dashboard/widgets/count-objects-widget/count-objects-widget.component.mjs +3 -3
  60. package/esm2022/app/eo-client/dashboard/widgets/hitlist-widget/IHitlist.mjs +1 -1
  61. package/esm2022/app/eo-client/dashboard/widgets/hitlist-widget/hitlist-setup/hitlist-setup.component.mjs +30 -17
  62. package/esm2022/app/eo-client/dashboard/widgets/hitlist-widget/hitlist-widget.component.mjs +7 -8
  63. package/esm2022/app/eo-client/dashboard/widgets/iframe-widget/iframe-setup/iframe-setup.component.mjs +16 -10
  64. package/esm2022/app/eo-client/dashboard/widgets/iframe-widget/iframe-widget.component.mjs +3 -4
  65. package/esm2022/app/eo-client/dashboard/widgets/info-inbox-widget/info-inbox-setup/info-inbox-setup.component.mjs +15 -9
  66. package/esm2022/app/eo-client/dashboard/widgets/info-intray-widget/info-intray-setup/info-intray-setup.component.mjs +16 -10
  67. package/esm2022/app/eo-client/dashboard/widgets/last-edited-widget/last-edited-and-created-setup/last-edited-and-created-setup.component.mjs +75 -0
  68. package/esm2022/app/eo-client/dashboard/widgets/last-edited-widget/last-edited-and-created.component.mjs +93 -26
  69. package/esm2022/app/eo-client/dashboard/widgets/last-edited-widget/last-edited-and-created.mjs +2 -0
  70. package/esm2022/app/eo-client/dashboard/widgets/search-widget/search-widget.component.mjs +4 -7
  71. package/esm2022/app/eo-client/eo-client.module.mjs +6 -3
  72. package/esm2022/app/eo-client/settings/settings.component.mjs +28 -40
  73. package/esm2022/app/eo-framework/actions/actions/signature-action/signature/signature.component.mjs +3 -3
  74. package/esm2022/app/eo-framework/app-shell/app-bar/app-bar.component.mjs +4 -3
  75. package/esm2022/app/eo-framework/app-shell/app-bar/app-search/app-search.component.mjs +34 -22
  76. package/esm2022/app/eo-framework/app-shell/app-shell.module.mjs +13 -7
  77. package/esm2022/app/eo-framework/app-shell/index.mjs +2 -1
  78. package/esm2022/app/eo-framework/app-shell/license-warning/license-warning.component.mjs +26 -0
  79. package/esm2022/app/eo-framework/form-elements/datetime-range/datetime-range.component.mjs +19 -15
  80. package/esm2022/app/eo-framework/form-elements/dynamic-list/dynamic-list.component.mjs +4 -1
  81. package/esm2022/app/eo-framework/grid/extensions/custom-sort/custom-sort.component.mjs +2 -2
  82. package/esm2022/app/eo-framework/inbox-details/inbox-details.component.mjs +3 -3
  83. package/esm2022/app/eo-framework/object-form/object-form/form-element-table/form-element-table.component.mjs +4 -4
  84. package/esm2022/app/eo-framework/object-form/object-form/form-element-table/row-edit/row-edit.component.mjs +2 -2
  85. package/esm2022/app/eo-framework/prepare-details/prepare-details.component.mjs +15 -4
  86. package/esm2022/app/eo-framework/result-list/result-list.component.mjs +16 -1
  87. package/esm2022/app/eo-framework/ui/indexdata-summary/indexdata-summary-entry/indexdata-summary-entry.component.mjs +10 -1
  88. package/esm2022/app/eo-framework/ui/indexdata-summary/indexdata-summary.component.mjs +2 -2
  89. package/esm2022/app/eo-framework/ui/overlay/overlay.component.mjs +2 -2
  90. package/esm2022/app/eo-framework-core/api/grid.service.mjs +18 -21
  91. package/esm2022/app/eo-framework-core/error-handler/error-handler.service.mjs +6 -6
  92. package/fesm2022/eo-sdk-client.mjs +640 -360
  93. package/fesm2022/eo-sdk-client.mjs.map +1 -1
  94. package/package.json +4 -4
@@ -134,13 +134,13 @@ export class SignatureComponent {
134
134
  this.signingFormListener.unsubscribe();
135
135
  }
136
136
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: SignatureComponent, deps: [{ token: i1.BpmService }, { token: i2.PendingChangesService }, { token: i1.TranslateService }, { token: i1.NotificationsService }, { token: i1.SigningService }, { token: i1.EventService }, { token: i1.DmsService }, { token: i1.SystemService }, { token: i1.LocalStorageService }, { token: i3.UntypedFormBuilder }], target: i0.ɵɵFactoryTarget.Component }); }
137
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.1.2", type: SignatureComponent, selector: "eo-signature", viewQueries: [{ propertyName: "dialog", first: true, predicate: ["dialog"], descendants: true }], ngImport: i0, template: "<eo-dialog [title]=\"headerTitle\"\n [subtitle]=\"headerDescription\"\n [visible]=\"true\"\n [dirtyCheck]=\"pendingTaskIds\"\n [minWidth]=\"600\"\n [minHeight]=\"600\"\n [styleClass]=\"'process-form-dialog'\" #dialog>\n\n <section class=\"signature-form form-container\">\n <form class=\"signing-form\" [formGroup]=\"signingForm\">\n <eo-sequence-list class=\"entry_form\" form-open=\"true\" [MAX_SIGNERS]=\"maxSigners\" (itemEdit)=\"mode = $event\" [phoneRequired]=\"signingForm.get('yuvsigtype').value === 'advanced'\" [formControlName]=\"'yuvsigners'\">\n </eo-sequence-list>\n <eo-form-input *ngIf=\"yuvsigtypeCodesystem.entries.length > 1\" [required]=\"true\" [label]=\"'eo.action.signature.yuvsigning.yuvsigtype' | translate\">\n <eo-codesystem\n [formControlName]=\"'yuvsigtype'\"\n [codesystem]=\"yuvsigtypeCodesystem\"\n [required]=\"true\"\n ></eo-codesystem>\n </eo-form-input>\n <eo-form-input [skipToggle]=\"true\" [label]=\"'eo.action.signature.yuvsigners.parallel' | translate\">\n <eo-checkbox formControlName=\"parallelSigning\"></eo-checkbox>\n </eo-form-input>\n <eo-form-input [label]=\"'eo.action.signature.yuvsigning.yuvsigemailsubject' | translate\" [required]=\"true\">\n <eo-string\n [formControlName]=\"'yuvsigemailsubject'\"\n [minLength]=\"3\"\n [maxLength]=\"100\"\n [required]=\"true\"\n ></eo-string>\n </eo-form-input>\n <small class=\"errors\" *ngIf=\"signingForm.get('yuvsigemailsubject').hasError('required')\" translate>eo.form.property.required</small>\n <eo-form-input [label]=\"'eo.action.signature.yuvsigning.yuvsigemailbody' | translate\" [required]=\"true\">\n <eo-string\n [formControlName]=\"'yuvsigemailbody'\"\n [multiline]=\"true\"\n [size]=\"'small'\"\n [minLength]=\"3\"\n [maxLength]=\"4000\"\n [required]=\"true\"\n ></eo-string>\n </eo-form-input>\n <small class=\"errors\" *ngIf=\"signingForm.get('yuvsigemailbody').hasError('required')\" translate>eo.form.property.required</small>\n </form>\n\n <div class=\"actions\">\n <div *ngIf=\"signingForm?.invalid\" class=\"invalid\" translate>eo.object.indexdata.form.invalid</div>\n <eo-cta [active]=\"!processingRequest\" class=\"cta-wrapper\">\n <button (click)=\"cancel()\" class=\"button-cancel\" translate>eo.action.signature.cancel</button>\n <button (click)=\"saveForm()\" [disabled]=\"signingForm?.invalid || processingRequest || !signingForm.get('yuvsigners').value || !signingForm.get('yuvsigners').value.length\" class=\"primary\" translate>eo.action.signature.request</button>\n </eo-cta>\n </div>\n </section>\n <div class=\"loader-overlay__mask\" *ngIf=\"processingRequest\">\n <eo-loading-spinner class=\"signature__loader\" [size]=\"'large'\"></eo-loading-spinner>\n </div>\n</eo-dialog>\n", styles: ["::ng-deep .signature-form{display:flex;flex:1;flex-direction:column;min-height:0;min-width:0;justify-content:space-between}::ng-deep .signature-form .email-block{margin-top:50px;border:1px solid var(--panel-divider-color)}::ng-deep .signature-form .invalid{color:var(--color-error);margin:40px 0 15px}::ng-deep .signature-form h2{padding:0;margin:0 calc(var(--app-pane-padding) * .75);flex:1}::ng-deep .signature-form .actions{display:flex;flex:0;flex-direction:column;min-height:0;min-width:0;align-items:flex-end;justify-content:flex-end;margin:0 var(--app-pane-padding) var(--app-pane-padding);min-height:3em}::ng-deep .signature-form .actions button{white-space:nowrap}::ng-deep .signature-form .actions eo-cta{display:flex;justify-content:flex-end}::ng-deep .signature-form .actions eo-cta button:nth-child(odd){margin:0 5px}@media screen and (max-width: 800px){::ng-deep .signature-form .actions{flex-direction:column;align-items:flex-end}}.signing-form{box-sizing:border-box;margin:calc(var(--app-pane-padding) / 4) calc(var(--app-pane-padding) / 2);overflow:auto}.signing-form .table .label{padding-bottom:calc(var(--app-pane-padding) / 4)}.signing-form .errors{color:var(--color-error)}.loader-overlay__mask{display:flex;width:100%;height:100%;z-index:11;position:absolute;background:rgba(var(--color-white-rgb),.8);-webkit-animation:eoFadeIn .5s;animation:eoFadeIn .5s}.loader-overlay__mask .signature__loader{margin:auto}\n"], dependencies: [{ kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i5.TranslateDirective, selector: "[translate],[ngx-translate]", inputs: ["translate", "translateParams"] }, { kind: "component", type: i6.LoadingSpinnerComponent, selector: "eo-loading-spinner", inputs: ["size", "mode"] }, { kind: "component", type: i7.EoDialogComponent, selector: "eo-dialog", inputs: ["hasPreviewFile", "title", "subtitle", "styleClass", "dirtyCheck", "minWidth", "minHeight", "height", "width", "focusOnShow", "align", "isFormTable", "showPreview", "visible"], outputs: ["onTogglePreview", "visibleChange", "hide", "show"] }, { kind: "directive", type: i3.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i3.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i3.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i3.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: i8.FormInputComponent, selector: "eo-form-input", inputs: ["label", "tag", "description", "skipToggle", "isNull", "invalid", "disabled", "required"], outputs: ["onToggleLabel"] }, { kind: "component", type: i9.CodesystemComponent, selector: "eo-codesystem", inputs: ["situation", "pickerTitle", "placeholder", "codesystem", "multiselect", "readonly", "inputStyleClass", "emptyMessage", "filterFunction", "disablingFilterFunction"] }, { kind: "component", type: i10.CheckboxComponent, selector: "eo-checkbox", inputs: ["required", "tristate", "readonly"] }, { kind: "component", type: i11.StringComponent, selector: "eo-string", inputs: ["autocomplete", "multiselect", "multiline", "readonly", "autofocus", "classification", "situation", "regex", "qname", "size", "minLength", "maxLength"] }, { kind: "component", type: i12.CtaComponent, selector: "eo-cta", inputs: ["active"] }, { kind: "component", type: i13.SequenceListComponent, selector: "eo-sequence-list", inputs: ["MAX_SIGNERS", "phoneRequired"], outputs: ["itemEdit"] }, { kind: "pipe", type: i5.TranslatePipe, name: "translate" }] }); }
137
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.1.2", type: SignatureComponent, selector: "eo-signature", viewQueries: [{ propertyName: "dialog", first: true, predicate: ["dialog"], descendants: true }], ngImport: i0, template: "<eo-dialog [title]=\"headerTitle\"\n [subtitle]=\"headerDescription\"\n [visible]=\"true\"\n [dirtyCheck]=\"pendingTaskIds\"\n [minWidth]=\"600\"\n [minHeight]=\"600\"\n [styleClass]=\"'process-form-dialog'\" #dialog>\n\n <section class=\"signature-form form-container\">\n <form class=\"signing-form\" [formGroup]=\"signingForm\">\n <eo-sequence-list class=\"entry_form\" form-open=\"true\" [MAX_SIGNERS]=\"maxSigners\" (itemEdit)=\"mode = $event\" [phoneRequired]=\"signingForm.get('yuvsigtype').value === 'advanced'\" [formControlName]=\"'yuvsigners'\">\n </eo-sequence-list>\n <eo-form-input *ngIf=\"yuvsigtypeCodesystem.entries.length > 1\" [required]=\"true\" [label]=\"'eo.action.signature.yuvsigning.yuvsigtype' | translate\">\n <eo-codesystem\n [formControlName]=\"'yuvsigtype'\"\n [codesystem]=\"yuvsigtypeCodesystem\"\n [required]=\"true\"\n ></eo-codesystem>\n </eo-form-input>\n <eo-form-input [skipToggle]=\"true\" [label]=\"'eo.action.signature.yuvsigners.parallel' | translate\">\n <eo-checkbox formControlName=\"parallelSigning\"></eo-checkbox>\n </eo-form-input>\n <eo-form-input [label]=\"'eo.action.signature.yuvsigning.yuvsigemailsubject' | translate\" [required]=\"true\">\n <eo-string\n [formControlName]=\"'yuvsigemailsubject'\"\n [minLength]=\"3\"\n [maxLength]=\"100\"\n [required]=\"true\"\n ></eo-string>\n </eo-form-input>\n <small class=\"errors\" *ngIf=\"signingForm.get('yuvsigemailsubject').hasError('required')\" translate>eo.form.property.required</small>\n <eo-form-input [label]=\"'eo.action.signature.yuvsigning.yuvsigemailbody' | translate\" [required]=\"true\">\n <eo-string\n [formControlName]=\"'yuvsigemailbody'\"\n [multiline]=\"true\"\n [size]=\"'small'\"\n [minLength]=\"3\"\n [maxLength]=\"2000\"\n [required]=\"true\"\n ></eo-string>\n </eo-form-input>\n <small class=\"errors\" *ngIf=\"signingForm.get('yuvsigemailbody').hasError('required')\" translate>eo.form.property.required</small>\n </form>\n\n <div class=\"actions\">\n <div *ngIf=\"signingForm?.invalid\" class=\"invalid\" translate>eo.object.indexdata.form.invalid</div>\n <eo-cta [active]=\"!processingRequest\" class=\"cta-wrapper\">\n <button (click)=\"cancel()\" class=\"button-cancel\" translate>eo.action.signature.cancel</button>\n <button (click)=\"saveForm()\" [disabled]=\"signingForm?.invalid || processingRequest || !signingForm.get('yuvsigners').value || !signingForm.get('yuvsigners').value.length\" class=\"primary\" translate>eo.action.signature.request</button>\n </eo-cta>\n </div>\n </section>\n <div class=\"loader-overlay__mask\" *ngIf=\"processingRequest\">\n <eo-loading-spinner class=\"signature__loader\" [size]=\"'large'\"></eo-loading-spinner>\n </div>\n</eo-dialog>\n", styles: ["::ng-deep .signature-form{display:flex;flex:1;flex-direction:column;min-height:0;min-width:0;justify-content:space-between}::ng-deep .signature-form .email-block{margin-top:50px;border:1px solid var(--panel-divider-color)}::ng-deep .signature-form .invalid{color:var(--color-error);margin:40px 0 15px}::ng-deep .signature-form h2{padding:0;margin:0 calc(var(--app-pane-padding) * .75);flex:1}::ng-deep .signature-form .actions{display:flex;flex:0;flex-direction:column;min-height:0;min-width:0;align-items:flex-end;justify-content:flex-end;margin:0 var(--app-pane-padding) var(--app-pane-padding);min-height:3em}::ng-deep .signature-form .actions button{white-space:nowrap}::ng-deep .signature-form .actions eo-cta{display:flex;justify-content:flex-end}::ng-deep .signature-form .actions eo-cta button:nth-child(odd){margin:0 5px}@media screen and (max-width: 800px){::ng-deep .signature-form .actions{flex-direction:column;align-items:flex-end}}.signing-form{box-sizing:border-box;margin:calc(var(--app-pane-padding) / 4) calc(var(--app-pane-padding) / 2);overflow:auto}.signing-form .table .label{padding-bottom:calc(var(--app-pane-padding) / 4)}.signing-form .errors{color:var(--color-error)}.loader-overlay__mask{display:flex;width:100%;height:100%;z-index:11;position:absolute;background:rgba(var(--color-white-rgb),.8);-webkit-animation:eoFadeIn .5s;animation:eoFadeIn .5s}.loader-overlay__mask .signature__loader{margin:auto}\n"], dependencies: [{ kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i5.TranslateDirective, selector: "[translate],[ngx-translate]", inputs: ["translate", "translateParams"] }, { kind: "component", type: i6.LoadingSpinnerComponent, selector: "eo-loading-spinner", inputs: ["size", "mode"] }, { kind: "component", type: i7.EoDialogComponent, selector: "eo-dialog", inputs: ["hasPreviewFile", "title", "subtitle", "styleClass", "dirtyCheck", "minWidth", "minHeight", "height", "width", "focusOnShow", "align", "isFormTable", "showPreview", "visible"], outputs: ["onTogglePreview", "visibleChange", "hide", "show"] }, { kind: "directive", type: i3.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i3.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i3.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i3.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: i8.FormInputComponent, selector: "eo-form-input", inputs: ["label", "tag", "description", "skipToggle", "isNull", "invalid", "disabled", "required"], outputs: ["onToggleLabel"] }, { kind: "component", type: i9.CodesystemComponent, selector: "eo-codesystem", inputs: ["situation", "pickerTitle", "placeholder", "codesystem", "multiselect", "readonly", "inputStyleClass", "emptyMessage", "filterFunction", "disablingFilterFunction"] }, { kind: "component", type: i10.CheckboxComponent, selector: "eo-checkbox", inputs: ["required", "tristate", "readonly"] }, { kind: "component", type: i11.StringComponent, selector: "eo-string", inputs: ["autocomplete", "multiselect", "multiline", "readonly", "autofocus", "classification", "situation", "regex", "qname", "size", "minLength", "maxLength"] }, { kind: "component", type: i12.CtaComponent, selector: "eo-cta", inputs: ["active"] }, { kind: "component", type: i13.SequenceListComponent, selector: "eo-sequence-list", inputs: ["MAX_SIGNERS", "phoneRequired"], outputs: ["itemEdit"] }, { kind: "pipe", type: i5.TranslatePipe, name: "translate" }] }); }
138
138
  }
139
139
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: SignatureComponent, decorators: [{
140
140
  type: Component,
141
- args: [{ selector: 'eo-signature', template: "<eo-dialog [title]=\"headerTitle\"\n [subtitle]=\"headerDescription\"\n [visible]=\"true\"\n [dirtyCheck]=\"pendingTaskIds\"\n [minWidth]=\"600\"\n [minHeight]=\"600\"\n [styleClass]=\"'process-form-dialog'\" #dialog>\n\n <section class=\"signature-form form-container\">\n <form class=\"signing-form\" [formGroup]=\"signingForm\">\n <eo-sequence-list class=\"entry_form\" form-open=\"true\" [MAX_SIGNERS]=\"maxSigners\" (itemEdit)=\"mode = $event\" [phoneRequired]=\"signingForm.get('yuvsigtype').value === 'advanced'\" [formControlName]=\"'yuvsigners'\">\n </eo-sequence-list>\n <eo-form-input *ngIf=\"yuvsigtypeCodesystem.entries.length > 1\" [required]=\"true\" [label]=\"'eo.action.signature.yuvsigning.yuvsigtype' | translate\">\n <eo-codesystem\n [formControlName]=\"'yuvsigtype'\"\n [codesystem]=\"yuvsigtypeCodesystem\"\n [required]=\"true\"\n ></eo-codesystem>\n </eo-form-input>\n <eo-form-input [skipToggle]=\"true\" [label]=\"'eo.action.signature.yuvsigners.parallel' | translate\">\n <eo-checkbox formControlName=\"parallelSigning\"></eo-checkbox>\n </eo-form-input>\n <eo-form-input [label]=\"'eo.action.signature.yuvsigning.yuvsigemailsubject' | translate\" [required]=\"true\">\n <eo-string\n [formControlName]=\"'yuvsigemailsubject'\"\n [minLength]=\"3\"\n [maxLength]=\"100\"\n [required]=\"true\"\n ></eo-string>\n </eo-form-input>\n <small class=\"errors\" *ngIf=\"signingForm.get('yuvsigemailsubject').hasError('required')\" translate>eo.form.property.required</small>\n <eo-form-input [label]=\"'eo.action.signature.yuvsigning.yuvsigemailbody' | translate\" [required]=\"true\">\n <eo-string\n [formControlName]=\"'yuvsigemailbody'\"\n [multiline]=\"true\"\n [size]=\"'small'\"\n [minLength]=\"3\"\n [maxLength]=\"4000\"\n [required]=\"true\"\n ></eo-string>\n </eo-form-input>\n <small class=\"errors\" *ngIf=\"signingForm.get('yuvsigemailbody').hasError('required')\" translate>eo.form.property.required</small>\n </form>\n\n <div class=\"actions\">\n <div *ngIf=\"signingForm?.invalid\" class=\"invalid\" translate>eo.object.indexdata.form.invalid</div>\n <eo-cta [active]=\"!processingRequest\" class=\"cta-wrapper\">\n <button (click)=\"cancel()\" class=\"button-cancel\" translate>eo.action.signature.cancel</button>\n <button (click)=\"saveForm()\" [disabled]=\"signingForm?.invalid || processingRequest || !signingForm.get('yuvsigners').value || !signingForm.get('yuvsigners').value.length\" class=\"primary\" translate>eo.action.signature.request</button>\n </eo-cta>\n </div>\n </section>\n <div class=\"loader-overlay__mask\" *ngIf=\"processingRequest\">\n <eo-loading-spinner class=\"signature__loader\" [size]=\"'large'\"></eo-loading-spinner>\n </div>\n</eo-dialog>\n", styles: ["::ng-deep .signature-form{display:flex;flex:1;flex-direction:column;min-height:0;min-width:0;justify-content:space-between}::ng-deep .signature-form .email-block{margin-top:50px;border:1px solid var(--panel-divider-color)}::ng-deep .signature-form .invalid{color:var(--color-error);margin:40px 0 15px}::ng-deep .signature-form h2{padding:0;margin:0 calc(var(--app-pane-padding) * .75);flex:1}::ng-deep .signature-form .actions{display:flex;flex:0;flex-direction:column;min-height:0;min-width:0;align-items:flex-end;justify-content:flex-end;margin:0 var(--app-pane-padding) var(--app-pane-padding);min-height:3em}::ng-deep .signature-form .actions button{white-space:nowrap}::ng-deep .signature-form .actions eo-cta{display:flex;justify-content:flex-end}::ng-deep .signature-form .actions eo-cta button:nth-child(odd){margin:0 5px}@media screen and (max-width: 800px){::ng-deep .signature-form .actions{flex-direction:column;align-items:flex-end}}.signing-form{box-sizing:border-box;margin:calc(var(--app-pane-padding) / 4) calc(var(--app-pane-padding) / 2);overflow:auto}.signing-form .table .label{padding-bottom:calc(var(--app-pane-padding) / 4)}.signing-form .errors{color:var(--color-error)}.loader-overlay__mask{display:flex;width:100%;height:100%;z-index:11;position:absolute;background:rgba(var(--color-white-rgb),.8);-webkit-animation:eoFadeIn .5s;animation:eoFadeIn .5s}.loader-overlay__mask .signature__loader{margin:auto}\n"] }]
141
+ args: [{ selector: 'eo-signature', template: "<eo-dialog [title]=\"headerTitle\"\n [subtitle]=\"headerDescription\"\n [visible]=\"true\"\n [dirtyCheck]=\"pendingTaskIds\"\n [minWidth]=\"600\"\n [minHeight]=\"600\"\n [styleClass]=\"'process-form-dialog'\" #dialog>\n\n <section class=\"signature-form form-container\">\n <form class=\"signing-form\" [formGroup]=\"signingForm\">\n <eo-sequence-list class=\"entry_form\" form-open=\"true\" [MAX_SIGNERS]=\"maxSigners\" (itemEdit)=\"mode = $event\" [phoneRequired]=\"signingForm.get('yuvsigtype').value === 'advanced'\" [formControlName]=\"'yuvsigners'\">\n </eo-sequence-list>\n <eo-form-input *ngIf=\"yuvsigtypeCodesystem.entries.length > 1\" [required]=\"true\" [label]=\"'eo.action.signature.yuvsigning.yuvsigtype' | translate\">\n <eo-codesystem\n [formControlName]=\"'yuvsigtype'\"\n [codesystem]=\"yuvsigtypeCodesystem\"\n [required]=\"true\"\n ></eo-codesystem>\n </eo-form-input>\n <eo-form-input [skipToggle]=\"true\" [label]=\"'eo.action.signature.yuvsigners.parallel' | translate\">\n <eo-checkbox formControlName=\"parallelSigning\"></eo-checkbox>\n </eo-form-input>\n <eo-form-input [label]=\"'eo.action.signature.yuvsigning.yuvsigemailsubject' | translate\" [required]=\"true\">\n <eo-string\n [formControlName]=\"'yuvsigemailsubject'\"\n [minLength]=\"3\"\n [maxLength]=\"100\"\n [required]=\"true\"\n ></eo-string>\n </eo-form-input>\n <small class=\"errors\" *ngIf=\"signingForm.get('yuvsigemailsubject').hasError('required')\" translate>eo.form.property.required</small>\n <eo-form-input [label]=\"'eo.action.signature.yuvsigning.yuvsigemailbody' | translate\" [required]=\"true\">\n <eo-string\n [formControlName]=\"'yuvsigemailbody'\"\n [multiline]=\"true\"\n [size]=\"'small'\"\n [minLength]=\"3\"\n [maxLength]=\"2000\"\n [required]=\"true\"\n ></eo-string>\n </eo-form-input>\n <small class=\"errors\" *ngIf=\"signingForm.get('yuvsigemailbody').hasError('required')\" translate>eo.form.property.required</small>\n </form>\n\n <div class=\"actions\">\n <div *ngIf=\"signingForm?.invalid\" class=\"invalid\" translate>eo.object.indexdata.form.invalid</div>\n <eo-cta [active]=\"!processingRequest\" class=\"cta-wrapper\">\n <button (click)=\"cancel()\" class=\"button-cancel\" translate>eo.action.signature.cancel</button>\n <button (click)=\"saveForm()\" [disabled]=\"signingForm?.invalid || processingRequest || !signingForm.get('yuvsigners').value || !signingForm.get('yuvsigners').value.length\" class=\"primary\" translate>eo.action.signature.request</button>\n </eo-cta>\n </div>\n </section>\n <div class=\"loader-overlay__mask\" *ngIf=\"processingRequest\">\n <eo-loading-spinner class=\"signature__loader\" [size]=\"'large'\"></eo-loading-spinner>\n </div>\n</eo-dialog>\n", styles: ["::ng-deep .signature-form{display:flex;flex:1;flex-direction:column;min-height:0;min-width:0;justify-content:space-between}::ng-deep .signature-form .email-block{margin-top:50px;border:1px solid var(--panel-divider-color)}::ng-deep .signature-form .invalid{color:var(--color-error);margin:40px 0 15px}::ng-deep .signature-form h2{padding:0;margin:0 calc(var(--app-pane-padding) * .75);flex:1}::ng-deep .signature-form .actions{display:flex;flex:0;flex-direction:column;min-height:0;min-width:0;align-items:flex-end;justify-content:flex-end;margin:0 var(--app-pane-padding) var(--app-pane-padding);min-height:3em}::ng-deep .signature-form .actions button{white-space:nowrap}::ng-deep .signature-form .actions eo-cta{display:flex;justify-content:flex-end}::ng-deep .signature-form .actions eo-cta button:nth-child(odd){margin:0 5px}@media screen and (max-width: 800px){::ng-deep .signature-form .actions{flex-direction:column;align-items:flex-end}}.signing-form{box-sizing:border-box;margin:calc(var(--app-pane-padding) / 4) calc(var(--app-pane-padding) / 2);overflow:auto}.signing-form .table .label{padding-bottom:calc(var(--app-pane-padding) / 4)}.signing-form .errors{color:var(--color-error)}.loader-overlay__mask{display:flex;width:100%;height:100%;z-index:11;position:absolute;background:rgba(var(--color-white-rgb),.8);-webkit-animation:eoFadeIn .5s;animation:eoFadeIn .5s}.loader-overlay__mask .signature__loader{margin:auto}\n"] }]
142
142
  }], ctorParameters: () => [{ type: i1.BpmService }, { type: i2.PendingChangesService }, { type: i1.TranslateService }, { type: i1.NotificationsService }, { type: i1.SigningService }, { type: i1.EventService }, { type: i1.DmsService }, { type: i1.SystemService }, { type: i1.LocalStorageService }, { type: i3.UntypedFormBuilder }], propDecorators: { dialog: [{
143
143
  type: ViewChild,
144
144
  args: ['dialog']
145
145
  }] } });
146
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2lnbmF0dXJlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvZW8tZnJhbWV3b3JrL2FjdGlvbnMvYWN0aW9ucy9zaWduYXR1cmUtYWN0aW9uL3NpZ25hdHVyZS9zaWduYXR1cmUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9lby1mcmFtZXdvcmsvYWN0aW9ucy9hY3Rpb25zL3NpZ25hdHVyZS1hY3Rpb24vc2lnbmF0dXJlL3NpZ25hdHVyZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQVksTUFBTSxlQUFlLENBQUM7QUFDNUUsT0FBTyxFQUNMLEtBQUssRUFNTCxVQUFVLEVBS1gsTUFBTSxjQUFjLENBQUM7QUFPdEIsT0FBTyxFQUFDLFNBQVMsRUFBQyxNQUFNLGdCQUFnQixDQUFDOzs7Ozs7Ozs7Ozs7Ozs7QUFRekMsTUFBTSxPQUFPLGtCQUFrQjtJQTRCN0IsWUFBb0IsVUFBc0IsRUFDaEMsY0FBcUMsRUFDckMsU0FBMkIsRUFDM0IsT0FBNkIsRUFDN0IsY0FBOEIsRUFDOUIsWUFBMEIsRUFDMUIsVUFBc0IsRUFDdEIsYUFBNEIsRUFDNUIsY0FBbUMsRUFDbkMsRUFBc0I7UUFUWixlQUFVLEdBQVYsVUFBVSxDQUFZO1FBQ2hDLG1CQUFjLEdBQWQsY0FBYyxDQUF1QjtRQUNyQyxjQUFTLEdBQVQsU0FBUyxDQUFrQjtRQUMzQixZQUFPLEdBQVAsT0FBTyxDQUFzQjtRQUM3QixtQkFBYyxHQUFkLGNBQWMsQ0FBZ0I7UUFDOUIsaUJBQVksR0FBWixZQUFZLENBQWM7UUFDMUIsZUFBVSxHQUFWLFVBQVUsQ0FBWTtRQUN0QixrQkFBYSxHQUFiLGFBQWEsQ0FBZTtRQUM1QixtQkFBYyxHQUFkLGNBQWMsQ0FBcUI7UUFD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O1FBQ25CLElBQUksQ0FBQyxjQUFjLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUN6RCxDQUFDO0lBRUQsV0FBVztRQUNULElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxXQUFXLEVBQUUsQ0FBQztJQUN6QyxDQUFDOzhHQS9JVSxrQkFBa0I7a0dBQWxCLGtCQUFrQixzSkM1Qi9CLGcrRkF3REE7OzJGRDVCYSxrQkFBa0I7a0JBTDlCLFNBQVM7K0JBQ0UsY0FBYztxV0FvQkgsTUFBTTtzQkFBMUIsU0FBUzt1QkFBQyxRQUFRIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDb21wb25lbnQsIFZpZXdDaGlsZCwgRXZlbnRFbWl0dGVyLCBPbkRlc3Ryb3l9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgVXRpbHMsXG4gIEJwbVNlcnZpY2UsXG4gIE5vdGlmaWNhdGlvbnNTZXJ2aWNlLFxuICBUcmFuc2xhdGVTZXJ2aWNlLFxuICBTaWduaW5nU2VydmljZSxcbiAgU2lnbmluZ1JlcXVlc3QsXG4gIEVuYWlvRXZlbnQsXG4gIEV2ZW50U2VydmljZSxcbiAgRG1zU2VydmljZSxcbiAgU3lzdGVtU2VydmljZSxcbiAgTG9jYWxTdG9yYWdlU2VydmljZVxufSBmcm9tICdAZW8tc2RrL2NvcmUnO1xuaW1wb3J0IHtFb0RpYWxvZ0NvbXBvbmVudH0gZnJvbSAnLi4vLi4vLi4vLi4vdWkvZW8tZGlhbG9nL2VvLWRpYWxvZy5jb21wb25lbnQnO1xuaW1wb3J0IHtBY3Rpb25Db21wb25lbnR9IGZyb20gJy4uLy4uLy4uL2ludGVyZmFjZXMvYWN0aW9uLWNvbXBvbmVudC5pbnRlcmZhY2UnO1xuaW1wb3J0IHtQZW5kaW5nQ2hhbmdlc1NlcnZpY2V9IGZyb20gJy4uLy4uLy4uLy4uLy4uL2VvLWZyYW1ld29yay1jb3JlL3BlbmRpbmctY2hhbmdlcy9wZW5kaW5nLWNoYW5nZXMuc2VydmljZSc7XG5pbXBvcnQge09iamVjdEZvcm1PcHRpb25zfSBmcm9tICcuLi8uLi8uLi8uLi9vYmplY3QtZm9ybSc7XG5pbXBvcnQge0Zvcm1Hcm91cCwgVW50eXBlZEZvcm1CdWlsZGVyfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQge1N1YnNjcmlwdGlvbn0gZnJvbSAncnhqcyc7XG5pbXBvcnQge3N3aXRjaE1hcH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHtDaGFuZ2VNb2RlfSBmcm9tICcuLi9zaWduYXR1cmUubW9kZWwnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdlby1zaWduYXR1cmUnLFxuICB0ZW1wbGF0ZVVybDogJy4vc2lnbmF0dXJlLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vc2lnbmF0dXJlLmNvbXBvbmVudC5zY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgU2lnbmF0dXJlQ29tcG9uZW50IGltcGxlbWVudHMgQWN0aW9uQ29tcG9uZW50LCBPbkRlc3Ryb3kge1xuICBzZWxlY3Rpb246IGFueVtdO1xuICBmaW5pc2hlZDogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG4gIGNhbmNlbGVkOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcbiAgcHJvY2Vzc2luZ1JlcXVlc3Q6IGJvb2xlYW47XG4gIGhlYWRlclRpdGxlOiBzdHJpbmc7XG4gIGhlYWRlckRlc2NyaXB0aW9uOiBzdHJpbmc7XG4gIHNlbGVjdGVkOiBhbnk7XG4gIGZvcm1PcHRpb25zOiBPYmplY3RGb3JtT3B0aW9ucztcbiAgY29udGVudHM6IHtpZDogc3RyaW5nLCB0eXBlOiBzdHJpbmd9W107XG4gIG1vZGU6IENoYW5nZU1vZGU7XG5cbiAgLy8gSUQgc2V0IGJ5IHBlbmRpbmdDaGFuZ2VzIHNlcnZpY2Ugd2hlbiBlZGl0aW5nIGluZGV4ZGF0YVxuICAvLyBVc2VkIHRvIGZpbmlzaCB0aGUgcGVuZGluZyB0YXNrIHdoZW4gZWRpdGluZyBpcyBkb25lXG4gIHBlbmRpbmdUYXNrSWRzOiBzdHJpbmdbXSA9IFtdO1xuXG4gIEBWaWV3Q2hpbGQoJ2RpYWxvZycpIGRpYWxvZzogRW9EaWFsb2dDb21wb25lbnQ7XG4gIHNpZ25pbmdGb3JtOiBGb3JtR3JvdXA7XG4gIG1heFNpZ25lcnM6IG51bWJlcjtcbiAgc2lnbmluZ0Zvcm1MaXN0ZW5lcjogU3Vic2NyaXB0aW9uO1xuICB5dXZzaWd0eXBlQ29kZXN5c3RlbSA9IHtcbiAgICBpZDogJzEyOTFCQUI5MUIwRDQ5RDFBOUE0REZDQ0Y0OUExNjY2JyxcbiAgICBuYW1lOiAneXV2c2lndHlwZScsXG4gICAgZW50cmllczogW11cbiAgfTtcbiAgc2lnbmF0dXJlVHlwZVN0b3JhZ2VLZXkgPSAnZW8uc2lnbmF0dXJlLnR5cGUnO1xuICBzaWduYXR1cmVQYXJhbGxlbFN0b3JhZ2VLZXkgPSAnZW8uc2lnbmF0dXJlLnBhcmFsbGVsJztcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGJwbVNlcnZpY2U6IEJwbVNlcnZpY2UsXG4gICAgcHJpdmF0ZSBwZW5kaW5nQ2hhbmdlczogUGVuZGluZ0NoYW5nZXNTZXJ2aWNlLFxuICAgIHByaXZhdGUgdHJhbnNsYXRlOiBUcmFuc2xhdGVTZXJ2aWNlLFxuICAgIHByaXZhdGUgdG9hc3RlcjogTm90aWZpY2F0aW9uc1NlcnZpY2UsXG4gICAgcHJpdmF0ZSBzaWduaW5nU2VydmljZTogU2lnbmluZ1NlcnZpY2UsXG4gICAgcHJpdmF0ZSBldmVudFNlcnZpY2U6IEV2ZW50U2VydmljZSxcbiAgICBwcml2YXRlIGRtc1NlcnZpY2U6IERtc1NlcnZpY2UsXG4gICAgcHJpdmF0ZSBzeXN0ZW1TZXJ2aWNlOiBTeXN0ZW1TZXJ2aWNlLFxuICAgIHByaXZhdGUgc3RvcmFnZVNlcnZpY2U6IExvY2FsU3RvcmFnZVNlcnZpY2UsXG4gICAgcHJpdmF0ZSBmYjogVW50eXBlZEZvcm1CdWlsZGVyKSB7XG4gICAgY29uc3QgZGVmYXVsdFNpZ25hdHVyZVR5cGUgPSB0aGlzLnN0b3JhZ2VTZXJ2aWNlLmdldEl0ZW0odGhpcy5zaWduYXR1cmVUeXBlU3RvcmFnZUtleSk7XG4gICAgY29uc3QgZGVmYXVsdFNpZ25hdHVyZVBhcmFsbGVsID0gdGhpcy5zdG9yYWdlU2VydmljZS5nZXRJdGVtKHRoaXMuc2lnbmF0dXJlUGFyYWxsZWxTdG9yYWdlS2V5KTtcblxuICAgIHRoaXMuc2lnbmluZ0Zvcm0gPSB0aGlzLmZiLmdyb3VwKHtcbiAgICAgIHl1dnNpZ3R5cGU6IFtdLFxuICAgICAgeXV2c2lnbmVyczogW10sXG4gICAgICBwYXJhbGxlbFNpZ25pbmc6IFtkZWZhdWx0U2lnbmF0dXJlUGFyYWxsZWwgPyBkZWZhdWx0U2lnbmF0dXJlUGFyYWxsZWwgOiBmYWxzZV0sXG4gICAgICB5dXZzaWdlbWFpbHN1YmplY3Q6IFsnJ10sXG4gICAgICB5dXZzaWdlbWFpbGJvZHk6IFsnJ11cbiAgICB9KTtcbiAgICB0aGlzLmhlYWRlclRpdGxlID0gdGhpcy50cmFuc2xhdGUuaW5zdGFudCgnZW8uYWN0aW9uLnNpZ25hdHVyZS5sYWJlbCcpO1xuXG4gICAgdGhpcy5zaWduaW5nRm9ybUxpc3RlbmVyID0gdGhpcy5zaWduaW5nRm9ybS52YWx1ZUNoYW5nZXMuc3Vic2NyaWJlKCgpID0+IHRoaXMub25JbmRleERhdGFDaGFuZ2VkKCkpO1xuICAgIHRoaXMuc2lnbmluZ1NlcnZpY2UuZ2V0SW5mbygpLnN1YnNjcmliZSgoaW5mbykgPT4ge1xuICAgICAgbGV0IHBsYXRmb3JtTmFtZSA9IGluZm8ucGxhdGZvcm0gPT09ICdkb2N1c2lnbicgPyAnRG9jdVNpZ24nIDogJ0Fkb2JlIFNpZ24nO1xuICAgICAgdGhpcy5oZWFkZXJEZXNjcmlwdGlvbiA9IHRoaXMudHJhbnNsYXRlLmluc3RhbnQoJ2VvLmFjdGlvbi5zaWduYXR1cmUuZGVzY3JpcHRpb24nLCB7cGxhdGZvcm06IHBsYXRmb3JtTmFtZX0pO1xuICAgICAgaWYgKGluZm8uc2lnbmF0dXJlVHlwZXNFbmFibGVkKSB7XG4gICAgICAgIHRoaXMueXV2c2lndHlwZUNvZGVzeXN0ZW0uZW50cmllcyA9IHRoaXMuc3lzdGVtU2VydmljZS5nZXRDb2Rlc3lzdGVtKHRoaXMueXV2c2lndHlwZUNvZGVzeXN0ZW0uaWQpLmVudHJpZXM7XG4gICAgICAgIHRoaXMueXV2c2lndHlwZUNvZGVzeXN0ZW0uZW50cmllcyA9IHRoaXMueXV2c2lndHlwZUNvZGVzeXN0ZW0uZW50cmllcy5maWx0ZXIoZW50cnkgPT4gaW5mby5zaWduYXR1cmVUeXBlc0VuYWJsZWQuaW5jbHVkZXMoZW50cnkuZGF0YSkpO1xuICAgICAgfVxuXG4gICAgICB0aGlzLm1heFNpZ25lcnMgPSBpbmZvLm1heFNpZ25lcnMgfHwgNjtcblxuICAgICAgdGhpcy5zaWduaW5nRm9ybS5wYXRjaFZhbHVlKHtcbiAgICAgICAgeXV2c2lnZW1haWxzdWJqZWN0OiBpbmZvLmRlZmF1bHRFbWFpbFN1YmplY3QsXG4gICAgICAgIHl1dnNpZ2VtYWlsYm9keTogaW5mby5kZWZhdWx0RW1haWxCb2R5LFxuICAgICAgICB5dXZzaWd0eXBlOiBkZWZhdWx0U2lnbmF0dXJlVHlwZSA/IGRlZmF1bHRTaWduYXR1cmVUeXBlIDogKGluZm8uc2lnbmF0dXJlVHlwZXNFbmFibGVkID8gaW5mby5zaWduYXR1cmVUeXBlc0VuYWJsZWRbMF0gOiAnJylcbiAgICAgIH0pO1xuICAgIH0pO1xuICB9XG5cbiAgc2F2ZUZvcm0oKSB7XG4gICAgdGhpcy5wcm9jZXNzaW5nUmVxdWVzdCA9IHRydWU7XG4gICAgaWYgKHRoaXMuc2lnbmluZ0Zvcm0gJiYgIXRoaXMuc2lnbmluZ0Zvcm0uaW52YWxpZCkge1xuICAgICAgY29uc3Qgc2lnbmVycyA9ICh0aGlzLnNpZ25pbmdGb3JtLmdldCgneXV2c2lnbmVycycpLnZhbHVlIHx8IFtdKS5tYXAoKHZhbHVlLCBpbmRleCkgPT4gKHtcbiAgICAgICAgICAgIHNpZ25lck5hbWU6IHZhbHVlLm5hbWUsXG4gICAgICAgICAgICBzaWduZXJFbWFpbDogdmFsdWUuZW1haWwsXG4gICAgICAgICAgICBzaWduZXJPcmRlcjogdGhpcy5zaWduaW5nRm9ybS5nZXQoJ3BhcmFsbGVsU2lnbmluZycpLnZhbHVlID8gMSA6IGluZGV4ICsgMSxcbiAgICAgICAgICAgIHNpZ25lclBob25lOiB2YWx1ZS5waG9uZVxuICAgICAgICAgIH0pXG4gICAgICAgICk7XG4gICAgICBjb25zdCBzaWduaW5nRGF0YSA9IHtcbiAgICAgICAgZW1haWxTdWJqZWN0OiB0aGlzLnNpZ25pbmdGb3JtLmdldCgneXV2c2lnZW1haWxzdWJqZWN0JykudmFsdWUsXG4gICAgICAgIGVtYWlsQm9keTogdGhpcy5zaWduaW5nRm9ybS5nZXQoJ3l1dnNpZ2VtYWlsYm9keScpLnZhbHVlLFxuICAgICAgICBzaWduYXR1cmVUeXBlOiB0aGlzLnNpZ25pbmdGb3JtLmdldCgneXV2c2lndHlwZScpLnZhbHVlID8gdGhpcy5zaWduaW5nRm9ybS5nZXQoJ3l1dnNpZ3R5cGUnKS52YWx1ZSA6IHRoaXMueXV2c2lndHlwZUNvZGVzeXN0ZW0uZW50cmllc1swXS5kYXRhLFxuICAgICAgICBzaWduZXJzXG4gICAgICB9IGFzIFNpZ25pbmdSZXF1ZXN0O1xuICAgICAgdGhpcy5zaWduaW5nU2VydmljZVxuICAgICAgICAuc2lnbkRvY3VtZW50KHRoaXMuc2VsZWN0aW9uWzBdLmlkLCBzaWduaW5nRGF0YSlcbiAgICAgICAgLnBpcGUoXG4gICAgICAgICAgc3dpdGNoTWFwKCgpID0+IHRoaXMuZG1zU2VydmljZS5nZXREbXNPYmplY3QodGhpcy5zZWxlY3Rpb25bMF0uaWQpKVxuICAgICAgICApXG4gICAgICAgIC5zdWJzY3JpYmUoKGRtc09iamVjdCkgPT4ge1xuICAgICAgICAgIHRoaXMucHJvY2Vzc2luZ1JlcXVlc3QgPSBmYWxzZTtcbiAgICAgICAgICB0aGlzLnRvYXN0ZXIuc3VjY2Vzcyh0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KCdlby5hY3Rpb24uc2lnbmF0dXJlLnJlcXVlc3Quc3VjY2VzcycpKTtcbiAgICAgICAgICB0aGlzLnN0b3JhZ2VTZXJ2aWNlLnNldEl0ZW0odGhpcy5zaWduYXR1cmVUeXBlU3RvcmFnZUtleSwgc2lnbmluZ0RhdGEuc2lnbmF0dXJlVHlwZSk7XG4gICAgICAgICAgdGhpcy5ldmVudFNlcnZpY2UudHJpZ2dlcihFbmFpb0V2ZW50LkRNU19PQkpFQ1RfVVBEQVRFRCwgZG1zT2JqZWN0KTtcbiAgICAgICAgICB0aGlzLmZpbmlzaCgpO1xuICAgICAgICB9LCBVdGlscy50aHJvdyhlcnJvciA9PiB7XG4gICAgICAgICAgaWYgKGVycm9yLnN0YXR1cyA9PT0gNTAwKSB7XG4gICAgICAgICAgICB0aGlzLnRvYXN0ZXIuZXJyb3IodGhpcy50cmFuc2xhdGUuaW5zdGFudCgnZW8uZXJyb3IuY29ubmVjdGlvbi5pbnRlcnJ1cHRlZC50aXRsZScpLCB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KCdlby5lcnJvci5jb25uZWN0aW9uLmludGVycnVwdGVkLnRleHQnKSk7XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMudG9hc3Rlci5lcnJvcihlcnJvci5lcnJvcj8ubWVzc2FnZSk7XG4gICAgICAgICAgfVxuICAgICAgICAgIHRoaXMucHJvY2Vzc2luZ1JlcXVlc3QgPSBmYWxzZTtcbiAgICAgICAgfSkpO1xuICAgIH1cbiAgfVxuXG4gIGZpbmlzaCgpIHtcbiAgICB0aGlzLmZpbmlzaFBlbmRpbmcoKTtcbiAgICB0aGlzLmRpYWxvZy52aXNpYmxlID0gZmFsc2U7XG4gICAgdGhpcy5maW5pc2hlZC5lbWl0KCk7XG4gIH1cblxuICBjYW5jZWwoKSB7XG4gICAgaWYgKCF0aGlzLnBlbmRpbmdDaGFuZ2VzLmNoZWNrRm9yUGVuZGluZ1Rhc2tzKHRoaXMucGVuZGluZ1Rhc2tJZHMpKSB7XG4gICAgICB0aGlzLmZpbmlzaFBlbmRpbmcoKTtcbiAgICAgIHRoaXMuZGlhbG9nLnZpc2libGUgPSBmYWxzZTtcbiAgICAgIHRoaXMuY2FuY2VsZWQuZW1pdCgpO1xuICAgIH1cbiAgfVxuXG4gIG9uSW5kZXhEYXRhQ2hhbmdlZCgpIHtcbiAgICBpZiAodGhpcy5zaWduaW5nRm9ybS5kaXJ0eSkge1xuICAgICAgdGhpcy5zdGFydFBlbmRpbmcoKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5maW5pc2hQZW5kaW5nKCk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBzdGFydFBlbmRpbmcoKSB7XG4gICAgLy8gYmVjYXVzZSB0aGlzIG1ldGhvZCB3aWxsIGJlIGNhbGxlZCBldmVyeSB0aW1lIHRoZSBmb3JtIHN0YXR1cyBjaGFuZ2VzLFxuICAgIC8vIHBlbmRpbmcgdGFzayB3aWxsIG9ubHkgYmUgc3RhcnRlZCBvbmNlIHVudGlsIGl0IHdhcyBmaW5pc2hlZFxuICAgIGlmICghdGhpcy5wZW5kaW5nQ2hhbmdlcy5oYXNQZW5kaW5nVGFzayh0aGlzLnBlbmRpbmdUYXNrSWRzWzBdIHx8ICcgJykpIHtcbiAgICAgIHRoaXMucGVuZGluZ1Rhc2tJZHMgPSBbdGhpcy5wZW5kaW5nQ2hhbmdlcy5zdGFydFRhc2soKV07XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBmaW5pc2hQZW5kaW5nKCkge1xuICAgIHRoaXMucGVuZGluZ0NoYW5nZXMuZmluaXNoVGFzayh0aGlzLnBlbmRpbmdUYXNrSWRzWzBdKTtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuc2lnbmluZ0Zvcm1MaXN0ZW5lci51bnN1YnNjcmliZSgpO1xuICB9XG59XG4iLCI8ZW8tZGlhbG9nIFt0aXRsZV09XCJoZWFkZXJUaXRsZVwiXG4gICAgICAgICAgIFtzdWJ0aXRsZV09XCJoZWFkZXJEZXNjcmlwdGlvblwiXG4gICAgICAgICAgIFt2aXNpYmxlXT1cInRydWVcIlxuICAgICAgICAgICBbZGlydHlDaGVja109XCJwZW5kaW5nVGFza0lkc1wiXG4gICAgICAgICAgIFttaW5XaWR0aF09XCI2MDBcIlxuICAgICAgICAgICBbbWluSGVpZ2h0XT1cIjYwMFwiXG4gICAgICAgICAgIFtzdHlsZUNsYXNzXT1cIidwcm9jZXNzLWZvcm0tZGlhbG9nJ1wiICNkaWFsb2c+XG5cbiAgPHNlY3Rpb24gY2xhc3M9XCJzaWduYXR1cmUtZm9ybSBmb3JtLWNvbnRhaW5lclwiPlxuICAgIDxmb3JtIGNsYXNzPVwic2lnbmluZy1mb3JtXCIgW2Zvcm1Hcm91cF09XCJzaWduaW5nRm9ybVwiPlxuICAgICAgPGVvLXNlcXVlbmNlLWxpc3QgY2xhc3M9XCJlbnRyeV9mb3JtXCIgZm9ybS1vcGVuPVwidHJ1ZVwiIFtNQVhfU0lHTkVSU109XCJtYXhTaWduZXJzXCIgKGl0ZW1FZGl0KT1cIm1vZGUgPSAkZXZlbnRcIiBbcGhvbmVSZXF1aXJlZF09XCJzaWduaW5nRm9ybS5nZXQoJ3l1dnNpZ3R5cGUnKS52YWx1ZSA9PT0gJ2FkdmFuY2VkJ1wiIFtmb3JtQ29udHJvbE5hbWVdPVwiJ3l1dnNpZ25lcnMnXCI+XG4gICAgICA8L2VvLXNlcXVlbmNlLWxpc3Q+XG4gICAgICA8ZW8tZm9ybS1pbnB1dCAqbmdJZj1cInl1dnNpZ3R5cGVDb2Rlc3lzdGVtLmVudHJpZXMubGVuZ3RoID4gMVwiIFtyZXF1aXJlZF09XCJ0cnVlXCIgW2xhYmVsXT1cIidlby5hY3Rpb24uc2lnbmF0dXJlLnl1dnNpZ25pbmcueXV2c2lndHlwZScgfCB0cmFuc2xhdGVcIj5cbiAgICAgICAgPGVvLWNvZGVzeXN0ZW1cbiAgICAgICAgICBbZm9ybUNvbnRyb2xOYW1lXT1cIid5dXZzaWd0eXBlJ1wiXG4gICAgICAgICAgW2NvZGVzeXN0ZW1dPVwieXV2c2lndHlwZUNvZGVzeXN0ZW1cIlxuICAgICAgICAgIFtyZXF1aXJlZF09XCJ0cnVlXCJcbiAgICAgICAgPjwvZW8tY29kZXN5c3RlbT5cbiAgICAgIDwvZW8tZm9ybS1pbnB1dD5cbiAgICAgIDxlby1mb3JtLWlucHV0IFtza2lwVG9nZ2xlXT1cInRydWVcIiBbbGFiZWxdPVwiJ2VvLmFjdGlvbi5zaWduYXR1cmUueXV2c2lnbmVycy5wYXJhbGxlbCcgfCB0cmFuc2xhdGVcIj5cbiAgICAgICAgPGVvLWNoZWNrYm94IGZvcm1Db250cm9sTmFtZT1cInBhcmFsbGVsU2lnbmluZ1wiPjwvZW8tY2hlY2tib3g+XG4gICAgICA8L2VvLWZvcm0taW5wdXQ+XG4gICAgICA8ZW8tZm9ybS1pbnB1dCBbbGFiZWxdPVwiJ2VvLmFjdGlvbi5zaWduYXR1cmUueXV2c2lnbmluZy55dXZzaWdlbWFpbHN1YmplY3QnIHwgdHJhbnNsYXRlXCIgW3JlcXVpcmVkXT1cInRydWVcIj5cbiAgICAgICAgPGVvLXN0cmluZ1xuICAgICAgICAgIFtmb3JtQ29udHJvbE5hbWVdPVwiJ3l1dnNpZ2VtYWlsc3ViamVjdCdcIlxuICAgICAgICAgIFttaW5MZW5ndGhdPVwiM1wiXG4gICAgICAgICAgW21heExlbmd0aF09XCIxMDBcIlxuICAgICAgICAgIFtyZXF1aXJlZF09XCJ0cnVlXCJcbiAgICAgICAgPjwvZW8tc3RyaW5nPlxuICAgICAgPC9lby1mb3JtLWlucHV0PlxuICAgICAgPHNtYWxsIGNsYXNzPVwiZXJyb3JzXCIgKm5nSWY9XCJzaWduaW5nRm9ybS5nZXQoJ3l1dnNpZ2VtYWlsc3ViamVjdCcpLmhhc0Vycm9yKCdyZXF1aXJlZCcpXCIgdHJhbnNsYXRlPmVvLmZvcm0ucHJvcGVydHkucmVxdWlyZWQ8L3NtYWxsPlxuICAgICAgPGVvLWZvcm0taW5wdXQgW2xhYmVsXT1cIidlby5hY3Rpb24uc2lnbmF0dXJlLnl1dnNpZ25pbmcueXV2c2lnZW1haWxib2R5JyB8IHRyYW5zbGF0ZVwiIFtyZXF1aXJlZF09XCJ0cnVlXCI+XG4gICAgICAgIDxlby1zdHJpbmdcbiAgICAgICAgICBbZm9ybUNvbnRyb2xOYW1lXT1cIid5dXZzaWdlbWFpbGJvZHknXCJcbiAgICAgICAgICBbbXVsdGlsaW5lXT1cInRydWVcIlxuICAgICAgICAgIFtzaXplXT1cIidzbWFsbCdcIlxuICAgICAgICAgIFttaW5MZW5ndGhdPVwiM1wiXG4gICAgICAgICAgW21heExlbmd0aF09XCI0MDAwXCJcbiAgICAgICAgICBbcmVxdWlyZWRdPVwidHJ1ZVwiXG4gICAgICAgID48L2VvLXN0cmluZz5cbiAgICAgIDwvZW8tZm9ybS1pbnB1dD5cbiAgICAgIDxzbWFsbCBjbGFzcz1cImVycm9yc1wiICpuZ0lmPVwic2lnbmluZ0Zvcm0uZ2V0KCd5dXZzaWdlbWFpbGJvZHknKS5oYXNFcnJvcigncmVxdWlyZWQnKVwiIHRyYW5zbGF0ZT5lby5mb3JtLnByb3BlcnR5LnJlcXVpcmVkPC9zbWFsbD5cbiAgICA8L2Zvcm0+XG5cbiAgICA8ZGl2IGNsYXNzPVwiYWN0aW9uc1wiPlxuICAgICAgPGRpdiAqbmdJZj1cInNpZ25pbmdGb3JtPy5pbnZhbGlkXCIgY2xhc3M9XCJpbnZhbGlkXCIgdHJhbnNsYXRlPmVvLm9iamVjdC5pbmRleGRhdGEuZm9ybS5pbnZhbGlkPC9kaXY+XG4gICAgICA8ZW8tY3RhIFthY3RpdmVdPVwiIXByb2Nlc3NpbmdSZXF1ZXN0XCIgY2xhc3M9XCJjdGEtd3JhcHBlclwiPlxuICAgICAgICA8YnV0dG9uIChjbGljayk9XCJjYW5jZWwoKVwiIGNsYXNzPVwiYnV0dG9uLWNhbmNlbFwiIHRyYW5zbGF0ZT5lby5hY3Rpb24uc2lnbmF0dXJlLmNhbmNlbDwvYnV0dG9uPlxuICAgICAgICA8YnV0dG9uIChjbGljayk9XCJzYXZlRm9ybSgpXCIgW2Rpc2FibGVkXT1cInNpZ25pbmdGb3JtPy5pbnZhbGlkIHx8IHByb2Nlc3NpbmdSZXF1ZXN0IHx8ICFzaWduaW5nRm9ybS5nZXQoJ3l1dnNpZ25lcnMnKS52YWx1ZSB8fCAhc2lnbmluZ0Zvcm0uZ2V0KCd5dXZzaWduZXJzJykudmFsdWUubGVuZ3RoXCIgY2xhc3M9XCJwcmltYXJ5XCIgdHJhbnNsYXRlPmVvLmFjdGlvbi5zaWduYXR1cmUucmVxdWVzdDwvYnV0dG9uPlxuICAgICAgPC9lby1jdGE+XG4gICAgPC9kaXY+XG4gIDwvc2VjdGlvbj5cbiAgPGRpdiBjbGFzcz1cImxvYWRlci1vdmVybGF5X19tYXNrXCIgKm5nSWY9XCJwcm9jZXNzaW5nUmVxdWVzdFwiPlxuICAgIDxlby1sb2FkaW5nLXNwaW5uZXIgY2xhc3M9XCJzaWduYXR1cmVfX2xvYWRlclwiIFtzaXplXT1cIidsYXJnZSdcIj48L2VvLWxvYWRpbmctc3Bpbm5lcj5cbiAgPC9kaXY+XG48L2VvLWRpYWxvZz5cbiJdfQ==
146
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2lnbmF0dXJlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvZW8tZnJhbWV3b3JrL2FjdGlvbnMvYWN0aW9ucy9zaWduYXR1cmUtYWN0aW9uL3NpZ25hdHVyZS9zaWduYXR1cmUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9lby1mcmFtZXdvcmsvYWN0aW9ucy9hY3Rpb25zL3NpZ25hdHVyZS1hY3Rpb24vc2lnbmF0dXJlL3NpZ25hdHVyZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQVksTUFBTSxlQUFlLENBQUM7QUFDNUUsT0FBTyxFQUNMLEtBQUssRUFNTCxVQUFVLEVBS1gsTUFBTSxjQUFjLENBQUM7QUFPdEIsT0FBTyxFQUFDLFNBQVMsRUFBQyxNQUFNLGdCQUFnQixDQUFDOzs7Ozs7Ozs7Ozs7Ozs7QUFRekMsTUFBTSxPQUFPLGtCQUFrQjtJQTRCN0IsWUFBb0IsVUFBc0IsRUFDaEMsY0FBcUMsRUFDckMsU0FBMkIsRUFDM0IsT0FBNkIsRUFDN0IsY0FBOEIsRUFDOUIsWUFBMEIsRUFDMUIsVUFBc0IsRUFDdEIsYUFBNEIsRUFDNUIsY0FBbUMsRUFDbkMsRUFBc0I7UUFUWixlQUFVLEdBQVYsVUFBVSxDQUFZO1FBQ2hDLG1CQUFjLEdBQWQsY0FBYyxDQUF1QjtRQUNyQyxjQUFTLEdBQVQsU0FBUyxDQUFrQjtRQUMzQixZQUFPLEdBQVAsT0FBTyxDQUFzQjtRQUM3QixtQkFBYyxHQUFkLGNBQWMsQ0FBZ0I7UUFDOUIsaUJBQVksR0FBWixZQUFZLENBQWM7UUFDMUIsZUFBVSxHQUFWLFVBQVUsQ0FBWTtRQUN0QixrQkFBYSxHQUFiLGFBQWEsQ0FBZTtRQUM1QixtQkFBYyxHQUFkLGNBQWMsQ0FBcUI7UUFDbkMsT0FBRSxHQUFGLEVBQUUsQ0FBb0I7UUFuQ2hDLGFBQVEsR0FBc0IsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUNqRCxhQUFRLEdBQXNCLElBQUksWUFBWSxFQUFFLENBQUM7UUFTakQsMERBQTBEO1FBQzFELHVEQUF1RDtRQUN2RCxtQkFBYyxHQUFhLEVBQUUsQ0FBQztRQU05Qix5QkFBb0IsR0FBRztZQUNyQixFQUFFLEVBQUUsa0NBQWtDO1lBQ3RDLElBQUksRUFBRSxZQUFZO1lBQ2xCLE9BQU8sRUFBRSxFQUFFO1NBQ1osQ0FBQztRQUNGLDRCQUF1QixHQUFHLG1CQUFtQixDQUFDO1FBQzlDLGdDQUEyQixHQUFHLHVCQUF1QixDQUFDO1FBWXBELE1BQU0sb0JBQW9CLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLHVCQUF1QixDQUFDLENBQUM7UUFDdkYsTUFBTSx3QkFBd0IsR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsMkJBQTJCLENBQUMsQ0FBQztRQUUvRixJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDO1lBQy9CLFVBQVUsRUFBRSxFQUFFO1lBQ2QsVUFBVSxFQUFFLEVBQUU7WUFDZCxlQUFlLEVBQUUsQ0FBQyx3QkFBd0IsQ0FBQyxDQUFDLENBQUMsd0JBQXdCLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQztZQUM5RSxrQkFBa0IsRUFBRSxDQUFDLEVBQUUsQ0FBQztZQUN4QixlQUFlLEVBQUUsQ0FBQyxFQUFFLENBQUM7U0FDdEIsQ0FBQyxDQUFDO1FBQ0gsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQywyQkFBMkIsQ0FBQyxDQUFDO1FBRXZFLElBQUksQ0FBQyxtQkFBbUIsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLFlBQVksQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLGtCQUFrQixFQUFFLENBQUMsQ0FBQztRQUNwRyxJQUFJLENBQUMsY0FBYyxDQUFDLE9BQU8sRUFBRSxDQUFDLFNBQVMsQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFO1lBQy9DLElBQUksWUFBWSxHQUFHLElBQUksQ0FBQyxRQUFRLEtBQUssVUFBVSxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLFlBQVksQ0FBQztZQUM1RSxJQUFJLENBQUMsaUJBQWlCLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsaUNBQWlDLEVBQUUsRUFBQyxRQUFRLEVBQUUsWUFBWSxFQUFDLENBQUMsQ0FBQztZQUM3RyxJQUFJLElBQUksQ0FBQyxxQkFBcUIsRUFBRSxDQUFDO2dCQUMvQixJQUFJLENBQUMsb0JBQW9CLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLENBQUM7Z0JBQzNHLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLG9CQUFvQixDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMscUJBQXFCLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO1lBQ3pJLENBQUM7WUFFRCxJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQyxVQUFVLElBQUksQ0FBQyxDQUFDO1lBRXZDLElBQUksQ0FBQyxXQUFXLENBQUMsVUFBVSxDQUFDO2dCQUMxQixrQkFBa0IsRUFBRSxJQUFJLENBQUMsbUJBQW1CO2dCQUM1QyxlQUFlLEVBQUUsSUFBSSxDQUFDLGdCQUFnQjtnQkFDdEMsVUFBVSxFQUFFLG9CQUFvQixDQUFDLENBQUMsQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMscUJBQXFCLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO2FBQzVILENBQUMsQ0FBQztRQUNMLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELFFBQVE7UUFDTixJQUFJLENBQUMsaUJBQWlCLEdBQUcsSUFBSSxDQUFDO1FBQzlCLElBQUksSUFBSSxDQUFDLFdBQVcsSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsT0FBTyxFQUFFLENBQUM7WUFDbEQsTUFBTSxPQUFPLEdBQUcsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLEdBQUcsQ0FBQyxZQUFZLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsS0FBSyxFQUFFLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQztnQkFDbEYsVUFBVSxFQUFFLEtBQUssQ0FBQyxJQUFJO2dCQUN0QixXQUFXLEVBQUUsS0FBSyxDQUFDLEtBQUs7Z0JBQ3hCLFdBQVcsRUFBRSxJQUFJLENBQUMsV0FBVyxDQUFDLEdBQUcsQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLEdBQUcsQ0FBQztnQkFDMUUsV0FBVyxFQUFFLEtBQUssQ0FBQyxLQUFLO2FBQ3pCLENBQUMsQ0FDSCxDQUFDO1lBQ0osTUFBTSxXQUFXLEdBQUc7Z0JBQ2xCLFlBQVksRUFBRSxJQUFJLENBQUMsV0FBVyxDQUFDLEdBQUcsQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDLEtBQUs7Z0JBQzlELFNBQVMsRUFBRSxJQUFJLENBQUMsV0FBVyxDQUFDLEdBQUcsQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDLEtBQUs7Z0JBQ3hELGFBQWEsRUFBRSxJQUFJLENBQUMsV0FBVyxDQUFDLEdBQUcsQ0FBQyxZQUFZLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUFDLFlBQVksQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLG9CQUFvQixDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJO2dCQUM5SSxPQUFPO2FBQ1UsQ0FBQztZQUNwQixJQUFJLENBQUMsY0FBYztpQkFDaEIsWUFBWSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLFdBQVcsQ0FBQztpQkFDL0MsSUFBSSxDQUNILFNBQVMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQ3BFO2lCQUNBLFNBQVMsQ0FBQyxDQUFDLFNBQVMsRUFBRSxFQUFFO2dCQUN2QixJQUFJLENBQUMsaUJBQWlCLEdBQUcsS0FBSyxDQUFDO2dCQUMvQixJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxxQ0FBcUMsQ0FBQyxDQUFDLENBQUM7Z0JBQ3BGLElBQUksQ0FBQyxjQUFjLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyx1QkFBdUIsRUFBRSxXQUFXLENBQUMsYUFBYSxDQUFDLENBQUM7Z0JBQ3JGLElBQUksQ0FBQyxZQUFZLENBQUMsT0FBTyxDQUFDLFVBQVUsQ0FBQyxrQkFBa0IsRUFBRSxTQUFTLENBQUMsQ0FBQztnQkFDcEUsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDO1lBQ2hCLENBQUMsRUFBRSxLQUFLLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxFQUFFO2dCQUNyQixJQUFJLEtBQUssQ0FBQyxNQUFNLEtBQUssR0FBRyxFQUFFLENBQUM7b0JBQ3pCLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLHVDQUF1QyxDQUFDLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsc0NBQXNDLENBQUMsQ0FBQyxDQUFDO2dCQUN0SixDQUFDO3FCQUFNLENBQUM7b0JBQ04sSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLEtBQUssRUFBRSxPQUFPLENBQUMsQ0FBQztnQkFDM0MsQ0FBQztnQkFDRCxJQUFJLENBQUMsaUJBQWlCLEdBQUcsS0FBSyxDQUFDO1lBQ2pDLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDUixDQUFDO0lBQ0gsQ0FBQztJQUVELE1BQU07UUFDSixJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7UUFDckIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLEdBQUcsS0FBSyxDQUFDO1FBQzVCLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDdkIsQ0FBQztJQUVELE1BQU07UUFDSixJQUFJLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxvQkFBb0IsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLEVBQUUsQ0FBQztZQUNuRSxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7WUFDckIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLEdBQUcsS0FBSyxDQUFDO1lBQzVCLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDdkIsQ0FBQztJQUNILENBQUM7SUFFRCxrQkFBa0I7UUFDaEIsSUFBSSxJQUFJLENBQUMsV0FBVyxDQUFDLEtBQUssRUFBRSxDQUFDO1lBQzNCLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUN0QixDQUFDO2FBQU0sQ0FBQztZQUNOLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztRQUN2QixDQUFDO0lBQ0gsQ0FBQztJQUVPLFlBQVk7UUFDbEIseUVBQXlFO1FBQ3pFLCtEQUErRDtRQUMvRCxJQUFJLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsSUFBSSxHQUFHLENBQUMsRUFBRSxDQUFDO1lBQ3ZFLElBQUksQ0FBQyxjQUFjLEdBQUcsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLFNBQVMsRUFBRSxDQUFDLENBQUM7UUFDMUQsQ0FBQztJQUNILENBQUM7SUFFTyxhQUFhO1FBQ25CLElBQUksQ0FBQyxjQUFjLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUN6RCxDQUFDO0lBRUQsV0FBVztRQUNULElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxXQUFXLEVBQUUsQ0FBQztJQUN6QyxDQUFDOzhHQS9JVSxrQkFBa0I7a0dBQWxCLGtCQUFrQixzSkM1Qi9CLGcrRkF3REE7OzJGRDVCYSxrQkFBa0I7a0JBTDlCLFNBQVM7K0JBQ0UsY0FBYztxV0FvQkgsTUFBTTtzQkFBMUIsU0FBUzt1QkFBQyxRQUFRIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDb21wb25lbnQsIFZpZXdDaGlsZCwgRXZlbnRFbWl0dGVyLCBPbkRlc3Ryb3l9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgVXRpbHMsXG4gIEJwbVNlcnZpY2UsXG4gIE5vdGlmaWNhdGlvbnNTZXJ2aWNlLFxuICBUcmFuc2xhdGVTZXJ2aWNlLFxuICBTaWduaW5nU2VydmljZSxcbiAgU2lnbmluZ1JlcXVlc3QsXG4gIEVuYWlvRXZlbnQsXG4gIEV2ZW50U2VydmljZSxcbiAgRG1zU2VydmljZSxcbiAgU3lzdGVtU2VydmljZSxcbiAgTG9jYWxTdG9yYWdlU2VydmljZVxufSBmcm9tICdAZW8tc2RrL2NvcmUnO1xuaW1wb3J0IHtFb0RpYWxvZ0NvbXBvbmVudH0gZnJvbSAnLi4vLi4vLi4vLi4vdWkvZW8tZGlhbG9nL2VvLWRpYWxvZy5jb21wb25lbnQnO1xuaW1wb3J0IHtBY3Rpb25Db21wb25lbnR9IGZyb20gJy4uLy4uLy4uL2ludGVyZmFjZXMvYWN0aW9uLWNvbXBvbmVudC5pbnRlcmZhY2UnO1xuaW1wb3J0IHtQZW5kaW5nQ2hhbmdlc1NlcnZpY2V9IGZyb20gJy4uLy4uLy4uLy4uLy4uL2VvLWZyYW1ld29yay1jb3JlL3BlbmRpbmctY2hhbmdlcy9wZW5kaW5nLWNoYW5nZXMuc2VydmljZSc7XG5pbXBvcnQge09iamVjdEZvcm1PcHRpb25zfSBmcm9tICcuLi8uLi8uLi8uLi9vYmplY3QtZm9ybSc7XG5pbXBvcnQge0Zvcm1Hcm91cCwgVW50eXBlZEZvcm1CdWlsZGVyfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQge1N1YnNjcmlwdGlvbn0gZnJvbSAncnhqcyc7XG5pbXBvcnQge3N3aXRjaE1hcH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHtDaGFuZ2VNb2RlfSBmcm9tICcuLi9zaWduYXR1cmUubW9kZWwnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdlby1zaWduYXR1cmUnLFxuICB0ZW1wbGF0ZVVybDogJy4vc2lnbmF0dXJlLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vc2lnbmF0dXJlLmNvbXBvbmVudC5zY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgU2lnbmF0dXJlQ29tcG9uZW50IGltcGxlbWVudHMgQWN0aW9uQ29tcG9uZW50LCBPbkRlc3Ryb3kge1xuICBzZWxlY3Rpb246IGFueVtdO1xuICBmaW5pc2hlZDogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG4gIGNhbmNlbGVkOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcbiAgcHJvY2Vzc2luZ1JlcXVlc3Q6IGJvb2xlYW47XG4gIGhlYWRlclRpdGxlOiBzdHJpbmc7XG4gIGhlYWRlckRlc2NyaXB0aW9uOiBzdHJpbmc7XG4gIHNlbGVjdGVkOiBhbnk7XG4gIGZvcm1PcHRpb25zOiBPYmplY3RGb3JtT3B0aW9ucztcbiAgY29udGVudHM6IHtpZDogc3RyaW5nLCB0eXBlOiBzdHJpbmd9W107XG4gIG1vZGU6IENoYW5nZU1vZGU7XG5cbiAgLy8gSUQgc2V0IGJ5IHBlbmRpbmdDaGFuZ2VzIHNlcnZpY2Ugd2hlbiBlZGl0aW5nIGluZGV4ZGF0YVxuICAvLyBVc2VkIHRvIGZpbmlzaCB0aGUgcGVuZGluZyB0YXNrIHdoZW4gZWRpdGluZyBpcyBkb25lXG4gIHBlbmRpbmdUYXNrSWRzOiBzdHJpbmdbXSA9IFtdO1xuXG4gIEBWaWV3Q2hpbGQoJ2RpYWxvZycpIGRpYWxvZzogRW9EaWFsb2dDb21wb25lbnQ7XG4gIHNpZ25pbmdGb3JtOiBGb3JtR3JvdXA7XG4gIG1heFNpZ25lcnM6IG51bWJlcjtcbiAgc2lnbmluZ0Zvcm1MaXN0ZW5lcjogU3Vic2NyaXB0aW9uO1xuICB5dXZzaWd0eXBlQ29kZXN5c3RlbSA9IHtcbiAgICBpZDogJzEyOTFCQUI5MUIwRDQ5RDFBOUE0REZDQ0Y0OUExNjY2JyxcbiAgICBuYW1lOiAneXV2c2lndHlwZScsXG4gICAgZW50cmllczogW11cbiAgfTtcbiAgc2lnbmF0dXJlVHlwZVN0b3JhZ2VLZXkgPSAnZW8uc2lnbmF0dXJlLnR5cGUnO1xuICBzaWduYXR1cmVQYXJhbGxlbFN0b3JhZ2VLZXkgPSAnZW8uc2lnbmF0dXJlLnBhcmFsbGVsJztcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGJwbVNlcnZpY2U6IEJwbVNlcnZpY2UsXG4gICAgcHJpdmF0ZSBwZW5kaW5nQ2hhbmdlczogUGVuZGluZ0NoYW5nZXNTZXJ2aWNlLFxuICAgIHByaXZhdGUgdHJhbnNsYXRlOiBUcmFuc2xhdGVTZXJ2aWNlLFxuICAgIHByaXZhdGUgdG9hc3RlcjogTm90aWZpY2F0aW9uc1NlcnZpY2UsXG4gICAgcHJpdmF0ZSBzaWduaW5nU2VydmljZTogU2lnbmluZ1NlcnZpY2UsXG4gICAgcHJpdmF0ZSBldmVudFNlcnZpY2U6IEV2ZW50U2VydmljZSxcbiAgICBwcml2YXRlIGRtc1NlcnZpY2U6IERtc1NlcnZpY2UsXG4gICAgcHJpdmF0ZSBzeXN0ZW1TZXJ2aWNlOiBTeXN0ZW1TZXJ2aWNlLFxuICAgIHByaXZhdGUgc3RvcmFnZVNlcnZpY2U6IExvY2FsU3RvcmFnZVNlcnZpY2UsXG4gICAgcHJpdmF0ZSBmYjogVW50eXBlZEZvcm1CdWlsZGVyKSB7XG4gICAgY29uc3QgZGVmYXVsdFNpZ25hdHVyZVR5cGUgPSB0aGlzLnN0b3JhZ2VTZXJ2aWNlLmdldEl0ZW0odGhpcy5zaWduYXR1cmVUeXBlU3RvcmFnZUtleSk7XG4gICAgY29uc3QgZGVmYXVsdFNpZ25hdHVyZVBhcmFsbGVsID0gdGhpcy5zdG9yYWdlU2VydmljZS5nZXRJdGVtKHRoaXMuc2lnbmF0dXJlUGFyYWxsZWxTdG9yYWdlS2V5KTtcblxuICAgIHRoaXMuc2lnbmluZ0Zvcm0gPSB0aGlzLmZiLmdyb3VwKHtcbiAgICAgIHl1dnNpZ3R5cGU6IFtdLFxuICAgICAgeXV2c2lnbmVyczogW10sXG4gICAgICBwYXJhbGxlbFNpZ25pbmc6IFtkZWZhdWx0U2lnbmF0dXJlUGFyYWxsZWwgPyBkZWZhdWx0U2lnbmF0dXJlUGFyYWxsZWwgOiBmYWxzZV0sXG4gICAgICB5dXZzaWdlbWFpbHN1YmplY3Q6IFsnJ10sXG4gICAgICB5dXZzaWdlbWFpbGJvZHk6IFsnJ11cbiAgICB9KTtcbiAgICB0aGlzLmhlYWRlclRpdGxlID0gdGhpcy50cmFuc2xhdGUuaW5zdGFudCgnZW8uYWN0aW9uLnNpZ25hdHVyZS5sYWJlbCcpO1xuXG4gICAgdGhpcy5zaWduaW5nRm9ybUxpc3RlbmVyID0gdGhpcy5zaWduaW5nRm9ybS52YWx1ZUNoYW5nZXMuc3Vic2NyaWJlKCgpID0+IHRoaXMub25JbmRleERhdGFDaGFuZ2VkKCkpO1xuICAgIHRoaXMuc2lnbmluZ1NlcnZpY2UuZ2V0SW5mbygpLnN1YnNjcmliZSgoaW5mbykgPT4ge1xuICAgICAgbGV0IHBsYXRmb3JtTmFtZSA9IGluZm8ucGxhdGZvcm0gPT09ICdkb2N1c2lnbicgPyAnRG9jdVNpZ24nIDogJ0Fkb2JlIFNpZ24nO1xuICAgICAgdGhpcy5oZWFkZXJEZXNjcmlwdGlvbiA9IHRoaXMudHJhbnNsYXRlLmluc3RhbnQoJ2VvLmFjdGlvbi5zaWduYXR1cmUuZGVzY3JpcHRpb24nLCB7cGxhdGZvcm06IHBsYXRmb3JtTmFtZX0pO1xuICAgICAgaWYgKGluZm8uc2lnbmF0dXJlVHlwZXNFbmFibGVkKSB7XG4gICAgICAgIHRoaXMueXV2c2lndHlwZUNvZGVzeXN0ZW0uZW50cmllcyA9IHRoaXMuc3lzdGVtU2VydmljZS5nZXRDb2Rlc3lzdGVtKHRoaXMueXV2c2lndHlwZUNvZGVzeXN0ZW0uaWQpLmVudHJpZXM7XG4gICAgICAgIHRoaXMueXV2c2lndHlwZUNvZGVzeXN0ZW0uZW50cmllcyA9IHRoaXMueXV2c2lndHlwZUNvZGVzeXN0ZW0uZW50cmllcy5maWx0ZXIoZW50cnkgPT4gaW5mby5zaWduYXR1cmVUeXBlc0VuYWJsZWQuaW5jbHVkZXMoZW50cnkuZGF0YSkpO1xuICAgICAgfVxuXG4gICAgICB0aGlzLm1heFNpZ25lcnMgPSBpbmZvLm1heFNpZ25lcnMgfHwgNjtcblxuICAgICAgdGhpcy5zaWduaW5nRm9ybS5wYXRjaFZhbHVlKHtcbiAgICAgICAgeXV2c2lnZW1haWxzdWJqZWN0OiBpbmZvLmRlZmF1bHRFbWFpbFN1YmplY3QsXG4gICAgICAgIHl1dnNpZ2VtYWlsYm9keTogaW5mby5kZWZhdWx0RW1haWxCb2R5LFxuICAgICAgICB5dXZzaWd0eXBlOiBkZWZhdWx0U2lnbmF0dXJlVHlwZSA/IGRlZmF1bHRTaWduYXR1cmVUeXBlIDogKGluZm8uc2lnbmF0dXJlVHlwZXNFbmFibGVkID8gaW5mby5zaWduYXR1cmVUeXBlc0VuYWJsZWRbMF0gOiAnJylcbiAgICAgIH0pO1xuICAgIH0pO1xuICB9XG5cbiAgc2F2ZUZvcm0oKSB7XG4gICAgdGhpcy5wcm9jZXNzaW5nUmVxdWVzdCA9IHRydWU7XG4gICAgaWYgKHRoaXMuc2lnbmluZ0Zvcm0gJiYgIXRoaXMuc2lnbmluZ0Zvcm0uaW52YWxpZCkge1xuICAgICAgY29uc3Qgc2lnbmVycyA9ICh0aGlzLnNpZ25pbmdGb3JtLmdldCgneXV2c2lnbmVycycpLnZhbHVlIHx8IFtdKS5tYXAoKHZhbHVlLCBpbmRleCkgPT4gKHtcbiAgICAgICAgICAgIHNpZ25lck5hbWU6IHZhbHVlLm5hbWUsXG4gICAgICAgICAgICBzaWduZXJFbWFpbDogdmFsdWUuZW1haWwsXG4gICAgICAgICAgICBzaWduZXJPcmRlcjogdGhpcy5zaWduaW5nRm9ybS5nZXQoJ3BhcmFsbGVsU2lnbmluZycpLnZhbHVlID8gMSA6IGluZGV4ICsgMSxcbiAgICAgICAgICAgIHNpZ25lclBob25lOiB2YWx1ZS5waG9uZVxuICAgICAgICAgIH0pXG4gICAgICAgICk7XG4gICAgICBjb25zdCBzaWduaW5nRGF0YSA9IHtcbiAgICAgICAgZW1haWxTdWJqZWN0OiB0aGlzLnNpZ25pbmdGb3JtLmdldCgneXV2c2lnZW1haWxzdWJqZWN0JykudmFsdWUsXG4gICAgICAgIGVtYWlsQm9keTogdGhpcy5zaWduaW5nRm9ybS5nZXQoJ3l1dnNpZ2VtYWlsYm9keScpLnZhbHVlLFxuICAgICAgICBzaWduYXR1cmVUeXBlOiB0aGlzLnNpZ25pbmdGb3JtLmdldCgneXV2c2lndHlwZScpLnZhbHVlID8gdGhpcy5zaWduaW5nRm9ybS5nZXQoJ3l1dnNpZ3R5cGUnKS52YWx1ZSA6IHRoaXMueXV2c2lndHlwZUNvZGVzeXN0ZW0uZW50cmllc1swXS5kYXRhLFxuICAgICAgICBzaWduZXJzXG4gICAgICB9IGFzIFNpZ25pbmdSZXF1ZXN0O1xuICAgICAgdGhpcy5zaWduaW5nU2VydmljZVxuICAgICAgICAuc2lnbkRvY3VtZW50KHRoaXMuc2VsZWN0aW9uWzBdLmlkLCBzaWduaW5nRGF0YSlcbiAgICAgICAgLnBpcGUoXG4gICAgICAgICAgc3dpdGNoTWFwKCgpID0+IHRoaXMuZG1zU2VydmljZS5nZXREbXNPYmplY3QodGhpcy5zZWxlY3Rpb25bMF0uaWQpKVxuICAgICAgICApXG4gICAgICAgIC5zdWJzY3JpYmUoKGRtc09iamVjdCkgPT4ge1xuICAgICAgICAgIHRoaXMucHJvY2Vzc2luZ1JlcXVlc3QgPSBmYWxzZTtcbiAgICAgICAgICB0aGlzLnRvYXN0ZXIuc3VjY2Vzcyh0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KCdlby5hY3Rpb24uc2lnbmF0dXJlLnJlcXVlc3Quc3VjY2VzcycpKTtcbiAgICAgICAgICB0aGlzLnN0b3JhZ2VTZXJ2aWNlLnNldEl0ZW0odGhpcy5zaWduYXR1cmVUeXBlU3RvcmFnZUtleSwgc2lnbmluZ0RhdGEuc2lnbmF0dXJlVHlwZSk7XG4gICAgICAgICAgdGhpcy5ldmVudFNlcnZpY2UudHJpZ2dlcihFbmFpb0V2ZW50LkRNU19PQkpFQ1RfVVBEQVRFRCwgZG1zT2JqZWN0KTtcbiAgICAgICAgICB0aGlzLmZpbmlzaCgpO1xuICAgICAgICB9LCBVdGlscy50aHJvdyhlcnJvciA9PiB7XG4gICAgICAgICAgaWYgKGVycm9yLnN0YXR1cyA9PT0gNTAwKSB7XG4gICAgICAgICAgICB0aGlzLnRvYXN0ZXIuZXJyb3IodGhpcy50cmFuc2xhdGUuaW5zdGFudCgnZW8uZXJyb3IuY29ubmVjdGlvbi5pbnRlcnJ1cHRlZC50aXRsZScpLCB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KCdlby5lcnJvci5jb25uZWN0aW9uLmludGVycnVwdGVkLnRleHQnKSk7XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMudG9hc3Rlci5lcnJvcihlcnJvci5lcnJvcj8ubWVzc2FnZSk7XG4gICAgICAgICAgfVxuICAgICAgICAgIHRoaXMucHJvY2Vzc2luZ1JlcXVlc3QgPSBmYWxzZTtcbiAgICAgICAgfSkpO1xuICAgIH1cbiAgfVxuXG4gIGZpbmlzaCgpIHtcbiAgICB0aGlzLmZpbmlzaFBlbmRpbmcoKTtcbiAgICB0aGlzLmRpYWxvZy52aXNpYmxlID0gZmFsc2U7XG4gICAgdGhpcy5maW5pc2hlZC5lbWl0KCk7XG4gIH1cblxuICBjYW5jZWwoKSB7XG4gICAgaWYgKCF0aGlzLnBlbmRpbmdDaGFuZ2VzLmNoZWNrRm9yUGVuZGluZ1Rhc2tzKHRoaXMucGVuZGluZ1Rhc2tJZHMpKSB7XG4gICAgICB0aGlzLmZpbmlzaFBlbmRpbmcoKTtcbiAgICAgIHRoaXMuZGlhbG9nLnZpc2libGUgPSBmYWxzZTtcbiAgICAgIHRoaXMuY2FuY2VsZWQuZW1pdCgpO1xuICAgIH1cbiAgfVxuXG4gIG9uSW5kZXhEYXRhQ2hhbmdlZCgpIHtcbiAgICBpZiAodGhpcy5zaWduaW5nRm9ybS5kaXJ0eSkge1xuICAgICAgdGhpcy5zdGFydFBlbmRpbmcoKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5maW5pc2hQZW5kaW5nKCk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBzdGFydFBlbmRpbmcoKSB7XG4gICAgLy8gYmVjYXVzZSB0aGlzIG1ldGhvZCB3aWxsIGJlIGNhbGxlZCBldmVyeSB0aW1lIHRoZSBmb3JtIHN0YXR1cyBjaGFuZ2VzLFxuICAgIC8vIHBlbmRpbmcgdGFzayB3aWxsIG9ubHkgYmUgc3RhcnRlZCBvbmNlIHVudGlsIGl0IHdhcyBmaW5pc2hlZFxuICAgIGlmICghdGhpcy5wZW5kaW5nQ2hhbmdlcy5oYXNQZW5kaW5nVGFzayh0aGlzLnBlbmRpbmdUYXNrSWRzWzBdIHx8ICcgJykpIHtcbiAgICAgIHRoaXMucGVuZGluZ1Rhc2tJZHMgPSBbdGhpcy5wZW5kaW5nQ2hhbmdlcy5zdGFydFRhc2soKV07XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBmaW5pc2hQZW5kaW5nKCkge1xuICAgIHRoaXMucGVuZGluZ0NoYW5nZXMuZmluaXNoVGFzayh0aGlzLnBlbmRpbmdUYXNrSWRzWzBdKTtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuc2lnbmluZ0Zvcm1MaXN0ZW5lci51bnN1YnNjcmliZSgpO1xuICB9XG59XG4iLCI8ZW8tZGlhbG9nIFt0aXRsZV09XCJoZWFkZXJUaXRsZVwiXG4gICAgICAgICAgIFtzdWJ0aXRsZV09XCJoZWFkZXJEZXNjcmlwdGlvblwiXG4gICAgICAgICAgIFt2aXNpYmxlXT1cInRydWVcIlxuICAgICAgICAgICBbZGlydHlDaGVja109XCJwZW5kaW5nVGFza0lkc1wiXG4gICAgICAgICAgIFttaW5XaWR0aF09XCI2MDBcIlxuICAgICAgICAgICBbbWluSGVpZ2h0XT1cIjYwMFwiXG4gICAgICAgICAgIFtzdHlsZUNsYXNzXT1cIidwcm9jZXNzLWZvcm0tZGlhbG9nJ1wiICNkaWFsb2c+XG5cbiAgPHNlY3Rpb24gY2xhc3M9XCJzaWduYXR1cmUtZm9ybSBmb3JtLWNvbnRhaW5lclwiPlxuICAgIDxmb3JtIGNsYXNzPVwic2lnbmluZy1mb3JtXCIgW2Zvcm1Hcm91cF09XCJzaWduaW5nRm9ybVwiPlxuICAgICAgPGVvLXNlcXVlbmNlLWxpc3QgY2xhc3M9XCJlbnRyeV9mb3JtXCIgZm9ybS1vcGVuPVwidHJ1ZVwiIFtNQVhfU0lHTkVSU109XCJtYXhTaWduZXJzXCIgKGl0ZW1FZGl0KT1cIm1vZGUgPSAkZXZlbnRcIiBbcGhvbmVSZXF1aXJlZF09XCJzaWduaW5nRm9ybS5nZXQoJ3l1dnNpZ3R5cGUnKS52YWx1ZSA9PT0gJ2FkdmFuY2VkJ1wiIFtmb3JtQ29udHJvbE5hbWVdPVwiJ3l1dnNpZ25lcnMnXCI+XG4gICAgICA8L2VvLXNlcXVlbmNlLWxpc3Q+XG4gICAgICA8ZW8tZm9ybS1pbnB1dCAqbmdJZj1cInl1dnNpZ3R5cGVDb2Rlc3lzdGVtLmVudHJpZXMubGVuZ3RoID4gMVwiIFtyZXF1aXJlZF09XCJ0cnVlXCIgW2xhYmVsXT1cIidlby5hY3Rpb24uc2lnbmF0dXJlLnl1dnNpZ25pbmcueXV2c2lndHlwZScgfCB0cmFuc2xhdGVcIj5cbiAgICAgICAgPGVvLWNvZGVzeXN0ZW1cbiAgICAgICAgICBbZm9ybUNvbnRyb2xOYW1lXT1cIid5dXZzaWd0eXBlJ1wiXG4gICAgICAgICAgW2NvZGVzeXN0ZW1dPVwieXV2c2lndHlwZUNvZGVzeXN0ZW1cIlxuICAgICAgICAgIFtyZXF1aXJlZF09XCJ0cnVlXCJcbiAgICAgICAgPjwvZW8tY29kZXN5c3RlbT5cbiAgICAgIDwvZW8tZm9ybS1pbnB1dD5cbiAgICAgIDxlby1mb3JtLWlucHV0IFtza2lwVG9nZ2xlXT1cInRydWVcIiBbbGFiZWxdPVwiJ2VvLmFjdGlvbi5zaWduYXR1cmUueXV2c2lnbmVycy5wYXJhbGxlbCcgfCB0cmFuc2xhdGVcIj5cbiAgICAgICAgPGVvLWNoZWNrYm94IGZvcm1Db250cm9sTmFtZT1cInBhcmFsbGVsU2lnbmluZ1wiPjwvZW8tY2hlY2tib3g+XG4gICAgICA8L2VvLWZvcm0taW5wdXQ+XG4gICAgICA8ZW8tZm9ybS1pbnB1dCBbbGFiZWxdPVwiJ2VvLmFjdGlvbi5zaWduYXR1cmUueXV2c2lnbmluZy55dXZzaWdlbWFpbHN1YmplY3QnIHwgdHJhbnNsYXRlXCIgW3JlcXVpcmVkXT1cInRydWVcIj5cbiAgICAgICAgPGVvLXN0cmluZ1xuICAgICAgICAgIFtmb3JtQ29udHJvbE5hbWVdPVwiJ3l1dnNpZ2VtYWlsc3ViamVjdCdcIlxuICAgICAgICAgIFttaW5MZW5ndGhdPVwiM1wiXG4gICAgICAgICAgW21heExlbmd0aF09XCIxMDBcIlxuICAgICAgICAgIFtyZXF1aXJlZF09XCJ0cnVlXCJcbiAgICAgICAgPjwvZW8tc3RyaW5nPlxuICAgICAgPC9lby1mb3JtLWlucHV0PlxuICAgICAgPHNtYWxsIGNsYXNzPVwiZXJyb3JzXCIgKm5nSWY9XCJzaWduaW5nRm9ybS5nZXQoJ3l1dnNpZ2VtYWlsc3ViamVjdCcpLmhhc0Vycm9yKCdyZXF1aXJlZCcpXCIgdHJhbnNsYXRlPmVvLmZvcm0ucHJvcGVydHkucmVxdWlyZWQ8L3NtYWxsPlxuICAgICAgPGVvLWZvcm0taW5wdXQgW2xhYmVsXT1cIidlby5hY3Rpb24uc2lnbmF0dXJlLnl1dnNpZ25pbmcueXV2c2lnZW1haWxib2R5JyB8IHRyYW5zbGF0ZVwiIFtyZXF1aXJlZF09XCJ0cnVlXCI+XG4gICAgICAgIDxlby1zdHJpbmdcbiAgICAgICAgICBbZm9ybUNvbnRyb2xOYW1lXT1cIid5dXZzaWdlbWFpbGJvZHknXCJcbiAgICAgICAgICBbbXVsdGlsaW5lXT1cInRydWVcIlxuICAgICAgICAgIFtzaXplXT1cIidzbWFsbCdcIlxuICAgICAgICAgIFttaW5MZW5ndGhdPVwiM1wiXG4gICAgICAgICAgW21heExlbmd0aF09XCIyMDAwXCJcbiAgICAgICAgICBbcmVxdWlyZWRdPVwidHJ1ZVwiXG4gICAgICAgID48L2VvLXN0cmluZz5cbiAgICAgIDwvZW8tZm9ybS1pbnB1dD5cbiAgICAgIDxzbWFsbCBjbGFzcz1cImVycm9yc1wiICpuZ0lmPVwic2lnbmluZ0Zvcm0uZ2V0KCd5dXZzaWdlbWFpbGJvZHknKS5oYXNFcnJvcigncmVxdWlyZWQnKVwiIHRyYW5zbGF0ZT5lby5mb3JtLnByb3BlcnR5LnJlcXVpcmVkPC9zbWFsbD5cbiAgICA8L2Zvcm0+XG5cbiAgICA8ZGl2IGNsYXNzPVwiYWN0aW9uc1wiPlxuICAgICAgPGRpdiAqbmdJZj1cInNpZ25pbmdGb3JtPy5pbnZhbGlkXCIgY2xhc3M9XCJpbnZhbGlkXCIgdHJhbnNsYXRlPmVvLm9iamVjdC5pbmRleGRhdGEuZm9ybS5pbnZhbGlkPC9kaXY+XG4gICAgICA8ZW8tY3RhIFthY3RpdmVdPVwiIXByb2Nlc3NpbmdSZXF1ZXN0XCIgY2xhc3M9XCJjdGEtd3JhcHBlclwiPlxuICAgICAgICA8YnV0dG9uIChjbGljayk9XCJjYW5jZWwoKVwiIGNsYXNzPVwiYnV0dG9uLWNhbmNlbFwiIHRyYW5zbGF0ZT5lby5hY3Rpb24uc2lnbmF0dXJlLmNhbmNlbDwvYnV0dG9uPlxuICAgICAgICA8YnV0dG9uIChjbGljayk9XCJzYXZlRm9ybSgpXCIgW2Rpc2FibGVkXT1cInNpZ25pbmdGb3JtPy5pbnZhbGlkIHx8IHByb2Nlc3NpbmdSZXF1ZXN0IHx8ICFzaWduaW5nRm9ybS5nZXQoJ3l1dnNpZ25lcnMnKS52YWx1ZSB8fCAhc2lnbmluZ0Zvcm0uZ2V0KCd5dXZzaWduZXJzJykudmFsdWUubGVuZ3RoXCIgY2xhc3M9XCJwcmltYXJ5XCIgdHJhbnNsYXRlPmVvLmFjdGlvbi5zaWduYXR1cmUucmVxdWVzdDwvYnV0dG9uPlxuICAgICAgPC9lby1jdGE+XG4gICAgPC9kaXY+XG4gIDwvc2VjdGlvbj5cbiAgPGRpdiBjbGFzcz1cImxvYWRlci1vdmVybGF5X19tYXNrXCIgKm5nSWY9XCJwcm9jZXNzaW5nUmVxdWVzdFwiPlxuICAgIDxlby1sb2FkaW5nLXNwaW5uZXIgY2xhc3M9XCJzaWduYXR1cmVfX2xvYWRlclwiIFtzaXplXT1cIidsYXJnZSdcIj48L2VvLWxvYWRpbmctc3Bpbm5lcj5cbiAgPC9kaXY+XG48L2VvLWRpYWxvZz5cbiJdfQ==
@@ -16,6 +16,7 @@ import * as i8 from "../../ui/clipboard/clipboard.component";
16
16
  import * as i9 from "../../ui/overlay/overlay.component";
17
17
  import * as i10 from "./side-bar/side-bar.component";
18
18
  import * as i11 from "./user-avatar-overlay/user-avatar-overlay.component";
19
+ import * as i12 from "../license-warning/license-warning.component";
19
20
  let AppBarComponent = class AppBarComponent {
20
21
  constructor(userService, capabilityService, translate, inboxService, prepareService, router, bpmService, eventService, config, elemRef, pendingChanges) {
21
22
  this.userService = userService;
@@ -185,7 +186,7 @@ let AppBarComponent = class AppBarComponent {
185
186
  this.initVisibilityChangeListener();
186
187
  }
187
188
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: AppBarComponent, deps: [{ token: i1.UserService }, { token: i1.CapabilitiesService }, { token: i1.TranslateService }, { token: i1.InboxService }, { token: i1.PrepareService }, { token: i2.Router }, { token: i1.BpmService }, { token: i1.EventService }, { token: i1.Config }, { token: i0.ElementRef }, { token: i3.PendingChangesService }], target: i0.ɵɵFactoryTarget.Component }); }
188
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.1.2", type: AppBarComponent, selector: "eo-app-bar", inputs: { transparent: "transparent" }, viewQueries: [{ propertyName: "avatarComponents", predicate: UserAvatarComponent, descendants: true }], ngImport: i0, template: "<eo-side-bar (eoOutsideClick)=\"sidebarShow = !sidebarShow\" *ngIf=\"sidebarShow\">\n <div class=\"navi\">\n <ng-content select=\"eo-sidebar-plugin.navi\"></ng-content>\n </div>\n <div class=\"help\">\n <ng-content select=\"eo-sidebar-plugin.help\"></ng-content>\n </div>\n</eo-side-bar>\n\n<div class=\"eo-app-bar\" [ngClass]=\"{transparent: transparent}\" eoRtlAware>\n\n <div class=\"left\">\n\n <eo-icon id=\"app-menu\" class=\"menu white\" tabindex=\"0\"\n (click)=\"toggleSidebar()\" (keyup.enter)=\"toggleSidebar()\"\n [iconSrc]=\"'assets/_default/svg/ic_hamburger.svg'\"></eo-icon>\n <eo-icon (click)=\"openDashboard($event.ctrlKey)\" (auxclick)=\"openDashboard(true)\"\n (keyup.enter)=\"openDashboard(false)\" tabindex=\"0\"\n class=\"logo white\" [iconSrc]=\"logo\"></eo-icon>\n\n <div class=\"actions\">\n <a tabindex=\"0\" (keydown.enter)=\"openSearchOverlay()\" (click)=\"openSearchOverlay()\">\n <eo-icon id=\"app-search\" class=\"search white\" queryParamsHandling=\"preserve\"\n [iconTitle]=\"iconTitles.search\"\n [iconSrc]=\"'assets/_default/svg/ic_search.svg'\"></eo-icon>\n </a>\n\n <a tabindex=\"0\" (keydown.enter)=\"openCreateObjectOverlay()\" (click)=\"openCreateObjectOverlay()\">\n <eo-icon id=\"app-add\" class=\"add white\" *ngIf=\"capabilities.intray\"\n [iconTitle]=\"iconTitles.file\"\n [iconSrc]=\"'assets/_default/svg/ic_add.svg'\"></eo-icon>\n </a>\n <a tabindex=\"0\" (keydown.enter)=\"openProcessOverlay()\" (click)=\"openProcessOverlay()\">\n <eo-icon id=\"app-actions\" class=\"actions white\" *ngIf=\"exeActions\"\n [iconTitle]=\"iconTitles.exeactions\"\n [iconSrc]=\"'assets/_default/svg/ic_bpm_start.svg'\"></eo-icon>\n </a>\n </div>\n </div>\n <div class=\"right\">\n <div class=\"sub\">\n <eo-clipboard></eo-clipboard>\n </div>\n <a tabindex=\"0\" (keydown.enter)=\"openState('/favorites')\" (click)=\"openState('/favorites')\">\n <eo-icon class=\"button white favorite\"\n [iconTitle]=\"iconTitles.favorites\" *ngIf=\"capabilities.favorites\"\n [iconSrc]=\"'assets/_default/svg/ic_favorite.svg'\"></eo-icon>\n </a>\n <a tabindex=\"0\" (keydown.enter)=\"openState('/prepare')\" (click)=\"openState('/prepare')\">\n <eo-icon class=\"button white prepare\" *ngIf=\"capabilities.intray\"\n [iconTitle]=\"iconTitles.prepare\"\n [badge]=\"preparedItemsCount\" [iconSrc]=\"'assets/_default/svg/ic_prepare.svg'\"></eo-icon>\n </a>\n <a tabindex=\"0\" (keydown.enter)=\"openState('/inbox')\" (click)=\"openState('/inbox')\">\n <eo-icon class=\"button white inbox\" [ngClass]=\"{alert: inboxState?.overduemessages > 0}\" *ngIf=\"capabilities.inbox\"\n [iconTitle]=\"iconTitles.index\"\n [badge]=\"inboxState?.totalmessages\" [iconSrc]=\"'assets/_default/svg/ic_inbox.svg'\"></eo-icon>\n </a>\n <a tabindex=\"0\" href=\"{{docu.link}}\" target=\"_blank\">\n <eo-icon class=\"button white about\"\n [iconTitle]=\"iconTitles.about\" [iconSrc]=\"'assets/_default/svg/ic_about.svg'\"></eo-icon>\n </a>\n <eo-overlay #userpanel [userAvatar]=\"true\">\n <eo-user-avatar-overlay [userPanel]=\"userpanel\"></eo-user-avatar-overlay>\n </eo-overlay>\n\n\n </div>\n</div>\n", styles: [":host .eo-app-bar{background:var(--color-primary);color:var(--color-white);height:var(--app-bar-height);position:absolute;left:0;right:0;top:0;display:flex;flex-flow:row nowrap;align-items:center;justify-content:space-between;z-index:5}:host .eo-app-bar eo-icon:focus,:host .eo-app-bar eo-icon:hover,:host .eo-app-bar a:focus eo-icon,:host .eo-app-bar a:hover eo-icon{background:rgba(var(--color-white-rgb),.25)}:host .eo-app-bar .left{display:flex;height:var(--app-bar-height);flex-flow:row nowrap;align-items:center}@media screen and (max-width: 480px){:host .eo-app-bar .left{padding-right:0}}:host .eo-app-bar .left eo-icon.menu{z-index:22;width:var(--app-bar-height);height:var(--app-bar-height);box-sizing:border-box;cursor:pointer;padding:20px;background-color:var(--color-accent)}:host .eo-app-bar .left eo-icon.menu:focus{outline:1px solid var(--color-white);outline-offset:-1px}:host .eo-app-bar .left eo-icon.logo{width:104px;height:auto;cursor:pointer;margin:0 4px;background-color:transparent;padding:var(--app-pane-padding) calc(var(--app-pane-padding) * 2) var(--app-pane-padding) calc(var(--app-pane-padding) / 2)}@media screen and (max-width: 480px){:host .eo-app-bar .left eo-icon.logo{width:80px}}:host .eo-app-bar .left eo-icon.logo:focus{outline:1px solid var(--color-accent)}:host .eo-app-bar .left .actions{display:flex;flex-flow:row nowrap;align-items:center}:host .eo-app-bar .left .actions a eo-icon{padding:8px;cursor:pointer;border-radius:50%;box-sizing:content-box;margin:4px;color:var(--color-white)}:host .eo-app-bar .left .actions a:focus eo-icon,:host .eo-app-bar .left .actions a:hover eo-icon{background:var(--color-accent)}:host .eo-app-bar .right{display:flex;flex-flow:row nowrap;align-items:center}:host .eo-app-bar .right .sub{display:flex;flex-flow:row nowrap;align-items:center;padding:calc(var(--app-pane-padding) / 4) calc(var(--app-pane-padding) / 2);margin:0 calc(var(--app-pane-padding) / 2)}:host .eo-app-bar .right .sub>*{margin:0 calc(var(--app-pane-padding) / 4)}:host .eo-app-bar .right eo-icon{margin:0 4px}:host .eo-app-bar .right eo-icon.alert{position:relative}:host .eo-app-bar .right eo-icon.alert:after{content:\"\";position:absolute;left:0;right:0;bottom:-4px;height:4px;background-color:var(--color-error)}@media screen and (max-width: 480px){:host .eo-app-bar .right eo-icon{display:none}}:host .eo-app-bar.transparent{background:transparent}:host .eo-app-bar.transparent .left eo-icon.menu{background-color:transparent}:host .eo-app-bar.transparent .left eo-icon.menu:focus{outline:1px solid var(--color-accent)}@media screen and (max-width: 480px){:host .eo-app-bar.rtl .left{padding-right:var(--app-pane-padding);padding-left:0}}@keyframes dropDownAppear{0%{opacity:0;-webkit-transform:translateY(-30px);transform:translateY(-30px)}to{opacity:1;-webkit-transform:translateY(0);transform:translateY(0)}}\n"], dependencies: [{ kind: "directive", type: i4.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i5.EoIconComponent, selector: "eo-icon", inputs: ["objectType", "iconId", "iconSrc", "badge", "iconTitle"] }, { kind: "directive", type: i6.OutsideClickDirective, selector: "[eoOutsideClick]", outputs: ["eoOutsideClick"] }, { kind: "directive", type: i7.RtlAwareDirective, selector: "[eoRtlAware]", inputs: ["eoRtlAware"] }, { kind: "component", type: i8.ClipboardComponent, selector: "eo-clipboard" }, { kind: "component", type: i9.OverlayComponent, selector: "eo-overlay", inputs: ["iconSrc", "badge", "iconClass", "active", "iconTitle", "userAvatar"] }, { kind: "component", type: i10.SideBarComponent, selector: "eo-side-bar", outputs: ["eoOutsideClick"] }, { kind: "component", type: i11.UserAvatarOverlayComponent, selector: "eo-user-avatar-overlay", inputs: ["userPanel"] }] }); }
189
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.1.2", type: AppBarComponent, selector: "eo-app-bar", inputs: { transparent: "transparent" }, viewQueries: [{ propertyName: "avatarComponents", predicate: UserAvatarComponent, descendants: true }], ngImport: i0, template: "<eo-side-bar (eoOutsideClick)=\"sidebarShow = !sidebarShow\" *ngIf=\"sidebarShow\">\n <div class=\"navi\">\n <ng-content select=\"eo-sidebar-plugin.navi\"></ng-content>\n </div>\n <div class=\"help\">\n <ng-content select=\"eo-sidebar-plugin.help\"></ng-content>\n </div>\n</eo-side-bar>\n\n<div class=\"eo-app-bar\" [ngClass]=\"{transparent: transparent}\" eoRtlAware>\n\n <div class=\"left\">\n\n <eo-icon id=\"app-menu\" class=\"menu white\" tabindex=\"0\"\n (click)=\"toggleSidebar()\" (keyup.enter)=\"toggleSidebar()\"\n [iconSrc]=\"'assets/_default/svg/ic_hamburger.svg'\"></eo-icon>\n <eo-icon (click)=\"openDashboard($event.ctrlKey)\" (auxclick)=\"openDashboard(true)\"\n (keyup.enter)=\"openDashboard(false)\" tabindex=\"0\"\n class=\"logo white\" [iconSrc]=\"logo\"></eo-icon>\n\n <div class=\"actions\">\n <a tabindex=\"0\" (keydown.enter)=\"openSearchOverlay()\" (click)=\"openSearchOverlay()\">\n <eo-icon id=\"app-search\" class=\"search white\" queryParamsHandling=\"preserve\"\n [iconTitle]=\"iconTitles.search\"\n [iconSrc]=\"'assets/_default/svg/ic_search.svg'\"></eo-icon>\n </a>\n\n <a tabindex=\"0\" (keydown.enter)=\"openCreateObjectOverlay()\" (click)=\"openCreateObjectOverlay()\">\n <eo-icon id=\"app-add\" class=\"add white\" *ngIf=\"capabilities.intray\"\n [iconTitle]=\"iconTitles.file\"\n [iconSrc]=\"'assets/_default/svg/ic_add.svg'\"></eo-icon>\n </a>\n <a tabindex=\"0\" (keydown.enter)=\"openProcessOverlay()\" (click)=\"openProcessOverlay()\">\n <eo-icon id=\"app-actions\" class=\"actions white\" *ngIf=\"exeActions\"\n [iconTitle]=\"iconTitles.exeactions\"\n [iconSrc]=\"'assets/_default/svg/ic_bpm_start.svg'\"></eo-icon>\n </a>\n </div>\n </div>\n <eo-license-warning [licenseState]=\"user.license\" [transparent]=\"transparent\"></eo-license-warning>\n <div class=\"right\">\n <div class=\"sub\">\n <eo-clipboard></eo-clipboard>\n </div>\n <a tabindex=\"0\" (keydown.enter)=\"openState('/favorites')\" (click)=\"openState('/favorites')\">\n <eo-icon class=\"button white favorite\"\n [iconTitle]=\"iconTitles.favorites\" *ngIf=\"capabilities.favorites\"\n [iconSrc]=\"'assets/_default/svg/ic_favorite.svg'\"></eo-icon>\n </a>\n <a tabindex=\"0\" (keydown.enter)=\"openState('/prepare')\" (click)=\"openState('/prepare')\">\n <eo-icon class=\"button white prepare\" *ngIf=\"capabilities.intray\"\n [iconTitle]=\"iconTitles.prepare\"\n [badge]=\"preparedItemsCount\" [iconSrc]=\"'assets/_default/svg/ic_prepare.svg'\"></eo-icon>\n </a>\n <a tabindex=\"0\" (keydown.enter)=\"openState('/inbox')\" (click)=\"openState('/inbox')\">\n <eo-icon class=\"button white inbox\" [ngClass]=\"{alert: inboxState?.overduemessages > 0}\" *ngIf=\"capabilities.inbox\"\n [iconTitle]=\"iconTitles.index\"\n [badge]=\"inboxState?.totalmessages\" [iconSrc]=\"'assets/_default/svg/ic_inbox.svg'\"></eo-icon>\n </a>\n <a tabindex=\"0\" href=\"{{docu.link}}\" target=\"_blank\">\n <eo-icon class=\"button white about\"\n [iconTitle]=\"iconTitles.about\" [iconSrc]=\"'assets/_default/svg/ic_about.svg'\"></eo-icon>\n </a>\n <eo-overlay #userpanel [userAvatar]=\"true\">\n <eo-user-avatar-overlay [userPanel]=\"userpanel\"></eo-user-avatar-overlay>\n </eo-overlay>\n\n\n </div>\n</div>\n", styles: [":host .eo-app-bar{background:var(--color-primary);color:var(--color-white);height:var(--app-bar-height);position:absolute;left:0;right:0;top:0;display:flex;flex-flow:row nowrap;align-items:center;justify-content:space-between;z-index:5}:host .eo-app-bar eo-icon:focus,:host .eo-app-bar eo-icon:hover,:host .eo-app-bar a:focus eo-icon,:host .eo-app-bar a:hover eo-icon{background:rgba(var(--color-white-rgb),.25)}:host .eo-app-bar .left{display:flex;height:var(--app-bar-height);flex-flow:row nowrap;align-items:center}@media screen and (max-width: 480px){:host .eo-app-bar .left{padding-right:0}}:host .eo-app-bar .left eo-icon.menu{z-index:22;width:var(--app-bar-height);height:var(--app-bar-height);box-sizing:border-box;cursor:pointer;padding:20px;background-color:var(--color-accent)}:host .eo-app-bar .left eo-icon.menu:focus{outline:1px solid var(--color-white);outline-offset:-1px}:host .eo-app-bar .left eo-icon.logo{width:104px;height:auto;cursor:pointer;margin:0 4px;background-color:transparent;padding:var(--app-pane-padding) calc(var(--app-pane-padding) * 2) var(--app-pane-padding) calc(var(--app-pane-padding) / 2)}@media screen and (max-width: 480px){:host .eo-app-bar .left eo-icon.logo{width:80px}}:host .eo-app-bar .left eo-icon.logo:focus{outline:1px solid var(--color-accent)}:host .eo-app-bar .left .actions{display:flex;flex-flow:row nowrap;align-items:center}:host .eo-app-bar .left .actions a eo-icon{padding:8px;cursor:pointer;border-radius:50%;box-sizing:content-box;margin:4px;color:var(--color-white)}:host .eo-app-bar .left .actions a:focus eo-icon,:host .eo-app-bar .left .actions a:hover eo-icon{background:var(--color-accent)}:host .eo-app-bar .right{display:flex;flex-flow:row nowrap;align-items:center}:host .eo-app-bar .right .sub{display:flex;flex-flow:row nowrap;align-items:center;padding:calc(var(--app-pane-padding) / 4) calc(var(--app-pane-padding) / 2);margin:0 calc(var(--app-pane-padding) / 2)}:host .eo-app-bar .right .sub>*{margin:0 calc(var(--app-pane-padding) / 4)}:host .eo-app-bar .right eo-icon{margin:0 4px}:host .eo-app-bar .right eo-icon.alert{position:relative}:host .eo-app-bar .right eo-icon.alert:after{content:\"\";position:absolute;left:0;right:0;bottom:-4px;height:4px;background-color:var(--color-error)}@media screen and (max-width: 480px){:host .eo-app-bar .right eo-icon{display:none}}:host .eo-app-bar.transparent{background:transparent}:host .eo-app-bar.transparent .left eo-icon.menu{background-color:transparent}:host .eo-app-bar.transparent .left eo-icon.menu:focus{outline:1px solid var(--color-accent)}@media screen and (max-width: 480px){:host .eo-app-bar.rtl .left{padding-right:var(--app-pane-padding);padding-left:0}}@keyframes dropDownAppear{0%{opacity:0;-webkit-transform:translateY(-30px);transform:translateY(-30px)}to{opacity:1;-webkit-transform:translateY(0);transform:translateY(0)}}\n"], dependencies: [{ kind: "directive", type: i4.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i5.EoIconComponent, selector: "eo-icon", inputs: ["objectType", "iconId", "iconSrc", "badge", "iconTitle"] }, { kind: "directive", type: i6.OutsideClickDirective, selector: "[eoOutsideClick]", outputs: ["eoOutsideClick"] }, { kind: "directive", type: i7.RtlAwareDirective, selector: "[eoRtlAware]", inputs: ["eoRtlAware"] }, { kind: "component", type: i8.ClipboardComponent, selector: "eo-clipboard" }, { kind: "component", type: i9.OverlayComponent, selector: "eo-overlay", inputs: ["iconSrc", "badge", "iconClass", "active", "iconTitle", "userAvatar"] }, { kind: "component", type: i10.SideBarComponent, selector: "eo-side-bar", outputs: ["eoOutsideClick"] }, { kind: "component", type: i11.UserAvatarOverlayComponent, selector: "eo-user-avatar-overlay", inputs: ["userPanel"] }, { kind: "component", type: i12.LicenseWarningComponent, selector: "eo-license-warning", inputs: ["licenseState", "transparent"] }] }); }
189
190
  };
190
191
  AppBarComponent = __decorate([
191
192
  UntilDestroy()
@@ -193,11 +194,11 @@ AppBarComponent = __decorate([
193
194
  export { AppBarComponent };
194
195
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: AppBarComponent, decorators: [{
195
196
  type: Component,
196
- args: [{ selector: 'eo-app-bar', template: "<eo-side-bar (eoOutsideClick)=\"sidebarShow = !sidebarShow\" *ngIf=\"sidebarShow\">\n <div class=\"navi\">\n <ng-content select=\"eo-sidebar-plugin.navi\"></ng-content>\n </div>\n <div class=\"help\">\n <ng-content select=\"eo-sidebar-plugin.help\"></ng-content>\n </div>\n</eo-side-bar>\n\n<div class=\"eo-app-bar\" [ngClass]=\"{transparent: transparent}\" eoRtlAware>\n\n <div class=\"left\">\n\n <eo-icon id=\"app-menu\" class=\"menu white\" tabindex=\"0\"\n (click)=\"toggleSidebar()\" (keyup.enter)=\"toggleSidebar()\"\n [iconSrc]=\"'assets/_default/svg/ic_hamburger.svg'\"></eo-icon>\n <eo-icon (click)=\"openDashboard($event.ctrlKey)\" (auxclick)=\"openDashboard(true)\"\n (keyup.enter)=\"openDashboard(false)\" tabindex=\"0\"\n class=\"logo white\" [iconSrc]=\"logo\"></eo-icon>\n\n <div class=\"actions\">\n <a tabindex=\"0\" (keydown.enter)=\"openSearchOverlay()\" (click)=\"openSearchOverlay()\">\n <eo-icon id=\"app-search\" class=\"search white\" queryParamsHandling=\"preserve\"\n [iconTitle]=\"iconTitles.search\"\n [iconSrc]=\"'assets/_default/svg/ic_search.svg'\"></eo-icon>\n </a>\n\n <a tabindex=\"0\" (keydown.enter)=\"openCreateObjectOverlay()\" (click)=\"openCreateObjectOverlay()\">\n <eo-icon id=\"app-add\" class=\"add white\" *ngIf=\"capabilities.intray\"\n [iconTitle]=\"iconTitles.file\"\n [iconSrc]=\"'assets/_default/svg/ic_add.svg'\"></eo-icon>\n </a>\n <a tabindex=\"0\" (keydown.enter)=\"openProcessOverlay()\" (click)=\"openProcessOverlay()\">\n <eo-icon id=\"app-actions\" class=\"actions white\" *ngIf=\"exeActions\"\n [iconTitle]=\"iconTitles.exeactions\"\n [iconSrc]=\"'assets/_default/svg/ic_bpm_start.svg'\"></eo-icon>\n </a>\n </div>\n </div>\n <div class=\"right\">\n <div class=\"sub\">\n <eo-clipboard></eo-clipboard>\n </div>\n <a tabindex=\"0\" (keydown.enter)=\"openState('/favorites')\" (click)=\"openState('/favorites')\">\n <eo-icon class=\"button white favorite\"\n [iconTitle]=\"iconTitles.favorites\" *ngIf=\"capabilities.favorites\"\n [iconSrc]=\"'assets/_default/svg/ic_favorite.svg'\"></eo-icon>\n </a>\n <a tabindex=\"0\" (keydown.enter)=\"openState('/prepare')\" (click)=\"openState('/prepare')\">\n <eo-icon class=\"button white prepare\" *ngIf=\"capabilities.intray\"\n [iconTitle]=\"iconTitles.prepare\"\n [badge]=\"preparedItemsCount\" [iconSrc]=\"'assets/_default/svg/ic_prepare.svg'\"></eo-icon>\n </a>\n <a tabindex=\"0\" (keydown.enter)=\"openState('/inbox')\" (click)=\"openState('/inbox')\">\n <eo-icon class=\"button white inbox\" [ngClass]=\"{alert: inboxState?.overduemessages > 0}\" *ngIf=\"capabilities.inbox\"\n [iconTitle]=\"iconTitles.index\"\n [badge]=\"inboxState?.totalmessages\" [iconSrc]=\"'assets/_default/svg/ic_inbox.svg'\"></eo-icon>\n </a>\n <a tabindex=\"0\" href=\"{{docu.link}}\" target=\"_blank\">\n <eo-icon class=\"button white about\"\n [iconTitle]=\"iconTitles.about\" [iconSrc]=\"'assets/_default/svg/ic_about.svg'\"></eo-icon>\n </a>\n <eo-overlay #userpanel [userAvatar]=\"true\">\n <eo-user-avatar-overlay [userPanel]=\"userpanel\"></eo-user-avatar-overlay>\n </eo-overlay>\n\n\n </div>\n</div>\n", styles: [":host .eo-app-bar{background:var(--color-primary);color:var(--color-white);height:var(--app-bar-height);position:absolute;left:0;right:0;top:0;display:flex;flex-flow:row nowrap;align-items:center;justify-content:space-between;z-index:5}:host .eo-app-bar eo-icon:focus,:host .eo-app-bar eo-icon:hover,:host .eo-app-bar a:focus eo-icon,:host .eo-app-bar a:hover eo-icon{background:rgba(var(--color-white-rgb),.25)}:host .eo-app-bar .left{display:flex;height:var(--app-bar-height);flex-flow:row nowrap;align-items:center}@media screen and (max-width: 480px){:host .eo-app-bar .left{padding-right:0}}:host .eo-app-bar .left eo-icon.menu{z-index:22;width:var(--app-bar-height);height:var(--app-bar-height);box-sizing:border-box;cursor:pointer;padding:20px;background-color:var(--color-accent)}:host .eo-app-bar .left eo-icon.menu:focus{outline:1px solid var(--color-white);outline-offset:-1px}:host .eo-app-bar .left eo-icon.logo{width:104px;height:auto;cursor:pointer;margin:0 4px;background-color:transparent;padding:var(--app-pane-padding) calc(var(--app-pane-padding) * 2) var(--app-pane-padding) calc(var(--app-pane-padding) / 2)}@media screen and (max-width: 480px){:host .eo-app-bar .left eo-icon.logo{width:80px}}:host .eo-app-bar .left eo-icon.logo:focus{outline:1px solid var(--color-accent)}:host .eo-app-bar .left .actions{display:flex;flex-flow:row nowrap;align-items:center}:host .eo-app-bar .left .actions a eo-icon{padding:8px;cursor:pointer;border-radius:50%;box-sizing:content-box;margin:4px;color:var(--color-white)}:host .eo-app-bar .left .actions a:focus eo-icon,:host .eo-app-bar .left .actions a:hover eo-icon{background:var(--color-accent)}:host .eo-app-bar .right{display:flex;flex-flow:row nowrap;align-items:center}:host .eo-app-bar .right .sub{display:flex;flex-flow:row nowrap;align-items:center;padding:calc(var(--app-pane-padding) / 4) calc(var(--app-pane-padding) / 2);margin:0 calc(var(--app-pane-padding) / 2)}:host .eo-app-bar .right .sub>*{margin:0 calc(var(--app-pane-padding) / 4)}:host .eo-app-bar .right eo-icon{margin:0 4px}:host .eo-app-bar .right eo-icon.alert{position:relative}:host .eo-app-bar .right eo-icon.alert:after{content:\"\";position:absolute;left:0;right:0;bottom:-4px;height:4px;background-color:var(--color-error)}@media screen and (max-width: 480px){:host .eo-app-bar .right eo-icon{display:none}}:host .eo-app-bar.transparent{background:transparent}:host .eo-app-bar.transparent .left eo-icon.menu{background-color:transparent}:host .eo-app-bar.transparent .left eo-icon.menu:focus{outline:1px solid var(--color-accent)}@media screen and (max-width: 480px){:host .eo-app-bar.rtl .left{padding-right:var(--app-pane-padding);padding-left:0}}@keyframes dropDownAppear{0%{opacity:0;-webkit-transform:translateY(-30px);transform:translateY(-30px)}to{opacity:1;-webkit-transform:translateY(0);transform:translateY(0)}}\n"] }]
197
+ args: [{ selector: 'eo-app-bar', template: "<eo-side-bar (eoOutsideClick)=\"sidebarShow = !sidebarShow\" *ngIf=\"sidebarShow\">\n <div class=\"navi\">\n <ng-content select=\"eo-sidebar-plugin.navi\"></ng-content>\n </div>\n <div class=\"help\">\n <ng-content select=\"eo-sidebar-plugin.help\"></ng-content>\n </div>\n</eo-side-bar>\n\n<div class=\"eo-app-bar\" [ngClass]=\"{transparent: transparent}\" eoRtlAware>\n\n <div class=\"left\">\n\n <eo-icon id=\"app-menu\" class=\"menu white\" tabindex=\"0\"\n (click)=\"toggleSidebar()\" (keyup.enter)=\"toggleSidebar()\"\n [iconSrc]=\"'assets/_default/svg/ic_hamburger.svg'\"></eo-icon>\n <eo-icon (click)=\"openDashboard($event.ctrlKey)\" (auxclick)=\"openDashboard(true)\"\n (keyup.enter)=\"openDashboard(false)\" tabindex=\"0\"\n class=\"logo white\" [iconSrc]=\"logo\"></eo-icon>\n\n <div class=\"actions\">\n <a tabindex=\"0\" (keydown.enter)=\"openSearchOverlay()\" (click)=\"openSearchOverlay()\">\n <eo-icon id=\"app-search\" class=\"search white\" queryParamsHandling=\"preserve\"\n [iconTitle]=\"iconTitles.search\"\n [iconSrc]=\"'assets/_default/svg/ic_search.svg'\"></eo-icon>\n </a>\n\n <a tabindex=\"0\" (keydown.enter)=\"openCreateObjectOverlay()\" (click)=\"openCreateObjectOverlay()\">\n <eo-icon id=\"app-add\" class=\"add white\" *ngIf=\"capabilities.intray\"\n [iconTitle]=\"iconTitles.file\"\n [iconSrc]=\"'assets/_default/svg/ic_add.svg'\"></eo-icon>\n </a>\n <a tabindex=\"0\" (keydown.enter)=\"openProcessOverlay()\" (click)=\"openProcessOverlay()\">\n <eo-icon id=\"app-actions\" class=\"actions white\" *ngIf=\"exeActions\"\n [iconTitle]=\"iconTitles.exeactions\"\n [iconSrc]=\"'assets/_default/svg/ic_bpm_start.svg'\"></eo-icon>\n </a>\n </div>\n </div>\n <eo-license-warning [licenseState]=\"user.license\" [transparent]=\"transparent\"></eo-license-warning>\n <div class=\"right\">\n <div class=\"sub\">\n <eo-clipboard></eo-clipboard>\n </div>\n <a tabindex=\"0\" (keydown.enter)=\"openState('/favorites')\" (click)=\"openState('/favorites')\">\n <eo-icon class=\"button white favorite\"\n [iconTitle]=\"iconTitles.favorites\" *ngIf=\"capabilities.favorites\"\n [iconSrc]=\"'assets/_default/svg/ic_favorite.svg'\"></eo-icon>\n </a>\n <a tabindex=\"0\" (keydown.enter)=\"openState('/prepare')\" (click)=\"openState('/prepare')\">\n <eo-icon class=\"button white prepare\" *ngIf=\"capabilities.intray\"\n [iconTitle]=\"iconTitles.prepare\"\n [badge]=\"preparedItemsCount\" [iconSrc]=\"'assets/_default/svg/ic_prepare.svg'\"></eo-icon>\n </a>\n <a tabindex=\"0\" (keydown.enter)=\"openState('/inbox')\" (click)=\"openState('/inbox')\">\n <eo-icon class=\"button white inbox\" [ngClass]=\"{alert: inboxState?.overduemessages > 0}\" *ngIf=\"capabilities.inbox\"\n [iconTitle]=\"iconTitles.index\"\n [badge]=\"inboxState?.totalmessages\" [iconSrc]=\"'assets/_default/svg/ic_inbox.svg'\"></eo-icon>\n </a>\n <a tabindex=\"0\" href=\"{{docu.link}}\" target=\"_blank\">\n <eo-icon class=\"button white about\"\n [iconTitle]=\"iconTitles.about\" [iconSrc]=\"'assets/_default/svg/ic_about.svg'\"></eo-icon>\n </a>\n <eo-overlay #userpanel [userAvatar]=\"true\">\n <eo-user-avatar-overlay [userPanel]=\"userpanel\"></eo-user-avatar-overlay>\n </eo-overlay>\n\n\n </div>\n</div>\n", styles: [":host .eo-app-bar{background:var(--color-primary);color:var(--color-white);height:var(--app-bar-height);position:absolute;left:0;right:0;top:0;display:flex;flex-flow:row nowrap;align-items:center;justify-content:space-between;z-index:5}:host .eo-app-bar eo-icon:focus,:host .eo-app-bar eo-icon:hover,:host .eo-app-bar a:focus eo-icon,:host .eo-app-bar a:hover eo-icon{background:rgba(var(--color-white-rgb),.25)}:host .eo-app-bar .left{display:flex;height:var(--app-bar-height);flex-flow:row nowrap;align-items:center}@media screen and (max-width: 480px){:host .eo-app-bar .left{padding-right:0}}:host .eo-app-bar .left eo-icon.menu{z-index:22;width:var(--app-bar-height);height:var(--app-bar-height);box-sizing:border-box;cursor:pointer;padding:20px;background-color:var(--color-accent)}:host .eo-app-bar .left eo-icon.menu:focus{outline:1px solid var(--color-white);outline-offset:-1px}:host .eo-app-bar .left eo-icon.logo{width:104px;height:auto;cursor:pointer;margin:0 4px;background-color:transparent;padding:var(--app-pane-padding) calc(var(--app-pane-padding) * 2) var(--app-pane-padding) calc(var(--app-pane-padding) / 2)}@media screen and (max-width: 480px){:host .eo-app-bar .left eo-icon.logo{width:80px}}:host .eo-app-bar .left eo-icon.logo:focus{outline:1px solid var(--color-accent)}:host .eo-app-bar .left .actions{display:flex;flex-flow:row nowrap;align-items:center}:host .eo-app-bar .left .actions a eo-icon{padding:8px;cursor:pointer;border-radius:50%;box-sizing:content-box;margin:4px;color:var(--color-white)}:host .eo-app-bar .left .actions a:focus eo-icon,:host .eo-app-bar .left .actions a:hover eo-icon{background:var(--color-accent)}:host .eo-app-bar .right{display:flex;flex-flow:row nowrap;align-items:center}:host .eo-app-bar .right .sub{display:flex;flex-flow:row nowrap;align-items:center;padding:calc(var(--app-pane-padding) / 4) calc(var(--app-pane-padding) / 2);margin:0 calc(var(--app-pane-padding) / 2)}:host .eo-app-bar .right .sub>*{margin:0 calc(var(--app-pane-padding) / 4)}:host .eo-app-bar .right eo-icon{margin:0 4px}:host .eo-app-bar .right eo-icon.alert{position:relative}:host .eo-app-bar .right eo-icon.alert:after{content:\"\";position:absolute;left:0;right:0;bottom:-4px;height:4px;background-color:var(--color-error)}@media screen and (max-width: 480px){:host .eo-app-bar .right eo-icon{display:none}}:host .eo-app-bar.transparent{background:transparent}:host .eo-app-bar.transparent .left eo-icon.menu{background-color:transparent}:host .eo-app-bar.transparent .left eo-icon.menu:focus{outline:1px solid var(--color-accent)}@media screen and (max-width: 480px){:host .eo-app-bar.rtl .left{padding-right:var(--app-pane-padding);padding-left:0}}@keyframes dropDownAppear{0%{opacity:0;-webkit-transform:translateY(-30px);transform:translateY(-30px)}to{opacity:1;-webkit-transform:translateY(0);transform:translateY(0)}}\n"] }]
197
198
  }], ctorParameters: () => [{ type: i1.UserService }, { type: i1.CapabilitiesService }, { type: i1.TranslateService }, { type: i1.InboxService }, { type: i1.PrepareService }, { type: i2.Router }, { type: i1.BpmService }, { type: i1.EventService }, { type: i1.Config }, { type: i0.ElementRef }, { type: i3.PendingChangesService }], propDecorators: { transparent: [{
198
199
  type: Input
199
200
  }], avatarComponents: [{
200
201
  type: ViewChildren,
201
202
  args: [UserAvatarComponent]
202
203
  }] } });
203
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwLWJhci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBwL2VvLWZyYW1ld29yay9hcHAtc2hlbGwvYXBwLWJhci9hcHAtYmFyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvZW8tZnJhbWV3b3JrL2FwcC1zaGVsbC9hcHAtYmFyL2FwcC1iYXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFDTCxTQUFTLEVBRVQsS0FBSyxFQUdMLFlBQVksRUFDYixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUMsZUFBZSxFQUFTLE1BQU0saUJBQWlCLENBQUM7QUFDeEQsT0FBTyxFQUtMLFVBQVUsRUFNWCxNQUFNLGNBQWMsQ0FBQztBQUN0QixPQUFPLEVBQUMsWUFBWSxFQUFFLGNBQWMsRUFBQyxNQUFNLHVCQUF1QixDQUFDO0FBQ25FLE9BQU8sRUFBQyxtQkFBbUIsRUFBQyxNQUFNLDRDQUE0QyxDQUFDOzs7Ozs7Ozs7Ozs7O0FBU3hFLElBQU0sZUFBZSxHQUFyQixNQUFNLGVBQWU7SUFpQjFCLFlBQW9CLFdBQXdCLEVBQ3hCLGlCQUFzQyxFQUN0QyxTQUEyQixFQUMzQixZQUEwQixFQUMxQixjQUE4QixFQUM5QixNQUFjLEVBQ2QsVUFBc0IsRUFDdEIsWUFBMEIsRUFDMUIsTUFBYyxFQUNkLE9BQW1CLEVBQ25CLGNBQXFDO1FBVnJDLGdCQUFXLEdBQVgsV0FBVyxDQUFhO1FBQ3hCLHNCQUFpQixHQUFqQixpQkFBaUIsQ0FBcUI7UUFDdEMsY0FBUyxHQUFULFNBQVMsQ0FBa0I7UUFDM0IsaUJBQVksR0FBWixZQUFZLENBQWM7UUFDMUIsbUJBQWMsR0FBZCxjQUFjLENBQWdCO1FBQzlCLFdBQU0sR0FBTixNQUFNLENBQVE7UUFDZCxlQUFVLEdBQVYsVUFBVSxDQUFZO1FBQ3RCLGlCQUFZLEdBQVos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Z0I7c0JBQWxELFlBQVk7dUJBQUMsbUJBQW1CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ29tcG9uZW50LFxuICBFbGVtZW50UmVmLFxuICBJbnB1dCxcbiAgT25Jbml0LFxuICBRdWVyeUxpc3QsXG4gIFZpZXdDaGlsZHJlblxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7TmF2aWdhdGlvblN0YXJ0LCBSb3V0ZXJ9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQge1xuICBCcG1TZXJ2aWNlLFxuICBDYXBhYmlsaXRpZXMsXG4gIENhcGFiaWxpdGllc1NlcnZpY2UsXG4gIENvbmZpZyxcbiAgRW5haW9FdmVudCxcbiAgRW9Vc2VyLFxuICBFdmVudFNlcnZpY2UsXG4gIEluYm94U2VydmljZSwgSW5ib3hTdGF0ZSxcbiAgUHJlcGFyZVNlcnZpY2UsIFRyYW5zbGF0ZVNlcnZpY2UsXG4gIFVzZXJTZXJ2aWNlXG59IGZyb20gJ0Blby1zZGsvY29yZSc7XG5pbXBvcnQge1VudGlsRGVzdHJveSwgdW50aWxEZXN0cm95ZWR9IGZyb20gJ0BuZ25lYXQvdW50aWwtZGVzdHJveSc7XG5pbXBvcnQge1VzZXJBdmF0YXJDb21wb25lbnR9IGZyb20gJy4uLy4uL3VpL3VzZXItYXZhdGFyL3VzZXItYXZhdGFyLmNvbXBvbmVudCc7XG5pbXBvcnQge1BlbmRpbmdDaGFuZ2VzU2VydmljZX0gZnJvbSBcIi4uLy4uLy4uL2VvLWZyYW1ld29yay1jb3JlXCI7XG5cbkBVbnRpbERlc3Ryb3koKVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZW8tYXBwLWJhcicsXG4gIHRlbXBsYXRlVXJsOiAnLi9hcHAtYmFyLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vYXBwLWJhci5jb21wb25lbnQuc2NzcyddXG59KVxuZXhwb3J0IGNsYXNzIEFwcEJhckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG5cbiAgQElucHV0KCkgdHJhbnNwYXJlbnQgPSBmYWxzZTtcblxuICBwcmVwYXJlZEl0ZW1zQ291bnQ6IG51bWJlcjtcbiAgaW5ib3hTdGF0ZTogSW5ib3hTdGF0ZTtcbiAgdXNlcjogRW9Vc2VyO1xuICBjYXBhYmlsaXRpZXM6IENhcGFiaWxpdGllcztcbiAgZXhlQWN0aW9uczogYm9vbGVhbjtcbiAgc2lkZWJhclNob3cgPSBmYWxzZTtcbiAgb3B0aW9uczogYW55O1xuICBpY29uVGl0bGVzOiBhbnk7XG4gIGxvZ286IHN0cmluZztcbiAgcGFnZVZpc2libGUgPSB0cnVlO1xuICBkb2N1OiB7bGluazogc3RyaW5nLCBsYWJlbDogc3RyaW5nfTtcbiAgQFZpZXdDaGlsZHJlbihVc2VyQXZhdGFyQ29tcG9uZW50KSBhdmF0YXJDb21wb25lbnRzOiBRdWVyeUxpc3Q8VXNlckF2YXRhckNvbXBvbmVudD47XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSB1c2VyU2VydmljZTogVXNlclNlcnZpY2UsXG4gICAgICAgICAgICAgIHByaXZhdGUgY2FwYWJpbGl0eVNlcnZpY2U6IENhcGFiaWxpdGllc1NlcnZpY2UsXG4gICAgICAgICAgICAgIHByaXZhdGUgdHJhbnNsYXRlOiBUcmFuc2xhdGVTZXJ2aWNlLFxuICAgICAgICAgICAgICBwcml2YXRlIGluYm94U2VydmljZTogSW5ib3hTZXJ2aWNlLFxuICAgICAgICAgICAgICBwcml2YXRlIHByZXBhcmVTZXJ2aWNlOiBQcmVwYXJlU2VydmljZSxcbiAgICAgICAgICAgICAgcHJpdmF0ZSByb3V0ZXI6IFJvdXRlcixcbiAgICAgICAgICAgICAgcHJpdmF0ZSBicG1TZXJ2aWNlOiBCcG1TZXJ2aWNlLFxuICAgICAgICAgICAgICBwcml2YXRlIGV2ZW50U2VydmljZTogRXZlbnRTZXJ2aWNlLFxuICAgICAgICAgICAgICBwcml2YXRlIGNvbmZpZzogQ29uZmlnLFxuICAgICAgICAgICAgICBwcml2YXRlIGVsZW1SZWY6IEVsZW1lbnRSZWYsXG4gICAgICAgICAgICAgIHByaXZhdGUgcGVuZGluZ0NoYW5nZXM6IFBlbmRpbmdDaGFuZ2VzU2VydmljZVxuICAgICAgICAgICAgICApIHtcbiAgICB0aGlzLmNhcGFiaWxpdGllcyA9IHRoaXMuY2FwYWJpbGl0eVNlcnZpY2UuZ2V0Q2FwYWJpbGl0aWVzKCk7XG4gICAgdGhpcy5sb2dvID0gdGhpcy5jb25maWcuZ2V0TmF2aWdhdGlvbkJhckltYWdlKCk7XG4gICAgLy8gbGlzdGVuIGZvciByb3V0aW5nIGV2ZW50cyB0byBoaWRlIGFueSBhY3RpdmUgb3ZlcmxheXNcbiAgICAvLyBvbiBjaGFuZ2luZyByb3V0ZVxuICAgIHRoaXMucm91dGVyXG4gICAgICAuZXZlbnRzLnBpcGUoXG4gICAgICB1bnRpbERlc3Ryb3llZCh0aGlzKSlcbiAgICAgIC5zdWJzY3JpYmUoZXZlbnQgPT4ge1xuICAgICAgICBpZiAoZXZlbnQgaW5zdGFuY2VvZiBOYXZpZ2F0aW9uU3RhcnQpIHtcbiAgICAgICAgICB0aGlzLnNpZGViYXJTaG93ID0gZmFsc2U7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuXG4gICAgdGhpcy51c2VyU2VydmljZVxuICAgICAgLnVzZXIkLnBpcGUoXG4gICAgICB1bnRpbERlc3Ryb3llZCh0aGlzKSlcbiAgICAgIC5zdWJzY3JpYmUodXNlciA9PiB0aGlzLnVzZXIgPSB1c2VyKTtcblxuICAgIGlmICh0aGlzLmNhcGFiaWxpdGllcy5pbmJveCkge1xuICAgICAgdGhpcy5pbmJveFNlcnZpY2VcbiAgICAgICAgLmluYm94U3RhdGUkLnBpcGUoXG4gICAgICAgIHVudGlsRGVzdHJveWVkKHRoaXMpKVxuICAgICAgICAuc3Vic2NyaWJlKChpbmJveFN0YXRlOiBJbmJveFN0YXRlKSA9PiB7XG4gICAgICAgICAgaWYgKHRoaXMuaW5ib3hTdGF0ZSAmJiB0aGlzLmluYm94U3RhdGUudW5yZWFkbWVzc2FnZXMgPCBpbmJveFN0YXRlLnVucmVhZG1lc3NhZ2VzKSB7XG4gICAgICAgICAgICB0aGlzLnNlbmROb3RpZmljYXRpb24oKTtcbiAgICAgICAgICB9XG4gICAgICAgICAgdGhpcy5pbmJveFN0YXRlID0gaW5ib3hTdGF0ZTtcbiAgICAgICAgfSk7XG4gICAgICB0aGlzLmV2ZW50U2VydmljZS5vbihFbmFpb0V2ZW50LlNZU1RFTV9TVEFUVVNfSU5CT1hfQ0hBTkdFRCkuc3Vic2NyaWJlKCgpID0+IHRoaXMuaW5ib3hTZXJ2aWNlLnJlZnJlc2hJbmJveFN0YXRlKCkpXG4gICAgfVxuXG4gICAgaWYgKHRoaXMuY2FwYWJpbGl0aWVzLmludHJheSkge1xuICAgICAgdGhpcy5wcmVwYXJlU2VydmljZVxuICAgICAgICAucHJlcGFyZWRJdGVtQ291bnQkLnBpcGUoXG4gICAgICAgIHVudGlsRGVzdHJveWVkKHRoaXMpKVxuICAgICAgICAuc3Vic2NyaWJlKGNvdW50ID0+IHtcbiAgICAgICAgICB0aGlzLnByZXBhcmVkSXRlbXNDb3VudCA9IGNvdW50O1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICB0aGlzLnRyYW5zbGF0ZVxuICAgICAgLm9uTGFuZ0NoYW5nZVxuICAgICAgLnN1YnNjcmliZSgoKSA9PiB0aGlzLnNldEljb25UaXRsZXMoKSk7XG4gIH1cblxuICBvcGVuRGFzaGJvYXJkKG9wZW5Jbk5ld1dpbmRvdzogYm9vbGVhbikge1xuICAgIGlmIChvcGVuSW5OZXdXaW5kb3cpIHtcbiAgICAgIHdpbmRvdy5vcGVuKCcvJyk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMucm91dGVyLm5hdmlnYXRlKFsnLyddKTtcbiAgICB9XG4gIH1cblxuICBnZXREb2N1bWVudGF0aW9uKCkge1xuICAgIHRoaXMudXNlclNlcnZpY2VcbiAgICAgIC51c2VyJFxuICAgICAgLnN1YnNjcmliZShkYXRhID0+IHtcbiAgICAgICAgY29uc3QgZG9jdSA9IHRoaXMuY29uZmlnLmdldFJhdygnYWJvdXQuZG9jdScpO1xuICAgICAgICBjb25zdCBsaW5rID0gZG9jdS5saW5rLnJlcGxhY2UoJyMjI3VzZXJMYW5nIyMjJywgZGF0YS51c2VyU2V0dGluZ3MuY2xpZW50bG9jYWxlLnN1YnN0cmluZygwLCAyKSk7XG4gICAgICAgIHRoaXMuZG9jdSA9IHsuLi5kb2N1LCBsaW5rfTtcbiAgICAgIH0pXG4gIH1cblxuICB1cGRhdGVPblNjaGVtYUNoYW5nZSgpIHtcbiAgICB0aGlzLmV2ZW50U2VydmljZVxuICAgICAgLm9uKEVuYWlvRXZlbnQuU0NIRU1BX0xPQ0FMRV9DSEFOR0VEKS5waXBlKFxuICAgICAgdW50aWxEZXN0cm95ZWQodGhpcykpXG4gICAgICAuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgdGhpcy5icG1TZXJ2aWNlXG4gICAgICAgICAgLmdldEV4ZWN1dGFibGVQcm9jZXNzZXMobnVsbCwgbnVsbCwgbnVsbCwgbnVsbCwgdHJ1ZSlcbiAgICAgICAgICAuc3Vic2NyaWJlKHJlcyA9PiB7XG4gICAgICAgICAgICAvLyB0aGlzLmV4ZUFjdGlvbnMgPSAhIXJlcy5sZW5ndGg7XG4gICAgICAgICAgICB0aGlzLmV4ZUFjdGlvbnMgPSB0aGlzLmJwbVNlcnZpY2UuaGFzTWFpbkV4ZWN1dGFibGVQcm9jZXNzZXM7XG4gICAgICAgICAgfSk7XG4gICAgICB9KTtcbiAgfVxuXG4gIHNldEljb25UaXRsZXMoKSB7XG4gICAgdGhpcy5pY29uVGl0bGVzID0ge1xuICAgICAgc2VhcmNoOiB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KCdlby5iYXIuYnV0dG9uLnNlYXJjaC50b29sdGlwJyksXG4gICAgICBmaWxlOiB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KCdlby5iYXIuYnV0dG9uLmZpbGUudG9vbHRpcCcpLFxuICAgICAgZXhlYWN0aW9uczogdGhpcy50cmFuc2xhdGUuaW5zdGFudCgnZW8uYmFyLmJ1dHRvbi5leGVjdXRlLmFjdGlvbnMudG9vbHRpcCcpLFxuICAgICAgZmF2b3JpdGVzOiB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KCdlby5iYXIuYnV0dG9uLmZhdm9yaXRlcy50b29sdGlwJyksXG4gICAgICBwcmVwYXJlOiB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KCdlby5iYXIuYnV0dG9uLnByZXBhcmUudG9vbHRpcCcpLFxuICAgICAgaW5kZXg6IHRoaXMudHJhbnNsYXRlLmluc3RhbnQoJ2VvLmJhci5idXR0b24uaW5ib3gudG9vbHRpcCcpLFxuICAgICAgYWJvdXQ6IHRoaXMudHJhbnNsYXRlLmluc3RhbnQoJ2VvLnNpZGViYXIuaGVscC5tYW51YWwudG9vbHRpcCcpXG4gICAgfTtcbiAgfVxuXG5cbiAgcHJpdmF0ZSBzZW5kTm90aWZpY2F0aW9uKCkge1xuICAgIGlmIChOb3RpZmljYXRpb24ucGVybWlzc2lvbiA9PT0gJ2dyYW50ZWQnKSB7XG4gICAgICB0aGlzLmluaXROb3RpZmljYXRpb24oKTtcbiAgICB9IGVsc2UgaWYgKE5vdGlmaWNhdGlvbi5wZXJtaXNzaW9uICE9PSAnZGVuaWVkJykge1xuICAgICAgTm90aWZpY2F0aW9uLnJlcXVlc3RQZXJtaXNzaW9uKCkudGhlbigoKSA9PiB7XG4gICAgICAgIHRoaXMuaW5pdE5vdGlmaWNhdGlvbigpO1xuICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBpbml0Tm90aWZpY2F0aW9uKCkge1xuICAgIGNvbnN0IHRpdGxlID0gdGhpcy50cmFuc2xhdGUuaW5zdGFudCgnZW8uaW5ib3gubm90aWZpY2F0aW9uLnRpdGxlJyk7XG4gICAgY29uc3QgYm9keSA9IHRoaXMudHJhbnNsYXRlLmluc3RhbnQoJ2VvLmluYm94Lm5vdGlmaWNhdGlvbi5ib2R5Jyk7XG4gICAgY29uc3QgaWNvbiA9ICdhc3NldHMvX2RlZmF1bHQvaW1nL3l1dXZpcy1hZ2VudC5wbmcnO1xuXG4gICAgY29uc3Qgbm90aWZpY2F0aW9uID0gbmV3IE5vdGlmaWNhdGlvbih0aXRsZSwge1xuICAgICAgYm9keTogYm9keSxcbiAgICAgIGljb246IGljb25cbiAgICB9KTtcblxuICAgIHRoaXMuaW5pdE5vdGlmaWNhdGlvbkNsaWNrTGlzdGVuZXIobm90aWZpY2F0aW9uKTtcbiAgfVxuXG4gIC8vIFRoaXMgaXMgbGlzdGVuaW5nIGZvciB0aGUgbmF2aWdhdGlvbiBjbGljayBldmVudC4gV2hlbiB0aGUgY2xpZW50IHRhYiBpcyBhY3RpdmUsIGl0IGp1c3QgbmF2aWdhdGVzIHRvIHRoZSBpbmJveCByb3V0ZS5cbiAgLy8gSWYgbm90LCBpdCBvcGVucyBhIG5ldyB0YWIgYW5kIHNob3dzIHRoZSBpbmJveCB0aGVyZS5cbiAgcHJpdmF0ZSBpbml0Tm90aWZpY2F0aW9uQ2xpY2tMaXN0ZW5lcihub3RpZmljYXRpb246IE5vdGlmaWNhdGlvbikge1xuICAgIG5vdGlmaWNhdGlvbi5hZGRFdmVudExpc3RlbmVyKCdjbGljaycsICgpID0+IHtcbiAgICAgIGlmICh0aGlzLnBhZ2VWaXNpYmxlKSB7XG4gICAgICAgIHRoaXMucm91dGVyLm5hdmlnYXRlQnlVcmwoJy9pbmJveCcpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgY29uc3QgZnVsbFBhdGggPSB3aW5kb3cubG9jYXRpb24uaHJlZjtcbiAgICAgICAgY29uc3QgY3VycmVudFJvdXRlID0gdGhpcy5yb3V0ZXIudXJsO1xuICAgICAgICBjb25zdCBwYXRoVG9OYXZpZ2F0ZSA9IGZ1bGxQYXRoLnJlcGxhY2UoY3VycmVudFJvdXRlLCAnJykgKyAnL2luYm94JztcbiAgICAgICAgd2luZG93Lm9wZW4ocGF0aFRvTmF2aWdhdGUsICdfYmxhbmsnKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIC8vIFRoaXMgbGlzdGVuZXIgaXMgbmVlZGVkIHRvIGNoZWNrLCBpZiB0aGUgY2xpZW50IHRhYiBpcyBhY3RpdmUgb3Igbm90XG4gIHByaXZhdGUgaW5pdFZpc2liaWxpdHlDaGFuZ2VMaXN0ZW5lcigpIHtcbiAgICBkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCd2aXNpYmlsaXR5Y2hhbmdlJywgKCkgPT4gdGhpcy5wYWdlVmlzaWJsZSA9ICF0aGlzLnBhZ2VWaXNpYmxlKTtcbiAgfVxuXG4gIHRvZ2dsZVNpZGViYXIoKSB7XG4gICAgaWYgKCF0aGlzLnBlbmRpbmdDaGFuZ2VzLmNoZWNrKCkpIHtcbiAgICAgIHRoaXMuc2lkZWJhclNob3cgPSAhdGhpcy5zaWRlYmFyU2hvdztcbiAgICB9XG4gIH1cblxuICBvcGVuU2VhcmNoT3ZlcmxheSgpIHtcbiAgICBpZiAoIXRoaXMucGVuZGluZ0NoYW5nZXMuY2hlY2soKSkge1xuICAgICAgdGhpcy5yb3V0ZXIubmF2aWdhdGUoW3tvdXRsZXRzOiB7bW9kYWw6ICdzZWFyY2gnfX1dKTtcbiAgICB9XG4gIH1cblxuICBvcGVuQ3JlYXRlT2JqZWN0T3ZlcmxheSgpIHtcbiAgICBpZiAoIXRoaXMucGVuZGluZ0NoYW5nZXMuY2hlY2soKSkge1xuICAgICAgdGhpcy5yb3V0ZXIubmF2aWdhdGUoW3tvdXRsZXRzOiB7bW9kYWw6ICdhZGQnfX1dKTtcbiAgICB9XG4gIH1cblxuICBvcGVuUHJvY2Vzc092ZXJsYXkoKSB7XG4gICAgaWYgKCF0aGlzLnBlbmRpbmdDaGFuZ2VzLmNoZWNrKCkpIHtcbiAgICAgIHRoaXMucm91dGVyLm5hdmlnYXRlKFt7b3V0bGV0czoge21vZGFsOiAnYWN0aW9ucyd9fV0pO1xuICAgIH1cbiAgfVxuXG4gIG9wZW5TdGF0ZShzdGF0ZTogc3RyaW5nKSB7XG4gICAgaWYgKCF0aGlzLnBlbmRpbmdDaGFuZ2VzLmNoZWNrKCkpIHtcbiAgICAgIHRoaXMucm91dGVyLm5hdmlnYXRlQnlVcmwoc3RhdGUpO1xuICAgIH1cbiAgfVxuXG4gIG5nT25Jbml0KCkge1xuICAgIHRoaXMudXBkYXRlT25TY2hlbWFDaGFuZ2UoKTtcbiAgICB0aGlzLnNldEljb25UaXRsZXMoKTtcbiAgICB0aGlzLmdldERvY3VtZW50YXRpb24oKTtcbiAgICB0aGlzLmV4ZUFjdGlvbnMgPSB0aGlzLmJwbVNlcnZpY2UuaGFzTWFpbkV4ZWN1dGFibGVQcm9jZXNzZXM7XG4gICAgLy8gdGhpcy5icG1TZXJ2aWNlXG4gICAgLy8gICAuZ2V0RXhlY3V0YWJsZVByb2Nlc3NlcyhudWxsLCB0cnVlKVxuICAgIC8vICAgLnN1YnNjcmliZShyZXMgPT4ge1xuICAgIC8vICAgICB0aGlzLmV4ZUFjdGlvbnMgPSAhIXJlcy5sZW5ndGg7XG4gICAgLy8gICB9KTtcbiAgICB0aGlzLmluaXRWaXNpYmlsaXR5Q2hhbmdlTGlzdGVuZXIoKTtcbiAgfVxufVxuIiwiPGVvLXNpZGUtYmFyIChlb091dHNpZGVDbGljayk9XCJzaWRlYmFyU2hvdyA9ICFzaWRlYmFyU2hvd1wiICpuZ0lmPVwic2lkZWJhclNob3dcIj5cbiAgPGRpdiBjbGFzcz1cIm5hdmlcIj5cbiAgICA8bmctY29udGVudCBzZWxlY3Q9XCJlby1zaWRlYmFyLXBsdWdpbi5uYXZpXCI+PC9uZy1jb250ZW50PlxuICA8L2Rpdj5cbiAgPGRpdiBjbGFzcz1cImhlbHBcIj5cbiAgICA8bmctY29udGVudCBzZWxlY3Q9XCJlby1zaWRlYmFyLXBsdWdpbi5oZWxwXCI+PC9uZy1jb250ZW50PlxuICA8L2Rpdj5cbjwvZW8tc2lkZS1iYXI+XG5cbjxkaXYgY2xhc3M9XCJlby1hcHAtYmFyXCIgW25nQ2xhc3NdPVwie3RyYW5zcGFyZW50OiB0cmFuc3BhcmVudH1cIiBlb1J0bEF3YXJlPlxuXG4gIDxkaXYgY2xhc3M9XCJsZWZ0XCI+XG5cbiAgICA8ZW8taWNvbiBpZD1cImFwcC1tZW51XCIgY2xhc3M9XCJtZW51IHdoaXRlXCIgdGFiaW5kZXg9XCIwXCJcbiAgICAgICAgICAgICAoY2xpY2spPVwidG9nZ2xlU2lkZWJhcigpXCIgKGtleXVwLmVudGVyKT1cInRvZ2dsZVNpZGViYXIoKVwiXG4gICAgICAgICAgICAgW2ljb25TcmNdPVwiJ2Fzc2V0cy9fZGVmYXVsdC9zdmcvaWNfaGFtYnVyZ2VyLnN2ZydcIj48L2VvLWljb24+XG4gICAgPGVvLWljb24gKGNsaWNrKT1cIm9wZW5EYXNoYm9hcmQoJGV2ZW50LmN0cmxLZXkpXCIgKGF1eGNsaWNrKT1cIm9wZW5EYXNoYm9hcmQodHJ1ZSlcIlxuICAgICAgICAgICAgICAoa2V5dXAuZW50ZXIpPVwib3BlbkRhc2hib2FyZChmYWxzZSlcIiB0YWJpbmRleD1cIjBcIlxuICAgICAgICAgICAgICBjbGFzcz1cImxvZ28gd2hpdGVcIiBbaWNvblNyY109XCJsb2dvXCI+PC9lby1pY29uPlxuXG4gICAgPGRpdiBjbGFzcz1cImFjdGlvbnNcIj5cbiAgICAgIDxhIHRhYmluZGV4PVwiMFwiIChrZXlkb3duLmVudGVyKT1cIm9wZW5TZWFyY2hPdmVybGF5KClcIiAoY2xpY2spPVwib3BlblNlYXJjaE92ZXJsYXkoKVwiPlxuICAgICAgICA8ZW8taWNvbiBpZD1cImFwcC1zZWFyY2hcIiBjbGFzcz1cInNlYXJjaCB3aGl0ZVwiIHF1ZXJ5UGFyYW1zSGFuZGxpbmc9XCJwcmVzZXJ2ZVwiXG4gICAgICAgICAgICAgICAgW2ljb25UaXRsZV09XCJpY29uVGl0bGVzLnNlYXJjaFwiXG4gICAgICAgICAgICAgICAgW2ljb25TcmNdPVwiJ2Fzc2V0cy9fZGVmYXVsdC9zdmcvaWNfc2VhcmNoLnN2ZydcIj48L2VvLWljb24+XG4gICAgICA8L2E+XG5cbiAgICAgIDxhIHRhYmluZGV4PVwiMFwiIChrZXlkb3duLmVudGVyKT1cIm9wZW5DcmVhdGVPYmplY3RPdmVybGF5KClcIiAoY2xpY2spPVwib3BlbkNyZWF0ZU9iamVjdE92ZXJsYXkoKVwiPlxuICAgICAgICA8ZW8taWNvbiBpZD1cImFwcC1hZGRcIiBjbGFzcz1cImFkZCB3aGl0ZVwiICpuZ0lmPVwiY2FwYWJpbGl0aWVzLmludHJheVwiXG4gICAgICAgICAgICAgICAgW2ljb25UaXRsZV09XCJpY29uVGl0bGVzLmZpbGVcIlxuICAgICAgICAgICAgICAgIFtpY29uU3JjXT1cIidhc3NldHMvX2RlZmF1bHQvc3ZnL2ljX2FkZC5zdmcnXCI+PC9lby1pY29uPlxuICAgICAgPC9hPlxuICAgICAgPGEgdGFiaW5kZXg9XCIwXCIgKGtleWRvd24uZW50ZXIpPVwib3BlblByb2Nlc3NPdmVybGF5KClcIiAoY2xpY2spPVwib3BlblByb2Nlc3NPdmVybGF5KClcIj5cbiAgICAgICAgPGVvLWljb24gaWQ9XCJhcHAtYWN0aW9uc1wiIGNsYXNzPVwiYWN0aW9ucyB3aGl0ZVwiICpuZ0lmPVwiZXhlQWN0aW9uc1wiXG4gICAgICAgICAgICAgICAgW2ljb25UaXRsZV09XCJpY29uVGl0bGVzLmV4ZWFjdGlvbnNcIlxuICAgICAgICAgICAgICAgIFtpY29uU3JjXT1cIidhc3NldHMvX2RlZmF1bHQvc3ZnL2ljX2JwbV9zdGFydC5zdmcnXCI+PC9lby1pY29uPlxuICAgICAgPC9hPlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbiAgPGRpdiBjbGFzcz1cInJpZ2h0XCI+XG4gICAgPGRpdiBjbGFzcz1cInN1YlwiPlxuICAgICAgPGVvLWNsaXBib2FyZD48L2VvLWNsaXBib2FyZD5cbiAgICA8L2Rpdj5cbiAgICA8YSB0YWJpbmRleD1cIjBcIiAoa2V5ZG93bi5lbnRlcik9XCJvcGVuU3RhdGUoJy9mYXZvcml0ZXMnKVwiIChjbGljayk9XCJvcGVuU3RhdGUoJy9mYXZvcml0ZXMnKVwiPlxuICAgICAgPGVvLWljb24gY2xhc3M9XCJidXR0b24gd2hpdGUgZmF2b3JpdGVcIlxuICAgICAgICAgICAgICBbaWNvblRpdGxlXT1cImljb25UaXRsZXMuZmF2b3JpdGVzXCIgKm5nSWY9XCJjYXBhYmlsaXRpZXMuZmF2b3JpdGVzXCJcbiAgICAgICAgICAgICAgW2ljb25TcmNdPVwiJ2Fzc2V0cy9fZGVmYXVsdC9zdmcvaWNfZmF2b3JpdGUuc3ZnJ1wiPjwvZW8taWNvbj5cbiAgICA8L2E+XG4gICAgPGEgdGFiaW5kZXg9XCIwXCIgKGtleWRvd24uZW50ZXIpPVwib3BlblN0YXRlKCcvcHJlcGFyZScpXCIgKGNsaWNrKT1cIm9wZW5TdGF0ZSgnL3ByZXBhcmUnKVwiPlxuICAgICAgPGVvLWljb24gY2xhc3M9XCJidXR0b24gd2hpdGUgcHJlcGFyZVwiICpuZ0lmPVwiY2FwYWJpbGl0aWVzLmludHJheVwiXG4gICAgICAgICAgICAgIFtpY29uVGl0bGVdPVwiaWNvblRpdGxlcy5wcmVwYXJlXCJcbiAgICAgICAgICAgICAgW2JhZGdlXT1cInByZXBhcmVkSXRlbXNDb3VudFwiIFtpY29uU3JjXT1cIidhc3NldHMvX2RlZmF1bHQvc3ZnL2ljX3ByZXBhcmUuc3ZnJ1wiPjwvZW8taWNvbj5cbiAgICA8L2E+XG4gICAgPGEgdGFiaW5kZXg9XCIwXCIgKGtleWRvd24uZW50ZXIpPVwib3BlblN0YXRlKCcvaW5ib3gnKVwiIChjbGljayk9XCJvcGVuU3RhdGUoJy9pbmJveCcpXCI+XG4gICAgICA8ZW8taWNvbiBjbGFzcz1cImJ1dHRvbiB3aGl0ZSBpbmJveFwiIFtuZ0NsYXNzXT1cInthbGVydDogaW5ib3hTdGF0ZT8ub3ZlcmR1ZW1lc3NhZ2VzID4gMH1cIiAqbmdJZj1cImNhcGFiaWxpdGllcy5pbmJveFwiXG4gICAgICAgICAgICAgIFtpY29uVGl0bGVdPVwiaWNvblRpdGxlcy5pbmRleFwiXG4gICAgICAgICAgICAgIFtiYWRnZV09XCJpbmJveFN0YXRlPy50b3RhbG1lc3NhZ2VzXCIgW2ljb25TcmNdPVwiJ2Fzc2V0cy9fZGVmYXVsdC9zdmcvaWNfaW5ib3guc3ZnJ1wiPjwvZW8taWNvbj5cbiAgICA8L2E+XG4gICAgPGEgdGFiaW5kZXg9XCIwXCIgaHJlZj1cInt7ZG9jdS5saW5rfX1cIiB0YXJnZXQ9XCJfYmxhbmtcIj5cbiAgICAgIDxlby1pY29uIGNsYXNzPVwiYnV0dG9uIHdoaXRlIGFib3V0XCJcbiAgICAgICAgICAgICAgW2ljb25UaXRsZV09XCJpY29uVGl0bGVzLmFib3V0XCIgW2ljb25TcmNdPVwiJ2Fzc2V0cy9fZGVmYXVsdC9zdmcvaWNfYWJvdXQuc3ZnJ1wiPjwvZW8taWNvbj5cbiAgICA8L2E+XG4gICAgPGVvLW92ZXJsYXkgI3VzZXJwYW5lbCBbdXNlckF2YXRhcl09XCJ0cnVlXCI+XG4gICAgICA8ZW8tdXNlci1hdmF0YXItb3ZlcmxheSBbdXNlclBhbmVsXT1cInVzZXJwYW5lbFwiPjwvZW8tdXNlci1hdmF0YXItb3ZlcmxheT5cbiAgICA8L2VvLW92ZXJsYXk+XG5cblxuICA8L2Rpdj5cbjwvZGl2PlxuIl19
204
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwLWJhci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBwL2VvLWZyYW1ld29yay9hcHAtc2hlbGwvYXBwLWJhci9hcHAtYmFyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvZW8tZnJhbWV3b3JrL2FwcC1zaGVsbC9hcHAtYmFyL2FwcC1iYXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFDTCxTQUFTLEVBRVQsS0FBSyxFQUdMLFlBQVksRUFDYixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUMsZUFBZSxFQUFTLE1BQU0saUJBQWlCLENBQUM7QUFDeEQsT0FBTyxFQUtMLFVBQVUsRUFNWCxNQUFNLGNBQWMsQ0FBQztBQUN0QixPQUFPLEVBQUMsWUFBWSxFQUFFLGNBQWMsRUFBQyxNQUFNLHVCQUF1QixDQUFDO0FBQ25FLE9BQU8sRUFBQyxtQkFBbUIsRUFBQyxNQUFNLDRDQUE0QyxDQUFDOzs7Ozs7Ozs7Ozs7OztBQVN4RSxJQUFNLGVBQWUsR0FBckIsTUFBTSxlQUFlO0lBaUIxQixZQUFvQixXQUF3QixFQUN4QixpQkFBc0MsRUFDdEMsU0FBMkIsRUFDM0IsWUFBMEIsRUFDMUIsY0FBOEIsRUFDOUIsTUFBYyxFQUNkLFVBQXNCLEVBQ3RCLFlBQTBCLEVBQzFCLE1BQWMsRUFDZCxPQUFtQixFQUNuQixjQUFxQztRQVZyQyxnQkFBVyxHQUFYLFdBQVcsQ0FBYTtRQUN4QixzQkFBaUIsR0FBakIsaUJBQWlCLENBQXFCO1FBQ3RDLGNBQVMsR0FBVCxTQUFTLENBQWtCO1FBQzNCLGlCQUFZLEdBQVosWUFBWSxDQUFjO1FBQzFCLG1CQUFjLEdBQWQsY0FBYyxDQUFnQjtRQUM5QixXQUFNLEdBQU4sTUFBTSxDQUFRO1FBQ2QsZUFBVSxHQUFWLFVBQVUsQ0FBWTtRQUN0QixpQkFBWSxHQUFa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QWdCO3NCQUFsRCxZQUFZO3VCQUFDLG1CQUFtQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENvbXBvbmVudCxcbiAgRWxlbWVudFJlZixcbiAgSW5wdXQsXG4gIE9uSW5pdCxcbiAgUXVlcnlMaXN0LFxuICBWaWV3Q2hpbGRyZW5cbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge05hdmlnYXRpb25TdGFydCwgUm91dGVyfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHtcbiAgQnBtU2VydmljZSxcbiAgQ2FwYWJpbGl0aWVzLFxuICBDYXBhYmlsaXRpZXNTZXJ2aWNlLFxuICBDb25maWcsXG4gIEVuYWlvRXZlbnQsXG4gIEVvVXNlcixcbiAgRXZlbnRTZXJ2aWNlLFxuICBJbmJveFNlcnZpY2UsIEluYm94U3RhdGUsXG4gIFByZXBhcmVTZXJ2aWNlLCBUcmFuc2xhdGVTZXJ2aWNlLFxuICBVc2VyU2VydmljZVxufSBmcm9tICdAZW8tc2RrL2NvcmUnO1xuaW1wb3J0IHtVbnRpbERlc3Ryb3ksIHVudGlsRGVzdHJveWVkfSBmcm9tICdAbmduZWF0L3VudGlsLWRlc3Ryb3knO1xuaW1wb3J0IHtVc2VyQXZhdGFyQ29tcG9uZW50fSBmcm9tICcuLi8uLi91aS91c2VyLWF2YXRhci91c2VyLWF2YXRhci5jb21wb25lbnQnO1xuaW1wb3J0IHtQZW5kaW5nQ2hhbmdlc1NlcnZpY2V9IGZyb20gXCIuLi8uLi8uLi9lby1mcmFtZXdvcmstY29yZVwiO1xuXG5AVW50aWxEZXN0cm95KClcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2VvLWFwcC1iYXInLFxuICB0ZW1wbGF0ZVVybDogJy4vYXBwLWJhci5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2FwcC1iYXIuY29tcG9uZW50LnNjc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBBcHBCYXJDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuXG4gIEBJbnB1dCgpIHRyYW5zcGFyZW50ID0gZmFsc2U7XG5cbiAgcHJlcGFyZWRJdGVtc0NvdW50OiBudW1iZXI7XG4gIGluYm94U3RhdGU6IEluYm94U3RhdGU7XG4gIHVzZXI6IEVvVXNlcjtcbiAgY2FwYWJpbGl0aWVzOiBDYXBhYmlsaXRpZXM7XG4gIGV4ZUFjdGlvbnM6IGJvb2xlYW47XG4gIHNpZGViYXJTaG93ID0gZmFsc2U7XG4gIG9wdGlvbnM6IGFueTtcbiAgaWNvblRpdGxlczogYW55O1xuICBsb2dvOiBzdHJpbmc7XG4gIHBhZ2VWaXNpYmxlID0gdHJ1ZTtcbiAgZG9jdToge2xpbms6IHN0cmluZywgbGFiZWw6IHN0cmluZ307XG4gIEBWaWV3Q2hpbGRyZW4oVXNlckF2YXRhckNvbXBvbmVudCkgYXZhdGFyQ29tcG9uZW50czogUXVlcnlMaXN0PFVzZXJBdmF0YXJDb21wb25lbnQ+O1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgdXNlclNlcnZpY2U6IFVzZXJTZXJ2aWNlLFxuICAgICAgICAgICAgICBwcml2YXRlIGNhcGFiaWxpdHlTZXJ2aWNlOiBDYXBhYmlsaXRpZXNTZXJ2aWNlLFxuICAgICAgICAgICAgICBwcml2YXRlIHRyYW5zbGF0ZTogVHJhbnNsYXRlU2VydmljZSxcbiAgICAgICAgICAgICAgcHJpdmF0ZSBpbmJveFNlcnZpY2U6IEluYm94U2VydmljZSxcbiAgICAgICAgICAgICAgcHJpdmF0ZSBwcmVwYXJlU2VydmljZTogUHJlcGFyZVNlcnZpY2UsXG4gICAgICAgICAgICAgIHByaXZhdGUgcm91dGVyOiBSb3V0ZXIsXG4gICAgICAgICAgICAgIHByaXZhdGUgYnBtU2VydmljZTogQnBtU2VydmljZSxcbiAgICAgICAgICAgICAgcHJpdmF0ZSBldmVudFNlcnZpY2U6IEV2ZW50U2VydmljZSxcbiAgICAgICAgICAgICAgcHJpdmF0ZSBjb25maWc6IENvbmZpZyxcbiAgICAgICAgICAgICAgcHJpdmF0ZSBlbGVtUmVmOiBFbGVtZW50UmVmLFxuICAgICAgICAgICAgICBwcml2YXRlIHBlbmRpbmdDaGFuZ2VzOiBQZW5kaW5nQ2hhbmdlc1NlcnZpY2VcbiAgICAgICAgICAgICAgKSB7XG4gICAgdGhpcy5jYXBhYmlsaXRpZXMgPSB0aGlzLmNhcGFiaWxpdHlTZXJ2aWNlLmdldENhcGFiaWxpdGllcygpO1xuICAgIHRoaXMubG9nbyA9IHRoaXMuY29uZmlnLmdldE5hdmlnYXRpb25CYXJJbWFnZSgpO1xuICAgIC8vIGxpc3RlbiBmb3Igcm91dGluZyBldmVudHMgdG8gaGlkZSBhbnkgYWN0aXZlIG92ZXJsYXlzXG4gICAgLy8gb24gY2hhbmdpbmcgcm91dGVcbiAgICB0aGlzLnJvdXRlclxuICAgICAgLmV2ZW50cy5waXBlKFxuICAgICAgdW50aWxEZXN0cm95ZWQodGhpcykpXG4gICAgICAuc3Vic2NyaWJlKGV2ZW50ID0+IHtcbiAgICAgICAgaWYgKGV2ZW50IGluc3RhbmNlb2YgTmF2aWdhdGlvblN0YXJ0KSB7XG4gICAgICAgICAgdGhpcy5zaWRlYmFyU2hvdyA9IGZhbHNlO1xuICAgICAgICB9XG4gICAgICB9KTtcblxuICAgIHRoaXMudXNlclNlcnZpY2VcbiAgICAgIC51c2VyJC5waXBlKFxuICAgICAgdW50aWxEZXN0cm95ZWQodGhpcykpXG4gICAgICAuc3Vic2NyaWJlKHVzZXIgPT4gdGhpcy51c2VyID0gdXNlcik7XG5cbiAgICBpZiAodGhpcy5jYXBhYmlsaXRpZXMuaW5ib3gpIHtcbiAgICAgIHRoaXMuaW5ib3hTZXJ2aWNlXG4gICAgICAgIC5pbmJveFN0YXRlJC5waXBlKFxuICAgICAgICB1bnRpbERlc3Ryb3llZCh0aGlzKSlcbiAgICAgICAgLnN1YnNjcmliZSgoaW5ib3hTdGF0ZTogSW5ib3hTdGF0ZSkgPT4ge1xuICAgICAgICAgIGlmICh0aGlzLmluYm94U3RhdGUgJiYgdGhpcy5pbmJveFN0YXRlLnVucmVhZG1lc3NhZ2VzIDwgaW5ib3hTdGF0ZS51bnJlYWRtZXNzYWdlcykge1xuICAgICAgICAgICAgdGhpcy5zZW5kTm90aWZpY2F0aW9uKCk7XG4gICAgICAgICAgfVxuICAgICAgICAgIHRoaXMuaW5ib3hTdGF0ZSA9IGluYm94U3RhdGU7XG4gICAgICAgIH0pO1xuICAgICAgdGhpcy5ldmVudFNlcnZpY2Uub24oRW5haW9FdmVudC5TWVNURU1fU1RBVFVTX0lOQk9YX0NIQU5HRUQpLnN1YnNjcmliZSgoKSA9PiB0aGlzLmluYm94U2VydmljZS5yZWZyZXNoSW5ib3hTdGF0ZSgpKVxuICAgIH1cblxuICAgIGlmICh0aGlzLmNhcGFiaWxpdGllcy5pbnRyYXkpIHtcbiAgICAgIHRoaXMucHJlcGFyZVNlcnZpY2VcbiAgICAgICAgLnByZXBhcmVkSXRlbUNvdW50JC5waXBlKFxuICAgICAgICB1bnRpbERlc3Ryb3llZCh0aGlzKSlcbiAgICAgICAgLnN1YnNjcmliZShjb3VudCA9PiB7XG4gICAgICAgICAgdGhpcy5wcmVwYXJlZEl0ZW1zQ291bnQgPSBjb3VudDtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgdGhpcy50cmFuc2xhdGVcbiAgICAgIC5vbkxhbmdDaGFuZ2VcbiAgICAgIC5zdWJzY3JpYmUoKCkgPT4gdGhpcy5zZXRJY29uVGl0bGVzKCkpO1xuICB9XG5cbiAgb3BlbkRhc2hib2FyZChvcGVuSW5OZXdXaW5kb3c6IGJvb2xlYW4pIHtcbiAgICBpZiAob3BlbkluTmV3V2luZG93KSB7XG4gICAgICB3aW5kb3cub3BlbignLycpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZShbJy8nXSk7XG4gICAgfVxuICB9XG5cbiAgZ2V0RG9jdW1lbnRhdGlvbigpIHtcbiAgICB0aGlzLnVzZXJTZXJ2aWNlXG4gICAgICAudXNlciRcbiAgICAgIC5zdWJzY3JpYmUoZGF0YSA9PiB7XG4gICAgICAgIGNvbnN0IGRvY3UgPSB0aGlzLmNvbmZpZy5nZXRSYXcoJ2Fib3V0LmRvY3UnKTtcbiAgICAgICAgY29uc3QgbGluayA9IGRvY3UubGluay5yZXBsYWNlKCcjIyN1c2VyTGFuZyMjIycsIGRhdGEudXNlclNldHRpbmdzLmNsaWVudGxvY2FsZS5zdWJzdHJpbmcoMCwgMikpO1xuICAgICAgICB0aGlzLmRvY3UgPSB7Li4uZG9jdSwgbGlua307XG4gICAgICB9KVxuICB9XG5cbiAgdXBkYXRlT25TY2hlbWFDaGFuZ2UoKSB7XG4gICAgdGhpcy5ldmVudFNlcnZpY2VcbiAgICAgIC5vbihFbmFpb0V2ZW50LlNDSEVNQV9MT0NBTEVfQ0hBTkdFRCkucGlwZShcbiAgICAgIHVudGlsRGVzdHJveWVkKHRoaXMpKVxuICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgIHRoaXMuYnBtU2VydmljZVxuICAgICAgICAgIC5nZXRFeGVjdXRhYmxlUHJvY2Vzc2VzKG51bGwsIG51bGwsIG51bGwsIG51bGwsIHRydWUpXG4gICAgICAgICAgLnN1YnNjcmliZShyZXMgPT4ge1xuICAgICAgICAgICAgLy8gdGhpcy5leGVBY3Rpb25zID0gISFyZXMubGVuZ3RoO1xuICAgICAgICAgICAgdGhpcy5leGVBY3Rpb25zID0gdGhpcy5icG1TZXJ2aWNlLmhhc01haW5FeGVjdXRhYmxlUHJvY2Vzc2VzO1xuICAgICAgICAgIH0pO1xuICAgICAgfSk7XG4gIH1cblxuICBzZXRJY29uVGl0bGVzKCkge1xuICAgIHRoaXMuaWNvblRpdGxlcyA9IHtcbiAgICAgIHNlYXJjaDogdGhpcy50cmFuc2xhdGUuaW5zdGFudCgnZW8uYmFyLmJ1dHRvbi5zZWFyY2gudG9vbHRpcCcpLFxuICAgICAgZmlsZTogdGhpcy50cmFuc2xhdGUuaW5zdGFudCgnZW8uYmFyLmJ1dHRvbi5maWxlLnRvb2x0aXAnKSxcbiAgICAgIGV4ZWFjdGlvbnM6IHRoaXMudHJhbnNsYXRlLmluc3RhbnQoJ2VvLmJhci5idXR0b24uZXhlY3V0ZS5hY3Rpb25zLnRvb2x0aXAnKSxcbiAgICAgIGZhdm9yaXRlczogdGhpcy50cmFuc2xhdGUuaW5zdGFudCgnZW8uYmFyLmJ1dHRvbi5mYXZvcml0ZXMudG9vbHRpcCcpLFxuICAgICAgcHJlcGFyZTogdGhpcy50cmFuc2xhdGUuaW5zdGFudCgnZW8uYmFyLmJ1dHRvbi5wcmVwYXJlLnRvb2x0aXAnKSxcbiAgICAgIGluZGV4OiB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KCdlby5iYXIuYnV0dG9uLmluYm94LnRvb2x0aXAnKSxcbiAgICAgIGFib3V0OiB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KCdlby5zaWRlYmFyLmhlbHAubWFudWFsLnRvb2x0aXAnKVxuICAgIH07XG4gIH1cblxuXG4gIHByaXZhdGUgc2VuZE5vdGlmaWNhdGlvbigpIHtcbiAgICBpZiAoTm90aWZpY2F0aW9uLnBlcm1pc3Npb24gPT09ICdncmFudGVkJykge1xuICAgICAgdGhpcy5pbml0Tm90aWZpY2F0aW9uKCk7XG4gICAgfSBlbHNlIGlmIChOb3RpZmljYXRpb24ucGVybWlzc2lvbiAhPT0gJ2RlbmllZCcpIHtcbiAgICAgIE5vdGlmaWNhdGlvbi5yZXF1ZXN0UGVybWlzc2lvbigpLnRoZW4oKCkgPT4ge1xuICAgICAgICB0aGlzLmluaXROb3RpZmljYXRpb24oKTtcbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgaW5pdE5vdGlmaWNhdGlvbigpIHtcbiAgICBjb25zdCB0aXRsZSA9IHRoaXMudHJhbnNsYXRlLmluc3RhbnQoJ2VvLmluYm94Lm5vdGlmaWNhdGlvbi50aXRsZScpO1xuICAgIGNvbnN0IGJvZHkgPSB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KCdlby5pbmJveC5ub3RpZmljYXRpb24uYm9keScpO1xuICAgIGNvbnN0IGljb24gPSAnYXNzZXRzL19kZWZhdWx0L2ltZy95dXV2aXMtYWdlbnQucG5nJztcblxuICAgIGNvbnN0IG5vdGlmaWNhdGlvbiA9IG5ldyBOb3RpZmljYXRpb24odGl0bGUsIHtcbiAgICAgIGJvZHk6IGJvZHksXG4gICAgICBpY29uOiBpY29uXG4gICAgfSk7XG5cbiAgICB0aGlzLmluaXROb3RpZmljYXRpb25DbGlja0xpc3RlbmVyKG5vdGlmaWNhdGlvbik7XG4gIH1cblxuICAvLyBUaGlzIGlzIGxpc3RlbmluZyBmb3IgdGhlIG5hdmlnYXRpb24gY2xpY2sgZXZlbnQuIFdoZW4gdGhlIGNsaWVudCB0YWIgaXMgYWN0aXZlLCBpdCBqdXN0IG5hdmlnYXRlcyB0byB0aGUgaW5ib3ggcm91dGUuXG4gIC8vIElmIG5vdCwgaXQgb3BlbnMgYSBuZXcgdGFiIGFuZCBzaG93cyB0aGUgaW5ib3ggdGhlcmUuXG4gIHByaXZhdGUgaW5pdE5vdGlmaWNhdGlvbkNsaWNrTGlzdGVuZXIobm90aWZpY2F0aW9uOiBOb3RpZmljYXRpb24pIHtcbiAgICBub3RpZmljYXRpb24uYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLCAoKSA9PiB7XG4gICAgICBpZiAodGhpcy5wYWdlVmlzaWJsZSkge1xuICAgICAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZUJ5VXJsKCcvaW5ib3gnKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGNvbnN0IGZ1bGxQYXRoID0gd2luZG93LmxvY2F0aW9uLmhyZWY7XG4gICAgICAgIGNvbnN0IGN1cnJlbnRSb3V0ZSA9IHRoaXMucm91dGVyLnVybDtcbiAgICAgICAgY29uc3QgcGF0aFRvTmF2aWdhdGUgPSBmdWxsUGF0aC5yZXBsYWNlKGN1cnJlbnRSb3V0ZSwgJycpICsgJy9pbmJveCc7XG4gICAgICAgIHdpbmRvdy5vcGVuKHBhdGhUb05hdmlnYXRlLCAnX2JsYW5rJyk7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICAvLyBUaGlzIGxpc3RlbmVyIGlzIG5lZWRlZCB0byBjaGVjaywgaWYgdGhlIGNsaWVudCB0YWIgaXMgYWN0aXZlIG9yIG5vdFxuICBwcml2YXRlIGluaXRWaXNpYmlsaXR5Q2hhbmdlTGlzdGVuZXIoKSB7XG4gICAgZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigndmlzaWJpbGl0eWNoYW5nZScsICgpID0+IHRoaXMucGFnZVZpc2libGUgPSAhdGhpcy5wYWdlVmlzaWJsZSk7XG4gIH1cblxuICB0b2dnbGVTaWRlYmFyKCkge1xuICAgIGlmICghdGhpcy5wZW5kaW5nQ2hhbmdlcy5jaGVjaygpKSB7XG4gICAgICB0aGlzLnNpZGViYXJTaG93ID0gIXRoaXMuc2lkZWJhclNob3c7XG4gICAgfVxuICB9XG5cbiAgb3BlblNlYXJjaE92ZXJsYXkoKSB7XG4gICAgaWYgKCF0aGlzLnBlbmRpbmdDaGFuZ2VzLmNoZWNrKCkpIHtcbiAgICAgIHRoaXMucm91dGVyLm5hdmlnYXRlKFt7b3V0bGV0czoge21vZGFsOiAnc2VhcmNoJ319XSk7XG4gICAgfVxuICB9XG5cbiAgb3BlbkNyZWF0ZU9iamVjdE92ZXJsYXkoKSB7XG4gICAgaWYgKCF0aGlzLnBlbmRpbmdDaGFuZ2VzLmNoZWNrKCkpIHtcbiAgICAgIHRoaXMucm91dGVyLm5hdmlnYXRlKFt7b3V0bGV0czoge21vZGFsOiAnYWRkJ319XSk7XG4gICAgfVxuICB9XG5cbiAgb3BlblByb2Nlc3NPdmVybGF5KCkge1xuICAgIGlmICghdGhpcy5wZW5kaW5nQ2hhbmdlcy5jaGVjaygpKSB7XG4gICAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZShbe291dGxldHM6IHttb2RhbDogJ2FjdGlvbnMnfX1dKTtcbiAgICB9XG4gIH1cblxuICBvcGVuU3RhdGUoc3RhdGU6IHN0cmluZykge1xuICAgIGlmICghdGhpcy5wZW5kaW5nQ2hhbmdlcy5jaGVjaygpKSB7XG4gICAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZUJ5VXJsKHN0YXRlKTtcbiAgICB9XG4gIH1cblxuICBuZ09uSW5pdCgpIHtcbiAgICB0aGlzLnVwZGF0ZU9uU2NoZW1hQ2hhbmdlKCk7XG4gICAgdGhpcy5zZXRJY29uVGl0bGVzKCk7XG4gICAgdGhpcy5nZXREb2N1bWVudGF0aW9uKCk7XG4gICAgdGhpcy5leGVBY3Rpb25zID0gdGhpcy5icG1TZXJ2aWNlLmhhc01haW5FeGVjdXRhYmxlUHJvY2Vzc2VzO1xuICAgIC8vIHRoaXMuYnBtU2VydmljZVxuICAgIC8vICAgLmdldEV4ZWN1dGFibGVQcm9jZXNzZXMobnVsbCwgdHJ1ZSlcbiAgICAvLyAgIC5zdWJzY3JpYmUocmVzID0+IHtcbiAgICAvLyAgICAgdGhpcy5leGVBY3Rpb25zID0gISFyZXMubGVuZ3RoO1xuICAgIC8vICAgfSk7XG4gICAgdGhpcy5pbml0VmlzaWJpbGl0eUNoYW5nZUxpc3RlbmVyKCk7XG4gIH1cbn1cbiIsIjxlby1zaWRlLWJhciAoZW9PdXRzaWRlQ2xpY2spPVwic2lkZWJhclNob3cgPSAhc2lkZWJhclNob3dcIiAqbmdJZj1cInNpZGViYXJTaG93XCI+XG4gIDxkaXYgY2xhc3M9XCJuYXZpXCI+XG4gICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiZW8tc2lkZWJhci1wbHVnaW4ubmF2aVwiPjwvbmctY29udGVudD5cbiAgPC9kaXY+XG4gIDxkaXYgY2xhc3M9XCJoZWxwXCI+XG4gICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiZW8tc2lkZWJhci1wbHVnaW4uaGVscFwiPjwvbmctY29udGVudD5cbiAgPC9kaXY+XG48L2VvLXNpZGUtYmFyPlxuXG48ZGl2IGNsYXNzPVwiZW8tYXBwLWJhclwiIFtuZ0NsYXNzXT1cInt0cmFuc3BhcmVudDogdHJhbnNwYXJlbnR9XCIgZW9SdGxBd2FyZT5cblxuICA8ZGl2IGNsYXNzPVwibGVmdFwiPlxuXG4gICAgPGVvLWljb24gaWQ9XCJhcHAtbWVudVwiIGNsYXNzPVwibWVudSB3aGl0ZVwiIHRhYmluZGV4PVwiMFwiXG4gICAgICAgICAgICAgKGNsaWNrKT1cInRvZ2dsZVNpZGViYXIoKVwiIChrZXl1cC5lbnRlcik9XCJ0b2dnbGVTaWRlYmFyKClcIlxuICAgICAgICAgICAgIFtpY29uU3JjXT1cIidhc3NldHMvX2RlZmF1bHQvc3ZnL2ljX2hhbWJ1cmdlci5zdmcnXCI+PC9lby1pY29uPlxuICAgIDxlby1pY29uIChjbGljayk9XCJvcGVuRGFzaGJvYXJkKCRldmVudC5jdHJsS2V5KVwiIChhdXhjbGljayk9XCJvcGVuRGFzaGJvYXJkKHRydWUpXCJcbiAgICAgICAgICAgICAgKGtleXVwLmVudGVyKT1cIm9wZW5EYXNoYm9hcmQoZmFsc2UpXCIgdGFiaW5kZXg9XCIwXCJcbiAgICAgICAgICAgICAgY2xhc3M9XCJsb2dvIHdoaXRlXCIgW2ljb25TcmNdPVwibG9nb1wiPjwvZW8taWNvbj5cblxuICAgIDxkaXYgY2xhc3M9XCJhY3Rpb25zXCI+XG4gICAgICA8YSB0YWJpbmRleD1cIjBcIiAoa2V5ZG93bi5lbnRlcik9XCJvcGVuU2VhcmNoT3ZlcmxheSgpXCIgKGNsaWNrKT1cIm9wZW5TZWFyY2hPdmVybGF5KClcIj5cbiAgICAgICAgPGVvLWljb24gaWQ9XCJhcHAtc2VhcmNoXCIgY2xhc3M9XCJzZWFyY2ggd2hpdGVcIiBxdWVyeVBhcmFtc0hhbmRsaW5nPVwicHJlc2VydmVcIlxuICAgICAgICAgICAgICAgIFtpY29uVGl0bGVdPVwiaWNvblRpdGxlcy5zZWFyY2hcIlxuICAgICAgICAgICAgICAgIFtpY29uU3JjXT1cIidhc3NldHMvX2RlZmF1bHQvc3ZnL2ljX3NlYXJjaC5zdmcnXCI+PC9lby1pY29uPlxuICAgICAgPC9hPlxuXG4gICAgICA8YSB0YWJpbmRleD1cIjBcIiAoa2V5ZG93bi5lbnRlcik9XCJvcGVuQ3JlYXRlT2JqZWN0T3ZlcmxheSgpXCIgKGNsaWNrKT1cIm9wZW5DcmVhdGVPYmplY3RPdmVybGF5KClcIj5cbiAgICAgICAgPGVvLWljb24gaWQ9XCJhcHAtYWRkXCIgY2xhc3M9XCJhZGQgd2hpdGVcIiAqbmdJZj1cImNhcGFiaWxpdGllcy5pbnRyYXlcIlxuICAgICAgICAgICAgICAgIFtpY29uVGl0bGVdPVwiaWNvblRpdGxlcy5maWxlXCJcbiAgICAgICAgICAgICAgICBbaWNvblNyY109XCInYXNzZXRzL19kZWZhdWx0L3N2Zy9pY19hZGQuc3ZnJ1wiPjwvZW8taWNvbj5cbiAgICAgIDwvYT5cbiAgICAgIDxhIHRhYmluZGV4PVwiMFwiIChrZXlkb3duLmVudGVyKT1cIm9wZW5Qcm9jZXNzT3ZlcmxheSgpXCIgKGNsaWNrKT1cIm9wZW5Qcm9jZXNzT3ZlcmxheSgpXCI+XG4gICAgICAgIDxlby1pY29uIGlkPVwiYXBwLWFjdGlvbnNcIiBjbGFzcz1cImFjdGlvbnMgd2hpdGVcIiAqbmdJZj1cImV4ZUFjdGlvbnNcIlxuICAgICAgICAgICAgICAgIFtpY29uVGl0bGVdPVwiaWNvblRpdGxlcy5leGVhY3Rpb25zXCJcbiAgICAgICAgICAgICAgICBbaWNvblNyY109XCInYXNzZXRzL19kZWZhdWx0L3N2Zy9pY19icG1fc3RhcnQuc3ZnJ1wiPjwvZW8taWNvbj5cbiAgICAgIDwvYT5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG4gIDxlby1saWNlbnNlLXdhcm5pbmcgW2xpY2Vuc2VTdGF0ZV09XCJ1c2VyLmxpY2Vuc2VcIiBbdHJhbnNwYXJlbnRdPVwidHJhbnNwYXJlbnRcIj48L2VvLWxpY2Vuc2Utd2FybmluZz5cbiAgPGRpdiBjbGFzcz1cInJpZ2h0XCI+XG4gICAgPGRpdiBjbGFzcz1cInN1YlwiPlxuICAgICAgPGVvLWNsaXBib2FyZD48L2VvLWNsaXBib2FyZD5cbiAgICA8L2Rpdj5cbiAgICA8YSB0YWJpbmRleD1cIjBcIiAoa2V5ZG93bi5lbnRlcik9XCJvcGVuU3RhdGUoJy9mYXZvcml0ZXMnKVwiIChjbGljayk9XCJvcGVuU3RhdGUoJy9mYXZvcml0ZXMnKVwiPlxuICAgICAgPGVvLWljb24gY2xhc3M9XCJidXR0b24gd2hpdGUgZmF2b3JpdGVcIlxuICAgICAgICAgICAgICBbaWNvblRpdGxlXT1cImljb25UaXRsZXMuZmF2b3JpdGVzXCIgKm5nSWY9XCJjYXBhYmlsaXRpZXMuZmF2b3JpdGVzXCJcbiAgICAgICAgICAgICAgW2ljb25TcmNdPVwiJ2Fzc2V0cy9fZGVmYXVsdC9zdmcvaWNfZmF2b3JpdGUuc3ZnJ1wiPjwvZW8taWNvbj5cbiAgICA8L2E+XG4gICAgPGEgdGFiaW5kZXg9XCIwXCIgKGtleWRvd24uZW50ZXIpPVwib3BlblN0YXRlKCcvcHJlcGFyZScpXCIgKGNsaWNrKT1cIm9wZW5TdGF0ZSgnL3ByZXBhcmUnKVwiPlxuICAgICAgPGVvLWljb24gY2xhc3M9XCJidXR0b24gd2hpdGUgcHJlcGFyZVwiICpuZ0lmPVwiY2FwYWJpbGl0aWVzLmludHJheVwiXG4gICAgICAgICAgICAgIFtpY29uVGl0bGVdPVwiaWNvblRpdGxlcy5wcmVwYXJlXCJcbiAgICAgICAgICAgICAgW2JhZGdlXT1cInByZXBhcmVkSXRlbXNDb3VudFwiIFtpY29uU3JjXT1cIidhc3NldHMvX2RlZmF1bHQvc3ZnL2ljX3ByZXBhcmUuc3ZnJ1wiPjwvZW8taWNvbj5cbiAgICA8L2E+XG4gICAgPGEgdGFiaW5kZXg9XCIwXCIgKGtleWRvd24uZW50ZXIpPVwib3BlblN0YXRlKCcvaW5ib3gnKVwiIChjbGljayk9XCJvcGVuU3RhdGUoJy9pbmJveCcpXCI+XG4gICAgICA8ZW8taWNvbiBjbGFzcz1cImJ1dHRvbiB3aGl0ZSBpbmJveFwiIFtuZ0NsYXNzXT1cInthbGVydDogaW5ib3hTdGF0ZT8ub3ZlcmR1ZW1lc3NhZ2VzID4gMH1cIiAqbmdJZj1cImNhcGFiaWxpdGllcy5pbmJveFwiXG4gICAgICAgICAgICAgIFtpY29uVGl0bGVdPVwiaWNvblRpdGxlcy5pbmRleFwiXG4gICAgICAgICAgICAgIFtiYWRnZV09XCJpbmJveFN0YXRlPy50b3RhbG1lc3NhZ2VzXCIgW2ljb25TcmNdPVwiJ2Fzc2V0cy9fZGVmYXVsdC9zdmcvaWNfaW5ib3guc3ZnJ1wiPjwvZW8taWNvbj5cbiAgICA8L2E+XG4gICAgPGEgdGFiaW5kZXg9XCIwXCIgaHJlZj1cInt7ZG9jdS5saW5rfX1cIiB0YXJnZXQ9XCJfYmxhbmtcIj5cbiAgICAgIDxlby1pY29uIGNsYXNzPVwiYnV0dG9uIHdoaXRlIGFib3V0XCJcbiAgICAgICAgICAgICAgW2ljb25UaXRsZV09XCJpY29uVGl0bGVzLmFib3V0XCIgW2ljb25TcmNdPVwiJ2Fzc2V0cy9fZGVmYXVsdC9zdmcvaWNfYWJvdXQuc3ZnJ1wiPjwvZW8taWNvbj5cbiAgICA8L2E+XG4gICAgPGVvLW92ZXJsYXkgI3VzZXJwYW5lbCBbdXNlckF2YXRhcl09XCJ0cnVlXCI+XG4gICAgICA8ZW8tdXNlci1hdmF0YXItb3ZlcmxheSBbdXNlclBhbmVsXT1cInVzZXJwYW5lbFwiPjwvZW8tdXNlci1hdmF0YXItb3ZlcmxheT5cbiAgICA8L2VvLW92ZXJsYXk+XG5cblxuICA8L2Rpdj5cbjwvZGl2PlxuIl19