mmhglobal-dynamicform 2.19.0 → 2.20.0

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.
package/README.md CHANGED
@@ -3,6 +3,10 @@
3
3
  This library was generated with [Angular CLI](https://github.com/angular/angular-cli) version 11.2.13.
4
4
 
5
5
  ## Changelog
6
+ `2.20.0`<br/>
7
+ [virtualscroll] - Fix bug: scroll too fast, item not loaded #3136.<br/>
8
+ [zquerybuilder] - Removed this component. sync with zcore 2.18.0, middleware 2.3.0.
9
+
6
10
  `2.19.0`<br/>
7
11
  [main.service] - when navigate route start to call dismissAll in toast and alert service.<br/>
8
12
  [grid.binding.directive] - to use new renamed loggingService instead.
@@ -95,7 +95,6 @@ import { ZmodalComponent } from "./zmodal/zmodal.component";
95
95
  import { ZmodalMobileComponent } from "./zmodal/zmodal-mobile.component";
96
96
  import { ZnumericComponent } from './znumeric/znumeric.component';
97
97
  import { ZpostselectinputComponent } from './zpostselectinput/zpostselectinput.component';
98
- import { ZquerybuilderComponent } from './zquerybuilder/zquerybuilder.component';
99
98
  import { ZreportComponent } from './zreport/zreport.component';
100
99
  import { ZschedulerComponent } from './zscheduler/zscheduler.component';
101
100
  import { ZselectmultipleComponent } from "./zselectmultiple/zselectmultiple.component";
@@ -171,7 +170,6 @@ MmhglobalDynamicformModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.
171
170
  ZmodalMobileComponent,
172
171
  ZnumericComponent,
173
172
  ZpostselectinputComponent,
174
- ZquerybuilderComponent,
175
173
  ZreportComponent,
176
174
  ZschedulerComponent,
177
175
  ZselectmultipleComponent,
@@ -295,7 +293,6 @@ MmhglobalDynamicformModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.
295
293
  ZmodalMobileComponent,
296
294
  ZnumericComponent,
297
295
  ZpostselectinputComponent,
298
- ZquerybuilderComponent,
299
296
  ZreportComponent,
300
297
  ZschedulerComponent,
301
298
  ZselectmultipleComponent,
@@ -428,7 +425,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.4.0", ngImpor
428
425
  ZmodalMobileComponent,
429
426
  ZnumericComponent,
430
427
  ZpostselectinputComponent,
431
- ZquerybuilderComponent,
432
428
  ZreportComponent,
433
429
  ZschedulerComponent,
434
430
  ZselectmultipleComponent,
@@ -558,7 +554,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.4.0", ngImpor
558
554
  ZmodalMobileComponent,
559
555
  ZnumericComponent,
560
556
  ZpostselectinputComponent,
561
- ZquerybuilderComponent,
562
557
  ZreportComponent,
563
558
  ZschedulerComponent,
564
559
  ZselectmultipleComponent,
@@ -600,4 +595,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.4.0", ngImpor
600
595
  schemas: [CUSTOM_ELEMENTS_SCHEMA]
601
596
  }]
602
597
  }] });
603
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW1oZ2xvYmFsLWR5bmFtaWNmb3JtLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL21taGdsb2JhbC1keW5hbWljZm9ybS9zcmMvbGliL21taGdsb2JhbC1keW5hbWljZm9ybS5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsK0JBQStCO0FBQy9CLE9BQU8sRUFBRSxRQUFRLEVBQUUsc0JBQXNCLEVBQXVCLE1BQU0sZUFBZSxDQUFDO0FBQ3RGLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3pELGtGQUFrRjtBQUNsRixPQUFPLEVBQUUsV0FBVyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFbEUsNkJBQTZCO0FBQzdCLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM3QyxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUV6RCw4QkFBOEI7QUFDOUIsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ2pELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQ3JFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQzVELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBRXhELGtDQUFrQztBQUNsQyxPQUFPLEVBQUUsa0JBQWtCLElBQUksb0JBQW9CLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQztBQUVsRyw2QkFBNkI7QUFDN0IsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ2hFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFB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d0JBQ2QsYUFBYTt3QkFDYixlQUFlO3dCQUNmLGFBQWE7d0JBQ2IsZUFBZTt3QkFDZixxQkFBcUI7d0JBQ3JCLGlCQUFpQjt3QkFDakIseUJBQXlCO3dCQUN6QixzQkFBc0I7d0JBQ3RCLGdCQUFnQjt3QkFDaEIsbUJBQW1CO3dCQUNuQix3QkFBd0I7d0JBQ3hCLGFBQWE7d0JBQ2IsY0FBYzt3QkFDZCxrQkFBa0I7d0JBQ2xCLG9CQUFvQjt3QkFDcEIsY0FBYzt3QkFDZCxrQkFBa0I7d0JBQ2xCLG1CQUFtQjt3QkFDbkIsaUJBQWlCO3dCQUNqQixhQUFhO3dCQUNiLGdCQUFnQjt3QkFDaEIseUJBQXlCO3dCQUN6Qix3QkFBd0I7d0JBQ3hCLHFCQUFxQjt3QkFDckIsWUFBWTt3QkFDWix3QkFBd0I7d0JBQ3hCLGdCQUFnQjt3QkFDaEIsMEJBQTBCO3dCQUMxQix5QkFBeUI7d0JBQ3pCLGdCQUFnQjt3QkFDaEIsbUJBQW1CO3dCQUNuQiwrQkFBK0I7d0JBQy9CLGNBQWM7d0JBQ2QsdUJBQXVCO3dCQUN2QixxQkFBcUI7d0JBQ3JCLHFCQUFxQjt3QkFDckIscUJBQXFCO3dCQUNyQix1QkFBdUI7d0JBQ3ZCLGNBQWM7d0JBQ2Qsa0JBQWtCO3dCQUNsQixzQkFBc0I7d0JBQ3RCLHFCQUFxQjtxQkFDdEI7b0JBQ0QsU0FBUyxFQUFFO3dCQUNULFlBQVk7cUJBQ2I7b0JBQ0QsT0FBTyxFQUFFLENBQUMsc0JBQXNCLENBQUM7aUJBQ2xDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqKioqKioqKiogQW5ndWxhciAqKioqKioqKioqL1xyXG5pbXBvcnQgeyBOZ01vZHVsZSwgQ1VTVE9NX0VMRU1FTlRTX1NDSEVNQSwgTW9kdWxlV2l0aFByb3ZpZGVycyB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQgeyBSb3V0ZXJNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xyXG5pbXBvcnQgeyBTY3JvbGxpbmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jZGsvc2Nyb2xsaW5nJztcclxuLy8gaW1wb3J0IHsgQnJvd3NlckFuaW1hdGlvbnNNb2R1bGUgfSBmcm9tIFwiQGFuZ3VsYXIvcGxhdGZvcm0tYnJvd3Nlci9hbmltYXRpb25zXCI7XHJcbmltcG9ydCB7IEZvcm1zTW9kdWxlLCBSZWFjdGl2ZUZvcm1zTW9kdWxlIH0gZnJvbSBcIkBhbmd1bGFyL2Zvcm1zXCI7XHJcblxyXG4vKioqKioqKioqKiBJb25pYyAqKioqKioqKioqL1xyXG5pbXBvcnQgeyBJb25pY01vZHVsZSB9IGZyb20gJ0Bpb25pYy9hbmd1bGFyJztcclxuaW1wb3J0IHsgSW9uaWNTZWxlY3RhYmxlTW9kdWxlIH0gZnJvbSAnaW9uaWMtc2VsZWN0YWJsZSc7XHJcblxyXG4vKioqKioqKioqKiBQbHVnaW4gKioqKioqKioqKi9cclxuaW1wb3J0IHsgQWNlRWRpdG9yTW9kdWxlIH0gZnJvbSAnbmcyLWFjZS1lZGl0b3InO1xyXG5pbXBvcnQgeyBGb250QXdlc29tZU1vZHVsZSB9IGZyb20gJ0Bmb3J0YXdlc29tZS9hbmd1bGFyLWZvbnRhd2Vzb21lJztcclxuaW1wb3J0IHsgUXVlcnlCdWlsZGVyTW9kdWxlIH0gZnJvbSBcImFuZ3VsYXIyLXF1ZXJ5LWJ1aWxkZXJcIjtcclxuaW1wb3J0IHsgRmxleExheW91dE1vZHVsZSB9IGZyb20gXCJAYW5ndWxhci9mbGV4LWxheW91dFwiO1xyXG5cclxuLyoqKioqKioqKiogU3luY0Z1c2lvbiAqKioqKioqKioqL1xyXG5pbXBvcnQgeyBRdWVyeUJ1aWxkZXJNb2R1bGUgYXMgU0ZRdWVyeUJ1aWxkZXJNb2R1bGUgfSBmcm9tICdAc3luY2Z1c2lvbi9lajItYW5ndWxhci1xdWVyeWJ1aWxkZXInO1xyXG5cclxuLyoqKioqKioqKiogS2VuZG8gKioqKioqKioqKi9cclxuaW1wb3J0IHsgQXJjR2F1Z2VNb2R1bGUgfSBmcm9tICdAcHJvZ3Jlc3Mva2VuZG8tYW5ndWxhci1nYXVnZXMnO1xyXG5pbXBvcnQgeyBCdXR0b25zTW9kdWxlIH0gZnJvbSAnQHByb2dyZXNzL2tlbmRvLWFuZ3VsYXItYnV0dG9ucyc7XHJcbmltcG9ydCB7IENoYXJ0c01vZHVsZSB9IGZyb20gJ0Bwcm9ncmVzcy9rZW5kby1hbmd1bGFyLWNoYXJ0cyc7XHJcbmltcG9ydCB7IENhbGVuZGFyTW9kdWxlLCBEYXRlSW5wdXRzTW9kdWxlIH0gZnJvbSAnQHByb2dyZXNzL2tlbmRvLWFuZ3VsYXItZGF0ZWlucHV0cyc7XHJcbmltcG9ydCB7IERyb3BEb3duc01vZHVsZSB9IGZyb20gJ0Bwcm9ncmVzcy9rZW5kby1hbmd1bGFyLWRyb3Bkb3ducyc7XHJcbmltcG9ydCB7IEVkaXRvck1vZHVsZSB9IGZyb20gJ0Bwcm9ncmVzcy9rZW5kby1hbmd1bGFyLWVkaXRvcic7XHJcbmltcG9ydCB7IEV4Y2VsTW9kdWxlLCBHcmlkTW9kdWxlIH0gZnJvbSAnQHByb2dyZXNzL2tlbmRvLWFuZ3VsYXItZ3JpZCc7XHJcbmltcG9ydCB7IEZpbHRlck1vZHVsZSB9IGZyb20gJ0Bwcm9ncmVzcy9rZW5kby1hbmd1bGFyLWZpbHRlcic7XHJcbmltcG9ydCB7IEluZGljYXRvcnNNb2R1bGUgfSBmcm9tIFwiQHByb2dyZXNzL2tlbmRvLWFuZ3VsYXItaW5kaWNhdG9yc1wiO1xyXG5pbXBvcnQgeyBJbnRsTW9kdWxlIH0gZnJvbSAnQHByb2dyZXNzL2tlbmRvLWFuZ3VsYXItaW50bCc7XHJcbmltcG9ydCB7IENvbG9yUGlja2VyTW9kdWxlLCBJbnB1dHNNb2R1bGUsIFN3aXRjaE1vZHVsZSwgVGV4dEJveE1vZHVsZSB9IGZyb20gJ0Bwcm9ncmVzcy9rZW5kby1hbmd1bGFyLWlucHV0cyc7XHJcbmltcG9ydCB7IExhYmVsTW9kdWxlIH0gZnJvbSAnQHByb2dyZXNzL2tlbmRvLWFuZ3VsYXItbGFiZWwnO1xyXG5pbXBvcnQgeyBMYXlvdXRNb2R1bGUsIFBhbmVsQmFyTW9kdWxlLCBUYWJTdHJpcE1vZHVsZSB9IGZyb20gJ0Bwcm9ncmVzcy9rZW5kby1hbmd1bGFyLWxheW91dCc7XHJcbmltcG9ydCB7IE5vdGlmaWNhdGlvbk1vZHVsZSB9IGZyb20gJ0Bwcm9ncmVzcy9rZW5kby1hbmd1bGFyLW5vdGlmaWNhdGlvbic7XHJcbmltcG9ydCB7IFBvcHVwTW9kdWxlIH0gZnJvbSAnQHByb2dyZXNzL2tlbmRvLWFuZ3VsYXItcG9wdXAnO1xyXG5pbXBvcnQgeyBQcm9ncmVzc0Jhck1vZHVsZSB9IGZyb20gXCJAcHJvZ3Jlc3Mva2VuZG8tYW5ndWxhci1wcm9ncmVzc2JhclwiO1xyXG5pbXBvcnQgeyBUZWxlcmlrUmVwb3J0aW5nTW9kdWxlIH0gZnJvbSAnQHByb2dyZXNzL3RlbGVyaWstYW5ndWxhci1yZXBvcnQtdmlld2VyJztcclxuaW1wb3J0IHsgU2NoZWR1bGVyTW9kdWxlIH0gZnJvbSAnQHByb2dyZXNzL2tlbmRvLWFuZ3VsYXItc2NoZWR1bGVyJztcclxuaW1wb3J0IHsgVHJlZUxpc3RNb2R1bGUgfSBmcm9tICdAcHJvZ3Jlc3Mva2VuZG8tYW5ndWxhci10cmVlbGlzdCc7XHJcbmltcG9ydCB7IFRyZWVWaWV3TW9kdWxlIH0gZnJvbSAnQHByb2dyZXNzL2tlbmRvLWFuZ3VsYXItdHJlZXZpZXcnO1xyXG5pbXBvcnQgeyBUb29sdGlwTW9kdWxlIH0gZnJvbSAnQHByb2dyZXNzL2tlbmRvLWFuZ3VsYXItdG9vbHRpcCc7XHJcbmltcG9ydCB7IFBvcG92ZXJNb2R1bGUgfSBmcm9tIFwiQHByb2dyZXNzL2tlbmRvLWFuZ3VsYXItdG9vbHRpcFwiO1xyXG5pbXBvcnQgeyBVcGxvYWRNb2R1bGUsIFVwbG9hZHNNb2R1bGUgfSBmcm9tICdAcHJvZ3Jlc3Mva2VuZG8tYW5ndWxhci11cGxvYWQnO1xyXG5pbXBvcnQgeyBOYXZpZ2F0aW9uTW9kdWxlIH0gZnJvbSAnQHByb2dyZXNzL2tlbmRvLWFuZ3VsYXItbmF2aWdhdGlvbic7XHJcblxyXG4vKioqKioqKioqKiBTZXJ2aWNlICYgRGlyZWN0aXZlICoqKioqKioqKiovXHJcbmltcG9ydCB7IFpDb3JlTW9kdWxlLCBaR3JvdXAgfSBmcm9tICdtbWhnbG9iYWwtemNvcmUnO1xyXG5pbXBvcnQgeyBNbWhnbG9iYWxNaWRkbGV3YXJlTW9kdWxlIH0gZnJvbSAnbW1oZ2xvYmFsLW1pZGRsZXdhcmUnO1xyXG5pbXBvcnQgeyBNbWhnbG9iYWxabW9kYWxNb2R1bGUsIE1vZGFsU2VydmljZSB9IGZyb20gJ21taGdsb2JhbC16bW9kYWwnO1xyXG5pbXBvcnQgeyBNYWluU2VydmljZSB9IGZyb20gJy4vc2VydmljZXMvbWFpbi5zZXJ2aWNlJztcclxuaW1wb3J0IHsgU2Nyb2xsYmFyVGhlbWVEaXJlY3RpdmUgfSBmcm9tICcuL2RpcmVjdGl2ZXMvc2Nyb2xsYmFyLnRoZW1lLmRpcmVjdGl2ZSc7XHJcbmltcG9ydCB7IEZpZWxkRWxlbWVudERpcmVjdGl2ZSB9IGZyb20gJy4vZGlyZWN0aXZlcy9maWVsZGVsZW1lbnQuZGlyZWN0aXZlJztcclxuaW1wb3J0IHsgWkdyaWRCaW5kaW5nRGlyZWN0aXZlIH0gZnJvbSAnLi96Z3JpZC96Z3JpZC5iaW5kaW5nLmRpcmVjdGl2ZSc7XHJcbmltcG9ydCB7IFpHcmlkUG9wdXBBbmNob3JEaXJlY3RpdmUgfSBmcm9tICcuL3pncmlkL3pncmlkLnBvcHVwLmFuY2hvci10YXJnZXQuZGlyZWN0aXZlJztcclxuaW1wb3J0IHsgT3Blbk9uRm9jdXNEaXJlY3RpdmUgfSBmcm9tICcuL3pzZWxlY3RtdWx0aXBsZS96c2VsZWN0bXVsdGlwbGUuZGlyZWN0aXZlJztcclxuaW1wb3J0IHsgRWxlbWVudENvbnRhaW5lckRpcmVjdGl2ZSB9IGZyb20gJy4vZGlyZWN0aXZlcy9lbGVtZW50Y29udGFpbmVyLmRpcmVjdGl2ZSc7XHJcblxyXG4vKioqKioqKioqKiBBZGRvbiAqKioqKioqKioqL1xyXG5pbXBvcnQgeyBEYXRlUGFyc2VyRmlsdGVyIH0gZnJvbSAnLi96ZGF0ZXRpbWUvZGF0ZVBhcnNlci5waXBlJztcclxuaW1wb3J0IHsgRWRpdG9yRmlsdGVyIH0gZnJvbSAnLi96Y29kZWVkaXRvci96Y29kZWVkaXRvci5waXBlJztcclxuaW1wb3J0IHsgRGl2ekxheW91dCB9IGZyb20gJy4vemRpdi96ZGl2LnBpcGUnO1xyXG5pbXBvcnQgeyBUYWJGaWx0ZXIgfSBmcm9tICcuL3p0YWIvenRhYi5waXBlJztcclxuaW1wb3J0IHsgWklucHV0UGFyc2VyIH0gZnJvbSAnLi96aW5wdXQtY29udGFpbmVyL3ppbnB1dC1jb250YWluZXIucGlwZSc7XHJcbmltcG9ydCB7IEh0bWxTYW5pdGl6ZVBpcGUgfSBmcm9tICcuL3BpcGUvaHRtbFNhbml0aXplLnBpcGUnO1xyXG5pbXBvcnQgeyBEYXRlUmFuZ2VGaWx0ZXJDZWxsQ29tcG9uZW50IH0gZnJvbSAnLi96Z3JpZC9kYXRlLXJhbmdlLWNlbGwtZmlsdGVyLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFpTY2hlZHVsZXJUb29sQmFyQ29tcG9uZW50IH0gZnJvbSAnLi96c2NoZWR1bGVyL3pzY2hlZHVsZXIudG9vbGJhci5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBaU2VsZWN0VHJhbnNsYXRpb25QYXJzZXIgfSBmcm9tICcuL3pzZWxlY3RtdWx0aXBsZS96c2VsZWN0bXVsdGlwbGUucGlwZSc7XHJcbmltcG9ydCB7IFpOdW1lcmljUGFyc2VyIH0gZnJvbSAnLi96bnVtZXJpYy96bnVtZXJpYy5jb21wb25lbnQucGlwZSc7XHJcbmltcG9ydCB7IERhdGVLZW5kb0Zvcm1hdFBhcnNlciB9IGZyb20gJy4vemRhdGV0aW1lL2RhdGVLZW5kb0Zvcm1hdFBhcnNlci5waXBlJztcclxuaW1wb3J0IHsgRGF0ZUlvbmljRm9ybWF0UGFyc2VyIH0gZnJvbSAnLi96ZGF0ZXRpbWUvZGF0ZUlvbmljRm9ybWF0UGFyc2VyLnBpcGUnO1xyXG5cclxuLyoqKioqKioqKiogekNvbXBvbmVudCAqKioqKioqKioqL1xyXG5pbXBvcnQgeyBVaXBhZ2VDb21wb25lbnQgfSBmcm9tICcuL3VpcGFnZS91aXBhZ2UuY29tcG9uZW50JztcclxuaW1wb3J0IHsgVWloZWFkZXJDb21wb25lbnQgfSBmcm9tICcuL3VpaGVhZGVyL3VpaGVhZGVyLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFVpY29udGFpbmVyQ29tcG9uZW50IH0gZnJvbSAnLi91aWNvbnRhaW5lci91aWNvbnRhaW5lci5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBVaWNvbnRlbnRDb21wb25lbnQgfSBmcm9tICcuL3VpY29udGVudC91aWNvbnRlbnQuY29tcG9uZW50JztcclxuXHJcbmltcG9ydCB7IFVpbWVudWNvbnRlbnRDb21wb25lbnQgfSBmcm9tICcuL3VpbWVudWNvbnRlbnQvdWltZW51Y29udGVudC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBVaW1lbnVidXR0b25Db21wb25lbnQgfSBmcm9tICcuL3VpbWVudWJ1dHRvbi91aW1lbnVidXR0b24uY29tcG9uZW50JztcclxuaW1wb3J0IHsgVWlhcHBtZW51Y29udGVudENvbXBvbmVudCB9IGZyb20gJy4vdWlhcHBtZW51Y29udGVudC91aWFwcG1lbnVjb250ZW50LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFVpYnVsbGV0aW5Db21wb25lbnQgfSBmcm9tICcuL3VpYnVsbGV0aW4vdWlidWxsZXRpbi5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBVaWFjdGlvbmJ1dHRvbkNvbXBvbmVudCB9IGZyb20gJy4vdWlhY3Rpb25idXR0b24vdWlhY3Rpb25idXR0b24uY29tcG9uZW50JztcclxuaW1wb3J0IHsgVWl2YWxpZGF0aW9ubWVzc2FnZUNvbXBvbmVudCB9IGZyb20gJy4vdWl2YWxpZGF0aW9ubWVzc2FnZS91aXZhbGlkYXRpb25tZXNzYWdlLmNvbXBvbmVudCc7XHJcblxyXG5pbXBvcnQgeyBaQnVsbGV0Q29tcG9uZW50IH0gZnJvbSBcIi4vemJ1bGxldC96YnVsbGV0LmNvbXBvbmVudFwiO1xyXG5pbXBvcnQgeyBaYnV0dG9uc0NvbXBvbmVudCB9IGZyb20gXCIuL3pidXR0b25zL3pidXR0b25zLmNvbXBvbmVudFwiO1xyXG5pbXBvcnQgeyBaY2FyZENvbXBvbmVudCB9IGZyb20gXCIuL3pjYXJkL3pjYXJkLmNvbXBvbmVudFwiO1xyXG5pbXBvcnQgeyBaY2hhcnRDb21wb25lbnQgfSBmcm9tICcuL3pjaGFydC96Y2hhcnQuY29tcG9uZW50JztcclxuaW1wb3J0IHsgWmNoZWNrYm94Q29tcG9uZW50IH0gZnJvbSAnLi96Y2hlY2tib3gvemNoZWNrYm94LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFpDaGlwQ29tcG9uZW50IH0gZnJvbSBcIi4vemNoaXAvemNoaXAuY29tcG9uZW50XCI7XHJcbmltcG9ydCB7IFpjb2RlZWRpdG9yQ29tcG9uZW50IH0gZnJvbSAnLi96Y29kZWVkaXRvci96Y29kZWVkaXRvci5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBaZGF0ZXJhbmdlQ29tcG9uZW50IH0gZnJvbSAnLi96ZGF0ZXJhbmdlL3pkYXRlcmFuZ2UuY29tcG9uZW50JztcclxuaW1wb3J0IHsgWmRhdGV0aW1lQ29tcG9uZW50IH0gZnJvbSAnLi96ZGF0ZXRpbWUvemRhdGV0aW1lLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFpkaXZDb21wb25lbnQgfSBmcm9tICcuL3pkaXYvemRpdi5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBaZm9ybUNvbXBvbmVudCB9IGZyb20gXCIuL3pmb3JtL3pmb3JtLmNvbXBvbmVudFwiO1xyXG5pbXBvcnQgeyBaZm9ybWNvbnRyb2xDb21wb25lbnQgfSBmcm9tIFwiLi96Zm9ybWNvbnRyb2wvemZvcm1jb250cm9sLmNvbXBvbmVudFwiO1xyXG5pbXBvcnQgeyBaZ2F1Z2VDb21wb25lbnQgfSBmcm9tICcuL3pnYXVnZS96Z2F1Z2UuY29tcG9uZW50JztcclxuaW1wb3J0IHsgWmdyaWRDb21wb25lbnQgfSBmcm9tIFwiLi96Z3JpZC96Z3JpZC5jb21wb25lbnRcIjtcclxuaW1wb3J0IHsgWmdyaWRDb250YWluZXJDb21wb25lbnQgfSBmcm9tIFwiLi96Z3JpZC9jb250YWluZXIvemdyaWQtY29udGFpbmVyLmNvbXBvbmVudFwiO1xyXG5pbXBvcnQgeyBaaW1nQ29tcG9uZW50IH0gZnJvbSAnLi96aW1nL3ppbWcuY29tcG9uZW50JztcclxuaW1wb3J0IHsgWmxhYmVsQ29tcG9uZW50IH0gZnJvbSAnLi96bGFiZWwvemxhYmVsLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFptZmJDb21wb25lbnQgfSBmcm9tICcuL3ptZmIvem1mYi5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBabW9kYWxDb21wb25lbnQgfSBmcm9tIFwiLi96bW9kYWwvem1vZGFsLmNvbXBvbmVudFwiO1xyXG5pbXBvcnQgeyBabW9kYWxNb2JpbGVDb21wb25lbnQgfSBmcm9tIFwiLi96bW9kYWwvem1vZGFsLW1vYmlsZS5jb21wb25lbnRcIjtcclxuaW1wb3J0IHsgWm51bWVyaWNDb21wb25lbnQgfSBmcm9tICcuL3pudW1lcmljL3pudW1lcmljLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFpwb3N0c2VsZWN0aW5wdXRDb21wb25lbnQgfSBmcm9tICcuL3pwb3N0c2VsZWN0aW5wdXQvenBvc3RzZWxlY3RpbnB1dC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBacXVlcnlidWlsZGVyQ29tcG9uZW50IH0gZnJvbSAnLi96cXVlcnlidWlsZGVyL3pxdWVyeWJ1aWxkZXIuY29tcG9uZW50JztcclxuaW1wb3J0IHsgWnJlcG9ydENvbXBvbmVudCB9IGZyb20gJy4venJlcG9ydC96cmVwb3J0LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFpzY2hlZHVsZXJDb21wb25lbnQgfSBmcm9tICcuL3pzY2hlZHVsZXIvenNjaGVkdWxlci5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBac2VsZWN0bXVsdGlwbGVDb21wb25lbnQgfSBmcm9tIFwiLi96c2VsZWN0bXVsdGlwbGUvenNlbGVjdG11bHRpcGxlLmNvbXBvbmVudFwiO1xyXG5pbXBvcnQgeyBadGFiQ29tcG9uZW50IH0gZnJvbSBcIi4venRhYi96dGFiLmNvbXBvbmVudFwiO1xyXG5pbXBvcnQgeyBadGV4dENvbXBvbmVudCB9IGZyb20gXCIuL3p0ZXh0L3p0ZXh0LmNvbXBvbmVudFwiO1xyXG5pbXBvcnQgeyBadGV4dGFyZWFDb21wb25lbnQgfSBmcm9tICcuL3p0ZXh0YXJlYS96dGV4dGFyZWEuY29tcG9uZW50JztcclxuaW1wb3J0IHsgWnRleHRlZGl0b3JDb21wb25lbnQgfSBmcm9tICcuL3p0ZXh0ZWRpdG9yL3p0ZXh0ZWRpdG9yLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFp0cmVlQ29tcG9uZW50IH0gZnJvbSAnLi96dHJlZS96dHJlZS5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBadHJlZWxpc3RDb21wb25lbnQgfSBmcm9tICcuL3p0cmVlbGlzdC96dHJlZWxpc3QuY29tcG9uZW50JztcclxuaW1wb3J0IHsgWnRyZW5kY2FyZENvbXBvbmVudCB9IGZyb20gJy4venRyZW5kY2FyZC96dHJlbmRjYXJkLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFp1bmtub3duQ29tcG9uZW50IH0gZnJvbSBcIi4venVua25vd24venVua25vd24uY29tcG9uZW50XCI7XHJcbmltcG9ydCB7IFp1ZGZDb21wb25lbnQgfSBmcm9tICcuL3p1ZGYvenVkZi5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBadXBsb2FkQ29tcG9uZW50IH0gZnJvbSAnLi96dXBsb2FkL3p1cGxvYWQuY29tcG9uZW50JztcclxuaW1wb3J0IHsgWndvcmtmbG93YnV0dG9uc0NvbXBvbmVudCB9IGZyb20gXCIuL3p3b3JrZmxvd2J1dHRvbnMvendvcmtmbG93YnV0dG9ucy5jb21wb25lbnRcIjtcclxuaW1wb3J0IHsgS2NhcmRDb21wb25lbnQgfSBmcm9tICcuL2tjYXJkL2tjYXJkLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFpJbnB1dENvbnRhaW5lckNvbXBvbmVudCB9IGZyb20gJy4vemlucHV0LWNvbnRhaW5lci96aW5wdXQtY29udGFpbmVyLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFpwcm9ncmVzc2JhckNvbXBvbmVudCB9IGZyb20gJy4venByb2dyZXNzYmFyL3pwcm9ncmVzc2Jhci5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBJbnB1dEVycm9yTWVzc2FnZUNvbXBvbmVudCB9IGZyb20gJy4vaW5wdXQtZXJyb3ItbWVzc2FnZS9pbnB1dC1lcnJvci1tZXNzYWdlLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IElucHV0RmllbGRBZGRPbnNDb21wb25lbnQgfSBmcm9tICcuL2VtYmVkLWNvbXBvbmVudHMvaW5wdXQtZmllbGQtYWRkb25zL2lucHV0LWZpZWxkLWFkZG9ucy5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBQcm9jZXNzaW5nUmVjb3JkTG9hZGVyQ29tcG9uZW50IH0gZnJvbSAnLi9lbWJlZC1jb21wb25lbnRzL3Byb2Nlc3NpbmctcmVjb3JkLWxvYWRlci9wcm9jZXNzaW5nLXJlY29yZC1sb2FkZXIuY29tcG9uZW50JztcclxuaW1wb3J0IHsgRGF0ZUlvbmljTWluTWF4UGFyc2VyIH0gZnJvbSAnLi96ZGF0ZXRpbWUvZGF0ZUlvbmljTWluTWF4RGF0ZS5waXBlJztcclxuaW1wb3J0IHsgU2ZxdWVyeWJ1aWxkZXJDb21wb25lbnQgfSBmcm9tICcuL3NmcXVlcnlidWlsZGVyL3NmcXVlcnlidWlsZGVyLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFpsb29wQ29tcG9uZW50IH0gZnJvbSAnLi96bG9vcC96bG9vcC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBLc3BsaXR0ZXJDb21wb25lbnQgfSBmcm9tICcuL2tzcGxpdHRlci9rc3BsaXR0ZXIuY29tcG9uZW50JztcclxuaW1wb3J0IHsgVmlydHVhbFNjcm9sbENvbXBvbmVudCB9IGZyb20gJy4vdmlydHVhbC1zY3JvbGwvdmlydHVhbC1zY3JvbGwuY29tcG9uZW50JztcclxuaW1wb3J0IHsgU3Bpbm5lckNvbXBvbmVudCB9IGZyb20gJy4vZW1iZWQtY29tcG9uZW50cy9zcGlubmVyL3NwaW5uZXIuY29tcG9uZW50JztcclxuaW1wb3J0IHsgUGFnZUxvYWRlckNvbXBvbmVudCB9IGZyb20gJy4vZW1iZWQtY29tcG9uZW50cy9wYWdlLWxvYWRlci9wYWdlLWxvYWRlci5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBaY29sb3JwaWNrZXJDb21wb25lbnQgfSBmcm9tICcuL3pjb2xvcnBpY2tlci96Y29sb3JwaWNrZXIuY29tcG9uZW50JztcclxuXHJcbkBOZ01vZHVsZSh7XHJcbiAgZGVjbGFyYXRpb25zOiBbXHJcbiAgICBTY3JvbGxiYXJUaGVtZURpcmVjdGl2ZSxcclxuICAgIEZpZWxkRWxlbWVudERpcmVjdGl2ZSxcclxuICAgIFpHcmlkQmluZGluZ0RpcmVjdGl2ZSxcclxuICAgIFpHcmlkUG9wdXBBbmNob3JEaXJlY3RpdmUsXHJcbiAgICBPcGVuT25Gb2N1c0RpcmVjdGl2ZSxcclxuICAgIEVsZW1lbnRDb250YWluZXJEaXJlY3RpdmUsXHJcbiAgICBEYXRlUGFyc2VyRmlsdGVyLCAvLyB6Z3JpZCBhZGRvblxyXG4gICAgRWRpdG9yRmlsdGVyLCAvLyB6Y29kZSBhZGRvblxyXG4gICAgRGl2ekxheW91dCwgLy8gemRpdiBhZGRvblxyXG4gICAgVGFiRmlsdGVyLCAvLyB6dGFiIGFkZG9uXHJcbiAgICBEYXRlUmFuZ2VGaWx0ZXJDZWxsQ29tcG9uZW50LCAvLyB6Z3JpZCBhZGRvblxyXG4gICAgWlNjaGVkdWxlclRvb2xCYXJDb21wb25lbnQsIC8vIHpzY2hlZHVsZXIgYWRkb25cclxuICAgIFVpaGVhZGVyQ29tcG9uZW50LFxyXG4gICAgVWljb250YWluZXJDb21wb25lbnQsXHJcbiAgICBVaWNvbnRlbnRDb21wb25lbnQsXHJcbiAgICBVaXBhZ2VDb21wb25lbnQsXHJcbiAgICBVaWJ1bGxldGluQ29tcG9uZW50LFxyXG4gICAgVWlhY3Rpb25idXR0b25Db21wb25lbnQsXHJcbiAgICBVaW1lbnVjb250ZW50Q29tcG9uZW50LFxyXG4gICAgVWltZW51YnV0dG9uQ29tcG9uZW50LFxyXG4gICAgVWlhcHBtZW51Y29udGVudENvbXBvbmVudCxcclxuICAgIFVpdmFsaWRhdGlvbm1lc3NhZ2VDb21wb25lbnQsXHJcbiAgICBaQnVsbGV0Q29tcG9uZW50LFxyXG4gICAgWmJ1dHRvbnNDb21wb25lbnQsXHJcbiAgICBaY2FyZENvbXBvbmVudCxcclxuICAgIFpjaGFydENvbXBvbmVudCxcclxuICAgIFpjaGVja2JveENvbXBvbmVudCxcclxuICAgIFpDaGlwQ29tcG9uZW50LFxyXG4gICAgWmNvZGVlZGl0b3JDb21wb25lbnQsXHJcbiAgICBaZGF0ZXJhbmdlQ29tcG9uZW50LFxyXG4gICAgWmRhdGV0aW1lQ29tcG9uZW50LFxyXG4gICAgWmRpdkNvbXBvbmVudCxcclxuICAgIFpmb3JtQ29tcG9uZW50LFxyXG4gICAgWmZvcm1jb250cm9sQ29tcG9uZW50LFxyXG4gICAgWmdhdWdlQ29tcG9uZW50LFxyXG4gICAgWmdyaWRDb21wb25lbnQsXHJcbiAgICBaaW1nQ29tcG9uZW50LFxyXG4gICAgWmxhYmVsQ29tcG9uZW50LFxyXG4gICAgWm1mYkNvbXBvbmVudCxcclxuICAgIFptb2RhbENvbXBvbmVudCxcclxuICAgIFptb2RhbE1vYmlsZUNvbXBvbmVudCxcclxuICAgIFpudW1lcmljQ29tcG9uZW50LFxyXG4gICAgWnBvc3RzZWxlY3RpbnB1dENvbXBvbmVudCxcclxuICAgIFpxdWVyeWJ1aWxkZXJDb21wb25lbnQsXHJcbiAgICBacmVwb3J0Q29tcG9uZW50LFxyXG4gICAgWnNjaGVkdWxlckNvbXBvbmVudCxcclxuICAgIFpzZWxlY3RtdWx0aXBsZUNvbXBvbmVudCxcclxuICAgIFp0YWJDb21wb25lbnQsXHJcbiAgICBadGV4dENvbXBvbmVudCxcclxuICAgIFp0ZXh0YXJlYUNvbXBvbmVudCxcclxuICAgIFp0ZXh0ZWRpdG9yQ29tcG9uZW50LFxyXG4gICAgWnRyZWVDb21wb25lbnQsXHJcbiAgICBadHJlZWxpc3RDb21wb25lbnQsXHJcbiAgICBadHJlbmRjYXJkQ29tcG9uZW50LFxyXG4gICAgWnVua25vd25Db21wb25lbnQsXHJcbiAgICBadWRmQ29tcG9uZW50LFxyXG4gICAgWnVwbG9hZENvbXBvbmVudCxcclxuICAgIFp3b3JrZmxvd2J1dHRvbnNDb21wb25lbnQsXHJcbiAgICBLY2FyZENvbXBvbmVudCxcclxuICAgIFpJbnB1dENvbnRhaW5lckNvbXBvbmVudCxcclxuICAgIFpwcm9ncmVzc2JhckNvbXBvbmVudCxcclxuICAgIFpJbnB1dFBhcnNlcixcclxuICAgIFpTZWxlY3RUcmFuc2xhdGlvblBhcnNlcixcclxuICAgIEh0bWxTYW5pdGl6ZVBpcGUsXHJcbiAgICBJbnB1dEVycm9yTWVzc2FnZUNvbXBvbmVudCxcclxuICAgIElucHV0RmllbGRBZGRPbnNDb21wb25lbnQsXHJcbiAgICBTcGlubmVyQ29tcG9uZW50LFxyXG4gICAgUGFnZUxvYWRlckNvbXBvbmVudCxcclxuICAgIFByb2Nlc3NpbmdSZWNvcmRMb2FkZXJDb21wb25lbnQsXHJcbiAgICBaTnVtZXJpY1BhcnNlcixcclxuICAgIFpncmlkQ29udGFpbmVyQ29tcG9uZW50LFxyXG4gICAgRGF0ZUtlbmRvRm9ybWF0UGFyc2VyLFxyXG4gICAgRGF0ZUlvbmljRm9ybWF0UGFyc2VyLFxyXG4gICAgRGF0ZUlvbmljTWluTWF4UGFyc2VyLFxyXG4gICAgU2ZxdWVyeWJ1aWxkZXJDb21wb25lbnQsXHJcbiAgICBabG9vcENvbXBvbmVudCxcclxuICAgIEtzcGxpdHRlckNvbXBvbmVudCxcclxuICAgIFZpcnR1YWxTY3JvbGxDb21wb25lbnQsXHJcbiAgICBaY29sb3JwaWNrZXJDb21wb25lbnRcclxuICBdLFxyXG4gIGltcG9ydHM6IFtcclxuICAgIElvbmljTW9kdWxlLFxyXG4gICAgSW9uaWNTZWxlY3RhYmxlTW9kdWxlLFxyXG4gICAgQ29tbW9uTW9kdWxlLFxyXG4gICAgUm91dGVyTW9kdWxlLFxyXG4gICAgRm9ybXNNb2R1bGUsXHJcbiAgICBSZWFjdGl2ZUZvcm1zTW9kdWxlLFxyXG4gICAgQWNlRWRpdG9yTW9kdWxlLFxyXG4gICAgRm9udEF3ZXNvbWVNb2R1bGUsXHJcbiAgICBRdWVyeUJ1aWxkZXJNb2R1bGUsXHJcbiAgICBBcmNHYXVnZU1vZHVsZSxcclxuICAgIEJ1dHRvbnNNb2R1bGUsXHJcbiAgICBDaGFydHNNb2R1bGUsXHJcbiAgICBDYWxlbmRhck1vZHVsZSxcclxuICAgIERhdGVJbnB1dHNNb2R1bGUsXHJcbiAgICBEcm9wRG93bnNNb2R1bGUsXHJcbiAgICBFZGl0b3JNb2R1bGUsXHJcbiAgICBFeGNlbE1vZHVsZSxcclxuICAgIEdyaWRNb2R1bGUsXHJcbiAgICBGaWx0ZXJNb2R1bGUsXHJcbiAgICBJbmRpY2F0b3JzTW9kdWxlLFxyXG4gICAgSW50bE1vZHVsZSxcclxuICAgIElucHV0c01vZHVsZSxcclxuICAgIFN3aXRjaE1vZHVsZSxcclxuICAgIFRleHRCb3hNb2R1bGUsXHJcbiAgICBMYWJlbE1vZHVsZSxcclxuICAgIExheW91dE1vZHVsZSxcclxuICAgIFBhbmVsQmFyTW9kdWxlLFxyXG4gICAgVGFiU3RyaXBNb2R1bGUsXHJcbiAgICBOb3RpZmljYXRpb25Nb2R1bGUsXHJcbiAgICBQb3B1cE1vZHVsZSxcclxuICAgIFByb2dyZXNzQmFyTW9kdWxlLFxyXG4gICAgVGVsZXJpa1JlcG9ydGluZ01vZHVsZSxcclxuICAgIFNjaGVkdWxlck1vZHVsZSxcclxuICAgIFRyZWVMaXN0TW9kdWxlLFxyXG4gICAgVHJlZVZpZXdNb2R1bGUsXHJcbiAgICBUb29sdGlwTW9kdWxlLFxyXG4gICAgUG9wb3Zlck1vZHVsZSxcclxuICAgIFVwbG9hZE1vZHVsZSxcclxuICAgIFVwbG9hZHNNb2R1bGUsXHJcbiAgICBaQ29yZU1vZHVsZSxcclxuICAgIE1taGdsb2JhbFptb2RhbE1vZHVsZSxcclxuICAgIE5hdmlnYXRpb25Nb2R1bGUsXHJcbiAgICBGbGV4TGF5b3V0TW9kdWxlLFxyXG4gICAgU0ZRdWVyeUJ1aWxkZXJNb2R1bGUsXHJcbiAgICBTY3JvbGxpbmdNb2R1bGUsXHJcbiAgICBRdWVyeUJ1aWxkZXJNb2R1bGUsXHJcbiAgICBDb2xvclBpY2tlck1vZHVsZVxyXG4gIF0sXHJcbiAgZXhwb3J0czogW1xyXG4gICAgU2Nyb2xsYmFyVGhlbWVEaXJlY3RpdmUsXHJcbiAgICBGaWVsZEVsZW1lbnREaXJlY3RpdmUsXHJcbiAgICBaR3JpZEJpbmRpbmdEaXJlY3RpdmUsXHJcbiAgICBaR3JpZFBvcHVwQW5jaG9yRGlyZWN0aXZlLFxyXG4gICAgT3Blbk9uRm9jdXNEaXJlY3RpdmUsXHJcbiAgICBFbGVtZW50Q29udGFpbmVyRGlyZWN0aXZlLFxyXG4gICAgRGF0ZVBhcnNlckZpbHRlciwgLy8gemRhdGV0aW1lIGFkZG9uXHJcbiAgICBFZGl0b3JGaWx0ZXIsIC8vIHpjb2RlIGFkZG9uXHJcbiAgICBEaXZ6TGF5b3V0LCAvLyB6ZGl2IGFkZG9uXHJcbiAgICBUYWJGaWx0ZXIsIC8vIHp0YWIgYWRkb25cclxuICAgIERhdGVSYW5nZUZpbHRlckNlbGxDb21wb25lbnQsIC8vIHpncmlkIGFkZG9uXHJcbiAgICBaU2NoZWR1bGVyVG9vbEJhckNvbXBvbmVudCwgLy8genNjaGVkdWxlciBhZGRvblxyXG4gICAgVWloZWFkZXJDb21wb25lbnQsXHJcbiAgICBVaWNvbnRhaW5lckNvbXBvbmVudCxcclxuICAgIFVpY29udGVudENvbXBvbmVudCxcclxuICAgIFVpcGFnZUNvbXBvbmVudCxcclxuICAgIFVpbWVudWNvbnRlbnRDb21wb25lbnQsXHJcbiAgICBVaW1lbnVidXR0b25Db21wb25lbnQsXHJcbiAgICBVaWFwcG1lbnVjb250ZW50Q29tcG9uZW50LFxyXG4gICAgVWlidWxsZXRpbkNvbXBvbmVudCxcclxuICAgIFVpYWN0aW9uYnV0dG9uQ29tcG9uZW50LFxyXG4gICAgVWl2YWxpZGF0aW9ubWVzc2FnZUNvbXBvbmVudCxcclxuICAgIFpCdWxsZXRDb21wb25lbnQsXHJcbiAgICBaYnV0dG9uc0NvbXBvbmVudCxcclxuICAgIFpjYXJkQ29tcG9uZW50LFxyXG4gICAgWmNoYXJ0Q29tcG9uZW50LFxyXG4gICAgWmNoZWNrYm94Q29tcG9uZW50LFxyXG4gICAgWkNoaXBDb21wb25lbnQsXHJcbiAgICBaY29kZWVkaXRvckNvbXBvbmVudCxcclxuICAgIFpkYXRlcmFuZ2VDb21wb25lbnQsXHJcbiAgICBaZGF0ZXRpbWVDb21wb25lbnQsXHJcbiAgICBaZGl2Q29tcG9uZW50LFxyXG4gICAgWmZvcm1Db21wb25lbnQsXHJcbiAgICBaZm9ybWNvbnRyb2xDb21wb25lbnQsXHJcbiAgICBaZ2F1Z2VDb21wb25lbnQsXHJcbiAgICBaZ3JpZENvbXBvbmVudCxcclxuICAgIFppbWdDb21wb25lbnQsXHJcbiAgICBabGFiZWxDb21wb25lbnQsXHJcbiAgICBabWZiQ29tcG9uZW50LFxyXG4gICAgWm1vZGFsQ29tcG9uZW50LFxyXG4gICAgWm1vZGFsTW9iaWxlQ29tcG9uZW50LFxyXG4gICAgWm51bWVyaWNDb21wb25lbnQsXHJcbiAgICBacG9zdHNlbGVjdGlucHV0Q29tcG9uZW50LFxyXG4gICAgWnF1ZXJ5YnVpbGRlckNvbXBvbmVudCxcclxuICAgIFpyZXBvcnRDb21wb25lbnQsXHJcbiAgICBac2NoZWR1bGVyQ29tcG9uZW50LFxyXG4gICAgWnNlbGVjdG11bHRpcGxlQ29tcG9uZW50LFxyXG4gICAgWnRhYkNvbXBvbmVudCxcclxuICAgIFp0ZXh0Q29tcG9uZW50LFxyXG4gICAgWnRleHRhcmVhQ29tcG9uZW50LFxyXG4gICAgWnRleHRlZGl0b3JDb21wb25lbnQsXHJcbiAgICBadHJlZUNvbXBvbmVudCxcclxuICAgIFp0cmVlbGlzdENvbXBvbmVudCxcclxuICAgIFp0cmVuZGNhcmRDb21wb25lbnQsXHJcbiAgICBadW5rbm93bkNvbXBvbmVudCxcclxuICAgIFp1ZGZDb21wb25lbnQsXHJcbiAgICBadXBsb2FkQ29tcG9uZW50LFxyXG4gICAgWndvcmtmbG93YnV0dG9uc0NvbXBvbmVudCxcclxuICAgIFpJbnB1dENvbnRhaW5lckNvbXBvbmVudCxcclxuICAgIFpwcm9ncmVzc2JhckNvbXBvbmVudCxcclxuICAgIFpJbnB1dFBhcnNlcixcclxuICAgIFpTZWxlY3RUcmFuc2xhdGlvblBhcnNlcixcclxuICAgIEh0bWxTYW5pdGl6ZVBpcGUsXHJcbiAgICBJbnB1dEVycm9yTWVzc2FnZUNvbXBvbmVudCxcclxuICAgIElucHV0RmllbGRBZGRPbnNDb21wb25lbnQsXHJcbiAgICBTcGlubmVyQ29tcG9uZW50LFxyXG4gICAgUGFnZUxvYWRlckNvbXBvbmVudCxcclxuICAgIFByb2Nlc3NpbmdSZWNvcmRMb2FkZXJDb21wb25lbnQsXHJcbiAgICBaTnVtZXJpY1BhcnNlcixcclxuICAgIFpncmlkQ29udGFpbmVyQ29tcG9uZW50LFxyXG4gICAgRGF0ZUtlbmRvRm9ybWF0UGFyc2VyLFxyXG4gICAgRGF0ZUlvbmljRm9ybWF0UGFyc2VyLFxyXG4gICAgRGF0ZUlvbmljTWluTWF4UGFyc2VyLFxyXG4gICAgU2ZxdWVyeWJ1aWxkZXJDb21wb25lbnQsXHJcbiAgICBabG9vcENvbXBvbmVudCxcclxuICAgIEtzcGxpdHRlckNvbXBvbmVudCxcclxuICAgIFZpcnR1YWxTY3JvbGxDb21wb25lbnQsXHJcbiAgICBaY29sb3JwaWNrZXJDb21wb25lbnRcclxuICBdLFxyXG4gIHByb3ZpZGVyczogW1xyXG4gICAgTW9kYWxTZXJ2aWNlXHJcbiAgXSxcclxuICBzY2hlbWFzOiBbQ1VTVE9NX0VMRU1FTlRTX1NDSEVNQV1cclxufSlcclxuXHJcbmV4cG9ydCBjbGFzcyBNbWhnbG9iYWxEeW5hbWljZm9ybU1vZHVsZSB7IH1cclxuIl19
598
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW1oZ2xvYmFsLWR5bmFtaWNmb3JtLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL21taGdsb2JhbC1keW5hbWljZm9ybS9zcmMvbGliL21taGdsb2JhbC1keW5hbWljZm9ybS5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsK0JBQStCO0FBQy9CLE9BQU8sRUFBRSxRQUFRLEVBQUUsc0JBQXNCLEVBQXVCLE1BQU0sZUFBZSxDQUFDO0FBQ3RGLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3pELGtGQUFrRjtBQUNsRixPQUFPLEVBQUUsV0FBVyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFbEUsNkJBQTZCO0FBQzdCLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM3QyxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUV6RCw4QkFBOEI7QUFDOUIsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ2pELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQ3JFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQzVELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBRXhELGtDQUFrQztBQUNsQyxPQUFPLEVBQUUsa0JBQWtCLElBQUksb0JBQW9CLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQztBQUVsRyw2QkFBNkI7QUFDN0IsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ2hFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFB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d0JBQ3pCLGdCQUFnQjt3QkFDaEIsbUJBQW1CO3dCQUNuQix3QkFBd0I7d0JBQ3hCLGFBQWE7d0JBQ2IsY0FBYzt3QkFDZCxrQkFBa0I7d0JBQ2xCLG9CQUFvQjt3QkFDcEIsY0FBYzt3QkFDZCxrQkFBa0I7d0JBQ2xCLG1CQUFtQjt3QkFDbkIsaUJBQWlCO3dCQUNqQixhQUFhO3dCQUNiLGdCQUFnQjt3QkFDaEIseUJBQXlCO3dCQUN6Qix3QkFBd0I7d0JBQ3hCLHFCQUFxQjt3QkFDckIsWUFBWTt3QkFDWix3QkFBd0I7d0JBQ3hCLGdCQUFnQjt3QkFDaEIsMEJBQTBCO3dCQUMxQix5QkFBeUI7d0JBQ3pCLGdCQUFnQjt3QkFDaEIsbUJBQW1CO3dCQUNuQiwrQkFBK0I7d0JBQy9CLGNBQWM7d0JBQ2QsdUJBQXVCO3dCQUN2QixxQkFBcUI7d0JBQ3JCLHFCQUFxQjt3QkFDckIscUJBQXFCO3dCQUNyQix1QkFBdUI7d0JBQ3ZCLGNBQWM7d0JBQ2Qsa0JBQWtCO3dCQUNsQixzQkFBc0I7d0JBQ3RCLHFCQUFxQjtxQkFDdEI7b0JBQ0QsU0FBUyxFQUFFO3dCQUNULFlBQVk7cUJBQ2I7b0JBQ0QsT0FBTyxFQUFFLENBQUMsc0JBQXNCLENBQUM7aUJBQ2xDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqKioqKioqKiogQW5ndWxhciAqKioqKioqKioqL1xyXG5pbXBvcnQgeyBOZ01vZHVsZSwgQ1VTVE9NX0VMRU1FTlRTX1NDSEVNQSwgTW9kdWxlV2l0aFByb3ZpZGVycyB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQgeyBSb3V0ZXJNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xyXG5pbXBvcnQgeyBTY3JvbGxpbmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jZGsvc2Nyb2xsaW5nJztcclxuLy8gaW1wb3J0IHsgQnJvd3NlckFuaW1hdGlvbnNNb2R1bGUgfSBmcm9tIFwiQGFuZ3VsYXIvcGxhdGZvcm0tYnJvd3Nlci9hbmltYXRpb25zXCI7XHJcbmltcG9ydCB7IEZvcm1zTW9kdWxlLCBSZWFjdGl2ZUZvcm1zTW9kdWxlIH0gZnJvbSBcIkBhbmd1bGFyL2Zvcm1zXCI7XHJcblxyXG4vKioqKioqKioqKiBJb25pYyAqKioqKioqKioqL1xyXG5pbXBvcnQgeyBJb25pY01vZHVsZSB9IGZyb20gJ0Bpb25pYy9hbmd1bGFyJztcclxuaW1wb3J0IHsgSW9uaWNTZWxlY3RhYmxlTW9kdWxlIH0gZnJvbSAnaW9uaWMtc2VsZWN0YWJsZSc7XHJcblxyXG4vKioqKioqKioqKiBQbHVnaW4gKioqKioqKioqKi9cclxuaW1wb3J0IHsgQWNlRWRpdG9yTW9kdWxlIH0gZnJvbSAnbmcyLWFjZS1lZGl0b3InO1xyXG5pbXBvcnQgeyBGb250QXdlc29tZU1vZHVsZSB9IGZyb20gJ0Bmb3J0YXdlc29tZS9hbmd1bGFyLWZvbnRhd2Vzb21lJztcclxuaW1wb3J0IHsgUXVlcnlCdWlsZGVyTW9kdWxlIH0gZnJvbSBcImFuZ3VsYXIyLXF1ZXJ5LWJ1aWxkZXJcIjtcclxuaW1wb3J0IHsgRmxleExheW91dE1vZHVsZSB9IGZyb20gXCJAYW5ndWxhci9mbGV4LWxheW91dFwiO1xyXG5cclxuLyoqKioqKioqKiogU3luY0Z1c2lvbiAqKioqKioqKioqL1xyXG5pbXBvcnQgeyBRdWVyeUJ1aWxkZXJNb2R1bGUgYXMgU0ZRdWVyeUJ1aWxkZXJNb2R1bGUgfSBmcm9tICdAc3luY2Z1c2lvbi9lajItYW5ndWxhci1xdWVyeWJ1aWxkZXInO1xyXG5cclxuLyoqKioqKioqKiogS2VuZG8gKioqKioqKioqKi9cclxuaW1wb3J0IHsgQXJjR2F1Z2VNb2R1bGUgfSBmcm9tICdAcHJvZ3Jlc3Mva2VuZG8tYW5ndWxhci1nYXVnZXMnO1xyXG5pbXBvcnQgeyBCdXR0b25zTW9kdWxlIH0gZnJvbSAnQHByb2dyZXNzL2tlbmRvLWFuZ3VsYXItYnV0dG9ucyc7XHJcbmltcG9ydCB7IENoYXJ0c01vZHVsZSB9IGZyb20gJ0Bwcm9ncmVzcy9rZW5kby1hbmd1bGFyLWNoYXJ0cyc7XHJcbmltcG9ydCB7IENhbGVuZGFyTW9kdWxlLCBEYXRlSW5wdXRzTW9kdWxlIH0gZnJvbSAnQHByb2dyZXNzL2tlbmRvLWFuZ3VsYXItZGF0ZWlucHV0cyc7XHJcbmltcG9ydCB7IERyb3BEb3duc01vZHVsZSB9IGZyb20gJ0Bwcm9ncmVzcy9rZW5kby1hbmd1bGFyLWRyb3Bkb3ducyc7XHJcbmltcG9ydCB7IEVkaXRvck1vZHVsZSB9IGZyb20gJ0Bwcm9ncmVzcy9rZW5kby1hbmd1bGFyLWVkaXRvcic7XHJcbmltcG9ydCB7IEV4Y2VsTW9kdWxlLCBHcmlkTW9kdWxlIH0gZnJvbSAnQHByb2dyZXNzL2tlbmRvLWFuZ3VsYXItZ3JpZCc7XHJcbmltcG9ydCB7IEZpbHRlck1vZHVsZSB9IGZyb20gJ0Bwcm9ncmVzcy9rZW5kby1hbmd1bGFyLWZpbHRlcic7XHJcbmltcG9ydCB7IEluZGljYXRvcnNNb2R1bGUgfSBmcm9tIFwiQHByb2dyZXNzL2tlbmRvLWFuZ3VsYXItaW5kaWNhdG9yc1wiO1xyXG5pbXBvcnQgeyBJbnRsTW9kdWxlIH0gZnJvbSAnQHByb2dyZXNzL2tlbmRvLWFuZ3VsYXItaW50bCc7XHJcbmltcG9ydCB7IENvbG9yUGlja2VyTW9kdWxlLCBJbnB1dHNNb2R1bGUsIFN3aXRjaE1vZHVsZSwgVGV4dEJveE1vZHVsZSB9IGZyb20gJ0Bwcm9ncmVzcy9rZW5kby1hbmd1bGFyLWlucHV0cyc7XHJcbmltcG9ydCB7IExhYmVsTW9kdWxlIH0gZnJvbSAnQHByb2dyZXNzL2tlbmRvLWFuZ3VsYXItbGFiZWwnO1xyXG5pbXBvcnQgeyBMYXlvdXRNb2R1bGUsIFBhbmVsQmFyTW9kdWxlLCBUYWJTdHJpcE1vZHVsZSB9IGZyb20gJ0Bwcm9ncmVzcy9rZW5kby1hbmd1bGFyLWxheW91dCc7XHJcbmltcG9ydCB7IE5vdGlmaWNhdGlvbk1vZHVsZSB9IGZyb20gJ0Bwcm9ncmVzcy9rZW5kby1hbmd1bGFyLW5vdGlmaWNhdGlvbic7XHJcbmltcG9ydCB7IFBvcHVwTW9kdWxlIH0gZnJvbSAnQHByb2dyZXNzL2tlbmRvLWFuZ3VsYXItcG9wdXAnO1xyXG5pbXBvcnQgeyBQcm9ncmVzc0Jhck1vZHVsZSB9IGZyb20gXCJAcHJvZ3Jlc3Mva2VuZG8tYW5ndWxhci1wcm9ncmVzc2JhclwiO1xyXG5pbXBvcnQgeyBUZWxlcmlrUmVwb3J0aW5nTW9kdWxlIH0gZnJvbSAnQHByb2dyZXNzL3RlbGVyaWstYW5ndWxhci1yZXBvcnQtdmlld2VyJztcclxuaW1wb3J0IHsgU2NoZWR1bGVyTW9kdWxlIH0gZnJvbSAnQHByb2dyZXNzL2tlbmRvLWFuZ3VsYXItc2NoZWR1bGVyJztcclxuaW1wb3J0IHsgVHJlZUxpc3RNb2R1bGUgfSBmcm9tICdAcHJvZ3Jlc3Mva2VuZG8tYW5ndWxhci10cmVlbGlzdCc7XHJcbmltcG9ydCB7IFRyZWVWaWV3TW9kdWxlIH0gZnJvbSAnQHByb2dyZXNzL2tlbmRvLWFuZ3VsYXItdHJlZXZpZXcnO1xyXG5pbXBvcnQgeyBUb29sdGlwTW9kdWxlIH0gZnJvbSAnQHByb2dyZXNzL2tlbmRvLWFuZ3VsYXItdG9vbHRpcCc7XHJcbmltcG9ydCB7IFBvcG92ZXJNb2R1bGUgfSBmcm9tIFwiQHByb2dyZXNzL2tlbmRvLWFuZ3VsYXItdG9vbHRpcFwiO1xyXG5pbXBvcnQgeyBVcGxvYWRNb2R1bGUsIFVwbG9hZHNNb2R1bGUgfSBmcm9tICdAcHJvZ3Jlc3Mva2VuZG8tYW5ndWxhci11cGxvYWQnO1xyXG5pbXBvcnQgeyBOYXZpZ2F0aW9uTW9kdWxlIH0gZnJvbSAnQHByb2dyZXNzL2tlbmRvLWFuZ3VsYXItbmF2aWdhdGlvbic7XHJcblxyXG4vKioqKioqKioqKiBTZXJ2aWNlICYgRGlyZWN0aXZlICoqKioqKioqKiovXHJcbmltcG9ydCB7IFpDb3JlTW9kdWxlLCBaR3JvdXAgfSBmcm9tICdtbWhnbG9iYWwtemNvcmUnO1xyXG5pbXBvcnQgeyBNbWhnbG9iYWxNaWRkbGV3YXJlTW9kdWxlIH0gZnJvbSAnbW1oZ2xvYmFsLW1pZGRsZXdhcmUnO1xyXG5pbXBvcnQgeyBNbWhnbG9iYWxabW9kYWxNb2R1bGUsIE1vZGFsU2VydmljZSB9IGZyb20gJ21taGdsb2JhbC16bW9kYWwnO1xyXG5pbXBvcnQgeyBNYWluU2VydmljZSB9IGZyb20gJy4vc2VydmljZXMvbWFpbi5zZXJ2aWNlJztcclxuaW1wb3J0IHsgU2Nyb2xsYmFyVGhlbWVEaXJlY3RpdmUgfSBmcm9tICcuL2RpcmVjdGl2ZXMvc2Nyb2xsYmFyLnRoZW1lLmRpcmVjdGl2ZSc7XHJcbmltcG9ydCB7IEZpZWxkRWxlbWVudERpcmVjdGl2ZSB9IGZyb20gJy4vZGlyZWN0aXZlcy9maWVsZGVsZW1lbnQuZGlyZWN0aXZlJztcclxuaW1wb3J0IHsgWkdyaWRCaW5kaW5nRGlyZWN0aXZlIH0gZnJvbSAnLi96Z3JpZC96Z3JpZC5iaW5kaW5nLmRpcmVjdGl2ZSc7XHJcbmltcG9ydCB7IFpHcmlkUG9wdXBBbmNob3JEaXJlY3RpdmUgfSBmcm9tICcuL3pncmlkL3pncmlkLnBvcHVwLmFuY2hvci10YXJnZXQuZGlyZWN0aXZlJztcclxuaW1wb3J0IHsgT3Blbk9uRm9jdXNEaXJlY3RpdmUgfSBmcm9tICcuL3pzZWxlY3RtdWx0aXBsZS96c2VsZWN0bXVsdGlwbGUuZGlyZWN0aXZlJztcclxuaW1wb3J0IHsgRWxlbWVudENvbnRhaW5lckRpcmVjdGl2ZSB9IGZyb20gJy4vZGlyZWN0aXZlcy9lbGVtZW50Y29udGFpbmVyLmRpcmVjdGl2ZSc7XHJcblxyXG4vKioqKioqKioqKiBBZGRvbiAqKioqKioqKioqL1xyXG5pbXBvcnQgeyBEYXRlUGFyc2VyRmlsdGVyIH0gZnJvbSAnLi96ZGF0ZXRpbWUvZGF0ZVBhcnNlci5waXBlJztcclxuaW1wb3J0IHsgRWRpdG9yRmlsdGVyIH0gZnJvbSAnLi96Y29kZWVkaXRvci96Y29kZWVkaXRvci5waXBlJztcclxuaW1wb3J0IHsgRGl2ekxheW91dCB9IGZyb20gJy4vemRpdi96ZGl2LnBpcGUnO1xyXG5pbXBvcnQgeyBUYWJGaWx0ZXIgfSBmcm9tICcuL3p0YWIvenRhYi5waXBlJztcclxuaW1wb3J0IHsgWklucHV0UGFyc2VyIH0gZnJvbSAnLi96aW5wdXQtY29udGFpbmVyL3ppbnB1dC1jb250YWluZXIucGlwZSc7XHJcbmltcG9ydCB7IEh0bWxTYW5pdGl6ZVBpcGUgfSBmcm9tICcuL3BpcGUvaHRtbFNhbml0aXplLnBpcGUnO1xyXG5pbXBvcnQgeyBEYXRlUmFuZ2VGaWx0ZXJDZWxsQ29tcG9uZW50IH0gZnJvbSAnLi96Z3JpZC9kYXRlLXJhbmdlLWNlbGwtZmlsdGVyLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFpTY2hlZHVsZXJUb29sQmFyQ29tcG9uZW50IH0gZnJvbSAnLi96c2NoZWR1bGVyL3pzY2hlZHVsZXIudG9vbGJhci5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBaU2VsZWN0VHJhbnNsYXRpb25QYXJzZXIgfSBmcm9tICcuL3pzZWxlY3RtdWx0aXBsZS96c2VsZWN0bXVsdGlwbGUucGlwZSc7XHJcbmltcG9ydCB7IFpOdW1lcmljUGFyc2VyIH0gZnJvbSAnLi96bnVtZXJpYy96bnVtZXJpYy5jb21wb25lbnQucGlwZSc7XHJcbmltcG9ydCB7IERhdGVLZW5kb0Zvcm1hdFBhcnNlciB9IGZyb20gJy4vemRhdGV0aW1lL2RhdGVLZW5kb0Zvcm1hdFBhcnNlci5waXBlJztcclxuaW1wb3J0IHsgRGF0ZUlvbmljRm9ybWF0UGFyc2VyIH0gZnJvbSAnLi96ZGF0ZXRpbWUvZGF0ZUlvbmljRm9ybWF0UGFyc2VyLnBpcGUnO1xyXG5cclxuLyoqKioqKioqKiogekNvbXBvbmVudCAqKioqKioqKioqL1xyXG5pbXBvcnQgeyBVaXBhZ2VDb21wb25lbnQgfSBmcm9tICcuL3VpcGFnZS91aXBhZ2UuY29tcG9uZW50JztcclxuaW1wb3J0IHsgVWloZWFkZXJDb21wb25lbnQgfSBmcm9tICcuL3VpaGVhZGVyL3VpaGVhZGVyLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFVpY29udGFpbmVyQ29tcG9uZW50IH0gZnJvbSAnLi91aWNvbnRhaW5lci91aWNvbnRhaW5lci5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBVaWNvbnRlbnRDb21wb25lbnQgfSBmcm9tICcuL3VpY29udGVudC91aWNvbnRlbnQuY29tcG9uZW50JztcclxuXHJcbmltcG9ydCB7IFVpbWVudWNvbnRlbnRDb21wb25lbnQgfSBmcm9tICcuL3VpbWVudWNvbnRlbnQvdWltZW51Y29udGVudC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBVaW1lbnVidXR0b25Db21wb25lbnQgfSBmcm9tICcuL3VpbWVudWJ1dHRvbi91aW1lbnVidXR0b24uY29tcG9uZW50JztcclxuaW1wb3J0IHsgVWlhcHBtZW51Y29udGVudENvbXBvbmVudCB9IGZyb20gJy4vdWlhcHBtZW51Y29udGVudC91aWFwcG1lbnVjb250ZW50LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFVpYnVsbGV0aW5Db21wb25lbnQgfSBmcm9tICcuL3VpYnVsbGV0aW4vdWlidWxsZXRpbi5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBVaWFjdGlvbmJ1dHRvbkNvbXBvbmVudCB9IGZyb20gJy4vdWlhY3Rpb25idXR0b24vdWlhY3Rpb25idXR0b24uY29tcG9uZW50JztcclxuaW1wb3J0IHsgVWl2YWxpZGF0aW9ubWVzc2FnZUNvbXBvbmVudCB9IGZyb20gJy4vdWl2YWxpZGF0aW9ubWVzc2FnZS91aXZhbGlkYXRpb25tZXNzYWdlLmNvbXBvbmVudCc7XHJcblxyXG5pbXBvcnQgeyBaQnVsbGV0Q29tcG9uZW50IH0gZnJvbSBcIi4vemJ1bGxldC96YnVsbGV0LmNvbXBvbmVudFwiO1xyXG5pbXBvcnQgeyBaYnV0dG9uc0NvbXBvbmVudCB9IGZyb20gXCIuL3pidXR0b25zL3pidXR0b25zLmNvbXBvbmVudFwiO1xyXG5pbXBvcnQgeyBaY2FyZENvbXBvbmVudCB9IGZyb20gXCIuL3pjYXJkL3pjYXJkLmNvbXBvbmVudFwiO1xyXG5pbXBvcnQgeyBaY2hhcnRDb21wb25lbnQgfSBmcm9tICcuL3pjaGFydC96Y2hhcnQuY29tcG9uZW50JztcclxuaW1wb3J0IHsgWmNoZWNrYm94Q29tcG9uZW50IH0gZnJvbSAnLi96Y2hlY2tib3gvemNoZWNrYm94LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFpDaGlwQ29tcG9uZW50IH0gZnJvbSBcIi4vemNoaXAvemNoaXAuY29tcG9uZW50XCI7XHJcbmltcG9ydCB7IFpjb2RlZWRpdG9yQ29tcG9uZW50IH0gZnJvbSAnLi96Y29kZWVkaXRvci96Y29kZWVkaXRvci5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBaZGF0ZXJhbmdlQ29tcG9uZW50IH0gZnJvbSAnLi96ZGF0ZXJhbmdlL3pkYXRlcmFuZ2UuY29tcG9uZW50JztcclxuaW1wb3J0IHsgWmRhdGV0aW1lQ29tcG9uZW50IH0gZnJvbSAnLi96ZGF0ZXRpbWUvemRhdGV0aW1lLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFpkaXZDb21wb25lbnQgfSBmcm9tICcuL3pkaXYvemRpdi5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBaZm9ybUNvbXBvbmVudCB9IGZyb20gXCIuL3pmb3JtL3pmb3JtLmNvbXBvbmVudFwiO1xyXG5pbXBvcnQgeyBaZm9ybWNvbnRyb2xDb21wb25lbnQgfSBmcm9tIFwiLi96Zm9ybWNvbnRyb2wvemZvcm1jb250cm9sLmNvbXBvbmVudFwiO1xyXG5pbXBvcnQgeyBaZ2F1Z2VDb21wb25lbnQgfSBmcm9tICcuL3pnYXVnZS96Z2F1Z2UuY29tcG9uZW50JztcclxuaW1wb3J0IHsgWmdyaWRDb21wb25lbnQgfSBmcm9tIFwiLi96Z3JpZC96Z3JpZC5jb21wb25lbnRcIjtcclxuaW1wb3J0IHsgWmdyaWRDb250YWluZXJDb21wb25lbnQgfSBmcm9tIFwiLi96Z3JpZC9jb250YWluZXIvemdyaWQtY29udGFpbmVyLmNvbXBvbmVudFwiO1xyXG5pbXBvcnQgeyBaaW1nQ29tcG9uZW50IH0gZnJvbSAnLi96aW1nL3ppbWcuY29tcG9uZW50JztcclxuaW1wb3J0IHsgWmxhYmVsQ29tcG9uZW50IH0gZnJvbSAnLi96bGFiZWwvemxhYmVsLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFptZmJDb21wb25lbnQgfSBmcm9tICcuL3ptZmIvem1mYi5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBabW9kYWxDb21wb25lbnQgfSBmcm9tIFwiLi96bW9kYWwvem1vZGFsLmNvbXBvbmVudFwiO1xyXG5pbXBvcnQgeyBabW9kYWxNb2JpbGVDb21wb25lbnQgfSBmcm9tIFwiLi96bW9kYWwvem1vZGFsLW1vYmlsZS5jb21wb25lbnRcIjtcclxuaW1wb3J0IHsgWm51bWVyaWNDb21wb25lbnQgfSBmcm9tICcuL3pudW1lcmljL3pudW1lcmljLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFpwb3N0c2VsZWN0aW5wdXRDb21wb25lbnQgfSBmcm9tICcuL3pwb3N0c2VsZWN0aW5wdXQvenBvc3RzZWxlY3RpbnB1dC5jb21wb25lbnQnOyBcclxuaW1wb3J0IHsgWnJlcG9ydENvbXBvbmVudCB9IGZyb20gJy4venJlcG9ydC96cmVwb3J0LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFpzY2hlZHVsZXJDb21wb25lbnQgfSBmcm9tICcuL3pzY2hlZHVsZXIvenNjaGVkdWxlci5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBac2VsZWN0bXVsdGlwbGVDb21wb25lbnQgfSBmcm9tIFwiLi96c2VsZWN0bXVsdGlwbGUvenNlbGVjdG11bHRpcGxlLmNvbXBvbmVudFwiO1xyXG5pbXBvcnQgeyBadGFiQ29tcG9uZW50IH0gZnJvbSBcIi4venRhYi96dGFiLmNvbXBvbmVudFwiO1xyXG5pbXBvcnQgeyBadGV4dENvbXBvbmVudCB9IGZyb20gXCIuL3p0ZXh0L3p0ZXh0LmNvbXBvbmVudFwiO1xyXG5pbXBvcnQgeyBadGV4dGFyZWFDb21wb25lbnQgfSBmcm9tICcuL3p0ZXh0YXJlYS96dGV4dGFyZWEuY29tcG9uZW50JztcclxuaW1wb3J0IHsgWnRleHRlZGl0b3JDb21wb25lbnQgfSBmcm9tICcuL3p0ZXh0ZWRpdG9yL3p0ZXh0ZWRpdG9yLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFp0cmVlQ29tcG9uZW50IH0gZnJvbSAnLi96dHJlZS96dHJlZS5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBadHJlZWxpc3RDb21wb25lbnQgfSBmcm9tICcuL3p0cmVlbGlzdC96dHJlZWxpc3QuY29tcG9uZW50JztcclxuaW1wb3J0IHsgWnRyZW5kY2FyZENvbXBvbmVudCB9IGZyb20gJy4venRyZW5kY2FyZC96dHJlbmRjYXJkLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFp1bmtub3duQ29tcG9uZW50IH0gZnJvbSBcIi4venVua25vd24venVua25vd24uY29tcG9uZW50XCI7XHJcbmltcG9ydCB7IFp1ZGZDb21wb25lbnQgfSBmcm9tICcuL3p1ZGYvenVkZi5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBadXBsb2FkQ29tcG9uZW50IH0gZnJvbSAnLi96dXBsb2FkL3p1cGxvYWQuY29tcG9uZW50JztcclxuaW1wb3J0IHsgWndvcmtmbG93YnV0dG9uc0NvbXBvbmVudCB9IGZyb20gXCIuL3p3b3JrZmxvd2J1dHRvbnMvendvcmtmbG93YnV0dG9ucy5jb21wb25lbnRcIjtcclxuaW1wb3J0IHsgS2NhcmRDb21wb25lbnQgfSBmcm9tICcuL2tjYXJkL2tjYXJkLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFpJbnB1dENvbnRhaW5lckNvbXBvbmVudCB9IGZyb20gJy4vemlucHV0LWNvbnRhaW5lci96aW5wdXQtY29udGFpbmVyLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFpwcm9ncmVzc2JhckNvbXBvbmVudCB9IGZyb20gJy4venByb2dyZXNzYmFyL3pwcm9ncmVzc2Jhci5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBJbnB1dEVycm9yTWVzc2FnZUNvbXBvbmVudCB9IGZyb20gJy4vaW5wdXQtZXJyb3ItbWVzc2FnZS9pbnB1dC1lcnJvci1tZXNzYWdlLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IElucHV0RmllbGRBZGRPbnNDb21wb25lbnQgfSBmcm9tICcuL2VtYmVkLWNvbXBvbmVudHMvaW5wdXQtZmllbGQtYWRkb25zL2lucHV0LWZpZWxkLWFkZG9ucy5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBQcm9jZXNzaW5nUmVjb3JkTG9hZGVyQ29tcG9uZW50IH0gZnJvbSAnLi9lbWJlZC1jb21wb25lbnRzL3Byb2Nlc3NpbmctcmVjb3JkLWxvYWRlci9wcm9jZXNzaW5nLXJlY29yZC1sb2FkZXIuY29tcG9uZW50JztcclxuaW1wb3J0IHsgRGF0ZUlvbmljTWluTWF4UGFyc2VyIH0gZnJvbSAnLi96ZGF0ZXRpbWUvZGF0ZUlvbmljTWluTWF4RGF0ZS5waXBlJztcclxuaW1wb3J0IHsgU2ZxdWVyeWJ1aWxkZXJDb21wb25lbnQgfSBmcm9tICcuL3NmcXVlcnlidWlsZGVyL3NmcXVlcnlidWlsZGVyLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFpsb29wQ29tcG9uZW50IH0gZnJvbSAnLi96bG9vcC96bG9vcC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBLc3BsaXR0ZXJDb21wb25lbnQgfSBmcm9tICcuL2tzcGxpdHRlci9rc3BsaXR0ZXIuY29tcG9uZW50JztcclxuaW1wb3J0IHsgVmlydHVhbFNjcm9sbENvbXBvbmVudCB9IGZyb20gJy4vdmlydHVhbC1zY3JvbGwvdmlydHVhbC1zY3JvbGwuY29tcG9uZW50JztcclxuaW1wb3J0IHsgU3Bpbm5lckNvbXBvbmVudCB9IGZyb20gJy4vZW1iZWQtY29tcG9uZW50cy9zcGlubmVyL3NwaW5uZXIuY29tcG9uZW50JztcclxuaW1wb3J0IHsgUGFnZUxvYWRlckNvbXBvbmVudCB9IGZyb20gJy4vZW1iZWQtY29tcG9uZW50cy9wYWdlLWxvYWRlci9wYWdlLWxvYWRlci5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBaY29sb3JwaWNrZXJDb21wb25lbnQgfSBmcm9tICcuL3pjb2xvcnBpY2tlci96Y29sb3JwaWNrZXIuY29tcG9uZW50JztcclxuXHJcbkBOZ01vZHVsZSh7XHJcbiAgZGVjbGFyYXRpb25zOiBbXHJcbiAgICBTY3JvbGxiYXJUaGVtZURpcmVjdGl2ZSxcclxuICAgIEZpZWxkRWxlbWVudERpcmVjdGl2ZSxcclxuICAgIFpHcmlkQmluZGluZ0RpcmVjdGl2ZSxcclxuICAgIFpHcmlkUG9wdXBBbmNob3JEaXJlY3RpdmUsXHJcbiAgICBPcGVuT25Gb2N1c0RpcmVjdGl2ZSxcclxuICAgIEVsZW1lbnRDb250YWluZXJEaXJlY3RpdmUsXHJcbiAgICBEYXRlUGFyc2VyRmlsdGVyLCAvLyB6Z3JpZCBhZGRvblxyXG4gICAgRWRpdG9yRmlsdGVyLCAvLyB6Y29kZSBhZGRvblxyXG4gICAgRGl2ekxheW91dCwgLy8gemRpdiBhZGRvblxyXG4gICAgVGFiRmlsdGVyLCAvLyB6dGFiIGFkZG9uXHJcbiAgICBEYXRlUmFuZ2VGaWx0ZXJDZWxsQ29tcG9uZW50LCAvLyB6Z3JpZCBhZGRvblxyXG4gICAgWlNjaGVkdWxlclRvb2xCYXJDb21wb25lbnQsIC8vIHpzY2hlZHVsZXIgYWRkb25cclxuICAgIFVpaGVhZGVyQ29tcG9uZW50LFxyXG4gICAgVWljb250YWluZXJDb21wb25lbnQsXHJcbiAgICBVaWNvbnRlbnRDb21wb25lbnQsXHJcbiAgICBVaXBhZ2VDb21wb25lbnQsXHJcbiAgICBVaWJ1bGxldGluQ29tcG9uZW50LFxyXG4gICAgVWlhY3Rpb25idXR0b25Db21wb25lbnQsXHJcbiAgICBVaW1lbnVjb250ZW50Q29tcG9uZW50LFxyXG4gICAgVWltZW51YnV0dG9uQ29tcG9uZW50LFxyXG4gICAgVWlhcHBtZW51Y29udGVudENvbXBvbmVudCxcclxuICAgIFVpdmFsaWRhdGlvbm1lc3NhZ2VDb21wb25lbnQsXHJcbiAgICBaQnVsbGV0Q29tcG9uZW50LFxyXG4gICAgWmJ1dHRvbnNDb21wb25lbnQsXHJcbiAgICBaY2FyZENvbXBvbmVudCxcclxuICAgIFpjaGFydENvbXBvbmVudCxcclxuICAgIFpjaGVja2JveENvbXBvbmVudCxcclxuICAgIFpDaGlwQ29tcG9uZW50LFxyXG4gICAgWmNvZGVlZGl0b3JDb21wb25lbnQsXHJcbiAgICBaZGF0ZXJhbmdlQ29tcG9uZW50LFxyXG4gICAgWmRhdGV0aW1lQ29tcG9uZW50LFxyXG4gICAgWmRpdkNvbXBvbmVudCxcclxuICAgIFpmb3JtQ29tcG9uZW50LFxyXG4gICAgWmZvcm1jb250cm9sQ29tcG9uZW50LFxyXG4gICAgWmdhdWdlQ29tcG9uZW50LFxyXG4gICAgWmdyaWRDb21wb25lbnQsXHJcbiAgICBaaW1nQ29tcG9uZW50LFxyXG4gICAgWmxhYmVsQ29tcG9uZW50LFxyXG4gICAgWm1mYkNvbXBvbmVudCxcclxuICAgIFptb2RhbENvbXBvbmVudCxcclxuICAgIFptb2RhbE1vYmlsZUNvbXBvbmVudCxcclxuICAgIFpudW1lcmljQ29tcG9uZW50LFxyXG4gICAgWnBvc3RzZWxlY3RpbnB1dENvbXBvbmVudCwgXHJcbiAgICBacmVwb3J0Q29tcG9uZW50LFxyXG4gICAgWnNjaGVkdWxlckNvbXBvbmVudCxcclxuICAgIFpzZWxlY3RtdWx0aXBsZUNvbXBvbmVudCxcclxuICAgIFp0YWJDb21wb25lbnQsXHJcbiAgICBadGV4dENvbXBvbmVudCxcclxuICAgIFp0ZXh0YXJlYUNvbXBvbmVudCxcclxuICAgIFp0ZXh0ZWRpdG9yQ29tcG9uZW50LFxyXG4gICAgWnRyZWVDb21wb25lbnQsXHJcbiAgICBadHJlZWxpc3RDb21wb25lbnQsXHJcbiAgICBadHJlbmRjYXJkQ29tcG9uZW50LFxyXG4gICAgWnVua25vd25Db21wb25lbnQsXHJcbiAgICBadWRmQ29tcG9uZW50LFxyXG4gICAgWnVwbG9hZENvbXBvbmVudCxcclxuICAgIFp3b3JrZmxvd2J1dHRvbnNDb21wb25lbnQsXHJcbiAgICBLY2FyZENvbXBvbmVudCxcclxuICAgIFpJbnB1dENvbnRhaW5lckNvbXBvbmVudCxcclxuICAgIFpwcm9ncmVzc2JhckNvbXBvbmVudCxcclxuICAgIFpJbnB1dFBhcnNlcixcclxuICAgIFpTZWxlY3RUcmFuc2xhdGlvblBhcnNlcixcclxuICAgIEh0bWxTYW5pdGl6ZVBpcGUsXHJcbiAgICBJbnB1dEVycm9yTWVzc2FnZUNvbXBvbmVudCxcclxuICAgIElucHV0RmllbGRBZGRPbnNDb21wb25lbnQsXHJcbiAgICBTcGlubmVyQ29tcG9uZW50LFxyXG4gICAgUGFnZUxvYWRlckNvbXBvbmVudCxcclxuICAgIFByb2Nlc3NpbmdSZWNvcmRMb2FkZXJDb21wb25lbnQsXHJcbiAgICBaTnVtZXJpY1BhcnNlcixcclxuICAgIFpncmlkQ29udGFpbmVyQ29tcG9uZW50LFxyXG4gICAgRGF0ZUtlbmRvRm9ybWF0UGFyc2VyLFxyXG4gICAgRGF0ZUlvbmljRm9ybWF0UGFyc2VyLFxyXG4gICAgRGF0ZUlvbmljTWluTWF4UGFyc2VyLFxyXG4gICAgU2ZxdWVyeWJ1aWxkZXJDb21wb25lbnQsXHJcbiAgICBabG9vcENvbXBvbmVudCxcclxuICAgIEtzcGxpdHRlckNvbXBvbmVudCxcclxuICAgIFZpcnR1YWxTY3JvbGxDb21wb25lbnQsXHJcbiAgICBaY29sb3JwaWNrZXJDb21wb25lbnRcclxuICBdLFxyXG4gIGltcG9ydHM6IFtcclxuICAgIElvbmljTW9kdWxlLFxyXG4gICAgSW9uaWNTZWxlY3RhYmxlTW9kdWxlLFxyXG4gICAgQ29tbW9uTW9kdWxlLFxyXG4gICAgUm91dGVyTW9kdWxlLFxyXG4gICAgRm9ybXNNb2R1bGUsXHJcbiAgICBSZWFjdGl2ZUZvcm1zTW9kdWxlLFxyXG4gICAgQWNlRWRpdG9yTW9kdWxlLFxyXG4gICAgRm9udEF3ZXNvbWVNb2R1bGUsXHJcbiAgICBRdWVyeUJ1aWxkZXJNb2R1bGUsXHJcbiAgICBBcmNHYXVnZU1vZHVsZSxcclxuICAgIEJ1dHRvbnNNb2R1bGUsXHJcbiAgICBDaGFydHNNb2R1bGUsXHJcbiAgICBDYWxlbmRhck1vZHVsZSxcclxuICAgIERhdGVJbnB1dHNNb2R1bGUsXHJcbiAgICBEcm9wRG93bnNNb2R1bGUsXHJcbiAgICBFZGl0b3JNb2R1bGUsXHJcbiAgICBFeGNlbE1vZHVsZSxcclxuICAgIEdyaWRNb2R1bGUsXHJcbiAgICBGaWx0ZXJNb2R1bGUsXHJcbiAgICBJbmRpY2F0b3JzTW9kdWxlLFxyXG4gICAgSW50bE1vZHVsZSxcclxuICAgIElucHV0c01vZHVsZSxcclxuICAgIFN3aXRjaE1vZHVsZSxcclxuICAgIFRleHRCb3hNb2R1bGUsXHJcbiAgICBMYWJlbE1vZHVsZSxcclxuICAgIExheW91dE1vZHVsZSxcclxuICAgIFBhbmVsQmFyTW9kdWxlLFxyXG4gICAgVGFiU3RyaXBNb2R1bGUsXHJcbiAgICBOb3RpZmljYXRpb25Nb2R1bGUsXHJcbiAgICBQb3B1cE1vZHVsZSxcclxuICAgIFByb2dyZXNzQmFyTW9kdWxlLFxyXG4gICAgVGVsZXJpa1JlcG9ydGluZ01vZHVsZSxcclxuICAgIFNjaGVkdWxlck1vZHVsZSxcclxuICAgIFRyZWVMaXN0TW9kdWxlLFxyXG4gICAgVHJlZVZpZXdNb2R1bGUsXHJcbiAgICBUb29sdGlwTW9kdWxlLFxyXG4gICAgUG9wb3Zlck1vZHVsZSxcclxuICAgIFVwbG9hZE1vZHVsZSxcclxuICAgIFVwbG9hZHNNb2R1bGUsXHJcbiAgICBaQ29yZU1vZHVsZSxcclxuICAgIE1taGdsb2JhbFptb2RhbE1vZHVsZSxcclxuICAgIE5hdmlnYXRpb25Nb2R1bGUsXHJcbiAgICBGbGV4TGF5b3V0TW9kdWxlLFxyXG4gICAgU0ZRdWVyeUJ1aWxkZXJNb2R1bGUsXHJcbiAgICBTY3JvbGxpbmdNb2R1bGUsXHJcbiAgICBRdWVyeUJ1aWxkZXJNb2R1bGUsXHJcbiAgICBDb2xvclBpY2tlck1vZHVsZVxyXG4gIF0sXHJcbiAgZXhwb3J0czogW1xyXG4gICAgU2Nyb2xsYmFyVGhlbWVEaXJlY3RpdmUsXHJcbiAgICBGaWVsZEVsZW1lbnREaXJlY3RpdmUsXHJcbiAgICBaR3JpZEJpbmRpbmdEaXJlY3RpdmUsXHJcbiAgICBaR3JpZFBvcHVwQW5jaG9yRGlyZWN0aXZlLFxyXG4gICAgT3Blbk9uRm9jdXNEaXJlY3RpdmUsXHJcbiAgICBFbGVtZW50Q29udGFpbmVyRGlyZWN0aXZlLFxyXG4gICAgRGF0ZVBhcnNlckZpbHRlciwgLy8gemRhdGV0aW1lIGFkZG9uXHJcbiAgICBFZGl0b3JGaWx0ZXIsIC8vIHpjb2RlIGFkZG9uXHJcbiAgICBEaXZ6TGF5b3V0LCAvLyB6ZGl2IGFkZG9uXHJcbiAgICBUYWJGaWx0ZXIsIC8vIHp0YWIgYWRkb25cclxuICAgIERhdGVSYW5nZUZpbHRlckNlbGxDb21wb25lbnQsIC8vIHpncmlkIGFkZG9uXHJcbiAgICBaU2NoZWR1bGVyVG9vbEJhckNvbXBvbmVudCwgLy8genNjaGVkdWxlciBhZGRvblxyXG4gICAgVWloZWFkZXJDb21wb25lbnQsXHJcbiAgICBVaWNvbnRhaW5lckNvbXBvbmVudCxcclxuICAgIFVpY29udGVudENvbXBvbmVudCxcclxuICAgIFVpcGFnZUNvbXBvbmVudCxcclxuICAgIFVpbWVudWNvbnRlbnRDb21wb25lbnQsXHJcbiAgICBVaW1lbnVidXR0b25Db21wb25lbnQsXHJcbiAgICBVaWFwcG1lbnVjb250ZW50Q29tcG9uZW50LFxyXG4gICAgVWlidWxsZXRpbkNvbXBvbmVudCxcclxuICAgIFVpYWN0aW9uYnV0dG9uQ29tcG9uZW50LFxyXG4gICAgVWl2YWxpZGF0aW9ubWVzc2FnZUNvbXBvbmVudCxcclxuICAgIFpCdWxsZXRDb21wb25lbnQsXHJcbiAgICBaYnV0dG9uc0NvbXBvbmVudCxcclxuICAgIFpjYXJkQ29tcG9uZW50LFxyXG4gICAgWmNoYXJ0Q29tcG9uZW50LFxyXG4gICAgWmNoZWNrYm94Q29tcG9uZW50LFxyXG4gICAgWkNoaXBDb21wb25lbnQsXHJcbiAgICBaY29kZWVkaXRvckNvbXBvbmVudCxcclxuICAgIFpkYXRlcmFuZ2VDb21wb25lbnQsXHJcbiAgICBaZGF0ZXRpbWVDb21wb25lbnQsXHJcbiAgICBaZGl2Q29tcG9uZW50LFxyXG4gICAgWmZvcm1Db21wb25lbnQsXHJcbiAgICBaZm9ybWNvbnRyb2xDb21wb25lbnQsXHJcbiAgICBaZ2F1Z2VDb21wb25lbnQsXHJcbiAgICBaZ3JpZENvbXBvbmVudCxcclxuICAgIFppbWdDb21wb25lbnQsXHJcbiAgICBabGFiZWxDb21wb25lbnQsXHJcbiAgICBabWZiQ29tcG9uZW50LFxyXG4gICAgWm1vZGFsQ29tcG9uZW50LFxyXG4gICAgWm1vZGFsTW9iaWxlQ29tcG9uZW50LFxyXG4gICAgWm51bWVyaWNDb21wb25lbnQsXHJcbiAgICBacG9zdHNlbGVjdGlucHV0Q29tcG9uZW50LCBcclxuICAgIFpyZXBvcnRDb21wb25lbnQsXHJcbiAgICBac2NoZWR1bGVyQ29tcG9uZW50LFxyXG4gICAgWnNlbGVjdG11bHRpcGxlQ29tcG9uZW50LFxyXG4gICAgWnRhYkNvbXBvbmVudCxcclxuICAgIFp0ZXh0Q29tcG9uZW50LFxyXG4gICAgWnRleHRhcmVhQ29tcG9uZW50LFxyXG4gICAgWnRleHRlZGl0b3JDb21wb25lbnQsXHJcbiAgICBadHJlZUNvbXBvbmVudCxcclxuICAgIFp0cmVlbGlzdENvbXBvbmVudCxcclxuICAgIFp0cmVuZGNhcmRDb21wb25lbnQsXHJcbiAgICBadW5rbm93bkNvbXBvbmVudCxcclxuICAgIFp1ZGZDb21wb25lbnQsXHJcbiAgICBadXBsb2FkQ29tcG9uZW50LFxyXG4gICAgWndvcmtmbG93YnV0dG9uc0NvbXBvbmVudCxcclxuICAgIFpJbnB1dENvbnRhaW5lckNvbXBvbmVudCxcclxuICAgIFpwcm9ncmVzc2JhckNvbXBvbmVudCxcclxuICAgIFpJbnB1dFBhcnNlcixcclxuICAgIFpTZWxlY3RUcmFuc2xhdGlvblBhcnNlcixcclxuICAgIEh0bWxTYW5pdGl6ZVBpcGUsXHJcbiAgICBJbnB1dEVycm9yTWVzc2FnZUNvbXBvbmVudCxcclxuICAgIElucHV0RmllbGRBZGRPbnNDb21wb25lbnQsXHJcbiAgICBTcGlubmVyQ29tcG9uZW50LFxyXG4gICAgUGFnZUxvYWRlckNvbXBvbmVudCxcclxuICAgIFByb2Nlc3NpbmdSZWNvcmRMb2FkZXJDb21wb25lbnQsXHJcbiAgICBaTnVtZXJpY1BhcnNlcixcclxuICAgIFpncmlkQ29udGFpbmVyQ29tcG9uZW50LFxyXG4gICAgRGF0ZUtlbmRvRm9ybWF0UGFyc2VyLFxyXG4gICAgRGF0ZUlvbmljRm9ybWF0UGFyc2VyLFxyXG4gICAgRGF0ZUlvbmljTWluTWF4UGFyc2VyLFxyXG4gICAgU2ZxdWVyeWJ1aWxkZXJDb21wb25lbnQsXHJcbiAgICBabG9vcENvbXBvbmVudCxcclxuICAgIEtzcGxpdHRlckNvbXBvbmVudCxcclxuICAgIFZpcnR1YWxTY3JvbGxDb21wb25lbnQsXHJcbiAgICBaY29sb3JwaWNrZXJDb21wb25lbnRcclxuICBdLFxyXG4gIHByb3ZpZGVyczogW1xyXG4gICAgTW9kYWxTZXJ2aWNlXHJcbiAgXSxcclxuICBzY2hlbWFzOiBbQ1VTVE9NX0VMRU1FTlRTX1NDSEVNQV1cclxufSlcclxuXHJcbmV4cG9ydCBjbGFzcyBNbWhnbG9iYWxEeW5hbWljZm9ybU1vZHVsZSB7IH1cclxuIl19
@@ -41,7 +41,7 @@ export class VirtualScrollComponent extends ContainerFieldBase {
41
41
  ngAfterViewInit() {
42
42
  this.componentService.decrementComponentCounterForField(this.data);
43
43
  this.viewPort.scrolledIndexChange.pipe(auditTime(this.data.ScrollIndexChangeTimeDelay || 300), tap((currIndex) => {
44
- this.populateListData();
44
+ this.populateListData(currIndex);
45
45
  })).subscribe();
46
46
  }
47
47
  scrollToTop() {
@@ -58,13 +58,15 @@ export class VirtualScrollComponent extends ContainerFieldBase {
58
58
  else {
59
59
  this.options = this.data.Options;
60
60
  }
61
- this.pageSize = this.options.pageSize || 50;
62
- this.options.loadingLabel = this.options.loadingLabel || '<div>Loading</div>';
61
+ this.pageSize = this.options.pageSize ?? 50;
62
+ this.options.loadingLabel = this.options.loadingLabel ?? '<div>Loading</div>';
63
+ this.options.itemSize = this.options.itemSize ?? 50;
64
+ this.options.minBufferPx = this.options.minBufferPx ?? (this.options.pageSize * this.options.itemSize);
65
+ this.options.maxBufferPx = this.options.maxBufferPx ?? (this.options.pageSize * this.options.itemSize);
66
+ this.options.isGroupByEnabled = this.options.isGroupByEnabled ?? !!this.options.groupBy;
63
67
  }
64
68
  }
65
69
  appendData(dataItems) {
66
- // this.dataItems = this.dataItems.concat(dataItems);
67
- // this.pageSize = this.dataItems.length;
68
70
  this.fullDataItems = this.fullDataItems.concat(dataItems);
69
71
  this.pageSize = this.fullDataItems.length;
70
72
  this.computeDataItems();
@@ -83,6 +85,7 @@ export class VirtualScrollComponent extends ContainerFieldBase {
83
85
  }
84
86
  }
85
87
  setData(dataSetResult) {
88
+ this.pageFetched = [];
86
89
  if (dataSetResult.dataSet && Array.isArray(dataSetResult.dataSet) && dataSetResult.dataSet.length > 0) {
87
90
  const cnt = dataSetResult.totalCount - dataSetResult.dataSet.length;
88
91
  if (cnt < 0) {
@@ -104,7 +107,7 @@ export class VirtualScrollComponent extends ContainerFieldBase {
104
107
  this.fullDataItems = this.dataItems;
105
108
  this.computeDataItems();
106
109
  }
107
- populateListData() {
110
+ populateListData(currIndex) {
108
111
  const renderRange = this.viewPort.getRenderedRange();
109
112
  if (renderRange.start == renderRange.end && renderRange.end == 0) {
110
113
  return;
@@ -112,17 +115,13 @@ export class VirtualScrollComponent extends ContainerFieldBase {
112
115
  const startPageNo = Math.floor(renderRange.start / this.pageSize);
113
116
  const endPageNo = Math.floor((renderRange.end - 1) / this.pageSize);
114
117
  const obs = new Array();
115
- if (!this.pageFetched.includes(startPageNo)) {
116
- obs.push(this.fetchData(startPageNo).pipe(tap(data => {
117
- this.updateDataByIndex(startPageNo * this.pageSize, data);
118
- this.pageFetched.push(startPageNo);
119
- })));
120
- }
121
- if (startPageNo != endPageNo && !this.pageFetched.includes(endPageNo)) {
122
- obs.push(this.fetchData(endPageNo).pipe(tap(data => {
123
- this.updateDataByIndex(endPageNo * this.pageSize, data);
124
- this.pageFetched.push(endPageNo);
125
- })));
118
+ for (let i = startPageNo; i <= endPageNo; i++) {
119
+ if (!this.pageFetched.includes(i)) {
120
+ this.pageFetched.push(i);
121
+ obs.push(this.fetchData(i).pipe(tap(([data, pageNo]) => {
122
+ this.updateDataByIndex(pageNo * this.pageSize, data);
123
+ })));
124
+ }
126
125
  }
127
126
  if (obs.length > 0) {
128
127
  forkJoin(obs).pipe(tap(res => {
@@ -135,7 +134,7 @@ export class VirtualScrollComponent extends ContainerFieldBase {
135
134
  const onScrollEvent = ZComponentHelper.getGroupEvalValue.call(this, this.data.OnScroll);
136
135
  if (typeof onScrollEvent === 'function') {
137
136
  const callFunc = onScrollEvent.bind(this.group.ctrlScope);
138
- return callFunc(this.group, { pageNo: pageNo, pageSize: this.pageSize });
137
+ return forkJoin([callFunc(this.group, { pageNo: pageNo, pageSize: this.pageSize }), of(pageNo)]);
139
138
  }
140
139
  }
141
140
  return of(false);
@@ -153,6 +152,9 @@ export class VirtualScrollComponent extends ContainerFieldBase {
153
152
  this.footerFields = this.data.Value.filter(x => x.Section === 'footer');
154
153
  }
155
154
  }
155
+ getComponentOptions() {
156
+ return this.options;
157
+ }
156
158
  //#region Group By
157
159
  getGroupByLabelTemplate(dataItem, options) {
158
160
  if (options.groupByLabelTemplate && typeof options.groupByLabelTemplate == 'string') {
@@ -181,7 +183,9 @@ export class VirtualScrollComponent extends ContainerFieldBase {
181
183
  // to collapse (For animation: Change status, then append data)
182
184
  this.collapsedGroupBy.push(groupByValue);
183
185
  this.collapsedGroupBy_FirstNodeIndexList.push(firstNodeIndex);
184
- of({}).pipe(delay(400), tap(() => this.computeDataItems())).subscribe();
186
+ of({}).pipe(delay(400), tap(() => {
187
+ this.computeDataItems();
188
+ })).subscribe();
185
189
  }
186
190
  else {
187
191
  // to expand (For animation: Append data, then change status)
@@ -199,7 +203,9 @@ export class VirtualScrollComponent extends ContainerFieldBase {
199
203
  this.dataItems = this.fullDataItems.filter((x, index) => !this.collapsedGroupBy.includes(x[this.options.groupBy]) || this.collapsedGroupBy_FirstNodeIndexList.includes(index));
200
204
  }
201
205
  expandAll() {
206
+ this.groupByValueToExpand = '';
202
207
  this.collapsedGroupBy = [];
208
+ this.collapsedGroupBy_FirstNodeIndexList = [];
203
209
  this.computeDataItems();
204
210
  }
205
211
  expandByGroupByValues(groupByValue) {
@@ -208,7 +214,7 @@ export class VirtualScrollComponent extends ContainerFieldBase {
208
214
  }
209
215
  }
210
216
  VirtualScrollComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: VirtualScrollComponent, deps: [{ token: i1.ZComponentService }, { token: i2.FontAweSomeService }], target: i0.ɵɵFactoryTarget.Component });
211
- VirtualScrollComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.4.0", type: VirtualScrollComponent, selector: "app-virtual-scroll", viewQueries: [{ propertyName: "viewPort", first: true, predicate: CdkVirtualScrollViewport, descendants: true }], usesInheritance: true, ngImport: i0, template: "<div\r\n *ngIf=\"(!!componentProperties.isVisibleField ? group[componentProperties.isVisibleField] : componentProperties.isVisible)\"\r\n class=\"container e1tag-container-style\" [style]=\"componentProperties.containerStyle.style\"\r\n [ngClass]=\"(data.ComponentStyleType || '') + ' ' + (data.Class || '')\">\r\n <cdk-virtual-scroll-viewport [itemSize]=\"options.itemSize\" [style]=\"componentProperties.containerStyle.style1\"\r\n class=\"virtual-scroll-viewport e1tag-container-style1\" [minBufferPx]=\"options.minBufferPx\"\r\n [maxBufferPx]=\"options.maxBufferPx\">\r\n <!-- <ng-container *cdkVirtualFor=\"let field of clonedFields\"> -->\r\n <ng-container *cdkVirtualFor=\"let dataItem of dataItems; let i = index\">\r\n <div class=\"virtual-scroll-groupby e1tag-container-style4\" [style]=\"componentProperties.containerStyle.style4\"\r\n *ngIf=\"options.groupBy && (!dataItems[i-1] || dataItem[options.groupBy] !== dataItems[i-1][options.groupBy])\"\r\n (click)=\"groupByOnClick(dataItem[options.groupBy])\" [class.groupby-collapsible]=\"options.isGroupByCollapsible\">\r\n <fa-icon class=\"virtual-scroll-groupby-arrow-icon e1tag-container-style5\"\r\n [style]=\"componentProperties.containerStyle.style5\" *ngIf=\"!!options.isGroupByCollapsible\"\r\n [icon]=\"getFontAwesome('caret-down', fontAweSomeService)\"\r\n [@rotateAnimation]=\"{value: collapsedGroupBy.includes(dataItem[options.groupBy]) ? 'rotate' : 'default', params: {degree: -90}}\">\r\n </fa-icon>\r\n <span class=\"virtual-scroll-groupby-label e1tag-container-style6\"\r\n [style]=\"componentProperties.containerStyle.style6\">\r\n {{options.groupByLabelTemplate ? getGroupByLabelTemplate(dataItem, options) : dataItem[options.groupBy]}}\r\n </span>\r\n </div>\r\n <div [style.height.px]=\"options.itemSize\" [style.min-height.px]=\"options.itemSize\"\r\n [style.max-height.px]=\"options.itemSize\" [style]=\"componentProperties.containerStyle.style2\"\r\n class=\"e1tag-container-style2 virtual-scroll-dataitem\" (click)=\"onClick($event, dataItem)\"\r\n [id]=\"data.Name + '_' + dataItem?.Value?.Id || ''\"\r\n [@collapseAnimation]=\"{value: !!options.groupBy && collapsedGroupBy.includes(dataItem[options.groupBy]) ? 'collapse' : 'default'}\"\r\n [class.groupby-value-expand]=\"groupByValueToExpand == (dataItem[options.groupBy])\">\r\n <div *ngIf=\"!dataItem\" [innerHTML]=\"options.loadingLabel | htmlSanitize\"></div>\r\n <div *ngIf=\"dataItem.Label\" [innerHTML]=\"dataItem.Label | htmlSanitize\"></div>\r\n </div>\r\n </ng-container>\r\n <app-zformcontrol *ngFor=\"let field of footerFields\" [field]=\"field\" [containerField]=\"data\" [group]=\"group\"\r\n [form]=\"form\" [style]=\"componentProperties.containerStyle.style3\" class=\"e1tag-container-style3\">\r\n </app-zformcontrol>\r\n </cdk-virtual-scroll-viewport>\r\n</div>\r\n", styles: [".virtual-scroll-viewport{height:500px}.virtual-scroll-viewport .virtual-scroll-groupby{background:rgba(var(--ion-color-secondary-rgb),.1);font-weight:500;padding:12px 0 4px 12px;margin:1px}.virtual-scroll-viewport .virtual-scroll-groupby.groupby-collapsible{cursor:pointer;display:grid;grid-template-columns:20px auto}.virtual-scroll-viewport .virtual-scroll-groupby.groupby-collapsible:hover{background:rgba(var(--ion-color-secondary-rgb),.05)}.virtual-scroll-viewport .virtual-scroll-groupby>.virtual-scroll-groupby-arrow-icon{width:-moz-fit-content;width:fit-content}.virtual-scroll-viewport .virtual-scroll-dataitem.groupby-value-expand{transform:translateY(-10%);opacity:.2}\n"], components: [{ type: i3.CdkVirtualScrollViewport, selector: "cdk-virtual-scroll-viewport", inputs: ["orientation", "appendOnly"], outputs: ["scrolledIndexChange"] }, { type: i4.FaIconComponent, selector: "fa-icon", inputs: ["icon", "title", "spin", "pulse", "mask", "styles", "flip", "size", "pull", "border", "inverse", "symbol", "rotate", "fixedWidth", "classes", "transform", "a11yRole"] }, { type: i5.ZformcontrolComponent, selector: "app-zformcontrol", inputs: ["field", "group", "form", "containerField"] }], directives: [{ type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i6.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i7.DefaultClassDirective, selector: " [ngClass], [ngClass.xs], [ngClass.sm], [ngClass.md], [ngClass.lg], [ngClass.xl], [ngClass.lt-sm], [ngClass.lt-md], [ngClass.lt-lg], [ngClass.lt-xl], [ngClass.gt-xs], [ngClass.gt-sm], [ngClass.gt-md], [ngClass.gt-lg]", inputs: ["ngClass", "ngClass.xs", "ngClass.sm", "ngClass.md", "ngClass.lg", "ngClass.xl", "ngClass.lt-sm", "ngClass.lt-md", "ngClass.lt-lg", "ngClass.lt-xl", "ngClass.gt-xs", "ngClass.gt-sm", "ngClass.gt-md", "ngClass.gt-lg"] }, { type: i3.CdkFixedSizeVirtualScroll, selector: "cdk-virtual-scroll-viewport[itemSize]", inputs: ["itemSize", "minBufferPx", "maxBufferPx"] }, { type: i3.CdkVirtualForOf, selector: "[cdkVirtualFor][cdkVirtualForOf]", inputs: ["cdkVirtualForOf", "cdkVirtualForTrackBy", "cdkVirtualForTemplate", "cdkVirtualForTemplateCacheSize"] }, { type: i6.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }], pipes: { "htmlSanitize": i8.HtmlSanitizePipe }, animations: [
217
+ VirtualScrollComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.4.0", type: VirtualScrollComponent, selector: "app-virtual-scroll", viewQueries: [{ propertyName: "viewPort", first: true, predicate: CdkVirtualScrollViewport, descendants: true }], usesInheritance: true, ngImport: i0, template: "<div\r\n *ngIf=\"(!!componentProperties.isVisibleField ? group[componentProperties.isVisibleField] : componentProperties.isVisible)\"\r\n class=\"container e1tag-container-style\" [style]=\"componentProperties.containerStyle.style\"\r\n [ngClass]=\"(data.ComponentStyleType || '') + ' ' + (data.Class || '')\">\r\n <cdk-virtual-scroll-viewport [itemSize]=\"options.itemSize\" [style]=\"componentProperties.containerStyle.style1\"\r\n class=\"virtual-scroll-viewport e1tag-container-style1\" [minBufferPx]=\"options.minBufferPx\"\r\n [maxBufferPx]=\"options.maxBufferPx\">\r\n <!-- <ng-container *cdkVirtualFor=\"let field of clonedFields\"> -->\r\n <ng-container *cdkVirtualFor=\"let dataItem of dataItems; let i = index\">\r\n <div class=\"virtual-scroll-groupby e1tag-container-style4\" [style]=\"componentProperties.containerStyle.style4\"\r\n *ngIf=\"options.isGroupByEnabled && options.groupBy && (!dataItems[i-1] || dataItem[options.groupBy] !== dataItems[i-1][options.groupBy])\"\r\n (click)=\"groupByOnClick(dataItem[options.groupBy])\" [class.groupby-collapsible]=\"options.isGroupByCollapsible\">\r\n <fa-icon class=\"virtual-scroll-groupby-arrow-icon e1tag-container-style5\"\r\n [style]=\"componentProperties.containerStyle.style5\" *ngIf=\"!!options.isGroupByCollapsible\"\r\n [icon]=\"getFontAwesome('caret-down', fontAweSomeService)\"\r\n [@rotateAnimation]=\"{value: collapsedGroupBy.includes(dataItem[options.groupBy]) ? 'rotate' : 'default', params: {degree: -90}}\">\r\n </fa-icon>\r\n <span class=\"virtual-scroll-groupby-label e1tag-container-style6\"\r\n [style]=\"componentProperties.containerStyle.style6\">\r\n {{options.groupByLabelTemplate ? getGroupByLabelTemplate(dataItem, options) : dataItem[options.groupBy]}}\r\n </span>\r\n </div>\r\n <div *ngIf=\"!options.isGroupByEnabled\" [style.height.px]=\"options.itemSize\"\r\n [style.min-height.px]=\"options.itemSize\" [style.max-height.px]=\"options.itemSize\"\r\n [style]=\"componentProperties.containerStyle.style2\" class=\"e1tag-container-style2 virtual-scroll-dataitem\"\r\n (click)=\"onClick($event, dataItem)\" [id]=\"data.Name + '_' + dataItem?.Value?.Id || ''\">\r\n <div *ngIf=\"!dataItem\" [innerHTML]=\"options.loadingLabel | htmlSanitize\"></div>\r\n <div *ngIf=\"dataItem.Label\" [innerHTML]=\"dataItem.Label | htmlSanitize\"></div>\r\n </div>\r\n <div *ngIf=\"options.isGroupByEnabled\" [style.height.px]=\"options.itemSize\"\r\n [style.min-height.px]=\"options.itemSize\" [style.max-height.px]=\"options.itemSize\"\r\n [style]=\"componentProperties.containerStyle.style2\" class=\"e1tag-container-style2 virtual-scroll-dataitem\"\r\n (click)=\"onClick($event, dataItem)\" [id]=\"data.Name + '_' + dataItem?.Value?.Id || ''\"\r\n [@collapseAnimation]=\"{value: !!options.groupBy && collapsedGroupBy.includes(dataItem[options.groupBy]) ? 'collapse' : 'default'}\"\r\n [class.groupby-value-expand]=\"groupByValueToExpand == (dataItem[options.groupBy])\">\r\n <div *ngIf=\"!dataItem\" [innerHTML]=\"options.loadingLabel | htmlSanitize\"></div>\r\n <div *ngIf=\"dataItem.Label\" [innerHTML]=\"dataItem.Label | htmlSanitize\"></div>\r\n </div>\r\n </ng-container>\r\n <app-zformcontrol *ngFor=\"let field of footerFields\" [field]=\"field\" [containerField]=\"data\" [group]=\"group\"\r\n [form]=\"form\" [style]=\"componentProperties.containerStyle.style3\" class=\"e1tag-container-style3\">\r\n </app-zformcontrol>\r\n </cdk-virtual-scroll-viewport>\r\n</div>\r\n", styles: [".virtual-scroll-viewport{height:500px}.virtual-scroll-viewport .virtual-scroll-groupby{background:rgba(var(--ion-color-secondary-rgb),.1);font-weight:500;padding:12px 0 4px 12px;margin:1px}.virtual-scroll-viewport .virtual-scroll-groupby.groupby-collapsible{cursor:pointer;display:grid;grid-template-columns:20px auto}.virtual-scroll-viewport .virtual-scroll-groupby.groupby-collapsible:hover{background:rgba(var(--ion-color-secondary-rgb),.05)}.virtual-scroll-viewport .virtual-scroll-groupby>.virtual-scroll-groupby-arrow-icon{width:-moz-fit-content;width:fit-content}.virtual-scroll-viewport .virtual-scroll-dataitem.groupby-value-expand{transform:translateY(-10%);opacity:.2}\n"], components: [{ type: i3.CdkVirtualScrollViewport, selector: "cdk-virtual-scroll-viewport", inputs: ["orientation", "appendOnly"], outputs: ["scrolledIndexChange"] }, { type: i4.FaIconComponent, selector: "fa-icon", inputs: ["icon", "title", "spin", "pulse", "mask", "styles", "flip", "size", "pull", "border", "inverse", "symbol", "rotate", "fixedWidth", "classes", "transform", "a11yRole"] }, { type: i5.ZformcontrolComponent, selector: "app-zformcontrol", inputs: ["field", "group", "form", "containerField"] }], directives: [{ type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i6.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i7.DefaultClassDirective, selector: " [ngClass], [ngClass.xs], [ngClass.sm], [ngClass.md], [ngClass.lg], [ngClass.xl], [ngClass.lt-sm], [ngClass.lt-md], [ngClass.lt-lg], [ngClass.lt-xl], [ngClass.gt-xs], [ngClass.gt-sm], [ngClass.gt-md], [ngClass.gt-lg]", inputs: ["ngClass", "ngClass.xs", "ngClass.sm", "ngClass.md", "ngClass.lg", "ngClass.xl", "ngClass.lt-sm", "ngClass.lt-md", "ngClass.lt-lg", "ngClass.lt-xl", "ngClass.gt-xs", "ngClass.gt-sm", "ngClass.gt-md", "ngClass.gt-lg"] }, { type: i3.CdkFixedSizeVirtualScroll, selector: "cdk-virtual-scroll-viewport[itemSize]", inputs: ["itemSize", "minBufferPx", "maxBufferPx"] }, { type: i3.CdkVirtualForOf, selector: "[cdkVirtualFor][cdkVirtualForOf]", inputs: ["cdkVirtualForOf", "cdkVirtualForTrackBy", "cdkVirtualForTemplate", "cdkVirtualForTemplateCacheSize"] }, { type: i6.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }], pipes: { "htmlSanitize": i8.HtmlSanitizePipe }, animations: [
212
218
  collapseAnimation,
213
219
  rotateAnimation
214
220
  ] });
@@ -217,9 +223,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.4.0", ngImpor
217
223
  args: [{ selector: "app-virtual-scroll", animations: [
218
224
  collapseAnimation,
219
225
  rotateAnimation
220
- ], template: "<div\r\n *ngIf=\"(!!componentProperties.isVisibleField ? group[componentProperties.isVisibleField] : componentProperties.isVisible)\"\r\n class=\"container e1tag-container-style\" [style]=\"componentProperties.containerStyle.style\"\r\n [ngClass]=\"(data.ComponentStyleType || '') + ' ' + (data.Class || '')\">\r\n <cdk-virtual-scroll-viewport [itemSize]=\"options.itemSize\" [style]=\"componentProperties.containerStyle.style1\"\r\n class=\"virtual-scroll-viewport e1tag-container-style1\" [minBufferPx]=\"options.minBufferPx\"\r\n [maxBufferPx]=\"options.maxBufferPx\">\r\n <!-- <ng-container *cdkVirtualFor=\"let field of clonedFields\"> -->\r\n <ng-container *cdkVirtualFor=\"let dataItem of dataItems; let i = index\">\r\n <div class=\"virtual-scroll-groupby e1tag-container-style4\" [style]=\"componentProperties.containerStyle.style4\"\r\n *ngIf=\"options.groupBy && (!dataItems[i-1] || dataItem[options.groupBy] !== dataItems[i-1][options.groupBy])\"\r\n (click)=\"groupByOnClick(dataItem[options.groupBy])\" [class.groupby-collapsible]=\"options.isGroupByCollapsible\">\r\n <fa-icon class=\"virtual-scroll-groupby-arrow-icon e1tag-container-style5\"\r\n [style]=\"componentProperties.containerStyle.style5\" *ngIf=\"!!options.isGroupByCollapsible\"\r\n [icon]=\"getFontAwesome('caret-down', fontAweSomeService)\"\r\n [@rotateAnimation]=\"{value: collapsedGroupBy.includes(dataItem[options.groupBy]) ? 'rotate' : 'default', params: {degree: -90}}\">\r\n </fa-icon>\r\n <span class=\"virtual-scroll-groupby-label e1tag-container-style6\"\r\n [style]=\"componentProperties.containerStyle.style6\">\r\n {{options.groupByLabelTemplate ? getGroupByLabelTemplate(dataItem, options) : dataItem[options.groupBy]}}\r\n </span>\r\n </div>\r\n <div [style.height.px]=\"options.itemSize\" [style.min-height.px]=\"options.itemSize\"\r\n [style.max-height.px]=\"options.itemSize\" [style]=\"componentProperties.containerStyle.style2\"\r\n class=\"e1tag-container-style2 virtual-scroll-dataitem\" (click)=\"onClick($event, dataItem)\"\r\n [id]=\"data.Name + '_' + dataItem?.Value?.Id || ''\"\r\n [@collapseAnimation]=\"{value: !!options.groupBy && collapsedGroupBy.includes(dataItem[options.groupBy]) ? 'collapse' : 'default'}\"\r\n [class.groupby-value-expand]=\"groupByValueToExpand == (dataItem[options.groupBy])\">\r\n <div *ngIf=\"!dataItem\" [innerHTML]=\"options.loadingLabel | htmlSanitize\"></div>\r\n <div *ngIf=\"dataItem.Label\" [innerHTML]=\"dataItem.Label | htmlSanitize\"></div>\r\n </div>\r\n </ng-container>\r\n <app-zformcontrol *ngFor=\"let field of footerFields\" [field]=\"field\" [containerField]=\"data\" [group]=\"group\"\r\n [form]=\"form\" [style]=\"componentProperties.containerStyle.style3\" class=\"e1tag-container-style3\">\r\n </app-zformcontrol>\r\n </cdk-virtual-scroll-viewport>\r\n</div>\r\n", styles: [".virtual-scroll-viewport{height:500px}.virtual-scroll-viewport .virtual-scroll-groupby{background:rgba(var(--ion-color-secondary-rgb),.1);font-weight:500;padding:12px 0 4px 12px;margin:1px}.virtual-scroll-viewport .virtual-scroll-groupby.groupby-collapsible{cursor:pointer;display:grid;grid-template-columns:20px auto}.virtual-scroll-viewport .virtual-scroll-groupby.groupby-collapsible:hover{background:rgba(var(--ion-color-secondary-rgb),.05)}.virtual-scroll-viewport .virtual-scroll-groupby>.virtual-scroll-groupby-arrow-icon{width:-moz-fit-content;width:fit-content}.virtual-scroll-viewport .virtual-scroll-dataitem.groupby-value-expand{transform:translateY(-10%);opacity:.2}\n"] }]
226
+ ], template: "<div\r\n *ngIf=\"(!!componentProperties.isVisibleField ? group[componentProperties.isVisibleField] : componentProperties.isVisible)\"\r\n class=\"container e1tag-container-style\" [style]=\"componentProperties.containerStyle.style\"\r\n [ngClass]=\"(data.ComponentStyleType || '') + ' ' + (data.Class || '')\">\r\n <cdk-virtual-scroll-viewport [itemSize]=\"options.itemSize\" [style]=\"componentProperties.containerStyle.style1\"\r\n class=\"virtual-scroll-viewport e1tag-container-style1\" [minBufferPx]=\"options.minBufferPx\"\r\n [maxBufferPx]=\"options.maxBufferPx\">\r\n <!-- <ng-container *cdkVirtualFor=\"let field of clonedFields\"> -->\r\n <ng-container *cdkVirtualFor=\"let dataItem of dataItems; let i = index\">\r\n <div class=\"virtual-scroll-groupby e1tag-container-style4\" [style]=\"componentProperties.containerStyle.style4\"\r\n *ngIf=\"options.isGroupByEnabled && options.groupBy && (!dataItems[i-1] || dataItem[options.groupBy] !== dataItems[i-1][options.groupBy])\"\r\n (click)=\"groupByOnClick(dataItem[options.groupBy])\" [class.groupby-collapsible]=\"options.isGroupByCollapsible\">\r\n <fa-icon class=\"virtual-scroll-groupby-arrow-icon e1tag-container-style5\"\r\n [style]=\"componentProperties.containerStyle.style5\" *ngIf=\"!!options.isGroupByCollapsible\"\r\n [icon]=\"getFontAwesome('caret-down', fontAweSomeService)\"\r\n [@rotateAnimation]=\"{value: collapsedGroupBy.includes(dataItem[options.groupBy]) ? 'rotate' : 'default', params: {degree: -90}}\">\r\n </fa-icon>\r\n <span class=\"virtual-scroll-groupby-label e1tag-container-style6\"\r\n [style]=\"componentProperties.containerStyle.style6\">\r\n {{options.groupByLabelTemplate ? getGroupByLabelTemplate(dataItem, options) : dataItem[options.groupBy]}}\r\n </span>\r\n </div>\r\n <div *ngIf=\"!options.isGroupByEnabled\" [style.height.px]=\"options.itemSize\"\r\n [style.min-height.px]=\"options.itemSize\" [style.max-height.px]=\"options.itemSize\"\r\n [style]=\"componentProperties.containerStyle.style2\" class=\"e1tag-container-style2 virtual-scroll-dataitem\"\r\n (click)=\"onClick($event, dataItem)\" [id]=\"data.Name + '_' + dataItem?.Value?.Id || ''\">\r\n <div *ngIf=\"!dataItem\" [innerHTML]=\"options.loadingLabel | htmlSanitize\"></div>\r\n <div *ngIf=\"dataItem.Label\" [innerHTML]=\"dataItem.Label | htmlSanitize\"></div>\r\n </div>\r\n <div *ngIf=\"options.isGroupByEnabled\" [style.height.px]=\"options.itemSize\"\r\n [style.min-height.px]=\"options.itemSize\" [style.max-height.px]=\"options.itemSize\"\r\n [style]=\"componentProperties.containerStyle.style2\" class=\"e1tag-container-style2 virtual-scroll-dataitem\"\r\n (click)=\"onClick($event, dataItem)\" [id]=\"data.Name + '_' + dataItem?.Value?.Id || ''\"\r\n [@collapseAnimation]=\"{value: !!options.groupBy && collapsedGroupBy.includes(dataItem[options.groupBy]) ? 'collapse' : 'default'}\"\r\n [class.groupby-value-expand]=\"groupByValueToExpand == (dataItem[options.groupBy])\">\r\n <div *ngIf=\"!dataItem\" [innerHTML]=\"options.loadingLabel | htmlSanitize\"></div>\r\n <div *ngIf=\"dataItem.Label\" [innerHTML]=\"dataItem.Label | htmlSanitize\"></div>\r\n </div>\r\n </ng-container>\r\n <app-zformcontrol *ngFor=\"let field of footerFields\" [field]=\"field\" [containerField]=\"data\" [group]=\"group\"\r\n [form]=\"form\" [style]=\"componentProperties.containerStyle.style3\" class=\"e1tag-container-style3\">\r\n </app-zformcontrol>\r\n </cdk-virtual-scroll-viewport>\r\n</div>\r\n", styles: [".virtual-scroll-viewport{height:500px}.virtual-scroll-viewport .virtual-scroll-groupby{background:rgba(var(--ion-color-secondary-rgb),.1);font-weight:500;padding:12px 0 4px 12px;margin:1px}.virtual-scroll-viewport .virtual-scroll-groupby.groupby-collapsible{cursor:pointer;display:grid;grid-template-columns:20px auto}.virtual-scroll-viewport .virtual-scroll-groupby.groupby-collapsible:hover{background:rgba(var(--ion-color-secondary-rgb),.05)}.virtual-scroll-viewport .virtual-scroll-groupby>.virtual-scroll-groupby-arrow-icon{width:-moz-fit-content;width:fit-content}.virtual-scroll-viewport .virtual-scroll-dataitem.groupby-value-expand{transform:translateY(-10%);opacity:.2}\n"] }]
221
227
  }], ctorParameters: function () { return [{ type: i1.ZComponentService }, { type: i2.FontAweSomeService }]; }, propDecorators: { viewPort: [{
222
228
  type: ViewChild,
223
229
  args: [CdkVirtualScrollViewport]
224
230
  }] } });
225
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmlydHVhbC1zY3JvbGwuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbW1oZ2xvYmFsLWR5bmFtaWNmb3JtL3NyYy9saWIvdmlydHVhbC1zY3JvbGwvdmlydHVhbC1zY3JvbGwuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbW1oZ2xvYmFsLWR5bmFtaWNmb3JtL3NyYy9saWIvdmlydHVhbC1zY3JvbGwvdmlydHVhbC1zY3JvbGwuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsK0JBQStCO0FBQy9CLE9BQU8sRUFBRSxTQUFTLEVBQVUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTdELDZCQUE2QjtBQUU3Qiw4QkFBOEI7QUFFOUIsMkNBQTJDO0FBQzNDLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDRDQUE0QyxDQUFDO0FBRWhGLE9BQU8sRUFBc0UsZ0JBQWdCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUN2SCxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUNsRSxPQUFPLEVBQWMsU0FBUyxFQUFFLEtBQUssRUFBRSxRQUFRLEVBQUUsRUFBRSxFQUFFLEdBQUcsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUN2RSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsZUFBZSxFQUFFLE1BQU0sb0NBQW9DLENBQUM7Ozs7Ozs7Ozs7QUFZeEYsMEdBQTBHO0FBQzFHLDRHQUE0RztBQUU1RyxNQUFNLE9BQU8sc0JBQXVCLFNBQVEsa0JBQWtCO0lBWTVELFlBQ0UsZ0JBQW1DLEVBQzVCLGtCQUFzQztRQUU3QyxLQUFLLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztRQUZqQix1QkFBa0IsR0FBbEIsa0JBQWtCLENBQW9CO1FBWnhDLHFCQUFnQixHQUFHLEVBQUUsQ0FBQyxDQUFDLGtDQUFrQztRQUN6RCx5QkFBb0IsR0FBRyxF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QUM7UUFDM0IsSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUM7SUFDMUIsQ0FBQztJQUVNLHFCQUFxQixDQUFDLFlBQTJCO1FBQ3RELElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxZQUFZLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDckYsSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUM7SUFDMUIsQ0FBQzs7bUhBbk9VLHNCQUFzQjt1R0FBdEIsc0JBQXNCLG9HQUN0Qix3QkFBd0IsdUVDN0JyQyxnOEZBcUNBLHUwRURsQmM7UUFDVixpQkFBaUI7UUFDakIsZUFBZTtLQUNoQjsyRkFNVSxzQkFBc0I7a0JBYmxDLFNBQVM7K0JBQ0Usb0JBQW9CLGNBR2xCO3dCQUNWLGlCQUFpQjt3QkFDakIsZUFBZTtxQkFDaEI7eUlBT29DLFFBQVE7c0JBQTVDLFNBQVM7dUJBQUMsd0JBQXdCIiwic291cmNlc0NvbnRlbnQiOlsiLyoqKioqKioqKiogQW5ndWxhciAqKioqKioqKioqL1xyXG5pbXBvcnQgeyBDb21wb25lbnQsIE9uSW5pdCwgVmlld0NoaWxkIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuXHJcbi8qKioqKioqKioqIElvbmljICoqKioqKioqKiovXHJcblxyXG4vKioqKioqKioqKiBQbHVnaW4gKioqKioqKioqKi9cclxuXHJcbi8qKioqKioqKioqIENvbXBvbmVudCAmIFNlcnZpY2UgKioqKioqKioqKi9cclxuaW1wb3J0IHsgQ29udGFpbmVyRmllbGRCYXNlIH0gZnJvbSBcIi4uL2NvbXBvbmVudHMvY29udGFpbmVyZmllbGRiYXNlLmNvbXBvbmVudFwiO1xyXG5pbXBvcnQgeyBaQ29tcG9uZW50U2VydmljZSB9IGZyb20gXCIuLi9zZXJ2aWNlcy96Y29tcG9uZW50LnNlcnZpY2VcIjtcclxuaW1wb3J0IHsgRGF0YVNldFJlc3VsdCwgRm9udEF3ZVNvbWVTZXJ2aWNlLCBWaXJ0dWFsU2Nyb2xsT3B0aW9uLCBaQ29tcG9uZW50LCBaQ29tcG9uZW50SGVscGVyIH0gZnJvbSBcIm1taGdsb2JhbC16Y29yZVwiO1xyXG5pbXBvcnQgeyBDZGtWaXJ0dWFsU2Nyb2xsVmlld3BvcnQgfSBmcm9tIFwiQGFuZ3VsYXIvY2RrL3Njcm9sbGluZ1wiO1xyXG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBhdWRpdFRpbWUsIGRlbGF5LCBmb3JrSm9pbiwgb2YsIHRhcCB9IGZyb20gXCJyeGpzXCI7XHJcbmltcG9ydCB7IGNvbGxhcHNlQW5pbWF0aW9uLCByb3RhdGVBbmltYXRpb24gfSBmcm9tIFwiLi4vYW5pbWF0aW9ucy9jb21wb25lbnQtYW5pbWF0aW9uc1wiO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6IFwiYXBwLXZpcnR1YWwtc2Nyb2xsXCIsXHJcbiAgdGVtcGxhdGVVcmw6IFwiLi92aXJ0dWFsLXNjcm9sbC5jb21wb25lbnQuaHRtbFwiLFxyXG4gIHN0eWxlVXJsczogW1wiLi92aXJ0dWFsLXNjcm9sbC5jb21wb25lbnQuc2Nzc1wiXSxcclxuICBhbmltYXRpb25zOiBbXHJcbiAgICBjb2xsYXBzZUFuaW1hdGlvbixcclxuICAgIHJvdGF0ZUFuaW1hdGlvblxyXG4gIF1cclxufSlcclxuXHJcbi8vIEFwcHJvYWNoIDE6IFRvdGFsIENvdW50IGlzIGtub3duLCBnZXQgbmV4dCBwYWdlIHVwb24gc2Nyb2xsLiAoV2lsbCBvbmx5IGhhdmUgbXVsdGlwbGUgcGFnZXMgLyBwYWdlYWJsZSlcclxuLy8gQXBwcm9hY2ggMjogVG90YWwgQ291bnQgaXMgbm90IGtub3duLCBhcHBlbmQgbW9yZSBkYXRhIGF0IHJ1bnRpbWUuIChXaWxsIG9ubHkgaGF2ZSAxIHBhZ2UgLyBub3QgcGFnZWFibGUpXHJcblxyXG5leHBvcnQgY2xhc3MgVmlydHVhbFNjcm9sbENvbXBvbmVudCBleHRlbmRzIENvbnRhaW5lckZpZWxkQmFzZSBpbXBsZW1lbnRzIFpDb21wb25lbnQsIE9uSW5pdCB7XHJcbiAgQFZpZXdDaGlsZChDZGtWaXJ0dWFsU2Nyb2xsVmlld3BvcnQpIHZpZXdQb3J0OiBDZGtWaXJ0dWFsU2Nyb2xsVmlld3BvcnQ7XHJcbiAgcHVibGljIGNvbGxhcHNlZEdyb3VwQnkgPSBbXTsgLy8gVXNlZCB0byBkZWZpbmUgYW5pbWF0aW9uIHN0YXR1c1xyXG4gIHB1YmxpYyBncm91cEJ5VmFsdWVUb0V4cGFuZCA9ICcnOyAgLy8gVXNlZCB0byBkZWZpbmUgYW5pbWF0aW9uIHN0YXR1c1xyXG4gIHB1YmxpYyBjb2xsYXBzZWRHcm91cEJ5X0ZpcnN0Tm9kZUluZGV4TGlzdCA9IG5ldyBBcnJheTxudW1iZXI+KCk7IC8vIFdoZW4gY29sbGFwc2UsIG5lZWQgdG8gcmV0YWluIHRoZSBmaXJzdCBub2RlIGluIHRoZSBsaXN0IHNvIHRoYXQgdGhlIGdyb3VwIGJ5IHRpdGxlIHdpbGwgbm90IGJlIGhpZGRlblxyXG4gIHByaXZhdGUgZnVsbERhdGFJdGVtcyA9IFtdO1xyXG4gIHB1YmxpYyBkYXRhSXRlbXM6IEFycmF5PGFueT4gPSBbXTtcclxuICBwdWJsaWMgcGFnZVNpemUgPSA1MDtcclxuICBwdWJsaWMgcGFnZUZldGNoZWQgPSBbXTtcclxuICBwdWJsaWMgb3B0aW9uczogVmlydHVhbFNjcm9sbE9wdGlvbjtcclxuICBwdWJsaWMgZm9vdGVyRmllbGRzID0gW107XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgY29tcG9uZW50U2VydmljZTogWkNvbXBvbmVudFNlcnZpY2UsXHJcbiAgICBwdWJsaWMgZm9udEF3ZVNvbWVTZXJ2aWNlOiBGb250QXdlU29tZVNlcnZpY2VcclxuICApIHtcclxuICAgIHN1cGVyKGNvbXBvbmVudFNlcnZpY2UpO1xyXG4gIH1cclxuXHJcbiAgbmdPbkluaXQoKSB7XHJcbiAgICB0aGlzLnNldHVwQ29tcG9uZW50KCk7XHJcbiAgICB0aGlzLnNldHVwRGF0YUl0ZW1zKCk7XHJcbiAgICB0aGlzLnNldHVwRm9vdGVyKCk7XHJcbiAgICBzdXBlci5pbml0Q29tcG9uZW50KCkuc3Vic2NyaWJlKCk7XHJcbiAgfVxyXG5cclxuICBuZ0FmdGVyVmlld0luaXQoKSB7XHJcbiAgICB0aGlzLmNvbXBvbmVudFNlcnZpY2UuZGVjcmVtZW50Q29tcG9uZW50Q291bnRlckZvckZpZWxkKHRoaXMuZGF0YSk7XHJcbiAgICB0aGlzLnZpZXdQb3J0LnNjcm9sbGVkSW5kZXhDaGFuZ2UucGlwZShcclxuICAgICAgYXVkaXRUaW1lKHRoaXMuZGF0YS5TY3JvbGxJbmRleENoYW5nZVRpbWVEZWxheSB8fCAzMDApLFxyXG4gICAgICB0YXAoKGN1cnJJbmRleDogbnVtYmVyKSA9PiB7XHJcbiAgICAgICAgdGhpcy5wb3B1bGF0ZUxpc3REYXRhKCk7XHJcbiAgICAgIH0pXHJcbiAgICApLnN1YnNjcmliZSgpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHNjcm9sbFRvVG9wKCkge1xyXG4gICAgaWYgKHRoaXMudmlld1BvcnQpIHtcclxuICAgICAgdGhpcy52aWV3UG9ydC5zY3JvbGxUb0luZGV4KDApO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBzZXR1cENvbXBvbmVudCgpIHtcclxuICAgIHRoaXMuY29sbGFwc2VkR3JvdXBCeSA9IFtdO1xyXG4gICAgaWYgKHRoaXMuZGF0YS5PcHRpb25zKSB7XHJcbiAgICAgIGlmICh0eXBlb2YgdGhpcy5kYXRhLk9wdGlvbnMgPT09ICdzdHJpbmcnICYmIHRoaXMuZGF0YS5PcHRpb25zLnN0YXJ0c1dpdGgoJ2dyb3VwLicpKSB7XHJcbiAgICAgICAgdGhpcy5vcHRpb25zID0gWkNvbXBvbmVudEhlbHBlci5nZXRHcm91cFZhbHVlKHRoaXMuZGF0YS5PcHRpb25zLCB0aGlzLmdyb3VwKTtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICB0aGlzLm9wdGlvbnMgPSB0aGlzLmRhdGEuT3B0aW9ucztcclxuICAgICAgfVxyXG5cclxuICAgICAgdGhpcy5wYWdlU2l6ZSA9IHRoaXMub3B0aW9ucy5wYWdlU2l6ZSB8fCA1MDtcclxuICAgICAgdGhpcy5vcHRpb25zLmxvYWRpbmdMYWJlbCA9IHRoaXMub3B0aW9ucy5sb2FkaW5nTGFiZWwgfHwgJzxkaXY+TG9hZGluZzwvZGl2Pic7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgYXBwZW5kRGF0YShkYXRhSXRlbXM6IEFycmF5PGFueT4pIHtcclxuICAgIC8vIHRoaXMuZGF0YUl0ZW1zID0gdGhpcy5kYXRhSXRlbXMuY29uY2F0KGRhdGFJdGVtcyk7XHJcbiAgICAvLyB0aGlzLnBhZ2VTaXplID0gdGhpcy5kYXRhSXRlbXMubGVuZ3RoO1xyXG4gICAgdGhpcy5mdWxsRGF0YUl0ZW1zID0gdGhpcy5mdWxsRGF0YUl0ZW1zLmNvbmNhdChkYXRhSXRlbXMpO1xyXG4gICAgdGhpcy5wYWdlU2l6ZSA9IHRoaXMuZnVsbERhdGFJdGVtcy5sZW5ndGg7XHJcbiAgICB0aGlzLmNvbXB1dGVEYXRhSXRlbXMoKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgc2V0dXBEYXRhSXRlbXMoKSB7XHJcbiAgICB0aGlzLnBhZ2VGZXRjaGVkID0gW107XHJcbiAgICBpZiAodGhpcy5kYXRhLkRhdGFTZXRSZXN1bHQpIHtcclxuICAgICAgbGV0IGRhdGFTZXRSZXN1bHQgPSB0aGlzLmRhdGEuRGF0YVNldFJlc3VsdDtcclxuICAgICAgaWYgKHR5cGVvZiBkYXRhU2V0UmVzdWx0ID09ICdzdHJpbmcnICYmIGRhdGFTZXRSZXN1bHQuc3RhcnRzV2l0aCgnZ3JvdXAuJykpIHtcclxuICAgICAgICBkYXRhU2V0UmVzdWx0ID0gWkNvbXBvbmVudEhlbHBlci5nZXRHcm91cFZhbHVlKGRhdGFTZXRSZXN1bHQsIHRoaXMuZ3JvdXApO1xyXG4gICAgICB9XHJcbiAgICAgIHRoaXMuc2V0RGF0YShkYXRhU2V0UmVzdWx0IGFzIERhdGFTZXRSZXN1bHQpO1xyXG4gICAgfVxyXG4gICAgZWxzZSB7XHJcbiAgICAgIHRoaXMuZGF0YUl0ZW1zID0gW107XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgc2V0RGF0YShkYXRhU2V0UmVzdWx0OiBEYXRhU2V0UmVzdWx0KSB7XHJcbiAgICBpZiAoZGF0YVNldFJlc3VsdC5kYXRhU2V0ICYmIEFycmF5LmlzQXJyYXkoZGF0YVNldFJlc3VsdC5kYXRhU2V0KSAmJiBkYXRhU2V0UmVzdWx0LmRhdGFTZXQubGVuZ3RoID4gMCkge1xyXG4gICAgICBjb25zdCBjbnQgPSBkYXRhU2V0UmVzdWx0LnRvdGFsQ291bnQgLSBkYXRhU2V0UmVzdWx0LmRhdGFTZXQubGVuZ3RoO1xyXG4gICAgICBpZiAoY250IDwgMCkge1xyXG4gICAgICAgIGNvbnNvbGUuZXJyb3IoJ0RhdGFJdGVtcyBjYW5ub3QgYmUgbW9yZSB0aGFuIHRvdGFsIGNvdW50LicpO1xyXG4gICAgICAgIHJldHVybjtcclxuICAgICAgfVxyXG5cclxuICAgICAgdGhpcy5kYXRhSXRlbXMgPSBkYXRhU2V0UmVzdWx0LmRhdGFTZXQuY29uY2F0KEFycmF5KGNudCkuZmlsbChmYWxzZSkpO1xyXG4gICAgICBjb25zdCBwYWdlTm9Ub01hcmtBc0ZldGNoID0gTWF0aC5jZWlsKGRhdGFTZXRSZXN1bHQuZGF0YVNldC5sZW5ndGggLyB0aGlzLnBhZ2VTaXplKSAtIDE7XHJcbiAgICAgIGZvciAobGV0IGkgPSAwOyBpIDw9IHBhZ2VOb1RvTWFya0FzRmV0Y2g7IGkrKykge1xyXG4gICAgICAgIHRoaXMucGFnZUZldGNoZWQucHVzaChpKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgZWxzZSBpZiAoZGF0YVNldFJlc3VsdC50b3RhbENvdW50KSB7XHJcbiAgICAgIHRoaXMuZGF0YUl0ZW1zID0gQXJyYXkoZGF0YVNldFJlc3VsdC50b3RhbENvdW50KS5maWxsKGZhbHNlKTtcclxuICAgIH1cclxuICAgIGVsc2Uge1xyXG4gICAgICB0aGlzLmRhdGFJdGVtcyA9IFtdO1xyXG4gICAgfVxyXG4gICAgdGhpcy5mdWxsRGF0YUl0ZW1zID0gdGhpcy5kYXRhSXRlbXM7XHJcbiAgICB0aGlzLmNvbXB1dGVEYXRhSXRlbXMoKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgcG9wdWxhdGVMaXN0RGF0YSgpIHtcclxuICAgIGNvbnN0IHJlbmRlclJhbmdlID0gdGhpcy52aWV3UG9ydC5nZXRSZW5kZXJlZFJhbmdlKCk7XHJcbiAgICBpZiAocmVuZGVyUmFuZ2Uuc3RhcnQgPT0gcmVuZGVyUmFuZ2UuZW5kICYmIHJlbmRlclJhbmdlLmVuZCA9PSAwKSB7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuICAgIGNvbnN0IHN0YXJ0UGFnZU5vID0gTWF0aC5mbG9vcihyZW5kZXJSYW5nZS5zdGFydCAvIHRoaXMucGFnZVNpemUpO1xyXG4gICAgY29uc3QgZW5kUGFnZU5vID0gTWF0aC5mbG9vcigocmVuZGVyUmFuZ2UuZW5kIC0gMSkgLyB0aGlzLnBhZ2VTaXplKTtcclxuXHJcbiAgICBjb25zdCBvYnMgPSBuZXcgQXJyYXk8T2JzZXJ2YWJsZTxhbnk+PigpO1xyXG4gICAgaWYgKCF0aGlzLnBhZ2VGZXRjaGVkLmluY2x1ZGVzKHN0YXJ0UGFnZU5vKSkge1xyXG4gICAgICBvYnMucHVzaChcclxuICAgICAgICB0aGlzLmZldGNoRGF0YShzdGFydFBhZ2VObykucGlwZSh0YXAoZGF0YSA9PiB7XHJcbiAgICAgICAgICB0aGlzLnVwZGF0ZURhdGFCeUluZGV4KHN0YXJ0UGFnZU5vICogdGhpcy5wYWdlU2l6ZSwgZGF0YSk7XHJcbiAgICAgICAgICB0aGlzLnBhZ2VGZXRjaGVkLnB1c2goc3RhcnRQYWdlTm8pO1xyXG4gICAgICAgIH0pKVxyXG4gICAgICApO1xyXG4gICAgfVxyXG5cclxuICAgIGlmIChzdGFydFBhZ2VObyAhPSBlbmRQYWdlTm8gJiYgIXRoaXMucGFnZUZldGNoZWQuaW5jbHVkZXMoZW5kUGFnZU5vKSkge1xyXG4gICAgICBvYnMucHVzaChcclxuICAgICAgICB0aGlzLmZldGNoRGF0YShlbmRQYWdlTm8pLnBpcGUodGFwKGRhdGEgPT4ge1xyXG4gICAgICAgICAgdGhpcy51cGRhdGVEYXRhQnlJbmRleChlbmRQYWdlTm8gKiB0aGlzLnBhZ2VTaXplLCBkYXRhKTtcclxuICAgICAgICAgIHRoaXMucGFnZUZldGNoZWQucHVzaChlbmRQYWdlTm8pO1xyXG4gICAgICAgIH0pKVxyXG4gICAgICApO1xyXG4gICAgfVxyXG5cclxuICAgIGlmIChvYnMubGVuZ3RoID4gMCkge1xyXG4gICAgICBmb3JrSm9pbihvYnMpLnBpcGUodGFwKHJlcyA9PiB7XHJcbiAgICAgICAgdGhpcy51cGRhdGVWaWV3UG9ydERhdGEoKTtcclxuICAgICAgfSkpLnN1YnNjcmliZSgpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBmZXRjaERhdGEocGFnZU5vKTogT2JzZXJ2YWJsZTxhbnk+IHtcclxuICAgIGlmICh0aGlzLmRhdGEuT25TY3JvbGwgJiYgdHlwZW9mIHRoaXMuZGF0YS5PblNjcm9sbCA9PSAnc3RyaW5nJyAmJiB0aGlzLmRhdGEuT25TY3JvbGwuc3RhcnRzV2l0aCgnZ3JvdXAuJykpIHtcclxuICAgICAgY29uc3Qgb25TY3JvbGxFdmVudCA9IFpDb21wb25lbnRIZWxwZXIuZ2V0R3JvdXBFdmFsVmFsdWUuY2FsbCh0aGlzLCB0aGlzLmRhdGEuT25TY3JvbGwpO1xyXG4gICAgICBpZiAodHlwZW9mIG9uU2Nyb2xsRXZlbnQgPT09ICdmdW5jdGlvbicpIHtcclxuICAgICAgICBjb25zdCBjYWxsRnVuYyA9IG9uU2Nyb2xsRXZlbnQuYmluZCh0aGlzLmdyb3VwLmN0cmxTY29wZSk7XHJcbiAgICAgICAgcmV0dXJuIGNhbGxGdW5jKHRoaXMuZ3JvdXAsIHsgcGFnZU5vOiBwYWdlTm8sIHBhZ2VTaXplOiB0aGlzLnBhZ2VTaXplIH0pO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIG9mKGZhbHNlKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgdXBkYXRlRGF0YUJ5SW5kZXgoc3RhcnRpbmdJbmRleDogbnVtYmVyLCBkYXRhOiBBcnJheTxhbnk+KSB7XHJcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IGRhdGEubGVuZ3RoOyBpKyspIHtcclxuICAgICAgdGhpcy5kYXRhSXRlbXNbc3RhcnRpbmdJbmRleCArIGldID0gZGF0YVtpXTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByaXZhdGUgdXBkYXRlVmlld1BvcnREYXRhKCkge1xyXG4gICAgdGhpcy5kYXRhSXRlbXMgPSBbLi4udGhpcy5kYXRhSXRlbXNdO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHNldHVwRm9vdGVyKCkge1xyXG4gICAgaWYgKHRoaXMuZGF0YS5WYWx1ZSAmJiBBcnJheS5pc0FycmF5KHRoaXMuZGF0YS5WYWx1ZSkpIHtcclxuICAgICAgdGhpcy5mb290ZXJGaWVsZHMgPSB0aGlzLmRhdGEuVmFsdWUuZmlsdGVyKHggPT4geC5TZWN0aW9uID09PSAnZm9vdGVyJyk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvLyNyZWdpb24gR3JvdXAgQnlcclxuICBwdWJsaWMgZ2V0R3JvdXBCeUxhYmVsVGVtcGxhdGUoZGF0YUl0ZW0sIG9wdGlvbnMpOiBzdHJpbmcge1xyXG4gICAgaWYgKG9wdGlvbnMuZ3JvdXBCeUxhYmVsVGVtcGxhdGUgJiYgdHlwZW9mIG9wdGlvbnMuZ3JvdXBCeUxhYmVsVGVtcGxhdGUgPT0gJ3N0cmluZycpIHtcclxuICAgICAgaWYgKG9wdGlvbnMuZ3JvdXBCeUxhYmVsVGVtcGxhdGUuc3RhcnRzV2l0aCgnZ3JvdXAuJykpIHtcclxuICAgICAgICBjb25zdCBnZXRUZW1wbGF0ZUZ1bmMgPSBaQ29tcG9uZW50SGVscGVyLmdldEdyb3VwRXZhbFZhbHVlLmNhbGwodGhpcywgb3B0aW9ucy5ncm91cEJ5TGFiZWxUZW1wbGF0ZSk7XHJcblxyXG4gICAgICAgIGlmIChnZXRUZW1wbGF0ZUZ1bmMpIHtcclxuICAgICAgICAgIHJldHVybiBnZXRUZW1wbGF0ZUZ1bmMoe1xyXG4gICAgICAgICAgICBkYXRhSXRlbSxcclxuICAgICAgICAgICAgb3B0aW9ucyxcclxuICAgICAgICAgIH0pO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgICBlbHNlIHtcclxuICAgICAgICByZXR1cm4gZGF0YUl0ZW1bb3B0aW9ucy5ncm91cEJ5TGFiZWxUZW1wbGF0ZV07XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIHB1YmxpYyBncm91cEJ5T25DbGljayhncm91cEJ5VmFsdWU6IHN0cmluZykge1xyXG4gICAgaWYgKCF0aGlzLm9wdGlvbnMuaXNHcm91cEJ5Q29sbGFwc2libGUpIHtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG5cclxuICAgIC8vIHVzZSBjb2xsYXBzZSAvIGV4cGFuZCB0byBjb250cm9sIGFuaW1hdGlvbiBzZXF1ZW5jZVxyXG4gICAgY29uc3QgaXNUb0NvbGxhcHNlID0gIXRoaXMuY29sbGFwc2VkR3JvdXBCeS5pbmNsdWRlcyhncm91cEJ5VmFsdWUpO1xyXG5cclxuICAgIGNvbnN0IGZpcnN0Tm9kZUluZGV4ID0gdGhpcy5mdWxsRGF0YUl0ZW1zLm1hcCh4ID0+IHhbdGhpcy5vcHRpb25zLmdyb3VwQnldKS5pbmRleE9mKGdyb3VwQnlWYWx1ZSk7XHJcbiAgICBpZiAoaXNUb0NvbGxhcHNlKSB7XHJcbiAgICAgIC8vIHRvIGNvbGxhcHNlIChGb3IgYW5pbWF0aW9uOiBDaGFuZ2Ugc3RhdHVzLCB0aGVuIGFwcGVuZCBkYXRhKVxyXG4gICAgICB0aGlzLmNvbGxhcHNlZEdyb3VwQnkucHVzaChncm91cEJ5VmFsdWUpO1xyXG4gICAgICB0aGlzLmNvbGxhcHNlZEdyb3VwQnlfRmlyc3ROb2RlSW5kZXhMaXN0LnB1c2goZmlyc3ROb2RlSW5kZXgpO1xyXG4gICAgICBvZih7fSkucGlwZShkZWxheSg0MDApLFxyXG4gICAgICAgIHRhcCgoKSA9PiB0aGlzLmNvbXB1dGVEYXRhSXRlbXMoKSlcclxuICAgICAgKS5zdWJzY3JpYmUoKTtcclxuICAgIH1cclxuICAgIGVsc2Uge1xyXG4gICAgICAvLyB0byBleHBhbmQgKEZvciBhbmltYXRpb246IEFwcGVuZCBkYXRhLCB0aGVuIGNoYW5nZSBzdGF0dXMpXHJcbiAgICAgIHRoaXMuY29sbGFwc2VkR3JvdXBCeV9GaXJzdE5vZGVJbmRleExpc3QgPSB0aGlzLmNvbGxhcHNlZEdyb3VwQnlfRmlyc3ROb2RlSW5kZXhMaXN0LmZpbHRlcih4ID0+IHggIT0gZmlyc3ROb2RlSW5kZXgpO1xyXG4gICAgICBjb25zdCB0ZW1wQ29sbGFwc2VkR3JvdXBCeSA9IHRoaXMuY29sbGFwc2VkR3JvdXBCeS5maWx0ZXIoeCA9PiB4ICE9PSBncm91cEJ5VmFsdWUpO1xyXG4gICAgICB0aGlzLmRhdGFJdGVtcyA9IHRoaXMuZnVsbERhdGFJdGVtcy5maWx0ZXIoKHgsIGluZGV4KSA9PiAhdGVtcENvbGxhcHNlZEdyb3VwQnkuaW5jbHVkZXMoeFt0aGlzLm9wdGlvbnMuZ3JvdXBCeV0pIHx8IHRoaXMuY29sbGFwc2VkR3JvdXBCeV9GaXJzdE5vZGVJbmRleExpc3QuaW5jbHVkZXMoaW5kZXgpKTtcclxuICAgICAgdGhpcy5ncm91cEJ5VmFsdWVUb0V4cGFuZCA9IGdyb3VwQnlWYWx1ZTtcclxuICAgICAgb2Yoe30pLnBpcGUoZGVsYXkoMCksXHJcbiAgICAgICAgdGFwKCgpID0+IHtcclxuICAgICAgICAgIHRoaXMuY29sbGFwc2VkR3JvdXBCeSA9IHRlbXBDb2xsYXBzZWRHcm91cEJ5O1xyXG4gICAgICAgICAgdGhpcy5ncm91cEJ5VmFsdWVUb0V4cGFuZCA9IGdyb3VwQnlWYWx1ZTtcclxuICAgICAgICB9KVxyXG4gICAgICApLnN1YnNjcmliZSgpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBjb21wdXRlRGF0YUl0ZW1zKCkge1xyXG4gICAgdGhpcy5kYXRhSXRlbXMgPSB0aGlzLmZ1bGxEYXRhSXRlbXMuZmlsdGVyKCh4LCBpbmRleCkgPT4gIXRoaXMuY29sbGFwc2VkR3JvdXBCeS5pbmNsdWRlcyh4W3RoaXMub3B0aW9ucy5ncm91cEJ5XSkgfHwgdGhpcy5jb2xsYXBzZWRHcm91cEJ5X0ZpcnN0Tm9kZUluZGV4TGlzdC5pbmNsdWRlcyhpbmRleCkpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGV4cGFuZEFsbCgpIHtcclxuICAgIHRoaXMuY29sbGFwc2VkR3JvdXBCeSA9IFtdO1xyXG4gICAgdGhpcy5jb21wdXRlRGF0YUl0ZW1zKCk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZXhwYW5kQnlHcm91cEJ5VmFsdWVzKGdyb3VwQnlWYWx1ZTogQXJyYXk8c3RyaW5nPikge1xyXG4gICAgdGhpcy5jb2xsYXBzZWRHcm91cEJ5ID0gdGhpcy5jb2xsYXBzZWRHcm91cEJ5LmZpbHRlcih4ID0+ICFncm91cEJ5VmFsdWUuaW5jbHVkZXMoeCkpO1xyXG4gICAgdGhpcy5jb21wdXRlRGF0YUl0ZW1zKCk7XHJcbiAgfVxyXG4gIC8vI2VuZHJlZ2lvblxyXG59XHJcbiIsIjxkaXZcclxuICAqbmdJZj1cIighIWNvbXBvbmVudFByb3BlcnRpZXMuaXNWaXNpYmxlRmllbGQgPyBncm91cFtjb21wb25lbnRQcm9wZXJ0aWVzLmlzVmlzaWJsZUZpZWxkXSA6IGNvbXBvbmVudFByb3BlcnRpZXMuaXNWaXNpYmxlKVwiXHJcbiAgY2xhc3M9XCJjb250YWluZXIgZTF0YWctY29udGFpbmVyLXN0eWxlXCIgW3N0eWxlXT1cImNvbXBvbmVudFByb3BlcnRpZXMuY29udGFpbmVyU3R5bGUuc3R5bGVcIlxyXG4gIFtuZ0NsYXNzXT1cIihkYXRhLkNvbXBvbmVudFN0eWxlVHlwZSB8fCAnJykgKyAnICcgKyAoZGF0YS5DbGFzcyB8fCAnJylcIj5cclxuICA8Y2RrLXZpcnR1YWwtc2Nyb2xsLXZpZXdwb3J0IFtpdGVtU2l6ZV09XCJvcHRpb25zLml0ZW1TaXplXCIgW3N0eWxlXT1cImNvbXBvbmVudFByb3BlcnRpZXMuY29udGFpbmVyU3R5bGUuc3R5bGUxXCJcclxuICAgIGNsYXNzPVwidmlydHVhbC1zY3JvbGwtdmlld3BvcnQgZTF0YWctY29udGFpbmVyLXN0eWxlMVwiIFttaW5CdWZmZXJQeF09XCJvcHRpb25zLm1pbkJ1ZmZlclB4XCJcclxuICAgIFttYXhCdWZmZXJQeF09XCJvcHRpb25zLm1heEJ1ZmZlclB4XCI+XHJcbiAgICA8IS0tIDxuZy1jb250YWluZXIgKmNka1ZpcnR1YWxGb3I9XCJsZXQgZmllbGQgb2YgY2xvbmVkRmllbGRzXCI+IC0tPlxyXG4gICAgPG5nLWNvbnRhaW5lciAqY2RrVmlydHVhbEZvcj1cImxldCBkYXRhSXRlbSBvZiBkYXRhSXRlbXM7IGxldCBpID0gaW5kZXhcIj5cclxuICAgICAgPGRpdiBjbGFzcz1cInZpcnR1YWwtc2Nyb2xsLWdyb3VwYnkgZTF0YWctY29udGFpbmVyLXN0eWxlNFwiIFtzdHlsZV09XCJjb21wb25lbnRQcm9wZXJ0aWVzLmNvbnRhaW5lclN0eWxlLnN0eWxlNFwiXHJcbiAgICAgICAgKm5nSWY9XCJvcHRpb25zLmdyb3VwQnkgJiYgKCFkYXRhSXRlbXNbaS0xXSB8fCBkYXRhSXRlbVtvcHRpb25zLmdyb3VwQnldICE9PSBkYXRhSXRlbXNbaS0xXVtvcHRpb25zLmdyb3VwQnldKVwiXHJcbiAgICAgICAgKGNsaWNrKT1cImdyb3VwQnlPbkNsaWNrKGRhdGFJdGVtW29wdGlvbnMuZ3JvdXBCeV0pXCIgW2NsYXNzLmdyb3VwYnktY29sbGFwc2libGVdPVwib3B0aW9ucy5pc0dyb3VwQnlDb2xsYXBzaWJsZVwiPlxyXG4gICAgICAgIDxmYS1pY29uIGNsYXNzPVwidmlydHVhbC1zY3JvbGwtZ3JvdXBieS1hcnJvdy1pY29uIGUxdGFnLWNvbnRhaW5lci1zdHlsZTVcIlxyXG4gICAgICAgICAgW3N0eWxlXT1cImNvbXBvbmVudFByb3BlcnRpZXMuY29udGFpbmVyU3R5bGUuc3R5bGU1XCIgKm5nSWY9XCIhIW9wdGlvbnMuaXNHcm91cEJ5Q29sbGFwc2libGVcIlxyXG4gICAgICAgICAgW2ljb25dPVwiZ2V0Rm9udEF3ZXNvbWUoJ2NhcmV0LWRvd24nLCBmb250QXdlU29tZVNlcnZpY2UpXCJcclxuICAgICAgICAgIFtAcm90YXRlQW5pbWF0aW9uXT1cInt2YWx1ZTogY29sbGFwc2VkR3JvdXBCeS5pbmNsdWRlcyhkYXRhSXRlbVtvcHRpb25zLmdyb3VwQnldKSA/ICdyb3RhdGUnIDogJ2RlZmF1bHQnLCBwYXJhbXM6IHtkZWdyZWU6IC05MH19XCI+XHJcbiAgICAgICAgPC9mYS1pY29uPlxyXG4gICAgICAgIDxzcGFuIGNsYXNzPVwidmlydHVhbC1zY3JvbGwtZ3JvdXBieS1sYWJlbCBlMXRhZy1jb250YWluZXItc3R5bGU2XCJcclxuICAgICAgICAgIFtzdHlsZV09XCJjb21wb25lbnRQcm9wZXJ0aWVzLmNvbnRhaW5lclN0eWxlLnN0eWxlNlwiPlxyXG4gICAgICAgICAge3tvcHRpb25zLmdyb3VwQnlMYWJlbFRlbXBsYXRlID8gZ2V0R3JvdXBCeUxhYmVsVGVtcGxhdGUoZGF0YUl0ZW0sIG9wdGlvbnMpIDogZGF0YUl0ZW1bb3B0aW9ucy5ncm91cEJ5XX19XHJcbiAgICAgICAgPC9zcGFuPlxyXG4gICAgICA8L2Rpdj5cclxuICAgICAgPGRpdiBbc3R5bGUuaGVpZ2h0LnB4XT1cIm9wdGlvbnMuaXRlbVNpemVcIiBbc3R5bGUubWluLWhlaWdodC5weF09XCJvcHRpb25zLml0ZW1TaXplXCJcclxuICAgICAgICBbc3R5bGUubWF4LWhlaWdodC5weF09XCJvcHRpb25zLml0ZW1TaXplXCIgW3N0eWxlXT1cImNvbXBvbmVudFByb3BlcnRpZXMuY29udGFpbmVyU3R5bGUuc3R5bGUyXCJcclxuICAgICAgICBjbGFzcz1cImUxdGFnLWNvbnRhaW5lci1zdHlsZTIgdmlydHVhbC1zY3JvbGwtZGF0YWl0ZW1cIiAoY2xpY2spPVwib25DbGljaygkZXZlbnQsIGRhdGFJdGVtKVwiXHJcbiAgICAgICAgW2lkXT1cImRhdGEuTmFtZSArICdfJyArIGRhdGFJdGVtPy5WYWx1ZT8uSWQgfHwgJydcIlxyXG4gICAgICAgIFtAY29sbGFwc2VBbmltYXRpb25dPVwie3ZhbHVlOiAhIW9wdGlvbnMuZ3JvdXBCeSAmJiBjb2xsYXBzZWRHcm91cEJ5LmluY2x1ZGVzKGRhdGFJdGVtW29wdGlvbnMuZ3JvdXBCeV0pID8gJ2NvbGxhcHNlJyA6ICdkZWZhdWx0J31cIlxyXG4gICAgICAgIFtjbGFzcy5ncm91cGJ5LXZhbHVlLWV4cGFuZF09XCJncm91cEJ5VmFsdWVUb0V4cGFuZCA9PSAoZGF0YUl0ZW1bb3B0aW9ucy5ncm91cEJ5XSlcIj5cclxuICAgICAgICA8ZGl2ICpuZ0lmPVwiIWRhdGFJdGVtXCIgW2lubmVySFRNTF09XCJvcHRpb25zLmxvYWRpbmdMYWJlbCB8IGh0bWxTYW5pdGl6ZVwiPjwvZGl2PlxyXG4gICAgICAgIDxkaXYgKm5nSWY9XCJkYXRhSXRlbS5MYWJlbFwiIFtpbm5lckhUTUxdPVwiZGF0YUl0ZW0uTGFiZWwgfCBodG1sU2FuaXRpemVcIj48L2Rpdj5cclxuICAgICAgPC9kaXY+XHJcbiAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgIDxhcHAtemZvcm1jb250cm9sICpuZ0Zvcj1cImxldCBmaWVsZCBvZiBmb290ZXJGaWVsZHNcIiBbZmllbGRdPVwiZmllbGRcIiBbY29udGFpbmVyRmllbGRdPVwiZGF0YVwiIFtncm91cF09XCJncm91cFwiXHJcbiAgICAgIFtmb3JtXT1cImZvcm1cIiBbc3R5bGVdPVwiY29tcG9uZW50UHJvcGVydGllcy5jb250YWluZXJTdHlsZS5zdHlsZTNcIiBjbGFzcz1cImUxdGFnLWNvbnRhaW5lci1zdHlsZTNcIj5cclxuICAgIDwvYXBwLXpmb3JtY29udHJvbD5cclxuICA8L2Nkay12aXJ0dWFsLXNjcm9sbC12aWV3cG9ydD5cclxuPC9kaXY+XHJcbiJdfQ==
231
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmlydHVhbC1zY3JvbGwuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbW1oZ2xvYmFsLWR5bmFtaWNmb3JtL3NyYy9saWIvdmlydHVhbC1zY3JvbGwvdmlydHVhbC1zY3JvbGwuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbW1oZ2xvYmFsLWR5bmFtaWNmb3JtL3NyYy9saWIvdmlydHVhbC1zY3JvbGwvdmlydHVhbC1zY3JvbGwuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsK0JBQStCO0FBQy9CLE9BQU8sRUFBRSxTQUFTLEVBQVUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTdELDZCQUE2QjtBQUU3Qiw4QkFBOEI7QUFFOUIsMkNBQTJDO0FBQzNDLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDRDQUE0QyxDQUFDO0FBRWhGLE9BQU8sRUFBc0UsZ0JBQWdCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUN2SCxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUNsRSxPQUFPLEVBQWMsU0FBUyxFQUFFLEtBQUssRUFBRSxRQUFRLEVBQUUsRUFBRSxFQUFFLEdBQUcsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUN2RSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsZUFBZSxFQUFFLE1BQU0sb0NBQW9DLENBQUM7Ozs7Ozs7Ozs7QUFZeEYsMEdBQTBHO0FBQzFHLDRHQUE0RztBQUU1RyxNQUFNLE9BQU8sc0JBQXVCLFNBQVEsa0JBQWtCO0lBWTVELFlBQ0UsZ0JBQW1DLEVBQzVCLGtCQUFzQztRQUU3QyxLQUFLLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztRQUZqQix1QkFBa0IsR0FBbEIsa0JBQWtCLENBQW9CO1FBWnhDLHFCQUFnQixHQUFHLEVBQUUsQ0FBQyxDQUFDLGtDQUFrQztRQUN6RCx5QkFBb0IsR0FBRyxF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InNvdXJjZXNDb250ZW50IjpbIi8qKioqKioqKioqIEFuZ3VsYXIgKioqKioqKioqKi9cclxuaW1wb3J0IHsgQ29tcG9uZW50LCBPbkluaXQsIFZpZXdDaGlsZCB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcblxyXG4vKioqKioqKioqKiBJb25pYyAqKioqKioqKioqL1xyXG5cclxuLyoqKioqKioqKiogUGx1Z2luICoqKioqKioqKiovXHJcblxyXG4vKioqKioqKioqKiBDb21wb25lbnQgJiBTZXJ2aWNlICoqKioqKioqKiovXHJcbmltcG9ydCB7IENvbnRhaW5lckZpZWxkQmFzZSB9IGZyb20gXCIuLi9jb21wb25lbnRzL2NvbnRhaW5lcmZpZWxkYmFzZS5jb21wb25lbnRcIjtcclxuaW1wb3J0IHsgWkNvbXBvbmVudFNlcnZpY2UgfSBmcm9tIFwiLi4vc2VydmljZXMvemNvbXBvbmVudC5zZXJ2aWNlXCI7XHJcbmltcG9ydCB7IERhdGFTZXRSZXN1bHQsIEZvbnRBd2VTb21lU2VydmljZSwgVmlydHVhbFNjcm9sbE9wdGlvbiwgWkNvbXBvbmVudCwgWkNvbXBvbmVudEhlbHBlciB9IGZyb20gXCJtbWhnbG9iYWwtemNvcmVcIjtcclxuaW1wb3J0IHsgQ2RrVmlydHVhbFNjcm9sbFZpZXdwb3J0IH0gZnJvbSBcIkBhbmd1bGFyL2Nkay9zY3JvbGxpbmdcIjtcclxuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgYXVkaXRUaW1lLCBkZWxheSwgZm9ya0pvaW4sIG9mLCB0YXAgfSBmcm9tIFwicnhqc1wiO1xyXG5pbXBvcnQgeyBjb2xsYXBzZUFuaW1hdGlvbiwgcm90YXRlQW5pbWF0aW9uIH0gZnJvbSBcIi4uL2FuaW1hdGlvbnMvY29tcG9uZW50LWFuaW1hdGlvbnNcIjtcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiBcImFwcC12aXJ0dWFsLXNjcm9sbFwiLFxyXG4gIHRlbXBsYXRlVXJsOiBcIi4vdmlydHVhbC1zY3JvbGwuY29tcG9uZW50Lmh0bWxcIixcclxuICBzdHlsZVVybHM6IFtcIi4vdmlydHVhbC1zY3JvbGwuY29tcG9uZW50LnNjc3NcIl0sXHJcbiAgYW5pbWF0aW9uczogW1xyXG4gICAgY29sbGFwc2VBbmltYXRpb24sXHJcbiAgICByb3RhdGVBbmltYXRpb25cclxuICBdXHJcbn0pXHJcblxyXG4vLyBBcHByb2FjaCAxOiBUb3RhbCBDb3VudCBpcyBrbm93biwgZ2V0IG5leHQgcGFnZSB1cG9uIHNjcm9sbC4gKFdpbGwgb25seSBoYXZlIG11bHRpcGxlIHBhZ2VzIC8gcGFnZWFibGUpXHJcbi8vIEFwcHJvYWNoIDI6IFRvdGFsIENvdW50IGlzIG5vdCBrbm93biwgYXBwZW5kIG1vcmUgZGF0YSBhdCBydW50aW1lLiAoV2lsbCBvbmx5IGhhdmUgMSBwYWdlIC8gbm90IHBhZ2VhYmxlKVxyXG5cclxuZXhwb3J0IGNsYXNzIFZpcnR1YWxTY3JvbGxDb21wb25lbnQgZXh0ZW5kcyBDb250YWluZXJGaWVsZEJhc2UgaW1wbGVtZW50cyBaQ29tcG9uZW50LCBPbkluaXQge1xyXG4gIEBWaWV3Q2hpbGQoQ2RrVmlydHVhbFNjcm9sbFZpZXdwb3J0KSB2aWV3UG9ydDogQ2RrVmlydHVhbFNjcm9sbFZpZXdwb3J0O1xyXG4gIHB1YmxpYyBjb2xsYXBzZWRHcm91cEJ5ID0gW107IC8vIFVzZWQgdG8gZGVmaW5lIGFuaW1hdGlvbiBzdGF0dXNcclxuICBwdWJsaWMgZ3JvdXBCeVZhbHVlVG9FeHBhbmQgPSAnJzsgIC8vIFVzZWQgdG8gZGVmaW5lIGFuaW1hdGlvbiBzdGF0dXNcclxuICBwdWJsaWMgY29sbGFwc2VkR3JvdXBCeV9GaXJzdE5vZGVJbmRleExpc3QgPSBuZXcgQXJyYXk8bnVtYmVyPigpOyAvLyBXaGVuIGNvbGxhcHNlLCBuZWVkIHRvIHJldGFpbiB0aGUgZmlyc3Qgbm9kZSBpbiB0aGUgbGlzdCBzbyB0aGF0IHRoZSBncm91cCBieSB0aXRsZSB3aWxsIG5vdCBiZSBoaWRkZW5cclxuICBwcml2YXRlIGZ1bGxEYXRhSXRlbXMgPSBbXTtcclxuICBwdWJsaWMgZGF0YUl0ZW1zOiBBcnJheTxhbnk+ID0gW107XHJcbiAgcHVibGljIHBhZ2VTaXplID0gNTA7XHJcbiAgcHVibGljIHBhZ2VGZXRjaGVkID0gW107XHJcbiAgcHVibGljIG9wdGlvbnM6IFZpcnR1YWxTY3JvbGxPcHRpb247XHJcbiAgcHVibGljIGZvb3RlckZpZWxkcyA9IFtdO1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIGNvbXBvbmVudFNlcnZpY2U6IFpDb21wb25lbnRTZXJ2aWNlLFxyXG4gICAgcHVibGljIGZvbnRBd2VTb21lU2VydmljZTogRm9udEF3ZVNvbWVTZXJ2aWNlXHJcbiAgKSB7XHJcbiAgICBzdXBlcihjb21wb25lbnRTZXJ2aWNlKTtcclxuICB9XHJcblxyXG4gIG5nT25Jbml0KCkge1xyXG4gICAgdGhpcy5zZXR1cENvbXBvbmVudCgpO1xyXG4gICAgdGhpcy5zZXR1cERhdGFJdGVtcygpO1xyXG4gICAgdGhpcy5zZXR1cEZvb3RlcigpO1xyXG4gICAgc3VwZXIuaW5pdENvbXBvbmVudCgpLnN1YnNjcmliZSgpO1xyXG4gIH1cclxuXHJcbiAgbmdBZnRlclZpZXdJbml0KCkge1xyXG4gICAgdGhpcy5jb21wb25lbnRTZXJ2aWNlLmRlY3JlbWVudENvbXBvbmVudENvdW50ZXJGb3JGaWVsZCh0aGlzLmRhdGEpO1xyXG4gICAgdGhpcy52aWV3UG9ydC5zY3JvbGxlZEluZGV4Q2hhbmdlLnBpcGUoXHJcbiAgICAgIGF1ZGl0VGltZSh0aGlzLmRhdGEuU2Nyb2xsSW5kZXhDaGFuZ2VUaW1lRGVsYXkgfHwgMzAwKSxcclxuICAgICAgdGFwKChjdXJySW5kZXg6IG51bWJlcikgPT4ge1xyXG4gICAgICAgIHRoaXMucG9wdWxhdGVMaXN0RGF0YShjdXJySW5kZXgpO1xyXG4gICAgICB9KVxyXG4gICAgKS5zdWJzY3JpYmUoKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBzY3JvbGxUb1RvcCgpIHtcclxuICAgIGlmICh0aGlzLnZpZXdQb3J0KSB7XHJcbiAgICAgIHRoaXMudmlld1BvcnQuc2Nyb2xsVG9JbmRleCgwKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByaXZhdGUgc2V0dXBDb21wb25lbnQoKSB7XHJcbiAgICB0aGlzLmNvbGxhcHNlZEdyb3VwQnkgPSBbXTtcclxuICAgIGlmICh0aGlzLmRhdGEuT3B0aW9ucykge1xyXG4gICAgICBpZiAodHlwZW9mIHRoaXMuZGF0YS5PcHRpb25zID09PSAnc3RyaW5nJyAmJiB0aGlzLmRhdGEuT3B0aW9ucy5zdGFydHNXaXRoKCdncm91cC4nKSkge1xyXG4gICAgICAgIHRoaXMub3B0aW9ucyA9IFpDb21wb25lbnRIZWxwZXIuZ2V0R3JvdXBWYWx1ZSh0aGlzLmRhdGEuT3B0aW9ucywgdGhpcy5ncm91cCk7XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgdGhpcy5vcHRpb25zID0gdGhpcy5kYXRhLk9wdGlvbnM7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIHRoaXMucGFnZVNpemUgPSB0aGlzLm9wdGlvbnMucGFnZVNpemUgPz8gNTA7XHJcbiAgICAgIHRoaXMub3B0aW9ucy5sb2FkaW5nTGFiZWwgPSB0aGlzLm9wdGlvbnMubG9hZGluZ0xhYmVsID8/ICc8ZGl2PkxvYWRpbmc8L2Rpdj4nO1xyXG4gICAgICB0aGlzLm9wdGlvbnMuaXRlbVNpemUgPSB0aGlzLm9wdGlvbnMuaXRlbVNpemUgPz8gNTA7XHJcbiAgICAgIHRoaXMub3B0aW9ucy5taW5CdWZmZXJQeCA9IHRoaXMub3B0aW9ucy5taW5CdWZmZXJQeCA/PyAodGhpcy5vcHRpb25zLnBhZ2VTaXplICogdGhpcy5vcHRpb25zLml0ZW1TaXplKTtcclxuICAgICAgdGhpcy5vcHRpb25zLm1heEJ1ZmZlclB4ID0gdGhpcy5vcHRpb25zLm1heEJ1ZmZlclB4ID8/ICh0aGlzLm9wdGlvbnMucGFnZVNpemUgKiB0aGlzLm9wdGlvbnMuaXRlbVNpemUpO1xyXG4gICAgICB0aGlzLm9wdGlvbnMuaXNHcm91cEJ5RW5hYmxlZCA9IHRoaXMub3B0aW9ucy5pc0dyb3VwQnlFbmFibGVkID8/ICEhdGhpcy5vcHRpb25zLmdyb3VwQnk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgYXBwZW5kRGF0YShkYXRhSXRlbXM6IEFycmF5PGFueT4pIHtcclxuICAgIHRoaXMuZnVsbERhdGFJdGVtcyA9IHRoaXMuZnVsbERhdGFJdGVtcy5jb25jYXQoZGF0YUl0ZW1zKTtcclxuICAgIHRoaXMucGFnZVNpemUgPSB0aGlzLmZ1bGxEYXRhSXRlbXMubGVuZ3RoO1xyXG4gICAgdGhpcy5jb21wdXRlRGF0YUl0ZW1zKCk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHNldHVwRGF0YUl0ZW1zKCkge1xyXG4gICAgdGhpcy5wYWdlRmV0Y2hlZCA9IFtdO1xyXG4gICAgaWYgKHRoaXMuZGF0YS5EYXRhU2V0UmVzdWx0KSB7XHJcbiAgICAgIGxldCBkYXRhU2V0UmVzdWx0ID0gdGhpcy5kYXRhLkRhdGFTZXRSZXN1bHQ7XHJcbiAgICAgIGlmICh0eXBlb2YgZGF0YVNldFJlc3VsdCA9PSAnc3RyaW5nJyAmJiBkYXRhU2V0UmVzdWx0LnN0YXJ0c1dpdGgoJ2dyb3VwLicpKSB7XHJcbiAgICAgICAgZGF0YVNldFJlc3VsdCA9IFpDb21wb25lbnRIZWxwZXIuZ2V0R3JvdXBWYWx1ZShkYXRhU2V0UmVzdWx0LCB0aGlzLmdyb3VwKTtcclxuICAgICAgfVxyXG4gICAgICB0aGlzLnNldERhdGEoZGF0YVNldFJlc3VsdCBhcyBEYXRhU2V0UmVzdWx0KTtcclxuICAgIH1cclxuICAgIGVsc2Uge1xyXG4gICAgICB0aGlzLmRhdGFJdGVtcyA9IFtdO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHVibGljIHNldERhdGEoZGF0YVNldFJlc3VsdDogRGF0YVNldFJlc3VsdCkge1xyXG4gICAgdGhpcy5wYWdlRmV0Y2hlZCA9IFtdO1xyXG4gICAgaWYgKGRhdGFTZXRSZXN1bHQuZGF0YVNldCAmJiBBcnJheS5pc0FycmF5KGRhdGFTZXRSZXN1bHQuZGF0YVNldCkgJiYgZGF0YVNldFJlc3VsdC5kYXRhU2V0Lmxlbmd0aCA+IDApIHtcclxuICAgICAgY29uc3QgY250ID0gZGF0YVNldFJlc3VsdC50b3RhbENvdW50IC0gZGF0YVNldFJlc3VsdC5kYXRhU2V0Lmxlbmd0aDtcclxuICAgICAgaWYgKGNudCA8IDApIHtcclxuICAgICAgICBjb25zb2xlLmVycm9yKCdEYXRhSXRlbXMgY2Fubm90IGJlIG1vcmUgdGhhbiB0b3RhbCBjb3VudC4nKTtcclxuICAgICAgICByZXR1cm47XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIHRoaXMuZGF0YUl0ZW1zID0gZGF0YVNldFJlc3VsdC5kYXRhU2V0LmNvbmNhdChBcnJheShjbnQpLmZpbGwoZmFsc2UpKTtcclxuICAgICAgY29uc3QgcGFnZU5vVG9NYXJrQXNGZXRjaCA9IE1hdGguY2VpbChkYXRhU2V0UmVzdWx0LmRhdGFTZXQubGVuZ3RoIC8gdGhpcy5wYWdlU2l6ZSkgLSAxO1xyXG4gICAgICBmb3IgKGxldCBpID0gMDsgaSA8PSBwYWdlTm9Ub01hcmtBc0ZldGNoOyBpKyspIHtcclxuICAgICAgICB0aGlzLnBhZ2VGZXRjaGVkLnB1c2goaSk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIGVsc2UgaWYgKGRhdGFTZXRSZXN1bHQudG90YWxDb3VudCkge1xyXG4gICAgICB0aGlzLmRhdGFJdGVtcyA9IEFycmF5KGRhdGFTZXRSZXN1bHQudG90YWxDb3VudCkuZmlsbChmYWxzZSk7XHJcbiAgICB9XHJcbiAgICBlbHNlIHtcclxuICAgICAgdGhpcy5kYXRhSXRlbXMgPSBbXTtcclxuICAgIH1cclxuICAgIHRoaXMuZnVsbERhdGFJdGVtcyA9IHRoaXMuZGF0YUl0ZW1zO1xyXG4gICAgdGhpcy5jb21wdXRlRGF0YUl0ZW1zKCk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHBvcHVsYXRlTGlzdERhdGEoY3VyckluZGV4OiBudW1iZXIpIHtcclxuICAgIGNvbnN0IHJlbmRlclJhbmdlID0gdGhpcy52aWV3UG9ydC5nZXRSZW5kZXJlZFJhbmdlKCk7XHJcbiAgICBpZiAocmVuZGVyUmFuZ2Uuc3RhcnQgPT0gcmVuZGVyUmFuZ2UuZW5kICYmIHJlbmRlclJhbmdlLmVuZCA9PSAwKSB7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuXHJcbiAgICBjb25zdCBzdGFydFBhZ2VObyA9IE1hdGguZmxvb3IocmVuZGVyUmFuZ2Uuc3RhcnQgLyB0aGlzLnBhZ2VTaXplKTtcclxuICAgIGNvbnN0IGVuZFBhZ2VObyA9IE1hdGguZmxvb3IoKHJlbmRlclJhbmdlLmVuZCAtIDEpIC8gdGhpcy5wYWdlU2l6ZSk7XHJcblxyXG4gICAgY29uc3Qgb2JzID0gbmV3IEFycmF5PE9ic2VydmFibGU8YW55Pj4oKTtcclxuICAgIGZvciAobGV0IGkgPSBzdGFydFBhZ2VObzsgaSA8PSBlbmRQYWdlTm87IGkrKykge1xyXG4gICAgICBpZiAoIXRoaXMucGFnZUZldGNoZWQuaW5jbHVkZXMoaSkpIHtcclxuICAgICAgICB0aGlzLnBhZ2VGZXRjaGVkLnB1c2goaSk7XHJcbiAgICAgICAgb2JzLnB1c2goXHJcbiAgICAgICAgICB0aGlzLmZldGNoRGF0YShpKS5waXBlKHRhcCgoW2RhdGEsIHBhZ2VOb10pID0+IHtcclxuICAgICAgICAgICAgdGhpcy51cGRhdGVEYXRhQnlJbmRleChwYWdlTm8gKiB0aGlzLnBhZ2VTaXplLCBkYXRhKTtcclxuICAgICAgICAgIH0pKVxyXG4gICAgICAgICk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBpZiAob2JzLmxlbmd0aCA+IDApIHtcclxuICAgICAgZm9ya0pvaW4ob2JzKS5waXBlKHRhcChyZXMgPT4ge1xyXG4gICAgICAgIHRoaXMudXBkYXRlVmlld1BvcnREYXRhKCk7XHJcbiAgICAgIH0pKS5zdWJzY3JpYmUoKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByaXZhdGUgZmV0Y2hEYXRhKHBhZ2VObyk6IE9ic2VydmFibGU8YW55PiB7XHJcbiAgICBpZiAodGhpcy5kYXRhLk9uU2Nyb2xsICYmIHR5cGVvZiB0aGlzLmRhdGEuT25TY3JvbGwgPT0gJ3N0cmluZycgJiYgdGhpcy5kYXRhLk9uU2Nyb2xsLnN0YXJ0c1dpdGgoJ2dyb3VwLicpKSB7XHJcbiAgICAgIGNvbnN0IG9uU2Nyb2xsRXZlbnQgPSBaQ29tcG9uZW50SGVscGVyLmdldEdyb3VwRXZhbFZhbHVlLmNhbGwodGhpcywgdGhpcy5kYXRhLk9uU2Nyb2xsKTtcclxuICAgICAgaWYgKHR5cGVvZiBvblNjcm9sbEV2ZW50ID09PSAnZnVuY3Rpb24nKSB7XHJcbiAgICAgICAgY29uc3QgY2FsbEZ1bmMgPSBvblNjcm9sbEV2ZW50LmJpbmQodGhpcy5ncm91cC5jdHJsU2NvcGUpO1xyXG4gICAgICAgIHJldHVybiBmb3JrSm9pbihbY2FsbEZ1bmModGhpcy5ncm91cCwgeyBwYWdlTm86IHBhZ2VObywgcGFnZVNpemU6IHRoaXMucGFnZVNpemUgfSksIG9mKHBhZ2VObyldIGFzIEFycmF5PE9ic2VydmFibGU8YW55Pj4pO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIG9mKGZhbHNlKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgdXBkYXRlRGF0YUJ5SW5kZXgoc3RhcnRpbmdJbmRleDogbnVtYmVyLCBkYXRhOiBBcnJheTxhbnk+KSB7XHJcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IGRhdGEubGVuZ3RoOyBpKyspIHtcclxuICAgICAgdGhpcy5kYXRhSXRlbXNbc3RhcnRpbmdJbmRleCArIGldID0gZGF0YVtpXTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByaXZhdGUgdXBkYXRlVmlld1BvcnREYXRhKCkge1xyXG4gICAgdGhpcy5kYXRhSXRlbXMgPSBbLi4udGhpcy5kYXRhSXRlbXNdO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHNldHVwRm9vdGVyKCkge1xyXG4gICAgaWYgKHRoaXMuZGF0YS5WYWx1ZSAmJiBBcnJheS5pc0FycmF5KHRoaXMuZGF0YS5WYWx1ZSkpIHtcclxuICAgICAgdGhpcy5mb290ZXJGaWVsZHMgPSB0aGlzLmRhdGEuVmFsdWUuZmlsdGVyKHggPT4geC5TZWN0aW9uID09PSAnZm9vdGVyJyk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZ2V0Q29tcG9uZW50T3B0aW9ucygpOiBWaXJ0dWFsU2Nyb2xsT3B0aW9uIHtcclxuICAgIHJldHVybiB0aGlzLm9wdGlvbnM7XHJcbiAgfVxyXG5cclxuICAvLyNyZWdpb24gR3JvdXAgQnlcclxuICBwdWJsaWMgZ2V0R3JvdXBCeUxhYmVsVGVtcGxhdGUoZGF0YUl0ZW0sIG9wdGlvbnMpOiBzdHJpbmcge1xyXG4gICAgaWYgKG9wdGlvbnMuZ3JvdXBCeUxhYmVsVGVtcGxhdGUgJiYgdHlwZW9mIG9wdGlvbnMuZ3JvdXBCeUxhYmVsVGVtcGxhdGUgPT0gJ3N0cmluZycpIHtcclxuICAgICAgaWYgKG9wdGlvbnMuZ3JvdXBCeUxhYmVsVGVtcGxhdGUuc3RhcnRzV2l0aCgnZ3JvdXAuJykpIHtcclxuICAgICAgICBjb25zdCBnZXRUZW1wbGF0ZUZ1bmMgPSBaQ29tcG9uZW50SGVscGVyLmdldEdyb3VwRXZhbFZhbHVlLmNhbGwodGhpcywgb3B0aW9ucy5ncm91cEJ5TGFiZWxUZW1wbGF0ZSk7XHJcblxyXG4gICAgICAgIGlmIChnZXRUZW1wbGF0ZUZ1bmMpIHtcclxuICAgICAgICAgIHJldHVybiBnZXRUZW1wbGF0ZUZ1bmMoe1xyXG4gICAgICAgICAgICBkYXRhSXRlbSxcclxuICAgICAgICAgICAgb3B0aW9ucyxcclxuICAgICAgICAgIH0pO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgICBlbHNlIHtcclxuICAgICAgICByZXR1cm4gZGF0YUl0ZW1bb3B0aW9ucy5ncm91cEJ5TGFiZWxUZW1wbGF0ZV07XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIHB1YmxpYyBncm91cEJ5T25DbGljayhncm91cEJ5VmFsdWU6IHN0cmluZykge1xyXG4gICAgaWYgKCF0aGlzLm9wdGlvbnMuaXNHcm91cEJ5Q29sbGFwc2libGUpIHtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG5cclxuICAgIC8vIHVzZSBjb2xsYXBzZSAvIGV4cGFuZCB0byBjb250cm9sIGFuaW1hdGlvbiBzZXF1ZW5jZVxyXG4gICAgY29uc3QgaXNUb0NvbGxhcHNlID0gIXRoaXMuY29sbGFwc2VkR3JvdXBCeS5pbmNsdWRlcyhncm91cEJ5VmFsdWUpO1xyXG5cclxuICAgIGNvbnN0IGZpcnN0Tm9kZUluZGV4ID0gdGhpcy5mdWxsRGF0YUl0ZW1zLm1hcCh4ID0+IHhbdGhpcy5vcHRpb25zLmdyb3VwQnldKS5pbmRleE9mKGdyb3VwQnlWYWx1ZSk7XHJcbiAgICBpZiAoaXNUb0NvbGxhcHNlKSB7XHJcbiAgICAgIC8vIHRvIGNvbGxhcHNlIChGb3IgYW5pbWF0aW9uOiBDaGFuZ2Ugc3RhdHVzLCB0aGVuIGFwcGVuZCBkYXRhKVxyXG4gICAgICB0aGlzLmNvbGxhcHNlZEdyb3VwQnkucHVzaChncm91cEJ5VmFsdWUpO1xyXG4gICAgICB0aGlzLmNvbGxhcHNlZEdyb3VwQnlfRmlyc3ROb2RlSW5kZXhMaXN0LnB1c2goZmlyc3ROb2RlSW5kZXgpO1xyXG4gICAgICBvZih7fSkucGlwZShkZWxheSg0MDApLFxyXG4gICAgICAgIHRhcCgoKSA9PiB7XHJcbiAgICAgICAgICB0aGlzLmNvbXB1dGVEYXRhSXRlbXMoKTtcclxuICAgICAgICB9KVxyXG4gICAgICApLnN1YnNjcmliZSgpO1xyXG4gICAgfVxyXG4gICAgZWxzZSB7XHJcbiAgICAgIC8vIHRvIGV4cGFuZCAoRm9yIGFuaW1hdGlvbjogQXBwZW5kIGRhdGEsIHRoZW4gY2hhbmdlIHN0YXR1cylcclxuICAgICAgdGhpcy5jb2xsYXBzZWRHcm91cEJ5X0ZpcnN0Tm9kZUluZGV4TGlzdCA9IHRoaXMuY29sbGFwc2VkR3JvdXBCeV9GaXJzdE5vZGVJbmRleExpc3QuZmlsdGVyKHggPT4geCAhPSBmaXJzdE5vZGVJbmRleCk7XHJcbiAgICAgIGNvbnN0IHRlbXBDb2xsYXBzZWRHcm91cEJ5ID0gdGhpcy5jb2xsYXBzZWRHcm91cEJ5LmZpbHRlcih4ID0+IHggIT09IGdyb3VwQnlWYWx1ZSk7XHJcbiAgICAgIHRoaXMuZGF0YUl0ZW1zID0gdGhpcy5mdWxsRGF0YUl0ZW1zLmZpbHRlcigoeCwgaW5kZXgpID0+ICF0ZW1wQ29sbGFwc2VkR3JvdXBCeS5pbmNsdWRlcyh4W3RoaXMub3B0aW9ucy5ncm91cEJ5XSkgfHwgdGhpcy5jb2xsYXBzZWRHcm91cEJ5X0ZpcnN0Tm9kZUluZGV4TGlzdC5pbmNsdWRlcyhpbmRleCkpO1xyXG4gICAgICB0aGlzLmdyb3VwQnlWYWx1ZVRvRXhwYW5kID0gZ3JvdXBCeVZhbHVlO1xyXG4gICAgICBvZih7fSkucGlwZShkZWxheSgwKSxcclxuICAgICAgICB0YXAoKCkgPT4ge1xyXG4gICAgICAgICAgdGhpcy5jb2xsYXBzZWRHcm91cEJ5ID0gdGVtcENvbGxhcHNlZEdyb3VwQnk7XHJcbiAgICAgICAgICB0aGlzLmdyb3VwQnlWYWx1ZVRvRXhwYW5kID0gZ3JvdXBCeVZhbHVlO1xyXG4gICAgICAgIH0pXHJcbiAgICAgICkuc3Vic2NyaWJlKCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGNvbXB1dGVEYXRhSXRlbXMoKSB7XHJcbiAgICB0aGlzLmRhdGFJdGVtcyA9IHRoaXMuZnVsbERhdGFJdGVtcy5maWx0ZXIoKHgsIGluZGV4KSA9PiAhdGhpcy5jb2xsYXBzZWRHcm91cEJ5LmluY2x1ZGVzKHhbdGhpcy5vcHRpb25zLmdyb3VwQnldKSB8fCB0aGlzLmNvbGxhcHNlZEdyb3VwQnlfRmlyc3ROb2RlSW5kZXhMaXN0LmluY2x1ZGVzKGluZGV4KSk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZXhwYW5kQWxsKCkge1xyXG4gICAgdGhpcy5ncm91cEJ5VmFsdWVUb0V4cGFuZCA9ICcnO1xyXG4gICAgdGhpcy5jb2xsYXBzZWRHcm91cEJ5ID0gW107XHJcbiAgICB0aGlzLmNvbGxhcHNlZEdyb3VwQnlfRmlyc3ROb2RlSW5kZXhMaXN0ID0gW107XHJcbiAgICB0aGlzLmNvbXB1dGVEYXRhSXRlbXMoKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBleHBhbmRCeUdyb3VwQnlWYWx1ZXMoZ3JvdXBCeVZhbHVlOiBBcnJheTxzdHJpbmc+KSB7XHJcbiAgICB0aGlzLmNvbGxhcHNlZEdyb3VwQnkgPSB0aGlzLmNvbGxhcHNlZEdyb3VwQnkuZmlsdGVyKHggPT4gIWdyb3VwQnlWYWx1ZS5pbmNsdWRlcyh4KSk7XHJcbiAgICB0aGlzLmNvbXB1dGVEYXRhSXRlbXMoKTtcclxuICB9XHJcbiAgLy8jZW5kcmVnaW9uXHJcbn1cclxuIiwiPGRpdlxyXG4gICpuZ0lmPVwiKCEhY29tcG9uZW50UHJvcGVydGllcy5pc1Zpc2libGVGaWVsZCA/IGdyb3VwW2NvbXBvbmVudFByb3BlcnRpZXMuaXNWaXNpYmxlRmllbGRdIDogY29tcG9uZW50UHJvcGVydGllcy5pc1Zpc2libGUpXCJcclxuICBjbGFzcz1cImNvbnRhaW5lciBlMXRhZy1jb250YWluZXItc3R5bGVcIiBbc3R5bGVdPVwiY29tcG9uZW50UHJvcGVydGllcy5jb250YWluZXJTdHlsZS5zdHlsZVwiXHJcbiAgW25nQ2xhc3NdPVwiKGRhdGEuQ29tcG9uZW50U3R5bGVUeXBlIHx8ICcnKSArICcgJyArIChkYXRhLkNsYXNzIHx8ICcnKVwiPlxyXG4gIDxjZGstdmlydHVhbC1zY3JvbGwtdmlld3BvcnQgW2l0ZW1TaXplXT1cIm9wdGlvbnMuaXRlbVNpemVcIiBbc3R5bGVdPVwiY29tcG9uZW50UHJvcGVydGllcy5jb250YWluZXJTdHlsZS5zdHlsZTFcIlxyXG4gICAgY2xhc3M9XCJ2aXJ0dWFsLXNjcm9sbC12aWV3cG9ydCBlMXRhZy1jb250YWluZXItc3R5bGUxXCIgW21pbkJ1ZmZlclB4XT1cIm9wdGlvbnMubWluQnVmZmVyUHhcIlxyXG4gICAgW21heEJ1ZmZlclB4XT1cIm9wdGlvbnMubWF4QnVmZmVyUHhcIj5cclxuICAgIDwhLS0gPG5nLWNvbnRhaW5lciAqY2RrVmlydHVhbEZvcj1cImxldCBmaWVsZCBvZiBjbG9uZWRGaWVsZHNcIj4gLS0+XHJcbiAgICA8bmctY29udGFpbmVyICpjZGtWaXJ0dWFsRm9yPVwibGV0IGRhdGFJdGVtIG9mIGRhdGFJdGVtczsgbGV0IGkgPSBpbmRleFwiPlxyXG4gICAgICA8ZGl2IGNsYXNzPVwidmlydHVhbC1zY3JvbGwtZ3JvdXBieSBlMXRhZy1jb250YWluZXItc3R5bGU0XCIgW3N0eWxlXT1cImNvbXBvbmVudFByb3BlcnRpZXMuY29udGFpbmVyU3R5bGUuc3R5bGU0XCJcclxuICAgICAgICAqbmdJZj1cIm9wdGlvbnMuaXNHcm91cEJ5RW5hYmxlZCAmJiBvcHRpb25zLmdyb3VwQnkgJiYgKCFkYXRhSXRlbXNbaS0xXSB8fCBkYXRhSXRlbVtvcHRpb25zLmdyb3VwQnldICE9PSBkYXRhSXRlbXNbaS0xXVtvcHRpb25zLmdyb3VwQnldKVwiXHJcbiAgICAgICAgKGNsaWNrKT1cImdyb3VwQnlPbkNsaWNrKGRhdGFJdGVtW29wdGlvbnMuZ3JvdXBCeV0pXCIgW2NsYXNzLmdyb3VwYnktY29sbGFwc2libGVdPVwib3B0aW9ucy5pc0dyb3VwQnlDb2xsYXBzaWJsZVwiPlxyXG4gICAgICAgIDxmYS1pY29uIGNsYXNzPVwidmlydHVhbC1zY3JvbGwtZ3JvdXBieS1hcnJvdy1pY29uIGUxdGFnLWNvbnRhaW5lci1zdHlsZTVcIlxyXG4gICAgICAgICAgW3N0eWxlXT1cImNvbXBvbmVudFByb3BlcnRpZXMuY29udGFpbmVyU3R5bGUuc3R5bGU1XCIgKm5nSWY9XCIhIW9wdGlvbnMuaXNHcm91cEJ5Q29sbGFwc2libGVcIlxyXG4gICAgICAgICAgW2ljb25dPVwiZ2V0Rm9udEF3ZXNvbWUoJ2NhcmV0LWRvd24nLCBmb250QXdlU29tZVNlcnZpY2UpXCJcclxuICAgICAgICAgIFtAcm90YXRlQW5pbWF0aW9uXT1cInt2YWx1ZTogY29sbGFwc2VkR3JvdXBCeS5pbmNsdWRlcyhkYXRhSXRlbVtvcHRpb25zLmdyb3VwQnldKSA/ICdyb3RhdGUnIDogJ2RlZmF1bHQnLCBwYXJhbXM6IHtkZWdyZWU6IC05MH19XCI+XHJcbiAgICAgICAgPC9mYS1pY29uPlxyXG4gICAgICAgIDxzcGFuIGNsYXNzPVwidmlydHVhbC1zY3JvbGwtZ3JvdXBieS1sYWJlbCBlMXRhZy1jb250YWluZXItc3R5bGU2XCJcclxuICAgICAgICAgIFtzdHlsZV09XCJjb21wb25lbnRQcm9wZXJ0aWVzLmNvbnRhaW5lclN0eWxlLnN0eWxlNlwiPlxyXG4gICAgICAgICAge3tvcHRpb25zLmdyb3VwQnlMYWJlbFRlbXBsYXRlID8gZ2V0R3JvdXBCeUxhYmVsVGVtcGxhdGUoZGF0YUl0ZW0sIG9wdGlvbnMpIDogZGF0YUl0ZW1bb3B0aW9ucy5ncm91cEJ5XX19XHJcbiAgICAgICAgPC9zcGFuPlxyXG4gICAgICA8L2Rpdj5cclxuICAgICAgPGRpdiAqbmdJZj1cIiFvcHRpb25zLmlzR3JvdXBCeUVuYWJsZWRcIiBbc3R5bGUuaGVpZ2h0LnB4XT1cIm9wdGlvbnMuaXRlbVNpemVcIlxyXG4gICAgICAgIFtzdHlsZS5taW4taGVpZ2h0LnB4XT1cIm9wdGlvbnMuaXRlbVNpemVcIiBbc3R5bGUubWF4LWhlaWdodC5weF09XCJvcHRpb25zLml0ZW1TaXplXCJcclxuICAgICAgICBbc3R5bGVdPVwiY29tcG9uZW50UHJvcGVydGllcy5jb250YWluZXJTdHlsZS5zdHlsZTJcIiBjbGFzcz1cImUxdGFnLWNvbnRhaW5lci1zdHlsZTIgdmlydHVhbC1zY3JvbGwtZGF0YWl0ZW1cIlxyXG4gICAgICAgIChjbGljayk9XCJvbkNsaWNrKCRldmVudCwgZGF0YUl0ZW0pXCIgW2lkXT1cImRhdGEuTmFtZSArICdfJyArIGRhdGFJdGVtPy5WYWx1ZT8uSWQgfHwgJydcIj5cclxuICAgICAgICA8ZGl2ICpuZ0lmPVwiIWRhdGFJdGVtXCIgW2lubmVySFRNTF09XCJvcHRpb25zLmxvYWRpbmdMYWJlbCB8IGh0bWxTYW5pdGl6ZVwiPjwvZGl2PlxyXG4gICAgICAgIDxkaXYgKm5nSWY9XCJkYXRhSXRlbS5MYWJlbFwiIFtpbm5lckhUTUxdPVwiZGF0YUl0ZW0uTGFiZWwgfCBodG1sU2FuaXRpemVcIj48L2Rpdj5cclxuICAgICAgPC9kaXY+XHJcbiAgICAgIDxkaXYgKm5nSWY9XCJvcHRpb25zLmlzR3JvdXBCeUVuYWJsZWRcIiBbc3R5bGUuaGVpZ2h0LnB4XT1cIm9wdGlvbnMuaXRlbVNpemVcIlxyXG4gICAgICAgIFtzdHlsZS5taW4taGVpZ2h0LnB4XT1cIm9wdGlvbnMuaXRlbVNpemVcIiBbc3R5bGUubWF4LWhlaWdodC5weF09XCJvcHRpb25zLml0ZW1TaXplXCJcclxuICAgICAgICBbc3R5bGVdPVwiY29tcG9uZW50UHJvcGVydGllcy5jb250YWluZXJTdHlsZS5zdHlsZTJcIiBjbGFzcz1cImUxdGFnLWNvbnRhaW5lci1zdHlsZTIgdmlydHVhbC1zY3JvbGwtZGF0YWl0ZW1cIlxyXG4gICAgICAgIChjbGljayk9XCJvbkNsaWNrKCRldmVudCwgZGF0YUl0ZW0pXCIgW2lkXT1cImRhdGEuTmFtZSArICdfJyArIGRhdGFJdGVtPy5WYWx1ZT8uSWQgfHwgJydcIlxyXG4gICAgICAgIFtAY29sbGFwc2VBbmltYXRpb25dPVwie3ZhbHVlOiAhIW9wdGlvbnMuZ3JvdXBCeSAmJiBjb2xsYXBzZWRHcm91cEJ5LmluY2x1ZGVzKGRhdGFJdGVtW29wdGlvbnMuZ3JvdXBCeV0pID8gJ2NvbGxhcHNlJyA6ICdkZWZhdWx0J31cIlxyXG4gICAgICAgIFtjbGFzcy5ncm91cGJ5LXZhbHVlLWV4cGFuZF09XCJncm91cEJ5VmFsdWVUb0V4cGFuZCA9PSAoZGF0YUl0ZW1bb3B0aW9ucy5ncm91cEJ5XSlcIj5cclxuICAgICAgICA8ZGl2ICpuZ0lmPVwiIWRhdGFJdGVtXCIgW2lubmVySFRNTF09XCJvcHRpb25zLmxvYWRpbmdMYWJlbCB8IGh0bWxTYW5pdGl6ZVwiPjwvZGl2PlxyXG4gICAgICAgIDxkaXYgKm5nSWY9XCJkYXRhSXRlbS5MYWJlbFwiIFtpbm5lckhUTUxdPVwiZGF0YUl0ZW0uTGFiZWwgfCBodG1sU2FuaXRpemVcIj48L2Rpdj5cclxuICAgICAgPC9kaXY+XHJcbiAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgIDxhcHAtemZvcm1jb250cm9sICpuZ0Zvcj1cImxldCBmaWVsZCBvZiBmb290ZXJGaWVsZHNcIiBbZmllbGRdPVwiZmllbGRcIiBbY29udGFpbmVyRmllbGRdPVwiZGF0YVwiIFtncm91cF09XCJncm91cFwiXHJcbiAgICAgIFtmb3JtXT1cImZvcm1cIiBbc3R5bGVdPVwiY29tcG9uZW50UHJvcGVydGllcy5jb250YWluZXJTdHlsZS5zdHlsZTNcIiBjbGFzcz1cImUxdGFnLWNvbnRhaW5lci1zdHlsZTNcIj5cclxuICAgIDwvYXBwLXpmb3JtY29udHJvbD5cclxuICA8L2Nkay12aXJ0dWFsLXNjcm9sbC12aWV3cG9ydD5cclxuPC9kaXY+XHJcbiJdfQ==
@@ -62,7 +62,6 @@ export * from './lib/zmodal/zmodal.component';
62
62
  export * from './lib/zmodal/zmodal-mobile.component';
63
63
  export * from './lib/znumeric/znumeric.component';
64
64
  export * from './lib/zpostselectinput/zpostselectinput.component';
65
- export * from './lib/zquerybuilder/zquerybuilder.component';
66
65
  export * from './lib/zreport/zreport.component';
67
66
  export * from './lib/zscheduler/zscheduler.component';
68
67
  export * from './lib/zselectmultiple/zselectmultiple.component';
@@ -96,4 +95,4 @@ export * from './lib/zloop/zloop.component';
96
95
  export * from './lib/ksplitter/ksplitter.component';
97
96
  export * from './lib/virtual-scroll/virtual-scroll.component';
98
97
  export * from './lib/zcolorpicker/zcolorpicker.component';
99
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Byb2plY3RzL21taGdsb2JhbC1keW5hbWljZm9ybS9zcmMvcHVibGljLWFwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILCtCQUErQjtBQUMvQixjQUFjLDZCQUE2QixDQUFDO0FBQzVDLDhDQUE4QztBQUM5QyxxREFBcUQ7QUFDckQsMkRBQTJEO0FBRzNELGlDQUFpQztBQUNqQyxjQUFjLDRDQUE0QyxDQUFDO0FBQzNELGNBQWMseUNBQXlDLENBQUM7QUFDeEQsY0FBYyxxQ0FBcUMsQ0FBQztBQUNwRCxjQUFjLGlEQUFpRCxDQUFDO0FBQ2hFLGNBQWMsNkNBQTZDLENBQUM7QUFFNUQsOEJBQThCO0FBQzlCLGNBQWMsb0NBQW9DLENBQUM7QUFHbkQsNkJBQTZCO0FBQzdCLGNBQWMsaUNBQWlDLENBQUM7QUFDaEQsY0FBYyxvQ0FBb0MsQ0FBQztBQUNuRCxjQUFjLHNCQUFzQixDQUFDO0FBQ3JDLGNBQWMsc0JBQXNCLENBQUM7QUFDckMsY0FBYyw4Q0FBOEMsQ0FBQztBQUM3RCxjQUFjLDhCQUE4QixDQUFDO0FBQzdDLGNBQWMsd0NBQXdDLENBQUM7QUFDdkQsY0FBYyw0Q0FBNEMsQ0FBQztBQUMzRCxjQUFjLDRDQUE0QyxDQUFDO0FBQzNELGNBQWMsMENBQTBDLENBQUM7QUFFekQsK0NBQStDO0FBQy9DLGNBQWMsOENBQThDLENBQUM7QUFDN0QsY0FBYywrQ0FBK0MsQ0FBQztBQUc5RCxrQ0FBa0M7QUFDbEMsY0FBYyx5Q0FBeUMsQ0FBQztBQUN4RCxjQUFjLHFDQUFxQyxDQUFDO0FBQ3BELGNBQWMsbUNBQW1DLENBQUM7QUFDbEQsY0FBYywrQkFBK0IsQ0FBQztBQUM5QyxjQUFjLDZDQUE2QyxDQUFDO0FBQzVELGNBQWMsMkNBQTJDLENBQUM7QUFDMUQsY0FBYyxtREFBbUQsQ0FBQztBQUNsRSxjQUFjLHVDQUF1QyxDQUFDO0FBQ3RELGNBQWMsK0NBQStDLENBQUM7QUFDOUQsY0FBYyx5REFBeUQsQ0FBQztBQUN4RSxjQUFjLGlDQUFpQyxDQUFDO0FBQ2hELGNBQWMsbUNBQW1DLENBQUM7QUFDbEQsY0FBYyw2QkFBNkIsQ0FBQztBQUM1QyxjQUFjLCtCQUErQixDQUFDO0FBQzlDLGNBQWMscUNBQXFDLENBQUM7QUFDcEQsY0FBYyw2QkFBNkIsQ0FBQztBQUM1QyxjQUFjLHlDQUF5QyxDQUFDO0FBQ3hELGNBQWMsdUNBQXVDLENBQUM7QUFDdEQsY0FBYyxxQ0FBcUMsQ0FBQztBQUNwRCxjQUFjLDJCQUEyQixDQUFDO0FBQzFDLGNBQWMsNkJBQTZCLENBQUM7QUFDNUMsY0FBYywyQ0FBMkMsQ0FBQztBQUMxRCxjQUFjLCtCQUErQixDQUFDO0FBQzlDLGNBQWMsNkJBQTZCLENBQUM7QUFDNUMsY0FBYyxpREFBaUQsQ0FBQztBQUNoRSxjQUFjLGlEQUFpRCxDQUFBO0FBQy9ELGNBQWMsMkJBQTJCLENBQUM7QUFDMUMsY0FBYywrQkFBK0IsQ0FBQztBQUM5QyxjQUFjLDJCQUEyQixDQUFDO0FBQzFDLGNBQWMsK0JBQStCLENBQUM7QUFDOUMsY0FBYyxzQ0FBc0MsQ0FBQztBQUNyRCxjQUFjLG1DQUFtQyxDQUFDO0FBQ2xELGNBQWMsbURBQW1ELENBQUM7QUFDbEUsY0FBYyw2Q0FBNkMsQ0FBQztBQUM1RCxjQUFjLGlDQUFpQyxDQUFDO0FBQ2hELGNBQWMsdUNBQXVDLENBQUM7QUFDdEQsY0FBYyxpREFBaUQsQ0FBQztBQUNoRSxjQUFjLDJCQUEyQixDQUFDO0FBQzFDLGNBQWMsNkJBQTZCLENBQUM7QUFDNUMsY0FBYyxxQ0FBcUMsQ0FBQztBQUNwRCxjQUFjLHlDQUF5QyxDQUFDO0FBQ3hELGNBQWMsNkJBQTZCLENBQUM7QUFDNUMsY0FBYyxxQ0FBcUMsQ0FBQztBQUNwRCxjQUFjLHVDQUF1QyxDQUFDO0FBQ3RELGNBQWMsMkJBQTJCLENBQUM7QUFDMUMsY0FBYyxtQ0FBbUMsQ0FBQztBQUNsRCxjQUFjLGlDQUFpQyxDQUFDO0FBQ2hELGNBQWMsbURBQW1ELENBQUM7QUFDbEUsY0FBYyw2QkFBNkIsQ0FBQztBQUM1QyxjQUFjLG1EQUFtRCxDQUFDO0FBQ2xFLGNBQWMsMkNBQTJDLENBQUM7QUFDMUQsY0FBYyw0Q0FBNEMsQ0FBQztBQUMzRCxjQUFjLCtDQUErQyxDQUFDO0FBQzlELGNBQWMsaURBQWlELENBQUM7QUFDaEUsY0FBYyxzQ0FBc0MsQ0FBQztBQUNyRCxjQUFjLDJDQUEyQyxDQUFDO0FBQzFELGNBQWMseURBQXlELENBQUM7QUFDeEUsY0FBYyx3RUFBd0UsQ0FBQTtBQUN0RixjQUFjLDBEQUEwRCxDQUFBO0FBQ3hFLGNBQWMsa0RBQWtELENBQUE7QUFDaEUsY0FBYyxvRkFBb0YsQ0FBQTtBQUNsRyxjQUFjLDRDQUE0QyxDQUFBO0FBQzFELGNBQWMsK0NBQStDLENBQUE7QUFDN0QsY0FBYyw2QkFBNkIsQ0FBQTtBQUMzQyxjQUFjLHFDQUFxQyxDQUFDO0FBQ3BELGNBQWMsK0NBQStDLENBQUM7QUFDOUQsY0FBYywyQ0FBMkMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qXHJcbiAqIFB1YmxpYyBBUEkgU3VyZmFjZSBvZiBkeW5hbWljLWZvcm1cclxuICovXHJcblxyXG4vKioqKioqKioqKiBTZXJ2aWNlICoqKioqKioqKiovXHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL3NlcnZpY2VzL21haW4uc2VydmljZSc7XHJcbi8vIGV4cG9ydCAqIGZyb20gJy4vbGliL3ptb2RhbC9tb2RhbC5zZXJ2aWNlJztcclxuLy8gZXhwb3J0ICogZnJvbSAnLi9saWIvc2VydmljZXMvemNvbXBvbmVudC5zZXJ2aWNlJztcclxuLy8gZXhwb3J0ICogZnJvbSAnLi9saWIvc2VydmljZXMvemNvbXBvbmVudC5kZWJ1Zy5zZXJ2aWNlJztcclxuXHJcblxyXG4vKioqKioqKioqKiBEaXJlY3RpdmUgKioqKioqKioqKi9cclxuZXhwb3J0ICogZnJvbSAnLi9saWIvZGlyZWN0aXZlcy9zY3JvbGxiYXIudGhlbWUuZGlyZWN0aXZlJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvZGlyZWN0aXZlcy9maWVsZGVsZW1lbnQuZGlyZWN0aXZlJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvemdyaWQvemdyaWQuYmluZGluZy5kaXJlY3RpdmUnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi96c2VsZWN0bXVsdGlwbGUvenNlbGVjdG11bHRpcGxlLmRpcmVjdGl2ZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2RpcmVjdGl2ZXMvZWxlbWVudGNvbnRhaW5lci5kaXJlY3RpdmUnO1xyXG5cclxuLyoqKioqKioqKiogTW9kdWxlICoqKioqKioqKiovXHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL21taGdsb2JhbC1keW5hbWljZm9ybS5tb2R1bGUnO1xyXG5cclxuXHJcbi8qKioqKioqKioqIEFkZG9uICoqKioqKioqKiovXHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL3pkYXRldGltZS9kYXRlUGFyc2VyLnBpcGUnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi96Y29kZWVkaXRvci96Y29kZWVkaXRvci5waXBlJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvemRpdi96ZGl2LnBpcGUnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi96dGFiL3p0YWIucGlwZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL3ppbnB1dC1jb250YWluZXIvemlucHV0LWNvbnRhaW5lci5waXBlJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvcGlwZS9odG1sU2FuaXRpemUucGlwZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL3pudW1lcmljL3pudW1lcmljLmNvbXBvbmVudC5waXBlJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvemRhdGV0aW1lL2RhdGVJb25pY0Zvcm1hdFBhcnNlci5waXBlJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvemRhdGV0aW1lL2RhdGVLZW5kb0Zvcm1hdFBhcnNlci5waXBlJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvemRhdGV0aW1lL2RhdGVJb25pY01pbk1heERhdGUucGlwZSc7XHJcblxyXG4vLyBleHBvcnQgKiBmcm9tICAnLi9saWIvem1vZGFsL3ptb2RhbC5tb2R1bGUnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi96Z3JpZC9kYXRlLXJhbmdlLWNlbGwtZmlsdGVyLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL3pzY2hlZHVsZXIvenNjaGVkdWxlci50b29sYmFyLmNvbXBvbmVudCc7XHJcblxyXG5cclxuLyoqKioqKioqKiogekNvbXBvbmVudCAqKioqKioqKioqL1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi91aWNvbnRhaW5lci91aWNvbnRhaW5lci5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi91aWNvbnRlbnQvdWljb250ZW50LmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL3VpaGVhZGVyL3VpaGVhZGVyLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL3VpcGFnZS91aXBhZ2UuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvdWltZW51Y29udGVudC91aW1lbnVjb250ZW50LmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL3VpbWVudWJ1dHRvbi91aW1lbnVidXR0b24uY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvdWlhcHBtZW51Y29udGVudC91aWFwcG1lbnVjb250ZW50LmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL3VpYnVsbGV0aW4vdWlidWxsZXRpbi5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi91aWFjdGlvbmJ1dHRvbi91aWFjdGlvbmJ1dHRvbi5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi91aXZhbGlkYXRpb25tZXNzYWdlL3VpdmFsaWRhdGlvbm1lc3NhZ2UuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvemJ1bGxldC96YnVsbGV0LmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL3pidXR0b25zL3pidXR0b25zLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL3pjYXJkL3pjYXJkLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL3pjaGFydC96Y2hhcnQuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvemNoZWNrYm94L3pjaGVja2JveC5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi96Y2hpcC96Y2hpcC5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi96Y29kZWVkaXRvci96Y29kZWVkaXRvci5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi96ZGF0ZXJhbmdlL3pkYXRlcmFuZ2UuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvemRhdGV0aW1lL3pkYXRldGltZS5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi96ZGl2L3pkaXYuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvemZvcm0vemZvcm0uY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvemZvcm1jb250cm9sL3pmb3JtY29udHJvbC5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi96Z2F1Z2UvemdhdWdlLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL3pncmlkL3pncmlkLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL3pncmlkL2NvbnRhaW5lci96Z3JpZC1jb250YWluZXIuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvemdyaWQvemdyaWQucG9wdXAuYW5jaG9yLXRhcmdldC5kaXJlY3RpdmUnXHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL3ppbWcvemltZy5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi96bGFiZWwvemxhYmVsLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL3ptZmIvem1mYi5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi96bW9kYWwvem1vZGFsLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL3ptb2RhbC96bW9kYWwtbW9iaWxlLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL3pudW1lcmljL3pudW1lcmljLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL3pwb3N0c2VsZWN0aW5wdXQvenBvc3RzZWxlY3RpbnB1dC5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi96cXVlcnlidWlsZGVyL3pxdWVyeWJ1aWxkZXIuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvenJlcG9ydC96cmVwb3J0LmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL3pzY2hlZHVsZXIvenNjaGVkdWxlci5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi96c2VsZWN0bXVsdGlwbGUvenNlbGVjdG11bHRpcGxlLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL3p0YWIvenRhYi5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi96dGV4dC96dGV4dC5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi96dGV4dGFyZWEvenRleHRhcmVhLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL3p0ZXh0ZWRpdG9yL3p0ZXh0ZWRpdG9yLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL3p0cmVlL3p0cmVlLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL3p0cmVlbGlzdC96dHJlZWxpc3QuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvenRyZW5kY2FyZC96dHJlbmRjYXJkLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL3p1ZGYvenVkZi5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi96dW5rbm93bi96dW5rbm93bi5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi96dXBsb2FkL3p1cGxvYWQuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvendvcmtmbG93YnV0dG9ucy96d29ya2Zsb3didXR0b25zLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2tjYXJkL2tjYXJkLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL3ppbnB1dC1jb250YWluZXIvemlucHV0LWNvbnRhaW5lci5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi96cHJvZ3Jlc3NiYXIvenByb2dyZXNzYmFyLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvYnV0dG9uZmllbGRiYXNlLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvY29udGFpbmVyZmllbGRiYXNlLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvZGF0YWxpc3RpbmdmaWVsZGJhc2UuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9maWVsZGJhc2UuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9pbnB1dGZpZWxkYmFzZS5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9pbnB1dC1lcnJvci1tZXNzYWdlL2lucHV0LWVycm9yLW1lc3NhZ2UuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvZW1iZWQtY29tcG9uZW50cy9pbnB1dC1maWVsZC1hZGRvbnMvaW5wdXQtZmllbGQtYWRkb25zLmNvbXBvbmVudCdcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvZW1iZWQtY29tcG9uZW50cy9wYWdlLWxvYWRlci9wYWdlLWxvYWRlci5jb21wb25lbnQnXHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2VtYmVkLWNvbXBvbmVudHMvc3Bpbm5lci9zcGlubmVyLmNvbXBvbmVudCdcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvZW1iZWQtY29tcG9uZW50cy9wcm9jZXNzaW5nLXJlY29yZC1sb2FkZXIvcHJvY2Vzc2luZy1yZWNvcmQtbG9hZGVyLmNvbXBvbmVudCdcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvenNlbGVjdG11bHRpcGxlL3pzZWxlY3RtdWx0aXBsZS5waXBlJ1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9zZnF1ZXJ5YnVpbGRlci9zZnF1ZXJ5YnVpbGRlci5jb21wb25lbnQnXHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL3psb29wL3psb29wLmNvbXBvbmVudCdcclxuZXhwb3J0ICogZnJvbSAnLi9saWIva3NwbGl0dGVyL2tzcGxpdHRlci5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi92aXJ0dWFsLXNjcm9sbC92aXJ0dWFsLXNjcm9sbC5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi96Y29sb3JwaWNrZXIvemNvbG9ycGlja2VyLmNvbXBvbmVudCc7XHJcbiJdfQ==
98
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Byb2plY3RzL21taGdsb2JhbC1keW5hbWljZm9ybS9zcmMvcHVibGljLWFwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILCtCQUErQjtBQUMvQixjQUFjLDZCQUE2QixDQUFDO0FBQzVDLDhDQUE4QztBQUM5QyxxREFBcUQ7QUFDckQsMkRBQTJEO0FBRzNELGlDQUFpQztBQUNqQyxjQUFjLDRDQUE0QyxDQUFDO0FBQzNELGNBQWMseUNBQXlDLENBQUM7QUFDeEQsY0FBYyxxQ0FBcUMsQ0FBQztBQUNwRCxjQUFjLGlEQUFpRCxDQUFDO0FBQ2hFLGNBQWMsNkNBQTZDLENBQUM7QUFFNUQsOEJBQThCO0FBQzlCLGNBQWMsb0NBQW9DLENBQUM7QUFHbkQsNkJBQTZCO0FBQzdCLGNBQWMsaUNBQWlDLENBQUM7QUFDaEQsY0FBYyxvQ0FBb0MsQ0FBQztBQUNuRCxjQUFjLHNCQUFzQixDQUFDO0FBQ3JDLGNBQWMsc0JBQXNCLENBQUM7QUFDckMsY0FBYyw4Q0FBOEMsQ0FBQztBQUM3RCxjQUFjLDhCQUE4QixDQUFDO0FBQzdDLGNBQWMsd0NBQXdDLENBQUM7QUFDdkQsY0FBYyw0Q0FBNEMsQ0FBQztBQUMzRCxjQUFjLDRDQUE0QyxDQUFDO0FBQzNELGNBQWMsMENBQTBDLENBQUM7QUFFekQsK0NBQStDO0FBQy9DLGNBQWMsOENBQThDLENBQUM7QUFDN0QsY0FBYywrQ0FBK0MsQ0FBQztBQUc5RCxrQ0FBa0M7QUFDbEMsY0FBYyx5Q0FBeUMsQ0FBQztBQUN4RCxjQUFjLHFDQUFxQyxDQUFDO0FBQ3BELGNBQWMsbUNBQW1DLENBQUM7QUFDbEQsY0FBYywrQkFBK0IsQ0FBQztBQUM5QyxjQUFjLDZDQUE2QyxDQUFDO0FBQzVELGNBQWMsMkNBQTJDLENBQUM7QUFDMUQsY0FBYyxtREFBbUQsQ0FBQztBQUNsRSxjQUFjLHVDQUF1QyxDQUFDO0FBQ3RELGNBQWMsK0NBQStDLENBQUM7QUFDOUQsY0FBYyx5REFBeUQsQ0FBQztBQUN4RSxjQUFjLGlDQUFpQyxDQUFDO0FBQ2hELGNBQWMsbUNBQW1DLENBQUM7QUFDbEQsY0FBYyw2QkFBNkIsQ0FBQztBQUM1QyxjQUFjLCtCQUErQixDQUFDO0FBQzlDLGNBQWMscUNBQXFDLENBQUM7QUFDcEQsY0FBYyw2QkFBNkIsQ0FBQztBQUM1QyxjQUFjLHlDQUF5QyxDQUFDO0FBQ3hELGNBQWMsdUNBQXVDLENBQUM7QUFDdEQsY0FBYyxxQ0FBcUMsQ0FBQztBQUNwRCxjQUFjLDJCQUEyQixDQUFDO0FBQzFDLGNBQWMsNkJBQTZCLENBQUM7QUFDNUMsY0FBYywyQ0FBMkMsQ0FBQztBQUMxRCxjQUFjLCtCQUErQixDQUFDO0FBQzlDLGNBQWMsNkJBQTZCLENBQUM7QUFDNUMsY0FBYyxpREFBaUQsQ0FBQztBQUNoRSxjQUFjLGlEQUFpRCxDQUFBO0FBQy9ELGNBQWMsMkJBQTJCLENBQUM7QUFDMUMsY0FBYywrQkFBK0IsQ0FBQztBQUM5QyxjQUFjLDJCQUEyQixDQUFDO0FBQzFDLGNBQWMsK0JBQStCLENBQUM7QUFDOUMsY0FBYyxzQ0FBc0MsQ0FBQztBQUNyRCxjQUFjLG1DQUFtQyxDQUFDO0FBQ2xELGNBQWMsbURBQW1ELENBQUM7QUFDbEUsY0FBYyxpQ0FBaUMsQ0FBQztBQUNoRCxjQUFjLHVDQUF1QyxDQUFDO0FBQ3RELGNBQWMsaURBQWlELENBQUM7QUFDaEUsY0FBYywyQkFBMkIsQ0FBQztBQUMxQyxjQUFjLDZCQUE2QixDQUFDO0FBQzVDLGNBQWMscUNBQXFDLENBQUM7QUFDcEQsY0FBYyx5Q0FBeUMsQ0FBQztBQUN4RCxjQUFjLDZCQUE2QixDQUFDO0FBQzVDLGNBQWMscUNBQXFDLENBQUM7QUFDcEQsY0FBYyx1Q0FBdUMsQ0FBQztBQUN0RCxjQUFjLDJCQUEyQixDQUFDO0FBQzFDLGNBQWMsbUNBQW1DLENBQUM7QUFDbEQsY0FBYyxpQ0FBaUMsQ0FBQztBQUNoRCxjQUFjLG1EQUFtRCxDQUFDO0FBQ2xFLGNBQWMsNkJBQTZCLENBQUM7QUFDNUMsY0FBYyxtREFBbUQsQ0FBQztBQUNsRSxjQUFjLDJDQUEyQyxDQUFDO0FBQzFELGNBQWMsNENBQTRDLENBQUM7QUFDM0QsY0FBYywrQ0FBK0MsQ0FBQztBQUM5RCxjQUFjLGlEQUFpRCxDQUFDO0FBQ2hFLGNBQWMsc0NBQXNDLENBQUM7QUFDckQsY0FBYywyQ0FBMkMsQ0FBQztBQUMxRCxjQUFjLHlEQUF5RCxDQUFDO0FBQ3hFLGNBQWMsd0VBQXdFLENBQUE7QUFDdEYsY0FBYywwREFBMEQsQ0FBQTtBQUN4RSxjQUFjLGtEQUFrRCxDQUFBO0FBQ2hFLGNBQWMsb0ZBQW9GLENBQUE7QUFDbEcsY0FBYyw0Q0FBNEMsQ0FBQTtBQUMxRCxjQUFjLCtDQUErQyxDQUFBO0FBQzdELGNBQWMsNkJBQTZCLENBQUE7QUFDM0MsY0FBYyxxQ0FBcUMsQ0FBQztBQUNwRCxjQUFjLCtDQUErQyxDQUFDO0FBQzlELGNBQWMsMkNBQTJDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxyXG4gKiBQdWJsaWMgQVBJIFN1cmZhY2Ugb2YgZHluYW1pYy1mb3JtXHJcbiAqL1xyXG5cclxuLyoqKioqKioqKiogU2VydmljZSAqKioqKioqKioqL1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9zZXJ2aWNlcy9tYWluLnNlcnZpY2UnO1xyXG4vLyBleHBvcnQgKiBmcm9tICcuL2xpYi96bW9kYWwvbW9kYWwuc2VydmljZSc7XHJcbi8vIGV4cG9ydCAqIGZyb20gJy4vbGliL3NlcnZpY2VzL3pjb21wb25lbnQuc2VydmljZSc7XHJcbi8vIGV4cG9ydCAqIGZyb20gJy4vbGliL3NlcnZpY2VzL3pjb21wb25lbnQuZGVidWcuc2VydmljZSc7XHJcblxyXG5cclxuLyoqKioqKioqKiogRGlyZWN0aXZlICoqKioqKioqKiovXHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2RpcmVjdGl2ZXMvc2Nyb2xsYmFyLnRoZW1lLmRpcmVjdGl2ZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2RpcmVjdGl2ZXMvZmllbGRlbGVtZW50LmRpcmVjdGl2ZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL3pncmlkL3pncmlkLmJpbmRpbmcuZGlyZWN0aXZlJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvenNlbGVjdG11bHRpcGxlL3pzZWxlY3RtdWx0aXBsZS5kaXJlY3RpdmUnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9kaXJlY3RpdmVzL2VsZW1lbnRjb250YWluZXIuZGlyZWN0aXZlJztcclxuXHJcbi8qKioqKioqKioqIE1vZHVsZSAqKioqKioqKioqL1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9tbWhnbG9iYWwtZHluYW1pY2Zvcm0ubW9kdWxlJztcclxuXHJcblxyXG4vKioqKioqKioqKiBBZGRvbiAqKioqKioqKioqL1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi96ZGF0ZXRpbWUvZGF0ZVBhcnNlci5waXBlJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvemNvZGVlZGl0b3IvemNvZGVlZGl0b3IucGlwZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL3pkaXYvemRpdi5waXBlJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvenRhYi96dGFiLnBpcGUnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi96aW5wdXQtY29udGFpbmVyL3ppbnB1dC1jb250YWluZXIucGlwZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL3BpcGUvaHRtbFNhbml0aXplLnBpcGUnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi96bnVtZXJpYy96bnVtZXJpYy5jb21wb25lbnQucGlwZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL3pkYXRldGltZS9kYXRlSW9uaWNGb3JtYXRQYXJzZXIucGlwZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL3pkYXRldGltZS9kYXRlS2VuZG9Gb3JtYXRQYXJzZXIucGlwZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL3pkYXRldGltZS9kYXRlSW9uaWNNaW5NYXhEYXRlLnBpcGUnO1xyXG5cclxuLy8gZXhwb3J0ICogZnJvbSAgJy4vbGliL3ptb2RhbC96bW9kYWwubW9kdWxlJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvemdyaWQvZGF0ZS1yYW5nZS1jZWxsLWZpbHRlci5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi96c2NoZWR1bGVyL3pzY2hlZHVsZXIudG9vbGJhci5jb21wb25lbnQnO1xyXG5cclxuXHJcbi8qKioqKioqKioqIHpDb21wb25lbnQgKioqKioqKioqKi9cclxuZXhwb3J0ICogZnJvbSAnLi9saWIvdWljb250YWluZXIvdWljb250YWluZXIuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvdWljb250ZW50L3VpY29udGVudC5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi91aWhlYWRlci91aWhlYWRlci5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi91aXBhZ2UvdWlwYWdlLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL3VpbWVudWNvbnRlbnQvdWltZW51Y29udGVudC5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi91aW1lbnVidXR0b24vdWltZW51YnV0dG9uLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL3VpYXBwbWVudWNvbnRlbnQvdWlhcHBtZW51Y29udGVudC5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi91aWJ1bGxldGluL3VpYnVsbGV0aW4uY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvdWlhY3Rpb25idXR0b24vdWlhY3Rpb25idXR0b24uY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvdWl2YWxpZGF0aW9ubWVzc2FnZS91aXZhbGlkYXRpb25tZXNzYWdlLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL3pidWxsZXQvemJ1bGxldC5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi96YnV0dG9ucy96YnV0dG9ucy5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi96Y2FyZC96Y2FyZC5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi96Y2hhcnQvemNoYXJ0LmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL3pjaGVja2JveC96Y2hlY2tib3guY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvemNoaXAvemNoaXAuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvemNvZGVlZGl0b3IvemNvZGVlZGl0b3IuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvemRhdGVyYW5nZS96ZGF0ZXJhbmdlLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL3pkYXRldGltZS96ZGF0ZXRpbWUuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvemRpdi96ZGl2LmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL3pmb3JtL3pmb3JtLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL3pmb3JtY29udHJvbC96Zm9ybWNvbnRyb2wuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvemdhdWdlL3pnYXVnZS5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi96Z3JpZC96Z3JpZC5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi96Z3JpZC9jb250YWluZXIvemdyaWQtY29udGFpbmVyLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL3pncmlkL3pncmlkLnBvcHVwLmFuY2hvci10YXJnZXQuZGlyZWN0aXZlJ1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi96aW1nL3ppbWcuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvemxhYmVsL3psYWJlbC5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi96bWZiL3ptZmIuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvem1vZGFsL3ptb2RhbC5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi96bW9kYWwvem1vZGFsLW1vYmlsZS5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi96bnVtZXJpYy96bnVtZXJpYy5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi96cG9zdHNlbGVjdGlucHV0L3pwb3N0c2VsZWN0aW5wdXQuY29tcG9uZW50JzsgXHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL3pyZXBvcnQvenJlcG9ydC5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi96c2NoZWR1bGVyL3pzY2hlZHVsZXIuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvenNlbGVjdG11bHRpcGxlL3pzZWxlY3RtdWx0aXBsZS5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi96dGFiL3p0YWIuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvenRleHQvenRleHQuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvenRleHRhcmVhL3p0ZXh0YXJlYS5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi96dGV4dGVkaXRvci96dGV4dGVkaXRvci5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi96dHJlZS96dHJlZS5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi96dHJlZWxpc3QvenRyZWVsaXN0LmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL3p0cmVuZGNhcmQvenRyZW5kY2FyZC5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi96dWRmL3p1ZGYuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvenVua25vd24venVua25vd24uY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvenVwbG9hZC96dXBsb2FkLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL3p3b3JrZmxvd2J1dHRvbnMvendvcmtmbG93YnV0dG9ucy5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9rY2FyZC9rY2FyZC5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi96aW5wdXQtY29udGFpbmVyL3ppbnB1dC1jb250YWluZXIuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvenByb2dyZXNzYmFyL3pwcm9ncmVzc2Jhci5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2J1dHRvbmZpZWxkYmFzZS5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2NvbnRhaW5lcmZpZWxkYmFzZS5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2RhdGFsaXN0aW5nZmllbGRiYXNlLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvZmllbGRiYXNlLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvaW5wdXRmaWVsZGJhc2UuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvaW5wdXQtZXJyb3ItbWVzc2FnZS9pbnB1dC1lcnJvci1tZXNzYWdlLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2VtYmVkLWNvbXBvbmVudHMvaW5wdXQtZmllbGQtYWRkb25zL2lucHV0LWZpZWxkLWFkZG9ucy5jb21wb25lbnQnXHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2VtYmVkLWNvbXBvbmVudHMvcGFnZS1sb2FkZXIvcGFnZS1sb2FkZXIuY29tcG9uZW50J1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9lbWJlZC1jb21wb25lbnRzL3NwaW5uZXIvc3Bpbm5lci5jb21wb25lbnQnXHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2VtYmVkLWNvbXBvbmVudHMvcHJvY2Vzc2luZy1yZWNvcmQtbG9hZGVyL3Byb2Nlc3NpbmctcmVjb3JkLWxvYWRlci5jb21wb25lbnQnXHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL3pzZWxlY3RtdWx0aXBsZS96c2VsZWN0bXVsdGlwbGUucGlwZSdcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvc2ZxdWVyeWJ1aWxkZXIvc2ZxdWVyeWJ1aWxkZXIuY29tcG9uZW50J1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi96bG9vcC96bG9vcC5jb21wb25lbnQnXHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2tzcGxpdHRlci9rc3BsaXR0ZXIuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvdmlydHVhbC1zY3JvbGwvdmlydHVhbC1zY3JvbGwuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvemNvbG9ycGlja2VyL3pjb2xvcnBpY2tlci5jb21wb25lbnQnO1xyXG4iXX0=