@worktile/theia 3.0.8 → 3.0.11

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.
@@ -56,7 +56,6 @@
56
56
  max-height: 300px;
57
57
  overflow-y: auto;
58
58
  background-color: white;
59
- box-shadow: $box-shadow;
60
59
  z-index: 100;
61
60
  }
62
61
 
@@ -87,12 +87,14 @@ import * as i55 from "ngx-tethys/notify";
87
87
  import * as i56 from "ngx-tethys/alert";
88
88
  import * as i57 from "ngx-tethys/resizable";
89
89
  import * as i58 from "ngx-tethys/switch";
90
- import * as i59 from "ng-codemirror";
91
- import * as i60 from "./components/column-resize/column-resize.module";
90
+ import * as i59 from "ngx-tethys/image";
91
+ import * as i60 from "ngx-tethys/dialog";
92
+ import * as i61 from "ng-codemirror";
93
+ import * as i62 from "./components/column-resize/column-resize.module";
92
94
  export declare const COMPONENTS: (typeof TheToolbarGroupComponent | typeof TheColorSelectComponent | typeof TheTableOptionsComponent | typeof TheContextMenuComponent | typeof TheTextComponent | typeof TheDefaultElementComponent | typeof TheToolbarItemComponent | typeof NavSplitLineComponent | typeof TheToolbarDropdownComponent | typeof TheToolbarComponent | typeof TheQuickToolbarComponent | typeof TheQuickInsertComponent | typeof TheConversionHintComponent | typeof TheTableSelectComponent | typeof TheTableToolbarItemComponent | typeof TheVerticalToolbarItemComponent | typeof TheColorToolbarItemComponent | typeof TheInsertMarkComponent | typeof TheInlineToolbarComponent)[];
93
95
  export declare const PLUGIN_COMPONENTS: (typeof TheTableToolbarComponent | typeof TheTableComponent | typeof TheTemplateComponent | typeof TheImageComponent | typeof TheTodoItemComponent | typeof TheBlockquoteComponent | typeof TheCodeComponent | typeof TheLinkHoverComponent | typeof TheLinkEditComponent | typeof TheLinkComponent | typeof TheTdComponent)[];
94
96
  export declare class TheEditorModule {
95
97
  static ɵfac: i0.ɵɵFactoryDeclaration<TheEditorModule, never>;
96
- static ɵmod: i0.ɵɵNgModuleDeclaration<TheEditorModule, [typeof i1.TheEditorComponent, typeof i2.ElementStylePipe, typeof i2.ElementClassPipe, typeof i3.TheToolbarComponent, typeof i4.TheToolbarDropdownComponent, typeof i5.TheToolbarGroupComponent, typeof i6.TheToolbarItemComponent, typeof i7.TheInlineToolbarComponent, typeof i8.NavSplitLineComponent, typeof i9.TheTextComponent, typeof i10.TheDefaultElementComponent, typeof i11.TheQuickInsertComponent, typeof i12.TheQuickToolbarComponent, typeof i13.TheColorSelectComponent, typeof i14.TheColorToolbarItemComponent, typeof i15.TheContextMenuComponent, typeof i16.TheInsertMarkComponent, typeof i17.TheTableSelectComponent, typeof i18.TheTableToolbarItemComponent, typeof i19.TheConversionHintComponent, typeof i20.TheVerticalToolbarItemComponent, typeof i21.TheTableOptionsComponent, typeof i22.TheImageComponent, typeof i23.TheTemplateComponent, typeof i24.TheHrComponent, typeof i25.TheBlockquoteComponent, typeof i26.TheTodoItemComponent, typeof i27.TheListItemComponent, typeof i28.TheBulletedListComponent, typeof i29.TheNumberedListComponent, typeof i30.TheCodeComponent, typeof i31.TheLinkComponent, typeof i32.TheLinkEditComponent, typeof i33.TheLinkHoverComponent, typeof i34.TheTableToolbarComponent, typeof i35.TheTableComponent, typeof i36.TheTableRowComponent, typeof i37.TheTdComponent, typeof i38.TheInlineCodeComponent], [typeof i39.CommonModule, typeof i40.SlateModule, typeof i41.FormsModule, typeof i42.ThyIconModule, typeof i43.ThyAvatarModule, typeof i44.ThyNavModule, typeof i45.ThyFormModule, typeof i46.ThySharedModule, typeof i47.ThyListModule, typeof i48.ThyTooltipModule, typeof i49.ThyProgressModule, typeof i50.ThyAutocompleteModule, typeof i51.ThyActionMenuModule, typeof i52.ThyInputModule, typeof i53.ThySelectModule, typeof i54.ThyButtonModule, typeof i55.ThyNotifyModule, typeof i56.ThyAlertModule, typeof i57.ThyResizableModule, typeof i58.ThySwitchModule, typeof i59.CodemirrorModule, typeof i60.TheColumnSizeModule], [typeof i1.TheEditorComponent, typeof i3.TheToolbarComponent, typeof i4.TheToolbarDropdownComponent, typeof i6.TheToolbarItemComponent, typeof i10.TheDefaultElementComponent]>;
98
+ static ɵmod: i0.ɵɵNgModuleDeclaration<TheEditorModule, [typeof i1.TheEditorComponent, typeof i2.ElementStylePipe, typeof i2.ElementClassPipe, typeof i3.TheToolbarComponent, typeof i4.TheToolbarDropdownComponent, typeof i5.TheToolbarGroupComponent, typeof i6.TheToolbarItemComponent, typeof i7.TheInlineToolbarComponent, typeof i8.NavSplitLineComponent, typeof i9.TheTextComponent, typeof i10.TheDefaultElementComponent, typeof i11.TheQuickInsertComponent, typeof i12.TheQuickToolbarComponent, typeof i13.TheColorSelectComponent, typeof i14.TheColorToolbarItemComponent, typeof i15.TheContextMenuComponent, typeof i16.TheInsertMarkComponent, typeof i17.TheTableSelectComponent, typeof i18.TheTableToolbarItemComponent, typeof i19.TheConversionHintComponent, typeof i20.TheVerticalToolbarItemComponent, typeof i21.TheTableOptionsComponent, typeof i22.TheImageComponent, typeof i23.TheTemplateComponent, typeof i24.TheHrComponent, typeof i25.TheBlockquoteComponent, typeof i26.TheTodoItemComponent, typeof i27.TheListItemComponent, typeof i28.TheBulletedListComponent, typeof i29.TheNumberedListComponent, typeof i30.TheCodeComponent, typeof i31.TheLinkComponent, typeof i32.TheLinkEditComponent, typeof i33.TheLinkHoverComponent, typeof i34.TheTableToolbarComponent, typeof i35.TheTableComponent, typeof i36.TheTableRowComponent, typeof i37.TheTdComponent, typeof i38.TheInlineCodeComponent], [typeof i39.CommonModule, typeof i40.SlateModule, typeof i41.FormsModule, typeof i42.ThyIconModule, typeof i43.ThyAvatarModule, typeof i44.ThyNavModule, typeof i45.ThyFormModule, typeof i46.ThySharedModule, typeof i47.ThyListModule, typeof i48.ThyTooltipModule, typeof i49.ThyProgressModule, typeof i50.ThyAutocompleteModule, typeof i51.ThyActionMenuModule, typeof i52.ThyInputModule, typeof i53.ThySelectModule, typeof i54.ThyButtonModule, typeof i55.ThyNotifyModule, typeof i56.ThyAlertModule, typeof i57.ThyResizableModule, typeof i58.ThySwitchModule, typeof i59.ThyImageModule, typeof i60.ThyDialogModule, typeof i61.CodemirrorModule, typeof i62.TheColumnSizeModule], [typeof i1.TheEditorComponent, typeof i3.TheToolbarComponent, typeof i4.TheToolbarDropdownComponent, typeof i6.TheToolbarItemComponent, typeof i10.TheDefaultElementComponent]>;
97
99
  static ɵinj: i0.ɵɵInjectorDeclaration<TheEditorModule>;
98
100
  }
@@ -61,6 +61,8 @@ import { ThySwitchModule } from 'ngx-tethys/switch';
61
61
  import { TheInlineCodeComponent } from './plugins/inline-code/inline-code.component';
62
62
  import { TheTableOptionsComponent } from './plugins/table/components/toolbar/table-options.component';
63
63
  import { THE_MODE_PROVIDER } from './interfaces';
64
+ import { ThyImageModule } from 'ngx-tethys/image';
65
+ import { ThyDialogModule } from 'ngx-tethys/dialog';
64
66
  import * as i0 from "@angular/core";
65
67
  const TETHYS = [
66
68
  ThyIconModule,
@@ -79,7 +81,9 @@ const TETHYS = [
79
81
  ThyNotifyModule,
80
82
  ThyAlertModule,
81
83
  ThyResizableModule,
82
- ThySwitchModule
84
+ ThySwitchModule,
85
+ ThyImageModule,
86
+ ThyDialogModule
83
87
  ];
84
88
  export const COMPONENTS = [
85
89
  TheToolbarComponent,
@@ -175,7 +179,9 @@ TheEditorModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version
175
179
  ThyNotifyModule,
176
180
  ThyAlertModule,
177
181
  ThyResizableModule,
178
- ThySwitchModule, CodemirrorModule, TheColumnSizeModule], exports: [TheEditorComponent, TheToolbarComponent, TheToolbarDropdownComponent, TheToolbarItemComponent, TheDefaultElementComponent] });
182
+ ThySwitchModule,
183
+ ThyImageModule,
184
+ ThyDialogModule, CodemirrorModule, TheColumnSizeModule], exports: [TheEditorComponent, TheToolbarComponent, TheToolbarDropdownComponent, TheToolbarItemComponent, TheDefaultElementComponent] });
179
185
  TheEditorModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: TheEditorModule, providers: [
180
186
  {
181
187
  provide: TheToolbarGroupToken,
@@ -199,4 +205,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImpo
199
205
  ]
200
206
  }]
201
207
  }] });
202
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWRpdG9yLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3BhY2thZ2VzL3NyYy9lZGl0b3IubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM3QyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzVDLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQ3BFLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLHdDQUF3QyxDQUFDO0FBQ3BGLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ3hELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQ3BFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHdDQUF3QyxDQUFDO0FBQzdFLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLDBEQUEwRCxDQUFDO0FBQ3ZHLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLGtEQUFrRCxDQUFDO0FBQzNGLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLHNEQUFzRCxDQUFDO0FBQzdGLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDBDQUEwQyxDQUFDO0FBQ2hGLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSwyQ0FBMkMsQ0FBQztBQUNuRixPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQztBQUMvRSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSwrQ0FBK0MsQ0FBQztBQUNyRixPQUFPLEVBQUUsd0JB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UUFDbEIsZUFBZSxFQWlEOEMsZ0JBQWdCLEVBQUUsbUJBQW1CLGFBQ3hGLGtCQUFrQixFQUFFLG1CQUFtQixFQUFFLDJCQUEyQixFQUFFLHVCQUF1QixFQUFFLDBCQUEwQjs4R0FVMUgsZUFBZSxhQVJiO1FBQ1A7WUFDSSxPQUFPLEVBQUUsb0JBQW9CO1lBQzdCLFFBQVEsRUFBRSx3QkFBd0I7U0FDckM7UUFDRCxpQkFBaUI7S0FDcEIsWUFUUSxDQUFDLFlBQVksRUFBRSxXQUFXLEVBQUUsV0FBVyxFQUFFLEdBQUcsTUFBTSxFQUFFLGdCQUFnQixFQUFFLG1CQUFtQixDQUFDOzRGQVcxRixlQUFlO2tCQWIzQixRQUFRO21CQUFDO29CQUNOLFlBQVksRUFBRSxDQUFDLGtCQUFrQixFQUFFLEdBQUcsS0FBSyxFQUFFLEdBQUcsVUFBVSxFQUFFLEdBQUcsaUJBQWlCLENBQUM7b0JBQ2pGLE9BQU8sRUFBRSxDQUFDLFlBQVksRUFBRSxXQUFXLEVBQUUsV0FBVyxFQUFFLEdBQUcsTUFBTSxFQUFFLGdCQUFnQixFQUFFLG1CQUFtQixDQUFDO29CQUNuRyxPQUFPLEVBQUUsQ0FBQyxrQkFBa0IsRUFBRSxtQkFBbUIsRUFBRSwyQkFBMkIsRUFBRSx1QkFBdUIsRUFBRSwwQkFBMEIsQ0FBQztvQkFDcEksZUFBZSxFQUFFLENBQUMsR0FBRyxVQUFVLEVBQUUsR0FBRyxpQkFBaUIsQ0FBQztvQkFDdEQsU0FBUyxFQUFFO3dCQUNQOzRCQUNJLE9BQU8sRUFBRSxvQkFBb0I7NEJBQzdCLFFBQVEsRUFBRSx3QkFBd0I7eUJBQ3JDO3dCQUNELGlCQUFpQjtxQkFDcEI7aUJBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IEZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgU2xhdGVNb2R1bGUgfSBmcm9tICdzbGF0ZS1hbmd1bGFyJztcbmltcG9ydCB7IFRoZVRleHRDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvdGV4dC90ZXh0LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBUaGVEZWZhdWx0RWxlbWVudENvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9lbGVtZW50L2VsZW1lbnQuY29tcG9uZW50JztcbmltcG9ydCB7IFRoZUVkaXRvckNvbXBvbmVudCB9IGZyb20gJy4vZWRpdG9yLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBUaGVJbWFnZUNvbXBvbmVudCB9IGZyb20gJy4vcGx1Z2lucy9pbWFnZS9pbWFnZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgVGhlVG9vbGJhckNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy90b29sYmFyL3Rvb2xiYXIuY29tcG9uZW50JztcbmltcG9ydCB7IFRoZVRvb2xiYXJEcm9wZG93bkNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy90b29sYmFyLWRyb3Bkb3duL3Rvb2xiYXItZHJvcGRvd24uY29tcG9uZW50JztcbmltcG9ydCB7IFRoZVRvb2xiYXJJdGVtQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL3Rvb2xiYXItaXRlbS90b29sYmFyLWl0ZW0uY29tcG9uZW50JztcbmltcG9ydCB7IE5hdlNwbGl0TGluZUNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9uYXYtc3BsaXQtbGluZS9uYXYtc3BsaXQtbGluZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgVGhlVGVtcGxhdGVDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvdGVtcGxhdGUvdGVtcGxhdGUuY29tcG9uZW50JztcbmltcG9ydCB7IFRoZUhyQ29tcG9uZW50IH0gZnJvbSAnLi9wbHVnaW5zL2hyL2hyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBUaGVCbG9ja3F1b3RlQ29tcG9uZW50IH0gZnJvbSAnLi9wbHVnaW5zL2Jsb2NrcXVvdGUvYmxvY2txdW90ZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgVGhlVG9kb0l0ZW1Db21wb25lbnQgfSBmcm9tICcuL3BsdWdpbnMvdG9kby1pdGVtL3RvZG8taXRlbS5jb21wb25lbnQnO1xuaW1wb3J0IHsgVGhlTGlzdEl0ZW1Db21wb25lbnQgfSBmcm9tICcuL3BsdWdpbnMvbGlzdC9jb21wb25lbnRzL2xpc3QtaXRlbS5jb21wb25lbnQnO1xuaW1wb3J0IHsgVGhlQnVsbGV0ZWRMaXN0Q29tcG9uZW50IH0gZnJvbSAnLi9wbHVnaW5zL2xpc3QvY29tcG9uZW50cy9idWxsZXRlZC1saXN0LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBUaGVOdW1iZXJlZExpc3RDb21wb25lbnQgfSBmcm9tICcuL3BsdWdpbnMvbGlzdC9jb21wb25lbnRzL251bWJlcmVkLWxpc3QuY29tcG9uZW50JztcbmltcG9ydCB7IEVsZW1lbnRTdHlsZVBpcGUsIEVsZW1lbnRDbGFzc1BpcGUgfSBmcm9tICcuL3BpcGVzJztcblxuaW1wb3J0IHsgVGh5TmF2TW9kdWxlIH0gZnJvbSAnbmd4LXRldGh5cy9uYXYnO1xuaW1wb3J0IHsgVGh5SWNvbk1vZHVsZSB9IGZyb20gJ25neC10ZXRoeXMvaWNvbic7XG5pbXBvcnQgeyBUaHlQcm9ncmVzc01vZHVsZSB9IGZyb20gJ25neC10ZXRoeXMvcHJvZ3Jlc3MnO1xuaW1wb3J0IHsgVGh5Rm9ybU1vZHVsZSB9IGZyb20gJ25neC10ZXRoeXMvZm9ybSc7XG5pbXBvcnQgeyBUaHlUb29sdGlwTW9kdWxlIH0gZnJvbSAnbmd4LXRldGh5cy90b29sdGlwJztcbmltcG9ydCB7IFRoeUF1dG9jb21wbGV0ZU1vZHVsZSB9IGZyb20gJ25neC10ZXRoeXMvYXV0b2NvbXBsZXRlJztcbmltcG9ydCB7IFRoeUF2YXRhck1vZHVsZSB9IGZyb20gJ25neC10ZXRoeXMvYXZhdGFyJztcbmltcG9ydCB7IFRoeVNoYXJlZE1vZHVsZSB9IGZyb20gJ25neC10ZXRoeXMvc2hhcmVkJztcbmltcG9ydCB7IFRoeUxpc3RNb2R1bGUgfSBmcm9tICduZ3gtdGV0aHlzL2xpc3QnO1xuaW1wb3J0IHsgVGh5QWN0aW9uTWVudU1vZHVsZSB9IGZyb20gJ25neC10ZXRoeXMvYWN0aW9uLW1lbnUnO1xuaW1wb3J0IHsgVGh5SW5wdXRNb2R1bGUgfSBmcm9tICduZ3gtdGV0aHlzL2lucHV0JztcbmltcG9ydCB7IFRoeVNlbGVjdE1vZHVsZSB9IGZyb20gJ25neC10ZXRoeXMvc2VsZWN0JztcbmltcG9ydCB7IFRoeUJ1dHRvbk1vZHVsZSB9IGZyb20gJ25neC10ZXRoeXMvYnV0dG9uJztcbmltcG9ydCB7IFRoeU5vdGlmeU1vZHVsZSB9IGZyb20gJ25neC10ZXRoeXMvbm90aWZ5JztcbmltcG9ydCB7IFRoeUFsZXJ0TW9kdWxlIH0gZnJvbSAnbmd4LXRldGh5cy9hbGVydCc7XG5pbXBvcnQgeyBUaGVDb2xvclNlbGVjdENvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9jb2xvci1zZWxlY3QvY29sb3Itc2VsZWN0LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBUaGVDb2xvclRvb2xiYXJJdGVtQ29tcG9uZW50IH0gZnJvbSAnLi9wbHVnaW5zL2NvbG9yL3Rvb2xiYXItaXRlbS5jb21wb25lbnQnO1xuaW1wb3J0IHsgVGhlQ29kZUNvbXBvbmVudCB9IGZyb20gJy4vcGx1Z2lucy9jb2RlL2NvZGUuY29tcG9uZW50JztcbmltcG9ydCB7IENvZGVtaXJyb3JNb2R1bGUgfSBmcm9tICduZy1jb2RlbWlycm9yJztcbmltcG9ydCB7IFRoZUxpbmtDb21wb25lbnQgfSBmcm9tICcuL3BsdWdpbnMvbGluay9saW5rLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBUaGVMaW5rRWRpdENvbXBvbmVudCB9IGZyb20gJy4vcGx1Z2lucy9saW5rL2VkaXQvbGluay1lZGl0LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBUaGVMaW5rSG92ZXJDb21wb25lbnQgfSBmcm9tICcuL3BsdWdpbnMvbGluay9ob3Zlci9saW5rLWhvdmVyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBUaGVUYWJsZVRvb2xiYXJDb21wb25lbnQgfSBmcm9tICcuL3BsdWdpbnMvdGFibGUvY29tcG9uZW50cy90b29sYmFyL3RhYmxlLXRvb2xiYXIuY29tcG9uZW50JztcbmltcG9ydCB7IFRoZVRhYmxlQ29tcG9uZW50IH0gZnJvbSAnLi9wbHVnaW5zL3RhYmxlL2NvbXBvbmVudHMvdGFibGUuY29tcG9uZW50JztcbmltcG9ydCB7IFRoZVRhYmxlUm93Q29tcG9uZW50IH0gZnJvbSAnLi9wbHVnaW5zL3RhYmxlL2NvbXBvbmVudHMvcm93L3Jvdy5jb21wb25lbnQnO1xuaW1wb3J0IHsgVGhlVGRDb21wb25lbnQgfSBmcm9tICcuL3BsdWdpbnMvdGFibGUvY29tcG9uZW50cy90ZC90ZC5jb21wb25lbnQnO1xuaW1wb3J0IHsgVGhlQ29udGV4dE1lbnVDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvY29udGV4dG1lbnUvY29udGV4dG1lbnUuY29tcG9uZW50JztcbmltcG9ydCB7IFRoZUNvbHVtblNpemVNb2R1bGUgfSBmcm9tICcuL2NvbXBvbmVudHMvY29sdW1uLXJlc2l6ZS9jb2x1bW4tcmVzaXplLm1vZHVsZSc7XG5pbXBvcnQgeyBUaGVJbnNlcnRNYXJrQ29tcG9uZW50IH0gZnJvbSAnLi9wbHVnaW5zL3RhYmxlL2NvbXBvbmVudHMvaW5zZXJ0LW1hcmsvaW5zZXJ0LW1hcmsuY29tcG9uZW50JztcbmltcG9ydCB7IFRoZVRvb2xiYXJHcm91cENvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy90b29sYmFyLWdyb3VwL3Rvb2xiYXItZ3JvdXAuY29tcG9uZW50JztcbmltcG9ydCB7IFRoZVRvb2xiYXJHcm91cFRva2VuIH0gZnJvbSAnLi9jb25zdGFudHMvdG9vbGJhcic7XG5pbXBvcnQgeyBUaGVUYWJsZVNlbGVjdENvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy90YWJsZS1zZWxlY3QvdGFibGUtc2VsZWN0LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBUaGVUYWJsZVRvb2xiYXJJdGVtQ29tcG9uZW50IH0gZnJvbSAnLi9wbHVnaW5zL3RhYmxlL3Rvb2xiYXItaXRlbS5jb21wb25lbnQnO1xuaW1wb3J0IHsgVGhlQ29udmVyc2lvbkhpbnRDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvY29udmVyc2lvbi1oaW50L2NvbnZlcnNpb24taGludC5jb21wb25lbnQnO1xuaW1wb3J0IHsgVGhlVmVydGljYWxUb29sYmFySXRlbUNvbXBvbmVudCB9IGZyb20gJy4vcGx1Z2lucy92ZXJ0aWNhbC1hbGlnbi90b29sYmFyLWl0ZW0uY29tcG9uZW50JztcbmltcG9ydCB7IFRoZUlubGluZVRvb2xiYXJDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvaW5saW5lLXRvb2xiYXIvaW5saW5lLXRvb2xiYXIuY29tcG9uZW50JztcbmltcG9ydCB7IFRoZVF1aWNrVG9vbGJhckNvbXBvbmVudCB9IGZyb20gJy4vcGx1Z2lucy9xdWljay1pbnNlcnQvY29tcG9uZW50cy9xdWljay10b29sYmFyL3F1aWNrLXRvb2xiYXIuY29tcG9uZW50JztcbmltcG9ydCB7IFRoZVF1aWNrSW5zZXJ0Q29tcG9uZW50IH0gZnJvbSAnLi9wbHVnaW5zL3F1aWNrLWluc2VydC9jb21wb25lbnRzL3F1aWNrLWluc2VydC5jb21wb25lbnQnO1xuaW1wb3J0IHsgVGh5UmVzaXphYmxlTW9kdWxlIH0gZnJvbSAnbmd4LXRldGh5cy9yZXNpemFibGUnO1xuaW1wb3J0IHsgVGh5U3dpdGNoTW9kdWxlIH0gZnJvbSAnbmd4LXRldGh5cy9zd2l0Y2gnO1xuaW1wb3J0IHsgVGhlSW5saW5lQ29kZUNvbXBvbmVudCB9IGZyb20gJy4vcGx1Z2lucy9pbmxpbmUtY29kZS9pbmxpbmUtY29kZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgVGhlVGFibGVPcHRpb25zQ29tcG9uZW50IH0gZnJvbSAnLi9wbHVnaW5zL3RhYmxlL2NvbXBvbmVudHMvdG9vbGJhci90YWJsZS1vcHRpb25zLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBUSEVfTU9ERV9QUk9WSURFUiB9IGZyb20gJy4vaW50ZXJmYWNlcyc7XG5cbmNvbnN0IFRFVEhZUyA9IFtcbiAgICBUaHlJY29uTW9kdWxlLFxuICAgIFRoeUF2YXRhck1vZHVsZSxcbiAgICBUaHlOYXZNb2R1bGUsXG4gICAgVGh5Rm9ybU1vZHVsZSxcbiAgICBUaHlTaGFyZWRNb2R1bGUsXG4gICAgVGh5TGlzdE1vZHVsZSxcbiAgICBUaHlUb29sdGlwTW9kdWxlLFxuICAgIFRoeVByb2dyZXNzTW9kdWxlLFxuICAgIFRoeUF1dG9jb21wbGV0ZU1vZHVsZSxcbiAgICBUaHlBY3Rpb25NZW51TW9kdWxlLFxuICAgIFRoeUlucHV0TW9kdWxlLFxuICAgIFRoeVNlbGVjdE1vZHVsZSxcbiAgICBUaHlCdXR0b25Nb2R1bGUsXG4gICAgVGh5Tm90aWZ5TW9kdWxlLFxuICAgIFRoeUFsZXJ0TW9kdWxlLFxuICAgIFRoeVJlc2l6YWJsZU1vZHVsZSxcbiAgICBUaHlTd2l0Y2hNb2R1bGVcbl07XG5cbmV4cG9ydCBjb25zdCBDT01QT05FTlRTID0gW1xuICAgIFRoZVRvb2xiYXJDb21wb25lbnQsXG4gICAgVGhlVG9vbGJhckRyb3Bkb3duQ29tcG9uZW50LFxuICAgIFRoZVRvb2xiYXJHcm91cENvbXBvbmVudCxcbiAgICBUaGVUb29sYmFySXRlbUNvbXBvbmVudCxcbiAgICBUaGVJbmxpbmVUb29sYmFyQ29tcG9uZW50LFxuICAgIE5hdlNwbGl0TGluZUNvbXBvbmVudCxcbiAgICBUaGVUZXh0Q29tcG9uZW50LFxuICAgIFRoZURlZmF1bHRFbGVtZW50Q29tcG9uZW50LFxuICAgIFRoZVF1aWNrSW5zZXJ0Q29tcG9uZW50LFxuICAgIFRoZVF1aWNrVG9vbGJhckNvbXBvbmVudCxcbiAgICBUaGVDb2xvclNlbGVjdENvbXBvbmVudCxcbiAgICBUaGVDb2xvclRvb2xiYXJJdGVtQ29tcG9uZW50LFxuICAgIFRoZUNvbnRleHRNZW51Q29tcG9uZW50LFxuICAgIFRoZUluc2VydE1hcmtDb21wb25lbnQsXG4gICAgVGhlVGFibGVTZWxlY3RDb21wb25lbnQsXG4gICAgVGhlVGFibGVUb29sYmFySXRlbUNvbXBvbmVudCxcbiAgICBUaGVDb252ZXJzaW9uSGludENvbXBvbmVudCxcbiAgICBUaGVWZXJ0aWNhbFRvb2xiYXJJdGVtQ29tcG9uZW50LFxuICAgIFRoZVRhYmxlT3B0aW9uc0NvbXBvbmVudFxuXTtcblxuZXhwb3J0IGNvbnN0IFBMVUdJTl9DT01QT05FTlRTID0gW1xuICAgIFRoZUltYWdlQ29tcG9uZW50LFxuICAgIFRoZVRlbXBsYXRlQ29tcG9uZW50LFxuICAgIFRoZUhyQ29tcG9uZW50LFxuICAgIFRoZUJsb2NrcXVvdGVDb21wb25lbnQsXG4gICAgVGhlVG9kb0l0ZW1Db21wb25lbnQsXG4gICAgVGhlTGlzdEl0ZW1Db21wb25lbnQsXG4gICAgVGhlQnVsbGV0ZWRMaXN0Q29tcG9uZW50LFxuICAgIFRoZU51bWJlcmVkTGlzdENvbXBvbmVudCxcbiAgICBUaGVDb2RlQ29tcG9uZW50LFxuICAgIFRoZUxpbmtDb21wb25lbnQsXG4gICAgVGhlTGlua0VkaXRDb21wb25lbnQsXG4gICAgVGhlTGlua0hvdmVyQ29tcG9uZW50LFxuICAgIFRoZVRhYmxlVG9vbGJhckNvbXBvbmVudCxcbiAgICBUaGVUYWJsZUNvbXBvbmVudCxcbiAgICBUaGVUYWJsZVJvd0NvbXBvbmVudCxcbiAgICBUaGVUZENvbXBvbmVudCxcbiAgICBUaGVJbmxpbmVDb2RlQ29tcG9uZW50XG5dO1xuXG5jb25zdCBQSVBFUyA9IFtFbGVtZW50U3R5bGVQaXBlLCBFbGVtZW50Q2xhc3NQaXBlXTtcblxuQE5nTW9kdWxlKHtcbiAgICBkZWNsYXJhdGlvbnM6IFtUaGVFZGl0b3JDb21wb25lbnQsIC4uLlBJUEVTLCAuLi5DT01QT05FTlRTLCAuLi5QTFVHSU5fQ09NUE9ORU5UU10sXG4gICAgaW1wb3J0czogW0NvbW1vbk1vZHVsZSwgU2xhdGVNb2R1bGUsIEZvcm1zTW9kdWxlLCAuLi5URVRIWVMsIENvZGVtaXJyb3JNb2R1bGUsIFRoZUNvbHVtblNpemVNb2R1bGVdLFxuICAgIGV4cG9ydHM6IFtUaGVFZGl0b3JDb21wb25lbnQsIFRoZVRvb2xiYXJDb21wb25lbnQsIFRoZVRvb2xiYXJEcm9wZG93bkNvbXBvbmVudCwgVGhlVG9vbGJhckl0ZW1Db21wb25lbnQsIFRoZURlZmF1bHRFbGVtZW50Q29tcG9uZW50XSxcbiAgICBlbnRyeUNvbXBvbmVudHM6IFsuLi5DT01QT05FTlRTLCAuLi5QTFVHSU5fQ09NUE9ORU5UU10sXG4gICAgcHJvdmlkZXJzOiBbXG4gICAgICAgIHtcbiAgICAgICAgICAgIHByb3ZpZGU6IFRoZVRvb2xiYXJHcm91cFRva2VuLFxuICAgICAgICAgICAgdXNlVmFsdWU6IFRoZVRvb2xiYXJHcm91cENvbXBvbmVudFxuICAgICAgICB9LFxuICAgICAgICBUSEVfTU9ERV9QUk9WSURFUlxuICAgIF1cbn0pXG5leHBvcnQgY2xhc3MgVGhlRWRpdG9yTW9kdWxlIHt9XG4iXX0=
208
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWRpdG9yLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3BhY2thZ2VzL3NyYy9lZGl0b3IubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM3QyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzVDLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQ3BFLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLHdDQUF3QyxDQUFDO0FBQ3BGLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ3hELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQ3BFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHdDQUF3QyxDQUFDO0FBQzdFLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLDBEQUEwRCxDQUFDO0FBQ3ZHLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLGtEQUFrRCxDQUFDO0FBQzNGLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLHNEQUFzRCxDQUFDO0FBQzdGLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDBDQUEwQyxDQUFDO0FBQ2hGLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSwyQ0FBMkMsQ0FBQztBQUNuRixPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQztBQUMvRSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSwrQ0FBK0MsQ0FBQztBQUNyRixPQUFPLEVBQUUsd0JB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b3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IEZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgU2xhdGVNb2R1bGUgfSBmcm9tICdzbGF0ZS1hbmd1bGFyJztcbmltcG9ydCB7IFRoZVRleHRDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvdGV4dC90ZXh0LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBUaGVEZWZhdWx0RWxlbWVudENvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9lbGVtZW50L2VsZW1lbnQuY29tcG9uZW50JztcbmltcG9ydCB7IFRoZUVkaXRvckNvbXBvbmVudCB9IGZyb20gJy4vZWRpdG9yLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBUaGVJbWFnZUNvbXBvbmVudCB9IGZyb20gJy4vcGx1Z2lucy9pbWFnZS9pbWFnZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgVGhlVG9vbGJhckNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy90b29sYmFyL3Rvb2xiYXIuY29tcG9uZW50JztcbmltcG9ydCB7IFRoZVRvb2xiYXJEcm9wZG93bkNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy90b29sYmFyLWRyb3Bkb3duL3Rvb2xiYXItZHJvcGRvd24uY29tcG9uZW50JztcbmltcG9ydCB7IFRoZVRvb2xiYXJJdGVtQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL3Rvb2xiYXItaXRlbS90b29sYmFyLWl0ZW0uY29tcG9uZW50JztcbmltcG9ydCB7IE5hdlNwbGl0TGluZUNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9uYXYtc3BsaXQtbGluZS9uYXYtc3BsaXQtbGluZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgVGhlVGVtcGxhdGVDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvdGVtcGxhdGUvdGVtcGxhdGUuY29tcG9uZW50JztcbmltcG9ydCB7IFRoZUhyQ29tcG9uZW50IH0gZnJvbSAnLi9wbHVnaW5zL2hyL2hyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBUaGVCbG9ja3F1b3RlQ29tcG9uZW50IH0gZnJvbSAnLi9wbHVnaW5zL2Jsb2NrcXVvdGUvYmxvY2txdW90ZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgVGhlVG9kb0l0ZW1Db21wb25lbnQgfSBmcm9tICcuL3BsdWdpbnMvdG9kby1pdGVtL3RvZG8taXRlbS5jb21wb25lbnQnO1xuaW1wb3J0IHsgVGhlTGlzdEl0ZW1Db21wb25lbnQgfSBmcm9tICcuL3BsdWdpbnMvbGlzdC9jb21wb25lbnRzL2xpc3QtaXRlbS5jb21wb25lbnQnO1xuaW1wb3J0IHsgVGhlQnVsbGV0ZWRMaXN0Q29tcG9uZW50IH0gZnJvbSAnLi9wbHVnaW5zL2xpc3QvY29tcG9uZW50cy9idWxsZXRlZC1saXN0LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBUaGVOdW1iZXJlZExpc3RDb21wb25lbnQgfSBmcm9tICcuL3BsdWdpbnMvbGlzdC9jb21wb25lbnRzL251bWJlcmVkLWxpc3QuY29tcG9uZW50JztcbmltcG9ydCB7IEVsZW1lbnRTdHlsZVBpcGUsIEVsZW1lbnRDbGFzc1BpcGUgfSBmcm9tICcuL3BpcGVzJztcblxuaW1wb3J0IHsgVGh5TmF2TW9kdWxlIH0gZnJvbSAnbmd4LXRldGh5cy9uYXYnO1xuaW1wb3J0IHsgVGh5SWNvbk1vZHVsZSB9IGZyb20gJ25neC10ZXRoeXMvaWNvbic7XG5pbXBvcnQgeyBUaHlQcm9ncmVzc01vZHVsZSB9IGZyb20gJ25neC10ZXRoeXMvcHJvZ3Jlc3MnO1xuaW1wb3J0IHsgVGh5Rm9ybU1vZHVsZSB9IGZyb20gJ25neC10ZXRoeXMvZm9ybSc7XG5pbXBvcnQgeyBUaHlUb29sdGlwTW9kdWxlIH0gZnJvbSAnbmd4LXRldGh5cy90b29sdGlwJztcbmltcG9ydCB7IFRoeUF1dG9jb21wbGV0ZU1vZHVsZSB9IGZyb20gJ25neC10ZXRoeXMvYXV0b2NvbXBsZXRlJztcbmltcG9ydCB7IFRoeUF2YXRhck1vZHVsZSB9IGZyb20gJ25neC10ZXRoeXMvYXZhdGFyJztcbmltcG9ydCB7IFRoeVNoYXJlZE1vZHVsZSB9IGZyb20gJ25neC10ZXRoeXMvc2hhcmVkJztcbmltcG9ydCB7IFRoeUxpc3RNb2R1bGUgfSBmcm9tICduZ3gtdGV0aHlzL2xpc3QnO1xuaW1wb3J0IHsgVGh5QWN0aW9uTWVudU1vZHVsZSB9IGZyb20gJ25neC10ZXRoeXMvYWN0aW9uLW1lbnUnO1xuaW1wb3J0IHsgVGh5SW5wdXRNb2R1bGUgfSBmcm9tICduZ3gtdGV0aHlzL2lucHV0JztcbmltcG9ydCB7IFRoeVNlbGVjdE1vZHVsZSB9IGZyb20gJ25neC10ZXRoeXMvc2VsZWN0JztcbmltcG9ydCB7IFRoeUJ1dHRvbk1vZHVsZSB9IGZyb20gJ25neC10ZXRoeXMvYnV0dG9uJztcbmltcG9ydCB7IFRoeU5vdGlmeU1vZHVsZSB9IGZyb20gJ25neC10ZXRoeXMvbm90aWZ5JztcbmltcG9ydCB7IFRoeUFsZXJ0TW9kdWxlIH0gZnJvbSAnbmd4LXRldGh5cy9hbGVydCc7XG5pbXBvcnQgeyBUaGVDb2xvclNlbGVjdENvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9jb2xvci1zZWxlY3QvY29sb3Itc2VsZWN0LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBUaGVDb2xvclRvb2xiYXJJdGVtQ29tcG9uZW50IH0gZnJvbSAnLi9wbHVnaW5zL2NvbG9yL3Rvb2xiYXItaXRlbS5jb21wb25lbnQnO1xuaW1wb3J0IHsgVGhlQ29kZUNvbXBvbmVudCB9IGZyb20gJy4vcGx1Z2lucy9jb2RlL2NvZGUuY29tcG9uZW50JztcbmltcG9ydCB7IENvZGVtaXJyb3JNb2R1bGUgfSBmcm9tICduZy1jb2RlbWlycm9yJztcbmltcG9ydCB7IFRoZUxpbmtDb21wb25lbnQgfSBmcm9tICcuL3BsdWdpbnMvbGluay9saW5rLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBUaGVMaW5rRWRpdENvbXBvbmVudCB9IGZyb20gJy4vcGx1Z2lucy9saW5rL2VkaXQvbGluay1lZGl0LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBUaGVMaW5rSG92ZXJDb21wb25lbnQgfSBmcm9tICcuL3BsdWdpbnMvbGluay9ob3Zlci9saW5rLWhvdmVyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBUaGVUYWJsZVRvb2xiYXJDb21wb25lbnQgfSBmcm9tICcuL3BsdWdpbnMvdGFibGUvY29tcG9uZW50cy90b29sYmFyL3RhYmxlLXRvb2xiYXIuY29tcG9uZW50JztcbmltcG9ydCB7IFRoZVRhYmxlQ29tcG9uZW50IH0gZnJvbSAnLi9wbHVnaW5zL3RhYmxlL2NvbXBvbmVudHMvdGFibGUuY29tcG9uZW50JztcbmltcG9ydCB7IFRoZVRhYmxlUm93Q29tcG9uZW50IH0gZnJvbSAnLi9wbHVnaW5zL3RhYmxlL2NvbXBvbmVudHMvcm93L3Jvdy5jb21wb25lbnQnO1xuaW1wb3J0IHsgVGhlVGRDb21wb25lbnQgfSBmcm9tICcuL3BsdWdpbnMvdGFibGUvY29tcG9uZW50cy90ZC90ZC5jb21wb25lbnQnO1xuaW1wb3J0IHsgVGhlQ29udGV4dE1lbnVDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvY29udGV4dG1lbnUvY29udGV4dG1lbnUuY29tcG9uZW50JztcbmltcG9ydCB7IFRoZUNvbHVtblNpemVNb2R1bGUgfSBmcm9tICcuL2NvbXBvbmVudHMvY29sdW1uLXJlc2l6ZS9jb2x1bW4tcmVzaXplLm1vZHVsZSc7XG5pbXBvcnQgeyBUaGVJbnNlcnRNYXJrQ29tcG9uZW50IH0gZnJvbSAnLi9wbHVnaW5zL3RhYmxlL2NvbXBvbmVudHMvaW5zZXJ0LW1hcmsvaW5zZXJ0LW1hcmsuY29tcG9uZW50JztcbmltcG9ydCB7IFRoZVRvb2xiYXJHcm91cENvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy90b29sYmFyLWdyb3VwL3Rvb2xiYXItZ3JvdXAuY29tcG9uZW50JztcbmltcG9ydCB7IFRoZVRvb2xiYXJHcm91cFRva2VuIH0gZnJvbSAnLi9jb25zdGFudHMvdG9vbGJhcic7XG5pbXBvcnQgeyBUaGVUYWJsZVNlbGVjdENvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy90YWJsZS1zZWxlY3QvdGFibGUtc2VsZWN0LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBUaGVUYWJsZVRvb2xiYXJJdGVtQ29tcG9uZW50IH0gZnJvbSAnLi9wbHVnaW5zL3RhYmxlL3Rvb2xiYXItaXRlbS5jb21wb25lbnQnO1xuaW1wb3J0IHsgVGhlQ29udmVyc2lvbkhpbnRDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvY29udmVyc2lvbi1oaW50L2NvbnZlcnNpb24taGludC5jb21wb25lbnQnO1xuaW1wb3J0IHsgVGhlVmVydGljYWxUb29sYmFySXRlbUNvbXBvbmVudCB9IGZyb20gJy4vcGx1Z2lucy92ZXJ0aWNhbC1hbGlnbi90b29sYmFyLWl0ZW0uY29tcG9uZW50JztcbmltcG9ydCB7IFRoZUlubGluZVRvb2xiYXJDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvaW5saW5lLXRvb2xiYXIvaW5saW5lLXRvb2xiYXIuY29tcG9uZW50JztcbmltcG9ydCB7IFRoZVF1aWNrVG9vbGJhckNvbXBvbmVudCB9IGZyb20gJy4vcGx1Z2lucy9xdWljay1pbnNlcnQvY29tcG9uZW50cy9xdWljay10b29sYmFyL3F1aWNrLXRvb2xiYXIuY29tcG9uZW50JztcbmltcG9ydCB7IFRoZVF1aWNrSW5zZXJ0Q29tcG9uZW50IH0gZnJvbSAnLi9wbHVnaW5zL3F1aWNrLWluc2VydC9jb21wb25lbnRzL3F1aWNrLWluc2VydC5jb21wb25lbnQnO1xuaW1wb3J0IHsgVGh5UmVzaXphYmxlTW9kdWxlIH0gZnJvbSAnbmd4LXRldGh5cy9yZXNpemFibGUnO1xuaW1wb3J0IHsgVGh5U3dpdGNoTW9kdWxlIH0gZnJvbSAnbmd4LXRldGh5cy9zd2l0Y2gnO1xuaW1wb3J0IHsgVGhlSW5saW5lQ29kZUNvbXBvbmVudCB9IGZyb20gJy4vcGx1Z2lucy9pbmxpbmUtY29kZS9pbmxpbmUtY29kZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgVGhlVGFibGVPcHRpb25zQ29tcG9uZW50IH0gZnJvbSAnLi9wbHVnaW5zL3RhYmxlL2NvbXBvbmVudHMvdG9vbGJhci90YWJsZS1vcHRpb25zLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBUSEVfTU9ERV9QUk9WSURFUiB9IGZyb20gJy4vaW50ZXJmYWNlcyc7XG5pbXBvcnQgeyBUaHlJbWFnZU1vZHVsZSB9IGZyb20gJ25neC10ZXRoeXMvaW1hZ2UnO1xuaW1wb3J0IHsgVGh5RGlhbG9nTW9kdWxlIH0gZnJvbSAnbmd4LXRldGh5cy9kaWFsb2cnO1xuXG5jb25zdCBURVRIWVMgPSBbXG4gICAgVGh5SWNvbk1vZHVsZSxcbiAgICBUaHlBdmF0YXJNb2R1bGUsXG4gICAgVGh5TmF2TW9kdWxlLFxuICAgIFRoeUZvcm1Nb2R1bGUsXG4gICAgVGh5U2hhcmVkTW9kdWxlLFxuICAgIFRoeUxpc3RNb2R1bGUsXG4gICAgVGh5VG9vbHRpcE1vZHVsZSxcbiAgICBUaHlQcm9ncmVzc01vZHVsZSxcbiAgICBUaHlBdXRvY29tcGxldGVNb2R1bGUsXG4gICAgVGh5QWN0aW9uTWVudU1vZHVsZSxcbiAgICBUaHlJbnB1dE1vZHVsZSxcbiAgICBUaHlTZWxlY3RNb2R1bGUsXG4gICAgVGh5QnV0dG9uTW9kdWxlLFxuICAgIFRoeU5vdGlmeU1vZHVsZSxcbiAgICBUaHlBbGVydE1vZHVsZSxcbiAgICBUaHlSZXNpemFibGVNb2R1bGUsXG4gICAgVGh5U3dpdGNoTW9kdWxlLFxuICAgIFRoeUltYWdlTW9kdWxlLFxuICAgIFRoeURpYWxvZ01vZHVsZVxuXTtcblxuZXhwb3J0IGNvbnN0IENPTVBPTkVOVFMgPSBbXG4gICAgVGhlVG9vbGJhckNvbXBvbmVudCxcbiAgICBUaGVUb29sYmFyRHJvcGRvd25Db21wb25lbnQsXG4gICAgVGhlVG9vbGJhckdyb3VwQ29tcG9uZW50LFxuICAgIFRoZVRvb2xiYXJJdGVtQ29tcG9uZW50LFxuICAgIFRoZUlubGluZVRvb2xiYXJDb21wb25lbnQsXG4gICAgTmF2U3BsaXRMaW5lQ29tcG9uZW50LFxuICAgIFRoZVRleHRDb21wb25lbnQsXG4gICAgVGhlRGVmYXVsdEVsZW1lbnRDb21wb25lbnQsXG4gICAgVGhlUXVpY2tJbnNlcnRDb21wb25lbnQsXG4gICAgVGhlUXVpY2tUb29sYmFyQ29tcG9uZW50LFxuICAgIFRoZUNvbG9yU2VsZWN0Q29tcG9uZW50LFxuICAgIFRoZUNvbG9yVG9vbGJhckl0ZW1Db21wb25lbnQsXG4gICAgVGhlQ29udGV4dE1lbnVDb21wb25lbnQsXG4gICAgVGhlSW5zZXJ0TWFya0NvbXBvbmVudCxcbiAgICBUaGVUYWJsZVNlbGVjdENvbXBvbmVudCxcbiAgICBUaGVUYWJsZVRvb2xiYXJJdGVtQ29tcG9uZW50LFxuICAgIFRoZUNvbnZlcnNpb25IaW50Q29tcG9uZW50LFxuICAgIFRoZVZlcnRpY2FsVG9vbGJhckl0ZW1Db21wb25lbnQsXG4gICAgVGhlVGFibGVPcHRpb25zQ29tcG9uZW50XG5dO1xuXG5leHBvcnQgY29uc3QgUExVR0lOX0NPTVBPTkVOVFMgPSBbXG4gICAgVGhlSW1hZ2VDb21wb25lbnQsXG4gICAgVGhlVGVtcGxhdGVDb21wb25lbnQsXG4gICAgVGhlSHJDb21wb25lbnQsXG4gICAgVGhlQmxvY2txdW90ZUNvbXBvbmVudCxcbiAgICBUaGVUb2RvSXRlbUNvbXBvbmVudCxcbiAgICBUaGVMaXN0SXRlbUNvbXBvbmVudCxcbiAgICBUaGVCdWxsZXRlZExpc3RDb21wb25lbnQsXG4gICAgVGhlTnVtYmVyZWRMaXN0Q29tcG9uZW50LFxuICAgIFRoZUNvZGVDb21wb25lbnQsXG4gICAgVGhlTGlua0NvbXBvbmVudCxcbiAgICBUaGVMaW5rRWRpdENvbXBvbmVudCxcbiAgICBUaGVMaW5rSG92ZXJDb21wb25lbnQsXG4gICAgVGhlVGFibGVUb29sYmFyQ29tcG9uZW50LFxuICAgIFRoZVRhYmxlQ29tcG9uZW50LFxuICAgIFRoZVRhYmxlUm93Q29tcG9uZW50LFxuICAgIFRoZVRkQ29tcG9uZW50LFxuICAgIFRoZUlubGluZUNvZGVDb21wb25lbnRcbl07XG5cbmNvbnN0IFBJUEVTID0gW0VsZW1lbnRTdHlsZVBpcGUsIEVsZW1lbnRDbGFzc1BpcGVdO1xuXG5ATmdNb2R1bGUoe1xuICAgIGRlY2xhcmF0aW9uczogW1RoZUVkaXRvckNvbXBvbmVudCwgLi4uUElQRVMsIC4uLkNPTVBPTkVOVFMsIC4uLlBMVUdJTl9DT01QT05FTlRTXSxcbiAgICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBTbGF0ZU1vZHVsZSwgRm9ybXNNb2R1bGUsIC4uLlRFVEhZUywgQ29kZW1pcnJvck1vZHVsZSwgVGhlQ29sdW1uU2l6ZU1vZHVsZV0sXG4gICAgZXhwb3J0czogW1RoZUVkaXRvckNvbXBvbmVudCwgVGhlVG9vbGJhckNvbXBvbmVudCwgVGhlVG9vbGJhckRyb3Bkb3duQ29tcG9uZW50LCBUaGVUb29sYmFySXRlbUNvbXBvbmVudCwgVGhlRGVmYXVsdEVsZW1lbnRDb21wb25lbnRdLFxuICAgIGVudHJ5Q29tcG9uZW50czogWy4uLkNPTVBPTkVOVFMsIC4uLlBMVUdJTl9DT01QT05FTlRTXSxcbiAgICBwcm92aWRlcnM6IFtcbiAgICAgICAge1xuICAgICAgICAgICAgcHJvdmlkZTogVGhlVG9vbGJhckdyb3VwVG9rZW4sXG4gICAgICAgICAgICB1c2VWYWx1ZTogVGhlVG9vbGJhckdyb3VwQ29tcG9uZW50XG4gICAgICAgIH0sXG4gICAgICAgIFRIRV9NT0RFX1BST1ZJREVSXG4gICAgXVxufSlcbmV4cG9ydCBjbGFzcyBUaGVFZGl0b3JNb2R1bGUge31cbiJdfQ==
@@ -11,20 +11,22 @@ import { TheBaseElementComponent } from '../../interfaces';
11
11
  import { ImageEditor } from './image.editor';
12
12
  import * as TheTransforms from '../../transforms';
13
13
  import * as TheQueries from '../../queries';
14
+ import { getAllNodesByType } from '../../utils/get-all-nodes-by-type';
14
15
  import * as i0 from "@angular/core";
15
16
  import * as i1 from "@angular/platform-browser";
16
17
  import * as i2 from "../../services/context.service";
17
18
  import * as i3 from "ngx-tethys/popover";
18
19
  import * as i4 from "@angular/cdk/overlay";
19
- import * as i5 from "slate-angular";
20
- import * as i6 from "ngx-tethys/progress";
21
- import * as i7 from "ngx-tethys/icon";
22
- import * as i8 from "ngx-tethys/nav";
23
- import * as i9 from "../../components/nav-split-line/nav-split-line.component";
24
- import * as i10 from "@angular/common";
25
- import * as i11 from "ngx-tethys/tooltip";
20
+ import * as i5 from "ngx-tethys/image";
21
+ import * as i6 from "slate-angular";
22
+ import * as i7 from "ngx-tethys/progress";
23
+ import * as i8 from "ngx-tethys/icon";
24
+ import * as i9 from "ngx-tethys/nav";
25
+ import * as i10 from "../../components/nav-split-line/nav-split-line.component";
26
+ import * as i11 from "@angular/common";
27
+ import * as i12 from "ngx-tethys/tooltip";
26
28
  export class TheImageComponent extends TheBaseElementComponent {
27
- constructor(elementRef, sanitizer, imageUploaderService, cdr, theContextService, thyPopover, overlay, viewContainerRef) {
29
+ constructor(elementRef, sanitizer, imageUploaderService, cdr, theContextService, thyPopover, overlay, thyImageService, viewContainerRef) {
28
30
  super(elementRef, cdr);
29
31
  this.elementRef = elementRef;
30
32
  this.sanitizer = sanitizer;
@@ -33,6 +35,7 @@ export class TheImageComponent extends TheBaseElementComponent {
33
35
  this.theContextService = theContextService;
34
36
  this.thyPopover = thyPopover;
35
37
  this.overlay = overlay;
38
+ this.thyImageService = thyImageService;
36
39
  this.viewContainerRef = viewContainerRef;
37
40
  this.imageEntry = {};
38
41
  this.uploading = false;
@@ -140,11 +143,16 @@ export class TheImageComponent extends TheBaseElementComponent {
140
143
  this.uploadingSubscription.unsubscribe();
141
144
  this.uploading = false;
142
145
  this.theContextService.removeUploadImage(this.fileItem);
143
- this.theContextService.uploadingStatus$.next(false);
146
+ setTimeout(() => this.theContextService.uploadingStatus$.next(false), 0);
144
147
  }
145
148
  this.cdr.detectChanges();
146
149
  });
147
150
  }
151
+ setImageNodes(imageInfo) {
152
+ const path = AngularEditor.findPath(this.editor, this.element);
153
+ const data = Object.assign({ type: ElementKinds.image, url: null }, imageInfo);
154
+ HistoryEditor.withoutSaving(this.editor, () => Transforms.setNodes(this.editor, data, { at: path }));
155
+ }
148
156
  uploadImage(file) {
149
157
  return __awaiter(this, void 0, void 0, function* () {
150
158
  const { width, height } = yield this.resolveImageSize(file, this.theContextService.getOptions().width);
@@ -157,7 +165,6 @@ export class TheImageComponent extends TheBaseElementComponent {
157
165
  this.uploading = true;
158
166
  this.theContextService.uploadingStatus$.next(true);
159
167
  const [uploadFileEntity] = yield this.imageUploaderService.uploadFileHandle([file]).toPromise();
160
- const path = AngularEditor.findPath(this.editor, this.element);
161
168
  const { thumbUrl, originUrl } = uploadFileEntity;
162
169
  const imageInfo = {
163
170
  name: file.name,
@@ -167,7 +174,7 @@ export class TheImageComponent extends TheBaseElementComponent {
167
174
  originUrl,
168
175
  align: this.imageEntry.align || Alignment.center
169
176
  };
170
- HistoryEditor.withoutSaving(this.editor, () => Transforms.setNodes(this.editor, Object.assign({ type: ElementKinds.image, url: null }, imageInfo), { at: path }));
177
+ this.setImageNodes(imageInfo);
171
178
  });
172
179
  }
173
180
  resolveImageSize(imageFile, maxSize) {
@@ -265,7 +272,25 @@ export class TheImageComponent extends TheBaseElementComponent {
265
272
  }
266
273
  preview($event) {
267
274
  if (this.readonly || this.isCollapsed) {
268
- $.fancybox.open([{ src: this.imageEntry.originUrl }]);
275
+ const images = getAllNodesByType(this.editor.children, ElementKinds.image);
276
+ const previewImages = images.map(item => {
277
+ return {
278
+ src: item.originUrl,
279
+ name: item.name,
280
+ width: item.width,
281
+ height: item.height,
282
+ key: item.key,
283
+ origin: {
284
+ src: item.originUrl
285
+ }
286
+ };
287
+ });
288
+ const startIndex = previewImages.findIndex(item => item.key === this.element.key);
289
+ const config = {
290
+ startIndex,
291
+ operations: ['zoom-out', 'zoom-in', 'rotate-right', 'download']
292
+ };
293
+ this.thyImageService.preview(previewImages, config);
269
294
  }
270
295
  $event.stopPropagation();
271
296
  }
@@ -346,8 +371,8 @@ export class TheImageComponent extends TheBaseElementComponent {
346
371
  .withPositions([bottomPosition]);
347
372
  }
348
373
  }
349
- TheImageComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: TheImageComponent, deps: [{ token: i0.ElementRef }, { token: i1.DomSanitizer }, { token: THE_UPLOAD_SERVICE_TOKEN }, { token: i0.ChangeDetectorRef }, { token: i2.TheContextService }, { token: i3.ThyPopover }, { token: i4.Overlay }, { token: i0.ViewContainerRef }], target: i0.ɵɵFactoryTarget.Component });
350
- TheImageComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.15", type: TheImageComponent, selector: "the-image, [theImage]", viewQueries: [{ propertyName: "imageContent", first: true, predicate: ["imageContent"], descendants: true }, { propertyName: "img", first: true, predicate: ["img"], descendants: true }, { propertyName: "layoutToolbar", first: true, predicate: ["layoutToolbar"], descendants: true, static: true }], usesInheritance: true, ngImport: i0, template: "<slate-children [children]=\"children\" [context]=\"childrenContext\" [viewContext]=\"viewContext\"></slate-children>\n\n<div class=\"image-container\" contenteditable=\"false\" [style.textAlign]=\"imageEntry.align\">\n <div\n #imageContent\n *ngIf=\"imageEntry.thumbUrl\"\n class=\"image-content\"\n [class.pointer]=\"!selection\"\n [ngStyle]=\"{\n 'width.px':\n imageEntry?.layout && imageEntry?.width > layoutDefaultWidth && !imageEntry?.reSized\n ? layoutDefaultWidth\n : imageEntry.width,\n 'height.px': imageEntry.height\n }\"\n >\n <img #img class=\"main-image\" [src]=\"imageEntry.thumbUrl\" [alt]=\"imageEntry.name\" />\n <div *ngIf=\"selection\" class=\"image-profile\" [class.outline]=\"selection\">\n <span *ngIf=\"isCollapsed\" (mousedown)=\"startDrag($event, '-xl')\" class=\"image-pointer left top\"></span>\n <span *ngIf=\"isCollapsed\" (mousedown)=\"startDrag($event, 'xl')\" class=\"image-pointer right top\"></span>\n <span *ngIf=\"isCollapsed\" (mousedown)=\"startDrag($event, 'xl')\" class=\"image-pointer right bottom\"></span>\n <span *ngIf=\"isCollapsed\" (mousedown)=\"startDrag($event, '-xl')\" class=\"image-pointer left bottom\"></span>\n </div>\n <div *ngIf=\"uploading\" class=\"uploading\">\n <div class=\"uploading-percentage\">\n <thy-progress thyType=\"primary\" [thyValue]=\"percentage\" thySize=\"sm\"></thy-progress>\n <thy-icon (click)=\"cancelUpload($event)\" thyIconName=\"close-circle-bold-fill\" thyIconLegging=\"true\"></thy-icon>\n </div>\n </div>\n <div *ngIf=\"!uploading\" class=\"layer\" (mousedown)=\"preview($event)\" [class.readonly]=\"readonly\"></div>\n </div>\n <div *ngIf=\"!imageEntry.thumbUrl\" class=\"image-loading\" contenteditable=\"false\">\n <thy-icon thyIconName=\"image\"></thy-icon>\n </div>\n</div>\n\n<ng-template #layoutToolbar>\n <div class=\"the-block-toolbar-popover\" contenteditable=\"false\">\n <thy-icon-nav>\n <ng-container *ngFor=\"let item of layoutOptions\">\n <a\n *ngIf=\"item.key !== 'split'\"\n href=\"javascript:;\"\n thyIconNavLink\n [ngClass]=\"{ 'remove-link': item.key === 'remove' }\"\n [thyIconNavLinkIcon]=\"item.icon\"\n [thyTooltip]=\"item.name\"\n [thyIconNavLinkActive]=\"layoutActive(item.key)\"\n thyTooltipPlacement=\"top\"\n (mousedown)=\"item?.handle($event, item.key)\"\n ></a>\n <nav-split-line *ngIf=\"item.key === 'split'\"></nav-split-line>\n </ng-container>\n </thy-icon-nav>\n </div>\n</ng-template>\n", components: [{ type: i5.SlateChildrenComponent, selector: "slate-children", inputs: ["children", "context", "viewContext"] }, { type: i6.ThyProgressComponent, selector: "thy-progress", inputs: ["thyType", "thySize", "thyValue", "thyMax", "thyTips"] }, { type: i7.ThyIconComponent, selector: "thy-icon", inputs: ["thyIconType", "thyTwotoneColor", "thyIconName", "thyIconRotate", "thyIconSet", "thyIconLegging", "thyIconLinearGradient"] }, { type: i8.ThyIconNavComponent, selector: "thy-icon-nav", inputs: ["thyType"] }, { type: i8.ThyIconNavLinkComponent, selector: "[thyIconNavLink]", inputs: ["thyIconNavLinkIcon", "thyIconNavLinkActive"] }, { type: i9.NavSplitLineComponent, selector: "nav-split-line", inputs: ["mode"] }], directives: [{ type: i10.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i10.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { type: i10.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i10.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i11.ThyTooltipDirective, selector: "[thyTooltip],[thy-tooltip]", inputs: ["thyTooltip", "thyTooltipPlacement", "thyTooltipClass", "thyTooltipShowDelay", "thyTooltipHideDelay", "thyTooltipTrigger", "thyTooltipDisabled", "thyTooltipTemplateContext", "thyTooltipOffset", "thyTooltipPin"], exportAs: ["thyTooltip"] }] });
374
+ TheImageComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: TheImageComponent, deps: [{ token: i0.ElementRef }, { token: i1.DomSanitizer }, { token: THE_UPLOAD_SERVICE_TOKEN }, { token: i0.ChangeDetectorRef }, { token: i2.TheContextService }, { token: i3.ThyPopover }, { token: i4.Overlay }, { token: i5.ThyImageService }, { token: i0.ViewContainerRef }], target: i0.ɵɵFactoryTarget.Component });
375
+ TheImageComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.15", type: TheImageComponent, selector: "the-image, [theImage]", viewQueries: [{ propertyName: "imageContent", first: true, predicate: ["imageContent"], descendants: true }, { propertyName: "img", first: true, predicate: ["img"], descendants: true }, { propertyName: "layoutToolbar", first: true, predicate: ["layoutToolbar"], descendants: true, static: true }], usesInheritance: true, ngImport: i0, template: "<slate-children [children]=\"children\" [context]=\"childrenContext\" [viewContext]=\"viewContext\"></slate-children>\n\n<div class=\"image-container\" contenteditable=\"false\" [style.textAlign]=\"imageEntry.align\">\n <div\n #imageContent\n *ngIf=\"imageEntry.thumbUrl\"\n class=\"image-content\"\n [class.pointer]=\"!selection\"\n [ngStyle]=\"{\n 'width.px':\n imageEntry?.layout && imageEntry?.width > layoutDefaultWidth && !imageEntry?.reSized\n ? layoutDefaultWidth\n : imageEntry.width,\n 'height.px': imageEntry.height\n }\"\n >\n <img #img class=\"main-image\" [src]=\"imageEntry.thumbUrl\" [alt]=\"imageEntry.name\" />\n <div *ngIf=\"selection\" class=\"image-profile\" [class.outline]=\"selection\">\n <span *ngIf=\"isCollapsed\" (mousedown)=\"startDrag($event, '-xl')\" class=\"image-pointer left top\"></span>\n <span *ngIf=\"isCollapsed\" (mousedown)=\"startDrag($event, 'xl')\" class=\"image-pointer right top\"></span>\n <span *ngIf=\"isCollapsed\" (mousedown)=\"startDrag($event, 'xl')\" class=\"image-pointer right bottom\"></span>\n <span *ngIf=\"isCollapsed\" (mousedown)=\"startDrag($event, '-xl')\" class=\"image-pointer left bottom\"></span>\n </div>\n <div *ngIf=\"uploading\" class=\"uploading\">\n <div class=\"uploading-percentage\">\n <thy-progress thyType=\"primary\" [thyValue]=\"percentage\" thySize=\"sm\"></thy-progress>\n <thy-icon (click)=\"cancelUpload($event)\" thyIconName=\"close-circle-bold-fill\" thyIconLegging=\"true\"></thy-icon>\n </div>\n </div>\n <div *ngIf=\"!uploading\" class=\"layer\" (mousedown)=\"preview($event)\" [class.readonly]=\"readonly\"></div>\n </div>\n <div *ngIf=\"!imageEntry.thumbUrl\" class=\"image-loading\" contenteditable=\"false\">\n <thy-icon thyIconName=\"image\"></thy-icon>\n </div>\n</div>\n\n<ng-template #layoutToolbar>\n <div class=\"the-block-toolbar-popover\" contenteditable=\"false\">\n <thy-icon-nav>\n <ng-container *ngFor=\"let item of layoutOptions\">\n <a\n *ngIf=\"item.key !== 'split'\"\n href=\"javascript:;\"\n thyIconNavLink\n [ngClass]=\"{ 'remove-link': item.key === 'remove' }\"\n [thyIconNavLinkIcon]=\"item.icon\"\n [thyTooltip]=\"item.name\"\n [thyIconNavLinkActive]=\"layoutActive(item.key)\"\n thyTooltipPlacement=\"top\"\n (mousedown)=\"item?.handle($event, item.key)\"\n ></a>\n <nav-split-line *ngIf=\"item.key === 'split'\"></nav-split-line>\n </ng-container>\n </thy-icon-nav>\n </div>\n</ng-template>\n", components: [{ type: i6.SlateChildrenComponent, selector: "slate-children", inputs: ["children", "context", "viewContext"] }, { type: i7.ThyProgressComponent, selector: "thy-progress", inputs: ["thyType", "thySize", "thyValue", "thyMax", "thyTips"] }, { type: i8.ThyIconComponent, selector: "thy-icon", inputs: ["thyIconType", "thyTwotoneColor", "thyIconName", "thyIconRotate", "thyIconSet", "thyIconLegging", "thyIconLinearGradient"] }, { type: i9.ThyIconNavComponent, selector: "thy-icon-nav", inputs: ["thyType"] }, { type: i9.ThyIconNavLinkComponent, selector: "[thyIconNavLink]", inputs: ["thyIconNavLinkIcon", "thyIconNavLinkActive"] }, { type: i10.NavSplitLineComponent, selector: "nav-split-line", inputs: ["mode"] }], directives: [{ type: i11.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i11.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { type: i11.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i11.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i12.ThyTooltipDirective, selector: "[thyTooltip],[thy-tooltip]", inputs: ["thyTooltip", "thyTooltipPlacement", "thyTooltipClass", "thyTooltipShowDelay", "thyTooltipHideDelay", "thyTooltipTrigger", "thyTooltipDisabled", "thyTooltipTemplateContext", "thyTooltipOffset", "thyTooltipPin"], exportAs: ["thyTooltip"] }] });
351
376
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: TheImageComponent, decorators: [{
352
377
  type: Component,
353
378
  args: [{
@@ -357,7 +382,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImpo
357
382
  }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i1.DomSanitizer }, { type: undefined, decorators: [{
358
383
  type: Inject,
359
384
  args: [THE_UPLOAD_SERVICE_TOKEN]
360
- }] }, { type: i0.ChangeDetectorRef }, { type: i2.TheContextService }, { type: i3.ThyPopover }, { type: i4.Overlay }, { type: i0.ViewContainerRef }]; }, propDecorators: { imageContent: [{
385
+ }] }, { type: i0.ChangeDetectorRef }, { type: i2.TheContextService }, { type: i3.ThyPopover }, { type: i4.Overlay }, { type: i5.ThyImageService }, { type: i0.ViewContainerRef }]; }, propDecorators: { imageContent: [{
361
386
  type: ViewChild,
362
387
  args: ['imageContent']
363
388
  }], img: [{
@@ -367,4 +392,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImpo
367
392
  type: ViewChild,
368
393
  args: ['layoutToolbar', { static: true }]
369
394
  }] } });
370
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW1hZ2UuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvc3JjL3BsdWdpbnMvaW1hZ2UvaW1hZ2UuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvc3JjL3BsdWdpbnMvaW1hZ2UvaW1hZ2UuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFDSCxTQUFTLEVBR1QsU0FBUyxFQUVULE1BQU0sRUFLVCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsYUFBYSxFQUE0QyxNQUFNLGVBQWUsQ0FBQztBQUV4RixPQUFPLEVBQWMsd0JBQXdCLEVBQXlDLE1BQU0sd0JBQXdCLENBQUM7QUFDckgsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsV0FBVyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDdEcsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM5QyxPQUFPLEVBQUUsVUFBVSxFQUFVLE1BQU0sT0FBTyxDQUFDO0FBRTNDLE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNyQyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFJdEQsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFFM0QsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzdDLE9BQU8sS0FBSyxhQUFhLE1BQU0sa0JBQWtCLENBQUM7QUFDbEQsT0FBTyxLQUFLLFVBQVUsTUFBTSxlQUFlLENBQUM7Ozs7Ozs7Ozs7Ozs7QUFRNUMsTUFBTSxPQUFPLGlCQUNULFNBQVEsdUJBQTZDO0lBOEVyRCxZQUNXLFVBQXNCLEVBQ3RCLFNBQXVCLEVBRXRCLG9CQUE2QyxFQUM5QyxHQUFzQixFQUNyQixpQkFBb0MsRUFDcEMsVUFBc0Is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QUFDLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQztJQUN6QyxDQUFDOzsrR0EvWVEsaUJBQWlCLHdFQWtGZCx3QkFBd0I7bUdBbEYzQixpQkFBaUIsOFhDcEM5QixrNEZBd0RBOzRGRHBCYSxpQkFBaUI7a0JBSjdCLFNBQVM7bUJBQUM7b0JBQ1AsUUFBUSxFQUFFLHVCQUF1QjtvQkFDakMsV0FBVyxFQUFFLHdCQUF3QjtpQkFDeEM7OzBCQW1GUSxNQUFNOzJCQUFDLHdCQUF3QjswTEFYcEMsWUFBWTtzQkFEWCxTQUFTO3VCQUFDLGNBQWM7Z0JBSXpCLEdBQUc7c0JBREYsU0FBUzt1QkFBQyxLQUFLLEVBQUUsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFO2dCQUluQyxhQUFhO3NCQURaLFNBQVM7dUJBQUMsZUFBZSxFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgQ29tcG9uZW50LFxuICAgIE9uSW5pdCxcbiAgICBFbGVtZW50UmVmLFxuICAgIFZpZXdDaGlsZCxcbiAgICBPbkRlc3Ryb3ksXG4gICAgSW5qZWN0LFxuICAgIEFmdGVyVmlld0luaXQsXG4gICAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgVGVtcGxhdGVSZWYsXG4gICAgVmlld0NvbnRhaW5lclJlZlxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFuZ3VsYXJFZGl0b3IsIEJlZm9yZUNvbnRleHRDaGFuZ2UsIFNsYXRlRWxlbWVudENvbnRleHQgfSBmcm9tICdzbGF0ZS1hbmd1bGFyJztcbmltcG9ydCB7IERvbVNhbml0aXplciB9IGZyb20gJ0Bhbmd1bGFyL3BsYXRmb3JtLWJyb3dzZXInO1xuaW1wb3J0IHsgSW1hZ2VFbnRyeSwgVEhFX1VQTE9BRF9TRVJWSUNFX1RPS0VOLCBUaGVJbWFnZVVwbG9hZGVyU2VydmljZSwgTGF5b3V0T3B0aW9uIH0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcy9pbWFnZSc7XG5pbXBvcnQgeyBBbGlnbm1lbnQsIEVsZW1lbnRLaW5kcywgTGF5b3V0VHlwZXMsIFRvb2xiYXJBY3Rpb25UeXBlcyB9IGZyb20gJy4uLy4uL2NvbnN0YW50cy9ub2RlLXR5cGVzJztcbmltcG9ydCB7IEhpc3RvcnlFZGl0b3IgfSBmcm9tICdzbGF0ZS1oaXN0b3J5JztcbmltcG9ydCB7IFRyYW5zZm9ybXMsIEVkaXRvciB9IGZyb20gJ3NsYXRlJztcbmltcG9ydCB7IFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMvaW50ZXJuYWwvU3Vic2NyaXB0aW9uJztcbmltcG9ydCB7IG1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IFRoeVVwbG9hZFN0YXR1cyB9IGZyb20gJ25neC10ZXRoeXMvdXBsb2FkZXInO1xuaW1wb3J0IHsgVGh5UG9wb3ZlciwgVGh5UG9wb3ZlclJlZiB9IGZyb20gJ25neC10ZXRoeXMvcG9wb3Zlcic7XG5pbXBvcnQgeyBDb25uZWN0ZWRQb3NpdGlvbiwgT3ZlcmxheSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9vdmVybGF5JztcbmltcG9ydCB7IFRoZUNvbnRleHRTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvY29udGV4dC5zZXJ2aWNlJztcbmltcG9ydCB7IFRoZUJhc2VFbGVtZW50Q29tcG9uZW50IH0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcyc7XG5pbXBvcnQgeyBJbWFnZUVsZW1lbnQgfSBmcm9tICcuLi8uLi9jdXN0b20tdHlwZXMnO1xuaW1wb3J0IHsgSW1hZ2VFZGl0b3IgfSBmcm9tICcuL2ltYWdlLmVkaXRvcic7XG5pbXBvcnQgKiBhcyBUaGVUcmFuc2Zvcm1zIGZyb20gJy4uLy4uL3RyYW5zZm9ybXMnO1xuaW1wb3J0ICogYXMgVGhlUXVlcmllcyBmcm9tICcuLi8uLi9xdWVyaWVzJztcblxuZGVjbGFyZSBjb25zdCAkOiBhbnk7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAndGhlLWltYWdlLCBbdGhlSW1hZ2VdJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vaW1hZ2UuY29tcG9uZW50Lmh0bWwnXG59KVxuZXhwb3J0IGNsYXNzIFRoZUltYWdlQ29tcG9uZW50XG4gICAgZXh0ZW5kcyBUaGVCYXNlRWxlbWVudENvbXBvbmVudDxJbWFnZUVsZW1lbnQsIEVkaXRvcj5cbiAgICBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95LCBBZnRlclZpZXdJbml0LCBCZWZvcmVDb250ZXh0Q2hhbmdlPFNsYXRlRWxlbWVudENvbnRleHQ+XG57XG4gICAgaW1hZ2VFbnRyeTogSW1hZ2VFbnRyeSA9IHt9O1xuXG4gICAgdXBsb2FkaW5nID0gZmFsc2U7XG5cbiAgICBwZXJjZW50YWdlID0gMDtcblxuICAgIGZpbGVJdGVtOiB7IHVybDogc3RyaW5nOyBmaWxlOiBGaWxlIH07XG5cbiAgICBsYXlvdXREZWZhdWx0V2lkdGggPSAzNjg7XG5cbiAgICBsYXlvdXRPcHRpb25zOiBMYXlvdXRPcHRpb25bXSA9IFtcbiAgICAgICAge1xuICAgICAgICAgICAga2V5OiBBbGlnbm1lbnQubGVmdCxcbiAgICAgICAgICAgIGljb246ICdpbWFnZS1sZWZ0JyxcbiAgICAgICAgICAgIG5hbWU6ICflt6blr7npvZAnLFxuICAgICAgICAgICAgaGFuZGxlOiAoZTogTW91c2VFdmVudCwga2V5OiBBbGlnbm1lbnQpID0+IHRoaXMuc2V0SW1hZ2VOb2RlKGUsIHsgYWxpZ246IGtleSwgbGF5b3V0OiB1bmRlZmluZWQgfSlcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgICAga2V5OiBBbGlnbm1lbnQuY2VudGVyLFxuICAgICAgICAgICAgaWNvbjogJ2ltYWdlLWNlbnRlcicsXG4gICAgICAgICAgICBuYW1lOiAn5bGF5LitJyxcbiAgICAgICAgICAgIGhhbmRsZTogKGU6IE1vdXNlRXZlbnQsIGtleTogQWxpZ25tZW50KSA9PiB0aGlzLnNldEltYWdlTm9kZShlLCB7IGFsaWduOiBrZXksIGxheW91dDogdW5kZWZpbmVkIH0pXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICAgIGtleTogQWxpZ25tZW50LnJpZ2h0LFxuICAgICAgICAgICAgaWNvbjogJ2ltYWdlLXJpZ2h0JyxcbiAgICAgICAgICAgIG5hbWU6ICflj7Plr7npvZAnLFxuICAgICAgICAgICAgaGFuZGxlOiAoZTogTW91c2VFdmVudCwga2V5OiBBbGlnbm1lbnQpID0+IHRoaXMuc2V0SW1hZ2VOb2RlKGUsIHsgYWxpZ246IGtleSwgbGF5b3V0OiB1bmRlZmluZWQgfSlcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgICAga2V5OiBUb29sYmFyQWN0aW9uVHlwZXMuc3BsaXRcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgICAga2V5OiBMYXlvdXRUeXBlcy53cmFwTGVmdCxcbiAgICAgICAgICAgIGljb246ICd3cmFwLWxlZnQnLFxuICAgICAgICAgICAgbmFtZTogJ+WbvueJh+WxheW3picsXG4gICAgICAgICAgICBoYW5kbGU6IChlOiBNb3VzZUV2ZW50LCBrZXk6IExheW91dFR5cGVzKSA9PiB0aGlzLnNldEltYWdlTm9kZShlLCB7IGxheW91dDoga2V5IH0pXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICAgIGtleTogTGF5b3V0VHlwZXMud3JhcFJpZ2h0LFxuICAgICAgICAgICAgaWNvbjogJ3dyYXAtcmlnaHQnLFxuICAgICAgICAgICAgbmFtZTogJ+WbvueJh+WxheWPsycsXG4gICAgICAgICAgICBoYW5kbGU6IChlOiBNb3VzZUV2ZW50LCBrZXk6IExheW91dFR5cGVzKSA9PiB0aGlzLnNldEltYWdlTm9kZShlLCB7IGxheW91dDoga2V5IH0pXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICAgIGtleTogJ3JlbW92ZScsXG4gICAgICAgICAgICBpY29uOiAndHJhc2gnLFxuICAgICAgICAgICAgbmFtZTogJ+WIoOmZpCcsXG4gICAgICAgICAgICBoYW5kbGU6IChlOiBNb3VzZUV2ZW50KSA9PiB0aGlzLm9uRGVsZXRlKGUpXG4gICAgICAgIH1cbiAgICBdO1xuXG4gICAgcHJpdmF0ZSB1cGxvYWRpbmdTdWJzY3JpcHRpb246IFN1YnNjcmlwdGlvbjtcblxuICAgIHByaXZhdGUgbW91c2VNb3ZlU3Vic2NyaXB0aW9uOiBTdWJzY3JpcHRpb247XG5cbiAgICBwcml2YXRlIG1vdXNlVXBTdWJzY3JpcHRpb246IFN1YnNjcmlwdGlvbjtcblxuICAgIHByaXZhdGUgZHJhZ2FibGUgPSBmYWxzZTtcblxuICAgIHByaXZhdGUgbGF5b3V0VG9vbGJhclJlZjogVGh5UG9wb3ZlclJlZjxhbnk+O1xuXG4gICAgZ2V0IGlzT3BlbigpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMubGF5b3V0VG9vbGJhclJlZiAmJiB0aGlzLmxheW91dFRvb2xiYXJSZWYuZ2V0T3ZlcmxheVJlZigpICYmIHRoaXMubGF5b3V0VG9vbGJhclJlZi5nZXRPdmVybGF5UmVmKCkuaGFzQXR0YWNoZWQoKTtcbiAgICB9XG5cbiAgICBAVmlld0NoaWxkKCdpbWFnZUNvbnRlbnQnKVxuICAgIGltYWdlQ29udGVudDogRWxlbWVudFJlZjtcblxuICAgIEBWaWV3Q2hpbGQoJ2ltZycsIHsgc3RhdGljOiBmYWxzZSB9KVxuICAgIGltZzogRWxlbWVudFJlZjtcblxuICAgIEBWaWV3Q2hpbGQoJ2xheW91dFRvb2xiYXInLCB7IHN0YXRpYzogdHJ1ZSB9KVxuICAgIGxheW91dFRvb2xiYXI6IFRlbXBsYXRlUmVmPGFueT47XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHVibGljIGVsZW1lbnRSZWY6IEVsZW1lbnRSZWYsXG4gICAgICAgIHB1YmxpYyBzYW5pdGl6ZXI6IERvbVNhbml0aXplcixcbiAgICAgICAgQEluamVjdChUSEVfVVBMT0FEX1NFUlZJQ0VfVE9LRU4pXG4gICAgICAgIHByaXZhdGUgaW1hZ2VVcGxvYWRlclNlcnZpY2U6IFRoZUltYWdlVXBsb2FkZXJTZXJ2aWNlLFxuICAgICAgICBwdWJsaWMgY2RyOiBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICAgICAgcHJpdmF0ZSB0aGVDb250ZXh0U2VydmljZTogVGhlQ29udGV4dFNlcnZpY2UsXG4gICAgICAgIHByaXZhdGUgdGh5UG9wb3ZlcjogVGh5UG9wb3ZlcixcbiAgICAgICAgcHJpdmF0ZSBvdmVybGF5OiBPdmVybGF5LFxuICAgICAgICBwcml2YXRlIHZpZXdDb250YWluZXJSZWY6IFZpZXdDb250YWluZXJSZWZcbiAgICApIHtcbiAgICAgICAgc3VwZXIoZWxlbWVudFJlZiwgY2RyKTtcbiAgICB9XG5cbiAgICBiZWZvcmVDb250ZXh0Q2hhbmdlID0gKHZhbHVlOiBTbGF0ZUVsZW1lbnRDb250ZXh0PEltYWdlRWxlbWVudD4pID0+IHtcbiAgICAgICAgaWYgKHZhbHVlLmVsZW1lbnQgIT09IHRoaXMuZWxlbWVudCAmJiB2YWx1ZS5lbGVtZW50LnRodW1iVXJsKSB7XG4gICAgICAgICAgICB0aGlzLmltYWdlRW50cnkgPSB7XG4gICAgICAgICAgICAgICAgbmFtZTogdmFsdWUuZWxlbWVudC5uYW1lLFxuICAgICAgICAgICAgICAgIHdpZHRoOiB2YWx1ZS5lbGVtZW50LndpZHRoLFxuICAgICAgICAgICAgICAgIGhlaWdodDogdmFsdWUuZWxlbWVudC5oZWlnaHQsXG4gICAgICAgICAgICAgICAgdGh1bWJVcmw6IHZhbHVlLmVsZW1lbnQudGh1bWJVcmwsXG4gICAgICAgICAgICAgICAgb3JpZ2luVXJsOiB2YWx1ZS5lbGVtZW50Lm9yaWdpblVybCxcbiAgICAgICAgICAgICAgICBhbGlnbjogdmFsdWUuZWxlbWVudC5hbGlnbiB8fCBBbGlnbm1lbnQubGVmdCxcbiAgICAgICAgICAgICAgICBsYXlvdXQ6IHZhbHVlLmVsZW1lbnQubGF5b3V0LFxuICAgICAgICAgICAgICAgIHJlU2l6ZWQ6IHZhbHVlLmVsZW1lbnQucmVTaXplZCB8fCBmYWxzZVxuICAgICAgICAgICAgfTtcbiAgICAgICAgICAgIHRoaXMuc2V0QmxvY2tDYXJkTGF5b3V0QXR0cigpO1xuICAgICAgICB9XG4gICAgfTtcblxuICAgIG5nT25Jbml0KCkge1xuICAgICAgICB0aGlzLmxheW91dERlZmF1bHRXaWR0aCA9IHRoaXMudGhlQ29udGV4dFNlcnZpY2UubGF5b3V0RGVmYXVsdFdpZHRoKCk7XG4gICAgICAgIHRoaXMuZmlsZUl0ZW0gPSB0aGlzLnRoZUNvbnRleHRTZXJ2aWNlLnVwbG9hZGluZ0ZpbGVzLmZpbmQoaXRlbSA9PiBpdGVtLnVybCA9PT0gdGhpcy5lbGVtZW50LnVybCk7XG4gICAgICAgIGlmICh0aGlzLmZpbGVJdGVtPy5maWxlICYmIHRoaXMuZmlsZUl0ZW0uZmlsZSBpbnN0YW5jZW9mIEZpbGUpIHtcbiAgICAgICAgICAgIHRoaXMudXBsb2FkSW1hZ2UodGhpcy5maWxlSXRlbS5maWxlKTtcbiAgICAgICAgfVxuICAgICAgICBzdXBlci5uZ09uSW5pdCgpO1xuICAgIH1cblxuICAgIG9uQ29udGV4dENoYW5nZSgpIHtcbiAgICAgICAgc3VwZXIub25Db250ZXh0Q2hhbmdlKCk7XG4gICAgICAgIGlmICh0aGlzLmluaXRpYWxpemVkKSB7XG4gICAgICAgICAgICBpZiAodGhpcy5pc1Nob3VsZE9wZW4oKSkge1xuICAgICAgICAgICAgICAgIHRoaXMub3BlbkxheW91dFRvb2xiYXIoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmICh0aGlzLmlzU2hvdWxkQ2xvc2UoKSkge1xuICAgICAgICAgICAgICAgIHRoaXMuY2xvc2VMYXlvdXRUb29sYmFyKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBuZ09uRGVzdHJveSgpIHtcbiAgICAgICAgdGhpcy51cGxvYWRpbmdTdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcbiAgICAgICAgdGhpcy5tb3VzZVVwU3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XG4gICAgICAgIHN1cGVyLm5nT25EZXN0cm95KCk7XG4gICAgfVxuXG4gICAgbmdBZnRlclZpZXdJbml0KCkge1xuICAgICAgICB0aGlzLm1vdXNlVXBTdWJzY3JpcHRpb24gPSB0aGlzLnRoZUNvbnRleHRTZXJ2aWNlLm9uTW91c2VVcCQuc3Vic2NyaWJlKGUgPT4gdGhpcy5lbmREcmFnKGUpKTtcbiAgICAgICAgdGhpcy51cGxvYWRpbmdTdWJzY3JpcHRpb24gPSB0aGlzLmltYWdlVXBsb2FkZXJTZXJ2aWNlXG4gICAgICAgICAgICAuZ2V0VXBsb2FkaW5nSXRlbXMkKClcbiAgICAgICAgICAgIC5waXBlKG1hcChmaWxlVXBsb2FkaW5nSXRlbSA9PiB0aGlzLmZpbGVJdGVtPy5maWxlICYmIGZpbGVVcGxvYWRpbmdJdGVtLmZpbmQoaXRlbSA9PiBpdGVtLmZpbGUgPT09IHRoaXMuZmlsZUl0ZW0/LmZpbGUpKSlcbiAgICAgICAgICAgIC5zdWJzY3JpYmUodXBsb2FkaW5nSXRlbSA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKCF1cGxvYWRpbmdJdGVtIHx8ICF1cGxvYWRpbmdJdGVtLnJlc3VsdCkge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHRoaXMucGVyY2VudGFnZSA9IHVwbG9hZGluZ0l0ZW0ucmVzdWx0LnVwbG9hZEZpbGUucHJvZ3Jlc3MucGVyY2VudGFnZTtcbiAgICAgICAgICAgICAgICBjb25zdCB7IHN0YXR1cyB9ID0gdXBsb2FkaW5nSXRlbS5yZXN1bHQ7XG4gICAgICAgICAgICAgICAgLy8g5oiQ5Yqf5ZKM5aSx6LSl6YO96KaB5LiK5Lyg57uT5p2fXG4gICAgICAgICAgICAgICAgaWYgKHN0YXR1cyA9PT0gVGh5VXBsb2FkU3RhdHVzLmRvbmUpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy51cGxvYWRpbmdTdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy51cGxvYWRpbmcgPSBmYWxzZTtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy50aGVDb250ZXh0U2VydmljZS5yZW1vdmVVcGxvYWRJbWFnZSh0aGlzLmZpbGVJdGVtKTtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy50aGVDb250ZXh0U2VydmljZS51cGxvYWRpbmdTdGF0dXMkLm5leHQoZmFsc2UpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBhc3luYyB1cGxvYWRJbWFnZShmaWxlOiBGaWxlKSB7XG4gICAgICAgIGNvbnN0IHsgd2lkdGgsIGhlaWdodCB9ID0gYXdhaXQgdGhpcy5yZXNvbHZlSW1hZ2VTaXplKGZpbGUsIHRoaXMudGhlQ29udGV4dFNlcnZpY2UuZ2V0T3B0aW9ucygpLndpZHRoKTtcbiAgICAgICAgdGhpcy5pbWFnZUVudHJ5ID0ge1xuICAgICAgICAgICAgaGVpZ2h0LFxuICAgICAgICAgICAgd2lkdGgsXG4gICAgICAgICAgICBhbGlnbjogdGhpcy5pbWFnZUVudHJ5LmFsaWduIHx8IEFsaWdubWVudC5jZW50ZXIsXG4gICAgICAgICAgICB0aHVtYlVybDogdGhpcy5zYW5pdGl6ZXIuYnlwYXNzU2VjdXJpdHlUcnVzdFJlc291cmNlVXJsKFVSTC5jcmVhdGVPYmplY3RVUkwoZmlsZSkpXG4gICAgICAgIH07XG4gICAgICAgIHRoaXMudXBsb2FkaW5nID0gdHJ1ZTtcbiAgICAgICAgdGhpcy50aGVDb250ZXh0U2VydmljZS51cGxvYWRpbmdTdGF0dXMkLm5leHQodHJ1ZSk7XG4gICAgICAgIGNvbnN0IFt1cGxvYWRGaWxlRW50aXR5XSA9IGF3YWl0IHRoaXMuaW1hZ2VVcGxvYWRlclNlcnZpY2UudXBsb2FkRmlsZUhhbmRsZShbZmlsZV0pLnRvUHJvbWlzZSgpO1xuICAgICAgICBjb25zdCBwYXRoID0gQW5ndWxhckVkaXRvci5maW5kUGF0aCh0aGlzLmVkaXRvciwgdGhpcy5lbGVtZW50KTtcbiAgICAgICAgY29uc3QgeyB0aHVtYlVybCwgb3JpZ2luVXJsIH0gPSB1cGxvYWRGaWxlRW50aXR5O1xuICAgICAgICBjb25zdCBpbWFnZUluZm86IEltYWdlRW50cnkgPSB7XG4gICAgICAgICAgICBuYW1lOiBmaWxlLm5hbWUsXG4gICAgICAgICAgICB3aWR0aDogdGhpcy5pbWFnZUVudHJ5LndpZHRoLFxuICAgICAgICAgICAgaGVpZ2h0OiB0aGlzLmltYWdlRW50cnkuaGVpZ2h0LFxuICAgICAgICAgICAgdGh1bWJVcmwsXG4gICAgICAgICAgICBvcmlnaW5VcmwsXG4gICAgICAgICAgICBhbGlnbjogdGhpcy5pbWFnZUVudHJ5LmFsaWduIHx8IEFsaWdubWVudC5jZW50ZXJcbiAgICAgICAgfTtcbiAgICAgICAgSGlzdG9yeUVkaXRvci53aXRob3V0U2F2aW5nKHRoaXMuZWRpdG9yLCAoKSA9PlxuICAgICAgICAgICAgVHJhbnNmb3Jtcy5zZXROb2RlcyhcbiAgICAgICAgICAgICAgICB0aGlzLmVkaXRvcixcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIHR5cGU6IEVsZW1lbnRLaW5kcy5pbWFnZSxcbiAgICAgICAgICAgICAgICAgICAgdXJsOiBudWxsLFxuICAgICAgICAgICAgICAgICAgICAuLi5pbWFnZUluZm9cbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIHsgYXQ6IHBhdGggfVxuICAgICAgICAgICAgKVxuICAgICAgICApO1xuICAgIH1cblxuICAgIHByaXZhdGUgcmVzb2x2ZUltYWdlU2l6ZShpbWFnZUZpbGU6IEZpbGUsIG1heFNpemU6IG51bWJlcik6IFByb21pc2U8eyBoZWlnaHQ6IG51bWJlcjsgd2lkdGg6IG51bWJlciB9PiB7XG4gICAgICAgIGNvbnN0IGltYWdlID0gbmV3IEltYWdlKCk7XG4gICAgICAgIHJldHVybiBuZXcgUHJvbWlzZShyZXNvbHZlID0+IHtcbiAgICAgICAgICAgIGltYWdlLm9ubG9hZCA9ICgpID0+IHtcbiAgICAgICAgICAgICAgICBjb25zdCBpbWFnZUhlaWdodCA9IGltYWdlLmhlaWdodDtcbiAgICAgICAgICAgICAgICBjb25zdCBpbWFnZVdpZHRoID0gaW1hZ2Uud2lkdGg7XG4gICAgICAgICAgICAgICAgY29uc3QgcmF0aW8gPSBpbWFnZVdpZHRoID4gbWF4U2l6ZSA/IGltYWdlV2lkdGggLyBtYXhTaXplIDogZmFsc2U7XG4gICAgICAgICAgICAgICAgY29uc3QgaGVpZ2h0ID0gcmF0aW8gPyBpbWFnZUhlaWdodCAvIHJhdGlvIDogaW1hZ2VIZWlnaHQ7XG4gICAgICAgICAgICAgICAgY29uc3Qgd2lkdGggPSByYXRpbyA/IGltYWdlV2lkdGggLyByYXRpbyA6IGltYWdlV2lkdGg7XG4gICAgICAgICAgICAgICAgcmVzb2x2ZSh7IGhlaWdodCwgd2lkdGggfSk7XG4gICAgICAgICAgICB9O1xuICAgICAgICAgICAgaW1hZ2Uuc3JjID0gVVJMLmNyZWF0ZU9iamVjdFVSTChpbWFnZUZpbGUpO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBzdGFydERyYWcoZXZlbnQ6IE1vdXNlRXZlbnQsIGF4aXM6IHN0cmluZykge1xuICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICB0aGlzLmRyYWdhYmxlID0gdHJ1ZTtcbiAgICAgICAgY29uc3QgaW1nRWxlbWVudCA9IHRoaXMuaW1nLm5hdGl2ZUVsZW1lbnQgYXMgSFRNTEltYWdlRWxlbWVudDtcbiAgICAgICAgY29uc3Qgb3B0aW9ucyA9IHtcbiAgICAgICAgICAgIGF4aXMsXG4gICAgICAgICAgICBwcmludGVyUG9zaXRpb25YOiBldmVudC5wYWdlWCxcbiAgICAgICAgICAgIHByaW50ZXJQb3NpdGlvblk6IGV2ZW50LnBhZ2VZLFxuICAgICAgICAgICAgaW50ZXJuYWxXaWR0aDogaW1nRWxlbWVudC53aWR0aCB8fCB0aGlzLmltYWdlRW50cnkud2lkdGgsXG4gICAgICAgICAgICBpbnRlcm5hbEhlaWdodDogaW1nRWxlbWVudC5oZWlnaHQgfHwgdGhpcy5pbWFnZUVudHJ5LmhlaWdodCxcbiAgICAgICAgICAgIG1heFdpZHRoOiB0aGlzLnRoZUNvbnRleHRTZXJ2aWNlLmdldE9wdGlvbnMoKS53aWR0aFxuICAgICAgICB9O1xuICAgICAgICB0aGlzLm1vdXNlTW92ZVN1YnNjcmlwdGlvbiA9IHRoaXMudGhlQ29udGV4dFNlcnZpY2Uub25Nb3VzZU1vdmUkLnN1YnNjcmliZShlID0+IHRoaXMubW91c2VNb3ZlSGFuZGxlKGUsIG9wdGlvbnMpKTtcbiAgICB9XG5cbiAgICBtb3VzZU1vdmVIYW5kbGUoXG4gICAgICAgIGV2ZW50OiBNb3VzZUV2ZW50LFxuICAgICAgICBvcHRpb25zOiB7XG4gICAgICAgICAgICBheGlzOiBzdHJpbmc7XG4gICAgICAgICAgICBwcmludGVyUG9zaXRpb25YOiBudW1iZXI7XG4gICAgICAgICAgICBwcmludGVyUG9zaXRpb25ZOiBudW1iZXI7XG4gICAgICAgICAgICBpbnRlcm5hbFdpZHRoOiBudW1iZXI7XG4gICAgICAgICAgICBpbnRlcm5hbEhlaWdodDogbnVtYmVyO1xuICAgICAgICAgICAgbWF4V2lkdGg6IG51bWJlcjtcbiAgICAgICAgfVxuICAgICkge1xuICAgICAgICBpZiAodGhpcy5kcmFnYWJsZSkge1xuICAgICAgICAgICAgY29uc3QgeyBheGlzLCBwcmludGVyUG9zaXRpb25YLCBwcmludGVyUG9zaXRpb25ZLCBpbnRlcm5hbFdpZHRoLCBpbnRlcm5hbEhlaWdodCwgbWF4V2lkdGggfSA9IG9wdGlvbnM7XG4gICAgICAgICAgICBjb25zdCBpc1JldmVyc2FsID0gYXhpcy5pbmNsdWRlcygnLScpO1xuXG4gICAgICAgICAgICBsZXQgb2Zmc2V0WCA9IGV2ZW50LnBhZ2VYIC0gcHJpbnRlclBvc2l0aW9uWDtcbiAgICAgICAgICAgIGxldCBvZmZzZXRZID0gZXZlbnQucGFnZVkgLSBwcmludGVyUG9zaXRpb25ZO1xuICAgICAgICAgICAgbGV0IHsgd2lkdGgsIGhlaWdodCB9ID0gdGhpcy5lbGVtZW50O1xuXG4gICAgICAgICAgICBpZiAoaXNSZXZlcnNhbCkge1xuICAgICAgICAgICAgICAgIG9mZnNldFggPSAtb2Zmc2V0WDtcbiAgICAgICAgICAgICAgICBvZmZzZXRZID0gLW9mZnNldFk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAodGhpcy5lbGVtZW50LmFsaWduID09PSAnY2VudGVyJykge1xuICAgICAgICAgICAgICAgIG9mZnNldFggPSBvZmZzZXRYICogMjtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaWYgKGF4aXMuaW5jbHVkZXMoJ3gnKSkge1xuICAgICAgICAgICAgICAgIHdpZHRoID0gb2Zmc2V0WCArIGludGVybmFsV2lkdGg7XG4gICAgICAgICAgICAgICAgaWYgKHdpZHRoID49IG1heFdpZHRoKSB7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoID0gbWF4V2lkdGg7XG5cbiAgICAgICAgICAgICAgICAgICAgLy8gY2xlYXIgYGxheW91dGAgd2hlbiB0aGUgaW1hZ2UgaXMgYWRqdXN0ZWQgdG8gdGhlIG1heGltdW0gdmFsdWUgdW5kZXIgcmljaCBtZWRpYVxuICAgICAgICAgICAgICAgICAgICBpZiAodGhpcy5pbWFnZUVudHJ5Py5sYXlvdXQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHBhdGggPSBUaGVRdWVyaWVzLmZpbmRQYXRoKHRoaXMuZWRpdG9yLCB0aGlzLmVsZW1lbnQpO1xuICAgICAgICAgICAgICAgICAgICAgICAgSW1hZ2VFZGl0b3Iuc2V0SW1hZ2VOb2RlKHRoaXMuZWRpdG9yLCBwYXRoLCB7IGxheW91dDogdW5kZWZpbmVkIH0pO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGlmICh3aWR0aCA8PSAxMDApIHtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGggPSAxMDA7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGlmIChheGlzLmluY2x1ZGVzKCdsJykpIHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgcmF0aW8gPSBpbnRlcm5hbFdpZHRoIC8gd2lkdGg7XG4gICAgICAgICAgICAgICAgICAgIGhlaWdodCA9IGludGVybmFsSGVpZ2h0IC8gcmF0aW87XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSBlbHNlIGlmIChheGlzLmluY2x1ZGVzKCd5JykpIHtcbiAgICAgICAgICAgICAgICBoZWlnaHQgPSBvZmZzZXRZICsgaW50ZXJuYWxIZWlnaHQ7XG4gICAgICAgICAgICAgICAgaWYgKGhlaWdodCA+PSAxMDAwKSB7XG4gICAgICAgICAgICAgICAgICAgIGhlaWdodCA9IDEwMDA7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGlmIChoZWlnaHQgPD0gMTAwKSB7XG4gICAgICAgICAgICAgICAgICAgIGhlaWdodCA9IDEwMDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaWYgKGF4aXMuaW5jbHVkZXMoJ2wnKSkge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCByYXRpbyA9IGludGVybmFsSGVpZ2h0IC8gaGVpZ2h0O1xuICAgICAgICAgICAgICAgICAgICB3aWR0aCA9IGludGVybmFsV2lkdGggLyByYXRpbztcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGlmICghdGhpcy5pbWFnZUVudHJ5LnJlU2l6ZWQgJiYgdGhpcy5pbWFnZUVudHJ5LndpZHRoICE9PSB3aWR0aCkge1xuICAgICAgICAgICAgICAgIHRoaXMuaW1hZ2VFbnRyeS5yZVNpemVkID0gdHJ1ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHRoaXMuaW1hZ2VDb250ZW50Lm5hdGl2ZUVsZW1lbnQuc3R5bGUud2lkdGggPSB3aWR0aCArICdweCc7XG4gICAgICAgICAgICB0aGlzLmltYWdlQ29udGVudC5uYXRpdmVFbGVtZW50LnN0eWxlLmhlaWdodCA9IGhlaWdodCArICdweCc7XG4gICAgICAgICAgICB0aGlzLmltYWdlRW50cnkud2lkdGggPSB3aWR0aDtcbiAgICAgICAgICAgIHRoaXMuaW1hZ2VFbnRyeS5oZWlnaHQgPSBoZWlnaHQ7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBlbmREcmFnKGV2ZW50OiBNb3VzZUV2ZW50KSB7XG4gICAgICAgIGlmICh0aGlzLmRyYWdhYmxlKSB7XG4gICAgICAgICAgICB0aGlzLmRyYWdhYmxlID0gZmFsc2U7XG4gICAgICAgICAgICB0aGlzLm1vdXNlTW92ZVN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xuICAgICAgICAgICAgVHJhbnNmb3Jtcy5zZXROb2RlcyhcbiAgICAgICAgICAgICAgICB0aGlzLmVkaXRvcixcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIHR5cGU6IEVsZW1lbnRLaW5kcy5pbWFnZSxcbiAgICAgICAgICAgICAgICAgICAgLi4udGhpcy5pbWFnZUVudHJ5XG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB7IGF0OiB0aGlzLnNlbGVjdGlvbiB9XG4gICAgICAgICAgICApO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgY2FuY2VsVXBsb2FkKGV2ZW50KSB7XG4gICAgICAgIFRyYW5zZm9ybXMucmVtb3ZlTm9kZXModGhpcy5lZGl0b3IsIHsgYXQ6IHRoaXMuc2VsZWN0aW9uIH0pO1xuICAgIH1cblxuICAgIHByZXZpZXcoJGV2ZW50OiBFdmVudCkge1xuICAgICAgICBpZiAodGhpcy5yZWFkb25seSB8fCB0aGlzLmlzQ29sbGFwc2VkKSB7XG4gICAgICAgICAgICAkLmZhbmN5Ym94Lm9wZW4oW3sgc3JjOiB0aGlzLmltYWdlRW50cnkub3JpZ2luVXJsIH1dKTtcbiAgICAgICAgfVxuICAgICAgICAkZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgfVxuXG4gICAgaXNTaG91bGRPcGVuKCkge1xuICAgICAgICBjb25zdCB7XG4gICAgICAgICAgICB0aGVPcHRpb25zOiB7IHJpY2hNZWRpYSB9XG4gICAgICAgIH0gPSB0aGlzLnRoZUNvbnRleHRTZXJ2aWNlLmdldE9wdGlvbnMoKTtcbiAgICAgICAgcmV0dXJuICF0aGlzPy5yZWFkb25seSAmJiByaWNoTWVkaWEgJiYgdGhpcz8uaXNDb2xsYXBzZWQgJiYgIXRoaXMudXBsb2FkaW5nICYmICF0aGlzLmlzT3BlbjtcbiAgICB9XG5cbiAgICBpc1Nob3VsZENsb3NlKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5pc09wZW4gJiYgKHRoaXM/LnJlYWRvbmx5IHx8ICF0aGlzPy5pc0NvbGxhcHNlZCB8fCB0aGlzLnVwbG9hZGluZyk7XG4gICAgfVxuXG4gICAgb3BlbkxheW91dFRvb2xiYXIoKSB7XG4gICAgICAgIHRoaXMubGF5b3V0VG9vbGJhclJlZiA9IHRoaXMudGh5UG9wb3Zlci5vcGVuKHRoaXMubGF5b3V0VG9vbGJhciwge1xuICAgICAgICAgICAgb3JpZ2luOiB0aGlzLmltYWdlQ29udGVudCxcbiAgICAgICAgICAgIHBhbmVsQ2xhc3M6IFsndGhlLWJsb2NrLXRvb2xiYXInXSxcbiAgICAgICAgICAgIHBsYWNlbWVudDogJ2JvdHRvbScsXG4gICAgICAgICAgICBpbnNpZGVDbG9zYWJsZTogZmFsc2UsXG4gICAgICAgICAgICBiYWNrZHJvcENsb3NhYmxlOiB0cnVlLFxuICAgICAgICAgICAgaGFzQmFja2Ryb3A6IGZhbHNlLFxuICAgICAgICAgICAgb2Zmc2V0OiAxMCxcbiAgICAgICAgICAgIG1pbldpZHRoOiAwLFxuICAgICAgICAgICAgdmlld0NvbnRhaW5lclJlZjogdGhpcy52aWV3Q29udGFpbmVyUmVmLFxuICAgICAgICAgICAgc2Nyb2xsU3RyYXRlZ3k6IHRoaXMub3ZlcmxheS5zY3JvbGxTdHJhdGVnaWVzLnJlcG9zaXRpb24oKVxuICAgICAgICB9KTtcbiAgICAgICAgdGhpcy5sYXlvdXRUb29sYmFyUmVmPy5nZXRPdmVybGF5UmVmKCkudXBkYXRlUG9zaXRpb25TdHJhdGVneSh0aGlzLmNyZWF0ZVBvc2l0aW9uU3RyYXRlZ3koKSk7XG5cbiAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICB0aGlzLmxheW91dFRvb2xiYXJSZWY/LmdldE92ZXJsYXlSZWYoKS51cGRhdGVQb3NpdGlvbigpO1xuICAgICAgICB9LCAxNTApO1xuICAgIH1cblxuICAgIGNsb3NlTGF5b3V0VG9vbGJhcigpIHtcbiAgICAgICAgdGhpcy5sYXlvdXRUb29sYmFyUmVmPy5jbG9zZSgpO1xuICAgIH1cblxuICAgIGxheW91dEFjdGl2ZShrZXk6IEFsaWdubWVudCB8IExheW91dFR5cGVzKSB7XG4gICAgICAgIGNvbnN0IHsgbGF5b3V0LCBhbGlnbiB9ID0gdGhpcy5pbWFnZUVudHJ5O1xuICAgICAgICByZXR1cm4ga2V5ICYmICgoa2V5ID09PSBhbGlnbiAmJiAhbGF5b3V0KSB8fCBrZXkgPT09IGxheW91dCk7XG4gICAgfVxuXG4gICAgc2V0SW1hZ2VOb2RlKGU6IE1vdXNlRXZlbnQsIHBhcnRpYWw6IHsgbGF5b3V0PzogTGF5b3V0VHlwZXM7IGFsaWduPzogQWxpZ25tZW50IH0pIHtcbiAgICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICBjb25zdCBwYXRoID0gVGhlUXVlcmllcy5maW5kUGF0aCh0aGlzLmVkaXRvciwgdGhpcy5lbGVtZW50KTtcbiAgICAgICAgSW1hZ2VFZGl0b3Iuc2V0SW1hZ2VOb2RlKHRoaXMuZWRpdG9yLCBwYXRoLCBwYXJ0aWFsKTtcbiAgICB9XG5cbiAgICBzZXRCbG9ja0NhcmRMYXlvdXRBdHRyKCkge1xuICAgICAgICBQcm9taXNlLnJlc29sdmUoKS50aGVuKCgpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IGN1cnJlbnRFbGVtZW50ID0gQW5ndWxhckVkaXRvci50b0RPTU5vZGUodGhpcy5lZGl0b3IsIHRoaXMuZWxlbWVudCk7XG4gICAgICAgICAgICBjb25zdCBibG9ja0NhcmQgPSBjdXJyZW50RWxlbWVudC5jbG9zZXN0KCcuc2xhdGUtYmxvY2stY2FyZCcpO1xuICAgICAgICAgICAgY29uc3QgeyBsYXlvdXQgfSA9IHRoaXMuZWxlbWVudDtcblxuICAgICAgICAgICAgaWYgKGJsb2NrQ2FyZCAmJiBsYXlvdXQpIHtcbiAgICAgICAgICAgICAgICBibG9ja0NhcmQuc2V0QXR0cmlidXRlKCdsYXlvdXQnLCBsYXlvdXQpO1xuICAgICAgICAgICAgfSBlbHNlIGlmIChibG9ja0NhcmQgJiYgIWxheW91dCkge1xuICAgICAgICAgICAgICAgIGJsb2NrQ2FyZC5yZW1vdmVBdHRyaWJ1dGUoJ2xheW91dCcpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgdGhpcy5sYXlvdXRUb29sYmFyUmVmPy5nZXRPdmVybGF5UmVmKCkudXBkYXRlUG9zaXRpb24oKTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgb25EZWxldGUoZXZlbnQ6IE1vdXNlRXZlbnQpIHtcbiAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgVGhlVHJhbnNmb3Jtcy5kZWxldGVFbGVtZW50KHRoaXMuZWRpdG9yLCB0aGlzLmVsZW1lbnQpO1xuICAgIH1cblxuICAgIGNyZWF0ZVBvc2l0aW9uU3RyYXRlZ3koKSB7XG4gICAgICAgIGNvbnN0IGJvdHRvbVBvc2l0aW9uOiBDb25uZWN0ZWRQb3NpdGlvbiA9IHtcbiAgICAgICAgICAgIG9yaWdpblg6ICdjZW50ZXInLFxuICAgICAgICAgICAgb3JpZ2luWTogJ2JvdHRvbScsXG4gICAgICAgICAgICBvdmVybGF5WDogJ2NlbnRlcicsXG4gICAgICAgICAgICBvdmVybGF5WTogJ3RvcCcsXG4gICAgICAgICAgICBvZmZzZXRYOiAwLFxuICAgICAgICAgICAgb2Zmc2V0WTogMTBcbiAgICAgICAgfTtcbiAgICAgICAgcmV0dXJuIHRoaXMub3ZlcmxheVxuICAgICAgICAgICAgLnBvc2l0aW9uKClcbiAgICAgICAgICAgIC5mbGV4aWJsZUNvbm5lY3RlZFRvKHRoaXMuaW1hZ2VDb250ZW50KVxuICAgICAgICAgICAgLndpdGhGbGV4aWJsZURpbWVuc2lvbnMoZmFsc2UpXG4gICAgICAgICAgICAud2l0aEdyb3dBZnRlck9wZW4oZmFsc2UpXG4gICAgICAgICAgICAud2l0aFB1c2goZmFsc2UpXG4gICAgICAgICAgICAud2l0aFBvc2l0aW9ucyhbYm90dG9tUG9zaXRpb25dKTtcbiAgICB9XG59XG4iLCI8c2xhdGUtY2hpbGRyZW4gW2NoaWxkcmVuXT1cImNoaWxkcmVuXCIgW2NvbnRleHRdPVwiY2hpbGRyZW5Db250ZXh0XCIgW3ZpZXdDb250ZXh0XT1cInZpZXdDb250ZXh0XCI+PC9zbGF0ZS1jaGlsZHJlbj5cblxuPGRpdiBjbGFzcz1cImltYWdlLWNvbnRhaW5lclwiIGNvbnRlbnRlZGl0YWJsZT1cImZhbHNlXCIgW3N0eWxlLnRleHRBbGlnbl09XCJpbWFnZUVudHJ5LmFsaWduXCI+XG4gICAgPGRpdlxuICAgICAgICAjaW1hZ2VDb250ZW50XG4gICAgICAgICpuZ0lmPVwiaW1hZ2VFbnRyeS50aHVtYlVybFwiXG4gICAgICAgIGNsYXNzPVwiaW1hZ2UtY29udGVudFwiXG4gICAgICAgIFtjbGFzcy5wb2ludGVyXT1cIiFzZWxlY3Rpb25cIlxuICAgICAgICBbbmdTdHlsZV09XCJ7XG4gICAgICAgICAgICAnd2lkdGgucHgnOlxuICAgICAgICAgICAgICAgIGltYWdlRW50cnk/LmxheW91dCAmJiBpbWFnZUVudHJ5Py53aWR0aCA+IGxheW91dERlZmF1bHRXaWR0aCAmJiAhaW1hZ2VFbnRyeT8ucmVTaXplZFxuICAgICAgICAgICAgICAgICAgICA/IGxheW91dERlZmF1bHRXaWR0aFxuICAgICAgICAgICAgICAgICAgICA6IGltYWdlRW50cnkud2lkdGgsXG4gICAgICAgICAgICAnaGVpZ2h0LnB4JzogaW1hZ2VFbnRyeS5oZWlnaHRcbiAgICAgICAgfVwiXG4gICAgPlxuICAgICAgICA8aW1nICNpbWcgY2xhc3M9XCJtYWluLWltYWdlXCIgW3NyY109XCJpbWFnZUVudHJ5LnRodW1iVXJsXCIgW2FsdF09XCJpbWFnZUVudHJ5Lm5hbWVcIiAvPlxuICAgICAgICA8ZGl2ICpuZ0lmPVwic2VsZWN0aW9uXCIgY2xhc3M9XCJpbWFnZS1wcm9maWxlXCIgW2NsYXNzLm91dGxpbmVdPVwic2VsZWN0aW9uXCI+XG4gICAgICAgICAgICA8c3BhbiAqbmdJZj1cImlzQ29sbGFwc2VkXCIgKG1vdXNlZG93bik9XCJzdGFydERyYWcoJGV2ZW50LCAnLXhsJylcIiBjbGFzcz1cImltYWdlLXBvaW50ZXIgbGVmdCB0b3BcIj48L3NwYW4+XG4gICAgICAgICAgICA8c3BhbiAqbmdJZj1cImlzQ29sbGFwc2VkXCIgKG1vdXNlZG93bik9XCJzdGFydERyYWcoJGV2ZW50LCAneGwnKVwiIGNsYXNzPVwiaW1hZ2UtcG9pbnRlciByaWdodCB0b3BcIj48L3NwYW4+XG4gICAgICAgICAgICA8c3BhbiAqbmdJZj1cImlzQ29sbGFwc2VkXCIgKG1vdXNlZG93bik9XCJzdGFydERyYWcoJGV2ZW50LCAneGwnKVwiIGNsYXNzPVwiaW1hZ2UtcG9pbnRlciByaWdodCBib3R0b21cIj48L3NwYW4+XG4gICAgICAgICAgICA8c3BhbiAqbmdJZj1cImlzQ29sbGFwc2VkXCIgKG1vdXNlZG93bik9XCJzdGFydERyYWcoJGV2ZW50LCAnLXhsJylcIiBjbGFzcz1cImltYWdlLXBvaW50ZXIgbGVmdCBib3R0b21cIj48L3NwYW4+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2ICpuZ0lmPVwidXBsb2FkaW5nXCIgY2xhc3M9XCJ1cGxvYWRpbmdcIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ1cGxvYWRpbmctcGVyY2VudGFnZVwiPlxuICAgICAgICAgICAgICAgIDx0aHktcHJvZ3Jlc3MgdGh5VHlwZT1cInByaW1hcnlcIiBbdGh5VmFsdWVdPVwicGVyY2VudGFnZVwiIHRoeVNpemU9XCJzbVwiPjwvdGh5LXByb2dyZXNzPlxuICAgICAgICAgICAgICAgIDx0aHktaWNvbiAoY2xpY2spPVwiY2FuY2VsVXBsb2FkKCRldmVudClcIiB0aHlJY29uTmFtZT1cImNsb3NlLWNpcmNsZS1ib2xkLWZpbGxcIiB0aHlJY29uTGVnZ2luZz1cInRydWVcIj48L3RoeS1pY29uPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2ICpuZ0lmPVwiIXVwbG9hZGluZ1wiIGNsYXNzPVwibGF5ZXJcIiAobW91c2Vkb3duKT1cInByZXZpZXcoJGV2ZW50KVwiIFtjbGFzcy5yZWFkb25seV09XCJyZWFkb25seVwiPjwvZGl2PlxuICAgIDwvZGl2PlxuICAgIDxkaXYgKm5nSWY9XCIhaW1hZ2VFbnRyeS50aHVtYlVybFwiIGNsYXNzPVwiaW1hZ2UtbG9hZGluZ1wiIGNvbnRlbnRlZGl0YWJsZT1cImZhbHNlXCI+XG4gICAgICAgIDx0aHktaWNvbiB0aHlJY29uTmFtZT1cImltYWdlXCI+PC90aHktaWNvbj5cbiAgICA8L2Rpdj5cbjwvZGl2PlxuXG48bmctdGVtcGxhdGUgI2xheW91dFRvb2xiYXI+XG4gICAgPGRpdiBjbGFzcz1cInRoZS1ibG9jay10b29sYmFyLXBvcG92ZXJcIiBjb250ZW50ZWRpdGFibGU9XCJmYWxzZVwiPlxuICAgICAgICA8dGh5LWljb24tbmF2PlxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgaXRlbSBvZiBsYXlvdXRPcHRpb25zXCI+XG4gICAgICAgICAgICAgICAgPGFcbiAgICAgICAgICAgICAgICAgICAgKm5nSWY9XCJpdGVtLmtleSAhPT0gJ3NwbGl0J1wiXG4gICAgICAgICAgICAgICAgICAgIGhyZWY9XCJqYXZhc2NyaXB0OjtcIlxuICAgICAgICAgICAgICAgICAgICB0aHlJY29uTmF2TGlua1xuICAgICAgICAgICAgICAgICAgICBbbmdDbGFzc109XCJ7ICdyZW1vdmUtbGluayc6IGl0ZW0ua2V5ID09PSAncmVtb3ZlJyB9XCJcbiAgICAgICAgICAgICAgICAgICAgW3RoeUljb25OYXZMaW5rSWNvbl09XCJpdGVtLmljb25cIlxuICAgICAgICAgICAgICAgICAgICBbdGh5VG9vbHRpcF09XCJpdGVtLm5hbWVcIlxuICAgICAgICAgICAgICAgICAgICBbdGh5SWNvbk5hdkxpbmtBY3RpdmVdPVwibGF5b3V0QWN0aXZlKGl0ZW0ua2V5KVwiXG4gICAgICAgICAgICAgICAgICAgIHRoeVRvb2x0aXBQbGFjZW1lbnQ9XCJ0b3BcIlxuICAgICAgICAgICAgICAgICAgICAobW91c2Vkb3duKT1cIml0ZW0/LmhhbmRsZSgkZXZlbnQsIGl0ZW0ua2V5KVwiXG4gICAgICAgICAgICAgICAgPjwvYT5cbiAgICAgICAgICAgICAgICA8bmF2LXNwbGl0LWxpbmUgKm5nSWY9XCJpdGVtLmtleSA9PT0gJ3NwbGl0J1wiPjwvbmF2LXNwbGl0LWxpbmU+XG4gICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPC90aHktaWNvbi1uYXY+XG4gICAgPC9kaXY+XG48L25nLXRlbXBsYXRlPlxuIl19
395
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW1hZ2UuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvc3JjL3BsdWdpbnMvaW1hZ2UvaW1hZ2UuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvc3JjL3BsdWdpbnMvaW1hZ2UvaW1hZ2UuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFDSCxTQUFTLEVBR1QsU0FBUyxFQUVULE1BQU0sRUFLVCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsYUFBYSxFQUE0QyxNQUFNLGVBQWUsQ0FBQztBQUV4RixPQUFPLEVBQWMsd0JBQXdCLEVBQXlDLE1BQU0sd0JBQXdCLENBQUM7QUFDckgsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsV0FBVyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDdEcsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM5QyxPQUFPLEVBQUUsVUFBVSxFQUFtQixNQUFNLE9BQU8sQ0FBQztBQUVwRCxPQUFPLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDckMsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBSXRELE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBRTNELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM3QyxPQUFPLEtBQUssYUFBYSxNQUFNLGtCQUFrQixDQUFDO0FBQ2xELE9BQU8sS0FBSyxVQUFVLE1BQU0sZUFBZSxDQUFDO0FBRTVDLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLG1DQUFtQyxDQUFDOzs7Ozs7Ozs7Ozs7OztBQVF0RSxNQUFNLE9BQU8saUJBQ1QsU0FBUSx1QkFBNkM7SUE4RXJELFlBQ1csVUFBc0IsRUFDdEIsU0FBdUIsRUFF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Qiw4WEN0QzlCLGs0RkF3REE7NEZEbEJhLGlCQUFpQjtrQkFKN0IsU0FBUzttQkFBQztvQkFDUCxRQUFRLEVBQUUsdUJBQXVCO29CQUNqQyxXQUFXLEVBQUUsd0JBQXdCO2lCQUN4Qzs7MEJBbUZRLE1BQU07MkJBQUMsd0JBQXdCO3dOQVhwQyxZQUFZO3NCQURYLFNBQVM7dUJBQUMsY0FBYztnQkFJekIsR0FBRztzQkFERixTQUFTO3VCQUFDLEtBQUssRUFBRSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUU7Z0JBSW5DLGFBQWE7c0JBRFosU0FBUzt1QkFBQyxlQUFlLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBDb21wb25lbnQsXG4gICAgT25Jbml0LFxuICAgIEVsZW1lbnRSZWYsXG4gICAgVmlld0NoaWxkLFxuICAgIE9uRGVzdHJveSxcbiAgICBJbmplY3QsXG4gICAgQWZ0ZXJWaWV3SW5pdCxcbiAgICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICBUZW1wbGF0ZVJlZixcbiAgICBWaWV3Q29udGFpbmVyUmVmXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQW5ndWxhckVkaXRvciwgQmVmb3JlQ29udGV4dENoYW5nZSwgU2xhdGVFbGVtZW50Q29udGV4dCB9IGZyb20gJ3NsYXRlLWFuZ3VsYXInO1xuaW1wb3J0IHsgRG9tU2FuaXRpemVyIH0gZnJvbSAnQGFuZ3VsYXIvcGxhdGZvcm0tYnJvd3Nlcic7XG5pbXBvcnQgeyBJbWFnZUVudHJ5LCBUSEVfVVBMT0FEX1NFUlZJQ0VfVE9LRU4sIFRoZUltYWdlVXBsb2FkZXJTZXJ2aWNlLCBMYXlvdXRPcHRpb24gfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzL2ltYWdlJztcbmltcG9ydCB7IEFsaWdubWVudCwgRWxlbWVudEtpbmRzLCBMYXlvdXRUeXBlcywgVG9vbGJhckFjdGlvblR5cGVzIH0gZnJvbSAnLi4vLi4vY29uc3RhbnRzL25vZGUtdHlwZXMnO1xuaW1wb3J0IHsgSGlzdG9yeUVkaXRvciB9IGZyb20gJ3NsYXRlLWhpc3RvcnknO1xuaW1wb3J0IHsgVHJhbnNmb3JtcywgRWRpdG9yLCBFbGVtZW50IH0gZnJvbSAnc2xhdGUnO1xuaW1wb3J0IHsgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcy9pbnRlcm5hbC9TdWJzY3JpcHRpb24nO1xuaW1wb3J0IHsgbWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgVGh5VXBsb2FkU3RhdHVzIH0gZnJvbSAnbmd4LXRldGh5cy91cGxvYWRlcic7XG5pbXBvcnQgeyBUaHlQb3BvdmVyLCBUaHlQb3BvdmVyUmVmIH0gZnJvbSAnbmd4LXRldGh5cy9wb3BvdmVyJztcbmltcG9ydCB7IENvbm5lY3RlZFBvc2l0aW9uLCBPdmVybGF5IH0gZnJvbSAnQGFuZ3VsYXIvY2RrL292ZXJsYXknO1xuaW1wb3J0IHsgVGhlQ29udGV4dFNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9jb250ZXh0LnNlcnZpY2UnO1xuaW1wb3J0IHsgVGhlQmFzZUVsZW1lbnRDb21wb25lbnQgfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzJztcbmltcG9ydCB7IEltYWdlRWxlbWVudCB9IGZyb20gJy4uLy4uL2N1c3RvbS10eXBlcyc7XG5pbXBvcnQgeyBJbWFnZUVkaXRvciB9IGZyb20gJy4vaW1hZ2UuZWRpdG9yJztcbmltcG9ydCAqIGFzIFRoZVRyYW5zZm9ybXMgZnJvbSAnLi4vLi4vdHJhbnNmb3Jtcyc7XG5pbXBvcnQgKiBhcyBUaGVRdWVyaWVzIGZyb20gJy4uLy4uL3F1ZXJpZXMnO1xuaW1wb3J0IHsgVGh5SW1hZ2VTZXJ2aWNlLCBUaHlJbWFnZUluZm8sIFRoeUltYWdlUHJldmlld09wdGlvbnMgfSBmcm9tICduZ3gtdGV0aHlzL2ltYWdlJztcbmltcG9ydCB7IGdldEFsbE5vZGVzQnlUeXBlIH0gZnJvbSAnLi4vLi4vdXRpbHMvZ2V0LWFsbC1ub2Rlcy1ieS10eXBlJztcblxuZGVjbGFyZSBjb25zdCAkOiBhbnk7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAndGhlLWltYWdlLCBbdGhlSW1hZ2VdJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vaW1hZ2UuY29tcG9uZW50Lmh0bWwnXG59KVxuZXhwb3J0IGNsYXNzIFRoZUltYWdlQ29tcG9uZW50XG4gICAgZXh0ZW5kcyBUaGVCYXNlRWxlbWVudENvbXBvbmVudDxJbWFnZUVsZW1lbnQsIEVkaXRvcj5cbiAgICBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95LCBBZnRlclZpZXdJbml0LCBCZWZvcmVDb250ZXh0Q2hhbmdlPFNsYXRlRWxlbWVudENvbnRleHQ+XG57XG4gICAgaW1hZ2VFbnRyeTogSW1hZ2VFbnRyeSA9IHt9O1xuXG4gICAgdXBsb2FkaW5nID0gZmFsc2U7XG5cbiAgICBwZXJjZW50YWdlID0gMDtcblxuICAgIGZpbGVJdGVtOiB7IHVybDogc3RyaW5nOyBmaWxlOiBGaWxlIH07XG5cbiAgICBsYXlvdXREZWZhdWx0V2lkdGggPSAzNjg7XG5cbiAgICBsYXlvdXRPcHRpb25zOiBMYXlvdXRPcHRpb25bXSA9IFtcbiAgICAgICAge1xuICAgICAgICAgICAga2V5OiBBbGlnbm1lbnQubGVmdCxcbiAgICAgICAgICAgIGljb246ICdpbWFnZS1sZWZ0JyxcbiAgICAgICAgICAgIG5hbWU6ICflt6blr7npvZAnLFxuICAgICAgICAgICAgaGFuZGxlOiAoZTogTW91c2VFdmVudCwga2V5OiBBbGlnbm1lbnQpID0+IHRoaXMuc2V0SW1hZ2VOb2RlKGUsIHsgYWxpZ246IGtleSwgbGF5b3V0OiB1bmRlZmluZWQgfSlcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgICAga2V5OiBBbGlnbm1lbnQuY2VudGVyLFxuICAgICAgICAgICAgaWNvbjogJ2ltYWdlLWNlbnRlcicsXG4gICAgICAgICAgICBuYW1lOiAn5bGF5LitJyxcbiAgICAgICAgICAgIGhhbmRsZTogKGU6IE1vdXNlRXZlbnQsIGtleTogQWxpZ25tZW50KSA9PiB0aGlzLnNldEltYWdlTm9kZShlLCB7IGFsaWduOiBrZXksIGxheW91dDogdW5kZWZpbmVkIH0pXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICAgIGtleTogQWxpZ25tZW50LnJpZ2h0LFxuICAgICAgICAgICAgaWNvbjogJ2ltYWdlLXJpZ2h0JyxcbiAgICAgICAgICAgIG5hbWU6ICflj7Plr7npvZAnLFxuICAgICAgICAgICAgaGFuZGxlOiAoZTogTW91c2VFdmVudCwga2V5OiBBbGlnbm1lbnQpID0+IHRoaXMuc2V0SW1hZ2VOb2RlKGUsIHsgYWxpZ246IGtleSwgbGF5b3V0OiB1bmRlZmluZWQgfSlcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgICAga2V5OiBUb29sYmFyQWN0aW9uVHlwZXMuc3BsaXRcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgICAga2V5OiBMYXlvdXRUeXBlcy53cmFwTGVmdCxcbiAgICAgICAgICAgIGljb246ICd3cmFwLWxlZnQnLFxuICAgICAgICAgICAgbmFtZTogJ+WbvueJh+WxheW3picsXG4gICAgICAgICAgICBoYW5kbGU6IChlOiBNb3VzZUV2ZW50LCBrZXk6IExheW91dFR5cGVzKSA9PiB0aGlzLnNldEltYWdlTm9kZShlLCB7IGxheW91dDoga2V5IH0pXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICAgIGtleTogTGF5b3V0VHlwZXMud3JhcFJpZ2h0LFxuICAgICAgICAgICAgaWNvbjogJ3dyYXAtcmlnaHQnLFxuICAgICAgICAgICAgbmFtZTogJ+WbvueJh+WxheWPsycsXG4gICAgICAgICAgICBoYW5kbGU6IChlOiBNb3VzZUV2ZW50LCBrZXk6IExheW91dFR5cGVzKSA9PiB0aGlzLnNldEltYWdlTm9kZShlLCB7IGxheW91dDoga2V5IH0pXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICAgIGtleTogJ3JlbW92ZScsXG4gICAgICAgICAgICBpY29uOiAndHJhc2gnLFxuICAgICAgICAgICAgbmFtZTogJ+WIoOmZpCcsXG4gICAgICAgICAgICBoYW5kbGU6IChlOiBNb3VzZUV2ZW50KSA9PiB0aGlzLm9uRGVsZXRlKGUpXG4gICAgICAgIH1cbiAgICBdO1xuXG4gICAgcHJpdmF0ZSB1cGxvYWRpbmdTdWJzY3JpcHRpb246IFN1YnNjcmlwdGlvbjtcblxuICAgIHByaXZhdGUgbW91c2VNb3ZlU3Vic2NyaXB0aW9uOiBTdWJzY3JpcHRpb247XG5cbiAgICBwcml2YXRlIG1vdXNlVXBTdWJzY3JpcHRpb246IFN1YnNjcmlwdGlvbjtcblxuICAgIHByaXZhdGUgZHJhZ2FibGUgPSBmYWxzZTtcblxuICAgIHByaXZhdGUgbGF5b3V0VG9vbGJhclJlZjogVGh5UG9wb3ZlclJlZjxhbnk+O1xuXG4gICAgZ2V0IGlzT3BlbigpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMubGF5b3V0VG9vbGJhclJlZiAmJiB0aGlzLmxheW91dFRvb2xiYXJSZWYuZ2V0T3ZlcmxheVJlZigpICYmIHRoaXMubGF5b3V0VG9vbGJhclJlZi5nZXRPdmVybGF5UmVmKCkuaGFzQXR0YWNoZWQoKTtcbiAgICB9XG5cbiAgICBAVmlld0NoaWxkKCdpbWFnZUNvbnRlbnQnKVxuICAgIGltYWdlQ29udGVudDogRWxlbWVudFJlZjtcblxuICAgIEBWaWV3Q2hpbGQoJ2ltZycsIHsgc3RhdGljOiBmYWxzZSB9KVxuICAgIGltZzogRWxlbWVudFJlZjtcblxuICAgIEBWaWV3Q2hpbGQoJ2xheW91dFRvb2xiYXInLCB7IHN0YXRpYzogdHJ1ZSB9KVxuICAgIGxheW91dFRvb2xiYXI6IFRlbXBsYXRlUmVmPGFueT47XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHVibGljIGVsZW1lbnRSZWY6IEVsZW1lbnRSZWYsXG4gICAgICAgIHB1YmxpYyBzYW5pdGl6ZXI6IERvbVNhbml0aXplcixcbiAgICAgICAgQEluamVjdChUSEVfVVBMT0FEX1NFUlZJQ0VfVE9LRU4pXG4gICAgICAgIHByaXZhdGUgaW1hZ2VVcGxvYWRlclNlcnZpY2U6IFRoZUltYWdlVXBsb2FkZXJTZXJ2aWNlLFxuICAgICAgICBwdWJsaWMgY2RyOiBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICAgICAgcHJpdmF0ZSB0aGVDb250ZXh0U2VydmljZTogVGhlQ29udGV4dFNlcnZpY2UsXG4gICAgICAgIHByaXZhdGUgdGh5UG9wb3ZlcjogVGh5UG9wb3ZlcixcbiAgICAgICAgcHJpdmF0ZSBvdmVybGF5OiBPdmVybGF5LFxuICAgICAgICBwcml2YXRlIHRoeUltYWdlU2VydmljZTogVGh5SW1hZ2VTZXJ2aWNlLFxuICAgICAgICBwcml2YXRlIHZpZXdDb250YWluZXJSZWY6IFZpZXdDb250YWluZXJSZWZcbiAgICApIHtcbiAgICAgICAgc3VwZXIoZWxlbWVudFJlZiwgY2RyKTtcbiAgICB9XG5cbiAgICBiZWZvcmVDb250ZXh0Q2hhbmdlID0gKHZhbHVlOiBTbGF0ZUVsZW1lbnRDb250ZXh0PEltYWdlRWxlbWVudD4pID0+IHtcbiAgICAgICAgaWYgKHZhbHVlLmVsZW1lbnQgIT09IHRoaXMuZWxlbWVudCAmJiB2YWx1ZS5lbGVtZW50LnRodW1iVXJsKSB7XG4gICAgICAgICAgICB0aGlzLmltYWdlRW50cnkgPSB7XG4gICAgICAgICAgICAgICAgbmFtZTogdmFsdWUuZWxlbWVudC5uYW1lLFxuICAgICAgICAgICAgICAgIHdpZHRoOiB2YWx1ZS5lbGVtZW50LndpZHRoLFxuICAgICAgICAgICAgICAgIGhlaWdodDogdmFsdWUuZWxlbWVudC5oZWlnaHQsXG4gICAgICAgICAgICAgICAgdGh1bWJVcmw6IHZhbHVlLmVsZW1lbnQudGh1bWJVcmwsXG4gICAgICAgICAgICAgICAgb3JpZ2luVXJsOiB2YWx1ZS5lbGVtZW50Lm9yaWdpblVybCxcbiAgICAgICAgICAgICAgICBhbGlnbjogdmFsdWUuZWxlbWVudC5hbGlnbiB8fCBBbGlnbm1lbnQubGVmdCxcbiAgICAgICAgICAgICAgICBsYXlvdXQ6IHZhbHVlLmVsZW1lbnQubGF5b3V0LFxuICAgICAgICAgICAgICAgIHJlU2l6ZWQ6IHZhbHVlLmVsZW1lbnQucmVTaXplZCB8fCBmYWxzZVxuICAgICAgICAgICAgfTtcbiAgICAgICAgICAgIHRoaXMuc2V0QmxvY2tDYXJkTGF5b3V0QXR0cigpO1xuICAgICAgICB9XG4gICAgfTtcblxuICAgIG5nT25Jbml0KCkge1xuICAgICAgICB0aGlzLmxheW91dERlZmF1bHRXaWR0aCA9IHRoaXMudGhlQ29udGV4dFNlcnZpY2UubGF5b3V0RGVmYXVsdFdpZHRoKCk7XG4gICAgICAgIHRoaXMuZmlsZUl0ZW0gPSB0aGlzLnRoZUNvbnRleHRTZXJ2aWNlLnVwbG9hZGluZ0ZpbGVzLmZpbmQoaXRlbSA9PiBpdGVtLnVybCA9PT0gdGhpcy5lbGVtZW50LnVybCk7XG4gICAgICAgIGlmICh0aGlzLmZpbGVJdGVtPy5maWxlICYmIHRoaXMuZmlsZUl0ZW0uZmlsZSBpbnN0YW5jZW9mIEZpbGUpIHtcbiAgICAgICAgICAgIHRoaXMudXBsb2FkSW1hZ2UodGhpcy5maWxlSXRlbS5maWxlKTtcbiAgICAgICAgfVxuICAgICAgICBzdXBlci5uZ09uSW5pdCgpO1xuICAgIH1cblxuICAgIG9uQ29udGV4dENoYW5nZSgpIHtcbiAgICAgICAgc3VwZXIub25Db250ZXh0Q2hhbmdlKCk7XG4gICAgICAgIGlmICh0aGlzLmluaXRpYWxpemVkKSB7XG4gICAgICAgICAgICBpZiAodGhpcy5pc1Nob3VsZE9wZW4oKSkge1xuICAgICAgICAgICAgICAgIHRoaXMub3BlbkxheW91dFRvb2xiYXIoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmICh0aGlzLmlzU2hvdWxkQ2xvc2UoKSkge1xuICAgICAgICAgICAgICAgIHRoaXMuY2xvc2VMYXlvdXRUb29sYmFyKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBuZ09uRGVzdHJveSgpIHtcbiAgICAgICAgdGhpcy51cGxvYWRpbmdTdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcbiAgICAgICAgdGhpcy5tb3VzZVVwU3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XG4gICAgICAgIHN1cGVyLm5nT25EZXN0cm95KCk7XG4gICAgfVxuXG4gICAgbmdBZnRlclZpZXdJbml0KCkge1xuICAgICAgICB0aGlzLm1vdXNlVXBTdWJzY3JpcHRpb24gPSB0aGlzLnRoZUNvbnRleHRTZXJ2aWNlLm9uTW91c2VVcCQuc3Vic2NyaWJlKGUgPT4gdGhpcy5lbmREcmFnKGUpKTtcbiAgICAgICAgdGhpcy51cGxvYWRpbmdTdWJzY3JpcHRpb24gPSB0aGlzLmltYWdlVXBsb2FkZXJTZXJ2aWNlXG4gICAgICAgICAgICAuZ2V0VXBsb2FkaW5nSXRlbXMkKClcbiAgICAgICAgICAgIC5waXBlKG1hcChmaWxlVXBsb2FkaW5nSXRlbSA9PiB0aGlzLmZpbGVJdGVtPy5maWxlICYmIGZpbGVVcGxvYWRpbmdJdGVtLmZpbmQoaXRlbSA9PiBpdGVtLmZpbGUgPT09IHRoaXMuZmlsZUl0ZW0/LmZpbGUpKSlcbiAgICAgICAgICAgIC5zdWJzY3JpYmUodXBsb2FkaW5nSXRlbSA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKCF1cGxvYWRpbmdJdGVtIHx8ICF1cGxvYWRpbmdJdGVtLnJlc3VsdCkge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHRoaXMucGVyY2VudGFnZSA9IHVwbG9hZGluZ0l0ZW0ucmVzdWx0LnVwbG9hZEZpbGUucHJvZ3Jlc3MucGVyY2VudGFnZTtcbiAgICAgICAgICAgICAgICBjb25zdCB7IHN0YXR1cyB9ID0gdXBsb2FkaW5nSXRlbS5yZXN1bHQ7XG4gICAgICAgICAgICAgICAgLy8g5oiQ5Yqf5ZKM5aSx6LSl6YO96KaB5LiK5Lyg57uT5p2fXG4gICAgICAgICAgICAgICAgaWYgKHN0YXR1cyA9PT0gVGh5VXBsb2FkU3RhdHVzLmRvbmUpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy51cGxvYWRpbmdTdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy51cGxvYWRpbmcgPSBmYWxzZTtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy50aGVDb250ZXh0U2VydmljZS5yZW1vdmVVcGxvYWRJbWFnZSh0aGlzLmZpbGVJdGVtKTtcbiAgICAgICAgICAgICAgICAgICAgc2V0VGltZW91dCgoKSA9PiB0aGlzLnRoZUNvbnRleHRTZXJ2aWNlLnVwbG9hZGluZ1N0YXR1cyQubmV4dChmYWxzZSksIDApO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBzZXRJbWFnZU5vZGVzKGltYWdlSW5mbzogSW1hZ2VFbnRyeSkge1xuICAgICAgICBjb25zdCBwYXRoID0gQW5ndWxhckVkaXRvci5maW5kUGF0aCh0aGlzLmVkaXRvciwgdGhpcy5lbGVtZW50KTtcbiAgICAgICAgY29uc3QgZGF0YSA9IHsgdHlwZTogRWxlbWVudEtpbmRzLmltYWdlLCB1cmw6IG51bGwsIC4uLmltYWdlSW5mbyB9O1xuICAgICAgICBIaXN0b3J5RWRpdG9yLndpdGhvdXRTYXZpbmcodGhpcy5lZGl0b3IsICgpID0+IFRyYW5zZm9ybXMuc2V0Tm9kZXModGhpcy5lZGl0b3IsIGRhdGEsIHsgYXQ6IHBhdGggfSkpO1xuICAgIH1cblxuICAgIGFzeW5jIHVwbG9hZEltYWdlKGZpbGU6IEZpbGUpIHtcbiAgICAgICAgY29uc3QgeyB3aWR0aCwgaGVpZ2h0IH0gPSBhd2FpdCB0aGlzLnJlc29sdmVJbWFnZVNpemUoZmlsZSwgdGhpcy50aGVDb250ZXh0U2VydmljZS5nZXRPcHRpb25zKCkud2lkdGgpO1xuICAgICAgICB0aGlzLmltYWdlRW50cnkgPSB7XG4gICAgICAgICAgICBoZWlnaHQsXG4gICAgICAgICAgICB3aWR0aCxcbiAgICAgICAgICAgIGFsaWduOiB0aGlzLmltYWdlRW50cnkuYWxpZ24gfHwgQWxpZ25tZW50LmNlbnRlcixcbiAgICAgICAgICAgIHRodW1iVXJsOiB0aGlzLnNhbml0aXplci5ieXBhc3NTZWN1cml0eVRydXN0UmVzb3VyY2VVcmwoVVJMLmNyZWF0ZU9iamVjdFVSTChmaWxlKSlcbiAgICAgICAgfTtcbiAgICAgICAgdGhpcy51cGxvYWRpbmcgPSB0cnVlO1xuICAgICAgICB0aGlzLnRoZUNvbnRleHRTZXJ2aWNlLnVwbG9hZGluZ1N0YXR1cyQubmV4dCh0cnVlKTtcbiAgICAgICAgY29uc3QgW3VwbG9hZEZpbGVFbnRpdHldID0gYXdhaXQgdGhpcy5pbWFnZVVwbG9hZGVyU2VydmljZS51cGxvYWRGaWxlSGFuZGxlKFtmaWxlXSkudG9Qcm9taXNlKCk7XG4gICAgICAgIGNvbnN0IHsgdGh1bWJVcmwsIG9yaWdpblVybCB9ID0gdXBsb2FkRmlsZUVudGl0eTtcbiAgICAgICAgY29uc3QgaW1hZ2VJbmZvOiBJbWFnZUVudHJ5ID0ge1xuICAgICAgICAgICAgbmFtZTogZmlsZS5uYW1lLFxuICAgICAgICAgICAgd2lkdGg6IHRoaXMuaW1hZ2VFbnRyeS53aWR0aCxcbiAgICAgICAgICAgIGhlaWdodDogdGhpcy5pbWFnZUVudHJ5LmhlaWdodCxcbiAgICAgICAgICAgIHRodW1iVXJsLFxuICAgICAgICAgICAgb3JpZ2luVXJsLFxuICAgICAgICAgICAgYWxpZ246IHRoaXMuaW1hZ2VFbnRyeS5hbGlnbiB8fCBBbGlnbm1lbnQuY2VudGVyXG4gICAgICAgIH07XG4gICAgICAgIHRoaXMuc2V0SW1hZ2VOb2RlcyhpbWFnZUluZm8pO1xuICAgIH1cblxuICAgIHByaXZhdGUgcmVzb2x2ZUltYWdlU2l6ZShpbWFnZUZpbGU6IEZpbGUsIG1heFNpemU6IG51bWJlcik6IFByb21pc2U8eyBoZWlnaHQ6IG51bWJlcjsgd2lkdGg6IG51bWJlciB9PiB7XG4gICAgICAgIGNvbnN0IGltYWdlID0gbmV3IEltYWdlKCk7XG4gICAgICAgIHJldHVybiBuZXcgUHJvbWlzZShyZXNvbHZlID0+IHtcbiAgICAgICAgICAgIGltYWdlLm9ubG9hZCA9ICgpID0+IHtcbiAgICAgICAgICAgICAgICBjb25zdCBpbWFnZUhlaWdodCA9IGltYWdlLmhlaWdodDtcbiAgICAgICAgICAgICAgICBjb25zdCBpbWFnZVdpZHRoID0gaW1hZ2Uud2lkdGg7XG4gICAgICAgICAgICAgICAgY29uc3QgcmF0aW8gPSBpbWFnZVdpZHRoID4gbWF4U2l6ZSA/IGltYWdlV2lkdGggLyBtYXhTaXplIDogZmFsc2U7XG4gICAgICAgICAgICAgICAgY29uc3QgaGVpZ2h0ID0gcmF0aW8gPyBpbWFnZUhlaWdodCAvIHJhdGlvIDogaW1hZ2VIZWlnaHQ7XG4gICAgICAgICAgICAgICAgY29uc3Qgd2lkdGggPSByYXRpbyA/IGltYWdlV2lkdGggLyByYXRpbyA6IGltYWdlV2lkdGg7XG4gICAgICAgICAgICAgICAgcmVzb2x2ZSh7IGhlaWdodCwgd2lkdGggfSk7XG4gICAgICAgICAgICB9O1xuICAgICAgICAgICAgaW1hZ2Uuc3JjID0gVVJMLmNyZWF0ZU9iamVjdFVSTChpbWFnZUZpbGUpO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBzdGFydERyYWcoZXZlbnQ6IE1vdXNlRXZlbnQsIGF4aXM6IHN0cmluZykge1xuICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICB0aGlzLmRyYWdhYmxlID0gdHJ1ZTtcbiAgICAgICAgY29uc3QgaW1nRWxlbWVudCA9IHRoaXMuaW1nLm5hdGl2ZUVsZW1lbnQgYXMgSFRNTEltYWdlRWxlbWVudDtcbiAgICAgICAgY29uc3Qgb3B0aW9ucyA9IHtcbiAgICAgICAgICAgIGF4aXMsXG4gICAgICAgICAgICBwcmludGVyUG9zaXRpb25YOiBldmVudC5wYWdlWCxcbiAgICAgICAgICAgIHByaW50ZXJQb3NpdGlvblk6IGV2ZW50LnBhZ2VZLFxuICAgICAgICAgICAgaW50ZXJuYWxXaWR0aDogaW1nRWxlbWVudC53aWR0aCB8fCB0aGlzLmltYWdlRW50cnkud2lkdGgsXG4gICAgICAgICAgICBpbnRlcm5hbEhlaWdodDogaW1nRWxlbWVudC5oZWlnaHQgfHwgdGhpcy5pbWFnZUVudHJ5LmhlaWdodCxcbiAgICAgICAgICAgIG1heFdpZHRoOiB0aGlzLnRoZUNvbnRleHRTZXJ2aWNlLmdldE9wdGlvbnMoKS53aWR0aFxuICAgICAgICB9O1xuICAgICAgICB0aGlzLm1vdXNlTW92ZVN1YnNjcmlwdGlvbiA9IHRoaXMudGhlQ29udGV4dFNlcnZpY2Uub25Nb3VzZU1vdmUkLnN1YnNjcmliZShlID0+IHRoaXMubW91c2VNb3ZlSGFuZGxlKGUsIG9wdGlvbnMpKTtcbiAgICB9XG5cbiAgICBtb3VzZU1vdmVIYW5kbGUoXG4gICAgICAgIGV2ZW50OiBNb3VzZUV2ZW50LFxuICAgICAgICBvcHRpb25zOiB7XG4gICAgICAgICAgICBheGlzOiBzdHJpbmc7XG4gICAgICAgICAgICBwcmludGVyUG9zaXRpb25YOiBudW1iZXI7XG4gICAgICAgICAgICBwcmludGVyUG9zaXRpb25ZOiBudW1iZXI7XG4gICAgICAgICAgICBpbnRlcm5hbFdpZHRoOiBudW1iZXI7XG4gICAgICAgICAgICBpbnRlcm5hbEhlaWdodDogbnVtYmVyO1xuICAgICAgICAgICAgbWF4V2lkdGg6IG51bWJlcjtcbiAgICAgICAgfVxuICAgICkge1xuICAgICAgICBpZiAodGhpcy5kcmFnYWJsZSkge1xuICAgICAgICAgICAgY29uc3QgeyBheGlzLCBwcmludGVyUG9zaXRpb25YLCBwcmludGVyUG9zaXRpb25ZLCBpbnRlcm5hbFdpZHRoLCBpbnRlcm5hbEhlaWdodCwgbWF4V2lkdGggfSA9IG9wdGlvbnM7XG4gICAgICAgICAgICBjb25zdCBpc1JldmVyc2FsID0gYXhpcy5pbmNsdWRlcygnLScpO1xuXG4gICAgICAgICAgICBsZXQgb2Zmc2V0WCA9IGV2ZW50LnBhZ2VYIC0gcHJpbnRlclBvc2l0aW9uWDtcbiAgICAgICAgICAgIGxldCBvZmZzZXRZID0gZXZlbnQucGFnZVkgLSBwcmludGVyUG9zaXRpb25ZO1xuICAgICAgICAgICAgbGV0IHsgd2lkdGgsIGhlaWdodCB9ID0gdGhpcy5lbGVtZW50O1xuXG4gICAgICAgICAgICBpZiAoaXNSZXZlcnNhbCkge1xuICAgICAgICAgICAgICAgIG9mZnNldFggPSAtb2Zmc2V0WDtcbiAgICAgICAgICAgICAgICBvZmZzZXRZID0gLW9mZnNldFk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAodGhpcy5lbGVtZW50LmFsaWduID09PSAnY2VudGVyJykge1xuICAgICAgICAgICAgICAgIG9mZnNldFggPSBvZmZzZXRYICogMjtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaWYgKGF4aXMuaW5jbHVkZXMoJ3gnKSkge1xuICAgICAgICAgICAgICAgIHdpZHRoID0gb2Zmc2V0WCArIGludGVybmFsV2lkdGg7XG4gICAgICAgICAgICAgICAgaWYgKHdpZHRoID49IG1heFdpZHRoKSB7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoID0gbWF4V2lkdGg7XG5cbiAgICAgICAgICAgICAgICAgICAgLy8gY2xlYXIgYGxheW91dGAgd2hlbiB0aGUgaW1hZ2UgaXMgYWRqdXN0ZWQgdG8gdGhlIG1heGltdW0gdmFsdWUgdW5kZXIgcmljaCBtZWRpYVxuICAgICAgICAgICAgICAgICAgICBpZiAodGhpcy5pbWFnZUVudHJ5Py5sYXlvdXQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHBhdGggPSBUaGVRdWVyaWVzLmZpbmRQYXRoKHRoaXMuZWRpdG9yLCB0aGlzLmVsZW1lbnQpO1xuICAgICAgICAgICAgICAgICAgICAgICAgSW1hZ2VFZGl0b3Iuc2V0SW1hZ2VOb2RlKHRoaXMuZWRpdG9yLCBwYXRoLCB7IGxheW91dDogdW5kZWZpbmVkIH0pO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGlmICh3aWR0aCA8PSAxMDApIHtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGggPSAxMDA7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGlmIChheGlzLmluY2x1ZGVzKCdsJykpIHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgcmF0aW8gPSBpbnRlcm5hbFdpZHRoIC8gd2lkdGg7XG4gICAgICAgICAgICAgICAgICAgIGhlaWdodCA9IGludGVybmFsSGVpZ2h0IC8gcmF0aW87XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSBlbHNlIGlmIChheGlzLmluY2x1ZGVzKCd5JykpIHtcbiAgICAgICAgICAgICAgICBoZWlnaHQgPSBvZmZzZXRZICsgaW50ZXJuYWxIZWlnaHQ7XG4gICAgICAgICAgICAgICAgaWYgKGhlaWdodCA+PSAxMDAwKSB7XG4gICAgICAgICAgICAgICAgICAgIGhlaWdodCA9IDEwMDA7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGlmIChoZWlnaHQgPD0gMTAwKSB7XG4gICAgICAgICAgICAgICAgICAgIGhlaWdodCA9IDEwMDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaWYgKGF4aXMuaW5jbHVkZXMoJ2wnKSkge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCByYXRpbyA9IGludGVybmFsSGVpZ2h0IC8gaGVpZ2h0O1xuICAgICAgICAgICAgICAgICAgICB3aWR0aCA9IGludGVybmFsV2lkdGggLyByYXRpbztcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGlmICghdGhpcy5pbWFnZUVudHJ5LnJlU2l6ZWQgJiYgdGhpcy5pbWFnZUVudHJ5LndpZHRoICE9PSB3aWR0aCkge1xuICAgICAgICAgICAgICAgIHRoaXMuaW1hZ2VFbnRyeS5yZVNpemVkID0gdHJ1ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHRoaXMuaW1hZ2VDb250ZW50Lm5hdGl2ZUVsZW1lbnQuc3R5bGUud2lkdGggPSB3aWR0aCArICdweCc7XG4gICAgICAgICAgICB0aGlzLmltYWdlQ29udGVudC5uYXRpdmVFbGVtZW50LnN0eWxlLmhlaWdodCA9IGhlaWdodCArICdweCc7XG4gICAgICAgICAgICB0aGlzLmltYWdlRW50cnkud2lkdGggPSB3aWR0aDtcbiAgICAgICAgICAgIHRoaXMuaW1hZ2VFbnRyeS5oZWlnaHQgPSBoZWlnaHQ7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBlbmREcmFnKGV2ZW50OiBNb3VzZUV2ZW50KSB7XG4gICAgICAgIGlmICh0aGlzLmRyYWdhYmxlKSB7XG4gICAgICAgICAgICB0aGlzLmRyYWdhYmxlID0gZmFsc2U7XG4gICAgICAgICAgICB0aGlzLm1vdXNlTW92ZVN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xuICAgICAgICAgICAgVHJhbnNmb3Jtcy5zZXROb2RlcyhcbiAgICAgICAgICAgICAgICB0aGlzLmVkaXRvcixcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIHR5cGU6IEVsZW1lbnRLaW5kcy5pbWFnZSxcbiAgICAgICAgICAgICAgICAgICAgLi4udGhpcy5pbWFnZUVudHJ5XG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB7IGF0OiB0aGlzLnNlbGVjdGlvbiB9XG4gICAgICAgICAgICApO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgY2FuY2VsVXBsb2FkKGV2ZW50KSB7XG4gICAgICAgIFRyYW5zZm9ybXMucmVtb3ZlTm9kZXModGhpcy5lZGl0b3IsIHsgYXQ6IHRoaXMuc2VsZWN0aW9uIH0pO1xuICAgIH1cblxuICAgIHByZXZpZXcoJGV2ZW50OiBFdmVudCkge1xuICAgICAgICBpZiAodGhpcy5yZWFkb25seSB8fCB0aGlzLmlzQ29sbGFwc2VkKSB7XG4gICAgICAgICAgICBjb25zdCBpbWFnZXM6IEltYWdlRWxlbWVudFtdID0gZ2V0QWxsTm9kZXNCeVR5cGUodGhpcy5lZGl0b3IuY2hpbGRyZW4gYXMgRWxlbWVudFtdLCBFbGVtZW50S2luZHMuaW1hZ2UpO1xuICAgICAgICAgICAgY29uc3QgcHJldmlld0ltYWdlczogKFRoeUltYWdlSW5mbyAmIHsga2V5OiBzdHJpbmcgfSlbXSA9IGltYWdlcy5tYXAoaXRlbSA9PiB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICAgICAgc3JjOiBpdGVtLm9yaWdpblVybCBhcyBzdHJpbmcsXG4gICAgICAgICAgICAgICAgICAgIG5hbWU6IGl0ZW0ubmFtZSxcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IGl0ZW0ud2lkdGgsXG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogaXRlbS5oZWlnaHQsXG4gICAgICAgICAgICAgICAgICAgIGtleTogaXRlbS5rZXksXG4gICAgICAgICAgICAgICAgICAgIG9yaWdpbjoge1xuICAgICAgICAgICAgICAgICAgICAgICAgc3JjOiBpdGVtLm9yaWdpblVybCBhcyBzdHJpbmdcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICB9KTtcblxuICAgICAgICAgICAgY29uc3Qgc3RhcnRJbmRleCA9IHByZXZpZXdJbWFnZXMuZmluZEluZGV4KGl0ZW0gPT4gaXRlbS5rZXkgPT09IHRoaXMuZWxlbWVudC5rZXkpO1xuICAgICAgICAgICAgY29uc3QgY29uZmlnOiBUaHlJbWFnZVByZXZpZXdPcHRpb25zICYgeyBzdGFydEluZGV4OiBudW1iZXIgfSA9IHtcbiAgICAgICAgICAgICAgICBzdGFydEluZGV4LFxuICAgICAgICAgICAgICAgIG9wZXJhdGlvbnM6IFsnem9vbS1vdXQnLCAnem9vbS1pbicsICdyb3RhdGUtcmlnaHQnLCAnZG93bmxvYWQnXVxuICAgICAgICAgICAgfTtcbiAgICAgICAgICAgIHRoaXMudGh5SW1hZ2VTZXJ2aWNlLnByZXZpZXcocHJldmlld0ltYWdlcywgY29uZmlnKTtcbiAgICAgICAgfVxuICAgICAgICAkZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgfVxuXG4gICAgaXNTaG91bGRPcGVuKCkge1xuICAgICAgICBjb25zdCB7XG4gICAgICAgICAgICB0aGVPcHRpb25zOiB7IHJpY2hNZWRpYSB9XG4gICAgICAgIH0gPSB0aGlzLnRoZUNvbnRleHRTZXJ2aWNlLmdldE9wdGlvbnMoKTtcbiAgICAgICAgcmV0dXJuICF0aGlzPy5yZWFkb25seSAmJiByaWNoTWVkaWEgJiYgdGhpcz8uaXNDb2xsYXBzZWQgJiYgIXRoaXMudXBsb2FkaW5nICYmICF0aGlzLmlzT3BlbjtcbiAgICB9XG5cbiAgICBpc1Nob3VsZENsb3NlKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5pc09wZW4gJiYgKHRoaXM/LnJlYWRvbmx5IHx8ICF0aGlzPy5pc0NvbGxhcHNlZCB8fCB0aGlzLnVwbG9hZGluZyk7XG4gICAgfVxuXG4gICAgb3BlbkxheW91dFRvb2xiYXIoKSB7XG4gICAgICAgIHRoaXMubGF5b3V0VG9vbGJhclJlZiA9IHRoaXMudGh5UG9wb3Zlci5vcGVuKHRoaXMubGF5b3V0VG9vbGJhciwge1xuICAgICAgICAgICAgb3JpZ2luOiB0aGlzLmltYWdlQ29udGVudCxcbiAgICAgICAgICAgIHBhbmVsQ2xhc3M6IFsndGhlLWJsb2NrLXRvb2xiYXInXSxcbiAgICAgICAgICAgIHBsYWNlbWVudDogJ2JvdHRvbScsXG4gICAgICAgICAgICBpbnNpZGVDbG9zYWJsZTogZmFsc2UsXG4gICAgICAgICAgICBiYWNrZHJvcENsb3NhYmxlOiB0cnVlLFxuICAgICAgICAgICAgaGFzQmFja2Ryb3A6IGZhbHNlLFxuICAgICAgICAgICAgb2Zmc2V0OiAxMCxcbiAgICAgICAgICAgIG1pbldpZHRoOiAwLFxuICAgICAgICAgICAgdmlld0NvbnRhaW5lclJlZjogdGhpcy52aWV3Q29udGFpbmVyUmVmLFxuICAgICAgICAgICAgc2Nyb2xsU3RyYXRlZ3k6IHRoaXMub3ZlcmxheS5zY3JvbGxTdHJhdGVnaWVzLnJlcG9zaXRpb24oKVxuICAgICAgICB9KTtcbiAgICAgICAgdGhpcy5sYXlvdXRUb29sYmFyUmVmPy5nZXRPdmVybGF5UmVmKCkudXBkYXRlUG9zaXRpb25TdHJhdGVneSh0aGlzLmNyZWF0ZVBvc2l0aW9uU3RyYXRlZ3koKSk7XG5cbiAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICB0aGlzLmxheW91dFRvb2xiYXJSZWY/LmdldE92ZXJsYXlSZWYoKS51cGRhdGVQb3NpdGlvbigpO1xuICAgICAgICB9LCAxNTApO1xuICAgIH1cblxuICAgIGNsb3NlTGF5b3V0VG9vbGJhcigpIHtcbiAgICAgICAgdGhpcy5sYXlvdXRUb29sYmFyUmVmPy5jbG9zZSgpO1xuICAgIH1cblxuICAgIGxheW91dEFjdGl2ZShrZXk6IEFsaWdubWVudCB8IExheW91dFR5cGVzKSB7XG4gICAgICAgIGNvbnN0IHsgbGF5b3V0LCBhbGlnbiB9ID0gdGhpcy5pbWFnZUVudHJ5O1xuICAgICAgICByZXR1cm4ga2V5ICYmICgoa2V5ID09PSBhbGlnbiAmJiAhbGF5b3V0KSB8fCBrZXkgPT09IGxheW91dCk7XG4gICAgfVxuXG4gICAgc2V0SW1hZ2VOb2RlKGU6IE1vdXNlRXZlbnQsIHBhcnRpYWw6IHsgbGF5b3V0PzogTGF5b3V0VHlwZXM7IGFsaWduPzogQWxpZ25tZW50IH0pIHtcbiAgICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICBjb25zdCBwYXRoID0gVGhlUXVlcmllcy5maW5kUGF0aCh0aGlzLmVkaXRvciwgdGhpcy5lbGVtZW50KTtcbiAgICAgICAgSW1hZ2VFZGl0b3Iuc2V0SW1hZ2VOb2RlKHRoaXMuZWRpdG9yLCBwYXRoLCBwYXJ0aWFsKTtcbiAgICB9XG5cbiAgICBzZXRCbG9ja0NhcmRMYXlvdXRBdHRyKCkge1xuICAgICAgICBQcm9taXNlLnJlc29sdmUoKS50aGVuKCgpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IGN1cnJlbnRFbGVtZW50ID0gQW5ndWxhckVkaXRvci50b0RPTU5vZGUodGhpcy5lZGl0b3IsIHRoaXMuZWxlbWVudCk7XG4gICAgICAgICAgICBjb25zdCBibG9ja0NhcmQgPSBjdXJyZW50RWxlbWVudC5jbG9zZXN0KCcuc2xhdGUtYmxvY2stY2FyZCcpO1xuICAgICAgICAgICAgY29uc3QgeyBsYXlvdXQgfSA9IHRoaXMuZWxlbWVudDtcblxuICAgICAgICAgICAgaWYgKGJsb2NrQ2FyZCAmJiBsYXlvdXQpIHtcbiAgICAgICAgICAgICAgICBibG9ja0NhcmQuc2V0QXR0cmlidXRlKCdsYXlvdXQnLCBsYXlvdXQpO1xuICAgICAgICAgICAgfSBlbHNlIGlmIChibG9ja0NhcmQgJiYgIWxheW91dCkge1xuICAgICAgICAgICAgICAgIGJsb2NrQ2FyZC5yZW1vdmVBdHRyaWJ1dGUoJ2xheW91dCcpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgdGhpcy5sYXlvdXRUb29sYmFyUmVmPy5nZXRPdmVybGF5UmVmKCkudXBkYXRlUG9zaXRpb24oKTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgb25EZWxldGUoZXZlbnQ6IE1vdXNlRXZlbnQpIHtcbiAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgVGhlVHJhbnNmb3Jtcy5kZWxldGVFbGVtZW50KHRoaXMuZWRpdG9yLCB0aGlzLmVsZW1lbnQpO1xuICAgIH1cblxuICAgIGNyZWF0ZVBvc2l0aW9uU3RyYXRlZ3koKSB7XG4gICAgICAgIGNvbnN0IGJvdHRvbVBvc2l0aW9uOiBDb25uZWN0ZWRQb3NpdGlvbiA9IHtcbiAgICAgICAgICAgIG9yaWdpblg6ICdjZW50ZXInLFxuICAgICAgICAgICAgb3JpZ2luWTogJ2JvdHRvbScsXG4gICAgICAgICAgICBvdmVybGF5WDogJ2NlbnRlcicsXG4gICAgICAgICAgICBvdmVybGF5WTogJ3RvcCcsXG4gICAgICAgICAgICBvZmZzZXRYOiAwLFxuICAgICAgICAgICAgb2Zmc2V0WTogMTBcbiAgICAgICAgfTtcbiAgICAgICAgcmV0dXJuIHRoaXMub3ZlcmxheVxuICAgICAgICAgICAgLnBvc2l0aW9uKClcbiAgICAgICAgICAgIC5mbGV4aWJsZUNvbm5lY3RlZFRvKHRoaXMuaW1hZ2VDb250ZW50KVxuICAgICAgICAgICAgLndpdGhGbGV4aWJsZURpbWVuc2lvbnMoZmFsc2UpXG4gICAgICAgICAgICAud2l0aEdyb3dBZnRlck9wZW4oZmFsc2UpXG4gICAgICAgICAgICAud2l0aFB1c2goZmFsc2UpXG4gICAgICAgICAgICAud2l0aFBvc2l0aW9ucyhbYm90dG9tUG9zaXRpb25dKTtcbiAgICB9XG59XG4iLCI8c2xhdGUtY2hpbGRyZW4gW2NoaWxkcmVuXT1cImNoaWxkcmVuXCIgW2NvbnRleHRdPVwiY2hpbGRyZW5Db250ZXh0XCIgW3ZpZXdDb250ZXh0XT1cInZpZXdDb250ZXh0XCI+PC9zbGF0ZS1jaGlsZHJlbj5cblxuPGRpdiBjbGFzcz1cImltYWdlLWNvbnRhaW5lclwiIGNvbnRlbnRlZGl0YWJsZT1cImZhbHNlXCIgW3N0eWxlLnRleHRBbGlnbl09XCJpbWFnZUVudHJ5LmFsaWduXCI+XG4gICAgPGRpdlxuICAgICAgICAjaW1hZ2VDb250ZW50XG4gICAgICAgICpuZ0lmPVwiaW1hZ2VFbnRyeS50aHVtYlVybFwiXG4gICAgICAgIGNsYXNzPVwiaW1hZ2UtY29udGVudFwiXG4gICAgICAgIFtjbGFzcy5wb2ludGVyXT1cIiFzZWxlY3Rpb25cIlxuICAgICAgICBbbmdTdHlsZV09XCJ7XG4gICAgICAgICAgICAnd2lkdGgucHgnOlxuICAgICAgICAgICAgICAgIGltYWdlRW50cnk/LmxheW91dCAmJiBpbWFnZUVudHJ5Py53aWR0aCA+IGxheW91dERlZmF1bHRXaWR0aCAmJiAhaW1hZ2VFbnRyeT8ucmVTaXplZFxuICAgICAgICAgICAgICAgICAgICA/IGxheW91dERlZmF1bHRXaWR0aFxuICAgICAgICAgICAgICAgICAgICA6IGltYWdlRW50cnkud2lkdGgsXG4gICAgICAgICAgICAnaGVpZ2h0LnB4JzogaW1hZ2VFbnRyeS5oZWlnaHRcbiAgICAgICAgfVwiXG4gICAgPlxuICAgICAgICA8aW1nICNpbWcgY2xhc3M9XCJtYWluLWltYWdlXCIgW3NyY109XCJpbWFnZUVudHJ5LnRodW1iVXJsXCIgW2FsdF09XCJpbWFnZUVudHJ5Lm5hbWVcIiAvPlxuICAgICAgICA8ZGl2ICpuZ0lmPVwic2VsZWN0aW9uXCIgY2xhc3M9XCJpbWFnZS1wcm9maWxlXCIgW2NsYXNzLm91dGxpbmVdPVwic2VsZWN0aW9uXCI+XG4gICAgICAgICAgICA8c3BhbiAqbmdJZj1cImlzQ29sbGFwc2VkXCIgKG1vdXNlZG93bik9XCJzdGFydERyYWcoJGV2ZW50LCAnLXhsJylcIiBjbGFzcz1cImltYWdlLXBvaW50ZXIgbGVmdCB0b3BcIj48L3NwYW4+XG4gICAgICAgICAgICA8c3BhbiAqbmdJZj1cImlzQ29sbGFwc2VkXCIgKG1vdXNlZG93bik9XCJzdGFydERyYWcoJGV2ZW50LCAneGwnKVwiIGNsYXNzPVwiaW1hZ2UtcG9pbnRlciByaWdodCB0b3BcIj48L3NwYW4+XG4gICAgICAgICAgICA8c3BhbiAqbmdJZj1cImlzQ29sbGFwc2VkXCIgKG1vdXNlZG93bik9XCJzdGFydERyYWcoJGV2ZW50LCAneGwnKVwiIGNsYXNzPVwiaW1hZ2UtcG9pbnRlciByaWdodCBib3R0b21cIj48L3NwYW4+XG4gICAgICAgICAgICA8c3BhbiAqbmdJZj1cImlzQ29sbGFwc2VkXCIgKG1vdXNlZG93bik9XCJzdGFydERyYWcoJGV2ZW50LCAnLXhsJylcIiBjbGFzcz1cImltYWdlLXBvaW50ZXIgbGVmdCBib3R0b21cIj48L3NwYW4+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2ICpuZ0lmPVwidXBsb2FkaW5nXCIgY2xhc3M9XCJ1cGxvYWRpbmdcIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ1cGxvYWRpbmctcGVyY2VudGFnZVwiPlxuICAgICAgICAgICAgICAgIDx0aHktcHJvZ3Jlc3MgdGh5VHlwZT1cInByaW1hcnlcIiBbdGh5VmFsdWVdPVwicGVyY2VudGFnZVwiIHRoeVNpemU9XCJzbVwiPjwvdGh5LXByb2dyZXNzPlxuICAgICAgICAgICAgICAgIDx0aHktaWNvbiAoY2xpY2spPVwiY2FuY2VsVXBsb2FkKCRldmVudClcIiB0aHlJY29uTmFtZT1cImNsb3NlLWNpcmNsZS1ib2xkLWZpbGxcIiB0aHlJY29uTGVnZ2luZz1cInRydWVcIj48L3RoeS1pY29uPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2ICpuZ0lmPVwiIXVwbG9hZGluZ1wiIGNsYXNzPVwibGF5ZXJcIiAobW91c2Vkb3duKT1cInByZXZpZXcoJGV2ZW50KVwiIFtjbGFzcy5yZWFkb25seV09XCJyZWFkb25seVwiPjwvZGl2PlxuICAgIDwvZGl2PlxuICAgIDxkaXYgKm5nSWY9XCIhaW1hZ2VFbnRyeS50aHVtYlVybFwiIGNsYXNzPVwiaW1hZ2UtbG9hZGluZ1wiIGNvbnRlbnRlZGl0YWJsZT1cImZhbHNlXCI+XG4gICAgICAgIDx0aHktaWNvbiB0aHlJY29uTmFtZT1cImltYWdlXCI+PC90aHktaWNvbj5cbiAgICA8L2Rpdj5cbjwvZGl2PlxuXG48bmctdGVtcGxhdGUgI2xheW91dFRvb2xiYXI+XG4gICAgPGRpdiBjbGFzcz1cInRoZS1ibG9jay10b29sYmFyLXBvcG92ZXJcIiBjb250ZW50ZWRpdGFibGU9XCJmYWxzZVwiPlxuICAgICAgICA8dGh5LWljb24tbmF2PlxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgaXRlbSBvZiBsYXlvdXRPcHRpb25zXCI+XG4gICAgICAgICAgICAgICAgPGFcbiAgICAgICAgICAgICAgICAgICAgKm5nSWY9XCJpdGVtLmtleSAhPT0gJ3NwbGl0J1wiXG4gICAgICAgICAgICAgICAgICAgIGhyZWY9XCJqYXZhc2NyaXB0OjtcIlxuICAgICAgICAgICAgICAgICAgICB0aHlJY29uTmF2TGlua1xuICAgICAgICAgICAgICAgICAgICBbbmdDbGFzc109XCJ7ICdyZW1vdmUtbGluayc6IGl0ZW0ua2V5ID09PSAncmVtb3ZlJyB9XCJcbiAgICAgICAgICAgICAgICAgICAgW3RoeUljb25OYXZMaW5rSWNvbl09XCJpdGVtLmljb25cIlxuICAgICAgICAgICAgICAgICAgICBbdGh5VG9vbHRpcF09XCJpdGVtLm5hbWVcIlxuICAgICAgICAgICAgICAgICAgICBbdGh5SWNvbk5hdkxpbmtBY3RpdmVdPVwibGF5b3V0QWN0aXZlKGl0ZW0ua2V5KVwiXG4gICAgICAgICAgICAgICAgICAgIHRoeVRvb2x0aXBQbGFjZW1lbnQ9XCJ0b3BcIlxuICAgICAgICAgICAgICAgICAgICAobW91c2Vkb3duKT1cIml0ZW0/LmhhbmRsZSgkZXZlbnQsIGl0ZW0ua2V5KVwiXG4gICAgICAgICAgICAgICAgPjwvYT5cbiAgICAgICAgICAgICAgICA8bmF2LXNwbGl0LWxpbmUgKm5nSWY9XCJpdGVtLmtleSA9PT0gJ3NwbGl0J1wiPjwvbmF2LXNwbGl0LWxpbmU+XG4gICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPC90aHktaWNvbi1uYXY+XG4gICAgPC9kaXY+XG48L25nLXRlbXBsYXRlPlxuIl19
@@ -54,5 +54,6 @@ import { getInsertElementsPath } from './get-insert-elements-path';
54
54
  import { isContainNestedType } from './is-contain-nested-type';
55
55
  import { getToolbarItemDisabled } from './get-toolbar-disabled';
56
56
  import { getPluginByToolbarItem } from './get-plugin-by-toolbar';
57
- export { getLastNode, getAnchorBlockEntry, getAboveByType, getNodes, getNodesByType, getBlockAbove, getPreviousPath, getNode, getParent, getLastChild, getLastChildPath, getNextSiblingNodes, getAbove, getPointBefore, getSelectionNodesByType, getText, getPointFromLocation, getRangeFromBlockStart, getRangeBefore, getBlockCardCenterCursor, getBlockCardAbove, getPlainText, getSelectionMarks, getContainerBlocks, getDirectlyParent, isAncestor, isCollapsed, isEmptyParagraph, isParagraph, isBlockActive, isIncludeTypes, isAncestorEmpty, isBlockAboveEmpty, isNodeTypeIn, isFirstChild, isPointAtRoot, isRangeAtRoot, isBlockTextEmptyAfterSelection, isStart, isRangeAcrossBlocks, isDescendant, isNodeType, isAcrossBlocks, isBlockCardCursor, isEmptyParagraphByPath, isContainer, getInsertElementsPath, isContainNestedType, anchorBlock, anchorBlockEntry, anchorInlineEntry, findPath, findNode, findDescendant, someNode, getToolbarItemDisabled, getPluginByToolbarItem };
58
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy9zcmMvcXVlcmllcy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDOUMsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDN0MsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDL0QsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDeEQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzdDLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNsRCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDcEQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3JELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ3hELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUNyRCxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQ3ZDLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM3QyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDbEQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3RELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQzNELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNqRCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sa0JBQWtCLENB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LG1CQUFtQixFQUNuQixRQUFRLEVBQ1IsY0FBYyxFQUNkLHVCQUF1QixFQUN2QixPQUFPLEVBQ1Asb0JBQW9CLEVBQ3BCLHNCQUFzQixFQUN0QixjQUFjLEVBQ2Qsd0JBQXdCLEVBQ3hCLGlCQUFpQixFQUNqQixZQUFZLEVBQ1osaUJBQWlCLEVBQ2pCLGtCQUFrQixFQUNsQixpQkFBaUIsRUFDakIsVUFBVSxFQUNWLFdBQVcsRUFDWCxnQkFBZ0IsRUFDaEIsV0FBVyxFQUNYLGFBQWEsRUFDYixjQUFjLEVBQ2QsZUFBZSxFQUNmLGlCQUFpQixFQUNqQixZQUFZLEVBQ1osWUFBWSxFQUNaLGFBQWEsRUFDYixhQUFhLEVBQ2IsOEJBQThCLEVBQzlCLE9BQU8sRUFDUCxtQkFBbUIsRUFDbkIsWUFBWSxFQUNaLFVBQVUsRUFDVixjQUFjLEVBQ2QsaUJBQWlCLEVBQ2pCLHNCQUFzQixFQUN0QixXQUFXLEVBQ1gscUJBQXFCLEVBQ3JCLG1CQUFtQixFQUNuQixXQUFXLEVBQ1gsZ0JBQWdCLEVBQ2hCLGlCQUFpQixFQUNqQixRQUFRLEVBQ1IsUUFBUSxFQUNSLGNBQWMsRUFDZCxRQUFRLEVBQ1Isc0JBQXNCLEVBQ3RCLHNCQUFzQixFQUN6QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgZ2V0TGFzdE5vZGUgfSBmcm9tICcuL2dldC1sYXN0LW5vZGUnO1xuaW1wb3J0IHsgaXNBbmNlc3RvciB9IGZyb20gJy4vaXMtYW5jZXN0b3InO1xuaW1wb3J0IHsgaXNDb2xsYXBzZWQgfSBmcm9tICcuL2lzLWNvbGxhcHNlZCc7XG5pbXBvcnQgeyBnZXRBbmNob3JCbG9ja0VudHJ5IH0gZnJvbSAnLi9nZXQtYW5jaG9yLWJsb2NrLWVudHJ5JztcbmltcG9ydCB7IGlzRW1wdHlQYXJhZ3JhcGggfSBmcm9tICcuL2lzLWVtcHR5LXBhcmFncmFwaCc7XG5pbXBvcnQgeyBpc1BhcmFncmFwaCB9IGZyb20gJy4vaXMtcGFyYWdyYXBoJztcbmltcG9ydCB7IGlzQmxvY2tBY3RpdmUgfSBmcm9tICcuL2lzLWJsb2NrLWFjdGl2ZSc7XG5pbXBvcnQgeyBpc0luY2x1ZGVUeXBlcyB9IGZyb20gJy4vaXMtaW5jbHVkZS10eXBlcyc7XG5pbXBvcnQgeyBnZXRBYm92ZUJ5VHlwZSB9IGZyb20gJy4vZ2V0LWFib3ZlLWJ5LXR5cGUnO1xuaW1wb3J0IHsgYW5jaG9yQmxvY2tFbnRyeSB9IGZyb20gJy4vYW5jaG9yLWJsb2NrLWVudHJ5JztcbmltcG9ydCB7IGdldE5vZGVzQnlUeXBlIH0gZnJvbSAnLi9nZXQtbm9kZXMtYnktdHlwZSc7XG5pbXBvcnQgeyBnZXROb2RlcyB9IGZyb20gJy4vZ2V0LW5vZGVzJztcbmltcG9ydCB7IGFuY2hvckJsb2NrIH0gZnJvbSAnLi9hbmNob3ItYmxvY2snO1xuaW1wb3J0IHsgZ2V0QmxvY2tBYm92ZSB9IGZyb20gJy4vZ2V0LWJsb2NrLWFib3ZlJztcbmltcG9ydCB7IGlzQW5jZXN0b3JFbXB0eSB9IGZyb20gJy4vaXMtYW5jZXN0b3ItZW1wdHknO1xuaW1wb3J0IHsgaXNCbG9ja0Fib3ZlRW1wdHkgfSBmcm9tICcuL2lzLWJsb2NrLWFib3ZlLWVtcHR5JztcbmltcG9ydCB7IGlzTm9kZVR5cGVJbiB9IGZyb20gJy4vaXMtbm9kZS10eXBlLWluJztcbmltcG9ydCB7IGlzRmlyc3RDaGlsZCB9IGZyb20gJy4vaXMtZmlyc3QtY2hpbGQnO1xuaW1wb3J0IHsgZ2V0UHJldmlvdXNQYXRoIH0gZnJvbSAnLi9nZXQtcHJldmlvdXMtcGF0aCc7XG5pbXBvcnQgeyBnZXROb2RlIH0gZnJvbSAnLi9nZXQtbm9kZSc7XG5pbXBvcnQgeyBnZXRQYXJlbnQgfSBmcm9tICcuL2dldC1wYXJlbnQnO1xuaW1wb3J0IHsgZmluZFBhdGggfSBmcm9tICcuL2ZpbmQtcGF0aCc7XG5pbXBvcnQgeyBmaW5kTm9kZSB9IGZyb20gJy4vZmluZC1ub2RlJztcbmltcG9ydCB7IGZpbmREZXNjZW5kYW50IH0gZnJvbSAnLi9maW5kLWRlc2NlbmRhbnQnO1xuaW1wb3J0IHsgZ2V0TGFzdENoaWxkUGF0aCwgZ2V0TGFzdENoaWxkIH0gZnJvbSAnLi9nZXQtbGFzdC1jaGlsZC1wYXRoJztcbmltcG9ydCB7IGlzUG9pbnRBdFJvb3QgfSBmcm9tICcuL2lzLXBvaW50LWF0LXJvb3QnO1xuaW1wb3J0IHsgaXNSYW5nZUF0Um9vdCB9IGZyb20gJy4vaXMtcmFuZ2UtYXQtcm9vdCc7XG5pbXBvcnQgeyBnZXROZXh0U2libGluZ05vZGVzIH0gZnJvbSAnLi9nZXQtbmV4dC1zaWJsaW5nLW5vZGVzJztcbmltcG9ydCB7IGlzQmxvY2tUZXh0RW1wdHlBZnRlclNlbGVjdGlvbiB9IGZyb20gJy4vaXMtYmxvY2stdGV4dC1lbXB0eS1hZnRlci1zZWxlY3Rpb24nO1xuaW1wb3J0IHsgZ2V0QWJvdmUgfSBmcm9tICcuL2dldC1hYm92ZSc7XG5pbXBvcnQgeyBpc1N0YXJ0IH0gZnJvbSAnLi9pcy1zdGFydCc7XG5pbXBvcnQgeyBpc1JhbmdlQWNyb3NzQmxvY2tzIH0gZnJvbSAnLi9pcy1yYW5nZS1hY3Jvc3MtYmxvY2tzJztcbmltcG9ydCB7IHNvbWVOb2RlIH0gZnJvbSAnLi9zb21lLW5vZGUnO1xuaW1wb3J0IHsgaXNEZXNjZW5kYW50IH0gZnJvbSAnLi9pcy1kZXNjZW5kYW50JztcbmltcG9ydCB7IGlzTm9kZVR5cGUgfSBmcm9tICcuL2lzLW5vZGUtdHlwZSc7XG5pbXBvcnQgeyBhbmNob3JJbmxpbmVFbnRyeSB9IGZyb20gJy4vYW5jaG9yLWlubGluZS1lbnRyeSc7XG5pbXBvcnQgeyBnZXRQb2ludEJlZm9yZSB9IGZyb20gJy4vZ2V0LXBvaW50LWJlZm9yZSc7XG5pbXBvcnQgeyBnZXRTZWxlY3Rpb25Ob2Rlc0J5VHlwZSB9IGZyb20gJy4vZ2V0LXNlbGVjdGlvbi1ub2Rlcy1ieS10eXBlJztcbmltcG9ydCB7IGlzQWNyb3NzQmxvY2tzIH0gZnJvbSAnLi9pcy1hY3Jvc3MtYmxvY2tzJztcbmltcG9ydCB7IGdldFRleHQgfSBmcm9tICcuL2dldC10ZXh0JztcbmltcG9ydCB7IGdldFBvaW50RnJvbUxvY2F0aW9uIH0gZnJvbSAnLi9nZXQtcG9pbnQtZnJvbS1sb2NhdGlvbic7XG5pbXBvcnQgeyBnZXRSYW5nZUZyb21CbG9ja1N0YXJ0IH0gZnJvbSAnLi9nZXQtcmFuZy1mcm9tLWJsb2NrLXN0YXJ0JztcbmltcG9ydCB7IGdldFJhbmdlQmVmb3JlIH0gZnJvbSAnLi9nZXQtcmFuZ2UtYmVmb3JlJztcbmltcG9ydCB7IGlzQmxvY2tDYXJkQ3Vyc29yIH0gZnJvbSAnLi9pcy1ibG9jay1jYXJkLWN1cnNvcic7XG5pbXBvcnQgeyBnZXRCbG9ja0NhcmRDZW50ZXJDdXJzb3IgfSBmcm9tICcuL2dldC1ibG9jay1jYXJkLWN1cnNvcic7XG5pbXBvcnQgeyBnZXRCbG9ja0NhcmRBYm92ZSB9IGZyb20gJy4vZ2V0LWJsb2NrLWNhcmQtYWJvdmUnO1xuaW1wb3J0IHsgZ2V0UGxhaW5UZXh0IH0gZnJvbSAnLi9nZXQtcGxhaW4tdGV4dCc7XG5pbXBvcnQgeyBpc0VtcHR5UGFyYWdyYXBoQnlQYXRoIH0gZnJvbSAnLi9pcy1lbXB0eS1wYXJhZ3JhcGgtYnktcGF0aCc7XG5pbXBvcnQgeyBnZXRTZWxlY3Rpb25NYXJrcyB9IGZyb20gJy4vZ2V0LXNlbGVjdGlvbi1tYXJrcyc7XG5pbXBvcnQgeyBpc0NvbnRhaW5lciB9IGZyb20gJy4vaXMtY29udGFpbmVyLXR5cGUnO1xuaW1wb3J0IHsgZ2V0Q29udGFpbmVyQmxvY2tzIH0gZnJvbSAnLi9nZXQtY29udGFpbmVyLWJsb2Nrcyc7XG5pbXBvcnQgeyBnZXREaXJlY3RseVBhcmVudCB9IGZyb20gJy4vZ2V0LWRpcmVjdGx5LXBhcmVudCc7XG5pbXBvcnQgeyBnZXRJbnNlcnRFbGVtZW50c1BhdGggfSBmcm9tICcuL2dldC1pbnNlcnQtZWxlbWVudHMtcGF0aCc7XG5pbXBvcnQgeyBpc0NvbnRhaW5OZXN0ZWRUeXBlIH0gZnJvbSAnLi9pcy1jb250YWluLW5lc3RlZC10eXBlJztcbmltcG9ydCB7IGdldFRvb2xiYXJJdGVtRGlzYWJsZWQgfSBmcm9tICcuL2dldC10b29sYmFyLWRpc2FibGVkJztcbmltcG9ydCB7IGdldFBsdWdpbkJ5VG9vbGJhckl0ZW0gfSBmcm9tICcuL2dldC1wbHVnaW4tYnktdG9vbGJhcic7XG5cbmV4cG9ydCB7XG4gICAgZ2V0TGFzdE5vZGUsXG4gICAgZ2V0QW5jaG9yQmxvY2tFbnRyeSxcbiAgICBnZXRBYm92ZUJ5VHlwZSxcbiAgICBnZXROb2RlcyxcbiAgICBnZXROb2Rlc0J5VHlwZSxcbiAgICBnZXRCbG9ja0Fib3ZlLFxuICAgIGdldFByZXZpb3VzUGF0aCxcbiAgICBnZXROb2RlLFxuICAgIGdldFBhcmVudCxcbiAgICBnZXRMYXN0Q2hpbGQsXG4gICAgZ2V0TGFzdENoaWxkUGF0aCxcbiAgICBnZXROZXh0U2libGluZ05vZGVzLFxuICAgIGdldEFib3ZlLFxuICAgIGdldFBvaW50QmVmb3JlLFxuICAgIGdldFNlbGVjdGlvbk5vZGVzQnlUeXBlLFxuICAgIGdldFRleHQsXG4gICAgZ2V0UG9pbnRGcm9tTG9jYXRpb24sXG4gICAgZ2V0UmFuZ2VGcm9tQmxvY2tTdGFydCxcbiAgICBnZXRSYW5nZUJlZm9yZSxcbiAgICBnZXRCbG9ja0NhcmRDZW50ZXJDdXJzb3IsXG4gICAgZ2V0QmxvY2tDYXJkQWJvdmUsXG4gICAgZ2V0UGxhaW5UZXh0LFxuICAgIGdldFNlbGVjdGlvbk1hcmtzLFxuICAgIGdldENvbnRhaW5lckJsb2NrcyxcbiAgICBnZXREaXJlY3RseVBhcmVudCxcbiAgICBpc0FuY2VzdG9yLFxuICAgIGlzQ29sbGFwc2VkLFxuICAgIGlzRW1wdHlQYXJhZ3JhcGgsXG4gICAgaXNQYXJhZ3JhcGgsXG4gICAgaXNCbG9ja0FjdGl2ZSxcbiAgICBpc0luY2x1ZGVUeXBlcyxcbiAgICBpc0FuY2VzdG9yRW1wdHksXG4gICAgaXNCbG9ja0Fib3ZlRW1wdHksXG4gICAgaXNOb2RlVHlwZUluLFxuICAgIGlzRmlyc3RDaGlsZCxcbiAgICBpc1BvaW50QXRSb290LFxuICAgIGlzUmFuZ2VBdFJvb3QsXG4gICAgaXNCbG9ja1RleHRFbXB0eUFmdGVyU2VsZWN0aW9uLFxuICAgIGlzU3RhcnQsXG4gICAgaXNSYW5nZUFjcm9zc0Jsb2NrcyxcbiAgICBpc0Rlc2NlbmRhbnQsXG4gICAgaXNOb2RlVHlwZSxcbiAgICBpc0Fjcm9zc0Jsb2NrcyxcbiAgICBpc0Jsb2NrQ2FyZEN1cnNvcixcbiAgICBpc0VtcHR5UGFyYWdyYXBoQnlQYXRoLFxuICAgIGlzQ29udGFpbmVyLFxuICAgIGdldEluc2VydEVsZW1lbnRzUGF0aCxcbiAgICBpc0NvbnRhaW5OZXN0ZWRUeXBlLFxuICAgIGFuY2hvckJsb2NrLFxuICAgIGFuY2hvckJsb2NrRW50cnksXG4gICAgYW5jaG9ySW5saW5lRW50cnksXG4gICAgZmluZFBhdGgsXG4gICAgZmluZE5vZGUsXG4gICAgZmluZERlc2NlbmRhbnQsXG4gICAgc29tZU5vZGUsXG4gICAgZ2V0VG9vbGJhckl0ZW1EaXNhYmxlZCxcbiAgICBnZXRQbHVnaW5CeVRvb2xiYXJJdGVtXG59O1xuIl19
57
+ import { isEmptyContent } from './is-empty-content';
58
+ export { getLastNode, getAnchorBlockEntry, getAboveByType, getNodes, getNodesByType, getBlockAbove, getPreviousPath, getNode, getParent, getLastChild, getLastChildPath, getNextSiblingNodes, getAbove, getPointBefore, getSelectionNodesByType, getText, getPointFromLocation, getRangeFromBlockStart, getRangeBefore, getBlockCardCenterCursor, getBlockCardAbove, getPlainText, getSelectionMarks, getContainerBlocks, getDirectlyParent, isAncestor, isCollapsed, isEmptyParagraph, isParagraph, isBlockActive, isIncludeTypes, isAncestorEmpty, isBlockAboveEmpty, isNodeTypeIn, isFirstChild, isPointAtRoot, isRangeAtRoot, isBlockTextEmptyAfterSelection, isStart, isRangeAcrossBlocks, isDescendant, isNodeType, isAcrossBlocks, isBlockCardCursor, isEmptyParagraphByPath, isEmptyContent, isContainer, getInsertElementsPath, isContainNestedType, anchorBlock, anchorBlockEntry, anchorInlineEntry, findPath, findNode, findDescendant, someNode, getToolbarItemDisabled, getPluginByToolbarItem };
59
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy9zcmMvcXVlcmllcy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDOUMsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDN0MsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDL0QsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDeEQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzdDLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNsRCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDcEQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3JELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ3hELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUNyRCxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQ3ZDLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM3QyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDbEQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3RELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQzNELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNqRCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sa0JBQWtCLENB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LE9BQU8sRUFDUCxTQUFTLEVBQ1QsWUFBWSxFQUNaLGdCQUFnQixFQUNoQixtQkFBbUIsRUFDbkIsUUFBUSxFQUNSLGNBQWMsRUFDZCx1QkFBdUIsRUFDdkIsT0FBTyxFQUNQLG9CQUFvQixFQUNwQixzQkFBc0IsRUFDdEIsY0FBYyxFQUNkLHdCQUF3QixFQUN4QixpQkFBaUIsRUFDakIsWUFBWSxFQUNaLGlCQUFpQixFQUNqQixrQkFBa0IsRUFDbEIsaUJBQWlCLEVBQ2pCLFVBQVUsRUFDVixXQUFXLEVBQ1gsZ0JBQWdCLEVBQ2hCLFdBQVcsRUFDWCxhQUFhLEVBQ2IsY0FBYyxFQUNkLGVBQWUsRUFDZixpQkFBaUIsRUFDakIsWUFBWSxFQUNaLFlBQVksRUFDWixhQUFhLEVBQ2IsYUFBYSxFQUNiLDhCQUE4QixFQUM5QixPQUFPLEVBQ1AsbUJBQW1CLEVBQ25CLFlBQVksRUFDWixVQUFVLEVBQ1YsY0FBYyxFQUNkLGlCQUFpQixFQUNqQixzQkFBc0IsRUFDdEIsY0FBYyxFQUNkLFdBQVcsRUFDWCxxQkFBcUIsRUFDckIsbUJBQW1CLEVBQ25CLFdBQVcsRUFDWCxnQkFBZ0IsRUFDaEIsaUJBQWlCLEVBQ2pCLFFBQVEsRUFDUixRQUFRLEVBQ1IsY0FBYyxFQUNkLFFBQVEsRUFDUixzQkFBc0IsRUFDdEIsc0JBQXNCLEVBQ3pCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBnZXRMYXN0Tm9kZSB9IGZyb20gJy4vZ2V0LWxhc3Qtbm9kZSc7XG5pbXBvcnQgeyBpc0FuY2VzdG9yIH0gZnJvbSAnLi9pcy1hbmNlc3Rvcic7XG5pbXBvcnQgeyBpc0NvbGxhcHNlZCB9IGZyb20gJy4vaXMtY29sbGFwc2VkJztcbmltcG9ydCB7IGdldEFuY2hvckJsb2NrRW50cnkgfSBmcm9tICcuL2dldC1hbmNob3ItYmxvY2stZW50cnknO1xuaW1wb3J0IHsgaXNFbXB0eVBhcmFncmFwaCB9IGZyb20gJy4vaXMtZW1wdHktcGFyYWdyYXBoJztcbmltcG9ydCB7IGlzUGFyYWdyYXBoIH0gZnJvbSAnLi9pcy1wYXJhZ3JhcGgnO1xuaW1wb3J0IHsgaXNCbG9ja0FjdGl2ZSB9IGZyb20gJy4vaXMtYmxvY2stYWN0aXZlJztcbmltcG9ydCB7IGlzSW5jbHVkZVR5cGVzIH0gZnJvbSAnLi9pcy1pbmNsdWRlLXR5cGVzJztcbmltcG9ydCB7IGdldEFib3ZlQnlUeXBlIH0gZnJvbSAnLi9nZXQtYWJvdmUtYnktdHlwZSc7XG5pbXBvcnQgeyBhbmNob3JCbG9ja0VudHJ5IH0gZnJvbSAnLi9hbmNob3ItYmxvY2stZW50cnknO1xuaW1wb3J0IHsgZ2V0Tm9kZXNCeVR5cGUgfSBmcm9tICcuL2dldC1ub2Rlcy1ieS10eXBlJztcbmltcG9ydCB7IGdldE5vZGVzIH0gZnJvbSAnLi9nZXQtbm9kZXMnO1xuaW1wb3J0IHsgYW5jaG9yQmxvY2sgfSBmcm9tICcuL2FuY2hvci1ibG9jayc7XG5pbXBvcnQgeyBnZXRCbG9ja0Fib3ZlIH0gZnJvbSAnLi9nZXQtYmxvY2stYWJvdmUnO1xuaW1wb3J0IHsgaXNBbmNlc3RvckVtcHR5IH0gZnJvbSAnLi9pcy1hbmNlc3Rvci1lbXB0eSc7XG5pbXBvcnQgeyBpc0Jsb2NrQWJvdmVFbXB0eSB9IGZyb20gJy4vaXMtYmxvY2stYWJvdmUtZW1wdHknO1xuaW1wb3J0IHsgaXNOb2RlVHlwZUluIH0gZnJvbSAnLi9pcy1ub2RlLXR5cGUtaW4nO1xuaW1wb3J0IHsgaXNGaXJzdENoaWxkIH0gZnJvbSAnLi9pcy1maXJzdC1jaGlsZCc7XG5pbXBvcnQgeyBnZXRQcmV2aW91c1BhdGggfSBmcm9tICcuL2dldC1wcmV2aW91cy1wYXRoJztcbmltcG9ydCB7IGdldE5vZGUgfSBmcm9tICcuL2dldC1ub2RlJztcbmltcG9ydCB7IGdldFBhcmVudCB9IGZyb20gJy4vZ2V0LXBhcmVudCc7XG5pbXBvcnQgeyBmaW5kUGF0aCB9IGZyb20gJy4vZmluZC1wYXRoJztcbmltcG9ydCB7IGZpbmROb2RlIH0gZnJvbSAnLi9maW5kLW5vZGUnO1xuaW1wb3J0IHsgZmluZERlc2NlbmRhbnQgfSBmcm9tICcuL2ZpbmQtZGVzY2VuZGFudCc7XG5pbXBvcnQgeyBnZXRMYXN0Q2hpbGRQYXRoLCBnZXRMYXN0Q2hpbGQgfSBmcm9tICcuL2dldC1sYXN0LWNoaWxkLXBhdGgnO1xuaW1wb3J0IHsgaXNQb2ludEF0Um9vdCB9IGZyb20gJy4vaXMtcG9pbnQtYXQtcm9vdCc7XG5pbXBvcnQgeyBpc1JhbmdlQXRSb290IH0gZnJvbSAnLi9pcy1yYW5nZS1hdC1yb290JztcbmltcG9ydCB7IGdldE5leHRTaWJsaW5nTm9kZXMgfSBmcm9tICcuL2dldC1uZXh0LXNpYmxpbmctbm9kZXMnO1xuaW1wb3J0IHsgaXNCbG9ja1RleHRFbXB0eUFmdGVyU2VsZWN0aW9uIH0gZnJvbSAnLi9pcy1ibG9jay10ZXh0LWVtcHR5LWFmdGVyLXNlbGVjdGlvbic7XG5pbXBvcnQgeyBnZXRBYm92ZSB9IGZyb20gJy4vZ2V0LWFib3ZlJztcbmltcG9ydCB7IGlzU3RhcnQgfSBmcm9tICcuL2lzLXN0YXJ0JztcbmltcG9ydCB7IGlzUmFuZ2VBY3Jvc3NCbG9ja3MgfSBmcm9tICcuL2lzLXJhbmdlLWFjcm9zcy1ibG9ja3MnO1xuaW1wb3J0IHsgc29tZU5vZGUgfSBmcm9tICcuL3NvbWUtbm9kZSc7XG5pbXBvcnQgeyBpc0Rlc2NlbmRhbnQgfSBmcm9tICcuL2lzLWRlc2NlbmRhbnQnO1xuaW1wb3J0IHsgaXNOb2RlVHlwZSB9IGZyb20gJy4vaXMtbm9kZS10eXBlJztcbmltcG9ydCB7IGFuY2hvcklubGluZUVudHJ5IH0gZnJvbSAnLi9hbmNob3ItaW5saW5lLWVudHJ5JztcbmltcG9ydCB7IGdldFBvaW50QmVmb3JlIH0gZnJvbSAnLi9nZXQtcG9pbnQtYmVmb3JlJztcbmltcG9ydCB7IGdldFNlbGVjdGlvbk5vZGVzQnlUeXBlIH0gZnJvbSAnLi9nZXQtc2VsZWN0aW9uLW5vZGVzLWJ5LXR5cGUnO1xuaW1wb3J0IHsgaXNBY3Jvc3NCbG9ja3MgfSBmcm9tICcuL2lzLWFjcm9zcy1ibG9ja3MnO1xuaW1wb3J0IHsgZ2V0VGV4dCB9IGZyb20gJy4vZ2V0LXRleHQnO1xuaW1wb3J0IHsgZ2V0UG9pbnRGcm9tTG9jYXRpb24gfSBmcm9tICcuL2dldC1wb2ludC1mcm9tLWxvY2F0aW9uJztcbmltcG9ydCB7IGdldFJhbmdlRnJvbUJsb2NrU3RhcnQgfSBmcm9tICcuL2dldC1yYW5nLWZyb20tYmxvY2stc3RhcnQnO1xuaW1wb3J0IHsgZ2V0UmFuZ2VCZWZvcmUgfSBmcm9tICcuL2dldC1yYW5nZS1iZWZvcmUnO1xuaW1wb3J0IHsgaXNCbG9ja0NhcmRDdXJzb3IgfSBmcm9tICcuL2lzLWJsb2NrLWNhcmQtY3Vyc29yJztcbmltcG9ydCB7IGdldEJsb2NrQ2FyZENlbnRlckN1cnNvciB9IGZyb20gJy4vZ2V0LWJsb2NrLWNhcmQtY3Vyc29yJztcbmltcG9ydCB7IGdldEJsb2NrQ2FyZEFib3ZlIH0gZnJvbSAnLi9nZXQtYmxvY2stY2FyZC1hYm92ZSc7XG5pbXBvcnQgeyBnZXRQbGFpblRleHQgfSBmcm9tICcuL2dldC1wbGFpbi10ZXh0JztcbmltcG9ydCB7IGlzRW1wdHlQYXJhZ3JhcGhCeVBhdGggfSBmcm9tICcuL2lzLWVtcHR5LXBhcmFncmFwaC1ieS1wYXRoJztcbmltcG9ydCB7IGdldFNlbGVjdGlvbk1hcmtzIH0gZnJvbSAnLi9nZXQtc2VsZWN0aW9uLW1hcmtzJztcbmltcG9ydCB7IGlzQ29udGFpbmVyIH0gZnJvbSAnLi9pcy1jb250YWluZXItdHlwZSc7XG5pbXBvcnQgeyBnZXRDb250YWluZXJCbG9ja3MgfSBmcm9tICcuL2dldC1jb250YWluZXItYmxvY2tzJztcbmltcG9ydCB7IGdldERpcmVjdGx5UGFyZW50IH0gZnJvbSAnLi9nZXQtZGlyZWN0bHktcGFyZW50JztcbmltcG9ydCB7IGdldEluc2VydEVsZW1lbnRzUGF0aCB9IGZyb20gJy4vZ2V0LWluc2VydC1lbGVtZW50cy1wYXRoJztcbmltcG9ydCB7IGlzQ29udGFpbk5lc3RlZFR5cGUgfSBmcm9tICcuL2lzLWNvbnRhaW4tbmVzdGVkLXR5cGUnO1xuaW1wb3J0IHsgZ2V0VG9vbGJhckl0ZW1EaXNhYmxlZCB9IGZyb20gJy4vZ2V0LXRvb2xiYXItZGlzYWJsZWQnO1xuaW1wb3J0IHsgZ2V0UGx1Z2luQnlUb29sYmFySXRlbSB9IGZyb20gJy4vZ2V0LXBsdWdpbi1ieS10b29sYmFyJztcbmltcG9ydCB7IGlzRW1wdHlDb250ZW50IH0gZnJvbSAnLi9pcy1lbXB0eS1jb250ZW50JztcblxuZXhwb3J0IHtcbiAgICBnZXRMYXN0Tm9kZSxcbiAgICBnZXRBbmNob3JCbG9ja0VudHJ5LFxuICAgIGdldEFib3ZlQnlUeXBlLFxuICAgIGdldE5vZGVzLFxuICAgIGdldE5vZGVzQnlUeXBlLFxuICAgIGdldEJsb2NrQWJvdmUsXG4gICAgZ2V0UHJldmlvdXNQYXRoLFxuICAgIGdldE5vZGUsXG4gICAgZ2V0UGFyZW50LFxuICAgIGdldExhc3RDaGlsZCxcbiAgICBnZXRMYXN0Q2hpbGRQYXRoLFxuICAgIGdldE5leHRTaWJsaW5nTm9kZXMsXG4gICAgZ2V0QWJvdmUsXG4gICAgZ2V0UG9pbnRCZWZvcmUsXG4gICAgZ2V0U2VsZWN0aW9uTm9kZXNCeVR5cGUsXG4gICAgZ2V0VGV4dCxcbiAgICBnZXRQb2ludEZyb21Mb2NhdGlvbixcbiAgICBnZXRSYW5nZUZyb21CbG9ja1N0YXJ0LFxuICAgIGdldFJhbmdlQmVmb3JlLFxuICAgIGdldEJsb2NrQ2FyZENlbnRlckN1cnNvcixcbiAgICBnZXRCbG9ja0NhcmRBYm92ZSxcbiAgICBnZXRQbGFpblRleHQsXG4gICAgZ2V0U2VsZWN0aW9uTWFya3MsXG4gICAgZ2V0Q29udGFpbmVyQmxvY2tzLFxuICAgIGdldERpcmVjdGx5UGFyZW50LFxuICAgIGlzQW5jZXN0b3IsXG4gICAgaXNDb2xsYXBzZWQsXG4gICAgaXNFbXB0eVBhcmFncmFwaCxcbiAgICBpc1BhcmFncmFwaCxcbiAgICBpc0Jsb2NrQWN0aXZlLFxuICAgIGlzSW5jbHVkZVR5cGVzLFxuICAgIGlzQW5jZXN0b3JFbXB0eSxcbiAgICBpc0Jsb2NrQWJvdmVFbXB0eSxcbiAgICBpc05vZGVUeXBlSW4sXG4gICAgaXNGaXJzdENoaWxkLFxuICAgIGlzUG9pbnRBdFJvb3QsXG4gICAgaXNSYW5nZUF0Um9vdCxcbiAgICBpc0Jsb2NrVGV4dEVtcHR5QWZ0ZXJTZWxlY3Rpb24sXG4gICAgaXNTdGFydCxcbiAgICBpc1JhbmdlQWNyb3NzQmxvY2tzLFxuICAgIGlzRGVzY2VuZGFudCxcbiAgICBpc05vZGVUeXBlLFxuICAgIGlzQWNyb3NzQmxvY2tzLFxuICAgIGlzQmxvY2tDYXJkQ3Vyc29yLFxuICAgIGlzRW1wdHlQYXJhZ3JhcGhCeVBhdGgsXG4gICAgaXNFbXB0eUNvbnRlbnQsXG4gICAgaXNDb250YWluZXIsXG4gICAgZ2V0SW5zZXJ0RWxlbWVudHNQYXRoLFxuICAgIGlzQ29udGFpbk5lc3RlZFR5cGUsXG4gICAgYW5jaG9yQmxvY2ssXG4gICAgYW5jaG9yQmxvY2tFbnRyeSxcbiAgICBhbmNob3JJbmxpbmVFbnRyeSxcbiAgICBmaW5kUGF0aCxcbiAgICBmaW5kTm9kZSxcbiAgICBmaW5kRGVzY2VuZGFudCxcbiAgICBzb21lTm9kZSxcbiAgICBnZXRUb29sYmFySXRlbURpc2FibGVkLFxuICAgIGdldFBsdWdpbkJ5VG9vbGJhckl0ZW1cbn07XG4iXX0=
@@ -0,0 +1,15 @@
1
+ import { Node } from 'slate';
2
+ import { ElementKinds } from '../constants/node-types';
3
+ export const isEmptyContent = (children) => {
4
+ if (!children || children.length < 1) {
5
+ return true;
6
+ }
7
+ if (children && children.length === 1) {
8
+ const firstNode = children[0];
9
+ if (firstNode.type === ElementKinds.default && firstNode.children.length === 1 && !Node.string(firstNode)) {
10
+ return true;
11
+ }
12
+ }
13
+ return false;
14
+ };
15
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaXMtZW1wdHktY29udGVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3BhY2thZ2VzL3NyYy9xdWVyaWVzL2lzLWVtcHR5LWNvbnRlbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFjLElBQUksRUFBVyxNQUFNLE9BQU8sQ0FBQztBQUNsRCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFFdkQsTUFBTSxDQUFDLE1BQU0sY0FBYyxHQUFHLENBQUMsUUFBc0IsRUFBRSxFQUFFO0lBQ3JELElBQUksQ0FBQyxRQUFRLElBQUksUUFBUSxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUU7UUFDbEMsT0FBTyxJQUFJLENBQUM7S0FDZjtJQUNELElBQUksUUFBUSxJQUFJLFFBQVEsQ0FBQyxNQUFNLEtBQUssQ0FBQyxFQUFFO1FBQ25DLE1BQU0sU0FBUyxHQUFHLFFBQVEsQ0FBQyxDQUFDLENBQVksQ0FBQztRQUN6QyxJQUFJLFNBQVMsQ0FBQyxJQUFJLEtBQUssWUFBWSxDQUFDLE9BQU8sSUFBSSxTQUFTLENBQUMsUUFBUSxDQUFDLE1BQU0sS0FBSyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxFQUFFO1lBQ3ZHLE9BQU8sSUFBSSxDQUFDO1NBQ2Y7S0FDSjtJQUNELE9BQU8sS0FBSyxDQUFDO0FBQ2pCLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERlc2NlbmRhbnQsIE5vZGUsIEVsZW1lbnQgfSBmcm9tICdzbGF0ZSc7XG5pbXBvcnQgeyBFbGVtZW50S2luZHMgfSBmcm9tICcuLi9jb25zdGFudHMvbm9kZS10eXBlcyc7XG5cbmV4cG9ydCBjb25zdCBpc0VtcHR5Q29udGVudCA9IChjaGlsZHJlbjogRGVzY2VuZGFudFtdKSA9PiB7XG4gICAgaWYgKCFjaGlsZHJlbiB8fCBjaGlsZHJlbi5sZW5ndGggPCAxKSB7XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cbiAgICBpZiAoY2hpbGRyZW4gJiYgY2hpbGRyZW4ubGVuZ3RoID09PSAxKSB7XG4gICAgICAgIGNvbnN0IGZpcnN0Tm9kZSA9IGNoaWxkcmVuWzBdIGFzIEVsZW1lbnQ7XG4gICAgICAgIGlmIChmaXJzdE5vZGUudHlwZSA9PT0gRWxlbWVudEtpbmRzLmRlZmF1bHQgJiYgZmlyc3ROb2RlLmNoaWxkcmVuLmxlbmd0aCA9PT0gMSAmJiAhTm9kZS5zdHJpbmcoZmlyc3ROb2RlKSkge1xuICAgICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIGZhbHNlO1xufTtcbiJdfQ==
@@ -0,0 +1,5 @@
1
+ export const getAllNodesByType = (nodes, type) => {
2
+ const allNodes = [].concat(...nodes.map(item => Array.isArray(item.children) && item.type && item.type !== type ? getAllNodesByType(item.children, type) : item));
3
+ return allNodes.filter(item => item.type && item.type === type);
4
+ };
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0LWFsbC1ub2Rlcy1ieS10eXBlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcGFja2FnZXMvc3JjL3V0aWxzL2dldC1hbGwtbm9kZXMtYnktdHlwZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFHQSxNQUFNLENBQUMsTUFBTSxpQkFBaUIsR0FBRyxDQUFDLEtBQWdCLEVBQUUsSUFBd0IsRUFBRSxFQUFFO0lBQzVFLE1BQU0sUUFBUSxHQUFHLEVBQUUsQ0FBQyxNQUFNLENBQ3RCLEdBQUcsS0FBSyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUNoQixLQUFLLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxJQUFJLENBQUMsSUFBSSxJQUFJLElBQUksQ0FBQyxJQUFJLEtBQUssSUFBSSxDQUFDLENBQUMsQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsUUFBcUIsRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUMvSCxDQUNKLENBQUM7SUFFRixPQUFPLFFBQVEsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsSUFBSSxJQUFJLElBQUksQ0FBQyxJQUFJLEtBQUssSUFBSSxDQUFDLENBQUM7QUFDcEUsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ3VzdG9tRWxlbWVudEtpbmRzIH0gZnJvbSAnLi4vY3VzdG9tLXR5cGVzJztcbmltcG9ydCB7IEVsZW1lbnQgfSBmcm9tICdzbGF0ZSc7XG5cbmV4cG9ydCBjb25zdCBnZXRBbGxOb2Rlc0J5VHlwZSA9IChub2RlczogRWxlbWVudFtdLCB0eXBlOiBDdXN0b21FbGVtZW50S2luZHMpID0+IHtcbiAgICBjb25zdCBhbGxOb2RlcyA9IFtdLmNvbmNhdChcbiAgICAgICAgLi4ubm9kZXMubWFwKGl0ZW0gPT5cbiAgICAgICAgICAgIEFycmF5LmlzQXJyYXkoaXRlbS5jaGlsZHJlbikgJiYgaXRlbS50eXBlICYmIGl0ZW0udHlwZSAhPT0gdHlwZSA/IGdldEFsbE5vZGVzQnlUeXBlKGl0ZW0uY2hpbGRyZW4gYXMgRWxlbWVudFtdLCB0eXBlKSA6IGl0ZW1cbiAgICAgICAgKVxuICAgICk7XG5cbiAgICByZXR1cm4gYWxsTm9kZXMuZmlsdGVyKGl0ZW0gPT4gaXRlbS50eXBlICYmIGl0ZW0udHlwZSA9PT0gdHlwZSk7XG59O1xuIl19