@energycap/components 0.39.6-standalone-components.20240125-1418 → 0.39.6

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 (141) hide show
  1. package/esm2020/lib/components.module.mjs +401 -0
  2. package/esm2020/lib/controls/banner/banner.component.mjs +5 -5
  3. package/esm2020/lib/controls/button/button.component.mjs +5 -6
  4. package/esm2020/lib/controls/button/copy-button.directive.mjs +3 -4
  5. package/esm2020/lib/controls/button/copy-table-button.directive.mjs +3 -4
  6. package/esm2020/lib/controls/checkbox/checkbox.component.mjs +8 -10
  7. package/esm2020/lib/controls/collapsible-toggle/collapsible-toggle.component.mjs +4 -4
  8. package/esm2020/lib/controls/combobox/combobox.component.mjs +9 -9
  9. package/esm2020/lib/controls/dropdown/dropdown.component.mjs +8 -6
  10. package/esm2020/lib/controls/file-upload/file-upload.component.mjs +10 -11
  11. package/esm2020/lib/controls/form-control/form-control.component.mjs +4 -4
  12. package/esm2020/lib/controls/form-control-label/form-control-label.component.mjs +4 -5
  13. package/esm2020/lib/controls/form-group/form-group.component.mjs +4 -5
  14. package/esm2020/lib/controls/help-popover/help-popover.component.mjs +6 -7
  15. package/esm2020/lib/controls/item-picker/item-picker.component.mjs +12 -11
  16. package/esm2020/lib/controls/link-button/link-button.component.mjs +3 -3
  17. package/esm2020/lib/controls/menu/menu.component.mjs +8 -9
  18. package/esm2020/lib/controls/navigation/nav-item-active.directive.mjs +3 -4
  19. package/esm2020/lib/controls/numericbox/numericbox.component.mjs +6 -6
  20. package/esm2020/lib/controls/popover/popover.component.mjs +5 -5
  21. package/esm2020/lib/controls/radio-button/radio-button.component.mjs +6 -8
  22. package/esm2020/lib/controls/select/select.component.mjs +6 -8
  23. package/esm2020/lib/controls/tabs/tabs.component.mjs +6 -7
  24. package/esm2020/lib/controls/textbox/textbox.component.mjs +10 -8
  25. package/esm2020/lib/display/app-bar/app-bar.component.mjs +6 -6
  26. package/esm2020/lib/display/avatar/avatar.component.mjs +3 -3
  27. package/esm2020/lib/display/confirm/confirm.component.mjs +12 -12
  28. package/esm2020/lib/display/dialog/dialog-group/dialog-group.component.mjs +5 -5
  29. package/esm2020/lib/display/dialog/dialog.component.mjs +3 -4
  30. package/esm2020/lib/display/hierarchy/hierarchy-base.mjs +7 -2
  31. package/esm2020/lib/display/hierarchy/hierarchy-tree/hierarchy-tree.component.mjs +7 -7
  32. package/esm2020/lib/display/item-display/item-display.component.mjs +7 -8
  33. package/esm2020/lib/display/json-display/json-display.component.mjs +6 -6
  34. package/esm2020/lib/display/resizable/resizable.component.mjs +3 -3
  35. package/esm2020/lib/display/spinner/spinner.component.mjs +3 -3
  36. package/esm2020/lib/display/splash/splash.component.mjs +3 -3
  37. package/esm2020/lib/display/table/resizable-column.component.mjs +3 -3
  38. package/esm2020/lib/display/table/resizable-table.directive.mjs +3 -4
  39. package/esm2020/lib/display/table/searchable-table.component.mjs +9 -7
  40. package/esm2020/lib/display/table/table-detail-row.component.mjs +3 -3
  41. package/esm2020/lib/display/table/table-locked-column.component.mjs +3 -3
  42. package/esm2020/lib/display/table/table-master-header-row.component.mjs +4 -4
  43. package/esm2020/lib/display/table/table-master-row.component.mjs +6 -6
  44. package/esm2020/lib/display/table/table-pagination.component.mjs +6 -6
  45. package/esm2020/lib/display/table/table-selectable-row.component.mjs +6 -6
  46. package/esm2020/lib/display/table/table.component.mjs +5 -5
  47. package/esm2020/lib/display/tags/tags.component.mjs +5 -6
  48. package/esm2020/lib/display/toast/toast/toast.component.mjs +7 -8
  49. package/esm2020/lib/display/toast/toaster/toaster.component.mjs +4 -4
  50. package/esm2020/lib/display/tooltip/tooltip.component.mjs +5 -5
  51. package/esm2020/lib/display/tooltip-directive/tooltip.directive.mjs +3 -4
  52. package/esm2020/lib/display/tour/tour.component.mjs +6 -6
  53. package/esm2020/lib/display/tree/tree.component.mjs +18 -8
  54. package/esm2020/lib/display/view-overlay/view-overlay.component.mjs +7 -8
  55. package/esm2020/lib/shared/directives/click-area-for/click-area-for.directive.mjs +3 -4
  56. package/esm2020/lib/shared/directives/if-viewport-width/if-viewport-width.directive.mjs +3 -4
  57. package/esm2020/lib/shared/directives/popup/popup-container.directive.mjs +3 -6
  58. package/esm2020/lib/shared/display/pipes/date-display.pipe.mjs +4 -13
  59. package/esm2020/lib/shared/display/pipes/highlight-text.pipe.mjs +4 -11
  60. package/esm2020/lib/shared/display/pipes/relative-date.pipe.mjs +4 -11
  61. package/esm2020/lib/shared/display/pipes/row-count.pipe.mjs +4 -11
  62. package/esm2020/lib/shared/display/pipes/time-display.pipe.mjs +4 -13
  63. package/esm2020/lib/shared/page/page-title/page-title.component.mjs +5 -5
  64. package/esm2020/lib/shared/page/page-view/page-view.component.mjs +11 -10
  65. package/esm2020/lib/shared/testing/public-mocks.spec.mjs +3 -6
  66. package/esm2020/lib/shared/wizard/wizard-buttons/wizard-buttons.component.mjs +5 -5
  67. package/esm2020/lib/shared/wizard/wizard-progress/wizard-progress.component.mjs +5 -6
  68. package/esm2020/public-api.mjs +2 -1
  69. package/fesm2015/energycap-components.mjs +9030 -8739
  70. package/fesm2015/energycap-components.mjs.map +1 -1
  71. package/fesm2020/energycap-components.mjs +8455 -8164
  72. package/fesm2020/energycap-components.mjs.map +1 -1
  73. package/lib/components.module.d.ts +87 -0
  74. package/lib/controls/banner/banner.component.d.ts +1 -1
  75. package/lib/controls/button/button.component.d.ts +1 -1
  76. package/lib/controls/button/copy-button.directive.d.ts +1 -1
  77. package/lib/controls/button/copy-table-button.directive.d.ts +1 -1
  78. package/lib/controls/checkbox/checkbox.component.d.ts +3 -3
  79. package/lib/controls/collapsible-toggle/collapsible-toggle.component.d.ts +1 -1
  80. package/lib/controls/combobox/combobox.component.d.ts +1 -1
  81. package/lib/controls/dropdown/dropdown.component.d.ts +1 -1
  82. package/lib/controls/file-upload/file-upload.component.d.ts +1 -1
  83. package/lib/controls/form-control/form-control.component.d.ts +1 -1
  84. package/lib/controls/form-control-label/form-control-label.component.d.ts +1 -1
  85. package/lib/controls/form-group/form-group.component.d.ts +1 -1
  86. package/lib/controls/help-popover/help-popover.component.d.ts +1 -1
  87. package/lib/controls/item-picker/item-picker.component.d.ts +1 -1
  88. package/lib/controls/link-button/link-button.component.d.ts +1 -1
  89. package/lib/controls/menu/menu.component.d.ts +1 -1
  90. package/lib/controls/navigation/nav-item-active.directive.d.ts +1 -1
  91. package/lib/controls/numericbox/numericbox.component.d.ts +1 -1
  92. package/lib/controls/popover/popover.component.d.ts +1 -1
  93. package/lib/controls/radio-button/radio-button.component.d.ts +1 -1
  94. package/lib/controls/select/select.component.d.ts +1 -1
  95. package/lib/controls/tabs/tabs.component.d.ts +1 -1
  96. package/lib/controls/textbox/textbox.component.d.ts +1 -1
  97. package/lib/display/app-bar/app-bar.component.d.ts +1 -1
  98. package/lib/display/avatar/avatar.component.d.ts +1 -1
  99. package/lib/display/confirm/confirm.component.d.ts +1 -1
  100. package/lib/display/dialog/dialog-group/dialog-group.component.d.ts +1 -1
  101. package/lib/display/dialog/dialog.component.d.ts +1 -1
  102. package/lib/display/hierarchy/hierarchy-base.d.ts +10 -1
  103. package/lib/display/hierarchy/hierarchy-tree/hierarchy-tree.component.d.ts +1 -1
  104. package/lib/display/item-display/item-display.component.d.ts +1 -1
  105. package/lib/display/json-display/json-display.component.d.ts +1 -1
  106. package/lib/display/resizable/resizable.component.d.ts +1 -1
  107. package/lib/display/spinner/spinner.component.d.ts +1 -1
  108. package/lib/display/splash/splash.component.d.ts +1 -1
  109. package/lib/display/table/resizable-column.component.d.ts +1 -1
  110. package/lib/display/table/resizable-table.directive.d.ts +1 -1
  111. package/lib/display/table/searchable-table.component.d.ts +1 -1
  112. package/lib/display/table/table-detail-row.component.d.ts +1 -1
  113. package/lib/display/table/table-locked-column.component.d.ts +1 -1
  114. package/lib/display/table/table-master-header-row.component.d.ts +1 -1
  115. package/lib/display/table/table-master-row.component.d.ts +1 -1
  116. package/lib/display/table/table-pagination.component.d.ts +1 -1
  117. package/lib/display/table/table-selectable-row.component.d.ts +1 -1
  118. package/lib/display/table/table.component.d.ts +1 -1
  119. package/lib/display/tags/tags.component.d.ts +1 -1
  120. package/lib/display/toast/toast/toast.component.d.ts +1 -1
  121. package/lib/display/toast/toaster/toaster.component.d.ts +1 -1
  122. package/lib/display/tooltip/tooltip.component.d.ts +1 -1
  123. package/lib/display/tooltip-directive/tooltip.directive.d.ts +1 -1
  124. package/lib/display/tour/tour.component.d.ts +1 -1
  125. package/lib/display/tree/tree.component.d.ts +6 -2
  126. package/lib/display/view-overlay/view-overlay.component.d.ts +1 -1
  127. package/lib/shared/directives/click-area-for/click-area-for.directive.d.ts +1 -1
  128. package/lib/shared/directives/if-viewport-width/if-viewport-width.directive.d.ts +1 -1
  129. package/lib/shared/directives/popup/popup-container.directive.d.ts +1 -1
  130. package/lib/shared/display/pipes/date-display.pipe.d.ts +1 -2
  131. package/lib/shared/display/pipes/highlight-text.pipe.d.ts +1 -2
  132. package/lib/shared/display/pipes/relative-date.pipe.d.ts +1 -2
  133. package/lib/shared/display/pipes/row-count.pipe.d.ts +1 -2
  134. package/lib/shared/display/pipes/time-display.pipe.d.ts +1 -2
  135. package/lib/shared/page/page-title/page-title.component.d.ts +1 -1
  136. package/lib/shared/page/page-view/page-view.component.d.ts +1 -1
  137. package/lib/shared/testing/public-mocks.spec.d.ts +1 -1
  138. package/lib/shared/wizard/wizard-buttons/wizard-buttons.component.d.ts +1 -1
  139. package/lib/shared/wizard/wizard-progress/wizard-progress.component.d.ts +1 -1
  140. package/package.json +1 -1
  141. package/public-api.d.ts +1 -0
@@ -1,13 +1,12 @@
1
1
  import { Component, Input, ViewChild } from '@angular/core';
2
- import { TranslateModule } from "@ngx-translate/core";
3
2
  import { FormControlBase } from "../form-control-base";
4
- import { Validators, FormsModule, ReactiveFormsModule } from '@angular/forms';
5
- import { NgClass, NgIf } from '@angular/common';
3
+ import { Validators } from '@angular/forms';
6
4
  import * as i0 from "@angular/core";
7
5
  import * as i1 from "../../core/validation-message.service";
8
6
  import * as i2 from "../../shared/form-group.helper";
9
7
  import * as i3 from "@ngx-translate/core";
10
- import * as i4 from "@angular/forms";
8
+ import * as i4 from "@angular/common";
9
+ import * as i5 from "@angular/forms";
11
10
  /** Advanced validation for textbox form controls */
12
11
  export const textboxValidation = (validatorParams) => {
13
12
  return (control) => {
@@ -92,7 +91,10 @@ export class TextboxComponent extends FormControlBase {
92
91
  this.validationPattern = urlValidationPattern;
93
92
  }
94
93
  if (this.placeholder) {
95
- this.placeholder = this.translate.instant(this.placeholder);
94
+ this.translate.get(this.placeholder)
95
+ .subscribe((translated) => {
96
+ this.placeholder = translated;
97
+ });
96
98
  }
97
99
  }
98
100
  /**
@@ -125,10 +127,10 @@ export class TextboxComponent extends FormControlBase {
125
127
  }
126
128
  }
127
129
  TextboxComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: TextboxComponent, deps: [{ token: i1.ValidationMessageService }, { token: i2.FormGroupHelper }, { token: i3.TranslateService }], target: i0.ɵɵFactoryTarget.Component });
128
- TextboxComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: TextboxComponent, isStandalone: true, selector: "ec-textbox", inputs: { autocomplete: "autocomplete", type: "type", placeholder: "placeholder", maxlength: "maxlength", minlength: "minlength", rows: "rows", selectOnAutofocus: "selectOnAutofocus", upperCase: "upperCase" }, viewQueries: [{ propertyName: "inputElement", first: true, predicate: ["textboxInput"], descendants: true }], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<div class=\"control control-label-{{labelPosition}}\"\r\n [ngClass]=\"{'is-readonly': readonly}\">\r\n <label *ngIf=\"label\" ngPreserveWhitespaces>\r\n\r\n <span>{{label | translate}}</span>\r\n\r\n <span *ngIf=\"validationErrors.length > 0 && formModel.touched && formModel.invalid\">{{validationErrors | translate}}</span>\r\n </label>\r\n <div class=\"input-wrapper control-input\">\r\n <input *ngIf=\"type !== 'multi_line'\"\r\n #textboxInput\r\n email=\"{{type === 'email' ? true : false}}\"\r\n pattern=\"{{validationPattern}}\"\r\n type=\"{{type}}\"\r\n tabindex=\"{{tabindex}}\"\r\n title=\"{{tooltip}}\"\r\n [attr.id]=\"inputId\"\r\n [attr.autocomplete]=\"autocomplete\"\r\n [attr.placeholder]=\"placeholder\"\r\n [attr.maxlength]=\"maxlength\"\r\n [attr.minlength]=\"minlength\"\r\n [attr.required]=\"required ? required : null\"\r\n [formControl]=\"formModel\"\r\n [ngClass]=\"{'is-empty': !formModel?.value, 'is-pending': pending, 'is-uppercase': upperCase}\"\r\n (focusout)=\"focusOutEvent()\"\r\n [attr.cdkFocusInitial]=\"autofocus || null\">\r\n\r\n <textarea *ngIf=\"type === 'multi_line'\"\r\n [attr.rows]=\"rows\"\r\n #textboxInput\r\n tabindex=\"{{tabindex}}\"\r\n [attr.id]=\"inputId\"\r\n [attr.placeholder]=\"placeholder\"\r\n [attr.maxlength]=\"maxlength\"\r\n [attr.minlength]=\"minlength\"\r\n [attr.required]=\"required ? required : null\"\r\n [formControl]=\"formModel\"\r\n [ngClass]=\"{'is-empty': formModel?.value === '', 'is-pending': pending}\"\r\n [attr.cdkFocusInitial]=\"autofocus || null\">\r\n </textarea>\r\n\r\n <i class=\"ec-icon icon-required\"></i>\r\n <i class=\"ec-icon icon-invalid\"></i>\r\n <i class=\"ec-icon icon-loading\"></i>\r\n </div>\r\n</div>", styles: [":host{color:var(--ec-form-control-color);font-size:var(--ec-form-control-font-size);display:block;margin-bottom:1rem;width:100%}:host :host-context(.form-condensed){margin-bottom:.5rem}:host .control{width:100%;display:flex;flex-direction:column}:host .control.control-label-bottom{flex-direction:column-reverse}:host .control.control-label-left{flex-direction:row}:host .control.control-label-left label{margin-right:.25rem}:host .control.control-label-right{flex-direction:row-reverse}:host .control.control-label-right label{margin-left:.25rem}:host .control.control-label-left,:host .control.control-label-right{align-items:center}:host .control.control-label-left label,:host .control.control-label-right label{flex:1 1;margin-top:0;margin-bottom:0}:host .control.control-label-left .control-input,:host .control.control-label-right .control-input{flex:2 2}:host .control.is-readonly input,:host .control.is-readonly select,:host .control.is-readonly textarea{border-color:var(--ec-form-control-border-color-readonly);background-color:var(--ec-form-control-background-color-readonly);background-clip:border-box;background-image:none;color:var(--ec-form-control-color-readonly);opacity:1;-webkit-user-select:none;user-select:none;pointer-events:none;overflow:hidden;white-space:nowrap}:host .control.invalid .textbox-group-input ::ng-deep .control input.ng-invalid,:host .control.invalid .textbox-group-input ::ng-deep .control input.ng-valid{background-color:var(--ec-form-control-background-color-invalid);border-color:var(--ec-form-control-border-color-invalid);background-repeat:no-repeat;background-position:.5rem center;background-size:1rem,1rem;padding-left:1.75rem;background-image:none}:host .control.invalid .textbox-group-input ::ng-deep .control input.ng-invalid:focus,:host .control.invalid .textbox-group-input ::ng-deep .control input.ng-valid:focus{border-color:var(--ec-form-control-background-color-invalid)}:host .control.invalid .textbox-group-input ::ng-deep .control input.ng-invalid~.icon-invalid,:host .control.invalid .textbox-group-input ::ng-deep .control input.ng-valid~.icon-invalid{display:inline-flex;position:absolute;left:.5rem;top:.5rem;z-index:1}:host .control.invalid .textbox-group-input ::ng-deep .control input.ng-invalid~.icon-required,:host .control.invalid .textbox-group-input ::ng-deep .control input.ng-valid~.icon-required{display:none}:host .control.invalid:not(.open) .textbox-group-btn-right ::ng-deep button{background-color:var(--ec-form-control-background-color-invalid)}:host .control.invalid:not(.open) .textbox-group-btn-right ::ng-deep button:not(:focus){border-color:var(--ec-form-control-border-color-invalid)}:host .textbox-group{display:flex;position:relative}:host textarea:focus,:host input:focus,:host select:focus{outline:none}:host label{color:var(--ec-form-control-label-color, var(--ec-color-secondary-dark));display:block;font-size:var(--ec-font-size-label);line-height:1;margin:calc(var(--ec-font-size-label) / 2) 0}:host input{background-color:var(--ec-form-control-background-color);border:1px solid var(--ec-form-control-border-color);border-radius:var(--ec-border-radius);background-image:none;background-clip:padding-box;width:100%;line-height:1.25rem;padding:.3125rem .5rem;height:2rem}:host input::selection{background-color:var(--ec-form-control-background-color-selection);color:var(--ec-form-control-color-selection)}:host input::-webkit-input-placeholder{color:var(--ec-form-control-color-placeholder)}:host input::-moz-placeholder{color:var(--ec-form-control-color-placeholder);opacity:1}:host input:-ms-input-placeholder{color:var(--ec-form-control-color-placeholder)}:host input:-moz-placeholder{color:var(--ec-form-control-color-placeholder);opacity:1}:host input~.icon-required,:host input~.icon-invalid{color:var(--ec-form-control-border-color-invalid)}:host input:required.is-empty{background-repeat:no-repeat;background-position:.5rem center;background-size:1rem,1rem;padding-left:1.75rem;background-image:none}:host input:required.is-empty~.icon-required{display:inline-flex;position:absolute;left:.5rem;top:.5rem;z-index:1}:host input.ng-invalid.ng-touched{background-color:var(--ec-form-control-background-color-invalid);border-color:var(--ec-form-control-border-color-invalid);background-repeat:no-repeat;background-position:.5rem center;background-size:1rem,1rem;padding-left:1.75rem;background-image:none}:host input.ng-invalid.ng-touched:focus{border-color:var(--ec-form-control-background-color-invalid)}:host input.ng-invalid.ng-touched~.icon-invalid{display:inline-flex;position:absolute;left:.5rem;top:.5rem;z-index:1}:host input.ng-invalid.ng-touched~.icon-required{display:none}:host input.is-pending.ng-valid,:host input.is-pending.ng-invalid,:host input.is-pending.ng-pending{background-image:\"\";background-repeat:no-repeat;background-position:.5rem center;background-size:1rem,1rem;padding-left:1.75rem}:host input.is-pending.ng-valid~.icon-loading,:host input.is-pending.ng-invalid~.icon-loading,:host input.is-pending.ng-pending~.icon-loading{display:inline-flex;position:absolute;left:.5rem;top:.5rem;z-index:1}:host input.is-pending.ng-valid~.icon-required,:host input.is-pending.ng-valid~.icon-invalid,:host input.is-pending.ng-invalid~.icon-required,:host input.is-pending.ng-invalid~.icon-invalid,:host input.is-pending.ng-pending~.icon-required,:host input.is-pending.ng-pending~.icon-invalid{display:none}:host input:focus,:host input:focus.is-empty{border-color:var(--ec-form-control-border-color-focus);box-shadow:var(--ec-form-control-box-shadow-focus);position:relative;z-index:1}:host input:disabled{background-color:var(--ec-form-control-background-color-disabled);border-color:var(--ec-form-control-border-color-disabled);color:var(--ec-form-control-color-disabled);opacity:var(--ec-form-control-opacity-disabled)}:host input:disabled:required,:host input:disabled:required.is-empty{background-image:none;padding-left:.5rem;background-color:var(--ec-form-control-background-color-disabled);border-color:var(--ec-form-control-border-color-disabled)}:host input:disabled:required+.icon-required,:host input:disabled:required.is-empty+.icon-required{display:none}:host input.is-uppercase:not(.is-empty){text-transform:uppercase}:host textarea{background-color:var(--ec-form-control-background-color);border:1px solid var(--ec-form-control-border-color);border-radius:var(--ec-border-radius);background-image:none;background-clip:padding-box;width:100%;line-height:1.25rem;padding:.3125rem .5rem;height:auto;resize:none;display:block}:host textarea::selection{background-color:var(--ec-form-control-background-color-selection);color:var(--ec-form-control-color-selection)}:host textarea::-webkit-input-placeholder{color:var(--ec-form-control-color-placeholder)}:host textarea::-moz-placeholder{color:var(--ec-form-control-color-placeholder);opacity:1}:host textarea:-ms-input-placeholder{color:var(--ec-form-control-color-placeholder)}:host textarea:-moz-placeholder{color:var(--ec-form-control-color-placeholder);opacity:1}:host textarea~.icon-required,:host textarea~.icon-invalid{color:var(--ec-form-control-border-color-invalid)}:host textarea:required.is-empty{background-repeat:no-repeat;background-position:.5rem .5rem;background-size:1rem,1rem;padding-left:1.75rem;background-image:none}:host textarea:required.is-empty~.icon-required{display:inline-flex;position:absolute;left:.5rem;top:.5rem;z-index:1}:host textarea.ng-invalid.ng-touched{background-color:var(--ec-form-control-background-color-invalid);border-color:var(--ec-form-control-border-color-invalid);background-repeat:no-repeat;background-position:.5rem .5rem;background-size:1rem,1rem;padding-left:1.75rem;background-image:none}:host textarea.ng-invalid.ng-touched:focus{border-color:var(--ec-form-control-background-color-invalid)}:host textarea.ng-invalid.ng-touched~.icon-invalid{display:inline-flex;position:absolute;left:.5rem;top:.5rem;z-index:1}:host textarea.ng-invalid.ng-touched~.icon-required{display:none}:host textarea.is-pending.ng-valid,:host textarea.is-pending.ng-invalid,:host textarea.is-pending.ng-pending{background-image:\"\";background-repeat:no-repeat;background-position:.5rem .5rem;background-size:1rem,1rem;padding-left:1.75rem}:host textarea.is-pending.ng-valid~.icon-loading,:host textarea.is-pending.ng-invalid~.icon-loading,:host textarea.is-pending.ng-pending~.icon-loading{display:inline-flex;position:absolute;left:.5rem;top:.5rem;z-index:1}:host textarea.is-pending.ng-valid~.icon-required,:host textarea.is-pending.ng-valid~.icon-invalid,:host textarea.is-pending.ng-invalid~.icon-required,:host textarea.is-pending.ng-invalid~.icon-invalid,:host textarea.is-pending.ng-pending~.icon-required,:host textarea.is-pending.ng-pending~.icon-invalid{display:none}:host textarea:focus,:host textarea:focus.is-empty{border-color:var(--ec-form-control-border-color-focus);box-shadow:var(--ec-form-control-box-shadow-focus);position:relative;z-index:1}:host textarea:disabled{background-color:var(--ec-form-control-background-color-disabled);border-color:var(--ec-form-control-border-color-disabled);color:var(--ec-form-control-color-disabled);opacity:var(--ec-form-control-opacity-disabled)}:host textarea:disabled:required,:host textarea:disabled:required.is-empty{background-image:none;padding-left:.5rem;background-color:var(--ec-form-control-background-color-disabled);border-color:var(--ec-form-control-border-color-disabled)}:host textarea:disabled:required+.icon-required,:host textarea:disabled:required.is-empty+.icon-required{display:none}:host textarea.is-uppercase:not(.is-empty){text-transform:uppercase}.input-wrapper{position:relative}.input-wrapper>.ec-icon{display:none}:host(.textbox-group-input:not(:last-child)){flex:1 1 0%;width:1px}:host(.textbox-group-input:not(:last-child)) .control{margin-bottom:0}:host(.textbox-group-input:not(:last-child)) .control.is-readonly input{border-right-width:1px}:host(.textbox-group-input:not(:last-child)) input{border-top-right-radius:0;border-bottom-right-radius:0;border-right-width:0}:host(.textbox-group-input:not(:last-child)) input:focus{position:relative;z-index:1;border-right-width:1px}:host(.text-truncate) input{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}:host(.is-monospace) input,:host(.is-monospace) textarea,:host-context(.is-monospace) input,:host-context(.is-monospace) textarea{font-family:var(--ec-font-family-monospace)}\n"], dependencies: [{ kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i4.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: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i4.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i4.MinLengthValidator, selector: "[minlength][formControlName],[minlength][formControl],[minlength][ngModel]", inputs: ["minlength"] }, { kind: "directive", type: i4.MaxLengthValidator, selector: "[maxlength][formControlName],[maxlength][formControl],[maxlength][ngModel]", inputs: ["maxlength"] }, { kind: "directive", type: i4.PatternValidator, selector: "[pattern][formControlName],[pattern][formControl],[pattern][ngModel]", inputs: ["pattern"] }, { kind: "directive", type: i4.EmailValidator, selector: "[email][formControlName],[email][formControl],[email][ngModel]", inputs: ["email"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i4.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i3.TranslatePipe, name: "translate" }] });
130
+ TextboxComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: TextboxComponent, selector: "ec-textbox", inputs: { autocomplete: "autocomplete", type: "type", placeholder: "placeholder", maxlength: "maxlength", minlength: "minlength", rows: "rows", selectOnAutofocus: "selectOnAutofocus", upperCase: "upperCase" }, viewQueries: [{ propertyName: "inputElement", first: true, predicate: ["textboxInput"], descendants: true }], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<div class=\"control control-label-{{labelPosition}}\"\r\n [ngClass]=\"{'is-readonly': readonly}\">\r\n <label *ngIf=\"label\" ngPreserveWhitespaces>\r\n\r\n <span>{{label | translate}}</span>\r\n\r\n <span *ngIf=\"validationErrors.length > 0 && formModel.touched && formModel.invalid\">{{validationErrors | translate}}</span>\r\n </label>\r\n <div class=\"input-wrapper control-input\">\r\n <input *ngIf=\"type !== 'multi_line'\"\r\n #textboxInput\r\n email=\"{{type === 'email' ? true : false}}\"\r\n pattern=\"{{validationPattern}}\"\r\n type=\"{{type}}\"\r\n tabindex=\"{{tabindex}}\"\r\n title=\"{{tooltip}}\"\r\n [attr.id]=\"inputId\"\r\n [attr.autocomplete]=\"autocomplete\"\r\n [attr.placeholder]=\"placeholder\"\r\n [attr.maxlength]=\"maxlength\"\r\n [attr.minlength]=\"minlength\"\r\n [attr.required]=\"required ? required : null\"\r\n [formControl]=\"formModel\"\r\n [ngClass]=\"{'is-empty': !formModel?.value, 'is-pending': pending, 'is-uppercase': upperCase}\"\r\n (focusout)=\"focusOutEvent()\"\r\n [attr.cdkFocusInitial]=\"autofocus || null\">\r\n\r\n <textarea *ngIf=\"type === 'multi_line'\"\r\n [attr.rows]=\"rows\"\r\n #textboxInput\r\n tabindex=\"{{tabindex}}\"\r\n [attr.id]=\"inputId\"\r\n [attr.placeholder]=\"placeholder\"\r\n [attr.maxlength]=\"maxlength\"\r\n [attr.minlength]=\"minlength\"\r\n [attr.required]=\"required ? required : null\"\r\n [formControl]=\"formModel\"\r\n [ngClass]=\"{'is-empty': formModel?.value === '', 'is-pending': pending}\"\r\n [attr.cdkFocusInitial]=\"autofocus || null\">\r\n </textarea>\r\n\r\n <i class=\"ec-icon icon-required\"></i>\r\n <i class=\"ec-icon icon-invalid\"></i>\r\n <i class=\"ec-icon icon-loading\"></i>\r\n </div>\r\n</div>", styles: [":host{color:var(--ec-form-control-color);font-size:var(--ec-form-control-font-size);display:block;margin-bottom:1rem;width:100%}:host :host-context(.form-condensed){margin-bottom:.5rem}:host .control{width:100%;display:flex;flex-direction:column}:host .control.control-label-bottom{flex-direction:column-reverse}:host .control.control-label-left{flex-direction:row}:host .control.control-label-left label{margin-right:.25rem}:host .control.control-label-right{flex-direction:row-reverse}:host .control.control-label-right label{margin-left:.25rem}:host .control.control-label-left,:host .control.control-label-right{align-items:center}:host .control.control-label-left label,:host .control.control-label-right label{flex:1 1;margin-top:0;margin-bottom:0}:host .control.control-label-left .control-input,:host .control.control-label-right .control-input{flex:2 2}:host .control.is-readonly input,:host .control.is-readonly select,:host .control.is-readonly textarea{border-color:var(--ec-form-control-border-color-readonly);background-color:var(--ec-form-control-background-color-readonly);background-clip:border-box;background-image:none;color:var(--ec-form-control-color-readonly);opacity:1;-webkit-user-select:none;user-select:none;pointer-events:none;overflow:hidden;white-space:nowrap}:host .control.invalid .textbox-group-input ::ng-deep .control input.ng-invalid,:host .control.invalid .textbox-group-input ::ng-deep .control input.ng-valid{background-color:var(--ec-form-control-background-color-invalid);border-color:var(--ec-form-control-border-color-invalid);background-repeat:no-repeat;background-position:.5rem center;background-size:1rem,1rem;padding-left:1.75rem;background-image:none}:host .control.invalid .textbox-group-input ::ng-deep .control input.ng-invalid:focus,:host .control.invalid .textbox-group-input ::ng-deep .control input.ng-valid:focus{border-color:var(--ec-form-control-background-color-invalid)}:host .control.invalid .textbox-group-input ::ng-deep .control input.ng-invalid~.icon-invalid,:host .control.invalid .textbox-group-input ::ng-deep .control input.ng-valid~.icon-invalid{display:inline-flex;position:absolute;left:.5rem;top:.5rem;z-index:1}:host .control.invalid .textbox-group-input ::ng-deep .control input.ng-invalid~.icon-required,:host .control.invalid .textbox-group-input ::ng-deep .control input.ng-valid~.icon-required{display:none}:host .control.invalid:not(.open) .textbox-group-btn-right ::ng-deep button{background-color:var(--ec-form-control-background-color-invalid)}:host .control.invalid:not(.open) .textbox-group-btn-right ::ng-deep button:not(:focus){border-color:var(--ec-form-control-border-color-invalid)}:host .textbox-group{display:flex;position:relative}:host textarea:focus,:host input:focus,:host select:focus{outline:none}:host label{color:var(--ec-form-control-label-color, var(--ec-color-secondary-dark));display:block;font-size:var(--ec-font-size-label);line-height:1;margin:calc(var(--ec-font-size-label) / 2) 0}:host input{background-color:var(--ec-form-control-background-color);border:1px solid var(--ec-form-control-border-color);border-radius:var(--ec-border-radius);background-image:none;background-clip:padding-box;width:100%;line-height:1.25rem;padding:.3125rem .5rem;height:2rem}:host input::selection{background-color:var(--ec-form-control-background-color-selection);color:var(--ec-form-control-color-selection)}:host input::-webkit-input-placeholder{color:var(--ec-form-control-color-placeholder)}:host input::-moz-placeholder{color:var(--ec-form-control-color-placeholder);opacity:1}:host input:-ms-input-placeholder{color:var(--ec-form-control-color-placeholder)}:host input:-moz-placeholder{color:var(--ec-form-control-color-placeholder);opacity:1}:host input~.icon-required,:host input~.icon-invalid{color:var(--ec-form-control-border-color-invalid)}:host input:required.is-empty{background-repeat:no-repeat;background-position:.5rem center;background-size:1rem,1rem;padding-left:1.75rem;background-image:none}:host input:required.is-empty~.icon-required{display:inline-flex;position:absolute;left:.5rem;top:.5rem;z-index:1}:host input.ng-invalid.ng-touched{background-color:var(--ec-form-control-background-color-invalid);border-color:var(--ec-form-control-border-color-invalid);background-repeat:no-repeat;background-position:.5rem center;background-size:1rem,1rem;padding-left:1.75rem;background-image:none}:host input.ng-invalid.ng-touched:focus{border-color:var(--ec-form-control-background-color-invalid)}:host input.ng-invalid.ng-touched~.icon-invalid{display:inline-flex;position:absolute;left:.5rem;top:.5rem;z-index:1}:host input.ng-invalid.ng-touched~.icon-required{display:none}:host input.is-pending.ng-valid,:host input.is-pending.ng-invalid,:host input.is-pending.ng-pending{background-image:\"\";background-repeat:no-repeat;background-position:.5rem center;background-size:1rem,1rem;padding-left:1.75rem}:host input.is-pending.ng-valid~.icon-loading,:host input.is-pending.ng-invalid~.icon-loading,:host input.is-pending.ng-pending~.icon-loading{display:inline-flex;position:absolute;left:.5rem;top:.5rem;z-index:1}:host input.is-pending.ng-valid~.icon-required,:host input.is-pending.ng-valid~.icon-invalid,:host input.is-pending.ng-invalid~.icon-required,:host input.is-pending.ng-invalid~.icon-invalid,:host input.is-pending.ng-pending~.icon-required,:host input.is-pending.ng-pending~.icon-invalid{display:none}:host input:focus,:host input:focus.is-empty{border-color:var(--ec-form-control-border-color-focus);box-shadow:var(--ec-form-control-box-shadow-focus);position:relative;z-index:1}:host input:disabled{background-color:var(--ec-form-control-background-color-disabled);border-color:var(--ec-form-control-border-color-disabled);color:var(--ec-form-control-color-disabled);opacity:var(--ec-form-control-opacity-disabled)}:host input:disabled:required,:host input:disabled:required.is-empty{background-image:none;padding-left:.5rem;background-color:var(--ec-form-control-background-color-disabled);border-color:var(--ec-form-control-border-color-disabled)}:host input:disabled:required+.icon-required,:host input:disabled:required.is-empty+.icon-required{display:none}:host input.is-uppercase:not(.is-empty){text-transform:uppercase}:host textarea{background-color:var(--ec-form-control-background-color);border:1px solid var(--ec-form-control-border-color);border-radius:var(--ec-border-radius);background-image:none;background-clip:padding-box;width:100%;line-height:1.25rem;padding:.3125rem .5rem;height:auto;resize:none;display:block}:host textarea::selection{background-color:var(--ec-form-control-background-color-selection);color:var(--ec-form-control-color-selection)}:host textarea::-webkit-input-placeholder{color:var(--ec-form-control-color-placeholder)}:host textarea::-moz-placeholder{color:var(--ec-form-control-color-placeholder);opacity:1}:host textarea:-ms-input-placeholder{color:var(--ec-form-control-color-placeholder)}:host textarea:-moz-placeholder{color:var(--ec-form-control-color-placeholder);opacity:1}:host textarea~.icon-required,:host textarea~.icon-invalid{color:var(--ec-form-control-border-color-invalid)}:host textarea:required.is-empty{background-repeat:no-repeat;background-position:.5rem .5rem;background-size:1rem,1rem;padding-left:1.75rem;background-image:none}:host textarea:required.is-empty~.icon-required{display:inline-flex;position:absolute;left:.5rem;top:.5rem;z-index:1}:host textarea.ng-invalid.ng-touched{background-color:var(--ec-form-control-background-color-invalid);border-color:var(--ec-form-control-border-color-invalid);background-repeat:no-repeat;background-position:.5rem .5rem;background-size:1rem,1rem;padding-left:1.75rem;background-image:none}:host textarea.ng-invalid.ng-touched:focus{border-color:var(--ec-form-control-background-color-invalid)}:host textarea.ng-invalid.ng-touched~.icon-invalid{display:inline-flex;position:absolute;left:.5rem;top:.5rem;z-index:1}:host textarea.ng-invalid.ng-touched~.icon-required{display:none}:host textarea.is-pending.ng-valid,:host textarea.is-pending.ng-invalid,:host textarea.is-pending.ng-pending{background-image:\"\";background-repeat:no-repeat;background-position:.5rem .5rem;background-size:1rem,1rem;padding-left:1.75rem}:host textarea.is-pending.ng-valid~.icon-loading,:host textarea.is-pending.ng-invalid~.icon-loading,:host textarea.is-pending.ng-pending~.icon-loading{display:inline-flex;position:absolute;left:.5rem;top:.5rem;z-index:1}:host textarea.is-pending.ng-valid~.icon-required,:host textarea.is-pending.ng-valid~.icon-invalid,:host textarea.is-pending.ng-invalid~.icon-required,:host textarea.is-pending.ng-invalid~.icon-invalid,:host textarea.is-pending.ng-pending~.icon-required,:host textarea.is-pending.ng-pending~.icon-invalid{display:none}:host textarea:focus,:host textarea:focus.is-empty{border-color:var(--ec-form-control-border-color-focus);box-shadow:var(--ec-form-control-box-shadow-focus);position:relative;z-index:1}:host textarea:disabled{background-color:var(--ec-form-control-background-color-disabled);border-color:var(--ec-form-control-border-color-disabled);color:var(--ec-form-control-color-disabled);opacity:var(--ec-form-control-opacity-disabled)}:host textarea:disabled:required,:host textarea:disabled:required.is-empty{background-image:none;padding-left:.5rem;background-color:var(--ec-form-control-background-color-disabled);border-color:var(--ec-form-control-border-color-disabled)}:host textarea:disabled:required+.icon-required,:host textarea:disabled:required.is-empty+.icon-required{display:none}:host textarea.is-uppercase:not(.is-empty){text-transform:uppercase}.input-wrapper{position:relative}.input-wrapper>.ec-icon{display:none}:host(.textbox-group-input:not(:last-child)){flex:1 1 0%;width:1px}:host(.textbox-group-input:not(:last-child)) .control{margin-bottom:0}:host(.textbox-group-input:not(:last-child)) .control.is-readonly input{border-right-width:1px}:host(.textbox-group-input:not(:last-child)) input{border-top-right-radius:0;border-bottom-right-radius:0;border-right-width:0}:host(.textbox-group-input:not(:last-child)) input:focus{position:relative;z-index:1;border-right-width:1px}:host(.text-truncate) input{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}:host(.is-monospace) input,:host(.is-monospace) textarea,:host-context(.is-monospace) input,:host-context(.is-monospace) textarea{font-family:var(--ec-font-family-monospace)}\n"], dependencies: [{ kind: "directive", type: i4.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i5.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: i5.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i5.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i5.MinLengthValidator, selector: "[minlength][formControlName],[minlength][formControl],[minlength][ngModel]", inputs: ["minlength"] }, { kind: "directive", type: i5.MaxLengthValidator, selector: "[maxlength][formControlName],[maxlength][formControl],[maxlength][ngModel]", inputs: ["maxlength"] }, { kind: "directive", type: i5.PatternValidator, selector: "[pattern][formControlName],[pattern][formControl],[pattern][ngModel]", inputs: ["pattern"] }, { kind: "directive", type: i5.EmailValidator, selector: "[email][formControlName],[email][formControl],[email][ngModel]", inputs: ["email"] }, { kind: "directive", type: i5.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "pipe", type: i3.TranslatePipe, name: "translate" }] });
129
131
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: TextboxComponent, decorators: [{
130
132
  type: Component,
131
- args: [{ selector: 'ec-textbox', standalone: true, imports: [NgClass, NgIf, FormsModule, ReactiveFormsModule, TranslateModule], template: "<div class=\"control control-label-{{labelPosition}}\"\r\n [ngClass]=\"{'is-readonly': readonly}\">\r\n <label *ngIf=\"label\" ngPreserveWhitespaces>\r\n\r\n <span>{{label | translate}}</span>\r\n\r\n <span *ngIf=\"validationErrors.length > 0 && formModel.touched && formModel.invalid\">{{validationErrors | translate}}</span>\r\n </label>\r\n <div class=\"input-wrapper control-input\">\r\n <input *ngIf=\"type !== 'multi_line'\"\r\n #textboxInput\r\n email=\"{{type === 'email' ? true : false}}\"\r\n pattern=\"{{validationPattern}}\"\r\n type=\"{{type}}\"\r\n tabindex=\"{{tabindex}}\"\r\n title=\"{{tooltip}}\"\r\n [attr.id]=\"inputId\"\r\n [attr.autocomplete]=\"autocomplete\"\r\n [attr.placeholder]=\"placeholder\"\r\n [attr.maxlength]=\"maxlength\"\r\n [attr.minlength]=\"minlength\"\r\n [attr.required]=\"required ? required : null\"\r\n [formControl]=\"formModel\"\r\n [ngClass]=\"{'is-empty': !formModel?.value, 'is-pending': pending, 'is-uppercase': upperCase}\"\r\n (focusout)=\"focusOutEvent()\"\r\n [attr.cdkFocusInitial]=\"autofocus || null\">\r\n\r\n <textarea *ngIf=\"type === 'multi_line'\"\r\n [attr.rows]=\"rows\"\r\n #textboxInput\r\n tabindex=\"{{tabindex}}\"\r\n [attr.id]=\"inputId\"\r\n [attr.placeholder]=\"placeholder\"\r\n [attr.maxlength]=\"maxlength\"\r\n [attr.minlength]=\"minlength\"\r\n [attr.required]=\"required ? required : null\"\r\n [formControl]=\"formModel\"\r\n [ngClass]=\"{'is-empty': formModel?.value === '', 'is-pending': pending}\"\r\n [attr.cdkFocusInitial]=\"autofocus || null\">\r\n </textarea>\r\n\r\n <i class=\"ec-icon icon-required\"></i>\r\n <i class=\"ec-icon icon-invalid\"></i>\r\n <i class=\"ec-icon icon-loading\"></i>\r\n </div>\r\n</div>", styles: [":host{color:var(--ec-form-control-color);font-size:var(--ec-form-control-font-size);display:block;margin-bottom:1rem;width:100%}:host :host-context(.form-condensed){margin-bottom:.5rem}:host .control{width:100%;display:flex;flex-direction:column}:host .control.control-label-bottom{flex-direction:column-reverse}:host .control.control-label-left{flex-direction:row}:host .control.control-label-left label{margin-right:.25rem}:host .control.control-label-right{flex-direction:row-reverse}:host .control.control-label-right label{margin-left:.25rem}:host .control.control-label-left,:host .control.control-label-right{align-items:center}:host .control.control-label-left label,:host .control.control-label-right label{flex:1 1;margin-top:0;margin-bottom:0}:host .control.control-label-left .control-input,:host .control.control-label-right .control-input{flex:2 2}:host .control.is-readonly input,:host .control.is-readonly select,:host .control.is-readonly textarea{border-color:var(--ec-form-control-border-color-readonly);background-color:var(--ec-form-control-background-color-readonly);background-clip:border-box;background-image:none;color:var(--ec-form-control-color-readonly);opacity:1;-webkit-user-select:none;user-select:none;pointer-events:none;overflow:hidden;white-space:nowrap}:host .control.invalid .textbox-group-input ::ng-deep .control input.ng-invalid,:host .control.invalid .textbox-group-input ::ng-deep .control input.ng-valid{background-color:var(--ec-form-control-background-color-invalid);border-color:var(--ec-form-control-border-color-invalid);background-repeat:no-repeat;background-position:.5rem center;background-size:1rem,1rem;padding-left:1.75rem;background-image:none}:host .control.invalid .textbox-group-input ::ng-deep .control input.ng-invalid:focus,:host .control.invalid .textbox-group-input ::ng-deep .control input.ng-valid:focus{border-color:var(--ec-form-control-background-color-invalid)}:host .control.invalid .textbox-group-input ::ng-deep .control input.ng-invalid~.icon-invalid,:host .control.invalid .textbox-group-input ::ng-deep .control input.ng-valid~.icon-invalid{display:inline-flex;position:absolute;left:.5rem;top:.5rem;z-index:1}:host .control.invalid .textbox-group-input ::ng-deep .control input.ng-invalid~.icon-required,:host .control.invalid .textbox-group-input ::ng-deep .control input.ng-valid~.icon-required{display:none}:host .control.invalid:not(.open) .textbox-group-btn-right ::ng-deep button{background-color:var(--ec-form-control-background-color-invalid)}:host .control.invalid:not(.open) .textbox-group-btn-right ::ng-deep button:not(:focus){border-color:var(--ec-form-control-border-color-invalid)}:host .textbox-group{display:flex;position:relative}:host textarea:focus,:host input:focus,:host select:focus{outline:none}:host label{color:var(--ec-form-control-label-color, var(--ec-color-secondary-dark));display:block;font-size:var(--ec-font-size-label);line-height:1;margin:calc(var(--ec-font-size-label) / 2) 0}:host input{background-color:var(--ec-form-control-background-color);border:1px solid var(--ec-form-control-border-color);border-radius:var(--ec-border-radius);background-image:none;background-clip:padding-box;width:100%;line-height:1.25rem;padding:.3125rem .5rem;height:2rem}:host input::selection{background-color:var(--ec-form-control-background-color-selection);color:var(--ec-form-control-color-selection)}:host input::-webkit-input-placeholder{color:var(--ec-form-control-color-placeholder)}:host input::-moz-placeholder{color:var(--ec-form-control-color-placeholder);opacity:1}:host input:-ms-input-placeholder{color:var(--ec-form-control-color-placeholder)}:host input:-moz-placeholder{color:var(--ec-form-control-color-placeholder);opacity:1}:host input~.icon-required,:host input~.icon-invalid{color:var(--ec-form-control-border-color-invalid)}:host input:required.is-empty{background-repeat:no-repeat;background-position:.5rem center;background-size:1rem,1rem;padding-left:1.75rem;background-image:none}:host input:required.is-empty~.icon-required{display:inline-flex;position:absolute;left:.5rem;top:.5rem;z-index:1}:host input.ng-invalid.ng-touched{background-color:var(--ec-form-control-background-color-invalid);border-color:var(--ec-form-control-border-color-invalid);background-repeat:no-repeat;background-position:.5rem center;background-size:1rem,1rem;padding-left:1.75rem;background-image:none}:host input.ng-invalid.ng-touched:focus{border-color:var(--ec-form-control-background-color-invalid)}:host input.ng-invalid.ng-touched~.icon-invalid{display:inline-flex;position:absolute;left:.5rem;top:.5rem;z-index:1}:host input.ng-invalid.ng-touched~.icon-required{display:none}:host input.is-pending.ng-valid,:host input.is-pending.ng-invalid,:host input.is-pending.ng-pending{background-image:\"\";background-repeat:no-repeat;background-position:.5rem center;background-size:1rem,1rem;padding-left:1.75rem}:host input.is-pending.ng-valid~.icon-loading,:host input.is-pending.ng-invalid~.icon-loading,:host input.is-pending.ng-pending~.icon-loading{display:inline-flex;position:absolute;left:.5rem;top:.5rem;z-index:1}:host input.is-pending.ng-valid~.icon-required,:host input.is-pending.ng-valid~.icon-invalid,:host input.is-pending.ng-invalid~.icon-required,:host input.is-pending.ng-invalid~.icon-invalid,:host input.is-pending.ng-pending~.icon-required,:host input.is-pending.ng-pending~.icon-invalid{display:none}:host input:focus,:host input:focus.is-empty{border-color:var(--ec-form-control-border-color-focus);box-shadow:var(--ec-form-control-box-shadow-focus);position:relative;z-index:1}:host input:disabled{background-color:var(--ec-form-control-background-color-disabled);border-color:var(--ec-form-control-border-color-disabled);color:var(--ec-form-control-color-disabled);opacity:var(--ec-form-control-opacity-disabled)}:host input:disabled:required,:host input:disabled:required.is-empty{background-image:none;padding-left:.5rem;background-color:var(--ec-form-control-background-color-disabled);border-color:var(--ec-form-control-border-color-disabled)}:host input:disabled:required+.icon-required,:host input:disabled:required.is-empty+.icon-required{display:none}:host input.is-uppercase:not(.is-empty){text-transform:uppercase}:host textarea{background-color:var(--ec-form-control-background-color);border:1px solid var(--ec-form-control-border-color);border-radius:var(--ec-border-radius);background-image:none;background-clip:padding-box;width:100%;line-height:1.25rem;padding:.3125rem .5rem;height:auto;resize:none;display:block}:host textarea::selection{background-color:var(--ec-form-control-background-color-selection);color:var(--ec-form-control-color-selection)}:host textarea::-webkit-input-placeholder{color:var(--ec-form-control-color-placeholder)}:host textarea::-moz-placeholder{color:var(--ec-form-control-color-placeholder);opacity:1}:host textarea:-ms-input-placeholder{color:var(--ec-form-control-color-placeholder)}:host textarea:-moz-placeholder{color:var(--ec-form-control-color-placeholder);opacity:1}:host textarea~.icon-required,:host textarea~.icon-invalid{color:var(--ec-form-control-border-color-invalid)}:host textarea:required.is-empty{background-repeat:no-repeat;background-position:.5rem .5rem;background-size:1rem,1rem;padding-left:1.75rem;background-image:none}:host textarea:required.is-empty~.icon-required{display:inline-flex;position:absolute;left:.5rem;top:.5rem;z-index:1}:host textarea.ng-invalid.ng-touched{background-color:var(--ec-form-control-background-color-invalid);border-color:var(--ec-form-control-border-color-invalid);background-repeat:no-repeat;background-position:.5rem .5rem;background-size:1rem,1rem;padding-left:1.75rem;background-image:none}:host textarea.ng-invalid.ng-touched:focus{border-color:var(--ec-form-control-background-color-invalid)}:host textarea.ng-invalid.ng-touched~.icon-invalid{display:inline-flex;position:absolute;left:.5rem;top:.5rem;z-index:1}:host textarea.ng-invalid.ng-touched~.icon-required{display:none}:host textarea.is-pending.ng-valid,:host textarea.is-pending.ng-invalid,:host textarea.is-pending.ng-pending{background-image:\"\";background-repeat:no-repeat;background-position:.5rem .5rem;background-size:1rem,1rem;padding-left:1.75rem}:host textarea.is-pending.ng-valid~.icon-loading,:host textarea.is-pending.ng-invalid~.icon-loading,:host textarea.is-pending.ng-pending~.icon-loading{display:inline-flex;position:absolute;left:.5rem;top:.5rem;z-index:1}:host textarea.is-pending.ng-valid~.icon-required,:host textarea.is-pending.ng-valid~.icon-invalid,:host textarea.is-pending.ng-invalid~.icon-required,:host textarea.is-pending.ng-invalid~.icon-invalid,:host textarea.is-pending.ng-pending~.icon-required,:host textarea.is-pending.ng-pending~.icon-invalid{display:none}:host textarea:focus,:host textarea:focus.is-empty{border-color:var(--ec-form-control-border-color-focus);box-shadow:var(--ec-form-control-box-shadow-focus);position:relative;z-index:1}:host textarea:disabled{background-color:var(--ec-form-control-background-color-disabled);border-color:var(--ec-form-control-border-color-disabled);color:var(--ec-form-control-color-disabled);opacity:var(--ec-form-control-opacity-disabled)}:host textarea:disabled:required,:host textarea:disabled:required.is-empty{background-image:none;padding-left:.5rem;background-color:var(--ec-form-control-background-color-disabled);border-color:var(--ec-form-control-border-color-disabled)}:host textarea:disabled:required+.icon-required,:host textarea:disabled:required.is-empty+.icon-required{display:none}:host textarea.is-uppercase:not(.is-empty){text-transform:uppercase}.input-wrapper{position:relative}.input-wrapper>.ec-icon{display:none}:host(.textbox-group-input:not(:last-child)){flex:1 1 0%;width:1px}:host(.textbox-group-input:not(:last-child)) .control{margin-bottom:0}:host(.textbox-group-input:not(:last-child)) .control.is-readonly input{border-right-width:1px}:host(.textbox-group-input:not(:last-child)) input{border-top-right-radius:0;border-bottom-right-radius:0;border-right-width:0}:host(.textbox-group-input:not(:last-child)) input:focus{position:relative;z-index:1;border-right-width:1px}:host(.text-truncate) input{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}:host(.is-monospace) input,:host(.is-monospace) textarea,:host-context(.is-monospace) input,:host-context(.is-monospace) textarea{font-family:var(--ec-font-family-monospace)}\n"] }]
133
+ args: [{ selector: 'ec-textbox', template: "<div class=\"control control-label-{{labelPosition}}\"\r\n [ngClass]=\"{'is-readonly': readonly}\">\r\n <label *ngIf=\"label\" ngPreserveWhitespaces>\r\n\r\n <span>{{label | translate}}</span>\r\n\r\n <span *ngIf=\"validationErrors.length > 0 && formModel.touched && formModel.invalid\">{{validationErrors | translate}}</span>\r\n </label>\r\n <div class=\"input-wrapper control-input\">\r\n <input *ngIf=\"type !== 'multi_line'\"\r\n #textboxInput\r\n email=\"{{type === 'email' ? true : false}}\"\r\n pattern=\"{{validationPattern}}\"\r\n type=\"{{type}}\"\r\n tabindex=\"{{tabindex}}\"\r\n title=\"{{tooltip}}\"\r\n [attr.id]=\"inputId\"\r\n [attr.autocomplete]=\"autocomplete\"\r\n [attr.placeholder]=\"placeholder\"\r\n [attr.maxlength]=\"maxlength\"\r\n [attr.minlength]=\"minlength\"\r\n [attr.required]=\"required ? required : null\"\r\n [formControl]=\"formModel\"\r\n [ngClass]=\"{'is-empty': !formModel?.value, 'is-pending': pending, 'is-uppercase': upperCase}\"\r\n (focusout)=\"focusOutEvent()\"\r\n [attr.cdkFocusInitial]=\"autofocus || null\">\r\n\r\n <textarea *ngIf=\"type === 'multi_line'\"\r\n [attr.rows]=\"rows\"\r\n #textboxInput\r\n tabindex=\"{{tabindex}}\"\r\n [attr.id]=\"inputId\"\r\n [attr.placeholder]=\"placeholder\"\r\n [attr.maxlength]=\"maxlength\"\r\n [attr.minlength]=\"minlength\"\r\n [attr.required]=\"required ? required : null\"\r\n [formControl]=\"formModel\"\r\n [ngClass]=\"{'is-empty': formModel?.value === '', 'is-pending': pending}\"\r\n [attr.cdkFocusInitial]=\"autofocus || null\">\r\n </textarea>\r\n\r\n <i class=\"ec-icon icon-required\"></i>\r\n <i class=\"ec-icon icon-invalid\"></i>\r\n <i class=\"ec-icon icon-loading\"></i>\r\n </div>\r\n</div>", styles: [":host{color:var(--ec-form-control-color);font-size:var(--ec-form-control-font-size);display:block;margin-bottom:1rem;width:100%}:host :host-context(.form-condensed){margin-bottom:.5rem}:host .control{width:100%;display:flex;flex-direction:column}:host .control.control-label-bottom{flex-direction:column-reverse}:host .control.control-label-left{flex-direction:row}:host .control.control-label-left label{margin-right:.25rem}:host .control.control-label-right{flex-direction:row-reverse}:host .control.control-label-right label{margin-left:.25rem}:host .control.control-label-left,:host .control.control-label-right{align-items:center}:host .control.control-label-left label,:host .control.control-label-right label{flex:1 1;margin-top:0;margin-bottom:0}:host .control.control-label-left .control-input,:host .control.control-label-right .control-input{flex:2 2}:host .control.is-readonly input,:host .control.is-readonly select,:host .control.is-readonly textarea{border-color:var(--ec-form-control-border-color-readonly);background-color:var(--ec-form-control-background-color-readonly);background-clip:border-box;background-image:none;color:var(--ec-form-control-color-readonly);opacity:1;-webkit-user-select:none;user-select:none;pointer-events:none;overflow:hidden;white-space:nowrap}:host .control.invalid .textbox-group-input ::ng-deep .control input.ng-invalid,:host .control.invalid .textbox-group-input ::ng-deep .control input.ng-valid{background-color:var(--ec-form-control-background-color-invalid);border-color:var(--ec-form-control-border-color-invalid);background-repeat:no-repeat;background-position:.5rem center;background-size:1rem,1rem;padding-left:1.75rem;background-image:none}:host .control.invalid .textbox-group-input ::ng-deep .control input.ng-invalid:focus,:host .control.invalid .textbox-group-input ::ng-deep .control input.ng-valid:focus{border-color:var(--ec-form-control-background-color-invalid)}:host .control.invalid .textbox-group-input ::ng-deep .control input.ng-invalid~.icon-invalid,:host .control.invalid .textbox-group-input ::ng-deep .control input.ng-valid~.icon-invalid{display:inline-flex;position:absolute;left:.5rem;top:.5rem;z-index:1}:host .control.invalid .textbox-group-input ::ng-deep .control input.ng-invalid~.icon-required,:host .control.invalid .textbox-group-input ::ng-deep .control input.ng-valid~.icon-required{display:none}:host .control.invalid:not(.open) .textbox-group-btn-right ::ng-deep button{background-color:var(--ec-form-control-background-color-invalid)}:host .control.invalid:not(.open) .textbox-group-btn-right ::ng-deep button:not(:focus){border-color:var(--ec-form-control-border-color-invalid)}:host .textbox-group{display:flex;position:relative}:host textarea:focus,:host input:focus,:host select:focus{outline:none}:host label{color:var(--ec-form-control-label-color, var(--ec-color-secondary-dark));display:block;font-size:var(--ec-font-size-label);line-height:1;margin:calc(var(--ec-font-size-label) / 2) 0}:host input{background-color:var(--ec-form-control-background-color);border:1px solid var(--ec-form-control-border-color);border-radius:var(--ec-border-radius);background-image:none;background-clip:padding-box;width:100%;line-height:1.25rem;padding:.3125rem .5rem;height:2rem}:host input::selection{background-color:var(--ec-form-control-background-color-selection);color:var(--ec-form-control-color-selection)}:host input::-webkit-input-placeholder{color:var(--ec-form-control-color-placeholder)}:host input::-moz-placeholder{color:var(--ec-form-control-color-placeholder);opacity:1}:host input:-ms-input-placeholder{color:var(--ec-form-control-color-placeholder)}:host input:-moz-placeholder{color:var(--ec-form-control-color-placeholder);opacity:1}:host input~.icon-required,:host input~.icon-invalid{color:var(--ec-form-control-border-color-invalid)}:host input:required.is-empty{background-repeat:no-repeat;background-position:.5rem center;background-size:1rem,1rem;padding-left:1.75rem;background-image:none}:host input:required.is-empty~.icon-required{display:inline-flex;position:absolute;left:.5rem;top:.5rem;z-index:1}:host input.ng-invalid.ng-touched{background-color:var(--ec-form-control-background-color-invalid);border-color:var(--ec-form-control-border-color-invalid);background-repeat:no-repeat;background-position:.5rem center;background-size:1rem,1rem;padding-left:1.75rem;background-image:none}:host input.ng-invalid.ng-touched:focus{border-color:var(--ec-form-control-background-color-invalid)}:host input.ng-invalid.ng-touched~.icon-invalid{display:inline-flex;position:absolute;left:.5rem;top:.5rem;z-index:1}:host input.ng-invalid.ng-touched~.icon-required{display:none}:host input.is-pending.ng-valid,:host input.is-pending.ng-invalid,:host input.is-pending.ng-pending{background-image:\"\";background-repeat:no-repeat;background-position:.5rem center;background-size:1rem,1rem;padding-left:1.75rem}:host input.is-pending.ng-valid~.icon-loading,:host input.is-pending.ng-invalid~.icon-loading,:host input.is-pending.ng-pending~.icon-loading{display:inline-flex;position:absolute;left:.5rem;top:.5rem;z-index:1}:host input.is-pending.ng-valid~.icon-required,:host input.is-pending.ng-valid~.icon-invalid,:host input.is-pending.ng-invalid~.icon-required,:host input.is-pending.ng-invalid~.icon-invalid,:host input.is-pending.ng-pending~.icon-required,:host input.is-pending.ng-pending~.icon-invalid{display:none}:host input:focus,:host input:focus.is-empty{border-color:var(--ec-form-control-border-color-focus);box-shadow:var(--ec-form-control-box-shadow-focus);position:relative;z-index:1}:host input:disabled{background-color:var(--ec-form-control-background-color-disabled);border-color:var(--ec-form-control-border-color-disabled);color:var(--ec-form-control-color-disabled);opacity:var(--ec-form-control-opacity-disabled)}:host input:disabled:required,:host input:disabled:required.is-empty{background-image:none;padding-left:.5rem;background-color:var(--ec-form-control-background-color-disabled);border-color:var(--ec-form-control-border-color-disabled)}:host input:disabled:required+.icon-required,:host input:disabled:required.is-empty+.icon-required{display:none}:host input.is-uppercase:not(.is-empty){text-transform:uppercase}:host textarea{background-color:var(--ec-form-control-background-color);border:1px solid var(--ec-form-control-border-color);border-radius:var(--ec-border-radius);background-image:none;background-clip:padding-box;width:100%;line-height:1.25rem;padding:.3125rem .5rem;height:auto;resize:none;display:block}:host textarea::selection{background-color:var(--ec-form-control-background-color-selection);color:var(--ec-form-control-color-selection)}:host textarea::-webkit-input-placeholder{color:var(--ec-form-control-color-placeholder)}:host textarea::-moz-placeholder{color:var(--ec-form-control-color-placeholder);opacity:1}:host textarea:-ms-input-placeholder{color:var(--ec-form-control-color-placeholder)}:host textarea:-moz-placeholder{color:var(--ec-form-control-color-placeholder);opacity:1}:host textarea~.icon-required,:host textarea~.icon-invalid{color:var(--ec-form-control-border-color-invalid)}:host textarea:required.is-empty{background-repeat:no-repeat;background-position:.5rem .5rem;background-size:1rem,1rem;padding-left:1.75rem;background-image:none}:host textarea:required.is-empty~.icon-required{display:inline-flex;position:absolute;left:.5rem;top:.5rem;z-index:1}:host textarea.ng-invalid.ng-touched{background-color:var(--ec-form-control-background-color-invalid);border-color:var(--ec-form-control-border-color-invalid);background-repeat:no-repeat;background-position:.5rem .5rem;background-size:1rem,1rem;padding-left:1.75rem;background-image:none}:host textarea.ng-invalid.ng-touched:focus{border-color:var(--ec-form-control-background-color-invalid)}:host textarea.ng-invalid.ng-touched~.icon-invalid{display:inline-flex;position:absolute;left:.5rem;top:.5rem;z-index:1}:host textarea.ng-invalid.ng-touched~.icon-required{display:none}:host textarea.is-pending.ng-valid,:host textarea.is-pending.ng-invalid,:host textarea.is-pending.ng-pending{background-image:\"\";background-repeat:no-repeat;background-position:.5rem .5rem;background-size:1rem,1rem;padding-left:1.75rem}:host textarea.is-pending.ng-valid~.icon-loading,:host textarea.is-pending.ng-invalid~.icon-loading,:host textarea.is-pending.ng-pending~.icon-loading{display:inline-flex;position:absolute;left:.5rem;top:.5rem;z-index:1}:host textarea.is-pending.ng-valid~.icon-required,:host textarea.is-pending.ng-valid~.icon-invalid,:host textarea.is-pending.ng-invalid~.icon-required,:host textarea.is-pending.ng-invalid~.icon-invalid,:host textarea.is-pending.ng-pending~.icon-required,:host textarea.is-pending.ng-pending~.icon-invalid{display:none}:host textarea:focus,:host textarea:focus.is-empty{border-color:var(--ec-form-control-border-color-focus);box-shadow:var(--ec-form-control-box-shadow-focus);position:relative;z-index:1}:host textarea:disabled{background-color:var(--ec-form-control-background-color-disabled);border-color:var(--ec-form-control-border-color-disabled);color:var(--ec-form-control-color-disabled);opacity:var(--ec-form-control-opacity-disabled)}:host textarea:disabled:required,:host textarea:disabled:required.is-empty{background-image:none;padding-left:.5rem;background-color:var(--ec-form-control-background-color-disabled);border-color:var(--ec-form-control-border-color-disabled)}:host textarea:disabled:required+.icon-required,:host textarea:disabled:required.is-empty+.icon-required{display:none}:host textarea.is-uppercase:not(.is-empty){text-transform:uppercase}.input-wrapper{position:relative}.input-wrapper>.ec-icon{display:none}:host(.textbox-group-input:not(:last-child)){flex:1 1 0%;width:1px}:host(.textbox-group-input:not(:last-child)) .control{margin-bottom:0}:host(.textbox-group-input:not(:last-child)) .control.is-readonly input{border-right-width:1px}:host(.textbox-group-input:not(:last-child)) input{border-top-right-radius:0;border-bottom-right-radius:0;border-right-width:0}:host(.textbox-group-input:not(:last-child)) input:focus{position:relative;z-index:1;border-right-width:1px}:host(.text-truncate) input{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}:host(.is-monospace) input,:host(.is-monospace) textarea,:host-context(.is-monospace) input,:host-context(.is-monospace) textarea{font-family:var(--ec-font-family-monospace)}\n"] }]
132
134
  }], ctorParameters: function () { return [{ type: i1.ValidationMessageService }, { type: i2.FormGroupHelper }, { type: i3.TranslateService }]; }, propDecorators: { autocomplete: [{
133
135
  type: Input
134
136
  }], type: [{
@@ -149,4 +151,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImpor
149
151
  type: ViewChild,
150
152
  args: ['textboxInput']
151
153
  }] } });
152
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGV4dGJveC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb21wb25lbnRzL3NyYy9saWIvY29udHJvbHMvdGV4dGJveC90ZXh0Ym94LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvbXBvbmVudHMvc3JjL2xpYi9jb250cm9scy90ZXh0Ym94L3RleHRib3guY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUErRCxNQUFNLGVBQWUsQ0FBQztBQUN6SCxPQUFPLEVBQW9CLGVBQWUsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBRXhFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUV2RCxPQUFPLEVBQWtELFVBQVUsRUFBRSxXQUFXLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM5SCxPQUFPLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLGlCQUFpQixDQUFDOzs7Ozs7QUEwQmhELG9EQUFvRDtBQUNwRCxNQUFNLENBQUMsTUFBTSxpQkFBaUIsR0FBRyxDQUFDLGVBQTJDLEVBQWUsRUFBRTtJQUMxRixPQUFPLENBQUMsT0FBd0IsRUFBRSxFQUFFO1FBQ2hDLElBQUksVUFBVSxHQUFrQixFQUFFLENBQUM7UUFFbkMsK0JBQStCO1FBQy9CLGVBQWUsQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDO1FBRTdCLElBQUksZUFBZSxDQUFDLFFBQVEsRUFBRTtZQUMxQixVQUFVLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxRQUFRLENBQUMsQ0FBQztTQUN4QztRQUVELElBQUksZUFBZSxDQUFDLFNBQVMsS0FBSyxTQUFTLEVBQUU7WUFDekMsVUFBVSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsU0FBUyxDQUFDLGVBQWUsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDO1NBQ3BFO1FBRUQsSUFBSSxlQUFlLENBQUMsU0FBUyxLQUFLLFNBQVMsRUFBRTtZQUN6QyxVQUFVLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxTQUFTLENBQUMsZUFBZSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUM7U0FDcEU7UUFFRCxJQUFJLGVBQWUsQ0FBQyxPQUFPLEtBQUssU0FBUyxFQUFFO1lBQ3ZDLFVBQVUsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxlQUFlLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQztTQUNoRTtRQUVELFVBQVUsQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLEVBQUU7WUFDM0IsSUFBSSxnQkFBZ0IsR0FBNEIsU0FBUyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1lBQ25FLElBQUksZ0JBQWdCLEVBQUU7Z0JBQ2xCLGVBQWUsQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO2FBQ2pDO1FBQ0wsQ0FBQyxDQUFDLENBQUM7UUFFSCxJQUFJLGVBQWUsQ0FBQyxLQUFLLEVBQUU7WUFDdkIsT0FBTyxJQUFJLENBQUM7U0FDZjthQUFNO1lBQ0gsT0FBTztnQkFDSCxPQUFPLEVBQUUsZUFBZTthQUMzQixDQUFDO1NBQ0w7SUFDTCxDQUFDLENBQUE7QUFDTCxDQUFDLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSw0QkFBNEIsR0FBVyx5RkFBeUYsQ0FBQztBQUM5SSxNQUFNLENBQUMsTUFBTSxvQkFBb0IsR0FBVyw0QkFBNEIsQ0FBQztBQVV6RSxNQUFNLE9BQU8sZ0JBQWlCLFNBQVEsZUFBZTtJQXlEakQsWUFDYyx3QkFBa0QsRUFDbEQsZUFBZ0MsRUFDaEMsU0FBMkI7UUFFckMsS0FBSyxDQUFDLHdCQUF3QixFQUFFLGVBQWUsQ0FBQyxDQUFDO1FBSnZDLDZCQUF3QixHQUF4Qix3QkFBd0IsQ0FBMEI7UUFDbEQsb0JBQWUsR0FBZixlQUFlLENBQWlCO1FBQ2hDLGNBQVMsR0FBVCxTQUFTLENBQWtCO1FBM0R6Qzs7V0FFRztRQUNhLGlCQUFZLEdBQVksS0FBSyxDQUFDO1FBRTlDOztXQUVHO1FBQ2EsU0FBSSxHQUFpQixNQUFNLENBQUM7UUF5QjVDOztXQUVHO1FBQ2EsU0FBSSxHQUFZLENBQUMsQ0FBQztRQUVsQzs7O1dBR0c7UUFDYSxzQkFBaUIsR0FBYSxLQUFLLENBQUM7UUFFcEQ7O1dBRUc7UUFDYSxjQUFTLEdBQVksS0FBSyxDQUFDO1FBRTNDOztXQUVHO1FBQ0ksc0JBQWlCLEdBQVksRUFBRSxDQUFDO0lBVXZDLENBQUM7SUFFTSxXQUFXLENBQUMsT0FBc0I7UUFDckMsS0FBSyxDQUFDLFdBQVcsQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUMvQixDQUFDO0lBQ0Q7O09BRUE7SUFDTyxRQUFRO1FBQ1gsS0FBSyxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBRWpCLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxFQUFFLENBQUM7UUFFNUIsSUFBSSxJQUFJLENBQUMsSUFBSSxLQUFLLEtBQUssRUFBRTtZQUNyQixJQUFJLENBQUMsaUJBQWlCLEdBQUcsNEJBQTRCLENBQUM7U0FDekQ7YUFBTSxJQUFJLElBQUksQ0FBQyxJQUFJLEtBQUssS0FBSyxFQUFFO1lBQzVCLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxvQkFBb0IsQ0FBQztTQUNqRDtRQUVELElBQUksSUFBSSxDQUFDLFdBQVcsRUFBRTtZQUNsQixJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQztTQUMvRDtJQUNMLENBQUM7SUFFRDs7T0FFQTtJQUNPLGVBQWU7UUFDbEIsSUFBSSxJQUFJLENBQUMsU0FBUyxFQUFFO1lBQ2hCLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLENBQUM7U0FDekM7SUFDTCxDQUFDO0lBRUQ7Ozs7T0FJRztJQUNJLFFBQVEsQ0FBQyxhQUF1QjtRQUNuQyxJQUFJLENBQUMsWUFBWSxDQUFDLGFBQWEsQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUV4QyxJQUFJLGFBQWEsRUFBRTtZQUNmLElBQUksQ0FBQyxZQUFZLENBQUMsYUFBYSxDQUFDLE1BQU0sRUFBRSxDQUFDO1NBQzVDO0lBQ0wsQ0FBQztJQUVEOzs7SUFHQTtJQUNPLGFBQWE7UUFDaEIsSUFBSSxJQUFJLENBQUMsU0FBUyxJQUFJLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxFQUFFO1lBQ3hDLElBQUksQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLFdBQVcsRUFBRSxDQUFDLElBQUksRUFBRSxDQUFDLENBQUM7U0FDdEU7SUFDTCxDQUFDOzs2R0FySFEsZ0JBQWdCO2lHQUFoQixnQkFBZ0Isa2JDckY3Qix3b0VBNkNNLCt2VURxQ1EsT0FBTyxvRkFBRSxJQUFJLDRGQUFFLFdBQVcsaXVDQUFFLG1CQUFtQixpTkFBRSxlQUFlOzJGQUdqRSxnQkFBZ0I7a0JBUjVCLFNBQVM7K0JBQ0ksWUFBWSxjQUdWLElBQUksV0FDUCxDQUFDLE9BQU8sRUFBRSxJQUFJLEVBQUUsV0FBVyxFQUFFLG1CQUFtQixFQUFFLGVBQWUsQ0FBQzs0S0FPM0QsWUFBWTtzQkFBM0IsS0FBSztnQkFLVSxJQUFJO3NCQUFuQixLQUFLO2dCQUtVLFdBQVc7c0JBQTFCLEtBQUs7Z0JBU1UsU0FBUztzQkFBeEIsS0FBSztnQkFTVSxTQUFTO3NCQUF4QixLQUFLO2dCQUtVLElBQUk7c0JBQW5CLEtBQUs7Z0JBTVUsaUJBQWlCO3NCQUFoQyxLQUFLO2dCQUtVLFNBQVM7c0JBQXhCLEtBQUs7Z0JBTytCLFlBQVk7c0JBQWhELFNBQVM7dUJBQUMsY0FBYyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEZvcm1Hcm91cEhlbHBlciB9IGZyb20gJy4uLy4uL3NoYXJlZC9mb3JtLWdyb3VwLmhlbHBlcic7XHJcbmltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIFZpZXdDaGlsZCwgRWxlbWVudFJlZiwgQWZ0ZXJWaWV3SW5pdCwgT25Jbml0LCBPbkNoYW5nZXMsIFNpbXBsZUNoYW5nZXMgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgVHJhbnNsYXRlU2VydmljZSwgVHJhbnNsYXRlTW9kdWxlIH0gZnJvbSBcIkBuZ3gtdHJhbnNsYXRlL2NvcmVcIjtcclxuXHJcbmltcG9ydCB7IEZvcm1Db250cm9sQmFzZSB9IGZyb20gXCIuLi9mb3JtLWNvbnRyb2wtYmFzZVwiO1xyXG5pbXBvcnQgeyBWYWxpZGF0aW9uTWVzc2FnZVNlcnZpY2UgfSBmcm9tIFwiLi4vLi4vY29yZS92YWxpZGF0aW9uLW1lc3NhZ2Uuc2VydmljZVwiO1xyXG5pbXBvcnQgeyBWYWxpZGF0b3JGbiwgQWJzdHJhY3RDb250cm9sLCBWYWxpZGF0aW9uRXJyb3JzLCBWYWxpZGF0b3JzLCBGb3Jtc01vZHVsZSwgUmVhY3RpdmVGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgTmdDbGFzcywgTmdJZiB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcblxyXG4vKipcclxuICogVGhlIHR5cGUgb2YgdGV4dGJveCB3aGVyZSB0ZXh0IGlzIGlucHV0W3R5cGU9XCJ0ZXh0XCJdLCBtdWx0aV9saW5lIGlzIGEgXHJcbiAqIHRleHRhcmVhLCBlbWFpbCBpcyBpbnB1dFt0eXBlPVwiZW1haWxcIl0sIHVybCBpcyBpbnB1dFt0eXBlPVwidXJsXCJdLCBhbmQgcGFzc3dvcmQgXHJcbiAqIGlzIGFuIGlucHV0W3R5cGU9XCJwYXNzd29yZFwiXVxyXG4gKiBcclxuICogSWYgdGhlIHR5cGUgaXMgdXJsIG9yIHRlbCBhIHJlZ2V4IHBhdHRlcm4gaXMgYXV0b21hdGljYWxseSBhZGRlZCB0byB0aGUgZm9ybSB2YWxpZGF0b3JzLiAgTm8gb3RoZXIgcGF0dGVybiB2YWxpZGF0b3JzXHJcbiAqIG1heSBiZSB1c2VkIGZvciB0aGlzIGlucHV0LCBoYXZpbmcgbW9yZSB0aGFuIG9uZSB3aWxsIGNhdXNlIGlzc3Vlcy5cclxuICogXHJcbiAqIElmIHRoZSB0eXBlIGlzIGVtYWlsIGFuIGVtYWlsIHZhbGlkYXRvciBpcyBhdXRvbWF0aWNhbGx5IGFkZGVkIHRvIHRoZSBmb3JtIHZhbGlkYXRvcnMuXHJcbiAqICovXHJcbmV4cG9ydCB0eXBlIFRleHRib3hUeXBlID0gXCJ0ZXh0XCIgfCBcIm11bHRpX2xpbmVcIiB8IFwiZW1haWxcIiB8IFwidXJsXCIgfCBcInBhc3N3b3JkXCIgfCBcInRlbFwiO1xyXG5cclxuLyoqIFR5cGUgZm9yIGFkdmFuY2VkIHZhbGlkYXRpb24gb2YgdGV4dGJveCBmb3JtIGNvbnRyb2xzLCBpZiBpbiB0aGUgZnV0dXJlXHJcbiAqICB3ZSB3YW50IG1vcmUgaGFuZGxpbmcgd2Ugd2lsbCBuZWVkIHRvIHVwZGF0ZSB0aGlzIHR5cGUuXHJcbiAqL1xyXG5leHBvcnQgdHlwZSBUZXh0Ym94VmFsaWRhdG9yUGFyYW1ldGVycyA9IHtcclxuICAgIHJlcXVpcmVkPzogYm9vbGVhbjtcclxuICAgIG1pbkxlbmd0aD86IG51bWJlcjtcclxuICAgIG1heExlbmd0aD86IG51bWJlcjtcclxuICAgIHVuaXF1ZT86IGJvb2xlYW47XHJcbiAgICB2YWxpZD86IGJvb2xlYW47XHJcbiAgICBwYXR0ZXJuPzogUmVnRXhwO1xyXG59O1xyXG5cclxuLyoqIEFkdmFuY2VkIHZhbGlkYXRpb24gZm9yIHRleHRib3ggZm9ybSBjb250cm9scyAqL1xyXG5leHBvcnQgY29uc3QgdGV4dGJveFZhbGlkYXRpb24gPSAodmFsaWRhdG9yUGFyYW1zOiBUZXh0Ym94VmFsaWRhdG9yUGFyYW1ldGVycyk6IFZhbGlkYXRvckZuID0+IHtcclxuICAgIHJldHVybiAoY29udHJvbDogQWJzdHJhY3RDb250cm9sKSA9PiB7XHJcbiAgICAgICAgbGV0IHZhbGlkYXRvcnM6IFZhbGlkYXRvckZuW10gPSBbXTtcclxuIFxyXG4gICAgICAgIC8vIElubm9jZW50IHVudGlsIHByb3ZlbiBndWlsdHlcclxuICAgICAgICB2YWxpZGF0b3JQYXJhbXMudmFsaWQgPSB0cnVlO1xyXG5cclxuICAgICAgICBpZiAodmFsaWRhdG9yUGFyYW1zLnJlcXVpcmVkKSB7XHJcbiAgICAgICAgICAgIHZhbGlkYXRvcnMucHVzaChWYWxpZGF0b3JzLnJlcXVpcmVkKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGlmICh2YWxpZGF0b3JQYXJhbXMubWluTGVuZ3RoICE9PSB1bmRlZmluZWQpIHtcclxuICAgICAgICAgICAgdmFsaWRhdG9ycy5wdXNoKFZhbGlkYXRvcnMubWluTGVuZ3RoKHZhbGlkYXRvclBhcmFtcy5taW5MZW5ndGgpKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGlmICh2YWxpZGF0b3JQYXJhbXMubWF4TGVuZ3RoICE9PSB1bmRlZmluZWQpIHtcclxuICAgICAgICAgICAgdmFsaWRhdG9ycy5wdXNoKFZhbGlkYXRvcnMubWF4TGVuZ3RoKHZhbGlkYXRvclBhcmFtcy5tYXhMZW5ndGgpKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGlmICh2YWxpZGF0b3JQYXJhbXMucGF0dGVybiAhPT0gdW5kZWZpbmVkKSB7XHJcbiAgICAgICAgICAgIHZhbGlkYXRvcnMucHVzaChWYWxpZGF0b3JzLnBhdHRlcm4odmFsaWRhdG9yUGFyYW1zLnBhdHRlcm4pKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHZhbGlkYXRvcnMuZm9yRWFjaCh2YWxpZGF0b3IgPT4ge1xyXG4gICAgICAgICAgICBsZXQgdmFsaWRhdGlvblJlc3VsdDogVmFsaWRhdGlvbkVycm9ycyB8IG51bGwgPSB2YWxpZGF0b3IoY29udHJvbCk7XHJcbiAgICAgICAgICAgIGlmICh2YWxpZGF0aW9uUmVzdWx0KSB7XHJcbiAgICAgICAgICAgICAgICB2YWxpZGF0b3JQYXJhbXMudmFsaWQgPSBmYWxzZTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH0pO1xyXG5cclxuICAgICAgICBpZiAodmFsaWRhdG9yUGFyYW1zLnZhbGlkKSB7XHJcbiAgICAgICAgICAgIHJldHVybiBudWxsO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIHJldHVybiB7XHJcbiAgICAgICAgICAgICAgICB0ZXh0Ym94OiB2YWxpZGF0b3JQYXJhbXNcclxuICAgICAgICAgICAgfTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn07XHJcblxyXG5leHBvcnQgY29uc3QgcGhvbmVOdW1iZXJWYWxpZGF0aW9uUGF0dGVybjogc3RyaW5nID0gJ15cXFxccyooPzpcXFxcKz8oXFxcXGR7MSwzfSkpP1stLiAoXSooXFxcXGR7M30pWy0uICldKihcXFxcZHszfSlbLS4gXSooXFxcXGR7NH0pKD86ICp4KFxcXFxkKykpP1xcXFxzKiQnO1xyXG5leHBvcnQgY29uc3QgdXJsVmFsaWRhdGlvblBhdHRlcm46IHN0cmluZyA9ICcoW0EtWmEtel0pKyg6XFwvXFwvKStbXlxcXFxzXSonO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgICBzZWxlY3RvcjogJ2VjLXRleHRib3gnLFxyXG4gICAgdGVtcGxhdGVVcmw6ICcuL3RleHRib3guY29tcG9uZW50Lmh0bWwnLFxyXG4gICAgc3R5bGVVcmxzOiBbJy4vdGV4dGJveC5jb21wb25lbnQuc2NzcyddLFxyXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcclxuICAgIGltcG9ydHM6IFtOZ0NsYXNzLCBOZ0lmLCBGb3Jtc01vZHVsZSwgUmVhY3RpdmVGb3Jtc01vZHVsZSwgVHJhbnNsYXRlTW9kdWxlXVxyXG59KVxyXG5cclxuZXhwb3J0IGNsYXNzIFRleHRib3hDb21wb25lbnQgZXh0ZW5kcyBGb3JtQ29udHJvbEJhc2UgaW1wbGVtZW50cyBPbkluaXQsIEFmdGVyVmlld0luaXQsIE9uQ2hhbmdlcyB7XHJcbiAgICAvKipcclxuICAgICAqIFNldCB0aGUgdmFsdWUgb2YgdGhlIGlucHV0J3MgYXV0b2NvbXBsZXRlIGF0dHJpYnV0ZVxyXG4gICAgICovXHJcbiAgICBASW5wdXQoKSBwdWJsaWMgYXV0b2NvbXBsZXRlPzogc3RyaW5nID0gJ29mZic7XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBUaGUgdGV4dGJveCB0eXBlXHJcbiAgICAgKi9cclxuICAgIEBJbnB1dCgpIHB1YmxpYyB0eXBlPzogVGV4dGJveFR5cGUgPSBcInRleHRcIjtcclxuXHJcbiAgICAvKipcclxuICAgICAqIFRoZSB2YWx1ZSBvZiB0aGUgdGV4dGJveCBpbnB1dCdzIHBsYWNlaG9sZGVyXHJcbiAgICAgKi9cclxuICAgIEBJbnB1dCgpIHB1YmxpYyBwbGFjZWhvbGRlcj86IHN0cmluZztcclxuXHJcbiAgICAvKipcclxuICAgICAqIFRoZSBtYXhpbXVtIG51bWJlciBvZiBjaGFyYWN0ZXJzIGFsbG93ZWQgaW4gdGhlIGlucHV0XHJcbiAgICAgKiBcclxuICAgICAqIFRoaXMgaXMgZm9yIGFkZGluZyB0aGUgYXR0cmlidXRlIG9uIHRoZSBlbGVtZW50IHRvIGdldCB0aGUgYnJvd3NlciBmdW5jdGlvbmFsaXR5XHJcbiAgICAgKiBmcm9tIHRoZSBpbnB1dC4gIElmIHlvdSBuZWVkIHRoZSBmb3JtIHRvIGJlIHZhbGlkYXRlZCBiZWZvcmUgc3VibWlzc2lvbiwgYXBwbHkgdGhlXHJcbiAgICAgKiBtYXhMZW5ndGggdmFsaWRhdG9yIHRvIHRoZSBmb3JtIGNvbnRyb2wuXHJcbiAgICAgKi9cclxuICAgIEBJbnB1dCgpIHB1YmxpYyBtYXhsZW5ndGg/OiBudW1iZXI7XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBUaGUgbWluaW11bSBudW1iZXIgb2YgY2hhcmFjdGVycyBhbGxvd2VkIGluIHRoZSBpbnB1dFxyXG4gICAgICogXHJcbiAgICAgKiBUaGlzIGlzIGZvciBhZGRpbmcgdGhlIGF0dHJpYnV0ZSBvbiB0aGUgZWxlbWVudCB0byBnZXQgdGhlIGJyb3dzZXIgZnVuY3Rpb25hbGl0eVxyXG4gICAgICogZnJvbSB0aGUgaW5wdXQuICBJZiB5b3UgbmVlZCB0aGUgZm9ybSB0byBiZSB2YWxpZGF0ZWQgYmVmb3JlIHN1Ym1pc3Npb24sIGFwcGx5IHRoZVxyXG4gICAgICogbWluTGVuZ3RoIHZhbGlkYXRvciB0byB0aGUgZm9ybSBjb250cm9sLlxyXG4gICAgICovXHJcbiAgICBASW5wdXQoKSBwdWJsaWMgbWlubGVuZ3RoPzogbnVtYmVyO1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogVGhlIHZhbHVlIG9mIHRoZSByb3dzIGF0dHJpYnV0ZSBmb3IgYSB0ZXh0YXJlYS4gT25seSBhcHBsaWVzIHRvIG11bHRpLWxpbmUgdHlwZVxyXG4gICAgICovXHJcbiAgICBASW5wdXQoKSBwdWJsaWMgcm93cz86IG51bWJlciA9IDM7XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBJZiBzZXQgdG8gdHJ1ZSwgd2Ugd2lsbCBzZWxlY3QgYWxsIHRleHQgd2l0aGluIHRoZSBpbnB1dCBpZlxyXG4gICAgICogYXV0b2ZvY3VzIGlzIGFsc28gc2V0IHRvIHRydWVcclxuICAgICAqL1xyXG4gICAgQElucHV0KCkgcHVibGljIHNlbGVjdE9uQXV0b2ZvY3VzPzogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogSWYgc2V0IHRvIHRydWUsIHdlIHdpbGwgdXBwZXIgY2FzZSBvbiBmb2N1cyBvdXRcclxuICAgICAqL1xyXG4gICAgQElucHV0KCkgcHVibGljIHVwcGVyQ2FzZTogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogVmFsaWRhdGlvbiBwYXR0ZXJuIGZvciB0aGUgaW5wdXQuIFRoaXMgaXMgZGV0ZXJtaW5lZCBvbiB0aGUgaW5wdXQgdHlwZSBzcGVjaWZpZWRcclxuICAgICAqL1xyXG4gICAgcHVibGljIHZhbGlkYXRpb25QYXR0ZXJuOiBzdHJpbmcgID0gJyc7XHJcblxyXG4gICAgQFZpZXdDaGlsZCgndGV4dGJveElucHV0JykgcHJvdGVjdGVkIGlucHV0RWxlbWVudCE6IEVsZW1lbnRSZWY7XHJcblxyXG4gICAgY29uc3RydWN0b3IoXHJcbiAgICAgICAgcHJvdGVjdGVkIHZhbGlkYXRpb25NZXNzYWdlU2VydmljZTogVmFsaWRhdGlvbk1lc3NhZ2VTZXJ2aWNlLFxyXG4gICAgICAgIHByb3RlY3RlZCBmb3JtR3JvdXBIZWxwZXI6IEZvcm1Hcm91cEhlbHBlcixcclxuICAgICAgICBwcm90ZWN0ZWQgdHJhbnNsYXRlOiBUcmFuc2xhdGVTZXJ2aWNlXHJcbiAgICApIHtcclxuICAgICAgICBzdXBlcih2YWxpZGF0aW9uTWVzc2FnZVNlcnZpY2UsIGZvcm1Hcm91cEhlbHBlcik7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpIHtcclxuICAgICAgICBzdXBlci5uZ09uQ2hhbmdlcyhjaGFuZ2VzKTtcclxuICAgIH1cclxuICAgIC8qKlxyXG5cdCAqIFRoZSBhbmd1bGFyIG9uSW5pdCBsaWZlY3ljbGUgaG9va1xyXG5cdCAqL1xyXG4gICAgcHVibGljIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgICAgIHN1cGVyLm5nT25Jbml0KCk7XHJcblxyXG4gICAgICAgIHRoaXMudmFsaWRhdGlvblBhdHRlcm4gPSAnJztcclxuXHJcbiAgICAgICAgaWYgKHRoaXMudHlwZSA9PT0gJ3RlbCcpIHtcclxuICAgICAgICAgICAgdGhpcy52YWxpZGF0aW9uUGF0dGVybiA9IHBob25lTnVtYmVyVmFsaWRhdGlvblBhdHRlcm47XHJcbiAgICAgICAgfSBlbHNlIGlmICh0aGlzLnR5cGUgPT09ICd1cmwnKSB7XHJcbiAgICAgICAgICAgIHRoaXMudmFsaWRhdGlvblBhdHRlcm4gPSB1cmxWYWxpZGF0aW9uUGF0dGVybjtcclxuICAgICAgICB9XHJcbiAgICAgICAgXHJcbiAgICAgICAgaWYgKHRoaXMucGxhY2Vob2xkZXIpIHtcclxuICAgICAgICAgICAgdGhpcy5wbGFjZWhvbGRlciA9IHRoaXMudHJhbnNsYXRlLmluc3RhbnQodGhpcy5wbGFjZWhvbGRlcik7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG5cdCAqIFRoZSBhbmd1bGFyIGFmdGVyVmlld0luaXQgbGlmZWN5Y2xlIGhvb2tcclxuXHQgKi9cclxuICAgIHB1YmxpYyBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XHJcbiAgICAgICAgaWYgKHRoaXMuYXV0b2ZvY3VzKSB7XHJcbiAgICAgICAgICAgIHRoaXMuc2V0Rm9jdXModGhpcy5zZWxlY3RPbkF1dG9mb2N1cyk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogRnVuY3Rpb24gdG8gc2V0IGZvY3VzIG9uIGFuIGlucHV0IHByb2dyYW1tYXRpY2FsbHkgYWZ0ZXIgdGhlIHBhZ2VcclxuICAgICAqIGhhZCBiZWVuIHJlbmRlcmVkLiAgVGhlIGhpZ2hsaWdodCB0ZXh0IGZsYWcgd2lsbCBzZWxlY3QgdGhlIHRleHQgXHJcbiAgICAgKiB3aXRoaW4gdGhlIGlucHV0IGlmIHBhc3NlZCBpbiBhbmQgdHJ1ZVxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgc2V0Rm9jdXMoaGlnaGxpZ2h0VGV4dD86IGJvb2xlYW4pOiB2b2lkIHtcclxuICAgICAgICB0aGlzLmlucHV0RWxlbWVudC5uYXRpdmVFbGVtZW50LmZvY3VzKCk7XHJcblxyXG4gICAgICAgIGlmIChoaWdobGlnaHRUZXh0KSB7XHJcbiAgICAgICAgICAgIHRoaXMuaW5wdXRFbGVtZW50Lm5hdGl2ZUVsZW1lbnQuc2VsZWN0KCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICogRm9jdXMgb3V0IGV2ZW50IGhhbmRsZXJcclxuICAqIHdpbGwgdXBwZXIgY2FzZSBhbmQgdHJpbSB2YWx1ZSBpZiB1cHBlckNhc2UgaXMgdHJ1ZSAodGhpcyBpcyB3aGF0IHdlIGRvIG9uIHRoZSBhcGlzKVxyXG4gICovXHJcbiAgICBwdWJsaWMgZm9jdXNPdXRFdmVudCgpOiB2b2lkIHtcclxuICAgICAgICBpZiAodGhpcy51cHBlckNhc2UgJiYgdGhpcy5mb3JtTW9kZWwudmFsdWUpIHtcclxuICAgICAgICAgICAgdGhpcy5mb3JtTW9kZWwuc2V0VmFsdWUodGhpcy5mb3JtTW9kZWwudmFsdWUudG9VcHBlckNhc2UoKS50cmltKCkpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufSIsIjxkaXYgY2xhc3M9XCJjb250cm9sIGNvbnRyb2wtbGFiZWwte3tsYWJlbFBvc2l0aW9ufX1cIlxyXG4gICAgIFtuZ0NsYXNzXT1cInsnaXMtcmVhZG9ubHknOiByZWFkb25seX1cIj5cclxuICAgIDxsYWJlbCAqbmdJZj1cImxhYmVsXCIgbmdQcmVzZXJ2ZVdoaXRlc3BhY2VzPlxyXG5cclxuICAgICAgICA8c3Bhbj57e2xhYmVsIHwgdHJhbnNsYXRlfX08L3NwYW4+XHJcblxyXG4gICAgICAgIDxzcGFuICpuZ0lmPVwidmFsaWRhdGlvbkVycm9ycy5sZW5ndGggPiAwICYmIGZvcm1Nb2RlbC50b3VjaGVkICYmIGZvcm1Nb2RlbC5pbnZhbGlkXCI+e3t2YWxpZGF0aW9uRXJyb3JzIHwgdHJhbnNsYXRlfX08L3NwYW4+XHJcbiAgICA8L2xhYmVsPlxyXG4gICAgPGRpdiBjbGFzcz1cImlucHV0LXdyYXBwZXIgY29udHJvbC1pbnB1dFwiPlxyXG4gICAgICAgIDxpbnB1dCAqbmdJZj1cInR5cGUgIT09ICdtdWx0aV9saW5lJ1wiXHJcbiAgICAgICAgICAgICAgICN0ZXh0Ym94SW5wdXRcclxuICAgICAgICAgICAgICAgZW1haWw9XCJ7e3R5cGUgPT09ICdlbWFpbCcgPyB0cnVlIDogZmFsc2V9fVwiXHJcbiAgICAgICAgICAgICAgIHBhdHRlcm49XCJ7e3ZhbGlkYXRpb25QYXR0ZXJufX1cIlxyXG4gICAgICAgICAgICAgICB0eXBlPVwie3t0eXBlfX1cIlxyXG4gICAgICAgICAgICAgICB0YWJpbmRleD1cInt7dGFiaW5kZXh9fVwiXHJcbiAgICAgICAgICAgICAgIHRpdGxlPVwie3t0b29sdGlwfX1cIlxyXG4gICAgICAgICAgICAgICBbYXR0ci5pZF09XCJpbnB1dElkXCJcclxuICAgICAgICAgICAgICAgW2F0dHIuYXV0b2NvbXBsZXRlXT1cImF1dG9jb21wbGV0ZVwiXHJcbiAgICAgICAgICAgICAgIFthdHRyLnBsYWNlaG9sZGVyXT1cInBsYWNlaG9sZGVyXCJcclxuICAgICAgICAgICAgICAgW2F0dHIubWF4bGVuZ3RoXT1cIm1heGxlbmd0aFwiXHJcbiAgICAgICAgICAgICAgIFthdHRyLm1pbmxlbmd0aF09XCJtaW5sZW5ndGhcIlxyXG4gICAgICAgICAgICAgICBbYXR0ci5yZXF1aXJlZF09XCJyZXF1aXJlZCA/IHJlcXVpcmVkIDogbnVsbFwiXHJcbiAgICAgICAgICAgICAgIFtmb3JtQ29udHJvbF09XCJmb3JtTW9kZWxcIlxyXG4gICAgICAgICAgICAgICBbbmdDbGFzc109XCJ7J2lzLWVtcHR5JzogIWZvcm1Nb2RlbD8udmFsdWUsICdpcy1wZW5kaW5nJzogcGVuZGluZywgJ2lzLXVwcGVyY2FzZSc6IHVwcGVyQ2FzZX1cIlxyXG4gICAgICAgICAgICAgICAoZm9jdXNvdXQpPVwiZm9jdXNPdXRFdmVudCgpXCJcclxuICAgICAgICAgICAgICAgW2F0dHIuY2RrRm9jdXNJbml0aWFsXT1cImF1dG9mb2N1cyB8fCBudWxsXCI+XHJcblxyXG4gICAgICAgIDx0ZXh0YXJlYSAqbmdJZj1cInR5cGUgPT09ICdtdWx0aV9saW5lJ1wiXHJcbiAgICAgICAgICAgICAgICAgIFthdHRyLnJvd3NdPVwicm93c1wiXHJcbiAgICAgICAgICAgICAgICAgICN0ZXh0Ym94SW5wdXRcclxuICAgICAgICAgICAgICAgICAgdGFiaW5kZXg9XCJ7e3RhYmluZGV4fX1cIlxyXG4gICAgICAgICAgICAgICAgICBbYXR0ci5pZF09XCJpbnB1dElkXCJcclxuICAgICAgICAgICAgICAgICAgW2F0dHIucGxhY2Vob2xkZXJdPVwicGxhY2Vob2xkZXJcIlxyXG4gICAgICAgICAgICAgICAgICBbYXR0ci5tYXhsZW5ndGhdPVwibWF4bGVuZ3RoXCJcclxuICAgICAgICAgICAgICAgICAgW2F0dHIubWlubGVuZ3RoXT1cIm1pbmxlbmd0aFwiXHJcbiAgICAgICAgICAgICAgICAgIFthdHRyLnJlcXVpcmVkXT1cInJlcXVpcmVkID8gcmVxdWlyZWQgOiBudWxsXCJcclxuICAgICAgICAgICAgICAgICAgW2Zvcm1Db250cm9sXT1cImZvcm1Nb2RlbFwiXHJcbiAgICAgICAgICAgICAgICAgIFtuZ0NsYXNzXT1cInsnaXMtZW1wdHknOiBmb3JtTW9kZWw/LnZhbHVlID09PSAnJywgJ2lzLXBlbmRpbmcnOiBwZW5kaW5nfVwiXHJcbiAgICAgICAgICAgICAgICAgIFthdHRyLmNka0ZvY3VzSW5pdGlhbF09XCJhdXRvZm9jdXMgfHwgbnVsbFwiPlxyXG4gICAgICAgIDwvdGV4dGFyZWE+XHJcblxyXG4gICAgICAgIDxpIGNsYXNzPVwiZWMtaWNvbiBpY29uLXJlcXVpcmVkXCI+PC9pPlxyXG4gICAgICAgIDxpIGNsYXNzPVwiZWMtaWNvbiBpY29uLWludmFsaWRcIj48L2k+XHJcbiAgICAgICAgPGkgY2xhc3M9XCJlYy1pY29uIGljb24tbG9hZGluZ1wiPjwvaT5cclxuICAgIDwvZGl2PlxyXG48L2Rpdj4iXX0=
154
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGV4dGJveC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb21wb25lbnRzL3NyYy9saWIvY29udHJvbHMvdGV4dGJveC90ZXh0Ym94LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvbXBvbmVudHMvc3JjL2xpYi9jb250cm9scy90ZXh0Ym94L3RleHRib3guY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUErRCxNQUFNLGVBQWUsQ0FBQztBQUd6SCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFFdkQsT0FBTyxFQUFrRCxVQUFVLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7Ozs7OztBQTBCNUYsb0RBQW9EO0FBQ3BELE1BQU0sQ0FBQyxNQUFNLGlCQUFpQixHQUFHLENBQUMsZUFBMkMsRUFBZSxFQUFFO0lBQzFGLE9BQU8sQ0FBQyxPQUF3QixFQUFFLEVBQUU7UUFDaEMsSUFBSSxVQUFVLEdBQWtCLEVBQUUsQ0FBQztRQUVuQywrQkFBK0I7UUFDL0IsZUFBZSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUM7UUFFN0IsSUFBSSxlQUFlLENBQUMsUUFBUSxFQUFFO1lBQzFCLFVBQVUsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1NBQ3hDO1FBRUQsSUFBSSxlQUFlLENBQUMsU0FBUyxLQUFLLFNBQVMsRUFBRTtZQUN6QyxVQUFVLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxTQUFTLENBQUMsZUFBZSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUM7U0FDcEU7UUFFRCxJQUFJLGVBQWUsQ0FBQyxTQUFTLEtBQUssU0FBUyxFQUFFO1lBQ3pDLFVBQVUsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLFNBQVMsQ0FBQyxl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LE1BQU0sRUFBRSxDQUFDO1NBQzVDO0lBQ0wsQ0FBQztJQUVEOzs7SUFHQTtJQUNPLGFBQWE7UUFDaEIsSUFBSSxJQUFJLENBQUMsU0FBUyxJQUFJLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxFQUFFO1lBQ3hDLElBQUksQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLFdBQVcsRUFBRSxDQUFDLElBQUksRUFBRSxDQUFDLENBQUM7U0FDdEU7SUFDTCxDQUFDOzs2R0F4SFEsZ0JBQWdCO2lHQUFoQixnQkFBZ0IsOFpDbEY3Qix3b0VBNkNNOzJGRHFDTyxnQkFBZ0I7a0JBTjVCLFNBQVM7K0JBQ0ksWUFBWTs0S0FTTixZQUFZO3NCQUEzQixLQUFLO2dCQUtVLElBQUk7c0JBQW5CLEtBQUs7Z0JBS1UsV0FBVztzQkFBMUIsS0FBSztnQkFTVSxTQUFTO3NCQUF4QixLQUFLO2dCQVNVLFNBQVM7c0JBQXhCLEtBQUs7Z0JBS1UsSUFBSTtzQkFBbkIsS0FBSztnQkFNVSxpQkFBaUI7c0JBQWhDLEtBQUs7Z0JBS1UsU0FBUztzQkFBeEIsS0FBSztnQkFPK0IsWUFBWTtzQkFBaEQsU0FBUzt1QkFBQyxjQUFjIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRm9ybUdyb3VwSGVscGVyIH0gZnJvbSAnLi4vLi4vc2hhcmVkL2Zvcm0tZ3JvdXAuaGVscGVyJztcclxuaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgVmlld0NoaWxkLCBFbGVtZW50UmVmLCBBZnRlclZpZXdJbml0LCBPbkluaXQsIE9uQ2hhbmdlcywgU2ltcGxlQ2hhbmdlcyB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBUcmFuc2xhdGVTZXJ2aWNlIH0gZnJvbSBcIkBuZ3gtdHJhbnNsYXRlL2NvcmVcIjtcclxuXHJcbmltcG9ydCB7IEZvcm1Db250cm9sQmFzZSB9IGZyb20gXCIuLi9mb3JtLWNvbnRyb2wtYmFzZVwiO1xyXG5pbXBvcnQgeyBWYWxpZGF0aW9uTWVzc2FnZVNlcnZpY2UgfSBmcm9tIFwiLi4vLi4vY29yZS92YWxpZGF0aW9uLW1lc3NhZ2Uuc2VydmljZVwiO1xyXG5pbXBvcnQgeyBWYWxpZGF0b3JGbiwgQWJzdHJhY3RDb250cm9sLCBWYWxpZGF0aW9uRXJyb3JzLCBWYWxpZGF0b3JzIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5cclxuLyoqXHJcbiAqIFRoZSB0eXBlIG9mIHRleHRib3ggd2hlcmUgdGV4dCBpcyBpbnB1dFt0eXBlPVwidGV4dFwiXSwgbXVsdGlfbGluZSBpcyBhIFxyXG4gKiB0ZXh0YXJlYSwgZW1haWwgaXMgaW5wdXRbdHlwZT1cImVtYWlsXCJdLCB1cmwgaXMgaW5wdXRbdHlwZT1cInVybFwiXSwgYW5kIHBhc3N3b3JkIFxyXG4gKiBpcyBhbiBpbnB1dFt0eXBlPVwicGFzc3dvcmRcIl1cclxuICogXHJcbiAqIElmIHRoZSB0eXBlIGlzIHVybCBvciB0ZWwgYSByZWdleCBwYXR0ZXJuIGlzIGF1dG9tYXRpY2FsbHkgYWRkZWQgdG8gdGhlIGZvcm0gdmFsaWRhdG9ycy4gIE5vIG90aGVyIHBhdHRlcm4gdmFsaWRhdG9yc1xyXG4gKiBtYXkgYmUgdXNlZCBmb3IgdGhpcyBpbnB1dCwgaGF2aW5nIG1vcmUgdGhhbiBvbmUgd2lsbCBjYXVzZSBpc3N1ZXMuXHJcbiAqIFxyXG4gKiBJZiB0aGUgdHlwZSBpcyBlbWFpbCBhbiBlbWFpbCB2YWxpZGF0b3IgaXMgYXV0b21hdGljYWxseSBhZGRlZCB0byB0aGUgZm9ybSB2YWxpZGF0b3JzLlxyXG4gKiAqL1xyXG5leHBvcnQgdHlwZSBUZXh0Ym94VHlwZSA9IFwidGV4dFwiIHwgXCJtdWx0aV9saW5lXCIgfCBcImVtYWlsXCIgfCBcInVybFwiIHwgXCJwYXNzd29yZFwiIHwgXCJ0ZWxcIjtcclxuXHJcbi8qKiBUeXBlIGZvciBhZHZhbmNlZCB2YWxpZGF0aW9uIG9mIHRleHRib3ggZm9ybSBjb250cm9scywgaWYgaW4gdGhlIGZ1dHVyZVxyXG4gKiAgd2Ugd2FudCBtb3JlIGhhbmRsaW5nIHdlIHdpbGwgbmVlZCB0byB1cGRhdGUgdGhpcyB0eXBlLlxyXG4gKi9cclxuZXhwb3J0IHR5cGUgVGV4dGJveFZhbGlkYXRvclBhcmFtZXRlcnMgPSB7XHJcbiAgICByZXF1aXJlZD86IGJvb2xlYW47XHJcbiAgICBtaW5MZW5ndGg/OiBudW1iZXI7XHJcbiAgICBtYXhMZW5ndGg/OiBudW1iZXI7XHJcbiAgICB1bmlxdWU/OiBib29sZWFuO1xyXG4gICAgdmFsaWQ/OiBib29sZWFuO1xyXG4gICAgcGF0dGVybj86IFJlZ0V4cDtcclxufTtcclxuXHJcbi8qKiBBZHZhbmNlZCB2YWxpZGF0aW9uIGZvciB0ZXh0Ym94IGZvcm0gY29udHJvbHMgKi9cclxuZXhwb3J0IGNvbnN0IHRleHRib3hWYWxpZGF0aW9uID0gKHZhbGlkYXRvclBhcmFtczogVGV4dGJveFZhbGlkYXRvclBhcmFtZXRlcnMpOiBWYWxpZGF0b3JGbiA9PiB7XHJcbiAgICByZXR1cm4gKGNvbnRyb2w6IEFic3RyYWN0Q29udHJvbCkgPT4ge1xyXG4gICAgICAgIGxldCB2YWxpZGF0b3JzOiBWYWxpZGF0b3JGbltdID0gW107XHJcbiBcclxuICAgICAgICAvLyBJbm5vY2VudCB1bnRpbCBwcm92ZW4gZ3VpbHR5XHJcbiAgICAgICAgdmFsaWRhdG9yUGFyYW1zLnZhbGlkID0gdHJ1ZTtcclxuXHJcbiAgICAgICAgaWYgKHZhbGlkYXRvclBhcmFtcy5yZXF1aXJlZCkge1xyXG4gICAgICAgICAgICB2YWxpZGF0b3JzLnB1c2goVmFsaWRhdG9ycy5yZXF1aXJlZCk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBpZiAodmFsaWRhdG9yUGFyYW1zLm1pbkxlbmd0aCAhPT0gdW5kZWZpbmVkKSB7XHJcbiAgICAgICAgICAgIHZhbGlkYXRvcnMucHVzaChWYWxpZGF0b3JzLm1pbkxlbmd0aCh2YWxpZGF0b3JQYXJhbXMubWluTGVuZ3RoKSk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBpZiAodmFsaWRhdG9yUGFyYW1zLm1heExlbmd0aCAhPT0gdW5kZWZpbmVkKSB7XHJcbiAgICAgICAgICAgIHZhbGlkYXRvcnMucHVzaChWYWxpZGF0b3JzLm1heExlbmd0aCh2YWxpZGF0b3JQYXJhbXMubWF4TGVuZ3RoKSk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBpZiAodmFsaWRhdG9yUGFyYW1zLnBhdHRlcm4gIT09IHVuZGVmaW5lZCkge1xyXG4gICAgICAgICAgICB2YWxpZGF0b3JzLnB1c2goVmFsaWRhdG9ycy5wYXR0ZXJuKHZhbGlkYXRvclBhcmFtcy5wYXR0ZXJuKSk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICB2YWxpZGF0b3JzLmZvckVhY2godmFsaWRhdG9yID0+IHtcclxuICAgICAgICAgICAgbGV0IHZhbGlkYXRpb25SZXN1bHQ6IFZhbGlkYXRpb25FcnJvcnMgfCBudWxsID0gdmFsaWRhdG9yKGNvbnRyb2wpO1xyXG4gICAgICAgICAgICBpZiAodmFsaWRhdGlvblJlc3VsdCkge1xyXG4gICAgICAgICAgICAgICAgdmFsaWRhdG9yUGFyYW1zLnZhbGlkID0gZmFsc2U7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9KTtcclxuXHJcbiAgICAgICAgaWYgKHZhbGlkYXRvclBhcmFtcy52YWxpZCkge1xyXG4gICAgICAgICAgICByZXR1cm4gbnVsbDtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICByZXR1cm4ge1xyXG4gICAgICAgICAgICAgICAgdGV4dGJveDogdmFsaWRhdG9yUGFyYW1zXHJcbiAgICAgICAgICAgIH07XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59O1xyXG5cclxuZXhwb3J0IGNvbnN0IHBob25lTnVtYmVyVmFsaWRhdGlvblBhdHRlcm46IHN0cmluZyA9ICdeXFxcXHMqKD86XFxcXCs/KFxcXFxkezEsM30pKT9bLS4gKF0qKFxcXFxkezN9KVstLiApXSooXFxcXGR7M30pWy0uIF0qKFxcXFxkezR9KSg/OiAqeChcXFxcZCspKT9cXFxccyokJztcclxuZXhwb3J0IGNvbnN0IHVybFZhbGlkYXRpb25QYXR0ZXJuOiBzdHJpbmcgPSAnKFtBLVphLXpdKSsoOlxcL1xcLykrW15cXFxcc10qJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gICAgc2VsZWN0b3I6ICdlYy10ZXh0Ym94JyxcclxuICAgIHRlbXBsYXRlVXJsOiAnLi90ZXh0Ym94LmNvbXBvbmVudC5odG1sJyxcclxuICAgIHN0eWxlVXJsczogWycuL3RleHRib3guY29tcG9uZW50LnNjc3MnXVxyXG59KVxyXG5cclxuZXhwb3J0IGNsYXNzIFRleHRib3hDb21wb25lbnQgZXh0ZW5kcyBGb3JtQ29udHJvbEJhc2UgaW1wbGVtZW50cyBPbkluaXQsIEFmdGVyVmlld0luaXQsIE9uQ2hhbmdlcyB7XHJcbiAgICAvKipcclxuICAgICAqIFNldCB0aGUgdmFsdWUgb2YgdGhlIGlucHV0J3MgYXV0b2NvbXBsZXRlIGF0dHJpYnV0ZVxyXG4gICAgICovXHJcbiAgICBASW5wdXQoKSBwdWJsaWMgYXV0b2NvbXBsZXRlPzogc3RyaW5nID0gJ29mZic7XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBUaGUgdGV4dGJveCB0eXBlXHJcbiAgICAgKi9cclxuICAgIEBJbnB1dCgpIHB1YmxpYyB0eXBlPzogVGV4dGJveFR5cGUgPSBcInRleHRcIjtcclxuXHJcbiAgICAvKipcclxuICAgICAqIFRoZSB2YWx1ZSBvZiB0aGUgdGV4dGJveCBpbnB1dCdzIHBsYWNlaG9sZGVyXHJcbiAgICAgKi9cclxuICAgIEBJbnB1dCgpIHB1YmxpYyBwbGFjZWhvbGRlcj86IHN0cmluZztcclxuXHJcbiAgICAvKipcclxuICAgICAqIFRoZSBtYXhpbXVtIG51bWJlciBvZiBjaGFyYWN0ZXJzIGFsbG93ZWQgaW4gdGhlIGlucHV0XHJcbiAgICAgKiBcclxuICAgICAqIFRoaXMgaXMgZm9yIGFkZGluZyB0aGUgYXR0cmlidXRlIG9uIHRoZSBlbGVtZW50IHRvIGdldCB0aGUgYnJvd3NlciBmdW5jdGlvbmFsaXR5XHJcbiAgICAgKiBmcm9tIHRoZSBpbnB1dC4gIElmIHlvdSBuZWVkIHRoZSBmb3JtIHRvIGJlIHZhbGlkYXRlZCBiZWZvcmUgc3VibWlzc2lvbiwgYXBwbHkgdGhlXHJcbiAgICAgKiBtYXhMZW5ndGggdmFsaWRhdG9yIHRvIHRoZSBmb3JtIGNvbnRyb2wuXHJcbiAgICAgKi9cclxuICAgIEBJbnB1dCgpIHB1YmxpYyBtYXhsZW5ndGg/OiBudW1iZXI7XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBUaGUgbWluaW11bSBudW1iZXIgb2YgY2hhcmFjdGVycyBhbGxvd2VkIGluIHRoZSBpbnB1dFxyXG4gICAgICogXHJcbiAgICAgKiBUaGlzIGlzIGZvciBhZGRpbmcgdGhlIGF0dHJpYnV0ZSBvbiB0aGUgZWxlbWVudCB0byBnZXQgdGhlIGJyb3dzZXIgZnVuY3Rpb25hbGl0eVxyXG4gICAgICogZnJvbSB0aGUgaW5wdXQuICBJZiB5b3UgbmVlZCB0aGUgZm9ybSB0byBiZSB2YWxpZGF0ZWQgYmVmb3JlIHN1Ym1pc3Npb24sIGFwcGx5IHRoZVxyXG4gICAgICogbWluTGVuZ3RoIHZhbGlkYXRvciB0byB0aGUgZm9ybSBjb250cm9sLlxyXG4gICAgICovXHJcbiAgICBASW5wdXQoKSBwdWJsaWMgbWlubGVuZ3RoPzogbnVtYmVyO1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogVGhlIHZhbHVlIG9mIHRoZSByb3dzIGF0dHJpYnV0ZSBmb3IgYSB0ZXh0YXJlYS4gT25seSBhcHBsaWVzIHRvIG11bHRpLWxpbmUgdHlwZVxyXG4gICAgICovXHJcbiAgICBASW5wdXQoKSBwdWJsaWMgcm93cz86IG51bWJlciA9IDM7XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBJZiBzZXQgdG8gdHJ1ZSwgd2Ugd2lsbCBzZWxlY3QgYWxsIHRleHQgd2l0aGluIHRoZSBpbnB1dCBpZlxyXG4gICAgICogYXV0b2ZvY3VzIGlzIGFsc28gc2V0IHRvIHRydWVcclxuICAgICAqL1xyXG4gICAgQElucHV0KCkgcHVibGljIHNlbGVjdE9uQXV0b2ZvY3VzPzogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogSWYgc2V0IHRvIHRydWUsIHdlIHdpbGwgdXBwZXIgY2FzZSBvbiBmb2N1cyBvdXRcclxuICAgICAqL1xyXG4gICAgQElucHV0KCkgcHVibGljIHVwcGVyQ2FzZTogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogVmFsaWRhdGlvbiBwYXR0ZXJuIGZvciB0aGUgaW5wdXQuIFRoaXMgaXMgZGV0ZXJtaW5lZCBvbiB0aGUgaW5wdXQgdHlwZSBzcGVjaWZpZWRcclxuICAgICAqL1xyXG4gICAgcHVibGljIHZhbGlkYXRpb25QYXR0ZXJuOiBzdHJpbmcgID0gJyc7XHJcblxyXG4gICAgQFZpZXdDaGlsZCgndGV4dGJveElucHV0JykgcHJvdGVjdGVkIGlucHV0RWxlbWVudCE6IEVsZW1lbnRSZWY7XHJcblxyXG4gICAgY29uc3RydWN0b3IoXHJcbiAgICAgICAgcHJvdGVjdGVkIHZhbGlkYXRpb25NZXNzYWdlU2VydmljZTogVmFsaWRhdGlvbk1lc3NhZ2VTZXJ2aWNlLFxyXG4gICAgICAgIHByb3RlY3RlZCBmb3JtR3JvdXBIZWxwZXI6IEZvcm1Hcm91cEhlbHBlcixcclxuICAgICAgICBwcm90ZWN0ZWQgdHJhbnNsYXRlOiBUcmFuc2xhdGVTZXJ2aWNlXHJcbiAgICApIHtcclxuICAgICAgICBzdXBlcih2YWxpZGF0aW9uTWVzc2FnZVNlcnZpY2UsIGZvcm1Hcm91cEhlbHBlcik7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpIHtcclxuICAgICAgICBzdXBlci5uZ09uQ2hhbmdlcyhjaGFuZ2VzKTtcclxuICAgIH1cclxuICAgIC8qKlxyXG5cdCAqIFRoZSBhbmd1bGFyIG9uSW5pdCBsaWZlY3ljbGUgaG9va1xyXG5cdCAqL1xyXG4gICAgcHVibGljIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgICAgIHN1cGVyLm5nT25Jbml0KCk7XHJcblxyXG4gICAgICAgIHRoaXMudmFsaWRhdGlvblBhdHRlcm4gPSAnJztcclxuXHJcbiAgICAgICAgaWYgKHRoaXMudHlwZSA9PT0gJ3RlbCcpIHtcclxuICAgICAgICAgICAgdGhpcy52YWxpZGF0aW9uUGF0dGVybiA9IHBob25lTnVtYmVyVmFsaWRhdGlvblBhdHRlcm47XHJcbiAgICAgICAgfSBlbHNlIGlmICh0aGlzLnR5cGUgPT09ICd1cmwnKSB7XHJcbiAgICAgICAgICAgIHRoaXMudmFsaWRhdGlvblBhdHRlcm4gPSB1cmxWYWxpZGF0aW9uUGF0dGVybjtcclxuICAgICAgICB9XHJcbiAgICAgICAgXHJcbiAgICAgICAgaWYgKHRoaXMucGxhY2Vob2xkZXIpIHtcclxuICAgICAgICAgICAgdGhpcy50cmFuc2xhdGUuZ2V0KHRoaXMucGxhY2Vob2xkZXIpXHJcbiAgICAgICAgICAgICAgICAuc3Vic2NyaWJlKCh0cmFuc2xhdGVkOiBzdHJpbmcpID0+IHtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLnBsYWNlaG9sZGVyID0gdHJhbnNsYXRlZDtcclxuICAgICAgICAgICAgICAgIH0pXHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG5cdCAqIFRoZSBhbmd1bGFyIGFmdGVyVmlld0luaXQgbGlmZWN5Y2xlIGhvb2tcclxuXHQgKi9cclxuICAgIHB1YmxpYyBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XHJcbiAgICAgICAgaWYgKHRoaXMuYXV0b2ZvY3VzKSB7XHJcbiAgICAgICAgICAgIHRoaXMuc2V0Rm9jdXModGhpcy5zZWxlY3RPbkF1dG9mb2N1cyk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogRnVuY3Rpb24gdG8gc2V0IGZvY3VzIG9uIGFuIGlucHV0IHByb2dyYW1tYXRpY2FsbHkgYWZ0ZXIgdGhlIHBhZ2VcclxuICAgICAqIGhhZCBiZWVuIHJlbmRlcmVkLiAgVGhlIGhpZ2hsaWdodCB0ZXh0IGZsYWcgd2lsbCBzZWxlY3QgdGhlIHRleHQgXHJcbiAgICAgKiB3aXRoaW4gdGhlIGlucHV0IGlmIHBhc3NlZCBpbiBhbmQgdHJ1ZVxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgc2V0Rm9jdXMoaGlnaGxpZ2h0VGV4dD86IGJvb2xlYW4pOiB2b2lkIHtcclxuICAgICAgICB0aGlzLmlucHV0RWxlbWVudC5uYXRpdmVFbGVtZW50LmZvY3VzKCk7XHJcblxyXG4gICAgICAgIGlmIChoaWdobGlnaHRUZXh0KSB7XHJcbiAgICAgICAgICAgIHRoaXMuaW5wdXRFbGVtZW50Lm5hdGl2ZUVsZW1lbnQuc2VsZWN0KCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICogRm9jdXMgb3V0IGV2ZW50IGhhbmRsZXJcclxuICAqIHdpbGwgdXBwZXIgY2FzZSBhbmQgdHJpbSB2YWx1ZSBpZiB1cHBlckNhc2UgaXMgdHJ1ZSAodGhpcyBpcyB3aGF0IHdlIGRvIG9uIHRoZSBhcGlzKVxyXG4gICovXHJcbiAgICBwdWJsaWMgZm9jdXNPdXRFdmVudCgpOiB2b2lkIHtcclxuICAgICAgICBpZiAodGhpcy51cHBlckNhc2UgJiYgdGhpcy5mb3JtTW9kZWwudmFsdWUpIHtcclxuICAgICAgICAgICAgdGhpcy5mb3JtTW9kZWwuc2V0VmFsdWUodGhpcy5mb3JtTW9kZWwudmFsdWUudG9VcHBlckNhc2UoKS50cmltKCkpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufSIsIjxkaXYgY2xhc3M9XCJjb250cm9sIGNvbnRyb2wtbGFiZWwte3tsYWJlbFBvc2l0aW9ufX1cIlxyXG4gICAgIFtuZ0NsYXNzXT1cInsnaXMtcmVhZG9ubHknOiByZWFkb25seX1cIj5cclxuICAgIDxsYWJlbCAqbmdJZj1cImxhYmVsXCIgbmdQcmVzZXJ2ZVdoaXRlc3BhY2VzPlxyXG5cclxuICAgICAgICA8c3Bhbj57e2xhYmVsIHwgdHJhbnNsYXRlfX08L3NwYW4+XHJcblxyXG4gICAgICAgIDxzcGFuICpuZ0lmPVwidmFsaWRhdGlvbkVycm9ycy5sZW5ndGggPiAwICYmIGZvcm1Nb2RlbC50b3VjaGVkICYmIGZvcm1Nb2RlbC5pbnZhbGlkXCI+e3t2YWxpZGF0aW9uRXJyb3JzIHwgdHJhbnNsYXRlfX08L3NwYW4+XHJcbiAgICA8L2xhYmVsPlxyXG4gICAgPGRpdiBjbGFzcz1cImlucHV0LXdyYXBwZXIgY29udHJvbC1pbnB1dFwiPlxyXG4gICAgICAgIDxpbnB1dCAqbmdJZj1cInR5cGUgIT09ICdtdWx0aV9saW5lJ1wiXHJcbiAgICAgICAgICAgICAgICN0ZXh0Ym94SW5wdXRcclxuICAgICAgICAgICAgICAgZW1haWw9XCJ7e3R5cGUgPT09ICdlbWFpbCcgPyB0cnVlIDogZmFsc2V9fVwiXHJcbiAgICAgICAgICAgICAgIHBhdHRlcm49XCJ7e3ZhbGlkYXRpb25QYXR0ZXJufX1cIlxyXG4gICAgICAgICAgICAgICB0eXBlPVwie3t0eXBlfX1cIlxyXG4gICAgICAgICAgICAgICB0YWJpbmRleD1cInt7dGFiaW5kZXh9fVwiXHJcbiAgICAgICAgICAgICAgIHRpdGxlPVwie3t0b29sdGlwfX1cIlxyXG4gICAgICAgICAgICAgICBbYXR0ci5pZF09XCJpbnB1dElkXCJcclxuICAgICAgICAgICAgICAgW2F0dHIuYXV0b2NvbXBsZXRlXT1cImF1dG9jb21wbGV0ZVwiXHJcbiAgICAgICAgICAgICAgIFthdHRyLnBsYWNlaG9sZGVyXT1cInBsYWNlaG9sZGVyXCJcclxuICAgICAgICAgICAgICAgW2F0dHIubWF4bGVuZ3RoXT1cIm1heGxlbmd0aFwiXHJcbiAgICAgICAgICAgICAgIFthdHRyLm1pbmxlbmd0aF09XCJtaW5sZW5ndGhcIlxyXG4gICAgICAgICAgICAgICBbYXR0ci5yZXF1aXJlZF09XCJyZXF1aXJlZCA/IHJlcXVpcmVkIDogbnVsbFwiXHJcbiAgICAgICAgICAgICAgIFtmb3JtQ29udHJvbF09XCJmb3JtTW9kZWxcIlxyXG4gICAgICAgICAgICAgICBbbmdDbGFzc109XCJ7J2lzLWVtcHR5JzogIWZvcm1Nb2RlbD8udmFsdWUsICdpcy1wZW5kaW5nJzogcGVuZGluZywgJ2lzLXVwcGVyY2FzZSc6IHVwcGVyQ2FzZX1cIlxyXG4gICAgICAgICAgICAgICAoZm9jdXNvdXQpPVwiZm9jdXNPdXRFdmVudCgpXCJcclxuICAgICAgICAgICAgICAgW2F0dHIuY2RrRm9jdXNJbml0aWFsXT1cImF1dG9mb2N1cyB8fCBudWxsXCI+XHJcblxyXG4gICAgICAgIDx0ZXh0YXJlYSAqbmdJZj1cInR5cGUgPT09ICdtdWx0aV9saW5lJ1wiXHJcbiAgICAgICAgICAgICAgICAgIFthdHRyLnJvd3NdPVwicm93c1wiXHJcbiAgICAgICAgICAgICAgICAgICN0ZXh0Ym94SW5wdXRcclxuICAgICAgICAgICAgICAgICAgdGFiaW5kZXg9XCJ7e3RhYmluZGV4fX1cIlxyXG4gICAgICAgICAgICAgICAgICBbYXR0ci5pZF09XCJpbnB1dElkXCJcclxuICAgICAgICAgICAgICAgICAgW2F0dHIucGxhY2Vob2xkZXJdPVwicGxhY2Vob2xkZXJcIlxyXG4gICAgICAgICAgICAgICAgICBbYXR0ci5tYXhsZW5ndGhdPVwibWF4bGVuZ3RoXCJcclxuICAgICAgICAgICAgICAgICAgW2F0dHIubWlubGVuZ3RoXT1cIm1pbmxlbmd0aFwiXHJcbiAgICAgICAgICAgICAgICAgIFthdHRyLnJlcXVpcmVkXT1cInJlcXVpcmVkID8gcmVxdWlyZWQgOiBudWxsXCJcclxuICAgICAgICAgICAgICAgICAgW2Zvcm1Db250cm9sXT1cImZvcm1Nb2RlbFwiXHJcbiAgICAgICAgICAgICAgICAgIFtuZ0NsYXNzXT1cInsnaXMtZW1wdHknOiBmb3JtTW9kZWw/LnZhbHVlID09PSAnJywgJ2lzLXBlbmRpbmcnOiBwZW5kaW5nfVwiXHJcbiAgICAgICAgICAgICAgICAgIFthdHRyLmNka0ZvY3VzSW5pdGlhbF09XCJhdXRvZm9jdXMgfHwgbnVsbFwiPlxyXG4gICAgICAgIDwvdGV4dGFyZWE+XHJcblxyXG4gICAgICAgIDxpIGNsYXNzPVwiZWMtaWNvbiBpY29uLXJlcXVpcmVkXCI+PC9pPlxyXG4gICAgICAgIDxpIGNsYXNzPVwiZWMtaWNvbiBpY29uLWludmFsaWRcIj48L2k+XHJcbiAgICAgICAgPGkgY2xhc3M9XCJlYy1pY29uIGljb24tbG9hZGluZ1wiPjwvaT5cclxuICAgIDwvZGl2PlxyXG48L2Rpdj4iXX0=
@@ -1,9 +1,9 @@
1
1
  import { Component, Input } from '@angular/core';
2
- import { AvatarComponent } from '../avatar/avatar.component';
3
- import { DropdownComponent } from '../../controls/dropdown/dropdown.component';
4
- import { NgIf } from '@angular/common';
5
2
  import * as i0 from "@angular/core";
6
3
  import * as i1 from "../avatar/avatar.service";
4
+ import * as i2 from "@angular/common";
5
+ import * as i3 from "../../controls/dropdown/dropdown.component";
6
+ import * as i4 from "../avatar/avatar.component";
7
7
  export class AppBarComponent {
8
8
  constructor(avatarService) {
9
9
  this.avatarService = avatarService;
@@ -26,10 +26,10 @@ export class AppBarComponent {
26
26
  }
27
27
  }
28
28
  AppBarComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: AppBarComponent, deps: [{ token: i1.AvatarService }], target: i0.ɵɵFactoryTarget.Component });
29
- AppBarComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: AppBarComponent, isStandalone: true, selector: "ec-app-bar", inputs: { user: "user", userMenuItems: "userMenuItems", userMenuWidth: "userMenuWidth", userMenuMinWidth: "userMenuMinWidth", userMenuTabindex: "userMenuTabindex", iconPath: "iconPath" }, usesOnChanges: true, ngImport: i0, template: "<section class=\"logo-container\">\r\n <img src=\"{{iconPath}}\"\r\n alt=\"EnergyCAP Platform\">\r\n</section>\r\n\r\n<section class=\"title-container\">\r\n <ng-content select=\".app-bar-title\"></ng-content>\r\n</section>\r\n\r\n<section class=\"actions-container\">\r\n <ng-content select=\".app-bar-actions\"></ng-content>\r\n <ec-dropdown id=\"AppBarUserMenu\"\r\n *ngIf=\"userMenuItems.length; else avatar\"\r\n [items]=\"menuItems\"\r\n [buttonCustomTemplate]=\"avatar\"\r\n [showArrow]=\"false\"\r\n [menuWidth]=\"userMenuWidth\"\r\n [menuMinWidth]=\"userMenuMinWidth\"\r\n [tabindex]=\"userMenuTabindex\"></ec-dropdown>\r\n</section>\r\n\r\n<ng-template #avatar>\r\n <ec-avatar [user]=\"user\"></ec-avatar>\r\n</ng-template>", styles: [":host{display:flex;height:3rem;align-items:center;width:100%;padding:0 .75rem 0 1rem;background-color:var(--ec-background-color);position:relative;z-index:var(--ec-z-index-navbar)}:host ::ng-deep .app-bar-actions{display:flex;align-items:center;justify-content:flex-end;margin-right:.25rem}section{flex:1 1}.logo-container img{width:2rem;height:2rem}.title-container{text-align:center}.actions-container{display:flex;justify-content:flex-end}#AppBarUserMenu ::ng-deep ec-button{--ec-border-radius: 50%}#AppBarUserMenu ::ng-deep ec-button.active>.ec-button-custom{background-color:transparent;border-color:var(--ec-color-primary-light)}#AppBarUserMenu ::ng-deep ec-button .ec-button-custom:focus{background-color:var(--ec-background-color)}\n"], dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: DropdownComponent, selector: "ec-dropdown", inputs: ["id", "autofocus", "status", "disabled", "label", "icon", "buttonType", "buttonAlignment", "buttonTitle", "tabindex", "showArrow", "items", "menuTemplateType", "menuTitle", "menuHeight", "menuWidth", "menuMinWidth", "menuPosition", "menuFooter", "popupFixed", "buttonCustomTemplate", "pending"], outputs: ["itemSelected", "popupOpened"] }, { kind: "component", type: AvatarComponent, selector: "ec-avatar", inputs: ["user"] }] });
29
+ AppBarComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: AppBarComponent, selector: "ec-app-bar", inputs: { user: "user", userMenuItems: "userMenuItems", userMenuWidth: "userMenuWidth", userMenuMinWidth: "userMenuMinWidth", userMenuTabindex: "userMenuTabindex", iconPath: "iconPath" }, usesOnChanges: true, ngImport: i0, template: "<section class=\"logo-container\">\r\n <img src=\"{{iconPath}}\"\r\n alt=\"EnergyCAP Platform\">\r\n</section>\r\n\r\n<section class=\"title-container\">\r\n <ng-content select=\".app-bar-title\"></ng-content>\r\n</section>\r\n\r\n<section class=\"actions-container\">\r\n <ng-content select=\".app-bar-actions\"></ng-content>\r\n <ec-dropdown id=\"AppBarUserMenu\"\r\n *ngIf=\"userMenuItems.length; else avatar\"\r\n [items]=\"menuItems\"\r\n [buttonCustomTemplate]=\"avatar\"\r\n [showArrow]=\"false\"\r\n [menuWidth]=\"userMenuWidth\"\r\n [menuMinWidth]=\"userMenuMinWidth\"\r\n [tabindex]=\"userMenuTabindex\"></ec-dropdown>\r\n</section>\r\n\r\n<ng-template #avatar>\r\n <ec-avatar [user]=\"user\"></ec-avatar>\r\n</ng-template>", styles: [":host{display:flex;height:3rem;align-items:center;width:100%;padding:0 .75rem 0 1rem;background-color:var(--ec-background-color);position:relative;z-index:var(--ec-z-index-navbar)}:host ::ng-deep .app-bar-actions{display:flex;align-items:center;justify-content:flex-end;margin-right:.25rem}section{flex:1 1}.logo-container img{width:2rem;height:2rem}.title-container{text-align:center}.actions-container{display:flex;justify-content:flex-end}#AppBarUserMenu ::ng-deep ec-button{--ec-border-radius: 50%}#AppBarUserMenu ::ng-deep ec-button.active>.ec-button-custom{background-color:transparent;border-color:var(--ec-color-primary-light)}#AppBarUserMenu ::ng-deep ec-button .ec-button-custom:focus{background-color:var(--ec-background-color)}\n"], dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i3.DropdownComponent, selector: "ec-dropdown", inputs: ["id", "autofocus", "status", "disabled", "label", "icon", "buttonType", "buttonAlignment", "buttonTitle", "tabindex", "showArrow", "items", "menuTemplateType", "menuTitle", "menuHeight", "menuWidth", "menuMinWidth", "menuPosition", "menuFooter", "popupFixed", "buttonCustomTemplate", "pending"], outputs: ["itemSelected", "popupOpened"] }, { kind: "component", type: i4.AvatarComponent, selector: "ec-avatar", inputs: ["user"] }] });
30
30
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: AppBarComponent, decorators: [{
31
31
  type: Component,
32
- args: [{ selector: 'ec-app-bar', standalone: true, imports: [NgIf, DropdownComponent, AvatarComponent], template: "<section class=\"logo-container\">\r\n <img src=\"{{iconPath}}\"\r\n alt=\"EnergyCAP Platform\">\r\n</section>\r\n\r\n<section class=\"title-container\">\r\n <ng-content select=\".app-bar-title\"></ng-content>\r\n</section>\r\n\r\n<section class=\"actions-container\">\r\n <ng-content select=\".app-bar-actions\"></ng-content>\r\n <ec-dropdown id=\"AppBarUserMenu\"\r\n *ngIf=\"userMenuItems.length; else avatar\"\r\n [items]=\"menuItems\"\r\n [buttonCustomTemplate]=\"avatar\"\r\n [showArrow]=\"false\"\r\n [menuWidth]=\"userMenuWidth\"\r\n [menuMinWidth]=\"userMenuMinWidth\"\r\n [tabindex]=\"userMenuTabindex\"></ec-dropdown>\r\n</section>\r\n\r\n<ng-template #avatar>\r\n <ec-avatar [user]=\"user\"></ec-avatar>\r\n</ng-template>", styles: [":host{display:flex;height:3rem;align-items:center;width:100%;padding:0 .75rem 0 1rem;background-color:var(--ec-background-color);position:relative;z-index:var(--ec-z-index-navbar)}:host ::ng-deep .app-bar-actions{display:flex;align-items:center;justify-content:flex-end;margin-right:.25rem}section{flex:1 1}.logo-container img{width:2rem;height:2rem}.title-container{text-align:center}.actions-container{display:flex;justify-content:flex-end}#AppBarUserMenu ::ng-deep ec-button{--ec-border-radius: 50%}#AppBarUserMenu ::ng-deep ec-button.active>.ec-button-custom{background-color:transparent;border-color:var(--ec-color-primary-light)}#AppBarUserMenu ::ng-deep ec-button .ec-button-custom:focus{background-color:var(--ec-background-color)}\n"] }]
32
+ args: [{ selector: 'ec-app-bar', template: "<section class=\"logo-container\">\r\n <img src=\"{{iconPath}}\"\r\n alt=\"EnergyCAP Platform\">\r\n</section>\r\n\r\n<section class=\"title-container\">\r\n <ng-content select=\".app-bar-title\"></ng-content>\r\n</section>\r\n\r\n<section class=\"actions-container\">\r\n <ng-content select=\".app-bar-actions\"></ng-content>\r\n <ec-dropdown id=\"AppBarUserMenu\"\r\n *ngIf=\"userMenuItems.length; else avatar\"\r\n [items]=\"menuItems\"\r\n [buttonCustomTemplate]=\"avatar\"\r\n [showArrow]=\"false\"\r\n [menuWidth]=\"userMenuWidth\"\r\n [menuMinWidth]=\"userMenuMinWidth\"\r\n [tabindex]=\"userMenuTabindex\"></ec-dropdown>\r\n</section>\r\n\r\n<ng-template #avatar>\r\n <ec-avatar [user]=\"user\"></ec-avatar>\r\n</ng-template>", styles: [":host{display:flex;height:3rem;align-items:center;width:100%;padding:0 .75rem 0 1rem;background-color:var(--ec-background-color);position:relative;z-index:var(--ec-z-index-navbar)}:host ::ng-deep .app-bar-actions{display:flex;align-items:center;justify-content:flex-end;margin-right:.25rem}section{flex:1 1}.logo-container img{width:2rem;height:2rem}.title-container{text-align:center}.actions-container{display:flex;justify-content:flex-end}#AppBarUserMenu ::ng-deep ec-button{--ec-border-radius: 50%}#AppBarUserMenu ::ng-deep ec-button.active>.ec-button-custom{background-color:transparent;border-color:var(--ec-color-primary-light)}#AppBarUserMenu ::ng-deep ec-button .ec-button-custom:focus{background-color:var(--ec-background-color)}\n"] }]
33
33
  }], ctorParameters: function () { return [{ type: i1.AvatarService }]; }, propDecorators: { user: [{
34
34
  type: Input
35
35
  }], userMenuItems: [{
@@ -43,4 +43,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImpor
43
43
  }], iconPath: [{
44
44
  type: Input
45
45
  }] } });
46
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwLWJhci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb21wb25lbnRzL3NyYy9saWIvZGlzcGxheS9hcHAtYmFyL2FwcC1iYXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29tcG9uZW50cy9zcmMvbGliL2Rpc3BsYXkvYXBwLWJhci9hcHAtYmFyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFhLE1BQU0sZUFBZSxDQUFDO0FBRTVELE9BQU8sRUFBYyxlQUFlLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUV6RSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSw0Q0FBNEMsQ0FBQztBQUMvRSxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0saUJBQWlCLENBQUM7OztBQVN2QyxNQUFNLE9BQU8sZUFBZTtJQVkxQixZQUFvQixhQUE0QjtRQUE1QixrQkFBYSxHQUFiLGFBQWEsQ0FBZTtRQVZ2QyxrQkFBYSxHQUFlLEVBQUUsQ0FBQztRQUMvQixrQkFBYSxHQUFHLENBQUMsQ0FBQztRQUNsQixxQkFBZ0IsR0FBRyxHQUFHLENBQUM7UUFDdkIscUJBQWdCLEdBQUcsQ0FBQyxDQUFDO1FBQ3JCLGFBQVEsR0FBRyx5QkFBeUIsQ0FBQztRQUU5QyxjQUFTLEdBQWUsRUFBRSxDQUFBO1FBRWxCLGFBQVEsR0FBZSxFQUFFLENBQUM7SUFFa0IsQ0FBQztJQUU5QyxXQUFXO1FBQ2hCLElBQUksSUFBSSxDQUFDLElBQUksRUFBRTtZQUNiLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLEdBQUcsRUFBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLGFBQWEsQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksSUFBSSxFQUFFLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFBQyxDQUFDO1NBQzFHO2FBQU07WUFDTCxJQUFJLENBQUMsUUFBUSxHQUFHLEVBQUUsQ0FBQztTQUNwQjtRQUVELElBQUksQ0FBQyxTQUFTLEdBQUcsQ0FBQyxHQUFHLElBQUksQ0FBQyxRQUFRLEVBQUUsR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUM7SUFDN0QsQ0FBQzs7NEdBdEJVLGVBQWU7Z0dBQWYsZUFBZSx1UkNkNUIsNDBCQXVCYywreEJEWEEsSUFBSSw2RkFBRSxpQkFBaUIsbVpBQUUsZUFBZTsyRkFFekMsZUFBZTtrQkFQM0IsU0FBUzsrQkFDSSxZQUFZLGNBR1YsSUFBSSxXQUNQLENBQUMsSUFBSSxFQUFFLGlCQUFpQixFQUFFLGVBQWUsQ0FBQztvR0FHNUMsSUFBSTtzQkFBWixLQUFLO2dCQUNHLGFBQWE7c0JBQXJCLEtBQUs7Z0JBQ0csYUFBYTtzQkFBckIsS0FBSztnQkFDRyxnQkFBZ0I7c0JBQXhCLEtBQUs7Z0JBQ0csZ0JBQWdCO3NCQUF4QixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBPbkNoYW5nZXMgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgTWVudUl0ZW0gfSBmcm9tICcuLi8uLi9jb250cm9scy9tZW51L21lbnUuY29tcG9uZW50JztcclxuaW1wb3J0IHsgQXZhdGFyVXNlciwgQXZhdGFyQ29tcG9uZW50IH0gZnJvbSAnLi4vYXZhdGFyL2F2YXRhci5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBBdmF0YXJTZXJ2aWNlIH0gZnJvbSAnLi4vYXZhdGFyL2F2YXRhci5zZXJ2aWNlJztcclxuaW1wb3J0IHsgRHJvcGRvd25Db21wb25lbnQgfSBmcm9tICcuLi8uLi9jb250cm9scy9kcm9wZG93bi9kcm9wZG93bi5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBOZ0lmIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gICAgc2VsZWN0b3I6ICdlYy1hcHAtYmFyJyxcclxuICAgIHRlbXBsYXRlVXJsOiAnLi9hcHAtYmFyLmNvbXBvbmVudC5odG1sJyxcclxuICAgIHN0eWxlVXJsczogWycuL2FwcC1iYXIuY29tcG9uZW50LnNjc3MnXSxcclxuICAgIHN0YW5kYWxvbmU6IHRydWUsXHJcbiAgICBpbXBvcnRzOiBbTmdJZiwgRHJvcGRvd25Db21wb25lbnQsIEF2YXRhckNvbXBvbmVudF1cclxufSlcclxuZXhwb3J0IGNsYXNzIEFwcEJhckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uQ2hhbmdlcyB7XHJcbiAgQElucHV0KCkgdXNlcj86IEF2YXRhclVzZXI7XHJcbiAgQElucHV0KCkgdXNlck1lbnVJdGVtczogTWVudUl0ZW1bXSA9IFtdO1xyXG4gIEBJbnB1dCgpIHVzZXJNZW51V2lkdGggPSAwO1xyXG4gIEBJbnB1dCgpIHVzZXJNZW51TWluV2lkdGggPSAxNjA7XHJcbiAgQElucHV0KCkgdXNlck1lbnVUYWJpbmRleCA9IDA7XHJcbiAgQElucHV0KCkgaWNvblBhdGggPSAnL2Fzc2V0cy9pbWFnZXMvaWNvbi5zdmcnO1xyXG4gIFxyXG4gIG1lbnVJdGVtczogTWVudUl0ZW1bXSA9IFtdXHJcblxyXG4gIHByaXZhdGUgdXNlckl0ZW06IE1lbnVJdGVtW10gPSBbXTtcclxuXHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBhdmF0YXJTZXJ2aWNlOiBBdmF0YXJTZXJ2aWNlKSB7IH1cclxuXHJcbiAgcHVibGljIG5nT25DaGFuZ2VzKCk6IHZvaWQge1xyXG4gICAgaWYgKHRoaXMudXNlcikge1xyXG4gICAgICB0aGlzLnVzZXJJdGVtWzBdID0ge2xhYmVsOiB0aGlzLmF2YXRhclNlcnZpY2UuZ2V0QXZhdGFyTGFiZWxzKHRoaXMudXNlcikuZnVsbCB8fCAnJywgZGlzcGxheTogJ2hlYWRpbmcnfTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMudXNlckl0ZW0gPSBbXTtcclxuICAgIH1cclxuXHJcbiAgICB0aGlzLm1lbnVJdGVtcyA9IFsuLi50aGlzLnVzZXJJdGVtLCAuLi50aGlzLnVzZXJNZW51SXRlbXNdO1xyXG4gIH1cclxufVxyXG4iLCI8c2VjdGlvbiBjbGFzcz1cImxvZ28tY29udGFpbmVyXCI+XHJcbiAgPGltZyBzcmM9XCJ7e2ljb25QYXRofX1cIlxyXG4gICAgICAgYWx0PVwiRW5lcmd5Q0FQIFBsYXRmb3JtXCI+XHJcbjwvc2VjdGlvbj5cclxuXHJcbjxzZWN0aW9uIGNsYXNzPVwidGl0bGUtY29udGFpbmVyXCI+XHJcbiAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiLmFwcC1iYXItdGl0bGVcIj48L25nLWNvbnRlbnQ+XHJcbjwvc2VjdGlvbj5cclxuXHJcbjxzZWN0aW9uIGNsYXNzPVwiYWN0aW9ucy1jb250YWluZXJcIj5cclxuICA8bmctY29udGVudCBzZWxlY3Q9XCIuYXBwLWJhci1hY3Rpb25zXCI+PC9uZy1jb250ZW50PlxyXG4gIDxlYy1kcm9wZG93biBpZD1cIkFwcEJhclVzZXJNZW51XCJcclxuICAgICAgICAgICAgICAgKm5nSWY9XCJ1c2VyTWVudUl0ZW1zLmxlbmd0aDsgZWxzZSBhdmF0YXJcIlxyXG4gICAgICAgICAgICAgICBbaXRlbXNdPVwibWVudUl0ZW1zXCJcclxuICAgICAgICAgICAgICAgW2J1dHRvbkN1c3RvbVRlbXBsYXRlXT1cImF2YXRhclwiXHJcbiAgICAgICAgICAgICAgIFtzaG93QXJyb3ddPVwiZmFsc2VcIlxyXG4gICAgICAgICAgICAgICBbbWVudVdpZHRoXT1cInVzZXJNZW51V2lkdGhcIlxyXG4gICAgICAgICAgICAgICBbbWVudU1pbldpZHRoXT1cInVzZXJNZW51TWluV2lkdGhcIlxyXG4gICAgICAgICAgICAgICBbdGFiaW5kZXhdPVwidXNlck1lbnVUYWJpbmRleFwiPjwvZWMtZHJvcGRvd24+XHJcbjwvc2VjdGlvbj5cclxuXHJcbjxuZy10ZW1wbGF0ZSAjYXZhdGFyPlxyXG4gIDxlYy1hdmF0YXIgW3VzZXJdPVwidXNlclwiPjwvZWMtYXZhdGFyPlxyXG48L25nLXRlbXBsYXRlPiJdfQ==
46
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwLWJhci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb21wb25lbnRzL3NyYy9saWIvZGlzcGxheS9hcHAtYmFyL2FwcC1iYXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29tcG9uZW50cy9zcmMvbGliL2Rpc3BsYXkvYXBwLWJhci9hcHAtYmFyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFhLE1BQU0sZUFBZSxDQUFDOzs7Ozs7QUFVNUQsTUFBTSxPQUFPLGVBQWU7SUFZMUIsWUFBb0IsYUFBNEI7UUFBNUIsa0JBQWEsR0FBYixhQUFhLENBQWU7UUFWdkMsa0JBQWEsR0FBZSxFQUFFLENBQUM7UUFDL0Isa0JBQWEsR0FBRyxDQUFDLENBQUM7UUFDbEIscUJBQWdCLEdBQUcsR0FBRyxDQUFDO1FBQ3ZCLHFCQUFnQixHQUFHLENBQUMsQ0FBQztRQUNyQixhQUFRLEdBQUcseUJBQXlCLENBQUM7UUFFOUMsY0FBUyxHQUFlLEVBQUUsQ0FBQTtRQUVsQixhQUFRLEdBQWUsRUFBRSxDQUFDO0lBRWtCLENBQUM7SUFFOUMsV0FBVztRQUNoQixJQUFJLElBQUksQ0FBQyxJQUFJLEVBQUU7WUFDYixJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxHQUFHLEVBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxhQUFhLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLElBQUksRUFBRSxFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQUMsQ0FBQztTQUMxRzthQUFNO1lBQ0wsSUFBSSxDQUFDLFFBQVEsR0FBRyxFQUFFLENBQUM7U0FDcEI7UUFFRCxJQUFJLENBQUMsU0FBUyxHQUFHLENBQUMsR0FBRyxJQUFJLENBQUMsUUFBUSxFQUFFLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDO0lBQzdELENBQUM7OzRHQXRCVSxlQUFlO2dHQUFmLGVBQWUsbVFDVjVCLDQwQkF1QmM7MkZEYkQsZUFBZTtrQkFMM0IsU0FBUzsrQkFDRSxZQUFZO29HQUtiLElBQUk7c0JBQVosS0FBSztnQkFDRyxhQUFhO3NCQUFyQixLQUFLO2dCQUNHLGFBQWE7c0JBQXJCLEtBQUs7Z0JBQ0csZ0JBQWdCO3NCQUF4QixLQUFLO2dCQUNHLGdCQUFnQjtzQkFBeEIsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgT25DaGFuZ2VzIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IE1lbnVJdGVtIH0gZnJvbSAnLi4vLi4vY29udHJvbHMvbWVudS9tZW51LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEF2YXRhclVzZXIgfSBmcm9tICcuLi9hdmF0YXIvYXZhdGFyLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEF2YXRhclNlcnZpY2UgfSBmcm9tICcuLi9hdmF0YXIvYXZhdGFyLnNlcnZpY2UnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdlYy1hcHAtYmFyJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vYXBwLWJhci5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vYXBwLWJhci5jb21wb25lbnQuc2NzcyddXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBBcHBCYXJDb21wb25lbnQgaW1wbGVtZW50cyBPbkNoYW5nZXMge1xyXG4gIEBJbnB1dCgpIHVzZXI/OiBBdmF0YXJVc2VyO1xyXG4gIEBJbnB1dCgpIHVzZXJNZW51SXRlbXM6IE1lbnVJdGVtW10gPSBbXTtcclxuICBASW5wdXQoKSB1c2VyTWVudVdpZHRoID0gMDtcclxuICBASW5wdXQoKSB1c2VyTWVudU1pbldpZHRoID0gMTYwO1xyXG4gIEBJbnB1dCgpIHVzZXJNZW51VGFiaW5kZXggPSAwO1xyXG4gIEBJbnB1dCgpIGljb25QYXRoID0gJy9hc3NldHMvaW1hZ2VzL2ljb24uc3ZnJztcclxuICBcclxuICBtZW51SXRlbXM6IE1lbnVJdGVtW10gPSBbXVxyXG5cclxuICBwcml2YXRlIHVzZXJJdGVtOiBNZW51SXRlbVtdID0gW107XHJcblxyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgYXZhdGFyU2VydmljZTogQXZhdGFyU2VydmljZSkgeyB9XHJcblxyXG4gIHB1YmxpYyBuZ09uQ2hhbmdlcygpOiB2b2lkIHtcclxuICAgIGlmICh0aGlzLnVzZXIpIHtcclxuICAgICAgdGhpcy51c2VySXRlbVswXSA9IHtsYWJlbDogdGhpcy5hdmF0YXJTZXJ2aWNlLmdldEF2YXRhckxhYmVscyh0aGlzLnVzZXIpLmZ1bGwgfHwgJycsIGRpc3BsYXk6ICdoZWFkaW5nJ307XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLnVzZXJJdGVtID0gW107XHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy5tZW51SXRlbXMgPSBbLi4udGhpcy51c2VySXRlbSwgLi4udGhpcy51c2VyTWVudUl0ZW1zXTtcclxuICB9XHJcbn1cclxuIiwiPHNlY3Rpb24gY2xhc3M9XCJsb2dvLWNvbnRhaW5lclwiPlxyXG4gIDxpbWcgc3JjPVwie3tpY29uUGF0aH19XCJcclxuICAgICAgIGFsdD1cIkVuZXJneUNBUCBQbGF0Zm9ybVwiPlxyXG48L3NlY3Rpb24+XHJcblxyXG48c2VjdGlvbiBjbGFzcz1cInRpdGxlLWNvbnRhaW5lclwiPlxyXG4gIDxuZy1jb250ZW50IHNlbGVjdD1cIi5hcHAtYmFyLXRpdGxlXCI+PC9uZy1jb250ZW50PlxyXG48L3NlY3Rpb24+XHJcblxyXG48c2VjdGlvbiBjbGFzcz1cImFjdGlvbnMtY29udGFpbmVyXCI+XHJcbiAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiLmFwcC1iYXItYWN0aW9uc1wiPjwvbmctY29udGVudD5cclxuICA8ZWMtZHJvcGRvd24gaWQ9XCJBcHBCYXJVc2VyTWVudVwiXHJcbiAgICAgICAgICAgICAgICpuZ0lmPVwidXNlck1lbnVJdGVtcy5sZW5ndGg7IGVsc2UgYXZhdGFyXCJcclxuICAgICAgICAgICAgICAgW2l0ZW1zXT1cIm1lbnVJdGVtc1wiXHJcbiAgICAgICAgICAgICAgIFtidXR0b25DdXN0b21UZW1wbGF0ZV09XCJhdmF0YXJcIlxyXG4gICAgICAgICAgICAgICBbc2hvd0Fycm93XT1cImZhbHNlXCJcclxuICAgICAgICAgICAgICAgW21lbnVXaWR0aF09XCJ1c2VyTWVudVdpZHRoXCJcclxuICAgICAgICAgICAgICAgW21lbnVNaW5XaWR0aF09XCJ1c2VyTWVudU1pbldpZHRoXCJcclxuICAgICAgICAgICAgICAgW3RhYmluZGV4XT1cInVzZXJNZW51VGFiaW5kZXhcIj48L2VjLWRyb3Bkb3duPlxyXG48L3NlY3Rpb24+XHJcblxyXG48bmctdGVtcGxhdGUgI2F2YXRhcj5cclxuICA8ZWMtYXZhdGFyIFt1c2VyXT1cInVzZXJcIj48L2VjLWF2YXRhcj5cclxuPC9uZy10ZW1wbGF0ZT4iXX0=
@@ -57,11 +57,11 @@ export class AvatarComponent {
57
57
  }
58
58
  }
59
59
  AvatarComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: AvatarComponent, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }, { token: i1.AvatarService }], target: i0.ɵɵFactoryTarget.Component });
60
- AvatarComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: AvatarComponent, isStandalone: true, selector: "ec-avatar", inputs: { user: "user" }, usesOnChanges: true, ngImport: i0, template: '{{label}}', isInline: true, styles: [":host{display:flex;width:2.25rem;height:2.25rem;align-items:center;justify-content:center;font-size:1rem;line-height:1.25rem;border-radius:50%;color:var(--ec-color-primary-light);text-transform:uppercase}:host.avatar-red{background-color:var(--ec-avatar-background-color-red, var(--ec-color-red-5));color:var(--ec-avatar-color-red, var(--ec-color-primary-light))}:host.avatar-orange{background-color:var(--ec-avatar-background-color-orange, var(--ec-color-orange-5));color:var(--ec-avatar-color-orange, var(--ec-color-primary-light))}:host.avatar-yellow{background-color:var(--ec-avatar-background-color-yellow, var(--ec-color-yellow-5));color:var(--ec-avatar-color-yellow, var(--ec-color-secondary-dark))}:host.avatar-green{background-color:var(--ec-avatar-background-color-green, var(--ec-color-green-5));color:var(--ec-avatar-color-green, var(--ec-color-primary-light))}:host.avatar-blue{background-color:var(--ec-avatar-background-color-blue, var(--ec-color-blue-5));color:var(--ec-avatar-color-blue, var(--ec-color-primary-light))}:host.avatar-purple{background-color:var(--ec-avatar-background-color-purple, var(--ec-color-purple-5));color:var(--ec-avatar-color-purple, var(--ec-color-primary-light))}:host.avatar-gray{background-color:var(--ec-avatar-background-color-gray, var(--ec-color-gray-3));color:var(--ec-avatar-color-gray, var(--ec-color-primary-light))}\n"] });
60
+ AvatarComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: AvatarComponent, selector: "ec-avatar", inputs: { user: "user" }, usesOnChanges: true, ngImport: i0, template: '{{label}}', isInline: true, styles: [":host{display:flex;width:2.25rem;height:2.25rem;align-items:center;justify-content:center;font-size:1rem;line-height:1.25rem;border-radius:50%;color:var(--ec-color-primary-light);text-transform:uppercase}:host.avatar-red{background-color:var(--ec-avatar-background-color-red, var(--ec-color-red-5));color:var(--ec-avatar-color-red, var(--ec-color-primary-light))}:host.avatar-orange{background-color:var(--ec-avatar-background-color-orange, var(--ec-color-orange-5));color:var(--ec-avatar-color-orange, var(--ec-color-primary-light))}:host.avatar-yellow{background-color:var(--ec-avatar-background-color-yellow, var(--ec-color-yellow-5));color:var(--ec-avatar-color-yellow, var(--ec-color-secondary-dark))}:host.avatar-green{background-color:var(--ec-avatar-background-color-green, var(--ec-color-green-5));color:var(--ec-avatar-color-green, var(--ec-color-primary-light))}:host.avatar-blue{background-color:var(--ec-avatar-background-color-blue, var(--ec-color-blue-5));color:var(--ec-avatar-color-blue, var(--ec-color-primary-light))}:host.avatar-purple{background-color:var(--ec-avatar-background-color-purple, var(--ec-color-purple-5));color:var(--ec-avatar-color-purple, var(--ec-color-primary-light))}:host.avatar-gray{background-color:var(--ec-avatar-background-color-gray, var(--ec-color-gray-3));color:var(--ec-avatar-color-gray, var(--ec-color-primary-light))}\n"] });
61
61
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: AvatarComponent, decorators: [{
62
62
  type: Component,
63
- args: [{ selector: 'ec-avatar', template: '{{label}}', standalone: true, styles: [":host{display:flex;width:2.25rem;height:2.25rem;align-items:center;justify-content:center;font-size:1rem;line-height:1.25rem;border-radius:50%;color:var(--ec-color-primary-light);text-transform:uppercase}:host.avatar-red{background-color:var(--ec-avatar-background-color-red, var(--ec-color-red-5));color:var(--ec-avatar-color-red, var(--ec-color-primary-light))}:host.avatar-orange{background-color:var(--ec-avatar-background-color-orange, var(--ec-color-orange-5));color:var(--ec-avatar-color-orange, var(--ec-color-primary-light))}:host.avatar-yellow{background-color:var(--ec-avatar-background-color-yellow, var(--ec-color-yellow-5));color:var(--ec-avatar-color-yellow, var(--ec-color-secondary-dark))}:host.avatar-green{background-color:var(--ec-avatar-background-color-green, var(--ec-color-green-5));color:var(--ec-avatar-color-green, var(--ec-color-primary-light))}:host.avatar-blue{background-color:var(--ec-avatar-background-color-blue, var(--ec-color-blue-5));color:var(--ec-avatar-color-blue, var(--ec-color-primary-light))}:host.avatar-purple{background-color:var(--ec-avatar-background-color-purple, var(--ec-color-purple-5));color:var(--ec-avatar-color-purple, var(--ec-color-primary-light))}:host.avatar-gray{background-color:var(--ec-avatar-background-color-gray, var(--ec-color-gray-3));color:var(--ec-avatar-color-gray, var(--ec-color-primary-light))}\n"] }]
63
+ args: [{ selector: 'ec-avatar', template: '{{label}}', styles: [":host{display:flex;width:2.25rem;height:2.25rem;align-items:center;justify-content:center;font-size:1rem;line-height:1.25rem;border-radius:50%;color:var(--ec-color-primary-light);text-transform:uppercase}:host.avatar-red{background-color:var(--ec-avatar-background-color-red, var(--ec-color-red-5));color:var(--ec-avatar-color-red, var(--ec-color-primary-light))}:host.avatar-orange{background-color:var(--ec-avatar-background-color-orange, var(--ec-color-orange-5));color:var(--ec-avatar-color-orange, var(--ec-color-primary-light))}:host.avatar-yellow{background-color:var(--ec-avatar-background-color-yellow, var(--ec-color-yellow-5));color:var(--ec-avatar-color-yellow, var(--ec-color-secondary-dark))}:host.avatar-green{background-color:var(--ec-avatar-background-color-green, var(--ec-color-green-5));color:var(--ec-avatar-color-green, var(--ec-color-primary-light))}:host.avatar-blue{background-color:var(--ec-avatar-background-color-blue, var(--ec-color-blue-5));color:var(--ec-avatar-color-blue, var(--ec-color-primary-light))}:host.avatar-purple{background-color:var(--ec-avatar-background-color-purple, var(--ec-color-purple-5));color:var(--ec-avatar-color-purple, var(--ec-color-primary-light))}:host.avatar-gray{background-color:var(--ec-avatar-background-color-gray, var(--ec-color-gray-3));color:var(--ec-avatar-color-gray, var(--ec-color-primary-light))}\n"] }]
64
64
  }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.Renderer2 }, { type: i1.AvatarService }]; }, propDecorators: { user: [{
65
65
  type: Input
66
66
  }] } });
67
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXZhdGFyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvbXBvbmVudHMvc3JjL2xpYi9kaXNwbGF5L2F2YXRhci9hdmF0YXIuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFpRixNQUFNLGVBQWUsQ0FBQzs7O0FBZ0JoSSxNQUFNLE9BQU8sZUFBZTtJQW9CMUIsWUFBb0IsRUFBYyxFQUFVLFFBQW1CLEVBQVUsYUFBNEI7UUFBakYsT0FBRSxHQUFGLEVBQUUsQ0FBWTtRQUFVLGFBQVEsR0FBUixRQUFRLENBQVc7UUFBVSxrQkFBYSxHQUFiLGFBQWEsQ0FBZTtRQWxCckcsbURBQW1EO1FBQzNDLFdBQU0sR0FBRztZQUNmLE9BQU8sRUFBRSxLQUFLO1lBQ2QsT0FBTyxFQUFFLFFBQVE7WUFDakIsTUFBTSxFQUFFLFFBQVE7WUFDaEIsTUFBTSxFQUFFLE9BQU87WUFDZixLQUFLLEVBQUUsTUFBTTtZQUNiLEtBQUssRUFBRSxRQUFRO1NBQ2hCLENBQUE7UUFJRCxrSEFBa0g7UUFDM0csVUFBSyxHQUFHLElBQUksQ0FBQztRQUVwQixzR0FBc0c7UUFDOUYsb0JBQWUsR0FBRyxFQUFFLENBQUM7SUFFMkUsQ0FBQztJQUV6RyxXQUFXLENBQUMsT0FBc0I7UUFDaEMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsV0FBVyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRTtZQUMzQyxPQUFPLENBQUMsS0FBSyxDQUFDLGlFQUFpRSxJQUFJLENBQUMsSUFBSSxXQUFXLENBQUMsQ0FBQztTQUN0RztRQUVELElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUNuQixJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDckIsQ0FBQztJQUVEOzs7T0FHRztJQUNLLFdBQVc7UUFDakIsSUFBSSxJQUFJLENBQUMsSUFBSSxFQUFFO1lBQ2IsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsWUFBWSxDQUFDO1NBQ3pFO0lBQ0gsQ0FBQztJQUVEOzs7T0FHRztJQUNLLFdBQVc7UUFDakIsSUFBSSxJQUFJLENBQUMsZUFBZSxFQUFFO1lBQ3hCLElBQUksQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsYUFBYSxFQUFFLElBQUksQ0FBQyxlQUFlLENBQUMsQ0FBQztTQUN4RTtRQUVELElBQUksS0FBSyxHQUFHLE1BQU0sQ0FBQztRQUNuQixJQUFJLElBQUksQ0FBQyxLQUFLLEtBQUssSUFBSSxJQUFJLElBQUksQ0FBQyxLQUFLLEVBQUU7WUFDckMsS0FBSyxJQUFJLEdBQUcsSUFBSSxJQUFJLENBQUMsTUFBTSxFQUFFO2dCQUMzQixJQUFJLEdBQUcsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxFQUFFO29CQUM3QyxLQUFLLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQztpQkFDMUI7YUFDRjtTQUNGO1FBQ0QsSUFBSSxDQUFDLGVBQWUsR0FBRyxVQUFVLEtBQUssRUFBRSxDQUFDO1FBQ3pDLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsYUFBYSxFQUFFLElBQUksQ0FBQyxlQUFlLENBQUMsQ0FBQztJQUN0RSxDQUFDOzs0R0E1RFUsZUFBZTtnR0FBZixlQUFlLG9IQUpkLFdBQVc7MkZBSVosZUFBZTtrQkFOM0IsU0FBUzsrQkFDSSxXQUFXLFlBQ1gsV0FBVyxjQUVULElBQUk7cUpBY1QsSUFBSTtzQkFBWixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgRWxlbWVudFJlZiwgUmVuZGVyZXIyLCBPbkluaXQsIE9uQ2hhbmdlcywgU2ltcGxlQ2hhbmdlcywgT3V0cHV0LCBFdmVudEVtaXR0ZXIgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQXZhdGFyU2VydmljZSB9IGZyb20gJy4vYXZhdGFyLnNlcnZpY2UnO1xyXG5cclxuZXhwb3J0IGludGVyZmFjZSBBdmF0YXJVc2VyIHtcclxuICBmaXJzdE5hbWU/OiBzdHJpbmc7XHJcbiAgbGFzdE5hbWU/OiBzdHJpbmc7XHJcbiAgZW1haWw/OiBzdHJpbmc7XHJcbiAgdXNlcm5hbWU/OiBzdHJpbmc7XHJcbn1cclxuXHJcbkBDb21wb25lbnQoe1xyXG4gICAgc2VsZWN0b3I6ICdlYy1hdmF0YXInLFxyXG4gICAgdGVtcGxhdGU6ICd7e2xhYmVsfX0nLFxyXG4gICAgc3R5bGVVcmxzOiBbJy4vYXZhdGFyLmNvbXBvbmVudC5zY3NzJ10sXHJcbiAgICBzdGFuZGFsb25lOiB0cnVlXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBBdmF0YXJDb21wb25lbnQgaW1wbGVtZW50cyBPbkNoYW5nZXMge1xyXG5cclxuICAvKiogQ29sb3IgbWFwIGJhc2Ugb24gdGhlIGZpcnN0IGxldCBvZiB0aGUgbGFiZWwgKi9cclxuICBwcml2YXRlIGNvbG9ycyA9IHtcclxuICAgIGFiY2RlMDE6ICdyZWQnLFxyXG4gICAgZmdoaWoyMzogJ29yYW5nZScsXHJcbiAgICBrbG1uMTU6ICd5ZWxsb3cnLFxyXG4gICAgb3BxcjY3OiAnZ3JlZW4nLFxyXG4gICAgc3R1djg6ICdibHVlJyxcclxuICAgIHd4eXo5OiAncHVycGxlJ1xyXG4gIH1cclxuXHJcbiAgQElucHV0KCkgdXNlciE6IEF2YXRhclVzZXI7XHJcblxyXG4gIC8qKiBMYWJlbCBpcyBkZWZhdWx0ZWQgdG8gSEkgaW4gdGhlIHJhcmUgY2FzZSB0aGUgdXNlciBkb2VzIG5vdCBoYXZlIGEgZmlyc3QgbmFtZSwgbGFzdCBuYW1lLCBlbWFpbCBvciB1c2VybmFtZSAqL1xyXG4gIHB1YmxpYyBsYWJlbCA9ICdISSc7XHJcblxyXG4gIC8qKiBUcmFjayB0aGUgY3VycmVudCBDU1MgY2xhc3Mgc28gd2UgY2FuIHJlbW92ZSBpdCBpZiB0aGUgdXNlciBjaGFuZ2VzIGJlZm9yZSBzZXR0aW5nIHRoZSBuZXh0IG9uZSAqL1xyXG4gIHByaXZhdGUgY3VycmVudENTU0NsYXNzID0gJyc7XHJcblxyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgZWw6IEVsZW1lbnRSZWYsIHByaXZhdGUgcmVuZGVyZXI6IFJlbmRlcmVyMiwgcHJpdmF0ZSBhdmF0YXJTZXJ2aWNlOiBBdmF0YXJTZXJ2aWNlKSB7fVxyXG5cclxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKSB7XHJcbiAgICBpZiAoIWNoYW5nZXMudXNlci5maXJzdENoYW5nZSAmJiAhdGhpcy51c2VyKSB7XHJcbiAgICAgIGNvbnNvbGUuZXJyb3IoYEF2YXRhckNvbXBvbmVudCBleHBlY3RlZCBhIHZhbHVlIGZvciB0aGUgW3VzZXJdIGlucHV0IGJ1dCBnb3QgJHt0aGlzLnVzZXJ9IGluc3RlYWQuYCk7XHJcbiAgICB9IFxyXG4gICAgICBcclxuICAgIHRoaXMudXBkYXRlTGFiZWwoKTtcclxuICAgIHRoaXMudXBkYXRlQ29sb3IoKTsgICAgXHJcbiAgfVxyXG5cclxuICAvKiogXHJcbiAgICogVXBkYXRlIHRoZSBBdmF0YXIgbGFiZWwgXHJcbiAgICogXHJcbiAgICovXHJcbiAgcHJpdmF0ZSB1cGRhdGVMYWJlbCgpIHtcclxuICAgIGlmICh0aGlzLnVzZXIpIHtcclxuICAgICAgdGhpcy5sYWJlbCA9IHRoaXMuYXZhdGFyU2VydmljZS5nZXRBdmF0YXJMYWJlbHModGhpcy51c2VyKS5hYmJyZXZpYXRpb247XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvKiogXHJcbiAgICogU2V0cyB0aGUgY29sb3Igb2YgdGhlIEF2YXRhciBiYXNlZCBvbiB0aGUgZmlyc3QgbGV0dGVyIG9mIHRoZSBsYWJlbC4gSWYgdGhlIGxhYmVsIGlzIEhJIG9yIGlzIG5vdFxyXG4gICAqIGEgbGV0dGVyLCBkZWZhdWx0IHRvIGdyYXkuXHJcbiAgICovXHJcbiAgcHJpdmF0ZSB1cGRhdGVDb2xvcigpIHtcclxuICAgIGlmICh0aGlzLmN1cnJlbnRDU1NDbGFzcykge1xyXG4gICAgICB0aGlzLnJlbmRlcmVyLnJlbW92ZUNsYXNzKHRoaXMuZWwubmF0aXZlRWxlbWVudCwgdGhpcy5jdXJyZW50Q1NTQ2xhc3MpO1xyXG4gICAgfVxyXG5cclxuICAgIGxldCBjb2xvciA9ICdncmF5JztcclxuICAgIGlmICh0aGlzLmxhYmVsICE9PSAnSEknICYmIHRoaXMubGFiZWwpIHtcclxuICAgICAgZm9yIChsZXQga2V5IGluIHRoaXMuY29sb3JzKSB7XHJcbiAgICAgICAgaWYgKGtleS5pbmNsdWRlcyh0aGlzLmxhYmVsWzBdLnRvTG93ZXJDYXNlKCkpKSB7XHJcbiAgICAgICAgICBjb2xvciA9IHRoaXMuY29sb3JzW2tleV07XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICB0aGlzLmN1cnJlbnRDU1NDbGFzcyA9IGBhdmF0YXItJHtjb2xvcn1gO1xyXG4gICAgdGhpcy5yZW5kZXJlci5hZGRDbGFzcyh0aGlzLmVsLm5hdGl2ZUVsZW1lbnQsIHRoaXMuY3VycmVudENTU0NsYXNzKTtcclxuICB9XHJcbn0iXX0=
67
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXZhdGFyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvbXBvbmVudHMvc3JjL2xpYi9kaXNwbGF5L2F2YXRhci9hdmF0YXIuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFpRixNQUFNLGVBQWUsQ0FBQzs7O0FBZWhJLE1BQU0sT0FBTyxlQUFlO0lBb0IxQixZQUFvQixFQUFjLEVBQVUsUUFBbUIsRUFBVSxhQUE0QjtRQUFqRixPQUFFLEdBQUYsRUFBRSxDQUFZO1FBQVUsYUFBUSxHQUFSLFFBQVEsQ0FBVztRQUFVLGtCQUFhLEdBQWIsYUFBYSxDQUFlO1FBbEJyRyxtREFBbUQ7UUFDM0MsV0FBTSxHQUFHO1lBQ2YsT0FBTyxFQUFFLEtBQUs7WUFDZCxPQUFPLEVBQUUsUUFBUTtZQUNqQixNQUFNLEVBQUUsUUFBUTtZQUNoQixNQUFNLEVBQUUsT0FBTztZQUNmLEtBQUssRUFBRSxNQUFNO1lBQ2IsS0FBSyxFQUFFLFFBQVE7U0FDaEIsQ0FBQTtRQUlELGtIQUFrSDtRQUMzRyxVQUFLLEdBQUcsSUFBSSxDQUFDO1FBRXBCLHNHQUFzRztRQUM5RixvQkFBZSxHQUFHLEVBQUUsQ0FBQztJQUUyRSxDQUFDO0lBRXpHLFdBQVcsQ0FBQyxPQUFzQjtRQUNoQyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxXQUFXLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFO1lBQzNDLE9BQU8sQ0FBQyxLQUFLLENBQUMsaUVBQWlFLElBQUksQ0FBQyxJQUFJLFdBQVcsQ0FBQyxDQUFDO1NBQ3RHO1FBRUQsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQ25CLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztJQUNyQixDQUFDO0lBRUQ7OztPQUdHO0lBQ0ssV0FBVztRQUNqQixJQUFJLElBQUksQ0FBQyxJQUFJLEVBQUU7WUFDYixJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxZQUFZLENBQUM7U0FDekU7SUFDSCxDQUFDO0lBRUQ7OztPQUdHO0lBQ0ssV0FBVztRQUNqQixJQUFJLElBQUksQ0FBQyxlQUFlLEVBQUU7WUFDeEIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxhQUFhLEVBQUUsSUFBSSxDQUFDLGVBQWUsQ0FBQyxDQUFDO1NBQ3hFO1FBRUQsSUFBSSxLQUFLLEdBQUcsTUFBTSxDQUFDO1FBQ25CLElBQUksSUFBSSxDQUFDLEtBQUssS0FBSyxJQUFJLElBQUksSUFBSSxDQUFDLEtBQUssRUFBRTtZQUNyQyxLQUFLLElBQUksR0FBRyxJQUFJLElBQUksQ0FBQyxNQUFNLEVBQUU7Z0JBQzNCLElBQUksR0FBRyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLFdBQVcsRUFBRSxDQUFDLEVBQUU7b0JBQzdDLEtBQUssR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDO2lCQUMxQjthQUNGO1NBQ0Y7UUFDRCxJQUFJLENBQUMsZUFBZSxHQUFHLFVBQVUsS0FBSyxFQUFFLENBQUM7UUFDekMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxhQUFhLEVBQUUsSUFBSSxDQUFDLGVBQWUsQ0FBQyxDQUFDO0lBQ3RFLENBQUM7OzRHQTVEVSxlQUFlO2dHQUFmLGVBQWUsZ0dBSGhCLFdBQVc7MkZBR1YsZUFBZTtrQkFMM0IsU0FBUzsrQkFDRSxXQUFXLFlBQ1gsV0FBVztxSkFlWixJQUFJO3NCQUFaLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBFbGVtZW50UmVmLCBSZW5kZXJlcjIsIE9uSW5pdCwgT25DaGFuZ2VzLCBTaW1wbGVDaGFuZ2VzLCBPdXRwdXQsIEV2ZW50RW1pdHRlciB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBBdmF0YXJTZXJ2aWNlIH0gZnJvbSAnLi9hdmF0YXIuc2VydmljZSc7XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIEF2YXRhclVzZXIge1xyXG4gIGZpcnN0TmFtZT86IHN0cmluZztcclxuICBsYXN0TmFtZT86IHN0cmluZztcclxuICBlbWFpbD86IHN0cmluZztcclxuICB1c2VybmFtZT86IHN0cmluZztcclxufVxyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdlYy1hdmF0YXInLFxyXG4gIHRlbXBsYXRlOiAne3tsYWJlbH19JyxcclxuICBzdHlsZVVybHM6IFsnLi9hdmF0YXIuY29tcG9uZW50LnNjc3MnXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgQXZhdGFyQ29tcG9uZW50IGltcGxlbWVudHMgT25DaGFuZ2VzIHtcclxuXHJcbiAgLyoqIENvbG9yIG1hcCBiYXNlIG9uIHRoZSBmaXJzdCBsZXQgb2YgdGhlIGxhYmVsICovXHJcbiAgcHJpdmF0ZSBjb2xvcnMgPSB7XHJcbiAgICBhYmNkZTAxOiAncmVkJyxcclxuICAgIGZnaGlqMjM6ICdvcmFuZ2UnLFxyXG4gICAga2xtbjE1OiAneWVsbG93JyxcclxuICAgIG9wcXI2NzogJ2dyZWVuJyxcclxuICAgIHN0dXY4OiAnYmx1ZScsXHJcbiAgICB3eHl6OTogJ3B1cnBsZSdcclxuICB9XHJcblxyXG4gIEBJbnB1dCgpIHVzZXIhOiBBdmF0YXJVc2VyO1xyXG5cclxuICAvKiogTGFiZWwgaXMgZGVmYXVsdGVkIHRvIEhJIGluIHRoZSByYXJlIGNhc2UgdGhlIHVzZXIgZG9lcyBub3QgaGF2ZSBhIGZpcnN0IG5hbWUsIGxhc3QgbmFtZSwgZW1haWwgb3IgdXNlcm5hbWUgKi9cclxuICBwdWJsaWMgbGFiZWwgPSAnSEknO1xyXG5cclxuICAvKiogVHJhY2sgdGhlIGN1cnJlbnQgQ1NTIGNsYXNzIHNvIHdlIGNhbiByZW1vdmUgaXQgaWYgdGhlIHVzZXIgY2hhbmdlcyBiZWZvcmUgc2V0dGluZyB0aGUgbmV4dCBvbmUgKi9cclxuICBwcml2YXRlIGN1cnJlbnRDU1NDbGFzcyA9ICcnO1xyXG5cclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGVsOiBFbGVtZW50UmVmLCBwcml2YXRlIHJlbmRlcmVyOiBSZW5kZXJlcjIsIHByaXZhdGUgYXZhdGFyU2VydmljZTogQXZhdGFyU2VydmljZSkge31cclxuXHJcbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcykge1xyXG4gICAgaWYgKCFjaGFuZ2VzLnVzZXIuZmlyc3RDaGFuZ2UgJiYgIXRoaXMudXNlcikge1xyXG4gICAgICBjb25zb2xlLmVycm9yKGBBdmF0YXJDb21wb25lbnQgZXhwZWN0ZWQgYSB2YWx1ZSBmb3IgdGhlIFt1c2VyXSBpbnB1dCBidXQgZ290ICR7dGhpcy51c2VyfSBpbnN0ZWFkLmApO1xyXG4gICAgfSBcclxuICAgICAgXHJcbiAgICB0aGlzLnVwZGF0ZUxhYmVsKCk7XHJcbiAgICB0aGlzLnVwZGF0ZUNvbG9yKCk7ICAgIFxyXG4gIH1cclxuXHJcbiAgLyoqIFxyXG4gICAqIFVwZGF0ZSB0aGUgQXZhdGFyIGxhYmVsIFxyXG4gICAqIFxyXG4gICAqL1xyXG4gIHByaXZhdGUgdXBkYXRlTGFiZWwoKSB7XHJcbiAgICBpZiAodGhpcy51c2VyKSB7XHJcbiAgICAgIHRoaXMubGFiZWwgPSB0aGlzLmF2YXRhclNlcnZpY2UuZ2V0QXZhdGFyTGFiZWxzKHRoaXMudXNlcikuYWJicmV2aWF0aW9uO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLyoqIFxyXG4gICAqIFNldHMgdGhlIGNvbG9yIG9mIHRoZSBBdmF0YXIgYmFzZWQgb24gdGhlIGZpcnN0IGxldHRlciBvZiB0aGUgbGFiZWwuIElmIHRoZSBsYWJlbCBpcyBISSBvciBpcyBub3RcclxuICAgKiBhIGxldHRlciwgZGVmYXVsdCB0byBncmF5LlxyXG4gICAqL1xyXG4gIHByaXZhdGUgdXBkYXRlQ29sb3IoKSB7XHJcbiAgICBpZiAodGhpcy5jdXJyZW50Q1NTQ2xhc3MpIHtcclxuICAgICAgdGhpcy5yZW5kZXJlci5yZW1vdmVDbGFzcyh0aGlzLmVsLm5hdGl2ZUVsZW1lbnQsIHRoaXMuY3VycmVudENTU0NsYXNzKTtcclxuICAgIH1cclxuXHJcbiAgICBsZXQgY29sb3IgPSAnZ3JheSc7XHJcbiAgICBpZiAodGhpcy5sYWJlbCAhPT0gJ0hJJyAmJiB0aGlzLmxhYmVsKSB7XHJcbiAgICAgIGZvciAobGV0IGtleSBpbiB0aGlzLmNvbG9ycykge1xyXG4gICAgICAgIGlmIChrZXkuaW5jbHVkZXModGhpcy5sYWJlbFswXS50b0xvd2VyQ2FzZSgpKSkge1xyXG4gICAgICAgICAgY29sb3IgPSB0aGlzLmNvbG9yc1trZXldO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgdGhpcy5jdXJyZW50Q1NTQ2xhc3MgPSBgYXZhdGFyLSR7Y29sb3J9YDtcclxuICAgIHRoaXMucmVuZGVyZXIuYWRkQ2xhc3ModGhpcy5lbC5uYXRpdmVFbGVtZW50LCB0aGlzLmN1cnJlbnRDU1NDbGFzcyk7XHJcbiAgfVxyXG59Il19
@@ -1,14 +1,14 @@
1
1
  import { Component, EventEmitter, Input, Output } from '@angular/core';
2
- import { UntypedFormControl, UntypedFormGroup, Validators, FormsModule, ReactiveFormsModule } from '@angular/forms';
3
- import { ButtonComponent } from '../../controls/button/button.component';
4
- import { TextboxComponent } from '../../controls/textbox/textbox.component';
5
- import { Overlay, ViewOverlayComponent } from '../view-overlay/view-overlay.component';
6
- import { TranslateModule } from '@ngx-translate/core';
7
- import { BannerComponent } from '../../controls/banner/banner.component';
8
- import { NgIf } from '@angular/common';
2
+ import { UntypedFormControl, UntypedFormGroup, Validators } from '@angular/forms';
3
+ import { Overlay } from '../view-overlay/view-overlay.component';
9
4
  import * as i0 from "@angular/core";
10
- import * as i1 from "@angular/forms";
11
- import * as i2 from "@ngx-translate/core";
5
+ import * as i1 from "@angular/common";
6
+ import * as i2 from "@angular/forms";
7
+ import * as i3 from "../../controls/button/button.component";
8
+ import * as i4 from "../../controls/textbox/textbox.component";
9
+ import * as i5 from "../view-overlay/view-overlay.component";
10
+ import * as i6 from "../../controls/banner/banner.component";
11
+ import * as i7 from "@ngx-translate/core";
12
12
  export class ConfirmDialogContext {
13
13
  constructor() {
14
14
  /** Id to distinguish between confirm component contexts emitted by the dialog service */
@@ -117,10 +117,10 @@ export class ConfirmComponent {
117
117
  }
118
118
  }
119
119
  ConfirmComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: ConfirmComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
120
- ConfirmComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: ConfirmComponent, isStandalone: true, selector: "ec-confirm", inputs: { context: "context" }, outputs: { onDialogSave: "onDialogSave", onDialogCancel: "onDialogCancel" }, ngImport: i0, template: "<section ecOverlay\r\n [status]=\"status?.status\"\r\n [message]=\"status?.message\"\r\n [action]=\"status?.action\"\r\n [noDataTemplate]=\"inlineConfirmResult\"\r\n overlayClassList=\"p-0\"\r\n class=\"bg-body flex-grow d-flex\">\r\n <form [formGroup]=\"formGroup\" class=\"flex-grow flex-column confirm-content text-body-1\">\r\n <section class=\"flex-grow\">\r\n <h2 class=\"font-weight-bold mb-3\" *ngIf=\"context?.title\">{{context?.title}}</h2>\r\n <ec-banner *ngIf=\"error\" [text]=\"error | translate\" bannerStyle=\"normal\" class=\"mb-3\"></ec-banner>\r\n <div *ngIf=\"context?.message\" [innerHtml]=\"context?.message | translate\" class=\"mb-3\"></div>\r\n <ec-textbox id=\"confirmTextbox\"\r\n *ngIf=\"context?.textboxType\"\r\n [autofocus]=\"true\"\r\n [formModel]=\"formGroup.get('textbox')\"\r\n [required]=\"context?.textboxRequired\"\r\n [label]=\"context?.textboxLabel\"\r\n [type]=\"context?.textboxType\"\r\n [rows]=\"context?.textareaRows\"\r\n [placeholder]=\"context?.textboxPlaceholder\"\r\n [upperCase]=\"context?.textboxUppercase\">\r\n </ec-textbox>\r\n </section>\r\n <footer class=\"mt-auto flex-shrink d-flex py-2 flex-row-reverse\">\r\n <ec-button id=\"saveConfirmButton\"\r\n class=\"ml-2\"\r\n [type]=\"context?.saveButtonType ? context?.saveButtonType : 'primary'\"\r\n [label]=\"context?.saveLabel ? context?.saveLabel : 'Save'\"\r\n [autofocus]=\"!context?.textboxType\"\r\n [isSubmit]=\"context?.saveOnEnter\"\r\n (clicked)=\"onSave('primary')\">\r\n </ec-button>\r\n <ec-button id=\"alternateSaveConfirmButton\"\r\n *ngIf=\"context?.alternateSaveLabel\"\r\n class=\"ml-2\"\r\n [type]=\"context?.alternateSaveButtonType ? context?.alternateSaveButtonType : 'primary'\"\r\n [label]=\"context?.alternateSaveLabel\"\r\n (clicked)=\"onSave('alternate')\">\r\n </ec-button>\r\n <ec-button id=\"cancelConfirmButton\"\r\n class=\"ml-auto\"\r\n type=\"secondary\"\r\n [label]=\"context?.cancelLabel ? context?.cancelLabel : 'Cancel'\"\r\n (clicked)=\"onCancel()\">\r\n </ec-button>\r\n </footer>\r\n </form>\r\n</section>\r\n\r\n<ng-template #inlineConfirmResult>\r\n <section class=\"flex-grow align-self-stretch confirm-content text-body-1\">\r\n <div class=\"d-flex\">\r\n <i class=\"ec-icon {{status?.action?.icon}} {{status?.action?.classlist}} inline-confirm-result-icon\"></i>\r\n <div [innerHTML]=\"status?.message | translate\"></div>\r\n </div>\r\n <div class=\"d-flex pt-2 mt-auto\">\r\n <ec-button id=\"inlineConfirmClose\"\r\n label=\"Close\"\r\n type=\"secondary\"\r\n class=\"ml-auto\"\r\n (clicked)=\"status?.action?.onClick!()\"\r\n [autofocus]=\"true\">\r\n </ec-button>\r\n </div>\r\n </section>\r\n</ng-template>", styles: [":host{width:100%;display:flex}.confirm-content{padding:1.5rem;display:flex;flex-direction:column}.inline-confirm-result-icon{margin:.0625rem .25rem .0625rem 0}\n"], dependencies: [{ kind: "component", type: ViewOverlayComponent, selector: "[ecOverlay]", inputs: ["status", "message", "action", "noDataTemplate", "displayAsMask", "overlayClassList"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: BannerComponent, selector: "ec-banner", inputs: ["hidden", "id", "type", "bannerStyle", "title", "text", "list", "showCloseBtn", "autoHideOnClose", "customIcon", "rememberClosed"], outputs: ["closed"] }, { kind: "component", type: TextboxComponent, selector: "ec-textbox", inputs: ["autocomplete", "type", "placeholder", "maxlength", "minlength", "rows", "selectOnAutofocus", "upperCase"] }, { kind: "component", type: ButtonComponent, selector: "ec-button", inputs: ["id", "disabled", "icon", "label", "badge", "tabindex", "type", "pending", "pendingIcon", "customTemplate", "isSubmit", "autofocus"], outputs: ["clicked"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i2.TranslatePipe, name: "translate" }] });
120
+ ConfirmComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: ConfirmComponent, selector: "ec-confirm", inputs: { context: "context" }, outputs: { onDialogSave: "onDialogSave", onDialogCancel: "onDialogCancel" }, ngImport: i0, template: "<section ecOverlay\r\n [status]=\"status?.status\"\r\n [message]=\"status?.message\"\r\n [action]=\"status?.action\"\r\n [noDataTemplate]=\"inlineConfirmResult\"\r\n overlayClassList=\"p-0\"\r\n class=\"bg-body flex-grow d-flex\">\r\n <form [formGroup]=\"formGroup\" class=\"flex-grow flex-column confirm-content text-body-1\">\r\n <section class=\"flex-grow\">\r\n <h2 class=\"font-weight-bold mb-3\" *ngIf=\"context?.title\">{{context?.title}}</h2>\r\n <ec-banner *ngIf=\"error\" [text]=\"error | translate\" bannerStyle=\"normal\" class=\"mb-3\"></ec-banner>\r\n <div *ngIf=\"context?.message\" [innerHtml]=\"context?.message | translate\" class=\"mb-3\"></div>\r\n <ec-textbox id=\"confirmTextbox\"\r\n *ngIf=\"context?.textboxType\"\r\n [autofocus]=\"true\"\r\n [formModel]=\"formGroup.get('textbox')\"\r\n [required]=\"context?.textboxRequired\"\r\n [label]=\"context?.textboxLabel\"\r\n [type]=\"context?.textboxType\"\r\n [rows]=\"context?.textareaRows\"\r\n [placeholder]=\"context?.textboxPlaceholder\"\r\n [upperCase]=\"context?.textboxUppercase\">\r\n </ec-textbox>\r\n </section>\r\n <footer class=\"mt-auto flex-shrink d-flex py-2 flex-row-reverse\">\r\n <ec-button id=\"saveConfirmButton\"\r\n class=\"ml-2\"\r\n [type]=\"context?.saveButtonType ? context?.saveButtonType : 'primary'\"\r\n [label]=\"context?.saveLabel ? context?.saveLabel : 'Save'\"\r\n [autofocus]=\"!context?.textboxType\"\r\n [isSubmit]=\"context?.saveOnEnter\"\r\n (clicked)=\"onSave('primary')\">\r\n </ec-button>\r\n <ec-button id=\"alternateSaveConfirmButton\"\r\n *ngIf=\"context?.alternateSaveLabel\"\r\n class=\"ml-2\"\r\n [type]=\"context?.alternateSaveButtonType ? context?.alternateSaveButtonType : 'primary'\"\r\n [label]=\"context?.alternateSaveLabel\"\r\n (clicked)=\"onSave('alternate')\">\r\n </ec-button>\r\n <ec-button id=\"cancelConfirmButton\"\r\n class=\"ml-auto\"\r\n type=\"secondary\"\r\n [label]=\"context?.cancelLabel ? context?.cancelLabel : 'Cancel'\"\r\n (clicked)=\"onCancel()\">\r\n </ec-button>\r\n </footer>\r\n </form>\r\n</section>\r\n\r\n<ng-template #inlineConfirmResult>\r\n <section class=\"flex-grow align-self-stretch confirm-content text-body-1\">\r\n <div class=\"d-flex\">\r\n <i class=\"ec-icon {{status?.action?.icon}} {{status?.action?.classlist}} inline-confirm-result-icon\"></i>\r\n <div [innerHTML]=\"status?.message | translate\"></div>\r\n </div>\r\n <div class=\"d-flex pt-2 mt-auto\">\r\n <ec-button id=\"inlineConfirmClose\"\r\n label=\"Close\"\r\n type=\"secondary\"\r\n class=\"ml-auto\"\r\n (clicked)=\"status?.action?.onClick!()\"\r\n [autofocus]=\"true\">\r\n </ec-button>\r\n </div>\r\n </section>\r\n</ng-template>", styles: [":host{width:100%;display:flex}.confirm-content{padding:1.5rem;display:flex;flex-direction:column}.inline-confirm-result-icon{margin:.0625rem .25rem .0625rem 0}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i2.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "component", type: i3.ButtonComponent, selector: "ec-button", inputs: ["id", "disabled", "icon", "label", "badge", "tabindex", "type", "pending", "pendingIcon", "customTemplate", "isSubmit", "autofocus"], outputs: ["clicked"] }, { kind: "component", type: i4.TextboxComponent, selector: "ec-textbox", inputs: ["autocomplete", "type", "placeholder", "maxlength", "minlength", "rows", "selectOnAutofocus", "upperCase"] }, { kind: "component", type: i5.ViewOverlayComponent, selector: "[ecOverlay]", inputs: ["status", "message", "action", "noDataTemplate", "displayAsMask", "overlayClassList"] }, { kind: "component", type: i6.BannerComponent, selector: "ec-banner", inputs: ["hidden", "id", "type", "bannerStyle", "title", "text", "list", "showCloseBtn", "autoHideOnClose", "customIcon", "rememberClosed"], outputs: ["closed"] }, { kind: "pipe", type: i7.TranslatePipe, name: "translate" }] });
121
121
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: ConfirmComponent, decorators: [{
122
122
  type: Component,
123
- args: [{ selector: 'ec-confirm', standalone: true, imports: [ViewOverlayComponent, FormsModule, ReactiveFormsModule, NgIf, BannerComponent, TextboxComponent, ButtonComponent, TranslateModule], template: "<section ecOverlay\r\n [status]=\"status?.status\"\r\n [message]=\"status?.message\"\r\n [action]=\"status?.action\"\r\n [noDataTemplate]=\"inlineConfirmResult\"\r\n overlayClassList=\"p-0\"\r\n class=\"bg-body flex-grow d-flex\">\r\n <form [formGroup]=\"formGroup\" class=\"flex-grow flex-column confirm-content text-body-1\">\r\n <section class=\"flex-grow\">\r\n <h2 class=\"font-weight-bold mb-3\" *ngIf=\"context?.title\">{{context?.title}}</h2>\r\n <ec-banner *ngIf=\"error\" [text]=\"error | translate\" bannerStyle=\"normal\" class=\"mb-3\"></ec-banner>\r\n <div *ngIf=\"context?.message\" [innerHtml]=\"context?.message | translate\" class=\"mb-3\"></div>\r\n <ec-textbox id=\"confirmTextbox\"\r\n *ngIf=\"context?.textboxType\"\r\n [autofocus]=\"true\"\r\n [formModel]=\"formGroup.get('textbox')\"\r\n [required]=\"context?.textboxRequired\"\r\n [label]=\"context?.textboxLabel\"\r\n [type]=\"context?.textboxType\"\r\n [rows]=\"context?.textareaRows\"\r\n [placeholder]=\"context?.textboxPlaceholder\"\r\n [upperCase]=\"context?.textboxUppercase\">\r\n </ec-textbox>\r\n </section>\r\n <footer class=\"mt-auto flex-shrink d-flex py-2 flex-row-reverse\">\r\n <ec-button id=\"saveConfirmButton\"\r\n class=\"ml-2\"\r\n [type]=\"context?.saveButtonType ? context?.saveButtonType : 'primary'\"\r\n [label]=\"context?.saveLabel ? context?.saveLabel : 'Save'\"\r\n [autofocus]=\"!context?.textboxType\"\r\n [isSubmit]=\"context?.saveOnEnter\"\r\n (clicked)=\"onSave('primary')\">\r\n </ec-button>\r\n <ec-button id=\"alternateSaveConfirmButton\"\r\n *ngIf=\"context?.alternateSaveLabel\"\r\n class=\"ml-2\"\r\n [type]=\"context?.alternateSaveButtonType ? context?.alternateSaveButtonType : 'primary'\"\r\n [label]=\"context?.alternateSaveLabel\"\r\n (clicked)=\"onSave('alternate')\">\r\n </ec-button>\r\n <ec-button id=\"cancelConfirmButton\"\r\n class=\"ml-auto\"\r\n type=\"secondary\"\r\n [label]=\"context?.cancelLabel ? context?.cancelLabel : 'Cancel'\"\r\n (clicked)=\"onCancel()\">\r\n </ec-button>\r\n </footer>\r\n </form>\r\n</section>\r\n\r\n<ng-template #inlineConfirmResult>\r\n <section class=\"flex-grow align-self-stretch confirm-content text-body-1\">\r\n <div class=\"d-flex\">\r\n <i class=\"ec-icon {{status?.action?.icon}} {{status?.action?.classlist}} inline-confirm-result-icon\"></i>\r\n <div [innerHTML]=\"status?.message | translate\"></div>\r\n </div>\r\n <div class=\"d-flex pt-2 mt-auto\">\r\n <ec-button id=\"inlineConfirmClose\"\r\n label=\"Close\"\r\n type=\"secondary\"\r\n class=\"ml-auto\"\r\n (clicked)=\"status?.action?.onClick!()\"\r\n [autofocus]=\"true\">\r\n </ec-button>\r\n </div>\r\n </section>\r\n</ng-template>", styles: [":host{width:100%;display:flex}.confirm-content{padding:1.5rem;display:flex;flex-direction:column}.inline-confirm-result-icon{margin:.0625rem .25rem .0625rem 0}\n"] }]
123
+ args: [{ selector: 'ec-confirm', template: "<section ecOverlay\r\n [status]=\"status?.status\"\r\n [message]=\"status?.message\"\r\n [action]=\"status?.action\"\r\n [noDataTemplate]=\"inlineConfirmResult\"\r\n overlayClassList=\"p-0\"\r\n class=\"bg-body flex-grow d-flex\">\r\n <form [formGroup]=\"formGroup\" class=\"flex-grow flex-column confirm-content text-body-1\">\r\n <section class=\"flex-grow\">\r\n <h2 class=\"font-weight-bold mb-3\" *ngIf=\"context?.title\">{{context?.title}}</h2>\r\n <ec-banner *ngIf=\"error\" [text]=\"error | translate\" bannerStyle=\"normal\" class=\"mb-3\"></ec-banner>\r\n <div *ngIf=\"context?.message\" [innerHtml]=\"context?.message | translate\" class=\"mb-3\"></div>\r\n <ec-textbox id=\"confirmTextbox\"\r\n *ngIf=\"context?.textboxType\"\r\n [autofocus]=\"true\"\r\n [formModel]=\"formGroup.get('textbox')\"\r\n [required]=\"context?.textboxRequired\"\r\n [label]=\"context?.textboxLabel\"\r\n [type]=\"context?.textboxType\"\r\n [rows]=\"context?.textareaRows\"\r\n [placeholder]=\"context?.textboxPlaceholder\"\r\n [upperCase]=\"context?.textboxUppercase\">\r\n </ec-textbox>\r\n </section>\r\n <footer class=\"mt-auto flex-shrink d-flex py-2 flex-row-reverse\">\r\n <ec-button id=\"saveConfirmButton\"\r\n class=\"ml-2\"\r\n [type]=\"context?.saveButtonType ? context?.saveButtonType : 'primary'\"\r\n [label]=\"context?.saveLabel ? context?.saveLabel : 'Save'\"\r\n [autofocus]=\"!context?.textboxType\"\r\n [isSubmit]=\"context?.saveOnEnter\"\r\n (clicked)=\"onSave('primary')\">\r\n </ec-button>\r\n <ec-button id=\"alternateSaveConfirmButton\"\r\n *ngIf=\"context?.alternateSaveLabel\"\r\n class=\"ml-2\"\r\n [type]=\"context?.alternateSaveButtonType ? context?.alternateSaveButtonType : 'primary'\"\r\n [label]=\"context?.alternateSaveLabel\"\r\n (clicked)=\"onSave('alternate')\">\r\n </ec-button>\r\n <ec-button id=\"cancelConfirmButton\"\r\n class=\"ml-auto\"\r\n type=\"secondary\"\r\n [label]=\"context?.cancelLabel ? context?.cancelLabel : 'Cancel'\"\r\n (clicked)=\"onCancel()\">\r\n </ec-button>\r\n </footer>\r\n </form>\r\n</section>\r\n\r\n<ng-template #inlineConfirmResult>\r\n <section class=\"flex-grow align-self-stretch confirm-content text-body-1\">\r\n <div class=\"d-flex\">\r\n <i class=\"ec-icon {{status?.action?.icon}} {{status?.action?.classlist}} inline-confirm-result-icon\"></i>\r\n <div [innerHTML]=\"status?.message | translate\"></div>\r\n </div>\r\n <div class=\"d-flex pt-2 mt-auto\">\r\n <ec-button id=\"inlineConfirmClose\"\r\n label=\"Close\"\r\n type=\"secondary\"\r\n class=\"ml-auto\"\r\n (clicked)=\"status?.action?.onClick!()\"\r\n [autofocus]=\"true\">\r\n </ec-button>\r\n </div>\r\n </section>\r\n</ng-template>", styles: [":host{width:100%;display:flex}.confirm-content{padding:1.5rem;display:flex;flex-direction:column}.inline-confirm-result-icon{margin:.0625rem .25rem .0625rem 0}\n"] }]
124
124
  }], ctorParameters: function () { return []; }, propDecorators: { context: [{
125
125
  type: Input
126
126
  }], onDialogSave: [{
@@ -128,4 +128,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImpor
128
128
  }], onDialogCancel: [{
129
129
  type: Output
130
130
  }] } });
131
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlybS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb21wb25lbnRzL3NyYy9saWIvZGlzcGxheS9jb25maXJtL2NvbmZpcm0uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29tcG9uZW50cy9zcmMvbGliL2Rpc3BsYXkvY29uZmlybS9jb25maXJtLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBVSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDL0UsT0FBTyxFQUFFLGtCQUFrQixFQUFFLGdCQUFnQixFQUFlLFVBQVUsRUFBRSxXQUFXLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUVqSSxPQUFPLEVBQWMsZUFBZSxFQUFFLE1BQU0sd0NBQXdDLENBQUM7QUFDckYsT0FBTyxFQUFlLGdCQUFnQixFQUFFLE1BQU0sMENBQTBDLENBQUM7QUFFekYsT0FBTyxFQUFFLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHdDQUF3QyxDQUFDO0FBQ3ZGLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN0RCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sd0NBQXdDLENBQUM7QUFDekUsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLGlCQUFpQixDQUFDOzs7O0FBU3ZDLE1BQU0sT0FBTyxvQkFBb0I7SUFBakM7UUFDRSx5RkFBeUY7UUFDbEYsT0FBRSxHQUFXLEVBQUUsQ0FBQztRQWlCdkI7OztXQUdHO1FBQ0ksb0JBQWUsR0FBYSxLQUFLLENBQUM7UUFLekMsNkNBQTZDO1FBQ3RDLHFCQUFnQixHQUFhLEtBQUssQ0FBQztRQUUxQzs7OztXQUlHO1FBQ0ksaUJBQVksR0FBWSxDQUFDLENBQUM7UUFXakMsaUNBQWlD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UzsrQkFDSSxZQUFZLGNBR1YsSUFBSSxXQUNQLENBQUMsb0JBQW9CLEVBQUUsV0FBVyxFQUFFLG1CQUFtQixFQUFFLElBQUksRUFBRSxlQUFlLEVBQUUsZ0JBQWdCLEVBQUUsZUFBZSxFQUFFLGVBQWUsQ0FBQzswRUFlOUgsT0FBTztzQkFBdEIsS0FBSztnQkFFVyxZQUFZO3NCQUE1QixNQUFNO2dCQUNVLGNBQWM7c0JBQTlCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uSW5pdCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFVudHlwZWRGb3JtQ29udHJvbCwgVW50eXBlZEZvcm1Hcm91cCwgVmFsaWRhdG9yRm4sIFZhbGlkYXRvcnMsIEZvcm1zTW9kdWxlLCBSZWFjdGl2ZUZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5cclxuaW1wb3J0IHsgQnV0dG9uVHlwZSwgQnV0dG9uQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vY29udHJvbHMvYnV0dG9uL2J1dHRvbi5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBUZXh0Ym94VHlwZSwgVGV4dGJveENvbXBvbmVudCB9IGZyb20gJy4uLy4uL2NvbnRyb2xzL3RleHRib3gvdGV4dGJveC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBEaWFsb2dDb250ZW50IH0gZnJvbSAnLi4vZGlhbG9nL2RpYWxvZy1jb250ZW50JztcclxuaW1wb3J0IHsgT3ZlcmxheSwgVmlld092ZXJsYXlDb21wb25lbnQgfSBmcm9tICcuLi92aWV3LW92ZXJsYXkvdmlldy1vdmVybGF5LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFRyYW5zbGF0ZU1vZHVsZSB9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xyXG5pbXBvcnQgeyBCYW5uZXJDb21wb25lbnQgfSBmcm9tICcuLi8uLi9jb250cm9scy9iYW5uZXIvYmFubmVyLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IE5nSWYgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5cclxudHlwZSBTYXZlU291cmNlID0gJ3ByaW1hcnknfCdhbHRlcm5hdGUnO1xyXG5cclxuZXhwb3J0IHR5cGUgQ3VzdG9tQWN0aW9uUmVzdWx0ID0ge1xyXG4gIG1lc3NhZ2U6IHN0cmluZztcclxuICBpc1N1Y2Nlc3M6IGJvb2xlYW47XHJcbn07XHJcblxyXG5leHBvcnQgY2xhc3MgQ29uZmlybURpYWxvZ0NvbnRleHQge1xyXG4gIC8qKiBJZCB0byBkaXN0aW5ndWlzaCBiZXR3ZWVuIGNvbmZpcm0gY29tcG9uZW50IGNvbnRleHRzIGVtaXR0ZWQgYnkgdGhlIGRpYWxvZyBzZXJ2aWNlICovXHJcbiAgcHVibGljIGlkOiBzdHJpbmcgPSAnJztcclxuXHJcbiAgLyoqIE9wdGlvbmFsIHRpdGxlIG9mIHRoZSBjb25maXJtICovXHJcbiAgcHVibGljIHRpdGxlPzogc3RyaW5nO1xyXG5cclxuICAvKiogT3B0aW9uYWwgbWVzc2FnZSAqL1xyXG4gIHB1YmxpYyBtZXNzYWdlPzogc3RyaW5nO1xyXG5cclxuICAvKipcclxuICAgKiBPcHRpb25hbCB0ZXh0Ym94IHR5cGUsIHRoaXMgd2lsbCBkZXRlcm1pbmUgd2hldGhlclxyXG4gICAqIGFuIGlucHV0IGlzIHZpc2libGUgb3Igbm90XHJcbiAgICovXHJcbiAgcHVibGljIHRleHRib3hUeXBlPzogVGV4dGJveFR5cGU7XHJcblxyXG4gIC8qKiBPcHRpb25hbCB0ZXh0Ym94IGxhYmVsICovXHJcbiAgcHVibGljIHRleHRib3hMYWJlbD86IHN0cmluZztcclxuXHJcbiAgLyoqXHJcbiAgICogT3B0aW9uYWwgcmVxdWlyZWQgZmxhZyBmb3IgdGhlIHRleHRib3gsIHdpbGwgc2V0XHJcbiAgICogYSB2YWxpZGF0b3Igb24gdGhlIGlucHV0IGlmIHRydWVcclxuICAgKi9cclxuICBwdWJsaWMgdGV4dGJveFJlcXVpcmVkPzogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICAvKiogT3B0aW9uYWwgYXJyYXkgb2YgdmFsaWRhdG9ycyB0byBhZGQgdG8gdGhlIHRleHRib3ggZm9ybSBjb250cm9sLiAqL1xyXG4gIHB1YmxpYyB0ZXh0Ym94VmFsaWRhdG9ycz86IFZhbGlkYXRvckZuW107XHJcblxyXG4gIC8qKiBTZXRzIHRoZSB0ZXh0Ym94J3MgdXBwZXJjYXNlIHBhcmFtZXRlciAqL1xyXG4gIHB1YmxpYyB0ZXh0Ym94VXBwZXJjYXNlPzogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICAvKipcclxuICAgKiBPcHRpb25hbCB0ZXh0Ym94IGhlaWdodCAoaW4gcm93cykuXHJcbiAgICogT25seSBhcHBsaWVzIHRvIG11bHRpLWxpbmUgdHlwZS5cclxuICAgKiBEZWZhdWx0IDMuXHJcbiAgICovXHJcbiAgcHVibGljIHRleHRhcmVhUm93cz86IG51bWJlciA9IDM7XHJcblxyXG4gIC8qKiBPcHRpb25hbCB0ZXh0Ym94IHBsYWNlaG9sZGVyIHRleHQgKi9cclxuICBwdWJsaWMgdGV4dGJveFBsYWNlaG9sZGVyPzogc3RyaW5nO1xyXG5cclxuICAvKiogT3B0aW9uYWwgZXJyb3IgbWVzc2FnZSB0byBkaXNwbGF5IHdoZW4gdGV4dGJveCAqL1xyXG4gIHB1YmxpYyB2YWxpZGF0aW9uRXJyb3JNZXNzYWdlPzogc3RyaW5nO1xyXG5cclxuICAvKiogVmFsdWUgcmV0dXJuZWQgZnJvbSB0aGUgaW5wdXQgaWYgZW5hYmxlZCAqL1xyXG4gIHB1YmxpYyB0ZXh0Ym94VmFsdWU/OiBzdHJpbmc7XHJcblxyXG4gIC8qKiBPcHRpb25hbCBzYXZlIGJ1dHRvbiBsYWJlbCAqL1xyXG4gIHB1YmxpYyBzYXZlTGFiZWw/OiBzdHJpbmcgPSAnU2F2ZSc7IC8vIExPQ09cclxuXHJcbiAgLyoqIE9wdGlvbmFsIHNhdmUgYnV0dG9uIHR5cGUgKi9cclxuICBwdWJsaWMgc2F2ZUJ1dHRvblR5cGU/OiBCdXR0b25UeXBlID0gJ3ByaW1hcnknO1xyXG5cclxuICAvKiogT3B0aW9uYWwgY2FuY2VsIGJ1dHRvbiBsYWJlbCAqL1xyXG4gIHB1YmxpYyBjYW5jZWxMYWJlbD86IHN0cmluZyA9ICdDYW5jZWwnOyAvLyBMT0NPXHJcblxyXG4gIC8qKiBXaGVuIHRydWUsIGFkZHMgdGhlIHN1Ym1pdCB0YWcgdG8gdGhlIHNhdmUgYnV0dG9uIHNvIGhpdHRpbmcgZW50ZXIgdHJpZ2dlcnMgdGhlIHNhdmUgKi9cclxuICBwdWJsaWMgc2F2ZU9uRW50ZXI/OiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gIC8qKiBPcHRpb25hbCBhbHRlcm5hdGUgc2F2ZSBidXR0b24gbGFiZWwgKi9cclxuICBwdWJsaWMgYWx0ZXJuYXRlU2F2ZUxhYmVsPzogc3RyaW5nID0gdW5kZWZpbmVkO1xyXG5cclxuICAvKiogT3B0aW9uYWwgYWx0ZXJuYXRlIHNhdmUgYnV0dG9uIHR5cGUgKi9cclxuICBwdWJsaWMgYWx0ZXJuYXRlU2F2ZUJ1dHRvblR5cGU/OiBCdXR0b25UeXBlID0gdW5kZWZpbmVkO1xyXG5cclxuICAvKipcclxuICAgKiBVc2VkIHRvIGtub3cgd2hpY2ggc2F2ZSBidXR0b24gd2FzIHNlbGVjdGVkIGluIGNhc2UgdGhlIGNhbGxpbmcgY29tcG9uZW50XHJcbiAgICogaXMgdXRpbGl6aW5nIHRoZSBhbHRlcm5hdGUgc2F2ZSBidXR0b25cclxuICAgKi9cclxuICBwdWJsaWMgc2F2ZVNvdXJjZT86IFNhdmVTb3VyY2UgPSAncHJpbWFyeSc7XHJcblxyXG4gIC8qKlxyXG4gICAqIFdoZW4gcHJvdmlkZWQsIHRoZSBjb25maXJtIHdpbGwgc2hvdyBhIHBlbmRpbmcgc3RhdGUgYW5kIGNhbGwgdGhpcywgdGhlbiB1cG9uXHJcbiAgICogY29tcGxldGlvbiBkaXNwbGF5IHRoZSByZXN1bHQgbWVzc2FnZSBhbmQgYSBjbG9zZSBidXR0b24uIElmIHRoZSBwcm9taXNlIGlzIHJlc29sdmVkXHJcbiAgICogc3VjY2Vzc2Z1bGx5LCB0aGUgY2xvc2UgYnV0dG9uIHdpbGwgZW1pdCBvbkRpYWxvZ1NhdmUuIElmIHRoZSBwcm9taXNlIGlzIHJlamVjdGVkLFxyXG4gICAqIHRoZSBjbG9zZSBidXR0b24gd2lsbCBlbWl0IG9uRGlhbG9nQ2FuY2VsLlxyXG4gICAqL1xyXG4gIHB1YmxpYyBpbmxpbmVDb25maXJtQWN0aW9uPzogKCkgPT4gUHJvbWlzZTxDdXN0b21BY3Rpb25SZXN1bHQ+O1xyXG5cclxuICAvKiogVGhlIG1lc3NhZ2UgdG8gYmUgZGlzcGxheWVkIHdoaWxlIGlubGluZUNvbmZpcm1BY3Rpb24gaXMgcGVuZGluZy4gKi9cclxuICBwdWJsaWMgaW5saW5lQ29uZmlybVBlbmRpbmdNZXNzYWdlPzogc3RyaW5nID0gJyc7XHJcbn1cclxuXHJcbkBDb21wb25lbnQoe1xyXG4gICAgc2VsZWN0b3I6ICdlYy1jb25maXJtJyxcclxuICAgIHRlbXBsYXRlVXJsOiAnLi9jb25maXJtLmNvbXBvbmVudC5odG1sJyxcclxuICAgIHN0eWxlVXJsczogWycuL2NvbmZpcm0uY29tcG9uZW50LnNjc3MnXSxcclxuICAgIHN0YW5kYWxvbmU6IHRydWUsXHJcbiAgICBpbXBvcnRzOiBbVmlld092ZXJsYXlDb21wb25lbnQsIEZvcm1zTW9kdWxlLCBSZWFjdGl2ZUZvcm1zTW9kdWxlLCBOZ0lmLCBCYW5uZXJDb21wb25lbnQsIFRleHRib3hDb21wb25lbnQsIEJ1dHRvbkNvbXBvbmVudCwgVHJhbnNsYXRlTW9kdWxlXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgQ29uZmlybUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgRGlhbG9nQ29udGVudDxDb25maXJtRGlhbG9nQ29udGV4dD57XHJcblxyXG4gIHB1YmxpYyBkaWFsb2dJZDogc3RyaW5nID0gJ0NvbmZpcm0nO1xyXG5cclxuICAvKiogRm9ybSBHcm91cCB0byBob2xkIGFueSBmb3JtIGNvbnRyb2xzIG5lZWRlZCAqL1xyXG4gIHB1YmxpYyBmb3JtR3JvdXA6IFVudHlwZWRGb3JtR3JvdXAgPSBuZXcgVW50eXBlZEZvcm1Hcm91cCh7fSk7XHJcblxyXG4gIHB1YmxpYyBzdGF0dXMgPSBuZXcgT3ZlcmxheSgnaGFzRGF0YScpO1xyXG5cclxuICAvKipcclxuICAgKiBQcm92aWRlZCBieSB0aGUgY2FsbGluZyBjb21wb25lbnQgdG8gdGVsbCB0aGUgY29uZmlybSB3aGF0IHRvIHNob3dcclxuICAgKiBhbmQgaXMgdXNlZCBvbiBzYXZlIHRvIHNlbmQgYmFjayBhbnkgZW50ZXJlZCB2YWx1ZXMgZnJvbSB0aGUgdXNlclxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIHB1YmxpYyBjb250ZXh0ITogQ29uZmlybURpYWxvZ0NvbnRleHQ7XHJcblxyXG4gIEBPdXRwdXQoKSBwdWJsaWMgb25EaWFsb2dTYXZlOiBFdmVudEVtaXR0ZXI8Q29uZmlybURpYWxvZ0NvbnRleHQ+ID0gbmV3IEV2ZW50RW1pdHRlcjxDb25maXJtRGlhbG9nQ29udGV4dD4oKTtcclxuICBAT3V0cHV0KCkgcHVibGljIG9uRGlhbG9nQ2FuY2VsOiBFdmVudEVtaXR0ZXI8dm9pZD4gPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XHJcblxyXG4gIHB1YmxpYyBvbk9wZW4ob3BlbkNvbnRleHQ/OiBDb25maXJtRGlhbG9nQ29udGV4dCk6IHZvaWQge1xyXG4gICAgdGhpcy5jb250ZXh0ID0gb3BlbkNvbnRleHQhO1xyXG4gICAgdGhpcy5kaWFsb2dJZCA9IG9wZW5Db250ZXh0IS5pZDtcclxuXHJcbiAgICBpZiAodGhpcy5jb250ZXh0LmFsdGVybmF0ZVNhdmVMYWJlbCkge1xyXG4gICAgICB0aGlzLmNvbnRleHQuc2F2ZU9uRW50ZXIgPSBmYWxzZTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8qKiBFcnJvciB0byBiZSBkaXNwbGF5ZWQgaW4gdGhlIGVycm9yIGJhbm5lciAqL1xyXG4gIHB1YmxpYyBlcnJvcj86IHN0cmluZztcclxuXHJcbiAgY29uc3RydWN0b3IoKSB7IH1cclxuXHJcbiAgcHVibGljIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgdGhpcy5hZGRGb3JtQ29udHJvbHMoKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBvblNhdmUoc291cmNlOiBTYXZlU291cmNlKTogdm9pZCB7XHJcbiAgICB0aGlzLmZvcm1Hcm91cC5tYXJrQWxsQXNUb3VjaGVkKCk7XHJcblxyXG4gICAgaWYgKHRoaXMuZm9ybUdyb3VwLnZhbGlkKSB7XHJcbiAgICAgIGxldCBmb3JtVmFsdWVzID0gdGhpcy5mb3JtR3JvdXAuZ2V0UmF3VmFsdWUoKTtcclxuICAgICAgaWYgKGZvcm1WYWx1ZXMudGV4dGJveCkge1xyXG4gICAgICAgIHRoaXMuY29udGV4dC50ZXh0Ym94VmFsdWUgPSBmb3JtVmFsdWVzLnRleHRib3g7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIHRoaXMuY29udGV4dC5zYXZlU291cmNlID0gc291cmNlO1xyXG5cclxuICAgICAgaWYgKHRoaXMuY29udGV4dC5pbmxpbmVDb25maXJtQWN0aW9uKSB7XHJcbiAgICAgICAgdGhpcy5kb0lubGluZUNvbmZpcm1BY3Rpb24oKTtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICB0aGlzLm9uRGlhbG9nU2F2ZS5lbWl0KHRoaXMuY29udGV4dCk7XHJcbiAgICAgIH1cclxuICAgIH0gZWxzZSBpZiAodGhpcy5jb250ZXh0LnZhbGlkYXRpb25FcnJvck1lc3NhZ2UpIHtcclxuICAgICAgdGhpcy5lcnJvciA9IHRoaXMuY29udGV4dC52YWxpZGF0aW9uRXJyb3JNZXNzYWdlO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHVibGljIG9uQ2FuY2VsKCk6IHZvaWQge1xyXG4gICAgdGhpcy5vbkRpYWxvZ0NhbmNlbC5lbWl0KCk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBBZGRzIHRoZSB0ZXh0Ym94IGZvcm0gY29udHJvbCB0byBvdXIgZm9ybSBncm91cCBpZiBpdHMgY29uZmlndXJlZCB0byBiZSB2aXNpYmxlXHJcbiAgICogV2lsbCBhbHNvIGFkZCB0aGUgcmVxdWlyZWQgdmFsaWRhdG9yIGlmIHJlcXVlc3RlZFxyXG4gICAqL1xyXG4gIHByaXZhdGUgYWRkRm9ybUNvbnRyb2xzKCk6IHZvaWQge1xyXG4gICAgaWYgKHRoaXMuY29udGV4dC50ZXh0Ym94VHlwZSkge1xyXG4gICAgICBsZXQgdmFsaWRhdG9yczogVmFsaWRhdG9yRm5bXSA9IFtdO1xyXG4gICAgICBpZiAodGhpcy5jb250ZXh0LnRleHRib3hSZXF1aXJlZCkge1xyXG4gICAgICAgIHZhbGlkYXRvcnMucHVzaChWYWxpZGF0b3JzLnJlcXVpcmVkKTtcclxuICAgICAgfVxyXG4gICAgICBpZiAodGhpcy5jb250ZXh0LnRleHRib3hWYWxpZGF0b3JzKSB7XHJcbiAgICAgICAgdmFsaWRhdG9ycy5wdXNoKC4uLnRoaXMuY29udGV4dC50ZXh0Ym94VmFsaWRhdG9ycyk7XHJcbiAgICAgIH1cclxuICAgICAgdGhpcy5mb3JtR3JvdXAuYWRkQ29udHJvbCgndGV4dGJveCcsIG5ldyBVbnR5cGVkRm9ybUNvbnRyb2woJycsIHZhbGlkYXRvcnMpKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByaXZhdGUgYXN5bmMgZG9JbmxpbmVDb25maXJtQWN0aW9uKCkge1xyXG4gICAgdGhpcy5zdGF0dXMuc2V0U3RhdHVzKCdwZW5kaW5nJywgdGhpcy5jb250ZXh0LmlubGluZUNvbmZpcm1QZW5kaW5nTWVzc2FnZSk7XHJcblxyXG4gICAgbGV0IHJlc3VsdCA9IGF3YWl0IHRoaXMuY29udGV4dC5pbmxpbmVDb25maXJtQWN0aW9uISgpO1xyXG5cclxuICAgIHRoaXMuc3RhdHVzLnNldFN0YXR1cygnbm9EYXRhJywgcmVzdWx0Lm1lc3NhZ2UsIHtcclxuICAgICAgaWQ6ICdpbmxpbmVDb25maXJtQ2xvc2UnLFxyXG4gICAgICBsYWJlbDogJ0Nsb3NlJyxcclxuICAgICAgaWNvbjogcmVzdWx0LmlzU3VjY2VzcyA/ICdpY29uLWNoZWNrLWNpcmNsZScgOiAnaWNvbi1lcnJvcicsXHJcbiAgICAgIGNsYXNzbGlzdDogcmVzdWx0LmlzU3VjY2VzcyA/ICdmb250LWNvbG9yLXN1Y2Nlc3MnIDogJ2ZvbnQtY29sb3ItZXJyb3InLFxyXG4gICAgICBvbkNsaWNrOiAoKSA9PiB7IHJlc3VsdC5pc1N1Y2Nlc3MgPyB0aGlzLm9uRGlhbG9nU2F2ZS5lbWl0KHRoaXMuY29udGV4dCkgOiB0aGlzLm9uRGlhbG9nQ2FuY2VsLmVtaXQoKSB9XHJcbiAgICB9KTtcclxuICB9XHJcbn1cclxuIiwiPHNlY3Rpb24gZWNPdmVybGF5XHJcbiAgICAgICAgIFtzdGF0dXNdPVwic3RhdHVzPy5zdGF0dXNcIlxyXG4gICAgICAgICBbbWVzc2FnZV09XCJzdGF0dXM/Lm1lc3NhZ2VcIlxyXG4gICAgICAgICBbYWN0aW9uXT1cInN0YXR1cz8uYWN0aW9uXCJcclxuICAgICAgICAgW25vRGF0YVRlbXBsYXRlXT1cImlubGluZUNvbmZpcm1SZXN1bHRcIlxyXG4gICAgICAgICBvdmVybGF5Q2xhc3NMaXN0PVwicC0wXCJcclxuICAgICAgICAgY2xhc3M9XCJiZy1ib2R5IGZsZXgtZ3JvdyBkLWZsZXhcIj5cclxuICA8Zm9ybSBbZm9ybUdyb3VwXT1cImZvcm1Hcm91cFwiIGNsYXNzPVwiZmxleC1ncm93IGZsZXgtY29sdW1uIGNvbmZpcm0tY29udGVudCB0ZXh0LWJvZHktMVwiPlxyXG4gICAgPHNlY3Rpb24gY2xhc3M9XCJmbGV4LWdyb3dcIj5cclxuICAgICAgPGgyIGNsYXNzPVwiZm9udC13ZWlnaHQtYm9sZCBtYi0zXCIgKm5nSWY9XCJjb250ZXh0Py50aXRsZVwiPnt7Y29udGV4dD8udGl0bGV9fTwvaDI+XHJcbiAgICAgIDxlYy1iYW5uZXIgKm5nSWY9XCJlcnJvclwiIFt0ZXh0XT1cImVycm9yIHwgdHJhbnNsYXRlXCIgYmFubmVyU3R5bGU9XCJub3JtYWxcIiBjbGFzcz1cIm1iLTNcIj48L2VjLWJhbm5lcj5cclxuICAgICAgPGRpdiAqbmdJZj1cImNvbnRleHQ/Lm1lc3NhZ2VcIiBbaW5uZXJIdG1sXT1cImNvbnRleHQ/Lm1lc3NhZ2UgfCB0cmFuc2xhdGVcIiBjbGFzcz1cIm1iLTNcIj48L2Rpdj5cclxuICAgICAgPGVjLXRleHRib3ggaWQ9XCJjb25maXJtVGV4dGJveFwiXHJcbiAgICAgICAgICAgICAgICAgICpuZ0lmPVwiY29udGV4dD8udGV4dGJveFR5cGVcIlxyXG4gICAgICAgICAgICAgICAgICBbYXV0b2ZvY3VzXT1cInRydWVcIlxyXG4gICAgICAgICAgICAgICAgICBbZm9ybU1vZGVsXT1cImZvcm1Hcm91cC5nZXQoJ3RleHRib3gnKVwiXHJcbiAgICAgICAgICAgICAgICAgIFtyZXF1aXJlZF09XCJjb250ZXh0Py50ZXh0Ym94UmVxdWlyZWRcIlxyXG4gICAgICAgICAgICAgICAgICBbbGFiZWxdPVwiY29udGV4dD8udGV4dGJveExhYmVsXCJcclxuICAgICAgICAgICAgICAgICAgW3R5cGVdPVwiY29udGV4dD8udGV4dGJveFR5cGVcIlxyXG4gICAgICAgICAgICAgICAgICBbcm93c109XCJjb250ZXh0Py50ZXh0YXJlYVJvd3NcIlxyXG4gICAgICAgICAgICAgICAgICBbcGxhY2Vob2xkZXJdPVwiY29udGV4dD8udGV4dGJveFBsYWNlaG9sZGVyXCJcclxuICAgICAgICAgICAgICAgICAgW3VwcGVyQ2FzZV09XCJjb250ZXh0Py50ZXh0Ym94VXBwZXJjYXNlXCI+XHJcbiAgICAgIDwvZWMtdGV4dGJveD5cclxuICAgIDwvc2VjdGlvbj5cclxuICAgIDxmb290ZXIgY2xhc3M9XCJtdC1hdXRvIGZsZXgtc2hyaW5rIGQtZmxleCBweS0yIGZsZXgtcm93LXJldmVyc2VcIj5cclxuICAgICAgPGVjLWJ1dHRvbiBpZD1cInNhdmVDb25maXJtQnV0dG9uXCJcclxuICAgICAgICAgICAgICAgICAgY2xhc3M9XCJtbC0yXCJcclxuICAgICAgICAgICAgICAgICAgW3R5cGVdPVwiY29udGV4dD8uc2F2ZUJ1dHRvblR5cGUgPyBjb250ZXh0Py5zYXZlQnV0dG9uVHlwZSA6ICdwcmltYXJ5J1wiXHJcbiAgICAgICAgICAgICAgICAgIFtsYWJlbF09XCJjb250ZXh0Py5zYXZlTGFiZWwgPyBjb250ZXh0Py5zYXZlTGFiZWwgOiAnU2F2ZSdcIlxyXG4gICAgICAgICAgICAgICAgICBbYXV0b2ZvY3VzXT1cIiFjb250ZXh0Py50ZXh0Ym94VHlwZVwiXHJcbiAgICAgICAgICAgICAgICAgIFtpc1N1Ym1pdF09XCJjb250ZXh0Py5zYXZlT25FbnRlclwiXHJcbiAgICAgICAgICAgICAgICAgIChjbGlja2VkKT1cIm9uU2F2ZSgncHJpbWFyeScpXCI+XHJcbiAgICAgIDwvZWMtYnV0dG9uPlxyXG4gICAgICA8ZWMtYnV0dG9uIGlkPVwiYWx0ZXJuYXRlU2F2ZUNvbmZpcm1CdXR0b25cIlxyXG4gICAgICAgICAgICAgICAgICAqbmdJZj1cImNvbnRleHQ/LmFsdGVybmF0ZVNhdmVMYWJlbFwiXHJcbiAgICAgICAgICAgICAgICAgIGNsYXNzPVwibWwtMlwiXHJcbiAgICAgICAgICAgICAgICAgIFt0eXBlXT1cImNvbnRleHQ/LmFsdGVybmF0ZVNhdmVCdXR0b25UeXBlID8gY29udGV4dD8uYWx0ZXJuYXRlU2F2ZUJ1dHRvblR5cGUgOiAncHJpbWFyeSdcIlxyXG4gICAgICAgICAgICAgICAgICBbbGFiZWxdPVwiY29udGV4dD8uYWx0ZXJuYXRlU2F2ZUxhYmVsXCJcclxuICAgICAgICAgICAgICAgICAgKGNsaWNrZWQpPVwib25TYXZlKCdhbHRlcm5hdGUnKVwiPlxyXG4gICAgICA8L2VjLWJ1dHRvbj5cclxuICAgICAgPGVjLWJ1dHRvbiBpZD1cImNhbmNlbENvbmZpcm1CdXR0b25cIlxyXG4gICAgICAgICAgICAgICAgICBjbGFzcz1cIm1sLWF1dG9cIlxyXG4gICAgICAgICAgICAgICAgICB0eXBlPVwic2Vjb25kYXJ5XCJcclxuICAgICAgICAgICAgICAgICAgW2xhYmVsXT1cImNvbnRleHQ/LmNhbmNlbExhYmVsID8gY29udGV4dD8uY2FuY2VsTGFiZWwgOiAnQ2FuY2VsJ1wiXHJcbiAgICAgICAgICAgICAgICAgIChjbGlja2VkKT1cIm9uQ2FuY2VsKClcIj5cclxuICAgICAgPC9lYy1idXR0b24+XHJcbiAgICA8L2Zvb3Rlcj5cclxuICA8L2Zvcm0+XHJcbjwvc2VjdGlvbj5cclxuXHJcbjxuZy10ZW1wbGF0ZSAjaW5saW5lQ29uZmlybVJlc3VsdD5cclxuICA8c2VjdGlvbiBjbGFzcz1cImZsZXgtZ3JvdyBhbGlnbi1zZWxmLXN0cmV0Y2ggY29uZmlybS1jb250ZW50IHRleHQtYm9keS0xXCI+XHJcbiAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4XCI+XHJcbiAgICAgIDxpIGNsYXNzPVwiZWMtaWNvbiB7e3N0YXR1cz8uYWN0aW9uPy5pY29ufX0ge3tzdGF0dXM/LmFjdGlvbj8uY2xhc3NsaXN0fX0gaW5saW5lLWNvbmZpcm0tcmVzdWx0LWljb25cIj48L2k+XHJcbiAgICAgIDxkaXYgW2lubmVySFRNTF09XCJzdGF0dXM/Lm1lc3NhZ2UgfCB0cmFuc2xhdGVcIj48L2Rpdj5cclxuICAgIDwvZGl2PlxyXG4gICAgPGRpdiBjbGFzcz1cImQtZmxleCBwdC0yIG10LWF1dG9cIj5cclxuICAgICAgPGVjLWJ1dHRvbiBpZD1cImlubGluZUNvbmZpcm1DbG9zZVwiXHJcbiAgICAgICAgICAgICAgICAgbGFiZWw9XCJDbG9zZVwiXHJcbiAgICAgICAgICAgICAgICAgdHlwZT1cInNlY29uZGFyeVwiXHJcbiAgICAgICAgICAgICAgICAgY2xhc3M9XCJtbC1hdXRvXCJcclxuICAgICAgICAgICAgICAgICAoY2xpY2tlZCk9XCJzdGF0dXM/LmFjdGlvbj8ub25DbGljayEoKVwiXHJcbiAgICAgICAgICAgICAgICAgW2F1dG9mb2N1c109XCJ0cnVlXCI+XHJcbiAgICAgIDwvZWMtYnV0dG9uPlxyXG4gICAgPC9kaXY+XHJcbiAgPC9zZWN0aW9uPlxyXG48L25nLXRlbXBsYXRlPiJdfQ==
131
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlybS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb21wb25lbnRzL3NyYy9saWIvZGlzcGxheS9jb25maXJtL2NvbmZpcm0uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29tcG9uZW50cy9zcmMvbGliL2Rpc3BsYXkvY29uZmlybS9jb25maXJtLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBVSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDL0UsT0FBTyxFQUFFLGtCQUFrQixFQUFFLGdCQUFnQixFQUFlLFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBSy9GLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQzs7Ozs7Ozs7O0FBU2pFLE1BQU0sT0FBTyxvQkFBb0I7SUFBakM7UUFDRSx5RkFBeUY7UUFDbEYsT0FBRSxHQUFXLEVBQUUsQ0FBQztRQWlCdkI7OztXQUdHO1FBQ0ksb0JBQWUsR0FBYSxLQUFLLENBQUM7UUFLekMsNkNBQTZDO1FBQ3RDLHFCQUFnQixHQUFhLEtBQUssQ0FBQztRQUUxQzs7OztXQUlHO1FBQ0ksaUJBQVksR0FBWSxDQUFDLENBQUM7UUFXakMsaUNBQWlDO1FBQzFCLGNBQVMsR0FBWSxNQUFNLENBQUMsQ0FBQyxPQUFPO1FBRTNDLGdDQUFnQztRQUN6QixtQkFBYyxHQUFnQixTQUFTLENBQUM7UUFFL0MsbUNBQW1DO1FBQzVCLGdCQUFXLEdBQVksUUFBUSxDQUFDLENBQUMsT0FBTztRQUUvQywyRkFBMkY7UUFDcEYsZ0JBQVcsR0FBYSxLQUFLLENBQUM7UUFFckMsMkNBQTJDO1FBQ3BDLHVCQUFrQixHQUFZLFNBQVMsQ0FBQztRQUUvQywwQ0FBMEM7UUFDbkMsNEJBQXVCLEdBQWdCLFNBQVMs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QUFJLENBQUMsT0FBTyxDQUFDLG1CQUFvQixFQUFFLENBQUM7UUFFdkQsSUFBSSxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsUUFBUSxFQUFFLE1BQU0sQ0FBQyxPQUFPLEVBQUU7WUFDOUMsRUFBRSxFQUFFLG9CQUFvQjtZQUN4QixLQUFLLEVBQUUsT0FBTztZQUNkLElBQUksRUFBRSxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDLENBQUMsWUFBWTtZQUMzRCxTQUFTLEVBQUUsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsb0JBQW9CLENBQUMsQ0FBQyxDQUFDLGtCQUFrQjtZQUN2RSxPQUFPLEVBQUUsR0FBRyxFQUFFLEdBQUcsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksRUFBRSxDQUFBLENBQUMsQ0FBQztTQUN4RyxDQUFDLENBQUM7SUFDTCxDQUFDOzs2R0ExRlUsZ0JBQWdCO2lHQUFoQixnQkFBZ0IsK0pDdkc3Qix1dUdBa0VjOzJGRHFDRCxnQkFBZ0I7a0JBTDVCLFNBQVM7K0JBQ0UsWUFBWTswRUFpQk4sT0FBTztzQkFBdEIsS0FBSztnQkFFVyxZQUFZO3NCQUE1QixNQUFNO2dCQUNVLGNBQWM7c0JBQTlCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uSW5pdCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFVudHlwZWRGb3JtQ29udHJvbCwgVW50eXBlZEZvcm1Hcm91cCwgVmFsaWRhdG9yRm4sIFZhbGlkYXRvcnMgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcblxyXG5pbXBvcnQgeyBCdXR0b25UeXBlIH0gZnJvbSAnLi4vLi4vY29udHJvbHMvYnV0dG9uL2J1dHRvbi5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBUZXh0Ym94VHlwZSB9IGZyb20gJy4uLy4uL2NvbnRyb2xzL3RleHRib3gvdGV4dGJveC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBEaWFsb2dDb250ZW50IH0gZnJvbSAnLi4vZGlhbG9nL2RpYWxvZy1jb250ZW50JztcclxuaW1wb3J0IHsgT3ZlcmxheSB9IGZyb20gJy4uL3ZpZXctb3ZlcmxheS92aWV3LW92ZXJsYXkuY29tcG9uZW50JztcclxuXHJcbnR5cGUgU2F2ZVNvdXJjZSA9ICdwcmltYXJ5J3wnYWx0ZXJuYXRlJztcclxuXHJcbmV4cG9ydCB0eXBlIEN1c3RvbUFjdGlvblJlc3VsdCA9IHtcclxuICBtZXNzYWdlOiBzdHJpbmc7XHJcbiAgaXNTdWNjZXNzOiBib29sZWFuO1xyXG59O1xyXG5cclxuZXhwb3J0IGNsYXNzIENvbmZpcm1EaWFsb2dDb250ZXh0IHtcclxuICAvKiogSWQgdG8gZGlzdGluZ3Vpc2ggYmV0d2VlbiBjb25maXJtIGNvbXBvbmVudCBjb250ZXh0cyBlbWl0dGVkIGJ5IHRoZSBkaWFsb2cgc2VydmljZSAqL1xyXG4gIHB1YmxpYyBpZDogc3RyaW5nID0gJyc7XHJcblxyXG4gIC8qKiBPcHRpb25hbCB0aXRsZSBvZiB0aGUgY29uZmlybSAqL1xyXG4gIHB1YmxpYyB0aXRsZT86IHN0cmluZztcclxuXHJcbiAgLyoqIE9wdGlvbmFsIG1lc3NhZ2UgKi9cclxuICBwdWJsaWMgbWVzc2FnZT86IHN0cmluZztcclxuXHJcbiAgLyoqXHJcbiAgICogT3B0aW9uYWwgdGV4dGJveCB0eXBlLCB0aGlzIHdpbGwgZGV0ZXJtaW5lIHdoZXRoZXJcclxuICAgKiBhbiBpbnB1dCBpcyB2aXNpYmxlIG9yIG5vdFxyXG4gICAqL1xyXG4gIHB1YmxpYyB0ZXh0Ym94VHlwZT86IFRleHRib3hUeXBlO1xyXG5cclxuICAvKiogT3B0aW9uYWwgdGV4dGJveCBsYWJlbCAqL1xyXG4gIHB1YmxpYyB0ZXh0Ym94TGFiZWw/OiBzdHJpbmc7XHJcblxyXG4gIC8qKlxyXG4gICAqIE9wdGlvbmFsIHJlcXVpcmVkIGZsYWcgZm9yIHRoZSB0ZXh0Ym94LCB3aWxsIHNldFxyXG4gICAqIGEgdmFsaWRhdG9yIG9uIHRoZSBpbnB1dCBpZiB0cnVlXHJcbiAgICovXHJcbiAgcHVibGljIHRleHRib3hSZXF1aXJlZD86IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgLyoqIE9wdGlvbmFsIGFycmF5IG9mIHZhbGlkYXRvcnMgdG8gYWRkIHRvIHRoZSB0ZXh0Ym94IGZvcm0gY29udHJvbC4gKi9cclxuICBwdWJsaWMgdGV4dGJveFZhbGlkYXRvcnM/OiBWYWxpZGF0b3JGbltdO1xyXG5cclxuICAvKiogU2V0cyB0aGUgdGV4dGJveCdzIHVwcGVyY2FzZSBwYXJhbWV0ZXIgKi9cclxuICBwdWJsaWMgdGV4dGJveFVwcGVyY2FzZT86IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgLyoqXHJcbiAgICogT3B0aW9uYWwgdGV4dGJveCBoZWlnaHQgKGluIHJvd3MpLlxyXG4gICAqIE9ubHkgYXBwbGllcyB0byBtdWx0aS1saW5lIHR5cGUuXHJcbiAgICogRGVmYXVsdCAzLlxyXG4gICAqL1xyXG4gIHB1YmxpYyB0ZXh0YXJlYVJvd3M/OiBudW1iZXIgPSAzO1xyXG5cclxuICAvKiogT3B0aW9uYWwgdGV4dGJveCBwbGFjZWhvbGRlciB0ZXh0ICovXHJcbiAgcHVibGljIHRleHRib3hQbGFjZWhvbGRlcj86IHN0cmluZztcclxuXHJcbiAgLyoqIE9wdGlvbmFsIGVycm9yIG1lc3NhZ2UgdG8gZGlzcGxheSB3aGVuIHRleHRib3ggKi9cclxuICBwdWJsaWMgdmFsaWRhdGlvbkVycm9yTWVzc2FnZT86IHN0cmluZztcclxuXHJcbiAgLyoqIFZhbHVlIHJldHVybmVkIGZyb20gdGhlIGlucHV0IGlmIGVuYWJsZWQgKi9cclxuICBwdWJsaWMgdGV4dGJveFZhbHVlPzogc3RyaW5nO1xyXG5cclxuICAvKiogT3B0aW9uYWwgc2F2ZSBidXR0b24gbGFiZWwgKi9cclxuICBwdWJsaWMgc2F2ZUxhYmVsPzogc3RyaW5nID0gJ1NhdmUnOyAvLyBMT0NPXHJcblxyXG4gIC8qKiBPcHRpb25hbCBzYXZlIGJ1dHRvbiB0eXBlICovXHJcbiAgcHVibGljIHNhdmVCdXR0b25UeXBlPzogQnV0dG9uVHlwZSA9ICdwcmltYXJ5JztcclxuXHJcbiAgLyoqIE9wdGlvbmFsIGNhbmNlbCBidXR0b24gbGFiZWwgKi9cclxuICBwdWJsaWMgY2FuY2VsTGFiZWw/OiBzdHJpbmcgPSAnQ2FuY2VsJzsgLy8gTE9DT1xyXG5cclxuICAvKiogV2hlbiB0cnVlLCBhZGRzIHRoZSBzdWJtaXQgdGFnIHRvIHRoZSBzYXZlIGJ1dHRvbiBzbyBoaXR0aW5nIGVudGVyIHRyaWdnZXJzIHRoZSBzYXZlICovXHJcbiAgcHVibGljIHNhdmVPbkVudGVyPzogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICAvKiogT3B0aW9uYWwgYWx0ZXJuYXRlIHNhdmUgYnV0dG9uIGxhYmVsICovXHJcbiAgcHVibGljIGFsdGVybmF0ZVNhdmVMYWJlbD86IHN0cmluZyA9IHVuZGVmaW5lZDtcclxuXHJcbiAgLyoqIE9wdGlvbmFsIGFsdGVybmF0ZSBzYXZlIGJ1dHRvbiB0eXBlICovXHJcbiAgcHVibGljIGFsdGVybmF0ZVNhdmVCdXR0b25UeXBlPzogQnV0dG9uVHlwZSA9IHVuZGVmaW5lZDtcclxuXHJcbiAgLyoqXHJcbiAgICogVXNlZCB0byBrbm93IHdoaWNoIHNhdmUgYnV0dG9uIHdhcyBzZWxlY3RlZCBpbiBjYXNlIHRoZSBjYWxsaW5nIGNvbXBvbmVudFxyXG4gICAqIGlzIHV0aWxpemluZyB0aGUgYWx0ZXJuYXRlIHNhdmUgYnV0dG9uXHJcbiAgICovXHJcbiAgcHVibGljIHNhdmVTb3VyY2U/OiBTYXZlU291cmNlID0gJ3ByaW1hcnknO1xyXG5cclxuICAvKipcclxuICAgKiBXaGVuIHByb3ZpZGVkLCB0aGUgY29uZmlybSB3aWxsIHNob3cgYSBwZW5kaW5nIHN0YXRlIGFuZCBjYWxsIHRoaXMsIHRoZW4gdXBvblxyXG4gICAqIGNvbXBsZXRpb24gZGlzcGxheSB0aGUgcmVzdWx0IG1lc3NhZ2UgYW5kIGEgY2xvc2UgYnV0dG9uLiBJZiB0aGUgcHJvbWlzZSBpcyByZXNvbHZlZFxyXG4gICAqIHN1Y2Nlc3NmdWxseSwgdGhlIGNsb3NlIGJ1dHRvbiB3aWxsIGVtaXQgb25EaWFsb2dTYXZlLiBJZiB0aGUgcHJvbWlzZSBpcyByZWplY3RlZCxcclxuICAgKiB0aGUgY2xvc2UgYnV0dG9uIHdpbGwgZW1pdCBvbkRpYWxvZ0NhbmNlbC5cclxuICAgKi9cclxuICBwdWJsaWMgaW5saW5lQ29uZmlybUFjdGlvbj86ICgpID0+IFByb21pc2U8Q3VzdG9tQWN0aW9uUmVzdWx0PjtcclxuXHJcbiAgLyoqIFRoZSBtZXNzYWdlIHRvIGJlIGRpc3BsYXllZCB3aGlsZSBpbmxpbmVDb25maXJtQWN0aW9uIGlzIHBlbmRpbmcuICovXHJcbiAgcHVibGljIGlubGluZUNvbmZpcm1QZW5kaW5nTWVzc2FnZT86IHN0cmluZyA9ICcnO1xyXG59XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2VjLWNvbmZpcm0nLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9jb25maXJtLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9jb25maXJtLmNvbXBvbmVudC5zY3NzJ11cclxufSlcclxuZXhwb3J0IGNsYXNzIENvbmZpcm1Db21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIERpYWxvZ0NvbnRlbnQ8Q29uZmlybURpYWxvZ0NvbnRleHQ+e1xyXG5cclxuICBwdWJsaWMgZGlhbG9nSWQ6IHN0cmluZyA9ICdDb25maXJtJztcclxuXHJcbiAgLyoqIEZvcm0gR3JvdXAgdG8gaG9sZCBhbnkgZm9ybSBjb250cm9scyBuZWVkZWQgKi9cclxuICBwdWJsaWMgZm9ybUdyb3VwOiBVbnR5cGVkRm9ybUdyb3VwID0gbmV3IFVudHlwZWRGb3JtR3JvdXAoe30pO1xyXG5cclxuICBwdWJsaWMgc3RhdHVzID0gbmV3IE92ZXJsYXkoJ2hhc0RhdGEnKTtcclxuXHJcbiAgLyoqXHJcbiAgICogUHJvdmlkZWQgYnkgdGhlIGNhbGxpbmcgY29tcG9uZW50IHRvIHRlbGwgdGhlIGNvbmZpcm0gd2hhdCB0byBzaG93XHJcbiAgICogYW5kIGlzIHVzZWQgb24gc2F2ZSB0byBzZW5kIGJhY2sgYW55IGVudGVyZWQgdmFsdWVzIGZyb20gdGhlIHVzZXJcclxuICAgKi9cclxuICBASW5wdXQoKSBwdWJsaWMgY29udGV4dCE6IENvbmZpcm1EaWFsb2dDb250ZXh0O1xyXG5cclxuICBAT3V0cHV0KCkgcHVibGljIG9uRGlhbG9nU2F2ZTogRXZlbnRFbWl0dGVyPENvbmZpcm1EaWFsb2dDb250ZXh0PiA9IG5ldyBFdmVudEVtaXR0ZXI8Q29uZmlybURpYWxvZ0NvbnRleHQ+KCk7XHJcbiAgQE91dHB1dCgpIHB1YmxpYyBvbkRpYWxvZ0NhbmNlbDogRXZlbnRFbWl0dGVyPHZvaWQ+ID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xyXG5cclxuICBwdWJsaWMgb25PcGVuKG9wZW5Db250ZXh0PzogQ29uZmlybURpYWxvZ0NvbnRleHQpOiB2b2lkIHtcclxuICAgIHRoaXMuY29udGV4dCA9IG9wZW5Db250ZXh0ITtcclxuICAgIHRoaXMuZGlhbG9nSWQgPSBvcGVuQ29udGV4dCEuaWQ7XHJcblxyXG4gICAgaWYgKHRoaXMuY29udGV4dC5hbHRlcm5hdGVTYXZlTGFiZWwpIHtcclxuICAgICAgdGhpcy5jb250ZXh0LnNhdmVPbkVudGVyID0gZmFsc2U7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvKiogRXJyb3IgdG8gYmUgZGlzcGxheWVkIGluIHRoZSBlcnJvciBiYW5uZXIgKi9cclxuICBwdWJsaWMgZXJyb3I/OiBzdHJpbmc7XHJcblxyXG4gIGNvbnN0cnVjdG9yKCkgeyB9XHJcblxyXG4gIHB1YmxpYyBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIHRoaXMuYWRkRm9ybUNvbnRyb2xzKCk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgb25TYXZlKHNvdXJjZTogU2F2ZVNvdXJjZSk6IHZvaWQge1xyXG4gICAgdGhpcy5mb3JtR3JvdXAubWFya0FsbEFzVG91Y2hlZCgpO1xyXG5cclxuICAgIGlmICh0aGlzLmZvcm1Hcm91cC52YWxpZCkge1xyXG4gICAgICBsZXQgZm9ybVZhbHVlcyA9IHRoaXMuZm9ybUdyb3VwLmdldFJhd1ZhbHVlKCk7XHJcbiAgICAgIGlmIChmb3JtVmFsdWVzLnRleHRib3gpIHtcclxuICAgICAgICB0aGlzLmNvbnRleHQudGV4dGJveFZhbHVlID0gZm9ybVZhbHVlcy50ZXh0Ym94O1xyXG4gICAgICB9XHJcblxyXG4gICAgICB0aGlzLmNvbnRleHQuc2F2ZVNvdXJjZSA9IHNvdXJjZTtcclxuXHJcbiAgICAgIGlmICh0aGlzLmNvbnRleHQuaW5saW5lQ29uZmlybUFjdGlvbikge1xyXG4gICAgICAgIHRoaXMuZG9JbmxpbmVDb25maXJtQWN0aW9uKCk7XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgdGhpcy5vbkRpYWxvZ1NhdmUuZW1pdCh0aGlzLmNvbnRleHQpO1xyXG4gICAgICB9XHJcbiAgICB9IGVsc2UgaWYgKHRoaXMuY29udGV4dC52YWxpZGF0aW9uRXJyb3JNZXNzYWdlKSB7XHJcbiAgICAgIHRoaXMuZXJyb3IgPSB0aGlzLmNvbnRleHQudmFsaWRhdGlvbkVycm9yTWVzc2FnZTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHB1YmxpYyBvbkNhbmNlbCgpOiB2b2lkIHtcclxuICAgIHRoaXMub25EaWFsb2dDYW5jZWwuZW1pdCgpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogQWRkcyB0aGUgdGV4dGJveCBmb3JtIGNvbnRyb2wgdG8gb3VyIGZvcm0gZ3JvdXAgaWYgaXRzIGNvbmZpZ3VyZWQgdG8gYmUgdmlzaWJsZVxyXG4gICAqIFdpbGwgYWxzbyBhZGQgdGhlIHJlcXVpcmVkIHZhbGlkYXRvciBpZiByZXF1ZXN0ZWRcclxuICAgKi9cclxuICBwcml2YXRlIGFkZEZvcm1Db250cm9scygpOiB2b2lkIHtcclxuICAgIGlmICh0aGlzLmNvbnRleHQudGV4dGJveFR5cGUpIHtcclxuICAgICAgbGV0IHZhbGlkYXRvcnM6IFZhbGlkYXRvckZuW10gPSBbXTtcclxuICAgICAgaWYgKHRoaXMuY29udGV4dC50ZXh0Ym94UmVxdWlyZWQpIHtcclxuICAgICAgICB2YWxpZGF0b3JzLnB1c2goVmFsaWRhdG9ycy5yZXF1aXJlZCk7XHJcbiAgICAgIH1cclxuICAgICAgaWYgKHRoaXMuY29udGV4dC50ZXh0Ym94VmFsaWRhdG9ycykge1xyXG4gICAgICAgIHZhbGlkYXRvcnMucHVzaCguLi50aGlzLmNvbnRleHQudGV4dGJveFZhbGlkYXRvcnMpO1xyXG4gICAgICB9XHJcbiAgICAgIHRoaXMuZm9ybUdyb3VwLmFkZENvbnRyb2woJ3RleHRib3gnLCBuZXcgVW50eXBlZEZvcm1Db250cm9sKCcnLCB2YWxpZGF0b3JzKSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGFzeW5jIGRvSW5saW5lQ29uZmlybUFjdGlvbigpIHtcclxuICAgIHRoaXMuc3RhdHVzLnNldFN0YXR1cygncGVuZGluZycsIHRoaXMuY29udGV4dC5pbmxpbmVDb25maXJtUGVuZGluZ01lc3NhZ2UpO1xyXG5cclxuICAgIGxldCByZXN1bHQgPSBhd2FpdCB0aGlzLmNvbnRleHQuaW5saW5lQ29uZmlybUFjdGlvbiEoKTtcclxuXHJcbiAgICB0aGlzLnN0YXR1cy5zZXRTdGF0dXMoJ25vRGF0YScsIHJlc3VsdC5tZXNzYWdlLCB7XHJcbiAgICAgIGlkOiAnaW5saW5lQ29uZmlybUNsb3NlJyxcclxuICAgICAgbGFiZWw6ICdDbG9zZScsXHJcbiAgICAgIGljb246IHJlc3VsdC5pc1N1Y2Nlc3MgPyAnaWNvbi1jaGVjay1jaXJjbGUnIDogJ2ljb24tZXJyb3InLFxyXG4gICAgICBjbGFzc2xpc3Q6IHJlc3VsdC5pc1N1Y2Nlc3MgPyAnZm9udC1jb2xvci1zdWNjZXNzJyA6ICdmb250LWNvbG9yLWVycm9yJyxcclxuICAgICAgb25DbGljazogKCkgPT4geyByZXN1bHQuaXNTdWNjZXNzID8gdGhpcy5vbkRpYWxvZ1NhdmUuZW1pdCh0aGlzLmNvbnRleHQpIDogdGhpcy5vbkRpYWxvZ0NhbmNlbC5lbWl0KCkgfVxyXG4gICAgfSk7XHJcbiAgfVxyXG59XHJcbiIsIjxzZWN0aW9uIGVjT3ZlcmxheVxyXG4gICAgICAgICBbc3RhdHVzXT1cInN0YXR1cz8uc3RhdHVzXCJcclxuICAgICAgICAgW21lc3NhZ2VdPVwic3RhdHVzPy5tZXNzYWdlXCJcclxuICAgICAgICAgW2FjdGlvbl09XCJzdGF0dXM/LmFjdGlvblwiXHJcbiAgICAgICAgIFtub0RhdGFUZW1wbGF0ZV09XCJpbmxpbmVDb25maXJtUmVzdWx0XCJcclxuICAgICAgICAgb3ZlcmxheUNsYXNzTGlzdD1cInAtMFwiXHJcbiAgICAgICAgIGNsYXNzPVwiYmctYm9keSBmbGV4LWdyb3cgZC1mbGV4XCI+XHJcbiAgPGZvcm0gW2Zvcm1Hcm91cF09XCJmb3JtR3JvdXBcIiBjbGFzcz1cImZsZXgtZ3JvdyBmbGV4LWNvbHVtbiBjb25maXJtLWNvbnRlbnQgdGV4dC1ib2R5LTFcIj5cclxuICAgIDxzZWN0aW9uIGNsYXNzPVwiZmxleC1ncm93XCI+XHJcbiAgICAgIDxoMiBjbGFzcz1cImZvbnQtd2VpZ2h0LWJvbGQgbWItM1wiICpuZ0lmPVwiY29udGV4dD8udGl0bGVcIj57e2NvbnRleHQ/LnRpdGxlfX08L2gyPlxyXG4gICAgICA8ZWMtYmFubmVyICpuZ0lmPVwiZXJyb3JcIiBbdGV4dF09XCJlcnJvciB8IHRyYW5zbGF0ZVwiIGJhbm5lclN0eWxlPVwibm9ybWFsXCIgY2xhc3M9XCJtYi0zXCI+PC9lYy1iYW5uZXI+XHJcbiAgICAgIDxkaXYgKm5nSWY9XCJjb250ZXh0Py5tZXNzYWdlXCIgW2lubmVySHRtbF09XCJjb250ZXh0Py5tZXNzYWdlIHwgdHJhbnNsYXRlXCIgY2xhc3M9XCJtYi0zXCI+PC9kaXY+XHJcbiAgICAgIDxlYy10ZXh0Ym94IGlkPVwiY29uZmlybVRleHRib3hcIlxyXG4gICAgICAgICAgICAgICAgICAqbmdJZj1cImNvbnRleHQ/LnRleHRib3hUeXBlXCJcclxuICAgICAgICAgICAgICAgICAgW2F1dG9mb2N1c109XCJ0cnVlXCJcclxuICAgICAgICAgICAgICAgICAgW2Zvcm1Nb2RlbF09XCJmb3JtR3JvdXAuZ2V0KCd0ZXh0Ym94JylcIlxyXG4gICAgICAgICAgICAgICAgICBbcmVxdWlyZWRdPVwiY29udGV4dD8udGV4dGJveFJlcXVpcmVkXCJcclxuICAgICAgICAgICAgICAgICAgW2xhYmVsXT1cImNvbnRleHQ/LnRleHRib3hMYWJlbFwiXHJcbiAgICAgICAgICAgICAgICAgIFt0eXBlXT1cImNvbnRleHQ/LnRleHRib3hUeXBlXCJcclxuICAgICAgICAgICAgICAgICAgW3Jvd3NdPVwiY29udGV4dD8udGV4dGFyZWFSb3dzXCJcclxuICAgICAgICAgICAgICAgICAgW3BsYWNlaG9sZGVyXT1cImNvbnRleHQ/LnRleHRib3hQbGFjZWhvbGRlclwiXHJcbiAgICAgICAgICAgICAgICAgIFt1cHBlckNhc2VdPVwiY29udGV4dD8udGV4dGJveFVwcGVyY2FzZVwiPlxyXG4gICAgICA8L2VjLXRleHRib3g+XHJcbiAgICA8L3NlY3Rpb24+XHJcbiAgICA8Zm9vdGVyIGNsYXNzPVwibXQtYXV0byBmbGV4LXNocmluayBkLWZsZXggcHktMiBmbGV4LXJvdy1yZXZlcnNlXCI+XHJcbiAgICAgIDxlYy1idXR0b24gaWQ9XCJzYXZlQ29uZmlybUJ1dHRvblwiXHJcbiAgICAgICAgICAgICAgICAgIGNsYXNzPVwibWwtMlwiXHJcbiAgICAgICAgICAgICAgICAgIFt0eXBlXT1cImNvbnRleHQ/LnNhdmVCdXR0b25UeXBlID8gY29udGV4dD8uc2F2ZUJ1dHRvblR5cGUgOiAncHJpbWFyeSdcIlxyXG4gICAgICAgICAgICAgICAgICBbbGFiZWxdPVwiY29udGV4dD8uc2F2ZUxhYmVsID8gY29udGV4dD8uc2F2ZUxhYmVsIDogJ1NhdmUnXCJcclxuICAgICAgICAgICAgICAgICAgW2F1dG9mb2N1c109XCIhY29udGV4dD8udGV4dGJveFR5cGVcIlxyXG4gICAgICAgICAgICAgICAgICBbaXNTdWJtaXRdPVwiY29udGV4dD8uc2F2ZU9uRW50ZXJcIlxyXG4gICAgICAgICAgICAgICAgICAoY2xpY2tlZCk9XCJvblNhdmUoJ3ByaW1hcnknKVwiPlxyXG4gICAgICA8L2VjLWJ1dHRvbj5cclxuICAgICAgPGVjLWJ1dHRvbiBpZD1cImFsdGVybmF0ZVNhdmVDb25maXJtQnV0dG9uXCJcclxuICAgICAgICAgICAgICAgICAgKm5nSWY9XCJjb250ZXh0Py5hbHRlcm5hdGVTYXZlTGFiZWxcIlxyXG4gICAgICAgICAgICAgICAgICBjbGFzcz1cIm1sLTJcIlxyXG4gICAgICAgICAgICAgICAgICBbdHlwZV09XCJjb250ZXh0Py5hbHRlcm5hdGVTYXZlQnV0dG9uVHlwZSA/IGNvbnRleHQ/LmFsdGVybmF0ZVNhdmVCdXR0b25UeXBlIDogJ3ByaW1hcnknXCJcclxuICAgICAgICAgICAgICAgICAgW2xhYmVsXT1cImNvbnRleHQ/LmFsdGVybmF0ZVNhdmVMYWJlbFwiXHJcbiAgICAgICAgICAgICAgICAgIChjbGlja2VkKT1cIm9uU2F2ZSgnYWx0ZXJuYXRlJylcIj5cclxuICAgICAgPC9lYy1idXR0b24+XHJcbiAgICAgIDxlYy1idXR0b24gaWQ9XCJjYW5jZWxDb25maXJtQnV0dG9uXCJcclxuICAgICAgICAgICAgICAgICAgY2xhc3M9XCJtbC1hdXRvXCJcclxuICAgICAgICAgICAgICAgICAgdHlwZT1cInNlY29uZGFyeVwiXHJcbiAgICAgICAgICAgICAgICAgIFtsYWJlbF09XCJjb250ZXh0Py5jYW5jZWxMYWJlbCA/IGNvbnRleHQ/LmNhbmNlbExhYmVsIDogJ0NhbmNlbCdcIlxyXG4gICAgICAgICAgICAgICAgICAoY2xpY2tlZCk9XCJvbkNhbmNlbCgpXCI+XHJcbiAgICAgIDwvZWMtYnV0dG9uPlxyXG4gICAgPC9mb290ZXI+XHJcbiAgPC9mb3JtPlxyXG48L3NlY3Rpb24+XHJcblxyXG48bmctdGVtcGxhdGUgI2lubGluZUNvbmZpcm1SZXN1bHQ+XHJcbiAgPHNlY3Rpb24gY2xhc3M9XCJmbGV4LWdyb3cgYWxpZ24tc2VsZi1zdHJldGNoIGNvbmZpcm0tY29udGVudCB0ZXh0LWJvZHktMVwiPlxyXG4gICAgPGRpdiBjbGFzcz1cImQtZmxleFwiPlxyXG4gICAgICA8aSBjbGFzcz1cImVjLWljb24ge3tzdGF0dXM/LmFjdGlvbj8uaWNvbn19IHt7c3RhdHVzPy5hY3Rpb24/LmNsYXNzbGlzdH19IGlubGluZS1jb25maXJtLXJlc3VsdC1pY29uXCI+PC9pPlxyXG4gICAgICA8ZGl2IFtpbm5lckhUTUxdPVwic3RhdHVzPy5tZXNzYWdlIHwgdHJhbnNsYXRlXCI+PC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuICAgIDxkaXYgY2xhc3M9XCJkLWZsZXggcHQtMiBtdC1hdXRvXCI+XHJcbiAgICAgIDxlYy1idXR0b24gaWQ9XCJpbmxpbmVDb25maXJtQ2xvc2VcIlxyXG4gICAgICAgICAgICAgICAgIGxhYmVsPVwiQ2xvc2VcIlxyXG4gICAgICAgICAgICAgICAgIHR5cGU9XCJzZWNvbmRhcnlcIlxyXG4gICAgICAgICAgICAgICAgIGNsYXNzPVwibWwtYXV0b1wiXHJcbiAgICAgICAgICAgICAgICAgKGNsaWNrZWQpPVwic3RhdHVzPy5hY3Rpb24/Lm9uQ2xpY2shKClcIlxyXG4gICAgICAgICAgICAgICAgIFthdXRvZm9jdXNdPVwidHJ1ZVwiPlxyXG4gICAgICA8L2VjLWJ1dHRvbj5cclxuICAgIDwvZGl2PlxyXG4gIDwvc2VjdGlvbj5cclxuPC9uZy10ZW1wbGF0ZT4iXX0=