@talrace/ngx-noder 0.0.4 → 0.0.6

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 (93) hide show
  1. package/README.md +72 -64
  2. package/esm2022/lib/+shared/abstract/base-api.service.mjs +4 -4
  3. package/esm2022/lib/+shared/abstract/observer.component.mjs +4 -4
  4. package/esm2022/lib/+shared/add-link-dialog/add-link-dialog.component.mjs +11 -7
  5. package/esm2022/lib/+shared/confirm-dialog/confirm-dialog.component.mjs +12 -8
  6. package/esm2022/lib/+shared/editor/core/components/edges/edge.component.mjs +4 -4
  7. package/esm2022/lib/+shared/editor/core/editor.mjs +7 -14
  8. package/esm2022/lib/+shared/editor/core/helpers/rendering.helper.mjs +9 -8
  9. package/esm2022/lib/+shared/editor/core/layers/text.layer.mjs +4 -4
  10. package/esm2022/lib/+shared/editor/custom-components/external-element/external.component.mjs +4 -4
  11. package/esm2022/lib/+shared/editor/custom-components/image/components/image.component.mjs +7 -6
  12. package/esm2022/lib/+shared/editor/custom-components/image/resizer/resizer.component.mjs +4 -4
  13. package/esm2022/lib/+shared/editor/custom-components/image/services/image-api.service.mjs +4 -4
  14. package/esm2022/lib/+shared/editor/custom-components/shared/abstract/base.component.mjs +6 -4
  15. package/esm2022/lib/+shared/editor/custom-components/shared/services/component/component.service.mjs +4 -4
  16. package/esm2022/lib/+shared/editor/custom-components/shared/services/custom-content/custom-content.service.mjs +9 -15
  17. package/esm2022/lib/+shared/editor/custom-components/shared/services/overlay/overlay.service.mjs +4 -4
  18. package/esm2022/lib/+shared/editor/custom-components/tab/tab.component.mjs +6 -5
  19. package/esm2022/lib/+shared/editor/custom-components/table/components/table-cell.component.mjs +8 -6
  20. package/esm2022/lib/+shared/editor/custom-components/table/components/table.component.mjs +10 -8
  21. package/esm2022/lib/+shared/editor/custom-components/table/overlay-menu/overlay-menu.component.mjs +4 -4
  22. package/esm2022/lib/+shared/editor/editor.component.mjs +7 -14
  23. package/esm2022/lib/+shared/editor/editor.module.mjs +5 -8
  24. package/esm2022/lib/+shared/editor/execution/models/general-properties.model.mjs +1 -1
  25. package/esm2022/lib/+shared/editor/execution/regulator.service.mjs +18 -8
  26. package/esm2022/lib/+shared/editor/interaction/editor.service.mjs +4 -4
  27. package/esm2022/lib/+shared/editor-search/editor-search-dialog.component.mjs +4 -4
  28. package/esm2022/lib/+shared/editor-title/editor-title.component.mjs +83 -0
  29. package/esm2022/lib/+shared/editor-toolbar/color-picker/color-picker.component.mjs +5 -5
  30. package/esm2022/lib/+shared/editor-toolbar/editor-toolbar.component.mjs +78 -92
  31. package/esm2022/lib/+shared/editor-toolbar/editor-toolbar.module.mjs +15 -5
  32. package/esm2022/lib/+shared/editor-toolbar/font/font.component.mjs +5 -5
  33. package/esm2022/lib/+shared/editor-toolbar/font-size/font-size.component.mjs +5 -5
  34. package/esm2022/lib/+shared/editor-toolbar/font-style/font-style.component.mjs +5 -5
  35. package/esm2022/lib/+shared/editor-toolbar/format/format.component.mjs +5 -5
  36. package/esm2022/lib/+shared/editor-toolbar/heading/heading.component.mjs +4 -4
  37. package/esm2022/lib/+shared/editor-toolbar/menu-dropdowns/menu-dropdowns.component.mjs +194 -0
  38. package/esm2022/lib/+shared/editor-toolbar/numbering/numbering.component.mjs +5 -5
  39. package/esm2022/lib/+shared/editor-toolbar/print/print.component.mjs +5 -5
  40. package/esm2022/lib/+shared/editor-toolbar/toolbar-actions/toolbar-actions.component.mjs +126 -0
  41. package/esm2022/lib/+shared/editor-toolbar/undo-redo/undo-redo.component.mjs +5 -5
  42. package/esm2022/lib/+shared/editor-toolbar/zoom/zoom.component.mjs +4 -4
  43. package/esm2022/lib/+shared/helpers/scaling.helper.mjs +9 -0
  44. package/esm2022/lib/+shared/insert-table/insert-table.component.mjs +4 -4
  45. package/esm2022/lib/+shared/services/commands.service.mjs +4 -4
  46. package/esm2022/lib/+shared/services/custom-icon.service.mjs +4 -4
  47. package/esm2022/public-api.mjs +2 -2
  48. package/fesm2022/talrace-ngx-noder.mjs +545 -488
  49. package/fesm2022/talrace-ngx-noder.mjs.map +1 -1
  50. package/lib/+shared/add-link-dialog/add-link-dialog.component.d.ts +1 -0
  51. package/lib/+shared/confirm-dialog/confirm-dialog.component.d.ts +1 -0
  52. package/lib/+shared/editor/core/editor.d.ts +3 -3
  53. package/lib/+shared/editor/core/helpers/rendering.helper.d.ts +3 -3
  54. package/lib/+shared/editor/custom-components/shared/abstract/base.component.d.ts +3 -1
  55. package/lib/+shared/editor/custom-components/shared/services/custom-content/custom-content.service.d.ts +1 -1
  56. package/lib/+shared/editor/custom-components/table/components/table-cell.component.d.ts +2 -2
  57. package/lib/+shared/editor/custom-components/table/components/table.component.d.ts +0 -2
  58. package/lib/+shared/editor/editor.component.d.ts +1 -5
  59. package/lib/+shared/editor/editor.module.d.ts +15 -16
  60. package/lib/+shared/editor/execution/models/general-properties.model.d.ts +1 -0
  61. package/lib/+shared/editor/execution/regulator.service.d.ts +2 -2
  62. package/lib/+shared/editor-title/editor-title.component.d.ts +24 -0
  63. package/lib/+shared/editor-toolbar/editor-toolbar.component.d.ts +31 -30
  64. package/lib/+shared/editor-toolbar/editor-toolbar.module.d.ts +19 -16
  65. package/lib/+shared/editor-toolbar/menu-dropdowns/menu-dropdowns.component.d.ts +73 -0
  66. package/lib/+shared/editor-toolbar/toolbar-actions/toolbar-actions.component.d.ts +49 -0
  67. package/lib/+shared/helpers/scaling.helper.d.ts +4 -0
  68. package/package.json +1 -1
  69. package/public-api.d.ts +1 -1
  70. package/src/_ngx-noder.theme.scss +10 -8
  71. package/src/lib/+shared/add-link-dialog/_add-link-dialog.theme.scss +3 -3
  72. package/src/lib/+shared/confirm-dialog/_theme.scss +6 -6
  73. package/src/lib/+shared/editor/_editor.theme.scss +84 -15
  74. package/src/lib/+shared/editor/_theme.scss +0 -2
  75. package/src/lib/+shared/editor-title/_editor-title.theme.scss +28 -0
  76. package/src/lib/+shared/editor-toolbar/_editor-toolbar.theme.scss +1 -24
  77. package/src/lib/+shared/editor-toolbar/_theme.scss +16 -2
  78. package/src/lib/+shared/editor-toolbar/font/_font.theme.scss +12 -0
  79. package/src/lib/+shared/editor-toolbar/font-size/_font-size.theme.scss +14 -0
  80. package/src/lib/+shared/editor-toolbar/font-style/_font-style.theme.scss +21 -0
  81. package/src/lib/+shared/editor-toolbar/format/_format.theme.scss +21 -0
  82. package/src/lib/+shared/editor-toolbar/menu-dropdowns/_menu-dropdowns.theme.scss +26 -0
  83. package/src/lib/+shared/editor-toolbar/numbering/_numbering.theme.scss +52 -11
  84. package/src/lib/+shared/editor-toolbar/toolbar-actions/_toolbar-actions.theme.scss +21 -0
  85. package/src/lib/+shared/editor-toolbar/undo-redo/_undo-redo.theme.scss +16 -0
  86. package/src/lib/+shared/insert-table/_insert-table.theme.scss +9 -6
  87. package/src/scss/_mixins.scss +2 -37
  88. package/esm2022/lib/+shared/editor/custom-components/external-element/element-toolbar/element-toolbar.component.mjs +0 -35
  89. package/esm2022/lib/+shared/editor-header/editor-header.component.mjs +0 -314
  90. package/lib/+shared/editor/custom-components/external-element/element-toolbar/element-toolbar.component.d.ts +0 -14
  91. package/lib/+shared/editor-header/editor-header.component.d.ts +0 -101
  92. package/src/lib/+shared/editor/custom-components/external-element/element-toolbar/_element-toolbar.theme.scss +0 -10
  93. package/src/lib/+shared/editor-header/_editor-header.theme.scss +0 -106
@@ -69,10 +69,10 @@ export class NoderEdgeComponent extends ObserverComponent {
69
69
  const renderedEdgeHeight = this.height > this.properties.maxEdgeHeight ? this.properties.maxEdgeHeight : this.height;
70
70
  DomHelper.setStyle(this.typeContainer.nativeElement.style, this.typeContainerPosition, `${renderedEdgeHeight}px`);
71
71
  }
72
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.1", ngImport: i0, type: NoderEdgeComponent, deps: [{ token: i1.RegulatorService }, { token: i2.EditorService }], target: i0.ɵɵFactoryTarget.Component }); }
73
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.2.1", type: NoderEdgeComponent, selector: "app-noder-edge", inputs: { model: "model", properties: "properties", margins: "margins", width: "width", parentSessionId: "parentSessionId", type: "type" }, host: { properties: { "attr.data-session-id": "this.sessionId" } }, viewQueries: [{ propertyName: "container", first: true, predicate: ["container"], descendants: true, static: true }, { propertyName: "typeContainer", first: true, predicate: ["locationType"], descendants: true, static: true }], usesInheritance: true, ngImport: i0, template: "<div\n #container\n class=\"edit-container\"></div>\n<div\n #locationType\n class=\"location-type\"></div>\n", styles: [":host{height:100%;width:100%;background:transparent;display:block}.location-type{position:absolute;height:auto;width:auto;font-size:9pt;background-color:#f2f2f2;border:1px solid #838282;border-radius:2px;padding:4px;margin-left:5px;z-index:2}.header-edit-mode{border-bottom:1px dashed #838282}.footer-edit-mode{border-top:1px dashed #838282}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
72
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: NoderEdgeComponent, deps: [{ token: i1.RegulatorService }, { token: i2.EditorService }], target: i0.ɵɵFactoryTarget.Component }); }
73
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: NoderEdgeComponent, selector: "app-noder-edge", inputs: { model: "model", properties: "properties", margins: "margins", width: "width", parentSessionId: "parentSessionId", type: "type" }, host: { properties: { "attr.data-session-id": "this.sessionId" } }, viewQueries: [{ propertyName: "container", first: true, predicate: ["container"], descendants: true, static: true }, { propertyName: "typeContainer", first: true, predicate: ["locationType"], descendants: true, static: true }], usesInheritance: true, ngImport: i0, template: "<div\n #container\n class=\"edit-container\"></div>\n<div\n #locationType\n class=\"location-type\"></div>\n", styles: [":host{height:100%;width:100%;background:transparent;display:block}.location-type{position:absolute;height:auto;width:auto;font-size:9pt;background-color:#f2f2f2;border:1px solid #838282;border-radius:2px;padding:4px;margin-left:5px;z-index:2}.header-edit-mode{border-bottom:1px dashed #838282}.footer-edit-mode{border-top:1px dashed #838282}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
74
74
  }
75
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.1", ngImport: i0, type: NoderEdgeComponent, decorators: [{
75
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: NoderEdgeComponent, decorators: [{
76
76
  type: Component,
77
77
  args: [{ selector: 'app-noder-edge', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div\n #container\n class=\"edit-container\"></div>\n<div\n #locationType\n class=\"location-type\"></div>\n", styles: [":host{height:100%;width:100%;background:transparent;display:block}.location-type{position:absolute;height:auto;width:auto;font-size:9pt;background-color:#f2f2f2;border:1px solid #838282;border-radius:2px;padding:4px;margin-left:5px;z-index:2}.header-edit-mode{border-bottom:1px dashed #838282}.footer-edit-mode{border-top:1px dashed #838282}\n"] }]
78
78
  }], ctorParameters: () => [{ type: i1.RegulatorService }, { type: i2.EditorService }], propDecorators: { model: [{
@@ -97,4 +97,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.1", ngImpor
97
97
  type: ViewChild,
98
98
  args: ['locationType', { static: true }]
99
99
  }] } });
100
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWRnZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtbm9kZXIvc3JjL2xpYi8rc2hhcmVkL2VkaXRvci9jb3JlL2NvbXBvbmVudHMvZWRnZXMvZWRnZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtbm9kZXIvc3JjL2xpYi8rc2hhcmVkL2VkaXRvci9jb3JlL2NvbXBvbmVudHMvZWRnZXMvZWRnZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFjLFdBQVcsRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRzlHLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUVyRCxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFLNUMsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0seUNBQXlDLENBQUM7Ozs7QUFZNUUsTUFBTSxPQUFPLGtCQUFtQixTQUFRLGlCQUFpQjtJQVdyRCxJQUNJLElBQUksQ0FBQyxHQUFhO1FBQ2xCLElBQUksQ0FBQyxLQUFLLEdBQUcsR0FBRyxDQUFDO1FBQ2pCLElBQUksR0FBRyxLQUFLLFFBQVEsQ0FBQyxNQUFNLEVBQUU7WUFDekIsSUFBSSxDQUFDLGFBQWEsR0FBRyxrQkFBa0IsQ0FBQztZQUN4QyxJQUFJLENBQUMscUJBQXFCLEdBQUcsS0FBSyxDQUFDO1NBQ3RDO2FBQU07WUFDSCxJQUFJLENBQUMsYUFBYSxHQUFHLGtCQUFrQixDQUFDO1lBQ3hDLElBQUksQ0FBQyxxQkFBcUIsR0FBRyxRQUFRLENBQUM7U0FDekM7SUFDTCxDQUFDO0lBQ0QsSUFBSSxJQUFJO1FBQ0osT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDO0lBQ3RCLENB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QUMsSUFBSSxDQUFDLE1BQU0sQ0FBQztRQUNySCxTQUFTLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsYUFBYSxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMscUJBQXFCLEVBQUUsR0FBRyxrQkFBa0IsSUFBSSxDQUFDLENBQUM7SUFDdEgsQ0FBQzs4R0FsR1Esa0JBQWtCO2tHQUFsQixrQkFBa0IsaWdCQ3RCL0IsMEhBTUE7OzJGRGdCYSxrQkFBa0I7a0JBTjlCLFNBQVM7K0JBQ0ksZ0JBQWdCLG1CQUdULHVCQUF1QixDQUFDLE1BQU07aUhBR3RDLEtBQUs7c0JBQWIsS0FBSztnQkFFRyxVQUFVO3NCQUFsQixLQUFLO2dCQUVHLE9BQU87c0JBQWYsS0FBSztnQkFFRyxLQUFLO3NCQUFiLEtBQUs7Z0JBRUcsZUFBZTtzQkFBdkIsS0FBSztnQkFHRixJQUFJO3NCQURQLEtBQUs7Z0JBaUJOLFNBQVM7c0JBRFIsV0FBVzt1QkFBQyxzQkFBc0I7Z0JBcUJPLFNBQVM7c0JBQWxELFNBQVM7dUJBQUMsV0FBVyxFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRTtnQkFFSyxhQUFhO3NCQUF6RCxTQUFTO3VCQUFDLGNBQWMsRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBFbGVtZW50UmVmLCBIb3N0QmluZGluZywgSW5wdXQsIFZpZXdDaGlsZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7IERvbUhlbHBlciB9IGZyb20gJy4uLy4uL2hlbHBlcnMvZG9tLmhlbHBlcic7XG5pbXBvcnQgeyBFZGdlTW9kZWwgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi9tb2RlbHMvZ2VuZXJhdGVkL2VkZ2UubW9kZWwnO1xuaW1wb3J0IHsgRWRnZVR5cGUgfSBmcm9tICcuL2VkZ2UtdHlwZS5lbnVtJztcbmltcG9ydCB7IEVkaXRvclNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9pbnRlcmFjdGlvbi9lZGl0b3Iuc2VydmljZSc7XG5pbXBvcnQgeyBFZGl0U2Vzc2lvbiB9IGZyb20gJy4uLy4uL2VkaXQuc2Vzc2lvbic7XG5pbXBvcnQgeyBHZW5lcmFsUHJvcGVydGllc01vZGVsIH0gZnJvbSAnLi4vLi4vLi4vZXhlY3V0aW9uL21vZGVscy9nZW5lcmFsLXByb3BlcnRpZXMubW9kZWwnO1xuaW1wb3J0IHsgTWFyZ2luTW9kZWwgfSBmcm9tICcuLi8uLi9tb2RlbHMvbWFyZ2luLm1vZGVsJztcbmltcG9ydCB7IE9ic2VydmVyQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vLi4vLi4vYWJzdHJhY3Qvb2JzZXJ2ZXIuY29tcG9uZW50JztcbmltcG9ydCB7IFJlZ3VsYXRvclNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9leGVjdXRpb24vcmVndWxhdG9yLnNlcnZpY2UnO1xuaW1wb3J0IHsgUmVuZGVyZXIgfSBmcm9tICcuLi8uLi9yZW5kZXJlcic7XG5pbXBvcnQgeyBTZXNzaW9uTW9kZWwgfSBmcm9tICcuLi8uLi8uLi9leGVjdXRpb24vbW9kZWxzL3Nlc3Npb24ubW9kZWwnO1xuaW1wb3J0IHsgVmlydHVhbFJlbmRlcmVyIH0gZnJvbSAnLi4vLi4vdmlydHVhbC5yZW5kZXJlcic7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnYXBwLW5vZGVyLWVkZ2UnLFxuICAgIHRlbXBsYXRlVXJsOiAnZWRnZS5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJ2VkZ2UuY29tcG9uZW50LnNjc3MnXSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxufSlcbmV4cG9ydCBjbGFzcyBOb2RlckVkZ2VDb21wb25lbnQgZXh0ZW5kcyBPYnNlcnZlckNvbXBvbmVudCB7XG4gICAgQElucHV0KCkgbW9kZWw6IEVkZ2VNb2RlbDtcblxuICAgIEBJbnB1dCgpIHByb3BlcnRpZXM6IEdlbmVyYWxQcm9wZXJ0aWVzTW9kZWw7XG5cbiAgICBASW5wdXQoKSBtYXJnaW5zOiBNYXJnaW5Nb2RlbDtcblxuICAgIEBJbnB1dCgpIHdpZHRoOiBudW1iZXI7XG5cbiAgICBASW5wdXQoKSBwYXJlbnRTZXNzaW9uSWQ6IG51bWJlcjtcblxuICAgIEBJbnB1dCgpXG4gICAgc2V0IHR5cGUodmFsOiBFZGdlVHlwZSkge1xuICAgICAgICB0aGlzLl90eXBlID0gdmFsO1xuICAgICAgICBpZiAodmFsID09PSBFZGdlVHlwZS5IZWFkZXIpIHtcbiAgICAgICAgICAgIHRoaXMuZWRpdE1vZGVDbGFzcyA9ICdoZWFkZXItZWRpdC1tb2RlJztcbiAgICAgICAgICAgIHRoaXMudHlwZUNvbnRhaW5lclBvc2l0aW9uID0gJ3RvcCc7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLmVkaXRNb2RlQ2xhc3MgPSAnZm9vdGVyLWVkaXQtbW9kZSc7XG4gICAgICAgICAgICB0aGlzLnR5cGVDb250YWluZXJQb3NpdGlvbiA9ICdib3R0b20nO1xuICAgICAgICB9XG4gICAgfVxuICAgIGdldCB0eXBlKCk6IEVkZ2VUeXBlIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3R5cGU7XG4gICAgfVxuICAgIHByaXZhdGUgX3R5cGU6IEVkZ2VUeXBlO1xuXG4gICAgQEhvc3RCaW5kaW5nKCdhdHRyLmRhdGEtc2Vzc2lvbi1pZCcpXG4gICAgc2Vzc2lvbklkOiBudW1iZXI7XG5cbiAgICBlZGdlU2Vzc2lvbjogU2Vzc2lvbk1vZGVsO1xuXG4gICAgZWRpdE1vZGVDbGFzczogc3RyaW5nO1xuXG4gICAgdHlwZUNvbnRhaW5lclBvc2l0aW9uOiBzdHJpbmc7XG5cbiAgICBnZXQgc2Vzc2lvbigpOiBFZGl0U2Vzc2lvbiB7XG4gICAgICAgIHJldHVybiB0aGlzLmVkZ2VTZXNzaW9uLnNlc3Npb247XG4gICAgfVxuXG4gICAgZ2V0IHJlbmRlcmVyKCk6IFJlbmRlcmVyIHwgVmlydHVhbFJlbmRlcmVyIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZWRnZVNlc3Npb24ucmVuZGVyZXI7XG4gICAgfVxuXG4gICAgZ2V0IGhlaWdodCgpOiBudW1iZXIge1xuICAgICAgICByZXR1cm4gdGhpcy5zZXNzaW9uLnBhZ2VzV3JhcC5kZWZhdWx0VmVydGljYWxEYXRhLmNvbnRlbnRIZWlnaHQ7XG4gICAgfVxuXG4gICAgQFZpZXdDaGlsZCgnY29udGFpbmVyJywgeyBzdGF0aWM6IHRydWUgfSkgY29udGFpbmVyOiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PjtcblxuICAgIEBWaWV3Q2hpbGQoJ2xvY2F0aW9uVHlwZScsIHsgc3RhdGljOiB0cnVlIH0pIHR5cGVDb250YWluZXI6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+O1xuXG4gICAgcHJpdmF0ZSBfcHJldmlvdXNIZWlnaHQ6IG51bWJlcjtcblxuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVndWxhdG9yU2VydmljZTogUmVndWxhdG9yU2VydmljZSwgcHJpdmF0ZSBlZGl0b3JTZXJ2aWNlOiBFZGl0b3JTZXJ2aWNlKSB7XG4gICAgICAgIHN1cGVyKCk7XG4gICAgfVxuXG4gICAgb3ZlcnJpZGUgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgICAgIHRoaXMucmVndWxhdG9yU2VydmljZS5yZW1vdmVTZXNzaW9uKHRoaXMuc2Vzc2lvbklkKTtcbiAgICAgICAgc3VwZXIubmdPbkRlc3Ryb3koKTtcbiAgICB9XG5cbiAgICBpbml0aWFsaXplKCk6IHZvaWQge1xuICAgICAgICB0aGlzLmVkZ2VTZXNzaW9uID0gdGhpcy5yZWd1bGF0b3JTZXJ2aWNlLmFkZEVkZ2VTZXNzaW9uKHRoaXMpO1xuICAgICAgICB0aGlzLnNlc3Npb25JZCA9IHRoaXMuZWRnZVNlc3Npb24uc2Vzc2lvbklkO1xuICAgICAgICB0aGlzLl9wcmV2aW91c0hlaWdodCA9IHRoaXMuaGVpZ2h0O1xuICAgICAgICBEb21IZWxwZXIuc2V0U3R5bGUodGhpcy5jb250YWluZXIubmF0aXZlRWxlbWVudC5zdHlsZSwgJ292ZXJmbG93JywgJ2hpZGRlbicpO1xuICAgICAgICBEb21IZWxwZXIuc2V0U3R5bGUodGhpcy50eXBlQ29udGFpbmVyLm5hdGl2ZUVsZW1lbnQuc3R5bGUsICd2aXNpYmlsaXR5JywgJ2hpZGRlbicpO1xuICAgICAgICB0aGlzLnNldFR5cGVDb250YWluZXJQb3NpdGlvbigpO1xuICAgICAgICB0aGlzLnN1YnNjcmlwdGlvbnMucHVzaCh0aGlzLnJlbmRlcmVyVXBkYXRlZFN1YnNjcmlwdGlvbigpKTtcbiAgICB9XG5cbiAgICBlbnRlckVkaXRNb2RlKCk6IHZvaWQge1xuICAgICAgICBEb21IZWxwZXIuYWRkQ3NzQ2xhc3ModGhpcy5jb250YWluZXIubmF0aXZlRWxlbWVudCwgdGhpcy5lZGl0TW9kZUNsYXNzKTtcbiAgICAgICAgRG9tSGVscGVyLnNldFN0eWxlKHRoaXMudHlwZUNvbnRhaW5lci5uYXRpdmVFbGVtZW50LnN0eWxlLCAndmlzaWJpbGl0eScsICd2aXNpYmxlJyk7XG4gICAgfVxuXG4gICAgbGVhdmVFZGl0TW9kZSgpOiB2b2lkIHtcbiAgICAgICAgRG9tSGVscGVyLnJlbW92ZUNzc0NsYXNzKHRoaXMuY29udGFpbmVyLm5hdGl2ZUVsZW1lbnQsIHRoaXMuZWRpdE1vZGVDbGFzcyk7XG4gICAgICAgIERvbUhlbHBlci5zZXRTdHlsZSh0aGlzLnR5cGVDb250YWluZXIubmF0aXZlRWxlbWVudC5zdHlsZSwgJ3Zpc2liaWxpdHknLCAnaGlkZGVuJyk7XG4gICAgfVxuXG4gICAgcmVuZGVyZXJVcGRhdGVkU3Vic2NyaXB0aW9uKCk6IFN1YnNjcmlwdGlvbiB7XG4gICAgICAgIHJldHVybiB0aGlzLmVkaXRvclNlcnZpY2UucmVuZGVyZXJVcGRhdGVkJC5zdWJzY3JpYmUoc2Vzc2lvbklkID0+IHtcbiAgICAgICAgICAgIGlmIChzZXNzaW9uSWQgIT09IHRoaXMuc2Vzc2lvbklkIHx8IHRoaXMuaGVpZ2h0ID09PSB0aGlzLl9wcmV2aW91c0hlaWdodCkge1xuICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgdGhpcy5lZGl0b3JTZXJ2aWNlLmNoYW5nZWRFZGdlSGVpZ2h0KHRoaXMudHlwZSk7XG4gICAgICAgICAgICB0aGlzLl9wcmV2aW91c0hlaWdodCA9IHRoaXMuaGVpZ2h0O1xuICAgICAgICAgICAgdGhpcy5zZXRUeXBlQ29udGFpbmVyUG9zaXRpb24oKTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBzZXRUeXBlQ29udGFpbmVyUG9zaXRpb24oKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IHJlbmRlcmVkRWRnZUhlaWdodCA9IHRoaXMuaGVpZ2h0ID4gdGhpcy5wcm9wZXJ0aWVzLm1heEVkZ2VIZWlnaHQgPyB0aGlzLnByb3BlcnRpZXMubWF4RWRnZUhlaWdodCA6IHRoaXMuaGVpZ2h0O1xuICAgICAgICBEb21IZWxwZXIuc2V0U3R5bGUodGhpcy50eXBlQ29udGFpbmVyLm5hdGl2ZUVsZW1lbnQuc3R5bGUsIHRoaXMudHlwZUNvbnRhaW5lclBvc2l0aW9uLCBgJHtyZW5kZXJlZEVkZ2VIZWlnaHR9cHhgKTtcbiAgICB9XG59XG4iLCI8ZGl2XG4gICAgI2NvbnRhaW5lclxuICAgIGNsYXNzPVwiZWRpdC1jb250YWluZXJcIj48L2Rpdj5cbjxkaXZcbiAgICAjbG9jYXRpb25UeXBlXG4gICAgY2xhc3M9XCJsb2NhdGlvbi10eXBlXCI+PC9kaXY+XG4iXX0=
100
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWRnZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtbm9kZXIvc3JjL2xpYi8rc2hhcmVkL2VkaXRvci9jb3JlL2NvbXBvbmVudHMvZWRnZXMvZWRnZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtbm9kZXIvc3JjL2xpYi8rc2hhcmVkL2VkaXRvci9jb3JlL2NvbXBvbmVudHMvZWRnZXMvZWRnZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFjLFdBQVcsRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRzlHLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUVyRCxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFLNUMsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0seUNBQXlDLENBQUM7Ozs7QUFZNUUsTUFBTSxPQUFPLGtCQUFtQixTQUFRLGlCQUFpQjtJQVdyRCxJQUNJLElBQUksQ0FBQyxHQUFhO1FBQ2xCLElBQUksQ0FBQyxLQUFLLEdBQUcsR0FBRyxDQUFDO1FBQ2pCLElBQUksR0FBRyxLQUFLLFFBQVEsQ0FBQyxNQUFNLEVBQUU7WUFDekIsSUFBSSxDQUFDLGFBQWEsR0FBRyxrQkFBa0IsQ0FBQztZQUN4QyxJQUFJLENBQUMscUJBQXFCLEdBQUcsS0FBSyxDQUFDO1NBQ3RDO2FBQU07WUFDSCxJQUFJLENBQUMsYUFBYSxHQUFHLGtCQUFrQixDQUFDO1lBQ3hDLElBQUksQ0FBQyxxQkFBcUIsR0FBRyxRQUFRLENBQUM7U0FDekM7SUFDTCxDQUFDO0lBQ0QsSUFBSSxJQUFJO1FBQ0osT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDO0lBQ3RCLENB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QUMsSUFBSSxDQUFDLE1BQU0sQ0FBQztRQUNySCxTQUFTLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsYUFBYSxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMscUJBQXFCLEVBQUUsR0FBRyxrQkFBa0IsSUFBSSxDQUFDLENBQUM7SUFDdEgsQ0FBQzsrR0FsR1Esa0JBQWtCO21HQUFsQixrQkFBa0IsaWdCQ3RCL0IsMEhBTUE7OzRGRGdCYSxrQkFBa0I7a0JBTjlCLFNBQVM7K0JBQ0ksZ0JBQWdCLG1CQUdULHVCQUF1QixDQUFDLE1BQU07aUhBR3RDLEtBQUs7c0JBQWIsS0FBSztnQkFFRyxVQUFVO3NCQUFsQixLQUFLO2dCQUVHLE9BQU87c0JBQWYsS0FBSztnQkFFRyxLQUFLO3NCQUFiLEtBQUs7Z0JBRUcsZUFBZTtzQkFBdkIsS0FBSztnQkFHRixJQUFJO3NCQURQLEtBQUs7Z0JBaUJOLFNBQVM7c0JBRFIsV0FBVzt1QkFBQyxzQkFBc0I7Z0JBcUJPLFNBQVM7c0JBQWxELFNBQVM7dUJBQUMsV0FBVyxFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRTtnQkFFSyxhQUFhO3NCQUF6RCxTQUFTO3VCQUFDLGNBQWMsRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBFbGVtZW50UmVmLCBIb3N0QmluZGluZywgSW5wdXQsIFZpZXdDaGlsZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7IERvbUhlbHBlciB9IGZyb20gJy4uLy4uL2hlbHBlcnMvZG9tLmhlbHBlcic7XG5pbXBvcnQgeyBFZGdlTW9kZWwgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi9tb2RlbHMvZ2VuZXJhdGVkL2VkZ2UubW9kZWwnO1xuaW1wb3J0IHsgRWRnZVR5cGUgfSBmcm9tICcuL2VkZ2UtdHlwZS5lbnVtJztcbmltcG9ydCB7IEVkaXRvclNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9pbnRlcmFjdGlvbi9lZGl0b3Iuc2VydmljZSc7XG5pbXBvcnQgeyBFZGl0U2Vzc2lvbiB9IGZyb20gJy4uLy4uL2VkaXQuc2Vzc2lvbic7XG5pbXBvcnQgeyBHZW5lcmFsUHJvcGVydGllc01vZGVsIH0gZnJvbSAnLi4vLi4vLi4vZXhlY3V0aW9uL21vZGVscy9nZW5lcmFsLXByb3BlcnRpZXMubW9kZWwnO1xuaW1wb3J0IHsgTWFyZ2luTW9kZWwgfSBmcm9tICcuLi8uLi9tb2RlbHMvbWFyZ2luLm1vZGVsJztcbmltcG9ydCB7IE9ic2VydmVyQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vLi4vLi4vYWJzdHJhY3Qvb2JzZXJ2ZXIuY29tcG9uZW50JztcbmltcG9ydCB7IFJlZ3VsYXRvclNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9leGVjdXRpb24vcmVndWxhdG9yLnNlcnZpY2UnO1xuaW1wb3J0IHsgUmVuZGVyZXIgfSBmcm9tICcuLi8uLi9yZW5kZXJlcic7XG5pbXBvcnQgeyBTZXNzaW9uTW9kZWwgfSBmcm9tICcuLi8uLi8uLi9leGVjdXRpb24vbW9kZWxzL3Nlc3Npb24ubW9kZWwnO1xuaW1wb3J0IHsgVmlydHVhbFJlbmRlcmVyIH0gZnJvbSAnLi4vLi4vdmlydHVhbC5yZW5kZXJlcic7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnYXBwLW5vZGVyLWVkZ2UnLFxuICAgIHRlbXBsYXRlVXJsOiAnZWRnZS5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJ2VkZ2UuY29tcG9uZW50LnNjc3MnXSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxufSlcbmV4cG9ydCBjbGFzcyBOb2RlckVkZ2VDb21wb25lbnQgZXh0ZW5kcyBPYnNlcnZlckNvbXBvbmVudCB7XG4gICAgQElucHV0KCkgbW9kZWw6IEVkZ2VNb2RlbDtcblxuICAgIEBJbnB1dCgpIHByb3BlcnRpZXM6IEdlbmVyYWxQcm9wZXJ0aWVzTW9kZWw7XG5cbiAgICBASW5wdXQoKSBtYXJnaW5zOiBNYXJnaW5Nb2RlbDtcblxuICAgIEBJbnB1dCgpIHdpZHRoOiBudW1iZXI7XG5cbiAgICBASW5wdXQoKSBwYXJlbnRTZXNzaW9uSWQ6IG51bWJlcjtcblxuICAgIEBJbnB1dCgpXG4gICAgc2V0IHR5cGUodmFsOiBFZGdlVHlwZSkge1xuICAgICAgICB0aGlzLl90eXBlID0gdmFsO1xuICAgICAgICBpZiAodmFsID09PSBFZGdlVHlwZS5IZWFkZXIpIHtcbiAgICAgICAgICAgIHRoaXMuZWRpdE1vZGVDbGFzcyA9ICdoZWFkZXItZWRpdC1tb2RlJztcbiAgICAgICAgICAgIHRoaXMudHlwZUNvbnRhaW5lclBvc2l0aW9uID0gJ3RvcCc7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLmVkaXRNb2RlQ2xhc3MgPSAnZm9vdGVyLWVkaXQtbW9kZSc7XG4gICAgICAgICAgICB0aGlzLnR5cGVDb250YWluZXJQb3NpdGlvbiA9ICdib3R0b20nO1xuICAgICAgICB9XG4gICAgfVxuICAgIGdldCB0eXBlKCk6IEVkZ2VUeXBlIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3R5cGU7XG4gICAgfVxuICAgIHByaXZhdGUgX3R5cGU6IEVkZ2VUeXBlO1xuXG4gICAgQEhvc3RCaW5kaW5nKCdhdHRyLmRhdGEtc2Vzc2lvbi1pZCcpXG4gICAgc2Vzc2lvbklkOiBudW1iZXI7XG5cbiAgICBlZGdlU2Vzc2lvbjogU2Vzc2lvbk1vZGVsO1xuXG4gICAgZWRpdE1vZGVDbGFzczogc3RyaW5nO1xuXG4gICAgdHlwZUNvbnRhaW5lclBvc2l0aW9uOiBzdHJpbmc7XG5cbiAgICBnZXQgc2Vzc2lvbigpOiBFZGl0U2Vzc2lvbiB7XG4gICAgICAgIHJldHVybiB0aGlzLmVkZ2VTZXNzaW9uLnNlc3Npb247XG4gICAgfVxuXG4gICAgZ2V0IHJlbmRlcmVyKCk6IFJlbmRlcmVyIHwgVmlydHVhbFJlbmRlcmVyIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZWRnZVNlc3Npb24ucmVuZGVyZXI7XG4gICAgfVxuXG4gICAgZ2V0IGhlaWdodCgpOiBudW1iZXIge1xuICAgICAgICByZXR1cm4gdGhpcy5zZXNzaW9uLnBhZ2VzV3JhcC5kZWZhdWx0VmVydGljYWxEYXRhLmNvbnRlbnRIZWlnaHQ7XG4gICAgfVxuXG4gICAgQFZpZXdDaGlsZCgnY29udGFpbmVyJywgeyBzdGF0aWM6IHRydWUgfSkgY29udGFpbmVyOiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PjtcblxuICAgIEBWaWV3Q2hpbGQoJ2xvY2F0aW9uVHlwZScsIHsgc3RhdGljOiB0cnVlIH0pIHR5cGVDb250YWluZXI6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+O1xuXG4gICAgcHJpdmF0ZSBfcHJldmlvdXNIZWlnaHQ6IG51bWJlcjtcblxuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVndWxhdG9yU2VydmljZTogUmVndWxhdG9yU2VydmljZSwgcHJpdmF0ZSBlZGl0b3JTZXJ2aWNlOiBFZGl0b3JTZXJ2aWNlKSB7XG4gICAgICAgIHN1cGVyKCk7XG4gICAgfVxuXG4gICAgb3ZlcnJpZGUgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgICAgIHRoaXMucmVndWxhdG9yU2VydmljZS5yZW1vdmVTZXNzaW9uKHRoaXMuc2Vzc2lvbklkKTtcbiAgICAgICAgc3VwZXIubmdPbkRlc3Ryb3koKTtcbiAgICB9XG5cbiAgICBpbml0aWFsaXplKCk6IHZvaWQge1xuICAgICAgICB0aGlzLmVkZ2VTZXNzaW9uID0gdGhpcy5yZWd1bGF0b3JTZXJ2aWNlLmFkZEVkZ2VTZXNzaW9uKHRoaXMpO1xuICAgICAgICB0aGlzLnNlc3Npb25JZCA9IHRoaXMuZWRnZVNlc3Npb24uc2Vzc2lvbklkO1xuICAgICAgICB0aGlzLl9wcmV2aW91c0hlaWdodCA9IHRoaXMuaGVpZ2h0O1xuICAgICAgICBEb21IZWxwZXIuc2V0U3R5bGUodGhpcy5jb250YWluZXIubmF0aXZlRWxlbWVudC5zdHlsZSwgJ292ZXJmbG93JywgJ2hpZGRlbicpO1xuICAgICAgICBEb21IZWxwZXIuc2V0U3R5bGUodGhpcy50eXBlQ29udGFpbmVyLm5hdGl2ZUVsZW1lbnQuc3R5bGUsICd2aXNpYmlsaXR5JywgJ2hpZGRlbicpO1xuICAgICAgICB0aGlzLnNldFR5cGVDb250YWluZXJQb3NpdGlvbigpO1xuICAgICAgICB0aGlzLnN1YnNjcmlwdGlvbnMucHVzaCh0aGlzLnJlbmRlcmVyVXBkYXRlZFN1YnNjcmlwdGlvbigpKTtcbiAgICB9XG5cbiAgICBlbnRlckVkaXRNb2RlKCk6IHZvaWQge1xuICAgICAgICBEb21IZWxwZXIuYWRkQ3NzQ2xhc3ModGhpcy5jb250YWluZXIubmF0aXZlRWxlbWVudCwgdGhpcy5lZGl0TW9kZUNsYXNzKTtcbiAgICAgICAgRG9tSGVscGVyLnNldFN0eWxlKHRoaXMudHlwZUNvbnRhaW5lci5uYXRpdmVFbGVtZW50LnN0eWxlLCAndmlzaWJpbGl0eScsICd2aXNpYmxlJyk7XG4gICAgfVxuXG4gICAgbGVhdmVFZGl0TW9kZSgpOiB2b2lkIHtcbiAgICAgICAgRG9tSGVscGVyLnJlbW92ZUNzc0NsYXNzKHRoaXMuY29udGFpbmVyLm5hdGl2ZUVsZW1lbnQsIHRoaXMuZWRpdE1vZGVDbGFzcyk7XG4gICAgICAgIERvbUhlbHBlci5zZXRTdHlsZSh0aGlzLnR5cGVDb250YWluZXIubmF0aXZlRWxlbWVudC5zdHlsZSwgJ3Zpc2liaWxpdHknLCAnaGlkZGVuJyk7XG4gICAgfVxuXG4gICAgcmVuZGVyZXJVcGRhdGVkU3Vic2NyaXB0aW9uKCk6IFN1YnNjcmlwdGlvbiB7XG4gICAgICAgIHJldHVybiB0aGlzLmVkaXRvclNlcnZpY2UucmVuZGVyZXJVcGRhdGVkJC5zdWJzY3JpYmUoc2Vzc2lvbklkID0+IHtcbiAgICAgICAgICAgIGlmIChzZXNzaW9uSWQgIT09IHRoaXMuc2Vzc2lvbklkIHx8IHRoaXMuaGVpZ2h0ID09PSB0aGlzLl9wcmV2aW91c0hlaWdodCkge1xuICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgdGhpcy5lZGl0b3JTZXJ2aWNlLmNoYW5nZWRFZGdlSGVpZ2h0KHRoaXMudHlwZSk7XG4gICAgICAgICAgICB0aGlzLl9wcmV2aW91c0hlaWdodCA9IHRoaXMuaGVpZ2h0O1xuICAgICAgICAgICAgdGhpcy5zZXRUeXBlQ29udGFpbmVyUG9zaXRpb24oKTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBzZXRUeXBlQ29udGFpbmVyUG9zaXRpb24oKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IHJlbmRlcmVkRWRnZUhlaWdodCA9IHRoaXMuaGVpZ2h0ID4gdGhpcy5wcm9wZXJ0aWVzLm1heEVkZ2VIZWlnaHQgPyB0aGlzLnByb3BlcnRpZXMubWF4RWRnZUhlaWdodCA6IHRoaXMuaGVpZ2h0O1xuICAgICAgICBEb21IZWxwZXIuc2V0U3R5bGUodGhpcy50eXBlQ29udGFpbmVyLm5hdGl2ZUVsZW1lbnQuc3R5bGUsIHRoaXMudHlwZUNvbnRhaW5lclBvc2l0aW9uLCBgJHtyZW5kZXJlZEVkZ2VIZWlnaHR9cHhgKTtcbiAgICB9XG59XG4iLCI8ZGl2XG4gICAgI2NvbnRhaW5lclxuICAgIGNsYXNzPVwiZWRpdC1jb250YWluZXJcIj48L2Rpdj5cbjxkaXZcbiAgICAjbG9jYXRpb25UeXBlXG4gICAgY2xhc3M9XCJsb2NhdGlvbi10eXBlXCI+PC9kaXY+XG4iXX0=