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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (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 +76 -0
  68. package/esm2022/lib/components/bimplus-overlay-dialog-delete/bimplus-overlay-dialog-delete.component.mjs +78 -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 +2323 -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 +31 -0
  150. package/lib/components/bimplus-overlay-dialog-delete/bimplus-overlay-dialog-delete.component.d.ts +26 -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 +11 -4
  174. package/public-api.d.ts +16 -0
@@ -212,12 +212,12 @@ export class CriteriaSelectObjectPropertiesComponent extends BimplusLocalizedWid
212
212
  }
213
213
  });
214
214
  }
215
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: CriteriaSelectObjectPropertiesComponent, deps: [{ token: i1.TranslateService }], target: i0.ɵɵFactoryTarget.Component }); }
216
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.12", type: CriteriaSelectObjectPropertiesComponent, isStandalone: true, selector: "lib-criteria-select-object-properties", inputs: { api: "api", rootObjectId: "rootObjectId", revision: "revision", filterCriteria: "filterCriteria" }, outputs: { filterCriteriaChange: "filterCriteriaChange" }, usesInheritance: true, ngImport: i0, template: "<!-- Object structure-->\r\n<lib-expansion-panel>\r\n <lib-expansion-panel-header>\r\n <span class=\"criteria-select-object-properties-header\"> {{\"_Object structure\" | translate}}</span>\r\n </lib-expansion-panel-header>\r\n @if(objectStructure){\r\n <lib-bimplus-object-structure\r\n [objectStructure]=\"objectStructure\"\r\n (nodeSelected)=\"handleObjectStructureNodeSelected($event)\"\r\n >\r\n </lib-bimplus-object-structure> \r\n }\r\n</lib-expansion-panel>\r\n<!-- End Object structure-->\r\n\r\n<!-- Complex properties-->\r\n@if(complexProperties){ \r\n <lib-expansion-panel>\r\n <lib-expansion-panel-header>\r\n <span class=\"criteria-select-object-properties-header\"> {{\"_Object multiproperties tree\" | translate}}</span>\r\n </lib-expansion-panel-header>\r\n <lib-bimplus-object-complex-properties\r\n [complexProperties]=\"complexProperties\"\r\n (nodeSelected)=\"handleComplexPropertyNodeSelected($event)\"\r\n >\r\n </lib-bimplus-object-complex-properties> \r\n </lib-expansion-panel>\r\n}\r\n<!-- End Complex properties-->\r\n\r\n<!-- Properties list-->\r\n@if(objectAttributeGroups.length > 0){ \r\n <lib-expansion-panel>\r\n <lib-expansion-panel-header>\r\n <span class=\"criteria-select-object-properties-header\"> {{\"_Object properties\" | translate}}</span>\r\n </lib-expansion-panel-header>\r\n\r\n @for (attribGroup of objectAttributeGroups; track attribGroup) {\r\n <lib-expansion-panel [expanded]=\"attribGroup.expanded\">\r\n <lib-expansion-panel-header>\r\n <span class=\"criteria-select-object-properties-group-header\"> {{attribGroup.name}}</span>\r\n </lib-expansion-panel-header>\r\n <div>\r\n @for (attrib of attribGroup.attributes; track attrib) {\r\n <div class=\"criteria-select-object-properties-attrib-row\">\r\n <div class=\"criteria-select-object-properties-attrib-row-content\">\r\n <div class=\"criteria-select-object-properties-attrib-row-cell criteria-select-checkbox\">\r\n <label class=\"criteria-select-object-properties-attrib-row-cell-label\">\r\n <input\r\n type=\"checkbox\"\r\n [checked]=\"attrib.checked\"\r\n [disabled]=\"filterCriteria.length === MaxFilterCriteria && !attrib.checked\"\r\n (click)=\"toggleAttribute(attrib)\"\r\n (keypress)=\"toggleAttribute(attrib)\"\r\n >\r\n <span></span>\r\n </label>\r\n <div class=\"criteria-select-object-properties-attrib-row-cell-text\">{{attrib.name}}</div>\r\n </div>\r\n <div class=\"criteria-select-object-properties-attrib-row-cell criteria-select-checkbox\">\r\n <label class=\"criteria-select-object-properties-attrib-row-cell-label\">\r\n <input\r\n type=\"checkbox\"\r\n [checked]=\"attrib.valueChecked\"\r\n [disabled]=\"filterCriteria.length === MaxFilterCriteria && !attrib.checked\"\r\n (click)=\"toggleAttributeValue(attrib)\"\r\n (keypress)=\"toggleAttributeValue(attrib)\"\r\n >\r\n <span></span>\r\n </label>\r\n @if(attrib.value){\r\n <div class=\"criteria-select-object-properties-attrib-row-cell-text\">{{attrib.value}}</div>\r\n }@else {\r\n <div class=\"criteria-select-object-properties-attrib-row-cell-text\">...</div>\r\n }\r\n </div>\r\n </div>\r\n </div>\r\n }\r\n </div>\r\n </lib-expansion-panel> \r\n }\r\n </lib-expansion-panel>\r\n}\r\n<!-- End Properties list-->", styles: [".criteria-select-object-properties-header{font-weight:700;text-transform:uppercase;font-size:1.4rem}.criteria-select-object-properties-group-header{line-height:2.4rem}.criteria-select-object-properties-attrib-row{display:flex;width:calc(100% - 2rem);flex-direction:row;flex-wrap:nowrap;overflow:hidden;padding-left:2rem}.criteria-select-object-properties-attrib-row:hover{background-color:var(--object-navigator-criteria-select-object-properties-attribute-row-background-color-hovered)}.criteria-select-object-properties-attrib-row-content{display:inline-flex;width:100%}.criteria-select-object-properties-attrib-row-cell{flex-basis:50%;display:flex;overflow:hidden;text-overflow:ellipsis}.criteria-select-object-properties-attrib-row-cell-label{display:inline-flex}.criteria-select-object-properties-attrib-row-cell-text{overflow:hidden;text-overflow:ellipsis;text-wrap:nowrap}.criteria-select-checkbox input{display:none}.criteria-select-checkbox input:checked+span{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<rect x=\"3\" y=\"3\" width=\"12\" height=\"12\" fill=\"%230066CC\"/>%0D%0A<path d=\"M13.0226 7.41421L11.6855 6L8.3428 9.5356L6.33707 7.41416L5 8.82837L8.34269 12.3639L13.0226 7.41421Z\" fill=\"white\"/>%0D%0A</svg>%0D%0A')}.criteria-select-checkbox input:checked+span:hover{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<rect x=\"3\" y=\"3\" width=\"12\" height=\"12\" fill=\"%23005BB6\"/>%0D%0A<path d=\"M13.0226 7.41421L11.6855 6L8.3428 9.5356L6.33707 7.41416L5 8.82837L8.34269 12.3639L13.0226 7.41421Z\" fill=\"white\"/>%0D%0A</svg>%0D%0A')}.criteria-select-checkbox input:checked:disabled+span{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<rect x=\"3\" y=\"3\" width=\"12\" height=\"12\" fill=\"%23D3D3D3\"/>%0D%0A<path d=\"M13.0226 7.41421L11.6855 6L8.3428 9.5356L6.33707 7.41416L5 8.82837L8.34269 12.3639L13.0226 7.41421Z\" fill=\"white\"/>%0D%0A</svg>%0D%0A')}.criteria-select-checkbox input:disabled+span{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<rect x=\"3.5\" y=\"3.5\" width=\"11\" height=\"11\" fill=\"white\" stroke=\"%23D3D3D3\"/>%0D%0A</svg>%0D%0A')}.criteria-select-checkbox span{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<rect x=\"3.5\" y=\"3.5\" width=\"11\" height=\"11\" fill=\"white\" stroke=\"%238D8D8D\"/>%0D%0A</svg>%0D%0A');width:1.8rem;height:1.8rem;margin-top:.1rem;vertical-align:middle;border:0;background-color:transparent;background-position:-.3rem center;background-size:100% 100%;background-repeat:no-repeat}.criteria-select-checkbox span:hover{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<rect x=\"3.5\" y=\"3.5\" width=\"11\" height=\"11\" fill=\"%23F5F5F5\" stroke=\"%238D8D8D\"/>%0D%0A</svg>%0D%0A')}\n"], dependencies: [{ kind: "component", type: ExpansionPanelHeaderComponent, selector: "lib-expansion-panel-header" }, { kind: "component", type: ExpansionPanelComponent, selector: "lib-expansion-panel", inputs: ["expanded"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i1.TranslatePipe, name: "translate" }, { kind: "component", type: BimplusObjectStructureComponent, selector: "lib-bimplus-object-structure", inputs: ["objectStructure"], outputs: ["nodeSelected"] }, { kind: "component", type: BimplusObjectComplexPropertiesComponent, selector: "lib-bimplus-object-complex-properties", inputs: ["complexProperties"], outputs: ["nodeSelected"] }] }); }
215
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: CriteriaSelectObjectPropertiesComponent, deps: [{ token: i1.TranslateService }], target: i0.ɵɵFactoryTarget.Component }); }
216
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.11", type: CriteriaSelectObjectPropertiesComponent, isStandalone: true, selector: "lib-criteria-select-object-properties", inputs: { api: "api", rootObjectId: "rootObjectId", revision: "revision", filterCriteria: "filterCriteria" }, outputs: { filterCriteriaChange: "filterCriteriaChange" }, usesInheritance: true, ngImport: i0, template: "<!-- Object structure-->\r\n<lib-expansion-panel>\r\n <lib-expansion-panel-header>\r\n <span class=\"criteria-select-object-properties-header\"> {{\"_Object structure\" | translate}}</span>\r\n </lib-expansion-panel-header>\r\n @if(objectStructure){\r\n <lib-bimplus-object-structure\r\n [objectStructure]=\"objectStructure\"\r\n (nodeSelected)=\"handleObjectStructureNodeSelected($event)\"\r\n >\r\n </lib-bimplus-object-structure>\r\n }\r\n</lib-expansion-panel>\r\n<!-- End Object structure-->\r\n\r\n<!-- Complex properties-->\r\n@if(complexProperties){ \r\n <lib-expansion-panel>\r\n <lib-expansion-panel-header>\r\n <span class=\"criteria-select-object-properties-header\"> {{\"_Object multiproperties tree\" | translate}}</span>\r\n </lib-expansion-panel-header>\r\n <lib-bimplus-object-complex-properties\r\n [complexProperties]=\"complexProperties\"\r\n (nodeSelected)=\"handleComplexPropertyNodeSelected($event)\"\r\n >\r\n </lib-bimplus-object-complex-properties> \r\n </lib-expansion-panel>\r\n}\r\n<!-- End Complex properties-->\r\n\r\n<!-- Properties list-->\r\n@if(objectAttributeGroups.length > 0){ \r\n <lib-expansion-panel>\r\n <lib-expansion-panel-header>\r\n <span class=\"criteria-select-object-properties-header\"> {{\"_Object properties\" | translate}}</span>\r\n </lib-expansion-panel-header>\r\n\r\n @for (attribGroup of objectAttributeGroups; track attribGroup) {\r\n <lib-expansion-panel [expanded]=\"attribGroup.expanded\">\r\n <lib-expansion-panel-header>\r\n <span class=\"criteria-select-object-properties-group-header\"> {{attribGroup.name}}</span>\r\n </lib-expansion-panel-header>\r\n <div>\r\n @for (attrib of attribGroup.attributes; track attrib) {\r\n <div class=\"criteria-select-object-properties-attrib-row\">\r\n <div class=\"criteria-select-object-properties-attrib-row-content\">\r\n <div class=\"criteria-select-object-properties-attrib-row-cell criteria-select-checkbox\">\r\n <label class=\"criteria-select-object-properties-attrib-row-cell-label\">\r\n <input\r\n type=\"checkbox\"\r\n [checked]=\"attrib.checked\"\r\n [disabled]=\"filterCriteria.length === MaxFilterCriteria && !attrib.checked\"\r\n (click)=\"toggleAttribute(attrib)\"\r\n (keypress)=\"toggleAttribute(attrib)\"\r\n >\r\n <span></span>\r\n </label>\r\n <div class=\"criteria-select-object-properties-attrib-row-cell-text\">{{attrib.name}}</div>\r\n </div>\r\n <div class=\"criteria-select-object-properties-attrib-row-cell criteria-select-checkbox\">\r\n <label class=\"criteria-select-object-properties-attrib-row-cell-label\">\r\n <input\r\n type=\"checkbox\"\r\n [checked]=\"attrib.valueChecked\"\r\n [disabled]=\"filterCriteria.length === MaxFilterCriteria && !attrib.checked\"\r\n (click)=\"toggleAttributeValue(attrib)\"\r\n (keypress)=\"toggleAttributeValue(attrib)\"\r\n >\r\n <span></span>\r\n </label>\r\n @if(attrib.value){\r\n <div class=\"criteria-select-object-properties-attrib-row-cell-text\">{{attrib.value}}</div>\r\n }@else {\r\n <div class=\"criteria-select-object-properties-attrib-row-cell-text\">...</div>\r\n }\r\n </div>\r\n </div>\r\n </div>\r\n }\r\n </div>\r\n </lib-expansion-panel> \r\n }\r\n </lib-expansion-panel>\r\n}\r\n<!-- End Properties list-->", styles: ["lib-bimplus-object-structure{--bimplus-object-structure-background-color: transparent}lib-bimplus-object-complex-properties{--bimplus-object-complex-properties-background-color: transparent}.criteria-select-object-properties-header{font-weight:700;text-transform:uppercase;font-size:1.4rem}.criteria-select-object-properties-group-header{line-height:2.4rem}.criteria-select-object-properties-attrib-row{display:flex;width:calc(100% - 2rem);flex-direction:row;flex-wrap:nowrap;overflow:hidden;padding-left:2rem}.criteria-select-object-properties-attrib-row:hover{background-color:var(--object-navigator-criteria-select-object-properties-attribute-row-background-color-hovered)}.criteria-select-object-properties-attrib-row-content{display:inline-flex;width:100%}.criteria-select-object-properties-attrib-row-cell{flex-basis:50%;display:flex;overflow:hidden;text-overflow:ellipsis}.criteria-select-object-properties-attrib-row-cell-label{display:inline-flex}.criteria-select-object-properties-attrib-row-cell-text{overflow:hidden;text-overflow:ellipsis;text-wrap:nowrap}.criteria-select-checkbox input{display:none}.criteria-select-checkbox input:checked+span{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<rect x=\"3\" y=\"3\" width=\"12\" height=\"12\" fill=\"%230066CC\"/>%0D%0A<path d=\"M13.0226 7.41421L11.6855 6L8.3428 9.5356L6.33707 7.41416L5 8.82837L8.34269 12.3639L13.0226 7.41421Z\" fill=\"white\"/>%0D%0A</svg>%0D%0A')}.criteria-select-checkbox input:checked+span:hover{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<rect x=\"3\" y=\"3\" width=\"12\" height=\"12\" fill=\"%23005BB6\"/>%0D%0A<path d=\"M13.0226 7.41421L11.6855 6L8.3428 9.5356L6.33707 7.41416L5 8.82837L8.34269 12.3639L13.0226 7.41421Z\" fill=\"white\"/>%0D%0A</svg>%0D%0A')}.criteria-select-checkbox input:checked:disabled+span{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<rect x=\"3\" y=\"3\" width=\"12\" height=\"12\" fill=\"%23D3D3D3\"/>%0D%0A<path d=\"M13.0226 7.41421L11.6855 6L8.3428 9.5356L6.33707 7.41416L5 8.82837L8.34269 12.3639L13.0226 7.41421Z\" fill=\"white\"/>%0D%0A</svg>%0D%0A')}.criteria-select-checkbox input:disabled+span{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<rect x=\"3.5\" y=\"3.5\" width=\"11\" height=\"11\" fill=\"white\" stroke=\"%23D3D3D3\"/>%0D%0A</svg>%0D%0A')}.criteria-select-checkbox span{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<rect x=\"3.5\" y=\"3.5\" width=\"11\" height=\"11\" fill=\"white\" stroke=\"%238D8D8D\"/>%0D%0A</svg>%0D%0A');width:1.8rem;height:1.8rem;margin-top:.1rem;vertical-align:middle;border:0;background-color:transparent;background-position:-.3rem center;background-size:100% 100%;background-repeat:no-repeat}.criteria-select-checkbox span:hover{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<rect x=\"3.5\" y=\"3.5\" width=\"11\" height=\"11\" fill=\"%23F5F5F5\" stroke=\"%238D8D8D\"/>%0D%0A</svg>%0D%0A')}\n"], dependencies: [{ kind: "component", type: ExpansionPanelHeaderComponent, selector: "lib-expansion-panel-header" }, { kind: "component", type: ExpansionPanelComponent, selector: "lib-expansion-panel", inputs: ["expanded"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i1.TranslatePipe, name: "translate" }, { kind: "component", type: BimplusObjectStructureComponent, selector: "lib-bimplus-object-structure", inputs: ["objectStructure"], outputs: ["nodeSelected"] }, { kind: "component", type: BimplusObjectComplexPropertiesComponent, selector: "lib-bimplus-object-complex-properties", inputs: ["complexProperties"], outputs: ["nodeSelected"] }] }); }
217
217
  }
218
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: CriteriaSelectObjectPropertiesComponent, decorators: [{
218
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: CriteriaSelectObjectPropertiesComponent, decorators: [{
219
219
  type: Component,
220
- args: [{ selector: 'lib-criteria-select-object-properties', standalone: true, imports: [ExpansionPanelHeaderComponent, ExpansionPanelComponent, TranslateModule, BimplusObjectStructureComponent, BimplusObjectComplexPropertiesComponent], template: "<!-- Object structure-->\r\n<lib-expansion-panel>\r\n <lib-expansion-panel-header>\r\n <span class=\"criteria-select-object-properties-header\"> {{\"_Object structure\" | translate}}</span>\r\n </lib-expansion-panel-header>\r\n @if(objectStructure){\r\n <lib-bimplus-object-structure\r\n [objectStructure]=\"objectStructure\"\r\n (nodeSelected)=\"handleObjectStructureNodeSelected($event)\"\r\n >\r\n </lib-bimplus-object-structure> \r\n }\r\n</lib-expansion-panel>\r\n<!-- End Object structure-->\r\n\r\n<!-- Complex properties-->\r\n@if(complexProperties){ \r\n <lib-expansion-panel>\r\n <lib-expansion-panel-header>\r\n <span class=\"criteria-select-object-properties-header\"> {{\"_Object multiproperties tree\" | translate}}</span>\r\n </lib-expansion-panel-header>\r\n <lib-bimplus-object-complex-properties\r\n [complexProperties]=\"complexProperties\"\r\n (nodeSelected)=\"handleComplexPropertyNodeSelected($event)\"\r\n >\r\n </lib-bimplus-object-complex-properties> \r\n </lib-expansion-panel>\r\n}\r\n<!-- End Complex properties-->\r\n\r\n<!-- Properties list-->\r\n@if(objectAttributeGroups.length > 0){ \r\n <lib-expansion-panel>\r\n <lib-expansion-panel-header>\r\n <span class=\"criteria-select-object-properties-header\"> {{\"_Object properties\" | translate}}</span>\r\n </lib-expansion-panel-header>\r\n\r\n @for (attribGroup of objectAttributeGroups; track attribGroup) {\r\n <lib-expansion-panel [expanded]=\"attribGroup.expanded\">\r\n <lib-expansion-panel-header>\r\n <span class=\"criteria-select-object-properties-group-header\"> {{attribGroup.name}}</span>\r\n </lib-expansion-panel-header>\r\n <div>\r\n @for (attrib of attribGroup.attributes; track attrib) {\r\n <div class=\"criteria-select-object-properties-attrib-row\">\r\n <div class=\"criteria-select-object-properties-attrib-row-content\">\r\n <div class=\"criteria-select-object-properties-attrib-row-cell criteria-select-checkbox\">\r\n <label class=\"criteria-select-object-properties-attrib-row-cell-label\">\r\n <input\r\n type=\"checkbox\"\r\n [checked]=\"attrib.checked\"\r\n [disabled]=\"filterCriteria.length === MaxFilterCriteria && !attrib.checked\"\r\n (click)=\"toggleAttribute(attrib)\"\r\n (keypress)=\"toggleAttribute(attrib)\"\r\n >\r\n <span></span>\r\n </label>\r\n <div class=\"criteria-select-object-properties-attrib-row-cell-text\">{{attrib.name}}</div>\r\n </div>\r\n <div class=\"criteria-select-object-properties-attrib-row-cell criteria-select-checkbox\">\r\n <label class=\"criteria-select-object-properties-attrib-row-cell-label\">\r\n <input\r\n type=\"checkbox\"\r\n [checked]=\"attrib.valueChecked\"\r\n [disabled]=\"filterCriteria.length === MaxFilterCriteria && !attrib.checked\"\r\n (click)=\"toggleAttributeValue(attrib)\"\r\n (keypress)=\"toggleAttributeValue(attrib)\"\r\n >\r\n <span></span>\r\n </label>\r\n @if(attrib.value){\r\n <div class=\"criteria-select-object-properties-attrib-row-cell-text\">{{attrib.value}}</div>\r\n }@else {\r\n <div class=\"criteria-select-object-properties-attrib-row-cell-text\">...</div>\r\n }\r\n </div>\r\n </div>\r\n </div>\r\n }\r\n </div>\r\n </lib-expansion-panel> \r\n }\r\n </lib-expansion-panel>\r\n}\r\n<!-- End Properties list-->", styles: [".criteria-select-object-properties-header{font-weight:700;text-transform:uppercase;font-size:1.4rem}.criteria-select-object-properties-group-header{line-height:2.4rem}.criteria-select-object-properties-attrib-row{display:flex;width:calc(100% - 2rem);flex-direction:row;flex-wrap:nowrap;overflow:hidden;padding-left:2rem}.criteria-select-object-properties-attrib-row:hover{background-color:var(--object-navigator-criteria-select-object-properties-attribute-row-background-color-hovered)}.criteria-select-object-properties-attrib-row-content{display:inline-flex;width:100%}.criteria-select-object-properties-attrib-row-cell{flex-basis:50%;display:flex;overflow:hidden;text-overflow:ellipsis}.criteria-select-object-properties-attrib-row-cell-label{display:inline-flex}.criteria-select-object-properties-attrib-row-cell-text{overflow:hidden;text-overflow:ellipsis;text-wrap:nowrap}.criteria-select-checkbox input{display:none}.criteria-select-checkbox input:checked+span{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<rect x=\"3\" y=\"3\" width=\"12\" height=\"12\" fill=\"%230066CC\"/>%0D%0A<path d=\"M13.0226 7.41421L11.6855 6L8.3428 9.5356L6.33707 7.41416L5 8.82837L8.34269 12.3639L13.0226 7.41421Z\" fill=\"white\"/>%0D%0A</svg>%0D%0A')}.criteria-select-checkbox input:checked+span:hover{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<rect x=\"3\" y=\"3\" width=\"12\" height=\"12\" fill=\"%23005BB6\"/>%0D%0A<path d=\"M13.0226 7.41421L11.6855 6L8.3428 9.5356L6.33707 7.41416L5 8.82837L8.34269 12.3639L13.0226 7.41421Z\" fill=\"white\"/>%0D%0A</svg>%0D%0A')}.criteria-select-checkbox input:checked:disabled+span{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<rect x=\"3\" y=\"3\" width=\"12\" height=\"12\" fill=\"%23D3D3D3\"/>%0D%0A<path d=\"M13.0226 7.41421L11.6855 6L8.3428 9.5356L6.33707 7.41416L5 8.82837L8.34269 12.3639L13.0226 7.41421Z\" fill=\"white\"/>%0D%0A</svg>%0D%0A')}.criteria-select-checkbox input:disabled+span{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<rect x=\"3.5\" y=\"3.5\" width=\"11\" height=\"11\" fill=\"white\" stroke=\"%23D3D3D3\"/>%0D%0A</svg>%0D%0A')}.criteria-select-checkbox span{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<rect x=\"3.5\" y=\"3.5\" width=\"11\" height=\"11\" fill=\"white\" stroke=\"%238D8D8D\"/>%0D%0A</svg>%0D%0A');width:1.8rem;height:1.8rem;margin-top:.1rem;vertical-align:middle;border:0;background-color:transparent;background-position:-.3rem center;background-size:100% 100%;background-repeat:no-repeat}.criteria-select-checkbox span:hover{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<rect x=\"3.5\" y=\"3.5\" width=\"11\" height=\"11\" fill=\"%23F5F5F5\" stroke=\"%238D8D8D\"/>%0D%0A</svg>%0D%0A')}\n"] }]
220
+ args: [{ selector: 'lib-criteria-select-object-properties', standalone: true, imports: [ExpansionPanelHeaderComponent, ExpansionPanelComponent, TranslateModule, BimplusObjectStructureComponent, BimplusObjectComplexPropertiesComponent], template: "<!-- Object structure-->\r\n<lib-expansion-panel>\r\n <lib-expansion-panel-header>\r\n <span class=\"criteria-select-object-properties-header\"> {{\"_Object structure\" | translate}}</span>\r\n </lib-expansion-panel-header>\r\n @if(objectStructure){\r\n <lib-bimplus-object-structure\r\n [objectStructure]=\"objectStructure\"\r\n (nodeSelected)=\"handleObjectStructureNodeSelected($event)\"\r\n >\r\n </lib-bimplus-object-structure>\r\n }\r\n</lib-expansion-panel>\r\n<!-- End Object structure-->\r\n\r\n<!-- Complex properties-->\r\n@if(complexProperties){ \r\n <lib-expansion-panel>\r\n <lib-expansion-panel-header>\r\n <span class=\"criteria-select-object-properties-header\"> {{\"_Object multiproperties tree\" | translate}}</span>\r\n </lib-expansion-panel-header>\r\n <lib-bimplus-object-complex-properties\r\n [complexProperties]=\"complexProperties\"\r\n (nodeSelected)=\"handleComplexPropertyNodeSelected($event)\"\r\n >\r\n </lib-bimplus-object-complex-properties> \r\n </lib-expansion-panel>\r\n}\r\n<!-- End Complex properties-->\r\n\r\n<!-- Properties list-->\r\n@if(objectAttributeGroups.length > 0){ \r\n <lib-expansion-panel>\r\n <lib-expansion-panel-header>\r\n <span class=\"criteria-select-object-properties-header\"> {{\"_Object properties\" | translate}}</span>\r\n </lib-expansion-panel-header>\r\n\r\n @for (attribGroup of objectAttributeGroups; track attribGroup) {\r\n <lib-expansion-panel [expanded]=\"attribGroup.expanded\">\r\n <lib-expansion-panel-header>\r\n <span class=\"criteria-select-object-properties-group-header\"> {{attribGroup.name}}</span>\r\n </lib-expansion-panel-header>\r\n <div>\r\n @for (attrib of attribGroup.attributes; track attrib) {\r\n <div class=\"criteria-select-object-properties-attrib-row\">\r\n <div class=\"criteria-select-object-properties-attrib-row-content\">\r\n <div class=\"criteria-select-object-properties-attrib-row-cell criteria-select-checkbox\">\r\n <label class=\"criteria-select-object-properties-attrib-row-cell-label\">\r\n <input\r\n type=\"checkbox\"\r\n [checked]=\"attrib.checked\"\r\n [disabled]=\"filterCriteria.length === MaxFilterCriteria && !attrib.checked\"\r\n (click)=\"toggleAttribute(attrib)\"\r\n (keypress)=\"toggleAttribute(attrib)\"\r\n >\r\n <span></span>\r\n </label>\r\n <div class=\"criteria-select-object-properties-attrib-row-cell-text\">{{attrib.name}}</div>\r\n </div>\r\n <div class=\"criteria-select-object-properties-attrib-row-cell criteria-select-checkbox\">\r\n <label class=\"criteria-select-object-properties-attrib-row-cell-label\">\r\n <input\r\n type=\"checkbox\"\r\n [checked]=\"attrib.valueChecked\"\r\n [disabled]=\"filterCriteria.length === MaxFilterCriteria && !attrib.checked\"\r\n (click)=\"toggleAttributeValue(attrib)\"\r\n (keypress)=\"toggleAttributeValue(attrib)\"\r\n >\r\n <span></span>\r\n </label>\r\n @if(attrib.value){\r\n <div class=\"criteria-select-object-properties-attrib-row-cell-text\">{{attrib.value}}</div>\r\n }@else {\r\n <div class=\"criteria-select-object-properties-attrib-row-cell-text\">...</div>\r\n }\r\n </div>\r\n </div>\r\n </div>\r\n }\r\n </div>\r\n </lib-expansion-panel> \r\n }\r\n </lib-expansion-panel>\r\n}\r\n<!-- End Properties list-->", styles: ["lib-bimplus-object-structure{--bimplus-object-structure-background-color: transparent}lib-bimplus-object-complex-properties{--bimplus-object-complex-properties-background-color: transparent}.criteria-select-object-properties-header{font-weight:700;text-transform:uppercase;font-size:1.4rem}.criteria-select-object-properties-group-header{line-height:2.4rem}.criteria-select-object-properties-attrib-row{display:flex;width:calc(100% - 2rem);flex-direction:row;flex-wrap:nowrap;overflow:hidden;padding-left:2rem}.criteria-select-object-properties-attrib-row:hover{background-color:var(--object-navigator-criteria-select-object-properties-attribute-row-background-color-hovered)}.criteria-select-object-properties-attrib-row-content{display:inline-flex;width:100%}.criteria-select-object-properties-attrib-row-cell{flex-basis:50%;display:flex;overflow:hidden;text-overflow:ellipsis}.criteria-select-object-properties-attrib-row-cell-label{display:inline-flex}.criteria-select-object-properties-attrib-row-cell-text{overflow:hidden;text-overflow:ellipsis;text-wrap:nowrap}.criteria-select-checkbox input{display:none}.criteria-select-checkbox input:checked+span{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<rect x=\"3\" y=\"3\" width=\"12\" height=\"12\" fill=\"%230066CC\"/>%0D%0A<path d=\"M13.0226 7.41421L11.6855 6L8.3428 9.5356L6.33707 7.41416L5 8.82837L8.34269 12.3639L13.0226 7.41421Z\" fill=\"white\"/>%0D%0A</svg>%0D%0A')}.criteria-select-checkbox input:checked+span:hover{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<rect x=\"3\" y=\"3\" width=\"12\" height=\"12\" fill=\"%23005BB6\"/>%0D%0A<path d=\"M13.0226 7.41421L11.6855 6L8.3428 9.5356L6.33707 7.41416L5 8.82837L8.34269 12.3639L13.0226 7.41421Z\" fill=\"white\"/>%0D%0A</svg>%0D%0A')}.criteria-select-checkbox input:checked:disabled+span{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<rect x=\"3\" y=\"3\" width=\"12\" height=\"12\" fill=\"%23D3D3D3\"/>%0D%0A<path d=\"M13.0226 7.41421L11.6855 6L8.3428 9.5356L6.33707 7.41416L5 8.82837L8.34269 12.3639L13.0226 7.41421Z\" fill=\"white\"/>%0D%0A</svg>%0D%0A')}.criteria-select-checkbox input:disabled+span{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<rect x=\"3.5\" y=\"3.5\" width=\"11\" height=\"11\" fill=\"white\" stroke=\"%23D3D3D3\"/>%0D%0A</svg>%0D%0A')}.criteria-select-checkbox span{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<rect x=\"3.5\" y=\"3.5\" width=\"11\" height=\"11\" fill=\"white\" stroke=\"%238D8D8D\"/>%0D%0A</svg>%0D%0A');width:1.8rem;height:1.8rem;margin-top:.1rem;vertical-align:middle;border:0;background-color:transparent;background-position:-.3rem center;background-size:100% 100%;background-repeat:no-repeat}.criteria-select-checkbox span:hover{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<rect x=\"3.5\" y=\"3.5\" width=\"11\" height=\"11\" fill=\"%23F5F5F5\" stroke=\"%238D8D8D\"/>%0D%0A</svg>%0D%0A')}\n"] }]
221
221
  }], ctorParameters: () => [{ type: i1.TranslateService }], propDecorators: { api: [{
222
222
  type: Input
223
223
  }], rootObjectId: [{
@@ -229,4 +229,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImpo
229
229
  }], filterCriteriaChange: [{
230
230
  type: Output
231
231
  }] } });
232
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JpdGVyaWEtc2VsZWN0LW9iamVjdC1wcm9wZXJ0aWVzLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1iaW1wbHVzLWNvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL2JpbXBsdXMtb2JqZWN0LW5hdmlnYXRvci9jcml0ZXJpYS1zZWxlY3Qtb2JqZWN0LXByb3BlcnRpZXMvY3JpdGVyaWEtc2VsZWN0LW9iamVjdC1wcm9wZXJ0aWVzLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1iaW1wbHVzLWNvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL2JpbXBsdXMtb2JqZWN0LW5hdmlnYXRvci9jcml0ZXJpYS1zZWxlY3Qtb2JqZWN0LXByb3BlcnRpZXMvY3JpdGVyaWEtc2VsZWN0LW9iamVjdC1wcm9wZXJ0aWVzLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBVSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFL0UsT0FBTyxFQUFFLGVBQWUsRUFBRSxJQUFJLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDN0MsT0FBTyxFQUFFLCtCQUErQixFQUFFLE1BQU0sbUVBQW1FLENBQUM7QUFDcEgsT0FBTyxFQUFFLGVBQWUsRUFBb0IsTUFBTSxxQkFBcUIsQ0FBQztBQUN4RSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxpREFBaUQsQ0FBQztBQUMxRixPQUFPLEVBQUUsNkJBQTZCLEVBQUUsTUFBTSwrREFBK0QsQ0FBQztBQUM5RyxPQUFPLEVBQW1CLGlCQUFpQixFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFDM0YsT0FBTyxFQUFFLCtCQUErQixFQUFFLE1BQU0sbUVBQW1FLENBQUM7QUFDcEgsT0FBTyxFQUFFLHVDQUF1QyxFQUFF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QUEwQixDQUFDLGtCQUFrQixDQUFDLGFBQWEsQ0FBQyxDQUFDO2dCQUN2RixDQUFDO1lBQ0gsQ0FBQztTQUNGLENBQUMsQ0FBQTtJQUNKLENBQUM7K0dBdFFVLHVDQUF1QzttR0FBdkMsdUNBQXVDLGlTQ3JCcEQseTNIQW9GMkIsZ3lHRG5FZCw2QkFBNkIsdUVBQUUsdUJBQXVCLHFGQUFFLGVBQWUsNEZBQUUsK0JBQStCLGlJQUFFLHVDQUF1Qzs7NEZBSWpKLHVDQUF1QztrQkFQbkQsU0FBUzsrQkFDRSx1Q0FBdUMsY0FDckMsSUFBSSxXQUNQLENBQUUsNkJBQTZCLEVBQUUsdUJBQXVCLEVBQUUsZUFBZSxFQUFFLCtCQUErQixFQUFFLHVDQUF1QyxDQUFDO3FGQTZCN0osR0FBRztzQkFERixLQUFLO2dCQUlGLFlBQVk7c0JBRGYsS0FBSztnQkFhTixRQUFRO3NCQURQLEtBQUs7Z0JBY0YsY0FBYztzQkFEakIsS0FBSztnQkFNSSxvQkFBb0I7c0JBQTdCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uSW5pdCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCAqIGFzIFdlYlNkayBmcm9tICdiaW1wbHVzLXdlYnNkayc7XHJcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgZnJvbSB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBCaW1wbHVzTG9jYWxpemVkV2lkZ2V0Q29tcG9uZW50IH0gZnJvbSAnLi4vLi4vYmltcGx1cy1sb2NhbGl6ZWQtd2lkZ2V0L2JpbXBsdXMtbG9jYWxpemVkLXdpZGdldC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBUcmFuc2xhdGVNb2R1bGUsIFRyYW5zbGF0ZVNlcnZpY2UgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcclxuaW1wb3J0IHsgRXhwYW5zaW9uUGFuZWxDb21wb25lbnQgfSBmcm9tICcuLi8uLi9leHBhbnNpb24tcGFuZWwvZXhwYW5zaW9uLXBhbmVsLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEV4cGFuc2lvblBhbmVsSGVhZGVyQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vZXhwYW5zaW9uLXBhbmVsLWhlYWRlci9leHBhbnNpb24tcGFuZWwtaGVhZGVyLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEZpbHRlckNyaXRlcml1bSwgTWF4RmlsdGVyQ3JpdGVyaWEgfSBmcm9tICcuLi9iaW1wbHVzLW9iamVjdC1uYXZpZ2F0b3IuaW50ZXJmYWNlJztcclxuaW1wb3J0IHsgQmltcGx1c09iamVjdFN0cnVjdHVyZUNvbXBvbmVudCB9IGZyb20gJy4uLy4uL2JpbXBsdXMtb2JqZWN0LXN0cnVjdHVyZS9iaW1wbHVzLW9iamVjdC1zdHJ1Y3R1cmUuY29tcG9uZW50JztcclxuaW1wb3J0IHsgQmltcGx1c09iamVjdENvbXBsZXhQcm9wZXJ0aWVzQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vYmltcGx1cy1vYmplY3QtY29tcGxleC1wcm9wZXJ0aWVzL2JpbXBsdXMtb2JqZWN0LWNvbXBsZXgtcHJvcGVydGllcy5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBPYmplY3RTdHJ1Y3R1cmVOb2RlLCBPYmplY3RTdHJ1Y3R1cmVOb2RlQnVpbGRlciB9IGZyb20gJy4uLy4uL2JpbXBsdXMtb2JqZWN0LXN0cnVjdHVyZS9iaW1wbHVzLW9iamVjdC1zdHJ1Y3R1cmUuaW50ZXJmYWNlJztcclxuaW1wb3J0IHsgQ29tcGxleFByb3BlcnRpZXNOb2RlLCBDb21wbGV4UHJvcGVydGllc05vZGVCdWlsZGVyIH0gZnJvbSAnLi4vLi4vYmltcGx1cy1vYmplY3QtY29tcGxleC1wcm9wZXJ0aWVzL2JpbXBsdXMtb2JqZWN0LWNvbXBsZXgtcHJvcGVydGllcy5pbnRlcmZhY2UnO1xyXG5pbXBvcnQgeyBPYmplY3RBdHRyaWJ1dGUsIE9iamVjdEF0dHJpYnV0ZUdyb3VwIH0gZnJvbSAnLi9jcml0ZXJpYS1zZWxlY3Qtb2JqZWN0LXByb3BlcnRpZXMuaW50ZXJmYWNlJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnbGliLWNyaXRlcmlhLXNlbGVjdC1vYmplY3QtcHJvcGVydGllcycsXHJcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcclxuICBpbXBvcnRzOiBbIEV4cGFuc2lvblBhbmVsSGVhZGVyQ29tcG9uZW50LCBFeHBhbnNpb25QYW5lbENvbXBvbmVudCwgVHJhbnNsYXRlTW9kdWxlLCBCaW1wbHVzT2JqZWN0U3RydWN0dXJlQ29tcG9uZW50LCBCaW1wbHVzT2JqZWN0Q29tcGxleFByb3BlcnRpZXNDb21wb25lbnRdLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9jcml0ZXJpYS1zZWxlY3Qtb2JqZWN0LXByb3BlcnRpZXMuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsOiAnLi9jcml0ZXJpYS1zZWxlY3Qtb2JqZWN0LXByb3BlcnRpZXMuY29tcG9uZW50Lmxlc3MnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBDcml0ZXJpYVNlbGVjdE9iamVjdFByb3BlcnRpZXNDb21wb25lbnQgZXh0ZW5kcyBCaW1wbHVzTG9jYWxpemVkV2lkZ2V0Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcclxuXHJcbiAgY29uc3RydWN0b3IodHJhbnNsYXRlU2VydmljZTogIFRyYW5zbGF0ZVNlcnZpY2Upe1xyXG4gICAgc3VwZXIodHJhbnNsYXRlU2VydmljZSkgIFxyXG4gIH1cclxuICBcclxuICBuZ09uSW5pdCgpIHtcclxuICAgIHRoaXMuX2N1cnJlbnRQcm9wZXJ0aWVzT2JqZWN0SWQkLnN1YnNjcmliZSh7XHJcbiAgICAgIG5leHQ6IChpZCkgPT4ge1xyXG4gICAgICAgIGlmKGlkKXtcclxuICAgICAgICAgIHRoaXMuX2NyZWF0ZU9iamVjdFByb3BlcnRpZXMoaWQsIHRoaXMucmV2aXNpb24pXHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9KTtcclxuXHJcbiAgICB0aGlzLl9jdXJyZW50T2JqZWN0SWQkLnN1YnNjcmliZSh7XHJcbiAgICAgIG5leHQ6IChpZCkgPT4ge1xyXG4gICAgICAgIHRoaXMuX2N1cnJlbnRQcm9wZXJ0aWVzT2JqZWN0SWQkLm5leHQoaWQpO1xyXG4gICAgICAgIHRoaXMuX2NyZWF0ZUNvbXBsZXhQcm9wZXJ0aWVzdHJ1Y3R1cmUoaWQsIHRoaXMucmV2aXNpb24pO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuXHJcbiAgfVxyXG5cclxuICBASW5wdXQoKVxyXG4gIGFwaSA6IFdlYlNkay5BcGkgfCBudWxsID0gbnVsbDtcclxuXHJcbiAgQElucHV0KClcclxuICBzZXQgcm9vdE9iamVjdElkKGlkIDogc3RyaW5nKXtcclxuICAgIHRoaXMuX2N1cnJlbnRPYmplY3RJZCQubmV4dChpZCk7XHJcbiAgICB0aGlzLl9jcmVhdGVPYmplY3RTdHJ1Y3R1cmUoaWQsIHRoaXMucmV2aXNpb24pO1xyXG4gICAgXHJcbiAgICB0aGlzLl9yb290T2JqZWN0SWQgPSBpZDtcclxuICB9XHJcblxyXG4gIGdldCByb290T2JqZWN0SWQoKSA6IHN0cmluZ3tcclxuICAgIHJldHVybiB0aGlzLl9yb290T2JqZWN0SWQ7XHJcbiAgfVxyXG5cclxuICBASW5wdXQoKVxyXG4gIHJldmlzaW9uIDogbnVtYmVyIHwgdW5kZWZpbmVkID0gdW5kZWZpbmVkO1xyXG4gIFxyXG4gIHByaXZhdGUgX2N1cnJlbnRPYmplY3RJZCQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PHN0cmluZz4gKFwiXCIpO1xyXG5cclxuICBwcml2YXRlIF9jdXJyZW50UHJvcGVydGllc09iamVjdElkJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8c3RyaW5nPiAoXCJcIik7XHJcblxyXG4gIG9iamVjdEF0dHJpYnV0ZUdyb3VwcyA6IE9iamVjdEF0dHJpYnV0ZUdyb3VwW10gPSBbXTtcclxuXHJcbiAgTWF4RmlsdGVyQ3JpdGVyaWEgPSBNYXhGaWx0ZXJDcml0ZXJpYTsgLy8gRm9yIGV4cG9zdXJlIHRvIHRlbXBsYXRlXHJcblxyXG4gIHByaXZhdGUgX3Jvb3RPYmplY3RJZCA6IHN0cmluZyA9IFwiXCI7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgc2V0IGZpbHRlckNyaXRlcmlhKGNyaXRlcmlhIDogRmlsdGVyQ3JpdGVyaXVtW10pe1xyXG4gICAgdGhpcy5fZmlsdGVyQ3JpdGVyaWEgPSBjcml0ZXJpYTtcclxuICAgIHRoaXMuX3N5bmNBdHRyaWJ1dGVTdGF0ZXNGcm9tQ3JpdGVyaWEoKTtcclxuICB9XHJcblxyXG4gIEBPdXRwdXQoKSBmaWx0ZXJDcml0ZXJpYUNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8RmlsdGVyQ3JpdGVyaXVtW10+KCk7XHJcblxyXG4gIGdldCBmaWx0ZXJDcml0ZXJpYSgpe1xyXG4gICAgcmV0dXJuIHRoaXMuX2ZpbHRlckNyaXRlcmlhO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBfZmlsdGVyQ3JpdGVyaWEgOiBGaWx0ZXJDcml0ZXJpdW1bXSA9IFtdO1xyXG5cclxuICBwcml2YXRlIF9vYmplY3RTdHJ1Y3R1cmUgOiBPYmplY3RTdHJ1Y3R1cmVOb2RlIHwgbnVsbCA9IG51bGw7XHJcblxyXG4gICBnZXQgb2JqZWN0U3RydWN0dXJlKCk6IE9iamVjdFN0cnVjdHVyZU5vZGUgfCBudWxse1xyXG4gICAgcmV0dXJuIHRoaXMuX29iamVjdFN0cnVjdHVyZVxyXG4gICB9XHJcblxyXG4gICBwcml2YXRlIF9jb21wbGV4UHJvcGVydGllcyA6IENvbXBsZXhQcm9wZXJ0aWVzTm9kZSB8IG51bGwgPSBudWxsO1xyXG5cclxuICAgZ2V0IGNvbXBsZXhQcm9wZXJ0aWVzKCkgOiBDb21wbGV4UHJvcGVydGllc05vZGUgfCBudWxse1xyXG4gICAgcmV0dXJuIHRoaXMuX2NvbXBsZXhQcm9wZXJ0aWVzO1xyXG4gICB9XHJcblxyXG4gIHRvZ2dsZUF0dHJpYnV0ZShhdHRyaWIgOiBPYmplY3RBdHRyaWJ1dGUpe1xyXG4gICAgYXR0cmliLmNoZWNrZWQgPSAhYXR0cmliLmNoZWNrZWQ7XHJcbiAgICBpZihhdHRyaWIuY2hlY2tlZCA9PT0gZmFsc2Upe1xyXG4gICAgICBhdHRyaWIudmFsdWVDaGVja2VkID0gZmFsc2U7XHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy5oYW5kbGVGaWx0ZXJDcml0ZXJpdW1BdHRyaWJ1dGVTdGF0ZUNoYW5nZShhdHRyaWIpO1xyXG4gIH1cclxuXHJcbiAgdG9nZ2xlQXR0cmlidXRlVmFsdWUoYXR0cmliIDogT2JqZWN0QXR0cmlidXRlKXtcclxuICAgIGF0dHJpYi52YWx1ZUNoZWNrZWQgPSAhYXR0cmliLnZhbHVlQ2hlY2tlZDtcclxuICAgIGF0dHJpYi5jaGVja2VkID0gYXR0cmliLnZhbHVlQ2hlY2tlZDtcclxuXHJcbiAgICB0aGlzLmhhbmRsZUZpbHRlckNyaXRlcml1bUF0dHJpYnV0ZVN0YXRlQ2hhbmdlKGF0dHJpYik7XHJcbiAgfVxyXG5cclxuICBoYW5kbGVGaWx0ZXJDcml0ZXJpdW1BdHRyaWJ1dGVTdGF0ZUNoYW5nZShhdHRyaWIgOiBPYmplY3RBdHRyaWJ1dGUpe1xyXG4gICAgXHJcbiAgICBjb25zdCBpbmRleCA9IHRoaXMuZmlsdGVyQ3JpdGVyaWEuZmluZEluZGV4KHg9PnguaWQgPT09IGF0dHJpYi5pZCk7XHJcbiAgICBpZihpbmRleD49MCl7XHJcbiAgICAgIGlmKGF0dHJpYi5jaGVja2VkID09PSBmYWxzZSB8fCBhdHRyaWIudmFsdWVDaGVja2VkID09PSBmYWxzZSl7XHJcbiAgICAgICAgdGhpcy5maWx0ZXJDcml0ZXJpYS5zcGxpY2UoaW5kZXgsIDEpO1xyXG4gICAgICAgIHRoaXMuZmlsdGVyQ3JpdGVyaWFDaGFuZ2UuZW1pdCh0aGlzLmZpbHRlckNyaXRlcmlhKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgZWxzZSBpZih0aGlzLmZpbHRlckNyaXRlcmlhLmxlbmd0aCA8IE1heEZpbHRlckNyaXRlcmlhKXtcclxuXHJcbiAgICAgICAgbGV0IHN1YnN0cmluZyA9IGBbSV1bJHthdHRyaWIuaWR9XS5WYWx1ZWA7XHJcblxyXG4gICAgICAgIGlmKGF0dHJpYi52YWx1ZUNoZWNrZWQpe1xyXG4gICAgICAgICAgc3Vic3RyaW5nICs9IGBbRl1bMF09JHthdHRyaWIudmFsdWV9YDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHRoaXMuZmlsdGVyQ3JpdGVyaWEucHVzaCh7XHJcbiAgICAgICAgICBuYW1lIDogYXR0cmliLm5hbWUsXHJcbiAgICAgICAgICB2YWx1ZSA6IGF0dHJpYi52YWx1ZUNoZWNrZWQgPyBhdHRyaWIudmFsdWUgOiB1bmRlZmluZWQsXHJcbiAgICAgICAgICBpZCA6IGF0dHJpYi5pZCxcclxuICAgICAgICAgIHN1YlN0cmluZyA6IHN1YnN0cmluZ1xyXG4gICAgICAgIH0pO1xyXG5cclxuICAgICAgICB0aGlzLmZpbHRlckNyaXRlcmlhQ2hhbmdlLmVtaXQodGhpcy5maWx0ZXJDcml0ZXJpYSk7XHJcbiAgICAgIH1cclxuICB9XHJcblxyXG4gIGhhbmRsZU9iamVjdFN0cnVjdHVyZU5vZGVTZWxlY3RlZChub2RlIDogT2JqZWN0U3RydWN0dXJlTm9kZSl7XHJcbiAgICB0aGlzLl9jdXJyZW50T2JqZWN0SWQkLm5leHQobm9kZS5pZCk7XHJcbiAgfVxyXG5cclxuICBoYW5kbGVDb21wbGV4UHJvcGVydHlOb2RlU2VsZWN0ZWQobm9kZSA6IENvbXBsZXhQcm9wZXJ0aWVzTm9kZSl7XHJcbiAgICB0aGlzLl9jdXJyZW50UHJvcGVydGllc09iamVjdElkJC5uZXh0KG5vZGUuaWQpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBfY3JlYXRlT2JqZWN0UHJvcGVydGllcyhvYmplY3RJZCA6IHN0cmluZywgcmV2aXNpb24gOiBudW1iZXIgfCB1bmRlZmluZWQpe1xyXG4gICAgdGhpcy5fbG9hZE9iamVjdFByb3BlcnRpZXMob2JqZWN0SWQsIHJldmlzaW9uKT8uc3Vic2NyaWJlKHtcclxuICAgICAgICBcclxuICAgICAgICAvLyBwcm9wZXJ0aWVzIHJlc3BvbnNlIGlzIGJhZGx5IHN0cnVjdHVyZWQsIG5lYXJseSBpbXBvc3NpYmxlIHRvIGNyZWF0ZSBjbGFzcyBzdHJ1Y3R1cmUgZnJvbSBpdC4gVGhlcmVmb3JlIHVzaW5nIHNob3J0Y3V0XHJcbiAgICAgICAgLy8gYW55IGZvciBqc29uIHJlc3BvbnNlXHJcblxyXG4gICAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSAgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueVxyXG4gICAgICAgIG5leHQ6IChwcm9wZXJ0aWVzRGF0YSA6IGFueSkgPT4ge1xyXG4gICAgICAgICAgdGhpcy5vYmplY3RBdHRyaWJ1dGVHcm91cHMgPSB0aGlzLl9jcmVhdGVBdHRyaWJ1dGVHcm91cHNGcm9tUmVzcG9uc2UocHJvcGVydGllc0RhdGEpO1xyXG4gICAgICAgICAgdGhpcy5fc3luY0F0dHJpYnV0ZVN0YXRlc0Zyb21Dcml0ZXJpYSgpO1xyXG4gICAgICAgIH0sXHJcbiAgICAgICAgZXJyb3I6ICgpID0+e1xyXG4gICAgICAgICAgdGhpcy5vYmplY3RBdHRyaWJ1dGVHcm91cHMgPSBbXTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIClcclxuXHJcbiAgfVxyXG5cclxuICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lICBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55XHJcbiAgcHJpdmF0ZSBfY3JlYXRlQXR0cmlidXRlR3JvdXBzRnJvbVJlc3BvbnNlKHByb3BlcnRpZXNEYXRhIDogYW55KXtcclxuXHJcbiAgICBjb25zdCBncm91cHMgOiBBcnJheTxPYmplY3RBdHRyaWJ1dGVHcm91cD4gPSBbXTtcclxuICAgIGxldCBsb2NhbGl6ZWRBdHRyaWJHcm91cHMgPSBudWxsO1xyXG4gICAgaWYocHJvcGVydGllc0RhdGEubG9jYWxpemVkQXR0cmlidXRlR3JvdXBzKXtcclxuICAgICAgbG9jYWxpemVkQXR0cmliR3JvdXBzID0gcHJvcGVydGllc0RhdGEubG9jYWxpemVkQXR0cmlidXRlR3JvdXBzO1xyXG4gICAgfVxyXG5cclxuICAgIGlmICghcHJvcGVydGllc0RhdGEuYXR0cmlidXRlcyl7XHJcbiAgICAgIHJldHVybiBncm91cHM7XHJcbiAgICB9XHJcblxyXG4gICAgY29uc3QgYXR0cmliR3JvdXBzID0gcHJvcGVydGllc0RhdGEuYXR0cmlidXRlcztcclxuICAgIGZvcihjb25zdCBbZ3JvdXBOYW1lLCBhdHRyaWJzT2JqZWN0XSBvZiBPYmplY3QuZW50cmllcyhhdHRyaWJHcm91cHMpKXtcclxuICAgICAgXHJcbiAgICAgIGNvbnN0IG5ld0dyb3VwIDogT2JqZWN0QXR0cmlidXRlR3JvdXAgPSB7XHJcbiAgICAgICAgbmFtZSA6IGdyb3VwTmFtZSxcclxuICAgICAgICBleHBhbmRlZCA6IGZhbHNlLFxyXG4gICAgICAgIGF0dHJpYnV0ZXMgOiBbXVxyXG4gICAgICB9O1xyXG4gICAgICBcclxuICAgICAgaWYobG9jYWxpemVkQXR0cmliR3JvdXBzPy5bZ3JvdXBOYW1lXSl7XHJcbiAgICAgICAgbmV3R3JvdXAubmFtZSA9IGxvY2FsaXplZEF0dHJpYkdyb3Vwc1tncm91cE5hbWVdOyBcclxuICAgICAgfVxyXG5cclxuICAgICAgaWYoIWF0dHJpYnNPYmplY3Qpe1xyXG4gICAgICAgIGNvbnRpbnVlO1xyXG4gICAgICB9XHJcblxyXG4gICAgICBmb3IoY29uc3QgYXR0cmliIG9mIE9iamVjdC52YWx1ZXMoYXR0cmlic09iamVjdCkpe1xyXG5cclxuICAgICAgICBjb25zdCBuZXdBdHRyaWIgOiBPYmplY3RBdHRyaWJ1dGUgPSB7XHJcbiAgICAgICAgICBpZCA6IGF0dHJpYi5pZCxcclxuICAgICAgICAgIG5hbWUgOiBhdHRyaWIubmFtZSxcclxuICAgICAgICAgIGRlc2NyaXB0aW9uIDogYXR0cmliLmRlc2NyaXB0aW9uLFxyXG4gICAgICAgICAgdmFsdWUgOiBhdHRyaWIudmFsdWUsXHJcbiAgICAgICAgICBjaGVja2VkOiBmYWxzZSxcclxuICAgICAgICAgIHZhbHVlQ2hlY2tlZCA6IGZhbHNlLFxyXG4gICAgICAgICAgZ3JvdXAgOiBhdHRyaWIuZ3JvdXBcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIG5ld0dyb3VwLmF0dHJpYnV0ZXMucHVzaChuZXdBdHRyaWIpO1xyXG4gICAgICB9XHJcblxyXG4gICAgICBncm91cHMucHVzaChuZXdHcm91cCk7XHJcbiAgICB9XHJcbiAgICBcclxuICAgIHJldHVybiBncm91cHM7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIF9zeW5jQXR0cmlidXRlU3RhdGVzRnJvbUNyaXRlcmlhKCl7XHJcbiAgICB0aGlzLm9iamVjdEF0dHJpYnV0ZUdyb3Vwcy5mb3JFYWNoKGdyb3VwPT57XHJcbiAgICAgIGdyb3VwLmF0dHJpYnV0ZXMuZm9yRWFjaChhdHRyaWI9PntcclxuICAgICAgICBjb25zdCBjcml0ZXJpYSA9IHRoaXMuX2ZpbHRlckNyaXRlcmlhLmZpbmQoeD0+eC5pZCA9PSBhdHRyaWIuaWQpXHJcbiAgICAgICAgaWYoY3JpdGVyaWEpe1xyXG4gICAgICAgICAgYXR0cmliLmNoZWNrZWQgPSB0cnVlO1xyXG4gICAgICAgICAgYXR0cmliLnZhbHVlQ2hlY2tlZCA9IGNyaXRlcmlhLnZhbHVlICE9PSB1bmRlZmluZWQ7XHJcbiAgICAgICAgfWVsc2V7XHJcbiAgICAgICAgICBhdHRyaWIuY2hlY2tlZCA9IGZhbHNlO1xyXG4gICAgICAgICAgYXR0cmliLnZhbHVlQ2hlY2tlZCA9IGZhbHNlO1xyXG4gICAgICAgIH1cclxuICAgICAgfSlcclxuICAgIH0pXHJcbiAgfVxyXG5cclxuICBwcml2YXRlIF9sb2FkT2JqZWN0UHJvcGVydGllcyhvYmplY3RJZCA6IHN0cmluZywgcmV2aXNpb24gOiBudW1iZXIgfCB1bmRlZmluZWQpe1xyXG4gICAgaWYoIXRoaXMuYXBpKXtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiBmcm9tKHRoaXMuYXBpLm9iamVjdHMuZ2V0KG9iamVjdElkLCByZXZpc2lvbiwgXCI4XCIsIHVuZGVmaW5lZCwgZmFsc2UsIHVuZGVmaW5lZCApKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgX2xvYWRPYmplY3RTdHJ1Y3R1cmUob2JqZWN0SWQgOiBzdHJpbmcsIHJldmlzaW9uIDogbnVtYmVyIHwgdW5kZWZpbmVkKXtcclxuICAgIGlmKCF0aGlzLmFwaSl7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gZnJvbSh0aGlzLmFwaS5vYmplY3RzLmdldFRvcG9sb2d5KG9iamVjdElkLCByZXZpc2lvbiwgZmFsc2UsIGZhbHNlLCB1bmRlZmluZWQpKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgX2xvYWRPYmplY3RDb21wbGV4UHJvcGVydGllc1N0cnVjdHVyZShvYmplY3RJZCA6IHN0cmluZywgcmV2aXNpb24gOiBudW1iZXIgfCB1bmRlZmluZWQpe1xyXG4gICAgaWYoIXRoaXMuYXBpKXtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiBmcm9tKHRoaXMuYXBpLm9iamVjdHMuZ2V0Q29tcGxleFByb3BlcnRpZXNUb3BvbG9neShvYmplY3RJZCwgcmV2aXNpb24pKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgX2NyZWF0ZUNvbXBsZXhQcm9wZXJ0aWVzdHJ1Y3R1cmUob2JqZWN0SWQgOiBzdHJpbmcsIHJldmlzaW9uIDogbnVtYmVyIHwgdW5kZWZpbmVkKXtcclxuICAgIHRoaXMuX2xvYWRPYmplY3RDb21wbGV4UHJvcGVydGllc1N0cnVjdHVyZShvYmplY3RJZCwgcmV2aXNpb24pPy5zdWJzY3JpYmUoe1xyXG4gICAgICBuZXh0IDooc3RydWN0dXJlRGF0YSk9PntcclxuICAgICAgICBpZihzdHJ1Y3R1cmVEYXRhKXtcclxuICAgICAgICAgIGNvbnN0IGNvbXBsZXhQcm9wcyA9IENvbXBsZXhQcm9wZXJ0aWVzTm9kZUJ1aWxkZXIuY3JlYXRlRnJvbVJlc3BvbnNlKHN0cnVjdHVyZURhdGEpO1xyXG4gICAgICAgICAgaWYoY29tcGxleFByb3BzPy5jaGlsZHJlbj8ubGVuZ3RoKXtcclxuICAgICAgICAgICAgdGhpcy5fY29tcGxleFByb3BlcnRpZXMgPSBjb21wbGV4UHJvcHM7XHJcbiAgICAgICAgICB9ZWxzZXtcclxuICAgICAgICAgICAgdGhpcy5fY29tcGxleFByb3BlcnRpZXMgPSBudWxsO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH0gICAgXHJcbiAgICAgIH1cclxuICAgIH0pXHJcbiAgfVxyXG5cclxuICBwcml2YXRlIF9jcmVhdGVPYmplY3RTdHJ1Y3R1cmUob2JqZWN0SWQgOiBzdHJpbmcsIHJldmlzaW9uIDogbnVtYmVyIHwgdW5kZWZpbmVkKXtcclxuICAgIHRoaXMuX2xvYWRPYmplY3RTdHJ1Y3R1cmUob2JqZWN0SWQsIHJldmlzaW9uKT8uc3Vic2NyaWJlKHtcclxuICAgICAgbmV4dCA6KHN0cnVjdHVyZURhdGEpPT57XHJcbiAgICAgICAgaWYoc3RydWN0dXJlRGF0YSl7XHJcbiAgICAgICAgICB0aGlzLl9vYmplY3RTdHJ1Y3R1cmUgPSBPYmplY3RTdHJ1Y3R1cmVOb2RlQnVpbGRlci5jcmVhdGVGcm9tUmVzcG9uc2Uoc3RydWN0dXJlRGF0YSk7XHJcbiAgICAgICAgfSAgICBcclxuICAgICAgfVxyXG4gICAgfSlcclxuICB9XHJcblxyXG5cclxuXHJcbn1cclxuIiwiPCEtLSBPYmplY3Qgc3RydWN0dXJlLS0+XHJcbjxsaWItZXhwYW5zaW9uLXBhbmVsPlxyXG4gIDxsaWItZXhwYW5zaW9uLXBhbmVsLWhlYWRlcj5cclxuICAgIDxzcGFuIGNsYXNzPVwiY3JpdGVyaWEtc2VsZWN0LW9iamVjdC1wcm9wZXJ0aWVzLWhlYWRlclwiPiB7e1wiX09iamVjdCBzdHJ1Y3R1cmVcIiB8IHRyYW5zbGF0ZX19PC9zcGFuPlxyXG4gIDwvbGliLWV4cGFuc2lvbi1wYW5lbC1oZWFkZXI+XHJcbiAgQGlmKG9iamVjdFN0cnVjdHVyZSl7XHJcbiAgICA8bGliLWJpbXBsdXMtb2JqZWN0LXN0cnVjdHVyZVxyXG4gICAgICBbb2JqZWN0U3RydWN0dXJlXT1cIm9iamVjdFN0cnVjdHVyZVwiXHJcbiAgICAgIChub2RlU2VsZWN0ZWQpPVwiaGFuZGxlT2JqZWN0U3RydWN0dXJlTm9kZVNlbGVjdGVkKCRldmVudClcIlxyXG4gICAgPlxyXG4gICAgPC9saWItYmltcGx1cy1vYmplY3Qtc3RydWN0dXJlPiAgXHJcbiAgfVxyXG48L2xpYi1leHBhbnNpb24tcGFuZWw+XHJcbjwhLS0gRW5kIE9iamVjdCBzdHJ1Y3R1cmUtLT5cclxuXHJcbjwhLS0gQ29tcGxleCBwcm9wZXJ0aWVzLS0+XHJcbkBpZihjb21wbGV4UHJvcGVydGllcyl7ICBcclxuICA8bGliLWV4cGFuc2lvbi1wYW5lbD5cclxuICAgIDxsaWItZXhwYW5zaW9uLXBhbmVsLWhlYWRlcj5cclxuICAgICAgPHNwYW4gY2xhc3M9XCJjcml0ZXJpYS1zZWxlY3Qtb2JqZWN0LXByb3BlcnRpZXMtaGVhZGVyXCI+IHt7XCJfT2JqZWN0IG11bHRpcHJvcGVydGllcyB0cmVlXCIgfCB0cmFuc2xhdGV9fTwvc3Bhbj5cclxuICAgIDwvbGliLWV4cGFuc2lvbi1wYW5lbC1oZWFkZXI+XHJcbiAgICAgIDxsaWItYmltcGx1cy1vYmplY3QtY29tcGxleC1wcm9wZXJ0aWVzXHJcbiAgICAgICAgW2NvbXBsZXhQcm9wZXJ0aWVzXT1cImNvbXBsZXhQcm9wZXJ0aWVzXCJcclxuICAgICAgICAobm9kZVNlbGVjdGVkKT1cImhhbmRsZUNvbXBsZXhQcm9wZXJ0eU5vZGVTZWxlY3RlZCgkZXZlbnQpXCJcclxuICAgICAgPlxyXG4gICAgICA8L2xpYi1iaW1wbHVzLW9iamVjdC1jb21wbGV4LXByb3BlcnRpZXM+ICBcclxuICA8L2xpYi1leHBhbnNpb24tcGFuZWw+XHJcbn1cclxuPCEtLSBFbmQgQ29tcGxleCBwcm9wZXJ0aWVzLS0+XHJcblxyXG48IS0tIFByb3BlcnRpZXMgbGlzdC0tPlxyXG5AaWYob2JqZWN0QXR0cmlidXRlR3JvdXBzLmxlbmd0aCA+IDApeyAgXHJcbiAgPGxpYi1leHBhbnNpb24tcGFuZWw+XHJcbiAgICA8bGliLWV4cGFuc2lvbi1wYW5lbC1oZWFkZXI+XHJcbiAgICAgIDxzcGFuIGNsYXNzPVwiY3JpdGVyaWEtc2VsZWN0LW9iamVjdC1wcm9wZXJ0aWVzLWhlYWRlclwiPiB7e1wiX09iamVjdCBwcm9wZXJ0aWVzXCIgfCB0cmFuc2xhdGV9fTwvc3Bhbj5cclxuICAgIDwvbGliLWV4cGFuc2lvbi1wYW5lbC1oZWFkZXI+XHJcblxyXG4gICAgQGZvciAoYXR0cmliR3JvdXAgb2Ygb2JqZWN0QXR0cmlidXRlR3JvdXBzOyB0cmFjayBhdHRyaWJHcm91cCkge1xyXG4gICAgICA8bGliLWV4cGFuc2lvbi1wYW5lbCBbZXhwYW5kZWRdPVwiYXR0cmliR3JvdXAuZXhwYW5kZWRcIj5cclxuICAgICAgICA8bGliLWV4cGFuc2lvbi1wYW5lbC1oZWFkZXI+XHJcbiAgICAgICAgICA8c3BhbiBjbGFzcz1cImNyaXRlcmlhLXNlbGVjdC1vYmplY3QtcHJvcGVydGllcy1ncm91cC1oZWFkZXJcIj4ge3thdHRyaWJHcm91cC5uYW1lfX08L3NwYW4+XHJcbiAgICAgICAgPC9saWItZXhwYW5zaW9uLXBhbmVsLWhlYWRlcj5cclxuICAgICAgICA8ZGl2PlxyXG4gICAgICAgICAgQGZvciAoYXR0cmliIG9mIGF0dHJpYkdyb3VwLmF0dHJpYnV0ZXM7IHRyYWNrIGF0dHJpYikge1xyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY3JpdGVyaWEtc2VsZWN0LW9iamVjdC1wcm9wZXJ0aWVzLWF0dHJpYi1yb3dcIj5cclxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY3JpdGVyaWEtc2VsZWN0LW9iamVjdC1wcm9wZXJ0aWVzLWF0dHJpYi1yb3ctY29udGVudFwiPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNyaXRlcmlhLXNlbGVjdC1vYmplY3QtcHJvcGVydGllcy1hdHRyaWItcm93LWNlbGwgY3JpdGVyaWEtc2VsZWN0LWNoZWNrYm94XCI+XHJcbiAgICAgICAgICAgICAgICAgIDxsYWJlbCBjbGFzcz1cImNyaXRlcmlhLXNlbGVjdC1vYmplY3QtcHJvcGVydGllcy1hdHRyaWItcm93LWNlbGwtbGFiZWxcIj5cclxuICAgICAgICAgICAgICAgICAgICA8aW5wdXRcclxuICAgICAgICAgICAgICAgICAgICAgIHR5cGU9XCJjaGVja2JveFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICBbY2hlY2tlZF09XCJhdHRyaWIuY2hlY2tlZFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICBbZGlzYWJsZWRdPVwiZmlsdGVyQ3JpdGVyaWEubGVuZ3RoID09PSBNYXhGaWx0ZXJDcml0ZXJpYSAmJiAhYXR0cmliLmNoZWNrZWRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cInRvZ2dsZUF0dHJpYnV0ZShhdHRyaWIpXCJcclxuICAgICAgICAgICAgICAgICAgICAgIChrZXlwcmVzcyk9XCJ0b2dnbGVBdHRyaWJ1dGUoYXR0cmliKVwiXHJcbiAgICAgICAgICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgICAgICAgIDxzcGFuPjwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgPC9sYWJlbD5cclxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNyaXRlcmlhLXNlbGVjdC1vYmplY3QtcHJvcGVydGllcy1hdHRyaWItcm93LWNlbGwtdGV4dFwiPnt7YXR0cmliLm5hbWV9fTwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8ZGl2ICBjbGFzcz1cImNyaXRlcmlhLXNlbGVjdC1vYmplY3QtcHJvcGVydGllcy1hdHRyaWItcm93LWNlbGwgY3JpdGVyaWEtc2VsZWN0LWNoZWNrYm94XCI+XHJcbiAgICAgICAgICAgICAgICAgIDxsYWJlbCBjbGFzcz1cImNyaXRlcmlhLXNlbGVjdC1vYmplY3QtcHJvcGVydGllcy1hdHRyaWItcm93LWNlbGwtbGFiZWxcIj5cclxuICAgICAgICAgICAgICAgICAgICA8aW5wdXRcclxuICAgICAgICAgICAgICAgICAgICAgIHR5cGU9XCJjaGVja2JveFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICBbY2hlY2tlZF09XCJhdHRyaWIudmFsdWVDaGVja2VkXCJcclxuICAgICAgICAgICAgICAgICAgICAgIFtkaXNhYmxlZF09XCJmaWx0ZXJDcml0ZXJpYS5sZW5ndGggPT09IE1heEZpbHRlckNyaXRlcmlhICYmICFhdHRyaWIuY2hlY2tlZFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwidG9nZ2xlQXR0cmlidXRlVmFsdWUoYXR0cmliKVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAoa2V5cHJlc3MpPVwidG9nZ2xlQXR0cmlidXRlVmFsdWUoYXR0cmliKVwiXHJcbiAgICAgICAgICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgICAgICAgIDxzcGFuPjwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgPC9sYWJlbD5cclxuICAgICAgICAgICAgICAgICAgQGlmKGF0dHJpYi52YWx1ZSl7XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNyaXRlcmlhLXNlbGVjdC1vYmplY3QtcHJvcGVydGllcy1hdHRyaWItcm93LWNlbGwtdGV4dFwiPnt7YXR0cmliLnZhbHVlfX08L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgfUBlbHNlIHtcclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY3JpdGVyaWEtc2VsZWN0LW9iamVjdC1wcm9wZXJ0aWVzLWF0dHJpYi1yb3ctY2VsbC10ZXh0XCI+Li4uPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICB9XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgICA8L2xpYi1leHBhbnNpb24tcGFuZWw+ICAgIFxyXG4gICAgfVxyXG4gIDwvbGliLWV4cGFuc2lvbi1wYW5lbD5cclxufVxyXG48IS0tIEVuZCBQcm9wZXJ0aWVzIGxpc3QtLT4iXX0=
232
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JpdGVyaWEtc2VsZWN0LW9iamVjdC1wcm9wZXJ0aWVzLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1iaW1wbHVzLWNvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL2JpbXBsdXMtb2JqZWN0LW5hdmlnYXRvci9jcml0ZXJpYS1zZWxlY3Qtb2JqZWN0LXByb3BlcnRpZXMvY3JpdGVyaWEtc2VsZWN0LW9iamVjdC1wcm9wZXJ0aWVzLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1iaW1wbHVzLWNvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL2JpbXBsdXMtb2JqZWN0LW5hdmlnYXRvci9jcml0ZXJpYS1zZWxlY3Qtb2JqZWN0LXByb3BlcnRpZXMvY3JpdGVyaWEtc2VsZWN0LW9iamVjdC1wcm9wZXJ0aWVzLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBVSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFL0UsT0FBTyxFQUFFLGVBQWUsRUFBRSxJQUFJLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDN0MsT0FBTyxFQUFFLCtCQUErQixFQUFFLE1BQU0sbUVBQW1FLENBQUM7QUFDcEgsT0FBTyxFQUFFLGVBQWUsRUFBb0IsTUFBTSxxQkFBcUIsQ0FBQztBQUN4RSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxpREFBaUQsQ0FBQztBQUMxRixPQUFPLEVBQUUsNkJBQTZCLEVBQUUsTUFBTSwrREFBK0QsQ0FBQztBQUM5RyxPQUFPLEVBQW1CLGlCQUFpQixFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFDM0YsT0FBTyxFQUFFLCtCQUErQixFQUFFLE1BQU0sbUVBQW1FLENBQUM7QUFDcEgsT0FBTyxFQUFFLHVDQUF1QyxFQUFF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QUEwQixDQUFDLGtCQUFrQixDQUFDLGFBQWEsQ0FBQyxDQUFDO2dCQUN2RixDQUFDO1lBQ0gsQ0FBQztTQUNGLENBQUMsQ0FBQTtJQUNKLENBQUM7K0dBclFVLHVDQUF1QzttR0FBdkMsdUNBQXVDLGlTQ3JCcEQsdTNIQW9GMkIsODlHRG5FZCw2QkFBNkIsdUVBQUUsdUJBQXVCLHFGQUFFLGVBQWUsNEZBQUUsK0JBQStCLGlJQUFFLHVDQUF1Qzs7NEZBSWpKLHVDQUF1QztrQkFQbkQsU0FBUzsrQkFDRSx1Q0FBdUMsY0FDckMsSUFBSSxXQUNQLENBQUUsNkJBQTZCLEVBQUUsdUJBQXVCLEVBQUUsZUFBZSxFQUFFLCtCQUErQixFQUFFLHVDQUF1QyxDQUFDO3FGQTZCN0osR0FBRztzQkFERixLQUFLO2dCQUlGLFlBQVk7c0JBRGYsS0FBSztnQkFhTixRQUFRO3NCQURQLEtBQUs7Z0JBY0YsY0FBYztzQkFEakIsS0FBSztnQkFNSSxvQkFBb0I7c0JBQTdCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uSW5pdCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCAqIGFzIFdlYlNkayBmcm9tICdiaW1wbHVzLXdlYnNkayc7XHJcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgZnJvbSB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBCaW1wbHVzTG9jYWxpemVkV2lkZ2V0Q29tcG9uZW50IH0gZnJvbSAnLi4vLi4vYmltcGx1cy1sb2NhbGl6ZWQtd2lkZ2V0L2JpbXBsdXMtbG9jYWxpemVkLXdpZGdldC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBUcmFuc2xhdGVNb2R1bGUsIFRyYW5zbGF0ZVNlcnZpY2UgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcclxuaW1wb3J0IHsgRXhwYW5zaW9uUGFuZWxDb21wb25lbnQgfSBmcm9tICcuLi8uLi9leHBhbnNpb24tcGFuZWwvZXhwYW5zaW9uLXBhbmVsLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEV4cGFuc2lvblBhbmVsSGVhZGVyQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vZXhwYW5zaW9uLXBhbmVsLWhlYWRlci9leHBhbnNpb24tcGFuZWwtaGVhZGVyLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEZpbHRlckNyaXRlcml1bSwgTWF4RmlsdGVyQ3JpdGVyaWEgfSBmcm9tICcuLi9iaW1wbHVzLW9iamVjdC1uYXZpZ2F0b3IuaW50ZXJmYWNlJztcclxuaW1wb3J0IHsgQmltcGx1c09iamVjdFN0cnVjdHVyZUNvbXBvbmVudCB9IGZyb20gJy4uLy4uL2JpbXBsdXMtb2JqZWN0LXN0cnVjdHVyZS9iaW1wbHVzLW9iamVjdC1zdHJ1Y3R1cmUuY29tcG9uZW50JztcclxuaW1wb3J0IHsgQmltcGx1c09iamVjdENvbXBsZXhQcm9wZXJ0aWVzQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vYmltcGx1cy1vYmplY3QtY29tcGxleC1wcm9wZXJ0aWVzL2JpbXBsdXMtb2JqZWN0LWNvbXBsZXgtcHJvcGVydGllcy5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBPYmplY3RTdHJ1Y3R1cmVOb2RlLCBPYmplY3RTdHJ1Y3R1cmVOb2RlQnVpbGRlciB9IGZyb20gJy4uLy4uL2JpbXBsdXMtb2JqZWN0LXN0cnVjdHVyZS9iaW1wbHVzLW9iamVjdC1zdHJ1Y3R1cmUuaW50ZXJmYWNlJztcclxuaW1wb3J0IHsgQ29tcGxleFByb3BlcnRpZXNOb2RlLCBDb21wbGV4UHJvcGVydGllc05vZGVCdWlsZGVyIH0gZnJvbSAnLi4vLi4vYmltcGx1cy1vYmplY3QtY29tcGxleC1wcm9wZXJ0aWVzL2JpbXBsdXMtb2JqZWN0LWNvbXBsZXgtcHJvcGVydGllcy5pbnRlcmZhY2UnO1xyXG5pbXBvcnQgeyBDcml0ZXJpYVNlbGVjdE9iamVjdEF0dHJpYnV0ZSwgQ3JpdGVyaWFTZWxlY3RPYmplY3RBdHRyaWJ1dGVHcm91cCB9IGZyb20gJy4vY3JpdGVyaWEtc2VsZWN0LW9iamVjdC1wcm9wZXJ0aWVzLmludGVyZmFjZSc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2xpYi1jcml0ZXJpYS1zZWxlY3Qtb2JqZWN0LXByb3BlcnRpZXMnLFxyXG4gIHN0YW5kYWxvbmU6IHRydWUsXHJcbiAgaW1wb3J0czogWyBFeHBhbnNpb25QYW5lbEhlYWRlckNvbXBvbmVudCwgRXhwYW5zaW9uUGFuZWxDb21wb25lbnQsIFRyYW5zbGF0ZU1vZHVsZSwgQmltcGx1c09iamVjdFN0cnVjdHVyZUNvbXBvbmVudCwgQmltcGx1c09iamVjdENvbXBsZXhQcm9wZXJ0aWVzQ29tcG9uZW50XSxcclxuICB0ZW1wbGF0ZVVybDogJy4vY3JpdGVyaWEtc2VsZWN0LW9iamVjdC1wcm9wZXJ0aWVzLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybDogJy4vY3JpdGVyaWEtc2VsZWN0LW9iamVjdC1wcm9wZXJ0aWVzLmNvbXBvbmVudC5sZXNzJ1xyXG59KVxyXG5leHBvcnQgY2xhc3MgQ3JpdGVyaWFTZWxlY3RPYmplY3RQcm9wZXJ0aWVzQ29tcG9uZW50IGV4dGVuZHMgQmltcGx1c0xvY2FsaXplZFdpZGdldENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcblxyXG4gIGNvbnN0cnVjdG9yKHRyYW5zbGF0ZVNlcnZpY2U6ICBUcmFuc2xhdGVTZXJ2aWNlKXtcclxuICAgIHN1cGVyKHRyYW5zbGF0ZVNlcnZpY2UpXHJcbiAgfVxyXG5cclxuICBuZ09uSW5pdCgpIHtcclxuICAgIHRoaXMuX2N1cnJlbnRQcm9wZXJ0aWVzT2JqZWN0SWQkLnN1YnNjcmliZSh7XHJcbiAgICAgIG5leHQ6IChpZCkgPT4ge1xyXG4gICAgICAgIGlmKGlkKXtcclxuICAgICAgICAgIHRoaXMuX2NyZWF0ZU9iamVjdFByb3BlcnRpZXMoaWQsIHRoaXMucmV2aXNpb24pXHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9KTtcclxuXHJcbiAgICB0aGlzLl9jdXJyZW50T2JqZWN0SWQkLnN1YnNjcmliZSh7XHJcbiAgICAgIG5leHQ6IChpZCkgPT4ge1xyXG4gICAgICAgIHRoaXMuX2N1cnJlbnRQcm9wZXJ0aWVzT2JqZWN0SWQkLm5leHQoaWQpO1xyXG4gICAgICAgIHRoaXMuX2NyZWF0ZUNvbXBsZXhQcm9wZXJ0aWVzdHJ1Y3R1cmUoaWQsIHRoaXMucmV2aXNpb24pO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuXHJcbiAgfVxyXG5cclxuICBASW5wdXQoKVxyXG4gIGFwaSA6IFdlYlNkay5BcGkgfCBudWxsID0gbnVsbDtcclxuXHJcbiAgQElucHV0KClcclxuICBzZXQgcm9vdE9iamVjdElkKGlkIDogc3RyaW5nKXtcclxuICAgIHRoaXMuX2N1cnJlbnRPYmplY3RJZCQubmV4dChpZCk7XHJcbiAgICB0aGlzLl9jcmVhdGVPYmplY3RTdHJ1Y3R1cmUoaWQsIHRoaXMucmV2aXNpb24pO1xyXG5cclxuICAgIHRoaXMuX3Jvb3RPYmplY3RJZCA9IGlkO1xyXG4gIH1cclxuXHJcbiAgZ2V0IHJvb3RPYmplY3RJZCgpIDogc3RyaW5ne1xyXG4gICAgcmV0dXJuIHRoaXMuX3Jvb3RPYmplY3RJZDtcclxuICB9XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcmV2aXNpb24gOiBudW1iZXIgfCB1bmRlZmluZWQgPSB1bmRlZmluZWQ7XHJcblxyXG4gIHByaXZhdGUgcmVhZG9ubHkgX2N1cnJlbnRPYmplY3RJZCQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PHN0cmluZz4gKFwiXCIpO1xyXG5cclxuICBwcml2YXRlIHJlYWRvbmx5IF9jdXJyZW50UHJvcGVydGllc09iamVjdElkJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8c3RyaW5nPiAoXCJcIik7XHJcblxyXG4gIG9iamVjdEF0dHJpYnV0ZUdyb3VwcyA6IENyaXRlcmlhU2VsZWN0T2JqZWN0QXR0cmlidXRlR3JvdXBbXSA9IFtdO1xyXG5cclxuICBNYXhGaWx0ZXJDcml0ZXJpYSA9IE1heEZpbHRlckNyaXRlcmlhOyAvLyBGb3IgZXhwb3N1cmUgdG8gdGVtcGxhdGVcclxuXHJcbiAgcHJpdmF0ZSBfcm9vdE9iamVjdElkIDogc3RyaW5nID0gXCJcIjtcclxuXHJcbiAgQElucHV0KClcclxuICBzZXQgZmlsdGVyQ3JpdGVyaWEoY3JpdGVyaWEgOiBGaWx0ZXJDcml0ZXJpdW1bXSl7XHJcbiAgICB0aGlzLl9maWx0ZXJDcml0ZXJpYSA9IGNyaXRlcmlhO1xyXG4gICAgdGhpcy5fc3luY0F0dHJpYnV0ZVN0YXRlc0Zyb21Dcml0ZXJpYSgpO1xyXG4gIH1cclxuXHJcbiAgQE91dHB1dCgpIGZpbHRlckNyaXRlcmlhQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxGaWx0ZXJDcml0ZXJpdW1bXT4oKTtcclxuXHJcbiAgZ2V0IGZpbHRlckNyaXRlcmlhKCl7XHJcbiAgICByZXR1cm4gdGhpcy5fZmlsdGVyQ3JpdGVyaWE7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIF9maWx0ZXJDcml0ZXJpYSA6IEZpbHRlckNyaXRlcml1bVtdID0gW107XHJcblxyXG4gIHByaXZhdGUgX29iamVjdFN0cnVjdHVyZSA6IE9iamVjdFN0cnVjdHVyZU5vZGUgfCBudWxsID0gbnVsbDtcclxuXHJcbiAgIGdldCBvYmplY3RTdHJ1Y3R1cmUoKTogT2JqZWN0U3RydWN0dXJlTm9kZSB8IG51bGx7XHJcbiAgICByZXR1cm4gdGhpcy5fb2JqZWN0U3RydWN0dXJlXHJcbiAgIH1cclxuXHJcbiAgIHByaXZhdGUgX2NvbXBsZXhQcm9wZXJ0aWVzIDogQ29tcGxleFByb3BlcnRpZXNOb2RlIHwgbnVsbCA9IG51bGw7XHJcblxyXG4gICBnZXQgY29tcGxleFByb3BlcnRpZXMoKSA6IENvbXBsZXhQcm9wZXJ0aWVzTm9kZSB8IG51bGx7XHJcbiAgICByZXR1cm4gdGhpcy5fY29tcGxleFByb3BlcnRpZXM7XHJcbiAgIH1cclxuXHJcbiAgdG9nZ2xlQXR0cmlidXRlKGF0dHJpYiA6IENyaXRlcmlhU2VsZWN0T2JqZWN0QXR0cmlidXRlKXtcclxuICAgIGF0dHJpYi5jaGVja2VkID0gIWF0dHJpYi5jaGVja2VkO1xyXG4gICAgaWYoYXR0cmliLmNoZWNrZWQgPT09IGZhbHNlKXtcclxuICAgICAgYXR0cmliLnZhbHVlQ2hlY2tlZCA9IGZhbHNlO1xyXG4gICAgfVxyXG5cclxuICAgIHRoaXMuaGFuZGxlRmlsdGVyQ3JpdGVyaXVtQXR0cmlidXRlU3RhdGVDaGFuZ2UoYXR0cmliKTtcclxuICB9XHJcblxyXG4gIHRvZ2dsZUF0dHJpYnV0ZVZhbHVlKGF0dHJpYiA6IENyaXRlcmlhU2VsZWN0T2JqZWN0QXR0cmlidXRlKXtcclxuICAgIGF0dHJpYi52YWx1ZUNoZWNrZWQgPSAhYXR0cmliLnZhbHVlQ2hlY2tlZDtcclxuICAgIGF0dHJpYi5jaGVja2VkID0gYXR0cmliLnZhbHVlQ2hlY2tlZDtcclxuXHJcbiAgICB0aGlzLmhhbmRsZUZpbHRlckNyaXRlcml1bUF0dHJpYnV0ZVN0YXRlQ2hhbmdlKGF0dHJpYik7XHJcbiAgfVxyXG5cclxuICBoYW5kbGVGaWx0ZXJDcml0ZXJpdW1BdHRyaWJ1dGVTdGF0ZUNoYW5nZShhdHRyaWIgOiBDcml0ZXJpYVNlbGVjdE9iamVjdEF0dHJpYnV0ZSl7XHJcblxyXG4gICAgY29uc3QgaW5kZXggPSB0aGlzLmZpbHRlckNyaXRlcmlhLmZpbmRJbmRleCh4PT54LmlkID09PSBhdHRyaWIuaWQpO1xyXG4gICAgaWYoaW5kZXg+PTApe1xyXG4gICAgICBpZihhdHRyaWIuY2hlY2tlZCA9PT0gZmFsc2UgfHwgYXR0cmliLnZhbHVlQ2hlY2tlZCA9PT0gZmFsc2Upe1xyXG4gICAgICAgIHRoaXMuZmlsdGVyQ3JpdGVyaWEuc3BsaWNlKGluZGV4LCAxKTtcclxuICAgICAgICB0aGlzLmZpbHRlckNyaXRlcmlhQ2hhbmdlLmVtaXQodGhpcy5maWx0ZXJDcml0ZXJpYSk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIGVsc2UgaWYodGhpcy5maWx0ZXJDcml0ZXJpYS5sZW5ndGggPCBNYXhGaWx0ZXJDcml0ZXJpYSl7XHJcblxyXG4gICAgICAgIGxldCBzdWJzdHJpbmcgPSBgW0ldWyR7YXR0cmliLmlkfV0uVmFsdWVgO1xyXG5cclxuICAgICAgICBpZihhdHRyaWIudmFsdWVDaGVja2VkKXtcclxuICAgICAgICAgIHN1YnN0cmluZyArPSBgW0ZdWzBdPSR7YXR0cmliLnZhbHVlfWA7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICB0aGlzLmZpbHRlckNyaXRlcmlhLnB1c2goe1xyXG4gICAgICAgICAgbmFtZSA6IGF0dHJpYi5uYW1lLFxyXG4gICAgICAgICAgdmFsdWUgOiBhdHRyaWIudmFsdWVDaGVja2VkID8gYXR0cmliLnZhbHVlIDogdW5kZWZpbmVkLFxyXG4gICAgICAgICAgaWQgOiBhdHRyaWIuaWQsXHJcbiAgICAgICAgICBzdWJTdHJpbmcgOiBzdWJzdHJpbmdcclxuICAgICAgICB9KTtcclxuXHJcbiAgICAgICAgdGhpcy5maWx0ZXJDcml0ZXJpYUNoYW5nZS5lbWl0KHRoaXMuZmlsdGVyQ3JpdGVyaWEpO1xyXG4gICAgICB9XHJcbiAgfVxyXG5cclxuICBoYW5kbGVPYmplY3RTdHJ1Y3R1cmVOb2RlU2VsZWN0ZWQobm9kZSA6IE9iamVjdFN0cnVjdHVyZU5vZGUpe1xyXG4gICAgdGhpcy5fY3VycmVudE9iamVjdElkJC5uZXh0KG5vZGUuaWQpO1xyXG4gIH1cclxuXHJcbiAgaGFuZGxlQ29tcGxleFByb3BlcnR5Tm9kZVNlbGVjdGVkKG5vZGUgOiBDb21wbGV4UHJvcGVydGllc05vZGUpe1xyXG4gICAgdGhpcy5fY3VycmVudFByb3BlcnRpZXNPYmplY3RJZCQubmV4dChub2RlLmlkKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgX2NyZWF0ZU9iamVjdFByb3BlcnRpZXMob2JqZWN0SWQgOiBzdHJpbmcsIHJldmlzaW9uIDogbnVtYmVyIHwgdW5kZWZpbmVkKXtcclxuICAgIHRoaXMuX2xvYWRPYmplY3RQcm9wZXJ0aWVzKG9iamVjdElkLCByZXZpc2lvbik/LnN1YnNjcmliZSh7XHJcblxyXG4gICAgICAgIC8vIHByb3BlcnRpZXMgcmVzcG9uc2UgaXMgYmFkbHkgc3RydWN0dXJlZCwgbmVhcmx5IGltcG9zc2libGUgdG8gY3JlYXRlIGNsYXNzIHN0cnVjdHVyZSBmcm9tIGl0LiBUaGVyZWZvcmUgdXNpbmcgc2hvcnRjdXRcclxuICAgICAgICAvLyBhbnkgZm9yIGpzb24gcmVzcG9uc2VcclxuXHJcbiAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lICBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55XHJcbiAgICAgICAgbmV4dDogKHByb3BlcnRpZXNEYXRhIDogYW55KSA9PiB7XHJcbiAgICAgICAgICB0aGlzLm9iamVjdEF0dHJpYnV0ZUdyb3VwcyA9IHRoaXMuX2NyZWF0ZUF0dHJpYnV0ZUdyb3Vwc0Zyb21SZXNwb25zZShwcm9wZXJ0aWVzRGF0YSk7XHJcbiAgICAgICAgICB0aGlzLl9zeW5jQXR0cmlidXRlU3RhdGVzRnJvbUNyaXRlcmlhKCk7XHJcbiAgICAgICAgfSxcclxuICAgICAgICBlcnJvcjogKCkgPT57XHJcbiAgICAgICAgICB0aGlzLm9iamVjdEF0dHJpYnV0ZUdyb3VwcyA9IFtdO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgKVxyXG4gIH1cclxuXHJcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lICBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55XHJcbiAgcHJpdmF0ZSBfY3JlYXRlQXR0cmlidXRlR3JvdXBzRnJvbVJlc3BvbnNlKHByb3BlcnRpZXNEYXRhIDogYW55KXtcclxuXHJcbiAgICBjb25zdCBncm91cHMgOiBBcnJheTxDcml0ZXJpYVNlbGVjdE9iamVjdEF0dHJpYnV0ZUdyb3VwPiA9IFtdO1xyXG4gICAgbGV0IGxvY2FsaXplZEF0dHJpYkdyb3VwcyA9IG51bGw7XHJcbiAgICBpZihwcm9wZXJ0aWVzRGF0YS5sb2NhbGl6ZWRBdHRyaWJ1dGVHcm91cHMpe1xyXG4gICAgICBsb2NhbGl6ZWRBdHRyaWJHcm91cHMgPSBwcm9wZXJ0aWVzRGF0YS5sb2NhbGl6ZWRBdHRyaWJ1dGVHcm91cHM7XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKCFwcm9wZXJ0aWVzRGF0YS5hdHRyaWJ1dGVzKXtcclxuICAgICAgcmV0dXJuIGdyb3VwcztcclxuICAgIH1cclxuXHJcbiAgICBjb25zdCBhdHRyaWJHcm91cHMgPSBwcm9wZXJ0aWVzRGF0YS5hdHRyaWJ1dGVzO1xyXG4gICAgZm9yKGNvbnN0IFtncm91cE5hbWUsIGF0dHJpYnNPYmplY3RdIG9mIE9iamVjdC5lbnRyaWVzKGF0dHJpYkdyb3Vwcykpe1xyXG5cclxuICAgICAgY29uc3QgbmV3R3JvdXAgOiBDcml0ZXJpYVNlbGVjdE9iamVjdEF0dHJpYnV0ZUdyb3VwID0ge1xyXG4gICAgICAgIG5hbWUgOiBncm91cE5hbWUsXHJcbiAgICAgICAgZXhwYW5kZWQgOiBmYWxzZSxcclxuICAgICAgICBhdHRyaWJ1dGVzIDogW11cclxuICAgICAgfTtcclxuXHJcbiAgICAgIGlmKGxvY2FsaXplZEF0dHJpYkdyb3Vwcz8uW2dyb3VwTmFtZV0pe1xyXG4gICAgICAgIG5ld0dyb3VwLm5hbWUgPSBsb2NhbGl6ZWRBdHRyaWJHcm91cHNbZ3JvdXBOYW1lXTtcclxuICAgICAgfVxyXG5cclxuICAgICAgaWYoIWF0dHJpYnNPYmplY3Qpe1xyXG4gICAgICAgIGNvbnRpbnVlO1xyXG4gICAgICB9XHJcblxyXG4gICAgICBmb3IoY29uc3QgYXR0cmliIG9mIE9iamVjdC52YWx1ZXMoYXR0cmlic09iamVjdCkpe1xyXG5cclxuICAgICAgICBjb25zdCBuZXdBdHRyaWIgOiBDcml0ZXJpYVNlbGVjdE9iamVjdEF0dHJpYnV0ZSA9IHtcclxuICAgICAgICAgIGlkIDogYXR0cmliLmlkLFxyXG4gICAgICAgICAgbmFtZSA6IGF0dHJpYi5uYW1lLFxyXG4gICAgICAgICAgZGVzY3JpcHRpb24gOiBhdHRyaWIuZGVzY3JpcHRpb24sXHJcbiAgICAgICAgICB2YWx1ZSA6IGF0dHJpYi52YWx1ZSxcclxuICAgICAgICAgIGNoZWNrZWQ6IGZhbHNlLFxyXG4gICAgICAgICAgdmFsdWVDaGVja2VkIDogZmFsc2UsXHJcbiAgICAgICAgICBncm91cCA6IGF0dHJpYi5ncm91cFxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgbmV3R3JvdXAuYXR0cmlidXRlcy5wdXNoKG5ld0F0dHJpYik7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIGdyb3Vwcy5wdXNoKG5ld0dyb3VwKTtcclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gZ3JvdXBzO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBfc3luY0F0dHJpYnV0ZVN0YXRlc0Zyb21Dcml0ZXJpYSgpe1xyXG4gICAgdGhpcy5vYmplY3RBdHRyaWJ1dGVHcm91cHMuZm9yRWFjaChncm91cD0+e1xyXG4gICAgICBncm91cC5hdHRyaWJ1dGVzLmZvckVhY2goYXR0cmliPT57XHJcbiAgICAgICAgY29uc3QgY3JpdGVyaWEgPSB0aGlzLl9maWx0ZXJDcml0ZXJpYS5maW5kKHg9PnguaWQgPT0gYXR0cmliLmlkKVxyXG4gICAgICAgIGlmKGNyaXRlcmlhKXtcclxuICAgICAgICAgIGF0dHJpYi5jaGVja2VkID0gdHJ1ZTtcclxuICAgICAgICAgIGF0dHJpYi52YWx1ZUNoZWNrZWQgPSBjcml0ZXJpYS52YWx1ZSAhPT0gdW5kZWZpbmVkO1xyXG4gICAgICAgIH1lbHNle1xyXG4gICAgICAgICAgYXR0cmliLmNoZWNrZWQgPSBmYWxzZTtcclxuICAgICAgICAgIGF0dHJpYi52YWx1ZUNoZWNrZWQgPSBmYWxzZTtcclxuICAgICAgICB9XHJcbiAgICAgIH0pXHJcbiAgICB9KVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBfbG9hZE9iamVjdFByb3BlcnRpZXMob2JqZWN0SWQgOiBzdHJpbmcsIHJldmlzaW9uIDogbnVtYmVyIHwgdW5kZWZpbmVkKXtcclxuICAgIGlmKCF0aGlzLmFwaSl7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gZnJvbSh0aGlzLmFwaS5vYmplY3RzLmdldChvYmplY3RJZCwgcmV2aXNpb24sIFwiOFwiLCB1bmRlZmluZWQsIGZhbHNlLCB1bmRlZmluZWQgKSk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIF9sb2FkT2JqZWN0U3RydWN0dXJlKG9iamVjdElkIDogc3RyaW5nLCByZXZpc2lvbiA6IG51bWJlciB8IHVuZGVmaW5lZCl7XHJcbiAgICBpZighdGhpcy5hcGkpe1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIGZyb20odGhpcy5hcGkub2JqZWN0cy5nZXRUb3BvbG9neShvYmplY3RJZCwgcmV2aXNpb24sIGZhbHNlLCBmYWxzZSwgdW5kZWZpbmVkKSk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIF9sb2FkT2JqZWN0Q29tcGxleFByb3BlcnRpZXNTdHJ1Y3R1cmUob2JqZWN0SWQgOiBzdHJpbmcsIHJldmlzaW9uIDogbnVtYmVyIHwgdW5kZWZpbmVkKXtcclxuICAgIGlmKCF0aGlzLmFwaSl7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gZnJvbSh0aGlzLmFwaS5vYmplY3RzLmdldENvbXBsZXhQcm9wZXJ0aWVzVG9wb2xvZ3kob2JqZWN0SWQsIHJldmlzaW9uKSk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIF9jcmVhdGVDb21wbGV4UHJvcGVydGllc3RydWN0dXJlKG9iamVjdElkIDogc3RyaW5nLCByZXZpc2lvbiA6IG51bWJlciB8IHVuZGVmaW5lZCl7XHJcbiAgICB0aGlzLl9sb2FkT2JqZWN0Q29tcGxleFByb3BlcnRpZXNTdHJ1Y3R1cmUob2JqZWN0SWQsIHJldmlzaW9uKT8uc3Vic2NyaWJlKHtcclxuICAgICAgbmV4dCA6KHN0cnVjdHVyZURhdGEpPT57XHJcbiAgICAgICAgaWYoc3RydWN0dXJlRGF0YSl7XHJcbiAgICAgICAgICBjb25zdCBjb21wbGV4UHJvcHMgPSBDb21wbGV4UHJvcGVydGllc05vZGVCdWlsZGVyLmNyZWF0ZUZyb21SZXNwb25zZShzdHJ1Y3R1cmVEYXRhKTtcclxuICAgICAgICAgIGlmKGNvbXBsZXhQcm9wcz8uY2hpbGRyZW4/Lmxlbmd0aCl7XHJcbiAgICAgICAgICAgIHRoaXMuX2NvbXBsZXhQcm9wZXJ0aWVzID0gY29tcGxleFByb3BzO1xyXG4gICAgICAgICAgfWVsc2V7XHJcbiAgICAgICAgICAgIHRoaXMuX2NvbXBsZXhQcm9wZXJ0aWVzID0gbnVsbDtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH0pXHJcbiAgfVxyXG5cclxuICBwcml2YXRlIF9jcmVhdGVPYmplY3RTdHJ1Y3R1cmUob2JqZWN0SWQgOiBzdHJpbmcsIHJldmlzaW9uIDogbnVtYmVyIHwgdW5kZWZpbmVkKXtcclxuICAgIHRoaXMuX2xvYWRPYmplY3RTdHJ1Y3R1cmUob2JqZWN0SWQsIHJldmlzaW9uKT8uc3Vic2NyaWJlKHtcclxuICAgICAgbmV4dCA6KHN0cnVjdHVyZURhdGEpPT57XHJcbiAgICAgICAgaWYoc3RydWN0dXJlRGF0YSl7XHJcbiAgICAgICAgICB0aGlzLl9vYmplY3RTdHJ1Y3R1cmUgPSBPYmplY3RTdHJ1Y3R1cmVOb2RlQnVpbGRlci5jcmVhdGVGcm9tUmVzcG9uc2Uoc3RydWN0dXJlRGF0YSk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9KVxyXG4gIH1cclxufVxyXG4iLCI8IS0tIE9iamVjdCBzdHJ1Y3R1cmUtLT5cclxuPGxpYi1leHBhbnNpb24tcGFuZWw+XHJcbiAgPGxpYi1leHBhbnNpb24tcGFuZWwtaGVhZGVyPlxyXG4gICAgPHNwYW4gY2xhc3M9XCJjcml0ZXJpYS1zZWxlY3Qtb2JqZWN0LXByb3BlcnRpZXMtaGVhZGVyXCI+IHt7XCJfT2JqZWN0IHN0cnVjdHVyZVwiIHwgdHJhbnNsYXRlfX08L3NwYW4+XHJcbiAgPC9saWItZXhwYW5zaW9uLXBhbmVsLWhlYWRlcj5cclxuICBAaWYob2JqZWN0U3RydWN0dXJlKXtcclxuICAgIDxsaWItYmltcGx1cy1vYmplY3Qtc3RydWN0dXJlXHJcbiAgICAgIFtvYmplY3RTdHJ1Y3R1cmVdPVwib2JqZWN0U3RydWN0dXJlXCJcclxuICAgICAgKG5vZGVTZWxlY3RlZCk9XCJoYW5kbGVPYmplY3RTdHJ1Y3R1cmVOb2RlU2VsZWN0ZWQoJGV2ZW50KVwiXHJcbiAgICA+XHJcbiAgICA8L2xpYi1iaW1wbHVzLW9iamVjdC1zdHJ1Y3R1cmU+XHJcbiAgfVxyXG48L2xpYi1leHBhbnNpb24tcGFuZWw+XHJcbjwhLS0gRW5kIE9iamVjdCBzdHJ1Y3R1cmUtLT5cclxuXHJcbjwhLS0gQ29tcGxleCBwcm9wZXJ0aWVzLS0+XHJcbkBpZihjb21wbGV4UHJvcGVydGllcyl7ICBcclxuICA8bGliLWV4cGFuc2lvbi1wYW5lbD5cclxuICAgIDxsaWItZXhwYW5zaW9uLXBhbmVsLWhlYWRlcj5cclxuICAgICAgPHNwYW4gY2xhc3M9XCJjcml0ZXJpYS1zZWxlY3Qtb2JqZWN0LXByb3BlcnRpZXMtaGVhZGVyXCI+IHt7XCJfT2JqZWN0IG11bHRpcHJvcGVydGllcyB0cmVlXCIgfCB0cmFuc2xhdGV9fTwvc3Bhbj5cclxuICAgIDwvbGliLWV4cGFuc2lvbi1wYW5lbC1oZWFkZXI+XHJcbiAgICAgIDxsaWItYmltcGx1cy1vYmplY3QtY29tcGxleC1wcm9wZXJ0aWVzXHJcbiAgICAgICAgW2NvbXBsZXhQcm9wZXJ0aWVzXT1cImNvbXBsZXhQcm9wZXJ0aWVzXCJcclxuICAgICAgICAobm9kZVNlbGVjdGVkKT1cImhhbmRsZUNvbXBsZXhQcm9wZXJ0eU5vZGVTZWxlY3RlZCgkZXZlbnQpXCJcclxuICAgICAgPlxyXG4gICAgICA8L2xpYi1iaW1wbHVzLW9iamVjdC1jb21wbGV4LXByb3BlcnRpZXM+ICBcclxuICA8L2xpYi1leHBhbnNpb24tcGFuZWw+XHJcbn1cclxuPCEtLSBFbmQgQ29tcGxleCBwcm9wZXJ0aWVzLS0+XHJcblxyXG48IS0tIFByb3BlcnRpZXMgbGlzdC0tPlxyXG5AaWYob2JqZWN0QXR0cmlidXRlR3JvdXBzLmxlbmd0aCA+IDApeyAgXHJcbiAgPGxpYi1leHBhbnNpb24tcGFuZWw+XHJcbiAgICA8bGliLWV4cGFuc2lvbi1wYW5lbC1oZWFkZXI+XHJcbiAgICAgIDxzcGFuIGNsYXNzPVwiY3JpdGVyaWEtc2VsZWN0LW9iamVjdC1wcm9wZXJ0aWVzLWhlYWRlclwiPiB7e1wiX09iamVjdCBwcm9wZXJ0aWVzXCIgfCB0cmFuc2xhdGV9fTwvc3Bhbj5cclxuICAgIDwvbGliLWV4cGFuc2lvbi1wYW5lbC1oZWFkZXI+XHJcblxyXG4gICAgQGZvciAoYXR0cmliR3JvdXAgb2Ygb2JqZWN0QXR0cmlidXRlR3JvdXBzOyB0cmFjayBhdHRyaWJHcm91cCkge1xyXG4gICAgICA8bGliLWV4cGFuc2lvbi1wYW5lbCBbZXhwYW5kZWRdPVwiYXR0cmliR3JvdXAuZXhwYW5kZWRcIj5cclxuICAgICAgICA8bGliLWV4cGFuc2lvbi1wYW5lbC1oZWFkZXI+XHJcbiAgICAgICAgICA8c3BhbiBjbGFzcz1cImNyaXRlcmlhLXNlbGVjdC1vYmplY3QtcHJvcGVydGllcy1ncm91cC1oZWFkZXJcIj4ge3thdHRyaWJHcm91cC5uYW1lfX08L3NwYW4+XHJcbiAgICAgICAgPC9saWItZXhwYW5zaW9uLXBhbmVsLWhlYWRlcj5cclxuICAgICAgICA8ZGl2PlxyXG4gICAgICAgICAgQGZvciAoYXR0cmliIG9mIGF0dHJpYkdyb3VwLmF0dHJpYnV0ZXM7IHRyYWNrIGF0dHJpYikge1xyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY3JpdGVyaWEtc2VsZWN0LW9iamVjdC1wcm9wZXJ0aWVzLWF0dHJpYi1yb3dcIj5cclxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY3JpdGVyaWEtc2VsZWN0LW9iamVjdC1wcm9wZXJ0aWVzLWF0dHJpYi1yb3ctY29udGVudFwiPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNyaXRlcmlhLXNlbGVjdC1vYmplY3QtcHJvcGVydGllcy1hdHRyaWItcm93LWNlbGwgY3JpdGVyaWEtc2VsZWN0LWNoZWNrYm94XCI+XHJcbiAgICAgICAgICAgICAgICAgIDxsYWJlbCBjbGFzcz1cImNyaXRlcmlhLXNlbGVjdC1vYmplY3QtcHJvcGVydGllcy1hdHRyaWItcm93LWNlbGwtbGFiZWxcIj5cclxuICAgICAgICAgICAgICAgICAgICA8aW5wdXRcclxuICAgICAgICAgICAgICAgICAgICAgIHR5cGU9XCJjaGVja2JveFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICBbY2hlY2tlZF09XCJhdHRyaWIuY2hlY2tlZFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICBbZGlzYWJsZWRdPVwiZmlsdGVyQ3JpdGVyaWEubGVuZ3RoID09PSBNYXhGaWx0ZXJDcml0ZXJpYSAmJiAhYXR0cmliLmNoZWNrZWRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cInRvZ2dsZUF0dHJpYnV0ZShhdHRyaWIpXCJcclxuICAgICAgICAgICAgICAgICAgICAgIChrZXlwcmVzcyk9XCJ0b2dnbGVBdHRyaWJ1dGUoYXR0cmliKVwiXHJcbiAgICAgICAgICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgICAgICAgIDxzcGFuPjwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgPC9sYWJlbD5cclxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNyaXRlcmlhLXNlbGVjdC1vYmplY3QtcHJvcGVydGllcy1hdHRyaWItcm93LWNlbGwtdGV4dFwiPnt7YXR0cmliLm5hbWV9fTwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8ZGl2ICBjbGFzcz1cImNyaXRlcmlhLXNlbGVjdC1vYmplY3QtcHJvcGVydGllcy1hdHRyaWItcm93LWNlbGwgY3JpdGVyaWEtc2VsZWN0LWNoZWNrYm94XCI+XHJcbiAgICAgICAgICAgICAgICAgIDxsYWJlbCBjbGFzcz1cImNyaXRlcmlhLXNlbGVjdC1vYmplY3QtcHJvcGVydGllcy1hdHRyaWItcm93LWNlbGwtbGFiZWxcIj5cclxuICAgICAgICAgICAgICAgICAgICA8aW5wdXRcclxuICAgICAgICAgICAgICAgICAgICAgIHR5cGU9XCJjaGVja2JveFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICBbY2hlY2tlZF09XCJhdHRyaWIudmFsdWVDaGVja2VkXCJcclxuICAgICAgICAgICAgICAgICAgICAgIFtkaXNhYmxlZF09XCJmaWx0ZXJDcml0ZXJpYS5sZW5ndGggPT09IE1heEZpbHRlckNyaXRlcmlhICYmICFhdHRyaWIuY2hlY2tlZFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwidG9nZ2xlQXR0cmlidXRlVmFsdWUoYXR0cmliKVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAoa2V5cHJlc3MpPVwidG9nZ2xlQXR0cmlidXRlVmFsdWUoYXR0cmliKVwiXHJcbiAgICAgICAgICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgICAgICAgIDxzcGFuPjwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgPC9sYWJlbD5cclxuICAgICAgICAgICAgICAgICAgQGlmKGF0dHJpYi52YWx1ZSl7XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNyaXRlcmlhLXNlbGVjdC1vYmplY3QtcHJvcGVydGllcy1hdHRyaWItcm93LWNlbGwtdGV4dFwiPnt7YXR0cmliLnZhbHVlfX08L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgfUBlbHNlIHtcclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY3JpdGVyaWEtc2VsZWN0LW9iamVjdC1wcm9wZXJ0aWVzLWF0dHJpYi1yb3ctY2VsbC10ZXh0XCI+Li4uPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICB9XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgICA8L2xpYi1leHBhbnNpb24tcGFuZWw+ICAgIFxyXG4gICAgfVxyXG4gIDwvbGliLWV4cGFuc2lvbi1wYW5lbD5cclxufVxyXG48IS0tIEVuZCBQcm9wZXJ0aWVzIGxpc3QtLT4iXX0=
@@ -1,2 +1,2 @@
1
1
  export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JpdGVyaWEtc2VsZWN0LW9iamVjdC1wcm9wZXJ0aWVzLmludGVyZmFjZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1iaW1wbHVzLWNvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL2JpbXBsdXMtb2JqZWN0LW5hdmlnYXRvci9jcml0ZXJpYS1zZWxlY3Qtb2JqZWN0LXByb3BlcnRpZXMvY3JpdGVyaWEtc2VsZWN0LW9iamVjdC1wcm9wZXJ0aWVzLmludGVyZmFjZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiXHJcbmV4cG9ydCBpbnRlcmZhY2UgT2JqZWN0QXR0cmlidXRle1xyXG4gICAgaWQ6ICAgICAgICAgICBzdHJpbmc7XHJcbiAgICBuYW1lOiAgICAgICAgIHN0cmluZztcclxuICAgIGRlc2NyaXB0aW9uOiAgc3RyaW5nO1xyXG4gICAgZ3JvdXA6ICAgICAgICBzdHJpbmc7XHJcbiAgICB2YWx1ZTogICAgICAgIHN0cmluZztcclxuICAgIGNoZWNrZWQ6IGJvb2xlYW47XHJcbiAgICB2YWx1ZUNoZWNrZWQgOiBib29sZWFuO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIE9iamVjdEF0dHJpYnV0ZUdyb3Vwe1xyXG4gIG5hbWU6IHN0cmluZztcclxuICBhdHRyaWJ1dGVzOiBPYmplY3RBdHRyaWJ1dGVbXTtcclxuICBleHBhbmRlZDogYm9vbGVhbjtcclxufVxyXG4iXX0=
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JpdGVyaWEtc2VsZWN0LW9iamVjdC1wcm9wZXJ0aWVzLmludGVyZmFjZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1iaW1wbHVzLWNvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL2JpbXBsdXMtb2JqZWN0LW5hdmlnYXRvci9jcml0ZXJpYS1zZWxlY3Qtb2JqZWN0LXByb3BlcnRpZXMvY3JpdGVyaWEtc2VsZWN0LW9iamVjdC1wcm9wZXJ0aWVzLmludGVyZmFjZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiXHJcbmV4cG9ydCBpbnRlcmZhY2UgQ3JpdGVyaWFTZWxlY3RPYmplY3RBdHRyaWJ1dGV7XHJcbiAgICBpZDogICAgICAgICAgIHN0cmluZztcclxuICAgIG5hbWU6ICAgICAgICAgc3RyaW5nO1xyXG4gICAgZGVzY3JpcHRpb246ICBzdHJpbmc7XHJcbiAgICBncm91cDogICAgICAgIHN0cmluZztcclxuICAgIHZhbHVlOiAgICAgICAgc3RyaW5nO1xyXG4gICAgY2hlY2tlZDogYm9vbGVhbjtcclxuICAgIHZhbHVlQ2hlY2tlZCA6IGJvb2xlYW47XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgQ3JpdGVyaWFTZWxlY3RPYmplY3RBdHRyaWJ1dGVHcm91cHtcclxuICBuYW1lOiBzdHJpbmc7XHJcbiAgYXR0cmlidXRlczogQ3JpdGVyaWFTZWxlY3RPYmplY3RBdHRyaWJ1dGVbXTtcclxuICBleHBhbmRlZDogYm9vbGVhbjtcclxufVxyXG4iXX0=
@@ -12,10 +12,10 @@ export class FilterCriteriumComponent {
12
12
  clickedDelete() {
13
13
  this.deleteCriterium.emit();
14
14
  }
15
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: FilterCriteriumComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
16
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.12", type: FilterCriteriumComponent, isStandalone: true, selector: "app-filter-criterium", inputs: { criterium: "criterium", indent: "indent" }, outputs: { deleteCriterium: "deleteCriterium" }, host: { properties: { "style.margin-left.em": "this.indent" } }, ngImport: i0, template: "<div class=\"filter-criterium-row\">\r\n @if(criterium.value){\r\n <span class=\"filter-criterium-item\">{{criterium.name}} &nbsp;&#40;{{criterium.value}}&#41;</span>\r\n }@else{\r\n <span class=\"filter-criterium-item\">{{criterium.name}}</span>\r\n }\r\n <div \r\n class=\"filter-criterium-icon-delete\"\r\n (click)=\"clickedDelete()\"\r\n (keypress)=\"clickedDelete()\"\r\n >\r\n </div>\r\n</div>", styles: [".filter-criterium-icon-delete{background:url('data:image/svg+xml,<svg version=\"1.1\" id=\"Layer_1\" xmlns=\"http://www.w3.org/2000/svg\" x=\"0\" y=\"0\" width=\"18\" height=\"18\" xml:space=\"preserve\"><path fill-rule=\"evenodd\" clip-rule=\"evenodd\" fill=\"%23444\" d=\"M13.5 5.4L12.1 4 8.5 7.6 4.9 4 3.5 5.4 7.1 9l-3.6 3.6L4.9 14l3.6-3.6 3.6 3.6 1.4-1.4L9.9 9z\"/></svg>%0D%0A') no-repeat center;background-size:1.8rem;height:1.8rem;width:1.8rem;cursor:pointer}.filter-criterium-item{flex-grow:1}.filter-criterium-row{display:flex;flex-direction:row;width:100%;height:2.4rem}\n"] }); }
15
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: FilterCriteriumComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
16
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.11", type: FilterCriteriumComponent, isStandalone: true, selector: "app-filter-criterium", inputs: { criterium: "criterium", indent: "indent" }, outputs: { deleteCriterium: "deleteCriterium" }, host: { properties: { "style.margin-left.em": "this.indent" } }, ngImport: i0, template: "<div class=\"filter-criterium-row\">\r\n @if(criterium.value){\r\n <span class=\"filter-criterium-item\">{{criterium.name}} &nbsp;&#40;{{criterium.value}}&#41;</span>\r\n }@else{\r\n <span class=\"filter-criterium-item\">{{criterium.name}}</span>\r\n }\r\n <div \r\n class=\"filter-criterium-icon-delete\"\r\n (click)=\"clickedDelete()\"\r\n (keypress)=\"clickedDelete()\"\r\n >\r\n </div>\r\n</div>", styles: [".filter-criterium-icon-delete{background:url('data:image/svg+xml,<svg version=\"1.1\" id=\"Layer_1\" xmlns=\"http://www.w3.org/2000/svg\" x=\"0\" y=\"0\" width=\"18\" height=\"18\" xml:space=\"preserve\"><path fill-rule=\"evenodd\" clip-rule=\"evenodd\" fill=\"%23444\" d=\"M13.5 5.4L12.1 4 8.5 7.6 4.9 4 3.5 5.4 7.1 9l-3.6 3.6L4.9 14l3.6-3.6 3.6 3.6 1.4-1.4L9.9 9z\"/></svg>%0D%0A') no-repeat center;background-size:1.8rem;height:1.8rem;width:1.8rem;cursor:pointer}.filter-criterium-item{flex-grow:1}.filter-criterium-row{display:flex;flex-direction:row;width:100%;height:2.4rem}\n"] }); }
17
17
  }
18
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: FilterCriteriumComponent, decorators: [{
18
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: FilterCriteriumComponent, decorators: [{
19
19
  type: Component,
20
20
  args: [{ selector: 'app-filter-criterium', standalone: true, imports: [], template: "<div class=\"filter-criterium-row\">\r\n @if(criterium.value){\r\n <span class=\"filter-criterium-item\">{{criterium.name}} &nbsp;&#40;{{criterium.value}}&#41;</span>\r\n }@else{\r\n <span class=\"filter-criterium-item\">{{criterium.name}}</span>\r\n }\r\n <div \r\n class=\"filter-criterium-icon-delete\"\r\n (click)=\"clickedDelete()\"\r\n (keypress)=\"clickedDelete()\"\r\n >\r\n </div>\r\n</div>", styles: [".filter-criterium-icon-delete{background:url('data:image/svg+xml,<svg version=\"1.1\" id=\"Layer_1\" xmlns=\"http://www.w3.org/2000/svg\" x=\"0\" y=\"0\" width=\"18\" height=\"18\" xml:space=\"preserve\"><path fill-rule=\"evenodd\" clip-rule=\"evenodd\" fill=\"%23444\" d=\"M13.5 5.4L12.1 4 8.5 7.6 4.9 4 3.5 5.4 7.1 9l-3.6 3.6L4.9 14l3.6-3.6 3.6 3.6 1.4-1.4L9.9 9z\"/></svg>%0D%0A') no-repeat center;background-size:1.8rem;height:1.8rem;width:1.8rem;cursor:pointer}.filter-criterium-item{flex-grow:1}.filter-criterium-row{display:flex;flex-direction:row;width:100%;height:2.4rem}\n"] }]
21
21
  }], propDecorators: { criterium: [{
@@ -136,12 +136,12 @@ export class ObjectFilterResultComponent {
136
136
  }
137
137
  this.treeComponent?.expand_node(node.id);
138
138
  }
139
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: ObjectFilterResultComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
140
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.12", type: ObjectFilterResultComponent, isStandalone: true, selector: "lib-object-filter-result", inputs: { filterResult: "filterResult", selectedObjects: "selectedObjects" }, outputs: { nodeSelectionChanged: "nodeSelectionChanged", nodeDoubleClicked: "nodeDoubleClicked", nodeMouseEntered: "nodeMouseEntered", nodeMouseLeft: "nodeMouseLeft" }, viewQueries: [{ propertyName: "treeComponent", first: true, predicate: BimplusFlatTreeComponent, descendants: true }], ngImport: i0, template: "<lib-bimplus-flat-tree\r\n paddingIndent=\"1.4rem\"\r\n [treeData]=\"treeData\"\r\n enableParentHighlighting=\"false\"\r\n oneLevelMultiSelect=\"false\"\r\n multiSelect=\"true\"\r\n dataTestPrefix=\"object-filter-result-tree-\"\r\n (selectedNodes)=\"handleSelectedNodes($event)\"\r\n [customNodeTemplate]=\"objFilterResultNode\"\r\n>\r\n</lib-bimplus-flat-tree>\r\n\r\n<ng-template #objFilterResultNode let-node='node'>\r\n @switch (node.nodeType) {\r\n @case (\"rootNode\") {\r\n <div class=\"object-navigator-filter-result-root-node noselect\"> {{node.name}} &nbsp;&#40; {{getNodeObjectCounter(node.id)}} &#41;</div>\r\n }\r\n @case (\"structureNode\") {\r\n <div class=\"noselect\"> {{node.name}} &nbsp;&#40; {{getNodeObjectCounter(node.id)}} &#41;</div>\r\n }\r\n @case (\"objectNode\") {\r\n <span class=\"noselect\">\r\n <div class=\"noselect\" (dblclick)=\"dblClickedObjectNode(node)\" (mouseenter)=\"mouseEnterObjectNode(node)\" (mouseleave)=\"mouseLeaveObjectNode(node)\">\r\n {{node.name}}\r\n </div>\r\n </span> \r\n }\r\n }\r\n</ng-template>\r\n", styles: [".noselect{-webkit-touch-callout:none;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}lib-bimplus-flat-tree{--flat-tree-node-indent: 0;--flat-tree-folder-font-weight: 400;--flat-tree-selected-node-font-weight: 700}.object-navigator-filter-result-root-node{display:inline-block;text-transform:uppercase;line-height:2.4rem;font-weight:700;font-size:.9375em;text-overflow:ellipsis;white-space:nowrap;overflow:hidden;max-width:100%}\n"], dependencies: [{ kind: "component", type: BimplusFlatTreeComponent, selector: "lib-bimplus-flat-tree", inputs: ["treeDataStringified", "treeTitle", "paddingIndent", "multiSelect", "oneLevelMultiSelect", "showFoldersIcons", "showObjectsIcons", "enableSelect", "enableParentHighlighting", "enableDragAndDrop", "dataTestPrefix", "contextMenus", "treeData", "customNodeTemplate"], outputs: ["selectedNodes"] }] }); }
139
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: ObjectFilterResultComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
140
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.11", type: ObjectFilterResultComponent, isStandalone: true, selector: "lib-object-filter-result", inputs: { filterResult: "filterResult", selectedObjects: "selectedObjects" }, outputs: { nodeSelectionChanged: "nodeSelectionChanged", nodeDoubleClicked: "nodeDoubleClicked", nodeMouseEntered: "nodeMouseEntered", nodeMouseLeft: "nodeMouseLeft" }, viewQueries: [{ propertyName: "treeComponent", first: true, predicate: BimplusFlatTreeComponent, descendants: true }], ngImport: i0, template: "<lib-bimplus-flat-tree\n paddingIndent=\"1.4rem\"\n [treeData]=\"treeData\"\n enableParentHighlighting=\"false\"\n oneLevelMultiSelect=\"false\"\n multiSelect=\"true\"\n dataTestPrefix=\"object-filter-result-tree-\"\n (selectedNodes)=\"handleSelectedNodes($event)\"\n [customNodeTemplate]=\"objFilterResultNode\"\n>\n</lib-bimplus-flat-tree>\n\n<ng-template #objFilterResultNode let-node='node'>\n @switch (node.nodeType) {\n @case (\"rootNode\") {\n <div class=\"object-navigator-filter-result-root-node noselect\"> {{node.name}} &nbsp;&#40; {{getNodeObjectCounter(node.id)}} &#41;</div>\n }\n @case (\"structureNode\") {\n <div class=\"noselect\"> {{node.name}} &nbsp;&#40; {{getNodeObjectCounter(node.id)}} &#41;</div>\n }\n @case (\"objectNode\") {\n <span class=\"noselect\">\n <div class=\"noselect\" (dblclick)=\"dblClickedObjectNode(node)\" (mouseenter)=\"mouseEnterObjectNode(node)\" (mouseleave)=\"mouseLeaveObjectNode(node)\">\n {{node.name}}\n </div>\n </span> \n }\n }\n</ng-template>\n", styles: [".noselect{-webkit-touch-callout:none;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}lib-bimplus-flat-tree{--flat-tree-node-indent: 0;--flat-tree-folder-font-weight: 400;--flat-tree-selected-node-font-weight: 700;--flat-tree-background-color: var(--bimplus-object-filter-result-background-color, var(--flat-tree-container-background-color-enabled))}.object-navigator-filter-result-root-node{display:inline-block;text-transform:uppercase;line-height:2.4rem;font-weight:700;font-size:.9375em;text-overflow:ellipsis;white-space:nowrap;overflow:hidden;max-width:100%}\n"], dependencies: [{ kind: "component", type: BimplusFlatTreeComponent, selector: "lib-bimplus-flat-tree", inputs: ["treeDataStringified", "treeTitle", "paddingIndent", "multiSelect", "oneLevelMultiSelect", "showFoldersIcons", "showObjectsIcons", "enableSelect", "enableParentHighlighting", "enableDragAndDrop", "dataTestPrefix", "contextMenus", "treeData", "customNodeTemplate"], outputs: ["selectedNodes"] }] }); }
141
141
  }
142
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: ObjectFilterResultComponent, decorators: [{
142
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: ObjectFilterResultComponent, decorators: [{
143
143
  type: Component,
144
- args: [{ selector: 'lib-object-filter-result', standalone: true, imports: [BimplusFlatTreeComponent], template: "<lib-bimplus-flat-tree\r\n paddingIndent=\"1.4rem\"\r\n [treeData]=\"treeData\"\r\n enableParentHighlighting=\"false\"\r\n oneLevelMultiSelect=\"false\"\r\n multiSelect=\"true\"\r\n dataTestPrefix=\"object-filter-result-tree-\"\r\n (selectedNodes)=\"handleSelectedNodes($event)\"\r\n [customNodeTemplate]=\"objFilterResultNode\"\r\n>\r\n</lib-bimplus-flat-tree>\r\n\r\n<ng-template #objFilterResultNode let-node='node'>\r\n @switch (node.nodeType) {\r\n @case (\"rootNode\") {\r\n <div class=\"object-navigator-filter-result-root-node noselect\"> {{node.name}} &nbsp;&#40; {{getNodeObjectCounter(node.id)}} &#41;</div>\r\n }\r\n @case (\"structureNode\") {\r\n <div class=\"noselect\"> {{node.name}} &nbsp;&#40; {{getNodeObjectCounter(node.id)}} &#41;</div>\r\n }\r\n @case (\"objectNode\") {\r\n <span class=\"noselect\">\r\n <div class=\"noselect\" (dblclick)=\"dblClickedObjectNode(node)\" (mouseenter)=\"mouseEnterObjectNode(node)\" (mouseleave)=\"mouseLeaveObjectNode(node)\">\r\n {{node.name}}\r\n </div>\r\n </span> \r\n }\r\n }\r\n</ng-template>\r\n", styles: [".noselect{-webkit-touch-callout:none;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}lib-bimplus-flat-tree{--flat-tree-node-indent: 0;--flat-tree-folder-font-weight: 400;--flat-tree-selected-node-font-weight: 700}.object-navigator-filter-result-root-node{display:inline-block;text-transform:uppercase;line-height:2.4rem;font-weight:700;font-size:.9375em;text-overflow:ellipsis;white-space:nowrap;overflow:hidden;max-width:100%}\n"] }]
144
+ args: [{ selector: 'lib-object-filter-result', standalone: true, imports: [BimplusFlatTreeComponent], template: "<lib-bimplus-flat-tree\n paddingIndent=\"1.4rem\"\n [treeData]=\"treeData\"\n enableParentHighlighting=\"false\"\n oneLevelMultiSelect=\"false\"\n multiSelect=\"true\"\n dataTestPrefix=\"object-filter-result-tree-\"\n (selectedNodes)=\"handleSelectedNodes($event)\"\n [customNodeTemplate]=\"objFilterResultNode\"\n>\n</lib-bimplus-flat-tree>\n\n<ng-template #objFilterResultNode let-node='node'>\n @switch (node.nodeType) {\n @case (\"rootNode\") {\n <div class=\"object-navigator-filter-result-root-node noselect\"> {{node.name}} &nbsp;&#40; {{getNodeObjectCounter(node.id)}} &#41;</div>\n }\n @case (\"structureNode\") {\n <div class=\"noselect\"> {{node.name}} &nbsp;&#40; {{getNodeObjectCounter(node.id)}} &#41;</div>\n }\n @case (\"objectNode\") {\n <span class=\"noselect\">\n <div class=\"noselect\" (dblclick)=\"dblClickedObjectNode(node)\" (mouseenter)=\"mouseEnterObjectNode(node)\" (mouseleave)=\"mouseLeaveObjectNode(node)\">\n {{node.name}}\n </div>\n </span> \n }\n }\n</ng-template>\n", styles: [".noselect{-webkit-touch-callout:none;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}lib-bimplus-flat-tree{--flat-tree-node-indent: 0;--flat-tree-folder-font-weight: 400;--flat-tree-selected-node-font-weight: 700;--flat-tree-background-color: var(--bimplus-object-filter-result-background-color, var(--flat-tree-container-background-color-enabled))}.object-navigator-filter-result-root-node{display:inline-block;text-transform:uppercase;line-height:2.4rem;font-weight:700;font-size:.9375em;text-overflow:ellipsis;white-space:nowrap;overflow:hidden;max-width:100%}\n"] }]
145
145
  }], propDecorators: { treeComponent: [{
146
146
  type: ViewChild,
147
147
  args: [BimplusFlatTreeComponent]
@@ -158,4 +158,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImpo
158
158
  }], nodeMouseLeft: [{
159
159
  type: Output
160
160
  }] } });
161
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib2JqZWN0LWZpbHRlci1yZXN1bHQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LWJpbXBsdXMtY29tcG9uZW50cy9zcmMvbGliL2NvbXBvbmVudHMvYmltcGx1cy1vYmplY3QtbmF2aWdhdG9yL29iamVjdC1maWx0ZXItcmVzdWx0L29iamVjdC1maWx0ZXItcmVzdWx0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1iaW1wbHVzLWNvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL2JpbXBsdXMtb2JqZWN0LW5hdmlnYXRvci9vYmplY3QtZmlsdGVyLXJlc3VsdC9vYmplY3QtZmlsdGVyLXJlc3VsdC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWlCLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDakcsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0scURBQXFELENBQUM7O0FBYy9GLE1BQU0sT0FBTywyQkFBMkI7SUFQeEM7UUFTRSx3QkFBd0I7UUFDYSxrQkFBYSxHQUFvQyxJQUFJLENBQUM7UUFrQmpGLHlCQUFvQixHQUFHLElBQUksWUFBWSxFQUFZLENBQUM7UUFDcEQsc0JBQWlCLEdBQUcsSUFBSSxZQUFZLEVBQVUsQ0FBQztRQUMvQyxxQkFBZ0IsR0FBRyxJQUFJLFlBQVksRUFBVSxDQUFDO1FBQzlDLGtCQUFhLEdBQUcsSUFBSSxZQUFZLEVBQVUsQ0FBQztRQXNDckQsNEJBQTRCO1FBRTVCLHlCQUF5QjtRQUNqQixrQkFBYSxHQUFpRCxJQUFJLENBQUM7UUFDbkUsY0FBUyxHQUFnQixFQUFFLENBQUM7UUFDNUIscUJBQWdCLEdBQXFCLEVBQUUsQ0FBQztRQUN4QywwQkFBcUIsR0FBeUIsRUFBRSxD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bEJZLHdCQUF3Qjs7NEZBSXZCLDJCQUEyQjtrQkFQdkMsU0FBUzsrQkFDRSwwQkFBMEIsY0FDeEIsSUFBSSxXQUNQLENBQUMsd0JBQXdCLENBQUM7OEJBT0UsYUFBYTtzQkFBakQsU0FBUzt1QkFBQyx3QkFBd0I7Z0JBRy9CLFlBQVk7c0JBRGYsS0FBSztnQkFPRixlQUFlO3NCQURsQixLQUFLO2dCQVVJLG9CQUFvQjtzQkFBN0IsTUFBTTtnQkFDRyxpQkFBaUI7c0JBQTFCLE1BQU07Z0JBQ0csZ0JBQWdCO3NCQUF6QixNQUFNO2dCQUNHLGFBQWE7c0JBQXRCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBZnRlclZpZXdJbml0LCBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE91dHB1dCwgVmlld0NoaWxkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEJpbXBsdXNGbGF0VHJlZUNvbXBvbmVudCB9IGZyb20gJy4uLy4uL2JpbXBsdXMtZmxhdC10cmVlL2JpbXBsdXMtZmxhdC10cmVlLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEZsYXROb2RlLCBUcmVlTm9kZSB9IGZyb20gJy4uLy4uL2JpbXBsdXMtZmxhdC10cmVlL2JpbXBsdXMtZmxhdC10cmVlLmludGVyZmFjZSc7XHJcbmltcG9ydCAqIGFzIFdlYlNkayBmcm9tICdiaW1wbHVzLXdlYnNkayc7XHJcblxyXG50eXBlIFRyZWVOb2Rlc0xvb2t1cCA9IFJlY29yZDxzdHJpbmcsIFRyZWVOb2RlPjtcclxudHlwZSBUcmVlTm9kZU9iamVjdENvdW50cyA9IFJlY29yZDxzdHJpbmcsIG51bWJlcj47XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2xpYi1vYmplY3QtZmlsdGVyLXJlc3VsdCcsXHJcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcclxuICBpbXBvcnRzOiBbQmltcGx1c0ZsYXRUcmVlQ29tcG9uZW50XSxcclxuICB0ZW1wbGF0ZVVybDogJy4vb2JqZWN0LWZpbHRlci1yZXN1bHQuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsOiAnLi9vYmplY3QtZmlsdGVyLXJlc3VsdC5jb21wb25lbnQubGVzcydcclxufSlcclxuZXhwb3J0IGNsYXNzIE9iamVjdEZpbHRlclJlc3VsdENvbXBvbmVudCBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQge1xyXG5cclxuICAvLyAjcmVnaW9uIHB1YmxpYyBmaWVsZHNcclxuICBAVmlld0NoaWxkKEJpbXBsdXNGbGF0VHJlZUNvbXBvbmVudCkgdHJlZUNvbXBvbmVudDogQmltcGx1c0ZsYXRUcmVlQ29tcG9uZW50IHwgbnVsbCA9IG51bGw7XHJcbiAgXHJcbiAgQElucHV0KClcclxuICBzZXQgZmlsdGVyUmVzdWx0KHJlcyA6IFdlYlNkay5PYmplY3RGaWx0ZXJTdHJ1Y3R1cmVSZXNwb25zZSB8IG51bGwpe1xyXG4gICAgdGhpcy5fZmlsdGVyUmVzdWx0ID0gcmVzO1xyXG4gICAgdGhpcy5fdXBkYXRlVHJlZURhdGEoKTtcclxuICB9XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgc2V0IHNlbGVjdGVkT2JqZWN0cyhzZWxlY3RlZE9iamVjdHM6IHN0cmluZ1tdKXtcclxuICAgIHRoaXMuX3NlbGVjdGVkT2JqZWN0cyA9IHNlbGVjdGVkT2JqZWN0cztcclxuICAgIHRoaXMuX3N5bmNTZWxlY3RlZE9iamVjdHMoKTtcclxuICB9XHJcblxyXG4gIGdldCB0cmVlRGF0YSgpe1xyXG4gICAgcmV0dXJuIHRoaXMuX3RyZWVEYXRhO1xyXG4gIH1cclxuXHJcbiAgQE91dHB1dCgpIG5vZGVTZWxlY3Rpb25DaGFuZ2VkID0gbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmdbXT4oKTtcclxuICBAT3V0cHV0KCkgbm9kZURvdWJsZUNsaWNrZWQgPSBuZXcgRXZlbnRFbWl0dGVyPHN0cmluZz4oKTtcclxuICBAT3V0cHV0KCkgbm9kZU1vdXNlRW50ZXJlZCA9IG5ldyBFdmVudEVtaXR0ZXI8c3RyaW5nPigpO1xyXG4gIEBPdXRwdXQoKSBub2RlTW91c2VMZWZ0ID0gbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmc+KCk7XHJcbiAgLy8gI2VuZHJlZ2lvbiBwdWJsaWMgZmllbGRzXHJcblxyXG4gIC8vICNyZWdpb24gcHVibGljIG1ldGhvZHNcclxuICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XHJcbiAgICBpZih0aGlzLl90cmVlRGF0YSAmJiB0aGlzLl90cmVlRGF0YS5sZW5ndGg+MCl7XHJcbiAgICAgIHRoaXMuX2V4cGFuZFRvT2JqZWN0TGV2ZWwodGhpcy5fdHJlZURhdGFbMF0pO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgaGFuZGxlU2VsZWN0ZWROb2Rlcyhub2RlcyA6IEZsYXROb2RlW10pe1xyXG4gICAgdGhpcy5ub2RlU2VsZWN0aW9uQ2hhbmdlZC5lbWl0KG5vZGVzLm1hcCh4PT54LmlkKSk7XHJcbiAgfVxyXG5cclxuXHJcbiAgZ2V0Tm9kZU9iamVjdENvdW50ZXIoaWQ6IHN0cmluZyl7XHJcbiAgICByZXR1cm4gdGhpcy5fdHJlZU5vZGVPYmplY3RDb3VudHNbaWRdO1xyXG4gIH1cclxuXHJcbiAgZGJsQ2xpY2tlZE9iamVjdE5vZGUobm9kZTogVHJlZU5vZGUpe1xyXG4gICAgdGhpcy5ub2RlRG91YmxlQ2xpY2tlZC5lbWl0KG5vZGUuaWQpO1xyXG4gIH1cclxuXHJcbiAgbW91c2VFbnRlck9iamVjdE5vZGUobm9kZTogVHJlZU5vZGUpe1xyXG4gICAgdGhpcy5ub2RlTW91c2VFbnRlcmVkLmVtaXQobm9kZS5pZCk7XHJcbiAgfVxyXG5cclxuICBtb3VzZUxlYXZlT2JqZWN0Tm9kZShub2RlOiBUcmVlTm9kZSl7XHJcbiAgICB0aGlzLm5vZGVNb3VzZUxlZnQuZW1pdChub2RlLmlkKTtcclxuICB9XHJcblxyXG4gIGV4cGFuZFRvT2JqZWN0TGV2ZWwoKXtcclxuICAgIGlmKHRoaXMudHJlZURhdGEubGVuZ3RoID09PSAwKVxyXG4gICAgICByZXR1cm47XHJcbiAgICBcclxuICAgIHRoaXMuX2V4cGFuZFRvT2JqZWN0TGV2ZWwodGhpcy5fdHJlZURhdGFbMF0pO1xyXG4gIH1cclxuXHJcbiAgLy8gI2VuZHJlZ2lvbiBwdWJsaWMgbWV0aG9kc1xyXG5cclxuICAvLyAjcmVnaW9uIHByaXZhdGUgZmllbGRzXHJcbiAgcHJpdmF0ZSBfZmlsdGVyUmVzdWx0IDogV2ViU2RrLk9iamVjdEZpbHRlclN0cnVjdHVyZVJlc3BvbnNlIHwgbnVsbCA9IG51bGw7XHJcbiAgcHJpdmF0ZSBfdHJlZURhdGEgOiBUcmVlTm9kZVtdID0gW107XHJcbiAgcHJpdmF0ZSBfdHJlZU5vZGVzTG9va3VwIDogVHJlZU5vZGVzTG9va3VwID0ge307XHJcbiAgcHJpdmF0ZSBfdHJlZU5vZGVPYmplY3RDb3VudHM6IFRyZWVOb2RlT2JqZWN0Q291bnRzID0ge307XHJcbiAgcHJpdmF0ZSBfc2VsZWN0ZWRPYmplY3RzIDogc3RyaW5nW10gPSBbXTtcclxuICAvLyAjZW5kcmVnaW9uIHByaXZhdGUgZmllbGRzXHJcblxyXG4gIC8vICNyZWdpb24gcHJpdmF0ZSBtZXRob2RzXHJcbiAgcHJpdmF0ZSBfc3luY1NlbGVjdGVkT2JqZWN0cygpe1xyXG5cclxuICAgIGNvbnN0IG5vZGVzIDogVHJlZU5vZGVbXSA9IFtdXHJcblxyXG4gICAgZm9yKGNvbnN0IGlkIG9mIHRoaXMuX3NlbGVjdGVkT2JqZWN0cyl7XHJcbiAgICAgIGNvbnN0IHRyZWVOb2RlID0gdGhpcy5fdHJlZU5vZGVzTG9va3VwW2lkXTtcclxuICAgICAgaWYodHJlZU5vZGUpe1xyXG4gICAgICAgIG5vZGVzLnB1c2godHJlZU5vZGUpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy50cmVlQ29tcG9uZW50Py5yZXNldF9zZWxlY3Rpb24oKTtcclxuXHJcbiAgICBmb3IoY29uc3Qgbm9kZSBvZiBub2Rlcyl7XHJcbiAgICAgIHRoaXMudHJlZUNvbXBvbmVudD8uc2VsZWN0X25vZGUobm9kZS5pZCk7XHJcbiAgICB9XHJcblxyXG4gIH1cclxuXHJcblxyXG4gIHByaXZhdGUgX3VwZGF0ZU9iamVjdENvdW50ZXJzKCl7XHJcbiAgICB0aGlzLl90cmVlTm9kZU9iamVjdENvdW50cyA9IHt9O1xyXG4gICAgdGhpcy5fY291bnRPYmplY3RzKHRoaXMudHJlZURhdGFbMF0pO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBfY291bnRPYmplY3RzKG5vZGU6IFRyZWVOb2RlKXtcclxuICAgIGlmKG5vZGUubm9kZVR5cGUgJiYgbm9kZS5ub2RlVHlwZSA9PT0gXCJvYmplY3ROb2RlXCIpXHJcbiAgICAgIHJldHVybiAxO1xyXG4gICAgXHJcbiAgICBsZXQgY291bnQgPSAwO1xyXG4gICAgaWYoIW5vZGUuY2hpbGRyZW4pXHJcbiAgICAgIHJldHVybiAwO1xyXG5cclxuICAgIGZvcihjb25zdCBjaGlsZCBvZiBub2RlLmNoaWxkcmVuKXtcclxuICAgICAgaWYoIWNoaWxkKVxyXG4gICAgICAgIGNvbnRpbnVlO1xyXG5cclxuICAgICAgY291bnQgKz0gdGhpcy5fY291bnRPYmplY3RzKGNoaWxkKTtcclxuICAgIH1cclxuXHJcbiAgICB0aGlzLl90cmVlTm9kZU9iamVjdENvdW50c1tub2RlLmlkXSA9IGNvdW50O1xyXG4gICAgcmV0dXJuIGNvdW50O1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBfdXBkYXRlVHJlZURhdGEoKXtcclxuICAgIGlmKCF0aGlzLl9maWx0ZXJSZXN1bHQpe1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy5fdHJlZU5vZGVzTG9va3VwID0ge307XHJcbiAgICB0aGlzLl90cmVlRGF0YSA9IFt0aGlzLl9jb252ZXJ0RmlsdGVyUmVzdWx0VG9UcmVlTm9kZSh0aGlzLl9maWx0ZXJSZXN1bHQuc3RydWN0dXJlLCB0aGlzLl90cmVlTm9kZXNMb29rdXApXTtcclxuICAgIHRoaXMuX3VwZGF0ZU9iamVjdENvdW50ZXJzKCk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIF9jb252ZXJ0RmlsdGVyUmVzdWx0VG9UcmVlTm9kZShub2RlIDogV2ViU2RrLlN0cnVjdHVyZU5vZGUsIG5vZGVzTG9va3VwIDogVHJlZU5vZGVzTG9va3VwIHwgdW5kZWZpbmVkID0gdW5kZWZpbmVkKSA6IFRyZWVOb2Rle1xyXG5cclxuICAgIGNvbnN0IHRyZWVOb2RlIDogVHJlZU5vZGUgPSB7XHJcbiAgICAgIG5hbWU6IG5vZGUubmFtZSxcclxuICAgICAgaWQ6IG5vZGUuaWQsXHJcbiAgICAgIHBhcmVudDogbm9kZS5wYXJlbnQgXHJcbiAgICB9O1xyXG5cclxuICAgIGlmKG5vZGUuY2hpbGRyZW4pe1xyXG4gICAgICB0cmVlTm9kZS5jaGlsZHJlbiA9IFtdO1xyXG4gICAgICBmb3IoY29uc3QgY2hpbGQgb2Ygbm9kZS5jaGlsZHJlbil7XHJcbiAgICAgICAgY29uc3QgY2hpbGRUcmVlTm9kZSA9IHRoaXMuX2NvbnZlcnRGaWx0ZXJSZXN1bHRUb1RyZWVOb2RlKGNoaWxkLCBub2Rlc0xvb2t1cCk7XHJcbiAgICAgICAgdHJlZU5vZGUuY2hpbGRyZW4ucHVzaChjaGlsZFRyZWVOb2RlKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgXHJcbiAgICBpZighdHJlZU5vZGUucGFyZW50KXtcclxuICAgICAgdHJlZU5vZGUubm9kZVR5cGUgPSBcInJvb3ROb2RlXCI7XHJcbiAgICB9ZWxzZSBpZihub2RlLnR5cGUgPT09IFwiU3RydWN0dXJlXCIpe1xyXG4gICAgICB0cmVlTm9kZS5ub2RlVHlwZSA9IFwic3RydWN0dXJlTm9kZVwiO1xyXG4gICAgfWVsc2V7XHJcbiAgICAgIHRyZWVOb2RlLm5vZGVUeXBlID0gXCJvYmplY3ROb2RlXCJcclxuICAgIH1cclxuXHJcbiAgICBpZihub2Rlc0xvb2t1cCl7XHJcbiAgICAgIG5vZGVzTG9va3VwW3RyZWVOb2RlLmlkXSA9IHRyZWVOb2RlO1xyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiB0cmVlTm9kZTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgX2V4cGFuZFRvT2JqZWN0TGV2ZWwobm9kZSA6IFRyZWVOb2RlKXtcclxuICAgIGlmKG5vZGUuY2hpbGRyZW4pe1xyXG4gICAgICBmb3IoY29uc3QgY2hpbGQgb2Ygbm9kZS5jaGlsZHJlbil7XHJcbiAgICAgICAgaWYoY2hpbGQubm9kZVR5cGUgJiYgY2hpbGQubm9kZVR5cGUgPT09IFwib2JqZWN0Tm9kZVwiKXtcclxuICAgICAgICAgIHJldHVybjtcclxuICAgICAgICB9ZWxzZXtcclxuICAgICAgICAgIHRoaXMuX2V4cGFuZFRvT2JqZWN0TGV2ZWwoY2hpbGQpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHRoaXMudHJlZUNvbXBvbmVudD8uZXhwYW5kX25vZGUobm9kZS5pZCk7XHJcbiAgfVxyXG4gIC8vICNlbmRyZWdpb24gcHJpdmF0ZSBtZXRob2RzXHJcblxyXG59XHJcbiIsIjxsaWItYmltcGx1cy1mbGF0LXRyZWVcclxuICBwYWRkaW5nSW5kZW50PVwiMS40cmVtXCJcclxuICBbdHJlZURhdGFdPVwidHJlZURhdGFcIlxyXG4gIGVuYWJsZVBhcmVudEhpZ2hsaWdodGluZz1cImZhbHNlXCJcclxuICBvbmVMZXZlbE11bHRpU2VsZWN0PVwiZmFsc2VcIlxyXG4gIG11bHRpU2VsZWN0PVwidHJ1ZVwiXHJcbiAgZGF0YVRlc3RQcmVmaXg9XCJvYmplY3QtZmlsdGVyLXJlc3VsdC10cmVlLVwiXHJcbiAgKHNlbGVjdGVkTm9kZXMpPVwiaGFuZGxlU2VsZWN0ZWROb2RlcygkZXZlbnQpXCJcclxuICBbY3VzdG9tTm9kZVRlbXBsYXRlXT1cIm9iakZpbHRlclJlc3VsdE5vZGVcIlxyXG4+XHJcbjwvbGliLWJpbXBsdXMtZmxhdC10cmVlPlxyXG5cclxuPG5nLXRlbXBsYXRlICNvYmpGaWx0ZXJSZXN1bHROb2RlIGxldC1ub2RlPSdub2RlJz5cclxuICBAc3dpdGNoIChub2RlLm5vZGVUeXBlKSB7XHJcbiAgICBAY2FzZSAoXCJyb290Tm9kZVwiKSB7XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJvYmplY3QtbmF2aWdhdG9yLWZpbHRlci1yZXN1bHQtcm9vdC1ub2RlIG5vc2VsZWN0XCI+IHt7bm9kZS5uYW1lfX0gJm5ic3A7JiM0MDsge3tnZXROb2RlT2JqZWN0Q291bnRlcihub2RlLmlkKX19ICYjNDE7PC9kaXY+XHJcbiAgICB9XHJcbiAgICBAY2FzZSAoXCJzdHJ1Y3R1cmVOb2RlXCIpIHtcclxuICAgICAgPGRpdiBjbGFzcz1cIm5vc2VsZWN0XCI+IHt7bm9kZS5uYW1lfX0gJm5ic3A7JiM0MDsge3tnZXROb2RlT2JqZWN0Q291bnRlcihub2RlLmlkKX19ICYjNDE7PC9kaXY+XHJcbiAgICB9XHJcbiAgICBAY2FzZSAoXCJvYmplY3ROb2RlXCIpIHtcclxuICAgICAgPHNwYW4gY2xhc3M9XCJub3NlbGVjdFwiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJub3NlbGVjdFwiIChkYmxjbGljayk9XCJkYmxDbGlja2VkT2JqZWN0Tm9kZShub2RlKVwiIChtb3VzZWVudGVyKT1cIm1vdXNlRW50ZXJPYmplY3ROb2RlKG5vZGUpXCIgIChtb3VzZWxlYXZlKT1cIm1vdXNlTGVhdmVPYmplY3ROb2RlKG5vZGUpXCI+XHJcbiAgICAgICAgICB7e25vZGUubmFtZX19XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgIDwvc3Bhbj4gICAgICAgICAgXHJcbiAgICB9XHJcbiAgfVxyXG48L25nLXRlbXBsYXRlPlxyXG4iXX0=
161
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib2JqZWN0LWZpbHRlci1yZXN1bHQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LWJpbXBsdXMtY29tcG9uZW50cy9zcmMvbGliL2NvbXBvbmVudHMvYmltcGx1cy1vYmplY3QtbmF2aWdhdG9yL29iamVjdC1maWx0ZXItcmVzdWx0L29iamVjdC1maWx0ZXItcmVzdWx0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1iaW1wbHVzLWNvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL2JpbXBsdXMtb2JqZWN0LW5hdmlnYXRvci9vYmplY3QtZmlsdGVyLXJlc3VsdC9vYmplY3QtZmlsdGVyLXJlc3VsdC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWlCLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDakcsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0scURBQXFELENBQUM7O0FBYy9GLE1BQU0sT0FBTywyQkFBMkI7SUFQeEM7UUFTRSx3QkFBd0I7UUFDYSxrQkFBYSxHQUFvQyxJQUFJLENBQUM7UUFrQmpGLHlCQUFvQixHQUFHLElBQUksWUFBWSxFQUFZLENBQUM7UUFDcEQsc0JBQWlCLEdBQUcsSUFBSSxZQUFZLEVBQVUsQ0FBQztRQUMvQyxxQkFBZ0IsR0FBRyxJQUFJLFlBQVksRUFBVSxDQUFDO1FBQzlDLGtCQUFhLEdBQUcsSUFBSSxZQUFZLEVBQVUsQ0FBQztRQXNDckQsNEJBQTRCO1FBRTVCLHlCQUF5QjtRQUNqQixrQkFBYSxHQUFpRCxJQUFJLENBQUM7UUFDbkUsY0FBUyxHQUFnQixFQUFFLENBQUM7UUFDNUIscUJBQWdCLEdBQXFCLEVBQUUsQ0FBQztRQUN4QywwQkFBcUIsR0FBeUIsRUFBRSxD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bEJZLHdCQUF3Qjs7NEZBSXZCLDJCQUEyQjtrQkFQdkMsU0FBUzsrQkFDRSwwQkFBMEIsY0FDeEIsSUFBSSxXQUNQLENBQUMsd0JBQXdCLENBQUM7OEJBT0UsYUFBYTtzQkFBakQsU0FBUzt1QkFBQyx3QkFBd0I7Z0JBRy9CLFlBQVk7c0JBRGYsS0FBSztnQkFPRixlQUFlO3NCQURsQixLQUFLO2dCQVVJLG9CQUFvQjtzQkFBN0IsTUFBTTtnQkFDRyxpQkFBaUI7c0JBQTFCLE1BQU07Z0JBQ0csZ0JBQWdCO3NCQUF6QixNQUFNO2dCQUNHLGFBQWE7c0JBQXRCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBZnRlclZpZXdJbml0LCBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE91dHB1dCwgVmlld0NoaWxkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEJpbXBsdXNGbGF0VHJlZUNvbXBvbmVudCB9IGZyb20gJy4uLy4uL2JpbXBsdXMtZmxhdC10cmVlL2JpbXBsdXMtZmxhdC10cmVlLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEZsYXROb2RlLCBUcmVlTm9kZSB9IGZyb20gJy4uLy4uL2JpbXBsdXMtZmxhdC10cmVlL2JpbXBsdXMtZmxhdC10cmVlLmludGVyZmFjZSc7XHJcbmltcG9ydCAqIGFzIFdlYlNkayBmcm9tICdiaW1wbHVzLXdlYnNkayc7XHJcblxyXG50eXBlIFRyZWVOb2Rlc0xvb2t1cCA9IFJlY29yZDxzdHJpbmcsIFRyZWVOb2RlPjtcclxudHlwZSBUcmVlTm9kZU9iamVjdENvdW50cyA9IFJlY29yZDxzdHJpbmcsIG51bWJlcj47XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2xpYi1vYmplY3QtZmlsdGVyLXJlc3VsdCcsXHJcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcclxuICBpbXBvcnRzOiBbQmltcGx1c0ZsYXRUcmVlQ29tcG9uZW50XSxcclxuICB0ZW1wbGF0ZVVybDogJy4vb2JqZWN0LWZpbHRlci1yZXN1bHQuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsOiAnLi9vYmplY3QtZmlsdGVyLXJlc3VsdC5jb21wb25lbnQubGVzcydcclxufSlcclxuZXhwb3J0IGNsYXNzIE9iamVjdEZpbHRlclJlc3VsdENvbXBvbmVudCBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQge1xyXG5cclxuICAvLyAjcmVnaW9uIHB1YmxpYyBmaWVsZHNcclxuICBAVmlld0NoaWxkKEJpbXBsdXNGbGF0VHJlZUNvbXBvbmVudCkgdHJlZUNvbXBvbmVudDogQmltcGx1c0ZsYXRUcmVlQ29tcG9uZW50IHwgbnVsbCA9IG51bGw7XHJcbiAgXHJcbiAgQElucHV0KClcclxuICBzZXQgZmlsdGVyUmVzdWx0KHJlcyA6IFdlYlNkay5PYmplY3RGaWx0ZXJTdHJ1Y3R1cmVSZXNwb25zZSB8IG51bGwpe1xyXG4gICAgdGhpcy5fZmlsdGVyUmVzdWx0ID0gcmVzO1xyXG4gICAgdGhpcy5fdXBkYXRlVHJlZURhdGEoKTtcclxuICB9XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgc2V0IHNlbGVjdGVkT2JqZWN0cyhzZWxlY3RlZE9iamVjdHM6IHN0cmluZ1tdKXtcclxuICAgIHRoaXMuX3NlbGVjdGVkT2JqZWN0cyA9IHNlbGVjdGVkT2JqZWN0cztcclxuICAgIHRoaXMuX3N5bmNTZWxlY3RlZE9iamVjdHMoKTtcclxuICB9XHJcblxyXG4gIGdldCB0cmVlRGF0YSgpe1xyXG4gICAgcmV0dXJuIHRoaXMuX3RyZWVEYXRhO1xyXG4gIH1cclxuXHJcbiAgQE91dHB1dCgpIG5vZGVTZWxlY3Rpb25DaGFuZ2VkID0gbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmdbXT4oKTtcclxuICBAT3V0cHV0KCkgbm9kZURvdWJsZUNsaWNrZWQgPSBuZXcgRXZlbnRFbWl0dGVyPHN0cmluZz4oKTtcclxuICBAT3V0cHV0KCkgbm9kZU1vdXNlRW50ZXJlZCA9IG5ldyBFdmVudEVtaXR0ZXI8c3RyaW5nPigpO1xyXG4gIEBPdXRwdXQoKSBub2RlTW91c2VMZWZ0ID0gbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmc+KCk7XHJcbiAgLy8gI2VuZHJlZ2lvbiBwdWJsaWMgZmllbGRzXHJcblxyXG4gIC8vICNyZWdpb24gcHVibGljIG1ldGhvZHNcclxuICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XHJcbiAgICBpZih0aGlzLl90cmVlRGF0YSAmJiB0aGlzLl90cmVlRGF0YS5sZW5ndGg+MCl7XHJcbiAgICAgIHRoaXMuX2V4cGFuZFRvT2JqZWN0TGV2ZWwodGhpcy5fdHJlZURhdGFbMF0pO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgaGFuZGxlU2VsZWN0ZWROb2Rlcyhub2RlcyA6IEZsYXROb2RlW10pe1xyXG4gICAgdGhpcy5ub2RlU2VsZWN0aW9uQ2hhbmdlZC5lbWl0KG5vZGVzLm1hcCh4PT54LmlkKSk7XHJcbiAgfVxyXG5cclxuXHJcbiAgZ2V0Tm9kZU9iamVjdENvdW50ZXIoaWQ6IHN0cmluZyl7XHJcbiAgICByZXR1cm4gdGhpcy5fdHJlZU5vZGVPYmplY3RDb3VudHNbaWRdO1xyXG4gIH1cclxuXHJcbiAgZGJsQ2xpY2tlZE9iamVjdE5vZGUobm9kZTogVHJlZU5vZGUpe1xyXG4gICAgdGhpcy5ub2RlRG91YmxlQ2xpY2tlZC5lbWl0KG5vZGUuaWQpO1xyXG4gIH1cclxuXHJcbiAgbW91c2VFbnRlck9iamVjdE5vZGUobm9kZTogVHJlZU5vZGUpe1xyXG4gICAgdGhpcy5ub2RlTW91c2VFbnRlcmVkLmVtaXQobm9kZS5pZCk7XHJcbiAgfVxyXG5cclxuICBtb3VzZUxlYXZlT2JqZWN0Tm9kZShub2RlOiBUcmVlTm9kZSl7XHJcbiAgICB0aGlzLm5vZGVNb3VzZUxlZnQuZW1pdChub2RlLmlkKTtcclxuICB9XHJcblxyXG4gIGV4cGFuZFRvT2JqZWN0TGV2ZWwoKXtcclxuICAgIGlmKHRoaXMudHJlZURhdGEubGVuZ3RoID09PSAwKVxyXG4gICAgICByZXR1cm47XHJcbiAgICBcclxuICAgIHRoaXMuX2V4cGFuZFRvT2JqZWN0TGV2ZWwodGhpcy5fdHJlZURhdGFbMF0pO1xyXG4gIH1cclxuXHJcbiAgLy8gI2VuZHJlZ2lvbiBwdWJsaWMgbWV0aG9kc1xyXG5cclxuICAvLyAjcmVnaW9uIHByaXZhdGUgZmllbGRzXHJcbiAgcHJpdmF0ZSBfZmlsdGVyUmVzdWx0IDogV2ViU2RrLk9iamVjdEZpbHRlclN0cnVjdHVyZVJlc3BvbnNlIHwgbnVsbCA9IG51bGw7XHJcbiAgcHJpdmF0ZSBfdHJlZURhdGEgOiBUcmVlTm9kZVtdID0gW107XHJcbiAgcHJpdmF0ZSBfdHJlZU5vZGVzTG9va3VwIDogVHJlZU5vZGVzTG9va3VwID0ge307XHJcbiAgcHJpdmF0ZSBfdHJlZU5vZGVPYmplY3RDb3VudHM6IFRyZWVOb2RlT2JqZWN0Q291bnRzID0ge307XHJcbiAgcHJpdmF0ZSBfc2VsZWN0ZWRPYmplY3RzIDogc3RyaW5nW10gPSBbXTtcclxuICAvLyAjZW5kcmVnaW9uIHByaXZhdGUgZmllbGRzXHJcblxyXG4gIC8vICNyZWdpb24gcHJpdmF0ZSBtZXRob2RzXHJcbiAgcHJpdmF0ZSBfc3luY1NlbGVjdGVkT2JqZWN0cygpe1xyXG5cclxuICAgIGNvbnN0IG5vZGVzIDogVHJlZU5vZGVbXSA9IFtdXHJcblxyXG4gICAgZm9yKGNvbnN0IGlkIG9mIHRoaXMuX3NlbGVjdGVkT2JqZWN0cyl7XHJcbiAgICAgIGNvbnN0IHRyZWVOb2RlID0gdGhpcy5fdHJlZU5vZGVzTG9va3VwW2lkXTtcclxuICAgICAgaWYodHJlZU5vZGUpe1xyXG4gICAgICAgIG5vZGVzLnB1c2godHJlZU5vZGUpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy50cmVlQ29tcG9uZW50Py5yZXNldF9zZWxlY3Rpb24oKTtcclxuXHJcbiAgICBmb3IoY29uc3Qgbm9kZSBvZiBub2Rlcyl7XHJcbiAgICAgIHRoaXMudHJlZUNvbXBvbmVudD8uc2VsZWN0X25vZGUobm9kZS5pZCk7XHJcbiAgICB9XHJcblxyXG4gIH1cclxuXHJcblxyXG4gIHByaXZhdGUgX3VwZGF0ZU9iamVjdENvdW50ZXJzKCl7XHJcbiAgICB0aGlzLl90cmVlTm9kZU9iamVjdENvdW50cyA9IHt9O1xyXG4gICAgdGhpcy5fY291bnRPYmplY3RzKHRoaXMudHJlZURhdGFbMF0pO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBfY291bnRPYmplY3RzKG5vZGU6IFRyZWVOb2RlKXtcclxuICAgIGlmKG5vZGUubm9kZVR5cGUgJiYgbm9kZS5ub2RlVHlwZSA9PT0gXCJvYmplY3ROb2RlXCIpXHJcbiAgICAgIHJldHVybiAxO1xyXG4gICAgXHJcbiAgICBsZXQgY291bnQgPSAwO1xyXG4gICAgaWYoIW5vZGUuY2hpbGRyZW4pXHJcbiAgICAgIHJldHVybiAwO1xyXG5cclxuICAgIGZvcihjb25zdCBjaGlsZCBvZiBub2RlLmNoaWxkcmVuKXtcclxuICAgICAgaWYoIWNoaWxkKVxyXG4gICAgICAgIGNvbnRpbnVlO1xyXG5cclxuICAgICAgY291bnQgKz0gdGhpcy5fY291bnRPYmplY3RzKGNoaWxkKTtcclxuICAgIH1cclxuXHJcbiAgICB0aGlzLl90cmVlTm9kZU9iamVjdENvdW50c1tub2RlLmlkXSA9IGNvdW50O1xyXG4gICAgcmV0dXJuIGNvdW50O1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBfdXBkYXRlVHJlZURhdGEoKXtcclxuICAgIGlmKCF0aGlzLl9maWx0ZXJSZXN1bHQpe1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy5fdHJlZU5vZGVzTG9va3VwID0ge307XHJcbiAgICB0aGlzLl90cmVlRGF0YSA9IFt0aGlzLl9jb252ZXJ0RmlsdGVyUmVzdWx0VG9UcmVlTm9kZSh0aGlzLl9maWx0ZXJSZXN1bHQuc3RydWN0dXJlLCB0aGlzLl90cmVlTm9kZXNMb29rdXApXTtcclxuICAgIHRoaXMuX3VwZGF0ZU9iamVjdENvdW50ZXJzKCk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIF9jb252ZXJ0RmlsdGVyUmVzdWx0VG9UcmVlTm9kZShub2RlIDogV2ViU2RrLlN0cnVjdHVyZU5vZGUsIG5vZGVzTG9va3VwIDogVHJlZU5vZGVzTG9va3VwIHwgdW5kZWZpbmVkID0gdW5kZWZpbmVkKSA6IFRyZWVOb2Rle1xyXG5cclxuICAgIGNvbnN0IHRyZWVOb2RlIDogVHJlZU5vZGUgPSB7XHJcbiAgICAgIG5hbWU6IG5vZGUubmFtZSxcclxuICAgICAgaWQ6IG5vZGUuaWQsXHJcbiAgICAgIHBhcmVudDogbm9kZS5wYXJlbnQgXHJcbiAgICB9O1xyXG5cclxuICAgIGlmKG5vZGUuY2hpbGRyZW4pe1xyXG4gICAgICB0cmVlTm9kZS5jaGlsZHJlbiA9IFtdO1xyXG4gICAgICBmb3IoY29uc3QgY2hpbGQgb2Ygbm9kZS5jaGlsZHJlbil7XHJcbiAgICAgICAgY29uc3QgY2hpbGRUcmVlTm9kZSA9IHRoaXMuX2NvbnZlcnRGaWx0ZXJSZXN1bHRUb1RyZWVOb2RlKGNoaWxkLCBub2Rlc0xvb2t1cCk7XHJcbiAgICAgICAgdHJlZU5vZGUuY2hpbGRyZW4ucHVzaChjaGlsZFRyZWVOb2RlKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgXHJcbiAgICBpZighdHJlZU5vZGUucGFyZW50KXtcclxuICAgICAgdHJlZU5vZGUubm9kZVR5cGUgPSBcInJvb3ROb2RlXCI7XHJcbiAgICB9ZWxzZSBpZihub2RlLnR5cGUgPT09IFwiU3RydWN0dXJlXCIpe1xyXG4gICAgICB0cmVlTm9kZS5ub2RlVHlwZSA9IFwic3RydWN0dXJlTm9kZVwiO1xyXG4gICAgfWVsc2V7XHJcbiAgICAgIHRyZWVOb2RlLm5vZGVUeXBlID0gXCJvYmplY3ROb2RlXCJcclxuICAgIH1cclxuXHJcbiAgICBpZihub2Rlc0xvb2t1cCl7XHJcbiAgICAgIG5vZGVzTG9va3VwW3RyZWVOb2RlLmlkXSA9IHRyZWVOb2RlO1xyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiB0cmVlTm9kZTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgX2V4cGFuZFRvT2JqZWN0TGV2ZWwobm9kZSA6IFRyZWVOb2RlKXtcclxuICAgIGlmKG5vZGUuY2hpbGRyZW4pe1xyXG4gICAgICBmb3IoY29uc3QgY2hpbGQgb2Ygbm9kZS5jaGlsZHJlbil7XHJcbiAgICAgICAgaWYoY2hpbGQubm9kZVR5cGUgJiYgY2hpbGQubm9kZVR5cGUgPT09IFwib2JqZWN0Tm9kZVwiKXtcclxuICAgICAgICAgIHJldHVybjtcclxuICAgICAgICB9ZWxzZXtcclxuICAgICAgICAgIHRoaXMuX2V4cGFuZFRvT2JqZWN0TGV2ZWwoY2hpbGQpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHRoaXMudHJlZUNvbXBvbmVudD8uZXhwYW5kX25vZGUobm9kZS5pZCk7XHJcbiAgfVxyXG4gIC8vICNlbmRyZWdpb24gcHJpdmF0ZSBtZXRob2RzXHJcblxyXG59XHJcbiIsIjxsaWItYmltcGx1cy1mbGF0LXRyZWVcbiAgcGFkZGluZ0luZGVudD1cIjEuNHJlbVwiXG4gIFt0cmVlRGF0YV09XCJ0cmVlRGF0YVwiXG4gIGVuYWJsZVBhcmVudEhpZ2hsaWdodGluZz1cImZhbHNlXCJcbiAgb25lTGV2ZWxNdWx0aVNlbGVjdD1cImZhbHNlXCJcbiAgbXVsdGlTZWxlY3Q9XCJ0cnVlXCJcbiAgZGF0YVRlc3RQcmVmaXg9XCJvYmplY3QtZmlsdGVyLXJlc3VsdC10cmVlLVwiXG4gIChzZWxlY3RlZE5vZGVzKT1cImhhbmRsZVNlbGVjdGVkTm9kZXMoJGV2ZW50KVwiXG4gIFtjdXN0b21Ob2RlVGVtcGxhdGVdPVwib2JqRmlsdGVyUmVzdWx0Tm9kZVwiXG4+XG48L2xpYi1iaW1wbHVzLWZsYXQtdHJlZT5cblxuPG5nLXRlbXBsYXRlICNvYmpGaWx0ZXJSZXN1bHROb2RlIGxldC1ub2RlPSdub2RlJz5cbiAgQHN3aXRjaCAobm9kZS5ub2RlVHlwZSkge1xuICAgIEBjYXNlIChcInJvb3ROb2RlXCIpIHtcbiAgICAgIDxkaXYgY2xhc3M9XCJvYmplY3QtbmF2aWdhdG9yLWZpbHRlci1yZXN1bHQtcm9vdC1ub2RlIG5vc2VsZWN0XCI+IHt7bm9kZS5uYW1lfX0gJm5ic3A7JiM0MDsge3tnZXROb2RlT2JqZWN0Q291bnRlcihub2RlLmlkKX19ICYjNDE7PC9kaXY+XG4gICAgfVxuICAgIEBjYXNlIChcInN0cnVjdHVyZU5vZGVcIikge1xuICAgICAgPGRpdiBjbGFzcz1cIm5vc2VsZWN0XCI+IHt7bm9kZS5uYW1lfX0gJm5ic3A7JiM0MDsge3tnZXROb2RlT2JqZWN0Q291bnRlcihub2RlLmlkKX19ICYjNDE7PC9kaXY+XG4gICAgfVxuICAgIEBjYXNlIChcIm9iamVjdE5vZGVcIikge1xuICAgICAgPHNwYW4gY2xhc3M9XCJub3NlbGVjdFwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwibm9zZWxlY3RcIiAoZGJsY2xpY2spPVwiZGJsQ2xpY2tlZE9iamVjdE5vZGUobm9kZSlcIiAobW91c2VlbnRlcik9XCJtb3VzZUVudGVyT2JqZWN0Tm9kZShub2RlKVwiICAobW91c2VsZWF2ZSk9XCJtb3VzZUxlYXZlT2JqZWN0Tm9kZShub2RlKVwiPlxuICAgICAgICAgIHt7bm9kZS5uYW1lfX1cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L3NwYW4+ICAgICAgICAgIFxuICAgIH1cbiAgfVxuPC9uZy10ZW1wbGF0ZT5cbiJdfQ==
@@ -67,12 +67,12 @@ export class BimplusObjectStructureComponent {
67
67
  expandTree() {
68
68
  this.treeComponent?.expandTree();
69
69
  }
70
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: BimplusObjectStructureComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
71
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.12", type: BimplusObjectStructureComponent, isStandalone: true, selector: "lib-bimplus-object-structure", inputs: { objectStructureValue: ["objectStructure", "objectStructureValue"] }, outputs: { nodeSelected: "nodeSelected" }, viewQueries: [{ propertyName: "treeComponent", first: true, predicate: BimplusFlatTreeComponent, descendants: true }], ngImport: i0, template: "<lib-bimplus-flat-tree\r\n paddingIndent=\"1.4rem\"\r\n [treeData]=\"treeData()\"\r\n enableParentHighlighting=\"false\"\r\n (selectedNodes)=\"handleSelectedNodes($event)\"\r\n dataTestPrefix=\"object-structure-tree-\"\r\n></lib-bimplus-flat-tree>\r\n", styles: ["lib-bimplus-flat-tree{--flat-tree-node-indent: 0;--flat-tree-folder-font-weight: 400}\n"], dependencies: [{ kind: "component", type: BimplusFlatTreeComponent, selector: "lib-bimplus-flat-tree", inputs: ["treeDataStringified", "treeTitle", "paddingIndent", "multiSelect", "oneLevelMultiSelect", "showFoldersIcons", "showObjectsIcons", "enableSelect", "enableParentHighlighting", "enableDragAndDrop", "dataTestPrefix", "contextMenus", "treeData", "customNodeTemplate"], outputs: ["selectedNodes"] }] }); }
70
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: BimplusObjectStructureComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
71
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.11", type: BimplusObjectStructureComponent, isStandalone: true, selector: "lib-bimplus-object-structure", inputs: { objectStructureValue: ["objectStructure", "objectStructureValue"] }, outputs: { nodeSelected: "nodeSelected" }, viewQueries: [{ propertyName: "treeComponent", first: true, predicate: BimplusFlatTreeComponent, descendants: true }], ngImport: i0, template: "<lib-bimplus-flat-tree\r\n paddingIndent=\"1.4rem\"\r\n [treeData]=\"treeData()\"\r\n enableParentHighlighting=\"false\"\r\n (selectedNodes)=\"handleSelectedNodes($event)\"\r\n dataTestPrefix=\"object-structure-tree-\"\r\n></lib-bimplus-flat-tree>\r\n", styles: ["lib-bimplus-flat-tree{--flat-tree-node-indent: 0;--flat-tree-folder-font-weight: 400;--flat-tree-background-color: var(--bimplus-object-structure-background-color, var(--flat-tree-container-background-color-enabled))}\n"], dependencies: [{ kind: "component", type: BimplusFlatTreeComponent, selector: "lib-bimplus-flat-tree", inputs: ["treeDataStringified", "treeTitle", "paddingIndent", "multiSelect", "oneLevelMultiSelect", "showFoldersIcons", "showObjectsIcons", "enableSelect", "enableParentHighlighting", "enableDragAndDrop", "dataTestPrefix", "contextMenus", "treeData", "customNodeTemplate"], outputs: ["selectedNodes"] }] }); }
72
72
  }
73
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: BimplusObjectStructureComponent, decorators: [{
73
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: BimplusObjectStructureComponent, decorators: [{
74
74
  type: Component,
75
- args: [{ selector: 'lib-bimplus-object-structure', standalone: true, imports: [BimplusFlatTreeComponent], template: "<lib-bimplus-flat-tree\r\n paddingIndent=\"1.4rem\"\r\n [treeData]=\"treeData()\"\r\n enableParentHighlighting=\"false\"\r\n (selectedNodes)=\"handleSelectedNodes($event)\"\r\n dataTestPrefix=\"object-structure-tree-\"\r\n></lib-bimplus-flat-tree>\r\n", styles: ["lib-bimplus-flat-tree{--flat-tree-node-indent: 0;--flat-tree-folder-font-weight: 400}\n"] }]
75
+ args: [{ selector: 'lib-bimplus-object-structure', standalone: true, imports: [BimplusFlatTreeComponent], template: "<lib-bimplus-flat-tree\r\n paddingIndent=\"1.4rem\"\r\n [treeData]=\"treeData()\"\r\n enableParentHighlighting=\"false\"\r\n (selectedNodes)=\"handleSelectedNodes($event)\"\r\n dataTestPrefix=\"object-structure-tree-\"\r\n></lib-bimplus-flat-tree>\r\n", styles: ["lib-bimplus-flat-tree{--flat-tree-node-indent: 0;--flat-tree-folder-font-weight: 400;--flat-tree-background-color: var(--bimplus-object-structure-background-color, var(--flat-tree-container-background-color-enabled))}\n"] }]
76
76
  }], propDecorators: { objectStructureValue: [{
77
77
  type: Input,
78
78
  args: [{ alias: 'objectStructure' }]
@@ -82,4 +82,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImpo
82
82
  }], nodeSelected: [{
83
83
  type: Output
84
84
  }] } });
85
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmltcGx1cy1vYmplY3Qtc3RydWN0dXJlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1iaW1wbHVzLWNvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL2JpbXBsdXMtb2JqZWN0LXN0cnVjdHVyZS9iaW1wbHVzLW9iamVjdC1zdHJ1Y3R1cmUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LWJpbXBsdXMtY29tcG9uZW50cy9zcmMvbGliL2NvbXBvbmVudHMvYmltcGx1cy1vYmplY3Qtc3RydWN0dXJlL2JpbXBsdXMtb2JqZWN0LXN0cnVjdHVyZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFFBQVEsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3BHLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLGtEQUFrRCxDQUFDOztBQVc1RixNQUFNLE9BQU8sK0JBQStCO0lBUDVDO1FBZW1CLHFCQUFnQixHQUFHLE1BQU0sQ0FBc0I7WUFDOUQsRUFBRSxFQUFHLEVBQUU7WUFDUCxJQUFJLEVBQUcsRUFBRTtZQUNULE1BQU0sRUFBRSxFQUFFO1NBQ1gsQ0FBQyxDQUFDO1FBRWtDLGtCQUFhLEdBQW9DLElBQUksQ0FBQztRQXFCbEYsYUFBUSxHQUFHLFFBQVEsQ0FBYSxHQUFHLEVBQUU7WUFDNUMsTUFBTSxlQUFlLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUM7WUFDaEQsSUFBRyxDQUFDLGVBQWUsRUFBQyxDQUFDO2dCQUNuQixPQUFPLEVBQUUsQ0FBQztZQUNaLENBQUM7WUFFRCxNQUFNLElBQUksR0FBRyxJQUFJLENBQUMscUNBQXFDLENBQUMsZUFBZSxDQUFDLENBQUM7WUFDekUsSUFBRyxDQUFDLElBQUksRUFBQyxDQUFDO2dCQUNSLE9BQU8sRUFBRSxDQUFDO1lBQ1osQ0FBQztZQUVELE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNoQixDQUFDLENBQUMsQ0FBQTtRQWlDUSxpQkFBWSxHQUFHLElBQUksWUFBWSxFQUF1QixDQUFDO0tBQ2xFO0lBaEZDLDRFQUE0RTtJQUM1RSxvREFBb0Q7SUFDcEQsSUFDSSxvQkFBb0IsQ0FBQyxJQUEwQjtRQUNqRCxJQUFJLENBQUMsZ0JBQWdCLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ2xDLENBQUM7SUFVTyxxQ0FBcUMsQ0FBQyxJQUEwQjtRQUV0RSxNQUFNLFFBQVEsR0FBYztZQUMxQixJQUFJLEVBQUUsSUFBSSxDQUFDLElBQUk7WUFDZixFQUFFLEVBQUUsSUFBSSxDQUFDLEVBQUU7WUFDWCxNQUFNLEVBQUUsSUFBSSxDQUFDLE1BQU07U0FDcEIsQ0FBQztRQUVGLElBQUcsSUFBSSxDQUFDLFFBQVEsRUFBQyxDQUFDO1lBQ2hCLFFBQVEsQ0FBQyxRQUFRLEdBQUcsRUFBRSxDQUFDO1lBQ3ZCLEtBQUksTUFBTSxLQUFLLElBQUksSUFBSSxDQUFDLFFBQVEsRUFBQyxDQUFDO2dCQUNoQyxNQUFNLGFBQWEsR0FBRyxJQUFJLENBQUMscUNBQXFDLENBQUMsS0FBSyxDQUFDLENBQUM7Z0JBQ3hFLFFBQVEsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDO1lBQ3hDLENBQUM7UUFDSCxDQUFDO1FBRUQsT0FBTyxRQUFRLENBQUM7SUFDbEIsQ0FBQztJQWlCTyxTQUFTLENBQUMsRUFBUyxFQUFFLElBQTBCO1FBQ3JELElBQUcsSUFBSSxDQUFDLEVBQUUsSUFBSSxFQUFFLEVBQUMsQ0FBQztZQUNoQixPQUFPLElBQUksQ0FBQztRQUNkLENBQUM7UUFFRCxJQUFHLElBQUksQ0FBQyxRQUFRLEVBQUMsQ0FBQztZQUNoQixLQUFJLE1BQU0sS0FBSyxJQUFJLElBQUksQ0FBQyxRQUFRLEVBQUMsQ0FBQztnQkFDaEMsTUFBTSxHQUFHLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxFQUFFLEVBQUUsS0FBSyxDQUFDLENBQUM7Z0JBQ3RDLElBQUcsR0FBRyxFQUFDLENBQUM7b0JBQ04sT0FBTyxHQUFHLENBQUM7Z0JBQ2IsQ0FBQztZQUNILENBQUM7UUFDSCxDQUFDO1FBRUQsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBRUQsbUJBQW1CLENBQUMsS0FBa0I7UUFDcEMsSUFBRyxLQUFLLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBQyxDQUFDO1lBQ3JCLE1BQU0sWUFBWSxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQyxDQUFDO1lBQzFFLElBQUcsWUFBWSxFQUFDLENBQUM7Z0JBQ2YsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUM7WUFDdkMsQ0FBQztRQUNILENBQUM7SUFDSCxDQUFDO0lBRUQsVUFBVTtRQUNSLElBQUksQ0FBQyxhQUFhLEVBQUUsVUFBVSxFQUFFLENBQUM7SUFDbkMsQ0FBQzsrR0E5RVUsK0JBQStCO21HQUEvQiwrQkFBK0IsaVFBYy9CLHdCQUF3QixnREMxQnJDLGtRQU9BLGlKRENZLHdCQUF3Qjs7NEZBSXZCLCtCQUErQjtrQkFQM0MsU0FBUzsrQkFDRSw4QkFBOEIsY0FDNUIsSUFBSSxXQUNQLENBQUMsd0JBQXdCLENBQUM7OEJBUS9CLG9CQUFvQjtzQkFEdkIsS0FBSzt1QkFBQyxFQUFFLEtBQUssRUFBRSxpQkFBaUIsRUFBRTtnQkFXRSxhQUFhO3NCQUFqRCxTQUFTO3VCQUFDLHdCQUF3QjtnQkFrRXpCLFlBQVk7c0JBQXJCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIGNvbXB1dGVkLCBFdmVudEVtaXR0ZXIsIElucHV0LCBPdXRwdXQsIHNpZ25hbCwgVmlld0NoaWxkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEJpbXBsdXNGbGF0VHJlZUNvbXBvbmVudCB9IGZyb20gJy4uL2JpbXBsdXMtZmxhdC10cmVlL2JpbXBsdXMtZmxhdC10cmVlLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEZsYXROb2RlLCBUcmVlTm9kZSB9IGZyb20gJy4uL2JpbXBsdXMtZmxhdC10cmVlL2JpbXBsdXMtZmxhdC10cmVlLmludGVyZmFjZSc7XHJcbmltcG9ydCB7IE9iamVjdFN0cnVjdHVyZU5vZGUgfSBmcm9tICcuL2JpbXBsdXMtb2JqZWN0LXN0cnVjdHVyZS5pbnRlcmZhY2UnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdsaWItYmltcGx1cy1vYmplY3Qtc3RydWN0dXJlJyxcclxuICBzdGFuZGFsb25lOiB0cnVlLFxyXG4gIGltcG9ydHM6IFtCaW1wbHVzRmxhdFRyZWVDb21wb25lbnRdLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9iaW1wbHVzLW9iamVjdC1zdHJ1Y3R1cmUuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsOiAnLi9iaW1wbHVzLW9iamVjdC1zdHJ1Y3R1cmUuY29tcG9uZW50Lmxlc3MnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBCaW1wbHVzT2JqZWN0U3RydWN0dXJlQ29tcG9uZW50e1xyXG4gIC8qKiBUT0RPIHJlbW92ZSBASW5wdXQgb25jZSBzaWduYWwgaW5wdXRzIHJlbGVhc2UgZnJvbSBkZXZlbG9wZXIgcHJldmlldy4gKi9cclxuICAvKiBlc2xpbnQtZGlzYWJsZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXQtcmVuYW1lICovXHJcbiAgQElucHV0KHsgYWxpYXM6ICdvYmplY3RTdHJ1Y3R1cmUnIH0pXHJcbiAgc2V0IG9iamVjdFN0cnVjdHVyZVZhbHVlKG5vZGUgOiBPYmplY3RTdHJ1Y3R1cmVOb2RlKXtcclxuICAgIHRoaXMuX29iamVjdFN0cnVjdHVyZS5zZXQobm9kZSk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHJlYWRvbmx5IF9vYmplY3RTdHJ1Y3R1cmUgPSBzaWduYWw8T2JqZWN0U3RydWN0dXJlTm9kZT4oe1xyXG4gICAgaWQgOiBcIlwiLFxyXG4gICAgbmFtZSA6IFwiXCIsXHJcbiAgICBwYXJlbnQ6IFwiXCJcclxuICB9KTtcclxuXHJcbiAgQFZpZXdDaGlsZChCaW1wbHVzRmxhdFRyZWVDb21wb25lbnQpIHRyZWVDb21wb25lbnQ6IEJpbXBsdXNGbGF0VHJlZUNvbXBvbmVudCB8IG51bGwgPSBudWxsO1xyXG4gIFxyXG4gIHByaXZhdGUgX2NvbnZlcnRPYmplY3RTdHJ1Y3R1cmVOb2RlVG9UcmVlTm9kZShub2RlIDogT2JqZWN0U3RydWN0dXJlTm9kZSkgOiBUcmVlTm9kZXtcclxuXHJcbiAgICBjb25zdCB0cmVlTm9kZSA6IFRyZWVOb2RlID0ge1xyXG4gICAgICBuYW1lOiBub2RlLm5hbWUsXHJcbiAgICAgIGlkOiBub2RlLmlkLFxyXG4gICAgICBwYXJlbnQ6IG5vZGUucGFyZW50IFxyXG4gICAgfTtcclxuXHJcbiAgICBpZihub2RlLmNoaWxkcmVuKXtcclxuICAgICAgdHJlZU5vZGUuY2hpbGRyZW4gPSBbXTtcclxuICAgICAgZm9yKGNvbnN0IGNoaWxkIG9mIG5vZGUuY2hpbGRyZW4pe1xyXG4gICAgICAgIGNvbnN0IGNoaWxkVHJlZU5vZGUgPSB0aGlzLl9jb252ZXJ0T2JqZWN0U3RydWN0dXJlTm9kZVRvVHJlZU5vZGUoY2hpbGQpO1xyXG4gICAgICAgIHRyZWVOb2RlLmNoaWxkcmVuLnB1c2goY2hpbGRUcmVlTm9kZSk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gdHJlZU5vZGU7XHJcbiAgfVxyXG5cclxuICByZWFkb25seSB0cmVlRGF0YSA9IGNvbXB1dGVkPFRyZWVOb2RlW10+KCgpID0+IHtcclxuICAgIGNvbnN0IG9iamVjdFN0cnVjdHVyZSA9IHRoaXMuX29iamVjdFN0cnVjdHVyZSgpO1xyXG4gICAgaWYoIW9iamVjdFN0cnVjdHVyZSl7XHJcbiAgICAgIHJldHVybiBbXTtcclxuICAgIH1cclxuXHJcbiAgICBjb25zdCByb290ID0gdGhpcy5fY29udmVydE9iamVjdFN0cnVjdHVyZU5vZGVUb1RyZWVOb2RlKG9iamVjdFN0cnVjdHVyZSk7XHJcbiAgICBpZighcm9vdCl7XHJcbiAgICAgIHJldHVybiBbXTtcclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gW3Jvb3RdO1xyXG4gIH0pXHJcblxyXG5cclxuICBwcml2YXRlIF9maW5kTm9kZShpZDpzdHJpbmcsIG5vZGUgOiBPYmplY3RTdHJ1Y3R1cmVOb2RlKSA6IE9iamVjdFN0cnVjdHVyZU5vZGUgfCBudWxse1xyXG4gICAgaWYobm9kZS5pZCA9PSBpZCl7XHJcbiAgICAgIHJldHVybiBub2RlO1xyXG4gICAgfVxyXG5cclxuICAgIGlmKG5vZGUuY2hpbGRyZW4pe1xyXG4gICAgICBmb3IoY29uc3QgY2hpbGQgb2Ygbm9kZS5jaGlsZHJlbil7XHJcbiAgICAgICAgY29uc3QgcmVzID0gdGhpcy5fZmluZE5vZGUoaWQsIGNoaWxkKTtcclxuICAgICAgICBpZihyZXMpe1xyXG4gICAgICAgICAgcmV0dXJuIHJlcztcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gbnVsbDtcclxuICB9XHJcblxyXG4gIGhhbmRsZVNlbGVjdGVkTm9kZXMobm9kZXMgOiBGbGF0Tm9kZVtdKXtcclxuICAgIGlmKG5vZGVzLmxlbmd0aCA9PT0gMSl7XHJcbiAgICAgIGNvbnN0IHNlbGVjdGVkTm9kZSA9IHRoaXMuX2ZpbmROb2RlKG5vZGVzWzBdLmlkLCB0aGlzLl9vYmplY3RTdHJ1Y3R1cmUoKSk7XHJcbiAgICAgIGlmKHNlbGVjdGVkTm9kZSl7XHJcbiAgICAgICAgdGhpcy5ub2RlU2VsZWN0ZWQuZW1pdChzZWxlY3RlZE5vZGUpO1xyXG4gICAgICB9XHJcbiAgICB9ICAgIFxyXG4gIH1cclxuXHJcbiAgZXhwYW5kVHJlZSgpe1xyXG4gICAgdGhpcy50cmVlQ29tcG9uZW50Py5leHBhbmRUcmVlKCk7XHJcbiAgfVxyXG5cclxuICBAT3V0cHV0KCkgbm9kZVNlbGVjdGVkID0gbmV3IEV2ZW50RW1pdHRlcjxPYmplY3RTdHJ1Y3R1cmVOb2RlPigpO1xyXG59XHJcbiIsIjxsaWItYmltcGx1cy1mbGF0LXRyZWVcclxuICBwYWRkaW5nSW5kZW50PVwiMS40cmVtXCJcclxuICBbdHJlZURhdGFdPVwidHJlZURhdGEoKVwiXHJcbiAgZW5hYmxlUGFyZW50SGlnaGxpZ2h0aW5nPVwiZmFsc2VcIlxyXG4gIChzZWxlY3RlZE5vZGVzKT1cImhhbmRsZVNlbGVjdGVkTm9kZXMoJGV2ZW50KVwiXHJcbiAgZGF0YVRlc3RQcmVmaXg9XCJvYmplY3Qtc3RydWN0dXJlLXRyZWUtXCJcclxuPjwvbGliLWJpbXBsdXMtZmxhdC10cmVlPlxyXG4iXX0=
85
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmltcGx1cy1vYmplY3Qtc3RydWN0dXJlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1iaW1wbHVzLWNvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL2JpbXBsdXMtb2JqZWN0LXN0cnVjdHVyZS9iaW1wbHVzLW9iamVjdC1zdHJ1Y3R1cmUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LWJpbXBsdXMtY29tcG9uZW50cy9zcmMvbGliL2NvbXBvbmVudHMvYmltcGx1cy1vYmplY3Qtc3RydWN0dXJlL2JpbXBsdXMtb2JqZWN0LXN0cnVjdHVyZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFFBQVEsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3BHLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLGtEQUFrRCxDQUFDOztBQVc1RixNQUFNLE9BQU8sK0JBQStCO0lBUDVDO1FBZW1CLHFCQUFnQixHQUFHLE1BQU0sQ0FBc0I7WUFDOUQsRUFBRSxFQUFHLEVBQUU7WUFDUCxJQUFJLEVBQUcsRUFBRTtZQUNULE1BQU0sRUFBRSxFQUFFO1NBQ1gsQ0FBQyxDQUFDO1FBRWtDLGtCQUFhLEdBQW9DLElBQUksQ0FBQztRQXFCbEYsYUFBUSxHQUFHLFFBQVEsQ0FBYSxHQUFHLEVBQUU7WUFDNUMsTUFBTSxlQUFlLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUM7WUFDaEQsSUFBRyxDQUFDLGVBQWUsRUFBQyxDQUFDO2dCQUNuQixPQUFPLEVBQUUsQ0FBQztZQUNaLENBQUM7WUFFRCxNQUFNLElBQUksR0FBRyxJQUFJLENBQUMscUNBQXFDLENBQUMsZUFBZSxDQUFDLENBQUM7WUFDekUsSUFBRyxDQUFDLElBQUksRUFBQyxDQUFDO2dCQUNSLE9BQU8sRUFBRSxDQUFDO1lBQ1osQ0FBQztZQUVELE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNoQixDQUFDLENBQUMsQ0FBQTtRQWlDUSxpQkFBWSxHQUFHLElBQUksWUFBWSxFQUF1QixDQUFDO0tBQ2xFO0lBaEZDLDRFQUE0RTtJQUM1RSxvREFBb0Q7SUFDcEQsSUFDSSxvQkFBb0IsQ0FBQyxJQUEwQjtRQUNqRCxJQUFJLENBQUMsZ0JBQWdCLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ2xDLENBQUM7SUFVTyxxQ0FBcUMsQ0FBQyxJQUEwQjtRQUV0RSxNQUFNLFFBQVEsR0FBYztZQUMxQixJQUFJLEVBQUUsSUFBSSxDQUFDLElBQUk7WUFDZixFQUFFLEVBQUUsSUFBSSxDQUFDLEVBQUU7WUFDWCxNQUFNLEVBQUUsSUFBSSxDQUFDLE1BQU07U0FDcEIsQ0FBQztRQUVGLElBQUcsSUFBSSxDQUFDLFFBQVEsRUFBQyxDQUFDO1lBQ2hCLFFBQVEsQ0FBQyxRQUFRLEdBQUcsRUFBRSxDQUFDO1lBQ3ZCLEtBQUksTUFBTSxLQUFLLElBQUksSUFBSSxDQUFDLFFBQVEsRUFBQyxDQUFDO2dCQUNoQyxNQUFNLGFBQWEsR0FBRyxJQUFJLENBQUMscUNBQXFDLENBQUMsS0FBSyxDQUFDLENBQUM7Z0JBQ3hFLFFBQVEsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDO1lBQ3hDLENBQUM7UUFDSCxDQUFDO1FBRUQsT0FBTyxRQUFRLENBQUM7SUFDbEIsQ0FBQztJQWlCTyxTQUFTLENBQUMsRUFBUyxFQUFFLElBQTBCO1FBQ3JELElBQUcsSUFBSSxDQUFDLEVBQUUsSUFBSSxFQUFFLEVBQUMsQ0FBQztZQUNoQixPQUFPLElBQUksQ0FBQztRQUNkLENBQUM7UUFFRCxJQUFHLElBQUksQ0FBQyxRQUFRLEVBQUMsQ0FBQztZQUNoQixLQUFJLE1BQU0sS0FBSyxJQUFJLElBQUksQ0FBQyxRQUFRLEVBQUMsQ0FBQztnQkFDaEMsTUFBTSxHQUFHLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxFQUFFLEVBQUUsS0FBSyxDQUFDLENBQUM7Z0JBQ3RDLElBQUcsR0FBRyxFQUFDLENBQUM7b0JBQ04sT0FBTyxHQUFHLENBQUM7Z0JBQ2IsQ0FBQztZQUNILENBQUM7UUFDSCxDQUFDO1FBRUQsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBRUQsbUJBQW1CLENBQUMsS0FBa0I7UUFDcEMsSUFBRyxLQUFLLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBQyxDQUFDO1lBQ3JCLE1BQU0sWUFBWSxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQyxDQUFDO1lBQzFFLElBQUcsWUFBWSxFQUFDLENBQUM7Z0JBQ2YsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUM7WUFDdkMsQ0FBQztRQUNILENBQUM7SUFDSCxDQUFDO0lBRUQsVUFBVTtRQUNSLElBQUksQ0FBQyxhQUFhLEVBQUUsVUFBVSxFQUFFLENBQUM7SUFDbkMsQ0FBQzsrR0E5RVUsK0JBQStCO21HQUEvQiwrQkFBK0IsaVFBYy9CLHdCQUF3QixnREMxQnJDLGtRQU9BLHFSRENZLHdCQUF3Qjs7NEZBSXZCLCtCQUErQjtrQkFQM0MsU0FBUzsrQkFDRSw4QkFBOEIsY0FDNUIsSUFBSSxXQUNQLENBQUMsd0JBQXdCLENBQUM7OEJBUS9CLG9CQUFvQjtzQkFEdkIsS0FBSzt1QkFBQyxFQUFFLEtBQUssRUFBRSxpQkFBaUIsRUFBRTtnQkFXRSxhQUFhO3NCQUFqRCxTQUFTO3VCQUFDLHdCQUF3QjtnQkFrRXpCLFlBQVk7c0JBQXJCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIGNvbXB1dGVkLCBFdmVudEVtaXR0ZXIsIElucHV0LCBPdXRwdXQsIHNpZ25hbCwgVmlld0NoaWxkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEJpbXBsdXNGbGF0VHJlZUNvbXBvbmVudCB9IGZyb20gJy4uL2JpbXBsdXMtZmxhdC10cmVlL2JpbXBsdXMtZmxhdC10cmVlLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEZsYXROb2RlLCBUcmVlTm9kZSB9IGZyb20gJy4uL2JpbXBsdXMtZmxhdC10cmVlL2JpbXBsdXMtZmxhdC10cmVlLmludGVyZmFjZSc7XHJcbmltcG9ydCB7IE9iamVjdFN0cnVjdHVyZU5vZGUgfSBmcm9tICcuL2JpbXBsdXMtb2JqZWN0LXN0cnVjdHVyZS5pbnRlcmZhY2UnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdsaWItYmltcGx1cy1vYmplY3Qtc3RydWN0dXJlJyxcclxuICBzdGFuZGFsb25lOiB0cnVlLFxyXG4gIGltcG9ydHM6IFtCaW1wbHVzRmxhdFRyZWVDb21wb25lbnRdLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9iaW1wbHVzLW9iamVjdC1zdHJ1Y3R1cmUuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsOiAnLi9iaW1wbHVzLW9iamVjdC1zdHJ1Y3R1cmUuY29tcG9uZW50Lmxlc3MnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBCaW1wbHVzT2JqZWN0U3RydWN0dXJlQ29tcG9uZW50e1xyXG4gIC8qKiBUT0RPIHJlbW92ZSBASW5wdXQgb25jZSBzaWduYWwgaW5wdXRzIHJlbGVhc2UgZnJvbSBkZXZlbG9wZXIgcHJldmlldy4gKi9cclxuICAvKiBlc2xpbnQtZGlzYWJsZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXQtcmVuYW1lICovXHJcbiAgQElucHV0KHsgYWxpYXM6ICdvYmplY3RTdHJ1Y3R1cmUnIH0pXHJcbiAgc2V0IG9iamVjdFN0cnVjdHVyZVZhbHVlKG5vZGUgOiBPYmplY3RTdHJ1Y3R1cmVOb2RlKXtcclxuICAgIHRoaXMuX29iamVjdFN0cnVjdHVyZS5zZXQobm9kZSk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHJlYWRvbmx5IF9vYmplY3RTdHJ1Y3R1cmUgPSBzaWduYWw8T2JqZWN0U3RydWN0dXJlTm9kZT4oe1xyXG4gICAgaWQgOiBcIlwiLFxyXG4gICAgbmFtZSA6IFwiXCIsXHJcbiAgICBwYXJlbnQ6IFwiXCJcclxuICB9KTtcclxuXHJcbiAgQFZpZXdDaGlsZChCaW1wbHVzRmxhdFRyZWVDb21wb25lbnQpIHRyZWVDb21wb25lbnQ6IEJpbXBsdXNGbGF0VHJlZUNvbXBvbmVudCB8IG51bGwgPSBudWxsO1xyXG4gIFxyXG4gIHByaXZhdGUgX2NvbnZlcnRPYmplY3RTdHJ1Y3R1cmVOb2RlVG9UcmVlTm9kZShub2RlIDogT2JqZWN0U3RydWN0dXJlTm9kZSkgOiBUcmVlTm9kZXtcclxuXHJcbiAgICBjb25zdCB0cmVlTm9kZSA6IFRyZWVOb2RlID0ge1xyXG4gICAgICBuYW1lOiBub2RlLm5hbWUsXHJcbiAgICAgIGlkOiBub2RlLmlkLFxyXG4gICAgICBwYXJlbnQ6IG5vZGUucGFyZW50IFxyXG4gICAgfTtcclxuXHJcbiAgICBpZihub2RlLmNoaWxkcmVuKXtcclxuICAgICAgdHJlZU5vZGUuY2hpbGRyZW4gPSBbXTtcclxuICAgICAgZm9yKGNvbnN0IGNoaWxkIG9mIG5vZGUuY2hpbGRyZW4pe1xyXG4gICAgICAgIGNvbnN0IGNoaWxkVHJlZU5vZGUgPSB0aGlzLl9jb252ZXJ0T2JqZWN0U3RydWN0dXJlTm9kZVRvVHJlZU5vZGUoY2hpbGQpO1xyXG4gICAgICAgIHRyZWVOb2RlLmNoaWxkcmVuLnB1c2goY2hpbGRUcmVlTm9kZSk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gdHJlZU5vZGU7XHJcbiAgfVxyXG5cclxuICByZWFkb25seSB0cmVlRGF0YSA9IGNvbXB1dGVkPFRyZWVOb2RlW10+KCgpID0+IHtcclxuICAgIGNvbnN0IG9iamVjdFN0cnVjdHVyZSA9IHRoaXMuX29iamVjdFN0cnVjdHVyZSgpO1xyXG4gICAgaWYoIW9iamVjdFN0cnVjdHVyZSl7XHJcbiAgICAgIHJldHVybiBbXTtcclxuICAgIH1cclxuXHJcbiAgICBjb25zdCByb290ID0gdGhpcy5fY29udmVydE9iamVjdFN0cnVjdHVyZU5vZGVUb1RyZWVOb2RlKG9iamVjdFN0cnVjdHVyZSk7XHJcbiAgICBpZighcm9vdCl7XHJcbiAgICAgIHJldHVybiBbXTtcclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gW3Jvb3RdO1xyXG4gIH0pXHJcblxyXG5cclxuICBwcml2YXRlIF9maW5kTm9kZShpZDpzdHJpbmcsIG5vZGUgOiBPYmplY3RTdHJ1Y3R1cmVOb2RlKSA6IE9iamVjdFN0cnVjdHVyZU5vZGUgfCBudWxse1xyXG4gICAgaWYobm9kZS5pZCA9PSBpZCl7XHJcbiAgICAgIHJldHVybiBub2RlO1xyXG4gICAgfVxyXG5cclxuICAgIGlmKG5vZGUuY2hpbGRyZW4pe1xyXG4gICAgICBmb3IoY29uc3QgY2hpbGQgb2Ygbm9kZS5jaGlsZHJlbil7XHJcbiAgICAgICAgY29uc3QgcmVzID0gdGhpcy5fZmluZE5vZGUoaWQsIGNoaWxkKTtcclxuICAgICAgICBpZihyZXMpe1xyXG4gICAgICAgICAgcmV0dXJuIHJlcztcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gbnVsbDtcclxuICB9XHJcblxyXG4gIGhhbmRsZVNlbGVjdGVkTm9kZXMobm9kZXMgOiBGbGF0Tm9kZVtdKXtcclxuICAgIGlmKG5vZGVzLmxlbmd0aCA9PT0gMSl7XHJcbiAgICAgIGNvbnN0IHNlbGVjdGVkTm9kZSA9IHRoaXMuX2ZpbmROb2RlKG5vZGVzWzBdLmlkLCB0aGlzLl9vYmplY3RTdHJ1Y3R1cmUoKSk7XHJcbiAgICAgIGlmKHNlbGVjdGVkTm9kZSl7XHJcbiAgICAgICAgdGhpcy5ub2RlU2VsZWN0ZWQuZW1pdChzZWxlY3RlZE5vZGUpO1xyXG4gICAgICB9XHJcbiAgICB9ICAgIFxyXG4gIH1cclxuXHJcbiAgZXhwYW5kVHJlZSgpe1xyXG4gICAgdGhpcy50cmVlQ29tcG9uZW50Py5leHBhbmRUcmVlKCk7XHJcbiAgfVxyXG5cclxuICBAT3V0cHV0KCkgbm9kZVNlbGVjdGVkID0gbmV3IEV2ZW50RW1pdHRlcjxPYmplY3RTdHJ1Y3R1cmVOb2RlPigpO1xyXG59XHJcbiIsIjxsaWItYmltcGx1cy1mbGF0LXRyZWVcclxuICBwYWRkaW5nSW5kZW50PVwiMS40cmVtXCJcclxuICBbdHJlZURhdGFdPVwidHJlZURhdGEoKVwiXHJcbiAgZW5hYmxlUGFyZW50SGlnaGxpZ2h0aW5nPVwiZmFsc2VcIlxyXG4gIChzZWxlY3RlZE5vZGVzKT1cImhhbmRsZVNlbGVjdGVkTm9kZXMoJGV2ZW50KVwiXHJcbiAgZGF0YVRlc3RQcmVmaXg9XCJvYmplY3Qtc3RydWN0dXJlLXRyZWUtXCJcclxuPjwvbGliLWJpbXBsdXMtZmxhdC10cmVlPlxyXG4iXX0=
@@ -0,0 +1,76 @@
1
+ import { Component, HostListener, ViewChild, ViewEncapsulation } from '@angular/core';
2
+ import { TranslateModule } from "@ngx-translate/core";
3
+ import { BimplusButtonsRowComponent } from "../bimplus-buttons-row/bimplus-buttons-row.component";
4
+ import * as i0 from "@angular/core";
5
+ import * as i1 from "../bimplus-general-overlay-dialog/bimplus-general-overlay-dialog.service";
6
+ import * as i2 from "@ngx-translate/core";
7
+ export class BimplusOverlayDialogConfirmComponent {
8
+ constructor(dialogService, translateService) {
9
+ this.dialogService = dialogService;
10
+ this.translateService = translateService;
11
+ this.title = '';
12
+ this.message = '';
13
+ this.acceptButtonLocalizedString = '_Accept';
14
+ this.cancelButtonLocalizedString = '_Cancel';
15
+ this.buttonsRow = null;
16
+ const data = this.dialogService.inputData;
17
+ if (data) {
18
+ this.title = data.title || '';
19
+ this.message = data.message || '';
20
+ this.acceptButtonLocalizedString = data.acceptButtonLocalizedString || '_Accept';
21
+ this.cancelButtonLocalizedString = data.cancelButtonLocalizedString || '_Cancel';
22
+ this.acceptCallback = data.acceptCallback;
23
+ }
24
+ }
25
+ ngOnInit() {
26
+ this.buttonsRow?.itemsValue.push({
27
+ id: "accept",
28
+ title: this.translateService.instant(this.acceptButtonLocalizedString),
29
+ tooltip: this.translateService.instant(this.acceptButtonLocalizedString),
30
+ disabled: false,
31
+ buttonStyle: 'primary'
32
+ }, {
33
+ id: "cancel",
34
+ title: this.translateService.instant(this.cancelButtonLocalizedString),
35
+ tooltip: this.translateService.instant(this.cancelButtonLocalizedString),
36
+ disabled: false,
37
+ buttonStyle: 'secondary'
38
+ });
39
+ }
40
+ close() {
41
+ this.dialogService.close();
42
+ document.activeElement?.blur();
43
+ }
44
+ keypressClose(event) {
45
+ if (event.key === 'Escape' || event.key === 'Esc') {
46
+ this.dialogService.close();
47
+ }
48
+ }
49
+ buttonRowButtonClicked($event) {
50
+ this.dialogService.close();
51
+ if ($event.id === "accept") {
52
+ this.acceptCallback?.();
53
+ }
54
+ }
55
+ handleKeydown(event) {
56
+ if (event.key === 'Escape' || event.key === 'Esc') {
57
+ this.close();
58
+ }
59
+ }
60
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: BimplusOverlayDialogConfirmComponent, deps: [{ token: i1.DialogService }, { token: i2.TranslateService }], target: i0.ɵɵFactoryTarget.Component }); }
61
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.11", type: BimplusOverlayDialogConfirmComponent, isStandalone: true, selector: "lib-bimplus-overlay-dialog-confirm", host: { listeners: { "document:keydown": "handleKeydown($event)" } }, viewQueries: [{ propertyName: "buttonsRow", first: true, predicate: ["buttonsRow"], descendants: true, static: true }], ngImport: i0, template: "<div class=\"overlay-dialog-container\">\r\n <div class=\"header\">\r\n <div class=\"icon\"></div>\r\n <div class=\"title-text\">\r\n {{ title }}\r\n </div>\r\n <button class=\"close-button\" (click)=\"close()\" tabindex=\"0\"\r\n (keydown)=\"keypressClose($event)\">\r\n </button>\r\n </div>\r\n <div class=\"content\">\r\n <div class=\"text\" [innerHTML]=\"message\">\r\n </div>\r\n <div class=\"buttons\">\r\n <lib-bimplus-buttons-row #buttonsRow (buttonClicked)=\"buttonRowButtonClicked($event)\"/>\r\n </div>\r\n </div>\r\n</div>\r\n", styles: [".overlay-dialog-container{min-height:13.6rem;min-width:60rem;display:inline-flex;flex-direction:column;box-shadow:0 .4rem .8rem 0 var(--card-box-shadow-color),0 .6rem 2rem 0 var(--card-box-shadow-color)}.overlay-dialog-container .header{background-color:var(--color-help-popup-title-background);height:3.2rem;display:inline-flex;align-items:center}.overlay-dialog-container .header .icon{width:1.8rem;height:1.8rem;background: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 fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M9 2L1 16H17L9 2ZM10 14H8V12H10V14ZM8 11V7H10V11H8Z\" fill=\"white\"/>%0D%0A</svg>%0D%0A') no-repeat center center;padding:0 1.6rem}.overlay-dialog-container .header .title-text{color:var(--main-menu-text-default);font:700 1.3rem Source Sans Pro,Helvetica,Arial,tahoma,sans-serif;text-transform:capitalize}.overlay-dialog-container .header .close-button{width:3.2rem;height:3.2rem;background: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=\"M5 11.8703L6.12984 13.0001L9.00025 10.1296L11.8701 12.9995L13 11.8697L10.1301 8.99973L13.0001 6.12965L11.8702 4.99976L9.00023 7.86985L6.13101 5.00058L5.00116 6.13047L7.87039 8.99975L5 11.8703Z\" fill=\"white\"/>%0D%0A</svg>%0D%0A') no-repeat center center;background-size:2.2rem;cursor:pointer;margin:0 0 0 auto;padding-right:1.6rem;border:none}.overlay-dialog-container .content{background-color:var(--main-menu-text-default);height:8.8rem;display:flex;flex-direction:column}.overlay-dialog-container .content .text{color:var(--color-help-popup-title-background);font:400 1.3rem Source Sans Pro,Helvetica,Arial,tahoma,sans-serif;padding-top:1.1rem;padding-left:1.6rem;flex:1;display:flex;flex-direction:column}.overlay-dialog-container .content .buttons{padding-right:1.6rem;padding-bottom:.8rem}\n"], dependencies: [{ kind: "ngmodule", type: TranslateModule }, { kind: "component", type: BimplusButtonsRowComponent, selector: "lib-bimplus-buttons-row", inputs: ["items"], outputs: ["fileChanged", "buttonClicked"] }], encapsulation: i0.ViewEncapsulation.ShadowDom }); }
62
+ }
63
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: BimplusOverlayDialogConfirmComponent, decorators: [{
64
+ type: Component,
65
+ args: [{ selector: 'lib-bimplus-overlay-dialog-confirm', standalone: true, imports: [
66
+ TranslateModule,
67
+ BimplusButtonsRowComponent
68
+ ], encapsulation: ViewEncapsulation.ShadowDom, template: "<div class=\"overlay-dialog-container\">\r\n <div class=\"header\">\r\n <div class=\"icon\"></div>\r\n <div class=\"title-text\">\r\n {{ title }}\r\n </div>\r\n <button class=\"close-button\" (click)=\"close()\" tabindex=\"0\"\r\n (keydown)=\"keypressClose($event)\">\r\n </button>\r\n </div>\r\n <div class=\"content\">\r\n <div class=\"text\" [innerHTML]=\"message\">\r\n </div>\r\n <div class=\"buttons\">\r\n <lib-bimplus-buttons-row #buttonsRow (buttonClicked)=\"buttonRowButtonClicked($event)\"/>\r\n </div>\r\n </div>\r\n</div>\r\n", styles: [".overlay-dialog-container{min-height:13.6rem;min-width:60rem;display:inline-flex;flex-direction:column;box-shadow:0 .4rem .8rem 0 var(--card-box-shadow-color),0 .6rem 2rem 0 var(--card-box-shadow-color)}.overlay-dialog-container .header{background-color:var(--color-help-popup-title-background);height:3.2rem;display:inline-flex;align-items:center}.overlay-dialog-container .header .icon{width:1.8rem;height:1.8rem;background: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 fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M9 2L1 16H17L9 2ZM10 14H8V12H10V14ZM8 11V7H10V11H8Z\" fill=\"white\"/>%0D%0A</svg>%0D%0A') no-repeat center center;padding:0 1.6rem}.overlay-dialog-container .header .title-text{color:var(--main-menu-text-default);font:700 1.3rem Source Sans Pro,Helvetica,Arial,tahoma,sans-serif;text-transform:capitalize}.overlay-dialog-container .header .close-button{width:3.2rem;height:3.2rem;background: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=\"M5 11.8703L6.12984 13.0001L9.00025 10.1296L11.8701 12.9995L13 11.8697L10.1301 8.99973L13.0001 6.12965L11.8702 4.99976L9.00023 7.86985L6.13101 5.00058L5.00116 6.13047L7.87039 8.99975L5 11.8703Z\" fill=\"white\"/>%0D%0A</svg>%0D%0A') no-repeat center center;background-size:2.2rem;cursor:pointer;margin:0 0 0 auto;padding-right:1.6rem;border:none}.overlay-dialog-container .content{background-color:var(--main-menu-text-default);height:8.8rem;display:flex;flex-direction:column}.overlay-dialog-container .content .text{color:var(--color-help-popup-title-background);font:400 1.3rem Source Sans Pro,Helvetica,Arial,tahoma,sans-serif;padding-top:1.1rem;padding-left:1.6rem;flex:1;display:flex;flex-direction:column}.overlay-dialog-container .content .buttons{padding-right:1.6rem;padding-bottom:.8rem}\n"] }]
69
+ }], ctorParameters: () => [{ type: i1.DialogService }, { type: i2.TranslateService }], propDecorators: { buttonsRow: [{
70
+ type: ViewChild,
71
+ args: ['buttonsRow', { static: true }]
72
+ }], handleKeydown: [{
73
+ type: HostListener,
74
+ args: ['document:keydown', ['$event']]
75
+ }] } });
76
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmltcGx1cy1vdmVybGF5LWRpYWxvZy1jb25maXJtLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1iaW1wbHVzLWNvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL2JpbXBsdXMtb3ZlcmxheS1kaWFsb2ctY29uZmlybS9iaW1wbHVzLW92ZXJsYXktZGlhbG9nLWNvbmZpcm0uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LWJpbXBsdXMtY29tcG9uZW50cy9zcmMvbGliL2NvbXBvbmVudHMvYmltcGx1cy1vdmVybGF5LWRpYWxvZy1jb25maXJtL2JpbXBsdXMtb3ZlcmxheS1kaWFsb2ctY29uZmlybS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFFLFlBQVksRUFBVSxTQUFTLEVBQUUsaUJBQWlCLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDNUYsT0FBTyxFQUFDLGVBQWUsRUFBbUIsTUFBTSxxQkFBcUIsQ0FBQztBQUV0RSxPQUFPLEVBQUMsMEJBQTBCLEVBQUMsTUFBTSxzREFBc0QsQ0FBQzs7OztBQXVCaEcsTUFBTSxPQUFPLG9DQUFvQztJQVMvQyxZQUE2QixhQUE0QixFQUFtQixnQkFBa0M7UUFBakYsa0JBQWEsR0FBYixhQUFhLENBQWU7UUFBbUIscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFrQjtRQVI5RyxVQUFLLEdBQVcsRUFBRSxDQUFDO1FBQ25CLFlBQU8sR0FBVyxFQUFFLENBQUM7UUFDckIsZ0NBQTJCLEdBQVcsU0FBUyxDQUFDO1FBQ2hELGdDQUEyQixHQUFXLFNBQVMsQ0FBQztRQUdQLGVBQVUsR0FBc0MsSUFBSSxDQUFDO1FBRzVGLE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsU0FBbUMsQ0FBQztRQUVwRSxJQUFJLElBQUksRUFBRSxDQUFDO1lBQ1QsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsS0FBSyxJQUFJLEVBQUUsQ0FBQztZQUM5QixJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQyxPQUFPLElBQUksRUFBRSxDQUFDO1lBQ2xDLElBQUksQ0FBQywyQkFBMkIsR0FBRyxJQUFJLENBQUMsMkJBQTJCLElBQUksU0FBUyxDQUFDO1lBQ2pGLElBQUksQ0FBQywyQkFBMkIsR0FBRyxJQUFJLENBQUMsMkJBQTJCLElBQUksU0FBUyxDQUFDO1lBQ2pGLElBQUksQ0FBQyxjQUFjLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQztRQUM1QyxDQUFDO0lBQ0gsQ0FBQztJQUVELFFBQVE7UUFDTixJQUFJLENBQUMsVUFBVSxFQUFFLFVBQVUsQ0FBQyxJQUFJLENBQzlCO1lBQ0UsRUFBRSxFQUFFLFFBQVE7WUFDWixLQUFLLEVBQUUsSUFBSSxDQUFDLGdCQUFnQixDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsMkJBQTJCLENBQUM7WUFDdEUsT0FBTyxFQUFFLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLDJCQUEyQixDQUFDO1lBQ3hFLFFBQVEsRUFBRSxLQUFLO1lBQ2YsV0FBVyxFQUFFLFNBQVM7U0FDdkIsRUFDRDtZQUNFLEVBQUUsRUFBRSxRQUFRO1lBQ1osS0FBSyxFQUFFLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLDJCQUEyQixDQUFDO1lBQ3RFLE9BQU8sRUFBRSxJQUFJLENBQUMsZ0JBQWdCLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQywyQkFBMkIsQ0FBQztZQUN4RSxRQUFRLEVBQUUsS0FBSztZQUNmLFdBQVcsRUFBRSxXQUFXO1NBQ3pCLENBQ0YsQ0FBQztJQUNKLENBQUM7SUFFRCxLQUFLO1FBQ0gsSUFBSSxDQUFDLGFBQWEsQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUMxQixRQUFRLENBQUMsYUFBNkIsRUFBRSxJQUFJLEVBQUUsQ0FBQztJQUNsRCxDQUFDO0lBRUQsYUFBYSxDQUFDLEtBQW9CO1FBQ2hDLElBQUksS0FBSyxDQUFDLEdBQUcsS0FBSyxRQUFRLElBQUksS0FBSyxDQUFDLEdBQUcsS0FBSyxLQUFLLEVBQUUsQ0FBQztZQUNsRCxJQUFJLENBQUMsYUFBYSxDQUFDLEtBQUssRUFBRSxDQUFDO1FBQzdCLENBQUM7SUFDSCxDQUFDO0lBRUQsc0JBQXNCLENBQUMsTUFBK0I7UUFDcEQsSUFBSSxDQUFDLGFBQWEsQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUUzQixJQUFJLE1BQU0sQ0FBQyxFQUFFLEtBQUssUUFBUSxFQUFFLENBQUM7WUFDM0IsSUFBSSxDQUFDLGNBQWMsRUFBRSxFQUFFLENBQUM7UUFDMUIsQ0FBQztJQUNILENBQUM7SUFHRCxhQUFhLENBQUMsS0FBb0I7UUFDaEMsSUFBSSxLQUFLLENBQUMsR0FBRyxLQUFLLFFBQVEsSUFBSSxLQUFLLENBQUMsR0FBRyxLQUFLLEtBQUssRUFBRSxDQUFDO1lBQ2xELElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUNmLENBQUM7SUFDSCxDQUFDOytHQWhFVSxvQ0FBb0M7bUdBQXBDLG9DQUFvQyw0UkMxQmpELGdsQkFrQkEsdzlEREFJLGVBQWUsK0JBQ2YsMEJBQTBCOzs0RkFPakIsb0NBQW9DO2tCQVpoRCxTQUFTOytCQUNFLG9DQUFvQyxjQUNsQyxJQUFJLFdBQ1A7d0JBQ1AsZUFBZTt3QkFDZiwwQkFBMEI7cUJBQzNCLGlCQUdjLGlCQUFpQixDQUFDLFNBQVM7aUhBVUQsVUFBVTtzQkFBbEQsU0FBUzt1QkFBQyxZQUFZLEVBQUUsRUFBQyxNQUFNLEVBQUUsSUFBSSxFQUFDO2dCQXFEdkMsYUFBYTtzQkFEWixZQUFZO3VCQUFDLGtCQUFrQixFQUFFLENBQUMsUUFBUSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDb21wb25lbnQsIEhvc3RMaXN0ZW5lciwgT25Jbml0LCBWaWV3Q2hpbGQsIFZpZXdFbmNhcHN1bGF0aW9ufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHtUcmFuc2xhdGVNb2R1bGUsIFRyYW5zbGF0ZVNlcnZpY2V9IGZyb20gXCJAbmd4LXRyYW5zbGF0ZS9jb3JlXCI7XHJcbmltcG9ydCB7RGlhbG9nU2VydmljZX0gZnJvbSBcIi4uL2JpbXBsdXMtZ2VuZXJhbC1vdmVybGF5LWRpYWxvZy9iaW1wbHVzLWdlbmVyYWwtb3ZlcmxheS1kaWFsb2cuc2VydmljZVwiO1xyXG5pbXBvcnQge0JpbXBsdXNCdXR0b25zUm93Q29tcG9uZW50fSBmcm9tIFwiLi4vYmltcGx1cy1idXR0b25zLXJvdy9iaW1wbHVzLWJ1dHRvbnMtcm93LmNvbXBvbmVudFwiO1xyXG5pbXBvcnQge0JpbXBsdXNCdXR0b25DbGlja0V2ZW50fSBmcm9tIFwiLi4vYmltcGx1cy1idXR0b25zLXJvdy9iaW1wbHVzLWJ1dHRvbnMtcm93LmludGVyZmFjZVwiO1xyXG5cclxuZXhwb3J0IGludGVyZmFjZSBDb25maXJtRGlhbG9nSW5wdXREYXRhIHtcclxuICB0aXRsZTogc3RyaW5nO1xyXG4gIG1lc3NhZ2U6IHN0cmluZztcclxuICBhY2NlcHRCdXR0b25Mb2NhbGl6ZWRTdHJpbmc6IHN0cmluZztcclxuICBjYW5jZWxCdXR0b25Mb2NhbGl6ZWRTdHJpbmc6IHN0cmluZztcclxuICBhY2NlcHRDYWxsYmFjazogKCkgPT4gdm9pZDtcclxufVxyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdsaWItYmltcGx1cy1vdmVybGF5LWRpYWxvZy1jb25maXJtJyxcclxuICBzdGFuZGFsb25lOiB0cnVlLFxyXG4gIGltcG9ydHM6IFtcclxuICAgIFRyYW5zbGF0ZU1vZHVsZSxcclxuICAgIEJpbXBsdXNCdXR0b25zUm93Q29tcG9uZW50XHJcbiAgXSxcclxuICB0ZW1wbGF0ZVVybDogJy4vYmltcGx1cy1vdmVybGF5LWRpYWxvZy1jb25maXJtLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybDogJy4vYmltcGx1cy1vdmVybGF5LWRpYWxvZy1jb25maXJtLmNvbXBvbmVudC5sZXNzJyxcclxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5TaGFkb3dEb21cclxufSlcclxuXHJcbmV4cG9ydCBjbGFzcyBCaW1wbHVzT3ZlcmxheURpYWxvZ0NvbmZpcm1Db21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xyXG4gIHRpdGxlOiBzdHJpbmcgPSAnJztcclxuICBtZXNzYWdlOiBzdHJpbmcgPSAnJztcclxuICBhY2NlcHRCdXR0b25Mb2NhbGl6ZWRTdHJpbmc6IHN0cmluZyA9ICdfQWNjZXB0JztcclxuICBjYW5jZWxCdXR0b25Mb2NhbGl6ZWRTdHJpbmc6IHN0cmluZyA9ICdfQ2FuY2VsJztcclxuICBhY2NlcHRDYWxsYmFjazogKCgpID0+IHZvaWQpIHwgdW5kZWZpbmVkO1xyXG5cclxuICBAVmlld0NoaWxkKCdidXR0b25zUm93Jywge3N0YXRpYzogdHJ1ZX0pIGJ1dHRvbnNSb3c6IEJpbXBsdXNCdXR0b25zUm93Q29tcG9uZW50IHwgbnVsbCA9IG51bGw7XHJcblxyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVhZG9ubHkgZGlhbG9nU2VydmljZTogRGlhbG9nU2VydmljZSwgcHJpdmF0ZSByZWFkb25seSB0cmFuc2xhdGVTZXJ2aWNlOiBUcmFuc2xhdGVTZXJ2aWNlKSB7XHJcbiAgICBjb25zdCBkYXRhID0gdGhpcy5kaWFsb2dTZXJ2aWNlLmlucHV0RGF0YSBhcyBDb25maXJtRGlhbG9nSW5wdXREYXRhO1xyXG5cclxuICAgIGlmIChkYXRhKSB7XHJcbiAgICAgIHRoaXMudGl0bGUgPSBkYXRhLnRpdGxlIHx8ICcnO1xyXG4gICAgICB0aGlzLm1lc3NhZ2UgPSBkYXRhLm1lc3NhZ2UgfHwgJyc7XHJcbiAgICAgIHRoaXMuYWNjZXB0QnV0dG9uTG9jYWxpemVkU3RyaW5nID0gZGF0YS5hY2NlcHRCdXR0b25Mb2NhbGl6ZWRTdHJpbmcgfHwgJ19BY2NlcHQnO1xyXG4gICAgICB0aGlzLmNhbmNlbEJ1dHRvbkxvY2FsaXplZFN0cmluZyA9IGRhdGEuY2FuY2VsQnV0dG9uTG9jYWxpemVkU3RyaW5nIHx8ICdfQ2FuY2VsJztcclxuICAgICAgdGhpcy5hY2NlcHRDYWxsYmFjayA9IGRhdGEuYWNjZXB0Q2FsbGJhY2s7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBuZ09uSW5pdCgpIHtcclxuICAgIHRoaXMuYnV0dG9uc1Jvdz8uaXRlbXNWYWx1ZS5wdXNoKFxyXG4gICAgICB7XHJcbiAgICAgICAgaWQ6IFwiYWNjZXB0XCIsXHJcbiAgICAgICAgdGl0bGU6IHRoaXMudHJhbnNsYXRlU2VydmljZS5pbnN0YW50KHRoaXMuYWNjZXB0QnV0dG9uTG9jYWxpemVkU3RyaW5nKSxcclxuICAgICAgICB0b29sdGlwOiB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UuaW5zdGFudCh0aGlzLmFjY2VwdEJ1dHRvbkxvY2FsaXplZFN0cmluZyksXHJcbiAgICAgICAgZGlzYWJsZWQ6IGZhbHNlLFxyXG4gICAgICAgIGJ1dHRvblN0eWxlOiAncHJpbWFyeSdcclxuICAgICAgfSxcclxuICAgICAge1xyXG4gICAgICAgIGlkOiBcImNhbmNlbFwiLFxyXG4gICAgICAgIHRpdGxlOiB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UuaW5zdGFudCh0aGlzLmNhbmNlbEJ1dHRvbkxvY2FsaXplZFN0cmluZyksXHJcbiAgICAgICAgdG9vbHRpcDogdGhpcy50cmFuc2xhdGVTZXJ2aWNlLmluc3RhbnQodGhpcy5jYW5jZWxCdXR0b25Mb2NhbGl6ZWRTdHJpbmcpLFxyXG4gICAgICAgIGRpc2FibGVkOiBmYWxzZSxcclxuICAgICAgICBidXR0b25TdHlsZTogJ3NlY29uZGFyeSdcclxuICAgICAgfVxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIGNsb3NlKCkge1xyXG4gICAgdGhpcy5kaWFsb2dTZXJ2aWNlLmNsb3NlKCk7XHJcbiAgICAoZG9jdW1lbnQuYWN0aXZlRWxlbWVudCBhcyBIVE1MRWxlbWVudCk/LmJsdXIoKTtcclxuICB9XHJcblxyXG4gIGtleXByZXNzQ2xvc2UoZXZlbnQ6IEtleWJvYXJkRXZlbnQpIHtcclxuICAgIGlmIChldmVudC5rZXkgPT09ICdFc2NhcGUnIHx8IGV2ZW50LmtleSA9PT0gJ0VzYycpIHtcclxuICAgICAgdGhpcy5kaWFsb2dTZXJ2aWNlLmNsb3NlKCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBidXR0b25Sb3dCdXR0b25DbGlja2VkKCRldmVudDogQmltcGx1c0J1dHRvbkNsaWNrRXZlbnQpIHtcclxuICAgIHRoaXMuZGlhbG9nU2VydmljZS5jbG9zZSgpO1xyXG5cclxuICAgIGlmICgkZXZlbnQuaWQgPT09IFwiYWNjZXB0XCIpIHtcclxuICAgICAgdGhpcy5hY2NlcHRDYWxsYmFjaz8uKCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBASG9zdExpc3RlbmVyKCdkb2N1bWVudDprZXlkb3duJywgWyckZXZlbnQnXSlcclxuICBoYW5kbGVLZXlkb3duKGV2ZW50OiBLZXlib2FyZEV2ZW50KSB7XHJcbiAgICBpZiAoZXZlbnQua2V5ID09PSAnRXNjYXBlJyB8fCBldmVudC5rZXkgPT09ICdFc2MnKSB7XHJcbiAgICAgIHRoaXMuY2xvc2UoKTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuIiwiPGRpdiBjbGFzcz1cIm92ZXJsYXktZGlhbG9nLWNvbnRhaW5lclwiPlxyXG4gIDxkaXYgY2xhc3M9XCJoZWFkZXJcIj5cclxuICAgIDxkaXYgY2xhc3M9XCJpY29uXCI+PC9kaXY+XHJcbiAgICA8ZGl2IGNsYXNzPVwidGl0bGUtdGV4dFwiPlxyXG4gICAgICB7eyB0aXRsZSB9fVxyXG4gICAgPC9kaXY+XHJcbiAgICA8YnV0dG9uIGNsYXNzPVwiY2xvc2UtYnV0dG9uXCIgKGNsaWNrKT1cImNsb3NlKClcIiB0YWJpbmRleD1cIjBcIlxyXG4gICAgICAgICAgICAoa2V5ZG93bik9XCJrZXlwcmVzc0Nsb3NlKCRldmVudClcIj5cclxuICAgIDwvYnV0dG9uPlxyXG4gIDwvZGl2PlxyXG4gIDxkaXYgY2xhc3M9XCJjb250ZW50XCI+XHJcbiAgICA8ZGl2IGNsYXNzPVwidGV4dFwiIFtpbm5lckhUTUxdPVwibWVzc2FnZVwiPlxyXG4gICAgPC9kaXY+XHJcbiAgICA8ZGl2IGNsYXNzPVwiYnV0dG9uc1wiPlxyXG4gICAgICA8bGliLWJpbXBsdXMtYnV0dG9ucy1yb3cgI2J1dHRvbnNSb3cgKGJ1dHRvbkNsaWNrZWQpPVwiYnV0dG9uUm93QnV0dG9uQ2xpY2tlZCgkZXZlbnQpXCIvPlxyXG4gICAgPC9kaXY+XHJcbiAgPC9kaXY+XHJcbjwvZGl2PlxyXG4iXX0=