valtech-components 4.0.963 → 4.0.965

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 (92) hide show
  1. package/esm2022/lib/components/atoms/avatar/avatar.component.mjs +3 -3
  2. package/esm2022/lib/components/atoms/box/box.component.mjs +3 -3
  3. package/esm2022/lib/components/atoms/button/button.component.mjs +3 -3
  4. package/esm2022/lib/components/atoms/display/display.component.mjs +3 -3
  5. package/esm2022/lib/components/atoms/divider/divider.component.mjs +3 -3
  6. package/esm2022/lib/components/atoms/href/href.component.mjs +3 -3
  7. package/esm2022/lib/components/atoms/icon/icon.component.mjs +3 -3
  8. package/esm2022/lib/components/atoms/image/image.component.mjs +3 -3
  9. package/esm2022/lib/components/atoms/notice/notice.component.mjs +3 -3
  10. package/esm2022/lib/components/atoms/progress-bar/progress-bar.component.mjs +3 -3
  11. package/esm2022/lib/components/atoms/qr-code/qr-code.component.mjs +3 -3
  12. package/esm2022/lib/components/atoms/text/text.component.mjs +3 -3
  13. package/esm2022/lib/components/atoms/title/title.component.mjs +3 -3
  14. package/esm2022/lib/components/atoms/user-avatar/user-avatar.component.mjs +3 -3
  15. package/esm2022/lib/components/molecules/alert-box/alert-box.component.mjs +3 -3
  16. package/esm2022/lib/components/molecules/animal-card/animal-card.component.mjs +3 -3
  17. package/esm2022/lib/components/molecules/button-group/button-group.component.mjs +3 -3
  18. package/esm2022/lib/components/molecules/card/card.component.mjs +3 -3
  19. package/esm2022/lib/components/molecules/chat-composer/chat-composer.component.mjs +3 -3
  20. package/esm2022/lib/components/molecules/chip-group/chip-group.component.mjs +3 -3
  21. package/esm2022/lib/components/molecules/code-display/code-display.component.mjs +3 -3
  22. package/esm2022/lib/components/molecules/command-display/command-display.component.mjs +3 -3
  23. package/esm2022/lib/components/molecules/comment/comment.component.mjs +4 -4
  24. package/esm2022/lib/components/molecules/content-loader/content-loader.component.mjs +3 -3
  25. package/esm2022/lib/components/molecules/currency-input/currency-input.component.mjs +3 -3
  26. package/esm2022/lib/components/molecules/date-input/date-input.component.mjs +3 -3
  27. package/esm2022/lib/components/molecules/date-range-input/date-range-input.component.mjs +3 -3
  28. package/esm2022/lib/components/molecules/docs-search/docs-search.component.mjs +3 -3
  29. package/esm2022/lib/components/molecules/file-input/file-input.component.mjs +3 -3
  30. package/esm2022/lib/components/molecules/glow-card/glow-card.component.mjs +4 -4
  31. package/esm2022/lib/components/molecules/hint/hint.component.mjs +3 -3
  32. package/esm2022/lib/components/molecules/layered-card/layered-card.component.mjs +3 -3
  33. package/esm2022/lib/components/molecules/link/link.component.mjs +3 -3
  34. package/esm2022/lib/components/molecules/links-cake/links-cake.component.mjs +3 -3
  35. package/esm2022/lib/components/molecules/notes-box/notes-box.component.mjs +3 -3
  36. package/esm2022/lib/components/molecules/number-stepper/number-stepper.component.mjs +3 -3
  37. package/esm2022/lib/components/molecules/password-input/password-input.component.mjs +3 -3
  38. package/esm2022/lib/components/molecules/permission-selector/permission-selector.component.mjs +3 -3
  39. package/esm2022/lib/components/molecules/pill/pill.component.mjs +3 -3
  40. package/esm2022/lib/components/molecules/pin-input/pin-input.component.mjs +3 -3
  41. package/esm2022/lib/components/molecules/popover-selector/popover-selector.component.mjs +3 -3
  42. package/esm2022/lib/components/molecules/progress-status/progress-status.component.mjs +3 -3
  43. package/esm2022/lib/components/molecules/prompter/prompter.component.mjs +3 -3
  44. package/esm2022/lib/components/molecules/rating/rating.component.mjs +3 -3
  45. package/esm2022/lib/components/molecules/searchbar/searchbar.component.mjs +3 -3
  46. package/esm2022/lib/components/molecules/section-header/section-header.component.mjs +3 -3
  47. package/esm2022/lib/components/molecules/select-input/select-input.component.mjs +3 -3
  48. package/esm2022/lib/components/molecules/stats-card/stats-card.component.mjs +3 -3
  49. package/esm2022/lib/components/molecules/stepper/stepper.component.mjs +4 -4
  50. package/esm2022/lib/components/molecules/swipe-carousel/swipe-carousel.component.mjs +3 -3
  51. package/esm2022/lib/components/molecules/text-input/text-input.component.mjs +3 -3
  52. package/esm2022/lib/components/molecules/ticket-card/ticket-card.component.mjs +3 -3
  53. package/esm2022/lib/components/molecules/title-block/title-block.component.mjs +3 -3
  54. package/esm2022/lib/components/molecules/typing-indicator/typing-indicator.component.mjs +3 -3
  55. package/esm2022/lib/components/organisms/article/article.component.mjs +3 -3
  56. package/esm2022/lib/components/organisms/banner/banner.component.mjs +3 -3
  57. package/esm2022/lib/components/organisms/bottom-nav/bottom-nav.component.mjs +3 -3
  58. package/esm2022/lib/components/organisms/comment-section/comment-section.component.mjs +3 -3
  59. package/esm2022/lib/components/organisms/confirmation-dialog-v2/confirmation-dialog-v2.component.mjs +3 -3
  60. package/esm2022/lib/components/organisms/cookie-settings/cookie-settings.component.mjs +3 -3
  61. package/esm2022/lib/components/organisms/data-table/data-table.component.mjs +3 -3
  62. package/esm2022/lib/components/organisms/docs-sidebar/docs-sidebar.component.mjs +3 -3
  63. package/esm2022/lib/components/organisms/folder-tabs/folder-tabs.component.mjs +3 -3
  64. package/esm2022/lib/components/organisms/form/form.component.mjs +3 -3
  65. package/esm2022/lib/components/organisms/fun-header/fun-header.component.mjs +3 -3
  66. package/esm2022/lib/components/organisms/header/header.component.mjs +3 -3
  67. package/esm2022/lib/components/organisms/invite-member-modal/invite-member-modal.component.mjs +3 -3
  68. package/esm2022/lib/components/organisms/item-list/item-list.component.mjs +3 -3
  69. package/esm2022/lib/components/organisms/login/login.component.mjs +3 -3
  70. package/esm2022/lib/components/organisms/member-detail-modal/member-detail-modal.component.mjs +3 -3
  71. package/esm2022/lib/components/organisms/member-import-modal/member-import-modal.component.mjs +3 -3
  72. package/esm2022/lib/components/organisms/mfa-modal/mfa-modal.component.mjs +3 -3
  73. package/esm2022/lib/components/organisms/mini-games/bubble-blitz-game.component.mjs +3 -3
  74. package/esm2022/lib/components/organisms/mini-games/memory-game.component.mjs +3 -3
  75. package/esm2022/lib/components/organisms/mini-games/simon-game.component.mjs +3 -3
  76. package/esm2022/lib/components/organisms/no-content/no-content.component.mjs +3 -3
  77. package/esm2022/lib/components/organisms/option-sheet/option-sheet.component.mjs +3 -3
  78. package/esm2022/lib/components/organisms/permissions-view/permissions-view.component.mjs +3 -3
  79. package/esm2022/lib/components/organisms/request-review-panel/request-review-panel.component.mjs +3 -3
  80. package/esm2022/lib/components/organisms/role-manager/role-manager.component.mjs +3 -3
  81. package/esm2022/lib/components/organisms/rotating-text/rotating-text.component.mjs +3 -3
  82. package/esm2022/lib/components/organisms/toolbar/toolbar.component.mjs +3 -3
  83. package/esm2022/lib/components/organisms/wizard/wizard.component.mjs +3 -3
  84. package/esm2022/lib/components/templates/docs-layout/docs-layout.component.mjs +3 -3
  85. package/esm2022/lib/components/templates/simple/simple.component.mjs +3 -3
  86. package/esm2022/lib/version.mjs +2 -2
  87. package/fesm2022/valtech-components.mjs +174 -174
  88. package/fesm2022/valtech-components.mjs.map +1 -1
  89. package/lib/version.d.ts +1 -1
  90. package/package.json +1 -1
  91. package/src/lib/components/styles/overrides.scss +4 -4
  92. package/src/lib/components/styles/variables.scss +6 -6
@@ -399,7 +399,7 @@ export class RoleManagerComponent {
399
399
  </div>
400
400
  </div>
401
401
  }
402
- `, isInline: true, styles: [":host{display:block}.rm-loading{display:flex;justify-content:center;padding:2rem 0}.rm-section{margin-bottom:2rem}.rm-section__header{display:flex;align-items:center;gap:.5rem;margin-bottom:.75rem}.rm-section__count{font-size:.75rem;font-weight:600;background:var(--ion-color-dark-tint, #eee);color:var(--ion-color-dark-shade, #555);border-radius:9999px;padding:2px 8px}.rm-add-btn{margin-left:auto}.rm-list{border-radius:12px;overflow:hidden;background:var(--ion-card-background, var(--ion-background-color));box-shadow:0 1px 4px #0000000f}.rm-member-item,.rm-role-item{--padding-start: 1rem;--inner-padding-end: .5rem}.rm-member-icon,.rm-role-icon{color:var(--ion-color-dark, #92949c);font-size:1.25rem}.rm-member-name,.rm-role-name{font-weight:600;font-size:.9375rem;color:var(--ion-text-color);display:flex;align-items:center;gap:.375rem;flex-wrap:wrap}.rm-member-email,.rm-role-desc,.rm-role-perms{font-size:.8125rem;color:var(--ion-color-dark, #92949c);display:block;margin-top:2px}.rm-member-roles{display:flex;flex-wrap:wrap;gap:4px;margin-top:4px}.rm-no-role{font-size:.8125rem;color:var(--ion-color-dark, #92949c)}.rm-member-actions,.rm-role-actions{display:flex;align-items:center;gap:2px}.rm-role-form{background:var(--ion-card-background, var(--ion-background-color));border:1px solid var(--ion-border-color, rgba(0, 0, 0, .1));border-radius:12px;padding:1rem;margin-bottom:.75rem}.rm-form-field{margin-bottom:.75rem}.rm-label{display:block;font-size:.8125rem;font-weight:600;color:var(--ion-color-dark-shade, #555);margin-bottom:4px}.rm-input{width:100%;padding:.5rem .75rem;border:1px solid var(--ion-border-color, rgba(0, 0, 0, .12));border-radius:8px;font-size:.9375rem;color:var(--ion-text-color);background:var(--ion-background-color);box-sizing:border-box;outline:none}.rm-input:focus{border-color:var(--ion-color-primary, #3880ff)}.rm-form-actions{display:flex;align-items:center;gap:.5rem;margin-top:.5rem}.rm-role-overlay{position:fixed;inset:0;background:#00000059;z-index:500;display:flex;align-items:flex-end;justify-content:center}.rm-role-sheet{background:var(--ion-card-background, var(--ion-background-color));border-radius:16px 16px 0 0;padding:1.25rem 1rem 1rem;width:100%;max-width:480px;max-height:70vh;overflow-y:auto}.rm-sheet-list{margin-top:.75rem;border-radius:12px;overflow:hidden}.rm-sheet-footer{margin-top:.5rem}\n"], dependencies: [{ kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: IonList, selector: "ion-list", inputs: ["inset", "lines", "mode"] }, { kind: "component", type: IonItem, selector: "ion-item", inputs: ["button", "color", "detail", "detailIcon", "disabled", "download", "href", "lines", "mode", "rel", "routerAnimation", "routerDirection", "target", "type"] }, { kind: "component", type: IonLabel, selector: "ion-label", inputs: ["color", "mode", "position"] }, { kind: "component", type: IonBadge, selector: "ion-badge", inputs: ["color", "mode"] }, { kind: "component", type: IonButton, selector: "ion-button", inputs: ["buttonType", "color", "disabled", "download", "expand", "fill", "form", "href", "mode", "rel", "routerAnimation", "routerDirection", "shape", "size", "strong", "target", "type"] }, { kind: "component", type: IonIcon, selector: "ion-icon", inputs: ["color", "flipRtl", "icon", "ios", "lazy", "md", "mode", "name", "sanitize", "size", "src"] }, { kind: "component", type: IonSpinner, selector: "ion-spinner", inputs: ["color", "duration", "name", "paused"] }, { kind: "component", type: IonNote, selector: "ion-note", inputs: ["color", "mode"] }, { kind: "component", type: TitleComponent, selector: "val-title", inputs: ["props"] }, { kind: "component", type: PillComponent, selector: "val-pill", inputs: ["preset", "props"], outputs: ["pillClick", "pillAction"] }, { kind: "component", type: EmptyStateComponent, selector: "val-empty-state", inputs: ["props"] }] }); }
402
+ `, isInline: true, styles: [":host{display:block}.rm-loading{display:flex;justify-content:center;padding:2rem 0}.rm-section{margin-bottom:2rem}.rm-section__header{display:flex;align-items:center;gap:.5rem;margin-bottom:.75rem}.rm-section__count{font-size:.75rem;font-weight:600;background:var(--ion-color-medium-tint, #eee);color:var(--ion-color-dark-shade, #555);border-radius:9999px;padding:2px 8px}.rm-add-btn{margin-left:auto}.rm-list{border-radius:12px;overflow:hidden;background:var(--ion-card-background, var(--ion-background-color));box-shadow:0 1px 4px #0000000f}.rm-member-item,.rm-role-item{--padding-start: 1rem;--inner-padding-end: .5rem}.rm-member-icon,.rm-role-icon{color:var(--ion-color-dark, #92949c);font-size:1.25rem}.rm-member-name,.rm-role-name{font-weight:600;font-size:.9375rem;color:var(--ion-text-color);display:flex;align-items:center;gap:.375rem;flex-wrap:wrap}.rm-member-email,.rm-role-desc,.rm-role-perms{font-size:.8125rem;color:var(--ion-color-dark, #92949c);display:block;margin-top:2px}.rm-member-roles{display:flex;flex-wrap:wrap;gap:4px;margin-top:4px}.rm-no-role{font-size:.8125rem;color:var(--ion-color-dark, #92949c)}.rm-member-actions,.rm-role-actions{display:flex;align-items:center;gap:2px}.rm-role-form{background:var(--ion-card-background, var(--ion-background-color));border:1px solid var(--ion-border-color, rgba(0, 0, 0, .1));border-radius:12px;padding:1rem;margin-bottom:.75rem}.rm-form-field{margin-bottom:.75rem}.rm-label{display:block;font-size:.8125rem;font-weight:600;color:var(--ion-color-dark-shade, #555);margin-bottom:4px}.rm-input{width:100%;padding:.5rem .75rem;border:1px solid var(--ion-border-color, rgba(0, 0, 0, .12));border-radius:8px;font-size:.9375rem;color:var(--ion-text-color);background:var(--ion-background-color);box-sizing:border-box;outline:none}.rm-input:focus{border-color:var(--ion-color-primary, #3880ff)}.rm-form-actions{display:flex;align-items:center;gap:.5rem;margin-top:.5rem}.rm-role-overlay{position:fixed;inset:0;background:#00000059;z-index:500;display:flex;align-items:flex-end;justify-content:center}.rm-role-sheet{background:var(--ion-card-background, var(--ion-background-color));border-radius:16px 16px 0 0;padding:1.25rem 1rem 1rem;width:100%;max-width:480px;max-height:70vh;overflow-y:auto}.rm-sheet-list{margin-top:.75rem;border-radius:12px;overflow:hidden}.rm-sheet-footer{margin-top:.5rem}\n"], dependencies: [{ kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: IonList, selector: "ion-list", inputs: ["inset", "lines", "mode"] }, { kind: "component", type: IonItem, selector: "ion-item", inputs: ["button", "color", "detail", "detailIcon", "disabled", "download", "href", "lines", "mode", "rel", "routerAnimation", "routerDirection", "target", "type"] }, { kind: "component", type: IonLabel, selector: "ion-label", inputs: ["color", "mode", "position"] }, { kind: "component", type: IonBadge, selector: "ion-badge", inputs: ["color", "mode"] }, { kind: "component", type: IonButton, selector: "ion-button", inputs: ["buttonType", "color", "disabled", "download", "expand", "fill", "form", "href", "mode", "rel", "routerAnimation", "routerDirection", "shape", "size", "strong", "target", "type"] }, { kind: "component", type: IonIcon, selector: "ion-icon", inputs: ["color", "flipRtl", "icon", "ios", "lazy", "md", "mode", "name", "sanitize", "size", "src"] }, { kind: "component", type: IonSpinner, selector: "ion-spinner", inputs: ["color", "duration", "name", "paused"] }, { kind: "component", type: IonNote, selector: "ion-note", inputs: ["color", "mode"] }, { kind: "component", type: TitleComponent, selector: "val-title", inputs: ["props"] }, { kind: "component", type: PillComponent, selector: "val-pill", inputs: ["preset", "props"], outputs: ["pillClick", "pillAction"] }, { kind: "component", type: EmptyStateComponent, selector: "val-empty-state", inputs: ["props"] }] }); }
403
403
  }
404
404
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: RoleManagerComponent, decorators: [{
405
405
  type: Component,
@@ -605,8 +605,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
605
605
  </div>
606
606
  </div>
607
607
  }
608
- `, styles: [":host{display:block}.rm-loading{display:flex;justify-content:center;padding:2rem 0}.rm-section{margin-bottom:2rem}.rm-section__header{display:flex;align-items:center;gap:.5rem;margin-bottom:.75rem}.rm-section__count{font-size:.75rem;font-weight:600;background:var(--ion-color-dark-tint, #eee);color:var(--ion-color-dark-shade, #555);border-radius:9999px;padding:2px 8px}.rm-add-btn{margin-left:auto}.rm-list{border-radius:12px;overflow:hidden;background:var(--ion-card-background, var(--ion-background-color));box-shadow:0 1px 4px #0000000f}.rm-member-item,.rm-role-item{--padding-start: 1rem;--inner-padding-end: .5rem}.rm-member-icon,.rm-role-icon{color:var(--ion-color-dark, #92949c);font-size:1.25rem}.rm-member-name,.rm-role-name{font-weight:600;font-size:.9375rem;color:var(--ion-text-color);display:flex;align-items:center;gap:.375rem;flex-wrap:wrap}.rm-member-email,.rm-role-desc,.rm-role-perms{font-size:.8125rem;color:var(--ion-color-dark, #92949c);display:block;margin-top:2px}.rm-member-roles{display:flex;flex-wrap:wrap;gap:4px;margin-top:4px}.rm-no-role{font-size:.8125rem;color:var(--ion-color-dark, #92949c)}.rm-member-actions,.rm-role-actions{display:flex;align-items:center;gap:2px}.rm-role-form{background:var(--ion-card-background, var(--ion-background-color));border:1px solid var(--ion-border-color, rgba(0, 0, 0, .1));border-radius:12px;padding:1rem;margin-bottom:.75rem}.rm-form-field{margin-bottom:.75rem}.rm-label{display:block;font-size:.8125rem;font-weight:600;color:var(--ion-color-dark-shade, #555);margin-bottom:4px}.rm-input{width:100%;padding:.5rem .75rem;border:1px solid var(--ion-border-color, rgba(0, 0, 0, .12));border-radius:8px;font-size:.9375rem;color:var(--ion-text-color);background:var(--ion-background-color);box-sizing:border-box;outline:none}.rm-input:focus{border-color:var(--ion-color-primary, #3880ff)}.rm-form-actions{display:flex;align-items:center;gap:.5rem;margin-top:.5rem}.rm-role-overlay{position:fixed;inset:0;background:#00000059;z-index:500;display:flex;align-items:flex-end;justify-content:center}.rm-role-sheet{background:var(--ion-card-background, var(--ion-background-color));border-radius:16px 16px 0 0;padding:1.25rem 1rem 1rem;width:100%;max-width:480px;max-height:70vh;overflow-y:auto}.rm-sheet-list{margin-top:.75rem;border-radius:12px;overflow:hidden}.rm-sheet-footer{margin-top:.5rem}\n"] }]
608
+ `, styles: [":host{display:block}.rm-loading{display:flex;justify-content:center;padding:2rem 0}.rm-section{margin-bottom:2rem}.rm-section__header{display:flex;align-items:center;gap:.5rem;margin-bottom:.75rem}.rm-section__count{font-size:.75rem;font-weight:600;background:var(--ion-color-medium-tint, #eee);color:var(--ion-color-dark-shade, #555);border-radius:9999px;padding:2px 8px}.rm-add-btn{margin-left:auto}.rm-list{border-radius:12px;overflow:hidden;background:var(--ion-card-background, var(--ion-background-color));box-shadow:0 1px 4px #0000000f}.rm-member-item,.rm-role-item{--padding-start: 1rem;--inner-padding-end: .5rem}.rm-member-icon,.rm-role-icon{color:var(--ion-color-dark, #92949c);font-size:1.25rem}.rm-member-name,.rm-role-name{font-weight:600;font-size:.9375rem;color:var(--ion-text-color);display:flex;align-items:center;gap:.375rem;flex-wrap:wrap}.rm-member-email,.rm-role-desc,.rm-role-perms{font-size:.8125rem;color:var(--ion-color-dark, #92949c);display:block;margin-top:2px}.rm-member-roles{display:flex;flex-wrap:wrap;gap:4px;margin-top:4px}.rm-no-role{font-size:.8125rem;color:var(--ion-color-dark, #92949c)}.rm-member-actions,.rm-role-actions{display:flex;align-items:center;gap:2px}.rm-role-form{background:var(--ion-card-background, var(--ion-background-color));border:1px solid var(--ion-border-color, rgba(0, 0, 0, .1));border-radius:12px;padding:1rem;margin-bottom:.75rem}.rm-form-field{margin-bottom:.75rem}.rm-label{display:block;font-size:.8125rem;font-weight:600;color:var(--ion-color-dark-shade, #555);margin-bottom:4px}.rm-input{width:100%;padding:.5rem .75rem;border:1px solid var(--ion-border-color, rgba(0, 0, 0, .12));border-radius:8px;font-size:.9375rem;color:var(--ion-text-color);background:var(--ion-background-color);box-sizing:border-box;outline:none}.rm-input:focus{border-color:var(--ion-color-primary, #3880ff)}.rm-form-actions{display:flex;align-items:center;gap:.5rem;margin-top:.5rem}.rm-role-overlay{position:fixed;inset:0;background:#00000059;z-index:500;display:flex;align-items:flex-end;justify-content:center}.rm-role-sheet{background:var(--ion-card-background, var(--ion-background-color));border-radius:16px 16px 0 0;padding:1.25rem 1rem 1rem;width:100%;max-width:480px;max-height:70vh;overflow-y:auto}.rm-sheet-list{margin-top:.75rem;border-radius:12px;overflow:hidden}.rm-sheet-footer{margin-top:.5rem}\n"] }]
609
609
  }], ctorParameters: () => [], propDecorators: { config: [{
610
610
  type: Input
611
611
  }] } });
612
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm9sZS1tYW5hZ2VyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29tcG9uZW50cy9vcmdhbmlzbXMvcm9sZS1tYW5hZ2VyL3JvbGUtbWFuYWdlci5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBVSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkYsT0FBTyxFQUFFLFdBQVcsRUFBRSxTQUFTLEVBQUUsbUJBQW1CLEVBQUUsVUFBVSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDekYsT0FBTyxFQUFFLGNBQWMsRUFBRSxRQUFRLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDaEQsT0FBTyxFQUNMLFFBQVEsRUFDUixTQUFTLEVBQ1QsT0FBTyxFQUNQLE9BQU8sRUFDUCxRQUFRLEVBQ1IsT0FBTyxFQUNQLE9BQU8sRUFDUCxVQUFVLEdBQ1gsTUFBTSwyQkFBMkIsQ0FBQztBQUNuQyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sVUFBVSxDQUFDO0FBQ3BDLE9BQU8sRUFDTCxVQUFVLEVBQ1YsYUFBYSxFQUNiLFlBQVksRUFDWixhQUFhLEVBQ2Isc0JBQXNCLEVBQ3RCLGtCQUFrQixFQUNsQixnQkFBZ0IsR0FDakIsTUFBTSxnQkFBZ0IsQ0FBQztBQUV4QixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFDdEUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFDekUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQ25FLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUNoRSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFDcEUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sbURBQW1ELENBQUM7QUFFeEYsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3JELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQUNsRSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDL0QsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sZ0RBQWdELENBQUM7QUFDckYsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sbUVBQW1FLENBQUM7QUFDOUcsT0FBTyxFQUFFLFdBQVcsRUFBMkIsTUFBTSxxQ0FBcUMsQ0FBQztBQUMzRixPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFFL0QsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sa0RBQWtELENBQUM7QUFFNUYsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0scUJBQXFCLENBQUM7OztBQUd4RCxRQUFRLENBQUM7SUFDUCxVQUFVO0lBQ1YsYUFBYTtJQUNiLFlBQVk7SUFDWixhQUFhO0lBQ2Isc0JBQXNCO0lBQ3RCLGtCQUFrQjtJQUNsQixnQkFBZ0I7Q0FDakIsQ0FBQyxDQUFDO0FBRUgsTUFBTSxVQUFVLEdBQUcsc0JBQXNCLENBQUM7QUFPMUM7Ozs7Ozs7Ozs7O0dBV0c7QUEyWEgsTUFBTSxPQUFPLG9CQUFvQjtJQThCL0IsSUFBWSxLQUFLO1FBQ2YsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxFQUFFLFNBQVMsSUFBSSxFQUFFLENBQUM7SUFDM0MsQ0FBQztJQUVEO1FBL0JpQixTQUFJLEdBQUcsTUFBTSxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBQzNCLFNBQUksR0FBRyxNQUFNLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDM0IsU0FBSSxHQUFHLE1BQU0sQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUMzQixRQUFHLEdBQUcsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQ3pCLFlBQU8sR0FBRyxNQUFNLENBQUMsd0JBQXdCLENBQUMsQ0FBQztRQUMzQyxVQUFLLEdBQUcsTUFBTSxDQUFDLFlBQVksQ0FBQyxDQUFDO1FBQzdCLFdBQU0sR0FBRyxNQUFNLENBQUMsbUJBQW1CLENBQUMsQ0FBQztRQUNyQyxZQUFPLEdBQUcsTUFBTSxDQUFDLHlCQUF5QixDQUFDLENBQUM7UUFFNUMsT0FBRSxHQUFHLFFBQVEsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLGFBQWEsSUFBSSxVQUFVLENBQUMsQ0FBQztRQUV0RSxZQUFPLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3ZCLFdBQU0sR0FBRyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDdkIsY0FBUyxHQUFHLE1BQU0sQ0FBaUIsSUFBSSxDQUFDLENBQUM7UUFDekMsWUFBTyxHQUFHLE1BQU0sQ0FBa0IsRUFBRSxDQUFDLENBQUM7UUFDdEMsYUFBUSxHQUFHLE1BQU0sQ0FBYSxFQUFFLENBQUMsQ0FBQztRQUNsQyxrQkFBYSxHQUFHLE1BQU0sQ0FBZ0IsSUFBSSxDQUFDLENBQUM7UUFDNUMsdUJBQWtCLEdBQUcsTUFBTSxDQUF1QixJQUFJLENBQUMsQ0FBQztRQUN4RCxhQUFRLEdBQUcsTUFBTSxDQUFnQixFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7UUFFakUsU0FBSSxHQUFHLElBQUksU0FBUyxDQUFDO1lBQzVCLElBQUksRUFBRSxJQUFJLFdBQVcsQ0FBQyxFQUFFLEVBQUUsVUFBVSxDQUFDLFFBQVEsQ0FBQztZQUM5QyxXQUFXLEVBQUUsSUFBSSxXQUFXLENBQUMsRUFBRSxDQUFDO1NBQ2pDLENBQUMsQ0FBQztRQUVNLFFBQUcsR0FBRyxRQUFRLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLE1BQU0sSUFBSSxFQUFFLENBQUMsQ0FBQztRQU8vQyxNQUFNLEVBQUUsR0FBRyxVQUFVLENBQUM7UUFDdEIsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUM7WUFDaEMsSUFBSSxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsRUFBRSxFQUFFLGlCQUFpQixDQUFDLENBQUM7UUFDbkQsQ0FBQztJQUNILENBQUM7SUFFRCxRQUFRO1FBQ04sS0FBSyxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDbkIsQ0FBQztJQUVELENBQUMsQ0FBQyxHQUFXO1FBQ1gsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxHQUFHLEVBQUUsSUFBSSxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUM7SUFDckMsQ0FBQztJQUVELEtBQUssQ0FBQyxJQUFJO1FBQ1IsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQztRQUN6QixJQUFJLENBQUMsS0FBSztZQUFFLE9BQU87UUFDbkIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDdkIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDekIsSUFBSSxDQUFDO1lBQ0gsTUFBTSxDQUFDLFVBQVUsRUFBRSxRQUFRLENBQUMsR0FBRyxNQUFNLGNBQWMsQ0FDakQsUUFBUSxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsS0FBSyxFQUFFLEVBQUUsS0FBSyxFQUFFLEVBQUUsRUFBRSxDQUFDLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxFQUFFLEVBQUUsS0FBSyxFQUFFLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUN0RyxDQUFDO1lBQ0YsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1lBQ3JDLElBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNwQyxDQUFDO1FBQUMsT0FBTyxHQUFHLEVBQUUsQ0FBQztZQUNiLElBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQzFCLENBQUM7Z0JBQVMsQ0FBQztZQUNULElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzFCLENBQUM7SUFDSCxDQUFDO0lBRUQsTUFBTTtRQUNKLEtBQUssSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ25CLENBQUM7SUFFRCw2REFBNkQ7SUFFN0Qsa0JBQWtCLENBQUMsUUFBZ0I7UUFDakMsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLEtBQUssUUFBUSxDQUFDLENBQUM7UUFDN0QsT0FBTyxLQUFLLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQztJQUN2QyxDQUFDO0lBRUQsWUFBWSxDQUFDLFFBQWdCO1FBQzNCLE9BQU8sSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLEtBQUssUUFBUSxDQUFDLEVBQUUsUUFBUSxJQUFJLEtBQUssQ0FBQztJQUMzRSxDQUFDO0lBRUQsNkRBQTZEO0lBRTdELGdCQUFnQixDQUFDLE1BQXFCO1FBQ3BDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDdEMsQ0FBQztJQUVELGlCQUFpQjtRQUNmLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDcEMsQ0FBQztJQUVELEtBQUssQ0FBQyxjQUFjLENBQUMsTUFBcUIsRUFBRSxRQUFnQjtRQUMxRCxJQUFJLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztRQUN6QixNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDO1FBQ3pCLE1BQU0sVUFBVSxHQUFHLE1BQU0sQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQ25ELElBQUksQ0FBQyxhQUFhLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUN0QyxJQUFJLENBQUM7WUFDSCxJQUFJLFVBQVUsRUFBRSxDQUFDO2dCQUNmLE1BQU0sY0FBYyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLEVBQUUsTUFBTSxFQUFFLE1BQU0sQ0FBQyxNQUFNLEVBQUUsS0FBSyxFQUFFLFFBQVEsRUFBRSxDQUFDLENBQUMsQ0FBQztnQkFDdkYsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsRUFBRSxPQUFPLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQyxhQUFhLENBQUMsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO2dCQUNuRixJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUN6QixJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxLQUFLLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsR0FBRyxDQUFDLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLFFBQVEsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQ3ZHLENBQUM7WUFDSixDQUFDO2lCQUFNLENBQUM7Z0JBQ04sTUFBTSxjQUFjLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsRUFBRSxNQUFNLEVBQUUsTUFBTSxDQUFDLE1BQU0sRUFBRSxLQUFLLEVBQUUsUUFBUSxFQUFFLENBQUMsQ0FBQyxDQUFDO2dCQUN2RixJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxFQUFFLE9BQU8sRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFDLGNBQWMsQ0FBQyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7Z0JBQ3BGLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQ3pCLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLEtBQUssTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxHQUFHLENBQUMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxLQUFLLEVBQUUsUUFBUSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FDMUYsQ0FBQztZQUNKLENBQUM7UUFDSCxDQUFDO1FBQUMsT0FBTyxHQUFHLEVBQUUsQ0FBQztZQUNiLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLEdBQUcsRUFBRTtnQkFDdEIsT0FBTyxFQUFFLDJCQUEyQjtnQkFDcEMsV0FBVyxFQUFFLFVBQVUsQ0FBQyxDQUFDLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQyxhQUFhO2dCQUN2RCxhQUFhLEVBQUUsSUFBSSxDQUFDLEVBQUUsRUFBRTthQUN6QixDQUFDLENBQUM7UUFDTCxDQUFDO2dCQUFTLENBQUM7WUFDVCxJQUFJLENBQUMsYUFBYSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUMvQixDQUFDO0lBQ0gsQ0FBQztJQUVELDZEQUE2RDtJQUU3RCxXQUFXO1FBQ1QsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUNsQixJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7SUFDbkQsQ0FBQztJQUVELFlBQVksQ0FBQyxJQUFjO1FBQ3pCLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLEVBQUUsSUFBSSxFQUFFLElBQUksQ0FBQyxJQUFJLEVBQUUsV0FBVyxFQUFFLElBQUksQ0FBQyxXQUFXLElBQUksRUFBRSxFQUFFLENBQUMsQ0FBQztRQUMvRSxJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7SUFDbkQsQ0FBQztJQUVELGFBQWE7UUFDWCxJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7UUFDbEQsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQztJQUNwQixDQUFDO0lBRUQsS0FBSyxDQUFDLFFBQVE7UUFDWixJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTztZQUFFLE9BQU87UUFDOUIsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQztRQUN6QixNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUMsT0FBTyxDQUFDO1FBQ3hDLE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUssQ0FBQztRQUNuQyxNQUFNLFdBQVcsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxXQUFXLElBQUksRUFBRSxDQUFDO1FBQ3RELElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3RCLElBQUksQ0FBQztZQUNILElBQUksT0FBTyxFQUFFLENBQUM7Z0JBQ1osTUFBTSxPQUFPLEdBQUcsTUFBTSxjQUFjLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE9BQU8sQ0FBQyxFQUFFLEVBQUUsSUFBSSxFQUFFLFdBQVcsRUFBRSxDQUFDLENBQUMsQ0FBQztnQkFDN0csSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxLQUFLLE9BQU8sQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO2dCQUNqRixJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxFQUFFLE9BQU8sRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFDLGFBQWEsQ0FBQyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7WUFDckYsQ0FBQztpQkFBTSxDQUFDO2dCQUNOLE1BQU0sT0FBTyxHQUFHLE1BQU0sY0FBYyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxXQUFXLEVBQUUsV0FBVyxFQUFFLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQztnQkFDMUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEdBQUcsSUFBSSxFQUFFLE9BQU8sQ0FBQyxDQUFDLENBQUM7Z0JBQ2pELElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLEVBQUUsT0FBTyxFQUFFLElBQUksQ0FBQyxDQUFDLENBQUMsYUFBYSxDQUFDLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQztZQUNyRixDQUFDO1lBQ0QsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO1FBQ3ZCLENBQUM7UUFBQyxPQUFPLEdBQUcsRUFBRSxDQUFDO1lBQ2IsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsR0FBRyxFQUFFO2dCQUN0QixPQUFPLEVBQUUsdUJBQXVCO2dCQUNoQyxXQUFXLEVBQUUsV0FBVztnQkFDeEIsYUFBYSxFQUFFLElBQUksQ0FBQyxFQUFFLEVBQUU7YUFDekIsQ0FBQyxDQUFDO1FBQ0wsQ0FBQztnQkFBUyxDQUFDO1lBQ1QsSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDekIsQ0FBQztJQUNILENBQUM7SUFFRCxLQUFLLENBQUMsaUJBQWlCLENBQUMsSUFBYztRQUNwQyxNQUFNLEVBQUUsU0FBUyxFQUFFLEdBQUcsTUFBTSxJQUFJLENBQUMsT0FBTyxDQUFDLGtCQUFrQixDQUFDO1lBQzFELEtBQUssRUFBRSxJQUFJLENBQUMsSUFBSTtZQUNoQixPQUFPLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQyxtQkFBbUIsQ0FBQztZQUNwQyxhQUFhLEVBQUUsRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQyxzQkFBc0IsQ0FBQyxFQUFFO1NBQ3hELENBQUMsQ0FBQztRQUNILElBQUksQ0FBQyxTQUFTO1lBQUUsT0FBTztRQUN2QixNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDO1FBQ3pCLElBQUksQ0FBQztZQUNILE1BQU0sY0FBYyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxJQUFJLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDO1lBQ3ZFLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLEtBQUssSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7WUFDakUsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsRUFBRSxPQUFPLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQyxhQUFhLENBQUMsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO1FBQ3JGLENBQUM7UUFBQyxPQUFPLEdBQUcsRUFBRSxDQUFDO1lBQ2IsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsR0FBRyxFQUFFO2dCQUN0QixPQUFPLEVBQUUseUJBQXlCO2dCQUNsQyxXQUFXLEVBQUUsYUFBYTtnQkFDMUIsYUFBYSxFQUFFLElBQUksQ0FBQyxFQUFFLEVBQUU7YUFDekIsQ0FBQyxDQUFDO1FBQ0wsQ0FBQztJQUNILENBQUM7K0dBM0xVLG9CQUFvQjttR0FBcEIsb0JBQW9CLDBHQXRXckI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQTBMVCw4M0VBMU1DLG1CQUFtQiw2OEJBQ25CLE9BQU8seUZBQ1AsT0FBTywwTkFDUCxRQUFRLDZGQUNSLFFBQVEsaUZBQ1IsU0FBUyxvUEFDVCxPQUFPLDJKQUNQLFVBQVUseUdBQ1YsT0FBTyxnRkFHUCxjQUFjLHlFQUVkLGFBQWEsd0hBQ2IsbUJBQW1COzs0RkF3V1Ysb0JBQW9CO2tCQTFYaEMsU0FBUzsrQkFDRSxrQkFBa0IsY0FDaEIsSUFBSSxXQUNQO3dCQUNQLG1CQUFtQjt3QkFDbkIsT0FBTzt3QkFDUCxPQUFPO3dCQUNQLFFBQVE7d0JBQ1IsUUFBUTt3QkFDUixTQUFTO3dCQUNULE9BQU87d0JBQ1AsVUFBVTt3QkFDVixPQUFPO3dCQUNQLGVBQWU7d0JBQ2YsZ0JBQWdCO3dCQUNoQixjQUFjO3dCQUNkLGFBQWE7d0JBQ2IsYUFBYTt3QkFDYixtQkFBbUI7cUJBQ3BCLFlBQ1M7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQTBMVDt3REE2S1EsTUFBTTtzQkFBZCxLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBjb21wdXRlZCwgaW5qZWN0LCBJbnB1dCwgT25Jbml0LCBzaWduYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZvcm1Db250cm9sLCBGb3JtR3JvdXAsIFJlYWN0aXZlRm9ybXNNb2R1bGUsIFZhbGlkYXRvcnMgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBmaXJzdFZhbHVlRnJvbSwgZm9ya0pvaW4gfSBmcm9tICdyeGpzJztcbmltcG9ydCB7XG4gIElvbkJhZGdlLFxuICBJb25CdXR0b24sXG4gIElvbkljb24sXG4gIElvbkl0ZW0sXG4gIElvbkxhYmVsLFxuICBJb25MaXN0LFxuICBJb25Ob3RlLFxuICBJb25TcGlubmVyLFxufSBmcm9tICdAaW9uaWMvYW5ndWxhci9zdGFuZGFsb25lJztcbmltcG9ydCB7IGFkZEljb25zIH0gZnJvbSAnaW9uaWNvbnMnO1xuaW1wb3J0IHtcbiAgYWRkT3V0bGluZSxcbiAgY3JlYXRlT3V0bGluZSxcbiAgdHJhc2hPdXRsaW5lLFxuICBwZXJzb25PdXRsaW5lLFxuICBzaGllbGRDaGVja21hcmtPdXRsaW5lLFxuICBjaGV2cm9uRG93bk91dGxpbmUsXG4gIGNoZXZyb25VcE91dGxpbmUsXG59IGZyb20gJ2lvbmljb25zL2ljb25zJztcblxuaW1wb3J0IHsgQnV0dG9uQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vYXRvbXMvYnV0dG9uL2J1dHRvbi5jb21wb25lbnQnO1xuaW1wb3J0IHsgRGlzcGxheUNvbXBvbmVudCB9IGZyb20gJy4uLy4uL2F0b21zL2Rpc3BsYXkvZGlzcGxheS5jb21wb25lbnQnO1xuaW1wb3J0IHsgVGl0bGVDb21wb25lbnQgfSBmcm9tICcuLi8uLi9hdG9tcy90aXRsZS90aXRsZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgVGV4dENvbXBvbmVudCB9IGZyb20gJy4uLy4uL2F0b21zL3RleHQvdGV4dC5jb21wb25lbnQnO1xuaW1wb3J0IHsgUGlsbENvbXBvbmVudCB9IGZyb20gJy4uLy4uL21vbGVjdWxlcy9waWxsL3BpbGwuY29tcG9uZW50JztcbmltcG9ydCB7IEVtcHR5U3RhdGVDb21wb25lbnQgfSBmcm9tICcuLi8uLi9tb2xlY3VsZXMvZW1wdHktc3RhdGUvZW1wdHktc3RhdGUuY29tcG9uZW50JztcblxuaW1wb3J0IHsgSTE4blNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9pMThuJztcbmltcG9ydCB7IEF1dGhTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvYXV0aC9hdXRoLnNlcnZpY2UnO1xuaW1wb3J0IHsgVG9hc3RTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvdG9hc3Quc2VydmljZSc7XG5pbXBvcnQgeyBWYWx0ZWNoRXJyb3JTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvZXJyb3JzL3ZhbHRlY2gtZXJyb3Iuc2VydmljZSc7XG5pbXBvcnQgeyBDb25maXJtYXRpb25EaWFsb2dTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvY29uZmlybWF0aW9uLWRpYWxvZy9jb25maXJtYXRpb24tZGlhbG9nLnNlcnZpY2UnO1xuaW1wb3J0IHsgUmJhY1NlcnZpY2UsIFJiYWNPcmdNZW1iZXIsIFJiYWNSb2xlIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvcmJhYy9yYmFjLnNlcnZpY2UnO1xuaW1wb3J0IHsgT3JnU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL29yZy9vcmcuc2VydmljZSc7XG5pbXBvcnQgeyBPcmdSb2xlIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvb3JnL3R5cGVzJztcbmltcG9ydCB7IFBlcm1pc3Npb25DYXRhbG9nU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL29yZy9wZXJtaXNzaW9uLWNhdGFsb2cuc2VydmljZSc7XG5cbmltcG9ydCB7IFJPTEVfTUFOQUdFUl9JMThOIH0gZnJvbSAnLi9yb2xlLW1hbmFnZXIuaTE4bic7XG5pbXBvcnQgeyBSb2xlTWFuYWdlckNvbmZpZyB9IGZyb20gJy4vdHlwZXMnO1xuXG5hZGRJY29ucyh7XG4gIGFkZE91dGxpbmUsXG4gIGNyZWF0ZU91dGxpbmUsXG4gIHRyYXNoT3V0bGluZSxcbiAgcGVyc29uT3V0bGluZSxcbiAgc2hpZWxkQ2hlY2ttYXJrT3V0bGluZSxcbiAgY2hldnJvbkRvd25PdXRsaW5lLFxuICBjaGV2cm9uVXBPdXRsaW5lLFxufSk7XG5cbmNvbnN0IERFRkFVTFRfTlMgPSAnU2V0dGluZ3MuUm9sZU1hbmFnZXInO1xuXG5pbnRlcmZhY2UgUm9sZUZvcm1TdGF0ZSB7XG4gIG9wZW46IGJvb2xlYW47XG4gIGVkaXRpbmc6IFJiYWNSb2xlIHwgbnVsbDtcbn1cblxuLyoqXG4gKiBgdmFsLXJvbGUtbWFuYWdlcmAg4oCUIGdlc3Rpw7NuIFJCQUMgZGUgbWllbWJyb3MgeSByb2xlcyBkZSBvcmdhbml6YWNpw7NuLlxuICpcbiAqIE11ZXN0cmEgZG9zIHNlY2Npb25lczpcbiAqIDEuICoqTWllbWJyb3MqKiDigJQgbGlzdGEgZGUgbWllbWJyb3MgY29uIHJvbGVzIGFzaWduYWRvcy4gUGVybWl0ZSBhc2lnbmFyIG9cbiAqICAgIHF1aXRhciB1biByb2wgYSBjYWRhIG1pZW1icm8gKHJlcXVpZXJlIGByYmFjOm1hbmFnZWApLlxuICogMi4gKipSb2xlcyoqIOKAlCBsaXN0YSBkZSByb2xlcyBjdXN0b20gZGUgbGEgb3JnLiBQZXJtaXRlIGNyZWFyLCBlZGl0YXIgeVxuICogICAgZWxpbWluYXIgcm9sZXMgcGVyc29uYWxpemFkb3MuXG4gKlxuICogTGVlIGVsIGBvcmdJZGAgYWN0aXZvIGRlbCBgQXV0aFNlcnZpY2VgLiBSZXF1aWVyZSBxdWUgZWwgdXN1YXJpbyB0ZW5nYVxuICogYHJiYWM6bWFuYWdlYCAoZWwgYmFja2VuZCBsbyB2ZXJpZmljYTsgdW4gNDAzIHNlIHRyYWR1Y2UgYSB1biBtZW5zYWplIGRlIGVycm9yKS5cbiAqL1xuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndmFsLXJvbGUtbWFuYWdlcicsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtcbiAgICBSZWFjdGl2ZUZvcm1zTW9kdWxlLFxuICAgIElvbkxpc3QsXG4gICAgSW9uSXRlbSxcbiAgICBJb25MYWJlbCxcbiAgICBJb25CYWRnZSxcbiAgICBJb25CdXR0b24sXG4gICAgSW9uSWNvbixcbiAgICBJb25TcGlubmVyLFxuICAgIElvbk5vdGUsXG4gICAgQnV0dG9uQ29tcG9uZW50LFxuICAgIERpc3BsYXlDb21wb25lbnQsXG4gICAgVGl0bGVDb21wb25lbnQsXG4gICAgVGV4dENvbXBvbmVudCxcbiAgICBQaWxsQ29tcG9uZW50LFxuICAgIEVtcHR5U3RhdGVDb21wb25lbnQsXG4gIF0sXG4gIHRlbXBsYXRlOiBgXG4gICAgQGlmIChsb2FkaW5nKCkpIHtcbiAgICAgIDxkaXYgY2xhc3M9XCJybS1sb2FkaW5nXCI+XG4gICAgICAgIDxpb24tc3Bpbm5lciBuYW1lPVwiY3Jlc2NlbnRcIiAvPlxuICAgICAgPC9kaXY+XG4gICAgfSBAZWxzZSBpZiAobG9hZEVycm9yKCkpIHtcbiAgICAgIDx2YWwtZW1wdHktc3RhdGVcbiAgICAgICAgW3Byb3BzXT1cIntcbiAgICAgICAgICB2YXJpYW50OiAnZXJyb3InLFxuICAgICAgICAgIHRpdGxlOiB0KCdlcnJvckxvYWQnKSxcbiAgICAgICAgICBhY3Rpb246IHsgbGFiZWw6IHQoJ3JldHJ5JyksIGhhbmRsZXI6IHJlbG9hZC5iaW5kKHRoaXMpLCBsb2FkaW5nOiBsb2FkaW5nKCkgfSxcbiAgICAgICAgfVwiXG4gICAgICAvPlxuICAgIH0gQGVsc2Uge1xuICAgICAgPCEtLSDilIDilIAgU2VjY2nDs24gTWllbWJyb3Mg4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAIC0tPlxuICAgICAgQGlmIChjZmcoKS5zaG93TWVtYmVycyAhPT0gZmFsc2UpIHtcbiAgICAgICAgPHNlY3Rpb24gY2xhc3M9XCJybS1zZWN0aW9uXCI+XG4gICAgICAgICAgPGhlYWRlciBjbGFzcz1cInJtLXNlY3Rpb25fX2hlYWRlclwiPlxuICAgICAgICAgICAgPHZhbC10aXRsZSBbcHJvcHNdPVwieyBjb250ZW50OiB0KCdtZW1iZXJzVGl0bGUnKSwgc2l6ZTogJ21lZGl1bScsIGJvbGQ6IHRydWUsIGNvbG9yOiAnJyB9XCIgLz5cbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwicm0tc2VjdGlvbl9fY291bnRcIj57eyBtZW1iZXJzKCkubGVuZ3RoIH19PC9zcGFuPlxuICAgICAgICAgIDwvaGVhZGVyPlxuXG4gICAgICAgICAgQGlmIChtZW1iZXJzKCkubGVuZ3RoID09PSAwKSB7XG4gICAgICAgICAgICA8dmFsLWVtcHR5LXN0YXRlIFtwcm9wc109XCJ7IHZhcmlhbnQ6ICdlbXB0eScsIHRpdGxlOiB0KCdub01lbWJlcnMnKSB9XCIgLz5cbiAgICAgICAgICB9IEBlbHNlIHtcbiAgICAgICAgICAgIDxpb24tbGlzdCBjbGFzcz1cInJtLWxpc3RcIiBsaW5lcz1cImZ1bGxcIj5cbiAgICAgICAgICAgICAgQGZvciAobWVtYmVyIG9mIG1lbWJlcnMoKTsgdHJhY2sgbWVtYmVyLnVzZXJJZCkge1xuICAgICAgICAgICAgICAgIDxpb24taXRlbSBjbGFzcz1cInJtLW1lbWJlci1pdGVtXCI+XG4gICAgICAgICAgICAgICAgICA8aW9uLWljb24gbmFtZT1cInBlcnNvbi1vdXRsaW5lXCIgc2xvdD1cInN0YXJ0XCIgY2xhc3M9XCJybS1tZW1iZXItaWNvblwiIC8+XG4gICAgICAgICAgICAgICAgICA8aW9uLWxhYmVsPlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicm0tbWVtYmVyLW5hbWVcIj57eyBtZW1iZXIubmFtZSB8fCBtZW1iZXIuZW1haWwgfHwgbWVtYmVyLnVzZXJJZCB9fTwvZGl2PlxuICAgICAgICAgICAgICAgICAgICBAaWYgKG1lbWJlci5uYW1lICYmIG1lbWJlci5lbWFpbCkge1xuICAgICAgICAgICAgICAgICAgICAgIDxpb24tbm90ZSBjbGFzcz1cInJtLW1lbWJlci1lbWFpbFwiPnt7IG1lbWJlci5lbWFpbCB9fTwvaW9uLW5vdGU+XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInJtLW1lbWJlci1yb2xlc1wiPlxuICAgICAgICAgICAgICAgICAgICAgIEBmb3IgKHJvbGUgb2YgbWVtYmVyLnJvbGVzOyB0cmFjayByb2xlKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICA8dmFsLXBpbGxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgW3Byb3BzXT1cIntcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBsYWJlbDogcmVzb2x2ZVJvbGVEaXNwbGF5KHJvbGUpLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiBpc1N5c3RlbVJvbGUocm9sZSkgPyAncHJpbWFyeScgOiAnc2Vjb25kYXJ5JyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaXplOiAnc21hbGwnLFxuICAgICAgICAgICAgICAgICAgICAgICAgICB9XCJcbiAgICAgICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgIEBpZiAobWVtYmVyLnJvbGVzLmxlbmd0aCA9PT0gMCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJybS1uby1yb2xlXCI+e3sgdCgnbm9Sb2xlQXNzaWduZWQnKSB9fTwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgPC9pb24tbGFiZWw+XG4gICAgICAgICAgICAgICAgICA8ZGl2IHNsb3Q9XCJlbmRcIiBjbGFzcz1cInJtLW1lbWJlci1hY3Rpb25zXCI+XG4gICAgICAgICAgICAgICAgICAgIDxpb24tYnV0dG9uXG4gICAgICAgICAgICAgICAgICAgICAgZmlsbD1cImNsZWFyXCJcbiAgICAgICAgICAgICAgICAgICAgICBzaXplPVwic21hbGxcIlxuICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJvcGVuUm9sZVNlbGVjdG9yKG1lbWJlcilcIlxuICAgICAgICAgICAgICAgICAgICAgIFtkaXNhYmxlZF09XCJwZW5kaW5nTWVtYmVyKCkgPT09IG1lbWJlci51c2VySWRcIlxuICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgQGlmIChwZW5kaW5nTWVtYmVyKCkgPT09IG1lbWJlci51c2VySWQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIDxpb24tc3Bpbm5lciBuYW1lPVwiY3Jlc2NlbnRcIiAvPlxuICAgICAgICAgICAgICAgICAgICAgIH0gQGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAge3sgdCgnYXNzaWduUm9sZScpIH19XG4gICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICA8L2lvbi1idXR0b24+XG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8L2lvbi1pdGVtPlxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICA8L2lvbi1saXN0PlxuICAgICAgICAgIH1cbiAgICAgICAgPC9zZWN0aW9uPlxuICAgICAgfVxuXG4gICAgICA8IS0tIOKUgOKUgCBTZWNjacOzbiBSb2xlcyDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIAgLS0+XG4gICAgICBAaWYgKGNmZygpLnNob3dSb2xlTWFuYWdlbWVudCAhPT0gZmFsc2UpIHtcbiAgICAgICAgPHNlY3Rpb24gY2xhc3M9XCJybS1zZWN0aW9uXCI+XG4gICAgICAgICAgPGhlYWRlciBjbGFzcz1cInJtLXNlY3Rpb25fX2hlYWRlclwiPlxuICAgICAgICAgICAgPHZhbC10aXRsZSBbcHJvcHNdPVwieyBjb250ZW50OiB0KCdyb2xlc1RpdGxlJyksIHNpemU6ICdtZWRpdW0nLCBib2xkOiB0cnVlLCBjb2xvcjogJycgfVwiIC8+XG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cInJtLXNlY3Rpb25fX2NvdW50XCI+e3sgYWxsUm9sZXMoKS5sZW5ndGggfX08L3NwYW4+XG4gICAgICAgICAgICA8aW9uLWJ1dHRvbiBmaWxsPVwiY2xlYXJcIiBzaXplPVwic21hbGxcIiBjbGFzcz1cInJtLWFkZC1idG5cIiAoY2xpY2spPVwib3Blbk5ld1JvbGUoKVwiPlxuICAgICAgICAgICAgICA8aW9uLWljb24gbmFtZT1cImFkZC1vdXRsaW5lXCIgc2xvdD1cInN0YXJ0XCIgLz5cbiAgICAgICAgICAgICAge3sgdCgnYWRkUm9sZScpIH19XG4gICAgICAgICAgICA8L2lvbi1idXR0b24+XG4gICAgICAgICAgPC9oZWFkZXI+XG5cbiAgICAgICAgICA8IS0tIOKUgOKUgCBGb3JtdWxhcmlvIGlubGluZSBkZSBjcmVhci9lZGl0YXIgcm9sIOKUgOKUgOKUgOKUgCAtLT5cbiAgICAgICAgICBAaWYgKHJvbGVGb3JtKCkub3Blbikge1xuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInJtLXJvbGUtZm9ybVwiPlxuICAgICAgICAgICAgICA8Zm9ybSBbZm9ybUdyb3VwXT1cImZvcm1cIiAobmdTdWJtaXQpPVwic2F2ZVJvbGUoKVwiPlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJybS1mb3JtLWZpZWxkXCI+XG4gICAgICAgICAgICAgICAgICA8bGFiZWwgY2xhc3M9XCJybS1sYWJlbFwiPnt7IHQoJ3JvbGVOYW1lJykgfX08L2xhYmVsPlxuICAgICAgICAgICAgICAgICAgPGlucHV0IGNsYXNzPVwicm0taW5wdXRcIiB0eXBlPVwidGV4dFwiIGZvcm1Db250cm9sTmFtZT1cIm5hbWVcIiBbcGxhY2Vob2xkZXJdPVwidCgncm9sZU5hbWUnKVwiIC8+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInJtLWZvcm0tZmllbGRcIj5cbiAgICAgICAgICAgICAgICAgIDxsYWJlbCBjbGFzcz1cInJtLWxhYmVsXCI+e3sgdCgncm9sZURlc2NyaXB0aW9uJykgfX08L2xhYmVsPlxuICAgICAgICAgICAgICAgICAgPGlucHV0XG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwicm0taW5wdXRcIlxuICAgICAgICAgICAgICAgICAgICB0eXBlPVwidGV4dFwiXG4gICAgICAgICAgICAgICAgICAgIGZvcm1Db250cm9sTmFtZT1cImRlc2NyaXB0aW9uXCJcbiAgICAgICAgICAgICAgICAgICAgW3BsYWNlaG9sZGVyXT1cInQoJ3JvbGVEZXNjcmlwdGlvbicpXCJcbiAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInJtLWZvcm0tYWN0aW9uc1wiPlxuICAgICAgICAgICAgICAgICAgPGlvbi1idXR0b25cbiAgICAgICAgICAgICAgICAgICAgdHlwZT1cInN1Ym1pdFwiXG4gICAgICAgICAgICAgICAgICAgIHNpemU9XCJzbWFsbFwiXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yPVwicHJpbWFyeVwiXG4gICAgICAgICAgICAgICAgICAgIHNoYXBlPVwicm91bmRcIlxuICAgICAgICAgICAgICAgICAgICBbZGlzYWJsZWRdPVwiZm9ybS5pbnZhbGlkIHx8IHNhdmluZygpXCJcbiAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgQGlmIChzYXZpbmcoKSkge1xuICAgICAgICAgICAgICAgICAgICAgIDxpb24tc3Bpbm5lciBuYW1lPVwiY3Jlc2NlbnRcIiAvPlxuICAgICAgICAgICAgICAgICAgICB9IEBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICB7eyB0KCdzYXZlJykgfX1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgPC9pb24tYnV0dG9uPlxuICAgICAgICAgICAgICAgICAgPGlvbi1idXR0b24gdHlwZT1cImJ1dHRvblwiIGZpbGw9XCJjbGVhclwiIHNpemU9XCJzbWFsbFwiIGNvbG9yPVwibWVkaXVtXCIgKGNsaWNrKT1cImNsb3NlUm9sZUZvcm0oKVwiPlxuICAgICAgICAgICAgICAgICAgICB7eyB0KCdjYW5jZWwnKSB9fVxuICAgICAgICAgICAgICAgICAgPC9pb24tYnV0dG9uPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8L2Zvcm0+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICB9XG5cbiAgICAgICAgICBAaWYgKGFsbFJvbGVzKCkubGVuZ3RoID09PSAwICYmICFyb2xlRm9ybSgpLm9wZW4pIHtcbiAgICAgICAgICAgIDx2YWwtZW1wdHktc3RhdGUgW3Byb3BzXT1cInsgdmFyaWFudDogJ2VtcHR5JywgdGl0bGU6IHQoJ25vUm9sZXMnKSB9XCIgLz5cbiAgICAgICAgICB9XG5cbiAgICAgICAgICA8aW9uLWxpc3QgY2xhc3M9XCJybS1saXN0XCIgbGluZXM9XCJmdWxsXCI+XG4gICAgICAgICAgICBAZm9yIChyb2xlIG9mIGFsbFJvbGVzKCk7IHRyYWNrIHJvbGUuaWQpIHtcbiAgICAgICAgICAgICAgPGlvbi1pdGVtIGNsYXNzPVwicm0tcm9sZS1pdGVtXCI+XG4gICAgICAgICAgICAgICAgPGlvbi1pY29uIG5hbWU9XCJzaGllbGQtY2hlY2ttYXJrLW91dGxpbmVcIiBzbG90PVwic3RhcnRcIiBjbGFzcz1cInJtLXJvbGUtaWNvblwiIC8+XG4gICAgICAgICAgICAgICAgPGlvbi1sYWJlbD5cbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJybS1yb2xlLW5hbWVcIj5cbiAgICAgICAgICAgICAgICAgICAge3sgcm9sZS5uYW1lIH19XG4gICAgICAgICAgICAgICAgICAgIEBpZiAocm9sZS5pc1N5c3RlbSkge1xuICAgICAgICAgICAgICAgICAgICAgIDxpb24tYmFkZ2UgY29sb3I9XCJwcmltYXJ5XCI+e3sgdCgnc3lzdGVtQmFkZ2UnKSB9fTwvaW9uLWJhZGdlPlxuICAgICAgICAgICAgICAgICAgICB9IEBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICA8aW9uLWJhZGdlIGNvbG9yPVwic2Vjb25kYXJ5XCI+e3sgdCgnY3VzdG9tQmFkZ2UnKSB9fTwvaW9uLWJhZGdlPlxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgIEBpZiAocm9sZS5kZXNjcmlwdGlvbikge1xuICAgICAgICAgICAgICAgICAgICA8aW9uLW5vdGUgY2xhc3M9XCJybS1yb2xlLWRlc2NcIj57eyByb2xlLmRlc2NyaXB0aW9uIH19PC9pb24tbm90ZT5cbiAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgIDxpb24tbm90ZSBjbGFzcz1cInJtLXJvbGUtcGVybXNcIj5cbiAgICAgICAgICAgICAgICAgICAge3sgcm9sZS5wZXJtaXNzaW9ucz8ubGVuZ3RoID8/IDAgfX0ge3sgdCgncGVybWlzc2lvbnMnKSB9fVxuICAgICAgICAgICAgICAgICAgPC9pb24tbm90ZT5cbiAgICAgICAgICAgICAgICA8L2lvbi1sYWJlbD5cbiAgICAgICAgICAgICAgICBAaWYgKCFyb2xlLmlzU3lzdGVtKSB7XG4gICAgICAgICAgICAgICAgICA8ZGl2IHNsb3Q9XCJlbmRcIiBjbGFzcz1cInJtLXJvbGUtYWN0aW9uc1wiPlxuICAgICAgICAgICAgICAgICAgICA8aW9uLWJ1dHRvbiBmaWxsPVwiY2xlYXJcIiBzaXplPVwic21hbGxcIiAoY2xpY2spPVwib3BlbkVkaXRSb2xlKHJvbGUpXCI+XG4gICAgICAgICAgICAgICAgICAgICAgPGlvbi1pY29uIG5hbWU9XCJjcmVhdGUtb3V0bGluZVwiIHNsb3Q9XCJpY29uLW9ubHlcIiAvPlxuICAgICAgICAgICAgICAgICAgICA8L2lvbi1idXR0b24+XG4gICAgICAgICAgICAgICAgICAgIDxpb24tYnV0dG9uIGZpbGw9XCJjbGVhclwiIHNpemU9XCJzbWFsbFwiIGNvbG9yPVwiZGFuZ2VyXCIgKGNsaWNrKT1cImNvbmZpcm1EZWxldGVSb2xlKHJvbGUpXCI+XG4gICAgICAgICAgICAgICAgICAgICAgPGlvbi1pY29uIG5hbWU9XCJ0cmFzaC1vdXRsaW5lXCIgc2xvdD1cImljb24tb25seVwiIC8+XG4gICAgICAgICAgICAgICAgICAgIDwvaW9uLWJ1dHRvbj5cbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgPC9pb24taXRlbT5cbiAgICAgICAgICAgIH1cbiAgICAgICAgICA8L2lvbi1saXN0PlxuICAgICAgICA8L3NlY3Rpb24+XG4gICAgICB9XG4gICAgfVxuXG4gICAgPCEtLSDilIDilIAgUm9sZSBzZWxlY3RvciBzaGVldCDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIAgLS0+XG4gICAgQGlmIChyb2xlU2VsZWN0b3JNZW1iZXIoKSkge1xuICAgICAgPGRpdiBjbGFzcz1cInJtLXJvbGUtb3ZlcmxheVwiIChjbGljayk9XCJjbG9zZVJvbGVTZWxlY3RvcigpXCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJybS1yb2xlLXNoZWV0XCIgKGNsaWNrKT1cIiRldmVudC5zdG9wUHJvcGFnYXRpb24oKVwiPlxuICAgICAgICAgIDx2YWwtdGl0bGUgW3Byb3BzXT1cInsgY29udGVudDogdCgnc2VsZWN0Um9sZScpLCBzaXplOiAnbWVkaXVtJywgYm9sZDogdHJ1ZSwgY29sb3I6ICcnIH1cIiAvPlxuICAgICAgICAgIDxpb24tbGlzdCBsaW5lcz1cImZ1bGxcIiBjbGFzcz1cInJtLXNoZWV0LWxpc3RcIj5cbiAgICAgICAgICAgIEBmb3IgKHJvbGUgb2YgYWxsUm9sZXMoKTsgdHJhY2sgcm9sZS5pZCkge1xuICAgICAgICAgICAgICA8aW9uLWl0ZW0gYnV0dG9uIGRldGFpbD1cImZhbHNlXCIgKGNsaWNrKT1cIm9uUm9sZVNlbGVjdGVkKHJvbGVTZWxlY3Rvck1lbWJlcigpISwgcm9sZS5uYW1lKVwiPlxuICAgICAgICAgICAgICAgIDxpb24taWNvbiBuYW1lPVwic2hpZWxkLWNoZWNrbWFyay1vdXRsaW5lXCIgc2xvdD1cInN0YXJ0XCIgLz5cbiAgICAgICAgICAgICAgICA8aW9uLWxhYmVsPnt7IHJvbGUubmFtZSB9fTwvaW9uLWxhYmVsPlxuICAgICAgICAgICAgICAgIEBpZiAocm9sZVNlbGVjdG9yTWVtYmVyKCkhLnJvbGVzLmluY2x1ZGVzKHJvbGUubmFtZSkpIHtcbiAgICAgICAgICAgICAgICAgIDxpb24tYmFkZ2UgY29sb3I9XCJwcmltYXJ5XCIgc2xvdD1cImVuZFwiPuKckzwvaW9uLWJhZGdlPlxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgPC9pb24taXRlbT5cbiAgICAgICAgICAgIH1cbiAgICAgICAgICA8L2lvbi1saXN0PlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJybS1zaGVldC1mb290ZXJcIj5cbiAgICAgICAgICAgIDxpb24tYnV0dG9uIGZpbGw9XCJjbGVhclwiIGNvbG9yPVwibWVkaXVtXCIgZXhwYW5kPVwiYmxvY2tcIiAoY2xpY2spPVwiY2xvc2VSb2xlU2VsZWN0b3IoKVwiPlxuICAgICAgICAgICAgICB7eyB0KCdjYW5jZWwnKSB9fVxuICAgICAgICAgICAgPC9pb24tYnV0dG9uPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgIH1cbiAgYCxcbiAgc3R5bGVzOiBbXG4gICAgYFxuICAgICAgOmhvc3Qge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIH1cblxuICAgICAgLnJtLWxvYWRpbmcge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgcGFkZGluZzogMnJlbSAwO1xuICAgICAgfVxuXG4gICAgICAucm0tc2VjdGlvbiB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDJyZW07XG4gICAgICB9XG5cbiAgICAgIC5ybS1zZWN0aW9uX19oZWFkZXIge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBnYXA6IDAuNXJlbTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMC43NXJlbTtcbiAgICAgIH1cblxuICAgICAgLnJtLXNlY3Rpb25fX2NvdW50IHtcbiAgICAgICAgZm9udC1zaXplOiAwLjc1cmVtO1xuICAgICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1pb24tY29sb3ItZGFyay10aW50LCAjZWVlKTtcbiAgICAgICAgY29sb3I6IHZhcigtLWlvbi1jb2xvci1kYXJrLXNoYWRlLCAjNTU1KTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogOTk5OXB4O1xuICAgICAgICBwYWRkaW5nOiAycHggOHB4O1xuICAgICAgfVxuXG4gICAgICAucm0tYWRkLWJ0biB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgICAgfVxuXG4gICAgICAucm0tbGlzdCB7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDEycHg7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIGJhY2tncm91bmQ6IHZhcigtLWlvbi1jYXJkLWJhY2tncm91bmQsIHZhcigtLWlvbi1iYWNrZ3JvdW5kLWNvbG9yKSk7XG4gICAgICAgIGJveC1zaGFkb3c6IDAgMXB4IDRweCByZ2JhKDAsIDAsIDAsIDAuMDYpO1xuICAgICAgfVxuXG4gICAgICAucm0tbWVtYmVyLWl0ZW0sXG4gICAgICAucm0tcm9sZS1pdGVtIHtcbiAgICAgICAgLS1wYWRkaW5nLXN0YXJ0OiAxcmVtO1xuICAgICAgICAtLWlubmVyLXBhZGRpbmctZW5kOiAwLjVyZW07XG4gICAgICB9XG5cbiAgICAgIC5ybS1tZW1iZXItaWNvbixcbiAgICAgIC5ybS1yb2xlLWljb24ge1xuICAgICAgICBjb2xvcjogdmFyKC0taW9uLWNvbG9yLWRhcmssICM5Mjk0OWMpO1xuICAgICAgICBmb250LXNpemU6IDEuMjVyZW07XG4gICAgICB9XG5cbiAgICAgIC5ybS1tZW1iZXItbmFtZSxcbiAgICAgIC5ybS1yb2xlLW5hbWUge1xuICAgICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgICBmb250LXNpemU6IDAuOTM3NXJlbTtcbiAgICAgICAgY29sb3I6IHZhcigtLWlvbi10ZXh0LWNvbG9yKTtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgZ2FwOiAwLjM3NXJlbTtcbiAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgfVxuXG4gICAgICAucm0tbWVtYmVyLWVtYWlsLFxuICAgICAgLnJtLXJvbGUtZGVzYyxcbiAgICAgIC5ybS1yb2xlLXBlcm1zIHtcbiAgICAgICAgZm9udC1zaXplOiAwLjgxMjVyZW07XG4gICAgICAgIGNvbG9yOiB2YXIoLS1pb24tY29sb3ItZGFyaywgIzkyOTQ5Yyk7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBtYXJnaW4tdG9wOiAycHg7XG4gICAgICB9XG5cbiAgICAgIC5ybS1tZW1iZXItcm9sZXMge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICAgIGdhcDogNHB4O1xuICAgICAgICBtYXJnaW4tdG9wOiA0cHg7XG4gICAgICB9XG5cbiAgICAgIC5ybS1uby1yb2xlIHtcbiAgICAgICAgZm9udC1zaXplOiAwLjgxMjVyZW07XG4gICAgICAgIGNvbG9yOiB2YXIoLS1pb24tY29sb3ItZGFyaywgIzkyOTQ5Yyk7XG4gICAgICB9XG5cbiAgICAgIC5ybS1tZW1iZXItYWN0aW9ucyxcbiAgICAgIC5ybS1yb2xlLWFjdGlvbnMge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBnYXA6IDJweDtcbiAgICAgIH1cblxuICAgICAgLyog4pSA4pSAIFJvbGUgZm9ybSDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIAgKi9cbiAgICAgIC5ybS1yb2xlLWZvcm0ge1xuICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1pb24tY2FyZC1iYWNrZ3JvdW5kLCB2YXIoLS1pb24tYmFja2dyb3VuZC1jb2xvcikpO1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1pb24tYm9yZGVyLWNvbG9yLCByZ2JhKDAsIDAsIDAsIDAuMSkpO1xuICAgICAgICBib3JkZXItcmFkaXVzOiAxMnB4O1xuICAgICAgICBwYWRkaW5nOiAxcmVtO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwLjc1cmVtO1xuICAgICAgfVxuXG4gICAgICAucm0tZm9ybS1maWVsZCB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDAuNzVyZW07XG4gICAgICB9XG5cbiAgICAgIC5ybS1sYWJlbCB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBmb250LXNpemU6IDAuODEyNXJlbTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgICAgY29sb3I6IHZhcigtLWlvbi1jb2xvci1kYXJrLXNoYWRlLCAjNTU1KTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogNHB4O1xuICAgICAgfVxuXG4gICAgICAucm0taW5wdXQge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgcGFkZGluZzogMC41cmVtIDAuNzVyZW07XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWlvbi1ib3JkZXItY29sb3IsIHJnYmEoMCwgMCwgMCwgMC4xMikpO1xuICAgICAgICBib3JkZXItcmFkaXVzOiA4cHg7XG4gICAgICAgIGZvbnQtc2l6ZTogMC45Mzc1cmVtO1xuICAgICAgICBjb2xvcjogdmFyKC0taW9uLXRleHQtY29sb3IpO1xuICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1pb24tYmFja2dyb3VuZC1jb2xvcik7XG4gICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgICB9XG5cbiAgICAgIC5ybS1pbnB1dDpmb2N1cyB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogdmFyKC0taW9uLWNvbG9yLXByaW1hcnksICMzODgwZmYpO1xuICAgICAgfVxuXG4gICAgICAucm0tZm9ybS1hY3Rpb25zIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgZ2FwOiAwLjVyZW07XG4gICAgICAgIG1hcmdpbi10b3A6IDAuNXJlbTtcbiAgICAgIH1cblxuICAgICAgLyog4pSA4pSAIFJvbGUgc2VsZWN0b3Igb3ZlcmxheSDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIAgKi9cbiAgICAgIC5ybS1yb2xlLW92ZXJsYXkge1xuICAgICAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgICAgIGluc2V0OiAwO1xuICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuMzUpO1xuICAgICAgICB6LWluZGV4OiA1MDA7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICB9XG5cbiAgICAgIC5ybS1yb2xlLXNoZWV0IHtcbiAgICAgICAgYmFja2dyb3VuZDogdmFyKC0taW9uLWNhcmQtYmFja2dyb3VuZCwgdmFyKC0taW9uLWJhY2tncm91bmQtY29sb3IpKTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMTZweCAxNnB4IDAgMDtcbiAgICAgICAgcGFkZGluZzogMS4yNXJlbSAxcmVtIDFyZW07XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBtYXgtd2lkdGg6IDQ4MHB4O1xuICAgICAgICBtYXgtaGVpZ2h0OiA3MHZoO1xuICAgICAgICBvdmVyZmxvdy15OiBhdXRvO1xuICAgICAgfVxuXG4gICAgICAucm0tc2hlZXQtbGlzdCB7XG4gICAgICAgIG1hcmdpbi10b3A6IDAuNzVyZW07XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDEycHg7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICB9XG5cbiAgICAgIC5ybS1zaGVldC1mb290ZXIge1xuICAgICAgICBtYXJnaW4tdG9wOiAwLjVyZW07XG4gICAgICB9XG4gICAgYCxcbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgUm9sZU1hbmFnZXJDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICBASW5wdXQoKSBjb25maWc/OiBSb2xlTWFuYWdlckNvbmZpZztcblxuICBwcml2YXRlIHJlYWRvbmx5IGkxOG4gPSBpbmplY3QoSTE4blNlcnZpY2UpO1xuICBwcml2YXRlIHJlYWRvbmx5IGF1dGggPSBpbmplY3QoQXV0aFNlcnZpY2UpO1xuICBwcml2YXRlIHJlYWRvbmx5IHJiYWMgPSBpbmplY3QoUmJhY1NlcnZpY2UpO1xuICBwcml2YXRlIHJlYWRvbmx5IG9yZyA9IGluamVjdChPcmdTZXJ2aWNlKTtcbiAgcHJpdmF0ZSByZWFkb25seSBjYXRhbG9nID0gaW5qZWN0KFBlcm1pc3Npb25DYXRhbG9nU2VydmljZSk7XG4gIHByaXZhdGUgcmVhZG9ubHkgdG9hc3QgPSBpbmplY3QoVG9hc3RTZXJ2aWNlKTtcbiAgcHJpdmF0ZSByZWFkb25seSBlcnJvcnMgPSBpbmplY3QoVmFsdGVjaEVycm9yU2VydmljZSk7XG4gIHByaXZhdGUgcmVhZG9ubHkgY29uZmlybSA9IGluamVjdChDb25maXJtYXRpb25EaWFsb2dTZXJ2aWNlKTtcblxuICBwcml2YXRlIHJlYWRvbmx5IG5zID0gY29tcHV0ZWQoKCkgPT4gdGhpcy5jb25maWc/LmkxOG5OYW1lc3BhY2UgPz8gREVGQVVMVF9OUyk7XG5cbiAgcmVhZG9ubHkgbG9hZGluZyA9IHNpZ25hbCh0cnVlKTtcbiAgcmVhZG9ubHkgc2F2aW5nID0gc2lnbmFsKGZhbHNlKTtcbiAgcmVhZG9ubHkgbG9hZEVycm9yID0gc2lnbmFsPHVua25vd24gfCBudWxsPihudWxsKTtcbiAgcmVhZG9ubHkgbWVtYmVycyA9IHNpZ25hbDxSYmFjT3JnTWVtYmVyW10+KFtdKTtcbiAgcmVhZG9ubHkgYWxsUm9sZXMgPSBzaWduYWw8UmJhY1JvbGVbXT4oW10pO1xuICByZWFkb25seSBwZW5kaW5nTWVtYmVyID0gc2lnbmFsPHN0cmluZyB8IG51bGw+KG51bGwpO1xuICByZWFkb25seSByb2xlU2VsZWN0b3JNZW1iZXIgPSBzaWduYWw8UmJhY09yZ01lbWJlciB8IG51bGw+KG51bGwpO1xuICByZWFkb25seSByb2xlRm9ybSA9IHNpZ25hbDxSb2xlRm9ybVN0YXRlPih7IG9wZW46IGZhbHNlLCBlZGl0aW5nOiBudWxsIH0pO1xuXG4gIHJlYWRvbmx5IGZvcm0gPSBuZXcgRm9ybUdyb3VwKHtcbiAgICBuYW1lOiBuZXcgRm9ybUNvbnRyb2woJycsIFZhbGlkYXRvcnMucmVxdWlyZWQpLFxuICAgIGRlc2NyaXB0aW9uOiBuZXcgRm9ybUNvbnRyb2woJycpLFxuICB9KTtcblxuICByZWFkb25seSBjZmcgPSBjb21wdXRlZCgoKSA9PiB0aGlzLmNvbmZpZyA/PyB7fSk7XG5cbiAgcHJpdmF0ZSBnZXQgb3JnSWQoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5hdXRoLnVzZXIoKT8uYWN0aXZlT3JnID8/ICcnO1xuICB9XG5cbiAgY29uc3RydWN0b3IoKSB7XG4gICAgY29uc3QgbnMgPSBERUZBVUxUX05TO1xuICAgIGlmICghdGhpcy5pMThuLmhhc05hbWVzcGFjZShucykpIHtcbiAgICAgIHRoaXMuaTE4bi5yZWdpc3RlckNvbnRlbnQobnMsIFJPTEVfTUFOQUdFUl9JMThOKTtcbiAgICB9XG4gIH1cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB2b2lkIHRoaXMubG9hZCgpO1xuICB9XG5cbiAgdChrZXk6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuaTE4bi50KGtleSwgdGhpcy5ucygpKTtcbiAgfVxuXG4gIGFzeW5jIGxvYWQoKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgY29uc3Qgb3JnSWQgPSB0aGlzLm9yZ0lkO1xuICAgIGlmICghb3JnSWQpIHJldHVybjtcbiAgICB0aGlzLmxvYWRpbmcuc2V0KHRydWUpO1xuICAgIHRoaXMubG9hZEVycm9yLnNldChudWxsKTtcbiAgICB0cnkge1xuICAgICAgY29uc3QgW21lbWJlcnNSZXMsIHJvbGVzUmVzXSA9IGF3YWl0IGZpcnN0VmFsdWVGcm9tKFxuICAgICAgICBmb3JrSm9pbihbdGhpcy5yYmFjLmdldE9yZ01lbWJlcnMob3JnSWQsIHsgbGltaXQ6IDUwIH0pLCB0aGlzLnJiYWMubGlzdFJvbGVzKG9yZ0lkLCB7IGxpbWl0OiAxMDAgfSldKVxuICAgICAgKTtcbiAgICAgIHRoaXMubWVtYmVycy5zZXQobWVtYmVyc1Jlcy5tZW1iZXJzKTtcbiAgICAgIHRoaXMuYWxsUm9sZXMuc2V0KHJvbGVzUmVzLnJvbGVzKTtcbiAgICB9IGNhdGNoIChlcnIpIHtcbiAgICAgIHRoaXMubG9hZEVycm9yLnNldChlcnIpO1xuICAgIH0gZmluYWxseSB7XG4gICAgICB0aGlzLmxvYWRpbmcuc2V0KGZhbHNlKTtcbiAgICB9XG4gIH1cblxuICByZWxvYWQoKTogdm9pZCB7XG4gICAgdm9pZCB0aGlzLmxvYWQoKTtcbiAgfVxuXG4gIC8vIOKUgOKUgCBSb2xlIGxhYmVsIGhlbHBlcnMg4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAXG5cbiAgcmVzb2x2ZVJvbGVEaXNwbGF5KHJvbGVOYW1lOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIGNvbnN0IGZvdW5kID0gdGhpcy5hbGxSb2xlcygpLmZpbmQociA9PiByLm5hbWUgPT09IHJvbGVOYW1lKTtcbiAgICByZXR1cm4gZm91bmQgPyBmb3VuZC5uYW1lIDogcm9sZU5hbWU7XG4gIH1cblxuICBpc1N5c3RlbVJvbGUocm9sZU5hbWU6IHN0cmluZyk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmFsbFJvbGVzKCkuZmluZChyID0+IHIubmFtZSA9PT0gcm9sZU5hbWUpPy5pc1N5c3RlbSA/PyBmYWxzZTtcbiAgfVxuXG4gIC8vIOKUgOKUgCBSb2xlIHNlbGVjdG9yIChhc3NpZ24vcmV2b2tlKSDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIBcblxuICBvcGVuUm9sZVNlbGVjdG9yKG1lbWJlcjogUmJhY09yZ01lbWJlcik6IHZvaWQge1xuICAgIHRoaXMucm9sZVNlbGVjdG9yTWVtYmVyLnNldChtZW1iZXIpO1xuICB9XG5cbiAgY2xvc2VSb2xlU2VsZWN0b3IoKTogdm9pZCB7XG4gICAgdGhpcy5yb2xlU2VsZWN0b3JNZW1iZXIuc2V0KG51bGwpO1xuICB9XG5cbiAgYXN5bmMgb25Sb2xlU2VsZWN0ZWQobWVtYmVyOiBSYmFjT3JnTWVtYmVyLCByb2xlTmFtZTogc3RyaW5nKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgdGhpcy5jbG9zZVJvbGVTZWxlY3RvcigpO1xuICAgIGNvbnN0IG9yZ0lkID0gdGhpcy5vcmdJZDtcbiAgICBjb25zdCBhbHJlYWR5SGFzID0gbWVtYmVyLnJvbGVzLmluY2x1ZGVzKHJvbGVOYW1lKTtcbiAgICB0aGlzLnBlbmRpbmdNZW1iZXIuc2V0KG1lbWJlci51c2VySWQpO1xuICAgIHRyeSB7XG4gICAgICBpZiAoYWxyZWFkeUhhcykge1xuICAgICAgICBhd2FpdCBmaXJzdFZhbHVlRnJvbSh0aGlzLnJiYWMucmV2b2tlUm9sZSh7IHVzZXJJZDogbWVtYmVyLnVzZXJJZCwgb3JnSWQsIHJvbGVOYW1lIH0pKTtcbiAgICAgICAgdGhpcy50b2FzdC5zaG93KHsgbWVzc2FnZTogdGhpcy50KCdyb2xlUmV2b2tlZCcpLCBjb2xvcjogJ2RhcmsnLCBkdXJhdGlvbjogMjAwMCB9KTtcbiAgICAgICAgdGhpcy5tZW1iZXJzLnVwZGF0ZShsaXN0ID0+XG4gICAgICAgICAgbGlzdC5tYXAobSA9PiAobS51c2VySWQgPT09IG1lbWJlci51c2VySWQgPyB7IC4uLm0sIHJvbGVzOiBtLnJvbGVzLmZpbHRlcihyID0+IHIgIT09IHJvbGVOYW1lKSB9IDogbSkpXG4gICAgICAgICk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBhd2FpdCBmaXJzdFZhbHVlRnJvbSh0aGlzLnJiYWMuYXNzaWduUm9sZSh7IHVzZXJJZDogbWVtYmVyLnVzZXJJZCwgb3JnSWQsIHJvbGVOYW1lIH0pKTtcbiAgICAgICAgdGhpcy50b2FzdC5zaG93KHsgbWVzc2FnZTogdGhpcy50KCdyb2xlQXNzaWduZWQnKSwgY29sb3I6ICdkYXJrJywgZHVyYXRpb246IDIwMDAgfSk7XG4gICAgICAgIHRoaXMubWVtYmVycy51cGRhdGUobGlzdCA9PlxuICAgICAgICAgIGxpc3QubWFwKG0gPT4gKG0udXNlcklkID09PSBtZW1iZXIudXNlcklkID8geyAuLi5tLCByb2xlczogWy4uLm0ucm9sZXMsIHJvbGVOYW1lXSB9IDogbSkpXG4gICAgICAgICk7XG4gICAgICB9XG4gICAgfSBjYXRjaCAoZXJyKSB7XG4gICAgICB0aGlzLmVycm9ycy5oYW5kbGUoZXJyLCB7XG4gICAgICAgIGNvbnRleHQ6ICdyb2xlLW1hbmFnZXIuYXNzaWduUmV2b2tlJyxcbiAgICAgICAgZmFsbGJhY2tLZXk6IGFscmVhZHlIYXMgPyAnZXJyb3JSZXZva2UnIDogJ2Vycm9yQXNzaWduJyxcbiAgICAgICAgaTE4bk5hbWVzcGFjZTogdGhpcy5ucygpLFxuICAgICAgfSk7XG4gICAgfSBmaW5hbGx5IHtcbiAgICAgIHRoaXMucGVuZGluZ01lbWJlci5zZXQobnVsbCk7XG4gICAgfVxuICB9XG5cbiAgLy8g4pSA4pSAIFJvbGUgQ1JVRCDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIBcblxuICBvcGVuTmV3Um9sZSgpOiB2b2lkIHtcbiAgICB0aGlzLmZvcm0ucmVzZXQoKTtcbiAgICB0aGlzLnJvbGVGb3JtLnNldCh7IG9wZW46IHRydWUsIGVkaXRpbmc6IG51bGwgfSk7XG4gIH1cblxuICBvcGVuRWRpdFJvbGUocm9sZTogUmJhY1JvbGUpOiB2b2lkIHtcbiAgICB0aGlzLmZvcm0ucGF0Y2hWYWx1ZSh7IG5hbWU6IHJvbGUubmFtZSwgZGVzY3JpcHRpb246IHJvbGUuZGVzY3JpcHRpb24gPz8gJycgfSk7XG4gICAgdGhpcy5yb2xlRm9ybS5zZXQoeyBvcGVuOiB0cnVlLCBlZGl0aW5nOiByb2xlIH0pO1xuICB9XG5cbiAgY2xvc2VSb2xlRm9ybSgpOiB2b2lkIHtcbiAgICB0aGlzLnJvbGVGb3JtLnNldCh7IG9wZW46IGZhbHNlLCBlZGl0aW5nOiBudWxsIH0pO1xuICAgIHRoaXMuZm9ybS5yZXNldCgpO1xuICB9XG5cbiAgYXN5bmMgc2F2ZVJvbGUoKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgaWYgKHRoaXMuZm9ybS5pbnZhbGlkKSByZXR1cm47XG4gICAgY29uc3Qgb3JnSWQgPSB0aGlzLm9yZ0lkO1xuICAgIGNvbnN0IGVkaXRpbmcgPSB0aGlzLnJvbGVGb3JtKCkuZWRpdGluZztcbiAgICBjb25zdCBuYW1lID0gdGhpcy5mb3JtLnZhbHVlLm5hbWUhO1xuICAgIGNvbnN0IGRlc2NyaXB0aW9uID0gdGhpcy5mb3JtLnZhbHVlLmRlc2NyaXB0aW9uID8/ICcnO1xuICAgIHRoaXMuc2F2aW5nLnNldCh0cnVlKTtcbiAgICB0cnkge1xuICAgICAgaWYgKGVkaXRpbmcpIHtcbiAgICAgICAgY29uc3QgdXBkYXRlZCA9IGF3YWl0IGZpcnN0VmFsdWVGcm9tKHRoaXMucmJhYy51cGRhdGVSb2xlKHsgb3JnSWQsIHJvbGVJZDogZWRpdGluZy5pZCwgbmFtZSwgZGVzY3JpcHRpb24gfSkpO1xuICAgICAgICB0aGlzLmFsbFJvbGVzLnVwZGF0ZShsaXN0ID0+IGxpc3QubWFwKHIgPT4gKHIuaWQgPT09IGVkaXRpbmcuaWQgPyB1cGRhdGVkIDogcikpKTtcbiAgICAgICAgdGhpcy50b2FzdC5zaG93KHsgbWVzc2FnZTogdGhpcy50KCdyb2xlVXBkYXRlZCcpLCBjb2xvcjogJ2RhcmsnLCBkdXJhdGlvbjogMjAwMCB9KTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGNvbnN0IGNyZWF0ZWQgPSBhd2FpdCBmaXJzdFZhbHVlRnJvbSh0aGlzLnJiYWMuY3JlYXRlUm9sZSh7IG9yZ0lkLCBuYW1lLCBkZXNjcmlwdGlvbiwgcGVybWlzc2lvbnM6IFtdIH0pKTtcbiAgICAgICAgdGhpcy5hbGxSb2xlcy51cGRhdGUobGlzdCA9PiBbLi4ubGlzdCwgY3JlYXRlZF0pO1xuICAgICAgICB0aGlzLnRvYXN0LnNob3coeyBtZXNzYWdlOiB0aGlzLnQoJ3JvbGVDcmVhdGVkJyksIGNvbG9yOiAnZGFyaycsIGR1cmF0aW9uOiAyMDAwIH0pO1xuICAgICAgfVxuICAgICAgdGhpcy5jbG9zZVJvbGVGb3JtKCk7XG4gICAgfSBjYXRjaCAoZXJyKSB7XG4gICAgICB0aGlzLmVycm9ycy5oYW5kbGUoZXJyLCB7XG4gICAgICAgIGNvbnRleHQ6ICdyb2xlLW1hbmFnZXIuc2F2ZVJvbGUnLFxuICAgICAgICBmYWxsYmFja0tleTogJ2Vycm9yU2F2ZScsXG4gICAgICAgIGkxOG5OYW1lc3BhY2U6IHRoaXMubnMoKSxcbiAgICAgIH0pO1xuICAgIH0gZmluYWxseSB7XG4gICAgICB0aGlzLnNhdmluZy5zZXQoZmFsc2UpO1xuICAgIH1cbiAgfVxuXG4gIGFzeW5jIGNvbmZpcm1EZWxldGVSb2xlKHJvbGU6IFJiYWNSb2xlKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgY29uc3QgeyBjb25maXJtZWQgfSA9IGF3YWl0IHRoaXMuY29uZmlybS5jb25maXJtRGVzdHJ1Y3RpdmUoe1xuICAgICAgdGl0bGU6IHJvbGUubmFtZSxcbiAgICAgIG1lc3NhZ2U6IHRoaXMudCgnZGVsZXRlUm9sZUNvbmZpcm0nKSxcbiAgICAgIGNvbmZpcm1CdXR0b246IHsgdGV4dDogdGhpcy50KCdkZWxldGVSb2xlQ29uZmlybUJ0bicpIH0sXG4gICAgfSk7XG4gICAgaWYgKCFjb25maXJtZWQpIHJldHVybjtcbiAgICBjb25zdCBvcmdJZCA9IHRoaXMub3JnSWQ7XG4gICAgdHJ5IHtcbiAgICAgIGF3YWl0IGZpcnN0VmFsdWVGcm9tKHRoaXMucmJhYy5kZWxldGVSb2xlKHsgb3JnSWQsIHJvbGVJZDogcm9sZS5pZCB9KSk7XG4gICAgICB0aGlzLmFsbFJvbGVzLnVwZGF0ZShsaXN0ID0+IGxpc3QuZmlsdGVyKHIgPT4gci5pZCAhPT0gcm9sZS5pZCkpO1xuICAgICAgdGhpcy50b2FzdC5zaG93KHsgbWVzc2FnZTogdGhpcy50KCdyb2xlRGVsZXRlZCcpLCBjb2xvcjogJ2RhcmsnLCBkdXJhdGlvbjogMjAwMCB9KTtcbiAgICB9IGNhdGNoIChlcnIpIHtcbiAgICAgIHRoaXMuZXJyb3JzLmhhbmRsZShlcnIsIHtcbiAgICAgICAgY29udGV4dDogJ3JvbGUtbWFuYWdlci5kZWxldGVSb2xlJyxcbiAgICAgICAgZmFsbGJhY2tLZXk6ICdlcnJvckRlbGV0ZScsXG4gICAgICAgIGkxOG5OYW1lc3BhY2U6IHRoaXMubnMoKSxcbiAgICAgIH0pO1xuICAgIH1cbiAgfVxufVxuIl19
612
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm9sZS1tYW5hZ2VyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29tcG9uZW50cy9vcmdhbmlzbXMvcm9sZS1tYW5hZ2VyL3JvbGUtbWFuYWdlci5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBVSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkYsT0FBTyxFQUFFLFdBQVcsRUFBRSxTQUFTLEVBQUUsbUJBQW1CLEVBQUUsVUFBVSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDekYsT0FBTyxFQUFFLGNBQWMsRUFBRSxRQUFRLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDaEQsT0FBTyxFQUNMLFFBQVEsRUFDUixTQUFTLEVBQ1QsT0FBTyxFQUNQLE9BQU8sRUFDUCxRQUFRLEVBQ1IsT0FBTyxFQUNQLE9BQU8sRUFDUCxVQUFVLEdBQ1gsTUFBTSwyQkFBMkIsQ0FBQztBQUNuQyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sVUFBVSxDQUFDO0FBQ3BDLE9BQU8sRUFDTCxVQUFVLEVBQ1YsYUFBYSxFQUNiLFlBQVksRUFDWixhQUFhLEVBQ2Isc0JBQXNCLEVBQ3RCLGtCQUFrQixFQUNsQixnQkFBZ0IsR0FDakIsTUFBTSxnQkFBZ0IsQ0FBQztBQUV4QixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFDdEUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFDekUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQ25FLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUNoRSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFDcEUsT0FBTyxFQUFFLG1CQUFt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Ozs7Ozs7Ozs7OztHQTBMVDt3REE2S1EsTUFBTTtzQkFBZCxLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBjb21wdXRlZCwgaW5qZWN0LCBJbnB1dCwgT25Jbml0LCBzaWduYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZvcm1Db250cm9sLCBGb3JtR3JvdXAsIFJlYWN0aXZlRm9ybXNNb2R1bGUsIFZhbGlkYXRvcnMgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBmaXJzdFZhbHVlRnJvbSwgZm9ya0pvaW4gfSBmcm9tICdyeGpzJztcbmltcG9ydCB7XG4gIElvbkJhZGdlLFxuICBJb25CdXR0b24sXG4gIElvbkljb24sXG4gIElvbkl0ZW0sXG4gIElvbkxhYmVsLFxuICBJb25MaXN0LFxuICBJb25Ob3RlLFxuICBJb25TcGlubmVyLFxufSBmcm9tICdAaW9uaWMvYW5ndWxhci9zdGFuZGFsb25lJztcbmltcG9ydCB7IGFkZEljb25zIH0gZnJvbSAnaW9uaWNvbnMnO1xuaW1wb3J0IHtcbiAgYWRkT3V0bGluZSxcbiAgY3JlYXRlT3V0bGluZSxcbiAgdHJhc2hPdXRsaW5lLFxuICBwZXJzb25PdXRsaW5lLFxuICBzaGllbGRDaGVja21hcmtPdXRsaW5lLFxuICBjaGV2cm9uRG93bk91dGxpbmUsXG4gIGNoZXZyb25VcE91dGxpbmUsXG59IGZyb20gJ2lvbmljb25zL2ljb25zJztcblxuaW1wb3J0IHsgQnV0dG9uQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vYXRvbXMvYnV0dG9uL2J1dHRvbi5jb21wb25lbnQnO1xuaW1wb3J0IHsgRGlzcGxheUNvbXBvbmVudCB9IGZyb20gJy4uLy4uL2F0b21zL2Rpc3BsYXkvZGlzcGxheS5jb21wb25lbnQnO1xuaW1wb3J0IHsgVGl0bGVDb21wb25lbnQgfSBmcm9tICcuLi8uLi9hdG9tcy90aXRsZS90aXRsZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgVGV4dENvbXBvbmVudCB9IGZyb20gJy4uLy4uL2F0b21zL3RleHQvdGV4dC5jb21wb25lbnQnO1xuaW1wb3J0IHsgUGlsbENvbXBvbmVudCB9IGZyb20gJy4uLy4uL21vbGVjdWxlcy9waWxsL3BpbGwuY29tcG9uZW50JztcbmltcG9ydCB7IEVtcHR5U3RhdGVDb21wb25lbnQgfSBmcm9tICcuLi8uLi9tb2xlY3VsZXMvZW1wdHktc3RhdGUvZW1wdHktc3RhdGUuY29tcG9uZW50JztcblxuaW1wb3J0IHsgSTE4blNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9pMThuJztcbmltcG9ydCB7IEF1dGhTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvYXV0aC9hdXRoLnNlcnZpY2UnO1xuaW1wb3J0IHsgVG9hc3RTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvdG9hc3Quc2VydmljZSc7XG5pbXBvcnQgeyBWYWx0ZWNoRXJyb3JTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvZXJyb3JzL3ZhbHRlY2gtZXJyb3Iuc2VydmljZSc7XG5pbXBvcnQgeyBDb25maXJtYXRpb25EaWFsb2dTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvY29uZmlybWF0aW9uLWRpYWxvZy9jb25maXJtYXRpb24tZGlhbG9nLnNlcnZpY2UnO1xuaW1wb3J0IHsgUmJhY1NlcnZpY2UsIFJiYWNPcmdNZW1iZXIsIFJiYWNSb2xlIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvcmJhYy9yYmFjLnNlcnZpY2UnO1xuaW1wb3J0IHsgT3JnU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL29yZy9vcmcuc2VydmljZSc7XG5pbXBvcnQgeyBPcmdSb2xlIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvb3JnL3R5cGVzJztcbmltcG9ydCB7IFBlcm1pc3Npb25DYXRhbG9nU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL29yZy9wZXJtaXNzaW9uLWNhdGFsb2cuc2VydmljZSc7XG5cbmltcG9ydCB7IFJPTEVfTUFOQUdFUl9JMThOIH0gZnJvbSAnLi9yb2xlLW1hbmFnZXIuaTE4bic7XG5pbXBvcnQgeyBSb2xlTWFuYWdlckNvbmZpZyB9IGZyb20gJy4vdHlwZXMnO1xuXG5hZGRJY29ucyh7XG4gIGFkZE91dGxpbmUsXG4gIGNyZWF0ZU91dGxpbmUsXG4gIHRyYXNoT3V0bGluZSxcbiAgcGVyc29uT3V0bGluZSxcbiAgc2hpZWxkQ2hlY2ttYXJrT3V0bGluZSxcbiAgY2hldnJvbkRvd25PdXRsaW5lLFxuICBjaGV2cm9uVXBPdXRsaW5lLFxufSk7XG5cbmNvbnN0IERFRkFVTFRfTlMgPSAnU2V0dGluZ3MuUm9sZU1hbmFnZXInO1xuXG5pbnRlcmZhY2UgUm9sZUZvcm1TdGF0ZSB7XG4gIG9wZW46IGJvb2xlYW47XG4gIGVkaXRpbmc6IFJiYWNSb2xlIHwgbnVsbDtcbn1cblxuLyoqXG4gKiBgdmFsLXJvbGUtbWFuYWdlcmAg4oCUIGdlc3Rpw7NuIFJCQUMgZGUgbWllbWJyb3MgeSByb2xlcyBkZSBvcmdhbml6YWNpw7NuLlxuICpcbiAqIE11ZXN0cmEgZG9zIHNlY2Npb25lczpcbiAqIDEuICoqTWllbWJyb3MqKiDigJQgbGlzdGEgZGUgbWllbWJyb3MgY29uIHJvbGVzIGFzaWduYWRvcy4gUGVybWl0ZSBhc2lnbmFyIG9cbiAqICAgIHF1aXRhciB1biByb2wgYSBjYWRhIG1pZW1icm8gKHJlcXVpZXJlIGByYmFjOm1hbmFnZWApLlxuICogMi4gKipSb2xlcyoqIOKAlCBsaXN0YSBkZSByb2xlcyBjdXN0b20gZGUgbGEgb3JnLiBQZXJtaXRlIGNyZWFyLCBlZGl0YXIgeVxuICogICAgZWxpbWluYXIgcm9sZXMgcGVyc29uYWxpemFkb3MuXG4gKlxuICogTGVlIGVsIGBvcmdJZGAgYWN0aXZvIGRlbCBgQXV0aFNlcnZpY2VgLiBSZXF1aWVyZSBxdWUgZWwgdXN1YXJpbyB0ZW5nYVxuICogYHJiYWM6bWFuYWdlYCAoZWwgYmFja2VuZCBsbyB2ZXJpZmljYTsgdW4gNDAzIHNlIHRyYWR1Y2UgYSB1biBtZW5zYWplIGRlIGVycm9yKS5cbiAqL1xuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndmFsLXJvbGUtbWFuYWdlcicsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtcbiAgICBSZWFjdGl2ZUZvcm1zTW9kdWxlLFxuICAgIElvbkxpc3QsXG4gICAgSW9uSXRlbSxcbiAgICBJb25MYWJlbCxcbiAgICBJb25CYWRnZSxcbiAgICBJb25CdXR0b24sXG4gICAgSW9uSWNvbixcbiAgICBJb25TcGlubmVyLFxuICAgIElvbk5vdGUsXG4gICAgQnV0dG9uQ29tcG9uZW50LFxuICAgIERpc3BsYXlDb21wb25lbnQsXG4gICAgVGl0bGVDb21wb25lbnQsXG4gICAgVGV4dENvbXBvbmVudCxcbiAgICBQaWxsQ29tcG9uZW50LFxuICAgIEVtcHR5U3RhdGVDb21wb25lbnQsXG4gIF0sXG4gIHRlbXBsYXRlOiBgXG4gICAgQGlmIChsb2FkaW5nKCkpIHtcbiAgICAgIDxkaXYgY2xhc3M9XCJybS1sb2FkaW5nXCI+XG4gICAgICAgIDxpb24tc3Bpbm5lciBuYW1lPVwiY3Jlc2NlbnRcIiAvPlxuICAgICAgPC9kaXY+XG4gICAgfSBAZWxzZSBpZiAobG9hZEVycm9yKCkpIHtcbiAgICAgIDx2YWwtZW1wdHktc3RhdGVcbiAgICAgICAgW3Byb3BzXT1cIntcbiAgICAgICAgICB2YXJpYW50OiAnZXJyb3InLFxuICAgICAgICAgIHRpdGxlOiB0KCdlcnJvckxvYWQnKSxcbiAgICAgICAgICBhY3Rpb246IHsgbGFiZWw6IHQoJ3JldHJ5JyksIGhhbmRsZXI6IHJlbG9hZC5iaW5kKHRoaXMpLCBsb2FkaW5nOiBsb2FkaW5nKCkgfSxcbiAgICAgICAgfVwiXG4gICAgICAvPlxuICAgIH0gQGVsc2Uge1xuICAgICAgPCEtLSDilIDilIAgU2VjY2nDs24gTWllbWJyb3Mg4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAIC0tPlxuICAgICAgQGlmIChjZmcoKS5zaG93TWVtYmVycyAhPT0gZmFsc2UpIHtcbiAgICAgICAgPHNlY3Rpb24gY2xhc3M9XCJybS1zZWN0aW9uXCI+XG4gICAgICAgICAgPGhlYWRlciBjbGFzcz1cInJtLXNlY3Rpb25fX2hlYWRlclwiPlxuICAgICAgICAgICAgPHZhbC10aXRsZSBbcHJvcHNdPVwieyBjb250ZW50OiB0KCdtZW1iZXJzVGl0bGUnKSwgc2l6ZTogJ21lZGl1bScsIGJvbGQ6IHRydWUsIGNvbG9yOiAnJyB9XCIgLz5cbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwicm0tc2VjdGlvbl9fY291bnRcIj57eyBtZW1iZXJzKCkubGVuZ3RoIH19PC9zcGFuPlxuICAgICAgICAgIDwvaGVhZGVyPlxuXG4gICAgICAgICAgQGlmIChtZW1iZXJzKCkubGVuZ3RoID09PSAwKSB7XG4gICAgICAgICAgICA8dmFsLWVtcHR5LXN0YXRlIFtwcm9wc109XCJ7IHZhcmlhbnQ6ICdlbXB0eScsIHRpdGxlOiB0KCdub01lbWJlcnMnKSB9XCIgLz5cbiAgICAgICAgICB9IEBlbHNlIHtcbiAgICAgICAgICAgIDxpb24tbGlzdCBjbGFzcz1cInJtLWxpc3RcIiBsaW5lcz1cImZ1bGxcIj5cbiAgICAgICAgICAgICAgQGZvciAobWVtYmVyIG9mIG1lbWJlcnMoKTsgdHJhY2sgbWVtYmVyLnVzZXJJZCkge1xuICAgICAgICAgICAgICAgIDxpb24taXRlbSBjbGFzcz1cInJtLW1lbWJlci1pdGVtXCI+XG4gICAgICAgICAgICAgICAgICA8aW9uLWljb24gbmFtZT1cInBlcnNvbi1vdXRsaW5lXCIgc2xvdD1cInN0YXJ0XCIgY2xhc3M9XCJybS1tZW1iZXItaWNvblwiIC8+XG4gICAgICAgICAgICAgICAgICA8aW9uLWxhYmVsPlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicm0tbWVtYmVyLW5hbWVcIj57eyBtZW1iZXIubmFtZSB8fCBtZW1iZXIuZW1haWwgfHwgbWVtYmVyLnVzZXJJZCB9fTwvZGl2PlxuICAgICAgICAgICAgICAgICAgICBAaWYgKG1lbWJlci5uYW1lICYmIG1lbWJlci5lbWFpbCkge1xuICAgICAgICAgICAgICAgICAgICAgIDxpb24tbm90ZSBjbGFzcz1cInJtLW1lbWJlci1lbWFpbFwiPnt7IG1lbWJlci5lbWFpbCB9fTwvaW9uLW5vdGU+XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInJtLW1lbWJlci1yb2xlc1wiPlxuICAgICAgICAgICAgICAgICAgICAgIEBmb3IgKHJvbGUgb2YgbWVtYmVyLnJvbGVzOyB0cmFjayByb2xlKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICA8dmFsLXBpbGxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgW3Byb3BzXT1cIntcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBsYWJlbDogcmVzb2x2ZVJvbGVEaXNwbGF5KHJvbGUpLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiBpc1N5c3RlbVJvbGUocm9sZSkgPyAncHJpbWFyeScgOiAnc2Vjb25kYXJ5JyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaXplOiAnc21hbGwnLFxuICAgICAgICAgICAgICAgICAgICAgICAgICB9XCJcbiAgICAgICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgIEBpZiAobWVtYmVyLnJvbGVzLmxlbmd0aCA9PT0gMCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJybS1uby1yb2xlXCI+e3sgdCgnbm9Sb2xlQXNzaWduZWQnKSB9fTwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgPC9pb24tbGFiZWw+XG4gICAgICAgICAgICAgICAgICA8ZGl2IHNsb3Q9XCJlbmRcIiBjbGFzcz1cInJtLW1lbWJlci1hY3Rpb25zXCI+XG4gICAgICAgICAgICAgICAgICAgIDxpb24tYnV0dG9uXG4gICAgICAgICAgICAgICAgICAgICAgZmlsbD1cImNsZWFyXCJcbiAgICAgICAgICAgICAgICAgICAgICBzaXplPVwic21hbGxcIlxuICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJvcGVuUm9sZVNlbGVjdG9yKG1lbWJlcilcIlxuICAgICAgICAgICAgICAgICAgICAgIFtkaXNhYmxlZF09XCJwZW5kaW5nTWVtYmVyKCkgPT09IG1lbWJlci51c2VySWRcIlxuICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgQGlmIChwZW5kaW5nTWVtYmVyKCkgPT09IG1lbWJlci51c2VySWQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIDxpb24tc3Bpbm5lciBuYW1lPVwiY3Jlc2NlbnRcIiAvPlxuICAgICAgICAgICAgICAgICAgICAgIH0gQGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAge3sgdCgnYXNzaWduUm9sZScpIH19XG4gICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICA8L2lvbi1idXR0b24+XG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8L2lvbi1pdGVtPlxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICA8L2lvbi1saXN0PlxuICAgICAgICAgIH1cbiAgICAgICAgPC9zZWN0aW9uPlxuICAgICAgfVxuXG4gICAgICA8IS0tIOKUgOKUgCBTZWNjacOzbiBSb2xlcyDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIAgLS0+XG4gICAgICBAaWYgKGNmZygpLnNob3dSb2xlTWFuYWdlbWVudCAhPT0gZmFsc2UpIHtcbiAgICAgICAgPHNlY3Rpb24gY2xhc3M9XCJybS1zZWN0aW9uXCI+XG4gICAgICAgICAgPGhlYWRlciBjbGFzcz1cInJtLXNlY3Rpb25fX2hlYWRlclwiPlxuICAgICAgICAgICAgPHZhbC10aXRsZSBbcHJvcHNdPVwieyBjb250ZW50OiB0KCdyb2xlc1RpdGxlJyksIHNpemU6ICdtZWRpdW0nLCBib2xkOiB0cnVlLCBjb2xvcjogJycgfVwiIC8+XG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cInJtLXNlY3Rpb25fX2NvdW50XCI+e3sgYWxsUm9sZXMoKS5sZW5ndGggfX08L3NwYW4+XG4gICAgICAgICAgICA8aW9uLWJ1dHRvbiBmaWxsPVwiY2xlYXJcIiBzaXplPVwic21hbGxcIiBjbGFzcz1cInJtLWFkZC1idG5cIiAoY2xpY2spPVwib3Blbk5ld1JvbGUoKVwiPlxuICAgICAgICAgICAgICA8aW9uLWljb24gbmFtZT1cImFkZC1vdXRsaW5lXCIgc2xvdD1cInN0YXJ0XCIgLz5cbiAgICAgICAgICAgICAge3sgdCgnYWRkUm9sZScpIH19XG4gICAgICAgICAgICA8L2lvbi1idXR0b24+XG4gICAgICAgICAgPC9oZWFkZXI+XG5cbiAgICAgICAgICA8IS0tIOKUgOKUgCBGb3JtdWxhcmlvIGlubGluZSBkZSBjcmVhci9lZGl0YXIgcm9sIOKUgOKUgOKUgOKUgCAtLT5cbiAgICAgICAgICBAaWYgKHJvbGVGb3JtKCkub3Blbikge1xuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInJtLXJvbGUtZm9ybVwiPlxuICAgICAgICAgICAgICA8Zm9ybSBbZm9ybUdyb3VwXT1cImZvcm1cIiAobmdTdWJtaXQpPVwic2F2ZVJvbGUoKVwiPlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJybS1mb3JtLWZpZWxkXCI+XG4gICAgICAgICAgICAgICAgICA8bGFiZWwgY2xhc3M9XCJybS1sYWJlbFwiPnt7IHQoJ3JvbGVOYW1lJykgfX08L2xhYmVsPlxuICAgICAgICAgICAgICAgICAgPGlucHV0IGNsYXNzPVwicm0taW5wdXRcIiB0eXBlPVwidGV4dFwiIGZvcm1Db250cm9sTmFtZT1cIm5hbWVcIiBbcGxhY2Vob2xkZXJdPVwidCgncm9sZU5hbWUnKVwiIC8+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInJtLWZvcm0tZmllbGRcIj5cbiAgICAgICAgICAgICAgICAgIDxsYWJlbCBjbGFzcz1cInJtLWxhYmVsXCI+e3sgdCgncm9sZURlc2NyaXB0aW9uJykgfX08L2xhYmVsPlxuICAgICAgICAgICAgICAgICAgPGlucHV0XG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwicm0taW5wdXRcIlxuICAgICAgICAgICAgICAgICAgICB0eXBlPVwidGV4dFwiXG4gICAgICAgICAgICAgICAgICAgIGZvcm1Db250cm9sTmFtZT1cImRlc2NyaXB0aW9uXCJcbiAgICAgICAgICAgICAgICAgICAgW3BsYWNlaG9sZGVyXT1cInQoJ3JvbGVEZXNjcmlwdGlvbicpXCJcbiAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInJtLWZvcm0tYWN0aW9uc1wiPlxuICAgICAgICAgICAgICAgICAgPGlvbi1idXR0b25cbiAgICAgICAgICAgICAgICAgICAgdHlwZT1cInN1Ym1pdFwiXG4gICAgICAgICAgICAgICAgICAgIHNpemU9XCJzbWFsbFwiXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yPVwicHJpbWFyeVwiXG4gICAgICAgICAgICAgICAgICAgIHNoYXBlPVwicm91bmRcIlxuICAgICAgICAgICAgICAgICAgICBbZGlzYWJsZWRdPVwiZm9ybS5pbnZhbGlkIHx8IHNhdmluZygpXCJcbiAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgQGlmIChzYXZpbmcoKSkge1xuICAgICAgICAgICAgICAgICAgICAgIDxpb24tc3Bpbm5lciBuYW1lPVwiY3Jlc2NlbnRcIiAvPlxuICAgICAgICAgICAgICAgICAgICB9IEBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICB7eyB0KCdzYXZlJykgfX1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgPC9pb24tYnV0dG9uPlxuICAgICAgICAgICAgICAgICAgPGlvbi1idXR0b24gdHlwZT1cImJ1dHRvblwiIGZpbGw9XCJjbGVhclwiIHNpemU9XCJzbWFsbFwiIGNvbG9yPVwibWVkaXVtXCIgKGNsaWNrKT1cImNsb3NlUm9sZUZvcm0oKVwiPlxuICAgICAgICAgICAgICAgICAgICB7eyB0KCdjYW5jZWwnKSB9fVxuICAgICAgICAgICAgICAgICAgPC9pb24tYnV0dG9uPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8L2Zvcm0+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICB9XG5cbiAgICAgICAgICBAaWYgKGFsbFJvbGVzKCkubGVuZ3RoID09PSAwICYmICFyb2xlRm9ybSgpLm9wZW4pIHtcbiAgICAgICAgICAgIDx2YWwtZW1wdHktc3RhdGUgW3Byb3BzXT1cInsgdmFyaWFudDogJ2VtcHR5JywgdGl0bGU6IHQoJ25vUm9sZXMnKSB9XCIgLz5cbiAgICAgICAgICB9XG5cbiAgICAgICAgICA8aW9uLWxpc3QgY2xhc3M9XCJybS1saXN0XCIgbGluZXM9XCJmdWxsXCI+XG4gICAgICAgICAgICBAZm9yIChyb2xlIG9mIGFsbFJvbGVzKCk7IHRyYWNrIHJvbGUuaWQpIHtcbiAgICAgICAgICAgICAgPGlvbi1pdGVtIGNsYXNzPVwicm0tcm9sZS1pdGVtXCI+XG4gICAgICAgICAgICAgICAgPGlvbi1pY29uIG5hbWU9XCJzaGllbGQtY2hlY2ttYXJrLW91dGxpbmVcIiBzbG90PVwic3RhcnRcIiBjbGFzcz1cInJtLXJvbGUtaWNvblwiIC8+XG4gICAgICAgICAgICAgICAgPGlvbi1sYWJlbD5cbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJybS1yb2xlLW5hbWVcIj5cbiAgICAgICAgICAgICAgICAgICAge3sgcm9sZS5uYW1lIH19XG4gICAgICAgICAgICAgICAgICAgIEBpZiAocm9sZS5pc1N5c3RlbSkge1xuICAgICAgICAgICAgICAgICAgICAgIDxpb24tYmFkZ2UgY29sb3I9XCJwcmltYXJ5XCI+e3sgdCgnc3lzdGVtQmFkZ2UnKSB9fTwvaW9uLWJhZGdlPlxuICAgICAgICAgICAgICAgICAgICB9IEBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICA8aW9uLWJhZGdlIGNvbG9yPVwic2Vjb25kYXJ5XCI+e3sgdCgnY3VzdG9tQmFkZ2UnKSB9fTwvaW9uLWJhZGdlPlxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgIEBpZiAocm9sZS5kZXNjcmlwdGlvbikge1xuICAgICAgICAgICAgICAgICAgICA8aW9uLW5vdGUgY2xhc3M9XCJybS1yb2xlLWRlc2NcIj57eyByb2xlLmRlc2NyaXB0aW9uIH19PC9pb24tbm90ZT5cbiAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgIDxpb24tbm90ZSBjbGFzcz1cInJtLXJvbGUtcGVybXNcIj5cbiAgICAgICAgICAgICAgICAgICAge3sgcm9sZS5wZXJtaXNzaW9ucz8ubGVuZ3RoID8/IDAgfX0ge3sgdCgncGVybWlzc2lvbnMnKSB9fVxuICAgICAgICAgICAgICAgICAgPC9pb24tbm90ZT5cbiAgICAgICAgICAgICAgICA8L2lvbi1sYWJlbD5cbiAgICAgICAgICAgICAgICBAaWYgKCFyb2xlLmlzU3lzdGVtKSB7XG4gICAgICAgICAgICAgICAgICA8ZGl2IHNsb3Q9XCJlbmRcIiBjbGFzcz1cInJtLXJvbGUtYWN0aW9uc1wiPlxuICAgICAgICAgICAgICAgICAgICA8aW9uLWJ1dHRvbiBmaWxsPVwiY2xlYXJcIiBzaXplPVwic21hbGxcIiAoY2xpY2spPVwib3BlbkVkaXRSb2xlKHJvbGUpXCI+XG4gICAgICAgICAgICAgICAgICAgICAgPGlvbi1pY29uIG5hbWU9XCJjcmVhdGUtb3V0bGluZVwiIHNsb3Q9XCJpY29uLW9ubHlcIiAvPlxuICAgICAgICAgICAgICAgICAgICA8L2lvbi1idXR0b24+XG4gICAgICAgICAgICAgICAgICAgIDxpb24tYnV0dG9uIGZpbGw9XCJjbGVhclwiIHNpemU9XCJzbWFsbFwiIGNvbG9yPVwiZGFuZ2VyXCIgKGNsaWNrKT1cImNvbmZpcm1EZWxldGVSb2xlKHJvbGUpXCI+XG4gICAgICAgICAgICAgICAgICAgICAgPGlvbi1pY29uIG5hbWU9XCJ0cmFzaC1vdXRsaW5lXCIgc2xvdD1cImljb24tb25seVwiIC8+XG4gICAgICAgICAgICAgICAgICAgIDwvaW9uLWJ1dHRvbj5cbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgPC9pb24taXRlbT5cbiAgICAgICAgICAgIH1cbiAgICAgICAgICA8L2lvbi1saXN0PlxuICAgICAgICA8L3NlY3Rpb24+XG4gICAgICB9XG4gICAgfVxuXG4gICAgPCEtLSDilIDilIAgUm9sZSBzZWxlY3RvciBzaGVldCDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIAgLS0+XG4gICAgQGlmIChyb2xlU2VsZWN0b3JNZW1iZXIoKSkge1xuICAgICAgPGRpdiBjbGFzcz1cInJtLXJvbGUtb3ZlcmxheVwiIChjbGljayk9XCJjbG9zZVJvbGVTZWxlY3RvcigpXCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJybS1yb2xlLXNoZWV0XCIgKGNsaWNrKT1cIiRldmVudC5zdG9wUHJvcGFnYXRpb24oKVwiPlxuICAgICAgICAgIDx2YWwtdGl0bGUgW3Byb3BzXT1cInsgY29udGVudDogdCgnc2VsZWN0Um9sZScpLCBzaXplOiAnbWVkaXVtJywgYm9sZDogdHJ1ZSwgY29sb3I6ICcnIH1cIiAvPlxuICAgICAgICAgIDxpb24tbGlzdCBsaW5lcz1cImZ1bGxcIiBjbGFzcz1cInJtLXNoZWV0LWxpc3RcIj5cbiAgICAgICAgICAgIEBmb3IgKHJvbGUgb2YgYWxsUm9sZXMoKTsgdHJhY2sgcm9sZS5pZCkge1xuICAgICAgICAgICAgICA8aW9uLWl0ZW0gYnV0dG9uIGRldGFpbD1cImZhbHNlXCIgKGNsaWNrKT1cIm9uUm9sZVNlbGVjdGVkKHJvbGVTZWxlY3Rvck1lbWJlcigpISwgcm9sZS5uYW1lKVwiPlxuICAgICAgICAgICAgICAgIDxpb24taWNvbiBuYW1lPVwic2hpZWxkLWNoZWNrbWFyay1vdXRsaW5lXCIgc2xvdD1cInN0YXJ0XCIgLz5cbiAgICAgICAgICAgICAgICA8aW9uLWxhYmVsPnt7IHJvbGUubmFtZSB9fTwvaW9uLWxhYmVsPlxuICAgICAgICAgICAgICAgIEBpZiAocm9sZVNlbGVjdG9yTWVtYmVyKCkhLnJvbGVzLmluY2x1ZGVzKHJvbGUubmFtZSkpIHtcbiAgICAgICAgICAgICAgICAgIDxpb24tYmFkZ2UgY29sb3I9XCJwcmltYXJ5XCIgc2xvdD1cImVuZFwiPuKckzwvaW9uLWJhZGdlPlxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgPC9pb24taXRlbT5cbiAgICAgICAgICAgIH1cbiAgICAgICAgICA8L2lvbi1saXN0PlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJybS1zaGVldC1mb290ZXJcIj5cbiAgICAgICAgICAgIDxpb24tYnV0dG9uIGZpbGw9XCJjbGVhclwiIGNvbG9yPVwibWVkaXVtXCIgZXhwYW5kPVwiYmxvY2tcIiAoY2xpY2spPVwiY2xvc2VSb2xlU2VsZWN0b3IoKVwiPlxuICAgICAgICAgICAgICB7eyB0KCdjYW5jZWwnKSB9fVxuICAgICAgICAgICAgPC9pb24tYnV0dG9uPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgIH1cbiAgYCxcbiAgc3R5bGVzOiBbXG4gICAgYFxuICAgICAgOmhvc3Qge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIH1cblxuICAgICAgLnJtLWxvYWRpbmcge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgcGFkZGluZzogMnJlbSAwO1xuICAgICAgfVxuXG4gICAgICAucm0tc2VjdGlvbiB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDJyZW07XG4gICAgICB9XG5cbiAgICAgIC5ybS1zZWN0aW9uX19oZWFkZXIge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBnYXA6IDAuNXJlbTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMC43NXJlbTtcbiAgICAgIH1cblxuICAgICAgLnJtLXNlY3Rpb25fX2NvdW50IHtcbiAgICAgICAgZm9udC1zaXplOiAwLjc1cmVtO1xuICAgICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1pb24tY29sb3ItbWVkaXVtLXRpbnQsICNlZWUpO1xuICAgICAgICBjb2xvcjogdmFyKC0taW9uLWNvbG9yLWRhcmstc2hhZGUsICM1NTUpO1xuICAgICAgICBib3JkZXItcmFkaXVzOiA5OTk5cHg7XG4gICAgICAgIHBhZGRpbmc6IDJweCA4cHg7XG4gICAgICB9XG5cbiAgICAgIC5ybS1hZGQtYnRuIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgICB9XG5cbiAgICAgIC5ybS1saXN0IHtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMTJweDtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgYmFja2dyb3VuZDogdmFyKC0taW9uLWNhcmQtYmFja2dyb3VuZCwgdmFyKC0taW9uLWJhY2tncm91bmQtY29sb3IpKTtcbiAgICAgICAgYm94LXNoYWRvdzogMCAxcHggNHB4IHJnYmEoMCwgMCwgMCwgMC4wNik7XG4gICAgICB9XG5cbiAgICAgIC5ybS1tZW1iZXItaXRlbSxcbiAgICAgIC5ybS1yb2xlLWl0ZW0ge1xuICAgICAgICAtLXBhZGRpbmctc3RhcnQ6IDFyZW07XG4gICAgICAgIC0taW5uZXItcGFkZGluZy1lbmQ6IDAuNXJlbTtcbiAgICAgIH1cblxuICAgICAgLnJtLW1lbWJlci1pY29uLFxuICAgICAgLnJtLXJvbGUtaWNvbiB7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1pb24tY29sb3ItZGFyaywgIzkyOTQ5Yyk7XG4gICAgICAgIGZvbnQtc2l6ZTogMS4yNXJlbTtcbiAgICAgIH1cblxuICAgICAgLnJtLW1lbWJlci1uYW1lLFxuICAgICAgLnJtLXJvbGUtbmFtZSB7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICAgIGZvbnQtc2l6ZTogMC45Mzc1cmVtO1xuICAgICAgICBjb2xvcjogdmFyKC0taW9uLXRleHQtY29sb3IpO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBnYXA6IDAuMzc1cmVtO1xuICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICB9XG5cbiAgICAgIC5ybS1tZW1iZXItZW1haWwsXG4gICAgICAucm0tcm9sZS1kZXNjLFxuICAgICAgLnJtLXJvbGUtcGVybXMge1xuICAgICAgICBmb250LXNpemU6IDAuODEyNXJlbTtcbiAgICAgICAgY29sb3I6IHZhcigtLWlvbi1jb2xvci1kYXJrLCAjOTI5NDljKTtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIG1hcmdpbi10b3A6IDJweDtcbiAgICAgIH1cblxuICAgICAgLnJtLW1lbWJlci1yb2xlcyB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgICAgZ2FwOiA0cHg7XG4gICAgICAgIG1hcmdpbi10b3A6IDRweDtcbiAgICAgIH1cblxuICAgICAgLnJtLW5vLXJvbGUge1xuICAgICAgICBmb250LXNpemU6IDAuODEyNXJlbTtcbiAgICAgICAgY29sb3I6IHZhcigtLWlvbi1jb2xvci1kYXJrLCAjOTI5NDljKTtcbiAgICAgIH1cblxuICAgICAgLnJtLW1lbWJlci1hY3Rpb25zLFxuICAgICAgLnJtLXJvbGUtYWN0aW9ucyB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGdhcDogMnB4O1xuICAgICAgfVxuXG4gICAgICAvKiDilIDilIAgUm9sZSBmb3JtIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgCAqL1xuICAgICAgLnJtLXJvbGUtZm9ybSB7XG4gICAgICAgIGJhY2tncm91bmQ6IHZhcigtLWlvbi1jYXJkLWJhY2tncm91bmQsIHZhcigtLWlvbi1iYWNrZ3JvdW5kLWNvbG9yKSk7XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWlvbi1ib3JkZXItY29sb3IsIHJnYmEoMCwgMCwgMCwgMC4xKSk7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDEycHg7XG4gICAgICAgIHBhZGRpbmc6IDFyZW07XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDAuNzVyZW07XG4gICAgICB9XG5cbiAgICAgIC5ybS1mb3JtLWZpZWxkIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMC43NXJlbTtcbiAgICAgIH1cblxuICAgICAgLnJtLWxhYmVsIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGZvbnQtc2l6ZTogMC44MTI1cmVtO1xuICAgICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgICBjb2xvcjogdmFyKC0taW9uLWNvbG9yLWRhcmstc2hhZGUsICM1NTUpO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiA0cHg7XG4gICAgICB9XG5cbiAgICAgIC5ybS1pbnB1dCB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBwYWRkaW5nOiAwLjVyZW0gMC43NXJlbTtcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0taW9uLWJvcmRlci1jb2xvciwgcmdiYSgwLCAwLCAwLCAwLjEyKSk7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDhweDtcbiAgICAgICAgZm9udC1zaXplOiAwLjkzNzVyZW07XG4gICAgICAgIGNvbG9yOiB2YXIoLS1pb24tdGV4dC1jb2xvcik7XG4gICAgICAgIGJhY2tncm91bmQ6IHZhcigtLWlvbi1iYWNrZ3JvdW5kLWNvbG9yKTtcbiAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgICAgb3V0bGluZTogbm9uZTtcbiAgICAgIH1cblxuICAgICAgLnJtLWlucHV0OmZvY3VzIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1pb24tY29sb3ItcHJpbWFyeSwgIzM4ODBmZik7XG4gICAgICB9XG5cbiAgICAgIC5ybS1mb3JtLWFjdGlvbnMge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBnYXA6IDAuNXJlbTtcbiAgICAgICAgbWFyZ2luLXRvcDogMC41cmVtO1xuICAgICAgfVxuXG4gICAgICAvKiDilIDilIAgUm9sZSBzZWxlY3RvciBvdmVybGF5IOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgCAqL1xuICAgICAgLnJtLXJvbGUtb3ZlcmxheSB7XG4gICAgICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICAgICAgaW5zZXQ6IDA7XG4gICAgICAgIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC4zNSk7XG4gICAgICAgIHotaW5kZXg6IDUwMDtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtZW5kO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgIH1cblxuICAgICAgLnJtLXJvbGUtc2hlZXQge1xuICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1pb24tY2FyZC1iYWNrZ3JvdW5kLCB2YXIoLS1pb24tYmFja2dyb3VuZC1jb2xvcikpO1xuICAgICAgICBib3JkZXItcmFkaXVzOiAxNnB4IDE2cHggMCAwO1xuICAgICAgICBwYWRkaW5nOiAxLjI1cmVtIDFyZW0gMXJlbTtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIG1heC13aWR0aDogNDgwcHg7XG4gICAgICAgIG1heC1oZWlnaHQ6IDcwdmg7XG4gICAgICAgIG92ZXJmbG93LXk6IGF1dG87XG4gICAgICB9XG5cbiAgICAgIC5ybS1zaGVldC1saXN0IHtcbiAgICAgICAgbWFyZ2luLXRvcDogMC43NXJlbTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMTJweDtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgIH1cblxuICAgICAgLnJtLXNoZWV0LWZvb3RlciB7XG4gICAgICAgIG1hcmdpbi10b3A6IDAuNXJlbTtcbiAgICAgIH1cbiAgICBgLFxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBSb2xlTWFuYWdlckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIEBJbnB1dCgpIGNvbmZpZz86IFJvbGVNYW5hZ2VyQ29uZmlnO1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgaTE4biA9IGluamVjdChJMThuU2VydmljZSk7XG4gIHByaXZhdGUgcmVhZG9ubHkgYXV0aCA9IGluamVjdChBdXRoU2VydmljZSk7XG4gIHByaXZhdGUgcmVhZG9ubHkgcmJhYyA9IGluamVjdChSYmFjU2VydmljZSk7XG4gIHByaXZhdGUgcmVhZG9ubHkgb3JnID0gaW5qZWN0KE9yZ1NlcnZpY2UpO1xuICBwcml2YXRlIHJlYWRvbmx5IGNhdGFsb2cgPSBpbmplY3QoUGVybWlzc2lvbkNhdGFsb2dTZXJ2aWNlKTtcbiAgcHJpdmF0ZSByZWFkb25seSB0b2FzdCA9IGluamVjdChUb2FzdFNlcnZpY2UpO1xuICBwcml2YXRlIHJlYWRvbmx5IGVycm9ycyA9IGluamVjdChWYWx0ZWNoRXJyb3JTZXJ2aWNlKTtcbiAgcHJpdmF0ZSByZWFkb25seSBjb25maXJtID0gaW5qZWN0KENvbmZpcm1hdGlvbkRpYWxvZ1NlcnZpY2UpO1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgbnMgPSBjb21wdXRlZCgoKSA9PiB0aGlzLmNvbmZpZz8uaTE4bk5hbWVzcGFjZSA/PyBERUZBVUxUX05TKTtcblxuICByZWFkb25seSBsb2FkaW5nID0gc2lnbmFsKHRydWUpO1xuICByZWFkb25seSBzYXZpbmcgPSBzaWduYWwoZmFsc2UpO1xuICByZWFkb25seSBsb2FkRXJyb3IgPSBzaWduYWw8dW5rbm93biB8IG51bGw+KG51bGwpO1xuICByZWFkb25seSBtZW1iZXJzID0gc2lnbmFsPFJiYWNPcmdNZW1iZXJbXT4oW10pO1xuICByZWFkb25seSBhbGxSb2xlcyA9IHNpZ25hbDxSYmFjUm9sZVtdPihbXSk7XG4gIHJlYWRvbmx5IHBlbmRpbmdNZW1iZXIgPSBzaWduYWw8c3RyaW5nIHwgbnVsbD4obnVsbCk7XG4gIHJlYWRvbmx5IHJvbGVTZWxlY3Rvck1lbWJlciA9IHNpZ25hbDxSYmFjT3JnTWVtYmVyIHwgbnVsbD4obnVsbCk7XG4gIHJlYWRvbmx5IHJvbGVGb3JtID0gc2lnbmFsPFJvbGVGb3JtU3RhdGU+KHsgb3BlbjogZmFsc2UsIGVkaXRpbmc6IG51bGwgfSk7XG5cbiAgcmVhZG9ubHkgZm9ybSA9IG5ldyBGb3JtR3JvdXAoe1xuICAgIG5hbWU6IG5ldyBGb3JtQ29udHJvbCgnJywgVmFsaWRhdG9ycy5yZXF1aXJlZCksXG4gICAgZGVzY3JpcHRpb246IG5ldyBGb3JtQ29udHJvbCgnJyksXG4gIH0pO1xuXG4gIHJlYWRvbmx5IGNmZyA9IGNvbXB1dGVkKCgpID0+IHRoaXMuY29uZmlnID8/IHt9KTtcblxuICBwcml2YXRlIGdldCBvcmdJZCgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLmF1dGgudXNlcigpPy5hY3RpdmVPcmcgPz8gJyc7XG4gIH1cblxuICBjb25zdHJ1Y3RvcigpIHtcbiAgICBjb25zdCBucyA9IERFRkFVTFRfTlM7XG4gICAgaWYgKCF0aGlzLmkxOG4uaGFzTmFtZXNwYWNlKG5zKSkge1xuICAgICAgdGhpcy5pMThuLnJlZ2lzdGVyQ29udGVudChucywgUk9MRV9NQU5BR0VSX0kxOE4pO1xuICAgIH1cbiAgfVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHZvaWQgdGhpcy5sb2FkKCk7XG4gIH1cblxuICB0KGtleTogc3RyaW5nKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5pMThuLnQoa2V5LCB0aGlzLm5zKCkpO1xuICB9XG5cbiAgYXN5bmMgbG9hZCgpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBjb25zdCBvcmdJZCA9IHRoaXMub3JnSWQ7XG4gICAgaWYgKCFvcmdJZCkgcmV0dXJuO1xuICAgIHRoaXMubG9hZGluZy5zZXQodHJ1ZSk7XG4gICAgdGhpcy5sb2FkRXJyb3Iuc2V0KG51bGwpO1xuICAgIHRyeSB7XG4gICAgICBjb25zdCBbbWVtYmVyc1Jlcywgcm9sZXNSZXNdID0gYXdhaXQgZmlyc3RWYWx1ZUZyb20oXG4gICAgICAgIGZvcmtKb2luKFt0aGlzLnJiYWMuZ2V0T3JnTWVtYmVycyhvcmdJZCwgeyBsaW1pdDogNTAgfSksIHRoaXMucmJhYy5saXN0Um9sZXMob3JnSWQsIHsgbGltaXQ6IDEwMCB9KV0pXG4gICAgICApO1xuICAgICAgdGhpcy5tZW1iZXJzLnNldChtZW1iZXJzUmVzLm1lbWJlcnMpO1xuICAgICAgdGhpcy5hbGxSb2xlcy5zZXQocm9sZXNSZXMucm9sZXMpO1xuICAgIH0gY2F0Y2ggKGVycikge1xuICAgICAgdGhpcy5sb2FkRXJyb3Iuc2V0KGVycik7XG4gICAgfSBmaW5hbGx5IHtcbiAgICAgIHRoaXMubG9hZGluZy5zZXQoZmFsc2UpO1xuICAgIH1cbiAgfVxuXG4gIHJlbG9hZCgpOiB2b2lkIHtcbiAgICB2b2lkIHRoaXMubG9hZCgpO1xuICB9XG5cbiAgLy8g4pSA4pSAIFJvbGUgbGFiZWwgaGVscGVycyDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIBcblxuICByZXNvbHZlUm9sZURpc3BsYXkocm9sZU5hbWU6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgY29uc3QgZm91bmQgPSB0aGlzLmFsbFJvbGVzKCkuZmluZChyID0+IHIubmFtZSA9PT0gcm9sZU5hbWUpO1xuICAgIHJldHVybiBmb3VuZCA/IGZvdW5kLm5hbWUgOiByb2xlTmFtZTtcbiAgfVxuXG4gIGlzU3lzdGVtUm9sZShyb2xlTmFtZTogc3RyaW5nKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuYWxsUm9sZXMoKS5maW5kKHIgPT4gci5uYW1lID09PSByb2xlTmFtZSk/LmlzU3lzdGVtID8/IGZhbHNlO1xuICB9XG5cbiAgLy8g4pSA4pSAIFJvbGUgc2VsZWN0b3IgKGFzc2lnbi9yZXZva2UpIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxuXG4gIG9wZW5Sb2xlU2VsZWN0b3IobWVtYmVyOiBSYmFjT3JnTWVtYmVyKTogdm9pZCB7XG4gICAgdGhpcy5yb2xlU2VsZWN0b3JNZW1iZXIuc2V0KG1lbWJlcik7XG4gIH1cblxuICBjbG9zZVJvbGVTZWxlY3RvcigpOiB2b2lkIHtcbiAgICB0aGlzLnJvbGVTZWxlY3Rvck1lbWJlci5zZXQobnVsbCk7XG4gIH1cblxuICBhc3luYyBvblJvbGVTZWxlY3RlZChtZW1iZXI6IFJiYWNPcmdNZW1iZXIsIHJvbGVOYW1lOiBzdHJpbmcpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICB0aGlzLmNsb3NlUm9sZVNlbGVjdG9yKCk7XG4gICAgY29uc3Qgb3JnSWQgPSB0aGlzLm9yZ0lkO1xuICAgIGNvbnN0IGFscmVhZHlIYXMgPSBtZW1iZXIucm9sZXMuaW5jbHVkZXMocm9sZU5hbWUpO1xuICAgIHRoaXMucGVuZGluZ01lbWJlci5zZXQobWVtYmVyLnVzZXJJZCk7XG4gICAgdHJ5IHtcbiAgICAgIGlmIChhbHJlYWR5SGFzKSB7XG4gICAgICAgIGF3YWl0IGZpcnN0VmFsdWVGcm9tKHRoaXMucmJhYy5yZXZva2VSb2xlKHsgdXNlcklkOiBtZW1iZXIudXNlcklkLCBvcmdJZCwgcm9sZU5hbWUgfSkpO1xuICAgICAgICB0aGlzLnRvYXN0LnNob3coeyBtZXNzYWdlOiB0aGlzLnQoJ3JvbGVSZXZva2VkJyksIGNvbG9yOiAnZGFyaycsIGR1cmF0aW9uOiAyMDAwIH0pO1xuICAgICAgICB0aGlzLm1lbWJlcnMudXBkYXRlKGxpc3QgPT5cbiAgICAgICAgICBsaXN0Lm1hcChtID0+IChtLnVzZXJJZCA9PT0gbWVtYmVyLnVzZXJJZCA/IHsgLi4ubSwgcm9sZXM6IG0ucm9sZXMuZmlsdGVyKHIgPT4gciAhPT0gcm9sZU5hbWUpIH0gOiBtKSlcbiAgICAgICAgKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGF3YWl0IGZpcnN0VmFsdWVGcm9tKHRoaXMucmJhYy5hc3NpZ25Sb2xlKHsgdXNlcklkOiBtZW1iZXIudXNlcklkLCBvcmdJZCwgcm9sZU5hbWUgfSkpO1xuICAgICAgICB0aGlzLnRvYXN0LnNob3coeyBtZXNzYWdlOiB0aGlzLnQoJ3JvbGVBc3NpZ25lZCcpLCBjb2xvcjogJ2RhcmsnLCBkdXJhdGlvbjogMjAwMCB9KTtcbiAgICAgICAgdGhpcy5tZW1iZXJzLnVwZGF0ZShsaXN0ID0+XG4gICAgICAgICAgbGlzdC5tYXAobSA9PiAobS51c2VySWQgPT09IG1lbWJlci51c2VySWQgPyB7IC4uLm0sIHJvbGVzOiBbLi4ubS5yb2xlcywgcm9sZU5hbWVdIH0gOiBtKSlcbiAgICAgICAgKTtcbiAgICAgIH1cbiAgICB9IGNhdGNoIChlcnIpIHtcbiAgICAgIHRoaXMuZXJyb3JzLmhhbmRsZShlcnIsIHtcbiAgICAgICAgY29udGV4dDogJ3JvbGUtbWFuYWdlci5hc3NpZ25SZXZva2UnLFxuICAgICAgICBmYWxsYmFja0tleTogYWxyZWFkeUhhcyA/ICdlcnJvclJldm9rZScgOiAnZXJyb3JBc3NpZ24nLFxuICAgICAgICBpMThuTmFtZXNwYWNlOiB0aGlzLm5zKCksXG4gICAgICB9KTtcbiAgICB9IGZpbmFsbHkge1xuICAgICAgdGhpcy5wZW5kaW5nTWVtYmVyLnNldChudWxsKTtcbiAgICB9XG4gIH1cblxuICAvLyDilIDilIAgUm9sZSBDUlVEIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxuXG4gIG9wZW5OZXdSb2xlKCk6IHZvaWQge1xuICAgIHRoaXMuZm9ybS5yZXNldCgpO1xuICAgIHRoaXMucm9sZUZvcm0uc2V0KHsgb3BlbjogdHJ1ZSwgZWRpdGluZzogbnVsbCB9KTtcbiAgfVxuXG4gIG9wZW5FZGl0Um9sZShyb2xlOiBSYmFjUm9sZSk6IHZvaWQge1xuICAgIHRoaXMuZm9ybS5wYXRjaFZhbHVlKHsgbmFtZTogcm9sZS5uYW1lLCBkZXNjcmlwdGlvbjogcm9sZS5kZXNjcmlwdGlvbiA/PyAnJyB9KTtcbiAgICB0aGlzLnJvbGVGb3JtLnNldCh7IG9wZW46IHRydWUsIGVkaXRpbmc6IHJvbGUgfSk7XG4gIH1cblxuICBjbG9zZVJvbGVGb3JtKCk6IHZvaWQge1xuICAgIHRoaXMucm9sZUZvcm0uc2V0KHsgb3BlbjogZmFsc2UsIGVkaXRpbmc6IG51bGwgfSk7XG4gICAgdGhpcy5mb3JtLnJlc2V0KCk7XG4gIH1cblxuICBhc3luYyBzYXZlUm9sZSgpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBpZiAodGhpcy5mb3JtLmludmFsaWQpIHJldHVybjtcbiAgICBjb25zdCBvcmdJZCA9IHRoaXMub3JnSWQ7XG4gICAgY29uc3QgZWRpdGluZyA9IHRoaXMucm9sZUZvcm0oKS5lZGl0aW5nO1xuICAgIGNvbnN0IG5hbWUgPSB0aGlzLmZvcm0udmFsdWUubmFtZSE7XG4gICAgY29uc3QgZGVzY3JpcHRpb24gPSB0aGlzLmZvcm0udmFsdWUuZGVzY3JpcHRpb24gPz8gJyc7XG4gICAgdGhpcy5zYXZpbmcuc2V0KHRydWUpO1xuICAgIHRyeSB7XG4gICAgICBpZiAoZWRpdGluZykge1xuICAgICAgICBjb25zdCB1cGRhdGVkID0gYXdhaXQgZmlyc3RWYWx1ZUZyb20odGhpcy5yYmFjLnVwZGF0ZVJvbGUoeyBvcmdJZCwgcm9sZUlkOiBlZGl0aW5nLmlkLCBuYW1lLCBkZXNjcmlwdGlvbiB9KSk7XG4gICAgICAgIHRoaXMuYWxsUm9sZXMudXBkYXRlKGxpc3QgPT4gbGlzdC5tYXAociA9PiAoci5pZCA9PT0gZWRpdGluZy5pZCA/IHVwZGF0ZWQgOiByKSkpO1xuICAgICAgICB0aGlzLnRvYXN0LnNob3coeyBtZXNzYWdlOiB0aGlzLnQoJ3JvbGVVcGRhdGVkJyksIGNvbG9yOiAnZGFyaycsIGR1cmF0aW9uOiAyMDAwIH0pO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgY29uc3QgY3JlYXRlZCA9IGF3YWl0IGZpcnN0VmFsdWVGcm9tKHRoaXMucmJhYy5jcmVhdGVSb2xlKHsgb3JnSWQsIG5hbWUsIGRlc2NyaXB0aW9uLCBwZXJtaXNzaW9uczogW10gfSkpO1xuICAgICAgICB0aGlzLmFsbFJvbGVzLnVwZGF0ZShsaXN0ID0+IFsuLi5saXN0LCBjcmVhdGVkXSk7XG4gICAgICAgIHRoaXMudG9hc3Quc2hvdyh7IG1lc3NhZ2U6IHRoaXMudCgncm9sZUNyZWF0ZWQnKSwgY29sb3I6ICdkYXJrJywgZHVyYXRpb246IDIwMDAgfSk7XG4gICAgICB9XG4gICAgICB0aGlzLmNsb3NlUm9sZUZvcm0oKTtcbiAgICB9IGNhdGNoIChlcnIpIHtcbiAgICAgIHRoaXMuZXJyb3JzLmhhbmRsZShlcnIsIHtcbiAgICAgICAgY29udGV4dDogJ3JvbGUtbWFuYWdlci5zYXZlUm9sZScsXG4gICAgICAgIGZhbGxiYWNrS2V5OiAnZXJyb3JTYXZlJyxcbiAgICAgICAgaTE4bk5hbWVzcGFjZTogdGhpcy5ucygpLFxuICAgICAgfSk7XG4gICAgfSBmaW5hbGx5IHtcbiAgICAgIHRoaXMuc2F2aW5nLnNldChmYWxzZSk7XG4gICAgfVxuICB9XG5cbiAgYXN5bmMgY29uZmlybURlbGV0ZVJvbGUocm9sZTogUmJhY1JvbGUpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBjb25zdCB7IGNvbmZpcm1lZCB9ID0gYXdhaXQgdGhpcy5jb25maXJtLmNvbmZpcm1EZXN0cnVjdGl2ZSh7XG4gICAgICB0aXRsZTogcm9sZS5uYW1lLFxuICAgICAgbWVzc2FnZTogdGhpcy50KCdkZWxldGVSb2xlQ29uZmlybScpLFxuICAgICAgY29uZmlybUJ1dHRvbjogeyB0ZXh0OiB0aGlzLnQoJ2RlbGV0ZVJvbGVDb25maXJtQnRuJykgfSxcbiAgICB9KTtcbiAgICBpZiAoIWNvbmZpcm1lZCkgcmV0dXJuO1xuICAgIGNvbnN0IG9yZ0lkID0gdGhpcy5vcmdJZDtcbiAgICB0cnkge1xuICAgICAgYXdhaXQgZmlyc3RWYWx1ZUZyb20odGhpcy5yYmFjLmRlbGV0ZVJvbGUoeyBvcmdJZCwgcm9sZUlkOiByb2xlLmlkIH0pKTtcbiAgICAgIHRoaXMuYWxsUm9sZXMudXBkYXRlKGxpc3QgPT4gbGlzdC5maWx0ZXIociA9PiByLmlkICE9PSByb2xlLmlkKSk7XG4gICAgICB0aGlzLnRvYXN0LnNob3coeyBtZXNzYWdlOiB0aGlzLnQoJ3JvbGVEZWxldGVkJyksIGNvbG9yOiAnZGFyaycsIGR1cmF0aW9uOiAyMDAwIH0pO1xuICAgIH0gY2F0Y2ggKGVycikge1xuICAgICAgdGhpcy5lcnJvcnMuaGFuZGxlKGVyciwge1xuICAgICAgICBjb250ZXh0OiAncm9sZS1tYW5hZ2VyLmRlbGV0ZVJvbGUnLFxuICAgICAgICBmYWxsYmFja0tleTogJ2Vycm9yRGVsZXRlJyxcbiAgICAgICAgaTE4bk5hbWVzcGFjZTogdGhpcy5ucygpLFxuICAgICAgfSk7XG4gICAgfVxuICB9XG59XG4iXX0=
@@ -137,7 +137,7 @@ export class RotatingTextComponent {
137
137
  ></div>
138
138
  </div>
139
139
  </div>
140
- `, isInline: true, styles: [".rotating-banner{text-align:center;padding:2rem 1rem;min-height:120px;display:flex;flex-direction:column;justify-content:center;align-items:center}.rotating-text{position:relative;overflow:hidden}.rotating-text .above-title{font-size:1.125rem;margin-bottom:.75rem;font-family:monospace}.rotating-text .title{font-size:2rem;font-weight:900}.text-enter{animation:textEnter .6s ease-out forwards}.text-exit{animation:textExit .4s ease-in forwards}@keyframes textEnter{0%{opacity:0;transform:translateY(20px) scale(.95);filter:blur(4px)}to{opacity:1;transform:translateY(0) scale(1);filter:blur(0)}}@keyframes textExit{0%{opacity:1;transform:translateY(0) scale(1);filter:blur(0)}to{opacity:0;transform:translateY(-20px) scale(.95);filter:blur(4px)}}.progress-dots{display:flex;gap:8px;margin-top:1.5rem}.progress-dot{width:8px;height:8px;border-radius:50%;background:var(--ion-color-dark-tint);transition:all .3s ease;cursor:pointer}.progress-dot.active{background:var(--ion-color-dark);transform:scale(1.3)}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }] }); }
140
+ `, isInline: true, styles: [".rotating-banner{text-align:center;padding:2rem 1rem;min-height:120px;display:flex;flex-direction:column;justify-content:center;align-items:center}.rotating-text{position:relative;overflow:hidden}.rotating-text .above-title{font-size:1.125rem;margin-bottom:.75rem;font-family:monospace}.rotating-text .title{font-size:2rem;font-weight:900}.text-enter{animation:textEnter .6s ease-out forwards}.text-exit{animation:textExit .4s ease-in forwards}@keyframes textEnter{0%{opacity:0;transform:translateY(20px) scale(.95);filter:blur(4px)}to{opacity:1;transform:translateY(0) scale(1);filter:blur(0)}}@keyframes textExit{0%{opacity:1;transform:translateY(0) scale(1);filter:blur(0)}to{opacity:0;transform:translateY(-20px) scale(.95);filter:blur(4px)}}.progress-dots{display:flex;gap:8px;margin-top:1.5rem}.progress-dot{width:8px;height:8px;border-radius:50%;background:var(--ion-color-medium-tint);transition:all .3s ease;cursor:pointer}.progress-dot.active{background:var(--ion-color-dark);transform:scale(1.3)}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }] }); }
141
141
  }
142
142
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: RotatingTextComponent, decorators: [{
143
143
  type: Component,
@@ -173,8 +173,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
173
173
  ></div>
174
174
  </div>
175
175
  </div>
176
- `, styles: [".rotating-banner{text-align:center;padding:2rem 1rem;min-height:120px;display:flex;flex-direction:column;justify-content:center;align-items:center}.rotating-text{position:relative;overflow:hidden}.rotating-text .above-title{font-size:1.125rem;margin-bottom:.75rem;font-family:monospace}.rotating-text .title{font-size:2rem;font-weight:900}.text-enter{animation:textEnter .6s ease-out forwards}.text-exit{animation:textExit .4s ease-in forwards}@keyframes textEnter{0%{opacity:0;transform:translateY(20px) scale(.95);filter:blur(4px)}to{opacity:1;transform:translateY(0) scale(1);filter:blur(0)}}@keyframes textExit{0%{opacity:1;transform:translateY(0) scale(1);filter:blur(0)}to{opacity:0;transform:translateY(-20px) scale(.95);filter:blur(4px)}}.progress-dots{display:flex;gap:8px;margin-top:1.5rem}.progress-dot{width:8px;height:8px;border-radius:50%;background:var(--ion-color-dark-tint);transition:all .3s ease;cursor:pointer}.progress-dot.active{background:var(--ion-color-dark);transform:scale(1.3)}\n"] }]
176
+ `, styles: [".rotating-banner{text-align:center;padding:2rem 1rem;min-height:120px;display:flex;flex-direction:column;justify-content:center;align-items:center}.rotating-text{position:relative;overflow:hidden}.rotating-text .above-title{font-size:1.125rem;margin-bottom:.75rem;font-family:monospace}.rotating-text .title{font-size:2rem;font-weight:900}.text-enter{animation:textEnter .6s ease-out forwards}.text-exit{animation:textExit .4s ease-in forwards}@keyframes textEnter{0%{opacity:0;transform:translateY(20px) scale(.95);filter:blur(4px)}to{opacity:1;transform:translateY(0) scale(1);filter:blur(0)}}@keyframes textExit{0%{opacity:1;transform:translateY(0) scale(1);filter:blur(0)}to{opacity:0;transform:translateY(-20px) scale(.95);filter:blur(4px)}}.progress-dots{display:flex;gap:8px;margin-top:1.5rem}.progress-dot{width:8px;height:8px;border-radius:50%;background:var(--ion-color-medium-tint);transition:all .3s ease;cursor:pointer}.progress-dot.active{background:var(--ion-color-dark);transform:scale(1.3)}\n"] }]
177
177
  }], propDecorators: { props: [{
178
178
  type: Input
179
179
  }] } });
180
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm90YXRpbmctdGV4dC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvbXBvbmVudHMvb3JnYW5pc21zL3JvdGF0aW5nLXRleHQvcm90YXRpbmctdGV4dC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFxQixNQUFNLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7QUFHdEY7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FtQkc7QUEwSEgsTUFBTSxPQUFPLHFCQUFxQjtJQXpIbEM7UUEwSFUsZUFBVSxHQUEwQyxJQUFJLENBQUM7UUFFakU7O1dBRUc7UUFDTSxVQUFLLEdBQXlCO1lBQ3JDLFFBQVEsRUFBRSxFQUFFO1lBQ1osUUFBUSxFQUFFLElBQUk7WUFDZCxRQUFRLEVBQUUsSUFBSTtZQUNkLGVBQWUsRUFBRSxRQUFRO1lBQ3pCLFVBQVUsRUFBRSxNQUFNO1NBQ25CLENBQUM7UUFFRixrQkFBa0I7UUFDbEIsaUJBQVksR0FBRyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDekIsZUFBVSxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUMxQixjQUFTLEdBQUcsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBRTFCLHNDQUFzQztRQUN0QyxtQkFBYyxHQUFHLFFBQVEsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUMsQ0FBQyxDQUFDO0tBeUUzRTtJQXZFQyxlQUFlO0lBQ2YsSUFBSSxvQkFBb0I7UUFDdEIsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxlQUFlLElBQUksUUFBUSxDQUFDO1FBQ3JELE9BQU8sS0FBSyxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsSUFBSSxLQUFLLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxJQUFJLEtBQUssQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDO1lBQy9FLENBQUMsQ0FBQyxLQUFLO1lBQ1AsQ0FBQyxDQUFDLG1CQUFtQixLQUFLLEdBQUcsQ0FBQztJQUNsQyxDQUFDO0lBRUQsSUFBSSxlQUFlO1FBQ2pCLE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsVUFBVSxJQUFJLE1BQU0sQ0FBQztRQUM5QyxPQUFPLEtBQUssQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLElBQUksS0FBSyxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsSUFBSSxLQUFLLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQztZQUMvRSxDQUFDLENBQUMsS0FBSztZQUNQLENBQUMsQ0FBQyxtQkFBbUIsS0FBSyxHQUFHLENBQUM7SUFDbEMsQ0FBQztJQUVELFFBQVE7UUFDTixJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUUsQ0FBQztZQUNuQyxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7UUFDdkIsQ0FBQztJQUNILENBQUM7SUFFRCxXQUFXO1FBQ1QsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO0lBQ3RCLENBQUM7SUFFTyxhQUFhO1FBQ25CLE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxJQUFJLElBQUksQ0FBQztRQUM3QyxJQUFJLENBQUMsVUFBVSxHQUFHLFdBQVcsQ0FBQyxHQUFHLEVBQUU7WUFDakMsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO1FBQ3RCLENBQUMsRUFBRSxRQUFRLENBQUMsQ0FBQztJQUNmLENBQUM7SUFFTyxZQUFZO1FBQ2xCLElBQUksSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO1lBQ3BCLGFBQWEsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7WUFDL0IsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUM7UUFDekIsQ0FBQztJQUNILENBQUM7SUFFTyxZQUFZO1FBQ2xCLHVCQUF1QjtRQUN2QixJQUFJLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUMzQixJQUFJLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUV6Qiw4REFBOEQ7UUFDOUQsVUFBVSxDQUFDLEdBQUcsRUFBRTtZQUNkLElBQUksQ0FBQyxZQUFZLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQztZQUN0RSxJQUFJLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUMxQixJQUFJLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUM1QixDQUFDLEVBQUUsR0FBRyxDQUFDLENBQUMsQ0FBQyxnQ0FBZ0M7SUFDM0MsQ0FBQztJQUVEOztPQUVHO0lBQ0gsV0FBVyxDQUFDLEtBQWE7UUFDdkIsSUFBSSxLQUFLLEtBQUssSUFBSSxDQUFDLFlBQVksRUFBRTtZQUFFLE9BQU87UUFFMUMsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO1FBQ3BCLElBQUksQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzNCLElBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBRXpCLFVBQVUsQ0FBQyxHQUFHLEVBQUU7WUFDZCxJQUFJLENBQUMsWUFBWSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUM3QixJQUFJLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUMxQixJQUFJLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUMxQixJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUUsQ0FBQztnQkFDbkMsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO1lBQ3ZCLENBQUM7UUFDSCxDQUFDLEVBQUUsR0FBRyxDQUFDLENBQUM7SUFDVixDQUFDOytHQTVGVSxxQkFBcUI7bUdBQXJCLHFCQUFxQix5R0FsQ3RCOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQWdDVCx3akNBcEhTLFlBQVk7OzRGQXNIWCxxQkFBcUI7a0JBekhqQyxTQUFTOytCQUNFLG1CQUFtQixjQUNqQixJQUFJLFdBQ1AsQ0FBQyxZQUFZLENBQUMsWUFvRmI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBZ0NUOzhCQVFRLEtBQUs7c0JBQWIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBPbkRlc3Ryb3ksIE9uSW5pdCwgc2lnbmFsLCBjb21wdXRlZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUm90YXRpbmdUZXh0TWV0YWRhdGEsIFJvdGF0aW5nVGV4dE1lc3NhZ2UgfSBmcm9tICcuL3R5cGVzJztcblxuLyoqXG4gKiB2YWwtcm90YXRpbmctdGV4dFxuICpcbiAqIEEgY29tcG9uZW50IHRoYXQgcm90YXRlcyB0aHJvdWdoIGFuIGFycmF5IG9mIHRleHQgbWVzc2FnZXMgd2l0aCBzbW9vdGggYW5pbWF0aW9ucy5cbiAqIEZlYXR1cmVzIGVudHJhbmNlL2V4aXQgYW5pbWF0aW9ucyB3aXRoIGZhZGUsIGJsdXIsIGFuZCBzY2FsZSBlZmZlY3RzLlxuICpcbiAqIEBleGFtcGxlXG4gKiA8dmFsLXJvdGF0aW5nLXRleHRcbiAqICAgW3Byb3BzXT1cIntcbiAqICAgICBtZXNzYWdlczogW1xuICogICAgICAgeyBhYm92ZVRpdGxlOiAnV2VsY29tZScsIHRpdGxlOiAnSGVsbG8gV29ybGQnIH0sXG4gKiAgICAgICB7IGFib3ZlVGl0bGU6ICdUaXA6JywgdGl0bGU6ICdTdGF5IGN1cmlvdXMnIH1cbiAqICAgICBdLFxuICogICAgIGludGVydmFsOiA0MDAwLFxuICogICAgIHNob3dEb3RzOiB0cnVlXG4gKiAgIH1cIlxuICogPjwvdmFsLXJvdGF0aW5nLXRleHQ+XG4gKlxuICogQGlucHV0IHByb3BzIC0gQ29uZmlndXJhdGlvbiBmb3IgdGhlIHJvdGF0aW5nIHRleHQgY29tcG9uZW50XG4gKi9cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3ZhbC1yb3RhdGluZy10ZXh0JyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZV0sXG4gIHN0eWxlczogW1xuICAgIGBcbiAgICAgIC5yb3RhdGluZy1iYW5uZXIge1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIHBhZGRpbmc6IDJyZW0gMXJlbTtcbiAgICAgICAgbWluLWhlaWdodDogMTIwcHg7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgfVxuXG4gICAgICAucm90YXRpbmctdGV4dCB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgIH1cblxuICAgICAgLnJvdGF0aW5nLXRleHQgLmFib3ZlLXRpdGxlIHtcbiAgICAgICAgZm9udC1zaXplOiAxLjEyNXJlbTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMC43NXJlbTtcbiAgICAgICAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZTtcbiAgICAgIH1cblxuICAgICAgLnJvdGF0aW5nLXRleHQgLnRpdGxlIHtcbiAgICAgICAgZm9udC1zaXplOiAycmVtO1xuICAgICAgICBmb250LXdlaWdodDogOTAwO1xuICAgICAgfVxuXG4gICAgICAudGV4dC1lbnRlciB7XG4gICAgICAgIGFuaW1hdGlvbjogdGV4dEVudGVyIDAuNnMgZWFzZS1vdXQgZm9yd2FyZHM7XG4gICAgICB9XG5cbiAgICAgIC50ZXh0LWV4aXQge1xuICAgICAgICBhbmltYXRpb246IHRleHRFeGl0IDAuNHMgZWFzZS1pbiBmb3J3YXJkcztcbiAgICAgIH1cblxuICAgICAgQGtleWZyYW1lcyB0ZXh0RW50ZXIge1xuICAgICAgICAwJSB7XG4gICAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMjBweCkgc2NhbGUoMC45NSk7XG4gICAgICAgICAgZmlsdGVyOiBibHVyKDRweCk7XG4gICAgICAgIH1cbiAgICAgICAgMTAwJSB7XG4gICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCkgc2NhbGUoMSk7XG4gICAgICAgICAgZmlsdGVyOiBibHVyKDApO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIEBrZXlmcmFtZXMgdGV4dEV4aXQge1xuICAgICAgICAwJSB7XG4gICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCkgc2NhbGUoMSk7XG4gICAgICAgICAgZmlsdGVyOiBibHVyKDApO1xuICAgICAgICB9XG4gICAgICAgIDEwMCUge1xuICAgICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0yMHB4KSBzY2FsZSgwLjk1KTtcbiAgICAgICAgICBmaWx0ZXI6IGJsdXIoNHB4KTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAucHJvZ3Jlc3MtZG90cyB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGdhcDogOHB4O1xuICAgICAgICBtYXJnaW4tdG9wOiAxLjVyZW07XG4gICAgICB9XG5cbiAgICAgIC5wcm9ncmVzcy1kb3Qge1xuICAgICAgICB3aWR0aDogOHB4O1xuICAgICAgICBoZWlnaHQ6IDhweDtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1pb24tY29sb3ItZGFyay10aW50KTtcbiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZTtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgfVxuXG4gICAgICAucHJvZ3Jlc3MtZG90LmFjdGl2ZSB7XG4gICAgICAgIGJhY2tncm91bmQ6IHZhcigtLWlvbi1jb2xvci1kYXJrKTtcbiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxLjMpO1xuICAgICAgfVxuICAgIGAsXG4gIF0sXG4gIHRlbXBsYXRlOiBgXG4gICAgPGRpdlxuICAgICAgY2xhc3M9XCJyb3RhdGluZy1iYW5uZXJcIlxuICAgICAgW25nU3R5bGVdPVwieyBiYWNrZ3JvdW5kOiBwcm9wcy5iYWNrZ3JvdW5kQ29sb3IgfHwgJ3RyYW5zcGFyZW50JyB9XCJcbiAgICA+XG4gICAgICA8ZGl2XG4gICAgICAgIGNsYXNzPVwicm90YXRpbmctdGV4dFwiXG4gICAgICAgIFtjbGFzcy50ZXh0LWVudGVyXT1cImlzRW50ZXJpbmcoKVwiXG4gICAgICAgIFtjbGFzcy50ZXh0LWV4aXRdPVwiaXNFeGl0aW5nKClcIlxuICAgICAgPlxuICAgICAgICA8ZGl2XG4gICAgICAgICAgY2xhc3M9XCJhYm92ZS10aXRsZVwiXG4gICAgICAgICAgW25nU3R5bGVdPVwieyBjb2xvcjogYWJvdmVUaXRsZUNvbG9yVmFsdWUgfVwiXG4gICAgICAgID5cbiAgICAgICAgICB7eyBjdXJyZW50TWVzc2FnZSgpPy5hYm92ZVRpdGxlIH19XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2XG4gICAgICAgICAgY2xhc3M9XCJ0aXRsZVwiXG4gICAgICAgICAgW25nU3R5bGVdPVwieyBjb2xvcjogdGl0bGVDb2xvclZhbHVlIH1cIlxuICAgICAgICA+XG4gICAgICAgICAge3sgY3VycmVudE1lc3NhZ2UoKT8udGl0bGUgfX1cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3M9XCJwcm9ncmVzcy1kb3RzXCIgKm5nSWY9XCJwcm9wcy5zaG93RG90cyAhPT0gZmFsc2VcIj5cbiAgICAgICAgPGRpdlxuICAgICAgICAgICpuZ0Zvcj1cImxldCBtZXNzYWdlIG9mIHByb3BzLm1lc3NhZ2VzOyBsZXQgaSA9IGluZGV4XCJcbiAgICAgICAgICBjbGFzcz1cInByb2dyZXNzLWRvdFwiXG4gICAgICAgICAgW2NsYXNzLmFjdGl2ZV09XCJpID09PSBjdXJyZW50SW5kZXgoKVwiXG4gICAgICAgICAgKGNsaWNrKT1cImdvVG9NZXNzYWdlKGkpXCJcbiAgICAgICAgPjwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gIGAsXG59KVxuZXhwb3J0IGNsYXNzIFJvdGF0aW5nVGV4dENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcbiAgcHJpdmF0ZSBpbnRlcnZhbElkOiBSZXR1cm5UeXBlPHR5cGVvZiBzZXRJbnRlcnZhbD4gfCBudWxsID0gbnVsbDtcblxuICAvKipcbiAgICogQ29tcG9uZW50IGNvbmZpZ3VyYXRpb24uXG4gICAqL1xuICBASW5wdXQoKSBwcm9wczogUm90YXRpbmdUZXh0TWV0YWRhdGEgPSB7XG4gICAgbWVzc2FnZXM6IFtdLFxuICAgIGludGVydmFsOiA0MDAwLFxuICAgIHNob3dEb3RzOiB0cnVlLFxuICAgIGFib3ZlVGl0bGVDb2xvcjogJ21lZGl1bScsXG4gICAgdGl0bGVDb2xvcjogJ2RhcmsnLFxuICB9O1xuXG4gIC8vIEFuaW1hdGlvbiBzdGF0ZVxuICBjdXJyZW50SW5kZXggPSBzaWduYWwoMCk7XG4gIGlzRW50ZXJpbmcgPSBzaWduYWwodHJ1ZSk7XG4gIGlzRXhpdGluZyA9IHNpZ25hbChmYWxzZSk7XG5cbiAgLy8gQ3VycmVudCBtZXNzYWdlIGNvbXB1dGVkIGZyb20gaW5kZXhcbiAgY3VycmVudE1lc3NhZ2UgPSBjb21wdXRlZCgoKSA9PiB0aGlzLnByb3BzLm1lc3NhZ2VzW3RoaXMuY3VycmVudEluZGV4KCldKTtcblxuICAvLyBDb2xvciB2YWx1ZXNcbiAgZ2V0IGFib3ZlVGl0bGVDb2xvclZhbHVlKCk6IHN0cmluZyB7XG4gICAgY29uc3QgY29sb3IgPSB0aGlzLnByb3BzLmFib3ZlVGl0bGVDb2xvciB8fCAnbWVkaXVtJztcbiAgICByZXR1cm4gY29sb3Iuc3RhcnRzV2l0aCgnLS0nKSB8fCBjb2xvci5zdGFydHNXaXRoKCcjJykgfHwgY29sb3Iuc3RhcnRzV2l0aCgncmdiJylcbiAgICAgID8gY29sb3JcbiAgICAgIDogYHZhcigtLWlvbi1jb2xvci0ke2NvbG9yfSlgO1xuICB9XG5cbiAgZ2V0IHRpdGxlQ29sb3JWYWx1ZSgpOiBzdHJpbmcge1xuICAgIGNvbnN0IGNvbG9yID0gdGhpcy5wcm9wcy50aXRsZUNvbG9yIHx8ICdkYXJrJztcbiAgICByZXR1cm4gY29sb3Iuc3RhcnRzV2l0aCgnLS0nKSB8fCBjb2xvci5zdGFydHNXaXRoKCcjJykgfHwgY29sb3Iuc3RhcnRzV2l0aCgncmdiJylcbiAgICAgID8gY29sb3JcbiAgICAgIDogYHZhcigtLWlvbi1jb2xvci0ke2NvbG9yfSlgO1xuICB9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMucHJvcHMubWVzc2FnZXMubGVuZ3RoID4gMSkge1xuICAgICAgdGhpcy5zdGFydFJvdGF0aW9uKCk7XG4gICAgfVxuICB9XG5cbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5zdG9wUm90YXRpb24oKTtcbiAgfVxuXG4gIHByaXZhdGUgc3RhcnRSb3RhdGlvbigpOiB2b2lkIHtcbiAgICBjb25zdCBpbnRlcnZhbCA9IHRoaXMucHJvcHMuaW50ZXJ2YWwgPz8gNDAwMDtcbiAgICB0aGlzLmludGVydmFsSWQgPSBzZXRJbnRlcnZhbCgoKSA9PiB7XG4gICAgICB0aGlzLnJvdGF0ZVRvTmV4dCgpO1xuICAgIH0sIGludGVydmFsKTtcbiAgfVxuXG4gIHByaXZhdGUgc3RvcFJvdGF0aW9uKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLmludGVydmFsSWQpIHtcbiAgICAgIGNsZWFySW50ZXJ2YWwodGhpcy5pbnRlcnZhbElkKTtcbiAgICAgIHRoaXMuaW50ZXJ2YWxJZCA9IG51bGw7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSByb3RhdGVUb05leHQoKTogdm9pZCB7XG4gICAgLy8gU3RhcnQgZXhpdCBhbmltYXRpb25cbiAgICB0aGlzLmlzRW50ZXJpbmcuc2V0KGZhbHNlKTtcbiAgICB0aGlzLmlzRXhpdGluZy5zZXQodHJ1ZSk7XG5cbiAgICAvLyBBZnRlciBleGl0IGFuaW1hdGlvbiwgY2hhbmdlIHRleHQgYW5kIHN0YXJ0IGVudGVyIGFuaW1hdGlvblxuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgdGhpcy5jdXJyZW50SW5kZXgudXBkYXRlKChpKSA9PiAoaSArIDEpICUgdGhpcy5wcm9wcy5tZXNzYWdlcy5sZW5ndGgpO1xuICAgICAgdGhpcy5pc0V4aXRpbmcuc2V0KGZhbHNlKTtcbiAgICAgIHRoaXMuaXNFbnRlcmluZy5zZXQodHJ1ZSk7XG4gICAgfSwgNDAwKTsgLy8gTWF0Y2ggZXhpdCBhbmltYXRpb24gZHVyYXRpb25cbiAgfVxuXG4gIC8qKlxuICAgKiBOYXZpZ2F0ZSB0byBhIHNwZWNpZmljIG1lc3NhZ2UgYnkgaW5kZXguXG4gICAqL1xuICBnb1RvTWVzc2FnZShpbmRleDogbnVtYmVyKTogdm9pZCB7XG4gICAgaWYgKGluZGV4ID09PSB0aGlzLmN1cnJlbnRJbmRleCgpKSByZXR1cm47XG5cbiAgICB0aGlzLnN0b3BSb3RhdGlvbigpO1xuICAgIHRoaXMuaXNFbnRlcmluZy5zZXQoZmFsc2UpO1xuICAgIHRoaXMuaXNFeGl0aW5nLnNldCh0cnVlKTtcblxuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgdGhpcy5jdXJyZW50SW5kZXguc2V0KGluZGV4KTtcbiAgICAgIHRoaXMuaXNFeGl0aW5nLnNldChmYWxzZSk7XG4gICAgICB0aGlzLmlzRW50ZXJpbmcuc2V0KHRydWUpO1xuICAgICAgaWYgKHRoaXMucHJvcHMubWVzc2FnZXMubGVuZ3RoID4gMSkge1xuICAgICAgICB0aGlzLnN0YXJ0Um90YXRpb24oKTtcbiAgICAgIH1cbiAgICB9LCA0MDApO1xuICB9XG59XG4iXX0=
180
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm90YXRpbmctdGV4dC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvbXBvbmVudHMvb3JnYW5pc21zL3JvdGF0aW5nLXRleHQvcm90YXRpbmctdGV4dC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFxQixNQUFNLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7QUFHdEY7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FtQkc7QUEwSEgsTUFBTSxPQUFPLHFCQUFxQjtJQXpIbEM7UUEwSFUsZUFBVSxHQUEwQyxJQUFJLENBQUM7UUFFakU7O1dBRUc7UUFDTSxVQUFLLEdBQXlCO1lBQ3JDLFFBQVEsRUFBRSxFQUFFO1lBQ1osUUFBUSxFQUFFLElBQUk7WUFDZCxRQUFRLEVBQUUsSUFBSTtZQUNkLGVBQWUsRUFBRSxRQUFRO1lBQ3pCLFVBQVUsRUFBRSxNQUFNO1NBQ25CLENBQUM7UUFFRixrQkFBa0I7UUFDbEIsaUJBQVksR0FBRyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDekIsZUFBVSxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUMxQixjQUFTLEdBQUcsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBRTFCLHNDQUFzQztRQUN0QyxtQkFBYyxHQUFHLFFBQVEsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUMsQ0FBQyxDQUFDO0tBeUUzRTtJQXZFQyxlQUFlO0lBQ2YsSUFBSSxvQkFBb0I7UUFDdEIsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxlQUFlLElBQUksUUFBUSxDQUFDO1FBQ3JELE9BQU8s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Q0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUUsQ0FBQztnQkFDbkMsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO1lBQ3ZCLENBQUM7UUFDSCxDQUFDLEVBQUUsR0FBRyxDQUFDLENBQUM7SUFDVixDQUFDOytHQTVGVSxxQkFBcUI7bUdBQXJCLHFCQUFxQix5R0FsQ3RCOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQWdDVCwwakNBcEhTLFlBQVk7OzRGQXNIWCxxQkFBcUI7a0JBekhqQyxTQUFTOytCQUNFLG1CQUFtQixjQUNqQixJQUFJLFdBQ1AsQ0FBQyxZQUFZLENBQUMsWUFvRmI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBZ0NUOzhCQVFRLEtBQUs7c0JBQWIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBPbkRlc3Ryb3ksIE9uSW5pdCwgc2lnbmFsLCBjb21wdXRlZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUm90YXRpbmdUZXh0TWV0YWRhdGEsIFJvdGF0aW5nVGV4dE1lc3NhZ2UgfSBmcm9tICcuL3R5cGVzJztcblxuLyoqXG4gKiB2YWwtcm90YXRpbmctdGV4dFxuICpcbiAqIEEgY29tcG9uZW50IHRoYXQgcm90YXRlcyB0aHJvdWdoIGFuIGFycmF5IG9mIHRleHQgbWVzc2FnZXMgd2l0aCBzbW9vdGggYW5pbWF0aW9ucy5cbiAqIEZlYXR1cmVzIGVudHJhbmNlL2V4aXQgYW5pbWF0aW9ucyB3aXRoIGZhZGUsIGJsdXIsIGFuZCBzY2FsZSBlZmZlY3RzLlxuICpcbiAqIEBleGFtcGxlXG4gKiA8dmFsLXJvdGF0aW5nLXRleHRcbiAqICAgW3Byb3BzXT1cIntcbiAqICAgICBtZXNzYWdlczogW1xuICogICAgICAgeyBhYm92ZVRpdGxlOiAnV2VsY29tZScsIHRpdGxlOiAnSGVsbG8gV29ybGQnIH0sXG4gKiAgICAgICB7IGFib3ZlVGl0bGU6ICdUaXA6JywgdGl0bGU6ICdTdGF5IGN1cmlvdXMnIH1cbiAqICAgICBdLFxuICogICAgIGludGVydmFsOiA0MDAwLFxuICogICAgIHNob3dEb3RzOiB0cnVlXG4gKiAgIH1cIlxuICogPjwvdmFsLXJvdGF0aW5nLXRleHQ+XG4gKlxuICogQGlucHV0IHByb3BzIC0gQ29uZmlndXJhdGlvbiBmb3IgdGhlIHJvdGF0aW5nIHRleHQgY29tcG9uZW50XG4gKi9cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3ZhbC1yb3RhdGluZy10ZXh0JyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZV0sXG4gIHN0eWxlczogW1xuICAgIGBcbiAgICAgIC5yb3RhdGluZy1iYW5uZXIge1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIHBhZGRpbmc6IDJyZW0gMXJlbTtcbiAgICAgICAgbWluLWhlaWdodDogMTIwcHg7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgfVxuXG4gICAgICAucm90YXRpbmctdGV4dCB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgIH1cblxuICAgICAgLnJvdGF0aW5nLXRleHQgLmFib3ZlLXRpdGxlIHtcbiAgICAgICAgZm9udC1zaXplOiAxLjEyNXJlbTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMC43NXJlbTtcbiAgICAgICAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZTtcbiAgICAgIH1cblxuICAgICAgLnJvdGF0aW5nLXRleHQgLnRpdGxlIHtcbiAgICAgICAgZm9udC1zaXplOiAycmVtO1xuICAgICAgICBmb250LXdlaWdodDogOTAwO1xuICAgICAgfVxuXG4gICAgICAudGV4dC1lbnRlciB7XG4gICAgICAgIGFuaW1hdGlvbjogdGV4dEVudGVyIDAuNnMgZWFzZS1vdXQgZm9yd2FyZHM7XG4gICAgICB9XG5cbiAgICAgIC50ZXh0LWV4aXQge1xuICAgICAgICBhbmltYXRpb246IHRleHRFeGl0IDAuNHMgZWFzZS1pbiBmb3J3YXJkcztcbiAgICAgIH1cblxuICAgICAgQGtleWZyYW1lcyB0ZXh0RW50ZXIge1xuICAgICAgICAwJSB7XG4gICAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMjBweCkgc2NhbGUoMC45NSk7XG4gICAgICAgICAgZmlsdGVyOiBibHVyKDRweCk7XG4gICAgICAgIH1cbiAgICAgICAgMTAwJSB7XG4gICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCkgc2NhbGUoMSk7XG4gICAgICAgICAgZmlsdGVyOiBibHVyKDApO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIEBrZXlmcmFtZXMgdGV4dEV4aXQge1xuICAgICAgICAwJSB7XG4gICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCkgc2NhbGUoMSk7XG4gICAgICAgICAgZmlsdGVyOiBibHVyKDApO1xuICAgICAgICB9XG4gICAgICAgIDEwMCUge1xuICAgICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0yMHB4KSBzY2FsZSgwLjk1KTtcbiAgICAgICAgICBmaWx0ZXI6IGJsdXIoNHB4KTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAucHJvZ3Jlc3MtZG90cyB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGdhcDogOHB4O1xuICAgICAgICBtYXJnaW4tdG9wOiAxLjVyZW07XG4gICAgICB9XG5cbiAgICAgIC5wcm9ncmVzcy1kb3Qge1xuICAgICAgICB3aWR0aDogOHB4O1xuICAgICAgICBoZWlnaHQ6IDhweDtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1pb24tY29sb3ItbWVkaXVtLXRpbnQpO1xuICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlO1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICB9XG5cbiAgICAgIC5wcm9ncmVzcy1kb3QuYWN0aXZlIHtcbiAgICAgICAgYmFja2dyb3VuZDogdmFyKC0taW9uLWNvbG9yLWRhcmspO1xuICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMyk7XG4gICAgICB9XG4gICAgYCxcbiAgXSxcbiAgdGVtcGxhdGU6IGBcbiAgICA8ZGl2XG4gICAgICBjbGFzcz1cInJvdGF0aW5nLWJhbm5lclwiXG4gICAgICBbbmdTdHlsZV09XCJ7IGJhY2tncm91bmQ6IHByb3BzLmJhY2tncm91bmRDb2xvciB8fCAndHJhbnNwYXJlbnQnIH1cIlxuICAgID5cbiAgICAgIDxkaXZcbiAgICAgICAgY2xhc3M9XCJyb3RhdGluZy10ZXh0XCJcbiAgICAgICAgW2NsYXNzLnRleHQtZW50ZXJdPVwiaXNFbnRlcmluZygpXCJcbiAgICAgICAgW2NsYXNzLnRleHQtZXhpdF09XCJpc0V4aXRpbmcoKVwiXG4gICAgICA+XG4gICAgICAgIDxkaXZcbiAgICAgICAgICBjbGFzcz1cImFib3ZlLXRpdGxlXCJcbiAgICAgICAgICBbbmdTdHlsZV09XCJ7IGNvbG9yOiBhYm92ZVRpdGxlQ29sb3JWYWx1ZSB9XCJcbiAgICAgICAgPlxuICAgICAgICAgIHt7IGN1cnJlbnRNZXNzYWdlKCk/LmFib3ZlVGl0bGUgfX1cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXZcbiAgICAgICAgICBjbGFzcz1cInRpdGxlXCJcbiAgICAgICAgICBbbmdTdHlsZV09XCJ7IGNvbG9yOiB0aXRsZUNvbG9yVmFsdWUgfVwiXG4gICAgICAgID5cbiAgICAgICAgICB7eyBjdXJyZW50TWVzc2FnZSgpPy50aXRsZSB9fVxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdiBjbGFzcz1cInByb2dyZXNzLWRvdHNcIiAqbmdJZj1cInByb3BzLnNob3dEb3RzICE9PSBmYWxzZVwiPlxuICAgICAgICA8ZGl2XG4gICAgICAgICAgKm5nRm9yPVwibGV0IG1lc3NhZ2Ugb2YgcHJvcHMubWVzc2FnZXM7IGxldCBpID0gaW5kZXhcIlxuICAgICAgICAgIGNsYXNzPVwicHJvZ3Jlc3MtZG90XCJcbiAgICAgICAgICBbY2xhc3MuYWN0aXZlXT1cImkgPT09IGN1cnJlbnRJbmRleCgpXCJcbiAgICAgICAgICAoY2xpY2spPVwiZ29Ub01lc3NhZ2UoaSlcIlxuICAgICAgICA+PC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgYCxcbn0pXG5leHBvcnQgY2xhc3MgUm90YXRpbmdUZXh0Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xuICBwcml2YXRlIGludGVydmFsSWQ6IFJldHVyblR5cGU8dHlwZW9mIHNldEludGVydmFsPiB8IG51bGwgPSBudWxsO1xuXG4gIC8qKlxuICAgKiBDb21wb25lbnQgY29uZmlndXJhdGlvbi5cbiAgICovXG4gIEBJbnB1dCgpIHByb3BzOiBSb3RhdGluZ1RleHRNZXRhZGF0YSA9IHtcbiAgICBtZXNzYWdlczogW10sXG4gICAgaW50ZXJ2YWw6IDQwMDAsXG4gICAgc2hvd0RvdHM6IHRydWUsXG4gICAgYWJvdmVUaXRsZUNvbG9yOiAnbWVkaXVtJyxcbiAgICB0aXRsZUNvbG9yOiAnZGFyaycsXG4gIH07XG5cbiAgLy8gQW5pbWF0aW9uIHN0YXRlXG4gIGN1cnJlbnRJbmRleCA9IHNpZ25hbCgwKTtcbiAgaXNFbnRlcmluZyA9IHNpZ25hbCh0cnVlKTtcbiAgaXNFeGl0aW5nID0gc2lnbmFsKGZhbHNlKTtcblxuICAvLyBDdXJyZW50IG1lc3NhZ2UgY29tcHV0ZWQgZnJvbSBpbmRleFxuICBjdXJyZW50TWVzc2FnZSA9IGNvbXB1dGVkKCgpID0+IHRoaXMucHJvcHMubWVzc2FnZXNbdGhpcy5jdXJyZW50SW5kZXgoKV0pO1xuXG4gIC8vIENvbG9yIHZhbHVlc1xuICBnZXQgYWJvdmVUaXRsZUNvbG9yVmFsdWUoKTogc3RyaW5nIHtcbiAgICBjb25zdCBjb2xvciA9IHRoaXMucHJvcHMuYWJvdmVUaXRsZUNvbG9yIHx8ICdtZWRpdW0nO1xuICAgIHJldHVybiBjb2xvci5zdGFydHNXaXRoKCctLScpIHx8IGNvbG9yLnN0YXJ0c1dpdGgoJyMnKSB8fCBjb2xvci5zdGFydHNXaXRoKCdyZ2InKVxuICAgICAgPyBjb2xvclxuICAgICAgOiBgdmFyKC0taW9uLWNvbG9yLSR7Y29sb3J9KWA7XG4gIH1cblxuICBnZXQgdGl0bGVDb2xvclZhbHVlKCk6IHN0cmluZyB7XG4gICAgY29uc3QgY29sb3IgPSB0aGlzLnByb3BzLnRpdGxlQ29sb3IgfHwgJ2RhcmsnO1xuICAgIHJldHVybiBjb2xvci5zdGFydHNXaXRoKCctLScpIHx8IGNvbG9yLnN0YXJ0c1dpdGgoJyMnKSB8fCBjb2xvci5zdGFydHNXaXRoKCdyZ2InKVxuICAgICAgPyBjb2xvclxuICAgICAgOiBgdmFyKC0taW9uLWNvbG9yLSR7Y29sb3J9KWA7XG4gIH1cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5wcm9wcy5tZXNzYWdlcy5sZW5ndGggPiAxKSB7XG4gICAgICB0aGlzLnN0YXJ0Um90YXRpb24oKTtcbiAgICB9XG4gIH1cblxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLnN0b3BSb3RhdGlvbigpO1xuICB9XG5cbiAgcHJpdmF0ZSBzdGFydFJvdGF0aW9uKCk6IHZvaWQge1xuICAgIGNvbnN0IGludGVydmFsID0gdGhpcy5wcm9wcy5pbnRlcnZhbCA/PyA0MDAwO1xuICAgIHRoaXMuaW50ZXJ2YWxJZCA9IHNldEludGVydmFsKCgpID0+IHtcbiAgICAgIHRoaXMucm90YXRlVG9OZXh0KCk7XG4gICAgfSwgaW50ZXJ2YWwpO1xuICB9XG5cbiAgcHJpdmF0ZSBzdG9wUm90YXRpb24oKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuaW50ZXJ2YWxJZCkge1xuICAgICAgY2xlYXJJbnRlcnZhbCh0aGlzLmludGVydmFsSWQpO1xuICAgICAgdGhpcy5pbnRlcnZhbElkID0gbnVsbDtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIHJvdGF0ZVRvTmV4dCgpOiB2b2lkIHtcbiAgICAvLyBTdGFydCBleGl0IGFuaW1hdGlvblxuICAgIHRoaXMuaXNFbnRlcmluZy5zZXQoZmFsc2UpO1xuICAgIHRoaXMuaXNFeGl0aW5nLnNldCh0cnVlKTtcblxuICAgIC8vIEFmdGVyIGV4aXQgYW5pbWF0aW9uLCBjaGFuZ2UgdGV4dCBhbmQgc3RhcnQgZW50ZXIgYW5pbWF0aW9uXG4gICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICB0aGlzLmN1cnJlbnRJbmRleC51cGRhdGUoKGkpID0+IChpICsgMSkgJSB0aGlzLnByb3BzLm1lc3NhZ2VzLmxlbmd0aCk7XG4gICAgICB0aGlzLmlzRXhpdGluZy5zZXQoZmFsc2UpO1xuICAgICAgdGhpcy5pc0VudGVyaW5nLnNldCh0cnVlKTtcbiAgICB9LCA0MDApOyAvLyBNYXRjaCBleGl0IGFuaW1hdGlvbiBkdXJhdGlvblxuICB9XG5cbiAgLyoqXG4gICAqIE5hdmlnYXRlIHRvIGEgc3BlY2lmaWMgbWVzc2FnZSBieSBpbmRleC5cbiAgICovXG4gIGdvVG9NZXNzYWdlKGluZGV4OiBudW1iZXIpOiB2b2lkIHtcbiAgICBpZiAoaW5kZXggPT09IHRoaXMuY3VycmVudEluZGV4KCkpIHJldHVybjtcblxuICAgIHRoaXMuc3RvcFJvdGF0aW9uKCk7XG4gICAgdGhpcy5pc0VudGVyaW5nLnNldChmYWxzZSk7XG4gICAgdGhpcy5pc0V4aXRpbmcuc2V0KHRydWUpO1xuXG4gICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICB0aGlzLmN1cnJlbnRJbmRleC5zZXQoaW5kZXgpO1xuICAgICAgdGhpcy5pc0V4aXRpbmcuc2V0KGZhbHNlKTtcbiAgICAgIHRoaXMuaXNFbnRlcmluZy5zZXQodHJ1ZSk7XG4gICAgICBpZiAodGhpcy5wcm9wcy5tZXNzYWdlcy5sZW5ndGggPiAxKSB7XG4gICAgICAgIHRoaXMuc3RhcnRSb3RhdGlvbigpO1xuICAgICAgfVxuICAgIH0sIDQwMCk7XG4gIH1cbn1cbiJdfQ==
@@ -243,7 +243,7 @@ export class ToolbarComponent {
243
243
  <!-- experimental -->
244
244
  <ng-content select="[toolbar-bottom]"></ng-content>
245
245
  </ion-toolbar>
246
- `, isInline: true, styles: ["@charset \"UTF-8\";:root{--val-container-sm: 540px;--val-container-md: 720px;--val-container-lg: 880px;--val-container-xl: 1100px;--val-container-xl-wide: 1280px;--val-container-md-wide: 900px;--val-container-aside: 0px;--val-container-padding: 16px;--ion-color-primary: #7026df;--ion-color-primary-rgb: 112, 38, 223;--ion-color-primary-contrast: #ffffff;--ion-color-primary-contrast-rgb: 255, 255, 255;--ion-color-primary-shade: #6321c4;--ion-color-primary-tint: #7e3ce2;--ion-color-secondary: #e2ccff;--ion-color-secondary-rgb: 226, 204, 255;--ion-color-secondary-contrast: #000000;--ion-color-secondary-contrast-rgb: 0, 0, 0;--ion-color-secondary-shade: #c7b4e0;--ion-color-secondary-tint: #e5d1ff;--ion-color-texti: #354c69;--ion-color-texti-rgb: 53, 76, 105;--ion-color-texti-contrast: #ffffff;--ion-color-texti-contrast-rgb: 255, 255, 255;--ion-color-texti-shade: #2f435c;--ion-color-texti-tint: #495e78;--ion-color-darki: #090f1b;--ion-color-darki-rgb: 9, 15, 27;--ion-color-darki-contrast: #ffffff;--ion-color-darki-contrast-rgb: 255, 255, 255;--ion-color-darki-shade: #080d18;--ion-color-darki-tint: #222732;--ion-color-dark: #9e9e9e;--ion-color-dark-rgb: 158, 158, 158;--ion-color-dark-contrast: #000000;--ion-color-dark-contrast-rgb: 0, 0, 0;--ion-color-dark-shade: #8b8b8b;--ion-color-dark-tint: #a8a8a8;--ion-color-warning: #ffde38;--ion-color-warning-rgb: 255, 222, 56;--ion-color-warning-contrast: #000000;--ion-color-warning-contrast-rgb: 0, 0, 0;--ion-color-warning-shade: #e0c331;--ion-color-warning-tint: #ffe14c;--swiper-pagination-color: var(--ion-color-primary);--swiper-navigation-color: var(--ion-color-primary);--swiper-pagination-bullet-inactive-color: var(--ion-color-dark)}body.dark,html.ion-palette-dark,body[data-theme=dark]{--ion-color-texti: #8fc1ff;--ion-color-texti-rgb: 143, 193, 255;--ion-color-texti-contrast: #000000;--ion-color-texti-contrast-rgb: 0, 0, 0;--ion-color-texti-shade: #7eaae0;--ion-color-texti-tint: #9ac7ff;--ion-color-darki: #ffffff;--ion-color-darki-rgb: 255, 255, 255;--ion-color-darki-contrast: #000000;--ion-color-darki-contrast-rgb: 0, 0, 0;--ion-color-darki-shade: #e0e0e0;--ion-color-darki-tint: #ffffff;--ion-color-primary: #8f49f8;--ion-color-primary-rgb: 143, 73, 248;--ion-color-primary-contrast: #ffffff;--ion-color-primary-contrast-rgb: 255, 255, 255;--ion-color-primary-shade: #7e40da;--ion-color-primary-tint: #9a5bf9}.ion-color-texti{--ion-color-base: var(--ion-color-texti);--ion-color-base-rgb: var(--ion-color-texti-rgb);--ion-color-contrast: var(--ion-color-texti-contrast);--ion-color-contrast-rgb: var(--ion-color-texti-contrast-rgb);--ion-color-shade: var(--ion-color-texti-shade);--ion-color-tint: var(--ion-color-texti-tint)}.ion-color-darki{--ion-color-base: var(--ion-color-darki);--ion-color-base-rgb: var(--ion-color-darki-rgb);--ion-color-contrast: var(--ion-color-darki-contrast);--ion-color-contrast-rgb: var(--ion-color-darki-contrast-rgb);--ion-color-shade: var(--ion-color-darki-shade);--ion-color-tint: var(--ion-color-darki-tint)}ion-button{font-family:var(--ion-default-font),Arial,sans-serif}.left-buttons{margin-left:-1rem}.right-buttons{align-items:center;gap:4px}.background{background:var(--ion-background-color)}:host ion-title{--color: var(--ion-text-color)}:host ion-button{--color: var(--ion-text-color)}:host ion-icon{color:var(--ion-text-color)}:host val-user-avatar+val-user-avatar{margin-left:6px}:host val-font-size-selector,:host val-language-selector{display:inline-flex;align-items:center}:host ion-menu-button{min-width:44px;width:44px;height:44px;margin-left:4px}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: IonToolbar, selector: "ion-toolbar", inputs: ["color", "mode"] }, { kind: "component", type: IonButtons, selector: "ion-buttons", inputs: ["collapse"] }, { kind: "component", type: IonButton, selector: "ion-button", inputs: ["buttonType", "color", "disabled", "download", "expand", "fill", "form", "href", "mode", "rel", "routerAnimation", "routerDirection", "shape", "size", "strong", "target", "type"] }, { kind: "component", type: IonIcon, selector: "ion-icon", inputs: ["color", "flipRtl", "icon", "ios", "lazy", "md", "mode", "name", "sanitize", "size", "src"] }, { kind: "component", type: IonText, selector: "ion-text", inputs: ["color", "mode"] }, { kind: "component", type: IonTitle, selector: "ion-title", inputs: ["color", "size"] }, { kind: "component", type: ImageComponent, selector: "val-image", inputs: ["props"] }, { kind: "component", type: UserAvatarComponent, selector: "val-user-avatar", inputs: ["props"], outputs: ["onClick"] }, { kind: "component", type: IonMenuButton, selector: "ion-menu-button", inputs: ["autoHide", "color", "disabled", "menu", "mode", "type"] }, { kind: "component", type: LanguageSelectorComponent, selector: "val-language-selector", inputs: ["props"], outputs: ["languageChange"] }, { kind: "component", type: FontSizeSelectorComponent, selector: "val-font-size-selector", inputs: ["props"] }, { kind: "component", type: ThemeSelectorComponent, selector: "val-theme-selector", inputs: ["props"] }] }); }
246
+ `, isInline: true, styles: ["@charset \"UTF-8\";:root{--val-container-sm: 540px;--val-container-md: 720px;--val-container-lg: 880px;--val-container-xl: 1100px;--val-container-xl-wide: 1280px;--val-container-md-wide: 900px;--val-container-aside: 0px;--val-container-padding: 16px;--ion-color-primary: #7026df;--ion-color-primary-rgb: 112, 38, 223;--ion-color-primary-contrast: #ffffff;--ion-color-primary-contrast-rgb: 255, 255, 255;--ion-color-primary-shade: #6321c4;--ion-color-primary-tint: #7e3ce2;--ion-color-secondary: #e2ccff;--ion-color-secondary-rgb: 226, 204, 255;--ion-color-secondary-contrast: #000000;--ion-color-secondary-contrast-rgb: 0, 0, 0;--ion-color-secondary-shade: #c7b4e0;--ion-color-secondary-tint: #e5d1ff;--ion-color-texti: #354c69;--ion-color-texti-rgb: 53, 76, 105;--ion-color-texti-contrast: #ffffff;--ion-color-texti-contrast-rgb: 255, 255, 255;--ion-color-texti-shade: #2f435c;--ion-color-texti-tint: #495e78;--ion-color-darki: #090f1b;--ion-color-darki-rgb: 9, 15, 27;--ion-color-darki-contrast: #ffffff;--ion-color-darki-contrast-rgb: 255, 255, 255;--ion-color-darki-shade: #080d18;--ion-color-darki-tint: #222732;--ion-color-medium: #9e9e9e;--ion-color-medium-rgb: 158, 158, 158;--ion-color-medium-contrast: #000000;--ion-color-medium-contrast-rgb: 0, 0, 0;--ion-color-medium-shade: #8b8b8b;--ion-color-medium-tint: #a8a8a8;--ion-color-warning: #ffde38;--ion-color-warning-rgb: 255, 222, 56;--ion-color-warning-contrast: #000000;--ion-color-warning-contrast-rgb: 0, 0, 0;--ion-color-warning-shade: #e0c331;--ion-color-warning-tint: #ffe14c;--swiper-pagination-color: var(--ion-color-primary);--swiper-navigation-color: var(--ion-color-primary);--swiper-pagination-bullet-inactive-color: var(--ion-color-dark)}body.dark,html.ion-palette-dark,body[data-theme=dark]{--ion-color-texti: #8fc1ff;--ion-color-texti-rgb: 143, 193, 255;--ion-color-texti-contrast: #000000;--ion-color-texti-contrast-rgb: 0, 0, 0;--ion-color-texti-shade: #7eaae0;--ion-color-texti-tint: #9ac7ff;--ion-color-darki: #ffffff;--ion-color-darki-rgb: 255, 255, 255;--ion-color-darki-contrast: #000000;--ion-color-darki-contrast-rgb: 0, 0, 0;--ion-color-darki-shade: #e0e0e0;--ion-color-darki-tint: #ffffff;--ion-color-primary: #8f49f8;--ion-color-primary-rgb: 143, 73, 248;--ion-color-primary-contrast: #ffffff;--ion-color-primary-contrast-rgb: 255, 255, 255;--ion-color-primary-shade: #7e40da;--ion-color-primary-tint: #9a5bf9}.ion-color-texti{--ion-color-base: var(--ion-color-texti);--ion-color-base-rgb: var(--ion-color-texti-rgb);--ion-color-contrast: var(--ion-color-texti-contrast);--ion-color-contrast-rgb: var(--ion-color-texti-contrast-rgb);--ion-color-shade: var(--ion-color-texti-shade);--ion-color-tint: var(--ion-color-texti-tint)}.ion-color-darki{--ion-color-base: var(--ion-color-darki);--ion-color-base-rgb: var(--ion-color-darki-rgb);--ion-color-contrast: var(--ion-color-darki-contrast);--ion-color-contrast-rgb: var(--ion-color-darki-contrast-rgb);--ion-color-shade: var(--ion-color-darki-shade);--ion-color-tint: var(--ion-color-darki-tint)}ion-button{font-family:var(--ion-default-font),Arial,sans-serif}.left-buttons{margin-left:-1rem}.right-buttons{align-items:center;gap:4px}.background{background:var(--ion-background-color)}:host ion-title{--color: var(--ion-text-color)}:host ion-button{--color: var(--ion-text-color)}:host ion-icon{color:var(--ion-text-color)}:host val-user-avatar+val-user-avatar{margin-left:6px}:host val-font-size-selector,:host val-language-selector{display:inline-flex;align-items:center}:host ion-menu-button{min-width:44px;width:44px;height:44px;margin-left:4px}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: IonToolbar, selector: "ion-toolbar", inputs: ["color", "mode"] }, { kind: "component", type: IonButtons, selector: "ion-buttons", inputs: ["collapse"] }, { kind: "component", type: IonButton, selector: "ion-button", inputs: ["buttonType", "color", "disabled", "download", "expand", "fill", "form", "href", "mode", "rel", "routerAnimation", "routerDirection", "shape", "size", "strong", "target", "type"] }, { kind: "component", type: IonIcon, selector: "ion-icon", inputs: ["color", "flipRtl", "icon", "ios", "lazy", "md", "mode", "name", "sanitize", "size", "src"] }, { kind: "component", type: IonText, selector: "ion-text", inputs: ["color", "mode"] }, { kind: "component", type: IonTitle, selector: "ion-title", inputs: ["color", "size"] }, { kind: "component", type: ImageComponent, selector: "val-image", inputs: ["props"] }, { kind: "component", type: UserAvatarComponent, selector: "val-user-avatar", inputs: ["props"], outputs: ["onClick"] }, { kind: "component", type: IonMenuButton, selector: "ion-menu-button", inputs: ["autoHide", "color", "disabled", "menu", "mode", "type"] }, { kind: "component", type: LanguageSelectorComponent, selector: "val-language-selector", inputs: ["props"], outputs: ["languageChange"] }, { kind: "component", type: FontSizeSelectorComponent, selector: "val-font-size-selector", inputs: ["props"] }, { kind: "component", type: ThemeSelectorComponent, selector: "val-theme-selector", inputs: ["props"] }] }); }
247
247
  }
248
248
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ToolbarComponent, decorators: [{
249
249
  type: Component,
@@ -375,10 +375,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
375
375
  <!-- experimental -->
376
376
  <ng-content select="[toolbar-bottom]"></ng-content>
377
377
  </ion-toolbar>
378
- `, styles: ["@charset \"UTF-8\";:root{--val-container-sm: 540px;--val-container-md: 720px;--val-container-lg: 880px;--val-container-xl: 1100px;--val-container-xl-wide: 1280px;--val-container-md-wide: 900px;--val-container-aside: 0px;--val-container-padding: 16px;--ion-color-primary: #7026df;--ion-color-primary-rgb: 112, 38, 223;--ion-color-primary-contrast: #ffffff;--ion-color-primary-contrast-rgb: 255, 255, 255;--ion-color-primary-shade: #6321c4;--ion-color-primary-tint: #7e3ce2;--ion-color-secondary: #e2ccff;--ion-color-secondary-rgb: 226, 204, 255;--ion-color-secondary-contrast: #000000;--ion-color-secondary-contrast-rgb: 0, 0, 0;--ion-color-secondary-shade: #c7b4e0;--ion-color-secondary-tint: #e5d1ff;--ion-color-texti: #354c69;--ion-color-texti-rgb: 53, 76, 105;--ion-color-texti-contrast: #ffffff;--ion-color-texti-contrast-rgb: 255, 255, 255;--ion-color-texti-shade: #2f435c;--ion-color-texti-tint: #495e78;--ion-color-darki: #090f1b;--ion-color-darki-rgb: 9, 15, 27;--ion-color-darki-contrast: #ffffff;--ion-color-darki-contrast-rgb: 255, 255, 255;--ion-color-darki-shade: #080d18;--ion-color-darki-tint: #222732;--ion-color-dark: #9e9e9e;--ion-color-dark-rgb: 158, 158, 158;--ion-color-dark-contrast: #000000;--ion-color-dark-contrast-rgb: 0, 0, 0;--ion-color-dark-shade: #8b8b8b;--ion-color-dark-tint: #a8a8a8;--ion-color-warning: #ffde38;--ion-color-warning-rgb: 255, 222, 56;--ion-color-warning-contrast: #000000;--ion-color-warning-contrast-rgb: 0, 0, 0;--ion-color-warning-shade: #e0c331;--ion-color-warning-tint: #ffe14c;--swiper-pagination-color: var(--ion-color-primary);--swiper-navigation-color: var(--ion-color-primary);--swiper-pagination-bullet-inactive-color: var(--ion-color-dark)}body.dark,html.ion-palette-dark,body[data-theme=dark]{--ion-color-texti: #8fc1ff;--ion-color-texti-rgb: 143, 193, 255;--ion-color-texti-contrast: #000000;--ion-color-texti-contrast-rgb: 0, 0, 0;--ion-color-texti-shade: #7eaae0;--ion-color-texti-tint: #9ac7ff;--ion-color-darki: #ffffff;--ion-color-darki-rgb: 255, 255, 255;--ion-color-darki-contrast: #000000;--ion-color-darki-contrast-rgb: 0, 0, 0;--ion-color-darki-shade: #e0e0e0;--ion-color-darki-tint: #ffffff;--ion-color-primary: #8f49f8;--ion-color-primary-rgb: 143, 73, 248;--ion-color-primary-contrast: #ffffff;--ion-color-primary-contrast-rgb: 255, 255, 255;--ion-color-primary-shade: #7e40da;--ion-color-primary-tint: #9a5bf9}.ion-color-texti{--ion-color-base: var(--ion-color-texti);--ion-color-base-rgb: var(--ion-color-texti-rgb);--ion-color-contrast: var(--ion-color-texti-contrast);--ion-color-contrast-rgb: var(--ion-color-texti-contrast-rgb);--ion-color-shade: var(--ion-color-texti-shade);--ion-color-tint: var(--ion-color-texti-tint)}.ion-color-darki{--ion-color-base: var(--ion-color-darki);--ion-color-base-rgb: var(--ion-color-darki-rgb);--ion-color-contrast: var(--ion-color-darki-contrast);--ion-color-contrast-rgb: var(--ion-color-darki-contrast-rgb);--ion-color-shade: var(--ion-color-darki-shade);--ion-color-tint: var(--ion-color-darki-tint)}ion-button{font-family:var(--ion-default-font),Arial,sans-serif}.left-buttons{margin-left:-1rem}.right-buttons{align-items:center;gap:4px}.background{background:var(--ion-background-color)}:host ion-title{--color: var(--ion-text-color)}:host ion-button{--color: var(--ion-text-color)}:host ion-icon{color:var(--ion-text-color)}:host val-user-avatar+val-user-avatar{margin-left:6px}:host val-font-size-selector,:host val-language-selector{display:inline-flex;align-items:center}:host ion-menu-button{min-width:44px;width:44px;height:44px;margin-left:4px}\n"] }]
378
+ `, styles: ["@charset \"UTF-8\";:root{--val-container-sm: 540px;--val-container-md: 720px;--val-container-lg: 880px;--val-container-xl: 1100px;--val-container-xl-wide: 1280px;--val-container-md-wide: 900px;--val-container-aside: 0px;--val-container-padding: 16px;--ion-color-primary: #7026df;--ion-color-primary-rgb: 112, 38, 223;--ion-color-primary-contrast: #ffffff;--ion-color-primary-contrast-rgb: 255, 255, 255;--ion-color-primary-shade: #6321c4;--ion-color-primary-tint: #7e3ce2;--ion-color-secondary: #e2ccff;--ion-color-secondary-rgb: 226, 204, 255;--ion-color-secondary-contrast: #000000;--ion-color-secondary-contrast-rgb: 0, 0, 0;--ion-color-secondary-shade: #c7b4e0;--ion-color-secondary-tint: #e5d1ff;--ion-color-texti: #354c69;--ion-color-texti-rgb: 53, 76, 105;--ion-color-texti-contrast: #ffffff;--ion-color-texti-contrast-rgb: 255, 255, 255;--ion-color-texti-shade: #2f435c;--ion-color-texti-tint: #495e78;--ion-color-darki: #090f1b;--ion-color-darki-rgb: 9, 15, 27;--ion-color-darki-contrast: #ffffff;--ion-color-darki-contrast-rgb: 255, 255, 255;--ion-color-darki-shade: #080d18;--ion-color-darki-tint: #222732;--ion-color-medium: #9e9e9e;--ion-color-medium-rgb: 158, 158, 158;--ion-color-medium-contrast: #000000;--ion-color-medium-contrast-rgb: 0, 0, 0;--ion-color-medium-shade: #8b8b8b;--ion-color-medium-tint: #a8a8a8;--ion-color-warning: #ffde38;--ion-color-warning-rgb: 255, 222, 56;--ion-color-warning-contrast: #000000;--ion-color-warning-contrast-rgb: 0, 0, 0;--ion-color-warning-shade: #e0c331;--ion-color-warning-tint: #ffe14c;--swiper-pagination-color: var(--ion-color-primary);--swiper-navigation-color: var(--ion-color-primary);--swiper-pagination-bullet-inactive-color: var(--ion-color-dark)}body.dark,html.ion-palette-dark,body[data-theme=dark]{--ion-color-texti: #8fc1ff;--ion-color-texti-rgb: 143, 193, 255;--ion-color-texti-contrast: #000000;--ion-color-texti-contrast-rgb: 0, 0, 0;--ion-color-texti-shade: #7eaae0;--ion-color-texti-tint: #9ac7ff;--ion-color-darki: #ffffff;--ion-color-darki-rgb: 255, 255, 255;--ion-color-darki-contrast: #000000;--ion-color-darki-contrast-rgb: 0, 0, 0;--ion-color-darki-shade: #e0e0e0;--ion-color-darki-tint: #ffffff;--ion-color-primary: #8f49f8;--ion-color-primary-rgb: 143, 73, 248;--ion-color-primary-contrast: #ffffff;--ion-color-primary-contrast-rgb: 255, 255, 255;--ion-color-primary-shade: #7e40da;--ion-color-primary-tint: #9a5bf9}.ion-color-texti{--ion-color-base: var(--ion-color-texti);--ion-color-base-rgb: var(--ion-color-texti-rgb);--ion-color-contrast: var(--ion-color-texti-contrast);--ion-color-contrast-rgb: var(--ion-color-texti-contrast-rgb);--ion-color-shade: var(--ion-color-texti-shade);--ion-color-tint: var(--ion-color-texti-tint)}.ion-color-darki{--ion-color-base: var(--ion-color-darki);--ion-color-base-rgb: var(--ion-color-darki-rgb);--ion-color-contrast: var(--ion-color-darki-contrast);--ion-color-contrast-rgb: var(--ion-color-darki-contrast-rgb);--ion-color-shade: var(--ion-color-darki-shade);--ion-color-tint: var(--ion-color-darki-tint)}ion-button{font-family:var(--ion-default-font),Arial,sans-serif}.left-buttons{margin-left:-1rem}.right-buttons{align-items:center;gap:4px}.background{background:var(--ion-background-color)}:host ion-title{--color: var(--ion-text-color)}:host ion-button{--color: var(--ion-text-color)}:host ion-icon{color:var(--ion-text-color)}:host val-user-avatar+val-user-avatar{margin-left:6px}:host val-font-size-selector,:host val-language-selector{display:inline-flex;align-items:center}:host ion-menu-button{min-width:44px;width:44px;height:44px;margin-left:4px}\n"] }]
379
379
  }], ctorParameters: () => [{ type: i1.IconService }], propDecorators: { props: [{
380
380
  type: Input
381
381
  }], onClick: [{
382
382
  type: Output
383
383
  }] } });
384
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9vbGJhci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvbXBvbmVudHMvb3JnYW5pc21zL3Rvb2xiYXIvdG9vbGJhci5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQVUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3ZGLE9BQU8sRUFDTCxTQUFTLEVBQ1QsVUFBVSxFQUNWLE9BQU8sRUFDUCxhQUFhLEVBQ2IsT0FBTyxFQUNQLFFBQVEsRUFDUixVQUFVLEdBQ1gsTUFBTSwyQkFBMkIsQ0FBQztBQUNuQyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sVUFBVSxDQUFDO0FBQ3BDLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3BELE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUN6QyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxpREFBaUQsQ0FBQztBQUVwRixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFDdEUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQ25FLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLCtDQUErQyxDQUFDO0FBQ3BGLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLCtEQUErRCxDQUFDO0FBQzFHLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLGlFQUFpRSxDQUFDO0FBQzVHLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLHlEQUF5RCxDQUFDO0FBQ2pHLE9BQU8sRUFBaUIsaUJBQWlCLEVBQUUsTUFBTSxhQUFhLENBQUM7Ozs7QUFHL0Q7Ozs7Ozs7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Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FpSFQ7Z0ZBUUQsS0FBSztzQkFESixLQUFLO2dCQWNOLE9BQU87c0JBRE4sTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgaW5qZWN0LCBJbnB1dCwgT25Jbml0LCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gIElvbkJ1dHRvbixcbiAgSW9uQnV0dG9ucyxcbiAgSW9uSWNvbixcbiAgSW9uTWVudUJ1dHRvbixcbiAgSW9uVGV4dCxcbiAgSW9uVGl0bGUsXG4gIElvblRvb2xiYXIsXG59IGZyb20gJ0Bpb25pYy9hbmd1bGFyL3N0YW5kYWxvbmUnO1xuaW1wb3J0IHsgYWRkSWNvbnMgfSBmcm9tICdpb25pY29ucyc7XG5pbXBvcnQgeyBjaGV2cm9uQmFja091dGxpbmUgfSBmcm9tICdpb25pY29ucy9pY29ucyc7XG5pbXBvcnQgeyBSb3V0ZXIgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgTmF2aWdhdGlvblNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9uYXZpZ2F0aW9uL25hdmlnYXRpb24uc2VydmljZSc7XG5pbXBvcnQgeyBJY29uU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL2ljb25zLnNlcnZpY2UnO1xuaW1wb3J0IHsgQXZhdGFyQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vYXRvbXMvYXZhdGFyL2F2YXRhci5jb21wb25lbnQnO1xuaW1wb3J0IHsgSW1hZ2VDb21wb25lbnQgfSBmcm9tICcuLi8uLi9hdG9tcy9pbWFnZS9pbWFnZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgVXNlckF2YXRhckNvbXBvbmVudCB9IGZyb20gJy4uLy4uL2F0b21zL3VzZXItYXZhdGFyL3VzZXItYXZhdGFyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBMYW5ndWFnZVNlbGVjdG9yQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vbW9sZWN1bGVzL2xhbmd1YWdlLXNlbGVjdG9yL2xhbmd1YWdlLXNlbGVjdG9yLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBGb250U2l6ZVNlbGVjdG9yQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vbW9sZWN1bGVzL2ZvbnQtc2l6ZS1zZWxlY3Rvci9mb250LXNpemUtc2VsZWN0b3IuY29tcG9uZW50JztcbmltcG9ydCB7IFRoZW1lU2VsZWN0b3JDb21wb25lbnQgfSBmcm9tICcuLi8uLi9tb2xlY3VsZXMvdGhlbWUtc2VsZWN0b3IvdGhlbWUtc2VsZWN0b3IuY29tcG9uZW50JztcbmltcG9ydCB7IFRvb2xiYXJBY3Rpb24sIFRvb2xiYXJBY3Rpb25UeXBlIH0gZnJvbSAnLi4vLi4vdHlwZXMnO1xuaW1wb3J0IHsgVG9vbGJhck1ldGFkYXRhIH0gZnJvbSAnLi90eXBlcyc7XG5cbi8qKlxuICogVG9vbGJhckNvbXBvbmVudFxuICpcbiAqIENvbXBvbmVudGUgZGUgYmFycmEgZGUgaGVycmFtaWVudGFzIHJldXRpbGl6YWJsZSBwYXJhIGVuY2FiZXphZG9zIHkgcGllcyBkZSBww6FnaW5hLlxuICogUGVybWl0ZSBhY2Npb25lcywgYm90w7NuIGRlIHJldHJvY2VzbywgbWVuw7ogeSBwZXJzb25hbGl6YWNpw7NuIGRlIGNvbG9yZXMgeSB0w610dWxvLlxuICpcbiAqIEBleGFtcGxlXG4gKiA8dmFsLXRvb2xiYXIgW3Byb3BzXT1cInsgdGl0bGU6ICdNaSBBcHAnLCB3aXRoQmFjazogdHJ1ZSwgYWN0aW9uczogWy4uLl0gfVwiIChvbkNsaWNrKT1cImhhbmRsZVRvb2xiYXJBY3Rpb24oJGV2ZW50KVwiPjwvdmFsLXRvb2xiYXI+XG4gKlxuICogQGlucHV0IHByb3BzIHtUb29sYmFyTWV0YWRhdGF9IC0gTWV0YWRhdG9zIGRlIGxhIGJhcnJhIGRlIGhlcnJhbWllbnRhcy5cbiAqIEBvdXRwdXQgb25DbGljayAtIEVtaXRlIGVsIHRva2VuIGRlIGxhIGFjY2nDs24gY2xpY2FkYS5cbiAqL1xuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndmFsLXRvb2xiYXInLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbXG4gICAgQ29tbW9uTW9kdWxlLFxuICAgIElvblRvb2xiYXIsXG4gICAgSW9uQnV0dG9ucyxcbiAgICBJb25CdXR0b24sXG4gICAgSW9uSWNvbixcbiAgICBJb25UZXh0LFxuICAgIElvblRpdGxlLFxuICAgIEF2YXRhckNvbXBvbmVudCxcbiAgICBJbWFnZUNvbXBvbmVudCxcbiAgICBVc2VyQXZhdGFyQ29tcG9uZW50LFxuICAgIElvbk1lbnVCdXR0b24sXG4gICAgTGFuZ3VhZ2VTZWxlY3RvckNvbXBvbmVudCxcbiAgICBGb250U2l6ZVNlbGVjdG9yQ29tcG9uZW50LFxuICAgIFRoZW1lU2VsZWN0b3JDb21wb25lbnQsXG4gIF0sXG4gIHRlbXBsYXRlOiBgXG4gICAgPGlvbi10b29sYmFyIFtjb2xvcl09XCJwcm9wcy5jb2xvclwiIFtjbGFzcy5iYWNrZ3JvdW5kXT1cInByb3BzLmNvbG9yID09PSAnYmFja2dyb3VuZCdcIj5cbiAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJwcm9wcy53aXRoQmFja1wiPlxuICAgICAgICA8aW9uLWJ1dHRvbnMgY2xhc3M9XCJsZWZ0LWJ1dHRvbnNcIiBzbG90PVwic3RhcnRcIiAqbmdJZj1cInByb3BzLndpdGhCYWNrXCI+XG4gICAgICAgICAgPGlvbi1idXR0b25cbiAgICAgICAgICAgIGZpbGw9XCJjbGVhclwiXG4gICAgICAgICAgICAoY2xpY2spPVwiZ29CYWNrKClcIlxuICAgICAgICAgICAgW2NvbG9yXT1cInByb3BzLnRleHRDb2xvclwiXG4gICAgICAgICAgICBzdHlsZT1cIm1hcmdpbi1sZWZ0OiA4cHg7XCJcbiAgICAgICAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwicHJvcHMuYmFja1RleHQgfHwgJ1ZvbHZlcidcIlxuICAgICAgICAgID5cbiAgICAgICAgICAgIDxpb24taWNvblxuICAgICAgICAgICAgICBuYW1lPVwiY2hldnJvbi1iYWNrLW91dGxpbmVcIlxuICAgICAgICAgICAgICBbc2xvdF09XCJwcm9wcy5iYWNrVGV4dCA/ICdzdGFydCcgOiAnaWNvbi1vbmx5J1wiXG4gICAgICAgICAgICAgIGFyaWEtaGlkZGVuPVwidHJ1ZVwiXG4gICAgICAgICAgICA+PC9pb24taWNvbj5cbiAgICAgICAgICAgIDxpb24tdGV4dCAqbmdJZj1cInByb3BzLmJhY2tUZXh0XCIgYXJpYS1oaWRkZW49XCJ0cnVlXCI+e3sgcHJvcHMuYmFja1RleHQgfX08L2lvbi10ZXh0PlxuICAgICAgICAgIDwvaW9uLWJ1dHRvbj5cbiAgICAgICAgPC9pb24tYnV0dG9ucz5cbiAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInByb3BzLndpdGhBY3Rpb25zXCI+XG4gICAgICAgIDxpb24tYnV0dG9uc1xuICAgICAgICAgIGNsYXNzPVwicmlnaHQtYnV0dG9uc1wiXG4gICAgICAgICAgc2xvdD1cImVuZFwiXG4gICAgICAgICAgKm5nSWY9XCJcbiAgICAgICAgICAgIHNvbWVJblJpZ2h0KCkgfHwgcHJvcHMud2l0aE1lbnUgfHwgcHJvcHMubGFuZ3VhZ2VTZWxlY3RvciB8fCBwcm9wcy5mb250U2l6ZVNlbGVjdG9yIHx8IHByb3BzLnRoZW1lU2VsZWN0b3JcbiAgICAgICAgICBcIlxuICAgICAgICA+XG4gICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgYWN0aW9uIG9mIHJpZ2h0QWN0aW9ucygpOyB0cmFja0J5OiB0cmFja0J5VG9rZW5cIj5cbiAgICAgICAgICAgIDxpb24tYnV0dG9uXG4gICAgICAgICAgICAgICpuZ0lmPVwiYWN0aW9uLnR5cGUgPT09IGFjdGlvblR5cGVzLklDT05cIlxuICAgICAgICAgICAgICAoY2xpY2spPVwiY2xpY2tIYW5kbGVyKGFjdGlvbi50b2tlbilcIlxuICAgICAgICAgICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cImFjdGlvbi50b2tlblwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIDxpb24taWNvblxuICAgICAgICAgICAgICAgIHNsb3Q9XCJpY29uLW9ubHlcIlxuICAgICAgICAgICAgICAgIFtuYW1lXT1cImFjdGlvbi5kZXNjcmlwdGlvblwiXG4gICAgICAgICAgICAgICAgW2NvbG9yXT1cInByb3BzLnRleHRDb2xvclwiXG4gICAgICAgICAgICAgICAgYXJpYS1oaWRkZW49XCJ0cnVlXCJcbiAgICAgICAgICAgICAgPjwvaW9uLWljb24+XG4gICAgICAgICAgICA8L2lvbi1idXR0b24+XG4gICAgICAgICAgICA8dmFsLXVzZXItYXZhdGFyXG4gICAgICAgICAgICAgICpuZ0lmPVwiYWN0aW9uLnR5cGUgPT09IGFjdGlvblR5cGVzLkFWQVRBUlwiXG4gICAgICAgICAgICAgIFtwcm9wc109XCJ7XG4gICAgICAgICAgICAgICAgdXNlcjogYWN0aW9uLnVzZXIsXG4gICAgICAgICAgICAgICAgYXZhdGFyVXJsOiBhY3Rpb24uZGVzY3JpcHRpb24sXG4gICAgICAgICAgICAgICAgc2l6ZTogYWN0aW9uLmF2YXRhclNpemUgPz8gJ3NtYWxsJyxcbiAgICAgICAgICAgICAgfVwiXG4gICAgICAgICAgICAgIChvbkNsaWNrKT1cImNsaWNrSGFuZGxlcihhY3Rpb24udG9rZW4pXCJcbiAgICAgICAgICAgID48L3ZhbC11c2VyLWF2YXRhcj5cbiAgICAgICAgICAgIDx2YWwtaW1hZ2VcbiAgICAgICAgICAgICAgKm5nSWY9XCJhY3Rpb24udHlwZSA9PT0gYWN0aW9uVHlwZXMuSU1BR0VcIlxuICAgICAgICAgICAgICBbcHJvcHNdPVwiYWN0aW9uLmltYWdlXCJcbiAgICAgICAgICAgICAgKGNsaWNrKT1cImNsaWNrSGFuZGxlcihhY3Rpb24udG9rZW4pXCJcbiAgICAgICAgICAgID48L3ZhbC1pbWFnZT5cbiAgICAgICAgICAgIDxpb24tYnV0dG9uXG4gICAgICAgICAgICAgIFtjb2xvcl09XCJwcm9wcy50ZXh0Q29sb3JcIlxuICAgICAgICAgICAgICAqbmdJZj1cImFjdGlvbi50eXBlID09PSBhY3Rpb25UeXBlcy5CVVRUT05cIlxuICAgICAgICAgICAgICAoY2xpY2spPVwiY2xpY2tIYW5kbGVyKGFjdGlvbi50b2tlbilcIlxuICAgICAgICAgICAgICA+e3sgYWN0aW9uLmRlc2NyaXB0aW9uIH19PC9pb24tYnV0dG9uXG4gICAgICAgICAgICA+XG4gICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgQGlmIChwcm9wcy50aGVtZVNlbGVjdG9yKSB7XG4gICAgICAgICAgICA8dmFsLXRoZW1lLXNlbGVjdG9yIFtwcm9wc109XCJ0aGVtZVNlbGVjdG9yUHJvcHNcIj48L3ZhbC10aGVtZS1zZWxlY3Rvcj5cbiAgICAgICAgICB9XG4gICAgICAgICAgQGlmIChwcm9wcy5mb250U2l6ZVNlbGVjdG9yKSB7XG4gICAgICAgICAgICA8dmFsLWZvbnQtc2l6ZS1zZWxlY3RvciBbcHJvcHNdPVwiZm9udFNpemVTZWxlY3RvclByb3BzXCI+PC92YWwtZm9udC1zaXplLXNlbGVjdG9yPlxuICAgICAgICAgIH1cbiAgICAgICAgICBAaWYgKHByb3BzLmxhbmd1YWdlU2VsZWN0b3IpIHtcbiAgICAgICAgICAgIDx2YWwtbGFuZ3VhZ2Utc2VsZWN0b3IgW3Byb3BzXT1cImxhbmd1YWdlU2VsZWN0b3JQcm9wc1wiPjwvdmFsLWxhbmd1YWdlLXNlbGVjdG9yPlxuICAgICAgICAgIH1cbiAgICAgICAgICBAaWYgKHByb3BzLndpdGhNZW51KSB7XG4gICAgICAgICAgICA8aW9uLW1lbnUtYnV0dG9uIFttZW51XT1cInByb3BzLm1lbnVJZCB8fCAnbWFpbi1tZW51J1wiIGNvbG9yPVwiZGFya1wiPjwvaW9uLW1lbnUtYnV0dG9uPlxuICAgICAgICAgIH1cbiAgICAgICAgPC9pb24tYnV0dG9ucz5cbiAgICAgICAgPGlvbi1idXR0b25zIHNsb3Q9XCJzdGFydFwiICpuZ0lmPVwic29tZUluTGVmdCgpXCIgc3R5bGU9XCJwYWRkaW5nLWxlZnQ6IDRweDtcIj5cbiAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBhY3Rpb24gb2YgbGVmdEFjdGlvbnMoKTsgdHJhY2tCeTogdHJhY2tCeVRva2VuXCI+XG4gICAgICAgICAgICA8aW9uLWJ1dHRvblxuICAgICAgICAgICAgICAqbmdJZj1cImFjdGlvbi50eXBlID09PSBhY3Rpb25UeXBlcy5JQ09OXCJcbiAgICAgICAgICAgICAgKGNsaWNrKT1cImNsaWNrSGFuZGxlcihhY3Rpb24udG9rZW4pXCJcbiAgICAgICAgICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCJhY3Rpb24udG9rZW5cIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICA8aW9uLWljb25cbiAgICAgICAgICAgICAgICBzbG90PVwiaWNvbi1vbmx5XCJcbiAgICAgICAgICAgICAgICBbbmFtZV09XCJhY3Rpb24uZGVzY3JpcHRpb25cIlxuICAgICAgICAgICAgICAgIFtjb2xvcl09XCJwcm9wcy50ZXh0Q29sb3JcIlxuICAgICAgICAgICAgICAgIGFyaWEtaGlkZGVuPVwidHJ1ZVwiXG4gICAgICAgICAgICAgID48L2lvbi1pY29uPlxuICAgICAgICAgICAgPC9pb24tYnV0dG9uPlxuICAgICAgICAgICAgPHZhbC11c2VyLWF2YXRhclxuICAgICAgICAgICAgICAqbmdJZj1cImFjdGlvbi50eXBlID09PSBhY3Rpb25UeXBlcy5BVkFUQVJcIlxuICAgICAgICAgICAgICBbcHJvcHNdPVwie1xuICAgICAgICAgICAgICAgIHVzZXI6IGFjdGlvbi51c2VyLFxuICAgICAgICAgICAgICAgIGF2YXRhclVybDogYWN0aW9uLmRlc2NyaXB0aW9uLFxuICAgICAgICAgICAgICAgIHNpemU6IGFjdGlvbi5hdmF0YXJTaXplID8/ICdzbWFsbCcsXG4gICAgICAgICAgICAgIH1cIlxuICAgICAgICAgICAgICAob25DbGljayk9XCJjbGlja0hhbmRsZXIoYWN0aW9uLnRva2VuKVwiXG4gICAgICAgICAgICA+PC92YWwtdXNlci1hdmF0YXI+XG4gICAgICAgICAgICA8dmFsLWltYWdlXG4gICAgICAgICAgICAgICpuZ0lmPVwiYWN0aW9uLnR5cGUgPT09IGFjdGlvblR5cGVzLklNQUdFXCJcbiAgICAgICAgICAgICAgW3Byb3BzXT1cImFjdGlvbi5pbWFnZVwiXG4gICAgICAgICAgICAgIChjbGljayk9XCJjbGlja0hhbmRsZXIoYWN0aW9uLnRva2VuKVwiXG4gICAgICAgICAgICA+PC92YWwtaW1hZ2U+XG4gICAgICAgICAgICA8aW9uLWJ1dHRvbiAqbmdJZj1cImFjdGlvbi50eXBlID09PSBhY3Rpb25UeXBlcy5CVVRUT05cIiAoY2xpY2spPVwiY2xpY2tIYW5kbGVyKGFjdGlvbi50b2tlbilcIj57e1xuICAgICAgICAgICAgICBhY3Rpb24uZGVzY3JpcHRpb25cbiAgICAgICAgICAgIH19PC9pb24tYnV0dG9uPlxuICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICA8L2lvbi1idXR0b25zPlxuICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICA8aW9uLXRpdGxlICpuZ0lmPVwicHJvcHMudGl0bGVcIiBbY29sb3JdPVwicHJvcHMudGV4dENvbG9yXCI+e3sgcHJvcHMudGl0bGUgfX08L2lvbi10aXRsZT5cbiAgICAgIDwhLS0gZXhwZXJpbWVudGFsIC0tPlxuICAgICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiW3Rvb2xiYXItYm90dG9tXVwiPjwvbmctY29udGVudD5cbiAgICA8L2lvbi10b29sYmFyPlxuICBgLFxuICBzdHlsZVVybHM6IFsnLi90b29sYmFyLmNvbXBvbmVudC5zY3NzJ10sXG59KVxuZXhwb3J0IGNsYXNzIFRvb2xiYXJDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICAvKipcbiAgICogTWV0YWRhdG9zIGRlIGxhIGJhcnJhIGRlIGhlcnJhbWllbnRhcy5cbiAgICovXG4gIEBJbnB1dCgpXG4gIHByb3BzOiBUb29sYmFyTWV0YWRhdGE7XG5cbiAgcHJpdmF0ZSBfbHNwSW5wdXQ6IHsgbHM6IGFueTsgY29sb3I6IGFueSB9ID0geyBsczogbnVsbCwgY29sb3I6IG51bGwgfTtcbiAgcHJpdmF0ZSBfbHNwQ2FjaGU6IGFueSA9IG51bGw7XG4gIHByaXZhdGUgX2Zzc0lucHV0OiB7IGZzczogYW55OyBjb2xvcjogYW55IH0gPSB7IGZzczogbnVsbCwgY29sb3I6IG51bGwgfTtcbiAgcHJpdmF0ZSBfZnNzQ2FjaGU6IGFueSA9IG51bGw7XG4gIHByaXZhdGUgX3RzSW5wdXQ6IHsgdHM6IGFueTsgY29sb3I6IGFueSB9ID0geyB0czogbnVsbCwgY29sb3I6IG51bGwgfTtcbiAgcHJpdmF0ZSBfdHNDYWNoZTogYW55ID0gbnVsbDtcblxuICAvKipcbiAgICogRXZlbnRvIGVtaXRpZG8gYWwgaGFjZXIgY2xpY2sgZW4gdW5hIGFjY2nDs24gbyBib3TDs24gZGUgbGEgYmFycmEuXG4gICAqL1xuICBAT3V0cHV0KClcbiAgb25DbGljayA9IG5ldyBFdmVudEVtaXR0ZXI8c3RyaW5nPigpO1xuXG4gIGFjdGlvblR5cGVzID0gVG9vbGJhckFjdGlvblR5cGU7XG5cbiAgcHJpdmF0ZSBuYXYgPSBpbmplY3QoTmF2aWdhdGlvblNlcnZpY2UpO1xuICBwcml2YXRlIHJvdXRlciA9IGluamVjdChSb3V0ZXIpO1xuXG4gIGNvbnN0cnVjdG9yKGljb246IEljb25TZXJ2aWNlKSB7XG4gICAgYWRkSWNvbnMoeyBjaGV2cm9uQmFja091dGxpbmUgfSk7XG4gIH1cblxuICBuZ09uSW5pdCgpIHt9XG5cbiAgLyoqXG4gICAqIEVtaXRlIGVsIHRva2VuIGRlIGxhIGFjY2nDs24gY2xpY2FkYS5cbiAgICogQHBhcmFtIHRva2VuIFRva2VuIGRlIGxhIGFjY2nDs25cbiAgICovXG4gIGNsaWNrSGFuZGxlcih0b2tlbj86IHN0cmluZykge1xuICAgIHRoaXMub25DbGljay5lbWl0KHRva2VuKTtcbiAgfVxuXG4gIGdvQmFjaygpIHtcbiAgICAvLyBDb24gZGVzdGlubyBleHBsw61jaXRvIHNlIG5hdmVnYSBhaMOtOiBlbCBoaXN0b3JpYWwgbm8gc2FiZSBhIHF1w6kgdGFiIG9cbiAgICAvLyBmaWx0cm8gdm9sdmVyIHNpIGxhIHZpc3RhIGFudGVyaW9yIGxvIGd1YXJkYWJhIGVuIGxhIFVSTC5cbiAgICBjb25zdCBocmVmID0gdGhpcy5wcm9wcy5iYWNrSHJlZjtcbiAgICBpZiAoaHJlZikge1xuICAgICAgdm9pZCB0aGlzLnJvdXRlci5uYXZpZ2F0ZUJ5VXJsKGhyZWYpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICB0aGlzLm5hdi5iYWNrKCk7XG4gIH1cblxuICAvKipcbiAgICogRGV0ZXJtaW5hIHNpIGhheSBhY2Npb25lcyBhIGxhIGRlcmVjaGEuXG4gICAqL1xuICBzb21lSW5SaWdodCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gISF0aGlzLnByb3BzLmFjdGlvbnMuZmluZCh4ID0+IHgucG9zaXRpb24gPT09ICdyaWdodCcpO1xuICB9XG5cbiAgLyoqXG4gICAqIERldGVybWluYSBzaSBoYXkgYWNjaW9uZXMgYSBsYSBpenF1aWVyZGEuXG4gICAqL1xuICBzb21lSW5MZWZ0KCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiAhIXRoaXMucHJvcHMuYWN0aW9ucy5maW5kKHggPT4geC5wb3NpdGlvbiA9PT0gJ2xlZnQnKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBEZXZ1ZWx2ZSBsYXMgYWNjaW9uZXMgZGUgbGEgZGVyZWNoYS5cbiAgICovXG4gIHJpZ2h0QWN0aW9ucygpOiBUb29sYmFyQWN0aW9uW10ge1xuICAgIHJldHVybiB0aGlzLnByb3BzLmFjdGlvbnMuZmlsdGVyKHggPT4geC5wb3NpdGlvbiA9PT0gJ3JpZ2h0Jyk7XG4gIH1cblxuICAvKipcbiAgICogRGV2dWVsdmUgbGFzIGFjY2lvbmVzIGRlIGxhIGl6cXVpZXJkYS5cbiAgICovXG4gIGxlZnRBY3Rpb25zKCk6IFRvb2xiYXJBY3Rpb25bXSB7XG4gICAgcmV0dXJuIHRoaXMucHJvcHMuYWN0aW9ucy5maWx0ZXIoeCA9PiB4LnBvc2l0aW9uID09PSAnbGVmdCcpO1xuICB9XG5cbiAgLyoqXG4gICAqIHRyYWNrQnkgcG9yIGB0b2tlbmAgcGFyYSBlbCAqbmdGb3IgZGUgYWNjaW9uZXMuIFNpbiBlc3RvLCBjb21vIHJpZ2h0QWN0aW9ucygpL1xuICAgKiBsZWZ0QWN0aW9ucygpIGRldnVlbHZlbiB1biBhcnJheSBOVUVWTyBlbiBjYWRhIGNoYW5nZSBkZXRlY3Rpb24sIEFuZ3VsYXIgZGlmZmVhXG4gICAqIHBvciBpZGVudGlkYWQgeSBERVNUUlVZRS9SRUNSRUEgbG9zIG5vZG9zICh2YWwtdXNlci1hdmF0YXIgLyB2YWwtaW1hZ2UpIGN1YW5kb1xuICAgKiBjYW1iaWEgbGEgcmVmZXJlbmNpYSDihpIgZWwgPGltZz4gc2UgcmVjcmVhIHkgcmVhcGFyZWNlIGVsIGZhbGxiYWNrIChcInBhcnBhZGVvXCIpLlxuICAgKiBDb24ga2V5IGVzdGFibGUsIEFuZ3VsYXIgcmV1c2EgZWwgZWxlbWVudG8gZXhpc3RlbnRlIOKGkiBzaW4gcmVjYXJnYSBuaSBmbGlja2VyLlxuICAgKi9cbiAgdHJhY2tCeVRva2VuKF9pbmRleDogbnVtYmVyLCBhY3Rpb246IFRvb2xiYXJBY3Rpb24pOiBzdHJpbmcge1xuICAgIHJldHVybiBhY3Rpb24udG9rZW47XG4gIH1cblxuICAvKipcbiAgICogTGFuZ3VhZ2Ugc2VsZWN0b3IgcHJvcHMg4oCUIG1lbW9pemVkIHRvIGF2b2lkIG5ldyBvYmplY3QgcmVmZXJlbmNlIG9uIGV2ZXJ5IENEIGN5Y2xlLlxuICAgKi9cbiAgZ2V0IGZvbnRTaXplU2VsZWN0b3JQcm9wcygpIHtcbiAgICBjb25zdCBmc3MgPSB0aGlzLnByb3BzLmZvbnRTaXplU2VsZWN0b3I7XG4gICAgY29uc3QgY29sb3IgPSB0aGlzLnByb3BzLnRleHRDb2xvcjtcbiAgICBpZiAodGhpcy5fZnNzQ2FjaGUgIT09IG51bGwgJiYgdGhpcy5fZnNzSW5wdXQuZnNzID09PSBmc3MgJiYgdGhpcy5fZnNzSW5wdXQuY29sb3IgPT09IGNvbG9yKSB7XG4gICAgICByZXR1cm4gdGhpcy5fZnNzQ2FjaGU7XG4gICAgfVxuICAgIHRoaXMuX2Zzc0lucHV0ID0geyBmc3MsIGNvbG9yIH07XG4gICAgdGhpcy5fZnNzQ2FjaGUgPSB7IGNvbG9yOiBjb2xvciB8fCAnZGFyaycsIC4uLmZzcyB9O1xuICAgIHJldHVybiB0aGlzLl9mc3NDYWNoZTtcbiAgfVxuXG4gIGdldCB0aGVtZVNlbGVjdG9yUHJvcHMoKSB7XG4gICAgY29uc3QgdHMgPSB0aGlzLnByb3BzLnRoZW1lU2VsZWN0b3I7XG4gICAgY29uc3QgY29sb3IgPSB0aGlzLnByb3BzLnRleHRDb2xvcjtcbiAgICBpZiAodGhpcy5fdHNDYWNoZSAhPT0gbnVsbCAmJiB0aGlzLl90c0lucHV0LnRzID09PSB0cyAmJiB0aGlzLl90c0lucHV0LmNvbG9yID09PSBjb2xvcikge1xuICAgICAgcmV0dXJuIHRoaXMuX3RzQ2FjaGU7XG4gICAgfVxuICAgIHRoaXMuX3RzSW5wdXQgPSB7IHRzLCBjb2xvciB9O1xuICAgIHRoaXMuX3RzQ2FjaGUgPSB7IGNvbG9yOiBjb2xvciB8fCAnbWVkaXVtJywgLi4udHMgfTtcbiAgICByZXR1cm4gdGhpcy5fdHNDYWNoZTtcbiAgfVxuXG4gIGdldCBsYW5ndWFnZVNlbGVjdG9yUHJvcHMoKSB7XG4gICAgY29uc3QgbHMgPSB0aGlzLnByb3BzLmxhbmd1YWdlU2VsZWN0b3I7XG4gICAgY29uc3QgY29sb3IgPSB0aGlzLnByb3BzLnRleHRDb2xvcjtcbiAgICBpZiAodGhpcy5fbHNwQ2FjaGUgIT09IG51bGwgJiYgdGhpcy5fbHNwSW5wdXQubHMgPT09IGxzICYmIHRoaXMuX2xzcElucHV0LmNvbG9yID09PSBjb2xvcikge1xuICAgICAgcmV0dXJuIHRoaXMuX2xzcENhY2hlO1xuICAgIH1cbiAgICB0aGlzLl9sc3BJbnB1dCA9IHsgbHMsIGNvbG9yIH07XG4gICAgdGhpcy5fbHNwQ2FjaGUgPSB7IG1vZGU6ICdpY29uJyBhcyBjb25zdCwgY29sb3I6IGNvbG9yIHx8ICdkYXJrJywgLi4ubHMgfTtcbiAgICByZXR1cm4gdGhpcy5fbHNwQ2FjaGU7XG4gIH1cbn1cbiJdfQ==
384
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9vbGJhci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvbXBvbmVudHMvb3JnYW5pc21zL3Rvb2xiYXIvdG9vbGJhci5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQVUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3ZGLE9BQU8sRUFDTCxTQUFTLEVBQ1QsVUFBVSxFQUNWLE9BQU8sRUFDUCxhQUFhLEVBQ2IsT0FBTyxFQUNQLFFBQVEsRUFDUixVQUFVLEdBQ1gsTUFBTSwyQkFBMkIsQ0FBQztBQUNuQyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sVUFBVSxDQUFDO0FBQ3BDLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3BELE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUN6QyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxpREFBaUQsQ0FBQztBQUVwRixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFDdEUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQ25FLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLCtDQUErQyxDQUFDO0FBQ3BGLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLCtEQUErRCxDQUFDO0FBQzFHLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLGlFQUFpRSxDQUFDO0FBQzVHLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLHlEQUF5RCxDQUFDO0FBQ2pHLE9BQU8sRUFBaUIsaUJBQWlCLEVBQUUsTUFBTSxhQUFhLENBQUM7Ozs7QUFHL0Q7Ozs7Ozs7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Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FpSFQ7Z0ZBUUQsS0FBSztzQkFESixLQUFLO2dCQWNOLE9BQU87c0JBRE4sTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgaW5qZWN0LCBJbnB1dCwgT25Jbml0LCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gIElvbkJ1dHRvbixcbiAgSW9uQnV0dG9ucyxcbiAgSW9uSWNvbixcbiAgSW9uTWVudUJ1dHRvbixcbiAgSW9uVGV4dCxcbiAgSW9uVGl0bGUsXG4gIElvblRvb2xiYXIsXG59IGZyb20gJ0Bpb25pYy9hbmd1bGFyL3N0YW5kYWxvbmUnO1xuaW1wb3J0IHsgYWRkSWNvbnMgfSBmcm9tICdpb25pY29ucyc7XG5pbXBvcnQgeyBjaGV2cm9uQmFja091dGxpbmUgfSBmcm9tICdpb25pY29ucy9pY29ucyc7XG5pbXBvcnQgeyBSb3V0ZXIgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgTmF2aWdhdGlvblNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9uYXZpZ2F0aW9uL25hdmlnYXRpb24uc2VydmljZSc7XG5pbXBvcnQgeyBJY29uU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL2ljb25zLnNlcnZpY2UnO1xuaW1wb3J0IHsgQXZhdGFyQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vYXRvbXMvYXZhdGFyL2F2YXRhci5jb21wb25lbnQnO1xuaW1wb3J0IHsgSW1hZ2VDb21wb25lbnQgfSBmcm9tICcuLi8uLi9hdG9tcy9pbWFnZS9pbWFnZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgVXNlckF2YXRhckNvbXBvbmVudCB9IGZyb20gJy4uLy4uL2F0b21zL3VzZXItYXZhdGFyL3VzZXItYXZhdGFyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBMYW5ndWFnZVNlbGVjdG9yQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vbW9sZWN1bGVzL2xhbmd1YWdlLXNlbGVjdG9yL2xhbmd1YWdlLXNlbGVjdG9yLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBGb250U2l6ZVNlbGVjdG9yQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vbW9sZWN1bGVzL2ZvbnQtc2l6ZS1zZWxlY3Rvci9mb250LXNpemUtc2VsZWN0b3IuY29tcG9uZW50JztcbmltcG9ydCB7IFRoZW1lU2VsZWN0b3JDb21wb25lbnQgfSBmcm9tICcuLi8uLi9tb2xlY3VsZXMvdGhlbWUtc2VsZWN0b3IvdGhlbWUtc2VsZWN0b3IuY29tcG9uZW50JztcbmltcG9ydCB7IFRvb2xiYXJBY3Rpb24sIFRvb2xiYXJBY3Rpb25UeXBlIH0gZnJvbSAnLi4vLi4vdHlwZXMnO1xuaW1wb3J0IHsgVG9vbGJhck1ldGFkYXRhIH0gZnJvbSAnLi90eXBlcyc7XG5cbi8qKlxuICogVG9vbGJhckNvbXBvbmVudFxuICpcbiAqIENvbXBvbmVudGUgZGUgYmFycmEgZGUgaGVycmFtaWVudGFzIHJldXRpbGl6YWJsZSBwYXJhIGVuY2FiZXphZG9zIHkgcGllcyBkZSBww6FnaW5hLlxuICogUGVybWl0ZSBhY2Npb25lcywgYm90w7NuIGRlIHJldHJvY2VzbywgbWVuw7ogeSBwZXJzb25hbGl6YWNpw7NuIGRlIGNvbG9yZXMgeSB0w610dWxvLlxuICpcbiAqIEBleGFtcGxlXG4gKiA8dmFsLXRvb2xiYXIgW3Byb3BzXT1cInsgdGl0bGU6ICdNaSBBcHAnLCB3aXRoQmFjazogdHJ1ZSwgYWN0aW9uczogWy4uLl0gfVwiIChvbkNsaWNrKT1cImhhbmRsZVRvb2xiYXJBY3Rpb24oJGV2ZW50KVwiPjwvdmFsLXRvb2xiYXI+XG4gKlxuICogQGlucHV0IHByb3BzIHtUb29sYmFyTWV0YWRhdGF9IC0gTWV0YWRhdG9zIGRlIGxhIGJhcnJhIGRlIGhlcnJhbWllbnRhcy5cbiAqIEBvdXRwdXQgb25DbGljayAtIEVtaXRlIGVsIHRva2VuIGRlIGxhIGFjY2nDs24gY2xpY2FkYS5cbiAqL1xuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndmFsLXRvb2xiYXInLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbXG4gICAgQ29tbW9uTW9kdWxlLFxuICAgIElvblRvb2xiYXIsXG4gICAgSW9uQnV0dG9ucyxcbiAgICBJb25CdXR0b24sXG4gICAgSW9uSWNvbixcbiAgICBJb25UZXh0LFxuICAgIElvblRpdGxlLFxuICAgIEF2YXRhckNvbXBvbmVudCxcbiAgICBJbWFnZUNvbXBvbmVudCxcbiAgICBVc2VyQXZhdGFyQ29tcG9uZW50LFxuICAgIElvbk1lbnVCdXR0b24sXG4gICAgTGFuZ3VhZ2VTZWxlY3RvckNvbXBvbmVudCxcbiAgICBGb250U2l6ZVNlbGVjdG9yQ29tcG9uZW50LFxuICAgIFRoZW1lU2VsZWN0b3JDb21wb25lbnQsXG4gIF0sXG4gIHRlbXBsYXRlOiBgXG4gICAgPGlvbi10b29sYmFyIFtjb2xvcl09XCJwcm9wcy5jb2xvclwiIFtjbGFzcy5iYWNrZ3JvdW5kXT1cInByb3BzLmNvbG9yID09PSAnYmFja2dyb3VuZCdcIj5cbiAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJwcm9wcy53aXRoQmFja1wiPlxuICAgICAgICA8aW9uLWJ1dHRvbnMgY2xhc3M9XCJsZWZ0LWJ1dHRvbnNcIiBzbG90PVwic3RhcnRcIiAqbmdJZj1cInByb3BzLndpdGhCYWNrXCI+XG4gICAgICAgICAgPGlvbi1idXR0b25cbiAgICAgICAgICAgIGZpbGw9XCJjbGVhclwiXG4gICAgICAgICAgICAoY2xpY2spPVwiZ29CYWNrKClcIlxuICAgICAgICAgICAgW2NvbG9yXT1cInByb3BzLnRleHRDb2xvclwiXG4gICAgICAgICAgICBzdHlsZT1cIm1hcmdpbi1sZWZ0OiA4cHg7XCJcbiAgICAgICAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwicHJvcHMuYmFja1RleHQgfHwgJ1ZvbHZlcidcIlxuICAgICAgICAgID5cbiAgICAgICAgICAgIDxpb24taWNvblxuICAgICAgICAgICAgICBuYW1lPVwiY2hldnJvbi1iYWNrLW91dGxpbmVcIlxuICAgICAgICAgICAgICBbc2xvdF09XCJwcm9wcy5iYWNrVGV4dCA/ICdzdGFydCcgOiAnaWNvbi1vbmx5J1wiXG4gICAgICAgICAgICAgIGFyaWEtaGlkZGVuPVwidHJ1ZVwiXG4gICAgICAgICAgICA+PC9pb24taWNvbj5cbiAgICAgICAgICAgIDxpb24tdGV4dCAqbmdJZj1cInByb3BzLmJhY2tUZXh0XCIgYXJpYS1oaWRkZW49XCJ0cnVlXCI+e3sgcHJvcHMuYmFja1RleHQgfX08L2lvbi10ZXh0PlxuICAgICAgICAgIDwvaW9uLWJ1dHRvbj5cbiAgICAgICAgPC9pb24tYnV0dG9ucz5cbiAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInByb3BzLndpdGhBY3Rpb25zXCI+XG4gICAgICAgIDxpb24tYnV0dG9uc1xuICAgICAgICAgIGNsYXNzPVwicmlnaHQtYnV0dG9uc1wiXG4gICAgICAgICAgc2xvdD1cImVuZFwiXG4gICAgICAgICAgKm5nSWY9XCJcbiAgICAgICAgICAgIHNvbWVJblJpZ2h0KCkgfHwgcHJvcHMud2l0aE1lbnUgfHwgcHJvcHMubGFuZ3VhZ2VTZWxlY3RvciB8fCBwcm9wcy5mb250U2l6ZVNlbGVjdG9yIHx8IHByb3BzLnRoZW1lU2VsZWN0b3JcbiAgICAgICAgICBcIlxuICAgICAgICA+XG4gICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgYWN0aW9uIG9mIHJpZ2h0QWN0aW9ucygpOyB0cmFja0J5OiB0cmFja0J5VG9rZW5cIj5cbiAgICAgICAgICAgIDxpb24tYnV0dG9uXG4gICAgICAgICAgICAgICpuZ0lmPVwiYWN0aW9uLnR5cGUgPT09IGFjdGlvblR5cGVzLklDT05cIlxuICAgICAgICAgICAgICAoY2xpY2spPVwiY2xpY2tIYW5kbGVyKGFjdGlvbi50b2tlbilcIlxuICAgICAgICAgICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cImFjdGlvbi50b2tlblwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIDxpb24taWNvblxuICAgICAgICAgICAgICAgIHNsb3Q9XCJpY29uLW9ubHlcIlxuICAgICAgICAgICAgICAgIFtuYW1lXT1cImFjdGlvbi5kZXNjcmlwdGlvblwiXG4gICAgICAgICAgICAgICAgW2NvbG9yXT1cInByb3BzLnRleHRDb2xvclwiXG4gICAgICAgICAgICAgICAgYXJpYS1oaWRkZW49XCJ0cnVlXCJcbiAgICAgICAgICAgICAgPjwvaW9uLWljb24+XG4gICAgICAgICAgICA8L2lvbi1idXR0b24+XG4gICAgICAgICAgICA8dmFsLXVzZXItYXZhdGFyXG4gICAgICAgICAgICAgICpuZ0lmPVwiYWN0aW9uLnR5cGUgPT09IGFjdGlvblR5cGVzLkFWQVRBUlwiXG4gICAgICAgICAgICAgIFtwcm9wc109XCJ7XG4gICAgICAgICAgICAgICAgdXNlcjogYWN0aW9uLnVzZXIsXG4gICAgICAgICAgICAgICAgYXZhdGFyVXJsOiBhY3Rpb24uZGVzY3JpcHRpb24sXG4gICAgICAgICAgICAgICAgc2l6ZTogYWN0aW9uLmF2YXRhclNpemUgPz8gJ3NtYWxsJyxcbiAgICAgICAgICAgICAgfVwiXG4gICAgICAgICAgICAgIChvbkNsaWNrKT1cImNsaWNrSGFuZGxlcihhY3Rpb24udG9rZW4pXCJcbiAgICAgICAgICAgID48L3ZhbC11c2VyLWF2YXRhcj5cbiAgICAgICAgICAgIDx2YWwtaW1hZ2VcbiAgICAgICAgICAgICAgKm5nSWY9XCJhY3Rpb24udHlwZSA9PT0gYWN0aW9uVHlwZXMuSU1BR0VcIlxuICAgICAgICAgICAgICBbcHJvcHNdPVwiYWN0aW9uLmltYWdlXCJcbiAgICAgICAgICAgICAgKGNsaWNrKT1cImNsaWNrSGFuZGxlcihhY3Rpb24udG9rZW4pXCJcbiAgICAgICAgICAgID48L3ZhbC1pbWFnZT5cbiAgICAgICAgICAgIDxpb24tYnV0dG9uXG4gICAgICAgICAgICAgIFtjb2xvcl09XCJwcm9wcy50ZXh0Q29sb3JcIlxuICAgICAgICAgICAgICAqbmdJZj1cImFjdGlvbi50eXBlID09PSBhY3Rpb25UeXBlcy5CVVRUT05cIlxuICAgICAgICAgICAgICAoY2xpY2spPVwiY2xpY2tIYW5kbGVyKGFjdGlvbi50b2tlbilcIlxuICAgICAgICAgICAgICA+e3sgYWN0aW9uLmRlc2NyaXB0aW9uIH19PC9pb24tYnV0dG9uXG4gICAgICAgICAgICA+XG4gICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgQGlmIChwcm9wcy50aGVtZVNlbGVjdG9yKSB7XG4gICAgICAgICAgICA8dmFsLXRoZW1lLXNlbGVjdG9yIFtwcm9wc109XCJ0aGVtZVNlbGVjdG9yUHJvcHNcIj48L3ZhbC10aGVtZS1zZWxlY3Rvcj5cbiAgICAgICAgICB9XG4gICAgICAgICAgQGlmIChwcm9wcy5mb250U2l6ZVNlbGVjdG9yKSB7XG4gICAgICAgICAgICA8dmFsLWZvbnQtc2l6ZS1zZWxlY3RvciBbcHJvcHNdPVwiZm9udFNpemVTZWxlY3RvclByb3BzXCI+PC92YWwtZm9udC1zaXplLXNlbGVjdG9yPlxuICAgICAgICAgIH1cbiAgICAgICAgICBAaWYgKHByb3BzLmxhbmd1YWdlU2VsZWN0b3IpIHtcbiAgICAgICAgICAgIDx2YWwtbGFuZ3VhZ2Utc2VsZWN0b3IgW3Byb3BzXT1cImxhbmd1YWdlU2VsZWN0b3JQcm9wc1wiPjwvdmFsLWxhbmd1YWdlLXNlbGVjdG9yPlxuICAgICAgICAgIH1cbiAgICAgICAgICBAaWYgKHByb3BzLndpdGhNZW51KSB7XG4gICAgICAgICAgICA8aW9uLW1lbnUtYnV0dG9uIFttZW51XT1cInByb3BzLm1lbnVJZCB8fCAnbWFpbi1tZW51J1wiIGNvbG9yPVwiZGFya1wiPjwvaW9uLW1lbnUtYnV0dG9uPlxuICAgICAgICAgIH1cbiAgICAgICAgPC9pb24tYnV0dG9ucz5cbiAgICAgICAgPGlvbi1idXR0b25zIHNsb3Q9XCJzdGFydFwiICpuZ0lmPVwic29tZUluTGVmdCgpXCIgc3R5bGU9XCJwYWRkaW5nLWxlZnQ6IDRweDtcIj5cbiAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBhY3Rpb24gb2YgbGVmdEFjdGlvbnMoKTsgdHJhY2tCeTogdHJhY2tCeVRva2VuXCI+XG4gICAgICAgICAgICA8aW9uLWJ1dHRvblxuICAgICAgICAgICAgICAqbmdJZj1cImFjdGlvbi50eXBlID09PSBhY3Rpb25UeXBlcy5JQ09OXCJcbiAgICAgICAgICAgICAgKGNsaWNrKT1cImNsaWNrSGFuZGxlcihhY3Rpb24udG9rZW4pXCJcbiAgICAgICAgICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCJhY3Rpb24udG9rZW5cIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICA8aW9uLWljb25cbiAgICAgICAgICAgICAgICBzbG90PVwiaWNvbi1vbmx5XCJcbiAgICAgICAgICAgICAgICBbbmFtZV09XCJhY3Rpb24uZGVzY3JpcHRpb25cIlxuICAgICAgICAgICAgICAgIFtjb2xvcl09XCJwcm9wcy50ZXh0Q29sb3JcIlxuICAgICAgICAgICAgICAgIGFyaWEtaGlkZGVuPVwidHJ1ZVwiXG4gICAgICAgICAgICAgID48L2lvbi1pY29uPlxuICAgICAgICAgICAgPC9pb24tYnV0dG9uPlxuICAgICAgICAgICAgPHZhbC11c2VyLWF2YXRhclxuICAgICAgICAgICAgICAqbmdJZj1cImFjdGlvbi50eXBlID09PSBhY3Rpb25UeXBlcy5BVkFUQVJcIlxuICAgICAgICAgICAgICBbcHJvcHNdPVwie1xuICAgICAgICAgICAgICAgIHVzZXI6IGFjdGlvbi51c2VyLFxuICAgICAgICAgICAgICAgIGF2YXRhclVybDogYWN0aW9uLmRlc2NyaXB0aW9uLFxuICAgICAgICAgICAgICAgIHNpemU6IGFjdGlvbi5hdmF0YXJTaXplID8/ICdzbWFsbCcsXG4gICAgICAgICAgICAgIH1cIlxuICAgICAgICAgICAgICAob25DbGljayk9XCJjbGlja0hhbmRsZXIoYWN0aW9uLnRva2VuKVwiXG4gICAgICAgICAgICA+PC92YWwtdXNlci1hdmF0YXI+XG4gICAgICAgICAgICA8dmFsLWltYWdlXG4gICAgICAgICAgICAgICpuZ0lmPVwiYWN0aW9uLnR5cGUgPT09IGFjdGlvblR5cGVzLklNQUdFXCJcbiAgICAgICAgICAgICAgW3Byb3BzXT1cImFjdGlvbi5pbWFnZVwiXG4gICAgICAgICAgICAgIChjbGljayk9XCJjbGlja0hhbmRsZXIoYWN0aW9uLnRva2VuKVwiXG4gICAgICAgICAgICA+PC92YWwtaW1hZ2U+XG4gICAgICAgICAgICA8aW9uLWJ1dHRvbiAqbmdJZj1cImFjdGlvbi50eXBlID09PSBhY3Rpb25UeXBlcy5CVVRUT05cIiAoY2xpY2spPVwiY2xpY2tIYW5kbGVyKGFjdGlvbi50b2tlbilcIj57e1xuICAgICAgICAgICAgICBhY3Rpb24uZGVzY3JpcHRpb25cbiAgICAgICAgICAgIH19PC9pb24tYnV0dG9uPlxuICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICA8L2lvbi1idXR0b25zPlxuICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICA8aW9uLXRpdGxlICpuZ0lmPVwicHJvcHMudGl0bGVcIiBbY29sb3JdPVwicHJvcHMudGV4dENvbG9yXCI+e3sgcHJvcHMudGl0bGUgfX08L2lvbi10aXRsZT5cbiAgICAgIDwhLS0gZXhwZXJpbWVudGFsIC0tPlxuICAgICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiW3Rvb2xiYXItYm90dG9tXVwiPjwvbmctY29udGVudD5cbiAgICA8L2lvbi10b29sYmFyPlxuICBgLFxuICBzdHlsZVVybHM6IFsnLi90b29sYmFyLmNvbXBvbmVudC5zY3NzJ10sXG59KVxuZXhwb3J0IGNsYXNzIFRvb2xiYXJDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICAvKipcbiAgICogTWV0YWRhdG9zIGRlIGxhIGJhcnJhIGRlIGhlcnJhbWllbnRhcy5cbiAgICovXG4gIEBJbnB1dCgpXG4gIHByb3BzOiBUb29sYmFyTWV0YWRhdGE7XG5cbiAgcHJpdmF0ZSBfbHNwSW5wdXQ6IHsgbHM6IGFueTsgY29sb3I6IGFueSB9ID0geyBsczogbnVsbCwgY29sb3I6IG51bGwgfTtcbiAgcHJpdmF0ZSBfbHNwQ2FjaGU6IGFueSA9IG51bGw7XG4gIHByaXZhdGUgX2Zzc0lucHV0OiB7IGZzczogYW55OyBjb2xvcjogYW55IH0gPSB7IGZzczogbnVsbCwgY29sb3I6IG51bGwgfTtcbiAgcHJpdmF0ZSBfZnNzQ2FjaGU6IGFueSA9IG51bGw7XG4gIHByaXZhdGUgX3RzSW5wdXQ6IHsgdHM6IGFueTsgY29sb3I6IGFueSB9ID0geyB0czogbnVsbCwgY29sb3I6IG51bGwgfTtcbiAgcHJpdmF0ZSBfdHNDYWNoZTogYW55ID0gbnVsbDtcblxuICAvKipcbiAgICogRXZlbnRvIGVtaXRpZG8gYWwgaGFjZXIgY2xpY2sgZW4gdW5hIGFjY2nDs24gbyBib3TDs24gZGUgbGEgYmFycmEuXG4gICAqL1xuICBAT3V0cHV0KClcbiAgb25DbGljayA9IG5ldyBFdmVudEVtaXR0ZXI8c3RyaW5nPigpO1xuXG4gIGFjdGlvblR5cGVzID0gVG9vbGJhckFjdGlvblR5cGU7XG5cbiAgcHJpdmF0ZSBuYXYgPSBpbmplY3QoTmF2aWdhdGlvblNlcnZpY2UpO1xuICBwcml2YXRlIHJvdXRlciA9IGluamVjdChSb3V0ZXIpO1xuXG4gIGNvbnN0cnVjdG9yKGljb246IEljb25TZXJ2aWNlKSB7XG4gICAgYWRkSWNvbnMoeyBjaGV2cm9uQmFja091dGxpbmUgfSk7XG4gIH1cblxuICBuZ09uSW5pdCgpIHt9XG5cbiAgLyoqXG4gICAqIEVtaXRlIGVsIHRva2VuIGRlIGxhIGFjY2nDs24gY2xpY2FkYS5cbiAgICogQHBhcmFtIHRva2VuIFRva2VuIGRlIGxhIGFjY2nDs25cbiAgICovXG4gIGNsaWNrSGFuZGxlcih0b2tlbj86IHN0cmluZykge1xuICAgIHRoaXMub25DbGljay5lbWl0KHRva2VuKTtcbiAgfVxuXG4gIGdvQmFjaygpIHtcbiAgICAvLyBDb24gZGVzdGlubyBleHBsw61jaXRvIHNlIG5hdmVnYSBhaMOtOiBlbCBoaXN0b3JpYWwgbm8gc2FiZSBhIHF1w6kgdGFiIG9cbiAgICAvLyBmaWx0cm8gdm9sdmVyIHNpIGxhIHZpc3RhIGFudGVyaW9yIGxvIGd1YXJkYWJhIGVuIGxhIFVSTC5cbiAgICBjb25zdCBocmVmID0gdGhpcy5wcm9wcy5iYWNrSHJlZjtcbiAgICBpZiAoaHJlZikge1xuICAgICAgdm9pZCB0aGlzLnJvdXRlci5uYXZpZ2F0ZUJ5VXJsKGhyZWYpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICB0aGlzLm5hdi5iYWNrKCk7XG4gIH1cblxuICAvKipcbiAgICogRGV0ZXJtaW5hIHNpIGhheSBhY2Npb25lcyBhIGxhIGRlcmVjaGEuXG4gICAqL1xuICBzb21lSW5SaWdodCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gISF0aGlzLnByb3BzLmFjdGlvbnMuZmluZCh4ID0+IHgucG9zaXRpb24gPT09ICdyaWdodCcpO1xuICB9XG5cbiAgLyoqXG4gICAqIERldGVybWluYSBzaSBoYXkgYWNjaW9uZXMgYSBsYSBpenF1aWVyZGEuXG4gICAqL1xuICBzb21lSW5MZWZ0KCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiAhIXRoaXMucHJvcHMuYWN0aW9ucy5maW5kKHggPT4geC5wb3NpdGlvbiA9PT0gJ2xlZnQnKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBEZXZ1ZWx2ZSBsYXMgYWNjaW9uZXMgZGUgbGEgZGVyZWNoYS5cbiAgICovXG4gIHJpZ2h0QWN0aW9ucygpOiBUb29sYmFyQWN0aW9uW10ge1xuICAgIHJldHVybiB0aGlzLnByb3BzLmFjdGlvbnMuZmlsdGVyKHggPT4geC5wb3NpdGlvbiA9PT0gJ3JpZ2h0Jyk7XG4gIH1cblxuICAvKipcbiAgICogRGV2dWVsdmUgbGFzIGFjY2lvbmVzIGRlIGxhIGl6cXVpZXJkYS5cbiAgICovXG4gIGxlZnRBY3Rpb25zKCk6IFRvb2xiYXJBY3Rpb25bXSB7XG4gICAgcmV0dXJuIHRoaXMucHJvcHMuYWN0aW9ucy5maWx0ZXIoeCA9PiB4LnBvc2l0aW9uID09PSAnbGVmdCcpO1xuICB9XG5cbiAgLyoqXG4gICAqIHRyYWNrQnkgcG9yIGB0b2tlbmAgcGFyYSBlbCAqbmdGb3IgZGUgYWNjaW9uZXMuIFNpbiBlc3RvLCBjb21vIHJpZ2h0QWN0aW9ucygpL1xuICAgKiBsZWZ0QWN0aW9ucygpIGRldnVlbHZlbiB1biBhcnJheSBOVUVWTyBlbiBjYWRhIGNoYW5nZSBkZXRlY3Rpb24sIEFuZ3VsYXIgZGlmZmVhXG4gICAqIHBvciBpZGVudGlkYWQgeSBERVNUUlVZRS9SRUNSRUEgbG9zIG5vZG9zICh2YWwtdXNlci1hdmF0YXIgLyB2YWwtaW1hZ2UpIGN1YW5kb1xuICAgKiBjYW1iaWEgbGEgcmVmZXJlbmNpYSDihpIgZWwgPGltZz4gc2UgcmVjcmVhIHkgcmVhcGFyZWNlIGVsIGZhbGxiYWNrIChcInBhcnBhZGVvXCIpLlxuICAgKiBDb24ga2V5IGVzdGFibGUsIEFuZ3VsYXIgcmV1c2EgZWwgZWxlbWVudG8gZXhpc3RlbnRlIOKGkiBzaW4gcmVjYXJnYSBuaSBmbGlja2VyLlxuICAgKi9cbiAgdHJhY2tCeVRva2VuKF9pbmRleDogbnVtYmVyLCBhY3Rpb246IFRvb2xiYXJBY3Rpb24pOiBzdHJpbmcge1xuICAgIHJldHVybiBhY3Rpb24udG9rZW47XG4gIH1cblxuICAvKipcbiAgICogTGFuZ3VhZ2Ugc2VsZWN0b3IgcHJvcHMg4oCUIG1lbW9pemVkIHRvIGF2b2lkIG5ldyBvYmplY3QgcmVmZXJlbmNlIG9uIGV2ZXJ5IENEIGN5Y2xlLlxuICAgKi9cbiAgZ2V0IGZvbnRTaXplU2VsZWN0b3JQcm9wcygpIHtcbiAgICBjb25zdCBmc3MgPSB0aGlzLnByb3BzLmZvbnRTaXplU2VsZWN0b3I7XG4gICAgY29uc3QgY29sb3IgPSB0aGlzLnByb3BzLnRleHRDb2xvcjtcbiAgICBpZiAodGhpcy5fZnNzQ2FjaGUgIT09IG51bGwgJiYgdGhpcy5fZnNzSW5wdXQuZnNzID09PSBmc3MgJiYgdGhpcy5fZnNzSW5wdXQuY29sb3IgPT09IGNvbG9yKSB7XG4gICAgICByZXR1cm4gdGhpcy5fZnNzQ2FjaGU7XG4gICAgfVxuICAgIHRoaXMuX2Zzc0lucHV0ID0geyBmc3MsIGNvbG9yIH07XG4gICAgdGhpcy5fZnNzQ2FjaGUgPSB7IGNvbG9yOiBjb2xvciB8fCAnZGFyaycsIC4uLmZzcyB9O1xuICAgIHJldHVybiB0aGlzLl9mc3NDYWNoZTtcbiAgfVxuXG4gIGdldCB0aGVtZVNlbGVjdG9yUHJvcHMoKSB7XG4gICAgY29uc3QgdHMgPSB0aGlzLnByb3BzLnRoZW1lU2VsZWN0b3I7XG4gICAgY29uc3QgY29sb3IgPSB0aGlzLnByb3BzLnRleHRDb2xvcjtcbiAgICBpZiAodGhpcy5fdHNDYWNoZSAhPT0gbnVsbCAmJiB0aGlzLl90c0lucHV0LnRzID09PSB0cyAmJiB0aGlzLl90c0lucHV0LmNvbG9yID09PSBjb2xvcikge1xuICAgICAgcmV0dXJuIHRoaXMuX3RzQ2FjaGU7XG4gICAgfVxuICAgIHRoaXMuX3RzSW5wdXQgPSB7IHRzLCBjb2xvciB9O1xuICAgIHRoaXMuX3RzQ2FjaGUgPSB7IGNvbG9yOiBjb2xvciB8fCAnbWVkaXVtJywgLi4udHMgfTtcbiAgICByZXR1cm4gdGhpcy5fdHNDYWNoZTtcbiAgfVxuXG4gIGdldCBsYW5ndWFnZVNlbGVjdG9yUHJvcHMoKSB7XG4gICAgY29uc3QgbHMgPSB0aGlzLnByb3BzLmxhbmd1YWdlU2VsZWN0b3I7XG4gICAgY29uc3QgY29sb3IgPSB0aGlzLnByb3BzLnRleHRDb2xvcjtcbiAgICBpZiAodGhpcy5fbHNwQ2FjaGUgIT09IG51bGwgJiYgdGhpcy5fbHNwSW5wdXQubHMgPT09IGxzICYmIHRoaXMuX2xzcElucHV0LmNvbG9yID09PSBjb2xvcikge1xuICAgICAgcmV0dXJuIHRoaXMuX2xzcENhY2hlO1xuICAgIH1cbiAgICB0aGlzLl9sc3BJbnB1dCA9IHsgbHMsIGNvbG9yIH07XG4gICAgdGhpcy5fbHNwQ2FjaGUgPSB7IG1vZGU6ICdpY29uJyBhcyBjb25zdCwgY29sb3I6IGNvbG9yIHx8ICdkYXJrJywgLi4ubHMgfTtcbiAgICByZXR1cm4gdGhpcy5fbHNwQ2FjaGU7XG4gIH1cbn1cbiJdfQ==