ngx-bimplus-components 0.0.148 → 0.0.149-28792-3

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 (174) hide show
  1. package/assets/images/default/Attachment_18_gray.svg +1 -0
  2. package/assets/images/default/Attachment_18_maincolor.svg +3 -0
  3. package/assets/images/default/Attachmentlink_18_gray.svg +7 -0
  4. package/assets/images/default/Attachmentlink_18_maincolor.svg +7 -0
  5. package/assets/images/default/Comments_18_gray.svg +1 -0
  6. package/assets/images/default/Comments_18_maincolor.svg +4 -0
  7. package/assets/images/default/Links_18_gray.svg +1 -0
  8. package/assets/images/default/Links_18_maincolor.svg +4 -0
  9. package/assets/images/default/ic_models.svg +3 -0
  10. package/assets/images/default/ic_models_maincolor.svg +3 -0
  11. package/assets/images/default/icn_grid_attachments.png +0 -0
  12. package/assets/images/default/icn_grid_hyperlinks.png +0 -0
  13. package/assets/languages/strings_cs.json +24 -72
  14. package/assets/languages/strings_de.json +4 -15
  15. package/assets/languages/strings_en.json +5 -5
  16. package/assets/languages/strings_es.json +6 -54
  17. package/assets/languages/strings_fr.json +6 -50
  18. package/assets/languages/strings_it.json +2 -50
  19. package/assets/languages/strings_nl.json +796 -796
  20. package/assets/languages/strings_ro.json +7 -55
  21. package/assets/languages/strings_ru.json +45 -93
  22. package/assets/languages/strings_tr.json +2 -50
  23. package/assets/languages/strings_us.json +8 -44
  24. package/esm2022/lib/components/bimplus-attachments/bimplus-attachments.component.mjs +69 -0
  25. package/esm2022/lib/components/bimplus-attachments/bimplus-attachments.interface.mjs +34 -0
  26. package/esm2022/lib/components/bimplus-attachments/components/bimplus-attachment-item/bimplus-attachment-item.component.mjs +82 -0
  27. package/esm2022/lib/components/bimplus-attachments/services/bimplus-attachments.service.mjs +49 -0
  28. package/esm2022/lib/components/bimplus-buttons-row/bimplus-buttons-row.component.mjs +20 -7
  29. package/esm2022/lib/components/bimplus-buttons-row/bimplus-buttons-row.interface.mjs +5 -2
  30. package/esm2022/lib/components/bimplus-comment/bimplus-comment.component.mjs +68 -0
  31. package/esm2022/lib/components/bimplus-connection-designer/bimplus-connection-designer.component.mjs +7 -7
  32. package/esm2022/lib/components/bimplus-connection-designer/bimplus-connection-designer.interface.mjs +1 -1
  33. package/esm2022/lib/components/bimplus-connection-designer/bimplus-connection-designer.service.mjs +4 -4
  34. package/esm2022/lib/components/bimplus-connection-designer-results/bimplus-connection-designer-results.component.mjs +5 -5
  35. package/esm2022/lib/components/bimplus-connection-designer-results/bimplus-connection-designer-results.interface.mjs +1 -1
  36. package/esm2022/lib/components/bimplus-contact/bimplus-contact.component.mjs +5 -5
  37. package/esm2022/lib/components/bimplus-context-menu/bimplus-context-menu.component.mjs +3 -3
  38. package/esm2022/lib/components/bimplus-context-menu/bimplus-context-menu.interface.mjs +1 -1
  39. package/esm2022/lib/components/bimplus-flat-tree/bimplus-flat-tree.component.mjs +5 -5
  40. package/esm2022/lib/components/bimplus-flat-tree/bimplus-flat-tree.interface.mjs +1 -1
  41. package/esm2022/lib/components/bimplus-floating-bar/bimplus-floating-bar.component.mjs +5 -5
  42. package/esm2022/lib/components/bimplus-floating-bar/bimplus-floating-bar.interface.mjs +1 -1
  43. package/esm2022/lib/components/bimplus-floating-bar-body/bimplus-floating-bar-body.component.mjs +5 -5
  44. package/esm2022/lib/components/bimplus-floating-bar-dragger/bimplus-floating-bar-dragger.component.mjs +5 -5
  45. package/esm2022/lib/components/bimplus-floating-bar-header-content/bimplus-floating-bar-header-content.component.mjs +3 -3
  46. package/esm2022/lib/components/bimplus-floating-bar-header-logo/bimplus-floating-bar-header-logo.component.mjs +4 -4
  47. package/esm2022/lib/components/bimplus-floating-bar-hide-objects/bimplus-floating-bar-hide-objects.component.mjs +3 -3
  48. package/esm2022/lib/components/bimplus-floating-bar-isolation-objects/bimplus-floating-bar-isolation-objects.component.mjs +4 -4
  49. package/esm2022/lib/components/bimplus-floating-bar-project-navigator/bimplus-floating-bar-project-navigator.component.mjs +3 -3
  50. package/esm2022/lib/components/bimplus-general-overlay-dialog/bimplus-general-overlay-dialog.component.mjs +4 -4
  51. package/esm2022/lib/components/bimplus-general-overlay-dialog/bimplus-general-overlay-dialog.service.mjs +3 -3
  52. package/esm2022/lib/components/bimplus-input-text-field/bimplus-input-text-field.component.mjs +58 -0
  53. package/esm2022/lib/components/bimplus-language-menu/bimplus-language-menu.component.mjs +3 -3
  54. package/esm2022/lib/components/bimplus-localized-widget/bimplus-localized-widget.component.mjs +5 -5
  55. package/esm2022/lib/components/bimplus-main-menu/bimplus-main-menu.component.mjs +3 -3
  56. package/esm2022/lib/components/bimplus-navbar/bimplus-navbar.component.mjs +3 -3
  57. package/esm2022/lib/components/bimplus-notify/bimplus-notify.component.mjs +5 -5
  58. package/esm2022/lib/components/bimplus-object-comments-list/bimplus-object-comments-list.component.mjs +242 -0
  59. package/esm2022/lib/components/bimplus-object-comments-list/bimplusObjectCommentsI.mjs +2 -0
  60. package/esm2022/lib/components/bimplus-object-complex-properties/bimplus-object-complex-properties.component.mjs +5 -5
  61. package/esm2022/lib/components/bimplus-object-navigator/bimplus-object-navigator.component.mjs +5 -5
  62. package/esm2022/lib/components/bimplus-object-navigator/criteria-select-object-properties/criteria-select-object-properties.component.mjs +5 -5
  63. package/esm2022/lib/components/bimplus-object-navigator/criteria-select-object-properties/criteria-select-object-properties.interface.mjs +1 -1
  64. package/esm2022/lib/components/bimplus-object-navigator/filter-criterium/filter-criterium.component.mjs +3 -3
  65. package/esm2022/lib/components/bimplus-object-navigator/object-filter-result/object-filter-result.component.mjs +5 -5
  66. package/esm2022/lib/components/bimplus-object-structure/bimplus-object-structure.component.mjs +5 -5
  67. package/esm2022/lib/components/bimplus-overlay-dialog-confirm/bimplus-overlay-dialog-confirm.component.mjs +73 -0
  68. package/esm2022/lib/components/bimplus-overlay-dialog-delete/bimplus-overlay-dialog-delete.component.mjs +75 -0
  69. package/esm2022/lib/components/bimplus-overlay-dialog-error/bimplus-overlay-dialog-error.component.mjs +3 -3
  70. package/esm2022/lib/components/bimplus-overlay-dialog-warning/bimplus-overlay-dialog-warning.component.mjs +10 -7
  71. package/esm2022/lib/components/bimplus-panel-toolbar/bimplus-panel-toolbar.component.mjs +5 -5
  72. package/esm2022/lib/components/bimplus-project-menu/bimplus-project-menu.component.mjs +3 -3
  73. package/esm2022/lib/components/bimplus-scrollable-container/bimplus-scrollable-container.component.mjs +5 -5
  74. package/esm2022/lib/components/bimplus-sidenav/bimplus-sidenav.component.mjs +3 -3
  75. package/esm2022/lib/components/bimplus-sidenav-drawer-content/bimplus-sidenav-drawer-content.component.mjs +3 -3
  76. package/esm2022/lib/components/bimplus-storage-info/bimplus-storage-info.component.mjs +3 -3
  77. package/esm2022/lib/components/bimplus-tabs-switcher/bimplus-tabs-switcher.component.mjs +38 -0
  78. package/esm2022/lib/components/bimplus-tabs-switcher/bimplus-tabs-switcher.interface.mjs +10 -0
  79. package/esm2022/lib/components/bimplus-tabs-switcher/components/bimplus-tab/bimplus-tab.component.mjs +89 -0
  80. package/esm2022/lib/components/bimplus-tabs-switcher/services/bimplus-tabs-switcher.service.mjs +33 -0
  81. package/esm2022/lib/components/bimplus-text-message/bimplus-text-message.component.mjs +3 -3
  82. package/esm2022/lib/components/bimplus-textarea/autoResizeTextarea.directive.mjs +83 -0
  83. package/esm2022/lib/components/bimplus-textarea/bimplus-textarea.component.mjs +122 -0
  84. package/esm2022/lib/components/bimplus-tool-hub/bimplus-tool-hub.component.mjs +3 -3
  85. package/esm2022/lib/components/bimplus-tool-hub/svgGenerator.mjs +1 -1
  86. package/esm2022/lib/components/bimplus-tool-hub/tool-hub-item/tool-hub-item.component.mjs +3 -3
  87. package/esm2022/lib/components/bimplus-tool-hub/tool-hub-sub-item/tool-hub-sub-item.component.mjs +3 -3
  88. package/esm2022/lib/components/bimplus-tooltip-message/bimplus-tooltip-message.component.mjs +5 -5
  89. package/esm2022/lib/components/bimplus-tooltip-message/bimplus-tooltip-message.interface.mjs +1 -1
  90. package/esm2022/lib/components/bimplus-touch-menu/bimplus-touch-menu.component.mjs +5 -5
  91. package/esm2022/lib/components/bimplus-user-menu/bimplus-user-menu.component.mjs +3 -3
  92. package/esm2022/lib/components/bimplus-zoom/bimplus-zoom.component.mjs +5 -5
  93. package/esm2022/lib/components/expansion-panel/expansion-panel.component.mjs +3 -3
  94. package/esm2022/lib/components/expansion-panel-header/expansion-panel-header.component.mjs +3 -3
  95. package/esm2022/lib/components/expansion-panel-header-actions/expansion-panel-header-actions.component.mjs +3 -3
  96. package/esm2022/lib/components/links-to-documents/links-to-documents.component.interface.mjs +2 -0
  97. package/esm2022/lib/components/links-to-documents/links-to-documents.component.mjs +337 -0
  98. package/esm2022/lib/components/loading-spinner/loading-spinner.component.mjs +3 -3
  99. package/esm2022/lib/components/object-hyperlinks/object-hyperlinks.component.mjs +141 -0
  100. package/esm2022/lib/components/object-hyperlinks-item/object-hyperlinks-item.component.mjs +36 -0
  101. package/esm2022/lib/components/object-properties/object-properties.component.mjs +261 -0
  102. package/esm2022/lib/components/object-properties/object-properties.interface.mjs +2 -0
  103. package/esm2022/lib/components/object-properties-group/object-properties-group.component.mjs +40 -0
  104. package/esm2022/lib/components/object-properties-group/object-property-value/object-property-value.component.mjs +55 -0
  105. package/esm2022/lib/components/object-properties-header/object-properties-header.component.mjs +21 -6
  106. package/esm2022/lib/components/object-properties-header/object-properties-header.interface.mjs +1 -1
  107. package/esm2022/lib/components/project-models/project-models.component.mjs +3 -3
  108. package/esm2022/lib/components/project-models/project-models.interface.mjs +1 -1
  109. package/esm2022/lib/components/resizable-panel/resizable-panel.component.mjs +5 -5
  110. package/esm2022/lib/directives/click-outside/click-outside.directive.mjs +4 -4
  111. package/esm2022/lib/directives/component-draggable/componentsDraggable.directive.mjs +3 -3
  112. package/esm2022/lib/directives/draggable.directive.mjs +3 -3
  113. package/esm2022/lib/directives/resizable.directive.mjs +4 -4
  114. package/esm2022/lib/directives/x-draggable.directive.mjs +3 -3
  115. package/esm2022/lib/interfaces/bimplus-opacity-properties.interface.mjs +1 -1
  116. package/esm2022/lib/interfaces/bimplus-visibility-properties.interface.mjs +1 -1
  117. package/esm2022/lib/ngx-bimplus-components.component.mjs +3 -3
  118. package/esm2022/lib/ngx-bimplus-components.service.mjs +3 -3
  119. package/esm2022/lib/pipes/bit-converter.pipe.mjs +46 -0
  120. package/esm2022/lib/pipes/get-attribute-value.pipe.mjs +110 -0
  121. package/esm2022/lib/pipes/pxsuffix.pipe.mjs +3 -3
  122. package/esm2022/lib/pipes/round.pipe.mjs +20 -0
  123. package/esm2022/lib/services/cursors.service.mjs +3 -3
  124. package/esm2022/lib/services/language-strings.service.mjs +3 -3
  125. package/esm2022/lib/services/layout-manager.service.mjs +3 -3
  126. package/esm2022/lib/services/local-storage.service.mjs +4 -4
  127. package/esm2022/lib/services/resize-observer.service.mjs +4 -4
  128. package/esm2022/lib/types/types.mjs +1 -1
  129. package/esm2022/lib/utils/filterString.mjs +1 -1
  130. package/esm2022/lib/utils/filterStructureFetcher.mjs +1 -1
  131. package/esm2022/lib/utils/objectProperties.mjs +9 -0
  132. package/esm2022/lib/utils/utils.mjs +1 -1
  133. package/esm2022/public-api.mjs +17 -1
  134. package/fesm2022/ngx-bimplus-components.mjs +2317 -249
  135. package/fesm2022/ngx-bimplus-components.mjs.map +1 -1
  136. package/lib/components/bimplus-attachments/bimplus-attachments.component.d.ts +25 -0
  137. package/lib/components/bimplus-attachments/bimplus-attachments.interface.d.ts +19 -0
  138. package/lib/components/bimplus-attachments/components/bimplus-attachment-item/bimplus-attachment-item.component.d.ts +26 -0
  139. package/lib/components/bimplus-attachments/services/bimplus-attachments.service.d.ts +12 -0
  140. package/lib/components/bimplus-buttons-row/bimplus-buttons-row.component.d.ts +9 -3
  141. package/lib/components/bimplus-buttons-row/bimplus-buttons-row.interface.d.ts +5 -0
  142. package/lib/components/bimplus-comment/bimplus-comment.component.d.ts +34 -0
  143. package/lib/components/bimplus-floating-bar-header-logo/bimplus-floating-bar-header-logo.component.d.ts +1 -1
  144. package/lib/components/bimplus-input-text-field/bimplus-input-text-field.component.d.ts +17 -0
  145. package/lib/components/bimplus-object-comments-list/bimplus-object-comments-list.component.d.ts +51 -0
  146. package/lib/components/bimplus-object-comments-list/bimplusObjectCommentsI.d.ts +11 -0
  147. package/lib/components/bimplus-object-navigator/criteria-select-object-properties/criteria-select-object-properties.component.d.ts +7 -7
  148. package/lib/components/bimplus-object-navigator/criteria-select-object-properties/criteria-select-object-properties.interface.d.ts +3 -3
  149. package/lib/components/bimplus-overlay-dialog-confirm/bimplus-overlay-dialog-confirm.component.d.ts +28 -0
  150. package/lib/components/bimplus-overlay-dialog-delete/bimplus-overlay-dialog-delete.component.d.ts +23 -0
  151. package/lib/components/bimplus-overlay-dialog-warning/bimplus-overlay-dialog-warning.component.d.ts +3 -0
  152. package/lib/components/bimplus-scrollable-container/bimplus-scrollable-container.component.d.ts +1 -1
  153. package/lib/components/bimplus-tabs-switcher/bimplus-tabs-switcher.component.d.ts +16 -0
  154. package/lib/components/bimplus-tabs-switcher/bimplus-tabs-switcher.interface.d.ts +18 -0
  155. package/lib/components/bimplus-tabs-switcher/components/bimplus-tab/bimplus-tab.component.d.ts +36 -0
  156. package/lib/components/bimplus-tabs-switcher/services/bimplus-tabs-switcher.service.d.ts +15 -0
  157. package/lib/components/bimplus-textarea/autoResizeTextarea.directive.d.ts +24 -0
  158. package/lib/components/bimplus-textarea/bimplus-textarea.component.d.ts +42 -0
  159. package/lib/components/links-to-documents/links-to-documents.component.d.ts +55 -0
  160. package/lib/components/links-to-documents/links-to-documents.component.interface.d.ts +11 -0
  161. package/lib/components/object-hyperlinks/object-hyperlinks.component.d.ts +32 -0
  162. package/lib/components/object-hyperlinks-item/object-hyperlinks-item.component.d.ts +15 -0
  163. package/lib/components/object-properties/object-properties.component.d.ts +45 -0
  164. package/lib/components/object-properties/object-properties.interface.d.ts +21 -0
  165. package/lib/components/object-properties-group/object-properties-group.component.d.ts +11 -0
  166. package/lib/components/object-properties-group/object-property-value/object-property-value.component.d.ts +14 -0
  167. package/lib/components/object-properties-header/object-properties-header.component.d.ts +5 -3
  168. package/lib/components/object-properties-header/object-properties-header.interface.d.ts +1 -0
  169. package/lib/pipes/bit-converter.pipe.d.ts +17 -0
  170. package/lib/pipes/get-attribute-value.pipe.d.ts +23 -0
  171. package/lib/pipes/round.pipe.d.ts +7 -0
  172. package/lib/utils/objectProperties.d.ts +2 -0
  173. package/package.json +12 -5
  174. package/public-api.d.ts +16 -0
@@ -24,12 +24,12 @@ export class ResizablePanelComponent {
24
24
  this.drawerWidth -= deltaX;
25
25
  }
26
26
  }
27
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: ResizablePanelComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
28
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.12", type: ResizablePanelComponent, isStandalone: true, selector: "lib-resizable-panel", inputs: { position: "position", hasDraggableHandle: "hasDraggableHandle", hasDraggableBorder: "hasDraggableBorder" }, ngImport: i0, template: "<div\r\n class=\"resizable-panel-drawer\"\r\n [style.width] = \"drawerWidth | pxsuffix\"\r\n [ngClass]=\"drawerExpanded ? '' : 'hidden'\"\r\n [class.position-right]=\"position === 'right'\"\r\n [class.position-left]=\"position === 'left'\"\r\n>\r\n <slot></slot>\r\n @if (drawerExpanded) {\r\n @if (hasDraggableBorder) {\r\n <div\r\n xDraggable\r\n class=\"resizable-panel-resize-border\"\r\n (dragging)=\"_onResizeWidth($event)\"\r\n [class.position-right]=\"position === 'right'\"\r\n [class.position-left]=\"position === 'left'\"\r\n >\r\n </div>\r\n }\r\n @if (hasDraggableHandle) {\r\n <div\r\n xDraggable\r\n class=\"resizable-panel-resize-handle\"\r\n (dragging)=\"_onResizeWidth($event)\"\r\n (clicked)=\"_toggleDrawer()\"\r\n [class.position-right]=\"position === 'right'\"\r\n [class.position-left]=\"position === 'left'\"\r\n >\r\n </div>\r\n }\r\n }\r\n</div>\r\n@if (!drawerExpanded) {\r\n @if (hasDraggableHandle) {\r\n <div\r\n class=\"resizable-panel-resize-handle collapsed\"\r\n (click)=\"_toggleDrawer()\"\r\n (keypress)=\"_toggleDrawer()\"\r\n [class.position-right]=\"position === 'right'\"\r\n [class.position-left]=\"position === 'left'\"\r\n >\r\n </div>\r\n }\r\n}\r\n", styles: [".noselect{-webkit-user-select:none;user-select:none}.resizable-panel-drawer.position-left.hidden,.resizable-panel-drawer.position-right.hidden{display:none}.resizable-panel-drawer.position-left{min-width:var(--resizable-panel-min-width, 1rem);height:100%;border:0 solid var(--sidenav-drawer-border-color-enabled);position:absolute;bottom:0;left:0;background-color:var(--sidenav-drawer-background-color-enabled);transition:background-color .7s;border-right:solid thin var(--sidenav-drawer-border-right-color-enabled);width:300px;display:flex;flex-direction:row}.resizable-panel-drawer.position-left:hover{background-color:var(--sidenav-drawer-background-color-hovered)}.resizable-panel-drawer.position-right{min-width:var(--resizable-panel-min-width, 1rem);height:100%;border:0 solid var(--sidenav-drawer-border-color-enabled);position:absolute;bottom:0;right:0;background-color:var(--sidenav-drawer-background-color-enabled);transition:background-color .7s;border-left:solid thin var(--sidenav-drawer-border-right-color-enabled);width:300px;display:flex;flex-direction:row}.resizable-panel-drawer.position-right:hover{background-color:var(--sidenav-drawer-background-color-hovered)}.resizable-panel-resize-border.position-left{right:-5px;position:absolute;height:100%;cursor:col-resize;width:5px;-webkit-user-select:none;user-select:none}.resizable-panel-resize-border.position-right{left:0;position:absolute;height:100%;cursor:col-resize;width:5px;-webkit-user-select:none;user-select:none}.resizable-panel-resize-handle.position-left{background-image:url('data:image/svg+xml,<svg width=\"18\" height=\"18\" viewBox=\"0 0 18 18\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">%0D%0A<path d=\"M11.0104 0L2 9L11.0104 18L12.4246 16.5874L4.82843 9L12.4246 1.41258L11.0104 0Z\" fill=\"%23444444\"/>%0D%0A</svg>%0D%0A');position:absolute;top:calc(50% - 2.4rem);right:-2.1rem;width:2.1rem;height:4.8rem;border-radius:0 .4rem .4rem 0;background-color:var(--sidenav-resize-handle-left-background-color-enabled);cursor:pointer;pointer-events:all;background-position:center center;background-repeat:no-repeat;-webkit-user-select:none;user-select:none}.resizable-panel-resize-handle.position-right{background-image:url('data:image/svg+xml,<svg width=\"18\" height=\"18\" viewBox=\"0 0 18 18\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">%0D%0A<path d=\"M11.0104 0L2 9L11.0104 18L12.4246 16.5874L4.82843 9L12.4246 1.41258L11.0104 0Z\" fill=\"%23444444\"/>%0D%0A</svg>%0D%0A');position:absolute;top:calc(50% - 2.4rem);left:-2.1rem;width:2.1rem;height:4.8rem;border-radius:.4rem 0 0 .4rem;background-color:var(--sidenav-resize-handle-left-background-color-enabled);cursor:pointer;pointer-events:all;background-position:center center;background-repeat:no-repeat;transform:rotate(180deg);-webkit-user-select:none;user-select:none}.resizable-panel-resize-handle.position-left.collapsed{left:0;border-radius:.4rem 0 0 .4rem;transform:rotate(180deg)}.resizable-panel-resize-handle.position-right.collapsed{left:calc(100% - 2.1rem);border-radius:0 .4rem .4rem 0;transform:rotate(0)}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: XDraggableDirective, selector: "[xDraggable]", outputs: ["dragging", "clicked"] }, { kind: "pipe", type: PxsuffixPipe, name: "pxsuffix" }], encapsulation: i0.ViewEncapsulation.ShadowDom }); }
27
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: ResizablePanelComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
28
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.11", type: ResizablePanelComponent, isStandalone: true, selector: "lib-resizable-panel", inputs: { position: "position", hasDraggableHandle: "hasDraggableHandle", hasDraggableBorder: "hasDraggableBorder" }, ngImport: i0, template: "<div\n class=\"resizable-panel-drawer\"\n [style.width] = \"drawerWidth | pxsuffix\"\n [ngClass]=\"drawerExpanded ? '' : 'hidden'\"\n [class.position-right]=\"position === 'right'\"\n [class.position-left]=\"position === 'left'\"\n>\n <slot></slot>\n @if (drawerExpanded) {\n @if (hasDraggableBorder) {\n <div\n xDraggable\n class=\"resizable-panel-resize-border\"\n (dragging)=\"_onResizeWidth($event)\"\n [class.position-right]=\"position === 'right'\"\n [class.position-left]=\"position === 'left'\"\n >\n </div>\n }\n @if (hasDraggableHandle) {\n <div\n xDraggable\n class=\"resizable-panel-resize-handle\"\n (dragging)=\"_onResizeWidth($event)\"\n (clicked)=\"_toggleDrawer()\"\n [class.position-right]=\"position === 'right'\"\n [class.position-left]=\"position === 'left'\"\n >\n </div>\n }\n }\n</div>\n@if (!drawerExpanded) {\n @if (hasDraggableHandle) {\n <div\n class=\"resizable-panel-resize-handle collapsed\"\n (click)=\"_toggleDrawer()\"\n (keypress)=\"_toggleDrawer()\"\n [class.position-right]=\"position === 'right'\"\n [class.position-left]=\"position === 'left'\"\n >\n </div>\n }\n}\n", styles: [".noselect{-webkit-user-select:none;user-select:none}.resizable-panel-drawer.position-left.hidden,.resizable-panel-drawer.position-right.hidden{display:none}.resizable-panel-drawer.position-left{min-width:var(--resizable-panel-min-width, 1rem);height:100%;border:0 solid var(--sidenav-drawer-border-color-enabled);position:absolute;bottom:0;left:0;background-color:var(--sidenav-drawer-background-color-enabled);transition:background-color .7s;border-right:solid thin var(--sidenav-drawer-border-right-color-enabled);width:300px;display:flex;flex-direction:row}.resizable-panel-drawer.position-left:hover{background-color:var(--sidenav-drawer-background-color-hovered)}.resizable-panel-drawer.position-right{min-width:var(--resizable-panel-min-width, 1rem);height:100%;border:0 solid var(--sidenav-drawer-border-color-enabled);position:absolute;bottom:0;right:0;background-color:var(--sidenav-drawer-background-color-enabled);transition:background-color .7s;border-left:solid thin var(--sidenav-drawer-border-right-color-enabled);width:300px;display:flex;flex-direction:row}.resizable-panel-drawer.position-right:hover{background-color:var(--sidenav-drawer-background-color-hovered)}.resizable-panel-resize-border.position-left{right:-5px;position:absolute;height:100%;cursor:col-resize;width:5px;-webkit-user-select:none;user-select:none}.resizable-panel-resize-border.position-right{left:0;position:absolute;height:100%;cursor:col-resize;width:5px;-webkit-user-select:none;user-select:none}.resizable-panel-resize-handle.position-left{background-image:url('data:image/svg+xml,<svg width=\"18\" height=\"18\" viewBox=\"0 0 18 18\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">%0D%0A<path d=\"M11.0104 0L2 9L11.0104 18L12.4246 16.5874L4.82843 9L12.4246 1.41258L11.0104 0Z\" fill=\"%23444444\"/>%0D%0A</svg>%0D%0A');position:absolute;top:calc(50% - 2.4rem);right:-2.1rem;width:2.1rem;height:4.8rem;border-radius:0 .4rem .4rem 0;background-color:var(--sidenav-resize-handle-left-background-color-enabled);cursor:pointer;pointer-events:all;background-position:center center;background-repeat:no-repeat;-webkit-user-select:none;user-select:none}.resizable-panel-resize-handle.position-right{background-image:url('data:image/svg+xml,<svg width=\"18\" height=\"18\" viewBox=\"0 0 18 18\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">%0D%0A<path d=\"M11.0104 0L2 9L11.0104 18L12.4246 16.5874L4.82843 9L12.4246 1.41258L11.0104 0Z\" fill=\"%23444444\"/>%0D%0A</svg>%0D%0A');position:absolute;top:calc(50% - 2.4rem);left:-2.1rem;width:2.1rem;height:4.8rem;border-radius:0 .4rem .4rem 0;background-color:var(--sidenav-resize-handle-left-background-color-enabled);cursor:pointer;pointer-events:all;background-position:center center;background-repeat:no-repeat;transform:rotate(180deg);-webkit-user-select:none;user-select:none}.resizable-panel-resize-handle.position-left.collapsed{left:0;border-radius:.4rem 0 0 .4rem;transform:rotate(180deg)}.resizable-panel-resize-handle.position-right.collapsed{left:calc(100% - 2.1rem);border-radius:.4rem 0 0 .4rem;transform:rotate(0)}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: XDraggableDirective, selector: "[xDraggable]", outputs: ["dragging", "clicked"] }, { kind: "pipe", type: PxsuffixPipe, name: "pxsuffix" }], encapsulation: i0.ViewEncapsulation.ShadowDom }); }
29
29
  }
30
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: ResizablePanelComponent, decorators: [{
30
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: ResizablePanelComponent, decorators: [{
31
31
  type: Component,
32
- args: [{ selector: 'lib-resizable-panel', standalone: true, imports: [CommonModule, XDraggableDirective, PxsuffixPipe], encapsulation: ViewEncapsulation.ShadowDom, template: "<div\r\n class=\"resizable-panel-drawer\"\r\n [style.width] = \"drawerWidth | pxsuffix\"\r\n [ngClass]=\"drawerExpanded ? '' : 'hidden'\"\r\n [class.position-right]=\"position === 'right'\"\r\n [class.position-left]=\"position === 'left'\"\r\n>\r\n <slot></slot>\r\n @if (drawerExpanded) {\r\n @if (hasDraggableBorder) {\r\n <div\r\n xDraggable\r\n class=\"resizable-panel-resize-border\"\r\n (dragging)=\"_onResizeWidth($event)\"\r\n [class.position-right]=\"position === 'right'\"\r\n [class.position-left]=\"position === 'left'\"\r\n >\r\n </div>\r\n }\r\n @if (hasDraggableHandle) {\r\n <div\r\n xDraggable\r\n class=\"resizable-panel-resize-handle\"\r\n (dragging)=\"_onResizeWidth($event)\"\r\n (clicked)=\"_toggleDrawer()\"\r\n [class.position-right]=\"position === 'right'\"\r\n [class.position-left]=\"position === 'left'\"\r\n >\r\n </div>\r\n }\r\n }\r\n</div>\r\n@if (!drawerExpanded) {\r\n @if (hasDraggableHandle) {\r\n <div\r\n class=\"resizable-panel-resize-handle collapsed\"\r\n (click)=\"_toggleDrawer()\"\r\n (keypress)=\"_toggleDrawer()\"\r\n [class.position-right]=\"position === 'right'\"\r\n [class.position-left]=\"position === 'left'\"\r\n >\r\n </div>\r\n }\r\n}\r\n", styles: [".noselect{-webkit-user-select:none;user-select:none}.resizable-panel-drawer.position-left.hidden,.resizable-panel-drawer.position-right.hidden{display:none}.resizable-panel-drawer.position-left{min-width:var(--resizable-panel-min-width, 1rem);height:100%;border:0 solid var(--sidenav-drawer-border-color-enabled);position:absolute;bottom:0;left:0;background-color:var(--sidenav-drawer-background-color-enabled);transition:background-color .7s;border-right:solid thin var(--sidenav-drawer-border-right-color-enabled);width:300px;display:flex;flex-direction:row}.resizable-panel-drawer.position-left:hover{background-color:var(--sidenav-drawer-background-color-hovered)}.resizable-panel-drawer.position-right{min-width:var(--resizable-panel-min-width, 1rem);height:100%;border:0 solid var(--sidenav-drawer-border-color-enabled);position:absolute;bottom:0;right:0;background-color:var(--sidenav-drawer-background-color-enabled);transition:background-color .7s;border-left:solid thin var(--sidenav-drawer-border-right-color-enabled);width:300px;display:flex;flex-direction:row}.resizable-panel-drawer.position-right:hover{background-color:var(--sidenav-drawer-background-color-hovered)}.resizable-panel-resize-border.position-left{right:-5px;position:absolute;height:100%;cursor:col-resize;width:5px;-webkit-user-select:none;user-select:none}.resizable-panel-resize-border.position-right{left:0;position:absolute;height:100%;cursor:col-resize;width:5px;-webkit-user-select:none;user-select:none}.resizable-panel-resize-handle.position-left{background-image:url('data:image/svg+xml,<svg width=\"18\" height=\"18\" viewBox=\"0 0 18 18\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">%0D%0A<path d=\"M11.0104 0L2 9L11.0104 18L12.4246 16.5874L4.82843 9L12.4246 1.41258L11.0104 0Z\" fill=\"%23444444\"/>%0D%0A</svg>%0D%0A');position:absolute;top:calc(50% - 2.4rem);right:-2.1rem;width:2.1rem;height:4.8rem;border-radius:0 .4rem .4rem 0;background-color:var(--sidenav-resize-handle-left-background-color-enabled);cursor:pointer;pointer-events:all;background-position:center center;background-repeat:no-repeat;-webkit-user-select:none;user-select:none}.resizable-panel-resize-handle.position-right{background-image:url('data:image/svg+xml,<svg width=\"18\" height=\"18\" viewBox=\"0 0 18 18\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">%0D%0A<path d=\"M11.0104 0L2 9L11.0104 18L12.4246 16.5874L4.82843 9L12.4246 1.41258L11.0104 0Z\" fill=\"%23444444\"/>%0D%0A</svg>%0D%0A');position:absolute;top:calc(50% - 2.4rem);left:-2.1rem;width:2.1rem;height:4.8rem;border-radius:.4rem 0 0 .4rem;background-color:var(--sidenav-resize-handle-left-background-color-enabled);cursor:pointer;pointer-events:all;background-position:center center;background-repeat:no-repeat;transform:rotate(180deg);-webkit-user-select:none;user-select:none}.resizable-panel-resize-handle.position-left.collapsed{left:0;border-radius:.4rem 0 0 .4rem;transform:rotate(180deg)}.resizable-panel-resize-handle.position-right.collapsed{left:calc(100% - 2.1rem);border-radius:0 .4rem .4rem 0;transform:rotate(0)}\n"] }]
32
+ args: [{ selector: 'lib-resizable-panel', standalone: true, imports: [CommonModule, XDraggableDirective, PxsuffixPipe], encapsulation: ViewEncapsulation.ShadowDom, template: "<div\n class=\"resizable-panel-drawer\"\n [style.width] = \"drawerWidth | pxsuffix\"\n [ngClass]=\"drawerExpanded ? '' : 'hidden'\"\n [class.position-right]=\"position === 'right'\"\n [class.position-left]=\"position === 'left'\"\n>\n <slot></slot>\n @if (drawerExpanded) {\n @if (hasDraggableBorder) {\n <div\n xDraggable\n class=\"resizable-panel-resize-border\"\n (dragging)=\"_onResizeWidth($event)\"\n [class.position-right]=\"position === 'right'\"\n [class.position-left]=\"position === 'left'\"\n >\n </div>\n }\n @if (hasDraggableHandle) {\n <div\n xDraggable\n class=\"resizable-panel-resize-handle\"\n (dragging)=\"_onResizeWidth($event)\"\n (clicked)=\"_toggleDrawer()\"\n [class.position-right]=\"position === 'right'\"\n [class.position-left]=\"position === 'left'\"\n >\n </div>\n }\n }\n</div>\n@if (!drawerExpanded) {\n @if (hasDraggableHandle) {\n <div\n class=\"resizable-panel-resize-handle collapsed\"\n (click)=\"_toggleDrawer()\"\n (keypress)=\"_toggleDrawer()\"\n [class.position-right]=\"position === 'right'\"\n [class.position-left]=\"position === 'left'\"\n >\n </div>\n }\n}\n", styles: [".noselect{-webkit-user-select:none;user-select:none}.resizable-panel-drawer.position-left.hidden,.resizable-panel-drawer.position-right.hidden{display:none}.resizable-panel-drawer.position-left{min-width:var(--resizable-panel-min-width, 1rem);height:100%;border:0 solid var(--sidenav-drawer-border-color-enabled);position:absolute;bottom:0;left:0;background-color:var(--sidenav-drawer-background-color-enabled);transition:background-color .7s;border-right:solid thin var(--sidenav-drawer-border-right-color-enabled);width:300px;display:flex;flex-direction:row}.resizable-panel-drawer.position-left:hover{background-color:var(--sidenav-drawer-background-color-hovered)}.resizable-panel-drawer.position-right{min-width:var(--resizable-panel-min-width, 1rem);height:100%;border:0 solid var(--sidenav-drawer-border-color-enabled);position:absolute;bottom:0;right:0;background-color:var(--sidenav-drawer-background-color-enabled);transition:background-color .7s;border-left:solid thin var(--sidenav-drawer-border-right-color-enabled);width:300px;display:flex;flex-direction:row}.resizable-panel-drawer.position-right:hover{background-color:var(--sidenav-drawer-background-color-hovered)}.resizable-panel-resize-border.position-left{right:-5px;position:absolute;height:100%;cursor:col-resize;width:5px;-webkit-user-select:none;user-select:none}.resizable-panel-resize-border.position-right{left:0;position:absolute;height:100%;cursor:col-resize;width:5px;-webkit-user-select:none;user-select:none}.resizable-panel-resize-handle.position-left{background-image:url('data:image/svg+xml,<svg width=\"18\" height=\"18\" viewBox=\"0 0 18 18\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">%0D%0A<path d=\"M11.0104 0L2 9L11.0104 18L12.4246 16.5874L4.82843 9L12.4246 1.41258L11.0104 0Z\" fill=\"%23444444\"/>%0D%0A</svg>%0D%0A');position:absolute;top:calc(50% - 2.4rem);right:-2.1rem;width:2.1rem;height:4.8rem;border-radius:0 .4rem .4rem 0;background-color:var(--sidenav-resize-handle-left-background-color-enabled);cursor:pointer;pointer-events:all;background-position:center center;background-repeat:no-repeat;-webkit-user-select:none;user-select:none}.resizable-panel-resize-handle.position-right{background-image:url('data:image/svg+xml,<svg width=\"18\" height=\"18\" viewBox=\"0 0 18 18\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">%0D%0A<path d=\"M11.0104 0L2 9L11.0104 18L12.4246 16.5874L4.82843 9L12.4246 1.41258L11.0104 0Z\" fill=\"%23444444\"/>%0D%0A</svg>%0D%0A');position:absolute;top:calc(50% - 2.4rem);left:-2.1rem;width:2.1rem;height:4.8rem;border-radius:0 .4rem .4rem 0;background-color:var(--sidenav-resize-handle-left-background-color-enabled);cursor:pointer;pointer-events:all;background-position:center center;background-repeat:no-repeat;transform:rotate(180deg);-webkit-user-select:none;user-select:none}.resizable-panel-resize-handle.position-left.collapsed{left:0;border-radius:.4rem 0 0 .4rem;transform:rotate(180deg)}.resizable-panel-resize-handle.position-right.collapsed{left:calc(100% - 2.1rem);border-radius:.4rem 0 0 .4rem;transform:rotate(0)}\n"] }]
33
33
  }], propDecorators: { position: [{
34
34
  type: Input
35
35
  }], hasDraggableHandle: [{
@@ -37,4 +37,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImpo
37
37
  }], hasDraggableBorder: [{
38
38
  type: Input
39
39
  }] } });
40
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVzaXphYmxlLXBhbmVsLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1iaW1wbHVzLWNvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL3Jlc2l6YWJsZS1wYW5lbC9yZXNpemFibGUtcGFuZWwuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LWJpbXBsdXMtY29tcG9uZW50cy9zcmMvbGliL2NvbXBvbmVudHMvcmVzaXphYmxlLXBhbmVsL3Jlc2l6YWJsZS1wYW5lbC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLGlCQUFpQixFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNwRSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQTtBQUM1RSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDekQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDOzs7QUFVL0MsTUFBTSxPQUFPLHVCQUF1QjtJQVJwQztRQVNXLGFBQVEsR0FBc0IsT0FBTyxDQUFDO1FBQ3RDLHVCQUFrQixHQUFhLEtBQUssQ0FBQztRQUNyQyx1QkFBa0IsR0FBYSxLQUFLLENBQUM7UUFFOUMsZ0JBQVcsR0FBWSxHQUFHLENBQUM7UUFDM0IsbUJBQWMsR0FBYSxJQUFJLENBQUM7S0FnQmpDO0lBYkMsYUFBYTtRQUNYLElBQUksQ0FBQyxjQUFjLEdBQUcsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDO0lBQzdDLENBQUM7SUFFRCxjQUFjLENBQUMsS0FBYztRQUMzQixNQUFNLE1BQU0sR0FBRyxLQUFLLENBQUM7UUFDckIsSUFBRyxJQUFJLENBQUMsUUFBUSxLQUFLLE1BQU0sRUFBQyxDQUFDO1lBQzNCLElBQUksQ0FBQyxXQUFXLElBQUksTUFBTSxDQUFDO1FBQzdCLENBQUM7YUFDSSxJQUFHLElBQUksQ0FBQyxRQUFRLEtBQUssT0FBTyxFQUFDLENBQUM7WUFDakMsSUFBSSxDQUFDLFdBQVcsSUFBSSxNQUFNLENBQUM7UUFDN0IsQ0FBQztJQUNILENBQUM7K0dBckJVLHVCQUF1QjttR0FBdkIsdUJBQXVCLHFNQ2JwQyw4MENBNENBLDZqR0RwQ1ksWUFBWSw2SEFBRSxtQkFBbUIsc0ZBQUUsWUFBWTs7NEZBSzlDLHVCQUF1QjtrQkFSbkMsU0FBUzsrQkFDRSxxQkFBcUIsY0FDbkIsSUFBSSxXQUNQLENBQUMsWUFBWSxFQUFFLG1CQUFtQixFQUFFLFlBQVksQ0FBQyxpQkFHM0MsaUJBQWlCLENBQUMsU0FBUzs4QkFHakMsUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxrQkFBa0I7c0JBQTFCLEtBQUs7Z0JBQ0csa0JBQWtCO3NCQUExQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBWaWV3RW5jYXBzdWxhdGlvbiwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgWERyYWdnYWJsZURpcmVjdGl2ZSB9IGZyb20gJy4uLy4uL2RpcmVjdGl2ZXMveC1kcmFnZ2FibGUuZGlyZWN0aXZlJ1xyXG5pbXBvcnQgeyBQeHN1ZmZpeFBpcGUgfSBmcm9tICcuLi8uLi9waXBlcy9weHN1ZmZpeC5waXBlJztcclxuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnbGliLXJlc2l6YWJsZS1wYW5lbCcsXHJcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcclxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBYRHJhZ2dhYmxlRGlyZWN0aXZlLCBQeHN1ZmZpeFBpcGVdLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9yZXNpemFibGUtcGFuZWwuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsOiAnLi9yZXNpemFibGUtcGFuZWwuY29tcG9uZW50Lmxlc3MnLFxyXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLlNoYWRvd0RvbVxyXG59KVxyXG5leHBvcnQgY2xhc3MgUmVzaXphYmxlUGFuZWxDb21wb25lbnQge1xyXG4gIEBJbnB1dCgpIHBvc2l0aW9uIDogXCJsZWZ0XCIgfCBcInJpZ2h0XCIgPSBcInJpZ2h0XCI7XHJcbiAgQElucHV0KCkgaGFzRHJhZ2dhYmxlSGFuZGxlIDogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIEBJbnB1dCgpIGhhc0RyYWdnYWJsZUJvcmRlciA6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgZHJhd2VyV2lkdGggOiBudW1iZXIgPSAzMDA7XHJcbiAgZHJhd2VyRXhwYW5kZWQgOiBib29sZWFuID0gdHJ1ZTtcclxuXHJcblxyXG4gIF90b2dnbGVEcmF3ZXIoKXtcclxuICAgIHRoaXMuZHJhd2VyRXhwYW5kZWQgPSAhdGhpcy5kcmF3ZXJFeHBhbmRlZDtcclxuICB9XHJcbiAgXHJcbiAgX29uUmVzaXplV2lkdGgoZXZlbnQgOiBudW1iZXIpOiB2b2lkIHtcclxuICAgIGNvbnN0IGRlbHRhWCA9IGV2ZW50O1xyXG4gICAgaWYodGhpcy5wb3NpdGlvbiA9PT0gXCJsZWZ0XCIpe1xyXG4gICAgICB0aGlzLmRyYXdlcldpZHRoICs9IGRlbHRhWDtcclxuICAgIH1cclxuICAgIGVsc2UgaWYodGhpcy5wb3NpdGlvbiA9PT0gXCJyaWdodFwiKXtcclxuICAgICAgdGhpcy5kcmF3ZXJXaWR0aCAtPSBkZWx0YVg7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiIsIjxkaXZcclxuICBjbGFzcz1cInJlc2l6YWJsZS1wYW5lbC1kcmF3ZXJcIlxyXG4gIFtzdHlsZS53aWR0aF0gPSBcImRyYXdlcldpZHRoIHwgcHhzdWZmaXhcIlxyXG4gIFtuZ0NsYXNzXT1cImRyYXdlckV4cGFuZGVkID8gJycgOiAnaGlkZGVuJ1wiXHJcbiAgW2NsYXNzLnBvc2l0aW9uLXJpZ2h0XT1cInBvc2l0aW9uID09PSAncmlnaHQnXCJcclxuICBbY2xhc3MucG9zaXRpb24tbGVmdF09XCJwb3NpdGlvbiA9PT0gJ2xlZnQnXCJcclxuPlxyXG4gIDxzbG90Pjwvc2xvdD5cclxuICBAaWYgKGRyYXdlckV4cGFuZGVkKSB7XHJcbiAgICBAaWYgKGhhc0RyYWdnYWJsZUJvcmRlcikge1xyXG4gICAgICA8ZGl2XHJcbiAgICAgICAgeERyYWdnYWJsZVxyXG4gICAgICAgIGNsYXNzPVwicmVzaXphYmxlLXBhbmVsLXJlc2l6ZS1ib3JkZXJcIlxyXG4gICAgICAgIChkcmFnZ2luZyk9XCJfb25SZXNpemVXaWR0aCgkZXZlbnQpXCJcclxuICAgICAgICBbY2xhc3MucG9zaXRpb24tcmlnaHRdPVwicG9zaXRpb24gPT09ICdyaWdodCdcIlxyXG4gICAgICAgIFtjbGFzcy5wb3NpdGlvbi1sZWZ0XT1cInBvc2l0aW9uID09PSAnbGVmdCdcIlxyXG4gICAgICA+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgfVxyXG4gICAgQGlmIChoYXNEcmFnZ2FibGVIYW5kbGUpIHtcclxuICAgICAgPGRpdlxyXG4gICAgICAgIHhEcmFnZ2FibGVcclxuICAgICAgICBjbGFzcz1cInJlc2l6YWJsZS1wYW5lbC1yZXNpemUtaGFuZGxlXCJcclxuICAgICAgICAoZHJhZ2dpbmcpPVwiX29uUmVzaXplV2lkdGgoJGV2ZW50KVwiXHJcbiAgICAgICAgKGNsaWNrZWQpPVwiX3RvZ2dsZURyYXdlcigpXCJcclxuICAgICAgICBbY2xhc3MucG9zaXRpb24tcmlnaHRdPVwicG9zaXRpb24gPT09ICdyaWdodCdcIlxyXG4gICAgICAgIFtjbGFzcy5wb3NpdGlvbi1sZWZ0XT1cInBvc2l0aW9uID09PSAnbGVmdCdcIlxyXG4gICAgICA+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgfVxyXG4gIH1cclxuPC9kaXY+XHJcbkBpZiAoIWRyYXdlckV4cGFuZGVkKSB7XHJcbiAgQGlmIChoYXNEcmFnZ2FibGVIYW5kbGUpIHtcclxuICAgIDxkaXZcclxuICAgICAgY2xhc3M9XCJyZXNpemFibGUtcGFuZWwtcmVzaXplLWhhbmRsZSBjb2xsYXBzZWRcIlxyXG4gICAgICAoY2xpY2spPVwiX3RvZ2dsZURyYXdlcigpXCJcclxuICAgICAgKGtleXByZXNzKT1cIl90b2dnbGVEcmF3ZXIoKVwiXHJcbiAgICAgIFtjbGFzcy5wb3NpdGlvbi1yaWdodF09XCJwb3NpdGlvbiA9PT0gJ3JpZ2h0J1wiXHJcbiAgICAgIFtjbGFzcy5wb3NpdGlvbi1sZWZ0XT1cInBvc2l0aW9uID09PSAnbGVmdCdcIlxyXG4gICAgPlxyXG4gICAgPC9kaXY+XHJcbiAgfVxyXG59XHJcbiJdfQ==
40
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVzaXphYmxlLXBhbmVsLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1iaW1wbHVzLWNvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL3Jlc2l6YWJsZS1wYW5lbC9yZXNpemFibGUtcGFuZWwuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LWJpbXBsdXMtY29tcG9uZW50cy9zcmMvbGliL2NvbXBvbmVudHMvcmVzaXphYmxlLXBhbmVsL3Jlc2l6YWJsZS1wYW5lbC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLGlCQUFpQixFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNwRSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQTtBQUM1RSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDekQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDOzs7QUFVL0MsTUFBTSxPQUFPLHVCQUF1QjtJQVJwQztRQVNXLGFBQVEsR0FBc0IsT0FBTyxDQUFDO1FBQ3RDLHVCQUFrQixHQUFhLEtBQUssQ0FBQztRQUNyQyx1QkFBa0IsR0FBYSxLQUFLLENBQUM7UUFFOUMsZ0JBQVcsR0FBWSxHQUFHLENBQUM7UUFDM0IsbUJBQWMsR0FBYSxJQUFJLENBQUM7S0FnQmpDO0lBYkMsYUFBYTtRQUNYLElBQUksQ0FBQyxjQUFjLEdBQUcsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDO0lBQzdDLENBQUM7SUFFRCxjQUFjLENBQUMsS0FBYztRQUMzQixNQUFNLE1BQU0sR0FBRyxLQUFLLENBQUM7UUFDckIsSUFBRyxJQUFJLENBQUMsUUFBUSxLQUFLLE1BQU0sRUFBQyxDQUFDO1lBQzNCLElBQUksQ0FBQyxXQUFXLElBQUksTUFBTSxDQUFDO1FBQzdCLENBQUM7YUFDSSxJQUFHLElBQUksQ0FBQyxRQUFRLEtBQUssT0FBTyxFQUFDLENBQUM7WUFDakMsSUFBSSxDQUFDLFdBQVcsSUFBSSxNQUFNLENBQUM7UUFDN0IsQ0FBQztJQUNILENBQUM7K0dBckJVLHVCQUF1QjttR0FBdkIsdUJBQXVCLHFNQ2JwQyxzdkNBNENBLDZqR0RwQ1ksWUFBWSw2SEFBRSxtQkFBbUIsc0ZBQUUsWUFBWTs7NEZBSzlDLHVCQUF1QjtrQkFSbkMsU0FBUzsrQkFDRSxxQkFBcUIsY0FDbkIsSUFBSSxXQUNQLENBQUMsWUFBWSxFQUFFLG1CQUFtQixFQUFFLFlBQVksQ0FBQyxpQkFHM0MsaUJBQWlCLENBQUMsU0FBUzs4QkFHakMsUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxrQkFBa0I7c0JBQTFCLEtBQUs7Z0JBQ0csa0JBQWtCO3NCQUExQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBWaWV3RW5jYXBzdWxhdGlvbiwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFhEcmFnZ2FibGVEaXJlY3RpdmUgfSBmcm9tICcuLi8uLi9kaXJlY3RpdmVzL3gtZHJhZ2dhYmxlLmRpcmVjdGl2ZSdcbmltcG9ydCB7IFB4c3VmZml4UGlwZSB9IGZyb20gJy4uLy4uL3BpcGVzL3B4c3VmZml4LnBpcGUnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbGliLXJlc2l6YWJsZS1wYW5lbCcsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIFhEcmFnZ2FibGVEaXJlY3RpdmUsIFB4c3VmZml4UGlwZV0sXG4gIHRlbXBsYXRlVXJsOiAnLi9yZXNpemFibGUtcGFuZWwuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybDogJy4vcmVzaXphYmxlLXBhbmVsLmNvbXBvbmVudC5sZXNzJyxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uU2hhZG93RG9tXG59KVxuZXhwb3J0IGNsYXNzIFJlc2l6YWJsZVBhbmVsQ29tcG9uZW50IHtcbiAgQElucHV0KCkgcG9zaXRpb24gOiBcImxlZnRcIiB8IFwicmlnaHRcIiA9IFwicmlnaHRcIjtcbiAgQElucHV0KCkgaGFzRHJhZ2dhYmxlSGFuZGxlIDogYm9vbGVhbiA9IGZhbHNlO1xuICBASW5wdXQoKSBoYXNEcmFnZ2FibGVCb3JkZXIgOiBib29sZWFuID0gZmFsc2U7XG5cbiAgZHJhd2VyV2lkdGggOiBudW1iZXIgPSAzMDA7XG4gIGRyYXdlckV4cGFuZGVkIDogYm9vbGVhbiA9IHRydWU7XG5cblxuICBfdG9nZ2xlRHJhd2VyKCl7XG4gICAgdGhpcy5kcmF3ZXJFeHBhbmRlZCA9ICF0aGlzLmRyYXdlckV4cGFuZGVkO1xuICB9XG4gIFxuICBfb25SZXNpemVXaWR0aChldmVudCA6IG51bWJlcik6IHZvaWQge1xuICAgIGNvbnN0IGRlbHRhWCA9IGV2ZW50O1xuICAgIGlmKHRoaXMucG9zaXRpb24gPT09IFwibGVmdFwiKXtcbiAgICAgIHRoaXMuZHJhd2VyV2lkdGggKz0gZGVsdGFYO1xuICAgIH1cbiAgICBlbHNlIGlmKHRoaXMucG9zaXRpb24gPT09IFwicmlnaHRcIil7XG4gICAgICB0aGlzLmRyYXdlcldpZHRoIC09IGRlbHRhWDtcbiAgICB9XG4gIH1cbn1cbiIsIjxkaXZcbiAgY2xhc3M9XCJyZXNpemFibGUtcGFuZWwtZHJhd2VyXCJcbiAgW3N0eWxlLndpZHRoXSA9IFwiZHJhd2VyV2lkdGggfCBweHN1ZmZpeFwiXG4gIFtuZ0NsYXNzXT1cImRyYXdlckV4cGFuZGVkID8gJycgOiAnaGlkZGVuJ1wiXG4gIFtjbGFzcy5wb3NpdGlvbi1yaWdodF09XCJwb3NpdGlvbiA9PT0gJ3JpZ2h0J1wiXG4gIFtjbGFzcy5wb3NpdGlvbi1sZWZ0XT1cInBvc2l0aW9uID09PSAnbGVmdCdcIlxuPlxuICA8c2xvdD48L3Nsb3Q+XG4gIEBpZiAoZHJhd2VyRXhwYW5kZWQpIHtcbiAgICBAaWYgKGhhc0RyYWdnYWJsZUJvcmRlcikge1xuICAgICAgPGRpdlxuICAgICAgICB4RHJhZ2dhYmxlXG4gICAgICAgIGNsYXNzPVwicmVzaXphYmxlLXBhbmVsLXJlc2l6ZS1ib3JkZXJcIlxuICAgICAgICAoZHJhZ2dpbmcpPVwiX29uUmVzaXplV2lkdGgoJGV2ZW50KVwiXG4gICAgICAgIFtjbGFzcy5wb3NpdGlvbi1yaWdodF09XCJwb3NpdGlvbiA9PT0gJ3JpZ2h0J1wiXG4gICAgICAgIFtjbGFzcy5wb3NpdGlvbi1sZWZ0XT1cInBvc2l0aW9uID09PSAnbGVmdCdcIlxuICAgICAgPlxuICAgICAgPC9kaXY+XG4gICAgfVxuICAgIEBpZiAoaGFzRHJhZ2dhYmxlSGFuZGxlKSB7XG4gICAgICA8ZGl2XG4gICAgICAgIHhEcmFnZ2FibGVcbiAgICAgICAgY2xhc3M9XCJyZXNpemFibGUtcGFuZWwtcmVzaXplLWhhbmRsZVwiXG4gICAgICAgIChkcmFnZ2luZyk9XCJfb25SZXNpemVXaWR0aCgkZXZlbnQpXCJcbiAgICAgICAgKGNsaWNrZWQpPVwiX3RvZ2dsZURyYXdlcigpXCJcbiAgICAgICAgW2NsYXNzLnBvc2l0aW9uLXJpZ2h0XT1cInBvc2l0aW9uID09PSAncmlnaHQnXCJcbiAgICAgICAgW2NsYXNzLnBvc2l0aW9uLWxlZnRdPVwicG9zaXRpb24gPT09ICdsZWZ0J1wiXG4gICAgICA+XG4gICAgICA8L2Rpdj5cbiAgICB9XG4gIH1cbjwvZGl2PlxuQGlmICghZHJhd2VyRXhwYW5kZWQpIHtcbiAgQGlmIChoYXNEcmFnZ2FibGVIYW5kbGUpIHtcbiAgICA8ZGl2XG4gICAgICBjbGFzcz1cInJlc2l6YWJsZS1wYW5lbC1yZXNpemUtaGFuZGxlIGNvbGxhcHNlZFwiXG4gICAgICAoY2xpY2spPVwiX3RvZ2dsZURyYXdlcigpXCJcbiAgICAgIChrZXlwcmVzcyk9XCJfdG9nZ2xlRHJhd2VyKClcIlxuICAgICAgW2NsYXNzLnBvc2l0aW9uLXJpZ2h0XT1cInBvc2l0aW9uID09PSAncmlnaHQnXCJcbiAgICAgIFtjbGFzcy5wb3NpdGlvbi1sZWZ0XT1cInBvc2l0aW9uID09PSAnbGVmdCdcIlxuICAgID5cbiAgICA8L2Rpdj5cbiAgfVxufVxuIl19
@@ -11,10 +11,10 @@ export class ClickOutsideDirective {
11
11
  this.clickOutside.emit();
12
12
  }
13
13
  }
14
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: ClickOutsideDirective, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive }); }
15
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.12", type: ClickOutsideDirective, isStandalone: true, selector: "[libClickOutside]", outputs: { clickOutside: "clickOutside" }, host: { listeners: { "document:click": "onClick($event.target)" } }, ngImport: i0 }); }
14
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: ClickOutsideDirective, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive }); }
15
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.11", type: ClickOutsideDirective, isStandalone: true, selector: "[libClickOutside]", outputs: { clickOutside: "clickOutside" }, host: { listeners: { "document:click": "onClick($event.target)" } }, ngImport: i0 }); }
16
16
  }
17
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: ClickOutsideDirective, decorators: [{
17
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: ClickOutsideDirective, decorators: [{
18
18
  type: Directive,
19
19
  args: [{
20
20
  selector: '[libClickOutside]',
@@ -26,4 +26,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImpo
26
26
  type: HostListener,
27
27
  args: ['document:click', ['$event.target']]
28
28
  }] } });
29
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xpY2stb3V0c2lkZS5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtYmltcGx1cy1jb21wb25lbnRzL3NyYy9saWIvZGlyZWN0aXZlcy9jbGljay1vdXRzaWRlL2NsaWNrLW91dHNpZGUuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQWMsTUFBTSxFQUFFLFlBQVksRUFBRSxZQUFZLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBTTFGLE1BQU0sT0FBTyxxQkFBcUI7SUFHaEMsWUFBb0IsVUFBc0I7UUFBdEIsZUFBVSxHQUFWLFVBQVUsQ0FBWTtRQUZ6QixpQkFBWSxHQUFHLElBQUksWUFBWSxFQUFRLENBQUM7SUFFWCxDQUFDO0lBR3hDLE9BQU8sQ0FBQyxhQUEwQjtRQUN2QyxNQUFNLGFBQWEsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLGFBQWEsQ0FBQyxRQUFRLENBQUMsYUFBYSxDQUFDLENBQUM7UUFDNUUsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO1lBQ25CLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDM0IsQ0FBQztJQUNILENBQUM7K0dBWFUscUJBQXFCO21HQUFyQixxQkFBcUI7OzRGQUFyQixxQkFBcUI7a0JBSmpDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLG1CQUFtQjtvQkFDN0IsVUFBVSxFQUFFLElBQUk7aUJBQ2pCOytFQUVrQixZQUFZO3NCQUE1QixNQUFNO2dCQUtBLE9BQU87c0JBRGIsWUFBWTt1QkFBQyxnQkFBZ0IsRUFBRSxDQUFDLGVBQWUsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgRWxlbWVudFJlZiwgT3V0cHV0LCBFdmVudEVtaXR0ZXIsIEhvc3RMaXN0ZW5lciB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5cclxuQERpcmVjdGl2ZSh7XHJcbiAgc2VsZWN0b3I6ICdbbGliQ2xpY2tPdXRzaWRlXScsXHJcbiAgc3RhbmRhbG9uZTogdHJ1ZVxyXG59KVxyXG5leHBvcnQgY2xhc3MgQ2xpY2tPdXRzaWRlRGlyZWN0aXZlIHtcclxuICBAT3V0cHV0KCkgcHVibGljIGNsaWNrT3V0c2lkZSA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcclxuXHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBlbGVtZW50UmVmOiBFbGVtZW50UmVmKSB7IH1cclxuXHJcbiAgQEhvc3RMaXN0ZW5lcignZG9jdW1lbnQ6Y2xpY2snLCBbJyRldmVudC50YXJnZXQnXSlcclxuICBwdWJsaWMgb25DbGljayh0YXJnZXRFbGVtZW50OiBIVE1MRWxlbWVudCkge1xyXG4gICAgY29uc3QgY2xpY2tlZEluc2lkZSA9IHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LmNvbnRhaW5zKHRhcmdldEVsZW1lbnQpO1xyXG4gICAgaWYgKCFjbGlja2VkSW5zaWRlKSB7XHJcbiAgICAgIHRoaXMuY2xpY2tPdXRzaWRlLmVtaXQoKTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuIl19
29
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xpY2stb3V0c2lkZS5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtYmltcGx1cy1jb21wb25lbnRzL3NyYy9saWIvZGlyZWN0aXZlcy9jbGljay1vdXRzaWRlL2NsaWNrLW91dHNpZGUuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQWMsTUFBTSxFQUFFLFlBQVksRUFBRSxZQUFZLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBTTFGLE1BQU0sT0FBTyxxQkFBcUI7SUFHaEMsWUFBb0IsVUFBc0I7UUFBdEIsZUFBVSxHQUFWLFVBQVUsQ0FBWTtRQUZ6QixpQkFBWSxHQUFHLElBQUksWUFBWSxFQUFRLENBQUM7SUFFWCxDQUFDO0lBR3hDLE9BQU8sQ0FBQyxhQUEwQjtRQUN2QyxNQUFNLGFBQWEsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLGFBQWEsQ0FBQyxRQUFRLENBQUMsYUFBYSxDQUFDLENBQUM7UUFDNUUsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO1lBQ25CLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDM0IsQ0FBQztJQUNILENBQUM7K0dBWFUscUJBQXFCO21HQUFyQixxQkFBcUI7OzRGQUFyQixxQkFBcUI7a0JBSmpDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLG1CQUFtQjtvQkFDN0IsVUFBVSxFQUFFLElBQUk7aUJBQ2pCOytFQUVrQixZQUFZO3NCQUE1QixNQUFNO2dCQUtBLE9BQU87c0JBRGIsWUFBWTt1QkFBQyxnQkFBZ0IsRUFBRSxDQUFDLGVBQWUsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgRWxlbWVudFJlZiwgT3V0cHV0LCBFdmVudEVtaXR0ZXIsIEhvc3RMaXN0ZW5lciB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6ICdbbGliQ2xpY2tPdXRzaWRlXScsXG4gIHN0YW5kYWxvbmU6IHRydWVcbn0pXG5leHBvcnQgY2xhc3MgQ2xpY2tPdXRzaWRlRGlyZWN0aXZlIHtcbiAgQE91dHB1dCgpIHB1YmxpYyBjbGlja091dHNpZGUgPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBlbGVtZW50UmVmOiBFbGVtZW50UmVmKSB7IH1cblxuICBASG9zdExpc3RlbmVyKCdkb2N1bWVudDpjbGljaycsIFsnJGV2ZW50LnRhcmdldCddKVxuICBwdWJsaWMgb25DbGljayh0YXJnZXRFbGVtZW50OiBIVE1MRWxlbWVudCkge1xuICAgIGNvbnN0IGNsaWNrZWRJbnNpZGUgPSB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5jb250YWlucyh0YXJnZXRFbGVtZW50KTtcbiAgICBpZiAoIWNsaWNrZWRJbnNpZGUpIHtcbiAgICAgIHRoaXMuY2xpY2tPdXRzaWRlLmVtaXQoKTtcbiAgICB9XG4gIH1cbn1cbiJdfQ==
@@ -89,10 +89,10 @@ export class ComponentDraggableDirective {
89
89
  this.renderer.setStyle(this.el.nativeElement, 'cursor', 'grab');
90
90
  }
91
91
  }
92
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: ComponentDraggableDirective, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Directive }); }
93
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.12", type: ComponentDraggableDirective, isStandalone: true, selector: "[libDraggableComponent]", inputs: { libDraggableComponent: "libDraggableComponent" }, host: { listeners: { "mousedown": "onMouseDown($event)", "document:mouseup": "onMouseUp()", "document:mousemove": "onMouseMove($event)", "touchstart": "onTouchStart($event)", "document:touchmove": "onTouchMove($event)", "document:touchend": "onTouchEnd($event)" } }, ngImport: i0 }); }
92
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: ComponentDraggableDirective, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Directive }); }
93
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.11", type: ComponentDraggableDirective, isStandalone: true, selector: "[libDraggableComponent]", inputs: { libDraggableComponent: "libDraggableComponent" }, host: { listeners: { "mousedown": "onMouseDown($event)", "document:mouseup": "onMouseUp()", "document:mousemove": "onMouseMove($event)", "touchstart": "onTouchStart($event)", "document:touchmove": "onTouchMove($event)", "document:touchend": "onTouchEnd($event)" } }, ngImport: i0 }); }
94
94
  }
95
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: ComponentDraggableDirective, decorators: [{
95
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: ComponentDraggableDirective, decorators: [{
96
96
  type: Directive,
97
97
  args: [{
98
98
  selector: '[libDraggableComponent]',
@@ -49,10 +49,10 @@ export class DraggableDirective {
49
49
  fireEvent(this, "clicked", event);
50
50
  }
51
51
  }
52
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: DraggableDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
53
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.12", type: DraggableDirective, isStandalone: true, selector: "[libDraggable]", outputs: { dragging: "dragging", dragEnd: "dragEnd", clicked: "clicked" }, host: { listeners: { "document:mousemove": "onMouseMove($event)", "document:mouseup": "onMouseUp($event)", "mousedown": "onMouseDown($event)", "click": "onMouseClick($event)" } }, ngImport: i0 }); }
52
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: DraggableDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
53
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.11", type: DraggableDirective, isStandalone: true, selector: "[libDraggable]", outputs: { dragging: "dragging", dragEnd: "dragEnd", clicked: "clicked" }, host: { listeners: { "document:mousemove": "onMouseMove($event)", "document:mouseup": "onMouseUp($event)", "mousedown": "onMouseDown($event)", "click": "onMouseClick($event)" } }, ngImport: i0 }); }
54
54
  }
55
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: DraggableDirective, decorators: [{
55
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: DraggableDirective, decorators: [{
56
56
  type: Directive,
57
57
  args: [{
58
58
  selector: '[libDraggable]',
@@ -275,10 +275,10 @@ export class ResizableDirective {
275
275
  }
276
276
  this.actResizeStrategy = resizeStrategy;
277
277
  }
278
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: ResizableDirective, deps: [{ token: i0.ElementRef }, { token: i1.LayoutManagerService }, { token: i2.ResizeObserverService }], target: i0.ɵɵFactoryTarget.Directive }); }
279
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.12", type: ResizableDirective, isStandalone: true, selector: "[libResizable]", outputs: { resizedEnd: "resizedEnd" }, ngImport: i0 }); }
278
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: ResizableDirective, deps: [{ token: i0.ElementRef }, { token: i1.LayoutManagerService }, { token: i2.ResizeObserverService }], target: i0.ɵɵFactoryTarget.Directive }); }
279
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.11", type: ResizableDirective, isStandalone: true, selector: "[libResizable]", outputs: { resizedEnd: "resizedEnd" }, ngImport: i0 }); }
280
280
  }
281
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: ResizableDirective, decorators: [{
281
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: ResizableDirective, decorators: [{
282
282
  type: Directive,
283
283
  args: [{
284
284
  selector: '[libResizable]',
@@ -287,4 +287,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImpo
287
287
  }], ctorParameters: () => [{ type: i0.ElementRef }, { type: i1.LayoutManagerService }, { type: i2.ResizeObserverService }], propDecorators: { resizedEnd: [{
288
288
  type: Output
289
289
  }] } });
290
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVzaXphYmxlLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1iaW1wbHVzLWNvbXBvbmVudHMvc3JjL2xpYi9kaXJlY3RpdmVzL3Jlc2l6YWJsZS5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsNkZBQTZGO0FBQzdGLE9BQU8sRUFBRSxTQUFTLEVBQWUsTUFBTSxFQUFFLFlBQVksRUFBcUIsTUFBTSxlQUFlLENBQUM7QUFHaEcsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7O0FBZ0IzQyxNQUFNLE9BQU8sa0JBQWtCO0lBZ0M3QixZQUFvQixVQUFzQixFQUN0QixvQkFBMEMsRUFDMUMscUJBQTJDO1FBRjNDLGVBQVUsR0FBVixVQUFVLENBQVk7UUFDdEIseUJBQW9CLEdBQXBCLG9CQUFvQixDQUFzQjtRQUMxQywwQkFBcUIsR0FBckIscUJBQXFCLENBQXNCO1FBakMvRCx3QkFBbUIsR0FBRyxDQUFDLENBQUM7UUFDeEIsd0JBQW1CLEdBQUcsQ0FBQyxDQUFDO1FBQ3hCLHNCQUFpQixHQUFzQixFQUFFLENBQUM7UUFDMUMsa0JBQWEsR0FBUyxJQUFJLENBQUM7UUFDM0Isa0JBQWEsR0FBUyxLQUFLLENBQUM7UUFRNUIsc0JBQWlCLEdBQUssSUFBSSxDQUFDO1FBSTNCLGVBQVUsR0FBRyxJQUFJLFlBQVksRUFBYyxDQUFDO1FBRzVDLHlEQUF5RDtRQUN6RCxpQkFBWSxHQUFrQjtZQUM1QixFQUFFLFNBQVMsRUFBRyxZQUFZLEVBQUcsY0FBYyxFQUFHLElBQUksRUFBRTtZQUNwRCxFQUFFLFNBQVMsRUFBRyxXQUFXLEVBQUksY0FBYyxFQUFFLEdBQUcsRUFBSTtZQUNwRCxFQUFFLFNBQVMsRUFBRyxZQUFZLEVBQUcsY0FBYyxFQUFFLElBQUksRUFBRztZQUNwRCxFQUFFLFNBQVMsRUFBRyxXQUFXLEVBQUksY0FBYyxFQUFFLEdBQUcs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dGVuZXIsIE91dHB1dCwgRXZlbnRFbWl0dGVyIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IERpcmVjdGl2ZSwgRWxlbWVudFJlZiAsIE91dHB1dCwgRXZlbnRFbWl0dGVyICwgT25Jbml0LCBPbkRlc3Ryb3l9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBMYXlvdXRNYW5hZ2VyU2VydmljZSB9IGZyb20gJy4uL3NlcnZpY2VzL2xheW91dC1tYW5hZ2VyLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBSZXNpemVPYnNlcnZlclNlcnZpY2UgfSBmcm9tICcuLi9zZXJ2aWNlcy9yZXNpemUtb2JzZXJ2ZXIuc2VydmljZSc7XHJcbmltcG9ydCB7IGZpcmVFdmVudCB9IGZyb20gJy4uL3V0aWxzL3V0aWxzJztcclxuXHJcbmludGVyZmFjZSBSZXNpemVySXRlbSB7XHJcbiAgJ2NsYXNzTmFtZScgOiBzdHJpbmcgLFxyXG4gICdyZXNpemVTdHJhdGVneScgOiBzdHJpbmcgXHJcbn1cclxuXHJcbmludGVyZmFjZSBSZXNpemFibGVFbGVtZW50IGV4dGVuZHMgSFRNTEVsZW1lbnR7XHJcbiAgcmVzaXplU3RyYXRlZ3k/OiBzdHJpbmc7XHJcbn1cclxuXHJcbkBEaXJlY3RpdmUoe1xyXG4gIHNlbGVjdG9yOiAnW2xpYlJlc2l6YWJsZV0nLFxyXG4gIHN0YW5kYWxvbmU6IHRydWVcclxufSlcclxuXHJcbmV4cG9ydCBjbGFzcyBSZXNpemFibGVEaXJlY3RpdmUgIGltcGxlbWVudHMgT25EZXN0cm95LCBPbkluaXR7XHJcbiAgcmVzaXplQ29udGFjdFBvaW50WCA9IDA7XHJcbiAgcmVzaXplQ29udGFjdFBvaW50WSA9IDA7XHJcbiAgcmVzaXphYmxlRWxlbWVudHM6UmVzaXphYmxlRWxlbWVudFtdID0gW107XHJcbiAgcmVzaXplRW5hYmxlZCAgICAgICA9IHRydWU7XHJcbiAgcmVzaXplU3RhcnRlZCAgICAgICA9IGZhbHNlO1xyXG4gIHJlc2l6ZVN0YXJ0ICAgICA6IChldmVudDogTW91c2VFdmVudCB8IFRvdWNoRXZlbnQpID0+IHZvaWQ7XHJcbiAgcmVzaXplSW5Qcm9ncmVzczogKGV2ZW50OiBNb3VzZUV2ZW50IHwgVG91Y2hFdmVudCkgPT4gdm9pZDsgIFxyXG4gIGJvdW5kUmVzaXplU3RhcnQ6IChldmVudDogTW91c2VFdmVudCB8IFRvdWNoRXZlbnQpID0+IHZvaWQ7XHJcbiAgYm91bmRSZXNpemVJblByb2dyZXNzOiAoZXZlbnQ6IE1vdXNlRXZlbnQgfCBUb3VjaEV2ZW50KSA9PiB2b2lkO1xyXG4gIGJvdW5kUmVzaXplRW5kOiAoZXZlbnQ6IE1vdXNlRXZlbnQgfCBUb3VjaEV2ZW50KSA9PiB2b2lkO1xyXG4gICBcclxuICBfZWxlbWVudDpIVE1MRWxlbWVudDsgXHJcbiAgYWN0UmVzaXplU3RyYXRlZ3kgICA9IFwic2VcIjtcclxuICBcclxuXHJcbiAgQE91dHB1dCgpXHJcbiAgcmVzaXplZEVuZCA9IG5ldyBFdmVudEVtaXR0ZXI8TW91c2VFdmVudD4oKTtcclxuXHJcblxyXG4gIC8vIGxpc3Qgb2YgcmVzaXplcnMsIHJlc2l6ZXJzIGFyZSBzcGVjaWZpZWQgYnkgY2xhc3MgbmFtZVxyXG4gIHJlc2l6ZXJzTGlzdDpSZXNpemVySXRlbVtdID0gIFsgXHJcbiAgICB7IGNsYXNzTmFtZSA6IFwicmVzaXplci1ud1wiICwgcmVzaXplU3RyYXRlZ3kgOiBcIm53XCIgfSxcclxuICAgIHsgY2xhc3NOYW1lIDogXCJyZXNpemVyLW5cIiAgLCByZXNpemVTdHJhdGVneTogXCJuXCIgICB9LFxyXG4gICAgeyBjbGFzc05hbWUgOiBcInJlc2l6ZXItbmVcIiAsIHJlc2l6ZVN0cmF0ZWd5OiBcIm5lXCIgIH0sXHJcbiAgICB7IGNsYXNzTmFtZSA6IFwicmVzaXplci1lXCIgICwgcmVzaXplU3RyYXRlZ3k6IFwiZVwiICAgfSxcclxuICAgIHsgY2xhc3NOYW1lIDogXCJyZXNpemVyLXNlXCIgLCByZXNpemVTdHJhdGVneTogXCJzZVwiICB9LFxyXG4gICAgeyBjbGFzc05hbWUgOiBcInJlc2l6ZXItc1wiICAsIHJlc2l6ZVN0cmF0ZWd5OiBcInNcIiAgIH0sXHJcbiAgICB7IGNsYXNzTmFtZSA6IFwicmVzaXplci1zd1wiICwgcmVzaXplU3RyYXRlZ3k6IFwic3dcIiAgfSxcclxuICAgIHsgY2xhc3NOYW1lIDogXCJyZXNpemVyLXdcIiAgLCByZXNpemVTdHJhdGVneTogXCJ3XCIgICB9XHJcbiAgXTtcclxuICBcclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGVsZW1lbnRSZWY6IEVsZW1lbnRSZWYsXHJcbiAgICAgICAgICAgICAgcHJpdmF0ZSBsYXlvdXRNYW5hZ2VyU2VydmljZTogTGF5b3V0TWFuYWdlclNlcnZpY2UsXHJcbiAgICAgICAgICAgICAgcHJpdmF0ZSByZXNpemVPYnNlcnZlclNlcnZpY2U6UmVzaXplT2JzZXJ2ZXJTZXJ2aWNlKSB7ICAgICAgICAgICAgICBcclxuICAgIFxyXG4gICAgdGhpcy5fZWxlbWVudCA9IGVsZW1lbnRSZWYubmF0aXZlRWxlbWVudDtcclxuICAgIHRoaXMubGF5b3V0TWFuYWdlclNlcnZpY2UgPSBsYXlvdXRNYW5hZ2VyU2VydmljZTtcclxuICAgIFxyXG4gICAgdGhpcy5yZXNpemVTdGFydCA9ICAgKGV2ZW50Ok1vdXNlRXZlbnR8VG91Y2hFdmVudCkgPT4ge1xyXG4gICAgICAvL2dldCBtb3VzZS9maW5nZXIgWCBZIHBvc2l0aW9uc1xyXG4gICAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcclxuICAgICAgaWYodGhpcy5yZXNpemVTdGFydGVkKXtcclxuICAgICAgICByZXR1cm47XHJcbiAgICAgIH1cclxuICAgICAgdGhpcy5yZXNpemVTdGFydGVkID0gdHJ1ZTtcclxuICAgICAgY29uc3QgdG91Y2hMaXN0ID0gKGV2ZW50IGFzIFRvdWNoRXZlbnQpLnRhcmdldFRvdWNoZXM/IChldmVudCBhcyBUb3VjaEV2ZW50KS50YXJnZXRUb3VjaGVzOiBbXTtcclxuICAgICAgY29uc3QgY2xpZW50WCA9IGV2ZW50LnR5cGUgPT09ICd0b3VjaHN0YXJ0JyA/IHRvdWNoTGlzdFswXT8uY2xpZW50WCA6IChldmVudCBhcyBNb3VzZUV2ZW50KS5jbGllbnRYO1xyXG4gICAgICBjb25zdCBjbGllbnRZID0gZXZlbnQudHlwZSA9PT0gJ3RvdWNoc3RhcnQnID8gdG91Y2hMaXN0WzBdPy5jbGllbnRZIDogKGV2ZW50IGFzIE1vdXNlRXZlbnQpLmNsaWVudFk7XHJcbiAgICAgIHRoaXMucmVzaXplQ29udGFjdFBvaW50WCA9IGNsaWVudFg7XHJcbiAgICAgIHRoaXMucmVzaXplQ29udGFjdFBvaW50WSA9IGNsaWVudFk7XHJcbiAgICAgIHRoaXMub3BlbkRvY3VtZW50TGlzdGVuZXJzUmVzaXplKCk7ICAgICAgXHJcbiAgICAgIHRoaXMuc2V0dXBSZXNpemVTdHJhdGVneShldmVudCk7XHJcbiAgICB9XHJcbiAgICBcclxuICAgIC8qKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcbiAgICAgKiBjYWxjdWF0ZXMgYW5kIHNldHMgdGhlIG5ldyBwb3NpdGlvblxyXG4gICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xyXG4gICAgdGhpcy5yZXNpemVJblByb2dyZXNzID0gKGV2ZW50Ok1vdXNlRXZlbnR8VG91Y2hFdmVudCkgPT4ge1xyXG4gICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xyXG4gICAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcclxuXHJcbiAgICAgIC8vZ2V0IG1vdXNlL2ZpbmdlciBYIFkgcG9zaXRpb25zXHJcbiAgICAgIGNvbnN0IHRvdWNoTGlzdCA9IChldmVudCBhcyBUb3VjaEV2ZW50KS50YXJnZXRUb3VjaGVzID8gKGV2ZW50IGFzIFRvdWNoRXZlbnQpLnRhcmdldFRvdWNoZXM6IFtdO1xyXG4gICAgICBjb25zdCBjbGllbnRYID0gZXZlbnQudHlwZSA9PT0gJ3RvdWNobW92ZScgPyB0b3VjaExpc3RbMF0/LmNsaWVudFggOiAoZXZlbnQgYXMgTW91c2VFdmVudCkuY2xpZW50WDtcclxuICAgICAgY29uc3QgY2xpZW50WSA9IGV2ZW50LnR5cGUgPT09ICd0b3VjaG1vdmUnID8gdG91Y2hMaXN0WzBdPy5jbGllbnRZIDogKGV2ZW50IGFzIE1vdXNlRXZlbnQpLmNsaWVudFk7XHJcbiAgICAgIC8vY29uc3QgY2xpZW50WCA9ICAoZXZlbnQgYXMgTW91c2VFdmVudCkuY2xpZW50WDtcclxuICAgICAgLy9jb25zdCBjbGllbnRZID0gIChldmVudCBhcyBNb3VzZUV2ZW50KS5jbGllbnRZO1xyXG5cclxuICAgICAgY29uc3QgbW92ZWQgPSB0aGlzLnJlc2l6ZUZyb21Ubyh0aGlzLl9lbGVtZW50LHRoaXMucmVzaXplQ29udGFjdFBvaW50WCwgdGhpcy5yZXNpemVDb250YWN0UG9pbnRZLGNsaWVudFgsY2xpZW50WSwgdGhpcy5hY3RSZXNpemVTdHJhdGVneSk7XHJcbiAgICAgIGlmKG1vdmVkKSB7XHJcbiAgICAgICAgdGhpcy5yZXNpemVDb250YWN0UG9pbnRYID0gY2xpZW50WDtcclxuICAgICAgICB0aGlzLnJlc2l6ZUNvbnRhY3RQb2ludFkgPSBjbGllbnRZO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICB0aGlzLmJvdW5kUmVzaXplU3RhcnQgPSB0aGlzLnJlc2l6ZVN0YXJ0LmJpbmQodGhpcyk7XHJcbiAgICB0aGlzLmJvdW5kUmVzaXplSW5Qcm9ncmVzcyA9IHRoaXMucmVzaXplSW5Qcm9ncmVzcy5iaW5kKHRoaXMpO1xyXG4gICAgdGhpcy5ib3VuZFJlc2l6ZUVuZCA9IHRoaXMucmVzaXplRW5kLmJpbmQodGhpcyk7XHJcbiAgICB0aGlzLnJlc2l6ZUluUHJvZ3Jlc3MuYmluZCh0aGlzKTtcclxuICAgIHRoaXMuc2V0UmVzaXplcnModGhpcy5fZWxlbWVudCk7ICAgICAgICBcclxuICB9XHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICB0aGlzLmJvdW5kUmVzaXplU3RhcnQgPSB0aGlzLnJlc2l6ZVN0YXJ0LmJpbmQodGhpcyk7XHJcbiAgICB0aGlzLmJvdW5kUmVzaXplSW5Qcm9ncmVzcyA9IHRoaXMucmVzaXplSW5Qcm9ncmVzcy5iaW5kKHRoaXMpO1xyXG4gICAgdGhpcy5ib3VuZFJlc2l6ZUVuZCA9IHRoaXMucmVzaXplRW5kLmJpbmQodGhpcyk7XHJcbiAgfVxyXG5cclxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcclxuICAgIHRoaXMuY2xvc2VBbGxMaXN0ZW5lcnNSZXNpemUoKTsgICAgXHJcbiAgfVxyXG5cclxuICByZXNpemVFbmQoKXsgICBcclxuICAgIC8vdGhpcy5jbG9zZURvY3VtZW50TGlzdGVuZXJzUmVzaXplKCk7XHJcbiAgICBpZighdGhpcy5yZXNpemVTdGFydGVkKXtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfSAgICAgXHJcbiAgICB0aGlzLnJlc2l6ZVN0YXJ0ZWQgPSBmYWxzZTtcclxuICAgIHRoaXMuY2xvc2VBbGxMaXN0ZW5lcnNSZXNpemUoKTsgXHJcbiAgICB0aGlzLm9wZW5FbGVtZW50TGlzdGVuZXJzUmVzaXplKCk7XHJcbiAgICBmaXJlRXZlbnQodGhpcywgXCJyZXNpemVkRW5kXCIsIFsnJGV2ZW50J10pOyAgICBcclxuICB9XHJcbiAgXHJcblxyXG4gIF9nZXRWaWV3UmVjdCgpIHtcclxuICAgIGNvbnN0IHZpZXcgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnI2NvbnRhaW5lclZpZXcnKTsgIC8vIHdlIHNob3VsZCBnZXQgaGVyZSB0aGUgcGFyZW50IG9iamVjdCBzZWxlY3RvciBhcyBpbnB1dCBwYXJhbWV0ZXJcclxuICAgIGlmKHZpZXcpe1xyXG4gICAgICByZXR1cm4gdmlldy5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcclxuICAgIH1cclxuICAgIHJldHVybiBuZXcgRE9NUmVjdCgwLDAsMCwwKTtcclxuICB9XHJcblxyXG4vKiotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG4gICogZmluZCBpZiByZWN0YW5nbGUgMSBpcyBpbnNpZGUgcmVjdGFuZ2xlIDJcclxuICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXHJcbiAgaXNJbnNpZGVSZWN0KHJlY3QxOkRPTVJlY3QsIHJlY3QyOkRPTVJlY3QpIHtcclxuICAgIGlmKCFyZWN0MSB8fCAhcmVjdDIpIHtcclxuICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgfVxyXG4gICAgY29uc3QgcmVjdDFJbnNpZGU6Ym9vbGVhbiA9IHJlY3QyLmxlZnQgPD0gcmVjdDEubGVmdFxyXG4gICAgICAgICAgICAgICAgICAmJiByZWN0Mi50b3AgPD0gcmVjdDEudG9wIFxyXG4gICAgICAgICAgICAgICAgICAmJiByZWN0Mi5yaWdodCA+PSByZWN0MS5yaWdodCBcclxuICAgICAgICAgICAgICAgICAgJiYgcmVjdDIuYm90dG9tID49IHJlY3QxLmJvdHRvbTtcclxuXHJcbiAgICByZXR1cm4gcmVjdDFJbnNpZGU7XHJcbiAgfVxyXG4gICAgLyoqLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuICAqIHJlc2l6ZSByZWN0YW5nbGUgYnkgeCwgeVxyXG4gIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cclxuICBfcmVzaXplUmVjdGFuZ2xlKHJlY3Q6RE9NUmVjdCwgcmVzaXplWDpudW1iZXIsIHJlc2l6ZVk6bnVtYmVyLCByZXNpemVTdHJhdGVneTpzdHJpbmcpIHtcclxuICAgIGlmKCFyZWN0KSB7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuXHJcbiAgICBpZihbJ253JywndycsICdzdyddLmluY2x1ZGVzKHJlc2l6ZVN0cmF0ZWd5KSkge1xyXG4gICAgICByZWN0LnggKz0gcmVzaXplWDtcclxuICAgICAgcmVzaXplWCA9IHJlc2l6ZVggKiAtMTtcclxuICAgIH1cclxuXHJcbiAgICBpZihbJ253JywnbicsICduZSddLmluY2x1ZGVzKHJlc2l6ZVN0cmF0ZWd5KSkge1xyXG4gICAgICByZWN0LnkgKz0gcmVzaXplWTtcclxuICAgICAgcmVzaXplWSA9IHJlc2l6ZVkgKiAtMTtcclxuICAgIH1cclxuXHJcbiAgICBpZih0eXBlb2YocmVzaXplWCkgPT09ICdudW1iZXInICYmICFbJ24nLCdzJ10uaW5jbHVkZXMocmVzaXplU3RyYXRlZ3kpKSB7XHJcbiAgICAgIHJlY3Qud2lkdGggKz0gcmVzaXplWDtcclxuICAgIH1cclxuXHJcbiAgICBpZih0eXBlb2YocmVzaXplWSkgPT09ICdudW1iZXInICYmICFbJ3cnLCdlJ10uaW5jbHVkZXMocmVzaXplU3RyYXRlZ3kpKSB7XHJcbiAgICAgIHJlY3QuaGVpZ2h0ICs9IHJlc2l6ZVk7XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIHJlY3Q7XHJcbiAgfVxyXG5cclxuICBfbWF4SGVpZ2h0UmVzZXQob2JqOkhUTUxFbGVtZW50LCBlbGVtZW50UmVjdDpET01SZWN0KSB7ICAgIFxyXG4gICAgdGhpcy5yZXNpemVGcm9tVG8ob2JqLCBlbGVtZW50UmVjdC5yaWdodCwgZWxlbWVudFJlY3QuYm90dG9tLCBlbGVtZW50UmVjdC5sZWZ0LGVsZW1lbnRSZWN0LnRvcCwgXCJzZVwiKTtcclxuICB9XHJcblxyXG4gIC8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuICAqIHJlc2l6ZSBvYmplY3QgZnJvbSB7eCx5fSB0byB7eCx5fSBiYXNlZCBvbiByZXNpemUgc3RyYXRlZ3lcclxuICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXHJcbiAgcmVzaXplRnJvbVRvIChvYmo6SFRNTEVsZW1lbnQsIGZyb21YOm51bWJlciwgZnJvbVk6bnVtYmVyLCB0b1g6bnVtYmVyLHRvWTpudW1iZXIsIHJlc2l6ZVN0cmF0ZWd5OnN0cmluZyl7XHJcbiAgICBjb25zdCBwb3NYRGVsdGEgPSB0b1ggLSBmcm9tWDtcclxuICAgIGNvbnN0IHBvc1lEZWx0YSA9IHRvWSAtIGZyb21ZO1xyXG4gICAgY29uc3QgZWxlbWVudCA9IG9iaiA/PyB0aGlzLl9lbGVtZW50O1xyXG4gICAgY29uc3QgZWxlbWVudFJlY3QgPSBlbGVtZW50LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xyXG4gICAgLy9jb25zdCB2aWV3UmVjdCA9IHRoaXMuX2dldFZpZXdSZWN0KCk7XHJcbiAgICBjb25zdCB2aWV3UmVjdCA9IHRoaXMucmVzaXplT2JzZXJ2ZXJTZXJ2aWNlLmdldFBhcmVudEFwcFJlY3QoKTtcclxuICAgIFxyXG4gICAgbGV0IGNoZWNrQm91bmRhcmllcyA9IHRydWU7XHJcblxyXG4gICAgcmVzaXplU3RyYXRlZ3kgPSByZXNpemVTdHJhdGVneSB8fCBcInNlXCI7XHJcblxyXG4gICAgLy9pZiB0aGUgb2JqZWN0IGlzIG91dHNpZGUgdGhlIHZpZXcgcmVjdCBiZWNhdXNlIGl0J3MgYmlnZ2VyLCBkbyBub3QgY2hlY2sgYm91bmRhcmllcyxcclxuICAgIC8vYWxsb3cgbW92aW5nIG91dHNpZGUgdGhlIHZpZXcgcmVjdFxyXG4gICAgaWYodGhpcy5pc0luc2lkZVJlY3QoZWxlbWVudFJlY3QsIHZpZXdSZWN0KSA9PT0gZmFsc2UpIHtcclxuICAgICAgY2hlY2tCb3VuZGFyaWVzID0gZmFsc2U7IFxyXG4gICAgfVxyXG5cclxuICAgIHRoaXMuX3Jlc2l6ZVJlY3RhbmdsZShlbGVtZW50UmVjdCwgcG9zWERlbHRhLCBwb3NZRGVsdGEsIHJlc2l6ZVN0cmF0ZWd5KTtcclxuXHJcbiAgICBpZiAoY2hlY2tCb3VuZGFyaWVzICYmIHRoaXMuaXNJbnNpZGVSZWN0KGVsZW1lbnRSZWN0LCB2aWV3UmVjdCkgPT09IGZhbHNlKSB7XHJcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgfVxyXG4gICAgXHJcbiAgICBjb25zdCBjb21wdXRlZFN0eWxlID0gd2luZG93LmdldENvbXB1dGVkU3R5bGUoZWxlbWVudCk7XHJcbiAgICBsZXQgdG9wID0gcGFyc2VJbnQoY29tcHV0ZWRTdHlsZS50b3AsIDEwKTtcclxuICAgIGxldCBsZWZ0ID0gcGFyc2VJbnQoY29tcHV0ZWRTdHlsZS5sZWZ0LCAxMCk7XHJcbiAgICBsZXQgd2lkdGggPSBwYXJzZUludChjb21wdXRlZFN0eWxlLndpZHRoLCAxMCk7XHJcbiAgICBsZXQgaGVpZ2h0ID0gcGFyc2VJbnQoY29tcHV0ZWRTdHlsZS5oZWlnaHQsIDEwKTtcclxuICAgIFxyXG4gICAgaWYoWydudycsJ3cnLCAnc3cnXS5pbmNsdWRlcyhyZXNpemVTdHJhdGVneSkpIHtcclxuICAgICAgIGxlZnQgPSBsZWZ0ICsgcG9zWERlbHRhOyAgICAgIFxyXG4gICAgfVxyXG5cclxuICAgIGlmKFsnbncnLCduJywgJ25lJ10uaW5jbHVkZXMocmVzaXplU3RyYXRlZ3kpKSB7XHJcbiAgICAgIHRvcCA9IHRvcCAgKyAgcG9zWURlbHRhOyAgICAgIFxyXG4gICAgfVxyXG5cclxuICAgIGlmKCFbJ24nLCdzJ10uaW5jbHVkZXMocmVzaXplU3RyYXRlZ3kpKSB7XHJcbiAgICAgIHdpZHRoID0gZWxlbWVudFJlY3Qud2lkdGg7XHJcbiAgICB9XHJcbiAgICBcclxuICAgIGlmKCB2aWV3UmVjdC5oZWlnaHQgPCBlbGVtZW50UmVjdC5oZWlnaHQgKXtcclxuICAgICAgdGhpcy5fbWF4SGVpZ2h0UmVzZXQoZWxlbWVudCwgZWxlbWVudFJlY3QpO1xyXG4gICAgfVxyXG4gICAgZWxzZSBpZighWyd3JywnZSddLmluY2x1ZGVzKHJlc2l6ZVN0cmF0ZWd5KSkge1xyXG4gICAgICBoZWlnaHQgPSBlbGVtZW50UmVjdC5oZWlnaHQ7XHJcbiAgICB9XHJcblxyXG4gICAgXHJcbiAgICBlbGVtZW50LnN0eWxlLnRvcCAgICA9IHRvcCAgICsgJ3B4JztcclxuICAgIGVsZW1lbnQuc3R5bGUubGVmdCAgID0gbGVmdCAgKyAncHgnO1xyXG4gICAgZWxlbWVudC5zdHlsZS53aWR0aCAgPSB3aWR0aCArICdweCc7XHJcbiAgICBlbGVtZW50LnN0eWxlLmhlaWdodCAgPSBoZWlnaHQgKyAncHgnO1xyXG5cclxuICAgIHJldHVybiB0cnVlO1xyXG4gIH1cclxuLyoqLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuICAgKiByZXNpemUgc3RhcnQgYXQgdGhlIGxheW91dCBtYW5hZ2FlclxyXG4gICAqIG9wZW4gZG9jdW1lbnQgbGlzdGVuZXJzXHJcbiAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xyXG4gIFxyXG4gICAgLyoqLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuICAgKiBzZXQgdGhlIGVsZW1lbnRzIHVzZWQgZm9yIHJlc2l6aW5nXHJcbiAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xyXG4gIHNldFJlc2l6ZXJzKGVsZW1lbnQ6SFRNTEVsZW1lbnQpIHtcclxuICAgIGNvbnN0IHNldFJlc2l6YWJsZUVsZW1lbnRzID0gKCkgPT4ge1xyXG4gICAgICBsZXQgcmVzaXphYmxlRWxlbWVudHM6UmVzaXphYmxlRWxlbWVudFtdID0gW107XHJcbiAgICAgIC8vIGdldCBkb20gZWxlbWVudHMgb2YgYWxsIHJlc2l6ZXJzXHJcbiAgICAgIHRoaXMucmVzaXplcnNMaXN0LmZvckVhY2goIGl0ZW0gPT4ge1xyXG4gICAgICAgIGNvbnN0IHJlc2l6ZUVsZW1zID0gIGVsZW1lbnQuZ2V0RWxlbWVudHNCeUNsYXNzTmFtZShpdGVtLmNsYXNzTmFtZSk7XHJcbiAgICAgICAgaWYoIHJlc2l6ZUVsZW1zPy5sZW5ndGggKSB7XHJcbiAgICAgICAgICAvLyBzZXQgcmVzaXplIHN0cmF0ZWd5IGluIGVhY2ggZWxlbWVudCBzbyB3ZSBrbm93IGluIHdoaWNoIGRpcmVjdGlvbiB0byByZXNpemVcclxuICAgICAgICAgIGNvbnN0IGRlY29yYXRlZFJlc2l6ZUVsZW1zOiBSZXNpemFibGVFbGVtZW50W10gPSBBcnJheS5mcm9tKHJlc2l6ZUVsZW1zKS5tYXAoIGVsZW0gPT4ge1xyXG4gICAgICAgICAgICBjb25zdCByZXNpemFibGVFbGVtID0gZWxlbSBhcyBSZXNpemFibGVFbGVtZW50O1xyXG4gICAgICAgICAgICByZXNpemFibGVFbGVtLnJlc2l6ZVN0cmF0ZWd5ID0gaXRlbS5yZXNpemVTdHJhdGVneTtcclxuICAgICAgICAgICAgcmV0dXJuIHJlc2l6YWJsZUVsZW07XHJcbiAgICAgICAgICB9KTtcclxuXHJcbiAgICAgICAgICAvLyBhZGQgaXQgdG8gbGlzdCBvZiBhbGwgcmVzaXplcnNcclxuICAgICAgICAgIHJlc2l6YWJsZUVsZW1lbnRzID0gWy4uLnJlc2l6YWJsZUVsZW1lbnRzLCAuLi5kZWNvcmF0ZWRSZXNpemVFbGVtc107XHJcbiAgICAgICAgfVxyXG4gICAgICB9KTtcclxuXHJcbiAgICAgIHRoaXMucmVzaXphYmxlRWxlbWVudHMgPSAgWy4uLnJlc2l6YWJsZUVsZW1lbnRzXTtcclxuICAgICAgdGhpcy5vcGVuRWxlbWVudExpc3RlbmVyc1Jlc2l6ZSgpO1xyXG4gICAgfVxyXG4gICAgc2V0VGltZW91dCgoKT0+e1xyXG4gICAgICBzZXRSZXNpemFibGVFbGVtZW50cygpO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICAvKiotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG4gICogb3BlbiBtb3VzZWRvd24sIHRvdWNoc3RhcnQgbGlzdGVuZXJzIG9uIGFsbCBlbGVtZW50cyBhbGxvd2VkIGZvciByZXNpemluZ1xyXG4gIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cclxuICBvcGVuRWxlbWVudExpc3RlbmVyc1Jlc2l6ZSgpIHtcclxuICAgIHRoaXMucmVzaXphYmxlRWxlbWVudHMuZm9yRWFjaChlbGVtZW50ID0+IHtcclxuICAgICAgZWxlbWVudC5hZGRFdmVudExpc3RlbmVyKCdtb3VzZWRvd24nLCB0aGlzLmJvdW5kUmVzaXplU3RhcnQpO1xyXG4gICAgICBlbGVtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ3RvdWNoc3RhcnQnLCB0aGlzLmJvdW5kUmVzaXplU3RhcnQpO1xyXG4gICAgfSk7XHJcbiAgfVxyXG4gLyoqLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuICAgKiBvcGVuIG1vdXNldXAsIHRvdWNoZW5kIGFuZCBtb3VzZW1vdmUsIHRvdWNobW92ZSBvbiBkb2N1bWVudFxyXG4gIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cclxuICBvcGVuRG9jdW1lbnRMaXN0ZW5lcnNSZXNpemUoKSB7XHJcbiAgICBkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCdtb3VzZXVwJywgdGhpcy5ib3VuZFJlc2l6ZUVuZCk7XHJcbiAgICBkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCd0b3VjaGVuZCcsIHRoaXMuYm91bmRSZXNpemVFbmQpO1xyXG4gICAgZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcignbW91c2Vtb3ZlJywgdGhpcy5ib3VuZFJlc2l6ZUluUHJvZ3Jlc3MpO1xyXG4gICAgZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigndG91Y2htb3ZlJywgdGhpcy5ib3VuZFJlc2l6ZUluUHJvZ3Jlc3MpOyAgICBcclxuICB9XHJcbiBcclxuICAvKiotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG4gICogY2xvc2UgbW91c2V1cCwgdG91Y2hlbmQgYW5kIG1vdXNlbW92ZSwgdG91Y2htb3ZlIG9uIGRvY3VtZW50XHJcbiAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xyXG4gIGNsb3NlRG9jdW1lbnRMaXN0ZW5lcnNSZXNpemUoKSB7XHJcbiAgICBkb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCdtb3VzZW1vdmUnLCB0aGlzLmJvdW5kUmVzaXplSW5Qcm9ncmVzcyk7XHJcbiAgICBkb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCd0b3VjaG1vdmUnLCB0aGlzLmJvdW5kUmVzaXplSW5Qcm9ncmVzcyk7XHJcbiAgICBkb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCdtb3VzZXVwJywgdGhpcy5ib3VuZFJlc2l6ZUVuZCk7XHJcbiAgICBkb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCd0b3VjaGVuZCcsIHRoaXMuYm91bmRSZXNpemVFbmQpO1xyXG4gIH1cclxuXHJcbi8qKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcbiAgKiBjbG9zZSBtb3VzZWRvd24sIHRvdWNoc3RhcnQgbGlzdGVuZXJzIG9uIGFsbCBlbGVtZW50cyBhbGxvd2VkIGZvciByZXNpemluZ1xyXG4gIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cclxuICBjbG9zZUVsZW1lbnRMaXN0ZW5lcnNSZXNpemUoKSB7XHJcbiAgICB0aGlzLnJlc2l6YWJsZUVsZW1lbnRzLmZvckVhY2goZWxlbWVudCA9PiB7XHJcbiAgICAgIGVsZW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcignbW91c2Vkb3duJywgdGhpcy5ib3VuZFJlc2l6ZVN0YXJ0KTtcclxuICAgICAgZWxlbWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCd0b3VjaHN0YXJ0JywgdGhpcy5ib3VuZFJlc2l6ZVN0YXJ0KTtcclxuICAgICAgZWxlbWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCdtb3VzZW1vdmUnLCB0aGlzLmJvdW5kUmVzaXplSW5Qcm9ncmVzcyk7XHJcbiAgICAgIGVsZW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcigndG91Y2htb3ZlJywgdGhpcy5ib3VuZFJlc2l6ZUluUHJvZ3Jlc3MpOyAgICAgIFxyXG4gICAgICBlbGVtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ21vdXNldXAnLCB0aGlzLmJvdW5kUmVzaXplRW5kKTtcclxuICAgICAgZWxlbWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCd0b3VjaGVuZCcsIHRoaXMuYm91bmRSZXNpemVFbmQpO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICAvKiotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG4gICogY2xvc2UgYWxsIGxpc3RlbmVyc1xyXG4gIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cclxuICBjbG9zZUFsbExpc3RlbmVyc1Jlc2l6ZSgpIHtcclxuICAgIHRoaXMuY2xvc2VFbGVtZW50TGlzdGVuZXJzUmVzaXplKCk7XHJcbiAgICB0aGlzLmNsb3NlRG9jdW1lbnRMaXN0ZW5lcnNSZXNpemUoKTtcclxuICB9XHJcblxyXG4gLyoqLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuICAgKiBzZXR1cCBhY3R1YWwgcmVzaXplIHN0cmF0ZWd5XHJcbiAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xyXG4gIHNldHVwUmVzaXplU3RyYXRlZ3koZXZlbnQ6IE1vdXNlRXZlbnQgfCBUb3VjaEV2ZW50KSB7XHJcbiAgICBpZiggIWV2ZW50ICkge1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcblxyXG4gICAgLy8gZmluZCBvbiB3aGljaCBlbGVtZW50IHJlc2l6ZSBzdGFydGVkIHNvIHdlIGtub3cgaW4gd2hpY2ggZGlyZWN0aW9uIHRvIHJlc2l6ZVxyXG4gICAgbGV0IHJlc2l6ZVN0cmF0ZWd5OnN0cmluZyA9IFwic2VcIjtcclxuICAgIGNvbnN0ICByZXNpemVTb3VyY2VFbGVtID0gZXZlbnQ/LnRhcmdldDtcclxuXHJcbiAgICBpZiggcmVzaXplU291cmNlRWxlbSApIHtcclxuICAgICAgY29uc3QgIGZvdW5kRWxlbSA9IHRoaXMucmVzaXphYmxlRWxlbWVudHMuZmluZCggaXRlbSA9PiBpdGVtID09PSByZXNpemVTb3VyY2VFbGVtICk7XHJcbiAgICAgIGlmIChmb3VuZEVsZW0/LnJlc2l6ZVN0cmF0ZWd5KSB7XHJcbiAgICAgICAgcmVzaXplU3RyYXRlZ3kgPSBmb3VuZEVsZW0/LnJlc2l6ZVN0cmF0ZWd5O1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy5hY3RSZXNpemVTdHJhdGVneSA9ICByZXNpemVTdHJhdGVneTtcclxuICB9XHJcbn1cclxuIl19
290
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVzaXphYmxlLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1iaW1wbHVzLWNvbXBvbmVudHMvc3JjL2xpYi9kaXJlY3RpdmVzL3Jlc2l6YWJsZS5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsNkZBQTZGO0FBQzdGLE9BQU8sRUFBRSxTQUFTLEVBQWUsTUFBTSxFQUFFLFlBQVksRUFBcUIsTUFBTSxlQUFlLENBQUM7QUFHaEcsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7O0FBZ0IzQyxNQUFNLE9BQU8sa0JBQWtCO0lBZ0M3QixZQUFvQixVQUFzQixFQUN0QixvQkFBMEMsRUFDMUMscUJBQTJDO1FBRjNDLGVBQVUsR0FBVixVQUFVLENBQVk7UUFDdEIseUJBQW9CLEdBQXBCLG9CQUFvQixDQUFzQjtRQUMxQywwQkFBcUIsR0FBckIscUJBQXFCLENBQXNCO1FBakMvRCx3QkFBbUIsR0FBRyxDQUFDLENBQUM7UUFDeEIsd0JBQW1CLEdBQUcsQ0FBQyxDQUFDO1FBQ3hCLHNCQUFpQixHQUFzQixFQUFFLENBQUM7UUFDMUMsa0JBQWEsR0FBUyxJQUFJLENBQUM7UUFDM0Isa0JBQWEsR0FBUyxLQUFLLENBQUM7UUFRNUIsc0JBQWlCLEdBQUssSUFBSSxDQUFDO1FBSTNCLGVBQVUsR0FBRyxJQUFJLFlBQVksRUFBYyxDQUFDO1FBRzVDLHlEQUF5RDtRQUN6RCxpQkFBWSxHQUFrQjtZQUM1QixFQUFFLFNBQVMsRUFBRyxZQUFZLEVBQUcsY0FBYyxFQUFHLElBQUksRUFBRTtZQUNwRCxFQUFFLFNBQVMsRUFBRyxXQUFXLEVBQUksY0FBYyxFQUFFLEdBQUcsRUFBSTtZQUNwRCxFQUFFLFNBQVMsRUFBRyxZQUFZLEVBQUcsY0FBYyxFQUFFLElBQUksRUFBRztZQUNwRCxFQUFFLFNBQVMsRUFBRyxXQUFXLEVBQUksY0FBYyxFQUFFLEdBQUcs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dGVuZXIsIE91dHB1dCwgRXZlbnRFbWl0dGVyIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBEaXJlY3RpdmUsIEVsZW1lbnRSZWYgLCBPdXRwdXQsIEV2ZW50RW1pdHRlciAsIE9uSW5pdCwgT25EZXN0cm95fSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IExheW91dE1hbmFnZXJTZXJ2aWNlIH0gZnJvbSAnLi4vc2VydmljZXMvbGF5b3V0LW1hbmFnZXIuc2VydmljZSc7XG5pbXBvcnQgeyBSZXNpemVPYnNlcnZlclNlcnZpY2UgfSBmcm9tICcuLi9zZXJ2aWNlcy9yZXNpemUtb2JzZXJ2ZXIuc2VydmljZSc7XG5pbXBvcnQgeyBmaXJlRXZlbnQgfSBmcm9tICcuLi91dGlscy91dGlscyc7XG5cbmludGVyZmFjZSBSZXNpemVySXRlbSB7XG4gICdjbGFzc05hbWUnIDogc3RyaW5nICxcbiAgJ3Jlc2l6ZVN0cmF0ZWd5JyA6IHN0cmluZyBcbn1cblxuaW50ZXJmYWNlIFJlc2l6YWJsZUVsZW1lbnQgZXh0ZW5kcyBIVE1MRWxlbWVudHtcbiAgcmVzaXplU3RyYXRlZ3k/OiBzdHJpbmc7XG59XG5cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogJ1tsaWJSZXNpemFibGVdJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZVxufSlcblxuZXhwb3J0IGNsYXNzIFJlc2l6YWJsZURpcmVjdGl2ZSAgaW1wbGVtZW50cyBPbkRlc3Ryb3ksIE9uSW5pdHtcbiAgcmVzaXplQ29udGFjdFBvaW50WCA9IDA7XG4gIHJlc2l6ZUNvbnRhY3RQb2ludFkgPSAwO1xuICByZXNpemFibGVFbGVtZW50czpSZXNpemFibGVFbGVtZW50W10gPSBbXTtcbiAgcmVzaXplRW5hYmxlZCAgICAgICA9IHRydWU7XG4gIHJlc2l6ZVN0YXJ0ZWQgICAgICAgPSBmYWxzZTtcbiAgcmVzaXplU3RhcnQgICAgIDogKGV2ZW50OiBNb3VzZUV2ZW50IHwgVG91Y2hFdmVudCkgPT4gdm9pZDtcbiAgcmVzaXplSW5Qcm9ncmVzczogKGV2ZW50OiBNb3VzZUV2ZW50IHwgVG91Y2hFdmVudCkgPT4gdm9pZDsgIFxuICBib3VuZFJlc2l6ZVN0YXJ0OiAoZXZlbnQ6IE1vdXNlRXZlbnQgfCBUb3VjaEV2ZW50KSA9PiB2b2lkO1xuICBib3VuZFJlc2l6ZUluUHJvZ3Jlc3M6IChldmVudDogTW91c2VFdmVudCB8IFRvdWNoRXZlbnQpID0+IHZvaWQ7XG4gIGJvdW5kUmVzaXplRW5kOiAoZXZlbnQ6IE1vdXNlRXZlbnQgfCBUb3VjaEV2ZW50KSA9PiB2b2lkO1xuICAgXG4gIF9lbGVtZW50OkhUTUxFbGVtZW50OyBcbiAgYWN0UmVzaXplU3RyYXRlZ3kgICA9IFwic2VcIjtcbiAgXG5cbiAgQE91dHB1dCgpXG4gIHJlc2l6ZWRFbmQgPSBuZXcgRXZlbnRFbWl0dGVyPE1vdXNlRXZlbnQ+KCk7XG5cblxuICAvLyBsaXN0IG9mIHJlc2l6ZXJzLCByZXNpemVycyBhcmUgc3BlY2lmaWVkIGJ5IGNsYXNzIG5hbWVcbiAgcmVzaXplcnNMaXN0OlJlc2l6ZXJJdGVtW10gPSAgWyBcbiAgICB7IGNsYXNzTmFtZSA6IFwicmVzaXplci1ud1wiICwgcmVzaXplU3RyYXRlZ3kgOiBcIm53XCIgfSxcbiAgICB7IGNsYXNzTmFtZSA6IFwicmVzaXplci1uXCIgICwgcmVzaXplU3RyYXRlZ3k6IFwiblwiICAgfSxcbiAgICB7IGNsYXNzTmFtZSA6IFwicmVzaXplci1uZVwiICwgcmVzaXplU3RyYXRlZ3k6IFwibmVcIiAgfSxcbiAgICB7IGNsYXNzTmFtZSA6IFwicmVzaXplci1lXCIgICwgcmVzaXplU3RyYXRlZ3k6IFwiZVwiICAgfSxcbiAgICB7IGNsYXNzTmFtZSA6IFwicmVzaXplci1zZVwiICwgcmVzaXplU3RyYXRlZ3k6IFwic2VcIiAgfSxcbiAgICB7IGNsYXNzTmFtZSA6IFwicmVzaXplci1zXCIgICwgcmVzaXplU3RyYXRlZ3k6IFwic1wiICAgfSxcbiAgICB7IGNsYXNzTmFtZSA6IFwicmVzaXplci1zd1wiICwgcmVzaXplU3RyYXRlZ3k6IFwic3dcIiAgfSxcbiAgICB7IGNsYXNzTmFtZSA6IFwicmVzaXplci13XCIgICwgcmVzaXplU3RyYXRlZ3k6IFwid1wiICAgfVxuICBdO1xuICBcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBlbGVtZW50UmVmOiBFbGVtZW50UmVmLFxuICAgICAgICAgICAgICBwcml2YXRlIGxheW91dE1hbmFnZXJTZXJ2aWNlOiBMYXlvdXRNYW5hZ2VyU2VydmljZSxcbiAgICAgICAgICAgICAgcHJpdmF0ZSByZXNpemVPYnNlcnZlclNlcnZpY2U6UmVzaXplT2JzZXJ2ZXJTZXJ2aWNlKSB7ICAgICAgICAgICAgICBcbiAgICBcbiAgICB0aGlzLl9lbGVtZW50ID0gZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50O1xuICAgIHRoaXMubGF5b3V0TWFuYWdlclNlcnZpY2UgPSBsYXlvdXRNYW5hZ2VyU2VydmljZTtcbiAgICBcbiAgICB0aGlzLnJlc2l6ZVN0YXJ0ID0gICAoZXZlbnQ6TW91c2VFdmVudHxUb3VjaEV2ZW50KSA9PiB7XG4gICAgICAvL2dldCBtb3VzZS9maW5nZXIgWCBZIHBvc2l0aW9uc1xuICAgICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgICBpZih0aGlzLnJlc2l6ZVN0YXJ0ZWQpe1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG4gICAgICB0aGlzLnJlc2l6ZVN0YXJ0ZWQgPSB0cnVlO1xuICAgICAgY29uc3QgdG91Y2hMaXN0ID0gKGV2ZW50IGFzIFRvdWNoRXZlbnQpLnRhcmdldFRvdWNoZXM/IChldmVudCBhcyBUb3VjaEV2ZW50KS50YXJnZXRUb3VjaGVzOiBbXTtcbiAgICAgIGNvbnN0IGNsaWVudFggPSBldmVudC50eXBlID09PSAndG91Y2hzdGFydCcgPyB0b3VjaExpc3RbMF0/LmNsaWVudFggOiAoZXZlbnQgYXMgTW91c2VFdmVudCkuY2xpZW50WDtcbiAgICAgIGNvbnN0IGNsaWVudFkgPSBldmVudC50eXBlID09PSAndG91Y2hzdGFydCcgPyB0b3VjaExpc3RbMF0/LmNsaWVudFkgOiAoZXZlbnQgYXMgTW91c2VFdmVudCkuY2xpZW50WTtcbiAgICAgIHRoaXMucmVzaXplQ29udGFjdFBvaW50WCA9IGNsaWVudFg7XG4gICAgICB0aGlzLnJlc2l6ZUNvbnRhY3RQb2ludFkgPSBjbGllbnRZO1xuICAgICAgdGhpcy5vcGVuRG9jdW1lbnRMaXN0ZW5lcnNSZXNpemUoKTsgICAgICBcbiAgICAgIHRoaXMuc2V0dXBSZXNpemVTdHJhdGVneShldmVudCk7XG4gICAgfVxuICAgIFxuICAgIC8qKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICogY2FsY3VhdGVzIGFuZCBzZXRzIHRoZSBuZXcgcG9zaXRpb25cbiAgICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4gICAgdGhpcy5yZXNpemVJblByb2dyZXNzID0gKGV2ZW50Ok1vdXNlRXZlbnR8VG91Y2hFdmVudCkgPT4ge1xuICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuXG4gICAgICAvL2dldCBtb3VzZS9maW5nZXIgWCBZIHBvc2l0aW9uc1xuICAgICAgY29uc3QgdG91Y2hMaXN0ID0gKGV2ZW50IGFzIFRvdWNoRXZlbnQpLnRhcmdldFRvdWNoZXMgPyAoZXZlbnQgYXMgVG91Y2hFdmVudCkudGFyZ2V0VG91Y2hlczogW107XG4gICAgICBjb25zdCBjbGllbnRYID0gZXZlbnQudHlwZSA9PT0gJ3RvdWNobW92ZScgPyB0b3VjaExpc3RbMF0/LmNsaWVudFggOiAoZXZlbnQgYXMgTW91c2VFdmVudCkuY2xpZW50WDtcbiAgICAgIGNvbnN0IGNsaWVudFkgPSBldmVudC50eXBlID09PSAndG91Y2htb3ZlJyA/IHRvdWNoTGlzdFswXT8uY2xpZW50WSA6IChldmVudCBhcyBNb3VzZUV2ZW50KS5jbGllbnRZO1xuICAgICAgLy9jb25zdCBjbGllbnRYID0gIChldmVudCBhcyBNb3VzZUV2ZW50KS5jbGllbnRYO1xuICAgICAgLy9jb25zdCBjbGllbnRZID0gIChldmVudCBhcyBNb3VzZUV2ZW50KS5jbGllbnRZO1xuXG4gICAgICBjb25zdCBtb3ZlZCA9IHRoaXMucmVzaXplRnJvbVRvKHRoaXMuX2VsZW1lbnQsdGhpcy5yZXNpemVDb250YWN0UG9pbnRYLCB0aGlzLnJlc2l6ZUNvbnRhY3RQb2ludFksY2xpZW50WCxjbGllbnRZLCB0aGlzLmFjdFJlc2l6ZVN0cmF0ZWd5KTtcbiAgICAgIGlmKG1vdmVkKSB7XG4gICAgICAgIHRoaXMucmVzaXplQ29udGFjdFBvaW50WCA9IGNsaWVudFg7XG4gICAgICAgIHRoaXMucmVzaXplQ29udGFjdFBvaW50WSA9IGNsaWVudFk7XG4gICAgICB9XG4gICAgfVxuICAgIHRoaXMuYm91bmRSZXNpemVTdGFydCA9IHRoaXMucmVzaXplU3RhcnQuYmluZCh0aGlzKTtcbiAgICB0aGlzLmJvdW5kUmVzaXplSW5Qcm9ncmVzcyA9IHRoaXMucmVzaXplSW5Qcm9ncmVzcy5iaW5kKHRoaXMpO1xuICAgIHRoaXMuYm91bmRSZXNpemVFbmQgPSB0aGlzLnJlc2l6ZUVuZC5iaW5kKHRoaXMpO1xuICAgIHRoaXMucmVzaXplSW5Qcm9ncmVzcy5iaW5kKHRoaXMpO1xuICAgIHRoaXMuc2V0UmVzaXplcnModGhpcy5fZWxlbWVudCk7ICAgICAgICBcbiAgfVxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLmJvdW5kUmVzaXplU3RhcnQgPSB0aGlzLnJlc2l6ZVN0YXJ0LmJpbmQodGhpcyk7XG4gICAgdGhpcy5ib3VuZFJlc2l6ZUluUHJvZ3Jlc3MgPSB0aGlzLnJlc2l6ZUluUHJvZ3Jlc3MuYmluZCh0aGlzKTtcbiAgICB0aGlzLmJvdW5kUmVzaXplRW5kID0gdGhpcy5yZXNpemVFbmQuYmluZCh0aGlzKTtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuY2xvc2VBbGxMaXN0ZW5lcnNSZXNpemUoKTsgICAgXG4gIH1cblxuICByZXNpemVFbmQoKXsgICBcbiAgICAvL3RoaXMuY2xvc2VEb2N1bWVudExpc3RlbmVyc1Jlc2l6ZSgpO1xuICAgIGlmKCF0aGlzLnJlc2l6ZVN0YXJ0ZWQpe1xuICAgICAgcmV0dXJuO1xuICAgIH0gICAgIFxuICAgIHRoaXMucmVzaXplU3RhcnRlZCA9IGZhbHNlO1xuICAgIHRoaXMuY2xvc2VBbGxMaXN0ZW5lcnNSZXNpemUoKTsgXG4gICAgdGhpcy5vcGVuRWxlbWVudExpc3RlbmVyc1Jlc2l6ZSgpO1xuICAgIGZpcmVFdmVudCh0aGlzLCBcInJlc2l6ZWRFbmRcIiwgWyckZXZlbnQnXSk7ICAgIFxuICB9XG4gIFxuXG4gIF9nZXRWaWV3UmVjdCgpIHtcbiAgICBjb25zdCB2aWV3ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJyNjb250YWluZXJWaWV3Jyk7ICAvLyB3ZSBzaG91bGQgZ2V0IGhlcmUgdGhlIHBhcmVudCBvYmplY3Qgc2VsZWN0b3IgYXMgaW5wdXQgcGFyYW1ldGVyXG4gICAgaWYodmlldyl7XG4gICAgICByZXR1cm4gdmlldy5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcbiAgICB9XG4gICAgcmV0dXJuIG5ldyBET01SZWN0KDAsMCwwLDApO1xuICB9XG5cbi8qKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICogZmluZCBpZiByZWN0YW5nbGUgMSBpcyBpbnNpZGUgcmVjdGFuZ2xlIDJcbiAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuICBpc0luc2lkZVJlY3QocmVjdDE6RE9NUmVjdCwgcmVjdDI6RE9NUmVjdCkge1xuICAgIGlmKCFyZWN0MSB8fCAhcmVjdDIpIHtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gICAgY29uc3QgcmVjdDFJbnNpZGU6Ym9vbGVhbiA9IHJlY3QyLmxlZnQgPD0gcmVjdDEubGVmdFxuICAgICAgICAgICAgICAgICAgJiYgcmVjdDIudG9wIDw9IHJlY3QxLnRvcCBcbiAgICAgICAgICAgICAgICAgICYmIHJlY3QyLnJpZ2h0ID49IHJlY3QxLnJpZ2h0IFxuICAgICAgICAgICAgICAgICAgJiYgcmVjdDIuYm90dG9tID49IHJlY3QxLmJvdHRvbTtcblxuICAgIHJldHVybiByZWN0MUluc2lkZTtcbiAgfVxuICAgIC8qKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICogcmVzaXplIHJlY3RhbmdsZSBieSB4LCB5XG4gIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbiAgX3Jlc2l6ZVJlY3RhbmdsZShyZWN0OkRPTVJlY3QsIHJlc2l6ZVg6bnVtYmVyLCByZXNpemVZOm51bWJlciwgcmVzaXplU3RyYXRlZ3k6c3RyaW5nKSB7XG4gICAgaWYoIXJlY3QpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBpZihbJ253JywndycsICdzdyddLmluY2x1ZGVzKHJlc2l6ZVN0cmF0ZWd5KSkge1xuICAgICAgcmVjdC54ICs9IHJlc2l6ZVg7XG4gICAgICByZXNpemVYID0gcmVzaXplWCAqIC0xO1xuICAgIH1cblxuICAgIGlmKFsnbncnLCduJywgJ25lJ10uaW5jbHVkZXMocmVzaXplU3RyYXRlZ3kpKSB7XG4gICAgICByZWN0LnkgKz0gcmVzaXplWTtcbiAgICAgIHJlc2l6ZVkgPSByZXNpemVZICogLTE7XG4gICAgfVxuXG4gICAgaWYodHlwZW9mKHJlc2l6ZVgpID09PSAnbnVtYmVyJyAmJiAhWyduJywncyddLmluY2x1ZGVzKHJlc2l6ZVN0cmF0ZWd5KSkge1xuICAgICAgcmVjdC53aWR0aCArPSByZXNpemVYO1xuICAgIH1cblxuICAgIGlmKHR5cGVvZihyZXNpemVZKSA9PT0gJ251bWJlcicgJiYgIVsndycsJ2UnXS5pbmNsdWRlcyhyZXNpemVTdHJhdGVneSkpIHtcbiAgICAgIHJlY3QuaGVpZ2h0ICs9IHJlc2l6ZVk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHJlY3Q7XG4gIH1cblxuICBfbWF4SGVpZ2h0UmVzZXQob2JqOkhUTUxFbGVtZW50LCBlbGVtZW50UmVjdDpET01SZWN0KSB7ICAgIFxuICAgIHRoaXMucmVzaXplRnJvbVRvKG9iaiwgZWxlbWVudFJlY3QucmlnaHQsIGVsZW1lbnRSZWN0LmJvdHRvbSwgZWxlbWVudFJlY3QubGVmdCxlbGVtZW50UmVjdC50b3AsIFwic2VcIik7XG4gIH1cblxuICAvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICogcmVzaXplIG9iamVjdCBmcm9tIHt4LHl9IHRvIHt4LHl9IGJhc2VkIG9uIHJlc2l6ZSBzdHJhdGVneVxuICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4gIHJlc2l6ZUZyb21UbyAob2JqOkhUTUxFbGVtZW50LCBmcm9tWDpudW1iZXIsIGZyb21ZOm51bWJlciwgdG9YOm51bWJlcix0b1k6bnVtYmVyLCByZXNpemVTdHJhdGVneTpzdHJpbmcpe1xuICAgIGNvbnN0IHBvc1hEZWx0YSA9IHRvWCAtIGZyb21YO1xuICAgIGNvbnN0IHBvc1lEZWx0YSA9IHRvWSAtIGZyb21ZO1xuICAgIGNvbnN0IGVsZW1lbnQgPSBvYmogPz8gdGhpcy5fZWxlbWVudDtcbiAgICBjb25zdCBlbGVtZW50UmVjdCA9IGVsZW1lbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XG4gICAgLy9jb25zdCB2aWV3UmVjdCA9IHRoaXMuX2dldFZpZXdSZWN0KCk7XG4gICAgY29uc3Qgdmlld1JlY3QgPSB0aGlzLnJlc2l6ZU9ic2VydmVyU2VydmljZS5nZXRQYXJlbnRBcHBSZWN0KCk7XG4gICAgXG4gICAgbGV0IGNoZWNrQm91bmRhcmllcyA9IHRydWU7XG5cbiAgICByZXNpemVTdHJhdGVneSA9IHJlc2l6ZVN0cmF0ZWd5IHx8IFwic2VcIjtcblxuICAgIC8vaWYgdGhlIG9iamVjdCBpcyBvdXRzaWRlIHRoZSB2aWV3IHJlY3QgYmVjYXVzZSBpdCdzIGJpZ2dlciwgZG8gbm90IGNoZWNrIGJvdW5kYXJpZXMsXG4gICAgLy9hbGxvdyBtb3Zpbmcgb3V0c2lkZSB0aGUgdmlldyByZWN0XG4gICAgaWYodGhpcy5pc0luc2lkZVJlY3QoZWxlbWVudFJlY3QsIHZpZXdSZWN0KSA9PT0gZmFsc2UpIHtcbiAgICAgIGNoZWNrQm91bmRhcmllcyA9IGZhbHNlOyBcbiAgICB9XG5cbiAgICB0aGlzLl9yZXNpemVSZWN0YW5nbGUoZWxlbWVudFJlY3QsIHBvc1hEZWx0YSwgcG9zWURlbHRhLCByZXNpemVTdHJhdGVneSk7XG5cbiAgICBpZiAoY2hlY2tCb3VuZGFyaWVzICYmIHRoaXMuaXNJbnNpZGVSZWN0KGVsZW1lbnRSZWN0LCB2aWV3UmVjdCkgPT09IGZhbHNlKSB7XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gICAgXG4gICAgY29uc3QgY29tcHV0ZWRTdHlsZSA9IHdpbmRvdy5nZXRDb21wdXRlZFN0eWxlKGVsZW1lbnQpO1xuICAgIGxldCB0b3AgPSBwYXJzZUludChjb21wdXRlZFN0eWxlLnRvcCwgMTApO1xuICAgIGxldCBsZWZ0ID0gcGFyc2VJbnQoY29tcHV0ZWRTdHlsZS5sZWZ0LCAxMCk7XG4gICAgbGV0IHdpZHRoID0gcGFyc2VJbnQoY29tcHV0ZWRTdHlsZS53aWR0aCwgMTApO1xuICAgIGxldCBoZWlnaHQgPSBwYXJzZUludChjb21wdXRlZFN0eWxlLmhlaWdodCwgMTApO1xuICAgIFxuICAgIGlmKFsnbncnLCd3JywgJ3N3J10uaW5jbHVkZXMocmVzaXplU3RyYXRlZ3kpKSB7XG4gICAgICAgbGVmdCA9IGxlZnQgKyBwb3NYRGVsdGE7ICAgICAgXG4gICAgfVxuXG4gICAgaWYoWydudycsJ24nLCAnbmUnXS5pbmNsdWRlcyhyZXNpemVTdHJhdGVneSkpIHtcbiAgICAgIHRvcCA9IHRvcCAgKyAgcG9zWURlbHRhOyAgICAgIFxuICAgIH1cblxuICAgIGlmKCFbJ24nLCdzJ10uaW5jbHVkZXMocmVzaXplU3RyYXRlZ3kpKSB7XG4gICAgICB3aWR0aCA9IGVsZW1lbnRSZWN0LndpZHRoO1xuICAgIH1cbiAgICBcbiAgICBpZiggdmlld1JlY3QuaGVpZ2h0IDwgZWxlbWVudFJlY3QuaGVpZ2h0ICl7XG4gICAgICB0aGlzLl9tYXhIZWlnaHRSZXNldChlbGVtZW50LCBlbGVtZW50UmVjdCk7XG4gICAgfVxuICAgIGVsc2UgaWYoIVsndycsJ2UnXS5pbmNsdWRlcyhyZXNpemVTdHJhdGVneSkpIHtcbiAgICAgIGhlaWdodCA9IGVsZW1lbnRSZWN0LmhlaWdodDtcbiAgICB9XG5cbiAgICBcbiAgICBlbGVtZW50LnN0eWxlLnRvcCAgICA9IHRvcCAgICsgJ3B4JztcbiAgICBlbGVtZW50LnN0eWxlLmxlZnQgICA9IGxlZnQgICsgJ3B4JztcbiAgICBlbGVtZW50LnN0eWxlLndpZHRoICA9IHdpZHRoICsgJ3B4JztcbiAgICBlbGVtZW50LnN0eWxlLmhlaWdodCAgPSBoZWlnaHQgKyAncHgnO1xuXG4gICAgcmV0dXJuIHRydWU7XG4gIH1cbi8qKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAqIHJlc2l6ZSBzdGFydCBhdCB0aGUgbGF5b3V0IG1hbmFnYWVyXG4gICAqIG9wZW4gZG9jdW1lbnQgbGlzdGVuZXJzXG4gIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbiAgXG4gICAgLyoqLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICogc2V0IHRoZSBlbGVtZW50cyB1c2VkIGZvciByZXNpemluZ1xuICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4gIHNldFJlc2l6ZXJzKGVsZW1lbnQ6SFRNTEVsZW1lbnQpIHtcbiAgICBjb25zdCBzZXRSZXNpemFibGVFbGVtZW50cyA9ICgpID0+IHtcbiAgICAgIGxldCByZXNpemFibGVFbGVtZW50czpSZXNpemFibGVFbGVtZW50W10gPSBbXTtcbiAgICAgIC8vIGdldCBkb20gZWxlbWVudHMgb2YgYWxsIHJlc2l6ZXJzXG4gICAgICB0aGlzLnJlc2l6ZXJzTGlzdC5mb3JFYWNoKCBpdGVtID0+IHtcbiAgICAgICAgY29uc3QgcmVzaXplRWxlbXMgPSAgZWxlbWVudC5nZXRFbGVtZW50c0J5Q2xhc3NOYW1lKGl0ZW0uY2xhc3NOYW1lKTtcbiAgICAgICAgaWYoIHJlc2l6ZUVsZW1zPy5sZW5ndGggKSB7XG4gICAgICAgICAgLy8gc2V0IHJlc2l6ZSBzdHJhdGVneSBpbiBlYWNoIGVsZW1lbnQgc28gd2Uga25vdyBpbiB3aGljaCBkaXJlY3Rpb24gdG8gcmVzaXplXG4gICAgICAgICAgY29uc3QgZGVjb3JhdGVkUmVzaXplRWxlbXM6IFJlc2l6YWJsZUVsZW1lbnRbXSA9IEFycmF5LmZyb20ocmVzaXplRWxlbXMpLm1hcCggZWxlbSA9PiB7XG4gICAgICAgICAgICBjb25zdCByZXNpemFibGVFbGVtID0gZWxlbSBhcyBSZXNpemFibGVFbGVtZW50O1xuICAgICAgICAgICAgcmVzaXphYmxlRWxlbS5yZXNpemVTdHJhdGVneSA9IGl0ZW0ucmVzaXplU3RyYXRlZ3k7XG4gICAgICAgICAgICByZXR1cm4gcmVzaXphYmxlRWxlbTtcbiAgICAgICAgICB9KTtcblxuICAgICAgICAgIC8vIGFkZCBpdCB0byBsaXN0IG9mIGFsbCByZXNpemVyc1xuICAgICAgICAgIHJlc2l6YWJsZUVsZW1lbnRzID0gWy4uLnJlc2l6YWJsZUVsZW1lbnRzLCAuLi5kZWNvcmF0ZWRSZXNpemVFbGVtc107XG4gICAgICAgIH1cbiAgICAgIH0pO1xuXG4gICAgICB0aGlzLnJlc2l6YWJsZUVsZW1lbnRzID0gIFsuLi5yZXNpemFibGVFbGVtZW50c107XG4gICAgICB0aGlzLm9wZW5FbGVtZW50TGlzdGVuZXJzUmVzaXplKCk7XG4gICAgfVxuICAgIHNldFRpbWVvdXQoKCk9PntcbiAgICAgIHNldFJlc2l6YWJsZUVsZW1lbnRzKCk7XG4gICAgfSk7XG4gIH1cblxuICAvKiotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAqIG9wZW4gbW91c2Vkb3duLCB0b3VjaHN0YXJ0IGxpc3RlbmVycyBvbiBhbGwgZWxlbWVudHMgYWxsb3dlZCBmb3IgcmVzaXppbmdcbiAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuICBvcGVuRWxlbWVudExpc3RlbmVyc1Jlc2l6ZSgpIHtcbiAgICB0aGlzLnJlc2l6YWJsZUVsZW1lbnRzLmZvckVhY2goZWxlbWVudCA9PiB7XG4gICAgICBlbGVtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ21vdXNlZG93bicsIHRoaXMuYm91bmRSZXNpemVTdGFydCk7XG4gICAgICBlbGVtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ3RvdWNoc3RhcnQnLCB0aGlzLmJvdW5kUmVzaXplU3RhcnQpO1xuICAgIH0pO1xuICB9XG4gLyoqLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICogb3BlbiBtb3VzZXVwLCB0b3VjaGVuZCBhbmQgbW91c2Vtb3ZlLCB0b3VjaG1vdmUgb24gZG9jdW1lbnRcbiAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuICBvcGVuRG9jdW1lbnRMaXN0ZW5lcnNSZXNpemUoKSB7XG4gICAgZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcignbW91c2V1cCcsIHRoaXMuYm91bmRSZXNpemVFbmQpO1xuICAgIGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ3RvdWNoZW5kJywgdGhpcy5ib3VuZFJlc2l6ZUVuZCk7XG4gICAgZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcignbW91c2Vtb3ZlJywgdGhpcy5ib3VuZFJlc2l6ZUluUHJvZ3Jlc3MpO1xuICAgIGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ3RvdWNobW92ZScsIHRoaXMuYm91bmRSZXNpemVJblByb2dyZXNzKTsgICAgXG4gIH1cbiBcbiAgLyoqLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgKiBjbG9zZSBtb3VzZXVwLCB0b3VjaGVuZCBhbmQgbW91c2Vtb3ZlLCB0b3VjaG1vdmUgb24gZG9jdW1lbnRcbiAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuICBjbG9zZURvY3VtZW50TGlzdGVuZXJzUmVzaXplKCkge1xuICAgIGRvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ21vdXNlbW92ZScsIHRoaXMuYm91bmRSZXNpemVJblByb2dyZXNzKTtcbiAgICBkb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCd0b3VjaG1vdmUnLCB0aGlzLmJvdW5kUmVzaXplSW5Qcm9ncmVzcyk7XG4gICAgZG9jdW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcignbW91c2V1cCcsIHRoaXMuYm91bmRSZXNpemVFbmQpO1xuICAgIGRvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ3RvdWNoZW5kJywgdGhpcy5ib3VuZFJlc2l6ZUVuZCk7XG4gIH1cblxuLyoqLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgKiBjbG9zZSBtb3VzZWRvd24sIHRvdWNoc3RhcnQgbGlzdGVuZXJzIG9uIGFsbCBlbGVtZW50cyBhbGxvd2VkIGZvciByZXNpemluZ1xuICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4gIGNsb3NlRWxlbWVudExpc3RlbmVyc1Jlc2l6ZSgpIHtcbiAgICB0aGlzLnJlc2l6YWJsZUVsZW1lbnRzLmZvckVhY2goZWxlbWVudCA9PiB7XG4gICAgICBlbGVtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ21vdXNlZG93bicsIHRoaXMuYm91bmRSZXNpemVTdGFydCk7XG4gICAgICBlbGVtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ3RvdWNoc3RhcnQnLCB0aGlzLmJvdW5kUmVzaXplU3RhcnQpO1xuICAgICAgZWxlbWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCdtb3VzZW1vdmUnLCB0aGlzLmJvdW5kUmVzaXplSW5Qcm9ncmVzcyk7XG4gICAgICBlbGVtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ3RvdWNobW92ZScsIHRoaXMuYm91bmRSZXNpemVJblByb2dyZXNzKTsgICAgICBcbiAgICAgIGVsZW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcignbW91c2V1cCcsIHRoaXMuYm91bmRSZXNpemVFbmQpO1xuICAgICAgZWxlbWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCd0b3VjaGVuZCcsIHRoaXMuYm91bmRSZXNpemVFbmQpO1xuICAgIH0pO1xuICB9XG5cbiAgLyoqLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgKiBjbG9zZSBhbGwgbGlzdGVuZXJzXG4gIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbiAgY2xvc2VBbGxMaXN0ZW5lcnNSZXNpemUoKSB7XG4gICAgdGhpcy5jbG9zZUVsZW1lbnRMaXN0ZW5lcnNSZXNpemUoKTtcbiAgICB0aGlzLmNsb3NlRG9jdW1lbnRMaXN0ZW5lcnNSZXNpemUoKTtcbiAgfVxuXG4gLyoqLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICogc2V0dXAgYWN0dWFsIHJlc2l6ZSBzdHJhdGVneVxuICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4gIHNldHVwUmVzaXplU3RyYXRlZ3koZXZlbnQ6IE1vdXNlRXZlbnQgfCBUb3VjaEV2ZW50KSB7XG4gICAgaWYoICFldmVudCApIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICAvLyBmaW5kIG9uIHdoaWNoIGVsZW1lbnQgcmVzaXplIHN0YXJ0ZWQgc28gd2Uga25vdyBpbiB3aGljaCBkaXJlY3Rpb24gdG8gcmVzaXplXG4gICAgbGV0IHJlc2l6ZVN0cmF0ZWd5OnN0cmluZyA9IFwic2VcIjtcbiAgICBjb25zdCAgcmVzaXplU291cmNlRWxlbSA9IGV2ZW50Py50YXJnZXQ7XG5cbiAgICBpZiggcmVzaXplU291cmNlRWxlbSApIHtcbiAgICAgIGNvbnN0ICBmb3VuZEVsZW0gPSB0aGlzLnJlc2l6YWJsZUVsZW1lbnRzLmZpbmQoIGl0ZW0gPT4gaXRlbSA9PT0gcmVzaXplU291cmNlRWxlbSApO1xuICAgICAgaWYgKGZvdW5kRWxlbT8ucmVzaXplU3RyYXRlZ3kpIHtcbiAgICAgICAgcmVzaXplU3RyYXRlZ3kgPSBmb3VuZEVsZW0/LnJlc2l6ZVN0cmF0ZWd5O1xuICAgICAgfVxuICAgIH1cblxuICAgIHRoaXMuYWN0UmVzaXplU3RyYXRlZ3kgPSAgcmVzaXplU3RyYXRlZ3k7XG4gIH1cbn1cbiJdfQ==
@@ -41,10 +41,10 @@ export class XDraggableDirective {
41
41
  fireEvent(this, "clicked", event);
42
42
  }
43
43
  }
44
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: XDraggableDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
45
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.12", type: XDraggableDirective, isStandalone: true, selector: "[xDraggable]", outputs: { dragging: "dragging", clicked: "clicked" }, host: { listeners: { "document:mousemove": "onMouseMove($event)", "document:mouseup": "onMouseUp($event)", "mousedown": "onMouseDown($event)", "click": "onMouseClick($event)" } }, ngImport: i0 }); }
44
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: XDraggableDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
45
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.11", type: XDraggableDirective, isStandalone: true, selector: "[xDraggable]", outputs: { dragging: "dragging", clicked: "clicked" }, host: { listeners: { "document:mousemove": "onMouseMove($event)", "document:mouseup": "onMouseUp($event)", "mousedown": "onMouseDown($event)", "click": "onMouseClick($event)" } }, ngImport: i0 }); }
46
46
  }
47
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: XDraggableDirective, decorators: [{
47
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: XDraggableDirective, decorators: [{
48
48
  type: Directive,
49
49
  args: [{
50
50
  selector: '[xDraggable]',
@@ -1,2 +1,2 @@
1
1
  export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmltcGx1cy1vcGFjaXR5LXByb3BlcnRpZXMuaW50ZXJmYWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LWJpbXBsdXMtY29tcG9uZW50cy9zcmMvbGliL2ludGVyZmFjZXMvYmltcGx1cy1vcGFjaXR5LXByb3BlcnRpZXMuaW50ZXJmYWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgaW50ZXJmYWNlIE9wYWNpdHlQcm9wZXJ0aWVzIHtcclxuICBpc09wYXF1ZTogYm9vbGVhbjtcclxuICBpc1NlbWlPcGFxdWU6IGJvb2xlYW47XHJcbn1cclxuIl19
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmltcGx1cy1vcGFjaXR5LXByb3BlcnRpZXMuaW50ZXJmYWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LWJpbXBsdXMtY29tcG9uZW50cy9zcmMvbGliL2ludGVyZmFjZXMvYmltcGx1cy1vcGFjaXR5LXByb3BlcnRpZXMuaW50ZXJmYWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgaW50ZXJmYWNlIE9wYWNpdHlQcm9wZXJ0aWVzIHtcbiAgaXNPcGFxdWU6IGJvb2xlYW47XG4gIGlzU2VtaU9wYXF1ZTogYm9vbGVhbjtcbn1cbiJdfQ==
@@ -1,2 +1,2 @@
1
1
  export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmltcGx1cy12aXNpYmlsaXR5LXByb3BlcnRpZXMuaW50ZXJmYWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LWJpbXBsdXMtY29tcG9uZW50cy9zcmMvbGliL2ludGVyZmFjZXMvYmltcGx1cy12aXNpYmlsaXR5LXByb3BlcnRpZXMuaW50ZXJmYWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgaW50ZXJmYWNlIFZpc2liaWxpdHlQcm9wZXJ0aWVzIHtcclxuICBpc1Zpc2libGU6IGJvb2xlYW47XHJcbiAgaXNTZW1pVmlzaWJsZTogYm9vbGVhbjtcclxufVxyXG4iXX0=
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmltcGx1cy12aXNpYmlsaXR5LXByb3BlcnRpZXMuaW50ZXJmYWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LWJpbXBsdXMtY29tcG9uZW50cy9zcmMvbGliL2ludGVyZmFjZXMvYmltcGx1cy12aXNpYmlsaXR5LXByb3BlcnRpZXMuaW50ZXJmYWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgaW50ZXJmYWNlIFZpc2liaWxpdHlQcm9wZXJ0aWVzIHtcbiAgaXNWaXNpYmxlOiBib29sZWFuO1xuICBpc1NlbWlWaXNpYmxlOiBib29sZWFuO1xufVxuIl19
@@ -1,14 +1,14 @@
1
1
  import { Component } from '@angular/core';
2
2
  import * as i0 from "@angular/core";
3
3
  export class NgxBimplusComponentsComponent {
4
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: NgxBimplusComponentsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
5
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.12", type: NgxBimplusComponentsComponent, isStandalone: true, selector: "lib-ngx-bimplus-components", ngImport: i0, template: `
4
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: NgxBimplusComponentsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
5
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.11", type: NgxBimplusComponentsComponent, isStandalone: true, selector: "lib-ngx-bimplus-components", ngImport: i0, template: `
6
6
  <p>
7
7
  ngx-bimplus-components works!
8
8
  </p>
9
9
  `, isInline: true, styles: [""] }); }
10
10
  }
11
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: NgxBimplusComponentsComponent, decorators: [{
11
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: NgxBimplusComponentsComponent, decorators: [{
12
12
  type: Component,
13
13
  args: [{ selector: 'lib-ngx-bimplus-components', standalone: true, imports: [], template: `
14
14
  <p>
@@ -1,10 +1,10 @@
1
1
  import { Injectable } from '@angular/core';
2
2
  import * as i0 from "@angular/core";
3
3
  export class NgxBimplusComponentsService {
4
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: NgxBimplusComponentsService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
5
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: NgxBimplusComponentsService, providedIn: 'root' }); }
4
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: NgxBimplusComponentsService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
5
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: NgxBimplusComponentsService, providedIn: 'root' }); }
6
6
  }
7
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: NgxBimplusComponentsService, decorators: [{
7
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: NgxBimplusComponentsService, decorators: [{
8
8
  type: Injectable,
9
9
  args: [{
10
10
  providedIn: 'root'
@@ -0,0 +1,46 @@
1
+ import { DecimalPipe } from '@angular/common';
2
+ import { Pipe } from '@angular/core';
3
+ import * as i0 from "@angular/core";
4
+ const MB_SIZE = 1024;
5
+ export const BitConverterSize = {
6
+ KB: 'kB',
7
+ GB: 'gib',
8
+ MB: 'mb'
9
+ // more..
10
+ };
11
+ export class BitConverterPipe extends DecimalPipe {
12
+ transform(value, sizeToConvert = BitConverterSize.KB, digitsInfo = '1.2-2') {
13
+ if (!this.isNumber(value)) {
14
+ throw new Error('[BitConverterPipe]: value is not a number');
15
+ }
16
+ const size = this.getSizeFromBites(value, sizeToConvert);
17
+ let decimalValue = super.transform(size, digitsInfo);
18
+ decimalValue ??= value.toString();
19
+ return `(${decimalValue} ${sizeToConvert})`;
20
+ }
21
+ getSizeFromBites(value, size) {
22
+ switch (size) {
23
+ case 'kB':
24
+ return value / MB_SIZE;
25
+ case 'mb':
26
+ return value / (MB_SIZE * MB_SIZE);
27
+ case 'gib':
28
+ return value / (MB_SIZE * MB_SIZE * MB_SIZE);
29
+ default:
30
+ return value;
31
+ }
32
+ }
33
+ isNumber(value) {
34
+ return typeof value === 'number' && !isNaN(value);
35
+ }
36
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: BitConverterPipe, deps: null, target: i0.ɵɵFactoryTarget.Pipe }); }
37
+ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "18.2.11", ngImport: i0, type: BitConverterPipe, isStandalone: true, name: "bitConverter" }); }
38
+ }
39
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: BitConverterPipe, decorators: [{
40
+ type: Pipe,
41
+ args: [{
42
+ name: 'bitConverter',
43
+ standalone: true
44
+ }]
45
+ }] });
46
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYml0LWNvbnZlcnRlci5waXBlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LWJpbXBsdXMtY29tcG9uZW50cy9zcmMvbGliL3BpcGVzL2JpdC1jb252ZXJ0ZXIucGlwZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDOUMsT0FBTyxFQUFFLElBQUksRUFBaUIsTUFBTSxlQUFlLENBQUM7O0FBRXBELE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQztBQUVyQixNQUFNLENBQUMsTUFBTSxnQkFBZ0IsR0FBRztJQUM1QixFQUFFLEVBQUUsSUFBSTtJQUNSLEVBQUUsRUFBRSxLQUFLO0lBQ1QsRUFBRSxFQUFFLElBQUk7SUFDUixTQUFTO0NBQ0gsQ0FBQztBQVFYLE1BQU0sT0FBTyxnQkFBaUIsU0FBUSxXQUFXO0lBSXBDLFNBQVMsQ0FBQyxLQUFjLEVBQUUsZ0JBQTBCLGdCQUFnQixDQUFDLEVBQUUsRUFBRSxhQUFxQixPQUFPO1FBQzFHLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUM7WUFDeEIsTUFBTSxJQUFJLEtBQUssQ0FBQywyQ0FBMkMsQ0FBQyxDQUFDO1FBQ2pFLENBQUM7UUFDRCxNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsS0FBSyxFQUFFLGFBQWEsQ0FBQyxDQUFDO1FBQ3pELElBQUksWUFBWSxHQUFHLEtBQUssQ0FBQyxTQUFTLENBQUMsSUFBSSxFQUFFLFVBQVUsQ0FBQyxDQUFDO1FBQ3JELFlBQVksS0FBSyxLQUFLLENBQUMsUUFBUSxFQUFFLENBQUM7UUFFbEMsT0FBTyxJQUFJLFlBQVksSUFBSSxhQUFhLEdBQUcsQ0FBQztJQUNoRCxDQUFDO0lBRU8sZ0JBQWdCLENBQUMsS0FBYSxFQUFFLElBQWM7UUFDbEQsUUFBTyxJQUFJLEVBQUUsQ0FBQztZQUNWLEtBQUssSUFBSTtnQkFDTCxPQUFPLEtBQUssR0FBRyxPQUFPLENBQUM7WUFDM0IsS0FBSyxJQUFJO2dCQUNMLE9BQU8sS0FBSyxHQUFHLENBQUMsT0FBTyxHQUFHLE9BQU8sQ0FBQyxDQUFDO1lBQ3ZDLEtBQUssS0FBSztnQkFDTixPQUFPLEtBQUssR0FBRyxDQUFDLE9BQU8sR0FBRyxPQUFPLEdBQUcsT0FBTyxDQUFDLENBQUM7WUFDakQ7Z0JBQ0ksT0FBTyxLQUFLLENBQUM7UUFDckIsQ0FBQztJQUNMLENBQUM7SUFFTyxRQUFRLENBQUMsS0FBYztRQUMzQixPQUFRLE9BQU8sS0FBSyxLQUFLLFFBQVEsSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUN2RCxDQUFDOytHQTlCUSxnQkFBZ0I7NkdBQWhCLGdCQUFnQjs7NEZBQWhCLGdCQUFnQjtrQkFKNUIsSUFBSTttQkFBQztvQkFDSixJQUFJLEVBQUUsY0FBYztvQkFDcEIsVUFBVSxFQUFFLElBQUk7aUJBQ2pCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGVjaW1hbFBpcGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQgeyBQaXBlLCBQaXBlVHJhbnNmb3JtIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG5jb25zdCBNQl9TSVpFID0gMTAyNDtcclxuXHJcbmV4cG9ydCBjb25zdCBCaXRDb252ZXJ0ZXJTaXplID0ge1xyXG4gICAgS0I6ICdrQicsXHJcbiAgICBHQjogJ2dpYicsXHJcbiAgICBNQjogJ21iJ1xyXG4gICAgLy8gbW9yZS4uXHJcbn0gYXMgY29uc3Q7XHJcblxyXG50eXBlIFNpemVUeXBlID0gdHlwZW9mIEJpdENvbnZlcnRlclNpemVbJ0dCJyB8ICdLQicgfCAnTUInXTtcclxuXHJcbkBQaXBlKHtcclxuICBuYW1lOiAnYml0Q29udmVydGVyJyxcclxuICBzdGFuZGFsb25lOiB0cnVlXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBCaXRDb252ZXJ0ZXJQaXBlIGV4dGVuZHMgRGVjaW1hbFBpcGUgaW1wbGVtZW50cyBQaXBlVHJhbnNmb3JtIHtcclxuICAgIG92ZXJyaWRlIHRyYW5zZm9ybSh2YWx1ZTogbnVtYmVyIHwgc3RyaW5nLCBkaWdpdHNJbmZvPzogc3RyaW5nLCBsb2NhbGU/OiBzdHJpbmcpOiBzdHJpbmcgfCBudWxsO1xyXG4gICAgb3ZlcnJpZGUgdHJhbnNmb3JtKHZhbHVlOiBudWxsIHwgdW5kZWZpbmVkLCBkaWdpdHNJbmZvPzogc3RyaW5nLCBsb2NhbGU/OiBzdHJpbmcpOiBudWxsO1xyXG4gICAgb3ZlcnJpZGUgdHJhbnNmb3JtKHZhbHVlOiBudW1iZXIgfCBzdHJpbmcgfCBudWxsIHwgdW5kZWZpbmVkLCBkaWdpdHNJbmZvPzogc3RyaW5nLCBsb2NhbGU/OiBzdHJpbmcpOiBzdHJpbmcgfCBudWxsO1xyXG4gICAgb3ZlcnJpZGUgdHJhbnNmb3JtKHZhbHVlOiB1bmtub3duLCBzaXplVG9Db252ZXJ0OiBTaXplVHlwZSA9IEJpdENvbnZlcnRlclNpemUuS0IsIGRpZ2l0c0luZm86IHN0cmluZyA9ICcxLjItMicpOiBzdHJpbmcgfCBudWxsIHtcclxuICAgICAgICBpZiAoIXRoaXMuaXNOdW1iZXIodmFsdWUpKSB7XHJcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcignW0JpdENvbnZlcnRlclBpcGVdOiB2YWx1ZSBpcyBub3QgYSBudW1iZXInKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgY29uc3Qgc2l6ZSA9IHRoaXMuZ2V0U2l6ZUZyb21CaXRlcyh2YWx1ZSwgc2l6ZVRvQ29udmVydCk7XHJcbiAgICAgICAgbGV0IGRlY2ltYWxWYWx1ZSA9IHN1cGVyLnRyYW5zZm9ybShzaXplLCBkaWdpdHNJbmZvKTtcclxuICAgICAgICBkZWNpbWFsVmFsdWUgPz89IHZhbHVlLnRvU3RyaW5nKCk7XHJcblxyXG4gICAgICAgIHJldHVybiBgKCR7ZGVjaW1hbFZhbHVlfSAke3NpemVUb0NvbnZlcnR9KWA7XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBnZXRTaXplRnJvbUJpdGVzKHZhbHVlOiBudW1iZXIsIHNpemU6IFNpemVUeXBlKTogbnVtYmVyIHtcclxuICAgICAgICBzd2l0Y2goc2l6ZSkge1xyXG4gICAgICAgICAgICBjYXNlICdrQic6XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gdmFsdWUgLyBNQl9TSVpFO1xyXG4gICAgICAgICAgICBjYXNlICdtYic6XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gdmFsdWUgLyAoTUJfU0laRSAqIE1CX1NJWkUpO1xyXG4gICAgICAgICAgICBjYXNlICdnaWInOlxyXG4gICAgICAgICAgICAgICAgcmV0dXJuIHZhbHVlIC8gKE1CX1NJWkUgKiBNQl9TSVpFICogTUJfU0laRSk7XHJcbiAgICAgICAgICAgIGRlZmF1bHQ6XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gdmFsdWU7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgaXNOdW1iZXIodmFsdWU6IHVua25vd24pOiB2YWx1ZSBpcyBudW1iZXIge1xyXG4gICAgICAgIHJldHVybiAgdHlwZW9mIHZhbHVlID09PSAnbnVtYmVyJyAmJiAhaXNOYU4odmFsdWUpO1xyXG4gICAgfVxyXG59XHJcbiJdfQ==
@@ -0,0 +1,110 @@
1
+ import { Pipe } from '@angular/core';
2
+ import { RoundPipe } from './round.pipe';
3
+ import moment from 'moment';
4
+ import 'moment/min/locales';
5
+ import * as i0 from "@angular/core";
6
+ export class GetAttributeValue {
7
+ constructor() {
8
+ const locale = window.navigator.language;
9
+ moment.locale(locale);
10
+ }
11
+ _transformDouble(value) {
12
+ if (value.control && /^Enumeration$/i.test(value.control)) {
13
+ return value.enumdefinition[`${value.value}`];
14
+ }
15
+ return new RoundPipe().transform(value.value, value.decimal || 2);
16
+ }
17
+ _transformDatetime(value) {
18
+ moment.locale(window.navigator.language);
19
+ const localeDate = moment(value.value).format('L');
20
+ console.log(localeDate);
21
+ if (localeDate) {
22
+ return localeDate;
23
+ }
24
+ return value.value;
25
+ }
26
+ _transformGUIDorInt(value) {
27
+ if (value.control && /^Enumeration$/i.test(value.control)) {
28
+ return value.enumdefinition[`${value.value}`];
29
+ }
30
+ return value.value;
31
+ }
32
+ _transformString(value) {
33
+ if (value.control && /^Combobox$/i.test(value.control)) {
34
+ return value.value;
35
+ }
36
+ if (value.control && /^Enumeration$/i.test(value.control)) {
37
+ return value.enumdefinition[`${value.value}`];
38
+ }
39
+ return value.value;
40
+ }
41
+ _transformCheckbox(value) {
42
+ if (value.value === '1') {
43
+ return "True";
44
+ }
45
+ return "False";
46
+ }
47
+ _transformBoolean(value) {
48
+ if (value.value === '1'
49
+ || /^true$/i.test(value.value)) {
50
+ return "True";
51
+ }
52
+ return "False";
53
+ }
54
+ transform(value) {
55
+ const _value = value.value;
56
+ if (this.isEmpty(_value)) {
57
+ return '';
58
+ }
59
+ if (this.isDouble(value)) {
60
+ return this._transformDouble(value);
61
+ }
62
+ if (this.isDatetime(value)) {
63
+ return this._transformDatetime(value);
64
+ }
65
+ if (this.isGUIDorInt(value)) {
66
+ return this._transformGUIDorInt(value);
67
+ }
68
+ if (this.isString(value)) {
69
+ return this._transformString(value);
70
+ }
71
+ if (this.isCheckbox(value)) {
72
+ return this._transformCheckbox(value);
73
+ }
74
+ if (this.isBoolean(value)) {
75
+ return this._transformBoolean(value);
76
+ }
77
+ return value.value;
78
+ }
79
+ isEmpty(value) {
80
+ return value === undefined || value === null || value === '';
81
+ }
82
+ isDouble(value) {
83
+ return typeof value.type === 'string' && /^double$/i.test(value.type);
84
+ }
85
+ isDatetime(value) {
86
+ return typeof value.type === 'string' && /^datetime$/i.test(value.type);
87
+ }
88
+ isGUIDorInt(value) {
89
+ return typeof value.type === 'string' && (/^guid$/i.test(value.type) || /^int(32)?$/i.test(value.type));
90
+ }
91
+ isString(value) {
92
+ return typeof value.type === 'string' && /^string$/i.test(value.type);
93
+ }
94
+ isCheckbox(value) {
95
+ return typeof value.type === 'string' && /^checkbox$/i.test(value.control);
96
+ }
97
+ isBoolean(value) {
98
+ return typeof value.type === 'string' && /^boolean$/i.test(value.type);
99
+ }
100
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: GetAttributeValue, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
101
+ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "18.2.11", ngImport: i0, type: GetAttributeValue, isStandalone: true, name: "getAttributeValue" }); }
102
+ }
103
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: GetAttributeValue, decorators: [{
104
+ type: Pipe,
105
+ args: [{
106
+ name: 'getAttributeValue',
107
+ standalone: true
108
+ }]
109
+ }], ctorParameters: () => [] });
110
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0LWF0dHJpYnV0ZS12YWx1ZS5waXBlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LWJpbXBsdXMtY29tcG9uZW50cy9zcmMvbGliL3BpcGVzL2dldC1hdHRyaWJ1dGUtdmFsdWUucGlwZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsSUFBSSxFQUFpQixNQUFNLGVBQWUsQ0FBQztBQUVwRCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQ3pDLE9BQU8sTUFBTSxNQUFNLFFBQVEsQ0FBQztBQUM1QixPQUFPLG9CQUFvQixDQUFDOztBQU81QixNQUFNLE9BQU8saUJBQWlCO0lBRTVCO1FBQ0UsTUFBTSxNQUFNLEdBQUcsTUFBTSxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUM7UUFDekMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUN4QixDQUFDO0lBRUQsZ0JBQWdCLENBQUMsS0FBc0I7UUFDckMsSUFBRyxLQUFLLENBQUMsT0FBTyxJQUFJLGdCQUFnQixDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQztZQUN6RCxPQUFPLEtBQUssQ0FBQyxjQUFjLENBQUMsR0FBRyxLQUFLLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQztRQUNoRCxDQUFDO1FBQ0QsT0FBTyxJQUFJLFNBQVMsRUFBRSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsS0FBSyxFQUFFLEtBQUssQ0FBQyxPQUFPLElBQUksQ0FBQyxDQUFDLENBQUM7SUFDcEUsQ0FBQztJQUVELGtCQUFrQixDQUFDLEtBQXNCO1FBQ3ZDLE1BQU0sQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUN6QyxNQUFNLFVBQVUsR0FBVyxNQUFNLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDLE1BQU0sQ0FBQyxH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SyxRQUFRLElBQUksWUFBWSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDekUsQ0FBQzsrR0FwSFUsaUJBQWlCOzZHQUFqQixpQkFBaUI7OzRGQUFqQixpQkFBaUI7a0JBSjdCLElBQUk7bUJBQUM7b0JBQ0osSUFBSSxFQUFFLG1CQUFtQjtvQkFDekIsVUFBVSxFQUFFLElBQUk7aUJBQ2pCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUGlwZSwgUGlwZVRyYW5zZm9ybSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBPYmplY3RBdHRyaWJ1dGUgfSBmcm9tICcuLi9jb21wb25lbnRzL29iamVjdC1wcm9wZXJ0aWVzL29iamVjdC1wcm9wZXJ0aWVzLmludGVyZmFjZSc7XHJcbmltcG9ydCB7IFJvdW5kUGlwZSB9IGZyb20gJy4vcm91bmQucGlwZSc7XHJcbmltcG9ydCBtb21lbnQgZnJvbSAnbW9tZW50JztcclxuaW1wb3J0ICdtb21lbnQvbWluL2xvY2FsZXMnO1xyXG5cclxuXHJcbkBQaXBlKHtcclxuICBuYW1lOiAnZ2V0QXR0cmlidXRlVmFsdWUnLFxyXG4gIHN0YW5kYWxvbmU6IHRydWVcclxufSlcclxuZXhwb3J0IGNsYXNzIEdldEF0dHJpYnV0ZVZhbHVlIGltcGxlbWVudHMgUGlwZVRyYW5zZm9ybSB7XHJcblxyXG4gIGNvbnN0cnVjdG9yKCkge1xyXG4gICAgY29uc3QgbG9jYWxlID0gd2luZG93Lm5hdmlnYXRvci5sYW5ndWFnZTtcclxuICAgIG1vbWVudC5sb2NhbGUobG9jYWxlKTtcclxuICB9XHJcblxyXG4gIF90cmFuc2Zvcm1Eb3VibGUodmFsdWU6IE9iamVjdEF0dHJpYnV0ZSk6IHN0cmluZyB7XHJcbiAgICBpZih2YWx1ZS5jb250cm9sICYmIC9eRW51bWVyYXRpb24kL2kudGVzdCh2YWx1ZS5jb250cm9sKSkge1xyXG4gICAgICByZXR1cm4gdmFsdWUuZW51bWRlZmluaXRpb25bYCR7dmFsdWUudmFsdWV9YF07XHJcbiAgICB9XHJcbiAgICByZXR1cm4gbmV3IFJvdW5kUGlwZSgpLnRyYW5zZm9ybSh2YWx1ZS52YWx1ZSwgdmFsdWUuZGVjaW1hbCB8fCAyKTtcclxuICB9XHJcblxyXG4gIF90cmFuc2Zvcm1EYXRldGltZSh2YWx1ZTogT2JqZWN0QXR0cmlidXRlKTogc3RyaW5nIHtcclxuICAgIG1vbWVudC5sb2NhbGUod2luZG93Lm5hdmlnYXRvci5sYW5ndWFnZSk7XHJcbiAgICBjb25zdCBsb2NhbGVEYXRlOiBzdHJpbmcgPSBtb21lbnQodmFsdWUudmFsdWUpLmZvcm1hdCgnTCcpXHJcbiAgICBjb25zb2xlLmxvZyhsb2NhbGVEYXRlKTtcclxuICAgIGlmKGxvY2FsZURhdGUpIHtcclxuICAgICAgcmV0dXJuIGxvY2FsZURhdGU7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gdmFsdWUudmFsdWU7XHJcbiAgfVxyXG5cclxuICBfdHJhbnNmb3JtR1VJRG9ySW50KHZhbHVlOiBPYmplY3RBdHRyaWJ1dGUpOiBzdHJpbmcge1xyXG4gICAgaWYodmFsdWUuY29udHJvbCAmJiAvXkVudW1lcmF0aW9uJC9pLnRlc3QodmFsdWUuY29udHJvbCkpIHtcclxuICAgICAgcmV0dXJuIHZhbHVlLmVudW1kZWZpbml0aW9uW2Ake3ZhbHVlLnZhbHVlfWBdO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIHZhbHVlLnZhbHVlO1xyXG4gIH1cclxuXHJcbiAgX3RyYW5zZm9ybVN0cmluZyh2YWx1ZTogT2JqZWN0QXR0cmlidXRlKTogc3RyaW5nIHtcclxuICAgIGlmKHZhbHVlLmNvbnRyb2wgJiYgL15Db21ib2JveCQvaS50ZXN0KHZhbHVlLmNvbnRyb2wpKSB7XHJcbiAgICAgIHJldHVybiB2YWx1ZS52YWx1ZTtcclxuICAgIH1cclxuICAgIGlmKHZhbHVlLmNvbnRyb2wgJiYgL15FbnVtZXJhdGlvbiQvaS50ZXN0KHZhbHVlLmNvbnRyb2wpKSB7XHJcbiAgICAgIHJldHVybiB2YWx1ZS5lbnVtZGVmaW5pdGlvbltgJHt2YWx1ZS52YWx1ZX1gXTtcclxuICAgIH1cclxuICAgIHJldHVybiB2YWx1ZS52YWx1ZTtcclxuICB9XHJcblxyXG4gIF90cmFuc2Zvcm1DaGVja2JveCh2YWx1ZTogT2JqZWN0QXR0cmlidXRlKTogc3RyaW5nIHtcclxuICAgIGlmKHZhbHVlLnZhbHVlID09PSAnMScpIHtcclxuICAgICAgcmV0dXJuIFwiVHJ1ZVwiO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIFwiRmFsc2VcIjtcclxuICB9XHJcblxyXG4gIF90cmFuc2Zvcm1Cb29sZWFuKHZhbHVlOiBPYmplY3RBdHRyaWJ1dGUpOiBzdHJpbmcge1xyXG4gICAgaWYodmFsdWUudmFsdWUgPT09ICcxJ1xyXG4gICAgICB8fCAvXnRydWUkL2kudGVzdCh2YWx1ZS52YWx1ZSlcclxuICAgICAgKSB7XHJcbiAgICAgIHJldHVybiBcIlRydWVcIjtcclxuICAgIH1cclxuICAgIHJldHVybiBcIkZhbHNlXCI7XHJcbiAgfVxyXG5cclxuICB0cmFuc2Zvcm0odmFsdWU6IE9iamVjdEF0dHJpYnV0ZSk6IHN0cmluZyB7XHJcbiAgICBjb25zdCBfdmFsdWUgPSB2YWx1ZS52YWx1ZTtcclxuICAgIGlmICh0aGlzLmlzRW1wdHkoX3ZhbHVlKSkge1xyXG4gICAgICByZXR1cm4gJyc7XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKHRoaXMuaXNEb3VibGUodmFsdWUpKSB7XHJcbiAgICAgIHJldHVybiB0aGlzLl90cmFuc2Zvcm1Eb3VibGUodmFsdWUpO1xyXG4gICAgfVxyXG5cclxuICAgIGlmICh0aGlzLmlzRGF0ZXRpbWUodmFsdWUpKSB7XHJcbiAgICAgIHJldHVybiB0aGlzLl90cmFuc2Zvcm1EYXRldGltZSh2YWx1ZSk7XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKHRoaXMuaXNHVUlEb3JJbnQodmFsdWUpKSB7XHJcbiAgICAgIHJldHVybiB0aGlzLl90cmFuc2Zvcm1HVUlEb3JJbnQodmFsdWUpO1xyXG4gICAgfVxyXG5cclxuICAgIGlmICh0aGlzLmlzU3RyaW5nKHZhbHVlKSkge1xyXG4gICAgICByZXR1cm4gdGhpcy5fdHJhbnNmb3JtU3RyaW5nKHZhbHVlKTtcclxuICAgIH1cclxuXHJcbiAgICBpZiAodGhpcy5pc0NoZWNrYm94KHZhbHVlKSkge1xyXG4gICAgICByZXR1cm4gdGhpcy5fdHJhbnNmb3JtQ2hlY2tib3godmFsdWUpO1xyXG4gICAgfVxyXG5cclxuICAgIGlmICh0aGlzLmlzQm9vbGVhbih2YWx1ZSkpIHtcclxuICAgICAgcmV0dXJuIHRoaXMuX3RyYW5zZm9ybUJvb2xlYW4odmFsdWUpO1xyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiB2YWx1ZS52YWx1ZTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgaXNFbXB0eSh2YWx1ZTogc3RyaW5nIHwgdW5kZWZpbmVkIHwgbnVsbCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIHZhbHVlID09PSB1bmRlZmluZWQgfHwgdmFsdWUgPT09IG51bGwgfHwgdmFsdWUgPT09ICcnO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBpc0RvdWJsZSh2YWx1ZTogT2JqZWN0QXR0cmlidXRlKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gdHlwZW9mIHZhbHVlLnR5cGUgPT09ICdzdHJpbmcnICYmIC9eZG91YmxlJC9pLnRlc3QodmFsdWUudHlwZSk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGlzRGF0ZXRpbWUodmFsdWU6IE9iamVjdEF0dHJpYnV0ZSk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIHR5cGVvZiB2YWx1ZS50eXBlID09PSAnc3RyaW5nJyAmJiAvXmRhdGV0aW1lJC9pLnRlc3QodmFsdWUudHlwZSk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGlzR1VJRG9ySW50KHZhbHVlOiBPYmplY3RBdHRyaWJ1dGUpOiBib29sZWFuIHtcclxuICAgIHJldHVybiB0eXBlb2YgdmFsdWUudHlwZSA9PT0gJ3N0cmluZycgJiYgKC9eZ3VpZCQvaS50ZXN0KHZhbHVlLnR5cGUpIHx8IC9eaW50KDMyKT8kL2kudGVzdCh2YWx1ZS50eXBlKSk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGlzU3RyaW5nKHZhbHVlOiBPYmplY3RBdHRyaWJ1dGUpOiBib29sZWFuIHtcclxuICAgIHJldHVybiB0eXBlb2YgdmFsdWUudHlwZSA9PT0gJ3N0cmluZycgJiYgL15zdHJpbmckL2kudGVzdCh2YWx1ZS50eXBlKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgaXNDaGVja2JveCh2YWx1ZTogT2JqZWN0QXR0cmlidXRlKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gdHlwZW9mIHZhbHVlLnR5cGUgPT09ICdzdHJpbmcnICYmIC9eY2hlY2tib3gkL2kudGVzdCh2YWx1ZS5jb250cm9sKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgaXNCb29sZWFuKHZhbHVlOiBPYmplY3RBdHRyaWJ1dGUpOiBib29sZWFuIHtcclxuICAgIHJldHVybiB0eXBlb2YgdmFsdWUudHlwZSA9PT0gJ3N0cmluZycgJiYgL15ib29sZWFuJC9pLnRlc3QodmFsdWUudHlwZSk7XHJcbiAgfVxyXG59XHJcbiJdfQ==
@@ -4,10 +4,10 @@ export class PxsuffixPipe {
4
4
  transform(input) {
5
5
  return input + 'px';
6
6
  }
7
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: PxsuffixPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
8
- static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "18.2.12", ngImport: i0, type: PxsuffixPipe, isStandalone: true, name: "pxsuffix" }); }
7
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: PxsuffixPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
8
+ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "18.2.11", ngImport: i0, type: PxsuffixPipe, isStandalone: true, name: "pxsuffix" }); }
9
9
  }
10
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: PxsuffixPipe, decorators: [{
10
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: PxsuffixPipe, decorators: [{
11
11
  type: Pipe,
12
12
  args: [{
13
13
  name: 'pxsuffix',