@worktile/theia 14.2.4 → 14.2.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -69,6 +69,7 @@ import { ThyMenuModule } from 'ngx-tethys/menu';
69
69
  import { TheListboxDirective, TheListboxOptionDirective, TheListboxGroupDirective } from './components/listbox/listbox';
70
70
  import { ThyEmptyModule } from 'ngx-tethys/empty';
71
71
  import { ThePreventDefaultDirective } from './components/action/prevent-default';
72
+ import { ThyPopoverModule } from 'ngx-tethys/popover';
72
73
  import * as i0 from "@angular/core";
73
74
  const TETHYS = [
74
75
  ThyIconModule,
@@ -93,7 +94,8 @@ const TETHYS = [
93
94
  ThyDividerModule,
94
95
  ThyDropdownModule,
95
96
  ThyMenuModule,
96
- ThyEmptyModule
97
+ ThyEmptyModule,
98
+ ThyPopoverModule
97
99
  ];
98
100
  export const COMPONENTS = [
99
101
  TheToolbarComponent,
@@ -201,7 +203,8 @@ TheEditorModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version
201
203
  ThyDividerModule,
202
204
  ThyDropdownModule,
203
205
  ThyMenuModule,
204
- ThyEmptyModule, CodemirrorModule, TheColumnSizeModule], exports: [TheEditorComponent,
206
+ ThyEmptyModule,
207
+ ThyPopoverModule, CodemirrorModule, TheColumnSizeModule], exports: [TheEditorComponent,
205
208
  TheToolbarComponent,
206
209
  TheToolbarDropdownComponent,
207
210
  TheToolbarItemComponent,
@@ -244,4 +247,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.0", ngImpor
244
247
  ]
245
248
  }]
246
249
  }] });
247
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWRpdG9yLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3BhY2thZ2VzL3NyYy9lZGl0b3IubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM3QyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzVDLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLHdDQUF3QyxDQUFDO0FBQ3BGLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDBDQUEwQyxDQUFDO0FBQ2hGLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQ3BFLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLDBEQUEwRCxDQUFDO0FBQ3ZHLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLGtEQUFrRCxDQUFDO0FBQzNGLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHdDQUF3QyxDQUFDO0FBQzdFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ3hELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLFNBQVMsQ0FBQztBQUM3RCxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSwyQ0FBMkMsQ0FBQztBQUNuRixPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDM0QsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDcEUsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sbURBQW1ELENBQUM7QUFDN0YsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sK0NBQStDLENBQUM7QUFDckYsT0FB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RSxnQkFBZ0IsRUFBRSxtQkFBbUI7MkZBcUIxRyxlQUFlO2tCQXZCM0IsUUFBUTttQkFBQztvQkFDTixZQUFZLEVBQUUsQ0FBQyxrQkFBa0IsRUFBRSxHQUFHLEtBQUssRUFBRSxHQUFHLFVBQVUsRUFBRSxHQUFHLGlCQUFpQixDQUFDO29CQUNqRixPQUFPLEVBQUUsQ0FBQyxZQUFZLEVBQUUsZUFBZSxFQUFFLFdBQVcsRUFBRSxXQUFXLEVBQUUsR0FBRyxNQUFNLEVBQUUsZ0JBQWdCLEVBQUUsbUJBQW1CLENBQUM7b0JBQ3BILE9BQU8sRUFBRTt3QkFDTCxrQkFBa0I7d0JBQ2xCLG1CQUFtQjt3QkFDbkIsMkJBQTJCO3dCQUMzQix1QkFBdUI7d0JBQ3ZCLDBCQUEwQjt3QkFDMUIsc0JBQXNCO3dCQUN0Qix5QkFBeUI7d0JBQ3pCLHdCQUF3Qjt3QkFDeEIsbUJBQW1CO3dCQUNuQiwwQkFBMEI7cUJBQzdCO29CQUNELFNBQVMsRUFBRTt3QkFDUDs0QkFDSSxPQUFPLEVBQUUsb0JBQW9COzRCQUM3QixRQUFRLEVBQUUsd0JBQXdCO3lCQUNyQzt3QkFDRCxpQkFBaUI7cUJBQ3BCO2lCQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IFNsYXRlTW9kdWxlIH0gZnJvbSAnc2xhdGUtYW5ndWxhcic7XG5pbXBvcnQgeyBUaGVEZWZhdWx0RWxlbWVudENvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9lbGVtZW50L2VsZW1lbnQuY29tcG9uZW50JztcbmltcG9ydCB7IFRoZVRlbXBsYXRlQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL3RlbXBsYXRlL3RlbXBsYXRlLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBUaGVUZXh0Q29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL3RleHQvdGV4dC5jb21wb25lbnQnO1xuaW1wb3J0IHsgVGhlVG9vbGJhckRyb3Bkb3duQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL3Rvb2xiYXItZHJvcGRvd24vdG9vbGJhci1kcm9wZG93bi5jb21wb25lbnQnO1xuaW1wb3J0IHsgVGhlVG9vbGJhckl0ZW1Db21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvdG9vbGJhci1pdGVtL3Rvb2xiYXItaXRlbS5jb21wb25lbnQnO1xuaW1wb3J0IHsgVGhlVG9vbGJhckNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy90b29sYmFyL3Rvb2xiYXIuY29tcG9uZW50JztcbmltcG9ydCB7IFRoZUVkaXRvckNvbXBvbmVudCB9IGZyb20gJy4vZWRpdG9yLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBFbGVtZW50Q2xhc3NQaXBlLCBFbGVtZW50U3R5bGVQaXBlIH0gZnJvbSAnLi9waXBlcyc7XG5pbXBvcnQgeyBUaGVCbG9ja3F1b3RlQ29tcG9uZW50IH0gZnJvbSAnLi9wbHVnaW5zL2Jsb2NrcXVvdGUvYmxvY2txdW90ZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgVGhlSHJDb21wb25lbnQgfSBmcm9tICcuL3BsdWdpbnMvaHIvaHIuY29tcG9uZW50JztcbmltcG9ydCB7IFRoZUltYWdlQ29tcG9uZW50IH0gZnJvbSAnLi9wbHVnaW5zL2ltYWdlL2ltYWdlLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBUaGVCdWxsZXRlZExpc3RDb21wb25lbnQgfSBmcm9tICcuL3BsdWdpbnMvbGlzdC9jb21wb25lbnRzL2J1bGxldGVkLWxpc3QuY29tcG9uZW50JztcbmltcG9ydCB7IFRoZUxpc3RJdGVtQ29tcG9uZW50IH0gZnJvbSAnLi9wbHVnaW5zL2xpc3QvY29tcG9uZW50cy9saXN0LWl0ZW0uY29tcG9uZW50JztcbmltcG9ydCB7IFRoZU51bWJlcmVkTGlzdENvbXBvbmVudCB9IGZyb20gJy4vcGx1Z2lucy9saXN0L2NvbXBvbmVudHMvbnVtYmVyZWQtbGlzdC5jb21wb25lbnQnO1xuaW1wb3J0IHsgVGhlVG9kb0l0ZW1Db21wb25lbnQgfSBmcm9tICcuL3BsdWdpbnMvdG9kby1pdGVtL3RvZG8taXRlbS5jb21wb25lbnQnO1xuXG5pbXBvcnQgeyBTY3JvbGxpbmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jZGsvc2Nyb2xsaW5nJztcbmltcG9ydCB7IENvZGVtaXJyb3JNb2R1bGUgfSBmcm9tICduZy1jb2RlbWlycm9yJztcbmltcG9ydCB7IFRoeUFjdGlvbk1vZHVsZSB9IGZyb20gJ25neC10ZXRoeXMvYWN0aW9uJztcbmltcG9ydCB7IFRoeUFsZXJ0TW9kdWxlIH0gZnJvbSAnbmd4LXRldGh5cy9hbGVydCc7XG5pbXBvcnQgeyBUaHlBdXRvY29tcGxldGVNb2R1bGUgfSBmcm9tICduZ3gtdGV0aHlzL2F1dG9jb21wbGV0ZSc7XG5pbXBvcnQgeyBUaHlBdmF0YXJNb2R1bGUgfSBmcm9tICduZ3gtdGV0aHlzL2F2YXRhcic7XG5pbXBvcnQgeyBUaHlCdXR0b25Nb2R1bGUgfSBmcm9tICduZ3gtdGV0aHlzL2J1dHRvbic7XG5pbXBvcnQgeyBUaHlEaWFsb2dNb2R1bGUgfSBmcm9tICduZ3gtdGV0aHlzL2RpYWxvZyc7XG5pbXBvcnQgeyBUaHlEaXZpZGVyTW9kdWxlIH0gZnJvbSAnbmd4LXRldGh5cy9kaXZpZGVyJztcbmltcG9ydCB7IFRoeURyb3Bkb3duTW9kdWxlIH0gZnJvbSAnbmd4LXRldGh5cy9kcm9wZG93bic7XG5pbXBvcnQgeyBUaHlGb3JtTW9kdWxlIH0gZnJvbSAnbmd4LXRldGh5cy9mb3JtJztcbmltcG9ydCB7IFRoeUljb25Nb2R1bGUgfSBmcm9tICduZ3gtdGV0aHlzL2ljb24nO1xuaW1wb3J0IHsgVGh5SW1hZ2VNb2R1bGUgfSBmcm9tICduZ3gtdGV0aHlzL2ltYWdlJztcbmltcG9ydCB7IFRoeUlucHV0TW9kdWxlIH0gZnJvbSAnbmd4LXRldGh5cy9pbnB1dCc7XG5pbXBvcnQgeyBUaHlMaXN0TW9kdWxlIH0gZnJvbSAnbmd4LXRldGh5cy9saXN0JztcbmltcG9ydCB7IFRoeU5hdk1vZHVsZSB9IGZyb20gJ25neC10ZXRoeXMvbmF2JztcbmltcG9ydCB7IFRoeU5vdGlmeU1vZHVsZSB9IGZyb20gJ25neC10ZXRoeXMvbm90aWZ5JztcbmltcG9ydCB7IFRoeVByb2dyZXNzTW9kdWxlIH0gZnJvbSAnbmd4LXRldGh5cy9wcm9ncmVzcyc7XG5pbXBvcnQgeyBUaHlSZXNpemFibGVNb2R1bGUgfSBmcm9tICduZ3gtdGV0aHlzL3Jlc2l6YWJsZSc7XG5pbXBvcnQgeyBUaHlTZWxlY3RNb2R1bGUgfSBmcm9tICduZ3gtdGV0aHlzL3NlbGVjdCc7XG5pbXBvcnQgeyBUaHlTaGFyZWRNb2R1bGUgfSBmcm9tICduZ3gtdGV0aHlzL3NoYXJlZCc7XG5pbXBvcnQgeyBUaHlTd2l0Y2hNb2R1bGUgfSBmcm9tICduZ3gtdGV0aHlzL3N3aXRjaCc7XG5pbXBvcnQgeyBUaHlUb29sdGlwTW9kdWxlIH0gZnJvbSAnbmd4LXRldGh5cy90b29sdGlwJztcbmltcG9ydCB7IFRoZUNvbG9yU2VsZWN0Q29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2NvbG9yLXNlbGVjdC9jb2xvci1zZWxlY3QuY29tcG9uZW50JztcbmltcG9ydCB7IFRoZUNvbHVtblNpemVNb2R1bGUgfSBmcm9tICcuL2NvbXBvbmVudHMvY29sdW1uLXJlc2l6ZS9jb2x1bW4tcmVzaXplLm1vZHVsZSc7XG5pbXBvcnQgeyBUaGVDb250ZXh0TWVudUNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9jb250ZXh0bWVudS9jb250ZXh0bWVudS5jb21wb25lbnQnO1xuaW1wb3J0IHsgVGhlQ29udmVyc2lvbkhpbnRDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvY29udmVyc2lvbi1oaW50L2NvbnZlcnNpb24taGludC5jb21wb25lbnQnO1xuaW1wb3J0IHsgVGhlSW5saW5lVG9vbGJhckNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9pbmxpbmUtdG9vbGJhci9pbmxpbmUtdG9vbGJhci5jb21wb25lbnQnO1xuaW1wb3J0IHsgVGhlVGFibGVTZWxlY3RDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvdGFibGUtc2VsZWN0L3RhYmxlLXNlbGVjdC5jb21wb25lbnQnO1xuaW1wb3J0IHsgVGhlVG9vbGJhckdyb3VwQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL3Rvb2xiYXItZ3JvdXAvdG9vbGJhci1ncm91cC5jb21wb25lbnQnO1xuaW1wb3J0IHsgVGhlVG9vbGJhckdyb3VwVG9rZW4gfSBmcm9tICcuL2NvbnN0YW50cy90b29sYmFyJztcbmltcG9ydCB7IFRIRV9NT0RFX1BST1ZJREVSIH0gZnJvbSAnLi9pbnRlcmZhY2VzJztcbmltcG9ydCB7IFRoZUNvZGVDb21wb25lbnQgfSBmcm9tICcuL3BsdWdpbnMvY29kZS9jb2RlLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBUaGVDb2xvclRvb2xiYXJJdGVtQ29tcG9uZW50IH0gZnJvbSAnLi9wbHVnaW5zL2NvbG9yL3Rvb2xiYXItaXRlbS5jb21wb25lbnQnO1xuaW1wb3J0IHsgVGhlSW5saW5lQ29kZUNvbXBvbmVudCB9IGZyb20gJy4vcGx1Z2lucy9pbmxpbmUtY29kZS9pbmxpbmUtY29kZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgVGhlTGlua0VkaXRDb21wb25lbnQgfSBmcm9tICcuL3BsdWdpbnMvbGluay9lZGl0L2xpbmstZWRpdC5jb21wb25lbnQnO1xuaW1wb3J0IHsgVGhlTGlua0hvdmVyQ29tcG9uZW50IH0gZnJvbSAnLi9wbHVnaW5zL2xpbmsvaG92ZXIvbGluay1ob3Zlci5jb21wb25lbnQnO1xuaW1wb3J0IHsgVGhlTGlua0NvbXBvbmVudCB9IGZyb20gJy4vcGx1Z2lucy9saW5rL2xpbmsuY29tcG9uZW50JztcbmltcG9ydCB7IFRoZVF1aWNrSW5zZXJ0Q29tcG9uZW50IH0gZnJvbSAnLi9wbHVnaW5zL3F1aWNrLWluc2VydC9jb21wb25lbnRzL3F1aWNrLWluc2VydC5jb21wb25lbnQnO1xuaW1wb3J0IHsgVGhlSW5zZXJ0TWFya0NvbXBvbmVudCB9IGZyb20gJy4vcGx1Z2lucy90YWJsZS9jb21wb25lbnRzL2luc2VydC1tYXJrL2luc2VydC1tYXJrLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBUaGVUYWJsZVJvd0NvbXBvbmVudCB9IGZyb20gJy4vcGx1Z2lucy90YWJsZS9jb21wb25lbnRzL3Jvdy9yb3cuY29tcG9uZW50JztcbmltcG9ydCB7IFRoZVRhYmxlQ29tcG9uZW50IH0gZnJvbSAnLi9wbHVnaW5zL3RhYmxlL2NvbXBvbmVudHMvdGFibGUuY29tcG9uZW50JztcbmltcG9ydCB7IFRoZVRkQ29tcG9uZW50IH0gZnJvbSAnLi9wbHVnaW5zL3RhYmxlL2NvbXBvbmVudHMvdGQvdGQuY29tcG9uZW50JztcbmltcG9ydCB7IFRoZVRhYmxlT3B0aW9uc0NvbXBvbmVudCB9IGZyb20gJy4vcGx1Z2lucy90YWJsZS9jb21wb25lbnRzL3Rvb2xiYXIvdGFibGUtb3B0aW9ucy5jb21wb25lbnQnO1xuaW1wb3J0IHsgVGhlVGFibGVUb29sYmFyQ29tcG9uZW50IH0gZnJvbSAnLi9wbHVnaW5zL3RhYmxlL2NvbXBvbmVudHMvdG9vbGJhci90YWJsZS10b29sYmFyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBUaGVUYWJsZVRvb2xiYXJJdGVtQ29tcG9uZW50IH0gZnJvbSAnLi9wbHVnaW5zL3RhYmxlL3Rvb2xiYXItaXRlbS5jb21wb25lbnQnO1xuaW1wb3J0IHsgVGhlVmVydGljYWxUb29sYmFySXRlbUNvbXBvbmVudCB9IGZyb20gJy4vcGx1Z2lucy92ZXJ0aWNhbC1hbGlnbi90b29sYmFyLWl0ZW0uY29tcG9uZW50JztcbmltcG9ydCB7IFRoZVBsdWdpbk1lbnVDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvcGx1Z2luLW1lbnUvcGx1Z2luLW1lbnUuY29tcG9uZW50JztcbmltcG9ydCB7IFRoeU1lbnVNb2R1bGUgfSBmcm9tICduZ3gtdGV0aHlzL21lbnUnO1xuaW1wb3J0IHsgVGhlTGlzdGJveERpcmVjdGl2ZSwgVGhlTGlzdGJveE9wdGlvbkRpcmVjdGl2ZSwgVGhlTGlzdGJveEdyb3VwRGlyZWN0aXZlIH0gZnJvbSAnLi9jb21wb25lbnRzL2xpc3Rib3gvbGlzdGJveCc7XG5pbXBvcnQgeyBUaHlFbXB0eU1vZHVsZSB9IGZyb20gJ25neC10ZXRoeXMvZW1wdHknO1xuaW1wb3J0IHsgVGhlUHJldmVudERlZmF1bHREaXJlY3RpdmUgfSBmcm9tICcuL2NvbXBvbmVudHMvYWN0aW9uL3ByZXZlbnQtZGVmYXVsdCc7XG5cbmNvbnN0IFRFVEhZUyA9IFtcbiAgICBUaHlJY29uTW9kdWxlLFxuICAgIFRoeUF2YXRhck1vZHVsZSxcbiAgICBUaHlOYXZNb2R1bGUsXG4gICAgVGh5Rm9ybU1vZHVsZSxcbiAgICBUaHlTaGFyZWRNb2R1bGUsXG4gICAgVGh5TGlzdE1vZHVsZSxcbiAgICBUaHlUb29sdGlwTW9kdWxlLFxuICAgIFRoeVByb2dyZXNzTW9kdWxlLFxuICAgIFRoeUF1dG9jb21wbGV0ZU1vZHVsZSxcbiAgICBUaHlJbnB1dE1vZHVsZSxcbiAgICBUaHlTZWxlY3RNb2R1bGUsXG4gICAgVGh5QnV0dG9uTW9kdWxlLFxuICAgIFRoeU5vdGlmeU1vZHVsZSxcbiAgICBUaHlBbGVydE1vZHVsZSxcbiAgICBUaHlSZXNpemFibGVNb2R1bGUsXG4gICAgVGh5U3dpdGNoTW9kdWxlLFxuICAgIFRoeUltYWdlTW9kdWxlLFxuICAgIFRoeURpYWxvZ01vZHVsZSxcbiAgICBUaHlBY3Rpb25Nb2R1bGUsXG4gICAgVGh5RGl2aWRlck1vZHVsZSxcbiAgICBUaHlEcm9wZG93bk1vZHVsZSxcbiAgICBUaHlNZW51TW9kdWxlLFxuICAgIFRoeUVtcHR5TW9kdWxlXG5dO1xuXG5leHBvcnQgY29uc3QgQ09NUE9ORU5UUyA9IFtcbiAgICBUaGVUb29sYmFyQ29tcG9uZW50LFxuICAgIFRoZVRvb2xiYXJEcm9wZG93bkNvbXBvbmVudCxcbiAgICBUaGVUb29sYmFyR3JvdXBDb21wb25lbnQsXG4gICAgVGhlVG9vbGJhckl0ZW1Db21wb25lbnQsXG4gICAgVGhlSW5saW5lVG9vbGJhckNvbXBvbmVudCxcbiAgICBUaGVUZXh0Q29tcG9uZW50LFxuICAgIFRoZURlZmF1bHRFbGVtZW50Q29tcG9uZW50LFxuICAgIFRoZVF1aWNrSW5zZXJ0Q29tcG9uZW50LFxuICAgIFRoZVBsdWdpbk1lbnVDb21wb25lbnQsXG4gICAgVGhlQ29sb3JTZWxlY3RDb21wb25lbnQsXG4gICAgVGhlQ29sb3JUb29sYmFySXRlbUNvbXBvbmVudCxcbiAgICBUaGVDb250ZXh0TWVudUNvbXBvbmVudCxcbiAgICBUaGVJbnNlcnRNYXJrQ29tcG9uZW50LFxuICAgIFRoZVRhYmxlU2VsZWN0Q29tcG9uZW50LFxuICAgIFRoZVRhYmxlVG9vbGJhckl0ZW1Db21wb25lbnQsXG4gICAgVGhlQ29udmVyc2lvbkhpbnRDb21wb25lbnQsXG4gICAgVGhlVmVydGljYWxUb29sYmFySXRlbUNvbXBvbmVudCxcbiAgICBUaGVUYWJsZU9wdGlvbnNDb21wb25lbnQsXG4gICAgVGhlTGlzdGJveE9wdGlvbkRpcmVjdGl2ZSxcbiAgICBUaGVMaXN0Ym94R3JvdXBEaXJlY3RpdmUsXG4gICAgVGhlTGlzdGJveERpcmVjdGl2ZSxcbiAgICBUaGVQcmV2ZW50RGVmYXVsdERpcmVjdGl2ZVxuXTtcblxuZXhwb3J0IGNvbnN0IFBMVUdJTl9DT01QT05FTlRTID0gW1xuICAgIFRoZUltYWdlQ29tcG9uZW50LFxuICAgIFRoZVRlbXBsYXRlQ29tcG9uZW50LFxuICAgIFRoZUhyQ29tcG9uZW50LFxuICAgIFRoZUJsb2NrcXVvdGVDb21wb25lbnQsXG4gICAgVGhlVG9kb0l0ZW1Db21wb25lbnQsXG4gICAgVGhlTGlzdEl0ZW1Db21wb25lbnQsXG4gICAgVGhlQnVsbGV0ZWRMaXN0Q29tcG9uZW50LFxuICAgIFRoZU51bWJlcmVkTGlzdENvbXBvbmVudCxcbiAgICBUaGVDb2RlQ29tcG9uZW50LFxuICAgIFRoZUxpbmtDb21wb25lbnQsXG4gICAgVGhlTGlua0VkaXRDb21wb25lbnQsXG4gICAgVGhlTGlua0hvdmVyQ29tcG9uZW50LFxuICAgIFRoZVRhYmxlVG9vbGJhckNvbXBvbmVudCxcbiAgICBUaGVUYWJsZUNvbXBvbmVudCxcbiAgICBUaGVUYWJsZVJvd0NvbXBvbmVudCxcbiAgICBUaGVUZENvbXBvbmVudCxcbiAgICBUaGVJbmxpbmVDb2RlQ29tcG9uZW50XG5dO1xuXG5jb25zdCBQSVBFUyA9IFtFbGVtZW50U3R5bGVQaXBlLCBFbGVtZW50Q2xhc3NQaXBlXTtcblxuQE5nTW9kdWxlKHtcbiAgICBkZWNsYXJhdGlvbnM6IFtUaGVFZGl0b3JDb21wb25lbnQsIC4uLlBJUEVTLCAuLi5DT01QT05FTlRTLCAuLi5QTFVHSU5fQ09NUE9ORU5UU10sXG4gICAgaW1wb3J0czogW0NvbW1vbk1vZHVsZSwgU2Nyb2xsaW5nTW9kdWxlLCBTbGF0ZU1vZHVsZSwgRm9ybXNNb2R1bGUsIC4uLlRFVEhZUywgQ29kZW1pcnJvck1vZHVsZSwgVGhlQ29sdW1uU2l6ZU1vZHVsZV0sXG4gICAgZXhwb3J0czogW1xuICAgICAgICBUaGVFZGl0b3JDb21wb25lbnQsXG4gICAgICAgIFRoZVRvb2xiYXJDb21wb25lbnQsXG4gICAgICAgIFRoZVRvb2xiYXJEcm9wZG93bkNvbXBvbmVudCxcbiAgICAgICAgVGhlVG9vbGJhckl0ZW1Db21wb25lbnQsXG4gICAgICAgIFRoZURlZmF1bHRFbGVtZW50Q29tcG9uZW50LFxuICAgICAgICBUaGVQbHVnaW5NZW51Q29tcG9uZW50LFxuICAgICAgICBUaGVMaXN0Ym94T3B0aW9uRGlyZWN0aXZlLFxuICAgICAgICBUaGVMaXN0Ym94R3JvdXBEaXJlY3RpdmUsXG4gICAgICAgIFRoZUxpc3Rib3hEaXJlY3RpdmUsXG4gICAgICAgIFRoZVByZXZlbnREZWZhdWx0RGlyZWN0aXZlXG4gICAgXSxcbiAgICBwcm92aWRlcnM6IFtcbiAgICAgICAge1xuICAgICAgICAgICAgcHJvdmlkZTogVGhlVG9vbGJhckdyb3VwVG9rZW4sXG4gICAgICAgICAgICB1c2VWYWx1ZTogVGhlVG9vbGJhckdyb3VwQ29tcG9uZW50XG4gICAgICAgIH0sXG4gICAgICAgIFRIRV9NT0RFX1BST1ZJREVSXG4gICAgXVxufSlcbmV4cG9ydCBjbGFzcyBUaGVFZGl0b3JNb2R1bGUge31cbiJdfQ==
250
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWRpdG9yLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3BhY2thZ2VzL3NyYy9lZGl0b3IubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM3QyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzVDLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLHdDQUF3QyxDQUFDO0FBQ3BGLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDBDQUEwQyxDQUFDO0FBQ2hGLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQ3BFLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLDBEQUEwRCxDQUFDO0FBQ3ZHLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLGtEQUFrRCxDQUFDO0FBQzNGLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHdDQUF3QyxDQUFDO0FBQzdFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ3hELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLFNBQVMsQ0FBQztBQUM3RCxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSwyQ0FBMkMsQ0FBQztBQUNuRixPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDM0QsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDcEUsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sbURBQW1ELENBQUM7QUFDN0YsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sK0NBQStDLENBQUM7QUFDckYsT0FB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RCxpQkFBaUI7S0FDcEIsWUFuQlMsWUFBWSxFQUFFLGVBQWUsRUFBRSxXQUFXLEVBQUUsV0FBVyxFQUFLLE1BQU0sRUFBRSxnQkFBZ0IsRUFBRSxtQkFBbUI7MkZBcUIxRyxlQUFlO2tCQXZCM0IsUUFBUTttQkFBQztvQkFDTixZQUFZLEVBQUUsQ0FBQyxrQkFBa0IsRUFBRSxHQUFHLEtBQUssRUFBRSxHQUFHLFVBQVUsRUFBRSxHQUFHLGlCQUFpQixDQUFDO29CQUNqRixPQUFPLEVBQUUsQ0FBQyxZQUFZLEVBQUUsZUFBZSxFQUFFLFdBQVcsRUFBRSxXQUFXLEVBQUUsR0FBRyxNQUFNLEVBQUUsZ0JBQWdCLEVBQUUsbUJBQW1CLENBQUM7b0JBQ3BILE9BQU8sRUFBRTt3QkFDTCxrQkFBa0I7d0JBQ2xCLG1CQUFtQjt3QkFDbkIsMkJBQTJCO3dCQUMzQix1QkFBdUI7d0JBQ3ZCLDBCQUEwQjt3QkFDMUIsc0JBQXNCO3dCQUN0Qix5QkFBeUI7d0JBQ3pCLHdCQUF3Qjt3QkFDeEIsbUJBQW1CO3dCQUNuQiwwQkFBMEI7cUJBQzdCO29CQUNELFNBQVMsRUFBRTt3QkFDUDs0QkFDSSxPQUFPLEVBQUUsb0JBQW9COzRCQUM3QixRQUFRLEVBQUUsd0JBQXdCO3lCQUNyQzt3QkFDRCxpQkFBaUI7cUJBQ3BCO2lCQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IFNsYXRlTW9kdWxlIH0gZnJvbSAnc2xhdGUtYW5ndWxhcic7XG5pbXBvcnQgeyBUaGVEZWZhdWx0RWxlbWVudENvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9lbGVtZW50L2VsZW1lbnQuY29tcG9uZW50JztcbmltcG9ydCB7IFRoZVRlbXBsYXRlQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL3RlbXBsYXRlL3RlbXBsYXRlLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBUaGVUZXh0Q29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL3RleHQvdGV4dC5jb21wb25lbnQnO1xuaW1wb3J0IHsgVGhlVG9vbGJhckRyb3Bkb3duQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL3Rvb2xiYXItZHJvcGRvd24vdG9vbGJhci1kcm9wZG93bi5jb21wb25lbnQnO1xuaW1wb3J0IHsgVGhlVG9vbGJhckl0ZW1Db21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvdG9vbGJhci1pdGVtL3Rvb2xiYXItaXRlbS5jb21wb25lbnQnO1xuaW1wb3J0IHsgVGhlVG9vbGJhckNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy90b29sYmFyL3Rvb2xiYXIuY29tcG9uZW50JztcbmltcG9ydCB7IFRoZUVkaXRvckNvbXBvbmVudCB9IGZyb20gJy4vZWRpdG9yLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBFbGVtZW50Q2xhc3NQaXBlLCBFbGVtZW50U3R5bGVQaXBlIH0gZnJvbSAnLi9waXBlcyc7XG5pbXBvcnQgeyBUaGVCbG9ja3F1b3RlQ29tcG9uZW50IH0gZnJvbSAnLi9wbHVnaW5zL2Jsb2NrcXVvdGUvYmxvY2txdW90ZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgVGhlSHJDb21wb25lbnQgfSBmcm9tICcuL3BsdWdpbnMvaHIvaHIuY29tcG9uZW50JztcbmltcG9ydCB7IFRoZUltYWdlQ29tcG9uZW50IH0gZnJvbSAnLi9wbHVnaW5zL2ltYWdlL2ltYWdlLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBUaGVCdWxsZXRlZExpc3RDb21wb25lbnQgfSBmcm9tICcuL3BsdWdpbnMvbGlzdC9jb21wb25lbnRzL2J1bGxldGVkLWxpc3QuY29tcG9uZW50JztcbmltcG9ydCB7IFRoZUxpc3RJdGVtQ29tcG9uZW50IH0gZnJvbSAnLi9wbHVnaW5zL2xpc3QvY29tcG9uZW50cy9saXN0LWl0ZW0uY29tcG9uZW50JztcbmltcG9ydCB7IFRoZU51bWJlcmVkTGlzdENvbXBvbmVudCB9IGZyb20gJy4vcGx1Z2lucy9saXN0L2NvbXBvbmVudHMvbnVtYmVyZWQtbGlzdC5jb21wb25lbnQnO1xuaW1wb3J0IHsgVGhlVG9kb0l0ZW1Db21wb25lbnQgfSBmcm9tICcuL3BsdWdpbnMvdG9kby1pdGVtL3RvZG8taXRlbS5jb21wb25lbnQnO1xuXG5pbXBvcnQgeyBTY3JvbGxpbmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jZGsvc2Nyb2xsaW5nJztcbmltcG9ydCB7IENvZGVtaXJyb3JNb2R1bGUgfSBmcm9tICduZy1jb2RlbWlycm9yJztcbmltcG9ydCB7IFRoeUFjdGlvbk1vZHVsZSB9IGZyb20gJ25neC10ZXRoeXMvYWN0aW9uJztcbmltcG9ydCB7IFRoeUFsZXJ0TW9kdWxlIH0gZnJvbSAnbmd4LXRldGh5cy9hbGVydCc7XG5pbXBvcnQgeyBUaHlBdXRvY29tcGxldGVNb2R1bGUgfSBmcm9tICduZ3gtdGV0aHlzL2F1dG9jb21wbGV0ZSc7XG5pbXBvcnQgeyBUaHlBdmF0YXJNb2R1bGUgfSBmcm9tICduZ3gtdGV0aHlzL2F2YXRhcic7XG5pbXBvcnQgeyBUaHlCdXR0b25Nb2R1bGUgfSBmcm9tICduZ3gtdGV0aHlzL2J1dHRvbic7XG5pbXBvcnQgeyBUaHlEaWFsb2dNb2R1bGUgfSBmcm9tICduZ3gtdGV0aHlzL2RpYWxvZyc7XG5pbXBvcnQgeyBUaHlEaXZpZGVyTW9kdWxlIH0gZnJvbSAnbmd4LXRldGh5cy9kaXZpZGVyJztcbmltcG9ydCB7IFRoeURyb3Bkb3duTW9kdWxlIH0gZnJvbSAnbmd4LXRldGh5cy9kcm9wZG93bic7XG5pbXBvcnQgeyBUaHlGb3JtTW9kdWxlIH0gZnJvbSAnbmd4LXRldGh5cy9mb3JtJztcbmltcG9ydCB7IFRoeUljb25Nb2R1bGUgfSBmcm9tICduZ3gtdGV0aHlzL2ljb24nO1xuaW1wb3J0IHsgVGh5SW1hZ2VNb2R1bGUgfSBmcm9tICduZ3gtdGV0aHlzL2ltYWdlJztcbmltcG9ydCB7IFRoeUlucHV0TW9kdWxlIH0gZnJvbSAnbmd4LXRldGh5cy9pbnB1dCc7XG5pbXBvcnQgeyBUaHlMaXN0TW9kdWxlIH0gZnJvbSAnbmd4LXRldGh5cy9saXN0JztcbmltcG9ydCB7IFRoeU5hdk1vZHVsZSB9IGZyb20gJ25neC10ZXRoeXMvbmF2JztcbmltcG9ydCB7IFRoeU5vdGlmeU1vZHVsZSB9IGZyb20gJ25neC10ZXRoeXMvbm90aWZ5JztcbmltcG9ydCB7IFRoeVByb2dyZXNzTW9kdWxlIH0gZnJvbSAnbmd4LXRldGh5cy9wcm9ncmVzcyc7XG5pbXBvcnQgeyBUaHlSZXNpemFibGVNb2R1bGUgfSBmcm9tICduZ3gtdGV0aHlzL3Jlc2l6YWJsZSc7XG5pbXBvcnQgeyBUaHlTZWxlY3RNb2R1bGUgfSBmcm9tICduZ3gtdGV0aHlzL3NlbGVjdCc7XG5pbXBvcnQgeyBUaHlTaGFyZWRNb2R1bGUgfSBmcm9tICduZ3gtdGV0aHlzL3NoYXJlZCc7XG5pbXBvcnQgeyBUaHlTd2l0Y2hNb2R1bGUgfSBmcm9tICduZ3gtdGV0aHlzL3N3aXRjaCc7XG5pbXBvcnQgeyBUaHlUb29sdGlwTW9kdWxlIH0gZnJvbSAnbmd4LXRldGh5cy90b29sdGlwJztcbmltcG9ydCB7IFRoZUNvbG9yU2VsZWN0Q29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2NvbG9yLXNlbGVjdC9jb2xvci1zZWxlY3QuY29tcG9uZW50JztcbmltcG9ydCB7IFRoZUNvbHVtblNpemVNb2R1bGUgfSBmcm9tICcuL2NvbXBvbmVudHMvY29sdW1uLXJlc2l6ZS9jb2x1bW4tcmVzaXplLm1vZHVsZSc7XG5pbXBvcnQgeyBUaGVDb250ZXh0TWVudUNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9jb250ZXh0bWVudS9jb250ZXh0bWVudS5jb21wb25lbnQnO1xuaW1wb3J0IHsgVGhlQ29udmVyc2lvbkhpbnRDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvY29udmVyc2lvbi1oaW50L2NvbnZlcnNpb24taGludC5jb21wb25lbnQnO1xuaW1wb3J0IHsgVGhlSW5saW5lVG9vbGJhckNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9pbmxpbmUtdG9vbGJhci9pbmxpbmUtdG9vbGJhci5jb21wb25lbnQnO1xuaW1wb3J0IHsgVGhlVGFibGVTZWxlY3RDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvdGFibGUtc2VsZWN0L3RhYmxlLXNlbGVjdC5jb21wb25lbnQnO1xuaW1wb3J0IHsgVGhlVG9vbGJhckdyb3VwQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL3Rvb2xiYXItZ3JvdXAvdG9vbGJhci1ncm91cC5jb21wb25lbnQnO1xuaW1wb3J0IHsgVGhlVG9vbGJhckdyb3VwVG9rZW4gfSBmcm9tICcuL2NvbnN0YW50cy90b29sYmFyJztcbmltcG9ydCB7IFRIRV9NT0RFX1BST1ZJREVSIH0gZnJvbSAnLi9pbnRlcmZhY2VzJztcbmltcG9ydCB7IFRoZUNvZGVDb21wb25lbnQgfSBmcm9tICcuL3BsdWdpbnMvY29kZS9jb2RlLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBUaGVDb2xvclRvb2xiYXJJdGVtQ29tcG9uZW50IH0gZnJvbSAnLi9wbHVnaW5zL2NvbG9yL3Rvb2xiYXItaXRlbS5jb21wb25lbnQnO1xuaW1wb3J0IHsgVGhlSW5saW5lQ29kZUNvbXBvbmVudCB9IGZyb20gJy4vcGx1Z2lucy9pbmxpbmUtY29kZS9pbmxpbmUtY29kZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgVGhlTGlua0VkaXRDb21wb25lbnQgfSBmcm9tICcuL3BsdWdpbnMvbGluay9lZGl0L2xpbmstZWRpdC5jb21wb25lbnQnO1xuaW1wb3J0IHsgVGhlTGlua0hvdmVyQ29tcG9uZW50IH0gZnJvbSAnLi9wbHVnaW5zL2xpbmsvaG92ZXIvbGluay1ob3Zlci5jb21wb25lbnQnO1xuaW1wb3J0IHsgVGhlTGlua0NvbXBvbmVudCB9IGZyb20gJy4vcGx1Z2lucy9saW5rL2xpbmsuY29tcG9uZW50JztcbmltcG9ydCB7IFRoZVF1aWNrSW5zZXJ0Q29tcG9uZW50IH0gZnJvbSAnLi9wbHVnaW5zL3F1aWNrLWluc2VydC9jb21wb25lbnRzL3F1aWNrLWluc2VydC5jb21wb25lbnQnO1xuaW1wb3J0IHsgVGhlSW5zZXJ0TWFya0NvbXBvbmVudCB9IGZyb20gJy4vcGx1Z2lucy90YWJsZS9jb21wb25lbnRzL2luc2VydC1tYXJrL2luc2VydC1tYXJrLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBUaGVUYWJsZVJvd0NvbXBvbmVudCB9IGZyb20gJy4vcGx1Z2lucy90YWJsZS9jb21wb25lbnRzL3Jvdy9yb3cuY29tcG9uZW50JztcbmltcG9ydCB7IFRoZVRhYmxlQ29tcG9uZW50IH0gZnJvbSAnLi9wbHVnaW5zL3RhYmxlL2NvbXBvbmVudHMvdGFibGUuY29tcG9uZW50JztcbmltcG9ydCB7IFRoZVRkQ29tcG9uZW50IH0gZnJvbSAnLi9wbHVnaW5zL3RhYmxlL2NvbXBvbmVudHMvdGQvdGQuY29tcG9uZW50JztcbmltcG9ydCB7IFRoZVRhYmxlT3B0aW9uc0NvbXBvbmVudCB9IGZyb20gJy4vcGx1Z2lucy90YWJsZS9jb21wb25lbnRzL3Rvb2xiYXIvdGFibGUtb3B0aW9ucy5jb21wb25lbnQnO1xuaW1wb3J0IHsgVGhlVGFibGVUb29sYmFyQ29tcG9uZW50IH0gZnJvbSAnLi9wbHVnaW5zL3RhYmxlL2NvbXBvbmVudHMvdG9vbGJhci90YWJsZS10b29sYmFyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBUaGVUYWJsZVRvb2xiYXJJdGVtQ29tcG9uZW50IH0gZnJvbSAnLi9wbHVnaW5zL3RhYmxlL3Rvb2xiYXItaXRlbS5jb21wb25lbnQnO1xuaW1wb3J0IHsgVGhlVmVydGljYWxUb29sYmFySXRlbUNvbXBvbmVudCB9IGZyb20gJy4vcGx1Z2lucy92ZXJ0aWNhbC1hbGlnbi90b29sYmFyLWl0ZW0uY29tcG9uZW50JztcbmltcG9ydCB7IFRoZVBsdWdpbk1lbnVDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvcGx1Z2luLW1lbnUvcGx1Z2luLW1lbnUuY29tcG9uZW50JztcbmltcG9ydCB7IFRoeU1lbnVNb2R1bGUgfSBmcm9tICduZ3gtdGV0aHlzL21lbnUnO1xuaW1wb3J0IHsgVGhlTGlzdGJveERpcmVjdGl2ZSwgVGhlTGlzdGJveE9wdGlvbkRpcmVjdGl2ZSwgVGhlTGlzdGJveEdyb3VwRGlyZWN0aXZlIH0gZnJvbSAnLi9jb21wb25lbnRzL2xpc3Rib3gvbGlzdGJveCc7XG5pbXBvcnQgeyBUaHlFbXB0eU1vZHVsZSB9IGZyb20gJ25neC10ZXRoeXMvZW1wdHknO1xuaW1wb3J0IHsgVGhlUHJldmVudERlZmF1bHREaXJlY3RpdmUgfSBmcm9tICcuL2NvbXBvbmVudHMvYWN0aW9uL3ByZXZlbnQtZGVmYXVsdCc7XG5pbXBvcnQgeyBUaHlQb3BvdmVyTW9kdWxlIH0gZnJvbSAnbmd4LXRldGh5cy9wb3BvdmVyJztcblxuY29uc3QgVEVUSFlTID0gW1xuICAgIFRoeUljb25Nb2R1bGUsXG4gICAgVGh5QXZhdGFyTW9kdWxlLFxuICAgIFRoeU5hdk1vZHVsZSxcbiAgICBUaHlGb3JtTW9kdWxlLFxuICAgIFRoeVNoYXJlZE1vZHVsZSxcbiAgICBUaHlMaXN0TW9kdWxlLFxuICAgIFRoeVRvb2x0aXBNb2R1bGUsXG4gICAgVGh5UHJvZ3Jlc3NNb2R1bGUsXG4gICAgVGh5QXV0b2NvbXBsZXRlTW9kdWxlLFxuICAgIFRoeUlucHV0TW9kdWxlLFxuICAgIFRoeVNlbGVjdE1vZHVsZSxcbiAgICBUaHlCdXR0b25Nb2R1bGUsXG4gICAgVGh5Tm90aWZ5TW9kdWxlLFxuICAgIFRoeUFsZXJ0TW9kdWxlLFxuICAgIFRoeVJlc2l6YWJsZU1vZHVsZSxcbiAgICBUaHlTd2l0Y2hNb2R1bGUsXG4gICAgVGh5SW1hZ2VNb2R1bGUsXG4gICAgVGh5RGlhbG9nTW9kdWxlLFxuICAgIFRoeUFjdGlvbk1vZHVsZSxcbiAgICBUaHlEaXZpZGVyTW9kdWxlLFxuICAgIFRoeURyb3Bkb3duTW9kdWxlLFxuICAgIFRoeU1lbnVNb2R1bGUsXG4gICAgVGh5RW1wdHlNb2R1bGUsXG4gICAgVGh5UG9wb3Zlck1vZHVsZVxuXTtcblxuZXhwb3J0IGNvbnN0IENPTVBPTkVOVFMgPSBbXG4gICAgVGhlVG9vbGJhckNvbXBvbmVudCxcbiAgICBUaGVUb29sYmFyRHJvcGRvd25Db21wb25lbnQsXG4gICAgVGhlVG9vbGJhckdyb3VwQ29tcG9uZW50LFxuICAgIFRoZVRvb2xiYXJJdGVtQ29tcG9uZW50LFxuICAgIFRoZUlubGluZVRvb2xiYXJDb21wb25lbnQsXG4gICAgVGhlVGV4dENvbXBvbmVudCxcbiAgICBUaGVEZWZhdWx0RWxlbWVudENvbXBvbmVudCxcbiAgICBUaGVRdWlja0luc2VydENvbXBvbmVudCxcbiAgICBUaGVQbHVnaW5NZW51Q29tcG9uZW50LFxuICAgIFRoZUNvbG9yU2VsZWN0Q29tcG9uZW50LFxuICAgIFRoZUNvbG9yVG9vbGJhckl0ZW1Db21wb25lbnQsXG4gICAgVGhlQ29udGV4dE1lbnVDb21wb25lbnQsXG4gICAgVGhlSW5zZXJ0TWFya0NvbXBvbmVudCxcbiAgICBUaGVUYWJsZVNlbGVjdENvbXBvbmVudCxcbiAgICBUaGVUYWJsZVRvb2xiYXJJdGVtQ29tcG9uZW50LFxuICAgIFRoZUNvbnZlcnNpb25IaW50Q29tcG9uZW50LFxuICAgIFRoZVZlcnRpY2FsVG9vbGJhckl0ZW1Db21wb25lbnQsXG4gICAgVGhlVGFibGVPcHRpb25zQ29tcG9uZW50LFxuICAgIFRoZUxpc3Rib3hPcHRpb25EaXJlY3RpdmUsXG4gICAgVGhlTGlzdGJveEdyb3VwRGlyZWN0aXZlLFxuICAgIFRoZUxpc3Rib3hEaXJlY3RpdmUsXG4gICAgVGhlUHJldmVudERlZmF1bHREaXJlY3RpdmVcbl07XG5cbmV4cG9ydCBjb25zdCBQTFVHSU5fQ09NUE9ORU5UUyA9IFtcbiAgICBUaGVJbWFnZUNvbXBvbmVudCxcbiAgICBUaGVUZW1wbGF0ZUNvbXBvbmVudCxcbiAgICBUaGVIckNvbXBvbmVudCxcbiAgICBUaGVCbG9ja3F1b3RlQ29tcG9uZW50LFxuICAgIFRoZVRvZG9JdGVtQ29tcG9uZW50LFxuICAgIFRoZUxpc3RJdGVtQ29tcG9uZW50LFxuICAgIFRoZUJ1bGxldGVkTGlzdENvbXBvbmVudCxcbiAgICBUaGVOdW1iZXJlZExpc3RDb21wb25lbnQsXG4gICAgVGhlQ29kZUNvbXBvbmVudCxcbiAgICBUaGVMaW5rQ29tcG9uZW50LFxuICAgIFRoZUxpbmtFZGl0Q29tcG9uZW50LFxuICAgIFRoZUxpbmtIb3ZlckNvbXBvbmVudCxcbiAgICBUaGVUYWJsZVRvb2xiYXJDb21wb25lbnQsXG4gICAgVGhlVGFibGVDb21wb25lbnQsXG4gICAgVGhlVGFibGVSb3dDb21wb25lbnQsXG4gICAgVGhlVGRDb21wb25lbnQsXG4gICAgVGhlSW5saW5lQ29kZUNvbXBvbmVudFxuXTtcblxuY29uc3QgUElQRVMgPSBbRWxlbWVudFN0eWxlUGlwZSwgRWxlbWVudENsYXNzUGlwZV07XG5cbkBOZ01vZHVsZSh7XG4gICAgZGVjbGFyYXRpb25zOiBbVGhlRWRpdG9yQ29tcG9uZW50LCAuLi5QSVBFUywgLi4uQ09NUE9ORU5UUywgLi4uUExVR0lOX0NPTVBPTkVOVFNdLFxuICAgIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIFNjcm9sbGluZ01vZHVsZSwgU2xhdGVNb2R1bGUsIEZvcm1zTW9kdWxlLCAuLi5URVRIWVMsIENvZGVtaXJyb3JNb2R1bGUsIFRoZUNvbHVtblNpemVNb2R1bGVdLFxuICAgIGV4cG9ydHM6IFtcbiAgICAgICAgVGhlRWRpdG9yQ29tcG9uZW50LFxuICAgICAgICBUaGVUb29sYmFyQ29tcG9uZW50LFxuICAgICAgICBUaGVUb29sYmFyRHJvcGRvd25Db21wb25lbnQsXG4gICAgICAgIFRoZVRvb2xiYXJJdGVtQ29tcG9uZW50LFxuICAgICAgICBUaGVEZWZhdWx0RWxlbWVudENvbXBvbmVudCxcbiAgICAgICAgVGhlUGx1Z2luTWVudUNvbXBvbmVudCxcbiAgICAgICAgVGhlTGlzdGJveE9wdGlvbkRpcmVjdGl2ZSxcbiAgICAgICAgVGhlTGlzdGJveEdyb3VwRGlyZWN0aXZlLFxuICAgICAgICBUaGVMaXN0Ym94RGlyZWN0aXZlLFxuICAgICAgICBUaGVQcmV2ZW50RGVmYXVsdERpcmVjdGl2ZVxuICAgIF0sXG4gICAgcHJvdmlkZXJzOiBbXG4gICAgICAgIHtcbiAgICAgICAgICAgIHByb3ZpZGU6IFRoZVRvb2xiYXJHcm91cFRva2VuLFxuICAgICAgICAgICAgdXNlVmFsdWU6IFRoZVRvb2xiYXJHcm91cENvbXBvbmVudFxuICAgICAgICB9LFxuICAgICAgICBUSEVfTU9ERV9QUk9WSURFUlxuICAgIF1cbn0pXG5leHBvcnQgY2xhc3MgVGhlRWRpdG9yTW9kdWxlIHt9XG4iXX0=
@@ -16,4 +16,4 @@ export const ThePluginMenu = {
16
16
  }
17
17
  }
18
18
  };
19
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGx1Z2luLW1lbnUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9zcmMvaW50ZXJmYWNlcy9wbHVnaW5zL3BsdWdpbi1tZW51LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQTRCQSxNQUFNLENBQUMsTUFBTSxhQUFhLEdBQUc7SUFDekIsV0FBVyxDQUFDLEtBQVU7UUFDbEIsSUFBSSxLQUFLLFlBQVksTUFBTSxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsRUFBRTtZQUN2QyxPQUFPLElBQUksQ0FBQztTQUNmO2FBQU07WUFDSCxPQUFPLEtBQUssQ0FBQztTQUNoQjtJQUNMLENBQUM7SUFDRCxVQUFVLENBQUMsS0FBVTtRQUNqQixJQUFJLEtBQUssQ0FBQyxHQUFHLEVBQUU7WUFDWCxPQUFPLElBQUksQ0FBQztTQUNmO2FBQU07WUFDSCxPQUFPLEtBQUssQ0FBQztTQUNoQjtJQUNMLENBQUM7Q0FDSixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRWRpdG9yIH0gZnJvbSAnc2xhdGUnO1xuaW1wb3J0IHsgVGhlUGx1Z2luTWVudUl0ZW1UeXBlIH0gZnJvbSAnLi4vLi4vY29uc3RhbnRzJztcblxuZXhwb3J0IHR5cGUgVGhlUGx1Z2luTWVudUl0ZW1LZXkgPSBzdHJpbmc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgVGhlUGx1Z2luTWVudUl0ZW0ge1xuICAgIGtleTogVGhlUGx1Z2luTWVudUl0ZW1LZXk7XG4gICAgbmFtZTogc3RyaW5nO1xuICAgIGV4ZWN1dGU/OiAoZWRpdG9yOiBFZGl0b3IpID0+IHZvaWQ7XG4gICAgYWN0aXZlPzogKGVkaXRvcjogRWRpdG9yKSA9PiBib29sZWFuIHwgc3RyaW5nO1xuICAgIHR5cGU6IFRoZVBsdWdpbk1lbnVJdGVtVHlwZTtcbiAgICBkZXNjcmlwdGlvbj86IHN0cmluZztcbiAgICBpY29uPzogc3RyaW5nO1xuICAgIG1lbnVJY29uPzogc3RyaW5nO1xuICAgIGtleXdvcmRzPzogc3RyaW5nO1xuICAgIGNoaWxkcmVuPzogVGhlUGx1Z2luTWVudUl0ZW1bXTtcbiAgICBkaXNwbGF5S2V5Pzogc3RyaW5nO1xuICAgIGlzRXhwYW5kZWQ/OiBib29sZWFuO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFRoZVBsdWdpbk1lbnVHcm91cCB7XG4gICAgZ3JvdXBOYW1lOiBzdHJpbmc7XG59XG5cbmV4cG9ydCB0eXBlIFRoZVBsdWdpbk1lbnVJdGVtQ29uZmlnID0gVGhlUGx1Z2luTWVudUdyb3VwIHwgVGhlUGx1Z2luTWVudUl0ZW1LZXk7XG5cbmV4cG9ydCB0eXBlIFRoZVBsdWdpbk1lbnUgPSAoVGhlUGx1Z2luTWVudUdyb3VwIHwgVGhlUGx1Z2luTWVudUl0ZW0pW107XG5cbmV4cG9ydCBjb25zdCBUaGVQbHVnaW5NZW51ID0ge1xuICAgIGlzTWVudUdyb3VwKHZhbHVlOiBhbnkpOiB2YWx1ZSBpcyBUaGVQbHVnaW5NZW51R3JvdXAge1xuICAgICAgICBpZiAodmFsdWUgaW5zdGFuY2VvZiBPYmplY3QgJiYgIXZhbHVlLmtleSkge1xuICAgICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgIH1cbiAgICB9LFxuICAgIGlzTWVudUl0ZW0odmFsdWU6IGFueSk6IHZhbHVlIGlzIFRoZVBsdWdpbk1lbnVJdGVtIHtcbiAgICAgICAgaWYgKHZhbHVlLmtleSkge1xuICAgICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgIH1cbiAgICB9XG59O1xuIl19
19
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGx1Z2luLW1lbnUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9zcmMvaW50ZXJmYWNlcy9wbHVnaW5zL3BsdWdpbi1tZW51LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQTJCQSxNQUFNLENBQUMsTUFBTSxhQUFhLEdBQUc7SUFDekIsV0FBVyxDQUFDLEtBQVU7UUFDbEIsSUFBSSxLQUFLLFlBQVksTUFBTSxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsRUFBRTtZQUN2QyxPQUFPLElBQUksQ0FBQztTQUNmO2FBQU07WUFDSCxPQUFPLEtBQUssQ0FBQztTQUNoQjtJQUNMLENBQUM7SUFDRCxVQUFVLENBQUMsS0FBVTtRQUNqQixJQUFJLEtBQUssQ0FBQyxHQUFHLEVBQUU7WUFDWCxPQUFPLElBQUksQ0FBQztTQUNmO2FBQU07WUFDSCxPQUFPLEtBQUssQ0FBQztTQUNoQjtJQUNMLENBQUM7Q0FDSixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRWRpdG9yIH0gZnJvbSAnc2xhdGUnO1xuaW1wb3J0IHsgVGhlUGx1Z2luTWVudUl0ZW1UeXBlIH0gZnJvbSAnLi4vLi4vY29uc3RhbnRzJztcblxuZXhwb3J0IHR5cGUgVGhlUGx1Z2luTWVudUl0ZW1LZXkgPSBzdHJpbmc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgVGhlUGx1Z2luTWVudUl0ZW0ge1xuICAgIGtleTogVGhlUGx1Z2luTWVudUl0ZW1LZXk7XG4gICAgbmFtZTogc3RyaW5nO1xuICAgIGV4ZWN1dGU/OiAoZWRpdG9yOiBFZGl0b3IpID0+IHZvaWQ7XG4gICAgYWN0aXZlPzogKGVkaXRvcjogRWRpdG9yKSA9PiBib29sZWFuIHwgc3RyaW5nO1xuICAgIHR5cGU6IFRoZVBsdWdpbk1lbnVJdGVtVHlwZTtcbiAgICBkZXNjcmlwdGlvbj86IHN0cmluZztcbiAgICBpY29uPzogc3RyaW5nO1xuICAgIG1lbnVJY29uPzogc3RyaW5nO1xuICAgIGtleXdvcmRzPzogc3RyaW5nO1xuICAgIGNoaWxkcmVuPzogVGhlUGx1Z2luTWVudUl0ZW1bXTtcbiAgICBkaXNwbGF5S2V5Pzogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFRoZVBsdWdpbk1lbnVHcm91cCB7XG4gICAgZ3JvdXBOYW1lOiBzdHJpbmc7XG59XG5cbmV4cG9ydCB0eXBlIFRoZVBsdWdpbk1lbnVJdGVtQ29uZmlnID0gVGhlUGx1Z2luTWVudUdyb3VwIHwgVGhlUGx1Z2luTWVudUl0ZW1LZXk7XG5cbmV4cG9ydCB0eXBlIFRoZVBsdWdpbk1lbnUgPSAoVGhlUGx1Z2luTWVudUdyb3VwIHwgVGhlUGx1Z2luTWVudUl0ZW0pW107XG5cbmV4cG9ydCBjb25zdCBUaGVQbHVnaW5NZW51ID0ge1xuICAgIGlzTWVudUdyb3VwKHZhbHVlOiBhbnkpOiB2YWx1ZSBpcyBUaGVQbHVnaW5NZW51R3JvdXAge1xuICAgICAgICBpZiAodmFsdWUgaW5zdGFuY2VvZiBPYmplY3QgJiYgIXZhbHVlLmtleSkge1xuICAgICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgIH1cbiAgICB9LFxuICAgIGlzTWVudUl0ZW0odmFsdWU6IGFueSk6IHZhbHVlIGlzIFRoZVBsdWdpbk1lbnVJdGVtIHtcbiAgICAgICAgaWYgKHZhbHVlLmtleSkge1xuICAgICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgIH1cbiAgICB9XG59O1xuIl19
@@ -39,7 +39,7 @@ export const createHrPlugin = createPluginFactory({
39
39
  menuItems: [
40
40
  {
41
41
  key: ElementKinds.hr,
42
- keywords: 'fengexian,fgx,divider,分割线',
42
+ keywords: 'fengexian,fgx,divider,line,分割线',
43
43
  type: ThePluginMenuItemType.group,
44
44
  active: editor => TheQueries.isBlockActive(editor, ElementKinds.hr),
45
45
  execute: editor => HrEditor.insertHr(editor),
@@ -53,4 +53,4 @@ export const createHrPlugin = createPluginFactory({
53
53
  allowParentTypes: [ElementKinds.tableCell]
54
54
  }
55
55
  });
56
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaHIucGx1Z2luLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvc3JjL3BsdWdpbnMvaHIvaHIucGx1Z2luLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLFlBQVksQ0FBQztBQUNqRCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDOUMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNoRCxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQ3ZDLE9BQU8sS0FBSyxVQUFVLE1BQU0sZUFBZSxDQUFDO0FBQzVDLE9BQU8sRUFBRSxlQUFlLEVBQWtCLHFCQUFxQixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFFckcsTUFBTSxDQUFDLE1BQU0sTUFBTSxHQUFHLENBQW1CLE1BQVMsRUFBSyxFQUFFO0lBQ3JELE1BQU0sRUFBRSxNQUFNLEVBQUUsV0FBVyxFQUFFLGFBQWEsRUFBRSxHQUFHLE1BQU0sQ0FBQztJQUV0RCxNQUFNLENBQUMsTUFBTSxHQUFHLENBQUMsT0FBZ0IsRUFBRSxFQUFFO1FBQ2pDLE9BQU8sT0FBTyxDQUFDLElBQUksS0FBSyxZQUFZLENBQUMsRUFBRSxJQUFJLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUMvRCxDQUFDLENBQUM7SUFFRixNQUFNLENBQUMsV0FBVyxHQUFHLENBQUMsT0FBZ0IsRUFBRSxFQUFFO1FBQ3RDLElBQUksT0FBTyxDQUFDLElBQUksS0FBSyxZQUFZLENBQUMsRUFBRSxFQUFFO1lBQ2xDLE9BQU8sSUFBSSxDQUFDO1NBQ2Y7UUFDRCxPQUFPLFdBQVcsQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUNoQyxDQUFDLENBQUM7SUFFRixNQUFNLENBQUMsYUFBYSxHQUFHLENBQUMsT0FBZ0IsRUFBRSxFQUFFO1FBQ3hDLElBQUksT0FBTyxDQUFDLElBQUksS0FBSyxZQUFZLENBQUMsRUFBRSxFQUFFO1lBQ2xDLE9BQU8sY0FBYyxDQUFDO1NBQ3pCO1FBQ0QsT0FBTyxhQUFhLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDbEMsQ0FBQyxDQUFDO0lBRUYsT0FBTyxNQUFNLENBQUM7QUFDbEIsQ0FBQyxDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sY0FBYyxHQUFHLG1CQUFtQixDQUFDO0lBQzlDLEdBQUcsRUFBRSxVQUFVLENBQUMsRUFBRTtJQUNsQixhQUFhLEVBQUUsTUFBTTtJQUNyQixZQUFZLEVBQUU7UUFDVjtZQUNJLEdBQUcsRUFBRSxZQUFZLENBQUMsRUFBRTtZQUNwQixJQUFJLEVBQUUsaUJBQWlCO1lBQ3ZCLElBQUksRUFBRSxLQUFLO1lBQ1gsTUFBTSxFQUFFLE1BQU0sQ0FBQyxFQUFFLENBQUMsVUFBVSxDQUFDLGFBQWEsQ0FBQyxNQUFNLEVBQUUsWUFBWSxDQUFDLEVBQUUsQ0FBQztZQUNuRSxPQUFPLEVBQUUsTUFBTSxDQUFDLEVBQUUsQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQztTQUMvQztLQUNKO0lBQ0QsU0FBUyxFQUFFO1FBQ1A7WUFDSSxHQUFHLEVBQUUsWUFBWSxDQUFDLEVBQUU7WUFDcEIsUUFBUSxFQUFFLDJCQUEyQjtZQUNyQyxJQUFJLEVBQUUscUJBQXFCLENBQUMsS0FBSztZQUNqQyxNQUFNLEVBQUUsTUFBTSxDQUFDLEVBQUUsQ0FBQyxVQUFVLENBQUMsYUFBYSxDQUFDLE1BQU0sRUFBRSxZQUFZLENBQUMsRUFBRSxDQUFDO1lBQ25FLE9BQU8sRUFBRSxNQUFNLENBQUMsRUFBRSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDO1lBQzVDLElBQUksRUFBRSxLQUFLO1lBQ1gsUUFBUSxFQUFFLGVBQWUsQ0FBQyxFQUFFO1lBQzVCLFdBQVcsRUFBRSxXQUFXO1lBQ3hCLFVBQVUsRUFBRSxNQUFNO1NBQ3JCO0tBQ0o7SUFDRCxPQUFPLEVBQUU7UUFDTCxnQkFBZ0IsRUFBRSxDQUFDLFlBQVksQ0FBQyxTQUFTLENBQUM7S0FDN0M7Q0FDSixDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBFZGl0b3IsIEVsZW1lbnQgfSBmcm9tICdzbGF0ZSc7XG5pbXBvcnQgeyBjcmVhdGVQbHVnaW5GYWN0b3J5IH0gZnJvbSAnLi4vLi4vY29yZSc7XG5pbXBvcnQgeyBQbHVnaW5LZXlzIH0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcyc7XG5pbXBvcnQgeyBFbGVtZW50S2luZHMgfSBmcm9tICcuLi8uLi9jb25zdGFudHMnO1xuaW1wb3J0IHsgVGhlSHJDb21wb25lbnQgfSBmcm9tICcuL2hyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBIckVkaXRvciB9IGZyb20gJy4vaHIuZWRpdG9yJztcbmltcG9ydCAqIGFzIFRoZVF1ZXJpZXMgZnJvbSAnLi4vLi4vcXVlcmllcyc7XG5pbXBvcnQgeyBQbHVnaW5NZW51SWNvbnMsIFBsdWdpbk1lbnVTdmdzLCBUaGVQbHVnaW5NZW51SXRlbVR5cGUgfSBmcm9tICcuLi8uLi9jb25zdGFudHMvcGx1Z2luLW1lbnUnO1xuXG5leHBvcnQgY29uc3Qgd2l0aEhyID0gPFQgZXh0ZW5kcyBFZGl0b3I+KGVkaXRvcjogVCk6IFQgPT4ge1xuICAgIGNvbnN0IHsgaXNWb2lkLCBpc0Jsb2NrQ2FyZCwgcmVuZGVyRWxlbWVudCB9ID0gZWRpdG9yO1xuXG4gICAgZWRpdG9yLmlzVm9pZCA9IChlbGVtZW50OiBFbGVtZW50KSA9PiB7XG4gICAgICAgIHJldHVybiBlbGVtZW50LnR5cGUgPT09IEVsZW1lbnRLaW5kcy5ociB8fCBpc1ZvaWQoZWxlbWVudCk7XG4gICAgfTtcblxuICAgIGVkaXRvci5pc0Jsb2NrQ2FyZCA9IChlbGVtZW50OiBFbGVtZW50KSA9PiB7XG4gICAgICAgIGlmIChlbGVtZW50LnR5cGUgPT09IEVsZW1lbnRLaW5kcy5ocikge1xuICAgICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGlzQmxvY2tDYXJkKGVsZW1lbnQpO1xuICAgIH07XG5cbiAgICBlZGl0b3IucmVuZGVyRWxlbWVudCA9IChlbGVtZW50OiBFbGVtZW50KSA9PiB7XG4gICAgICAgIGlmIChlbGVtZW50LnR5cGUgPT09IEVsZW1lbnRLaW5kcy5ocikge1xuICAgICAgICAgICAgcmV0dXJuIFRoZUhyQ29tcG9uZW50O1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiByZW5kZXJFbGVtZW50KGVsZW1lbnQpO1xuICAgIH07XG5cbiAgICByZXR1cm4gZWRpdG9yO1xufTtcblxuZXhwb3J0IGNvbnN0IGNyZWF0ZUhyUGx1Z2luID0gY3JlYXRlUGx1Z2luRmFjdG9yeSh7XG4gICAga2V5OiBQbHVnaW5LZXlzLmhyLFxuICAgIHdpdGhPdmVycmlkZXM6IHdpdGhIcixcbiAgICB0b29sYmFySXRlbXM6IFtcbiAgICAgICAge1xuICAgICAgICAgICAga2V5OiBFbGVtZW50S2luZHMuaHIsXG4gICAgICAgICAgICBpY29uOiAnaG9yaXpvbnRhbC1saW5lJyxcbiAgICAgICAgICAgIG5hbWU6ICfliIblibLnur8nLFxuICAgICAgICAgICAgYWN0aXZlOiBlZGl0b3IgPT4gVGhlUXVlcmllcy5pc0Jsb2NrQWN0aXZlKGVkaXRvciwgRWxlbWVudEtpbmRzLmhyKSxcbiAgICAgICAgICAgIGV4ZWN1dGU6IGVkaXRvciA9PiBIckVkaXRvci5pbnNlcnRIcihlZGl0b3IpXG4gICAgICAgIH1cbiAgICBdLFxuICAgIG1lbnVJdGVtczogW1xuICAgICAgICB7XG4gICAgICAgICAgICBrZXk6IEVsZW1lbnRLaW5kcy5ocixcbiAgICAgICAgICAgIGtleXdvcmRzOiAnZmVuZ2V4aWFuLGZneCxkaXZpZGVyLOWIhuWJsue6vycsXG4gICAgICAgICAgICB0eXBlOiBUaGVQbHVnaW5NZW51SXRlbVR5cGUuZ3JvdXAsXG4gICAgICAgICAgICBhY3RpdmU6IGVkaXRvciA9PiBUaGVRdWVyaWVzLmlzQmxvY2tBY3RpdmUoZWRpdG9yLCBFbGVtZW50S2luZHMuaHIpLFxuICAgICAgICAgICAgZXhlY3V0ZTogZWRpdG9yID0+IEhyRWRpdG9yLmluc2VydEhyKGVkaXRvciksXG4gICAgICAgICAgICBuYW1lOiAn5YiG5Ymy57q/JyxcbiAgICAgICAgICAgIG1lbnVJY29uOiBQbHVnaW5NZW51SWNvbnMuaHIsXG4gICAgICAgICAgICBkZXNjcmlwdGlvbjogJ+S9v+eUqOawtOW5s+e6v+WIhumalOWGheWuuScsXG4gICAgICAgICAgICBkaXNwbGF5S2V5OiAnL2ZneCdcbiAgICAgICAgfVxuICAgIF0sXG4gICAgb3B0aW9uczoge1xuICAgICAgICBhbGxvd1BhcmVudFR5cGVzOiBbRWxlbWVudEtpbmRzLnRhYmxlQ2VsbF1cbiAgICB9XG59KTtcbiJdfQ==
56
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaHIucGx1Z2luLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvc3JjL3BsdWdpbnMvaHIvaHIucGx1Z2luLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLFlBQVksQ0FBQztBQUNqRCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDOUMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNoRCxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQ3ZDLE9BQU8sS0FBSyxVQUFVLE1BQU0sZUFBZSxDQUFDO0FBQzVDLE9BQU8sRUFBRSxlQUFlLEVBQWtCLHFCQUFxQixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFFckcsTUFBTSxDQUFDLE1BQU0sTUFBTSxHQUFHLENBQW1CLE1BQVMsRUFBSyxFQUFFO0lBQ3JELE1BQU0sRUFBRSxNQUFNLEVBQUUsV0FBVyxFQUFFLGFBQWEsRUFBRSxHQUFHLE1BQU0sQ0FBQztJQUV0RCxNQUFNLENBQUMsTUFBTSxHQUFHLENBQUMsT0FBZ0IsRUFBRSxFQUFFO1FBQ2pDLE9BQU8sT0FBTyxDQUFDLElBQUksS0FBSyxZQUFZLENBQUMsRUFBRSxJQUFJLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUMvRCxDQUFDLENBQUM7SUFFRixNQUFNLENBQUMsV0FBVyxHQUFHLENBQUMsT0FBZ0IsRUFBRSxFQUFFO1FBQ3RDLElBQUksT0FBTyxDQUFDLElBQUksS0FBSyxZQUFZLENBQUMsRUFBRSxFQUFFO1lBQ2xDLE9BQU8sSUFBSSxDQUFDO1NBQ2Y7UUFDRCxPQUFPLFdBQVcsQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUNoQyxDQUFDLENBQUM7SUFFRixNQUFNLENBQUMsYUFBYSxHQUFHLENBQUMsT0FBZ0IsRUFBRSxFQUFFO1FBQ3hDLElBQUksT0FBTyxDQUFDLElBQUksS0FBSyxZQUFZLENBQUMsRUFBRSxFQUFFO1lBQ2xDLE9BQU8sY0FBYyxDQUFDO1NBQ3pCO1FBQ0QsT0FBTyxhQUFhLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDbEMsQ0FBQyxDQUFDO0lBRUYsT0FBTyxNQUFNLENBQUM7QUFDbEIsQ0FBQyxDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sY0FBYyxHQUFHLG1CQUFtQixDQUFDO0lBQzlDLEdBQUcsRUFBRSxVQUFVLENBQUMsRUFBRTtJQUNsQixhQUFhLEVBQUUsTUFBTTtJQUNyQixZQUFZLEVBQUU7UUFDVjtZQUNJLEdBQUcsRUFBRSxZQUFZLENBQUMsRUFBRTtZQUNwQixJQUFJLEVBQUUsaUJBQWlCO1lBQ3ZCLElBQUksRUFBRSxLQUFLO1lBQ1gsTUFBTSxFQUFFLE1BQU0sQ0FBQyxFQUFFLENBQUMsVUFBVSxDQUFDLGFBQWEsQ0FBQyxNQUFNLEVBQUUsWUFBWSxDQUFDLEVBQUUsQ0FBQztZQUNuRSxPQUFPLEVBQUUsTUFBTSxDQUFDLEVBQUUsQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQztTQUMvQztLQUNKO0lBQ0QsU0FBUyxFQUFFO1FBQ1A7WUFDSSxHQUFHLEVBQUUsWUFBWSxDQUFDLEVBQUU7WUFDcEIsUUFBUSxFQUFFLGdDQUFnQztZQUMxQyxJQUFJLEVBQUUscUJBQXFCLENBQUMsS0FBSztZQUNqQyxNQUFNLEVBQUUsTUFBTSxDQUFDLEVBQUUsQ0FBQyxVQUFVLENBQUMsYUFBYSxDQUFDLE1BQU0sRUFBRSxZQUFZLENBQUMsRUFBRSxDQUFDO1lBQ25FLE9BQU8sRUFBRSxNQUFNLENBQUMsRUFBRSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDO1lBQzVDLElBQUksRUFBRSxLQUFLO1lBQ1gsUUFBUSxFQUFFLGVBQWUsQ0FBQyxFQUFFO1lBQzVCLFdBQVcsRUFBRSxXQUFXO1lBQ3hCLFVBQVUsRUFBRSxNQUFNO1NBQ3JCO0tBQ0o7SUFDRCxPQUFPLEVBQUU7UUFDTCxnQkFBZ0IsRUFBRSxDQUFDLFlBQVksQ0FBQyxTQUFTLENBQUM7S0FDN0M7Q0FDSixDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBFZGl0b3IsIEVsZW1lbnQgfSBmcm9tICdzbGF0ZSc7XG5pbXBvcnQgeyBjcmVhdGVQbHVnaW5GYWN0b3J5IH0gZnJvbSAnLi4vLi4vY29yZSc7XG5pbXBvcnQgeyBQbHVnaW5LZXlzIH0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcyc7XG5pbXBvcnQgeyBFbGVtZW50S2luZHMgfSBmcm9tICcuLi8uLi9jb25zdGFudHMnO1xuaW1wb3J0IHsgVGhlSHJDb21wb25lbnQgfSBmcm9tICcuL2hyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBIckVkaXRvciB9IGZyb20gJy4vaHIuZWRpdG9yJztcbmltcG9ydCAqIGFzIFRoZVF1ZXJpZXMgZnJvbSAnLi4vLi4vcXVlcmllcyc7XG5pbXBvcnQgeyBQbHVnaW5NZW51SWNvbnMsIFBsdWdpbk1lbnVTdmdzLCBUaGVQbHVnaW5NZW51SXRlbVR5cGUgfSBmcm9tICcuLi8uLi9jb25zdGFudHMvcGx1Z2luLW1lbnUnO1xuXG5leHBvcnQgY29uc3Qgd2l0aEhyID0gPFQgZXh0ZW5kcyBFZGl0b3I+KGVkaXRvcjogVCk6IFQgPT4ge1xuICAgIGNvbnN0IHsgaXNWb2lkLCBpc0Jsb2NrQ2FyZCwgcmVuZGVyRWxlbWVudCB9ID0gZWRpdG9yO1xuXG4gICAgZWRpdG9yLmlzVm9pZCA9IChlbGVtZW50OiBFbGVtZW50KSA9PiB7XG4gICAgICAgIHJldHVybiBlbGVtZW50LnR5cGUgPT09IEVsZW1lbnRLaW5kcy5ociB8fCBpc1ZvaWQoZWxlbWVudCk7XG4gICAgfTtcblxuICAgIGVkaXRvci5pc0Jsb2NrQ2FyZCA9IChlbGVtZW50OiBFbGVtZW50KSA9PiB7XG4gICAgICAgIGlmIChlbGVtZW50LnR5cGUgPT09IEVsZW1lbnRLaW5kcy5ocikge1xuICAgICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGlzQmxvY2tDYXJkKGVsZW1lbnQpO1xuICAgIH07XG5cbiAgICBlZGl0b3IucmVuZGVyRWxlbWVudCA9IChlbGVtZW50OiBFbGVtZW50KSA9PiB7XG4gICAgICAgIGlmIChlbGVtZW50LnR5cGUgPT09IEVsZW1lbnRLaW5kcy5ocikge1xuICAgICAgICAgICAgcmV0dXJuIFRoZUhyQ29tcG9uZW50O1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiByZW5kZXJFbGVtZW50KGVsZW1lbnQpO1xuICAgIH07XG5cbiAgICByZXR1cm4gZWRpdG9yO1xufTtcblxuZXhwb3J0IGNvbnN0IGNyZWF0ZUhyUGx1Z2luID0gY3JlYXRlUGx1Z2luRmFjdG9yeSh7XG4gICAga2V5OiBQbHVnaW5LZXlzLmhyLFxuICAgIHdpdGhPdmVycmlkZXM6IHdpdGhIcixcbiAgICB0b29sYmFySXRlbXM6IFtcbiAgICAgICAge1xuICAgICAgICAgICAga2V5OiBFbGVtZW50S2luZHMuaHIsXG4gICAgICAgICAgICBpY29uOiAnaG9yaXpvbnRhbC1saW5lJyxcbiAgICAgICAgICAgIG5hbWU6ICfliIblibLnur8nLFxuICAgICAgICAgICAgYWN0aXZlOiBlZGl0b3IgPT4gVGhlUXVlcmllcy5pc0Jsb2NrQWN0aXZlKGVkaXRvciwgRWxlbWVudEtpbmRzLmhyKSxcbiAgICAgICAgICAgIGV4ZWN1dGU6IGVkaXRvciA9PiBIckVkaXRvci5pbnNlcnRIcihlZGl0b3IpXG4gICAgICAgIH1cbiAgICBdLFxuICAgIG1lbnVJdGVtczogW1xuICAgICAgICB7XG4gICAgICAgICAgICBrZXk6IEVsZW1lbnRLaW5kcy5ocixcbiAgICAgICAgICAgIGtleXdvcmRzOiAnZmVuZ2V4aWFuLGZneCxkaXZpZGVyLGxpbmUs5YiG5Ymy57q/JyxcbiAgICAgICAgICAgIHR5cGU6IFRoZVBsdWdpbk1lbnVJdGVtVHlwZS5ncm91cCxcbiAgICAgICAgICAgIGFjdGl2ZTogZWRpdG9yID0+IFRoZVF1ZXJpZXMuaXNCbG9ja0FjdGl2ZShlZGl0b3IsIEVsZW1lbnRLaW5kcy5ociksXG4gICAgICAgICAgICBleGVjdXRlOiBlZGl0b3IgPT4gSHJFZGl0b3IuaW5zZXJ0SHIoZWRpdG9yKSxcbiAgICAgICAgICAgIG5hbWU6ICfliIblibLnur8nLFxuICAgICAgICAgICAgbWVudUljb246IFBsdWdpbk1lbnVJY29ucy5ocixcbiAgICAgICAgICAgIGRlc2NyaXB0aW9uOiAn5L2/55So5rC05bmz57q/5YiG6ZqU5YaF5a65JyxcbiAgICAgICAgICAgIGRpc3BsYXlLZXk6ICcvZmd4J1xuICAgICAgICB9XG4gICAgXSxcbiAgICBvcHRpb25zOiB7XG4gICAgICAgIGFsbG93UGFyZW50VHlwZXM6IFtFbGVtZW50S2luZHMudGFibGVDZWxsXVxuICAgIH1cbn0pO1xuIl19
@@ -53,12 +53,12 @@ export const createImagePlugin = createPluginFactory({
53
53
  menuItems: [
54
54
  {
55
55
  key: ElementKinds.image,
56
- keywords: 'tp,tupian,image,图片',
56
+ keywords: 'tp,tupian,image,photo,picture,图片',
57
57
  execute: editor => ImageEditor.openUpload(editor),
58
58
  active: editor => ImageEditor.isImageActive(editor),
59
59
  name: '图片',
60
60
  menuIcon: PluginMenuIcons.image,
61
- description: '支持jpg、jpeg等格式图像',
61
+ description: '支持 jpg、jpeg 等格式图像',
62
62
  type: ThePluginMenuItemType.group,
63
63
  displayKey: '/tp'
64
64
  }
@@ -68,4 +68,4 @@ export const createImagePlugin = createPluginFactory({
68
68
  imageTypes: ['image/png', 'image/jpeg', 'image/gif', 'image/bmp']
69
69
  }
70
70
  });
71
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW1hZ2UucGx1Z2luLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvc3JjL3BsdWdpbnMvaW1hZ2UvaW1hZ2UucGx1Z2luLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLFlBQVksQ0FBQztBQUNuRSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDOUMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRS9DLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ3RELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM3QyxPQUFPLEVBQUUsZUFBZSxFQUFrQixxQkFBcUIsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBT3JHLE1BQU0sQ0FBQyxNQUFNLFNBQVMsR0FBRyxDQUFtQixNQUFTLEVBQUssRUFBRTtJQUN4RCxNQUFNLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxhQUFhLEVBQUUsV0FBVyxFQUFFLEdBQUcsTUFBTSxDQUFDO0lBRWxFLE1BQU0sQ0FBQyxNQUFNLEdBQUcsQ0FBQyxPQUFnQixFQUFFLEVBQUU7UUFDakMsT0FBTyxPQUFPLENBQUMsSUFBSSxLQUFLLFlBQVksQ0FBQyxLQUFLLElBQUksTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ2xFLENBQUMsQ0FBQztJQUVGLE1BQU0sQ0FBQyxVQUFVLEdBQUcsQ0FBQyxJQUFrQixFQUFFLEVBQUU7UUFDdkMsSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sRUFBRTtZQUNuQixNQUFNLFVBQVUsR0FBVyxFQUFFLENBQUM7WUFDOUIsTUFBTSxVQUFVLEdBQUcsZ0JBQWdCLENBQXFCLE1BQU0sRUFBRSxVQUFVLENBQUMsS0FBSyxDQUFDLEVBQUUsVUFBVSxDQUFDO1lBQzlGLEtBQUssTUFBTSxJQUFJLElBQUksSUFBSSxDQUFDLEtBQWlCLEVBQUU7Z0JBQ3ZDLElBQUksVUFBVSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUU7b0JBQ2hDLFVBQVUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7aUJBQ3pCO2FBQ0o7WUFDRCxJQUFJLFVBQVUsQ0FBQyxNQUFNLEVBQUU7Z0JBQ25CLE9BQU8sV0FBVyxDQUFDLFlBQVksQ0FBQyxNQUFNLEVBQUUsVUFBVSxDQUFDLENBQUM7YUFDdkQ7U0FDSjtRQUNELFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNyQixDQUFDLENBQUM7SUFFRixNQUFNLENBQUMsYUFBYSxHQUFHLENBQUMsT0FBZ0IsRUFBRSxFQUFFO1FBQ3hDLElBQUksT0FBTyxDQUFDLElBQUksS0FBSyxZQUFZLENBQUMsS0FBSyxFQUFFO1lBQ3JDLE9BQU8saUJBQWlCLENBQUM7U0FDNUI7UUFDRCxPQUFPLGFBQWEsQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUNsQyxDQUFDLENBQUM7SUFFRixNQUFNLENBQUMsV0FBVyxHQUFHLENBQUMsT0FBZ0IsRUFBRSxFQUFFO1FBQ3RDLElBQUksT0FBTyxJQUFJLE9BQU8sQ0FBQyxJQUFJLEtBQUssWUFBWSxDQUFDLEtBQUssRUFBRTtZQUNoRCxPQUFPLElBQUksQ0FBQztTQUNmO1FBQ0QsT0FBTyxXQUFXLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDaEMsQ0FBQyxDQUFDO0lBRUYsT0FBTyxNQUFNLENBQUM7QUFDbEIsQ0FBQyxDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0saUJBQWlCLEdBQUcsbUJBQW1CLENBQXFCO0lBQ3JFLEdBQUcsRUFBRSxVQUFVLENBQUMsS0FBSztJQUNyQixhQUFhLEVBQUUsU0FBUztJQUN4QixZQUFZLEVBQUU7UUFDVjtZQUNJLEdBQUcsRUFBRSxZQUFZLENBQUMsS0FBSztZQUN2QixJQUFJLEVBQUUsT0FBTztZQUNiLElBQUksRUFBRSxJQUFJO1lBQ1YsT0FBTyxFQUFFLE1BQU0sQ0FBQyxFQUFFLENBQUMsV0FBVyxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUM7WUFDakQsTUFBTSxFQUFFLE1BQU0sQ0FBQyxFQUFFLENBQUMsV0FBVyxDQUFDLGFBQWEsQ0FBQyxNQUFNLENBQUM7U0FDdEQ7S0FDSjtJQUNELFNBQVMsRUFBRTtRQUNQO1lBQ0ksR0FBRyxFQUFFLFlBQVksQ0FBQyxLQUFLO1lBQ3ZCLFFBQVEsRUFBRSxvQkFBb0I7WUFDOUIsT0FBTyxFQUFFLE1BQU0sQ0FBQyxFQUFFLENBQUMsV0FBVyxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUM7WUFDakQsTUFBTSxFQUFFLE1BQU0sQ0FBQyxFQUFFLENBQUMsV0FBVyxDQUFDLGFBQWEsQ0FBQyxNQUFNLENBQUM7WUFDbkQsSUFBSSxFQUFFLElBQUk7WUFDVixRQUFRLEVBQUUsZUFBZSxDQUFDLEtBQUs7WUFDL0IsV0FBVyxFQUFFLGlCQUFpQjtZQUM5QixJQUFJLEVBQUUscUJBQXFCLENBQUMsS0FBSztZQUNqQyxVQUFVLEVBQUUsS0FBSztTQUNwQjtLQUNKO0lBQ0QsT0FBTyxFQUFFO1FBQ0wsZ0JBQWdCLEVBQUUsQ0FBQyxZQUFZLENBQUMsUUFBUSxFQUFFLFlBQVksQ0FBQyxTQUFTLEVBQUUsWUFBWSxDQUFDLFVBQVUsQ0FBQztRQUMxRixVQUFVLEVBQUUsQ0FBQyxXQUFXLEVBQUUsWUFBWSxFQUFFLFdBQVcsRUFBRSxXQUFXLENBQUM7S0FDcEU7Q0FDSixDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBFZGl0b3IsIEVsZW1lbnQgfSBmcm9tICdzbGF0ZSc7XG5pbXBvcnQgeyBjcmVhdGVQbHVnaW5GYWN0b3J5LCBnZXRQbHVnaW5PcHRpb25zIH0gZnJvbSAnLi4vLi4vY29yZSc7XG5pbXBvcnQgeyBQbHVnaW5LZXlzIH0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcyc7XG5pbXBvcnQgeyBFbGVtZW50S2luZHMgfSBmcm9tICcuLi8uLi9jb25zdGFudHMnO1xuaW1wb3J0IHsgQ3VzdG9tRWxlbWVudEtpbmRzIH0gZnJvbSAnLi4vLi4vY3VzdG9tLXR5cGVzJztcbmltcG9ydCB7IFRoZUltYWdlQ29tcG9uZW50IH0gZnJvbSAnLi9pbWFnZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgSW1hZ2VFZGl0b3IgfSBmcm9tICcuL2ltYWdlLmVkaXRvcic7XG5pbXBvcnQgeyBQbHVnaW5NZW51SWNvbnMsIFBsdWdpbk1lbnVTdmdzLCBUaGVQbHVnaW5NZW51SXRlbVR5cGUgfSBmcm9tICcuLi8uLi9jb25zdGFudHMvcGx1Z2luLW1lbnUnO1xuXG5leHBvcnQgaW50ZXJmYWNlIEltYWdlUGx1Z2luT3B0aW9ucyB7XG4gICAgYWxsb3dQYXJlbnRUeXBlcz86IEN1c3RvbUVsZW1lbnRLaW5kc1tdO1xuICAgIGltYWdlVHlwZXM/OiBzdHJpbmdbXTtcbn1cblxuZXhwb3J0IGNvbnN0IHdpdGhJbWFnZSA9IDxUIGV4dGVuZHMgRWRpdG9yPihlZGl0b3I6IFQpOiBUID0+IHtcbiAgICBjb25zdCB7IGluc2VydERhdGEsIGlzVm9pZCwgcmVuZGVyRWxlbWVudCwgaXNCbG9ja0NhcmQgfSA9IGVkaXRvcjtcblxuICAgIGVkaXRvci5pc1ZvaWQgPSAoZWxlbWVudDogRWxlbWVudCkgPT4ge1xuICAgICAgICByZXR1cm4gZWxlbWVudC50eXBlID09PSBFbGVtZW50S2luZHMuaW1hZ2UgfHwgaXNWb2lkKGVsZW1lbnQpO1xuICAgIH07XG5cbiAgICBlZGl0b3IuaW5zZXJ0RGF0YSA9IChkYXRhOiBEYXRhVHJhbnNmZXIpID0+IHtcbiAgICAgICAgaWYgKGRhdGEuZmlsZXMubGVuZ3RoKSB7XG4gICAgICAgICAgICBjb25zdCBpbWFnZUZpbGVzOiBGaWxlW10gPSBbXTtcbiAgICAgICAgICAgIGNvbnN0IGltYWdlVHlwZXMgPSBnZXRQbHVnaW5PcHRpb25zPEltYWdlUGx1Z2luT3B0aW9ucz4oZWRpdG9yLCBQbHVnaW5LZXlzLmltYWdlKT8uaW1hZ2VUeXBlcztcbiAgICAgICAgICAgIGZvciAoY29uc3QgZmlsZSBvZiBkYXRhLmZpbGVzIGFzIEZpbGVMaXN0KSB7XG4gICAgICAgICAgICAgICAgaWYgKGltYWdlVHlwZXMuaW5jbHVkZXMoZmlsZS50eXBlKSkge1xuICAgICAgICAgICAgICAgICAgICBpbWFnZUZpbGVzLnB1c2goZmlsZSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKGltYWdlRmlsZXMubGVuZ3RoKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIEltYWdlRWRpdG9yLmluc2VydEltYWdlcyhlZGl0b3IsIGltYWdlRmlsZXMpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGluc2VydERhdGEoZGF0YSk7XG4gICAgfTtcblxuICAgIGVkaXRvci5yZW5kZXJFbGVtZW50ID0gKGVsZW1lbnQ6IEVsZW1lbnQpID0+IHtcbiAgICAgICAgaWYgKGVsZW1lbnQudHlwZSA9PT0gRWxlbWVudEtpbmRzLmltYWdlKSB7XG4gICAgICAgICAgICByZXR1cm4gVGhlSW1hZ2VDb21wb25lbnQ7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHJlbmRlckVsZW1lbnQoZWxlbWVudCk7XG4gICAgfTtcblxuICAgIGVkaXRvci5pc0Jsb2NrQ2FyZCA9IChlbGVtZW50OiBFbGVtZW50KSA9PiB7XG4gICAgICAgIGlmIChlbGVtZW50ICYmIGVsZW1lbnQudHlwZSA9PT0gRWxlbWVudEtpbmRzLmltYWdlKSB7XG4gICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gaXNCbG9ja0NhcmQoZWxlbWVudCk7XG4gICAgfTtcblxuICAgIHJldHVybiBlZGl0b3I7XG59O1xuXG5leHBvcnQgY29uc3QgY3JlYXRlSW1hZ2VQbHVnaW4gPSBjcmVhdGVQbHVnaW5GYWN0b3J5PEltYWdlUGx1Z2luT3B0aW9ucz4oe1xuICAgIGtleTogUGx1Z2luS2V5cy5pbWFnZSxcbiAgICB3aXRoT3ZlcnJpZGVzOiB3aXRoSW1hZ2UsXG4gICAgdG9vbGJhckl0ZW1zOiBbXG4gICAgICAgIHtcbiAgICAgICAgICAgIGtleTogRWxlbWVudEtpbmRzLmltYWdlLFxuICAgICAgICAgICAgaWNvbjogJ2ltYWdlJyxcbiAgICAgICAgICAgIG5hbWU6ICflm77niYcnLFxuICAgICAgICAgICAgZXhlY3V0ZTogZWRpdG9yID0+IEltYWdlRWRpdG9yLm9wZW5VcGxvYWQoZWRpdG9yKSxcbiAgICAgICAgICAgIGFjdGl2ZTogZWRpdG9yID0+IEltYWdlRWRpdG9yLmlzSW1hZ2VBY3RpdmUoZWRpdG9yKVxuICAgICAgICB9XG4gICAgXSxcbiAgICBtZW51SXRlbXM6IFtcbiAgICAgICAge1xuICAgICAgICAgICAga2V5OiBFbGVtZW50S2luZHMuaW1hZ2UsXG4gICAgICAgICAgICBrZXl3b3JkczogJ3RwLHR1cGlhbixpbWFnZSzlm77niYcnLFxuICAgICAgICAgICAgZXhlY3V0ZTogZWRpdG9yID0+IEltYWdlRWRpdG9yLm9wZW5VcGxvYWQoZWRpdG9yKSxcbiAgICAgICAgICAgIGFjdGl2ZTogZWRpdG9yID0+IEltYWdlRWRpdG9yLmlzSW1hZ2VBY3RpdmUoZWRpdG9yKSxcbiAgICAgICAgICAgIG5hbWU6ICflm77niYcnLFxuICAgICAgICAgICAgbWVudUljb246IFBsdWdpbk1lbnVJY29ucy5pbWFnZSxcbiAgICAgICAgICAgIGRlc2NyaXB0aW9uOiAn5pSv5oyBanBn44CBanBlZ+etieagvOW8j+WbvuWDjycsXG4gICAgICAgICAgICB0eXBlOiBUaGVQbHVnaW5NZW51SXRlbVR5cGUuZ3JvdXAsXG4gICAgICAgICAgICBkaXNwbGF5S2V5OiAnL3RwJ1xuICAgICAgICB9XG4gICAgXSxcbiAgICBvcHRpb25zOiB7XG4gICAgICAgIGFsbG93UGFyZW50VHlwZXM6IFtFbGVtZW50S2luZHMubGlzdEl0ZW0sIEVsZW1lbnRLaW5kcy50YWJsZUNlbGwsIEVsZW1lbnRLaW5kcy5ibG9ja3F1b3RlXSxcbiAgICAgICAgaW1hZ2VUeXBlczogWydpbWFnZS9wbmcnLCAnaW1hZ2UvanBlZycsICdpbWFnZS9naWYnLCAnaW1hZ2UvYm1wJ11cbiAgICB9XG59KTtcbiJdfQ==
71
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW1hZ2UucGx1Z2luLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvc3JjL3BsdWdpbnMvaW1hZ2UvaW1hZ2UucGx1Z2luLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLFlBQVksQ0FBQztBQUNuRSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDOUMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRS9DLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ3RELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM3QyxPQUFPLEVBQUUsZUFBZSxFQUFrQixxQkFBcUIsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBT3JHLE1BQU0sQ0FBQyxNQUFNLFNBQVMsR0FBRyxDQUFtQixNQUFTLEVBQUssRUFBRTtJQUN4RCxNQUFNLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxhQUFhLEVBQUUsV0FBVyxFQUFFLEdBQUcsTUFBTSxDQUFDO0lBRWxFLE1BQU0sQ0FBQyxNQUFNLEdBQUcsQ0FBQyxPQUFnQixFQUFFLEVBQUU7UUFDakMsT0FBTyxPQUFPLENBQUMsSUFBSSxLQUFLLFlBQVksQ0FBQyxLQUFLLElBQUksTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ2xFLENBQUMsQ0FBQztJQUVGLE1BQU0sQ0FBQyxVQUFVLEdBQUcsQ0FBQyxJQUFrQixFQUFFLEVBQUU7UUFDdkMsSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sRUFBRTtZQUNuQixNQUFNLFVBQVUsR0FBVyxFQUFFLENBQUM7WUFDOUIsTUFBTSxVQUFVLEdBQUcsZ0JBQWdCLENBQXFCLE1BQU0sRUFBRSxVQUFVLENBQUMsS0FBSyxDQUFDLEVBQUUsVUFBVSxDQUFDO1lBQzlGLEtBQUssTUFBTSxJQUFJLElBQUksSUFBSSxDQUFDLEtBQWlCLEVBQUU7Z0JBQ3ZDLElBQUksVUFBVSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUU7b0JBQ2hDLFVBQVUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7aUJBQ3pCO2FBQ0o7WUFDRCxJQUFJLFVBQVUsQ0FBQyxNQUFNLEVBQUU7Z0JBQ25CLE9BQU8sV0FBVyxDQUFDLFlBQVksQ0FBQyxNQUFNLEVBQUUsVUFBVSxDQUFDLENBQUM7YUFDdkQ7U0FDSjtRQUNELFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNyQixDQUFDLENBQUM7SUFFRixNQUFNLENBQUMsYUFBYSxHQUFHLENBQUMsT0FBZ0IsRUFBRSxFQUFFO1FBQ3hDLElBQUksT0FBTyxDQUFDLElBQUksS0FBSyxZQUFZLENBQUMsS0FBSyxFQUFFO1lBQ3JDLE9BQU8saUJBQWlCLENBQUM7U0FDNUI7UUFDRCxPQUFPLGFBQWEsQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUNsQyxDQUFDLENBQUM7SUFFRixNQUFNLENBQUMsV0FBVyxHQUFHLENBQUMsT0FBZ0IsRUFBRSxFQUFFO1FBQ3RDLElBQUksT0FBTyxJQUFJLE9BQU8sQ0FBQyxJQUFJLEtBQUssWUFBWSxDQUFDLEtBQUssRUFBRTtZQUNoRCxPQUFPLElBQUksQ0FBQztTQUNmO1FBQ0QsT0FBTyxXQUFXLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDaEMsQ0FBQyxDQUFDO0lBRUYsT0FBTyxNQUFNLENBQUM7QUFDbEIsQ0FBQyxDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0saUJBQWlCLEdBQUcsbUJBQW1CLENBQXFCO0lBQ3JFLEdBQUcsRUFBRSxVQUFVLENBQUMsS0FBSztJQUNyQixhQUFhLEVBQUUsU0FBUztJQUN4QixZQUFZLEVBQUU7UUFDVjtZQUNJLEdBQUcsRUFBRSxZQUFZLENBQUMsS0FBSztZQUN2QixJQUFJLEVBQUUsT0FBTztZQUNiLElBQUksRUFBRSxJQUFJO1lBQ1YsT0FBTyxFQUFFLE1BQU0sQ0FBQyxFQUFFLENBQUMsV0FBVyxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUM7WUFDakQsTUFBTSxFQUFFLE1BQU0sQ0FBQyxFQUFFLENBQUMsV0FBVyxDQUFDLGFBQWEsQ0FBQyxNQUFNLENBQUM7U0FDdEQ7S0FDSjtJQUNELFNBQVMsRUFBRTtRQUNQO1lBQ0ksR0FBRyxFQUFFLFlBQVksQ0FBQyxLQUFLO1lBQ3ZCLFFBQVEsRUFBRSxrQ0FBa0M7WUFDNUMsT0FBTyxFQUFFLE1BQU0sQ0FBQyxFQUFFLENBQUMsV0FBVyxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUM7WUFDakQsTUFBTSxFQUFFLE1BQU0sQ0FBQyxFQUFFLENBQUMsV0FBVyxDQUFDLGFBQWEsQ0FBQyxNQUFNLENBQUM7WUFDbkQsSUFBSSxFQUFFLElBQUk7WUFDVixRQUFRLEVBQUUsZUFBZSxDQUFDLEtBQUs7WUFDL0IsV0FBVyxFQUFFLG1CQUFtQjtZQUNoQyxJQUFJLEVBQUUscUJBQXFCLENBQUMsS0FBSztZQUNqQyxVQUFVLEVBQUUsS0FBSztTQUNwQjtLQUNKO0lBQ0QsT0FBTyxFQUFFO1FBQ0wsZ0JBQWdCLEVBQUUsQ0FBQyxZQUFZLENBQUMsUUFBUSxFQUFFLFlBQVksQ0FBQyxTQUFTLEVBQUUsWUFBWSxDQUFDLFVBQVUsQ0FBQztRQUMxRixVQUFVLEVBQUUsQ0FBQyxXQUFXLEVBQUUsWUFBWSxFQUFFLFdBQVcsRUFBRSxXQUFXLENBQUM7S0FDcEU7Q0FDSixDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBFZGl0b3IsIEVsZW1lbnQgfSBmcm9tICdzbGF0ZSc7XG5pbXBvcnQgeyBjcmVhdGVQbHVnaW5GYWN0b3J5LCBnZXRQbHVnaW5PcHRpb25zIH0gZnJvbSAnLi4vLi4vY29yZSc7XG5pbXBvcnQgeyBQbHVnaW5LZXlzIH0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcyc7XG5pbXBvcnQgeyBFbGVtZW50S2luZHMgfSBmcm9tICcuLi8uLi9jb25zdGFudHMnO1xuaW1wb3J0IHsgQ3VzdG9tRWxlbWVudEtpbmRzIH0gZnJvbSAnLi4vLi4vY3VzdG9tLXR5cGVzJztcbmltcG9ydCB7IFRoZUltYWdlQ29tcG9uZW50IH0gZnJvbSAnLi9pbWFnZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgSW1hZ2VFZGl0b3IgfSBmcm9tICcuL2ltYWdlLmVkaXRvcic7XG5pbXBvcnQgeyBQbHVnaW5NZW51SWNvbnMsIFBsdWdpbk1lbnVTdmdzLCBUaGVQbHVnaW5NZW51SXRlbVR5cGUgfSBmcm9tICcuLi8uLi9jb25zdGFudHMvcGx1Z2luLW1lbnUnO1xuXG5leHBvcnQgaW50ZXJmYWNlIEltYWdlUGx1Z2luT3B0aW9ucyB7XG4gICAgYWxsb3dQYXJlbnRUeXBlcz86IEN1c3RvbUVsZW1lbnRLaW5kc1tdO1xuICAgIGltYWdlVHlwZXM/OiBzdHJpbmdbXTtcbn1cblxuZXhwb3J0IGNvbnN0IHdpdGhJbWFnZSA9IDxUIGV4dGVuZHMgRWRpdG9yPihlZGl0b3I6IFQpOiBUID0+IHtcbiAgICBjb25zdCB7IGluc2VydERhdGEsIGlzVm9pZCwgcmVuZGVyRWxlbWVudCwgaXNCbG9ja0NhcmQgfSA9IGVkaXRvcjtcblxuICAgIGVkaXRvci5pc1ZvaWQgPSAoZWxlbWVudDogRWxlbWVudCkgPT4ge1xuICAgICAgICByZXR1cm4gZWxlbWVudC50eXBlID09PSBFbGVtZW50S2luZHMuaW1hZ2UgfHwgaXNWb2lkKGVsZW1lbnQpO1xuICAgIH07XG5cbiAgICBlZGl0b3IuaW5zZXJ0RGF0YSA9IChkYXRhOiBEYXRhVHJhbnNmZXIpID0+IHtcbiAgICAgICAgaWYgKGRhdGEuZmlsZXMubGVuZ3RoKSB7XG4gICAgICAgICAgICBjb25zdCBpbWFnZUZpbGVzOiBGaWxlW10gPSBbXTtcbiAgICAgICAgICAgIGNvbnN0IGltYWdlVHlwZXMgPSBnZXRQbHVnaW5PcHRpb25zPEltYWdlUGx1Z2luT3B0aW9ucz4oZWRpdG9yLCBQbHVnaW5LZXlzLmltYWdlKT8uaW1hZ2VUeXBlcztcbiAgICAgICAgICAgIGZvciAoY29uc3QgZmlsZSBvZiBkYXRhLmZpbGVzIGFzIEZpbGVMaXN0KSB7XG4gICAgICAgICAgICAgICAgaWYgKGltYWdlVHlwZXMuaW5jbHVkZXMoZmlsZS50eXBlKSkge1xuICAgICAgICAgICAgICAgICAgICBpbWFnZUZpbGVzLnB1c2goZmlsZSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKGltYWdlRmlsZXMubGVuZ3RoKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIEltYWdlRWRpdG9yLmluc2VydEltYWdlcyhlZGl0b3IsIGltYWdlRmlsZXMpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGluc2VydERhdGEoZGF0YSk7XG4gICAgfTtcblxuICAgIGVkaXRvci5yZW5kZXJFbGVtZW50ID0gKGVsZW1lbnQ6IEVsZW1lbnQpID0+IHtcbiAgICAgICAgaWYgKGVsZW1lbnQudHlwZSA9PT0gRWxlbWVudEtpbmRzLmltYWdlKSB7XG4gICAgICAgICAgICByZXR1cm4gVGhlSW1hZ2VDb21wb25lbnQ7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHJlbmRlckVsZW1lbnQoZWxlbWVudCk7XG4gICAgfTtcblxuICAgIGVkaXRvci5pc0Jsb2NrQ2FyZCA9IChlbGVtZW50OiBFbGVtZW50KSA9PiB7XG4gICAgICAgIGlmIChlbGVtZW50ICYmIGVsZW1lbnQudHlwZSA9PT0gRWxlbWVudEtpbmRzLmltYWdlKSB7XG4gICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gaXNCbG9ja0NhcmQoZWxlbWVudCk7XG4gICAgfTtcblxuICAgIHJldHVybiBlZGl0b3I7XG59O1xuXG5leHBvcnQgY29uc3QgY3JlYXRlSW1hZ2VQbHVnaW4gPSBjcmVhdGVQbHVnaW5GYWN0b3J5PEltYWdlUGx1Z2luT3B0aW9ucz4oe1xuICAgIGtleTogUGx1Z2luS2V5cy5pbWFnZSxcbiAgICB3aXRoT3ZlcnJpZGVzOiB3aXRoSW1hZ2UsXG4gICAgdG9vbGJhckl0ZW1zOiBbXG4gICAgICAgIHtcbiAgICAgICAgICAgIGtleTogRWxlbWVudEtpbmRzLmltYWdlLFxuICAgICAgICAgICAgaWNvbjogJ2ltYWdlJyxcbiAgICAgICAgICAgIG5hbWU6ICflm77niYcnLFxuICAgICAgICAgICAgZXhlY3V0ZTogZWRpdG9yID0+IEltYWdlRWRpdG9yLm9wZW5VcGxvYWQoZWRpdG9yKSxcbiAgICAgICAgICAgIGFjdGl2ZTogZWRpdG9yID0+IEltYWdlRWRpdG9yLmlzSW1hZ2VBY3RpdmUoZWRpdG9yKVxuICAgICAgICB9XG4gICAgXSxcbiAgICBtZW51SXRlbXM6IFtcbiAgICAgICAge1xuICAgICAgICAgICAga2V5OiBFbGVtZW50S2luZHMuaW1hZ2UsXG4gICAgICAgICAgICBrZXl3b3JkczogJ3RwLHR1cGlhbixpbWFnZSxwaG90byxwaWN0dXJlLOWbvueJhycsXG4gICAgICAgICAgICBleGVjdXRlOiBlZGl0b3IgPT4gSW1hZ2VFZGl0b3Iub3BlblVwbG9hZChlZGl0b3IpLFxuICAgICAgICAgICAgYWN0aXZlOiBlZGl0b3IgPT4gSW1hZ2VFZGl0b3IuaXNJbWFnZUFjdGl2ZShlZGl0b3IpLFxuICAgICAgICAgICAgbmFtZTogJ+WbvueJhycsXG4gICAgICAgICAgICBtZW51SWNvbjogUGx1Z2luTWVudUljb25zLmltYWdlLFxuICAgICAgICAgICAgZGVzY3JpcHRpb246ICfmlK/mjIEganBn44CBanBlZyDnrYnmoLzlvI/lm77lg48nLFxuICAgICAgICAgICAgdHlwZTogVGhlUGx1Z2luTWVudUl0ZW1UeXBlLmdyb3VwLFxuICAgICAgICAgICAgZGlzcGxheUtleTogJy90cCdcbiAgICAgICAgfVxuICAgIF0sXG4gICAgb3B0aW9uczoge1xuICAgICAgICBhbGxvd1BhcmVudFR5cGVzOiBbRWxlbWVudEtpbmRzLmxpc3RJdGVtLCBFbGVtZW50S2luZHMudGFibGVDZWxsLCBFbGVtZW50S2luZHMuYmxvY2txdW90ZV0sXG4gICAgICAgIGltYWdlVHlwZXM6IFsnaW1hZ2UvcG5nJywgJ2ltYWdlL2pwZWcnLCAnaW1hZ2UvZ2lmJywgJ2ltYWdlL2JtcCddXG4gICAgfVxufSk7XG4iXX0=
@@ -434,8 +434,7 @@ export const createTablePlugin = createPluginFactory({
434
434
  type: ThePluginMenuItemType.group,
435
435
  menuIcon: PluginMenuIcons.table,
436
436
  description: '结构化呈现数据信息',
437
- displayKey: '/bg',
438
- isExpanded: true
437
+ displayKey: '/bg'
439
438
  }
440
439
  ],
441
440
  options: {
@@ -445,4 +444,4 @@ export const createTablePlugin = createPluginFactory({
445
444
  }
446
445
  }
447
446
  });
448
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUucGx1Z2luLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvc3JjL3BsdWdpbnMvdGFibGUvdGFibGUucGx1Z2luLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQVMsSUFBSSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQWEsT0FBTyxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsTUFBTSxPQUFPLENBQUM7QUFDcEcsT0FBTyxFQUFFLGFBQWEsRUFBRSxvQkFBb0IsRUFBRSxPQUFPLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDN0UsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM3QyxPQUFPLEVBQUUsY0FBYyxFQUFFLGtCQUFrQixFQUFFLGFBQWEsRUFBRSxNQUFNLFNBQVMsQ0FBQztBQUM1RSxPQUFPLEVBQUUsVUFBVSxFQUFFLFNBQVMsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ3pELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUUxRCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUNqRSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDN0MsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQy9ELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN0RCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUMvRCxPQUFPLEVBQUUsNkJBQTZCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUM3RSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUMvRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDbEQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLG9CQUFv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dCwgTm9kZSwgUmFuZ2UsIEVkaXRvciwgTm9kZUVudHJ5LCBFbGVtZW50LCBQYXRoLCBPcGVyYXRpb24gfSBmcm9tICdzbGF0ZSc7XG5pbXBvcnQgeyBBbmd1bGFyRWRpdG9yLCBFTEVNRU5UX1RPX0NPTVBPTkVOVCwgaG90a2V5cyB9IGZyb20gJ3NsYXRlLWFuZ3VsYXInO1xuaW1wb3J0IHsgVGFibGVPcHRpb25zIH0gZnJvbSAnLi90YWJsZS50eXBlcyc7XG5pbXBvcnQgeyBpc1JhbmdlSW5UYWJsZSwgaXNTZWxlY3Rpb25JblRhYmxlLCBUYWJsZVBvc2l0aW9uIH0gZnJvbSAnLi91dGlscyc7XG5pbXBvcnQgeyBQbHVnaW5LZXlzLCBUaGVFZGl0b3IgfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzJztcbmltcG9ydCB7IEVsZW1lbnRLaW5kcyB9IGZyb20gJy4uLy4uL2NvbnN0YW50cy9ub2RlLXR5cGVzJztcbmltcG9ydCB7IFRhYmxlQ2VsbEVsZW1lbnQsIFRhYmxlRWxlbWVudCwgVGFibGVSb3dFbGVtZW50IH0gZnJvbSAnLi4vLi4vY3VzdG9tLXR5cGVzJztcbmltcG9ydCB7IFRoZVRhYmxlQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL3RhYmxlLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBUYWJsZUVkaXRvciB9IGZyb20gJy4vdGFibGUuZWRpdG9yJztcbmltcG9ydCB7IGNsZWFyVGFibGVOb2RlIH0gZnJvbSAnLi90cmFuc2Zvcm1zL2NsZWFyLXRhYmxlLW5vZGUnO1xuaW1wb3J0IHsgaXNWaXJ0dWFsS2V5IH0gZnJvbSAnLi91dGlscy9pcy12aXJ0dWFsLWtleSc7XG5pbXBvcnQgeyBpbnNlcnRDb2x1bW5BdFJvdyB9IGZyb20gJy4vdHJhbnNmb3Jtcy9pbnNlcnQtY29sdW1uJztcbmltcG9ydCB7IGNhbGN1bGF0ZUFuY2hvclBvc2l0aW9uSW5DZWxsIH0gZnJvbSAnLi91dGlscy9jYWxjLWFuY2hvci1wb3NpdGlvbic7XG5pbXBvcnQgeyBDTElQQk9BUkRfRk9STUFUX0tFWSB9IGZyb20gJy4uLy4uL2NvbnN0YW50cy9kZWZhdWx0JztcbmltcG9ydCB7IGdldE9yaWdpbkNlbGwgfSBmcm9tICcuL3V0aWxzL2NhbGMtc3Bhbic7XG5pbXBvcnQgeyByZXNldFRhYmxlQ2VsbCB9IGZyb20gJy4vdXRpbHMvc3BsaXQtY2VsbCc7XG5pbXBvcnQgeyByZW1vdmVDb2x1bW5zIH0gZnJvbSAnLi91dGlscy9yZW1vdmUtY29sdW1ucyc7XG5pbXBvcnQgeyBhZGRDb2x1bW5zIH0gZnJvbSAnLi91dGlscy9hZGQtY29sdW1ucyc7XG5pbXBvcnQgeyBUaGVUYWJsZVJvd0NvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9yb3cvcm93LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBUaGVUZENvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy90ZC90ZC5jb21wb25lbnQnO1xuaW1wb3J0IHsgZXh0cmFjdEZyYWdtZW50IH0gZnJvbSAnLi4vLi4vdXRpbHMvZnJhZ21lbnQnO1xuaW1wb3J0ICogYXMgVGhlUXVlcmllcyBmcm9tICcuLi8uLi9xdWVyaWVzJztcbmltcG9ydCB7IG5vcm1hbGl6ZVRhYmxlIH0gZnJvbSAnLi91dGlscy9ub3JtYWxpemUtdGFibGUnO1xuaW1wb3J0IHsgY2xvbmVEZWVwIH0gZnJvbSAnLi4vLi4vdXRpbHMvbG9kYXNoJztcbmltcG9ydCB7IGNyZWF0ZVBsdWdpbkZhY3RvcnkgfSBmcm9tICcuLi8uLi9jb3JlJztcbmltcG9ydCB7IFRoZVRhYmxlVG9vbGJhckl0ZW1Db21wb25lbnQgfSBmcm9tICcuL3Rvb2xiYXItaXRlbS5jb21wb25lbnQnO1xuaW1wb3J0IHsgUGx1Z2luTWVudUljb25zLCBQbHVnaW5NZW51U3ZncywgVGhlUGx1Z2luTWVudUl0ZW1UeXBlIH0gZnJvbSAnLi4vLi4vY29uc3RhbnRzL3BsdWdpbi1tZW51JztcblxuZXhwb3J0IGNvbnN0IHdpdGhUYWJsZSA9IDxUIGV4dGVuZHMgRWRpdG9yPihlZGl0b3I6IFQpOiBUID0+IHtcbiAgICBjb25zdCB7XG4gICAgICAgIGRlbGV0ZUJhY2t3YXJkLFxuICAgICAgICBkZWxldGVGb3J3YXJkLFxuICAgICAgICBvbktleWRvd24sXG4gICAgICAgIHNldEZyYWdtZW50RGF0YSxcbiAgICAgICAgaW5zZXJ0RGF0YSxcbiAgICAgICAgbm9ybWFsaXplTm9kZSxcbiAgICAgICAgaXNCbG9ja0NhcmQsXG4gICAgICAgIHJlbmRlckVsZW1lbnQsXG4gICAgICAgIGRlbGV0ZUN1dERhdGEsXG4gICAgICAgIGlzQ29udGFpbmVyLFxuICAgICAgICBvbkNoYW5nZVxuICAgIH0gPSBlZGl0b3I7XG5cbiAgICBlZGl0b3IuZGVsZXRlQmFja3dhcmQgPSB1bml0ID0+IHtcbiAgICAgICAgY29uc3Qgb3B0cyA9IG5ldyBUYWJsZU9wdGlvbnMoKTtcbiAgICAgICAgaWYgKCFpc1NlbGVjdGlvbkluVGFibGUob3B0cywgZWRpdG9yKSkge1xuICAgICAgICAgICAgZGVsZXRlQmFja3dhcmQodW5pdCk7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgeyBzZWxlY3Rpb24gfSA9IGVkaXRvcjtcblxuICAgICAgICBjb25zdCBbLCBzdGFydEJsb2NrUGF0aF0gPSBFZGl0b3IuYWJvdmU8RWxlbWVudD4oZWRpdG9yLCB7XG4gICAgICAgICAgICBtYXRjaDogbiA9PiBFZGl0b3IuaXNCbG9jayhlZGl0b3IsIG4pXG4gICAgICAgIH0pO1xuICAgICAgICBjb25zdCBzdGFydFBvc2l0aW9uID0gVGFibGVQb3NpdGlvbi5jcmVhdGUob3B0cywgZWRpdG9yLCBzZWxlY3Rpb24uYW5jaG9yLnBhdGgpO1xuICAgICAgICBpZiAoXG4gICAgICAgICAgICBzdGFydEJsb2NrUGF0aC5sZW5ndGggPD0gc3RhcnRQb3NpdGlvbi5jZWxsRW50cnlbMV0ubGVuZ3RoICsgMSAmJlxuICAgICAgICAgICAgc3RhcnRCbG9ja1BhdGgucG9wKCkgPT09IDAgJiZcbiAgICAgICAgICAgIHNlbGVjdGlvbi5hbmNob3Iub2Zmc2V0ID09PSAwICYmXG4gICAgICAgICAgICBUaGVRdWVyaWVzLmlzU3RhcnQoZWRpdG9yLCBzZWxlY3Rpb24uYW5jaG9yLCBzdGFydEJsb2NrUGF0aCkgJiZcbiAgICAgICAgICAgICFFZGl0b3IuaXNWb2lkKGVkaXRvciwgVGhlUXVlcmllcy5hbmNob3JCbG9jayhlZGl0b3IpKVxuICAgICAgICApIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBkZWxldGVCYWNrd2FyZCh1bml0KTtcbiAgICB9O1xuXG4gICAgZWRpdG9yLmRlbGV0ZUZvcndhcmQgPSB1bml0ID0+IHtcbiAgICAgICAgY29uc3Qgb3B0cyA9IG5ldyBUYWJsZU9wdGlvbnMoKTtcbiAgICAgICAgY29uc3QgYWZ0ZXJQb2ludCA9IEVkaXRvci5hZnRlcihlZGl0b3IsIGVkaXRvci5zZWxlY3Rpb24pO1xuICAgICAgICBpZiAoYWZ0ZXJQb2ludCAmJiBpc1JhbmdlSW5UYWJsZShvcHRzLCBlZGl0b3IsIHsgYW5jaG9yOiBhZnRlclBvaW50LCBmb2N1czogYWZ0ZXJQb2ludCB9KSkge1xuICAgICAgICAgICAgY29uc3QgYmVmb3JlUG9zaXRpb24gPSBUYWJsZVBvc2l0aW9uLmNyZWF0ZShvcHRzLCBlZGl0b3IsIGVkaXRvci5zZWxlY3Rpb24uYW5jaG9yLnBhdGgpO1xuICAgICAgICAgICAgY29uc3QgYWZ0ZXJQb3NpdGlvbiA9IFRhYmxlUG9zaXRpb24uY3JlYXRlKG9wdHMsIGVkaXRvciwgYWZ0ZXJQb2ludC5wYXRoKTtcbiAgICAgICAgICAgIGlmIChiZWZvcmVQb3NpdGlvbi5jZWxsICYmIGJlZm9yZVBvc2l0aW9uLmNlbGwgIT09IGFmdGVyUG9zaXRpb24uY2VsbCkge1xuICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBkZWxldGVGb3J3YXJkKHVuaXQpO1xuICAgIH07XG5cbiAgICBlZGl0b3Iub25LZXlkb3duID0gKGV2ZW50OiBLZXlib2FyZEV2ZW50KSA9PiB7XG4gICAgICAgIGNvbnN0IG9wdHMgPSBuZXcgVGFibGVPcHRpb25zKCk7XG4gICAgICAgIGNvbnN0IGlzTW92ZVVwID0gaG90a2V5cy5pc01vdmVVcChldmVudCk7XG4gICAgICAgIGNvbnN0IGlzTW92ZURvd24gPSBob3RrZXlzLmlzTW92ZURvd24oZXZlbnQpO1xuICAgICAgICBjb25zdCBpc01vdmVCYWNrd2FyZCA9IGhvdGtleXMuaXNNb3ZlQmFja3dhcmQoZXZlbnQpO1xuICAgICAgICBjb25zdCBpc01vdmVGb3J3YXJkID0gaG90a2V5cy5pc01vdmVGb3J3YXJkKGV2ZW50KTtcbiAgICAgICAgY29uc3QgeyBzZWxlY3Rpb24gfSA9IGVkaXRvcjtcbiAgICAgICAgaWYgKCFzZWxlY3Rpb24gfHwgIXNlbGVjdGlvbi5hbmNob3IgfHwgIXNlbGVjdGlvbi5mb2N1cykge1xuICAgICAgICAgICAgb25LZXlkb3duKGV2ZW50KTtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBzdGFydFBvc2l0aW9uID0gVGFibGVQb3NpdGlvbi5jcmVhdGUob3B0cywgZWRpdG9yLCBzZWxlY3Rpb24uYW5jaG9yLnBhdGgpO1xuICAgICAgICBjb25zdCBlbmRQb3NpdGlvbiA9IFRhYmxlUG9zaXRpb24uY3JlYXRlKG9wdHMsIGVkaXRvciwgc2VsZWN0aW9uLmZvY3VzLnBhdGgpO1xuICAgICAgICBjb25zdCBpc0NvbGxhcHNlZCA9IFJhbmdlLmlzQ29sbGFwc2VkKHNlbGVjdGlvbik7XG4gICAgICAgIGlmIChzdGFydFBvc2l0aW9uICYmIGVuZFBvc2l0aW9uICYmIGVuZFBvc2l0aW9uLmlzSW5UYWJsZSgpKSB7XG4gICAgICAgICAgICAvLyBmb3Iga2V5Ym9hcmQgdXAgYW5kIGRvd24ga2V5IGluIHRoZSB0YWJsZVxuICAgICAgICAgICAgaWYgKGlzTW92ZVVwIHx8IGlzTW92ZURvd24pIHtcbiAgICAgICAgICAgICAgICBjb25zdCBjZWxsUGF0aCA9IGVuZFBvc2l0aW9uLmNlbGxFbnRyeVsxXTtcbiAgICAgICAgICAgICAgICBjb25zdCBzdGFydFBhdGggPSBFZGl0b3Iuc3RhcnQoZWRpdG9yLCBjZWxsUGF0aCkucGF0aDtcbiAgICAgICAgICAgICAgICBjb25zdCBlbmRQYXRoID0gRWRpdG9yLmVuZChlZGl0b3IsIGNlbGxQYXRoKS5wYXRoO1xuICAgICAgICAgICAgICAgIGNvbnN0IHsgaXNGaXJzdExpbmUsIGlzTGFzdExpbmUgfSA9IGNhbGN1bGF0ZUFuY2hvclBvc2l0aW9uSW5DZWxsKGVkaXRvcik7XG4gICAgICAgICAgICAgICAgc3RhcnRQYXRoLnBvcCgpO1xuICAgICAgICAgICAgICAgIGVuZFBhdGgucG9wKCk7XG5cbiAgICAgICAgICAgICAgICBpZiAoKFRoZVF1ZXJpZXMuYW5jaG9yQmxvY2tFbnRyeShlZGl0b3IpWzFdLnRvU3RyaW5nKCkgIT09IHN0YXJ0UGF0aC50b1N0cmluZygpIHx8ICFpc0ZpcnN0TGluZSkgJiYgaXNNb3ZlVXApIHtcbiAgICAgICAgICAgICAgICAgICAgb25LZXlkb3duKGV2ZW50KTtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIGlmICgoVGhlUXVlcmllcy5hbmNob3JCbG9ja0VudHJ5KGVkaXRvcilbMV0udG9TdHJpbmcoKSAhPT0gZW5kUGF0aC50b1N0cmluZygpIHx8ICFpc0xhc3RMaW5lKSAmJiBpc01vdmVEb3duKSB7XG4gICAgICAgICAgICAgICAgICAgIG9uS2V5ZG93bihldmVudCk7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICAgICAgICAgIGxldCBhdDogUG9pbnQ7XG4gICAgICAgICAgICAgICAgaWYgKGlzTW92ZVVwKSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGFib3ZlUm93ID0gc3RhcnRQb3NpdGlvbi50YWJsZS5jaGlsZHJlbltzdGFydFBvc2l0aW9uLmdldFJvd0luZGV4KCkgLSAxXTtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgYWJvdmVDZWxsID0gYWJvdmVSb3cgJiYgYWJvdmVSb3cuY2hpbGRyZW5bc3RhcnRQb3NpdGlvbi5nZXRDb2x1bW5JbmRleCgpXTtcbiAgICAgICAgICAgICAgICAgICAgaWYgKGFib3ZlQ2VsbCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGFib3ZlQ2VsbC5oaWRkZW4pIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBUYWJsZUVkaXRvci5zZWxlY3RPcmlnaW5DZWxsKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlZGl0b3IsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0YXJ0UG9zaXRpb24udGFibGUsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0YXJ0UG9zaXRpb24uZ2V0Um93SW5kZXgoKSAtIDEsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0YXJ0UG9zaXRpb24uZ2V0Q29sdW1uSW5kZXgoKSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmFsc2VcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYXQgPSBFZGl0b3IuZW5kKGVkaXRvciwgVGhlRWRpdG9yLmZpbmRQYXRoKGVkaXRvciwgYWJvdmVDZWxsKSk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBwcmV2aW91c05vZGVFbnRyeSA9IEVkaXRvci5wcmV2aW91cyhlZGl0b3IsIHsgYXQ6IHN0YXJ0UG9zaXRpb24udGFibGVFbnRyeVsxXSB9KTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGJlZm9yZVBvaW50ID0gRWRpdG9yLmJlZm9yZShlZGl0b3IsIHN0YXJ0UG9zaXRpb24udGFibGVFbnRyeVsxXSk7XG4gICAgICAgICAgICAgICAgICAgICAgICBFZGl0b3IubmV4dChlZGl0b3IsIHsgYXQ6IHN0YXJ0UG9zaXRpb24udGFibGVFbnRyeVsxXSB9KTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHByZXZpb3VzTm9kZUVudHJ5KSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYXQgPSBFZGl0b3IuZW5kKGVkaXRvciwgcHJldmlvdXNOb2RlRW50cnlbMV0pO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoIXByZXZpb3VzTm9kZUVudHJ5ICYmIGJlZm9yZVBvaW50KSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYXQgPSBFZGl0b3IuZW5kKGVkaXRvciwgYmVmb3JlUG9pbnQucGF0aCk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIGlmICghcHJldmlvdXNOb2RlRW50cnkgJiYgIWJlZm9yZVBvaW50KSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgQW5ndWxhckVkaXRvci5tb3ZlQmxvY2tDYXJkKGVkaXRvciwgc3RhcnRQb3NpdGlvbi50YWJsZUVudHJ5WzBdLCB7IGRpcmVjdGlvbjogJ2xlZnQnIH0pO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBUcmFuc2Zvcm1zLnNlbGVjdChlZGl0b3IsIGF0KTtcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICBsZXQgYmVsb3dSb3dJbmRleCA9IHN0YXJ0UG9zaXRpb24uZ2V0Um93SW5kZXgoKSArIDE7XG4gICAgICAgICAgICAgICAgICAgIGlmIChzdGFydFBvc2l0aW9uLmNlbGwucm93c3BhbiA+IDEpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJlbG93Um93SW5kZXggPSBzdGFydFBvc2l0aW9uLmdldFJvd0luZGV4KCkgKyBzdGFydFBvc2l0aW9uLmNlbGwucm93c3BhbjtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBjb25zdCBiZWxvd1JvdyA9IHN0YXJ0UG9zaXRpb24udGFibGUuY2hpbGRyZW5bYmVsb3dSb3dJbmRleF07XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGJlbG93Q2VsbCA9IGJlbG93Um93ICYmIGJlbG93Um93LmNoaWxkcmVuW3N0YXJ0UG9zaXRpb24uZ2V0Q29sdW1uSW5kZXgoKV07XG4gICAgICAgICAgICAgICAgICAgIGlmIChiZWxvd0NlbGwpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChiZWxvd0NlbGwuaGlkZGVuKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgVGFibGVFZGl0b3Iuc2VsZWN0T3JpZ2luQ2VsbChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZWRpdG9yLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdGFydFBvc2l0aW9uLnRhYmxlLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdGFydFBvc2l0aW9uLmdldFJvd0luZGV4KCkgKyAxLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdGFydFBvc2l0aW9uLmdldENvbHVtbkluZGV4KCksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRydWVcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYXQgPSBFZGl0b3Iuc3RhcnQoZWRpdG9yLCBUaGVFZGl0b3IuZmluZFBhdGgoZWRpdG9yLCBiZWxvd0NlbGwpKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IG5leHROb2RlRW50cnkgPSBFZGl0b3IubmV4dChlZGl0b3IsIHsgYXQ6IHN0YXJ0UG9zaXRpb24udGFibGVFbnRyeVsxXSB9KTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IG1vdmVQYXRoID0gbmV4dE5vZGVFbnRyeSA/IG5leHROb2RlRW50cnlbMV0gOiBFZGl0b3IuYWZ0ZXIoZWRpdG9yLCBzdGFydFBvc2l0aW9uLnRhYmxlRW50cnlbMV0pLnBhdGg7XG4gICAgICAgICAgICAgICAgICAgICAgICBhdCA9IEVkaXRvci5zdGFydChlZGl0b3IsIG1vdmVQYXRoKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBUcmFuc2Zvcm1zLnNlbGVjdChlZGl0b3IsIGF0KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBpZiAoaXNNb3ZlQmFja3dhcmQpIHtcbiAgICAgICAgICAgICAgICBjb25zdCBiZWZvcmVQb2ludCA9IEVkaXRvci5iZWZvcmUoZWRpdG9yLCBlZGl0b3Iuc2VsZWN0aW9uKTtcbiAgICAgICAgICAgICAgICBjb25zdCBiZWZvcmVQb3NpdGlvbiA9IGJlZm9yZVBvaW50ICYmIFRhYmxlUG9zaXRpb24uY3JlYXRlKG9wdHMsIGVkaXRvciwgYmVmb3JlUG9pbnQucGF0aCk7XG4gICAgICAgICAgICAgICAgaWYgKGJlZm9yZVBvc2l0aW9uICYmIGJlZm9yZVBvc2l0aW9uLmNlbGwgJiYgYmVmb3JlUG9zaXRpb24uY2VsbC5oaWRkZW4pIHtcbiAgICAgICAgICAgICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgYXQgPSBFZGl0b3IuZW5kKGVkaXRvciwgVGhlRWRpdG9yLmZpbmRQYXRoKGVkaXRvciwgYmVmb3JlUG9zaXRpb24uZmluZFByZXZpb3VzKCkpKTtcbiAgICAgICAgICAgICAgICAgICAgVHJhbnNmb3Jtcy5zZWxlY3QoZWRpdG9yLCBhdCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBpZiAoaXNNb3ZlRm9yd2FyZCkge1xuICAgICAgICAgICAgICAgIGNvbnN0IGFmdGVyUG9pbnQgPSBFZGl0b3IuYWZ0ZXIoZWRpdG9yLCBlZGl0b3Iuc2VsZWN0aW9uKTtcbiAgICAgICAgICAgICAgICBjb25zdCBhZnRlclBvc2l0aW9uID0gYWZ0ZXJQb2ludCAmJiBUYWJsZVBvc2l0aW9uLmNyZWF0ZShvcHRzLCBlZGl0b3IsIGFmdGVyUG9pbnQucGF0aCk7XG4gICAgICAgICAgICAgICAgaWYgKGFmdGVyUG9zaXRpb24uY2VsbCAmJiBhZnRlclBvc2l0aW9uLmNlbGwuaGlkZGVuKSB7XG4gICAgICAgICAgICAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IG5leHRDZWxsID0gYWZ0ZXJQb3NpdGlvbi5maW5kTmV4dCgpO1xuICAgICAgICAgICAgICAgICAgICBpZiAobmV4dENlbGwpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGF0ID0gRWRpdG9yLnN0YXJ0KGVkaXRvciwgVGhlRWRpdG9yLmZpbmRQYXRoKGVkaXRvciwgYWZ0ZXJQb3NpdGlvbi5maW5kTmV4dCgpKSk7XG4gICAgICAgICAgICAgICAgICAgICAgICBUcmFuc2Zvcm1zLnNlbGVjdChlZGl0b3IsIGF0KTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBBbmd1bGFyRWRpdG9yLm1vdmVCbG9ja0NhcmQoZWRpdG9yLCBzdGFydFBvc2l0aW9uLnRhYmxlRW50cnlbMF0sIHsgZGlyZWN0aW9uOiAncmlnaHQnIH0pO1xuICAgICAgICAgICAgICAgICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAvLyBQcmV2ZW50IGRlbGV0aW5nIGNlbGxzIGluIHRoZSB0YWJsZVxuICAgICAgICAgICAgaWYgKCFpc0NvbGxhcHNlZCAmJiAhc3RhcnRQb3NpdGlvbi5pc0luVGFibGUoKSAmJiAhaXNWaXJ0dWFsS2V5KGV2ZW50KSkge1xuICAgICAgICAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICAgICAgICAgbGV0IHRhYmxlT3V0UGF0aDogUG9pbnQ7XG4gICAgICAgICAgICAgICAgRWRpdG9yLndpdGhvdXROb3JtYWxpemluZyhlZGl0b3IsICgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKFJhbmdlLmlzRm9yd2FyZChzZWxlY3Rpb24pKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0YWJsZU91dFBhdGggPSBFZGl0b3IuZW5kKGVkaXRvciwgW3NlbGVjdGlvbi5mb2N1cy5wYXRoWzBdIC0gMV0pO1xuICAgICAgICAgICAgICAgICAgICAgICAgY2xlYXJUYWJsZU5vZGUob3B0cywgZWRpdG9yLCB0cnVlKTtcbiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRhYmxlT3V0UGF0aCA9IEVkaXRvci5zdGFydChlZGl0b3IsIFtzZWxlY3Rpb24uZm9jdXMucGF0aFswXSArIDFdKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNsZWFyVGFibGVOb2RlKG9wdHMsIGVkaXRvcik7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgY29uc3QgdGFibGVPdXRSYW5nZSA9IEVkaXRvci5yYW5nZShlZGl0b3IsIHNlbGVjdGlvbi5hbmNob3IsIHRhYmxlT3V0UGF0aCk7XG4gICAgICAgICAgICAgICAgICAgIFRyYW5zZm9ybXMuZGVsZXRlKGVkaXRvciwgeyBhdDogdGFibGVPdXRSYW5nZSB9KTtcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICAvLyBuZXcgcmFuZ2VcbiAgICAgICAgICAgICAgICBjb25zdCBjZWxsUmFuZ2UgPSBFZGl0b3IucmFuZ2UoZWRpdG9yLCBlZGl0b3Iuc2VsZWN0aW9uLmZvY3VzLnBhdGguc2xpY2UoMCwgMykpO1xuICAgICAgICAgICAgICAgIGNvbnN0IGZvY3VzUmFuZ2UgPSBSYW5nZS5pbnRlcnNlY3Rpb24oZWRpdG9yLnNlbGVjdGlvbiwgY2VsbFJhbmdlKTtcbiAgICAgICAgICAgICAgICBUcmFuc2Zvcm1zLnNlbGVjdChlZGl0b3IsIGZvY3VzUmFuZ2UpO1xuICAgICAgICAgICAgICAgIEVkaXRvci5kZWxldGVGcmFnbWVudChlZGl0b3IpO1xuICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBvbktleWRvd24oZXZlbnQpO1xuICAgICAgICByZXR1cm47XG4gICAgfTtcblxuICAgIGVkaXRvci5zZXRGcmFnbWVudERhdGEgPSB1bml0ID0+IHtcbiAgICAgICAgY29uc3Qgb3B0cyA9IG5ldyBUYWJsZU9wdGlvbnMoKTtcbiAgICAgICAgaWYgKCFpc1NlbGVjdGlvbkluVGFibGUob3B0cywgZWRpdG9yKSkge1xuICAgICAgICAgICAgc2V0RnJhZ21lbnREYXRhKHVuaXQpO1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IHsgc2VsZWN0aW9uIH0gPSBlZGl0b3I7XG4gICAgICAgIGNvbnN0IHRhYmxlUG9zaXRpb24gPSBUYWJsZVBvc2l0aW9uLmNyZWF0ZShvcHRzLCBlZGl0b3IsIHNlbGVjdGlvbi5hbmNob3IucGF0aCk7XG4gICAgICAgIGNvbnN0IHRhYmxlQ29tcG9uZW50ID0gRUxFTUVOVF9UT19DT01QT05FTlQuZ2V0KHRhYmxlUG9zaXRpb24udGFibGUpIGFzIFRoZVRhYmxlQ29tcG9uZW50O1xuICAgICAgICBjb25zdCBjZWxscyA9IHRhYmxlQ29tcG9uZW50LnRhYmxlU3RvcmUuc2VsZWN0ZWRDZWxscztcbiAgICAgICAgbGV0IHRhYmxlRnJhZ21lbnQgPSBudWxsO1xuICAgICAgICBpZiAodGFibGVDb21wb25lbnQudGFibGVTdG9yZS5zZWxlY3RlZFJvd3NJbmRleC5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgICBjb25zdCByb3dzID0gdGFibGVQb3NpdGlvbi50YWJsZS5jaGlsZHJlbi5zbGljZShcbiAgICAgICAgICAgICAgICB0YWJsZUNvbXBvbmVudC50YWJsZVN0b3JlLnNlbGVjdGVkUm93c0luZGV4WzBdLFxuICAgICAgICAgICAgICAgIHRhYmxlQ29tcG9uZW50LnRhYmxlU3RvcmUuc2VsZWN0ZWRSb3dzSW5kZXhbdGFibGVDb21wb25lbnQudGFibGVTdG9yZS5zZWxlY3RlZFJvd3NJbmRleC5sZW5ndGggLSAxXSArIDFcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgICB0YWJsZUZyYWdtZW50ID0ge1xuICAgICAgICAgICAgICAgIC4uLnRhYmxlUG9zaXRpb24udGFibGUsXG4gICAgICAgICAgICAgICAgY2hpbGRyZW46IHJvd3NcbiAgICAgICAgICAgIH07XG4gICAgICAgIH0gZWxzZSBpZiAoY2VsbHMubGVuZ3RoID4gMCkge1xuICAgICAgICAgICAgY29uc3QgdGVtcFJvd3MgPSB7fTtcbiAgICAgICAgICAgIGZvciAoY29uc3QgY2VsbCBvZiBjZWxscykge1xuICAgICAgICAgICAgICAgIGNvbnN0IHsgcm93LCBjb2wgfSA9IGNlbGw7XG4gICAgICAgICAgICAgICAgY29uc3QgY2VsbFBhdGggPSBbLi4udGFibGVQb3NpdGlvbi50YWJsZUVudHJ5WzFdLCByb3csIGNvbF07XG4gICAgICAgICAgICAgICAgY29uc3QgY2VsbE5vZGUgPSBOb2RlLmdldChlZGl0b3IsIGNlbGxQYXRoKSBhcyBUYWJsZUNlbGxFbGVtZW50O1xuICAgICAgICAgICAgICAgIGlmICghdGVtcFJvd3Nbcm93XSkge1xuICAgICAgICAgICAgICAgICAgICB0ZW1wUm93c1tyb3ddID0gW107XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHRlbXBSb3dzW3Jvd10ucHVzaChjZWxsTm9kZSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBjb25zdCByb3dzOiBUYWJsZVJvd0VsZW1lbnRbXSA9IE9iamVjdC52YWx1ZXModGVtcFJvd3MpLm1hcCgoaXRlbTogVGFibGVDZWxsRWxlbWVudFtdKSA9PiB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICAgICAgdHlwZTogRWxlbWVudEtpbmRzLnRhYmxlUm93LFxuICAgICAgICAgICAgICAgICAgICBjaGlsZHJlbjogaXRlbVxuICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIHRhYmxlRnJhZ21lbnQgPSB7XG4gICAgICAgICAgICAgICAgdHlwZTogRWxlbWVudEtpbmRzLnRhYmxlLFxuICAgICAgICAgICAgICAgIGNoaWxkcmVuOiByb3dzXG4gICAgICAgICAgICB9O1xuICAgICAgICB9XG4gICAgICAgIGlmICh0YWJsZUZyYWdtZW50KSB7XG4gICAgICAgICAgICB0YWJsZUZyYWdtZW50ID0gbm9ybWFsaXplVGFibGUoY2xvbmVEZWVwKHRhYmxlRnJhZ21lbnQpKTtcbiAgICAgICAgICAgIGNvbnN0IHBsYWluVGV4dCA9IE5vZGUuc3RyaW5nKHRhYmxlRnJhZ21lbnQpO1xuICAgICAgICAgICAgdGFibGVGcmFnbWVudCA9IFt0YWJsZUZyYWdtZW50XTtcbiAgICAgICAgICAgIGNvbnN0IHN0cmluZ09iaiA9IEpTT04uc3RyaW5naWZ5KHRhYmxlRnJhZ21lbnQpO1xuICAgICAgICAgICAgY29uc3QgZW5jb2RlZCA9IHdpbmRvdy5idG9hKGVuY29kZVVSSUNvbXBvbmVudChzdHJpbmdPYmopKTtcbiAgICAgICAgICAgIHVuaXQuc2V0RGF0YShgYXBwbGljYXRpb24vJHtDTElQQk9BUkRfRk9STUFUX0tFWX1gLCBlbmNvZGVkKTtcbiAgICAgICAgICAgIHVuaXQuc2V0RGF0YSgndGV4dC9wbGFpbicsIHBsYWluVGV4dCk7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgc2V0RnJhZ21lbnREYXRhKHVuaXQpO1xuICAgIH07XG5cbiAgICBlZGl0b3IuaW5zZXJ0RGF0YSA9IGRhdGEgPT4ge1xuICAgICAgICBjb25zdCBmcmFnbWVudCA9IGV4dHJhY3RGcmFnbWVudChkYXRhKTtcbiAgICAgICAgaWYgKGZyYWdtZW50KSB7XG4gICAgICAgICAgICBjb25zdCBvcHRzID0gbmV3IFRhYmxlT3B0aW9ucygpO1xuICAgICAgICAgICAgY29uc3QgeyBzZWxlY3Rpb24gfSA9IGVkaXRvcjtcbiAgICAgICAgICAgIGlmIChcbiAgICAgICAgICAgICAgICBpc1NlbGVjdGlvbkluVGFibGUob3B0cywgZWRpdG9yKSAmJlxuICAgICAgICAgICAgICAgIGZyYWdtZW50Lmxlbmd0aCA9PT0gMSAmJlxuICAgICAgICAgICAgICAgIEVsZW1lbnQuaXNFbGVtZW50KGZyYWdtZW50WzBdKSAmJlxuICAgICAgICAgICAgICAgIGZyYWdtZW50WzBdLnR5cGUgPT09IEVsZW1lbnRLaW5kcy50YWJsZVxuICAgICAgICAgICAgKSB7XG4gICAgICAgICAgICAgICAgY29uc3QgdGFibGVQb3NpdGlvbiA9IFRhYmxlUG9zaXRpb24uY3JlYXRlKG9wdHMsIGVkaXRvciwgc2VsZWN0aW9uLmFuY2hvci5wYXRoKTtcbiAgICAgICAgICAgICAgICBjb25zdCBjbGlwYm9hcmRUYWJsZSA9IGZyYWdtZW50WzBdLmNoaWxkcmVuIGFzIE5vZGVbXTtcbiAgICAgICAgICAgICAgICBjb25zdCBjbGlwYm9hcmRSb3cgPSAoY2xpcGJvYXJkVGFibGVbMF0gYXMgRWxlbWVudCkuY2hpbGRyZW47XG4gICAgICAgICAgICAgICAgY29uc3Qgc2VsZWN0Um93SW5kZXggPSB0YWJsZVBvc2l0aW9uLmdldFJvd0luZGV4KCk7XG4gICAgICAgICAgICAgICAgY29uc3Qgc2VsZWN0Q29sSW5kZXggPSB0YWJsZVBvc2l0aW9uLmdldENvbHVtbkluZGV4KCk7XG4gICAgICAgICAgICAgICAgY29uc3QgbGFzdFJvd0luZGV4ID0gc2VsZWN0Um93SW5kZXggKyBjbGlwYm9hcmRUYWJsZS5sZW5ndGggLSAxO1xuICAgICAgICAgICAgICAgIGNvbnN0IGxhc3RDb2xJbmRleCA9IHNlbGVjdENvbEluZGV4ICsgY2xpcGJvYXJkUm93Lmxlbmd0aCAtIDE7XG5cbiAgICAgICAgICAgICAgICBmb3IgKGxldCBpID0gc2VsZWN0Um93SW5kZXg7IGkgPD0gbGFzdFJvd0luZGV4OyBpKyspIHtcbiAgICAgICAgICAgICAgICAgICAgZm9yIChsZXQgaiA9IHNlbGVjdENvbEluZGV4OyBqIDw9IGxhc3RDb2xJbmRleDsgaisrKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zdCByb3cgPSB0YWJsZVBvc2l0aW9uLnRhYmxlLmNoaWxkcmVuW2ldO1xuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHJvdyAmJiByb3cuY2hpbGRyZW5bal0pIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBvcmlnaW5DZWxsID0gZ2V0T3JpZ2luQ2VsbCh0YWJsZVBvc2l0aW9uLnRhYmxlLCBpLCBqKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAob3JpZ2luQ2VsbCAmJiAob3JpZ2luQ2VsbC5jb2xzcGFuIHx8IG9yaWdpbkNlbGwucm93c3BhbikpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgcGF0aCA9IFRoZUVkaXRvci5maW5kUGF0aChlZGl0b3IsIG9yaWdpbkNlbGwpLnNsaWNlKC0yKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVzZXRUYWJsZUNlbGwoZWRpdG9yLCB0YWJsZVBvc2l0aW9uLnRhYmxlLCBvcmlnaW5DZWxsLCBwYXRoWzBdLCBwYXRoWzFdKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBFZGl0b3Iud2l0aG91dE5vcm1hbGl6aW5nKGVkaXRvciwgKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICBpZiAobGFzdENvbEluZGV4ID4gdGFibGVQb3NpdGlvbi5nZXRXaWR0aCgpIC0gMSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgYWRkQ29sQ291bnQgPSBsYXN0Q29sSW5kZXggLSAodGFibGVQb3NpdGlvbi5nZXRXaWR0aCgpIC0gMSk7XG4gICAgICAgICAgICAgICAgICAgICAgICBUYWJsZUVkaXRvci5pbnNlcnRDb2x1bW4oZWRpdG9yLCBhZGRDb2xDb3VudCwgdGFibGVQb3NpdGlvbi5nZXRXaWR0aCgpKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBpZiAobGFzdFJvd0luZGV4ID4gdGFibGVQb3NpdGlvbi5nZXRIZWlnaHQoKSAtIDEpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGFkZFJvd0NvdW50ID0gbGFzdFJvd0luZGV4IC0gKHRhYmxlUG9zaXRpb24uZ2V0SGVpZ2h0KCkgLSAxKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIFRhYmxlRWRpdG9yLmluc2VydFJvdyhlZGl0b3IsIGFkZFJvd0NvdW50LCB0YWJsZVBvc2l0aW9uLmdldEhlaWdodCgpKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBjbGlwYm9hcmRUYWJsZS5mb3JFYWNoKChyb3c6IFRhYmxlRWxlbWVudCwgaTogbnVtYmVyKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICByb3cuY2hpbGRyZW4uZm9yRWFjaCgoY29sOiBOb2RlLCBqOiBudW1iZXIpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBhdCA9IFsuLi50YWJsZVBvc2l0aW9uLnRhYmxlRW50cnlbMV0sIHNlbGVjdFJvd0luZGV4ICsgaSwgc2VsZWN0Q29sSW5kZXggKyBqXTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBUcmFuc2Zvcm1zLnJlbW92ZU5vZGVzKGVkaXRvciwgeyBhdCB9KTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBUcmFuc2Zvcm1zLmluc2VydE5vZGVzKGVkaXRvciwgY29sLCB7IGF0IH0pO1xuICAgICAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIGNvbnN0IHRhcmdldCA9IEVkaXRvci5zdGFydChlZGl0b3IsIFsuLi50YWJsZVBvc2l0aW9uLnRhYmxlRW50cnlbMV0sIHNlbGVjdFJvd0luZGV4LCBzZWxlY3RDb2xJbmRleF0pO1xuICAgICAgICAgICAgICAgIFRyYW5zZm9ybXMuc2VsZWN0KGVkaXRvciwgdGFyZ2V0KTtcbiAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgaW5zZXJ0RGF0YShkYXRhKTtcbiAgICB9O1xuXG4gICAgZWRpdG9yLm5vcm1hbGl6ZU5vZGUgPSAoZW50cnk6IE5vZGVFbnRyeTxOb2RlPikgPT4ge1xuICAgICAgICBpZiAoRWxlbWVudC5pc0VsZW1lbnQoZW50cnlbMF0pICYmIGVudHJ5WzBdLnR5cGUgPT09IEVsZW1lbnRLaW5kcy50YWJsZSkge1xuICAgICAgICAgICAgY29uc3QgdGFibGUgPSBlbnRyeVswXSBhcyBUYWJsZUVsZW1lbnQ7XG4gICAgICAgICAgICBjb25zdCBtYXhXaWR0aCA9IE1hdGgubWF4KC4uLnRhYmxlLmNoaWxkcmVuLm1hcChyb3cgPT4gcm93LmNoaWxkcmVuLmxlbmd0aCkpO1xuICAgICAgICAgICAgY29uc3QgaW52YWxpZFJvd3MgPSB0YWJsZS5jaGlsZHJlbi5maWx0ZXIocm93ID0+IHJvdy5jaGlsZHJlbi5sZW5ndGggPCBtYXhXaWR0aCk7XG4gICAgICAgICAgICBpZiAoaW52YWxpZFJvd3MubGVuZ3RoID4gMCkge1xuICAgICAgICAgICAgICAgIGNvbnN0IG9wdHMgPSBuZXcgVGFibGVPcHRpb25zKCk7XG4gICAgICAgICAgICAgICAgRWRpdG9yLndpdGhvdXROb3JtYWxpemluZyhlZGl0b3IsICgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgdGFibGUuY2hpbGRyZW4ubWFwKChyb3csIHJvd0luZGV4KSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICByb3cuY2hpbGRyZW4ubWFwKChjZWxsLCBjZWxsSW5kZXgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoY2VsbC5oaWRkZW4gfHwgY2VsbC5jb2xzcGFuIHx8IGNlbGwucm93c3Bhbikge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBUcmFuc2Zvcm1zLnNldE5vZGVzKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZWRpdG9yLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeyBoaWRkZW46IG51bGwsIGNvbHNwYW46IG51bGwsIHJvd3NwYW46IG51bGwgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgYXQ6IFsuLi5lbnRyeVsxXSwgcm93SW5kZXgsIGNlbGxJbmRleF0gfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICAgICAgaW52YWxpZFJvd3MuZm9yRWFjaChyb3cgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgY291bnQgPSBtYXhXaWR0aCAtIHJvdy5jaGlsZHJlbi5sZW5ndGg7XG4gICAgICAgICAgICAgICAgICAgICAgICBpbnNlcnRDb2x1bW5BdFJvdyhcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBvcHRzLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVkaXRvcixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb3VudCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBlbnRyeSBhcyBOb2RlRW50cnk8VGFibGVFbGVtZW50PixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0YWJsZS5jaGlsZHJlbi5pbmRleE9mKHJvdyksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcm93LmNoaWxkcmVuLmxlbmd0aFxuICAgICAgICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAodGFibGUuY29sdW1ucyAmJiB0YWJsZS5jb2x1bW5zLmxlbmd0aCAhPT0gbWF4V2lkdGgpIHtcbiAgICAgICAgICAgICAgICBjb25zdCBjb2x1bW5zID0gdGFibGUuY29sdW1ucy5sZW5ndGggPiBtYXhXaWR0aCA/IHJlbW92ZUNvbHVtbnModGFibGUsIG1heFdpZHRoKSA6IGFkZENvbHVtbnModGFibGUsIG1heFdpZHRoKTtcbiAgICAgICAgICAgICAgICBUcmFuc2Zvcm1zLnNldE5vZGVzKGVkaXRvciwgeyBjb2x1bW5zIH0sIHsgYXQ6IGVudHJ5WzFdIH0pO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC8vIGFkanVzdCBzZWxlY3Rpb24gd2hlbiBzZWxlY3Rpb24gaXMgaW4gaGlkZGVuIGNlbGxcbiAgICAgICAgaWYgKEVsZW1lbnQuaXNFbGVtZW50KGVudHJ5WzBdKSAmJiBlbnRyeVswXS50eXBlID09PSBFbGVtZW50S2luZHMudGFibGVDZWxsICYmIGVudHJ5WzBdLmhpZGRlbikge1xuICAgICAgICAgICAgaWYgKGVkaXRvci5zZWxlY3Rpb24gJiYgUmFuZ2UuaXNDb2xsYXBzZWQoZWRpdG9yLnNlbGVjdGlvbikgJiYgUGF0aC5pc0FuY2VzdG9yKGVudHJ5WzFdLCBlZGl0b3Iuc2VsZWN0aW9uLmFuY2hvci5wYXRoKSkge1xuICAgICAgICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBvcHRzID0gbmV3IFRhYmxlT3B0aW9ucygpO1xuICAgICAgICAgICAgICAgICAgICBjb25zdCB0YWJsZVBvc2l0aW9uID0gVGFibGVQb3NpdGlvbi5jcmVhdGUob3B0cywgZWRpdG9yLCBlZGl0b3Iuc2VsZWN0aW9uLmFuY2hvci5wYXRoKTtcbiAgICAgICAgICAgICAgICAgICAgY29uc3Qgb3JpZ2luID0gZ2V0T3JpZ2luQ2VsbCh0YWJsZVBvc2l0aW9uLnRhYmxlLCB0YWJsZVBvc2l0aW9uLmdldFJvd0luZGV4KCksIHRhYmxlUG9zaXRpb24uZ2V0Q29sdW1uSW5kZXgoKSk7XG4gICAgICAgICAgICAgICAgICAgIGlmIChvcmlnaW4pIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHBhdGggPSBBbmd1bGFyRWRpdG9yLmZpbmRQYXRoKGVkaXRvciwgb3JpZ2luKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIFRyYW5zZm9ybXMuc2VsZWN0KGVkaXRvciwgRWRpdG9yLmVuZChlZGl0b3IsIHBhdGgpKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH0sIDApO1xuICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBub3JtYWxpemVOb2RlKGVudHJ5KTtcbiAgICB9O1xuXG4gICAgZWRpdG9yLmlzQmxvY2tDYXJkID0gKGVsZW1lbnQ6IEVsZW1lbnQpID0+IHtcbiAgICAgICAgaWYgKGVsZW1lbnQgJiYgZWxlbWVudC50eXBlID09PSBFbGVtZW50S2luZHMudGFibGUpIHtcbiAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBpc0Jsb2NrQ2FyZChlbGVtZW50KTtcbiAgICB9O1xuXG4gICAgZWRpdG9yLnJlbmRlckVsZW1lbnQgPSAoZWxlbWVudDogRWxlbWVudCkgPT4ge1xuICAgICAgICBpZiAoZWxlbWVudC50eXBlID09PSBFbGVtZW50S2luZHMudGFibGUpIHtcbiAgICAgICAgICAgIHJldHVybiBUaGVUYWJsZUNvbXBvbmVudDtcbiAgICAgICAgfVxuICAgICAgICBpZiAoZWxlbWVudC50eXBlID09PSBFbGVtZW50S2luZHMudGFibGVSb3cpIHtcbiAgICAgICAgICAgIHJldHVybiBUaGVUYWJsZVJvd0NvbXBvbmVudDtcbiAgICAgICAgfVxuICAgICAgICBpZiAoZWxlbWVudC50eXBlID09PSBFbGVtZW50S2luZHMudGFibGVDZWxsKSB7XG4gICAgICAgICAgICByZXR1cm4gVGhlVGRDb21wb25lbnQ7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHJlbmRlckVsZW1lbnQoZWxlbWVudCk7XG4gICAgfTtcblxuICAgIGVkaXRvci5kZWxldGVDdXREYXRhID0gKCkgPT4ge1xuICAgICAgICBjb25zdCBvcHRzID0gbmV3IFRhYmxlT3B0aW9ucygpO1xuICAgICAgICBpZiAoIWlzU2VsZWN0aW9uSW5UYWJsZShvcHRzLCBlZGl0b3IpKSB7XG4gICAgICAgICAgICBkZWxldGVDdXREYXRhKCk7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgeyBzZWxlY3Rpb24gfSA9IGVkaXRvcjtcbiAgICAgICAgY29uc3QgZWxlbWVudCA9IFRhYmxlUG9zaXRpb24uY3JlYXRlKG9wdHMsIGVkaXRvciwgc2VsZWN0aW9uLmFuY2hvci5wYXRoKTtcbiAgICAgICAgY29uc3QgdGFibGVDb21wb25lbnQgPSBFTEVNRU5UX1RPX0NPTVBPTkVOVC5nZXQoZWxlbWVudC50YWJsZSkgYXMgVGhlVGFibGVDb21wb25lbnQ7XG4gICAgICAgIGNvbnN0IGNlbGxzID0gdGFibGVDb21wb25lbnQudGFibGVTdG9yZS5zZWxlY3RlZENlbGxzO1xuICAgICAgICBpZiAoY2VsbHMubGVuZ3RoID4gMCkge1xuICAgICAgICAgICAgRWRpdG9yLndpdGhvdXROb3JtYWxpemluZyhlZGl0b3IsICgpID0+IHtcbiAgICAgICAgICAgICAgICBpZiAodGFibGVDb21wb25lbnQudGFibGVTdG9yZS5pc1NlbGVjdGVkVGFibGUpIHtcbiAgICAgICAgICAgICAgICAgICAgVGFibGVFZGl0b3IucmVtb3ZlVGFibGUoZWRpdG9yKTtcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICB0YWJsZUNvbXBvbmVudC50YWJsZVN0b3JlLmNsZWFyU2VsZWN0ZWRDZWxsc0NvbnRlbnQoKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgdGFibGVDb21wb25lbnQudGFibGVTZXJ2aWNlLmNsb3NlVG9vbGJhcigpO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgZGVsZXRlQ3V0RGF0YSgpO1xuICAgIH07XG5cbiAgICBlZGl0b3IuaXNDb250YWluZXIgPSAoZWxlbWVudDogRWxlbWVudCkgPT4ge1xuICAgICAgICByZXR1cm4gZWxlbWVudC50eXBlID09PSBFbGVtZW50S2luZHMudGFibGVDZWxsID8gdHJ1ZSA6IGlzQ29udGFpbmVyKGVsZW1lbnQpO1xuICAgIH07XG5cbiAgICBlZGl0b3Iub25DaGFuZ2UgPSAoKSA9PiB7XG4gICAgICAgIG9uQ2hhbmdlKCk7XG4gICAgICAgIC8vIGFkdWpzdCBzZWxlY3Rpb24gd2hlbiBzZWxlY3Rpb24gaXMgaW4gaGlkZGVuIGNlbGxcbiAgICAgICAgLy8ganVzdCBob29rIHNldF9zZWxlY3Rpb25cbiAgICAgICAgY29uc3QgaXNDb2xsYXBzZWQgPSBlZGl0b3Iuc2VsZWN0aW9uICYmIFJhbmdlLmlzQ29sbGFwc2VkKGVkaXRvci5zZWxlY3Rpb24pO1xuICAgICAgICBjb25zdCBpc1NlbGVjdGlvbk9wZXJhdGlvbiA9IGVkaXRvci5vcGVyYXRpb25zLmV2ZXJ5KG9wID0+IE9wZXJhdGlvbi5pc1NlbGVjdGlvbk9wZXJhdGlvbihvcCkpO1xuICAgICAgICBpZiAoaXNDb2xsYXBzZWQgJiYgaXNTZWxlY3Rpb25PcGVyYXRpb24pIHtcbiAgICAgICAgICAgIGNvbnN0IG9wdHMgPSBuZXcgVGFibGVPcHRpb25zKCk7XG4gICAgICAgICAgICBjb25zdCB0YWJsZVBvc2l0aW9uID0gVGFibGVQb3NpdGlvbi5jcmVhdGUob3B0cywgZWRpdG9yLCBlZGl0b3Iuc2VsZWN0aW9uLmFuY2hvci5wYXRoKTtcbiAgICAgICAgICAgIGlmICh0YWJsZVBvc2l0aW9uLmlzSW5UYWJsZSgpICYmIHRhYmxlUG9zaXRpb24uY2VsbC5oaWRkZW4pIHtcbiAgICAgICAgICAgICAgICBUYWJsZUVkaXRvci5zZWxlY3RPcmlnaW5DZWxsKFxuICAgICAgICAgICAgICAgICAgICBlZGl0b3IsXG4gICAgICAgICAgICAgICAgICAgIHRhYmxlUG9zaXRpb24udGFibGUsXG4gICAgICAgICAgICAgICAgICAgIHRhYmxlUG9zaXRpb24uZ2V0Um93SW5kZXgoKSxcbiAgICAgICAgICAgICAgICAgICAgdGFibGVQb3NpdGlvbi5nZXRDb2x1bW5JbmRleCgpLFxuICAgICAgICAgICAgICAgICAgICBmYWxzZVxuICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9O1xuXG4gICAgcmV0dXJuIGVkaXRvcjtcbn07XG5cbmV4cG9ydCBjb25zdCBjcmVhdGVUYWJsZVBsdWdpbiA9IGNyZWF0ZVBsdWdpbkZhY3Rvcnkoe1xuICAgIGtleTogUGx1Z2luS2V5cy50YWJsZSxcbiAgICB3aXRoT3ZlcnJpZGVzOiB3aXRoVGFibGUsXG4gICAgbmVzdGVkU3RydWN0dXJlQnlLZXk6IHtcbiAgICAgICAgW0VsZW1lbnRLaW5kcy50YWJsZV06IEVsZW1lbnRLaW5kcy50YWJsZVJvdyxcbiAgICAgICAgW0VsZW1lbnRLaW5kcy50YWJsZVJvd106IEVsZW1lbnRLaW5kcy50YWJsZUNlbGxcbiAgICB9LFxuICAgIHRvb2xiYXJJdGVtczogW1xuICAgICAgICB7XG4gICAgICAgICAgICBrZXk6IEVsZW1lbnRLaW5kcy50YWJsZSxcbiAgICAgICAgICAgIGljb246ICd0YWJsZS1ib3JkZXItYWxsJyxcbiAgICAgICAgICAgIG5hbWU6ICfooajmoLwnLFxuICAgICAgICAgICAgaWNvbkNvbXBvbmVudDogVGhlVGFibGVUb29sYmFySXRlbUNvbXBvbmVudCxcbiAgICAgICAgICAgIGV4ZWN1dGU6IGVkaXRvciA9PiBUYWJsZUVkaXRvci5pbnNlcnRUYWJsZShlZGl0b3IpLFxuICAgICAgICAgICAgYWN0aXZlOiBlZGl0b3IgPT4gVGFibGVFZGl0b3IuaXNBY3RpdmUoZWRpdG9yKVxuICAgICAgICB9XG4gICAgXSxcbiAgICBtZW51SXRlbXM6IFtcbiAgICAgICAge1xuICAgICAgICAgICAga2V5OiBFbGVtZW50S2luZHMudGFibGUsXG4gICAgICAgICAgICBrZXl3b3JkczogJ2JpYW9nZSxiZyx0YWJsZSzooajmoLwnLFxuICAgICAgICAgICAgZXhlY3V0ZTogZWRpdG9yID0+IFRhYmxlRWRpdG9yLmluc2VydFRhYmxlKGVkaXRvciksXG4gICAgICAgICAgICBhY3RpdmU6IGVkaXRvciA9PiBUYWJsZUVkaXRvci5pc0FjdGl2ZShlZGl0b3IpLFxuICAgICAgICAgICAgbmFtZTogJ+ihqOagvCcsXG4gICAgICAgICAgICB0eXBlOiBUaGVQbHVnaW5NZW51SXRlbVR5cGUuZ3JvdXAsXG4gICAgICAgICAgICBtZW51SWNvbjogUGx1Z2luTWVudUljb25zLnRhYmxlLFxuICAgICAgICAgICAgZGVzY3JpcHRpb246ICfnu5PmnoTljJblkYjnjrDmlbDmja7kv6Hmga8nLFxuICAgICAgICAgICAgZGlzcGxheUtleTogJy9iZycsXG4gICAgICAgICAgICBpc0V4cGFuZGVkOiB0cnVlXG4gICAgICAgIH1cbiAgICBdLFxuICAgIG9wdGlvbnM6IHtcbiAgICAgICAgc2hvd0Z1bGxzY3JlZW46IHRydWUsXG4gICAgICAgIHNldEZ1bGxzY3JlZW46IChlZGl0b3I6IEVkaXRvciwgZXZlbnQ6IE1vdXNlRXZlbnQsIGVsZW1lbnQ6IEVsZW1lbnQpID0+IHtcbiAgICAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgIH1cbiAgICB9XG59KTtcbiJdfQ==
447
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUucGx1Z2luLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvc3JjL3BsdWdpbnMvdGFibGUvdGFibGUucGx1Z2luLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQVMsSUFBSSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQWEsT0FBTyxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsTUFBTSxPQUFPLENBQUM7QUFDcEcsT0FBTyxFQUFFLGFBQWEsRUFBRSxvQkFBb0IsRUFBRSxPQUFPLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDN0UsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM3QyxPQUFPLEVBQUUsY0FBYyxFQUFFLGtCQUFrQixFQUFFLGFBQWEsRUFBRSxNQUFNLFNBQVMsQ0FBQztBQUM1RSxPQUFPLEVBQUUsVUFBVSxFQUFFLFNBQVMsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ3pELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUUxRCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUNqRSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDN0MsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQy9ELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN0RCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUMvRCxPQUFPLEVBQUUsNkJBQTZCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUM3RSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUMvRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDbEQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLG9CQUFv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ciwgTm9kZUVudHJ5LCBFbGVtZW50LCBQYXRoLCBPcGVyYXRpb24gfSBmcm9tICdzbGF0ZSc7XG5pbXBvcnQgeyBBbmd1bGFyRWRpdG9yLCBFTEVNRU5UX1RPX0NPTVBPTkVOVCwgaG90a2V5cyB9IGZyb20gJ3NsYXRlLWFuZ3VsYXInO1xuaW1wb3J0IHsgVGFibGVPcHRpb25zIH0gZnJvbSAnLi90YWJsZS50eXBlcyc7XG5pbXBvcnQgeyBpc1JhbmdlSW5UYWJsZSwgaXNTZWxlY3Rpb25JblRhYmxlLCBUYWJsZVBvc2l0aW9uIH0gZnJvbSAnLi91dGlscyc7XG5pbXBvcnQgeyBQbHVnaW5LZXlzLCBUaGVFZGl0b3IgfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzJztcbmltcG9ydCB7IEVsZW1lbnRLaW5kcyB9IGZyb20gJy4uLy4uL2NvbnN0YW50cy9ub2RlLXR5cGVzJztcbmltcG9ydCB7IFRhYmxlQ2VsbEVsZW1lbnQsIFRhYmxlRWxlbWVudCwgVGFibGVSb3dFbGVtZW50IH0gZnJvbSAnLi4vLi4vY3VzdG9tLXR5cGVzJztcbmltcG9ydCB7IFRoZVRhYmxlQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL3RhYmxlLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBUYWJsZUVkaXRvciB9IGZyb20gJy4vdGFibGUuZWRpdG9yJztcbmltcG9ydCB7IGNsZWFyVGFibGVOb2RlIH0gZnJvbSAnLi90cmFuc2Zvcm1zL2NsZWFyLXRhYmxlLW5vZGUnO1xuaW1wb3J0IHsgaXNWaXJ0dWFsS2V5IH0gZnJvbSAnLi91dGlscy9pcy12aXJ0dWFsLWtleSc7XG5pbXBvcnQgeyBpbnNlcnRDb2x1bW5BdFJvdyB9IGZyb20gJy4vdHJhbnNmb3Jtcy9pbnNlcnQtY29sdW1uJztcbmltcG9ydCB7IGNhbGN1bGF0ZUFuY2hvclBvc2l0aW9uSW5DZWxsIH0gZnJvbSAnLi91dGlscy9jYWxjLWFuY2hvci1wb3NpdGlvbic7XG5pbXBvcnQgeyBDTElQQk9BUkRfRk9STUFUX0tFWSB9IGZyb20gJy4uLy4uL2NvbnN0YW50cy9kZWZhdWx0JztcbmltcG9ydCB7IGdldE9yaWdpbkNlbGwgfSBmcm9tICcuL3V0aWxzL2NhbGMtc3Bhbic7XG5pbXBvcnQgeyByZXNldFRhYmxlQ2VsbCB9IGZyb20gJy4vdXRpbHMvc3BsaXQtY2VsbCc7XG5pbXBvcnQgeyByZW1vdmVDb2x1bW5zIH0gZnJvbSAnLi91dGlscy9yZW1vdmUtY29sdW1ucyc7XG5pbXBvcnQgeyBhZGRDb2x1bW5zIH0gZnJvbSAnLi91dGlscy9hZGQtY29sdW1ucyc7XG5pbXBvcnQgeyBUaGVUYWJsZVJvd0NvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9yb3cvcm93LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBUaGVUZENvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy90ZC90ZC5jb21wb25lbnQnO1xuaW1wb3J0IHsgZXh0cmFjdEZyYWdtZW50IH0gZnJvbSAnLi4vLi4vdXRpbHMvZnJhZ21lbnQnO1xuaW1wb3J0ICogYXMgVGhlUXVlcmllcyBmcm9tICcuLi8uLi9xdWVyaWVzJztcbmltcG9ydCB7IG5vcm1hbGl6ZVRhYmxlIH0gZnJvbSAnLi91dGlscy9ub3JtYWxpemUtdGFibGUnO1xuaW1wb3J0IHsgY2xvbmVEZWVwIH0gZnJvbSAnLi4vLi4vdXRpbHMvbG9kYXNoJztcbmltcG9ydCB7IGNyZWF0ZVBsdWdpbkZhY3RvcnkgfSBmcm9tICcuLi8uLi9jb3JlJztcbmltcG9ydCB7IFRoZVRhYmxlVG9vbGJhckl0ZW1Db21wb25lbnQgfSBmcm9tICcuL3Rvb2xiYXItaXRlbS5jb21wb25lbnQnO1xuaW1wb3J0IHsgUGx1Z2luTWVudUljb25zLCBQbHVnaW5NZW51U3ZncywgVGhlUGx1Z2luTWVudUl0ZW1UeXBlIH0gZnJvbSAnLi4vLi4vY29uc3RhbnRzL3BsdWdpbi1tZW51JztcblxuZXhwb3J0IGNvbnN0IHdpdGhUYWJsZSA9IDxUIGV4dGVuZHMgRWRpdG9yPihlZGl0b3I6IFQpOiBUID0+IHtcbiAgICBjb25zdCB7XG4gICAgICAgIGRlbGV0ZUJhY2t3YXJkLFxuICAgICAgICBkZWxldGVGb3J3YXJkLFxuICAgICAgICBvbktleWRvd24sXG4gICAgICAgIHNldEZyYWdtZW50RGF0YSxcbiAgICAgICAgaW5zZXJ0RGF0YSxcbiAgICAgICAgbm9ybWFsaXplTm9kZSxcbiAgICAgICAgaXNCbG9ja0NhcmQsXG4gICAgICAgIHJlbmRlckVsZW1lbnQsXG4gICAgICAgIGRlbGV0ZUN1dERhdGEsXG4gICAgICAgIGlzQ29udGFpbmVyLFxuICAgICAgICBvbkNoYW5nZVxuICAgIH0gPSBlZGl0b3I7XG5cbiAgICBlZGl0b3IuZGVsZXRlQmFja3dhcmQgPSB1bml0ID0+IHtcbiAgICAgICAgY29uc3Qgb3B0cyA9IG5ldyBUYWJsZU9wdGlvbnMoKTtcbiAgICAgICAgaWYgKCFpc1NlbGVjdGlvbkluVGFibGUob3B0cywgZWRpdG9yKSkge1xuICAgICAgICAgICAgZGVsZXRlQmFja3dhcmQodW5pdCk7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgeyBzZWxlY3Rpb24gfSA9IGVkaXRvcjtcblxuICAgICAgICBjb25zdCBbLCBzdGFydEJsb2NrUGF0aF0gPSBFZGl0b3IuYWJvdmU8RWxlbWVudD4oZWRpdG9yLCB7XG4gICAgICAgICAgICBtYXRjaDogbiA9PiBFZGl0b3IuaXNCbG9jayhlZGl0b3IsIG4pXG4gICAgICAgIH0pO1xuICAgICAgICBjb25zdCBzdGFydFBvc2l0aW9uID0gVGFibGVQb3NpdGlvbi5jcmVhdGUob3B0cywgZWRpdG9yLCBzZWxlY3Rpb24uYW5jaG9yLnBhdGgpO1xuICAgICAgICBpZiAoXG4gICAgICAgICAgICBzdGFydEJsb2NrUGF0aC5sZW5ndGggPD0gc3RhcnRQb3NpdGlvbi5jZWxsRW50cnlbMV0ubGVuZ3RoICsgMSAmJlxuICAgICAgICAgICAgc3RhcnRCbG9ja1BhdGgucG9wKCkgPT09IDAgJiZcbiAgICAgICAgICAgIHNlbGVjdGlvbi5hbmNob3Iub2Zmc2V0ID09PSAwICYmXG4gICAgICAgICAgICBUaGVRdWVyaWVzLmlzU3RhcnQoZWRpdG9yLCBzZWxlY3Rpb24uYW5jaG9yLCBzdGFydEJsb2NrUGF0aCkgJiZcbiAgICAgICAgICAgICFFZGl0b3IuaXNWb2lkKGVkaXRvciwgVGhlUXVlcmllcy5hbmNob3JCbG9jayhlZGl0b3IpKVxuICAgICAgICApIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBkZWxldGVCYWNrd2FyZCh1bml0KTtcbiAgICB9O1xuXG4gICAgZWRpdG9yLmRlbGV0ZUZvcndhcmQgPSB1bml0ID0+IHtcbiAgICAgICAgY29uc3Qgb3B0cyA9IG5ldyBUYWJsZU9wdGlvbnMoKTtcbiAgICAgICAgY29uc3QgYWZ0ZXJQb2ludCA9IEVkaXRvci5hZnRlcihlZGl0b3IsIGVkaXRvci5zZWxlY3Rpb24pO1xuICAgICAgICBpZiAoYWZ0ZXJQb2ludCAmJiBpc1JhbmdlSW5UYWJsZShvcHRzLCBlZGl0b3IsIHsgYW5jaG9yOiBhZnRlclBvaW50LCBmb2N1czogYWZ0ZXJQb2ludCB9KSkge1xuICAgICAgICAgICAgY29uc3QgYmVmb3JlUG9zaXRpb24gPSBUYWJsZVBvc2l0aW9uLmNyZWF0ZShvcHRzLCBlZGl0b3IsIGVkaXRvci5zZWxlY3Rpb24uYW5jaG9yLnBhdGgpO1xuICAgICAgICAgICAgY29uc3QgYWZ0ZXJQb3NpdGlvbiA9IFRhYmxlUG9zaXRpb24uY3JlYXRlKG9wdHMsIGVkaXRvciwgYWZ0ZXJQb2ludC5wYXRoKTtcbiAgICAgICAgICAgIGlmIChiZWZvcmVQb3NpdGlvbi5jZWxsICYmIGJlZm9yZVBvc2l0aW9uLmNlbGwgIT09IGFmdGVyUG9zaXRpb24uY2VsbCkge1xuICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBkZWxldGVGb3J3YXJkKHVuaXQpO1xuICAgIH07XG5cbiAgICBlZGl0b3Iub25LZXlkb3duID0gKGV2ZW50OiBLZXlib2FyZEV2ZW50KSA9PiB7XG4gICAgICAgIGNvbnN0IG9wdHMgPSBuZXcgVGFibGVPcHRpb25zKCk7XG4gICAgICAgIGNvbnN0IGlzTW92ZVVwID0gaG90a2V5cy5pc01vdmVVcChldmVudCk7XG4gICAgICAgIGNvbnN0IGlzTW92ZURvd24gPSBob3RrZXlzLmlzTW92ZURvd24oZXZlbnQpO1xuICAgICAgICBjb25zdCBpc01vdmVCYWNrd2FyZCA9IGhvdGtleXMuaXNNb3ZlQmFja3dhcmQoZXZlbnQpO1xuICAgICAgICBjb25zdCBpc01vdmVGb3J3YXJkID0gaG90a2V5cy5pc01vdmVGb3J3YXJkKGV2ZW50KTtcbiAgICAgICAgY29uc3QgeyBzZWxlY3Rpb24gfSA9IGVkaXRvcjtcbiAgICAgICAgaWYgKCFzZWxlY3Rpb24gfHwgIXNlbGVjdGlvbi5hbmNob3IgfHwgIXNlbGVjdGlvbi5mb2N1cykge1xuICAgICAgICAgICAgb25LZXlkb3duKGV2ZW50KTtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBzdGFydFBvc2l0aW9uID0gVGFibGVQb3NpdGlvbi5jcmVhdGUob3B0cywgZWRpdG9yLCBzZWxlY3Rpb24uYW5jaG9yLnBhdGgpO1xuICAgICAgICBjb25zdCBlbmRQb3NpdGlvbiA9IFRhYmxlUG9zaXRpb24uY3JlYXRlKG9wdHMsIGVkaXRvciwgc2VsZWN0aW9uLmZvY3VzLnBhdGgpO1xuICAgICAgICBjb25zdCBpc0NvbGxhcHNlZCA9IFJhbmdlLmlzQ29sbGFwc2VkKHNlbGVjdGlvbik7XG4gICAgICAgIGlmIChzdGFydFBvc2l0aW9uICYmIGVuZFBvc2l0aW9uICYmIGVuZFBvc2l0aW9uLmlzSW5UYWJsZSgpKSB7XG4gICAgICAgICAgICAvLyBmb3Iga2V5Ym9hcmQgdXAgYW5kIGRvd24ga2V5IGluIHRoZSB0YWJsZVxuICAgICAgICAgICAgaWYgKGlzTW92ZVVwIHx8IGlzTW92ZURvd24pIHtcbiAgICAgICAgICAgICAgICBjb25zdCBjZWxsUGF0aCA9IGVuZFBvc2l0aW9uLmNlbGxFbnRyeVsxXTtcbiAgICAgICAgICAgICAgICBjb25zdCBzdGFydFBhdGggPSBFZGl0b3Iuc3RhcnQoZWRpdG9yLCBjZWxsUGF0aCkucGF0aDtcbiAgICAgICAgICAgICAgICBjb25zdCBlbmRQYXRoID0gRWRpdG9yLmVuZChlZGl0b3IsIGNlbGxQYXRoKS5wYXRoO1xuICAgICAgICAgICAgICAgIGNvbnN0IHsgaXNGaXJzdExpbmUsIGlzTGFzdExpbmUgfSA9IGNhbGN1bGF0ZUFuY2hvclBvc2l0aW9uSW5DZWxsKGVkaXRvcik7XG4gICAgICAgICAgICAgICAgc3RhcnRQYXRoLnBvcCgpO1xuICAgICAgICAgICAgICAgIGVuZFBhdGgucG9wKCk7XG5cbiAgICAgICAgICAgICAgICBpZiAoKFRoZVF1ZXJpZXMuYW5jaG9yQmxvY2tFbnRyeShlZGl0b3IpWzFdLnRvU3RyaW5nKCkgIT09IHN0YXJ0UGF0aC50b1N0cmluZygpIHx8ICFpc0ZpcnN0TGluZSkgJiYgaXNNb3ZlVXApIHtcbiAgICAgICAgICAgICAgICAgICAgb25LZXlkb3duKGV2ZW50KTtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIGlmICgoVGhlUXVlcmllcy5hbmNob3JCbG9ja0VudHJ5KGVkaXRvcilbMV0udG9TdHJpbmcoKSAhPT0gZW5kUGF0aC50b1N0cmluZygpIHx8ICFpc0xhc3RMaW5lKSAmJiBpc01vdmVEb3duKSB7XG4gICAgICAgICAgICAgICAgICAgIG9uS2V5ZG93bihldmVudCk7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICAgICAgICAgIGxldCBhdDogUG9pbnQ7XG4gICAgICAgICAgICAgICAgaWYgKGlzTW92ZVVwKSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGFib3ZlUm93ID0gc3RhcnRQb3NpdGlvbi50YWJsZS5jaGlsZHJlbltzdGFydFBvc2l0aW9uLmdldFJvd0luZGV4KCkgLSAxXTtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgYWJvdmVDZWxsID0gYWJvdmVSb3cgJiYgYWJvdmVSb3cuY2hpbGRyZW5bc3RhcnRQb3NpdGlvbi5nZXRDb2x1bW5JbmRleCgpXTtcbiAgICAgICAgICAgICAgICAgICAgaWYgKGFib3ZlQ2VsbCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGFib3ZlQ2VsbC5oaWRkZW4pIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBUYWJsZUVkaXRvci5zZWxlY3RPcmlnaW5DZWxsKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlZGl0b3IsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0YXJ0UG9zaXRpb24udGFibGUsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0YXJ0UG9zaXRpb24uZ2V0Um93SW5kZXgoKSAtIDEsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0YXJ0UG9zaXRpb24uZ2V0Q29sdW1uSW5kZXgoKSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmFsc2VcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYXQgPSBFZGl0b3IuZW5kKGVkaXRvciwgVGhlRWRpdG9yLmZpbmRQYXRoKGVkaXRvciwgYWJvdmVDZWxsKSk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBwcmV2aW91c05vZGVFbnRyeSA9IEVkaXRvci5wcmV2aW91cyhlZGl0b3IsIHsgYXQ6IHN0YXJ0UG9zaXRpb24udGFibGVFbnRyeVsxXSB9KTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGJlZm9yZVBvaW50ID0gRWRpdG9yLmJlZm9yZShlZGl0b3IsIHN0YXJ0UG9zaXRpb24udGFibGVFbnRyeVsxXSk7XG4gICAgICAgICAgICAgICAgICAgICAgICBFZGl0b3IubmV4dChlZGl0b3IsIHsgYXQ6IHN0YXJ0UG9zaXRpb24udGFibGVFbnRyeVsxXSB9KTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHByZXZpb3VzTm9kZUVudHJ5KSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYXQgPSBFZGl0b3IuZW5kKGVkaXRvciwgcHJldmlvdXNOb2RlRW50cnlbMV0pO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoIXByZXZpb3VzTm9kZUVudHJ5ICYmIGJlZm9yZVBvaW50KSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYXQgPSBFZGl0b3IuZW5kKGVkaXRvciwgYmVmb3JlUG9pbnQucGF0aCk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIGlmICghcHJldmlvdXNOb2RlRW50cnkgJiYgIWJlZm9yZVBvaW50KSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgQW5ndWxhckVkaXRvci5tb3ZlQmxvY2tDYXJkKGVkaXRvciwgc3RhcnRQb3NpdGlvbi50YWJsZUVudHJ5WzBdLCB7IGRpcmVjdGlvbjogJ2xlZnQnIH0pO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBUcmFuc2Zvcm1zLnNlbGVjdChlZGl0b3IsIGF0KTtcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICBsZXQgYmVsb3dSb3dJbmRleCA9IHN0YXJ0UG9zaXRpb24uZ2V0Um93SW5kZXgoKSArIDE7XG4gICAgICAgICAgICAgICAgICAgIGlmIChzdGFydFBvc2l0aW9uLmNlbGwucm93c3BhbiA+IDEpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJlbG93Um93SW5kZXggPSBzdGFydFBvc2l0aW9uLmdldFJvd0luZGV4KCkgKyBzdGFydFBvc2l0aW9uLmNlbGwucm93c3BhbjtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBjb25zdCBiZWxvd1JvdyA9IHN0YXJ0UG9zaXRpb24udGFibGUuY2hpbGRyZW5bYmVsb3dSb3dJbmRleF07XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGJlbG93Q2VsbCA9IGJlbG93Um93ICYmIGJlbG93Um93LmNoaWxkcmVuW3N0YXJ0UG9zaXRpb24uZ2V0Q29sdW1uSW5kZXgoKV07XG4gICAgICAgICAgICAgICAgICAgIGlmIChiZWxvd0NlbGwpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChiZWxvd0NlbGwuaGlkZGVuKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgVGFibGVFZGl0b3Iuc2VsZWN0T3JpZ2luQ2VsbChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZWRpdG9yLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdGFydFBvc2l0aW9uLnRhYmxlLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdGFydFBvc2l0aW9uLmdldFJvd0luZGV4KCkgKyAxLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdGFydFBvc2l0aW9uLmdldENvbHVtbkluZGV4KCksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRydWVcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYXQgPSBFZGl0b3Iuc3RhcnQoZWRpdG9yLCBUaGVFZGl0b3IuZmluZFBhdGgoZWRpdG9yLCBiZWxvd0NlbGwpKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IG5leHROb2RlRW50cnkgPSBFZGl0b3IubmV4dChlZGl0b3IsIHsgYXQ6IHN0YXJ0UG9zaXRpb24udGFibGVFbnRyeVsxXSB9KTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IG1vdmVQYXRoID0gbmV4dE5vZGVFbnRyeSA/IG5leHROb2RlRW50cnlbMV0gOiBFZGl0b3IuYWZ0ZXIoZWRpdG9yLCBzdGFydFBvc2l0aW9uLnRhYmxlRW50cnlbMV0pLnBhdGg7XG4gICAgICAgICAgICAgICAgICAgICAgICBhdCA9IEVkaXRvci5zdGFydChlZGl0b3IsIG1vdmVQYXRoKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBUcmFuc2Zvcm1zLnNlbGVjdChlZGl0b3IsIGF0KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBpZiAoaXNNb3ZlQmFja3dhcmQpIHtcbiAgICAgICAgICAgICAgICBjb25zdCBiZWZvcmVQb2ludCA9IEVkaXRvci5iZWZvcmUoZWRpdG9yLCBlZGl0b3Iuc2VsZWN0aW9uKTtcbiAgICAgICAgICAgICAgICBjb25zdCBiZWZvcmVQb3NpdGlvbiA9IGJlZm9yZVBvaW50ICYmIFRhYmxlUG9zaXRpb24uY3JlYXRlKG9wdHMsIGVkaXRvciwgYmVmb3JlUG9pbnQucGF0aCk7XG4gICAgICAgICAgICAgICAgaWYgKGJlZm9yZVBvc2l0aW9uICYmIGJlZm9yZVBvc2l0aW9uLmNlbGwgJiYgYmVmb3JlUG9zaXRpb24uY2VsbC5oaWRkZW4pIHtcbiAgICAgICAgICAgICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgYXQgPSBFZGl0b3IuZW5kKGVkaXRvciwgVGhlRWRpdG9yLmZpbmRQYXRoKGVkaXRvciwgYmVmb3JlUG9zaXRpb24uZmluZFByZXZpb3VzKCkpKTtcbiAgICAgICAgICAgICAgICAgICAgVHJhbnNmb3Jtcy5zZWxlY3QoZWRpdG9yLCBhdCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBpZiAoaXNNb3ZlRm9yd2FyZCkge1xuICAgICAgICAgICAgICAgIGNvbnN0IGFmdGVyUG9pbnQgPSBFZGl0b3IuYWZ0ZXIoZWRpdG9yLCBlZGl0b3Iuc2VsZWN0aW9uKTtcbiAgICAgICAgICAgICAgICBjb25zdCBhZnRlclBvc2l0aW9uID0gYWZ0ZXJQb2ludCAmJiBUYWJsZVBvc2l0aW9uLmNyZWF0ZShvcHRzLCBlZGl0b3IsIGFmdGVyUG9pbnQucGF0aCk7XG4gICAgICAgICAgICAgICAgaWYgKGFmdGVyUG9zaXRpb24uY2VsbCAmJiBhZnRlclBvc2l0aW9uLmNlbGwuaGlkZGVuKSB7XG4gICAgICAgICAgICAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IG5leHRDZWxsID0gYWZ0ZXJQb3NpdGlvbi5maW5kTmV4dCgpO1xuICAgICAgICAgICAgICAgICAgICBpZiAobmV4dENlbGwpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGF0ID0gRWRpdG9yLnN0YXJ0KGVkaXRvciwgVGhlRWRpdG9yLmZpbmRQYXRoKGVkaXRvciwgYWZ0ZXJQb3NpdGlvbi5maW5kTmV4dCgpKSk7XG4gICAgICAgICAgICAgICAgICAgICAgICBUcmFuc2Zvcm1zLnNlbGVjdChlZGl0b3IsIGF0KTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBBbmd1bGFyRWRpdG9yLm1vdmVCbG9ja0NhcmQoZWRpdG9yLCBzdGFydFBvc2l0aW9uLnRhYmxlRW50cnlbMF0sIHsgZGlyZWN0aW9uOiAncmlnaHQnIH0pO1xuICAgICAgICAgICAgICAgICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAvLyBQcmV2ZW50IGRlbGV0aW5nIGNlbGxzIGluIHRoZSB0YWJsZVxuICAgICAgICAgICAgaWYgKCFpc0NvbGxhcHNlZCAmJiAhc3RhcnRQb3NpdGlvbi5pc0luVGFibGUoKSAmJiAhaXNWaXJ0dWFsS2V5KGV2ZW50KSkge1xuICAgICAgICAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICAgICAgICAgbGV0IHRhYmxlT3V0UGF0aDogUG9pbnQ7XG4gICAgICAgICAgICAgICAgRWRpdG9yLndpdGhvdXROb3JtYWxpemluZyhlZGl0b3IsICgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKFJhbmdlLmlzRm9yd2FyZChzZWxlY3Rpb24pKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0YWJsZU91dFBhdGggPSBFZGl0b3IuZW5kKGVkaXRvciwgW3NlbGVjdGlvbi5mb2N1cy5wYXRoWzBdIC0gMV0pO1xuICAgICAgICAgICAgICAgICAgICAgICAgY2xlYXJUYWJsZU5vZGUob3B0cywgZWRpdG9yLCB0cnVlKTtcbiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRhYmxlT3V0UGF0aCA9IEVkaXRvci5zdGFydChlZGl0b3IsIFtzZWxlY3Rpb24uZm9jdXMucGF0aFswXSArIDFdKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNsZWFyVGFibGVOb2RlKG9wdHMsIGVkaXRvcik7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgY29uc3QgdGFibGVPdXRSYW5nZSA9IEVkaXRvci5yYW5nZShlZGl0b3IsIHNlbGVjdGlvbi5hbmNob3IsIHRhYmxlT3V0UGF0aCk7XG4gICAgICAgICAgICAgICAgICAgIFRyYW5zZm9ybXMuZGVsZXRlKGVkaXRvciwgeyBhdDogdGFibGVPdXRSYW5nZSB9KTtcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICAvLyBuZXcgcmFuZ2VcbiAgICAgICAgICAgICAgICBjb25zdCBjZWxsUmFuZ2UgPSBFZGl0b3IucmFuZ2UoZWRpdG9yLCBlZGl0b3Iuc2VsZWN0aW9uLmZvY3VzLnBhdGguc2xpY2UoMCwgMykpO1xuICAgICAgICAgICAgICAgIGNvbnN0IGZvY3VzUmFuZ2UgPSBSYW5nZS5pbnRlcnNlY3Rpb24oZWRpdG9yLnNlbGVjdGlvbiwgY2VsbFJhbmdlKTtcbiAgICAgICAgICAgICAgICBUcmFuc2Zvcm1zLnNlbGVjdChlZGl0b3IsIGZvY3VzUmFuZ2UpO1xuICAgICAgICAgICAgICAgIEVkaXRvci5kZWxldGVGcmFnbWVudChlZGl0b3IpO1xuICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBvbktleWRvd24oZXZlbnQpO1xuICAgICAgICByZXR1cm47XG4gICAgfTtcblxuICAgIGVkaXRvci5zZXRGcmFnbWVudERhdGEgPSB1bml0ID0+IHtcbiAgICAgICAgY29uc3Qgb3B0cyA9IG5ldyBUYWJsZU9wdGlvbnMoKTtcbiAgICAgICAgaWYgKCFpc1NlbGVjdGlvbkluVGFibGUob3B0cywgZWRpdG9yKSkge1xuICAgICAgICAgICAgc2V0RnJhZ21lbnREYXRhKHVuaXQpO1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IHsgc2VsZWN0aW9uIH0gPSBlZGl0b3I7XG4gICAgICAgIGNvbnN0IHRhYmxlUG9zaXRpb24gPSBUYWJsZVBvc2l0aW9uLmNyZWF0ZShvcHRzLCBlZGl0b3IsIHNlbGVjdGlvbi5hbmNob3IucGF0aCk7XG4gICAgICAgIGNvbnN0IHRhYmxlQ29tcG9uZW50ID0gRUxFTUVOVF9UT19DT01QT05FTlQuZ2V0KHRhYmxlUG9zaXRpb24udGFibGUpIGFzIFRoZVRhYmxlQ29tcG9uZW50O1xuICAgICAgICBjb25zdCBjZWxscyA9IHRhYmxlQ29tcG9uZW50LnRhYmxlU3RvcmUuc2VsZWN0ZWRDZWxscztcbiAgICAgICAgbGV0IHRhYmxlRnJhZ21lbnQgPSBudWxsO1xuICAgICAgICBpZiAodGFibGVDb21wb25lbnQudGFibGVTdG9yZS5zZWxlY3RlZFJvd3NJbmRleC5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgICBjb25zdCByb3dzID0gdGFibGVQb3NpdGlvbi50YWJsZS5jaGlsZHJlbi5zbGljZShcbiAgICAgICAgICAgICAgICB0YWJsZUNvbXBvbmVudC50YWJsZVN0b3JlLnNlbGVjdGVkUm93c0luZGV4WzBdLFxuICAgICAgICAgICAgICAgIHRhYmxlQ29tcG9uZW50LnRhYmxlU3RvcmUuc2VsZWN0ZWRSb3dzSW5kZXhbdGFibGVDb21wb25lbnQudGFibGVTdG9yZS5zZWxlY3RlZFJvd3NJbmRleC5sZW5ndGggLSAxXSArIDFcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgICB0YWJsZUZyYWdtZW50ID0ge1xuICAgICAgICAgICAgICAgIC4uLnRhYmxlUG9zaXRpb24udGFibGUsXG4gICAgICAgICAgICAgICAgY2hpbGRyZW46IHJvd3NcbiAgICAgICAgICAgIH07XG4gICAgICAgIH0gZWxzZSBpZiAoY2VsbHMubGVuZ3RoID4gMCkge1xuICAgICAgICAgICAgY29uc3QgdGVtcFJvd3MgPSB7fTtcbiAgICAgICAgICAgIGZvciAoY29uc3QgY2VsbCBvZiBjZWxscykge1xuICAgICAgICAgICAgICAgIGNvbnN0IHsgcm93LCBjb2wgfSA9IGNlbGw7XG4gICAgICAgICAgICAgICAgY29uc3QgY2VsbFBhdGggPSBbLi4udGFibGVQb3NpdGlvbi50YWJsZUVudHJ5WzFdLCByb3csIGNvbF07XG4gICAgICAgICAgICAgICAgY29uc3QgY2VsbE5vZGUgPSBOb2RlLmdldChlZGl0b3IsIGNlbGxQYXRoKSBhcyBUYWJsZUNlbGxFbGVtZW50O1xuICAgICAgICAgICAgICAgIGlmICghdGVtcFJvd3Nbcm93XSkge1xuICAgICAgICAgICAgICAgICAgICB0ZW1wUm93c1tyb3ddID0gW107XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHRlbXBSb3dzW3Jvd10ucHVzaChjZWxsTm9kZSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBjb25zdCByb3dzOiBUYWJsZVJvd0VsZW1lbnRbXSA9IE9iamVjdC52YWx1ZXModGVtcFJvd3MpLm1hcCgoaXRlbTogVGFibGVDZWxsRWxlbWVudFtdKSA9PiB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICAgICAgdHlwZTogRWxlbWVudEtpbmRzLnRhYmxlUm93LFxuICAgICAgICAgICAgICAgICAgICBjaGlsZHJlbjogaXRlbVxuICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIHRhYmxlRnJhZ21lbnQgPSB7XG4gICAgICAgICAgICAgICAgdHlwZTogRWxlbWVudEtpbmRzLnRhYmxlLFxuICAgICAgICAgICAgICAgIGNoaWxkcmVuOiByb3dzXG4gICAgICAgICAgICB9O1xuICAgICAgICB9XG4gICAgICAgIGlmICh0YWJsZUZyYWdtZW50KSB7XG4gICAgICAgICAgICB0YWJsZUZyYWdtZW50ID0gbm9ybWFsaXplVGFibGUoY2xvbmVEZWVwKHRhYmxlRnJhZ21lbnQpKTtcbiAgICAgICAgICAgIGNvbnN0IHBsYWluVGV4dCA9IE5vZGUuc3RyaW5nKHRhYmxlRnJhZ21lbnQpO1xuICAgICAgICAgICAgdGFibGVGcmFnbWVudCA9IFt0YWJsZUZyYWdtZW50XTtcbiAgICAgICAgICAgIGNvbnN0IHN0cmluZ09iaiA9IEpTT04uc3RyaW5naWZ5KHRhYmxlRnJhZ21lbnQpO1xuICAgICAgICAgICAgY29uc3QgZW5jb2RlZCA9IHdpbmRvdy5idG9hKGVuY29kZVVSSUNvbXBvbmVudChzdHJpbmdPYmopKTtcbiAgICAgICAgICAgIHVuaXQuc2V0RGF0YShgYXBwbGljYXRpb24vJHtDTElQQk9BUkRfRk9STUFUX0tFWX1gLCBlbmNvZGVkKTtcbiAgICAgICAgICAgIHVuaXQuc2V0RGF0YSgndGV4dC9wbGFpbicsIHBsYWluVGV4dCk7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgc2V0RnJhZ21lbnREYXRhKHVuaXQpO1xuICAgIH07XG5cbiAgICBlZGl0b3IuaW5zZXJ0RGF0YSA9IGRhdGEgPT4ge1xuICAgICAgICBjb25zdCBmcmFnbWVudCA9IGV4dHJhY3RGcmFnbWVudChkYXRhKTtcbiAgICAgICAgaWYgKGZyYWdtZW50KSB7XG4gICAgICAgICAgICBjb25zdCBvcHRzID0gbmV3IFRhYmxlT3B0aW9ucygpO1xuICAgICAgICAgICAgY29uc3QgeyBzZWxlY3Rpb24gfSA9IGVkaXRvcjtcbiAgICAgICAgICAgIGlmIChcbiAgICAgICAgICAgICAgICBpc1NlbGVjdGlvbkluVGFibGUob3B0cywgZWRpdG9yKSAmJlxuICAgICAgICAgICAgICAgIGZyYWdtZW50Lmxlbmd0aCA9PT0gMSAmJlxuICAgICAgICAgICAgICAgIEVsZW1lbnQuaXNFbGVtZW50KGZyYWdtZW50WzBdKSAmJlxuICAgICAgICAgICAgICAgIGZyYWdtZW50WzBdLnR5cGUgPT09IEVsZW1lbnRLaW5kcy50YWJsZVxuICAgICAgICAgICAgKSB7XG4gICAgICAgICAgICAgICAgY29uc3QgdGFibGVQb3NpdGlvbiA9IFRhYmxlUG9zaXRpb24uY3JlYXRlKG9wdHMsIGVkaXRvciwgc2VsZWN0aW9uLmFuY2hvci5wYXRoKTtcbiAgICAgICAgICAgICAgICBjb25zdCBjbGlwYm9hcmRUYWJsZSA9IGZyYWdtZW50WzBdLmNoaWxkcmVuIGFzIE5vZGVbXTtcbiAgICAgICAgICAgICAgICBjb25zdCBjbGlwYm9hcmRSb3cgPSAoY2xpcGJvYXJkVGFibGVbMF0gYXMgRWxlbWVudCkuY2hpbGRyZW47XG4gICAgICAgICAgICAgICAgY29uc3Qgc2VsZWN0Um93SW5kZXggPSB0YWJsZVBvc2l0aW9uLmdldFJvd0luZGV4KCk7XG4gICAgICAgICAgICAgICAgY29uc3Qgc2VsZWN0Q29sSW5kZXggPSB0YWJsZVBvc2l0aW9uLmdldENvbHVtbkluZGV4KCk7XG4gICAgICAgICAgICAgICAgY29uc3QgbGFzdFJvd0luZGV4ID0gc2VsZWN0Um93SW5kZXggKyBjbGlwYm9hcmRUYWJsZS5sZW5ndGggLSAxO1xuICAgICAgICAgICAgICAgIGNvbnN0IGxhc3RDb2xJbmRleCA9IHNlbGVjdENvbEluZGV4ICsgY2xpcGJvYXJkUm93Lmxlbmd0aCAtIDE7XG5cbiAgICAgICAgICAgICAgICBmb3IgKGxldCBpID0gc2VsZWN0Um93SW5kZXg7IGkgPD0gbGFzdFJvd0luZGV4OyBpKyspIHtcbiAgICAgICAgICAgICAgICAgICAgZm9yIChsZXQgaiA9IHNlbGVjdENvbEluZGV4OyBqIDw9IGxhc3RDb2xJbmRleDsgaisrKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zdCByb3cgPSB0YWJsZVBvc2l0aW9uLnRhYmxlLmNoaWxkcmVuW2ldO1xuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHJvdyAmJiByb3cuY2hpbGRyZW5bal0pIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBvcmlnaW5DZWxsID0gZ2V0T3JpZ2luQ2VsbCh0YWJsZVBvc2l0aW9uLnRhYmxlLCBpLCBqKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAob3JpZ2luQ2VsbCAmJiAob3JpZ2luQ2VsbC5jb2xzcGFuIHx8IG9yaWdpbkNlbGwucm93c3BhbikpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgcGF0aCA9IFRoZUVkaXRvci5maW5kUGF0aChlZGl0b3IsIG9yaWdpbkNlbGwpLnNsaWNlKC0yKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVzZXRUYWJsZUNlbGwoZWRpdG9yLCB0YWJsZVBvc2l0aW9uLnRhYmxlLCBvcmlnaW5DZWxsLCBwYXRoWzBdLCBwYXRoWzFdKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBFZGl0b3Iud2l0aG91dE5vcm1hbGl6aW5nKGVkaXRvciwgKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICBpZiAobGFzdENvbEluZGV4ID4gdGFibGVQb3NpdGlvbi5nZXRXaWR0aCgpIC0gMSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgYWRkQ29sQ291bnQgPSBsYXN0Q29sSW5kZXggLSAodGFibGVQb3NpdGlvbi5nZXRXaWR0aCgpIC0gMSk7XG4gICAgICAgICAgICAgICAgICAgICAgICBUYWJsZUVkaXRvci5pbnNlcnRDb2x1bW4oZWRpdG9yLCBhZGRDb2xDb3VudCwgdGFibGVQb3NpdGlvbi5nZXRXaWR0aCgpKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBpZiAobGFzdFJvd0luZGV4ID4gdGFibGVQb3NpdGlvbi5nZXRIZWlnaHQoKSAtIDEpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGFkZFJvd0NvdW50ID0gbGFzdFJvd0luZGV4IC0gKHRhYmxlUG9zaXRpb24uZ2V0SGVpZ2h0KCkgLSAxKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIFRhYmxlRWRpdG9yLmluc2VydFJvdyhlZGl0b3IsIGFkZFJvd0NvdW50LCB0YWJsZVBvc2l0aW9uLmdldEhlaWdodCgpKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBjbGlwYm9hcmRUYWJsZS5mb3JFYWNoKChyb3c6IFRhYmxlRWxlbWVudCwgaTogbnVtYmVyKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICByb3cuY2hpbGRyZW4uZm9yRWFjaCgoY29sOiBOb2RlLCBqOiBudW1iZXIpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBhdCA9IFsuLi50YWJsZVBvc2l0aW9uLnRhYmxlRW50cnlbMV0sIHNlbGVjdFJvd0luZGV4ICsgaSwgc2VsZWN0Q29sSW5kZXggKyBqXTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBUcmFuc2Zvcm1zLnJlbW92ZU5vZGVzKGVkaXRvciwgeyBhdCB9KTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBUcmFuc2Zvcm1zLmluc2VydE5vZGVzKGVkaXRvciwgY29sLCB7IGF0IH0pO1xuICAgICAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIGNvbnN0IHRhcmdldCA9IEVkaXRvci5zdGFydChlZGl0b3IsIFsuLi50YWJsZVBvc2l0aW9uLnRhYmxlRW50cnlbMV0sIHNlbGVjdFJvd0luZGV4LCBzZWxlY3RDb2xJbmRleF0pO1xuICAgICAgICAgICAgICAgIFRyYW5zZm9ybXMuc2VsZWN0KGVkaXRvciwgdGFyZ2V0KTtcbiAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgaW5zZXJ0RGF0YShkYXRhKTtcbiAgICB9O1xuXG4gICAgZWRpdG9yLm5vcm1hbGl6ZU5vZGUgPSAoZW50cnk6IE5vZGVFbnRyeTxOb2RlPikgPT4ge1xuICAgICAgICBpZiAoRWxlbWVudC5pc0VsZW1lbnQoZW50cnlbMF0pICYmIGVudHJ5WzBdLnR5cGUgPT09IEVsZW1lbnRLaW5kcy50YWJsZSkge1xuICAgICAgICAgICAgY29uc3QgdGFibGUgPSBlbnRyeVswXSBhcyBUYWJsZUVsZW1lbnQ7XG4gICAgICAgICAgICBjb25zdCBtYXhXaWR0aCA9IE1hdGgubWF4KC4uLnRhYmxlLmNoaWxkcmVuLm1hcChyb3cgPT4gcm93LmNoaWxkcmVuLmxlbmd0aCkpO1xuICAgICAgICAgICAgY29uc3QgaW52YWxpZFJvd3MgPSB0YWJsZS5jaGlsZHJlbi5maWx0ZXIocm93ID0+IHJvdy5jaGlsZHJlbi5sZW5ndGggPCBtYXhXaWR0aCk7XG4gICAgICAgICAgICBpZiAoaW52YWxpZFJvd3MubGVuZ3RoID4gMCkge1xuICAgICAgICAgICAgICAgIGNvbnN0IG9wdHMgPSBuZXcgVGFibGVPcHRpb25zKCk7XG4gICAgICAgICAgICAgICAgRWRpdG9yLndpdGhvdXROb3JtYWxpemluZyhlZGl0b3IsICgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgdGFibGUuY2hpbGRyZW4ubWFwKChyb3csIHJvd0luZGV4KSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICByb3cuY2hpbGRyZW4ubWFwKChjZWxsLCBjZWxsSW5kZXgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoY2VsbC5oaWRkZW4gfHwgY2VsbC5jb2xzcGFuIHx8IGNlbGwucm93c3Bhbikge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBUcmFuc2Zvcm1zLnNldE5vZGVzKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZWRpdG9yLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeyBoaWRkZW46IG51bGwsIGNvbHNwYW46IG51bGwsIHJvd3NwYW46IG51bGwgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgYXQ6IFsuLi5lbnRyeVsxXSwgcm93SW5kZXgsIGNlbGxJbmRleF0gfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICAgICAgaW52YWxpZFJvd3MuZm9yRWFjaChyb3cgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgY291bnQgPSBtYXhXaWR0aCAtIHJvdy5jaGlsZHJlbi5sZW5ndGg7XG4gICAgICAgICAgICAgICAgICAgICAgICBpbnNlcnRDb2x1bW5BdFJvdyhcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBvcHRzLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVkaXRvcixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb3VudCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBlbnRyeSBhcyBOb2RlRW50cnk8VGFibGVFbGVtZW50PixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0YWJsZS5jaGlsZHJlbi5pbmRleE9mKHJvdyksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcm93LmNoaWxkcmVuLmxlbmd0aFxuICAgICAgICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAodGFibGUuY29sdW1ucyAmJiB0YWJsZS5jb2x1bW5zLmxlbmd0aCAhPT0gbWF4V2lkdGgpIHtcbiAgICAgICAgICAgICAgICBjb25zdCBjb2x1bW5zID0gdGFibGUuY29sdW1ucy5sZW5ndGggPiBtYXhXaWR0aCA/IHJlbW92ZUNvbHVtbnModGFibGUsIG1heFdpZHRoKSA6IGFkZENvbHVtbnModGFibGUsIG1heFdpZHRoKTtcbiAgICAgICAgICAgICAgICBUcmFuc2Zvcm1zLnNldE5vZGVzKGVkaXRvciwgeyBjb2x1bW5zIH0sIHsgYXQ6IGVudHJ5WzFdIH0pO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC8vIGFkanVzdCBzZWxlY3Rpb24gd2hlbiBzZWxlY3Rpb24gaXMgaW4gaGlkZGVuIGNlbGxcbiAgICAgICAgaWYgKEVsZW1lbnQuaXNFbGVtZW50KGVudHJ5WzBdKSAmJiBlbnRyeVswXS50eXBlID09PSBFbGVtZW50S2luZHMudGFibGVDZWxsICYmIGVudHJ5WzBdLmhpZGRlbikge1xuICAgICAgICAgICAgaWYgKGVkaXRvci5zZWxlY3Rpb24gJiYgUmFuZ2UuaXNDb2xsYXBzZWQoZWRpdG9yLnNlbGVjdGlvbikgJiYgUGF0aC5pc0FuY2VzdG9yKGVudHJ5WzFdLCBlZGl0b3Iuc2VsZWN0aW9uLmFuY2hvci5wYXRoKSkge1xuICAgICAgICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBvcHRzID0gbmV3IFRhYmxlT3B0aW9ucygpO1xuICAgICAgICAgICAgICAgICAgICBjb25zdCB0YWJsZVBvc2l0aW9uID0gVGFibGVQb3NpdGlvbi5jcmVhdGUob3B0cywgZWRpdG9yLCBlZGl0b3Iuc2VsZWN0aW9uLmFuY2hvci5wYXRoKTtcbiAgICAgICAgICAgICAgICAgICAgY29uc3Qgb3JpZ2luID0gZ2V0T3JpZ2luQ2VsbCh0YWJsZVBvc2l0aW9uLnRhYmxlLCB0YWJsZVBvc2l0aW9uLmdldFJvd0luZGV4KCksIHRhYmxlUG9zaXRpb24uZ2V0Q29sdW1uSW5kZXgoKSk7XG4gICAgICAgICAgICAgICAgICAgIGlmIChvcmlnaW4pIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHBhdGggPSBBbmd1bGFyRWRpdG9yLmZpbmRQYXRoKGVkaXRvciwgb3JpZ2luKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIFRyYW5zZm9ybXMuc2VsZWN0KGVkaXRvciwgRWRpdG9yLmVuZChlZGl0b3IsIHBhdGgpKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH0sIDApO1xuICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBub3JtYWxpemVOb2RlKGVudHJ5KTtcbiAgICB9O1xuXG4gICAgZWRpdG9yLmlzQmxvY2tDYXJkID0gKGVsZW1lbnQ6IEVsZW1lbnQpID0+IHtcbiAgICAgICAgaWYgKGVsZW1lbnQgJiYgZWxlbWVudC50eXBlID09PSBFbGVtZW50S2luZHMudGFibGUpIHtcbiAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBpc0Jsb2NrQ2FyZChlbGVtZW50KTtcbiAgICB9O1xuXG4gICAgZWRpdG9yLnJlbmRlckVsZW1lbnQgPSAoZWxlbWVudDogRWxlbWVudCkgPT4ge1xuICAgICAgICBpZiAoZWxlbWVudC50eXBlID09PSBFbGVtZW50S2luZHMudGFibGUpIHtcbiAgICAgICAgICAgIHJldHVybiBUaGVUYWJsZUNvbXBvbmVudDtcbiAgICAgICAgfVxuICAgICAgICBpZiAoZWxlbWVudC50eXBlID09PSBFbGVtZW50S2luZHMudGFibGVSb3cpIHtcbiAgICAgICAgICAgIHJldHVybiBUaGVUYWJsZVJvd0NvbXBvbmVudDtcbiAgICAgICAgfVxuICAgICAgICBpZiAoZWxlbWVudC50eXBlID09PSBFbGVtZW50S2luZHMudGFibGVDZWxsKSB7XG4gICAgICAgICAgICByZXR1cm4gVGhlVGRDb21wb25lbnQ7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHJlbmRlckVsZW1lbnQoZWxlbWVudCk7XG4gICAgfTtcblxuICAgIGVkaXRvci5kZWxldGVDdXREYXRhID0gKCkgPT4ge1xuICAgICAgICBjb25zdCBvcHRzID0gbmV3IFRhYmxlT3B0aW9ucygpO1xuICAgICAgICBpZiAoIWlzU2VsZWN0aW9uSW5UYWJsZShvcHRzLCBlZGl0b3IpKSB7XG4gICAgICAgICAgICBkZWxldGVDdXREYXRhKCk7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgeyBzZWxlY3Rpb24gfSA9IGVkaXRvcjtcbiAgICAgICAgY29uc3QgZWxlbWVudCA9IFRhYmxlUG9zaXRpb24uY3JlYXRlKG9wdHMsIGVkaXRvciwgc2VsZWN0aW9uLmFuY2hvci5wYXRoKTtcbiAgICAgICAgY29uc3QgdGFibGVDb21wb25lbnQgPSBFTEVNRU5UX1RPX0NPTVBPTkVOVC5nZXQoZWxlbWVudC50YWJsZSkgYXMgVGhlVGFibGVDb21wb25lbnQ7XG4gICAgICAgIGNvbnN0IGNlbGxzID0gdGFibGVDb21wb25lbnQudGFibGVTdG9yZS5zZWxlY3RlZENlbGxzO1xuICAgICAgICBpZiAoY2VsbHMubGVuZ3RoID4gMCkge1xuICAgICAgICAgICAgRWRpdG9yLndpdGhvdXROb3JtYWxpemluZyhlZGl0b3IsICgpID0+IHtcbiAgICAgICAgICAgICAgICBpZiAodGFibGVDb21wb25lbnQudGFibGVTdG9yZS5pc1NlbGVjdGVkVGFibGUpIHtcbiAgICAgICAgICAgICAgICAgICAgVGFibGVFZGl0b3IucmVtb3ZlVGFibGUoZWRpdG9yKTtcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICB0YWJsZUNvbXBvbmVudC50YWJsZVN0b3JlLmNsZWFyU2VsZWN0ZWRDZWxsc0NvbnRlbnQoKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgdGFibGVDb21wb25lbnQudGFibGVTZXJ2aWNlLmNsb3NlVG9vbGJhcigpO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgZGVsZXRlQ3V0RGF0YSgpO1xuICAgIH07XG5cbiAgICBlZGl0b3IuaXNDb250YWluZXIgPSAoZWxlbWVudDogRWxlbWVudCkgPT4ge1xuICAgICAgICByZXR1cm4gZWxlbWVudC50eXBlID09PSBFbGVtZW50S2luZHMudGFibGVDZWxsID8gdHJ1ZSA6IGlzQ29udGFpbmVyKGVsZW1lbnQpO1xuICAgIH07XG5cbiAgICBlZGl0b3Iub25DaGFuZ2UgPSAoKSA9PiB7XG4gICAgICAgIG9uQ2hhbmdlKCk7XG4gICAgICAgIC8vIGFkdWpzdCBzZWxlY3Rpb24gd2hlbiBzZWxlY3Rpb24gaXMgaW4gaGlkZGVuIGNlbGxcbiAgICAgICAgLy8ganVzdCBob29rIHNldF9zZWxlY3Rpb25cbiAgICAgICAgY29uc3QgaXNDb2xsYXBzZWQgPSBlZGl0b3Iuc2VsZWN0aW9uICYmIFJhbmdlLmlzQ29sbGFwc2VkKGVkaXRvci5zZWxlY3Rpb24pO1xuICAgICAgICBjb25zdCBpc1NlbGVjdGlvbk9wZXJhdGlvbiA9IGVkaXRvci5vcGVyYXRpb25zLmV2ZXJ5KG9wID0+IE9wZXJhdGlvbi5pc1NlbGVjdGlvbk9wZXJhdGlvbihvcCkpO1xuICAgICAgICBpZiAoaXNDb2xsYXBzZWQgJiYgaXNTZWxlY3Rpb25PcGVyYXRpb24pIHtcbiAgICAgICAgICAgIGNvbnN0IG9wdHMgPSBuZXcgVGFibGVPcHRpb25zKCk7XG4gICAgICAgICAgICBjb25zdCB0YWJsZVBvc2l0aW9uID0gVGFibGVQb3NpdGlvbi5jcmVhdGUob3B0cywgZWRpdG9yLCBlZGl0b3Iuc2VsZWN0aW9uLmFuY2hvci5wYXRoKTtcbiAgICAgICAgICAgIGlmICh0YWJsZVBvc2l0aW9uLmlzSW5UYWJsZSgpICYmIHRhYmxlUG9zaXRpb24uY2VsbC5oaWRkZW4pIHtcbiAgICAgICAgICAgICAgICBUYWJsZUVkaXRvci5zZWxlY3RPcmlnaW5DZWxsKFxuICAgICAgICAgICAgICAgICAgICBlZGl0b3IsXG4gICAgICAgICAgICAgICAgICAgIHRhYmxlUG9zaXRpb24udGFibGUsXG4gICAgICAgICAgICAgICAgICAgIHRhYmxlUG9zaXRpb24uZ2V0Um93SW5kZXgoKSxcbiAgICAgICAgICAgICAgICAgICAgdGFibGVQb3NpdGlvbi5nZXRDb2x1bW5JbmRleCgpLFxuICAgICAgICAgICAgICAgICAgICBmYWxzZVxuICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9O1xuXG4gICAgcmV0dXJuIGVkaXRvcjtcbn07XG5cbmV4cG9ydCBjb25zdCBjcmVhdGVUYWJsZVBsdWdpbiA9IGNyZWF0ZVBsdWdpbkZhY3Rvcnkoe1xuICAgIGtleTogUGx1Z2luS2V5cy50YWJsZSxcbiAgICB3aXRoT3ZlcnJpZGVzOiB3aXRoVGFibGUsXG4gICAgbmVzdGVkU3RydWN0dXJlQnlLZXk6IHtcbiAgICAgICAgW0VsZW1lbnRLaW5kcy50YWJsZV06IEVsZW1lbnRLaW5kcy50YWJsZVJvdyxcbiAgICAgICAgW0VsZW1lbnRLaW5kcy50YWJsZVJvd106IEVsZW1lbnRLaW5kcy50YWJsZUNlbGxcbiAgICB9LFxuICAgIHRvb2xiYXJJdGVtczogW1xuICAgICAgICB7XG4gICAgICAgICAgICBrZXk6IEVsZW1lbnRLaW5kcy50YWJsZSxcbiAgICAgICAgICAgIGljb246ICd0YWJsZS1ib3JkZXItYWxsJyxcbiAgICAgICAgICAgIG5hbWU6ICfooajmoLwnLFxuICAgICAgICAgICAgaWNvbkNvbXBvbmVudDogVGhlVGFibGVUb29sYmFySXRlbUNvbXBvbmVudCxcbiAgICAgICAgICAgIGV4ZWN1dGU6IGVkaXRvciA9PiBUYWJsZUVkaXRvci5pbnNlcnRUYWJsZShlZGl0b3IpLFxuICAgICAgICAgICAgYWN0aXZlOiBlZGl0b3IgPT4gVGFibGVFZGl0b3IuaXNBY3RpdmUoZWRpdG9yKVxuICAgICAgICB9XG4gICAgXSxcbiAgICBtZW51SXRlbXM6IFtcbiAgICAgICAge1xuICAgICAgICAgICAga2V5OiBFbGVtZW50S2luZHMudGFibGUsXG4gICAgICAgICAgICBrZXl3b3JkczogJ2JpYW9nZSxiZyx0YWJsZSzooajmoLwnLFxuICAgICAgICAgICAgZXhlY3V0ZTogZWRpdG9yID0+IFRhYmxlRWRpdG9yLmluc2VydFRhYmxlKGVkaXRvciksXG4gICAgICAgICAgICBhY3RpdmU6IGVkaXRvciA9PiBUYWJsZUVkaXRvci5pc0FjdGl2ZShlZGl0b3IpLFxuICAgICAgICAgICAgbmFtZTogJ+ihqOagvCcsXG4gICAgICAgICAgICB0eXBlOiBUaGVQbHVnaW5NZW51SXRlbVR5cGUuZ3JvdXAsXG4gICAgICAgICAgICBtZW51SWNvbjogUGx1Z2luTWVudUljb25zLnRhYmxlLFxuICAgICAgICAgICAgZGVzY3JpcHRpb246ICfnu5PmnoTljJblkYjnjrDmlbDmja7kv6Hmga8nLFxuICAgICAgICAgICAgZGlzcGxheUtleTogJy9iZydcbiAgICAgICAgfVxuICAgIF0sXG4gICAgb3B0aW9uczoge1xuICAgICAgICBzaG93RnVsbHNjcmVlbjogdHJ1ZSxcbiAgICAgICAgc2V0RnVsbHNjcmVlbjogKGVkaXRvcjogRWRpdG9yLCBldmVudDogTW91c2VFdmVudCwgZWxlbWVudDogRWxlbWVudCkgPT4ge1xuICAgICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgfVxuICAgIH1cbn0pO1xuIl19