@po-ui/ng-components 16.2.0 → 16.3.0

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 (70) hide show
  1. package/esm2022/lib/components/po-accordion/index.mjs +2 -1
  2. package/esm2022/lib/components/po-accordion/interfaces/po-accordion-literals.interface.mjs +2 -0
  3. package/esm2022/lib/components/po-accordion/po-accordion-base.component.mjs +150 -2
  4. package/esm2022/lib/components/po-accordion/po-accordion-item/po-accordion-item.component.mjs +63 -6
  5. package/esm2022/lib/components/po-accordion/po-accordion-item-header/po-accordion-item-header.component.mjs +44 -10
  6. package/esm2022/lib/components/po-accordion/po-accordion-manager/po-accordion-manager.component.mjs +43 -0
  7. package/esm2022/lib/components/po-accordion/po-accordion.component.mjs +93 -27
  8. package/esm2022/lib/components/po-accordion/po-accordion.module.mjs +13 -7
  9. package/esm2022/lib/components/po-breadcrumb/po-breadcrumb-base.component.mjs +24 -1
  10. package/esm2022/lib/components/po-breadcrumb/po-breadcrumb-favorite/po-breadcrumb-favorite.component.mjs +11 -6
  11. package/esm2022/lib/components/po-breadcrumb/po-breadcrumb.component.mjs +163 -65
  12. package/esm2022/lib/components/po-breadcrumb/po-breadcrumb.module.mjs +8 -15
  13. package/esm2022/lib/components/po-field/po-input/po-input-base.component.mjs +2 -1
  14. package/esm2022/lib/components/po-field/po-input/po-mask.mjs +1 -1
  15. package/esm2022/lib/components/po-field/po-input-generic/po-input-generic.mjs +20 -1
  16. package/esm2022/lib/components/po-field/po-lookup/po-lookup-base.component.mjs +15 -2
  17. package/esm2022/lib/components/po-field/po-lookup/po-lookup-modal/po-lookup-modal-base.component.mjs +7 -2
  18. package/esm2022/lib/components/po-field/po-lookup/po-lookup-modal/po-lookup-modal.component.mjs +4 -4
  19. package/esm2022/lib/components/po-field/po-lookup/po-lookup.component.mjs +3 -2
  20. package/esm2022/lib/components/po-field/po-lookup/services/po-lookup-modal.service.mjs +3 -2
  21. package/esm2022/lib/components/po-field/po-upload/po-upload-base.service.mjs +6 -2
  22. package/esm2022/lib/components/po-list-view/po-list-view.component.mjs +4 -4
  23. package/esm2022/lib/components/po-popup/po-popup-base.component.mjs +7 -3
  24. package/esm2022/lib/components/po-popup/po-popup.component.mjs +2 -1
  25. package/esm2022/lib/components/po-tree-view/po-tree-view-base.component.mjs +37 -7
  26. package/esm2022/lib/components/po-tree-view/po-tree-view-item/po-tree-view-item.component.mjs +14 -6
  27. package/esm2022/lib/components/po-tree-view/po-tree-view-item/po-tree-view-item.interface.mjs +1 -1
  28. package/esm2022/lib/components/po-tree-view/po-tree-view-item-header/po-tree-view-item-header.component.mjs +50 -16
  29. package/esm2022/lib/components/po-tree-view/po-tree-view.component.mjs +5 -5
  30. package/fesm2022/po-ui-ng-components.mjs +10205 -9783
  31. package/fesm2022/po-ui-ng-components.mjs.map +1 -1
  32. package/lib/components/po-accordion/index.d.ts +1 -0
  33. package/lib/components/po-accordion/interfaces/po-accordion-literals.interface.d.ts +13 -0
  34. package/lib/components/po-accordion/po-accordion-base.component.d.ts +105 -1
  35. package/lib/components/po-accordion/po-accordion-item/po-accordion-item.component.d.ts +41 -1
  36. package/lib/components/po-accordion/po-accordion-item-header/po-accordion-item-header.component.d.ts +7 -1
  37. package/lib/components/po-accordion/po-accordion-manager/po-accordion-manager.component.d.ts +11 -0
  38. package/lib/components/po-accordion/po-accordion.component.d.ts +15 -1
  39. package/lib/components/po-accordion/po-accordion.module.d.ts +6 -2
  40. package/lib/components/po-breadcrumb/po-breadcrumb-base.component.d.ts +3 -0
  41. package/lib/components/po-breadcrumb/po-breadcrumb-favorite/po-breadcrumb-favorite.component.d.ts +2 -1
  42. package/lib/components/po-breadcrumb/po-breadcrumb.component.d.ts +14 -6
  43. package/lib/components/po-breadcrumb/po-breadcrumb.module.d.ts +7 -6
  44. package/lib/components/po-field/po-input-generic/po-input-generic.d.ts +2 -0
  45. package/lib/components/po-field/po-lookup/po-lookup-base.component.d.ts +17 -1
  46. package/lib/components/po-field/po-lookup/po-lookup-modal/po-lookup-modal-base.component.d.ts +4 -1
  47. package/lib/components/po-field/po-lookup/services/po-lookup-modal.service.d.ts +1 -0
  48. package/lib/components/po-field/po-switch/po-switch.component.d.ts +1 -1
  49. package/lib/components/po-modal/po-modal.component.d.ts +1 -1
  50. package/lib/components/po-popup/po-popup-base.component.d.ts +3 -1
  51. package/lib/components/po-tree-view/po-tree-view-base.component.d.ts +14 -1
  52. package/lib/components/po-tree-view/po-tree-view-item/po-tree-view-item.component.d.ts +3 -1
  53. package/lib/components/po-tree-view/po-tree-view-item/po-tree-view-item.interface.d.ts +4 -0
  54. package/lib/components/po-tree-view/po-tree-view-item-header/po-tree-view-item-header.component.d.ts +4 -1
  55. package/package.json +4 -4
  56. package/po-ui-ng-components-16.3.0.tgz +0 -0
  57. package/schematics/ng-add/index.js +1 -1
  58. package/schematics/ng-update/v14/index.js +1 -1
  59. package/schematics/ng-update/v15/index.js +1 -1
  60. package/schematics/ng-update/v16/index.js +1 -1
  61. package/schematics/ng-update/v2/index.js +1 -1
  62. package/schematics/ng-update/v3/index.js +1 -1
  63. package/schematics/ng-update/v4/index.js +1 -1
  64. package/schematics/ng-update/v5/index.js +1 -1
  65. package/schematics/ng-update/v6/index.js +1 -1
  66. package/esm2022/lib/components/po-breadcrumb/po-breadcrumb-dropdown/po-breadcrumb-dropdown.component.mjs +0 -44
  67. package/esm2022/lib/components/po-breadcrumb/po-breadcrumb-item/po-breadcrumb-item.component.mjs +0 -109
  68. package/lib/components/po-breadcrumb/po-breadcrumb-dropdown/po-breadcrumb-dropdown.component.d.ts +0 -14
  69. package/lib/components/po-breadcrumb/po-breadcrumb-item/po-breadcrumb-item.component.d.ts +0 -16
  70. package/po-ui-ng-components-16.2.0.tgz +0 -0
@@ -92,7 +92,7 @@ function PoListViewComponent_ng_container_4_div_9_po_button_1_Template(rf, ctx)
92
92
  const action_r41 = ctx.$implicit;
93
93
  const item_r9 = i0.ɵɵnextContext(2).$implicit;
94
94
  const ctx_r40 = i0.ɵɵnextContext();
95
- i0.ɵɵproperty("p-disabled", ctx_r40.returnBooleanValue(action_r41, item_r9, "disabled"))("p-icon", action_r41.icon)("p-label", action_r41.label)("p-kind", action_r41.type);
95
+ i0.ɵɵproperty("p-disabled", ctx_r40.returnBooleanValue(action_r41, item_r9, "disabled"))("p-icon", action_r41.icon)("p-label", action_r41.label)("p-danger", action_r41.type === "danger");
96
96
  } }
97
97
  function PoListViewComponent_ng_container_4_div_9_Template(rf, ctx) { if (rf & 1) {
98
98
  i0.ɵɵelementStart(0, "div", 30);
@@ -320,7 +320,7 @@ export class PoListViewComponent extends PoListViewBaseComponent {
320
320
  } if (rf & 2) {
321
321
  let _t;
322
322
  i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.poPopupComponent = _t.first);
323
- } }, features: [i0.ɵɵInheritDefinitionFeature], decls: 8, vars: 13, consts: [["class", "po-list-view-main-header", 4, "ngIf"], [1, "po-list-view-main-content"], [3, "p-no-padding", 4, "ngIf"], [4, "ngFor", "ngForOf", "ngForTrackBy"], ["class", "po-mb-2 po-text-center", 4, "ngIf"], [3, "p-actions", "p-target"], ["popup", ""], [1, "po-list-view-main-header"], [1, "po-checkbox-group-item"], [1, "po-list-view-main-select"], ["name", "selectAll", 3, "ngModel", "p-label", "ngModelChange", "p-change", "click"], [3, "p-no-padding"], [1, "po-list-view-container-no-data", "po-text-center"], [1, "po-list-view-container"], [1, "po-list-view-header"], [1, "po-list-view-title", 3, "ngSwitch"], ["class", "po-list-view-select", 4, "ngIf"], ["class", "po-list-view-title-link", "target", "_blank", 3, "href", "click", 4, "ngSwitchCase"], ["class", "po-list-view-title-link", 3, "routerLink", "click", 4, "ngSwitchCase"], ["class", "po-list-view-title-no-link", 3, "po-list-view-title-link", "click", 4, "ngSwitchCase"], ["class", "po-list-view-actions", 4, "ngIf"], ["class", "po-list-view-more-actions", 4, "ngIf"], ["class", "po-list-view-content", 4, "ngIf"], ["class", "po-list-view-detail", 4, "ngIf"], ["class", "po-list-view-detail-button", 4, "ngIf"], [1, "po-list-view-select"], ["name", "checkbox", 3, "ngModel", "ngModelChange", "p-change", "click"], ["target", "_blank", 1, "po-list-view-title-link", 3, "href", "click"], [1, "po-list-view-title-link", 3, "routerLink", "click"], [1, "po-list-view-title-no-link", 3, "click"], [1, "po-list-view-actions"], [3, "p-disabled", "p-icon", "p-label", "p-kind", "p-click", 4, "ngFor", "ngForOf"], [3, "p-disabled", "p-icon", "p-label", "p-kind", "p-click"], [1, "po-list-view-more-actions"], [1, "po-icon", "po-icon-more", "po-list-view-more-icon", "po-clickable", 3, "click"], ["popupTarget", ""], [1, "po-list-view-content"], [3, "ngTemplateOutlet", "ngTemplateOutletContext"], [1, "po-list-view-detail"], [1, "po-list-view-detail-button"], ["p-kind", "tertiary", 3, "p-label", "p-click"], [1, "po-mb-2", "po-text-center"], [3, "p-disabled", "p-label", "p-click"]], template: function PoListViewComponent_Template(rf, ctx) { if (rf & 1) {
323
+ } }, features: [i0.ɵɵInheritDefinitionFeature], decls: 8, vars: 13, consts: [["class", "po-list-view-main-header", 4, "ngIf"], [1, "po-list-view-main-content"], [3, "p-no-padding", 4, "ngIf"], [4, "ngFor", "ngForOf", "ngForTrackBy"], ["class", "po-mb-2 po-text-center", 4, "ngIf"], [3, "p-actions", "p-target"], ["popup", ""], [1, "po-list-view-main-header"], [1, "po-checkbox-group-item"], [1, "po-list-view-main-select"], ["name", "selectAll", 3, "ngModel", "p-label", "ngModelChange", "p-change", "click"], [3, "p-no-padding"], [1, "po-list-view-container-no-data", "po-text-center"], [1, "po-list-view-container"], [1, "po-list-view-header"], [1, "po-list-view-title", 3, "ngSwitch"], ["class", "po-list-view-select", 4, "ngIf"], ["class", "po-list-view-title-link", "target", "_blank", 3, "href", "click", 4, "ngSwitchCase"], ["class", "po-list-view-title-link", 3, "routerLink", "click", 4, "ngSwitchCase"], ["class", "po-list-view-title-no-link", 3, "po-list-view-title-link", "click", 4, "ngSwitchCase"], ["class", "po-list-view-actions", 4, "ngIf"], ["class", "po-list-view-more-actions", 4, "ngIf"], ["class", "po-list-view-content", 4, "ngIf"], ["class", "po-list-view-detail", 4, "ngIf"], ["class", "po-list-view-detail-button", 4, "ngIf"], [1, "po-list-view-select"], ["name", "checkbox", 3, "ngModel", "ngModelChange", "p-change", "click"], ["target", "_blank", 1, "po-list-view-title-link", 3, "href", "click"], [1, "po-list-view-title-link", 3, "routerLink", "click"], [1, "po-list-view-title-no-link", 3, "click"], [1, "po-list-view-actions"], [3, "p-disabled", "p-icon", "p-label", "p-danger", "p-click", 4, "ngFor", "ngForOf"], [3, "p-disabled", "p-icon", "p-label", "p-danger", "p-click"], [1, "po-list-view-more-actions"], [1, "po-icon", "po-icon-more", "po-list-view-more-icon", "po-clickable", 3, "click"], ["popupTarget", ""], [1, "po-list-view-content"], [3, "ngTemplateOutlet", "ngTemplateOutletContext"], [1, "po-list-view-detail"], [1, "po-list-view-detail-button"], ["p-kind", "tertiary", 3, "p-label", "p-click"], [1, "po-mb-2", "po-text-center"], [3, "p-disabled", "p-label", "p-click"]], template: function PoListViewComponent_Template(rf, ctx) { if (rf & 1) {
324
324
  i0.ɵɵelementStart(0, "div");
325
325
  i0.ɵɵtemplate(1, PoListViewComponent_div_1_Template, 4, 2, "div", 0);
326
326
  i0.ɵɵelementStart(2, "div", 1);
@@ -360,7 +360,7 @@ export class PoListViewComponent extends PoListViewBaseComponent {
360
360
  transition('* => void', [style({ height: '*', 'overflow-y': 'hidden' }), animate(100, style({ height: 0 }))]),
361
361
  transition('void => *', [style({ height: '0' }), animate(100, style({ height: '*' }))])
362
362
  ])
363
- ], template: "<div\n [class.po-list-view-main-container-header]=\"showHeader\"\n [class.po-list-view-main-container]=\"!showHeader\"\n [style.height.px]=\"height\"\n>\n <div *ngIf=\"showHeader\" class=\"po-list-view-main-header\">\n <div class=\"po-checkbox-group-item\">\n <div class=\"po-list-view-main-select\">\n <po-checkbox\n name=\"selectAll\"\n [(ngModel)]=\"selectAll\"\n [p-label]=\"literals.selectAll\"\n (p-change)=\"selectAllListItems()\"\n (click)=\"selectAllListItems()\"\n ></po-checkbox>\n </div>\n </div>\n </div>\n\n <div class=\"po-list-view-main-content\">\n <po-container [p-no-padding]=\"true\" *ngIf=\"!hasItems()\">\n <div class=\"po-list-view-container-no-data po-text-center\">\n <span> {{ literals.noData }} </span>\n </div>\n </po-container>\n\n <ng-container *ngFor=\"let item of items; let index = index; trackBy: trackBy\">\n <po-container [p-no-padding]=\"true\">\n <div class=\"po-list-view-container\">\n <div class=\"po-list-view-header\">\n <div class=\"po-list-view-title\" [ngSwitch]=\"checkTitleType(item)\">\n <div *ngIf=\"select\" class=\"po-list-view-select\">\n <po-checkbox\n [(ngModel)]=\"item.$selected\"\n name=\"checkbox\"\n (p-change)=\"selectListItem(item)\"\n (click)=\"selectListItem(item)\"\n ></po-checkbox>\n </div>\n <a\n *ngSwitchCase=\"'externalLink'\"\n class=\"po-list-view-title-link\"\n target=\"_blank\"\n [href]=\"item[propertyLink]\"\n (click)=\"runTitleAction(item)\"\n >\n {{ getItemTitle(item) }}\n </a>\n <a\n *ngSwitchCase=\"'internalLink'\"\n class=\"po-list-view-title-link\"\n [routerLink]=\"item[propertyLink]\"\n (click)=\"runTitleAction(item)\"\n >\n {{ getItemTitle(item) }}\n </a>\n <span\n *ngSwitchCase=\"'noLink'\"\n class=\"po-list-view-title-no-link\"\n [class.po-list-view-title-link]=\"titleHasAction\"\n (click)=\"titleHasAction && runTitleAction(item)\"\n >\n {{ getItemTitle(item) }}\n </span>\n </div>\n\n <div *ngIf=\"showButtonsActions\" class=\"po-list-view-actions\">\n <po-button\n *ngFor=\"let action of visibleActions\"\n [p-disabled]=\"returnBooleanValue(action, item, 'disabled')\"\n [p-icon]=\"action.icon\"\n [p-label]=\"action.label\"\n [p-kind]=\"action.type\"\n (p-click)=\"onClickAction(action, item)\"\n >\n </po-button>\n </div>\n\n <div *ngIf=\"showPopupActions\" class=\"po-list-view-more-actions\">\n <span\n #popupTarget\n class=\"po-icon po-icon-more po-list-view-more-icon po-clickable\"\n (click)=\"togglePopup(item, popupTarget)\"\n >\n </span>\n </div>\n </div>\n\n <div *ngIf=\"hasContentTemplate\" class=\"po-list-view-content\">\n <ng-template\n [ngTemplateOutlet]=\"listViewContentTemplate.templateRef\"\n [ngTemplateOutletContext]=\"{ $implicit: item, index: index }\"\n >\n </ng-template>\n </div>\n\n <div\n @showHideDetail\n (@showHideDetail.start)=\"item.$showDetail ? onAnimationEvent($event, item) : 'undefined'\"\n *ngIf=\"hasDetailTemplate && item.$showDetail\"\n class=\"po-list-view-detail\"\n >\n <ng-template\n [ngTemplateOutlet]=\"listViewDetailTemplate.templateRef\"\n [ngTemplateOutletContext]=\"{ $implicit: item, index: index }\"\n >\n </ng-template>\n </div>\n </div>\n\n <div *ngIf=\"hasDetailTemplate\" class=\"po-list-view-detail-button\">\n <po-button\n p-kind=\"tertiary\"\n [p-label]=\"item.$showDetail ? literals.hideDetails : literals.showDetails\"\n (p-click)=\"item.$showDetail = !item.$showDetail\"\n >\n </po-button>\n </div>\n </po-container>\n </ng-container>\n </div>\n</div>\n\n<div *ngIf=\"displayShowMoreButton\" class=\"po-mb-2 po-text-center\">\n <po-button [p-disabled]=\"showMoreDisabled\" [p-label]=\"literals.loadMoreData\" (p-click)=\"onShowMore()\"> </po-button>\n</div>\n\n<po-popup #popup [p-actions]=\"actions\" [p-target]=\"popupTarget\"> </po-popup>\n" }]
363
+ ], template: "<div\n [class.po-list-view-main-container-header]=\"showHeader\"\n [class.po-list-view-main-container]=\"!showHeader\"\n [style.height.px]=\"height\"\n>\n <div *ngIf=\"showHeader\" class=\"po-list-view-main-header\">\n <div class=\"po-checkbox-group-item\">\n <div class=\"po-list-view-main-select\">\n <po-checkbox\n name=\"selectAll\"\n [(ngModel)]=\"selectAll\"\n [p-label]=\"literals.selectAll\"\n (p-change)=\"selectAllListItems()\"\n (click)=\"selectAllListItems()\"\n ></po-checkbox>\n </div>\n </div>\n </div>\n\n <div class=\"po-list-view-main-content\">\n <po-container [p-no-padding]=\"true\" *ngIf=\"!hasItems()\">\n <div class=\"po-list-view-container-no-data po-text-center\">\n <span> {{ literals.noData }} </span>\n </div>\n </po-container>\n\n <ng-container *ngFor=\"let item of items; let index = index; trackBy: trackBy\">\n <po-container [p-no-padding]=\"true\">\n <div class=\"po-list-view-container\">\n <div class=\"po-list-view-header\">\n <div class=\"po-list-view-title\" [ngSwitch]=\"checkTitleType(item)\">\n <div *ngIf=\"select\" class=\"po-list-view-select\">\n <po-checkbox\n [(ngModel)]=\"item.$selected\"\n name=\"checkbox\"\n (p-change)=\"selectListItem(item)\"\n (click)=\"selectListItem(item)\"\n ></po-checkbox>\n </div>\n <a\n *ngSwitchCase=\"'externalLink'\"\n class=\"po-list-view-title-link\"\n target=\"_blank\"\n [href]=\"item[propertyLink]\"\n (click)=\"runTitleAction(item)\"\n >\n {{ getItemTitle(item) }}\n </a>\n <a\n *ngSwitchCase=\"'internalLink'\"\n class=\"po-list-view-title-link\"\n [routerLink]=\"item[propertyLink]\"\n (click)=\"runTitleAction(item)\"\n >\n {{ getItemTitle(item) }}\n </a>\n <span\n *ngSwitchCase=\"'noLink'\"\n class=\"po-list-view-title-no-link\"\n [class.po-list-view-title-link]=\"titleHasAction\"\n (click)=\"titleHasAction && runTitleAction(item)\"\n >\n {{ getItemTitle(item) }}\n </span>\n </div>\n\n <div *ngIf=\"showButtonsActions\" class=\"po-list-view-actions\">\n <po-button\n *ngFor=\"let action of visibleActions\"\n [p-disabled]=\"returnBooleanValue(action, item, 'disabled')\"\n [p-icon]=\"action.icon\"\n [p-label]=\"action.label\"\n [p-danger]=\"action.type === 'danger'\"\n (p-click)=\"onClickAction(action, item)\"\n >\n </po-button>\n </div>\n\n <div *ngIf=\"showPopupActions\" class=\"po-list-view-more-actions\">\n <span\n #popupTarget\n class=\"po-icon po-icon-more po-list-view-more-icon po-clickable\"\n (click)=\"togglePopup(item, popupTarget)\"\n >\n </span>\n </div>\n </div>\n\n <div *ngIf=\"hasContentTemplate\" class=\"po-list-view-content\">\n <ng-template\n [ngTemplateOutlet]=\"listViewContentTemplate.templateRef\"\n [ngTemplateOutletContext]=\"{ $implicit: item, index: index }\"\n >\n </ng-template>\n </div>\n\n <div\n @showHideDetail\n (@showHideDetail.start)=\"item.$showDetail ? onAnimationEvent($event, item) : 'undefined'\"\n *ngIf=\"hasDetailTemplate && item.$showDetail\"\n class=\"po-list-view-detail\"\n >\n <ng-template\n [ngTemplateOutlet]=\"listViewDetailTemplate.templateRef\"\n [ngTemplateOutletContext]=\"{ $implicit: item, index: index }\"\n >\n </ng-template>\n </div>\n </div>\n\n <div *ngIf=\"hasDetailTemplate\" class=\"po-list-view-detail-button\">\n <po-button\n p-kind=\"tertiary\"\n [p-label]=\"item.$showDetail ? literals.hideDetails : literals.showDetails\"\n (p-click)=\"item.$showDetail = !item.$showDetail\"\n >\n </po-button>\n </div>\n </po-container>\n </ng-container>\n </div>\n</div>\n\n<div *ngIf=\"displayShowMoreButton\" class=\"po-mb-2 po-text-center\">\n <po-button [p-disabled]=\"showMoreDisabled\" [p-label]=\"literals.loadMoreData\" (p-click)=\"onShowMore()\"> </po-button>\n</div>\n\n<po-popup #popup [p-actions]=\"actions\" [p-target]=\"popupTarget\"> </po-popup>\n" }]
364
364
  }], function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.IterableDiffers }, { type: i1.PoLanguageService }]; }, { listViewContentTemplate: [{
365
365
  type: ContentChild,
366
366
  args: [PoListViewContentTemplateDirective, { static: true }]
@@ -371,4 +371,4 @@ export class PoListViewComponent extends PoListViewBaseComponent {
371
371
  type: ViewChild,
372
372
  args: ['popup', { static: true }]
373
373
  }] }); })();
374
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG8tbGlzdC12aWV3LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3VpL3NyYy9saWIvY29tcG9uZW50cy9wby1saXN0LXZpZXcvcG8tbGlzdC12aWV3LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3VpL3NyYy9saWIvY29tcG9uZW50cy9wby1saXN0LXZpZXcvcG8tbGlzdC12aWV3LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxVQUFVLEVBQUUsT0FBTyxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDakYsT0FBTyxFQUdMLFNBQVMsRUFDVCxZQUFZLEVBR1osU0FBUyxFQUNWLE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUs1QyxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUN4RSxPQUFPLEVBQUUsa0NBQWtDLEVBQUUsTUFBTSx5RUFBeUUsQ0FBQztBQUM3SCxPQUFPLEVBQUUsaUNBQWlDLEVBQUUsTUFBTSx1RUFBdUUsQ0FBQzs7Ozs7Ozs7Ozs7OztJQ2J4SCw4QkFBeUQsYUFBQSxhQUFBLHNCQUFBO0lBS2pELHdPQUF1Qiw4SkFFWCxlQUFBLDJCQUFvQixDQUFBLElBRlQsd0pBR2QsZUFBQSwyQkFBb0IsQ0FBQSxJQUhOO0lBSXhCLGlCQUFjLEVBQUEsRUFBQSxFQUFBOzs7SUFKYixlQUF1QjtJQUF2QiwwQ0FBdUIsc0NBQUE7OztJQVU3Qix3Q0FBd0QsY0FBQSxXQUFBO0lBRTdDLFlBQXNCO0lBQUEsaUJBQU8sRUFBQSxFQUFBOzs7SUFGMUIsbUNBQXFCO0lBRXhCLGVBQXNCO0lBQXRCLHVEQUFzQjs7OztJQVN2QiwrQkFBZ0Qsc0JBQUE7SUFFNUMsc05B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d0JBQ3hCLEtBQUssQ0FBQyxHQUFHLEVBQUUsS0FBSyxDQUFDLEVBQUUsWUFBWSxFQUFFLFNBQVMsRUFBRSxDQUFDLENBQUM7d0JBQzlDLEtBQUssQ0FBQyxNQUFNLEVBQUUsS0FBSyxDQUFDLEVBQUUsWUFBWSxFQUFFLFFBQVEsRUFBRSxDQUFDLENBQUM7d0JBQ2hELFVBQVUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxLQUFLLENBQUMsRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUFFLFlBQVksRUFBRSxRQUFRLEVBQUUsQ0FBQyxFQUFFLE9BQU8sQ0FBQyxHQUFHLEVBQUUsS0FBSyxDQUFDLEVBQUUsTUFBTSxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDO3dCQUM3RyxVQUFVLENBQUMsV0FBVyxFQUFFLENBQUMsS0FBSyxDQUFDLEVBQUUsTUFBTSxFQUFFLEdBQUcsRUFBRSxDQUFDLEVBQUUsT0FBTyxDQUFDLEdBQUcsRUFBRSxLQUFLLENBQUMsRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUM7cUJBQ3hGLENBQUM7aUJBQ0g7a0lBSUQsdUJBQXVCO2tCQUR0QixZQUFZO21CQUFDLGtDQUFrQyxFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRTtZQUdsRSxzQkFBc0I7a0JBRHJCLFlBQVk7bUJBQUMsaUNBQWlDLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFO1lBRzNCLGdCQUFnQjtrQkFBckQsU0FBUzttQkFBQyxPQUFPLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgYW5pbWF0ZSwgc3RhdGUsIHN0eWxlLCB0cmFuc2l0aW9uLCB0cmlnZ2VyIH0gZnJvbSAnQGFuZ3VsYXIvYW5pbWF0aW9ucyc7XG5pbXBvcnQge1xuICBBZnRlckNvbnRlbnRJbml0LFxuICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgQ29tcG9uZW50LFxuICBDb250ZW50Q2hpbGQsXG4gIERvQ2hlY2ssXG4gIEl0ZXJhYmxlRGlmZmVycyxcbiAgVmlld0NoaWxkXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBpc1R5cGVvZiB9IGZyb20gJy4uLy4uL3V0aWxzL3V0aWwnO1xuaW1wb3J0IHsgUG9MYW5ndWFnZVNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9wby1sYW5ndWFnZS9wby1sYW5ndWFnZS5zZXJ2aWNlJztcbmltcG9ydCB7IFBvUG9wdXBDb21wb25lbnQgfSBmcm9tICcuLi9wby1wb3B1cC9wby1wb3B1cC5jb21wb25lbnQnO1xuXG5pbXBvcnQgeyBQb0xpc3RWaWV3QWN0aW9uIH0gZnJvbSAnLi9pbnRlcmZhY2VzL3BvLWxpc3Qtdmlldy1hY3Rpb24uaW50ZXJmYWNlJztcbmltcG9ydCB7IFBvTGlzdFZpZXdCYXNlQ29tcG9uZW50IH0gZnJvbSAnLi9wby1saXN0LXZpZXctYmFzZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgUG9MaXN0Vmlld0NvbnRlbnRUZW1wbGF0ZURpcmVjdGl2ZSB9IGZyb20gJy4vcG8tbGlzdC12aWV3LWNvbnRlbnQtdGVtcGxhdGUvcG8tbGlzdC12aWV3LWNvbnRlbnQtdGVtcGxhdGUuZGlyZWN0aXZlJztcbmltcG9ydCB7IFBvTGlzdFZpZXdEZXRhaWxUZW1wbGF0ZURpcmVjdGl2ZSB9IGZyb20gJy4vcG8tbGlzdC12aWV3LWRldGFpbC10ZW1wbGF0ZS9wby1saXN0LXZpZXctZGV0YWlsLXRlbXBsYXRlLmRpcmVjdGl2ZSc7XG5cbi8qKlxuICogQGRvY3NFeHRlbmRzIFBvTGlzdFZpZXdCYXNlQ29tcG9uZW50XG4gKlxuICogQGV4YW1wbGVcbiAqXG4gKiA8ZXhhbXBsZSBuYW1lPVwicG8tbGlzdC12aWV3LWJhc2ljXCIgdGl0bGU9XCJQTyBMaXN0IFZpZXcgQmFzaWNcIj5cbiAqICA8ZmlsZSBuYW1lPVwic2FtcGxlLXBvLWxpc3Qtdmlldy1iYXNpYy9zYW1wbGUtcG8tbGlzdC12aWV3LWJhc2ljLmNvbXBvbmVudC5odG1sXCI+IDwvZmlsZT5cbiAqICA8ZmlsZSBuYW1lPVwic2FtcGxlLXBvLWxpc3Qtdmlldy1iYXNpYy9zYW1wbGUtcG8tbGlzdC12aWV3LWJhc2ljLmNvbXBvbmVudC50c1wiPiA8L2ZpbGU+XG4gKiA8L2V4YW1wbGU+XG4gKlxuICogPGV4YW1wbGUgbmFtZT1cInBvLWxpc3Qtdmlldy1sYWJzXCIgdGl0bGU9XCJQTyBMaXN0IFZpZXcgTGFic1wiPlxuICogIDxmaWxlIG5hbWU9XCJzYW1wbGUtcG8tbGlzdC12aWV3LWxhYnMvc2FtcGxlLXBvLWxpc3Qtdmlldy1sYWJzLmNvbXBvbmVudC5odG1sXCI+IDwvZmlsZT5cbiAqICA8ZmlsZSBuYW1lPVwic2FtcGxlLXBvLWxpc3Qtdmlldy1sYWJzL3NhbXBsZS1wby1saXN0LXZpZXctbGFicy5jb21wb25lbnQudHNcIj4gPC9maWxlPlxuICogPC9leGFtcGxlPlxuICpcbiAqIDxleGFtcGxlIG5hbWU9XCJwby1saXN0LXZpZXctaGlyaW5nLXByb2Nlc3Nlc1wiIHRpdGxlPVwiUE8gTGlzdCBWaWV3IC0gSGlyaW5nIFByb2Nlc3Nlc1wiPlxuICogIDxmaWxlIG5hbWU9XCJzYW1wbGUtcG8tbGlzdC12aWV3LWhpcmluZy1wcm9jZXNzZXMvc2FtcGxlLXBvLWxpc3Qtdmlldy1oaXJpbmctcHJvY2Vzc2VzLmNvbXBvbmVudC5odG1sXCI+IDwvZmlsZT5cbiAqICA8ZmlsZSBuYW1lPVwic2FtcGxlLXBvLWxpc3Qtdmlldy1oaXJpbmctcHJvY2Vzc2VzL3NhbXBsZS1wby1saXN0LXZpZXctaGlyaW5nLXByb2Nlc3Nlcy5jb21wb25lbnQudHNcIj4gPC9maWxlPlxuICogIDxmaWxlIG5hbWU9XCJzYW1wbGUtcG8tbGlzdC12aWV3LWhpcmluZy1wcm9jZXNzZXMvc2FtcGxlLXBvLWxpc3Qtdmlldy1oaXJpbmctcHJvY2Vzc2VzLnNlcnZpY2UudHNcIj4gPC9maWxlPlxuICogPC9leGFtcGxlPlxuICovXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdwby1saXN0LXZpZXcnLFxuICB0ZW1wbGF0ZVVybDogJy4vcG8tbGlzdC12aWV3LmNvbXBvbmVudC5odG1sJyxcbiAgYW5pbWF0aW9uczogW1xuICAgIHRyaWdnZXIoJ3Nob3dIaWRlRGV0YWlsJywgW1xuICAgICAgc3RhdGUoJyonLCBzdHlsZSh7ICdvdmVyZmxvdy15JzogJ3Zpc2libGUnIH0pKSxcbiAgICAgIHN0YXRlKCd2b2lkJywgc3R5bGUoeyAnb3ZlcmZsb3cteSc6ICdoaWRkZW4nIH0pKSxcbiAgICAgIHRyYW5zaXRpb24oJyogPT4gdm9pZCcsIFtzdHlsZSh7IGhlaWdodDogJyonLCAnb3ZlcmZsb3cteSc6ICdoaWRkZW4nIH0pLCBhbmltYXRlKDEwMCwgc3R5bGUoeyBoZWlnaHQ6IDAgfSkpXSksXG4gICAgICB0cmFuc2l0aW9uKCd2b2lkID0+IConLCBbc3R5bGUoeyBoZWlnaHQ6ICcwJyB9KSwgYW5pbWF0ZSgxMDAsIHN0eWxlKHsgaGVpZ2h0OiAnKicgfSkpXSlcbiAgICBdKVxuICBdXG59KVxuZXhwb3J0IGNsYXNzIFBvTGlzdFZpZXdDb21wb25lbnQgZXh0ZW5kcyBQb0xpc3RWaWV3QmFzZUNvbXBvbmVudCBpbXBsZW1lbnRzIEFmdGVyQ29udGVudEluaXQsIERvQ2hlY2sge1xuICBAQ29udGVudENoaWxkKFBvTGlzdFZpZXdDb250ZW50VGVtcGxhdGVEaXJlY3RpdmUsIHsgc3RhdGljOiB0cnVlIH0pXG4gIGxpc3RWaWV3Q29udGVudFRlbXBsYXRlOiBQb0xpc3RWaWV3Q29udGVudFRlbXBsYXRlRGlyZWN0aXZlO1xuICBAQ29udGVudENoaWxkKFBvTGlzdFZpZXdEZXRhaWxUZW1wbGF0ZURpcmVjdGl2ZSwgeyBzdGF0aWM6IHRydWUgfSlcbiAgbGlzdFZpZXdEZXRhaWxUZW1wbGF0ZTogUG9MaXN0Vmlld0RldGFpbFRlbXBsYXRlRGlyZWN0aXZlO1xuXG4gIEBWaWV3Q2hpbGQoJ3BvcHVwJywgeyBzdGF0aWM6IHRydWUgfSkgcG9Qb3B1cENvbXBvbmVudDogUG9Qb3B1cENvbXBvbmVudDtcblxuICBwcml2YXRlIGRpZmZlcjtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGNoYW5nZURldGVjdG9yOiBDaGFuZ2VEZXRlY3RvclJlZiwgZGlmZmVyczogSXRlcmFibGVEaWZmZXJzLCBsYW5ndWFnZVNlcnZpY2U6IFBvTGFuZ3VhZ2VTZXJ2aWNlKSB7XG4gICAgc3VwZXIobGFuZ3VhZ2VTZXJ2aWNlKTtcbiAgICB0aGlzLmRpZmZlciA9IGRpZmZlcnMuZmluZChbXSkuY3JlYXRlKG51bGwpO1xuICB9XG5cbiAgZ2V0IGhhc0NvbnRlbnRUZW1wbGF0ZSgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gISF0aGlzLmxpc3RWaWV3Q29udGVudFRlbXBsYXRlO1xuICB9XG5cbiAgZ2V0IGhhc0RldGFpbFRlbXBsYXRlKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiAhIXRoaXMubGlzdFZpZXdEZXRhaWxUZW1wbGF0ZTtcbiAgfVxuXG4gIGdldCBkaXNwbGF5U2hvd01vcmVCdXR0b24oKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuaXRlbXMgJiYgdGhpcy5pdGVtcy5sZW5ndGggPiAwICYmIHRoaXMuc2hvd01vcmUub2JzZXJ2ZXJzLmxlbmd0aCA+IDA7XG4gIH1cblxuICBnZXQgc2hvd0J1dHRvbnNBY3Rpb25zKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLnZpc2libGVBY3Rpb25zICYmIHRoaXMudmlzaWJsZUFjdGlvbnMubGVuZ3RoID4gMCAmJiB0aGlzLnZpc2libGVBY3Rpb25zLmxlbmd0aCA8PSAyO1xuICB9XG5cbiAgZ2V0IHNob3dQb3B1cEFjdGlvbnMoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMudmlzaWJsZUFjdGlvbnMgJiYgdGhpcy52aXNpYmxlQWN0aW9ucy5sZW5ndGggPiAyO1xuICB9XG5cbiAgZ2V0IHRpdGxlSGFzQWN0aW9uKCkge1xuICAgIHJldHVybiB0aGlzLnRpdGxlQWN0aW9uLm9ic2VydmVycy5sZW5ndGggPiAwO1xuICB9XG5cbiAgZ2V0IHZpc2libGVBY3Rpb25zKCkge1xuICAgIHJldHVybiAoXG4gICAgICB0aGlzLmFjdGlvbnMgJiZcbiAgICAgIHRoaXMuYWN0aW9ucy5maWx0ZXIoYWN0aW9uID0+IHRoaXMucmV0dXJuQm9vbGVhblZhbHVlKGFjdGlvbiwgYWN0aW9uLnZpc2libGUsICd2aXNpYmxlJykgIT09IGZhbHNlKVxuICAgICk7XG4gIH1cblxuICBuZ0FmdGVyQ29udGVudEluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5pbml0U2hvd0RldGFpbCgpO1xuICB9XG5cbiAgbmdEb0NoZWNrKCkge1xuICAgIHRoaXMuY2hlY2tJdGVtc0NoYW5nZSgpO1xuICB9XG5cbiAgY2hlY2tUaXRsZVR5cGUoaXRlbTogYW55KSB7XG4gICAgaWYgKHRoaXMucHJvcGVydHlMaW5rICYmIGl0ZW1bdGhpcy5wcm9wZXJ0eUxpbmtdKSB7XG4gICAgICByZXR1cm4gaXRlbVt0aGlzLnByb3BlcnR5TGlua10uc3RhcnRzV2l0aCgnaHR0cCcpID8gJ2V4dGVybmFsTGluaycgOiAnaW50ZXJuYWxMaW5rJztcbiAgICB9XG5cbiAgICByZXR1cm4gJ25vTGluayc7XG4gIH1cblxuICBnZXRJdGVtVGl0bGUoaXRlbSkge1xuICAgIHJldHVybiB0aGlzLmhhc0NvbnRlbnRUZW1wbGF0ZSAmJiB0aGlzLmxpc3RWaWV3Q29udGVudFRlbXBsYXRlLnRpdGxlXG4gICAgICA/IHRoaXMubGlzdFZpZXdDb250ZW50VGVtcGxhdGUudGl0bGUoaXRlbSlcbiAgICAgIDogaXRlbVt0aGlzLnByb3BlcnR5VGl0bGVdO1xuICB9XG5cbiAgaGFzSXRlbXMoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuaXRlbXMgJiYgdGhpcy5pdGVtcy5sZW5ndGggPiAwO1xuICB9XG5cbiAgcmV0dXJuQm9vbGVhblZhbHVlKGxpc3RWaWV3QWN0aW9uOiBQb0xpc3RWaWV3QWN0aW9uLCBpdGVtOiBhbnksIHByb3BlcnR5OiBzdHJpbmcpIHtcbiAgICByZXR1cm4gaXNUeXBlb2YobGlzdFZpZXdBY3Rpb25bcHJvcGVydHldLCAnZnVuY3Rpb24nKVxuICAgICAgPyAoPGFueT5saXN0Vmlld0FjdGlvbilbcHJvcGVydHldKGl0ZW0pXG4gICAgICA6IGxpc3RWaWV3QWN0aW9uW3Byb3BlcnR5XTtcbiAgfVxuXG4gIHRyYWNrQnkoaW5kZXgpIHtcbiAgICByZXR1cm4gaW5kZXg7XG4gIH1cblxuICB0b2dnbGVQb3B1cChpdGVtLCB0YXJnZXRSZWY6IEhUTUxFbGVtZW50KSB7XG4gICAgdGhpcy5wb3B1cFRhcmdldCA9IHRhcmdldFJlZjtcbiAgICB0aGlzLmNoYW5nZURldGVjdG9yLmRldGVjdENoYW5nZXMoKTtcblxuICAgIHRoaXMucG9Qb3B1cENvbXBvbmVudC50b2dnbGUoaXRlbSk7XG4gIH1cblxuICBvbkFuaW1hdGlvbkV2ZW50KGV2ZW50OiBBbmltYXRpb25FdmVudCwgZGV0YWlsKSB7XG4gICAgdGhpcy5zaG93RGV0YWlsLmVtaXQoZGV0YWlsKTtcbiAgfVxuXG4gIHByaXZhdGUgY2hlY2tJdGVtc0NoYW5nZSgpIHtcbiAgICBjb25zdCBjaGFuZ2VzSXRlbXMgPSB0aGlzLmRpZmZlci5kaWZmKHRoaXMuaXRlbXMpO1xuXG4gICAgaWYgKGNoYW5nZXNJdGVtcyAmJiB0aGlzLnNlbGVjdEFsbCkge1xuICAgICAgdGhpcy5zZWxlY3RBbGwgPSBudWxsO1xuICAgIH1cblxuICAgIGlmIChjaGFuZ2VzSXRlbXMgJiYgdGhpcy5pdGVtcyAmJiB0aGlzLml0ZW1zLmxlbmd0aCAmJiB0aGlzLnNlbGVjdCAmJiAhdGhpcy5oaWRlU2VsZWN0QWxsKSB7XG4gICAgICB0aGlzLnNob3dIZWFkZXIgPSB0cnVlO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgaW5pdFNob3dEZXRhaWwoKSB7XG4gICAgaWYgKHRoaXMuaXRlbXMgJiYgdGhpcy5pdGVtcy5sZW5ndGggPiAwICYmIHRoaXMuaGFzRGV0YWlsVGVtcGxhdGUgJiYgdGhpcy5saXN0Vmlld0RldGFpbFRlbXBsYXRlLnNob3dEZXRhaWwpIHtcbiAgICAgIHRoaXMuaXRlbXMuZm9yRWFjaChpdGVtID0+IChpdGVtLiRzaG93RGV0YWlsID0gdGhpcy5saXN0Vmlld0RldGFpbFRlbXBsYXRlLnNob3dEZXRhaWwoaXRlbSkpKTtcbiAgICB9XG4gIH1cbn1cbiIsIjxkaXZcbiAgW2NsYXNzLnBvLWxpc3Qtdmlldy1tYWluLWNvbnRhaW5lci1oZWFkZXJdPVwic2hvd0hlYWRlclwiXG4gIFtjbGFzcy5wby1saXN0LXZpZXctbWFpbi1jb250YWluZXJdPVwiIXNob3dIZWFkZXJcIlxuICBbc3R5bGUuaGVpZ2h0LnB4XT1cImhlaWdodFwiXG4+XG4gIDxkaXYgKm5nSWY9XCJzaG93SGVhZGVyXCIgY2xhc3M9XCJwby1saXN0LXZpZXctbWFpbi1oZWFkZXJcIj5cbiAgICA8ZGl2IGNsYXNzPVwicG8tY2hlY2tib3gtZ3JvdXAtaXRlbVwiPlxuICAgICAgPGRpdiBjbGFzcz1cInBvLWxpc3Qtdmlldy1tYWluLXNlbGVjdFwiPlxuICAgICAgICA8cG8tY2hlY2tib3hcbiAgICAgICAgICBuYW1lPVwic2VsZWN0QWxsXCJcbiAgICAgICAgICBbKG5nTW9kZWwpXT1cInNlbGVjdEFsbFwiXG4gICAgICAgICAgW3AtbGFiZWxdPVwibGl0ZXJhbHMuc2VsZWN0QWxsXCJcbiAgICAgICAgICAocC1jaGFuZ2UpPVwic2VsZWN0QWxsTGlzdEl0ZW1zKClcIlxuICAgICAgICAgIChjbGljayk9XCJzZWxlY3RBbGxMaXN0SXRlbXMoKVwiXG4gICAgICAgID48L3BvLWNoZWNrYm94PlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuXG4gIDxkaXYgY2xhc3M9XCJwby1saXN0LXZpZXctbWFpbi1jb250ZW50XCI+XG4gICAgPHBvLWNvbnRhaW5lciBbcC1uby1wYWRkaW5nXT1cInRydWVcIiAqbmdJZj1cIiFoYXNJdGVtcygpXCI+XG4gICAgICA8ZGl2IGNsYXNzPVwicG8tbGlzdC12aWV3LWNvbnRhaW5lci1uby1kYXRhIHBvLXRleHQtY2VudGVyXCI+XG4gICAgICAgIDxzcGFuPiB7eyBsaXRlcmFscy5ub0RhdGEgfX0gPC9zcGFuPlxuICAgICAgPC9kaXY+XG4gICAgPC9wby1jb250YWluZXI+XG5cbiAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBpdGVtIG9mIGl0ZW1zOyBsZXQgaW5kZXggPSBpbmRleDsgdHJhY2tCeTogdHJhY2tCeVwiPlxuICAgICAgPHBvLWNvbnRhaW5lciBbcC1uby1wYWRkaW5nXT1cInRydWVcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cInBvLWxpc3Qtdmlldy1jb250YWluZXJcIj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwicG8tbGlzdC12aWV3LWhlYWRlclwiPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInBvLWxpc3Qtdmlldy10aXRsZVwiIFtuZ1N3aXRjaF09XCJjaGVja1RpdGxlVHlwZShpdGVtKVwiPlxuICAgICAgICAgICAgICA8ZGl2ICpuZ0lmPVwic2VsZWN0XCIgY2xhc3M9XCJwby1saXN0LXZpZXctc2VsZWN0XCI+XG4gICAgICAgICAgICAgICAgPHBvLWNoZWNrYm94XG4gICAgICAgICAgICAgICAgICBbKG5nTW9kZWwpXT1cIml0ZW0uJHNlbGVjdGVkXCJcbiAgICAgICAgICAgICAgICAgIG5hbWU9XCJjaGVja2JveFwiXG4gICAgICAgICAgICAgICAgICAocC1jaGFuZ2UpPVwic2VsZWN0TGlzdEl0ZW0oaXRlbSlcIlxuICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cInNlbGVjdExpc3RJdGVtKGl0ZW0pXCJcbiAgICAgICAgICAgICAgICA+PC9wby1jaGVja2JveD5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDxhXG4gICAgICAgICAgICAgICAgKm5nU3dpdGNoQ2FzZT1cIidleHRlcm5hbExpbmsnXCJcbiAgICAgICAgICAgICAgICBjbGFzcz1cInBvLWxpc3Qtdmlldy10aXRsZS1saW5rXCJcbiAgICAgICAgICAgICAgICB0YXJnZXQ9XCJfYmxhbmtcIlxuICAgICAgICAgICAgICAgIFtocmVmXT1cIml0ZW1bcHJvcGVydHlMaW5rXVwiXG4gICAgICAgICAgICAgICAgKGNsaWNrKT1cInJ1blRpdGxlQWN0aW9uKGl0ZW0pXCJcbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIHt7IGdldEl0ZW1UaXRsZShpdGVtKSB9fVxuICAgICAgICAgICAgICA8L2E+XG4gICAgICAgICAgICAgIDxhXG4gICAgICAgICAgICAgICAgKm5nU3dpdGNoQ2FzZT1cIidpbnRlcm5hbExpbmsnXCJcbiAgICAgICAgICAgICAgICBjbGFzcz1cInBvLWxpc3Qtdmlldy10aXRsZS1saW5rXCJcbiAgICAgICAgICAgICAgICBbcm91dGVyTGlua109XCJpdGVtW3Byb3BlcnR5TGlua11cIlxuICAgICAgICAgICAgICAgIChjbGljayk9XCJydW5UaXRsZUFjdGlvbihpdGVtKVwiXG4gICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICB7eyBnZXRJdGVtVGl0bGUoaXRlbSkgfX1cbiAgICAgICAgICAgICAgPC9hPlxuICAgICAgICAgICAgICA8c3BhblxuICAgICAgICAgICAgICAgICpuZ1N3aXRjaENhc2U9XCInbm9MaW5rJ1wiXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJwby1saXN0LXZpZXctdGl0bGUtbm8tbGlua1wiXG4gICAgICAgICAgICAgICAgW2NsYXNzLnBvLWxpc3Qtdmlldy10aXRsZS1saW5rXT1cInRpdGxlSGFzQWN0aW9uXCJcbiAgICAgICAgICAgICAgICAoY2xpY2spPVwidGl0bGVIYXNBY3Rpb24gJiYgcnVuVGl0bGVBY3Rpb24oaXRlbSlcIlxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAge3sgZ2V0SXRlbVRpdGxlKGl0ZW0pIH19XG4gICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgIDwvZGl2PlxuXG4gICAgICAgICAgICA8ZGl2ICpuZ0lmPVwic2hvd0J1dHRvbnNBY3Rpb25zXCIgY2xhc3M9XCJwby1saXN0LXZpZXctYWN0aW9uc1wiPlxuICAgICAgICAgICAgICA8cG8tYnV0dG9uXG4gICAgICAgICAgICAgICAgKm5nRm9yPVwibGV0IGFjdGlvbiBvZiB2aXNpYmxlQWN0aW9uc1wiXG4gICAgICAgICAgICAgICAgW3AtZGlzYWJsZWRdPVwicmV0dXJuQm9vbGVhblZhbHVlKGFjdGlvbiwgaXRlbSwgJ2Rpc2FibGVkJylcIlxuICAgICAgICAgICAgICAgIFtwLWljb25dPVwiYWN0aW9uLmljb25cIlxuICAgICAgICAgICAgICAgIFtwLWxhYmVsXT1cImFjdGlvbi5sYWJlbFwiXG4gICAgICAgICAgICAgICAgW3Ata2luZF09XCJhY3Rpb24udHlwZVwiXG4gICAgICAgICAgICAgICAgKHAtY2xpY2spPVwib25DbGlja0FjdGlvbihhY3Rpb24sIGl0ZW0pXCJcbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICA8L3BvLWJ1dHRvbj5cbiAgICAgICAgICAgIDwvZGl2PlxuXG4gICAgICAgICAgICA8ZGl2ICpuZ0lmPVwic2hvd1BvcHVwQWN0aW9uc1wiIGNsYXNzPVwicG8tbGlzdC12aWV3LW1vcmUtYWN0aW9uc1wiPlxuICAgICAgICAgICAgICA8c3BhblxuICAgICAgICAgICAgICAgICNwb3B1cFRhcmdldFxuICAgICAgICAgICAgICAgIGNsYXNzPVwicG8taWNvbiBwby1pY29uLW1vcmUgcG8tbGlzdC12aWV3LW1vcmUtaWNvbiBwby1jbGlja2FibGVcIlxuICAgICAgICAgICAgICAgIChjbGljayk9XCJ0b2dnbGVQb3B1cChpdGVtLCBwb3B1cFRhcmdldClcIlxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvZGl2PlxuXG4gICAgICAgICAgPGRpdiAqbmdJZj1cImhhc0NvbnRlbnRUZW1wbGF0ZVwiIGNsYXNzPVwicG8tbGlzdC12aWV3LWNvbnRlbnRcIj5cbiAgICAgICAgICAgIDxuZy10ZW1wbGF0ZVxuICAgICAgICAgICAgICBbbmdUZW1wbGF0ZU91dGxldF09XCJsaXN0Vmlld0NvbnRlbnRUZW1wbGF0ZS50ZW1wbGF0ZVJlZlwiXG4gICAgICAgICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dF09XCJ7ICRpbXBsaWNpdDogaXRlbSwgaW5kZXg6IGluZGV4IH1cIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgICA8L2Rpdj5cblxuICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgIEBzaG93SGlkZURldGFpbFxuICAgICAgICAgICAgKEBzaG93SGlkZURldGFpbC5zdGFydCk9XCJpdGVtLiRzaG93RGV0YWlsID8gb25BbmltYXRpb25FdmVudCgkZXZlbnQsIGl0ZW0pIDogJ3VuZGVmaW5lZCdcIlxuICAgICAgICAgICAgKm5nSWY9XCJoYXNEZXRhaWxUZW1wbGF0ZSAmJiBpdGVtLiRzaG93RGV0YWlsXCJcbiAgICAgICAgICAgIGNsYXNzPVwicG8tbGlzdC12aWV3LWRldGFpbFwiXG4gICAgICAgICAgPlxuICAgICAgICAgICAgPG5nLXRlbXBsYXRlXG4gICAgICAgICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0XT1cImxpc3RWaWV3RGV0YWlsVGVtcGxhdGUudGVtcGxhdGVSZWZcIlxuICAgICAgICAgICAgICBbbmdUZW1wbGF0ZU91dGxldENvbnRleHRdPVwieyAkaW1wbGljaXQ6IGl0ZW0sIGluZGV4OiBpbmRleCB9XCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuXG4gICAgICAgIDxkaXYgKm5nSWY9XCJoYXNEZXRhaWxUZW1wbGF0ZVwiIGNsYXNzPVwicG8tbGlzdC12aWV3LWRldGFpbC1idXR0b25cIj5cbiAgICAgICAgICA8cG8tYnV0dG9uXG4gICAgICAgICAgICBwLWtpbmQ9XCJ0ZXJ0aWFyeVwiXG4gICAgICAgICAgICBbcC1sYWJlbF09XCJpdGVtLiRzaG93RGV0YWlsID8gbGl0ZXJhbHMuaGlkZURldGFpbHMgOiBsaXRlcmFscy5zaG93RGV0YWlsc1wiXG4gICAgICAgICAgICAocC1jbGljayk9XCJpdGVtLiRzaG93RGV0YWlsID0gIWl0ZW0uJHNob3dEZXRhaWxcIlxuICAgICAgICAgID5cbiAgICAgICAgICA8L3BvLWJ1dHRvbj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L3BvLWNvbnRhaW5lcj5cbiAgICA8L25nLWNvbnRhaW5lcj5cbiAgPC9kaXY+XG48L2Rpdj5cblxuPGRpdiAqbmdJZj1cImRpc3BsYXlTaG93TW9yZUJ1dHRvblwiIGNsYXNzPVwicG8tbWItMiBwby10ZXh0LWNlbnRlclwiPlxuICA8cG8tYnV0dG9uIFtwLWRpc2FibGVkXT1cInNob3dNb3JlRGlzYWJsZWRcIiBbcC1sYWJlbF09XCJsaXRlcmFscy5sb2FkTW9yZURhdGFcIiAocC1jbGljayk9XCJvblNob3dNb3JlKClcIj4gPC9wby1idXR0b24+XG48L2Rpdj5cblxuPHBvLXBvcHVwICNwb3B1cCBbcC1hY3Rpb25zXT1cImFjdGlvbnNcIiBbcC10YXJnZXRdPVwicG9wdXBUYXJnZXRcIj4gPC9wby1wb3B1cD5cbiJdfQ==
374
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG8tbGlzdC12aWV3LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3VpL3NyYy9saWIvY29tcG9uZW50cy9wby1saXN0LXZpZXcvcG8tbGlzdC12aWV3LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3VpL3NyYy9saWIvY29tcG9uZW50cy9wby1saXN0LXZpZXcvcG8tbGlzdC12aWV3LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxVQUFVLEVBQUUsT0FBTyxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDakYsT0FBTyxFQUdMLFNBQVMsRUFDVCxZQUFZLEVBR1osU0FBUyxFQUNWLE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUs1QyxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUN4RSxPQUFPLEVBQUUsa0NBQWtDLEVBQUUsTUFBTSx5RUFBeUUsQ0FBQztBQUM3SCxPQUFPLEVBQUUsaUNBQWlDLEVBQUUsTUFBTSx1RUFBdUUsQ0FBQzs7Ozs7Ozs7Ozs7OztJQ2J4SCw4QkFBeUQsYUFBQSxhQUFBLHNCQUFBO0lBS2pELHdPQUF1Qiw4SkFFWCxlQUFBLDJCQUFvQixDQUFBLElBRlQsd0pBR2QsZUFBQSwyQkFBb0IsQ0FBQSxJQUhOO0lBSXhCLGlCQUFjLEVBQUEsRUFBQSxFQUFBOzs7SUFKYixlQUF1QjtJQUF2QiwwQ0FBdUIsc0NBQUE7OztJQVU3Qix3Q0FBd0QsY0FBQSxXQUFBO0lBRTdDLFlBQXNCO0lBQUEsaUJBQU8sRUFBQSxFQUFBOzs7SUFGMUIsbUNBQXFCO0lBRXhCLGVBQXNCO0lBQXRCLHVEQUFzQjs7OztJQVN2QiwrQkFBZ0Qsc0JBQUE7SUFFNUMsc05B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d0JBQ3hCLEtBQUssQ0FBQyxHQUFHLEVBQUUsS0FBSyxDQUFDLEVBQUUsWUFBWSxFQUFFLFNBQVMsRUFBRSxDQUFDLENBQUM7d0JBQzlDLEtBQUssQ0FBQyxNQUFNLEVBQUUsS0FBSyxDQUFDLEVBQUUsWUFBWSxFQUFFLFFBQVEsRUFBRSxDQUFDLENBQUM7d0JBQ2hELFVBQVUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxLQUFLLENBQUMsRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUFFLFlBQVksRUFBRSxRQUFRLEVBQUUsQ0FBQyxFQUFFLE9BQU8sQ0FBQyxHQUFHLEVBQUUsS0FBSyxDQUFDLEVBQUUsTUFBTSxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDO3dCQUM3RyxVQUFVLENBQUMsV0FBVyxFQUFFLENBQUMsS0FBSyxDQUFDLEVBQUUsTUFBTSxFQUFFLEdBQUcsRUFBRSxDQUFDLEVBQUUsT0FBTyxDQUFDLEdBQUcsRUFBRSxLQUFLLENBQUMsRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUM7cUJBQ3hGLENBQUM7aUJBQ0g7a0lBSUQsdUJBQXVCO2tCQUR0QixZQUFZO21CQUFDLGtDQUFrQyxFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRTtZQUdsRSxzQkFBc0I7a0JBRHJCLFlBQVk7bUJBQUMsaUNBQWlDLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFO1lBRzNCLGdCQUFnQjtrQkFBckQsU0FBUzttQkFBQyxPQUFPLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgYW5pbWF0ZSwgc3RhdGUsIHN0eWxlLCB0cmFuc2l0aW9uLCB0cmlnZ2VyIH0gZnJvbSAnQGFuZ3VsYXIvYW5pbWF0aW9ucyc7XG5pbXBvcnQge1xuICBBZnRlckNvbnRlbnRJbml0LFxuICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgQ29tcG9uZW50LFxuICBDb250ZW50Q2hpbGQsXG4gIERvQ2hlY2ssXG4gIEl0ZXJhYmxlRGlmZmVycyxcbiAgVmlld0NoaWxkXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBpc1R5cGVvZiB9IGZyb20gJy4uLy4uL3V0aWxzL3V0aWwnO1xuaW1wb3J0IHsgUG9MYW5ndWFnZVNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9wby1sYW5ndWFnZS9wby1sYW5ndWFnZS5zZXJ2aWNlJztcbmltcG9ydCB7IFBvUG9wdXBDb21wb25lbnQgfSBmcm9tICcuLi9wby1wb3B1cC9wby1wb3B1cC5jb21wb25lbnQnO1xuXG5pbXBvcnQgeyBQb0xpc3RWaWV3QWN0aW9uIH0gZnJvbSAnLi9pbnRlcmZhY2VzL3BvLWxpc3Qtdmlldy1hY3Rpb24uaW50ZXJmYWNlJztcbmltcG9ydCB7IFBvTGlzdFZpZXdCYXNlQ29tcG9uZW50IH0gZnJvbSAnLi9wby1saXN0LXZpZXctYmFzZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgUG9MaXN0Vmlld0NvbnRlbnRUZW1wbGF0ZURpcmVjdGl2ZSB9IGZyb20gJy4vcG8tbGlzdC12aWV3LWNvbnRlbnQtdGVtcGxhdGUvcG8tbGlzdC12aWV3LWNvbnRlbnQtdGVtcGxhdGUuZGlyZWN0aXZlJztcbmltcG9ydCB7IFBvTGlzdFZpZXdEZXRhaWxUZW1wbGF0ZURpcmVjdGl2ZSB9IGZyb20gJy4vcG8tbGlzdC12aWV3LWRldGFpbC10ZW1wbGF0ZS9wby1saXN0LXZpZXctZGV0YWlsLXRlbXBsYXRlLmRpcmVjdGl2ZSc7XG5cbi8qKlxuICogQGRvY3NFeHRlbmRzIFBvTGlzdFZpZXdCYXNlQ29tcG9uZW50XG4gKlxuICogQGV4YW1wbGVcbiAqXG4gKiA8ZXhhbXBsZSBuYW1lPVwicG8tbGlzdC12aWV3LWJhc2ljXCIgdGl0bGU9XCJQTyBMaXN0IFZpZXcgQmFzaWNcIj5cbiAqICA8ZmlsZSBuYW1lPVwic2FtcGxlLXBvLWxpc3Qtdmlldy1iYXNpYy9zYW1wbGUtcG8tbGlzdC12aWV3LWJhc2ljLmNvbXBvbmVudC5odG1sXCI+IDwvZmlsZT5cbiAqICA8ZmlsZSBuYW1lPVwic2FtcGxlLXBvLWxpc3Qtdmlldy1iYXNpYy9zYW1wbGUtcG8tbGlzdC12aWV3LWJhc2ljLmNvbXBvbmVudC50c1wiPiA8L2ZpbGU+XG4gKiA8L2V4YW1wbGU+XG4gKlxuICogPGV4YW1wbGUgbmFtZT1cInBvLWxpc3Qtdmlldy1sYWJzXCIgdGl0bGU9XCJQTyBMaXN0IFZpZXcgTGFic1wiPlxuICogIDxmaWxlIG5hbWU9XCJzYW1wbGUtcG8tbGlzdC12aWV3LWxhYnMvc2FtcGxlLXBvLWxpc3Qtdmlldy1sYWJzLmNvbXBvbmVudC5odG1sXCI+IDwvZmlsZT5cbiAqICA8ZmlsZSBuYW1lPVwic2FtcGxlLXBvLWxpc3Qtdmlldy1sYWJzL3NhbXBsZS1wby1saXN0LXZpZXctbGFicy5jb21wb25lbnQudHNcIj4gPC9maWxlPlxuICogPC9leGFtcGxlPlxuICpcbiAqIDxleGFtcGxlIG5hbWU9XCJwby1saXN0LXZpZXctaGlyaW5nLXByb2Nlc3Nlc1wiIHRpdGxlPVwiUE8gTGlzdCBWaWV3IC0gSGlyaW5nIFByb2Nlc3Nlc1wiPlxuICogIDxmaWxlIG5hbWU9XCJzYW1wbGUtcG8tbGlzdC12aWV3LWhpcmluZy1wcm9jZXNzZXMvc2FtcGxlLXBvLWxpc3Qtdmlldy1oaXJpbmctcHJvY2Vzc2VzLmNvbXBvbmVudC5odG1sXCI+IDwvZmlsZT5cbiAqICA8ZmlsZSBuYW1lPVwic2FtcGxlLXBvLWxpc3Qtdmlldy1oaXJpbmctcHJvY2Vzc2VzL3NhbXBsZS1wby1saXN0LXZpZXctaGlyaW5nLXByb2Nlc3Nlcy5jb21wb25lbnQudHNcIj4gPC9maWxlPlxuICogIDxmaWxlIG5hbWU9XCJzYW1wbGUtcG8tbGlzdC12aWV3LWhpcmluZy1wcm9jZXNzZXMvc2FtcGxlLXBvLWxpc3Qtdmlldy1oaXJpbmctcHJvY2Vzc2VzLnNlcnZpY2UudHNcIj4gPC9maWxlPlxuICogPC9leGFtcGxlPlxuICovXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdwby1saXN0LXZpZXcnLFxuICB0ZW1wbGF0ZVVybDogJy4vcG8tbGlzdC12aWV3LmNvbXBvbmVudC5odG1sJyxcbiAgYW5pbWF0aW9uczogW1xuICAgIHRyaWdnZXIoJ3Nob3dIaWRlRGV0YWlsJywgW1xuICAgICAgc3RhdGUoJyonLCBzdHlsZSh7ICdvdmVyZmxvdy15JzogJ3Zpc2libGUnIH0pKSxcbiAgICAgIHN0YXRlKCd2b2lkJywgc3R5bGUoeyAnb3ZlcmZsb3cteSc6ICdoaWRkZW4nIH0pKSxcbiAgICAgIHRyYW5zaXRpb24oJyogPT4gdm9pZCcsIFtzdHlsZSh7IGhlaWdodDogJyonLCAnb3ZlcmZsb3cteSc6ICdoaWRkZW4nIH0pLCBhbmltYXRlKDEwMCwgc3R5bGUoeyBoZWlnaHQ6IDAgfSkpXSksXG4gICAgICB0cmFuc2l0aW9uKCd2b2lkID0+IConLCBbc3R5bGUoeyBoZWlnaHQ6ICcwJyB9KSwgYW5pbWF0ZSgxMDAsIHN0eWxlKHsgaGVpZ2h0OiAnKicgfSkpXSlcbiAgICBdKVxuICBdXG59KVxuZXhwb3J0IGNsYXNzIFBvTGlzdFZpZXdDb21wb25lbnQgZXh0ZW5kcyBQb0xpc3RWaWV3QmFzZUNvbXBvbmVudCBpbXBsZW1lbnRzIEFmdGVyQ29udGVudEluaXQsIERvQ2hlY2sge1xuICBAQ29udGVudENoaWxkKFBvTGlzdFZpZXdDb250ZW50VGVtcGxhdGVEaXJlY3RpdmUsIHsgc3RhdGljOiB0cnVlIH0pXG4gIGxpc3RWaWV3Q29udGVudFRlbXBsYXRlOiBQb0xpc3RWaWV3Q29udGVudFRlbXBsYXRlRGlyZWN0aXZlO1xuICBAQ29udGVudENoaWxkKFBvTGlzdFZpZXdEZXRhaWxUZW1wbGF0ZURpcmVjdGl2ZSwgeyBzdGF0aWM6IHRydWUgfSlcbiAgbGlzdFZpZXdEZXRhaWxUZW1wbGF0ZTogUG9MaXN0Vmlld0RldGFpbFRlbXBsYXRlRGlyZWN0aXZlO1xuXG4gIEBWaWV3Q2hpbGQoJ3BvcHVwJywgeyBzdGF0aWM6IHRydWUgfSkgcG9Qb3B1cENvbXBvbmVudDogUG9Qb3B1cENvbXBvbmVudDtcblxuICBwcml2YXRlIGRpZmZlcjtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGNoYW5nZURldGVjdG9yOiBDaGFuZ2VEZXRlY3RvclJlZiwgZGlmZmVyczogSXRlcmFibGVEaWZmZXJzLCBsYW5ndWFnZVNlcnZpY2U6IFBvTGFuZ3VhZ2VTZXJ2aWNlKSB7XG4gICAgc3VwZXIobGFuZ3VhZ2VTZXJ2aWNlKTtcbiAgICB0aGlzLmRpZmZlciA9IGRpZmZlcnMuZmluZChbXSkuY3JlYXRlKG51bGwpO1xuICB9XG5cbiAgZ2V0IGhhc0NvbnRlbnRUZW1wbGF0ZSgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gISF0aGlzLmxpc3RWaWV3Q29udGVudFRlbXBsYXRlO1xuICB9XG5cbiAgZ2V0IGhhc0RldGFpbFRlbXBsYXRlKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiAhIXRoaXMubGlzdFZpZXdEZXRhaWxUZW1wbGF0ZTtcbiAgfVxuXG4gIGdldCBkaXNwbGF5U2hvd01vcmVCdXR0b24oKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuaXRlbXMgJiYgdGhpcy5pdGVtcy5sZW5ndGggPiAwICYmIHRoaXMuc2hvd01vcmUub2JzZXJ2ZXJzLmxlbmd0aCA+IDA7XG4gIH1cblxuICBnZXQgc2hvd0J1dHRvbnNBY3Rpb25zKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLnZpc2libGVBY3Rpb25zICYmIHRoaXMudmlzaWJsZUFjdGlvbnMubGVuZ3RoID4gMCAmJiB0aGlzLnZpc2libGVBY3Rpb25zLmxlbmd0aCA8PSAyO1xuICB9XG5cbiAgZ2V0IHNob3dQb3B1cEFjdGlvbnMoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMudmlzaWJsZUFjdGlvbnMgJiYgdGhpcy52aXNpYmxlQWN0aW9ucy5sZW5ndGggPiAyO1xuICB9XG5cbiAgZ2V0IHRpdGxlSGFzQWN0aW9uKCkge1xuICAgIHJldHVybiB0aGlzLnRpdGxlQWN0aW9uLm9ic2VydmVycy5sZW5ndGggPiAwO1xuICB9XG5cbiAgZ2V0IHZpc2libGVBY3Rpb25zKCkge1xuICAgIHJldHVybiAoXG4gICAgICB0aGlzLmFjdGlvbnMgJiZcbiAgICAgIHRoaXMuYWN0aW9ucy5maWx0ZXIoYWN0aW9uID0+IHRoaXMucmV0dXJuQm9vbGVhblZhbHVlKGFjdGlvbiwgYWN0aW9uLnZpc2libGUsICd2aXNpYmxlJykgIT09IGZhbHNlKVxuICAgICk7XG4gIH1cblxuICBuZ0FmdGVyQ29udGVudEluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5pbml0U2hvd0RldGFpbCgpO1xuICB9XG5cbiAgbmdEb0NoZWNrKCkge1xuICAgIHRoaXMuY2hlY2tJdGVtc0NoYW5nZSgpO1xuICB9XG5cbiAgY2hlY2tUaXRsZVR5cGUoaXRlbTogYW55KSB7XG4gICAgaWYgKHRoaXMucHJvcGVydHlMaW5rICYmIGl0ZW1bdGhpcy5wcm9wZXJ0eUxpbmtdKSB7XG4gICAgICByZXR1cm4gaXRlbVt0aGlzLnByb3BlcnR5TGlua10uc3RhcnRzV2l0aCgnaHR0cCcpID8gJ2V4dGVybmFsTGluaycgOiAnaW50ZXJuYWxMaW5rJztcbiAgICB9XG5cbiAgICByZXR1cm4gJ25vTGluayc7XG4gIH1cblxuICBnZXRJdGVtVGl0bGUoaXRlbSkge1xuICAgIHJldHVybiB0aGlzLmhhc0NvbnRlbnRUZW1wbGF0ZSAmJiB0aGlzLmxpc3RWaWV3Q29udGVudFRlbXBsYXRlLnRpdGxlXG4gICAgICA/IHRoaXMubGlzdFZpZXdDb250ZW50VGVtcGxhdGUudGl0bGUoaXRlbSlcbiAgICAgIDogaXRlbVt0aGlzLnByb3BlcnR5VGl0bGVdO1xuICB9XG5cbiAgaGFzSXRlbXMoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuaXRlbXMgJiYgdGhpcy5pdGVtcy5sZW5ndGggPiAwO1xuICB9XG5cbiAgcmV0dXJuQm9vbGVhblZhbHVlKGxpc3RWaWV3QWN0aW9uOiBQb0xpc3RWaWV3QWN0aW9uLCBpdGVtOiBhbnksIHByb3BlcnR5OiBzdHJpbmcpIHtcbiAgICByZXR1cm4gaXNUeXBlb2YobGlzdFZpZXdBY3Rpb25bcHJvcGVydHldLCAnZnVuY3Rpb24nKVxuICAgICAgPyAoPGFueT5saXN0Vmlld0FjdGlvbilbcHJvcGVydHldKGl0ZW0pXG4gICAgICA6IGxpc3RWaWV3QWN0aW9uW3Byb3BlcnR5XTtcbiAgfVxuXG4gIHRyYWNrQnkoaW5kZXgpIHtcbiAgICByZXR1cm4gaW5kZXg7XG4gIH1cblxuICB0b2dnbGVQb3B1cChpdGVtLCB0YXJnZXRSZWY6IEhUTUxFbGVtZW50KSB7XG4gICAgdGhpcy5wb3B1cFRhcmdldCA9IHRhcmdldFJlZjtcbiAgICB0aGlzLmNoYW5nZURldGVjdG9yLmRldGVjdENoYW5nZXMoKTtcblxuICAgIHRoaXMucG9Qb3B1cENvbXBvbmVudC50b2dnbGUoaXRlbSk7XG4gIH1cblxuICBvbkFuaW1hdGlvbkV2ZW50KGV2ZW50OiBBbmltYXRpb25FdmVudCwgZGV0YWlsKSB7XG4gICAgdGhpcy5zaG93RGV0YWlsLmVtaXQoZGV0YWlsKTtcbiAgfVxuXG4gIHByaXZhdGUgY2hlY2tJdGVtc0NoYW5nZSgpIHtcbiAgICBjb25zdCBjaGFuZ2VzSXRlbXMgPSB0aGlzLmRpZmZlci5kaWZmKHRoaXMuaXRlbXMpO1xuXG4gICAgaWYgKGNoYW5nZXNJdGVtcyAmJiB0aGlzLnNlbGVjdEFsbCkge1xuICAgICAgdGhpcy5zZWxlY3RBbGwgPSBudWxsO1xuICAgIH1cblxuICAgIGlmIChjaGFuZ2VzSXRlbXMgJiYgdGhpcy5pdGVtcyAmJiB0aGlzLml0ZW1zLmxlbmd0aCAmJiB0aGlzLnNlbGVjdCAmJiAhdGhpcy5oaWRlU2VsZWN0QWxsKSB7XG4gICAgICB0aGlzLnNob3dIZWFkZXIgPSB0cnVlO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgaW5pdFNob3dEZXRhaWwoKSB7XG4gICAgaWYgKHRoaXMuaXRlbXMgJiYgdGhpcy5pdGVtcy5sZW5ndGggPiAwICYmIHRoaXMuaGFzRGV0YWlsVGVtcGxhdGUgJiYgdGhpcy5saXN0Vmlld0RldGFpbFRlbXBsYXRlLnNob3dEZXRhaWwpIHtcbiAgICAgIHRoaXMuaXRlbXMuZm9yRWFjaChpdGVtID0+IChpdGVtLiRzaG93RGV0YWlsID0gdGhpcy5saXN0Vmlld0RldGFpbFRlbXBsYXRlLnNob3dEZXRhaWwoaXRlbSkpKTtcbiAgICB9XG4gIH1cbn1cbiIsIjxkaXZcbiAgW2NsYXNzLnBvLWxpc3Qtdmlldy1tYWluLWNvbnRhaW5lci1oZWFkZXJdPVwic2hvd0hlYWRlclwiXG4gIFtjbGFzcy5wby1saXN0LXZpZXctbWFpbi1jb250YWluZXJdPVwiIXNob3dIZWFkZXJcIlxuICBbc3R5bGUuaGVpZ2h0LnB4XT1cImhlaWdodFwiXG4+XG4gIDxkaXYgKm5nSWY9XCJzaG93SGVhZGVyXCIgY2xhc3M9XCJwby1saXN0LXZpZXctbWFpbi1oZWFkZXJcIj5cbiAgICA8ZGl2IGNsYXNzPVwicG8tY2hlY2tib3gtZ3JvdXAtaXRlbVwiPlxuICAgICAgPGRpdiBjbGFzcz1cInBvLWxpc3Qtdmlldy1tYWluLXNlbGVjdFwiPlxuICAgICAgICA8cG8tY2hlY2tib3hcbiAgICAgICAgICBuYW1lPVwic2VsZWN0QWxsXCJcbiAgICAgICAgICBbKG5nTW9kZWwpXT1cInNlbGVjdEFsbFwiXG4gICAgICAgICAgW3AtbGFiZWxdPVwibGl0ZXJhbHMuc2VsZWN0QWxsXCJcbiAgICAgICAgICAocC1jaGFuZ2UpPVwic2VsZWN0QWxsTGlzdEl0ZW1zKClcIlxuICAgICAgICAgIChjbGljayk9XCJzZWxlY3RBbGxMaXN0SXRlbXMoKVwiXG4gICAgICAgID48L3BvLWNoZWNrYm94PlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuXG4gIDxkaXYgY2xhc3M9XCJwby1saXN0LXZpZXctbWFpbi1jb250ZW50XCI+XG4gICAgPHBvLWNvbnRhaW5lciBbcC1uby1wYWRkaW5nXT1cInRydWVcIiAqbmdJZj1cIiFoYXNJdGVtcygpXCI+XG4gICAgICA8ZGl2IGNsYXNzPVwicG8tbGlzdC12aWV3LWNvbnRhaW5lci1uby1kYXRhIHBvLXRleHQtY2VudGVyXCI+XG4gICAgICAgIDxzcGFuPiB7eyBsaXRlcmFscy5ub0RhdGEgfX0gPC9zcGFuPlxuICAgICAgPC9kaXY+XG4gICAgPC9wby1jb250YWluZXI+XG5cbiAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBpdGVtIG9mIGl0ZW1zOyBsZXQgaW5kZXggPSBpbmRleDsgdHJhY2tCeTogdHJhY2tCeVwiPlxuICAgICAgPHBvLWNvbnRhaW5lciBbcC1uby1wYWRkaW5nXT1cInRydWVcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cInBvLWxpc3Qtdmlldy1jb250YWluZXJcIj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwicG8tbGlzdC12aWV3LWhlYWRlclwiPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInBvLWxpc3Qtdmlldy10aXRsZVwiIFtuZ1N3aXRjaF09XCJjaGVja1RpdGxlVHlwZShpdGVtKVwiPlxuICAgICAgICAgICAgICA8ZGl2ICpuZ0lmPVwic2VsZWN0XCIgY2xhc3M9XCJwby1saXN0LXZpZXctc2VsZWN0XCI+XG4gICAgICAgICAgICAgICAgPHBvLWNoZWNrYm94XG4gICAgICAgICAgICAgICAgICBbKG5nTW9kZWwpXT1cIml0ZW0uJHNlbGVjdGVkXCJcbiAgICAgICAgICAgICAgICAgIG5hbWU9XCJjaGVja2JveFwiXG4gICAgICAgICAgICAgICAgICAocC1jaGFuZ2UpPVwic2VsZWN0TGlzdEl0ZW0oaXRlbSlcIlxuICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cInNlbGVjdExpc3RJdGVtKGl0ZW0pXCJcbiAgICAgICAgICAgICAgICA+PC9wby1jaGVja2JveD5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDxhXG4gICAgICAgICAgICAgICAgKm5nU3dpdGNoQ2FzZT1cIidleHRlcm5hbExpbmsnXCJcbiAgICAgICAgICAgICAgICBjbGFzcz1cInBvLWxpc3Qtdmlldy10aXRsZS1saW5rXCJcbiAgICAgICAgICAgICAgICB0YXJnZXQ9XCJfYmxhbmtcIlxuICAgICAgICAgICAgICAgIFtocmVmXT1cIml0ZW1bcHJvcGVydHlMaW5rXVwiXG4gICAgICAgICAgICAgICAgKGNsaWNrKT1cInJ1blRpdGxlQWN0aW9uKGl0ZW0pXCJcbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIHt7IGdldEl0ZW1UaXRsZShpdGVtKSB9fVxuICAgICAgICAgICAgICA8L2E+XG4gICAgICAgICAgICAgIDxhXG4gICAgICAgICAgICAgICAgKm5nU3dpdGNoQ2FzZT1cIidpbnRlcm5hbExpbmsnXCJcbiAgICAgICAgICAgICAgICBjbGFzcz1cInBvLWxpc3Qtdmlldy10aXRsZS1saW5rXCJcbiAgICAgICAgICAgICAgICBbcm91dGVyTGlua109XCJpdGVtW3Byb3BlcnR5TGlua11cIlxuICAgICAgICAgICAgICAgIChjbGljayk9XCJydW5UaXRsZUFjdGlvbihpdGVtKVwiXG4gICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICB7eyBnZXRJdGVtVGl0bGUoaXRlbSkgfX1cbiAgICAgICAgICAgICAgPC9hPlxuICAgICAgICAgICAgICA8c3BhblxuICAgICAgICAgICAgICAgICpuZ1N3aXRjaENhc2U9XCInbm9MaW5rJ1wiXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJwby1saXN0LXZpZXctdGl0bGUtbm8tbGlua1wiXG4gICAgICAgICAgICAgICAgW2NsYXNzLnBvLWxpc3Qtdmlldy10aXRsZS1saW5rXT1cInRpdGxlSGFzQWN0aW9uXCJcbiAgICAgICAgICAgICAgICAoY2xpY2spPVwidGl0bGVIYXNBY3Rpb24gJiYgcnVuVGl0bGVBY3Rpb24oaXRlbSlcIlxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAge3sgZ2V0SXRlbVRpdGxlKGl0ZW0pIH19XG4gICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgIDwvZGl2PlxuXG4gICAgICAgICAgICA8ZGl2ICpuZ0lmPVwic2hvd0J1dHRvbnNBY3Rpb25zXCIgY2xhc3M9XCJwby1saXN0LXZpZXctYWN0aW9uc1wiPlxuICAgICAgICAgICAgICA8cG8tYnV0dG9uXG4gICAgICAgICAgICAgICAgKm5nRm9yPVwibGV0IGFjdGlvbiBvZiB2aXNpYmxlQWN0aW9uc1wiXG4gICAgICAgICAgICAgICAgW3AtZGlzYWJsZWRdPVwicmV0dXJuQm9vbGVhblZhbHVlKGFjdGlvbiwgaXRlbSwgJ2Rpc2FibGVkJylcIlxuICAgICAgICAgICAgICAgIFtwLWljb25dPVwiYWN0aW9uLmljb25cIlxuICAgICAgICAgICAgICAgIFtwLWxhYmVsXT1cImFjdGlvbi5sYWJlbFwiXG4gICAgICAgICAgICAgICAgW3AtZGFuZ2VyXT1cImFjdGlvbi50eXBlID09PSAnZGFuZ2VyJ1wiXG4gICAgICAgICAgICAgICAgKHAtY2xpY2spPVwib25DbGlja0FjdGlvbihhY3Rpb24sIGl0ZW0pXCJcbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICA8L3BvLWJ1dHRvbj5cbiAgICAgICAgICAgIDwvZGl2PlxuXG4gICAgICAgICAgICA8ZGl2ICpuZ0lmPVwic2hvd1BvcHVwQWN0aW9uc1wiIGNsYXNzPVwicG8tbGlzdC12aWV3LW1vcmUtYWN0aW9uc1wiPlxuICAgICAgICAgICAgICA8c3BhblxuICAgICAgICAgICAgICAgICNwb3B1cFRhcmdldFxuICAgICAgICAgICAgICAgIGNsYXNzPVwicG8taWNvbiBwby1pY29uLW1vcmUgcG8tbGlzdC12aWV3LW1vcmUtaWNvbiBwby1jbGlja2FibGVcIlxuICAgICAgICAgICAgICAgIChjbGljayk9XCJ0b2dnbGVQb3B1cChpdGVtLCBwb3B1cFRhcmdldClcIlxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvZGl2PlxuXG4gICAgICAgICAgPGRpdiAqbmdJZj1cImhhc0NvbnRlbnRUZW1wbGF0ZVwiIGNsYXNzPVwicG8tbGlzdC12aWV3LWNvbnRlbnRcIj5cbiAgICAgICAgICAgIDxuZy10ZW1wbGF0ZVxuICAgICAgICAgICAgICBbbmdUZW1wbGF0ZU91dGxldF09XCJsaXN0Vmlld0NvbnRlbnRUZW1wbGF0ZS50ZW1wbGF0ZVJlZlwiXG4gICAgICAgICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dF09XCJ7ICRpbXBsaWNpdDogaXRlbSwgaW5kZXg6IGluZGV4IH1cIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgICA8L2Rpdj5cblxuICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgIEBzaG93SGlkZURldGFpbFxuICAgICAgICAgICAgKEBzaG93SGlkZURldGFpbC5zdGFydCk9XCJpdGVtLiRzaG93RGV0YWlsID8gb25BbmltYXRpb25FdmVudCgkZXZlbnQsIGl0ZW0pIDogJ3VuZGVmaW5lZCdcIlxuICAgICAgICAgICAgKm5nSWY9XCJoYXNEZXRhaWxUZW1wbGF0ZSAmJiBpdGVtLiRzaG93RGV0YWlsXCJcbiAgICAgICAgICAgIGNsYXNzPVwicG8tbGlzdC12aWV3LWRldGFpbFwiXG4gICAgICAgICAgPlxuICAgICAgICAgICAgPG5nLXRlbXBsYXRlXG4gICAgICAgICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0XT1cImxpc3RWaWV3RGV0YWlsVGVtcGxhdGUudGVtcGxhdGVSZWZcIlxuICAgICAgICAgICAgICBbbmdUZW1wbGF0ZU91dGxldENvbnRleHRdPVwieyAkaW1wbGljaXQ6IGl0ZW0sIGluZGV4OiBpbmRleCB9XCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuXG4gICAgICAgIDxkaXYgKm5nSWY9XCJoYXNEZXRhaWxUZW1wbGF0ZVwiIGNsYXNzPVwicG8tbGlzdC12aWV3LWRldGFpbC1idXR0b25cIj5cbiAgICAgICAgICA8cG8tYnV0dG9uXG4gICAgICAgICAgICBwLWtpbmQ9XCJ0ZXJ0aWFyeVwiXG4gICAgICAgICAgICBbcC1sYWJlbF09XCJpdGVtLiRzaG93RGV0YWlsID8gbGl0ZXJhbHMuaGlkZURldGFpbHMgOiBsaXRlcmFscy5zaG93RGV0YWlsc1wiXG4gICAgICAgICAgICAocC1jbGljayk9XCJpdGVtLiRzaG93RGV0YWlsID0gIWl0ZW0uJHNob3dEZXRhaWxcIlxuICAgICAgICAgID5cbiAgICAgICAgICA8L3BvLWJ1dHRvbj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L3BvLWNvbnRhaW5lcj5cbiAgICA8L25nLWNvbnRhaW5lcj5cbiAgPC9kaXY+XG48L2Rpdj5cblxuPGRpdiAqbmdJZj1cImRpc3BsYXlTaG93TW9yZUJ1dHRvblwiIGNsYXNzPVwicG8tbWItMiBwby10ZXh0LWNlbnRlclwiPlxuICA8cG8tYnV0dG9uIFtwLWRpc2FibGVkXT1cInNob3dNb3JlRGlzYWJsZWRcIiBbcC1sYWJlbF09XCJsaXRlcmFscy5sb2FkTW9yZURhdGFcIiAocC1jbGljayk9XCJvblNob3dNb3JlKClcIj4gPC9wby1idXR0b24+XG48L2Rpdj5cblxuPHBvLXBvcHVwICNwb3B1cCBbcC1hY3Rpb25zXT1cImFjdGlvbnNcIiBbcC10YXJnZXRdPVwicG9wdXBUYXJnZXRcIj4gPC9wby1wb3B1cD5cbiJdfQ==
@@ -1,4 +1,4 @@
1
- import { ElementRef, Input, Directive } from '@angular/core';
1
+ import { ElementRef, Input, Directive, Output, EventEmitter } from '@angular/core';
2
2
  import { convertToBoolean } from '../../utils/util';
3
3
  import { PO_CONTROL_POSITIONS } from './../../services/po-control-position/po-control-position.constants';
4
4
  import * as i0 from "@angular/core";
@@ -177,8 +177,9 @@ export class PoPopupBaseComponent {
177
177
  get target() {
178
178
  return this._target;
179
179
  }
180
+ closeEvent = new EventEmitter();
180
181
  static ɵfac = function PoPopupBaseComponent_Factory(t) { return new (t || PoPopupBaseComponent)(); };
181
- static ɵdir = /*@__PURE__*/ i0.ɵɵdefineDirective({ type: PoPopupBaseComponent, inputs: { actions: ["p-actions", "actions"], hideArrow: ["p-hide-arrow", "hideArrow"], isCornerAlign: ["p-is-corner-align", "isCornerAlign"], position: ["p-position", "position"], customPositions: ["p-custom-positions", "customPositions"], target: ["p-target", "target"] } });
182
+ static ɵdir = /*@__PURE__*/ i0.ɵɵdefineDirective({ type: PoPopupBaseComponent, inputs: { actions: ["p-actions", "actions"], hideArrow: ["p-hide-arrow", "hideArrow"], isCornerAlign: ["p-is-corner-align", "isCornerAlign"], position: ["p-position", "position"], customPositions: ["p-custom-positions", "customPositions"], target: ["p-target", "target"] }, outputs: { closeEvent: "p-close" } });
182
183
  }
183
184
  (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(PoPopupBaseComponent, [{
184
185
  type: Directive
@@ -200,5 +201,8 @@ export class PoPopupBaseComponent {
200
201
  }], target: [{
201
202
  type: Input,
202
203
  args: ['p-target']
204
+ }], closeEvent: [{
205
+ type: Output,
206
+ args: ['p-close']
203
207
  }] }); })();
204
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG8tcG9wdXAtYmFzZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy91aS9zcmMvbGliL2NvbXBvbmVudHMvcG8tcG9wdXAvcG8tcG9wdXAtYmFzZS5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTdELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ3BELE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLG9FQUFvRSxDQUFDOztBQUkxRyxNQUFNLHNCQUFzQixHQUFHLGFBQWEsQ0FBQztBQUU3Qzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0F1Qkc7QUFFSCxNQUFNLE9BQU8sb0JBQW9CO0lBQy9CLGNBQWMsR0FBVyxXQUFXLENBQUM7SUFDckMsU0FBUyxHQUFZLEtBQUssQ0FBQztJQUVqQixTQUFTLENBQUM7SUFDVixLQUFLLENBQUM7SUFDTixnQkFBZ0IsQ0FBYTtJQUM3QixjQUFjLENBQWE7SUFFN0IsUUFBUSxDQUF1QjtJQUMvQixnQkFBZ0IsQ0FBaUI7SUFDakMsVUFBVSxHQUFZLEtBQUssQ0FBQztJQUM1QixjQUFjLEdBQVksS0FBSyxDQUFDO0lBQ2hDLFNBQVMsR0FBWSxzQkFBc0IsQ0FBQztJQUM1QyxPQUFPLENBQU07SUFFckIsdURBQXVEO0lBQ3ZELElBQXdCLE9BQU8sQ0FBQyxLQUEyQjtRQUN6RCxJQUFJLENBQUMsUUFBUSxHQUFHLEtBQUssQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO0lBQ3BELENBQUM7SUFFRCxJQUFJLE9BQU87UUFDVCxPQUFPLElBQUksQ0FBQyxRQUFRLENBQUM7SUFDdkIsQ0FBQztJQUVEOzs7Ozs7OztPQVFHO0lBQ0gsSUFBMkIsU0FBUyxDQUFDLEtBQWM7UUFDakQsSUFBSSxDQUFDLFVBQVUsR0FBRyxnQkFBZ0IsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUM1QyxDQUFDO0lBRUQsSUFBSSxTQUFTO1FBQ1gsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDO0lBQ3pCLENBQUM7SUFFRCx3RUFBd0U7SUFDeEUsSUFBZ0MsYUFBYSxDQUFDLEtBQWM7UUFDMUQsSUFBSSxDQUFDLGNBQWMsR0FBRyxnQkFBZ0IsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNoRCxDQUFDO0lBRUQsSUFBSSxhQUFhO1FBQ2YsT0FBTyxJQUFJLENBQUMsY0FBYyxDQUFDO0lBQzdCLENBQUM7SUFFRDs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O09BMkJHO0lBQ0gsSUFBeUIsUUFBUSxDQUFDLEtBQWE7UUFDN0MsSUFBSSxDQUFDLFNBQVMsR0FBRyxvQkFBb0IsQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsc0JBQXNCLENBQUM7SUFDekYsQ0FBQztJQUVELElBQUksUUFBUTtRQUNWLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQztJQUN4QixDQUFDO0lBRUQ7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztPQXdCRztJQUNILElBQWlDLGVBQWUsQ0FBQyxLQUFvQjtRQUNuRSxJQUFJLENBQUMsZ0JBQWdCLEdBQUcsS0FBSyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7SUFDNUQsQ0FBQztJQUVELElBQUksZUFBZTtRQUNqQixPQUFPLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQztJQUMvQixDQUFDO0lBRUQ7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztPQW9DRztJQUNILElBQXVCLE1BQU0sQ0FBQyxLQUFVO1FBQ3RDLElBQUksQ0FBQyxPQUFPLEdBQUcsS0FBSyxZQUFZLFVBQVUsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDO0lBQzNFLENBQUM7SUFFRCxJQUFJLE1BQU07UUFDUixPQUFPLElBQUksQ0FBQyxPQUFPLENBQUM7SUFDdEIsQ0FBQzs4RUFuS1Usb0JBQW9COzZEQUFwQixvQkFBb0I7O3VGQUFwQixvQkFBb0I7Y0FEaEMsU0FBUztnQkFrQmdCLE9BQU87a0JBQTlCLEtBQUs7bUJBQUMsV0FBVztZQWlCUyxTQUFTO2tCQUFuQyxLQUFLO21CQUFDLGNBQWM7WUFTVyxhQUFhO2tCQUE1QyxLQUFLO21CQUFDLG1CQUFtQjtZQW9DRCxRQUFRO2tCQUFoQyxLQUFLO21CQUFDLFlBQVk7WUFpQ2MsZUFBZTtrQkFBL0MsS0FBSzttQkFBQyxvQkFBb0I7WUE2Q0osTUFBTTtrQkFBNUIsS0FBSzttQkFBQyxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRWxlbWVudFJlZiwgSW5wdXQsIERpcmVjdGl2ZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBjb252ZXJ0VG9Cb29sZWFuIH0gZnJvbSAnLi4vLi4vdXRpbHMvdXRpbCc7XG5pbXBvcnQgeyBQT19DT05UUk9MX1BPU0lUSU9OUyB9IGZyb20gJy4vLi4vLi4vc2VydmljZXMvcG8tY29udHJvbC1wb3NpdGlvbi9wby1jb250cm9sLXBvc2l0aW9uLmNvbnN0YW50cyc7XG5cbmltcG9ydCB7IFBvUG9wdXBBY3Rpb24gfSBmcm9tICcuL3BvLXBvcHVwLWFjdGlvbi5pbnRlcmZhY2UnO1xuXG5jb25zdCBwb1BvcHVwRGVmYXVsdFBvc2l0aW9uID0gJ2JvdHRvbS1sZWZ0JztcblxuLyoqXG4gKiBAZGVzY3JpcHRpb25cbiAqXG4gKiBPIGNvbXBvbmVudGUgYHBvLXBvcHVwYCDDqSB1bSBjb250YWluZXIgcGVxdWVubyByZWNvbWVuZGFkbyBwYXJhIGHDp8O1ZXMgZGUgbmF2ZWdhw6fDo286XG4gKiBFbGUgYWJyZSBzb2JyZXBvc3RvIGFvcyBvdXRyb3MgY29tcG9uZW50ZXMuXG4gKlxuICogw4kgcG9zc8OtdmVsIGVzY29saGVyIGFzIHBvc2nDp8O1ZXMgZG8gYHBvLXBvcHVwYCBlbSByZWxhw6fDo28gYW8gY29tcG9uZW50ZSBhbHZvLCBwYXJhIGlzdG8gdmVqYSBhIHByb3ByaWVkYWRlIGBwLXBvc2l0aW9uYC5cbiAqXG4gKiBUYW1iw6ltIMOpIHBvc3PDrXZlbCBpbmZvcm1hciB1bSBfdGVtcGxhdGVfIF9oZWFkZXJfIHBhcmEgbyBgcG8tcG9wdXBgLCBxdWUgc2Vyw6EgZXhpYmlkbyBhY2ltYSBkYXMgYcOnw7Vlcy5cbiAqIFBhcmEgZnVuY2lvbmFyIGNvcnJldGFtZW50ZSDDqSBwcmVjaXNvIGFkaWNpb25hciBhIHByb3ByaWVkYWRlIGBwLXBvcHVwLWhlYWRlci10ZW1wbGF0ZWAgbm8gZWxlbWVudG8gcXVlIHNlcnZpcsOhIGRlIHRlbXBsYXRlLCBwb3IgZXhlbXBsbzpcbiAqXG4gKiBgYGBcbiAqIDxwby1wb3B1cCBbcC10YXJnZXRdPVwidGFyZ2V0XCI+XG4gKiAgIDxkaXYgcC1wb3B1cC1oZWFkZXItdGVtcGxhdGU+XG4gKiAgICAgPGRpdj5cbiAqICAgICAgIERldiBQT1xuICogICAgIDwvZGl2PlxuICogICAgIDxkaXY+XG4gKiAgICAgICBkZXYucG9AcG8tdWkuY29tLmJyXG4gKiAgICAgPC9kaXY+XG4gKiAgIDwvZGl2PlxuICogPC9wby1wb3B1cCA+XG4gKiBgYGBcbiAqL1xuQERpcmVjdGl2ZSgpXG5leHBvcnQgY2xhc3MgUG9Qb3B1cEJhc2VDb21wb25lbnQge1xuICBhcnJvd0RpcmVjdGlvbjogc3RyaW5nID0gJ3RvcC1yaWdodCc7XG4gIHNob3dQb3B1cDogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIHByb3RlY3RlZCBvbGRUYXJnZXQ7XG4gIHByb3RlY3RlZCBwYXJhbTtcbiAgcHJvdGVjdGVkIGNsaWNrb3V0TGlzdGVuZXI6ICgpID0+IHZvaWQ7XG4gIHByb3RlY3RlZCByZXNpemVMaXN0ZW5lcjogKCkgPT4gdm9pZDtcblxuICBwcml2YXRlIF9hY3Rpb25zOiBBcnJheTxQb1BvcHVwQWN0aW9uPjtcbiAgcHJpdmF0ZSBfY3VzdG9tUG9zaXRpb25zPzogQXJyYXk8c3RyaW5nPjtcbiAgcHJpdmF0ZSBfaGlkZUFycm93OiBib29sZWFuID0gZmFsc2U7XG4gIHByaXZhdGUgX2lzQ29ybmVyQWxpZ246IGJvb2xlYW4gPSBmYWxzZTtcbiAgcHJpdmF0ZSBfcG9zaXRpb24/OiBzdHJpbmcgPSBwb1BvcHVwRGVmYXVsdFBvc2l0aW9uO1xuICBwcml2YXRlIF90YXJnZXQ6IGFueTtcblxuICAvKiogTGlzdGEgZGUgYcOnw7VlcyBxdWUgc2Vyw6NvIGV4aWJpZGFzIG5vIGNvbXBvbmVudGUuICovXG4gIEBJbnB1dCgncC1hY3Rpb25zJykgc2V0IGFjdGlvbnModmFsdWU6IEFycmF5PFBvUG9wdXBBY3Rpb24+KSB7XG4gICAgdGhpcy5fYWN0aW9ucyA9IEFycmF5LmlzQXJyYXkodmFsdWUpID8gdmFsdWUgOiBbXTtcbiAgfVxuXG4gIGdldCBhY3Rpb25zKCkge1xuICAgIHJldHVybiB0aGlzLl9hY3Rpb25zO1xuICB9XG5cbiAgLyoqXG4gICAqIEBvcHRpb25hbFxuICAgKlxuICAgKiBAZGVzY3JpcHRpb25cbiAgICpcbiAgICogT2N1bHRhIGEgc2V0YSBkbyBjb21wb25lbnRlICpwb3B1cCouXG4gICAqXG4gICAqIEBkZWZhdWx0IGBmYWxzZWBcbiAgICovXG4gIEBJbnB1dCgncC1oaWRlLWFycm93Jykgc2V0IGhpZGVBcnJvdyh2YWx1ZTogYm9vbGVhbikge1xuICAgIHRoaXMuX2hpZGVBcnJvdyA9IGNvbnZlcnRUb0Jvb2xlYW4odmFsdWUpO1xuICB9XG5cbiAgZ2V0IGhpZGVBcnJvdygpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5faGlkZUFycm93O1xuICB9XG5cbiAgLy8gRGVmaW5lIHNlIG8gYHBvLXBvcHVwYCBzZXLDoSBhbGluaGFkbyBwZWxvcyBjYW50b3MgZG8gZWxlbWVudG8gdGFyZ2V0LlxuICBASW5wdXQoJ3AtaXMtY29ybmVyLWFsaWduJykgc2V0IGlzQ29ybmVyQWxpZ24odmFsdWU6IGJvb2xlYW4pIHtcbiAgICB0aGlzLl9pc0Nvcm5lckFsaWduID0gY29udmVydFRvQm9vbGVhbih2YWx1ZSk7XG4gIH1cblxuICBnZXQgaXNDb3JuZXJBbGlnbigpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5faXNDb3JuZXJBbGlnbjtcbiAgfVxuXG4gIC8qKlxuICAgKiBAb3B0aW9uYWxcbiAgICpcbiAgICogQGRlc2NyaXB0aW9uXG4gICAqXG4gICAqIERlZmluZSBhIHBvc2nDp8OjbyBpbmljaWFsIHF1ZSBvIGBwby1wb3B1cGAgYWJyaXLDoSBlbSByZWxhw6fDo28gYW8gY29tcG9uZW50ZSBhbHZvLiBTdWdlcmUtc2UgcXVlIHNlamFcbiAgICogdXNhZGEgYSBvcmllbnRhw6fDo28gYGJvdHRvbS1sZWZ0YCAoYWJhaXhvIGUgYSBlc3F1ZXJkYSksIHBvcsOpbSBvIG1lc21vIMOpIGZsZXjDrXZlbCBlIHNlcsOhIHJvdGFjaW9uYWRvXG4gICAqIGF1dG9tYXRpY2FtZW50ZSBwYXJhIHNlIGFkZXF1YXIgYSB0ZWxhLCBjYXNvIG5lY2Vzc8OhcmlvLlxuICAgKlxuICAgKiA+IENhc28gc2VqYSBkZWZpbmlkbyB1bSBgcC1jdXN0b20tcG9zaXRpb25zYCBvIGNvbXBvbmVudGUgaXLDoSBhYnJpciBuYSBwb3Npw6fDo28gZGVmaW5pZGEgbmEgcHJvcHJpZWRhZGUgYHAtcG9zaXRpb25gXG4gICAqIGUgY2FzbyBuw6NvIGNhaWJhIG5hIHBvc2nDp8OjbyBpbmljaWFsIGVsZSBpcsOhIHJvdGFjaW9uYXIgc2VndWluZG8gYSBvcmRlbSBkZSBwb3Npw6fDtWVzIGRlZmluaWRhcyBubyBgcC1jdXN0b20tcG9zaXRpb25zYC5cbiAgICpcbiAgICogUG9zacOnw7VlcyB2w6FsaWRhczpcbiAgICogLSBgcmlnaHRgOiBQb3NpY2lvbmEgbyBwby1wb3B1cCBubyBsYWRvIGRpcmVpdG8gZG8gY29tcG9uZW50ZSBhbHZvLlxuICAgKiAtIGByaWdodC1ib3R0b21gOiBQb3NpY2lvbmEgbyBwby1wb3B1cCBubyBsYWRvIGRpcmVpdG8gaW5mZXJpb3IgZG8gY29tcG9uZW50ZSBhbHZvLlxuICAgKiAtIGByaWdodC10b3BgOiBQb3NpY2lvbmEgbyBwby1wb3B1cCBubyBsYWRvIGRpcmVpdG8gc3VwZXJpb3IgZG8gY29tcG9uZW50ZSBhbHZvLlxuICAgKiAtIGBib3R0b21gOiBQb3NpY2lvbmEgbyBwby1wb3B1cCBhYmFpeG8gZG8gY29tcG9uZW50ZSBhbHZvLlxuICAgKiAtIGBib3R0b20tbGVmdGA6IFBvc2ljaW9uYSBvIHBvLXBvcHVwIGFiYWl4byBlIMOgIGVzcXVlcmRhIGRvIGNvbXBvbmVudGUgYWx2by5cbiAgICogLSBgYm90dG9tLXJpZ2h0YDogUG9zaWNpb25hIG8gcG8tcG9wdXAgYWJhaXhvIGUgw6AgZGlyZWl0YSBkbyBjb21wb25lbnRlIGFsdm8uXG4gICAqIC0gYGxlZnRgOiBQb3NpY2lvbmEgbyBwby1wb3B1cCBubyBsYWRvIGVzcXVlcmRvIGRvIGNvbXBvbmVudGUgYWx2by5cbiAgICogLSBgbGVmdC10b3BgOiBQb3NpY2lvbmEgbyBwby1wb3B1cCBubyBsYWRvIGVzcXVlcmRvIHN1cGVyaW9yIGRvIGNvbXBvbmVudGUgYWx2by5cbiAgICogLSBgbGVmdC1ib3R0b21gOiBQb3NpY2lvbmEgbyBwby1wb3B1cCBubyBsYWRvIGVzcXVlcmRvIGluZmVyaW9yIGRvIGNvbXBvbmVudGUgYWx2by5cbiAgICogLSBgdG9wYDogUG9zaWNpb25hIG8gcG8tcG9wdXAgYWNpbWEgZG8gY29tcG9uZW50ZSBhbHZvLlxuICAgKiAtIGB0b3AtcmlnaHRgOiBQb3NpY2lvbmEgbyBwby1wb3B1cCBhY2ltYSBlIMOgIGRpcmVpdGEgZG8gY29tcG9uZW50ZSBhbHZvLlxuICAgKiAtIGB0b3AtbGVmdGA6IFBvc2ljaW9uYSBvIHBvLXBvcHVwIGFjaW1hIGUgw6AgZXNxdWVyZGEgZG8gY29tcG9uZW50ZSBhbHZvLlxuICAgKlxuICAgKiBAZGVmYXVsdCBgYm90dG9tLWxlZnRgXG4gICAqL1xuICBASW5wdXQoJ3AtcG9zaXRpb24nKSBzZXQgcG9zaXRpb24odmFsdWU6IHN0cmluZykge1xuICAgIHRoaXMuX3Bvc2l0aW9uID0gUE9fQ09OVFJPTF9QT1NJVElPTlMuaW5jbHVkZXModmFsdWUpID8gdmFsdWUgOiBwb1BvcHVwRGVmYXVsdFBvc2l0aW9uO1xuICB9XG5cbiAgZ2V0IHBvc2l0aW9uKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuX3Bvc2l0aW9uO1xuICB9XG5cbiAgLyoqXG4gICAqIEBvcHRpb25hbFxuICAgKlxuICAgKiBAZGVzY3JpcHRpb25cbiAgICpcbiAgICogRGVmaW5lIGFzIHBvc2nDp8O1ZXMgZSBhIHNlcXXDqm5jaWEgcXVlIG8gYHBvLXBvcHVwYCBwb2RlcsOhIHJvdGFjaW9uYXIuIEEgc2VxdcOqbmNpYSBzZXLDoSBkZWZpbmlkYSBwZWxhIG9yZGVtIHBhc3NhZGFcbiAgICogbm8gKmFycmF5Ki4gQ2FzbyBuw6NvIHNlamEgZGVmaW5pZG8sIG8gYHBvLXBvcHVwYCBpcsOhIHJvdGFjaW9uYXIgZW0gdG9kYXMgYXMgcG9zacOnw7VlcyB2w6FsaWRhcy5cbiAgICpcbiAgICogPiBPIGNvbXBvbmVudGUgc2VtcHJlIGlyw6EgYWJyaXIgbmEgcG9zacOnw6NvIGRlZmluaWRhIG5vIGBwLXBvc2l0aW9uYCBlIGNhc28gbsOjbyBjYWliYSBuYSBwb3Npw6fDo28gZGVmaW5pZGEgbyBtZXNtb1xuICAgKiBpcsOhIHJvdGFjaW9uYXIgc2VndWluZG8gYSBvcmRlbSBkZWZpbmlkYSBwZWxvIGBwLWN1c3RvbS1wb3NpdGlvbmAuXG4gICAqXG4gICAqIFBvc2nDp8O1ZXMgdsOhbGlkYXM6XG4gICAqIC0gYHJpZ2h0YDogUG9zaWNpb25hIG8gcG8tcG9wdXAgbm8gbGFkbyBkaXJlaXRvIGRvIGNvbXBvbmVudGUgYWx2by5cbiAgICogLSBgcmlnaHQtYm90dG9tYDogUG9zaWNpb25hIG8gcG8tcG9wdXAgbm8gbGFkbyBkaXJlaXRvIGluZmVyaW9yIGRvIGNvbXBvbmVudGUgYWx2by5cbiAgICogLSBgcmlnaHQtdG9wYDogUG9zaWNpb25hIG8gcG8tcG9wdXAgbm8gbGFkbyBkaXJlaXRvIHN1cGVyaW9yIGRvIGNvbXBvbmVudGUgYWx2by5cbiAgICogLSBgYm90dG9tYDogUG9zaWNpb25hIG8gcG8tcG9wdXAgYWJhaXhvIGRvIGNvbXBvbmVudGUgYWx2by5cbiAgICogLSBgYm90dG9tLWxlZnRgOiBQb3NpY2lvbmEgbyBwby1wb3B1cCBhYmFpeG8gZSDDoCBlc3F1ZXJkYSBkbyBjb21wb25lbnRlIGFsdm8uXG4gICAqIC0gYGJvdHRvbS1yaWdodGA6IFBvc2ljaW9uYSBvIHBvLXBvcHVwIGFiYWl4byBlIMOgIGRpcmVpdGEgZG8gY29tcG9uZW50ZSBhbHZvLlxuICAgKiAtIGBsZWZ0YDogUG9zaWNpb25hIG8gcG8tcG9wdXAgbm8gbGFkbyBlc3F1ZXJkbyBkbyBjb21wb25lbnRlIGFsdm8uXG4gICAqIC0gYGxlZnQtdG9wYDogUG9zaWNpb25hIG8gcG8tcG9wdXAgbm8gbGFkbyBlc3F1ZXJkbyBzdXBlcmlvciBkbyBjb21wb25lbnRlIGFsdm8uXG4gICAqIC0gYGxlZnQtYm90dG9tYDogUG9zaWNpb25hIG8gcG8tcG9wdXAgbm8gbGFkbyBlc3F1ZXJkbyBpbmZlcmlvciBkbyBjb21wb25lbnRlIGFsdm8uXG4gICAqIC0gYHRvcGA6IFBvc2ljaW9uYSBvIHBvLXBvcHVwIGFjaW1hIGRvIGNvbXBvbmVudGUgYWx2by5cbiAgICogLSBgdG9wLXJpZ2h0YDogUG9zaWNpb25hIG8gcG8tcG9wdXAgYWNpbWEgZSDDoCBkaXJlaXRhIGRvIGNvbXBvbmVudGUgYWx2by5cbiAgICogLSBgdG9wLWxlZnRgOiBQb3NpY2lvbmEgbyBwby1wb3B1cCBhY2ltYSBlIMOgIGVzcXVlcmRhIGRvIGNvbXBvbmVudGUgYWx2by5cbiAgICovXG4gIEBJbnB1dCgncC1jdXN0b20tcG9zaXRpb25zJykgc2V0IGN1c3RvbVBvc2l0aW9ucyh2YWx1ZTogQXJyYXk8c3RyaW5nPikge1xuICAgIHRoaXMuX2N1c3RvbVBvc2l0aW9ucyA9IEFycmF5LmlzQXJyYXkodmFsdWUpID8gdmFsdWUgOiBbXTtcbiAgfVxuXG4gIGdldCBjdXN0b21Qb3NpdGlvbnMoKSB7XG4gICAgcmV0dXJuIHRoaXMuX2N1c3RvbVBvc2l0aW9ucztcbiAgfVxuXG4gIC8qKlxuICAgKiBAZGVzY3JpcHRpb25cbiAgICpcbiAgICogUGFyYSB1dGlsaXphciBvIGBwby1wb3B1cGAgZGV2ZS1zZSBjb2xvY2FyIHVtYSB2YXJpw6F2ZWwgbG9jYWwgbm8gY29tcG9uZW50ZSBxdWUgZGlzcGFyYXLDoSBvIGV2ZW50b1xuICAgKiBkZSBhYmVydHVyYSBubyBtZXNtbyBlIGNvbSBpc3NvLCBpbnZvY2Fyw6EgYSBmdW7Dp8OjbyBgdG9nZ2xlYCwgcG9yIGV4ZW1wbG86XG4gICAqXG4gICAqIGBgYFxuICAgKiA8c3BhbiAjaWNvbiBjbGFzcz1cInBvLWljb24gcG8taWNvbi1jcmVkaXQtcGF5bWVudFwiIChjbGljayk9XCJwb3B1cC50b2dnbGUoKVwiPlxuICAgKiAgIENyZWRpdCBBY3Rpb25zXG4gICAqIDwvc3Bhbj5cbiAgICpcbiAgICogPHBvLXBvcHVwICNwb3B1cFxuICAgKiAgIFtwLWFjdGlvbnNdPVwiYWN0aW9uc1wiXG4gICAqICAgW3AtdGFyZ2V0XT1cImljb25cIj5cbiAgICogPC9wby1wb3B1cD5cbiAgICogYGBgXG4gICAqXG4gICAqIENhc28gbyBlbGVtZW50byBhbHZvIGZvciB1bSBjb21wb25lbnRlLCBzZXLDoSBwcmVjaXNvIG9idGVyIG8gYEVsZW1lbnRSZWZgIGRvIG1lc21vIGUgcGFzc8OhLWxvIMOgIHByb3ByaWVkYWRlLCBwb3IgZXhlbXBsbzpcbiAgICpcbiAgICogYGBgXG4gICAqIC8vIGNvbXBvbmVudC5odG1sXG4gICAqXG4gICAqIDxwby1idXR0b24gI3BvQnV0dG9uXG4gICAqICAgcC1sYWJlbD1cIk9wZW4gUG9wb3ZlclwiXG4gICAqICAgKHAtY2xpY2spPVwicG9wdXAudG9nZ2xlKClcIj5cbiAgICogPC9wby1idXR0b24+XG4gICAqXG4gICAqIDxwby1wb3B1cCAjcG9wdXBcbiAgICogICBbcC1hY3Rpb25zXT1cImFjdGlvbnNcIlxuICAgKiAgIFtwLXRhcmdldF09XCJwb0J1dHRvblJlZlwiPlxuICAgKiA8L3BvLXBvcHVwPlxuICAgKlxuICAgKiAvLyBjb21wb25lbnQudHNcbiAgICpcbiAgICogQFZpZXdDaGlsZCgncG9CdXR0b24nLCB7IHJlYWQ6IEVsZW1lbnRSZWYgfSkgcG9CdXR0b25SZWY6IEVsZW1lbnRSZWY7XG4gICAqIGBgYFxuICAgKi9cbiAgQElucHV0KCdwLXRhcmdldCcpIHNldCB0YXJnZXQodmFsdWU6IGFueSkge1xuICAgIHRoaXMuX3RhcmdldCA9IHZhbHVlIGluc3RhbmNlb2YgRWxlbWVudFJlZiA/IHZhbHVlLm5hdGl2ZUVsZW1lbnQgOiB2YWx1ZTtcbiAgfVxuXG4gIGdldCB0YXJnZXQoKSB7XG4gICAgcmV0dXJuIHRoaXMuX3RhcmdldDtcbiAgfVxufVxuIl19
208
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG8tcG9wdXAtYmFzZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy91aS9zcmMvbGliL2NvbXBvbmVudHMvcG8tcG9wdXAvcG8tcG9wdXAtYmFzZS5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxZQUFZLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFbkYsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDcEQsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sb0VBQW9FLENBQUM7O0FBSTFHLE1BQU0sc0JBQXNCLEdBQUcsYUFBYSxDQUFDO0FBRTdDOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQXVCRztBQUVILE1BQU0sT0FBTyxvQkFBb0I7SUFDL0IsY0FBYyxHQUFXLFdBQVcsQ0FBQztJQUNyQyxTQUFTLEdBQVksS0FBSyxDQUFDO0lBRWpCLFNBQVMsQ0FBQztJQUNWLEtBQUssQ0FBQztJQUNOLGdCQUFnQixDQUFhO0lBQzdCLGNBQWMsQ0FBYTtJQUU3QixRQUFRLENBQXVCO0lBQy9CLGdCQUFnQixDQUFpQjtJQUNqQyxVQUFVLEdBQVksS0FBSyxDQUFDO0lBQzVCLGNBQWMsR0FBWSxLQUFLLENBQUM7SUFDaEMsU0FBUyxHQUFZLHNCQUFzQixDQUFDO0lBQzVDLE9BQU8sQ0FBTTtJQUVyQix1REFBdUQ7SUFDdkQsSUFBd0IsT0FBTyxDQUFDLEtBQTJCO1FBQ3pELElBQUksQ0FBQyxRQUFRLEdBQUcsS0FBSyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7SUFDcEQsQ0FBQztJQUVELElBQUksT0FBTztRQUNULE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQztJQUN2QixDQUFDO0lBRUQ7Ozs7Ozs7O09BUUc7SUFDSCxJQUEyQixTQUFTLENBQUMsS0FBYztRQUNqRCxJQUFJLENBQUMsVUFBVSxHQUFHLGdCQUFnQixDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzVDLENBQUM7SUFFRCxJQUFJLFNBQVM7UUFDWCxPQUFPLElBQUksQ0FBQyxVQUFVLENBQUM7SUFDekIsQ0FBQztJQUVELHdFQUF3RTtJQUN4RSxJQUFnQyxhQUFhLENBQUMsS0FBYztRQUMxRCxJQUFJLENBQUMsY0FBYyxHQUFHLGdCQUFnQixDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ2hELENBQUM7SUFFRCxJQUFJLGFBQWE7UUFDZixPQUFPLElBQUksQ0FBQyxjQUFjLENBQUM7SUFDN0IsQ0FBQztJQUVEOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7T0EyQkc7SUFDSCxJQUF5QixRQUFRLENBQUMsS0FBYTtRQUM3QyxJQUFJLENBQUMsU0FBUyxHQUFHLG9CQUFvQixDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxzQkFBc0IsQ0FBQztJQUN6RixDQUFDO0lBRUQsSUFBSSxRQUFRO1FBQ1YsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDO0lBQ3hCLENBQUM7SUFFRDs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O09Bd0JHO0lBQ0gsSUFBaUMsZUFBZSxDQUFDLEtBQW9CO1FBQ25FLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxLQUFLLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztJQUM1RCxDQUFDO0lBRUQsSUFBSSxlQUFlO1FBQ2pCLE9BQU8sSUFBSSxDQUFDLGdCQUFnQixDQUFDO0lBQy9CLENBQUM7SUFFRDs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O09Bb0NHO0lBQ0gsSUFBdUIsTUFBTSxDQUFDLEtBQVU7UUFDdEMsSUFBSSxDQUFDLE9BQU8sR0FBRyxLQUFLLFlBQVksVUFBVSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUM7SUFDM0UsQ0FBQztJQUVELElBQUksTUFBTTtRQUNSLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQztJQUN0QixDQUFDO0lBRWtCLFVBQVUsR0FBc0IsSUFBSSxZQUFZLEVBQUUsQ0FBQzs4RUFySzNELG9CQUFvQjs2REFBcEIsb0JBQW9COzt1RkFBcEIsb0JBQW9CO2NBRGhDLFNBQVM7Z0JBa0JnQixPQUFPO2tCQUE5QixLQUFLO21CQUFDLFdBQVc7WUFpQlMsU0FBUztrQkFBbkMsS0FBSzttQkFBQyxjQUFjO1lBU1csYUFBYTtrQkFBNUMsS0FBSzttQkFBQyxtQkFBbUI7WUFvQ0QsUUFBUTtrQkFBaEMsS0FBSzttQkFBQyxZQUFZO1lBaUNjLGVBQWU7a0JBQS9DLEtBQUs7bUJBQUMsb0JBQW9CO1lBNkNKLE1BQU07a0JBQTVCLEtBQUs7bUJBQUMsVUFBVTtZQVFFLFVBQVU7a0JBQTVCLE1BQU07bUJBQUMsU0FBUyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEVsZW1lbnRSZWYsIElucHV0LCBEaXJlY3RpdmUsIE91dHB1dCwgRXZlbnRFbWl0dGVyIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IGNvbnZlcnRUb0Jvb2xlYW4gfSBmcm9tICcuLi8uLi91dGlscy91dGlsJztcbmltcG9ydCB7IFBPX0NPTlRST0xfUE9TSVRJT05TIH0gZnJvbSAnLi8uLi8uLi9zZXJ2aWNlcy9wby1jb250cm9sLXBvc2l0aW9uL3BvLWNvbnRyb2wtcG9zaXRpb24uY29uc3RhbnRzJztcblxuaW1wb3J0IHsgUG9Qb3B1cEFjdGlvbiB9IGZyb20gJy4vcG8tcG9wdXAtYWN0aW9uLmludGVyZmFjZSc7XG5cbmNvbnN0IHBvUG9wdXBEZWZhdWx0UG9zaXRpb24gPSAnYm90dG9tLWxlZnQnO1xuXG4vKipcbiAqIEBkZXNjcmlwdGlvblxuICpcbiAqIE8gY29tcG9uZW50ZSBgcG8tcG9wdXBgIMOpIHVtIGNvbnRhaW5lciBwZXF1ZW5vIHJlY29tZW5kYWRvIHBhcmEgYcOnw7VlcyBkZSBuYXZlZ2HDp8OjbzpcbiAqIEVsZSBhYnJlIHNvYnJlcG9zdG8gYW9zIG91dHJvcyBjb21wb25lbnRlcy5cbiAqXG4gKiDDiSBwb3Nzw612ZWwgZXNjb2xoZXIgYXMgcG9zacOnw7VlcyBkbyBgcG8tcG9wdXBgIGVtIHJlbGHDp8OjbyBhbyBjb21wb25lbnRlIGFsdm8sIHBhcmEgaXN0byB2ZWphIGEgcHJvcHJpZWRhZGUgYHAtcG9zaXRpb25gLlxuICpcbiAqIFRhbWLDqW0gw6kgcG9zc8OtdmVsIGluZm9ybWFyIHVtIF90ZW1wbGF0ZV8gX2hlYWRlcl8gcGFyYSBvIGBwby1wb3B1cGAsIHF1ZSBzZXLDoSBleGliaWRvIGFjaW1hIGRhcyBhw6fDtWVzLlxuICogUGFyYSBmdW5jaW9uYXIgY29ycmV0YW1lbnRlIMOpIHByZWNpc28gYWRpY2lvbmFyIGEgcHJvcHJpZWRhZGUgYHAtcG9wdXAtaGVhZGVyLXRlbXBsYXRlYCBubyBlbGVtZW50byBxdWUgc2Vydmlyw6EgZGUgdGVtcGxhdGUsIHBvciBleGVtcGxvOlxuICpcbiAqIGBgYFxuICogPHBvLXBvcHVwIFtwLXRhcmdldF09XCJ0YXJnZXRcIj5cbiAqICAgPGRpdiBwLXBvcHVwLWhlYWRlci10ZW1wbGF0ZT5cbiAqICAgICA8ZGl2PlxuICogICAgICAgRGV2IFBPXG4gKiAgICAgPC9kaXY+XG4gKiAgICAgPGRpdj5cbiAqICAgICAgIGRldi5wb0Bwby11aS5jb20uYnJcbiAqICAgICA8L2Rpdj5cbiAqICAgPC9kaXY+XG4gKiA8L3BvLXBvcHVwID5cbiAqIGBgYFxuICovXG5ARGlyZWN0aXZlKClcbmV4cG9ydCBjbGFzcyBQb1BvcHVwQmFzZUNvbXBvbmVudCB7XG4gIGFycm93RGlyZWN0aW9uOiBzdHJpbmcgPSAndG9wLXJpZ2h0JztcbiAgc2hvd1BvcHVwOiBib29sZWFuID0gZmFsc2U7XG5cbiAgcHJvdGVjdGVkIG9sZFRhcmdldDtcbiAgcHJvdGVjdGVkIHBhcmFtO1xuICBwcm90ZWN0ZWQgY2xpY2tvdXRMaXN0ZW5lcjogKCkgPT4gdm9pZDtcbiAgcHJvdGVjdGVkIHJlc2l6ZUxpc3RlbmVyOiAoKSA9PiB2b2lkO1xuXG4gIHByaXZhdGUgX2FjdGlvbnM6IEFycmF5PFBvUG9wdXBBY3Rpb24+O1xuICBwcml2YXRlIF9jdXN0b21Qb3NpdGlvbnM/OiBBcnJheTxzdHJpbmc+O1xuICBwcml2YXRlIF9oaWRlQXJyb3c6IGJvb2xlYW4gPSBmYWxzZTtcbiAgcHJpdmF0ZSBfaXNDb3JuZXJBbGlnbjogYm9vbGVhbiA9IGZhbHNlO1xuICBwcml2YXRlIF9wb3NpdGlvbj86IHN0cmluZyA9IHBvUG9wdXBEZWZhdWx0UG9zaXRpb247XG4gIHByaXZhdGUgX3RhcmdldDogYW55O1xuXG4gIC8qKiBMaXN0YSBkZSBhw6fDtWVzIHF1ZSBzZXLDo28gZXhpYmlkYXMgbm8gY29tcG9uZW50ZS4gKi9cbiAgQElucHV0KCdwLWFjdGlvbnMnKSBzZXQgYWN0aW9ucyh2YWx1ZTogQXJyYXk8UG9Qb3B1cEFjdGlvbj4pIHtcbiAgICB0aGlzLl9hY3Rpb25zID0gQXJyYXkuaXNBcnJheSh2YWx1ZSkgPyB2YWx1ZSA6IFtdO1xuICB9XG5cbiAgZ2V0IGFjdGlvbnMoKSB7XG4gICAgcmV0dXJuIHRoaXMuX2FjdGlvbnM7XG4gIH1cblxuICAvKipcbiAgICogQG9wdGlvbmFsXG4gICAqXG4gICAqIEBkZXNjcmlwdGlvblxuICAgKlxuICAgKiBPY3VsdGEgYSBzZXRhIGRvIGNvbXBvbmVudGUgKnBvcHVwKi5cbiAgICpcbiAgICogQGRlZmF1bHQgYGZhbHNlYFxuICAgKi9cbiAgQElucHV0KCdwLWhpZGUtYXJyb3cnKSBzZXQgaGlkZUFycm93KHZhbHVlOiBib29sZWFuKSB7XG4gICAgdGhpcy5faGlkZUFycm93ID0gY29udmVydFRvQm9vbGVhbih2YWx1ZSk7XG4gIH1cblxuICBnZXQgaGlkZUFycm93KCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLl9oaWRlQXJyb3c7XG4gIH1cblxuICAvLyBEZWZpbmUgc2UgbyBgcG8tcG9wdXBgIHNlcsOhIGFsaW5oYWRvIHBlbG9zIGNhbnRvcyBkbyBlbGVtZW50byB0YXJnZXQuXG4gIEBJbnB1dCgncC1pcy1jb3JuZXItYWxpZ24nKSBzZXQgaXNDb3JuZXJBbGlnbih2YWx1ZTogYm9vbGVhbikge1xuICAgIHRoaXMuX2lzQ29ybmVyQWxpZ24gPSBjb252ZXJ0VG9Cb29sZWFuKHZhbHVlKTtcbiAgfVxuXG4gIGdldCBpc0Nvcm5lckFsaWduKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLl9pc0Nvcm5lckFsaWduO1xuICB9XG5cbiAgLyoqXG4gICAqIEBvcHRpb25hbFxuICAgKlxuICAgKiBAZGVzY3JpcHRpb25cbiAgICpcbiAgICogRGVmaW5lIGEgcG9zacOnw6NvIGluaWNpYWwgcXVlIG8gYHBvLXBvcHVwYCBhYnJpcsOhIGVtIHJlbGHDp8OjbyBhbyBjb21wb25lbnRlIGFsdm8uIFN1Z2VyZS1zZSBxdWUgc2VqYVxuICAgKiB1c2FkYSBhIG9yaWVudGHDp8OjbyBgYm90dG9tLWxlZnRgIChhYmFpeG8gZSBhIGVzcXVlcmRhKSwgcG9yw6ltIG8gbWVzbW8gw6kgZmxleMOtdmVsIGUgc2Vyw6Egcm90YWNpb25hZG9cbiAgICogYXV0b21hdGljYW1lbnRlIHBhcmEgc2UgYWRlcXVhciBhIHRlbGEsIGNhc28gbmVjZXNzw6FyaW8uXG4gICAqXG4gICAqID4gQ2FzbyBzZWphIGRlZmluaWRvIHVtIGBwLWN1c3RvbS1wb3NpdGlvbnNgIG8gY29tcG9uZW50ZSBpcsOhIGFicmlyIG5hIHBvc2nDp8OjbyBkZWZpbmlkYSBuYSBwcm9wcmllZGFkZSBgcC1wb3NpdGlvbmBcbiAgICogZSBjYXNvIG7Do28gY2FpYmEgbmEgcG9zacOnw6NvIGluaWNpYWwgZWxlIGlyw6Egcm90YWNpb25hciBzZWd1aW5kbyBhIG9yZGVtIGRlIHBvc2nDp8O1ZXMgZGVmaW5pZGFzIG5vIGBwLWN1c3RvbS1wb3NpdGlvbnNgLlxuICAgKlxuICAgKiBQb3Npw6fDtWVzIHbDoWxpZGFzOlxuICAgKiAtIGByaWdodGA6IFBvc2ljaW9uYSBvIHBvLXBvcHVwIG5vIGxhZG8gZGlyZWl0byBkbyBjb21wb25lbnRlIGFsdm8uXG4gICAqIC0gYHJpZ2h0LWJvdHRvbWA6IFBvc2ljaW9uYSBvIHBvLXBvcHVwIG5vIGxhZG8gZGlyZWl0byBpbmZlcmlvciBkbyBjb21wb25lbnRlIGFsdm8uXG4gICAqIC0gYHJpZ2h0LXRvcGA6IFBvc2ljaW9uYSBvIHBvLXBvcHVwIG5vIGxhZG8gZGlyZWl0byBzdXBlcmlvciBkbyBjb21wb25lbnRlIGFsdm8uXG4gICAqIC0gYGJvdHRvbWA6IFBvc2ljaW9uYSBvIHBvLXBvcHVwIGFiYWl4byBkbyBjb21wb25lbnRlIGFsdm8uXG4gICAqIC0gYGJvdHRvbS1sZWZ0YDogUG9zaWNpb25hIG8gcG8tcG9wdXAgYWJhaXhvIGUgw6AgZXNxdWVyZGEgZG8gY29tcG9uZW50ZSBhbHZvLlxuICAgKiAtIGBib3R0b20tcmlnaHRgOiBQb3NpY2lvbmEgbyBwby1wb3B1cCBhYmFpeG8gZSDDoCBkaXJlaXRhIGRvIGNvbXBvbmVudGUgYWx2by5cbiAgICogLSBgbGVmdGA6IFBvc2ljaW9uYSBvIHBvLXBvcHVwIG5vIGxhZG8gZXNxdWVyZG8gZG8gY29tcG9uZW50ZSBhbHZvLlxuICAgKiAtIGBsZWZ0LXRvcGA6IFBvc2ljaW9uYSBvIHBvLXBvcHVwIG5vIGxhZG8gZXNxdWVyZG8gc3VwZXJpb3IgZG8gY29tcG9uZW50ZSBhbHZvLlxuICAgKiAtIGBsZWZ0LWJvdHRvbWA6IFBvc2ljaW9uYSBvIHBvLXBvcHVwIG5vIGxhZG8gZXNxdWVyZG8gaW5mZXJpb3IgZG8gY29tcG9uZW50ZSBhbHZvLlxuICAgKiAtIGB0b3BgOiBQb3NpY2lvbmEgbyBwby1wb3B1cCBhY2ltYSBkbyBjb21wb25lbnRlIGFsdm8uXG4gICAqIC0gYHRvcC1yaWdodGA6IFBvc2ljaW9uYSBvIHBvLXBvcHVwIGFjaW1hIGUgw6AgZGlyZWl0YSBkbyBjb21wb25lbnRlIGFsdm8uXG4gICAqIC0gYHRvcC1sZWZ0YDogUG9zaWNpb25hIG8gcG8tcG9wdXAgYWNpbWEgZSDDoCBlc3F1ZXJkYSBkbyBjb21wb25lbnRlIGFsdm8uXG4gICAqXG4gICAqIEBkZWZhdWx0IGBib3R0b20tbGVmdGBcbiAgICovXG4gIEBJbnB1dCgncC1wb3NpdGlvbicpIHNldCBwb3NpdGlvbih2YWx1ZTogc3RyaW5nKSB7XG4gICAgdGhpcy5fcG9zaXRpb24gPSBQT19DT05UUk9MX1BPU0lUSU9OUy5pbmNsdWRlcyh2YWx1ZSkgPyB2YWx1ZSA6IHBvUG9wdXBEZWZhdWx0UG9zaXRpb247XG4gIH1cblxuICBnZXQgcG9zaXRpb24oKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5fcG9zaXRpb247XG4gIH1cblxuICAvKipcbiAgICogQG9wdGlvbmFsXG4gICAqXG4gICAqIEBkZXNjcmlwdGlvblxuICAgKlxuICAgKiBEZWZpbmUgYXMgcG9zacOnw7VlcyBlIGEgc2VxdcOqbmNpYSBxdWUgbyBgcG8tcG9wdXBgIHBvZGVyw6Egcm90YWNpb25hci4gQSBzZXF1w6puY2lhIHNlcsOhIGRlZmluaWRhIHBlbGEgb3JkZW0gcGFzc2FkYVxuICAgKiBubyAqYXJyYXkqLiBDYXNvIG7Do28gc2VqYSBkZWZpbmlkbywgbyBgcG8tcG9wdXBgIGlyw6Egcm90YWNpb25hciBlbSB0b2RhcyBhcyBwb3Npw6fDtWVzIHbDoWxpZGFzLlxuICAgKlxuICAgKiA+IE8gY29tcG9uZW50ZSBzZW1wcmUgaXLDoSBhYnJpciBuYSBwb3Npw6fDo28gZGVmaW5pZGEgbm8gYHAtcG9zaXRpb25gIGUgY2FzbyBuw6NvIGNhaWJhIG5hIHBvc2nDp8OjbyBkZWZpbmlkYSBvIG1lc21vXG4gICAqIGlyw6Egcm90YWNpb25hciBzZWd1aW5kbyBhIG9yZGVtIGRlZmluaWRhIHBlbG8gYHAtY3VzdG9tLXBvc2l0aW9uYC5cbiAgICpcbiAgICogUG9zacOnw7VlcyB2w6FsaWRhczpcbiAgICogLSBgcmlnaHRgOiBQb3NpY2lvbmEgbyBwby1wb3B1cCBubyBsYWRvIGRpcmVpdG8gZG8gY29tcG9uZW50ZSBhbHZvLlxuICAgKiAtIGByaWdodC1ib3R0b21gOiBQb3NpY2lvbmEgbyBwby1wb3B1cCBubyBsYWRvIGRpcmVpdG8gaW5mZXJpb3IgZG8gY29tcG9uZW50ZSBhbHZvLlxuICAgKiAtIGByaWdodC10b3BgOiBQb3NpY2lvbmEgbyBwby1wb3B1cCBubyBsYWRvIGRpcmVpdG8gc3VwZXJpb3IgZG8gY29tcG9uZW50ZSBhbHZvLlxuICAgKiAtIGBib3R0b21gOiBQb3NpY2lvbmEgbyBwby1wb3B1cCBhYmFpeG8gZG8gY29tcG9uZW50ZSBhbHZvLlxuICAgKiAtIGBib3R0b20tbGVmdGA6IFBvc2ljaW9uYSBvIHBvLXBvcHVwIGFiYWl4byBlIMOgIGVzcXVlcmRhIGRvIGNvbXBvbmVudGUgYWx2by5cbiAgICogLSBgYm90dG9tLXJpZ2h0YDogUG9zaWNpb25hIG8gcG8tcG9wdXAgYWJhaXhvIGUgw6AgZGlyZWl0YSBkbyBjb21wb25lbnRlIGFsdm8uXG4gICAqIC0gYGxlZnRgOiBQb3NpY2lvbmEgbyBwby1wb3B1cCBubyBsYWRvIGVzcXVlcmRvIGRvIGNvbXBvbmVudGUgYWx2by5cbiAgICogLSBgbGVmdC10b3BgOiBQb3NpY2lvbmEgbyBwby1wb3B1cCBubyBsYWRvIGVzcXVlcmRvIHN1cGVyaW9yIGRvIGNvbXBvbmVudGUgYWx2by5cbiAgICogLSBgbGVmdC1ib3R0b21gOiBQb3NpY2lvbmEgbyBwby1wb3B1cCBubyBsYWRvIGVzcXVlcmRvIGluZmVyaW9yIGRvIGNvbXBvbmVudGUgYWx2by5cbiAgICogLSBgdG9wYDogUG9zaWNpb25hIG8gcG8tcG9wdXAgYWNpbWEgZG8gY29tcG9uZW50ZSBhbHZvLlxuICAgKiAtIGB0b3AtcmlnaHRgOiBQb3NpY2lvbmEgbyBwby1wb3B1cCBhY2ltYSBlIMOgIGRpcmVpdGEgZG8gY29tcG9uZW50ZSBhbHZvLlxuICAgKiAtIGB0b3AtbGVmdGA6IFBvc2ljaW9uYSBvIHBvLXBvcHVwIGFjaW1hIGUgw6AgZXNxdWVyZGEgZG8gY29tcG9uZW50ZSBhbHZvLlxuICAgKi9cbiAgQElucHV0KCdwLWN1c3RvbS1wb3NpdGlvbnMnKSBzZXQgY3VzdG9tUG9zaXRpb25zKHZhbHVlOiBBcnJheTxzdHJpbmc+KSB7XG4gICAgdGhpcy5fY3VzdG9tUG9zaXRpb25zID0gQXJyYXkuaXNBcnJheSh2YWx1ZSkgPyB2YWx1ZSA6IFtdO1xuICB9XG5cbiAgZ2V0IGN1c3RvbVBvc2l0aW9ucygpIHtcbiAgICByZXR1cm4gdGhpcy5fY3VzdG9tUG9zaXRpb25zO1xuICB9XG5cbiAgLyoqXG4gICAqIEBkZXNjcmlwdGlvblxuICAgKlxuICAgKiBQYXJhIHV0aWxpemFyIG8gYHBvLXBvcHVwYCBkZXZlLXNlIGNvbG9jYXIgdW1hIHZhcmnDoXZlbCBsb2NhbCBubyBjb21wb25lbnRlIHF1ZSBkaXNwYXJhcsOhIG8gZXZlbnRvXG4gICAqIGRlIGFiZXJ0dXJhIG5vIG1lc21vIGUgY29tIGlzc28sIGludm9jYXLDoSBhIGZ1bsOnw6NvIGB0b2dnbGVgLCBwb3IgZXhlbXBsbzpcbiAgICpcbiAgICogYGBgXG4gICAqIDxzcGFuICNpY29uIGNsYXNzPVwicG8taWNvbiBwby1pY29uLWNyZWRpdC1wYXltZW50XCIgKGNsaWNrKT1cInBvcHVwLnRvZ2dsZSgpXCI+XG4gICAqICAgQ3JlZGl0IEFjdGlvbnNcbiAgICogPC9zcGFuPlxuICAgKlxuICAgKiA8cG8tcG9wdXAgI3BvcHVwXG4gICAqICAgW3AtYWN0aW9uc109XCJhY3Rpb25zXCJcbiAgICogICBbcC10YXJnZXRdPVwiaWNvblwiPlxuICAgKiA8L3BvLXBvcHVwPlxuICAgKiBgYGBcbiAgICpcbiAgICogQ2FzbyBvIGVsZW1lbnRvIGFsdm8gZm9yIHVtIGNvbXBvbmVudGUsIHNlcsOhIHByZWNpc28gb2J0ZXIgbyBgRWxlbWVudFJlZmAgZG8gbWVzbW8gZSBwYXNzw6EtbG8gw6AgcHJvcHJpZWRhZGUsIHBvciBleGVtcGxvOlxuICAgKlxuICAgKiBgYGBcbiAgICogLy8gY29tcG9uZW50Lmh0bWxcbiAgICpcbiAgICogPHBvLWJ1dHRvbiAjcG9CdXR0b25cbiAgICogICBwLWxhYmVsPVwiT3BlbiBQb3BvdmVyXCJcbiAgICogICAocC1jbGljayk9XCJwb3B1cC50b2dnbGUoKVwiPlxuICAgKiA8L3BvLWJ1dHRvbj5cbiAgICpcbiAgICogPHBvLXBvcHVwICNwb3B1cFxuICAgKiAgIFtwLWFjdGlvbnNdPVwiYWN0aW9uc1wiXG4gICAqICAgW3AtdGFyZ2V0XT1cInBvQnV0dG9uUmVmXCI+XG4gICAqIDwvcG8tcG9wdXA+XG4gICAqXG4gICAqIC8vIGNvbXBvbmVudC50c1xuICAgKlxuICAgKiBAVmlld0NoaWxkKCdwb0J1dHRvbicsIHsgcmVhZDogRWxlbWVudFJlZiB9KSBwb0J1dHRvblJlZjogRWxlbWVudFJlZjtcbiAgICogYGBgXG4gICAqL1xuICBASW5wdXQoJ3AtdGFyZ2V0Jykgc2V0IHRhcmdldCh2YWx1ZTogYW55KSB7XG4gICAgdGhpcy5fdGFyZ2V0ID0gdmFsdWUgaW5zdGFuY2VvZiBFbGVtZW50UmVmID8gdmFsdWUubmF0aXZlRWxlbWVudCA6IHZhbHVlO1xuICB9XG5cbiAgZ2V0IHRhcmdldCgpIHtcbiAgICByZXR1cm4gdGhpcy5fdGFyZ2V0O1xuICB9XG5cbiAgQE91dHB1dCgncC1jbG9zZScpIGNsb3NlRXZlbnQ6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xufVxuIl19
@@ -80,6 +80,7 @@ export class PoPopupComponent extends PoPopupBaseComponent {
80
80
  close() {
81
81
  this.removeListeners();
82
82
  this.showPopup = false;
83
+ this.closeEvent.emit();
83
84
  }
84
85
  onActionClick(popupAction) {
85
86
  const actionNoDisabled = popupAction && !this.returnBooleanValue(popupAction, 'disabled');
@@ -225,4 +226,4 @@ export class PoPopupComponent extends PoPopupBaseComponent {
225
226
  type: ViewChild,
226
227
  args: ['poListBoxRef']
227
228
  }] }); })();
228
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG8tcG9wdXAuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdWkvc3JjL2xpYi9jb21wb25lbnRzL3BvLXBvcHVwL3BvLXBvcHVwLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3VpL3NyYy9saWIvY29tcG9uZW50cy9wby1wb3B1cC9wby1wb3B1cC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQXFCLFNBQVMsRUFBRSxVQUFVLEVBQWEsU0FBUyxFQUFvQixNQUFNLGVBQWUsQ0FBQztBQUdqSCxPQUFPLEVBQWdCLGNBQWMsRUFBRSxRQUFRLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUM1RixPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxnRUFBZ0UsQ0FBQztBQUcxRyxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQzs7Ozs7Ozs7OztJQ04vRCxzQkFBbUY7OztJQUEzRCxnRkFBb0Q7Ozs7SUFEOUUsaUNBQW9HO0lBQ2xHLHVFQUFtRjtJQUVuRiw4QkFBZ0MsdUJBQUE7SUFDMkQscUtBQVcsZUFBQSxjQUFPLENBQUEsSUFBQztJQUMxRyw4QkFBNkI7SUFDM0Isa0JBQTREO0lBQzlELGlCQUFNLEVBQUEsRUFBQSxFQUFBOzs7SUFOSixlQUFnQjtJQUFoQix3Q0FBZ0I7SUFHK0IsZUFBbUI7SUFBbkIsd0NBQW1CLHlCQUFBOzs7O0FETTFFOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FxQkc7QUFNSCxNQUFNLE9BQU8sZ0JBQWlCLFNBQVEsb0JBQW9CO0lBUzlDO0lBQ0E7SUFDQTtJQUNEO0lBWG9DLFFBQVEsQ0FBYTtJQUN0QixPQUFPLENBQWE7SUFFaEUsbUNBQW1DO0lBQ1IsWUFBWSxDQUFxQjtJQUU1RCxZQUNFLGdCQUFrQyxFQUMxQixRQUFtQixFQUNuQixNQUFjLEVB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QUFDLGFBQWEsRUFDM0IsQ0FBQyxFQUNELElBQUksQ0FBQyxNQUFNLEVBQ1gsSUFBSSxDQUFDLGVBQWUsRUFDcEIsS0FBSyxFQUNMLElBQUksQ0FBQyxhQUFhLENBQ25CLENBQUM7WUFDRixJQUFJLENBQUMsaUJBQWlCLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztZQUNyRCxJQUFJLENBQUMsY0FBYyxHQUFHLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO1NBQ2xFO0lBQ0gsQ0FBQztJQUVPLHNCQUFzQjtRQUM1QixJQUFJLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxFQUFFO1lBQzNCLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztZQUNuQixJQUFJLENBQUMsbUJBQW1CLEVBQUUsQ0FBQztTQUM1QjthQUFNO1lBQ0wsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO1NBQ2Q7SUFDSCxDQUFDOzBFQTVLVSxnQkFBZ0I7NkRBQWhCLGdCQUFnQjttQ0FDSSxVQUFVO21DQUNYLFVBQVU7Ozs7Ozs7OENBSjdCLENBQUMsd0JBQXdCLENBQUM7O1lDbkN2QyxpRUFVTTs7WUFWMkIsOEZBQWlFOzs7dUZEcUNyRixnQkFBZ0I7Y0FMNUIsU0FBUzsyQkFDRSxVQUFVLGFBRVQsQ0FBQyx3QkFBd0IsQ0FBQzt1TEFHUSxRQUFRO2tCQUFwRCxTQUFTO21CQUFDLFVBQVUsRUFBRSxFQUFFLElBQUksRUFBRSxVQUFVLEVBQUU7WUFDQyxPQUFPO2tCQUFsRCxTQUFTO21CQUFDLFNBQVMsRUFBRSxFQUFFLElBQUksRUFBRSxVQUFVLEVBQUU7WUFHZixZQUFZO2tCQUF0QyxTQUFTO21CQUFDLGNBQWMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3RvclJlZiwgQ29tcG9uZW50LCBFbGVtZW50UmVmLCBSZW5kZXJlcjIsIFZpZXdDaGlsZCwgVmlld0NvbnRhaW5lclJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUm91dGVyIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcblxuaW1wb3J0IHsgY2FsbEZ1bmN0aW9uLCBpc0V4dGVybmFsTGluaywgaXNUeXBlb2YsIG9wZW5FeHRlcm5hbExpbmsgfSBmcm9tICcuLi8uLi91dGlscy91dGlsJztcbmltcG9ydCB7IFBvQ29udHJvbFBvc2l0aW9uU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL3BvLWNvbnRyb2wtcG9zaXRpb24vcG8tY29udHJvbC1wb3NpdGlvbi5zZXJ2aWNlJztcblxuaW1wb3J0IHsgUG9Qb3B1cEFjdGlvbiB9IGZyb20gJy4vcG8tcG9wdXAtYWN0aW9uLmludGVyZmFjZSc7XG5pbXBvcnQgeyBQb1BvcHVwQmFzZUNvbXBvbmVudCB9IGZyb20gJy4vcG8tcG9wdXAtYmFzZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgUG9MaXN0Qm94Q29tcG9uZW50IH0gZnJvbSAnLi4vcG8tbGlzdGJveCc7XG5cbi8qKlxuICpcbiAqIEBkb2NzRXh0ZW5kcyBQb1BvcHVwQmFzZUNvbXBvbmVudFxuICpcbiAqIEBleGFtcGxlXG4gKlxuICogPGV4YW1wbGUgbmFtZT1cInBvLXBvcHVwLWJhc2ljXCIgdGl0bGU9XCJQTyBQb3B1cCAtIEJhc2ljXCI+XG4gKiAgIDxmaWxlIG5hbWU9XCJzYW1wbGUtcG8tcG9wdXAtYmFzaWMvc2FtcGxlLXBvLXBvcHVwLWJhc2ljLmNvbXBvbmVudC5odG1sXCI+IDwvZmlsZT5cbiAqICAgPGZpbGUgbmFtZT1cInNhbXBsZS1wby1wb3B1cC1iYXNpYy9zYW1wbGUtcG8tcG9wdXAtYmFzaWMuY29tcG9uZW50LnRzXCI+IDwvZmlsZT5cbiAqIDwvZXhhbXBsZT5cbiAqXG4gKiA8ZXhhbXBsZSBuYW1lPVwicG8tcG9wdXAtbGFic1wiIHRpdGxlPVwiUE8gUG9wdXAgLSBMYWJzXCI+XG4gKiAgIDxmaWxlIG5hbWU9XCJzYW1wbGUtcG8tcG9wdXAtbGFicy9zYW1wbGUtcG8tcG9wdXAtbGFicy5jb21wb25lbnQuaHRtbFwiPiA8L2ZpbGU+XG4gKiAgIDxmaWxlIG5hbWU9XCJzYW1wbGUtcG8tcG9wdXAtbGFicy9zYW1wbGUtcG8tcG9wdXAtbGFicy5jb21wb25lbnQudHNcIj4gPC9maWxlPlxuICogPC9leGFtcGxlPlxuICpcbiAqIDxleGFtcGxlIG5hbWU9XCJwby1wb3B1cC1lbWFpbFwiIHRpdGxlPVwiUE8gUG9wdXAgRW1haWxcIj5cbiAqICAgPGZpbGUgbmFtZT1cInNhbXBsZS1wby1wb3B1cC1lbWFpbC9zYW1wbGUtcG8tcG9wdXAtZW1haWwuY29tcG9uZW50Lmh0bWxcIj4gPC9maWxlPlxuICogICA8ZmlsZSBuYW1lPVwic2FtcGxlLXBvLXBvcHVwLWVtYWlsL3NhbXBsZS1wby1wb3B1cC1lbWFpbC5jb21wb25lbnQudHNcIj4gPC9maWxlPlxuICogPC9leGFtcGxlPlxuICpcbiAqL1xuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAncG8tcG9wdXAnLFxuICB0ZW1wbGF0ZVVybDogJy4vcG8tcG9wdXAuY29tcG9uZW50Lmh0bWwnLFxuICBwcm92aWRlcnM6IFtQb0NvbnRyb2xQb3NpdGlvblNlcnZpY2VdXG59KVxuZXhwb3J0IGNsYXNzIFBvUG9wdXBDb21wb25lbnQgZXh0ZW5kcyBQb1BvcHVwQmFzZUNvbXBvbmVudCB7XG4gIEBWaWV3Q2hpbGQoJ3BvcHVwUmVmJywgeyByZWFkOiBFbGVtZW50UmVmIH0pIHBvcHVwUmVmOiBFbGVtZW50UmVmO1xuICBAVmlld0NoaWxkKCdsaXN0Ym94JywgeyByZWFkOiBFbGVtZW50UmVmIH0pIGxpc3Rib3g6IEVsZW1lbnRSZWY7XG5cbiAgLy91dGlsaXphZG8gYXBlbmFzIG5vIHRoZW1lIGJ1aWxkZXJcbiAgQFZpZXdDaGlsZCgncG9MaXN0Qm94UmVmJykgcG9MaXN0Qm94UmVmOiBQb0xpc3RCb3hDb21wb25lbnQ7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgdmlld0NvbnRhaW5lclJlZjogVmlld0NvbnRhaW5lclJlZixcbiAgICBwcml2YXRlIHJlbmRlcmVyOiBSZW5kZXJlcjIsXG4gICAgcHJpdmF0ZSByb3V0ZXI6IFJvdXRlcixcbiAgICBwcml2YXRlIHBvQ29udHJvbFBvc2l0aW9uOiBQb0NvbnRyb2xQb3NpdGlvblNlcnZpY2UsXG4gICAgcHVibGljIGNoYW5nZURldGVjdG9yOiBDaGFuZ2VEZXRlY3RvclJlZlxuICApIHtcbiAgICBzdXBlcigpO1xuICB9XG5cbiAgLyoqXG4gICAqIEZlY2hhIG8gY29tcG9uZW50ZSAqcG9wdXAqLlxuICAgKlxuICAgKiA+IFBvciBwYWRyw6NvLCBlc3RlIGNvbXBvcnRhbWVudG8gw6kgYWNpb25hZG8gc29tZW50ZSBhbyBjbGljYXIgZm9yYSBkbyBjb21wb25lbnRlIG91IGVtIGRldGVybWluYWRhIGHDp8OjbyAvIHVybC5cbiAgICovXG4gIGNsb3NlKCkge1xuICAgIHRoaXMucmVtb3ZlTGlzdGVuZXJzKCk7XG5cbiAgICB0aGlzLnNob3dQb3B1cCA9IGZhbHNlO1xuICB9XG5cbiAgb25BY3Rpb25DbGljayhwb3B1cEFjdGlvbjogUG9Qb3B1cEFjdGlvbikge1xuICAgIGNvbnN0IGFjdGlvbk5vRGlzYWJsZWQgPSBwb3B1cEFjdGlvbiAmJiAhdGhpcy5yZXR1cm5Cb29sZWFuVmFsdWUocG9wdXBBY3Rpb24sICdkaXNhYmxlZCcpO1xuXG4gICAgaWYgKHBvcHVwQWN0aW9uICYmIHBvcHVwQWN0aW9uLmFjdGlvbiAmJiBhY3Rpb25Ob0Rpc2FibGVkKSB7XG4gICAgICB0aGlzLmNsb3NlKCk7XG4gICAgICBwb3B1cEFjdGlvbi5hY3Rpb24odGhpcy5wYXJhbSB8fCBwb3B1cEFjdGlvbik7XG4gICAgfVxuXG4gICAgaWYgKHBvcHVwQWN0aW9uICYmIHBvcHVwQWN0aW9uLnVybCAmJiBhY3Rpb25Ob0Rpc2FibGVkKSB7XG4gICAgICB0aGlzLmNsb3NlKCk7XG4gICAgICByZXR1cm4gdGhpcy5vcGVuVXJsKHBvcHVwQWN0aW9uLnVybCk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIEFicmUgbyBjb21wb25lbnRlICpwb3B1cCouXG4gICAqXG4gICAqID4gw4kgcG9zc8OtdmVsIGluZm9ybWFyIHVtIHBhcsOibWV0cm8gcXVlIHNlcsOhIHV0aWxpemFkbyBuYSBleGVjdcOnw6NvIGRhIGHDp8OjbyBkbyBpdGVtIGUgbmEgZnVuw6fDo28gZGUgZGVzYWJpbGl0YXIuXG4gICAqL1xuICBvcGVuKHBhcmFtPykge1xuICAgIHRoaXMub2xkVGFyZ2V0ID0gdGhpcy50YXJnZXQ7XG4gICAgdGhpcy5wYXJhbSA9IHBhcmFtO1xuICAgIHRoaXMuc2hvd1BvcHVwID0gdHJ1ZTtcbiAgICB0aGlzLmNoYW5nZURldGVjdG9yLmRldGVjdENoYW5nZXMoKTtcbiAgICB0aGlzLnZhbGlkYXRlSW5pdGlhbENvbnRlbnQoKTtcbiAgfVxuXG4gIHJldHVybkJvb2xlYW5WYWx1ZShwb3B1cEFjdGlvbjogYW55LCBwcm9wZXJ0eTogc3RyaW5nKSB7XG4gICAgcmV0dXJuIGlzVHlwZW9mKHBvcHVwQWN0aW9uW3Byb3BlcnR5XSwgJ2Z1bmN0aW9uJylcbiAgICAgID8gcG9wdXBBY3Rpb25bcHJvcGVydHldKHRoaXMucGFyYW0gfHwgcG9wdXBBY3Rpb24pXG4gICAgICA6IHBvcHVwQWN0aW9uW3Byb3BlcnR5XTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXNwb25zw6F2ZWwgcG9yIGFicmlyIGUgZmVjaGFyIG8gKnBvcHVwKi5cbiAgICpcbiAgICogUXVhbmRvIGRpc3BhcmFkbyBhYnJpcsOhIG8gKnBvcHVwKiBlIGNhc28gbyBtZXNtbyBqw6EgZXN0aXZlciBhYmVydG8gZSBwb3NzdWlyIG8gbWVzbW8gYHRhcmdldGAgaXLDoSBmZWNoYS1sby5cbiAgICpcbiAgICogw4kgcG9zc8OtdmVsIGluZm9ybWFyIHVtIHBhcsOibWV0cm8gcXVlIHNlcsOhIHV0aWxpemFkbyBuYSBleGVjdcOnw6NvIGRhIGHDp8OjbyBkbyBpdGVtIGUgbmEgZnVuw6fDo28gZGUgZGVzYWJpbGl0YXIuXG4gICAqL1xuICB0b2dnbGUocGFyYW0/KSB7XG4gICAgdGhpcy5zaG93UG9wdXAgJiYgdGhpcy5vbGRUYXJnZXQgPT09IHRoaXMudGFyZ2V0ID8gdGhpcy5jbG9zZSgpIDogdGhpcy5vcGVuKHBhcmFtKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBjaGVja0FsbEFjdGlvbklzSW52aXNpYmxlKCkge1xuICAgIGlmICh0aGlzLmFjdGlvbnMuZXZlcnkoaXRlbSA9PiBpdGVtLnZpc2libGUgPT09IGZhbHNlKSkge1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIHByaXZhdGUgY2xpY2tlZE91dERpc2FibGVkSXRlbShldmVudCkge1xuICAgIGNvbnN0IGNvbnRhaW5zSXRlbURpc2FibGVkID1cbiAgICAgIHRoaXMuZWxlbWVudENvbnRhaW5zKGV2ZW50LnRhcmdldCwgJ3BvLXBvcHVwLWl0ZW0tZGlzYWJsZWQnKSB8fFxuICAgICAgdGhpcy5lbGVtZW50Q29udGFpbnMoZXZlbnQudGFyZ2V0LnBhcmVudEVsZW1lbnQsICdwby1wb3B1cC1pdGVtLWRpc2FibGVkJyk7XG5cbiAgICByZXR1cm4gIWNvbnRhaW5zSXRlbURpc2FibGVkO1xuICB9XG5cbiAgcHJpdmF0ZSBjbGlja2VkT3V0SGVhZGVyVGVtcGxhdGUoZXZlbnQpIHtcbiAgICBjb25zdCBwb3B1cEhlYWRlclRlbXBsYXRlID0gdGhpcy5wb3B1cFJlZiAmJiB0aGlzLnBvcHVwUmVmLm5hdGl2ZUVsZW1lbnQucXVlcnlTZWxlY3RvcignW3AtcG9wdXAtaGVhZGVyLXRlbXBsYXRlXScpO1xuICAgIHJldHVybiAhKHBvcHVwSGVhZGVyVGVtcGxhdGUgJiYgcG9wdXBIZWFkZXJUZW1wbGF0ZS5jb250YWlucyhldmVudC50YXJnZXQpKTtcbiAgfVxuXG4gIHByaXZhdGUgY2xpY2tlZE91dFRhcmdldChldmVudCkge1xuICAgIHJldHVybiB0aGlzLnRhcmdldCAmJiAhdGhpcy50YXJnZXQuY29udGFpbnMoZXZlbnQudGFyZ2V0KTtcbiAgfVxuXG4gIHByaXZhdGUgY2xvc2VQb3B1cE9uQ2xpY2tvdXQoZXZlbnQ6IE1vdXNlRXZlbnQpIHtcbiAgICBpZiAodGhpcy5jbGlja2VkT3V0VGFyZ2V0KGV2ZW50KSAmJiB0aGlzLmNsaWNrZWRPdXREaXNhYmxlZEl0ZW0oZXZlbnQpICYmIHRoaXMuY2xpY2tlZE91dEhlYWRlclRlbXBsYXRlKGV2ZW50KSkge1xuICAgICAgdGhpcy5jbG9zZSgpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgZWxlbWVudENvbnRhaW5zKGVsZW1lbnQ6IEhUTUxFbGVtZW50LCBjbGFzc05hbWU6IHN0cmluZykge1xuICAgIHJldHVybiBlbGVtZW50ICYmIGVsZW1lbnQuY2xhc3NMaXN0LmNvbnRhaW5zKGNsYXNzTmFtZSk7XG4gIH1cblxuICBwcml2YXRlIGhhc0NvbnRlbnRUb1Nob3coKSB7XG4gICAgcmV0dXJuICEhKHRoaXMucG9wdXBSZWY/Lm5hdGl2ZUVsZW1lbnQgJiYgdGhpcy5saXN0Ym94Py5uYXRpdmVFbGVtZW50KTtcbiAgfVxuXG4gIHByaXZhdGUgaW5pdGlhbGl6ZUxpc3RlbmVycygpIHtcbiAgICB0aGlzLnJlc2l6ZUxpc3RlbmVyID0gdGhpcy5yZW5kZXJlci5saXN0ZW4oJ3dpbmRvdycsICdyZXNpemUnLCAoKSA9PiB7XG4gICAgICB0aGlzLmNsb3NlKCk7XG4gICAgfSk7XG5cbiAgICB0aGlzLmNsaWNrb3V0TGlzdGVuZXIgPSB0aGlzLnJlbmRlcmVyLmxpc3RlbignZG9jdW1lbnQnLCAnY2xpY2snLCAoZXZlbnQ6IE1vdXNlRXZlbnQpID0+IHtcbiAgICAgIHRoaXMuY2xvc2VQb3B1cE9uQ2xpY2tvdXQoZXZlbnQpO1xuICAgIH0pO1xuXG4gICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ3Njcm9sbCcsIHRoaXMub25TY3JvbGwsIHRydWUpO1xuICB9XG5cbiAgcHJpdmF0ZSBvblNjcm9sbCA9ICh7IHRhcmdldCB9KTogdm9pZCA9PiB7XG4gICAgaWYgKHRoaXMuc2hvd1BvcHVwICYmIHRhcmdldC5jbGFzc05hbWUgIT09ICdwby1wb3B1cC1jb250YWluZXInICYmIHRoaXMuYWN0aW9ucy5sZW5ndGggPCA2KSB7XG4gICAgICB0aGlzLmNsb3NlKCk7XG4gICAgfVxuICB9O1xuXG4gIHByaXZhdGUgb3BlblVybCh1cmw6IHN0cmluZykge1xuICAgIGlmIChpc0V4dGVybmFsTGluayh1cmwpKSB7XG4gICAgICByZXR1cm4gb3BlbkV4dGVybmFsTGluayh1cmwpO1xuICAgIH1cblxuICAgIGlmICh1cmwpIHtcbiAgICAgIHJldHVybiB0aGlzLnJvdXRlci5uYXZpZ2F0ZShbdXJsXSk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSByZW1vdmVMaXN0ZW5lcnMoKSB7XG4gICAgaWYgKHRoaXMuY2xpY2tvdXRMaXN0ZW5lcikge1xuICAgICAgdGhpcy5jbGlja291dExpc3RlbmVyKCk7XG4gICAgfVxuXG4gICAgaWYgKHRoaXMucmVzaXplTGlzdGVuZXIpIHtcbiAgICAgIHRoaXMucmVzaXplTGlzdGVuZXIoKTtcbiAgICB9XG5cbiAgICB3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcignc2Nyb2xsJywgdGhpcy5vblNjcm9sbCwgdHJ1ZSk7XG4gIH1cblxuICBwcml2YXRlIHNldFBvc2l0aW9uKCkge1xuICAgIGlmICh0aGlzLmxpc3Rib3gubmF0aXZlRWxlbWVudC5xdWVyeVNlbGVjdG9yKCcucG8tbGlzdGJveCcpKSB7XG4gICAgICB0aGlzLnBvQ29udHJvbFBvc2l0aW9uLnNldEVsZW1lbnRzKFxuICAgICAgICB0aGlzLnBvcHVwUmVmLm5hdGl2ZUVsZW1lbnQsXG4gICAgICAgIDgsXG4gICAgICAgIHRoaXMudGFyZ2V0LFxuICAgICAgICB0aGlzLmN1c3RvbVBvc2l0aW9ucyxcbiAgICAgICAgZmFsc2UsXG4gICAgICAgIHRoaXMuaXNDb3JuZXJBbGlnblxuICAgICAgKTtcbiAgICAgIHRoaXMucG9Db250cm9sUG9zaXRpb24uYWRqdXN0UG9zaXRpb24odGhpcy5wb3NpdGlvbik7XG4gICAgICB0aGlzLmFycm93RGlyZWN0aW9uID0gdGhpcy5wb0NvbnRyb2xQb3NpdGlvbi5nZXRBcnJvd0RpcmVjdGlvbigpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgdmFsaWRhdGVJbml0aWFsQ29udGVudCgpIHtcbiAgICBpZiAodGhpcy5oYXNDb250ZW50VG9TaG93KCkpIHtcbiAgICAgIHRoaXMuc2V0UG9zaXRpb24oKTtcbiAgICAgIHRoaXMuaW5pdGlhbGl6ZUxpc3RlbmVycygpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmNsb3NlKCk7XG4gICAgfVxuICB9XG59XG4iLCI8ZGl2ICNwb3B1cFJlZiBjbGFzcz1cInBvLXBvcHVwXCIgKm5nSWY9XCJzaG93UG9wdXAgJiYgYWN0aW9ucy5sZW5ndGggJiYgIWNoZWNrQWxsQWN0aW9uSXNJbnZpc2libGUoKVwiPlxuICA8ZGl2ICpuZ0lmPVwiIWhpZGVBcnJvd1wiIGNsYXNzPVwicG8tcG9wdXAtYXJyb3cgcG8tYXJyb3cte3sgYXJyb3dEaXJlY3Rpb24gfX1cIj48L2Rpdj5cblxuICA8ZGl2IGNsYXNzPVwicG8tcG9wdXAtY29udGFpbmVyXCI+XG4gICAgPHBvLWxpc3Rib3ggI2xpc3Rib3ggI3BvTGlzdEJveFJlZiBwLXR5cGU9XCJhY3Rpb25cIiBbcC1pdGVtc109XCJhY3Rpb25zXCIgW3AtcGFyYW1dPVwicGFyYW1cIiAocC1jbG9zZSk9XCJjbG9zZSgpXCI+XG4gICAgICA8ZGl2IHAtcG9wdXAtaGVhZGVyLXRlbXBsYXRlPlxuICAgICAgICA8bmctY29udGVudCBzZWxlY3Q9XCJbcC1wb3B1cC1oZWFkZXItdGVtcGxhdGVdXCI+PC9uZy1jb250ZW50PlxuICAgICAgPC9kaXY+XG4gICAgPC9wby1saXN0Ym94PlxuICA8L2Rpdj5cbjwvZGl2PlxuIl19
229
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG8tcG9wdXAuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdWkvc3JjL2xpYi9jb21wb25lbnRzL3BvLXBvcHVwL3BvLXBvcHVwLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3VpL3NyYy9saWIvY29tcG9uZW50cy9wby1wb3B1cC9wby1wb3B1cC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQXFCLFNBQVMsRUFBRSxVQUFVLEVBQWEsU0FBUyxFQUFvQixNQUFNLGVBQWUsQ0FBQztBQUdqSCxPQUFPLEVBQWdCLGNBQWMsRUFBRSxRQUFRLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUM1RixPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxnRUFBZ0UsQ0FBQztBQUcxRyxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQzs7Ozs7Ozs7OztJQ04vRCxzQkFBbUY7OztJQUEzRCxnRkFBb0Q7Ozs7SUFEOUUsaUNBQW9HO0lBQ2xHLHVFQUFtRjtJQUVuRiw4QkFBZ0MsdUJBQUE7SUFDMkQscUtBQVcsZUFBQSxjQUFPLENBQUEsSUFBQztJQUMxRyw4QkFBNkI7SUFDM0Isa0JBQTREO0lBQzlELGlCQUFNLEVBQUEsRUFBQSxFQUFBOzs7SUFOSixlQUFnQjtJQUFoQix3Q0FBZ0I7SUFHK0IsZUFBbUI7SUFBbkIsd0NBQW1CLHlCQUFBOzs7O0FETTFFOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FxQkc7QUFNSCxNQUFNLE9BQU8sZ0JBQWlCLFNBQVEsb0JBQW9CO0lBUzlDO0lBQ0E7SUFDQTtJQUNEO0lBWG9DLFFBQVEsQ0FBYTtJQUN0QixPQUFPLENBQWE7SUFFaEUsbUNBQW1DO0lBQ1IsWUFBWSxDQUFxQjtJQUU1RCxZQUNFLGdCQUFrQyxFQUMxQixRQUFtQixFQUNuQixNQUFjLEVB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QyxpQkFBaUIsQ0FBQyxXQUFXLENBQ2hDLElBQUksQ0FBQyxRQUFRLENBQUMsYUFBYSxFQUMzQixDQUFDLEVBQ0QsSUFBSSxDQUFDLE1BQU0sRUFDWCxJQUFJLENBQUMsZUFBZSxFQUNwQixLQUFLLEVBQ0wsSUFBSSxDQUFDLGFBQWEsQ0FDbkIsQ0FBQztZQUNGLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1lBQ3JELElBQUksQ0FBQyxjQUFjLEdBQUcsSUFBSSxDQUFDLGlCQUFpQixDQUFDLGlCQUFpQixFQUFFLENBQUM7U0FDbEU7SUFDSCxDQUFDO0lBRU8sc0JBQXNCO1FBQzVCLElBQUksSUFBSSxDQUFDLGdCQUFnQixFQUFFLEVBQUU7WUFDM0IsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO1lBQ25CLElBQUksQ0FBQyxtQkFBbUIsRUFBRSxDQUFDO1NBQzVCO2FBQU07WUFDTCxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7U0FDZDtJQUNILENBQUM7MEVBN0tVLGdCQUFnQjs2REFBaEIsZ0JBQWdCO21DQUNJLFVBQVU7bUNBQ1gsVUFBVTs7Ozs7Ozs4Q0FKN0IsQ0FBQyx3QkFBd0IsQ0FBQzs7WUNuQ3ZDLGlFQVVNOztZQVYyQiw4RkFBaUU7Ozt1RkRxQ3JGLGdCQUFnQjtjQUw1QixTQUFTOzJCQUNFLFVBQVUsYUFFVCxDQUFDLHdCQUF3QixDQUFDO3VMQUdRLFFBQVE7a0JBQXBELFNBQVM7bUJBQUMsVUFBVSxFQUFFLEVBQUUsSUFBSSxFQUFFLFVBQVUsRUFBRTtZQUNDLE9BQU87a0JBQWxELFNBQVM7bUJBQUMsU0FBUyxFQUFFLEVBQUUsSUFBSSxFQUFFLFVBQVUsRUFBRTtZQUdmLFlBQVk7a0JBQXRDLFNBQVM7bUJBQUMsY0FBYyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdG9yUmVmLCBDb21wb25lbnQsIEVsZW1lbnRSZWYsIFJlbmRlcmVyMiwgVmlld0NoaWxkLCBWaWV3Q29udGFpbmVyUmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBSb3V0ZXIgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuXG5pbXBvcnQgeyBjYWxsRnVuY3Rpb24sIGlzRXh0ZXJuYWxMaW5rLCBpc1R5cGVvZiwgb3BlbkV4dGVybmFsTGluayB9IGZyb20gJy4uLy4uL3V0aWxzL3V0aWwnO1xuaW1wb3J0IHsgUG9Db250cm9sUG9zaXRpb25TZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvcG8tY29udHJvbC1wb3NpdGlvbi9wby1jb250cm9sLXBvc2l0aW9uLnNlcnZpY2UnO1xuXG5pbXBvcnQgeyBQb1BvcHVwQWN0aW9uIH0gZnJvbSAnLi9wby1wb3B1cC1hY3Rpb24uaW50ZXJmYWNlJztcbmltcG9ydCB7IFBvUG9wdXBCYXNlQ29tcG9uZW50IH0gZnJvbSAnLi9wby1wb3B1cC1iYXNlLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBQb0xpc3RCb3hDb21wb25lbnQgfSBmcm9tICcuLi9wby1saXN0Ym94JztcblxuLyoqXG4gKlxuICogQGRvY3NFeHRlbmRzIFBvUG9wdXBCYXNlQ29tcG9uZW50XG4gKlxuICogQGV4YW1wbGVcbiAqXG4gKiA8ZXhhbXBsZSBuYW1lPVwicG8tcG9wdXAtYmFzaWNcIiB0aXRsZT1cIlBPIFBvcHVwIC0gQmFzaWNcIj5cbiAqICAgPGZpbGUgbmFtZT1cInNhbXBsZS1wby1wb3B1cC1iYXNpYy9zYW1wbGUtcG8tcG9wdXAtYmFzaWMuY29tcG9uZW50Lmh0bWxcIj4gPC9maWxlPlxuICogICA8ZmlsZSBuYW1lPVwic2FtcGxlLXBvLXBvcHVwLWJhc2ljL3NhbXBsZS1wby1wb3B1cC1iYXNpYy5jb21wb25lbnQudHNcIj4gPC9maWxlPlxuICogPC9leGFtcGxlPlxuICpcbiAqIDxleGFtcGxlIG5hbWU9XCJwby1wb3B1cC1sYWJzXCIgdGl0bGU9XCJQTyBQb3B1cCAtIExhYnNcIj5cbiAqICAgPGZpbGUgbmFtZT1cInNhbXBsZS1wby1wb3B1cC1sYWJzL3NhbXBsZS1wby1wb3B1cC1sYWJzLmNvbXBvbmVudC5odG1sXCI+IDwvZmlsZT5cbiAqICAgPGZpbGUgbmFtZT1cInNhbXBsZS1wby1wb3B1cC1sYWJzL3NhbXBsZS1wby1wb3B1cC1sYWJzLmNvbXBvbmVudC50c1wiPiA8L2ZpbGU+XG4gKiA8L2V4YW1wbGU+XG4gKlxuICogPGV4YW1wbGUgbmFtZT1cInBvLXBvcHVwLWVtYWlsXCIgdGl0bGU9XCJQTyBQb3B1cCBFbWFpbFwiPlxuICogICA8ZmlsZSBuYW1lPVwic2FtcGxlLXBvLXBvcHVwLWVtYWlsL3NhbXBsZS1wby1wb3B1cC1lbWFpbC5jb21wb25lbnQuaHRtbFwiPiA8L2ZpbGU+XG4gKiAgIDxmaWxlIG5hbWU9XCJzYW1wbGUtcG8tcG9wdXAtZW1haWwvc2FtcGxlLXBvLXBvcHVwLWVtYWlsLmNvbXBvbmVudC50c1wiPiA8L2ZpbGU+XG4gKiA8L2V4YW1wbGU+XG4gKlxuICovXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdwby1wb3B1cCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9wby1wb3B1cC5jb21wb25lbnQuaHRtbCcsXG4gIHByb3ZpZGVyczogW1BvQ29udHJvbFBvc2l0aW9uU2VydmljZV1cbn0pXG5leHBvcnQgY2xhc3MgUG9Qb3B1cENvbXBvbmVudCBleHRlbmRzIFBvUG9wdXBCYXNlQ29tcG9uZW50IHtcbiAgQFZpZXdDaGlsZCgncG9wdXBSZWYnLCB7IHJlYWQ6IEVsZW1lbnRSZWYgfSkgcG9wdXBSZWY6IEVsZW1lbnRSZWY7XG4gIEBWaWV3Q2hpbGQoJ2xpc3Rib3gnLCB7IHJlYWQ6IEVsZW1lbnRSZWYgfSkgbGlzdGJveDogRWxlbWVudFJlZjtcblxuICAvL3V0aWxpemFkbyBhcGVuYXMgbm8gdGhlbWUgYnVpbGRlclxuICBAVmlld0NoaWxkKCdwb0xpc3RCb3hSZWYnKSBwb0xpc3RCb3hSZWY6IFBvTGlzdEJveENvbXBvbmVudDtcblxuICBjb25zdHJ1Y3RvcihcbiAgICB2aWV3Q29udGFpbmVyUmVmOiBWaWV3Q29udGFpbmVyUmVmLFxuICAgIHByaXZhdGUgcmVuZGVyZXI6IFJlbmRlcmVyMixcbiAgICBwcml2YXRlIHJvdXRlcjogUm91dGVyLFxuICAgIHByaXZhdGUgcG9Db250cm9sUG9zaXRpb246IFBvQ29udHJvbFBvc2l0aW9uU2VydmljZSxcbiAgICBwdWJsaWMgY2hhbmdlRGV0ZWN0b3I6IENoYW5nZURldGVjdG9yUmVmXG4gICkge1xuICAgIHN1cGVyKCk7XG4gIH1cblxuICAvKipcbiAgICogRmVjaGEgbyBjb21wb25lbnRlICpwb3B1cCouXG4gICAqXG4gICAqID4gUG9yIHBhZHLDo28sIGVzdGUgY29tcG9ydGFtZW50byDDqSBhY2lvbmFkbyBzb21lbnRlIGFvIGNsaWNhciBmb3JhIGRvIGNvbXBvbmVudGUgb3UgZW0gZGV0ZXJtaW5hZGEgYcOnw6NvIC8gdXJsLlxuICAgKi9cbiAgY2xvc2UoKSB7XG4gICAgdGhpcy5yZW1vdmVMaXN0ZW5lcnMoKTtcblxuICAgIHRoaXMuc2hvd1BvcHVwID0gZmFsc2U7XG4gICAgdGhpcy5jbG9zZUV2ZW50LmVtaXQoKTtcbiAgfVxuXG4gIG9uQWN0aW9uQ2xpY2socG9wdXBBY3Rpb246IFBvUG9wdXBBY3Rpb24pIHtcbiAgICBjb25zdCBhY3Rpb25Ob0Rpc2FibGVkID0gcG9wdXBBY3Rpb24gJiYgIXRoaXMucmV0dXJuQm9vbGVhblZhbHVlKHBvcHVwQWN0aW9uLCAnZGlzYWJsZWQnKTtcblxuICAgIGlmIChwb3B1cEFjdGlvbiAmJiBwb3B1cEFjdGlvbi5hY3Rpb24gJiYgYWN0aW9uTm9EaXNhYmxlZCkge1xuICAgICAgdGhpcy5jbG9zZSgpO1xuICAgICAgcG9wdXBBY3Rpb24uYWN0aW9uKHRoaXMucGFyYW0gfHwgcG9wdXBBY3Rpb24pO1xuICAgIH1cblxuICAgIGlmIChwb3B1cEFjdGlvbiAmJiBwb3B1cEFjdGlvbi51cmwgJiYgYWN0aW9uTm9EaXNhYmxlZCkge1xuICAgICAgdGhpcy5jbG9zZSgpO1xuICAgICAgcmV0dXJuIHRoaXMub3BlblVybChwb3B1cEFjdGlvbi51cmwpO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBBYnJlIG8gY29tcG9uZW50ZSAqcG9wdXAqLlxuICAgKlxuICAgKiA+IMOJIHBvc3PDrXZlbCBpbmZvcm1hciB1bSBwYXLDom1ldHJvIHF1ZSBzZXLDoSB1dGlsaXphZG8gbmEgZXhlY3XDp8OjbyBkYSBhw6fDo28gZG8gaXRlbSBlIG5hIGZ1bsOnw6NvIGRlIGRlc2FiaWxpdGFyLlxuICAgKi9cbiAgb3BlbihwYXJhbT8pIHtcbiAgICB0aGlzLm9sZFRhcmdldCA9IHRoaXMudGFyZ2V0O1xuICAgIHRoaXMucGFyYW0gPSBwYXJhbTtcbiAgICB0aGlzLnNob3dQb3B1cCA9IHRydWU7XG4gICAgdGhpcy5jaGFuZ2VEZXRlY3Rvci5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgdGhpcy52YWxpZGF0ZUluaXRpYWxDb250ZW50KCk7XG4gIH1cblxuICByZXR1cm5Cb29sZWFuVmFsdWUocG9wdXBBY3Rpb246IGFueSwgcHJvcGVydHk6IHN0cmluZykge1xuICAgIHJldHVybiBpc1R5cGVvZihwb3B1cEFjdGlvbltwcm9wZXJ0eV0sICdmdW5jdGlvbicpXG4gICAgICA/IHBvcHVwQWN0aW9uW3Byb3BlcnR5XSh0aGlzLnBhcmFtIHx8IHBvcHVwQWN0aW9uKVxuICAgICAgOiBwb3B1cEFjdGlvbltwcm9wZXJ0eV07XG4gIH1cblxuICAvKipcbiAgICogUmVzcG9uc8OhdmVsIHBvciBhYnJpciBlIGZlY2hhciBvICpwb3B1cCouXG4gICAqXG4gICAqIFF1YW5kbyBkaXNwYXJhZG8gYWJyaXLDoSBvICpwb3B1cCogZSBjYXNvIG8gbWVzbW8gasOhIGVzdGl2ZXIgYWJlcnRvIGUgcG9zc3VpciBvIG1lc21vIGB0YXJnZXRgIGlyw6EgZmVjaGEtbG8uXG4gICAqXG4gICAqIMOJIHBvc3PDrXZlbCBpbmZvcm1hciB1bSBwYXLDom1ldHJvIHF1ZSBzZXLDoSB1dGlsaXphZG8gbmEgZXhlY3XDp8OjbyBkYSBhw6fDo28gZG8gaXRlbSBlIG5hIGZ1bsOnw6NvIGRlIGRlc2FiaWxpdGFyLlxuICAgKi9cbiAgdG9nZ2xlKHBhcmFtPykge1xuICAgIHRoaXMuc2hvd1BvcHVwICYmIHRoaXMub2xkVGFyZ2V0ID09PSB0aGlzLnRhcmdldCA/IHRoaXMuY2xvc2UoKSA6IHRoaXMub3BlbihwYXJhbSk7XG4gIH1cblxuICBwcm90ZWN0ZWQgY2hlY2tBbGxBY3Rpb25Jc0ludmlzaWJsZSgpIHtcbiAgICBpZiAodGhpcy5hY3Rpb25zLmV2ZXJ5KGl0ZW0gPT4gaXRlbS52aXNpYmxlID09PSBmYWxzZSkpIHtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICBwcml2YXRlIGNsaWNrZWRPdXREaXNhYmxlZEl0ZW0oZXZlbnQpIHtcbiAgICBjb25zdCBjb250YWluc0l0ZW1EaXNhYmxlZCA9XG4gICAgICB0aGlzLmVsZW1lbnRDb250YWlucyhldmVudC50YXJnZXQsICdwby1wb3B1cC1pdGVtLWRpc2FibGVkJykgfHxcbiAgICAgIHRoaXMuZWxlbWVudENvbnRhaW5zKGV2ZW50LnRhcmdldC5wYXJlbnRFbGVtZW50LCAncG8tcG9wdXAtaXRlbS1kaXNhYmxlZCcpO1xuXG4gICAgcmV0dXJuICFjb250YWluc0l0ZW1EaXNhYmxlZDtcbiAgfVxuXG4gIHByaXZhdGUgY2xpY2tlZE91dEhlYWRlclRlbXBsYXRlKGV2ZW50KSB7XG4gICAgY29uc3QgcG9wdXBIZWFkZXJUZW1wbGF0ZSA9IHRoaXMucG9wdXBSZWYgJiYgdGhpcy5wb3B1cFJlZi5uYXRpdmVFbGVtZW50LnF1ZXJ5U2VsZWN0b3IoJ1twLXBvcHVwLWhlYWRlci10ZW1wbGF0ZV0nKTtcbiAgICByZXR1cm4gIShwb3B1cEhlYWRlclRlbXBsYXRlICYmIHBvcHVwSGVhZGVyVGVtcGxhdGUuY29udGFpbnMoZXZlbnQudGFyZ2V0KSk7XG4gIH1cblxuICBwcml2YXRlIGNsaWNrZWRPdXRUYXJnZXQoZXZlbnQpIHtcbiAgICByZXR1cm4gdGhpcy50YXJnZXQgJiYgIXRoaXMudGFyZ2V0LmNvbnRhaW5zKGV2ZW50LnRhcmdldCk7XG4gIH1cblxuICBwcml2YXRlIGNsb3NlUG9wdXBPbkNsaWNrb3V0KGV2ZW50OiBNb3VzZUV2ZW50KSB7XG4gICAgaWYgKHRoaXMuY2xpY2tlZE91dFRhcmdldChldmVudCkgJiYgdGhpcy5jbGlja2VkT3V0RGlzYWJsZWRJdGVtKGV2ZW50KSAmJiB0aGlzLmNsaWNrZWRPdXRIZWFkZXJUZW1wbGF0ZShldmVudCkpIHtcbiAgICAgIHRoaXMuY2xvc2UoKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGVsZW1lbnRDb250YWlucyhlbGVtZW50OiBIVE1MRWxlbWVudCwgY2xhc3NOYW1lOiBzdHJpbmcpIHtcbiAgICByZXR1cm4gZWxlbWVudCAmJiBlbGVtZW50LmNsYXNzTGlzdC5jb250YWlucyhjbGFzc05hbWUpO1xuICB9XG5cbiAgcHJpdmF0ZSBoYXNDb250ZW50VG9TaG93KCkge1xuICAgIHJldHVybiAhISh0aGlzLnBvcHVwUmVmPy5uYXRpdmVFbGVtZW50ICYmIHRoaXMubGlzdGJveD8ubmF0aXZlRWxlbWVudCk7XG4gIH1cblxuICBwcml2YXRlIGluaXRpYWxpemVMaXN0ZW5lcnMoKSB7XG4gICAgdGhpcy5yZXNpemVMaXN0ZW5lciA9IHRoaXMucmVuZGVyZXIubGlzdGVuKCd3aW5kb3cnLCAncmVzaXplJywgKCkgPT4ge1xuICAgICAgdGhpcy5jbG9zZSgpO1xuICAgIH0pO1xuXG4gICAgdGhpcy5jbGlja291dExpc3RlbmVyID0gdGhpcy5yZW5kZXJlci5saXN0ZW4oJ2RvY3VtZW50JywgJ2NsaWNrJywgKGV2ZW50OiBNb3VzZUV2ZW50KSA9PiB7XG4gICAgICB0aGlzLmNsb3NlUG9wdXBPbkNsaWNrb3V0KGV2ZW50KTtcbiAgICB9KTtcblxuICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCdzY3JvbGwnLCB0aGlzLm9uU2Nyb2xsLCB0cnVlKTtcbiAgfVxuXG4gIHByaXZhdGUgb25TY3JvbGwgPSAoeyB0YXJnZXQgfSk6IHZvaWQgPT4ge1xuICAgIGlmICh0aGlzLnNob3dQb3B1cCAmJiB0YXJnZXQuY2xhc3NOYW1lICE9PSAncG8tcG9wdXAtY29udGFpbmVyJyAmJiB0aGlzLmFjdGlvbnMubGVuZ3RoIDwgNikge1xuICAgICAgdGhpcy5jbG9zZSgpO1xuICAgIH1cbiAgfTtcblxuICBwcml2YXRlIG9wZW5VcmwodXJsOiBzdHJpbmcpIHtcbiAgICBpZiAoaXNFeHRlcm5hbExpbmsodXJsKSkge1xuICAgICAgcmV0dXJuIG9wZW5FeHRlcm5hbExpbmsodXJsKTtcbiAgICB9XG5cbiAgICBpZiAodXJsKSB7XG4gICAgICByZXR1cm4gdGhpcy5yb3V0ZXIubmF2aWdhdGUoW3VybF0pO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgcmVtb3ZlTGlzdGVuZXJzKCkge1xuICAgIGlmICh0aGlzLmNsaWNrb3V0TGlzdGVuZXIpIHtcbiAgICAgIHRoaXMuY2xpY2tvdXRMaXN0ZW5lcigpO1xuICAgIH1cblxuICAgIGlmICh0aGlzLnJlc2l6ZUxpc3RlbmVyKSB7XG4gICAgICB0aGlzLnJlc2l6ZUxpc3RlbmVyKCk7XG4gICAgfVxuXG4gICAgd2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ3Njcm9sbCcsIHRoaXMub25TY3JvbGwsIHRydWUpO1xuICB9XG5cbiAgcHJpdmF0ZSBzZXRQb3NpdGlvbigpIHtcbiAgICBpZiAodGhpcy5saXN0Ym94Lm5hdGl2ZUVsZW1lbnQucXVlcnlTZWxlY3RvcignLnBvLWxpc3Rib3gnKSkge1xuICAgICAgdGhpcy5wb0NvbnRyb2xQb3NpdGlvbi5zZXRFbGVtZW50cyhcbiAgICAgICAgdGhpcy5wb3B1cFJlZi5uYXRpdmVFbGVtZW50LFxuICAgICAgICA4LFxuICAgICAgICB0aGlzLnRhcmdldCxcbiAgICAgICAgdGhpcy5jdXN0b21Qb3NpdGlvbnMsXG4gICAgICAgIGZhbHNlLFxuICAgICAgICB0aGlzLmlzQ29ybmVyQWxpZ25cbiAgICAgICk7XG4gICAgICB0aGlzLnBvQ29udHJvbFBvc2l0aW9uLmFkanVzdFBvc2l0aW9uKHRoaXMucG9zaXRpb24pO1xuICAgICAgdGhpcy5hcnJvd0RpcmVjdGlvbiA9IHRoaXMucG9Db250cm9sUG9zaXRpb24uZ2V0QXJyb3dEaXJlY3Rpb24oKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIHZhbGlkYXRlSW5pdGlhbENvbnRlbnQoKSB7XG4gICAgaWYgKHRoaXMuaGFzQ29udGVudFRvU2hvdygpKSB7XG4gICAgICB0aGlzLnNldFBvc2l0aW9uKCk7XG4gICAgICB0aGlzLmluaXRpYWxpemVMaXN0ZW5lcnMoKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5jbG9zZSgpO1xuICAgIH1cbiAgfVxufVxuIiwiPGRpdiAjcG9wdXBSZWYgY2xhc3M9XCJwby1wb3B1cFwiICpuZ0lmPVwic2hvd1BvcHVwICYmIGFjdGlvbnMubGVuZ3RoICYmICFjaGVja0FsbEFjdGlvbklzSW52aXNpYmxlKClcIj5cbiAgPGRpdiAqbmdJZj1cIiFoaWRlQXJyb3dcIiBjbGFzcz1cInBvLXBvcHVwLWFycm93IHBvLWFycm93LXt7IGFycm93RGlyZWN0aW9uIH19XCI+PC9kaXY+XG5cbiAgPGRpdiBjbGFzcz1cInBvLXBvcHVwLWNvbnRhaW5lclwiPlxuICAgIDxwby1saXN0Ym94ICNsaXN0Ym94ICNwb0xpc3RCb3hSZWYgcC10eXBlPVwiYWN0aW9uXCIgW3AtaXRlbXNdPVwiYWN0aW9uc1wiIFtwLXBhcmFtXT1cInBhcmFtXCIgKHAtY2xvc2UpPVwiY2xvc2UoKVwiPlxuICAgICAgPGRpdiBwLXBvcHVwLWhlYWRlci10ZW1wbGF0ZT5cbiAgICAgICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiW3AtcG9wdXAtaGVhZGVyLXRlbXBsYXRlXVwiPjwvbmctY29udGVudD5cbiAgICAgIDwvZGl2PlxuICAgIDwvcG8tbGlzdGJveD5cbiAgPC9kaXY+XG48L2Rpdj5cbiJdfQ==
@@ -59,6 +59,9 @@ export class PoTreeViewBaseComponent {
59
59
  _items = [];
60
60
  _selectable = false;
61
61
  _maxLevel = poTreeViewMaxLevel;
62
+ _singleSelect = false;
63
+ // armazena o value do item selecionado
64
+ selectedValue;
62
65
  /**
63
66
  * Lista de itens do tipo `PoTreeViewItem` que será renderizada pelo componente.
64
67
  */
@@ -84,6 +87,21 @@ export class PoTreeViewBaseComponent {
84
87
  get selectable() {
85
88
  return this._selectable;
86
89
  }
90
+ /**
91
+ * @optional
92
+ *
93
+ * @description
94
+ *
95
+ * Habilita a seleção para item único atráves de po-radio.
96
+ *
97
+ * @default false
98
+ */
99
+ set singleSelect(value) {
100
+ this._singleSelect = convertToBoolean(value);
101
+ }
102
+ get singleSelect() {
103
+ return this._singleSelect;
104
+ }
87
105
  /**
88
106
  * @optional
89
107
  *
@@ -107,8 +125,12 @@ export class PoTreeViewBaseComponent {
107
125
  }
108
126
  emitSelected(treeViewItem) {
109
127
  const event = treeViewItem.selected ? 'selected' : 'unselected';
110
- this.updateItemsOnSelect(treeViewItem);
111
- this[event].emit({ ...treeViewItem });
128
+ this.selectedValue = treeViewItem.value;
129
+ // Não emitir subItems quando for singleSelect
130
+ const { subItems, ...rest } = treeViewItem;
131
+ const treeViewToEmit = this.singleSelect ? { ...rest } : treeViewItem;
132
+ this.updateItemsOnSelect(treeViewToEmit);
133
+ this[event].emit({ ...treeViewToEmit });
112
134
  }
113
135
  addChildItemInParent(childItem, parentItem) {
114
136
  if (!parentItem.subItems) {
@@ -127,7 +149,9 @@ export class PoTreeViewBaseComponent {
127
149
  this.expandParentItem(childItem, parentItem);
128
150
  }
129
151
  this.addChildItemInParent(childItem, parentItem);
130
- this.selectItemBySubItems(parentItem);
152
+ if (!this.singleSelect) {
153
+ this.selectItemBySubItems(parentItem);
154
+ }
131
155
  items.push(parentItem);
132
156
  }
133
157
  else {
@@ -139,7 +163,7 @@ export class PoTreeViewBaseComponent {
139
163
  if (item.subItems) {
140
164
  this.selectAllItems(item.subItems, isSelected);
141
165
  }
142
- item.selected = isSelected;
166
+ item.selected = item.isSelectable !== false ? isSelected : false;
143
167
  });
144
168
  }
145
169
  selectItemBySubItems(item) {
@@ -181,6 +205,9 @@ export class PoTreeViewBaseComponent {
181
205
  this.getItemsByMaxLevel(subItems, ++level, currentItem);
182
206
  --level;
183
207
  }
208
+ if (item.selected) {
209
+ this.selectedValue = currentItem.value;
210
+ }
184
211
  this.addItem(newItems, currentItem, parentItem, true);
185
212
  });
186
213
  return newItems;
@@ -196,13 +223,13 @@ export class PoTreeViewBaseComponent {
196
223
  return newItems;
197
224
  }
198
225
  updateItemsOnSelect(selectedItem) {
199
- if (selectedItem.subItems) {
226
+ if (selectedItem.subItems && !this.singleSelect) {
200
227
  this.selectAllItems(selectedItem.subItems, selectedItem.selected);
201
228
  }
202
229
  this._items = this.getItemsWithParentSelected(this.items);
203
230
  }
204
231
  static ɵfac = function PoTreeViewBaseComponent_Factory(t) { return new (t || PoTreeViewBaseComponent)(); };
205
- static ɵdir = /*@__PURE__*/ i0.ɵɵdefineDirective({ type: PoTreeViewBaseComponent, inputs: { inputedItems: ["p-items", "inputedItems"], selectable: ["p-selectable", "selectable"], maxLevel: ["p-max-level", "maxLevel"] }, outputs: { collapsed: "p-collapsed", expanded: "p-expanded", selected: "p-selected", unselected: "p-unselected" } });
232
+ static ɵdir = /*@__PURE__*/ i0.ɵɵdefineDirective({ type: PoTreeViewBaseComponent, inputs: { inputedItems: ["p-items", "inputedItems"], selectable: ["p-selectable", "selectable"], singleSelect: ["p-single-select", "singleSelect"], maxLevel: ["p-max-level", "maxLevel"] }, outputs: { collapsed: "p-collapsed", expanded: "p-expanded", selected: "p-selected", unselected: "p-unselected" } });
206
233
  }
207
234
  (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(PoTreeViewBaseComponent, [{
208
235
  type: Directive
@@ -224,8 +251,11 @@ export class PoTreeViewBaseComponent {
224
251
  }], selectable: [{
225
252
  type: Input,
226
253
  args: ['p-selectable']
254
+ }], singleSelect: [{
255
+ type: Input,
256
+ args: ['p-single-select']
227
257
  }], maxLevel: [{
228
258
  type: Input,
229
259
  args: ['p-max-level']
230
260
  }] }); })();
231
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG8tdHJlZS12aWV3LWJhc2UuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdWkvc3JjL2xpYi9jb21wb25lbnRzL3BvLXRyZWUtdmlldy9wby10cmVlLXZpZXctYmFzZS5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUV2RSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsWUFBWSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7O0FBSWxFLE1BQU0sa0JBQWtCLEdBQUcsQ0FBQyxDQUFDO0FBRTdCOzs7Ozs7Ozs7Ozs7R0FZRztBQUVILE1BQU0sT0FBTyx1QkFBdUI7SUFDbEM7Ozs7Ozs7O09BUUc7SUFDb0IsU0FBUyxHQUFHLElBQUksWUFBWSxFQUFrQixDQUFDO0lBRXRFOzs7Ozs7OztPQVFHO0lBQ21CLFFBQVEsR0FBRyxJQUFJLFlBQVksRUFBa0IsQ0FBQztJQUVwRTs7Ozs7Ozs7T0FRRztJQUNtQixRQUFRLEdBQUcsSUFBSSxZQUFZLEVBQWtCLENBQUM7SUFFcEU7Ozs7Ozs7O09BUUc7SUFDcUIsVUFBVSxHQUFHLElBQUksWUFBWSxFQUFrQixDQUFDO0lBRWhFLE1BQU0sR0FBMEIsRUFBRSxDQUFDO0lBQ25DLFdBQVcsR0FBWSxLQUFLLENBQUM7SUFDN0IsU0FBUyxHQUFHLGtCQUFrQixDQUFDO0lBRXZDOztPQUVHO0lBQ2UsWUFBWSxDQUF3QjtJQUV0RCxJQUFJLEtBQUssQ0FBQyxLQUE0QjtRQUNwQyxJQUFJLENBQUMsTUFBTSxHQUFHLEtBQUssQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO0lBQzNFLENBQUM7SUFF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dUI7Y0FEbkMsU0FBUztnQkFXZSxTQUFTO2tCQUEvQixNQUFNO21CQUFDLGFBQWE7WUFXQyxRQUFRO2tCQUE3QixNQUFNO21CQUFDLFlBQVk7WUFXRSxRQUFRO2tCQUE3QixNQUFNO21CQUFDLFlBQVk7WUFXSSxVQUFVO2tCQUFqQyxNQUFNO21CQUFDLGNBQWM7WUFTSixZQUFZO2tCQUE3QixLQUFLO21CQUFDLFNBQVM7WUFtQlcsVUFBVTtrQkFBcEMsS0FBSzttQkFBQyxjQUFjO1lBbUJLLFFBQVE7a0JBQWpDLEtBQUs7bUJBQUMsYUFBYSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEV2ZW50RW1pdHRlciwgSW5wdXQsIE91dHB1dCwgRGlyZWN0aXZlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IGNvbnZlcnRUb0Jvb2xlYW4sIGNvbnZlcnRUb0ludCB9IGZyb20gJy4uLy4uL3V0aWxzL3V0aWwnO1xuXG5pbXBvcnQgeyBQb1RyZWVWaWV3SXRlbSB9IGZyb20gJy4vcG8tdHJlZS12aWV3LWl0ZW0vcG8tdHJlZS12aWV3LWl0ZW0uaW50ZXJmYWNlJztcblxuY29uc3QgcG9UcmVlVmlld01heExldmVsID0gNDtcblxuLyoqXG4gKiBAZGVzY3JpcHRpb25cbiAqXG4gKiBPIGNvbXBvbmVudGUgZm9ybmVjZSB1bSBtb2RlbG8gZGUgdmlzdWFsaXphw6fDo28gZW0gw6Fydm9yZSwgcG9zc2liaWxpdGFuZG8gYSB2aXN1YWxpemHDp8OjbyBkYXMgaW5mb3JtYcOnw7VlcyBkZSBtYW5laXJhXG4gKiBoaWVyw6FycXVpY2EsIGRlc3RhIGZvcm1hIHNlbmRvIHBvc3PDrXZlbCB1dGlsaXphciBhdMOpIDQgbsOtdmVpcy5cbiAqXG4gKiBOZWxlIMOpIHBvc3PDrXZlbCBuYXZlZ2FyIGVudHJlIG9zIGl0ZW5zIGF0cmF2w6lzIGRhIHRlY2xhICp0YWIqLCBwZXJtaXRpbmRvIGV4cGFuZGlyIG91IGNvbGFwc2FyIG8gaXRlbSBlbSBmb2NvXG4gKiBwb3IgbWVpbyBkYXMgdGVjbGFzICplbnRlciogZSAqc3BhY2UqLlxuICpcbiAqIEFsw6ltIGRhIG5hdmVnYcOnw6NvLCBvIGNvbXBvbmVudGUgcG9zc2liaWxpdGEgdGFtYsOpbSBhIHNlbGXDp8OjbyBkb3MgaXRlbnMgZG8gcHJpbWVpcm8gYW8gw7psdGltbyBuw612ZWwsIHRhbnRvIGRlIGZvcm1hIHBhcmNpYWwgY29tbyBjb21wbGV0YS5cbiAqXG4gKiBPIGNvbXBvbmVudGUgdGFtYsOpbSBwb3NzdWkgZXZlbnRvcyBkaXNwYXJhZG9zIGFvIG1hcmNhci9kZXNtYXJjYXIgZSBleHBhbmRpci9jb2xhcHNhciBvcyBpdGVucy5cbiAqL1xuQERpcmVjdGl2ZSgpXG5leHBvcnQgY2xhc3MgUG9UcmVlVmlld0Jhc2VDb21wb25lbnQge1xuICAvKipcbiAgICogQG9wdGlvbmFsXG4gICAqXG4gICAqIEBkZXNjcmlwdGlvblxuICAgKlxuICAgKiBBw6fDo28gcXVlIHNlcsOhIGRpc3BhcmFkYSBhbyBjb2xhcHNhciB1bSBpdGVtLlxuICAgKlxuICAgKiA+IENvbW8gcGFyw6JtZXRybyBvIGNvbXBvbmVudGUgZW52aWEgbyBpdGVtIGNvbGFwc2Fkby5cbiAgICovXG4gIEBPdXRwdXQoJ3AtY29sbGFwc2VkJykgY29sbGFwc2VkID0gbmV3IEV2ZW50RW1pdHRlcjxQb1RyZWVWaWV3SXRlbT4oKTtcblxuICAvKipcbiAgICogQG9wdGlvbmFsXG4gICAqXG4gICAqIEBkZXNjcmlwdGlvblxuICAgKlxuICAgKiBBw6fDo28gcXVlIHNlcsOhIGRpc3BhcmFkYSBhbyBleHBhbmRpciB1bSBpdGVtLlxuICAgKlxuICAgKiA+IENvbW8gcGFyw6JtZXRybyBvIGNvbXBvbmVudGUgZW52aWEgbyBpdGVtIGV4cGFuZGlkby5cbiAgICovXG4gIEBPdXRwdXQoJ3AtZXhwYW5kZWQnKSBleHBhbmRlZCA9IG5ldyBFdmVudEVtaXR0ZXI8UG9UcmVlVmlld0l0ZW0+KCk7XG5cbiAgLyoqXG4gICAqIEBvcHRpb25hbFxuICAgKlxuICAgKiBAZGVzY3JpcHRpb25cbiAgICpcbiAgICogQcOnw6NvIHF1ZSBzZXLDoSBkaXNwYXJhZGEgYW8gc2VsZWNpb25hciB1bSBpdGVtLlxuICAgKlxuICAgKiA+IENvbW8gcGFyw6JtZXRybyBvIGNvbXBvbmVudGUgZW52aWEgbyBpdGVtIHNlbGVjaW9uYWRvLlxuICAgKi9cbiAgQE91dHB1dCgncC1zZWxlY3RlZCcpIHNlbGVjdGVkID0gbmV3IEV2ZW50RW1pdHRlcjxQb1RyZWVWaWV3SXRlbT4oKTtcblxuICAvKipcbiAgICogQG9wdGlvbmFsXG4gICAqXG4gICAqIEBkZXNjcmlwdGlvblxuICAgKlxuICAgKiBBw6fDo28gcXVlIHNlcsOhIGRpc3BhcmFkYSBhbyBkZXNmYXplciBhIHNlbGXDp8OjbyBkZSB1bSBpdGVtLlxuICAgKlxuICAgKiA+IENvbW8gcGFyw6JtZXRybyBvIGNvbXBvbmVudGUgZW52aWEgbyBpdGVtIHF1ZSBmb2kgZGVzbWFyY2Fkby5cbiAgICovXG4gIEBPdXRwdXQoJ3AtdW5zZWxlY3RlZCcpIHVuc2VsZWN0ZWQgPSBuZXcgRXZlbnRFbWl0dGVyPFBvVHJlZVZpZXdJdGVtPigpO1xuXG4gIHByaXZhdGUgX2l0ZW1zOiBBcnJheTxQb1RyZWVWaWV3SXRlbT4gPSBbXTtcbiAgcHJpdmF0ZSBfc2VsZWN0YWJsZTogYm9vbGVhbiA9IGZhbHNlO1xuICBwcml2YXRlIF9tYXhMZXZlbCA9IHBvVHJlZVZpZXdNYXhMZXZlbDtcblxuICAvKipcbiAgICogTGlzdGEgZGUgaXRlbnMgZG8gdGlwbyBgUG9UcmVlVmlld0l0ZW1gIHF1ZSBzZXLDoSByZW5kZXJpemFkYSBwZWxvIGNvbXBvbmVudGUuXG4gICAqL1xuICBASW5wdXQoJ3AtaXRlbXMnKSBpbnB1dGVkSXRlbXM6IEFycmF5PFBvVHJlZVZpZXdJdGVtPjtcblxuICBzZXQgaXRlbXModmFsdWU6IEFycmF5PFBvVHJlZVZpZXdJdGVtPikge1xuICAgIHRoaXMuX2l0ZW1zID0gQXJyYXkuaXNBcnJheSh2YWx1ZSkgPyB0aGlzLmdldEl0ZW1zQnlNYXhMZXZlbCh2YWx1ZSkgOiBbXTtcbiAgfVxuXG4gIGdldCBpdGVtcygpIHtcbiAgICByZXR1cm4gdGhpcy5faXRlbXM7XG4gIH1cblxuICAvKipcbiAgICogQG9wdGlvbmFsXG4gICAqXG4gICAqIEBkZXNjcmlwdGlvblxuICAgKlxuICAgKiBIYWJpbGl0YSB1bWEgY2FpeGEgZGUgc2VsZcOnw6NvIHBhcmEgc2VsZWNpb25hciBlL291IGRlc21hcmNhciB1bSBpdGVtIGRhIGxpc3RhLlxuICAgKlxuICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgKi9cbiAgQElucHV0KCdwLXNlbGVjdGFibGUnKSBzZXQgc2VsZWN0YWJsZSh2YWx1ZTogYm9vbGVhbikge1xuICAgIHRoaXMuX3NlbGVjdGFibGUgPSBjb252ZXJ0VG9Cb29sZWFuKHZhbHVlKTtcbiAgfVxuXG4gIGdldCBzZWxlY3RhYmxlKCkge1xuICAgIHJldHVybiB0aGlzLl9zZWxlY3RhYmxlO1xuICB9XG5cbiAgLyoqXG4gICAqIEBvcHRpb25hbFxuICAgKlxuICAgKiBAZGVzY3JpcHRpb25cbiAgICpcbiAgICogRGVmaW5lIG8gbcOheGltbyBkZSBuw612ZWlzIHBhcmEgbyB0cmVlLXZpZXcuXG4gICAqXG4gICAqID4gTyB2YWxvciBwYWRyw6NvIMOpIDRcbiAgICpcbiAgICogQGRlZmF1bHQgNFxuICAgKi9cbiAgQElucHV0KCdwLW1heC1sZXZlbCcpIHNldCBtYXhMZXZlbCh2YWx1ZTogbnVtYmVyKSB7XG4gICAgdGhpcy5fbWF4TGV2ZWwgPSBjb252ZXJ0VG9JbnQodmFsdWUsIHBvVHJlZVZpZXdNYXhMZXZlbCk7XG4gIH1cblxuICBnZXQgbWF4TGV2ZWwoKSB7XG4gICAgcmV0dXJuIHRoaXMuX21heExldmVsO1xuICB9XG5cbiAgcHJvdGVjdGVkIGVtaXRFeHBhbmRlZCh0cmVlVmlld0l0ZW06IFBvVHJlZVZpZXdJdGVtKSB7XG4gICAgY29uc3QgZXZlbnQgPSB0cmVlVmlld0l0ZW0uZXhwYW5kZWQgPyAnZXhwYW5kZWQnIDogJ2NvbGxhcHNlZCc7XG5cbiAgICB0aGlzW2V2ZW50XS5lbWl0KHsgLi4udHJlZVZpZXdJdGVtIH0pO1xuICB9XG5cbiAgcHJvdGVjdGVkIGVtaXRTZWxlY3RlZCh0cmVlVmlld0l0ZW06IFBvVHJlZVZpZXdJdGVtKSB7XG4gICAgY29uc3QgZXZlbnQgPSB0cmVlVmlld0l0ZW0uc2VsZWN0ZWQgPyAnc2VsZWN0ZWQnIDogJ3Vuc2VsZWN0ZWQnO1xuXG4gICAgdGhpcy51cGRhdGVJdGVtc09uU2VsZWN0KHRyZWVWaWV3SXRlbSk7XG5cbiAgICB0aGlzW2V2ZW50XS5lbWl0KHsgLi4udHJlZVZpZXdJdGVtIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBhZGRDaGlsZEl0ZW1JblBhcmVudChjaGlsZEl0ZW06IFBvVHJlZVZpZXdJdGVtLCBwYXJlbnRJdGVtOiBQb1RyZWVWaWV3SXRlbSkge1xuICAgIGlmICghcGFyZW50SXRlbS5zdWJJdGVtcykge1xuICAgICAgcGFyZW50SXRlbS5zdWJJdGVtcyA9IFtdO1xuICAgIH1cblxuICAgIHBhcmVudEl0ZW0uc3ViSXRlbXMucHVzaChjaGlsZEl0ZW0pO1xuICB9XG5cbiAgLy8gY2FzbyBob3V2ZXIgcGFyZW50SXRlbTpcbiAgLy8gIC0gZXhwYW5kZSBvIHBhcmVudEl0ZW0gY2FzbyBvIGZpbGhvIGVzdGl2ZXIgZXhwYW5kaWRvO1xuICAvLyAgLSBhZGljaW9uYSBvIGNoaWxkSXRlbSBubyBwYXJlbnRJdGVtO1xuICAvLyAgLSBtYXJjYSBvIHBhcmVudEl0ZW0gY2FzbyBjb250ZXIgc3ViSXRlbXMgbWFyY29kb3Mgb3UgbnVsb3M7XG4gIC8vIFNlIG7Do28gY29udGVyIHBhcmVudEl0ZW0sIGFkaWNpb25hIG8gY2hpbGRJdGVtIG5vIGl0ZW1zLlxuICBwcml2YXRlIGFkZEl0ZW0oaXRlbXM6IEFycmF5PFBvVHJlZVZpZXdJdGVtPiwgY2hpbGRJdGVtOiBQb1RyZWVWaWV3SXRlbSwgcGFyZW50SXRlbT86IFBvVHJlZVZpZXdJdGVtLCBpc05ld0l0ZW0/KSB7XG4gICAgaWYgKHBhcmVudEl0ZW0pIHtcbiAgICAgIGlmIChpc05ld0l0ZW0pIHtcbiAgICAgICAgdGhpcy5leHBhbmRQYXJlbnRJdGVtKGNoaWxkSXRlbSwgcGFyZW50SXRlbSk7XG4gICAgICB9XG4gICAgICB0aGlzLmFkZENoaWxkSXRlbUluUGFyZW50KGNoaWxkSXRlbSwgcGFyZW50SXRlbSk7XG4gICAgICB0aGlzLnNlbGVjdEl0ZW1CeVN1Ykl0ZW1zKHBhcmVudEl0ZW0pO1xuXG4gICAgICBpdGVtcy5wdXNoKHBhcmVudEl0ZW0pO1xuICAgIH0gZWxzZSB7XG4gICAgICBpdGVtcy5wdXNoKGNoaWxkSXRlbSk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBzZWxlY3RBbGxJdGVtcyhpdGVtczogQXJyYXk8UG9UcmVlVmlld0l0ZW0+LCBpc1NlbGVjdGVkOiBib29sZWFuKSB7XG4gICAgaXRlbXMuZm9yRWFjaChpdGVtID0+IHtcbiAgICAgIGlmIChpdGVtLnN1Ykl0ZW1zKSB7XG4gICAgICAgIHRoaXMuc2VsZWN0QWxsSXRlbXMoaXRlbS5zdWJJdGVtcywgaXNTZWxlY3RlZCk7XG4gICAgICB9XG5cbiAgICAgIGl0ZW0uc2VsZWN0ZWQgPSBpc1NlbGVjdGVkO1xuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBzZWxlY3RJdGVtQnlTdWJJdGVtcyhpdGVtOiBQb1RyZWVWaWV3SXRlbSkge1xuICAgIGl0ZW0uc2VsZWN0ZWQgPSB0aGlzLmV2ZXJ5SXRlbVNlbGVjdGVkKGl0ZW0uc3ViSXRlbXMpO1xuICB9XG5cbiAgLy8gcmV0b3JuYXLDoTpcbiAgLy8gIC0gdHJ1ZTogc2UgdG9kb3Mgb3MgaXRlbXMgZXN0aXZlcmVtIG1hcmNhZG9zO1xuICAvLyAgLSBudWxsOiBzZSBubyBtaW5pbW8gdW0gaXRlbSBlc3RlamEgbWFyY2FkbyBvdSBudWxsbyAoaW5kZXRlcm1pbmF0ZSlcbiAgLy8gIC0gZmFsc2U6IGNhc28gbsOjbyBjb3JyZXNwb25kYSBlbSBuZW5odW1hIGRhcyBvcMOnw7VlcyBhY2ltYSwgbm8gY2FzbywgbmVuaHVtIG1hcmNhZG8gb3UgbnVsbztcbiAgcHJpdmF0ZSBldmVyeUl0ZW1TZWxlY3RlZChpdGVtczogQXJyYXk8UG9UcmVlVmlld0l0ZW0+ID0gW10pOiBib29sZWFuIHwgbnVsbCB7XG4gICAgY29uc3QgaXRlbXNMZW5ndGggPSBpdGVtcy5sZW5ndGg7XG5cbiAgICBjb25zdCBsZW5ndGhDaGVja2VkSXRlbXMgPSBpdGVtcy5maWx0ZXIoaXRlbSA9PiBpdGVtLnNlbGVjdGVkKS5sZW5ndGg7XG5cbiAgICBpZiAoaXRlbXNMZW5ndGggJiYgaXRlbXNMZW5ndGggPT09IGxlbmd0aENoZWNrZWRJdGVtcykge1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuXG4gICAgY29uc3QgaGFzSW5kZXRlcm1pbmF0ZUl0ZW1zID0gaXRlbXMuZmlsdGVyKGl0ZW0gPT4gaXRlbS5zZWxlY3RlZCB8fCBpdGVtLnNlbGVjdGVkID09PSBudWxsKS5sZW5ndGg7XG5cbiAgICBpZiAoaGFzSW5kZXRlcm1pbmF0ZUl0ZW1zKSB7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG5cbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICAvLyBleHBhbmRlIG8gaXRlbSBwYWkgY2FzbyBvIGZpbGhvIGVzdGl2ZXIgZXhwYW5kaWRvLlxuICBwcml2YXRlIGV4cGFuZFBhcmVudEl0ZW0oY2hpbGRJdGVtOiBQb1RyZWVWaWV3SXRlbSwgcGFyZW50SXRlbTogUG9UcmVlVmlld0l0ZW0pIHtcbiAgICBpZiAoY2hpbGRJdGVtLmV4cGFuZGVkKSB7XG4gICAgICBwYXJlbnRJdGVtLmV4cGFuZGVkID0gdHJ1ZTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGdldEl0ZW1zQnlNYXhMZXZlbChcbiAgICBpdGVtczogQXJyYXk8UG9UcmVlVmlld0l0ZW0+ID0gW10sXG4gICAgbGV2ZWw6IG51bWJlciA9IDAsXG4gICAgcGFyZW50SXRlbT86IFBvVHJlZVZpZXdJdGVtLFxuICAgIG5ld0l0ZW1zID0gW11cbiAgKSB7XG4gICAgaXRlbXMuZm9yRWFjaChpdGVtID0+IHtcbiAgICAgIGNvbnN0IHsgc3ViSXRlbXMsIC4uLmN1cnJlbnRJdGVtIH0gPSBpdGVtO1xuXG4gICAgICBpZiAobGV2ZWwgPT09IHRoaXMubWF4TGV2ZWwpIHtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuXG4gICAgICBpZiAoQXJyYXkuaXNBcnJheShzdWJJdGVtcykpIHtcbiAgICAgICAgLy8gY2FzbyB1bSBpdGVtIHBhaSBpbmljaWFyIHNlbGVjaW9uYWRvLCBkZXZlIHNlbGVjaW9uYXIgb3MgZmlsaG9zLlxuICAgICAgICBpZiAoY3VycmVudEl0ZW0uc2VsZWN0ZWQpIHtcbiAgICAgICAgICB0aGlzLnNlbGVjdEFsbEl0ZW1zKHN1Ykl0ZW1zLCBjdXJyZW50SXRlbS5zZWxlY3RlZCk7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLmdldEl0ZW1zQnlNYXhMZXZlbChzdWJJdGVtcywgKytsZXZlbCwgY3VycmVudEl0ZW0pO1xuICAgICAgICAtLWxldmVsO1xuICAgICAgfVxuXG4gICAgICB0aGlzLmFkZEl0ZW0obmV3SXRlbXMsIGN1cnJlbnRJdGVtLCBwYXJlbnRJdGVtLCB0cnVlKTtcbiAgICB9KTtcblxuICAgIHJldHVybiBuZXdJdGVtcztcbiAgfVxuXG4gIHByaXZhdGUgZ2V0SXRlbXNXaXRoUGFyZW50U2VsZWN0ZWQoaXRlbXM6IEFycmF5PFBvVHJlZVZpZXdJdGVtPiA9IFtdLCBwYXJlbnRJdGVtPzogUG9UcmVlVmlld0l0ZW0sIG5ld0l0ZW1zID0gW10pIHtcbiAgICBpdGVtcy5mb3JFYWNoKGl0ZW0gPT4ge1xuICAgICAgY29uc3QgeyBzdWJJdGVtcywgLi4uY3VycmVudEl0ZW0gfSA9IGl0ZW07XG5cbiAgICAgIGlmIChBcnJheS5pc0FycmF5KHN1Ykl0ZW1zKSkge1xuICAgICAgICB0aGlzLmdldEl0ZW1zV2l0aFBhcmVudFNlbGVjdGVkKHN1Ykl0ZW1zLCBjdXJyZW50SXRlbSk7XG4gICAgICB9XG5cbiAgICAgIHRoaXMuYWRkSXRlbShuZXdJdGVtcywgY3VycmVudEl0ZW0sIHBhcmVudEl0ZW0pO1xuICAgIH0pO1xuXG4gICAgcmV0dXJuIG5ld0l0ZW1zO1xuICB9XG5cbiAgcHJpdmF0ZSB1cGRhdGVJdGVtc09uU2VsZWN0KHNlbGVjdGVkSXRlbTogUG9UcmVlVmlld0l0ZW0pIHtcbiAgICBpZiAoc2VsZWN0ZWRJdGVtLnN1Ykl0ZW1zKSB7XG4gICAgICB0aGlzLnNlbGVjdEFsbEl0ZW1zKHNlbGVjdGVkSXRlbS5zdWJJdGVtcywgc2VsZWN0ZWRJdGVtLnNlbGVjdGVkKTtcbiAgICB9XG5cbiAgICB0aGlzLl9pdGVtcyA9IHRoaXMuZ2V0SXRlbXNXaXRoUGFyZW50U2VsZWN0ZWQodGhpcy5pdGVtcyk7XG4gIH1cbn1cbiJdfQ==
261
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG8tdHJlZS12aWV3LWJhc2UuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdWkvc3JjL2xpYi9jb21wb25lbnRzL3BvLXRyZWUtdmlldy9wby10cmVlLXZpZXctYmFzZS5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUV2RSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsWUFBWSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7O0FBSWxFLE1BQU0sa0JBQWtCLEdBQUcsQ0FBQyxDQUFDO0FBRTdCOzs7Ozs7Ozs7Ozs7R0FZRztBQUVILE1BQU0sT0FBTyx1QkFBdUI7SUFDbEM7Ozs7Ozs7O09BUUc7SUFDb0IsU0FBUyxHQUFHLElBQUksWUFBWSxFQUFrQixDQUFDO0lBRXRFOzs7Ozs7OztPQVFHO0lBQ21CLFFBQVEsR0FBRyxJQUFJLFlBQVksRUFBa0IsQ0FBQztJQUVwRTs7Ozs7Ozs7T0FRRztJQUNtQixRQUFRLEdBQUcsSUFBSSxZQUFZLEVBQWtCLENBQUM7SUFFcEU7Ozs7Ozs7O09BUUc7SUFDcUIsVUFBVSxHQUFHLElBQUksWUFBWSxFQUFrQixDQUFDO0lBRWhFLE1BQU0sR0FBMEIsRUFBRSxDQUFDO0lBQ25DLFdBQVcsR0FBWSxLQUFLLENBQUM7SUFDN0IsU0FBUyxHQUFHLGtCQUFrQixDQUFDO0lBQy9CLGFBQWEsR0FBWSxLQUFLLENBQUM7SUFFdkMsdUNBQXVDO0lBQ3ZDLGFBQWEsQ0FBa0I7SUFFL0I7O09BRUc7SUFDZSxZQUFZLENBQXdCO0lBRXRELElBQUksS0FBSyxDQUFDLEtBQTRCO1FBQ3BDLElBQUksQ0FBQyxNQUFNLEdBQUcsS0FBSyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLGtCQUFr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O2tCQUFqQyxLQUFLO21CQUFDLGFBQWEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBFdmVudEVtaXR0ZXIsIElucHV0LCBPdXRwdXQsIERpcmVjdGl2ZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBjb252ZXJ0VG9Cb29sZWFuLCBjb252ZXJ0VG9JbnQgfSBmcm9tICcuLi8uLi91dGlscy91dGlsJztcblxuaW1wb3J0IHsgUG9UcmVlVmlld0l0ZW0gfSBmcm9tICcuL3BvLXRyZWUtdmlldy1pdGVtL3BvLXRyZWUtdmlldy1pdGVtLmludGVyZmFjZSc7XG5cbmNvbnN0IHBvVHJlZVZpZXdNYXhMZXZlbCA9IDQ7XG5cbi8qKlxuICogQGRlc2NyaXB0aW9uXG4gKlxuICogTyBjb21wb25lbnRlIGZvcm5lY2UgdW0gbW9kZWxvIGRlIHZpc3VhbGl6YcOnw6NvIGVtIMOhcnZvcmUsIHBvc3NpYmlsaXRhbmRvIGEgdmlzdWFsaXphw6fDo28gZGFzIGluZm9ybWHDp8O1ZXMgZGUgbWFuZWlyYVxuICogaGllcsOhcnF1aWNhLCBkZXN0YSBmb3JtYSBzZW5kbyBwb3Nzw612ZWwgdXRpbGl6YXIgYXTDqSA0IG7DrXZlaXMuXG4gKlxuICogTmVsZSDDqSBwb3Nzw612ZWwgbmF2ZWdhciBlbnRyZSBvcyBpdGVucyBhdHJhdsOpcyBkYSB0ZWNsYSAqdGFiKiwgcGVybWl0aW5kbyBleHBhbmRpciBvdSBjb2xhcHNhciBvIGl0ZW0gZW0gZm9jb1xuICogcG9yIG1laW8gZGFzIHRlY2xhcyAqZW50ZXIqIGUgKnNwYWNlKi5cbiAqXG4gKiBBbMOpbSBkYSBuYXZlZ2HDp8OjbywgbyBjb21wb25lbnRlIHBvc3NpYmlsaXRhIHRhbWLDqW0gYSBzZWxlw6fDo28gZG9zIGl0ZW5zIGRvIHByaW1laXJvIGFvIMO6bHRpbW8gbsOtdmVsLCB0YW50byBkZSBmb3JtYSBwYXJjaWFsIGNvbW8gY29tcGxldGEuXG4gKlxuICogTyBjb21wb25lbnRlIHRhbWLDqW0gcG9zc3VpIGV2ZW50b3MgZGlzcGFyYWRvcyBhbyBtYXJjYXIvZGVzbWFyY2FyIGUgZXhwYW5kaXIvY29sYXBzYXIgb3MgaXRlbnMuXG4gKi9cbkBEaXJlY3RpdmUoKVxuZXhwb3J0IGNsYXNzIFBvVHJlZVZpZXdCYXNlQ29tcG9uZW50IHtcbiAgLyoqXG4gICAqIEBvcHRpb25hbFxuICAgKlxuICAgKiBAZGVzY3JpcHRpb25cbiAgICpcbiAgICogQcOnw6NvIHF1ZSBzZXLDoSBkaXNwYXJhZGEgYW8gY29sYXBzYXIgdW0gaXRlbS5cbiAgICpcbiAgICogPiBDb21vIHBhcsOibWV0cm8gbyBjb21wb25lbnRlIGVudmlhIG8gaXRlbSBjb2xhcHNhZG8uXG4gICAqL1xuICBAT3V0cHV0KCdwLWNvbGxhcHNlZCcpIGNvbGxhcHNlZCA9IG5ldyBFdmVudEVtaXR0ZXI8UG9UcmVlVmlld0l0ZW0+KCk7XG5cbiAgLyoqXG4gICAqIEBvcHRpb25hbFxuICAgKlxuICAgKiBAZGVzY3JpcHRpb25cbiAgICpcbiAgICogQcOnw6NvIHF1ZSBzZXLDoSBkaXNwYXJhZGEgYW8gZXhwYW5kaXIgdW0gaXRlbS5cbiAgICpcbiAgICogPiBDb21vIHBhcsOibWV0cm8gbyBjb21wb25lbnRlIGVudmlhIG8gaXRlbSBleHBhbmRpZG8uXG4gICAqL1xuICBAT3V0cHV0KCdwLWV4cGFuZGVkJykgZXhwYW5kZWQgPSBuZXcgRXZlbnRFbWl0dGVyPFBvVHJlZVZpZXdJdGVtPigpO1xuXG4gIC8qKlxuICAgKiBAb3B0aW9uYWxcbiAgICpcbiAgICogQGRlc2NyaXB0aW9uXG4gICAqXG4gICAqIEHDp8OjbyBxdWUgc2Vyw6EgZGlzcGFyYWRhIGFvIHNlbGVjaW9uYXIgdW0gaXRlbS5cbiAgICpcbiAgICogPiBDb21vIHBhcsOibWV0cm8gbyBjb21wb25lbnRlIGVudmlhIG8gaXRlbSBzZWxlY2lvbmFkby5cbiAgICovXG4gIEBPdXRwdXQoJ3Atc2VsZWN0ZWQnKSBzZWxlY3RlZCA9IG5ldyBFdmVudEVtaXR0ZXI8UG9UcmVlVmlld0l0ZW0+KCk7XG5cbiAgLyoqXG4gICAqIEBvcHRpb25hbFxuICAgKlxuICAgKiBAZGVzY3JpcHRpb25cbiAgICpcbiAgICogQcOnw6NvIHF1ZSBzZXLDoSBkaXNwYXJhZGEgYW8gZGVzZmF6ZXIgYSBzZWxlw6fDo28gZGUgdW0gaXRlbS5cbiAgICpcbiAgICogPiBDb21vIHBhcsOibWV0cm8gbyBjb21wb25lbnRlIGVudmlhIG8gaXRlbSBxdWUgZm9pIGRlc21hcmNhZG8uXG4gICAqL1xuICBAT3V0cHV0KCdwLXVuc2VsZWN0ZWQnKSB1bnNlbGVjdGVkID0gbmV3IEV2ZW50RW1pdHRlcjxQb1RyZWVWaWV3SXRlbT4oKTtcblxuICBwcml2YXRlIF9pdGVtczogQXJyYXk8UG9UcmVlVmlld0l0ZW0+ID0gW107XG4gIHByaXZhdGUgX3NlbGVjdGFibGU6IGJvb2xlYW4gPSBmYWxzZTtcbiAgcHJpdmF0ZSBfbWF4TGV2ZWwgPSBwb1RyZWVWaWV3TWF4TGV2ZWw7XG4gIHByaXZhdGUgX3NpbmdsZVNlbGVjdDogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIC8vIGFybWF6ZW5hIG8gdmFsdWUgZG8gaXRlbSBzZWxlY2lvbmFkb1xuICBzZWxlY3RlZFZhbHVlOiBzdHJpbmcgfCBudW1iZXI7XG5cbiAgLyoqXG4gICAqIExpc3RhIGRlIGl0ZW5zIGRvIHRpcG8gYFBvVHJlZVZpZXdJdGVtYCBxdWUgc2Vyw6EgcmVuZGVyaXphZGEgcGVsbyBjb21wb25lbnRlLlxuICAgKi9cbiAgQElucHV0KCdwLWl0ZW1zJykgaW5wdXRlZEl0ZW1zOiBBcnJheTxQb1RyZWVWaWV3SXRlbT47XG5cbiAgc2V0IGl0ZW1zKHZhbHVlOiBBcnJheTxQb1RyZWVWaWV3SXRlbT4pIHtcbiAgICB0aGlzLl9pdGVtcyA9IEFycmF5LmlzQXJyYXkodmFsdWUpID8gdGhpcy5nZXRJdGVtc0J5TWF4TGV2ZWwodmFsdWUpIDogW107XG4gIH1cblxuICBnZXQgaXRlbXMoKSB7XG4gICAgcmV0dXJuIHRoaXMuX2l0ZW1zO1xuICB9XG5cbiAgLyoqXG4gICAqIEBvcHRpb25hbFxuICAgKlxuICAgKiBAZGVzY3JpcHRpb25cbiAgICpcbiAgICogSGFiaWxpdGEgdW1hIGNhaXhhIGRlIHNlbGXDp8OjbyBwYXJhIHNlbGVjaW9uYXIgZS9vdSBkZXNtYXJjYXIgdW0gaXRlbSBkYSBsaXN0YS5cbiAgICpcbiAgICogQGRlZmF1bHQgZmFsc2VcbiAgICovXG4gIEBJbnB1dCgncC1zZWxlY3RhYmxlJykgc2V0IHNlbGVjdGFibGUodmFsdWU6IGJvb2xlYW4pIHtcbiAgICB0aGlzLl9zZWxlY3RhYmxlID0gY29udmVydFRvQm9vbGVhbih2YWx1ZSk7XG4gIH1cblxuICBnZXQgc2VsZWN0YWJsZSgpIHtcbiAgICByZXR1cm4gdGhpcy5fc2VsZWN0YWJsZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBAb3B0aW9uYWxcbiAgICpcbiAgICogQGRlc2NyaXB0aW9uXG4gICAqXG4gICAqIEhhYmlsaXRhIGEgc2VsZcOnw6NvIHBhcmEgaXRlbSDDum5pY28gYXRyw6F2ZXMgZGUgcG8tcmFkaW8uXG4gICAqXG4gICAqIEBkZWZhdWx0IGZhbHNlXG4gICAqL1xuICBASW5wdXQoJ3Atc2luZ2xlLXNlbGVjdCcpIHNldCBzaW5nbGVTZWxlY3QodmFsdWU6IGJvb2xlYW4pIHtcbiAgICB0aGlzLl9zaW5nbGVTZWxlY3QgPSBjb252ZXJ0VG9Cb29sZWFuKHZhbHVlKTtcbiAgfVxuXG4gIGdldCBzaW5nbGVTZWxlY3QoKSB7XG4gICAgcmV0dXJuIHRoaXMuX3NpbmdsZVNlbGVjdDtcbiAgfVxuXG4gIC8qKlxuICAgKiBAb3B0aW9uYWxcbiAgICpcbiAgICogQGRlc2NyaXB0aW9uXG4gICAqXG4gICAqIERlZmluZSBvIG3DoXhpbW8gZGUgbsOtdmVpcyBwYXJhIG8gdHJlZS12aWV3LlxuICAgKlxuICAgKiA+IE8gdmFsb3IgcGFkcsOjbyDDqSA0XG4gICAqXG4gICAqIEBkZWZhdWx0IDRcbiAgICovXG4gIEBJbnB1dCgncC1tYXgtbGV2ZWwnKSBzZXQgbWF4TGV2ZWwodmFsdWU6IG51bWJlcikge1xuICAgIHRoaXMuX21heExldmVsID0gY29udmVydFRvSW50KHZhbHVlLCBwb1RyZWVWaWV3TWF4TGV2ZWwpO1xuICB9XG5cbiAgZ2V0IG1heExldmVsKCkge1xuICAgIHJldHVybiB0aGlzLl9tYXhMZXZlbDtcbiAgfVxuXG4gIHByb3RlY3RlZCBlbWl0RXhwYW5kZWQodHJlZVZpZXdJdGVtOiBQb1RyZWVWaWV3SXRlbSkge1xuICAgIGNvbnN0IGV2ZW50ID0gdHJlZVZpZXdJdGVtLmV4cGFuZGVkID8gJ2V4cGFuZGVkJyA6ICdjb2xsYXBzZWQnO1xuXG4gICAgdGhpc1tldmVudF0uZW1pdCh7IC4uLnRyZWVWaWV3SXRlbSB9KTtcbiAgfVxuXG4gIHByb3RlY3RlZCBlbWl0U2VsZWN0ZWQodHJlZVZpZXdJdGVtOiBQb1RyZWVWaWV3SXRlbSkge1xuICAgIGNvbnN0IGV2ZW50ID0gdHJlZVZpZXdJdGVtLnNlbGVjdGVkID8gJ3NlbGVjdGVkJyA6ICd1bnNlbGVjdGVkJztcblxuICAgIHRoaXMuc2VsZWN0ZWRWYWx1ZSA9IHRyZWVWaWV3SXRlbS52YWx1ZTtcblxuICAgIC8vIE7Do28gZW1pdGlyIHN1Ykl0ZW1zIHF1YW5kbyBmb3Igc2luZ2xlU2VsZWN0XG4gICAgY29uc3QgeyBzdWJJdGVtcywgLi4ucmVzdCB9ID0gdHJlZVZpZXdJdGVtO1xuICAgIGNvbnN0IHRyZWVWaWV3VG9FbWl0ID0gdGhpcy5zaW5nbGVTZWxlY3QgPyB7IC4uLnJlc3QgfSA6IHRyZWVWaWV3SXRlbTtcblxuICAgIHRoaXMudXBkYXRlSXRlbXNPblNlbGVjdCh0cmVlVmlld1RvRW1pdCk7XG5cbiAgICB0aGlzW2V2ZW50XS5lbWl0KHsgLi4udHJlZVZpZXdUb0VtaXQgfSk7XG4gIH1cblxuICBwcml2YXRlIGFkZENoaWxkSXRlbUluUGFyZW50KGNoaWxkSXRlbTogUG9UcmVlVmlld0l0ZW0sIHBhcmVudEl0ZW06IFBvVHJlZVZpZXdJdGVtKSB7XG4gICAgaWYgKCFwYXJlbnRJdGVtLnN1Ykl0ZW1zKSB7XG4gICAgICBwYXJlbnRJdGVtLnN1Ykl0ZW1zID0gW107XG4gICAgfVxuXG4gICAgcGFyZW50SXRlbS5zdWJJdGVtcy5wdXNoKGNoaWxkSXRlbSk7XG4gIH1cblxuICAvLyBjYXNvIGhvdXZlciBwYXJlbnRJdGVtOlxuICAvLyAgLSBleHBhbmRlIG8gcGFyZW50SXRlbSBjYXNvIG8gZmlsaG8gZXN0aXZlciBleHBhbmRpZG87XG4gIC8vICAtIGFkaWNpb25hIG8gY2hpbGRJdGVtIG5vIHBhcmVudEl0ZW07XG4gIC8vICAtIG1hcmNhIG8gcGFyZW50SXRlbSBjYXNvIGNvbnRlciBzdWJJdGVtcyBtYXJjb2RvcyBvdSBudWxvcztcbiAgLy8gU2UgbsOjbyBjb250ZXIgcGFyZW50SXRlbSwgYWRpY2lvbmEgbyBjaGlsZEl0ZW0gbm8gaXRlbXMuXG4gIHByaXZhdGUgYWRkSXRlbShpdGVtczogQXJyYXk8UG9UcmVlVmlld0l0ZW0+LCBjaGlsZEl0ZW06IFBvVHJlZVZpZXdJdGVtLCBwYXJlbnRJdGVtPzogUG9UcmVlVmlld0l0ZW0sIGlzTmV3SXRlbT8pIHtcbiAgICBpZiAocGFyZW50SXRlbSkge1xuICAgICAgaWYgKGlzTmV3SXRlbSkge1xuICAgICAgICB0aGlzLmV4cGFuZFBhcmVudEl0ZW0oY2hpbGRJdGVtLCBwYXJlbnRJdGVtKTtcbiAgICAgIH1cblxuICAgICAgdGhpcy5hZGRDaGlsZEl0ZW1JblBhcmVudChjaGlsZEl0ZW0sIHBhcmVudEl0ZW0pO1xuXG4gICAgICBpZiAoIXRoaXMuc2luZ2xlU2VsZWN0KSB7XG4gICAgICAgIHRoaXMuc2VsZWN0SXRlbUJ5U3ViSXRlbXMocGFyZW50SXRlbSk7XG4gICAgICB9XG5cbiAgICAgIGl0ZW1zLnB1c2gocGFyZW50SXRlbSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGl0ZW1zLnB1c2goY2hpbGRJdGVtKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIHNlbGVjdEFsbEl0ZW1zKGl0ZW1zOiBBcnJheTxQb1RyZWVWaWV3SXRlbT4sIGlzU2VsZWN0ZWQ6IGJvb2xlYW4pIHtcbiAgICBpdGVtcy5mb3JFYWNoKGl0ZW0gPT4ge1xuICAgICAgaWYgKGl0ZW0uc3ViSXRlbXMpIHtcbiAgICAgICAgdGhpcy5zZWxlY3RBbGxJdGVtcyhpdGVtLnN1Ykl0ZW1zLCBpc1NlbGVjdGVkKTtcbiAgICAgIH1cblxuICAgICAgaXRlbS5zZWxlY3RlZCA9IGl0ZW0uaXNTZWxlY3RhYmxlICE9PSBmYWxzZSA/IGlzU2VsZWN0ZWQgOiBmYWxzZTtcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgc2VsZWN0SXRlbUJ5U3ViSXRlbXMoaXRlbTogUG9UcmVlVmlld0l0ZW0pIHtcbiAgICBpdGVtLnNlbGVjdGVkID0gdGhpcy5ldmVyeUl0ZW1TZWxlY3RlZChpdGVtLnN1Ykl0ZW1zKTtcbiAgfVxuXG4gIC8vIHJldG9ybmFyw6E6XG4gIC8vICAtIHRydWU6IHNlIHRvZG9zIG9zIGl0ZW1zIGVzdGl2ZXJlbSBtYXJjYWRvcztcbiAgLy8gIC0gbnVsbDogc2Ugbm8gbWluaW1vIHVtIGl0ZW0gZXN0ZWphIG1hcmNhZG8gb3UgbnVsbG8gKGluZGV0ZXJtaW5hdGUpXG4gIC8vICAtIGZhbHNlOiBjYXNvIG7Do28gY29ycmVzcG9uZGEgZW0gbmVuaHVtYSBkYXMgb3DDp8O1ZXMgYWNpbWEsIG5vIGNhc28sIG5lbmh1bSBtYXJjYWRvIG91IG51bG87XG4gIHByaXZhdGUgZXZlcnlJdGVtU2VsZWN0ZWQoaXRlbXM6IEFycmF5PFBvVHJlZVZpZXdJdGVtPiA9IFtdKTogYm9vbGVhbiB8IG51bGwge1xuICAgIGNvbnN0IGl0ZW1zTGVuZ3RoID0gaXRlbXMubGVuZ3RoO1xuXG4gICAgY29uc3QgbGVuZ3RoQ2hlY2tlZEl0ZW1zID0gaXRlbXMuZmlsdGVyKGl0ZW0gPT4gaXRlbS5zZWxlY3RlZCkubGVuZ3RoO1xuXG4gICAgaWYgKGl0ZW1zTGVuZ3RoICYmIGl0ZW1zTGVuZ3RoID09PSBsZW5ndGhDaGVja2VkSXRlbXMpIHtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cblxuICAgIGNvbnN0IGhhc0luZGV0ZXJtaW5hdGVJdGVtcyA9IGl0ZW1zLmZpbHRlcihpdGVtID0+IGl0ZW0uc2VsZWN0ZWQgfHwgaXRlbS5zZWxlY3RlZCA9PT0gbnVsbCkubGVuZ3RoO1xuXG4gICAgaWYgKGhhc0luZGV0ZXJtaW5hdGVJdGVtcykge1xuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuXG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgLy8gZXhwYW5kZSBvIGl0ZW0gcGFpIGNhc28gbyBmaWxobyBlc3RpdmVyIGV4cGFuZGlkby5cbiAgcHJpdmF0ZSBleHBhbmRQYXJlbnRJdGVtKGNoaWxkSXRlbTogUG9UcmVlVmlld0l0ZW0sIHBhcmVudEl0ZW06IFBvVHJlZVZpZXdJdGVtKSB7XG4gICAgaWYgKGNoaWxkSXRlbS5leHBhbmRlZCkge1xuICAgICAgcGFyZW50SXRlbS5leHBhbmRlZCA9IHRydWU7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBnZXRJdGVtc0J5TWF4TGV2ZWwoXG4gICAgaXRlbXM6IEFycmF5PFBvVHJlZVZpZXdJdGVtPiA9IFtdLFxuICAgIGxldmVsOiBudW1iZXIgPSAwLFxuICAgIHBhcmVudEl0ZW0/OiBQb1RyZWVWaWV3SXRlbSxcbiAgICBuZXdJdGVtcyA9IFtdXG4gICkge1xuICAgIGl0ZW1zLmZvckVhY2goaXRlbSA9PiB7XG4gICAgICBjb25zdCB7IHN1Ykl0ZW1zLCAuLi5jdXJyZW50SXRlbSB9ID0gaXRlbTtcblxuICAgICAgaWYgKGxldmVsID09PSB0aGlzLm1heExldmVsKSB7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cblxuICAgICAgaWYgKEFycmF5LmlzQXJyYXkoc3ViSXRlbXMpKSB7XG4gICAgICAgIC8vIGNhc28gdW0gaXRlbSBwYWkgaW5pY2lhciBzZWxlY2lvbmFkbywgZGV2ZSBzZWxlY2lvbmFyIG9zIGZpbGhvcy5cbiAgICAgICAgaWYgKGN1cnJlbnRJdGVtLnNlbGVjdGVkKSB7XG4gICAgICAgICAgdGhpcy5zZWxlY3RBbGxJdGVtcyhzdWJJdGVtcywgY3VycmVudEl0ZW0uc2VsZWN0ZWQpO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5nZXRJdGVtc0J5TWF4TGV2ZWwoc3ViSXRlbXMsICsrbGV2ZWwsIGN1cnJlbnRJdGVtKTtcbiAgICAgICAgLS1sZXZlbDtcbiAgICAgIH1cblxuICAgICAgaWYgKGl0ZW0uc2VsZWN0ZWQpIHtcbiAgICAgICAgdGhpcy5zZWxlY3RlZFZhbHVlID0gY3VycmVudEl0ZW0udmFsdWU7XG4gICAgICB9XG5cbiAgICAgIHRoaXMuYWRkSXRlbShuZXdJdGVtcywgY3VycmVudEl0ZW0sIHBhcmVudEl0ZW0sIHRydWUpO1xuICAgIH0pO1xuXG4gICAgcmV0dXJuIG5ld0l0ZW1zO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRJdGVtc1dpdGhQYXJlbnRTZWxlY3RlZChpdGVtczogQXJyYXk8UG9UcmVlVmlld0l0ZW0+ID0gW10sIHBhcmVudEl0ZW0/OiBQb1RyZWVWaWV3SXRlbSwgbmV3SXRlbXMgPSBbXSkge1xuICAgIGl0ZW1zLmZvckVhY2goaXRlbSA9PiB7XG4gICAgICBjb25zdCB7IHN1Ykl0ZW1zLCAuLi5jdXJyZW50SXRlbSB9ID0gaXRlbTtcblxuICAgICAgaWYgKEFycmF5LmlzQXJyYXkoc3ViSXRlbXMpKSB7XG4gICAgICAgIHRoaXMuZ2V0SXRlbXNXaXRoUGFyZW50U2VsZWN0ZWQoc3ViSXRlbXMsIGN1cnJlbnRJdGVtKTtcbiAgICAgIH1cblxuICAgICAgdGhpcy5hZGRJdGVtKG5ld0l0ZW1zLCBjdXJyZW50SXRlbSwgcGFyZW50SXRlbSk7XG4gICAgfSk7XG5cbiAgICByZXR1cm4gbmV3SXRlbXM7XG4gIH1cblxuICBwcml2YXRlIHVwZGF0ZUl0ZW1zT25TZWxlY3Qoc2VsZWN0ZWRJdGVtOiBQb1RyZWVWaWV3SXRlbSkge1xuICAgIGlmIChzZWxlY3RlZEl0ZW0uc3ViSXRlbXMgJiYgIXRoaXMuc2luZ2xlU2VsZWN0KSB7XG4gICAgICB0aGlzLnNlbGVjdEFsbEl0ZW1zKHNlbGVjdGVkSXRlbS5zdWJJdGVtcywgc2VsZWN0ZWRJdGVtLnNlbGVjdGVkKTtcbiAgICB9XG5cbiAgICB0aGlzLl9pdGVtcyA9IHRoaXMuZ2V0SXRlbXNXaXRoUGFyZW50U2VsZWN0ZWQodGhpcy5pdGVtcyk7XG4gIH1cbn1cbiJdfQ==