@porscheinformatik/clr-addons 12.6.0 → 12.8.1

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 (119) hide show
  1. package/clr-addons.module.d.ts +3 -2
  2. package/{datagrid-state-persistence → datagrid/datagrid-state-persistence}/column-hidden-state-persistence.directive.d.ts +0 -0
  3. package/{datagrid-state-persistence → datagrid/datagrid-state-persistence}/datagrid-field.directive.d.ts +0 -0
  4. package/{datagrid-state-persistence → datagrid/datagrid-state-persistence}/datagrid-state-persistence-model.interface.d.ts +0 -0
  5. package/{datagrid-state-persistence → datagrid/datagrid-state-persistence}/datagrid-state-persistence.module.d.ts +0 -0
  6. package/{datagrid-state-persistence → datagrid/datagrid-state-persistence}/index.d.ts +0 -0
  7. package/{datagrid-state-persistence → datagrid/datagrid-state-persistence}/state-persistence-key.directive.d.ts +0 -0
  8. package/datagrid/enum-filter/enum-filter.component.d.ts +24 -0
  9. package/datagrid/enum-filter/enum-filter.module.d.ts +10 -0
  10. package/datagrid/enum-filter/index.d.ts +2 -0
  11. package/datagrid/index.d.ts +2 -0
  12. package/esm2020/abstract-form-component/abstract-form-component.mjs +4 -4
  13. package/esm2020/abstract-form-component/control-id.service.mjs +4 -4
  14. package/esm2020/abstract-form-component/form.module.mjs +5 -5
  15. package/esm2020/abstract-form-component/label.mjs +4 -4
  16. package/esm2020/autocomplete-off/autocomplete-off.directive.mjs +4 -4
  17. package/esm2020/autocomplete-off/autocomplete-off.module.mjs +5 -5
  18. package/esm2020/back-button/back-button.mjs +4 -4
  19. package/esm2020/back-button/back-button.module.mjs +5 -5
  20. package/esm2020/brand-avatar/brand-avatar.mjs +4 -4
  21. package/esm2020/brand-avatar/brand-avatar.module.mjs +5 -5
  22. package/esm2020/breadcrumb/breadcrumb.mjs +4 -4
  23. package/esm2020/breadcrumb/breadcrumb.module.mjs +5 -5
  24. package/esm2020/breadcrumb/breadcrumb.service.mjs +4 -4
  25. package/esm2020/clr-addons.module.mjs +11 -8
  26. package/esm2020/collapse-expand-section/collapse-expand-section.mjs +4 -4
  27. package/esm2020/collapse-expand-section/collapse-expand-section.module.mjs +5 -5
  28. package/esm2020/content-panel/content-panel-container-content.mjs +4 -4
  29. package/esm2020/content-panel/content-panel-container-footer.mjs +4 -4
  30. package/esm2020/content-panel/content-panel-container.mjs +4 -4
  31. package/esm2020/content-panel/content-panel.mjs +4 -4
  32. package/esm2020/content-panel/content-panel.module.mjs +5 -5
  33. package/esm2020/data-list-validator/data-list-predefined-validator.directive.mjs +4 -4
  34. package/esm2020/data-list-validator/data-list-validator.module.mjs +5 -5
  35. package/esm2020/datagrid/datagrid-state-persistence/column-hidden-state-persistence.directive.mjs +76 -0
  36. package/esm2020/datagrid/datagrid-state-persistence/datagrid-field.directive.mjs +15 -0
  37. package/esm2020/datagrid/datagrid-state-persistence/datagrid-state-persistence-model.interface.mjs +2 -0
  38. package/esm2020/datagrid/datagrid-state-persistence/datagrid-state-persistence.module.mjs +18 -0
  39. package/esm2020/datagrid/datagrid-state-persistence/index.mjs +6 -0
  40. package/esm2020/datagrid/datagrid-state-persistence/state-persistence-key.directive.mjs +38 -0
  41. package/esm2020/datagrid/enum-filter/enum-filter.component.mjs +70 -0
  42. package/esm2020/datagrid/enum-filter/enum-filter.module.mjs +20 -0
  43. package/esm2020/datagrid/enum-filter/index.mjs +3 -0
  44. package/esm2020/datagrid/index.mjs +3 -0
  45. package/esm2020/date-time-container/date-time-container.mjs +4 -4
  46. package/esm2020/date-time-container/date-time-module.mjs +5 -5
  47. package/esm2020/date-time-container/time-input.mjs +4 -4
  48. package/esm2020/dot-pager/dot-pager.mjs +4 -4
  49. package/esm2020/dot-pager/dot-pager.module.mjs +5 -5
  50. package/esm2020/dropdown/clr-dropdown-overflow.directive.mjs +4 -4
  51. package/esm2020/dropdown/clr-dropdown-overflow.module.mjs +5 -5
  52. package/esm2020/flow-bar/flow-bar.mjs +4 -4
  53. package/esm2020/flow-bar/flow-bar.module.mjs +5 -5
  54. package/esm2020/generic-quick-list/generic-quick-list.mjs +4 -4
  55. package/esm2020/generic-quick-list/generic-quick-list.module.mjs +5 -5
  56. package/esm2020/history/history-pinned.mjs +4 -4
  57. package/esm2020/history/history.mjs +4 -4
  58. package/esm2020/history/history.module.mjs +5 -5
  59. package/esm2020/history/history.service.mjs +8 -4
  60. package/esm2020/icons/shapes.mjs +5 -1
  61. package/esm2020/index.mjs +2 -2
  62. package/esm2020/letter-avatar/letter-avatar.mjs +4 -4
  63. package/esm2020/letter-avatar/letter-avatar.module.mjs +5 -5
  64. package/esm2020/location-bar/location-bar-node/location-bar-node.component.mjs +4 -4
  65. package/esm2020/location-bar/location-bar.component.mjs +4 -4
  66. package/esm2020/location-bar/location-bar.module.mjs +5 -5
  67. package/esm2020/main-nav-group/main-nav-group-item.mjs +4 -4
  68. package/esm2020/main-nav-group/main-nav-group.mjs +4 -4
  69. package/esm2020/main-nav-group/main-nav-group.module.mjs +5 -5
  70. package/esm2020/multilingual/abstract-multilingual.mjs +4 -4
  71. package/esm2020/multilingual/multilingual-input/multilingual-input.mjs +4 -4
  72. package/esm2020/multilingual/multilingual-selector.mjs +4 -4
  73. package/esm2020/multilingual/multilingual-textarea/multilingual-textarea.mjs +4 -4
  74. package/esm2020/multilingual/multilingual-validators.mjs +7 -7
  75. package/esm2020/multilingual/multilingual.module.mjs +5 -5
  76. package/esm2020/notification/notification.mjs +4 -4
  77. package/esm2020/notification/notification.module.mjs +5 -5
  78. package/esm2020/notification/notification.service.mjs +4 -4
  79. package/esm2020/numericfield/numeric-field-validators.mjs +7 -7
  80. package/esm2020/numericfield/numeric-field.mjs +4 -4
  81. package/esm2020/numericfield/numeric-field.module.mjs +5 -5
  82. package/esm2020/paged-search-result-list/paged-search-result-list.mjs +4 -4
  83. package/esm2020/paged-search-result-list/paged-search-result-list.module.mjs +5 -5
  84. package/esm2020/pager/pager.mjs +4 -4
  85. package/esm2020/pager/pager.module.mjs +5 -5
  86. package/esm2020/progress-spinner/progress-spinner.mjs +4 -4
  87. package/esm2020/progress-spinner/progress-spinner.module.mjs +5 -5
  88. package/esm2020/quick-list/add-option.mjs +4 -4
  89. package/esm2020/quick-list/quick-list.mjs +4 -4
  90. package/esm2020/quick-list/quick-list.module.mjs +5 -5
  91. package/esm2020/searchfield/search-field.mjs +4 -4
  92. package/esm2020/searchfield/search-field.module.mjs +5 -5
  93. package/esm2020/treetable/renderer/cell-renderer.mjs +4 -4
  94. package/esm2020/treetable/renderer/header-renderer.mjs +4 -4
  95. package/esm2020/treetable/renderer/main-renderer.mjs +4 -4
  96. package/esm2020/treetable/renderer/row-renderer.mjs +4 -4
  97. package/esm2020/treetable/treetable-action-overflow.mjs +4 -4
  98. package/esm2020/treetable/treetable-cell.mjs +4 -4
  99. package/esm2020/treetable/treetable-column.mjs +4 -4
  100. package/esm2020/treetable/treetable-placeholder.mjs +4 -4
  101. package/esm2020/treetable/treetable-row.mjs +4 -4
  102. package/esm2020/treetable/treetable.mjs +4 -4
  103. package/esm2020/treetable/treetable.module.mjs +5 -5
  104. package/esm2020/view-edit-section/view-edit-section.mjs +4 -4
  105. package/esm2020/view-edit-section/view-edit-section.module.mjs +5 -5
  106. package/fesm2015/clr-addons.mjs +388 -300
  107. package/fesm2015/clr-addons.mjs.map +1 -1
  108. package/fesm2020/clr-addons.mjs +388 -300
  109. package/fesm2020/clr-addons.mjs.map +1 -1
  110. package/icons/shapes.d.ts +2 -0
  111. package/index.d.ts +1 -1
  112. package/package.json +1 -1
  113. package/src/datagrid/enum-filter/enum-filter.component.scss +3 -0
  114. package/esm2020/datagrid-state-persistence/column-hidden-state-persistence.directive.mjs +0 -76
  115. package/esm2020/datagrid-state-persistence/datagrid-field.directive.mjs +0 -15
  116. package/esm2020/datagrid-state-persistence/datagrid-state-persistence-model.interface.mjs +0 -2
  117. package/esm2020/datagrid-state-persistence/datagrid-state-persistence.module.mjs +0 -18
  118. package/esm2020/datagrid-state-persistence/index.mjs +0 -6
  119. package/esm2020/datagrid-state-persistence/state-persistence-key.directive.mjs +0 -38
@@ -52,9 +52,9 @@ export class ClrGenericQuickList {
52
52
  clearTimeout(this.timeout);
53
53
  }
54
54
  }
55
- ClrGenericQuickList.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.8", ngImport: i0, type: ClrGenericQuickList, deps: [], target: i0.ɵɵFactoryTarget.Component });
56
- ClrGenericQuickList.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.8", type: ClrGenericQuickList, selector: "clr-generic-quick-list", inputs: { allItems: ["clrAllItems", "allItems"], addLabel: ["clrAddLabel", "addLabel"], addPossible: ["clrAddPossible", "addPossible"], blankItem: ["clrBlankItem", "blankItem"], controlClasses: ["clrControlClasses", "controlClasses"], required: ["clrMandatory", "required"], readonly: "readonly" }, outputs: { added: "clrAdded", removed: "clrRemoved" }, host: { properties: { "class.generic-quick-list": "true", "class.clr-form-control": "true" } }, queries: [{ propertyName: "itemTemplate", predicate: TemplateRef }], viewQueries: [{ propertyName: "itemRows", predicate: ["row"], descendants: true }], ngImport: i0, template: "<ng-content select=\"label\"></ng-content>\n<div class=\"clr-control-container\" [ngClass]=\"controlClasses\">\n <ng-content select=\".header-container\"></ng-content>\n\n <ng-container *ngFor=\"let item of allItems\">\n <div class=\"controls-wrapper\">\n <div class=\"controls-container\" *ngIf=\"itemTemplate\" #row>\n <ng-container *ngTemplateOutlet=\"itemTemplate.get(0); context: {$implicit:item}\"></ng-container>\n </div>\n <button\n *ngIf=\"!(readonly || readonly === '')\"\n type=\"button\"\n class=\"btn btn-icon btn-link btn-trash\"\n [disabled]=\"required && allItems.length === 1\"\n (click)=\"removeItem(item)\"\n >\n <clr-icon shape=\"trash\"></clr-icon>\n </button>\n </div>\n </ng-container>\n\n <button\n *ngIf=\"!(readonly || readonly === '')\"\n type=\"button\"\n class=\"btn btn-link btn-sm btn-add\"\n (click)=\"addItem()\"\n [disabled]=\"!addPossible\"\n >\n {{addLabel}}\n </button>\n</div>\n", directives: [{ type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }, { type: i2.ClrIconCustomTag, selector: "clr-icon" }] });
57
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.8", ngImport: i0, type: ClrGenericQuickList, decorators: [{
55
+ ClrGenericQuickList.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: ClrGenericQuickList, deps: [], target: i0.ɵɵFactoryTarget.Component });
56
+ ClrGenericQuickList.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: ClrGenericQuickList, selector: "clr-generic-quick-list", inputs: { allItems: ["clrAllItems", "allItems"], addLabel: ["clrAddLabel", "addLabel"], addPossible: ["clrAddPossible", "addPossible"], blankItem: ["clrBlankItem", "blankItem"], controlClasses: ["clrControlClasses", "controlClasses"], required: ["clrMandatory", "required"], readonly: "readonly" }, outputs: { added: "clrAdded", removed: "clrRemoved" }, host: { properties: { "class.generic-quick-list": "true", "class.clr-form-control": "true" } }, queries: [{ propertyName: "itemTemplate", predicate: TemplateRef }], viewQueries: [{ propertyName: "itemRows", predicate: ["row"], descendants: true }], ngImport: i0, template: "<ng-content select=\"label\"></ng-content>\n<div class=\"clr-control-container\" [ngClass]=\"controlClasses\">\n <ng-content select=\".header-container\"></ng-content>\n\n <ng-container *ngFor=\"let item of allItems\">\n <div class=\"controls-wrapper\">\n <div class=\"controls-container\" *ngIf=\"itemTemplate\" #row>\n <ng-container *ngTemplateOutlet=\"itemTemplate.get(0); context: {$implicit:item}\"></ng-container>\n </div>\n <button\n *ngIf=\"!(readonly || readonly === '')\"\n type=\"button\"\n class=\"btn btn-icon btn-link btn-trash\"\n [disabled]=\"required && allItems.length === 1\"\n (click)=\"removeItem(item)\"\n >\n <clr-icon shape=\"trash\"></clr-icon>\n </button>\n </div>\n </ng-container>\n\n <button\n *ngIf=\"!(readonly || readonly === '')\"\n type=\"button\"\n class=\"btn btn-link btn-sm btn-add\"\n (click)=\"addItem()\"\n [disabled]=\"!addPossible\"\n >\n {{addLabel}}\n </button>\n</div>\n", directives: [{ type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }, { type: i2.ClrIconCustomTag, selector: "clr-icon" }] });
57
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: ClrGenericQuickList, decorators: [{
58
58
  type: Component,
59
59
  args: [{ selector: 'clr-generic-quick-list', host: { '[class.generic-quick-list]': 'true', '[class.clr-form-control]': 'true' }, template: "<ng-content select=\"label\"></ng-content>\n<div class=\"clr-control-container\" [ngClass]=\"controlClasses\">\n <ng-content select=\".header-container\"></ng-content>\n\n <ng-container *ngFor=\"let item of allItems\">\n <div class=\"controls-wrapper\">\n <div class=\"controls-container\" *ngIf=\"itemTemplate\" #row>\n <ng-container *ngTemplateOutlet=\"itemTemplate.get(0); context: {$implicit:item}\"></ng-container>\n </div>\n <button\n *ngIf=\"!(readonly || readonly === '')\"\n type=\"button\"\n class=\"btn btn-icon btn-link btn-trash\"\n [disabled]=\"required && allItems.length === 1\"\n (click)=\"removeItem(item)\"\n >\n <clr-icon shape=\"trash\"></clr-icon>\n </button>\n </div>\n </ng-container>\n\n <button\n *ngIf=\"!(readonly || readonly === '')\"\n type=\"button\"\n class=\"btn btn-link btn-sm btn-add\"\n (click)=\"addItem()\"\n [disabled]=\"!addPossible\"\n >\n {{addLabel}}\n </button>\n</div>\n" }]
60
60
  }], propDecorators: { allItems: [{
@@ -90,4 +90,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.8", ngImpor
90
90
  type: ViewChildren,
91
91
  args: ['row']
92
92
  }] } });
93
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2VuZXJpYy1xdWljay1saXN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2Nsci1hZGRvbnMvZ2VuZXJpYy1xdWljay1saXN0L2dlbmVyaWMtcXVpY2stbGlzdC50cyIsIi4uLy4uLy4uLy4uL3NyYy9jbHItYWRkb25zL2dlbmVyaWMtcXVpY2stbGlzdC9nZW5lcmljLXF1aWNrLWxpc3QuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7OztHQUlHO0FBRUgsT0FBTyxFQUNMLFNBQVMsRUFDVCxLQUFLLEVBQ0wsV0FBVyxFQUNYLE1BQU0sRUFDTixZQUFZLEVBQ1osWUFBWSxFQUNaLFNBQVMsRUFJVCxlQUFlLEdBRWhCLE1BQU0sZUFBZSxDQUFDOzs7O0FBV3ZCLE1BQU0sT0FBTyxtQkFBbUI7SUFMaEM7UUFNd0IsYUFBUSxHQUFHLEVBQVMsQ0FBQztRQUNyQixhQUFRLEdBQUcsb0JBQW9CLENBQUM7UUFDN0IsZ0JBQVcsR0FBRyxJQUFJLENBQUM7UUFDckIsY0FBUyxHQUFHLEVBQVMsQ0FBQztRQUV0QixhQUFRLEdBQUcsS0FBSyxDQUFDO1FBR3BCLFVBQUssR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFDO1FBQ3pCLFlBQU8sR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFDO0tBa0RwRDtJQXpDQyxRQUFRO1FBQ04sSUFBSSxJQUFJLENBQUMsUUFBUSxJQUFJLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRTtZQUMvQyxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7U0FDaEI7SUFDSCxDQUFDO0lBRUQsZUFBZTtRQUNiLElBQUksQ0FBQyxPQUFPLEdBQUcsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQyxDQUFDO0lBQ3hELENBQUM7SUFFRCxPQUFPO1FBQ0wsTUFBTSxPQUFPLEdBQUcsRUFBRSxHQUFHLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztRQUN0QyxPQUFPLENBQUMsRUFBRSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxHQUFHLE1BQU0sQ0FBQyxDQUFDO1FBQy9DLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQzVCLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQzNCLENBQUM7SUFFRCxVQUFVLENBQUMsSUFBTztRQUNoQixJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztRQUNyRCxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUMxQixDQUFDO0lBRUQsYUFBYTtRQUNYLElBQUksQ0FBQyxhQUFhLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUM7UUFDMUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLENBQUMsR0FBMEIsRUFBRSxFQUFFO1lBQzdELElBQUksR0FBRyxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsYUFBYSxJQUFJLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxFQUFFO2dCQUNqRCxNQUFNLGNBQWMsR0FBRyxHQUFHLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxhQUFhLENBQ3pELHFFQUFxRSxDQUN0RSxDQUFDO2dCQUNGLElBQUksY0FBYyxFQUFFO29CQUNsQixzR0FBc0c7b0JBQ3RHLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxjQUFjLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQztpQkFDMUM7YUFDRjtZQUNELElBQUksQ0FBQyxhQUFhLEdBQUcsR0FBRyxDQUFDLE1BQU0sQ0FBQztRQUNsQyxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxXQUFXO1FBQ1QsWUFBWSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUM3QixDQUFDOztnSEEzRFUsbUJBQW1CO29HQUFuQixtQkFBbUIsNmhCQVliLFdBQVcsaUhDMUM5Qiw4L0JBK0JBOzJGRERhLG1CQUFtQjtrQkFML0IsU0FBUzsrQkFDRSx3QkFBd0IsUUFDNUIsRUFBRSw0QkFBNEIsRUFBRSxNQUFNLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSxFQUFFOzhCQUk1RCxRQUFRO3NCQUE3QixLQUFLO3VCQUFDLGFBQWE7Z0JBQ0UsUUFBUTtzQkFBN0IsS0FBSzt1QkFBQyxhQUFhO2dCQUNLLFdBQVc7c0JBQW5DLEtBQUs7dUJBQUMsZ0JBQWdCO2dCQUNBLFNBQVM7c0JBQS9CLEtBQUs7dUJBQUMsY0FBYztnQkFDTyxjQUFjO3NCQUF6QyxLQUFLO3VCQUFDLG1CQUFtQjtnQkFDSCxRQUFRO3NCQUE5QixLQUFLO3VCQUFDLGNBQWM7Z0JBQ1osUUFBUTtzQkFBaEIsS0FBSztnQkFFYyxLQUFLO3NCQUF4QixNQUFNO3VCQUFDLFVBQVU7Z0JBQ0ksT0FBTztzQkFBNUIsTUFBTTt1QkFBQyxZQUFZO2dCQUVVLFlBQVk7c0JBQXpDLGVBQWU7dUJBQUMsV0FBVztnQkFDUCxRQUFRO3NCQUE1QixZQUFZO3VCQUFDLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogQ29weXJpZ2h0IChjKSAyMDE4IFBvcnNjaGUgSW5mb3JtYXRpay4gQWxsIFJpZ2h0cyBSZXNlcnZlZC5cbiAqIFRoaXMgc29mdHdhcmUgaXMgcmVsZWFzZWQgdW5kZXIgTUlUIGxpY2Vuc2UuXG4gKiBUaGUgZnVsbCBsaWNlbnNlIGluZm9ybWF0aW9uIGNhbiBiZSBmb3VuZCBpbiBMSUNFTlNFIGluIHRoZSByb290IGRpcmVjdG9yeSBvZiB0aGlzIHByb2plY3QuXG4gKi9cblxuaW1wb3J0IHtcbiAgQ29tcG9uZW50LFxuICBJbnB1dCxcbiAgVGVtcGxhdGVSZWYsXG4gIE91dHB1dCxcbiAgRXZlbnRFbWl0dGVyLFxuICBWaWV3Q2hpbGRyZW4sXG4gIFF1ZXJ5TGlzdCxcbiAgQWZ0ZXJWaWV3SW5pdCxcbiAgT25Jbml0LFxuICBFbGVtZW50UmVmLFxuICBDb250ZW50Q2hpbGRyZW4sXG4gIE9uRGVzdHJveSxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ2xyR2VuZXJpY1F1aWNrTGlzdEl0ZW0ge1xuICBpZDogYW55O1xufVxuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdjbHItZ2VuZXJpYy1xdWljay1saXN0JyxcbiAgaG9zdDogeyAnW2NsYXNzLmdlbmVyaWMtcXVpY2stbGlzdF0nOiAndHJ1ZScsICdbY2xhc3MuY2xyLWZvcm0tY29udHJvbF0nOiAndHJ1ZScgfSxcbiAgdGVtcGxhdGVVcmw6ICcuL2dlbmVyaWMtcXVpY2stbGlzdC5odG1sJyxcbn0pXG5leHBvcnQgY2xhc3MgQ2xyR2VuZXJpY1F1aWNrTGlzdDxUIGV4dGVuZHMgQ2xyR2VuZXJpY1F1aWNrTGlzdEl0ZW0+IGltcGxlbWVudHMgT25Jbml0LCBBZnRlclZpZXdJbml0LCBPbkRlc3Ryb3kge1xuICBASW5wdXQoJ2NsckFsbEl0ZW1zJykgYWxsSXRlbXMgPSBbXSBhcyBUW107XG4gIEBJbnB1dCgnY2xyQWRkTGFiZWwnKSBhZGRMYWJlbCA9ICdBREQgKFRyYW5zbGF0ZSBtZSknO1xuICBASW5wdXQoJ2NsckFkZFBvc3NpYmxlJykgYWRkUG9zc2libGUgPSB0cnVlO1xuICBASW5wdXQoJ2NsckJsYW5rSXRlbScpIGJsYW5rSXRlbSA9IHt9IGFzIGFueTtcbiAgQElucHV0KCdjbHJDb250cm9sQ2xhc3NlcycpIGNvbnRyb2xDbGFzc2VzOiBzdHJpbmc7XG4gIEBJbnB1dCgnY2xyTWFuZGF0b3J5JykgcmVxdWlyZWQgPSBmYWxzZTtcbiAgQElucHV0KCkgcmVhZG9ubHk6IHN0cmluZztcblxuICBAT3V0cHV0KCdjbHJBZGRlZCcpIGFkZGVkID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuICBAT3V0cHV0KCdjbHJSZW1vdmVkJykgcmVtb3ZlZCA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcblxuICBAQ29udGVudENoaWxkcmVuKFRlbXBsYXRlUmVmKSBpdGVtVGVtcGxhdGU6IFF1ZXJ5TGlzdDxUZW1wbGF0ZVJlZjxhbnk+PjtcbiAgQFZpZXdDaGlsZHJlbigncm93JykgaXRlbVJvd3M6IFF1ZXJ5TGlzdDxFbGVtZW50UmVmPjtcblxuICByb3dDb3VudEZvY3VzOiBudW1iZXI7XG5cbiAgcHJpdmF0ZSB0aW1lb3V0OiBOb2RlSlMuVGltZW91dDtcblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5yZXF1aXJlZCAmJiB0aGlzLmFsbEl0ZW1zLmxlbmd0aCA9PT0gMCkge1xuICAgICAgdGhpcy5hZGRJdGVtKCk7XG4gICAgfVxuICB9XG5cbiAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgIHRoaXMudGltZW91dCA9IHNldFRpbWVvdXQoKCkgPT4gdGhpcy5zZXRGb2N1c09uQWRkKCkpO1xuICB9XG5cbiAgYWRkSXRlbSgpOiB2b2lkIHtcbiAgICBjb25zdCBuZXdJdGVtID0geyAuLi50aGlzLmJsYW5rSXRlbSB9O1xuICAgIG5ld0l0ZW0uaWQgPSBNYXRoLmNlaWwoTWF0aC5yYW5kb20oKSAqIDEwMDAwMCk7XG4gICAgdGhpcy5hbGxJdGVtcy5wdXNoKG5ld0l0ZW0pO1xuICAgIHRoaXMuYWRkZWQuZW1pdChuZXdJdGVtKTtcbiAgfVxuXG4gIHJlbW92ZUl0ZW0oaXRlbTogVCk6IHZvaWQge1xuICAgIHRoaXMuYWxsSXRlbXMuc3BsaWNlKHRoaXMuYWxsSXRlbXMuaW5kZXhPZihpdGVtKSwgMSk7XG4gICAgdGhpcy5yZW1vdmVkLmVtaXQoaXRlbSk7XG4gIH1cblxuICBzZXRGb2N1c09uQWRkKCk6IHZvaWQge1xuICAgIHRoaXMucm93Q291bnRGb2N1cyA9IHRoaXMuaXRlbVJvd3MubGVuZ3RoO1xuICAgIHRoaXMuaXRlbVJvd3MuY2hhbmdlcy5zdWJzY3JpYmUoKGVsczogUXVlcnlMaXN0PEVsZW1lbnRSZWY+KSA9PiB7XG4gICAgICBpZiAoZWxzLmxlbmd0aCA+IHRoaXMucm93Q291bnRGb2N1cyAmJiAhIWVscy5sYXN0KSB7XG4gICAgICAgIGNvbnN0IGZpcnN0Rm9jdXNhYmxlID0gZWxzLmxhc3QubmF0aXZlRWxlbWVudC5xdWVyeVNlbGVjdG9yKFxuICAgICAgICAgIFwiYnV0dG9uLCBhLCBpbnB1dCwgc2VsZWN0LCB0ZXh0YXJlYSwgW3RhYmluZGV4XTpub3QoW3RhYmluZGV4PSctMSddKVwiXG4gICAgICAgICk7XG4gICAgICAgIGlmIChmaXJzdEZvY3VzYWJsZSkge1xuICAgICAgICAgIC8vIG5lZWRlZCBpZiB0aGUgZmlyc3QgZm9jdXNhYmxlIGJpbmRzIHRvIGZvY3VzIGF0dHJpYnV0ZSAtPiBFeHByZXNzaW9uSGFzQ2hhbmdlZEFmdGVySXRIYXNCZWVuQ2hlY2tlZFxuICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4gZmlyc3RGb2N1c2FibGUuZm9jdXMoKSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIHRoaXMucm93Q291bnRGb2N1cyA9IGVscy5sZW5ndGg7XG4gICAgfSk7XG4gIH1cblxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICBjbGVhclRpbWVvdXQodGhpcy50aW1lb3V0KTtcbiAgfVxufVxuIiwiPG5nLWNvbnRlbnQgc2VsZWN0PVwibGFiZWxcIj48L25nLWNvbnRlbnQ+XG48ZGl2IGNsYXNzPVwiY2xyLWNvbnRyb2wtY29udGFpbmVyXCIgW25nQ2xhc3NdPVwiY29udHJvbENsYXNzZXNcIj5cbiAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiLmhlYWRlci1jb250YWluZXJcIj48L25nLWNvbnRlbnQ+XG5cbiAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgaXRlbSBvZiBhbGxJdGVtc1wiPlxuICAgIDxkaXYgY2xhc3M9XCJjb250cm9scy13cmFwcGVyXCI+XG4gICAgICA8ZGl2IGNsYXNzPVwiY29udHJvbHMtY29udGFpbmVyXCIgKm5nSWY9XCJpdGVtVGVtcGxhdGVcIiAjcm93PlxuICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiaXRlbVRlbXBsYXRlLmdldCgwKTsgY29udGV4dDogeyRpbXBsaWNpdDppdGVtfVwiPjwvbmctY29udGFpbmVyPlxuICAgICAgPC9kaXY+XG4gICAgICA8YnV0dG9uXG4gICAgICAgICpuZ0lmPVwiIShyZWFkb25seSB8fCByZWFkb25seSA9PT0gJycpXCJcbiAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgIGNsYXNzPVwiYnRuIGJ0bi1pY29uIGJ0bi1saW5rIGJ0bi10cmFzaFwiXG4gICAgICAgIFtkaXNhYmxlZF09XCJyZXF1aXJlZCAmJiBhbGxJdGVtcy5sZW5ndGggPT09IDFcIlxuICAgICAgICAoY2xpY2spPVwicmVtb3ZlSXRlbShpdGVtKVwiXG4gICAgICA+XG4gICAgICAgIDxjbHItaWNvbiBzaGFwZT1cInRyYXNoXCI+PC9jbHItaWNvbj5cbiAgICAgIDwvYnV0dG9uPlxuICAgIDwvZGl2PlxuICA8L25nLWNvbnRhaW5lcj5cblxuICA8YnV0dG9uXG4gICAgKm5nSWY9XCIhKHJlYWRvbmx5IHx8IHJlYWRvbmx5ID09PSAnJylcIlxuICAgIHR5cGU9XCJidXR0b25cIlxuICAgIGNsYXNzPVwiYnRuIGJ0bi1saW5rIGJ0bi1zbSBidG4tYWRkXCJcbiAgICAoY2xpY2spPVwiYWRkSXRlbSgpXCJcbiAgICBbZGlzYWJsZWRdPVwiIWFkZFBvc3NpYmxlXCJcbiAgPlxuICAgIHt7YWRkTGFiZWx9fVxuICA8L2J1dHRvbj5cbjwvZGl2PlxuIl19
93
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2VuZXJpYy1xdWljay1saXN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2Nsci1hZGRvbnMvZ2VuZXJpYy1xdWljay1saXN0L2dlbmVyaWMtcXVpY2stbGlzdC50cyIsIi4uLy4uLy4uLy4uL3NyYy9jbHItYWRkb25zL2dlbmVyaWMtcXVpY2stbGlzdC9nZW5lcmljLXF1aWNrLWxpc3QuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7OztHQUlHO0FBRUgsT0FBTyxFQUNMLFNBQVMsRUFDVCxLQUFLLEVBQ0wsV0FBVyxFQUNYLE1BQU0sRUFDTixZQUFZLEVBQ1osWUFBWSxFQUNaLFNBQVMsRUFJVCxlQUFlLEdBRWhCLE1BQU0sZUFBZSxDQUFDOzs7O0FBV3ZCLE1BQU0sT0FBTyxtQkFBbUI7SUFMaEM7UUFNd0IsYUFBUSxHQUFHLEVBQVMsQ0FBQztRQUNyQixhQUFRLEdBQUcsb0JBQW9CLENBQUM7UUFDN0IsZ0JBQVcsR0FBRyxJQUFJLENBQUM7UUFDckIsY0FBUyxHQUFHLEVBQVMsQ0FBQztRQUV0QixhQUFRLEdBQUcsS0FBSyxDQUFDO1FBR3BCLFVBQUssR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFDO1FBQ3pCLFlBQU8sR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFDO0tBa0RwRDtJQXpDQyxRQUFRO1FBQ04sSUFBSSxJQUFJLENBQUMsUUFBUSxJQUFJLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRTtZQUMvQyxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7U0FDaEI7SUFDSCxDQUFDO0lBRUQsZUFBZTtRQUNiLElBQUksQ0FBQyxPQUFPLEdBQUcsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQyxDQUFDO0lBQ3hELENBQUM7SUFFRCxPQUFPO1FBQ0wsTUFBTSxPQUFPLEdBQUcsRUFBRSxHQUFHLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztRQUN0QyxPQUFPLENBQUMsRUFBRSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxHQUFHLE1BQU0sQ0FBQyxDQUFDO1FBQy9DLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQzVCLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQzNCLENBQUM7SUFFRCxVQUFVLENBQUMsSUFBTztRQUNoQixJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztRQUNyRCxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUMxQixDQUFDO0lBRUQsYUFBYTtRQUNYLElBQUksQ0FBQyxhQUFhLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUM7UUFDMUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLENBQUMsR0FBMEIsRUFBRSxFQUFFO1lBQzdELElBQUksR0FBRyxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsYUFBYSxJQUFJLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxFQUFFO2dCQUNqRCxNQUFNLGNBQWMsR0FBRyxHQUFHLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxhQUFhLENBQ3pELHFFQUFxRSxDQUN0RSxDQUFDO2dCQUNGLElBQUksY0FBYyxFQUFFO29CQUNsQixzR0FBc0c7b0JBQ3RHLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxjQUFjLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQztpQkFDMUM7YUFDRjtZQUNELElBQUksQ0FBQyxhQUFhLEdBQUcsR0FBRyxDQUFDLE1BQU0sQ0FBQztRQUNsQyxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxXQUFXO1FBQ1QsWUFBWSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUM3QixDQUFDOztpSEEzRFUsbUJBQW1CO3FHQUFuQixtQkFBbUIsNmhCQVliLFdBQVcsaUhDMUM5Qiw4L0JBK0JBOzRGRERhLG1CQUFtQjtrQkFML0IsU0FBUzsrQkFDRSx3QkFBd0IsUUFDNUIsRUFBRSw0QkFBNEIsRUFBRSxNQUFNLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSxFQUFFOzhCQUk1RCxRQUFRO3NCQUE3QixLQUFLO3VCQUFDLGFBQWE7Z0JBQ0UsUUFBUTtzQkFBN0IsS0FBSzt1QkFBQyxhQUFhO2dCQUNLLFdBQVc7c0JBQW5DLEtBQUs7dUJBQUMsZ0JBQWdCO2dCQUNBLFNBQVM7c0JBQS9CLEtBQUs7dUJBQUMsY0FBYztnQkFDTyxjQUFjO3NCQUF6QyxLQUFLO3VCQUFDLG1CQUFtQjtnQkFDSCxRQUFRO3NCQUE5QixLQUFLO3VCQUFDLGNBQWM7Z0JBQ1osUUFBUTtzQkFBaEIsS0FBSztnQkFFYyxLQUFLO3NCQUF4QixNQUFNO3VCQUFDLFVBQVU7Z0JBQ0ksT0FBTztzQkFBNUIsTUFBTTt1QkFBQyxZQUFZO2dCQUVVLFlBQVk7c0JBQXpDLGVBQWU7dUJBQUMsV0FBVztnQkFDUCxRQUFRO3NCQUE1QixZQUFZO3VCQUFDLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogQ29weXJpZ2h0IChjKSAyMDE4IFBvcnNjaGUgSW5mb3JtYXRpay4gQWxsIFJpZ2h0cyBSZXNlcnZlZC5cbiAqIFRoaXMgc29mdHdhcmUgaXMgcmVsZWFzZWQgdW5kZXIgTUlUIGxpY2Vuc2UuXG4gKiBUaGUgZnVsbCBsaWNlbnNlIGluZm9ybWF0aW9uIGNhbiBiZSBmb3VuZCBpbiBMSUNFTlNFIGluIHRoZSByb290IGRpcmVjdG9yeSBvZiB0aGlzIHByb2plY3QuXG4gKi9cblxuaW1wb3J0IHtcbiAgQ29tcG9uZW50LFxuICBJbnB1dCxcbiAgVGVtcGxhdGVSZWYsXG4gIE91dHB1dCxcbiAgRXZlbnRFbWl0dGVyLFxuICBWaWV3Q2hpbGRyZW4sXG4gIFF1ZXJ5TGlzdCxcbiAgQWZ0ZXJWaWV3SW5pdCxcbiAgT25Jbml0LFxuICBFbGVtZW50UmVmLFxuICBDb250ZW50Q2hpbGRyZW4sXG4gIE9uRGVzdHJveSxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ2xyR2VuZXJpY1F1aWNrTGlzdEl0ZW0ge1xuICBpZDogYW55O1xufVxuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdjbHItZ2VuZXJpYy1xdWljay1saXN0JyxcbiAgaG9zdDogeyAnW2NsYXNzLmdlbmVyaWMtcXVpY2stbGlzdF0nOiAndHJ1ZScsICdbY2xhc3MuY2xyLWZvcm0tY29udHJvbF0nOiAndHJ1ZScgfSxcbiAgdGVtcGxhdGVVcmw6ICcuL2dlbmVyaWMtcXVpY2stbGlzdC5odG1sJyxcbn0pXG5leHBvcnQgY2xhc3MgQ2xyR2VuZXJpY1F1aWNrTGlzdDxUIGV4dGVuZHMgQ2xyR2VuZXJpY1F1aWNrTGlzdEl0ZW0+IGltcGxlbWVudHMgT25Jbml0LCBBZnRlclZpZXdJbml0LCBPbkRlc3Ryb3kge1xuICBASW5wdXQoJ2NsckFsbEl0ZW1zJykgYWxsSXRlbXMgPSBbXSBhcyBUW107XG4gIEBJbnB1dCgnY2xyQWRkTGFiZWwnKSBhZGRMYWJlbCA9ICdBREQgKFRyYW5zbGF0ZSBtZSknO1xuICBASW5wdXQoJ2NsckFkZFBvc3NpYmxlJykgYWRkUG9zc2libGUgPSB0cnVlO1xuICBASW5wdXQoJ2NsckJsYW5rSXRlbScpIGJsYW5rSXRlbSA9IHt9IGFzIGFueTtcbiAgQElucHV0KCdjbHJDb250cm9sQ2xhc3NlcycpIGNvbnRyb2xDbGFzc2VzOiBzdHJpbmc7XG4gIEBJbnB1dCgnY2xyTWFuZGF0b3J5JykgcmVxdWlyZWQgPSBmYWxzZTtcbiAgQElucHV0KCkgcmVhZG9ubHk6IHN0cmluZztcblxuICBAT3V0cHV0KCdjbHJBZGRlZCcpIGFkZGVkID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuICBAT3V0cHV0KCdjbHJSZW1vdmVkJykgcmVtb3ZlZCA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcblxuICBAQ29udGVudENoaWxkcmVuKFRlbXBsYXRlUmVmKSBpdGVtVGVtcGxhdGU6IFF1ZXJ5TGlzdDxUZW1wbGF0ZVJlZjxhbnk+PjtcbiAgQFZpZXdDaGlsZHJlbigncm93JykgaXRlbVJvd3M6IFF1ZXJ5TGlzdDxFbGVtZW50UmVmPjtcblxuICByb3dDb3VudEZvY3VzOiBudW1iZXI7XG5cbiAgcHJpdmF0ZSB0aW1lb3V0OiBOb2RlSlMuVGltZW91dDtcblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5yZXF1aXJlZCAmJiB0aGlzLmFsbEl0ZW1zLmxlbmd0aCA9PT0gMCkge1xuICAgICAgdGhpcy5hZGRJdGVtKCk7XG4gICAgfVxuICB9XG5cbiAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgIHRoaXMudGltZW91dCA9IHNldFRpbWVvdXQoKCkgPT4gdGhpcy5zZXRGb2N1c09uQWRkKCkpO1xuICB9XG5cbiAgYWRkSXRlbSgpOiB2b2lkIHtcbiAgICBjb25zdCBuZXdJdGVtID0geyAuLi50aGlzLmJsYW5rSXRlbSB9O1xuICAgIG5ld0l0ZW0uaWQgPSBNYXRoLmNlaWwoTWF0aC5yYW5kb20oKSAqIDEwMDAwMCk7XG4gICAgdGhpcy5hbGxJdGVtcy5wdXNoKG5ld0l0ZW0pO1xuICAgIHRoaXMuYWRkZWQuZW1pdChuZXdJdGVtKTtcbiAgfVxuXG4gIHJlbW92ZUl0ZW0oaXRlbTogVCk6IHZvaWQge1xuICAgIHRoaXMuYWxsSXRlbXMuc3BsaWNlKHRoaXMuYWxsSXRlbXMuaW5kZXhPZihpdGVtKSwgMSk7XG4gICAgdGhpcy5yZW1vdmVkLmVtaXQoaXRlbSk7XG4gIH1cblxuICBzZXRGb2N1c09uQWRkKCk6IHZvaWQge1xuICAgIHRoaXMucm93Q291bnRGb2N1cyA9IHRoaXMuaXRlbVJvd3MubGVuZ3RoO1xuICAgIHRoaXMuaXRlbVJvd3MuY2hhbmdlcy5zdWJzY3JpYmUoKGVsczogUXVlcnlMaXN0PEVsZW1lbnRSZWY+KSA9PiB7XG4gICAgICBpZiAoZWxzLmxlbmd0aCA+IHRoaXMucm93Q291bnRGb2N1cyAmJiAhIWVscy5sYXN0KSB7XG4gICAgICAgIGNvbnN0IGZpcnN0Rm9jdXNhYmxlID0gZWxzLmxhc3QubmF0aXZlRWxlbWVudC5xdWVyeVNlbGVjdG9yKFxuICAgICAgICAgIFwiYnV0dG9uLCBhLCBpbnB1dCwgc2VsZWN0LCB0ZXh0YXJlYSwgW3RhYmluZGV4XTpub3QoW3RhYmluZGV4PSctMSddKVwiXG4gICAgICAgICk7XG4gICAgICAgIGlmIChmaXJzdEZvY3VzYWJsZSkge1xuICAgICAgICAgIC8vIG5lZWRlZCBpZiB0aGUgZmlyc3QgZm9jdXNhYmxlIGJpbmRzIHRvIGZvY3VzIGF0dHJpYnV0ZSAtPiBFeHByZXNzaW9uSGFzQ2hhbmdlZEFmdGVySXRIYXNCZWVuQ2hlY2tlZFxuICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4gZmlyc3RGb2N1c2FibGUuZm9jdXMoKSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIHRoaXMucm93Q291bnRGb2N1cyA9IGVscy5sZW5ndGg7XG4gICAgfSk7XG4gIH1cblxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICBjbGVhclRpbWVvdXQodGhpcy50aW1lb3V0KTtcbiAgfVxufVxuIiwiPG5nLWNvbnRlbnQgc2VsZWN0PVwibGFiZWxcIj48L25nLWNvbnRlbnQ+XG48ZGl2IGNsYXNzPVwiY2xyLWNvbnRyb2wtY29udGFpbmVyXCIgW25nQ2xhc3NdPVwiY29udHJvbENsYXNzZXNcIj5cbiAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiLmhlYWRlci1jb250YWluZXJcIj48L25nLWNvbnRlbnQ+XG5cbiAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgaXRlbSBvZiBhbGxJdGVtc1wiPlxuICAgIDxkaXYgY2xhc3M9XCJjb250cm9scy13cmFwcGVyXCI+XG4gICAgICA8ZGl2IGNsYXNzPVwiY29udHJvbHMtY29udGFpbmVyXCIgKm5nSWY9XCJpdGVtVGVtcGxhdGVcIiAjcm93PlxuICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiaXRlbVRlbXBsYXRlLmdldCgwKTsgY29udGV4dDogeyRpbXBsaWNpdDppdGVtfVwiPjwvbmctY29udGFpbmVyPlxuICAgICAgPC9kaXY+XG4gICAgICA8YnV0dG9uXG4gICAgICAgICpuZ0lmPVwiIShyZWFkb25seSB8fCByZWFkb25seSA9PT0gJycpXCJcbiAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgIGNsYXNzPVwiYnRuIGJ0bi1pY29uIGJ0bi1saW5rIGJ0bi10cmFzaFwiXG4gICAgICAgIFtkaXNhYmxlZF09XCJyZXF1aXJlZCAmJiBhbGxJdGVtcy5sZW5ndGggPT09IDFcIlxuICAgICAgICAoY2xpY2spPVwicmVtb3ZlSXRlbShpdGVtKVwiXG4gICAgICA+XG4gICAgICAgIDxjbHItaWNvbiBzaGFwZT1cInRyYXNoXCI+PC9jbHItaWNvbj5cbiAgICAgIDwvYnV0dG9uPlxuICAgIDwvZGl2PlxuICA8L25nLWNvbnRhaW5lcj5cblxuICA8YnV0dG9uXG4gICAgKm5nSWY9XCIhKHJlYWRvbmx5IHx8IHJlYWRvbmx5ID09PSAnJylcIlxuICAgIHR5cGU9XCJidXR0b25cIlxuICAgIGNsYXNzPVwiYnRuIGJ0bi1saW5rIGJ0bi1zbSBidG4tYWRkXCJcbiAgICAoY2xpY2spPVwiYWRkSXRlbSgpXCJcbiAgICBbZGlzYWJsZWRdPVwiIWFkZFBvc3NpYmxlXCJcbiAgPlxuICAgIHt7YWRkTGFiZWx9fVxuICA8L2J1dHRvbj5cbjwvZGl2PlxuIl19
@@ -10,10 +10,10 @@ import { ClarityModule } from '@clr/angular';
10
10
  import * as i0 from "@angular/core";
11
11
  export class ClrGenericQuickListModule {
12
12
  }
13
- ClrGenericQuickListModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.8", ngImport: i0, type: ClrGenericQuickListModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
14
- ClrGenericQuickListModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.8", ngImport: i0, type: ClrGenericQuickListModule, declarations: [ClrGenericQuickList], imports: [CommonModule, ClarityModule], exports: [ClrGenericQuickList] });
15
- ClrGenericQuickListModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.8", ngImport: i0, type: ClrGenericQuickListModule, imports: [[CommonModule, ClarityModule]] });
16
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.8", ngImport: i0, type: ClrGenericQuickListModule, decorators: [{
13
+ ClrGenericQuickListModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: ClrGenericQuickListModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
14
+ ClrGenericQuickListModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: ClrGenericQuickListModule, declarations: [ClrGenericQuickList], imports: [CommonModule, ClarityModule], exports: [ClrGenericQuickList] });
15
+ ClrGenericQuickListModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: ClrGenericQuickListModule, imports: [[CommonModule, ClarityModule]] });
16
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: ClrGenericQuickListModule, decorators: [{
17
17
  type: NgModule,
18
18
  args: [{
19
19
  imports: [CommonModule, ClarityModule],
@@ -21,4 +21,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.8", ngImpor
21
21
  exports: [ClrGenericQuickList],
22
22
  }]
23
23
  }] });
24
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2VuZXJpYy1xdWljay1saXN0Lm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jbHItYWRkb25zL2dlbmVyaWMtcXVpY2stbGlzdC9nZW5lcmljLXF1aWNrLWxpc3QubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7O0dBSUc7QUFFSCxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUMzRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sY0FBYyxDQUFDOztBQU83QyxNQUFNLE9BQU8seUJBQXlCOztzSEFBekIseUJBQXlCO3VIQUF6Qix5QkFBeUIsaUJBSHJCLG1CQUFtQixhQUR4QixZQUFZLEVBQUUsYUFBYSxhQUUzQixtQkFBbUI7dUhBRWxCLHlCQUF5QixZQUozQixDQUFDLFlBQVksRUFBRSxhQUFhLENBQUM7MkZBSTNCLHlCQUF5QjtrQkFMckMsUUFBUTttQkFBQztvQkFDUixPQUFPLEVBQUUsQ0FBQyxZQUFZLEVBQUUsYUFBYSxDQUFDO29CQUN0QyxZQUFZLEVBQUUsQ0FBQyxtQkFBbUIsQ0FBQztvQkFDbkMsT0FBTyxFQUFFLENBQUMsbUJBQW1CLENBQUM7aUJBQy9CIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIENvcHlyaWdodCAoYykgMjAxOCBQb3JzY2hlIEluZm9ybWF0aWsuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuXG4gKiBUaGlzIHNvZnR3YXJlIGlzIHJlbGVhc2VkIHVuZGVyIE1JVCBsaWNlbnNlLlxuICogVGhlIGZ1bGwgbGljZW5zZSBpbmZvcm1hdGlvbiBjYW4gYmUgZm91bmQgaW4gTElDRU5TRSBpbiB0aGUgcm9vdCBkaXJlY3Rvcnkgb2YgdGhpcyBwcm9qZWN0LlxuICovXG5cbmltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgQ2xyR2VuZXJpY1F1aWNrTGlzdCB9IGZyb20gJy4vZ2VuZXJpYy1xdWljay1saXN0JztcbmltcG9ydCB7IENsYXJpdHlNb2R1bGUgfSBmcm9tICdAY2xyL2FuZ3VsYXInO1xuXG5ATmdNb2R1bGUoe1xuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBDbGFyaXR5TW9kdWxlXSxcbiAgZGVjbGFyYXRpb25zOiBbQ2xyR2VuZXJpY1F1aWNrTGlzdF0sXG4gIGV4cG9ydHM6IFtDbHJHZW5lcmljUXVpY2tMaXN0XSxcbn0pXG5leHBvcnQgY2xhc3MgQ2xyR2VuZXJpY1F1aWNrTGlzdE1vZHVsZSB7fVxuIl19
24
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2VuZXJpYy1xdWljay1saXN0Lm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jbHItYWRkb25zL2dlbmVyaWMtcXVpY2stbGlzdC9nZW5lcmljLXF1aWNrLWxpc3QubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7O0dBSUc7QUFFSCxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUMzRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sY0FBYyxDQUFDOztBQU83QyxNQUFNLE9BQU8seUJBQXlCOzt1SEFBekIseUJBQXlCO3dIQUF6Qix5QkFBeUIsaUJBSHJCLG1CQUFtQixhQUR4QixZQUFZLEVBQUUsYUFBYSxhQUUzQixtQkFBbUI7d0hBRWxCLHlCQUF5QixZQUozQixDQUFDLFlBQVksRUFBRSxhQUFhLENBQUM7NEZBSTNCLHlCQUF5QjtrQkFMckMsUUFBUTttQkFBQztvQkFDUixPQUFPLEVBQUUsQ0FBQyxZQUFZLEVBQUUsYUFBYSxDQUFDO29CQUN0QyxZQUFZLEVBQUUsQ0FBQyxtQkFBbUIsQ0FBQztvQkFDbkMsT0FBTyxFQUFFLENBQUMsbUJBQW1CLENBQUM7aUJBQy9CIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIENvcHlyaWdodCAoYykgMjAxOCBQb3JzY2hlIEluZm9ybWF0aWsuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuXG4gKiBUaGlzIHNvZnR3YXJlIGlzIHJlbGVhc2VkIHVuZGVyIE1JVCBsaWNlbnNlLlxuICogVGhlIGZ1bGwgbGljZW5zZSBpbmZvcm1hdGlvbiBjYW4gYmUgZm91bmQgaW4gTElDRU5TRSBpbiB0aGUgcm9vdCBkaXJlY3Rvcnkgb2YgdGhpcyBwcm9qZWN0LlxuICovXG5cbmltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgQ2xyR2VuZXJpY1F1aWNrTGlzdCB9IGZyb20gJy4vZ2VuZXJpYy1xdWljay1saXN0JztcbmltcG9ydCB7IENsYXJpdHlNb2R1bGUgfSBmcm9tICdAY2xyL2FuZ3VsYXInO1xuXG5ATmdNb2R1bGUoe1xuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBDbGFyaXR5TW9kdWxlXSxcbiAgZGVjbGFyYXRpb25zOiBbQ2xyR2VuZXJpY1F1aWNrTGlzdF0sXG4gIGV4cG9ydHM6IFtDbHJHZW5lcmljUXVpY2tMaXN0XSxcbn0pXG5leHBvcnQgY2xhc3MgQ2xyR2VuZXJpY1F1aWNrTGlzdE1vZHVsZSB7fVxuIl19
@@ -31,9 +31,9 @@ export class ClrHistoryPinned {
31
31
  this.settingsSubscription.unsubscribe();
32
32
  }
33
33
  }
34
- ClrHistoryPinned.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.8", ngImport: i0, type: ClrHistoryPinned, deps: [{ token: i1.ClrHistoryService }], target: i0.ɵɵFactoryTarget.Component });
35
- ClrHistoryPinned.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.8", type: ClrHistoryPinned, selector: "clr-history-pinned", inputs: { username: ["clrUsername", "username"], context: ["clrContext", "context"], domain: ["clrDomain", "domain"] }, ngImport: i0, template: "<nav aria-label=\"history\" class=\"history-container\" *ngIf=\"historyElements.length && active\">\n <ol class=\"history\">\n <ng-container *ngFor=\"let historyItem of historyElements\">\n <li *ngIf=\"historyItem.url\" class=\"history-item\">\n <a [href]=\"historyItem.url\">{{historyItem.title}}</a>\n </li>\n </ng-container>\n </ol>\n</nav>\n", directives: [{ type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }] });
36
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.8", ngImport: i0, type: ClrHistoryPinned, decorators: [{
34
+ ClrHistoryPinned.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: ClrHistoryPinned, deps: [{ token: i1.ClrHistoryService }], target: i0.ɵɵFactoryTarget.Component });
35
+ ClrHistoryPinned.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: ClrHistoryPinned, selector: "clr-history-pinned", inputs: { username: ["clrUsername", "username"], context: ["clrContext", "context"], domain: ["clrDomain", "domain"] }, ngImport: i0, template: "<nav aria-label=\"history\" class=\"history-container\" *ngIf=\"historyElements.length && active\">\n <ol class=\"history\">\n <ng-container *ngFor=\"let historyItem of historyElements\">\n <li *ngIf=\"historyItem.url\" class=\"history-item\">\n <a [href]=\"historyItem.url\">{{historyItem.title}}</a>\n </li>\n </ng-container>\n </ol>\n</nav>\n", directives: [{ type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }] });
36
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: ClrHistoryPinned, decorators: [{
37
37
  type: Component,
38
38
  args: [{ selector: 'clr-history-pinned', template: "<nav aria-label=\"history\" class=\"history-container\" *ngIf=\"historyElements.length && active\">\n <ol class=\"history\">\n <ng-container *ngFor=\"let historyItem of historyElements\">\n <li *ngIf=\"historyItem.url\" class=\"history-item\">\n <a [href]=\"historyItem.url\">{{historyItem.title}}</a>\n </li>\n </ng-container>\n </ol>\n</nav>\n" }]
39
39
  }], ctorParameters: function () { return [{ type: i1.ClrHistoryService }]; }, propDecorators: { username: [{
@@ -46,4 +46,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.8", ngImpor
46
46
  type: Input,
47
47
  args: ['clrDomain']
48
48
  }] } });
49
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGlzdG9yeS1waW5uZWQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvY2xyLWFkZG9ucy9oaXN0b3J5L2hpc3RvcnktcGlubmVkLnRzIiwiLi4vLi4vLi4vLi4vc3JjL2Nsci1hZGRvbnMvaGlzdG9yeS9oaXN0b3J5LXBpbm5lZC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7O0dBSUc7QUFFSCxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBcUIsTUFBTSxlQUFlLENBQUM7QUFFcEUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sbUJBQW1CLENBQUM7Ozs7QUFPdEQsTUFBTSxPQUFPLGdCQUFnQjtJQVkzQixZQUFvQixjQUFpQztRQUFqQyxtQkFBYyxHQUFkLGNBQWMsQ0FBbUI7UUFQckQ7O1dBRUc7UUFDSCxvQkFBZSxHQUFzQixFQUFFLENBQUM7UUFDeEMsV0FBTSxHQUFHLEtBQUssQ0FBQztJQUd5QyxDQUFDO0lBRXpELFFBQVE7UUFDTixJQUFJLENBQUMsZUFBZSxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7UUFFMUYsSUFBSSxDQUFDLGNBQWMsQ0FBQyx3QkFBd0IsQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUN6RSxJQUFJLENBQUMsb0JBQW9CLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxlQUFlLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxFQUFFO1lBQ25GLE1BQU0sT0FBTyxHQUFHLFFBQVEsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxPQUFPLENBQUMsUUFBUSxLQUFLLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztZQUM3RSxJQUFJLE9BQU8sRUFBRTtnQkFDWCxJQUFJLENBQUMsTUFBTSxHQUFHLE9BQU8sQ0FBQyxhQUFhLENBQUM7YUFDckM7UUFDSCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxXQUFXO1FBQ1QsSUFBSSxDQUFDLG9CQUFvQixDQUFDLFdBQVcsRUFBRSxDQUFDO0lBQzFDLENBQUM7OzZHQTVCVSxnQkFBZ0I7aUdBQWhCLGdCQUFnQixrTENmN0Isb1hBU0E7MkZETWEsZ0JBQWdCO2tCQUo1QixTQUFTOytCQUNFLG9CQUFvQjt3R0FJUixRQUFRO3NCQUE3QixLQUFLO3VCQUFDLGFBQWE7Z0JBQ0MsT0FBTztzQkFBM0IsS0FBSzt1QkFBQyxZQUFZO2dCQUNDLE1BQU07c0JBQXpCLEtBQUs7dUJBQUMsV0FBVyIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMTgtMjAyMCBQb3JzY2hlIEluZm9ybWF0aWsuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuXG4gKiBUaGlzIHNvZnR3YXJlIGlzIHJlbGVhc2VkIHVuZGVyIE1JVCBsaWNlbnNlLlxuICogVGhlIGZ1bGwgbGljZW5zZSBpbmZvcm1hdGlvbiBjYW4gYmUgZm91bmQgaW4gTElDRU5TRSBpbiB0aGUgcm9vdCBkaXJlY3Rvcnkgb2YgdGhpcyBwcm9qZWN0LlxuICovXG5cbmltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIE9uRGVzdHJveSwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDbHJIaXN0b3J5TW9kZWwgfSBmcm9tICcuL2hpc3RvcnktbW9kZWwuaW50ZXJmYWNlJztcbmltcG9ydCB7IENsckhpc3RvcnlTZXJ2aWNlIH0gZnJvbSAnLi9oaXN0b3J5LnNlcnZpY2UnO1xuaW1wb3J0IHsgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2Nsci1oaXN0b3J5LXBpbm5lZCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9oaXN0b3J5LXBpbm5lZC5odG1sJyxcbn0pXG5leHBvcnQgY2xhc3MgQ2xySGlzdG9yeVBpbm5lZCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcbiAgQElucHV0KCdjbHJVc2VybmFtZScpIHVzZXJuYW1lOiBzdHJpbmc7XG4gIEBJbnB1dCgnY2xyQ29udGV4dCcpIGNvbnRleHQ6IHsgW2tleTogc3RyaW5nXTogc3RyaW5nIH07XG4gIEBJbnB1dCgnY2xyRG9tYWluJykgZG9tYWluOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBhcnJheSBvZiBoaXN0b3J5IGVsZW1lbnRzIHRvIGJlIGRpc3BsYXllZC5cbiAgICovXG4gIGhpc3RvcnlFbGVtZW50czogQ2xySGlzdG9yeU1vZGVsW10gPSBbXTtcbiAgYWN0aXZlID0gZmFsc2U7XG4gIHByaXZhdGUgc2V0dGluZ3NTdWJzY3JpcHRpb246IFN1YnNjcmlwdGlvbjtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGhpc3RvcnlTZXJ2aWNlOiBDbHJIaXN0b3J5U2VydmljZSkge31cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLmhpc3RvcnlFbGVtZW50cyA9IHRoaXMuaGlzdG9yeVNlcnZpY2UuZ2V0SGlzdG9yeURpc3BsYXkodGhpcy51c2VybmFtZSwgdGhpcy5jb250ZXh0KTtcblxuICAgIHRoaXMuaGlzdG9yeVNlcnZpY2UuaW5pdGlhbGl6ZUNvb2tpZVNldHRpbmdzKHRoaXMudXNlcm5hbWUsIHRoaXMuZG9tYWluKTtcbiAgICB0aGlzLnNldHRpbmdzU3Vic2NyaXB0aW9uID0gdGhpcy5oaXN0b3J5U2VydmljZS5jb29raWVTZXR0aW5ncyQuc3Vic2NyaWJlKHNldHRpbmdzID0+IHtcbiAgICAgIGNvbnN0IHNldHRpbmcgPSBzZXR0aW5ncy5maW5kKHNldHRpbmcgPT4gc2V0dGluZy51c2VybmFtZSA9PT0gdGhpcy51c2VybmFtZSk7XG4gICAgICBpZiAoc2V0dGluZykge1xuICAgICAgICB0aGlzLmFjdGl2ZSA9IHNldHRpbmcuaGlzdG9yeVBpbm5lZDtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuc2V0dGluZ3NTdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcbiAgfVxufVxuIiwiPG5hdiBhcmlhLWxhYmVsPVwiaGlzdG9yeVwiIGNsYXNzPVwiaGlzdG9yeS1jb250YWluZXJcIiAqbmdJZj1cImhpc3RvcnlFbGVtZW50cy5sZW5ndGggJiYgYWN0aXZlXCI+XG4gIDxvbCBjbGFzcz1cImhpc3RvcnlcIj5cbiAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBoaXN0b3J5SXRlbSBvZiBoaXN0b3J5RWxlbWVudHNcIj5cbiAgICAgIDxsaSAqbmdJZj1cImhpc3RvcnlJdGVtLnVybFwiIGNsYXNzPVwiaGlzdG9yeS1pdGVtXCI+XG4gICAgICAgIDxhIFtocmVmXT1cImhpc3RvcnlJdGVtLnVybFwiPnt7aGlzdG9yeUl0ZW0udGl0bGV9fTwvYT5cbiAgICAgIDwvbGk+XG4gICAgPC9uZy1jb250YWluZXI+XG4gIDwvb2w+XG48L25hdj5cbiJdfQ==
49
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGlzdG9yeS1waW5uZWQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvY2xyLWFkZG9ucy9oaXN0b3J5L2hpc3RvcnktcGlubmVkLnRzIiwiLi4vLi4vLi4vLi4vc3JjL2Nsci1hZGRvbnMvaGlzdG9yeS9oaXN0b3J5LXBpbm5lZC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7O0dBSUc7QUFFSCxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBcUIsTUFBTSxlQUFlLENBQUM7QUFFcEUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sbUJBQW1CLENBQUM7Ozs7QUFPdEQsTUFBTSxPQUFPLGdCQUFnQjtJQVkzQixZQUFvQixjQUFpQztRQUFqQyxtQkFBYyxHQUFkLGNBQWMsQ0FBbUI7UUFQckQ7O1dBRUc7UUFDSCxvQkFBZSxHQUFzQixFQUFFLENBQUM7UUFDeEMsV0FBTSxHQUFHLEtBQUssQ0FBQztJQUd5QyxDQUFDO0lBRXpELFFBQVE7UUFDTixJQUFJLENBQUMsZUFBZSxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7UUFFMUYsSUFBSSxDQUFDLGNBQWMsQ0FBQyx3QkFBd0IsQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUN6RSxJQUFJLENBQUMsb0JBQW9CLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxlQUFlLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxFQUFFO1lBQ25GLE1BQU0sT0FBTyxHQUFHLFFBQVEsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxPQUFPLENBQUMsUUFBUSxLQUFLLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztZQUM3RSxJQUFJLE9BQU8sRUFBRTtnQkFDWCxJQUFJLENBQUMsTUFBTSxHQUFHLE9BQU8sQ0FBQyxhQUFhLENBQUM7YUFDckM7UUFDSCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxXQUFXO1FBQ1QsSUFBSSxDQUFDLG9CQUFvQixDQUFDLFdBQVcsRUFBRSxDQUFDO0lBQzFDLENBQUM7OzhHQTVCVSxnQkFBZ0I7a0dBQWhCLGdCQUFnQixrTENmN0Isb1hBU0E7NEZETWEsZ0JBQWdCO2tCQUo1QixTQUFTOytCQUNFLG9CQUFvQjt3R0FJUixRQUFRO3NCQUE3QixLQUFLO3VCQUFDLGFBQWE7Z0JBQ0MsT0FBTztzQkFBM0IsS0FBSzt1QkFBQyxZQUFZO2dCQUNDLE1BQU07c0JBQXpCLEtBQUs7dUJBQUMsV0FBVyIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMTgtMjAyMCBQb3JzY2hlIEluZm9ybWF0aWsuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuXG4gKiBUaGlzIHNvZnR3YXJlIGlzIHJlbGVhc2VkIHVuZGVyIE1JVCBsaWNlbnNlLlxuICogVGhlIGZ1bGwgbGljZW5zZSBpbmZvcm1hdGlvbiBjYW4gYmUgZm91bmQgaW4gTElDRU5TRSBpbiB0aGUgcm9vdCBkaXJlY3Rvcnkgb2YgdGhpcyBwcm9qZWN0LlxuICovXG5cbmltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIE9uRGVzdHJveSwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDbHJIaXN0b3J5TW9kZWwgfSBmcm9tICcuL2hpc3RvcnktbW9kZWwuaW50ZXJmYWNlJztcbmltcG9ydCB7IENsckhpc3RvcnlTZXJ2aWNlIH0gZnJvbSAnLi9oaXN0b3J5LnNlcnZpY2UnO1xuaW1wb3J0IHsgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2Nsci1oaXN0b3J5LXBpbm5lZCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9oaXN0b3J5LXBpbm5lZC5odG1sJyxcbn0pXG5leHBvcnQgY2xhc3MgQ2xySGlzdG9yeVBpbm5lZCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcbiAgQElucHV0KCdjbHJVc2VybmFtZScpIHVzZXJuYW1lOiBzdHJpbmc7XG4gIEBJbnB1dCgnY2xyQ29udGV4dCcpIGNvbnRleHQ6IHsgW2tleTogc3RyaW5nXTogc3RyaW5nIH07XG4gIEBJbnB1dCgnY2xyRG9tYWluJykgZG9tYWluOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBhcnJheSBvZiBoaXN0b3J5IGVsZW1lbnRzIHRvIGJlIGRpc3BsYXllZC5cbiAgICovXG4gIGhpc3RvcnlFbGVtZW50czogQ2xySGlzdG9yeU1vZGVsW10gPSBbXTtcbiAgYWN0aXZlID0gZmFsc2U7XG4gIHByaXZhdGUgc2V0dGluZ3NTdWJzY3JpcHRpb246IFN1YnNjcmlwdGlvbjtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGhpc3RvcnlTZXJ2aWNlOiBDbHJIaXN0b3J5U2VydmljZSkge31cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLmhpc3RvcnlFbGVtZW50cyA9IHRoaXMuaGlzdG9yeVNlcnZpY2UuZ2V0SGlzdG9yeURpc3BsYXkodGhpcy51c2VybmFtZSwgdGhpcy5jb250ZXh0KTtcblxuICAgIHRoaXMuaGlzdG9yeVNlcnZpY2UuaW5pdGlhbGl6ZUNvb2tpZVNldHRpbmdzKHRoaXMudXNlcm5hbWUsIHRoaXMuZG9tYWluKTtcbiAgICB0aGlzLnNldHRpbmdzU3Vic2NyaXB0aW9uID0gdGhpcy5oaXN0b3J5U2VydmljZS5jb29raWVTZXR0aW5ncyQuc3Vic2NyaWJlKHNldHRpbmdzID0+IHtcbiAgICAgIGNvbnN0IHNldHRpbmcgPSBzZXR0aW5ncy5maW5kKHNldHRpbmcgPT4gc2V0dGluZy51c2VybmFtZSA9PT0gdGhpcy51c2VybmFtZSk7XG4gICAgICBpZiAoc2V0dGluZykge1xuICAgICAgICB0aGlzLmFjdGl2ZSA9IHNldHRpbmcuaGlzdG9yeVBpbm5lZDtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuc2V0dGluZ3NTdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcbiAgfVxufVxuIiwiPG5hdiBhcmlhLWxhYmVsPVwiaGlzdG9yeVwiIGNsYXNzPVwiaGlzdG9yeS1jb250YWluZXJcIiAqbmdJZj1cImhpc3RvcnlFbGVtZW50cy5sZW5ndGggJiYgYWN0aXZlXCI+XG4gIDxvbCBjbGFzcz1cImhpc3RvcnlcIj5cbiAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBoaXN0b3J5SXRlbSBvZiBoaXN0b3J5RWxlbWVudHNcIj5cbiAgICAgIDxsaSAqbmdJZj1cImhpc3RvcnlJdGVtLnVybFwiIGNsYXNzPVwiaGlzdG9yeS1pdGVtXCI+XG4gICAgICAgIDxhIFtocmVmXT1cImhpc3RvcnlJdGVtLnVybFwiPnt7aGlzdG9yeUl0ZW0udGl0bGV9fTwvYT5cbiAgICAgIDwvbGk+XG4gICAgPC9uZy1jb250YWluZXI+XG4gIDwvb2w+XG48L25hdj5cbiJdfQ==
@@ -45,9 +45,9 @@ export class ClrHistory {
45
45
  this.historyService.setHistoryPinned(this.username, !this.pinActivated);
46
46
  }
47
47
  }
48
- ClrHistory.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.8", ngImport: i0, type: ClrHistory, deps: [{ token: i1.ClrHistoryService }], target: i0.ɵɵFactoryTarget.Component });
49
- ClrHistory.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.8", type: ClrHistory, selector: "clr-history", inputs: { username: ["clrUsername", "username"], context: ["clrContext", "context"], pinActive: ["clrPinActive", "pinActive"], dropdownHeader: ["clrDropdownHeader", "dropdownHeader"], dropdownPin: ["clrDropdownPin", "dropdownPin"], dropdownUnpin: ["clrDropdownUnpin", "dropdownUnpin"], domain: ["clrDomain", "domain"], position: ["clrPosition", "position"] }, ngImport: i0, template: "<clr-dropdown>\n <button type=\"button\" class=\"btn btn-icon btn-link\" clrDropdownTrigger>\n <clr-icon shape=\"history\" size=\"24\"></clr-icon>\n <clr-icon shape=\"caret down\" size=\"12\"></clr-icon>\n </button>\n <clr-dropdown-menu [clrPosition]=\"position\" *clrIfOpen>\n <label class=\"dropdown-header\" aria-hidden=\"true\">{{dropdownHeader}}</label>\n <button type=\"button\" clrDropdownItem *ngFor=\"let history of historyElements\" (click)=\"select(history)\">\n {{history.title}}\n </button>\n <div *ngIf=\"pinActive\" class=\"dropdown-divider\" role=\"separator\" aria-hidden=\"true\"></div>\n <button clrDropdownItem (click)=\"togglePinHistory()\">\n <span *ngIf=\"pinActive && !pinActivated\">{{dropdownPin}}</span>\n <span *ngIf=\"pinActive && pinActivated\">{{dropdownUnpin}}</span>\n </button>\n </clr-dropdown-menu>\n</clr-dropdown>\n", components: [{ type: i2.ClrDropdown, selector: "clr-dropdown", inputs: ["clrCloseMenuOnItemClick"] }, { type: i2.ClrDropdownMenu, selector: "clr-dropdown-menu", inputs: ["clrPosition"] }], directives: [{ type: i2.ClrDropdownTrigger, selector: "[clrDropdownTrigger],[clrDropdownToggle]" }, { type: i2.ClrIconCustomTag, selector: "clr-icon" }, { type: i2.ClrIfOpen, selector: "[clrIfOpen]", inputs: ["clrIfOpen"], outputs: ["clrIfOpenChange"] }, { type: i3.ClrDropdownOverflowDirective, selector: "clr-dropdown-menu", inputs: ["clrDropdownMenuMaxHeight", "clrDropdownMenuItemMinHeight"] }, { type: i2.ClrLabel, selector: "label", inputs: ["for"] }, { type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i2.ClrDropdownItem, selector: "[clrDropdownItem]", inputs: ["clrDisabled", "disabled", "id"] }, { type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
50
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.8", ngImport: i0, type: ClrHistory, decorators: [{
48
+ ClrHistory.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: ClrHistory, deps: [{ token: i1.ClrHistoryService }], target: i0.ɵɵFactoryTarget.Component });
49
+ ClrHistory.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: ClrHistory, selector: "clr-history", inputs: { username: ["clrUsername", "username"], context: ["clrContext", "context"], pinActive: ["clrPinActive", "pinActive"], dropdownHeader: ["clrDropdownHeader", "dropdownHeader"], dropdownPin: ["clrDropdownPin", "dropdownPin"], dropdownUnpin: ["clrDropdownUnpin", "dropdownUnpin"], domain: ["clrDomain", "domain"], position: ["clrPosition", "position"] }, ngImport: i0, template: "<clr-dropdown>\n <button type=\"button\" class=\"btn btn-icon btn-link\" clrDropdownTrigger>\n <clr-icon shape=\"history\" size=\"24\"></clr-icon>\n <clr-icon shape=\"caret down\" size=\"12\"></clr-icon>\n </button>\n <clr-dropdown-menu [clrPosition]=\"position\" *clrIfOpen>\n <label class=\"dropdown-header\" aria-hidden=\"true\">{{dropdownHeader}}</label>\n <button type=\"button\" clrDropdownItem *ngFor=\"let history of historyElements\" (click)=\"select(history)\">\n {{history.title}}\n </button>\n <div *ngIf=\"pinActive\" class=\"dropdown-divider\" role=\"separator\" aria-hidden=\"true\"></div>\n <button clrDropdownItem (click)=\"togglePinHistory()\">\n <span *ngIf=\"pinActive && !pinActivated\">{{dropdownPin}}</span>\n <span *ngIf=\"pinActive && pinActivated\">{{dropdownUnpin}}</span>\n </button>\n </clr-dropdown-menu>\n</clr-dropdown>\n", components: [{ type: i2.ClrDropdown, selector: "clr-dropdown", inputs: ["clrCloseMenuOnItemClick"] }, { type: i2.ClrDropdownMenu, selector: "clr-dropdown-menu", inputs: ["clrPosition"] }], directives: [{ type: i2.ClrDropdownTrigger, selector: "[clrDropdownTrigger],[clrDropdownToggle]" }, { type: i2.ClrIconCustomTag, selector: "clr-icon" }, { type: i2.ClrIfOpen, selector: "[clrIfOpen]", inputs: ["clrIfOpen"], outputs: ["clrIfOpenChange"] }, { type: i3.ClrDropdownOverflowDirective, selector: "clr-dropdown-menu", inputs: ["clrDropdownMenuMaxHeight", "clrDropdownMenuItemMinHeight"] }, { type: i2.ClrLabel, selector: "label", inputs: ["for"] }, { type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i2.ClrDropdownItem, selector: "[clrDropdownItem]", inputs: ["clrDisabled", "disabled", "id"] }, { type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
50
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: ClrHistory, decorators: [{
51
51
  type: Component,
52
52
  args: [{ selector: 'clr-history', template: "<clr-dropdown>\n <button type=\"button\" class=\"btn btn-icon btn-link\" clrDropdownTrigger>\n <clr-icon shape=\"history\" size=\"24\"></clr-icon>\n <clr-icon shape=\"caret down\" size=\"12\"></clr-icon>\n </button>\n <clr-dropdown-menu [clrPosition]=\"position\" *clrIfOpen>\n <label class=\"dropdown-header\" aria-hidden=\"true\">{{dropdownHeader}}</label>\n <button type=\"button\" clrDropdownItem *ngFor=\"let history of historyElements\" (click)=\"select(history)\">\n {{history.title}}\n </button>\n <div *ngIf=\"pinActive\" class=\"dropdown-divider\" role=\"separator\" aria-hidden=\"true\"></div>\n <button clrDropdownItem (click)=\"togglePinHistory()\">\n <span *ngIf=\"pinActive && !pinActivated\">{{dropdownPin}}</span>\n <span *ngIf=\"pinActive && pinActivated\">{{dropdownUnpin}}</span>\n </button>\n </clr-dropdown-menu>\n</clr-dropdown>\n" }]
53
53
  }], ctorParameters: function () { return [{ type: i1.ClrHistoryService }]; }, propDecorators: { username: [{
@@ -75,4 +75,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.8", ngImpor
75
75
  type: Input,
76
76
  args: ['clrPosition']
77
77
  }] } });
78
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGlzdG9yeS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jbHItYWRkb25zL2hpc3RvcnkvaGlzdG9yeS50cyIsIi4uLy4uLy4uLy4uL3NyYy9jbHItYWRkb25zL2hpc3RvcnkvaGlzdG9yeS5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7O0dBSUc7QUFFSCxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBcUIsTUFBTSxlQUFlLENBQUM7QUFFcEUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDdEQsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMvQixPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7Ozs7OztBQU0zQyxNQUFNLE9BQU8sVUFBVTtJQWlCckIsWUFBb0IsY0FBaUM7UUFBakMsbUJBQWMsR0FBZCxjQUFjLENBQW1CO1FBZDlCLGNBQVMsR0FBRyxJQUFJLENBQUM7UUFDWixtQkFBYyxHQUFHLFNBQVMsQ0FBQztRQUM5QixnQkFBVyxHQUFHLGFBQWEsQ0FBQztRQUMxQixrQkFBYSxHQUFHLGVBQWUsQ0FBQztRQUVyQyxhQUFRLEdBQUcsY0FBYyxDQUFDO1FBRWhEOztXQUVHO1FBQ0gsb0JBQWUsR0FBc0IsRUFBRSxDQUFDO1FBQ3hDLGlCQUFZLEdBQUcsS0FBSyxDQUFDO1FBQ2IsZUFBVSxHQUFHLElBQUksT0FBTyxFQUFRLENBQUM7SUFFZSxDQUFDO0lBRXpELFFBQVE7UUFDTixJQUFJLENBQUMsZUFBZSxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7UUFFMUYsSUFBSSxDQUFDLGNBQWMsQ0FBQyx3QkFBd0IsQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUN6RSxJQUFJLENBQUMsY0FBYyxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsRUFBRTtZQUN4RixJQUFJLENBQUMsWUFBWSxHQUFHLFFBQVEsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxPQUFPLENBQUMsUUFBUSxLQUFLLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxhQUFhLENBQUM7UUFDakcsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsV0FBVztRQUNULElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDdkIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUM3QixDQUFDO0lBRUQsTUFBTSxDQUFDLE9BQXdCO1FBQzdCLE1BQU0sQ0FBQyxRQUFRLENBQUMsSUFBSSxHQUFHLE9BQU8sQ0FBQyxHQUFHLENBQUM7SUFDckMsQ0FBQztJQUVELGdCQUFnQjtRQUNkLElBQUksQ0FBQyxjQUFjLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQztJQUMxRSxDQUFDOzt1R0F2Q1UsVUFBVTsyRkFBVixVQUFVLDJaQ2hCdkIsazRCQWlCQTsyRkREYSxVQUFVO2tCQUp0QixTQUFTOytCQUNFLGFBQWE7d0dBSUQsUUFBUTtzQkFBN0IsS0FBSzt1QkFBQyxhQUFhO2dCQUNDLE9BQU87c0JBQTNCLEtBQUs7dUJBQUMsWUFBWTtnQkFDSSxTQUFTO3NCQUEvQixLQUFLO3VCQUFDLGNBQWM7Z0JBQ08sY0FBYztzQkFBekMsS0FBSzt1QkFBQyxtQkFBbUI7Z0JBQ0QsV0FBVztzQkFBbkMsS0FBSzt1QkFBQyxnQkFBZ0I7Z0JBQ0ksYUFBYTtzQkFBdkMsS0FBSzt1QkFBQyxrQkFBa0I7Z0JBQ0wsTUFBTTtzQkFBekIsS0FBSzt1QkFBQyxXQUFXO2dCQUNJLFFBQVE7c0JBQTdCLEtBQUs7dUJBQUMsYUFBYSIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMTgtMjAyMiBQb3JzY2hlIEluZm9ybWF0aWsuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuXG4gKiBUaGlzIHNvZnR3YXJlIGlzIHJlbGVhc2VkIHVuZGVyIE1JVCBsaWNlbnNlLlxuICogVGhlIGZ1bGwgbGljZW5zZSBpbmZvcm1hdGlvbiBjYW4gYmUgZm91bmQgaW4gTElDRU5TRSBpbiB0aGUgcm9vdCBkaXJlY3Rvcnkgb2YgdGhpcyBwcm9qZWN0LlxuICovXG5cbmltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIE9uRGVzdHJveSwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDbHJIaXN0b3J5TW9kZWwgfSBmcm9tICcuL2hpc3RvcnktbW9kZWwuaW50ZXJmYWNlJztcbmltcG9ydCB7IENsckhpc3RvcnlTZXJ2aWNlIH0gZnJvbSAnLi9oaXN0b3J5LnNlcnZpY2UnO1xuaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgdGFrZVVudGlsIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdjbHItaGlzdG9yeScsXG4gIHRlbXBsYXRlVXJsOiAnLi9oaXN0b3J5Lmh0bWwnLFxufSlcbmV4cG9ydCBjbGFzcyBDbHJIaXN0b3J5IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xuICBASW5wdXQoJ2NsclVzZXJuYW1lJykgdXNlcm5hbWU6IHN0cmluZztcbiAgQElucHV0KCdjbHJDb250ZXh0JykgY29udGV4dDogeyBba2V5OiBzdHJpbmddOiBzdHJpbmcgfTtcbiAgQElucHV0KCdjbHJQaW5BY3RpdmUnKSBwaW5BY3RpdmUgPSB0cnVlO1xuICBASW5wdXQoJ2NsckRyb3Bkb3duSGVhZGVyJykgZHJvcGRvd25IZWFkZXIgPSAnSGlzdG9yeSc7XG4gIEBJbnB1dCgnY2xyRHJvcGRvd25QaW4nKSBkcm9wZG93blBpbiA9ICdQaW4gSGlzdG9yeSc7XG4gIEBJbnB1dCgnY2xyRHJvcGRvd25VbnBpbicpIGRyb3Bkb3duVW5waW4gPSAnVW5waW4gSGlzdG9yeSc7XG4gIEBJbnB1dCgnY2xyRG9tYWluJykgZG9tYWluOiBzdHJpbmc7XG4gIEBJbnB1dCgnY2xyUG9zaXRpb24nKSBwb3NpdGlvbiA9ICdib3R0b20tcmlnaHQnO1xuXG4gIC8qKlxuICAgKiBUaGUgYXJyYXkgb2YgaGlzdG9yeSBlbGVtZW50cyB0byBiZSBkaXNwbGF5ZWQuXG4gICAqL1xuICBoaXN0b3J5RWxlbWVudHM6IENsckhpc3RvcnlNb2RlbFtdID0gW107XG4gIHBpbkFjdGl2YXRlZCA9IGZhbHNlO1xuICBwcml2YXRlIG9uRGVzdHJveSQgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgaGlzdG9yeVNlcnZpY2U6IENsckhpc3RvcnlTZXJ2aWNlKSB7fVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMuaGlzdG9yeUVsZW1lbnRzID0gdGhpcy5oaXN0b3J5U2VydmljZS5nZXRIaXN0b3J5RGlzcGxheSh0aGlzLnVzZXJuYW1lLCB0aGlzLmNvbnRleHQpO1xuXG4gICAgdGhpcy5oaXN0b3J5U2VydmljZS5pbml0aWFsaXplQ29va2llU2V0dGluZ3ModGhpcy51c2VybmFtZSwgdGhpcy5kb21haW4pO1xuICAgIHRoaXMuaGlzdG9yeVNlcnZpY2UuY29va2llU2V0dGluZ3MkLnBpcGUodGFrZVVudGlsKHRoaXMub25EZXN0cm95JCkpLnN1YnNjcmliZShzZXR0aW5ncyA9PiB7XG4gICAgICB0aGlzLnBpbkFjdGl2YXRlZCA9IHNldHRpbmdzLmZpbmQoc2V0dGluZyA9PiBzZXR0aW5nLnVzZXJuYW1lID09PSB0aGlzLnVzZXJuYW1lKS5oaXN0b3J5UGlubmVkO1xuICAgIH0pO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5vbkRlc3Ryb3kkLm5leHQoKTtcbiAgICB0aGlzLm9uRGVzdHJveSQuY29tcGxldGUoKTtcbiAgfVxuXG4gIHNlbGVjdChoaXN0b3J5OiBDbHJIaXN0b3J5TW9kZWwpOiB2b2lkIHtcbiAgICB3aW5kb3cubG9jYXRpb24uaHJlZiA9IGhpc3RvcnkudXJsO1xuICB9XG5cbiAgdG9nZ2xlUGluSGlzdG9yeSgpOiB2b2lkIHtcbiAgICB0aGlzLmhpc3RvcnlTZXJ2aWNlLnNldEhpc3RvcnlQaW5uZWQodGhpcy51c2VybmFtZSwgIXRoaXMucGluQWN0aXZhdGVkKTtcbiAgfVxufVxuIiwiPGNsci1kcm9wZG93bj5cbiAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgY2xhc3M9XCJidG4gYnRuLWljb24gYnRuLWxpbmtcIiBjbHJEcm9wZG93blRyaWdnZXI+XG4gICAgPGNsci1pY29uIHNoYXBlPVwiaGlzdG9yeVwiIHNpemU9XCIyNFwiPjwvY2xyLWljb24+XG4gICAgPGNsci1pY29uIHNoYXBlPVwiY2FyZXQgZG93blwiIHNpemU9XCIxMlwiPjwvY2xyLWljb24+XG4gIDwvYnV0dG9uPlxuICA8Y2xyLWRyb3Bkb3duLW1lbnUgW2NsclBvc2l0aW9uXT1cInBvc2l0aW9uXCIgKmNscklmT3Blbj5cbiAgICA8bGFiZWwgY2xhc3M9XCJkcm9wZG93bi1oZWFkZXJcIiBhcmlhLWhpZGRlbj1cInRydWVcIj57e2Ryb3Bkb3duSGVhZGVyfX08L2xhYmVsPlxuICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiIGNsckRyb3Bkb3duSXRlbSAqbmdGb3I9XCJsZXQgaGlzdG9yeSBvZiBoaXN0b3J5RWxlbWVudHNcIiAoY2xpY2spPVwic2VsZWN0KGhpc3RvcnkpXCI+XG4gICAgICB7e2hpc3RvcnkudGl0bGV9fVxuICAgIDwvYnV0dG9uPlxuICAgIDxkaXYgKm5nSWY9XCJwaW5BY3RpdmVcIiBjbGFzcz1cImRyb3Bkb3duLWRpdmlkZXJcIiByb2xlPVwic2VwYXJhdG9yXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCI+PC9kaXY+XG4gICAgPGJ1dHRvbiBjbHJEcm9wZG93bkl0ZW0gKGNsaWNrKT1cInRvZ2dsZVBpbkhpc3RvcnkoKVwiPlxuICAgICAgPHNwYW4gKm5nSWY9XCJwaW5BY3RpdmUgJiYgIXBpbkFjdGl2YXRlZFwiPnt7ZHJvcGRvd25QaW59fTwvc3Bhbj5cbiAgICAgIDxzcGFuICpuZ0lmPVwicGluQWN0aXZlICYmIHBpbkFjdGl2YXRlZFwiPnt7ZHJvcGRvd25VbnBpbn19PC9zcGFuPlxuICAgIDwvYnV0dG9uPlxuICA8L2Nsci1kcm9wZG93bi1tZW51PlxuPC9jbHItZHJvcGRvd24+XG4iXX0=
78
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGlzdG9yeS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jbHItYWRkb25zL2hpc3RvcnkvaGlzdG9yeS50cyIsIi4uLy4uLy4uLy4uL3NyYy9jbHItYWRkb25zL2hpc3RvcnkvaGlzdG9yeS5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7O0dBSUc7QUFFSCxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBcUIsTUFBTSxlQUFlLENBQUM7QUFFcEUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDdEQsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMvQixPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7Ozs7OztBQU0zQyxNQUFNLE9BQU8sVUFBVTtJQWlCckIsWUFBb0IsY0FBaUM7UUFBakMsbUJBQWMsR0FBZCxjQUFjLENBQW1CO1FBZDlCLGNBQVMsR0FBRyxJQUFJLENBQUM7UUFDWixtQkFBYyxHQUFHLFNBQVMsQ0FBQztRQUM5QixnQkFBVyxHQUFHLGFBQWEsQ0FBQztRQUMxQixrQkFBYSxHQUFHLGVBQWUsQ0FBQztRQUVyQyxhQUFRLEdBQUcsY0FBYyxDQUFDO1FBRWhEOztXQUVHO1FBQ0gsb0JBQWUsR0FBc0IsRUFBRSxDQUFDO1FBQ3hDLGlCQUFZLEdBQUcsS0FBSyxDQUFDO1FBQ2IsZUFBVSxHQUFHLElBQUksT0FBTyxFQUFRLENBQUM7SUFFZSxDQUFDO0lBRXpELFFBQVE7UUFDTixJQUFJLENBQUMsZUFBZSxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7UUFFMUYsSUFBSSxDQUFDLGNBQWMsQ0FBQyx3QkFBd0IsQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUN6RSxJQUFJLENBQUMsY0FBYyxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsRUFBRTtZQUN4RixJQUFJLENBQUMsWUFBWSxHQUFHLFFBQVEsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxPQUFPLENBQUMsUUFBUSxLQUFLLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxhQUFhLENBQUM7UUFDakcsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsV0FBVztRQUNULElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDdkIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUM3QixDQUFDO0lBRUQsTUFBTSxDQUFDLE9BQXdCO1FBQzdCLE1BQU0sQ0FBQyxRQUFRLENBQUMsSUFBSSxHQUFHLE9BQU8sQ0FBQyxHQUFHLENBQUM7SUFDckMsQ0FBQztJQUVELGdCQUFnQjtRQUNkLElBQUksQ0FBQyxjQUFjLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQztJQUMxRSxDQUFDOzt3R0F2Q1UsVUFBVTs0RkFBVixVQUFVLDJaQ2hCdkIsazRCQWlCQTs0RkREYSxVQUFVO2tCQUp0QixTQUFTOytCQUNFLGFBQWE7d0dBSUQsUUFBUTtzQkFBN0IsS0FBSzt1QkFBQyxhQUFhO2dCQUNDLE9BQU87c0JBQTNCLEtBQUs7dUJBQUMsWUFBWTtnQkFDSSxTQUFTO3NCQUEvQixLQUFLO3VCQUFDLGNBQWM7Z0JBQ08sY0FBYztzQkFBekMsS0FBSzt1QkFBQyxtQkFBbUI7Z0JBQ0QsV0FBVztzQkFBbkMsS0FBSzt1QkFBQyxnQkFBZ0I7Z0JBQ0ksYUFBYTtzQkFBdkMsS0FBSzt1QkFBQyxrQkFBa0I7Z0JBQ0wsTUFBTTtzQkFBekIsS0FBSzt1QkFBQyxXQUFXO2dCQUNJLFFBQVE7c0JBQTdCLEtBQUs7dUJBQUMsYUFBYSIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMTgtMjAyMiBQb3JzY2hlIEluZm9ybWF0aWsuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuXG4gKiBUaGlzIHNvZnR3YXJlIGlzIHJlbGVhc2VkIHVuZGVyIE1JVCBsaWNlbnNlLlxuICogVGhlIGZ1bGwgbGljZW5zZSBpbmZvcm1hdGlvbiBjYW4gYmUgZm91bmQgaW4gTElDRU5TRSBpbiB0aGUgcm9vdCBkaXJlY3Rvcnkgb2YgdGhpcyBwcm9qZWN0LlxuICovXG5cbmltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIE9uRGVzdHJveSwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDbHJIaXN0b3J5TW9kZWwgfSBmcm9tICcuL2hpc3RvcnktbW9kZWwuaW50ZXJmYWNlJztcbmltcG9ydCB7IENsckhpc3RvcnlTZXJ2aWNlIH0gZnJvbSAnLi9oaXN0b3J5LnNlcnZpY2UnO1xuaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgdGFrZVVudGlsIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdjbHItaGlzdG9yeScsXG4gIHRlbXBsYXRlVXJsOiAnLi9oaXN0b3J5Lmh0bWwnLFxufSlcbmV4cG9ydCBjbGFzcyBDbHJIaXN0b3J5IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xuICBASW5wdXQoJ2NsclVzZXJuYW1lJykgdXNlcm5hbWU6IHN0cmluZztcbiAgQElucHV0KCdjbHJDb250ZXh0JykgY29udGV4dDogeyBba2V5OiBzdHJpbmddOiBzdHJpbmcgfTtcbiAgQElucHV0KCdjbHJQaW5BY3RpdmUnKSBwaW5BY3RpdmUgPSB0cnVlO1xuICBASW5wdXQoJ2NsckRyb3Bkb3duSGVhZGVyJykgZHJvcGRvd25IZWFkZXIgPSAnSGlzdG9yeSc7XG4gIEBJbnB1dCgnY2xyRHJvcGRvd25QaW4nKSBkcm9wZG93blBpbiA9ICdQaW4gSGlzdG9yeSc7XG4gIEBJbnB1dCgnY2xyRHJvcGRvd25VbnBpbicpIGRyb3Bkb3duVW5waW4gPSAnVW5waW4gSGlzdG9yeSc7XG4gIEBJbnB1dCgnY2xyRG9tYWluJykgZG9tYWluOiBzdHJpbmc7XG4gIEBJbnB1dCgnY2xyUG9zaXRpb24nKSBwb3NpdGlvbiA9ICdib3R0b20tcmlnaHQnO1xuXG4gIC8qKlxuICAgKiBUaGUgYXJyYXkgb2YgaGlzdG9yeSBlbGVtZW50cyB0byBiZSBkaXNwbGF5ZWQuXG4gICAqL1xuICBoaXN0b3J5RWxlbWVudHM6IENsckhpc3RvcnlNb2RlbFtdID0gW107XG4gIHBpbkFjdGl2YXRlZCA9IGZhbHNlO1xuICBwcml2YXRlIG9uRGVzdHJveSQgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgaGlzdG9yeVNlcnZpY2U6IENsckhpc3RvcnlTZXJ2aWNlKSB7fVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMuaGlzdG9yeUVsZW1lbnRzID0gdGhpcy5oaXN0b3J5U2VydmljZS5nZXRIaXN0b3J5RGlzcGxheSh0aGlzLnVzZXJuYW1lLCB0aGlzLmNvbnRleHQpO1xuXG4gICAgdGhpcy5oaXN0b3J5U2VydmljZS5pbml0aWFsaXplQ29va2llU2V0dGluZ3ModGhpcy51c2VybmFtZSwgdGhpcy5kb21haW4pO1xuICAgIHRoaXMuaGlzdG9yeVNlcnZpY2UuY29va2llU2V0dGluZ3MkLnBpcGUodGFrZVVudGlsKHRoaXMub25EZXN0cm95JCkpLnN1YnNjcmliZShzZXR0aW5ncyA9PiB7XG4gICAgICB0aGlzLnBpbkFjdGl2YXRlZCA9IHNldHRpbmdzLmZpbmQoc2V0dGluZyA9PiBzZXR0aW5nLnVzZXJuYW1lID09PSB0aGlzLnVzZXJuYW1lKS5oaXN0b3J5UGlubmVkO1xuICAgIH0pO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5vbkRlc3Ryb3kkLm5leHQoKTtcbiAgICB0aGlzLm9uRGVzdHJveSQuY29tcGxldGUoKTtcbiAgfVxuXG4gIHNlbGVjdChoaXN0b3J5OiBDbHJIaXN0b3J5TW9kZWwpOiB2b2lkIHtcbiAgICB3aW5kb3cubG9jYXRpb24uaHJlZiA9IGhpc3RvcnkudXJsO1xuICB9XG5cbiAgdG9nZ2xlUGluSGlzdG9yeSgpOiB2b2lkIHtcbiAgICB0aGlzLmhpc3RvcnlTZXJ2aWNlLnNldEhpc3RvcnlQaW5uZWQodGhpcy51c2VybmFtZSwgIXRoaXMucGluQWN0aXZhdGVkKTtcbiAgfVxufVxuIiwiPGNsci1kcm9wZG93bj5cbiAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgY2xhc3M9XCJidG4gYnRuLWljb24gYnRuLWxpbmtcIiBjbHJEcm9wZG93blRyaWdnZXI+XG4gICAgPGNsci1pY29uIHNoYXBlPVwiaGlzdG9yeVwiIHNpemU9XCIyNFwiPjwvY2xyLWljb24+XG4gICAgPGNsci1pY29uIHNoYXBlPVwiY2FyZXQgZG93blwiIHNpemU9XCIxMlwiPjwvY2xyLWljb24+XG4gIDwvYnV0dG9uPlxuICA8Y2xyLWRyb3Bkb3duLW1lbnUgW2NsclBvc2l0aW9uXT1cInBvc2l0aW9uXCIgKmNscklmT3Blbj5cbiAgICA8bGFiZWwgY2xhc3M9XCJkcm9wZG93bi1oZWFkZXJcIiBhcmlhLWhpZGRlbj1cInRydWVcIj57e2Ryb3Bkb3duSGVhZGVyfX08L2xhYmVsPlxuICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiIGNsckRyb3Bkb3duSXRlbSAqbmdGb3I9XCJsZXQgaGlzdG9yeSBvZiBoaXN0b3J5RWxlbWVudHNcIiAoY2xpY2spPVwic2VsZWN0KGhpc3RvcnkpXCI+XG4gICAgICB7e2hpc3RvcnkudGl0bGV9fVxuICAgIDwvYnV0dG9uPlxuICAgIDxkaXYgKm5nSWY9XCJwaW5BY3RpdmVcIiBjbGFzcz1cImRyb3Bkb3duLWRpdmlkZXJcIiByb2xlPVwic2VwYXJhdG9yXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCI+PC9kaXY+XG4gICAgPGJ1dHRvbiBjbHJEcm9wZG93bkl0ZW0gKGNsaWNrKT1cInRvZ2dsZVBpbkhpc3RvcnkoKVwiPlxuICAgICAgPHNwYW4gKm5nSWY9XCJwaW5BY3RpdmUgJiYgIXBpbkFjdGl2YXRlZFwiPnt7ZHJvcGRvd25QaW59fTwvc3Bhbj5cbiAgICAgIDxzcGFuICpuZ0lmPVwicGluQWN0aXZlICYmIHBpbkFjdGl2YXRlZFwiPnt7ZHJvcGRvd25VbnBpbn19PC9zcGFuPlxuICAgIDwvYnV0dG9uPlxuICA8L2Nsci1kcm9wZG93bi1tZW51PlxuPC9jbHItZHJvcGRvd24+XG4iXX0=
@@ -13,10 +13,10 @@ import { ClrDropdownOverflowModule } from '../dropdown';
13
13
  import * as i0 from "@angular/core";
14
14
  export class ClrHistoryModule {
15
15
  }
16
- ClrHistoryModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.8", ngImport: i0, type: ClrHistoryModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
17
- ClrHistoryModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.8", ngImport: i0, type: ClrHistoryModule, declarations: [ClrHistory, ClrHistoryPinned], imports: [CommonModule, ClarityModule, RouterModule, ClrDropdownOverflowModule], exports: [ClrHistory, ClrHistoryPinned] });
18
- ClrHistoryModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.8", ngImport: i0, type: ClrHistoryModule, imports: [[CommonModule, ClarityModule, RouterModule, ClrDropdownOverflowModule]] });
19
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.8", ngImport: i0, type: ClrHistoryModule, decorators: [{
16
+ ClrHistoryModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: ClrHistoryModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
17
+ ClrHistoryModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: ClrHistoryModule, declarations: [ClrHistory, ClrHistoryPinned], imports: [CommonModule, ClarityModule, RouterModule, ClrDropdownOverflowModule], exports: [ClrHistory, ClrHistoryPinned] });
18
+ ClrHistoryModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: ClrHistoryModule, imports: [[CommonModule, ClarityModule, RouterModule, ClrDropdownOverflowModule]] });
19
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: ClrHistoryModule, decorators: [{
20
20
  type: NgModule,
21
21
  args: [{
22
22
  imports: [CommonModule, ClarityModule, RouterModule, ClrDropdownOverflowModule],
@@ -24,4 +24,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.8", ngImpor
24
24
  exports: [ClrHistory, ClrHistoryPinned],
25
25
  }]
26
26
  }] });
27
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGlzdG9yeS5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvY2xyLWFkZG9ucy9oaXN0b3J5L2hpc3RvcnkubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7O0dBSUc7QUFFSCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQzdDLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFDdkMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ3BELE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLGFBQWEsQ0FBQzs7QUFPeEQsTUFBTSxPQUFPLGdCQUFnQjs7NkdBQWhCLGdCQUFnQjs4R0FBaEIsZ0JBQWdCLGlCQUhaLFVBQVUsRUFBRSxnQkFBZ0IsYUFEakMsWUFBWSxFQUFFLGFBQWEsRUFBRSxZQUFZLEVBQUUseUJBQXlCLGFBRXBFLFVBQVUsRUFBRSxnQkFBZ0I7OEdBRTNCLGdCQUFnQixZQUpsQixDQUFDLFlBQVksRUFBRSxhQUFhLEVBQUUsWUFBWSxFQUFFLHlCQUF5QixDQUFDOzJGQUlwRSxnQkFBZ0I7a0JBTDVCLFFBQVE7bUJBQUM7b0JBQ1IsT0FBTyxFQUFFLENBQUMsWUFBWSxFQUFFLGFBQWEsRUFBRSxZQUFZLEVBQUUseUJBQXlCLENBQUM7b0JBQy9FLFlBQVksRUFBRSxDQUFDLFVBQVUsRUFBRSxnQkFBZ0IsQ0FBQztvQkFDNUMsT0FBTyxFQUFFLENBQUMsVUFBVSxFQUFFLGdCQUFnQixDQUFDO2lCQUN4QyIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMTgtMjAyMiBQb3JzY2hlIEluZm9ybWF0aWsuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuXG4gKiBUaGlzIHNvZnR3YXJlIGlzIHJlbGVhc2VkIHVuZGVyIE1JVCBsaWNlbnNlLlxuICogVGhlIGZ1bGwgbGljZW5zZSBpbmZvcm1hdGlvbiBjYW4gYmUgZm91bmQgaW4gTElDRU5TRSBpbiB0aGUgcm9vdCBkaXJlY3Rvcnkgb2YgdGhpcyBwcm9qZWN0LlxuICovXG5cbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ2xhcml0eU1vZHVsZSB9IGZyb20gJ0BjbHIvYW5ndWxhcic7XG5pbXBvcnQgeyBDbHJIaXN0b3J5IH0gZnJvbSAnLi9oaXN0b3J5JztcbmltcG9ydCB7IFJvdXRlck1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgeyBDbHJIaXN0b3J5UGlubmVkIH0gZnJvbSAnLi9oaXN0b3J5LXBpbm5lZCc7XG5pbXBvcnQgeyBDbHJEcm9wZG93bk92ZXJmbG93TW9kdWxlIH0gZnJvbSAnLi4vZHJvcGRvd24nO1xuXG5ATmdNb2R1bGUoe1xuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBDbGFyaXR5TW9kdWxlLCBSb3V0ZXJNb2R1bGUsIENsckRyb3Bkb3duT3ZlcmZsb3dNb2R1bGVdLFxuICBkZWNsYXJhdGlvbnM6IFtDbHJIaXN0b3J5LCBDbHJIaXN0b3J5UGlubmVkXSxcbiAgZXhwb3J0czogW0Nsckhpc3RvcnksIENsckhpc3RvcnlQaW5uZWRdLFxufSlcbmV4cG9ydCBjbGFzcyBDbHJIaXN0b3J5TW9kdWxlIHt9XG4iXX0=
27
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGlzdG9yeS5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvY2xyLWFkZG9ucy9oaXN0b3J5L2hpc3RvcnkubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7O0dBSUc7QUFFSCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQzdDLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFDdkMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ3BELE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLGFBQWEsQ0FBQzs7QUFPeEQsTUFBTSxPQUFPLGdCQUFnQjs7OEdBQWhCLGdCQUFnQjsrR0FBaEIsZ0JBQWdCLGlCQUhaLFVBQVUsRUFBRSxnQkFBZ0IsYUFEakMsWUFBWSxFQUFFLGFBQWEsRUFBRSxZQUFZLEVBQUUseUJBQXlCLGFBRXBFLFVBQVUsRUFBRSxnQkFBZ0I7K0dBRTNCLGdCQUFnQixZQUpsQixDQUFDLFlBQVksRUFBRSxhQUFhLEVBQUUsWUFBWSxFQUFFLHlCQUF5QixDQUFDOzRGQUlwRSxnQkFBZ0I7a0JBTDVCLFFBQVE7bUJBQUM7b0JBQ1IsT0FBTyxFQUFFLENBQUMsWUFBWSxFQUFFLGFBQWEsRUFBRSxZQUFZLEVBQUUseUJBQXlCLENBQUM7b0JBQy9FLFlBQVksRUFBRSxDQUFDLFVBQVUsRUFBRSxnQkFBZ0IsQ0FBQztvQkFDNUMsT0FBTyxFQUFFLENBQUMsVUFBVSxFQUFFLGdCQUFnQixDQUFDO2lCQUN4QyIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMTgtMjAyMiBQb3JzY2hlIEluZm9ybWF0aWsuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuXG4gKiBUaGlzIHNvZnR3YXJlIGlzIHJlbGVhc2VkIHVuZGVyIE1JVCBsaWNlbnNlLlxuICogVGhlIGZ1bGwgbGljZW5zZSBpbmZvcm1hdGlvbiBjYW4gYmUgZm91bmQgaW4gTElDRU5TRSBpbiB0aGUgcm9vdCBkaXJlY3Rvcnkgb2YgdGhpcyBwcm9qZWN0LlxuICovXG5cbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ2xhcml0eU1vZHVsZSB9IGZyb20gJ0BjbHIvYW5ndWxhcic7XG5pbXBvcnQgeyBDbHJIaXN0b3J5IH0gZnJvbSAnLi9oaXN0b3J5JztcbmltcG9ydCB7IFJvdXRlck1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgeyBDbHJIaXN0b3J5UGlubmVkIH0gZnJvbSAnLi9oaXN0b3J5LXBpbm5lZCc7XG5pbXBvcnQgeyBDbHJEcm9wZG93bk92ZXJmbG93TW9kdWxlIH0gZnJvbSAnLi4vZHJvcGRvd24nO1xuXG5ATmdNb2R1bGUoe1xuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBDbGFyaXR5TW9kdWxlLCBSb3V0ZXJNb2R1bGUsIENsckRyb3Bkb3duT3ZlcmZsb3dNb2R1bGVdLFxuICBkZWNsYXJhdGlvbnM6IFtDbHJIaXN0b3J5LCBDbHJIaXN0b3J5UGlubmVkXSxcbiAgZXhwb3J0czogW0Nsckhpc3RvcnksIENsckhpc3RvcnlQaW5uZWRdLFxufSlcbmV4cG9ydCBjbGFzcyBDbHJIaXN0b3J5TW9kdWxlIHt9XG4iXX0=
@@ -125,6 +125,10 @@ export class ClrHistoryService {
125
125
  this.setHistoryPinned(username, false, domain);
126
126
  historySettings = [{ username: username, historyPinned: false }];
127
127
  }
128
+ if (!historySettings.find(hSetting => hSetting.username === username)) {
129
+ this.setHistoryPinned(username, false, domain);
130
+ historySettings.push({ username: username, historyPinned: false });
131
+ }
128
132
  this.cookieSettings$.next(historySettings);
129
133
  }
130
134
  setHistoryPinned(username, pin, domain) {
@@ -198,9 +202,9 @@ export class ClrHistoryService {
198
202
  return domain.join('.');
199
203
  }
200
204
  }
201
- ClrHistoryService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.8", ngImport: i0, type: ClrHistoryService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
202
- ClrHistoryService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.8", ngImport: i0, type: ClrHistoryService });
203
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.8", ngImport: i0, type: ClrHistoryService, decorators: [{
205
+ ClrHistoryService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: ClrHistoryService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
206
+ ClrHistoryService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: ClrHistoryService });
207
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: ClrHistoryService, decorators: [{
204
208
  type: Injectable
205
209
  }], ctorParameters: function () { return []; } });
206
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGlzdG9yeS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2Nsci1hZGRvbnMvaGlzdG9yeS9oaXN0b3J5LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7R0FJRztBQUVILE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFM0MsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLE1BQU0sQ0FBQzs7QUFHdkMsTUFBTSxPQUFPLGlCQUFpQjtJQVc1QjtRQVZPLG9CQUFlLEdBQUcsSUFBSSxlQUFlLENBQTRCLEVBQUUsQ0FBQyxDQUFDO1FBQzVFLGVBQVUsR0FBRyxhQUFhLENBQUM7UUFDM0IsdUJBQWtCLEdBQUcsc0JBQXNCLENBQUM7UUFHNUMsMEJBQTBCO1FBQ2xCLFlBQU8sR0FBRyxJQUFJLENBQUM7UUFDdkIsMENBQTBDO1FBQ2xDLGVBQVUsR0FBRyxHQUFHLENBQUM7UUFHdkIsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLElBQUksRUFBRSxDQUFDO1FBQzdCLElBQUksQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsT0FBTyxFQUFFLEdBQUcsR0FBRyxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLElBQUksQ0FBQyxDQUFDO0lBQ2pGLENBQUM7SUFFRDs7Ozs7T0FLRztJQUNILGVBQWUsQ0FBQyxZQUE2QixFQUFFLE1BQWU7UUFDNUQsSUFBSSxDQUFDLGlCQUFpQixDQUFDLFlBQVksQ0FBQyxDQUFDO1FBQ3JDLElBQUksT0FBTyxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsWUFBWSxDQUFDLFFBQVEsRUFBRSxZQUFZLENBQUMsT0FBTyxDQUFDLENBQUM7UUFFM0UsMkVBQTJFO1FBQzNFLElBQUksWUFBWSxDQUFDLEdBQUcsSUFBSSxZQUFZLENBQUMsR0FBRyxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsVUFBVSxF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LENBQUM7U0FDckQ7UUFBQyxPQUFPLEtBQUssRUFBRTtZQUNkLE9BQU8sRUFBRSxDQUFDO1NBQ1g7SUFDSCxDQUFDO0lBRU8sU0FBUyxDQUFDLElBQVksRUFBRSxPQUFlLEVBQUUsTUFBYztRQUM3RCxRQUFRLENBQUMsTUFBTTtZQUNiLElBQUk7Z0JBQ0osR0FBRztnQkFDSCxPQUFPO2dCQUNQLFVBQVU7Z0JBQ1YsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO2dCQUNwQyxXQUFXO2dCQUNYLElBQUksQ0FBQyxVQUFVLENBQUMsV0FBVyxFQUFFO2dCQUM3QixTQUFTLENBQUM7SUFDZCxDQUFDO0lBRU8sU0FBUztRQUNmLE1BQU0sTUFBTSxHQUFHLE1BQU0sQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUNuRCxvQkFBb0I7UUFDcEIsSUFBSSxNQUFNLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRTtZQUN2QixPQUFPLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQztTQUNsQjtRQUNELE1BQU0sQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUNmLE9BQU8sTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUMxQixDQUFDOzs4R0FwTlUsaUJBQWlCO2tIQUFqQixpQkFBaUI7MkZBQWpCLGlCQUFpQjtrQkFEN0IsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMTgtMjAyMSBQb3JzY2hlIEluZm9ybWF0aWsuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuXG4gKiBUaGlzIHNvZnR3YXJlIGlzIHJlbGVhc2VkIHVuZGVyIE1JVCBsaWNlbnNlLlxuICogVGhlIGZ1bGwgbGljZW5zZSBpbmZvcm1hdGlvbiBjYW4gYmUgZm91bmQgaW4gTElDRU5TRSBpbiB0aGUgcm9vdCBkaXJlY3Rvcnkgb2YgdGhpcyBwcm9qZWN0LlxuICovXG5cbmltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENsckhpc3RvcnlNb2RlbCwgQ2xySGlzdG9yeVNldHRpbmdzTW9kZWwgfSBmcm9tICcuL2hpc3RvcnktbW9kZWwuaW50ZXJmYWNlJztcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgQ2xySGlzdG9yeVNlcnZpY2Uge1xuICBwdWJsaWMgY29va2llU2V0dGluZ3MkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxDbHJIaXN0b3J5U2V0dGluZ3NNb2RlbFtdPihbXSk7XG4gIGNvb2tpZU5hbWUgPSAnY2xyLmhpc3RvcnknO1xuICBjb29raWVOYW1lU2V0dGluZ3MgPSAnY2xyLmhpc3Rvcnkuc2V0dGluZ3MnO1xuICBwcml2YXRlIGV4cGlyeURhdGU6IERhdGU7XG5cbiAgLy8gbWF4bWltdW0gaGlzdG9yeSBsZW5ndGhcbiAgcHJpdmF0ZSBtYXhTaXplID0gMTAyNDtcbiAgLy8gbWF4aW11bSB1cmwgbGVuZ3RoIGZvciB1c2FnZSBpbiBoaXN0b3J5XG4gIHByaXZhdGUgbWF4VXJsU2l6ZSA9IDI1NjtcblxuICBjb25zdHJ1Y3RvcigpIHtcbiAgICB0aGlzLmV4cGlyeURhdGUgPSBuZXcgRGF0ZSgpO1xuICAgIHRoaXMuZXhwaXJ5RGF0ZS5zZXRUaW1lKHRoaXMuZXhwaXJ5RGF0ZS5nZXRUaW1lKCkgKyAzNjUgKiAyNCAqIDYwICogNjAgKiAxMDAwKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBBZGQgYSBuZXcgaGlzdG9yeSBlbnRyeVxuICAgKiBAcGFyYW0gaGlzdG9yeUVudHJ5IFRoZSBlbnRyeSB0byBiZSBhZGRlZFxuICAgKiBAcGFyYW0gZG9tYWluIFRoZSBvcHRpb25hbCBkb21haW4gcGFyYW0gd2hlcmUgdGhlIGNvb2tpZSBpcyBzdG9yZWRcbiAgICogQHJldHVybnMgdHJ1ZSB3aGVuIGVudHJ5IGFkZGVkLCBvdGhlcndpc2UgZmFsc2UgaXMgcmV0dXJuZWRcbiAgICovXG4gIGFkZEhpc3RvcnlFbnRyeShoaXN0b3J5RW50cnk6IENsckhpc3RvcnlNb2RlbCwgZG9tYWluPzogc3RyaW5nKTogYm9vbGVhbiB7XG4gICAgdGhpcy5yZW1vdmVGcm9tSGlzdG9yeShoaXN0b3J5RW50cnkpO1xuICAgIGxldCBoaXN0b3J5ID0gdGhpcy5nZXRIaXN0b3J5KGhpc3RvcnlFbnRyeS51c2VybmFtZSwgaGlzdG9yeUVudHJ5LmNvbnRleHQpO1xuXG4gICAgLyogb25seSBhZGQgdG8gaGlzdG9yeSBpbiBjYXNlIHVybCBkb2VzIG5vdCBleGNlZWQgbWF4VXJsU2l6ZSBjaGFyYWN0ZXJzICovXG4gICAgaWYgKGhpc3RvcnlFbnRyeS51cmwgJiYgaGlzdG9yeUVudHJ5LnVybC5sZW5ndGggPCB0aGlzLm1heFVybFNpemUpIHtcbiAgICAgIC8qIGFkZCBpdCBhcyBsYXN0IGVsZW1lbnQgKi9cbiAgICAgIGhpc3RvcnkucHVzaChoaXN0b3J5RW50cnkpO1xuICAgICAgLyogc3VwcG9ydCBhIG1heGltdW0gb2YgNCBwYWdlcyBpbiBoaXN0b3J5ICovXG4gICAgICBoaXN0b3J5ID0gaGlzdG9yeS5zbGljZSgtNCk7XG4gICAgICB0aGlzLnNldEhpc3RvcnkoaGlzdG9yeSwgZG9tYWluKTtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICBnZXRIaXN0b3J5RGlzcGxheSh1c2VybmFtZTogc3RyaW5nLCBjb250ZXh0OiB7IFtrZXk6IHN0cmluZ106IHN0cmluZyB9KTogQ2xySGlzdG9yeU1vZGVsW10ge1xuICAgIGNvbnN0IGhpc3RvcnkgPSB0aGlzLmdldEhpc3RvcnkodXNlcm5hbWUsIGNvbnRleHQpO1xuICAgIGlmIChoaXN0b3J5Lmxlbmd0aCA+IDApIHtcbiAgICAgIGNvbnN0IGN1cnJlbnRQYWdlVGl0bGUgPSBoaXN0b3J5W2hpc3RvcnkubGVuZ3RoIC0gMV0udGl0bGU7XG4gICAgICBjb25zdCB0b0Rpc3BsYXk6IENsckhpc3RvcnlNb2RlbFtdID0gW107XG4gICAgICBjb25zdCBhbHJlYWR5RGlzcGxheTogc3RyaW5nW10gPSBbXTtcblxuICAgICAgZm9yIChsZXQgaSA9IGhpc3RvcnkubGVuZ3RoIC0gMTsgaSA+PSAwICYmIGFscmVhZHlEaXNwbGF5Lmxlbmd0aCA8IDQ7IGktLSkge1xuICAgICAgICBpZiAoIWFscmVhZHlEaXNwbGF5LmluY2x1ZGVzKGhpc3RvcnlbaV0udGl0bGUpICYmIGhpc3RvcnlbaV0udGl0bGUgIT09IGN1cnJlbnRQYWdlVGl0bGUpIHtcbiAgICAgICAgICBhbHJlYWR5RGlzcGxheS5wdXNoKGhpc3RvcnlbaV0udGl0bGUpO1xuICAgICAgICAgIHRvRGlzcGxheS5wdXNoKGhpc3RvcnlbaV0pO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIHJldHVybiB0b0Rpc3BsYXkucmV2ZXJzZSgpO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gaGlzdG9yeTtcbiAgICB9XG4gIH1cblxuICBnZXRIaXN0b3J5KHVzZXJuYW1lOiBzdHJpbmcsIGNvbnRleHQ6IHsgW2tleTogc3RyaW5nXTogc3RyaW5nIH0pOiBDbHJIaXN0b3J5TW9kZWxbXSB7XG4gICAgY29uc3QgaGlzdG9yeTogQ2xySGlzdG9yeU1vZGVsW10gPSB0aGlzLmdldENvb2tpZUJ5TmFtZSh0aGlzLmNvb2tpZU5hbWUpO1xuICAgIGlmICghaGlzdG9yeSkge1xuICAgICAgcmV0dXJuIFtdO1xuICAgIH1cbiAgICByZXR1cm4gaGlzdG9yeS5maWx0ZXIoZWxlbWVudCA9PiB0aGlzLmNoZWNrRXF1YWxDb250ZXh0KGVsZW1lbnQsIGNvbnRleHQpICYmIGVsZW1lbnQudXNlcm5hbWUgPT09IHVzZXJuYW1lKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBTZXQgaGlzdG9yeVxuICAgKiBAcGFyYW0gZW50cmllc1xuICAgKiBAcGFyYW0gZG9tYWluXG4gICAqL1xuICBwcml2YXRlIHNldEhpc3RvcnkoZW50cmllczogQ2xySGlzdG9yeU1vZGVsW10sIGRvbWFpbj86IHN0cmluZyk6IHZvaWQge1xuICAgIGlmICghZW50cmllcyB8fCBlbnRyaWVzLmxlbmd0aCA9PT0gMCkge1xuICAgICAgLy8gY2xlYXIgYWxsIGVudHJpZXNcbiAgICAgIHRoaXMuc2V0Q29va2llKHRoaXMuY29va2llTmFtZSwgdGhpcy5lbmNvZGUoW10pLCBkb21haW4pO1xuICAgIH0gZWxzZSB7XG4gICAgICBlbnRyaWVzID0gdGhpcy5yZWR1Y2VTaXplKGVudHJpZXMpO1xuICAgICAgLy8gZW5jb2RlIHRpdGxlICYgcGFnZW5hbWUgdG8gYmUgY29va2llIHNhdmluZyBzYXZlXG4gICAgICBpZiAoZW50cmllcyAmJiBlbnRyaWVzLmxlbmd0aCA+IDApIHtcbiAgICAgICAgZW50cmllcy5mb3JFYWNoKGVudHJ5ID0+IHtcbiAgICAgICAgICBlbnRyeS50aXRsZSA9IGVuY29kZVVSSShlbnRyeS50aXRsZSk7XG4gICAgICAgICAgZW50cnkucGFnZU5hbWUgPSBlbmNvZGVVUkkoZW50cnkucGFnZU5hbWUpO1xuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICAgIHRoaXMuc2V0Q29va2llKHRoaXMuY29va2llTmFtZSwgdGhpcy5lbmNvZGUoZW50cmllcyksIGRvbWFpbik7XG4gICAgfVxuICB9XG5cbiAgcmVkdWNlU2l6ZShlbnRyaWVzOiBDbHJIaXN0b3J5TW9kZWxbXSk6IENsckhpc3RvcnlNb2RlbFtdIHtcbiAgICBpZiAoSlNPTi5zdHJpbmdpZnkoZW50cmllcykubGVuZ3RoID4gdGhpcy5tYXhTaXplKSB7XG4gICAgICBjb25zdCByZWR1Y2VkOiBDbHJIaXN0b3J5TW9kZWxbXSA9IFtdO1xuICAgICAgZG8ge1xuICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IGVudHJpZXMubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgICByZWR1Y2VkLnB1c2goZW50cmllc1tpXSk7XG4gICAgICAgIH1cbiAgICAgIH0gd2hpbGUgKEpTT04uc3RyaW5naWZ5KHJlZHVjZWQpLmxlbmd0aCA8IHRoaXMubWF4U2l6ZSk7XG4gICAgICByZXR1cm4gcmVkdWNlZDtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIGVudHJpZXM7XG4gICAgfVxuICB9XG5cbiAgcmVzZXRIaXN0b3J5KCk6IHZvaWQge1xuICAgIHRoaXMuc2V0SGlzdG9yeShudWxsKTtcbiAgfVxuXG4gIHJlbW92ZUZyb21IaXN0b3J5KGVudHJ5OiBDbHJIaXN0b3J5TW9kZWwpOiB2b2lkIHtcbiAgICBsZXQgaGlzdG9yeSA9IHRoaXMuZ2V0SGlzdG9yeShlbnRyeS51c2VybmFtZSwgZW50cnkuY29udGV4dCk7XG4gICAgLyogcmVtb3ZlIGN1cnJlbnQgZW50cnkgZnJvbSBhcnJheSAqL1xuICAgIGhpc3RvcnkgPSBoaXN0b3J5LmZpbHRlcihcbiAgICAgIGVsZW1lbnQgPT5cbiAgICAgICAgIShcbiAgICAgICAgICBlbGVtZW50LnRpdGxlID09PSBlbnRyeS50aXRsZSAmJlxuICAgICAgICAgIGVsZW1lbnQudXNlcm5hbWUgPT09IGVudHJ5LnVzZXJuYW1lICYmXG4gICAgICAgICAgdGhpcy5jaGVja0VxdWFsQ29udGV4dChlbGVtZW50LCBlbnRyeS5jb250ZXh0KVxuICAgICAgICApXG4gICAgKTtcbiAgICB0aGlzLnNldEhpc3RvcnkoaGlzdG9yeSk7XG4gIH1cblxuICBwcml2YXRlIGNoZWNrRXF1YWxDb250ZXh0KGVudHJ5OiBDbHJIaXN0b3J5TW9kZWwsIHRvQ29tcGFyZTogeyBba2V5OiBzdHJpbmddOiBzdHJpbmcgfSk6IGJvb2xlYW4ge1xuICAgIGxldCBlcXVhbCA9IGZhbHNlO1xuICAgIGlmIChlbnRyeSAmJiB0b0NvbXBhcmUpIHtcbiAgICAgIE9iamVjdC5rZXlzKHRvQ29tcGFyZSkuZm9yRWFjaChrZXkgPT4ge1xuICAgICAgICBlcXVhbCA9IGVudHJ5LmNvbnRleHRba2V5XSA9PT0gdG9Db21wYXJlW2tleV07XG4gICAgICB9KTtcbiAgICB9XG4gICAgcmV0dXJuIGVxdWFsO1xuICB9XG5cbiAgaW5pdGlhbGl6ZUNvb2tpZVNldHRpbmdzKHVzZXJuYW1lOiBzdHJpbmcsIGRvbWFpbj86IHN0cmluZyk6IHZvaWQge1xuICAgIGxldCBoaXN0b3J5U2V0dGluZ3M6IENsckhpc3RvcnlTZXR0aW5nc01vZGVsW10gPSB0aGlzLmdldENvb2tpZUJ5TmFtZSh0aGlzLmNvb2tpZU5hbWVTZXR0aW5ncyk7XG4gICAgaWYgKCFoaXN0b3J5U2V0dGluZ3MgfHwgaGlzdG9yeVNldHRpbmdzLmxlbmd0aCA9PT0gMCkge1xuICAgICAgdGhpcy5zZXRIaXN0b3J5UGlubmVkKHVzZXJuYW1lLCBmYWxzZSwgZG9tYWluKTtcbiAgICAgIGhpc3RvcnlTZXR0aW5ncyA9IFt7IHVzZXJuYW1lOiB1c2VybmFtZSwgaGlzdG9yeVBpbm5lZDogZmFsc2UgfV07XG4gICAgfVxuICAgIHRoaXMuY29va2llU2V0dGluZ3MkLm5leHQoaGlzdG9yeVNldHRpbmdzKTtcbiAgfVxuXG4gIHNldEhpc3RvcnlQaW5uZWQodXNlcm5hbWU6IHN0cmluZywgcGluOiBib29sZWFuLCBkb21haW4/OiBzdHJpbmcpOiB2b2lkIHtcbiAgICBjb25zdCBoaXN0b3J5U2V0dGluZ3M6IENsckhpc3RvcnlTZXR0aW5nc01vZGVsW10gPSB0aGlzLmdldENvb2tpZUJ5TmFtZSh0aGlzLmNvb2tpZU5hbWVTZXR0aW5ncyk7XG4gICAgY29uc3QgaGlzdG9yeVNldHRpbmcgPSBoaXN0b3J5U2V0dGluZ3MuZmluZChoU2V0dGluZyA9PiBoU2V0dGluZy51c2VybmFtZSA9PT0gdXNlcm5hbWUpO1xuICAgIGlmIChoaXN0b3J5U2V0dGluZykge1xuICAgICAgaGlzdG9yeVNldHRpbmcuaGlzdG9yeVBpbm5lZCA9IHBpbjtcbiAgICB9IGVsc2Uge1xuICAgICAgaGlzdG9yeVNldHRpbmdzLnB1c2goeyB1c2VybmFtZTogdXNlcm5hbWUsIGhpc3RvcnlQaW5uZWQ6IHBpbiB9KTtcbiAgICB9XG4gICAgdGhpcy5jb29raWVTZXR0aW5ncyQubmV4dChoaXN0b3J5U2V0dGluZ3MpO1xuICAgIC8vIFNldCBpdFxuICAgIHRoaXMuc2V0Q29va2llKHRoaXMuY29va2llTmFtZVNldHRpbmdzLCBKU09OLnN0cmluZ2lmeShoaXN0b3J5U2V0dGluZ3MpLCBkb21haW4pO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRDb29raWVCeU5hbWUobmFtZTogc3RyaW5nKTogYW55W10ge1xuICAgIGNvbnN0IGNvb2tpZUVudHJpZXMgPVxuICAgICAgZG9jdW1lbnQuY29va2llXG4gICAgICAgIC5zcGxpdCgnOycpXG4gICAgICAgIC5tYXAoYyA9PiBjLnRyaW0oKSlcbiAgICAgICAgLmZpbHRlcihjb29raWUgPT4ge1xuICAgICAgICAgIHJldHVybiBjb29raWUuc3Vic3RyaW5nKDAsIG5hbWUubGVuZ3RoICsgMSkgPT09IGAke25hbWV9PWA7XG4gICAgICAgIH0pXG4gICAgICAgIC5tYXAoY29va2llID0+IHtcbiAgICAgICAgICByZXR1cm4gbmFtZSA9PT0gdGhpcy5jb29raWVOYW1lXG4gICAgICAgICAgICA/IHRoaXMuZGVjb2RlKGNvb2tpZS5zdWJzdHJpbmcobmFtZS5sZW5ndGggKyAxKSlcbiAgICAgICAgICAgIDogSlNPTi5wYXJzZShjb29raWUuc3Vic3RyaW5nKG5hbWUubGVuZ3RoICsgMSkpO1xuICAgICAgICB9KVswXSB8fCBbXTtcbiAgICBpZiAoY29va2llRW50cmllcyAmJiBjb29raWVFbnRyaWVzLmxlbmd0aCA+IDApIHtcbiAgICAgIGNvb2tpZUVudHJpZXMuZm9yRWFjaCgoZW50cnk6IGFueSkgPT4ge1xuICAgICAgICBpZiAoZW50cnkudGl0bGUpIHtcbiAgICAgICAgICBlbnRyeS50aXRsZSA9IGRlY29kZVVSSShlbnRyeS50aXRsZSk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGVudHJ5LnBhZ2VOYW1lKSB7XG4gICAgICAgICAgZW50cnkucGFnZU5hbWUgPSBkZWNvZGVVUkkoZW50cnkucGFnZU5hbWUpO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICB9XG4gICAgcmV0dXJuIGNvb2tpZUVudHJpZXM7XG4gIH1cblxuICBwcml2YXRlIGVuY29kZShjb250ZW50OiBDbHJIaXN0b3J5TW9kZWxbXSk6IHN0cmluZyB7XG4gICAgY29uc3QganNvblN0cmluZyA9IGJ0b2EoZW5jb2RlVVJJQ29tcG9uZW50KEpTT04uc3RyaW5naWZ5KGNvbnRlbnQpKSk7XG4gICAgcmV0dXJuIGpzb25TdHJpbmcucmVwbGFjZSgvXFwrL2csICctJykucmVwbGFjZSgvXFwvL2csICdfJykucmVwbGFjZSgvPS9nLCAnIScpO1xuICB9XG5cbiAgcHJpdmF0ZSBkZWNvZGUoY29udGVudDogc3RyaW5nKTogQ2xySGlzdG9yeU1vZGVsW10ge1xuICAgIHRyeSB7XG4gICAgICBjb25zdCBiYXNlNjQgPSBjb250ZW50LnJlcGxhY2UoLy0vZywgJysnKS5yZXBsYWNlKC9fL2csICcvJykucmVwbGFjZSgvIS9nLCAnPScpO1xuICAgICAgcmV0dXJuIEpTT04ucGFyc2UoZGVjb2RlVVJJQ29tcG9uZW50KGF0b2IoYmFzZTY0KSkpO1xuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICByZXR1cm4gW107XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBzZXRDb29raWUobmFtZTogc3RyaW5nLCBjb250ZW50OiBzdHJpbmcsIGRvbWFpbjogc3RyaW5nKTogdm9pZCB7XG4gICAgZG9jdW1lbnQuY29va2llID1cbiAgICAgIG5hbWUgK1xuICAgICAgJz0nICtcbiAgICAgIGNvbnRlbnQgK1xuICAgICAgJztkb21haW49JyArXG4gICAgICAoZG9tYWluID8gZG9tYWluIDogdGhpcy5nZXREb21haW4oKSkgK1xuICAgICAgJztleHBpcmVzPScgK1xuICAgICAgdGhpcy5leHBpcnlEYXRlLnRvVVRDU3RyaW5nKCkgK1xuICAgICAgJztwYXRoPS8nO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXREb21haW4oKTogc3RyaW5nIHtcbiAgICBjb25zdCBkb21haW4gPSB3aW5kb3cubG9jYXRpb24uaG9zdG5hbWUuc3BsaXQoJy4nKTtcbiAgICAvL2xvY2FsaG9zdCBmYWxsYmFja1xuICAgIGlmIChkb21haW4ubGVuZ3RoID09PSAxKSB7XG4gICAgICByZXR1cm4gZG9tYWluWzBdO1xuICAgIH1cbiAgICBkb21haW4uc2hpZnQoKTtcbiAgICByZXR1cm4gZG9tYWluLmpvaW4oJy4nKTtcbiAgfVxufVxuIl19
210
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGlzdG9yeS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2Nsci1hZGRvbnMvaGlzdG9yeS9oaXN0b3J5LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7R0FJRztBQUVILE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFM0MsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLE1BQU0sQ0FBQzs7QUFHdkMsTUFBTSxPQUFPLGlCQUFpQjtJQVc1QjtRQVZPLG9CQUFlLEdBQUcsSUFBSSxlQUFlLENBQTRCLEVBQUUsQ0FBQyxDQUFDO1FBQzVFLGVBQVUsR0FBRyxhQUFhLENBQUM7UUFDM0IsdUJBQWtCLEdBQUcsc0JBQXNCLENBQUM7UUFHNUMsMEJBQTBCO1FBQ2xCLFlBQU8sR0FBRyxJQUFJLENBQUM7UUFDdkIsMENBQTBDO1FBQ2xDLGVBQVUsR0FBRyxHQUFHLENBQUM7UUFHdkIsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLElBQUksRUFBRSxDQUFDO1FBQzdCLElBQUksQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsT0FBTyxFQUFFLEdBQUcsR0FBRyxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLElBQUksQ0FBQyxDQUFDO0lBQ2pGLENBQUM7SUFFRDs7Ozs7T0FLRztJQUNILGVBQWUsQ0FBQyxZQUE2QixFQUFFLE1BQWU7UUFDNUQsSUFBSSxDQUFDLGlCQUFpQixDQUFDLFlBQVksQ0FBQyxDQUFDO1FBQ3JDLElBQUksT0FBTyxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsWUFBWSxDQUFDLFFBQVEsRUFBRSxZQUFZLENBQUMsT0FBTyxDQUFDLENBQUM7UUFFM0UsMkVBQTJFO1FBQzNFLElBQUksWUFBWSxDQUFDLEdBQUcsSUFBSSxZQUFZLENBQUMsR0FBRyxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsVUFBVSxFQUFFO1lBQ2pFLDRCQUE0QjtZQUM1QixPQUFPLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDO1lBQzNCLDZDQUE2QztZQUM3QyxPQUFPLEdBQUcsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQzVCLElBQUksQ0FBQyxVQUFVLENBQUMsT0FBTyxFQUFFLE1BQU0sQ0FBQyxDQUFDO1lBQ2pDLE9BQU8sSUFBSSxDQUFDO1NBQ2I7UUFDRCxPQUFPLEtBQUssQ0FBQztJQUNmLENBQUM7SUFFRCxpQkFBaUIsQ0FBQyxRQUFnQixFQUFFLE9BQWtDO1FBQ3BFLE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsUUFBUSxFQUFFLE9BQU8sQ0FBQyxDQUFDO1FBQ25ELElBQUksT0FBTyxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUU7WUFDdEIsTUFBTSxnQkFBZ0IsR0FBRyxPQUFPLENBQUMsT0FBTyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUM7WUFDM0QsTUFBTSxTQUFTLEdBQXNCLEVBQUUsQ0FBQztZQUN4QyxNQUFNLGNBQWMsR0FBYSxFQUFFLENBQUM7WUFFcEMsS0FBSyxJQUFJLENBQUMsR0FBRyxPQUFPLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxJQUFJLGNBQWMsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFO2dCQUN6RSxJQUFJLENBQUMsY0FBYyxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLElBQUksT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssS0FBSyxnQkFBZ0IsRUFBRTtvQkFDdkYsY0FBYyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUM7b0JBQ3RDLFNBQVMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7aUJBQzVCO2FBQ0Y7WUFFRCxPQUFPLFNBQVMsQ0FBQyxPQUFPLEVBQUUsQ0FBQztTQUM1QjthQUFNO1lBQ0wsT0FBTyxPQUFPLENBQUM7U0FDaEI7SUFDSCxDQUFDO0lBRUQsVUFBVSxDQUFDLFFBQWdCLEVBQUUsT0FBa0M7UUFDN0QsTUFBTSxPQUFPLEdBQXNCLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQ3pFLElBQUksQ0FBQyxPQUFPLEVBQUU7WUFDWixPQUFPLEVBQUUsQ0FBQztTQUNYO1FBQ0QsT0FBTyxPQUFPLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLE9BQU8sRUFBRSxPQUFPLENBQUMsSUFBSSxPQUFPLENBQUMsUUFBUSxLQUFLLFFBQVEsQ0FBQyxDQUFDO0lBQzlHLENBQUM7SUFFRDs7OztPQUlHO0lBQ0ssVUFBVSxDQUFDLE9BQTBCLEVBQUUsTUFBZTtRQUM1RCxJQUFJLENBQUMsT0FBTyxJQUFJLE9BQU8sQ0FBQyxNQUFNLEtBQUssQ0FBQyxFQUFFO1lBQ3BDLG9CQUFvQjtZQUNwQixJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxVQUFVLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsRUFBRSxNQUFNLENBQUMsQ0FBQztTQUMxRDthQUFNO1lBQ0wsT0FBTyxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLENBQUM7WUFDbkMsbURBQW1EO1lBQ25ELElBQUksT0FBTyxJQUFJLE9BQU8sQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFO2dCQUNqQyxPQUFPLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxFQUFFO29CQUN0QixLQUFLLENBQUMsS0FBSyxHQUFHLFNBQVMsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUM7b0JBQ3JDLEtBQUssQ0FBQyxRQUFRLEdBQUcsU0FBUyxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsQ0FBQztnQkFDN0MsQ0FBQyxDQUFDLENBQUM7YUFDSjtZQUNELElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLFVBQVUsRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxFQUFFLE1BQU0sQ0FBQyxDQUFDO1NBQy9EO0lBQ0gsQ0FBQztJQUVELFVBQVUsQ0FBQyxPQUEwQjtRQUNuQyxJQUFJLElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxPQUFPLEVBQUU7WUFDakQsTUFBTSxPQUFPLEdBQXNCLEVBQUUsQ0FBQztZQUN0QyxHQUFHO2dCQUNELEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxPQUFPLENBQUMsTUFBTSxFQUFFLENBQUMsRUFBRSxFQUFFO29CQUN2QyxPQUFPLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO2lCQUMxQjthQUNGLFFBQVEsSUFBSSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLE9BQU8sRUFBRTtZQUN4RCxPQUFPLE9BQU8sQ0FBQztTQUNoQjthQUFNO1lBQ0wsT0FBTyxPQUFPLENBQUM7U0FDaEI7SUFDSCxDQUFDO0lBRUQsWUFBWTtRQUNWLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDeEIsQ0FBQztJQUVELGlCQUFpQixDQUFDLEtBQXNCO1FBQ3RDLElBQUksT0FBTyxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLFFBQVEsRUFBRSxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDN0QscUNBQXFDO1FBQ3JDLE9BQU8sR0FBRyxPQUFPLENBQUMsTUFBTSxDQUN0QixPQUFPLENBQUMsRUFBRSxDQUNSLENBQUMsQ0FDQyxPQUFPLENBQUMsS0FBSyxLQUFLLEtBQUssQ0FBQyxLQUFLO1lBQzdCLE9BQU8sQ0FBQyxRQUFRLEtBQUssS0FBSyxDQUFDLFFBQVE7WUFDbkMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLE9BQU8sRUFBRSxLQUFLLENBQUMsT0FBTyxDQUFDLENBQy9DLENBQ0osQ0FBQztRQUNGLElBQUksQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDM0IsQ0FBQztJQUVPLGlCQUFpQixDQUFDLEtBQXNCLEVBQUUsU0FBb0M7UUFDcEYsSUFBSSxLQUFLLEdBQUcsS0FBSyxDQUFDO1FBQ2xCLElBQUksS0FBSyxJQUFJLFNBQVMsRUFBRTtZQUN0QixNQUFNLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsRUFBRTtnQkFDbkMsS0FBSyxHQUFHLEtBQUssQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLEtBQUssU0FBUyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBQ2hELENBQUMsQ0FBQyxDQUFDO1NBQ0o7UUFDRCxPQUFPLEtBQUssQ0FBQztJQUNmLENBQUM7SUFFRCx3QkFBd0IsQ0FBQyxRQUFnQixFQUFFLE1BQWU7UUFDeEQsSUFBSSxlQUFlLEdBQThCLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLENBQUM7UUFDL0YsSUFBSSxDQUFDLGVBQWUsSUFBSSxlQUFlLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRTtZQUNwRCxJQUFJLENBQUMsZ0JBQWdCLENBQUMsUUFBUSxFQUFFLEtBQUssRUFBRSxNQUFNLENBQUMsQ0FBQztZQUMvQyxlQUFlLEdBQUcsQ0FBQyxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsYUFBYSxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUM7U0FDbEU7UUFDRCxJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDLFFBQVEsQ0FBQyxRQUFRLEtBQUssUUFBUSxDQUFDLEVBQUU7WUFDckUsSUFBSSxDQUFDLGdCQUFnQixDQUFDLFFBQVEsRUFBRSxLQUFLLEVBQUUsTUFBTSxDQUFDLENBQUM7WUFDL0MsZUFBZSxDQUFDLElBQUksQ0FBQyxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsYUFBYSxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUM7U0FDcEU7UUFDRCxJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsQ0FBQztJQUM3QyxDQUFDO0lBRUQsZ0JBQWdCLENBQUMsUUFBZ0IsRUFBRSxHQUFZLEVBQUUsTUFBZTtRQUM5RCxNQUFNLGVBQWUsR0FBOEIsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsa0JBQWtCLENBQUMsQ0FBQztRQUNqRyxNQUFNLGNBQWMsR0FBRyxlQUFlLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsUUFBUSxDQUFDLFFBQVEsS0FBSyxRQUFRLENBQUMsQ0FBQztRQUN4RixJQUFJLGNBQWMsRUFBRTtZQUNsQixjQUFjLENBQUMsYUFBYSxHQUFHLEdBQUcsQ0FBQztTQUNwQzthQUFNO1lBQ0wsZUFBZSxDQUFDLElBQUksQ0FBQyxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsYUFBYSxFQUFFLEdBQUcsRUFBRSxDQUFDLENBQUM7U0FDbEU7UUFDRCxJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsQ0FBQztRQUMzQyxTQUFTO1FBQ1QsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsa0JBQWtCLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxlQUFlLENBQUMsRUFBRSxNQUFNLENBQUMsQ0FBQztJQUNuRixDQUFDO0lBRU8sZUFBZSxDQUFDLElBQVk7UUFDbEMsTUFBTSxhQUFhLEdBQ2pCLFFBQVEsQ0FBQyxNQUFNO2FBQ1osS0FBSyxDQUFDLEdBQUcsQ0FBQzthQUNWLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQzthQUNsQixNQUFNLENBQUMsTUFBTSxDQUFDLEVBQUU7WUFDZixPQUFPLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQyxFQUFFLElBQUksQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLEtBQUssR0FBRyxJQUFJLEdBQUcsQ0FBQztRQUM3RCxDQUFDLENBQUM7YUFDRCxHQUFHLENBQUMsTUFBTSxDQUFDLEVBQUU7WUFDWixPQUFPLElBQUksS0FBSyxJQUFJLENBQUMsVUFBVTtnQkFDN0IsQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDO2dCQUNoRCxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUNwRCxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDaEIsSUFBSSxhQUFhLElBQUksYUFBYSxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUU7WUFDN0MsYUFBYSxDQUFDLE9BQU8sQ0FBQyxDQUFDLEtBQVUsRUFBRSxFQUFFO2dCQUNuQyxJQUFJLEtBQUssQ0FBQyxLQUFLLEVBQUU7b0JBQ2YsS0FBSyxDQUFDLEtBQUssR0FBRyxTQUFTLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDO2lCQUN0QztnQkFDRCxJQUFJLEtBQUssQ0FBQyxRQUFRLEVBQUU7b0JBQ2xCLEtBQUssQ0FBQyxRQUFRLEdBQUcsU0FBUyxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsQ0FBQztpQkFDNUM7WUFDSCxDQUFDLENBQUMsQ0FBQztTQUNKO1FBQ0QsT0FBTyxhQUFhLENBQUM7SUFDdkIsQ0FBQztJQUVPLE1BQU0sQ0FBQyxPQUEwQjtRQUN2QyxNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDckUsT0FBTyxVQUFVLENBQUMsT0FBTyxDQUFDLEtBQUssRUFBRSxHQUFHLENBQUMsQ0FBQyxPQUFPLENBQUMsS0FBSyxFQUFFLEdBQUcsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUUsR0FBRyxDQUFDLENBQUM7SUFDL0UsQ0FBQztJQUVPLE1BQU0sQ0FBQyxPQUFlO1FBQzVCLElBQUk7WUFDRixNQUFNLE1BQU0sR0FBRyxPQUFPLENBQUMsT0FBTyxDQUFDLElBQUksRUFBRSxHQUFHLENBQUMsQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFFLEdBQUcsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUUsR0FBRyxDQUFDLENBQUM7WUFDaEYsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUM7U0FDckQ7UUFBQyxPQUFPLEtBQUssRUFBRTtZQUNkLE9BQU8sRUFBRSxDQUFDO1NBQ1g7SUFDSCxDQUFDO0lBRU8sU0FBUyxDQUFDLElBQVksRUFBRSxPQUFlLEVBQUUsTUFBYztRQUM3RCxRQUFRLENBQUMsTUFBTTtZQUNiLElBQUk7Z0JBQ0osR0FBRztnQkFDSCxPQUFPO2dCQUNQLFVBQVU7Z0JBQ1YsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO2dCQUNwQyxXQUFXO2dCQUNYLElBQUksQ0FBQyxVQUFVLENBQUMsV0FBVyxFQUFFO2dCQUM3QixTQUFTLENBQUM7SUFDZCxDQUFDO0lBRU8sU0FBUztRQUNmLE1BQU0sTUFBTSxHQUFHLE1BQU0sQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUNuRCxvQkFBb0I7UUFDcEIsSUFBSSxNQUFNLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRTtZQUN2QixPQUFPLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQztTQUNsQjtRQUNELE1BQU0sQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUNmLE9BQU8sTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUMxQixDQUFDOzsrR0F4TlUsaUJBQWlCO21IQUFqQixpQkFBaUI7NEZBQWpCLGlCQUFpQjtrQkFEN0IsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMTgtMjAyMSBQb3JzY2hlIEluZm9ybWF0aWsuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuXG4gKiBUaGlzIHNvZnR3YXJlIGlzIHJlbGVhc2VkIHVuZGVyIE1JVCBsaWNlbnNlLlxuICogVGhlIGZ1bGwgbGljZW5zZSBpbmZvcm1hdGlvbiBjYW4gYmUgZm91bmQgaW4gTElDRU5TRSBpbiB0aGUgcm9vdCBkaXJlY3Rvcnkgb2YgdGhpcyBwcm9qZWN0LlxuICovXG5cbmltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENsckhpc3RvcnlNb2RlbCwgQ2xySGlzdG9yeVNldHRpbmdzTW9kZWwgfSBmcm9tICcuL2hpc3RvcnktbW9kZWwuaW50ZXJmYWNlJztcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgQ2xySGlzdG9yeVNlcnZpY2Uge1xuICBwdWJsaWMgY29va2llU2V0dGluZ3MkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxDbHJIaXN0b3J5U2V0dGluZ3NNb2RlbFtdPihbXSk7XG4gIGNvb2tpZU5hbWUgPSAnY2xyLmhpc3RvcnknO1xuICBjb29raWVOYW1lU2V0dGluZ3MgPSAnY2xyLmhpc3Rvcnkuc2V0dGluZ3MnO1xuICBwcml2YXRlIGV4cGlyeURhdGU6IERhdGU7XG5cbiAgLy8gbWF4bWltdW0gaGlzdG9yeSBsZW5ndGhcbiAgcHJpdmF0ZSBtYXhTaXplID0gMTAyNDtcbiAgLy8gbWF4aW11bSB1cmwgbGVuZ3RoIGZvciB1c2FnZSBpbiBoaXN0b3J5XG4gIHByaXZhdGUgbWF4VXJsU2l6ZSA9IDI1NjtcblxuICBjb25zdHJ1Y3RvcigpIHtcbiAgICB0aGlzLmV4cGlyeURhdGUgPSBuZXcgRGF0ZSgpO1xuICAgIHRoaXMuZXhwaXJ5RGF0ZS5zZXRUaW1lKHRoaXMuZXhwaXJ5RGF0ZS5nZXRUaW1lKCkgKyAzNjUgKiAyNCAqIDYwICogNjAgKiAxMDAwKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBBZGQgYSBuZXcgaGlzdG9yeSBlbnRyeVxuICAgKiBAcGFyYW0gaGlzdG9yeUVudHJ5IFRoZSBlbnRyeSB0byBiZSBhZGRlZFxuICAgKiBAcGFyYW0gZG9tYWluIFRoZSBvcHRpb25hbCBkb21haW4gcGFyYW0gd2hlcmUgdGhlIGNvb2tpZSBpcyBzdG9yZWRcbiAgICogQHJldHVybnMgdHJ1ZSB3aGVuIGVudHJ5IGFkZGVkLCBvdGhlcndpc2UgZmFsc2UgaXMgcmV0dXJuZWRcbiAgICovXG4gIGFkZEhpc3RvcnlFbnRyeShoaXN0b3J5RW50cnk6IENsckhpc3RvcnlNb2RlbCwgZG9tYWluPzogc3RyaW5nKTogYm9vbGVhbiB7XG4gICAgdGhpcy5yZW1vdmVGcm9tSGlzdG9yeShoaXN0b3J5RW50cnkpO1xuICAgIGxldCBoaXN0b3J5ID0gdGhpcy5nZXRIaXN0b3J5KGhpc3RvcnlFbnRyeS51c2VybmFtZSwgaGlzdG9yeUVudHJ5LmNvbnRleHQpO1xuXG4gICAgLyogb25seSBhZGQgdG8gaGlzdG9yeSBpbiBjYXNlIHVybCBkb2VzIG5vdCBleGNlZWQgbWF4VXJsU2l6ZSBjaGFyYWN0ZXJzICovXG4gICAgaWYgKGhpc3RvcnlFbnRyeS51cmwgJiYgaGlzdG9yeUVudHJ5LnVybC5sZW5ndGggPCB0aGlzLm1heFVybFNpemUpIHtcbiAgICAgIC8qIGFkZCBpdCBhcyBsYXN0IGVsZW1lbnQgKi9cbiAgICAgIGhpc3RvcnkucHVzaChoaXN0b3J5RW50cnkpO1xuICAgICAgLyogc3VwcG9ydCBhIG1heGltdW0gb2YgNCBwYWdlcyBpbiBoaXN0b3J5ICovXG4gICAgICBoaXN0b3J5ID0gaGlzdG9yeS5zbGljZSgtNCk7XG4gICAgICB0aGlzLnNldEhpc3RvcnkoaGlzdG9yeSwgZG9tYWluKTtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICBnZXRIaXN0b3J5RGlzcGxheSh1c2VybmFtZTogc3RyaW5nLCBjb250ZXh0OiB7IFtrZXk6IHN0cmluZ106IHN0cmluZyB9KTogQ2xySGlzdG9yeU1vZGVsW10ge1xuICAgIGNvbnN0IGhpc3RvcnkgPSB0aGlzLmdldEhpc3RvcnkodXNlcm5hbWUsIGNvbnRleHQpO1xuICAgIGlmIChoaXN0b3J5Lmxlbmd0aCA+IDApIHtcbiAgICAgIGNvbnN0IGN1cnJlbnRQYWdlVGl0bGUgPSBoaXN0b3J5W2hpc3RvcnkubGVuZ3RoIC0gMV0udGl0bGU7XG4gICAgICBjb25zdCB0b0Rpc3BsYXk6IENsckhpc3RvcnlNb2RlbFtdID0gW107XG4gICAgICBjb25zdCBhbHJlYWR5RGlzcGxheTogc3RyaW5nW10gPSBbXTtcblxuICAgICAgZm9yIChsZXQgaSA9IGhpc3RvcnkubGVuZ3RoIC0gMTsgaSA+PSAwICYmIGFscmVhZHlEaXNwbGF5Lmxlbmd0aCA8IDQ7IGktLSkge1xuICAgICAgICBpZiAoIWFscmVhZHlEaXNwbGF5LmluY2x1ZGVzKGhpc3RvcnlbaV0udGl0bGUpICYmIGhpc3RvcnlbaV0udGl0bGUgIT09IGN1cnJlbnRQYWdlVGl0bGUpIHtcbiAgICAgICAgICBhbHJlYWR5RGlzcGxheS5wdXNoKGhpc3RvcnlbaV0udGl0bGUpO1xuICAgICAgICAgIHRvRGlzcGxheS5wdXNoKGhpc3RvcnlbaV0pO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIHJldHVybiB0b0Rpc3BsYXkucmV2ZXJzZSgpO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gaGlzdG9yeTtcbiAgICB9XG4gIH1cblxuICBnZXRIaXN0b3J5KHVzZXJuYW1lOiBzdHJpbmcsIGNvbnRleHQ6IHsgW2tleTogc3RyaW5nXTogc3RyaW5nIH0pOiBDbHJIaXN0b3J5TW9kZWxbXSB7XG4gICAgY29uc3QgaGlzdG9yeTogQ2xySGlzdG9yeU1vZGVsW10gPSB0aGlzLmdldENvb2tpZUJ5TmFtZSh0aGlzLmNvb2tpZU5hbWUpO1xuICAgIGlmICghaGlzdG9yeSkge1xuICAgICAgcmV0dXJuIFtdO1xuICAgIH1cbiAgICByZXR1cm4gaGlzdG9yeS5maWx0ZXIoZWxlbWVudCA9PiB0aGlzLmNoZWNrRXF1YWxDb250ZXh0KGVsZW1lbnQsIGNvbnRleHQpICYmIGVsZW1lbnQudXNlcm5hbWUgPT09IHVzZXJuYW1lKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBTZXQgaGlzdG9yeVxuICAgKiBAcGFyYW0gZW50cmllc1xuICAgKiBAcGFyYW0gZG9tYWluXG4gICAqL1xuICBwcml2YXRlIHNldEhpc3RvcnkoZW50cmllczogQ2xySGlzdG9yeU1vZGVsW10sIGRvbWFpbj86IHN0cmluZyk6IHZvaWQge1xuICAgIGlmICghZW50cmllcyB8fCBlbnRyaWVzLmxlbmd0aCA9PT0gMCkge1xuICAgICAgLy8gY2xlYXIgYWxsIGVudHJpZXNcbiAgICAgIHRoaXMuc2V0Q29va2llKHRoaXMuY29va2llTmFtZSwgdGhpcy5lbmNvZGUoW10pLCBkb21haW4pO1xuICAgIH0gZWxzZSB7XG4gICAgICBlbnRyaWVzID0gdGhpcy5yZWR1Y2VTaXplKGVudHJpZXMpO1xuICAgICAgLy8gZW5jb2RlIHRpdGxlICYgcGFnZW5hbWUgdG8gYmUgY29va2llIHNhdmluZyBzYXZlXG4gICAgICBpZiAoZW50cmllcyAmJiBlbnRyaWVzLmxlbmd0aCA+IDApIHtcbiAgICAgICAgZW50cmllcy5mb3JFYWNoKGVudHJ5ID0+IHtcbiAgICAgICAgICBlbnRyeS50aXRsZSA9IGVuY29kZVVSSShlbnRyeS50aXRsZSk7XG4gICAgICAgICAgZW50cnkucGFnZU5hbWUgPSBlbmNvZGVVUkkoZW50cnkucGFnZU5hbWUpO1xuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICAgIHRoaXMuc2V0Q29va2llKHRoaXMuY29va2llTmFtZSwgdGhpcy5lbmNvZGUoZW50cmllcyksIGRvbWFpbik7XG4gICAgfVxuICB9XG5cbiAgcmVkdWNlU2l6ZShlbnRyaWVzOiBDbHJIaXN0b3J5TW9kZWxbXSk6IENsckhpc3RvcnlNb2RlbFtdIHtcbiAgICBpZiAoSlNPTi5zdHJpbmdpZnkoZW50cmllcykubGVuZ3RoID4gdGhpcy5tYXhTaXplKSB7XG4gICAgICBjb25zdCByZWR1Y2VkOiBDbHJIaXN0b3J5TW9kZWxbXSA9IFtdO1xuICAgICAgZG8ge1xuICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IGVudHJpZXMubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgICByZWR1Y2VkLnB1c2goZW50cmllc1tpXSk7XG4gICAgICAgIH1cbiAgICAgIH0gd2hpbGUgKEpTT04uc3RyaW5naWZ5KHJlZHVjZWQpLmxlbmd0aCA8IHRoaXMubWF4U2l6ZSk7XG4gICAgICByZXR1cm4gcmVkdWNlZDtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIGVudHJpZXM7XG4gICAgfVxuICB9XG5cbiAgcmVzZXRIaXN0b3J5KCk6IHZvaWQge1xuICAgIHRoaXMuc2V0SGlzdG9yeShudWxsKTtcbiAgfVxuXG4gIHJlbW92ZUZyb21IaXN0b3J5KGVudHJ5OiBDbHJIaXN0b3J5TW9kZWwpOiB2b2lkIHtcbiAgICBsZXQgaGlzdG9yeSA9IHRoaXMuZ2V0SGlzdG9yeShlbnRyeS51c2VybmFtZSwgZW50cnkuY29udGV4dCk7XG4gICAgLyogcmVtb3ZlIGN1cnJlbnQgZW50cnkgZnJvbSBhcnJheSAqL1xuICAgIGhpc3RvcnkgPSBoaXN0b3J5LmZpbHRlcihcbiAgICAgIGVsZW1lbnQgPT5cbiAgICAgICAgIShcbiAgICAgICAgICBlbGVtZW50LnRpdGxlID09PSBlbnRyeS50aXRsZSAmJlxuICAgICAgICAgIGVsZW1lbnQudXNlcm5hbWUgPT09IGVudHJ5LnVzZXJuYW1lICYmXG4gICAgICAgICAgdGhpcy5jaGVja0VxdWFsQ29udGV4dChlbGVtZW50LCBlbnRyeS5jb250ZXh0KVxuICAgICAgICApXG4gICAgKTtcbiAgICB0aGlzLnNldEhpc3RvcnkoaGlzdG9yeSk7XG4gIH1cblxuICBwcml2YXRlIGNoZWNrRXF1YWxDb250ZXh0KGVudHJ5OiBDbHJIaXN0b3J5TW9kZWwsIHRvQ29tcGFyZTogeyBba2V5OiBzdHJpbmddOiBzdHJpbmcgfSk6IGJvb2xlYW4ge1xuICAgIGxldCBlcXVhbCA9IGZhbHNlO1xuICAgIGlmIChlbnRyeSAmJiB0b0NvbXBhcmUpIHtcbiAgICAgIE9iamVjdC5rZXlzKHRvQ29tcGFyZSkuZm9yRWFjaChrZXkgPT4ge1xuICAgICAgICBlcXVhbCA9IGVudHJ5LmNvbnRleHRba2V5XSA9PT0gdG9Db21wYXJlW2tleV07XG4gICAgICB9KTtcbiAgICB9XG4gICAgcmV0dXJuIGVxdWFsO1xuICB9XG5cbiAgaW5pdGlhbGl6ZUNvb2tpZVNldHRpbmdzKHVzZXJuYW1lOiBzdHJpbmcsIGRvbWFpbj86IHN0cmluZyk6IHZvaWQge1xuICAgIGxldCBoaXN0b3J5U2V0dGluZ3M6IENsckhpc3RvcnlTZXR0aW5nc01vZGVsW10gPSB0aGlzLmdldENvb2tpZUJ5TmFtZSh0aGlzLmNvb2tpZU5hbWVTZXR0aW5ncyk7XG4gICAgaWYgKCFoaXN0b3J5U2V0dGluZ3MgfHwgaGlzdG9yeVNldHRpbmdzLmxlbmd0aCA9PT0gMCkge1xuICAgICAgdGhpcy5zZXRIaXN0b3J5UGlubmVkKHVzZXJuYW1lLCBmYWxzZSwgZG9tYWluKTtcbiAgICAgIGhpc3RvcnlTZXR0aW5ncyA9IFt7IHVzZXJuYW1lOiB1c2VybmFtZSwgaGlzdG9yeVBpbm5lZDogZmFsc2UgfV07XG4gICAgfVxuICAgIGlmICghaGlzdG9yeVNldHRpbmdzLmZpbmQoaFNldHRpbmcgPT4gaFNldHRpbmcudXNlcm5hbWUgPT09IHVzZXJuYW1lKSkge1xuICAgICAgdGhpcy5zZXRIaXN0b3J5UGlubmVkKHVzZXJuYW1lLCBmYWxzZSwgZG9tYWluKTtcbiAgICAgIGhpc3RvcnlTZXR0aW5ncy5wdXNoKHsgdXNlcm5hbWU6IHVzZXJuYW1lLCBoaXN0b3J5UGlubmVkOiBmYWxzZSB9KTtcbiAgICB9XG4gICAgdGhpcy5jb29raWVTZXR0aW5ncyQubmV4dChoaXN0b3J5U2V0dGluZ3MpO1xuICB9XG5cbiAgc2V0SGlzdG9yeVBpbm5lZCh1c2VybmFtZTogc3RyaW5nLCBwaW46IGJvb2xlYW4sIGRvbWFpbj86IHN0cmluZyk6IHZvaWQge1xuICAgIGNvbnN0IGhpc3RvcnlTZXR0aW5nczogQ2xySGlzdG9yeVNldHRpbmdzTW9kZWxbXSA9IHRoaXMuZ2V0Q29va2llQnlOYW1lKHRoaXMuY29va2llTmFtZVNldHRpbmdzKTtcbiAgICBjb25zdCBoaXN0b3J5U2V0dGluZyA9IGhpc3RvcnlTZXR0aW5ncy5maW5kKGhTZXR0aW5nID0+IGhTZXR0aW5nLnVzZXJuYW1lID09PSB1c2VybmFtZSk7XG4gICAgaWYgKGhpc3RvcnlTZXR0aW5nKSB7XG4gICAgICBoaXN0b3J5U2V0dGluZy5oaXN0b3J5UGlubmVkID0gcGluO1xuICAgIH0gZWxzZSB7XG4gICAgICBoaXN0b3J5U2V0dGluZ3MucHVzaCh7IHVzZXJuYW1lOiB1c2VybmFtZSwgaGlzdG9yeVBpbm5lZDogcGluIH0pO1xuICAgIH1cbiAgICB0aGlzLmNvb2tpZVNldHRpbmdzJC5uZXh0KGhpc3RvcnlTZXR0aW5ncyk7XG4gICAgLy8gU2V0IGl0XG4gICAgdGhpcy5zZXRDb29raWUodGhpcy5jb29raWVOYW1lU2V0dGluZ3MsIEpTT04uc3RyaW5naWZ5KGhpc3RvcnlTZXR0aW5ncyksIGRvbWFpbik7XG4gIH1cblxuICBwcml2YXRlIGdldENvb2tpZUJ5TmFtZShuYW1lOiBzdHJpbmcpOiBhbnlbXSB7XG4gICAgY29uc3QgY29va2llRW50cmllcyA9XG4gICAgICBkb2N1bWVudC5jb29raWVcbiAgICAgICAgLnNwbGl0KCc7JylcbiAgICAgICAgLm1hcChjID0+IGMudHJpbSgpKVxuICAgICAgICAuZmlsdGVyKGNvb2tpZSA9PiB7XG4gICAgICAgICAgcmV0dXJuIGNvb2tpZS5zdWJzdHJpbmcoMCwgbmFtZS5sZW5ndGggKyAxKSA9PT0gYCR7bmFtZX09YDtcbiAgICAgICAgfSlcbiAgICAgICAgLm1hcChjb29raWUgPT4ge1xuICAgICAgICAgIHJldHVybiBuYW1lID09PSB0aGlzLmNvb2tpZU5hbWVcbiAgICAgICAgICAgID8gdGhpcy5kZWNvZGUoY29va2llLnN1YnN0cmluZyhuYW1lLmxlbmd0aCArIDEpKVxuICAgICAgICAgICAgOiBKU09OLnBhcnNlKGNvb2tpZS5zdWJzdHJpbmcobmFtZS5sZW5ndGggKyAxKSk7XG4gICAgICAgIH0pWzBdIHx8IFtdO1xuICAgIGlmIChjb29raWVFbnRyaWVzICYmIGNvb2tpZUVudHJpZXMubGVuZ3RoID4gMCkge1xuICAgICAgY29va2llRW50cmllcy5mb3JFYWNoKChlbnRyeTogYW55KSA9PiB7XG4gICAgICAgIGlmIChlbnRyeS50aXRsZSkge1xuICAgICAgICAgIGVudHJ5LnRpdGxlID0gZGVjb2RlVVJJKGVudHJ5LnRpdGxlKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoZW50cnkucGFnZU5hbWUpIHtcbiAgICAgICAgICBlbnRyeS5wYWdlTmFtZSA9IGRlY29kZVVSSShlbnRyeS5wYWdlTmFtZSk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgIH1cbiAgICByZXR1cm4gY29va2llRW50cmllcztcbiAgfVxuXG4gIHByaXZhdGUgZW5jb2RlKGNvbnRlbnQ6IENsckhpc3RvcnlNb2RlbFtdKTogc3RyaW5nIHtcbiAgICBjb25zdCBqc29uU3RyaW5nID0gYnRvYShlbmNvZGVVUklDb21wb25lbnQoSlNPTi5zdHJpbmdpZnkoY29udGVudCkpKTtcbiAgICByZXR1cm4ganNvblN0cmluZy5yZXBsYWNlKC9cXCsvZywgJy0nKS5yZXBsYWNlKC9cXC8vZywgJ18nKS5yZXBsYWNlKC89L2csICchJyk7XG4gIH1cblxuICBwcml2YXRlIGRlY29kZShjb250ZW50OiBzdHJpbmcpOiBDbHJIaXN0b3J5TW9kZWxbXSB7XG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IGJhc2U2NCA9IGNvbnRlbnQucmVwbGFjZSgvLS9nLCAnKycpLnJlcGxhY2UoL18vZywgJy8nKS5yZXBsYWNlKC8hL2csICc9Jyk7XG4gICAgICByZXR1cm4gSlNPTi5wYXJzZShkZWNvZGVVUklDb21wb25lbnQoYXRvYihiYXNlNjQpKSk7XG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgIHJldHVybiBbXTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIHNldENvb2tpZShuYW1lOiBzdHJpbmcsIGNvbnRlbnQ6IHN0cmluZywgZG9tYWluOiBzdHJpbmcpOiB2b2lkIHtcbiAgICBkb2N1bWVudC5jb29raWUgPVxuICAgICAgbmFtZSArXG4gICAgICAnPScgK1xuICAgICAgY29udGVudCArXG4gICAgICAnO2RvbWFpbj0nICtcbiAgICAgIChkb21haW4gPyBkb21haW4gOiB0aGlzLmdldERvbWFpbigpKSArXG4gICAgICAnO2V4cGlyZXM9JyArXG4gICAgICB0aGlzLmV4cGlyeURhdGUudG9VVENTdHJpbmcoKSArXG4gICAgICAnO3BhdGg9Lyc7XG4gIH1cblxuICBwcml2YXRlIGdldERvbWFpbigpOiBzdHJpbmcge1xuICAgIGNvbnN0IGRvbWFpbiA9IHdpbmRvdy5sb2NhdGlvbi5ob3N0bmFtZS5zcGxpdCgnLicpO1xuICAgIC8vbG9jYWxob3N0IGZhbGxiYWNrXG4gICAgaWYgKGRvbWFpbi5sZW5ndGggPT09IDEpIHtcbiAgICAgIHJldHVybiBkb21haW5bMF07XG4gICAgfVxuICAgIGRvbWFpbi5zaGlmdCgpO1xuICAgIHJldHVybiBkb21haW4uam9pbignLicpO1xuICB9XG59XG4iXX0=