@sd-angular/core 0.0.940 → 0.0.944

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (34) hide show
  1. package/bundles/sd-angular-core-grid-material.umd.js +94 -53
  2. package/bundles/sd-angular-core-grid-material.umd.js.map +1 -1
  3. package/bundles/sd-angular-core-grid-material.umd.min.js +2 -2
  4. package/bundles/sd-angular-core-grid-material.umd.min.js.map +1 -1
  5. package/bundles/sd-angular-core-select.umd.js +1 -1
  6. package/bundles/sd-angular-core-select.umd.js.map +1 -1
  7. package/bundles/sd-angular-core-select.umd.min.js +2 -2
  8. package/bundles/sd-angular-core-select.umd.min.js.map +1 -1
  9. package/esm2015/grid-material/sd-angular-core-grid-material.js +30 -28
  10. package/esm2015/grid-material/src/lib/components/desktop-cell/desktop-cell.component.js +3 -4
  11. package/esm2015/grid-material/src/lib/components/desktop-editor-validation/desktop-editor-validation.component.js +19 -0
  12. package/esm2015/grid-material/src/lib/components/grid-filter/grid-filter.component.js +1 -1
  13. package/esm2015/grid-material/src/lib/grid-material.component.js +2 -2
  14. package/esm2015/grid-material/src/lib/grid-material.module.js +9 -3
  15. package/esm2015/grid-material/src/lib/models/grid-option.model.js +1 -1
  16. package/esm2015/grid-material/src/lib/models/grid-style.model.js +2 -0
  17. package/esm2015/grid-material/src/lib/pipes/editor-validate.pipe.js +7 -10
  18. package/esm2015/grid-material/src/lib/pipes/style-row-css.pipe.js +13 -0
  19. package/esm2015/grid-material/src/lib/services/grid-configuration.service.js +6 -1
  20. package/esm2015/select/src/lib/select.component.js +2 -2
  21. package/fesm2015/sd-angular-core-grid-material.js +52 -17
  22. package/fesm2015/sd-angular-core-grid-material.js.map +1 -1
  23. package/fesm2015/sd-angular-core-select.js +1 -1
  24. package/fesm2015/sd-angular-core-select.js.map +1 -1
  25. package/grid-material/sd-angular-core-grid-material.d.ts +29 -27
  26. package/grid-material/sd-angular-core-grid-material.metadata.json +1 -1
  27. package/grid-material/src/lib/components/desktop-editor-validation/desktop-editor-validation.component.d.ts +7 -0
  28. package/grid-material/src/lib/models/grid-option.model.d.ts +2 -3
  29. package/grid-material/src/lib/models/grid-style.model.d.ts +6 -0
  30. package/grid-material/src/lib/pipes/editor-validate.pipe.d.ts +1 -2
  31. package/grid-material/src/lib/pipes/style-row-css.pipe.d.ts +7 -0
  32. package/package.json +1 -1
  33. package/{sd-angular-core-0.0.940.tgz → sd-angular-core-0.0.944.tgz} +0 -0
  34. package/select/sd-angular-core-select.metadata.json +1 -1
@@ -11,6 +11,7 @@ import { MatPaginatorIntl, MatPaginatorModule } from '@angular/material/paginato
11
11
  import { MatTableModule } from '@angular/material/table';
12
12
  import { MatProgressSpinnerModule } from '@angular/material/progress-spinner';
13
13
  import { CdkTableModule, CdkColumnDef } from '@angular/cdk/table';
14
+ import { ScrollingModule } from '@angular/cdk/scrolling';
14
15
  import { DragDropModule } from '@angular/cdk/drag-drop';
15
16
  import { MatMenuModule } from '@angular/material/menu';
16
17
  import { MatSliderModule } from '@angular/material/slider';
@@ -64,6 +65,8 @@ import { SdDesktopCellEditor } from './components/desktop-cell-editor/desktop-ce
64
65
  import { SdEditorHandlerRowPipe } from './pipes/editor-handler-row.pipe';
65
66
  import { SdEditorHandlerColumnPipe } from './pipes/editor-handler-column.pipe';
66
67
  import { SdEditorValidatePipe } from './pipes/editor-validate.pipe';
68
+ import { SdStyleRowCss } from './pipes/style-row-css.pipe';
69
+ import { SdDesktopEditorValidation } from './components/desktop-editor-validation/desktop-editor-validation.component';
67
70
  export class MatPaginatorIntlCro extends MatPaginatorIntl {
68
71
  constructor() {
69
72
  super(...arguments);
@@ -113,11 +116,13 @@ SdGridMaterialModule.decorators = [
113
116
  DragDropModule,
114
117
  SdFormModule,
115
118
  SdServiceModule,
116
- MatSliderModule
119
+ MatSliderModule,
120
+ ScrollingModule
117
121
  ],
118
122
  declarations: [
119
123
  SdDesktopCell,
120
124
  SdDesktopCellEditor,
125
+ SdDesktopEditorValidation,
121
126
  SdDesktopCellView,
122
127
  SdDesktopCellChildrenView,
123
128
  SdDesktopCommand,
@@ -153,7 +158,8 @@ SdGridMaterialModule.decorators = [
153
158
  SdSelectionDisableSelectAllPipe,
154
159
  SdEditorHandlerRowPipe,
155
160
  SdEditorHandlerColumnPipe,
156
- SdEditorValidatePipe
161
+ SdEditorValidatePipe,
162
+ SdStyleRowCss
157
163
  ],
158
164
  exports: [
159
165
  SdGridMaterial,
@@ -177,4 +183,4 @@ SdGridMaterialModule.decorators = [
177
183
  ]
178
184
  },] }
179
185
  ];
180
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3JpZC1tYXRlcmlhbC5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiQzovVXNlcnMvbmdoaWF0dDE1L0Rlc2t0b3AvV29ya2luZy8xTUcvbGliLWNvcmUtdWkvcHJvamVjdHMvc2QtY29yZS9ncmlkLW1hdGVyaWFsLyIsInNvdXJjZXMiOlsic3JjL2xpYi9ncmlkLW1hdGVyaWFsLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNyRCxPQUFPLEVBQUUsWUFBWSxFQUFFLFFBQVEsRUFBRSxXQUFXLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUN0RSxPQUFPLEVBQUUsV0FBVyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDbEUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDbEUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUN6RCxPQUFPLHlCQUF5QixDQUFDO0FBQ2pDLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLGtCQUFrQixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDbkYsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3pELE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBQzlFLE9BQU8sRUFBRSxjQUFjLEVBQUUsWUFBWSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDbEUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3hELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN2RCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDM0QsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDbEUsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDcEUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDOUQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDaEUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzNELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ2hFLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQzdFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDREQUE0RCxDQUFDO0FBQy9GLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQ3RFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUM3RCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDekQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3pELE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLDZDQUE2QyxDQUFDO0FBQ3pGLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ3RFLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ3BFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ2hFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxnREFBZ0QsQ0FBQztBQUM5RSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sa0RBQWtELENBQUM7QUFFakYsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDckUsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sOEVBQThFLENBQUM7QUFDekgsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFDakYsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDOUQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sd0RBQXdELENBQUM7QUFDMUYsT0FBTyxFQUFFLDRCQUE0QixFQUFFLE1BQU0sK0NBQStDLENBQUM7QUFDN0YsT0FBTyxFQUFFLDRCQUE0QixFQUFFLE1BQU0sK0NBQStDLENBQUM7QUFDN0YsT0FBTyxFQUFFLG9DQUFvQyxFQUFFLE1BQU0sd0RBQXdELENBQUM7QUFDOUcsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ3JELE9BQU8sRUFBRSwrQkFBK0IsRUFBRSxNQUFNLG1EQUFtRCxDQUFDO0FBQ3BHLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQy9ELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQzlELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUMvRCxPQUFPLEVBQUUsNkJBQTZCLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQztBQUN2RixPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sa0RBQWtELENBQUM7QUFDakYsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sMEVBQTBFLENBQUM7QUFDcEgsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFDbkYsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQzdELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUN4RCxPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQztBQUNuRixPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUN4RSxPQUFPLEVBQUUsK0JBQStCLEVBQUUsTUFBTSwyQ0FBMkMsQ0FBQztBQUM1RixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sc0RBQXNELENBQUM7QUFDdkYsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sc0RBQXNELENBQUM7QUFDaEcsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGtEQUFrRCxDQUFDO0FBQ2pGLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGdFQUFnRSxDQUFDO0FBQ3JHLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQ3pFLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBQy9FLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBR3BFLE1BQU0sT0FBTyxtQkFBb0IsU0FBUSxnQkFBZ0I7SUFEekQ7O1FBRUUsbUJBQWMsR0FBRyxXQUFXLENBQUM7UUFDN0Isa0JBQWEsR0FBRyxZQUFZLENBQUM7UUFDN0Isc0JBQWlCLEdBQUcsa0JBQWtCLENBQUM7UUFDdkMsa0JBQWEsR0FBRyxXQUFXLENBQUM7UUFDNUIsc0JBQWlCLEdBQUcsYUFBYSxDQUFDO1FBRWxDLGtCQUFhLEdBQUcsQ0FBQyxJQUFZLEVBQUUsUUFBZ0IsRUFBRSxNQUFjLEVBQUUsRUFBRTtZQUNqRSxJQUFJLE1BQU0sS0FBSyxDQUFDLElBQUksUUFBUSxLQUFLLENBQUMsRUFBRTtnQkFDbEMsT0FBTyxFQUFFLENBQUM7YUFDWDtZQUNELE1BQU0sSUFBSSxHQUFHLElBQUksR0FBRyxRQUFRLEdBQUcsQ0FBQyxDQUFDO1lBQ2pDLE1BQU0sRUFBRSxHQUFHLElBQUksR0FBRyxDQUFDLE1BQU0sR0FBRyxJQUFJLEdBQUcsUUFBUSxHQUFHLFFBQVEsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxNQUFNLEdBQUcsSUFBSSxHQUFHLFFBQVEsQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUNsRyxPQUFPLEdBQUcsSUFBSSxJQUFJLEVBQUUsU0FBUyxNQUFNLEVBQUUsQ0FBQztRQUN4QyxDQUFDLENBQUE7SUFDSCxDQUFDOzs7WUFoQkEsVUFBVTs7QUE0R1gsTUFBTSxPQUFPLG9CQUFvQjs7O1lBMUZoQyxRQUFRLFNBQUM7Z0JBQ1IsT0FBTyxFQUFFO29CQUNQLFlBQVk7b0JBQ1osV0FBVztvQkFDWCxtQkFBbUI7b0JBQ25CLGNBQWM7b0JBQ2Qsa0JBQWtCO29CQUNsQixhQUFhO29CQUNiLGtCQUFrQjtvQkFDbEIsY0FBYztvQkFDZCxhQUFhO29CQUNiLGFBQWE7b0JBQ2IsZUFBZTtvQkFDZixnQkFBZ0I7b0JBQ2hCLHdCQUF3QjtvQkFDeEIsY0FBYztvQkFDZCxjQUFjO29CQUNkLG9CQUFvQjtvQkFDcEIsaUJBQWlCO29CQUNqQixhQUFhO29CQUNiLGdCQUFnQjtvQkFDaEIsY0FBYztvQkFDZCxjQUFjO29CQUNkLFlBQVk7b0JBQ1osZUFBZTtvQkFDZixlQUFlO2lCQUNoQjtnQkFDRCxZQUFZLEVBQUU7b0JBQ1osYUFBYTtvQkFDYixtQkFBbUI7b0JBQ25CLGlCQUFpQjtvQkFDakIseUJBQXlCO29CQUN6QixnQkFBZ0I7b0JBQ2hCLGNBQWM7b0JBRWQsY0FBYztvQkFDZCw0QkFBNEI7b0JBQzVCLDBCQUEwQjtvQkFDMUIsNEJBQTRCO29CQUM1QixvQ0FBb0M7b0JBQ3BDLCtCQUErQjtvQkFDL0IsYUFBYTtvQkFDYix3QkFBd0I7b0JBQ3hCLFlBQVk7b0JBQ1osYUFBYTtvQkFDYixlQUFlO29CQUVmLFFBQVE7b0JBQ1IsNkJBQTZCO29CQUM3QiwwQkFBMEI7b0JBQzFCLGlCQUFpQjtvQkFDakIsbUJBQW1CO29CQUNuQixvQkFBb0I7b0JBQ3BCLGlCQUFpQjtvQkFDakIsa0JBQWtCO29CQUNsQixrQkFBa0I7b0JBQ2xCLHdCQUF3QjtvQkFDeEIscUJBQXFCO29CQUNyQixtQkFBbUI7b0JBQ25CLGlCQUFpQjtvQkFDakIsa0JBQWtCO29CQUNsQixvQkFBb0I7b0JBQ3BCLDJCQUEyQjtvQkFDM0Isc0JBQXNCO29CQUN0QiwrQkFBK0I7b0JBQy9CLHNCQUFzQjtvQkFDdEIseUJBQXlCO29CQUN6QixvQkFBb0I7aUJBQ3JCO2dCQUNELE9BQU8sRUFBRTtvQkFDUCxjQUFjO29CQUNkLDRCQUE0QjtvQkFDNUIsMEJBQTBCO29CQUMxQiw0QkFBNEI7b0JBQzVCLCtCQUErQjtvQkFDL0Isb0NBQW9DO2lCQUNyQztnQkFDRCxTQUFTLEVBQUU7b0JBQ1QsUUFBUTtvQkFDUixXQUFXO29CQUNYLFlBQVk7b0JBQ1osYUFBYTtvQkFDYixtQkFBbUI7b0JBQ25CLDBCQUEwQjtvQkFDMUIsd0JBQXdCO29CQUN4Qjt3QkFDRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsUUFBUSxFQUFFLG1CQUFtQjtxQkFDekQ7aUJBQ0Y7YUFDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUsIE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IENvbW1vbk1vZHVsZSwgRGF0ZVBpcGUsIERlY2ltYWxQaXBlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuaW1wb3J0IHsgRm9ybXNNb2R1bGUsIFJlYWN0aXZlRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IE1hdEZvcm1GaWVsZE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2Zvcm0tZmllbGQnO1xyXG5pbXBvcnQgeyBNYXRJY29uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaWNvbic7XHJcbmltcG9ydCB7IE1hdElucHV0TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaW5wdXQnO1xyXG5pbXBvcnQgJ0BzZC1hbmd1bGFyL2NvcmUvdHlwaW5nJztcclxuaW1wb3J0IHsgU2RHcmlkTWF0ZXJpYWwgfSBmcm9tICcuL2dyaWQtbWF0ZXJpYWwuY29tcG9uZW50JztcclxuaW1wb3J0IHsgTWF0U29ydE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3NvcnQnO1xyXG5pbXBvcnQgeyBNYXRQYWdpbmF0b3JJbnRsLCBNYXRQYWdpbmF0b3JNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9wYWdpbmF0b3InO1xyXG5pbXBvcnQgeyBNYXRUYWJsZU1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3RhYmxlJztcclxuaW1wb3J0IHsgTWF0UHJvZ3Jlc3NTcGlubmVyTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvcHJvZ3Jlc3Mtc3Bpbm5lcic7XHJcbmltcG9ydCB7IENka1RhYmxlTW9kdWxlLCBDZGtDb2x1bW5EZWYgfSBmcm9tICdAYW5ndWxhci9jZGsvdGFibGUnO1xyXG5pbXBvcnQgeyBEcmFnRHJvcE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9kcmFnLWRyb3AnO1xyXG5pbXBvcnQgeyBNYXRNZW51TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvbWVudSc7XHJcbmltcG9ydCB7IE1hdFNsaWRlck1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3NsaWRlcic7XHJcbmltcG9ydCB7IFNkQ29tbWFuZEZpbHRlclBpcGUgfSBmcm9tICcuL3BpcGVzL2NvbW1hbmQtZmlsdGVyLnBpcGUnO1xyXG5pbXBvcnQgeyBTZENvbW1hbmREaXNhYmxlUGlwZSB9IGZyb20gJy4vcGlwZXMvY29tbWFuZC1kaXNhYmxlLnBpcGUnO1xyXG5pbXBvcnQgeyBTZENvbW1hbmRJY29uUGlwZSB9IGZyb20gJy4vcGlwZXMvY29tbWFuZC1pY29uLnBpcGUnO1xyXG5pbXBvcnQgeyBTZENvbW1hbmRUaXRsZVBpcGUgfSBmcm9tICcuL3BpcGVzL2NvbW1hbmQtdGl0bGUucGlwZSc7XHJcbmltcG9ydCB7IE1hdEJ1dHRvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2J1dHRvbic7XHJcbmltcG9ydCB7IFNkQ29sdW1uVmFsdWVzUGlwZSB9IGZyb20gJy4vcGlwZXMvY29sdW1uLXZhbHVlcy5waXBlJztcclxuaW1wb3J0IHsgU2RDb2x1bW5IdG1sVGVtcGxhdGVQaXBlIH0gZnJvbSAnLi9waXBlcy9jb2x1bW4taHRtbC10ZW1wbGF0ZS5waXBlJztcclxuaW1wb3J0IHsgU2REZXNrdG9wQ2VsbFZpZXcgfSBmcm9tICcuL2NvbXBvbmVudHMvZGVza3RvcC1jZWxsLXZpZXcvZGVza3RvcC1jZWxsLXZpZXcuY29tcG9uZW50JztcclxuaW1wb3J0IHsgU2RDb2x1bW5UcmFuc2Zvcm1QaXBlIH0gZnJvbSAnLi9waXBlcy9jb2x1bW4tdHJhbnNmb3JtLnBpcGUnO1xyXG5pbXBvcnQgeyBTZFNlcnZpY2VNb2R1bGUgfSBmcm9tICdAc2QtYW5ndWxhci9jb3JlL3NlcnZpY2UnO1xyXG5pbXBvcnQgeyBNYXRUb29sdGlwTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvdG9vbHRpcCc7XHJcbmltcG9ydCB7IE1hdENoaXBzTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvY2hpcHMnO1xyXG5pbXBvcnQgeyBNYXRSYWRpb01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3JhZGlvJztcclxuaW1wb3J0IHsgU2RNYXRlcmlhbENlbGxEZWZEaXJlY3RpdmUgfSBmcm9tICcuL2RpcmVjdGl2ZXMvc2QtbWF0ZXJpYWwtY2VsbC1kZWYuZGlyZWN0aXZlJztcclxuaW1wb3J0IHsgTWF0U2xpZGVUb2dnbGVNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9zbGlkZS10b2dnbGUnO1xyXG5pbXBvcnQgeyBTZEZpbHRlckV4dGVybmFsUGlwZSB9IGZyb20gJy4vcGlwZXMvZmlsdGVyLWV4dGVybmFsLnBpcGUnO1xyXG5pbXBvcnQgeyBTZEZpbHRlckNvbHVtblBpcGUgfSBmcm9tICcuL3BpcGVzL2ZpbHRlci1jb2x1bW4ucGlwZSc7XHJcbmltcG9ydCB7IFNkR3JpZEZpbHRlciB9IGZyb20gJy4vY29tcG9uZW50cy9ncmlkLWZpbHRlci9ncmlkLWZpbHRlci5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBTZFBvcHVwRmlsdGVyIH0gZnJvbSAnLi9jb21wb25lbnRzL3BvcHVwLWZpbHRlci9wb3B1cC1maWx0ZXIuY29tcG9uZW50JztcclxuXHJcbmltcG9ydCB7IFNkR3JpZEZpbHRlclNlcnZpY2UgfSBmcm9tICcuL3NlcnZpY2VzL2dyaWQtZmlsdGVyLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBTZERlc2t0b3BDZWxsQ2hpbGRyZW5WaWV3IH0gZnJvbSAnLi9jb21wb25lbnRzL2Rlc2t0b3AtY2VsbC1jaGlsZHJlbi12aWV3L2Rlc2t0b3AtY2VsbC1jaGlsZHJlbi12aWV3LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFNkQ29sdW1uQ2hpbGRyZW5GaWx0ZXJQaXBlIH0gZnJvbSAnLi9waXBlcy9jb2x1bW4tY2hpbGRyZW4tZmlsdGVyLnBpcGUnO1xyXG5pbXBvcnQgeyBTZENvbHVtblRpdGxlUGlwZSB9IGZyb20gJy4vcGlwZXMvY29sdW1uLXRpdGxlLnBpcGUnO1xyXG5pbXBvcnQgeyBTZERlc2t0b3BDb21tYW5kIH0gZnJvbSAnLi9jb21wb25lbnRzL2Rlc2t0b3AtY29tbWFuZC9kZXNrdG9wLWNvbW1hbmQuY29tcG9uZW50JztcclxuaW1wb3J0IHsgU2RNYXRlcmlhbEZpbHRlckRlZkRpcmVjdGl2ZSB9IGZyb20gJy4vZGlyZWN0aXZlcy9zZC1tYXRlcmlhbC1maWx0ZXItZGVmLmRpcmVjdGl2ZSc7XHJcbmltcG9ydCB7IFNkTWF0ZXJpYWxGb290ZXJEZWZEaXJlY3RpdmUgfSBmcm9tICcuL2RpcmVjdGl2ZXMvc2QtbWF0ZXJpYWwtZm9vdGVyLWRlZi5kaXJlY3RpdmUnO1xyXG5pbXBvcnQgeyBTZE1hdGVyaWFsU3ViSW5mb3JtYXRpb25EZWZEaXJlY3RpdmUgfSBmcm9tICcuL2RpcmVjdGl2ZXMvc2QtbWF0ZXJpYWwtc3ViLWluZm9ybWF0aW9uLWRlZi5kaXJlY3RpdmUnO1xyXG5pbXBvcnQgeyBTZEZvcm1Nb2R1bGUgfSBmcm9tICdAc2QtYW5ndWxhci9jb3JlL2Zvcm0nO1xyXG5pbXBvcnQgeyBTZE1hdGVyaWFsRW1wdHlEYXRhRGVmRGlyZWN0aXZlIH0gZnJvbSAnLi9kaXJlY3RpdmVzL3NkLW1hdGVyaWFsLWVtcHR5LWRhdGEtZGVmLmRpcmVjdGl2ZSc7XHJcbmltcG9ydCB7IE1hdENoZWNrYm94TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvY2hlY2tib3gnO1xyXG5pbXBvcnQgeyBTZENvbHVtbkJhZGdlUGlwZSB9IGZyb20gJy4vcGlwZXMvY29sdW1uLWJhZGdlLnBpcGUnO1xyXG5pbXBvcnQgeyBTZExldERpcmVjdGl2ZSB9IGZyb20gJy4vZGlyZWN0aXZlcy9zZC1sZXQuZGlyZWN0aXZlJztcclxuaW1wb3J0IHsgU2RHcmlkQ29uZmlndXJhdGlvblJlc3VsdFBpcGUgfSBmcm9tICcuL3BpcGVzL2dyaWQtY29uZmlndXJhdGlvbi1yZXN1bHQucGlwZSc7XHJcbmltcG9ydCB7IFNkUG9wdXBFeHBvcnQgfSBmcm9tICcuL2NvbXBvbmVudHMvcG9wdXAtZXhwb3J0L3BvcHVwLWV4cG9ydC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBTZFBvcHVwR3JpZENvbmZpZ3VyYXRpb24gfSBmcm9tICcuL2NvbXBvbmVudHMvcG9wdXAtZ3JpZC1jb25maWd1cmF0aW9uL3BvcHVwLWdyaWQtY29uZmlndXJhdGlvbi5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBTZEdyaWRDb25maWd1cmF0aW9uU2VydmljZSB9IGZyb20gJy4vc2VydmljZXMvZ3JpZC1jb25maWd1cmF0aW9uLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBNYXRMaXN0TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvbGlzdCc7XHJcbmltcG9ydCB7IE1hdERpdmlkZXJNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9kaXZpZGVyJztcclxuaW1wb3J0IHsgU2RDb2x1bW5Ub29sdGlwUGlwZSB9IGZyb20gJy4vcGlwZXMvY29sdW1uLXRvb2x0aXAucGlwZSc7XHJcbmltcG9ydCB7IFNkR3JpZFNlcnZpY2UgfSBmcm9tICcuL3NlcnZpY2VzL2dyaWQuc2VydmljZSc7XHJcbmltcG9ydCB7IFNkU2VsZWN0aW9uQWN0aW9uRmlsdGVyUGlwZSB9IGZyb20gJy4vcGlwZXMvc2VsZWN0aW9uLWFjdGlvbi1maWx0ZXIucGlwZSc7XHJcbmltcG9ydCB7IFNkU2VsZWN0aW9uRGlzYWJsZVBpcGUgfSBmcm9tICcuL3BpcGVzL3NlbGVjdGlvbi1kaXNhYmxlLnBpcGUnO1xyXG5pbXBvcnQgeyBTZFNlbGVjdGlvbkRpc2FibGVTZWxlY3RBbGxQaXBlIH0gZnJvbSAnLi9waXBlcy9zZWxlY3Rpb24tZGlzYWJsZS1zZWxlY3QtYWxsLnBpcGUnO1xyXG5pbXBvcnQgeyBTZER5bmFtaWNDb2x1bW4gfSBmcm9tICcuL2NvbXBvbmVudHMvZHluYW1pYy1jb2x1bW4vZHluYW1pYy1jb2x1bW4uY29tcG9uZW50JztcclxuaW1wb3J0IHsgU2RHZW5lcmF0ZWRDb2x1bW5TZXJ2aWNlIH0gZnJvbSAnLi9zZXJ2aWNlcy9nZW5lcmF0ZWQtY29sdW1uL2dlbmVyYXRlZC1jb2x1bW4uc2VydmljZSc7XHJcbmltcG9ydCB7IFNkRGVza3RvcENlbGwgfSBmcm9tICcuL2NvbXBvbmVudHMvZGVza3RvcC1jZWxsL2Rlc2t0b3AtY2VsbC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBTZERlc2t0b3BDZWxsRWRpdG9yIH0gZnJvbSAnLi9jb21wb25lbnRzL2Rlc2t0b3AtY2VsbC1lZGl0b3IvZGVza3RvcC1jZWxsLWVkaXRvci5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBTZEVkaXRvckhhbmRsZXJSb3dQaXBlIH0gZnJvbSAnLi9waXBlcy9lZGl0b3ItaGFuZGxlci1yb3cucGlwZSc7XHJcbmltcG9ydCB7IFNkRWRpdG9ySGFuZGxlckNvbHVtblBpcGUgfSBmcm9tICcuL3BpcGVzL2VkaXRvci1oYW5kbGVyLWNvbHVtbi5waXBlJztcclxuaW1wb3J0IHsgU2RFZGl0b3JWYWxpZGF0ZVBpcGUgfSBmcm9tICcuL3BpcGVzL2VkaXRvci12YWxpZGF0ZS5waXBlJztcclxuXHJcbkBJbmplY3RhYmxlKClcclxuZXhwb3J0IGNsYXNzIE1hdFBhZ2luYXRvckludGxDcm8gZXh0ZW5kcyBNYXRQYWdpbmF0b3JJbnRsIHtcclxuICBmaXJzdFBhZ2VMYWJlbCA9ICdUcmFuZyDEkeG6p3UnO1xyXG4gIGxhc3RQYWdlTGFiZWwgPSAnVHJhbmcgY3Xhu5FpJztcclxuICBpdGVtc1BlclBhZ2VMYWJlbCA9ICdLw61jaCB0aMaw4bubYyB0cmFuZyc7XHJcbiAgbmV4dFBhZ2VMYWJlbCA9ICdUcmFuZyBzYXUnO1xyXG4gIHByZXZpb3VzUGFnZUxhYmVsID0gJ1RyYW5nIHRyxrDhu5tjJztcclxuXHJcbiAgZ2V0UmFuZ2VMYWJlbCA9IChwYWdlOiBudW1iZXIsIHBhZ2VTaXplOiBudW1iZXIsIGxlbmd0aDogbnVtYmVyKSA9PiB7XHJcbiAgICBpZiAobGVuZ3RoID09PSAwIHx8IHBhZ2VTaXplID09PSAwKSB7XHJcbiAgICAgIHJldHVybiAnJztcclxuICAgIH1cclxuICAgIGNvbnN0IGZyb20gPSBwYWdlICogcGFnZVNpemUgKyAxO1xyXG4gICAgY29uc3QgdG8gPSBmcm9tICsgKGxlbmd0aCAtIHBhZ2UgKiBwYWdlU2l6ZSA+IHBhZ2VTaXplID8gcGFnZVNpemUgOiBsZW5ndGggLSBwYWdlICogcGFnZVNpemUpIC0gMTtcclxuICAgIHJldHVybiBgJHtmcm9tfS0ke3RvfSB0csOqbiAke2xlbmd0aH1gO1xyXG4gIH1cclxufVxyXG5cclxuQE5nTW9kdWxlKHtcclxuICBpbXBvcnRzOiBbXHJcbiAgICBDb21tb25Nb2R1bGUsXHJcbiAgICBGb3Jtc01vZHVsZSxcclxuICAgIFJlYWN0aXZlRm9ybXNNb2R1bGUsXHJcbiAgICBNYXRJbnB1dE1vZHVsZSxcclxuICAgIE1hdEZvcm1GaWVsZE1vZHVsZSxcclxuICAgIE1hdFNvcnRNb2R1bGUsXHJcbiAgICBNYXRQYWdpbmF0b3JNb2R1bGUsXHJcbiAgICBNYXRUYWJsZU1vZHVsZSxcclxuICAgIE1hdE1lbnVNb2R1bGUsXHJcbiAgICBNYXRJY29uTW9kdWxlLFxyXG4gICAgTWF0QnV0dG9uTW9kdWxlLFxyXG4gICAgTWF0VG9vbHRpcE1vZHVsZSxcclxuICAgIE1hdFByb2dyZXNzU3Bpbm5lck1vZHVsZSxcclxuICAgIE1hdENoaXBzTW9kdWxlLFxyXG4gICAgTWF0UmFkaW9Nb2R1bGUsXHJcbiAgICBNYXRTbGlkZVRvZ2dsZU1vZHVsZSxcclxuICAgIE1hdENoZWNrYm94TW9kdWxlLFxyXG4gICAgTWF0TGlzdE1vZHVsZSxcclxuICAgIE1hdERpdmlkZXJNb2R1bGUsXHJcbiAgICBDZGtUYWJsZU1vZHVsZSxcclxuICAgIERyYWdEcm9wTW9kdWxlLFxyXG4gICAgU2RGb3JtTW9kdWxlLFxyXG4gICAgU2RTZXJ2aWNlTW9kdWxlLFxyXG4gICAgTWF0U2xpZGVyTW9kdWxlXHJcbiAgXSxcclxuICBkZWNsYXJhdGlvbnM6IFtcclxuICAgIFNkRGVza3RvcENlbGwsXHJcbiAgICBTZERlc2t0b3BDZWxsRWRpdG9yLFxyXG4gICAgU2REZXNrdG9wQ2VsbFZpZXcsXHJcbiAgICBTZERlc2t0b3BDZWxsQ2hpbGRyZW5WaWV3LFxyXG4gICAgU2REZXNrdG9wQ29tbWFuZCxcclxuICAgIFNkR3JpZE1hdGVyaWFsLFxyXG5cclxuICAgIFNkTGV0RGlyZWN0aXZlLFxyXG4gICAgU2RNYXRlcmlhbEZvb3RlckRlZkRpcmVjdGl2ZSxcclxuICAgIFNkTWF0ZXJpYWxDZWxsRGVmRGlyZWN0aXZlLFxyXG4gICAgU2RNYXRlcmlhbEZpbHRlckRlZkRpcmVjdGl2ZSxcclxuICAgIFNkTWF0ZXJpYWxTdWJJbmZvcm1hdGlvbkRlZkRpcmVjdGl2ZSxcclxuICAgIFNkTWF0ZXJpYWxFbXB0eURhdGFEZWZEaXJlY3RpdmUsXHJcbiAgICBTZFBvcHVwRXhwb3J0LFxyXG4gICAgU2RQb3B1cEdyaWRDb25maWd1cmF0aW9uLFxyXG4gICAgU2RHcmlkRmlsdGVyLFxyXG4gICAgU2RQb3B1cEZpbHRlcixcclxuICAgIFNkRHluYW1pY0NvbHVtbixcclxuXHJcbiAgICAvLyBQaXBlc1xyXG4gICAgU2RHcmlkQ29uZmlndXJhdGlvblJlc3VsdFBpcGUsXHJcbiAgICBTZENvbHVtbkNoaWxkcmVuRmlsdGVyUGlwZSxcclxuICAgIFNkQ29sdW1uVGl0bGVQaXBlLFxyXG4gICAgU2RDb21tYW5kRmlsdGVyUGlwZSxcclxuICAgIFNkQ29tbWFuZERpc2FibGVQaXBlLFxyXG4gICAgU2RDb21tYW5kSWNvblBpcGUsXHJcbiAgICBTZENvbW1hbmRUaXRsZVBpcGUsXHJcbiAgICBTZENvbHVtblZhbHVlc1BpcGUsXHJcbiAgICBTZENvbHVtbkh0bWxUZW1wbGF0ZVBpcGUsXHJcbiAgICBTZENvbHVtblRyYW5zZm9ybVBpcGUsXHJcbiAgICBTZENvbHVtblRvb2x0aXBQaXBlLFxyXG4gICAgU2RDb2x1bW5CYWRnZVBpcGUsXHJcbiAgICBTZEZpbHRlckNvbHVtblBpcGUsXHJcbiAgICBTZEZpbHRlckV4dGVybmFsUGlwZSxcclxuICAgIFNkU2VsZWN0aW9uQWN0aW9uRmlsdGVyUGlwZSxcclxuICAgIFNkU2VsZWN0aW9uRGlzYWJsZVBpcGUsXHJcbiAgICBTZFNlbGVjdGlvbkRpc2FibGVTZWxlY3RBbGxQaXBlLFxyXG4gICAgU2RFZGl0b3JIYW5kbGVyUm93UGlwZSxcclxuICAgIFNkRWRpdG9ySGFuZGxlckNvbHVtblBpcGUsXHJcbiAgICBTZEVkaXRvclZhbGlkYXRlUGlwZVxyXG4gIF0sXHJcbiAgZXhwb3J0czogW1xyXG4gICAgU2RHcmlkTWF0ZXJpYWwsXHJcbiAgICBTZE1hdGVyaWFsRm9vdGVyRGVmRGlyZWN0aXZlLFxyXG4gICAgU2RNYXRlcmlhbENlbGxEZWZEaXJlY3RpdmUsXHJcbiAgICBTZE1hdGVyaWFsRmlsdGVyRGVmRGlyZWN0aXZlLFxyXG4gICAgU2RNYXRlcmlhbEVtcHR5RGF0YURlZkRpcmVjdGl2ZSxcclxuICAgIFNkTWF0ZXJpYWxTdWJJbmZvcm1hdGlvbkRlZkRpcmVjdGl2ZVxyXG4gIF0sXHJcbiAgcHJvdmlkZXJzOiBbXHJcbiAgICBEYXRlUGlwZSxcclxuICAgIERlY2ltYWxQaXBlLFxyXG4gICAgQ2RrQ29sdW1uRGVmLFxyXG4gICAgU2RHcmlkU2VydmljZSxcclxuICAgIFNkR3JpZEZpbHRlclNlcnZpY2UsXHJcbiAgICBTZEdyaWRDb25maWd1cmF0aW9uU2VydmljZSxcclxuICAgIFNkR2VuZXJhdGVkQ29sdW1uU2VydmljZSxcclxuICAgIHtcclxuICAgICAgcHJvdmlkZTogTWF0UGFnaW5hdG9ySW50bCwgdXNlQ2xhc3M6IE1hdFBhZ2luYXRvckludGxDcm9cclxuICAgIH1cclxuICBdXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBTZEdyaWRNYXRlcmlhbE1vZHVsZSB7XHJcbn1cclxuIl19
186
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3JpZC1tYXRlcmlhbC5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiQzovVXNlcnMvbmdoaWF0dDE1L0Rlc2t0b3AvV29ya2luZy8xTUcvbGliLWNvcmUtdWkvcHJvamVjdHMvc2QtY29yZS9ncmlkLW1hdGVyaWFsLyIsInNvdXJjZXMiOlsic3JjL2xpYi9ncmlkLW1hdGVyaWFsLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNyRCxPQUFPLEVBQUUsWUFBWSxFQUFFLFFBQVEsRUFBRSxXQUFXLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUN0RSxPQUFPLEVBQUUsV0FBVyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDbEUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDbEUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUN6RCxPQUFPLHlCQUF5QixDQUFDO0FBQ2pDLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLGtCQUFrQixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDbkYsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3pELE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBQzlFLE9BQU8sRUFBRSxjQUFjLEVBQUUsWUFBWSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDbEUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3pELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx3QkFBd0Is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b0JBQ1osYUFBYTtvQkFDYixlQUFlO29CQUVmLFFBQVE7b0JBQ1IsNkJBQTZCO29CQUM3QiwwQkFBMEI7b0JBQzFCLGlCQUFpQjtvQkFDakIsbUJBQW1CO29CQUNuQixvQkFBb0I7b0JBQ3BCLGlCQUFpQjtvQkFDakIsa0JBQWtCO29CQUNsQixrQkFBa0I7b0JBQ2xCLHdCQUF3QjtvQkFDeEIscUJBQXFCO29CQUNyQixtQkFBbUI7b0JBQ25CLGlCQUFpQjtvQkFDakIsa0JBQWtCO29CQUNsQixvQkFBb0I7b0JBQ3BCLDJCQUEyQjtvQkFDM0Isc0JBQXNCO29CQUN0QiwrQkFBK0I7b0JBQy9CLHNCQUFzQjtvQkFDdEIseUJBQXlCO29CQUN6QixvQkFBb0I7b0JBQ3BCLGFBQWE7aUJBQ2Q7Z0JBQ0QsT0FBTyxFQUFFO29CQUNQLGNBQWM7b0JBQ2QsNEJBQTRCO29CQUM1QiwwQkFBMEI7b0JBQzFCLDRCQUE0QjtvQkFDNUIsK0JBQStCO29CQUMvQixvQ0FBb0M7aUJBQ3JDO2dCQUNELFNBQVMsRUFBRTtvQkFDVCxRQUFRO29CQUNSLFdBQVc7b0JBQ1gsWUFBWTtvQkFDWixhQUFhO29CQUNiLG1CQUFtQjtvQkFDbkIsMEJBQTBCO29CQUMxQix3QkFBd0I7b0JBQ3hCO3dCQUNFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxRQUFRLEVBQUUsbUJBQW1CO3FCQUN6RDtpQkFDRjthQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSwgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQ29tbW9uTW9kdWxlLCBEYXRlUGlwZSwgRGVjaW1hbFBpcGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQgeyBGb3Jtc01vZHVsZSwgUmVhY3RpdmVGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgTWF0Rm9ybUZpZWxkTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZm9ybS1maWVsZCc7XHJcbmltcG9ydCB7IE1hdEljb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pY29uJztcclxuaW1wb3J0IHsgTWF0SW5wdXRNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pbnB1dCc7XHJcbmltcG9ydCAnQHNkLWFuZ3VsYXIvY29yZS90eXBpbmcnO1xyXG5pbXBvcnQgeyBTZEdyaWRNYXRlcmlhbCB9IGZyb20gJy4vZ3JpZC1tYXRlcmlhbC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBNYXRTb3J0TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvc29ydCc7XHJcbmltcG9ydCB7IE1hdFBhZ2luYXRvckludGwsIE1hdFBhZ2luYXRvck1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3BhZ2luYXRvcic7XHJcbmltcG9ydCB7IE1hdFRhYmxlTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvdGFibGUnO1xyXG5pbXBvcnQgeyBNYXRQcm9ncmVzc1NwaW5uZXJNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9wcm9ncmVzcy1zcGlubmVyJztcclxuaW1wb3J0IHsgQ2RrVGFibGVNb2R1bGUsIENka0NvbHVtbkRlZiB9IGZyb20gJ0Bhbmd1bGFyL2Nkay90YWJsZSc7XHJcbmltcG9ydCB7IFNjcm9sbGluZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9zY3JvbGxpbmcnO1xyXG5pbXBvcnQgeyBEcmFnRHJvcE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9kcmFnLWRyb3AnO1xyXG5pbXBvcnQgeyBNYXRNZW51TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvbWVudSc7XHJcbmltcG9ydCB7IE1hdFNsaWRlck1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3NsaWRlcic7XHJcbmltcG9ydCB7IFNkQ29tbWFuZEZpbHRlclBpcGUgfSBmcm9tICcuL3BpcGVzL2NvbW1hbmQtZmlsdGVyLnBpcGUnO1xyXG5pbXBvcnQgeyBTZENvbW1hbmREaXNhYmxlUGlwZSB9IGZyb20gJy4vcGlwZXMvY29tbWFuZC1kaXNhYmxlLnBpcGUnO1xyXG5pbXBvcnQgeyBTZENvbW1hbmRJY29uUGlwZSB9IGZyb20gJy4vcGlwZXMvY29tbWFuZC1pY29uLnBpcGUnO1xyXG5pbXBvcnQgeyBTZENvbW1hbmRUaXRsZVBpcGUgfSBmcm9tICcuL3BpcGVzL2NvbW1hbmQtdGl0bGUucGlwZSc7XHJcbmltcG9ydCB7IE1hdEJ1dHRvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2J1dHRvbic7XHJcbmltcG9ydCB7IFNkQ29sdW1uVmFsdWVzUGlwZSB9IGZyb20gJy4vcGlwZXMvY29sdW1uLXZhbHVlcy5waXBlJztcclxuaW1wb3J0IHsgU2RDb2x1bW5IdG1sVGVtcGxhdGVQaXBlIH0gZnJvbSAnLi9waXBlcy9jb2x1bW4taHRtbC10ZW1wbGF0ZS5waXBlJztcclxuaW1wb3J0IHsgU2REZXNrdG9wQ2VsbFZpZXcgfSBmcm9tICcuL2NvbXBvbmVudHMvZGVza3RvcC1jZWxsLXZpZXcvZGVza3RvcC1jZWxsLXZpZXcuY29tcG9uZW50JztcclxuaW1wb3J0IHsgU2RDb2x1bW5UcmFuc2Zvcm1QaXBlIH0gZnJvbSAnLi9waXBlcy9jb2x1bW4tdHJhbnNmb3JtLnBpcGUnO1xyXG5pbXBvcnQgeyBTZFNlcnZpY2VNb2R1bGUgfSBmcm9tICdAc2QtYW5ndWxhci9jb3JlL3NlcnZpY2UnO1xyXG5pbXBvcnQgeyBNYXRUb29sdGlwTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvdG9vbHRpcCc7XHJcbmltcG9ydCB7IE1hdENoaXBzTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvY2hpcHMnO1xyXG5pbXBvcnQgeyBNYXRSYWRpb01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3JhZGlvJztcclxuaW1wb3J0IHsgU2RNYXRlcmlhbENlbGxEZWZEaXJlY3RpdmUgfSBmcm9tICcuL2RpcmVjdGl2ZXMvc2QtbWF0ZXJpYWwtY2VsbC1kZWYuZGlyZWN0aXZlJztcclxuaW1wb3J0IHsgTWF0U2xpZGVUb2dnbGVNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9zbGlkZS10b2dnbGUnO1xyXG5pbXBvcnQgeyBTZEZpbHRlckV4dGVybmFsUGlwZSB9IGZyb20gJy4vcGlwZXMvZmlsdGVyLWV4dGVybmFsLnBpcGUnO1xyXG5pbXBvcnQgeyBTZEZpbHRlckNvbHVtblBpcGUgfSBmcm9tICcuL3BpcGVzL2ZpbHRlci1jb2x1bW4ucGlwZSc7XHJcbmltcG9ydCB7IFNkR3JpZEZpbHRlciB9IGZyb20gJy4vY29tcG9uZW50cy9ncmlkLWZpbHRlci9ncmlkLWZpbHRlci5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBTZFBvcHVwRmlsdGVyIH0gZnJvbSAnLi9jb21wb25lbnRzL3BvcHVwLWZpbHRlci9wb3B1cC1maWx0ZXIuY29tcG9uZW50JztcclxuXHJcbmltcG9ydCB7IFNkR3JpZEZpbHRlclNlcnZpY2UgfSBmcm9tICcuL3NlcnZpY2VzL2dyaWQtZmlsdGVyLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBTZERlc2t0b3BDZWxsQ2hpbGRyZW5WaWV3IH0gZnJvbSAnLi9jb21wb25lbnRzL2Rlc2t0b3AtY2VsbC1jaGlsZHJlbi12aWV3L2Rlc2t0b3AtY2VsbC1jaGlsZHJlbi12aWV3LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFNkQ29sdW1uQ2hpbGRyZW5GaWx0ZXJQaXBlIH0gZnJvbSAnLi9waXBlcy9jb2x1bW4tY2hpbGRyZW4tZmlsdGVyLnBpcGUnO1xyXG5pbXBvcnQgeyBTZENvbHVtblRpdGxlUGlwZSB9IGZyb20gJy4vcGlwZXMvY29sdW1uLXRpdGxlLnBpcGUnO1xyXG5pbXBvcnQgeyBTZERlc2t0b3BDb21tYW5kIH0gZnJvbSAnLi9jb21wb25lbnRzL2Rlc2t0b3AtY29tbWFuZC9kZXNrdG9wLWNvbW1hbmQuY29tcG9uZW50JztcclxuaW1wb3J0IHsgU2RNYXRlcmlhbEZpbHRlckRlZkRpcmVjdGl2ZSB9IGZyb20gJy4vZGlyZWN0aXZlcy9zZC1tYXRlcmlhbC1maWx0ZXItZGVmLmRpcmVjdGl2ZSc7XHJcbmltcG9ydCB7IFNkTWF0ZXJpYWxGb290ZXJEZWZEaXJlY3RpdmUgfSBmcm9tICcuL2RpcmVjdGl2ZXMvc2QtbWF0ZXJpYWwtZm9vdGVyLWRlZi5kaXJlY3RpdmUnO1xyXG5pbXBvcnQgeyBTZE1hdGVyaWFsU3ViSW5mb3JtYXRpb25EZWZEaXJlY3RpdmUgfSBmcm9tICcuL2RpcmVjdGl2ZXMvc2QtbWF0ZXJpYWwtc3ViLWluZm9ybWF0aW9uLWRlZi5kaXJlY3RpdmUnO1xyXG5pbXBvcnQgeyBTZEZvcm1Nb2R1bGUgfSBmcm9tICdAc2QtYW5ndWxhci9jb3JlL2Zvcm0nO1xyXG5pbXBvcnQgeyBTZE1hdGVyaWFsRW1wdHlEYXRhRGVmRGlyZWN0aXZlIH0gZnJvbSAnLi9kaXJlY3RpdmVzL3NkLW1hdGVyaWFsLWVtcHR5LWRhdGEtZGVmLmRpcmVjdGl2ZSc7XHJcbmltcG9ydCB7IE1hdENoZWNrYm94TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvY2hlY2tib3gnO1xyXG5pbXBvcnQgeyBTZENvbHVtbkJhZGdlUGlwZSB9IGZyb20gJy4vcGlwZXMvY29sdW1uLWJhZGdlLnBpcGUnO1xyXG5pbXBvcnQgeyBTZExldERpcmVjdGl2ZSB9IGZyb20gJy4vZGlyZWN0aXZlcy9zZC1sZXQuZGlyZWN0aXZlJztcclxuaW1wb3J0IHsgU2RHcmlkQ29uZmlndXJhdGlvblJlc3VsdFBpcGUgfSBmcm9tICcuL3BpcGVzL2dyaWQtY29uZmlndXJhdGlvbi1yZXN1bHQucGlwZSc7XHJcbmltcG9ydCB7IFNkUG9wdXBFeHBvcnQgfSBmcm9tICcuL2NvbXBvbmVudHMvcG9wdXAtZXhwb3J0L3BvcHVwLWV4cG9ydC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBTZFBvcHVwR3JpZENvbmZpZ3VyYXRpb24gfSBmcm9tICcuL2NvbXBvbmVudHMvcG9wdXAtZ3JpZC1jb25maWd1cmF0aW9uL3BvcHVwLWdyaWQtY29uZmlndXJhdGlvbi5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBTZEdyaWRDb25maWd1cmF0aW9uU2VydmljZSB9IGZyb20gJy4vc2VydmljZXMvZ3JpZC1jb25maWd1cmF0aW9uLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBNYXRMaXN0TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvbGlzdCc7XHJcbmltcG9ydCB7IE1hdERpdmlkZXJNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9kaXZpZGVyJztcclxuaW1wb3J0IHsgU2RDb2x1bW5Ub29sdGlwUGlwZSB9IGZyb20gJy4vcGlwZXMvY29sdW1uLXRvb2x0aXAucGlwZSc7XHJcbmltcG9ydCB7IFNkR3JpZFNlcnZpY2UgfSBmcm9tICcuL3NlcnZpY2VzL2dyaWQuc2VydmljZSc7XHJcbmltcG9ydCB7IFNkU2VsZWN0aW9uQWN0aW9uRmlsdGVyUGlwZSB9IGZyb20gJy4vcGlwZXMvc2VsZWN0aW9uLWFjdGlvbi1maWx0ZXIucGlwZSc7XHJcbmltcG9ydCB7IFNkU2VsZWN0aW9uRGlzYWJsZVBpcGUgfSBmcm9tICcuL3BpcGVzL3NlbGVjdGlvbi1kaXNhYmxlLnBpcGUnO1xyXG5pbXBvcnQgeyBTZFNlbGVjdGlvbkRpc2FibGVTZWxlY3RBbGxQaXBlIH0gZnJvbSAnLi9waXBlcy9zZWxlY3Rpb24tZGlzYWJsZS1zZWxlY3QtYWxsLnBpcGUnO1xyXG5pbXBvcnQgeyBTZER5bmFtaWNDb2x1bW4gfSBmcm9tICcuL2NvbXBvbmVudHMvZHluYW1pYy1jb2x1bW4vZHluYW1pYy1jb2x1bW4uY29tcG9uZW50JztcclxuaW1wb3J0IHsgU2RHZW5lcmF0ZWRDb2x1bW5TZXJ2aWNlIH0gZnJvbSAnLi9zZXJ2aWNlcy9nZW5lcmF0ZWQtY29sdW1uL2dlbmVyYXRlZC1jb2x1bW4uc2VydmljZSc7XHJcbmltcG9ydCB7IFNkRGVza3RvcENlbGwgfSBmcm9tICcuL2NvbXBvbmVudHMvZGVza3RvcC1jZWxsL2Rlc2t0b3AtY2VsbC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBTZERlc2t0b3BDZWxsRWRpdG9yIH0gZnJvbSAnLi9jb21wb25lbnRzL2Rlc2t0b3AtY2VsbC1lZGl0b3IvZGVza3RvcC1jZWxsLWVkaXRvci5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBTZEVkaXRvckhhbmRsZXJSb3dQaXBlIH0gZnJvbSAnLi9waXBlcy9lZGl0b3ItaGFuZGxlci1yb3cucGlwZSc7XHJcbmltcG9ydCB7IFNkRWRpdG9ySGFuZGxlckNvbHVtblBpcGUgfSBmcm9tICcuL3BpcGVzL2VkaXRvci1oYW5kbGVyLWNvbHVtbi5waXBlJztcclxuaW1wb3J0IHsgU2RFZGl0b3JWYWxpZGF0ZVBpcGUgfSBmcm9tICcuL3BpcGVzL2VkaXRvci12YWxpZGF0ZS5waXBlJztcclxuaW1wb3J0IHsgU2RTdHlsZVJvd0NzcyB9IGZyb20gJy4vcGlwZXMvc3R5bGUtcm93LWNzcy5waXBlJztcclxuaW1wb3J0IHsgU2REZXNrdG9wRWRpdG9yVmFsaWRhdGlvbiB9IGZyb20gJy4vY29tcG9uZW50cy9kZXNrdG9wLWVkaXRvci12YWxpZGF0aW9uL2Rlc2t0b3AtZWRpdG9yLXZhbGlkYXRpb24uY29tcG9uZW50JztcclxuXHJcbkBJbmplY3RhYmxlKClcclxuZXhwb3J0IGNsYXNzIE1hdFBhZ2luYXRvckludGxDcm8gZXh0ZW5kcyBNYXRQYWdpbmF0b3JJbnRsIHtcclxuICBmaXJzdFBhZ2VMYWJlbCA9ICdUcmFuZyDEkeG6p3UnO1xyXG4gIGxhc3RQYWdlTGFiZWwgPSAnVHJhbmcgY3Xhu5FpJztcclxuICBpdGVtc1BlclBhZ2VMYWJlbCA9ICdLw61jaCB0aMaw4bubYyB0cmFuZyc7XHJcbiAgbmV4dFBhZ2VMYWJlbCA9ICdUcmFuZyBzYXUnO1xyXG4gIHByZXZpb3VzUGFnZUxhYmVsID0gJ1RyYW5nIHRyxrDhu5tjJztcclxuXHJcbiAgZ2V0UmFuZ2VMYWJlbCA9IChwYWdlOiBudW1iZXIsIHBhZ2VTaXplOiBudW1iZXIsIGxlbmd0aDogbnVtYmVyKSA9PiB7XHJcbiAgICBpZiAobGVuZ3RoID09PSAwIHx8IHBhZ2VTaXplID09PSAwKSB7XHJcbiAgICAgIHJldHVybiAnJztcclxuICAgIH1cclxuICAgIGNvbnN0IGZyb20gPSBwYWdlICogcGFnZVNpemUgKyAxO1xyXG4gICAgY29uc3QgdG8gPSBmcm9tICsgKGxlbmd0aCAtIHBhZ2UgKiBwYWdlU2l6ZSA+IHBhZ2VTaXplID8gcGFnZVNpemUgOiBsZW5ndGggLSBwYWdlICogcGFnZVNpemUpIC0gMTtcclxuICAgIHJldHVybiBgJHtmcm9tfS0ke3RvfSB0csOqbiAke2xlbmd0aH1gO1xyXG4gIH1cclxufVxyXG5cclxuQE5nTW9kdWxlKHtcclxuICBpbXBvcnRzOiBbXHJcbiAgICBDb21tb25Nb2R1bGUsXHJcbiAgICBGb3Jtc01vZHVsZSxcclxuICAgIFJlYWN0aXZlRm9ybXNNb2R1bGUsXHJcbiAgICBNYXRJbnB1dE1vZHVsZSxcclxuICAgIE1hdEZvcm1GaWVsZE1vZHVsZSxcclxuICAgIE1hdFNvcnRNb2R1bGUsXHJcbiAgICBNYXRQYWdpbmF0b3JNb2R1bGUsXHJcbiAgICBNYXRUYWJsZU1vZHVsZSxcclxuICAgIE1hdE1lbnVNb2R1bGUsXHJcbiAgICBNYXRJY29uTW9kdWxlLFxyXG4gICAgTWF0QnV0dG9uTW9kdWxlLFxyXG4gICAgTWF0VG9vbHRpcE1vZHVsZSxcclxuICAgIE1hdFByb2dyZXNzU3Bpbm5lck1vZHVsZSxcclxuICAgIE1hdENoaXBzTW9kdWxlLFxyXG4gICAgTWF0UmFkaW9Nb2R1bGUsXHJcbiAgICBNYXRTbGlkZVRvZ2dsZU1vZHVsZSxcclxuICAgIE1hdENoZWNrYm94TW9kdWxlLFxyXG4gICAgTWF0TGlzdE1vZHVsZSxcclxuICAgIE1hdERpdmlkZXJNb2R1bGUsXHJcbiAgICBDZGtUYWJsZU1vZHVsZSxcclxuICAgIERyYWdEcm9wTW9kdWxlLFxyXG4gICAgU2RGb3JtTW9kdWxlLFxyXG4gICAgU2RTZXJ2aWNlTW9kdWxlLFxyXG4gICAgTWF0U2xpZGVyTW9kdWxlLFxyXG4gICAgU2Nyb2xsaW5nTW9kdWxlXHJcbiAgXSxcclxuICBkZWNsYXJhdGlvbnM6IFtcclxuICAgIFNkRGVza3RvcENlbGwsXHJcbiAgICBTZERlc2t0b3BDZWxsRWRpdG9yLFxyXG4gICAgU2REZXNrdG9wRWRpdG9yVmFsaWRhdGlvbixcclxuICAgIFNkRGVza3RvcENlbGxWaWV3LFxyXG4gICAgU2REZXNrdG9wQ2VsbENoaWxkcmVuVmlldyxcclxuICAgIFNkRGVza3RvcENvbW1hbmQsXHJcbiAgICBTZEdyaWRNYXRlcmlhbCxcclxuXHJcbiAgICBTZExldERpcmVjdGl2ZSxcclxuICAgIFNkTWF0ZXJpYWxGb290ZXJEZWZEaXJlY3RpdmUsXHJcbiAgICBTZE1hdGVyaWFsQ2VsbERlZkRpcmVjdGl2ZSxcclxuICAgIFNkTWF0ZXJpYWxGaWx0ZXJEZWZEaXJlY3RpdmUsXHJcbiAgICBTZE1hdGVyaWFsU3ViSW5mb3JtYXRpb25EZWZEaXJlY3RpdmUsXHJcbiAgICBTZE1hdGVyaWFsRW1wdHlEYXRhRGVmRGlyZWN0aXZlLFxyXG4gICAgU2RQb3B1cEV4cG9ydCxcclxuICAgIFNkUG9wdXBHcmlkQ29uZmlndXJhdGlvbixcclxuICAgIFNkR3JpZEZpbHRlcixcclxuICAgIFNkUG9wdXBGaWx0ZXIsXHJcbiAgICBTZER5bmFtaWNDb2x1bW4sXHJcblxyXG4gICAgLy8gUGlwZXNcclxuICAgIFNkR3JpZENvbmZpZ3VyYXRpb25SZXN1bHRQaXBlLFxyXG4gICAgU2RDb2x1bW5DaGlsZHJlbkZpbHRlclBpcGUsXHJcbiAgICBTZENvbHVtblRpdGxlUGlwZSxcclxuICAgIFNkQ29tbWFuZEZpbHRlclBpcGUsXHJcbiAgICBTZENvbW1hbmREaXNhYmxlUGlwZSxcclxuICAgIFNkQ29tbWFuZEljb25QaXBlLFxyXG4gICAgU2RDb21tYW5kVGl0bGVQaXBlLFxyXG4gICAgU2RDb2x1bW5WYWx1ZXNQaXBlLFxyXG4gICAgU2RDb2x1bW5IdG1sVGVtcGxhdGVQaXBlLFxyXG4gICAgU2RDb2x1bW5UcmFuc2Zvcm1QaXBlLFxyXG4gICAgU2RDb2x1bW5Ub29sdGlwUGlwZSxcclxuICAgIFNkQ29sdW1uQmFkZ2VQaXBlLFxyXG4gICAgU2RGaWx0ZXJDb2x1bW5QaXBlLFxyXG4gICAgU2RGaWx0ZXJFeHRlcm5hbFBpcGUsXHJcbiAgICBTZFNlbGVjdGlvbkFjdGlvbkZpbHRlclBpcGUsXHJcbiAgICBTZFNlbGVjdGlvbkRpc2FibGVQaXBlLFxyXG4gICAgU2RTZWxlY3Rpb25EaXNhYmxlU2VsZWN0QWxsUGlwZSxcclxuICAgIFNkRWRpdG9ySGFuZGxlclJvd1BpcGUsXHJcbiAgICBTZEVkaXRvckhhbmRsZXJDb2x1bW5QaXBlLFxyXG4gICAgU2RFZGl0b3JWYWxpZGF0ZVBpcGUsXHJcbiAgICBTZFN0eWxlUm93Q3NzXHJcbiAgXSxcclxuICBleHBvcnRzOiBbXHJcbiAgICBTZEdyaWRNYXRlcmlhbCxcclxuICAgIFNkTWF0ZXJpYWxGb290ZXJEZWZEaXJlY3RpdmUsXHJcbiAgICBTZE1hdGVyaWFsQ2VsbERlZkRpcmVjdGl2ZSxcclxuICAgIFNkTWF0ZXJpYWxGaWx0ZXJEZWZEaXJlY3RpdmUsXHJcbiAgICBTZE1hdGVyaWFsRW1wdHlEYXRhRGVmRGlyZWN0aXZlLFxyXG4gICAgU2RNYXRlcmlhbFN1YkluZm9ybWF0aW9uRGVmRGlyZWN0aXZlXHJcbiAgXSxcclxuICBwcm92aWRlcnM6IFtcclxuICAgIERhdGVQaXBlLFxyXG4gICAgRGVjaW1hbFBpcGUsXHJcbiAgICBDZGtDb2x1bW5EZWYsXHJcbiAgICBTZEdyaWRTZXJ2aWNlLFxyXG4gICAgU2RHcmlkRmlsdGVyU2VydmljZSxcclxuICAgIFNkR3JpZENvbmZpZ3VyYXRpb25TZXJ2aWNlLFxyXG4gICAgU2RHZW5lcmF0ZWRDb2x1bW5TZXJ2aWNlLFxyXG4gICAge1xyXG4gICAgICBwcm92aWRlOiBNYXRQYWdpbmF0b3JJbnRsLCB1c2VDbGFzczogTWF0UGFnaW5hdG9ySW50bENyb1xyXG4gICAgfVxyXG4gIF1cclxufSlcclxuZXhwb3J0IGNsYXNzIFNkR3JpZE1hdGVyaWFsTW9kdWxlIHtcclxufVxyXG4iXX0=
@@ -1,2 +1,2 @@
1
1
  export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3JpZC1vcHRpb24ubW9kZWwuanMiLCJzb3VyY2VSb290IjoiQzovVXNlcnMvbmdoaWF0dDE1L0Rlc2t0b3AvV29ya2luZy8xTUcvbGliLWNvcmUtdWkvcHJvamVjdHMvc2QtY29yZS9ncmlkLW1hdGVyaWFsLyIsInNvdXJjZXMiOlsic3JjL2xpYi9tb2RlbHMvZ3JpZC1vcHRpb24ubW9kZWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFNkR3JpZE1hdGVyaWFsQ29sdW1uIH0gZnJvbSAnLi9ncmlkLWNvbHVtbi5tb2RlbCc7XHJcbmltcG9ydCB7IFNkR3JpZE1hdGVyaWFsQ29tbWFuZCB9IGZyb20gJy4vZ3JpZC1jb21tYW5kLm1vZGVsJztcclxuaW1wb3J0IHsgU2RHcmlkTWF0ZXJpYWxGaWx0ZXJSZXF1ZXN0LCBTZEdyaWRNYXRlcmlhbEZpbHRlck9wdGlvbiB9IGZyb20gJy4vZ3JpZC1maWx0ZXIubW9kZWwnO1xyXG5pbXBvcnQgeyBTZEdyaWRNYXRlcmlhbEV4cG9ydE9wdGlvbiB9IGZyb20gJy4vZ3JpZC1leHBvcnQubW9kZWwnO1xyXG5pbXBvcnQgeyBTZEdyaWRNYXRlcmlhbFJlbG9hZE9wdGlvbiB9IGZyb20gJy4vZ3JpZC1yZWxvYWQubW9kZWwnO1xyXG5pbXBvcnQgeyBTZEdyaWRNYXRlcmlhbENvbmZpZ09wdGlvbiB9IGZyb20gJy4vZ3JpZC1jb25maWcubW9kZWwnO1xyXG5pbXBvcnQgeyBTZEdyaWRNYXRlcmlhbFN1YkluZm9ybWF0aW9uIH0gZnJvbSAnLi9ncmlkLXN1Yi1pbmZvcm1hdGlvbi5tb2RlbCc7XHJcbmltcG9ydCB7IFNkR3JpZE1hdGVyaWFsU2VsZWN0aW9uIH0gZnJvbSAnLi9ncmlkLXNlbGVjdGlvbi5tb2RlbCc7XHJcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgU2RFZGl0b3IgfSBmcm9tICcuL2dyaWQtZWRpdG9yLm1vZGVsJztcclxuXHJcbmV4cG9ydCB0eXBlIFNkR3JpZE1hdGVyaWFsT3B0aW9uPFQgPSBhbnk+ID0gU2RHcmlkTWF0ZXJpYWxMb2NhbE9wdGlvbjxUPiB8IFNkR3JpZE1hdGVyaWFsU2VydmVyT3B0aW9uPFQ+O1xyXG5cclxuaW50ZXJmYWNlIFNkR3JpZE1hdGVyaWFsQmFzZU9wdGlvbjxUID0gYW55PiB7XHJcbiAgc2hhZG93PzogYm9vbGVhbjtcclxuICBtYXhIZWlnaHQ/OiBzdHJpbmc7XHJcbiAgbWluSGVpZ2h0Pzogc3RyaW5nO1xyXG4gIGtleT86IHN0cmluZztcclxuICBzZWxlY3Rpb24/OiBTZEdyaWRNYXRlcmlhbFNlbGVjdGlvbjxUPjtcclxuICBzb3J0YWJsZT86IGJvb2xlYW47XHJcbiAgZHJvcERyYWdDb2x1bW5FbmFibGU/OiBib29sZWFuO1xyXG4gIHBhZ2luYXRlPzoge1xyXG4gICAgcGFnZVNpemU/OiBudW1iZXI7XHJcbiAgICBwYWdlcz86IG51bWJlcltdO1xyXG4gICAgc2hvd0ZpcnN0TGFzdEJ1dHRvbnM/OiBib29sZWFuO1xyXG4gICAgaGlkZGVuPzogYm9vbGVhbjtcclxuICB9O1xyXG4gIGVkaXRvcj86IFNkRWRpdG9yPFQ+O1xyXG4gIHJlbG9hZD86IFNkR3JpZE1hdGVyaWFsUmVsb2FkT3B0aW9uPFQ+O1xyXG4gIGV4cG9ydD86IFNkR3JpZE1hdGVyaWFsRXhwb3J0T3B0aW9uPFQ+O1xyXG4gIGNvbmZpZz86IFNkR3JpZE1hdGVyaWFsQ29uZmlnT3B0aW9uPFQ+O1xyXG4gIGZpbHRlcj86IFNkR3JpZE1hdGVyaWFsRmlsdGVyT3B0aW9uO1xyXG4gIGNvbW1hbmRzPzogU2RHcmlkTWF0ZXJpYWxDb21tYW5kPFQ+W107XHJcbiAgY29sdW1uczogU2RHcmlkTWF0ZXJpYWxDb2x1bW48VD5bXTtcclxuICBzdWJJbmZvcm1hdGlvbj86IFNkR3JpZE1hdGVyaWFsU3ViSW5mb3JtYXRpb248VD47XHJcbiAgc3R5bGU/OiB7XHJcbiAgICBncmlkPzogJ3N0eWxlMScgfCAnc3R5bGUyJztcclxuICB9O1xyXG59XHJcblxyXG5pbnRlcmZhY2UgU2RHcmlkTWF0ZXJpYWxMb2NhbE9wdGlvbjxUID0gYW55PiBleHRlbmRzIFNkR3JpZE1hdGVyaWFsQmFzZU9wdGlvbjxUPiB7XHJcbiAgdHlwZTogJ2xvY2FsJztcclxuICBpdGVtczogKCgpID0+IFRbXSB8IFByb21pc2U8VFtdPik7XHJcbn1cclxuXHJcbmludGVyZmFjZSBTZEdyaWRNYXRlcmlhbFNlcnZlck9wdGlvbjxUID0gYW55PiBleHRlbmRzIFNkR3JpZE1hdGVyaWFsQmFzZU9wdGlvbjxUPiB7XHJcbiAgdHlwZTogJ3NlcnZlcic7XHJcbiAgaXRlbXM6IChmaWx0ZXJSZXF1ZXN0OiBTZEdyaWRNYXRlcmlhbEZpbHRlclJlcXVlc3QpID0+IFByb21pc2U8eyBpdGVtczogVFtdLCB0b3RhbDogbnVtYmVyIH0+IHwgT2JzZXJ2YWJsZTx7IGl0ZW1zOiBUW10sIHRvdGFsOiBudW1iZXIgfT47XHJcbn1cclxuIl19
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3JpZC1vcHRpb24ubW9kZWwuanMiLCJzb3VyY2VSb290IjoiQzovVXNlcnMvbmdoaWF0dDE1L0Rlc2t0b3AvV29ya2luZy8xTUcvbGliLWNvcmUtdWkvcHJvamVjdHMvc2QtY29yZS9ncmlkLW1hdGVyaWFsLyIsInNvdXJjZXMiOlsic3JjL2xpYi9tb2RlbHMvZ3JpZC1vcHRpb24ubW9kZWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFNkR3JpZE1hdGVyaWFsQ29sdW1uIH0gZnJvbSAnLi9ncmlkLWNvbHVtbi5tb2RlbCc7XHJcbmltcG9ydCB7IFNkR3JpZE1hdGVyaWFsQ29tbWFuZCB9IGZyb20gJy4vZ3JpZC1jb21tYW5kLm1vZGVsJztcclxuaW1wb3J0IHsgU2RHcmlkTWF0ZXJpYWxGaWx0ZXJSZXF1ZXN0LCBTZEdyaWRNYXRlcmlhbEZpbHRlck9wdGlvbiB9IGZyb20gJy4vZ3JpZC1maWx0ZXIubW9kZWwnO1xyXG5pbXBvcnQgeyBTZEdyaWRNYXRlcmlhbEV4cG9ydE9wdGlvbiB9IGZyb20gJy4vZ3JpZC1leHBvcnQubW9kZWwnO1xyXG5pbXBvcnQgeyBTZEdyaWRNYXRlcmlhbFJlbG9hZE9wdGlvbiB9IGZyb20gJy4vZ3JpZC1yZWxvYWQubW9kZWwnO1xyXG5pbXBvcnQgeyBTZEdyaWRNYXRlcmlhbENvbmZpZ09wdGlvbiB9IGZyb20gJy4vZ3JpZC1jb25maWcubW9kZWwnO1xyXG5pbXBvcnQgeyBTZEdyaWRNYXRlcmlhbFN1YkluZm9ybWF0aW9uIH0gZnJvbSAnLi9ncmlkLXN1Yi1pbmZvcm1hdGlvbi5tb2RlbCc7XHJcbmltcG9ydCB7IFNkR3JpZE1hdGVyaWFsU2VsZWN0aW9uIH0gZnJvbSAnLi9ncmlkLXNlbGVjdGlvbi5tb2RlbCc7XHJcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgU2RFZGl0b3IgfSBmcm9tICcuL2dyaWQtZWRpdG9yLm1vZGVsJztcclxuaW1wb3J0IHsgU2RHcmlkTWF0ZXJpYWxTdHlsZSB9IGZyb20gJy4vZ3JpZC1zdHlsZS5tb2RlbCc7XHJcblxyXG5leHBvcnQgdHlwZSBTZEdyaWRNYXRlcmlhbE9wdGlvbjxUID0gYW55PiA9IFNkR3JpZE1hdGVyaWFsTG9jYWxPcHRpb248VD4gfCBTZEdyaWRNYXRlcmlhbFNlcnZlck9wdGlvbjxUPjtcclxuXHJcbmludGVyZmFjZSBTZEdyaWRNYXRlcmlhbEJhc2VPcHRpb248VCA9IGFueT4ge1xyXG4gIHNoYWRvdz86IGJvb2xlYW47XHJcbiAgbWF4SGVpZ2h0Pzogc3RyaW5nO1xyXG4gIG1pbkhlaWdodD86IHN0cmluZztcclxuICBrZXk/OiBzdHJpbmc7XHJcbiAgc2VsZWN0aW9uPzogU2RHcmlkTWF0ZXJpYWxTZWxlY3Rpb248VD47XHJcbiAgc29ydGFibGU/OiBib29sZWFuO1xyXG4gIGRyb3BEcmFnQ29sdW1uRW5hYmxlPzogYm9vbGVhbjtcclxuICBwYWdpbmF0ZT86IHtcclxuICAgIHBhZ2VTaXplPzogbnVtYmVyO1xyXG4gICAgcGFnZXM/OiBudW1iZXJbXTtcclxuICAgIHNob3dGaXJzdExhc3RCdXR0b25zPzogYm9vbGVhbjtcclxuICAgIGhpZGRlbj86IGJvb2xlYW47XHJcbiAgfTtcclxuICBlZGl0b3I/OiBTZEVkaXRvcjxUPjtcclxuICByZWxvYWQ/OiBTZEdyaWRNYXRlcmlhbFJlbG9hZE9wdGlvbjxUPjtcclxuICBleHBvcnQ/OiBTZEdyaWRNYXRlcmlhbEV4cG9ydE9wdGlvbjxUPjtcclxuICBjb25maWc/OiBTZEdyaWRNYXRlcmlhbENvbmZpZ09wdGlvbjxUPjtcclxuICBmaWx0ZXI/OiBTZEdyaWRNYXRlcmlhbEZpbHRlck9wdGlvbjtcclxuICBjb21tYW5kcz86IFNkR3JpZE1hdGVyaWFsQ29tbWFuZDxUPltdO1xyXG4gIGNvbHVtbnM6IFNkR3JpZE1hdGVyaWFsQ29sdW1uPFQ+W107XHJcbiAgc3ViSW5mb3JtYXRpb24/OiBTZEdyaWRNYXRlcmlhbFN1YkluZm9ybWF0aW9uPFQ+O1xyXG4gIHN0eWxlPzogU2RHcmlkTWF0ZXJpYWxTdHlsZTxUPjtcclxufVxyXG5cclxuaW50ZXJmYWNlIFNkR3JpZE1hdGVyaWFsTG9jYWxPcHRpb248VCA9IGFueT4gZXh0ZW5kcyBTZEdyaWRNYXRlcmlhbEJhc2VPcHRpb248VD4ge1xyXG4gIHR5cGU6ICdsb2NhbCc7XHJcbiAgaXRlbXM6ICgoKSA9PiBUW10gfCBQcm9taXNlPFRbXT4pO1xyXG59XHJcblxyXG5pbnRlcmZhY2UgU2RHcmlkTWF0ZXJpYWxTZXJ2ZXJPcHRpb248VCA9IGFueT4gZXh0ZW5kcyBTZEdyaWRNYXRlcmlhbEJhc2VPcHRpb248VD4ge1xyXG4gIHR5cGU6ICdzZXJ2ZXInO1xyXG4gIGl0ZW1zOiAoZmlsdGVyUmVxdWVzdDogU2RHcmlkTWF0ZXJpYWxGaWx0ZXJSZXF1ZXN0KSA9PiBQcm9taXNlPHsgaXRlbXM6IFRbXSwgdG90YWw6IG51bWJlciB9PiB8IE9ic2VydmFibGU8eyBpdGVtczogVFtdLCB0b3RhbDogbnVtYmVyIH0+O1xyXG59XHJcbiJdfQ==
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3JpZC1zdHlsZS5tb2RlbC5qcyIsInNvdXJjZVJvb3QiOiJDOi9Vc2Vycy9uZ2hpYXR0MTUvRGVza3RvcC9Xb3JraW5nLzFNRy9saWItY29yZS11aS9wcm9qZWN0cy9zZC1jb3JlL2dyaWQtbWF0ZXJpYWwvIiwic291cmNlcyI6WyJzcmMvbGliL21vZGVscy9ncmlkLXN0eWxlLm1vZGVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgaW50ZXJmYWNlIFNkR3JpZE1hdGVyaWFsU3R5bGU8VCA9IGFueT4ge1xyXG4gIGdyaWQ/OiAnc3R5bGUxJyB8ICdzdHlsZTInO1xyXG4gIHJvd0Nzcz86IChyb3dEYXRhOiBUKSA9PiB7IFtrZXk6IHN0cmluZ106IHN0cmluZyB9O1xyXG59Il19
@@ -4,32 +4,29 @@ export class SdEditorValidatePipe {
4
4
  constructor() {
5
5
  this.delay = 1000; // Sau khoảng thời gian delay nếu không có thay đổi thì thì mới bắt đầu thực hiện validate
6
6
  }
7
- transform(value, item, column, gridOption) {
8
- var _a;
7
+ transform(sdId, item, gridOption) {
9
8
  return __awaiter(this, void 0, void 0, function* () {
10
9
  const { editor } = gridOption;
11
- if (!((_a = item.editorHandlerRow) === null || _a === void 0 ? void 0 : _a.visible)) {
12
- return true;
13
- }
10
+ item.editorHandlerRow = item.editorHandlerRow || {};
14
11
  if (!editor.validate) {
15
12
  item.editorHandlerRow.errorMessage = null;
16
- return true;
13
+ return;
17
14
  }
18
15
  this.previous = new Date();
19
16
  yield new Promise(resolve => setTimeout(resolve, this.delay));
20
17
  const now = new Date();
21
18
  const dif = now.getTime() - this.previous.getTime();
22
19
  if (dif < this.delay) {
23
- return true;
20
+ return;
24
21
  }
25
22
  const result = editor.validate(item);
26
23
  if (result instanceof Promise) {
27
24
  item.editorHandlerRow.errorMessage = yield result;
28
- return true;
25
+ return;
29
26
  }
30
27
  else {
31
28
  item.editorHandlerRow.errorMessage = result;
32
- return true;
29
+ return;
33
30
  }
34
31
  });
35
32
  }
@@ -39,4 +36,4 @@ SdEditorValidatePipe.decorators = [
39
36
  name: 'sdEditorValidate'
40
37
  },] }
41
38
  ];
42
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWRpdG9yLXZhbGlkYXRlLnBpcGUuanMiLCJzb3VyY2VSb290IjoiQzovVXNlcnMvbmdoaWF0dDE1L0Rlc2t0b3AvV29ya2luZy8xTUcvbGliLWNvcmUtdWkvcHJvamVjdHMvc2QtY29yZS9ncmlkLW1hdGVyaWFsLyIsInNvdXJjZXMiOlsic3JjL2xpYi9waXBlcy9lZGl0b3ItdmFsaWRhdGUucGlwZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLElBQUksRUFBaUIsTUFBTSxlQUFlLENBQUM7QUFPcEQsTUFBTSxPQUFPLG9CQUFvQjtJQUhqQztRQUtVLFVBQUssR0FBRyxJQUFJLENBQUMsQ0FBQywwRkFBMEY7SUEwQmxILENBQUM7SUF6Qk8sU0FBUyxDQUFDLEtBQWEsRUFBRSxJQUFZLEVBQUUsTUFBNEIsRUFBRSxVQUFnQzs7O1lBQ3pHLE1BQU0sRUFBRSxNQUFNLEVBQUUsR0FBRyxVQUFVLENBQUM7WUFDOUIsSUFBSSxRQUFDLElBQUksQ0FBQyxnQkFBZ0IsMENBQUUsT0FBTyxDQUFBLEVBQUU7Z0JBQ25DLE9BQU8sSUFBSSxDQUFDO2FBQ2I7WUFDRCxJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsRUFBRTtnQkFDcEIsSUFBSSxDQUFDLGdCQUFnQixDQUFDLFlBQVksR0FBRyxJQUFJLENBQUM7Z0JBQzFDLE9BQU8sSUFBSSxDQUFDO2FBQ2I7WUFDRCxJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksSUFBSSxFQUFFLENBQUM7WUFDM0IsTUFBTSxJQUFJLE9BQU8sQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLFVBQVUsQ0FBQyxPQUFPLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7WUFDOUQsTUFBTSxHQUFHLEdBQUcsSUFBSSxJQUFJLEVBQUUsQ0FBQztZQUN2QixNQUFNLEdBQUcsR0FBRyxHQUFHLENBQUMsT0FBTyxFQUFFLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxPQUFPLEVBQUUsQ0FBQztZQUNwRCxJQUFJLEdBQUcsR0FBRyxJQUFJLENBQUMsS0FBSyxFQUFFO2dCQUNwQixPQUFPLElBQUksQ0FBQzthQUNiO1lBQ0QsTUFBTSxNQUFNLEdBQUcsTUFBTSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUNyQyxJQUFJLE1BQU0sWUFBWSxPQUFPLEVBQUU7Z0JBQzdCLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxZQUFZLEdBQUcsTUFBTSxNQUFNLENBQUM7Z0JBQ2xELE9BQU8sSUFBSSxDQUFDO2FBQ2I7aUJBQU07Z0JBQ0wsSUFBSSxDQUFDLGdCQUFnQixDQUFDLFlBQVksR0FBRyxNQUFNLENBQUM7Z0JBQzVDLE9BQU8sSUFBSSxDQUFDO2FBQ2I7O0tBQ0Y7OztZQTlCRixJQUFJLFNBQUM7Z0JBQ0osSUFBSSxFQUFFLGtCQUFrQjthQUN6QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFBpcGUsIFBpcGVUcmFuc2Zvcm0gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgU2RHcmlkTWF0ZXJpYWxDb2x1bW4gfSBmcm9tICcuLi9tb2RlbHMvZ3JpZC1jb2x1bW4ubW9kZWwnO1xyXG5pbXBvcnQgeyBTZEdyaWRNYXRlcmlhbE9wdGlvbiB9IGZyb20gJy4uL21vZGVscy9ncmlkLW9wdGlvbi5tb2RlbCc7XHJcbmltcG9ydCB7IFNkSXRlbSB9IGZyb20gJy4uL21vZGVscy9ncmlkLm1vZGVsJztcclxuQFBpcGUoe1xyXG4gIG5hbWU6ICdzZEVkaXRvclZhbGlkYXRlJ1xyXG59KVxyXG5leHBvcnQgY2xhc3MgU2RFZGl0b3JWYWxpZGF0ZVBpcGUgaW1wbGVtZW50cyBQaXBlVHJhbnNmb3JtIHtcclxuICBwcml2YXRlIHByZXZpb3VzOiBEYXRlO1xyXG4gIHByaXZhdGUgZGVsYXkgPSAxMDAwOyAvLyBTYXUga2hv4bqjbmcgdGjhu51pIGdpYW4gZGVsYXkgbuG6v3Uga2jDtG5nIGPDsyB0aGF5IMSR4buVaSB0aMOsIHRow6wgbeG7m2kgYuG6r3QgxJHhuqd1IHRo4buxYyBoaeG7h24gdmFsaWRhdGVcclxuICBhc3luYyB0cmFuc2Zvcm0odmFsdWU6IHN0cmluZywgaXRlbTogU2RJdGVtLCBjb2x1bW46IFNkR3JpZE1hdGVyaWFsQ29sdW1uLCBncmlkT3B0aW9uOiBTZEdyaWRNYXRlcmlhbE9wdGlvbik6IFByb21pc2U8Ym9vbGVhbj4ge1xyXG4gICAgY29uc3QgeyBlZGl0b3IgfSA9IGdyaWRPcHRpb247XHJcbiAgICBpZiAoIWl0ZW0uZWRpdG9ySGFuZGxlclJvdz8udmlzaWJsZSkge1xyXG4gICAgICByZXR1cm4gdHJ1ZTtcclxuICAgIH1cclxuICAgIGlmICghZWRpdG9yLnZhbGlkYXRlKSB7XHJcbiAgICAgIGl0ZW0uZWRpdG9ySGFuZGxlclJvdy5lcnJvck1lc3NhZ2UgPSBudWxsO1xyXG4gICAgICByZXR1cm4gdHJ1ZTtcclxuICAgIH1cclxuICAgIHRoaXMucHJldmlvdXMgPSBuZXcgRGF0ZSgpO1xyXG4gICAgYXdhaXQgbmV3IFByb21pc2UocmVzb2x2ZSA9PiBzZXRUaW1lb3V0KHJlc29sdmUsIHRoaXMuZGVsYXkpKTtcclxuICAgIGNvbnN0IG5vdyA9IG5ldyBEYXRlKCk7XHJcbiAgICBjb25zdCBkaWYgPSBub3cuZ2V0VGltZSgpIC0gdGhpcy5wcmV2aW91cy5nZXRUaW1lKCk7XHJcbiAgICBpZiAoZGlmIDwgdGhpcy5kZWxheSkge1xyXG4gICAgICByZXR1cm4gdHJ1ZTtcclxuICAgIH1cclxuICAgIGNvbnN0IHJlc3VsdCA9IGVkaXRvci52YWxpZGF0ZShpdGVtKTtcclxuICAgIGlmIChyZXN1bHQgaW5zdGFuY2VvZiBQcm9taXNlKSB7XHJcbiAgICAgIGl0ZW0uZWRpdG9ySGFuZGxlclJvdy5lcnJvck1lc3NhZ2UgPSBhd2FpdCByZXN1bHQ7XHJcbiAgICAgIHJldHVybiB0cnVlO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgaXRlbS5lZGl0b3JIYW5kbGVyUm93LmVycm9yTWVzc2FnZSA9IHJlc3VsdDtcclxuICAgICAgcmV0dXJuIHRydWU7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiJdfQ==
39
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWRpdG9yLXZhbGlkYXRlLnBpcGUuanMiLCJzb3VyY2VSb290IjoiQzovVXNlcnMvbmdoaWF0dDE1L0Rlc2t0b3AvV29ya2luZy8xTUcvbGliLWNvcmUtdWkvcHJvamVjdHMvc2QtY29yZS9ncmlkLW1hdGVyaWFsLyIsInNvdXJjZXMiOlsic3JjL2xpYi9waXBlcy9lZGl0b3ItdmFsaWRhdGUucGlwZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLElBQUksRUFBaUIsTUFBTSxlQUFlLENBQUM7QUFPcEQsTUFBTSxPQUFPLG9CQUFvQjtJQUhqQztRQUtVLFVBQUssR0FBRyxJQUFJLENBQUMsQ0FBQywwRkFBMEY7SUF3QmxILENBQUM7SUF2Qk8sU0FBUyxDQUFDLElBQVksRUFBRSxJQUFZLEVBQUUsVUFBZ0M7O1lBQzFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsR0FBRyxVQUFVLENBQUM7WUFDOUIsSUFBSSxDQUFDLGdCQUFnQixHQUFHLElBQUksQ0FBQyxnQkFBZ0IsSUFBSSxFQUFFLENBQUM7WUFDcEQsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLEVBQUU7Z0JBQ3BCLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDO2dCQUMxQyxPQUFPO2FBQ1I7WUFDRCxJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksSUFBSSxFQUFFLENBQUM7WUFDM0IsTUFBTSxJQUFJLE9BQU8sQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLFVBQVUsQ0FBQyxPQUFPLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7WUFDOUQsTUFBTSxHQUFHLEdBQUcsSUFBSSxJQUFJLEVBQUUsQ0FBQztZQUN2QixNQUFNLEdBQUcsR0FBRyxHQUFHLENBQUMsT0FBTyxFQUFFLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxPQUFPLEVBQUUsQ0FBQztZQUNwRCxJQUFJLEdBQUcsR0FBRyxJQUFJLENBQUMsS0FBSyxFQUFFO2dCQUNwQixPQUFPO2FBQ1I7WUFDRCxNQUFNLE1BQU0sR0FBRyxNQUFNLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQ3JDLElBQUksTUFBTSxZQUFZLE9BQU8sRUFBRTtnQkFDN0IsSUFBSSxDQUFDLGdCQUFnQixDQUFDLFlBQVksR0FBRyxNQUFNLE1BQU0sQ0FBQztnQkFDbEQsT0FBTzthQUNSO2lCQUFNO2dCQUNMLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxZQUFZLEdBQUcsTUFBTSxDQUFDO2dCQUM1QyxPQUFPO2FBQ1I7UUFDSCxDQUFDO0tBQUE7OztZQTVCRixJQUFJLFNBQUM7Z0JBQ0osSUFBSSxFQUFFLGtCQUFrQjthQUN6QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFBpcGUsIFBpcGVUcmFuc2Zvcm0gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgU2RHcmlkTWF0ZXJpYWxDb2x1bW4gfSBmcm9tICcuLi9tb2RlbHMvZ3JpZC1jb2x1bW4ubW9kZWwnO1xyXG5pbXBvcnQgeyBTZEdyaWRNYXRlcmlhbE9wdGlvbiB9IGZyb20gJy4uL21vZGVscy9ncmlkLW9wdGlvbi5tb2RlbCc7XHJcbmltcG9ydCB7IFNkSXRlbSB9IGZyb20gJy4uL21vZGVscy9ncmlkLm1vZGVsJztcclxuQFBpcGUoe1xyXG4gIG5hbWU6ICdzZEVkaXRvclZhbGlkYXRlJ1xyXG59KVxyXG5leHBvcnQgY2xhc3MgU2RFZGl0b3JWYWxpZGF0ZVBpcGUgaW1wbGVtZW50cyBQaXBlVHJhbnNmb3JtIHtcclxuICBwcml2YXRlIHByZXZpb3VzOiBEYXRlO1xyXG4gIHByaXZhdGUgZGVsYXkgPSAxMDAwOyAvLyBTYXUga2hv4bqjbmcgdGjhu51pIGdpYW4gZGVsYXkgbuG6v3Uga2jDtG5nIGPDsyB0aGF5IMSR4buVaSB0aMOsIHRow6wgbeG7m2kgYuG6r3QgxJHhuqd1IHRo4buxYyBoaeG7h24gdmFsaWRhdGVcclxuICBhc3luYyB0cmFuc2Zvcm0oc2RJZDogc3RyaW5nLCBpdGVtOiBTZEl0ZW0sIGdyaWRPcHRpb246IFNkR3JpZE1hdGVyaWFsT3B0aW9uKTogUHJvbWlzZTxzdHJpbmc+IHtcclxuICAgIGNvbnN0IHsgZWRpdG9yIH0gPSBncmlkT3B0aW9uO1xyXG4gICAgaXRlbS5lZGl0b3JIYW5kbGVyUm93ID0gaXRlbS5lZGl0b3JIYW5kbGVyUm93IHx8IHt9O1xyXG4gICAgaWYgKCFlZGl0b3IudmFsaWRhdGUpIHtcclxuICAgICAgaXRlbS5lZGl0b3JIYW5kbGVyUm93LmVycm9yTWVzc2FnZSA9IG51bGw7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuICAgIHRoaXMucHJldmlvdXMgPSBuZXcgRGF0ZSgpO1xyXG4gICAgYXdhaXQgbmV3IFByb21pc2UocmVzb2x2ZSA9PiBzZXRUaW1lb3V0KHJlc29sdmUsIHRoaXMuZGVsYXkpKTtcclxuICAgIGNvbnN0IG5vdyA9IG5ldyBEYXRlKCk7XHJcbiAgICBjb25zdCBkaWYgPSBub3cuZ2V0VGltZSgpIC0gdGhpcy5wcmV2aW91cy5nZXRUaW1lKCk7XHJcbiAgICBpZiAoZGlmIDwgdGhpcy5kZWxheSkge1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcbiAgICBjb25zdCByZXN1bHQgPSBlZGl0b3IudmFsaWRhdGUoaXRlbSk7XHJcbiAgICBpZiAocmVzdWx0IGluc3RhbmNlb2YgUHJvbWlzZSkge1xyXG4gICAgICBpdGVtLmVkaXRvckhhbmRsZXJSb3cuZXJyb3JNZXNzYWdlID0gYXdhaXQgcmVzdWx0O1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICBpdGVtLmVkaXRvckhhbmRsZXJSb3cuZXJyb3JNZXNzYWdlID0gcmVzdWx0O1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiJdfQ==
@@ -0,0 +1,13 @@
1
+ import { Pipe } from '@angular/core';
2
+ export class SdStyleRowCss {
3
+ transform(item, gridOption) {
4
+ var _a, _b;
5
+ return ((_b = (_a = gridOption === null || gridOption === void 0 ? void 0 : gridOption.style) === null || _a === void 0 ? void 0 : _a.rowCss) === null || _b === void 0 ? void 0 : _b.call(_a, item)) || {};
6
+ }
7
+ }
8
+ SdStyleRowCss.decorators = [
9
+ { type: Pipe, args: [{
10
+ name: 'sdStyleRowCss'
11
+ },] }
12
+ ];
13
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3R5bGUtcm93LWNzcy5waXBlLmpzIiwic291cmNlUm9vdCI6IkM6L1VzZXJzL25naGlhdHQxNS9EZXNrdG9wL1dvcmtpbmcvMU1HL2xpYi1jb3JlLXVpL3Byb2plY3RzL3NkLWNvcmUvZ3JpZC1tYXRlcmlhbC8iLCJzb3VyY2VzIjpbInNyYy9saWIvcGlwZXMvc3R5bGUtcm93LWNzcy5waXBlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxJQUFJLEVBQWlCLE1BQU0sZUFBZSxDQUFDO0FBS3BELE1BQU0sT0FBTyxhQUFhO0lBQ3hCLFNBQVMsQ0FBQyxJQUFTLEVBQUUsVUFBZ0M7O1FBQ25ELE9BQU8sYUFBQSxVQUFVLGFBQVYsVUFBVSx1QkFBVixVQUFVLENBQUUsS0FBSywwQ0FBRSxNQUFNLG1EQUFHLElBQUksTUFBSyxFQUFFLENBQUM7SUFDakQsQ0FBQzs7O1lBTkYsSUFBSSxTQUFDO2dCQUNKLElBQUksRUFBRSxlQUFlO2FBQ3RCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUGlwZSwgUGlwZVRyYW5zZm9ybSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBTZEdyaWRNYXRlcmlhbE9wdGlvbiB9IGZyb20gJy4uL21vZGVscy9ncmlkLW9wdGlvbi5tb2RlbCc7XHJcbkBQaXBlKHtcclxuICBuYW1lOiAnc2RTdHlsZVJvd0NzcydcclxufSlcclxuZXhwb3J0IGNsYXNzIFNkU3R5bGVSb3dDc3MgaW1wbGVtZW50cyBQaXBlVHJhbnNmb3JtIHtcclxuICB0cmFuc2Zvcm0oaXRlbTogYW55LCBncmlkT3B0aW9uOiBTZEdyaWRNYXRlcmlhbE9wdGlvbikge1xyXG4gICAgcmV0dXJuIGdyaWRPcHRpb24/LnN0eWxlPy5yb3dDc3M/LihpdGVtKSB8fCB7fTtcclxuICB9XHJcbn1cclxuIl19
@@ -10,6 +10,7 @@ export class SdGridConfigurationService {
10
10
  this.settingService = settingService;
11
11
  this.gridMaterialConfiguration = gridMaterialConfiguration;
12
12
  _COLUMNS.set(this, {
13
+ EDITORVALIDATION: 'sdEditorValidation',
13
14
  EDITOR: 'sdEditor',
14
15
  SUBINFORMATION: 'sdSubInformationAction',
15
16
  COMMAND: 'sdCommand',
@@ -251,6 +252,10 @@ export class SdGridConfigurationService {
251
252
  multipleHeader: false
252
253
  };
253
254
  const { selection, commands, editor } = gridOption || {};
255
+ if ((editor === null || editor === void 0 ? void 0 : editor.addable) || ((editor === null || editor === void 0 ? void 0 : editor.type) === 'inline' && (editor === null || editor === void 0 ? void 0 : editor.removable)) || ((editor === null || editor === void 0 ? void 0 : editor.type) === 'focus' && (editor === null || editor === void 0 ? void 0 : editor.editable))) {
256
+ result.firstHeaders.push(__classPrivateFieldGet(this, _COLUMNS).EDITORVALIDATION);
257
+ result.displayedColumns.push(__classPrivateFieldGet(this, _COLUMNS).EDITORVALIDATION);
258
+ }
254
259
  if (selection === null || selection === void 0 ? void 0 : selection.visible) {
255
260
  result.firstHeaders.push(__classPrivateFieldGet(this, _COLUMNS).SELECTION);
256
261
  result.displayedColumns.push(__classPrivateFieldGet(this, _COLUMNS).SELECTION);
@@ -342,4 +347,4 @@ SdGridConfigurationService.ctorParameters = () => [
342
347
  { type: SdSettingService },
343
348
  { type: undefined, decorators: [{ type: Inject, args: [GRID_MATERIAL_CONFIG,] }, { type: Optional }] }
344
349
  ];
345
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3JpZC1jb25maWd1cmF0aW9uLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiQzovVXNlcnMvbmdoaWF0dDE1L0Rlc2t0b3AvV29ya2luZy8xTUcvbGliLWNvcmUtdWkvcHJvamVjdHMvc2QtY29yZS9ncmlkLW1hdGVyaWFsLyIsInNvdXJjZXMiOlsic3JjL2xpYi9zZXJ2aWNlcy9ncmlkLWNvbmZpZ3VyYXRpb24uc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM3RCxPQUFPLElBQUksTUFBTSxhQUFhLENBQUM7QUFDL0IsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFJNUQsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUUvQixPQUFPLEVBQUUsb0JBQW9CLEVBQWdDLE1BQU0sb0NBQW9DLENBQUM7QUFHeEcsTUFBTSxPQUFPLDBCQUEwQjtJQVVyQyxZQUNVLGNBQWdDLEVBQ1MseUJBQXVEO1FBRGhHLG1CQUFjLEdBQWQsY0FBYyxDQUFrQjtRQUNTLDhCQUF5QixHQUF6Qix5QkFBeUIsQ0FBOEI7UUFYMUcsbUJBQVc7WUFDVCxNQUFNLEVBQUUsVUFBVTtZQUNsQixjQUFjLEVBQUUsd0JBQXdCO1lBQ3hDLE9BQU8sRUFBRSxXQUFXO1lBQ3BCLFNBQVMsRUFBRSxhQUFhO1NBQ3pCLEVBQUM7UUFDRixpQkFFSSxFQUFFLEVBQUM7UUFNUCxTQUFJLEdBQUcsQ0FBQyxHQUFXLEVBQUUsVUFBZ0MsRUFBRSxFQUFFO1lBQ3ZELElBQUksQ0FBQyxxQ0FBWSxHQUFHLENBQUMsRUFBRTtnQkFDckIsTUFBTSxPQUFPLEdBQUcsSUFBSSxPQUFPLEVBQXVCLENBQUM7Z0JBQ25ELHFDQUFZLEdBQUcsQ0FBQyxHQUFHO29CQUNqQixJQUFJLEVBQUUseUNBQUEsSUFBSSxFQUFPLFVBQVUsRUFBRSxPQUFP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QVcsQ0FBQyxDQUFDOzRCQUN2QyxNQUFNLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDLENBQUM7NEJBQzdDLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQyxDQUFDO3dCQUNsRCxDQUFDLEVBQUU7cUJBQ0o7eUJBQU07d0JBQ0wsTUFBTSxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDO3FCQUNoRDtpQkFDRjtZQUNILENBQUMsRUFBRTtZQUNILElBQUksZ0JBQWdCLGFBQWhCLGdCQUFnQix1QkFBaEIsZ0JBQWdCLENBQUUsV0FBVyxFQUFFO2dCQUNqQyxNQUFNLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyx1Q0FBYyxjQUFjLENBQUMsQ0FBQztnQkFDdkQsTUFBTSxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyx1Q0FBYyxjQUFjLENBQUMsQ0FBQzthQUM1RDtZQUNELE1BQU0sQ0FBQyxjQUFjLEdBQUcsTUFBTSxDQUFDLGFBQWEsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDO1lBQ3hELHFDQUFxQztZQUNyQyxNQUFNLENBQUMsZ0JBQWdCLEdBQUcsTUFBTSxDQUFDLGdCQUFnQixDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsS0FBSyx1Q0FBYyxjQUFjLENBQUMsQ0FBQztZQUN0RyxPQUFPLE1BQU0sQ0FBQztRQUNoQixDQUFDLENBQUE7SUEvUkQsQ0FBQzs7OztZQWRGLFVBQVU7OztZQVJGLGdCQUFnQjs0Q0FxQnBCLE1BQU0sU0FBQyxvQkFBb0IsY0FBRyxRQUFRIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0LCBJbmplY3RhYmxlLCBPcHRpb25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgaGFzaCBmcm9tICdvYmplY3QtaGFzaCc7XHJcbmltcG9ydCB7IFNkU2V0dGluZ1NlcnZpY2UgfSBmcm9tICdAc2QtYW5ndWxhci9jb3JlL3NldHRpbmcnO1xyXG5pbXBvcnQgeyBTZEdyaWRNYXRlcmlhbE9wdGlvbiB9IGZyb20gJy4uL21vZGVscy9ncmlkLW9wdGlvbi5tb2RlbCc7XHJcbmltcG9ydCB7IFNkQ29sdW1uQ29uZmlndXJhdGlvbiwgU2RHcmlkQ29uZmlndXJhdGlvbiwgU2RHcmlkQ29uZmlndXJhdGlvbkNhY2hlLCBTZEdyaWRDb25maWd1cmF0aW9uUmVzdWx0IH0gZnJvbSAnLi4vbW9kZWxzL2dyaWQtY29uZmlnLm1vZGVsJztcclxuaW1wb3J0IHsgU2RNYXRlcmlhbFN1YkluZm9ybWF0aW9uRGVmRGlyZWN0aXZlIH0gZnJvbSAnLi4vZGlyZWN0aXZlcy9zZC1tYXRlcmlhbC1zdWItaW5mb3JtYXRpb24tZGVmLmRpcmVjdGl2ZSc7XHJcbmltcG9ydCB7IFN1YmplY3QgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgU2RHcmlkTWF0ZXJpYWxDb2x1bW4gfSBmcm9tICcuLi9tb2RlbHMvZ3JpZC1jb2x1bW4ubW9kZWwnO1xyXG5pbXBvcnQgeyBHUklEX01BVEVSSUFMX0NPTkZJRywgSVNkR3JpZE1hdGVyaWFsQ29uZmlndXJhdGlvbiB9IGZyb20gJy4uL21vZGVscy9ncmlkLWNvbmZpZ3VyYXRpb24ubW9kZWwnO1xyXG5cclxuQEluamVjdGFibGUoKVxyXG5leHBvcnQgY2xhc3MgU2RHcmlkQ29uZmlndXJhdGlvblNlcnZpY2Uge1xyXG4gICNDT0xVTU5TID0ge1xyXG4gICAgRURJVE9SOiAnc2RFZGl0b3InLFxyXG4gICAgU1VCSU5GT1JNQVRJT046ICdzZFN1YkluZm9ybWF0aW9uQWN0aW9uJyxcclxuICAgIENPTU1BTkQ6ICdzZENvbW1hbmQnLFxyXG4gICAgU0VMRUNUSU9OOiAnc2RTZWxlY3Rpb24nXHJcbiAgfTtcclxuICAjY2FjaGU6IHtcclxuICAgIFtrZXk6IHN0cmluZ106IFNkR3JpZENvbmZpZ3VyYXRpb25DYWNoZVxyXG4gIH0gPSB7fTtcclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgc2V0dGluZ1NlcnZpY2U6IFNkU2V0dGluZ1NlcnZpY2UsXHJcbiAgICBASW5qZWN0KEdSSURfTUFURVJJQUxfQ09ORklHKSBAT3B0aW9uYWwoKSBwdWJsaWMgZ3JpZE1hdGVyaWFsQ29uZmlndXJhdGlvbjogSVNkR3JpZE1hdGVyaWFsQ29uZmlndXJhdGlvbikge1xyXG4gIH1cclxuXHJcbiAgaW5pdCA9IChrZXk6IHN0cmluZywgZ3JpZE9wdGlvbjogU2RHcmlkTWF0ZXJpYWxPcHRpb24pID0+IHtcclxuICAgIGlmICghdGhpcy4jY2FjaGVba2V5XSkge1xyXG4gICAgICBjb25zdCBzdWJqZWN0ID0gbmV3IFN1YmplY3Q8U2RHcmlkQ29uZmlndXJhdGlvbj4oKTtcclxuICAgICAgdGhpcy4jY2FjaGVba2V5XSA9IHtcclxuICAgICAgICBsb2FkOiB0aGlzLiNsb2FkKGdyaWRPcHRpb24sIHN1YmplY3QpLFxyXG4gICAgICAgIGdldDogdGhpcy4jZ2V0KGdyaWRPcHRpb24pLFxyXG4gICAgICAgIHNldDogKGNvbmZpZ3VyYXRpb246IFNkR3JpZENvbmZpZ3VyYXRpb24pID0+IHtcclxuICAgICAgICAgIGNvbmZpZ3VyYXRpb24gPSB0aGlzLiNzZXQoZ3JpZE9wdGlvbiwgY29uZmlndXJhdGlvbik7XHJcbiAgICAgICAgICBzdWJqZWN0Lm5leHQoeyAuLi5jb25maWd1cmF0aW9uIH0pO1xyXG4gICAgICAgICAgcmV0dXJuIGNvbmZpZ3VyYXRpb247XHJcbiAgICAgICAgfSxcclxuICAgICAgICByZW1vdmU6ICgpID0+IHtcclxuICAgICAgICAgIHRoaXMuI3JlbW92ZShncmlkT3B0aW9uKSgpO1xyXG4gICAgICAgICAgc3ViamVjdC5uZXh0KHRoaXMuI2RlZmF1bHQoZ3JpZE9wdGlvbikpO1xyXG4gICAgICAgIH0sXHJcbiAgICAgICAgb2JzZXJ2ZXI6IHN1YmplY3RcclxuICAgICAgfTtcclxuICAgIH1cclxuICAgIHJldHVybiB0aGlzLiNjYWNoZVtrZXldO1xyXG4gIH1cclxuXHJcbiAgI2dldEtleSA9IChncmlkT3B0aW9uOiBTZEdyaWRNYXRlcmlhbE9wdGlvbikgPT4ge1xyXG4gICAgY29uc3QgcHJlZml4ID0gJ2M5ZTk0ODM2LTZhY2UtNGFlYi1iMTQ4LTRmMGJlNjM1ODllZSc7XHJcbiAgICBpZiAoIWdyaWRPcHRpb24/LmNvbmZpZz8ua2V5ICYmICFncmlkT3B0aW9uPy5rZXkpIHtcclxuICAgICAgcmV0dXJuIG51bGw7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gaGFzaCh7XHJcbiAgICAgIHByZWZpeCxcclxuICAgICAga2V5OiBncmlkT3B0aW9uPy5jb25maWc/LmtleSB8fCAhZ3JpZE9wdGlvbj8ua2V5XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gICNkZWZhdWx0ID0gKGdyaWRPcHRpb246IFNkR3JpZE1hdGVyaWFsT3B0aW9uKTogU2RHcmlkQ29uZmlndXJhdGlvbiA9PiB7XHJcbiAgICBjb25zdCBjb2x1bW5zOiBTZENvbHVtbkNvbmZpZ3VyYXRpb25bXSA9IGdyaWRPcHRpb24/LmNvbHVtbnM/LmZpbHRlcihlID0+ICFlLmhpZGRlbikubWFwKGUgPT4gKHtcclxuICAgICAgb3JpZ2luOiB7XHJcbiAgICAgICAgZmllbGQ6IGUuZmllbGQsXHJcbiAgICAgICAgdGl0bGU6IGUudGl0bGUsXHJcbiAgICAgICAgd2lkdGg6IGUud2lkdGgsXHJcbiAgICAgICAgaW52aXNpYmxlOiBlLmludmlzaWJsZVxyXG4gICAgICB9LFxyXG4gICAgICBpbnZpc2libGU6IGUuaW52aXNpYmxlLFxyXG4gICAgICBmaXhlZDogZmFsc2VcclxuICAgIH0pKSB8fCBbXTtcclxuICAgIHJldHVybiB7XHJcbiAgICAgIGNvbHVtbnNcclxuICAgIH07XHJcbiAgfVxyXG5cclxuICAjbG9hZCA9IChncmlkT3B0aW9uOiBTZEdyaWRNYXRlcmlhbE9wdGlvbiwgc3ViamVjdDogU3ViamVjdDxTZEdyaWRDb25maWd1cmF0aW9uPikgPT4ge1xyXG4gICAgcmV0dXJuIGFzeW5jICgpID0+IHtcclxuICAgICAgY29uc3QgZ2V0ID0gdGhpcy4jZ2V0KGdyaWRPcHRpb24pO1xyXG4gICAgICBjb25zdCBjb25maWd1cmF0aW9uID0gYXdhaXQgZ2V0KCk7XHJcbiAgICAgIHN1YmplY3QubmV4dCh7IC4uLmNvbmZpZ3VyYXRpb24gfSk7XHJcbiAgICB9O1xyXG4gIH1cclxuXHJcbiAgI2dldCA9IChncmlkT3B0aW9uOiBTZEdyaWRNYXRlcmlhbE9wdGlvbikgPT4ge1xyXG4gICAgcmV0dXJuIGFzeW5jICgpID0+IHtcclxuICAgICAgY29uc3Qga2V5ID0gdGhpcy4jZ2V0S2V5KGdyaWRPcHRpb24pO1xyXG4gICAgICBpZiAoIWtleSkge1xyXG4gICAgICAgIHJldHVybiB0aGlzLiNkZWZhdWx0KGdyaWRPcHRpb24pO1xyXG4gICAgICB9XHJcbiAgICAgIGNvbnN0IHsgY29sdW1ucywgY29uZmlnIH0gPSBncmlkT3B0aW9uO1xyXG4gICAgICBjb25zdCB7IGdldCwgcmVtb3ZlIH0gPSB0aGlzLnNldHRpbmdTZXJ2aWNlLmNyZWF0ZTxTZEdyaWRDb25maWd1cmF0aW9uPihrZXksIHtcclxuICAgICAgICB0eXBlOiBjb25maWc/LnN0b3JhZ2UsXHJcbiAgICAgICAgYXJnczogY29uZmlnPy5hcmdzXHJcbiAgICAgIH0pO1xyXG4gICAgICBjb25zdCBjb25maWd1cmF0aW9uOiBTZEdyaWRDb25maWd1cmF0aW9uID0gYXdhaXQgZ2V0KCkuY2F0Y2goKCkgPT4gdW5kZWZpbmVkKTtcclxuICAgICAgaWYgKCFjb25maWd1cmF0aW9uPy5jb2x1bW5zKSB7XHJcbiAgICAgICAgcmVtb3ZlKCkuY2F0Y2goY29uc29sZS5lcnJvcik7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuI2RlZmF1bHQoZ3JpZE9wdGlvbik7XHJcbiAgICAgIH1cclxuICAgICAgY29uZmlndXJhdGlvbi5jb2x1bW5zID0gY29uZmlndXJhdGlvbi5jb2x1bW5zXHJcbiAgICAgICAgLmZpbHRlcihjb2x1bW4gPT4gY29sdW1uLmlzR2VuZXJhdGVkQ29sdW1uIHx8IGNvbHVtbnMuc29tZShlID0+ICFlLmhpZGRlbiAmJiBlLmZpZWxkID09PSBjb2x1bW4ub3JpZ2luLmZpZWxkKSk7XHJcbiAgICAgIC8vIFRow6ptIG5o4buvbmcgY29sdW1uIG3hu5tpIHbDoG8gc3RvcmFnZSBu4bq/dSBjw7NcclxuICAgICAgY29sdW1ucy5mb3JFYWNoKGNvbHVtbiA9PiB7XHJcbiAgICAgICAgY29uc3QgY29sID0gY29uZmlndXJhdGlvbi5jb2x1bW5zLmZpbmQoZSA9PiBlLm9yaWdpbj8uZmllbGQgPT09IGNvbHVtbi5maWVsZCk7XHJcbiAgICAgICAgaWYgKCFjb2wpIHtcclxuICAgICAgICAgIGNvbmZpZ3VyYXRpb24uY29sdW1ucy5wdXNoKHtcclxuICAgICAgICAgICAgb3JpZ2luOiB7XHJcbiAgICAgICAgICAgICAgZmllbGQ6IGNvbHVtbi5maWVsZCxcclxuICAgICAgICAgICAgICB0aXRsZTogY29sdW1uLnRpdGxlLFxyXG4gICAgICAgICAgICAgIHdpZHRoOiBjb2x1bW4ud2lkdGgsXHJcbiAgICAgICAgICAgICAgaW52aXNpYmxlOiBjb2x1bW4uaW52aXNpYmxlLFxyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICBpbnZpc2libGU6IGNvbHVtbi5pbnZpc2libGUsXHJcbiAgICAgICAgICAgIGZpeGVkOiBmYWxzZVxyXG4gICAgICAgICAgfSk7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgIGNvbC5vcmlnaW4gPSB7XHJcbiAgICAgICAgICAgIGZpZWxkOiBjb2x1bW4uZmllbGQsXHJcbiAgICAgICAgICAgIHRpdGxlOiBjb2x1bW4udGl0bGUsXHJcbiAgICAgICAgICAgIHdpZHRoOiBjb2x1bW4ud2lkdGgsXHJcbiAgICAgICAgICAgIGludmlzaWJsZTogY29sdW1uLmludmlzaWJsZVxyXG4gICAgICAgICAgfTtcclxuICAgICAgICB9XHJcbiAgICAgIH0pO1xyXG4gICAgICByZXR1cm4gY29uZmlndXJhdGlvbjtcclxuICAgIH07XHJcbiAgfVxyXG5cclxuICAjc2V0ID0gKGdyaWRPcHRpb246IFNkR3JpZE1hdGVyaWFsT3B0aW9uLCBjb25maWd1cmF0aW9uOiBTZEdyaWRDb25maWd1cmF0aW9uKSA9PiB7XHJcbiAgICBjb25zdCBrZXkgPSB0aGlzLiNnZXRLZXkoZ3JpZE9wdGlvbik7XHJcbiAgICBpZiAoa2V5KSB7XHJcbiAgICAgIGNvbnN0IHsgc2V0IH0gPSB0aGlzLnNldHRpbmdTZXJ2aWNlLmNyZWF0ZTxTZEdyaWRDb25maWd1cmF0aW9uPihrZXksIHtcclxuICAgICAgICB0eXBlOiBncmlkT3B0aW9uPy5jb25maWc/LnN0b3JhZ2UsXHJcbiAgICAgICAgYXJnczogZ3JpZE9wdGlvbj8uY29uZmlnPy5hcmdzXHJcbiAgICAgIH0pO1xyXG4gICAgICBzZXQoY29uZmlndXJhdGlvbik7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gSlNPTi5wYXJzZShKU09OLnN0cmluZ2lmeShjb25maWd1cmF0aW9uKSk7XHJcbiAgfVxyXG5cclxuICAjcmVtb3ZlID0gKGdyaWRPcHRpb246IFNkR3JpZE1hdGVyaWFsT3B0aW9uKSA9PiB7XHJcbiAgICByZXR1cm4gKCkgPT4ge1xyXG4gICAgICBjb25zdCBrZXkgPSB0aGlzLiNnZXRLZXkoZ3JpZE9wdGlvbik7XHJcbiAgICAgIGlmIChrZXkpIHtcclxuICAgICAgICBjb25zdCB7IHJlbW92ZSB9ID0gdGhpcy5zZXR0aW5nU2VydmljZS5jcmVhdGU8U2RHcmlkQ29uZmlndXJhdGlvbj4oa2V5LCB7XHJcbiAgICAgICAgICB0eXBlOiBncmlkT3B0aW9uPy5jb25maWc/LnN0b3JhZ2UsXHJcbiAgICAgICAgICBhcmdzOiBncmlkT3B0aW9uPy5jb25maWc/LmFyZ3NcclxuICAgICAgICB9KTtcclxuICAgICAgICByZW1vdmUoKTtcclxuICAgICAgfVxyXG4gICAgfTtcclxuICB9XHJcblxyXG4gIC8vIGdldCA9IGFzeW5jIChncmlkT3B0aW9uOiBTZEdyaWRNYXRlcmlhbE9wdGlvbik6IFByb21pc2U8U2RHcmlkQ29uZmlndXJhdGlvbj4gPT4ge1xyXG4gIC8vICAgaWYgKCFncmlkT3B0aW9uPy5rZXkpIHtcclxuICAvLyAgICAgcmV0dXJuIHRoaXMuI2dldERlZmF1bHRDb25maWd1cmF0aW9uKGdyaWRPcHRpb24pO1xyXG4gIC8vICAgfVxyXG4gIC8vICAgY29uc3QgeyBrZXksIGNvbHVtbnMgfSA9IGdyaWRPcHRpb247XHJcbiAgLy8gICBjb25zdCBjb25maWd1cmF0aW9uOiBTZEdyaWRDb25maWd1cmF0aW9uID0gYXdhaXQgdGhpcy5zZXR0aW5nU2VydmljZS5nZXQodGhpcy4jZ2V0S2V5KGtleSkpLmNhdGNoKCgpID0+IHVuZGVmaW5lZCk7XHJcbiAgLy8gICBpZiAoIWNvbmZpZ3VyYXRpb24/LmNvbHVtbnMpIHtcclxuICAvLyAgICAgdGhpcy5zZXR0aW5nU2VydmljZS5yZW1vdmUodGhpcy4jZ2V0S2V5KGtleSkpLmNhdGNoKGNvbnNvbGUuZXJyb3IpO1xyXG4gIC8vICAgICByZXR1cm4gdGhpcy4jZ2V0RGVmYXVsdENvbmZpZ3VyYXRpb24oZ3JpZE9wdGlvbik7XHJcbiAgLy8gICB9XHJcbiAgLy8gICBjb25maWd1cmF0aW9uLmNvbHVtbnMgPSBjb25maWd1cmF0aW9uLmNvbHVtbnNcclxuICAvLyAgICAgLmZpbHRlcihjb2x1bW4gPT4gY29sdW1ucy5zb21lKGUgPT4gIWUuaGlkZGVuICYmIGUuZmllbGQgPT09IGNvbHVtbi5vcmlnaW4uZmllbGQpKTtcclxuICAvLyAgIC8vIFRow6ptIG5o4buvbmcgY29sdW1uIG3hu5tpIHbDoG8gc3RvcmFnZSBu4bq/dSBjw7NcclxuICAvLyAgIGNvbHVtbnMuZm9yRWFjaChjb2x1bW4gPT4ge1xyXG4gIC8vICAgICBjb25zdCBjb2wgPSBjb25maWd1cmF0aW9uLmNvbHVtbnMuZmluZChlID0+IGUub3JpZ2luPy5maWVsZCA9PT0gY29sdW1uLmZpZWxkKTtcclxuICAvLyAgICAgaWYgKCFjb2wpIHtcclxuICAvLyAgICAgICBjb25maWd1cmF0aW9uLmNvbHVtbnMucHVzaCh7XHJcbiAgLy8gICAgICAgICBvcmlnaW46IHtcclxuICAvLyAgICAgICAgICAgZmllbGQ6IGNvbHVtbi5maWVsZCxcclxuICAvLyAgICAgICAgICAgdGl0bGU6IGNvbHVtbi50aXRsZSxcclxuICAvLyAgICAgICAgICAgd2lkdGg6IGNvbHVtbi53aWR0aCxcclxuICAvLyAgICAgICAgICAgaW52aXNpYmxlOiBjb2x1bW4uaW52aXNpYmxlLFxyXG4gIC8vICAgICAgICAgfSxcclxuICAvLyAgICAgICAgIGludmlzaWJsZTogY29sdW1uLmludmlzaWJsZSxcclxuICAvLyAgICAgICAgIGZpeGVkOiBmYWxzZVxyXG4gIC8vICAgICAgIH0pO1xyXG4gIC8vICAgICB9IGVsc2Uge1xyXG4gIC8vICAgICAgIGNvbC5vcmlnaW4gPSB7XHJcbiAgLy8gICAgICAgICBmaWVsZDogY29sdW1uLmZpZWxkLFxyXG4gIC8vICAgICAgICAgdGl0bGU6IGNvbHVtbi50aXRsZSxcclxuICAvLyAgICAgICAgIHdpZHRoOiBjb2x1bW4ud2lkdGgsXHJcbiAgLy8gICAgICAgICBpbnZpc2libGU6IGNvbHVtbi5pbnZpc2libGVcclxuICAvLyAgICAgICB9O1xyXG4gIC8vICAgICB9XHJcbiAgLy8gICB9KTtcclxuICAvLyAgIHJldHVybiBjb25maWd1cmF0aW9uO1xyXG4gIC8vIH1cclxuXHJcbiAgLy8gc2V0ID0gYXN5bmMgKGtleTogc3RyaW5nLCBjb25maWd1cmF0aW9uOiBTZEdyaWRDb25maWd1cmF0aW9uKTogUHJvbWlzZTxTZEdyaWRDb25maWd1cmF0aW9uPiA9PiB7XHJcbiAgLy8gICBpZiAoa2V5KSB7XHJcbiAgLy8gICAgIHRoaXMuc2V0dGluZ1NlcnZpY2Uuc2V0KHRoaXMuI2dldEtleShrZXkpLCBjb25maWd1cmF0aW9uKTtcclxuICAvLyAgIH1cclxuICAvLyAgIHJldHVybiBjb25maWd1cmF0aW9uO1xyXG4gIC8vIH1cclxuXHJcbiAgLy8gcmVtb3ZlID0gKGtleTogc3RyaW5nKSA9PiB7XHJcbiAgLy8gICBpZiAoa2V5KSB7XHJcbiAgLy8gICAgIHRoaXMuc2V0dGluZ1NlcnZpY2UucmVtb3ZlKHRoaXMuI2dldEtleShrZXkpKTtcclxuICAvLyAgIH1cclxuICAvLyB9XHJcblxyXG4gIGdlbmVyYXRlQ29uZmlndXJhdGlvblJlc3VsdCA9IChcclxuICAgIGNvbmZpZ3VyYXRpb246IFNkR3JpZENvbmZpZ3VyYXRpb24sXHJcbiAgICBncmlkT3B0aW9uOiBTZEdyaWRNYXRlcmlhbE9wdGlvbixcclxuICAgIHNkU3ViSW5mb3JtYXRpb246IFNkTWF0ZXJpYWxTdWJJbmZvcm1hdGlvbkRlZkRpcmVjdGl2ZSkgPT4ge1xyXG4gICAgY29uc3QgcmVzdWx0OiBTZEdyaWRDb25maWd1cmF0aW9uUmVzdWx0ID0ge1xyXG4gICAgICBjb2x1bW46IHt9LFxyXG4gICAgICBmaXhlZENvbHVtbjoge30sXHJcbiAgICAgIGZpcnN0Q29sdW1uczogW10sXHJcbiAgICAgIHNlY29uZENvbHVtbnM6IFtdLFxyXG4gICAgICBmaXJzdEhlYWRlcnM6IFtdLFxyXG4gICAgICBzZWNvbmRIZWFkZXJzOiBbXSxcclxuICAgICAgZGlzcGxheWVkQ29sdW1uczogW10sXHJcbiAgICAgIGRpc3BsYXllZEZvb3RlcnM6IFtdLFxyXG4gICAgICBtdWx0aXBsZUhlYWRlcjogZmFsc2VcclxuICAgIH07XHJcbiAgICBjb25zdCB7IHNlbGVjdGlvbiwgY29tbWFuZHMsIGVkaXRvciB9ID0gZ3JpZE9wdGlvbiB8fCB7fTtcclxuICAgIGlmIChzZWxlY3Rpb24/LnZpc2libGUpIHtcclxuICAgICAgcmVzdWx0LmZpcnN0SGVhZGVycy5wdXNoKHRoaXMuI0NPTFVNTlMuU0VMRUNUSU9OKTtcclxuICAgICAgcmVzdWx0LmRpc3BsYXllZENvbHVtbnMucHVzaCh0aGlzLiNDT0xVTU5TLlNFTEVDVElPTik7XHJcbiAgICB9XHJcbiAgICBpZiAoZWRpdG9yPy5hZGRhYmxlIHx8IChlZGl0b3I/LnR5cGUgPT09ICdpbmxpbmUnICYmIGVkaXRvcj8ucmVtb3ZhYmxlKSB8fCAoZWRpdG9yPy50eXBlID09PSAnZm9jdXMnICYmIGVkaXRvcj8uZWRpdGFibGUpIHx8IChlZGl0b3I/LnR5cGUgPT09ICdwb3B1cCcgJiYgZWRpdG9yPy5lZGl0YWJsZSkpIHtcclxuICAgICAgcmVzdWx0LmZpcnN0SGVhZGVycy5wdXNoKHRoaXMuI0NPTFVNTlMuRURJVE9SKTtcclxuICAgICAgcmVzdWx0LmRpc3BsYXllZENvbHVtbnMucHVzaCh0aGlzLiNDT0xVTU5TLkVESVRPUik7XHJcbiAgICB9XHJcbiAgICBpZiAoY29tbWFuZHM/Lmxlbmd0aCkge1xyXG4gICAgICByZXN1bHQuZmlyc3RIZWFkZXJzLnB1c2godGhpcy4jQ09MVU1OUy5DT01NQU5EKTtcclxuICAgICAgcmVzdWx0LmRpc3BsYXllZENvbHVtbnMucHVzaCh0aGlzLiNDT0xVTU5TLkNPTU1BTkQpO1xyXG4gICAgfVxyXG4gICAgY29uZmlndXJhdGlvbj8uY29sdW1ucz8uZmlsdGVyKGNvbCA9PiAhY29sLmludmlzaWJsZSkuZm9yRWFjaChjb2wgPT4ge1xyXG4gICAgICBpZiAoY29sLmlzR2VuZXJhdGVkQ29sdW1uKSB7XHJcbiAgICAgICAgcmVzdWx0LmNvbHVtbltjb2wub3JpZ2luLmZpZWxkXSA9IHtcclxuICAgICAgICAgIHRpdGxlOiBjb2wudGl0bGUgfHwgY29sLm9yaWdpbi50aXRsZSxcclxuICAgICAgICAgIHdpZHRoOiBjb2wud2lkdGggfHwgY29sLm9yaWdpbi53aWR0aCxcclxuICAgICAgICB9O1xyXG4gICAgICAgIGlmIChjb2wuZml4ZWQpIHtcclxuICAgICAgICAgIHJlc3VsdC5maXhlZENvbHVtbltjb2wub3JpZ2luLmZpZWxkXSA9IHtcclxuICAgICAgICAgICAgdGl0bGU6IGNvbC50aXRsZSB8fCBjb2wub3JpZ2luLnRpdGxlLFxyXG4gICAgICAgICAgICB3aWR0aDogY29sLndpZHRoIHx8IGNvbC5vcmlnaW4ud2lkdGgsXHJcbiAgICAgICAgICB9O1xyXG4gICAgICAgIH1cclxuICAgICAgICBjb25zdCBnZW5lcmF0ZWRDb2x1bW46IFNkR3JpZE1hdGVyaWFsQ29sdW1uID0ge1xyXG4gICAgICAgICAgdHlwZTogJ2NoaWxkcmVuJyxcclxuICAgICAgICAgIGZpZWxkOiBjb2wub3JpZ2luLmZpZWxkLFxyXG4gICAgICAgICAgdGl0bGU6IGNvbC5vcmlnaW4udGl0bGUsXHJcbiAgICAgICAgICBjaGlsZHJlbjogW11cclxuICAgICAgICB9O1xyXG4gICAgICAgIGZvciAoY29uc3Qgc3ViQ29sdW1uIG9mIGdyaWRPcHRpb24/LmNvbHVtbnMuZmlsdGVyKGUxID0+IGNvbC5nZW5lcmF0ZWRDb2x1bW5zLmluY2x1ZGVzKGUxLmZpZWxkKSkpIHtcclxuICAgICAgICAgIGlmIChzdWJDb2x1bW4udHlwZSA9PT0gJ2NoaWxkcmVuJyB8fCBzdWJDb2x1bW4udHlwZSA9PT0gJ2NoaWxkcmVuLWNvbCcpIHtcclxuICAgICAgICAgICAgZm9yIChjb25zdCBjaGlsZENvbHVtbiBvZiBzdWJDb2x1bW4uY2hpbGRyZW4pIHtcclxuICAgICAgICAgICAgICBnZW5lcmF0ZWRDb2x1bW4uY2hpbGRyZW4ucHVzaCh7XHJcbiAgICAgICAgICAgICAgICAuLi5jaGlsZENvbHVtbixcclxuICAgICAgICAgICAgICAgIGNvbFNwYW46IDJcclxuICAgICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgZ2VuZXJhdGVkQ29sdW1uLmNoaWxkcmVuLnB1c2goe1xyXG4gICAgICAgICAgICAgIC4uLnN1YkNvbHVtbixcclxuICAgICAgICAgICAgICBjb2xTcGFuOiAyXHJcbiAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgfVxyXG5cclxuICAgICAgICB9XHJcbiAgICAgICAgcmVzdWx0LmZpcnN0Q29sdW1ucy5wdXNoKHtcclxuICAgICAgICAgIC4uLmdlbmVyYXRlZENvbHVtbixcclxuICAgICAgICAgIHRpdGxlOiBjb2wudGl0bGUgfHwgY29sLm9yaWdpbi50aXRsZSxcclxuICAgICAgICAgIHdpZHRoOiBjb2wud2lkdGggfHwgY29sLm9yaWdpbi53aWR0aFxyXG4gICAgICAgIH0pO1xyXG4gICAgICAgIHJlc3VsdC5maXJzdEhlYWRlcnMucHVzaChjb2wub3JpZ2luLmZpZWxkKTtcclxuICAgICAgICByZXN1bHQuZGlzcGxheWVkQ29sdW1ucy5wdXNoKGNvbC5vcmlnaW4uZmllbGQpO1xyXG4gICAgICAgIHJldHVybjtcclxuICAgICAgfVxyXG4gICAgICBjb25zdCBjb2x1bW4gPSBncmlkT3B0aW9uPy5jb2x1bW5zLmZpbmQoZSA9PiBlLmZpZWxkID09PSBjb2wub3JpZ2luLmZpZWxkKTtcclxuICAgICAgaWYgKGNvbHVtbikge1xyXG4gICAgICAgIHJlc3VsdC5jb2x1bW5bY29sLm9yaWdpbi5maWVsZF0gPSB7XHJcbiAgICAgICAgICB0aXRsZTogY29sLnRpdGxlIHx8IGNvbC5vcmlnaW4udGl0bGUsXHJcbiAgICAgICAgICB3aWR0aDogY29sLndpZHRoIHx8IGNvbC5vcmlnaW4ud2lkdGgsXHJcbiAgICAgICAgfTtcclxuICAgICAgICBpZiAoY29sLmZpeGVkKSB7XHJcbiAgICAgICAgICByZXN1bHQuZml4ZWRDb2x1bW5bY29sLm9yaWdpbi5maWVsZF0gPSB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBjb2wudGl0bGUgfHwgY29sLm9yaWdpbi50aXRsZSxcclxuICAgICAgICAgICAgd2lkdGg6IGNvbC53aWR0aCB8fCBjb2wub3JpZ2luLndpZHRoLFxyXG4gICAgICAgICAgfTtcclxuICAgICAgICB9XHJcbiAgICAgICAgcmVzdWx0LmZpcnN0Q29sdW1ucy5wdXNoKHtcclxuICAgICAgICAgIC4uLmNvbHVtbixcclxuICAgICAgICAgIHRpdGxlOiBjb2wudGl0bGUgfHwgY29sLm9yaWdpbi50aXRsZSxcclxuICAgICAgICAgIHdpZHRoOiBjb2wud2lkdGggfHwgY29sLm9yaWdpbi53aWR0aFxyXG4gICAgICAgIH0pO1xyXG4gICAgICAgIHJlc3VsdC5maXJzdEhlYWRlcnMucHVzaChjb2wub3JpZ2luLmZpZWxkKTtcclxuICAgICAgICBpZiAoY29sdW1uLnR5cGUgPT09ICdjaGlsZHJlbi1jb2wnKSB7XHJcbiAgICAgICAgICBjb2x1bW4uY2hpbGRyZW4/LmZvckVhY2goY2hpbGRDb2x1bW4gPT4ge1xyXG4gICAgICAgICAgICByZXN1bHQuc2Vjb25kQ29sdW1ucy5wdXNoKGNoaWxkQ29sdW1uKTtcclxuICAgICAgICAgICAgcmVzdWx0LnNlY29uZEhlYWRlcnMucHVzaChjaGlsZENvbHVtbi5maWVsZCk7XHJcbiAgICAgICAgICAgIHJlc3VsdC5kaXNwbGF5ZWRDb2x1bW5zLnB1c2goY2hpbGRDb2x1bW4uZmllbGQpO1xyXG4gICAgICAgICAgfSk7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgIHJlc3VsdC5kaXNwbGF5ZWRDb2x1bW5zLnB1c2goY29sLm9yaWdpbi5maWVsZCk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICAgIGlmIChzZFN1YkluZm9ybWF0aW9uPy50ZW1wbGF0ZVJlZikge1xyXG4gICAgICByZXN1bHQuZmlyc3RIZWFkZXJzLnB1c2godGhpcy4jQ09MVU1OUy5TVUJJTkZPUk1BVElPTik7XHJcbiAgICAgIHJlc3VsdC5kaXNwbGF5ZWRDb2x1bW5zLnB1c2godGhpcy4jQ09MVU1OUy5TVUJJTkZPUk1BVElPTik7XHJcbiAgICB9XHJcbiAgICByZXN1bHQubXVsdGlwbGVIZWFkZXIgPSByZXN1bHQuc2Vjb25kSGVhZGVycy5sZW5ndGggPiAwO1xyXG4gICAgLy8gU3ViIGluZm9tYXRpb24ga2jDtG5nIHRo4buDIGPDsyBmb290ZXJcclxuICAgIHJlc3VsdC5kaXNwbGF5ZWRGb290ZXJzID0gcmVzdWx0LmRpc3BsYXllZENvbHVtbnMuZmlsdGVyKHZhbCA9PiB2YWwgIT09IHRoaXMuI0NPTFVNTlMuU1VCSU5GT1JNQVRJT04pO1xyXG4gICAgcmV0dXJuIHJlc3VsdDtcclxuICB9XHJcbn1cclxuIl19
350
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3JpZC1jb25maWd1cmF0aW9uLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiQzovVXNlcnMvbmdoaWF0dDE1L0Rlc2t0b3AvV29ya2luZy8xTUcvbGliLWNvcmUtdWkvcHJvamVjdHMvc2QtY29yZS9ncmlkLW1hdGVyaWFsLyIsInNvdXJjZXMiOlsic3JjL2xpYi9zZXJ2aWNlcy9ncmlkLWNvbmZpZ3VyYXRpb24uc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM3RCxPQUFPLElBQUksTUFBTSxhQUFhLENBQUM7QUFDL0IsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFJNUQsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUUvQixPQUFPLEVBQUUsb0JBQW9CLEVBQWdDLE1BQU0sb0NBQW9DLENBQUM7QUFHeEcsTUFBTSxPQUFPLDBCQUEwQjtJQVdyQyxZQUNVLGNBQWdDLEVBQ1MseUJBQXVEO1FBRGhHLG1CQUFjLEdBQWQsY0FBYyxDQUFrQjtRQUNTLDhCQUF5QixHQUF6Qix5QkFBeUIsQ0FBOEI7UUFaMUcsbUJBQVc7WUFDVCxnQkFBZ0IsRUFBRSxvQkFBb0I7WUFDdEMsTUFBTSxFQUFFLFVBQVU7WUFDbEIsY0FBYyxFQUFFLHdCQUF3QjtZQUN4QyxPQUFPLEVBQUUsV0FBVztZQUNwQixTQUFTLEVBQUUsYUFBYTtTQUN6QixFQUFDO1FBQ0YsaUJBRUksRUFBRSxFQUFDO1FBTVAsU0FBSSxHQUFHLENBQUMsR0FBVyxFQUFFLFVBQWdDLEVBQUUsRUFBRTtZQUN2RCxJQUFJLENBQUMscUNBQVksR0FBRyxDQUFDLEVBQUU7Z0JBQ3JCLE1BQU0sT0FBTyxHQUFHLElBQUksT0FBTyxFQUF1QixDQUFDO2dCQUNuRCxxQ0FBWSxHQUFHLENBQUMsR0FBRztvQkFDakIsSUFBSSxFQUFFLHlDQUFB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Y0FBYyxHQUFHLE1BQU0sQ0FBQyxhQUFhLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQztZQUN4RCxxQ0FBcUM7WUFDckMsTUFBTSxDQUFDLGdCQUFnQixHQUFHLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLEtBQUssdUNBQWMsY0FBYyxDQUFDLENBQUM7WUFDdEcsT0FBTyxNQUFNLENBQUM7UUFDaEIsQ0FBQyxDQUFBO0lBblNELENBQUM7Ozs7WUFmRixVQUFVOzs7WUFSRixnQkFBZ0I7NENBc0JwQixNQUFNLFNBQUMsb0JBQW9CLGNBQUcsUUFBUSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdCwgSW5qZWN0YWJsZSwgT3B0aW9uYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IGhhc2ggZnJvbSAnb2JqZWN0LWhhc2gnO1xyXG5pbXBvcnQgeyBTZFNldHRpbmdTZXJ2aWNlIH0gZnJvbSAnQHNkLWFuZ3VsYXIvY29yZS9zZXR0aW5nJztcclxuaW1wb3J0IHsgU2RHcmlkTWF0ZXJpYWxPcHRpb24gfSBmcm9tICcuLi9tb2RlbHMvZ3JpZC1vcHRpb24ubW9kZWwnO1xyXG5pbXBvcnQgeyBTZENvbHVtbkNvbmZpZ3VyYXRpb24sIFNkR3JpZENvbmZpZ3VyYXRpb24sIFNkR3JpZENvbmZpZ3VyYXRpb25DYWNoZSwgU2RHcmlkQ29uZmlndXJhdGlvblJlc3VsdCB9IGZyb20gJy4uL21vZGVscy9ncmlkLWNvbmZpZy5tb2RlbCc7XHJcbmltcG9ydCB7IFNkTWF0ZXJpYWxTdWJJbmZvcm1hdGlvbkRlZkRpcmVjdGl2ZSB9IGZyb20gJy4uL2RpcmVjdGl2ZXMvc2QtbWF0ZXJpYWwtc3ViLWluZm9ybWF0aW9uLWRlZi5kaXJlY3RpdmUnO1xyXG5pbXBvcnQgeyBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IFNkR3JpZE1hdGVyaWFsQ29sdW1uIH0gZnJvbSAnLi4vbW9kZWxzL2dyaWQtY29sdW1uLm1vZGVsJztcclxuaW1wb3J0IHsgR1JJRF9NQVRFUklBTF9DT05GSUcsIElTZEdyaWRNYXRlcmlhbENvbmZpZ3VyYXRpb24gfSBmcm9tICcuLi9tb2RlbHMvZ3JpZC1jb25maWd1cmF0aW9uLm1vZGVsJztcclxuXHJcbkBJbmplY3RhYmxlKClcclxuZXhwb3J0IGNsYXNzIFNkR3JpZENvbmZpZ3VyYXRpb25TZXJ2aWNlIHtcclxuICAjQ09MVU1OUyA9IHtcclxuICAgIEVESVRPUlZBTElEQVRJT046ICdzZEVkaXRvclZhbGlkYXRpb24nLFxyXG4gICAgRURJVE9SOiAnc2RFZGl0b3InLFxyXG4gICAgU1VCSU5GT1JNQVRJT046ICdzZFN1YkluZm9ybWF0aW9uQWN0aW9uJyxcclxuICAgIENPTU1BTkQ6ICdzZENvbW1hbmQnLFxyXG4gICAgU0VMRUNUSU9OOiAnc2RTZWxlY3Rpb24nXHJcbiAgfTtcclxuICAjY2FjaGU6IHtcclxuICAgIFtrZXk6IHN0cmluZ106IFNkR3JpZENvbmZpZ3VyYXRpb25DYWNoZVxyXG4gIH0gPSB7fTtcclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgc2V0dGluZ1NlcnZpY2U6IFNkU2V0dGluZ1NlcnZpY2UsXHJcbiAgICBASW5qZWN0KEdSSURfTUFURVJJQUxfQ09ORklHKSBAT3B0aW9uYWwoKSBwdWJsaWMgZ3JpZE1hdGVyaWFsQ29uZmlndXJhdGlvbjogSVNkR3JpZE1hdGVyaWFsQ29uZmlndXJhdGlvbikge1xyXG4gIH1cclxuXHJcbiAgaW5pdCA9IChrZXk6IHN0cmluZywgZ3JpZE9wdGlvbjogU2RHcmlkTWF0ZXJpYWxPcHRpb24pID0+IHtcclxuICAgIGlmICghdGhpcy4jY2FjaGVba2V5XSkge1xyXG4gICAgICBjb25zdCBzdWJqZWN0ID0gbmV3IFN1YmplY3Q8U2RHcmlkQ29uZmlndXJhdGlvbj4oKTtcclxuICAgICAgdGhpcy4jY2FjaGVba2V5XSA9IHtcclxuICAgICAgICBsb2FkOiB0aGlzLiNsb2FkKGdyaWRPcHRpb24sIHN1YmplY3QpLFxyXG4gICAgICAgIGdldDogdGhpcy4jZ2V0KGdyaWRPcHRpb24pLFxyXG4gICAgICAgIHNldDogKGNvbmZpZ3VyYXRpb246IFNkR3JpZENvbmZpZ3VyYXRpb24pID0+IHtcclxuICAgICAgICAgIGNvbmZpZ3VyYXRpb24gPSB0aGlzLiNzZXQoZ3JpZE9wdGlvbiwgY29uZmlndXJhdGlvbik7XHJcbiAgICAgICAgICBzdWJqZWN0Lm5leHQoeyAuLi5jb25maWd1cmF0aW9uIH0pO1xyXG4gICAgICAgICAgcmV0dXJuIGNvbmZpZ3VyYXRpb247XHJcbiAgICAgICAgfSxcclxuICAgICAgICByZW1vdmU6ICgpID0+IHtcclxuICAgICAgICAgIHRoaXMuI3JlbW92ZShncmlkT3B0aW9uKSgpO1xyXG4gICAgICAgICAgc3ViamVjdC5uZXh0KHRoaXMuI2RlZmF1bHQoZ3JpZE9wdGlvbikpO1xyXG4gICAgICAgIH0sXHJcbiAgICAgICAgb2JzZXJ2ZXI6IHN1YmplY3RcclxuICAgICAgfTtcclxuICAgIH1cclxuICAgIHJldHVybiB0aGlzLiNjYWNoZVtrZXldO1xyXG4gIH1cclxuXHJcbiAgI2dldEtleSA9IChncmlkT3B0aW9uOiBTZEdyaWRNYXRlcmlhbE9wdGlvbikgPT4ge1xyXG4gICAgY29uc3QgcHJlZml4ID0gJ2M5ZTk0ODM2LTZhY2UtNGFlYi1iMTQ4LTRmMGJlNjM1ODllZSc7XHJcbiAgICBpZiAoIWdyaWRPcHRpb24/LmNvbmZpZz8ua2V5ICYmICFncmlkT3B0aW9uPy5rZXkpIHtcclxuICAgICAgcmV0dXJuIG51bGw7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gaGFzaCh7XHJcbiAgICAgIHByZWZpeCxcclxuICAgICAga2V5OiBncmlkT3B0aW9uPy5jb25maWc/LmtleSB8fCAhZ3JpZE9wdGlvbj8ua2V5XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gICNkZWZhdWx0ID0gKGdyaWRPcHRpb246IFNkR3JpZE1hdGVyaWFsT3B0aW9uKTogU2RHcmlkQ29uZmlndXJhdGlvbiA9PiB7XHJcbiAgICBjb25zdCBjb2x1bW5zOiBTZENvbHVtbkNvbmZpZ3VyYXRpb25bXSA9IGdyaWRPcHRpb24/LmNvbHVtbnM/LmZpbHRlcihlID0+ICFlLmhpZGRlbikubWFwKGUgPT4gKHtcclxuICAgICAgb3JpZ2luOiB7XHJcbiAgICAgICAgZmllbGQ6IGUuZmllbGQsXHJcbiAgICAgICAgdGl0bGU6IGUudGl0bGUsXHJcbiAgICAgICAgd2lkdGg6IGUud2lkdGgsXHJcbiAgICAgICAgaW52aXNpYmxlOiBlLmludmlzaWJsZVxyXG4gICAgICB9LFxyXG4gICAgICBpbnZpc2libGU6IGUuaW52aXNpYmxlLFxyXG4gICAgICBmaXhlZDogZmFsc2VcclxuICAgIH0pKSB8fCBbXTtcclxuICAgIHJldHVybiB7XHJcbiAgICAgIGNvbHVtbnNcclxuICAgIH07XHJcbiAgfVxyXG5cclxuICAjbG9hZCA9IChncmlkT3B0aW9uOiBTZEdyaWRNYXRlcmlhbE9wdGlvbiwgc3ViamVjdDogU3ViamVjdDxTZEdyaWRDb25maWd1cmF0aW9uPikgPT4ge1xyXG4gICAgcmV0dXJuIGFzeW5jICgpID0+IHtcclxuICAgICAgY29uc3QgZ2V0ID0gdGhpcy4jZ2V0KGdyaWRPcHRpb24pO1xyXG4gICAgICBjb25zdCBjb25maWd1cmF0aW9uID0gYXdhaXQgZ2V0KCk7XHJcbiAgICAgIHN1YmplY3QubmV4dCh7IC4uLmNvbmZpZ3VyYXRpb24gfSk7XHJcbiAgICB9O1xyXG4gIH1cclxuXHJcbiAgI2dldCA9IChncmlkT3B0aW9uOiBTZEdyaWRNYXRlcmlhbE9wdGlvbikgPT4ge1xyXG4gICAgcmV0dXJuIGFzeW5jICgpID0+IHtcclxuICAgICAgY29uc3Qga2V5ID0gdGhpcy4jZ2V0S2V5KGdyaWRPcHRpb24pO1xyXG4gICAgICBpZiAoIWtleSkge1xyXG4gICAgICAgIHJldHVybiB0aGlzLiNkZWZhdWx0KGdyaWRPcHRpb24pO1xyXG4gICAgICB9XHJcbiAgICAgIGNvbnN0IHsgY29sdW1ucywgY29uZmlnIH0gPSBncmlkT3B0aW9uO1xyXG4gICAgICBjb25zdCB7IGdldCwgcmVtb3ZlIH0gPSB0aGlzLnNldHRpbmdTZXJ2aWNlLmNyZWF0ZTxTZEdyaWRDb25maWd1cmF0aW9uPihrZXksIHtcclxuICAgICAgICB0eXBlOiBjb25maWc/LnN0b3JhZ2UsXHJcbiAgICAgICAgYXJnczogY29uZmlnPy5hcmdzXHJcbiAgICAgIH0pO1xyXG4gICAgICBjb25zdCBjb25maWd1cmF0aW9uOiBTZEdyaWRDb25maWd1cmF0aW9uID0gYXdhaXQgZ2V0KCkuY2F0Y2goKCkgPT4gdW5kZWZpbmVkKTtcclxuICAgICAgaWYgKCFjb25maWd1cmF0aW9uPy5jb2x1bW5zKSB7XHJcbiAgICAgICAgcmVtb3ZlKCkuY2F0Y2goY29uc29sZS5lcnJvcik7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuI2RlZmF1bHQoZ3JpZE9wdGlvbik7XHJcbiAgICAgIH1cclxuICAgICAgY29uZmlndXJhdGlvbi5jb2x1bW5zID0gY29uZmlndXJhdGlvbi5jb2x1bW5zXHJcbiAgICAgICAgLmZpbHRlcihjb2x1bW4gPT4gY29sdW1uLmlzR2VuZXJhdGVkQ29sdW1uIHx8IGNvbHVtbnMuc29tZShlID0+ICFlLmhpZGRlbiAmJiBlLmZpZWxkID09PSBjb2x1bW4ub3JpZ2luLmZpZWxkKSk7XHJcbiAgICAgIC8vIFRow6ptIG5o4buvbmcgY29sdW1uIG3hu5tpIHbDoG8gc3RvcmFnZSBu4bq/dSBjw7NcclxuICAgICAgY29sdW1ucy5mb3JFYWNoKGNvbHVtbiA9PiB7XHJcbiAgICAgICAgY29uc3QgY29sID0gY29uZmlndXJhdGlvbi5jb2x1bW5zLmZpbmQoZSA9PiBlLm9yaWdpbj8uZmllbGQgPT09IGNvbHVtbi5maWVsZCk7XHJcbiAgICAgICAgaWYgKCFjb2wpIHtcclxuICAgICAgICAgIGNvbmZpZ3VyYXRpb24uY29sdW1ucy5wdXNoKHtcclxuICAgICAgICAgICAgb3JpZ2luOiB7XHJcbiAgICAgICAgICAgICAgZmllbGQ6IGNvbHVtbi5maWVsZCxcclxuICAgICAgICAgICAgICB0aXRsZTogY29sdW1uLnRpdGxlLFxyXG4gICAgICAgICAgICAgIHdpZHRoOiBjb2x1bW4ud2lkdGgsXHJcbiAgICAgICAgICAgICAgaW52aXNpYmxlOiBjb2x1bW4uaW52aXNpYmxlLFxyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICBpbnZpc2libGU6IGNvbHVtbi5pbnZpc2libGUsXHJcbiAgICAgICAgICAgIGZpeGVkOiBmYWxzZVxyXG4gICAgICAgICAgfSk7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgIGNvbC5vcmlnaW4gPSB7XHJcbiAgICAgICAgICAgIGZpZWxkOiBjb2x1bW4uZmllbGQsXHJcbiAgICAgICAgICAgIHRpdGxlOiBjb2x1bW4udGl0bGUsXHJcbiAgICAgICAgICAgIHdpZHRoOiBjb2x1bW4ud2lkdGgsXHJcbiAgICAgICAgICAgIGludmlzaWJsZTogY29sdW1uLmludmlzaWJsZVxyXG4gICAgICAgICAgfTtcclxuICAgICAgICB9XHJcbiAgICAgIH0pO1xyXG4gICAgICByZXR1cm4gY29uZmlndXJhdGlvbjtcclxuICAgIH07XHJcbiAgfVxyXG5cclxuICAjc2V0ID0gKGdyaWRPcHRpb246IFNkR3JpZE1hdGVyaWFsT3B0aW9uLCBjb25maWd1cmF0aW9uOiBTZEdyaWRDb25maWd1cmF0aW9uKSA9PiB7XHJcbiAgICBjb25zdCBrZXkgPSB0aGlzLiNnZXRLZXkoZ3JpZE9wdGlvbik7XHJcbiAgICBpZiAoa2V5KSB7XHJcbiAgICAgIGNvbnN0IHsgc2V0IH0gPSB0aGlzLnNldHRpbmdTZXJ2aWNlLmNyZWF0ZTxTZEdyaWRDb25maWd1cmF0aW9uPihrZXksIHtcclxuICAgICAgICB0eXBlOiBncmlkT3B0aW9uPy5jb25maWc/LnN0b3JhZ2UsXHJcbiAgICAgICAgYXJnczogZ3JpZE9wdGlvbj8uY29uZmlnPy5hcmdzXHJcbiAgICAgIH0pO1xyXG4gICAgICBzZXQoY29uZmlndXJhdGlvbik7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gSlNPTi5wYXJzZShKU09OLnN0cmluZ2lmeShjb25maWd1cmF0aW9uKSk7XHJcbiAgfVxyXG5cclxuICAjcmVtb3ZlID0gKGdyaWRPcHRpb246IFNkR3JpZE1hdGVyaWFsT3B0aW9uKSA9PiB7XHJcbiAgICByZXR1cm4gKCkgPT4ge1xyXG4gICAgICBjb25zdCBrZXkgPSB0aGlzLiNnZXRLZXkoZ3JpZE9wdGlvbik7XHJcbiAgICAgIGlmIChrZXkpIHtcclxuICAgICAgICBjb25zdCB7IHJlbW92ZSB9ID0gdGhpcy5zZXR0aW5nU2VydmljZS5jcmVhdGU8U2RHcmlkQ29uZmlndXJhdGlvbj4oa2V5LCB7XHJcbiAgICAgICAgICB0eXBlOiBncmlkT3B0aW9uPy5jb25maWc/LnN0b3JhZ2UsXHJcbiAgICAgICAgICBhcmdzOiBncmlkT3B0aW9uPy5jb25maWc/LmFyZ3NcclxuICAgICAgICB9KTtcclxuICAgICAgICByZW1vdmUoKTtcclxuICAgICAgfVxyXG4gICAgfTtcclxuICB9XHJcblxyXG4gIC8vIGdldCA9IGFzeW5jIChncmlkT3B0aW9uOiBTZEdyaWRNYXRlcmlhbE9wdGlvbik6IFByb21pc2U8U2RHcmlkQ29uZmlndXJhdGlvbj4gPT4ge1xyXG4gIC8vICAgaWYgKCFncmlkT3B0aW9uPy5rZXkpIHtcclxuICAvLyAgICAgcmV0dXJuIHRoaXMuI2dldERlZmF1bHRDb25maWd1cmF0aW9uKGdyaWRPcHRpb24pO1xyXG4gIC8vICAgfVxyXG4gIC8vICAgY29uc3QgeyBrZXksIGNvbHVtbnMgfSA9IGdyaWRPcHRpb247XHJcbiAgLy8gICBjb25zdCBjb25maWd1cmF0aW9uOiBTZEdyaWRDb25maWd1cmF0aW9uID0gYXdhaXQgdGhpcy5zZXR0aW5nU2VydmljZS5nZXQodGhpcy4jZ2V0S2V5KGtleSkpLmNhdGNoKCgpID0+IHVuZGVmaW5lZCk7XHJcbiAgLy8gICBpZiAoIWNvbmZpZ3VyYXRpb24/LmNvbHVtbnMpIHtcclxuICAvLyAgICAgdGhpcy5zZXR0aW5nU2VydmljZS5yZW1vdmUodGhpcy4jZ2V0S2V5KGtleSkpLmNhdGNoKGNvbnNvbGUuZXJyb3IpO1xyXG4gIC8vICAgICByZXR1cm4gdGhpcy4jZ2V0RGVmYXVsdENvbmZpZ3VyYXRpb24oZ3JpZE9wdGlvbik7XHJcbiAgLy8gICB9XHJcbiAgLy8gICBjb25maWd1cmF0aW9uLmNvbHVtbnMgPSBjb25maWd1cmF0aW9uLmNvbHVtbnNcclxuICAvLyAgICAgLmZpbHRlcihjb2x1bW4gPT4gY29sdW1ucy5zb21lKGUgPT4gIWUuaGlkZGVuICYmIGUuZmllbGQgPT09IGNvbHVtbi5vcmlnaW4uZmllbGQpKTtcclxuICAvLyAgIC8vIFRow6ptIG5o4buvbmcgY29sdW1uIG3hu5tpIHbDoG8gc3RvcmFnZSBu4bq/dSBjw7NcclxuICAvLyAgIGNvbHVtbnMuZm9yRWFjaChjb2x1bW4gPT4ge1xyXG4gIC8vICAgICBjb25zdCBjb2wgPSBjb25maWd1cmF0aW9uLmNvbHVtbnMuZmluZChlID0+IGUub3JpZ2luPy5maWVsZCA9PT0gY29sdW1uLmZpZWxkKTtcclxuICAvLyAgICAgaWYgKCFjb2wpIHtcclxuICAvLyAgICAgICBjb25maWd1cmF0aW9uLmNvbHVtbnMucHVzaCh7XHJcbiAgLy8gICAgICAgICBvcmlnaW46IHtcclxuICAvLyAgICAgICAgICAgZmllbGQ6IGNvbHVtbi5maWVsZCxcclxuICAvLyAgICAgICAgICAgdGl0bGU6IGNvbHVtbi50aXRsZSxcclxuICAvLyAgICAgICAgICAgd2lkdGg6IGNvbHVtbi53aWR0aCxcclxuICAvLyAgICAgICAgICAgaW52aXNpYmxlOiBjb2x1bW4uaW52aXNpYmxlLFxyXG4gIC8vICAgICAgICAgfSxcclxuICAvLyAgICAgICAgIGludmlzaWJsZTogY29sdW1uLmludmlzaWJsZSxcclxuICAvLyAgICAgICAgIGZpeGVkOiBmYWxzZVxyXG4gIC8vICAgICAgIH0pO1xyXG4gIC8vICAgICB9IGVsc2Uge1xyXG4gIC8vICAgICAgIGNvbC5vcmlnaW4gPSB7XHJcbiAgLy8gICAgICAgICBmaWVsZDogY29sdW1uLmZpZWxkLFxyXG4gIC8vICAgICAgICAgdGl0bGU6IGNvbHVtbi50aXRsZSxcclxuICAvLyAgICAgICAgIHdpZHRoOiBjb2x1bW4ud2lkdGgsXHJcbiAgLy8gICAgICAgICBpbnZpc2libGU6IGNvbHVtbi5pbnZpc2libGVcclxuICAvLyAgICAgICB9O1xyXG4gIC8vICAgICB9XHJcbiAgLy8gICB9KTtcclxuICAvLyAgIHJldHVybiBjb25maWd1cmF0aW9uO1xyXG4gIC8vIH1cclxuXHJcbiAgLy8gc2V0ID0gYXN5bmMgKGtleTogc3RyaW5nLCBjb25maWd1cmF0aW9uOiBTZEdyaWRDb25maWd1cmF0aW9uKTogUHJvbWlzZTxTZEdyaWRDb25maWd1cmF0aW9uPiA9PiB7XHJcbiAgLy8gICBpZiAoa2V5KSB7XHJcbiAgLy8gICAgIHRoaXMuc2V0dGluZ1NlcnZpY2Uuc2V0KHRoaXMuI2dldEtleShrZXkpLCBjb25maWd1cmF0aW9uKTtcclxuICAvLyAgIH1cclxuICAvLyAgIHJldHVybiBjb25maWd1cmF0aW9uO1xyXG4gIC8vIH1cclxuXHJcbiAgLy8gcmVtb3ZlID0gKGtleTogc3RyaW5nKSA9PiB7XHJcbiAgLy8gICBpZiAoa2V5KSB7XHJcbiAgLy8gICAgIHRoaXMuc2V0dGluZ1NlcnZpY2UucmVtb3ZlKHRoaXMuI2dldEtleShrZXkpKTtcclxuICAvLyAgIH1cclxuICAvLyB9XHJcblxyXG4gIGdlbmVyYXRlQ29uZmlndXJhdGlvblJlc3VsdCA9IChcclxuICAgIGNvbmZpZ3VyYXRpb246IFNkR3JpZENvbmZpZ3VyYXRpb24sXHJcbiAgICBncmlkT3B0aW9uOiBTZEdyaWRNYXRlcmlhbE9wdGlvbixcclxuICAgIHNkU3ViSW5mb3JtYXRpb246IFNkTWF0ZXJpYWxTdWJJbmZvcm1hdGlvbkRlZkRpcmVjdGl2ZSkgPT4ge1xyXG4gICAgY29uc3QgcmVzdWx0OiBTZEdyaWRDb25maWd1cmF0aW9uUmVzdWx0ID0ge1xyXG4gICAgICBjb2x1bW46IHt9LFxyXG4gICAgICBmaXhlZENvbHVtbjoge30sXHJcbiAgICAgIGZpcnN0Q29sdW1uczogW10sXHJcbiAgICAgIHNlY29uZENvbHVtbnM6IFtdLFxyXG4gICAgICBmaXJzdEhlYWRlcnM6IFtdLFxyXG4gICAgICBzZWNvbmRIZWFkZXJzOiBbXSxcclxuICAgICAgZGlzcGxheWVkQ29sdW1uczogW10sXHJcbiAgICAgIGRpc3BsYXllZEZvb3RlcnM6IFtdLFxyXG4gICAgICBtdWx0aXBsZUhlYWRlcjogZmFsc2VcclxuICAgIH07XHJcbiAgICBjb25zdCB7IHNlbGVjdGlvbiwgY29tbWFuZHMsIGVkaXRvciB9ID0gZ3JpZE9wdGlvbiB8fCB7fTtcclxuICAgIGlmIChlZGl0b3I/LmFkZGFibGUgfHwgKGVkaXRvcj8udHlwZSA9PT0gJ2lubGluZScgJiYgZWRpdG9yPy5yZW1vdmFibGUpIHx8IChlZGl0b3I/LnR5cGUgPT09ICdmb2N1cycgJiYgZWRpdG9yPy5lZGl0YWJsZSkpIHtcclxuICAgICAgcmVzdWx0LmZpcnN0SGVhZGVycy5wdXNoKHRoaXMuI0NPTFVNTlMuRURJVE9SVkFMSURBVElPTik7XHJcbiAgICAgIHJlc3VsdC5kaXNwbGF5ZWRDb2x1bW5zLnB1c2godGhpcy4jQ09MVU1OUy5FRElUT1JWQUxJREFUSU9OKTtcclxuICAgIH1cclxuICAgIGlmIChzZWxlY3Rpb24/LnZpc2libGUpIHtcclxuICAgICAgcmVzdWx0LmZpcnN0SGVhZGVycy5wdXNoKHRoaXMuI0NPTFVNTlMuU0VMRUNUSU9OKTtcclxuICAgICAgcmVzdWx0LmRpc3BsYXllZENvbHVtbnMucHVzaCh0aGlzLiNDT0xVTU5TLlNFTEVDVElPTik7XHJcbiAgICB9XHJcbiAgICBpZiAoZWRpdG9yPy5hZGRhYmxlIHx8IChlZGl0b3I/LnR5cGUgPT09ICdpbmxpbmUnICYmIGVkaXRvcj8ucmVtb3ZhYmxlKSB8fCAoZWRpdG9yPy50eXBlID09PSAnZm9jdXMnICYmIGVkaXRvcj8uZWRpdGFibGUpIHx8IChlZGl0b3I/LnR5cGUgPT09ICdwb3B1cCcgJiYgZWRpdG9yPy5lZGl0YWJsZSkpIHtcclxuICAgICAgcmVzdWx0LmZpcnN0SGVhZGVycy5wdXNoKHRoaXMuI0NPTFVNTlMuRURJVE9SKTtcclxuICAgICAgcmVzdWx0LmRpc3BsYXllZENvbHVtbnMucHVzaCh0aGlzLiNDT0xVTU5TLkVESVRPUik7XHJcbiAgICB9XHJcbiAgICBpZiAoY29tbWFuZHM/Lmxlbmd0aCkge1xyXG4gICAgICByZXN1bHQuZmlyc3RIZWFkZXJzLnB1c2godGhpcy4jQ09MVU1OUy5DT01NQU5EKTtcclxuICAgICAgcmVzdWx0LmRpc3BsYXllZENvbHVtbnMucHVzaCh0aGlzLiNDT0xVTU5TLkNPTU1BTkQpO1xyXG4gICAgfVxyXG4gICAgY29uZmlndXJhdGlvbj8uY29sdW1ucz8uZmlsdGVyKGNvbCA9PiAhY29sLmludmlzaWJsZSkuZm9yRWFjaChjb2wgPT4ge1xyXG4gICAgICBpZiAoY29sLmlzR2VuZXJhdGVkQ29sdW1uKSB7XHJcbiAgICAgICAgcmVzdWx0LmNvbHVtbltjb2wub3JpZ2luLmZpZWxkXSA9IHtcclxuICAgICAgICAgIHRpdGxlOiBjb2wudGl0bGUgfHwgY29sLm9yaWdpbi50aXRsZSxcclxuICAgICAgICAgIHdpZHRoOiBjb2wud2lkdGggfHwgY29sLm9yaWdpbi53aWR0aCxcclxuICAgICAgICB9O1xyXG4gICAgICAgIGlmIChjb2wuZml4ZWQpIHtcclxuICAgICAgICAgIHJlc3VsdC5maXhlZENvbHVtbltjb2wub3JpZ2luLmZpZWxkXSA9IHtcclxuICAgICAgICAgICAgdGl0bGU6IGNvbC50aXRsZSB8fCBjb2wub3JpZ2luLnRpdGxlLFxyXG4gICAgICAgICAgICB3aWR0aDogY29sLndpZHRoIHx8IGNvbC5vcmlnaW4ud2lkdGgsXHJcbiAgICAgICAgICB9O1xyXG4gICAgICAgIH1cclxuICAgICAgICBjb25zdCBnZW5lcmF0ZWRDb2x1bW46IFNkR3JpZE1hdGVyaWFsQ29sdW1uID0ge1xyXG4gICAgICAgICAgdHlwZTogJ2NoaWxkcmVuJyxcclxuICAgICAgICAgIGZpZWxkOiBjb2wub3JpZ2luLmZpZWxkLFxyXG4gICAgICAgICAgdGl0bGU6IGNvbC5vcmlnaW4udGl0bGUsXHJcbiAgICAgICAgICBjaGlsZHJlbjogW11cclxuICAgICAgICB9O1xyXG4gICAgICAgIGZvciAoY29uc3Qgc3ViQ29sdW1uIG9mIGdyaWRPcHRpb24/LmNvbHVtbnMuZmlsdGVyKGUxID0+IGNvbC5nZW5lcmF0ZWRDb2x1bW5zLmluY2x1ZGVzKGUxLmZpZWxkKSkpIHtcclxuICAgICAgICAgIGlmIChzdWJDb2x1bW4udHlwZSA9PT0gJ2NoaWxkcmVuJyB8fCBzdWJDb2x1bW4udHlwZSA9PT0gJ2NoaWxkcmVuLWNvbCcpIHtcclxuICAgICAgICAgICAgZm9yIChjb25zdCBjaGlsZENvbHVtbiBvZiBzdWJDb2x1bW4uY2hpbGRyZW4pIHtcclxuICAgICAgICAgICAgICBnZW5lcmF0ZWRDb2x1bW4uY2hpbGRyZW4ucHVzaCh7XHJcbiAgICAgICAgICAgICAgICAuLi5jaGlsZENvbHVtbixcclxuICAgICAgICAgICAgICAgIGNvbFNwYW46IDJcclxuICAgICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgZ2VuZXJhdGVkQ29sdW1uLmNoaWxkcmVuLnB1c2goe1xyXG4gICAgICAgICAgICAgIC4uLnN1YkNvbHVtbixcclxuICAgICAgICAgICAgICBjb2xTcGFuOiAyXHJcbiAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgfVxyXG5cclxuICAgICAgICB9XHJcbiAgICAgICAgcmVzdWx0LmZpcnN0Q29sdW1ucy5wdXNoKHtcclxuICAgICAgICAgIC4uLmdlbmVyYXRlZENvbHVtbixcclxuICAgICAgICAgIHRpdGxlOiBjb2wudGl0bGUgfHwgY29sLm9yaWdpbi50aXRsZSxcclxuICAgICAgICAgIHdpZHRoOiBjb2wud2lkdGggfHwgY29sLm9yaWdpbi53aWR0aFxyXG4gICAgICAgIH0pO1xyXG4gICAgICAgIHJlc3VsdC5maXJzdEhlYWRlcnMucHVzaChjb2wub3JpZ2luLmZpZWxkKTtcclxuICAgICAgICByZXN1bHQuZGlzcGxheWVkQ29sdW1ucy5wdXNoKGNvbC5vcmlnaW4uZmllbGQpO1xyXG4gICAgICAgIHJldHVybjtcclxuICAgICAgfVxyXG4gICAgICBjb25zdCBjb2x1bW4gPSBncmlkT3B0aW9uPy5jb2x1bW5zLmZpbmQoZSA9PiBlLmZpZWxkID09PSBjb2wub3JpZ2luLmZpZWxkKTtcclxuICAgICAgaWYgKGNvbHVtbikge1xyXG4gICAgICAgIHJlc3VsdC5jb2x1bW5bY29sLm9yaWdpbi5maWVsZF0gPSB7XHJcbiAgICAgICAgICB0aXRsZTogY29sLnRpdGxlIHx8IGNvbC5vcmlnaW4udGl0bGUsXHJcbiAgICAgICAgICB3aWR0aDogY29sLndpZHRoIHx8IGNvbC5vcmlnaW4ud2lkdGgsXHJcbiAgICAgICAgfTtcclxuICAgICAgICBpZiAoY29sLmZpeGVkKSB7XHJcbiAgICAgICAgICByZXN1bHQuZml4ZWRDb2x1bW5bY29sLm9yaWdpbi5maWVsZF0gPSB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBjb2wudGl0bGUgfHwgY29sLm9yaWdpbi50aXRsZSxcclxuICAgICAgICAgICAgd2lkdGg6IGNvbC53aWR0aCB8fCBjb2wub3JpZ2luLndpZHRoLFxyXG4gICAgICAgICAgfTtcclxuICAgICAgICB9XHJcbiAgICAgICAgcmVzdWx0LmZpcnN0Q29sdW1ucy5wdXNoKHtcclxuICAgICAgICAgIC4uLmNvbHVtbixcclxuICAgICAgICAgIHRpdGxlOiBjb2wudGl0bGUgfHwgY29sLm9yaWdpbi50aXRsZSxcclxuICAgICAgICAgIHdpZHRoOiBjb2wud2lkdGggfHwgY29sLm9yaWdpbi53aWR0aFxyXG4gICAgICAgIH0pO1xyXG4gICAgICAgIHJlc3VsdC5maXJzdEhlYWRlcnMucHVzaChjb2wub3JpZ2luLmZpZWxkKTtcclxuICAgICAgICBpZiAoY29sdW1uLnR5cGUgPT09ICdjaGlsZHJlbi1jb2wnKSB7XHJcbiAgICAgICAgICBjb2x1bW4uY2hpbGRyZW4/LmZvckVhY2goY2hpbGRDb2x1bW4gPT4ge1xyXG4gICAgICAgICAgICByZXN1bHQuc2Vjb25kQ29sdW1ucy5wdXNoKGNoaWxkQ29sdW1uKTtcclxuICAgICAgICAgICAgcmVzdWx0LnNlY29uZEhlYWRlcnMucHVzaChjaGlsZENvbHVtbi5maWVsZCk7XHJcbiAgICAgICAgICAgIHJlc3VsdC5kaXNwbGF5ZWRDb2x1bW5zLnB1c2goY2hpbGRDb2x1bW4uZmllbGQpO1xyXG4gICAgICAgICAgfSk7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgIHJlc3VsdC5kaXNwbGF5ZWRDb2x1bW5zLnB1c2goY29sLm9yaWdpbi5maWVsZCk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICAgIGlmIChzZFN1YkluZm9ybWF0aW9uPy50ZW1wbGF0ZVJlZikge1xyXG4gICAgICByZXN1bHQuZmlyc3RIZWFkZXJzLnB1c2godGhpcy4jQ09MVU1OUy5TVUJJTkZPUk1BVElPTik7XHJcbiAgICAgIHJlc3VsdC5kaXNwbGF5ZWRDb2x1bW5zLnB1c2godGhpcy4jQ09MVU1OUy5TVUJJTkZPUk1BVElPTik7XHJcbiAgICB9XHJcbiAgICByZXN1bHQubXVsdGlwbGVIZWFkZXIgPSByZXN1bHQuc2Vjb25kSGVhZGVycy5sZW5ndGggPiAwO1xyXG4gICAgLy8gU3ViIGluZm9tYXRpb24ga2jDtG5nIHRo4buDIGPDsyBmb290ZXJcclxuICAgIHJlc3VsdC5kaXNwbGF5ZWRGb290ZXJzID0gcmVzdWx0LmRpc3BsYXllZENvbHVtbnMuZmlsdGVyKHZhbCA9PiB2YWwgIT09IHRoaXMuI0NPTFVNTlMuU1VCSU5GT1JNQVRJT04pO1xyXG4gICAgcmV0dXJuIHJlc3VsdDtcclxuICB9XHJcbn1cclxuIl19
@@ -377,7 +377,7 @@ _name = new WeakMap(), _form = new WeakMap(), _model = new WeakMap(), _items = n
377
377
  SdSelect.decorators = [
378
378
  { type: Component, args: [{
379
379
  selector: 'sd-select',
380
- template: "<div class=\"d-flex align-items-center\">\r\n <mat-form-field class=\"sd-md\" [ngClass]=\"{'sd-sm': size === 'sm', 'no-padding-wrapper': disableErrorMessage}\"\r\n appearance=\"outline\">\r\n <mat-label *ngIf=\"label\">{{label}}</mat-label>\r\n <mat-select #select [formControl]=\"formControl\" placeholder=\"{{placeholder || label}}\" multiple\r\n (selectionChange)=\"onSelectionChange($event)\" disableOptionCentering=\"true\" panelClass=\"sd-select-panel\"\r\n [ngClass]=\"{'sd-selected': !isRequired && (multiple ? formControl?.value?.length : formControl?.value)}\"\r\n [required]=\"isRequired\" *ngIf=\"multiple\">\r\n <mat-option *ngIf=\"filtered\" class=\"sd-filtered-input\" (keyup.Space)=\"$event.stopPropagation()\" disabled=\"true\">\r\n <mat-form-field class=\"sd-md\" appearance=\"outline\">\r\n <mat-icon matPrefix>search</mat-icon>\r\n <input placeholder=\"{{'Search' | sdTranslate}}\" matInput autocomplete=\"off\" (keydown)=\"$event.stopPropagation()\" (keyup)=\"searchTerm$.next($event.target.value)\">\r\n </mat-form-field>\r\n </mat-option>\r\n <ng-container *ngIf=\"multiple && selectAll\">\r\n <mat-checkbox class=\"mat-option\" [(ngModel)]=\"allSelected\" [ngModelOptions]=\"{standalone: true}\"\r\n (change)=\"onSelectAll()\">\r\n T\u1EA5t c\u1EA3</mat-checkbox>\r\n </ng-container>\r\n <ng-container *ngIf=\"valueField && displayField\">\r\n <mat-option *ngFor=\"let item of filteredItems | async\" [value]=\"item[valueField]\" matTooltipPosition=\"above\"\r\n [matTooltip]=\"item[displayField]\">\r\n {{item[displayField]}}\r\n </mat-option>\r\n </ng-container>\r\n <ng-container *ngIf=\"!valueField && !displayField\">\r\n <mat-option *ngFor=\"let item of filteredItems | async\" [value]=\"item\" matTooltipPosition=\"above\"\r\n [matTooltip]=\"item\">\r\n {{item}}\r\n </mat-option>\r\n </ng-container>\r\n </mat-select>\r\n <mat-select #select [formControl]=\"formControl\" placeholder=\"{{placeholder || label}}\"\r\n (selectionChange)=\"onSelectionChange($event)\" disableOptionCentering=\"true\" panelClass=\"sd-select-panel\"\r\n [ngClass]=\"{'sd-selected': !isRequired && formControl?.value}\"\r\n [required]=\"isRequired\" *ngIf=\"!multiple\">\r\n <mat-option *ngIf=\"filtered\" class=\"sd-filtered-input\" (keyup.Space)=\"$event.stopPropagation()\" disabled=\"true\">\r\n <mat-form-field class=\"sd-md\" appearance=\"outline\">\r\n <mat-icon matPrefix>search</mat-icon>\r\n <input placeholder=\"{{'Search' | sdTranslate}}\" matInput autocomplete=\"off\" (keydown)=\"$event.stopPropagation()\" (keyup)=\"searchTerm$.next($event.target.value)\">\r\n </mat-form-field>\r\n </mat-option>\r\n <ng-container *ngIf=\"valueField && displayField\">\r\n <mat-option *ngFor=\"let item of filteredItems | async\" [value]=\"item[valueField]\" matTooltipPosition=\"above\"\r\n [matTooltip]=\"item[displayField]\">\r\n {{item[displayField]}}\r\n </mat-option>\r\n </ng-container>\r\n <ng-container *ngIf=\"!valueField && !displayField\">\r\n <mat-option *ngFor=\"let item of filteredItems | async\" [value]=\"item\" matTooltipPosition=\"above\"\r\n [matTooltip]=\"item\">\r\n {{item}}\r\n </mat-option>\r\n </ng-container>\r\n </mat-select>\r\n <mat-icon\r\n *ngIf=\"(multiple ? formControl?.value?.length : formControl?.value) && !isRequired && !formControl.disabled\"\r\n class=\"pointer sd-suffix-icon\" (click)=\"clear($event)\" matSuffix>cancel\r\n </mat-icon>\r\n <mat-error *ngIf=\"formControl.errors?.required && !disableErrorMessage\">\r\n {{'This field is required' | sdTranslate}}\r\n </mat-error>\r\n <mat-error *ngIf=\"formControl?.errors?.customValidator && !disableErrorMessage\">\r\n {{formControl?.errors?.customValidator}}\r\n </mat-error>\r\n </mat-form-field>\r\n</div>\r\n",
380
+ template: "<div class=\"d-flex align-items-center\">\r\n <mat-form-field class=\"sd-md\" [ngClass]=\"{'sd-sm': size === 'sm', 'no-padding-wrapper': disableErrorMessage}\"\r\n appearance=\"outline\">\r\n <mat-label *ngIf=\"label\">{{label}}</mat-label>\r\n <mat-select #select [formControl]=\"formControl\" placeholder=\"{{placeholder || label}}\" multiple\r\n (selectionChange)=\"onSelectionChange($event)\" disableOptionCentering=\"true\" panelClass=\"sd-select-panel\"\r\n [ngClass]=\"{'sd-selected': !isRequired && (multiple ? formControl?.value?.length : formControl?.value)}\"\r\n [required]=\"isRequired\" *ngIf=\"multiple\">\r\n <mat-option *ngIf=\"filtered\" class=\"sd-filtered-input\" (keyup.Space)=\"$event.stopPropagation()\" disabled=\"true\">\r\n <mat-form-field class=\"sd-md\" appearance=\"outline\">\r\n <mat-icon matPrefix>search</mat-icon>\r\n <input #input placeholder=\"{{'Search' | sdTranslate}}\" matInput autocomplete=\"off\"\r\n (keydown)=\"$event.stopPropagation()\" (keyup)=\"searchTerm$.next($event.target.value)\"\r\n (blur)=\"input.value = null\">\r\n </mat-form-field>\r\n </mat-option>\r\n <ng-container *ngIf=\"multiple && selectAll\">\r\n <mat-checkbox class=\"mat-option\" [(ngModel)]=\"allSelected\" [ngModelOptions]=\"{standalone: true}\"\r\n (change)=\"onSelectAll()\">\r\n T\u1EA5t c\u1EA3</mat-checkbox>\r\n </ng-container>\r\n <ng-container *ngIf=\"valueField && displayField\">\r\n <mat-option *ngFor=\"let item of filteredItems | async\" [value]=\"item[valueField]\" matTooltipPosition=\"above\"\r\n [matTooltip]=\"item[displayField]\">\r\n {{item[displayField]}}\r\n </mat-option>\r\n </ng-container>\r\n <ng-container *ngIf=\"!valueField && !displayField\">\r\n <mat-option *ngFor=\"let item of filteredItems | async\" [value]=\"item\" matTooltipPosition=\"above\"\r\n [matTooltip]=\"item\">\r\n {{item}}\r\n </mat-option>\r\n </ng-container>\r\n </mat-select>\r\n <mat-select #select [formControl]=\"formControl\" placeholder=\"{{placeholder || label}}\"\r\n (selectionChange)=\"onSelectionChange($event)\" disableOptionCentering=\"true\" panelClass=\"sd-select-panel\"\r\n [ngClass]=\"{'sd-selected': !isRequired && formControl?.value}\" [required]=\"isRequired\" *ngIf=\"!multiple\">\r\n <mat-option *ngIf=\"filtered\" class=\"sd-filtered-input\" (keyup.Space)=\"$event.stopPropagation()\" disabled=\"true\">\r\n <mat-form-field class=\"sd-md\" appearance=\"outline\">\r\n <mat-icon matPrefix>search</mat-icon>\r\n <input #input placeholder=\"{{'Search' | sdTranslate}}\" matInput autocomplete=\"off\"\r\n (keydown)=\"$event.stopPropagation()\" (keyup)=\"searchTerm$.next($event.target.value)\"\r\n (blur)=\"input.value = null\">\r\n </mat-form-field>\r\n </mat-option>\r\n <ng-container *ngIf=\"valueField && displayField\">\r\n <mat-option *ngFor=\"let item of filteredItems | async\" [value]=\"item[valueField]\" matTooltipPosition=\"above\"\r\n [matTooltip]=\"item[displayField]\">\r\n {{item[displayField]}}\r\n </mat-option>\r\n </ng-container>\r\n <ng-container *ngIf=\"!valueField && !displayField\">\r\n <mat-option *ngFor=\"let item of filteredItems | async\" [value]=\"item\" matTooltipPosition=\"above\"\r\n [matTooltip]=\"item\">\r\n {{item}}\r\n </mat-option>\r\n </ng-container>\r\n </mat-select>\r\n <mat-icon\r\n *ngIf=\"(multiple ? formControl?.value?.length : formControl?.value) && !isRequired && !formControl.disabled\"\r\n class=\"pointer sd-suffix-icon\" (click)=\"clear($event)\" matSuffix>cancel\r\n </mat-icon>\r\n <mat-error *ngIf=\"formControl.errors?.required && !disableErrorMessage\">\r\n {{'This field is required' | sdTranslate}}\r\n </mat-error>\r\n <mat-error *ngIf=\"formControl?.errors?.customValidator && !disableErrorMessage\">\r\n {{formControl?.errors?.customValidator}}\r\n </mat-error>\r\n </mat-form-field>\r\n</div>",
381
381
  styles: [":host{display:block;padding-top:5px}:host ::ng-deep .mat-form-field.mat-form-field-appearance-outline .mat-select-arrow-wrapper{transform:none}:host ::ng-deep .sd-selected .mat-select-arrow{border:none}:host ::ng-deep .mat-form-field.no-padding-wrapper .mat-form-field-wrapper{padding-bottom:0}:host ::ng-deep .mat-form-field.mat-form-field-appearance-outline.mat-form-field-disabled .mat-form-field-outline{background:#f6f6f6;color:#e9e9e9}:host ::ng-deep .mat-form-field mat-select.mat-select-disabled .mat-select-value{color:#4d4d4d!important}:host ::ng-deep .mat-form-field .mat-placeholder-required{color:#f82c13}::ng-deep .sd-select-panel .mat-option.sd-filtered-input{background-color:#fff;position:-webkit-sticky;position:sticky;top:0;z-index:10}::ng-deep .sd-select-panel .mat-option.sd-filtered-input .mat-form-field.mat-form-field-appearance-outline{width:100%}::ng-deep .sd-select-panel .mat-option.sd-filtered-input mat-pseudo-checkbox{display:none}::ng-deep .mat-select-panel .mat-option.sd-filtered-input{height:auto}::ng-deep .sd-select-panel .mat-option.sd-filtered-input input{color:#000}::ng-deep .sd-select-panel .mat-option.sd-filtered-input .mat-form-field-prefix .mat-icon{margin-right:0}::ng-deep .sd-select-panel .mat-option.sd-filtered-input .mat-form-field.mat-form-field-appearance-outline .mat-form-field-wrapper{padding:10px 0}::ng-deep .sd-select-panel .mat-option.sd-filtered-input .mat-form-field.mat-form-field-appearance-outline .mat-form-field-wrapper .mat-form-field-outline{background-color:rgba(0,0,0,.04)}"]
382
382
  },] }
383
383
  ];
@@ -408,4 +408,4 @@ SdSelect.propDecorators = {
408
408
  sdChange: [{ type: Output }],
409
409
  sdSelection: [{ type: Output }]
410
410
  };
411
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJDOi9Vc2Vycy9uZ2hpYXR0MTUvRGVza3RvcC9Xb3JraW5nLzFNRy9saWItY29yZS11aS9wcm9qZWN0cy9zZC1jb3JlL3NlbGVjdC8iLCJzb3VyY2VzIjpbInNyYy9saWIvc2VsZWN0LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxZQUFZLEVBQUUsaUJBQWlCLEVBQW9DLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN2SSxPQUFPLEVBQUUsTUFBTSxFQUFFLFdBQVcsRUFBRSxVQUFVLEVBQTZELE1BQU0sZ0JBQWdCLENBQUM7QUFDNUgsT0FBTyxLQUFLLElBQUksTUFBTSxNQUFNLENBQUM7QUFFN0IsT0FBTyxFQUFjLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMzQyxPQUFPLEVBQUUsWUFBWSxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNwRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQU81RCxNQUFNLE9BQU8sUUFBUTtJQXlJbkIsWUFDVSxHQUFzQixFQUN0QixjQUFnQztRQURoQyxRQUFHLEdBQUgsR0FBRyxDQUFtQjtRQUN0QixtQkFBYyxHQUFkLGNBQWMsQ0FBa0I7UUF6STFDLGdCQUFRLElBQUksQ0FBQyxFQUFFLEVBQUUsRUFBQztRQU1sQix3QkFBbUIsR0FBRyxLQUFLLENBQUM7UUFLNUIsZ0JBQVcsR0FBRyxJQUFJLFdBQVcsRUFBRSxDQUFDO1FBRWhDLGdCQUFXLEdBQUcsSUFBSSxPQUFPLEVBQUUsQ0FBQztRQWlDNUIsd0JBQWlCO1FBYWpCLFFBQVE7UUFDUix5QkFBd0Q7UUFjeEQsUUFBUTtRQUNSLGlCQUE0RCxFQUFFLEVBQUM7UUFDL0Qsd0JBQXVCLEVBQUUsRUFBQztRQUMxQixtQkFFSSxFQUFFLEVB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O1FBQ1QsbUZBQVksYUFBYSxzQ0FBYTtJQUN4QyxDQUFDO0lBMERELFdBQVc7UUFDVCxJQUFJLElBQUksQ0FBQyxXQUFXLEVBQUU7WUFDcEIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7U0FDbEU7YUFBTTtZQUNMLElBQUksQ0FBQyxXQUFXLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1NBQy9CO1FBQ0QsNkNBQUEsSUFBSSxFQUFXLElBQUksQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDekMsQ0FBQzs7OztZQWxTRixTQUFTLFNBQUM7Z0JBQ1QsUUFBUSxFQUFFLFdBQVc7Z0JBQ3JCLHNnSUFBc0M7O2FBRXZDOzs7WUFaZ0QsaUJBQWlCO1lBTXpELGdCQUFnQjs7O3FCQVF0QixTQUFTLFNBQUMsUUFBUTttQkFFbEIsS0FBSzttQ0FNTCxLQUFLLFNBQUMscUJBQXFCO21CQXNDM0IsS0FBSzttQkFFTCxLQUFLO29CQVNMLEtBQUs7MEJBQ0wsS0FBSztvQkFJTCxLQUFLO29CQW1CTCxLQUFLO3lCQVVMLEtBQUs7MkJBQ0wsS0FBSzt1QkFTTCxLQUFLO3dCQUlMLEtBQUs7dUJBS0wsS0FBSzt3QkFTTCxLQUFLLFNBQUMsVUFBVTtvQkFHaEIsS0FBSzt3QkFFTCxLQUFLLFNBQUMsVUFBVTt5QkFJaEIsS0FBSyxTQUFDLFdBQVc7MEJBS2pCLE1BQU07dUJBQ04sTUFBTTswQkFDTixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgT3V0cHV0LCBFdmVudEVtaXR0ZXIsIENoYW5nZURldGVjdG9yUmVmLCBBZnRlclZpZXdJbml0LCBPbkRlc3Ryb3ksIE9uSW5pdCwgVmlld0NoaWxkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IE5nRm9ybSwgRm9ybUNvbnRyb2wsIFZhbGlkYXRvcnMsIFZhbGlkYXRvckZuLCBBYnN0cmFjdENvbnRyb2wsIEFzeW5jVmFsaWRhdG9yRm4sIEZvcm1Hcm91cCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0ICogYXMgdXVpZCBmcm9tICd1dWlkJztcclxuaW1wb3J0IHsgTWF0U2VsZWN0LCBNYXRTZWxlY3RDaGFuZ2UgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9zZWxlY3QnO1xyXG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IGRlYm91bmNlVGltZSwgc3RhcnRXaXRoLCBzd2l0Y2hNYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcbmltcG9ydCB7IFNkVXRpbGl0eVNlcnZpY2UgfSBmcm9tICdAc2QtYW5ndWxhci9jb3JlL3V0aWxpdHknO1xyXG5pbXBvcnQgeyBNYXRPcHRpb24gfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9jb3JlL29wdGlvbic7XHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnc2Qtc2VsZWN0JyxcclxuICB0ZW1wbGF0ZVVybDogJy4vc2VsZWN0LmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9zZWxlY3QuY29tcG9uZW50LnNjc3MnXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgU2RTZWxlY3QgaW1wbGVtZW50cyBPbkluaXQsIEFmdGVyVmlld0luaXQsIE9uRGVzdHJveSB7XHJcbiAgQFZpZXdDaGlsZCgnc2VsZWN0Jykgc2VsZWN0OiBNYXRTZWxlY3Q7XHJcbiAgI25hbWUgPSB1dWlkLnY0KCk7XHJcbiAgQElucHV0KCkgc2V0IG5hbWUodmFsOiBzdHJpbmcpIHtcclxuICAgIGlmICh2YWwpIHtcclxuICAgICAgdGhpcy4jbmFtZSA9IHZhbDtcclxuICAgIH1cclxuICB9XHJcbiAgZGlzYWJsZUVycm9yTWVzc2FnZSA9IGZhbHNlO1xyXG4gIEBJbnB1dCgnZGlzYWJsZUVycm9yTWVzc2FnZScpIHNldCBfZGlzYWJsZUVycm9yTWVzc2FnZSh2YWw6IGJvb2xlYW4gfCAnJykge1xyXG4gICAgdGhpcy5kaXNhYmxlRXJyb3JNZXNzYWdlID0gKHZhbCA9PT0gJycpIHx8IHZhbDtcclxuICAgIHZhbCA9ICh2YWwgPT09ICcnKSB8fCB2YWw7XHJcbiAgfVxyXG4gIGZvcm1Db250cm9sID0gbmV3IEZvcm1Db250cm9sKCk7XHJcblxyXG4gIHNlYXJjaFRlcm0kID0gbmV3IFN1YmplY3QoKTtcclxuXHJcbiAgZ2V0IGRhdGFUeXBlKCk6ICdib29sZWFuJyB8ICdudW1iZXInIHwgJ3N0cmluZycge1xyXG4gICAgaWYgKEFycmF5LmlzQXJyYXkodGhpcy4jbW9kZWwpKSB7XHJcbiAgICAgIGlmICh0aGlzLiNtb2RlbC5sZW5ndGggJiYgdHlwZW9mICh0aGlzLiNtb2RlbFswXSkgPT09ICdudW1iZXInKSB7XHJcbiAgICAgICAgcmV0dXJuICdudW1iZXInO1xyXG4gICAgICB9XHJcbiAgICAgIGlmICh0aGlzLiNtb2RlbC5sZW5ndGggJiYgdHlwZW9mICh0aGlzLiNtb2RlbFswXSkgPT09ICdib29sZWFuJykge1xyXG4gICAgICAgIHJldHVybiAnYm9vbGVhbic7XHJcbiAgICAgIH1cclxuICAgICAgcmV0dXJuICdzdHJpbmcnO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgaWYgKCh0aGlzLiNtb2RlbCAmJiB0eXBlb2YgKHRoaXMuI21vZGVsKSA9PT0gJ251bWJlcicpIHx8IHRoaXMuI21vZGVsID09PSAwKSB7XHJcbiAgICAgICAgcmV0dXJuICdudW1iZXInO1xyXG4gICAgICB9XHJcbiAgICAgIGlmICgodGhpcy4jbW9kZWwgJiYgdHlwZW9mICh0aGlzLiNtb2RlbCkgPT09ICdib29sZWFuJykgfHwgdGhpcy4jbW9kZWwgPT09IGZhbHNlKSB7XHJcbiAgICAgICAgcmV0dXJuICdib29sZWFuJztcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgaWYgKHRoaXMuI2N1cnJlbnRJdGVtcz8ubGVuZ3RoKSB7XHJcbiAgICAgIGlmICh0aGlzLnZhbHVlRmllbGQgJiYgdHlwZW9mICh0aGlzLiNjdXJyZW50SXRlbXNbMF1bdGhpcy52YWx1ZUZpZWxkXSkgPT09ICdudW1iZXInKSB7XHJcbiAgICAgICAgcmV0dXJuICdudW1iZXInO1xyXG4gICAgICB9IGVsc2UgaWYgKHRoaXMudmFsdWVGaWVsZCAmJiB0eXBlb2YgKHRoaXMuI2N1cnJlbnRJdGVtc1swXVt0aGlzLnZhbHVlRmllbGRdKSA9PT0gJ2Jvb2xlYW4nKSB7XHJcbiAgICAgICAgcmV0dXJuICdib29sZWFuJztcclxuICAgICAgfSBlbHNlIGlmICh0eXBlb2YgKHRoaXMuI2N1cnJlbnRJdGVtc1swXSkgPT09ICdudW1iZXInKSB7XHJcbiAgICAgICAgcmV0dXJuICdudW1iZXInO1xyXG4gICAgICB9IGVsc2UgaWYgKHR5cGVvZiAodGhpcy4jY3VycmVudEl0ZW1zWzBdKSA9PT0gJ2Jvb2xlYW4nKSB7XHJcbiAgICAgICAgcmV0dXJuICdib29sZWFuJztcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgcmV0dXJuICdzdHJpbmcnO1xyXG4gIH1cclxuICBASW5wdXQoKSBzaXplOiAnc20nIHwgJ2xnJztcclxuICAjZm9ybTogRm9ybUdyb3VwO1xyXG4gIEBJbnB1dCgpIHNldCBmb3JtKHZhbDogTmdGb3JtIHwgRm9ybUdyb3VwKSB7XHJcbiAgICBpZiAodmFsKSB7XHJcbiAgICAgIGlmICh2YWwgaW5zdGFuY2VvZiBOZ0Zvcm0pIHtcclxuICAgICAgICB0aGlzLiNmb3JtID0gdmFsLmZvcm07XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgdGhpcy4jZm9ybSA9IHZhbDtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuICBASW5wdXQoKSBsYWJlbDogc3RyaW5nO1xyXG4gIEBJbnB1dCgpIHBsYWNlaG9sZGVyOiBzdHJpbmc7XHJcblxyXG4gIC8vIE1vZGVsXHJcbiAgI21vZGVsOiBib29sZWFuIHwgbnVtYmVyIHwgc3RyaW5nIHwgKG51bWJlciB8IHN0cmluZylbXTtcclxuICBASW5wdXQoKSBzZXQgbW9kZWwodmFsdWU6IHVuZGVmaW5lZCB8IGJvb2xlYW4gfCBudW1iZXIgfCBzdHJpbmcgfCAobnVtYmVyIHwgc3RyaW5nKVtdKSB7XHJcbiAgICB0aGlzLiNtb2RlbCA9IHZhbHVlO1xyXG4gICAgaWYgKEFycmF5LmlzQXJyYXkodmFsdWUpKSB7XHJcbiAgICAgIHRoaXMuZm9ybUNvbnRyb2wuc2V0VmFsdWUodmFsdWUubWFwKHZhbCA9PiAodmFsID8/ICcnKSArICcnKSwge1xyXG4gICAgICAgIGVtaXRFdmVudDogZmFsc2VcclxuICAgICAgfSk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLmZvcm1Db250cm9sLnNldFZhbHVlKCh2YWx1ZSA/PyAnJykgKyAnJywge1xyXG4gICAgICAgIGVtaXRFdmVudDogZmFsc2VcclxuICAgICAgfSk7XHJcbiAgICB9XHJcbiAgICB0aGlzLnJlZi5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgfVxyXG4gIC8vIEl0ZW1zXHJcbiAgI2l0ZW1zOiBhbnlbXSB8ICgoc2VhcmNoVGV4dD86IHN0cmluZykgPT4gUHJvbWlzZTxhbnlbXT4pID0gW107XHJcbiAgI2N1cnJlbnRJdGVtczogYW55W10gPSBbXTtcclxuICAjYWxsSXRlbToge1xyXG4gICAgW2tleTogc3RyaW5nXTogYW55XHJcbiAgfSA9IHt9O1xyXG4gIEBJbnB1dCgpIHNldCBpdGVtcyhpdGVtczogdW5kZWZpbmVkIHwgYW55W10gfCAoKHNlYXJjaFRleHQ/OiBzdHJpbmcpID0+IFByb21pc2U8YW55W10+KSkge1xyXG4gICAgaWYgKCFpdGVtcykge1xyXG4gICAgICB0aGlzLiNpdGVtcyA9IFtdO1xyXG4gICAgfSBlbHNlIGlmIChBcnJheS5pc0FycmF5KGl0ZW1zKSkge1xyXG4gICAgICB0aGlzLiNpdGVtcyA9IGl0ZW1zLmZpbHRlcihlID0+IGUgIT09IG51bGwgJiYgZSAhPT0gdW5kZWZpbmVkKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuI2l0ZW1zID0gaXRlbXM7XHJcbiAgICB9XHJcbiAgICB0aGlzLnNlYXJjaFRlcm0kLm5leHQoJycpO1xyXG4gIH1cclxuICBASW5wdXQoKSB2YWx1ZUZpZWxkOiBzdHJpbmc7XHJcbiAgQElucHV0KCkgZGlzcGxheUZpZWxkOiBzdHJpbmc7XHJcblxyXG4gIC8vIFNlcnZlciBzZWFyY2hcclxuICBsb2FkaW5nID0gZmFsc2U7XHJcbiAgI2RlbGF5ID0gNTAwOyAvLyBTYXUga2hv4bqjbmcgdGjhu51pIGdpYW4gZGVsYXkgbuG6v3Uga2jDtG5nIGPDsyB0aGF5IMSR4buVaSB0aMOsIHRow6wgbeG7m2kgYuG6r3QgxJHhuqd1IHRo4buxYyBoaeG7h24gZ+G7jWkgaMOgbVxyXG5cclxuICAvLyBWYWxpZGF0b3JcclxuICBpc1JlcXVpcmVkID0gZmFsc2U7XHJcbiAgI3ZhbGlkYXRvcjogKHZhbHVlOiBhbnkpID0+IHN0cmluZyB8IFByb21pc2U8c3RyaW5nPjtcclxuICBASW5wdXQoKSBzZXQgcmVxdWlyZWQodmFsOiBib29sZWFuIHwgJycpIHtcclxuICAgIHRoaXMuaXNSZXF1aXJlZCA9ICh2YWwgPT09ICcnKSB8fCB2YWw7XHJcbiAgICB0aGlzLiN1cGRhdGVWYWxpZGF0b3IoKTtcclxuICB9XHJcbiAgQElucHV0KCkgc2V0IHZhbGlkYXRvcih2YWxpZGF0b3I6ICh2YWx1ZTogYW55KSA9PiBzdHJpbmcgfCBQcm9taXNlPHN0cmluZz4pIHtcclxuICAgIHRoaXMuI3ZhbGlkYXRvciA9IHZhbGlkYXRvcjtcclxuICAgIHRoaXMuI3VwZGF0ZVZhbGlkYXRvcigpO1xyXG4gIH1cclxuICAvLyBPcHRpb25hbFxyXG4gIEBJbnB1dCgpIHNldCBkaXNhYmxlZCh2YWw6IGJvb2xlYW4gfCAnJykge1xyXG4gICAgdmFsID0gKHZhbCA9PT0gJycpIHx8IHZhbDtcclxuICAgIGlmICh2YWwpIHtcclxuICAgICAgdGhpcy5mb3JtQ29udHJvbC5kaXNhYmxlKCk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLmZvcm1Db250cm9sLmVuYWJsZSgpO1xyXG4gICAgfVxyXG4gIH1cclxuICBtdWx0aXBsZSA9IGZhbHNlO1xyXG4gIEBJbnB1dCgnbXVsdGlwbGUnKSBzZXQgX211bHRpcGxlKHZhbDogYm9vbGVhbiB8ICcnKSB7XHJcbiAgICB0aGlzLm11bHRpcGxlID0gKHZhbCA9PT0gJycpIHx8IHZhbDtcclxuICB9XHJcbiAgQElucHV0KCkgbGltaXQgPSAxMDA7XHJcbiAgZmlsdGVyZWQgPSBmYWxzZTtcclxuICBASW5wdXQoJ2ZpbHRlcmVkJykgc2V0IF9maWx0ZXJlZCh2YWw6IGJvb2xlYW4gfCAnJykge1xyXG4gICAgdGhpcy5maWx0ZXJlZCA9ICh2YWwgPT09ICcnKSB8fCB2YWw7XHJcbiAgfVxyXG4gIHNlbGVjdEFsbCA9IGZhbHNlO1xyXG4gIEBJbnB1dCgnc2VsZWN0QWxsJykgc2V0IF9zZWxlY3RBbGwodmFsOiBib29sZWFuIHwgJycpIHtcclxuICAgIHRoaXMuc2VsZWN0QWxsID0gKHZhbCA9PT0gJycpIHx8IHZhbDtcclxuICB9XHJcbiAgZmlsdGVyZWRJdGVtczogT2JzZXJ2YWJsZTxhbnlbXT47XHJcbiAgYWxsU2VsZWN0ZWQgPSBmYWxzZTtcclxuICBAT3V0cHV0KCkgbW9kZWxDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcbiAgQE91dHB1dCgpIHNkQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG4gIEBPdXRwdXQoKSBzZFNlbGVjdGlvbiA9IG5ldyBFdmVudEVtaXR0ZXI8eyB2YWx1ZTogYW55IHwgYW55W10sIGl0ZW0/OiBhbnksIGl0ZW1zPzogYW55W10gfT4oKTtcclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgcmVmOiBDaGFuZ2VEZXRlY3RvclJlZixcclxuICAgIHByaXZhdGUgdXRpbGl0eVNlcnZpY2U6IFNkVXRpbGl0eVNlcnZpY2UpIHsgfVxyXG5cclxuICBuZ09uSW5pdCgpIHtcclxuICAgIHRoaXMuZmlsdGVyZWRJdGVtcyA9IHRoaXMuc2VhcmNoVGVybSQuYXNPYnNlcnZhYmxlKCkucGlwZShcclxuICAgICAgc3RhcnRXaXRoKCcnKSxcclxuICAgICAgZGVib3VuY2VUaW1lKHR5cGVvZiAodGhpcy4jaXRlbXMpID09PSAnZnVuY3Rpb24nID8gdGhpcy4jZGVsYXkgOiAwKSxcclxuICAgICAgLy8gZGlzdGluY3RVbnRpbENoYW5nZWQoKSwgRMO5bmcgc+G6vSBnw6J5IHJhIGJ1ZyBraGkgaXRlbXMgY2hhbmdlc1xyXG4gICAgICBzd2l0Y2hNYXAoYXN5bmMgKHZhbDogc3RyaW5nKSA9PiB7XHJcbiAgICAgICAgaWYgKHR5cGVvZiAodGhpcy4jaXRlbXMpID09PSAnZnVuY3Rpb24nKSB7XHJcbiAgICAgICAgICBjb25zdCBpdGVtcyA9IGF3YWl0IHRoaXMuI2xvYWRJdGVtcyh2YWwsIHRoaXMuI2l0ZW1zKTtcclxuICAgICAgICAgIHRoaXMuI2N1cnJlbnRJdGVtcyA9IGl0ZW1zLmZpbHRlcigoaXRlbSwgaW5kZXgpID0+IHtcclxuICAgICAgICAgICAgY29uc3QgZm9ybVZhbHVlOiBhbnkgfCBhbnlbXSA9IHRoaXMuZm9ybUNvbnRyb2wudmFsdWU7XHJcbiAgICAgICAgICAgIGxldCB2YWx1ZSA9IGl0ZW0/LnRvU3RyaW5nKCkgfHwgJyc7XHJcbiAgICAgICAgICAgIGlmICh0aGlzLnZhbHVlRmllbGQgJiYgdGhpcy5kaXNwbGF5RmllbGQpIHtcclxuICAgICAgICAgICAgICB2YWx1ZSA9IGl0ZW1bdGhpcy52YWx1ZUZpZWxkXT8udG9TdHJpbmcoKSB8fCAnJztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICByZXR1cm4gKEFycmF5LmlzQXJyYXkoZm9ybVZhbHVlKSA/IGZvcm1WYWx1ZS5zb21lKGUgPT4gZT8udG9TdHJpbmcoKSA9PT0gdmFsdWUpIDogZm9ybVZhbHVlPy50b1N0cmluZygpID09PSB2YWx1ZSlcclxuICAgICAgICAgICAgICB8fCBpbmRleCA8IHRoaXMubGltaXQ7XHJcbiAgICAgICAgICB9KTtcclxuICAgICAgICAgIHJldHVybiB0aGlzLiNjdXJyZW50SXRlbXMubWFwKGUgPT4ge1xyXG4gICAgICAgICAgICBpZiAodGhpcy52YWx1ZUZpZWxkICYmIHRoaXMuZGlzcGxheUZpZWxkKSB7XHJcbiAgICAgICAgICAgICAgcmV0dXJuIHtcclxuICAgICAgICAgICAgICAgIC4uLmUsXHJcbiAgICAgICAgICAgICAgICBbYCR7dGhpcy52YWx1ZUZpZWxkfWBdOiBlW3RoaXMudmFsdWVGaWVsZF0/LnRvU3RyaW5nKClcclxuICAgICAgICAgICAgICB9O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHJldHVybiBlPy50b1N0cmluZygpO1xyXG4gICAgICAgICAgfSk7XHJcbiAgICAgICAgICAvLyByZXR1cm4gdGhpcy4jY3VycmVudEl0ZW1zLm1hcChlID0+IHtcclxuICAgICAgICAgIC8vICAgaWYgKHRoaXMudmFsdWVGaWVsZCAmJiB0aGlzLmRpc3BsYXlGaWVsZCkge1xyXG4gICAgICAgICAgLy8gICAgIHJldHVybiB7XHJcbiAgICAgICAgICAvLyAgICAgICAuLi5lLFxyXG4gICAgICAgICAgLy8gICAgICAgW2Ake3RoaXMudmFsdWVGaWVsZH1gXTogZVt0aGlzLmRpc3BsYXlGaWVsZF0/LnRvU3RyaW5nKCkgPz8gZVt0aGlzLnZhbHVlRmllbGRdPy50b1N0cmluZygpXHJcbiAgICAgICAgICAvLyAgICAgfTtcclxuICAgICAgICAgIC8vICAgfVxyXG4gICAgICAgICAgLy8gICByZXR1cm4gZT8udG9TdHJpbmcoKTtcclxuICAgICAgICAgIC8vIH0pO1xyXG4gICAgICAgIH1cclxuICAgICAgICBjb25zdCB7IGNoYW5nZUFsaWFzTG93ZXJDYXNlIH0gPSB0aGlzLnV0aWxpdHlTZXJ2aWNlO1xyXG4gICAgICAgIHRoaXMuI2N1cnJlbnRJdGVtcyA9IHRoaXMuI2l0ZW1zLmZpbHRlcihpdGVtID0+IHtcclxuICAgICAgICAgIGNvbnN0IHNlYXJjaFRleHQgPSBjaGFuZ2VBbGlhc0xvd2VyQ2FzZSh2YWwpO1xyXG4gICAgICAgICAgY29uc3QgZm9ybVZhbHVlOiBhbnkgfCBhbnlbXSA9IHRoaXMuZm9ybUNvbnRyb2wudmFsdWU7XHJcbiAgICAgICAgICBpZiAodGhpcy52YWx1ZUZpZWxkICYmIHRoaXMuZGlzcGxheUZpZWxkKSB7XHJcbiAgICAgICAgICAgIGNvbnN0IHZhbHVlID0gaXRlbVt0aGlzLnZhbHVlRmllbGRdPy50b1N0cmluZygpIHx8ICcnO1xyXG4gICAgICAgICAgICBjb25zdCBkaXNwbGF5ID0gaXRlbVt0aGlzLmRpc3BsYXlGaWVsZF0/LnRvU3RyaW5nKCkgfHwgJyc7XHJcbiAgICAgICAgICAgIHJldHVybiAoQXJyYXkuaXNBcnJheShmb3JtVmFsdWUpID8gZm9ybVZhbHVlLnNvbWUoZSA9PiBlPy50b1N0cmluZygpID09PSB2YWx1ZSkgOiBmb3JtVmFsdWU/LnRvU3RyaW5nKCkgPT09IHZhbHVlKVxyXG4gICAgICAgICAgICAgIHx8IGNoYW5nZUFsaWFzTG93ZXJDYXNlKHZhbHVlKS5pbmRleE9mKHNlYXJjaFRleHQpICE9PSAtMVxyXG4gICAgICAgICAgICAgIHx8IGNoYW5nZUFsaWFzTG93ZXJDYXNlKGRpc3BsYXkpLmluZGV4T2Yoc2VhcmNoVGV4dCkgIT09IC0xO1xyXG4gICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgY29uc3QgdmFsdWUgPSBpdGVtPy50b1N0cmluZygpIHx8ICcnO1xyXG4gICAgICAgICAgICByZXR1cm4gKEFycmF5LmlzQXJyYXkoZm9ybVZhbHVlKSA/IGZvcm1WYWx1ZS5zb21lKGUgPT4gZT8udG9TdHJpbmcoKSA9PT0gdmFsdWUpIDogZm9ybVZhbHVlPy50b1N0cmluZygpID09PSB2YWx1ZSlcclxuICAgICAgICAgICAgICB8fCBjaGFuZ2VBbGlhc0xvd2VyQ2FzZSh2YWx1ZSkuaW5kZXhPZihzZWFyY2hUZXh0KSAhPT0gLTE7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfSkuZmlsdGVyKChpdGVtLCBpbmRleCkgPT4ge1xyXG4gICAgICAgICAgY29uc3QgZm9ybVZhbHVlOiBhbnkgfCBhbnlbXSA9IHRoaXMuZm9ybUNvbnRyb2wudmFsdWU7XHJcbiAgICAgICAgICBsZXQgdmFsdWUgPSBpdGVtPy50b1N0cmluZygpIHx8ICcnO1xyXG4gICAgICAgICAgaWYgKHRoaXMudmFsdWVGaWVsZCAmJiB0aGlzLmRpc3BsYXlGaWVsZCkge1xyXG4gICAgICAgICAgICB2YWx1ZSA9IGl0ZW1bdGhpcy52YWx1ZUZpZWxkXT8udG9TdHJpbmcoKSB8fCAnJztcclxuICAgICAgICAgIH1cclxuICAgICAgICAgIHJldHVybiAoQXJyYXkuaXNBcnJheShmb3JtVmFsdWUpID8gZm9ybVZhbHVlLnNvbWUoZSA9PiBlPy50b1N0cmluZygpID09PSB2YWx1ZSkgOiBmb3JtVmFsdWU/LnRvU3RyaW5nKCkgPT09IHZhbHVlKVxyXG4gICAgICAgICAgICB8fCBpbmRleCA8IHRoaXMubGltaXQ7XHJcbiAgICAgICAgfSk7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuI2N1cnJlbnRJdGVtcy5tYXAoZSA9PiB7XHJcbiAgICAgICAgICBpZiAodGhpcy52YWx1ZUZpZWxkICYmIHRoaXMuZGlzcGxheUZpZWxkKSB7XHJcbiAgICAgICAgICAgIHJldHVybiB7XHJcbiAgICAgICAgICAgICAgLi4uZSxcclxuICAgICAgICAgICAgICBbYCR7dGhpcy52YWx1ZUZpZWxkfWBdOiBlW3RoaXMudmFsdWVGaWVsZF0/LnRvU3RyaW5nKClcclxuICAgICAgICAgICAgfTtcclxuICAgICAgICAgIH1cclxuICAgICAgICAgIHJldHVybiBlPy50b1N0cmluZygpO1xyXG4gICAgICAgIH0pO1xyXG4gICAgICB9KVxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcclxuICAgIHRoaXMuI2Zvcm0/LmFkZENvbnRyb2wodGhpcy4jbmFtZSwgdGhpcy5mb3JtQ29udHJvbCk7XHJcbiAgfVxyXG5cclxuICBuZ09uRGVzdHJveSgpIHtcclxuICAgIHRoaXMuI2Zvcm0/LnJlbW92ZUNvbnRyb2wodGhpcy4jbmFtZSk7XHJcbiAgfVxyXG5cclxuICAjdXBkYXRlVmFsaWRhdG9yID0gKCkgPT4ge1xyXG4gICAgdGhpcy5mb3JtQ29udHJvbC5jbGVhclZhbGlkYXRvcnMoKTtcclxuICAgIHRoaXMuZm9ybUNvbnRyb2wuY2xlYXJBc3luY1ZhbGlkYXRvcnMoKTtcclxuICAgIGNvbnN0IHZhbGlkYXRvcnM6IFZhbGlkYXRvckZuW10gPSBbXTtcclxuICAgIGNvbnN0IGFzeW5jVmFsaWRhdG9yczogQXN5bmNWYWxpZGF0b3JGbltdID0gW107XHJcbiAgICBpZiAodGhpcy5pc1JlcXVpcmVkKSB7XHJcbiAgICAgIHZhbGlkYXRvcnMucHVzaChWYWxpZGF0b3JzLnJlcXVpcmVkKTtcclxuICAgIH1cclxuICAgIGlmICh0aGlzLiN2YWxpZGF0b3IpIHtcclxuICAgICAgYXN5bmNWYWxpZGF0b3JzLnB1c2godGhpcy4jY3VzdG9tVmFsaWRhdG9yKHRoaXMuI3ZhbGlkYXRvcikpO1xyXG4gICAgfVxyXG4gICAgdGhpcy5mb3JtQ29udHJvbC5zZXRWYWxpZGF0b3JzKHZhbGlkYXRvcnMpO1xyXG4gICAgdGhpcy5mb3JtQ29udHJvbC5zZXRBc3luY1ZhbGlkYXRvcnMoYXN5bmNWYWxpZGF0b3JzKTtcclxuICAgIHRoaXMuZm9ybUNvbnRyb2wudXBkYXRlVmFsdWVBbmRWYWxpZGl0eSgpO1xyXG4gIH1cclxuXHJcbiAgI2xvYWRJdGVtcyA9IGFzeW5jIChzZWFyY2hUZXh0OiBzdHJpbmcsIGl0ZW1zOiAoc2VhcmNoVGV4dD86IHN0cmluZykgPT4gUHJvbWlzZTxhbnlbXT4pID0+IHtcclxuICAgIHRoaXMubG9hZGluZyA9IHRydWU7XHJcbiAgICBjb25zdCByZXN1bHRzID0gYXdhaXQgaXRlbXMoc2VhcmNoVGV4dCkuZmluYWxseSgoKSA9PiB0aGlzLmxvYWRpbmcgPSBmYWxzZSk7XHJcbiAgICBpZiAodGhpcy5tdWx0aXBsZSkge1xyXG4gICAgICBsZXQgb2JqSXRlbSA9IHt9O1xyXG4gICAgICBpZiAodGhpcy52YWx1ZUZpZWxkKSB7XHJcbiAgICAgICAgb2JqSXRlbSA9IHRoaXMudXRpbGl0eVNlcnZpY2UuYXJyYXlUb09iamVjdChyZXN1bHRzLCB0aGlzLnZhbHVlRmllbGQpO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIHJlc3VsdHMuZm9yRWFjaChpdGVtID0+IG9iakl0ZW1baXRlbT8udG9TdHJpbmcoKV0gPSBpdGVtKTtcclxuICAgICAgfVxyXG4gICAgICBPYmplY3QuYXNzaWduKHRoaXMuI2FsbEl0ZW0sIG9iakl0ZW0pO1xyXG4gICAgICBjb25zdCB2YWx1ZXM6IChudW1iZXIgfCBzdHJpbmcpW10gPSB0aGlzLmZvcm1Db250cm9sLnZhbHVlIHx8IFtdO1xyXG4gICAgICB2YWx1ZXMuZm9yRWFjaCh2YWwgPT4ge1xyXG4gICAgICAgIGlmICghb2JqSXRlbVt2YWxdKSB7XHJcbiAgICAgICAgICBpZiAodGhpcy4jYWxsSXRlbVt2YWxdKSB7XHJcbiAgICAgICAgICAgIHJlc3VsdHMucHVzaCh0aGlzLiNhbGxJdGVtW3ZhbF0pO1xyXG4gICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgcmVzdWx0cy5wdXNoKHtcclxuICAgICAgICAgICAgICBbdGhpcy52YWx1ZUZpZWxkXTogdmFsLFxyXG4gICAgICAgICAgICAgIFt0aGlzLmRpc3BsYXlGaWVsZF06IHZhbFxyXG4gICAgICAgICAgICB9KTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG4gICAgdGhpcy5yZWYuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gICAgcmV0dXJuIHJlc3VsdHM7XHJcbiAgfVxyXG5cclxuICBvblNlbGVjdGlvbkNoYW5nZSA9IChjaGFuZ2U6IE1hdFNlbGVjdENoYW5nZSkgPT4ge1xyXG4gICAgdGhpcy5hbGxTZWxlY3RlZCA9ICF0aGlzLnNlbGVjdC5vcHRpb25zLnNvbWUoZSA9PiAhZS5zZWxlY3RlZCk7XHJcbiAgICBjb25zdCB2YWx1ZSA9IGNoYW5nZT8udmFsdWUgPz8gJyc7XHJcbiAgICBpZiAodGhpcy5tdWx0aXBsZSkge1xyXG4gICAgICB0aGlzLiNvbkNoYW5nZSh2YWx1ZSB8fCBbXSk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLnNlYXJjaFRlcm0kLm5leHQoJycpO1xyXG4gICAgICB0aGlzLiNvbkNoYW5nZSh2YWx1ZSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBvblNlbGVjdEFsbCgpIHtcclxuICAgIGlmICh0aGlzLmFsbFNlbGVjdGVkKSB7XHJcbiAgICAgIHRoaXMuZm9ybUNvbnRyb2wuc2V0VmFsdWUodGhpcy5zZWxlY3Qub3B0aW9ucy5tYXAoZSA9PiBlLnZhbHVlKSk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLmZvcm1Db250cm9sLnNldFZhbHVlKFtdKTtcclxuICAgIH1cclxuICAgIHRoaXMuI29uQ2hhbmdlKHRoaXMuZm9ybUNvbnRyb2wudmFsdWUpO1xyXG4gIH1cclxuXHJcbiAgcmVWYWxpZGF0ZSA9ICgpID0+IHtcclxuICAgIHRoaXMuZm9ybUNvbnRyb2wudXBkYXRlVmFsdWVBbmRWYWxpZGl0eSh7IGVtaXRFdmVudDogdHJ1ZSB9KTtcclxuICB9XHJcblxyXG4gICNvbkNoYW5nZSA9ICh2YWx1ZTogYm9vbGVhbiB8IG51bWJlciB8IHN0cmluZyB8IChudW1iZXIgfCBzdHJpbmcpW10pID0+IHtcclxuICAgIGlmIChBcnJheS5pc0FycmF5KHZhbHVlKSkge1xyXG4gICAgICBsZXQgdmFscyA9IHZhbHVlO1xyXG4gICAgICBpZiAodGhpcy5kYXRhVHlwZSA9PT0gJ251bWJlcicgJiYgdmFsdWUuZXZlcnkodmFsID0+IE51bWJlci5pc051bWJlcih2YWwpKSkge1xyXG4gICAgICAgIHZhbHMgPSB2YWx1ZS5tYXAoZSA9PiArZSk7XHJcbiAgICAgIH1cclxuICAgICAgdGhpcy5tb2RlbENoYW5nZS5lbWl0KHZhbHMpO1xyXG4gICAgICB0aGlzLnNkQ2hhbmdlLmVtaXQodmFscyk7XHJcbiAgICAgIHRoaXMuc2RTZWxlY3Rpb24uZW1pdCh7XHJcbiAgICAgICAgdmFsdWU6IHZhbHMsXHJcbiAgICAgICAgaXRlbXM6IHRoaXMuI2N1cnJlbnRJdGVtcz8uZmlsdGVyKGUgPT4gdmFscy5zb21lKGUxID0+IGUxPy50b1N0cmluZygpID09PSBlPy5bdGhpcy52YWx1ZUZpZWxkXT8udG9TdHJpbmcoKSkpXHJcbiAgICAgIH0pO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgbGV0IHZhbCA9IHZhbHVlO1xyXG4gICAgICBpZiAodGhpcy5kYXRhVHlwZSA9PT0gJ251bWJlcicgJiYgTnVtYmVyLmlzTnVtYmVyKHZhbHVlKSkge1xyXG4gICAgICAgIHZhbCA9ICt2YWx1ZTtcclxuICAgICAgfVxyXG4gICAgICBpZiAodGhpcy5kYXRhVHlwZSA9PT0gJ2Jvb2xlYW4nKSB7XHJcbiAgICAgICAgaWYgKHZhbHVlID09PSAndHJ1ZScpIHtcclxuICAgICAgICAgIHZhbCA9IHRydWU7XHJcbiAgICAgICAgfSBlbHNlIGlmICh2YWx1ZSA9PT0gJ2ZhbHNlJykge1xyXG4gICAgICAgICAgdmFsID0gZmFsc2U7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgIHZhbCA9ICEhdmFsdWU7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICAgIHRoaXMubW9kZWxDaGFuZ2UuZW1pdCh2YWwpO1xyXG4gICAgICB0aGlzLnNkQ2hhbmdlLmVtaXQodmFsKTtcclxuICAgICAgdGhpcy5zZFNlbGVjdGlvbi5lbWl0KHtcclxuICAgICAgICB2YWx1ZTogdmFsLFxyXG4gICAgICAgIGl0ZW06IHRoaXMuI2N1cnJlbnRJdGVtcz8uZmluZChlID0+IHZhbD8udG9TdHJpbmcoKSA9PT0gZT8uW3RoaXMudmFsdWVGaWVsZF0/LnRvU3RyaW5nKCkpXHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgY2xlYXIgPSAoJGV2ZW50PzogYW55KSA9PiB7XHJcbiAgICAkZXZlbnQ/LnN0b3BQcm9wYWdhdGlvbigpO1xyXG4gICAgaWYgKHRoaXMubXVsdGlwbGUpIHtcclxuICAgICAgdGhpcy5mb3JtQ29udHJvbC5zZXRWYWx1ZShbXSk7XHJcbiAgICAgIHRoaXMubW9kZWxDaGFuZ2UuZW1pdChbXSk7XHJcbiAgICAgIHRoaXMuc2RDaGFuZ2UuZW1pdChbXSk7XHJcbiAgICAgIHRoaXMuc2RTZWxlY3Rpb24uZW1pdCh7XHJcbiAgICAgICAgdmFsdWU6IFtdLFxyXG4gICAgICAgIGl0ZW1zOiBbXVxyXG4gICAgICB9KTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuZm9ybUNvbnRyb2wuc2V0VmFsdWUobnVsbCk7XHJcbiAgICAgIHRoaXMubW9kZWxDaGFuZ2UuZW1pdChudWxsKTtcclxuICAgICAgdGhpcy5zZENoYW5nZS5lbWl0KG51bGwpO1xyXG4gICAgICB0aGlzLnNkU2VsZWN0aW9uLmVtaXQoe1xyXG4gICAgICAgIHZhbHVlOiBudWxsLFxyXG4gICAgICAgIGl0ZW06IG51bGxcclxuICAgICAgfSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAjY3VzdG9tVmFsaWRhdG9yID0gKGZ1bmM6ICh2YWx1ZTogYW55KSA9PiBzdHJpbmcgfCBQcm9taXNlPHN0cmluZz4pOiBBc3luY1ZhbGlkYXRvckZuID0+IHtcclxuICAgIHJldHVybiBhc3luYyAoYzogQWJzdHJhY3RDb250cm9sKTogUHJvbWlzZTx7IFtrZXk6IHN0cmluZ106IGFueSB9IHwgbnVsbD4gPT4ge1xyXG4gICAgICBjb25zdCB2YWx1ZSA9IGMudmFsdWUgfHwgbnVsbDtcclxuICAgICAgaWYgKGZ1bmMgJiYgdHlwZW9mIChmdW5jKSA9PT0gJ2Z1bmN0aW9uJykge1xyXG4gICAgICAgIGNvbnN0IHJlc3VsdCA9IGZ1bmModmFsdWUpO1xyXG4gICAgICAgIGlmIChyZXN1bHQgaW5zdGFuY2VvZiBQcm9taXNlKSB7XHJcbiAgICAgICAgICBjb25zdCBtZXNzYWdlID0gYXdhaXQgcmVzdWx0O1xyXG4gICAgICAgICAgaWYgKG1lc3NhZ2UpIHtcclxuICAgICAgICAgICAgcmV0dXJuIHtcclxuICAgICAgICAgICAgICBjdXN0b21WYWxpZGF0b3I6IG1lc3NhZ2VcclxuICAgICAgICAgICAgfTtcclxuICAgICAgICAgIH1cclxuICAgICAgICAgIHJldHVybiBudWxsO1xyXG4gICAgICAgIH1cclxuICAgICAgICBpZiAocmVzdWx0KSB7XHJcbiAgICAgICAgICByZXR1cm4ge1xyXG4gICAgICAgICAgICBjdXN0b21WYWxpZGF0b3I6IHJlc3VsdFxyXG4gICAgICAgICAgfTtcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIG51bGw7XHJcbiAgICAgIH1cclxuICAgICAgcmV0dXJuIG51bGw7XHJcbiAgICB9O1xyXG4gIH1cclxufVxyXG4iXX0=
411
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJDOi9Vc2Vycy9uZ2hpYXR0MTUvRGVza3RvcC9Xb3JraW5nLzFNRy9saWItY29yZS11aS9wcm9qZWN0cy9zZC1jb3JlL3NlbGVjdC8iLCJzb3VyY2VzIjpbInNyYy9saWIvc2VsZWN0LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxZQUFZLEVBQUUsaUJBQWlCLEVBQW9DLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN2SSxPQUFPLEVBQUUsTUFBTSxFQUFFLFdBQVcsRUFBRSxVQUFVLEVBQTZELE1BQU0sZ0JBQWdCLENBQUM7QUFDNUgsT0FBTyxLQUFLLElBQUksTUFBTSxNQUFNLENBQUM7QUFFN0IsT0FBTyxFQUFjLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMzQyxPQUFPLEVBQUUsWUFBWSxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNwRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQU81RCxNQUFNLE9BQU8sUUFBUTtJQXlJbkIsWUFDVSxHQUFzQixFQUN0QixjQUFnQztRQURoQyxRQUFHLEdBQUgsR0FBRyxDQUFtQjtRQUN0QixtQkFBYyxHQUFkLGNBQWMsQ0FBa0I7UUF6STFDLGdCQUFRLElBQUksQ0FBQyxFQUFFLEVBQUUsRUFBQztRQU1sQix3QkFBbUIsR0FBRyxLQUFLLENBQUM7UUFLNUIsZ0JBQVcsR0FBRyxJQUFJLFdBQVcsRUFBRSxDQUFDO1FBRWhDLGdCQUFXLEdBQUcsSUFBSSxPQUFPLEVBQUUsQ0FBQztRQWlDNUIsd0JBQWlCO1FBYWpCLFFBQVE7UUFDUix5QkFBd0Q7UUFjeEQsUUFBUTtRQUNSLGlCQUE0RCxFQUFFLEVBQUM7UUFDL0Qsd0JBQXVCLEVBQUUsRUFBQztRQUMxQixtQkFFSSxFQUFFLEVB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O1FBQ1QsbUZBQVksYUFBYSxzQ0FBYTtJQUN4QyxDQUFDO0lBMERELFdBQVc7UUFDVCxJQUFJLElBQUksQ0FBQyxXQUFXLEVBQUU7WUFDcEIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7U0FDbEU7YUFBTTtZQUNMLElBQUksQ0FBQyxXQUFXLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1NBQy9CO1FBQ0QsNkNBQUEsSUFBSSxFQUFXLElBQUksQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDekMsQ0FBQzs7OztZQWxTRixTQUFTLFNBQUM7Z0JBQ1QsUUFBUSxFQUFFLFdBQVc7Z0JBQ3JCLCtuSUFBc0M7O2FBRXZDOzs7WUFaZ0QsaUJBQWlCO1lBTXpELGdCQUFnQjs7O3FCQVF0QixTQUFTLFNBQUMsUUFBUTttQkFFbEIsS0FBSzttQ0FNTCxLQUFLLFNBQUMscUJBQXFCO21CQXNDM0IsS0FBSzttQkFFTCxLQUFLO29CQVNMLEtBQUs7MEJBQ0wsS0FBSztvQkFJTCxLQUFLO29CQW1CTCxLQUFLO3lCQVVMLEtBQUs7MkJBQ0wsS0FBSzt1QkFTTCxLQUFLO3dCQUlMLEtBQUs7dUJBS0wsS0FBSzt3QkFTTCxLQUFLLFNBQUMsVUFBVTtvQkFHaEIsS0FBSzt3QkFFTCxLQUFLLFNBQUMsVUFBVTt5QkFJaEIsS0FBSyxTQUFDLFdBQVc7MEJBS2pCLE1BQU07dUJBQ04sTUFBTTswQkFDTixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgT3V0cHV0LCBFdmVudEVtaXR0ZXIsIENoYW5nZURldGVjdG9yUmVmLCBBZnRlclZpZXdJbml0LCBPbkRlc3Ryb3ksIE9uSW5pdCwgVmlld0NoaWxkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IE5nRm9ybSwgRm9ybUNvbnRyb2wsIFZhbGlkYXRvcnMsIFZhbGlkYXRvckZuLCBBYnN0cmFjdENvbnRyb2wsIEFzeW5jVmFsaWRhdG9yRm4sIEZvcm1Hcm91cCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0ICogYXMgdXVpZCBmcm9tICd1dWlkJztcclxuaW1wb3J0IHsgTWF0U2VsZWN0LCBNYXRTZWxlY3RDaGFuZ2UgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9zZWxlY3QnO1xyXG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IGRlYm91bmNlVGltZSwgc3RhcnRXaXRoLCBzd2l0Y2hNYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcbmltcG9ydCB7IFNkVXRpbGl0eVNlcnZpY2UgfSBmcm9tICdAc2QtYW5ndWxhci9jb3JlL3V0aWxpdHknO1xyXG5pbXBvcnQgeyBNYXRPcHRpb24gfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9jb3JlL29wdGlvbic7XHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnc2Qtc2VsZWN0JyxcclxuICB0ZW1wbGF0ZVVybDogJy4vc2VsZWN0LmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9zZWxlY3QuY29tcG9uZW50LnNjc3MnXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgU2RTZWxlY3QgaW1wbGVtZW50cyBPbkluaXQsIEFmdGVyVmlld0luaXQsIE9uRGVzdHJveSB7XHJcbiAgQFZpZXdDaGlsZCgnc2VsZWN0Jykgc2VsZWN0OiBNYXRTZWxlY3Q7XHJcbiAgI25hbWUgPSB1dWlkLnY0KCk7XHJcbiAgQElucHV0KCkgc2V0IG5hbWUodmFsOiBzdHJpbmcpIHtcclxuICAgIGlmICh2YWwpIHtcclxuICAgICAgdGhpcy4jbmFtZSA9IHZhbDtcclxuICAgIH1cclxuICB9XHJcbiAgZGlzYWJsZUVycm9yTWVzc2FnZSA9IGZhbHNlO1xyXG4gIEBJbnB1dCgnZGlzYWJsZUVycm9yTWVzc2FnZScpIHNldCBfZGlzYWJsZUVycm9yTWVzc2FnZSh2YWw6IGJvb2xlYW4gfCAnJykge1xyXG4gICAgdGhpcy5kaXNhYmxlRXJyb3JNZXNzYWdlID0gKHZhbCA9PT0gJycpIHx8IHZhbDtcclxuICAgIHZhbCA9ICh2YWwgPT09ICcnKSB8fCB2YWw7XHJcbiAgfVxyXG4gIGZvcm1Db250cm9sID0gbmV3IEZvcm1Db250cm9sKCk7XHJcblxyXG4gIHNlYXJjaFRlcm0kID0gbmV3IFN1YmplY3QoKTtcclxuXHJcbiAgZ2V0IGRhdGFUeXBlKCk6ICdib29sZWFuJyB8ICdudW1iZXInIHwgJ3N0cmluZycge1xyXG4gICAgaWYgKEFycmF5LmlzQXJyYXkodGhpcy4jbW9kZWwpKSB7XHJcbiAgICAgIGlmICh0aGlzLiNtb2RlbC5sZW5ndGggJiYgdHlwZW9mICh0aGlzLiNtb2RlbFswXSkgPT09ICdudW1iZXInKSB7XHJcbiAgICAgICAgcmV0dXJuICdudW1iZXInO1xyXG4gICAgICB9XHJcbiAgICAgIGlmICh0aGlzLiNtb2RlbC5sZW5ndGggJiYgdHlwZW9mICh0aGlzLiNtb2RlbFswXSkgPT09ICdib29sZWFuJykge1xyXG4gICAgICAgIHJldHVybiAnYm9vbGVhbic7XHJcbiAgICAgIH1cclxuICAgICAgcmV0dXJuICdzdHJpbmcnO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgaWYgKCh0aGlzLiNtb2RlbCAmJiB0eXBlb2YgKHRoaXMuI21vZGVsKSA9PT0gJ251bWJlcicpIHx8IHRoaXMuI21vZGVsID09PSAwKSB7XHJcbiAgICAgICAgcmV0dXJuICdudW1iZXInO1xyXG4gICAgICB9XHJcbiAgICAgIGlmICgodGhpcy4jbW9kZWwgJiYgdHlwZW9mICh0aGlzLiNtb2RlbCkgPT09ICdib29sZWFuJykgfHwgdGhpcy4jbW9kZWwgPT09IGZhbHNlKSB7XHJcbiAgICAgICAgcmV0dXJuICdib29sZWFuJztcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgaWYgKHRoaXMuI2N1cnJlbnRJdGVtcz8ubGVuZ3RoKSB7XHJcbiAgICAgIGlmICh0aGlzLnZhbHVlRmllbGQgJiYgdHlwZW9mICh0aGlzLiNjdXJyZW50SXRlbXNbMF1bdGhpcy52YWx1ZUZpZWxkXSkgPT09ICdudW1iZXInKSB7XHJcbiAgICAgICAgcmV0dXJuICdudW1iZXInO1xyXG4gICAgICB9IGVsc2UgaWYgKHRoaXMudmFsdWVGaWVsZCAmJiB0eXBlb2YgKHRoaXMuI2N1cnJlbnRJdGVtc1swXVt0aGlzLnZhbHVlRmllbGRdKSA9PT0gJ2Jvb2xlYW4nKSB7XHJcbiAgICAgICAgcmV0dXJuICdib29sZWFuJztcclxuICAgICAgfSBlbHNlIGlmICh0eXBlb2YgKHRoaXMuI2N1cnJlbnRJdGVtc1swXSkgPT09ICdudW1iZXInKSB7XHJcbiAgICAgICAgcmV0dXJuICdudW1iZXInO1xyXG4gICAgICB9IGVsc2UgaWYgKHR5cGVvZiAodGhpcy4jY3VycmVudEl0ZW1zWzBdKSA9PT0gJ2Jvb2xlYW4nKSB7XHJcbiAgICAgICAgcmV0dXJuICdib29sZWFuJztcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgcmV0dXJuICdzdHJpbmcnO1xyXG4gIH1cclxuICBASW5wdXQoKSBzaXplOiAnc20nIHwgJ2xnJztcclxuICAjZm9ybTogRm9ybUdyb3VwO1xyXG4gIEBJbnB1dCgpIHNldCBmb3JtKHZhbDogTmdGb3JtIHwgRm9ybUdyb3VwKSB7XHJcbiAgICBpZiAodmFsKSB7XHJcbiAgICAgIGlmICh2YWwgaW5zdGFuY2VvZiBOZ0Zvcm0pIHtcclxuICAgICAgICB0aGlzLiNmb3JtID0gdmFsLmZvcm07XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgdGhpcy4jZm9ybSA9IHZhbDtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuICBASW5wdXQoKSBsYWJlbDogc3RyaW5nO1xyXG4gIEBJbnB1dCgpIHBsYWNlaG9sZGVyOiBzdHJpbmc7XHJcblxyXG4gIC8vIE1vZGVsXHJcbiAgI21vZGVsOiBib29sZWFuIHwgbnVtYmVyIHwgc3RyaW5nIHwgKG51bWJlciB8IHN0cmluZylbXTtcclxuICBASW5wdXQoKSBzZXQgbW9kZWwodmFsdWU6IHVuZGVmaW5lZCB8IGJvb2xlYW4gfCBudW1iZXIgfCBzdHJpbmcgfCAobnVtYmVyIHwgc3RyaW5nKVtdKSB7XHJcbiAgICB0aGlzLiNtb2RlbCA9IHZhbHVlO1xyXG4gICAgaWYgKEFycmF5LmlzQXJyYXkodmFsdWUpKSB7XHJcbiAgICAgIHRoaXMuZm9ybUNvbnRyb2wuc2V0VmFsdWUodmFsdWUubWFwKHZhbCA9PiAodmFsID8/ICcnKSArICcnKSwge1xyXG4gICAgICAgIGVtaXRFdmVudDogZmFsc2VcclxuICAgICAgfSk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLmZvcm1Db250cm9sLnNldFZhbHVlKCh2YWx1ZSA/PyAnJykgKyAnJywge1xyXG4gICAgICAgIGVtaXRFdmVudDogZmFsc2VcclxuICAgICAgfSk7XHJcbiAgICB9XHJcbiAgICB0aGlzLnJlZi5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgfVxyXG4gIC8vIEl0ZW1zXHJcbiAgI2l0ZW1zOiBhbnlbXSB8ICgoc2VhcmNoVGV4dD86IHN0cmluZykgPT4gUHJvbWlzZTxhbnlbXT4pID0gW107XHJcbiAgI2N1cnJlbnRJdGVtczogYW55W10gPSBbXTtcclxuICAjYWxsSXRlbToge1xyXG4gICAgW2tleTogc3RyaW5nXTogYW55XHJcbiAgfSA9IHt9O1xyXG4gIEBJbnB1dCgpIHNldCBpdGVtcyhpdGVtczogdW5kZWZpbmVkIHwgYW55W10gfCAoKHNlYXJjaFRleHQ/OiBzdHJpbmcpID0+IFByb21pc2U8YW55W10+KSkge1xyXG4gICAgaWYgKCFpdGVtcykge1xyXG4gICAgICB0aGlzLiNpdGVtcyA9IFtdO1xyXG4gICAgfSBlbHNlIGlmIChBcnJheS5pc0FycmF5KGl0ZW1zKSkge1xyXG4gICAgICB0aGlzLiNpdGVtcyA9IGl0ZW1zLmZpbHRlcihlID0+IGUgIT09IG51bGwgJiYgZSAhPT0gdW5kZWZpbmVkKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuI2l0ZW1zID0gaXRlbXM7XHJcbiAgICB9XHJcbiAgICB0aGlzLnNlYXJjaFRlcm0kLm5leHQoJycpO1xyXG4gIH1cclxuICBASW5wdXQoKSB2YWx1ZUZpZWxkOiBzdHJpbmc7XHJcbiAgQElucHV0KCkgZGlzcGxheUZpZWxkOiBzdHJpbmc7XHJcblxyXG4gIC8vIFNlcnZlciBzZWFyY2hcclxuICBsb2FkaW5nID0gZmFsc2U7XHJcbiAgI2RlbGF5ID0gNTAwOyAvLyBTYXUga2hv4bqjbmcgdGjhu51pIGdpYW4gZGVsYXkgbuG6v3Uga2jDtG5nIGPDsyB0aGF5IMSR4buVaSB0aMOsIHRow6wgbeG7m2kgYuG6r3QgxJHhuqd1IHRo4buxYyBoaeG7h24gZ+G7jWkgaMOgbVxyXG5cclxuICAvLyBWYWxpZGF0b3JcclxuICBpc1JlcXVpcmVkID0gZmFsc2U7XHJcbiAgI3ZhbGlkYXRvcjogKHZhbHVlOiBhbnkpID0+IHN0cmluZyB8IFByb21pc2U8c3RyaW5nPjtcclxuICBASW5wdXQoKSBzZXQgcmVxdWlyZWQodmFsOiBib29sZWFuIHwgJycpIHtcclxuICAgIHRoaXMuaXNSZXF1aXJlZCA9ICh2YWwgPT09ICcnKSB8fCB2YWw7XHJcbiAgICB0aGlzLiN1cGRhdGVWYWxpZGF0b3IoKTtcclxuICB9XHJcbiAgQElucHV0KCkgc2V0IHZhbGlkYXRvcih2YWxpZGF0b3I6ICh2YWx1ZTogYW55KSA9PiBzdHJpbmcgfCBQcm9taXNlPHN0cmluZz4pIHtcclxuICAgIHRoaXMuI3ZhbGlkYXRvciA9IHZhbGlkYXRvcjtcclxuICAgIHRoaXMuI3VwZGF0ZVZhbGlkYXRvcigpO1xyXG4gIH1cclxuICAvLyBPcHRpb25hbFxyXG4gIEBJbnB1dCgpIHNldCBkaXNhYmxlZCh2YWw6IGJvb2xlYW4gfCAnJykge1xyXG4gICAgdmFsID0gKHZhbCA9PT0gJycpIHx8IHZhbDtcclxuICAgIGlmICh2YWwpIHtcclxuICAgICAgdGhpcy5mb3JtQ29udHJvbC5kaXNhYmxlKCk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLmZvcm1Db250cm9sLmVuYWJsZSgpO1xyXG4gICAgfVxyXG4gIH1cclxuICBtdWx0aXBsZSA9IGZhbHNlO1xyXG4gIEBJbnB1dCgnbXVsdGlwbGUnKSBzZXQgX211bHRpcGxlKHZhbDogYm9vbGVhbiB8ICcnKSB7XHJcbiAgICB0aGlzLm11bHRpcGxlID0gKHZhbCA9PT0gJycpIHx8IHZhbDtcclxuICB9XHJcbiAgQElucHV0KCkgbGltaXQgPSAxMDA7XHJcbiAgZmlsdGVyZWQgPSBmYWxzZTtcclxuICBASW5wdXQoJ2ZpbHRlcmVkJykgc2V0IF9maWx0ZXJlZCh2YWw6IGJvb2xlYW4gfCAnJykge1xyXG4gICAgdGhpcy5maWx0ZXJlZCA9ICh2YWwgPT09ICcnKSB8fCB2YWw7XHJcbiAgfVxyXG4gIHNlbGVjdEFsbCA9IGZhbHNlO1xyXG4gIEBJbnB1dCgnc2VsZWN0QWxsJykgc2V0IF9zZWxlY3RBbGwodmFsOiBib29sZWFuIHwgJycpIHtcclxuICAgIHRoaXMuc2VsZWN0QWxsID0gKHZhbCA9PT0gJycpIHx8IHZhbDtcclxuICB9XHJcbiAgZmlsdGVyZWRJdGVtczogT2JzZXJ2YWJsZTxhbnlbXT47XHJcbiAgYWxsU2VsZWN0ZWQgPSBmYWxzZTtcclxuICBAT3V0cHV0KCkgbW9kZWxDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcbiAgQE91dHB1dCgpIHNkQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG4gIEBPdXRwdXQoKSBzZFNlbGVjdGlvbiA9IG5ldyBFdmVudEVtaXR0ZXI8eyB2YWx1ZTogYW55IHwgYW55W10sIGl0ZW0/OiBhbnksIGl0ZW1zPzogYW55W10gfT4oKTtcclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgcmVmOiBDaGFuZ2VEZXRlY3RvclJlZixcclxuICAgIHByaXZhdGUgdXRpbGl0eVNlcnZpY2U6IFNkVXRpbGl0eVNlcnZpY2UpIHsgfVxyXG5cclxuICBuZ09uSW5pdCgpIHtcclxuICAgIHRoaXMuZmlsdGVyZWRJdGVtcyA9IHRoaXMuc2VhcmNoVGVybSQuYXNPYnNlcnZhYmxlKCkucGlwZShcclxuICAgICAgc3RhcnRXaXRoKCcnKSxcclxuICAgICAgZGVib3VuY2VUaW1lKHR5cGVvZiAodGhpcy4jaXRlbXMpID09PSAnZnVuY3Rpb24nID8gdGhpcy4jZGVsYXkgOiAwKSxcclxuICAgICAgLy8gZGlzdGluY3RVbnRpbENoYW5nZWQoKSwgRMO5bmcgc+G6vSBnw6J5IHJhIGJ1ZyBraGkgaXRlbXMgY2hhbmdlc1xyXG4gICAgICBzd2l0Y2hNYXAoYXN5bmMgKHZhbDogc3RyaW5nKSA9PiB7XHJcbiAgICAgICAgaWYgKHR5cGVvZiAodGhpcy4jaXRlbXMpID09PSAnZnVuY3Rpb24nKSB7XHJcbiAgICAgICAgICBjb25zdCBpdGVtcyA9IGF3YWl0IHRoaXMuI2xvYWRJdGVtcyh2YWwsIHRoaXMuI2l0ZW1zKTtcclxuICAgICAgICAgIHRoaXMuI2N1cnJlbnRJdGVtcyA9IGl0ZW1zLmZpbHRlcigoaXRlbSwgaW5kZXgpID0+IHtcclxuICAgICAgICAgICAgY29uc3QgZm9ybVZhbHVlOiBhbnkgfCBhbnlbXSA9IHRoaXMuZm9ybUNvbnRyb2wudmFsdWU7XHJcbiAgICAgICAgICAgIGxldCB2YWx1ZSA9IGl0ZW0/LnRvU3RyaW5nKCkgfHwgJyc7XHJcbiAgICAgICAgICAgIGlmICh0aGlzLnZhbHVlRmllbGQgJiYgdGhpcy5kaXNwbGF5RmllbGQpIHtcclxuICAgICAgICAgICAgICB2YWx1ZSA9IGl0ZW1bdGhpcy52YWx1ZUZpZWxkXT8udG9TdHJpbmcoKSB8fCAnJztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICByZXR1cm4gKEFycmF5LmlzQXJyYXkoZm9ybVZhbHVlKSA/IGZvcm1WYWx1ZS5zb21lKGUgPT4gZT8udG9TdHJpbmcoKSA9PT0gdmFsdWUpIDogZm9ybVZhbHVlPy50b1N0cmluZygpID09PSB2YWx1ZSlcclxuICAgICAgICAgICAgICB8fCBpbmRleCA8IHRoaXMubGltaXQ7XHJcbiAgICAgICAgICB9KTtcclxuICAgICAgICAgIHJldHVybiB0aGlzLiNjdXJyZW50SXRlbXMubWFwKGUgPT4ge1xyXG4gICAgICAgICAgICBpZiAodGhpcy52YWx1ZUZpZWxkICYmIHRoaXMuZGlzcGxheUZpZWxkKSB7XHJcbiAgICAgICAgICAgICAgcmV0dXJuIHtcclxuICAgICAgICAgICAgICAgIC4uLmUsXHJcbiAgICAgICAgICAgICAgICBbYCR7dGhpcy52YWx1ZUZpZWxkfWBdOiBlW3RoaXMudmFsdWVGaWVsZF0/LnRvU3RyaW5nKClcclxuICAgICAgICAgICAgICB9O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHJldHVybiBlPy50b1N0cmluZygpO1xyXG4gICAgICAgICAgfSk7XHJcbiAgICAgICAgICAvLyByZXR1cm4gdGhpcy4jY3VycmVudEl0ZW1zLm1hcChlID0+IHtcclxuICAgICAgICAgIC8vICAgaWYgKHRoaXMudmFsdWVGaWVsZCAmJiB0aGlzLmRpc3BsYXlGaWVsZCkge1xyXG4gICAgICAgICAgLy8gICAgIHJldHVybiB7XHJcbiAgICAgICAgICAvLyAgICAgICAuLi5lLFxyXG4gICAgICAgICAgLy8gICAgICAgW2Ake3RoaXMudmFsdWVGaWVsZH1gXTogZVt0aGlzLmRpc3BsYXlGaWVsZF0/LnRvU3RyaW5nKCkgPz8gZVt0aGlzLnZhbHVlRmllbGRdPy50b1N0cmluZygpXHJcbiAgICAgICAgICAvLyAgICAgfTtcclxuICAgICAgICAgIC8vICAgfVxyXG4gICAgICAgICAgLy8gICByZXR1cm4gZT8udG9TdHJpbmcoKTtcclxuICAgICAgICAgIC8vIH0pO1xyXG4gICAgICAgIH1cclxuICAgICAgICBjb25zdCB7IGNoYW5nZUFsaWFzTG93ZXJDYXNlIH0gPSB0aGlzLnV0aWxpdHlTZXJ2aWNlO1xyXG4gICAgICAgIHRoaXMuI2N1cnJlbnRJdGVtcyA9IHRoaXMuI2l0ZW1zLmZpbHRlcihpdGVtID0+IHtcclxuICAgICAgICAgIGNvbnN0IHNlYXJjaFRleHQgPSBjaGFuZ2VBbGlhc0xvd2VyQ2FzZSh2YWwpO1xyXG4gICAgICAgICAgY29uc3QgZm9ybVZhbHVlOiBhbnkgfCBhbnlbXSA9IHRoaXMuZm9ybUNvbnRyb2wudmFsdWU7XHJcbiAgICAgICAgICBpZiAodGhpcy52YWx1ZUZpZWxkICYmIHRoaXMuZGlzcGxheUZpZWxkKSB7XHJcbiAgICAgICAgICAgIGNvbnN0IHZhbHVlID0gaXRlbVt0aGlzLnZhbHVlRmllbGRdPy50b1N0cmluZygpIHx8ICcnO1xyXG4gICAgICAgICAgICBjb25zdCBkaXNwbGF5ID0gaXRlbVt0aGlzLmRpc3BsYXlGaWVsZF0/LnRvU3RyaW5nKCkgfHwgJyc7XHJcbiAgICAgICAgICAgIHJldHVybiAoQXJyYXkuaXNBcnJheShmb3JtVmFsdWUpID8gZm9ybVZhbHVlLnNvbWUoZSA9PiBlPy50b1N0cmluZygpID09PSB2YWx1ZSkgOiBmb3JtVmFsdWU/LnRvU3RyaW5nKCkgPT09IHZhbHVlKVxyXG4gICAgICAgICAgICAgIHx8IGNoYW5nZUFsaWFzTG93ZXJDYXNlKHZhbHVlKS5pbmRleE9mKHNlYXJjaFRleHQpICE9PSAtMVxyXG4gICAgICAgICAgICAgIHx8IGNoYW5nZUFsaWFzTG93ZXJDYXNlKGRpc3BsYXkpLmluZGV4T2Yoc2VhcmNoVGV4dCkgIT09IC0xO1xyXG4gICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgY29uc3QgdmFsdWUgPSBpdGVtPy50b1N0cmluZygpIHx8ICcnO1xyXG4gICAgICAgICAgICByZXR1cm4gKEFycmF5LmlzQXJyYXkoZm9ybVZhbHVlKSA/IGZvcm1WYWx1ZS5zb21lKGUgPT4gZT8udG9TdHJpbmcoKSA9PT0gdmFsdWUpIDogZm9ybVZhbHVlPy50b1N0cmluZygpID09PSB2YWx1ZSlcclxuICAgICAgICAgICAgICB8fCBjaGFuZ2VBbGlhc0xvd2VyQ2FzZSh2YWx1ZSkuaW5kZXhPZihzZWFyY2hUZXh0KSAhPT0gLTE7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfSkuZmlsdGVyKChpdGVtLCBpbmRleCkgPT4ge1xyXG4gICAgICAgICAgY29uc3QgZm9ybVZhbHVlOiBhbnkgfCBhbnlbXSA9IHRoaXMuZm9ybUNvbnRyb2wudmFsdWU7XHJcbiAgICAgICAgICBsZXQgdmFsdWUgPSBpdGVtPy50b1N0cmluZygpIHx8ICcnO1xyXG4gICAgICAgICAgaWYgKHRoaXMudmFsdWVGaWVsZCAmJiB0aGlzLmRpc3BsYXlGaWVsZCkge1xyXG4gICAgICAgICAgICB2YWx1ZSA9IGl0ZW1bdGhpcy52YWx1ZUZpZWxkXT8udG9TdHJpbmcoKSB8fCAnJztcclxuICAgICAgICAgIH1cclxuICAgICAgICAgIHJldHVybiAoQXJyYXkuaXNBcnJheShmb3JtVmFsdWUpID8gZm9ybVZhbHVlLnNvbWUoZSA9PiBlPy50b1N0cmluZygpID09PSB2YWx1ZSkgOiBmb3JtVmFsdWU/LnRvU3RyaW5nKCkgPT09IHZhbHVlKVxyXG4gICAgICAgICAgICB8fCBpbmRleCA8IHRoaXMubGltaXQ7XHJcbiAgICAgICAgfSk7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuI2N1cnJlbnRJdGVtcy5tYXAoZSA9PiB7XHJcbiAgICAgICAgICBpZiAodGhpcy52YWx1ZUZpZWxkICYmIHRoaXMuZGlzcGxheUZpZWxkKSB7XHJcbiAgICAgICAgICAgIHJldHVybiB7XHJcbiAgICAgICAgICAgICAgLi4uZSxcclxuICAgICAgICAgICAgICBbYCR7dGhpcy52YWx1ZUZpZWxkfWBdOiBlW3RoaXMudmFsdWVGaWVsZF0/LnRvU3RyaW5nKClcclxuICAgICAgICAgICAgfTtcclxuICAgICAgICAgIH1cclxuICAgICAgICAgIHJldHVybiBlPy50b1N0cmluZygpO1xyXG4gICAgICAgIH0pO1xyXG4gICAgICB9KVxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcclxuICAgIHRoaXMuI2Zvcm0/LmFkZENvbnRyb2wodGhpcy4jbmFtZSwgdGhpcy5mb3JtQ29udHJvbCk7XHJcbiAgfVxyXG5cclxuICBuZ09uRGVzdHJveSgpIHtcclxuICAgIHRoaXMuI2Zvcm0/LnJlbW92ZUNvbnRyb2wodGhpcy4jbmFtZSk7XHJcbiAgfVxyXG5cclxuICAjdXBkYXRlVmFsaWRhdG9yID0gKCkgPT4ge1xyXG4gICAgdGhpcy5mb3JtQ29udHJvbC5jbGVhclZhbGlkYXRvcnMoKTtcclxuICAgIHRoaXMuZm9ybUNvbnRyb2wuY2xlYXJBc3luY1ZhbGlkYXRvcnMoKTtcclxuICAgIGNvbnN0IHZhbGlkYXRvcnM6IFZhbGlkYXRvckZuW10gPSBbXTtcclxuICAgIGNvbnN0IGFzeW5jVmFsaWRhdG9yczogQXN5bmNWYWxpZGF0b3JGbltdID0gW107XHJcbiAgICBpZiAodGhpcy5pc1JlcXVpcmVkKSB7XHJcbiAgICAgIHZhbGlkYXRvcnMucHVzaChWYWxpZGF0b3JzLnJlcXVpcmVkKTtcclxuICAgIH1cclxuICAgIGlmICh0aGlzLiN2YWxpZGF0b3IpIHtcclxuICAgICAgYXN5bmNWYWxpZGF0b3JzLnB1c2godGhpcy4jY3VzdG9tVmFsaWRhdG9yKHRoaXMuI3ZhbGlkYXRvcikpO1xyXG4gICAgfVxyXG4gICAgdGhpcy5mb3JtQ29udHJvbC5zZXRWYWxpZGF0b3JzKHZhbGlkYXRvcnMpO1xyXG4gICAgdGhpcy5mb3JtQ29udHJvbC5zZXRBc3luY1ZhbGlkYXRvcnMoYXN5bmNWYWxpZGF0b3JzKTtcclxuICAgIHRoaXMuZm9ybUNvbnRyb2wudXBkYXRlVmFsdWVBbmRWYWxpZGl0eSgpO1xyXG4gIH1cclxuXHJcbiAgI2xvYWRJdGVtcyA9IGFzeW5jIChzZWFyY2hUZXh0OiBzdHJpbmcsIGl0ZW1zOiAoc2VhcmNoVGV4dD86IHN0cmluZykgPT4gUHJvbWlzZTxhbnlbXT4pID0+IHtcclxuICAgIHRoaXMubG9hZGluZyA9IHRydWU7XHJcbiAgICBjb25zdCByZXN1bHRzID0gYXdhaXQgaXRlbXMoc2VhcmNoVGV4dCkuZmluYWxseSgoKSA9PiB0aGlzLmxvYWRpbmcgPSBmYWxzZSk7XHJcbiAgICBpZiAodGhpcy5tdWx0aXBsZSkge1xyXG4gICAgICBsZXQgb2JqSXRlbSA9IHt9O1xyXG4gICAgICBpZiAodGhpcy52YWx1ZUZpZWxkKSB7XHJcbiAgICAgICAgb2JqSXRlbSA9IHRoaXMudXRpbGl0eVNlcnZpY2UuYXJyYXlUb09iamVjdChyZXN1bHRzLCB0aGlzLnZhbHVlRmllbGQpO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIHJlc3VsdHMuZm9yRWFjaChpdGVtID0+IG9iakl0ZW1baXRlbT8udG9TdHJpbmcoKV0gPSBpdGVtKTtcclxuICAgICAgfVxyXG4gICAgICBPYmplY3QuYXNzaWduKHRoaXMuI2FsbEl0ZW0sIG9iakl0ZW0pO1xyXG4gICAgICBjb25zdCB2YWx1ZXM6IChudW1iZXIgfCBzdHJpbmcpW10gPSB0aGlzLmZvcm1Db250cm9sLnZhbHVlIHx8IFtdO1xyXG4gICAgICB2YWx1ZXMuZm9yRWFjaCh2YWwgPT4ge1xyXG4gICAgICAgIGlmICghb2JqSXRlbVt2YWxdKSB7XHJcbiAgICAgICAgICBpZiAodGhpcy4jYWxsSXRlbVt2YWxdKSB7XHJcbiAgICAgICAgICAgIHJlc3VsdHMucHVzaCh0aGlzLiNhbGxJdGVtW3ZhbF0pO1xyXG4gICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgcmVzdWx0cy5wdXNoKHtcclxuICAgICAgICAgICAgICBbdGhpcy52YWx1ZUZpZWxkXTogdmFsLFxyXG4gICAgICAgICAgICAgIFt0aGlzLmRpc3BsYXlGaWVsZF06IHZhbFxyXG4gICAgICAgICAgICB9KTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG4gICAgdGhpcy5yZWYuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gICAgcmV0dXJuIHJlc3VsdHM7XHJcbiAgfVxyXG5cclxuICBvblNlbGVjdGlvbkNoYW5nZSA9IChjaGFuZ2U6IE1hdFNlbGVjdENoYW5nZSkgPT4ge1xyXG4gICAgdGhpcy5hbGxTZWxlY3RlZCA9ICF0aGlzLnNlbGVjdC5vcHRpb25zLnNvbWUoZSA9PiAhZS5zZWxlY3RlZCk7XHJcbiAgICBjb25zdCB2YWx1ZSA9IGNoYW5nZT8udmFsdWUgPz8gJyc7XHJcbiAgICBpZiAodGhpcy5tdWx0aXBsZSkge1xyXG4gICAgICB0aGlzLiNvbkNoYW5nZSh2YWx1ZSB8fCBbXSk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLnNlYXJjaFRlcm0kLm5leHQoJycpO1xyXG4gICAgICB0aGlzLiNvbkNoYW5nZSh2YWx1ZSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBvblNlbGVjdEFsbCgpIHtcclxuICAgIGlmICh0aGlzLmFsbFNlbGVjdGVkKSB7XHJcbiAgICAgIHRoaXMuZm9ybUNvbnRyb2wuc2V0VmFsdWUodGhpcy5zZWxlY3Qub3B0aW9ucy5tYXAoZSA9PiBlLnZhbHVlKSk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLmZvcm1Db250cm9sLnNldFZhbHVlKFtdKTtcclxuICAgIH1cclxuICAgIHRoaXMuI29uQ2hhbmdlKHRoaXMuZm9ybUNvbnRyb2wudmFsdWUpO1xyXG4gIH1cclxuXHJcbiAgcmVWYWxpZGF0ZSA9ICgpID0+IHtcclxuICAgIHRoaXMuZm9ybUNvbnRyb2wudXBkYXRlVmFsdWVBbmRWYWxpZGl0eSh7IGVtaXRFdmVudDogdHJ1ZSB9KTtcclxuICB9XHJcblxyXG4gICNvbkNoYW5nZSA9ICh2YWx1ZTogYm9vbGVhbiB8IG51bWJlciB8IHN0cmluZyB8IChudW1iZXIgfCBzdHJpbmcpW10pID0+IHtcclxuICAgIGlmIChBcnJheS5pc0FycmF5KHZhbHVlKSkge1xyXG4gICAgICBsZXQgdmFscyA9IHZhbHVlO1xyXG4gICAgICBpZiAodGhpcy5kYXRhVHlwZSA9PT0gJ251bWJlcicgJiYgdmFsdWUuZXZlcnkodmFsID0+IE51bWJlci5pc051bWJlcih2YWwpKSkge1xyXG4gICAgICAgIHZhbHMgPSB2YWx1ZS5tYXAoZSA9PiArZSk7XHJcbiAgICAgIH1cclxuICAgICAgdGhpcy5tb2RlbENoYW5nZS5lbWl0KHZhbHMpO1xyXG4gICAgICB0aGlzLnNkQ2hhbmdlLmVtaXQodmFscyk7XHJcbiAgICAgIHRoaXMuc2RTZWxlY3Rpb24uZW1pdCh7XHJcbiAgICAgICAgdmFsdWU6IHZhbHMsXHJcbiAgICAgICAgaXRlbXM6IHRoaXMuI2N1cnJlbnRJdGVtcz8uZmlsdGVyKGUgPT4gdmFscy5zb21lKGUxID0+IGUxPy50b1N0cmluZygpID09PSBlPy5bdGhpcy52YWx1ZUZpZWxkXT8udG9TdHJpbmcoKSkpXHJcbiAgICAgIH0pO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgbGV0IHZhbCA9IHZhbHVlO1xyXG4gICAgICBpZiAodGhpcy5kYXRhVHlwZSA9PT0gJ251bWJlcicgJiYgTnVtYmVyLmlzTnVtYmVyKHZhbHVlKSkge1xyXG4gICAgICAgIHZhbCA9ICt2YWx1ZTtcclxuICAgICAgfVxyXG4gICAgICBpZiAodGhpcy5kYXRhVHlwZSA9PT0gJ2Jvb2xlYW4nKSB7XHJcbiAgICAgICAgaWYgKHZhbHVlID09PSAndHJ1ZScpIHtcclxuICAgICAgICAgIHZhbCA9IHRydWU7XHJcbiAgICAgICAgfSBlbHNlIGlmICh2YWx1ZSA9PT0gJ2ZhbHNlJykge1xyXG4gICAgICAgICAgdmFsID0gZmFsc2U7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgIHZhbCA9ICEhdmFsdWU7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICAgIHRoaXMubW9kZWxDaGFuZ2UuZW1pdCh2YWwpO1xyXG4gICAgICB0aGlzLnNkQ2hhbmdlLmVtaXQodmFsKTtcclxuICAgICAgdGhpcy5zZFNlbGVjdGlvbi5lbWl0KHtcclxuICAgICAgICB2YWx1ZTogdmFsLFxyXG4gICAgICAgIGl0ZW06IHRoaXMuI2N1cnJlbnRJdGVtcz8uZmluZChlID0+IHZhbD8udG9TdHJpbmcoKSA9PT0gZT8uW3RoaXMudmFsdWVGaWVsZF0/LnRvU3RyaW5nKCkpXHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgY2xlYXIgPSAoJGV2ZW50PzogYW55KSA9PiB7XHJcbiAgICAkZXZlbnQ/LnN0b3BQcm9wYWdhdGlvbigpO1xyXG4gICAgaWYgKHRoaXMubXVsdGlwbGUpIHtcclxuICAgICAgdGhpcy5mb3JtQ29udHJvbC5zZXRWYWx1ZShbXSk7XHJcbiAgICAgIHRoaXMubW9kZWxDaGFuZ2UuZW1pdChbXSk7XHJcbiAgICAgIHRoaXMuc2RDaGFuZ2UuZW1pdChbXSk7XHJcbiAgICAgIHRoaXMuc2RTZWxlY3Rpb24uZW1pdCh7XHJcbiAgICAgICAgdmFsdWU6IFtdLFxyXG4gICAgICAgIGl0ZW1zOiBbXVxyXG4gICAgICB9KTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuZm9ybUNvbnRyb2wuc2V0VmFsdWUobnVsbCk7XHJcbiAgICAgIHRoaXMubW9kZWxDaGFuZ2UuZW1pdChudWxsKTtcclxuICAgICAgdGhpcy5zZENoYW5nZS5lbWl0KG51bGwpO1xyXG4gICAgICB0aGlzLnNkU2VsZWN0aW9uLmVtaXQoe1xyXG4gICAgICAgIHZhbHVlOiBudWxsLFxyXG4gICAgICAgIGl0ZW06IG51bGxcclxuICAgICAgfSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAjY3VzdG9tVmFsaWRhdG9yID0gKGZ1bmM6ICh2YWx1ZTogYW55KSA9PiBzdHJpbmcgfCBQcm9taXNlPHN0cmluZz4pOiBBc3luY1ZhbGlkYXRvckZuID0+IHtcclxuICAgIHJldHVybiBhc3luYyAoYzogQWJzdHJhY3RDb250cm9sKTogUHJvbWlzZTx7IFtrZXk6IHN0cmluZ106IGFueSB9IHwgbnVsbD4gPT4ge1xyXG4gICAgICBjb25zdCB2YWx1ZSA9IGMudmFsdWUgfHwgbnVsbDtcclxuICAgICAgaWYgKGZ1bmMgJiYgdHlwZW9mIChmdW5jKSA9PT0gJ2Z1bmN0aW9uJykge1xyXG4gICAgICAgIGNvbnN0IHJlc3VsdCA9IGZ1bmModmFsdWUpO1xyXG4gICAgICAgIGlmIChyZXN1bHQgaW5zdGFuY2VvZiBQcm9taXNlKSB7XHJcbiAgICAgICAgICBjb25zdCBtZXNzYWdlID0gYXdhaXQgcmVzdWx0O1xyXG4gICAgICAgICAgaWYgKG1lc3NhZ2UpIHtcclxuICAgICAgICAgICAgcmV0dXJuIHtcclxuICAgICAgICAgICAgICBjdXN0b21WYWxpZGF0b3I6IG1lc3NhZ2VcclxuICAgICAgICAgICAgfTtcclxuICAgICAgICAgIH1cclxuICAgICAgICAgIHJldHVybiBudWxsO1xyXG4gICAgICAgIH1cclxuICAgICAgICBpZiAocmVzdWx0KSB7XHJcbiAgICAgICAgICByZXR1cm4ge1xyXG4gICAgICAgICAgICBjdXN0b21WYWxpZGF0b3I6IHJlc3VsdFxyXG4gICAgICAgICAgfTtcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIG51bGw7XHJcbiAgICAgIH1cclxuICAgICAgcmV0dXJuIG51bGw7XHJcbiAgICB9O1xyXG4gIH1cclxufVxyXG4iXX0=