@provoly/dashboard 0.22.4 → 0.22.5

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 (195) hide show
  1. package/dataset/style/_o-pry-dataset-card.scss +24 -2
  2. package/esm2022/admin/components/admin-abac-rules/admin-abac-rules-form/admin-abac-rules-form.component.mjs +1 -1
  3. package/esm2022/admin/components/admin-abac-rules/components/attribute-condition/attribute-condition.component.mjs +1 -1
  4. package/esm2022/admin/components/admin-abac-rules/components/metadata-condition/metadata-condition.component.mjs +1 -1
  5. package/esm2022/admin/components/admin-classes/admin-classes-customize/symbol/admin-classes-customize-symbol.component.mjs +1 -1
  6. package/esm2022/admin/components/admin-classes/admin-classes-customize/tooltip/admin-classes-customize-tooltip.component.mjs +1 -1
  7. package/esm2022/admin/components/admin-classes/admin-classes-form/admin-classes-form.component.mjs +1 -1
  8. package/esm2022/admin/components/admin-classes/admin-classes-view/admin-attributes-form/admin-attributes-form.component.mjs +3 -3
  9. package/esm2022/admin/components/admin-dataset/shared/admin-form-dataset/admin-form-dataset.component.mjs +1 -1
  10. package/esm2022/admin/components/admin-environment/admin-environment-form/admin-environment-form.component.mjs +1 -1
  11. package/esm2022/admin/components/admin-fields/admin-fields-form/admin-fields-form.component.mjs +1 -1
  12. package/esm2022/admin/components/admin-links/admin-links-new/admin-links-new.component.mjs +1 -1
  13. package/esm2022/admin/components/admin-metadata/shared/form-metadata/form-metadata.component.mjs +1 -1
  14. package/esm2022/admin/components/admin-metadata-rules/shared/admin-form-metadata-rules/admin-form-metadata-rules.component.mjs +1 -1
  15. package/esm2022/components/checkbox/checkbox.component.mjs +3 -3
  16. package/esm2022/components/metadata-editor/metadata-editor.component.mjs +1 -1
  17. package/esm2022/components/scheme-picker/scheme-picker.component.mjs +1 -1
  18. package/esm2022/dataset/components/dataset-card/dataset-card.component.mjs +3 -3
  19. package/esm2022/dataset/components/dataset-detail/dataset-detail.component.mjs +3 -3
  20. package/esm2022/dataset/components/dataset.component.mjs +3 -3
  21. package/esm2022/dataset/style/css.component.mjs +2 -2
  22. package/esm2022/filters/autocomplete/autocomplete.component.mjs +1 -1
  23. package/esm2022/filters/list/list-filter.component.mjs +1 -1
  24. package/esm2022/import/components/import.component.mjs +1 -1
  25. package/esm2022/lib/core/components/about/about.component.mjs +3 -3
  26. package/esm2022/lib/core/components/base-toolbox-action/base-toolbox-action.component.mjs +3 -3
  27. package/esm2022/lib/core/components/chips-selector/chips-selector.component.mjs +8 -4
  28. package/esm2022/lib/core/components/overlay/dialog-confirm.component.mjs +3 -3
  29. package/esm2022/lib/core/components/select/select.component.mjs +19 -8
  30. package/esm2022/lib/core/components/share/share.component.mjs +1 -1
  31. package/esm2022/lib/core/i18n/en.translations.mjs +7 -2
  32. package/esm2022/lib/core/i18n/fr.translations.mjs +7 -2
  33. package/esm2022/lib/core/store/image/image.service.mjs +4 -3
  34. package/esm2022/lib/dashboard/components/context-menu/object-edition/object-edition.component.mjs +3 -3
  35. package/esm2022/lib/dashboard/components/dashboard.component.mjs +3 -3
  36. package/esm2022/lib/dashboard/components/widgets/datasource-selector/datasource-selector.component.mjs +3 -3
  37. package/esm2022/lib/dashboard/filter/components/filter-group/filter-group.component.mjs +3 -3
  38. package/esm2022/lib/dashboard/filter/style/css.component.mjs +2 -2
  39. package/esm2022/notification/store/notification.service.mjs +1 -1
  40. package/esm2022/notification/style/css.component.mjs +2 -2
  41. package/esm2022/pipeline/components/pipeline-editor/pipeline-editor.component.mjs +3 -3
  42. package/esm2022/pipeline-components/filter/component/filter.component.mjs +1 -1
  43. package/esm2022/pipeline-components/input-datasource/component/input-datasource.component.mjs +1 -1
  44. package/esm2022/pipeline-components/output-dataset/component/output-dataset.component.mjs +1 -1
  45. package/esm2022/presentation/components/add-edit-presentation/add-edit-presentation.component.mjs +1 -1
  46. package/esm2022/presentation/components/presentation.component.mjs +4 -3
  47. package/esm2022/presentation/style/css.component.mjs +2 -2
  48. package/esm2022/restitution/components/restitution/restitution.component.mjs +3 -3
  49. package/esm2022/restitution/components/restitution-catalog/restitution-catalog.component.mjs +3 -3
  50. package/esm2022/restitution/components/restitution-list/restitution-list.component.mjs +3 -3
  51. package/esm2022/restitution/components/restitution-list-item/restitution-list-item.component.mjs +3 -3
  52. package/esm2022/restitution/style/css.component.mjs +2 -2
  53. package/esm2022/search/search-home/search-home.component.mjs +2 -2
  54. package/esm2022/search/search-mono-class/components/search-condition/search-condition.component.mjs +1 -1
  55. package/esm2022/search/search-mono-class/components/search-mono-class/search-mono-class.component.mjs +1 -1
  56. package/esm2022/search/search-mono-class/components/search-order/search-order.component.mjs +1 -1
  57. package/esm2022/search/search-multi-class/components/multi-class-condition/multi-class-condition.component.mjs +1 -1
  58. package/esm2022/toolbox/components/automate-refresh/automate-refresh.component.mjs +3 -3
  59. package/esm2022/toolbox/components/clear-view/clear-view.component.mjs +3 -3
  60. package/esm2022/toolbox/components/delete/delete.component.mjs +3 -3
  61. package/esm2022/toolbox/components/drag-widgets/drag-widgets.component.mjs +3 -3
  62. package/esm2022/toolbox/components/filter-settings/filter-settings.component.mjs +20 -8
  63. package/esm2022/toolbox/components/launch-tab/launch-tab.component.mjs +3 -3
  64. package/esm2022/toolbox/components/refresh-datasets/refresh-datasets.component.mjs +3 -3
  65. package/esm2022/toolbox/components/save-view/save-view.component.mjs +3 -3
  66. package/esm2022/toolbox/components/select-grid-layout/select-grid-layout.component.mjs +3 -3
  67. package/esm2022/toolbox/components/share/share.component.mjs +4 -3
  68. package/esm2022/toolbox/components/switch-to-edit-content/switch-to-edit-content.component.mjs +3 -3
  69. package/esm2022/toolbox/components/toolbox.component.mjs +13 -3
  70. package/esm2022/toolbox/style/css.component.mjs +2 -2
  71. package/esm2022/widgets/widget-aggregated-chart/component/widget-aggregated-chart.component.mjs +3 -3
  72. package/esm2022/widgets/widget-chart/component/widget-chart.component.mjs +1 -1
  73. package/esm2022/widgets/widget-graph/component/widget-graph.component.mjs +1 -1
  74. package/esm2022/widgets/widget-map/component/widget-map.component.mjs +7 -7
  75. package/esm2022/widgets/widget-map/pipe/widget-map-legend-url.pipe.mjs +3 -2
  76. package/esm2022/widgets/widget-map/style/css.component.mjs +3 -3
  77. package/esm2022/widgets/widget-map/utils/widget-map.utils.mjs +5 -1
  78. package/esm2022/widgets/widget-table/component/widget-table.component.mjs +1 -1
  79. package/esm2022/widgets/widget-tile/component/widget-tile.component.mjs +1 -1
  80. package/fesm2022/provoly-dashboard-admin.mjs +14 -14
  81. package/fesm2022/provoly-dashboard-admin.mjs.map +1 -1
  82. package/fesm2022/provoly-dashboard-components-checkbox.mjs +2 -2
  83. package/fesm2022/provoly-dashboard-components-checkbox.mjs.map +1 -1
  84. package/fesm2022/provoly-dashboard-components-metadata-editor.mjs +1 -1
  85. package/fesm2022/provoly-dashboard-components-metadata-editor.mjs.map +1 -1
  86. package/fesm2022/provoly-dashboard-components-scheme-picker.mjs +1 -1
  87. package/fesm2022/provoly-dashboard-components-scheme-picker.mjs.map +1 -1
  88. package/fesm2022/provoly-dashboard-dataset.mjs +8 -8
  89. package/fesm2022/provoly-dashboard-dataset.mjs.map +1 -1
  90. package/fesm2022/provoly-dashboard-filters-autocomplete.mjs +1 -1
  91. package/fesm2022/provoly-dashboard-filters-autocomplete.mjs.map +1 -1
  92. package/fesm2022/provoly-dashboard-filters-list.mjs +1 -1
  93. package/fesm2022/provoly-dashboard-filters-list.mjs.map +1 -1
  94. package/fesm2022/provoly-dashboard-import.mjs +1 -1
  95. package/fesm2022/provoly-dashboard-import.mjs.map +1 -1
  96. package/fesm2022/provoly-dashboard-notification.mjs +2 -2
  97. package/fesm2022/provoly-dashboard-notification.mjs.map +1 -1
  98. package/fesm2022/provoly-dashboard-pipeline-components-filter.mjs +1 -1
  99. package/fesm2022/provoly-dashboard-pipeline-components-filter.mjs.map +1 -1
  100. package/fesm2022/provoly-dashboard-pipeline-components-input-datasource.mjs +1 -1
  101. package/fesm2022/provoly-dashboard-pipeline-components-input-datasource.mjs.map +1 -1
  102. package/fesm2022/provoly-dashboard-pipeline-components-output-dataset.mjs +1 -1
  103. package/fesm2022/provoly-dashboard-pipeline-components-output-dataset.mjs.map +1 -1
  104. package/fesm2022/provoly-dashboard-pipeline.mjs +2 -2
  105. package/fesm2022/provoly-dashboard-pipeline.mjs.map +1 -1
  106. package/fesm2022/provoly-dashboard-presentation.mjs +6 -5
  107. package/fesm2022/provoly-dashboard-presentation.mjs.map +1 -1
  108. package/fesm2022/provoly-dashboard-restitution.mjs +10 -10
  109. package/fesm2022/provoly-dashboard-restitution.mjs.map +1 -1
  110. package/fesm2022/provoly-dashboard-search.mjs +5 -5
  111. package/fesm2022/provoly-dashboard-search.mjs.map +1 -1
  112. package/fesm2022/provoly-dashboard-toolbox.mjs +54 -31
  113. package/fesm2022/provoly-dashboard-toolbox.mjs.map +1 -1
  114. package/fesm2022/provoly-dashboard-widgets-widget-aggregated-chart.mjs +2 -2
  115. package/fesm2022/provoly-dashboard-widgets-widget-aggregated-chart.mjs.map +1 -1
  116. package/fesm2022/provoly-dashboard-widgets-widget-chart.mjs +1 -1
  117. package/fesm2022/provoly-dashboard-widgets-widget-chart.mjs.map +1 -1
  118. package/fesm2022/provoly-dashboard-widgets-widget-graph.mjs +1 -1
  119. package/fesm2022/provoly-dashboard-widgets-widget-graph.mjs.map +1 -1
  120. package/fesm2022/provoly-dashboard-widgets-widget-map.mjs +13 -8
  121. package/fesm2022/provoly-dashboard-widgets-widget-map.mjs.map +1 -1
  122. package/fesm2022/provoly-dashboard-widgets-widget-table.mjs +1 -1
  123. package/fesm2022/provoly-dashboard-widgets-widget-table.mjs.map +1 -1
  124. package/fesm2022/provoly-dashboard-widgets-widget-tile.mjs +1 -1
  125. package/fesm2022/provoly-dashboard-widgets-widget-tile.mjs.map +1 -1
  126. package/fesm2022/provoly-dashboard.mjs +57 -31
  127. package/fesm2022/provoly-dashboard.mjs.map +1 -1
  128. package/lib/core/components/overlay/dialog-confirm.component.d.ts +1 -1
  129. package/lib/core/components/select/select.component.d.ts +2 -1
  130. package/lib/core/i18n/en.translations.d.ts +5 -0
  131. package/lib/core/i18n/fr.translations.d.ts +5 -0
  132. package/lib/dashboard/filter/style/_o-pry-filter-group.scss +1 -1
  133. package/notification/style/_m-notifications.scss +4 -10
  134. package/package.json +19 -19
  135. package/presentation/style/_o-pry-new-presentation.scss +0 -4
  136. package/presentation/style/_o-pry-presentation.scss +6 -1
  137. package/restitution/style/_o-restitution-list.scss +1 -1
  138. package/styles/abstracts/_mixins.scss +13 -0
  139. package/styles/components/_a-btn.scss +8 -26
  140. package/styles/components/_a-chip.scss +13 -0
  141. package/styles/components/_m-info-icon.scss +2 -3
  142. package/styles/components/{_o-datasources.scss → _o-chips-selector.scss} +3 -4
  143. package/styles/components/_o-dashboard.scss +41 -7
  144. package/styles/components/_o-modal.scss +1 -1
  145. package/styles/components/_o-widget.scss +5 -5
  146. package/styles/layout/_o-manifest-layout.scss +4 -0
  147. package/styles/libs/_reset-lib-ol.scss +9 -5
  148. package/styles/main.scss +7 -7
  149. package/styles-theme/abstracts-theme/_abstracts-overlays.theme.scss +6 -0
  150. package/styles-theme/abstracts-theme/variables/_variables-colors.scss +18 -25
  151. package/styles-theme/abstracts-theme/variables/_variables-decoration.scss +2 -2
  152. package/styles-theme/abstracts-theme/variables/_variables-typo.scss +2 -2
  153. package/styles-theme/components-theme/_a-btn.theme.scss +45 -72
  154. package/styles-theme/components-theme/_a-checkbox.theme.scss +3 -45
  155. package/styles-theme/components-theme/_a-chip.theme.scss +32 -0
  156. package/styles-theme/components-theme/_a-form-field.theme.scss +1 -1
  157. package/styles-theme/components-theme/_a-pry-select.theme.scss +11 -3
  158. package/styles-theme/components-theme/_a-toggle.theme.scss +7 -8
  159. package/styles-theme/components-theme/_m-filter.theme.scss +4 -13
  160. package/styles-theme/components-theme/_m-form-radio-group.theme.scss +17 -0
  161. package/styles-theme/components-theme/_m-info-icon.theme.scss +11 -0
  162. package/styles-theme/components-theme/_m-minus-plus.theme.scss +2 -2
  163. package/styles-theme/components-theme/_m-notifications.theme.scss +8 -4
  164. package/styles-theme/components-theme/_m-time-picker.theme.scss +1 -1
  165. package/styles-theme/components-theme/_o-catalog.theme.scss +1 -1
  166. package/styles-theme/components-theme/_o-date-picker.theme.scss +2 -2
  167. package/styles-theme/components-theme/_o-draggable-menu.theme.scss +2 -2
  168. package/styles-theme/components-theme/_o-multi-class-field-selection.theme.scss +1 -1
  169. package/styles-theme/components-theme/_o-object-panel.theme.scss +1 -1
  170. package/styles-theme/components-theme/_o-pry-admin-classes-customize.theme.scss +0 -9
  171. package/styles-theme/components-theme/_o-pry-dataset-card.theme.scss +8 -0
  172. package/styles-theme/components-theme/_o-pry-presentation.theme.scss +12 -14
  173. package/styles-theme/components-theme/_o-pry-search-tools.theme.scss +2 -13
  174. package/styles-theme/components-theme/_o-pry-stepper.theme.scss +6 -8
  175. package/styles-theme/components-theme/_o-restitution-list.theme.scss +1 -1
  176. package/styles-theme/components-theme/_o-search-fulltext.theme.scss +2 -2
  177. package/styles-theme/components-theme/_o-search-multi-class.theme.scss +0 -5
  178. package/styles-theme/components-theme/_o-settings.theme.scss +1 -1
  179. package/styles-theme/components-theme/_o-tabs.theme.scss +1 -1
  180. package/styles-theme/components-theme/_o-widget-iframe.theme.scss +2 -2
  181. package/styles-theme/components-theme/_o-widget.theme.scss +31 -2
  182. package/styles-theme/components-theme/_overlay.theme.scss +3 -3
  183. package/styles-theme/layout-theme/_o-base-layout.theme.scss +3 -3
  184. package/styles-theme/layout-theme/_o-manifest-layout.theme.scss +8 -2
  185. package/styles-theme/libs-theme/_reset-lib-ol.theme.scss +12 -3
  186. package/styles-theme/main-theme.scss +5 -4
  187. package/toolbox/components/filter-settings/filter-settings.component.d.ts +3 -2
  188. package/toolbox/components/toolbox.component.d.ts +3 -1
  189. package/toolbox/style/_o-filter-settings.scss +0 -4
  190. package/toolbox/style/_o-toolbox.scss +2 -26
  191. package/widgets/widget-map/pipe/widget-map-legend-url.pipe.d.ts +1 -1
  192. package/widgets/widget-map/style/{_o-layer-legend.scss → _m-layer-legend.scss} +7 -8
  193. package/widgets/widget-map/style/_o-widget-map.scss +2 -2
  194. package/styles/components/_a-chips.scss +0 -15
  195. package/styles-theme/components-theme/_o-datasources.theme.scss +0 -41
@@ -51,14 +51,14 @@ export class PryRestitutionListComponent extends SubscriptionnerDirective {
51
51
  this.selectMode(this.mode.CATALOG);
52
52
  }
53
53
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PryRestitutionListComponent, deps: [{ token: i1.ToolboxMenuService }, { token: i1.PryI18nService }, { token: i1.ToolboxManifestService }, { token: i2.Store }], target: i0.ɵɵFactoryTarget.Component }); }
54
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: PryRestitutionListComponent, selector: "pry-catalog", inputs: { showTabs: "showTabs", customModels: "customModels" }, usesInheritance: true, ngImport: i0, template: "<pry-restitution-css></pry-restitution-css>\n<div class=\"o-catalog\">\n <ng-template [ngIf]=\"selectedMode === mode.CATALOG\">\n <h2 class=\"a-h2\">{{ '@pry.restitution.catalog' | i18n }}</h2>\n <div class=\"o-catalog__filters\">\n <div class=\"o-catalog__filters__by-name\">\n <label id=\"catalog-search-label\" for=\"catalog-search\" class=\"a-label u-visually-hidden\">\n <span>{{ '@pry.toolbox.catalog.filter.name' | i18n }}</span>\n </label>\n <pry-icon iconSvg=\"search\" [width]=\"17\" [height]=\"17\"></pry-icon>\n <input\n id=\"catalog-search\"\n type=\"text\"\n class=\"a-form-field\"\n [placeholder]=\"'@pry.action.search' | i18n\"\n [ngModel]=\"search$ | async\"\n (ngModelChange)=\"this.search$.next($event)\"\n />\n </div>\n <label class=\"a-label\">{{ '@pry.action.filterByType' | i18n }}</label>\n <div class=\"o-catalog__filters__by-type\">\n <ul class=\"o-catalog__filters__by-type__list\">\n <li *ngFor=\"let typeOpt of types$ | async\">\n <input\n type=\"radio\"\n class=\"a-form-field u-sr-only\"\n name=\"catalog-filter\"\n id=\"catalog-button-{{ typeOpt.type }}\"\n [checked]=\"typeOpt.type === (type$ | async)\"\n (change)=\"type$.next(typeOpt.type)\"\n />\n <label\n class=\"a-label\"\n id=\"catalog-button-label-{{ typeOpt.type }}\"\n for=\"catalog-button-{{ typeOpt.type }}\"\n [title]=\"typeOpt.label | i18n : { warn: false }\"\n >\n <span class=\"u-sr-only\">{{ typeOpt.label | i18n : { warn: false } }} </span>\n <pry-icon [width]=\"18\" [height]=\"18\" [iconSvg]=\"typeOpt.icon\"></pry-icon>\n </label>\n </li>\n </ul>\n <button\n type=\"button\"\n class=\"a-btn a-btn--icon-text -link-like\"\n (click)=\"type$.next(undefined)\"\n [disabled]=\"!type$.getValue()\"\n [class.u-visually-hidden]=\"!type$.getValue()\"\n >\n <pry-icon [width]=\"15\" [height]=\"15\" iconSvg=\"delete\"></pry-icon>\n {{ '@pry.toolbox.catalog.filter.delete' | i18n }}\n </button>\n </div>\n </div>\n <ng-container *ngIf=\"showTabs; else list\">\n <div class=\"o-accordion\" role=\"tablist\" aria-multiselectable=\"false\">\n <pry-accordion>\n <pry-accordion-item\n *ngFor=\"let category of categories; let index = index\"\n [item]=\"category\"\n [index]=\"index\"\n translationStringBase=\"@pry.restitution.catalogTabs.\"\n [length]=\"\n (category === 'model' ? (nonCustomWidgets$ | async)?.length : (customWidgets$ | async)?.length) ?? 0\n \"\n >\n <ul class=\"o-catalog__list\" role=\"list\" aria-live=\"polite\">\n <ng-container *ngIf=\"category === 'model'\">\n <pry-catalog-item\n *ngFor=\"let widget of nonCustomWidgets$ | async\"\n [widget]=\"widget\"\n (selectRestitution)=\"selectRestitution($event)\"\n ></pry-catalog-item>\n </ng-container>\n <ng-container *ngIf=\"category === 'noModel'\">\n <pry-catalog-item\n *ngFor=\"let widget of customWidgets$ | async\"\n [translate]=\"false\"\n [widget]=\"widget\"\n (selectRestitution)=\"selectRestitution($event)\"\n ></pry-catalog-item>\n </ng-container>\n </ul>\n </pry-accordion-item>\n </pry-accordion>\n </div>\n </ng-container>\n\n <ng-template #list>\n <ul class=\"o-catalog__list\" role=\"list\" aria-live=\"polite\">\n <pry-catalog-item\n *ngFor=\"let widget of filteredWidgets$ | async\"\n [widget]=\"widget\"\n (selectRestitution)=\"selectRestitution($event)\"\n ></pry-catalog-item>\n </ul>\n </ng-template>\n </ng-template>\n\n <ng-template [ngIf]=\"selectedMode === mode.CONSULT\">\n <div class=\"o-catalog__create\">\n <button class=\"a-btn a-btn--secondary\" (click)=\"closeRestitution()\">\n {{ '@pry.restitution.cancel' | i18n }}\n </button>\n </div>\n\n <pry-restitution\n [selectedRestitution]=\"selectedRestitution\"\n [edit]=\"false\"\n (restitutionCreated)=\"closeRestitution()\"\n ></pry-restitution>\n </ng-template>\n\n <ng-template [ngIf]=\"selectedMode === mode.CREATION\">\n <div class=\"o-catalog__create\">\n <button class=\"a-btn a-btn--ghost\" (click)=\"selectMode(mode.CATALOG)\">\n {{ '@pry.restitution.cancel' | i18n }}\n </button>\n </div>\n\n <pry-restitution (restitutionCreated)=\"closeRestitution()\"></pry-restitution>\n </ng-template>\n</div>\n", dependencies: [{ kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i1.AccordionComponent, selector: "pry-accordion" }, { kind: "component", type: i1.AccordionItemComponent, selector: "pry-accordion-item", inputs: ["item", "borderColor", "index", "translationStringBase", "length", "showSearchBar", "search$"], outputs: ["search"] }, { kind: "component", type: i1.PryIconComponent, selector: "pry-icon", inputs: ["color", "iconSvg", "animation", "iconImage", "alt", "width", "height", "classes"] }, { kind: "directive", type: i4.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i4.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i5.PryRestitutionComponent, selector: "pry-restitution", inputs: ["selectedRestitution", "edit", "isDataSourceSelected", "bindId"], outputs: ["restitutionCreated"] }, { kind: "component", type: i6.PryCatalogCssComponent, selector: "pry-restitution-css" }, { kind: "component", type: i7.PryRestitutionListItemComponent, selector: "pry-catalog-item", inputs: ["widget", "translate"], outputs: ["selectRestitution"] }, { kind: "pipe", type: i3.AsyncPipe, name: "async" }, { kind: "pipe", type: i1.I18nPipe, name: "i18n" }] }); }
54
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: PryRestitutionListComponent, selector: "pry-catalog", inputs: { showTabs: "showTabs", customModels: "customModels" }, usesInheritance: true, ngImport: i0, template: "<pry-restitution-css></pry-restitution-css>\n<div class=\"o-catalog\">\n <ng-template [ngIf]=\"selectedMode === mode.CATALOG\">\n <h2 class=\"a-h2\">{{ '@pry.restitution.catalog' | i18n }}</h2>\n <div class=\"o-catalog__filters\">\n <div class=\"o-catalog__filters__by-name\">\n <label id=\"catalog-search-label\" for=\"catalog-search\" class=\"a-label u-visually-hidden\">\n <span>{{ '@pry.toolbox.catalog.filter.name' | i18n }}</span>\n </label>\n <pry-icon class=\"search-icon\" iconSvg=\"search\" [width]=\"17\" [height]=\"17\"></pry-icon>\n <input\n id=\"catalog-search\"\n type=\"text\"\n class=\"a-form-field\"\n [placeholder]=\"'@pry.action.search' | i18n\"\n [ngModel]=\"search$ | async\"\n (ngModelChange)=\"this.search$.next($event)\"\n />\n </div>\n <label class=\"a-label\">{{ '@pry.action.filterByType' | i18n }}</label>\n <div class=\"o-catalog__filters__by-type\">\n <ul class=\"o-catalog__filters__by-type__list\">\n <li *ngFor=\"let typeOpt of types$ | async\">\n <input\n type=\"radio\"\n class=\"a-form-field u-sr-only\"\n name=\"catalog-filter\"\n id=\"catalog-button-{{ typeOpt.type }}\"\n [checked]=\"typeOpt.type === (type$ | async)\"\n (change)=\"type$.next(typeOpt.type)\"\n />\n <label\n class=\"a-label\"\n id=\"catalog-button-label-{{ typeOpt.type }}\"\n for=\"catalog-button-{{ typeOpt.type }}\"\n [title]=\"typeOpt.label | i18n : { warn: false }\"\n >\n <span class=\"u-sr-only\">{{ typeOpt.label | i18n : { warn: false } }} </span>\n <pry-icon [width]=\"18\" [height]=\"18\" [iconSvg]=\"typeOpt.icon\"></pry-icon>\n </label>\n </li>\n </ul>\n <button\n type=\"button\"\n class=\"a-btn a-btn--icon-text -link-like\"\n (click)=\"type$.next(undefined)\"\n [disabled]=\"!type$.getValue()\"\n [class.u-visually-hidden]=\"!type$.getValue()\"\n >\n <pry-icon [width]=\"15\" [height]=\"15\" iconSvg=\"delete\"></pry-icon>\n {{ '@pry.toolbox.catalog.filter.delete' | i18n }}\n </button>\n </div>\n </div>\n <ng-container *ngIf=\"showTabs; else list\">\n <div class=\"o-accordion\" role=\"tablist\" aria-multiselectable=\"false\">\n <pry-accordion>\n <pry-accordion-item\n *ngFor=\"let category of categories; let index = index\"\n [item]=\"category\"\n [index]=\"index\"\n translationStringBase=\"@pry.restitution.catalogTabs.\"\n [length]=\"\n (category === 'model' ? (nonCustomWidgets$ | async)?.length : (customWidgets$ | async)?.length) ?? 0\n \"\n >\n <ul class=\"o-catalog__list\" role=\"list\" aria-live=\"polite\">\n <ng-container *ngIf=\"category === 'model'\">\n <pry-catalog-item\n *ngFor=\"let widget of nonCustomWidgets$ | async\"\n [widget]=\"widget\"\n (selectRestitution)=\"selectRestitution($event)\"\n ></pry-catalog-item>\n </ng-container>\n <ng-container *ngIf=\"category === 'noModel'\">\n <pry-catalog-item\n *ngFor=\"let widget of customWidgets$ | async\"\n [translate]=\"false\"\n [widget]=\"widget\"\n (selectRestitution)=\"selectRestitution($event)\"\n ></pry-catalog-item>\n </ng-container>\n </ul>\n </pry-accordion-item>\n </pry-accordion>\n </div>\n </ng-container>\n\n <ng-template #list>\n <ul class=\"o-catalog__list\" role=\"list\" aria-live=\"polite\">\n <pry-catalog-item\n *ngFor=\"let widget of filteredWidgets$ | async\"\n [widget]=\"widget\"\n (selectRestitution)=\"selectRestitution($event)\"\n ></pry-catalog-item>\n </ul>\n </ng-template>\n </ng-template>\n\n <ng-template [ngIf]=\"selectedMode === mode.CONSULT\">\n <div class=\"o-catalog__create\">\n <button class=\"a-btn a-btn--secondary\" (click)=\"closeRestitution()\">\n {{ '@pry.restitution.cancel' | i18n }}\n </button>\n </div>\n\n <pry-restitution\n [selectedRestitution]=\"selectedRestitution\"\n [edit]=\"false\"\n (restitutionCreated)=\"closeRestitution()\"\n ></pry-restitution>\n </ng-template>\n\n <ng-template [ngIf]=\"selectedMode === mode.CREATION\">\n <div class=\"o-catalog__create\">\n <button class=\"a-btn a-btn--secondary\" (click)=\"selectMode(mode.CATALOG)\">\n {{ '@pry.restitution.cancel' | i18n }}\n </button>\n </div>\n\n <pry-restitution (restitutionCreated)=\"closeRestitution()\"></pry-restitution>\n </ng-template>\n</div>\n", dependencies: [{ kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i1.AccordionComponent, selector: "pry-accordion" }, { kind: "component", type: i1.AccordionItemComponent, selector: "pry-accordion-item", inputs: ["item", "borderColor", "index", "translationStringBase", "length", "showSearchBar", "search$"], outputs: ["search"] }, { kind: "component", type: i1.PryIconComponent, selector: "pry-icon", inputs: ["color", "iconSvg", "animation", "iconImage", "alt", "width", "height", "classes"] }, { kind: "directive", type: i4.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i4.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i5.PryRestitutionComponent, selector: "pry-restitution", inputs: ["selectedRestitution", "edit", "isDataSourceSelected", "bindId"], outputs: ["restitutionCreated"] }, { kind: "component", type: i6.PryCatalogCssComponent, selector: "pry-restitution-css" }, { kind: "component", type: i7.PryRestitutionListItemComponent, selector: "pry-catalog-item", inputs: ["widget", "translate"], outputs: ["selectRestitution"] }, { kind: "pipe", type: i3.AsyncPipe, name: "async" }, { kind: "pipe", type: i1.I18nPipe, name: "i18n" }] }); }
55
55
  }
56
56
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PryRestitutionListComponent, decorators: [{
57
57
  type: Component,
58
- args: [{ selector: 'pry-catalog', template: "<pry-restitution-css></pry-restitution-css>\n<div class=\"o-catalog\">\n <ng-template [ngIf]=\"selectedMode === mode.CATALOG\">\n <h2 class=\"a-h2\">{{ '@pry.restitution.catalog' | i18n }}</h2>\n <div class=\"o-catalog__filters\">\n <div class=\"o-catalog__filters__by-name\">\n <label id=\"catalog-search-label\" for=\"catalog-search\" class=\"a-label u-visually-hidden\">\n <span>{{ '@pry.toolbox.catalog.filter.name' | i18n }}</span>\n </label>\n <pry-icon iconSvg=\"search\" [width]=\"17\" [height]=\"17\"></pry-icon>\n <input\n id=\"catalog-search\"\n type=\"text\"\n class=\"a-form-field\"\n [placeholder]=\"'@pry.action.search' | i18n\"\n [ngModel]=\"search$ | async\"\n (ngModelChange)=\"this.search$.next($event)\"\n />\n </div>\n <label class=\"a-label\">{{ '@pry.action.filterByType' | i18n }}</label>\n <div class=\"o-catalog__filters__by-type\">\n <ul class=\"o-catalog__filters__by-type__list\">\n <li *ngFor=\"let typeOpt of types$ | async\">\n <input\n type=\"radio\"\n class=\"a-form-field u-sr-only\"\n name=\"catalog-filter\"\n id=\"catalog-button-{{ typeOpt.type }}\"\n [checked]=\"typeOpt.type === (type$ | async)\"\n (change)=\"type$.next(typeOpt.type)\"\n />\n <label\n class=\"a-label\"\n id=\"catalog-button-label-{{ typeOpt.type }}\"\n for=\"catalog-button-{{ typeOpt.type }}\"\n [title]=\"typeOpt.label | i18n : { warn: false }\"\n >\n <span class=\"u-sr-only\">{{ typeOpt.label | i18n : { warn: false } }} </span>\n <pry-icon [width]=\"18\" [height]=\"18\" [iconSvg]=\"typeOpt.icon\"></pry-icon>\n </label>\n </li>\n </ul>\n <button\n type=\"button\"\n class=\"a-btn a-btn--icon-text -link-like\"\n (click)=\"type$.next(undefined)\"\n [disabled]=\"!type$.getValue()\"\n [class.u-visually-hidden]=\"!type$.getValue()\"\n >\n <pry-icon [width]=\"15\" [height]=\"15\" iconSvg=\"delete\"></pry-icon>\n {{ '@pry.toolbox.catalog.filter.delete' | i18n }}\n </button>\n </div>\n </div>\n <ng-container *ngIf=\"showTabs; else list\">\n <div class=\"o-accordion\" role=\"tablist\" aria-multiselectable=\"false\">\n <pry-accordion>\n <pry-accordion-item\n *ngFor=\"let category of categories; let index = index\"\n [item]=\"category\"\n [index]=\"index\"\n translationStringBase=\"@pry.restitution.catalogTabs.\"\n [length]=\"\n (category === 'model' ? (nonCustomWidgets$ | async)?.length : (customWidgets$ | async)?.length) ?? 0\n \"\n >\n <ul class=\"o-catalog__list\" role=\"list\" aria-live=\"polite\">\n <ng-container *ngIf=\"category === 'model'\">\n <pry-catalog-item\n *ngFor=\"let widget of nonCustomWidgets$ | async\"\n [widget]=\"widget\"\n (selectRestitution)=\"selectRestitution($event)\"\n ></pry-catalog-item>\n </ng-container>\n <ng-container *ngIf=\"category === 'noModel'\">\n <pry-catalog-item\n *ngFor=\"let widget of customWidgets$ | async\"\n [translate]=\"false\"\n [widget]=\"widget\"\n (selectRestitution)=\"selectRestitution($event)\"\n ></pry-catalog-item>\n </ng-container>\n </ul>\n </pry-accordion-item>\n </pry-accordion>\n </div>\n </ng-container>\n\n <ng-template #list>\n <ul class=\"o-catalog__list\" role=\"list\" aria-live=\"polite\">\n <pry-catalog-item\n *ngFor=\"let widget of filteredWidgets$ | async\"\n [widget]=\"widget\"\n (selectRestitution)=\"selectRestitution($event)\"\n ></pry-catalog-item>\n </ul>\n </ng-template>\n </ng-template>\n\n <ng-template [ngIf]=\"selectedMode === mode.CONSULT\">\n <div class=\"o-catalog__create\">\n <button class=\"a-btn a-btn--secondary\" (click)=\"closeRestitution()\">\n {{ '@pry.restitution.cancel' | i18n }}\n </button>\n </div>\n\n <pry-restitution\n [selectedRestitution]=\"selectedRestitution\"\n [edit]=\"false\"\n (restitutionCreated)=\"closeRestitution()\"\n ></pry-restitution>\n </ng-template>\n\n <ng-template [ngIf]=\"selectedMode === mode.CREATION\">\n <div class=\"o-catalog__create\">\n <button class=\"a-btn a-btn--ghost\" (click)=\"selectMode(mode.CATALOG)\">\n {{ '@pry.restitution.cancel' | i18n }}\n </button>\n </div>\n\n <pry-restitution (restitutionCreated)=\"closeRestitution()\"></pry-restitution>\n </ng-template>\n</div>\n" }]
58
+ args: [{ selector: 'pry-catalog', template: "<pry-restitution-css></pry-restitution-css>\n<div class=\"o-catalog\">\n <ng-template [ngIf]=\"selectedMode === mode.CATALOG\">\n <h2 class=\"a-h2\">{{ '@pry.restitution.catalog' | i18n }}</h2>\n <div class=\"o-catalog__filters\">\n <div class=\"o-catalog__filters__by-name\">\n <label id=\"catalog-search-label\" for=\"catalog-search\" class=\"a-label u-visually-hidden\">\n <span>{{ '@pry.toolbox.catalog.filter.name' | i18n }}</span>\n </label>\n <pry-icon class=\"search-icon\" iconSvg=\"search\" [width]=\"17\" [height]=\"17\"></pry-icon>\n <input\n id=\"catalog-search\"\n type=\"text\"\n class=\"a-form-field\"\n [placeholder]=\"'@pry.action.search' | i18n\"\n [ngModel]=\"search$ | async\"\n (ngModelChange)=\"this.search$.next($event)\"\n />\n </div>\n <label class=\"a-label\">{{ '@pry.action.filterByType' | i18n }}</label>\n <div class=\"o-catalog__filters__by-type\">\n <ul class=\"o-catalog__filters__by-type__list\">\n <li *ngFor=\"let typeOpt of types$ | async\">\n <input\n type=\"radio\"\n class=\"a-form-field u-sr-only\"\n name=\"catalog-filter\"\n id=\"catalog-button-{{ typeOpt.type }}\"\n [checked]=\"typeOpt.type === (type$ | async)\"\n (change)=\"type$.next(typeOpt.type)\"\n />\n <label\n class=\"a-label\"\n id=\"catalog-button-label-{{ typeOpt.type }}\"\n for=\"catalog-button-{{ typeOpt.type }}\"\n [title]=\"typeOpt.label | i18n : { warn: false }\"\n >\n <span class=\"u-sr-only\">{{ typeOpt.label | i18n : { warn: false } }} </span>\n <pry-icon [width]=\"18\" [height]=\"18\" [iconSvg]=\"typeOpt.icon\"></pry-icon>\n </label>\n </li>\n </ul>\n <button\n type=\"button\"\n class=\"a-btn a-btn--icon-text -link-like\"\n (click)=\"type$.next(undefined)\"\n [disabled]=\"!type$.getValue()\"\n [class.u-visually-hidden]=\"!type$.getValue()\"\n >\n <pry-icon [width]=\"15\" [height]=\"15\" iconSvg=\"delete\"></pry-icon>\n {{ '@pry.toolbox.catalog.filter.delete' | i18n }}\n </button>\n </div>\n </div>\n <ng-container *ngIf=\"showTabs; else list\">\n <div class=\"o-accordion\" role=\"tablist\" aria-multiselectable=\"false\">\n <pry-accordion>\n <pry-accordion-item\n *ngFor=\"let category of categories; let index = index\"\n [item]=\"category\"\n [index]=\"index\"\n translationStringBase=\"@pry.restitution.catalogTabs.\"\n [length]=\"\n (category === 'model' ? (nonCustomWidgets$ | async)?.length : (customWidgets$ | async)?.length) ?? 0\n \"\n >\n <ul class=\"o-catalog__list\" role=\"list\" aria-live=\"polite\">\n <ng-container *ngIf=\"category === 'model'\">\n <pry-catalog-item\n *ngFor=\"let widget of nonCustomWidgets$ | async\"\n [widget]=\"widget\"\n (selectRestitution)=\"selectRestitution($event)\"\n ></pry-catalog-item>\n </ng-container>\n <ng-container *ngIf=\"category === 'noModel'\">\n <pry-catalog-item\n *ngFor=\"let widget of customWidgets$ | async\"\n [translate]=\"false\"\n [widget]=\"widget\"\n (selectRestitution)=\"selectRestitution($event)\"\n ></pry-catalog-item>\n </ng-container>\n </ul>\n </pry-accordion-item>\n </pry-accordion>\n </div>\n </ng-container>\n\n <ng-template #list>\n <ul class=\"o-catalog__list\" role=\"list\" aria-live=\"polite\">\n <pry-catalog-item\n *ngFor=\"let widget of filteredWidgets$ | async\"\n [widget]=\"widget\"\n (selectRestitution)=\"selectRestitution($event)\"\n ></pry-catalog-item>\n </ul>\n </ng-template>\n </ng-template>\n\n <ng-template [ngIf]=\"selectedMode === mode.CONSULT\">\n <div class=\"o-catalog__create\">\n <button class=\"a-btn a-btn--secondary\" (click)=\"closeRestitution()\">\n {{ '@pry.restitution.cancel' | i18n }}\n </button>\n </div>\n\n <pry-restitution\n [selectedRestitution]=\"selectedRestitution\"\n [edit]=\"false\"\n (restitutionCreated)=\"closeRestitution()\"\n ></pry-restitution>\n </ng-template>\n\n <ng-template [ngIf]=\"selectedMode === mode.CREATION\">\n <div class=\"o-catalog__create\">\n <button class=\"a-btn a-btn--secondary\" (click)=\"selectMode(mode.CATALOG)\">\n {{ '@pry.restitution.cancel' | i18n }}\n </button>\n </div>\n\n <pry-restitution (restitutionCreated)=\"closeRestitution()\"></pry-restitution>\n </ng-template>\n</div>\n" }]
59
59
  }], ctorParameters: function () { return [{ type: i1.ToolboxMenuService }, { type: i1.PryI18nService }, { type: i1.ToolboxManifestService }, { type: i2.Store }]; }, propDecorators: { showTabs: [{
60
60
  type: Input
61
61
  }], customModels: [{
62
62
  type: Input
63
63
  }] } });
64
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVzdGl0dXRpb24tbGlzdC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9wcm92b2x5L2Rhc2hib2FyZC9yZXN0aXR1dGlvbi9jb21wb25lbnRzL3Jlc3RpdHV0aW9uLWxpc3QvcmVzdGl0dXRpb24tbGlzdC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9wcm92b2x5L2Rhc2hib2FyZC9yZXN0aXR1dGlvbi9jb21wb25lbnRzL3Jlc3RpdHV0aW9uLWxpc3QvcmVzdGl0dXRpb24tbGlzdC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUVqRCxPQUFPLEVBRUwsYUFBYSxFQUViLGlCQUFpQixFQUNqQix3QkFBd0IsRUFHeEIsUUFBUSxFQUVULE1BQU0sb0JBQW9CLENBQUM7QUFDNUIsT0FBTyxFQUFFLGVBQWUsRUFBRSxhQUFhLEVBQUUsR0FBRyxFQUFjLE1BQU0sTUFBTSxDQUFDOzs7Ozs7Ozs7QUFNdkUsTUFBTSxPQUFPLDJCQUE0QixTQUFRLHdCQUF3QjtJQUV2RSxJQUNJLFlBQVk7UUFDZCxPQUFPLElBQUksQ0FBQyxhQUFhLENBQUM7SUFDNUIsQ0FBQztJQUNELElBQUksWUFBWSxDQUFDLE1BQWdCO1FBQy9CLElBQUksQ0FBQyxhQUFhLEdBQUcsQ0FBQyxRQUFRLEVBQUUsUUFBUSxFQUFFLEdBQUcsTUFBTSxDQUFDLENBQUM7SUFDdkQsQ0FBQztJQWNELFlBQ1Usa0JBQXNDLEVBQ3RDLGdCQUFnQyxFQUNoQyxzQkFBOEMsRUFDOUMsS0FBWTtRQUVwQixLQUFLLEVBQUUsQ0FBQztRQUxBLHVCQUFrQixHQUFsQixrQkFBa0IsQ0FBb0I7UUFDdEMscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFnQjtRQUNoQywyQkFBc0IsR0FBdEIs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QUcsSUFBSSxDQUFDO1FBQ2hDLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUNyQyxDQUFDOytHQXJFVSwyQkFBMkI7bUdBQTNCLDJCQUEyQiwwSUNuQnhDLHk2SkEySEE7OzRGRHhHYSwyQkFBMkI7a0JBSnZDLFNBQVM7K0JBQ0UsYUFBYTsrTEFJZCxRQUFRO3NCQUFoQixLQUFLO2dCQUVGLFlBQVk7c0JBRGYsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFN0b3JlIH0gZnJvbSAnQG5ncngvc3RvcmUnO1xuaW1wb3J0IHtcbiAgQ2F0YWxvZ0VudHJ5LFxuICBDb25maWdBY3Rpb25zLFxuICBQcnlJMThuU2VydmljZSxcbiAgUHJ5VmlzaWJpbGl0eVR5cGUsXG4gIFN1YnNjcmlwdGlvbm5lckRpcmVjdGl2ZSxcbiAgVG9vbGJveE1hbmlmZXN0U2VydmljZSxcbiAgVG9vbGJveE1lbnVTZXJ2aWNlLFxuICBWaWV3TW9kZSxcbiAgV2lkZ2V0XG59IGZyb20gJ0Bwcm92b2x5L2Rhc2hib2FyZCc7XG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIGNvbWJpbmVMYXRlc3QsIG1hcCwgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdwcnktY2F0YWxvZycsXG4gIHRlbXBsYXRlVXJsOiAnLi9yZXN0aXR1dGlvbi1saXN0LmNvbXBvbmVudC5odG1sJ1xufSlcbmV4cG9ydCBjbGFzcyBQcnlSZXN0aXR1dGlvbkxpc3RDb21wb25lbnQgZXh0ZW5kcyBTdWJzY3JpcHRpb25uZXJEaXJlY3RpdmUge1xuICBASW5wdXQoKSBzaG93VGFicyA9IHRydWU7XG4gIEBJbnB1dCgpXG4gIGdldCBjdXN0b21Nb2RlbHMoKTogc3RyaW5nW10ge1xuICAgIHJldHVybiB0aGlzLl9jdXN0b21Nb2RlbHM7XG4gIH1cbiAgc2V0IGN1c3RvbU1vZGVscyhtb2RlbHM6IHN0cmluZ1tdKSB7XG4gICAgdGhpcy5fY3VzdG9tTW9kZWxzID0gWydkZXRhaWwnLCAnaWZyYW1lJywgLi4ubW9kZWxzXTtcbiAgfVxuICBwcml2YXRlIF9jdXN0b21Nb2RlbHMgPSBbJ2RldGFpbCcsICdpZnJhbWUnXTtcbiAgc2VhcmNoJCA9IG5ldyBCZWhhdmlvclN1YmplY3QoJycpO1xuICB0eXBlJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8dW5kZWZpbmVkIHwgc3RyaW5nPih1bmRlZmluZWQpO1xuICBmaWx0ZXJlZFdpZGdldHMkOiBPYnNlcnZhYmxlPENhdGFsb2dFbnRyeVtdPjtcbiAgbm9uQ3VzdG9tV2lkZ2V0cyQ6IE9ic2VydmFibGU8Q2F0YWxvZ0VudHJ5W10+O1xuICBjdXN0b21XaWRnZXRzJDogT2JzZXJ2YWJsZTxDYXRhbG9nRW50cnlbXT47XG4gIHR5cGVzJDogT2JzZXJ2YWJsZTx7IGljb246IHN0cmluZzsgbGFiZWw6IHN0cmluZzsgdHlwZTogc3RyaW5nIH1bXT47XG4gIHNlbGVjdGVkUmVzdGl0dXRpb246IFdpZGdldCB8IG51bGwgPSBudWxsO1xuICBtb2RlID0gVmlld01vZGU7XG4gIHNlbGVjdGVkTW9kZTogVmlld01vZGUgPSBWaWV3TW9kZS5DQVRBTE9HO1xuICBjYXRlZ29yaWVzID0gWydtb2RlbCcsICdub01vZGVsJ107XG4gIFByeVZpc2liaWxpdHlUeXBlID0gUHJ5VmlzaWJpbGl0eVR5cGU7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSB0b29sYm94TWVudVNlcnZpY2U6IFRvb2xib3hNZW51U2VydmljZSxcbiAgICBwcml2YXRlIHRyYW5zbGF0ZVNlcnZpY2U6IFByeUkxOG5TZXJ2aWNlLFxuICAgIHByaXZhdGUgdG9vbGJveE1hbmlmZXN0U2VydmljZTogVG9vbGJveE1hbmlmZXN0U2VydmljZSxcbiAgICBwcml2YXRlIHN0b3JlOiBTdG9yZVxuICApIHtcbiAgICBzdXBlcigpO1xuICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2goQ29uZmlnQWN0aW9ucy5sb2FkV2lkZ2V0cygpKTtcbiAgICB0aGlzLnR5cGVzJCA9IHRoaXMudG9vbGJveE1lbnVTZXJ2aWNlLnR5cGVzJDtcbiAgICB0aGlzLmZpbHRlcmVkV2lkZ2V0cyQgPSBjb21iaW5lTGF0ZXN0KFt0aGlzLnRvb2xib3hNZW51U2VydmljZS5tZW51TGlzdCQsIHRoaXMuc2VhcmNoJCwgdGhpcy50eXBlJF0pLnBpcGUoXG4gICAgICBtYXAoKFt3aWRnZXRzLCBzZWFyY2gsIHR5cGVdKSA9PlxuICAgICAgICB3aWRnZXRzLmZpbHRlcihcbiAgICAgICAgICAod2lkZ2V0KSA9PlxuICAgICAgICAgICAgKHNlYXJjaC5sZW5ndGggPT09IDAgfHxcbiAgICAgICAgICAgICAgdGhpcy50cmFuc2xhdGVTZXJ2aWNlLmluc3RhbnQod2lkZ2V0LmxhYmVsKS50b0xvY2FsZUxvd2VyQ2FzZSgpLmluY2x1ZGVzKHNlYXJjaC50b0xvY2FsZUxvd2VyQ2FzZSgpKSkgJiZcbiAgICAgICAgICAgICghdHlwZSB8fCB0aGlzLnRvb2xib3hNYW5pZmVzdFNlcnZpY2UuZ2V0KHdpZGdldC50eXBlKS50eXBlID09PSB0eXBlKVxuICAgICAgICApXG4gICAgICApXG4gICAgKTtcbiAgICB0aGlzLm5vbkN1c3RvbVdpZGdldHMkID0gdGhpcy5maWx0ZXJlZFdpZGdldHMkLnBpcGUoXG4gICAgICBtYXAoKHdpZGdldHMpID0+XG4gICAgICAgIHdpZGdldHMuZmlsdGVyKFxuICAgICAgICAgICh3aWRnZXQpID0+IHRoaXMudG9vbGJveE1hbmlmZXN0U2VydmljZS5pc01vZGVsKHdpZGdldC50eXBlKSB8fCB0aGlzLmN1c3RvbU1vZGVscy5pbmNsdWRlcyh3aWRnZXQudHlwZSlcbiAgICAgICAgKVxuICAgICAgKVxuICAgICk7XG4gICAgdGhpcy5jdXN0b21XaWRnZXRzJCA9IHRoaXMuZmlsdGVyZWRXaWRnZXRzJC5waXBlKFxuICAgICAgbWFwKCh3aWRnZXRzKSA9PlxuICAgICAgICB3aWRnZXRzLmZpbHRlcihcbiAgICAgICAgICAod2lkZ2V0KSA9PiAhdGhpcy50b29sYm94TWFuaWZlc3RTZXJ2aWNlLmlzTW9kZWwod2lkZ2V0LnR5cGUpICYmICF0aGlzLmN1c3RvbU1vZGVscy5pbmNsdWRlcyh3aWRnZXQudHlwZSlcbiAgICAgICAgKVxuICAgICAgKVxuICAgICk7XG4gIH1cblxuICBzZWxlY3RNb2RlKG5ld01vZGU6IFZpZXdNb2RlKSB7XG4gICAgdGhpcy5zZWxlY3RlZE1vZGUgPSBuZXdNb2RlO1xuICB9XG5cbiAgc2VsZWN0UmVzdGl0dXRpb24oJGV2ZW50OiBXaWRnZXQpIHtcbiAgICB0aGlzLnNlbGVjdGVkUmVzdGl0dXRpb24gPSAkZXZlbnQ7XG4gICAgdGhpcy5zZWxlY3RNb2RlKFZpZXdNb2RlLkNPTlNVTFQpO1xuICB9XG5cbiAgY2xvc2VSZXN0aXR1dGlvbigpIHtcbiAgICB0aGlzLnNlbGVjdGVkUmVzdGl0dXRpb24gPSBudWxsO1xuICAgIHRoaXMuc2VsZWN0TW9kZSh0aGlzLm1vZGUuQ0FUQUxPRyk7XG4gIH1cbn1cbiIsIjxwcnktcmVzdGl0dXRpb24tY3NzPjwvcHJ5LXJlc3RpdHV0aW9uLWNzcz5cbjxkaXYgY2xhc3M9XCJvLWNhdGFsb2dcIj5cbiAgPG5nLXRlbXBsYXRlIFtuZ0lmXT1cInNlbGVjdGVkTW9kZSA9PT0gbW9kZS5DQVRBTE9HXCI+XG4gICAgPGgyIGNsYXNzPVwiYS1oMlwiPnt7ICdAcHJ5LnJlc3RpdHV0aW9uLmNhdGFsb2cnIHwgaTE4biB9fTwvaDI+XG4gICAgPGRpdiBjbGFzcz1cIm8tY2F0YWxvZ19fZmlsdGVyc1wiPlxuICAgICAgPGRpdiBjbGFzcz1cIm8tY2F0YWxvZ19fZmlsdGVyc19fYnktbmFtZVwiPlxuICAgICAgICA8bGFiZWwgaWQ9XCJjYXRhbG9nLXNlYXJjaC1sYWJlbFwiIGZvcj1cImNhdGFsb2ctc2VhcmNoXCIgY2xhc3M9XCJhLWxhYmVsIHUtdmlzdWFsbHktaGlkZGVuXCI+XG4gICAgICAgICAgPHNwYW4+e3sgJ0BwcnkudG9vbGJveC5jYXRhbG9nLmZpbHRlci5uYW1lJyB8IGkxOG4gfX08L3NwYW4+XG4gICAgICAgIDwvbGFiZWw+XG4gICAgICAgIDxwcnktaWNvbiBpY29uU3ZnPVwic2VhcmNoXCIgW3dpZHRoXT1cIjE3XCIgW2hlaWdodF09XCIxN1wiPjwvcHJ5LWljb24+XG4gICAgICAgIDxpbnB1dFxuICAgICAgICAgIGlkPVwiY2F0YWxvZy1zZWFyY2hcIlxuICAgICAgICAgIHR5cGU9XCJ0ZXh0XCJcbiAgICAgICAgICBjbGFzcz1cImEtZm9ybS1maWVsZFwiXG4gICAgICAgICAgW3BsYWNlaG9sZGVyXT1cIidAcHJ5LmFjdGlvbi5zZWFyY2gnIHwgaTE4blwiXG4gICAgICAgICAgW25nTW9kZWxdPVwic2VhcmNoJCB8IGFzeW5jXCJcbiAgICAgICAgICAobmdNb2RlbENoYW5nZSk9XCJ0aGlzLnNlYXJjaCQubmV4dCgkZXZlbnQpXCJcbiAgICAgICAgLz5cbiAgICAgIDwvZGl2PlxuICAgICAgPGxhYmVsIGNsYXNzPVwiYS1sYWJlbFwiPnt7ICdAcHJ5LmFjdGlvbi5maWx0ZXJCeVR5cGUnIHwgaTE4biB9fTwvbGFiZWw+XG4gICAgICA8ZGl2IGNsYXNzPVwiby1jYXRhbG9nX19maWx0ZXJzX19ieS10eXBlXCI+XG4gICAgICAgIDx1bCBjbGFzcz1cIm8tY2F0YWxvZ19fZmlsdGVyc19fYnktdHlwZV9fbGlzdFwiPlxuICAgICAgICAgIDxsaSAqbmdGb3I9XCJsZXQgdHlwZU9wdCBvZiB0eXBlcyQgfCBhc3luY1wiPlxuICAgICAgICAgICAgPGlucHV0XG4gICAgICAgICAgICAgIHR5cGU9XCJyYWRpb1wiXG4gICAgICAgICAgICAgIGNsYXNzPVwiYS1mb3JtLWZpZWxkIHUtc3Itb25seVwiXG4gICAgICAgICAgICAgIG5hbWU9XCJjYXRhbG9nLWZpbHRlclwiXG4gICAgICAgICAgICAgIGlkPVwiY2F0YWxvZy1idXR0b24te3sgdHlwZU9wdC50eXBlIH19XCJcbiAgICAgICAgICAgICAgW2NoZWNrZWRdPVwidHlwZU9wdC50eXBlID09PSAodHlwZSQgfCBhc3luYylcIlxuICAgICAgICAgICAgICAoY2hhbmdlKT1cInR5cGUkLm5leHQodHlwZU9wdC50eXBlKVwiXG4gICAgICAgICAgICAvPlxuICAgICAgICAgICAgPGxhYmVsXG4gICAgICAgICAgICAgIGNsYXNzPVwiYS1sYWJlbFwiXG4gICAgICAgICAgICAgIGlkPVwiY2F0YWxvZy1idXR0b24tbGFiZWwte3sgdHlwZU9wdC50eXBlIH19XCJcbiAgICAgICAgICAgICAgZm9yPVwiY2F0YWxvZy1idXR0b24te3sgdHlwZU9wdC50eXBlIH19XCJcbiAgICAgICAgICAgICAgW3RpdGxlXT1cInR5cGVPcHQubGFiZWwgfCBpMThuIDogeyB3YXJuOiBmYWxzZSB9XCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ1LXNyLW9ubHlcIj57eyB0eXBlT3B0LmxhYmVsIHwgaTE4biA6IHsgd2FybjogZmFsc2UgfSB9fSA8L3NwYW4+XG4gICAgICAgICAgICAgIDxwcnktaWNvbiBbd2lkdGhdPVwiMThcIiBbaGVpZ2h0XT1cIjE4XCIgW2ljb25TdmddPVwidHlwZU9wdC5pY29uXCI+PC9wcnktaWNvbj5cbiAgICAgICAgICAgIDwvbGFiZWw+XG4gICAgICAgICAgPC9saT5cbiAgICAgICAgPC91bD5cbiAgICAgICAgPGJ1dHRvblxuICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgIGNsYXNzPVwiYS1idG4gYS1idG4tLWljb24tdGV4dCAtbGluay1saWtlXCJcbiAgICAgICAgICAoY2xpY2spPVwidHlwZSQubmV4dCh1bmRlZmluZWQpXCJcbiAgICAgICAgICBbZGlzYWJsZWRdPVwiIXR5cGUkLmdldFZhbHVlKClcIlxuICAgICAgICAgIFtjbGFzcy51LXZpc3VhbGx5LWhpZGRlbl09XCIhdHlwZSQuZ2V0VmFsdWUoKVwiXG4gICAgICAgID5cbiAgICAgICAgICA8cHJ5LWljb24gW3dpZHRoXT1cIjE1XCIgW2hlaWdodF09XCIxNVwiIGljb25Tdmc9XCJkZWxldGVcIj48L3ByeS1pY29uPlxuICAgICAgICAgIHt7ICdAcHJ5LnRvb2xib3guY2F0YWxvZy5maWx0ZXIuZGVsZXRlJyB8IGkxOG4gfX1cbiAgICAgICAgPC9idXR0b24+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwic2hvd1RhYnM7IGVsc2UgbGlzdFwiPlxuICAgICAgPGRpdiBjbGFzcz1cIm8tYWNjb3JkaW9uXCIgcm9sZT1cInRhYmxpc3RcIiBhcmlhLW11bHRpc2VsZWN0YWJsZT1cImZhbHNlXCI+XG4gICAgICAgIDxwcnktYWNjb3JkaW9uPlxuICAgICAgICAgIDxwcnktYWNjb3JkaW9uLWl0ZW1cbiAgICAgICAgICAgICpuZ0Zvcj1cImxldCBjYXRlZ29yeSBvZiBjYXRlZ29yaWVzOyBsZXQgaW5kZXggPSBpbmRleFwiXG4gICAgICAgICAgICBbaXRlbV09XCJjYXRlZ29yeVwiXG4gICAgICAgICAgICBbaW5kZXhdPVwiaW5kZXhcIlxuICAgICAgICAgICAgdHJhbnNsYXRpb25TdHJpbmdCYXNlPVwiQHByeS5yZXN0aXR1dGlvbi5jYXRhbG9nVGFicy5cIlxuICAgICAgICAgICAgW2xlbmd0aF09XCJcbiAgICAgICAgICAgICAgKGNhdGVnb3J5ID09PSAnbW9kZWwnID8gKG5vbkN1c3RvbVdpZGdldHMkIHwgYXN5bmMpPy5sZW5ndGggOiAoY3VzdG9tV2lkZ2V0cyQgfCBhc3luYyk/Lmxlbmd0aCkgPz8gMFxuICAgICAgICAgICAgXCJcbiAgICAgICAgICA+XG4gICAgICAgICAgICA8dWwgY2xhc3M9XCJvLWNhdGFsb2dfX2xpc3RcIiByb2xlPVwibGlzdFwiIGFyaWEtbGl2ZT1cInBvbGl0ZVwiPlxuICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiY2F0ZWdvcnkgPT09ICdtb2RlbCdcIj5cbiAgICAgICAgICAgICAgICA8cHJ5LWNhdGFsb2ctaXRlbVxuICAgICAgICAgICAgICAgICAgKm5nRm9yPVwibGV0IHdpZGdldCBvZiBub25DdXN0b21XaWRnZXRzJCB8IGFzeW5jXCJcbiAgICAgICAgICAgICAgICAgIFt3aWRnZXRdPVwid2lkZ2V0XCJcbiAgICAgICAgICAgICAgICAgIChzZWxlY3RSZXN0aXR1dGlvbik9XCJzZWxlY3RSZXN0aXR1dGlvbigkZXZlbnQpXCJcbiAgICAgICAgICAgICAgICA+PC9wcnktY2F0YWxvZy1pdGVtPlxuICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImNhdGVnb3J5ID09PSAnbm9Nb2RlbCdcIj5cbiAgICAgICAgICAgICAgICA8cHJ5LWNhdGFsb2ctaXRlbVxuICAgICAgICAgICAgICAgICAgKm5nRm9yPVwibGV0IHdpZGdldCBvZiBjdXN0b21XaWRnZXRzJCB8IGFzeW5jXCJcbiAgICAgICAgICAgICAgICAgIFt0cmFuc2xhdGVdPVwiZmFsc2VcIlxuICAgICAgICAgICAgICAgICAgW3dpZGdldF09XCJ3aWRnZXRcIlxuICAgICAgICAgICAgICAgICAgKHNlbGVjdFJlc3RpdHV0aW9uKT1cInNlbGVjdFJlc3RpdHV0aW9uKCRldmVudClcIlxuICAgICAgICAgICAgICAgID48L3ByeS1jYXRhbG9nLWl0ZW0+XG4gICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgPC91bD5cbiAgICAgICAgICA8L3ByeS1hY2NvcmRpb24taXRlbT5cbiAgICAgICAgPC9wcnktYWNjb3JkaW9uPlxuICAgICAgPC9kaXY+XG4gICAgPC9uZy1jb250YWluZXI+XG5cbiAgICA8bmctdGVtcGxhdGUgI2xpc3Q+XG4gICAgICA8dWwgY2xhc3M9XCJvLWNhdGFsb2dfX2xpc3RcIiByb2xlPVwibGlzdFwiIGFyaWEtbGl2ZT1cInBvbGl0ZVwiPlxuICAgICAgICA8cHJ5LWNhdGFsb2ctaXRlbVxuICAgICAgICAgICpuZ0Zvcj1cImxldCB3aWRnZXQgb2YgZmlsdGVyZWRXaWRnZXRzJCB8IGFzeW5jXCJcbiAgICAgICAgICBbd2lkZ2V0XT1cIndpZGdldFwiXG4gICAgICAgICAgKHNlbGVjdFJlc3RpdHV0aW9uKT1cInNlbGVjdFJlc3RpdHV0aW9uKCRldmVudClcIlxuICAgICAgICA+PC9wcnktY2F0YWxvZy1pdGVtPlxuICAgICAgPC91bD5cbiAgICA8L25nLXRlbXBsYXRlPlxuICA8L25nLXRlbXBsYXRlPlxuXG4gIDxuZy10ZW1wbGF0ZSBbbmdJZl09XCJzZWxlY3RlZE1vZGUgPT09IG1vZGUuQ09OU1VMVFwiPlxuICAgIDxkaXYgY2xhc3M9XCJvLWNhdGFsb2dfX2NyZWF0ZVwiPlxuICAgICAgPGJ1dHRvbiBjbGFzcz1cImEtYnRuIGEtYnRuLS1zZWNvbmRhcnlcIiAoY2xpY2spPVwiY2xvc2VSZXN0aXR1dGlvbigpXCI+XG4gICAgICAgIHt7ICdAcHJ5LnJlc3RpdHV0aW9uLmNhbmNlbCcgfCBpMThuIH19XG4gICAgICA8L2J1dHRvbj5cbiAgICA8L2Rpdj5cblxuICAgIDxwcnktcmVzdGl0dXRpb25cbiAgICAgIFtzZWxlY3RlZFJlc3RpdHV0aW9uXT1cInNlbGVjdGVkUmVzdGl0dXRpb25cIlxuICAgICAgW2VkaXRdPVwiZmFsc2VcIlxuICAgICAgKHJlc3RpdHV0aW9uQ3JlYXRlZCk9XCJjbG9zZVJlc3RpdHV0aW9uKClcIlxuICAgID48L3ByeS1yZXN0aXR1dGlvbj5cbiAgPC9uZy10ZW1wbGF0ZT5cblxuICA8bmctdGVtcGxhdGUgW25nSWZdPVwic2VsZWN0ZWRNb2RlID09PSBtb2RlLkNSRUFUSU9OXCI+XG4gICAgPGRpdiBjbGFzcz1cIm8tY2F0YWxvZ19fY3JlYXRlXCI+XG4gICAgICA8YnV0dG9uIGNsYXNzPVwiYS1idG4gYS1idG4tLWdob3N0XCIgKGNsaWNrKT1cInNlbGVjdE1vZGUobW9kZS5DQVRBTE9HKVwiPlxuICAgICAgICB7eyAnQHByeS5yZXN0aXR1dGlvbi5jYW5jZWwnIHwgaTE4biB9fVxuICAgICAgPC9idXR0b24+XG4gICAgPC9kaXY+XG5cbiAgICA8cHJ5LXJlc3RpdHV0aW9uIChyZXN0aXR1dGlvbkNyZWF0ZWQpPVwiY2xvc2VSZXN0aXR1dGlvbigpXCI+PC9wcnktcmVzdGl0dXRpb24+XG4gIDwvbmctdGVtcGxhdGU+XG48L2Rpdj5cbiJdfQ==
64
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVzdGl0dXRpb24tbGlzdC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9wcm92b2x5L2Rhc2hib2FyZC9yZXN0aXR1dGlvbi9jb21wb25lbnRzL3Jlc3RpdHV0aW9uLWxpc3QvcmVzdGl0dXRpb24tbGlzdC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9wcm92b2x5L2Rhc2hib2FyZC9yZXN0aXR1dGlvbi9jb21wb25lbnRzL3Jlc3RpdHV0aW9uLWxpc3QvcmVzdGl0dXRpb24tbGlzdC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUVqRCxPQUFPLEVBRUwsYUFBYSxFQUViLGlCQUFpQixFQUNqQix3QkFBd0IsRUFHeEIsUUFBUSxFQUVULE1BQU0sb0JBQW9CLENBQUM7QUFDNUIsT0FBTyxFQUFFLGVBQWUsRUFBRSxhQUFhLEVBQUUsR0FBRyxFQUFjLE1BQU0sTUFBTSxDQUFDOzs7Ozs7Ozs7QUFNdkUsTUFBTSxPQUFPLDJCQUE0QixTQUFRLHdCQUF3QjtJQUV2RSxJQUNJLFlBQVk7UUFDZCxPQUFPLElBQUksQ0FBQyxhQUFhLENBQUM7SUFDNUIsQ0FBQztJQUNELElBQUksWUFBWSxDQUFDLE1BQWdCO1FBQy9CLElBQUksQ0FBQyxhQUFhLEdBQUcsQ0FBQyxRQUFRLEVBQUUsUUFBUSxFQUFFLEdBQUcsTUFBTSxDQUFDLENBQUM7SUFDdkQsQ0FBQztJQWNELFlBQ1Usa0JBQXNDLEVBQ3RDLGdCQUFnQyxFQUNoQyxzQkFBOEMsRUFDOUMsS0FBWTtRQUVwQixLQUFLLEVBQUUsQ0FBQztRQUxBLHVCQUFrQixHQUFsQixrQkFBa0IsQ0FBb0I7UUFDdEMscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFnQjtRQUNoQywyQkFBc0IsR0FBdEIs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QUcsSUFBSSxDQUFDO1FBQ2hDLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUNyQyxDQUFDOytHQXJFVSwyQkFBMkI7bUdBQTNCLDJCQUEyQiwwSUNuQnhDLG04SkEySEE7OzRGRHhHYSwyQkFBMkI7a0JBSnZDLFNBQVM7K0JBQ0UsYUFBYTsrTEFJZCxRQUFRO3NCQUFoQixLQUFLO2dCQUVGLFlBQVk7c0JBRGYsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFN0b3JlIH0gZnJvbSAnQG5ncngvc3RvcmUnO1xuaW1wb3J0IHtcbiAgQ2F0YWxvZ0VudHJ5LFxuICBDb25maWdBY3Rpb25zLFxuICBQcnlJMThuU2VydmljZSxcbiAgUHJ5VmlzaWJpbGl0eVR5cGUsXG4gIFN1YnNjcmlwdGlvbm5lckRpcmVjdGl2ZSxcbiAgVG9vbGJveE1hbmlmZXN0U2VydmljZSxcbiAgVG9vbGJveE1lbnVTZXJ2aWNlLFxuICBWaWV3TW9kZSxcbiAgV2lkZ2V0XG59IGZyb20gJ0Bwcm92b2x5L2Rhc2hib2FyZCc7XG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIGNvbWJpbmVMYXRlc3QsIG1hcCwgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdwcnktY2F0YWxvZycsXG4gIHRlbXBsYXRlVXJsOiAnLi9yZXN0aXR1dGlvbi1saXN0LmNvbXBvbmVudC5odG1sJ1xufSlcbmV4cG9ydCBjbGFzcyBQcnlSZXN0aXR1dGlvbkxpc3RDb21wb25lbnQgZXh0ZW5kcyBTdWJzY3JpcHRpb25uZXJEaXJlY3RpdmUge1xuICBASW5wdXQoKSBzaG93VGFicyA9IHRydWU7XG4gIEBJbnB1dCgpXG4gIGdldCBjdXN0b21Nb2RlbHMoKTogc3RyaW5nW10ge1xuICAgIHJldHVybiB0aGlzLl9jdXN0b21Nb2RlbHM7XG4gIH1cbiAgc2V0IGN1c3RvbU1vZGVscyhtb2RlbHM6IHN0cmluZ1tdKSB7XG4gICAgdGhpcy5fY3VzdG9tTW9kZWxzID0gWydkZXRhaWwnLCAnaWZyYW1lJywgLi4ubW9kZWxzXTtcbiAgfVxuICBwcml2YXRlIF9jdXN0b21Nb2RlbHMgPSBbJ2RldGFpbCcsICdpZnJhbWUnXTtcbiAgc2VhcmNoJCA9IG5ldyBCZWhhdmlvclN1YmplY3QoJycpO1xuICB0eXBlJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8dW5kZWZpbmVkIHwgc3RyaW5nPih1bmRlZmluZWQpO1xuICBmaWx0ZXJlZFdpZGdldHMkOiBPYnNlcnZhYmxlPENhdGFsb2dFbnRyeVtdPjtcbiAgbm9uQ3VzdG9tV2lkZ2V0cyQ6IE9ic2VydmFibGU8Q2F0YWxvZ0VudHJ5W10+O1xuICBjdXN0b21XaWRnZXRzJDogT2JzZXJ2YWJsZTxDYXRhbG9nRW50cnlbXT47XG4gIHR5cGVzJDogT2JzZXJ2YWJsZTx7IGljb246IHN0cmluZzsgbGFiZWw6IHN0cmluZzsgdHlwZTogc3RyaW5nIH1bXT47XG4gIHNlbGVjdGVkUmVzdGl0dXRpb246IFdpZGdldCB8IG51bGwgPSBudWxsO1xuICBtb2RlID0gVmlld01vZGU7XG4gIHNlbGVjdGVkTW9kZTogVmlld01vZGUgPSBWaWV3TW9kZS5DQVRBTE9HO1xuICBjYXRlZ29yaWVzID0gWydtb2RlbCcsICdub01vZGVsJ107XG4gIFByeVZpc2liaWxpdHlUeXBlID0gUHJ5VmlzaWJpbGl0eVR5cGU7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSB0b29sYm94TWVudVNlcnZpY2U6IFRvb2xib3hNZW51U2VydmljZSxcbiAgICBwcml2YXRlIHRyYW5zbGF0ZVNlcnZpY2U6IFByeUkxOG5TZXJ2aWNlLFxuICAgIHByaXZhdGUgdG9vbGJveE1hbmlmZXN0U2VydmljZTogVG9vbGJveE1hbmlmZXN0U2VydmljZSxcbiAgICBwcml2YXRlIHN0b3JlOiBTdG9yZVxuICApIHtcbiAgICBzdXBlcigpO1xuICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2goQ29uZmlnQWN0aW9ucy5sb2FkV2lkZ2V0cygpKTtcbiAgICB0aGlzLnR5cGVzJCA9IHRoaXMudG9vbGJveE1lbnVTZXJ2aWNlLnR5cGVzJDtcbiAgICB0aGlzLmZpbHRlcmVkV2lkZ2V0cyQgPSBjb21iaW5lTGF0ZXN0KFt0aGlzLnRvb2xib3hNZW51U2VydmljZS5tZW51TGlzdCQsIHRoaXMuc2VhcmNoJCwgdGhpcy50eXBlJF0pLnBpcGUoXG4gICAgICBtYXAoKFt3aWRnZXRzLCBzZWFyY2gsIHR5cGVdKSA9PlxuICAgICAgICB3aWRnZXRzLmZpbHRlcihcbiAgICAgICAgICAod2lkZ2V0KSA9PlxuICAgICAgICAgICAgKHNlYXJjaC5sZW5ndGggPT09IDAgfHxcbiAgICAgICAgICAgICAgdGhpcy50cmFuc2xhdGVTZXJ2aWNlLmluc3RhbnQod2lkZ2V0LmxhYmVsKS50b0xvY2FsZUxvd2VyQ2FzZSgpLmluY2x1ZGVzKHNlYXJjaC50b0xvY2FsZUxvd2VyQ2FzZSgpKSkgJiZcbiAgICAgICAgICAgICghdHlwZSB8fCB0aGlzLnRvb2xib3hNYW5pZmVzdFNlcnZpY2UuZ2V0KHdpZGdldC50eXBlKS50eXBlID09PSB0eXBlKVxuICAgICAgICApXG4gICAgICApXG4gICAgKTtcbiAgICB0aGlzLm5vbkN1c3RvbVdpZGdldHMkID0gdGhpcy5maWx0ZXJlZFdpZGdldHMkLnBpcGUoXG4gICAgICBtYXAoKHdpZGdldHMpID0+XG4gICAgICAgIHdpZGdldHMuZmlsdGVyKFxuICAgICAgICAgICh3aWRnZXQpID0+IHRoaXMudG9vbGJveE1hbmlmZXN0U2VydmljZS5pc01vZGVsKHdpZGdldC50eXBlKSB8fCB0aGlzLmN1c3RvbU1vZGVscy5pbmNsdWRlcyh3aWRnZXQudHlwZSlcbiAgICAgICAgKVxuICAgICAgKVxuICAgICk7XG4gICAgdGhpcy5jdXN0b21XaWRnZXRzJCA9IHRoaXMuZmlsdGVyZWRXaWRnZXRzJC5waXBlKFxuICAgICAgbWFwKCh3aWRnZXRzKSA9PlxuICAgICAgICB3aWRnZXRzLmZpbHRlcihcbiAgICAgICAgICAod2lkZ2V0KSA9PiAhdGhpcy50b29sYm94TWFuaWZlc3RTZXJ2aWNlLmlzTW9kZWwod2lkZ2V0LnR5cGUpICYmICF0aGlzLmN1c3RvbU1vZGVscy5pbmNsdWRlcyh3aWRnZXQudHlwZSlcbiAgICAgICAgKVxuICAgICAgKVxuICAgICk7XG4gIH1cblxuICBzZWxlY3RNb2RlKG5ld01vZGU6IFZpZXdNb2RlKSB7XG4gICAgdGhpcy5zZWxlY3RlZE1vZGUgPSBuZXdNb2RlO1xuICB9XG5cbiAgc2VsZWN0UmVzdGl0dXRpb24oJGV2ZW50OiBXaWRnZXQpIHtcbiAgICB0aGlzLnNlbGVjdGVkUmVzdGl0dXRpb24gPSAkZXZlbnQ7XG4gICAgdGhpcy5zZWxlY3RNb2RlKFZpZXdNb2RlLkNPTlNVTFQpO1xuICB9XG5cbiAgY2xvc2VSZXN0aXR1dGlvbigpIHtcbiAgICB0aGlzLnNlbGVjdGVkUmVzdGl0dXRpb24gPSBudWxsO1xuICAgIHRoaXMuc2VsZWN0TW9kZSh0aGlzLm1vZGUuQ0FUQUxPRyk7XG4gIH1cbn1cbiIsIjxwcnktcmVzdGl0dXRpb24tY3NzPjwvcHJ5LXJlc3RpdHV0aW9uLWNzcz5cbjxkaXYgY2xhc3M9XCJvLWNhdGFsb2dcIj5cbiAgPG5nLXRlbXBsYXRlIFtuZ0lmXT1cInNlbGVjdGVkTW9kZSA9PT0gbW9kZS5DQVRBTE9HXCI+XG4gICAgPGgyIGNsYXNzPVwiYS1oMlwiPnt7ICdAcHJ5LnJlc3RpdHV0aW9uLmNhdGFsb2cnIHwgaTE4biB9fTwvaDI+XG4gICAgPGRpdiBjbGFzcz1cIm8tY2F0YWxvZ19fZmlsdGVyc1wiPlxuICAgICAgPGRpdiBjbGFzcz1cIm8tY2F0YWxvZ19fZmlsdGVyc19fYnktbmFtZVwiPlxuICAgICAgICA8bGFiZWwgaWQ9XCJjYXRhbG9nLXNlYXJjaC1sYWJlbFwiIGZvcj1cImNhdGFsb2ctc2VhcmNoXCIgY2xhc3M9XCJhLWxhYmVsIHUtdmlzdWFsbHktaGlkZGVuXCI+XG4gICAgICAgICAgPHNwYW4+e3sgJ0BwcnkudG9vbGJveC5jYXRhbG9nLmZpbHRlci5uYW1lJyB8IGkxOG4gfX08L3NwYW4+XG4gICAgICAgIDwvbGFiZWw+XG4gICAgICAgIDxwcnktaWNvbiBjbGFzcz1cInNlYXJjaC1pY29uXCIgaWNvblN2Zz1cInNlYXJjaFwiIFt3aWR0aF09XCIxN1wiIFtoZWlnaHRdPVwiMTdcIj48L3ByeS1pY29uPlxuICAgICAgICA8aW5wdXRcbiAgICAgICAgICBpZD1cImNhdGFsb2ctc2VhcmNoXCJcbiAgICAgICAgICB0eXBlPVwidGV4dFwiXG4gICAgICAgICAgY2xhc3M9XCJhLWZvcm0tZmllbGRcIlxuICAgICAgICAgIFtwbGFjZWhvbGRlcl09XCInQHByeS5hY3Rpb24uc2VhcmNoJyB8IGkxOG5cIlxuICAgICAgICAgIFtuZ01vZGVsXT1cInNlYXJjaCQgfCBhc3luY1wiXG4gICAgICAgICAgKG5nTW9kZWxDaGFuZ2UpPVwidGhpcy5zZWFyY2gkLm5leHQoJGV2ZW50KVwiXG4gICAgICAgIC8+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxsYWJlbCBjbGFzcz1cImEtbGFiZWxcIj57eyAnQHByeS5hY3Rpb24uZmlsdGVyQnlUeXBlJyB8IGkxOG4gfX08L2xhYmVsPlxuICAgICAgPGRpdiBjbGFzcz1cIm8tY2F0YWxvZ19fZmlsdGVyc19fYnktdHlwZVwiPlxuICAgICAgICA8dWwgY2xhc3M9XCJvLWNhdGFsb2dfX2ZpbHRlcnNfX2J5LXR5cGVfX2xpc3RcIj5cbiAgICAgICAgICA8bGkgKm5nRm9yPVwibGV0IHR5cGVPcHQgb2YgdHlwZXMkIHwgYXN5bmNcIj5cbiAgICAgICAgICAgIDxpbnB1dFxuICAgICAgICAgICAgICB0eXBlPVwicmFkaW9cIlxuICAgICAgICAgICAgICBjbGFzcz1cImEtZm9ybS1maWVsZCB1LXNyLW9ubHlcIlxuICAgICAgICAgICAgICBuYW1lPVwiY2F0YWxvZy1maWx0ZXJcIlxuICAgICAgICAgICAgICBpZD1cImNhdGFsb2ctYnV0dG9uLXt7IHR5cGVPcHQudHlwZSB9fVwiXG4gICAgICAgICAgICAgIFtjaGVja2VkXT1cInR5cGVPcHQudHlwZSA9PT0gKHR5cGUkIHwgYXN5bmMpXCJcbiAgICAgICAgICAgICAgKGNoYW5nZSk9XCJ0eXBlJC5uZXh0KHR5cGVPcHQudHlwZSlcIlxuICAgICAgICAgICAgLz5cbiAgICAgICAgICAgIDxsYWJlbFxuICAgICAgICAgICAgICBjbGFzcz1cImEtbGFiZWxcIlxuICAgICAgICAgICAgICBpZD1cImNhdGFsb2ctYnV0dG9uLWxhYmVsLXt7IHR5cGVPcHQudHlwZSB9fVwiXG4gICAgICAgICAgICAgIGZvcj1cImNhdGFsb2ctYnV0dG9uLXt7IHR5cGVPcHQudHlwZSB9fVwiXG4gICAgICAgICAgICAgIFt0aXRsZV09XCJ0eXBlT3B0LmxhYmVsIHwgaTE4biA6IHsgd2FybjogZmFsc2UgfVwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwidS1zci1vbmx5XCI+e3sgdHlwZU9wdC5sYWJlbCB8IGkxOG4gOiB7IHdhcm46IGZhbHNlIH0gfX0gPC9zcGFuPlxuICAgICAgICAgICAgICA8cHJ5LWljb24gW3dpZHRoXT1cIjE4XCIgW2hlaWdodF09XCIxOFwiIFtpY29uU3ZnXT1cInR5cGVPcHQuaWNvblwiPjwvcHJ5LWljb24+XG4gICAgICAgICAgICA8L2xhYmVsPlxuICAgICAgICAgIDwvbGk+XG4gICAgICAgIDwvdWw+XG4gICAgICAgIDxidXR0b25cbiAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICBjbGFzcz1cImEtYnRuIGEtYnRuLS1pY29uLXRleHQgLWxpbmstbGlrZVwiXG4gICAgICAgICAgKGNsaWNrKT1cInR5cGUkLm5leHQodW5kZWZpbmVkKVwiXG4gICAgICAgICAgW2Rpc2FibGVkXT1cIiF0eXBlJC5nZXRWYWx1ZSgpXCJcbiAgICAgICAgICBbY2xhc3MudS12aXN1YWxseS1oaWRkZW5dPVwiIXR5cGUkLmdldFZhbHVlKClcIlxuICAgICAgICA+XG4gICAgICAgICAgPHByeS1pY29uIFt3aWR0aF09XCIxNVwiIFtoZWlnaHRdPVwiMTVcIiBpY29uU3ZnPVwiZGVsZXRlXCI+PC9wcnktaWNvbj5cbiAgICAgICAgICB7eyAnQHByeS50b29sYm94LmNhdGFsb2cuZmlsdGVyLmRlbGV0ZScgfCBpMThuIH19XG4gICAgICAgIDwvYnV0dG9uPlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInNob3dUYWJzOyBlbHNlIGxpc3RcIj5cbiAgICAgIDxkaXYgY2xhc3M9XCJvLWFjY29yZGlvblwiIHJvbGU9XCJ0YWJsaXN0XCIgYXJpYS1tdWx0aXNlbGVjdGFibGU9XCJmYWxzZVwiPlxuICAgICAgICA8cHJ5LWFjY29yZGlvbj5cbiAgICAgICAgICA8cHJ5LWFjY29yZGlvbi1pdGVtXG4gICAgICAgICAgICAqbmdGb3I9XCJsZXQgY2F0ZWdvcnkgb2YgY2F0ZWdvcmllczsgbGV0IGluZGV4ID0gaW5kZXhcIlxuICAgICAgICAgICAgW2l0ZW1dPVwiY2F0ZWdvcnlcIlxuICAgICAgICAgICAgW2luZGV4XT1cImluZGV4XCJcbiAgICAgICAgICAgIHRyYW5zbGF0aW9uU3RyaW5nQmFzZT1cIkBwcnkucmVzdGl0dXRpb24uY2F0YWxvZ1RhYnMuXCJcbiAgICAgICAgICAgIFtsZW5ndGhdPVwiXG4gICAgICAgICAgICAgIChjYXRlZ29yeSA9PT0gJ21vZGVsJyA/IChub25DdXN0b21XaWRnZXRzJCB8IGFzeW5jKT8ubGVuZ3RoIDogKGN1c3RvbVdpZGdldHMkIHwgYXN5bmMpPy5sZW5ndGgpID8/IDBcbiAgICAgICAgICAgIFwiXG4gICAgICAgICAgPlxuICAgICAgICAgICAgPHVsIGNsYXNzPVwiby1jYXRhbG9nX19saXN0XCIgcm9sZT1cImxpc3RcIiBhcmlhLWxpdmU9XCJwb2xpdGVcIj5cbiAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImNhdGVnb3J5ID09PSAnbW9kZWwnXCI+XG4gICAgICAgICAgICAgICAgPHByeS1jYXRhbG9nLWl0ZW1cbiAgICAgICAgICAgICAgICAgICpuZ0Zvcj1cImxldCB3aWRnZXQgb2Ygbm9uQ3VzdG9tV2lkZ2V0cyQgfCBhc3luY1wiXG4gICAgICAgICAgICAgICAgICBbd2lkZ2V0XT1cIndpZGdldFwiXG4gICAgICAgICAgICAgICAgICAoc2VsZWN0UmVzdGl0dXRpb24pPVwic2VsZWN0UmVzdGl0dXRpb24oJGV2ZW50KVwiXG4gICAgICAgICAgICAgICAgPjwvcHJ5LWNhdGFsb2ctaXRlbT5cbiAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJjYXRlZ29yeSA9PT0gJ25vTW9kZWwnXCI+XG4gICAgICAgICAgICAgICAgPHByeS1jYXRhbG9nLWl0ZW1cbiAgICAgICAgICAgICAgICAgICpuZ0Zvcj1cImxldCB3aWRnZXQgb2YgY3VzdG9tV2lkZ2V0cyQgfCBhc3luY1wiXG4gICAgICAgICAgICAgICAgICBbdHJhbnNsYXRlXT1cImZhbHNlXCJcbiAgICAgICAgICAgICAgICAgIFt3aWRnZXRdPVwid2lkZ2V0XCJcbiAgICAgICAgICAgICAgICAgIChzZWxlY3RSZXN0aXR1dGlvbik9XCJzZWxlY3RSZXN0aXR1dGlvbigkZXZlbnQpXCJcbiAgICAgICAgICAgICAgICA+PC9wcnktY2F0YWxvZy1pdGVtPlxuICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgIDwvdWw+XG4gICAgICAgICAgPC9wcnktYWNjb3JkaW9uLWl0ZW0+XG4gICAgICAgIDwvcHJ5LWFjY29yZGlvbj5cbiAgICAgIDwvZGl2PlxuICAgIDwvbmctY29udGFpbmVyPlxuXG4gICAgPG5nLXRlbXBsYXRlICNsaXN0PlxuICAgICAgPHVsIGNsYXNzPVwiby1jYXRhbG9nX19saXN0XCIgcm9sZT1cImxpc3RcIiBhcmlhLWxpdmU9XCJwb2xpdGVcIj5cbiAgICAgICAgPHByeS1jYXRhbG9nLWl0ZW1cbiAgICAgICAgICAqbmdGb3I9XCJsZXQgd2lkZ2V0IG9mIGZpbHRlcmVkV2lkZ2V0cyQgfCBhc3luY1wiXG4gICAgICAgICAgW3dpZGdldF09XCJ3aWRnZXRcIlxuICAgICAgICAgIChzZWxlY3RSZXN0aXR1dGlvbik9XCJzZWxlY3RSZXN0aXR1dGlvbigkZXZlbnQpXCJcbiAgICAgICAgPjwvcHJ5LWNhdGFsb2ctaXRlbT5cbiAgICAgIDwvdWw+XG4gICAgPC9uZy10ZW1wbGF0ZT5cbiAgPC9uZy10ZW1wbGF0ZT5cblxuICA8bmctdGVtcGxhdGUgW25nSWZdPVwic2VsZWN0ZWRNb2RlID09PSBtb2RlLkNPTlNVTFRcIj5cbiAgICA8ZGl2IGNsYXNzPVwiby1jYXRhbG9nX19jcmVhdGVcIj5cbiAgICAgIDxidXR0b24gY2xhc3M9XCJhLWJ0biBhLWJ0bi0tc2Vjb25kYXJ5XCIgKGNsaWNrKT1cImNsb3NlUmVzdGl0dXRpb24oKVwiPlxuICAgICAgICB7eyAnQHByeS5yZXN0aXR1dGlvbi5jYW5jZWwnIHwgaTE4biB9fVxuICAgICAgPC9idXR0b24+XG4gICAgPC9kaXY+XG5cbiAgICA8cHJ5LXJlc3RpdHV0aW9uXG4gICAgICBbc2VsZWN0ZWRSZXN0aXR1dGlvbl09XCJzZWxlY3RlZFJlc3RpdHV0aW9uXCJcbiAgICAgIFtlZGl0XT1cImZhbHNlXCJcbiAgICAgIChyZXN0aXR1dGlvbkNyZWF0ZWQpPVwiY2xvc2VSZXN0aXR1dGlvbigpXCJcbiAgICA+PC9wcnktcmVzdGl0dXRpb24+XG4gIDwvbmctdGVtcGxhdGU+XG5cbiAgPG5nLXRlbXBsYXRlIFtuZ0lmXT1cInNlbGVjdGVkTW9kZSA9PT0gbW9kZS5DUkVBVElPTlwiPlxuICAgIDxkaXYgY2xhc3M9XCJvLWNhdGFsb2dfX2NyZWF0ZVwiPlxuICAgICAgPGJ1dHRvbiBjbGFzcz1cImEtYnRuIGEtYnRuLS1zZWNvbmRhcnlcIiAoY2xpY2spPVwic2VsZWN0TW9kZShtb2RlLkNBVEFMT0cpXCI+XG4gICAgICAgIHt7ICdAcHJ5LnJlc3RpdHV0aW9uLmNhbmNlbCcgfCBpMThuIH19XG4gICAgICA8L2J1dHRvbj5cbiAgICA8L2Rpdj5cblxuICAgIDxwcnktcmVzdGl0dXRpb24gKHJlc3RpdHV0aW9uQ3JlYXRlZCk9XCJjbG9zZVJlc3RpdHV0aW9uKClcIj48L3ByeS1yZXN0aXR1dGlvbj5cbiAgPC9uZy10ZW1wbGF0ZT5cbjwvZGl2PlxuIl19
@@ -38,11 +38,11 @@ export class PryRestitutionListItemComponent extends SubscriptionnerDirective {
38
38
  this.store.dispatch(DashboardActions.addWidgetToPresentation({ widgetType: widget.type }));
39
39
  }
40
40
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PryRestitutionListItemComponent, deps: [{ token: i1.Store }, { token: i2.ToolboxManifestService }], target: i0.ɵɵFactoryTarget.Component }); }
41
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: PryRestitutionListItemComponent, selector: "pry-catalog-item", inputs: { widget: "widget", translate: "translate" }, outputs: { selectRestitution: "selectRestitution" }, usesInheritance: true, ngImport: i0, template: "<li\n class=\"o-catalog__list__item\"\n [class.is-point]=\"automaticGridMode$ | async\"\n [draggable]=\"!(automaticGridMode$ | async)\"\n role=\"listitem\"\n aria-grabbed=\"false\"\n aria-haspopup=\"true\"\n tabindex=\"-1\"\n [title]=\"widget.description ?? widget.label | i18n : { warn: false }\"\n (dragstart)=\"dragStart($event, widget.type)\"\n>\n <ng-container *ngIf=\"automaticGridMode$ | async\">\n <button\n type=\"button\"\n class=\"a-btn a-btn--icon-only\"\n (click)=\"viewInDashboard(widget)\"\n [title]=\"'@pry.restitution.add_icon' | i18n\"\n >\n <pry-icon [width]=\"25\" [height]=\"25\" iconSvg=\"add_column\" class=\"o-catalog__list__icon\"></pry-icon>\n <span class=\"u-visually-hidden\">{{ '@pry.restitution.add_icon' | i18n }}</span>\n </button>\n </ng-container>\n <img\n [alt]=\"widget.label | i18n : { warn: false }\"\n [src]=\"widget.icon | getSecuredImage : [600, 600] | async\"\n [height]=\"widget.cover ? 600 : 53\"\n [width]=\"widget.cover ? 600 : 53\"\n [class.is-full-width]=\"widget.cover\"\n />\n <p class=\"o-catalog__list__item__libelle\" *ngIf=\"widget.isCustom; else translate\">{{ widget.label }}</p>\n <ng-template #translate>\n <p class=\"o-catalog__list__item__libelle\">{{ widget.label | i18n : { warn: false } }}</p>\n </ng-template>\n <ng-container *ngIf=\"widget.visibility?.type === PryVisibilityType.PRIVATE\">\n <pry-icon\n iconSvg=\"private\"\n class=\"is-private a-tooltip\"\n [attr.data-tooltip]=\"'@pry.restitution.lock' | i18n\"\n [height]=\"17\"\n [width]=\"17\"\n ></pry-icon>\n </ng-container>\n <div class=\"o-catalog__list__item__action\" *ngIf=\"widget.isCustom\">\n <button type=\"button\" class=\"a-btn a-btn--ghost\" (click)=\"emitSelectedRestitution(widget)\">\n {{ '@pry.restitution.view' | i18n }}\n </button>\n </div>\n</li>\n", dependencies: [{ kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.PryIconComponent, selector: "pry-icon", inputs: ["color", "iconSvg", "animation", "iconImage", "alt", "width", "height", "classes"] }, { kind: "pipe", type: i3.AsyncPipe, name: "async" }, { kind: "pipe", type: i2.GetSecuredImagePipe, name: "getSecuredImage" }, { kind: "pipe", type: i2.I18nPipe, name: "i18n" }] }); }
41
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: PryRestitutionListItemComponent, selector: "pry-catalog-item", inputs: { widget: "widget", translate: "translate" }, outputs: { selectRestitution: "selectRestitution" }, usesInheritance: true, ngImport: i0, template: "<li\n class=\"o-catalog__list__item\"\n [class.is-point]=\"automaticGridMode$ | async\"\n [draggable]=\"!(automaticGridMode$ | async)\"\n role=\"listitem\"\n aria-grabbed=\"false\"\n aria-haspopup=\"true\"\n tabindex=\"-1\"\n [title]=\"widget.description ?? widget.label | i18n : { warn: false }\"\n (dragstart)=\"dragStart($event, widget.type)\"\n>\n <ng-container *ngIf=\"automaticGridMode$ | async\">\n <button\n type=\"button\"\n class=\"a-btn a-btn--icon-only\"\n (click)=\"viewInDashboard(widget)\"\n [title]=\"'@pry.restitution.add_icon' | i18n\"\n >\n <pry-icon [width]=\"25\" [height]=\"25\" iconSvg=\"add_column\" class=\"o-catalog__list__icon\"></pry-icon>\n <span class=\"u-visually-hidden\">{{ '@pry.restitution.add_icon' | i18n }}</span>\n </button>\n </ng-container>\n <img\n [alt]=\"widget.label | i18n : { warn: false }\"\n [src]=\"widget.icon | getSecuredImage : [600, 600] | async\"\n [height]=\"widget.cover ? 600 : 53\"\n [width]=\"widget.cover ? 600 : 53\"\n [class.is-full-width]=\"widget.cover\"\n />\n <p class=\"o-catalog__list__item__libelle\" *ngIf=\"widget.isCustom; else translate\">{{ widget.label }}</p>\n <ng-template #translate>\n <p class=\"o-catalog__list__item__libelle\">{{ widget.label | i18n : { warn: false } }}</p>\n </ng-template>\n <ng-container *ngIf=\"widget.visibility?.type === PryVisibilityType.PRIVATE\">\n <pry-icon\n iconSvg=\"private\"\n class=\"is-private a-tooltip\"\n [attr.data-tooltip]=\"'@pry.restitution.lock' | i18n\"\n [height]=\"17\"\n [width]=\"17\"\n ></pry-icon>\n </ng-container>\n <div class=\"o-catalog__list__item__action\" *ngIf=\"widget.isCustom\">\n <button type=\"button\" class=\"a-btn a-btn--secondary\" (click)=\"emitSelectedRestitution(widget)\">\n {{ '@pry.restitution.view' | i18n }}\n </button>\n </div>\n</li>\n", dependencies: [{ kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.PryIconComponent, selector: "pry-icon", inputs: ["color", "iconSvg", "animation", "iconImage", "alt", "width", "height", "classes"] }, { kind: "pipe", type: i3.AsyncPipe, name: "async" }, { kind: "pipe", type: i2.GetSecuredImagePipe, name: "getSecuredImage" }, { kind: "pipe", type: i2.I18nPipe, name: "i18n" }] }); }
42
42
  }
43
43
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PryRestitutionListItemComponent, decorators: [{
44
44
  type: Component,
45
- args: [{ selector: 'pry-catalog-item', template: "<li\n class=\"o-catalog__list__item\"\n [class.is-point]=\"automaticGridMode$ | async\"\n [draggable]=\"!(automaticGridMode$ | async)\"\n role=\"listitem\"\n aria-grabbed=\"false\"\n aria-haspopup=\"true\"\n tabindex=\"-1\"\n [title]=\"widget.description ?? widget.label | i18n : { warn: false }\"\n (dragstart)=\"dragStart($event, widget.type)\"\n>\n <ng-container *ngIf=\"automaticGridMode$ | async\">\n <button\n type=\"button\"\n class=\"a-btn a-btn--icon-only\"\n (click)=\"viewInDashboard(widget)\"\n [title]=\"'@pry.restitution.add_icon' | i18n\"\n >\n <pry-icon [width]=\"25\" [height]=\"25\" iconSvg=\"add_column\" class=\"o-catalog__list__icon\"></pry-icon>\n <span class=\"u-visually-hidden\">{{ '@pry.restitution.add_icon' | i18n }}</span>\n </button>\n </ng-container>\n <img\n [alt]=\"widget.label | i18n : { warn: false }\"\n [src]=\"widget.icon | getSecuredImage : [600, 600] | async\"\n [height]=\"widget.cover ? 600 : 53\"\n [width]=\"widget.cover ? 600 : 53\"\n [class.is-full-width]=\"widget.cover\"\n />\n <p class=\"o-catalog__list__item__libelle\" *ngIf=\"widget.isCustom; else translate\">{{ widget.label }}</p>\n <ng-template #translate>\n <p class=\"o-catalog__list__item__libelle\">{{ widget.label | i18n : { warn: false } }}</p>\n </ng-template>\n <ng-container *ngIf=\"widget.visibility?.type === PryVisibilityType.PRIVATE\">\n <pry-icon\n iconSvg=\"private\"\n class=\"is-private a-tooltip\"\n [attr.data-tooltip]=\"'@pry.restitution.lock' | i18n\"\n [height]=\"17\"\n [width]=\"17\"\n ></pry-icon>\n </ng-container>\n <div class=\"o-catalog__list__item__action\" *ngIf=\"widget.isCustom\">\n <button type=\"button\" class=\"a-btn a-btn--ghost\" (click)=\"emitSelectedRestitution(widget)\">\n {{ '@pry.restitution.view' | i18n }}\n </button>\n </div>\n</li>\n" }]
45
+ args: [{ selector: 'pry-catalog-item', template: "<li\n class=\"o-catalog__list__item\"\n [class.is-point]=\"automaticGridMode$ | async\"\n [draggable]=\"!(automaticGridMode$ | async)\"\n role=\"listitem\"\n aria-grabbed=\"false\"\n aria-haspopup=\"true\"\n tabindex=\"-1\"\n [title]=\"widget.description ?? widget.label | i18n : { warn: false }\"\n (dragstart)=\"dragStart($event, widget.type)\"\n>\n <ng-container *ngIf=\"automaticGridMode$ | async\">\n <button\n type=\"button\"\n class=\"a-btn a-btn--icon-only\"\n (click)=\"viewInDashboard(widget)\"\n [title]=\"'@pry.restitution.add_icon' | i18n\"\n >\n <pry-icon [width]=\"25\" [height]=\"25\" iconSvg=\"add_column\" class=\"o-catalog__list__icon\"></pry-icon>\n <span class=\"u-visually-hidden\">{{ '@pry.restitution.add_icon' | i18n }}</span>\n </button>\n </ng-container>\n <img\n [alt]=\"widget.label | i18n : { warn: false }\"\n [src]=\"widget.icon | getSecuredImage : [600, 600] | async\"\n [height]=\"widget.cover ? 600 : 53\"\n [width]=\"widget.cover ? 600 : 53\"\n [class.is-full-width]=\"widget.cover\"\n />\n <p class=\"o-catalog__list__item__libelle\" *ngIf=\"widget.isCustom; else translate\">{{ widget.label }}</p>\n <ng-template #translate>\n <p class=\"o-catalog__list__item__libelle\">{{ widget.label | i18n : { warn: false } }}</p>\n </ng-template>\n <ng-container *ngIf=\"widget.visibility?.type === PryVisibilityType.PRIVATE\">\n <pry-icon\n iconSvg=\"private\"\n class=\"is-private a-tooltip\"\n [attr.data-tooltip]=\"'@pry.restitution.lock' | i18n\"\n [height]=\"17\"\n [width]=\"17\"\n ></pry-icon>\n </ng-container>\n <div class=\"o-catalog__list__item__action\" *ngIf=\"widget.isCustom\">\n <button type=\"button\" class=\"a-btn a-btn--secondary\" (click)=\"emitSelectedRestitution(widget)\">\n {{ '@pry.restitution.view' | i18n }}\n </button>\n </div>\n</li>\n" }]
46
46
  }], ctorParameters: function () { return [{ type: i1.Store }, { type: i2.ToolboxManifestService }]; }, propDecorators: { widget: [{
47
47
  type: Input
48
48
  }], translate: [{
@@ -50,4 +50,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
50
50
  }], selectRestitution: [{
51
51
  type: Output
52
52
  }] } });
53
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVzdGl0dXRpb24tbGlzdC1pdGVtLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Byb3ZvbHkvZGFzaGJvYXJkL3Jlc3RpdHV0aW9uL2NvbXBvbmVudHMvcmVzdGl0dXRpb24tbGlzdC1pdGVtL3Jlc3RpdHV0aW9uLWxpc3QtaXRlbS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9wcm92b2x5L2Rhc2hib2FyZC9yZXN0aXR1dGlvbi9jb21wb25lbnRzL3Jlc3RpdHV0aW9uLWxpc3QtaXRlbS9yZXN0aXR1dGlvbi1saXN0LWl0ZW0uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUV2RSxPQUFPLEVBRUwsZUFBZSxFQUNmLGdCQUFnQixFQUNoQixtQkFBbUIsRUFDbkIsa0JBQWtCLEVBQ2xCLGlCQUFpQixFQUNqQix3QkFBd0IsRUFHekIsTUFBTSxvQkFBb0IsQ0FBQztBQUM1QixPQUFPLEVBQUUsR0FBRyxFQUFjLE1BQU0sTUFBTSxDQUFDOzs7OztBQU12QyxNQUFNLE9BQU8sK0JBQWdDLFNBQVEsd0JBQXdCO0lBUzNFLFlBQW9CLEtBQVksRUFBVSxzQkFBOEM7UUFDdEYsS0FBSyxFQUFFLENBQUM7UUFEVSxVQUFLLEdBQUwsS0FBSyxDQUFPO1FBQVUsMkJBQXNCLEdBQXRCLHNCQUFzQixDQUF3QjtRQVAvRSxjQUFTLEdBQVksSUFBSSxDQUFDO1FBQ3pCLHNCQUFpQixHQUFHLElBQUksWUFBWSxFQUFVLENBQUM7UUFHekQsc0JBQWlCLEdBQVksS0FBSyxDQUFDO1FBQ25DLHNCQUFpQixHQUFHLGlCQUFpQixDQUFDO1FBSXBDLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLGVBQWUsQ0FBQyxPQUFPLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxPQUFpQixFQUFFLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPLEdBQUcsT0FBTyxDQUFDLENBQUMsQ0FBQztRQUN0RyxJQUFJLENBQUMsa0JBQWtCLEdBQUcsSUFBSSxDQUFDLEtBQUs7YUFDakMsTUFBTSxDQUFDLGtCQUFrQixDQUFDLFVBQVUsQ0FBQzthQUNyQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQyxNQUFNLEtBQUssbUJBQW1CLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQztRQUNoRSxJQUFJLENBQUMsYUFBYSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsa0JBQWtCLENBQUMsU0FBUyxDQUFDLENBQUMsUUFBUSxFQUFFLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDL0csQ0FBQztJQUVELFNBQVMsQ0FBQyxNQUFpQixFQUFFLElBQVk7UUFDdkMsSUFBSSxDQUFDLElBQUksQ0FBQyxpQkFBaUIsRUFBRTtZQUMzQixJQUFJLENBQUMsc0JBQXNCLENBQUMsWUFBWSxDQUFDLE1BQU0sRUFBRSxJQUFJLENBQUMsQ0FBQztTQUN4RDtJQUNILENBQUM7SUFFRCx1QkFBdUIsQ0FBQyxZQUEwQjtRQUNoRCxJQUFJLFlBQVksQ0FBQyxRQUFRLEVBQUU7WUFDekIsSUFBSSxDQUFDLE9BQU8sRUFBRSxPQUFPLENBQUMsQ0FBQyxNQUFjLEVBQUUsRUFBRTtnQkFDdkMsSUFBSSxNQUFNLENBQUMsRUFBRSxLQUFLLFlBQVksQ0FBQyxJQUFJLEVBQUU7b0JBQ25DLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7aUJBQ3JDO1lBQ0gsQ0FBQyxDQUFDLENBQUM7U0FDSjtJQUNILENBQUM7SUFFRCxlQUFlLENBQUMsTUFBb0I7UUFDbEMsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsZ0JBQWdCLENBQUMsdUJBQXVCLENBQUMsRUFBRSxVQUFVLEVBQUUsTUFBTSxDQUFDLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQztJQUM3RixDQUFDOytHQXBDVSwrQkFBK0I7bUdBQS9CLCtCQUErQiwwTENuQjVDLHMzREFnREE7OzRGRDdCYSwrQkFBK0I7a0JBSjNDLFNBQVM7K0JBQ0Usa0JBQWtCO2lJQUluQixNQUFNO3NCQUFkLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSztnQkFDSSxpQkFBaUI7c0JBQTFCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgU3RvcmUgfSBmcm9tICdAbmdyeC9zdG9yZSc7XG5pbXBvcnQge1xuICBDYXRhbG9nRW50cnksXG4gIENvbmZpZ1NlbGVjdG9ycyxcbiAgRGFzaGJvYXJkQWN0aW9ucyxcbiAgRGFzaGJvYXJkR3JpZExheW91dCxcbiAgRGFzaGJvYXJkU2VsZWN0b3JzLFxuICBQcnlWaXNpYmlsaXR5VHlwZSxcbiAgU3Vic2NyaXB0aW9ubmVyRGlyZWN0aXZlLFxuICBUb29sYm94TWFuaWZlc3RTZXJ2aWNlLFxuICBXaWRnZXRcbn0gZnJvbSAnQHByb3ZvbHkvZGFzaGJvYXJkJztcbmltcG9ydCB7IG1hcCwgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdwcnktY2F0YWxvZy1pdGVtJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3Jlc3RpdHV0aW9uLWxpc3QtaXRlbS5jb21wb25lbnQuaHRtbCdcbn0pXG5leHBvcnQgY2xhc3MgUHJ5UmVzdGl0dXRpb25MaXN0SXRlbUNvbXBvbmVudCBleHRlbmRzIFN1YnNjcmlwdGlvbm5lckRpcmVjdGl2ZSB7XG4gIEBJbnB1dCgpIHdpZGdldCE6IENhdGFsb2dFbnRyeTtcbiAgQElucHV0KCkgdHJhbnNsYXRlOiBib29sZWFuID0gdHJ1ZTtcbiAgQE91dHB1dCgpIHNlbGVjdFJlc3RpdHV0aW9uID0gbmV3IEV2ZW50RW1pdHRlcjxXaWRnZXQ+KCk7XG4gIGNhdGFsb2c6IFdpZGdldFtdIHwgdW5kZWZpbmVkO1xuICBhdXRvbWF0aWNHcmlkTW9kZSQ6IE9ic2VydmFibGU8Ym9vbGVhbj47XG4gIGF1dG9tYXRpY0dyaWRNb2RlOiBib29sZWFuID0gZmFsc2U7XG4gIFByeVZpc2liaWxpdHlUeXBlID0gUHJ5VmlzaWJpbGl0eVR5cGU7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBzdG9yZTogU3RvcmUsIHByaXZhdGUgdG9vbGJveE1hbmlmZXN0U2VydmljZTogVG9vbGJveE1hbmlmZXN0U2VydmljZSkge1xuICAgIHN1cGVyKCk7XG4gICAgdGhpcy5zdG9yZS5zZWxlY3QoQ29uZmlnU2VsZWN0b3JzLmNhdGFsb2cpLnN1YnNjcmliZSgoY2F0YWxvZzogV2lkZ2V0W10pID0+ICh0aGlzLmNhdGFsb2cgPSBjYXRhbG9nKSk7XG4gICAgdGhpcy5hdXRvbWF0aWNHcmlkTW9kZSQgPSB0aGlzLnN0b3JlXG4gICAgICAuc2VsZWN0KERhc2hib2FyZFNlbGVjdG9ycy5ncmlkTGF5b3V0KVxuICAgICAgLnBpcGUobWFwKChsYXlvdXQpID0+IGxheW91dCAhPT0gRGFzaGJvYXJkR3JpZExheW91dC5NQU5VQUwpKTtcbiAgICB0aGlzLnN1YnNjcmlwdGlvbnMuYWRkKHRoaXMuYXV0b21hdGljR3JpZE1vZGUkLnN1YnNjcmliZSgobW9kZUF1dG8pID0+ICh0aGlzLmF1dG9tYXRpY0dyaWRNb2RlID0gbW9kZUF1dG8pKSk7XG4gIH1cblxuICBkcmFnU3RhcnQoJGV2ZW50OiBEcmFnRXZlbnQsIHR5cGU6IHN0cmluZykge1xuICAgIGlmICghdGhpcy5hdXRvbWF0aWNHcmlkTW9kZSkge1xuICAgICAgdGhpcy50b29sYm94TWFuaWZlc3RTZXJ2aWNlLmRhdGFUcmFuc2ZlcigkZXZlbnQsIHR5cGUpO1xuICAgIH1cbiAgfVxuXG4gIGVtaXRTZWxlY3RlZFJlc3RpdHV0aW9uKGNhdGFsb2dFbnRyeTogQ2F0YWxvZ0VudHJ5KSB7XG4gICAgaWYgKGNhdGFsb2dFbnRyeS5pc0N1c3RvbSkge1xuICAgICAgdGhpcy5jYXRhbG9nPy5mb3JFYWNoKCh3aWRnZXQ6IFdpZGdldCkgPT4ge1xuICAgICAgICBpZiAod2lkZ2V0LmlkID09PSBjYXRhbG9nRW50cnkudHlwZSkge1xuICAgICAgICAgIHRoaXMuc2VsZWN0UmVzdGl0dXRpb24uZW1pdCh3aWRnZXQpO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICB9XG4gIH1cblxuICB2aWV3SW5EYXNoYm9hcmQod2lkZ2V0OiBDYXRhbG9nRW50cnkpIHtcbiAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKERhc2hib2FyZEFjdGlvbnMuYWRkV2lkZ2V0VG9QcmVzZW50YXRpb24oeyB3aWRnZXRUeXBlOiB3aWRnZXQudHlwZSB9KSk7XG4gIH1cbn1cbiIsIjxsaVxuICBjbGFzcz1cIm8tY2F0YWxvZ19fbGlzdF9faXRlbVwiXG4gIFtjbGFzcy5pcy1wb2ludF09XCJhdXRvbWF0aWNHcmlkTW9kZSQgfCBhc3luY1wiXG4gIFtkcmFnZ2FibGVdPVwiIShhdXRvbWF0aWNHcmlkTW9kZSQgfCBhc3luYylcIlxuICByb2xlPVwibGlzdGl0ZW1cIlxuICBhcmlhLWdyYWJiZWQ9XCJmYWxzZVwiXG4gIGFyaWEtaGFzcG9wdXA9XCJ0cnVlXCJcbiAgdGFiaW5kZXg9XCItMVwiXG4gIFt0aXRsZV09XCJ3aWRnZXQuZGVzY3JpcHRpb24gPz8gd2lkZ2V0LmxhYmVsIHwgaTE4biA6IHsgd2FybjogZmFsc2UgfVwiXG4gIChkcmFnc3RhcnQpPVwiZHJhZ1N0YXJ0KCRldmVudCwgd2lkZ2V0LnR5cGUpXCJcbj5cbiAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImF1dG9tYXRpY0dyaWRNb2RlJCB8IGFzeW5jXCI+XG4gICAgPGJ1dHRvblxuICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICBjbGFzcz1cImEtYnRuIGEtYnRuLS1pY29uLW9ubHlcIlxuICAgICAgKGNsaWNrKT1cInZpZXdJbkRhc2hib2FyZCh3aWRnZXQpXCJcbiAgICAgIFt0aXRsZV09XCInQHByeS5yZXN0aXR1dGlvbi5hZGRfaWNvbicgfCBpMThuXCJcbiAgICA+XG4gICAgICA8cHJ5LWljb24gW3dpZHRoXT1cIjI1XCIgW2hlaWdodF09XCIyNVwiIGljb25Tdmc9XCJhZGRfY29sdW1uXCIgY2xhc3M9XCJvLWNhdGFsb2dfX2xpc3RfX2ljb25cIj48L3ByeS1pY29uPlxuICAgICAgPHNwYW4gY2xhc3M9XCJ1LXZpc3VhbGx5LWhpZGRlblwiPnt7ICdAcHJ5LnJlc3RpdHV0aW9uLmFkZF9pY29uJyB8IGkxOG4gfX08L3NwYW4+XG4gICAgPC9idXR0b24+XG4gIDwvbmctY29udGFpbmVyPlxuICA8aW1nXG4gICAgW2FsdF09XCJ3aWRnZXQubGFiZWwgfCBpMThuIDogeyB3YXJuOiBmYWxzZSB9XCJcbiAgICBbc3JjXT1cIndpZGdldC5pY29uIHwgZ2V0U2VjdXJlZEltYWdlIDogWzYwMCwgNjAwXSB8IGFzeW5jXCJcbiAgICBbaGVpZ2h0XT1cIndpZGdldC5jb3ZlciA/IDYwMCA6IDUzXCJcbiAgICBbd2lkdGhdPVwid2lkZ2V0LmNvdmVyID8gNjAwIDogNTNcIlxuICAgIFtjbGFzcy5pcy1mdWxsLXdpZHRoXT1cIndpZGdldC5jb3ZlclwiXG4gIC8+XG4gIDxwIGNsYXNzPVwiby1jYXRhbG9nX19saXN0X19pdGVtX19saWJlbGxlXCIgKm5nSWY9XCJ3aWRnZXQuaXNDdXN0b207IGVsc2UgdHJhbnNsYXRlXCI+e3sgd2lkZ2V0LmxhYmVsIH19PC9wPlxuICA8bmctdGVtcGxhdGUgI3RyYW5zbGF0ZT5cbiAgICA8cCBjbGFzcz1cIm8tY2F0YWxvZ19fbGlzdF9faXRlbV9fbGliZWxsZVwiPnt7IHdpZGdldC5sYWJlbCB8IGkxOG4gOiB7IHdhcm46IGZhbHNlIH0gfX08L3A+XG4gIDwvbmctdGVtcGxhdGU+XG4gIDxuZy1jb250YWluZXIgKm5nSWY9XCJ3aWRnZXQudmlzaWJpbGl0eT8udHlwZSA9PT0gUHJ5VmlzaWJpbGl0eVR5cGUuUFJJVkFURVwiPlxuICAgIDxwcnktaWNvblxuICAgICAgaWNvblN2Zz1cInByaXZhdGVcIlxuICAgICAgY2xhc3M9XCJpcy1wcml2YXRlIGEtdG9vbHRpcFwiXG4gICAgICBbYXR0ci5kYXRhLXRvb2x0aXBdPVwiJ0BwcnkucmVzdGl0dXRpb24ubG9jaycgfCBpMThuXCJcbiAgICAgIFtoZWlnaHRdPVwiMTdcIlxuICAgICAgW3dpZHRoXT1cIjE3XCJcbiAgICA+PC9wcnktaWNvbj5cbiAgPC9uZy1jb250YWluZXI+XG4gIDxkaXYgY2xhc3M9XCJvLWNhdGFsb2dfX2xpc3RfX2l0ZW1fX2FjdGlvblwiICpuZ0lmPVwid2lkZ2V0LmlzQ3VzdG9tXCI+XG4gICAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgY2xhc3M9XCJhLWJ0biBhLWJ0bi0tZ2hvc3RcIiAoY2xpY2spPVwiZW1pdFNlbGVjdGVkUmVzdGl0dXRpb24od2lkZ2V0KVwiPlxuICAgICAge3sgJ0BwcnkucmVzdGl0dXRpb24udmlldycgfCBpMThuIH19XG4gICAgPC9idXR0b24+XG4gIDwvZGl2PlxuPC9saT5cbiJdfQ==
53
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVzdGl0dXRpb24tbGlzdC1pdGVtLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Byb3ZvbHkvZGFzaGJvYXJkL3Jlc3RpdHV0aW9uL2NvbXBvbmVudHMvcmVzdGl0dXRpb24tbGlzdC1pdGVtL3Jlc3RpdHV0aW9uLWxpc3QtaXRlbS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9wcm92b2x5L2Rhc2hib2FyZC9yZXN0aXR1dGlvbi9jb21wb25lbnRzL3Jlc3RpdHV0aW9uLWxpc3QtaXRlbS9yZXN0aXR1dGlvbi1saXN0LWl0ZW0uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUV2RSxPQUFPLEVBRUwsZUFBZSxFQUNmLGdCQUFnQixFQUNoQixtQkFBbUIsRUFDbkIsa0JBQWtCLEVBQ2xCLGlCQUFpQixFQUNqQix3QkFBd0IsRUFHekIsTUFBTSxvQkFBb0IsQ0FBQztBQUM1QixPQUFPLEVBQUUsR0FBRyxFQUFjLE1BQU0sTUFBTSxDQUFDOzs7OztBQU12QyxNQUFNLE9BQU8sK0JBQWdDLFNBQVEsd0JBQXdCO0lBUzNFLFlBQW9CLEtBQVksRUFBVSxzQkFBOEM7UUFDdEYsS0FBSyxFQUFFLENBQUM7UUFEVSxVQUFLLEdBQUwsS0FBSyxDQUFPO1FBQVUsMkJBQXNCLEdBQXRCLHNCQUFzQixDQUF3QjtRQVAvRSxjQUFTLEdBQVksSUFBSSxDQUFDO1FBQ3pCLHNCQUFpQixHQUFHLElBQUksWUFBWSxFQUFVLENBQUM7UUFHekQsc0JBQWlCLEdBQVksS0FBSyxDQUFDO1FBQ25DLHNCQUFpQixHQUFHLGlCQUFpQixDQUFDO1FBSXBDLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLGVBQWUsQ0FBQyxPQUFPLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxPQUFpQixFQUFFLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPLEdBQUcsT0FBTyxDQUFDLENBQUMsQ0FBQztRQUN0RyxJQUFJLENBQUMsa0JBQWtCLEdBQUcsSUFBSSxDQUFDLEtBQUs7YUFDakMsTUFBTSxDQUFDLGtCQUFrQixDQUFDLFVBQVUsQ0FBQzthQUNyQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQyxNQUFNLEtBQUssbUJBQW1CLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQztRQUNoRSxJQUFJLENBQUMsYUFBYSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsa0JBQWtCLENBQUMsU0FBUyxDQUFDLENBQUMsUUFBUSxFQUFFLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDL0csQ0FBQztJQUVELFNBQVMsQ0FBQyxNQUFpQixFQUFFLElBQVk7UUFDdkMsSUFBSSxDQUFDLElBQUksQ0FBQyxpQkFBaUIsRUFBRTtZQUMzQixJQUFJLENBQUMsc0JBQXNCLENBQUMsWUFBWSxDQUFDLE1BQU0sRUFBRSxJQUFJLENBQUMsQ0FBQztTQUN4RDtJQUNILENBQUM7SUFFRCx1QkFBdUIsQ0FBQyxZQUEwQjtRQUNoRCxJQUFJLFlBQVksQ0FBQyxRQUFRLEVBQUU7WUFDekIsSUFBSSxDQUFDLE9BQU8sRUFBRSxPQUFPLENBQUMsQ0FBQyxNQUFjLEVBQUUsRUFBRTtnQkFDdkMsSUFBSSxNQUFNLENBQUMsRUFBRSxLQUFLLFlBQVksQ0FBQyxJQUFJLEVBQUU7b0JBQ25DLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7aUJBQ3JDO1lBQ0gsQ0FBQyxDQUFDLENBQUM7U0FDSjtJQUNILENBQUM7SUFFRCxlQUFlLENBQUMsTUFBb0I7UUFDbEMsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsZ0JBQWdCLENBQUMsdUJBQXVCLENBQUMsRUFBRSxVQUFVLEVBQUUsTUFBTSxDQUFDLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQztJQUM3RixDQUFDOytHQXBDVSwrQkFBK0I7bUdBQS9CLCtCQUErQiwwTENuQjVDLDAzREFnREE7OzRGRDdCYSwrQkFBK0I7a0JBSjNDLFNBQVM7K0JBQ0Usa0JBQWtCO2lJQUluQixNQUFNO3NCQUFkLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSztnQkFDSSxpQkFBaUI7c0JBQTFCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgU3RvcmUgfSBmcm9tICdAbmdyeC9zdG9yZSc7XG5pbXBvcnQge1xuICBDYXRhbG9nRW50cnksXG4gIENvbmZpZ1NlbGVjdG9ycyxcbiAgRGFzaGJvYXJkQWN0aW9ucyxcbiAgRGFzaGJvYXJkR3JpZExheW91dCxcbiAgRGFzaGJvYXJkU2VsZWN0b3JzLFxuICBQcnlWaXNpYmlsaXR5VHlwZSxcbiAgU3Vic2NyaXB0aW9ubmVyRGlyZWN0aXZlLFxuICBUb29sYm94TWFuaWZlc3RTZXJ2aWNlLFxuICBXaWRnZXRcbn0gZnJvbSAnQHByb3ZvbHkvZGFzaGJvYXJkJztcbmltcG9ydCB7IG1hcCwgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdwcnktY2F0YWxvZy1pdGVtJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3Jlc3RpdHV0aW9uLWxpc3QtaXRlbS5jb21wb25lbnQuaHRtbCdcbn0pXG5leHBvcnQgY2xhc3MgUHJ5UmVzdGl0dXRpb25MaXN0SXRlbUNvbXBvbmVudCBleHRlbmRzIFN1YnNjcmlwdGlvbm5lckRpcmVjdGl2ZSB7XG4gIEBJbnB1dCgpIHdpZGdldCE6IENhdGFsb2dFbnRyeTtcbiAgQElucHV0KCkgdHJhbnNsYXRlOiBib29sZWFuID0gdHJ1ZTtcbiAgQE91dHB1dCgpIHNlbGVjdFJlc3RpdHV0aW9uID0gbmV3IEV2ZW50RW1pdHRlcjxXaWRnZXQ+KCk7XG4gIGNhdGFsb2c6IFdpZGdldFtdIHwgdW5kZWZpbmVkO1xuICBhdXRvbWF0aWNHcmlkTW9kZSQ6IE9ic2VydmFibGU8Ym9vbGVhbj47XG4gIGF1dG9tYXRpY0dyaWRNb2RlOiBib29sZWFuID0gZmFsc2U7XG4gIFByeVZpc2liaWxpdHlUeXBlID0gUHJ5VmlzaWJpbGl0eVR5cGU7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBzdG9yZTogU3RvcmUsIHByaXZhdGUgdG9vbGJveE1hbmlmZXN0U2VydmljZTogVG9vbGJveE1hbmlmZXN0U2VydmljZSkge1xuICAgIHN1cGVyKCk7XG4gICAgdGhpcy5zdG9yZS5zZWxlY3QoQ29uZmlnU2VsZWN0b3JzLmNhdGFsb2cpLnN1YnNjcmliZSgoY2F0YWxvZzogV2lkZ2V0W10pID0+ICh0aGlzLmNhdGFsb2cgPSBjYXRhbG9nKSk7XG4gICAgdGhpcy5hdXRvbWF0aWNHcmlkTW9kZSQgPSB0aGlzLnN0b3JlXG4gICAgICAuc2VsZWN0KERhc2hib2FyZFNlbGVjdG9ycy5ncmlkTGF5b3V0KVxuICAgICAgLnBpcGUobWFwKChsYXlvdXQpID0+IGxheW91dCAhPT0gRGFzaGJvYXJkR3JpZExheW91dC5NQU5VQUwpKTtcbiAgICB0aGlzLnN1YnNjcmlwdGlvbnMuYWRkKHRoaXMuYXV0b21hdGljR3JpZE1vZGUkLnN1YnNjcmliZSgobW9kZUF1dG8pID0+ICh0aGlzLmF1dG9tYXRpY0dyaWRNb2RlID0gbW9kZUF1dG8pKSk7XG4gIH1cblxuICBkcmFnU3RhcnQoJGV2ZW50OiBEcmFnRXZlbnQsIHR5cGU6IHN0cmluZykge1xuICAgIGlmICghdGhpcy5hdXRvbWF0aWNHcmlkTW9kZSkge1xuICAgICAgdGhpcy50b29sYm94TWFuaWZlc3RTZXJ2aWNlLmRhdGFUcmFuc2ZlcigkZXZlbnQsIHR5cGUpO1xuICAgIH1cbiAgfVxuXG4gIGVtaXRTZWxlY3RlZFJlc3RpdHV0aW9uKGNhdGFsb2dFbnRyeTogQ2F0YWxvZ0VudHJ5KSB7XG4gICAgaWYgKGNhdGFsb2dFbnRyeS5pc0N1c3RvbSkge1xuICAgICAgdGhpcy5jYXRhbG9nPy5mb3JFYWNoKCh3aWRnZXQ6IFdpZGdldCkgPT4ge1xuICAgICAgICBpZiAod2lkZ2V0LmlkID09PSBjYXRhbG9nRW50cnkudHlwZSkge1xuICAgICAgICAgIHRoaXMuc2VsZWN0UmVzdGl0dXRpb24uZW1pdCh3aWRnZXQpO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICB9XG4gIH1cblxuICB2aWV3SW5EYXNoYm9hcmQod2lkZ2V0OiBDYXRhbG9nRW50cnkpIHtcbiAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKERhc2hib2FyZEFjdGlvbnMuYWRkV2lkZ2V0VG9QcmVzZW50YXRpb24oeyB3aWRnZXRUeXBlOiB3aWRnZXQudHlwZSB9KSk7XG4gIH1cbn1cbiIsIjxsaVxuICBjbGFzcz1cIm8tY2F0YWxvZ19fbGlzdF9faXRlbVwiXG4gIFtjbGFzcy5pcy1wb2ludF09XCJhdXRvbWF0aWNHcmlkTW9kZSQgfCBhc3luY1wiXG4gIFtkcmFnZ2FibGVdPVwiIShhdXRvbWF0aWNHcmlkTW9kZSQgfCBhc3luYylcIlxuICByb2xlPVwibGlzdGl0ZW1cIlxuICBhcmlhLWdyYWJiZWQ9XCJmYWxzZVwiXG4gIGFyaWEtaGFzcG9wdXA9XCJ0cnVlXCJcbiAgdGFiaW5kZXg9XCItMVwiXG4gIFt0aXRsZV09XCJ3aWRnZXQuZGVzY3JpcHRpb24gPz8gd2lkZ2V0LmxhYmVsIHwgaTE4biA6IHsgd2FybjogZmFsc2UgfVwiXG4gIChkcmFnc3RhcnQpPVwiZHJhZ1N0YXJ0KCRldmVudCwgd2lkZ2V0LnR5cGUpXCJcbj5cbiAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImF1dG9tYXRpY0dyaWRNb2RlJCB8IGFzeW5jXCI+XG4gICAgPGJ1dHRvblxuICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICBjbGFzcz1cImEtYnRuIGEtYnRuLS1pY29uLW9ubHlcIlxuICAgICAgKGNsaWNrKT1cInZpZXdJbkRhc2hib2FyZCh3aWRnZXQpXCJcbiAgICAgIFt0aXRsZV09XCInQHByeS5yZXN0aXR1dGlvbi5hZGRfaWNvbicgfCBpMThuXCJcbiAgICA+XG4gICAgICA8cHJ5LWljb24gW3dpZHRoXT1cIjI1XCIgW2hlaWdodF09XCIyNVwiIGljb25Tdmc9XCJhZGRfY29sdW1uXCIgY2xhc3M9XCJvLWNhdGFsb2dfX2xpc3RfX2ljb25cIj48L3ByeS1pY29uPlxuICAgICAgPHNwYW4gY2xhc3M9XCJ1LXZpc3VhbGx5LWhpZGRlblwiPnt7ICdAcHJ5LnJlc3RpdHV0aW9uLmFkZF9pY29uJyB8IGkxOG4gfX08L3NwYW4+XG4gICAgPC9idXR0b24+XG4gIDwvbmctY29udGFpbmVyPlxuICA8aW1nXG4gICAgW2FsdF09XCJ3aWRnZXQubGFiZWwgfCBpMThuIDogeyB3YXJuOiBmYWxzZSB9XCJcbiAgICBbc3JjXT1cIndpZGdldC5pY29uIHwgZ2V0U2VjdXJlZEltYWdlIDogWzYwMCwgNjAwXSB8IGFzeW5jXCJcbiAgICBbaGVpZ2h0XT1cIndpZGdldC5jb3ZlciA/IDYwMCA6IDUzXCJcbiAgICBbd2lkdGhdPVwid2lkZ2V0LmNvdmVyID8gNjAwIDogNTNcIlxuICAgIFtjbGFzcy5pcy1mdWxsLXdpZHRoXT1cIndpZGdldC5jb3ZlclwiXG4gIC8+XG4gIDxwIGNsYXNzPVwiby1jYXRhbG9nX19saXN0X19pdGVtX19saWJlbGxlXCIgKm5nSWY9XCJ3aWRnZXQuaXNDdXN0b207IGVsc2UgdHJhbnNsYXRlXCI+e3sgd2lkZ2V0LmxhYmVsIH19PC9wPlxuICA8bmctdGVtcGxhdGUgI3RyYW5zbGF0ZT5cbiAgICA8cCBjbGFzcz1cIm8tY2F0YWxvZ19fbGlzdF9faXRlbV9fbGliZWxsZVwiPnt7IHdpZGdldC5sYWJlbCB8IGkxOG4gOiB7IHdhcm46IGZhbHNlIH0gfX08L3A+XG4gIDwvbmctdGVtcGxhdGU+XG4gIDxuZy1jb250YWluZXIgKm5nSWY9XCJ3aWRnZXQudmlzaWJpbGl0eT8udHlwZSA9PT0gUHJ5VmlzaWJpbGl0eVR5cGUuUFJJVkFURVwiPlxuICAgIDxwcnktaWNvblxuICAgICAgaWNvblN2Zz1cInByaXZhdGVcIlxuICAgICAgY2xhc3M9XCJpcy1wcml2YXRlIGEtdG9vbHRpcFwiXG4gICAgICBbYXR0ci5kYXRhLXRvb2x0aXBdPVwiJ0BwcnkucmVzdGl0dXRpb24ubG9jaycgfCBpMThuXCJcbiAgICAgIFtoZWlnaHRdPVwiMTdcIlxuICAgICAgW3dpZHRoXT1cIjE3XCJcbiAgICA+PC9wcnktaWNvbj5cbiAgPC9uZy1jb250YWluZXI+XG4gIDxkaXYgY2xhc3M9XCJvLWNhdGFsb2dfX2xpc3RfX2l0ZW1fX2FjdGlvblwiICpuZ0lmPVwid2lkZ2V0LmlzQ3VzdG9tXCI+XG4gICAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgY2xhc3M9XCJhLWJ0biBhLWJ0bi0tc2Vjb25kYXJ5XCIgKGNsaWNrKT1cImVtaXRTZWxlY3RlZFJlc3RpdHV0aW9uKHdpZGdldClcIj5cbiAgICAgIHt7ICdAcHJ5LnJlc3RpdHV0aW9uLnZpZXcnIHwgaTE4biB9fVxuICAgIDwvYnV0dG9uPlxuICA8L2Rpdj5cbjwvbGk+XG4iXX0=
@@ -2,10 +2,10 @@ import { Component, ViewEncapsulation } from '@angular/core';
2
2
  import * as i0 from "@angular/core";
3
3
  export class PryCatalogCssComponent {
4
4
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PryCatalogCssComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
5
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: PryCatalogCssComponent, selector: "pry-restitution-css", ngImport: i0, template: '', isInline: true, styles: [".o-catalog__filters__by-type__list,.o-catalog__list{margin:0;padding:0}.o-catalog__filters__by-type__list li,.o-catalog__list li{list-style:none}.o-catalog{display:flex;flex-direction:column;overflow:scroll;width:28.125rem;height:100%;padding:.9375rem;border-right-width:.0625rem;border-right-style:solid}.o-catalog .a-h2{padding-top:.625rem}.o-catalog pry-restitution{flex:1}.o-catalog__filters{padding-top:.3125rem}.o-catalog__filters__by-name{position:relative;margin-bottom:1.25rem}.o-catalog__filters__by-name .a-icon{position:absolute;left:.6875rem;bottom:.5625rem;pointer-events:none}.o-catalog__filters__by-name .a-form-field{width:60%;padding-left:2.1875rem}.o-catalog__filters__by-type{display:flex;flex-wrap:wrap;column-gap:1.25rem}.o-catalog__filters__by-type__list{display:flex;gap:.3125rem}.o-catalog__filters__by-type__list li{width:2.1875rem;height:2.1875rem}.o-catalog__filters__by-type__list li .a-label{position:relative;display:flex;align-items:center;justify-content:center;width:100%;height:100%;margin:0;border-width:.0625rem;border-style:solid;border-radius:.3125rem}.o-catalog__filters__by-type .a-btn.a-btn--icon-text.-link-like{margin-top:5px;font-weight:300;font-size:.8125rem}.o-catalog__filters__by-type .a-btn.a-btn--icon-text.-link-like[disabled]{opacity:0}.o-catalog .is-point{cursor:default}.o-catalog__list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:.9375rem;justify-content:space-around;padding:1.875rem 0}.o-catalog__list__icon{cursor:pointer}.o-catalog__list pry-catalog-item{max-height:13.125rem}.o-catalog__list__item{position:relative;display:flex;flex-direction:column;justify-content:space-between;align-items:center;max-width:8.125rem;height:100%;text-align:center;cursor:move}.o-catalog__list__item .is-private{position:absolute;top:.3125rem;left:.3125rem}.o-catalog__list__item img{margin-top:.625rem}.o-catalog__list__item img.is-full-width{width:100%;height:30%;object-fit:cover}.o-catalog__list__item .a-btn--icon-only{margin-bottom:.6875rem;padding:.8125rem}.o-catalog__list__item__libelle{width:100%;margin-bottom:0;padding:.9375rem .625rem;word-wrap:break-word;-webkit-hyphens:auto;hyphens:auto}.o-catalog__list__item__action{width:100%;padding:.375rem .625rem;text-align:center}.o-catalog__list__item__action .a-btn--ghost{height:auto;padding:0 .3125rem}.o-catalog__create{align-self:center;width:-moz-fit-content;width:fit-content;margin-bottom:1rem}.o-catalog .o-accordion pry-accordion-item:first-child .o-accordion__title{border-top-style:solid;border-top-width:.0625rem;margin-top:.625rem}\n", ".o-restitution{display:flex;flex-direction:column;flex:1;max-height:100%}.o-restitution pry-stepper{display:flex;flex:1;max-height:100%}.o-restitution .widget-instanciator{position:relative;height:100%;margin-bottom:.9375rem}.o-restitution .m-btn-group.actions{margin-top:auto}\n", ".o-presentation{margin:0;padding:0}.o-presentation li{list-style:none}.o-manifest-layout__toolbox div:first-child{margin-left:auto}.o-manifest-layout__toolbox.-u-hidden{display:none}.o-manifest-layout__content{height:100%;overflow:auto}.o-manifest-layout__content .pointer{cursor:pointer}.pry-viewingpresentation{display:flex;overflow-y:scroll}.pry-viewingpresentation .o-manifest-layout__content,.pry-viewingpresentation .o-dashboard-widget{flex:100% 1 1}.o-presentation{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));grid-gap:1.875rem;padding:.25rem .25rem 1.25rem;overflow-y:visible}.o-presentation .a-h3{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.o-presentation__item{display:flex;flex-direction:column;align-items:stretch}.o-presentation__item:hover{cursor:pointer}.o-presentation__item:hover .o-presentation__item__footer pry-icon{visibility:visible;opacity:1}.o-presentation__item__image{cursor:pointer;overflow:hidden;height:6.875rem;display:flex;align-items:center;justify-content:center}.o-presentation__item__image img{width:100px}.o-presentation__item__image .is-full-width{width:100%;height:100%;object-fit:cover}.o-presentation__item__header{position:relative;display:flex;align-items:flex-start;justify-content:center;height:6.875rem}.o-presentation__item__header pry-icon.is-private{position:absolute;top:.625rem;left:.625rem}.o-presentation__item__header .a-tooltip{width:100%}.o-presentation__item__txt{flex-grow:1;padding:.625rem .9375rem;display:flex;flex-direction:column;justify-content:space-between}.o-presentation__item__txt .a-h3{font-size:.875rem}.o-presentation__item__txt .a-p{font-size:.8125rem}.o-presentation__item__txt .a-p.-date{margin-bottom:0}.o-presentation__item__title-container.a-tooltip[data-tooltip]:after{top:calc(100% - 15px)}.o-presentation__item__description-container{position:relative;width:100%;display:flex;align-content:center;min-height:1.25rem}.o-presentation__item__description-container.a-tooltip[data-tooltip]:after{width:100%}.o-presentation__item__description{width:100%;max-height:2.5rem}.o-presentation__item__footer{display:flex;align-content:center;justify-content:center;font-size:.875rem;line-height:1.125rem;padding:.1875rem 0;max-height:2.3125rem}.o-presentation__item__footer .a-btn{margin-left:1.25rem}.o-presentation__item__footer pry-icon{visibility:hidden;opacity:0;transition:visibility .1s linear,opacity .1s linear;margin-left:.1875rem}.o-presentation-consult{width:100%;padding:.9375rem}.more-button{position:absolute;top:.375rem;right:.625rem}.more-button .a-btn{padding:.125rem 0;border-radius:50%}.m-context-menu{position:absolute}.o-restitution-catalog .o-manifest-layout__toolbox{justify-content:space-between;align-items:center}.o-restitution-catalog .o-manifest-layout__content{display:flex;flex-direction:column}.o-restitution-catalog .o-manifest-layout__content .restitution{display:flex;flex:1;max-height:100%}.m-context-menu__list__item .a-btn{white-space:nowrap}\n"], encapsulation: i0.ViewEncapsulation.None }); }
5
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: PryCatalogCssComponent, selector: "pry-restitution-css", ngImport: i0, template: '', isInline: true, styles: [".o-catalog__filters__by-type__list,.o-catalog__list{margin:0;padding:0}.o-catalog__filters__by-type__list li,.o-catalog__list li{list-style:none}.o-catalog{display:flex;flex-direction:column;overflow:scroll;width:28.125rem;height:100%;padding:.9375rem;border-right-width:.0625rem;border-right-style:solid}.o-catalog .a-h2{padding-top:.625rem}.o-catalog pry-restitution{flex:1}.o-catalog__filters{padding-top:.3125rem}.o-catalog__filters__by-name{position:relative;margin-bottom:1.25rem}.o-catalog__filters__by-name .a-icon{position:absolute;left:.6875rem;bottom:.5625rem;pointer-events:none}.o-catalog__filters__by-name .a-form-field{width:60%;padding-left:2.1875rem}.o-catalog__filters__by-type{display:flex;flex-wrap:wrap;column-gap:1.25rem}.o-catalog__filters__by-type__list{display:flex;gap:.3125rem}.o-catalog__filters__by-type__list li{width:2.1875rem;height:2.1875rem}.o-catalog__filters__by-type__list li .a-label{position:relative;display:flex;align-items:center;justify-content:center;width:100%;height:100%;margin:0;border-width:.0625rem;border-style:solid;border-radius:.3125rem}.o-catalog__filters__by-type .a-btn.a-btn--icon-text.-link-like{margin-top:5px;font-weight:300;font-size:.8125rem}.o-catalog__filters__by-type .a-btn.a-btn--icon-text.-link-like[disabled]{opacity:0}.o-catalog .is-point{cursor:default}.o-catalog__list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:.9375rem;justify-content:space-around;padding:1.875rem 0}.o-catalog__list__icon{cursor:pointer}.o-catalog__list pry-catalog-item{max-height:13.125rem}.o-catalog__list__item{position:relative;display:flex;flex-direction:column;justify-content:space-between;align-items:center;max-width:8.125rem;height:100%;text-align:center;cursor:move}.o-catalog__list__item .is-private{position:absolute;top:.3125rem;left:.3125rem}.o-catalog__list__item img{margin-top:.625rem}.o-catalog__list__item img.is-full-width{width:100%;height:30%;object-fit:cover}.o-catalog__list__item .a-btn--icon-only{margin-bottom:.6875rem;padding:.8125rem}.o-catalog__list__item__libelle{width:100%;margin-bottom:0;padding:.9375rem .625rem;word-wrap:break-word;-webkit-hyphens:auto;hyphens:auto}.o-catalog__list__item__action{width:100%;padding:.375rem .625rem;text-align:center}.o-catalog__list__item__action .a-btn--secondary{height:auto;padding:0 .3125rem}.o-catalog__create{align-self:center;width:-moz-fit-content;width:fit-content;margin-bottom:1rem}.o-catalog .o-accordion pry-accordion-item:first-child .o-accordion__title{border-top-style:solid;border-top-width:.0625rem;margin-top:.625rem}\n", ".o-restitution{display:flex;flex-direction:column;flex:1;max-height:100%}.o-restitution pry-stepper{display:flex;flex:1;max-height:100%}.o-restitution .widget-instanciator{position:relative;height:100%;margin-bottom:.9375rem}.o-restitution .m-btn-group.actions{margin-top:auto}\n", ".o-presentation{margin:0;padding:0}.o-presentation li{list-style:none}.o-manifest-layout__toolbox div:first-child{margin-left:auto}.o-manifest-layout__toolbox.-u-hidden{display:none}.o-manifest-layout__content{height:100%;overflow:auto}.o-manifest-layout__content .pointer{cursor:pointer}.pry-viewingpresentation{display:flex;overflow-y:scroll}.pry-viewingpresentation .o-manifest-layout__content,.pry-viewingpresentation .o-dashboard-widget{grid-area:middle;flex:100% 1 1}.o-presentation{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));grid-gap:1.875rem;padding:.25rem .25rem 1.25rem;overflow-y:visible}.o-presentation .a-h3{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.o-presentation__item{display:flex;flex-direction:column;align-items:stretch}.o-presentation__item:hover{cursor:pointer}.o-presentation__item:hover .o-presentation__item__footer pry-icon{visibility:visible;opacity:1}.o-presentation__item__image{cursor:pointer;overflow:hidden;height:6.875rem;display:flex;align-items:center;justify-content:center}.o-presentation__item__image img{width:100px}.o-presentation__item__image .is-full-width{width:100%;height:100%;object-fit:cover}.o-presentation__item__header{position:relative;display:flex;align-items:flex-start;justify-content:center;height:6.875rem}.o-presentation__item__header pry-icon.is-private{position:absolute;top:.625rem;left:.625rem;z-index:1}.o-presentation__item__header .a-tooltip{width:100%}.o-presentation__item__txt{flex-grow:1;padding:.625rem .9375rem;display:flex;flex-direction:column;justify-content:space-between}.o-presentation__item__txt .a-h3{font-size:.875rem;padding-bottom:.3125rem}.o-presentation__item__txt .a-p{font-size:.8125rem}.o-presentation__item__txt .a-p.-date{padding-top:.625rem;margin-bottom:0}.o-presentation__item__title-container.a-tooltip[data-tooltip]:after{top:calc(100% - 15px)}.o-presentation__item__description-container{position:relative;width:100%;display:flex;align-content:center;min-height:1.25rem}.o-presentation__item__description-container.a-tooltip[data-tooltip]:after{width:100%}.o-presentation__item__description{width:100%;max-height:2.5rem}.o-presentation__item__footer{display:flex;align-content:center;justify-content:center;font-size:.875rem;line-height:1.125rem;padding:.1875rem 0;max-height:2.3125rem}.o-presentation__item__footer .a-btn{margin-left:1.25rem}.o-presentation__item__footer pry-icon{visibility:hidden;opacity:0;transition:visibility .1s linear,opacity .1s linear;margin-left:.1875rem}.o-presentation-consult{width:100%;padding:.9375rem}.more-button{position:absolute;top:.375rem;right:.625rem}.more-button .a-btn{padding:.125rem 0;border-radius:50%}.m-context-menu{position:absolute}.o-restitution-catalog .o-manifest-layout__toolbox{justify-content:space-between;align-items:center}.o-restitution-catalog .o-manifest-layout__content{display:flex;flex-direction:column}.o-restitution-catalog .o-manifest-layout__content .restitution{display:flex;flex:1;max-height:100%}.m-context-menu__list__item .a-btn{white-space:nowrap}\n"], encapsulation: i0.ViewEncapsulation.None }); }
6
6
  }
7
7
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PryCatalogCssComponent, decorators: [{
8
8
  type: Component,
9
- args: [{ selector: 'pry-restitution-css', template: '', encapsulation: ViewEncapsulation.None, styles: [".o-catalog__filters__by-type__list,.o-catalog__list{margin:0;padding:0}.o-catalog__filters__by-type__list li,.o-catalog__list li{list-style:none}.o-catalog{display:flex;flex-direction:column;overflow:scroll;width:28.125rem;height:100%;padding:.9375rem;border-right-width:.0625rem;border-right-style:solid}.o-catalog .a-h2{padding-top:.625rem}.o-catalog pry-restitution{flex:1}.o-catalog__filters{padding-top:.3125rem}.o-catalog__filters__by-name{position:relative;margin-bottom:1.25rem}.o-catalog__filters__by-name .a-icon{position:absolute;left:.6875rem;bottom:.5625rem;pointer-events:none}.o-catalog__filters__by-name .a-form-field{width:60%;padding-left:2.1875rem}.o-catalog__filters__by-type{display:flex;flex-wrap:wrap;column-gap:1.25rem}.o-catalog__filters__by-type__list{display:flex;gap:.3125rem}.o-catalog__filters__by-type__list li{width:2.1875rem;height:2.1875rem}.o-catalog__filters__by-type__list li .a-label{position:relative;display:flex;align-items:center;justify-content:center;width:100%;height:100%;margin:0;border-width:.0625rem;border-style:solid;border-radius:.3125rem}.o-catalog__filters__by-type .a-btn.a-btn--icon-text.-link-like{margin-top:5px;font-weight:300;font-size:.8125rem}.o-catalog__filters__by-type .a-btn.a-btn--icon-text.-link-like[disabled]{opacity:0}.o-catalog .is-point{cursor:default}.o-catalog__list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:.9375rem;justify-content:space-around;padding:1.875rem 0}.o-catalog__list__icon{cursor:pointer}.o-catalog__list pry-catalog-item{max-height:13.125rem}.o-catalog__list__item{position:relative;display:flex;flex-direction:column;justify-content:space-between;align-items:center;max-width:8.125rem;height:100%;text-align:center;cursor:move}.o-catalog__list__item .is-private{position:absolute;top:.3125rem;left:.3125rem}.o-catalog__list__item img{margin-top:.625rem}.o-catalog__list__item img.is-full-width{width:100%;height:30%;object-fit:cover}.o-catalog__list__item .a-btn--icon-only{margin-bottom:.6875rem;padding:.8125rem}.o-catalog__list__item__libelle{width:100%;margin-bottom:0;padding:.9375rem .625rem;word-wrap:break-word;-webkit-hyphens:auto;hyphens:auto}.o-catalog__list__item__action{width:100%;padding:.375rem .625rem;text-align:center}.o-catalog__list__item__action .a-btn--ghost{height:auto;padding:0 .3125rem}.o-catalog__create{align-self:center;width:-moz-fit-content;width:fit-content;margin-bottom:1rem}.o-catalog .o-accordion pry-accordion-item:first-child .o-accordion__title{border-top-style:solid;border-top-width:.0625rem;margin-top:.625rem}\n", ".o-restitution{display:flex;flex-direction:column;flex:1;max-height:100%}.o-restitution pry-stepper{display:flex;flex:1;max-height:100%}.o-restitution .widget-instanciator{position:relative;height:100%;margin-bottom:.9375rem}.o-restitution .m-btn-group.actions{margin-top:auto}\n", ".o-presentation{margin:0;padding:0}.o-presentation li{list-style:none}.o-manifest-layout__toolbox div:first-child{margin-left:auto}.o-manifest-layout__toolbox.-u-hidden{display:none}.o-manifest-layout__content{height:100%;overflow:auto}.o-manifest-layout__content .pointer{cursor:pointer}.pry-viewingpresentation{display:flex;overflow-y:scroll}.pry-viewingpresentation .o-manifest-layout__content,.pry-viewingpresentation .o-dashboard-widget{flex:100% 1 1}.o-presentation{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));grid-gap:1.875rem;padding:.25rem .25rem 1.25rem;overflow-y:visible}.o-presentation .a-h3{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.o-presentation__item{display:flex;flex-direction:column;align-items:stretch}.o-presentation__item:hover{cursor:pointer}.o-presentation__item:hover .o-presentation__item__footer pry-icon{visibility:visible;opacity:1}.o-presentation__item__image{cursor:pointer;overflow:hidden;height:6.875rem;display:flex;align-items:center;justify-content:center}.o-presentation__item__image img{width:100px}.o-presentation__item__image .is-full-width{width:100%;height:100%;object-fit:cover}.o-presentation__item__header{position:relative;display:flex;align-items:flex-start;justify-content:center;height:6.875rem}.o-presentation__item__header pry-icon.is-private{position:absolute;top:.625rem;left:.625rem}.o-presentation__item__header .a-tooltip{width:100%}.o-presentation__item__txt{flex-grow:1;padding:.625rem .9375rem;display:flex;flex-direction:column;justify-content:space-between}.o-presentation__item__txt .a-h3{font-size:.875rem}.o-presentation__item__txt .a-p{font-size:.8125rem}.o-presentation__item__txt .a-p.-date{margin-bottom:0}.o-presentation__item__title-container.a-tooltip[data-tooltip]:after{top:calc(100% - 15px)}.o-presentation__item__description-container{position:relative;width:100%;display:flex;align-content:center;min-height:1.25rem}.o-presentation__item__description-container.a-tooltip[data-tooltip]:after{width:100%}.o-presentation__item__description{width:100%;max-height:2.5rem}.o-presentation__item__footer{display:flex;align-content:center;justify-content:center;font-size:.875rem;line-height:1.125rem;padding:.1875rem 0;max-height:2.3125rem}.o-presentation__item__footer .a-btn{margin-left:1.25rem}.o-presentation__item__footer pry-icon{visibility:hidden;opacity:0;transition:visibility .1s linear,opacity .1s linear;margin-left:.1875rem}.o-presentation-consult{width:100%;padding:.9375rem}.more-button{position:absolute;top:.375rem;right:.625rem}.more-button .a-btn{padding:.125rem 0;border-radius:50%}.m-context-menu{position:absolute}.o-restitution-catalog .o-manifest-layout__toolbox{justify-content:space-between;align-items:center}.o-restitution-catalog .o-manifest-layout__content{display:flex;flex-direction:column}.o-restitution-catalog .o-manifest-layout__content .restitution{display:flex;flex:1;max-height:100%}.m-context-menu__list__item .a-btn{white-space:nowrap}\n"] }]
9
+ args: [{ selector: 'pry-restitution-css', template: '', encapsulation: ViewEncapsulation.None, styles: [".o-catalog__filters__by-type__list,.o-catalog__list{margin:0;padding:0}.o-catalog__filters__by-type__list li,.o-catalog__list li{list-style:none}.o-catalog{display:flex;flex-direction:column;overflow:scroll;width:28.125rem;height:100%;padding:.9375rem;border-right-width:.0625rem;border-right-style:solid}.o-catalog .a-h2{padding-top:.625rem}.o-catalog pry-restitution{flex:1}.o-catalog__filters{padding-top:.3125rem}.o-catalog__filters__by-name{position:relative;margin-bottom:1.25rem}.o-catalog__filters__by-name .a-icon{position:absolute;left:.6875rem;bottom:.5625rem;pointer-events:none}.o-catalog__filters__by-name .a-form-field{width:60%;padding-left:2.1875rem}.o-catalog__filters__by-type{display:flex;flex-wrap:wrap;column-gap:1.25rem}.o-catalog__filters__by-type__list{display:flex;gap:.3125rem}.o-catalog__filters__by-type__list li{width:2.1875rem;height:2.1875rem}.o-catalog__filters__by-type__list li .a-label{position:relative;display:flex;align-items:center;justify-content:center;width:100%;height:100%;margin:0;border-width:.0625rem;border-style:solid;border-radius:.3125rem}.o-catalog__filters__by-type .a-btn.a-btn--icon-text.-link-like{margin-top:5px;font-weight:300;font-size:.8125rem}.o-catalog__filters__by-type .a-btn.a-btn--icon-text.-link-like[disabled]{opacity:0}.o-catalog .is-point{cursor:default}.o-catalog__list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:.9375rem;justify-content:space-around;padding:1.875rem 0}.o-catalog__list__icon{cursor:pointer}.o-catalog__list pry-catalog-item{max-height:13.125rem}.o-catalog__list__item{position:relative;display:flex;flex-direction:column;justify-content:space-between;align-items:center;max-width:8.125rem;height:100%;text-align:center;cursor:move}.o-catalog__list__item .is-private{position:absolute;top:.3125rem;left:.3125rem}.o-catalog__list__item img{margin-top:.625rem}.o-catalog__list__item img.is-full-width{width:100%;height:30%;object-fit:cover}.o-catalog__list__item .a-btn--icon-only{margin-bottom:.6875rem;padding:.8125rem}.o-catalog__list__item__libelle{width:100%;margin-bottom:0;padding:.9375rem .625rem;word-wrap:break-word;-webkit-hyphens:auto;hyphens:auto}.o-catalog__list__item__action{width:100%;padding:.375rem .625rem;text-align:center}.o-catalog__list__item__action .a-btn--secondary{height:auto;padding:0 .3125rem}.o-catalog__create{align-self:center;width:-moz-fit-content;width:fit-content;margin-bottom:1rem}.o-catalog .o-accordion pry-accordion-item:first-child .o-accordion__title{border-top-style:solid;border-top-width:.0625rem;margin-top:.625rem}\n", ".o-restitution{display:flex;flex-direction:column;flex:1;max-height:100%}.o-restitution pry-stepper{display:flex;flex:1;max-height:100%}.o-restitution .widget-instanciator{position:relative;height:100%;margin-bottom:.9375rem}.o-restitution .m-btn-group.actions{margin-top:auto}\n", ".o-presentation{margin:0;padding:0}.o-presentation li{list-style:none}.o-manifest-layout__toolbox div:first-child{margin-left:auto}.o-manifest-layout__toolbox.-u-hidden{display:none}.o-manifest-layout__content{height:100%;overflow:auto}.o-manifest-layout__content .pointer{cursor:pointer}.pry-viewingpresentation{display:flex;overflow-y:scroll}.pry-viewingpresentation .o-manifest-layout__content,.pry-viewingpresentation .o-dashboard-widget{grid-area:middle;flex:100% 1 1}.o-presentation{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));grid-gap:1.875rem;padding:.25rem .25rem 1.25rem;overflow-y:visible}.o-presentation .a-h3{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.o-presentation__item{display:flex;flex-direction:column;align-items:stretch}.o-presentation__item:hover{cursor:pointer}.o-presentation__item:hover .o-presentation__item__footer pry-icon{visibility:visible;opacity:1}.o-presentation__item__image{cursor:pointer;overflow:hidden;height:6.875rem;display:flex;align-items:center;justify-content:center}.o-presentation__item__image img{width:100px}.o-presentation__item__image .is-full-width{width:100%;height:100%;object-fit:cover}.o-presentation__item__header{position:relative;display:flex;align-items:flex-start;justify-content:center;height:6.875rem}.o-presentation__item__header pry-icon.is-private{position:absolute;top:.625rem;left:.625rem;z-index:1}.o-presentation__item__header .a-tooltip{width:100%}.o-presentation__item__txt{flex-grow:1;padding:.625rem .9375rem;display:flex;flex-direction:column;justify-content:space-between}.o-presentation__item__txt .a-h3{font-size:.875rem;padding-bottom:.3125rem}.o-presentation__item__txt .a-p{font-size:.8125rem}.o-presentation__item__txt .a-p.-date{padding-top:.625rem;margin-bottom:0}.o-presentation__item__title-container.a-tooltip[data-tooltip]:after{top:calc(100% - 15px)}.o-presentation__item__description-container{position:relative;width:100%;display:flex;align-content:center;min-height:1.25rem}.o-presentation__item__description-container.a-tooltip[data-tooltip]:after{width:100%}.o-presentation__item__description{width:100%;max-height:2.5rem}.o-presentation__item__footer{display:flex;align-content:center;justify-content:center;font-size:.875rem;line-height:1.125rem;padding:.1875rem 0;max-height:2.3125rem}.o-presentation__item__footer .a-btn{margin-left:1.25rem}.o-presentation__item__footer pry-icon{visibility:hidden;opacity:0;transition:visibility .1s linear,opacity .1s linear;margin-left:.1875rem}.o-presentation-consult{width:100%;padding:.9375rem}.more-button{position:absolute;top:.375rem;right:.625rem}.more-button .a-btn{padding:.125rem 0;border-radius:50%}.m-context-menu{position:absolute}.o-restitution-catalog .o-manifest-layout__toolbox{justify-content:space-between;align-items:center}.o-restitution-catalog .o-manifest-layout__content{display:flex;flex-direction:column}.o-restitution-catalog .o-manifest-layout__content .restitution{display:flex;flex:1;max-height:100%}.m-context-menu__list__item .a-btn{white-space:nowrap}\n"] }]
10
10
  }] });
11
11
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3NzLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Byb3ZvbHkvZGFzaGJvYXJkL3Jlc3RpdHV0aW9uL3N0eWxlL2Nzcy5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFRN0QsTUFBTSxPQUFPLHNCQUFzQjsrR0FBdEIsc0JBQXNCO21HQUF0QixzQkFBc0IsMkRBSnZCLEVBQUU7OzRGQUlELHNCQUFzQjtrQkFObEMsU0FBUzsrQkFDRSxxQkFBcUIsWUFDckIsRUFBRSxpQkFFRyxpQkFBaUIsQ0FBQyxJQUFJIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBWaWV3RW5jYXBzdWxhdGlvbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdwcnktcmVzdGl0dXRpb24tY3NzJyxcbiAgdGVtcGxhdGU6ICcnLFxuICBzdHlsZVVybHM6IFsnLi9fby1yZXN0aXR1dGlvbi1saXN0LnNjc3MnLCAnLi9fby1yZXN0aXR1dGlvbi5zY3NzJywgJy4vcmVzdGl0dXRpb24tY2F0YWxvZy5jb21wb25lbnQuc2NzcyddLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lXG59KVxuZXhwb3J0IGNsYXNzIFByeUNhdGFsb2dDc3NDb21wb25lbnQge31cbiJdfQ==
@@ -102,7 +102,7 @@ export class PrySearchHomeComponent {
102
102
  const data = {
103
103
  title: '@pry.search.namedQuery.delete',
104
104
  actions: [
105
- { id: 0, label: '@pry.toolbox.manifest.close', color: 'ghost' },
105
+ { id: 0, label: '@pry.toolbox.manifest.close', color: 'secondary' },
106
106
  { id: 1, label: '@pry.search.namedQuery.delete' }
107
107
  ]
108
108
  };
@@ -196,4 +196,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
196
196
  }], changeSearchCriteria: [{
197
197
  type: Output
198
198
  }] } });
199
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhcmNoLWhvbWUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcHJvdm9seS9kYXNoYm9hcmQvc2VhcmNoL3NlYXJjaC1ob21lL3NlYXJjaC1ob21lLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Byb3ZvbHkvZGFzaGJvYXJkL3NlYXJjaC9zZWFyY2gtaG9tZS9zZWFyY2gtaG9tZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQThCLGFBQWEsRUFBYyxNQUFNLHNCQUFzQixDQUFDO0FBQzdGLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUNyRCxPQUFPLEVBQ0wsU0FBUyxFQUNULFlBQVksRUFDWixLQUFLLEVBR0wsTUFBTSxFQUNOLFdBQVcsRUFDWCxTQUFTLEVBRVYsTUFBTSxlQUFlLENBQUM7QUFFdkIsT0FBTyxFQUNMLGFBQWEsRUFDYixnQkFBZ0IsRUFDaEIsbUJBQW1CLEVBQ25CLGtCQUFrQixFQUNsQixpQkFBaUIsRUFDakIsbUJBQW1CLEVBQ25CLGVBQWUsRUFDZixvQkFBb0IsRUFHcEIsZUFBZSxFQUNmLHlCQUF5QixFQUd6QixhQUFhLEVBRWQsTUFBTSxvQkFBb0IsQ0FBQztBQUM1QixPQUFPLEVBQUUsZUFBZSxFQUFFLGFBQWEsRUFBRSxpQkFBaUIsRUFBRSxNQUFNLEVBQWMsWUFBWSxFQUFFLElBQUksRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUNqSCxPQUFPLEVBQUUsWUFBWSxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ25ELE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLCtDQUErQyxDQUFDOzs7Ozs7Ozs7QUFPdEYsTUFBTSxPQUFPLHNCQUFzQjtJQThDakMsWUFDVSxLQUFZLEVBQ1osT0FBZ0IsRUFDaEIsZ0JBQWtDLEVBQ2xDLFNBQTJCO1FB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QyxRQUFRLENBQ2pCLGFBQWEsQ0FBQyxrQkFBa0IsQ0FBQyxFQUFFLEVBQUUsRUFBRSxVQUFVLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxrQ0FBa0MsRUFBRSxDQUFDLENBQ3RHLENBQUM7SUFDSixDQUFDO0lBRUQsV0FBVztRQUNULElBQUksQ0FBQyxZQUFZLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDbEMsQ0FBQzsrR0EzTlUsc0JBQXNCO21HQUF0QixzQkFBc0IsMlRBQ0UsV0FBVyw2R0FDUixXQUFXLDZCQzNDbkQsNDdXQWtQQTs7NEZEek1hLHNCQUFzQjtrQkFKbEMsU0FBUzsrQkFDRSxpQkFBaUI7Z0xBSXVCLFlBQVk7c0JBQTdELFNBQVM7dUJBQUMsY0FBYyxFQUFFLEVBQUUsSUFBSSxFQUFFLFdBQVcsRUFBRTtnQkFDSyxlQUFlO3NCQUFuRSxTQUFTO3VCQUFDLGlCQUFpQixFQUFFLEVBQUUsSUFBSSxFQUFFLFdBQVcsRUFBRTtnQkFFMUMsaUJBQWlCO3NCQUF6QixLQUFLO2dCQUNHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBRUksY0FBYztzQkFBdkIsTUFBTTtnQkFDRyxvQkFBb0I7c0JBQTdCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb25uZWN0ZWRQb3NpdGlvbiwgT3ZlcmxheSwgT3ZlcmxheUNvbmZpZywgT3ZlcmxheVJlZiB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9vdmVybGF5JztcbmltcG9ydCB7IFRlbXBsYXRlUG9ydGFsIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL3BvcnRhbCc7XG5pbXBvcnQge1xuICBDb21wb25lbnQsXG4gIEV2ZW50RW1pdHRlcixcbiAgSW5wdXQsXG4gIE9uRGVzdHJveSxcbiAgT25Jbml0LFxuICBPdXRwdXQsXG4gIFRlbXBsYXRlUmVmLFxuICBWaWV3Q2hpbGQsXG4gIFZpZXdDb250YWluZXJSZWZcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTdG9yZSB9IGZyb20gJ0BuZ3J4L3N0b3JlJztcbmltcG9ydCB7XG4gIENvbmZpZ0FjdGlvbnMsXG4gIERhc2hib2FyZEFjdGlvbnMsXG4gIERhc2hib2FyZEdyaWRMYXlvdXQsXG4gIERhc2hib2FyZFNlbGVjdG9ycyxcbiAgRGF0YVNvdXJjZUFjdGlvbnMsXG4gIERhdGFTb3VyY2VTZWxlY3RvcnMsXG4gIERhdGFzb3VyY2VVdGlscyxcbiAgZGVmYXVsdE1lbnVTdHJ1Y3R1cmUsXG4gIEZ1bGxUZXh0U2VhcmNoUGF5bG9hZCxcbiAgTmFtZWRRdWVyeSxcbiAgTmFtZWRRdWVyeVR5cGVzLFxuICBQcnlEaWFsb2dDb25maXJtQ29tcG9uZW50LFxuICBQcnlEaWFsb2dDb25maXJtRGF0YSxcbiAgUHJ5RGlhbG9nU2VydmljZSxcbiAgU2VhcmNoQWN0aW9ucyxcbiAgV2lkZ2V0TGF5b3V0XG59IGZyb20gJ0Bwcm92b2x5L2Rhc2hib2FyZCc7XG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIGNvbWJpbmVMYXRlc3QsIGNvbWJpbmVMYXRlc3RXaXRoLCBmaWx0ZXIsIE9ic2VydmFibGUsIFN1YnNjcmlwdGlvbiwgdGFrZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgZGVib3VuY2VUaW1lLCBtYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBQcnlTYXZlUXVlcnlDb21wb25lbnQgfSBmcm9tICcuLi9jb21wb25lbnRzL3NhdmUtcXVlcnkvc2F2ZS1xdWVyeS5jb21wb25lbnQnO1xuaW1wb3J0IHsgU2VhcmNoRnVsbHRleHRDaGFuZ2UgfSBmcm9tICcuLi9zZWFyY2gtZnVsbHRleHQvc2VhcmNoLWZ1bGx0ZXh0L3NlYXJjaC1mdWxsdGV4dC5jb21wb25lbnQnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdwcnktc2VhcmNoLWhvbWUnLFxuICB0ZW1wbGF0ZVVybDogJy4vc2VhcmNoLWhvbWUuY29tcG9uZW50Lmh0bWwnXG59KVxuZXhwb3J0IGNsYXNzIFByeVNlYXJjaEhvbWVDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG4gIEBWaWV3Q2hpbGQoJ3RlbXBsYXRlU3BvdCcsIHsgcmVhZDogVGVtcGxhdGVSZWYgfSkgdGVtcGxhdGVTcG90ITogVGVtcGxhdGVSZWY8YW55PjtcbiAgQFZpZXdDaGlsZCgndGVtcGxhdGVSZWZyZXNoJywgeyByZWFkOiBUZW1wbGF0ZVJlZiB9KSB0ZW1wbGF0ZVJlZnJlc2ghOiBUZW1wbGF0ZVJlZjxhbnk+O1xuXG4gIEBJbnB1dCgpIHNlYXJjaEZ1bGx0ZXh0VHBsPzogVGVtcGxhdGVSZWY8YW55PjtcbiAgQElucHV0KCkgaXNNb3JlTGlzdCA9IGZhbHNlO1xuXG4gIEBPdXRwdXQoKSBjaGFuZ2VMaXN0VmlldyA9IG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oKTtcbiAgQE91dHB1dCgpIGNoYW5nZVNlYXJjaENyaXRlcmlhID0gbmV3IEV2ZW50RW1pdHRlcjxib29sZWFuPigpO1xuXG4gIG5hbWVkUXVlcnlMaXN0JD86IE9ic2VydmFibGU8TmFtZWRRdWVyeVtdPjtcbiAgcHJpdmF0ZSBzdWJzY3JpcHRpb246IFN1YnNjcmlwdGlvbiA9IG5ldyBTdWJzY3JpcHRpb24oKTtcblxuICBuYW1lZFF1ZXJpZXNVc2VzJCE6IE9ic2VydmFibGU8eyBbcDogc3RyaW5nXTogeyB3aW5kb3dJbmRleDogbnVtYmVyOyB0eXBlOiBzdHJpbmc7IGxheW91dDogV2lkZ2V0TGF5b3V0IH1bXSB9PjtcbiAgc3BvdHRpbmckID0gbmV3IEJlaGF2aW9yU3ViamVjdDxzdHJpbmc+KCcnKTtcbiAgc3BvdHRpbmdXaWRnZXQkITogT2JzZXJ2YWJsZTx7IHdpbmRvd0luZGV4OiBudW1iZXI7IHR5cGU6IHN0cmluZzsgbGF5b3V0OiBXaWRnZXRMYXlvdXQgfVtdPjtcbiAgcmVmcmVzaE9wdGlvbnMgPSBbMCwgMTAsIDMwLCA2MF07XG5cbiAgaWNvbnMgPSB7XG4gICAgbWFwOiAnc2hhcmVfbG9jYXRpb24nLFxuICAgIHRhYmxlOiAndGFibGVfY2hhcnQnLFxuICAgIGNoYXJ0OiAnc2hvd19jaGFydCcsXG4gICAgZ3JhcGg6ICdncmFwaCdcbiAgfSBhcyB7IFtrZXk6IHN0cmluZ106IHN0cmluZyB9O1xuXG4gIGxvYWRPcGVuZWQ6IHN0cmluZyB8IHVuZGVmaW5lZDtcblxuICBwcml2YXRlIG92ZXJsYXlSZWY/OiBPdmVybGF5UmVmO1xuXG4gIHJlYWRvbmx5IGNvbm5lY3RlZFBvc2l0aW9uOiBDb25uZWN0ZWRQb3NpdGlvbiA9IHtcbiAgICBvcmlnaW5YOiAnc3RhcnQnLFxuICAgIG9yaWdpblk6ICdib3R0b20nLFxuICAgIG92ZXJsYXlYOiAnc3RhcnQnLFxuICAgIG92ZXJsYXlZOiAndG9wJ1xuICB9O1xuICBzdHJ1Y3R1cmUgPSBkZWZhdWx0TWVudVN0cnVjdHVyZS5tYXAoKGl0ZW1zKSA9PiAoe1xuICAgIC4uLml0ZW1zLFxuICAgIHN1YjogaXRlbXMuc3ViLmZpbHRlcigocykgPT4gcy50eXBlICE9PSAnaWZyYW1lJyAmJiBzLnR5cGUgIT09ICdkZXRhaWwnKVxuICB9KSk7XG5cbiAgcmVmcmVzaFJhdGVzJCE6IE9ic2VydmFibGU8eyBbcDogc3RyaW5nXTogbnVtYmVyIH0+O1xuICByZWZyZXNoSWQ6IHN0cmluZyA9ICcnO1xuICBkZWxldGVFcnJvciQ/OiBPYnNlcnZhYmxlPGFueT47XG4gIGxheW91dCQhOiBPYnNlcnZhYmxlPHN0cmluZz47XG4gIERhc2hib2FyZEdyaWRMYXlvdXQgPSBEYXNoYm9hcmRHcmlkTGF5b3V0O1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgc3RvcmU6IFN0b3JlLFxuICAgIHByaXZhdGUgb3ZlcmxheTogT3ZlcmxheSxcbiAgICBwcml2YXRlIHZpZXdDb250YWluZXJSZWY6IFZpZXdDb250YWluZXJSZWYsXG4gICAgcHJpdmF0ZSBwcnlEaWFsb2c6IFByeURpYWxvZ1NlcnZpY2VcbiAgKSB7fVxuXG4gIG5nT25Jbml0KCkge1xuICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2goRGF0YVNvdXJjZUFjdGlvbnMubG9hZCgpKTtcbiAgICB0aGlzLm5hbWVkUXVlcnlMaXN0JCA9IHRoaXMuc3RvcmUuc2VsZWN0KERhdGFTb3VyY2VTZWxlY3RvcnMuZ2V0TmFtZWRRdWVyeVNvcnRlZCk7XG4gICAgdGhpcy5uYW1lZFF1ZXJpZXNVc2VzJCA9IHRoaXMuc3RvcmUuc2VsZWN0KERhc2hib2FyZFNlbGVjdG9ycy5uYW1lZFF1ZXJpZXNVc2VzKTtcbiAgICB0aGlzLnNwb3R0aW5nV2lkZ2V0JCA9IGNvbWJpbmVMYXRlc3QoW3RoaXMubmFtZWRRdWVyaWVzVXNlcyQsIHRoaXMuc3BvdHRpbmckXSkucGlwZShcbiAgICAgIG1hcCgoW3VzZXMsIHNwb3R0aW5nXSkgPT4gdXNlc1tzcG90dGluZ10gPz8gW10pLFxuICAgICAgbWFwKCh1c2VzKSA9PiB1c2VzLm1hcCgodXNlKSA9PiAoeyAuLi51c2UsIHdpbmRvd0luZGV4OiB1c2Uud2luZG93SW5kZXggKyAxIH0pKSlcbiAgICApO1xuICAgIHRoaXMucmVmcmVzaFJhdGVzJCA9IHRoaXMuc3RvcmUuc2VsZWN0KERhc2hib2FyZFNlbGVjdG9ycy5yZWZyZXNoUmF0ZXMpO1xuICAgIHRoaXMubGF5b3V0JCA9IHRoaXMuc3RvcmUuc2VsZWN0KERhc2hib2FyZFNlbGVjdG9ycy5ncmlkTGF5b3V0KTtcbiAgICB0aGlzLmRlbGV0ZUVycm9yJCA9IHRoaXMuc3RvcmUuc2VsZWN0KERhdGFTb3VyY2VTZWxlY3RvcnMuZXJyb3JzKS5waXBlKGRlYm91bmNlVGltZSgxMDApKTtcbiAgfVxuXG4gIG9uU2VhcmNoTmFtZWRRdWVyeShpZDogc3RyaW5nKSB7XG4gICAgdGhpcy5zdG9yZS5kaXNwYXRjaChEYXNoYm9hcmRBY3Rpb25zLnVwZGF0ZVdpZGdldEluUHJlc2VudGF0aW9uKHsgaWQsIHdpZGdldFR5cGU6ICd0YWJsZScgfSkpO1xuICB9XG5cbiAgb25GYXZvcml0ZShpZDogc3RyaW5nLCBpc0Zhdm9yaXRlOiBib29sZWFuIHwgdW5kZWZpbmVkKSB7XG4gICAgaWYgKCFpc0Zhdm9yaXRlKSB7XG4gICAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKERhdGFTb3VyY2VBY3Rpb25zLm5hbWVkUXVlcnkuYWRkRmF2b3JpdGUoeyBpZCB9KSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2goRGF0YVNvdXJjZUFjdGlvbnMubmFtZWRRdWVyeS5kZWxldGVGYXZvcml0ZSh7IGlkIH0pKTtcbiAgICB9XG4gIH1cblxuICBvblNwb3QoaWQ6IHN0cmluZywgJGV2ZW50OiBNb3VzZUV2ZW50KSB7XG4gICAgdGhpcy5zcG90dGluZyQubmV4dChpZCk7XG5cbiAgICBpZiAoIXRoaXMub3ZlcmxheVJlZikge1xuICAgICAgdGhpcy5vdmVybGF5UmVmID0gdGhpcy5vdmVybGF5LmNyZWF0ZShcbiAgICAgICAgbmV3IE92ZXJsYXlDb25maWcoe1xuICAgICAgICAgIGhhc0JhY2tkcm9wOiBmYWxzZSxcbiAgICAgICAgICBwYW5lbENsYXNzOiBbJ3Nwb3QtcnMnXVxuICAgICAgICB9KVxuICAgICAgKTtcbiAgICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2goQ29uZmlnQWN0aW9ucy5hZGRpbmdPdmVybGF5KHsgaWQ6IHRoaXMuY29uc3RydWN0b3IubmFtZSB9KSk7XG4gICAgICB0aGlzLm92ZXJsYXlSZWYuYXR0YWNoKG5ldyBUZW1wbGF0ZVBvcnRhbCh0aGlzLnRlbXBsYXRlU3BvdCwgdGhpcy52aWV3Q29udGFpbmVyUmVmKSk7XG4gICAgICBjb25zdCBzcG90RWxlbWVudCA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJy5zcG90LXJzJykgYXMgSFRNTERpdkVsZW1lbnQ7XG4gICAgICBpZiAoISFzcG90RWxlbWVudCkge1xuICAgICAgICBzcG90RWxlbWVudC5zdHlsZS5sZWZ0ID0gJGV2ZW50LmNsaWVudFggLSAxMCArICdweCc7XG4gICAgICAgIHNwb3RFbGVtZW50LnN0eWxlLnRvcCA9ICRldmVudC5jbGllbnRZIC0gMTAgKyAncHgnO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIGhpZGVTcG90KCkge1xuICAgIHRoaXMub3ZlcmxheVJlZj8uZGlzcG9zZSgpO1xuICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2goQ29uZmlnQWN0aW9ucy5jbG9zZU92ZXJsYXkoeyBpZDogdGhpcy5jb25zdHJ1Y3Rvci5uYW1lIH0pKTtcbiAgICB0aGlzLm92ZXJsYXlSZWYgPSB1bmRlZmluZWQ7XG4gIH1cblxuICBvbkVkaXQobmFtZWRRdWVyeTogTmFtZWRRdWVyeSkge1xuICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2goRGF0YVNvdXJjZUFjdGlvbnMubmFtZWRRdWVyeS5lZGl0KHsgY3VycmVudEVkaXQ6IG5hbWVkUXVlcnkgfSkpO1xuICB9XG5cbiAgb25DaGFuZ2VMaXN0Vmlldyhpc01vcmVMaXN0OiBib29sZWFuKSB7XG4gICAgdGhpcy5jaGFuZ2VMaXN0Vmlldy5lbWl0KGlzTW9yZUxpc3QpO1xuICB9XG5cbiAgb25TZWFyY2hDcml0ZXJpYSgpIHtcbiAgICB0aGlzLmNoYW5nZVNlYXJjaENyaXRlcmlhLmVtaXQoKTtcbiAgfVxuXG4gIGxvYWRXaWRnZXQoaWQ6IHN0cmluZywgc3ViOiB7IGljb246IHN0cmluZzsgbGFiZWw6IHN0cmluZzsgdHlwZTogc3RyaW5nIH0pIHtcbiAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKERhc2hib2FyZEFjdGlvbnMudXBkYXRlV2lkZ2V0SW5QcmVzZW50YXRpb24oeyBpZCwgd2lkZ2V0VHlwZTogc3ViLnR5cGUgfSkpO1xuICAgIHRoaXMubG9hZE9wZW5lZCA9IHVuZGVmaW5lZDtcbiAgfVxuXG4gIG9uRGVsZXRlKG5xOiBOYW1lZFF1ZXJ5KSB7XG4gICAgY29uc3QgZGF0YTogUHJ5RGlhbG9nQ29uZmlybURhdGEgPSB7XG4gICAgICB0aXRsZTogJ0Bwcnkuc2VhcmNoLm5hbWVkUXVlcnkuZGVsZXRlJyxcbiAgICAgIGFjdGlvbnM6IFtcbiAgICAgICAgeyBpZDogMCwgbGFiZWw6ICdAcHJ5LnRvb2xib3gubWFuaWZlc3QuY2xvc2UnLCBjb2xvcjogJ2dob3N0JyB9LFxuICAgICAgICB7IGlkOiAxLCBsYWJlbDogJ0Bwcnkuc2VhcmNoLm5hbWVkUXVlcnkuZGVsZXRlJyB9XG4gICAgICBdXG4gICAgfTtcbiAgICBjb25zdCBkaWFsb2cgPSB0aGlzLnByeURpYWxvZy5vcGVuKFByeURpYWxvZ0NvbmZpcm1Db21wb25lbnQsIHtcbiAgICAgIGRhdGFcbiAgICB9KTtcbiAgICB0aGlzLnN1YnNjcmlwdGlvbi5hZGQoXG4gICAgICBkaWFsb2cuY2xvc2VWYWx1ZS5waXBlKHRha2UoMSkpLnN1YnNjcmliZSgoYWN0aW9uKSA9PiB7XG4gICAgICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2goQ29uZmlnQWN0aW9ucy5jbG9zZU92ZXJsYXkoeyBpZDogJ1ByeURpYWxvZ0NvbmZpcm1Db21wb25lbnQnIH0pKTtcbiAgICAgICAgaWYgKGFjdGlvbi5pZCA9PT0gMSkge1xuICAgICAgICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2goRGF0YVNvdXJjZUFjdGlvbnMubmFtZWRRdWVyeS5kZWxldGUoeyBpZDogbnEuaWQgPz8gJycgfSkpO1xuICAgICAgICAgIHRoaXMuc3Vic2NyaXB0aW9uLmFkZChcbiAgICAgICAgICAgIHRoaXMuZGVsZXRlRXJyb3IkXG4gICAgICAgICAgICAgID8ucGlwZShcbiAgICAgICAgICAgICAgICBjb21iaW5lTGF0ZXN0V2l0aCh0aGlzLnN0b3JlLnNlbGVjdChEYXRhU291cmNlU2VsZWN0b3JzLmlzTG9hZGluZykpLFxuICAgICAgICAgICAgICAgIGZpbHRlcigoWywgaXNMb2FkaW5nXSkgPT4gIWlzTG9hZGluZyksXG4gICAgICAgICAgICAgICAgdGFrZSgxKVxuICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgIC5zdWJzY3JpYmUoKFtlcnJvcl0pID0+IHtcbiAgICAgICAgICAgICAgICBpZiAoZXJyb3I/LnN0YXR1cyA9PT0gNDAzKSB7XG4gICAgICAgICAgICAgICAgICBjb25zdCBkYXRhOiBQcnlEaWFsb2dDb25maXJtRGF0YSA9IHtcbiAgICAgICAgICAgICAgICAgICAgdGl0bGU6ICdAcHJ5Lm1hbmlmZXN0LmRlbGV0ZUVycm9yJyxcbiAgICAgICAgICAgICAgICAgICAgYWN0aW9uczogW3sgaWQ6IDEsIGxhYmVsOiAnQHByeS50b29sYm94LmNsb3NlJyB9XVxuICAgICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgICAgICAgIGNvbnN0IGVycm9yRGlhbG9nID0gdGhpcy5wcnlEaWFsb2cub3BlbihQcnlEaWFsb2dDb25maXJtQ29tcG9uZW50LCB7XG4gICAgICAgICAgICAgICAgICAgIGRhdGFcbiAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgICAgdGhpcy5zdWJzY3JpcHRpb24uYWRkKFxuICAgICAgICAgICAgICAgICAgICBlcnJvckRpYWxvZy5jbG9zZVZhbHVlLnBpcGUodGFrZSgxKSkuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKENvbmZpZ0FjdGlvbnMuY2xvc2VPdmVybGF5KHsgaWQ6ICdQcnlEaWFsb2dDb25maXJtQ29tcG9uZW50JyB9KSk7XG4gICAgICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfSlcbiAgICAgICAgICApO1xuICAgICAgICB9XG4gICAgICB9KVxuICAgICk7XG4gIH1cblxuICBvblJlbmFtZShucTogTmFtZWRRdWVyeSkge1xuICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2goRGF0YVNvdXJjZUFjdGlvbnMubmFtZWRRdWVyeS5vcGVuUmVuYW1lKCkpO1xuICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2goRGF0YVNvdXJjZUFjdGlvbnMubmFtZWRRdWVyeS5lZGl0KHsgY3VycmVudEVkaXQ6IG5xIH0pKTtcbiAgICBjb25zdCBzYXZlID0gZmFsc2U7XG4gICAgY29uc3QgdHlwZSA9IERhdGFzb3VyY2VVdGlscy5nZXRUeXBlRnJvbVBheWxvYWQobnEucmVxdWVzdCk7XG4gICAgY29uc3QgZGF0YSA9XG4gICAgICB0eXBlID09PSBOYW1lZFF1ZXJ5VHlwZXMuRlVMTF9URVhUXG4gICAgICAgID8geyBzYXZlLCB0eXBlLCBwYXlsb2FkOiB0aGlzLmV4dHJhY3RQYXlsb2FkKG5xLnJlcXVlc3QgYXMgRnVsbFRleHRTZWFyY2hQYXlsb2FkKSB9XG4gICAgICAgIDogeyBzYXZlLCB0eXBlIH07XG4gICAgdGhpcy5wcnlEaWFsb2cub3BlbihQcnlTYXZlUXVlcnlDb21wb25lbnQsIHsgZGF0YSB9KTtcbiAgfVxuXG4gIHByaXZhdGUgZXh0cmFjdFBheWxvYWQocGF5bG9hZDogRnVsbFRleHRTZWFyY2hQYXlsb2FkKTogU2VhcmNoRnVsbHRleHRDaGFuZ2Uge1xuICAgIGNvbnN0IHsgZnVsbFNlYXJjaCwgb0NsYXNzZXMgfSA9IHBheWxvYWQ7XG4gICAgcmV0dXJuIHsgdmFsdWU6IGZ1bGxTZWFyY2gudmFsdWUsIGNsYXNzZXM6IG9DbGFzc2VzID8/IFtdIH07XG4gIH1cblxuICBvblJlZnJlc2goaWQ6IHN0cmluZywgJGV2ZW50OiBNb3VzZUV2ZW50KSB7XG4gICAgdGhpcy5yZWZyZXNoSWQgPSBpZDtcblxuICAgIGlmICghdGhpcy5vdmVybGF5UmVmKSB7XG4gICAgICB0aGlzLm92ZXJsYXlSZWYgPSB0aGlzLm92ZXJsYXkuY3JlYXRlKFxuICAgICAgICBuZXcgT3ZlcmxheUNvbmZpZyh7XG4gICAgICAgICAgaGFzQmFja2Ryb3A6IHRydWUsXG4gICAgICAgICAgcGFuZWxDbGFzczogWydyZWZyZXNoLXJzJ11cbiAgICAgICAgfSlcbiAgICAgICk7XG4gICAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKENvbmZpZ0FjdGlvbnMuYWRkaW5nT3ZlcmxheSh7IGlkOiB0aGlzLmNvbnN0cnVjdG9yLm5hbWUgfSkpO1xuICAgICAgdGhpcy5vdmVybGF5UmVmLmF0dGFjaChuZXcgVGVtcGxhdGVQb3J0YWwodGhpcy50ZW1wbGF0ZVJlZnJlc2gsIHRoaXMudmlld0NvbnRhaW5lclJlZikpO1xuICAgICAgdGhpcy5vdmVybGF5UmVmLmJhY2tkcm9wQ2xpY2soKS5zdWJzY3JpYmUoKF8pID0+IHRoaXMuaGlkZVNwb3QoKSk7XG4gICAgICBjb25zdCByZWZyZXNoRWxlbWVudCA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJy5yZWZyZXNoLXJzJykgYXMgSFRNTERpdkVsZW1lbnQ7XG4gICAgICBjb25zdCByZWZyZXNoID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvcignLnJlZnJlc2hidCcpIGFzIEhUTUxEaXZFbGVtZW50O1xuICAgICAgaWYgKCEhcmVmcmVzaEVsZW1lbnQpIHtcbiAgICAgICAgY29uc3QgcmVjdCA9IHJlZnJlc2guZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XG4gICAgICAgIHJlZnJlc2hFbGVtZW50LnN0eWxlLmxlZnQgPSByZWN0LmxlZnQgKyByZWN0LndpZHRoICsgMTAgKyAncHgnO1xuICAgICAgICByZWZyZXNoRWxlbWVudC5zdHlsZS50b3AgPSByZWN0LnRvcCArIDEzNyArICdweCc7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgc2VsZWN0UmVmcmVzaCgkZXZlbnQ6IG51bWJlcikge1xuICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2goRGFzaGJvYXJkQWN0aW9ucy5zZXRSZWZyZXNoUmF0ZSh7IGlkOiB0aGlzLnJlZnJlc2hJZCA/PyAnJywgcmF0ZTogJGV2ZW50IH0pKTtcbiAgICB0aGlzLmhpZGVTcG90KCk7XG4gIH1cblxuICByZWZyZXNoKGlkOiBzdHJpbmcpIHtcbiAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKFxuICAgICAgU2VhcmNoQWN0aW9ucy5nZXREYXRhc291cmNlSXRlbXMoeyBpZCwgZXhjbHVkZUdlbzogZmFsc2UsIGZyb206ICdQcnlTZWFyY2hIb21lQ29tcG9uZW50LnJlZnJlc2goKScgfSlcbiAgICApO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5zdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcbiAgfVxufVxuIiwiPHByeS1zZWFyY2gtY3NzPjwvcHJ5LXNlYXJjaC1jc3M+XG48ZGl2IGNsYXNzPVwiby1wcnktc2VhcmNoLWhvbWVfX25hbWVkLXF1ZXJ5XCI+XG4gIDxuZy1jb250YWluZXIgKm5nSWY9XCJuYW1lZFF1ZXJ5TGlzdCQgfCBhc3luYyBhcyBuYW1lZFF1ZXJ5XCI+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIm5hbWVkUXVlcnkubGVuZ3RoID4gMDsgZWxzZSBub05hbWVkUXVlcnlcIj5cbiAgICAgIDxkaXYgY2xhc3M9XCJvLXByeS1zZWFyY2gtaG9tZV9fbmFtZWQtcXVlcnlfX2NhcmRcIj5cbiAgICAgICAgPHByeS1leHBhbmQtcGFuZWwgW29wZW5dPVwidHJ1ZVwiPlxuICAgICAgICAgIDxwcnktZXhwYW5kLXBhbmVsLXRpdGxlPnt7ICdAcHJ5LnNlYXJjaC5ob21lLnRpdGxlJyB8IGkxOG4gfX08L3ByeS1leHBhbmQtcGFuZWwtdGl0bGU+XG5cbiAgICAgICAgICA8cHJ5LWNhcmQgKm5nRm9yPVwibGV0IG5xIG9mIG5hbWVkUXVlcnkubGVuZ3RoID4gMSAmJiAhaXNNb3JlTGlzdCA/IG5hbWVkUXVlcnkuc2xpY2UoMCwgMikgOiBuYW1lZFF1ZXJ5XCI+XG4gICAgICAgICAgICA8cHJ5LWNhcmQtaGVhZGVyIFttYXJrZXJdPVwidHJ1ZVwiPlxuICAgICAgICAgICAgICA8cHJ5LWNhcmQtaWNvbj5cbiAgICAgICAgICAgICAgICA8cHJ5LW5xLWNvbG9yLXNlbGVjdG9yIFtkYXRhc291cmNlXT1cIm5xXCIgW2Rpc2FibGVkXT1cInRydWVcIj48L3ByeS1ucS1jb2xvci1zZWxlY3Rvcj5cbiAgICAgICAgICAgICAgICA8aW1nXG4gICAgICAgICAgICAgICAgICBbYWx0XT1cIm5xLmlkIHwgdHJhbnNsYXRlSWQgOiB7IHR5cGU6ICdkYXRhc291cmNlJywgb3V0cHV0OiAnbmFtZScgfSB8IGFzeW5jXCJcbiAgICAgICAgICAgICAgICAgIFtoZWlnaHRdPVwiMjJcIlxuICAgICAgICAgICAgICAgICAgW3dpZHRoXT1cIjIyXCJcbiAgICAgICAgICAgICAgICAgIFtzcmNdPVwibnEuaWQgfCB0cmFuc2xhdGVJZCA6IHsgdHlwZTogJ2RhdGFzb3VyY2UnLCBvdXRwdXQ6ICdpY29uJyB9IHwgYXN5bmNcIlxuICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgIDwvcHJ5LWNhcmQtaWNvbj5cblxuICAgICAgICAgICAgICA8cHJ5LWNhcmQtdGl0bGU+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm8tcHJ5LWNhcmQtdGl0bGVfX3RleHRcIiBhcmlhLWRlc2NyaWJlZGJ5PVwiaW5mb1Rvb2x0aXBfc2VhcmNoSG9tZVwiPlxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImEtcCBvLXByeS1jYXJkLXRpdGxlX190ZXh0X190aXRsZVwiPnt7IG5xLm5hbWUgfX08L2Rpdj5cbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJhLXAgby1wcnktY2FyZC10aXRsZV9fdGV4dF9fZGVzY3JpcHRpb25cIiAqbmdJZj1cIm5xLmRlc2NyaXB0aW9uXCI+e3sgbnEuZGVzY3JpcHRpb24gfX08L2Rpdj5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgI2luZm9Ub29sdGlwPlxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm0tdG9vbHRpcFwiIHJvbGU9XCJ0b29sdGlwXCIgaWQ9XCJpbmZvVG9vbHRpcF9zZWFyY2hIb21lXCI+XG4gICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwibS10b29sdGlwX190ZXh0XCI+XG4gICAgICAgICAgICAgICAgICAgICAge3sgbnEubmFtZSB9fVxuICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwibS10b29sdGlwX19kZXNjcmlwdGlvblwiICpuZ0lmPVwibnEuZGVzY3JpcHRpb25cIj5cbiAgICAgICAgICAgICAgICAgICAgICB7eyBucS5kZXNjcmlwdGlvbiB9fVxuICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICAgICAgICAgIDxwcnktaWNvblxuICAgICAgICAgICAgICAgICAgY2xhc3M9XCJvLXByeS1jYXJkLXRpdGxlX19waW5cIlxuICAgICAgICAgICAgICAgICAgKm5nSWY9XCJucS5mYXZvcml0ZVwiXG4gICAgICAgICAgICAgICAgICBbd2lkdGhdPVwiMThcIlxuICAgICAgICAgICAgICAgICAgW2hlaWdodF09XCIxOFwiXG4gICAgICAgICAgICAgICAgICBhcmlhLWxhYmVsPVwiZmF2b3JpdGVcIlxuICAgICAgICAgICAgICAgICAgaWNvblN2Zz1cImVwaW5nbGVcIlxuICAgICAgICAgICAgICAgID48L3ByeS1pY29uPlxuXG4gICAgICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICAgICAgW2F0dHIuZGF0YS10b29sdGlwXT1cIidAcHJ5LnNlYXJjaC5ob21lLnNob3dBc3NvY2lhdGVkV2lkZ2V0JyB8IGkxOG5cIlxuICAgICAgICAgICAgICAgICAgZGF0YS10b29sdGlwLXBvc2l0aW9uPVwiYm90dG9tXCJcbiAgICAgICAgICAgICAgICAgIGNsYXNzPVwiYS10b29sdGlwIGEtYnRuIGEtYnRuLS1zZWNvbmRhcnkgLXNpemUtc20gLW92ZXJyaWRlLXRvb2x0aXAtcG9zaXRpb25cIlxuICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cIm9uU2VhcmNoTmFtZWRRdWVyeShucS5pZClcIlxuICAgICAgICAgICAgICAgICAgKm5nSWY9XCIobGF5b3V0JCB8IGFzeW5jKSAhPT0gRGFzaGJvYXJkR3JpZExheW91dC5NQU5VQUxcIlxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgIHt7ICdAcHJ5LnNlYXJjaC5uYW1lZFF1ZXJ5LmRpc3BsYXknIHwgaTE4biB9fVxuICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ1LXZpc3VhbGx5LWhpZGRlblwiPnt7ICdAcHJ5LnNlYXJjaC5ob21lLmFzc29jaWF0ZWRXaWRnZXQnIHwgaTE4biB9fTwvc3Bhbj5cbiAgICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgICAgPC9wcnktY2FyZC10aXRsZT5cblxuICAgICAgICAgICAgICA8cHJ5LWNhcmQtbWVudT5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiby1wcnktY2FyZC1tZW51X19uYXZcIj5cbiAgICAgICAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiYS1idG4gYS1idG4tLWljb24tdGV4dCBvLXByeS1jYXJkLW1lbnVfX25hdl9faXRlbVwiXG4gICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJvbkZhdm9yaXRlKG5xLmlkLCBucS5mYXZvcml0ZSlcIlxuICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICA8cHJ5LWljb24gaWNvblN2Zz1cImVwaW5nbGVcIj48L3ByeS1pY29uPlxuICAgICAgICAgICAgICAgICAgICB7eyAobnEuZmF2b3JpdGUgPyAnQHByeS5zZWFyY2gubmFtZWRRdWVyeS5ub0Zhdm9yaXRlJyA6ICdAcHJ5LnNlYXJjaC5uYW1lZFF1ZXJ5LmZhdm9yaXRlJykgfCBpMThuIH19XG4gICAgICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgICAgICAgIDxwcnktY2FyZC1tZW51IChjbGljayk9XCJyZWZyZXNoKG5xLmlkKVwiIGNsYXNzPVwicmVmcmVzaGJ0XCI+XG4gICAgICAgICAgICAgICAgICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiIGNsYXNzPVwiYS1idG4gYS1idG4tLWljb24tdGV4dCBvLXByeS1jYXJkLW1lbnVfX25hdl9faXRlbVwiPlxuICAgICAgICAgICAgICAgICAgICAgIDxwcnktaWNvbiBpY29uU3ZnPVwic3luY2hyb1wiPjwvcHJ5LWljb24+XG4gICAgICAgICAgICAgICAgICAgICAge3sgJ0Bwcnkuc2VhcmNoLm5hbWVkUXVlcnkucmVmcmVzaERhdGEnIHwgaTE4biB9fVxuICAgICAgICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgICAgICAgIDwvcHJ5LWNhcmQtbWVudT5cbiAgICAgICAgICAgICAgICAgIDxwcnktY2FyZC1tZW51ICpuZ0lmPVwiKGxheW91dCQgfCBhc3luYykgIT09IERhc2hib2FyZEdyaWRMYXlvdXQuTUFOVUFMXCI+XG4gICAgICAgICAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImEtYnRuIGEtYnRuLS1pY29uLXRleHQgby1wcnktY2FyZC1tZW51X19uYXZfX2l0ZW1cIlxuICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJsb2FkT3BlbmVkID0gbnEuaWQ7ICRldmVudC5zdG9wUHJvcGFnYXRpb24oKVwiXG4gICAgICAgICAgICAgICAgICAgICAgY2RrT3ZlcmxheU9yaWdpblxuICAgICAgICAgICAgICAgICAgICAgICN0cmlnZ2VyTG9hZD1cImNka092ZXJsYXlPcmlnaW5cIlxuICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgPHByeS1pY29uIGljb25Tdmc9XCJmaWxlX2Rvd25sb2FkXCI+PC9wcnktaWNvbj5cbiAgICAgICAgICAgICAgICAgICAgICB7eyAnQHByeS5zZWFyY2gubmFtZWRRdWVyeS5kaXNwbGF5JyB8IGkxOG4gfX1cbiAgICAgICAgICAgICAgICAgICAgICA8cHJ5LWljb25cbiAgICAgICAgICAgICAgICAgICAgICAgIGljb25Tdmc9XCJmbGVjaGVfaGF1dFwiXG4gICAgICAgICAgICAgICAgICAgICAgICBbbmdTdHlsZV09XCJ7IHRyYW5zZm9ybTogJ3JvdGF0ZSg5MGRlZyknLCBtYXJnaW5MZWZ0OiAnYXV0bycgfVwiXG4gICAgICAgICAgICAgICAgICAgICAgPjwvcHJ5LWljb24+XG4gICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxuXG4gICAgICAgICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZVxuICAgICAgICAgICAgICAgICAgICAgIGNka0Nvbm5lY3RlZE92ZXJsYXlcbiAgICAgICAgICAgICAgICAgICAgICBbY2RrQ29ubmVjdGVkT3ZlcmxheU9yaWdpbl09XCJ0cmlnZ2VyTG9hZFwiXG4gICAgICAgICAgICAgICAgICAgICAgW2Nka0Nvbm5lY3RlZE92ZXJsYXlPcGVuXT1cImxvYWRPcGVuZWQgPT09IG5xLmlkXCJcbiAgICAgICAgICAgICAgICAgICAgICBbY2RrQ29ubmVjdGVkT3ZlcmxheUhhc0JhY2tkcm9wXT1cInRydWVcIlxuICAgICAgICAgICAgICAgICAgICAgIFtjZGtDb25uZWN0ZWRPdmVybGF5UG9zaXRpb25zXT1cIltjb25uZWN0ZWRQb3NpdGlvbl1cIlxuICAgICAgICAgICAgICAgICAgICAgIGNka0Nvbm5lY3RlZE92ZXJsYXlCYWNrZHJvcENsYXNzPVwiY2RrLW92ZXJsYXktdHJhbnNwYXJlbnQtYmFja2Ryb3BcIlxuICAgICAgICAgICAgICAgICAgICAgIChiYWNrZHJvcENsaWNrKT1cImxvYWRPcGVuZWQgPSB1bmRlZmluZWRcIlxuICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm8tZHJhZ2dhYmxlLW1lbnUgLXNlYXJjaC1ob21lXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8dWwgY2xhc3M9XCJvLWRyYWdnYWJsZS1tZW51X19saXN0XCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IG1lbnUgb2Ygc3RydWN0dXJlXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPVwiby1kcmFnZ2FibGUtbWVudV9fbGlzdF9faXRlbVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz1cImEtYnRuXCIgYXJpYS1oYXNwb3B1cD1cInRydWVcIiBhcmlhLWV4cGFuZGVkPVwiZmFsc2VcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHByeS1pY29uIFtpY29uU3ZnXT1cIm1lbnUuaWNvblwiPjwvcHJ5LWljb24+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7IG1lbnUubGFiZWwgfCBpMThuIH19XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2J1dHRvbj5cblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIGNsYXNzPVwiby1kcmFnZ2FibGUtbWVudV9fbGlzdF9fc3VibWVudVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBzdWIgb2YgbWVudS5zdWJcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9XCJvLWRyYWdnYWJsZS1tZW51X19saXN0X19zdWJtZW51X19pdGVtXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YnV0dG9uIGNsYXNzPVwiYS1idG5cIiAoY2xpY2spPVwibG9hZFdpZGdldChucS5pZCwgc3ViKVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cHJ5LWljb24gW2ljb25TdmddPVwic3ViLmljb25cIj48L3ByeS1pY29uPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7eyBzdWIubGFiZWwgfCBpMThuIH19XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L3VsPlxuICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICAgICAgICAgICAgPC9wcnktY2FyZC1tZW51PlxuXG4gICAgICAgICAgICAgICAgICA8cHJ5LWNhcmQtbWVudSBjbGFzcz1cIm8tcHJ5LWNhcmQtbWVudV9fbmF2X19pdGVtXCI+XG4gICAgICAgICAgICAgICAgICAgIDxwcnktbnEtY29sb3Itc2VsZWN0b3IgW25nU3R5bGVdPVwieyB3aWR0aDogJzEwMCUnIH1cIiBbZGF0YXNvdXJjZV09XCJucVwiPjwvcHJ5LW5xLWNvbG9yLXNlbGVjdG9yPlxuICAgICAgICAgICAgICAgICAgPC9wcnktY2FyZC1tZW51PlxuXG4gICAgICAgICAgICAgICAgICA8cHJ5LWNhcmQtbWVudSAoY2xpY2spPVwib25TcG90KG5xLmlkLCAkZXZlbnQpXCI+XG4gICAgICAgICAgICAgICAgICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiIGNsYXNzPVwiYS1idG4gYS1idG4tLWljb24tdGV4dCBvLXByeS1jYXJkLW1lbnVfX25hdl9faXRlbVwiPlxuICAgICAgICAgICAgICAgICAgICAgIDxwcnktaWNvbiBpY29uU3ZnPVwibW9kZV9jbGljXCI+PC9wcnktaWNvbj5cbiAgICAgICAgICAgICAgICAgICAgICB7eyAnQHByeS5zZWFyY2gubmFtZWRRdWVyeS5zcG90JyB8IGkxOG4gfX1cbiAgICAgICAgICAgICAgICAgICAgICA8cHJ5LWljb25cbiAgICAgICAgICAgICAgICAgICAgICAgIGljb25Tdmc9XCJmbGVjaGVfaGF1dFwiXG4gICAgICAgICAgICAgICAgICAgICAgICBbbmdTdHlsZV09XCJ7IHRyYW5zZm9ybTogJ3JvdGF0ZSg5MGRlZyknLCBtYXJnaW5MZWZ0OiAnYXV0bycgfVwiXG4gICAgICAgICAgICAgICAgICAgICAgPjwvcHJ5LWljb24+XG4gICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgICAgICAgPC9wcnktY2FyZC1tZW51PlxuICAgICAgICAgICAgICAgICAgPHByeS1jYXJkLW1lbnUgKGNsaWNrKT1cIm9uUmVmcmVzaChucS5pZCwgJGV2ZW50KVwiPlxuICAgICAgICAgICAgICAgICAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiBjbGFzcz1cImEtYnRuIGEtYnRuLS1pY29uLXRleHQgby1wcnktY2FyZC1tZW51X19uYXZfX2l0ZW1cIj5cbiAgICAgICAgICAgICAgICAgICAgICA8cHJ5LWljb24gaWNvblN2Zz1cImhpc3RvcnktbGluZVwiPjwvcHJ5LWljb24+XG4gICAgICAgICAgICAgICAgICAgICAge3sgJ0Bwcnkuc2VhcmNoLm5hbWVkUXVlcnkucmVmcmVzaC50aXRsZScgfCBpMThuIH19XG4gICAgICAgICAgICAgICAgICAgICAgPHByeS1pY29uXG4gICAgICAgICAgICAgICAgICAgICAgICBpY29uU3ZnPVwiZmxlY2hlX2hhdXRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW25nU3R5bGVdPVwieyB0cmFuc2Zvcm06ICdyb3RhdGUoOTBkZWcpJywgbWFyZ2luTGVmdDogJ2F1dG8nIH1cIlxuICAgICAgICAgICAgICAgICAgICAgID48L3ByeS1pY29uPlxuICAgICAgICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgICAgICAgIDwvcHJ5LWNhcmQtbWVudT5cbiAgICAgICAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiYS1idG4gYS1idG4tLWljb24tdGV4dCBvLXByeS1jYXJkLW1lbnVfX25hdl9faXRlbVwiXG4gICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJvbkRlbGV0ZShucSlcIlxuICAgICAgICAgICAgICAgICAgICAqbmdJZj1cIm5xLm93bmVyXCJcbiAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgPHByeS1pY29uIGljb25Tdmc9XCJkZWxldGVcIj48L3ByeS1pY29uPlxuICAgICAgICAgICAgICAgICAgICB7eyAnQHByeS5zZWFyY2gubmFtZWRRdWVyeS5kZWxldGUnIHwgaTE4biB9fVxuICAgICAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImEtYnRuIGEtYnRuLS1pY29uLXRleHQgby1wcnktY2FyZC1tZW51X19uYXZfX2l0ZW1cIlxuICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwib25SZW5hbWUobnEpXCJcbiAgICAgICAgICAgICAgICAgICAgKm5nSWY9XCJucS5vd25lclwiXG4gICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgIDxwcnktaWNvbiBpY29uU3ZnPVwicmVuYW1lZFwiPjwvcHJ5LWljb24+XG4gICAgICAgICAgICAgICAgICAgIHt7ICdAcHJ5LnNlYXJjaC5uYW1lZFF1ZXJ5LnJlbmFtZScgfCBpMThuIH19XG4gICAgICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiYS1idG4gYS1idG4tLWljb24tdGV4dCBvLXByeS1jYXJkLW1lbnVfX25hdl9faXRlbVwiXG4gICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJvbkVkaXQobnEpXCJcbiAgICAgICAgICAgICAgICAgICAgKGtleWRvd24udGFiKT1cImhpZGVTcG90KClcIlxuICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICA8cHJ5LWljb24gaWNvblN2Zz1cImVkaXRcIj48L3ByeS1pY29uPlxuICAgICAgICAgICAgICAgICAgICB7eyAnQHByeS5zZWFyY2gubmFtZWRRdWVyeS5lZGl0JyB8IGkxOG4gfX1cbiAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8L3ByeS1jYXJkLW1lbnU+XG4gICAgICAgICAgICA8L3ByeS1jYXJkLWhlYWRlcj5cbiAgICAgICAgICA8L3ByeS1jYXJkPlxuICAgICAgICA8L3ByeS1leHBhbmQtcGFuZWw+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxidXR0b25cbiAgICAgICAgY2xhc3M9XCJhLWJ0biAtbGluay1saWtlXCJcbiAgICAgICAgYXJpYS1wcmVzc2VkPVwiZmFsc2VcIlxuICAgICAgICBpZD1cImJ0bl92aWV3X21vcmVcIlxuICAgICAgICAqbmdJZj1cIm5hbWVkUXVlcnkubGVuZ3RoID4gMlwiXG4gICAgICAgIChjbGljayk9XCJvbkNoYW5nZUxpc3RWaWV3KGlzTW9yZUxpc3QpXCJcbiAgICAgID5cbiAgICAgICAge3sgaXNNb3JlTGlzdCA/ICgnQHByeS5zZWFyY2gubmFtZWRRdWVyeS5zZWVMZXNzJyB8IGkxOG4pIDogKCdAcHJ5LnNlYXJjaC5uYW1lZFF1ZXJ5LnNlZU1vcmUnIHwgaTE4bikgfX1cbiAgICAgIDwvYnV0dG9uPlxuICAgIDwvbmctY29udGFpbmVyPlxuXG4gICAgPG5nLXRlbXBsYXRlICNub05hbWVkUXVlcnk+XG4gICAgICA8cCBjbGFzcz1cInNlYXJjaC1ob21lX19jb250YWluZXItc2VhcmNoXCI+e3sgJ0Bwcnkuc2VhcmNoLm5hbWVkUXVlcnkuZW1wdHlOYW1lZFF1ZXJ5JyB8IGkxOG4gfX08L3A+XG4gICAgPC9uZy10ZW1wbGF0ZT5cbiAgPC9uZy1jb250YWluZXI+XG48L2Rpdj5cblxuPGRpdiBjbGFzcz1cIm8tcHJ5LXNlYXJjaC1ob21lX19zZWFyY2hcIj5cbiAgPGgzIGNsYXNzPVwiYS1oM1wiPnt7ICdAcHJ5LnNlYXJjaC5ob21lLnNzVGl0bGUnIHwgaTE4biB9fTwvaDM+XG4gIDxuZy1jb250YWluZXIgKm5nSWY9XCJzZWFyY2hGdWxsdGV4dFRwbFwiPlxuICAgIDxuZy1jb250YWluZXIgW25nVGVtcGxhdGVPdXRsZXRdPVwic2VhcmNoRnVsbHRleHRUcGxcIj48L25nLWNvbnRhaW5lcj5cbiAgICA8cCBjbGFzcz1cImEtcCBvLXByeS1zZWFyY2gtaG9tZV9fc2VhcmNoX19vclwiPnt7ICdAcHJ5LnNlYXJjaC5ob21lLm9yJyB8IGkxOG4gfX08L3A+XG4gIDwvbmctY29udGFpbmVyPlxuICA8YnV0dG9uIGNsYXNzPVwiYS1idG4gYS1idG4tLXByaW1hcnkgLXdpZHRoLWZ1bGxcIiAoY2xpY2spPVwib25TZWFyY2hDcml0ZXJpYSgpXCI+XG4gICAgPHByeS1pY29uIFt3aWR0aF09XCIyMFwiIFtoZWlnaHRdPVwiMjBcIiBpY29uU3ZnPVwic2VhcmNoLWNyaXRlcmlhXCI+PC9wcnktaWNvbj5cbiAgICB7eyAnQHByeS5zZWFyY2guaG9tZS5zZWFyY2hCeUNyaXRlcmlhJyB8IGkxOG4gfX1cbiAgICA8cHJ5LWljb24gaWNvblN2Zz1cImFycm93X3JpZ2h0XCI+PC9wcnktaWNvbj5cbiAgPC9idXR0b24+XG48L2Rpdj5cblxuPG5nLXRlbXBsYXRlICN0ZW1wbGF0ZVNwb3Q+XG4gIDxkaXYgKG1vdXNlbGVhdmUpPVwiaGlkZVNwb3QoKVwiPlxuICAgIHt7XG4gICAgICAoKHNwb3R0aW5nV2lkZ2V0JCB8IGFzeW5jKT8ubGVuZ3RoID8/IDAgPiAwXG4gICAgICAgID8gJ0Bwcnkuc2VhcmNoLm5hbWVkUXVlcnkuc3BvdFRpdGxlJ1xuICAgICAgICA6ICdAcHJ5LnNlYXJjaC5uYW1lZFF1ZXJ5Lm5vU3BvdCdcbiAgICAgICkgfCBpMThuIDogeyBsZW5ndGg6IChzcG90dGluZ1dpZGdldCQgfCBhc3luYyk/Lmxlbmd0aCB9XG4gICAgfX1cbiAgICA8ZGl2ICpuZ0Zvcj1cImxldCB1c2Ugb2Ygc3BvdHRpbmdXaWRnZXQkIHwgYXN5bmNcIiBjbGFzcz1cInNwb3QtbGluZVwiPlxuICAgICAgPHByeS1pY29uIFt3aWR0aF09XCIyMFwiIFtoZWlnaHRdPVwiMjBcIiBbaWNvblN2Z109XCJpY29uc1t1c2UudHlwZV1cIj48L3ByeS1pY29uPlxuICAgICAge3sgJ0Bwcnkuc2VhcmNoLm5hbWVkUXVlcnkudHlwZS4nICsgdXNlLnR5cGUgfCBpMThuIH19IC0ge3sgJ0Bwcnkuc2VhcmNoLm5hbWVkUXVlcnkudXNlJyB8IGkxOG4gOiB1c2UgfX1cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG48L25nLXRlbXBsYXRlPlxuXG48bmctdGVtcGxhdGUgI3RlbXBsYXRlUmVmcmVzaD5cbiAgPGRpdj5cbiAgICA8YnV0dG9uXG4gICAgICAqbmdGb3I9XCJsZXQgb3B0aW9uIG9mIHJlZnJlc2hPcHRpb25zXCJcbiAgICAgIGNsYXNzPVwicmVmcmVzaC1saW5lIGEtYnRuIGEtYnRuLS1pY29uLXRleHQgLXNpemUtc21cIlxuICAgICAgKGNsaWNrKT1cInNlbGVjdFJlZnJlc2gob3B0aW9uKVwiXG4gICAgPlxuICAgICAgPHByeS1pY29uXG4gICAgICAgIFt3aWR0aF09XCIyMFwiXG4gICAgICAgIFtoZWlnaHRdPVwiMjBcIlxuICAgICAgICBpY29uU3ZnPVwiY2hlY2tcIlxuICAgICAgICAqbmdJZj1cIigoKHJlZnJlc2hSYXRlcyQgfCBhc3luYykgPz8ge30pW3JlZnJlc2hJZF0gPz8gMCkgPT09IG9wdGlvblwiXG4gICAgICA+PC9wcnktaWNvbj5cbiAgICAgIHt7ICdAcHJ5LnNlYXJjaC5uYW1lZFF1ZXJ5LnJlZnJlc2guJyArIG9wdGlvbiB8IGkxOG4gfX1cbiAgICA8L2J1dHRvbj5cbiAgPC9kaXY+XG48L25nLXRlbXBsYXRlPlxuIl19
199
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhcmNoLWhvbWUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcHJvdm9seS9kYXNoYm9hcmQvc2VhcmNoL3NlYXJjaC1ob21lL3NlYXJjaC1ob21lLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Byb3ZvbHkvZGFzaGJvYXJkL3NlYXJjaC9zZWFyY2gtaG9tZS9zZWFyY2gtaG9tZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQThCLGFBQWEsRUFBYyxNQUFNLHNCQUFzQixDQUFDO0FBQzdGLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUNyRCxPQUFPLEVBQ0wsU0FBUyxFQUNULFlBQVksRUFDWixLQUFLLEVBR0wsTUFBTSxFQUNOLFdBQVcsRUFDWCxTQUFTLEVBRVYsTUFBTSxlQUFlLENBQUM7QUFFdkIsT0FBTyxFQUNMLGFBQWEsRUFDYixnQkFBZ0IsRUFDaEIsbUJBQW1CLEVBQ25CLGtCQUFrQixFQUNsQixpQkFBaUIsRUFDakIsbUJBQW1CLEVBQ25CLGVBQWUsRUFDZixvQkFBb0IsRUFHcEIsZUFBZSxFQUNmLHlCQUF5QixFQUd6QixhQUFhLEVBRWQsTUFBTSxvQkFBb0IsQ0FBQztBQUM1QixPQUFPLEVBQUUsZUFBZSxFQUFFLGFBQWEsRUFBRSxpQkFBaUIsRUFBRSxNQUFNLEVBQWMsWUFBWSxFQUFFLElBQUksRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUNqSCxPQUFPLEVBQUUsWUFBWSxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ25ELE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLCtDQUErQyxDQUFDOzs7Ozs7Ozs7QUFPdEYsTUFBTSxPQUFPLHNCQUFzQjtJQThDakMsWUFDVSxLQUFZLEVBQ1osT0FBZ0IsRUFDaEIsZ0JBQWtDLEVBQ2xDLFNBQTJCO1FB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QyxRQUFRLENBQ2pCLGFBQWEsQ0FBQyxrQkFBa0IsQ0FBQyxFQUFFLEVBQUUsRUFBRSxVQUFVLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxrQ0FBa0MsRUFBRSxDQUFDLENBQ3RHLENBQUM7SUFDSixDQUFDO0lBRUQsV0FBVztRQUNULElBQUksQ0FBQyxZQUFZLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDbEMsQ0FBQzsrR0EzTlUsc0JBQXNCO21HQUF0QixzQkFBc0IsMlRBQ0UsV0FBVyw2R0FDUixXQUFXLDZCQzNDbkQsNDdXQWtQQTs7NEZEek1hLHNCQUFzQjtrQkFKbEMsU0FBUzsrQkFDRSxpQkFBaUI7Z0xBSXVCLFlBQVk7c0JBQTdELFNBQVM7dUJBQUMsY0FBYyxFQUFFLEVBQUUsSUFBSSxFQUFFLFdBQVcsRUFBRTtnQkFDSyxlQUFlO3NCQUFuRSxTQUFTO3VCQUFDLGlCQUFpQixFQUFFLEVBQUUsSUFBSSxFQUFFLFdBQVcsRUFBRTtnQkFFMUMsaUJBQWlCO3NCQUF6QixLQUFLO2dCQUNHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBRUksY0FBYztzQkFBdkIsTUFBTTtnQkFDRyxvQkFBb0I7c0JBQTdCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb25uZWN0ZWRQb3NpdGlvbiwgT3ZlcmxheSwgT3ZlcmxheUNvbmZpZywgT3ZlcmxheVJlZiB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9vdmVybGF5JztcbmltcG9ydCB7IFRlbXBsYXRlUG9ydGFsIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL3BvcnRhbCc7XG5pbXBvcnQge1xuICBDb21wb25lbnQsXG4gIEV2ZW50RW1pdHRlcixcbiAgSW5wdXQsXG4gIE9uRGVzdHJveSxcbiAgT25Jbml0LFxuICBPdXRwdXQsXG4gIFRlbXBsYXRlUmVmLFxuICBWaWV3Q2hpbGQsXG4gIFZpZXdDb250YWluZXJSZWZcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTdG9yZSB9IGZyb20gJ0BuZ3J4L3N0b3JlJztcbmltcG9ydCB7XG4gIENvbmZpZ0FjdGlvbnMsXG4gIERhc2hib2FyZEFjdGlvbnMsXG4gIERhc2hib2FyZEdyaWRMYXlvdXQsXG4gIERhc2hib2FyZFNlbGVjdG9ycyxcbiAgRGF0YVNvdXJjZUFjdGlvbnMsXG4gIERhdGFTb3VyY2VTZWxlY3RvcnMsXG4gIERhdGFzb3VyY2VVdGlscyxcbiAgZGVmYXVsdE1lbnVTdHJ1Y3R1cmUsXG4gIEZ1bGxUZXh0U2VhcmNoUGF5bG9hZCxcbiAgTmFtZWRRdWVyeSxcbiAgTmFtZWRRdWVyeVR5cGVzLFxuICBQcnlEaWFsb2dDb25maXJtQ29tcG9uZW50LFxuICBQcnlEaWFsb2dDb25maXJtRGF0YSxcbiAgUHJ5RGlhbG9nU2VydmljZSxcbiAgU2VhcmNoQWN0aW9ucyxcbiAgV2lkZ2V0TGF5b3V0XG59IGZyb20gJ0Bwcm92b2x5L2Rhc2hib2FyZCc7XG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIGNvbWJpbmVMYXRlc3QsIGNvbWJpbmVMYXRlc3RXaXRoLCBmaWx0ZXIsIE9ic2VydmFibGUsIFN1YnNjcmlwdGlvbiwgdGFrZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgZGVib3VuY2VUaW1lLCBtYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBQcnlTYXZlUXVlcnlDb21wb25lbnQgfSBmcm9tICcuLi9jb21wb25lbnRzL3NhdmUtcXVlcnkvc2F2ZS1xdWVyeS5jb21wb25lbnQnO1xuaW1wb3J0IHsgU2VhcmNoRnVsbHRleHRDaGFuZ2UgfSBmcm9tICcuLi9zZWFyY2gtZnVsbHRleHQvc2VhcmNoLWZ1bGx0ZXh0L3NlYXJjaC1mdWxsdGV4dC5jb21wb25lbnQnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdwcnktc2VhcmNoLWhvbWUnLFxuICB0ZW1wbGF0ZVVybDogJy4vc2VhcmNoLWhvbWUuY29tcG9uZW50Lmh0bWwnXG59KVxuZXhwb3J0IGNsYXNzIFByeVNlYXJjaEhvbWVDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG4gIEBWaWV3Q2hpbGQoJ3RlbXBsYXRlU3BvdCcsIHsgcmVhZDogVGVtcGxhdGVSZWYgfSkgdGVtcGxhdGVTcG90ITogVGVtcGxhdGVSZWY8YW55PjtcbiAgQFZpZXdDaGlsZCgndGVtcGxhdGVSZWZyZXNoJywgeyByZWFkOiBUZW1wbGF0ZVJlZiB9KSB0ZW1wbGF0ZVJlZnJlc2ghOiBUZW1wbGF0ZVJlZjxhbnk+O1xuXG4gIEBJbnB1dCgpIHNlYXJjaEZ1bGx0ZXh0VHBsPzogVGVtcGxhdGVSZWY8YW55PjtcbiAgQElucHV0KCkgaXNNb3JlTGlzdCA9IGZhbHNlO1xuXG4gIEBPdXRwdXQoKSBjaGFuZ2VMaXN0VmlldyA9IG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oKTtcbiAgQE91dHB1dCgpIGNoYW5nZVNlYXJjaENyaXRlcmlhID0gbmV3IEV2ZW50RW1pdHRlcjxib29sZWFuPigpO1xuXG4gIG5hbWVkUXVlcnlMaXN0JD86IE9ic2VydmFibGU8TmFtZWRRdWVyeVtdPjtcbiAgcHJpdmF0ZSBzdWJzY3JpcHRpb246IFN1YnNjcmlwdGlvbiA9IG5ldyBTdWJzY3JpcHRpb24oKTtcblxuICBuYW1lZFF1ZXJpZXNVc2VzJCE6IE9ic2VydmFibGU8eyBbcDogc3RyaW5nXTogeyB3aW5kb3dJbmRleDogbnVtYmVyOyB0eXBlOiBzdHJpbmc7IGxheW91dDogV2lkZ2V0TGF5b3V0IH1bXSB9PjtcbiAgc3BvdHRpbmckID0gbmV3IEJlaGF2aW9yU3ViamVjdDxzdHJpbmc+KCcnKTtcbiAgc3BvdHRpbmdXaWRnZXQkITogT2JzZXJ2YWJsZTx7IHdpbmRvd0luZGV4OiBudW1iZXI7IHR5cGU6IHN0cmluZzsgbGF5b3V0OiBXaWRnZXRMYXlvdXQgfVtdPjtcbiAgcmVmcmVzaE9wdGlvbnMgPSBbMCwgMTAsIDMwLCA2MF07XG5cbiAgaWNvbnMgPSB7XG4gICAgbWFwOiAnc2hhcmVfbG9jYXRpb24nLFxuICAgIHRhYmxlOiAndGFibGVfY2hhcnQnLFxuICAgIGNoYXJ0OiAnc2hvd19jaGFydCcsXG4gICAgZ3JhcGg6ICdncmFwaCdcbiAgfSBhcyB7IFtrZXk6IHN0cmluZ106IHN0cmluZyB9O1xuXG4gIGxvYWRPcGVuZWQ6IHN0cmluZyB8IHVuZGVmaW5lZDtcblxuICBwcml2YXRlIG92ZXJsYXlSZWY/OiBPdmVybGF5UmVmO1xuXG4gIHJlYWRvbmx5IGNvbm5lY3RlZFBvc2l0aW9uOiBDb25uZWN0ZWRQb3NpdGlvbiA9IHtcbiAgICBvcmlnaW5YOiAnc3RhcnQnLFxuICAgIG9yaWdpblk6ICdib3R0b20nLFxuICAgIG92ZXJsYXlYOiAnc3RhcnQnLFxuICAgIG92ZXJsYXlZOiAndG9wJ1xuICB9O1xuICBzdHJ1Y3R1cmUgPSBkZWZhdWx0TWVudVN0cnVjdHVyZS5tYXAoKGl0ZW1zKSA9PiAoe1xuICAgIC4uLml0ZW1zLFxuICAgIHN1YjogaXRlbXMuc3ViLmZpbHRlcigocykgPT4gcy50eXBlICE9PSAnaWZyYW1lJyAmJiBzLnR5cGUgIT09ICdkZXRhaWwnKVxuICB9KSk7XG5cbiAgcmVmcmVzaFJhdGVzJCE6IE9ic2VydmFibGU8eyBbcDogc3RyaW5nXTogbnVtYmVyIH0+O1xuICByZWZyZXNoSWQ6IHN0cmluZyA9ICcnO1xuICBkZWxldGVFcnJvciQ/OiBPYnNlcnZhYmxlPGFueT47XG4gIGxheW91dCQhOiBPYnNlcnZhYmxlPHN0cmluZz47XG4gIERhc2hib2FyZEdyaWRMYXlvdXQgPSBEYXNoYm9hcmRHcmlkTGF5b3V0O1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgc3RvcmU6IFN0b3JlLFxuICAgIHByaXZhdGUgb3ZlcmxheTogT3ZlcmxheSxcbiAgICBwcml2YXRlIHZpZXdDb250YWluZXJSZWY6IFZpZXdDb250YWluZXJSZWYsXG4gICAgcHJpdmF0ZSBwcnlEaWFsb2c6IFByeURpYWxvZ1NlcnZpY2VcbiAgKSB7fVxuXG4gIG5nT25Jbml0KCkge1xuICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2goRGF0YVNvdXJjZUFjdGlvbnMubG9hZCgpKTtcbiAgICB0aGlzLm5hbWVkUXVlcnlMaXN0JCA9IHRoaXMuc3RvcmUuc2VsZWN0KERhdGFTb3VyY2VTZWxlY3RvcnMuZ2V0TmFtZWRRdWVyeVNvcnRlZCk7XG4gICAgdGhpcy5uYW1lZFF1ZXJpZXNVc2VzJCA9IHRoaXMuc3RvcmUuc2VsZWN0KERhc2hib2FyZFNlbGVjdG9ycy5uYW1lZFF1ZXJpZXNVc2VzKTtcbiAgICB0aGlzLnNwb3R0aW5nV2lkZ2V0JCA9IGNvbWJpbmVMYXRlc3QoW3RoaXMubmFtZWRRdWVyaWVzVXNlcyQsIHRoaXMuc3BvdHRpbmckXSkucGlwZShcbiAgICAgIG1hcCgoW3VzZXMsIHNwb3R0aW5nXSkgPT4gdXNlc1tzcG90dGluZ10gPz8gW10pLFxuICAgICAgbWFwKCh1c2VzKSA9PiB1c2VzLm1hcCgodXNlKSA9PiAoeyAuLi51c2UsIHdpbmRvd0luZGV4OiB1c2Uud2luZG93SW5kZXggKyAxIH0pKSlcbiAgICApO1xuICAgIHRoaXMucmVmcmVzaFJhdGVzJCA9IHRoaXMuc3RvcmUuc2VsZWN0KERhc2hib2FyZFNlbGVjdG9ycy5yZWZyZXNoUmF0ZXMpO1xuICAgIHRoaXMubGF5b3V0JCA9IHRoaXMuc3RvcmUuc2VsZWN0KERhc2hib2FyZFNlbGVjdG9ycy5ncmlkTGF5b3V0KTtcbiAgICB0aGlzLmRlbGV0ZUVycm9yJCA9IHRoaXMuc3RvcmUuc2VsZWN0KERhdGFTb3VyY2VTZWxlY3RvcnMuZXJyb3JzKS5waXBlKGRlYm91bmNlVGltZSgxMDApKTtcbiAgfVxuXG4gIG9uU2VhcmNoTmFtZWRRdWVyeShpZDogc3RyaW5nKSB7XG4gICAgdGhpcy5zdG9yZS5kaXNwYXRjaChEYXNoYm9hcmRBY3Rpb25zLnVwZGF0ZVdpZGdldEluUHJlc2VudGF0aW9uKHsgaWQsIHdpZGdldFR5cGU6ICd0YWJsZScgfSkpO1xuICB9XG5cbiAgb25GYXZvcml0ZShpZDogc3RyaW5nLCBpc0Zhdm9yaXRlOiBib29sZWFuIHwgdW5kZWZpbmVkKSB7XG4gICAgaWYgKCFpc0Zhdm9yaXRlKSB7XG4gICAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKERhdGFTb3VyY2VBY3Rpb25zLm5hbWVkUXVlcnkuYWRkRmF2b3JpdGUoeyBpZCB9KSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2goRGF0YVNvdXJjZUFjdGlvbnMubmFtZWRRdWVyeS5kZWxldGVGYXZvcml0ZSh7IGlkIH0pKTtcbiAgICB9XG4gIH1cblxuICBvblNwb3QoaWQ6IHN0cmluZywgJGV2ZW50OiBNb3VzZUV2ZW50KSB7XG4gICAgdGhpcy5zcG90dGluZyQubmV4dChpZCk7XG5cbiAgICBpZiAoIXRoaXMub3ZlcmxheVJlZikge1xuICAgICAgdGhpcy5vdmVybGF5UmVmID0gdGhpcy5vdmVybGF5LmNyZWF0ZShcbiAgICAgICAgbmV3IE92ZXJsYXlDb25maWcoe1xuICAgICAgICAgIGhhc0JhY2tkcm9wOiBmYWxzZSxcbiAgICAgICAgICBwYW5lbENsYXNzOiBbJ3Nwb3QtcnMnXVxuICAgICAgICB9KVxuICAgICAgKTtcbiAgICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2goQ29uZmlnQWN0aW9ucy5hZGRpbmdPdmVybGF5KHsgaWQ6IHRoaXMuY29uc3RydWN0b3IubmFtZSB9KSk7XG4gICAgICB0aGlzLm92ZXJsYXlSZWYuYXR0YWNoKG5ldyBUZW1wbGF0ZVBvcnRhbCh0aGlzLnRlbXBsYXRlU3BvdCwgdGhpcy52aWV3Q29udGFpbmVyUmVmKSk7XG4gICAgICBjb25zdCBzcG90RWxlbWVudCA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJy5zcG90LXJzJykgYXMgSFRNTERpdkVsZW1lbnQ7XG4gICAgICBpZiAoISFzcG90RWxlbWVudCkge1xuICAgICAgICBzcG90RWxlbWVudC5zdHlsZS5sZWZ0ID0gJGV2ZW50LmNsaWVudFggLSAxMCArICdweCc7XG4gICAgICAgIHNwb3RFbGVtZW50LnN0eWxlLnRvcCA9ICRldmVudC5jbGllbnRZIC0gMTAgKyAncHgnO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIGhpZGVTcG90KCkge1xuICAgIHRoaXMub3ZlcmxheVJlZj8uZGlzcG9zZSgpO1xuICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2goQ29uZmlnQWN0aW9ucy5jbG9zZU92ZXJsYXkoeyBpZDogdGhpcy5jb25zdHJ1Y3Rvci5uYW1lIH0pKTtcbiAgICB0aGlzLm92ZXJsYXlSZWYgPSB1bmRlZmluZWQ7XG4gIH1cblxuICBvbkVkaXQobmFtZWRRdWVyeTogTmFtZWRRdWVyeSkge1xuICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2goRGF0YVNvdXJjZUFjdGlvbnMubmFtZWRRdWVyeS5lZGl0KHsgY3VycmVudEVkaXQ6IG5hbWVkUXVlcnkgfSkpO1xuICB9XG5cbiAgb25DaGFuZ2VMaXN0Vmlldyhpc01vcmVMaXN0OiBib29sZWFuKSB7XG4gICAgdGhpcy5jaGFuZ2VMaXN0Vmlldy5lbWl0KGlzTW9yZUxpc3QpO1xuICB9XG5cbiAgb25TZWFyY2hDcml0ZXJpYSgpIHtcbiAgICB0aGlzLmNoYW5nZVNlYXJjaENyaXRlcmlhLmVtaXQoKTtcbiAgfVxuXG4gIGxvYWRXaWRnZXQoaWQ6IHN0cmluZywgc3ViOiB7IGljb246IHN0cmluZzsgbGFiZWw6IHN0cmluZzsgdHlwZTogc3RyaW5nIH0pIHtcbiAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKERhc2hib2FyZEFjdGlvbnMudXBkYXRlV2lkZ2V0SW5QcmVzZW50YXRpb24oeyBpZCwgd2lkZ2V0VHlwZTogc3ViLnR5cGUgfSkpO1xuICAgIHRoaXMubG9hZE9wZW5lZCA9IHVuZGVmaW5lZDtcbiAgfVxuXG4gIG9uRGVsZXRlKG5xOiBOYW1lZFF1ZXJ5KSB7XG4gICAgY29uc3QgZGF0YTogUHJ5RGlhbG9nQ29uZmlybURhdGEgPSB7XG4gICAgICB0aXRsZTogJ0Bwcnkuc2VhcmNoLm5hbWVkUXVlcnkuZGVsZXRlJyxcbiAgICAgIGFjdGlvbnM6IFtcbiAgICAgICAgeyBpZDogMCwgbGFiZWw6ICdAcHJ5LnRvb2xib3gubWFuaWZlc3QuY2xvc2UnLCBjb2xvcjogJ3NlY29uZGFyeScgfSxcbiAgICAgICAgeyBpZDogMSwgbGFiZWw6ICdAcHJ5LnNlYXJjaC5uYW1lZFF1ZXJ5LmRlbGV0ZScgfVxuICAgICAgXVxuICAgIH07XG4gICAgY29uc3QgZGlhbG9nID0gdGhpcy5wcnlEaWFsb2cub3BlbihQcnlEaWFsb2dDb25maXJtQ29tcG9uZW50LCB7XG4gICAgICBkYXRhXG4gICAgfSk7XG4gICAgdGhpcy5zdWJzY3JpcHRpb24uYWRkKFxuICAgICAgZGlhbG9nLmNsb3NlVmFsdWUucGlwZSh0YWtlKDEpKS5zdWJzY3JpYmUoKGFjdGlvbikgPT4ge1xuICAgICAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKENvbmZpZ0FjdGlvbnMuY2xvc2VPdmVybGF5KHsgaWQ6ICdQcnlEaWFsb2dDb25maXJtQ29tcG9uZW50JyB9KSk7XG4gICAgICAgIGlmIChhY3Rpb24uaWQgPT09IDEpIHtcbiAgICAgICAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKERhdGFTb3VyY2VBY3Rpb25zLm5hbWVkUXVlcnkuZGVsZXRlKHsgaWQ6IG5xLmlkID8/ICcnIH0pKTtcbiAgICAgICAgICB0aGlzLnN1YnNjcmlwdGlvbi5hZGQoXG4gICAgICAgICAgICB0aGlzLmRlbGV0ZUVycm9yJFxuICAgICAgICAgICAgICA/LnBpcGUoXG4gICAgICAgICAgICAgICAgY29tYmluZUxhdGVzdFdpdGgodGhpcy5zdG9yZS5zZWxlY3QoRGF0YVNvdXJjZVNlbGVjdG9ycy5pc0xvYWRpbmcpKSxcbiAgICAgICAgICAgICAgICBmaWx0ZXIoKFssIGlzTG9hZGluZ10pID0+ICFpc0xvYWRpbmcpLFxuICAgICAgICAgICAgICAgIHRha2UoMSlcbiAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAuc3Vic2NyaWJlKChbZXJyb3JdKSA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKGVycm9yPy5zdGF0dXMgPT09IDQwMykge1xuICAgICAgICAgICAgICAgICAgY29uc3QgZGF0YTogUHJ5RGlhbG9nQ29uZmlybURhdGEgPSB7XG4gICAgICAgICAgICAgICAgICAgIHRpdGxlOiAnQHByeS5tYW5pZmVzdC5kZWxldGVFcnJvcicsXG4gICAgICAgICAgICAgICAgICAgIGFjdGlvbnM6IFt7IGlkOiAxLCBsYWJlbDogJ0BwcnkudG9vbGJveC5jbG9zZScgfV1cbiAgICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICAgICAgICBjb25zdCBlcnJvckRpYWxvZyA9IHRoaXMucHJ5RGlhbG9nLm9wZW4oUHJ5RGlhbG9nQ29uZmlybUNvbXBvbmVudCwge1xuICAgICAgICAgICAgICAgICAgICBkYXRhXG4gICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICAgIHRoaXMuc3Vic2NyaXB0aW9uLmFkZChcbiAgICAgICAgICAgICAgICAgICAgZXJyb3JEaWFsb2cuY2xvc2VWYWx1ZS5waXBlKHRha2UoMSkpLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgdGhpcy5zdG9yZS5kaXNwYXRjaChDb25maWdBY3Rpb25zLmNsb3NlT3ZlcmxheSh7IGlkOiAnUHJ5RGlhbG9nQ29uZmlybUNvbXBvbmVudCcgfSkpO1xuICAgICAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH0pXG4gICAgICAgICAgKTtcbiAgICAgICAgfVxuICAgICAgfSlcbiAgICApO1xuICB9XG5cbiAgb25SZW5hbWUobnE6IE5hbWVkUXVlcnkpIHtcbiAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKERhdGFTb3VyY2VBY3Rpb25zLm5hbWVkUXVlcnkub3BlblJlbmFtZSgpKTtcbiAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKERhdGFTb3VyY2VBY3Rpb25zLm5hbWVkUXVlcnkuZWRpdCh7IGN1cnJlbnRFZGl0OiBucSB9KSk7XG4gICAgY29uc3Qgc2F2ZSA9IGZhbHNlO1xuICAgIGNvbnN0IHR5cGUgPSBEYXRhc291cmNlVXRpbHMuZ2V0VHlwZUZyb21QYXlsb2FkKG5xLnJlcXVlc3QpO1xuICAgIGNvbnN0IGRhdGEgPVxuICAgICAgdHlwZSA9PT0gTmFtZWRRdWVyeVR5cGVzLkZVTExfVEVYVFxuICAgICAgICA/IHsgc2F2ZSwgdHlwZSwgcGF5bG9hZDogdGhpcy5leHRyYWN0UGF5bG9hZChucS5yZXF1ZXN0IGFzIEZ1bGxUZXh0U2VhcmNoUGF5bG9hZCkgfVxuICAgICAgICA6IHsgc2F2ZSwgdHlwZSB9O1xuICAgIHRoaXMucHJ5RGlhbG9nLm9wZW4oUHJ5U2F2ZVF1ZXJ5Q29tcG9uZW50LCB7IGRhdGEgfSk7XG4gIH1cblxuICBwcml2YXRlIGV4dHJhY3RQYXlsb2FkKHBheWxvYWQ6IEZ1bGxUZXh0U2VhcmNoUGF5bG9hZCk6IFNlYXJjaEZ1bGx0ZXh0Q2hhbmdlIHtcbiAgICBjb25zdCB7IGZ1bGxTZWFyY2gsIG9DbGFzc2VzIH0gPSBwYXlsb2FkO1xuICAgIHJldHVybiB7IHZhbHVlOiBmdWxsU2VhcmNoLnZhbHVlLCBjbGFzc2VzOiBvQ2xhc3NlcyA/PyBbXSB9O1xuICB9XG5cbiAgb25SZWZyZXNoKGlkOiBzdHJpbmcsICRldmVudDogTW91c2VFdmVudCkge1xuICAgIHRoaXMucmVmcmVzaElkID0gaWQ7XG5cbiAgICBpZiAoIXRoaXMub3ZlcmxheVJlZikge1xuICAgICAgdGhpcy5vdmVybGF5UmVmID0gdGhpcy5vdmVybGF5LmNyZWF0ZShcbiAgICAgICAgbmV3IE92ZXJsYXlDb25maWcoe1xuICAgICAgICAgIGhhc0JhY2tkcm9wOiB0cnVlLFxuICAgICAgICAgIHBhbmVsQ2xhc3M6IFsncmVmcmVzaC1ycyddXG4gICAgICAgIH0pXG4gICAgICApO1xuICAgICAgdGhpcy5zdG9yZS5kaXNwYXRjaChDb25maWdBY3Rpb25zLmFkZGluZ092ZXJsYXkoeyBpZDogdGhpcy5jb25zdHJ1Y3Rvci5uYW1lIH0pKTtcbiAgICAgIHRoaXMub3ZlcmxheVJlZi5hdHRhY2gobmV3IFRlbXBsYXRlUG9ydGFsKHRoaXMudGVtcGxhdGVSZWZyZXNoLCB0aGlzLnZpZXdDb250YWluZXJSZWYpKTtcbiAgICAgIHRoaXMub3ZlcmxheVJlZi5iYWNrZHJvcENsaWNrKCkuc3Vic2NyaWJlKChfKSA9PiB0aGlzLmhpZGVTcG90KCkpO1xuICAgICAgY29uc3QgcmVmcmVzaEVsZW1lbnQgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcucmVmcmVzaC1ycycpIGFzIEhUTUxEaXZFbGVtZW50O1xuICAgICAgY29uc3QgcmVmcmVzaCA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJy5yZWZyZXNoYnQnKSBhcyBIVE1MRGl2RWxlbWVudDtcbiAgICAgIGlmICghIXJlZnJlc2hFbGVtZW50KSB7XG4gICAgICAgIGNvbnN0IHJlY3QgPSByZWZyZXNoLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xuICAgICAgICByZWZyZXNoRWxlbWVudC5zdHlsZS5sZWZ0ID0gcmVjdC5sZWZ0ICsgcmVjdC53aWR0aCArIDEwICsgJ3B4JztcbiAgICAgICAgcmVmcmVzaEVsZW1lbnQuc3R5bGUudG9wID0gcmVjdC50b3AgKyAxMzcgKyAncHgnO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHNlbGVjdFJlZnJlc2goJGV2ZW50OiBudW1iZXIpIHtcbiAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKERhc2hib2FyZEFjdGlvbnMuc2V0UmVmcmVzaFJhdGUoeyBpZDogdGhpcy5yZWZyZXNoSWQgPz8gJycsIHJhdGU6ICRldmVudCB9KSk7XG4gICAgdGhpcy5oaWRlU3BvdCgpO1xuICB9XG5cbiAgcmVmcmVzaChpZDogc3RyaW5nKSB7XG4gICAgdGhpcy5zdG9yZS5kaXNwYXRjaChcbiAgICAgIFNlYXJjaEFjdGlvbnMuZ2V0RGF0YXNvdXJjZUl0ZW1zKHsgaWQsIGV4Y2x1ZGVHZW86IGZhbHNlLCBmcm9tOiAnUHJ5U2VhcmNoSG9tZUNvbXBvbmVudC5yZWZyZXNoKCknIH0pXG4gICAgKTtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuc3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XG4gIH1cbn1cbiIsIjxwcnktc2VhcmNoLWNzcz48L3ByeS1zZWFyY2gtY3NzPlxuPGRpdiBjbGFzcz1cIm8tcHJ5LXNlYXJjaC1ob21lX19uYW1lZC1xdWVyeVwiPlxuICA8bmctY29udGFpbmVyICpuZ0lmPVwibmFtZWRRdWVyeUxpc3QkIHwgYXN5bmMgYXMgbmFtZWRRdWVyeVwiPlxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJuYW1lZFF1ZXJ5Lmxlbmd0aCA+IDA7IGVsc2Ugbm9OYW1lZFF1ZXJ5XCI+XG4gICAgICA8ZGl2IGNsYXNzPVwiby1wcnktc2VhcmNoLWhvbWVfX25hbWVkLXF1ZXJ5X19jYXJkXCI+XG4gICAgICAgIDxwcnktZXhwYW5kLXBhbmVsIFtvcGVuXT1cInRydWVcIj5cbiAgICAgICAgICA8cHJ5LWV4cGFuZC1wYW5lbC10aXRsZT57eyAnQHByeS5zZWFyY2guaG9tZS50aXRsZScgfCBpMThuIH19PC9wcnktZXhwYW5kLXBhbmVsLXRpdGxlPlxuXG4gICAgICAgICAgPHByeS1jYXJkICpuZ0Zvcj1cImxldCBucSBvZiBuYW1lZFF1ZXJ5Lmxlbmd0aCA+IDEgJiYgIWlzTW9yZUxpc3QgPyBuYW1lZFF1ZXJ5LnNsaWNlKDAsIDIpIDogbmFtZWRRdWVyeVwiPlxuICAgICAgICAgICAgPHByeS1jYXJkLWhlYWRlciBbbWFya2VyXT1cInRydWVcIj5cbiAgICAgICAgICAgICAgPHByeS1jYXJkLWljb24+XG4gICAgICAgICAgICAgICAgPHByeS1ucS1jb2xvci1zZWxlY3RvciBbZGF0YXNvdXJjZV09XCJucVwiIFtkaXNhYmxlZF09XCJ0cnVlXCI+PC9wcnktbnEtY29sb3Itc2VsZWN0b3I+XG4gICAgICAgICAgICAgICAgPGltZ1xuICAgICAgICAgICAgICAgICAgW2FsdF09XCJucS5pZCB8IHRyYW5zbGF0ZUlkIDogeyB0eXBlOiAnZGF0YXNvdXJjZScsIG91dHB1dDogJ25hbWUnIH0gfCBhc3luY1wiXG4gICAgICAgICAgICAgICAgICBbaGVpZ2h0XT1cIjIyXCJcbiAgICAgICAgICAgICAgICAgIFt3aWR0aF09XCIyMlwiXG4gICAgICAgICAgICAgICAgICBbc3JjXT1cIm5xLmlkIHwgdHJhbnNsYXRlSWQgOiB7IHR5cGU6ICdkYXRhc291cmNlJywgb3V0cHV0OiAnaWNvbicgfSB8IGFzeW5jXCJcbiAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICA8L3ByeS1jYXJkLWljb24+XG5cbiAgICAgICAgICAgICAgPHByeS1jYXJkLXRpdGxlPlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJvLXByeS1jYXJkLXRpdGxlX190ZXh0XCIgYXJpYS1kZXNjcmliZWRieT1cImluZm9Ub29sdGlwX3NlYXJjaEhvbWVcIj5cbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJhLXAgby1wcnktY2FyZC10aXRsZV9fdGV4dF9fdGl0bGVcIj57eyBucS5uYW1lIH19PC9kaXY+XG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYS1wIG8tcHJ5LWNhcmQtdGl0bGVfX3RleHRfX2Rlc2NyaXB0aW9uXCIgKm5nSWY9XCJucS5kZXNjcmlwdGlvblwiPnt7IG5xLmRlc2NyaXB0aW9uIH19PC9kaXY+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPG5nLXRlbXBsYXRlICNpbmZvVG9vbHRpcD5cbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtLXRvb2x0aXBcIiByb2xlPVwidG9vbHRpcFwiIGlkPVwiaW5mb1Rvb2x0aXBfc2VhcmNoSG9tZVwiPlxuICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cIm0tdG9vbHRpcF9fdGV4dFwiPlxuICAgICAgICAgICAgICAgICAgICAgIHt7IG5xLm5hbWUgfX1cbiAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cIm0tdG9vbHRpcF9fZGVzY3JpcHRpb25cIiAqbmdJZj1cIm5xLmRlc2NyaXB0aW9uXCI+XG4gICAgICAgICAgICAgICAgICAgICAge3sgbnEuZGVzY3JpcHRpb24gfX1cbiAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgICAgICAgICA8cHJ5LWljb25cbiAgICAgICAgICAgICAgICAgIGNsYXNzPVwiby1wcnktY2FyZC10aXRsZV9fcGluXCJcbiAgICAgICAgICAgICAgICAgICpuZ0lmPVwibnEuZmF2b3JpdGVcIlxuICAgICAgICAgICAgICAgICAgW3dpZHRoXT1cIjE4XCJcbiAgICAgICAgICAgICAgICAgIFtoZWlnaHRdPVwiMThcIlxuICAgICAgICAgICAgICAgICAgYXJpYS1sYWJlbD1cImZhdm9yaXRlXCJcbiAgICAgICAgICAgICAgICAgIGljb25Tdmc9XCJlcGluZ2xlXCJcbiAgICAgICAgICAgICAgICA+PC9wcnktaWNvbj5cblxuICAgICAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgICAgIFthdHRyLmRhdGEtdG9vbHRpcF09XCInQHByeS5zZWFyY2guaG9tZS5zaG93QXNzb2NpYXRlZFdpZGdldCcgfCBpMThuXCJcbiAgICAgICAgICAgICAgICAgIGRhdGEtdG9vbHRpcC1wb3NpdGlvbj1cImJvdHRvbVwiXG4gICAgICAgICAgICAgICAgICBjbGFzcz1cImEtdG9vbHRpcCBhLWJ0biBhLWJ0bi0tc2Vjb25kYXJ5IC1zaXplLXNtIC1vdmVycmlkZS10b29sdGlwLXBvc2l0aW9uXCJcbiAgICAgICAgICAgICAgICAgIChjbGljayk9XCJvblNlYXJjaE5hbWVkUXVlcnkobnEuaWQpXCJcbiAgICAgICAgICAgICAgICAgICpuZ0lmPVwiKGxheW91dCQgfCBhc3luYykgIT09IERhc2hib2FyZEdyaWRMYXlvdXQuTUFOVUFMXCJcbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICB7eyAnQHByeS5zZWFyY2gubmFtZWRRdWVyeS5kaXNwbGF5JyB8IGkxOG4gfX1cbiAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwidS12aXN1YWxseS1oaWRkZW5cIj57eyAnQHByeS5zZWFyY2guaG9tZS5hc3NvY2lhdGVkV2lkZ2V0JyB8IGkxOG4gfX08L3NwYW4+XG4gICAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICAgIDwvcHJ5LWNhcmQtdGl0bGU+XG5cbiAgICAgICAgICAgICAgPHByeS1jYXJkLW1lbnU+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm8tcHJ5LWNhcmQtbWVudV9fbmF2XCI+XG4gICAgICAgICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImEtYnRuIGEtYnRuLS1pY29uLXRleHQgby1wcnktY2FyZC1tZW51X19uYXZfX2l0ZW1cIlxuICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwib25GYXZvcml0ZShucS5pZCwgbnEuZmF2b3JpdGUpXCJcbiAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgPHByeS1pY29uIGljb25Tdmc9XCJlcGluZ2xlXCI+PC9wcnktaWNvbj5cbiAgICAgICAgICAgICAgICAgICAge3sgKG5xLmZhdm9yaXRlID8gJ0Bwcnkuc2VhcmNoLm5hbWVkUXVlcnkubm9GYXZvcml0ZScgOiAnQHByeS5zZWFyY2gubmFtZWRRdWVyeS5mYXZvcml0ZScpIHwgaTE4biB9fVxuICAgICAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICAgICAgICA8cHJ5LWNhcmQtbWVudSAoY2xpY2spPVwicmVmcmVzaChucS5pZClcIiBjbGFzcz1cInJlZnJlc2hidFwiPlxuICAgICAgICAgICAgICAgICAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiBjbGFzcz1cImEtYnRuIGEtYnRuLS1pY29uLXRleHQgby1wcnktY2FyZC1tZW51X19uYXZfX2l0ZW1cIj5cbiAgICAgICAgICAgICAgICAgICAgICA8cHJ5LWljb24gaWNvblN2Zz1cInN5bmNocm9cIj48L3ByeS1pY29uPlxuICAgICAgICAgICAgICAgICAgICAgIHt7ICdAcHJ5LnNlYXJjaC5uYW1lZFF1ZXJ5LnJlZnJlc2hEYXRhJyB8IGkxOG4gfX1cbiAgICAgICAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICAgICAgICA8L3ByeS1jYXJkLW1lbnU+XG4gICAgICAgICAgICAgICAgICA8cHJ5LWNhcmQtbWVudSAqbmdJZj1cIihsYXlvdXQkIHwgYXN5bmMpICE9PSBEYXNoYm9hcmRHcmlkTGF5b3V0Lk1BTlVBTFwiPlxuICAgICAgICAgICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJhLWJ0biBhLWJ0bi0taWNvbi10ZXh0IG8tcHJ5LWNhcmQtbWVudV9fbmF2X19pdGVtXCJcbiAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwibG9hZE9wZW5lZCA9IG5xLmlkOyAkZXZlbnQuc3RvcFByb3BhZ2F0aW9uKClcIlxuICAgICAgICAgICAgICAgICAgICAgIGNka092ZXJsYXlPcmlnaW5cbiAgICAgICAgICAgICAgICAgICAgICAjdHJpZ2dlckxvYWQ9XCJjZGtPdmVybGF5T3JpZ2luXCJcbiAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgIDxwcnktaWNvbiBpY29uU3ZnPVwiZmlsZV9kb3dubG9hZFwiPjwvcHJ5LWljb24+XG4gICAgICAgICAgICAgICAgICAgICAge3sgJ0Bwcnkuc2VhcmNoLm5hbWVkUXVlcnkuZGlzcGxheScgfCBpMThuIH19XG4gICAgICAgICAgICAgICAgICAgICAgPHByeS1pY29uXG4gICAgICAgICAgICAgICAgICAgICAgICBpY29uU3ZnPVwiZmxlY2hlX2hhdXRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW25nU3R5bGVdPVwieyB0cmFuc2Zvcm06ICdyb3RhdGUoOTBkZWcpJywgbWFyZ2luTGVmdDogJ2F1dG8nIH1cIlxuICAgICAgICAgICAgICAgICAgICAgID48L3ByeS1pY29uPlxuICAgICAgICAgICAgICAgICAgICA8L2J1dHRvbj5cblxuICAgICAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGVcbiAgICAgICAgICAgICAgICAgICAgICBjZGtDb25uZWN0ZWRPdmVybGF5XG4gICAgICAgICAgICAgICAgICAgICAgW2Nka0Nvbm5lY3RlZE92ZXJsYXlPcmlnaW5dPVwidHJpZ2dlckxvYWRcIlxuICAgICAgICAgICAgICAgICAgICAgIFtjZGtDb25uZWN0ZWRPdmVybGF5T3Blbl09XCJsb2FkT3BlbmVkID09PSBucS5pZFwiXG4gICAgICAgICAgICAgICAgICAgICAgW2Nka0Nvbm5lY3RlZE92ZXJsYXlIYXNCYWNrZHJvcF09XCJ0cnVlXCJcbiAgICAgICAgICAgICAgICAgICAgICBbY2RrQ29ubmVjdGVkT3ZlcmxheVBvc2l0aW9uc109XCJbY29ubmVjdGVkUG9zaXRpb25dXCJcbiAgICAgICAgICAgICAgICAgICAgICBjZGtDb25uZWN0ZWRPdmVybGF5QmFja2Ryb3BDbGFzcz1cImNkay1vdmVybGF5LXRyYW5zcGFyZW50LWJhY2tkcm9wXCJcbiAgICAgICAgICAgICAgICAgICAgICAoYmFja2Ryb3BDbGljayk9XCJsb2FkT3BlbmVkID0gdW5kZWZpbmVkXCJcbiAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJvLWRyYWdnYWJsZS1tZW51IC1zZWFyY2gtaG9tZVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHVsIGNsYXNzPVwiby1kcmFnZ2FibGUtbWVudV9fbGlzdFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBtZW51IG9mIHN0cnVjdHVyZVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz1cIm8tZHJhZ2dhYmxlLW1lbnVfX2xpc3RfX2l0ZW1cIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxidXR0b24gY2xhc3M9XCJhLWJ0blwiIGFyaWEtaGFzcG9wdXA9XCJ0cnVlXCIgYXJpYS1leHBhbmRlZD1cImZhbHNlXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwcnktaWNvbiBbaWNvblN2Z109XCJtZW51Lmljb25cIj48L3ByeS1pY29uPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7eyBtZW51LmxhYmVsIHwgaTE4biB9fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9idXR0b24+XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBjbGFzcz1cIm8tZHJhZ2dhYmxlLW1lbnVfX2xpc3RfX3N1Ym1lbnVcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgc3ViIG9mIG1lbnUuc3ViXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPVwiby1kcmFnZ2FibGUtbWVudV9fbGlzdF9fc3VibWVudV9faXRlbVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz1cImEtYnRuXCIgKGNsaWNrKT1cImxvYWRXaWRnZXQobnEuaWQsIHN1YilcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHByeS1pY29uIFtpY29uU3ZnXT1cInN1Yi5pY29uXCI+PC9wcnktaWNvbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge3sgc3ViLmxhYmVsIHwgaTE4biB9fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC91bD5cbiAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgICAgICAgICAgIDwvcHJ5LWNhcmQtbWVudT5cblxuICAgICAgICAgICAgICAgICAgPHByeS1jYXJkLW1lbnUgY2xhc3M9XCJvLXByeS1jYXJkLW1lbnVfX25hdl9faXRlbVwiPlxuICAgICAgICAgICAgICAgICAgICA8cHJ5LW5xLWNvbG9yLXNlbGVjdG9yIFtuZ1N0eWxlXT1cInsgd2lkdGg6ICcxMDAlJyB9XCIgW2RhdGFzb3VyY2VdPVwibnFcIj48L3ByeS1ucS1jb2xvci1zZWxlY3Rvcj5cbiAgICAgICAgICAgICAgICAgIDwvcHJ5LWNhcmQtbWVudT5cblxuICAgICAgICAgICAgICAgICAgPHByeS1jYXJkLW1lbnUgKGNsaWNrKT1cIm9uU3BvdChucS5pZCwgJGV2ZW50KVwiPlxuICAgICAgICAgICAgICAgICAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiBjbGFzcz1cImEtYnRuIGEtYnRuLS1pY29uLXRleHQgby1wcnktY2FyZC1tZW51X19uYXZfX2l0ZW1cIj5cbiAgICAgICAgICAgICAgICAgICAgICA8cHJ5LWljb24gaWNvblN2Zz1cIm1vZGVfY2xpY1wiPjwvcHJ5LWljb24+XG4gICAgICAgICAgICAgICAgICAgICAge3sgJ0Bwcnkuc2VhcmNoLm5hbWVkUXVlcnkuc3BvdCcgfCBpMThuIH19XG4gICAgICAgICAgICAgICAgICAgICAgPHByeS1pY29uXG4gICAgICAgICAgICAgICAgICAgICAgICBpY29uU3ZnPVwiZmxlY2hlX2hhdXRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW25nU3R5bGVdPVwieyB0cmFuc2Zvcm06ICdyb3RhdGUoOTBkZWcpJywgbWFyZ2luTGVmdDogJ2F1dG8nIH1cIlxuICAgICAgICAgICAgICAgICAgICAgID48L3ByeS1pY29uPlxuICAgICAgICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgICAgICAgIDwvcHJ5LWNhcmQtbWVudT5cbiAgICAgICAgICAgICAgICAgIDxwcnktY2FyZC1tZW51IChjbGljayk9XCJvblJlZnJlc2gobnEuaWQsICRldmVudClcIj5cbiAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgY2xhc3M9XCJhLWJ0biBhLWJ0bi0taWNvbi10ZXh0IG8tcHJ5LWNhcmQtbWVudV9fbmF2X19pdGVtXCI+XG4gICAgICAgICAgICAgICAgICAgICAgPHByeS1pY29uIGljb25Tdmc9XCJoaXN0b3J5LWxpbmVcIj48L3ByeS1pY29uPlxuICAgICAgICAgICAgICAgICAgICAgIHt7ICdAcHJ5LnNlYXJjaC5uYW1lZFF1ZXJ5LnJlZnJlc2gudGl0bGUnIHwgaTE4biB9fVxuICAgICAgICAgICAgICAgICAgICAgIDxwcnktaWNvblxuICAgICAgICAgICAgICAgICAgICAgICAgaWNvblN2Zz1cImZsZWNoZV9oYXV0XCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtuZ1N0eWxlXT1cInsgdHJhbnNmb3JtOiAncm90YXRlKDkwZGVnKScsIG1hcmdpbkxlZnQ6ICdhdXRvJyB9XCJcbiAgICAgICAgICAgICAgICAgICAgICA+PC9wcnktaWNvbj5cbiAgICAgICAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICAgICAgICA8L3ByeS1jYXJkLW1lbnU+XG4gICAgICAgICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImEtYnRuIGEtYnRuLS1pY29uLXRleHQgby1wcnktY2FyZC1tZW51X19uYXZfX2l0ZW1cIlxuICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwib25EZWxldGUobnEpXCJcbiAgICAgICAgICAgICAgICAgICAgKm5nSWY9XCJucS5vd25lclwiXG4gICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgIDxwcnktaWNvbiBpY29uU3ZnPVwiZGVsZXRlXCI+PC9wcnktaWNvbj5cbiAgICAgICAgICAgICAgICAgICAge3sgJ0Bwcnkuc2VhcmNoLm5hbWVkUXVlcnkuZGVsZXRlJyB8IGkxOG4gfX1cbiAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJhLWJ0biBhLWJ0bi0taWNvbi10ZXh0IG8tcHJ5LWNhcmQtbWVudV9fbmF2X19pdGVtXCJcbiAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cIm9uUmVuYW1lKG5xKVwiXG4gICAgICAgICAgICAgICAgICAgICpuZ0lmPVwibnEub3duZXJcIlxuICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICA8cHJ5LWljb24gaWNvblN2Zz1cInJlbmFtZWRcIj48L3ByeS1pY29uPlxuICAgICAgICAgICAgICAgICAgICB7eyAnQHByeS5zZWFyY2gubmFtZWRRdWVyeS5yZW5hbWUnIHwgaTE4biB9fVxuICAgICAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImEtYnRuIGEtYnRuLS1pY29uLXRleHQgby1wcnktY2FyZC1tZW51X19uYXZfX2l0ZW1cIlxuICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwib25FZGl0KG5xKVwiXG4gICAgICAgICAgICAgICAgICAgIChrZXlkb3duLnRhYik9XCJoaWRlU3BvdCgpXCJcbiAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgPHByeS1pY29uIGljb25Tdmc9XCJlZGl0XCI+PC9wcnktaWNvbj5cbiAgICAgICAgICAgICAgICAgICAge3sgJ0Bwcnkuc2VhcmNoLm5hbWVkUXVlcnkuZWRpdCcgfCBpMThuIH19XG4gICAgICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPC9wcnktY2FyZC1tZW51PlxuICAgICAgICAgICAgPC9wcnktY2FyZC1oZWFkZXI+XG4gICAgICAgICAgPC9wcnktY2FyZD5cbiAgICAgICAgPC9wcnktZXhwYW5kLXBhbmVsPlxuICAgICAgPC9kaXY+XG4gICAgICA8YnV0dG9uXG4gICAgICAgIGNsYXNzPVwiYS1idG4gLWxpbmstbGlrZVwiXG4gICAgICAgIGFyaWEtcHJlc3NlZD1cImZhbHNlXCJcbiAgICAgICAgaWQ9XCJidG5fdmlld19tb3JlXCJcbiAgICAgICAgKm5nSWY9XCJuYW1lZFF1ZXJ5Lmxlbmd0aCA+IDJcIlxuICAgICAgICAoY2xpY2spPVwib25DaGFuZ2VMaXN0Vmlldyhpc01vcmVMaXN0KVwiXG4gICAgICA+XG4gICAgICAgIHt7IGlzTW9yZUxpc3QgPyAoJ0Bwcnkuc2VhcmNoLm5hbWVkUXVlcnkuc2VlTGVzcycgfCBpMThuKSA6ICgnQHByeS5zZWFyY2gubmFtZWRRdWVyeS5zZWVNb3JlJyB8IGkxOG4pIH19XG4gICAgICA8L2J1dHRvbj5cbiAgICA8L25nLWNvbnRhaW5lcj5cblxuICAgIDxuZy10ZW1wbGF0ZSAjbm9OYW1lZFF1ZXJ5PlxuICAgICAgPHAgY2xhc3M9XCJzZWFyY2gtaG9tZV9fY29udGFpbmVyLXNlYXJjaFwiPnt7ICdAcHJ5LnNlYXJjaC5uYW1lZFF1ZXJ5LmVtcHR5TmFtZWRRdWVyeScgfCBpMThuIH19PC9wPlxuICAgIDwvbmctdGVtcGxhdGU+XG4gIDwvbmctY29udGFpbmVyPlxuPC9kaXY+XG5cbjxkaXYgY2xhc3M9XCJvLXByeS1zZWFyY2gtaG9tZV9fc2VhcmNoXCI+XG4gIDxoMyBjbGFzcz1cImEtaDNcIj57eyAnQHByeS5zZWFyY2guaG9tZS5zc1RpdGxlJyB8IGkxOG4gfX08L2gzPlxuICA8bmctY29udGFpbmVyICpuZ0lmPVwic2VhcmNoRnVsbHRleHRUcGxcIj5cbiAgICA8bmctY29udGFpbmVyIFtuZ1RlbXBsYXRlT3V0bGV0XT1cInNlYXJjaEZ1bGx0ZXh0VHBsXCI+PC9uZy1jb250YWluZXI+XG4gICAgPHAgY2xhc3M9XCJhLXAgby1wcnktc2VhcmNoLWhvbWVfX3NlYXJjaF9fb3JcIj57eyAnQHByeS5zZWFyY2guaG9tZS5vcicgfCBpMThuIH19PC9wPlxuICA8L25nLWNvbnRhaW5lcj5cbiAgPGJ1dHRvbiBjbGFzcz1cImEtYnRuIGEtYnRuLS1wcmltYXJ5IC13aWR0aC1mdWxsXCIgKGNsaWNrKT1cIm9uU2VhcmNoQ3JpdGVyaWEoKVwiPlxuICAgIDxwcnktaWNvbiBbd2lkdGhdPVwiMjBcIiBbaGVpZ2h0XT1cIjIwXCIgaWNvblN2Zz1cInNlYXJjaC1jcml0ZXJpYVwiPjwvcHJ5LWljb24+XG4gICAge3sgJ0Bwcnkuc2VhcmNoLmhvbWUuc2VhcmNoQnlDcml0ZXJpYScgfCBpMThuIH19XG4gICAgPHByeS1pY29uIGljb25Tdmc9XCJhcnJvd19yaWdodFwiPjwvcHJ5LWljb24+XG4gIDwvYnV0dG9uPlxuPC9kaXY+XG5cbjxuZy10ZW1wbGF0ZSAjdGVtcGxhdGVTcG90PlxuICA8ZGl2IChtb3VzZWxlYXZlKT1cImhpZGVTcG90KClcIj5cbiAgICB7e1xuICAgICAgKChzcG90dGluZ1dpZGdldCQgfCBhc3luYyk/Lmxlbmd0aCA/PyAwID4gMFxuICAgICAgICA/ICdAcHJ5LnNlYXJjaC5uYW1lZFF1ZXJ5LnNwb3RUaXRsZSdcbiAgICAgICAgOiAnQHByeS5zZWFyY2gubmFtZWRRdWVyeS5ub1Nwb3QnXG4gICAgICApIHwgaTE4biA6IHsgbGVuZ3RoOiAoc3BvdHRpbmdXaWRnZXQkIHwgYXN5bmMpPy5sZW5ndGggfVxuICAgIH19XG4gICAgPGRpdiAqbmdGb3I9XCJsZXQgdXNlIG9mIHNwb3R0aW5nV2lkZ2V0JCB8IGFzeW5jXCIgY2xhc3M9XCJzcG90LWxpbmVcIj5cbiAgICAgIDxwcnktaWNvbiBbd2lkdGhdPVwiMjBcIiBbaGVpZ2h0XT1cIjIwXCIgW2ljb25TdmddPVwiaWNvbnNbdXNlLnR5cGVdXCI+PC9wcnktaWNvbj5cbiAgICAgIHt7ICdAcHJ5LnNlYXJjaC5uYW1lZFF1ZXJ5LnR5cGUuJyArIHVzZS50eXBlIHwgaTE4biB9fSAtIHt7ICdAcHJ5LnNlYXJjaC5uYW1lZFF1ZXJ5LnVzZScgfCBpMThuIDogdXNlIH19XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuPC9uZy10ZW1wbGF0ZT5cblxuPG5nLXRlbXBsYXRlICN0ZW1wbGF0ZVJlZnJlc2g+XG4gIDxkaXY+XG4gICAgPGJ1dHRvblxuICAgICAgKm5nRm9yPVwibGV0IG9wdGlvbiBvZiByZWZyZXNoT3B0aW9uc1wiXG4gICAgICBjbGFzcz1cInJlZnJlc2gtbGluZSBhLWJ0biBhLWJ0bi0taWNvbi10ZXh0IC1zaXplLXNtXCJcbiAgICAgIChjbGljayk9XCJzZWxlY3RSZWZyZXNoKG9wdGlvbilcIlxuICAgID5cbiAgICAgIDxwcnktaWNvblxuICAgICAgICBbd2lkdGhdPVwiMjBcIlxuICAgICAgICBbaGVpZ2h0XT1cIjIwXCJcbiAgICAgICAgaWNvblN2Zz1cImNoZWNrXCJcbiAgICAgICAgKm5nSWY9XCIoKChyZWZyZXNoUmF0ZXMkIHwgYXN5bmMpID8/IHt9KVtyZWZyZXNoSWRdID8/IDApID09PSBvcHRpb25cIlxuICAgICAgPjwvcHJ5LWljb24+XG4gICAgICB7eyAnQHByeS5zZWFyY2gubmFtZWRRdWVyeS5yZWZyZXNoLicgKyBvcHRpb24gfCBpMThuIH19XG4gICAgPC9idXR0b24+XG4gIDwvZGl2PlxuPC9uZy10ZW1wbGF0ZT5cbiJdfQ==
@@ -121,7 +121,7 @@ export class PrySearchConditionComponent {
121
121
  .pipe(filter((cond) => cond !== null));
122
122
  }
123
123
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PrySearchConditionComponent, deps: [{ token: i1.Store }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
124
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: PrySearchConditionComponent, selector: "pry-search-condition", inputs: { attributeId: "attributeId", id: "id", useTextDateInputs: "useTextDateInputs" }, host: { properties: { "class": "this.class" } }, ngImport: i0, template: "<div class=\"o-pry-search-condition\">\n <div class=\"o-pry-search-condition__fields\" [class.has-date-picker]=\"isDate && !textDateInputs\">\n <input class=\"a-form-field\" type=\"text\" [ngModel]=\"attributeName$ | async\" readonly />\n <pry-select\n class=\"a-pry-select operator\"\n [items]=\"operatorOptions$ | async\"\n bindValue=\"operator\"\n bindLabel=\"translation\"\n name=\"operator\"\n [ngModel]=\"operatorSelectedValue\"\n (ngModelChange)=\"onSelectedOperator($event)\"\n ></pry-select>\n <ng-container *ngIf=\"isDate && !textDateInputs; else textInput\">\n <pry-date-picker\n class=\"o-pry-search-condition__date-picker\"\n [(ngModel)]=\"dateConditionValue\"\n (ngModelChange)=\"updateDateCondition()\"\n [rangePicker]=\"twoValues\"\n [roundSelection]=\"true\"\n [timePicker]=\"true\"\n required\n ></pry-date-picker>\n </ng-container>\n </div>\n <ng-template #textInput>\n <input\n class=\"a-form-field\"\n type=\"text\"\n [placeholder]=\"(twoValues ? '@pry.search.placeholder.minValue' : '@pry.search.placeholder.search') | i18n\"\n [ngClass]=\"{ '-half': twoValues }\"\n [class.pry-search-condition-input-pattern]=\"firstValue.touched && firstValueInvalid\"\n [class.pry-search-condition-input-required]=\"firstValue.touched && firstValue.invalid\"\n name=\"value\"\n [type]=\"isDate ? 'date' : 'text'\"\n required\n #firstValue=\"ngModel\"\n [(ngModel)]=\"conditionValue\"\n (input)=\"onCheckValidity($event, true)\"\n (focusout)=\"updateFirstValue()\"\n />\n <ng-container *ngIf=\"twoValues\">\n <input\n class=\"a-form-field\"\n type=\"text\"\n [placeholder]=\"'@pry.search.placeholder.maxValue' | i18n\"\n required\n [type]=\"isDate ? 'date' : 'text'\"\n [(ngModel)]=\"secondConditionValue\"\n (input)=\"onCheckValidity($event, false)\"\n (focusout)=\"updateSecondValue()\"\n />\n </ng-container>\n </ng-template>\n <button\n type=\"button\"\n class=\"a-btn a-btn--icon-only -circle -size-xs delete\"\n (click)=\"onDeleteAttributeCondition()\"\n [title]=\"'@pry.search.attribute.remove' | i18n\"\n >\n <pry-icon iconSvg=\"close\" [width]=\"22\" [height]=\"22\"></pry-icon>\n <span class=\"u-visually-hidden\">{{ '@pry.search.attribute.remove' | i18n }}</span>\n </button>\n</div>\n", dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i3.PryIconComponent, selector: "pry-icon", inputs: ["color", "iconSvg", "animation", "iconImage", "alt", "width", "height", "classes"] }, { kind: "directive", type: i4.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i4.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i4.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i3.PrySelectComponent, selector: "pry-select", inputs: ["items", "clearable", "multiple", "closeOnSelect", "placeholder", "isForm", "required", "name", "readonly", "autocomplete", "bindValue", "bindLabel", "iconSize", "bindIcon", "template", "i18nPrefix", "loading", "elementRef"], outputs: ["searched", "cleared"] }, { kind: "component", type: i3.PryDatePickerComponent, selector: "pry-date-picker", inputs: ["rangePicker", "timePicker", "maxYear", "minYear", "roundSelection"] }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }, { kind: "pipe", type: i3.I18nPipe, name: "i18n" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
124
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: PrySearchConditionComponent, selector: "pry-search-condition", inputs: { attributeId: "attributeId", id: "id", useTextDateInputs: "useTextDateInputs" }, host: { properties: { "class": "this.class" } }, ngImport: i0, template: "<div class=\"o-pry-search-condition\">\n <div class=\"o-pry-search-condition__fields\" [class.has-date-picker]=\"isDate && !textDateInputs\">\n <input class=\"a-form-field\" type=\"text\" [ngModel]=\"attributeName$ | async\" readonly />\n <pry-select\n class=\"a-pry-select operator\"\n [items]=\"operatorOptions$ | async\"\n bindValue=\"operator\"\n bindLabel=\"translation\"\n name=\"operator\"\n [ngModel]=\"operatorSelectedValue\"\n (ngModelChange)=\"onSelectedOperator($event)\"\n ></pry-select>\n <ng-container *ngIf=\"isDate && !textDateInputs; else textInput\">\n <pry-date-picker\n class=\"o-pry-search-condition__date-picker\"\n [(ngModel)]=\"dateConditionValue\"\n (ngModelChange)=\"updateDateCondition()\"\n [rangePicker]=\"twoValues\"\n [roundSelection]=\"true\"\n [timePicker]=\"true\"\n required\n ></pry-date-picker>\n </ng-container>\n </div>\n <ng-template #textInput>\n <input\n class=\"a-form-field\"\n type=\"text\"\n [placeholder]=\"(twoValues ? '@pry.search.placeholder.minValue' : '@pry.search.placeholder.search') | i18n\"\n [ngClass]=\"{ '-half': twoValues }\"\n [class.pry-search-condition-input-pattern]=\"firstValue.touched && firstValueInvalid\"\n [class.pry-search-condition-input-required]=\"firstValue.touched && firstValue.invalid\"\n name=\"value\"\n [type]=\"isDate ? 'date' : 'text'\"\n required\n #firstValue=\"ngModel\"\n [(ngModel)]=\"conditionValue\"\n (input)=\"onCheckValidity($event, true)\"\n (focusout)=\"updateFirstValue()\"\n />\n <ng-container *ngIf=\"twoValues\">\n <input\n class=\"a-form-field\"\n type=\"text\"\n [placeholder]=\"'@pry.search.placeholder.maxValue' | i18n\"\n required\n [type]=\"isDate ? 'date' : 'text'\"\n [(ngModel)]=\"secondConditionValue\"\n (input)=\"onCheckValidity($event, false)\"\n (focusout)=\"updateSecondValue()\"\n />\n </ng-container>\n </ng-template>\n <button\n type=\"button\"\n class=\"a-btn a-btn--icon-only -circle -size-xs delete\"\n (click)=\"onDeleteAttributeCondition()\"\n [title]=\"'@pry.search.attribute.remove' | i18n\"\n >\n <pry-icon iconSvg=\"close\" [width]=\"22\" [height]=\"22\"></pry-icon>\n <span class=\"u-visually-hidden\">{{ '@pry.search.attribute.remove' | i18n }}</span>\n </button>\n</div>\n", dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i3.PryIconComponent, selector: "pry-icon", inputs: ["color", "iconSvg", "animation", "iconImage", "alt", "width", "height", "classes"] }, { kind: "directive", type: i4.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i4.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i4.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i3.PrySelectComponent, selector: "pry-select", inputs: ["items", "clearable", "multiple", "closeOnSelect", "placeholder", "isForm", "required", "name", "readonly", "autocomplete", "bindValue", "bindLabel", "iconSize", "bindIcon", "template", "i18nPrefix", "bindClasses", "loading", "elementRef"], outputs: ["searched", "cleared"] }, { kind: "component", type: i3.PryDatePickerComponent, selector: "pry-date-picker", inputs: ["rangePicker", "timePicker", "maxYear", "minYear", "roundSelection"] }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }, { kind: "pipe", type: i3.I18nPipe, name: "i18n" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
125
125
  }
126
126
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PrySearchConditionComponent, decorators: [{
127
127
  type: Component,
@@ -25,7 +25,7 @@ export class PrySearchMonoClassComponent {
25
25
  .subscribe(() => this.store.dispatch(SearchMonoClassActions.selectMonoClassSearch({ classId })));
26
26
  }
27
27
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PrySearchMonoClassComponent, deps: [{ token: i1.Store }], target: i0.ɵɵFactoryTarget.Component }); }
28
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: PrySearchMonoClassComponent, selector: "pry-search-mono-class", ngImport: i0, template: "<div class=\"o-search-mono-class\">\n <div class=\"o-search-mono-class__header search-mono__header\">\n <div class=\"m-form-label-field\">\n <label class=\"a-label\" for=\"composed_class\">{{ '@pry.search.composed.class' | i18n }}</label>\n <pry-select\n [items]=\"classes$ | async\"\n bindValue=\"id\"\n [ngModel]=\"monoClassId$ | async\"\n (ngModelChange)=\"onChangeClass($event)\"\n [template]=\"optionTpl\"\n id=\"composed_class\"\n >\n </pry-select>\n </div>\n\n <ng-template #optionTpl let-item=\"item\">\n <div class=\"o-search-mono-class__header__selected search-class-selected__content\">\n <ng-container *ngIf=\"item.image; else noImg\">\n <img\n alt=\"\"\n [height]=\"25\"\n [width]=\"25\"\n [src]=\"item.id | translateId : { type: 'class', output: 'icon' } | async\"\n />\n </ng-container>\n <ng-template #noImg>\n <img\n alt=\"\"\n [height]=\"25\"\n [width]=\"25\"\n [src]=\"item.id | translateId : { type: 'class', output: 'icon' } | async\"\n />\n </ng-template>\n <span>{{ item.name }}</span>\n </div>\n </ng-template>\n </div>\n\n <div class=\"o-search-mono-class__content-wrapper search-mono__content\">\n <div class=\"o-search-mono-class__content search-mono__content__wrapper\">\n <ng-container *ngIf=\"monoClassMasterId$ | async as conditionId; else noCondition\">\n <p class=\"o-search-mono-class__content__title search-mono__content__title\">\n {{ '@pry.search.composed.title' | i18n }}\n </p>\n <ng-container *ngIf=\"monoClass$ | async as clazz\">\n <pry-search-composed [id]=\"conditionId\"></pry-search-composed>\n <p class=\"o-search-mono-class__content__title search-mono__content__title\">\n {{ '@pry.search.composed.order' | i18n }}\n </p>\n <pry-search-order></pry-search-order>\n </ng-container>\n </ng-container>\n </div>\n <ng-template #noCondition>{{ '@pry.search.composed.shouldSelectClass' | i18n }}</ng-template>\n </div>\n</div>\n", dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i4.PrySelectComponent, selector: "pry-select", inputs: ["items", "clearable", "multiple", "closeOnSelect", "placeholder", "isForm", "required", "name", "readonly", "autocomplete", "bindValue", "bindLabel", "iconSize", "bindIcon", "template", "i18nPrefix", "loading", "elementRef"], outputs: ["searched", "cleared"] }, { kind: "component", type: i5.PrySearchComposedComponent, selector: "pry-search-composed", inputs: ["id"] }, { kind: "component", type: i6.PrySearchOrderComponent, selector: "pry-search-order" }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }, { kind: "pipe", type: i4.TranslateIdPipe, name: "translateId" }, { kind: "pipe", type: i4.I18nPipe, name: "i18n" }] }); }
28
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: PrySearchMonoClassComponent, selector: "pry-search-mono-class", ngImport: i0, template: "<div class=\"o-search-mono-class\">\n <div class=\"o-search-mono-class__header search-mono__header\">\n <div class=\"m-form-label-field\">\n <label class=\"a-label\" for=\"composed_class\">{{ '@pry.search.composed.class' | i18n }}</label>\n <pry-select\n [items]=\"classes$ | async\"\n bindValue=\"id\"\n [ngModel]=\"monoClassId$ | async\"\n (ngModelChange)=\"onChangeClass($event)\"\n [template]=\"optionTpl\"\n id=\"composed_class\"\n >\n </pry-select>\n </div>\n\n <ng-template #optionTpl let-item=\"item\">\n <div class=\"o-search-mono-class__header__selected search-class-selected__content\">\n <ng-container *ngIf=\"item.image; else noImg\">\n <img\n alt=\"\"\n [height]=\"25\"\n [width]=\"25\"\n [src]=\"item.id | translateId : { type: 'class', output: 'icon' } | async\"\n />\n </ng-container>\n <ng-template #noImg>\n <img\n alt=\"\"\n [height]=\"25\"\n [width]=\"25\"\n [src]=\"item.id | translateId : { type: 'class', output: 'icon' } | async\"\n />\n </ng-template>\n <span>{{ item.name }}</span>\n </div>\n </ng-template>\n </div>\n\n <div class=\"o-search-mono-class__content-wrapper search-mono__content\">\n <div class=\"o-search-mono-class__content search-mono__content__wrapper\">\n <ng-container *ngIf=\"monoClassMasterId$ | async as conditionId; else noCondition\">\n <p class=\"o-search-mono-class__content__title search-mono__content__title\">\n {{ '@pry.search.composed.title' | i18n }}\n </p>\n <ng-container *ngIf=\"monoClass$ | async as clazz\">\n <pry-search-composed [id]=\"conditionId\"></pry-search-composed>\n <p class=\"o-search-mono-class__content__title search-mono__content__title\">\n {{ '@pry.search.composed.order' | i18n }}\n </p>\n <pry-search-order></pry-search-order>\n </ng-container>\n </ng-container>\n </div>\n <ng-template #noCondition>{{ '@pry.search.composed.shouldSelectClass' | i18n }}</ng-template>\n </div>\n</div>\n", dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i4.PrySelectComponent, selector: "pry-select", inputs: ["items", "clearable", "multiple", "closeOnSelect", "placeholder", "isForm", "required", "name", "readonly", "autocomplete", "bindValue", "bindLabel", "iconSize", "bindIcon", "template", "i18nPrefix", "bindClasses", "loading", "elementRef"], outputs: ["searched", "cleared"] }, { kind: "component", type: i5.PrySearchComposedComponent, selector: "pry-search-composed", inputs: ["id"] }, { kind: "component", type: i6.PrySearchOrderComponent, selector: "pry-search-order" }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }, { kind: "pipe", type: i4.TranslateIdPipe, name: "translateId" }, { kind: "pipe", type: i4.I18nPipe, name: "i18n" }] }); }
29
29
  }
30
30
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PrySearchMonoClassComponent, decorators: [{
31
31
  type: Component,