barsa-sap-ui 0.0.6 → 1.0.248

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 (197) hide show
  1. package/esm2020/lib/apply-conditional-formmatings.directive.mjs +1 -1
  2. package/esm2020/lib/barsa-asp-viewer/barsa-asp-viewer.component.mjs +2 -2
  3. package/esm2020/lib/barsa-date-time-picker/barsa-date-time-picker.component.mjs +1 -1
  4. package/esm2020/lib/barsa-list-file-linear/barsa-list-file-linear.component.mjs +4 -4
  5. package/esm2020/lib/barsa-monaco-editor/barsa-monaco-editor.component.mjs +14 -14
  6. package/esm2020/lib/barsa-network-offline/barsa-network-offline.component.mjs +20 -12
  7. package/esm2020/lib/barsa-sap-ui-routing.module.mjs +1 -1
  8. package/esm2020/lib/barsa-sap-ui.module.mjs +25 -16
  9. package/esm2020/lib/barsa-search-form/barsa-search-form.component.mjs +3 -3
  10. package/esm2020/lib/barsa-table-header/barsa-table-header.component.mjs +4 -4
  11. package/esm2020/lib/barsa-table-row/barsa-table-row.component.mjs +3 -3
  12. package/esm2020/lib/barsa-tinyemce/barsa-tinyemce.component.mjs +6 -6
  13. package/esm2020/lib/barsa-tree-item/barsa-tree-item.component.mjs +23 -12
  14. package/esm2020/lib/barsa-ulv-main/barsa-ulv-main.component.mjs +8 -7
  15. package/esm2020/lib/blob-viewer/blob-viewer.component.mjs +60 -0
  16. package/esm2020/lib/breadcrumb/breadcrumb.component.mjs +3 -3
  17. package/esm2020/lib/captcha-field/captcha-field.component.mjs +1 -1
  18. package/esm2020/lib/card-item/card-item.component.mjs +4 -4
  19. package/esm2020/lib/card-view-content/card-view-content.component.mjs +3 -3
  20. package/esm2020/lib/column-matrix-renderer/column-matrix-renderer.component.mjs +3 -3
  21. package/esm2020/lib/column-matrix-renderer/matrix-value.pipe.mjs +1 -1
  22. package/esm2020/lib/column-renderer/column-renderer.component.mjs +6 -5
  23. package/esm2020/lib/constants.mjs +1 -1
  24. package/esm2020/lib/custom-date-time/custom-date-time.component.mjs +1 -1
  25. package/esm2020/lib/device-info-field-base.mjs +1 -1
  26. package/esm2020/lib/download-files.directive.mjs +33 -0
  27. package/esm2020/lib/empty-page/empty-page.component.mjs +3 -3
  28. package/esm2020/lib/file-in-dialog/file-in-dialog.component.mjs +1 -1
  29. package/esm2020/lib/file-viewer/file-viewer.component.mjs +47 -0
  30. package/esm2020/lib/file-viewer-content/file-viewer-content.component.mjs +49 -0
  31. package/esm2020/lib/file-viewer-popover/file-viewer-popover.component.mjs +34 -0
  32. package/esm2020/lib/form-dialog/form-dialog.component.mjs +3 -3
  33. package/esm2020/lib/form-dialog-less/form-dialog-less.component.mjs +1 -1
  34. package/esm2020/lib/form-page/form-page.component.mjs +17 -17
  35. package/esm2020/lib/form-page-base.mjs +1 -1
  36. package/esm2020/lib/form-toolbar-button/form-toolbar-button.component.mjs +3 -3
  37. package/esm2020/lib/form-wizard/form-wizard.component.mjs +3 -3
  38. package/esm2020/lib/fullscreen-dialog.directive.mjs +1 -1
  39. package/esm2020/lib/fullscreen-files.directive.mjs +39 -0
  40. package/esm2020/lib/fundamental-dynamic-form/fundamental-dynamic-form.component.mjs +3 -3
  41. package/esm2020/lib/gantt-dhtml-chart-view/gantt-dhtml-chart-view.component.mjs +1 -1
  42. package/esm2020/lib/global-search/global-search.component.mjs +1 -1
  43. package/esm2020/lib/global-search-module/global-search-module.component.mjs +1 -1
  44. package/esm2020/lib/global-search-panel/global-search-panel.component.mjs +1 -1
  45. package/esm2020/lib/header-avatar/header-avatar.component.mjs +1 -1
  46. package/esm2020/lib/header-facet-form/header-facet-form.component.mjs +1 -1
  47. package/esm2020/lib/header-facet-key-value/header-facet-key-value.component.mjs +1 -1
  48. package/esm2020/lib/header-facet-microchart/header-facet-microchart.component.mjs +3 -3
  49. package/esm2020/lib/header-facet-plain-text/header-facet-plain-text.component.mjs +3 -3
  50. package/esm2020/lib/header-facet-rate/header-facet-rate.component.mjs +1 -1
  51. package/esm2020/lib/hyperlink/hyperlink.component.mjs +1 -1
  52. package/esm2020/lib/index.mjs +18 -3
  53. package/esm2020/lib/inline-save-and-cancel/inline-save-and-cancel.component.mjs +1 -1
  54. package/esm2020/lib/layout-actions/layout-actions.component.mjs +1 -1
  55. package/esm2020/lib/layout-control/layout-control.component.mjs +4 -4
  56. package/esm2020/lib/layout-wizard/layout-wizard.component.mjs +25 -3
  57. package/esm2020/lib/list-item/list-item.component.mjs +3 -3
  58. package/esm2020/lib/ly-empty-space/ly-empty-space.component.mjs +5 -7
  59. package/esm2020/lib/ly-horizontal-layout/ly-horizontal-layout.component.mjs +8 -7
  60. package/esm2020/lib/ly-layout-container/ly-layout-container.component.mjs +3 -3
  61. package/esm2020/lib/ly-layout-container-of-root/ly-layout-container-of-root.component.mjs +3 -3
  62. package/esm2020/lib/ly-layout-field-label/ly-layout-field-label.component.mjs +1 -1
  63. package/esm2020/lib/ly-layout-panel/ly-layout-panel.component.mjs +9 -3
  64. package/esm2020/lib/ly-line/ly-line.component.mjs +1 -1
  65. package/esm2020/lib/ly-simple-label/ly-simple-label.component.mjs +6 -10
  66. package/esm2020/lib/ly-tab-container/ly-tab-container.component.mjs +7 -3
  67. package/esm2020/lib/ly-tab-page/ly-tab-page.component.mjs +3 -3
  68. package/esm2020/lib/ly-vertical-layout/ly-vertical-layout.component.mjs +8 -7
  69. package/esm2020/lib/mask/mask.component.mjs +3 -3
  70. package/esm2020/lib/message-strip/message-strip.component.mjs +1 -1
  71. package/esm2020/lib/models/grid-data-provider.mjs +2 -2
  72. package/esm2020/lib/models/grid-view.mjs +1 -1
  73. package/esm2020/lib/no-data/no-data.component.mjs +3 -3
  74. package/esm2020/lib/page-with-form-handler-base.mjs +1 -1
  75. package/esm2020/lib/page-with-header/page-with-header.component.mjs +1 -1
  76. package/esm2020/lib/progress-indicator/progress-indicator.component.mjs +1 -1
  77. package/esm2020/lib/report-navigator/report-navigator.component.mjs +3 -3
  78. package/esm2020/lib/report-new-top-form/report-new-top-form.component.mjs +3 -3
  79. package/esm2020/lib/report-search-fields-hidden-settings/report-search-fields-hidden-settings.component.mjs +3 -3
  80. package/esm2020/lib/report-search-fields-manage/report-search-fields-manage.component.mjs +3 -3
  81. package/esm2020/lib/report-tree-base.mjs +4 -1
  82. package/esm2020/lib/report-view-renderer.directive.mjs +32 -2
  83. package/esm2020/lib/responsive-toolbar/responsive-toolbar.component.mjs +1 -1
  84. package/esm2020/lib/responsive-toolbar-renderer/responsive-toolbar-renderer.component.mjs +1 -1
  85. package/esm2020/lib/rich-text-static/rich-text-static.component.mjs +1 -1
  86. package/esm2020/lib/sap-ui-report-base.component.mjs +87 -64
  87. package/esm2020/lib/search-panel/search-panel.component.mjs +1 -1
  88. package/esm2020/lib/static-text/static-text.component.mjs +3 -3
  89. package/esm2020/lib/ui-asp-report-viewer/ui-asp-report-viewer.component.mjs +3 -3
  90. package/esm2020/lib/ui-button/ui-button.component.mjs +3 -3
  91. package/esm2020/lib/ui-calendar/ui-calendar.component.mjs +3 -3
  92. package/esm2020/lib/ui-card-view/ui-card-view.component.mjs +3 -3
  93. package/esm2020/lib/ui-check-box/ui-check-box.component.mjs +3 -3
  94. package/esm2020/lib/ui-color-ui/ui-color-ui.component.mjs +1 -1
  95. package/esm2020/lib/ui-container-with-button/ui-container-with-button.component.mjs +3 -3
  96. package/esm2020/lib/ui-date-range-ex/ui-date-range-ex.component.mjs +3 -3
  97. package/esm2020/lib/ui-date-time/ui-date-time.component.mjs +3 -3
  98. package/esm2020/lib/ui-editable-grid/ui-editable-grid.component.mjs +3 -3
  99. package/esm2020/lib/ui-exception-form/ui-exception-form.component.mjs +1 -1
  100. package/esm2020/lib/ui-file-linear-list-box/ui-file-linear-list-box.component.mjs +29 -90
  101. package/esm2020/lib/ui-form-panel/ui-form-panel.component.mjs +3 -3
  102. package/esm2020/lib/ui-gantt-chart/ui-gantt-chart.component.mjs +3 -3
  103. package/esm2020/lib/ui-graph/ui-graph.component.mjs +1 -1
  104. package/esm2020/lib/ui-grid/ui-grid.component.mjs +3 -3
  105. package/esm2020/lib/ui-grid-columns/ui-grid-columns.component.mjs +3 -3
  106. package/esm2020/lib/ui-grid-filter-item/ui-grid-filter-item.component.mjs +1 -1
  107. package/esm2020/lib/ui-grid-filter-settings/ui-grid-filter-settings.component.mjs +1 -1
  108. package/esm2020/lib/ui-grid-sort-item/ui-grid-sort-item.component.mjs +1 -1
  109. package/esm2020/lib/ui-grid-sort-setting/ui-grid-sort-setting.component.mjs +1 -1
  110. package/esm2020/lib/ui-info-bar-panel/ui-info-bar-panel.component.mjs +1 -1
  111. package/esm2020/lib/ui-label/ui-label.component.mjs +3 -3
  112. package/esm2020/lib/ui-linear-list-container-with-button/ui-linear-list-container-with-button.component.mjs +2 -2
  113. package/esm2020/lib/ui-list-view/ui-list-view.component.mjs +4 -3
  114. package/esm2020/lib/ui-matrix-view/ui-matrix-view.component.mjs +3 -3
  115. package/esm2020/lib/ui-mo-info-combo-viewer/ui-mo-info-combo-viewer.component.mjs +3 -3
  116. package/esm2020/lib/ui-mo-info-general-object-ui/ui-mo-info-general-object-ui.component.mjs +1 -1
  117. package/esm2020/lib/ui-mo-info-sub-form-ui/ui-mo-info-sub-form-ui.component.mjs +3 -3
  118. package/esm2020/lib/ui-mo-info-ulv-combo/ui-mo-info-ulv-combo.component.mjs +19 -14
  119. package/esm2020/lib/ui-monaco-editor/ui-monaco-editor.component.mjs +3 -3
  120. package/esm2020/lib/ui-multi-select-combo/ui-multi-select-combo.component.mjs +26 -9
  121. package/esm2020/lib/ui-num-decimal-ui/ui-num-decimal-ui.component.mjs +1 -1
  122. package/esm2020/lib/ui-num-int-ui/ui-num-int-ui.component.mjs +3 -3
  123. package/esm2020/lib/ui-pdf-viewer/ui-pdf-viewer.component.mjs +19 -20
  124. package/esm2020/lib/ui-picture-file/ui-picture-file.component.mjs +26 -30
  125. package/esm2020/lib/ui-pictures-info/ui-pictures-info.component.mjs +39 -31
  126. package/esm2020/lib/ui-radio-group/ui-radio-group.component.mjs +3 -3
  127. package/esm2020/lib/ui-read-only-field/ui-read-only-field.component.mjs +3 -3
  128. package/esm2020/lib/ui-report-container/ui-report-container.component.mjs +3 -3
  129. package/esm2020/lib/ui-search-command-info-ui/ui-search-command-info-ui.component.mjs +1 -1
  130. package/esm2020/lib/ui-simple-combo/ui-simple-combo.component.mjs +3 -3
  131. package/esm2020/lib/ui-single-picture/ui-single-picture.component.mjs +1 -1
  132. package/esm2020/lib/ui-switch-button/ui-switch-button.component.mjs +3 -3
  133. package/esm2020/lib/ui-table-view/ui-table-view.component.mjs +8 -3
  134. package/esm2020/lib/ui-text-area/ui-text-area.component.mjs +3 -3
  135. package/esm2020/lib/ui-text-field/ui-text-field.component.mjs +1 -1
  136. package/esm2020/lib/ui-text-field-auto-complete/ui-text-field-auto-complete.component.mjs +3 -3
  137. package/esm2020/lib/ui-time-span/ui-time-span.component.mjs +1 -1
  138. package/esm2020/lib/ui-tinymce/ui-tinymce.component.mjs +1 -1
  139. package/esm2020/lib/ui-tree/ui-tree.component.mjs +26 -3
  140. package/esm2020/lib/ui-tree-view/ui-tree-view.component.mjs +9 -3
  141. package/esm2020/lib/ui-ulv-form-multi-select-ui/ui-ulv-form-multi-select-ui.component.mjs +2 -2
  142. package/esm2020/lib/ui-ulv-main-ui/ui-ulv-main-ui.component.mjs +6 -3
  143. package/esm2020/lib/ui-workflow-panel-ui/ui-workflow-panel-ui.component.mjs +1 -1
  144. package/esm2020/lib/ul-loading-mask-ui/ul-loading-mask-ui.component.mjs +7 -2
  145. package/esm2020/lib/ul-msg-box-adapter/ul-msg-box-adapter.component.mjs +3 -3
  146. package/esm2020/lib/ul-notify-popup/ul-notify-popup.component.mjs +1 -1
  147. package/esm2020/lib/ul-toast-adapter/ul-toast-adapter.component.mjs +1 -1
  148. package/esm2020/lib/ulv-column-settings/ulv-column-settings.component.mjs +3 -3
  149. package/esm2020/lib/ulv-context-menu/ulv-context-menu.component.mjs +3 -3
  150. package/esm2020/lib/ulv-filter-settings/ulv-filter-settings.component.mjs +3 -3
  151. package/esm2020/lib/ulv-form-multi-select/ulv-form-multi-select.component.mjs +5 -5
  152. package/esm2020/lib/ulv-groupby-settings/ulv-groupby-settings.component.mjs +3 -3
  153. package/esm2020/lib/ulv-paging/ulv-paging.component.mjs +1 -1
  154. package/esm2020/lib/ulv-selection/ulv-selection.component.mjs +2 -2
  155. package/esm2020/lib/ulv-settings/ulv-settings.component.mjs +1 -1
  156. package/esm2020/lib/ulv-sort-settings/ulv-sort-settings.component.mjs +3 -3
  157. package/esm2020/lib/ulv-toolbar/ulv-toolbar.component.mjs +11 -5
  158. package/esm2020/lib/wizard-layout.directive.mjs +1 -1
  159. package/esm2020/public-api.mjs +7 -1
  160. package/fesm2015/barsa-sap-ui.mjs +888 -542
  161. package/fesm2015/barsa-sap-ui.mjs.map +1 -1
  162. package/fesm2020/barsa-sap-ui.mjs +879 -541
  163. package/fesm2020/barsa-sap-ui.mjs.map +1 -1
  164. package/lib/barsa-network-offline/barsa-network-offline.component.d.ts +3 -2
  165. package/lib/barsa-sap-ui.module.d.ts +31 -25
  166. package/lib/barsa-tree-item/barsa-tree-item.component.d.ts +7 -1
  167. package/lib/barsa-ulv-main/barsa-ulv-main.component.d.ts +3 -1
  168. package/lib/blob-viewer/blob-viewer.component.d.ts +20 -0
  169. package/lib/download-files.directive.d.ts +9 -0
  170. package/lib/file-viewer/file-viewer.component.d.ts +21 -0
  171. package/lib/file-viewer-content/file-viewer-content.component.d.ts +18 -0
  172. package/lib/file-viewer-popover/file-viewer-popover.component.d.ts +13 -0
  173. package/lib/fullscreen-files.directive.d.ts +15 -0
  174. package/lib/index.d.ts +8 -4
  175. package/lib/layout-control/layout-control.component.d.ts +5 -5
  176. package/lib/layout-wizard/layout-wizard.component.d.ts +1 -0
  177. package/lib/ly-empty-space/ly-empty-space.component.d.ts +1 -3
  178. package/lib/ly-horizontal-layout/ly-horizontal-layout.component.d.ts +4 -3
  179. package/lib/ly-simple-label/ly-simple-label.component.d.ts +1 -3
  180. package/lib/ly-tab-container/ly-tab-container.component.d.ts +3 -1
  181. package/lib/ly-vertical-layout/ly-vertical-layout.component.d.ts +4 -3
  182. package/lib/report-tree-base.d.ts +2 -1
  183. package/lib/report-view-renderer.directive.d.ts +10 -1
  184. package/lib/sap-ui-report-base.component.d.ts +13 -4
  185. package/lib/ui-file-linear-list-box/ui-file-linear-list-box.component.d.ts +15 -18
  186. package/lib/ui-multi-select-combo/ui-multi-select-combo.component.d.ts +9 -3
  187. package/lib/ui-pdf-viewer/ui-pdf-viewer.component.d.ts +5 -6
  188. package/lib/ui-picture-file/ui-picture-file.component.d.ts +4 -6
  189. package/lib/ui-pictures-info/ui-pictures-info.component.d.ts +8 -7
  190. package/lib/ui-table-view/ui-table-view.component.d.ts +1 -0
  191. package/lib/ui-tree/ui-tree.component.d.ts +5 -0
  192. package/lib/ui-tree-view/ui-tree-view.component.d.ts +7 -1
  193. package/lib/ui-ulv-main-ui/ui-ulv-main-ui.component.d.ts +2 -1
  194. package/lib/ul-loading-mask-ui/ul-loading-mask-ui.component.d.ts +2 -1
  195. package/lib/ulv-toolbar/ulv-toolbar.component.d.ts +4 -1
  196. package/package.json +3 -3
  197. package/public-api.d.ts +6 -0
@@ -171,7 +171,7 @@ UiDateRangeExComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0",
171
171
  useFactory: getDateService,
172
172
  deps: [LogService]
173
173
  }
174
- ], viewQueries: [{ propertyName: "dateRangePicker", first: true, predicate: ["dateRangePicker"], descendants: true }, { propertyName: "popover", first: true, predicate: ["popover"], descendants: true, static: true }, { propertyName: "alert", first: true, predicate: ["alert"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<ng-container *ngIf=\"value?.DateRangeType === 'SpecificRange'; else input\">\n <div class=\"input-container\">\n <ui5-daterange-picker\n id=\"mydaterange-picker1\"\n (mouseover)=\"onOpenPopover()\"\n (mouseleave)=\"popover.close()\"\n #dateRangePicker\n (change)=\"onDateRangeChange()\"\n format-pattern=\"yyyy/MM/dd\"\n [attr.readonly]=\"(readonly$ | async) === true ? true : null\"\n [attr.disabled]=\"(disable$ | async) === true ? true : null\"\n [primaryCalendarType]=\"Setting.CalendarType !== 'Gregorian' ? 'Persian' : Setting.CalendarType\"\n >\n </ui5-daterange-picker>\n <button\n class=\"btn-drop-down\"\n fd-button\n [fdType]=\"'standard'\"\n [glyph]=\"'slim-arrow-down'\"\n (click)=\"popover.open()\"\n ></button>\n </div>\n</ng-container>\n<ng-template #input>\n <!-- <input fd-form-control [(ngModel)]=\"valueStr\" [fd-inline-help]=\"valueStr\" [readOnly]=\"true\" /> -->\n\n <fd-input-group\n placement=\"after\"\n glyph=\"slim-arrow-down\"\n glyphAriaLabel=\"Select Date Range\"\n [button]=\"true\"\n [ngModel]=\"valueStr\"\n (addOnButtonClicked)=\"popover.open()\"\n >\n </fd-input-group>\n</ng-template>\n\n<!-- <button fd-button>\n <fd-select (valueChange)=\"onDateRangeTypeChange($event)\">\n <fd-option *ngFor=\"let option of dateRanges\" [value]=\"option\">{{ option | bbbTranslate }}</fd-option>\n </fd-select>\n</button> -->\n\n<fd-popover\n #popover\n style=\"display: block\"\n [fillControlMode]=\"'at-least'\"\n placement=\"bottom-start\"\n [(isOpen)]=\"isOpenPopover\"\n>\n <fd-popover-body>\n <ul fd-list>\n <li fd-list-item *ngFor=\"let option of dateRanges\" (click)=\"popover.close(); onDateRangeTypeChange(option)\">\n <a fd-list-link>\n <span fd-list-title>{{ option | bbbTranslate }}</span>\n </a>\n </li>\n </ul>\n </fd-popover-body>\n</fd-popover>\n", styles: [":host{display:block}:host input{border-top-left-radius:0;border-left:none;border-bottom-left-radius:0}:host .input-container{width:100%;display:flex;align-items:center}:host .input-container ui5-daterange-picker{padding:3px 0;min-width:2rem;width:100%;flex-grow:1}.btn-drop-down{border-right:none;border-top-right-radius:0;border-bottom-right-radius:0;background-color:var(--sapField_ReadOnly_Background);border-color:var(--sapField_ReadOnly_BorderColor)}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i3.ButtonComponent, selector: "button[fd-button], a[fd-button]", inputs: ["class"], exportAs: ["fd-button"] }, { kind: "component", type: i4.InputGroupComponent, selector: "fd-input-group", inputs: ["inputTemplate", "placement", "required", "inline", "placeholder", "addOnText", "buttonFocusable", "type", "glyph", "button", "disabled", "readonly", "state", "isControl", "showFocus", "isExpanded", "glyphAriaLabel", "iconTitle", "ariaLabelledby", "ariaLabelledBy"], outputs: ["addOnButtonClicked", "search"] }, { kind: "component", type: i5.ListComponent, selector: "[fd-list], [fdList]", inputs: ["dropdownMode", "multiInputMode", "mobileMode", "hasMessage", "noBorder", "navigationIndicator", "selection", "keyboardSupport", "byline"], outputs: ["focusEscapeList"] }, { kind: "component", type: i5.ListItemComponent, selector: "[fdListItem] ,[fd-list-item]", inputs: ["selected", "ariaDescribedBy", "noData", "action", "interactive", "growing", "counter", "unread", "selectedListItemScreenReaderText", "navigatedListItemScreenReaderText", "navigatableListItemScreenReaderText"], outputs: ["keyDown"] }, { kind: "directive", type: i5.ListTitleDirective, selector: "[fd-list-title], [fdListTitle]", inputs: ["wrap"] }, { kind: "directive", type: i5.ListLinkDirective, selector: "[fd-list-link], [fdListLink]", inputs: ["navigationIndicator", "navigated"] }, { kind: "component", type: i6.PopoverBodyComponent, selector: "fd-popover-body" }, { kind: "component", type: i6.PopoverComponent, selector: "fd-popover", inputs: ["title", "trigger", "fixedPosition", "id", "mobile", "mobileConfig"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "pipe", type: i7.BbbTranslatePipe, name: "bbbTranslate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
174
+ ], viewQueries: [{ propertyName: "dateRangePicker", first: true, predicate: ["dateRangePicker"], descendants: true }, { propertyName: "popover", first: true, predicate: ["popover"], descendants: true, static: true }, { propertyName: "alert", first: true, predicate: ["alert"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<ng-container *ngIf=\"value?.DateRangeType === 'SpecificRange'; else input\">\r\n <div class=\"input-container\">\r\n <ui5-daterange-picker\r\n id=\"mydaterange-picker1\"\r\n (mouseover)=\"onOpenPopover()\"\r\n (mouseleave)=\"popover.close()\"\r\n #dateRangePicker\r\n (change)=\"onDateRangeChange()\"\r\n format-pattern=\"yyyy/MM/dd\"\r\n [attr.readonly]=\"(readonly$ | async) === true ? true : null\"\r\n [attr.disabled]=\"(disable$ | async) === true ? true : null\"\r\n [primaryCalendarType]=\"Setting.CalendarType !== 'Gregorian' ? 'Persian' : Setting.CalendarType\"\r\n >\r\n </ui5-daterange-picker>\r\n <button\r\n class=\"btn-drop-down\"\r\n fd-button\r\n [fdType]=\"'standard'\"\r\n [glyph]=\"'slim-arrow-down'\"\r\n (click)=\"popover.open()\"\r\n ></button>\r\n </div>\r\n</ng-container>\r\n<ng-template #input>\r\n <!-- <input fd-form-control [(ngModel)]=\"valueStr\" [fd-inline-help]=\"valueStr\" [readOnly]=\"true\" /> -->\r\n\r\n <fd-input-group\r\n placement=\"after\"\r\n glyph=\"slim-arrow-down\"\r\n glyphAriaLabel=\"Select Date Range\"\r\n [button]=\"true\"\r\n [ngModel]=\"valueStr\"\r\n (addOnButtonClicked)=\"popover.open()\"\r\n >\r\n </fd-input-group>\r\n</ng-template>\r\n\r\n<!-- <button fd-button>\r\n <fd-select (valueChange)=\"onDateRangeTypeChange($event)\">\r\n <fd-option *ngFor=\"let option of dateRanges\" [value]=\"option\">{{ option | bbbTranslate }}</fd-option>\r\n </fd-select>\r\n</button> -->\r\n\r\n<fd-popover\r\n #popover\r\n style=\"display: block\"\r\n [fillControlMode]=\"'at-least'\"\r\n placement=\"bottom-start\"\r\n [(isOpen)]=\"isOpenPopover\"\r\n>\r\n <fd-popover-body>\r\n <ul fd-list>\r\n <li fd-list-item *ngFor=\"let option of dateRanges\" (click)=\"popover.close(); onDateRangeTypeChange(option)\">\r\n <a fd-list-link>\r\n <span fd-list-title>{{ option | bbbTranslate }}</span>\r\n </a>\r\n </li>\r\n </ul>\r\n </fd-popover-body>\r\n</fd-popover>\r\n", styles: [":host{display:block}:host input{border-top-left-radius:0;border-left:none;border-bottom-left-radius:0}:host .input-container{width:100%;display:flex;align-items:center}:host .input-container ui5-daterange-picker{padding:3px 0;min-width:2rem;width:100%;flex-grow:1}.btn-drop-down{border-right:none;border-top-right-radius:0;border-bottom-right-radius:0;background-color:var(--sapField_ReadOnly_Background);border-color:var(--sapField_ReadOnly_BorderColor)}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i3.ButtonComponent, selector: "button[fd-button], a[fd-button]", inputs: ["class"], exportAs: ["fd-button"] }, { kind: "component", type: i4.InputGroupComponent, selector: "fd-input-group", inputs: ["inputTemplate", "placement", "required", "inline", "placeholder", "addOnText", "buttonFocusable", "type", "glyph", "button", "disabled", "readonly", "state", "isControl", "showFocus", "isExpanded", "glyphAriaLabel", "iconTitle", "ariaLabelledby", "ariaLabelledBy"], outputs: ["addOnButtonClicked", "search"] }, { kind: "component", type: i5.ListComponent, selector: "[fd-list], [fdList]", inputs: ["dropdownMode", "multiInputMode", "mobileMode", "hasMessage", "noBorder", "navigationIndicator", "selection", "keyboardSupport", "byline"], outputs: ["focusEscapeList"] }, { kind: "component", type: i5.ListItemComponent, selector: "[fdListItem] ,[fd-list-item]", inputs: ["selected", "ariaDescribedBy", "noData", "action", "interactive", "growing", "counter", "unread", "selectedListItemScreenReaderText", "navigatedListItemScreenReaderText", "navigatableListItemScreenReaderText"], outputs: ["keyDown"] }, { kind: "directive", type: i5.ListTitleDirective, selector: "[fd-list-title], [fdListTitle]", inputs: ["wrap"] }, { kind: "directive", type: i5.ListLinkDirective, selector: "[fd-list-link], [fdListLink]", inputs: ["navigationIndicator", "navigated"] }, { kind: "component", type: i6.PopoverBodyComponent, selector: "fd-popover-body" }, { kind: "component", type: i6.PopoverComponent, selector: "fd-popover", inputs: ["title", "trigger", "fixedPosition", "id", "mobile", "mobileConfig"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "pipe", type: i7.BbbTranslatePipe, name: "bbbTranslate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
175
175
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: UiDateRangeExComponent, decorators: [{
176
176
  type: Component,
177
177
  args: [{ selector: 'bsu-ui-date-range-ex', changeDetection: ChangeDetectionStrategy.OnPush, providers: [
@@ -180,7 +180,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.7", ngImpor
180
180
  useFactory: getDateService,
181
181
  deps: [LogService]
182
182
  }
183
- ], template: "<ng-container *ngIf=\"value?.DateRangeType === 'SpecificRange'; else input\">\n <div class=\"input-container\">\n <ui5-daterange-picker\n id=\"mydaterange-picker1\"\n (mouseover)=\"onOpenPopover()\"\n (mouseleave)=\"popover.close()\"\n #dateRangePicker\n (change)=\"onDateRangeChange()\"\n format-pattern=\"yyyy/MM/dd\"\n [attr.readonly]=\"(readonly$ | async) === true ? true : null\"\n [attr.disabled]=\"(disable$ | async) === true ? true : null\"\n [primaryCalendarType]=\"Setting.CalendarType !== 'Gregorian' ? 'Persian' : Setting.CalendarType\"\n >\n </ui5-daterange-picker>\n <button\n class=\"btn-drop-down\"\n fd-button\n [fdType]=\"'standard'\"\n [glyph]=\"'slim-arrow-down'\"\n (click)=\"popover.open()\"\n ></button>\n </div>\n</ng-container>\n<ng-template #input>\n <!-- <input fd-form-control [(ngModel)]=\"valueStr\" [fd-inline-help]=\"valueStr\" [readOnly]=\"true\" /> -->\n\n <fd-input-group\n placement=\"after\"\n glyph=\"slim-arrow-down\"\n glyphAriaLabel=\"Select Date Range\"\n [button]=\"true\"\n [ngModel]=\"valueStr\"\n (addOnButtonClicked)=\"popover.open()\"\n >\n </fd-input-group>\n</ng-template>\n\n<!-- <button fd-button>\n <fd-select (valueChange)=\"onDateRangeTypeChange($event)\">\n <fd-option *ngFor=\"let option of dateRanges\" [value]=\"option\">{{ option | bbbTranslate }}</fd-option>\n </fd-select>\n</button> -->\n\n<fd-popover\n #popover\n style=\"display: block\"\n [fillControlMode]=\"'at-least'\"\n placement=\"bottom-start\"\n [(isOpen)]=\"isOpenPopover\"\n>\n <fd-popover-body>\n <ul fd-list>\n <li fd-list-item *ngFor=\"let option of dateRanges\" (click)=\"popover.close(); onDateRangeTypeChange(option)\">\n <a fd-list-link>\n <span fd-list-title>{{ option | bbbTranslate }}</span>\n </a>\n </li>\n </ul>\n </fd-popover-body>\n</fd-popover>\n", styles: [":host{display:block}:host input{border-top-left-radius:0;border-left:none;border-bottom-left-radius:0}:host .input-container{width:100%;display:flex;align-items:center}:host .input-container ui5-daterange-picker{padding:3px 0;min-width:2rem;width:100%;flex-grow:1}.btn-drop-down{border-right:none;border-top-right-radius:0;border-bottom-right-radius:0;background-color:var(--sapField_ReadOnly_Background);border-color:var(--sapField_ReadOnly_BorderColor)}\n"] }]
183
+ ], template: "<ng-container *ngIf=\"value?.DateRangeType === 'SpecificRange'; else input\">\r\n <div class=\"input-container\">\r\n <ui5-daterange-picker\r\n id=\"mydaterange-picker1\"\r\n (mouseover)=\"onOpenPopover()\"\r\n (mouseleave)=\"popover.close()\"\r\n #dateRangePicker\r\n (change)=\"onDateRangeChange()\"\r\n format-pattern=\"yyyy/MM/dd\"\r\n [attr.readonly]=\"(readonly$ | async) === true ? true : null\"\r\n [attr.disabled]=\"(disable$ | async) === true ? true : null\"\r\n [primaryCalendarType]=\"Setting.CalendarType !== 'Gregorian' ? 'Persian' : Setting.CalendarType\"\r\n >\r\n </ui5-daterange-picker>\r\n <button\r\n class=\"btn-drop-down\"\r\n fd-button\r\n [fdType]=\"'standard'\"\r\n [glyph]=\"'slim-arrow-down'\"\r\n (click)=\"popover.open()\"\r\n ></button>\r\n </div>\r\n</ng-container>\r\n<ng-template #input>\r\n <!-- <input fd-form-control [(ngModel)]=\"valueStr\" [fd-inline-help]=\"valueStr\" [readOnly]=\"true\" /> -->\r\n\r\n <fd-input-group\r\n placement=\"after\"\r\n glyph=\"slim-arrow-down\"\r\n glyphAriaLabel=\"Select Date Range\"\r\n [button]=\"true\"\r\n [ngModel]=\"valueStr\"\r\n (addOnButtonClicked)=\"popover.open()\"\r\n >\r\n </fd-input-group>\r\n</ng-template>\r\n\r\n<!-- <button fd-button>\r\n <fd-select (valueChange)=\"onDateRangeTypeChange($event)\">\r\n <fd-option *ngFor=\"let option of dateRanges\" [value]=\"option\">{{ option | bbbTranslate }}</fd-option>\r\n </fd-select>\r\n</button> -->\r\n\r\n<fd-popover\r\n #popover\r\n style=\"display: block\"\r\n [fillControlMode]=\"'at-least'\"\r\n placement=\"bottom-start\"\r\n [(isOpen)]=\"isOpenPopover\"\r\n>\r\n <fd-popover-body>\r\n <ul fd-list>\r\n <li fd-list-item *ngFor=\"let option of dateRanges\" (click)=\"popover.close(); onDateRangeTypeChange(option)\">\r\n <a fd-list-link>\r\n <span fd-list-title>{{ option | bbbTranslate }}</span>\r\n </a>\r\n </li>\r\n </ul>\r\n </fd-popover-body>\r\n</fd-popover>\r\n", styles: [":host{display:block}:host input{border-top-left-radius:0;border-left:none;border-bottom-left-radius:0}:host .input-container{width:100%;display:flex;align-items:center}:host .input-container ui5-daterange-picker{padding:3px 0;min-width:2rem;width:100%;flex-grow:1}.btn-drop-down{border-right:none;border-top-right-radius:0;border-bottom-right-radius:0;background-color:var(--sapField_ReadOnly_Background);border-color:var(--sapField_ReadOnly_BorderColor)}\n"] }]
184
184
  }], propDecorators: { dateRangePicker: [{
185
185
  type: ViewChild,
186
186
  args: ['dateRangePicker']
@@ -191,4 +191,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.7", ngImpor
191
191
  type: ViewChild,
192
192
  args: ['alert']
193
193
  }] } });
194
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidWktZGF0ZS1yYW5nZS1leC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9iYXJzYS1zYXAtdWkvc3JjL2xpYi91aS1kYXRlLXJhbmdlLWV4L3VpLWRhdGUtcmFuZ2UtZXguY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmFyc2Etc2FwLXVpL3NyYy9saWIvdWktZGF0ZS1yYW5nZS1leC91aS1kYXRlLXJhbmdlLWV4LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQWMsU0FBUyxFQUFVLHVCQUF1QixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRWxHLE9BQU8sRUFDSCxrQkFBa0IsRUFDbEIsUUFBUSxFQUNSLFdBQVcsRUFDWCxpQkFBaUIsRUFDakIsVUFBVSxFQUNWLGlCQUFpQixFQUNqQixnQkFBZ0IsRUFDaEIsVUFBVSxFQUNiLE1BQU0sc0JBQXNCLENBQUM7Ozs7Ozs7OztBQUc5QixTQUFTLGNBQWMsQ0FBQyxVQUFzQjtJQUMxQyxNQUFNLE9BQU8sR0FBRyxRQUFRLENBQUMsYUFBYSxDQUFDLE9BQU8sQ0FBQztJQUMvQyxRQUFRLE9BQU8sRUFBRTtRQUNiLEtBQUssT0FBTztZQUNSLE9BQU8sSUFBSSxpQkFBaUIsQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUM3QyxLQUFLLE9BQU87WUFDUixPQUFPLElBQUksZ0JBQWdCLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDNUM7WUFDSSxPQUFPLElBQUksaUJBQWlCLENBQUMsVUFBVSxDQUFDLENBQUM7S0FDaEQ7QUFDTCxDQUFDO0FBZUQsTUFBTSxPQUFPLHNCQUF1QixTQUFRLGtCQUFrQjtJQWI5RDs7UUFrQkksYUFBUSxHQUFHLEVBQUUsQ0FBQztRQUNkLFVBQUssR0FBUSxJQUFJLFFBQVEsQ0FBQyxNQUFNLENBQUMsYUFBYSxFQUFFLENBQUM7UUFDakQsZUFBVSxHQUFHLFVBQVUsQ0FBQztLQWdLM0I7SUE3SkcsSUFBSSxlQUFlO1FBQ2YsTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxhQUFhLENBQUM7UUFDdEMsT0FBTyxzQkFBc0IsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksSUFBSSxDQUFDLFFBQVEsS0FBSyxFQUFFLENBQUM7SUFDckUsQ0FBQztJQUNELFFBQVE7UUFDSixLQUFLLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDakIsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUU7WUFDYixJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1NBQ3BFO1FBQ0QsSUFBSSxDQUFDLHdCQUF3QixFQUFFLENBQUM7SUFDcEMsQ0FBQztJQUVELHFCQUFxQixDQUFDLGFBQWE7UUFDL0IsSUFBSSxDQUFDLFlBQVksQ0FBQyxhQUFhLENBQUMsT0FBTyxDQUFDLFFBQVEsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDO1FBQ3ZELElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUN0QyxDQUFDO0lBQ0QsaUJBQWlCO1FBQ2IsTUFBTSxFQUFFLEdBQVEsSUFBSSxDQUFDLGVBQWUsQ0FBQyxhQUFhLENBQUM7UUFDbkQsSUFBSSxDQUFDLEtBQUssQ0FBQyxTQUFTLEdBQUcsRUFBRSxDQUFDLGNBQWMsQ0FBQztRQUN6QyxJQUFJLENBQUMsS0FBSyxDQUFDLFVBQVUsR0FBRyxFQUFFLENBQUMsYUFBYSxDQUFDO1FBQ3pDLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNsQyxNQUFNLFlBQVksR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLFNBQVMsRUFBRSxJQUFJLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFDeEYsTUFBTSxhQUFhLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxVQUFVLEVBQUUsSUFBSSxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBQzFGLElBQUksQ0FBQyxRQUFRLEdBQUcsWUFBWSxHQUFHLE1BQU0sR0FBRyxhQUFhLENBQUM7SUFDMUQsQ0FBQztJQUVELGFBQWE7UUFDVCxJQUFJLElBQUksQ0FBQyxlQUFlLElBQUksSUFBSSxDQUFDLGVBQWUsRUFBRTtZQUM5QyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksRUFBRSxDQUFDO1NBQ3ZCO0lBQ0wsQ0FBQztJQUVTLFNBQVMsQ0FBQyxLQUFVO1FBQzFCLElBQUksQ0FBQyxLQUFLLEVBQUU7WUFDUixJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssR0FBRyxLQUFLLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsQ0FBQztTQUMxRDtRQUNELElBQUksQ0FBQyxZQUFZLENBQUMsS0FBSyxDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBQ3ZDLEtBQUssQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDM0IsQ0FBQztJQUNPLGFBQWEsQ0FBQyxLQUFLO1FBQ3ZCLElBQUksQ0FBQyxLQUFLLEVBQUU7WUFDUixLQUFLLEdBQUc7Z0JBQ0osYUFBYSxFQUFFLE1BQU07YUFDeEIsQ0FBQztTQUNMO1FBQ0QsT0FBTyxLQUFLLENBQUM7SUFDakIsQ0FBQztJQUNPLFlBQVksQ0FBQyxhQUFxQjtRQUN0QyxJQUFJLENBQUMsS0FBSyxDQUFDLGFBQWEsR0FBRyxhQUFhLENBQUM7UUFDekMsUUFBUSxhQUFhLEVBQUU7WUFDbkIsS0FBSyxlQUFlO2dCQUNoQixJQUFJLENBQUMsUUFBUSxHQUFHLEVBQUUsQ0FBQztnQkFDbkIsSUFBSSxDQUFDLHdCQUF3QixFQUFFLENBQUM7Z0JBQ2hDLE9BQU87WUFDWCxLQUFLLFlBQVk7Z0JBQ2IsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsY0FBYyxFQUFFLENBQUM7Z0JBQ3RDLE1BQU07WUFDVixLQUFLLE9BQU87Z0JBQ1IsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7Z0JBQ2pDLE1BQU07WUFDVixLQUFLLFdBQVc7Z0JBQ1osSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7Z0JBQ3JDLE1BQU07WUFDVixLQUFLLFVBQVU7Z0JBQ1gsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7Z0JBQ3BDLE1BQU07WUFDVixLQUFLLFVBQVU7Z0JBQ1gsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7Z0JBQ3BDLE1BQU07WUFDVixLQUFLLFVBQVU7Z0JBQ1gsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7Z0JBQ3BDLE1BQU07WUFDVixLQUFLLFdBQVc7Z0JBQ1osSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7Z0JBQ3JDLE1BQU07WUFDVixLQUFLLFdBQVc7Z0JBQ1osSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7Z0JBQ3JDLE1BQU07WUFDVixLQUFLLFdBQVc7Z0JBQ1osSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7Z0JBQ3JDLE1BQU07WUFDVixLQUFLLFVBQVU7Z0JBQ1gsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7Z0JBQ3BDLE1BQU07WUFDVixLQUFLLFVBQVU7Z0JBQ1gsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7Z0JBQ3BDLE1BQU07WUFDVixLQUFLLFVBQVU7Z0JBQ1gsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7Z0JBQ3BDLE1BQU07WUFDVjtnQkFDSSxJ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QUNaLENBQUM7O21IQXRLUSxzQkFBc0I7dUdBQXRCLHNCQUFzQiwrQ0FScEI7UUFDUDtZQUNJLE9BQU8sRUFBRSxXQUFXO1lBQ3BCLFVBQVUsRUFBRSxjQUFjO1lBQzFCLElBQUksRUFBRSxDQUFDLFVBQVUsQ0FBQztTQUNyQjtLQUNKLHlWQ3JDTCw2bUVBNERBOzJGRHJCYSxzQkFBc0I7a0JBYmxDLFNBQVM7K0JBQ0ksc0JBQXNCLG1CQUdmLHVCQUF1QixDQUFDLE1BQU0sYUFDcEM7d0JBQ1A7NEJBQ0ksT0FBTyxFQUFFLFdBQVc7NEJBQ3BCLFVBQVUsRUFBRSxjQUFjOzRCQUMxQixJQUFJLEVBQUUsQ0FBQyxVQUFVLENBQUM7eUJBQ3JCO3FCQUNKOzhCQUc2QixlQUFlO3NCQUE1QyxTQUFTO3VCQUFDLGlCQUFpQjtnQkFDWSxPQUFPO3NCQUE5QyxTQUFTO3VCQUFDLFNBQVMsRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUU7Z0JBQ2xCLEtBQUs7c0JBQXhCLFNBQVM7dUJBQUMsT0FBTyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRWxlbWVudFJlZiwgVmlld0NoaWxkLCBPbkluaXQsIENoYW5nZURldGVjdGlvblN0cmF0ZWd5IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7XG4gICAgRmllbGRCYXNlQ29tcG9uZW50LFxuICAgIEJhcnNhQXBpLFxuICAgIERhdGVTZXJ2aWNlLFxuICAgIERhdGVTaGFtc2lTZXJ2aWNlLFxuICAgIExvZ1NlcnZpY2UsXG4gICAgRGF0ZU1pbGFkaVNlcnZpY2UsXG4gICAgRGF0ZUhpanJpU2VydmljZSxcbiAgICBEYXRlUmFuZ2VzXG59IGZyb20gJ2JhcnNhLW5vdmluLXJheS1jb3JlJztcbmltcG9ydCB7IEFsZXJ0Q29tcG9uZW50LCBQb3BvdmVyQ29tcG9uZW50IH0gZnJvbSAnQGZ1bmRhbWVudGFsLW5neC9jb3JlJztcblxuZnVuY3Rpb24gZ2V0RGF0ZVNlcnZpY2UobG9nU2VydmljZTogTG9nU2VydmljZSk6IERhdGVTZXJ2aWNlIHtcbiAgICBjb25zdCBjdWx0dXJlID0gQmFyc2FBcGkuTG9naW5Gb3JtRGF0YS5DdWx0dXJlO1xuICAgIHN3aXRjaCAoY3VsdHVyZSkge1xuICAgICAgICBjYXNlICdmYS1JUic6XG4gICAgICAgICAgICByZXR1cm4gbmV3IERhdGVTaGFtc2lTZXJ2aWNlKGxvZ1NlcnZpY2UpO1xuICAgICAgICBjYXNlICdhci1BRSc6XG4gICAgICAgICAgICByZXR1cm4gbmV3IERhdGVIaWpyaVNlcnZpY2UobG9nU2VydmljZSk7XG4gICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICByZXR1cm4gbmV3IERhdGVNaWxhZGlTZXJ2aWNlKGxvZ1NlcnZpY2UpO1xuICAgIH1cbn1cblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdic3UtdWktZGF0ZS1yYW5nZS1leCcsXG4gICAgdGVtcGxhdGVVcmw6ICcuL3VpLWRhdGUtcmFuZ2UtZXguY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL3VpLWRhdGUtcmFuZ2UtZXguY29tcG9uZW50LnNjc3MnXSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgICBwcm92aWRlcnM6IFtcbiAgICAgICAge1xuICAgICAgICAgICAgcHJvdmlkZTogRGF0ZVNlcnZpY2UsXG4gICAgICAgICAgICB1c2VGYWN0b3J5OiBnZXREYXRlU2VydmljZSxcbiAgICAgICAgICAgIGRlcHM6IFtMb2dTZXJ2aWNlXVxuICAgICAgICB9XG4gICAgXVxufSlcbmV4cG9ydCBjbGFzcyBVaURhdGVSYW5nZUV4Q29tcG9uZW50IGV4dGVuZHMgRmllbGRCYXNlQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgICBAVmlld0NoaWxkKCdkYXRlUmFuZ2VQaWNrZXInKSBkYXRlUmFuZ2VQaWNrZXI6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+O1xuICAgIEBWaWV3Q2hpbGQoJ3BvcG92ZXInLCB7IHN0YXRpYzogdHJ1ZSB9KSBwb3BvdmVyOiBQb3BvdmVyQ29tcG9uZW50O1xuICAgIEBWaWV3Q2hpbGQoJ2FsZXJ0JykgYWxlcnQ6IEFsZXJ0Q29tcG9uZW50O1xuXG4gICAgdmFsdWVTdHIgPSAnJztcbiAgICB2YWx1ZTogYW55ID0gbmV3IEJhcnNhQXBpLkNvbW1vbi5EYXRlUmFuZ2VEYXRhKCk7XG4gICAgZGF0ZVJhbmdlcyA9IERhdGVSYW5nZXM7XG4gICAgaXNPcGVuUG9wb3ZlcjogYm9vbGVhbjtcblxuICAgIGdldCBfaXNWYWxpZFBvcG92ZXIoKTogYm9vbGVhbiB7XG4gICAgICAgIGNvbnN0IG1vZGUgPSB0aGlzLnZhbHVlLkRhdGVSYW5nZVR5cGU7XG4gICAgICAgIHJldHVybiAvV2Vla3xEYXl8VG9kYXl8UmFuZ2UvLnRlc3QobW9kZSkgJiYgdGhpcy52YWx1ZVN0ciAhPT0gJyc7XG4gICAgfVxuICAgIG5nT25Jbml0KCk6IHZvaWQge1xuICAgICAgICBzdXBlci5uZ09uSW5pdCgpO1xuICAgICAgICBpZiAoIXRoaXMudmFsdWUpIHtcbiAgICAgICAgICAgIHRoaXMuY29udGV4dC52YWx1ZSA9IHRoaXMudmFsdWUgPSB0aGlzLl9kZWZhdWx0VmFsdWUodGhpcy52YWx1ZSk7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5fZGVjb3JhdGVEYXRlUmFuZ2VQaWNrZXIoKTtcbiAgICB9XG5cbiAgICBvbkRhdGVSYW5nZVR5cGVDaGFuZ2UoZGF0ZVJhbmdlVHlwZSk6IHZvaWQge1xuICAgICAgICB0aGlzLl9zZXRWYWx1ZVN0cihkYXRlUmFuZ2VUeXBlLnJlcGxhY2UoJ0RhdGVSXycsICcnKSk7XG4gICAgICAgIHRoaXMudmFsdWVDaGFuZ2UuZW1pdCh0aGlzLnZhbHVlKTtcbiAgICB9XG4gICAgb25EYXRlUmFuZ2VDaGFuZ2UoKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IGVsOiBhbnkgPSB0aGlzLmRhdGVSYW5nZVBpY2tlci5uYXRpdmVFbGVtZW50O1xuICAgICAgICB0aGlzLnZhbHVlLkZpcnN0RGF0ZSA9IGVsLmZpcnN0RGF0ZVZhbHVlO1xuICAgICAgICB0aGlzLnZhbHVlLlNlY29uZERhdGUgPSBlbC5sYXN0RGF0ZVZhbHVlO1xuICAgICAgICB0aGlzLnZhbHVlQ2hhbmdlLmVtaXQodGhpcy52YWx1ZSk7XG4gICAgICAgIGNvbnN0IGZpcnN0RGF0ZVN0ciA9IHRoaXMuX2RhdGVTZXJ2aWNlLmdldERhdGVTdHJpbmcodGhpcy52YWx1ZS5GaXJzdERhdGUsIHRydWUsIGZhbHNlKTtcbiAgICAgICAgY29uc3Qgc2Vjb25kRGF0ZVN0ciA9IHRoaXMuX2RhdGVTZXJ2aWNlLmdldERhdGVTdHJpbmcodGhpcy52YWx1ZS5TZWNvbmREYXRlLCB0cnVlLCBmYWxzZSk7XG4gICAgICAgIHRoaXMudmFsdWVTdHIgPSBmaXJzdERhdGVTdHIgKyAnINiq2KcgJyArIHNlY29uZERhdGVTdHI7XG4gICAgfVxuXG4gICAgb25PcGVuUG9wb3ZlcigpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuX2lzVmFsaWRQb3BvdmVyICYmIHRoaXMuX2lzVmFsaWRQb3BvdmVyKSB7XG4gICAgICAgICAgICB0aGlzLnBvcG92ZXIub3BlbigpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIF9zZXRWYWx1ZSh2YWx1ZTogYW55KTogdm9pZCB7XG4gICAgICAgIGlmICghdmFsdWUpIHtcbiAgICAgICAgICAgIHRoaXMuY29udGV4dC52YWx1ZSA9IHZhbHVlID0gdGhpcy5fZGVmYXVsdFZhbHVlKHZhbHVlKTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLl9zZXRWYWx1ZVN0cih2YWx1ZS5EYXRlUmFuZ2VUeXBlKTtcbiAgICAgICAgc3VwZXIuX3NldFZhbHVlKHZhbHVlKTtcbiAgICB9XG4gICAgcHJpdmF0ZSBfZGVmYXVsdFZhbHVlKHZhbHVlKTogYW55IHtcbiAgICAgICAgaWYgKCF2YWx1ZSkge1xuICAgICAgICAgICAgdmFsdWUgPSB7XG4gICAgICAgICAgICAgICAgRGF0ZVJhbmdlVHlwZTogJ05vbmUnXG4gICAgICAgICAgICB9O1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiB2YWx1ZTtcbiAgICB9XG4gICAgcHJpdmF0ZSBfc2V0VmFsdWVTdHIoZGF0ZVJhbmdlVHlwZTogc3RyaW5nKTogdm9pZCB7XG4gICAgICAgIHRoaXMudmFsdWUuRGF0ZVJhbmdlVHlwZSA9IGRhdGVSYW5nZVR5cGU7XG4gICAgICAgIHN3aXRjaCAoZGF0ZVJhbmdlVHlwZSkge1xuICAgICAgICAgICAgY2FzZSAnU3BlY2lmaWNSYW5nZSc6XG4gICAgICAgICAgICAgICAgdGhpcy52YWx1ZVN0ciA9ICcnO1xuICAgICAgICAgICAgICAgIHRoaXMuX2RlY29yYXRlRGF0ZVJhbmdlUGlja2VyKCk7XG4gICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgY2FzZSAnRGF5c0JlZm9yZSc6XG4gICAgICAgICAgICAgICAgdGhpcy52YWx1ZVN0ciA9IHRoaXMuX2dldERheXNCZWZvcmUoKTtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIGNhc2UgJ1RvZGF5JzpcbiAgICAgICAgICAgICAgICB0aGlzLnZhbHVlU3RyID0gdGhpcy5fZ2V0VG9kYXkoKTtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIGNhc2UgJ0RheXNBZnRlcic6XG4gICAgICAgICAgICAgICAgdGhpcy52YWx1ZVN0ciA9IHRoaXMuX2dldERheXNBZnRlcigpO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgY2FzZSAnUHJldldlZWsnOlxuICAgICAgICAgICAgICAgIHRoaXMudmFsdWVTdHIgPSB0aGlzLl9nZXRQcmV2V2VlaygpO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgY2FzZSAnVGhpc1dlZWsnOlxuICAgICAgICAgICAgICAgIHRoaXMudmFsdWVTdHIgPSB0aGlzLl9nZXRUaGlzV2VlaygpO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgY2FzZSAnTmV4dFdlZWsnOlxuICAgICAgICAgICAgICAgIHRoaXMudmFsdWVTdHIgPSB0aGlzLl9nZXROZXh0V2VlaygpO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgY2FzZSAnUHJldk1vbnRoJzpcbiAgICAgICAgICAgICAgICB0aGlzLnZhbHVlU3RyID0gdGhpcy5fZ2V0UHJldk1vbnRoKCk7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICBjYXNlICdUaGlzTW9udGgnOlxuICAgICAgICAgICAgICAgIHRoaXMudmFsdWVTdHIgPSB0aGlzLl9nZXRUaGlzTW9udGgoKTtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIGNhc2UgJ05leHRNb250aCc6XG4gICAgICAgICAgICAgICAgdGhpcy52YWx1ZVN0ciA9IHRoaXMuX2dldE5leHRNb250aCgpO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgY2FzZSAnUHJldlllYXInOlxuICAgICAgICAgICAgICAgIHRoaXMudmFsdWVTdHIgPSB0aGlzLl9nZXRQcmV2WWVhcigpO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgY2FzZSAnVGhpc1llYXInOlxuICAgICAgICAgICAgICAgIHRoaXMudmFsdWVTdHIgPSB0aGlzLl9nZXRUaGlzWWVhcigpO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgY2FzZSAnTmV4dFllYXInOlxuICAgICAgICAgICAgICAgIHRoaXMudmFsdWVTdHIgPSB0aGlzLl9nZXROZXh0WWVhcigpO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgICAgICB0aGlzLnZhbHVlU3RyID0gQmFyc2FBcGkuQkJCLkRhdGVSX05vbmU7XG4gICAgICAgICAgICAgICAgdGhpcy5fZGVjb3JhdGVEYXRlUmFuZ2VQaWNrZXIoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgX2dldFRvZGF5KCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiBCYXJzYUFwaS5CQkIuRGF0ZVJfVG9kYXkgKyAnOiAnICsgdGhpcy5fZGF0ZVNlcnZpY2UuZ2V0RGF5U3RyKCdUb2RheScpO1xuICAgIH1cblxuICAgIHByaXZhdGUgX2dldFRoaXNXZWVrKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiBCYXJzYUFwaS5CQkIuRGF0ZVJfVGhpc1dlZWsgKyAnOiAnICsgdGhpcy5fZGF0ZVNlcnZpY2UuZ2V0V2Vla1N0cignVGhpc1dlZWsnKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIF9nZXRUaGlzTW9udGgoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIEJhcnNhQXBpLkJCQi5EYXRlUl9UaGlzTW9udGggKyAnOiAnICsgdGhpcy5fZGF0ZVNlcnZpY2UuZ2V0TW9udGhTdHIoJ1RoaXNNb250aCcpO1xuICAgIH1cblxuICAgIHByaXZhdGUgX2dldFRoaXNZZWFyKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiBCYXJzYUFwaS5CQkIuRGF0ZVJfVGhpc1llYXIgKyAnOiAnICsgdGhpcy5fZGF0ZVNlcnZpY2UuZ2V0WWVhclN0cignVGhpc1llYXInKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIF9nZXREYXlzQmVmb3JlKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiBCYXJzYUFwaS5CQkIuRGF0ZVJfRGF5c0JlZm9yZSArICc6ICcgKyB0aGlzLl9kYXRlU2VydmljZS5nZXREYXlTdHIoJ0RheXNCZWZvcmUnKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIF9nZXRQcmV2V2VlaygpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gQmFyc2FBcGkuQkJCLkRhdGVSX1ByZXZXZWVrICsgJzogJyArIHRoaXMuX2RhdGVTZXJ2aWNlLmdldFdlZWtTdHIoJ1ByZXZXZWVrJyk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBfZ2V0UHJldk1vbnRoKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiBCYXJzYUFwaS5CQkIuRGF0ZVJfUHJldk1vbnRoICsgJzogJyArIHRoaXMuX2RhdGVTZXJ2aWNlLmdldE1vbnRoU3RyKCdQcmV2TW9udGgnKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIF9nZXRQcmV2WWVhcigpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gQmFyc2FBcGkuQkJCLkRhdGVSX1ByZXZZZWFyICsgJzogJyArIHRoaXMuX2RhdGVTZXJ2aWNlLmdldFllYXJTdHIoJ1ByZXZZZWFyJyk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBfZ2V0RGF5c0FmdGVyKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiBCYXJzYUFwaS5CQkIuRGF0ZVJfRGF5c0FmdGVyICsgJzogJyArIHRoaXMuX2RhdGVTZXJ2aWNlLmdldERheVN0cignRGF5c0FmdGVyJyk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBfZ2V0TmV4dFdlZWsoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIEJhcnNhQXBpLkJCQi5EYXRlUl9OZXh0V2VlayArICc6ICcgKyB0aGlzLl9kYXRlU2VydmljZS5nZXRXZWVrU3RyKCdOZXh0V2VlaycpO1xuICAgIH1cblxuICAgIHByaXZhdGUgX2dldE5leHRNb250aCgpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gQmFyc2FBcGkuQkJCLkRhdGVSX05leHRNb250aCArICc6ICcgKyB0aGlzLl9kYXRlU2VydmljZS5nZXRNb250aFN0cignTmV4dE1vbnRoJyk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBfZ2V0TmV4dFllYXIoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIEJhcnNhQXBpLkJCQi5EYXRlUl9OZXh0WWVhciArICc6ICcgKyB0aGlzLl9kYXRlU2VydmljZS5nZXRZZWFyU3RyKCdOZXh0WWVhcicpO1xuICAgIH1cblxuICAgIHByaXZhdGUgX2RlY29yYXRlRGF0ZVJhbmdlUGlja2VyKCk6IHZvaWQge1xuICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IGVsRGF0ZVJhbmdlUGlja2VyID0gdGhpcy5kYXRlUmFuZ2VQaWNrZXI/Lm5hdGl2ZUVsZW1lbnQ7XG4gICAgICAgICAgICBpZiAoZWxEYXRlUmFuZ2VQaWNrZXIpIHtcbiAgICAgICAgICAgICAgICBjb25zdCB1aTVJbnB1dEVsID0gZWxEYXRlUmFuZ2VQaWNrZXIuc2hhZG93Um9vdD8ucXVlcnlTZWxlY3RvcignLnVpNS1kYXRlLXBpY2tlci1pbnB1dCcpO1xuICAgICAgICAgICAgICAgIHRoaXMuX3JlbmRlcmVyMi5zZXRBdHRyaWJ1dGUoXG4gICAgICAgICAgICAgICAgICAgIHVpNUlucHV0RWwsXG4gICAgICAgICAgICAgICAgICAgICdzdHlsZScsXG4gICAgICAgICAgICAgICAgICAgICdib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAwOyBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAwJ1xuICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0sIDUwMCk7XG4gICAgfVxufVxuIiwiPG5nLWNvbnRhaW5lciAqbmdJZj1cInZhbHVlPy5EYXRlUmFuZ2VUeXBlID09PSAnU3BlY2lmaWNSYW5nZSc7IGVsc2UgaW5wdXRcIj5cbiAgICA8ZGl2IGNsYXNzPVwiaW5wdXQtY29udGFpbmVyXCI+XG4gICAgICAgIDx1aTUtZGF0ZXJhbmdlLXBpY2tlclxuICAgICAgICAgICAgaWQ9XCJteWRhdGVyYW5nZS1waWNrZXIxXCJcbiAgICAgICAgICAgIChtb3VzZW92ZXIpPVwib25PcGVuUG9wb3ZlcigpXCJcbiAgICAgICAgICAgIChtb3VzZWxlYXZlKT1cInBvcG92ZXIuY2xvc2UoKVwiXG4gICAgICAgICAgICAjZGF0ZVJhbmdlUGlja2VyXG4gICAgICAgICAgICAoY2hhbmdlKT1cIm9uRGF0ZVJhbmdlQ2hhbmdlKClcIlxuICAgICAgICAgICAgZm9ybWF0LXBhdHRlcm49XCJ5eXl5L01NL2RkXCJcbiAgICAgICAgICAgIFthdHRyLnJlYWRvbmx5XT1cIihyZWFkb25seSQgfCBhc3luYykgPT09IHRydWUgPyB0cnVlIDogbnVsbFwiXG4gICAgICAgICAgICBbYXR0ci5kaXNhYmxlZF09XCIoZGlzYWJsZSQgfCBhc3luYykgPT09IHRydWUgPyB0cnVlIDogbnVsbFwiXG4gICAgICAgICAgICBbcHJpbWFyeUNhbGVuZGFyVHlwZV09XCJTZXR0aW5nLkNhbGVuZGFyVHlwZSAhPT0gJ0dyZWdvcmlhbicgPyAnUGVyc2lhbicgOiBTZXR0aW5nLkNhbGVuZGFyVHlwZVwiXG4gICAgICAgID5cbiAgICAgICAgPC91aTUtZGF0ZXJhbmdlLXBpY2tlcj5cbiAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgY2xhc3M9XCJidG4tZHJvcC1kb3duXCJcbiAgICAgICAgICAgIGZkLWJ1dHRvblxuICAgICAgICAgICAgW2ZkVHlwZV09XCInc3RhbmRhcmQnXCJcbiAgICAgICAgICAgIFtnbHlwaF09XCInc2xpbS1hcnJvdy1kb3duJ1wiXG4gICAgICAgICAgICAoY2xpY2spPVwicG9wb3Zlci5vcGVuKClcIlxuICAgICAgICA+PC9idXR0b24+XG4gICAgPC9kaXY+XG48L25nLWNvbnRhaW5lcj5cbjxuZy10ZW1wbGF0ZSAjaW5wdXQ+XG4gICAgPCEtLSA8aW5wdXQgZmQtZm9ybS1jb250cm9sIFsobmdNb2RlbCldPVwidmFsdWVTdHJcIiBbZmQtaW5saW5lLWhlbHBdPVwidmFsdWVTdHJcIiBbcmVhZE9ubHldPVwidHJ1ZVwiIC8+IC0tPlxuXG4gICAgPGZkLWlucHV0LWdyb3VwXG4gICAgICAgIHBsYWNlbWVudD1cImFmdGVyXCJcbiAgICAgICAgZ2x5cGg9XCJzbGltLWFycm93LWRvd25cIlxuICAgICAgICBnbHlwaEFyaWFMYWJlbD1cIlNlbGVjdCBEYXRlIFJhbmdlXCJcbiAgICAgICAgW2J1dHRvbl09XCJ0cnVlXCJcbiAgICAgICAgW25nTW9kZWxdPVwidmFsdWVTdHJcIlxuICAgICAgICAoYWRkT25CdXR0b25DbGlja2VkKT1cInBvcG92ZXIub3BlbigpXCJcbiAgICA+XG4gICAgPC9mZC1pbnB1dC1ncm91cD5cbjwvbmctdGVtcGxhdGU+XG5cbjwhLS0gPGJ1dHRvbiBmZC1idXR0b24+XG4gICAgPGZkLXNlbGVjdCAodmFsdWVDaGFuZ2UpPVwib25EYXRlUmFuZ2VUeXBlQ2hhbmdlKCRldmVudClcIj5cbiAgICAgICAgPGZkLW9wdGlvbiAqbmdGb3I9XCJsZXQgb3B0aW9uIG9mIGRhdGVSYW5nZXNcIiBbdmFsdWVdPVwib3B0aW9uXCI+e3sgb3B0aW9uIHwgYmJiVHJhbnNsYXRlIH19PC9mZC1vcHRpb24+XG4gICAgPC9mZC1zZWxlY3Q+XG48L2J1dHRvbj4gLS0+XG5cbjxmZC1wb3BvdmVyXG4gICAgI3BvcG92ZXJcbiAgICBzdHlsZT1cImRpc3BsYXk6IGJsb2NrXCJcbiAgICBbZmlsbENvbnRyb2xNb2RlXT1cIidhdC1sZWFzdCdcIlxuICAgIHBsYWNlbWVudD1cImJvdHRvbS1zdGFydFwiXG4gICAgWyhpc09wZW4pXT1cImlzT3BlblBvcG92ZXJcIlxuPlxuICAgIDxmZC1wb3BvdmVyLWJvZHk+XG4gICAgICAgIDx1bCBmZC1saXN0PlxuICAgICAgICAgICAgPGxpIGZkLWxpc3QtaXRlbSAqbmdGb3I9XCJsZXQgb3B0aW9uIG9mIGRhdGVSYW5nZXNcIiAoY2xpY2spPVwicG9wb3Zlci5jbG9zZSgpOyBvbkRhdGVSYW5nZVR5cGVDaGFuZ2Uob3B0aW9uKVwiPlxuICAgICAgICAgICAgICAgIDxhIGZkLWxpc3QtbGluaz5cbiAgICAgICAgICAgICAgICAgICAgPHNwYW4gZmQtbGlzdC10aXRsZT57eyBvcHRpb24gfCBiYmJUcmFuc2xhdGUgfX08L3NwYW4+XG4gICAgICAgICAgICAgICAgPC9hPlxuICAgICAgICAgICAgPC9saT5cbiAgICAgICAgPC91bD5cbiAgICA8L2ZkLXBvcG92ZXItYm9keT5cbjwvZmQtcG9wb3Zlcj5cbiJdfQ==
194
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidWktZGF0ZS1yYW5nZS1leC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9iYXJzYS1zYXAtdWkvc3JjL2xpYi91aS1kYXRlLXJhbmdlLWV4L3VpLWRhdGUtcmFuZ2UtZXguY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmFyc2Etc2FwLXVpL3NyYy9saWIvdWktZGF0ZS1yYW5nZS1leC91aS1kYXRlLXJhbmdlLWV4LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQWMsU0FBUyxFQUFVLHVCQUF1QixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRWxHLE9BQU8sRUFDSCxrQkFBa0IsRUFDbEIsUUFBUSxFQUNSLFdBQVcsRUFDWCxpQkFBaUIsRUFDakIsVUFBVSxFQUNWLGlCQUFpQixFQUNqQixnQkFBZ0IsRUFDaEIsVUFBVSxFQUNiLE1BQU0sc0JBQXNCLENBQUM7Ozs7Ozs7OztBQUc5QixTQUFTLGNBQWMsQ0FBQyxVQUFzQjtJQUMxQyxNQUFNLE9BQU8sR0FBRyxRQUFRLENBQUMsYUFBYSxDQUFDLE9BQU8sQ0FBQztJQUMvQyxRQUFRLE9BQU8sRUFBRTtRQUNiLEtBQUssT0FBTztZQUNSLE9BQU8sSUFBSSxpQkFBaUIsQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUM3QyxLQUFLLE9BQU87WUFDUixPQUFPLElBQUksZ0JBQWdCLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDNUM7WUFDSSxPQUFPLElBQUksaUJBQWlCLENBQUMsVUFBVSxDQUFDLENBQUM7S0FDaEQ7QUFDTCxDQUFDO0FBZUQsTUFBTSxPQUFPLHNCQUF1QixTQUFRLGtCQUFrQjtJQWI5RDs7UUFrQkksYUFBUSxHQUFHLEVBQUUsQ0FBQztRQUNkLFVBQUssR0FBUSxJQUFJLFFBQVEsQ0FBQyxNQUFNLENBQUMsYUFBYSxFQUFFLENBQUM7UUFDakQsZUFBVSxH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QUMsY0FBYyxFQUFFLENBQUM7Z0JBQ3RDLE1BQU07WUFDVixLQUFLLE9BQU87Z0JBQ1IsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7Z0JBQ2pDLE1BQU07WUFDVixLQUFLLFdBQVc7Z0JBQ1osSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7Z0JBQ3JDLE1BQU07WUFDVixLQUFLLFVBQVU7Z0JBQ1gsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7Z0JBQ3BDLE1BQU07WUFDVixLQUFLLFVBQVU7Z0JBQ1gsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7Z0JBQ3BDLE1BQU07WUFDVixLQUFLLFVBQVU7Z0JBQ1gsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7Z0JBQ3BDLE1BQU07WUFDVixLQUFLLFdBQVc7Z0JBQ1osSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7Z0JBQ3JDLE1BQU07WUFDVixLQUFLLFdBQVc7Z0JBQ1osSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7Z0JBQ3JDLE1BQU07WUFDVixLQUFLLFdBQVc7Z0JBQ1osSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7Z0JBQ3JDLE1BQU07WUFDVixLQUFLLFVBQVU7Z0JBQ1gsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7Z0JBQ3BDLE1BQU07WUFDVixLQUFLLFVBQVU7Z0JBQ1gsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7Z0JBQ3BDLE1BQU07WUFDVixLQUFLLFVBQVU7Z0JBQ1gsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7Z0JBQ3BDLE1BQU07WUFDVjtnQkFDSSxJQUFJLENBQUMsUUFBUSxHQUFHLFFBQVEsQ0FBQyxHQUFHLENBQUMsVUFBVSxDQUFDO2dCQUN4QyxJQUFJLENBQUMsd0JBQXdCLEVBQUUsQ0FBQztTQUN2QztJQUNMLENBQUM7SUFFTyxTQUFTO1FBQ2IsT0FBTyxRQUFRLENBQUMsR0FBRyxDQUFDLFdBQVcsR0FBRyxJQUFJLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDbEYsQ0FBQztJQUVPLFlBQVk7UUFDaEIsT0FBTyxRQUFRLENBQUMsR0FBRyxDQUFDLGNBQWMsR0FBRyxJQUFJLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxVQUFVLENBQUMsVUFBVSxDQUFDLENBQUM7SUFDekYsQ0FBQztJQUVPLGFBQWE7UUFDakIsT0FBTyxRQUFRLENBQUMsR0FBRyxDQUFDLGVBQWUsR0FBRyxJQUFJLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxXQUFXLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDNUYsQ0FBQztJQUVPLFlBQVk7UUFDaEIsT0FBTyxRQUFRLENBQUMsR0FBRyxDQUFDLGNBQWMsR0FBRyxJQUFJLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxVQUFVLENBQUMsVUFBVSxDQUFDLENBQUM7SUFDekYsQ0FBQztJQUVPLGNBQWM7UUFDbEIsT0FBTyxRQUFRLENBQUMsR0FBRyxDQUFDLGdCQUFnQixHQUFHLElBQUksR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLFNBQVMsQ0FBQyxZQUFZLENBQUMsQ0FBQztJQUM1RixDQUFDO0lBRU8sWUFBWTtRQUNoQixPQUFPLFFBQVEsQ0FBQyxHQUFHLENBQUMsY0FBYyxHQUFHLElBQUksR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLFVBQVUsQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUN6RixDQUFDO0lBRU8sYUFBYTtRQUNqQixPQUFPLFFBQVEsQ0FBQyxHQUFHLENBQUMsZUFBZSxHQUFHLElBQUksR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLFdBQVcsQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUM1RixDQUFDO0lBRU8sWUFBWTtRQUNoQixPQUFPLFFBQVEsQ0FBQyxHQUFHLENBQUMsY0FBYyxHQUFHLElBQUksR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLFVBQVUsQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUN6RixDQUFDO0lBRU8sYUFBYTtRQUNqQixPQUFPLFFBQVEsQ0FBQyxHQUFHLENBQUMsZUFBZSxHQUFHLElBQUksR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLFNBQVMsQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUMxRixDQUFDO0lBRU8sWUFBWTtRQUNoQixPQUFPLFFBQVEsQ0FBQyxHQUFHLENBQUMsY0FBYyxHQUFHLElBQUksR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLFVBQVUsQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUN6RixDQUFDO0lBRU8sYUFBYTtRQUNqQixPQUFPLFFBQVEsQ0FBQyxHQUFHLENBQUMsZUFBZSxHQUFHLElBQUksR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLFdBQVcsQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUM1RixDQUFDO0lBRU8sWUFBWTtRQUNoQixPQUFPLFFBQVEsQ0FBQyxHQUFHLENBQUMsY0FBYyxHQUFHLElBQUksR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLFVBQVUsQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUN6RixDQUFDO0lBRU8sd0JBQXdCO1FBQzVCLFVBQVUsQ0FBQyxHQUFHLEVBQUU7WUFDWixNQUFNLGlCQUFpQixHQUFHLElBQUksQ0FBQyxlQUFlLEVBQUUsYUFBYSxDQUFDO1lBQzlELElBQUksaUJBQWlCLEVBQUU7Z0JBQ25CLE1BQU0sVUFBVSxHQUFHLGlCQUFpQixDQUFDLFVBQVUsRUFBRSxhQUFhLENBQUMsd0JBQXdCLENBQUMsQ0FBQztnQkFDekYsSUFBSSxDQUFDLFVBQVUsQ0FBQyxZQUFZLENBQ3hCLFVBQVUsRUFDVixPQUFPLEVBQ1AseURBQXlELENBQzVELENBQUM7YUFDTDtRQUNMLENBQUMsRUFBRSxHQUFHLENBQUMsQ0FBQztJQUNaLENBQUM7O21IQXRLUSxzQkFBc0I7dUdBQXRCLHNCQUFzQiwrQ0FScEI7UUFDUDtZQUNJLE9BQU8sRUFBRSxXQUFXO1lBQ3BCLFVBQVUsRUFBRSxjQUFjO1lBQzFCLElBQUksRUFBRSxDQUFDLFVBQVUsQ0FBQztTQUNyQjtLQUNKLHlWQ3JDTCxxdUVBNERBOzJGRHJCYSxzQkFBc0I7a0JBYmxDLFNBQVM7K0JBQ0ksc0JBQXNCLG1CQUdmLHVCQUF1QixDQUFDLE1BQU0sYUFDcEM7d0JBQ1A7NEJBQ0ksT0FBTyxFQUFFLFdBQVc7NEJBQ3BCLFVBQVUsRUFBRSxjQUFjOzRCQUMxQixJQUFJLEVBQUUsQ0FBQyxVQUFVLENBQUM7eUJBQ3JCO3FCQUNKOzhCQUc2QixlQUFlO3NCQUE1QyxTQUFTO3VCQUFDLGlCQUFpQjtnQkFDWSxPQUFPO3NCQUE5QyxTQUFTO3VCQUFDLFNBQVMsRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUU7Z0JBQ2xCLEtBQUs7c0JBQXhCLFNBQVM7dUJBQUMsT0FBTyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRWxlbWVudFJlZiwgVmlld0NoaWxkLCBPbkluaXQsIENoYW5nZURldGVjdGlvblN0cmF0ZWd5IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG5pbXBvcnQge1xyXG4gICAgRmllbGRCYXNlQ29tcG9uZW50LFxyXG4gICAgQmFyc2FBcGksXHJcbiAgICBEYXRlU2VydmljZSxcclxuICAgIERhdGVTaGFtc2lTZXJ2aWNlLFxyXG4gICAgTG9nU2VydmljZSxcclxuICAgIERhdGVNaWxhZGlTZXJ2aWNlLFxyXG4gICAgRGF0ZUhpanJpU2VydmljZSxcclxuICAgIERhdGVSYW5nZXNcclxufSBmcm9tICdiYXJzYS1ub3Zpbi1yYXktY29yZSc7XHJcbmltcG9ydCB7IEFsZXJ0Q29tcG9uZW50LCBQb3BvdmVyQ29tcG9uZW50IH0gZnJvbSAnQGZ1bmRhbWVudGFsLW5neC9jb3JlJztcclxuXHJcbmZ1bmN0aW9uIGdldERhdGVTZXJ2aWNlKGxvZ1NlcnZpY2U6IExvZ1NlcnZpY2UpOiBEYXRlU2VydmljZSB7XHJcbiAgICBjb25zdCBjdWx0dXJlID0gQmFyc2FBcGkuTG9naW5Gb3JtRGF0YS5DdWx0dXJlO1xyXG4gICAgc3dpdGNoIChjdWx0dXJlKSB7XHJcbiAgICAgICAgY2FzZSAnZmEtSVInOlxyXG4gICAgICAgICAgICByZXR1cm4gbmV3IERhdGVTaGFtc2lTZXJ2aWNlKGxvZ1NlcnZpY2UpO1xyXG4gICAgICAgIGNhc2UgJ2FyLUFFJzpcclxuICAgICAgICAgICAgcmV0dXJuIG5ldyBEYXRlSGlqcmlTZXJ2aWNlKGxvZ1NlcnZpY2UpO1xyXG4gICAgICAgIGRlZmF1bHQ6XHJcbiAgICAgICAgICAgIHJldHVybiBuZXcgRGF0ZU1pbGFkaVNlcnZpY2UobG9nU2VydmljZSk7XHJcbiAgICB9XHJcbn1cclxuXHJcbkBDb21wb25lbnQoe1xyXG4gICAgc2VsZWN0b3I6ICdic3UtdWktZGF0ZS1yYW5nZS1leCcsXHJcbiAgICB0ZW1wbGF0ZVVybDogJy4vdWktZGF0ZS1yYW5nZS1leC5jb21wb25lbnQuaHRtbCcsXHJcbiAgICBzdHlsZVVybHM6IFsnLi91aS1kYXRlLXJhbmdlLWV4LmNvbXBvbmVudC5zY3NzJ10sXHJcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcclxuICAgIHByb3ZpZGVyczogW1xyXG4gICAgICAgIHtcclxuICAgICAgICAgICAgcHJvdmlkZTogRGF0ZVNlcnZpY2UsXHJcbiAgICAgICAgICAgIHVzZUZhY3Rvcnk6IGdldERhdGVTZXJ2aWNlLFxyXG4gICAgICAgICAgICBkZXBzOiBbTG9nU2VydmljZV1cclxuICAgICAgICB9XHJcbiAgICBdXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBVaURhdGVSYW5nZUV4Q29tcG9uZW50IGV4dGVuZHMgRmllbGRCYXNlQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcclxuICAgIEBWaWV3Q2hpbGQoJ2RhdGVSYW5nZVBpY2tlcicpIGRhdGVSYW5nZVBpY2tlcjogRWxlbWVudFJlZjxIVE1MRWxlbWVudD47XHJcbiAgICBAVmlld0NoaWxkKCdwb3BvdmVyJywgeyBzdGF0aWM6IHRydWUgfSkgcG9wb3ZlcjogUG9wb3ZlckNvbXBvbmVudDtcclxuICAgIEBWaWV3Q2hpbGQoJ2FsZXJ0JykgYWxlcnQ6IEFsZXJ0Q29tcG9uZW50O1xyXG5cclxuICAgIHZhbHVlU3RyID0gJyc7XHJcbiAgICB2YWx1ZTogYW55ID0gbmV3IEJhcnNhQXBpLkNvbW1vbi5EYXRlUmFuZ2VEYXRhKCk7XHJcbiAgICBkYXRlUmFuZ2VzID0gRGF0ZVJhbmdlcztcclxuICAgIGlzT3BlblBvcG92ZXI6IGJvb2xlYW47XHJcblxyXG4gICAgZ2V0IF9pc1ZhbGlkUG9wb3ZlcigpOiBib29sZWFuIHtcclxuICAgICAgICBjb25zdCBtb2RlID0gdGhpcy52YWx1ZS5EYXRlUmFuZ2VUeXBlO1xyXG4gICAgICAgIHJldHVybiAvV2Vla3xEYXl8VG9kYXl8UmFuZ2UvLnRlc3QobW9kZSkgJiYgdGhpcy52YWx1ZVN0ciAhPT0gJyc7XHJcbiAgICB9XHJcbiAgICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgICAgICBzdXBlci5uZ09uSW5pdCgpO1xyXG4gICAgICAgIGlmICghdGhpcy52YWx1ZSkge1xyXG4gICAgICAgICAgICB0aGlzLmNvbnRleHQudmFsdWUgPSB0aGlzLnZhbHVlID0gdGhpcy5fZGVmYXVsdFZhbHVlKHRoaXMudmFsdWUpO1xyXG4gICAgICAgIH1cclxuICAgICAgICB0aGlzLl9kZWNvcmF0ZURhdGVSYW5nZVBpY2tlcigpO1xyXG4gICAgfVxyXG5cclxuICAgIG9uRGF0ZVJhbmdlVHlwZUNoYW5nZShkYXRlUmFuZ2VUeXBlKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5fc2V0VmFsdWVTdHIoZGF0ZVJhbmdlVHlwZS5yZXBsYWNlKCdEYXRlUl8nLCAnJykpO1xyXG4gICAgICAgIHRoaXMudmFsdWVDaGFuZ2UuZW1pdCh0aGlzLnZhbHVlKTtcclxuICAgIH1cclxuICAgIG9uRGF0ZVJhbmdlQ2hhbmdlKCk6IHZvaWQge1xyXG4gICAgICAgIGNvbnN0IGVsOiBhbnkgPSB0aGlzLmRhdGVSYW5nZVBpY2tlci5uYXRpdmVFbGVtZW50O1xyXG4gICAgICAgIHRoaXMudmFsdWUuRmlyc3REYXRlID0gZWwuZmlyc3REYXRlVmFsdWU7XHJcbiAgICAgICAgdGhpcy52YWx1ZS5TZWNvbmREYXRlID0gZWwubGFzdERhdGVWYWx1ZTtcclxuICAgICAgICB0aGlzLnZhbHVlQ2hhbmdlLmVtaXQodGhpcy52YWx1ZSk7XHJcbiAgICAgICAgY29uc3QgZmlyc3REYXRlU3RyID0gdGhpcy5fZGF0ZVNlcnZpY2UuZ2V0RGF0ZVN0cmluZyh0aGlzLnZhbHVlLkZpcnN0RGF0ZSwgdHJ1ZSwgZmFsc2UpO1xyXG4gICAgICAgIGNvbnN0IHNlY29uZERhdGVTdHIgPSB0aGlzLl9kYXRlU2VydmljZS5nZXREYXRlU3RyaW5nKHRoaXMudmFsdWUuU2Vjb25kRGF0ZSwgdHJ1ZSwgZmFsc2UpO1xyXG4gICAgICAgIHRoaXMudmFsdWVTdHIgPSBmaXJzdERhdGVTdHIgKyAnINiq2KcgJyArIHNlY29uZERhdGVTdHI7XHJcbiAgICB9XHJcblxyXG4gICAgb25PcGVuUG9wb3ZlcigpOiB2b2lkIHtcclxuICAgICAgICBpZiAodGhpcy5faXNWYWxpZFBvcG92ZXIgJiYgdGhpcy5faXNWYWxpZFBvcG92ZXIpIHtcclxuICAgICAgICAgICAgdGhpcy5wb3BvdmVyLm9wZW4oKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgcHJvdGVjdGVkIF9zZXRWYWx1ZSh2YWx1ZTogYW55KTogdm9pZCB7XHJcbiAgICAgICAgaWYgKCF2YWx1ZSkge1xyXG4gICAgICAgICAgICB0aGlzLmNvbnRleHQudmFsdWUgPSB2YWx1ZSA9IHRoaXMuX2RlZmF1bHRWYWx1ZSh2YWx1ZSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRoaXMuX3NldFZhbHVlU3RyKHZhbHVlLkRhdGVSYW5nZVR5cGUpO1xyXG4gICAgICAgIHN1cGVyLl9zZXRWYWx1ZSh2YWx1ZSk7XHJcbiAgICB9XHJcbiAgICBwcml2YXRlIF9kZWZhdWx0VmFsdWUodmFsdWUpOiBhbnkge1xyXG4gICAgICAgIGlmICghdmFsdWUpIHtcclxuICAgICAgICAgICAgdmFsdWUgPSB7XHJcbiAgICAgICAgICAgICAgICBEYXRlUmFuZ2VUeXBlOiAnTm9uZSdcclxuICAgICAgICAgICAgfTtcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIHZhbHVlO1xyXG4gICAgfVxyXG4gICAgcHJpdmF0ZSBfc2V0VmFsdWVTdHIoZGF0ZVJhbmdlVHlwZTogc3RyaW5nKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy52YWx1ZS5EYXRlUmFuZ2VUeXBlID0gZGF0ZVJhbmdlVHlwZTtcclxuICAgICAgICBzd2l0Y2ggKGRhdGVSYW5nZVR5cGUpIHtcclxuICAgICAgICAgICAgY2FzZSAnU3BlY2lmaWNSYW5nZSc6XHJcbiAgICAgICAgICAgICAgICB0aGlzLnZhbHVlU3RyID0gJyc7XHJcbiAgICAgICAgICAgICAgICB0aGlzLl9kZWNvcmF0ZURhdGVSYW5nZVBpY2tlcigpO1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgICAgICBjYXNlICdEYXlzQmVmb3JlJzpcclxuICAgICAgICAgICAgICAgIHRoaXMudmFsdWVTdHIgPSB0aGlzLl9nZXREYXlzQmVmb3JlKCk7XHJcbiAgICAgICAgICAgICAgICBicmVhaztcclxuICAgICAgICAgICAgY2FzZSAnVG9kYXknOlxyXG4gICAgICAgICAgICAgICAgdGhpcy52YWx1ZVN0ciA9IHRoaXMuX2dldFRvZGF5KCk7XHJcbiAgICAgICAgICAgICAgICBicmVhaztcclxuICAgICAgICAgICAgY2FzZSAnRGF5c0FmdGVyJzpcclxuICAgICAgICAgICAgICAgIHRoaXMudmFsdWVTdHIgPSB0aGlzLl9nZXREYXlzQWZ0ZXIoKTtcclxuICAgICAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgICAgICBjYXNlICdQcmV2V2Vlayc6XHJcbiAgICAgICAgICAgICAgICB0aGlzLnZhbHVlU3RyID0gdGhpcy5fZ2V0UHJldldlZWsoKTtcclxuICAgICAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgICAgICBjYXNlICdUaGlzV2Vlayc6XHJcbiAgICAgICAgICAgICAgICB0aGlzLnZhbHVlU3RyID0gdGhpcy5fZ2V0VGhpc1dlZWsoKTtcclxuICAgICAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgICAgICBjYXNlICdOZXh0V2Vlayc6XHJcbiAgICAgICAgICAgICAgICB0aGlzLnZhbHVlU3RyID0gdGhpcy5fZ2V0TmV4dFdlZWsoKTtcclxuICAgICAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgICAgICBjYXNlICdQcmV2TW9udGgnOlxyXG4gICAgICAgICAgICAgICAgdGhpcy52YWx1ZVN0ciA9IHRoaXMuX2dldFByZXZNb250aCgpO1xyXG4gICAgICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgICAgIGNhc2UgJ1RoaXNNb250aCc6XHJcbiAgICAgICAgICAgICAgICB0aGlzLnZhbHVlU3RyID0gdGhpcy5fZ2V0VGhpc01vbnRoKCk7XHJcbiAgICAgICAgICAgICAgICBicmVhaztcclxuICAgICAgICAgICAgY2FzZSAnTmV4dE1vbnRoJzpcclxuICAgICAgICAgICAgICAgIHRoaXMudmFsdWVTdHIgPSB0aGlzLl9nZXROZXh0TW9udGgoKTtcclxuICAgICAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgICAgICBjYXNlICdQcmV2WWVhcic6XHJcbiAgICAgICAgICAgICAgICB0aGlzLnZhbHVlU3RyID0gdGhpcy5fZ2V0UHJldlllYXIoKTtcclxuICAgICAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgICAgICBjYXNlICdUaGlzWWVhcic6XHJcbiAgICAgICAgICAgICAgICB0aGlzLnZhbHVlU3RyID0gdGhpcy5fZ2V0VGhpc1llYXIoKTtcclxuICAgICAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgICAgICBjYXNlICdOZXh0WWVhcic6XHJcbiAgICAgICAgICAgICAgICB0aGlzLnZhbHVlU3RyID0gdGhpcy5fZ2V0TmV4dFllYXIoKTtcclxuICAgICAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgICAgICBkZWZhdWx0OlxyXG4gICAgICAgICAgICAgICAgdGhpcy52YWx1ZVN0ciA9IEJhcnNhQXBpLkJCQi5EYXRlUl9Ob25lO1xyXG4gICAgICAgICAgICAgICAgdGhpcy5fZGVjb3JhdGVEYXRlUmFuZ2VQaWNrZXIoKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBfZ2V0VG9kYXkoKTogc3RyaW5nIHtcclxuICAgICAgICByZXR1cm4gQmFyc2FBcGkuQkJCLkRhdGVSX1RvZGF5ICsgJzogJyArIHRoaXMuX2RhdGVTZXJ2aWNlLmdldERheVN0cignVG9kYXknKTtcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIF9nZXRUaGlzV2VlaygpOiBzdHJpbmcge1xyXG4gICAgICAgIHJldHVybiBCYXJzYUFwaS5CQkIuRGF0ZVJfVGhpc1dlZWsgKyAnOiAnICsgdGhpcy5fZGF0ZVNlcnZpY2UuZ2V0V2Vla1N0cignVGhpc1dlZWsnKTtcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIF9nZXRUaGlzTW9udGgoKTogc3RyaW5nIHtcclxuICAgICAgICByZXR1cm4gQmFyc2FBcGkuQkJCLkRhdGVSX1RoaXNNb250aCArICc6ICcgKyB0aGlzLl9kYXRlU2VydmljZS5nZXRNb250aFN0cignVGhpc01vbnRoJyk7XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBfZ2V0VGhpc1llYXIoKTogc3RyaW5nIHtcclxuICAgICAgICByZXR1cm4gQmFyc2FBcGkuQkJCLkRhdGVSX1RoaXNZZWFyICsgJzogJyArIHRoaXMuX2RhdGVTZXJ2aWNlLmdldFllYXJTdHIoJ1RoaXNZZWFyJyk7XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBfZ2V0RGF5c0JlZm9yZSgpOiBzdHJpbmcge1xyXG4gICAgICAgIHJldHVybiBCYXJzYUFwaS5CQkIuRGF0ZVJfRGF5c0JlZm9yZSArICc6ICcgKyB0aGlzLl9kYXRlU2VydmljZS5nZXREYXlTdHIoJ0RheXNCZWZvcmUnKTtcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIF9nZXRQcmV2V2VlaygpOiBzdHJpbmcge1xyXG4gICAgICAgIHJldHVybiBCYXJzYUFwaS5CQkIuRGF0ZVJfUHJldldlZWsgKyAnOiAnICsgdGhpcy5fZGF0ZVNlcnZpY2UuZ2V0V2Vla1N0cignUHJldldlZWsnKTtcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIF9nZXRQcmV2TW9udGgoKTogc3RyaW5nIHtcclxuICAgICAgICByZXR1cm4gQmFyc2FBcGkuQkJCLkRhdGVSX1ByZXZNb250aCArICc6ICcgKyB0aGlzLl9kYXRlU2VydmljZS5nZXRNb250aFN0cignUHJldk1vbnRoJyk7XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBfZ2V0UHJldlllYXIoKTogc3RyaW5nIHtcclxuICAgICAgICByZXR1cm4gQmFyc2FBcGkuQkJCLkRhdGVSX1ByZXZZZWFyICsgJzogJyArIHRoaXMuX2RhdGVTZXJ2aWNlLmdldFllYXJTdHIoJ1ByZXZZZWFyJyk7XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBfZ2V0RGF5c0FmdGVyKCk6IHN0cmluZyB7XHJcbiAgICAgICAgcmV0dXJuIEJhcnNhQXBpLkJCQi5EYXRlUl9EYXlzQWZ0ZXIgKyAnOiAnICsgdGhpcy5fZGF0ZVNlcnZpY2UuZ2V0RGF5U3RyKCdEYXlzQWZ0ZXInKTtcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIF9nZXROZXh0V2VlaygpOiBzdHJpbmcge1xyXG4gICAgICAgIHJldHVybiBCYXJzYUFwaS5CQkIuRGF0ZVJfTmV4dFdlZWsgKyAnOiAnICsgdGhpcy5fZGF0ZVNlcnZpY2UuZ2V0V2Vla1N0cignTmV4dFdlZWsnKTtcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIF9nZXROZXh0TW9udGgoKTogc3RyaW5nIHtcclxuICAgICAgICByZXR1cm4gQmFyc2FBcGkuQkJCLkRhdGVSX05leHRNb250aCArICc6ICcgKyB0aGlzLl9kYXRlU2VydmljZS5nZXRNb250aFN0cignTmV4dE1vbnRoJyk7XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBfZ2V0TmV4dFllYXIoKTogc3RyaW5nIHtcclxuICAgICAgICByZXR1cm4gQmFyc2FBcGkuQkJCLkRhdGVSX05leHRZZWFyICsgJzogJyArIHRoaXMuX2RhdGVTZXJ2aWNlLmdldFllYXJTdHIoJ05leHRZZWFyJyk7XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBfZGVjb3JhdGVEYXRlUmFuZ2VQaWNrZXIoKTogdm9pZCB7XHJcbiAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgICAgICAgIGNvbnN0IGVsRGF0ZVJhbmdlUGlja2VyID0gdGhpcy5kYXRlUmFuZ2VQaWNrZXI/Lm5hdGl2ZUVsZW1lbnQ7XHJcbiAgICAgICAgICAgIGlmIChlbERhdGVSYW5nZVBpY2tlcikge1xyXG4gICAgICAgICAgICAgICAgY29uc3QgdWk1SW5wdXRFbCA9IGVsRGF0ZVJhbmdlUGlja2VyLnNoYWRvd1Jvb3Q/LnF1ZXJ5U2VsZWN0b3IoJy51aTUtZGF0ZS1waWNrZXItaW5wdXQnKTtcclxuICAgICAgICAgICAgICAgIHRoaXMuX3JlbmRlcmVyMi5zZXRBdHRyaWJ1dGUoXHJcbiAgICAgICAgICAgICAgICAgICAgdWk1SW5wdXRFbCxcclxuICAgICAgICAgICAgICAgICAgICAnc3R5bGUnLFxyXG4gICAgICAgICAgICAgICAgICAgICdib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAwOyBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAwJ1xyXG4gICAgICAgICAgICAgICAgKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH0sIDUwMCk7XHJcbiAgICB9XHJcbn1cclxuIiwiPG5nLWNvbnRhaW5lciAqbmdJZj1cInZhbHVlPy5EYXRlUmFuZ2VUeXBlID09PSAnU3BlY2lmaWNSYW5nZSc7IGVsc2UgaW5wdXRcIj5cclxuICAgIDxkaXYgY2xhc3M9XCJpbnB1dC1jb250YWluZXJcIj5cclxuICAgICAgICA8dWk1LWRhdGVyYW5nZS1waWNrZXJcclxuICAgICAgICAgICAgaWQ9XCJteWRhdGVyYW5nZS1waWNrZXIxXCJcclxuICAgICAgICAgICAgKG1vdXNlb3Zlcik9XCJvbk9wZW5Qb3BvdmVyKClcIlxyXG4gICAgICAgICAgICAobW91c2VsZWF2ZSk9XCJwb3BvdmVyLmNsb3NlKClcIlxyXG4gICAgICAgICAgICAjZGF0ZVJhbmdlUGlja2VyXHJcbiAgICAgICAgICAgIChjaGFuZ2UpPVwib25EYXRlUmFuZ2VDaGFuZ2UoKVwiXHJcbiAgICAgICAgICAgIGZvcm1hdC1wYXR0ZXJuPVwieXl5eS9NTS9kZFwiXHJcbiAgICAgICAgICAgIFthdHRyLnJlYWRvbmx5XT1cIihyZWFkb25seSQgfCBhc3luYykgPT09IHRydWUgPyB0cnVlIDogbnVsbFwiXHJcbiAgICAgICAgICAgIFthdHRyLmRpc2FibGVkXT1cIihkaXNhYmxlJCB8IGFzeW5jKSA9PT0gdHJ1ZSA/IHRydWUgOiBudWxsXCJcclxuICAgICAgICAgICAgW3ByaW1hcnlDYWxlbmRhclR5cGVdPVwiU2V0dGluZy5DYWxlbmRhclR5cGUgIT09ICdHcmVnb3JpYW4nID8gJ1BlcnNpYW4nIDogU2V0dGluZy5DYWxlbmRhclR5cGVcIlxyXG4gICAgICAgID5cclxuICAgICAgICA8L3VpNS1kYXRlcmFuZ2UtcGlja2VyPlxyXG4gICAgICAgIDxidXR0b25cclxuICAgICAgICAgICAgY2xhc3M9XCJidG4tZHJvcC1kb3duXCJcclxuICAgICAgICAgICAgZmQtYnV0dG9uXHJcbiAgICAgICAgICAgIFtmZFR5cGVdPVwiJ3N0YW5kYXJkJ1wiXHJcbiAgICAgICAgICAgIFtnbHlwaF09XCInc2xpbS1hcnJvdy1kb3duJ1wiXHJcbiAgICAgICAgICAgIChjbGljayk9XCJwb3BvdmVyLm9wZW4oKVwiXHJcbiAgICAgICAgPjwvYnV0dG9uPlxyXG4gICAgPC9kaXY+XHJcbjwvbmctY29udGFpbmVyPlxyXG48bmctdGVtcGxhdGUgI2lucHV0PlxyXG4gICAgPCEtLSA8aW5wdXQgZmQtZm9ybS1jb250cm9sIFsobmdNb2RlbCldPVwidmFsdWVTdHJcIiBbZmQtaW5saW5lLWhlbHBdPVwidmFsdWVTdHJcIiBbcmVhZE9ubHldPVwidHJ1ZVwiIC8+IC0tPlxyXG5cclxuICAgIDxmZC1pbnB1dC1ncm91cFxyXG4gICAgICAgIHBsYWNlbWVudD1cImFmdGVyXCJcclxuICAgICAgICBnbHlwaD1cInNsaW0tYXJyb3ctZG93blwiXHJcbiAgICAgICAgZ2x5cGhBcmlhTGFiZWw9XCJTZWxlY3QgRGF0ZSBSYW5nZVwiXHJcbiAgICAgICAgW2J1dHRvbl09XCJ0cnVlXCJcclxuICAgICAgICBbbmdNb2RlbF09XCJ2YWx1ZVN0clwiXHJcbiAgICAgICAgKGFkZE9uQnV0dG9uQ2xpY2tlZCk9XCJwb3BvdmVyLm9wZW4oKVwiXHJcbiAgICA+XHJcbiAgICA8L2ZkLWlucHV0LWdyb3VwPlxyXG48L25nLXRlbXBsYXRlPlxyXG5cclxuPCEtLSA8YnV0dG9uIGZkLWJ1dHRvbj5cclxuICAgIDxmZC1zZWxlY3QgKHZhbHVlQ2hhbmdlKT1cIm9uRGF0ZVJhbmdlVHlwZUNoYW5nZSgkZXZlbnQpXCI+XHJcbiAgICAgICAgPGZkLW9wdGlvbiAqbmdGb3I9XCJsZXQgb3B0aW9uIG9mIGRhdGVSYW5nZXNcIiBbdmFsdWVdPVwib3B0aW9uXCI+e3sgb3B0aW9uIHwgYmJiVHJhbnNsYXRlIH19PC9mZC1vcHRpb24+XHJcbiAgICA8L2ZkLXNlbGVjdD5cclxuPC9idXR0b24+IC0tPlxyXG5cclxuPGZkLXBvcG92ZXJcclxuICAgICNwb3BvdmVyXHJcbiAgICBzdHlsZT1cImRpc3BsYXk6IGJsb2NrXCJcclxuICAgIFtmaWxsQ29udHJvbE1vZGVdPVwiJ2F0LWxlYXN0J1wiXHJcbiAgICBwbGFjZW1lbnQ9XCJib3R0b20tc3RhcnRcIlxyXG4gICAgWyhpc09wZW4pXT1cImlzT3BlblBvcG92ZXJcIlxyXG4+XHJcbiAgICA8ZmQtcG9wb3Zlci1ib2R5PlxyXG4gICAgICAgIDx1bCBmZC1saXN0PlxyXG4gICAgICAgICAgICA8bGkgZmQtbGlzdC1pdGVtICpuZ0Zvcj1cImxldCBvcHRpb24gb2YgZGF0ZVJhbmdlc1wiIChjbGljayk9XCJwb3BvdmVyLmNsb3NlKCk7IG9uRGF0ZVJhbmdlVHlwZUNoYW5nZShvcHRpb24pXCI+XHJcbiAgICAgICAgICAgICAgICA8YSBmZC1saXN0LWxpbms+XHJcbiAgICAgICAgICAgICAgICAgICAgPHNwYW4gZmQtbGlzdC10aXRsZT57eyBvcHRpb24gfCBiYmJUcmFuc2xhdGUgfX08L3NwYW4+XHJcbiAgICAgICAgICAgICAgICA8L2E+XHJcbiAgICAgICAgICAgIDwvbGk+XHJcbiAgICAgICAgPC91bD5cclxuICAgIDwvZmQtcG9wb3Zlci1ib2R5PlxyXG48L2ZkLXBvcG92ZXI+XHJcbiJdfQ==
@@ -91,7 +91,7 @@ UiDateTimeComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", ve
91
91
  useFactory: getDateService,
92
92
  deps: [LogService]
93
93
  }
94
- ], viewQueries: [{ propertyName: "datetimePickerRef", first: true, predicate: ["datetimePicker"], descendants: true }, { propertyName: "datePickerRef", first: true, predicate: ["datePicker"], descendants: true }, { propertyName: "durationPickerRef", first: true, predicate: ["durationPicker"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<input\n *ngIf=\"(disableOrReadonly$ | async)!!; else datetime\"\n fd-form-control\n type=\"text\"\n [attr.readonly]=\"(readonly$ | async) === true ? true : null\"\n [attr.disabled]=\"(disable$ | async) === true ? true : null\"\n [value]=\"valueCaption\"\n/>\n<ng-template #datetime>\n <div\n [style.display]=\"(disableOrReadonly$ | async)!! ? 'hidden' : 'block'\"\n [attr.dir]=\"Setting.IsLtr === true ? 'ltr' : 'rtl'\"\n >\n <bc-date-time-picker\n [value]=\"value\"\n [showDate]=\"Setting.ShowDate1\"\n [showTime]=\"Setting.ShowTime1\"\n [primaryCalendarType]=\"Setting.CalendarType\"\n [formatPattern]=\"formatPattern\"\n (valueChange)=\"onDateChange2($event)\"\n [readonly]=\"(readonly$ | async) === true ? true : false\"\n [disabled]=\"(disable$ | async) === true ? true : false\"\n >\n </bc-date-time-picker>\n </div>\n</ng-template>\n", styles: [":host{display:block}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.FormControlComponent, selector: "[fd-form-control]", inputs: ["state", "type", "class"] }, { kind: "directive", type: i2.InputFormControlDirective, selector: "input[fd-form-control]" }, { kind: "component", type: i3.DateTimePickerComponent, selector: "bc-date-time-picker", inputs: ["placeholder", "primaryCalendarType", "formatPattern", "value", "timeValue", "startRangeDate", "endRangeDate", "isRangePicker", "showTime", "showDate", "rtl", "readonly", "disabled"], outputs: ["rangeChange", "valueChange"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
94
+ ], viewQueries: [{ propertyName: "datetimePickerRef", first: true, predicate: ["datetimePicker"], descendants: true }, { propertyName: "datePickerRef", first: true, predicate: ["datePicker"], descendants: true }, { propertyName: "durationPickerRef", first: true, predicate: ["durationPicker"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<input\n *ngIf=\"(disableOrReadonly$ | async)!!; else datetime\"\n fd-form-control\n type=\"text\"\n [attr.readonly]=\"(readonly$ | async) === true ? true : null\"\n [attr.disabled]=\"(disable$ | async) === true ? true : null\"\n [value]=\"value ? valueCaption : ''\"\n/>\n<ng-template #datetime>\n <div\n [style.display]=\"(disableOrReadonly$ | async)!! ? 'hidden' : 'block'\"\n [attr.dir]=\"Setting.IsLtr === true ? 'ltr' : 'rtl'\"\n >\n <bc-date-time-picker\n [value]=\"value\"\n [showDate]=\"Setting.ShowDate1\"\n [showTime]=\"Setting.ShowTime1\"\n [primaryCalendarType]=\"Setting.CalendarType\"\n [formatPattern]=\"formatPattern\"\n (valueChange)=\"onDateChange2($event)\"\n [readonly]=\"(readonly$ | async) === true ? true : false\"\n [disabled]=\"(disable$ | async) === true ? true : false\"\n >\n </bc-date-time-picker>\n </div>\n</ng-template>\n", styles: [":host{display:block}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.FormControlComponent, selector: "[fd-form-control]", inputs: ["state", "type", "class"] }, { kind: "directive", type: i2.InputFormControlDirective, selector: "input[fd-form-control]" }, { kind: "component", type: i3.DateTimePickerComponent, selector: "bc-date-time-picker", inputs: ["placeholder", "primaryCalendarType", "formatPattern", "value", "timeValue", "startRangeDate", "endRangeDate", "isRangePicker", "showTime", "showDate", "rtl", "readonly", "disabled"], outputs: ["rangeChange", "valueChange"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
95
95
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: UiDateTimeComponent, decorators: [{
96
96
  type: Component,
97
97
  args: [{ selector: 'bsu-ui-date-time', providers: [
@@ -100,7 +100,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.7", ngImpor
100
100
  useFactory: getDateService,
101
101
  deps: [LogService]
102
102
  }
103
- ], changeDetection: ChangeDetectionStrategy.OnPush, template: "<input\n *ngIf=\"(disableOrReadonly$ | async)!!; else datetime\"\n fd-form-control\n type=\"text\"\n [attr.readonly]=\"(readonly$ | async) === true ? true : null\"\n [attr.disabled]=\"(disable$ | async) === true ? true : null\"\n [value]=\"valueCaption\"\n/>\n<ng-template #datetime>\n <div\n [style.display]=\"(disableOrReadonly$ | async)!! ? 'hidden' : 'block'\"\n [attr.dir]=\"Setting.IsLtr === true ? 'ltr' : 'rtl'\"\n >\n <bc-date-time-picker\n [value]=\"value\"\n [showDate]=\"Setting.ShowDate1\"\n [showTime]=\"Setting.ShowTime1\"\n [primaryCalendarType]=\"Setting.CalendarType\"\n [formatPattern]=\"formatPattern\"\n (valueChange)=\"onDateChange2($event)\"\n [readonly]=\"(readonly$ | async) === true ? true : false\"\n [disabled]=\"(disable$ | async) === true ? true : false\"\n >\n </bc-date-time-picker>\n </div>\n</ng-template>\n", styles: [":host{display:block}\n"] }]
103
+ ], changeDetection: ChangeDetectionStrategy.OnPush, template: "<input\n *ngIf=\"(disableOrReadonly$ | async)!!; else datetime\"\n fd-form-control\n type=\"text\"\n [attr.readonly]=\"(readonly$ | async) === true ? true : null\"\n [attr.disabled]=\"(disable$ | async) === true ? true : null\"\n [value]=\"value ? valueCaption : ''\"\n/>\n<ng-template #datetime>\n <div\n [style.display]=\"(disableOrReadonly$ | async)!! ? 'hidden' : 'block'\"\n [attr.dir]=\"Setting.IsLtr === true ? 'ltr' : 'rtl'\"\n >\n <bc-date-time-picker\n [value]=\"value\"\n [showDate]=\"Setting.ShowDate1\"\n [showTime]=\"Setting.ShowTime1\"\n [primaryCalendarType]=\"Setting.CalendarType\"\n [formatPattern]=\"formatPattern\"\n (valueChange)=\"onDateChange2($event)\"\n [readonly]=\"(readonly$ | async) === true ? true : false\"\n [disabled]=\"(disable$ | async) === true ? true : false\"\n >\n </bc-date-time-picker>\n </div>\n</ng-template>\n", styles: [":host{display:block}\n"] }]
104
104
  }], propDecorators: { datetimePickerRef: [{
105
105
  type: ViewChild,
106
106
  args: ['datetimePicker']
@@ -113,4 +113,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.7", ngImpor
113
113
  }], GetCaption: [{
114
114
  type: Input
115
115
  }] } });
116
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidWktZGF0ZS10aW1lLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2JhcnNhLXNhcC11aS9zcmMvbGliL3VpLWRhdGUtdGltZS91aS1kYXRlLXRpbWUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmFyc2Etc2FwLXVpL3NyYy9saWIvdWktZGF0ZS10aW1lL3VpLWRhdGUtdGltZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWlCLFNBQVMsRUFBc0IsS0FBSyxFQUFFLFNBQVMsRUFBRSx1QkFBdUIsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN4SCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsV0FBVyxFQUFFLFVBQVUsRUFBRSxjQUFjLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQzs7Ozs7QUFlbkcsTUFBTSxPQUFPLG1CQUFvQixTQUFRLGtCQUFrQjtJQWIzRDs7UUFtQkksaUJBQVksR0FBRyxFQUFFLENBQUM7UUE4RWxCLG9CQUFvQjtRQUNYLGVBQVUsR0FBRyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDO0tBQ2pEO0lBN0VHLFFBQVE7UUFDSixLQUFLLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDakIsSUFBSSxPQUFPLElBQUksQ0FBQyxLQUFLLEtBQUssUUFBUSxJQUFJLElBQUksQ0FBQyxLQUFLLEVBQUU7WUFDOUMsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssR0FBRyxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7U0FDMUQ7UUFDRCxJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsU0FBUyxJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDO1FBQ3JFLE1BQU0sVUFBVSxHQUFXLElBQUksQ0FBQyxPQUFPLENBQUMsVUFBVSxFQUFFLFdBQVcsRUFBRSxDQUFDO1FBQ2xFLElBQUksV0FBVyxHQUFHLEVBQUUsQ0FBQztRQUNyQixJQUFJLFVBQVUsRUFBRTtZQUNaLFdBQVcsR0FBRyxHQUFHLENBQUM7WUFDbEIsVUFBVSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRTtnQkFDbEMsUUFBUSxHQUFHLEVBQUU7b0JBQ1QsS0FBSyxHQUFHO3dCQUNKLFdBQVcsSUFBSSxJQUFJLENBQUM7d0JBQ3BCLE1BQU07b0JBQ1YsS0FBSyxHQUFHO3dCQUNKLFdBQVcsSUFBSSxLQUFLLENBQUM7d0JBQ3JCLE1BQU07b0JBQ1YsS0FBSyxHQUFHO3dCQUNKLFdBQVcsSUFBSSxLQUFLLENBQUM7d0JBQ3JCLE1BQU07aUJBQ2I7WUFDTCxDQUFDLENBQUMsQ0FBQztTQUNOO1FBQ0QsdUJBQXVCO1FBQ3ZCLElBQUksQ0FBQyxhQUFhLEdBQUcsYUFBYSxXQUFXLEVBQUUsQ0FBQztRQUNoRCx1RUFBdUU7UUFDdkUsOEJBQThCO1FBRTlCLHFDQUFxQztRQUNyQyxNQUFNO1FBQ04sd0NBQXdDO0lBQzVDLENBQUM7SUFFRCxlQUFlO1FBQ1gsS0FBSyxDQUFDLGVBQWUsRUFBRSxDQUFDO1FBQ3hCLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ2pDLENBQUM7SUFDRCxnQkFBZ0I7UUFDWixNQUFNLHFCQUFxQixHQUFHLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxhQUFhLENBQUM7UUFDbkUsSUFBSSxDQUFDLEtBQUssR0FBRyxxQkFBcUIsQ0FBQyxTQUFTLENBQUM7UUFDN0MsSUFBSSxDQUFDLFlBQVksR0FBRyxxQkFBcUIsQ0FBQyxLQUFLLENBQUM7UUFDaEQsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3RDLENBQUM7SUFDRCxZQUFZO1FBQ1IsTUFBTSxpQkFBaUIsR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLGFBQWEsQ0FBQztRQUMzRCxJQUFJLENBQUMsZ0JBQWdCLENBQUMsaUJBQWlCLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDdkQsQ0FBQztJQUNELGFBQWEsQ0FBQyxJQUFJO1FBQ2QsSUFBSSxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ2hDLENBQUM7SUFFRCxnQkFBZ0IsQ0FBQyxDQUFDO1FBQ2QsTUFBTSxFQUFFLEtBQUssRUFBRSxHQUFHLENBQUMsQ0FBQyxNQUFNLENBQUM7UUFDM0IsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUU7WUFDYixJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksSUFBSSxFQUFFLENBQUM7U0FDM0I7UUFDRCxNQUFNLElBQUksR0FBRyxLQUFLLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQzlCLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDdkUsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUMsaUJBQWlCLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQztRQUMvRCxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDdEMsQ0FBQztJQUNTLFNBQVMsQ0FBQyxLQUFXO1FBQzNCLElBQUksQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDeEIsS0FBSyxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUMzQixDQUFDO0lBQ08sZ0JBQWdCLENBQUMsU0FBZTtRQUNwQyxJQUFJLENBQUMsS0FBSyxHQUFHLFNBQVMsQ0FBQztRQUN2QixJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQywyQkFBMkI7UUFDNUUsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3RDLENBQUM7SUFDTyxXQUFXLENBQUMsS0FBVztRQUMzQixPQUFPLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLFlBQVk7WUFDNUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDO0lBQ3ZFLENBQUM7O2dIQW5GUSxtQkFBbUI7b0dBQW5CLG1CQUFtQixpRkFUakI7UUFDUDtZQUNJLE9BQU8sRUFBRSxXQUFXO1lBQ3BCLFVBQVUsRUFBRSxjQUFjO1lBQzFCLElBQUksRUFBRSxDQUFDLFVBQVUsQ0FBQztTQUNyQjtLQUNKLDBXQ2JMLGkrQkEwQkE7MkZEVmEsbUJBQW1CO2tCQWIvQixTQUFTOytCQUNJLGtCQUFrQixhQUdqQjt3QkFDUDs0QkFDSSxPQUFPLEVBQUUsV0FBVzs0QkFDcEIsVUFBVSxFQUFFLGNBQWM7NEJBQzFCLElBQUksRUFBRSxDQUFDLFVBQVUsQ0FBQzt5QkFDckI7cUJBQ0osbUJBQ2dCLHVCQUF1QixDQUFDLE1BQU07OEJBR2xCLGlCQUFpQjtzQkFBN0MsU0FBUzt1QkFBQyxnQkFBZ0I7Z0JBQ0YsYUFBYTtzQkFBckMsU0FBUzt1QkFBQyxZQUFZO2dCQUNNLGlCQUFpQjtzQkFBN0MsU0FBUzt1QkFBQyxnQkFBZ0I7Z0JBa0ZsQixVQUFVO3NCQUFsQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQWZ0ZXJWaWV3SW5pdCwgQ29tcG9uZW50LCBFbGVtZW50UmVmLCBPbkluaXQsIElucHV0LCBWaWV3Q2hpbGQsIENoYW5nZURldGVjdGlvblN0cmF0ZWd5IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGaWVsZEJhc2VDb21wb25lbnQsIERhdGVTZXJ2aWNlLCBMb2dTZXJ2aWNlLCBnZXREYXRlU2VydmljZSB9IGZyb20gJ2JhcnNhLW5vdmluLXJheS1jb3JlJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdic3UtdWktZGF0ZS10aW1lJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vdWktZGF0ZS10aW1lLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi91aS1kYXRlLXRpbWUuY29tcG9uZW50LnNjc3MnXSxcbiAgICBwcm92aWRlcnM6IFtcbiAgICAgICAge1xuICAgICAgICAgICAgcHJvdmlkZTogRGF0ZVNlcnZpY2UsXG4gICAgICAgICAgICB1c2VGYWN0b3J5OiBnZXREYXRlU2VydmljZSxcbiAgICAgICAgICAgIGRlcHM6IFtMb2dTZXJ2aWNlXVxuICAgICAgICB9XG4gICAgXSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxufSlcbmV4cG9ydCBjbGFzcyBVaURhdGVUaW1lQ29tcG9uZW50IGV4dGVuZHMgRmllbGRCYXNlQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBBZnRlclZpZXdJbml0IHtcbiAgICBAVmlld0NoaWxkKCdkYXRldGltZVBpY2tlcicpIGRhdGV0aW1lUGlja2VyUmVmOiBFbGVtZW50UmVmO1xuICAgIEBWaWV3Q2hpbGQoJ2RhdGVQaWNrZXInKSBkYXRlUGlja2VyUmVmOiBFbGVtZW50UmVmO1xuICAgIEBWaWV3Q2hpbGQoJ2R1cmF0aW9uUGlja2VyJykgZHVyYXRpb25QaWNrZXJSZWY6IEVsZW1lbnRSZWY7XG4gICAgZnVsbENhbGVuZGFyOiBib29sZWFuO1xuICAgIHZhbHVlOiBEYXRlO1xuICAgIHZhbHVlQ2FwdGlvbiA9ICcnO1xuICAgIGZvcm1hdFBhdHRlcm46IHN0cmluZztcblxuICAgIG5nT25Jbml0KCk6IHZvaWQge1xuICAgICAgICBzdXBlci5uZ09uSW5pdCgpO1xuICAgICAgICBpZiAodHlwZW9mIHRoaXMudmFsdWUgPT09ICdzdHJpbmcnICYmIHRoaXMudmFsdWUpIHtcbiAgICAgICAgICAgIHRoaXMudmFsdWUgPSB0aGlzLmNvbnRleHQudmFsdWUgPSBuZXcgRGF0ZSh0aGlzLnZhbHVlKTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLmZ1bGxDYWxlbmRhciA9IHRoaXMuU2V0dGluZy5TaG93VGltZTEgJiYgdGhpcy5TZXR0aW5nLlNob3dEYXRlMTtcbiAgICAgICAgY29uc3QgdGltZUZvcm1hdDogc3RyaW5nID0gdGhpcy5TZXR0aW5nLlRpbWVGb3JtYXQ/LnRvTG93ZXJDYXNlKCk7XG4gICAgICAgIGxldCB0aW1lRm9ybWF0MiA9ICcnO1xuICAgICAgICBpZiAodGltZUZvcm1hdCkge1xuICAgICAgICAgICAgdGltZUZvcm1hdDIgPSAnICc7XG4gICAgICAgICAgICB0aW1lRm9ybWF0LnNwbGl0KCc6JykuZm9yRWFjaCgodmFsKSA9PiB7XG4gICAgICAgICAgICAgICAgc3dpdGNoICh2YWwpIHtcbiAgICAgICAgICAgICAgICAgICAgY2FzZSAnaCc6XG4gICAgICAgICAgICAgICAgICAgICAgICB0aW1lRm9ybWF0MiArPSAnSEgnO1xuICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgICAgIGNhc2UgJ2knOlxuICAgICAgICAgICAgICAgICAgICAgICAgdGltZUZvcm1hdDIgKz0gJzptbSc7XG4gICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICAgICAgY2FzZSAncyc6XG4gICAgICAgICAgICAgICAgICAgICAgICB0aW1lRm9ybWF0MiArPSAnOlNTJztcbiAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICAgIC8vIHRpbWVGb3JtYXQyICs9ICcgQSc7XG4gICAgICAgIHRoaXMuZm9ybWF0UGF0dGVybiA9IGBZWVlZL01NL0REJHt0aW1lRm9ybWF0Mn1gO1xuICAgICAgICAvLyB0aGlzLnZhbHVlJC5waXBlKHRha2VVbnRpbCh0aGlzLl9vbkRlc3Ryb3kkKSkuc3Vic2NyaWJlKCh2YWx1ZSkgPT4ge1xuICAgICAgICAvLyAgIHRoaXMudmFsdWUgPSA8RGF0ZT52YWx1ZTtcblxuICAgICAgICAvLyAgIC8vIHRoaXMuX3NldFZhbHVlQ2FwdGlvbih2YWx1ZSk7XG4gICAgICAgIC8vIH0pO1xuICAgICAgICAvLyAvLyB0aGlzLl9zZXRWYWx1ZUNhcHRpb24odGhpcy52YWx1ZSk7XG4gICAgfVxuXG4gICAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgICAgICBzdXBlci5uZ0FmdGVyVmlld0luaXQoKTtcbiAgICAgICAgdGhpcy5fc2V0Q2FwdGlvbih0aGlzLnZhbHVlKTtcbiAgICB9XG4gICAgb25EYXRlVGltZUNoYW5nZSgpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgZGF0ZXRpbWVQaWNrZXJDb250cm9sID0gdGhpcy5kYXRldGltZVBpY2tlclJlZi5uYXRpdmVFbGVtZW50O1xuICAgICAgICB0aGlzLnZhbHVlID0gZGF0ZXRpbWVQaWNrZXJDb250cm9sLmRhdGVWYWx1ZTtcbiAgICAgICAgdGhpcy52YWx1ZUNhcHRpb24gPSBkYXRldGltZVBpY2tlckNvbnRyb2wudmFsdWU7XG4gICAgICAgIHRoaXMudmFsdWVDaGFuZ2UuZW1pdCh0aGlzLnZhbHVlKTtcbiAgICB9XG4gICAgb25EYXRlQ2hhbmdlKCk6IHZvaWQge1xuICAgICAgICBjb25zdCBkYXRlUGlja2VyQ29udHJvbCA9IHRoaXMuZGF0ZVBpY2tlclJlZi5uYXRpdmVFbGVtZW50O1xuICAgICAgICB0aGlzLl92YWx1ZURhdGVDaGFuZ2UoZGF0ZVBpY2tlckNvbnRyb2wuZGF0ZVZhbHVlKTtcbiAgICB9XG4gICAgb25EYXRlQ2hhbmdlMihkYXRlKTogdm9pZCB7XG4gICAgICAgIHRoaXMuX3ZhbHVlRGF0ZUNoYW5nZShkYXRlKTtcbiAgICB9XG5cbiAgICBvbkR1cmF0aW9uQ2hhbmdlKGUpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgeyB2YWx1ZSB9ID0gZS5kZXRhaWw7XG4gICAgICAgIGlmICghdGhpcy52YWx1ZSkge1xuICAgICAgICAgICAgdGhpcy52YWx1ZSA9IG5ldyBEYXRlKCk7XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgdGltZSA9IHZhbHVlLnNwbGl0KCc6Jyk7XG4gICAgICAgIHRoaXMudmFsdWUuc2V0SG91cnMoTnVtYmVyKHRpbWVbMF0pLCBOdW1iZXIodGltZVsxXSksIE51bWJlcih0aW1lWzJdKSk7XG4gICAgICAgIHRoaXMudmFsdWVDYXB0aW9uID0gdGhpcy5kdXJhdGlvblBpY2tlclJlZi5uYXRpdmVFbGVtZW50LnZhbHVlO1xuICAgICAgICB0aGlzLnZhbHVlQ2hhbmdlLmVtaXQodGhpcy52YWx1ZSk7XG4gICAgfVxuICAgIHByb3RlY3RlZCBfc2V0VmFsdWUodmFsdWU6IERhdGUpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fc2V0Q2FwdGlvbih2YWx1ZSk7XG4gICAgICAgIHN1cGVyLl9zZXRWYWx1ZSh2YWx1ZSk7XG4gICAgfVxuICAgIHByaXZhdGUgX3ZhbHVlRGF0ZUNoYW5nZShkYXRlVmFsdWU6IERhdGUpOiB2b2lkIHtcbiAgICAgICAgdGhpcy52YWx1ZSA9IGRhdGVWYWx1ZTtcbiAgICAgICAgdGhpcy52YWx1ZUNhcHRpb24gPSB0aGlzLl9zZXRDYXB0aW9uKGRhdGVWYWx1ZSk7IC8vIGRhdGVQaWNrZXJDb250cm9sLnZhbHVlO1xuICAgICAgICB0aGlzLnZhbHVlQ2hhbmdlLmVtaXQodGhpcy52YWx1ZSk7XG4gICAgfVxuICAgIHByaXZhdGUgX3NldENhcHRpb24odmFsdWU6IERhdGUpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gKHRoaXMuY29udGV4dC5jYXB0aW9uID0gdGhpcy52YWx1ZUNhcHRpb24gPVxuICAgICAgICAgICAgdGhpcy5fZGF0ZVNlcnZpY2UuZ2V0TW9tZW50KHZhbHVlKS5mb3JtYXQodGhpcy5mb3JtYXRQYXR0ZXJuKSk7XG4gICAgfVxuICAgIC8qIGVzbGludC1kaXNhYmxlICovXG4gICAgQElucHV0KCkgR2V0Q2FwdGlvbiA9ICgpID0+IHRoaXMudmFsdWVDYXB0aW9uO1xufVxuIiwiPGlucHV0XG4gICAgKm5nSWY9XCIoZGlzYWJsZU9yUmVhZG9ubHkkIHwgYXN5bmMpISE7IGVsc2UgZGF0ZXRpbWVcIlxuICAgIGZkLWZvcm0tY29udHJvbFxuICAgIHR5cGU9XCJ0ZXh0XCJcbiAgICBbYXR0ci5yZWFkb25seV09XCIocmVhZG9ubHkkIHwgYXN5bmMpID09PSB0cnVlID8gdHJ1ZSA6IG51bGxcIlxuICAgIFthdHRyLmRpc2FibGVkXT1cIihkaXNhYmxlJCB8IGFzeW5jKSA9PT0gdHJ1ZSA/IHRydWUgOiBudWxsXCJcbiAgICBbdmFsdWVdPVwidmFsdWVDYXB0aW9uXCJcbi8+XG48bmctdGVtcGxhdGUgI2RhdGV0aW1lPlxuICAgIDxkaXZcbiAgICAgICAgW3N0eWxlLmRpc3BsYXldPVwiKGRpc2FibGVPclJlYWRvbmx5JCB8IGFzeW5jKSEhID8gJ2hpZGRlbicgOiAnYmxvY2snXCJcbiAgICAgICAgW2F0dHIuZGlyXT1cIlNldHRpbmcuSXNMdHIgPT09IHRydWUgPyAnbHRyJyA6ICdydGwnXCJcbiAgICA+XG4gICAgICAgIDxiYy1kYXRlLXRpbWUtcGlja2VyXG4gICAgICAgICAgICBbdmFsdWVdPVwidmFsdWVcIlxuICAgICAgICAgICAgW3Nob3dEYXRlXT1cIlNldHRpbmcuU2hvd0RhdGUxXCJcbiAgICAgICAgICAgIFtzaG93VGltZV09XCJTZXR0aW5nLlNob3dUaW1lMVwiXG4gICAgICAgICAgICBbcHJpbWFyeUNhbGVuZGFyVHlwZV09XCJTZXR0aW5nLkNhbGVuZGFyVHlwZVwiXG4gICAgICAgICAgICBbZm9ybWF0UGF0dGVybl09XCJmb3JtYXRQYXR0ZXJuXCJcbiAgICAgICAgICAgICh2YWx1ZUNoYW5nZSk9XCJvbkRhdGVDaGFuZ2UyKCRldmVudClcIlxuICAgICAgICAgICAgW3JlYWRvbmx5XT1cIihyZWFkb25seSQgfCBhc3luYykgPT09IHRydWUgPyB0cnVlIDogZmFsc2VcIlxuICAgICAgICAgICAgW2Rpc2FibGVkXT1cIihkaXNhYmxlJCB8IGFzeW5jKSA9PT0gdHJ1ZSA/IHRydWUgOiBmYWxzZVwiXG4gICAgICAgID5cbiAgICAgICAgPC9iYy1kYXRlLXRpbWUtcGlja2VyPlxuICAgIDwvZGl2PlxuPC9uZy10ZW1wbGF0ZT5cbiJdfQ==
116
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidWktZGF0ZS10aW1lLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2JhcnNhLXNhcC11aS9zcmMvbGliL3VpLWRhdGUtdGltZS91aS1kYXRlLXRpbWUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmFyc2Etc2FwLXVpL3NyYy9saWIvdWktZGF0ZS10aW1lL3VpLWRhdGUtdGltZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWlCLFNBQVMsRUFBc0IsS0FBSyxFQUFFLFNBQVMsRUFBRSx1QkFBdUIsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN4SCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsV0FBVyxFQUFFLFVBQVUsRUFBRSxjQUFjLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQzs7Ozs7QUFlbkcsTUFBTSxPQUFPLG1CQUFvQixTQUFRLGtCQUFrQjtJQWIzRDs7UUFtQkksaUJBQVksR0FBRyxFQUFFLENBQUM7UUE4RWxCLG9CQUFvQjtRQUNYLGVBQVUsR0FBRyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDO0tBQ2pEO0lBN0VHLFFBQVE7UUFDSixLQUFLLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDakIsSUFBSSxPQUFPLElBQUksQ0FBQyxLQUFLLEtBQUssUUFBUSxJQUFJLElBQUksQ0FBQyxLQUFLLEVBQUU7WUFDOUMsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssR0FBRyxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7U0FDMUQ7UUFDRCxJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsU0FBUyxJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDO1FBQ3JFLE1BQU0sVUFBVSxHQUFXLElBQUksQ0FBQyxPQUFPLENBQUMs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QUMsQ0FBQywyQkFBMkI7UUFDNUUsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3RDLENBQUM7SUFDTyxXQUFXLENBQUMsS0FBVztRQUMzQixPQUFPLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLFlBQVk7WUFDNUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDO0lBQ3ZFLENBQUM7O2dIQW5GUSxtQkFBbUI7b0dBQW5CLG1CQUFtQixpRkFUakI7UUFDUDtZQUNJLE9BQU8sRUFBRSxXQUFXO1lBQ3BCLFVBQVUsRUFBRSxjQUFjO1lBQzFCLElBQUksRUFBRSxDQUFDLFVBQVUsQ0FBQztTQUNyQjtLQUNKLDBXQ2JMLDgrQkEwQkE7MkZEVmEsbUJBQW1CO2tCQWIvQixTQUFTOytCQUNJLGtCQUFrQixhQUdqQjt3QkFDUDs0QkFDSSxPQUFPLEVBQUUsV0FBVzs0QkFDcEIsVUFBVSxFQUFFLGNBQWM7NEJBQzFCLElBQUksRUFBRSxDQUFDLFVBQVUsQ0FBQzt5QkFDckI7cUJBQ0osbUJBQ2dCLHVCQUF1QixDQUFDLE1BQU07OEJBR2xCLGlCQUFpQjtzQkFBN0MsU0FBUzt1QkFBQyxnQkFBZ0I7Z0JBQ0YsYUFBYTtzQkFBckMsU0FBUzt1QkFBQyxZQUFZO2dCQUNNLGlCQUFpQjtzQkFBN0MsU0FBUzt1QkFBQyxnQkFBZ0I7Z0JBa0ZsQixVQUFVO3NCQUFsQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQWZ0ZXJWaWV3SW5pdCwgQ29tcG9uZW50LCBFbGVtZW50UmVmLCBPbkluaXQsIElucHV0LCBWaWV3Q2hpbGQsIENoYW5nZURldGVjdGlvblN0cmF0ZWd5IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEZpZWxkQmFzZUNvbXBvbmVudCwgRGF0ZVNlcnZpY2UsIExvZ1NlcnZpY2UsIGdldERhdGVTZXJ2aWNlIH0gZnJvbSAnYmFyc2Etbm92aW4tcmF5LWNvcmUnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgICBzZWxlY3RvcjogJ2JzdS11aS1kYXRlLXRpbWUnLFxyXG4gICAgdGVtcGxhdGVVcmw6ICcuL3VpLWRhdGUtdGltZS5jb21wb25lbnQuaHRtbCcsXHJcbiAgICBzdHlsZVVybHM6IFsnLi91aS1kYXRlLXRpbWUuY29tcG9uZW50LnNjc3MnXSxcclxuICAgIHByb3ZpZGVyczogW1xyXG4gICAgICAgIHtcclxuICAgICAgICAgICAgcHJvdmlkZTogRGF0ZVNlcnZpY2UsXHJcbiAgICAgICAgICAgIHVzZUZhY3Rvcnk6IGdldERhdGVTZXJ2aWNlLFxyXG4gICAgICAgICAgICBkZXBzOiBbTG9nU2VydmljZV1cclxuICAgICAgICB9XHJcbiAgICBdLFxyXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcclxufSlcclxuZXhwb3J0IGNsYXNzIFVpRGF0ZVRpbWVDb21wb25lbnQgZXh0ZW5kcyBGaWVsZEJhc2VDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIEFmdGVyVmlld0luaXQge1xyXG4gICAgQFZpZXdDaGlsZCgnZGF0ZXRpbWVQaWNrZXInKSBkYXRldGltZVBpY2tlclJlZjogRWxlbWVudFJlZjtcclxuICAgIEBWaWV3Q2hpbGQoJ2RhdGVQaWNrZXInKSBkYXRlUGlja2VyUmVmOiBFbGVtZW50UmVmO1xyXG4gICAgQFZpZXdDaGlsZCgnZHVyYXRpb25QaWNrZXInKSBkdXJhdGlvblBpY2tlclJlZjogRWxlbWVudFJlZjtcclxuICAgIGZ1bGxDYWxlbmRhcjogYm9vbGVhbjtcclxuICAgIHZhbHVlOiBEYXRlO1xyXG4gICAgdmFsdWVDYXB0aW9uID0gJyc7XHJcbiAgICBmb3JtYXRQYXR0ZXJuOiBzdHJpbmc7XHJcblxyXG4gICAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICAgICAgc3VwZXIubmdPbkluaXQoKTtcclxuICAgICAgICBpZiAodHlwZW9mIHRoaXMudmFsdWUgPT09ICdzdHJpbmcnICYmIHRoaXMudmFsdWUpIHtcclxuICAgICAgICAgICAgdGhpcy52YWx1ZSA9IHRoaXMuY29udGV4dC52YWx1ZSA9IG5ldyBEYXRlKHRoaXMudmFsdWUpO1xyXG4gICAgICAgIH1cclxuICAgICAgICB0aGlzLmZ1bGxDYWxlbmRhciA9IHRoaXMuU2V0dGluZy5TaG93VGltZTEgJiYgdGhpcy5TZXR0aW5nLlNob3dEYXRlMTtcclxuICAgICAgICBjb25zdCB0aW1lRm9ybWF0OiBzdHJpbmcgPSB0aGlzLlNldHRpbmcuVGltZUZvcm1hdD8udG9Mb3dlckNhc2UoKTtcclxuICAgICAgICBsZXQgdGltZUZvcm1hdDIgPSAnJztcclxuICAgICAgICBpZiAodGltZUZvcm1hdCkge1xyXG4gICAgICAgICAgICB0aW1lRm9ybWF0MiA9ICcgJztcclxuICAgICAgICAgICAgdGltZUZvcm1hdC5zcGxpdCgnOicpLmZvckVhY2goKHZhbCkgPT4ge1xyXG4gICAgICAgICAgICAgICAgc3dpdGNoICh2YWwpIHtcclxuICAgICAgICAgICAgICAgICAgICBjYXNlICdoJzpcclxuICAgICAgICAgICAgICAgICAgICAgICAgdGltZUZvcm1hdDIgKz0gJ0hIJztcclxuICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgICAgICAgICAgICAgY2FzZSAnaSc6XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRpbWVGb3JtYXQyICs9ICc6bW0nO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcclxuICAgICAgICAgICAgICAgICAgICBjYXNlICdzJzpcclxuICAgICAgICAgICAgICAgICAgICAgICAgdGltZUZvcm1hdDIgKz0gJzpTUyc7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9KTtcclxuICAgICAgICB9XHJcbiAgICAgICAgLy8gdGltZUZvcm1hdDIgKz0gJyBBJztcclxuICAgICAgICB0aGlzLmZvcm1hdFBhdHRlcm4gPSBgWVlZWS9NTS9ERCR7dGltZUZvcm1hdDJ9YDtcclxuICAgICAgICAvLyB0aGlzLnZhbHVlJC5waXBlKHRha2VVbnRpbCh0aGlzLl9vbkRlc3Ryb3kkKSkuc3Vic2NyaWJlKCh2YWx1ZSkgPT4ge1xyXG4gICAgICAgIC8vICAgdGhpcy52YWx1ZSA9IDxEYXRlPnZhbHVlO1xyXG5cclxuICAgICAgICAvLyAgIC8vIHRoaXMuX3NldFZhbHVlQ2FwdGlvbih2YWx1ZSk7XHJcbiAgICAgICAgLy8gfSk7XHJcbiAgICAgICAgLy8gLy8gdGhpcy5fc2V0VmFsdWVDYXB0aW9uKHRoaXMudmFsdWUpO1xyXG4gICAgfVxyXG5cclxuICAgIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcclxuICAgICAgICBzdXBlci5uZ0FmdGVyVmlld0luaXQoKTtcclxuICAgICAgICB0aGlzLl9zZXRDYXB0aW9uKHRoaXMudmFsdWUpO1xyXG4gICAgfVxyXG4gICAgb25EYXRlVGltZUNoYW5nZSgpOiB2b2lkIHtcclxuICAgICAgICBjb25zdCBkYXRldGltZVBpY2tlckNvbnRyb2wgPSB0aGlzLmRhdGV0aW1lUGlja2VyUmVmLm5hdGl2ZUVsZW1lbnQ7XHJcbiAgICAgICAgdGhpcy52YWx1ZSA9IGRhdGV0aW1lUGlja2VyQ29udHJvbC5kYXRlVmFsdWU7XHJcbiAgICAgICAgdGhpcy52YWx1ZUNhcHRpb24gPSBkYXRldGltZVBpY2tlckNvbnRyb2wudmFsdWU7XHJcbiAgICAgICAgdGhpcy52YWx1ZUNoYW5nZS5lbWl0KHRoaXMudmFsdWUpO1xyXG4gICAgfVxyXG4gICAgb25EYXRlQ2hhbmdlKCk6IHZvaWQge1xyXG4gICAgICAgIGNvbnN0IGRhdGVQaWNrZXJDb250cm9sID0gdGhpcy5kYXRlUGlja2VyUmVmLm5hdGl2ZUVsZW1lbnQ7XHJcbiAgICAgICAgdGhpcy5fdmFsdWVEYXRlQ2hhbmdlKGRhdGVQaWNrZXJDb250cm9sLmRhdGVWYWx1ZSk7XHJcbiAgICB9XHJcbiAgICBvbkRhdGVDaGFuZ2UyKGRhdGUpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLl92YWx1ZURhdGVDaGFuZ2UoZGF0ZSk7XHJcbiAgICB9XHJcblxyXG4gICAgb25EdXJhdGlvbkNoYW5nZShlKTogdm9pZCB7XHJcbiAgICAgICAgY29uc3QgeyB2YWx1ZSB9ID0gZS5kZXRhaWw7XHJcbiAgICAgICAgaWYgKCF0aGlzLnZhbHVlKSB7XHJcbiAgICAgICAgICAgIHRoaXMudmFsdWUgPSBuZXcgRGF0ZSgpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBjb25zdCB0aW1lID0gdmFsdWUuc3BsaXQoJzonKTtcclxuICAgICAgICB0aGlzLnZhbHVlLnNldEhvdXJzKE51bWJlcih0aW1lWzBdKSwgTnVtYmVyKHRpbWVbMV0pLCBOdW1iZXIodGltZVsyXSkpO1xyXG4gICAgICAgIHRoaXMudmFsdWVDYXB0aW9uID0gdGhpcy5kdXJhdGlvblBpY2tlclJlZi5uYXRpdmVFbGVtZW50LnZhbHVlO1xyXG4gICAgICAgIHRoaXMudmFsdWVDaGFuZ2UuZW1pdCh0aGlzLnZhbHVlKTtcclxuICAgIH1cclxuICAgIHByb3RlY3RlZCBfc2V0VmFsdWUodmFsdWU6IERhdGUpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLl9zZXRDYXB0aW9uKHZhbHVlKTtcclxuICAgICAgICBzdXBlci5fc2V0VmFsdWUodmFsdWUpO1xyXG4gICAgfVxyXG4gICAgcHJpdmF0ZSBfdmFsdWVEYXRlQ2hhbmdlKGRhdGVWYWx1ZTogRGF0ZSk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMudmFsdWUgPSBkYXRlVmFsdWU7XHJcbiAgICAgICAgdGhpcy52YWx1ZUNhcHRpb24gPSB0aGlzLl9zZXRDYXB0aW9uKGRhdGVWYWx1ZSk7IC8vIGRhdGVQaWNrZXJDb250cm9sLnZhbHVlO1xyXG4gICAgICAgIHRoaXMudmFsdWVDaGFuZ2UuZW1pdCh0aGlzLnZhbHVlKTtcclxuICAgIH1cclxuICAgIHByaXZhdGUgX3NldENhcHRpb24odmFsdWU6IERhdGUpOiBzdHJpbmcge1xyXG4gICAgICAgIHJldHVybiAodGhpcy5jb250ZXh0LmNhcHRpb24gPSB0aGlzLnZhbHVlQ2FwdGlvbiA9XHJcbiAgICAgICAgICAgIHRoaXMuX2RhdGVTZXJ2aWNlLmdldE1vbWVudCh2YWx1ZSkuZm9ybWF0KHRoaXMuZm9ybWF0UGF0dGVybikpO1xyXG4gICAgfVxyXG4gICAgLyogZXNsaW50LWRpc2FibGUgKi9cclxuICAgIEBJbnB1dCgpIEdldENhcHRpb24gPSAoKSA9PiB0aGlzLnZhbHVlQ2FwdGlvbjtcclxufVxyXG4iLCI8aW5wdXRcbiAgICAqbmdJZj1cIihkaXNhYmxlT3JSZWFkb25seSQgfCBhc3luYykhITsgZWxzZSBkYXRldGltZVwiXG4gICAgZmQtZm9ybS1jb250cm9sXG4gICAgdHlwZT1cInRleHRcIlxuICAgIFthdHRyLnJlYWRvbmx5XT1cIihyZWFkb25seSQgfCBhc3luYykgPT09IHRydWUgPyB0cnVlIDogbnVsbFwiXG4gICAgW2F0dHIuZGlzYWJsZWRdPVwiKGRpc2FibGUkIHwgYXN5bmMpID09PSB0cnVlID8gdHJ1ZSA6IG51bGxcIlxuICAgIFt2YWx1ZV09XCJ2YWx1ZSA/IHZhbHVlQ2FwdGlvbiA6ICcnXCJcbi8+XG48bmctdGVtcGxhdGUgI2RhdGV0aW1lPlxuICAgIDxkaXZcbiAgICAgICAgW3N0eWxlLmRpc3BsYXldPVwiKGRpc2FibGVPclJlYWRvbmx5JCB8IGFzeW5jKSEhID8gJ2hpZGRlbicgOiAnYmxvY2snXCJcbiAgICAgICAgW2F0dHIuZGlyXT1cIlNldHRpbmcuSXNMdHIgPT09IHRydWUgPyAnbHRyJyA6ICdydGwnXCJcbiAgICA+XG4gICAgICAgIDxiYy1kYXRlLXRpbWUtcGlja2VyXG4gICAgICAgICAgICBbdmFsdWVdPVwidmFsdWVcIlxuICAgICAgICAgICAgW3Nob3dEYXRlXT1cIlNldHRpbmcuU2hvd0RhdGUxXCJcbiAgICAgICAgICAgIFtzaG93VGltZV09XCJTZXR0aW5nLlNob3dUaW1lMVwiXG4gICAgICAgICAgICBbcHJpbWFyeUNhbGVuZGFyVHlwZV09XCJTZXR0aW5nLkNhbGVuZGFyVHlwZVwiXG4gICAgICAgICAgICBbZm9ybWF0UGF0dGVybl09XCJmb3JtYXRQYXR0ZXJuXCJcbiAgICAgICAgICAgICh2YWx1ZUNoYW5nZSk9XCJvbkRhdGVDaGFuZ2UyKCRldmVudClcIlxuICAgICAgICAgICAgW3JlYWRvbmx5XT1cIihyZWFkb25seSQgfCBhc3luYykgPT09IHRydWUgPyB0cnVlIDogZmFsc2VcIlxuICAgICAgICAgICAgW2Rpc2FibGVkXT1cIihkaXNhYmxlJCB8IGFzeW5jKSA9PT0gdHJ1ZSA/IHRydWUgOiBmYWxzZVwiXG4gICAgICAgID5cbiAgICAgICAgPC9iYy1kYXRlLXRpbWUtcGlja2VyPlxuICAgIDwvZGl2PlxuPC9uZy10ZW1wbGF0ZT5cbiJdfQ==
@@ -97,14 +97,14 @@ export class UiEditableGridComponent extends SapUiReportBaseComponent {
97
97
  }
98
98
  }
99
99
  UiEditableGridComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: UiEditableGridComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
100
- UiEditableGridComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.7", type: UiEditableGridComponent, selector: "bsu-ui-editable-grid", providers: [FormPanelService], usesInheritance: true, ngImport: i0, template: "<ng-container\n *ngTemplateOutlet=\"\n matrixTemplate;\n context: {\n moDataList: matrixMoList$ | async,\n columns: horizontalRows,\n conditionalFormats: conditionalFormats$ | async,\n deviceName: deviceName$ | async,\n deviceSize: deviceSize$ | async,\n title: title$ | async,\n inlineEditMode: inlineEditMode$ | async,\n allowInlineEdit: allowInlineEdit$ | async,\n hideToolbar: hideToolbar$ | async,\n contentDensity: contentDensity$ | async,\n activeCell: activeCell,\n valueControlFieldCaption: valueControlFieldCaption,\n valueType: valueType,\n formSetting: context.Setting.FormTemplate,\n matrixWidthType: matrixWidthType,\n cellWidth: cellWidth,\n verticalLabelWidth: verticalLabelWidth,\n fitWidth: fitWidth,\n access: context.Setting.Extra?.DefaultCommandsAccess,\n hasSelected: hasSelected$ | async,\n containerWidth: containerWidth$ | async,\n formLayout: formLayout\n }\n \"\n></ng-container>\n\n<ng-template\n #matrixTemplate\n let-moDataList=\"moDataList\"\n let-deviceName=\"deviceName\"\n let-deviceSize=\"deviceSize\"\n let-title=\"title\"\n let-inlineEditMode=\"inlineEditMode\"\n let-allowInlineEdit=\"allowInlineEdit\"\n let-hideToolbar=\"hideToolbar\"\n let-contentDensity=\"contentDensity\"\n let-columns=\"columns\"\n let-conditionalFormats=\"conditionalFormats\"\n let-activeCell=\"activeCell\"\n let-valueControlFieldCaption=\"valueControlFieldCaption\"\n let-valueType=\"valueType\"\n let-formSetting=\"formSetting\"\n let-matrixWidthType=\"matrixWidthType\"\n let-cellWidth=\"cellWidth\"\n let-verticalLabelWidth=\"verticalLabelWidth\"\n let-fitWidth=\"fitWidth\"\n let-access=\"access\"\n let-hasSelected=\"hasSelected\"\n let-containerWidth=\"containterWidth\"\n let-formLayout=\"formLayout\"\n>\n <bsu-ulv-toolbar\n [hideToolbar]=\"hideToolbar\"\n [deviceName]=\"deviceName\"\n [deviceSize]=\"deviceSize\"\n [title]=\"title\"\n [hasSelected]=\"hasSelected\"\n [access]=\"access\"\n [contentDensity]=\"contentDensity\"\n [inlineEditMode]=\"inlineEditMode\"\n [allowInlineEdit]=\"allowInlineEdit\"\n (sortClick)=\"onSortSettings(deviceName)\"\n (editModeClick)=\"onEditMode()\"\n >\n <button\n fd-toolbar-item\n fd-button\n [fdType]=\"'emphasized'\"\n [label]=\"'Save' | bbbTranslate\"\n [glyph]=\"'save'\"\n (click)=\"onSave()\"\n ></button>\n <fd-split-button\n fd-toolbar-item\n [mainAction]=\"{\n keepMainAction: true,\n mainActionTitle: splitBtnTitle\n }\"\n >\n <fd-menu>\n <li fd-menu-item>\n <div fd-menu-interactive (click)=\"onChangeView(true)\">\n <span fd-menu-title>\n {{ widthTypeEnum.FitWidth }}\n </span>\n </div>\n </li>\n <li fd-menu-item>\n <div fd-menu-interactive (click)=\"onChangeView(false)\">\n <span fd-menu-title>\n {{ widthTypeEnum.StaticWidth }}\n </span>\n </div>\n </li>\n </fd-menu>\n </fd-split-button>\n\n <ng-template #splitBtnTitle>\n <span>{{ fitWidth ? widthTypeEnum.FitWidth : widthTypeEnum.StaticWidth }}</span>\n </ng-template>\n </bsu-ulv-toolbar>\n <bsu-ui-matrix-view\n [moDataList]=\"moDataList\"\n [columns]=\"columns\"\n [conditionalFormats]=\"conditionalFormats\"\n [activeCell]=\"activeCell\"\n [valueControlFieldCaption]=\"valueControlFieldCaption\"\n [valueType]=\"valueType\"\n [access]=\"access\"\n [formLayout]=\"formLayout\"\n [matrixWidthType]=\"matrixWidthType\"\n [cellWidth]=\"cellWidth\"\n [cellHeight]=\"cellHeight\"\n [verticalLabelWidth]=\"verticalLabelWidth\"\n [fitWidth]=\"fitWidth\"\n [minWidth]=\"minWidth\"\n [minHeight]=\"minHeight\"\n [rowResizer]=\"rowResizer\"\n [enableResizing]=\"enableResizing\"\n [containerWidth]=\"containerWidth\"\n (selectionChange)=\"onSelectionChange($event)\"\n ></bsu-ui-matrix-view>\n</ng-template>\n", styles: [":host{display:flex;width:100%;height:100%;flex-direction:column}.fd-table__row th.fd-table__cell{background-color:var(--sapList_HeaderBackground, #f2f2f2);color:var(--sapList_HeaderTextColor, #32363a)}\n"], dependencies: [{ kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i2.ButtonComponent, selector: "button[fd-button], a[fd-button]", inputs: ["class"], exportAs: ["fd-button"] }, { kind: "component", type: i3.MenuComponent, selector: "fd-menu", inputs: ["mobile", "disabled", "focusTrapped", "openOnHoverTime", "mobileConfig", "ariaLabel", "ariaLabelledby", "id"], outputs: ["activePath"] }, { kind: "component", type: i3.MenuItemComponent, selector: "li[fd-menu-item]", inputs: ["disabled", "itemId", "submenu"], outputs: ["onSelect"], exportAs: ["fd-menu-item"] }, { kind: "directive", type: i3.MenuInteractiveDirective, selector: "[fd-menu-interactive]" }, { kind: "directive", type: i3.MenuTitleDirective, selector: "[fd-menu-title]" }, { kind: "component", type: i4.SplitButtonComponent, selector: "fd-split-button", inputs: ["glyph", "disabled", "mainActionTitle", "fdType", "expandButtonAriaLabel", "expandButtonTitle", "selected", "fixedWidth", "mainAction", "arialLabel"], outputs: ["primaryButtonClicked"] }, { kind: "directive", type: i5.ToolbarItemDirective, selector: "[fd-toolbar-item]" }, { kind: "component", type: i6.UlvToolbarComponent, selector: "bsu-ulv-toolbar", inputs: ["useLayoutItemTextForControl", "enableSearch", "hideTitle", "title", "deviceName", "deviceSize", "access", "hideToolbar", "toolbarButtons", "contentDensity", "inlineEditMode", "allowInlineEdit", "gridSetting", "viewCollection", "reportView", "hasSelected", "config", "hidden", "buttons"], outputs: ["search", "groupbyClick", "sortClick", "columnClick", "editModeClick", "viewClick"] }, { kind: "component", type: i7.UiMatrixViewComponent, selector: "bsu-ui-matrix-view", inputs: ["deviceSize", "deviceName", "moDataList", "columns", "formLayout", "conditionalFormat", "activeCell", "valueControlFieldCaption", "formTemplate", "valueType", "cellWidth", "cellHeight", "verticalLabelWidth", "fitWidth", "minWidth", "minHeight", "rowResizer", "enableResizing"], outputs: ["selectionChange"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "pipe", type: i8.BbbTranslatePipe, name: "bbbTranslate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
100
+ UiEditableGridComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.7", type: UiEditableGridComponent, selector: "bsu-ui-editable-grid", providers: [FormPanelService], usesInheritance: true, ngImport: i0, template: "<ng-container\r\n *ngTemplateOutlet=\"\r\n matrixTemplate;\r\n context: {\r\n moDataList: matrixMoList$ | async,\r\n columns: horizontalRows,\r\n conditionalFormats: conditionalFormats$ | async,\r\n deviceName: deviceName$ | async,\r\n deviceSize: deviceSize$ | async,\r\n title: title$ | async,\r\n inlineEditMode: inlineEditMode$ | async,\r\n allowInlineEdit: allowInlineEdit$ | async,\r\n hideToolbar: hideToolbar$ | async,\r\n contentDensity: contentDensity$ | async,\r\n activeCell: activeCell,\r\n valueControlFieldCaption: valueControlFieldCaption,\r\n valueType: valueType,\r\n formSetting: context.Setting.FormTemplate,\r\n matrixWidthType: matrixWidthType,\r\n cellWidth: cellWidth,\r\n verticalLabelWidth: verticalLabelWidth,\r\n fitWidth: fitWidth,\r\n access: context.Setting.Extra?.DefaultCommandsAccess,\r\n hasSelected: hasSelected$ | async,\r\n containerWidth: containerWidth$ | async,\r\n formLayout: formLayout\r\n }\r\n \"\r\n></ng-container>\r\n\r\n<ng-template\r\n #matrixTemplate\r\n let-moDataList=\"moDataList\"\r\n let-deviceName=\"deviceName\"\r\n let-deviceSize=\"deviceSize\"\r\n let-title=\"title\"\r\n let-inlineEditMode=\"inlineEditMode\"\r\n let-allowInlineEdit=\"allowInlineEdit\"\r\n let-hideToolbar=\"hideToolbar\"\r\n let-contentDensity=\"contentDensity\"\r\n let-columns=\"columns\"\r\n let-conditionalFormats=\"conditionalFormats\"\r\n let-activeCell=\"activeCell\"\r\n let-valueControlFieldCaption=\"valueControlFieldCaption\"\r\n let-valueType=\"valueType\"\r\n let-formSetting=\"formSetting\"\r\n let-matrixWidthType=\"matrixWidthType\"\r\n let-cellWidth=\"cellWidth\"\r\n let-verticalLabelWidth=\"verticalLabelWidth\"\r\n let-fitWidth=\"fitWidth\"\r\n let-access=\"access\"\r\n let-hasSelected=\"hasSelected\"\r\n let-containerWidth=\"containterWidth\"\r\n let-formLayout=\"formLayout\"\r\n>\r\n <bsu-ulv-toolbar\r\n [hideToolbar]=\"hideToolbar\"\r\n [deviceName]=\"deviceName\"\r\n [deviceSize]=\"deviceSize\"\r\n [title]=\"title\"\r\n [hasSelected]=\"hasSelected\"\r\n [access]=\"access\"\r\n [contentDensity]=\"contentDensity\"\r\n [inlineEditMode]=\"inlineEditMode\"\r\n [allowInlineEdit]=\"allowInlineEdit\"\r\n (sortClick)=\"onSortSettings(deviceName)\"\r\n (editModeClick)=\"onEditMode()\"\r\n >\r\n <button\r\n fd-toolbar-item\r\n fd-button\r\n [fdType]=\"'emphasized'\"\r\n [label]=\"'Save' | bbbTranslate\"\r\n [glyph]=\"'save'\"\r\n (click)=\"onSave()\"\r\n ></button>\r\n <fd-split-button\r\n fd-toolbar-item\r\n [mainAction]=\"{\r\n keepMainAction: true,\r\n mainActionTitle: splitBtnTitle\r\n }\"\r\n >\r\n <fd-menu>\r\n <li fd-menu-item>\r\n <div fd-menu-interactive (click)=\"onChangeView(true)\">\r\n <span fd-menu-title>\r\n {{ widthTypeEnum.FitWidth }}\r\n </span>\r\n </div>\r\n </li>\r\n <li fd-menu-item>\r\n <div fd-menu-interactive (click)=\"onChangeView(false)\">\r\n <span fd-menu-title>\r\n {{ widthTypeEnum.StaticWidth }}\r\n </span>\r\n </div>\r\n </li>\r\n </fd-menu>\r\n </fd-split-button>\r\n\r\n <ng-template #splitBtnTitle>\r\n <span>{{ fitWidth ? widthTypeEnum.FitWidth : widthTypeEnum.StaticWidth }}</span>\r\n </ng-template>\r\n </bsu-ulv-toolbar>\r\n <bsu-ui-matrix-view\r\n [moDataList]=\"moDataList\"\r\n [columns]=\"columns\"\r\n [conditionalFormats]=\"conditionalFormats\"\r\n [activeCell]=\"activeCell\"\r\n [valueControlFieldCaption]=\"valueControlFieldCaption\"\r\n [valueType]=\"valueType\"\r\n [access]=\"access\"\r\n [formLayout]=\"formLayout\"\r\n [matrixWidthType]=\"matrixWidthType\"\r\n [cellWidth]=\"cellWidth\"\r\n [cellHeight]=\"cellHeight\"\r\n [verticalLabelWidth]=\"verticalLabelWidth\"\r\n [fitWidth]=\"fitWidth\"\r\n [minWidth]=\"minWidth\"\r\n [minHeight]=\"minHeight\"\r\n [rowResizer]=\"rowResizer\"\r\n [enableResizing]=\"enableResizing\"\r\n [containerWidth]=\"containerWidth\"\r\n (selectionChange)=\"onSelectionChange($event)\"\r\n ></bsu-ui-matrix-view>\r\n</ng-template>\r\n", styles: [":host{display:flex;width:100%;height:100%;flex-direction:column}.fd-table__row th.fd-table__cell{background-color:var(--sapList_HeaderBackground, #f2f2f2);color:var(--sapList_HeaderTextColor, #32363a)}\n"], dependencies: [{ kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i2.ButtonComponent, selector: "button[fd-button], a[fd-button]", inputs: ["class"], exportAs: ["fd-button"] }, { kind: "component", type: i3.MenuComponent, selector: "fd-menu", inputs: ["mobile", "disabled", "focusTrapped", "openOnHoverTime", "mobileConfig", "ariaLabel", "ariaLabelledby", "id"], outputs: ["activePath"] }, { kind: "component", type: i3.MenuItemComponent, selector: "li[fd-menu-item]", inputs: ["disabled", "itemId", "submenu"], outputs: ["onSelect"], exportAs: ["fd-menu-item"] }, { kind: "directive", type: i3.MenuInteractiveDirective, selector: "[fd-menu-interactive]" }, { kind: "directive", type: i3.MenuTitleDirective, selector: "[fd-menu-title]" }, { kind: "component", type: i4.SplitButtonComponent, selector: "fd-split-button", inputs: ["glyph", "disabled", "mainActionTitle", "fdType", "expandButtonAriaLabel", "expandButtonTitle", "selected", "fixedWidth", "mainAction", "arialLabel"], outputs: ["primaryButtonClicked"] }, { kind: "directive", type: i5.ToolbarItemDirective, selector: "[fd-toolbar-item]" }, { kind: "component", type: i6.UlvToolbarComponent, selector: "bsu-ulv-toolbar", inputs: ["useLayoutItemTextForControl", "enableSearch", "hideTitle", "title", "deviceName", "deviceSize", "access", "hideToolbar", "toolbarButtons", "contentDensity", "inlineEditMode", "allowInlineEdit", "gridSetting", "viewCollection", "reportView", "inDialog", "isMultiSelect", "hasSelected", "config", "hidden", "buttons"], outputs: ["search", "groupbyClick", "sortClick", "columnClick", "editModeClick", "viewClick", "createNewInlineMo"] }, { kind: "component", type: i7.UiMatrixViewComponent, selector: "bsu-ui-matrix-view", inputs: ["deviceSize", "deviceName", "moDataList", "columns", "formLayout", "conditionalFormat", "activeCell", "valueControlFieldCaption", "formTemplate", "valueType", "cellWidth", "cellHeight", "verticalLabelWidth", "fitWidth", "minWidth", "minHeight", "rowResizer", "enableResizing"], outputs: ["selectionChange"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "pipe", type: i8.BbbTranslatePipe, name: "bbbTranslate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
101
101
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: UiEditableGridComponent, decorators: [{
102
102
  type: Component,
103
- args: [{ selector: 'bsu-ui-editable-grid', changeDetection: ChangeDetectionStrategy.OnPush, providers: [FormPanelService], template: "<ng-container\n *ngTemplateOutlet=\"\n matrixTemplate;\n context: {\n moDataList: matrixMoList$ | async,\n columns: horizontalRows,\n conditionalFormats: conditionalFormats$ | async,\n deviceName: deviceName$ | async,\n deviceSize: deviceSize$ | async,\n title: title$ | async,\n inlineEditMode: inlineEditMode$ | async,\n allowInlineEdit: allowInlineEdit$ | async,\n hideToolbar: hideToolbar$ | async,\n contentDensity: contentDensity$ | async,\n activeCell: activeCell,\n valueControlFieldCaption: valueControlFieldCaption,\n valueType: valueType,\n formSetting: context.Setting.FormTemplate,\n matrixWidthType: matrixWidthType,\n cellWidth: cellWidth,\n verticalLabelWidth: verticalLabelWidth,\n fitWidth: fitWidth,\n access: context.Setting.Extra?.DefaultCommandsAccess,\n hasSelected: hasSelected$ | async,\n containerWidth: containerWidth$ | async,\n formLayout: formLayout\n }\n \"\n></ng-container>\n\n<ng-template\n #matrixTemplate\n let-moDataList=\"moDataList\"\n let-deviceName=\"deviceName\"\n let-deviceSize=\"deviceSize\"\n let-title=\"title\"\n let-inlineEditMode=\"inlineEditMode\"\n let-allowInlineEdit=\"allowInlineEdit\"\n let-hideToolbar=\"hideToolbar\"\n let-contentDensity=\"contentDensity\"\n let-columns=\"columns\"\n let-conditionalFormats=\"conditionalFormats\"\n let-activeCell=\"activeCell\"\n let-valueControlFieldCaption=\"valueControlFieldCaption\"\n let-valueType=\"valueType\"\n let-formSetting=\"formSetting\"\n let-matrixWidthType=\"matrixWidthType\"\n let-cellWidth=\"cellWidth\"\n let-verticalLabelWidth=\"verticalLabelWidth\"\n let-fitWidth=\"fitWidth\"\n let-access=\"access\"\n let-hasSelected=\"hasSelected\"\n let-containerWidth=\"containterWidth\"\n let-formLayout=\"formLayout\"\n>\n <bsu-ulv-toolbar\n [hideToolbar]=\"hideToolbar\"\n [deviceName]=\"deviceName\"\n [deviceSize]=\"deviceSize\"\n [title]=\"title\"\n [hasSelected]=\"hasSelected\"\n [access]=\"access\"\n [contentDensity]=\"contentDensity\"\n [inlineEditMode]=\"inlineEditMode\"\n [allowInlineEdit]=\"allowInlineEdit\"\n (sortClick)=\"onSortSettings(deviceName)\"\n (editModeClick)=\"onEditMode()\"\n >\n <button\n fd-toolbar-item\n fd-button\n [fdType]=\"'emphasized'\"\n [label]=\"'Save' | bbbTranslate\"\n [glyph]=\"'save'\"\n (click)=\"onSave()\"\n ></button>\n <fd-split-button\n fd-toolbar-item\n [mainAction]=\"{\n keepMainAction: true,\n mainActionTitle: splitBtnTitle\n }\"\n >\n <fd-menu>\n <li fd-menu-item>\n <div fd-menu-interactive (click)=\"onChangeView(true)\">\n <span fd-menu-title>\n {{ widthTypeEnum.FitWidth }}\n </span>\n </div>\n </li>\n <li fd-menu-item>\n <div fd-menu-interactive (click)=\"onChangeView(false)\">\n <span fd-menu-title>\n {{ widthTypeEnum.StaticWidth }}\n </span>\n </div>\n </li>\n </fd-menu>\n </fd-split-button>\n\n <ng-template #splitBtnTitle>\n <span>{{ fitWidth ? widthTypeEnum.FitWidth : widthTypeEnum.StaticWidth }}</span>\n </ng-template>\n </bsu-ulv-toolbar>\n <bsu-ui-matrix-view\n [moDataList]=\"moDataList\"\n [columns]=\"columns\"\n [conditionalFormats]=\"conditionalFormats\"\n [activeCell]=\"activeCell\"\n [valueControlFieldCaption]=\"valueControlFieldCaption\"\n [valueType]=\"valueType\"\n [access]=\"access\"\n [formLayout]=\"formLayout\"\n [matrixWidthType]=\"matrixWidthType\"\n [cellWidth]=\"cellWidth\"\n [cellHeight]=\"cellHeight\"\n [verticalLabelWidth]=\"verticalLabelWidth\"\n [fitWidth]=\"fitWidth\"\n [minWidth]=\"minWidth\"\n [minHeight]=\"minHeight\"\n [rowResizer]=\"rowResizer\"\n [enableResizing]=\"enableResizing\"\n [containerWidth]=\"containerWidth\"\n (selectionChange)=\"onSelectionChange($event)\"\n ></bsu-ui-matrix-view>\n</ng-template>\n", styles: [":host{display:flex;width:100%;height:100%;flex-direction:column}.fd-table__row th.fd-table__cell{background-color:var(--sapList_HeaderBackground, #f2f2f2);color:var(--sapList_HeaderTextColor, #32363a)}\n"] }]
103
+ args: [{ selector: 'bsu-ui-editable-grid', changeDetection: ChangeDetectionStrategy.OnPush, providers: [FormPanelService], template: "<ng-container\r\n *ngTemplateOutlet=\"\r\n matrixTemplate;\r\n context: {\r\n moDataList: matrixMoList$ | async,\r\n columns: horizontalRows,\r\n conditionalFormats: conditionalFormats$ | async,\r\n deviceName: deviceName$ | async,\r\n deviceSize: deviceSize$ | async,\r\n title: title$ | async,\r\n inlineEditMode: inlineEditMode$ | async,\r\n allowInlineEdit: allowInlineEdit$ | async,\r\n hideToolbar: hideToolbar$ | async,\r\n contentDensity: contentDensity$ | async,\r\n activeCell: activeCell,\r\n valueControlFieldCaption: valueControlFieldCaption,\r\n valueType: valueType,\r\n formSetting: context.Setting.FormTemplate,\r\n matrixWidthType: matrixWidthType,\r\n cellWidth: cellWidth,\r\n verticalLabelWidth: verticalLabelWidth,\r\n fitWidth: fitWidth,\r\n access: context.Setting.Extra?.DefaultCommandsAccess,\r\n hasSelected: hasSelected$ | async,\r\n containerWidth: containerWidth$ | async,\r\n formLayout: formLayout\r\n }\r\n \"\r\n></ng-container>\r\n\r\n<ng-template\r\n #matrixTemplate\r\n let-moDataList=\"moDataList\"\r\n let-deviceName=\"deviceName\"\r\n let-deviceSize=\"deviceSize\"\r\n let-title=\"title\"\r\n let-inlineEditMode=\"inlineEditMode\"\r\n let-allowInlineEdit=\"allowInlineEdit\"\r\n let-hideToolbar=\"hideToolbar\"\r\n let-contentDensity=\"contentDensity\"\r\n let-columns=\"columns\"\r\n let-conditionalFormats=\"conditionalFormats\"\r\n let-activeCell=\"activeCell\"\r\n let-valueControlFieldCaption=\"valueControlFieldCaption\"\r\n let-valueType=\"valueType\"\r\n let-formSetting=\"formSetting\"\r\n let-matrixWidthType=\"matrixWidthType\"\r\n let-cellWidth=\"cellWidth\"\r\n let-verticalLabelWidth=\"verticalLabelWidth\"\r\n let-fitWidth=\"fitWidth\"\r\n let-access=\"access\"\r\n let-hasSelected=\"hasSelected\"\r\n let-containerWidth=\"containterWidth\"\r\n let-formLayout=\"formLayout\"\r\n>\r\n <bsu-ulv-toolbar\r\n [hideToolbar]=\"hideToolbar\"\r\n [deviceName]=\"deviceName\"\r\n [deviceSize]=\"deviceSize\"\r\n [title]=\"title\"\r\n [hasSelected]=\"hasSelected\"\r\n [access]=\"access\"\r\n [contentDensity]=\"contentDensity\"\r\n [inlineEditMode]=\"inlineEditMode\"\r\n [allowInlineEdit]=\"allowInlineEdit\"\r\n (sortClick)=\"onSortSettings(deviceName)\"\r\n (editModeClick)=\"onEditMode()\"\r\n >\r\n <button\r\n fd-toolbar-item\r\n fd-button\r\n [fdType]=\"'emphasized'\"\r\n [label]=\"'Save' | bbbTranslate\"\r\n [glyph]=\"'save'\"\r\n (click)=\"onSave()\"\r\n ></button>\r\n <fd-split-button\r\n fd-toolbar-item\r\n [mainAction]=\"{\r\n keepMainAction: true,\r\n mainActionTitle: splitBtnTitle\r\n }\"\r\n >\r\n <fd-menu>\r\n <li fd-menu-item>\r\n <div fd-menu-interactive (click)=\"onChangeView(true)\">\r\n <span fd-menu-title>\r\n {{ widthTypeEnum.FitWidth }}\r\n </span>\r\n </div>\r\n </li>\r\n <li fd-menu-item>\r\n <div fd-menu-interactive (click)=\"onChangeView(false)\">\r\n <span fd-menu-title>\r\n {{ widthTypeEnum.StaticWidth }}\r\n </span>\r\n </div>\r\n </li>\r\n </fd-menu>\r\n </fd-split-button>\r\n\r\n <ng-template #splitBtnTitle>\r\n <span>{{ fitWidth ? widthTypeEnum.FitWidth : widthTypeEnum.StaticWidth }}</span>\r\n </ng-template>\r\n </bsu-ulv-toolbar>\r\n <bsu-ui-matrix-view\r\n [moDataList]=\"moDataList\"\r\n [columns]=\"columns\"\r\n [conditionalFormats]=\"conditionalFormats\"\r\n [activeCell]=\"activeCell\"\r\n [valueControlFieldCaption]=\"valueControlFieldCaption\"\r\n [valueType]=\"valueType\"\r\n [access]=\"access\"\r\n [formLayout]=\"formLayout\"\r\n [matrixWidthType]=\"matrixWidthType\"\r\n [cellWidth]=\"cellWidth\"\r\n [cellHeight]=\"cellHeight\"\r\n [verticalLabelWidth]=\"verticalLabelWidth\"\r\n [fitWidth]=\"fitWidth\"\r\n [minWidth]=\"minWidth\"\r\n [minHeight]=\"minHeight\"\r\n [rowResizer]=\"rowResizer\"\r\n [enableResizing]=\"enableResizing\"\r\n [containerWidth]=\"containerWidth\"\r\n (selectionChange)=\"onSelectionChange($event)\"\r\n ></bsu-ui-matrix-view>\r\n</ng-template>\r\n", styles: [":host{display:flex;width:100%;height:100%;flex-direction:column}.fd-table__row th.fd-table__cell{background-color:var(--sapList_HeaderBackground, #f2f2f2);color:var(--sapList_HeaderTextColor, #32363a)}\n"] }]
104
104
  }] });
105
105
  export var WidthTypeEnum;
106
106
  (function (WidthTypeEnum) {
107
107
  WidthTypeEnum["FitWidth"] = "\u0633\u062A\u0648\u0646 \u0647\u0627\u06CC \u0647\u0645 \u0639\u0631\u0636";
108
108
  WidthTypeEnum["StaticWidth"] = "\u0633\u062A\u0648\u0646 \u0647\u0627\u06CC \u0628\u0627 \u0639\u0631\u0636 \u062F\u0644\u062E\u0648\u0627\u0647";
109
109
  })(WidthTypeEnum || (WidthTypeEnum = {}));
110
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidWktZWRpdGFibGUtZ3JpZC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9iYXJzYS1zYXAtdWkvc3JjL2xpYi91aS1lZGl0YWJsZS1ncmlkL3VpLWVkaXRhYmxlLWdyaWQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmFyc2Etc2FwLXVpL3NyYy9saWIvdWktZWRpdGFibGUtZ3JpZC91aS1lZGl0YWJsZS1ncmlkLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQXFCLE1BQU0sZUFBZSxDQUFDO0FBQ3RGLE9BQU8sRUFBRSxHQUFHLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRXJELE9BQU8sRUFDSCx5QkFBeUIsRUFDekIsZ0JBQWdCLEVBSW5CLE1BQU0sc0JBQXNCLENBQUM7QUFDOUIsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0saUNBQWlDLENBQUM7Ozs7Ozs7Ozs7QUFVM0UsTUFBTSxPQUFPLHVCQUNULFNBQVEsd0JBQWlEO0lBUjdEOztRQWtCSSxjQUFTLEdBQUcsR0FBRyxDQUFDO1FBQ2hCLGVBQVUsR0FBRyxFQUFFLENBQUM7UUFDaEIsdUJBQWtCLEdBQUcsR0FBRyxDQUFDO1FBQ3pCLGFBQVEsR0FBRyxHQUFHLENBQUM7UUFDZixjQUFTLEdBQUcsRUFBRSxDQUFDO1FBQ2YsbUJBQWMsR0FBRyxJQUFJLENBQUM7UUFDdEIsZUFBVSxHQUFHLElBQUksQ0FBQztRQUNsQixrQkFBYSxHQUFHLGFBQWEsQ0FBQztRQUM5QixhQUFRLEdBQUcsSUFBSSxDQUFDO0tBNkZuQjtJQTFGRyxRQUFRO1FBQ0osS0FBSyxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQ2pCLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENB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LENBQUMsU0FBUyxFQUFFO2dCQUM5QixVQUFVLENBQUMsTUFBTSxDQUFDLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsTUFBTSxDQUFDLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDO2FBQ3pFO2lCQUFNO2dCQUNILFVBQVUsQ0FBQyxNQUFNLENBQUMsQ0FBQyxTQUFTLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsTUFBTSxDQUFDLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUM7YUFDL0U7UUFDTCxDQUFDLENBQUMsQ0FDTDthQUNBLFNBQVMsRUFBRSxDQUFDO0lBQ3JCLENBQUM7O29IQS9HUSx1QkFBdUI7d0dBQXZCLHVCQUF1QiwrQ0FGckIsQ0FBQyxnQkFBZ0IsQ0FBQyxpRENsQmpDLGtsSkErSEE7MkZEM0dhLHVCQUF1QjtrQkFQbkMsU0FBUzsrQkFDSSxzQkFBc0IsbUJBR2YsdUJBQXVCLENBQUMsTUFBTSxhQUNwQyxDQUFDLGdCQUFnQixDQUFDOztBQW1IakMsTUFBTSxDQUFOLElBQVksYUFHWDtBQUhELFdBQVksYUFBYTtJQUNyQix5R0FBNEIsQ0FBQTtJQUM1QixpSkFBc0MsQ0FBQTtBQUMxQyxDQUFDLEVBSFcsYUFBYSxLQUFiLGFBQWEsUUFHeEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBPbkRlc3Ryb3ksIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgbWFwLCB0YWtlVW50aWwsIHRhcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuaW1wb3J0IHtcbiAgICBjcmVhdGVHcmlkRWRpdG9yRm9ybVBhbmVsLFxuICAgIEZvcm1QYW5lbFNlcnZpY2UsXG4gICAgTGF5b3V0U2V0dGluZyxcbiAgICBNZXRhb2JqZWN0RGF0YU1vZGVsLFxuICAgIFVpUmVwb3J0Vmlld0Jhc2VTZXR0aW5nXG59IGZyb20gJ2JhcnNhLW5vdmluLXJheS1jb3JlJztcbmltcG9ydCB7IFNhcFVpUmVwb3J0QmFzZUNvbXBvbmVudCB9IGZyb20gJy4uL3NhcC11aS1yZXBvcnQtYmFzZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2JzdS11aS1lZGl0YWJsZS1ncmlkJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vdWktZWRpdGFibGUtZ3JpZC5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vdWktZWRpdGFibGUtZ3JpZC5jb21wb25lbnQuc2NzcyddLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICAgIHByb3ZpZGVyczogW0Zvcm1QYW5lbFNlcnZpY2VdXG59KVxuZXhwb3J0IGNsYXNzIFVpRWRpdGFibGVHcmlkQ29tcG9uZW50XG4gICAgZXh0ZW5kcyBTYXBVaVJlcG9ydEJhc2VDb21wb25lbnQ8VWlSZXBvcnRWaWV3QmFzZVNldHRpbmc+XG4gICAgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveVxue1xuICAgIHZhbHVlQ29udHJvbEZpZWxkQ2FwdGlvbjtcbiAgICB2YWx1ZURiTmFtZTtcbiAgICBob3Jpem9udGFsUm93czogYW55W107XG4gICAgYWN0aXZlQ2VsbDtcbiAgICB2YWx1ZVR5cGU7XG4gICAgZm9ybUxheW91dDogTGF5b3V0U2V0dGluZztcbiAgICBtYXRyaXhXaWR0aFR5cGU7XG4gICAgY2VsbFdpZHRoID0gMTAwO1xuICAgIGNlbGxIZWlnaHQgPSAzODtcbiAgICB2ZXJ0aWNhbExhYmVsV2lkdGggPSAxMDA7XG4gICAgbWluV2lkdGggPSAxMDA7XG4gICAgbWluSGVpZ2h0ID0gMjI7XG4gICAgZW5hYmxlUmVzaXppbmcgPSB0cnVlO1xuICAgIHJvd1Jlc2l6ZXIgPSB0cnVlO1xuICAgIHdpZHRoVHlwZUVudW0gPSBXaWR0aFR5cGVFbnVtO1xuICAgIGZpdFdpZHRoID0gdHJ1ZTtcbiAgICBtYXRyaXhNb0xpc3QkOiBPYnNlcnZhYmxlPE1ldGFvYmplY3REYXRhTW9kZWxbXT47XG5cbiAgICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICAgICAgc3VwZXIubmdPbkluaXQoKTtcbiAgICAgICAgdGhpcy52YWx1ZURiTmFtZSA9IHRoaXMuY29udGV4dC5TZXR0aW5nLlZpZXcuVmFsdWVEYk5hbWU7XG4gICAgICAgIHRoaXMudmFsdWVUeXBlID0gdGhpcy5jb250ZXh0LnZhbHVlRmllbGRUeXBlO1xuICAgICAgICBjb25zdCBmb3JtU2V0dGluZyA9IHRoaXMuY29udGV4dC5TZXR0aW5nLkZvcm1UZW1wbGF0ZTtcbiAgICAgICAgLy8gdGhpcy5mb3JtTGF5b3V0ID0gdGhpcy5jb250ZXh0LlNldHRpbmcuRm9ybVRlbXBsYXRlLlZpZXcuQ29udHJvbEluZm87XG4gICAgICAgIHRoaXMuaG9yaXpvbnRhbFJvd3MgPSB0aGlzLmNvbnRleHQuU2V0dGluZy5WaWV3Lkhvcml6b250YWxDb2x1bW47XG4gICAgICAgIHRoaXMudmFsdWVDb250cm9sRmllbGRDYXB0aW9uID0gdGhpcy5jb250ZXh0LlNldHRpbmcuRm9ybVRlbXBsYXRlLlZpZXcuQ29udHJvbEluZm8uZmluZChcbiAgICAgICAgICAgIChjb2wpID0+IGNvbC5Db250cm9sTmFtZSA9PT0gdGhpcy52YWx1ZURiTmFtZVxuICAgICAgICApLkNvbnRyb2xGaWVsZENhcHRpb247XG4gICAgICAgIC8vIHRoZXJlIGlzIGRpZmZlcmVudCBiZXR3ZWVuIHVsdiBtb2RhdGFsaXN0IGFuZCB2aWV3ZXIgZGF0YWxpc3QuIGluIG1hdHJpeHZpZXdlciBhZGFwdGVyIG1vZGF0YWxpc3QgdHJhbnNmb3JtZWQuXG4gICAgICAgIC8vIHNvIHdlIG5lZWQgdGVsbCB0byB1bHZtYWluc2VydmljZSB0byB1cGRhdGUgbW9kYXRhbGlzdFxuICAgICAgICB0aGlzLl91bHZNYWluU2VydmljZS5yZVNldE1vRGF0YUxpc3QodGhpcy5jb250ZXh0Lm1vRGF0YUxpc3QpO1xuXG4gICAgICAgIHRoaXMubWF0cml4TW9MaXN0JCA9IHRoaXMubW9EYXRhTGlzdCQucGlwZShcbiAgICAgICAgICAgIHRha2VVbnRpbCh0aGlzLl9vbkRlc3Ryb3kkKSxcbiAgICAgICAgICAgIG1hcCgobW9EYXRhTGlzdCkgPT4gdGhpcy5fbWF0cml4TW9MaXN0KG1vRGF0YUxpc3QpKVxuICAgICAgICApO1xuXG4gICAgICAgIGlmICghdGhpcy5mb3JtUGFuZWxDdHJscikge1xuICAgICAgICAgICAgdGhpcy5mb3JtUGFuZWxDdHJsciA9IGNyZWF0ZUdyaWRFZGl0b3JGb3JtUGFuZWwoXG4gICAgICAgICAgICAgICAgZm9ybVNldHRpbmcsXG4gICAgICAgICAgICAgICAgZm9ybVNldHRpbmcuRGF0YS5NbyxcbiAgICAgICAgICAgICAgICB0aGlzLl90eXBlRGVmSWQsXG4gICAgICAgICAgICAgICAgbnVsbFxuICAgICAgICAgICAgICAgIC8vIEJhcnNhQXBpLkNvbW1vbi5VdGlsLlRyeUdldFZhbHVlKHRoaXMuY29udGV4dC5TZXR0aW5nLCAnRXh0cmEuUmVsYXRpb24nKVxuICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIGNvbnN0IGZvcm1QYW5lbEN0cmxyID0gdGhpcy5mb3JtUGFuZWxDdHJscjtcbiAgICAgICAgICAgIHRoaXMuZm9ybUxheW91dCA9IGZvcm1QYW5lbEN0cmxyLlNldHRpbmcuVmlldy5MYXlvdXQ5NDtcblxuICAgICAgICAgICAgZm9ybVBhbmVsQ3RybHIub24oe1xuICAgICAgICAgICAgICAgIFZhbHVlQ2hhbmdlOiB0aGlzLl9jZWxsVmFsdWVDaGFuZ2UuYmluZCh0aGlzKVxuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB0aGlzLmZvcm1QYW5lbEN0cmxyLkxvYWRBbmRDcmVhdGUobnVsbCwgZmFsc2UsIGZhbHNlLCAoKSA9PiB7XG4gICAgICAgICAgICAgICAgY29uc3QgY3VzdG9tRm9ybVBhbmVsVWkgPSBmb3JtUGFuZWxDdHJsci5BZGFwdGVyLkNvbnRyb2w7XG4gICAgICAgICAgICAgICAgY3VzdG9tRm9ybVBhbmVsVWkuUmVmcmVzaCA9ICgpID0+IHt9O1xuICAgICAgICAgICAgICAgIHRoaXMuX2Zvcm1wYW5lbFNlcnZpY2UuY29udGV4dCA9IGZvcm1QYW5lbEN0cmxyLkFkYXB0ZXIuQ29udHJvbDtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgfVxuICAgIG9uU2F2ZSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5jb250ZXh0LmZpcmVFdmVudChcbiAgICAgICAgICAgICdTYXZlQmF0Y2hDbGlja2VkJyxcbiAgICAgICAgICAgIHRoaXMubW9EYXRhTGlzdC5maWx0ZXIoKGMpID0+IGMuJE1vZGlmaWVkKS5tYXAoKGMpID0+ICh7IGRhdGE6IGMsIG1vZGlmaWVkOiBjLiRNb2RpZmllZCB9KSlcbiAgICAgICAgKTtcbiAgICB9XG4gICAgb25TZWxlY3Rpb25DaGFuZ2UoY2VsbEluZm86IHsgdmFsdWU6IGFueTsgaW5kZXg6IHsgaTogbnVtYmVyOyBqOiBudW1iZXIgfSB9KTogdm9pZCB7XG4gICAgICAgIGNvbnN0IHsgdmFsdWUsIGluZGV4IH0gPSBjZWxsSW5mbztcbiAgICAgICAgdGhpcy5hY3RpdmVDZWxsID0gaW5kZXg7XG4gICAgICAgIC8vIGNvbnN0IG5ld01vID0gZ2V0TmV3TW9HcmlkRWRpdG9yKHRoaXMuY29udGV4dC5TZXR0aW5nLkZvcm1UZW1wbGF0ZSwgdGhpcy5fdHlwZURlZklkKTtcbiAgICAgICAgLy8gbmV3TW9bdGhpcy52YWx1ZURiTmFtZV0gPSB2YWx1ZTtcblxuICAgICAgICBjb25zdCBjb250cm9sVWkgPSB0aGlzLmZvcm1QYW5lbEN0cmxyLkdldEZpZWxkbEJ5TmFtZSh0aGlzLnZhbHVlRGJOYW1lKTtcbiAgICAgICAgY29udHJvbFVpLlNldFZhbHVlKHZhbHVlKTtcbiAgICB9XG4gICAgb25DaGFuZ2VWaWV3KGlzRml0OiBib29sZWFuKTogdm9pZCB7XG4gICAgICAgIHRoaXMuZml0V2lkdGggPSBpc0ZpdDtcbiAgICB9XG5cbiAgICAvKiBlc2xpbnQtZGlzYWJsZSAqL1xuICAgIHByb3RlY3RlZCBfc2VsZWN0KG1vLCBpbmRleCk6IE1ldGFvYmplY3REYXRhTW9kZWwge1xuICAgICAgICByZXR1cm4gbW87XG4gICAgfVxuICAgIHByaXZhdGUgX21hdHJpeE1vTGlzdChtb0RhdGFMaXN0KTogTWV0YW9iamVjdERhdGFNb2RlbFtdIHtcbiAgICAgICAgbW9EYXRhTGlzdC5mb3JFYWNoKChtbykgPT4ge1xuICAgICAgICAgICAgdGhpcy5ob3Jpem9udGFsUm93cy5mb3JFYWNoKChjb2wpID0+IHtcbiAgICAgICAgICAgICAgICBpZiAobW9bY29sLkNhcHRpb25dID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgICAgICAgICAgbW9bY29sLkNhcHRpb25dID0gbnVsbDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfSk7XG4gICAgICAgIHJldHVybiBtb0RhdGFMaXN0O1xuICAgIH1cbiAgICBwcml2YXRlIF9jZWxsVmFsdWVDaGFuZ2Uoc2VuZGVyKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IGluZGV4SSA9IHRoaXMuYWN0aXZlQ2VsbC5pO1xuICAgICAgICBjb25zdCBpbmRleEogPSB0aGlzLmFjdGl2ZUNlbGwuajtcbiAgICAgICAgdGhpcy5tb0RhdGFMaXN0JFxuICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgdGFrZVVudGlsKHRoaXMuX29uRGVzdHJveSQpLFxuICAgICAgICAgICAgICAgIHRhcCgobW9EYXRhTGlzdCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICBtb0RhdGFMaXN0W2luZGV4SV1bdGhpcy5ob3Jpem9udGFsUm93c1tpbmRleEpdLkNhcHRpb25dID0gc2VuZGVyLk1vW3RoaXMudmFsdWVEYk5hbWVdO1xuICAgICAgICAgICAgICAgICAgICBpZiAobW9EYXRhTGlzdFtpbmRleEldLiRNb2RpZmllZCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgbW9EYXRhTGlzdFtpbmRleEldLiRNb2RpZmllZFt0aGlzLmhvcml6b250YWxSb3dzW2luZGV4Sl0uQ2FwdGlvbl0gPSAxO1xuICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgbW9EYXRhTGlzdFtpbmRleEldLiRNb2RpZmllZCA9IHsgW3RoaXMuaG9yaXpvbnRhbFJvd3NbaW5kZXhKXS5DYXB0aW9uXTogMSB9O1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgIClcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoKTtcbiAgICB9XG59XG5leHBvcnQgZW51bSBXaWR0aFR5cGVFbnVtIHtcbiAgICBGaXRXaWR0aCA9ICfYs9iq2YjZhiDZh9in24wg2YfZhSDYudix2LYnLFxuICAgIFN0YXRpY1dpZHRoID0gJ9iz2KrZiNmGINmH2KfbjCDYqNinINi52LHYtiDYr9mE2K7ZiNin2YcnXG59XG4iLCI8bmctY29udGFpbmVyXG4gICAgKm5nVGVtcGxhdGVPdXRsZXQ9XCJcbiAgICAgICAgbWF0cml4VGVtcGxhdGU7XG4gICAgICAgIGNvbnRleHQ6IHtcbiAgICAgICAgICAgIG1vRGF0YUxpc3Q6IG1hdHJpeE1vTGlzdCQgfCBhc3luYyxcbiAgICAgICAgICAgIGNvbHVtbnM6IGhvcml6b250YWxSb3dzLFxuICAgICAgICAgICAgY29uZGl0aW9uYWxGb3JtYXRzOiBjb25kaXRpb25hbEZvcm1hdHMkIHwgYXN5bmMsXG4gICAgICAgICAgICBkZXZpY2VOYW1lOiBkZXZpY2VOYW1lJCB8IGFzeW5jLFxuICAgICAgICAgICAgZGV2aWNlU2l6ZTogZGV2aWNlU2l6ZSQgfCBhc3luYyxcbiAgICAgICAgICAgIHRpdGxlOiB0aXRsZSQgfCBhc3luYyxcbiAgICAgICAgICAgIGlubGluZUVkaXRNb2RlOiBpbmxpbmVFZGl0TW9kZSQgfCBhc3luYyxcbiAgICAgICAgICAgIGFsbG93SW5saW5lRWRpdDogYWxsb3dJbmxpbmVFZGl0JCB8IGFzeW5jLFxuICAgICAgICAgICAgaGlkZVRvb2xiYXI6IGhpZGVUb29sYmFyJCB8IGFzeW5jLFxuICAgICAgICAgICAgY29udGVudERlbnNpdHk6IGNvbnRlbnREZW5zaXR5JCB8IGFzeW5jLFxuICAgICAgICAgICAgYWN0aXZlQ2VsbDogYWN0aXZlQ2VsbCxcbiAgICAgICAgICAgIHZhbHVlQ29udHJvbEZpZWxkQ2FwdGlvbjogdmFsdWVDb250cm9sRmllbGRDYXB0aW9uLFxuICAgICAgICAgICAgdmFsdWVUeXBlOiB2YWx1ZVR5cGUsXG4gICAgICAgICAgICBmb3JtU2V0dGluZzogY29udGV4dC5TZXR0aW5nLkZvcm1UZW1wbGF0ZSxcbiAgICAgICAgICAgIG1hdHJpeFdpZHRoVHlwZTogbWF0cml4V2lkdGhUeXBlLFxuICAgICAgICAgICAgY2VsbFdpZHRoOiBjZWxsV2lkdGgsXG4gICAgICAgICAgICB2ZXJ0aWNhbExhYmVsV2lkdGg6IHZlcnRpY2FsTGFiZWxXaWR0aCxcbiAgICAgICAgICAgIGZpdFdpZHRoOiBmaXRXaWR0aCxcbiAgICAgICAgICAgIGFjY2VzczogY29udGV4dC5TZXR0aW5nLkV4dHJhPy5EZWZhdWx0Q29tbWFuZHNBY2Nlc3MsXG4gICAgICAgICAgICBoYXNTZWxlY3RlZDogaGFzU2VsZWN0ZWQkIHwgYXN5bmMsXG4gICAgICAgICAgICBjb250YWluZXJXaWR0aDogY29udGFpbmVyV2lkdGgkIHwgYXN5bmMsXG4gICAgICAgICAgICBmb3JtTGF5b3V0OiBmb3JtTGF5b3V0XG4gICAgICAgIH1cbiAgICBcIlxuPjwvbmctY29udGFpbmVyPlxuXG48bmctdGVtcGxhdGVcbiAgICAjbWF0cml4VGVtcGxhdGVcbiAgICBsZXQtbW9EYXRhTGlzdD1cIm1vRGF0YUxpc3RcIlxuICAgIGxldC1kZXZpY2VOYW1lPVwiZGV2aWNlTmFtZVwiXG4gICAgbGV0LWRldmljZVNpemU9XCJkZXZpY2VTaXplXCJcbiAgICBsZXQtdGl0bGU9XCJ0aXRsZVwiXG4gICAgbGV0LWlubGluZUVkaXRNb2RlPVwiaW5saW5lRWRpdE1vZGVcIlxuICAgIGxldC1hbGxvd0lubGluZUVkaXQ9XCJhbGxvd0lubGluZUVkaXRcIlxuICAgIGxldC1oaWRlVG9vbGJhcj1cImhpZGVUb29sYmFyXCJcbiAgICBsZXQtY29udGVudERlbnNpdHk9XCJjb250ZW50RGVuc2l0eVwiXG4gICAgbGV0LWNvbHVtbnM9XCJjb2x1bW5zXCJcbiAgICBsZXQtY29uZGl0aW9uYWxGb3JtYXRzPVwiY29uZGl0aW9uYWxGb3JtYXRzXCJcbiAgICBsZXQtYWN0aXZlQ2VsbD1cImFjdGl2ZUNlbGxcIlxuICAgIGxldC12YWx1ZUNvbnRyb2xGaWVsZENhcHRpb249XCJ2YWx1ZUNvbnRyb2xGaWVsZENhcHRpb25cIlxuICAgIGxldC12YWx1ZVR5cGU9XCJ2YWx1ZVR5cGVcIlxuICAgIGxldC1mb3JtU2V0dGluZz1cImZvcm1TZXR0aW5nXCJcbiAgICBsZXQtbWF0cml4V2lkdGhUeXBlPVwibWF0cml4V2lkdGhUeXBlXCJcbiAgICBsZXQtY2VsbFdpZHRoPVwiY2VsbFdpZHRoXCJcbiAgICBsZXQtdmVydGljYWxMYWJlbFdpZHRoPVwidmVydGljYWxMYWJlbFdpZHRoXCJcbiAgICBsZXQtZml0V2lkdGg9XCJmaXRXaWR0aFwiXG4gICAgbGV0LWFjY2Vzcz1cImFjY2Vzc1wiXG4gICAgbGV0LWhhc1NlbGVjdGVkPVwiaGFzU2VsZWN0ZWRcIlxuICAgIGxldC1jb250YWluZXJXaWR0aD1cImNvbnRhaW50ZXJXaWR0aFwiXG4gICAgbGV0LWZvcm1MYXlvdXQ9XCJmb3JtTGF5b3V0XCJcbj5cbiAgICA8YnN1LXVsdi10b29sYmFyXG4gICAgICAgIFtoaWRlVG9vbGJhcl09XCJoaWRlVG9vbGJhclwiXG4gICAgICAgIFtkZXZpY2VOYW1lXT1cImRldmljZU5hbWVcIlxuICAgICAgICBbZGV2aWNlU2l6ZV09XCJkZXZpY2VTaXplXCJcbiAgICAgICAgW3RpdGxlXT1cInRpdGxlXCJcbiAgICAgICAgW2hhc1NlbGVjdGVkXT1cImhhc1NlbGVjdGVkXCJcbiAgICAgICAgW2FjY2Vzc109XCJhY2Nlc3NcIlxuICAgICAgICBbY29udGVudERlbnNpdHldPVwiY29udGVudERlbnNpdHlcIlxuICAgICAgICBbaW5saW5lRWRpdE1vZGVdPVwiaW5saW5lRWRpdE1vZGVcIlxuICAgICAgICBbYWxsb3dJbmxpbmVFZGl0XT1cImFsbG93SW5saW5lRWRpdFwiXG4gICAgICAgIChzb3J0Q2xpY2spPVwib25Tb3J0U2V0dGluZ3MoZGV2aWNlTmFtZSlcIlxuICAgICAgICAoZWRpdE1vZGVDbGljayk9XCJvbkVkaXRNb2RlKClcIlxuICAgID5cbiAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgZmQtdG9vbGJhci1pdGVtXG4gICAgICAgICAgICBmZC1idXR0b25cbiAgICAgICAgICAgIFtmZFR5cGVdPVwiJ2VtcGhhc2l6ZWQnXCJcbiAgICAgICAgICAgIFtsYWJlbF09XCInU2F2ZScgfCBiYmJUcmFuc2xhdGVcIlxuICAgICAgICAgICAgW2dseXBoXT1cIidzYXZlJ1wiXG4gICAgICAgICAgICAoY2xpY2spPVwib25TYXZlKClcIlxuICAgICAgICA+PC9idXR0b24+XG4gICAgICAgIDxmZC1zcGxpdC1idXR0b25cbiAgICAgICAgICAgIGZkLXRvb2xiYXItaXRlbVxuICAgICAgICAgICAgW21haW5BY3Rpb25dPVwie1xuICAgICAgICAgICAgICAgIGtlZXBNYWluQWN0aW9uOiB0cnVlLFxuICAgICAgICAgICAgICAgIG1haW5BY3Rpb25UaXRsZTogc3BsaXRCdG5UaXRsZVxuICAgICAgICAgICAgfVwiXG4gICAgICAgID5cbiAgICAgICAgICAgIDxmZC1tZW51PlxuICAgICAgICAgICAgICAgIDxsaSBmZC1tZW51LWl0ZW0+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgZmQtbWVudS1pbnRlcmFjdGl2ZSAoY2xpY2spPVwib25DaGFuZ2VWaWV3KHRydWUpXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBmZC1tZW51LXRpdGxlPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7IHdpZHRoVHlwZUVudW0uRml0V2lkdGggfX1cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPC9saT5cbiAgICAgICAgICAgICAgICA8bGkgZmQtbWVudS1pdGVtPlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGZkLW1lbnUtaW50ZXJhY3RpdmUgKGNsaWNrKT1cIm9uQ2hhbmdlVmlldyhmYWxzZSlcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGZkLW1lbnUtdGl0bGU+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAge3sgd2lkdGhUeXBlRW51bS5TdGF0aWNXaWR0aCB9fVxuICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8L2xpPlxuICAgICAgICAgICAgPC9mZC1tZW51PlxuICAgICAgICA8L2ZkLXNwbGl0LWJ1dHRvbj5cblxuICAgICAgICA8bmctdGVtcGxhdGUgI3NwbGl0QnRuVGl0bGU+XG4gICAgICAgICAgICA8c3Bhbj57eyBmaXRXaWR0aCA/IHdpZHRoVHlwZUVudW0uRml0V2lkdGggOiB3aWR0aFR5cGVFbnVtLlN0YXRpY1dpZHRoIH19PC9zcGFuPlxuICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgIDwvYnN1LXVsdi10b29sYmFyPlxuICAgIDxic3UtdWktbWF0cml4LXZpZXdcbiAgICAgICAgW21vRGF0YUxpc3RdPVwibW9EYXRhTGlzdFwiXG4gICAgICAgIFtjb2x1bW5zXT1cImNvbHVtbnNcIlxuICAgICAgICBbY29uZGl0aW9uYWxGb3JtYXRzXT1cImNvbmRpdGlvbmFsRm9ybWF0c1wiXG4gICAgICAgIFthY3RpdmVDZWxsXT1cImFjdGl2ZUNlbGxcIlxuICAgICAgICBbdmFsdWVDb250cm9sRmllbGRDYXB0aW9uXT1cInZhbHVlQ29udHJvbEZpZWxkQ2FwdGlvblwiXG4gICAgICAgIFt2YWx1ZVR5cGVdPVwidmFsdWVUeXBlXCJcbiAgICAgICAgW2FjY2Vzc109XCJhY2Nlc3NcIlxuICAgICAgICBbZm9ybUxheW91dF09XCJmb3JtTGF5b3V0XCJcbiAgICAgICAgW21hdHJpeFdpZHRoVHlwZV09XCJtYXRyaXhXaWR0aFR5cGVcIlxuICAgICAgICBbY2VsbFdpZHRoXT1cImNlbGxXaWR0aFwiXG4gICAgICAgIFtjZWxsSGVpZ2h0XT1cImNlbGxIZWlnaHRcIlxuICAgICAgICBbdmVydGljYWxMYWJlbFdpZHRoXT1cInZlcnRpY2FsTGFiZWxXaWR0aFwiXG4gICAgICAgIFtmaXRXaWR0aF09XCJmaXRXaWR0aFwiXG4gICAgICAgIFttaW5XaWR0aF09XCJtaW5XaWR0aFwiXG4gICAgICAgIFttaW5IZWlnaHRdPVwibWluSGVpZ2h0XCJcbiAgICAgICAgW3Jvd1Jlc2l6ZXJdPVwicm93UmVzaXplclwiXG4gICAgICAgIFtlbmFibGVSZXNpemluZ109XCJlbmFibGVSZXNpemluZ1wiXG4gICAgICAgIFtjb250YWluZXJXaWR0aF09XCJjb250YWluZXJXaWR0aFwiXG4gICAgICAgIChzZWxlY3Rpb25DaGFuZ2UpPVwib25TZWxlY3Rpb25DaGFuZ2UoJGV2ZW50KVwiXG4gICAgPjwvYnN1LXVpLW1hdHJpeC12aWV3PlxuPC9uZy10ZW1wbGF0ZT5cbiJdfQ==
110
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidWktZWRpdGFibGUtZ3JpZC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9iYXJzYS1zYXAtdWkvc3JjL2xpYi91aS1lZGl0YWJsZS1ncmlkL3VpLWVkaXRhYmxlLWdyaWQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmFyc2Etc2FwLXVpL3NyYy9saWIvdWktZWRpdGFibGUtZ3JpZC91aS1lZGl0YWJsZS1ncmlkLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQXFCLE1BQU0sZUFBZSxDQUFDO0FBQ3RGLE9BQU8sRUFBRSxHQUFHLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRXJELE9BQU8sRUFDSCx5QkFBeUIsRUFDekIsZ0JBQWdCLEVBSW5CLE1BQU0sc0JBQXNCLENBQUM7QUFDOUIsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0saUNBQWlDLENBQUM7Ozs7Ozs7Ozs7QUFVM0UsTUFBTSxPQUFPLHVCQUNULFNBQVEsd0JBQWlEO0lBUjdEOztRQWtCSSxjQUFTLEdBQUcsR0FBRyxDQUFDO1FBQ2hCLGVBQVUsR0FBRyxFQUFFLENBQUM7UUFDaEIsdUJBQWtCLEdBQUcsR0FBRyxDQUFDO1FBQ3pCLGFBQVEsR0FBRyxHQUFHLENBQUM7UUFDZixjQUFTLEdBQUcsRUFBRSxDQUFDO1FBQ2YsbUJBQWMsR0FBRyxJQUFJLENBQUM7UUFDdEIsZUFBVSxHQUFHLElBQUksQ0FBQztRQUNsQixrQkFBYSxHQUFHLGFBQWEsQ0FBQztRQUM5QixhQUFRLEdBQUcsSUFBSSxDQUFDO0tBNkZuQjtJQTFGRyxRQUFRO1FBQ0osS0FBSyxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQ2pCLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENB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LENBQUMsU0FBUyxFQUFFO2dCQUM5QixVQUFVLENBQUMsTUFBTSxDQUFDLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsTUFBTSxDQUFDLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDO2FBQ3pFO2lCQUFNO2dCQUNILFVBQVUsQ0FBQyxNQUFNLENBQUMsQ0FBQyxTQUFTLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsTUFBTSxDQUFDLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUM7YUFDL0U7UUFDTCxDQUFDLENBQUMsQ0FDTDthQUNBLFNBQVMsRUFBRSxDQUFDO0lBQ3JCLENBQUM7O29IQS9HUSx1QkFBdUI7d0dBQXZCLHVCQUF1QiwrQ0FGckIsQ0FBQyxnQkFBZ0IsQ0FBQyxpRENsQmpDLGcxSkErSEE7MkZEM0dhLHVCQUF1QjtrQkFQbkMsU0FBUzsrQkFDSSxzQkFBc0IsbUJBR2YsdUJBQXVCLENBQUMsTUFBTSxhQUNwQyxDQUFDLGdCQUFnQixDQUFDOztBQW1IakMsTUFBTSxDQUFOLElBQVksYUFHWDtBQUhELFdBQVksYUFBYTtJQUNyQix5R0FBNEIsQ0FBQTtJQUM1QixpSkFBc0MsQ0FBQTtBQUMxQyxDQUFDLEVBSFcsYUFBYSxLQUFiLGFBQWEsUUFHeEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBPbkRlc3Ryb3ksIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBtYXAsIHRha2VVbnRpbCwgdGFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5cclxuaW1wb3J0IHtcclxuICAgIGNyZWF0ZUdyaWRFZGl0b3JGb3JtUGFuZWwsXHJcbiAgICBGb3JtUGFuZWxTZXJ2aWNlLFxyXG4gICAgTGF5b3V0U2V0dGluZyxcclxuICAgIE1ldGFvYmplY3REYXRhTW9kZWwsXHJcbiAgICBVaVJlcG9ydFZpZXdCYXNlU2V0dGluZ1xyXG59IGZyb20gJ2JhcnNhLW5vdmluLXJheS1jb3JlJztcclxuaW1wb3J0IHsgU2FwVWlSZXBvcnRCYXNlQ29tcG9uZW50IH0gZnJvbSAnLi4vc2FwLXVpLXJlcG9ydC1iYXNlLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gICAgc2VsZWN0b3I6ICdic3UtdWktZWRpdGFibGUtZ3JpZCcsXHJcbiAgICB0ZW1wbGF0ZVVybDogJy4vdWktZWRpdGFibGUtZ3JpZC5jb21wb25lbnQuaHRtbCcsXHJcbiAgICBzdHlsZVVybHM6IFsnLi91aS1lZGl0YWJsZS1ncmlkLmNvbXBvbmVudC5zY3NzJ10sXHJcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcclxuICAgIHByb3ZpZGVyczogW0Zvcm1QYW5lbFNlcnZpY2VdXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBVaUVkaXRhYmxlR3JpZENvbXBvbmVudFxyXG4gICAgZXh0ZW5kcyBTYXBVaVJlcG9ydEJhc2VDb21wb25lbnQ8VWlSZXBvcnRWaWV3QmFzZVNldHRpbmc+XHJcbiAgICBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95XHJcbntcclxuICAgIHZhbHVlQ29udHJvbEZpZWxkQ2FwdGlvbjtcclxuICAgIHZhbHVlRGJOYW1lO1xyXG4gICAgaG9yaXpvbnRhbFJvd3M6IGFueVtdO1xyXG4gICAgYWN0aXZlQ2VsbDtcclxuICAgIHZhbHVlVHlwZTtcclxuICAgIGZvcm1MYXlvdXQ6IExheW91dFNldHRpbmc7XHJcbiAgICBtYXRyaXhXaWR0aFR5cGU7XHJcbiAgICBjZWxsV2lkdGggPSAxMDA7XHJcbiAgICBjZWxsSGVpZ2h0ID0gMzg7XHJcbiAgICB2ZXJ0aWNhbExhYmVsV2lkdGggPSAxMDA7XHJcbiAgICBtaW5XaWR0aCA9IDEwMDtcclxuICAgIG1pbkhlaWdodCA9IDIyO1xyXG4gICAgZW5hYmxlUmVzaXppbmcgPSB0cnVlO1xyXG4gICAgcm93UmVzaXplciA9IHRydWU7XHJcbiAgICB3aWR0aFR5cGVFbnVtID0gV2lkdGhUeXBlRW51bTtcclxuICAgIGZpdFdpZHRoID0gdHJ1ZTtcclxuICAgIG1hdHJpeE1vTGlzdCQ6IE9ic2VydmFibGU8TWV0YW9iamVjdERhdGFNb2RlbFtdPjtcclxuXHJcbiAgICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgICAgICBzdXBlci5uZ09uSW5pdCgpO1xyXG4gICAgICAgIHRoaXMudmFsdWVEYk5hbWUgPSB0aGlzLmNvbnRleHQuU2V0dGluZy5WaWV3LlZhbHVlRGJOYW1lO1xyXG4gICAgICAgIHRoaXMudmFsdWVUeXBlID0gdGhpcy5jb250ZXh0LnZhbHVlRmllbGRUeXBlO1xyXG4gICAgICAgIGNvbnN0IGZvcm1TZXR0aW5nID0gdGhpcy5jb250ZXh0LlNldHRpbmcuRm9ybVRlbXBsYXRlO1xyXG4gICAgICAgIC8vIHRoaXMuZm9ybUxheW91dCA9IHRoaXMuY29udGV4dC5TZXR0aW5nLkZvcm1UZW1wbGF0ZS5WaWV3LkNvbnRyb2xJbmZvO1xyXG4gICAgICAgIHRoaXMuaG9yaXpvbnRhbFJvd3MgPSB0aGlzLmNvbnRleHQuU2V0dGluZy5WaWV3Lkhvcml6b250YWxDb2x1bW47XHJcbiAgICAgICAgdGhpcy52YWx1ZUNvbnRyb2xGaWVsZENhcHRpb24gPSB0aGlzLmNvbnRleHQuU2V0dGluZy5Gb3JtVGVtcGxhdGUuVmlldy5Db250cm9sSW5mby5maW5kKFxyXG4gICAgICAgICAgICAoY29sKSA9PiBjb2wuQ29udHJvbE5hbWUgPT09IHRoaXMudmFsdWVEYk5hbWVcclxuICAgICAgICApLkNvbnRyb2xGaWVsZENhcHRpb247XHJcbiAgICAgICAgLy8gdGhlcmUgaXMgZGlmZmVyZW50IGJldHdlZW4gdWx2IG1vZGF0YWxpc3QgYW5kIHZpZXdlciBkYXRhbGlzdC4gaW4gbWF0cml4dmlld2VyIGFkYXB0ZXIgbW9kYXRhbGlzdCB0cmFuc2Zvcm1lZC5cclxuICAgICAgICAvLyBzbyB3ZSBuZWVkIHRlbGwgdG8gdWx2bWFpbnNlcnZpY2UgdG8gdXBkYXRlIG1vZGF0YWxpc3RcclxuICAgICAgICB0aGlzLl91bHZNYWluU2VydmljZS5yZVNldE1vRGF0YUxpc3QodGhpcy5jb250ZXh0Lm1vRGF0YUxpc3QpO1xyXG5cclxuICAgICAgICB0aGlzLm1hdHJpeE1vTGlzdCQgPSB0aGlzLm1vRGF0YUxpc3QkLnBpcGUoXHJcbiAgICAgICAgICAgIHRha2VVbnRpbCh0aGlzLl9vbkRlc3Ryb3kkKSxcclxuICAgICAgICAgICAgbWFwKChtb0RhdGFMaXN0KSA9PiB0aGlzLl9tYXRyaXhNb0xpc3QobW9EYXRhTGlzdCkpXHJcbiAgICAgICAgKTtcclxuXHJcbiAgICAgICAgaWYgKCF0aGlzLmZvcm1QYW5lbEN0cmxyKSB7XHJcbiAgICAgICAgICAgIHRoaXMuZm9ybVBhbmVsQ3RybHIgPSBjcmVhdGVHcmlkRWRpdG9yRm9ybVBhbmVsKFxyXG4gICAgICAgICAgICAgICAgZm9ybVNldHRpbmcsXHJcbiAgICAgICAgICAgICAgICBmb3JtU2V0dGluZy5EYXRhLk1vLFxyXG4gICAgICAgICAgICAgICAgdGhpcy5fdHlwZURlZklkLFxyXG4gICAgICAgICAgICAgICAgbnVsbFxyXG4gICAgICAgICAgICAgICAgLy8gQmFyc2FBcGkuQ29tbW9uLlV0aWwuVHJ5R2V0VmFsdWUodGhpcy5jb250ZXh0LlNldHRpbmcsICdFeHRyYS5SZWxhdGlvbicpXHJcbiAgICAgICAgICAgICk7XHJcbiAgICAgICAgICAgIGNvbnN0IGZvcm1QYW5lbEN0cmxyID0gdGhpcy5mb3JtUGFuZWxDdHJscjtcclxuICAgICAgICAgICAgdGhpcy5mb3JtTGF5b3V0ID0gZm9ybVBhbmVsQ3RybHIuU2V0dGluZy5WaWV3LkxheW91dDk0O1xyXG5cclxuICAgICAgICAgICAgZm9ybVBhbmVsQ3RybHIub24oe1xyXG4gICAgICAgICAgICAgICAgVmFsdWVDaGFuZ2U6IHRoaXMuX2NlbGxWYWx1ZUNoYW5nZS5iaW5kKHRoaXMpXHJcbiAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICB0aGlzLmZvcm1QYW5lbEN0cmxyLkxvYWRBbmRDcmVhdGUobnVsbCwgZmFsc2UsIGZhbHNlLCAoKSA9PiB7XHJcbiAgICAgICAgICAgICAgICBjb25zdCBjdXN0b21Gb3JtUGFuZWxVaSA9IGZvcm1QYW5lbEN0cmxyLkFkYXB0ZXIuQ29udHJvbDtcclxuICAgICAgICAgICAgICAgIGN1c3RvbUZvcm1QYW5lbFVpLlJlZnJlc2ggPSAoKSA9PiB7fTtcclxuICAgICAgICAgICAgICAgIHRoaXMuX2Zvcm1wYW5lbFNlcnZpY2UuY29udGV4dCA9IGZvcm1QYW5lbEN0cmxyLkFkYXB0ZXIuQ29udHJvbDtcclxuICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgb25TYXZlKCk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMuY29udGV4dC5maXJlRXZlbnQoXHJcbiAgICAgICAgICAgICdTYXZlQmF0Y2hDbGlja2VkJyxcclxuICAgICAgICAgICAgdGhpcy5tb0RhdGFMaXN0LmZpbHRlcigoYykgPT4gYy4kTW9kaWZpZWQpLm1hcCgoYykgPT4gKHsgZGF0YTogYywgbW9kaWZpZWQ6IGMuJE1vZGlmaWVkIH0pKVxyXG4gICAgICAgICk7XHJcbiAgICB9XHJcbiAgICBvblNlbGVjdGlvbkNoYW5nZShjZWxsSW5mbzogeyB2YWx1ZTogYW55OyBpbmRleDogeyBpOiBudW1iZXI7IGo6IG51bWJlciB9IH0pOiB2b2lkIHtcclxuICAgICAgICBjb25zdCB7IHZhbHVlLCBpbmRleCB9ID0gY2VsbEluZm87XHJcbiAgICAgICAgdGhpcy5hY3RpdmVDZWxsID0gaW5kZXg7XHJcbiAgICAgICAgLy8gY29uc3QgbmV3TW8gPSBnZXROZXdNb0dyaWRFZGl0b3IodGhpcy5jb250ZXh0LlNldHRpbmcuRm9ybVRlbXBsYXRlLCB0aGlzLl90eXBlRGVmSWQpO1xyXG4gICAgICAgIC8vIG5ld01vW3RoaXMudmFsdWVEYk5hbWVdID0gdmFsdWU7XHJcblxyXG4gICAgICAgIGNvbnN0IGNvbnRyb2xVaSA9IHRoaXMuZm9ybVBhbmVsQ3RybHIuR2V0RmllbGRsQnlOYW1lKHRoaXMudmFsdWVEYk5hbWUpO1xyXG4gICAgICAgIGNvbnRyb2xVaS5TZXRWYWx1ZSh2YWx1ZSk7XHJcbiAgICB9XHJcbiAgICBvbkNoYW5nZVZpZXcoaXNGaXQ6IGJvb2xlYW4pOiB2b2lkIHtcclxuICAgICAgICB0aGlzLmZpdFdpZHRoID0gaXNGaXQ7XHJcbiAgICB9XHJcblxyXG4gICAgLyogZXNsaW50LWRpc2FibGUgKi9cclxuICAgIHByb3RlY3RlZCBfc2VsZWN0KG1vLCBpbmRleCk6IE1ldGFvYmplY3REYXRhTW9kZWwge1xyXG4gICAgICAgIHJldHVybiBtbztcclxuICAgIH1cclxuICAgIHByaXZhdGUgX21hdHJpeE1vTGlzdChtb0RhdGFMaXN0KTogTWV0YW9iamVjdERhdGFNb2RlbFtdIHtcclxuICAgICAgICBtb0RhdGFMaXN0LmZvckVhY2goKG1vKSA9PiB7XHJcbiAgICAgICAgICAgIHRoaXMuaG9yaXpvbnRhbFJvd3MuZm9yRWFjaCgoY29sKSA9PiB7XHJcbiAgICAgICAgICAgICAgICBpZiAobW9bY29sLkNhcHRpb25dID09PSB1bmRlZmluZWQpIHtcclxuICAgICAgICAgICAgICAgICAgICBtb1tjb2wuQ2FwdGlvbl0gPSBudWxsO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9KTtcclxuICAgICAgICB9KTtcclxuICAgICAgICByZXR1cm4gbW9EYXRhTGlzdDtcclxuICAgIH1cclxuICAgIHByaXZhdGUgX2NlbGxWYWx1ZUNoYW5nZShzZW5kZXIpOiB2b2lkIHtcclxuICAgICAgICBjb25zdCBpbmRleEkgPSB0aGlzLmFjdGl2ZUNlbGwuaTtcclxuICAgICAgICBjb25zdCBpbmRleEogPSB0aGlzLmFjdGl2ZUNlbGwuajtcclxuICAgICAgICB0aGlzLm1vRGF0YUxpc3QkXHJcbiAgICAgICAgICAgIC5waXBlKFxyXG4gICAgICAgICAgICAgICAgdGFrZVVudGlsKHRoaXMuX29uRGVzdHJveSQpLFxyXG4gICAgICAgICAgICAgICAgdGFwKChtb0RhdGFMaXN0KSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgbW9EYXRhTGlzdFtpbmRleEldW3RoaXMuaG9yaXpvbnRhbFJvd3NbaW5kZXhKXS5DYXB0aW9uXSA9IHNlbmRlci5Nb1t0aGlzLnZhbHVlRGJOYW1lXTtcclxuICAgICAgICAgICAgICAgICAgICBpZiAobW9EYXRhTGlzdFtpbmRleEldLiRNb2RpZmllZCkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBtb0RhdGFMaXN0W2luZGV4SV0uJE1vZGlmaWVkW3RoaXMuaG9yaXpvbnRhbFJvd3NbaW5kZXhKXS5DYXB0aW9uXSA9IDE7XHJcbiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgbW9EYXRhTGlzdFtpbmRleEldLiRNb2RpZmllZCA9IHsgW3RoaXMuaG9yaXpvbnRhbFJvd3NbaW5kZXhKXS5DYXB0aW9uXTogMSB9O1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH0pXHJcbiAgICAgICAgICAgIClcclxuICAgICAgICAgICAgLnN1YnNjcmliZSgpO1xyXG4gICAgfVxyXG59XHJcbmV4cG9ydCBlbnVtIFdpZHRoVHlwZUVudW0ge1xyXG4gICAgRml0V2lkdGggPSAn2LPYqtmI2YYg2YfYp9uMINmH2YUg2LnYsdi2JyxcclxuICAgIFN0YXRpY1dpZHRoID0gJ9iz2KrZiNmGINmH2KfbjCDYqNinINi52LHYtiDYr9mE2K7ZiNin2YcnXHJcbn1cclxuIiwiPG5nLWNvbnRhaW5lclxyXG4gICAgKm5nVGVtcGxhdGVPdXRsZXQ9XCJcclxuICAgICAgICBtYXRyaXhUZW1wbGF0ZTtcclxuICAgICAgICBjb250ZXh0OiB7XHJcbiAgICAgICAgICAgIG1vRGF0YUxpc3Q6IG1hdHJpeE1vTGlzdCQgfCBhc3luYyxcclxuICAgICAgICAgICAgY29sdW1uczogaG9yaXpvbnRhbFJvd3MsXHJcbiAgICAgICAgICAgIGNvbmRpdGlvbmFsRm9ybWF0czogY29uZGl0aW9uYWxGb3JtYXRzJCB8IGFzeW5jLFxyXG4gICAgICAgICAgICBkZXZpY2VOYW1lOiBkZXZpY2VOYW1lJCB8IGFzeW5jLFxyXG4gICAgICAgICAgICBkZXZpY2VTaXplOiBkZXZpY2VTaXplJCB8IGFzeW5jLFxyXG4gICAgICAgICAgICB0aXRsZTogdGl0bGUkIHwgYXN5bmMsXHJcbiAgICAgICAgICAgIGlubGluZUVkaXRNb2RlOiBpbmxpbmVFZGl0TW9kZSQgfCBhc3luYyxcclxuICAgICAgICAgICAgYWxsb3dJbmxpbmVFZGl0OiBhbGxvd0lubGluZUVkaXQkIHwgYXN5bmMsXHJcbiAgICAgICAgICAgIGhpZGVUb29sYmFyOiBoaWRlVG9vbGJhciQgfCBhc3luYyxcclxuICAgICAgICAgICAgY29udGVudERlbnNpdHk6IGNvbnRlbnREZW5zaXR5JCB8IGFzeW5jLFxyXG4gICAgICAgICAgICBhY3RpdmVDZWxsOiBhY3RpdmVDZWxsLFxyXG4gICAgICAgICAgICB2YWx1ZUNvbnRyb2xGaWVsZENhcHRpb246IHZhbHVlQ29udHJvbEZpZWxkQ2FwdGlvbixcclxuICAgICAgICAgICAgdmFsdWVUeXBlOiB2YWx1ZVR5cGUsXHJcbiAgICAgICAgICAgIGZvcm1TZXR0aW5nOiBjb250ZXh0LlNldHRpbmcuRm9ybVRlbXBsYXRlLFxyXG4gICAgICAgICAgICBtYXRyaXhXaWR0aFR5cGU6IG1hdHJpeFdpZHRoVHlwZSxcclxuICAgICAgICAgICAgY2VsbFdpZHRoOiBjZWxsV2lkdGgsXHJcbiAgICAgICAgICAgIHZlcnRpY2FsTGFiZWxXaWR0aDogdmVydGljYWxMYWJlbFdpZHRoLFxyXG4gICAgICAgICAgICBmaXRXaWR0aDogZml0V2lkdGgsXHJcbiAgICAgICAgICAgIGFjY2VzczogY29udGV4dC5TZXR0aW5nLkV4dHJhPy5EZWZhdWx0Q29tbWFuZHNBY2Nlc3MsXHJcbiAgICAgICAgICAgIGhhc1NlbGVjdGVkOiBoYXNTZWxlY3RlZCQgfCBhc3luYyxcclxuICAgICAgICAgICAgY29udGFpbmVyV2lkdGg6IGNvbnRhaW5lcldpZHRoJCB8IGFzeW5jLFxyXG4gICAgICAgICAgICBmb3JtTGF5b3V0OiBmb3JtTGF5b3V0XHJcbiAgICAgICAgfVxyXG4gICAgXCJcclxuPjwvbmctY29udGFpbmVyPlxyXG5cclxuPG5nLXRlbXBsYXRlXHJcbiAgICAjbWF0cml4VGVtcGxhdGVcclxuICAgIGxldC1tb0RhdGFMaXN0PVwibW9EYXRhTGlzdFwiXHJcbiAgICBsZXQtZGV2aWNlTmFtZT1cImRldmljZU5hbWVcIlxyXG4gICAgbGV0LWRldmljZVNpemU9XCJkZXZpY2VTaXplXCJcclxuICAgIGxldC10aXRsZT1cInRpdGxlXCJcclxuICAgIGxldC1pbmxpbmVFZGl0TW9kZT1cImlubGluZUVkaXRNb2RlXCJcclxuICAgIGxldC1hbGxvd0lubGluZUVkaXQ9XCJhbGxvd0lubGluZUVkaXRcIlxyXG4gICAgbGV0LWhpZGVUb29sYmFyPVwiaGlkZVRvb2xiYXJcIlxyXG4gICAgbGV0LWNvbnRlbnREZW5zaXR5PVwiY29udGVudERlbnNpdHlcIlxyXG4gICAgbGV0LWNvbHVtbnM9XCJjb2x1bW5zXCJcclxuICAgIGxldC1jb25kaXRpb25hbEZvcm1hdHM9XCJjb25kaXRpb25hbEZvcm1hdHNcIlxyXG4gICAgbGV0LWFjdGl2ZUNlbGw9XCJhY3RpdmVDZWxsXCJcclxuICAgIGxldC12YWx1ZUNvbnRyb2xGaWVsZENhcHRpb249XCJ2YWx1ZUNvbnRyb2xGaWVsZENhcHRpb25cIlxyXG4gICAgbGV0LXZhbHVlVHlwZT1cInZhbHVlVHlwZVwiXHJcbiAgICBsZXQtZm9ybVNldHRpbmc9XCJmb3JtU2V0dGluZ1wiXHJcbiAgICBsZXQtbWF0cml4V2lkdGhUeXBlPVwibWF0cml4V2lkdGhUeXBlXCJcclxuICAgIGxldC1jZWxsV2lkdGg9XCJjZWxsV2lkdGhcIlxyXG4gICAgbGV0LXZlcnRpY2FsTGFiZWxXaWR0aD1cInZlcnRpY2FsTGFiZWxXaWR0aFwiXHJcbiAgICBsZXQtZml0V2lkdGg9XCJmaXRXaWR0aFwiXHJcbiAgICBsZXQtYWNjZXNzPVwiYWNjZXNzXCJcclxuICAgIGxldC1oYXNTZWxlY3RlZD1cImhhc1NlbGVjdGVkXCJcclxuICAgIGxldC1jb250YWluZXJXaWR0aD1cImNvbnRhaW50ZXJXaWR0aFwiXHJcbiAgICBsZXQtZm9ybUxheW91dD1cImZvcm1MYXlvdXRcIlxyXG4+XHJcbiAgICA8YnN1LXVsdi10b29sYmFyXHJcbiAgICAgICAgW2hpZGVUb29sYmFyXT1cImhpZGVUb29sYmFyXCJcclxuICAgICAgICBbZGV2aWNlTmFtZV09XCJkZXZpY2VOYW1lXCJcclxuICAgICAgICBbZGV2aWNlU2l6ZV09XCJkZXZpY2VTaXplXCJcclxuICAgICAgICBbdGl0bGVdPVwidGl0bGVcIlxyXG4gICAgICAgIFtoYXNTZWxlY3RlZF09XCJoYXNTZWxlY3RlZFwiXHJcbiAgICAgICAgW2FjY2Vzc109XCJhY2Nlc3NcIlxyXG4gICAgICAgIFtjb250ZW50RGVuc2l0eV09XCJjb250ZW50RGVuc2l0eVwiXHJcbiAgICAgICAgW2lubGluZUVkaXRNb2RlXT1cImlubGluZUVkaXRNb2RlXCJcclxuICAgICAgICBbYWxsb3dJbmxpbmVFZGl0XT1cImFsbG93SW5saW5lRWRpdFwiXHJcbiAgICAgICAgKHNvcnRDbGljayk9XCJvblNvcnRTZXR0aW5ncyhkZXZpY2VOYW1lKVwiXHJcbiAgICAgICAgKGVkaXRNb2RlQ2xpY2spPVwib25FZGl0TW9kZSgpXCJcclxuICAgID5cclxuICAgICAgICA8YnV0dG9uXHJcbiAgICAgICAgICAgIGZkLXRvb2xiYXItaXRlbVxyXG4gICAgICAgICAgICBmZC1idXR0b25cclxuICAgICAgICAgICAgW2ZkVHlwZV09XCInZW1waGFzaXplZCdcIlxyXG4gICAgICAgICAgICBbbGFiZWxdPVwiJ1NhdmUnIHwgYmJiVHJhbnNsYXRlXCJcclxuICAgICAgICAgICAgW2dseXBoXT1cIidzYXZlJ1wiXHJcbiAgICAgICAgICAgIChjbGljayk9XCJvblNhdmUoKVwiXHJcbiAgICAgICAgPjwvYnV0dG9uPlxyXG4gICAgICAgIDxmZC1zcGxpdC1idXR0b25cclxuICAgICAgICAgICAgZmQtdG9vbGJhci1pdGVtXHJcbiAgICAgICAgICAgIFttYWluQWN0aW9uXT1cIntcclxuICAgICAgICAgICAgICAgIGtlZXBNYWluQWN0aW9uOiB0cnVlLFxyXG4gICAgICAgICAgICAgICAgbWFpbkFjdGlvblRpdGxlOiBzcGxpdEJ0blRpdGxlXHJcbiAgICAgICAgICAgIH1cIlxyXG4gICAgICAgID5cclxuICAgICAgICAgICAgPGZkLW1lbnU+XHJcbiAgICAgICAgICAgICAgICA8bGkgZmQtbWVudS1pdGVtPlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgZmQtbWVudS1pbnRlcmFjdGl2ZSAoY2xpY2spPVwib25DaGFuZ2VWaWV3KHRydWUpXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGZkLW1lbnUtdGl0bGU+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7eyB3aWR0aFR5cGVFbnVtLkZpdFdpZHRoIH19XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDwvbGk+XHJcbiAgICAgICAgICAgICAgICA8bGkgZmQtbWVudS1pdGVtPlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgZmQtbWVudS1pbnRlcmFjdGl2ZSAoY2xpY2spPVwib25DaGFuZ2VWaWV3KGZhbHNlKVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBmZC1tZW51LXRpdGxlPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAge3sgd2lkdGhUeXBlRW51bS5TdGF0aWNXaWR0aCB9fVxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8L2xpPlxyXG4gICAgICAgICAgICA8L2ZkLW1lbnU+XHJcbiAgICAgICAgPC9mZC1zcGxpdC1idXR0b24+XHJcblxyXG4gICAgICAgIDxuZy10ZW1wbGF0ZSAjc3BsaXRCdG5UaXRsZT5cclxuICAgICAgICAgICAgPHNwYW4+e3sgZml0V2lkdGggPyB3aWR0aFR5cGVFbnVtLkZpdFdpZHRoIDogd2lkdGhUeXBlRW51bS5TdGF0aWNXaWR0aCB9fTwvc3Bhbj5cclxuICAgICAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgPC9ic3UtdWx2LXRvb2xiYXI+XHJcbiAgICA8YnN1LXVpLW1hdHJpeC12aWV3XHJcbiAgICAgICAgW21vRGF0YUxpc3RdPVwibW9EYXRhTGlzdFwiXHJcbiAgICAgICAgW2NvbHVtbnNdPVwiY29sdW1uc1wiXHJcbiAgICAgICAgW2NvbmRpdGlvbmFsRm9ybWF0c109XCJjb25kaXRpb25hbEZvcm1hdHNcIlxyXG4gICAgICAgIFthY3RpdmVDZWxsXT1cImFjdGl2ZUNlbGxcIlxyXG4gICAgICAgIFt2YWx1ZUNvbnRyb2xGaWVsZENhcHRpb25dPVwidmFsdWVDb250cm9sRmllbGRDYXB0aW9uXCJcclxuICAgICAgICBbdmFsdWVUeXBlXT1cInZhbHVlVHlwZVwiXHJcbiAgICAgICAgW2FjY2Vzc109XCJhY2Nlc3NcIlxyXG4gICAgICAgIFtmb3JtTGF5b3V0XT1cImZvcm1MYXlvdXRcIlxyXG4gICAgICAgIFttYXRyaXhXaWR0aFR5cGVdPVwibWF0cml4V2lkdGhUeXBlXCJcclxuICAgICAgICBbY2VsbFdpZHRoXT1cImNlbGxXaWR0aFwiXHJcbiAgICAgICAgW2NlbGxIZWlnaHRdPVwiY2VsbEhlaWdodFwiXHJcbiAgICAgICAgW3ZlcnRpY2FsTGFiZWxXaWR0aF09XCJ2ZXJ0aWNhbExhYmVsV2lkdGhcIlxyXG4gICAgICAgIFtmaXRXaWR0aF09XCJmaXRXaWR0aFwiXHJcbiAgICAgICAgW21pbldpZHRoXT1cIm1pbldpZHRoXCJcclxuICAgICAgICBbbWluSGVpZ2h0XT1cIm1pbkhlaWdodFwiXHJcbiAgICAgICAgW3Jvd1Jlc2l6ZXJdPVwicm93UmVzaXplclwiXHJcbiAgICAgICAgW2VuYWJsZVJlc2l6aW5nXT1cImVuYWJsZVJlc2l6aW5nXCJcclxuICAgICAgICBbY29udGFpbmVyV2lkdGhdPVwiY29udGFpbmVyV2lkdGhcIlxyXG4gICAgICAgIChzZWxlY3Rpb25DaGFuZ2UpPVwib25TZWxlY3Rpb25DaGFuZ2UoJGV2ZW50KVwiXHJcbiAgICA+PC9ic3UtdWktbWF0cml4LXZpZXc+XHJcbjwvbmctdGVtcGxhdGU+XHJcbiJdfQ==
@@ -58,4 +58,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.7", ngImpor
58
58
  type: ViewChild,
59
59
  args: ['templateRef']
60
60
  }] } });
61
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidWktZXhjZXB0aW9uLWZvcm0uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmFyc2Etc2FwLXVpL3NyYy9saWIvdWktZXhjZXB0aW9uLWZvcm0vdWktZXhjZXB0aW9uLWZvcm0uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmFyc2Etc2FwLXVpL3NyYy9saWIvdWktZXhjZXB0aW9uLWZvcm0vdWktZXhjZXB0aW9uLWZvcm0uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBdUIsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBR25HLE9BQU8sRUFBRSxhQUFhLEVBQUUsUUFBUSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7Ozs7Ozs7QUFPL0QsTUFBTSxPQUFPLHdCQUF5QixTQUFRLGFBQWE7SUFFdkQsWUFBb0IsY0FBNkI7UUFDN0MsS0FBSyxFQUFFLENBQUM7UUFEUSxtQkFBYyxHQUFkLGNBQWMsQ0FBZTtJQUVqRCxDQUFDO0lBRUQsUUFBUTtRQUNKLEtBQUssQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUNqQixRQUFRLENBQUMsRUFBRSxDQUFDLGFBQWEsQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDO1FBQzNDLFFBQVEsQ0FBQyxFQUFFLENBQUMsYUFBYSxDQUFDLElBQUksR0FBRyxDQUFDLElBQUksRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFFLEVBQUU7WUFDeEQsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRTtnQkFDdkMsR0FBRyxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFFO2dCQUM3QixpQkFBaUIsRUFBRSxJQUFJO2FBQzFCLENBQUMsQ0FBQztRQUNQLENBQUMsQ0FBQztJQUNOLENBQUM7SUFDRCxPQUFPLENBQUMsTUFBTSxFQUFFLFlBQVk7UUFDeEIsTUFBTSxDQUFDLEtBQUssRUFBRSxDQUFDO1FBQ2YsSUFBSSxZQUFZLENBQUMsUUFBUSxFQUFFO1lBQ3ZCLFlBQVksQ0FBQyxRQUFRLEVBQUUsQ0FBQztTQUMzQjtJQUNMLENBQUM7SUFDRCxVQUFVLENBQUMsTUFBTSxFQUFFLFlBQVk7UUFDM0IsTUFBTSxDQUFDLEtBQUssRUFBRSxDQUFDO1FBQ2YsSUFBSSxZQUFZLENBQUMsUUFBUSxFQUFFO1lBQ3ZCLFlBQVksQ0FBQyxRQUFRLEVBQUUsQ0FBQztTQUMzQjtJQUNMLENBQUM7SUFDRCxNQUFNLENBQUMsT0FBeUI7UUFDNUIsTUFBTSxRQUFRLEdBQUcsT0FBTyxDQUFDO1FBQ3pCLDJCQUEyQjtRQUMzQixRQUFRLENBQUMsTUFBTSxFQUFFLENBQUM7UUFDbEIsUUFBUSxDQUFDLGlCQUFpQixDQUFDLENBQUMsRUFBRSxPQUFPLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsd0JBQXdCO1FBQzdFLHlDQUF5QztRQUN6QyxTQUFTLENBQUMsU0FBUyxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDbEQsQ0FBQztJQUNELFFBQVEsQ0FBQyxNQUFNLEVBQUUsWUFBWTtRQUN6QixNQUFNLENBQUMsS0FBSyxFQUFFLENBQUM7UUFDZixJQUFJLFlBQVksQ0FBQyxRQUFRLEVBQUU7WUFDdkIsWUFBWSxDQUFDLFFBQVEsRUFBRSxDQUFDO1NBQzNCO1FBQ0QsUUFBUSxDQUFDLEVBQUUsQ0FBQyxNQUFNLEVBQUUsQ0FBQztJQUN6QixDQUFDOztxSEExQ1Esd0JBQXdCO3lHQUF4Qix3QkFBd0IsZ01DVnJDLHMrREFnREE7MkZEdENhLHdCQUF3QjtrQkFOcEMsU0FBUzsrQkFDSSx1QkFBdUIsbUJBR2hCLHVCQUF1QixDQUFDLE1BQU07b0dBR3JCLFdBQVc7c0JBQXBDLFNBQVM7dUJBQUMsYUFBYSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIE9uSW5pdCwgVGVtcGxhdGVSZWYsIFZpZXdDaGlsZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRGlhbG9nU2VydmljZSB9IGZyb20gJ0BmdW5kYW1lbnRhbC1uZ3gvY29yZSc7XG5cbmltcG9ydCB7IEJhc2VDb21wb25lbnQsIEJhcnNhQXBpIH0gZnJvbSAnYmFyc2Etbm92aW4tcmF5LWNvcmUnO1xuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdic3UtdWktZXhjZXB0aW9uLWZvcm0nLFxuICAgIHRlbXBsYXRlVXJsOiAnLi91aS1leGNlcHRpb24tZm9ybS5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vdWktZXhjZXB0aW9uLWZvcm0uY29tcG9uZW50LnNjc3MnXSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxufSlcbmV4cG9ydCBjbGFzcyBVaUV4Y2VwdGlvbkZvcm1Db21wb25lbnQgZXh0ZW5kcyBCYXNlQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgICBAVmlld0NoaWxkKCd0ZW1wbGF0ZVJlZicpIHRlbXBsYXRlUmVmOiBUZW1wbGF0ZVJlZjxhbnk+O1xuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgX2RpYWxvZ1NlcnZpY2U6IERpYWxvZ1NlcnZpY2UpIHtcbiAgICAgICAgc3VwZXIoKTtcbiAgICB9XG5cbiAgICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICAgICAgc3VwZXIubmdPbkluaXQoKTtcbiAgICAgICAgQmFyc2FBcGkuVWkuRXhjZXB0aW9uRm9ybS5Jc0hhbmRsZWQgPSB0cnVlO1xuICAgICAgICBCYXJzYUFwaS5VaS5FeGNlcHRpb25Gb3JtLlNob3cgPSAodGV4dCwgZGV0YWlsLCBjYWxsYmFjaykgPT4ge1xuICAgICAgICAgICAgdGhpcy5fZGlhbG9nU2VydmljZS5vcGVuKHRoaXMudGVtcGxhdGVSZWYsIHtcbiAgICAgICAgICAgICAgICAuLi57IHRleHQsIGRldGFpbCwgY2FsbGJhY2sgfSxcbiAgICAgICAgICAgICAgICByZXNwb25zaXZlUGFkZGluZzogdHJ1ZVxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH07XG4gICAgfVxuICAgIG9uQ2xvc2UoZGlhbG9nLCBkaWFsb2dDb25maWcpOiB2b2lkIHtcbiAgICAgICAgZGlhbG9nLmNsb3NlKCk7XG4gICAgICAgIGlmIChkaWFsb2dDb25maWcuY2FsbGJhY2spIHtcbiAgICAgICAgICAgIGRpYWxvZ0NvbmZpZy5jYWxsYmFjaygpO1xuICAgICAgICB9XG4gICAgfVxuICAgIG9uQ29udGludWUoZGlhbG9nLCBkaWFsb2dDb25maWcpOiB2b2lkIHtcbiAgICAgICAgZGlhbG9nLmNsb3NlKCk7XG4gICAgICAgIGlmIChkaWFsb2dDb25maWcuY2FsbGJhY2spIHtcbiAgICAgICAgICAgIGRpYWxvZ0NvbmZpZy5jYWxsYmFjaygpO1xuICAgICAgICB9XG4gICAgfVxuICAgIG9uQ29weShpbnB1dEVsOiBIVE1MSW5wdXRFbGVtZW50KTogdm9pZCB7XG4gICAgICAgIGNvbnN0IGNvcHlUZXh0ID0gaW5wdXRFbDtcbiAgICAgICAgLyogU2VsZWN0IHRoZSB0ZXh0IGZpZWxkICovXG4gICAgICAgIGNvcHlUZXh0LnNlbGVjdCgpO1xuICAgICAgICBjb3B5VGV4dC5zZXRTZWxlY3Rpb25SYW5nZSgwLCBpbnB1dEVsLnZhbHVlLmxlbmd0aCk7IC8qIEZvciBtb2JpbGUgZGV2aWNlcyAqL1xuICAgICAgICAvKiBDb3B5IHRoZSB0ZXh0IGluc2lkZSB0aGUgdGV4dCBmaWVsZCAqL1xuICAgICAgICBuYXZpZ2F0b3IuY2xpcGJvYXJkLndyaXRlVGV4dChjb3B5VGV4dC52YWx1ZSk7XG4gICAgfVxuICAgIG9uTG9nb3V0KGRpYWxvZywgZGlhbG9nQ29uZmlnKTogdm9pZCB7XG4gICAgICAgIGRpYWxvZy5jbG9zZSgpO1xuICAgICAgICBpZiAoZGlhbG9nQ29uZmlnLmNhbGxiYWNrKSB7XG4gICAgICAgICAgICBkaWFsb2dDb25maWcuY2FsbGJhY2soKTtcbiAgICAgICAgfVxuICAgICAgICBCYXJzYUFwaS5Cdy5Mb2dvdXQoKTtcbiAgICB9XG59XG4iLCI8bmctdGVtcGxhdGUgbGV0LWRpYWxvZyBsZXQtZGlhbG9nQ29uZmlnPVwiZGlhbG9nQ29uZmlnXCIgI3RlbXBsYXRlUmVmPlxyXG4gICAgPGZkLWRpYWxvZyBbZGlhbG9nQ29uZmlnXT1cImRpYWxvZ0NvbmZpZ1wiIFtkaWFsb2dSZWZdPVwiZGlhbG9nXCI+XHJcbiAgICAgICAgPGZkLWRpYWxvZy1oZWFkZXI+XHJcbiAgICAgICAgICAgIDxoMSBmZC10aXRsZT5cclxuICAgICAgICAgICAgICAgIHt7IGRpYWxvZ0NvbmZpZy50ZXh0IH19XHJcbiAgICAgICAgICAgIDwvaDE+XHJcblxyXG4gICAgICAgICAgICA8YnV0dG9uIGZkLWRpYWxvZy1jbG9zZS1idXR0b24gKGNsaWNrKT1cIm9uQ2xvc2UoZGlhbG9nLCBkaWFsb2dDb25maWcpXCI+PC9idXR0b24+XHJcbiAgICAgICAgPC9mZC1kaWFsb2ctaGVhZGVyPlxyXG5cclxuICAgICAgICA8ZmQtZGlhbG9nLWJvZHkgc3R5bGU9XCJwYWRkaW5nOiAxNXB4XCI+XHJcbiAgICAgICAgICAgIDxkaXYgc3R5bGU9XCJtaW4taGVpZ2h0OiAxMjVweFwiPlxyXG4gICAgICAgICAgICAgICAgPGxhYmVsIGZkLWxhYmVsIFtpbm5lckh0bWxdPVwiZGlhbG9nQ29uZmlnLmRldGFpbFwiPiA8L2xhYmVsPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPGlucHV0ICNpbnB1dEVsIHR5cGU9XCJ0ZXh0XCIgc3R5bGU9XCJkaXNwbGF5OiBub25lXCIgW3ZhbHVlXT1cImRpYWxvZ0NvbmZpZy5kZXRhaWxcIiAvPlxyXG4gICAgICAgIDwvZmQtZGlhbG9nLWJvZHk+XHJcblxyXG4gICAgICAgIDxmZC1kaWFsb2ctZm9vdGVyPlxyXG4gICAgICAgICAgICA8ZmQtZGlhbG9nLWZvb3Rlci1idXR0b24+XHJcbiAgICAgICAgICAgICAgICA8YnV0dG9uXHJcbiAgICAgICAgICAgICAgICAgICAgZmQtYnV0dG9uXHJcbiAgICAgICAgICAgICAgICAgICAgZmQtZGlhbG9nLWRlY2lzaXZlLWJ1dHRvblxyXG4gICAgICAgICAgICAgICAgICAgIFtmZFR5cGVdPVwiJ2VtcGhhc2l6ZWQnXCJcclxuICAgICAgICAgICAgICAgICAgICBbbGFiZWxdPVwiJ0NvbnRpbnVlJyB8IGJiYlRyYW5zbGF0ZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cIm9uQ29udGludWUoZGlhbG9nLCBkaWFsb2dDb25maWcpXCJcclxuICAgICAgICAgICAgICAgID48L2J1dHRvbj5cclxuICAgICAgICAgICAgPC9mZC1kaWFsb2ctZm9vdGVyLWJ1dHRvbj5cclxuICAgICAgICAgICAgPGZkLWRpYWxvZy1mb290ZXItYnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgPGJ1dHRvblxyXG4gICAgICAgICAgICAgICAgICAgIGZkLWJ1dHRvblxyXG4gICAgICAgICAgICAgICAgICAgIGZkLWRpYWxvZy1kZWNpc2l2ZS1idXR0b25cclxuICAgICAgICAgICAgICAgICAgICBbZmRUeXBlXT1cIidzdGFuZGFyZCdcIlxyXG4gICAgICAgICAgICAgICAgICAgIFtsYWJlbF09XCInQ29weScgfCBiYmJUcmFuc2xhdGVcIlxyXG4gICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJvbkNvcHkoaW5wdXRFbClcIlxyXG4gICAgICAgICAgICAgICAgPjwvYnV0dG9uPlxyXG4gICAgICAgICAgICA8L2ZkLWRpYWxvZy1mb290ZXItYnV0dG9uPlxyXG4gICAgICAgICAgICA8ZmQtZGlhbG9nLWZvb3Rlci1idXR0b24+XHJcbiAgICAgICAgICAgICAgICA8YnV0dG9uXHJcbiAgICAgICAgICAgICAgICAgICAgZmQtYnV0dG9uXHJcbiAgICAgICAgICAgICAgICAgICAgZmQtZGlhbG9nLWRlY2lzaXZlLWJ1dHRvblxyXG4gICAgICAgICAgICAgICAgICAgIFtmZFR5cGVdPVwiJ25lZ2F0aXZlJ1wiXHJcbiAgICAgICAgICAgICAgICAgICAgW2xhYmVsXT1cIidMb2dvdXQnIHwgYmJiVHJhbnNsYXRlXCJcclxuICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwib25Mb2dvdXQoZGlhbG9nLCBkaWFsb2dDb25maWcpXCJcclxuICAgICAgICAgICAgICAgID48L2J1dHRvbj5cclxuICAgICAgICAgICAgPC9mZC1kaWFsb2ctZm9vdGVyLWJ1dHRvbj5cclxuICAgICAgICA8L2ZkLWRpYWxvZy1mb290ZXI+XHJcbiAgICA8L2ZkLWRpYWxvZz5cclxuPC9uZy10ZW1wbGF0ZT5cclxuIl19
61
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidWktZXhjZXB0aW9uLWZvcm0uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmFyc2Etc2FwLXVpL3NyYy9saWIvdWktZXhjZXB0aW9uLWZvcm0vdWktZXhjZXB0aW9uLWZvcm0uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmFyc2Etc2FwLXVpL3NyYy9saWIvdWktZXhjZXB0aW9uLWZvcm0vdWktZXhjZXB0aW9uLWZvcm0uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBdUIsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBR25HLE9BQU8sRUFBRSxhQUFhLEVBQUUsUUFBUSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7Ozs7Ozs7QUFPL0QsTUFBTSxPQUFPLHdCQUF5QixTQUFRLGFBQWE7SUFFdkQsWUFBb0IsY0FBNkI7UUFDN0MsS0FBSyxFQUFFLENBQUM7UUFEUSxtQkFBYyxHQUFkLGNBQWMsQ0FBZTtJQUVqRCxDQUFDO0lBRUQsUUFBUTtRQUNKLEtBQUssQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUNqQixRQUFRLENBQUMsRUFBRSxDQUFDLGFBQWEsQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDO1FBQzNDLFFBQVEsQ0FBQyxFQUFFLENBQUMsYUFBYSxDQUFDLElBQUksR0FBRyxDQUFDLElBQUksRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFFLEVBQUU7WUFDeEQsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRTtnQkFDdkMsR0FBRyxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFFO2dCQUM3QixpQkFBaUIsRUFBRSxJQUFJO2FBQzFCLENBQUMsQ0FBQztRQUNQLENBQUMsQ0FBQztJQUNOLENBQUM7SUFDRCxPQUFPLENBQUMsTUFBTSxFQUFFLFlBQVk7UUFDeEIsTUFBTSxDQUFDLEtBQUssRUFBRSxDQUFDO1FBQ2YsSUFBSSxZQUFZLENBQUMsUUFBUSxFQUFFO1lBQ3ZCLFlBQVksQ0FBQyxRQUFRLEVBQUUsQ0FBQztTQUMzQjtJQUNMLENBQUM7SUFDRCxVQUFVLENBQUMsTUFBTSxFQUFFLFlBQVk7UUFDM0IsTUFBTSxDQUFDLEtBQUssRUFBRSxDQUFDO1FBQ2YsSUFBSSxZQUFZLENBQUMsUUFBUSxFQUFFO1lBQ3ZCLFlBQVksQ0FBQyxRQUFRLEVBQUUsQ0FBQztTQUMzQjtJQUNMLENBQUM7SUFDRCxNQUFNLENBQUMsT0FBeUI7UUFDNUIsTUFBTSxRQUFRLEdBQUcsT0FBTyxDQUFDO1FBQ3pCLDJCQUEyQjtRQUMzQixRQUFRLENBQUMsTUFBTSxFQUFFLENBQUM7UUFDbEIsUUFBUSxDQUFDLGlCQUFpQixDQUFDLENBQUMsRUFBRSxPQUFPLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsd0JBQXdCO1FBQzdFLHlDQUF5QztRQUN6QyxTQUFTLENBQUMsU0FBUyxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDbEQsQ0FBQztJQUNELFFBQVEsQ0FBQyxNQUFNLEVBQUUsWUFBWTtRQUN6QixNQUFNLENBQUMsS0FBSyxFQUFFLENBQUM7UUFDZixJQUFJLFlBQVksQ0FBQyxRQUFRLEVBQUU7WUFDdkIsWUFBWSxDQUFDLFFBQVEsRUFBRSxDQUFDO1NBQzNCO1FBQ0QsUUFBUSxDQUFDLEVBQUUsQ0FBQyxNQUFNLEVBQUUsQ0FBQztJQUN6QixDQUFDOztxSEExQ1Esd0JBQXdCO3lHQUF4Qix3QkFBd0IsZ01DVnJDLHMrREFnREE7MkZEdENhLHdCQUF3QjtrQkFOcEMsU0FBUzsrQkFDSSx1QkFBdUIsbUJBR2hCLHVCQUF1QixDQUFDLE1BQU07b0dBR3JCLFdBQVc7c0JBQXBDLFNBQVM7dUJBQUMsYUFBYSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIE9uSW5pdCwgVGVtcGxhdGVSZWYsIFZpZXdDaGlsZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBEaWFsb2dTZXJ2aWNlIH0gZnJvbSAnQGZ1bmRhbWVudGFsLW5neC9jb3JlJztcclxuXHJcbmltcG9ydCB7IEJhc2VDb21wb25lbnQsIEJhcnNhQXBpIH0gZnJvbSAnYmFyc2Etbm92aW4tcmF5LWNvcmUnO1xyXG5AQ29tcG9uZW50KHtcclxuICAgIHNlbGVjdG9yOiAnYnN1LXVpLWV4Y2VwdGlvbi1mb3JtJyxcclxuICAgIHRlbXBsYXRlVXJsOiAnLi91aS1leGNlcHRpb24tZm9ybS5jb21wb25lbnQuaHRtbCcsXHJcbiAgICBzdHlsZVVybHM6IFsnLi91aS1leGNlcHRpb24tZm9ybS5jb21wb25lbnQuc2NzcyddLFxyXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcclxufSlcclxuZXhwb3J0IGNsYXNzIFVpRXhjZXB0aW9uRm9ybUNvbXBvbmVudCBleHRlbmRzIEJhc2VDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xyXG4gICAgQFZpZXdDaGlsZCgndGVtcGxhdGVSZWYnKSB0ZW1wbGF0ZVJlZjogVGVtcGxhdGVSZWY8YW55PjtcclxuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgX2RpYWxvZ1NlcnZpY2U6IERpYWxvZ1NlcnZpY2UpIHtcclxuICAgICAgICBzdXBlcigpO1xyXG4gICAgfVxyXG5cclxuICAgIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgICAgIHN1cGVyLm5nT25Jbml0KCk7XHJcbiAgICAgICAgQmFyc2FBcGkuVWkuRXhjZXB0aW9uRm9ybS5Jc0hhbmRsZWQgPSB0cnVlO1xyXG4gICAgICAgIEJhcnNhQXBpLlVpLkV4Y2VwdGlvbkZvcm0uU2hvdyA9ICh0ZXh0LCBkZXRhaWwsIGNhbGxiYWNrKSA9PiB7XHJcbiAgICAgICAgICAgIHRoaXMuX2RpYWxvZ1NlcnZpY2Uub3Blbih0aGlzLnRlbXBsYXRlUmVmLCB7XHJcbiAgICAgICAgICAgICAgICAuLi57IHRleHQsIGRldGFpbCwgY2FsbGJhY2sgfSxcclxuICAgICAgICAgICAgICAgIHJlc3BvbnNpdmVQYWRkaW5nOiB0cnVlXHJcbiAgICAgICAgICAgIH0pO1xyXG4gICAgICAgIH07XHJcbiAgICB9XHJcbiAgICBvbkNsb3NlKGRpYWxvZywgZGlhbG9nQ29uZmlnKTogdm9pZCB7XHJcbiAgICAgICAgZGlhbG9nLmNsb3NlKCk7XHJcbiAgICAgICAgaWYgKGRpYWxvZ0NvbmZpZy5jYWxsYmFjaykge1xyXG4gICAgICAgICAgICBkaWFsb2dDb25maWcuY2FsbGJhY2soKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBvbkNvbnRpbnVlKGRpYWxvZywgZGlhbG9nQ29uZmlnKTogdm9pZCB7XHJcbiAgICAgICAgZGlhbG9nLmNsb3NlKCk7XHJcbiAgICAgICAgaWYgKGRpYWxvZ0NvbmZpZy5jYWxsYmFjaykge1xyXG4gICAgICAgICAgICBkaWFsb2dDb25maWcuY2FsbGJhY2soKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBvbkNvcHkoaW5wdXRFbDogSFRNTElucHV0RWxlbWVudCk6IHZvaWQge1xyXG4gICAgICAgIGNvbnN0IGNvcHlUZXh0ID0gaW5wdXRFbDtcclxuICAgICAgICAvKiBTZWxlY3QgdGhlIHRleHQgZmllbGQgKi9cclxuICAgICAgICBjb3B5VGV4dC5zZWxlY3QoKTtcclxuICAgICAgICBjb3B5VGV4dC5zZXRTZWxlY3Rpb25SYW5nZSgwLCBpbnB1dEVsLnZhbHVlLmxlbmd0aCk7IC8qIEZvciBtb2JpbGUgZGV2aWNlcyAqL1xyXG4gICAgICAgIC8qIENvcHkgdGhlIHRleHQgaW5zaWRlIHRoZSB0ZXh0IGZpZWxkICovXHJcbiAgICAgICAgbmF2aWdhdG9yLmNsaXBib2FyZC53cml0ZVRleHQoY29weVRleHQudmFsdWUpO1xyXG4gICAgfVxyXG4gICAgb25Mb2dvdXQoZGlhbG9nLCBkaWFsb2dDb25maWcpOiB2b2lkIHtcclxuICAgICAgICBkaWFsb2cuY2xvc2UoKTtcclxuICAgICAgICBpZiAoZGlhbG9nQ29uZmlnLmNhbGxiYWNrKSB7XHJcbiAgICAgICAgICAgIGRpYWxvZ0NvbmZpZy5jYWxsYmFjaygpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBCYXJzYUFwaS5Cdy5Mb2dvdXQoKTtcclxuICAgIH1cclxufVxyXG4iLCI8bmctdGVtcGxhdGUgbGV0LWRpYWxvZyBsZXQtZGlhbG9nQ29uZmlnPVwiZGlhbG9nQ29uZmlnXCIgI3RlbXBsYXRlUmVmPlxyXG4gICAgPGZkLWRpYWxvZyBbZGlhbG9nQ29uZmlnXT1cImRpYWxvZ0NvbmZpZ1wiIFtkaWFsb2dSZWZdPVwiZGlhbG9nXCI+XHJcbiAgICAgICAgPGZkLWRpYWxvZy1oZWFkZXI+XHJcbiAgICAgICAgICAgIDxoMSBmZC10aXRsZT5cclxuICAgICAgICAgICAgICAgIHt7IGRpYWxvZ0NvbmZpZy50ZXh0IH19XHJcbiAgICAgICAgICAgIDwvaDE+XHJcblxyXG4gICAgICAgICAgICA8YnV0dG9uIGZkLWRpYWxvZy1jbG9zZS1idXR0b24gKGNsaWNrKT1cIm9uQ2xvc2UoZGlhbG9nLCBkaWFsb2dDb25maWcpXCI+PC9idXR0b24+XHJcbiAgICAgICAgPC9mZC1kaWFsb2ctaGVhZGVyPlxyXG5cclxuICAgICAgICA8ZmQtZGlhbG9nLWJvZHkgc3R5bGU9XCJwYWRkaW5nOiAxNXB4XCI+XHJcbiAgICAgICAgICAgIDxkaXYgc3R5bGU9XCJtaW4taGVpZ2h0OiAxMjVweFwiPlxyXG4gICAgICAgICAgICAgICAgPGxhYmVsIGZkLWxhYmVsIFtpbm5lckh0bWxdPVwiZGlhbG9nQ29uZmlnLmRldGFpbFwiPiA8L2xhYmVsPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPGlucHV0ICNpbnB1dEVsIHR5cGU9XCJ0ZXh0XCIgc3R5bGU9XCJkaXNwbGF5OiBub25lXCIgW3ZhbHVlXT1cImRpYWxvZ0NvbmZpZy5kZXRhaWxcIiAvPlxyXG4gICAgICAgIDwvZmQtZGlhbG9nLWJvZHk+XHJcblxyXG4gICAgICAgIDxmZC1kaWFsb2ctZm9vdGVyPlxyXG4gICAgICAgICAgICA8ZmQtZGlhbG9nLWZvb3Rlci1idXR0b24+XHJcbiAgICAgICAgICAgICAgICA8YnV0dG9uXHJcbiAgICAgICAgICAgICAgICAgICAgZmQtYnV0dG9uXHJcbiAgICAgICAgICAgICAgICAgICAgZmQtZGlhbG9nLWRlY2lzaXZlLWJ1dHRvblxyXG4gICAgICAgICAgICAgICAgICAgIFtmZFR5cGVdPVwiJ2VtcGhhc2l6ZWQnXCJcclxuICAgICAgICAgICAgICAgICAgICBbbGFiZWxdPVwiJ0NvbnRpbnVlJyB8IGJiYlRyYW5zbGF0ZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cIm9uQ29udGludWUoZGlhbG9nLCBkaWFsb2dDb25maWcpXCJcclxuICAgICAgICAgICAgICAgID48L2J1dHRvbj5cclxuICAgICAgICAgICAgPC9mZC1kaWFsb2ctZm9vdGVyLWJ1dHRvbj5cclxuICAgICAgICAgICAgPGZkLWRpYWxvZy1mb290ZXItYnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgPGJ1dHRvblxyXG4gICAgICAgICAgICAgICAgICAgIGZkLWJ1dHRvblxyXG4gICAgICAgICAgICAgICAgICAgIGZkLWRpYWxvZy1kZWNpc2l2ZS1idXR0b25cclxuICAgICAgICAgICAgICAgICAgICBbZmRUeXBlXT1cIidzdGFuZGFyZCdcIlxyXG4gICAgICAgICAgICAgICAgICAgIFtsYWJlbF09XCInQ29weScgfCBiYmJUcmFuc2xhdGVcIlxyXG4gICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJvbkNvcHkoaW5wdXRFbClcIlxyXG4gICAgICAgICAgICAgICAgPjwvYnV0dG9uPlxyXG4gICAgICAgICAgICA8L2ZkLWRpYWxvZy1mb290ZXItYnV0dG9uPlxyXG4gICAgICAgICAgICA8ZmQtZGlhbG9nLWZvb3Rlci1idXR0b24+XHJcbiAgICAgICAgICAgICAgICA8YnV0dG9uXHJcbiAgICAgICAgICAgICAgICAgICAgZmQtYnV0dG9uXHJcbiAgICAgICAgICAgICAgICAgICAgZmQtZGlhbG9nLWRlY2lzaXZlLWJ1dHRvblxyXG4gICAgICAgICAgICAgICAgICAgIFtmZFR5cGVdPVwiJ25lZ2F0aXZlJ1wiXHJcbiAgICAgICAgICAgICAgICAgICAgW2xhYmVsXT1cIidMb2dvdXQnIHwgYmJiVHJhbnNsYXRlXCJcclxuICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwib25Mb2dvdXQoZGlhbG9nLCBkaWFsb2dDb25maWcpXCJcclxuICAgICAgICAgICAgICAgID48L2J1dHRvbj5cclxuICAgICAgICAgICAgPC9mZC1kaWFsb2ctZm9vdGVyLWJ1dHRvbj5cclxuICAgICAgICA8L2ZkLWRpYWxvZy1mb290ZXI+XHJcbiAgICA8L2ZkLWRpYWxvZz5cclxuPC9uZy10ZW1wbGF0ZT5cclxuIl19