qms-angular 1.1.16 → 1.1.18

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (43) hide show
  1. package/bundles/qms-angular.umd.js +343 -112
  2. package/bundles/qms-angular.umd.js.map +1 -1
  3. package/esm2015/lib/common/models/qms-tree-node.model.js +1 -1
  4. package/esm2015/lib/components/select-access-dialog/common/animation.js +12 -2
  5. package/esm2015/lib/components/select-access-dialog/model/select-access-config.model.js +20 -0
  6. package/esm2015/lib/components/select-access-dialog/model/select-access-data.js +2 -1
  7. package/esm2015/lib/components/select-access-dialog/public-api.js +2 -1
  8. package/esm2015/lib/components/select-access-dialog/select-access-dialog.component.js +161 -55
  9. package/esm2015/lib/components/select-department/select-department.component.js +17 -9
  10. package/esm2015/lib/components/select-department-tree/animation/animation.js +12 -2
  11. package/esm2015/lib/components/select-department-tree/select-department-tree.component.js +38 -43
  12. package/esm2015/lib/model/en.js +3 -1
  13. package/esm2015/lib/model/no.js +3 -1
  14. package/esm2015/lib/qms-ckeditor-components/common/models/qms-ckeditor-plugin.model.js +2 -1
  15. package/esm2015/lib/qms-ckeditor-components/components/qms-ckeditor-link-simple/qms-ckeditor-link-simple.component.js +54 -0
  16. package/esm2015/lib/qms-ckeditor-components/qms-ckeditor.component.js +20 -7
  17. package/esm2015/lib/qms-ckeditor-components/qms-ckeditor.module.js +7 -3
  18. package/esm2015/public-api.js +2 -1
  19. package/fesm2015/qms-angular.js +323 -110
  20. package/fesm2015/qms-angular.js.map +1 -1
  21. package/lib/common/models/qms-tree-node.model.d.ts +1 -0
  22. package/lib/components/select-access-dialog/model/select-access-config.model.d.ts +18 -0
  23. package/lib/components/select-access-dialog/model/select-access-data.d.ts +1 -0
  24. package/lib/components/select-access-dialog/public-api.d.ts +1 -0
  25. package/lib/components/select-access-dialog/select-access-dialog.component.d.ts +15 -11
  26. package/lib/components/select-department/select-department.component.d.ts +4 -4
  27. package/lib/components/select-department-tree/select-department-tree.component.d.ts +4 -0
  28. package/lib/model/en.d.ts +2 -0
  29. package/lib/model/no.d.ts +2 -0
  30. package/lib/qms-ckeditor-components/common/models/qms-ckeditor-plugin.model.d.ts +1 -0
  31. package/lib/qms-ckeditor-components/components/qms-ckeditor-link-simple/qms-ckeditor-link-simple.component.d.ts +17 -0
  32. package/package.json +1 -1
  33. package/public-api.d.ts +1 -0
  34. package/qms-angular.metadata.json +1 -1
  35. package/src/assets/qms-ckeditor-plugin/build/ckeditor.js +1 -1
  36. package/src/lib/components/select-access-dialog/select-access-dialog.component.scss +103 -6
  37. package/src/lib/components/select-department-tree/select-department-tree.component.scss +100 -4
  38. package/src/lib/qms-ckeditor-components/components/qms-ckeditor-link-simple/qms-ckeditor-link-simple.component.scss +1 -0
  39. package/src/themes/core/_checkbox.scss +16 -2
  40. package/src/themes/core/_radio.scss +16 -3
  41. package/src/themes/core/_slide-toggle.scss +18 -5
  42. package/src/themes/core/_table-pure-gap.scss +134 -18
  43. package/src/themes/theme/_variable.scss +22 -2
@@ -27,6 +27,7 @@ import { PopupData } from '../components/related/model/popup-data.model';
27
27
  import { RelatedPopupComponent } from '../components/related/popup/related-popup.component';
28
28
  import { QMSCKEditorTreeService } from './services/qms-ckeditor-tree.service';
29
29
  import { QMSCKEditorFlowchartComponent } from './components/qms-ckeditor-flowchart/qms-ckeditor-flowchart.component';
30
+ import { QmsCkeditorLinkSimpleComponent } from './components/qms-ckeditor-link-simple/qms-ckeditor-link-simple.component';
30
31
  export class QMSCKEditorComponent extends QMSCKEditorBaseComponent {
31
32
  /**
32
33
  * Constructor
@@ -320,12 +321,24 @@ export class QMSCKEditorComponent extends QMSCKEditorBaseComponent {
320
321
  data.editorContent = this.qmsckContentInput;
321
322
  data.module = this.qmsckData.module;
322
323
  data.entityId = this.qmsckData.entityId;
323
- const dialogTemplate = this.dialog.open(QMSCKEditorLinkComponent, {
324
- width: '650px',
325
- height: '660px',
326
- data,
327
- disableClose: true
328
- });
324
+ let dialogTemplate;
325
+ if (!this.qmsckPlugin.simpleMode) {
326
+ dialogTemplate = this.dialog.open(QMSCKEditorLinkComponent, {
327
+ width: '650px',
328
+ height: '660px',
329
+ data,
330
+ disableClose: true
331
+ });
332
+ }
333
+ else {
334
+ dialogTemplate = this.dialog.open(QmsCkeditorLinkSimpleComponent, {
335
+ width: '650px',
336
+ height: '200px',
337
+ data,
338
+ disableClose: true,
339
+ autoFocus: false,
340
+ });
341
+ }
329
342
  dialogTemplate
330
343
  .afterClosed()
331
344
  .pipe(takeUntil(this.ngUnsubcribe))
@@ -636,4 +649,4 @@ QMSCKEditorComponent.propDecorators = {
636
649
  qmsckContentOutput: [{ type: Output }],
637
650
  onMessage: [{ type: HostListener, args: ['window:message', ['$event'],] }]
638
651
  };
639
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicW1zLWNrZWRpdG9yLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Ftcy1hbmd1bGFyL3NyYy9saWIvcW1zLWNrZWRpdG9yLWNvbXBvbmVudHMvcW1zLWNrZWRpdG9yLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWlCLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsWUFBWSxFQUFFLFVBQVUsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFVLE1BQU0sRUFBRSxTQUFTLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0wsT0FBTyxFQUFlLGFBQWEsRUFBRSxpQkFBaUIsRUFBYSxNQUFNLGdCQUFnQixDQUFDO0FBQzFGLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUNyRCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDM0MsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sMENBQTBDLENBQUM7QUFDbkYsT0FBTyxFQUFFLGdCQUFnQixFQUEwQixNQUFNLG1DQUFtQyxDQUFDO0FBQzdGLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDJDQUEyQyxDQUFDO0FBQy9FLE9BQU8sdUJBQXVCLE1BQU0sb0NBQW9DLENBQUM7QUFHekUsT0FBTyxlQUFlLE1BQU0sd0NBQXdDLENBQUM7QUFDckUsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sNERBQTRELENBQUM7QUFDdEcsT0FBTyxFQUFFLDhCQUE4QixFQUFFLE1BQU0sd0VBQXdFLENBQUM7QUFDeEgsT0FBTyxFQUFFLDRCQUE0QixFQUFFLE1BQU0sb0VBQW9FLENBQUM7QUFDbEgsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sNERBQTRELENBQUM7QUFDdEcsT0FBTyxFQUFFLGdDQUFnQyxFQUFFLE1BQU0sOEVBQThFLENBQUM7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LENBQUMsR0FBRyxFQUFFLENBQUMsb0JBQW9CLENBQUM7d0JBQ25ELEtBQUssRUFBRSxJQUFJO3FCQUNaO29CQUNEO3dCQUNFLE9BQU8sRUFBRSxhQUFhO3dCQUN0QixXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLG9CQUFvQixDQUFDO3dCQUNuRCxLQUFLLEVBQUUsSUFBSTtxQkFDWjtpQkFDRjtnQkFDRCxhQUFhLEVBQUUsaUJBQWlCLENBQUMsSUFBSTtnQkFDckMsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07O2FBQ2hEOzs7WUFoRFEsU0FBUztZQUVULHVCQUF1QjtZQWtCdkIsd0JBQXdCO1lBT3hCLHNCQUFzQjtZQWpCdEIsOEJBQThCO1lBWmdHLFNBQVM7WUFBcEYsVUFBVTs7O3dCQW9EbkUsS0FBSzswQkFDTCxLQUFLO2dDQUNMLEtBQUs7eUJBQ0wsS0FBSyxTQUFDLFVBQVU7dUJBQ2hCLEtBQUssU0FBQyxVQUFVO2lDQUNoQixNQUFNO3dCQVlOLFlBQVksU0FBQyxnQkFBZ0IsRUFBRSxDQUFDLFFBQVEsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFmdGVyVmlld0luaXQsIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIEVsZW1lbnRSZWYsIEV2ZW50RW1pdHRlciwgZm9yd2FyZFJlZiwgSG9zdExpc3RlbmVyLCBJbnB1dCwgT25Jbml0LCBPdXRwdXQsIFJlbmRlcmVyMiwgVmlld0VuY2Fwc3VsYXRpb24gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgRm9ybUNvbnRyb2wsIE5HX1ZBTElEQVRPUlMsIE5HX1ZBTFVFX0FDQ0VTU09SLCBWYWxpZGF0b3IgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IE1hdERpYWxvZyB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RpYWxvZyc7XHJcbmltcG9ydCB7IHRha2VVbnRpbCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcclxuaW1wb3J0IHsgVHJhbnNsYXRlTGlicmFyeVNlcnZpY2UgfSBmcm9tICcuLi9zZXJ2aWNlcy90cmFuc2xhdGlvbi1yZWdpc3RyeS5zZXJ2aWNlJztcclxuaW1wb3J0IHsgUW1zVXBsb2FkQWRhcHRlciwgUW1zVXBsb2FkQWRhcHRlckNvbmZpZyB9IGZyb20gJy4vY29tbW9uL2NsYXNzZXMvcW1zVXBsb2FkQWRhcHRlcic7XHJcbmltcG9ydCB7IENLRWRpdG9yRXZlbnRDb25zdCB9IGZyb20gJy4vY29tbW9uL2NvbnN0YW50cy9ja2VkaXRvckV2ZW50LmNvbnN0YW50JztcclxuaW1wb3J0IENLRWRpdG9yQ29tbW9uRnVuY3Rpb25zIGZyb20gJy4vY29tbW9uL2Z1bmN0aW9ucy9jb21tb24uZnVuY3Rpb24nO1xyXG5pbXBvcnQgeyBRTVNDS0VkaXRvckRhdGEgfSBmcm9tICcuL2NvbW1vbi9tb2RlbHMvcW1zLWNrZWRpdG9yLWRhdGEubW9kZWwnO1xyXG5pbXBvcnQgeyBRTVNDS0VkaXRvclBsdWdpbiB9IGZyb20gJy4vY29tbW9uL21vZGVscy9xbXMtY2tlZGl0b3ItcGx1Z2luLm1vZGVsJztcclxuaW1wb3J0IFFNU0NLRWRpdG9yTGluayBmcm9tICcuL2NvbW1vbi9tb2RlbHMvcW1zLWNrZWRpdG9yLXVybC5tb2RlbCc7XHJcbmltcG9ydCB7IFFNU0NLRWRpdG9yQnBtbkNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9xbXMtY2tlZGl0b3ItYnBtbi9xbXMtY2tlZGl0b3ItYnBtbi5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBRTVNDS0VkaXRvckZ1bGxzY3JlZW5Db21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvcW1zLWNrZWRpdG9yLWZ1bGxzY3JlZW4vcW1zLWNrZWRpdG9yLWZ1bGxzY3JlZW4uY29tcG9uZW50JztcclxuaW1wb3J0IHsgUU1TQ0tFZGl0b3JJbWFnZU1hcENvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9xbXMtY2tlZGl0b3ItaW1hZ2VtYXAvcW1zLWNrZWRpdG9yLWltYWdlbWFwLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFFNU0NLRWRpdG9yTGlua0NvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9xbXMtY2tlZGl0b3ItbGluay9xbXMtY2tlZGl0b3ItbGluay5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBRTVNDS0VkaXRvckxvYWRUZW1wbGF0ZUNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9xbXMtY2tlZGl0b3ItbG9hZC10ZW1wbGF0ZS9xbXMtY2tlZGl0b3ItbG9hZC10ZW1wbGF0ZS5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBRTVNDS0VkaXRvclRlbXBsYXRlQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL3Ftcy1ja2VkaXRvci10ZW1wbGF0ZS9xbXMtY2tlZGl0b3ItdGVtcGxhdGUuY29tcG9uZW50JztcclxuaW1wb3J0IHsgUU1TQ0tFZGl0b3JUb29sdGlwQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL3Ftcy1ja2VkaXRvci10b29sdGlwL3Ftcy1ja2VkaXRvci10b29sdGlwLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFFNU0NLRWRpdG9ySW1hZ2VNYXAgfSBmcm9tICcuL21vZGVscy9xbXMtY2tlZGl0b3ItaW1hZ2VtYXAubW9kZWwnO1xyXG5pbXBvcnQgeyBRTVNDS0VkaXRvclRlbXBsYXRlIH0gZnJvbSAnLi9tb2RlbHMvcW1zLWNrZWRpdG9yLXRlbXBsYXRlLm1vZGVsJztcclxuaW1wb3J0IHsgUU1TQ0tFZGl0b3JUb29sdGlwIH0gZnJvbSAnLi9tb2RlbHMvcW1zLWNrZWRpdG9yLXRvb2x0aXAubW9kZWwnO1xyXG5pbXBvcnQgeyBRTVNDS0VkaXRvckJhc2VDb21wb25lbnQgfSBmcm9tICcuL3Ftcy1ja2VkaXRvci1iYXNlLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFFNU0NLRWRpdG9yR2xvYmFsU2VydmljZSB9IGZyb20gJy4vc2VydmljZXMvcW1zLWNrZWRpdG9yLWdsb2JhbC5zZXJ2aWNlJztcclxuaW1wb3J0IHsgUU1TQ0tFZGl0b3JBYm91dENvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9xbXMtY2tlZGl0b3ItYWJvdXQvcW1zLWNrZWRpdG9yLWFib3V0LmNvbXBvbmVudCc7XHJcbi8vaW1wb3J0IHsgQ0tFZGl0b3I1IH0gZnJvbSAnQGNrZWRpdG9yL2NrZWRpdG9yNS1hbmd1bGFyL2NrZWRpdG9yJztcclxuaW1wb3J0IHsgUU1TQ0tFZGl0b3JCcG1uRGF0YSB9IGZyb20gJy4vbW9kZWxzL3Ftcy1ja2VkaXRvci1icG1uLWRhdGEubW9kZWwnO1xyXG5pbXBvcnQgeyBEYXRhVHlwZSB9IGZyb20gJy4uL2NvbXBvbmVudHMvcmVsYXRlZC9jb21tb24vZGF0YS10eXBlLmVudW0nO1xyXG5pbXBvcnQgeyBQb3B1cERhdGEgfSBmcm9tICcuLi9jb21wb25lbnRzL3JlbGF0ZWQvbW9kZWwvcG9wdXAtZGF0YS5tb2RlbCc7XHJcbmltcG9ydCB7IFJlbGF0ZWRQb3B1cENvbXBvbmVudCB9IGZyb20gJy4uL2NvbXBvbmVudHMvcmVsYXRlZC9wb3B1cC9yZWxhdGVkLXBvcHVwLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFFNU0NLRWRpdG9yVHJlZVNlcnZpY2UgfSBmcm9tICcuL3NlcnZpY2VzL3Ftcy1ja2VkaXRvci10cmVlLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBRTVNDS0VkaXRvckZsb3djaGFydENvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9xbXMtY2tlZGl0b3ItZmxvd2NoYXJ0L3Ftcy1ja2VkaXRvci1mbG93Y2hhcnQuY29tcG9uZW50JztcclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdxbXMtY2tlZGl0b3InLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9xbXMtY2tlZGl0b3IuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL3Ftcy1ja2VkaXRvci5jb21wb25lbnQuc2NzcyddLFxyXG4gIHByb3ZpZGVyczogW1xyXG4gICAgUU1TQ0tFZGl0b3JGdWxsc2NyZWVuQ29tcG9uZW50LFxyXG4gICAge1xyXG4gICAgICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcclxuICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gUU1TQ0tFZGl0b3JDb21wb25lbnQpLFxyXG4gICAgICBtdWx0aTogdHJ1ZVxyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgcHJvdmlkZTogTkdfVkFMSURBVE9SUyxcclxuICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gUU1TQ0tFZGl0b3JDb21wb25lbnQpLFxyXG4gICAgICBtdWx0aTogdHJ1ZVxyXG4gICAgfVxyXG4gIF0sXHJcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcclxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxyXG59KVxyXG5leHBvcnQgY2xhc3MgUU1TQ0tFZGl0b3JDb21wb25lbnQgZXh0ZW5kcyBRTVNDS0VkaXRvckJhc2VDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIEFmdGVyVmlld0luaXQsIFZhbGlkYXRvciB7XHJcbiAgQElucHV0KCkgcW1zY2tEYXRhOiBRTVNDS0VkaXRvckRhdGE7XHJcbiAgQElucHV0KCkgcW1zY2tQbHVnaW46IFFNU0NLRWRpdG9yUGx1Z2luO1xyXG4gIEBJbnB1dCgpIHFtc2NrQ29udGVudElucHV0OiBzdHJpbmc7XHJcbiAgQElucHV0KCdkaXNhYmxlZCcpIGlzRGlzYWJsZWQ6IGJvb2xlYW47XHJcbiAgQElucHV0KCdyZXF1aXJlZCcpIHJlcXVpcmVkOiBib29sZWFuID0gZmFsc2U7XHJcbiAgQE91dHB1dCgpIHFtc2NrQ29udGVudE91dHB1dDogRXZlbnRFbWl0dGVyPHN0cmluZz4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcblxyXG4gIExBTkc6IGFueTtcclxuICBja0VkaXRvcjogYW55O1xyXG4gIG5hbWU6IHN0cmluZztcclxuICBja2VkaXRvckNvbmZpZzogYW55O1xyXG4gIGNrRWRpdG9yRXZlbnRDb25zdCA9IENLRWRpdG9yRXZlbnRDb25zdDtcclxuICBjb3VudFdvcmQ6IG51bWJlcjtcclxuICBjb3VudENoYXI6IG51bWJlcjtcclxuICBlZGl0b3JJbnN0YW5jZTogYW55O1xyXG4gIGNrVGFnbmFtZTogc3RyaW5nO1xyXG5cclxuICBASG9zdExpc3RlbmVyKCd3aW5kb3c6bWVzc2FnZScsIFsnJGV2ZW50J10pXHJcbiAgb25NZXNzYWdlKGV2ZW50KSB7XHJcbiAgICBzd2l0Y2ggKGV2ZW50LmRhdGEuZXZlbnROYW1lKSB7XHJcbiAgICAgIGNhc2UgdGhpcy5ja0VkaXRvckV2ZW50Q29uc3QuUU1TQ0tfVEVNUExBVEVfUExVR0lOX01TRzpcclxuICAgICAgICB0aGlzLnRlbXBsYXRlRXZlbnRIYW5kbGluZygpO1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICBjYXNlIHRoaXMuY2tFZGl0b3JFdmVudENvbnN0LlFNU0NLX0xPQURfVEVNUExBVEVfUExVR0lOX01TRzpcclxuICAgICAgICB0aGlzLmxvYWRUZW1wbGF0ZUV2ZW50SGFuZGxpbmcoKTtcclxuICAgICAgICBicmVhaztcclxuICAgICAgY2FzZSB0aGlzLmNrRWRpdG9yRXZlbnRDb25zdC5RTVNDS19MSU5LX1BMVUdJTl9NU0c6XHJcbiAgICAgICAgdGhpcy5saW5rRXZlbnRIYW5kbGluZyhldmVudC5kYXRhLnZhbHVlKTtcclxuICAgICAgICBicmVhaztcclxuICAgICAgY2FzZSB0aGlzLmNrRWRpdG9yRXZlbnRDb25zdC5RTVNDS19UT09MVElQX1BMVUdJTl9NU0c6XHJcbiAgICAgICAgdGhpcy50b29sdGlwRXZlbnRIYW5kbGluZyhldmVudC5kYXRhLnZhbHVlKTtcclxuICAgICAgICBicmVhaztcclxuICAgICAgY2FzZSB0aGlzLmNrRWRpdG9yRXZlbnRDb25zdC5RTVNDS19JTUFHRU1BUF9QTFVHSU5fTVNHOlxyXG4gICAgICAgIHRoaXMuaW1hZ2VNYXBFdmVudEhhbmRsaW5nKGV2ZW50LmRhdGEudmFsdWUpO1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICBjYXNlIHRoaXMuY2tFZGl0b3JFdmVudENvbnN0LlFNU0NLX0JQTU5fUExVR0lOX01TRzpcclxuICAgICAgICB0aGlzLmJwbW5FdmVudEhhbmRsaW5nKGV2ZW50LmRhdGEudmFsdWUpO1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICBjYXNlIHRoaXMuY2tFZGl0b3JFdmVudENvbnN0LlFNU0NLX0FCT1VUX0NLRURJVE9SX1BMVUdJTl9NU0c6XHJcbiAgICAgICAgdGhpcy5hYm91dENLRWRpdG9yRXZlbnRIYW5kbGluZyhldmVudC5kYXRhLnZhbHVlKTtcclxuICAgICAgICBicmVhaztcclxuICAgICAgY2FzZSB0aGlzLmNrRWRpdG9yRXZlbnRDb25zdC5RTVNDS19GTE9XQ0hBUlRfUExVR0lOX01TRzpcclxuICAgICAgICB0aGlzLmZsb3djaGFydEV2ZW50SGFuZGxpbmcoZXZlbnQuZGF0YS52YWx1ZSk7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIGNhc2UgdGhpcy5ja0VkaXRvckV2ZW50Q29uc3QuUU1TQ0tfVE9HR0xFX1RPT0xCQVJfTVNHOlxyXG4gICAgICAgIHRoaXMudG9nZ2xlVG9vbGJhckV2ZW50SGFuZGxpbmcoKTtcclxuICAgICAgICBicmVhaztcclxuICAgICAgY2FzZSB0aGlzLmNrRWRpdG9yRXZlbnRDb25zdC5RTVNDS19CUk9XU0VfVklERU9fTVNHOlxyXG4gICAgICAgIHRoaXMuYnJvd3NlVmlkZW9FdmVudEhhbmRsaW5nKGV2ZW50LmRhdGEudmFsdWUpO1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICBkZWZhdWx0OlxyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogQ29uc3RydWN0b3JcclxuICAgKi9cclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIGRpYWxvZzogTWF0RGlhbG9nLFxyXG4gICAgcHJpdmF0ZSB0cmFuc2xhdGU6IFRyYW5zbGF0ZUxpYnJhcnlTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBnbG9iYWxTZXJ2aWNlOiBRTVNDS0VkaXRvckdsb2JhbFNlcnZpY2UsXHJcbiAgICBwcml2YXRlIHRyZWVTZXJ2aWNlOiBRTVNDS0VkaXRvclRyZWVTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBxbXNDS0VkaXRvckZ1bGxzY3JlZW5Db21wb25lbnQ6IFFNU0NLRWRpdG9yRnVsbHNjcmVlbkNvbXBvbmVudCxcclxuICAgIHByaXZhdGUgcmVuZGVyZXI6IFJlbmRlcmVyMixcclxuICAgIHByaXZhdGUgZWxSZWY6IEVsZW1lbnRSZWZcclxuICApIHtcclxuICAgIHN1cGVyKCk7XHJcbiAgICB0aGlzLmNrVGFnbmFtZSA9ICdkaXYnO1xyXG4gIH1cclxuXHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICB0aGlzLm5hbWUgPSAnQ0tFZGl0b3IgY3VzdG9tIGJ1aWxkJztcclxuICAgIHRoaXMuY2tFZGl0b3IgPSB0aGlzLnFtc2NrUGx1Z2luLnBsdWdpbk9iamVjdDtcclxuICAgIHRoaXMudHJhbnNsYXRlLmdldExhbmd1YWdlU3ViamVjdCQucGlwZSh0YWtlVW50aWwodGhpcy5uZ1Vuc3ViY3JpYmUpKS5zdWJzY3JpYmUoKHJlcykgPT4ge1xyXG4gICAgICBpZiAocmVzKSB7XHJcbiAgICAgICAgdGhpcy5MQU5HID0gdGhpcy50cmFuc2xhdGUuZ2V0T2JqZWN0TGFuZyhyZXMpO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICAgIHRoaXMuY2tlZGl0b3JDb25maWcgPSBDS0VkaXRvckNvbW1vbkZ1bmN0aW9ucy5nZXRDS0VkaXRvckNvbmZpZ3VyYXRpb24odGhpcy5xbXNja1BsdWdpbi5pdGVtVG9vbGJhcik7XHJcbiAgICB0aGlzLmdsb2JhbFNlcnZpY2Uuc2V0QXBpVXJsKHRoaXMucW1zY2tEYXRhLmFwaVVybCk7XHJcbiAgICBpZiAodGhpcy5pc0VuYWJsZWRNYXRodHlwZUNvbmZpZygpKSB7XHJcbiAgICAgIHRoaXMuYWRkTWF0aFR5cGVDb25maWcoKTtcclxuICAgIH1cclxuXHJcbiAgICBpZiAodGhpcy5pc0VuYWJsZWRUaW1lc3RhbXBDb25maWcoKSkge1xyXG4gICAgICB0aGlzLmFkZFRpbWVzdGFtcENvbmZpZygpO1xyXG4gICAgfVxyXG4gICAgaWYgKHRoaXMuaXNFbmFibGVkVG9nZ2xlVG9vbGJhcigpKSB7XHJcbiAgICAgIHRoaXMuYWRkVG9nZ2xlVG9vbGJhckNvbmZpZygpO1xyXG4gICAgfVxyXG5cclxuICAgIGlmICh0aGlzLmlzRW5hYmxlZFdQcm9vZnJlYWRlcigpKSB7XHJcbiAgICAgIHRoaXMuYWRkV1Byb29mcmVhZGVyQ29uZmlnKCk7XHJcbiAgICB9XHJcbiAgICBpZiAodGhpcy5pc0VuYWJsZWRUT0NUb29sYmFyKCkpIHtcclxuICAgICAgdGhpcy5hZGRUb2dnbGVUT0NDb25maWcoKTtcclxuICAgIH1cclxuICAgIGlmICh0aGlzLmlzRW5hYmxlZEZ1bGxTY3JlZW5Db25maWcoKSkge1xyXG4gICAgICB0aGlzLmFkZEZ1bGxTY3JlZW5Db25maWcoKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIG5nT25EZXN0cm95KCkge1xyXG4gICAgaWYgKHRoaXMuZWRpdG9ySW5zdGFuY2UpIHtcclxuICAgICAgdGhpcy5lZGl0b3JJbnN0YW5jZS5kZXN0cm95KCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBvbkNoYW5nZTogKGNvbnRlbnQ6IGFueSkgPT4gdm9pZDtcclxuICBvblRvdWNoZWQ6ICgpID0+IHZvaWQ7XHJcblxyXG4gIHJlZ2lzdGVyT25DaGFuZ2UoZm46IGFueSk6IHZvaWQge1xyXG4gICAgdGhpcy5vbkNoYW5nZSA9IGZuO1xyXG4gIH1cclxuICByZWdpc3Rlck9uVG91Y2hlZChmbjogYW55KTogdm9pZCB7XHJcbiAgICB0aGlzLm9uVG91Y2hlZCA9IGZuO1xyXG4gIH1cclxuXHJcbiAgbmdBZnRlclZpZXdJbml0KCkge1xyXG4gICAgaWYgKHRoaXMuaXNEaXNhYmxlZCkge1xyXG4gICAgICB0aGlzLnJlbmRlcmVyLmFkZENsYXNzKHRoaXMuZWxSZWYubmF0aXZlRWxlbWVudCwgJ2NrLWRpc2FibGVkJyk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBpc0VuYWJsZWRXUHJvb2ZyZWFkZXIoKTogYm9vbGVhbiB7XHJcbiAgICBjb25zdCBwYXR0ZXJuID0gLyh3cHJvb2ZyZWFkZXIpL2dtaTtcclxuICAgIHJldHVybiAhIXRoaXMucW1zY2tEYXRhLndwcm9vZnJlYWRlclxyXG4gICAgICAmJiAhIXRoaXMucW1zY2tEYXRhLndwcm9vZnJlYWRlci5zcmNVcmxcclxuICAgICAgJiYgISF0aGlzLnFtc2NrUGx1Z2luLml0ZW1Ub29sYmFyXHJcbiAgICAgICYmIHRoaXMucW1zY2tQbHVnaW4uaXRlbVRvb2xiYXIuc2VhcmNoKHBhdHRlcm4pID4gLTE7XHJcbiAgfVxyXG5cclxuICBhZGRXUHJvb2ZyZWFkZXJDb25maWcoKSB7XHJcbiAgICBjb25zdCB3cHJvb2ZyZWFkZXJDb25maWcgPSB7XHJcbiAgICAgIHdwcm9vZnJlYWRlcjoge1xyXG4gICAgICAgIC4uLnRoaXMucW1zY2tEYXRhLndwcm9vZnJlYWRlclxyXG4gICAgICB9XHJcbiAgICB9O1xyXG4gICAgaWYgKCF0aGlzLnFtc2NrRGF0YS53cHJvb2ZyZWFkZXIuc2VydmljZUlkIHx8IHRoaXMucW1zY2tEYXRhLndwcm9vZnJlYWRlci5zZXJ2aWNlSWQubGVuZ3RoID09IDApIHtcclxuICAgICAgLy9GYWxsYmFjayB2YWx1ZSBvZiBzZXJ2aWNlSWQgcHJvcGVydHkgdG8gZGVtbyBzZXJ2aWNlSWRcclxuICAgICAgdGhpcy5xbXNja0RhdGEud3Byb29mcmVhZGVyLnNlcnZpY2VJZCA9ICcxOktwa3ZRMi02S05Vai1MMVczdTItQzlqMEsxLVp2MnRZMS1DZkRPeC1XZkdSZzItcVh0Y2ktWXl5RTM0LWowOUg0Mi1iMGFDdDMtZDlhJztcclxuICAgIH1cclxuICAgIHRoaXMuY2tFZGl0b3IuZGVmYXVsdENvbmZpZyA9IE9iamVjdC5hc3NpZ24odGhpcy5ja0VkaXRvci5kZWZhdWx0Q29uZmlnIHx8IHt9LCB3cHJvb2ZyZWFkZXJDb25maWcpO1xyXG4gIH1cclxuXHJcbiAgaXNFbmFibGVkVG9nZ2xlVG9vbGJhcigpOiBib29sZWFuIHtcclxuICAgIGNvbnN0IHBhdHRlcm4gPSAvKHRvZ2dsZVRvb2xiYXIpL2dtaTtcclxuICAgIHJldHVybiAhIXRoaXMucW1zY2tEYXRhLnRvZ2dsZVRvb2xiYXJcclxuICAgICAgJiYgISF0aGlzLnFtc2NrUGx1Z2luLml0ZW1Ub29sYmFyXHJcbiAgICAgICYmIHRoaXMucW1zY2tQbHVnaW4uaXRlbVRvb2xiYXIuc2VhcmNoKHBhdHRlcm4pID4gLTE7XHJcbiAgfVxyXG5cclxuICBhZGRUb2dnbGVUb29sYmFyQ29uZmlnKCkge1xyXG4gICAgY29uc3QgaXRlbXMgPSB0aGlzLnFtc2NrRGF0YS50b2dnbGVUb29sYmFyLnNwbGl0KCcsJyk7XHJcbiAgICBjb25zdCB0b2dnbGVUb29sYmFyQ29uZmlnID0ge1xyXG4gICAgICB0b2dnbGVUb29sYmFyQ29uZmlnOiB7XHJcbiAgICAgICAgdG9vbGJhcjogaXRlbXNcclxuICAgICAgfVxyXG4gICAgfTtcclxuICAgIHRoaXMuY2tFZGl0b3IuZGVmYXVsdENvbmZpZyA9IE9iamVjdC5hc3NpZ24odGhpcy5ja0VkaXRvci5kZWZhdWx0Q29uZmlnIHx8IHt9LCB0b2dnbGVUb29sYmFyQ29uZmlnKTtcclxuICB9XHJcblxyXG4gIGlzRW5hYmxlZEZ1bGxTY3JlZW5Db25maWcoKTogYm9vbGVhbiB7XHJcbiAgICBjb25zdCBwYXR0ZXJuID0gLyhxbXNGdWxsc2NyZWVuKS9nbWk7XHJcbiAgICByZXR1cm4gISF0aGlzLnFtc2NrUGx1Z2luLml0ZW1Ub29sYmFyXHJcbiAgICAgICYmICEhdGhpcy5xbXNja0RhdGEuZnVsbFNjcmVlbkNsYXNzXHJcbiAgICAgICYmIHRoaXMucW1zY2tQbHVnaW4uaXRlbVRvb2xiYXIuc2VhcmNoKHBhdHRlcm4pID4gLTE7XHJcbiAgfVxyXG5cclxuICBhZGRGdWxsU2NyZWVuQ29uZmlnKCkge1xyXG4gICAgY29uc3QgZnVsbFNjcmVlbkNvbmZpZyA9IHtcclxuICAgICAgZnVsbFNjcmVlbkNvbmZpZzoge1xyXG4gICAgICAgIGNsYXNzOiB0aGlzLnFtc2NrRGF0YS5mdWxsU2NyZWVuQ2xhc3NcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgdGhpcy5ja0VkaXRvci5kZWZhdWx0Q29uZmlnID0gT2JqZWN0LmFzc2lnbih0aGlzLmNrRWRpdG9yLmRlZmF1bHRDb25maWcgfHwge30sIGZ1bGxTY3JlZW5Db25maWcpO1xyXG4gIH1cclxuXHJcbiAgaXNFbmFibGVkVE9DVG9vbGJhcigpOiBib29sZWFuIHtcclxuICAgIGNvbnN0IHBhdHRlcm4gPSAvKHRhYmxlT2ZDb250ZW50cykvZ21pO1xyXG4gICAgcmV0dXJuICEhdGhpcy5xbXNja0RhdGEudGFibGVPZkNvbnRlbnRIZWFkaW5nc1xyXG4gICAgICAmJiAhIXRoaXMucW1zY2tQbHVnaW4uaXRlbVRvb2xiYXJcclxuICAgICAgJiYgdGhpcy5xbXNja1BsdWdpbi5pdGVtVG9vbGJhci5zZWFyY2gocGF0dGVybikgPiAtMTtcclxuICB9XHJcblxyXG4gIGFkZFRvZ2dsZVRPQ0NvbmZpZygpIHtcclxuICAgIGNvbnN0IGl0ZW1zID0gdGhpcy5xbXNja0RhdGEudGFibGVPZkNvbnRlbnRIZWFkaW5ncy5zcGxpdCgnLCcpO1xyXG4gICAgY29uc3QgdGFibGVPZkNvbnRlbnRzID0ge1xyXG4gICAgICB0YWJsZU9mQ29udGVudHM6IHtcclxuICAgICAgICBzdXBwb3J0ZWRIZWFkaW5nczogaXRlbXNcclxuICAgICAgfVxyXG4gICAgfTtcclxuICAgIHRoaXMuY2tFZGl0b3IuZGVmYXVsdENvbmZpZyA9IE9iamVjdC5hc3NpZ24odGhpcy5ja0VkaXRvci5kZWZhdWx0Q29uZmlnIHx8IHt9LCB0YWJsZU9mQ29udGVudHMpO1xyXG4gIH1cclxuXHJcbiAgaXNFbmFibGVkVGltZXN0YW1wQ29uZmlnKCk6IGJvb2xlYW4ge1xyXG4gICAgY29uc3QgcGF0dGVybiA9IC8odGltZXN0YW1wKS9nbWk7XHJcbiAgICByZXR1cm4gISF0aGlzLnFtc2NrRGF0YS50aW1lc3RhbXBGb3JtYXRcclxuICAgICAgJiYgISF0aGlzLnFtc2NrUGx1Z2luLml0ZW1Ub29sYmFyXHJcbiAgICAgICYmIHRoaXMucW1zY2tQbHVnaW4uaXRlbVRvb2xiYXIuc2VhcmNoKHBhdHRlcm4pID4gLTE7XHJcbiAgfVxyXG5cclxuICBhZGRUaW1lc3RhbXBDb25maWcoKSB7XHJcbiAgICBjb25zdCB0aW1lc3RhbXBDb25maWcgPSB7XHJcbiAgICAgIHRpbWVzdGFtcENvbmZpZzoge1xyXG4gICAgICAgIGRhdGV0aW1lRm9ybWF0OiB0aGlzLnFtc2NrRGF0YS50aW1lc3RhbXBGb3JtYXRcclxuICAgICAgfVxyXG4gICAgfTtcclxuICAgIHRoaXMuY2tFZGl0b3IuZGVmYXVsdENvbmZpZyA9IE9iamVjdC5hc3NpZ24odGhpcy5ja0VkaXRvci5kZWZhdWx0Q29uZmlnIHx8IHt9LCB0aW1lc3RhbXBDb25maWcpO1xyXG4gIH1cclxuXHJcbiAgaXNFbmFibGVkTWF0aHR5cGVDb25maWcoKTogYm9vbGVhbiB7XHJcbiAgICBjb25zdCBwYXR0ZXJuID0gLyhNYXRoVHlwZSl8KENoZW1UeXBlKS9nbWk7XHJcbiAgICByZXR1cm4gISF0aGlzLnFtc2NrRGF0YS5tYXRodHlwZVNlcnZpY2VVcmxcclxuICAgICAgJiYgISF0aGlzLnFtc2NrUGx1Z2luLml0ZW1Ub29sYmFyXHJcbiAgICAgICYmIHRoaXMucW1zY2tQbHVnaW4uaXRlbVRvb2xiYXIuc2VhcmNoKHBhdHRlcm4pID4gLTE7XHJcbiAgfVxyXG5cclxuICBhZGRNYXRoVHlwZUNvbmZpZygpIHtcclxuICAgIGNvbnN0IG1hdGhUeXBlQ29uZmlnID0ge1xyXG4gICAgICBtYXRoVHlwZVBhcmFtZXRlcnM6IHtcclxuICAgICAgICBzZXJ2aWNlUHJvdmlkZXJQcm9wZXJ0aWVzOiB7XHJcbiAgICAgICAgICBVUkk6IHRoaXMucW1zY2tEYXRhLm1hdGh0eXBlU2VydmljZVVybCxcclxuICAgICAgICAgIHNlcnZlcjogJ2FzcHgnXHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9O1xyXG4gICAgdGhpcy5ja0VkaXRvci5kZWZhdWx0Q29uZmlnID0gT2JqZWN0LmFzc2lnbih0aGlzLmNrRWRpdG9yLmRlZmF1bHRDb25maWcgfHwge30sIG1hdGhUeXBlQ29uZmlnKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBvbkNoYW5nZWQoeyBlZGl0b3IgfSkge1xyXG4gICAgLy90aGlzLnFtc2NrQ29udGVudElucHV0ID0gZWRpdG9yLmdldERhdGEoKTtcclxuICAgIHRoaXMucW1zY2tDb250ZW50T3V0cHV0LmVtaXQodGhpcy5xbXNja0NvbnRlbnRJbnB1dCk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgb25CbHVyKHsgZWRpdG9yIH0pIHtcclxuICAgIHRoaXMucW1zY2tDb250ZW50SW5wdXQgPSBlZGl0b3IuZ2V0RGF0YSgpO1xyXG4gICAgdGhpcy5xbXNja0NvbnRlbnRPdXRwdXQuZW1pdCh0aGlzLnFtc2NrQ29udGVudElucHV0KTtcclxuICB9XHJcblxyXG4gIHZhbGlkYXRlKGM6IEZvcm1Db250cm9sKSB7XHJcbiAgICBpZiAoIXRoaXMucmVxdWlyZWQpIHtcclxuICAgICAgcmV0dXJuIG51bGw7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gKHRoaXMucW1zY2tDb250ZW50SW5wdXQgJiYgIXRoaXMucmVxdWlyZWQpID8gbnVsbCA6IHtcclxuICAgICAgdHlwZToge1xyXG4gICAgICAgIHZhbGlkOiBmYWxzZSxcclxuICAgICAgICBhY3R1YWw6IGMudmFsdWVcclxuICAgICAgfVxyXG4gICAgfTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIG9uUmVhZHlcclxuICAgKi9cclxuICBwdWJsaWMgb25SZWFkeShlZGl0b3IpIHtcclxuICAgIHRoaXMuZWRpdG9ySW5zdGFuY2UgPSBlZGl0b3I7XHJcbiAgICBpZiAodGhpcy5xbXNja0NvbnRlbnRJbnB1dCkge1xyXG4gICAgICBlZGl0b3Iuc2V0RGF0YSh0aGlzLnFtc2NrQ29udGVudElucHV0KTtcclxuICAgIH1cclxuICAgIHRoaXMuaW5pdEVkaXRvcihlZGl0b3IpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBpbml0RWRpdG9yKGVkaXRvcikge1xyXG4gICAgY29uc3QgaW1hZ2VVcGxvYWRUeXBlcyA9IGVkaXRvci5jb25maWcuZ2V0KCdpbWFnZS51cGxvYWQudHlwZXMnKTtcclxuICAgIGNvbnN0IG1heEZpbGVTaXplTUIgPSB0aGlzLnFtc2NrRGF0YS5tYXhGaWxlU2l6ZU1CO1xyXG4gICAgY29uc3QgY29uZmlnOiBRbXNVcGxvYWRBZGFwdGVyQ29uZmlnID0geyBhcGlVcmw6IHRoaXMucW1zY2tEYXRhLmFwaVVybCwgTEFORzogdGhpcy5MQU5HLCBpbWFnZVVwbG9hZFR5cGVzLCBtYXhGaWxlU2l6ZU1CIH07XHJcbiAgICBlZGl0b3IucGx1Z2lucy5nZXQoXCJGaWxlUmVwb3NpdG9yeVwiKS5jcmVhdGVVcGxvYWRBZGFwdGVyID0gKGxvYWRlcikgPT4ge1xyXG4gICAgICByZXR1cm4gbmV3IFFtc1VwbG9hZEFkYXB0ZXIobG9hZGVyLCBjb25maWcpO1xyXG4gICAgfTtcclxuXHJcbiAgICBlZGl0b3IudWlcclxuICAgICAgLmdldEVkaXRhYmxlRWxlbWVudCgpXHJcbiAgICAgIC5wYXJlbnRFbGVtZW50Lmluc2VydEJlZm9yZShlZGl0b3IudWkudmlldy50b29sYmFyLmVsZW1lbnQsIGVkaXRvci51aS5nZXRFZGl0YWJsZUVsZW1lbnQoKSk7XHJcblxyXG4gICAgLy8gQXBwZWQgV29yZGNvdW50IHRvIENLZWRpdG9yXHJcbiAgICBlZGl0b3IucGx1Z2lucy5nZXQoJ1dvcmRDb3VudCcpLm9uKCd1cGRhdGUnLCAoZXZ0LCBzdGF0cykgPT4ge1xyXG4gICAgICAvLyBQcmludHMgdGhlIGN1cnJlbnQgY29udGVudCBzdGF0aXN0aWNzLlxyXG4gICAgICBjb25zdCB3b3Jkc0JveCA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJy53b3JkY291bnQtY29udGVudCcpO1xyXG4gICAgICBpZiAoISF3b3Jkc0JveCkge1xyXG4gICAgICAgIHdvcmRzQm94LnRleHRDb250ZW50ID0gYCR7dGhpcy5MQU5HLlFNU0NLRURJVE9SLldPUkRTfTogJHtzdGF0cy53b3Jkc30gLyAke3RoaXMuTEFORy5RTVNDS0VESVRPUi5DSEFSQUNURVJTfTogJHtzdGF0cy5jaGFyYWN0ZXJzfWA7XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogQWRkIHRlbXBsYXRlIC0gTG9hZCB0ZW1wbGF0ZVxyXG4gICAqL1xyXG4gIHB1YmxpYyB0ZW1wbGF0ZUV2ZW50SGFuZGxpbmcoKSB7XHJcbiAgICBjb25zdCBkYXRhOiBRTVNDS0VkaXRvclRlbXBsYXRlID0gbmV3IFFNU0NLRWRpdG9yVGVtcGxhdGUoKTtcclxuICAgIGRhdGEuaWQgPSAwO1xyXG4gICAgZGF0YS5jb250ZW50ID0gdGhpcy5xbXNja0NvbnRlbnRJbnB1dDtcclxuICAgIGRhdGEuZWRpdCA9IGZhbHNlO1xyXG4gICAgY29uc3QgZGlhbG9nVGVtcGxhdGUgPSB0aGlzLmRpYWxvZy5vcGVuKFFNU0NLRWRpdG9yVGVtcGxhdGVDb21wb25lbnQsIHtcclxuICAgICAgd2lkdGg6ICc2NTBweCcsXHJcbiAgICAgIGhlaWdodDogJzUyMHB4JyxcclxuICAgICAgZGF0YSxcclxuICAgICAgZGlzYWJsZUNsb3NlOiB0cnVlXHJcbiAgICB9KTtcclxuICAgIGRpYWxvZ1RlbXBsYXRlXHJcbiAgICAgIC5hZnRlckNsb3NlZCgpXHJcbiAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLm5nVW5zdWJjcmliZSkpXHJcbiAgICAgIC5zdWJzY3JpYmUoKHJlc3VsdCkgPT4ge1xyXG4gICAgICAgIGlmIChyZXN1bHQpIHtcclxuICAgICAgICAgIC8vIFRET1xyXG4gICAgICAgIH1cclxuICAgICAgfSk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBBZGQgdGVtcGxhdGUgLSBMb2FkIHRlbXBsYXRlXHJcbiAgICovXHJcbiAgcHVibGljIGxvYWRUZW1wbGF0ZUV2ZW50SGFuZGxpbmcoKSB7XHJcbiAgICBjb25zdCBkaWFsb2dUZW1wbGF0ZSA9IHRoaXMuZGlhbG9nLm9wZW4oUU1TQ0tFZGl0b3JMb2FkVGVtcGxhdGVDb21wb25lbnQsIHtcclxuICAgICAgd2lkdGg6ICc2NTBweCcsXHJcbiAgICAgIGhlaWdodDogJzcwMHB4JyxcclxuICAgICAgZGF0YTogdGhpcy5xbXNja0NvbnRlbnRJbnB1dCxcclxuICAgICAgZGlzYWJsZUNsb3NlOiB0cnVlXHJcbiAgICB9KTtcclxuICAgIGRpYWxvZ1RlbXBsYXRlXHJcbiAgICAgIC5hZnRlckNsb3NlZCgpXHJcbiAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLm5nVW5zdWJjcmliZSkpXHJcbiAgICAgIC5zdWJzY3JpYmUoKHJlc3VsdCkgPT4ge1xyXG4gICAgICAgIGlmIChyZXN1bHQpIHtcclxuICAgICAgICAgIGNvbnN0IGV2dCA9IG5ldyBDdXN0b21FdmVudCh0aGlzLmNrRWRpdG9yRXZlbnRDb25zdC5RTVNDS19MT0FEX1RFTVBMQVRFX1BMVUdJTl9SRVNQLCB7XHJcbiAgICAgICAgICAgIGRldGFpbDogcmVzdWx0XHJcbiAgICAgICAgICB9KTtcclxuICAgICAgICAgIHdpbmRvdy5kaXNwYXRjaEV2ZW50KGV2dCk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9KTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEFuY2hvciAtIExpbmsgLSBJbWFnZSBtYXBwaW5nXHJcbiAgICovXHJcbiAgcHVibGljIGxpbmtFdmVudEhhbmRsaW5nKGxpbmspIHtcclxuICAgIGxldCBkYXRhID0gbmV3IFFNU0NLRWRpdG9yTGluaygpO1xyXG4gICAgZGF0YSA9IGxpbms7XHJcbiAgICBkYXRhLmVkaXRvckNvbnRlbnQgPSB0aGlzLnFtc2NrQ29udGVudElucHV0O1xyXG4gICAgZGF0YS5tb2R1bGUgPSB0aGlzLnFtc2NrRGF0YS5tb2R1bGU7XHJcbiAgICBkYXRhLmVudGl0eUlkID0gdGhpcy5xbXNja0RhdGEuZW50aXR5SWQ7XHJcbiAgICBjb25zdCBkaWFsb2dUZW1wbGF0ZSA9IHRoaXMuZGlhbG9nLm9wZW4oUU1TQ0tFZGl0b3JMaW5rQ29tcG9uZW50LCB7XHJcbiAgICAgIHdpZHRoOiAnNjUwcHgnLFxyXG4gICAgICBoZWlnaHQ6ICc2NjBweCcsXHJcbiAgICAgIGRhdGEsXHJcbiAgICAgIGRpc2FibGVDbG9zZTogdHJ1ZVxyXG4gICAgfSk7XHJcbiAgICBkaWFsb2dUZW1wbGF0ZVxyXG4gICAgICAuYWZ0ZXJDbG9zZWQoKVxyXG4gICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5uZ1Vuc3ViY3JpYmUpKVxyXG4gICAgICAuc3Vic2NyaWJlKChyZXN1bHQpID0+IHtcclxuICAgICAgICBpZiAocmVzdWx0KSB7XHJcbiAgICAgICAgICBjb25zdCBldnQgPSBuZXcgQ3VzdG9tRXZlbnQodGhpcy5ja0VkaXRvckV2ZW50Q29uc3QuUU1TQ0tfTElOS19QTFVHSU5fUkVTUCwge1xyXG4gICAgICAgICAgICBkZXRhaWw6IHJlc3VsdFxyXG4gICAgICAgICAgfSk7XHJcbiAgICAgICAgICB3aW5kb3cuZGlzcGF0Y2hFdmVudChldnQpO1xyXG4gICAgICAgIH1cclxuICAgICAgfSk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBUb29sdGlwIG1hcHBpbmdcclxuICAgKi9cclxuICBwdWJsaWMgdG9vbHRpcEV2ZW50SGFuZGxpbmcodmFsdWUpIHtcclxuICAgIGxldCBkYXRhID0gbmV3IFFNU0NLRWRpdG9yVG9vbHRpcCgpO1xyXG4gICAgZGF0YS50ZXh0ID0gdmFsdWUudGV4dDtcclxuICAgIGRhdGEuY29udGVudCA9IHZhbHVlLmNvbnRlbnQ7XHJcbiAgICBkYXRhLmNrRWRpdG9yID0gdGhpcy5xbXNja1BsdWdpbi5wbHVnaW5PYmplY3Q7XHJcblxyXG4gICAgY29uc3QgZGlhbG9nVGVtcGxhdGUgPSB0aGlzLmRpYWxvZy5vcGVuKFFNU0NLRWRpdG9yVG9vbHRpcENvbXBvbmVudCwge1xyXG4gICAgICB3aWR0aDogJzY1MHB4JyxcclxuICAgICAgaGVpZ2h0OiAnNTU1cHgnLFxyXG4gICAgICBkYXRhLFxyXG4gICAgICBkaXNhYmxlQ2xvc2U6IHRydWVcclxuICAgIH0pO1xyXG4gICAgZGlhbG9nVGVtcGxhdGVcclxuICAgICAgLmFmdGVyQ2xvc2VkKClcclxuICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMubmdVbnN1YmNyaWJlKSlcclxuICAgICAgLnN1YnNjcmliZSgocmVzdWx0KSA9PiB7XHJcbiAgICAgICAgaWYgKHJlc3VsdCkge1xyXG4gICAgICAgICAgY29uc3QgZXZ0ID0gbmV3IEN1c3RvbUV2ZW50KHRoaXMuY2tFZGl0b3JFdmVudENvbnN0LlFNU0NLX1RPT0xUSVBfUExVR0lOX1JFU1AsIHtcclxuICAgICAgICAgICAgZGV0YWlsOiByZXN1bHRcclxuICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgd2luZG93LmRpc3BhdGNoRXZlbnQoZXZ0KTtcclxuICAgICAgICB9XHJcbiAgICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAqIEltYWdlTWFwIG1hcHBpbmdcclxuICovXHJcbiAgcHVibGljIGltYWdlTWFwRXZlbnRIYW5kbGluZyh2YWx1ZSkge1xyXG4gICAgbGV0IGRhdGEgPSBuZXcgUU1TQ0tFZGl0b3JJbWFnZU1hcCgpO1xyXG4gICAgZGF0YS5uYW1lID0gdmFsdWUubmFtZTtcclxuICAgIGRhdGEuYXJlYXMgPSB2YWx1ZS5hcmVhcztcclxuICAgIGRhdGEuaW1hZ2VVcmwgPSB2YWx1ZS5pbWFnZVVybDtcclxuICAgIGRhdGEuaW1hZ2VXaWR0aCA9IHZhbHVlLmltYWdlV2lkdGg7XHJcbiAgICBkYXRhLmltYWdlSGVpZ2h0ID0gdmFsdWUuaW1hZ2VIZWlnaHQ7XHJcbiAgICBkYXRhLm1vZHVsZSA9IHRoaXMucW1zY2tEYXRhLm1vZHVsZTtcclxuICAgIGRhdGEuZW50aXR5SWQgPSB0aGlzLnFtc2NrRGF0YS5lbnRpdHlJZDtcclxuICAgIGRhdGEuZWRpdG9yQ29udGVudCA9IHRoaXMucW1zY2tDb250ZW50SW5wdXQ7XHJcbiAgICBkYXRhLmxpbmtKYXZhU2NyaXB0TGlua3NBbGxvd2VkID0gdGhpcy5xbXNja0RhdGEubGlua0phdmFTY3JpcHRMaW5rc0FsbG93ZWQ7XHJcbiAgICBjb25zdCBkaWFsb2dUZW1wbGF0ZSA9IHRoaXMuZGlhbG9nLm9wZW4oUU1TQ0tFZGl0b3JJbWFnZU1hcENvbXBvbmVudCwge1xyXG4gICAgICBkYXRhLFxyXG4gICAgICBkaXNhYmxlQ2xvc2U6IHRydWVcclxuICAgIH0pO1xyXG4gICAgZGlhbG9nVGVtcGxhdGVcclxuICAgICAgLmFmdGVyQ2xvc2VkKClcclxuICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMubmdVbnN1YmNyaWJlKSlcclxuICAgICAgLnN1YnNjcmliZSgocmVzdWx0KSA9PiB7XHJcbiAgICAgICAgaWYgKHJlc3VsdCkge1xyXG4gICAgICAgICAgY29uc3QgZXZ0ID0gbmV3IEN1c3RvbUV2ZW50KHRoaXMuY2tFZGl0b3JFdmVudENvbnN0LlFNU0NLX0lNQUdFTUFQX1BMVUdJTl9SRVNQLCB7XHJcbiAgICAgICAgICAgIGRldGFpbDogcmVzdWx0XHJcbiAgICAgICAgICB9KTtcclxuICAgICAgICAgIHdpbmRvdy5kaXNwYXRjaEV2ZW50KGV2dCk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9KTtcclxuICB9XHJcblxyXG4gIC8qXHJcbiAgICBCdXNpbmVzcyBQcm9jZXNzIE1vZGVsIGFuZCBOb3RhdGlvblxyXG4gICovXHJcbiAgcHVibGljIGJwbW5FdmVudEhhbmRsaW5nKGlkOiBzdHJpbmcpIHtcclxuICAgIGxldCBkYXRhID0gbmV3IFFNU0NLRWRpdG9yQnBtbkRhdGEoKTtcclxuICAgIGRhdGEuaWQgPSBpZDtcclxuICAgIGRhdGEubW9kdWxlID0gdGhpcy5xbXNja0RhdGEubW9kdWxlO1xyXG4gICAgZGF0YS5lbnRpdHlJZCA9IHRoaXMucW1zY2tEYXRhLmVudGl0eUlkO1xyXG4gICAgZGF0YS5lZGl0b3JDb250ZW50ID0gdGhpcy5xbXNja0NvbnRlbnRJbnB1dDtcclxuICAgIGNvbnN0IGRpYWxvZ1RlbXBsYXRlID0gdGhpcy5kaWFsb2cub3BlbihRTVNDS0VkaXRvckJwbW5Db21wb25lbnQsIHtcclxuICAgICAgd2lkdGg6ICc4OXZ3JyxcclxuICAgICAgbWF4V2lkdGg6ICcxMDB2dycsXHJcbiAgICAgIGhlaWdodDogJzcwMHB4JyxcclxuICAgICAgbWF4SGVpZ2h0OiAnMTAwdncnLFxyXG4gICAgICBkYXRhOiBkYXRhLFxyXG4gICAgICBkaXNhYmxlQ2xvc2U6IHRydWVcclxuICAgIH0pO1xyXG4gICAgZGlhbG9nVGVtcGxhdGVcclxuICAgICAgLmFmdGVyQ2xvc2VkKClcclxuICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMubmdVbnN1YmNyaWJlKSlcclxuICAgICAgLnN1YnNjcmliZSgocmVzdWx0KSA9PiB7XHJcbiAgICAgICAgaWYgKHJlc3VsdCkge1xyXG4gICAgICAgICAgY29uc3QgZXZ0ID0gbmV3IEN1c3RvbUV2ZW50KHRoaXMuY2tFZGl0b3JFdmVudENvbnN0LlFNU0NLX0JQTU5fUExVR0lOX1JFU1AsIHtcclxuICAgICAgICAgICAgZGV0YWlsOiByZXN1bHRcclxuICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgd2luZG93LmRpc3BhdGNoRXZlbnQoZXZ0KTtcclxuICAgICAgICB9XHJcbiAgICAgIH0pO1xyXG4gIH1cclxuICAvKlxyXG4gICBBYm91dCBDS0VkaXRvclxyXG4gKi9cclxuICBwdWJsaWMgYWJvdXRDS0VkaXRvckV2ZW50SGFuZGxpbmcodmVyc2lvbjogc3RyaW5nKSB7XHJcbiAgICBjb25zdCBkaWFsb2dUZW1wbGF0ZSA9IHRoaXMuZGlhbG9nLm9wZW4oUU1TQ0tFZGl0b3JBYm91dENvbXBvbmVudCwge1xyXG4gICAgICB3aWR0aDogJzUwMHB4JyxcclxuICAgICAgZGF0YTogdmVyc2lvbixcclxuICAgICAgZGlzYWJsZUNsb3NlOiB0cnVlXHJcbiAgICB9KTtcclxuICAgIGRpYWxvZ1RlbXBsYXRlXHJcbiAgICAgIC5hZnRlckNsb3NlZCgpXHJcbiAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLm5nVW5zdWJjcmliZSkpXHJcbiAgICAgIC5zdWJzY3JpYmUoKHJlc3VsdCkgPT4ge1xyXG5cclxuICAgICAgfSk7XHJcbiAgfVxyXG5cclxuICAvKlxyXG4gICAgVG9vbGJhciB0b2dnbGVcclxuICAqL1xyXG4gIHB1YmxpYyB0b2dnbGVUb29sYmFyRXZlbnRIYW5kbGluZygpIHtcclxuICAgIGNvbnN0IHFtc2NrZWRpdG9yID0gd2luZG93LmRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdxbXNja2VkaXRvcicpO1xyXG4gICAgY29uc3QgdG9nZ2xlQXR0cmlidXRlID0gJ2lzVG9nZ2xlVG9vbGJhcic7XHJcbiAgICBjb25zdCBja2VkaXRvclRhZyA9ICdja2VkaXRvcic7XHJcblxyXG4gICAgaWYgKHFtc2NrZWRpdG9yKSB7XHJcbiAgICAgIGNvbnN0IGlzVG9nZ2xlVG9vbGJhciA9IHFtc2NrZWRpdG9yLmdldEF0dHJpYnV0ZSh0b2dnbGVBdHRyaWJ1dGUpID09ICd0cnVlJztcclxuICAgICAgaWYgKGlzVG9nZ2xlVG9vbGJhcikge1xyXG4gICAgICAgIHRoaXMuY2tlZGl0b3JDb25maWcgPSBDS0VkaXRvckNvbW1vbkZ1bmN0aW9ucy5nZXRDS0VkaXRvckNvbmZpZ3VyYXRpb24odGhpcy5xbXNja1BsdWdpbi5pdGVtVG9vbGJhcik7XHJcbiAgICAgICAgcW1zY2tlZGl0b3Iuc2V0QXR0cmlidXRlKHRvZ2dsZUF0dHJpYnV0ZSwgJ2ZhbHNlJyk7XHJcbiAgICAgIH1cclxuICAgICAgZWxzZSB7XHJcbiAgICAgICAgdGhpcy5ja2VkaXRvckNvbmZpZyA9IENLRWRpdG9yQ29tbW9uRnVuY3Rpb25zLmdldENLRWRpdG9yQ29uZmlndXJhdGlvbih0aGlzLnFtc2NrRGF0YS50b2dnbGVUb29sYmFyKTtcclxuICAgICAgICBxbXNja2VkaXRvci5zZXRBdHRyaWJ1dGUodG9nZ2xlQXR0cmlidXRlLCAndHJ1ZScpXHJcbiAgICAgIH1cclxuXHJcbiAgICAgIGNvbnN0IG9uQ2hhbmdlZCA9IHRoaXMub25DaGFuZ2VkLmJpbmQodGhpcyk7XHJcbiAgICAgIGNvbnN0IG9uQmx1ciA9IHRoaXMub25CbHVyLmJpbmQodGhpcyk7XHJcblxyXG4gICAgICBpZiAodGhpcy5lZGl0b3JJbnN0YW5jZSkge1xyXG4gICAgICAgIHRyeSB7XHJcbiAgICAgICAgICB0aGlzLmVkaXRvckluc3RhbmNlLmRlc3Ryb3koKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgY2F0Y2ggKGVycikge1xyXG4gICAgICAgICAgY29uc29sZS5sb2coZXJyKTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIC8vVGhpcyBpcyBhIHRlbXBvcmFyeSB3b3JrYXJvdW5kLlxyXG4gICAgICAvL1RyYWNraW5nIHN0YXR1cyBhbmQgcHJvZ3Jlc3Mgb2YgdGhlIGlzc3VlIGh0dHBzOi8vZ2l0aHViLmNvbS9ja2VkaXRvci9ja2VkaXRvcjUvaXNzdWVzLzczODNcclxuICAgICAgY29uc3Qgcm9vdCA9IHdpbmRvdy5kb2N1bWVudC5xdWVyeVNlbGVjdG9yKGNrZWRpdG9yVGFnKTtcclxuICAgICAgaWYgKCEhcm9vdCkge1xyXG4gICAgICAgIGxldCBlZGl0b3JFbGVtZW50ID0gbnVsbDtcclxuICAgICAgICBpZiAocm9vdC5jaGlsZEVsZW1lbnRDb3VudCA+IDApIHtcclxuICAgICAgICAgIGVkaXRvckVsZW1lbnQgPSBBcnJheS5mcm9tKHJvb3QuY2hpbGRyZW4pLmZpbmQoaSA9PiBpLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCkgPT0gdGhpcy5ja1RhZ25hbWUudG9Mb3dlckNhc2UoKSk7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgIGVkaXRvckVsZW1lbnQgPSB3aW5kb3cuZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0aGlzLmNrVGFnbmFtZSk7XHJcbiAgICAgICAgICBlZGl0b3JFbGVtZW50LnN0eWxlID0gJ2Rpc3BsYXk6IG5vbmU7JztcclxuICAgICAgICAgIHJvb3QuYXBwZW5kQ2hpbGQoZWRpdG9yRWxlbWVudCk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICB0aGlzLmNrRWRpdG9yLmNyZWF0ZShlZGl0b3JFbGVtZW50LCB0aGlzLmNrZWRpdG9yQ29uZmlnKS50aGVuKGVkaXRvciA9PiB7XHJcbiAgICAgICAgICB0aGlzLmluaXRFZGl0b3IoZWRpdG9yKTtcclxuICAgICAgICAgIHRoaXMuZWRpdG9ySW5zdGFuY2UgPSBlZGl0b3I7XHJcblxyXG4gICAgICAgICAgLy9EZWxldGUgY2FjaGUgY29udGVudFxyXG4gICAgICAgICAgZWRpdG9yRWxlbWVudC5pbm5lckhUTUwgPSAnJztcclxuXHJcbiAgICAgICAgICAvL3NldHVwIGVkaXRvciBldmVudHNcclxuICAgICAgICAgIGNvbnN0IG1vZGVsRG9jdW1lbnQgPSBlZGl0b3IubW9kZWwuZG9jdW1lbnQ7XHJcbiAgICAgICAgICBjb25zdCB2aWV3RG9jdW1lbnQgPSBlZGl0b3IuZWRpdGluZy52aWV3LmRvY3VtZW50O1xyXG4gICAgICAgICAgbW9kZWxEb2N1bWVudC5vbignY2hhbmdlOmRhdGEnLCAoKSA9PiB7XHJcbiAgICAgICAgICAgIG9uQ2hhbmdlZCh7IGVkaXRvciB9KTtcclxuICAgICAgICAgIH0pO1xyXG5cclxuICAgICAgICAgIHZpZXdEb2N1bWVudC5vbignYmx1cicsICgpID0+IHtcclxuICAgICAgICAgICAgb25CbHVyKHsgZWRpdG9yIH0pO1xyXG4gICAgICAgICAgfSk7XHJcbiAgICAgICAgfSk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8qKlxyXG4gKiBGbG93Y2hhcnRcclxuICovXHJcbiAgcHVibGljIGZsb3djaGFydEV2ZW50SGFuZGxpbmcoaWQ6IHN0cmluZykge1xyXG4gICAgY29uc3QgZGlhbG9nVGVtcGxhdGUgPSB0aGlzLmRpYWxvZy5vcGVuKFFNU0NLRWRpdG9yRmxvd2NoYXJ0Q29tcG9uZW50LCB7XHJcbiAgICAgIHdpZHRoOiAnODl2dycsXHJcbiAgICAgIG1heFdpZHRoOiAnMTAwdncnLFxyXG4gICAgICBoZWlnaHQ6ICc3MjVweCcsXHJcbiAgICAgIG1heEhlaWdodDogJzEwMHZ3JyxcclxuICAgICAgZGF0YTogaWQsXHJcbiAgICAgIGRpc2FibGVDbG9zZTogdHJ1ZVxyXG4gICAgfSk7XHJcbiAgICBkaWFsb2dUZW1wbGF0ZVxyXG4gICAgICAuYWZ0ZXJDbG9zZWQoKVxyXG4gICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5uZ1Vuc3ViY3JpYmUpKVxyXG4gICAgICAuc3Vic2NyaWJlKChyZXN1bHQpID0+IHtcclxuICAgICAgICBpZiAocmVzdWx0KSB7XHJcbiAgICAgICAgICBpZiAocmVzdWx0KSB7XHJcbiAgICAgICAgICAgIGNvbnN0IGV2dCA9IG5ldyBDdXN0b21FdmVudCh0aGlzLmNrRWRpdG9yRXZlbnRDb25zdC5RTVNDS19GTE9XQ0hBUlRfUExVR0lOX1JFU1AsIHtcclxuICAgICAgICAgICAgICBkZXRhaWw6IHJlc3VsdFxyXG4gICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgd2luZG93LmRpc3BhdGNoRXZlbnQoZXZ0KTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogQnJvd3NlIFZpZGVvXHJcbiAgICovXHJcbiAgcHVibGljIGJyb3dzZVZpZGVvRXZlbnRIYW5kbGluZyh2YWx1ZSkge1xyXG4gICAgdGhpcy50cmVlU2VydmljZVxyXG4gICAgICAuZ2V0VXBsb2FkVmlkZW9MaXN0KClcclxuICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMubmdVbnN1YmNyaWJlKSlcclxuICAgICAgLnN1YnNjcmliZSgocmVzcG9uc2UpID0+IHtcclxuICAgICAgICBjb25zdCB2aWRlb3MgPSByZXNwb25zZSB8fCBbXTtcclxuICAgICAgICBjb25zdCBjb25maWcgPSB7XHJcbiAgICAgICAgICBhbGxvd1NlbGVjdEZvbGRlcjogZmFsc2UsXHJcbiAgICAgICAgICBhcmVhT2ZDdXJyZW50UHJvY2VzczogJycsXHJcbiAgICAgICAgICBzaG93Q2hlY2tCb3g6IHRydWUsXHJcbiAgICAgICAgICBhbGxvd011bHRpcGxlQ2hlY2s6IHZhbHVlLmFsbG93TXVsdGlwbGVGaWxlcyxcclxuICAgICAgICAgIG9ubHlDaGVja0JveEZvckNoaWxkOiB0cnVlLFxyXG4gICAgICAgICAgbW9kdWxlSWQ6IERhdGFUeXBlLmRvY3VtZW50LFxyXG4gICAgICAgICAgb3Blbkljb246ICdmb2xkZXJfb3BlbicsXHJcbiAgICAgICAgICBvcGVuSWNvbkNvbG9yOiAnIzE5NTRBOScsXHJcbiAgICAgICAgICBjbG9zZUljb246ICdmb2xkZXJfZmlsbGVkJyxcclxuICAgICAgICAgIGNsb3NlSWNvbkNvbG9yOiAnIzRhY2FmZicsXHJcbiAgICAgICAgICBpdGVtSWNvbjogJ2luc2VydF9kcml2ZV9maWxlJyxcclxuICAgICAgICAgIGl0ZW1JY29uUGF0aDogJycsXHJcbiAgICAgICAgICBpdGVtSWNvbkJhc2U2NDogJycsXHJcbiAgICAgICAgICBzaW5nbGVTZWxlY3RlZE5vZGU6IHRydWUsXHJcbiAgICAgICAgICBleHBhbmRBbGw6IHRydWVcclxuICAgICAgICB9O1xyXG4gICAgICAgIGNvbnN0IGRhdGE6IFBvcHVwRGF0YSA9IG5ldyBQb3B1cERhdGEoKTtcclxuICAgICAgICBkYXRhLm1vZHVsZUlkID0gMjtcclxuICAgICAgICBkYXRhLm1vZHVsZU5hbWUgPSB0aGlzLkxBTkcuUU1TQ0tFRElUT1IuU0VMRUNUX1ZJREVPX0ZST01fQVJDSElWRTtcclxuICAgICAgICBkYXRhLnRyZWVEYXRhMSA9IHZpZGVvcy5tYXAoKGl0ZW0pID0+IHtcclxuICAgICAgICAgIHJldHVybiB7XHJcbiAgICAgICAgICAgIHJvb3RJZDogaXRlbS5yb290SWQsXHJcbiAgICAgICAgICAgIHBhcmVudElkOiBpdGVtLnBhcmVudElkLFxyXG4gICAgICAgICAgICByb290TmFtZTogaXRlbS5yb290TmFtZSxcclxuICAgICAgICAgICAgc3ViTmFtZTogaXRlbS5zdWJOYW1lLFxyXG4gICAgICAgICAgICBjaGlsZElkOiBpdGVtLmNoaWxkSWQsXHJcbiAgICAgICAgICAgIGNoaWxkTmFtZTogaXRlbS5jaGlsZE5hbWUsXHJcbiAgICAgICAgICAgIHN0YXR1c0lkOiBpdGVtLnN0YXR1c0lkLFxyXG4gICAgICAgICAgICBkaXNwbGF5SWQ6IGl0ZW0uZGlzcGxheUlkLFxyXG4gICAgICAgICAgICBjb250ZW50VHlwZTogaXRlbS5jb250ZW50VHlwZSxcclxuICAgICAgICAgICAgdXJsOiBpdGVtLnVybFxyXG4gICAgICAgICAgfTtcclxuICAgICAgICB9KTtcclxuICAgICAgICBkYXRhLnRyZWVEYXRhMiA9IFtdO1xyXG4gICAgICAgIGRhdGEudHJlZUNvbmZpZzEgPSBjb25maWc7XHJcbiAgICAgICAgY29uc3QgZGlhbG9nUmVmID0gdGhpcy5kaWFsb2cub3BlbihSZWxhdGVkUG9wdXBDb21wb25lbnQsIHtcclxuICAgICAgICAgIG1pbldpZHRoOiAnNDUwcHgnLFxyXG4gICAgICAgICAgbWF4V2lkdGg6ICc4MDBweCcsXHJcbiAgICAgICAgICBtaW5IZWlnaHQ6ICc2MjBweCcsXHJcbiAgICAgICAgICBkYXRhLFxyXG4gICAgICAgICAgcGFuZWxDbGFzczogJ3Ftc2NrZWRpdG9yLWJyb3dzZS12aWRlby1wb3B1cCdcclxuICAgICAgICB9KTtcclxuXHJcbiAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgICAgICBjb25zdCBzZWFyY2hCb3ggPSB3aW5kb3cuZG9jdW1lbnQucXVlcnlTZWxlY3RvcignLnFtc2NrZWRpdG9yLWJyb3dzZS12aWRlby1wb3B1cCAjcW1zbGliX3JlbGF0ZWRfcG9wdXBfc2VhcmNoJykgYXMgSFRNTEVsZW1lbnQ7XHJcbiAgICAgICAgICBpZiAoc2VhcmNoQm94KSB7XHJcbiAgICAgICAgICAgIHNlYXJjaEJveC5zdHlsZS5kaXNwbGF5ID0gJ25vbmUnO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH0sIDEwMCk7XHJcblxyXG4gICAgICAgIGRpYWxvZ1JlZlxyXG4gICAgICAgICAgLmFmdGVyQ2xvc2VkKClcclxuICAgICAgICAgIC5zdWJzY3JpYmUoKHJlc3VsdCkgPT4ge1xyXG4gICAgICAgICAgICBpZiAocmVzdWx0KSB7XHJcbiAgICAgICAgICAgICAgY29uc3QgaWRzID0gcmVzdWx0LnJlZHVjZSgocmVzdWx0LCBpdGVtKSA9PiB7XHJcbiAgICAgICAgICAgICAgICByZXN1bHRbaXRlbS5pZC50b1N0cmluZygpXSA9IGl0ZW0uaWQ7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gcmVzdWx0O1xyXG4gICAgICAgICAgICAgIH0sIHt9KTtcclxuICAgICAgICAgICAgICBjb25zdCB1cmxzID0gdmlkZW9zLmZpbHRlcihpID0+IGkuY2hpbGRJZCAmJiAhIWlkc1tpLmNoaWxkSWQudG9TdHJpbmcoKV0pLm1hcChpID0+IGkudXJsKTtcclxuICAgICAgICAgICAgICBjb25zdCBldnQgPSBuZXcgQ3VzdG9tRXZlbnQodGhpcy5ja0VkaXRvckV2ZW50Q29uc3QuUU1TQ0tfQlJPV1NFX1ZJREVPX1JFU1AsIHsgZGV0YWlsOiB7IHVybHM6IHVybHMgfSB9KTtcclxuICAgICAgICAgICAgICB3aW5kb3cuZGlzcGF0Y2hFdmVudChldnQpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9KTtcclxuICAgICAgfSk7XHJcbiAgfVxyXG59XHJcbiJdfQ==
652
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicW1zLWNrZWRpdG9yLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Ftcy1hbmd1bGFyL3NyYy9saWIvcW1zLWNrZWRpdG9yLWNvbXBvbmVudHMvcW1zLWNrZWRpdG9yLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWlCLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsWUFBWSxFQUFFLFVBQVUsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFVLE1BQU0sRUFBRSxTQUFTLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0wsT0FBTyxFQUFlLGFBQWEsRUFBRSxpQkFBaUIsRUFBYSxNQUFNLGdCQUFnQixDQUFDO0FBQzFGLE9BQU8sRUFBRSxTQUFTLEVBQW1CLE1BQU0sMEJBQTBCLENBQUM7QUFDdEUsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzNDLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLDBDQUEwQyxDQUFDO0FBQ25GLE9BQU8sRUFBRSxnQkFBZ0IsRUFBMEIsTUFBTSxtQ0FBbUMsQ0FBQztBQUM3RixPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSwyQ0FBMkMsQ0FBQztBQUMvRSxPQUFPLHVCQUF1QixNQUFNLG9DQUFvQyxDQUFDO0FBR3pFLE9BQU8sZUFBZSxNQUFNLHdDQUF3QyxDQUFDO0FBQ3JFLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLDREQUE0RCxDQUFDO0FBQ3RHLE9BQU8sRUFBRSw4QkFBOEIsRUFBRSxNQUFNLHdFQUF3RSxDQUFDO0FBQ3hILE9BQU8sRUFBRSw0QkFBNEIsRUFBRSxNQUFNLG9FQUFvRSxDQUFDO0FBQ2xILE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLDREQUE0RCxDQUFDO0FBQ3RHLE9BQU8sRUFBRSxnQ0FBZ0MsRUFBRSxNQUFNLDhFQUE4RSxDQUFD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QixFQUFFLEVBQUUsTUFBTSxFQUFFLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxFQUFFLENBQUMsQ0FBQztvQkFDekcsTUFBTSxDQUFDLGFBQWEsQ0FBQyxHQUFHLENBQUMsQ0FBQztpQkFDM0I7WUFDSCxDQUFDLENBQUMsQ0FBQztRQUNQLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQzs7O1lBMXBCRixTQUFTLFNBQUM7Z0JBQ1QsUUFBUSxFQUFFLGNBQWM7Z0JBQ3hCLG1qQkFBNEM7Z0JBRTVDLFNBQVMsRUFBRTtvQkFDVCw4QkFBOEI7b0JBQzlCO3dCQUNFLE9BQU8sRUFBRSxpQkFBaUI7d0JBQzFCLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsb0JBQW9CLENBQUM7d0JBQ25ELEtBQUssRUFBRSxJQUFJO3FCQUNaO29CQUNEO3dCQUNFLE9BQU8sRUFBRSxhQUFhO3dCQUN0QixXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLG9CQUFvQixDQUFDO3dCQUNuRCxLQUFLLEVBQUUsSUFBSTtxQkFDWjtpQkFDRjtnQkFDRCxhQUFhLEVBQUUsaUJBQWlCLENBQUMsSUFBSTtnQkFDckMsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07O2FBQ2hEOzs7WUFqRFEsU0FBUztZQUVULHVCQUF1QjtZQWtCdkIsd0JBQXdCO1lBT3hCLHNCQUFzQjtZQWpCdEIsOEJBQThCO1lBWmdHLFNBQVM7WUFBcEYsVUFBVTs7O3dCQXFEbkUsS0FBSzswQkFDTCxLQUFLO2dDQUNMLEtBQUs7eUJBQ0wsS0FBSyxTQUFDLFVBQVU7dUJBQ2hCLEtBQUssU0FBQyxVQUFVO2lDQUNoQixNQUFNO3dCQVlOLFlBQVksU0FBQyxnQkFBZ0IsRUFBRSxDQUFDLFFBQVEsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFmdGVyVmlld0luaXQsIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIEVsZW1lbnRSZWYsIEV2ZW50RW1pdHRlciwgZm9yd2FyZFJlZiwgSG9zdExpc3RlbmVyLCBJbnB1dCwgT25Jbml0LCBPdXRwdXQsIFJlbmRlcmVyMiwgVmlld0VuY2Fwc3VsYXRpb24gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgRm9ybUNvbnRyb2wsIE5HX1ZBTElEQVRPUlMsIE5HX1ZBTFVFX0FDQ0VTU09SLCBWYWxpZGF0b3IgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IE1hdERpYWxvZywgTWF0RGlhbG9nQ29uZmlnIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGlhbG9nJztcclxuaW1wb3J0IHsgdGFrZVVudGlsIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5pbXBvcnQgeyBUcmFuc2xhdGVMaWJyYXJ5U2VydmljZSB9IGZyb20gJy4uL3NlcnZpY2VzL3RyYW5zbGF0aW9uLXJlZ2lzdHJ5LnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBRbXNVcGxvYWRBZGFwdGVyLCBRbXNVcGxvYWRBZGFwdGVyQ29uZmlnIH0gZnJvbSAnLi9jb21tb24vY2xhc3Nlcy9xbXNVcGxvYWRBZGFwdGVyJztcclxuaW1wb3J0IHsgQ0tFZGl0b3JFdmVudENvbnN0IH0gZnJvbSAnLi9jb21tb24vY29uc3RhbnRzL2NrZWRpdG9yRXZlbnQuY29uc3RhbnQnO1xyXG5pbXBvcnQgQ0tFZGl0b3JDb21tb25GdW5jdGlvbnMgZnJvbSAnLi9jb21tb24vZnVuY3Rpb25zL2NvbW1vbi5mdW5jdGlvbic7XHJcbmltcG9ydCB7IFFNU0NLRWRpdG9yRGF0YSB9IGZyb20gJy4vY29tbW9uL21vZGVscy9xbXMtY2tlZGl0b3ItZGF0YS5tb2RlbCc7XHJcbmltcG9ydCB7IFFNU0NLRWRpdG9yUGx1Z2luIH0gZnJvbSAnLi9jb21tb24vbW9kZWxzL3Ftcy1ja2VkaXRvci1wbHVnaW4ubW9kZWwnO1xyXG5pbXBvcnQgUU1TQ0tFZGl0b3JMaW5rIGZyb20gJy4vY29tbW9uL21vZGVscy9xbXMtY2tlZGl0b3ItdXJsLm1vZGVsJztcclxuaW1wb3J0IHsgUU1TQ0tFZGl0b3JCcG1uQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL3Ftcy1ja2VkaXRvci1icG1uL3Ftcy1ja2VkaXRvci1icG1uLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFFNU0NLRWRpdG9yRnVsbHNjcmVlbkNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9xbXMtY2tlZGl0b3ItZnVsbHNjcmVlbi9xbXMtY2tlZGl0b3ItZnVsbHNjcmVlbi5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBRTVNDS0VkaXRvckltYWdlTWFwQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL3Ftcy1ja2VkaXRvci1pbWFnZW1hcC9xbXMtY2tlZGl0b3ItaW1hZ2VtYXAuY29tcG9uZW50JztcclxuaW1wb3J0IHsgUU1TQ0tFZGl0b3JMaW5rQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL3Ftcy1ja2VkaXRvci1saW5rL3Ftcy1ja2VkaXRvci1saW5rLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFFNU0NLRWRpdG9yTG9hZFRlbXBsYXRlQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL3Ftcy1ja2VkaXRvci1sb2FkLXRlbXBsYXRlL3Ftcy1ja2VkaXRvci1sb2FkLXRlbXBsYXRlLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFFNU0NLRWRpdG9yVGVtcGxhdGVDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvcW1zLWNrZWRpdG9yLXRlbXBsYXRlL3Ftcy1ja2VkaXRvci10ZW1wbGF0ZS5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBRTVNDS0VkaXRvclRvb2x0aXBDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvcW1zLWNrZWRpdG9yLXRvb2x0aXAvcW1zLWNrZWRpdG9yLXRvb2x0aXAuY29tcG9uZW50JztcclxuaW1wb3J0IHsgUU1TQ0tFZGl0b3JJbWFnZU1hcCB9IGZyb20gJy4vbW9kZWxzL3Ftcy1ja2VkaXRvci1pbWFnZW1hcC5tb2RlbCc7XHJcbmltcG9ydCB7IFFNU0NLRWRpdG9yVGVtcGxhdGUgfSBmcm9tICcuL21vZGVscy9xbXMtY2tlZGl0b3ItdGVtcGxhdGUubW9kZWwnO1xyXG5pbXBvcnQgeyBRTVNDS0VkaXRvclRvb2x0aXAgfSBmcm9tICcuL21vZGVscy9xbXMtY2tlZGl0b3ItdG9vbHRpcC5tb2RlbCc7XHJcbmltcG9ydCB7IFFNU0NLRWRpdG9yQmFzZUNvbXBvbmVudCB9IGZyb20gJy4vcW1zLWNrZWRpdG9yLWJhc2UuY29tcG9uZW50JztcclxuaW1wb3J0IHsgUU1TQ0tFZGl0b3JHbG9iYWxTZXJ2aWNlIH0gZnJvbSAnLi9zZXJ2aWNlcy9xbXMtY2tlZGl0b3ItZ2xvYmFsLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBRTVNDS0VkaXRvckFib3V0Q29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL3Ftcy1ja2VkaXRvci1hYm91dC9xbXMtY2tlZGl0b3ItYWJvdXQuY29tcG9uZW50JztcclxuLy9pbXBvcnQgeyBDS0VkaXRvcjUgfSBmcm9tICdAY2tlZGl0b3IvY2tlZGl0b3I1LWFuZ3VsYXIvY2tlZGl0b3InO1xyXG5pbXBvcnQgeyBRTVNDS0VkaXRvckJwbW5EYXRhIH0gZnJvbSAnLi9tb2RlbHMvcW1zLWNrZWRpdG9yLWJwbW4tZGF0YS5tb2RlbCc7XHJcbmltcG9ydCB7IERhdGFUeXBlIH0gZnJvbSAnLi4vY29tcG9uZW50cy9yZWxhdGVkL2NvbW1vbi9kYXRhLXR5cGUuZW51bSc7XHJcbmltcG9ydCB7IFBvcHVwRGF0YSB9IGZyb20gJy4uL2NvbXBvbmVudHMvcmVsYXRlZC9tb2RlbC9wb3B1cC1kYXRhLm1vZGVsJztcclxuaW1wb3J0IHsgUmVsYXRlZFBvcHVwQ29tcG9uZW50IH0gZnJvbSAnLi4vY29tcG9uZW50cy9yZWxhdGVkL3BvcHVwL3JlbGF0ZWQtcG9wdXAuY29tcG9uZW50JztcclxuaW1wb3J0IHsgUU1TQ0tFZGl0b3JUcmVlU2VydmljZSB9IGZyb20gJy4vc2VydmljZXMvcW1zLWNrZWRpdG9yLXRyZWUuc2VydmljZSc7XHJcbmltcG9ydCB7IFFNU0NLRWRpdG9yRmxvd2NoYXJ0Q29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL3Ftcy1ja2VkaXRvci1mbG93Y2hhcnQvcW1zLWNrZWRpdG9yLWZsb3djaGFydC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBRbXNDa2VkaXRvckxpbmtTaW1wbGVDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvcW1zLWNrZWRpdG9yLWxpbmstc2ltcGxlL3Ftcy1ja2VkaXRvci1saW5rLXNpbXBsZS5jb21wb25lbnQnO1xyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ3Ftcy1ja2VkaXRvcicsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL3Ftcy1ja2VkaXRvci5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vcW1zLWNrZWRpdG9yLmNvbXBvbmVudC5zY3NzJ10sXHJcbiAgcHJvdmlkZXJzOiBbXHJcbiAgICBRTVNDS0VkaXRvckZ1bGxzY3JlZW5Db21wb25lbnQsXHJcbiAgICB7XHJcbiAgICAgIHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxyXG4gICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBRTVNDS0VkaXRvckNvbXBvbmVudCksXHJcbiAgICAgIG11bHRpOiB0cnVlXHJcbiAgICB9LFxyXG4gICAge1xyXG4gICAgICBwcm92aWRlOiBOR19WQUxJREFUT1JTLFxyXG4gICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBRTVNDS0VkaXRvckNvbXBvbmVudCksXHJcbiAgICAgIG11bHRpOiB0cnVlXHJcbiAgICB9XHJcbiAgXSxcclxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxyXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBRTVNDS0VkaXRvckNvbXBvbmVudCBleHRlbmRzIFFNU0NLRWRpdG9yQmFzZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgQWZ0ZXJWaWV3SW5pdCwgVmFsaWRhdG9yIHtcclxuICBASW5wdXQoKSBxbXNja0RhdGE6IFFNU0NLRWRpdG9yRGF0YTtcclxuICBASW5wdXQoKSBxbXNja1BsdWdpbjogUU1TQ0tFZGl0b3JQbHVnaW47XHJcbiAgQElucHV0KCkgcW1zY2tDb250ZW50SW5wdXQ6IHN0cmluZztcclxuICBASW5wdXQoJ2Rpc2FibGVkJykgaXNEaXNhYmxlZDogYm9vbGVhbjtcclxuICBASW5wdXQoJ3JlcXVpcmVkJykgcmVxdWlyZWQ6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBAT3V0cHV0KCkgcW1zY2tDb250ZW50T3V0cHV0OiBFdmVudEVtaXR0ZXI8c3RyaW5nPiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuXHJcbiAgTEFORzogYW55O1xyXG4gIGNrRWRpdG9yOiBhbnk7XHJcbiAgbmFtZTogc3RyaW5nO1xyXG4gIGNrZWRpdG9yQ29uZmlnOiBhbnk7XHJcbiAgY2tFZGl0b3JFdmVudENvbnN0ID0gQ0tFZGl0b3JFdmVudENvbnN0O1xyXG4gIGNvdW50V29yZDogbnVtYmVyO1xyXG4gIGNvdW50Q2hhcjogbnVtYmVyO1xyXG4gIGVkaXRvckluc3RhbmNlOiBhbnk7XHJcbiAgY2tUYWduYW1lOiBzdHJpbmc7XHJcblxyXG4gIEBIb3N0TGlzdGVuZXIoJ3dpbmRvdzptZXNzYWdlJywgWyckZXZlbnQnXSlcclxuICBvbk1lc3NhZ2UoZXZlbnQpIHtcclxuICAgIHN3aXRjaCAoZXZlbnQuZGF0YS5ldmVudE5hbWUpIHtcclxuICAgICAgY2FzZSB0aGlzLmNrRWRpdG9yRXZlbnRDb25zdC5RTVNDS19URU1QTEFURV9QTFVHSU5fTVNHOlxyXG4gICAgICAgIHRoaXMudGVtcGxhdGVFdmVudEhhbmRsaW5nKCk7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIGNhc2UgdGhpcy5ja0VkaXRvckV2ZW50Q29uc3QuUU1TQ0tfTE9BRF9URU1QTEFURV9QTFVHSU5fTVNHOlxyXG4gICAgICAgIHRoaXMubG9hZFRlbXBsYXRlRXZlbnRIYW5kbGluZygpO1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICBjYXNlIHRoaXMuY2tFZGl0b3JFdmVudENvbnN0LlFNU0NLX0xJTktfUExVR0lOX01TRzpcclxuICAgICAgICB0aGlzLmxpbmtFdmVudEhhbmRsaW5nKGV2ZW50LmRhdGEudmFsdWUpO1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICBjYXNlIHRoaXMuY2tFZGl0b3JFdmVudENvbnN0LlFNU0NLX1RPT0xUSVBfUExVR0lOX01TRzpcclxuICAgICAgICB0aGlzLnRvb2x0aXBFdmVudEhhbmRsaW5nKGV2ZW50LmRhdGEudmFsdWUpO1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICBjYXNlIHRoaXMuY2tFZGl0b3JFdmVudENvbnN0LlFNU0NLX0lNQUdFTUFQX1BMVUdJTl9NU0c6XHJcbiAgICAgICAgdGhpcy5pbWFnZU1hcEV2ZW50SGFuZGxpbmcoZXZlbnQuZGF0YS52YWx1ZSk7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIGNhc2UgdGhpcy5ja0VkaXRvckV2ZW50Q29uc3QuUU1TQ0tfQlBNTl9QTFVHSU5fTVNHOlxyXG4gICAgICAgIHRoaXMuYnBtbkV2ZW50SGFuZGxpbmcoZXZlbnQuZGF0YS52YWx1ZSk7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIGNhc2UgdGhpcy5ja0VkaXRvckV2ZW50Q29uc3QuUU1TQ0tfQUJPVVRfQ0tFRElUT1JfUExVR0lOX01TRzpcclxuICAgICAgICB0aGlzLmFib3V0Q0tFZGl0b3JFdmVudEhhbmRsaW5nKGV2ZW50LmRhdGEudmFsdWUpO1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICBjYXNlIHRoaXMuY2tFZGl0b3JFdmVudENvbnN0LlFNU0NLX0ZMT1dDSEFSVF9QTFVHSU5fTVNHOlxyXG4gICAgICAgIHRoaXMuZmxvd2NoYXJ0RXZlbnRIYW5kbGluZyhldmVudC5kYXRhLnZhbHVlKTtcclxuICAgICAgICBicmVhaztcclxuICAgICAgY2FzZSB0aGlzLmNrRWRpdG9yRXZlbnRDb25zdC5RTVNDS19UT0dHTEVfVE9PTEJBUl9NU0c6XHJcbiAgICAgICAgdGhpcy50b2dnbGVUb29sYmFyRXZlbnRIYW5kbGluZygpO1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICBjYXNlIHRoaXMuY2tFZGl0b3JFdmVudENvbnN0LlFNU0NLX0JST1dTRV9WSURFT19NU0c6XHJcbiAgICAgICAgdGhpcy5icm93c2VWaWRlb0V2ZW50SGFuZGxpbmcoZXZlbnQuZGF0YS52YWx1ZSk7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIGRlZmF1bHQ6XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBDb25zdHJ1Y3RvclxyXG4gICAqL1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgZGlhbG9nOiBNYXREaWFsb2csXHJcbiAgICBwcml2YXRlIHRyYW5zbGF0ZTogVHJhbnNsYXRlTGlicmFyeVNlcnZpY2UsXHJcbiAgICBwcml2YXRlIGdsb2JhbFNlcnZpY2U6IFFNU0NLRWRpdG9yR2xvYmFsU2VydmljZSxcclxuICAgIHByaXZhdGUgdHJlZVNlcnZpY2U6IFFNU0NLRWRpdG9yVHJlZVNlcnZpY2UsXHJcbiAgICBwcml2YXRlIHFtc0NLRWRpdG9yRnVsbHNjcmVlbkNvbXBvbmVudDogUU1TQ0tFZGl0b3JGdWxsc2NyZWVuQ29tcG9uZW50LFxyXG4gICAgcHJpdmF0ZSByZW5kZXJlcjogUmVuZGVyZXIyLFxyXG4gICAgcHJpdmF0ZSBlbFJlZjogRWxlbWVudFJlZlxyXG4gICkge1xyXG4gICAgc3VwZXIoKTtcclxuICAgIHRoaXMuY2tUYWduYW1lID0gJ2Rpdic7XHJcbiAgfVxyXG5cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIHRoaXMubmFtZSA9ICdDS0VkaXRvciBjdXN0b20gYnVpbGQnO1xyXG4gICAgdGhpcy5ja0VkaXRvciA9IHRoaXMucW1zY2tQbHVnaW4ucGx1Z2luT2JqZWN0O1xyXG4gICAgdGhpcy50cmFuc2xhdGUuZ2V0TGFuZ3VhZ2VTdWJqZWN0JC5waXBlKHRha2VVbnRpbCh0aGlzLm5nVW5zdWJjcmliZSkpLnN1YnNjcmliZSgocmVzKSA9PiB7XHJcbiAgICAgIGlmIChyZXMpIHtcclxuICAgICAgICB0aGlzLkxBTkcgPSB0aGlzLnRyYW5zbGF0ZS5nZXRPYmplY3RMYW5nKHJlcyk7XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gICAgdGhpcy5ja2VkaXRvckNvbmZpZyA9IENLRWRpdG9yQ29tbW9uRnVuY3Rpb25zLmdldENLRWRpdG9yQ29uZmlndXJhdGlvbih0aGlzLnFtc2NrUGx1Z2luLml0ZW1Ub29sYmFyKTtcclxuICAgIHRoaXMuZ2xvYmFsU2VydmljZS5zZXRBcGlVcmwodGhpcy5xbXNja0RhdGEuYXBpVXJsKTtcclxuICAgIGlmICh0aGlzLmlzRW5hYmxlZE1hdGh0eXBlQ29uZmlnKCkpIHtcclxuICAgICAgdGhpcy5hZGRNYXRoVHlwZUNvbmZpZygpO1xyXG4gICAgfVxyXG5cclxuICAgIGlmICh0aGlzLmlzRW5hYmxlZFRpbWVzdGFtcENvbmZpZygpKSB7XHJcbiAgICAgIHRoaXMuYWRkVGltZXN0YW1wQ29uZmlnKCk7XHJcbiAgICB9XHJcbiAgICBpZiAodGhpcy5pc0VuYWJsZWRUb2dnbGVUb29sYmFyKCkpIHtcclxuICAgICAgdGhpcy5hZGRUb2dnbGVUb29sYmFyQ29uZmlnKCk7XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKHRoaXMuaXNFbmFibGVkV1Byb29mcmVhZGVyKCkpIHtcclxuICAgICAgdGhpcy5hZGRXUHJvb2ZyZWFkZXJDb25maWcoKTtcclxuICAgIH1cclxuICAgIGlmICh0aGlzLmlzRW5hYmxlZFRPQ1Rvb2xiYXIoKSkge1xyXG4gICAgICB0aGlzLmFkZFRvZ2dsZVRPQ0NvbmZpZygpO1xyXG4gICAgfVxyXG4gICAgaWYgKHRoaXMuaXNFbmFibGVkRnVsbFNjcmVlbkNvbmZpZygpKSB7XHJcbiAgICAgIHRoaXMuYWRkRnVsbFNjcmVlbkNvbmZpZygpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgbmdPbkRlc3Ryb3koKSB7XHJcbiAgICBpZiAodGhpcy5lZGl0b3JJbnN0YW5jZSkge1xyXG4gICAgICB0aGlzLmVkaXRvckluc3RhbmNlLmRlc3Ryb3koKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIG9uQ2hhbmdlOiAoY29udGVudDogYW55KSA9PiB2b2lkO1xyXG4gIG9uVG91Y2hlZDogKCkgPT4gdm9pZDtcclxuXHJcbiAgcmVnaXN0ZXJPbkNoYW5nZShmbjogYW55KTogdm9pZCB7XHJcbiAgICB0aGlzLm9uQ2hhbmdlID0gZm47XHJcbiAgfVxyXG4gIHJlZ2lzdGVyT25Ub3VjaGVkKGZuOiBhbnkpOiB2b2lkIHtcclxuICAgIHRoaXMub25Ub3VjaGVkID0gZm47XHJcbiAgfVxyXG5cclxuICBuZ0FmdGVyVmlld0luaXQoKSB7XHJcbiAgICBpZiAodGhpcy5pc0Rpc2FibGVkKSB7XHJcbiAgICAgIHRoaXMucmVuZGVyZXIuYWRkQ2xhc3ModGhpcy5lbFJlZi5uYXRpdmVFbGVtZW50LCAnY2stZGlzYWJsZWQnKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGlzRW5hYmxlZFdQcm9vZnJlYWRlcigpOiBib29sZWFuIHtcclxuICAgIGNvbnN0IHBhdHRlcm4gPSAvKHdwcm9vZnJlYWRlcikvZ21pO1xyXG4gICAgcmV0dXJuICEhdGhpcy5xbXNja0RhdGEud3Byb29mcmVhZGVyXHJcbiAgICAgICYmICEhdGhpcy5xbXNja0RhdGEud3Byb29mcmVhZGVyLnNyY1VybFxyXG4gICAgICAmJiAhIXRoaXMucW1zY2tQbHVnaW4uaXRlbVRvb2xiYXJcclxuICAgICAgJiYgdGhpcy5xbXNja1BsdWdpbi5pdGVtVG9vbGJhci5zZWFyY2gocGF0dGVybikgPiAtMTtcclxuICB9XHJcblxyXG4gIGFkZFdQcm9vZnJlYWRlckNvbmZpZygpIHtcclxuICAgIGNvbnN0IHdwcm9vZnJlYWRlckNvbmZpZyA9IHtcclxuICAgICAgd3Byb29mcmVhZGVyOiB7XHJcbiAgICAgICAgLi4udGhpcy5xbXNja0RhdGEud3Byb29mcmVhZGVyXHJcbiAgICAgIH1cclxuICAgIH07XHJcbiAgICBpZiAoIXRoaXMucW1zY2tEYXRhLndwcm9vZnJlYWRlci5zZXJ2aWNlSWQgfHwgdGhpcy5xbXNja0RhdGEud3Byb29mcmVhZGVyLnNlcnZpY2VJZC5sZW5ndGggPT0gMCkge1xyXG4gICAgICAvL0ZhbGxiYWNrIHZhbHVlIG9mIHNlcnZpY2VJZCBwcm9wZXJ0eSB0byBkZW1vIHNlcnZpY2VJZFxyXG4gICAgICB0aGlzLnFtc2NrRGF0YS53cHJvb2ZyZWFkZXIuc2VydmljZUlkID0gJzE6S3BrdlEyLTZLTlVqLUwxVzN1Mi1DOWowSzEtWnYydFkxLUNmRE94LVdmR1JnMi1xWHRjaS1ZeXlFMzQtajA5SDQyLWIwYUN0My1kOWEnO1xyXG4gICAgfVxyXG4gICAgdGhpcy5ja0VkaXRvci5kZWZhdWx0Q29uZmlnID0gT2JqZWN0LmFzc2lnbih0aGlzLmNrRWRpdG9yLmRlZmF1bHRDb25maWcgfHwge30sIHdwcm9vZnJlYWRlckNvbmZpZyk7XHJcbiAgfVxyXG5cclxuICBpc0VuYWJsZWRUb2dnbGVUb29sYmFyKCk6IGJvb2xlYW4ge1xyXG4gICAgY29uc3QgcGF0dGVybiA9IC8odG9nZ2xlVG9vbGJhcikvZ21pO1xyXG4gICAgcmV0dXJuICEhdGhpcy5xbXNja0RhdGEudG9nZ2xlVG9vbGJhclxyXG4gICAgICAmJiAhIXRoaXMucW1zY2tQbHVnaW4uaXRlbVRvb2xiYXJcclxuICAgICAgJiYgdGhpcy5xbXNja1BsdWdpbi5pdGVtVG9vbGJhci5zZWFyY2gocGF0dGVybikgPiAtMTtcclxuICB9XHJcblxyXG4gIGFkZFRvZ2dsZVRvb2xiYXJDb25maWcoKSB7XHJcbiAgICBjb25zdCBpdGVtcyA9IHRoaXMucW1zY2tEYXRhLnRvZ2dsZVRvb2xiYXIuc3BsaXQoJywnKTtcclxuICAgIGNvbnN0IHRvZ2dsZVRvb2xiYXJDb25maWcgPSB7XHJcbiAgICAgIHRvZ2dsZVRvb2xiYXJDb25maWc6IHtcclxuICAgICAgICB0b29sYmFyOiBpdGVtc1xyXG4gICAgICB9XHJcbiAgICB9O1xyXG4gICAgdGhpcy5ja0VkaXRvci5kZWZhdWx0Q29uZmlnID0gT2JqZWN0LmFzc2lnbih0aGlzLmNrRWRpdG9yLmRlZmF1bHRDb25maWcgfHwge30sIHRvZ2dsZVRvb2xiYXJDb25maWcpO1xyXG4gIH1cclxuXHJcbiAgaXNFbmFibGVkRnVsbFNjcmVlbkNvbmZpZygpOiBib29sZWFuIHtcclxuICAgIGNvbnN0IHBhdHRlcm4gPSAvKHFtc0Z1bGxzY3JlZW4pL2dtaTtcclxuICAgIHJldHVybiAhIXRoaXMucW1zY2tQbHVnaW4uaXRlbVRvb2xiYXJcclxuICAgICAgJiYgISF0aGlzLnFtc2NrRGF0YS5mdWxsU2NyZWVuQ2xhc3NcclxuICAgICAgJiYgdGhpcy5xbXNja1BsdWdpbi5pdGVtVG9vbGJhci5zZWFyY2gocGF0dGVybikgPiAtMTtcclxuICB9XHJcblxyXG4gIGFkZEZ1bGxTY3JlZW5Db25maWcoKSB7XHJcbiAgICBjb25zdCBmdWxsU2NyZWVuQ29uZmlnID0ge1xyXG4gICAgICBmdWxsU2NyZWVuQ29uZmlnOiB7XHJcbiAgICAgICAgY2xhc3M6IHRoaXMucW1zY2tEYXRhLmZ1bGxTY3JlZW5DbGFzc1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICB0aGlzLmNrRWRpdG9yLmRlZmF1bHRDb25maWcgPSBPYmplY3QuYXNzaWduKHRoaXMuY2tFZGl0b3IuZGVmYXVsdENvbmZpZyB8fCB7fSwgZnVsbFNjcmVlbkNvbmZpZyk7XHJcbiAgfVxyXG5cclxuICBpc0VuYWJsZWRUT0NUb29sYmFyKCk6IGJvb2xlYW4ge1xyXG4gICAgY29uc3QgcGF0dGVybiA9IC8odGFibGVPZkNvbnRlbnRzKS9nbWk7XHJcbiAgICByZXR1cm4gISF0aGlzLnFtc2NrRGF0YS50YWJsZU9mQ29udGVudEhlYWRpbmdzXHJcbiAgICAgICYmICEhdGhpcy5xbXNja1BsdWdpbi5pdGVtVG9vbGJhclxyXG4gICAgICAmJiB0aGlzLnFtc2NrUGx1Z2luLml0ZW1Ub29sYmFyLnNlYXJjaChwYXR0ZXJuKSA+IC0xO1xyXG4gIH1cclxuXHJcbiAgYWRkVG9nZ2xlVE9DQ29uZmlnKCkge1xyXG4gICAgY29uc3QgaXRlbXMgPSB0aGlzLnFtc2NrRGF0YS50YWJsZU9mQ29udGVudEhlYWRpbmdzLnNwbGl0KCcsJyk7XHJcbiAgICBjb25zdCB0YWJsZU9mQ29udGVudHMgPSB7XHJcbiAgICAgIHRhYmxlT2ZDb250ZW50czoge1xyXG4gICAgICAgIHN1cHBvcnRlZEhlYWRpbmdzOiBpdGVtc1xyXG4gICAgICB9XHJcbiAgICB9O1xyXG4gICAgdGhpcy5ja0VkaXRvci5kZWZhdWx0Q29uZmlnID0gT2JqZWN0LmFzc2lnbih0aGlzLmNrRWRpdG9yLmRlZmF1bHRDb25maWcgfHwge30sIHRhYmxlT2ZDb250ZW50cyk7XHJcbiAgfVxyXG5cclxuICBpc0VuYWJsZWRUaW1lc3RhbXBDb25maWcoKTogYm9vbGVhbiB7XHJcbiAgICBjb25zdCBwYXR0ZXJuID0gLyh0aW1lc3RhbXApL2dtaTtcclxuICAgIHJldHVybiAhIXRoaXMucW1zY2tEYXRhLnRpbWVzdGFtcEZvcm1hdFxyXG4gICAgICAmJiAhIXRoaXMucW1zY2tQbHVnaW4uaXRlbVRvb2xiYXJcclxuICAgICAgJiYgdGhpcy5xbXNja1BsdWdpbi5pdGVtVG9vbGJhci5zZWFyY2gocGF0dGVybikgPiAtMTtcclxuICB9XHJcblxyXG4gIGFkZFRpbWVzdGFtcENvbmZpZygpIHtcclxuICAgIGNvbnN0IHRpbWVzdGFtcENvbmZpZyA9IHtcclxuICAgICAgdGltZXN0YW1wQ29uZmlnOiB7XHJcbiAgICAgICAgZGF0ZXRpbWVGb3JtYXQ6IHRoaXMucW1zY2tEYXRhLnRpbWVzdGFtcEZvcm1hdFxyXG4gICAgICB9XHJcbiAgICB9O1xyXG4gICAgdGhpcy5ja0VkaXRvci5kZWZhdWx0Q29uZmlnID0gT2JqZWN0LmFzc2lnbih0aGlzLmNrRWRpdG9yLmRlZmF1bHRDb25maWcgfHwge30sIHRpbWVzdGFtcENvbmZpZyk7XHJcbiAgfVxyXG5cclxuICBpc0VuYWJsZWRNYXRodHlwZUNvbmZpZygpOiBib29sZWFuIHtcclxuICAgIGNvbnN0IHBhdHRlcm4gPSAvKE1hdGhUeXBlKXwoQ2hlbVR5cGUpL2dtaTtcclxuICAgIHJldHVybiAhIXRoaXMucW1zY2tEYXRhLm1hdGh0eXBlU2VydmljZVVybFxyXG4gICAgICAmJiAhIXRoaXMucW1zY2tQbHVnaW4uaXRlbVRvb2xiYXJcclxuICAgICAgJiYgdGhpcy5xbXNja1BsdWdpbi5pdGVtVG9vbGJhci5zZWFyY2gocGF0dGVybikgPiAtMTtcclxuICB9XHJcblxyXG4gIGFkZE1hdGhUeXBlQ29uZmlnKCkge1xyXG4gICAgY29uc3QgbWF0aFR5cGVDb25maWcgPSB7XHJcbiAgICAgIG1hdGhUeXBlUGFyYW1ldGVyczoge1xyXG4gICAgICAgIHNlcnZpY2VQcm92aWRlclByb3BlcnRpZXM6IHtcclxuICAgICAgICAgIFVSSTogdGhpcy5xbXNja0RhdGEubWF0aHR5cGVTZXJ2aWNlVXJsLFxyXG4gICAgICAgICAgc2VydmVyOiAnYXNweCdcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH07XHJcbiAgICB0aGlzLmNrRWRpdG9yLmRlZmF1bHRDb25maWcgPSBPYmplY3QuYXNzaWduKHRoaXMuY2tFZGl0b3IuZGVmYXVsdENvbmZpZyB8fCB7fSwgbWF0aFR5cGVDb25maWcpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIG9uQ2hhbmdlZCh7IGVkaXRvciB9KSB7XHJcbiAgICAvL3RoaXMucW1zY2tDb250ZW50SW5wdXQgPSBlZGl0b3IuZ2V0RGF0YSgpO1xyXG4gICAgdGhpcy5xbXNja0NvbnRlbnRPdXRwdXQuZW1pdCh0aGlzLnFtc2NrQ29udGVudElucHV0KTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBvbkJsdXIoeyBlZGl0b3IgfSkge1xyXG4gICAgdGhpcy5xbXNja0NvbnRlbnRJbnB1dCA9IGVkaXRvci5nZXREYXRhKCk7XHJcbiAgICB0aGlzLnFtc2NrQ29udGVudE91dHB1dC5lbWl0KHRoaXMucW1zY2tDb250ZW50SW5wdXQpO1xyXG4gIH1cclxuXHJcbiAgdmFsaWRhdGUoYzogRm9ybUNvbnRyb2wpIHtcclxuICAgIGlmICghdGhpcy5yZXF1aXJlZCkge1xyXG4gICAgICByZXR1cm4gbnVsbDtcclxuICAgIH1cclxuICAgIHJldHVybiAodGhpcy5xbXNja0NvbnRlbnRJbnB1dCAmJiAhdGhpcy5yZXF1aXJlZCkgPyBudWxsIDoge1xyXG4gICAgICB0eXBlOiB7XHJcbiAgICAgICAgdmFsaWQ6IGZhbHNlLFxyXG4gICAgICAgIGFjdHVhbDogYy52YWx1ZVxyXG4gICAgICB9XHJcbiAgICB9O1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogb25SZWFkeVxyXG4gICAqL1xyXG4gIHB1YmxpYyBvblJlYWR5KGVkaXRvcikge1xyXG4gICAgdGhpcy5lZGl0b3JJbnN0YW5jZSA9IGVkaXRvcjtcclxuICAgIGlmICh0aGlzLnFtc2NrQ29udGVudElucHV0KSB7XHJcbiAgICAgIGVkaXRvci5zZXREYXRhKHRoaXMucW1zY2tDb250ZW50SW5wdXQpO1xyXG4gICAgfVxyXG4gICAgdGhpcy5pbml0RWRpdG9yKGVkaXRvcik7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGluaXRFZGl0b3IoZWRpdG9yKSB7XHJcbiAgICBjb25zdCBpbWFnZVVwbG9hZFR5cGVzID0gZWRpdG9yLmNvbmZpZy5nZXQoJ2ltYWdlLnVwbG9hZC50eXBlcycpO1xyXG4gICAgY29uc3QgbWF4RmlsZVNpemVNQiA9IHRoaXMucW1zY2tEYXRhLm1heEZpbGVTaXplTUI7XHJcbiAgICBjb25zdCBjb25maWc6IFFtc1VwbG9hZEFkYXB0ZXJDb25maWcgPSB7IGFwaVVybDogdGhpcy5xbXNja0RhdGEuYXBpVXJsLCBMQU5HOiB0aGlzLkxBTkcsIGltYWdlVXBsb2FkVHlwZXMsIG1heEZpbGVTaXplTUIgfTtcclxuICAgIGVkaXRvci5wbHVnaW5zLmdldChcIkZpbGVSZXBvc2l0b3J5XCIpLmNyZWF0ZVVwbG9hZEFkYXB0ZXIgPSAobG9hZGVyKSA9PiB7XHJcbiAgICAgIHJldHVybiBuZXcgUW1zVXBsb2FkQWRhcHRlcihsb2FkZXIsIGNvbmZpZyk7XHJcbiAgICB9O1xyXG5cclxuICAgIGVkaXRvci51aVxyXG4gICAgICAuZ2V0RWRpdGFibGVFbGVtZW50KClcclxuICAgICAgLnBhcmVudEVsZW1lbnQuaW5zZXJ0QmVmb3JlKGVkaXRvci51aS52aWV3LnRvb2xiYXIuZWxlbWVudCwgZWRpdG9yLnVpLmdldEVkaXRhYmxlRWxlbWVudCgpKTtcclxuXHJcbiAgICAvLyBBcHBlZCBXb3JkY291bnQgdG8gQ0tlZGl0b3JcclxuICAgIGVkaXRvci5wbHVnaW5zLmdldCgnV29yZENvdW50Jykub24oJ3VwZGF0ZScsIChldnQsIHN0YXRzKSA9PiB7XHJcbiAgICAgIC8vIFByaW50cyB0aGUgY3VycmVudCBjb250ZW50IHN0YXRpc3RpY3MuXHJcbiAgICAgIGNvbnN0IHdvcmRzQm94ID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvcignLndvcmRjb3VudC1jb250ZW50Jyk7XHJcbiAgICAgIGlmICghIXdvcmRzQm94KSB7XHJcbiAgICAgICAgd29yZHNCb3gudGV4dENvbnRlbnQgPSBgJHt0aGlzLkxBTkcuUU1TQ0tFRElUT1IuV09SRFN9OiAke3N0YXRzLndvcmRzfSAvICR7dGhpcy5MQU5HLlFNU0NLRURJVE9SLkNIQVJBQ1RFUlN9OiAke3N0YXRzLmNoYXJhY3RlcnN9YDtcclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBBZGQgdGVtcGxhdGUgLSBMb2FkIHRlbXBsYXRlXHJcbiAgICovXHJcbiAgcHVibGljIHRlbXBsYXRlRXZlbnRIYW5kbGluZygpIHtcclxuICAgIGNvbnN0IGRhdGE6IFFNU0NLRWRpdG9yVGVtcGxhdGUgPSBuZXcgUU1TQ0tFZGl0b3JUZW1wbGF0ZSgpO1xyXG4gICAgZGF0YS5pZCA9IDA7XHJcbiAgICBkYXRhLmNvbnRlbnQgPSB0aGlzLnFtc2NrQ29udGVudElucHV0O1xyXG4gICAgZGF0YS5lZGl0ID0gZmFsc2U7XHJcbiAgICBjb25zdCBkaWFsb2dUZW1wbGF0ZSA9IHRoaXMuZGlhbG9nLm9wZW4oUU1TQ0tFZGl0b3JUZW1wbGF0ZUNvbXBvbmVudCwge1xyXG4gICAgICB3aWR0aDogJzY1MHB4JyxcclxuICAgICAgaGVpZ2h0OiAnNTIwcHgnLFxyXG4gICAgICBkYXRhLFxyXG4gICAgICBkaXNhYmxlQ2xvc2U6IHRydWVcclxuICAgIH0pO1xyXG4gICAgZGlhbG9nVGVtcGxhdGVcclxuICAgICAgLmFmdGVyQ2xvc2VkKClcclxuICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMubmdVbnN1YmNyaWJlKSlcclxuICAgICAgLnN1YnNjcmliZSgocmVzdWx0KSA9PiB7XHJcbiAgICAgICAgaWYgKHJlc3VsdCkge1xyXG4gICAgICAgICAgLy8gVERPXHJcbiAgICAgICAgfVxyXG4gICAgICB9KTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEFkZCB0ZW1wbGF0ZSAtIExvYWQgdGVtcGxhdGVcclxuICAgKi9cclxuICBwdWJsaWMgbG9hZFRlbXBsYXRlRXZlbnRIYW5kbGluZygpIHtcclxuICAgIGNvbnN0IGRpYWxvZ1RlbXBsYXRlID0gdGhpcy5kaWFsb2cub3BlbihRTVNDS0VkaXRvckxvYWRUZW1wbGF0ZUNvbXBvbmVudCwge1xyXG4gICAgICB3aWR0aDogJzY1MHB4JyxcclxuICAgICAgaGVpZ2h0OiAnNzAwcHgnLFxyXG4gICAgICBkYXRhOiB0aGlzLnFtc2NrQ29udGVudElucHV0LFxyXG4gICAgICBkaXNhYmxlQ2xvc2U6IHRydWVcclxuICAgIH0pO1xyXG4gICAgZGlhbG9nVGVtcGxhdGVcclxuICAgICAgLmFmdGVyQ2xvc2VkKClcclxuICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMubmdVbnN1YmNyaWJlKSlcclxuICAgICAgLnN1YnNjcmliZSgocmVzdWx0KSA9PiB7XHJcbiAgICAgICAgaWYgKHJlc3VsdCkge1xyXG4gICAgICAgICAgY29uc3QgZXZ0ID0gbmV3IEN1c3RvbUV2ZW50KHRoaXMuY2tFZGl0b3JFdmVudENvbnN0LlFNU0NLX0xPQURfVEVNUExBVEVfUExVR0lOX1JFU1AsIHtcclxuICAgICAgICAgICAgZGV0YWlsOiByZXN1bHRcclxuICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgd2luZG93LmRpc3BhdGNoRXZlbnQoZXZ0KTtcclxuICAgICAgICB9XHJcbiAgICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogQW5jaG9yIC0gTGluayAtIEltYWdlIG1hcHBpbmdcclxuICAgKi9cclxuICBwdWJsaWMgbGlua0V2ZW50SGFuZGxpbmcobGluaykge1xyXG4gICAgbGV0IGRhdGEgPSBuZXcgUU1TQ0tFZGl0b3JMaW5rKCk7XHJcbiAgICBkYXRhID0gbGluaztcclxuICAgIGRhdGEuZWRpdG9yQ29udGVudCA9IHRoaXMucW1zY2tDb250ZW50SW5wdXQ7XHJcbiAgICBkYXRhLm1vZHVsZSA9IHRoaXMucW1zY2tEYXRhLm1vZHVsZTtcclxuICAgIGRhdGEuZW50aXR5SWQgPSB0aGlzLnFtc2NrRGF0YS5lbnRpdHlJZDtcclxuICAgIGxldCBkaWFsb2dUZW1wbGF0ZVxyXG4gICAgaWYoIXRoaXMucW1zY2tQbHVnaW4uc2ltcGxlTW9kZSkge1xyXG4gICAgICBkaWFsb2dUZW1wbGF0ZSA9IHRoaXMuZGlhbG9nLm9wZW4oUU1TQ0tFZGl0b3JMaW5rQ29tcG9uZW50LCB7XHJcbiAgICAgICAgd2lkdGg6ICc2NTBweCcsXHJcbiAgICAgICAgaGVpZ2h0OiAnNjYwcHgnLFxyXG4gICAgICAgIGRhdGEsXHJcbiAgICAgICAgZGlzYWJsZUNsb3NlOiB0cnVlXHJcbiAgICAgIH0pO1xyXG4gICAgfSBlbHNlIHsgXHJcbiAgICAgIGRpYWxvZ1RlbXBsYXRlID0gdGhpcy5kaWFsb2cub3BlbihRbXNDa2VkaXRvckxpbmtTaW1wbGVDb21wb25lbnQsIHtcclxuICAgICAgICB3aWR0aDogJzY1MHB4JyxcclxuICAgICAgICBoZWlnaHQ6ICcyMDBweCcsXHJcbiAgICAgICAgZGF0YSxcclxuICAgICAgICBkaXNhYmxlQ2xvc2U6IHRydWUsXHJcbiAgICAgICAgYXV0b0ZvY3VzOiBmYWxzZSxcclxuICAgICAgfSk7XHJcbiAgICB9XHJcbiAgICBkaWFsb2dUZW1wbGF0ZVxyXG4gICAgICAuYWZ0ZXJDbG9zZWQoKVxyXG4gICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5uZ1Vuc3ViY3JpYmUpKVxyXG4gICAgICAuc3Vic2NyaWJlKChyZXN1bHQpID0+IHtcclxuICAgICAgICBpZiAocmVzdWx0KSB7XHJcbiAgICAgICAgICBjb25zdCBldnQgPSBuZXcgQ3VzdG9tRXZlbnQodGhpcy5ja0VkaXRvckV2ZW50Q29uc3QuUU1TQ0tfTElOS19QTFVHSU5fUkVTUCwge1xyXG4gICAgICAgICAgICBkZXRhaWw6IHJlc3VsdFxyXG4gICAgICAgICAgfSk7XHJcbiAgICAgICAgICB3aW5kb3cuZGlzcGF0Y2hFdmVudChldnQpO1xyXG4gICAgICAgIH1cclxuICAgICAgfSk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBUb29sdGlwIG1hcHBpbmdcclxuICAgKi9cclxuICBwdWJsaWMgdG9vbHRpcEV2ZW50SGFuZGxpbmcodmFsdWUpIHtcclxuICAgIGxldCBkYXRhID0gbmV3IFFNU0NLRWRpdG9yVG9vbHRpcCgpO1xyXG4gICAgZGF0YS50ZXh0ID0gdmFsdWUudGV4dDtcclxuICAgIGRhdGEuY29udGVudCA9IHZhbHVlLmNvbnRlbnQ7XHJcbiAgICBkYXRhLmNrRWRpdG9yID0gdGhpcy5xbXNja1BsdWdpbi5wbHVnaW5PYmplY3Q7XHJcblxyXG4gICAgY29uc3QgZGlhbG9nVGVtcGxhdGUgPSB0aGlzLmRpYWxvZy5vcGVuKFFNU0NLRWRpdG9yVG9vbHRpcENvbXBvbmVudCwge1xyXG4gICAgICB3aWR0aDogJzY1MHB4JyxcclxuICAgICAgaGVpZ2h0OiAnNTU1cHgnLFxyXG4gICAgICBkYXRhLFxyXG4gICAgICBkaXNhYmxlQ2xvc2U6IHRydWVcclxuICAgIH0pO1xyXG4gICAgZGlhbG9nVGVtcGxhdGVcclxuICAgICAgLmFmdGVyQ2xvc2VkKClcclxuICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMubmdVbnN1YmNyaWJlKSlcclxuICAgICAgLnN1YnNjcmliZSgocmVzdWx0KSA9PiB7XHJcbiAgICAgICAgaWYgKHJlc3VsdCkge1xyXG4gICAgICAgICAgY29uc3QgZXZ0ID0gbmV3IEN1c3RvbUV2ZW50KHRoaXMuY2tFZGl0b3JFdmVudENvbnN0LlFNU0NLX1RPT0xUSVBfUExVR0lOX1JFU1AsIHtcclxuICAgICAgICAgICAgZGV0YWlsOiByZXN1bHRcclxuICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgd2luZG93LmRpc3BhdGNoRXZlbnQoZXZ0KTtcclxuICAgICAgICB9XHJcbiAgICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAqIEltYWdlTWFwIG1hcHBpbmdcclxuICovXHJcbiAgcHVibGljIGltYWdlTWFwRXZlbnRIYW5kbGluZyh2YWx1ZSkge1xyXG4gICAgbGV0IGRhdGEgPSBuZXcgUU1TQ0tFZGl0b3JJbWFnZU1hcCgpO1xyXG4gICAgZGF0YS5uYW1lID0gdmFsdWUubmFtZTtcclxuICAgIGRhdGEuYXJlYXMgPSB2YWx1ZS5hcmVhcztcclxuICAgIGRhdGEuaW1hZ2VVcmwgPSB2YWx1ZS5pbWFnZVVybDtcclxuICAgIGRhdGEuaW1hZ2VXaWR0aCA9IHZhbHVlLmltYWdlV2lkdGg7XHJcbiAgICBkYXRhLmltYWdlSGVpZ2h0ID0gdmFsdWUuaW1hZ2VIZWlnaHQ7XHJcbiAgICBkYXRhLm1vZHVsZSA9IHRoaXMucW1zY2tEYXRhLm1vZHVsZTtcclxuICAgIGRhdGEuZW50aXR5SWQgPSB0aGlzLnFtc2NrRGF0YS5lbnRpdHlJZDtcclxuICAgIGRhdGEuZWRpdG9yQ29udGVudCA9IHRoaXMucW1zY2tDb250ZW50SW5wdXQ7XHJcbiAgICBkYXRhLmxpbmtKYXZhU2NyaXB0TGlua3NBbGxvd2VkID0gdGhpcy5xbXNja0RhdGEubGlua0phdmFTY3JpcHRMaW5rc0FsbG93ZWQ7XHJcbiAgICBjb25zdCBkaWFsb2dUZW1wbGF0ZSA9IHRoaXMuZGlhbG9nLm9wZW4oUU1TQ0tFZGl0b3JJbWFnZU1hcENvbXBvbmVudCwge1xyXG4gICAgICBkYXRhLFxyXG4gICAgICBkaXNhYmxlQ2xvc2U6IHRydWVcclxuICAgIH0pO1xyXG4gICAgZGlhbG9nVGVtcGxhdGVcclxuICAgICAgLmFmdGVyQ2xvc2VkKClcclxuICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMubmdVbnN1YmNyaWJlKSlcclxuICAgICAgLnN1YnNjcmliZSgocmVzdWx0KSA9PiB7XHJcbiAgICAgICAgaWYgKHJlc3VsdCkge1xyXG4gICAgICAgICAgY29uc3QgZXZ0ID0gbmV3IEN1c3RvbUV2ZW50KHRoaXMuY2tFZGl0b3JFdmVudENvbnN0LlFNU0NLX0lNQUdFTUFQX1BMVUdJTl9SRVNQLCB7XHJcbiAgICAgICAgICAgIGRldGFpbDogcmVzdWx0XHJcbiAgICAgICAgICB9KTtcclxuICAgICAgICAgIHdpbmRvdy5kaXNwYXRjaEV2ZW50KGV2dCk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9KTtcclxuICB9XHJcblxyXG4gIC8qXHJcbiAgICBCdXNpbmVzcyBQcm9jZXNzIE1vZGVsIGFuZCBOb3RhdGlvblxyXG4gICovXHJcbiAgcHVibGljIGJwbW5FdmVudEhhbmRsaW5nKGlkOiBzdHJpbmcpIHtcclxuICAgIGxldCBkYXRhID0gbmV3IFFNU0NLRWRpdG9yQnBtbkRhdGEoKTtcclxuICAgIGRhdGEuaWQgPSBpZDtcclxuICAgIGRhdGEubW9kdWxlID0gdGhpcy5xbXNja0RhdGEubW9kdWxlO1xyXG4gICAgZGF0YS5lbnRpdHlJZCA9IHRoaXMucW1zY2tEYXRhLmVudGl0eUlkO1xyXG4gICAgZGF0YS5lZGl0b3JDb250ZW50ID0gdGhpcy5xbXNja0NvbnRlbnRJbnB1dDtcclxuICAgIGNvbnN0IGRpYWxvZ1RlbXBsYXRlID0gdGhpcy5kaWFsb2cub3BlbihRTVNDS0VkaXRvckJwbW5Db21wb25lbnQsIHtcclxuICAgICAgd2lkdGg6ICc4OXZ3JyxcclxuICAgICAgbWF4V2lkdGg6ICcxMDB2dycsXHJcbiAgICAgIGhlaWdodDogJzcwMHB4JyxcclxuICAgICAgbWF4SGVpZ2h0OiAnMTAwdncnLFxyXG4gICAgICBkYXRhOiBkYXRhLFxyXG4gICAgICBkaXNhYmxlQ2xvc2U6IHRydWVcclxuICAgIH0pO1xyXG4gICAgZGlhbG9nVGVtcGxhdGVcclxuICAgICAgLmFmdGVyQ2xvc2VkKClcclxuICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMubmdVbnN1YmNyaWJlKSlcclxuICAgICAgLnN1YnNjcmliZSgocmVzdWx0KSA9PiB7XHJcbiAgICAgICAgaWYgKHJlc3VsdCkge1xyXG4gICAgICAgICAgY29uc3QgZXZ0ID0gbmV3IEN1c3RvbUV2ZW50KHRoaXMuY2tFZGl0b3JFdmVudENvbnN0LlFNU0NLX0JQTU5fUExVR0lOX1JFU1AsIHtcclxuICAgICAgICAgICAgZGV0YWlsOiByZXN1bHRcclxuICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgd2luZG93LmRpc3BhdGNoRXZlbnQoZXZ0KTtcclxuICAgICAgICB9XHJcbiAgICAgIH0pO1xyXG4gIH1cclxuICAvKlxyXG4gICBBYm91dCBDS0VkaXRvclxyXG4gKi9cclxuICBwdWJsaWMgYWJvdXRDS0VkaXRvckV2ZW50SGFuZGxpbmcodmVyc2lvbjogc3RyaW5nKSB7XHJcbiAgICBjb25zdCBkaWFsb2dUZW1wbGF0ZSA9IHRoaXMuZGlhbG9nLm9wZW4oUU1TQ0tFZGl0b3JBYm91dENvbXBvbmVudCwge1xyXG4gICAgICB3aWR0aDogJzUwMHB4JyxcclxuICAgICAgZGF0YTogdmVyc2lvbixcclxuICAgICAgZGlzYWJsZUNsb3NlOiB0cnVlXHJcbiAgICB9KTtcclxuICAgIGRpYWxvZ1RlbXBsYXRlXHJcbiAgICAgIC5hZnRlckNsb3NlZCgpXHJcbiAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLm5nVW5zdWJjcmliZSkpXHJcbiAgICAgIC5zdWJzY3JpYmUoKHJlc3VsdCkgPT4ge1xyXG5cclxuICAgICAgfSk7XHJcbiAgfVxyXG5cclxuICAvKlxyXG4gICAgVG9vbGJhciB0b2dnbGVcclxuICAqL1xyXG4gIHB1YmxpYyB0b2dnbGVUb29sYmFyRXZlbnRIYW5kbGluZygpIHtcclxuICAgIGNvbnN0IHFtc2NrZWRpdG9yID0gd2luZG93LmRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdxbXNja2VkaXRvcicpO1xyXG4gICAgY29uc3QgdG9nZ2xlQXR0cmlidXRlID0gJ2lzVG9nZ2xlVG9vbGJhcic7XHJcbiAgICBjb25zdCBja2VkaXRvclRhZyA9ICdja2VkaXRvcic7XHJcblxyXG4gICAgaWYgKHFtc2NrZWRpdG9yKSB7XHJcbiAgICAgIGNvbnN0IGlzVG9nZ2xlVG9vbGJhciA9IHFtc2NrZWRpdG9yLmdldEF0dHJpYnV0ZSh0b2dnbGVBdHRyaWJ1dGUpID09ICd0cnVlJztcclxuICAgICAgaWYgKGlzVG9nZ2xlVG9vbGJhcikge1xyXG4gICAgICAgIHRoaXMuY2tlZGl0b3JDb25maWcgPSBDS0VkaXRvckNvbW1vbkZ1bmN0aW9ucy5nZXRDS0VkaXRvckNvbmZpZ3VyYXRpb24odGhpcy5xbXNja1BsdWdpbi5pdGVtVG9vbGJhcik7XHJcbiAgICAgICAgcW1zY2tlZGl0b3Iuc2V0QXR0cmlidXRlKHRvZ2dsZUF0dHJpYnV0ZSwgJ2ZhbHNlJyk7XHJcbiAgICAgIH1cclxuICAgICAgZWxzZSB7XHJcbiAgICAgICAgdGhpcy5ja2VkaXRvckNvbmZpZyA9IENLRWRpdG9yQ29tbW9uRnVuY3Rpb25zLmdldENLRWRpdG9yQ29uZmlndXJhdGlvbih0aGlzLnFtc2NrRGF0YS50b2dnbGVUb29sYmFyKTtcclxuICAgICAgICBxbXNja2VkaXRvci5zZXRBdHRyaWJ1dGUodG9nZ2xlQXR0cmlidXRlLCAndHJ1ZScpXHJcbiAgICAgIH1cclxuXHJcbiAgICAgIGNvbnN0IG9uQ2hhbmdlZCA9IHRoaXMub25DaGFuZ2VkLmJpbmQodGhpcyk7XHJcbiAgICAgIGNvbnN0IG9uQmx1ciA9IHRoaXMub25CbHVyLmJpbmQodGhpcyk7XHJcblxyXG4gICAgICBpZiAodGhpcy5lZGl0b3JJbnN0YW5jZSkge1xyXG4gICAgICAgIHRyeSB7XHJcbiAgICAgICAgICB0aGlzLmVkaXRvckluc3RhbmNlLmRlc3Ryb3koKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgY2F0Y2ggKGVycikge1xyXG4gICAgICAgICAgY29uc29sZS5sb2coZXJyKTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIC8vVGhpcyBpcyBhIHRlbXBvcmFyeSB3b3JrYXJvdW5kLlxyXG4gICAgICAvL1RyYWNraW5nIHN0YXR1cyBhbmQgcHJvZ3Jlc3Mgb2YgdGhlIGlzc3VlIGh0dHBzOi8vZ2l0aHViLmNvbS9ja2VkaXRvci9ja2VkaXRvcjUvaXNzdWVzLzczODNcclxuICAgICAgY29uc3Qgcm9vdCA9IHdpbmRvdy5kb2N1bWVudC5xdWVyeVNlbGVjdG9yKGNrZWRpdG9yVGFnKTtcclxuICAgICAgaWYgKCEhcm9vdCkge1xyXG4gICAgICAgIGxldCBlZGl0b3JFbGVtZW50ID0gbnVsbDtcclxuICAgICAgICBpZiAocm9vdC5jaGlsZEVsZW1lbnRDb3VudCA+IDApIHtcclxuICAgICAgICAgIGVkaXRvckVsZW1lbnQgPSBBcnJheS5mcm9tKHJvb3QuY2hpbGRyZW4pLmZpbmQoaSA9PiBpLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCkgPT0gdGhpcy5ja1RhZ25hbWUudG9Mb3dlckNhc2UoKSk7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgIGVkaXRvckVsZW1lbnQgPSB3aW5kb3cuZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0aGlzLmNrVGFnbmFtZSk7XHJcbiAgICAgICAgICBlZGl0b3JFbGVtZW50LnN0eWxlID0gJ2Rpc3BsYXk6IG5vbmU7JztcclxuICAgICAgICAgIHJvb3QuYXBwZW5kQ2hpbGQoZWRpdG9yRWxlbWVudCk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICB0aGlzLmNrRWRpdG9yLmNyZWF0ZShlZGl0b3JFbGVtZW50LCB0aGlzLmNrZWRpdG9yQ29uZmlnKS50aGVuKGVkaXRvciA9PiB7XHJcbiAgICAgICAgICB0aGlzLmluaXRFZGl0b3IoZWRpdG9yKTtcclxuICAgICAgICAgIHRoaXMuZWRpdG9ySW5zdGFuY2UgPSBlZGl0b3I7XHJcblxyXG4gICAgICAgICAgLy9EZWxldGUgY2FjaGUgY29udGVudFxyXG4gICAgICAgICAgZWRpdG9yRWxlbWVudC5pbm5lckhUTUwgPSAnJztcclxuXHJcbiAgICAgICAgICAvL3NldHVwIGVkaXRvciBldmVudHNcclxuICAgICAgICAgIGNvbnN0IG1vZGVsRG9jdW1lbnQgPSBlZGl0b3IubW9kZWwuZG9jdW1lbnQ7XHJcbiAgICAgICAgICBjb25zdCB2aWV3RG9jdW1lbnQgPSBlZGl0b3IuZWRpdGluZy52aWV3LmRvY3VtZW50O1xyXG4gICAgICAgICAgbW9kZWxEb2N1bWVudC5vbignY2hhbmdlOmRhdGEnLCAoKSA9PiB7XHJcbiAgICAgICAgICAgIG9uQ2hhbmdlZCh7IGVkaXRvciB9KTtcclxuICAgICAgICAgIH0pO1xyXG5cclxuICAgICAgICAgIHZpZXdEb2N1bWVudC5vbignYmx1cicsICgpID0+IHtcclxuICAgICAgICAgICAgb25CbHVyKHsgZWRpdG9yIH0pO1xyXG4gICAgICAgICAgfSk7XHJcbiAgICAgICAgfSk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8qKlxyXG4gKiBGbG93Y2hhcnRcclxuICovXHJcbiAgcHVibGljIGZsb3djaGFydEV2ZW50SGFuZGxpbmcoaWQ6IHN0cmluZykge1xyXG4gICAgY29uc3QgZGlhbG9nVGVtcGxhdGUgPSB0aGlzLmRpYWxvZy5vcGVuKFFNU0NLRWRpdG9yRmxvd2NoYXJ0Q29tcG9uZW50LCB7XHJcbiAgICAgIHdpZHRoOiAnODl2dycsXHJcbiAgICAgIG1heFdpZHRoOiAnMTAwdncnLFxyXG4gICAgICBoZWlnaHQ6ICc3MjVweCcsXHJcbiAgICAgIG1heEhlaWdodDogJzEwMHZ3JyxcclxuICAgICAgZGF0YTogaWQsXHJcbiAgICAgIGRpc2FibGVDbG9zZTogdHJ1ZVxyXG4gICAgfSk7XHJcbiAgICBkaWFsb2dUZW1wbGF0ZVxyXG4gICAgICAuYWZ0ZXJDbG9zZWQoKVxyXG4gICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5uZ1Vuc3ViY3JpYmUpKVxyXG4gICAgICAuc3Vic2NyaWJlKChyZXN1bHQpID0+IHtcclxuICAgICAgICBpZiAocmVzdWx0KSB7XHJcbiAgICAgICAgICBpZiAocmVzdWx0KSB7XHJcbiAgICAgICAgICAgIGNvbnN0IGV2dCA9IG5ldyBDdXN0b21FdmVudCh0aGlzLmNrRWRpdG9yRXZlbnRDb25zdC5RTVNDS19GTE9XQ0hBUlRfUExVR0lOX1JFU1AsIHtcclxuICAgICAgICAgICAgICBkZXRhaWw6IHJlc3VsdFxyXG4gICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgd2luZG93LmRpc3BhdGNoRXZlbnQoZXZ0KTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogQnJvd3NlIFZpZGVvXHJcbiAgICovXHJcbiAgcHVibGljIGJyb3dzZVZpZGVvRXZlbnRIYW5kbGluZyh2YWx1ZSkge1xyXG4gICAgdGhpcy50cmVlU2VydmljZVxyXG4gICAgICAuZ2V0VXBsb2FkVmlkZW9MaXN0KClcclxuICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMubmdVbnN1YmNyaWJlKSlcclxuICAgICAgLnN1YnNjcmliZSgocmVzcG9uc2UpID0+IHtcclxuICAgICAgICBjb25zdCB2aWRlb3MgPSByZXNwb25zZSB8fCBbXTtcclxuICAgICAgICBjb25zdCBjb25maWcgPSB7XHJcbiAgICAgICAgICBhbGxvd1NlbGVjdEZvbGRlcjogZmFsc2UsXHJcbiAgICAgICAgICBhcmVhT2ZDdXJyZW50UHJvY2VzczogJycsXHJcbiAgICAgICAgICBzaG93Q2hlY2tCb3g6IHRydWUsXHJcbiAgICAgICAgICBhbGxvd011bHRpcGxlQ2hlY2s6IHZhbHVlLmFsbG93TXVsdGlwbGVGaWxlcyxcclxuICAgICAgICAgIG9ubHlDaGVja0JveEZvckNoaWxkOiB0cnVlLFxyXG4gICAgICAgICAgbW9kdWxlSWQ6IERhdGFUeXBlLmRvY3VtZW50LFxyXG4gICAgICAgICAgb3Blbkljb246ICdmb2xkZXJfb3BlbicsXHJcbiAgICAgICAgICBvcGVuSWNvbkNvbG9yOiAnIzE5NTRBOScsXHJcbiAgICAgICAgICBjbG9zZUljb246ICdmb2xkZXJfZmlsbGVkJyxcclxuICAgICAgICAgIGNsb3NlSWNvbkNvbG9yOiAnIzRhY2FmZicsXHJcbiAgICAgICAgICBpdGVtSWNvbjogJ2luc2VydF9kcml2ZV9maWxlJyxcclxuICAgICAgICAgIGl0ZW1JY29uUGF0aDogJycsXHJcbiAgICAgICAgICBpdGVtSWNvbkJhc2U2NDogJycsXHJcbiAgICAgICAgICBzaW5nbGVTZWxlY3RlZE5vZGU6IHRydWUsXHJcbiAgICAgICAgICBleHBhbmRBbGw6IHRydWVcclxuICAgICAgICB9O1xyXG4gICAgICAgIGNvbnN0IGRhdGE6IFBvcHVwRGF0YSA9IG5ldyBQb3B1cERhdGEoKTtcclxuICAgICAgICBkYXRhLm1vZHVsZUlkID0gMjtcclxuICAgICAgICBkYXRhLm1vZHVsZU5hbWUgPSB0aGlzLkxBTkcuUU1TQ0tFRElUT1IuU0VMRUNUX1ZJREVPX0ZST01fQVJDSElWRTtcclxuICAgICAgICBkYXRhLnRyZWVEYXRhMSA9IHZpZGVvcy5tYXAoKGl0ZW0pID0+IHtcclxuICAgICAgICAgIHJldHVybiB7XHJcbiAgICAgICAgICAgIHJvb3RJZDogaXRlbS5yb290SWQsXHJcbiAgICAgICAgICAgIHBhcmVudElkOiBpdGVtLnBhcmVudElkLFxyXG4gICAgICAgICAgICByb290TmFtZTogaXRlbS5yb290TmFtZSxcclxuICAgICAgICAgICAgc3ViTmFtZTogaXRlbS5zdWJOYW1lLFxyXG4gICAgICAgICAgICBjaGlsZElkOiBpdGVtLmNoaWxkSWQsXHJcbiAgICAgICAgICAgIGNoaWxkTmFtZTogaXRlbS5jaGlsZE5hbWUsXHJcbiAgICAgICAgICAgIHN0YXR1c0lkOiBpdGVtLnN0YXR1c0lkLFxyXG4gICAgICAgICAgICBkaXNwbGF5SWQ6IGl0ZW0uZGlzcGxheUlkLFxyXG4gICAgICAgICAgICBjb250ZW50VHlwZTogaXRlbS5jb250ZW50VHlwZSxcclxuICAgICAgICAgICAgdXJsOiBpdGVtLnVybFxyXG4gICAgICAgICAgfTtcclxuICAgICAgICB9KTtcclxuICAgICAgICBkYXRhLnRyZWVEYXRhMiA9IFtdO1xyXG4gICAgICAgIGRhdGEudHJlZUNvbmZpZzEgPSBjb25maWc7XHJcbiAgICAgICAgY29uc3QgZGlhbG9nUmVmID0gdGhpcy5kaWFsb2cub3BlbihSZWxhdGVkUG9wdXBDb21wb25lbnQsIHtcclxuICAgICAgICAgIG1pbldpZHRoOiAnNDUwcHgnLFxyXG4gICAgICAgICAgbWF4V2lkdGg6ICc4MDBweCcsXHJcbiAgICAgICAgICBtaW5IZWlnaHQ6ICc2MjBweCcsXHJcbiAgICAgICAgICBkYXRhLFxyXG4gICAgICAgICAgcGFuZWxDbGFzczogJ3Ftc2NrZWRpdG9yLWJyb3dzZS12aWRlby1wb3B1cCdcclxuICAgICAgICB9KTtcclxuXHJcbiAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgICAgICBjb25zdCBzZWFyY2hCb3ggPSB3aW5kb3cuZG9jdW1lbnQucXVlcnlTZWxlY3RvcignLnFtc2NrZWRpdG9yLWJyb3dzZS12aWRlby1wb3B1cCAjcW1zbGliX3JlbGF0ZWRfcG9wdXBfc2VhcmNoJykgYXMgSFRNTEVsZW1lbnQ7XHJcbiAgICAgICAgICBpZiAoc2VhcmNoQm94KSB7XHJcbiAgICAgICAgICAgIHNlYXJjaEJveC5zdHlsZS5kaXNwbGF5ID0gJ25vbmUnO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH0sIDEwMCk7XHJcblxyXG4gICAgICAgIGRpYWxvZ1JlZlxyXG4gICAgICAgICAgLmFmdGVyQ2xvc2VkKClcclxuICAgICAgICAgIC5zdWJzY3JpYmUoKHJlc3VsdCkgPT4ge1xyXG4gICAgICAgICAgICBpZiAocmVzdWx0KSB7XHJcbiAgICAgICAgICAgICAgY29uc3QgaWRzID0gcmVzdWx0LnJlZHVjZSgocmVzdWx0LCBpdGVtKSA9PiB7XHJcbiAgICAgICAgICAgICAgICByZXN1bHRbaXRlbS5pZC50b1N0cmluZygpXSA9IGl0ZW0uaWQ7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gcmVzdWx0O1xyXG4gICAgICAgICAgICAgIH0sIHt9KTtcclxuICAgICAgICAgICAgICBjb25zdCB1cmxzID0gdmlkZW9zLmZpbHRlcihpID0+IGkuY2hpbGRJZCAmJiAhIWlkc1tpLmNoaWxkSWQudG9TdHJpbmcoKV0pLm1hcChpID0+IGkudXJsKTtcclxuICAgICAgICAgICAgICBjb25zdCBldnQgPSBuZXcgQ3VzdG9tRXZlbnQodGhpcy5ja0VkaXRvckV2ZW50Q29uc3QuUU1TQ0tfQlJPV1NFX1ZJREVPX1JFU1AsIHsgZGV0YWlsOiB7IHVybHM6IHVybHMgfSB9KTtcclxuICAgICAgICAgICAgICB3aW5kb3cuZGlzcGF0Y2hFdmVudChldnQpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9KTtcclxuICAgICAgfSk7XHJcbiAgfVxyXG59XHJcbiJdfQ==
@@ -40,6 +40,8 @@ import { QMSCKEditorAboutComponent } from './components/qms-ckeditor-about/qms-c
40
40
  import { MatTabsModule } from '@angular/material/tabs';
41
41
  import { MatProgressBarModule } from '@angular/material/progress-bar';
42
42
  import { QMSCKEditorFlowchartComponent } from './components/qms-ckeditor-flowchart/qms-ckeditor-flowchart.component';
43
+ import { QmsCkeditorLinkSimpleComponent } from './components/qms-ckeditor-link-simple/qms-ckeditor-link-simple.component';
44
+ import { QMSButtonModule } from '../components/button/button.module';
43
45
  export class QMSCKEditorModule {
44
46
  constructor(injectors) {
45
47
  this.injectors = injectors;
@@ -63,7 +65,8 @@ QMSCKEditorModule.decorators = [
63
65
  QMSCKEditorBpmnComponent,
64
66
  SaveTemplateComponent,
65
67
  QMSCKEditorAboutComponent,
66
- QMSCKEditorFlowchartComponent
68
+ QMSCKEditorFlowchartComponent,
69
+ QmsCkeditorLinkSimpleComponent
67
70
  ],
68
71
  imports: [
69
72
  CKEditorModule,
@@ -91,7 +94,8 @@ QMSCKEditorModule.decorators = [
91
94
  HttpClientModule,
92
95
  MatTabsModule,
93
96
  MatProgressBarModule,
94
- SharedModule
97
+ QMSButtonModule,
98
+ SharedModule,
95
99
  ],
96
100
  providers: [],
97
101
  exports: [QMSCKEditorComponent],
@@ -103,4 +107,4 @@ QMSCKEditorModule.decorators = [
103
107
  QMSCKEditorModule.ctorParameters = () => [
104
108
  { type: Injector }
105
109
  ];
106
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicW1zLWNrZWRpdG9yLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Ftcy1hbmd1bGFyL3NyYy9saWIvcW1zLWNrZWRpdG9yLWNvbXBvbmVudHMvcW1zLWNrZWRpdG9yLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDekQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ3hELE9BQU8sRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFLGdCQUFnQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3JFLE9BQU8sRUFBRSxXQUFXLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNsRSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDekQsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDdkUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzNELE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQ3hFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDL0QsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzNELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQ2pFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxhQUFhLEVB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Q2hCLGNBQWM7b0JBQ2QsYUFBYTtvQkFDYixxQkFBcUI7b0JBQ3JCLGVBQWU7b0JBQ2YsZ0JBQWdCO29CQUNoQixhQUFhO29CQUNiLG9CQUFvQjtvQkFDcEIsWUFBWTtpQkFDYjtnQkFDRCxTQUFTLEVBQUUsRUFBRTtnQkFDYixPQUFPLEVBQUUsQ0FBQyxvQkFBb0IsQ0FBQztnQkFDL0IsT0FBTyxFQUFFO29CQUNQLGdCQUFnQjtpQkFDakI7YUFDRjs7O1lBM0ZRLFFBQVEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBTY3JvbGxpbmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jZGsvc2Nyb2xsaW5nJztcclxuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuaW1wb3J0IHsgSHR0cENsaWVudE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcclxuaW1wb3J0IHsgSW5qZWN0b3IsIE5nTW9kdWxlLCBOT19FUlJPUlNfU0NIRU1BIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEZvcm1zTW9kdWxlLCBSZWFjdGl2ZUZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBNYXRDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9jb3JlJztcclxuaW1wb3J0IHsgTWF0QXV0b2NvbXBsZXRlTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvYXV0b2NvbXBsZXRlJztcclxuaW1wb3J0IHsgTWF0QnV0dG9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvYnV0dG9uJztcclxuaW1wb3J0IHsgTWF0QnV0dG9uVG9nZ2xlTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvYnV0dG9uLXRvZ2dsZSc7XHJcbmltcG9ydCB7IE1hdFJhZGlvTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvcmFkaW8nO1xyXG5pbXBvcnQgeyBNYXRDYXJkTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvY2FyZCc7XHJcbmltcG9ydCB7IE1hdENoZWNrYm94TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvY2hlY2tib3gnO1xyXG5pbXBvcnQgeyBNYXREaWFsb2dNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9kaWFsb2cnO1xyXG5pbXBvcnQgeyBNYXRFeHBhbnNpb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9leHBhbnNpb24nO1xyXG5pbXBvcnQgeyBNYXRGb3JtRmllbGRNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9mb3JtLWZpZWxkJztcclxuaW1wb3J0IHsgTWF0SWNvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2ljb24nO1xyXG5pbXBvcnQgeyBNYXRJbnB1dE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2lucHV0JztcclxuaW1wb3J0IHsgTWF0U2VsZWN0TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvc2VsZWN0JztcclxuaW1wb3J0IHsgTWF0U25hY2tCYXJNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9zbmFjay1iYXInO1xyXG5pbXBvcnQgeyBNYXRUcmVlTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvdHJlZSc7XHJcbmltcG9ydCB7IENLRWRpdG9yTW9kdWxlIH0gZnJvbSAnQGNrZWRpdG9yL2NrZWRpdG9yNS1hbmd1bGFyJztcclxuaW1wb3J0IHsgUU1TQ0tFZGl0b3JDb25maXJtQ29tcG9uZW50IH0gZnJvbSAnLi9jb21tb24vbW9kdWxlL2NvbmZpcm0vcW1zLWNrZWRpdG9yLWNvbmZpcm0uY29tcG9uZW50JztcclxuaW1wb3J0IHsgUU1TQ0tFZGl0b3JUcmVlQ29tcG9uZW50IH0gZnJvbSAnLi9jb21tb24vbW9kdWxlL3RyZWUvcW1zLWNrZWRpdG9yLXRyZWUuY29tcG9uZW50JztcclxuaW1wb3J0IHsgUU1TQ0tFZGl0b3JGdWxsc2NyZWVuQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL3Ftcy1ja2VkaXRvci1mdWxsc2NyZWVuL3Ftcy1ja2VkaXRvci1mdWxsc2NyZWVuLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IExpbmtBdHRhY2htZW50Q29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL3Ftcy1ja2VkaXRvci1saW5rL2F0dGFjaG1lbnRzL2xpbmstYXR0YWNobWVudC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBRTVNDS0VkaXRvckxpbmtDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvcW1zLWNrZWRpdG9yLWxpbmsvcW1zLWNrZWRpdG9yLWxpbmsuY29tcG9uZW50JztcclxuaW1wb3J0IHsgUU1TQ0tFZGl0b3JMb2FkVGVtcGxhdGVDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvcW1zLWNrZWRpdG9yLWxvYWQtdGVtcGxhdGUvcW1zLWNrZWRpdG9yLWxvYWQtdGVtcGxhdGUuY29tcG9uZW50JztcclxuaW1wb3J0IHsgUU1TQ0tFZGl0b3JSZWxhdGVkQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL3Ftcy1ja2VkaXRvci1yZWxhdGlvbi9xbXNja2VkaXRvci1yZWxhdGVkLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFFNU0NLRWRpdG9yVGVtcGxhdGVDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvcW1zLWNrZWRpdG9yLXRlbXBsYXRlL3Ftcy1ja2VkaXRvci10ZW1wbGF0ZS5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBRTVNDS0VkaXRvckNvbXBvbmVudCB9IGZyb20gJy4vcW1zLWNrZWRpdG9yLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFFNU0NLRWRpdG9ySW5qZWN0b3IgfSBmcm9tICcuL3NlcnZpY2VzL3Ftcy1ja2VkaXRvci1pbmplY3Rvci5zZXJ2aWNlJztcclxuaW1wb3J0IHsgU2hhcmVkTW9kdWxlIH0gZnJvbSAnLi4vc2hhcmVkLm1vZHVsZSc7XHJcbmltcG9ydCB7IFFNU0NLRWRpdG9yVG9vbHRpcENvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9xbXMtY2tlZGl0b3ItdG9vbHRpcC9xbXMtY2tlZGl0b3ItdG9vbHRpcC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBRTVNDS0VkaXRvckltYWdlTWFwQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL3Ftcy1ja2VkaXRvci1pbWFnZW1hcC9xbXMtY2tlZGl0b3ItaW1hZ2VtYXAuY29tcG9uZW50JztcclxuaW1wb3J0IHsgTWF0UHJvZ3Jlc3NTcGlubmVyTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvcHJvZ3Jlc3Mtc3Bpbm5lcic7XHJcbmltcG9ydCB7IE1hdFRvb2x0aXBNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC90b29sdGlwJztcclxuaW1wb3J0IHsgUU1TQ0tFZGl0b3JCcG1uQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL3Ftcy1ja2VkaXRvci1icG1uL3Ftcy1ja2VkaXRvci1icG1uLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFNhdmVUZW1wbGF0ZUNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9xbXMtY2tlZGl0b3ItYnBtbi9zYXZlLXRlbXBsYXRlL3NhdmUtdGVtcGxhdGUuY29tcG9uZW50JztcclxuaW1wb3J0IHsgUU1TQ0tFZGl0b3JBYm91dENvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9xbXMtY2tlZGl0b3ItYWJvdXQvcW1zLWNrZWRpdG9yLWFib3V0LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IE1hdFRhYnNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC90YWJzJztcclxuaW1wb3J0IHsgTWF0UHJvZ3Jlc3NCYXJNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9wcm9ncmVzcy1iYXInO1xyXG5pbXBvcnQgeyBRTVNDS0VkaXRvckZsb3djaGFydENvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9xbXMtY2tlZGl0b3ItZmxvd2NoYXJ0L3Ftcy1ja2VkaXRvci1mbG93Y2hhcnQuY29tcG9uZW50JztcclxuXHJcbkBOZ01vZHVsZSh7XHJcbiAgZGVjbGFyYXRpb25zOiBbXHJcbiAgICBRTVNDS0VkaXRvckZ1bGxzY3JlZW5Db21wb25lbnQsXHJcbiAgICBRTVNDS0VkaXRvckNvbXBvbmVudCxcclxuICAgIFFNU0NLRWRpdG9yVGVtcGxhdGVDb21wb25lbnQsXHJcbiAgICBRTVNDS0VkaXRvckxvYWRUZW1wbGF0ZUNvbXBvbmVudCxcclxuICAgIFFNU0NLRWRpdG9yQ29uZmlybUNvbXBvbmVudCxcclxuICAgIFFNU0NLRWRpdG9yTGlua0NvbXBvbmVudCxcclxuICAgIFFNU0NLRWRpdG9yVHJlZUNvbXBvbmVudCxcclxuICAgIFFNU0NLRWRpdG9yUmVsYXRlZENvbXBvbmVudCxcclxuICAgIExpbmtBdHRhY2htZW50Q29tcG9uZW50LFxyXG4gICAgUU1TQ0tFZGl0b3JUb29sdGlwQ29tcG9uZW50LFxyXG4gICAgUU1TQ0tFZGl0b3JJbWFnZU1hcENvbXBvbmVudCxcclxuICAgIFFNU0NLRWRpdG9yQnBtbkNvbXBvbmVudCxcclxuICAgIFNhdmVUZW1wbGF0ZUNvbXBvbmVudCxcclxuICAgIFFNU0NLRWRpdG9yQWJvdXRDb21wb25lbnQsXHJcbiAgICBRTVNDS0VkaXRvckZsb3djaGFydENvbXBvbmVudFxyXG4gIF0sXHJcbiAgaW1wb3J0czogW1xyXG4gICAgQ0tFZGl0b3JNb2R1bGUsXHJcbiAgICBDb21tb25Nb2R1bGUsXHJcbiAgICBNYXRDb21tb25Nb2R1bGUsXHJcbiAgICBNYXREaWFsb2dNb2R1bGUsXHJcbiAgICBNYXRJY29uTW9kdWxlLFxyXG4gICAgTWF0RXhwYW5zaW9uTW9kdWxlLFxyXG4gICAgTWF0SW5wdXRNb2R1bGUsXHJcbiAgICBNYXRDaGVja2JveE1vZHVsZSxcclxuICAgIE1hdENhcmRNb2R1bGUsXHJcbiAgICBGb3Jtc01vZHVsZSxcclxuICAgIE1hdEZvcm1GaWVsZE1vZHVsZSxcclxuICAgIFJlYWN0aXZlRm9ybXNNb2R1bGUsXHJcbiAgICBNYXRTbmFja0Jhck1vZHVsZSxcclxuICAgIE1hdFNlbGVjdE1vZHVsZSxcclxuICAgIE1hdEJ1dHRvbk1vZHVsZSxcclxuICAgIE1hdEJ1dHRvblRvZ2dsZU1vZHVsZSxcclxuICAgIE1hdFByb2dyZXNzU3Bpbm5lck1vZHVsZSxcclxuICAgIE1hdFRvb2x0aXBNb2R1bGUsXHJcbiAgICBNYXRSYWRpb01vZHVsZSxcclxuICAgIE1hdFRyZWVNb2R1bGUsXHJcbiAgICBNYXRBdXRvY29tcGxldGVNb2R1bGUsXHJcbiAgICBTY3JvbGxpbmdNb2R1bGUsXHJcbiAgICBIdHRwQ2xpZW50TW9kdWxlLFxyXG4gICAgTWF0VGFic01vZHVsZSxcclxuICAgIE1hdFByb2dyZXNzQmFyTW9kdWxlLFxyXG4gICAgU2hhcmVkTW9kdWxlXHJcbiAgXSxcclxuICBwcm92aWRlcnM6IFtdLFxyXG4gIGV4cG9ydHM6IFtRTVNDS0VkaXRvckNvbXBvbmVudF0sXHJcbiAgc2NoZW1hczogW1xyXG4gICAgTk9fRVJST1JTX1NDSEVNQVxyXG4gIF1cclxufSlcclxuZXhwb3J0IGNsYXNzIFFNU0NLRWRpdG9yTW9kdWxlIHtcclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGluamVjdG9yczogSW5qZWN0b3IpIHtcclxuICAgIFFNU0NLRWRpdG9ySW5qZWN0b3Iuc2V0SW5qZWN0b3IodGhpcy5pbmplY3RvcnMpO1xyXG4gIH1cclxufVxyXG4iXX0=
110
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicW1zLWNrZWRpdG9yLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Ftcy1hbmd1bGFyL3NyYy9saWIvcW1zLWNrZWRpdG9yLWNvbXBvbmVudHMvcW1zLWNrZWRpdG9yLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDekQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ3hELE9BQU8sRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFLGdCQUFnQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3JFLE9BQU8sRUFBRSxXQUFXLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNsRSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDekQsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDdkUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzNELE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQ3hFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDL0QsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzNELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQ2pFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxhQUFhLEVB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a0JBQWtCO29CQUNsQixtQkFBbUI7b0JBQ25CLGlCQUFpQjtvQkFDakIsZUFBZTtvQkFDZixlQUFlO29CQUNmLHFCQUFxQjtvQkFDckIsd0JBQXdCO29CQUN4QixnQkFBZ0I7b0JBQ2hCLGNBQWM7b0JBQ2QsYUFBYTtvQkFDYixxQkFBcUI7b0JBQ3JCLGVBQWU7b0JBQ2YsZ0JBQWdCO29CQUNoQixhQUFhO29CQUNiLG9CQUFvQjtvQkFDcEIsZUFBZTtvQkFDZixZQUFZO2lCQUNiO2dCQUNELFNBQVMsRUFBRSxFQUFFO2dCQUNiLE9BQU8sRUFBRSxDQUFDLG9CQUFvQixDQUFDO2dCQUMvQixPQUFPLEVBQUU7b0JBQ1AsZ0JBQWdCO2lCQUNqQjthQUNGOzs7WUFoR1EsUUFBUSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFNjcm9sbGluZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9zY3JvbGxpbmcnO1xyXG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQgeyBIdHRwQ2xpZW50TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xyXG5pbXBvcnQgeyBJbmplY3RvciwgTmdNb2R1bGUsIE5PX0VSUk9SU19TQ0hFTUEgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgRm9ybXNNb2R1bGUsIFJlYWN0aXZlRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IE1hdENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2NvcmUnO1xyXG5pbXBvcnQgeyBNYXRBdXRvY29tcGxldGVNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9hdXRvY29tcGxldGUnO1xyXG5pbXBvcnQgeyBNYXRCdXR0b25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9idXR0b24nO1xyXG5pbXBvcnQgeyBNYXRCdXR0b25Ub2dnbGVNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9idXR0b24tdG9nZ2xlJztcclxuaW1wb3J0IHsgTWF0UmFkaW9Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9yYWRpbyc7XHJcbmltcG9ydCB7IE1hdENhcmRNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9jYXJkJztcclxuaW1wb3J0IHsgTWF0Q2hlY2tib3hNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9jaGVja2JveCc7XHJcbmltcG9ydCB7IE1hdERpYWxvZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RpYWxvZyc7XHJcbmltcG9ydCB7IE1hdEV4cGFuc2lvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2V4cGFuc2lvbic7XHJcbmltcG9ydCB7IE1hdEZvcm1GaWVsZE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2Zvcm0tZmllbGQnO1xyXG5pbXBvcnQgeyBNYXRJY29uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaWNvbic7XHJcbmltcG9ydCB7IE1hdElucHV0TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaW5wdXQnO1xyXG5pbXBvcnQgeyBNYXRTZWxlY3RNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9zZWxlY3QnO1xyXG5pbXBvcnQgeyBNYXRTbmFja0Jhck1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3NuYWNrLWJhcic7XHJcbmltcG9ydCB7IE1hdFRyZWVNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC90cmVlJztcclxuaW1wb3J0IHsgQ0tFZGl0b3JNb2R1bGUgfSBmcm9tICdAY2tlZGl0b3IvY2tlZGl0b3I1LWFuZ3VsYXInO1xyXG5pbXBvcnQgeyBRTVNDS0VkaXRvckNvbmZpcm1Db21wb25lbnQgfSBmcm9tICcuL2NvbW1vbi9tb2R1bGUvY29uZmlybS9xbXMtY2tlZGl0b3ItY29uZmlybS5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBRTVNDS0VkaXRvclRyZWVDb21wb25lbnQgfSBmcm9tICcuL2NvbW1vbi9tb2R1bGUvdHJlZS9xbXMtY2tlZGl0b3ItdHJlZS5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBRTVNDS0VkaXRvckZ1bGxzY3JlZW5Db21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvcW1zLWNrZWRpdG9yLWZ1bGxzY3JlZW4vcW1zLWNrZWRpdG9yLWZ1bGxzY3JlZW4uY29tcG9uZW50JztcclxuaW1wb3J0IHsgTGlua0F0dGFjaG1lbnRDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvcW1zLWNrZWRpdG9yLWxpbmsvYXR0YWNobWVudHMvbGluay1hdHRhY2htZW50LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFFNU0NLRWRpdG9yTGlua0NvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9xbXMtY2tlZGl0b3ItbGluay9xbXMtY2tlZGl0b3ItbGluay5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBRTVNDS0VkaXRvckxvYWRUZW1wbGF0ZUNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9xbXMtY2tlZGl0b3ItbG9hZC10ZW1wbGF0ZS9xbXMtY2tlZGl0b3ItbG9hZC10ZW1wbGF0ZS5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBRTVNDS0VkaXRvclJlbGF0ZWRDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvcW1zLWNrZWRpdG9yLXJlbGF0aW9uL3Ftc2NrZWRpdG9yLXJlbGF0ZWQuY29tcG9uZW50JztcclxuaW1wb3J0IHsgUU1TQ0tFZGl0b3JUZW1wbGF0ZUNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9xbXMtY2tlZGl0b3ItdGVtcGxhdGUvcW1zLWNrZWRpdG9yLXRlbXBsYXRlLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFFNU0NLRWRpdG9yQ29tcG9uZW50IH0gZnJvbSAnLi9xbXMtY2tlZGl0b3IuY29tcG9uZW50JztcclxuaW1wb3J0IHsgUU1TQ0tFZGl0b3JJbmplY3RvciB9IGZyb20gJy4vc2VydmljZXMvcW1zLWNrZWRpdG9yLWluamVjdG9yLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBTaGFyZWRNb2R1bGUgfSBmcm9tICcuLi9zaGFyZWQubW9kdWxlJztcclxuaW1wb3J0IHsgUU1TQ0tFZGl0b3JUb29sdGlwQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL3Ftcy1ja2VkaXRvci10b29sdGlwL3Ftcy1ja2VkaXRvci10b29sdGlwLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFFNU0NLRWRpdG9ySW1hZ2VNYXBDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvcW1zLWNrZWRpdG9yLWltYWdlbWFwL3Ftcy1ja2VkaXRvci1pbWFnZW1hcC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBNYXRQcm9ncmVzc1NwaW5uZXJNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9wcm9ncmVzcy1zcGlubmVyJztcclxuaW1wb3J0IHsgTWF0VG9vbHRpcE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3Rvb2x0aXAnO1xyXG5pbXBvcnQgeyBRTVNDS0VkaXRvckJwbW5Db21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvcW1zLWNrZWRpdG9yLWJwbW4vcW1zLWNrZWRpdG9yLWJwbW4uY29tcG9uZW50JztcclxuaW1wb3J0IHsgU2F2ZVRlbXBsYXRlQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL3Ftcy1ja2VkaXRvci1icG1uL3NhdmUtdGVtcGxhdGUvc2F2ZS10ZW1wbGF0ZS5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBRTVNDS0VkaXRvckFib3V0Q29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL3Ftcy1ja2VkaXRvci1hYm91dC9xbXMtY2tlZGl0b3ItYWJvdXQuY29tcG9uZW50JztcclxuaW1wb3J0IHsgTWF0VGFic01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3RhYnMnO1xyXG5pbXBvcnQgeyBNYXRQcm9ncmVzc0Jhck1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3Byb2dyZXNzLWJhcic7XHJcbmltcG9ydCB7IFFNU0NLRWRpdG9yRmxvd2NoYXJ0Q29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL3Ftcy1ja2VkaXRvci1mbG93Y2hhcnQvcW1zLWNrZWRpdG9yLWZsb3djaGFydC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBRbXNDa2VkaXRvckxpbmtTaW1wbGVDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvcW1zLWNrZWRpdG9yLWxpbmstc2ltcGxlL3Ftcy1ja2VkaXRvci1saW5rLXNpbXBsZS5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBRTVNCdXR0b25Nb2R1bGUgfSBmcm9tICcuLi9jb21wb25lbnRzL2J1dHRvbi9idXR0b24ubW9kdWxlJztcclxuXHJcblxyXG5ATmdNb2R1bGUoe1xyXG4gIGRlY2xhcmF0aW9uczogW1xyXG4gICAgUU1TQ0tFZGl0b3JGdWxsc2NyZWVuQ29tcG9uZW50LFxyXG4gICAgUU1TQ0tFZGl0b3JDb21wb25lbnQsXHJcbiAgICBRTVNDS0VkaXRvclRlbXBsYXRlQ29tcG9uZW50LFxyXG4gICAgUU1TQ0tFZGl0b3JMb2FkVGVtcGxhdGVDb21wb25lbnQsXHJcbiAgICBRTVNDS0VkaXRvckNvbmZpcm1Db21wb25lbnQsXHJcbiAgICBRTVNDS0VkaXRvckxpbmtDb21wb25lbnQsXHJcbiAgICBRTVNDS0VkaXRvclRyZWVDb21wb25lbnQsXHJcbiAgICBRTVNDS0VkaXRvclJlbGF0ZWRDb21wb25lbnQsXHJcbiAgICBMaW5rQXR0YWNobWVudENvbXBvbmVudCxcclxuICAgIFFNU0NLRWRpdG9yVG9vbHRpcENvbXBvbmVudCxcclxuICAgIFFNU0NLRWRpdG9ySW1hZ2VNYXBDb21wb25lbnQsXHJcbiAgICBRTVNDS0VkaXRvckJwbW5Db21wb25lbnQsXHJcbiAgICBTYXZlVGVtcGxhdGVDb21wb25lbnQsXHJcbiAgICBRTVNDS0VkaXRvckFib3V0Q29tcG9uZW50LFxyXG4gICAgUU1TQ0tFZGl0b3JGbG93Y2hhcnRDb21wb25lbnQsXHJcbiAgICBRbXNDa2VkaXRvckxpbmtTaW1wbGVDb21wb25lbnRcclxuICBdLFxyXG4gIGltcG9ydHM6IFtcclxuICAgIENLRWRpdG9yTW9kdWxlLFxyXG4gICAgQ29tbW9uTW9kdWxlLFxyXG4gICAgTWF0Q29tbW9uTW9kdWxlLFxyXG4gICAgTWF0RGlhbG9nTW9kdWxlLFxyXG4gICAgTWF0SWNvbk1vZHVsZSxcclxuICAgIE1hdEV4cGFuc2lvbk1vZHVsZSxcclxuICAgIE1hdElucHV0TW9kdWxlLFxyXG4gICAgTWF0Q2hlY2tib3hNb2R1bGUsXHJcbiAgICBNYXRDYXJkTW9kdWxlLFxyXG4gICAgRm9ybXNNb2R1bGUsXHJcbiAgICBNYXRGb3JtRmllbGRNb2R1bGUsXHJcbiAgICBSZWFjdGl2ZUZvcm1zTW9kdWxlLFxyXG4gICAgTWF0U25hY2tCYXJNb2R1bGUsXHJcbiAgICBNYXRTZWxlY3RNb2R1bGUsXHJcbiAgICBNYXRCdXR0b25Nb2R1bGUsXHJcbiAgICBNYXRCdXR0b25Ub2dnbGVNb2R1bGUsXHJcbiAgICBNYXRQcm9ncmVzc1NwaW5uZXJNb2R1bGUsXHJcbiAgICBNYXRUb29sdGlwTW9kdWxlLFxyXG4gICAgTWF0UmFkaW9Nb2R1bGUsXHJcbiAgICBNYXRUcmVlTW9kdWxlLFxyXG4gICAgTWF0QXV0b2NvbXBsZXRlTW9kdWxlLFxyXG4gICAgU2Nyb2xsaW5nTW9kdWxlLFxyXG4gICAgSHR0cENsaWVudE1vZHVsZSxcclxuICAgIE1hdFRhYnNNb2R1bGUsXHJcbiAgICBNYXRQcm9ncmVzc0Jhck1vZHVsZSxcclxuICAgIFFNU0J1dHRvbk1vZHVsZSxcclxuICAgIFNoYXJlZE1vZHVsZSxcclxuICBdLFxyXG4gIHByb3ZpZGVyczogW10sXHJcbiAgZXhwb3J0czogW1FNU0NLRWRpdG9yQ29tcG9uZW50XSxcclxuICBzY2hlbWFzOiBbXHJcbiAgICBOT19FUlJPUlNfU0NIRU1BXHJcbiAgXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgUU1TQ0tFZGl0b3JNb2R1bGUge1xyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgaW5qZWN0b3JzOiBJbmplY3Rvcikge1xyXG4gICAgUU1TQ0tFZGl0b3JJbmplY3Rvci5zZXRJbmplY3Rvcih0aGlzLmluamVjdG9ycyk7XHJcbiAgfVxyXG59XHJcbiJdfQ==
@@ -96,6 +96,7 @@ export * from './lib/qms-ckeditor-components/components/qms-ckeditor-load-templa
96
96
  export * from './lib/qms-ckeditor-components/components/qms-ckeditor-relation/qmsckeditor-related.component';
97
97
  // export * from './lib/qms-ckeditor-components/components/qms-ckeditor-link/attachments/link-attachment.component';
98
98
  export * from './lib/qms-ckeditor-components/components/qms-ckeditor-link/qms-ckeditor-link.component';
99
+ export * from './lib/qms-ckeditor-components/components/qms-ckeditor-link-simple/qms-ckeditor-link-simple.component';
99
100
  export * from './lib/qms-ckeditor-components/services/qms-ckeditor-global.service';
100
101
  export * from './lib/qms-ckeditor-components/services/qms-ckeditor-injector.service';
101
102
  export * from './lib/qms-ckeditor-components/services/qms-ckeditor-base.service';
@@ -192,4 +193,4 @@ export * from './lib/components/qms-nav-drawer';
192
193
  export * from './lib/components/select-department-tree';
193
194
  export * from './lib/components/select-department';
194
195
  export * from './lib/components/select-access-dialog';
195
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Byb2plY3RzL3Ftcy1hbmd1bGFyL3NyYy9wdWJsaWMtYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsY0FBYywyQkFBMkIsQ0FBQztBQUMxQyxjQUFjLDZCQUE2QixDQUFDO0FBQzVDLGNBQWMsMEJBQTBCLENBQUM7QUFFekMsMkJBQTJCO0FBQzNCLGNBQWMsMkJBQTJCLENBQUM7QUFFMUMsYUFBYTtBQUNiLHFEQUFxRDtBQUNyRCxjQUFjLG1DQUFtQyxDQUFDO0FBQ2xELGNBQWMsaUNBQWlDLENBQUM7QUFFaEQsZUFBZTtBQUNmLGNBQWMsdUNBQXVDLENBQUM7QUFDdEQsY0FBYyxnQ0FBZ0MsQ0FBQztBQUMvQyxjQUFjLCtCQUErQixDQUFDO0FBRTlDLGNBQWMsa0NBQWtDLENBQUM7QUFDakQsY0FBYyw0Q0FBNEMsQ0FBQztBQUMzRCxlQUFlO0FBQ2YsY0FBYywrQkFBK0IsQ0FBQztBQUU5QyxjQUFjLHlDQUF5QyxDQUFDO0FBQ3hELGNBQWMsbUNBQW1DLENBQUM7QUFDbEQsY0FBYyw0QkFBNEIsQ0FBQztBQUMzQyxjQUFjLHNEQUFzRCxDQUFDO0FBRXJFLGNBQWMsNkNBQTZDLENBQUM7QUFDNUQsY0FBYyxnQ0FBZ0MsQ0FBQztBQUMvQyxjQUFjLHdDQUF3QyxDQUFDO0FBQ3ZELGNBQWMscUJBQXFCLENBQUM7QUFDcEMsY0FBYyxnQkFBZ0IsQ0FBQztBQUMvQixjQUFjLGdCQUFnQixDQUFDO0FBRS9CLGNBQWMsNkNBQTZDLENBQUM7QUFDNUQsY0FBYyxzQ0FBc0MsQ0FBQztBQUlyRCxjQUFjLHVDQUF1QyxDQUFDO0FBQ3RELGNBQWMsNENBQTRDLENBQUM7QUFDM0QsY0FBYyxxRUFBcUUsQ0FBQztBQUNwRixjQUFjLDhEQUE4RCxDQUFDO0FBQzdFLGNBQWMsMkVBQTJFLENBQUM7QUFDMUYsY0FBYyxvRUFBb0UsQ0FBQztBQUVuRixj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QUFDMUMsY0FBYyxrQ0FBa0MsQ0FBQztBQUNqRCxjQUFjLDJDQUEyQyxDQUFDO0FBQzFELGNBQWMsb0NBQW9DLENBQUM7QUFDbkQsY0FBYyx5Q0FBeUMsQ0FBQztBQUN4RCxjQUFjLHlDQUF5QyxDQUFDO0FBQ3hELGNBQWMsMkNBQTJDLENBQUM7QUFFMUQsY0FBYyw4QkFBOEIsQ0FBQztBQUM3QyxjQUFjLG9DQUFvQyxDQUFDO0FBR25ELGNBQWMsK0RBQStELENBQUM7QUFFOUUsY0FBYyxpREFBaUQsQ0FBQztBQUNoRSxjQUFjLDJDQUEyQyxDQUFDO0FBRTFELGNBQWMsNkNBQTZDLENBQUM7QUFDNUQsY0FBYyw4REFBOEQsQ0FBQztBQUM3RSxjQUFjLHdGQUF3RixDQUFDO0FBQ3ZHLGNBQWMsNEZBQTRGLENBQUM7QUFFM0csY0FBYyw4Q0FBOEMsQ0FBQztBQUU3RCxjQUFjLDBDQUEwQyxDQUFDO0FBRXpELGNBQWMseUJBQXlCLENBQUM7QUFDeEMsY0FBYyw2QkFBNkIsQ0FBQztBQUU1QyxjQUFjLDRDQUE0QyxDQUFDO0FBRTNELGNBQWMsdUJBQXVCLENBQUM7QUFDdEMsY0FBYywwQkFBMEIsQ0FBQztBQUN6QyxjQUFjLDBDQUEwQyxDQUFDO0FBRXpELGNBQWMsd0NBQXdDLENBQUM7QUFFdkQsY0FBYyx3Q0FBd0MsQ0FBQztBQUN2RCxjQUFjLDRDQUE0QyxDQUFDO0FBQzNELGNBQWMsZ0NBQWdDLENBQUM7QUFDL0MsY0FBYyxrREFBa0QsQ0FBQztBQUVqRSxjQUFjLHdEQUF3RCxDQUFDO0FBQ3ZFLGNBQWMsMkNBQTJDLENBQUM7QUFFMUQsY0FBYyxpQ0FBaUMsQ0FBQztBQUVoRCxjQUFjLHlDQUF5QyxDQUFDO0FBQ3hELGNBQWMsb0NBQW9DLENBQUM7QUFDbkQsY0FBYyx1Q0FBdUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qXHJcbiAqIFB1YmxpYyBBUEkgU3VyZmFjZSBvZiBxbXMtYW5ndWxhclxyXG4gKi9cclxuXHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL3Ftcy1hbmd1bGFyLnNlcnZpY2UnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9xbXMtYW5ndWxhci5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9xbXMtYW5ndWxhci5tb2R1bGUnO1xyXG5cclxuLy8gUU1TIE1pY3JvIEZyb250ZW5kIFV0aWxzXHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL3V0aWxzL3Ftcy1tZmUudXRpbHMnO1xyXG5cclxuLy8gZGlyZWN0aXZlc1xyXG4vLyBleHBvcnQgKiBmcm9tICcuL2xpYi9kaXJlY3RpdmVzL2RpcmVjdGl2ZS5tb2R1bGUnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9kaXJlY3RpdmVzL21hcmdpbi5kaXJlY3RpdmUnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9kaXJlY3RpdmVzL2Zvcm0uZGlyZWN0aXZlJztcclxuXHJcbi8vIC8vY29tcG9uZW50c1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2J1dHRvbi9idXR0b24ubW9kdWxlJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9idXR0b24vYnV0dG9uJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9idXR0b24vY29sb3InO1xyXG5cclxuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9jb21tZW50L2NvbW1lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2NvbW1lbnQvY29tbWVudC1sb2cubW9kZWwnO1xyXG4vLyBSYW5nZSBzbGlkZXJcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9yYW5nZS1zbGlkZXInO1xyXG5cclxuZXhwb3J0ICogZnJvbSAnLi9saWIvZGlyZWN0aXZlcy9zZWFyY2gtZmllbGQuZGlyZWN0aXZlJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9saXN0L2xpc3QubW9kdWxlJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9saXN0L2xpc3QnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL3N1ZmZpeC1maWVsZC9zdWZmaXgtZmllbGQuZGlyZWN0aXZlJztcclxuXHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL3NlcnZpY2VzL3RyYW5zbGF0aW9uLXJlZ2lzdHJ5LnNlcnZpY2UnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9zZXJ2aWNlcy90aGVtaW5nLnNlcnZpY2UnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9zZXJ2aWNlcy9xbXMtdHJlZS1nbG9iYWwuc2VydmljZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL3NoYXJlZC5tb2R1bGUnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2RlbC9lbic7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZGVsL25vJztcclxuXHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvcmljaC10ZXh0L3JpY2gtdGV4dC5tb2R1bGUnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL3JpY2gtdGV4dC9yaWNoLXRleHQnO1xyXG5cclxuXHJcblxyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9kaXJlY3RpdmVzL2NoaXBzL2NoaXAuZGlyZWN0aXZlJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvZGlyZWN0aXZlcy9jaGlwcy9jaGlwLWJvZHkuZGlyZWN0aXZlJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9lZGl0LWZpbGUtbmFtZS1kaWFsb2cvZWRpdC1maWxlLW5hbWUtZGlhbG9nLm1vZHVsZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvZWRpdC1maWxlLW5hbWUtZGlhbG9nL2VkaXQtZmlsZS1uYW1lLWRpYWxvZyc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvdXBsb2FkLWZpbGUtZXJyb3ItZGlhbG9nL3VwbG9hZC1maWxlLWVycm9yLWRpYWxvZy5tb2R1bGUnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL3VwbG9hZC1maWxlLWVycm9yLWRpYWxvZy91cGxvYWQtZmlsZS1lcnJvci1kaWFsb2cnO1xyXG5cclxuZXhwb3J0ICogZnJvbSAnLi9saWIvZGlyZWN0aXZlcy9maWxlLXVwbG9hZC9maWxlLXVwbG9hZC5kaXJlY3RpdmUnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9kaXJlY3RpdmVzL2ZpbGUtdXBsb2FkL2ZpbGUtdXBsb2FkLWF0dGFjaG1lbnQtbGlzdC5kaXJlY3RpdmUnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9kaXJlY3RpdmVzL2ZpbGUtdXBsb2FkL2ZpbGUtdXBsb2FkLXNlbGVjdG9yLmRpcmVjdGl2ZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2RpcmVjdGl2ZXMvZmlsZS11cGxvYWQvZmlsZS11cGxvYWQtZGlzcGxheS5kaXJlY3RpdmUnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9kaXJlY3RpdmVzL2ZpbGUtdXBsb2FkL2ZpbGUtdXBsb2FkLXNjcm9sbGFibGUtYXR0YWNobWVudC1saXN0LmRpcmVjdGl2ZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2RpcmVjdGl2ZXMvZmlsZS11cGxvYWQvZmlsZS11cGxvYWQtbXVsdGlwbGUuZGlyZWN0aXZlJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvZGlyZWN0aXZlcy9maWxlLXVwbG9hZC9maWxlLXVwbG9hZC1tdWx0aXBsZS1zZWxlY3Rvci5kaXJlY3RpdmUnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9kaXJlY3RpdmVzL2ZpbGUtdXBsb2FkL2ZpbGUtdXBsb2FkLW11bHRpcGxlLWRpc3BsYXkuZGlyZWN0aXZlJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvZGlyZWN0aXZlcy9maWxlLXVwbG9hZC9xbXMtZmlsZS11cGxvYWQtYXR0YWNobWVudC5tb2RlbCc7XHJcblxyXG5cclxuZXhwb3J0ICogZnJvbSAnLi9saWIvZGlyZWN0aXZlcy9kcm9wZG93bi1tZW51L2Ryb3Bkb3duLWl0ZW0uZGlyZWN0aXZlJztcclxuXHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2RpcmVjdGl2ZXMvc2Nyb2xsYmFyL3Njcm9sbGJhci5kaXJlY3RpdmUnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9kaXJlY3RpdmVzL3Njcm9sbC1zZWxlY3RlZC9zY3JvbGwtdG8tc2VsZWN0ZWQuZGlyZWN0aXZlJztcclxuXHJcbi8vIGV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvc3Vic3RhbmNlLWNvbmZsaWN0L3N1YnN0YW5jZS1jb25mbGljdC5tb2R1bGUnO1xyXG4vLyBleHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL3N1YnN0YW5jZS1jb25mbGljdC9zdWJzdGFpbmNlLWNvbmZsaWN0LmJhc2UnO1xyXG4vLyBleHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL3N1YnN0YW5jZS1jb25mbGljdC9zdWJzdGFuY2UtY29uZmxpY3QuY29tcG9uZW50JztcclxuXHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvcmVsYXRlZC9yZWxhdGVkLm1vZHVsZSc7XHJcblxyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL3JlbGF0ZWQvcG9wdXAvcmVsYXRlZC1wb3B1cC5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL3JlbGF0ZWQvbW9kZWwvcG9wdXAtZGF0YS5tb2RlbCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvcmVsYXRlZC9jb250ZW50L3JlbGF0ZWQtY29udGVudC5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL3JlbGF0ZWQvc2lkZW5hdi9zaWRlbmF2LmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvcmVsYXRlZC9tb2RlbC9zaWRlbmF2Lm1vZGVsJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9yZWxhdGVkL3Jpc2svYW5hbHlzaXMvYW5hbHlzaXMuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9yZWxhdGVkL21vZGVsL3Jpc2stYW5hbHlzaXMubW9kZWwnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL3JlbGF0ZWQvbW9kZWwvcmlzay1kYW5nZXIubW9kZWwnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL3JlbGF0ZWQvcmlzay9yZXN1bHQvcmVzdWx0LmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvcmVsYXRlZC9tb2RlbC9yaXNrLXJlc3VsdC5tb2RlbCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvcmVsYXRlZC9yaXNrL2xpc3QvbGlzdC5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL3JlbGF0ZWQvbGlzdC1vdGhlci1yZWxhdGVkL2xpc3QtcmVsYXRlZC5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL3JlbGF0ZWQvc2VydmljZS9yZWxhdGVkLWdsb2JhbC5zZXJ2aWNlJztcclxuLyogcW1zLWNrZWRpdG9yICovXHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL3Ftcy1ja2VkaXRvci1jb21wb25lbnRzL3Ftcy1ja2VkaXRvci5tb2R1bGUnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9xbXMtY2tlZGl0b3ItY29tcG9uZW50cy9xbXMtY2tlZGl0b3ItYmFzZS5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9xbXMtY2tlZGl0b3ItY29tcG9uZW50cy9xbXMtY2tlZGl0b3IuY29tcG9uZW50JztcclxuXHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL3Ftcy1ja2VkaXRvci1jb21wb25lbnRzL2NvbW1vbi9jb25zdGFudHMvY2tlZGl0b3JFdmVudC5jb25zdGFudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL3Ftcy1ja2VkaXRvci1jb21wb25lbnRzL2NvbW1vbi9lbnVtcy9kb2N1bWVudC10eXBlLmVudW0nO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9xbXMtY2tlZGl0b3ItY29tcG9uZW50cy9jb21tb24vZW51bXMvbGluay1hbmNob3IuZW51bSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL3Ftcy1ja2VkaXRvci1jb21wb25lbnRzL2NvbW1vbi9lbnVtcy9saW5rLXR5cGUuZW51bSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL3Ftcy1ja2VkaXRvci1jb21wb25lbnRzL2NvbW1vbi9lbnVtcy9wcm90b2NvbC10eXBlLmVudW0nO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9xbXMtY2tlZGl0b3ItY29tcG9uZW50cy9jb21tb24vZW51bXMvdGFyZ2V0LXR5cGUuZW51bSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL3Ftcy1ja2VkaXRvci1jb21wb25lbnRzL2NvbW1vbi9lbnVtcy9tb2R1bGUuZW51bSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL3Ftcy1ja2VkaXRvci1jb21wb25lbnRzL2NvbW1vbi9mdW5jdGlvbnMvY29tbW9uLmZ1bmN0aW9uJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvcW1zLWNrZWRpdG9yLWNvbXBvbmVudHMvY29tbW9uL2Z1bmN0aW9ucy90cmVlLmZ1bmN0aW9uJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvcW1zLWNrZWRpdG9yLWNvbXBvbmVudHMvY29tbW9uL21vZGVscy9xbXMtY2tlZGl0b3ItZGF0YS5tb2RlbCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL3Ftcy1ja2VkaXRvci1jb21wb25lbnRzL2NvbW1vbi9tb2RlbHMvcW1zLWNrZWRpdG9yLWRpYWxvZy5tb2RlbCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL3Ftcy1ja2VkaXRvci1jb21wb25lbnRzL2NvbW1vbi9tb2RlbHMvcW1zLWNrZWRpdG9yLWlucHV0Lm1vZGVsJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvcW1zLWNrZWRpdG9yLWNvbXBvbmVudHMvY29tbW9uL21vZGVscy9xbXMtY2tlZGl0b3ItbGluay1hbmNob3ItZG9jdW1lbnQubW9kZWwnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9xbXMtY2tlZGl0b3ItY29tcG9uZW50cy9jb21tb24vbW9kZWxzL3Ftcy1ja2VkaXRvci1saW5rLWF0dGFjaG1lbnQubW9kZWwnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9xbXMtY2tlZGl0b3ItY29tcG9uZW50cy9jb21tb24vbW9kZWxzL3Ftcy1ja2VkaXRvci1yZWxhdGlvbi5tb2RlbCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL3Ftcy1ja2VkaXRvci1jb21wb25lbnRzL2NvbW1vbi9tb2RlbHMvcW1zLWNrZWRpdG9yLXRyZWUubW9kZWwnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9xbXMtY2tlZGl0b3ItY29tcG9uZW50cy9jb21tb24vbW9kZWxzL3Ftcy1ja2VkaXRvci11cmwubW9kZWwnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9xbXMtY2tlZGl0b3ItY29tcG9uZW50cy9jb21tb24vbW9kZWxzL3Ftcy1ja2VkaXRvci1wbHVnaW4ubW9kZWwnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9xbXMtY2tlZGl0b3ItY29tcG9uZW50cy9jb21tb24vbW9kdWxlL2NvbmZpcm0vcW1zLWNrZWRpdG9yLWNvbmZpcm0uY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvcW1zLWNrZWRpdG9yLWNvbXBvbmVudHMvY29tbW9uL21vZHVsZS90cmVlL3Ftcy1ja2VkaXRvci10cmVlLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL3Ftcy1ja2VkaXRvci1jb21wb25lbnRzL2NvbW1vbi90b2FzdC9xbXMtY2tlZGl0b3ItdG9hc3Quc2VydmljZSc7XHJcblxyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9xbXMtY2tlZGl0b3ItY29tcG9uZW50cy9tb2RlbHMvcW1zLWNrZWRpdG9yLXRlbXBsYXRlLm1vZGVsJztcclxuXHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL3Ftcy1ja2VkaXRvci1jb21wb25lbnRzL2NvbXBvbmVudHMvcW1zLWNrZWRpdG9yLWZ1bGxzY3JlZW4vcW1zLWNrZWRpdG9yLWZ1bGxzY3JlZW4uY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvcW1zLWNrZWRpdG9yLWNvbXBvbmVudHMvY29tcG9uZW50cy9xbXMtY2tlZGl0b3ItbG9hZC10ZW1wbGF0ZS9xbXMtY2tlZGl0b3ItbG9hZC10ZW1wbGF0ZS5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9xbXMtY2tlZGl0b3ItY29tcG9uZW50cy9jb21wb25lbnRzL3Ftcy1ja2VkaXRvci1yZWxhdGlvbi9xbXNja2VkaXRvci1yZWxhdGVkLmNvbXBvbmVudCc7XHJcbi8vIGV4cG9ydCAqIGZyb20gJy4vbGliL3Ftcy1ja2VkaXRvci1jb21wb25lbnRzL2NvbXBvbmVudHMvcW1zLWNrZWRpdG9yLWxpbmsvYXR0YWNobWVudHMvbGluay1hdHRhY2htZW50LmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL3Ftcy1ja2VkaXRvci1jb21wb25lbnRzL2NvbXBvbmVudHMvcW1zLWNrZWRpdG9yLWxpbmsvcW1zLWNrZWRpdG9yLWxpbmsuY29tcG9uZW50JztcclxuXHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL3Ftcy1ja2VkaXRvci1jb21wb25lbnRzL3NlcnZpY2VzL3Ftcy1ja2VkaXRvci1nbG9iYWwuc2VydmljZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL3Ftcy1ja2VkaXRvci1jb21wb25lbnRzL3NlcnZpY2VzL3Ftcy1ja2VkaXRvci1pbmplY3Rvci5zZXJ2aWNlJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvcW1zLWNrZWRpdG9yLWNvbXBvbmVudHMvc2VydmljZXMvcW1zLWNrZWRpdG9yLWJhc2Uuc2VydmljZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL3Ftcy1ja2VkaXRvci1jb21wb25lbnRzL3NlcnZpY2VzL3Ftcy1ja2VkdGlvci10ZW1wbGF0ZS5zZXJ2aWNlJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvcW1zLWNrZWRpdG9yLWNvbXBvbmVudHMvc2VydmljZXMvcW1zLWNrZWR0aW9yLXRlbXBsYXRlLnNlcnZpY2UnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9xbXMtY2tlZGl0b3ItY29tcG9uZW50cy9zZXJ2aWNlcy9xbXMtY2tlZGl0b3ItbGluay5zZXJ2aWNlJztcclxuLyogQnVzaW5lc3MgUHJvY2VzcyBNb2RlbCBhbmQgTm90YXRpb24gKi9cclxuZXhwb3J0ICogZnJvbSAnLi9saWIvcW1zLWNrZWRpdG9yLWNvbXBvbmVudHMvY29tcG9uZW50cy9xbXMtY2tlZGl0b3ItYnBtbi9xbXMtY2tlZGl0b3ItYnBtbi5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9xbXMtY2tlZGl0b3ItY29tcG9uZW50cy9zZXJ2aWNlcy9xbXMtY2tlZGl0b3ItYnBtbi5zZXJ2aWNlJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvcW1zLWNrZWRpdG9yLWNvbXBvbmVudHMvY29tbW9uL2JwbW4vaW5zcGVjdG9yLmZ1bmN0aW9uJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvcW1zLWNrZWRpdG9yLWNvbXBvbmVudHMvY29tbW9uL2JwbW4vdG9vbGJhci5mdW5jdGlvbic7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL3Ftcy1ja2VkaXRvci1jb21wb25lbnRzL2NvbW1vbi9jb25zdGFudHMvY2tlZGl0b3JGbG93Y2hhcnQuY29uc3QnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9xbXMtY2tlZGl0b3ItY29tcG9uZW50cy9jb21tb24vZW51bXMvZmxvd2NoYXJ0LXZpZXctbW9kZS5lbnVtJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvcW1zLWNrZWRpdG9yLWNvbXBvbmVudHMvY29tbW9uL2VudW1zL3JlbGF0ZWQtdG8taXRlbS10eXBlJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvcW1zLWNrZWRpdG9yLWNvbXBvbmVudHMvY29tbW9uL2hlbHBlci9ndWlkSGVscGVyJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvcW1zLWNrZWRpdG9yLWNvbXBvbmVudHMvY29tbW9uL21vZGVscy9xbXMtY2tlZGl0b3ItYnBtbi5tb2RlbCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL3Ftcy1ja2VkaXRvci1jb21wb25lbnRzL3NlcnZpY2VzL3Ftcy1ja2VkaXRvci1icG1uLWFwaS5zZXJ2aWNlJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvcW1zLWNrZWRpdG9yLWNvbXBvbmVudHMvY29tcG9uZW50cy9xbXMtY2tlZGl0b3ItYnBtbi9zYXZlLXRlbXBsYXRlL3NhdmUtdGVtcGxhdGUuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvcW1zLWNrZWRpdG9yLWNvbXBvbmVudHMvY29tbW9uL21vZGVscy9xbXMtY2tlZGl0b3ItYnBtbi10ZW1wbGF0ZS5tb2RlbCc7XHJcbi8qIEZsb3djaGFydCAqL1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9xbXMtY2tlZGl0b3ItY29tcG9uZW50cy9jb21tb24vbW9kZWxzL3Ftcy1ja2VkaXRvci1mbG93Y2hhcnQubW9kZWwnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9xbXMtY2tlZGl0b3ItY29tcG9uZW50cy9jb21tb24vbW9kZWxzL3Ftcy1ja2VkaXRvci1zYXZlLWFzLXRlbXBsYXRlLm1vZGVsJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvcW1zLWNrZWRpdG9yLWNvbXBvbmVudHMvc2VydmljZXMvcW1zLWNrZWRpdG9yLWZsb3djaGFydC5zZXJ2aWNlJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvcW1zLWNrZWRpdG9yLWNvbXBvbmVudHMvY29tbW9uL2Zsb3djaGFydC9jb25maWcvaGFsby5mdW5jdGlvbic7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL3Ftcy1ja2VkaXRvci1jb21wb25lbnRzL2NvbW1vbi9mbG93Y2hhcnQvY29uZmlnL2luc3BlY3Rvci5mdW5jdGlvbic7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL3Ftcy1ja2VkaXRvci1jb21wb25lbnRzL2NvbW1vbi9mbG93Y2hhcnQvY29uZmlnL3NlbGVjdGlvbi5mdW5jdGlvbic7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL3Ftcy1ja2VkaXRvci1jb21wb25lbnRzL2NvbW1vbi9mbG93Y2hhcnQvY29uZmlnL3N0ZW5jaWwuZnVuY3Rpb24nO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9xbXMtY2tlZGl0b3ItY29tcG9uZW50cy9jb21tb24vZmxvd2NoYXJ0L2NvbmZpZy90b29sYmFyLmZ1bmN0aW9uJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvcW1zLWNrZWRpdG9yLWNvbXBvbmVudHMvY29tbW9uL2Zsb3djaGFydC9tb2RlbHMvYXBwLXNoYXBlcyc7XHJcblxyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9kaXJlY3RpdmVzL3RleHQtYmxvY2svdGV4dC1ibG9jay5kaXJlY3RpdmUnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9kaXJlY3RpdmVzL3RleHQtYmxvY2svdGV4dC1ibG9jay1saW5lLmRpcmVjdGl2ZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvcW1zLWFwcC1iYXInO1xyXG5cclxuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9kaWFsb2cvY29uc3RhbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2RpYWxvZy9kaWFsb2cnO1xyXG5cclxuLy8gU2lkZSBzaGVldFxyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL3NpZGUtc2hlZXQnO1xyXG5cclxuZXhwb3J0ICogZnJvbSAnLi9saWIvZGlyZWN0aXZlcy90b29sdGlwL3Rvb2x0aXAtcmVuZGVyZXIuZGlyZWN0aXZlJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvZGlyZWN0aXZlcy90b29sdGlwL3Rvb2x0aXAtaW1hZ2UuZGlyZWN0aXZlJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy90b29sdGlwL3Rvb2x0aXAnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL3Rvb2x0aXAvdG9vbHRpcC5tb2R1bGUnO1xyXG5cclxuLy8gVEFiXHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvdGFiJztcclxuXHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvYmFubmVyJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9xbXMtc3RhdHVzLWRyb3Bkb3duJztcclxuXHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvYnV0dG9uL2J1dHRvbi10b2dnbGUnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9waXBlL2RhdGVGb3JtYXQucGlwZSc7XHJcblxyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9kaXJlY3RpdmVzL2NoaXAtaW5wdXQvY2hpcC1pbnB1dC1maWVsZC5kaXJlY3RpdmUnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9kaXJlY3RpdmVzL2NoaXAtaW5wdXQvY2hpcC1pbnB1dC1zZWxlY3QtZmllbGQuZGlyZWN0aXZlJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvZGlyZWN0aXZlcy9jaGlwLWlucHV0L2NoaXAtaW5wdXQtc2VsZWN0LXRyaWdnZXIuZGlyZWN0aXZlJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvZGlyZWN0aXZlcy9jaGlwLWlucHV0L2NoaXAtaW5wdXQtc2VsZWN0LWRyb3Bkb3duLmRpcmVjdGl2ZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2RpcmVjdGl2ZXMvY2hpcC1pbnB1dC9jaGlwLWlucHV0LWNoaXAtbGlzdC5kaXJlY3RpdmUnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL3RhYmxlL3RhYmxlLm1vZHVsZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvdGFibGUvdGFibGUtYWN0aW9uJztcclxuXHJcblxyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2JyZWFkY3J1bWIvYnJlYWRjcnVtYic7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvYnJlYWRjcnVtYi9icmVhZGNydW1iLm1vZHVsZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvYnJlYWRjcnVtYi9icmVhZGNydW1iLWl0ZW0uZGlyZWN0aXZlJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9icmVhZGNydW1iL2JyZWFkY3J1bWItZGlyZWN0aW9uLWljb24uZGlyZWN0aXZlJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9icmVhZGNydW1iL21vZGVsL2JyZWFkY3J1bWItbm9kZS5tb2RlbCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvYnJlYWRjcnVtYi9lbnVtL2JyZWFkY3J1bWItdHlwZSc7XHJcblxyXG5cclxuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tbW9uL3Ftcy1pY29uLmNvbnN0JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tbW9uL3JlbGF0ZWQuY29uc3QnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21tb24vdGhlbWVzLmNvbnN0JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tbW9uL2VudW0vZGF0YS10eXBlLmVudW0nO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21tb24vZW51bS9kb2N1bWVudC1ub2RlLXR5cGUuZW51bSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbW1vbi9lbnVtL21vZHVsZS10eXBlLmVudW0nO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21tb24vbW9kZWxzL3Ftcy1mbGF0LW5vZGUubW9kZWwnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21tb24vbW9kZWxzL3Ftcy10cmVlLW5vZGUubW9kZWwnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21tb24vbW9kZWxzL3Ftcy10cmVlLWNvbmZpZy5tb2RlbCc7XHJcblxyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL3Ftcy1zdGVwcGVyJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9zbmFja2Jhci9zbmFja2Jhcic7XHJcblxyXG5cclxuZXhwb3J0ICogZnJvbSAnLi9saWIvZGlyZWN0aXZlcy9zY3JvbGwtc2VsZWN0ZWQvc2Nyb2xsLXRvLXNlbGVjdGVkLmRpcmVjdGl2ZSc7XHJcblxyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2FwcC1pY29uL2ljb24tcmVnaXN0cnkuc2VydmljZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvYXBwLWljb24vYXBwLWljb24ubW9kdWxlJztcclxuXHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvcmVwb3J0cy9xbXMtcmVwb3J0cy5tb2R1bGUnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL3JlcG9ydHMvbW9kZWxzL2luZm9ybWF0aW9uLWNvdmVyLWl0ZW0tbW9kZWwnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL3JlcG9ydHMvcW1zLXJlcG9ydC1jb3Zlci1wb3J0cmFpdC9xbXMtcmVwb3J0LWNvdmVyLXBvcnRyYWl0LmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvcmVwb3J0cy9xbXMtcmVwb3J0LWNvbnRlbnQtcG9ydHJhaXQvcW1zLXJlcG9ydC1jb250ZW50LXBvcnRyYWl0LmNvbXBvbmVudCc7XHJcblxyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL3NlbGVjdC1kaWFsb2cvc2VsZWN0LWRpYWxvZyc7XHJcblxyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL3NlbGVjdC1pbmNsdWRlLWNoaWxkcmVuJztcclxuXHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvYmFkZ2VzJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9zZWxlY3Qtb25lJztcclxuXHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2RpcmVjdGl2ZXMvYXBwLWJhci9hcHAtYmFyLmRpcmVjdGl2ZSc7XHJcblxyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL3RyZWUnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL3RyZWVOZXcnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL3NlbGVjdC1wcm9jZXNzLWRvY3VtZW50JztcclxuXHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvcW1zLW5hdmlnYXRpb24tZHJhd2VyJztcclxuXHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2RpcmVjdGl2ZXMvdGFibGUvdGFibGUuZGlyZWN0aXZlJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvZGlyZWN0aXZlcy90YWJsZS90YWJsZS1yb3cuZGlyZWN0aXZlJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9xbXMtcGFnaW5hdG9yJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvZGlyZWN0aXZlcy9kaWFsb2cvZGlhbG9nLmNvbnRlbnQuZGlyZWN0aXZlJztcclxuXHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2RpcmVjdGl2ZXMvdGV4dC10cnVuY2F0ZS90ZXh0LXRydW5jYXRlLmRpcmVjdGl2ZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2RpcmVjdGl2ZXMvcW1zLW11bHRpLWljb24uZGlyZWN0aXZlJztcclxuXHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvcW1zLW5hdi1kcmF3ZXInO1xyXG5cclxuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9zZWxlY3QtZGVwYXJ0bWVudC10cmVlJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9zZWxlY3QtZGVwYXJ0bWVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvc2VsZWN0LWFjY2Vzcy1kaWFsb2cnO1xyXG4iXX0=
196
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Byb2plY3RzL3Ftcy1hbmd1bGFyL3NyYy9wdWJsaWMtYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsY0FBYywyQkFBMkIsQ0FBQztBQUMxQyxjQUFjLDZCQUE2QixDQUFDO0FBQzVDLGNBQWMsMEJBQTBCLENBQUM7QUFFekMsMkJBQTJCO0FBQzNCLGNBQWMsMkJBQTJCLENBQUM7QUFFMUMsYUFBYTtBQUNiLHFEQUFxRDtBQUNyRCxjQUFjLG1DQUFtQyxDQUFDO0FBQ2xELGNBQWMsaUNBQWlDLENBQUM7QUFFaEQsZUFBZTtBQUNmLGNBQWMsdUNBQXVDLENBQUM7QUFDdEQsY0FBYyxnQ0FBZ0MsQ0FBQztBQUMvQyxjQUFjLCtCQUErQixDQUFDO0FBRTlDLGNBQWMsa0NBQWtDLENBQUM7QUFDakQsY0FBYyw0Q0FBNEMsQ0FBQztBQUMzRCxlQUFlO0FBQ2YsY0FBYywrQkFBK0IsQ0FBQztBQUU5QyxjQUFjLHlDQUF5QyxDQUFDO0FBQ3hELGNBQWMsbUNBQW1DLENBQUM7QUFDbEQsY0FBYyw0QkFBNEIsQ0FBQztBQUMzQyxjQUFjLHNEQUFzRCxDQUFDO0FBRXJFLGNBQWMsNkNBQTZDLENBQUM7QUFDNUQsY0FBYyxnQ0FBZ0MsQ0FBQztBQUMvQyxjQUFjLHdDQUF3QyxDQUFDO0FBQ3ZELGNBQWMscUJBQXFCLENBQUM7QUFDcEMsY0FBYyxnQkFBZ0IsQ0FBQztBQUMvQixjQUFjLGdCQUFnQixDQUFDO0FBRS9CLGNBQWMsNkNBQTZDLENBQUM7QUFDNUQsY0FBYyxzQ0FBc0MsQ0FBQztBQUlyRCxjQUFjLHVDQUF1QyxDQUFDO0FBQ3RELGNBQWMsNENBQTRDLENBQUM7QUFDM0QsY0FBYyxxRUFBcUUsQ0FBQztBQUNwRixjQUFjLDhEQUE4RCxDQUFDO0FBQzdFLGNBQWMsMkVBQTJFLENBQUM7QUFDMUYsY0FBYyxvRUFBb0UsQ0FBQztBQUVuRixj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QUFDM0MsY0FBYywyQkFBMkIsQ0FBQztBQUMxQyxjQUFjLGtDQUFrQyxDQUFDO0FBQ2pELGNBQWMsMkNBQTJDLENBQUM7QUFDMUQsY0FBYyxvQ0FBb0MsQ0FBQztBQUNuRCxjQUFjLHlDQUF5QyxDQUFDO0FBQ3hELGNBQWMseUNBQXlDLENBQUM7QUFDeEQsY0FBYywyQ0FBMkMsQ0FBQztBQUUxRCxjQUFjLDhCQUE4QixDQUFDO0FBQzdDLGNBQWMsb0NBQW9DLENBQUM7QUFHbkQsY0FBYywrREFBK0QsQ0FBQztBQUU5RSxjQUFjLGlEQUFpRCxDQUFDO0FBQ2hFLGNBQWMsMkNBQTJDLENBQUM7QUFFMUQsY0FBYyw2Q0FBNkMsQ0FBQztBQUM1RCxjQUFjLDhEQUE4RCxDQUFDO0FBQzdFLGNBQWMsd0ZBQXdGLENBQUM7QUFDdkcsY0FBYyw0RkFBNEYsQ0FBQztBQUUzRyxjQUFjLDhDQUE4QyxDQUFDO0FBRTdELGNBQWMsMENBQTBDLENBQUM7QUFFekQsY0FBYyx5QkFBeUIsQ0FBQztBQUN4QyxjQUFjLDZCQUE2QixDQUFDO0FBRTVDLGNBQWMsNENBQTRDLENBQUM7QUFFM0QsY0FBYyx1QkFBdUIsQ0FBQztBQUN0QyxjQUFjLDBCQUEwQixDQUFDO0FBQ3pDLGNBQWMsMENBQTBDLENBQUM7QUFFekQsY0FBYyx3Q0FBd0MsQ0FBQztBQUV2RCxjQUFjLHdDQUF3QyxDQUFDO0FBQ3ZELGNBQWMsNENBQTRDLENBQUM7QUFDM0QsY0FBYyxnQ0FBZ0MsQ0FBQztBQUMvQyxjQUFjLGtEQUFrRCxDQUFDO0FBRWpFLGNBQWMsd0RBQXdELENBQUM7QUFDdkUsY0FBYywyQ0FBMkMsQ0FBQztBQUUxRCxjQUFjLGlDQUFpQyxDQUFDO0FBRWhELGNBQWMseUNBQXlDLENBQUM7QUFDeEQsY0FBYyxvQ0FBb0MsQ0FBQztBQUNuRCxjQUFjLHVDQUF1QyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLypcclxuICogUHVibGljIEFQSSBTdXJmYWNlIG9mIHFtcy1hbmd1bGFyXHJcbiAqL1xyXG5cclxuZXhwb3J0ICogZnJvbSAnLi9saWIvcW1zLWFuZ3VsYXIuc2VydmljZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL3Ftcy1hbmd1bGFyLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL3Ftcy1hbmd1bGFyLm1vZHVsZSc7XHJcblxyXG4vLyBRTVMgTWljcm8gRnJvbnRlbmQgVXRpbHNcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvdXRpbHMvcW1zLW1mZS51dGlscyc7XHJcblxyXG4vLyBkaXJlY3RpdmVzXHJcbi8vIGV4cG9ydCAqIGZyb20gJy4vbGliL2RpcmVjdGl2ZXMvZGlyZWN0aXZlLm1vZHVsZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2RpcmVjdGl2ZXMvbWFyZ2luLmRpcmVjdGl2ZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2RpcmVjdGl2ZXMvZm9ybS5kaXJlY3RpdmUnO1xyXG5cclxuLy8gLy9jb21wb25lbnRzXHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvYnV0dG9uL2J1dHRvbi5tb2R1bGUnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2J1dHRvbi9idXR0b24nO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2J1dHRvbi9jb2xvcic7XHJcblxyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2NvbW1lbnQvY29tbWVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvY29tbWVudC9jb21tZW50LWxvZy5tb2RlbCc7XHJcbi8vIFJhbmdlIHNsaWRlclxyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL3JhbmdlLXNsaWRlcic7XHJcblxyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9kaXJlY3RpdmVzL3NlYXJjaC1maWVsZC5kaXJlY3RpdmUnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2xpc3QvbGlzdC5tb2R1bGUnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2xpc3QvbGlzdCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvc3VmZml4LWZpZWxkL3N1ZmZpeC1maWVsZC5kaXJlY3RpdmUnO1xyXG5cclxuZXhwb3J0ICogZnJvbSAnLi9saWIvc2VydmljZXMvdHJhbnNsYXRpb24tcmVnaXN0cnkuc2VydmljZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL3NlcnZpY2VzL3RoZW1pbmcuc2VydmljZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL3NlcnZpY2VzL3Ftcy10cmVlLWdsb2JhbC5zZXJ2aWNlJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvc2hhcmVkLm1vZHVsZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZGVsL2VuJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kZWwvbm8nO1xyXG5cclxuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9yaWNoLXRleHQvcmljaC10ZXh0Lm1vZHVsZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvcmljaC10ZXh0L3JpY2gtdGV4dCc7XHJcblxyXG5cclxuXHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2RpcmVjdGl2ZXMvY2hpcHMvY2hpcC5kaXJlY3RpdmUnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9kaXJlY3RpdmVzL2NoaXBzL2NoaXAtYm9keS5kaXJlY3RpdmUnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2VkaXQtZmlsZS1uYW1lLWRpYWxvZy9lZGl0LWZpbGUtbmFtZS1kaWFsb2cubW9kdWxlJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9lZGl0LWZpbGUtbmFtZS1kaWFsb2cvZWRpdC1maWxlLW5hbWUtZGlhbG9nJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy91cGxvYWQtZmlsZS1lcnJvci1kaWFsb2cvdXBsb2FkLWZpbGUtZXJyb3ItZGlhbG9nLm1vZHVsZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvdXBsb2FkLWZpbGUtZXJyb3ItZGlhbG9nL3VwbG9hZC1maWxlLWVycm9yLWRpYWxvZyc7XHJcblxyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9kaXJlY3RpdmVzL2ZpbGUtdXBsb2FkL2ZpbGUtdXBsb2FkLmRpcmVjdGl2ZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2RpcmVjdGl2ZXMvZmlsZS11cGxvYWQvZmlsZS11cGxvYWQtYXR0YWNobWVudC1saXN0LmRpcmVjdGl2ZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2RpcmVjdGl2ZXMvZmlsZS11cGxvYWQvZmlsZS11cGxvYWQtc2VsZWN0b3IuZGlyZWN0aXZlJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvZGlyZWN0aXZlcy9maWxlLXVwbG9hZC9maWxlLXVwbG9hZC1kaXNwbGF5LmRpcmVjdGl2ZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2RpcmVjdGl2ZXMvZmlsZS11cGxvYWQvZmlsZS11cGxvYWQtc2Nyb2xsYWJsZS1hdHRhY2htZW50LWxpc3QuZGlyZWN0aXZlJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvZGlyZWN0aXZlcy9maWxlLXVwbG9hZC9maWxlLXVwbG9hZC1tdWx0aXBsZS5kaXJlY3RpdmUnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9kaXJlY3RpdmVzL2ZpbGUtdXBsb2FkL2ZpbGUtdXBsb2FkLW11bHRpcGxlLXNlbGVjdG9yLmRpcmVjdGl2ZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2RpcmVjdGl2ZXMvZmlsZS11cGxvYWQvZmlsZS11cGxvYWQtbXVsdGlwbGUtZGlzcGxheS5kaXJlY3RpdmUnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9kaXJlY3RpdmVzL2ZpbGUtdXBsb2FkL3Ftcy1maWxlLXVwbG9hZC1hdHRhY2htZW50Lm1vZGVsJztcclxuXHJcblxyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9kaXJlY3RpdmVzL2Ryb3Bkb3duLW1lbnUvZHJvcGRvd24taXRlbS5kaXJlY3RpdmUnO1xyXG5cclxuZXhwb3J0ICogZnJvbSAnLi9saWIvZGlyZWN0aXZlcy9zY3JvbGxiYXIvc2Nyb2xsYmFyLmRpcmVjdGl2ZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2RpcmVjdGl2ZXMvc2Nyb2xsLXNlbGVjdGVkL3Njcm9sbC10by1zZWxlY3RlZC5kaXJlY3RpdmUnO1xyXG5cclxuLy8gZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9zdWJzdGFuY2UtY29uZmxpY3Qvc3Vic3RhbmNlLWNvbmZsaWN0Lm1vZHVsZSc7XHJcbi8vIGV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvc3Vic3RhbmNlLWNvbmZsaWN0L3N1YnN0YWluY2UtY29uZmxpY3QuYmFzZSc7XHJcbi8vIGV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvc3Vic3RhbmNlLWNvbmZsaWN0L3N1YnN0YW5jZS1jb25mbGljdC5jb21wb25lbnQnO1xyXG5cclxuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9yZWxhdGVkL3JlbGF0ZWQubW9kdWxlJztcclxuXHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvcmVsYXRlZC9wb3B1cC9yZWxhdGVkLXBvcHVwLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvcmVsYXRlZC9tb2RlbC9wb3B1cC1kYXRhLm1vZGVsJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9yZWxhdGVkL2NvbnRlbnQvcmVsYXRlZC1jb250ZW50LmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvcmVsYXRlZC9zaWRlbmF2L3NpZGVuYXYuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9yZWxhdGVkL21vZGVsL3NpZGVuYXYubW9kZWwnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL3JlbGF0ZWQvcmlzay9hbmFseXNpcy9hbmFseXNpcy5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL3JlbGF0ZWQvbW9kZWwvcmlzay1hbmFseXNpcy5tb2RlbCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvcmVsYXRlZC9tb2RlbC9yaXNrLWRhbmdlci5tb2RlbCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvcmVsYXRlZC9yaXNrL3Jlc3VsdC9yZXN1bHQuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9yZWxhdGVkL21vZGVsL3Jpc2stcmVzdWx0Lm1vZGVsJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9yZWxhdGVkL3Jpc2svbGlzdC9saXN0LmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvcmVsYXRlZC9saXN0LW90aGVyLXJlbGF0ZWQvbGlzdC1yZWxhdGVkLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvcmVsYXRlZC9zZXJ2aWNlL3JlbGF0ZWQtZ2xvYmFsLnNlcnZpY2UnO1xyXG4vKiBxbXMtY2tlZGl0b3IgKi9cclxuZXhwb3J0ICogZnJvbSAnLi9saWIvcW1zLWNrZWRpdG9yLWNvbXBvbmVudHMvcW1zLWNrZWRpdG9yLm1vZHVsZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL3Ftcy1ja2VkaXRvci1jb21wb25lbnRzL3Ftcy1ja2VkaXRvci1iYXNlLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL3Ftcy1ja2VkaXRvci1jb21wb25lbnRzL3Ftcy1ja2VkaXRvci5jb21wb25lbnQnO1xyXG5cclxuZXhwb3J0ICogZnJvbSAnLi9saWIvcW1zLWNrZWRpdG9yLWNvbXBvbmVudHMvY29tbW9uL2NvbnN0YW50cy9ja2VkaXRvckV2ZW50LmNvbnN0YW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvcW1zLWNrZWRpdG9yLWNvbXBvbmVudHMvY29tbW9uL2VudW1zL2RvY3VtZW50LXR5cGUuZW51bSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL3Ftcy1ja2VkaXRvci1jb21wb25lbnRzL2NvbW1vbi9lbnVtcy9saW5rLWFuY2hvci5lbnVtJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvcW1zLWNrZWRpdG9yLWNvbXBvbmVudHMvY29tbW9uL2VudW1zL2xpbmstdHlwZS5lbnVtJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvcW1zLWNrZWRpdG9yLWNvbXBvbmVudHMvY29tbW9uL2VudW1zL3Byb3RvY29sLXR5cGUuZW51bSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL3Ftcy1ja2VkaXRvci1jb21wb25lbnRzL2NvbW1vbi9lbnVtcy90YXJnZXQtdHlwZS5lbnVtJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvcW1zLWNrZWRpdG9yLWNvbXBvbmVudHMvY29tbW9uL2VudW1zL21vZHVsZS5lbnVtJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvcW1zLWNrZWRpdG9yLWNvbXBvbmVudHMvY29tbW9uL2Z1bmN0aW9ucy9jb21tb24uZnVuY3Rpb24nO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9xbXMtY2tlZGl0b3ItY29tcG9uZW50cy9jb21tb24vZnVuY3Rpb25zL3RyZWUuZnVuY3Rpb24nO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9xbXMtY2tlZGl0b3ItY29tcG9uZW50cy9jb21tb24vbW9kZWxzL3Ftcy1ja2VkaXRvci1kYXRhLm1vZGVsJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvcW1zLWNrZWRpdG9yLWNvbXBvbmVudHMvY29tbW9uL21vZGVscy9xbXMtY2tlZGl0b3ItZGlhbG9nLm1vZGVsJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvcW1zLWNrZWRpdG9yLWNvbXBvbmVudHMvY29tbW9uL21vZGVscy9xbXMtY2tlZGl0b3ItaW5wdXQubW9kZWwnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9xbXMtY2tlZGl0b3ItY29tcG9uZW50cy9jb21tb24vbW9kZWxzL3Ftcy1ja2VkaXRvci1saW5rLWFuY2hvci1kb2N1bWVudC5tb2RlbCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL3Ftcy1ja2VkaXRvci1jb21wb25lbnRzL2NvbW1vbi9tb2RlbHMvcW1zLWNrZWRpdG9yLWxpbmstYXR0YWNobWVudC5tb2RlbCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL3Ftcy1ja2VkaXRvci1jb21wb25lbnRzL2NvbW1vbi9tb2RlbHMvcW1zLWNrZWRpdG9yLXJlbGF0aW9uLm1vZGVsJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvcW1zLWNrZWRpdG9yLWNvbXBvbmVudHMvY29tbW9uL21vZGVscy9xbXMtY2tlZGl0b3ItdHJlZS5tb2RlbCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL3Ftcy1ja2VkaXRvci1jb21wb25lbnRzL2NvbW1vbi9tb2RlbHMvcW1zLWNrZWRpdG9yLXVybC5tb2RlbCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL3Ftcy1ja2VkaXRvci1jb21wb25lbnRzL2NvbW1vbi9tb2RlbHMvcW1zLWNrZWRpdG9yLXBsdWdpbi5tb2RlbCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL3Ftcy1ja2VkaXRvci1jb21wb25lbnRzL2NvbW1vbi9tb2R1bGUvY29uZmlybS9xbXMtY2tlZGl0b3ItY29uZmlybS5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9xbXMtY2tlZGl0b3ItY29tcG9uZW50cy9jb21tb24vbW9kdWxlL3RyZWUvcW1zLWNrZWRpdG9yLXRyZWUuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvcW1zLWNrZWRpdG9yLWNvbXBvbmVudHMvY29tbW9uL3RvYXN0L3Ftcy1ja2VkaXRvci10b2FzdC5zZXJ2aWNlJztcclxuXHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL3Ftcy1ja2VkaXRvci1jb21wb25lbnRzL21vZGVscy9xbXMtY2tlZGl0b3ItdGVtcGxhdGUubW9kZWwnO1xyXG5cclxuZXhwb3J0ICogZnJvbSAnLi9saWIvcW1zLWNrZWRpdG9yLWNvbXBvbmVudHMvY29tcG9uZW50cy9xbXMtY2tlZGl0b3ItZnVsbHNjcmVlbi9xbXMtY2tlZGl0b3ItZnVsbHNjcmVlbi5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9xbXMtY2tlZGl0b3ItY29tcG9uZW50cy9jb21wb25lbnRzL3Ftcy1ja2VkaXRvci1sb2FkLXRlbXBsYXRlL3Ftcy1ja2VkaXRvci1sb2FkLXRlbXBsYXRlLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL3Ftcy1ja2VkaXRvci1jb21wb25lbnRzL2NvbXBvbmVudHMvcW1zLWNrZWRpdG9yLXJlbGF0aW9uL3Ftc2NrZWRpdG9yLXJlbGF0ZWQuY29tcG9uZW50JztcclxuLy8gZXhwb3J0ICogZnJvbSAnLi9saWIvcW1zLWNrZWRpdG9yLWNvbXBvbmVudHMvY29tcG9uZW50cy9xbXMtY2tlZGl0b3ItbGluay9hdHRhY2htZW50cy9saW5rLWF0dGFjaG1lbnQuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvcW1zLWNrZWRpdG9yLWNvbXBvbmVudHMvY29tcG9uZW50cy9xbXMtY2tlZGl0b3ItbGluay9xbXMtY2tlZGl0b3ItbGluay5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9xbXMtY2tlZGl0b3ItY29tcG9uZW50cy9jb21wb25lbnRzL3Ftcy1ja2VkaXRvci1saW5rLXNpbXBsZS9xbXMtY2tlZGl0b3ItbGluay1zaW1wbGUuY29tcG9uZW50JztcclxuXHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL3Ftcy1ja2VkaXRvci1jb21wb25lbnRzL3NlcnZpY2VzL3Ftcy1ja2VkaXRvci1nbG9iYWwuc2VydmljZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL3Ftcy1ja2VkaXRvci1jb21wb25lbnRzL3NlcnZpY2VzL3Ftcy1ja2VkaXRvci1pbmplY3Rvci5zZXJ2aWNlJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvcW1zLWNrZWRpdG9yLWNvbXBvbmVudHMvc2VydmljZXMvcW1zLWNrZWRpdG9yLWJhc2Uuc2VydmljZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL3Ftcy1ja2VkaXRvci1jb21wb25lbnRzL3NlcnZpY2VzL3Ftcy1ja2VkdGlvci10ZW1wbGF0ZS5zZXJ2aWNlJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvcW1zLWNrZWRpdG9yLWNvbXBvbmVudHMvc2VydmljZXMvcW1zLWNrZWR0aW9yLXRlbXBsYXRlLnNlcnZpY2UnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9xbXMtY2tlZGl0b3ItY29tcG9uZW50cy9zZXJ2aWNlcy9xbXMtY2tlZGl0b3ItbGluay5zZXJ2aWNlJztcclxuLyogQnVzaW5lc3MgUHJvY2VzcyBNb2RlbCBhbmQgTm90YXRpb24gKi9cclxuZXhwb3J0ICogZnJvbSAnLi9saWIvcW1zLWNrZWRpdG9yLWNvbXBvbmVudHMvY29tcG9uZW50cy9xbXMtY2tlZGl0b3ItYnBtbi9xbXMtY2tlZGl0b3ItYnBtbi5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9xbXMtY2tlZGl0b3ItY29tcG9uZW50cy9zZXJ2aWNlcy9xbXMtY2tlZGl0b3ItYnBtbi5zZXJ2aWNlJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvcW1zLWNrZWRpdG9yLWNvbXBvbmVudHMvY29tbW9uL2JwbW4vaW5zcGVjdG9yLmZ1bmN0aW9uJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvcW1zLWNrZWRpdG9yLWNvbXBvbmVudHMvY29tbW9uL2JwbW4vdG9vbGJhci5mdW5jdGlvbic7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL3Ftcy1ja2VkaXRvci1jb21wb25lbnRzL2NvbW1vbi9jb25zdGFudHMvY2tlZGl0b3JGbG93Y2hhcnQuY29uc3QnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9xbXMtY2tlZGl0b3ItY29tcG9uZW50cy9jb21tb24vZW51bXMvZmxvd2NoYXJ0LXZpZXctbW9kZS5lbnVtJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvcW1zLWNrZWRpdG9yLWNvbXBvbmVudHMvY29tbW9uL2VudW1zL3JlbGF0ZWQtdG8taXRlbS10eXBlJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvcW1zLWNrZWRpdG9yLWNvbXBvbmVudHMvY29tbW9uL2hlbHBlci9ndWlkSGVscGVyJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvcW1zLWNrZWRpdG9yLWNvbXBvbmVudHMvY29tbW9uL21vZGVscy9xbXMtY2tlZGl0b3ItYnBtbi5tb2RlbCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL3Ftcy1ja2VkaXRvci1jb21wb25lbnRzL3NlcnZpY2VzL3Ftcy1ja2VkaXRvci1icG1uLWFwaS5zZXJ2aWNlJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvcW1zLWNrZWRpdG9yLWNvbXBvbmVudHMvY29tcG9uZW50cy9xbXMtY2tlZGl0b3ItYnBtbi9zYXZlLXRlbXBsYXRlL3NhdmUtdGVtcGxhdGUuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvcW1zLWNrZWRpdG9yLWNvbXBvbmVudHMvY29tbW9uL21vZGVscy9xbXMtY2tlZGl0b3ItYnBtbi10ZW1wbGF0ZS5tb2RlbCc7XHJcbi8qIEZsb3djaGFydCAqL1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9xbXMtY2tlZGl0b3ItY29tcG9uZW50cy9jb21tb24vbW9kZWxzL3Ftcy1ja2VkaXRvci1mbG93Y2hhcnQubW9kZWwnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9xbXMtY2tlZGl0b3ItY29tcG9uZW50cy9jb21tb24vbW9kZWxzL3Ftcy1ja2VkaXRvci1zYXZlLWFzLXRlbXBsYXRlLm1vZGVsJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvcW1zLWNrZWRpdG9yLWNvbXBvbmVudHMvc2VydmljZXMvcW1zLWNrZWRpdG9yLWZsb3djaGFydC5zZXJ2aWNlJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvcW1zLWNrZWRpdG9yLWNvbXBvbmVudHMvY29tbW9uL2Zsb3djaGFydC9jb25maWcvaGFsby5mdW5jdGlvbic7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL3Ftcy1ja2VkaXRvci1jb21wb25lbnRzL2NvbW1vbi9mbG93Y2hhcnQvY29uZmlnL2luc3BlY3Rvci5mdW5jdGlvbic7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL3Ftcy1ja2VkaXRvci1jb21wb25lbnRzL2NvbW1vbi9mbG93Y2hhcnQvY29uZmlnL3NlbGVjdGlvbi5mdW5jdGlvbic7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL3Ftcy1ja2VkaXRvci1jb21wb25lbnRzL2NvbW1vbi9mbG93Y2hhcnQvY29uZmlnL3N0ZW5jaWwuZnVuY3Rpb24nO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9xbXMtY2tlZGl0b3ItY29tcG9uZW50cy9jb21tb24vZmxvd2NoYXJ0L2NvbmZpZy90b29sYmFyLmZ1bmN0aW9uJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvcW1zLWNrZWRpdG9yLWNvbXBvbmVudHMvY29tbW9uL2Zsb3djaGFydC9tb2RlbHMvYXBwLXNoYXBlcyc7XHJcblxyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9kaXJlY3RpdmVzL3RleHQtYmxvY2svdGV4dC1ibG9jay5kaXJlY3RpdmUnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9kaXJlY3RpdmVzL3RleHQtYmxvY2svdGV4dC1ibG9jay1saW5lLmRpcmVjdGl2ZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvcW1zLWFwcC1iYXInO1xyXG5cclxuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9kaWFsb2cvY29uc3RhbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2RpYWxvZy9kaWFsb2cnO1xyXG5cclxuLy8gU2lkZSBzaGVldFxyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL3NpZGUtc2hlZXQnO1xyXG5cclxuZXhwb3J0ICogZnJvbSAnLi9saWIvZGlyZWN0aXZlcy90b29sdGlwL3Rvb2x0aXAtcmVuZGVyZXIuZGlyZWN0aXZlJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvZGlyZWN0aXZlcy90b29sdGlwL3Rvb2x0aXAtaW1hZ2UuZGlyZWN0aXZlJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy90b29sdGlwL3Rvb2x0aXAnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL3Rvb2x0aXAvdG9vbHRpcC5tb2R1bGUnO1xyXG5cclxuLy8gVEFiXHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvdGFiJztcclxuXHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvYmFubmVyJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9xbXMtc3RhdHVzLWRyb3Bkb3duJztcclxuXHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvYnV0dG9uL2J1dHRvbi10b2dnbGUnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9waXBlL2RhdGVGb3JtYXQucGlwZSc7XHJcblxyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9kaXJlY3RpdmVzL2NoaXAtaW5wdXQvY2hpcC1pbnB1dC1maWVsZC5kaXJlY3RpdmUnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9kaXJlY3RpdmVzL2NoaXAtaW5wdXQvY2hpcC1pbnB1dC1zZWxlY3QtZmllbGQuZGlyZWN0aXZlJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvZGlyZWN0aXZlcy9jaGlwLWlucHV0L2NoaXAtaW5wdXQtc2VsZWN0LXRyaWdnZXIuZGlyZWN0aXZlJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvZGlyZWN0aXZlcy9jaGlwLWlucHV0L2NoaXAtaW5wdXQtc2VsZWN0LWRyb3Bkb3duLmRpcmVjdGl2ZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2RpcmVjdGl2ZXMvY2hpcC1pbnB1dC9jaGlwLWlucHV0LWNoaXAtbGlzdC5kaXJlY3RpdmUnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL3RhYmxlL3RhYmxlLm1vZHVsZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvdGFibGUvdGFibGUtYWN0aW9uJztcclxuXHJcblxyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2JyZWFkY3J1bWIvYnJlYWRjcnVtYic7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvYnJlYWRjcnVtYi9icmVhZGNydW1iLm1vZHVsZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvYnJlYWRjcnVtYi9icmVhZGNydW1iLWl0ZW0uZGlyZWN0aXZlJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9icmVhZGNydW1iL2JyZWFkY3J1bWItZGlyZWN0aW9uLWljb24uZGlyZWN0aXZlJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9icmVhZGNydW1iL21vZGVsL2JyZWFkY3J1bWItbm9kZS5tb2RlbCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvYnJlYWRjcnVtYi9lbnVtL2JyZWFkY3J1bWItdHlwZSc7XHJcblxyXG5cclxuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tbW9uL3Ftcy1pY29uLmNvbnN0JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tbW9uL3JlbGF0ZWQuY29uc3QnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21tb24vdGhlbWVzLmNvbnN0JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tbW9uL2VudW0vZGF0YS10eXBlLmVudW0nO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21tb24vZW51bS9kb2N1bWVudC1ub2RlLXR5cGUuZW51bSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbW1vbi9lbnVtL21vZHVsZS10eXBlLmVudW0nO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21tb24vbW9kZWxzL3Ftcy1mbGF0LW5vZGUubW9kZWwnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21tb24vbW9kZWxzL3Ftcy10cmVlLW5vZGUubW9kZWwnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21tb24vbW9kZWxzL3Ftcy10cmVlLWNvbmZpZy5tb2RlbCc7XHJcblxyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL3Ftcy1zdGVwcGVyJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9zbmFja2Jhci9zbmFja2Jhcic7XHJcblxyXG5cclxuZXhwb3J0ICogZnJvbSAnLi9saWIvZGlyZWN0aXZlcy9zY3JvbGwtc2VsZWN0ZWQvc2Nyb2xsLXRvLXNlbGVjdGVkLmRpcmVjdGl2ZSc7XHJcblxyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2FwcC1pY29uL2ljb24tcmVnaXN0cnkuc2VydmljZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvYXBwLWljb24vYXBwLWljb24ubW9kdWxlJztcclxuXHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvcmVwb3J0cy9xbXMtcmVwb3J0cy5tb2R1bGUnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL3JlcG9ydHMvbW9kZWxzL2luZm9ybWF0aW9uLWNvdmVyLWl0ZW0tbW9kZWwnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL3JlcG9ydHMvcW1zLXJlcG9ydC1jb3Zlci1wb3J0cmFpdC9xbXMtcmVwb3J0LWNvdmVyLXBvcnRyYWl0LmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvcmVwb3J0cy9xbXMtcmVwb3J0LWNvbnRlbnQtcG9ydHJhaXQvcW1zLXJlcG9ydC1jb250ZW50LXBvcnRyYWl0LmNvbXBvbmVudCc7XHJcblxyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL3NlbGVjdC1kaWFsb2cvc2VsZWN0LWRpYWxvZyc7XHJcblxyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL3NlbGVjdC1pbmNsdWRlLWNoaWxkcmVuJztcclxuXHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvYmFkZ2VzJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9zZWxlY3Qtb25lJztcclxuXHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2RpcmVjdGl2ZXMvYXBwLWJhci9hcHAtYmFyLmRpcmVjdGl2ZSc7XHJcblxyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL3RyZWUnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL3RyZWVOZXcnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL3NlbGVjdC1wcm9jZXNzLWRvY3VtZW50JztcclxuXHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvcW1zLW5hdmlnYXRpb24tZHJhd2VyJztcclxuXHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2RpcmVjdGl2ZXMvdGFibGUvdGFibGUuZGlyZWN0aXZlJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvZGlyZWN0aXZlcy90YWJsZS90YWJsZS1yb3cuZGlyZWN0aXZlJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9xbXMtcGFnaW5hdG9yJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvZGlyZWN0aXZlcy9kaWFsb2cvZGlhbG9nLmNvbnRlbnQuZGlyZWN0aXZlJztcclxuXHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2RpcmVjdGl2ZXMvdGV4dC10cnVuY2F0ZS90ZXh0LXRydW5jYXRlLmRpcmVjdGl2ZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2RpcmVjdGl2ZXMvcW1zLW11bHRpLWljb24uZGlyZWN0aXZlJztcclxuXHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvcW1zLW5hdi1kcmF3ZXInO1xyXG5cclxuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9zZWxlY3QtZGVwYXJ0bWVudC10cmVlJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9zZWxlY3QtZGVwYXJ0bWVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvc2VsZWN0LWFjY2Vzcy1kaWFsb2cnO1xyXG4iXX0=