@colijnit/sharedcomponents 260.1.15 → 260.1.16

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 (20) hide show
  1. package/bundles/colijnit-sharedcomponents.umd.js +27 -30
  2. package/bundles/colijnit-sharedcomponents.umd.js.map +1 -1
  3. package/colijnit-sharedcomponents.metadata.json +1 -1
  4. package/esm2015/lib/components/files-upload/components/base-file-upload.component.js +1 -2
  5. package/esm2015/lib/components/form-builder/form-builder-user-form/form-builder-user-form.component.js +8 -25
  6. package/esm2015/lib/components/send-method-dialog/components/send-method-printer/send-method-printer.component.js +60 -48
  7. package/esm2015/lib/components/send-method-dialog/components/send-method-printer/send-method-printer.module.js +4 -3
  8. package/esm2015/lib/components/send-method-dialog/send-method-dialog.component.js +6 -1
  9. package/esm2015/lib/enum/icon.enum.js +1 -1
  10. package/esm2015/lib/model/icon-svg.js +1 -1
  11. package/esm2015/lib/res/dictionary/dictionaries.js +7 -1
  12. package/esm2015/lib/service/shared-connector.service.js +1 -1
  13. package/fesm2015/colijnit-sharedcomponents.js +80 -74
  14. package/fesm2015/colijnit-sharedcomponents.js.map +1 -1
  15. package/lib/components/form-builder/form-builder-user-form/form-builder-user-form.component.d.ts +2 -2
  16. package/lib/components/send-method-dialog/components/send-method-printer/send-method-printer.component.d.ts +3 -0
  17. package/lib/components/send-method-dialog/components/send-method-printer/style/_layout.scss +10 -0
  18. package/lib/components/send-method-dialog/send-method-dialog.component.d.ts +1 -0
  19. package/lib/res/dictionary/dictionaries.d.ts +31986 -0
  20. package/package.json +1 -1
@@ -16,8 +16,10 @@ export class SendMethodPrinterComponent {
16
16
  this.additionalFileName = '';
17
17
  this.additionalFileChangeEvent = new EventEmitter();
18
18
  this.useLocalPrint = new EventEmitter();
19
+ this.copiesAmountChange = new EventEmitter();
19
20
  this.icons = Icon;
20
21
  this.localPrint = false;
22
+ this.copiesAmount = 1;
21
23
  }
22
24
  showClass() {
23
25
  return true;
@@ -71,61 +73,70 @@ export class SendMethodPrinterComponent {
71
73
  }
72
74
  });
73
75
  }
76
+ handleCopiesAmountChange(amount) {
77
+ this.copiesAmount = amount;
78
+ this.copiesAmountChange.emit(amount);
79
+ }
74
80
  }
75
81
  SendMethodPrinterComponent.decorators = [
76
82
  { type: Component, args: [{
77
83
  selector: 'co-send-method-printer',
78
84
  template: `
79
- <span class="send-methods-label" [textContent]="'SETTINGS' | sharedLocalize"></span>
80
- <div class="printer-layout-selections-wrapper">
81
- <div class="printer-signature-wrapper">
82
- <co-layout-selection
83
- [(request)]="sendMethodService.reportingDocumentPrintSignDocBaseRequest"
84
- (requestChange)="updatePrinter($event)"
85
- [layouts]="layouts"
86
- [label]="'PRINTER_LAYOUT'"
87
- [useDefault]="false">
88
- </co-layout-selection>
89
- <co-additional-file-button
90
- #additionalFileButton
91
- *ngIf="isAdditionalDocEnabled"
92
- [additionalFileContents]="additionalFileContents"
93
- [additionalFileName]="additionalFileName"
94
- (additionalFileChangeEvent)="additionalFileChangeEvent.emit($event)">
95
- </co-additional-file-button>
96
- <co-signature-button [request]="sendMethodService.reportingDocumentPrintSignDocBaseRequest"></co-signature-button>
97
- </div>
98
-
99
- <co-input-checkbox
100
- [model]="localPrint"
101
- [label]="'LOCAL_PRINT' | sharedLocalize"
102
- (modelChange)="handleLocalPrintChange($event)">
103
- </co-input-checkbox>
85
+ <span class="send-methods-label" [textContent]="'SETTINGS' | sharedLocalize"></span>
86
+ <div class="printer-layout-selections-wrapper">
87
+ <div class="printer-signature-wrapper">
88
+ <co-layout-selection
89
+ [(request)]="sendMethodService.reportingDocumentPrintSignDocBaseRequest"
90
+ (requestChange)="updatePrinter($event)"
91
+ [layouts]="layouts"
92
+ [label]="'PRINTER_LAYOUT'"
93
+ [useDefault]="false">
94
+ </co-layout-selection>
95
+ <co-additional-file-button
96
+ #additionalFileButton
97
+ *ngIf="isAdditionalDocEnabled"
98
+ [additionalFileContents]="additionalFileContents"
99
+ [additionalFileName]="additionalFileName"
100
+ (additionalFileChangeEvent)="additionalFileChangeEvent.emit($event)">
101
+ </co-additional-file-button>
102
+ <co-signature-button [request]="sendMethodService.reportingDocumentPrintSignDocBaseRequest"></co-signature-button>
103
+ </div>
104
104
 
105
- <div class="layout-buttons-wrapper" *ngIf="isPrinterLayoutsEnabled">
106
- <ng-container *ngIf="!localPrint">
107
- <span [textContent]="'NETWORK_PRINTERS' | sharedLocalize"></span>
108
- <co-printer-selection
109
- [defaultPrinter]="defaultPrinter"
110
- [required]="!localPrint"
111
- [printers]="printerList">
112
- </co-printer-selection>
113
- </ng-container>
114
-
115
- <div class="additional-checks">
116
105
  <co-input-checkbox
117
- [model]="sendMethodService.reportingDocumentPrintSignDocBaseRequest.saveDefaultPrinterForUser"
118
- [label]="'Koppeling onthouden'"
119
- (modelChange)="handleDefaultPrinterUserChange($event)">
106
+ [model]="localPrint"
107
+ [label]="'LOCAL_PRINT' | sharedLocalize"
108
+ (modelChange)="handleLocalPrintChange($event)">
120
109
  </co-input-checkbox>
121
- <co-input-checkbox
122
- [model]="sendMethodService.reportingDocumentPrintSignDocBaseRequest.saveDefaultPrinterForAllUsers"
123
- [label]="'Alle gebruikers'"
124
- (modelChange)="handleDefaultPrinterAllUsersChange($event)">
125
- </co-input-checkbox>
126
- </div>
110
+
111
+ <div class="layout-buttons-wrapper" *ngIf="isPrinterLayoutsEnabled">
112
+ <ng-container *ngIf="!localPrint">
113
+ <span [textContent]="'NETWORK_PRINTERS' | sharedLocalize"></span>
114
+ <co-printer-selection
115
+ [defaultPrinter]="defaultPrinter"
116
+ [required]="!localPrint"
117
+ [printers]="printerList">
118
+ </co-printer-selection>
119
+ </ng-container>
120
+
121
+ <div class="additional-checks">
122
+ <div class="copies-amount-wrapper">
123
+ <span [textContent]="'AMOUNT' | sharedLocalize"></span>
124
+ <co-input-number-picker [model]="copiesAmount" [min]="1" (modelChange)="handleCopiesAmountChange($event)"></co-input-number-picker>
125
+ </div>
126
+
127
+ <co-input-checkbox
128
+ [model]="sendMethodService.reportingDocumentPrintSignDocBaseRequest.saveDefaultPrinterForUser"
129
+ [label]="'Koppeling onthouden'"
130
+ (modelChange)="handleDefaultPrinterUserChange($event)">
131
+ </co-input-checkbox>
132
+ <co-input-checkbox
133
+ [model]="sendMethodService.reportingDocumentPrintSignDocBaseRequest.saveDefaultPrinterForAllUsers"
134
+ [label]="'Alle gebruikers'"
135
+ (modelChange)="handleDefaultPrinterAllUsersChange($event)">
136
+ </co-input-checkbox>
137
+ </div>
138
+ </div>
127
139
  </div>
128
- </div>
129
140
  `,
130
141
  encapsulation: ViewEncapsulation.None
131
142
  },] }
@@ -146,6 +157,7 @@ SendMethodPrinterComponent.propDecorators = {
146
157
  additionalFileName: [{ type: Input }],
147
158
  layoutCode: [{ type: Input }],
148
159
  additionalFileChangeEvent: [{ type: Output }],
149
- useLocalPrint: [{ type: Output }]
160
+ useLocalPrint: [{ type: Output }],
161
+ copiesAmountChange: [{ type: Output }]
150
162
  };
151
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VuZC1tZXRob2QtcHJpbnRlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zaGFyZWRjb21wb25lbnRzL3NyYy9saWIvY29tcG9uZW50cy9zZW5kLW1ldGhvZC1kaWFsb2cvY29tcG9uZW50cy9zZW5kLW1ldGhvZC1wcmludGVyL3NlbmQtbWV0aG9kLXByaW50ZXIuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQUUsWUFBWSxFQUFFLFdBQVcsRUFBRSxLQUFLLEVBQVUsTUFBTSxFQUFFLFNBQVMsRUFBRSxpQkFBaUIsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUN4SCxPQUFPLEVBQUMsaUJBQWlCLEVBQUMsTUFBTSxtQ0FBbUMsQ0FBQztBQUdwRSxPQUFPLEVBQUMsSUFBSSxFQUFDLE1BQU0sNEJBQTRCLENBQUM7QUFDaEQsT0FBTyxFQUFDLGdCQUFnQixFQUFDLE1BQU0sd0NBQXdDLENBQUM7QUFHeEUsT0FBTyxFQUFDLGFBQWEsRUFBQyxNQUFNLG9DQUFvQyxDQUFDO0FBNERqRSxNQUFNLE9BQU8sMEJBQTBCO0lBeUNyQyxZQUNTLGlCQUFvQyxFQUNwQyxnQkFBa0MsRUFDakMsY0FBNkI7UUFGOUIsc0JBQWlCLEdBQWpCLGlCQUFpQixDQUFtQjtRQUNwQyxxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWtCO1FBQ2pDLG1CQUFjLEdBQWQsY0FBYyxDQUFlO1FBbENoQyxnQkFBVyxHQUFjLEVBQUUsQ0FBQztRQUc1QixZQUFPLEdBQWlDLEVBQUUsQ0FBQztRQUczQyw0QkFBdUIsR0FBWSxJQUFJLENBQUM7UUFHeEMsMkJBQXNCLEdBQVksS0FBSyxDQUFDO1FBR3hDLDJCQUFzQixHQUFRLEVBQUUsQ0FBQztRQUdqQyx1QkFBa0IsR0FBVyxFQUFFLENBQUM7UUFNaEMsOEJBQXlCLEdBQTZCLElBQUksWUFBWSxFQUFjLENB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OUk7UUFDSCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7OztZQTFKRixTQUFTLFNBQUM7Z0JBQ1QsUUFBUSxFQUFFLHdCQUF3QjtnQkFDbEMsUUFBUSxFQUFFOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FtRFQ7Z0JBQ0QsYUFBYSxFQUFFLGlCQUFpQixDQUFDLElBQUk7YUFDdEM7OztZQWxFTyxpQkFBaUI7WUFJakIsZ0JBQWdCO1lBR2hCLGFBQWE7Ozt3QkE2RGxCLFdBQVcsU0FBQyw4QkFBOEI7c0NBSzFDLFNBQVMsU0FBQyxzQkFBc0I7MEJBR2hDLEtBQUs7c0JBR0wsS0FBSztzQ0FHTCxLQUFLO3FDQUdMLEtBQUs7cUNBR0wsS0FBSztpQ0FHTCxLQUFLO3lCQUdMLEtBQUs7d0NBR0wsTUFBTTs0QkFHTixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSG9zdEJpbmRpbmcsIElucHV0LCBPbkluaXQsIE91dHB1dCwgVmlld0NoaWxkLCBWaWV3RW5jYXBzdWxhdGlvbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7U2VuZE1ldGhvZFNlcnZpY2V9IGZyb20gJy4uLy4uL3NlcnZpY2Uvc2VuZC1tZXRob2Quc2VydmljZSc7XHJcbmltcG9ydCB7UmVwb3J0TGF5b3V0U2VsZWN0aW9uUHJpbnR9IGZyb20gJ0Bjb2xpam5pdC9tYWluYXBpL2J1aWxkL21vZGVsL3JlcG9ydC1sYXlvdXQtc2VsZWN0aW9uLXByaW50LmJvJztcclxuaW1wb3J0IHtQcmludGVyfSBmcm9tICdAY29saWpuaXQvbWFpbmFwaS9idWlsZC9tb2RlbC9wcmludGVyLmJvJztcclxuaW1wb3J0IHtJY29ufSBmcm9tICcuLi8uLi8uLi8uLi9lbnVtL2ljb24uZW51bSc7XHJcbmltcG9ydCB7SWNvbkNhY2hlU2VydmljZX0gZnJvbSAnLi4vLi4vLi4vLi4vc2VydmljZS9pY29uLWNhY2hlLnNlcnZpY2UnO1xyXG5pbXBvcnQge0NvRG9jdW1lbnR9IGZyb20gJ0Bjb2xpam5pdC9tYWluYXBpL2J1aWxkL21vZGVsL2NvLWRvY3VtZW50LmJvJztcclxuaW1wb3J0IHtBZGRpdGlvbmFsRmlsZUJ1dHRvbkNvbXBvbmVudH0gZnJvbSAnLi4vYWRkaXRpb25hbC1maWxlLWJ1dHRvbi9hZGRpdGlvbmFsLWZpbGUtYnV0dG9uLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7U2hhcmVkU2VydmljZX0gZnJvbSAnLi4vLi4vLi4vLi4vc2VydmljZS9zaGFyZWQuc2VydmljZSc7XHJcbmltcG9ydCB7TGF5b3V0Q29kZX0gZnJvbSAnQGNvbGlqbml0L21haW5hcGkvYnVpbGQvZW51bS9sYXlvdXQtY29kZS5lbnVtJztcclxuaW1wb3J0IHtSZXBvcnRpbmdEb2N1bWVudEJhc2VSZXF1ZXN0fSBmcm9tICdAY29saWpuaXQvbWFpbmFwaS9idWlsZC9tb2RlbC9yZXBvcnRpbmctZG9jdW1lbnQtYmFzZS1yZXF1ZXN0JztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnY28tc2VuZC1tZXRob2QtcHJpbnRlcicsXHJcbiAgdGVtcGxhdGU6IGBcclxuICAgIDxzcGFuIGNsYXNzPVwic2VuZC1tZXRob2RzLWxhYmVsXCIgW3RleHRDb250ZW50XT1cIidTRVRUSU5HUycgfCBzaGFyZWRMb2NhbGl6ZVwiPjwvc3Bhbj5cclxuICAgIDxkaXYgY2xhc3M9XCJwcmludGVyLWxheW91dC1zZWxlY3Rpb25zLXdyYXBwZXJcIj5cclxuICAgICAgPGRpdiBjbGFzcz1cInByaW50ZXItc2lnbmF0dXJlLXdyYXBwZXJcIj5cclxuICAgICAgICA8Y28tbGF5b3V0LXNlbGVjdGlvblxyXG4gICAgICAgICAgWyhyZXF1ZXN0KV09XCJzZW5kTWV0aG9kU2VydmljZS5yZXBvcnRpbmdEb2N1bWVudFByaW50U2lnbkRvY0Jhc2VSZXF1ZXN0XCJcclxuICAgICAgICAgIChyZXF1ZXN0Q2hhbmdlKT1cInVwZGF0ZVByaW50ZXIoJGV2ZW50KVwiXHJcbiAgICAgICAgICBbbGF5b3V0c109XCJsYXlvdXRzXCJcclxuICAgICAgICAgIFtsYWJlbF09XCInUFJJTlRFUl9MQVlPVVQnXCJcclxuICAgICAgICAgIFt1c2VEZWZhdWx0XT1cImZhbHNlXCI+XHJcbiAgICAgICAgPC9jby1sYXlvdXQtc2VsZWN0aW9uPlxyXG4gICAgICAgIDxjby1hZGRpdGlvbmFsLWZpbGUtYnV0dG9uXHJcbiAgICAgICAgICAjYWRkaXRpb25hbEZpbGVCdXR0b25cclxuICAgICAgICAgICpuZ0lmPVwiaXNBZGRpdGlvbmFsRG9jRW5hYmxlZFwiXHJcbiAgICAgICAgICBbYWRkaXRpb25hbEZpbGVDb250ZW50c109XCJhZGRpdGlvbmFsRmlsZUNvbnRlbnRzXCJcclxuICAgICAgICAgIFthZGRpdGlvbmFsRmlsZU5hbWVdPVwiYWRkaXRpb25hbEZpbGVOYW1lXCJcclxuICAgICAgICAgIChhZGRpdGlvbmFsRmlsZUNoYW5nZUV2ZW50KT1cImFkZGl0aW9uYWxGaWxlQ2hhbmdlRXZlbnQuZW1pdCgkZXZlbnQpXCI+XHJcbiAgICAgICAgPC9jby1hZGRpdGlvbmFsLWZpbGUtYnV0dG9uPlxyXG4gICAgICAgIDxjby1zaWduYXR1cmUtYnV0dG9uIFtyZXF1ZXN0XT1cInNlbmRNZXRob2RTZXJ2aWNlLnJlcG9ydGluZ0RvY3VtZW50UHJpbnRTaWduRG9jQmFzZVJlcXVlc3RcIj48L2NvLXNpZ25hdHVyZS1idXR0b24+XHJcbiAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgPGNvLWlucHV0LWNoZWNrYm94XHJcbiAgICAgICAgW21vZGVsXT1cImxvY2FsUHJpbnRcIlxyXG4gICAgICAgIFtsYWJlbF09XCInTE9DQUxfUFJJTlQnIHwgc2hhcmVkTG9jYWxpemVcIlxyXG4gICAgICAgIChtb2RlbENoYW5nZSk9XCJoYW5kbGVMb2NhbFByaW50Q2hhbmdlKCRldmVudClcIj5cclxuICAgICAgPC9jby1pbnB1dC1jaGVja2JveD5cclxuXHJcbiAgICAgIDxkaXYgY2xhc3M9XCJsYXlvdXQtYnV0dG9ucy13cmFwcGVyXCIgKm5nSWY9XCJpc1ByaW50ZXJMYXlvdXRzRW5hYmxlZFwiPlxyXG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCIhbG9jYWxQcmludFwiPlxyXG4gICAgICAgICAgPHNwYW4gW3RleHRDb250ZW50XT1cIidORVRXT1JLX1BSSU5URVJTJyB8IHNoYXJlZExvY2FsaXplXCI+PC9zcGFuPlxyXG4gICAgICAgICAgPGNvLXByaW50ZXItc2VsZWN0aW9uXHJcbiAgICAgICAgICAgIFtkZWZhdWx0UHJpbnRlcl09XCJkZWZhdWx0UHJpbnRlclwiXHJcbiAgICAgICAgICAgIFtyZXF1aXJlZF09XCIhbG9jYWxQcmludFwiXHJcbiAgICAgICAgICAgIFtwcmludGVyc109XCJwcmludGVyTGlzdFwiPlxyXG4gICAgICAgICAgPC9jby1wcmludGVyLXNlbGVjdGlvbj5cclxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuXHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImFkZGl0aW9uYWwtY2hlY2tzXCI+XHJcbiAgICAgICAgICA8Y28taW5wdXQtY2hlY2tib3hcclxuICAgICAgICAgICAgW21vZGVsXT1cInNlbmRNZXRob2RTZXJ2aWNlLnJlcG9ydGluZ0RvY3VtZW50UHJpbnRTaWduRG9jQmFzZVJlcXVlc3Quc2F2ZURlZmF1bHRQcmludGVyRm9yVXNlclwiXHJcbiAgICAgICAgICAgIFtsYWJlbF09XCInS29wcGVsaW5nIG9udGhvdWRlbidcIlxyXG4gICAgICAgICAgICAobW9kZWxDaGFuZ2UpPVwiaGFuZGxlRGVmYXVsdFByaW50ZXJVc2VyQ2hhbmdlKCRldmVudClcIj5cclxuICAgICAgICAgIDwvY28taW5wdXQtY2hlY2tib3g+XHJcbiAgICAgICAgICA8Y28taW5wdXQtY2hlY2tib3hcclxuICAgICAgICAgICAgW21vZGVsXT1cInNlbmRNZXRob2RTZXJ2aWNlLnJlcG9ydGluZ0RvY3VtZW50UHJpbnRTaWduRG9jQmFzZVJlcXVlc3Quc2F2ZURlZmF1bHRQcmludGVyRm9yQWxsVXNlcnNcIlxyXG4gICAgICAgICAgICBbbGFiZWxdPVwiJ0FsbGUgZ2VicnVpa2VycydcIlxyXG4gICAgICAgICAgICAobW9kZWxDaGFuZ2UpPVwiaGFuZGxlRGVmYXVsdFByaW50ZXJBbGxVc2Vyc0NoYW5nZSgkZXZlbnQpXCI+XHJcbiAgICAgICAgICA8L2NvLWlucHV0LWNoZWNrYm94PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG4gIGAsXHJcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZVxyXG59KVxyXG5leHBvcnQgY2xhc3MgU2VuZE1ldGhvZFByaW50ZXJDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xyXG4gIEBIb3N0QmluZGluZygnY2xhc3MuY28tc2VuZC1tZXRob2QtcHJpbnRlcicpXHJcbiAgcHVibGljIHNob3dDbGFzcygpIHtcclxuICAgIHJldHVybiB0cnVlO1xyXG4gIH1cclxuXHJcbiAgQFZpZXdDaGlsZCgnYWRkaXRpb25hbEZpbGVCdXR0b24nKVxyXG4gIHB1YmxpYyBhZGRpdGlvbmFsRmlsZUJ1dHRvblJlZjogQWRkaXRpb25hbEZpbGVCdXR0b25Db21wb25lbnQ7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIHByaW50ZXJMaXN0OiBQcmludGVyW10gPSBbXTtcclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgbGF5b3V0czogUmVwb3J0TGF5b3V0U2VsZWN0aW9uUHJpbnRbXSA9IFtdO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBpc1ByaW50ZXJMYXlvdXRzRW5hYmxlZDogYm9vbGVhbiA9IHRydWU7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIGlzQWRkaXRpb25hbERvY0VuYWJsZWQ6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgYWRkaXRpb25hbEZpbGVDb250ZW50czogYW55ID0gJyc7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIGFkZGl0aW9uYWxGaWxlTmFtZTogc3RyaW5nID0gJyc7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIGxheW91dENvZGU6IExheW91dENvZGU7XHJcblxyXG4gIEBPdXRwdXQoKVxyXG4gIHB1YmxpYyBhZGRpdGlvbmFsRmlsZUNoYW5nZUV2ZW50OiBFdmVudEVtaXR0ZXI8Q29Eb2N1bWVudD4gPSBuZXcgRXZlbnRFbWl0dGVyPENvRG9jdW1lbnQ+KCk7XHJcblxyXG4gIEBPdXRwdXQoKVxyXG4gIHB1YmxpYyB1c2VMb2NhbFByaW50OiBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4gPSBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KCk7XHJcblxyXG4gIHByb3RlY3RlZCByZWFkb25seSBpY29ucyA9IEljb247XHJcblxyXG4gIHB1YmxpYyBsb2NhbFByaW50OiBib29sZWFuID0gZmFsc2U7XHJcbiAgcHVibGljIGRlZmF1bHRQcmludGVyOiBQcmludGVyO1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHB1YmxpYyBzZW5kTWV0aG9kU2VydmljZTogU2VuZE1ldGhvZFNlcnZpY2UsXHJcbiAgICBwdWJsaWMgaWNvbkNhY2hlU2VydmljZTogSWNvbkNhY2hlU2VydmljZSxcclxuICAgIHByaXZhdGUgX3NoYXJlZFNlcnZpY2U6IFNoYXJlZFNlcnZpY2VcclxuICApIHtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBuZ09uSW5pdCgpIHtcclxuICAgIGlmICghdGhpcy5kZWZhdWx0UHJpbnRlcikge1xyXG4gICAgICB0aGlzLnVwZGF0ZVByaW50ZXIodGhpcy5zZW5kTWV0aG9kU2VydmljZS5yZXBvcnRpbmdEb2N1bWVudFByaW50U2lnbkRvY0Jhc2VSZXF1ZXN0KTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHB1YmxpYyBoYW5kbGVEZWZhdWx0UHJpbnRlclVzZXJDaGFuZ2UoY2hlY2tlZDogYm9vbGVhbik6IHZvaWQge1xyXG4gICAgdGhpcy5zZW5kTWV0aG9kU2VydmljZS5yZXBvcnRpbmdEb2N1bWVudFByaW50U2lnbkRvY0Jhc2VSZXF1ZXN0LnNhdmVEZWZhdWx0UHJpbnRlckZvclVzZXIgPSBjaGVja2VkO1xyXG4gICAgdGhpcy5zZW5kTWV0aG9kU2VydmljZS5yZXBvcnRpbmdEb2N1bWVudFByaW50U2lnbkRvY0Jhc2VSZXF1ZXN0Q2hhbmdlZC5uZXh0KHRoaXMuc2VuZE1ldGhvZFNlcnZpY2UucmVwb3J0aW5nRG9jdW1lbnRQcmludFNpZ25Eb2NCYXNlUmVxdWVzdCk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgaGFuZGxlTG9jYWxQcmludENoYW5nZShjaGVja2VkOiBib29sZWFuKTogdm9pZCB7XHJcbiAgICB0aGlzLmxvY2FsUHJpbnQgPSBjaGVja2VkO1xyXG4gICAgdGhpcy51c2VMb2NhbFByaW50LmVtaXQoY2hlY2tlZCk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgaGFuZGxlRGVmYXVsdFByaW50ZXJBbGxVc2Vyc0NoYW5nZShjaGVja2VkOiBib29sZWFuKTogdm9pZCB7XHJcbiAgICB0aGlzLnNlbmRNZXRob2RTZXJ2aWNlLnJlcG9ydGluZ0RvY3VtZW50UHJpbnRTaWduRG9jQmFzZVJlcXVlc3Quc2F2ZURlZmF1bHRQcmludGVyRm9yQWxsVXNlcnMgPSBjaGVja2VkO1xyXG4gICAgdGhpcy5zZW5kTWV0aG9kU2VydmljZS5yZXBvcnRpbmdEb2N1bWVudFByaW50U2lnbkRvY0Jhc2VSZXF1ZXN0Q2hhbmdlZC5uZXh0KHRoaXMuc2VuZE1ldGhvZFNlcnZpY2UucmVwb3J0aW5nRG9jdW1lbnRQcmludFNpZ25Eb2NCYXNlUmVxdWVzdCk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgb3BlbkFkZGl0aW9uYWxGaWxlRGlhbG9nKCk6IHZvaWQge1xyXG4gICAgdGhpcy5hZGRpdGlvbmFsRmlsZUJ1dHRvblJlZj8ub3BlbkZvclNhdmUoKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBpc0FkZGl0aW9uYWxGaWxlQWN0aXZlKCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIHRoaXMuYWRkaXRpb25hbEZpbGVCdXR0b25SZWY/LmlzQWN0aXZlID8/IGZhbHNlO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHVwZGF0ZVByaW50ZXIocmVxdWVzdDogUmVwb3J0aW5nRG9jdW1lbnRCYXNlUmVxdWVzdCk6IHZvaWQge1xyXG4gICAgdGhpcy5fc2hhcmVkU2VydmljZS5nZXREZWZhdWx0UHJpbnRlcihyZXF1ZXN0LnJlcG9ydElkLCB0aGlzLmxheW91dENvZGUpLnRoZW4ocHJpbnRlck5hbWUgPT4ge1xyXG4gICAgICBjb25zdCBjaGVja0ZvckRlZmF1bHRQcmludGVyOiBQcmludGVyID0gdGhpcy5wcmludGVyTGlzdC5maW5kKChwcmludGVyOiBQcmludGVyKSA9PiBwcmludGVyLm5hbWUgPT09IHByaW50ZXJOYW1lKTtcclxuICAgICAgaWYgKGNoZWNrRm9yRGVmYXVsdFByaW50ZXIpIHtcclxuICAgICAgICAvLyBJZiB3ZSBnb3QgYSBkZWZhdWx0IGZyb20gdGhlIGJhY2tlbmQ6XHJcbiAgICAgICAgdGhpcy5kZWZhdWx0UHJpbnRlciA9IGNoZWNrRm9yRGVmYXVsdFByaW50ZXI7XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgY29uc3QgZGVmYXVsdFByaW50ZXI6IFByaW50ZXIgPSB0aGlzLnByaW50ZXJMaXN0LmZpbmQocCA9PiBwLmlzRGVmYXVsdCk7XHJcbiAgICAgICAgaWYgKGRlZmF1bHRQcmludGVyKSB7XHJcbiAgICAgICAgICAvLyBXaGVuIHdlIGdvdCBubyBkZWZhdWx0IGZyb20gdGhlIGJhY2tlbmQsIGJ1dCB0aGVyZSBpcyBhIGRlZmF1bHQgcHJpbnRlcjpcclxuICAgICAgICAgIHRoaXMuZGVmYXVsdFByaW50ZXIgPSBkZWZhdWx0UHJpbnRlcjtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgLy8gZmFsbGJhY2tcclxuICAgICAgICAgIHRoaXMuZGVmYXVsdFByaW50ZXIgPSB0aGlzLnByaW50ZXJMaXN0WzBdO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgICBpZiAodGhpcy5kZWZhdWx0UHJpbnRlciAmJiB0aGlzLmRlZmF1bHRQcmludGVyLm5hbWUgIT09IHRoaXMuc2VuZE1ldGhvZFNlcnZpY2UucmVwb3J0aW5nRG9jdW1lbnRQcmludFNpZ25Eb2NCYXNlUmVxdWVzdC5wcmludGVyTmFtZSApIHtcclxuICAgICAgICB0aGlzLnNlbmRNZXRob2RTZXJ2aWNlLnJlcG9ydGluZ0RvY3VtZW50UHJpbnRTaWduRG9jQmFzZVJlcXVlc3QucHJpbnRlck5hbWUgPSB0aGlzLmRlZmF1bHRQcmludGVyLm5hbWU7XHJcbiAgICAgICAgdGhpcy5zZW5kTWV0aG9kU2VydmljZS5yZXBvcnRpbmdEb2N1bWVudFByaW50U2lnbkRvY0Jhc2VSZXF1ZXN0Q2hhbmdlZC5uZXh0KHRoaXMuc2VuZE1ldGhvZFNlcnZpY2UucmVwb3J0aW5nRG9jdW1lbnRQcmludFNpZ25Eb2NCYXNlUmVxdWVzdCk7XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gIH1cclxufVxyXG4iXX0=
163
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VuZC1tZXRob2QtcHJpbnRlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zaGFyZWRjb21wb25lbnRzL3NyYy9saWIvY29tcG9uZW50cy9zZW5kLW1ldGhvZC1kaWFsb2cvY29tcG9uZW50cy9zZW5kLW1ldGhvZC1wcmludGVyL3NlbmQtbWV0aG9kLXByaW50ZXIuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQUUsWUFBWSxFQUFFLFdBQVcsRUFBRSxLQUFLLEVBQVUsTUFBTSxFQUFFLFNBQVMsRUFBRSxpQkFBaUIsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUN4SCxPQUFPLEVBQUMsaUJBQWlCLEVBQUMsTUFBTSxtQ0FBbUMsQ0FBQztBQUdwRSxPQUFPLEVBQUMsSUFBSSxFQUFDLE1BQU0sNEJBQTRCLENBQUM7QUFDaEQsT0FBTyxFQUFDLGdCQUFnQixFQUFDLE1BQU0sd0NBQXdDLENBQUM7QUFHeEUsT0FBTyxFQUFDLGFBQWEsRUFBQyxNQUFNLG9DQUFvQyxDQUFDO0FBaUVqRSxNQUFNLE9BQU8sMEJBQTBCO0lBNkNyQyxZQUNTLGlCQUFvQyxFQUNwQyxnQkFBa0MsRUFDakMsY0FBNkI7UUFGOUIsc0JBQWlCLEdBQWpCLGlCQUFpQixDQUFtQjtRQUNwQyxxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWtCO1FBQ2pDLG1CQUFjLEdBQWQsY0FBYyxDQUFlO1FBdENoQyxnQkFBVyxHQUFjLEVBQUUsQ0FBQztRQUc1QixZQUFPLEdBQWlDLEVBQUUsQ0FBQztRQUczQyw0QkFBdUIsR0FBWSxJQUFJLENBQUM7UUFHeEMsMkJBQXNCLEdBQVksS0FBSyxDQUFDO1FBR3hDLDJCQUFzQixHQUFRLEVBQUUsQ0FBQztRQUdqQyx1QkFBa0IsR0FBVyxFQUFFLENBQUM7UUFNaEMsOEJBQXlCLEdBQTZCLElBQUksWUFBWSxFQUFjLENB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QywrQ0FBK0MsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLHdDQUF3QyxDQUFDLENBQUM7YUFDOUk7UUFDSCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFTSx3QkFBd0IsQ0FBQyxNQUFjO1FBQzVDLElBQUksQ0FBQyxZQUFZLEdBQUcsTUFBTSxDQUFDO1FBQzNCLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDdkMsQ0FBQzs7O1lBeEtGLFNBQVMsU0FBQztnQkFDVCxRQUFRLEVBQUUsd0JBQXdCO2dCQUNsQyxRQUFRLEVBQUU7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBd0RUO2dCQUNELGFBQWEsRUFBRSxpQkFBaUIsQ0FBQyxJQUFJO2FBQ3RDOzs7WUF2RU8saUJBQWlCO1lBSWpCLGdCQUFnQjtZQUdoQixhQUFhOzs7d0JBa0VsQixXQUFXLFNBQUMsOEJBQThCO3NDQUsxQyxTQUFTLFNBQUMsc0JBQXNCOzBCQUdoQyxLQUFLO3NCQUdMLEtBQUs7c0NBR0wsS0FBSztxQ0FHTCxLQUFLO3FDQUdMLEtBQUs7aUNBR0wsS0FBSzt5QkFHTCxLQUFLO3dDQUdMLE1BQU07NEJBR04sTUFBTTtpQ0FHTixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSG9zdEJpbmRpbmcsIElucHV0LCBPbkluaXQsIE91dHB1dCwgVmlld0NoaWxkLCBWaWV3RW5jYXBzdWxhdGlvbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7U2VuZE1ldGhvZFNlcnZpY2V9IGZyb20gJy4uLy4uL3NlcnZpY2Uvc2VuZC1tZXRob2Quc2VydmljZSc7XHJcbmltcG9ydCB7UmVwb3J0TGF5b3V0U2VsZWN0aW9uUHJpbnR9IGZyb20gJ0Bjb2xpam5pdC9tYWluYXBpL2J1aWxkL21vZGVsL3JlcG9ydC1sYXlvdXQtc2VsZWN0aW9uLXByaW50LmJvJztcclxuaW1wb3J0IHtQcmludGVyfSBmcm9tICdAY29saWpuaXQvbWFpbmFwaS9idWlsZC9tb2RlbC9wcmludGVyLmJvJztcclxuaW1wb3J0IHtJY29ufSBmcm9tICcuLi8uLi8uLi8uLi9lbnVtL2ljb24uZW51bSc7XHJcbmltcG9ydCB7SWNvbkNhY2hlU2VydmljZX0gZnJvbSAnLi4vLi4vLi4vLi4vc2VydmljZS9pY29uLWNhY2hlLnNlcnZpY2UnO1xyXG5pbXBvcnQge0NvRG9jdW1lbnR9IGZyb20gJ0Bjb2xpam5pdC9tYWluYXBpL2J1aWxkL21vZGVsL2NvLWRvY3VtZW50LmJvJztcclxuaW1wb3J0IHtBZGRpdGlvbmFsRmlsZUJ1dHRvbkNvbXBvbmVudH0gZnJvbSAnLi4vYWRkaXRpb25hbC1maWxlLWJ1dHRvbi9hZGRpdGlvbmFsLWZpbGUtYnV0dG9uLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7U2hhcmVkU2VydmljZX0gZnJvbSAnLi4vLi4vLi4vLi4vc2VydmljZS9zaGFyZWQuc2VydmljZSc7XHJcbmltcG9ydCB7TGF5b3V0Q29kZX0gZnJvbSAnQGNvbGlqbml0L21haW5hcGkvYnVpbGQvZW51bS9sYXlvdXQtY29kZS5lbnVtJztcclxuaW1wb3J0IHtSZXBvcnRpbmdEb2N1bWVudEJhc2VSZXF1ZXN0fSBmcm9tICdAY29saWpuaXQvbWFpbmFwaS9idWlsZC9tb2RlbC9yZXBvcnRpbmctZG9jdW1lbnQtYmFzZS1yZXF1ZXN0JztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnY28tc2VuZC1tZXRob2QtcHJpbnRlcicsXHJcbiAgdGVtcGxhdGU6IGBcclxuICAgICAgPHNwYW4gY2xhc3M9XCJzZW5kLW1ldGhvZHMtbGFiZWxcIiBbdGV4dENvbnRlbnRdPVwiJ1NFVFRJTkdTJyB8IHNoYXJlZExvY2FsaXplXCI+PC9zcGFuPlxyXG4gICAgICA8ZGl2IGNsYXNzPVwicHJpbnRlci1sYXlvdXQtc2VsZWN0aW9ucy13cmFwcGVyXCI+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwicHJpbnRlci1zaWduYXR1cmUtd3JhcHBlclwiPlxyXG4gICAgICAgICAgICAgIDxjby1sYXlvdXQtc2VsZWN0aW9uXHJcbiAgICAgICAgICAgICAgICAgICAgICBbKHJlcXVlc3QpXT1cInNlbmRNZXRob2RTZXJ2aWNlLnJlcG9ydGluZ0RvY3VtZW50UHJpbnRTaWduRG9jQmFzZVJlcXVlc3RcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgKHJlcXVlc3RDaGFuZ2UpPVwidXBkYXRlUHJpbnRlcigkZXZlbnQpXCJcclxuICAgICAgICAgICAgICAgICAgICAgIFtsYXlvdXRzXT1cImxheW91dHNcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgW2xhYmVsXT1cIidQUklOVEVSX0xBWU9VVCdcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgW3VzZURlZmF1bHRdPVwiZmFsc2VcIj5cclxuICAgICAgICAgICAgICA8L2NvLWxheW91dC1zZWxlY3Rpb24+XHJcbiAgICAgICAgICAgICAgPGNvLWFkZGl0aW9uYWwtZmlsZS1idXR0b25cclxuICAgICAgICAgICAgICAgICAgICAgICNhZGRpdGlvbmFsRmlsZUJ1dHRvblxyXG4gICAgICAgICAgICAgICAgICAgICAgKm5nSWY9XCJpc0FkZGl0aW9uYWxEb2NFbmFibGVkXCJcclxuICAgICAgICAgICAgICAgICAgICAgIFthZGRpdGlvbmFsRmlsZUNvbnRlbnRzXT1cImFkZGl0aW9uYWxGaWxlQ29udGVudHNcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgW2FkZGl0aW9uYWxGaWxlTmFtZV09XCJhZGRpdGlvbmFsRmlsZU5hbWVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgKGFkZGl0aW9uYWxGaWxlQ2hhbmdlRXZlbnQpPVwiYWRkaXRpb25hbEZpbGVDaGFuZ2VFdmVudC5lbWl0KCRldmVudClcIj5cclxuICAgICAgICAgICAgICA8L2NvLWFkZGl0aW9uYWwtZmlsZS1idXR0b24+XHJcbiAgICAgICAgICAgICAgPGNvLXNpZ25hdHVyZS1idXR0b24gW3JlcXVlc3RdPVwic2VuZE1ldGhvZFNlcnZpY2UucmVwb3J0aW5nRG9jdW1lbnRQcmludFNpZ25Eb2NCYXNlUmVxdWVzdFwiPjwvY28tc2lnbmF0dXJlLWJ1dHRvbj5cclxuICAgICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICAgIDxjby1pbnB1dC1jaGVja2JveFxyXG4gICAgICAgICAgICAgICAgICBbbW9kZWxdPVwibG9jYWxQcmludFwiXHJcbiAgICAgICAgICAgICAgICAgIFtsYWJlbF09XCInTE9DQUxfUFJJTlQnIHwgc2hhcmVkTG9jYWxpemVcIlxyXG4gICAgICAgICAgICAgICAgICAobW9kZWxDaGFuZ2UpPVwiaGFuZGxlTG9jYWxQcmludENoYW5nZSgkZXZlbnQpXCI+XHJcbiAgICAgICAgICA8L2NvLWlucHV0LWNoZWNrYm94PlxyXG5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJsYXlvdXQtYnV0dG9ucy13cmFwcGVyXCIgKm5nSWY9XCJpc1ByaW50ZXJMYXlvdXRzRW5hYmxlZFwiPlxyXG4gICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCIhbG9jYWxQcmludFwiPlxyXG4gICAgICAgICAgICAgICAgICA8c3BhbiBbdGV4dENvbnRlbnRdPVwiJ05FVFdPUktfUFJJTlRFUlMnIHwgc2hhcmVkTG9jYWxpemVcIj48L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgIDxjby1wcmludGVyLXNlbGVjdGlvblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIFtkZWZhdWx0UHJpbnRlcl09XCJkZWZhdWx0UHJpbnRlclwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgW3JlcXVpcmVkXT1cIiFsb2NhbFByaW50XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICBbcHJpbnRlcnNdPVwicHJpbnRlckxpc3RcIj5cclxuICAgICAgICAgICAgICAgICAgPC9jby1wcmludGVyLXNlbGVjdGlvbj5cclxuICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuXHJcbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImFkZGl0aW9uYWwtY2hlY2tzXCI+XHJcbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb3BpZXMtYW1vdW50LXdyYXBwZXJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIFt0ZXh0Q29udGVudF09XCInQU1PVU5UJyB8IHNoYXJlZExvY2FsaXplXCI+PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgPGNvLWlucHV0LW51bWJlci1waWNrZXIgW21vZGVsXT1cImNvcGllc0Ftb3VudFwiIFttaW5dPVwiMVwiIChtb2RlbENoYW5nZSk9XCJoYW5kbGVDb3BpZXNBbW91bnRDaGFuZ2UoJGV2ZW50KVwiPjwvY28taW5wdXQtbnVtYmVyLXBpY2tlcj5cclxuICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgICAgICAgICAgICA8Y28taW5wdXQtY2hlY2tib3hcclxuICAgICAgICAgICAgICAgICAgICAgICAgICBbbW9kZWxdPVwic2VuZE1ldGhvZFNlcnZpY2UucmVwb3J0aW5nRG9jdW1lbnRQcmludFNpZ25Eb2NCYXNlUmVxdWVzdC5zYXZlRGVmYXVsdFByaW50ZXJGb3JVc2VyXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICBbbGFiZWxdPVwiJ0tvcHBlbGluZyBvbnRob3VkZW4nXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAobW9kZWxDaGFuZ2UpPVwiaGFuZGxlRGVmYXVsdFByaW50ZXJVc2VyQ2hhbmdlKCRldmVudClcIj5cclxuICAgICAgICAgICAgICAgICAgPC9jby1pbnB1dC1jaGVja2JveD5cclxuICAgICAgICAgICAgICAgICAgPGNvLWlucHV0LWNoZWNrYm94XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgW21vZGVsXT1cInNlbmRNZXRob2RTZXJ2aWNlLnJlcG9ydGluZ0RvY3VtZW50UHJpbnRTaWduRG9jQmFzZVJlcXVlc3Quc2F2ZURlZmF1bHRQcmludGVyRm9yQWxsVXNlcnNcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIFtsYWJlbF09XCInQWxsZSBnZWJydWlrZXJzJ1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgKG1vZGVsQ2hhbmdlKT1cImhhbmRsZURlZmF1bHRQcmludGVyQWxsVXNlcnNDaGFuZ2UoJGV2ZW50KVwiPlxyXG4gICAgICAgICAgICAgICAgICA8L2NvLWlucHV0LWNoZWNrYm94PlxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgIDwvZGl2PlxyXG4gIGAsXHJcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZVxyXG59KVxyXG5leHBvcnQgY2xhc3MgU2VuZE1ldGhvZFByaW50ZXJDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xyXG4gIEBIb3N0QmluZGluZygnY2xhc3MuY28tc2VuZC1tZXRob2QtcHJpbnRlcicpXHJcbiAgcHVibGljIHNob3dDbGFzcygpIHtcclxuICAgIHJldHVybiB0cnVlO1xyXG4gIH1cclxuXHJcbiAgQFZpZXdDaGlsZCgnYWRkaXRpb25hbEZpbGVCdXR0b24nKVxyXG4gIHB1YmxpYyBhZGRpdGlvbmFsRmlsZUJ1dHRvblJlZjogQWRkaXRpb25hbEZpbGVCdXR0b25Db21wb25lbnQ7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIHByaW50ZXJMaXN0OiBQcmludGVyW10gPSBbXTtcclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgbGF5b3V0czogUmVwb3J0TGF5b3V0U2VsZWN0aW9uUHJpbnRbXSA9IFtdO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBpc1ByaW50ZXJMYXlvdXRzRW5hYmxlZDogYm9vbGVhbiA9IHRydWU7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIGlzQWRkaXRpb25hbERvY0VuYWJsZWQ6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgYWRkaXRpb25hbEZpbGVDb250ZW50czogYW55ID0gJyc7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIGFkZGl0aW9uYWxGaWxlTmFtZTogc3RyaW5nID0gJyc7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIGxheW91dENvZGU6IExheW91dENvZGU7XHJcblxyXG4gIEBPdXRwdXQoKVxyXG4gIHB1YmxpYyBhZGRpdGlvbmFsRmlsZUNoYW5nZUV2ZW50OiBFdmVudEVtaXR0ZXI8Q29Eb2N1bWVudD4gPSBuZXcgRXZlbnRFbWl0dGVyPENvRG9jdW1lbnQ+KCk7XHJcblxyXG4gIEBPdXRwdXQoKVxyXG4gIHB1YmxpYyB1c2VMb2NhbFByaW50OiBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4gPSBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KCk7XHJcblxyXG4gIEBPdXRwdXQoKVxyXG4gIHB1YmxpYyBjb3BpZXNBbW91bnRDaGFuZ2U6IEV2ZW50RW1pdHRlcjxudW1iZXI+ID0gbmV3IEV2ZW50RW1pdHRlcjxudW1iZXI+KCk7XHJcblxyXG4gIHByb3RlY3RlZCByZWFkb25seSBpY29ucyA9IEljb247XHJcblxyXG4gIHB1YmxpYyBsb2NhbFByaW50OiBib29sZWFuID0gZmFsc2U7XHJcbiAgcHVibGljIGRlZmF1bHRQcmludGVyOiBQcmludGVyO1xyXG4gIHB1YmxpYyBjb3BpZXNBbW91bnQ6IG51bWJlciA9IDE7XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHVibGljIHNlbmRNZXRob2RTZXJ2aWNlOiBTZW5kTWV0aG9kU2VydmljZSxcclxuICAgIHB1YmxpYyBpY29uQ2FjaGVTZXJ2aWNlOiBJY29uQ2FjaGVTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBfc2hhcmVkU2VydmljZTogU2hhcmVkU2VydmljZVxyXG4gICkge1xyXG4gIH1cclxuXHJcbiAgcHVibGljIG5nT25Jbml0KCkge1xyXG4gICAgaWYgKCF0aGlzLmRlZmF1bHRQcmludGVyKSB7XHJcbiAgICAgIHRoaXMudXBkYXRlUHJpbnRlcih0aGlzLnNlbmRNZXRob2RTZXJ2aWNlLnJlcG9ydGluZ0RvY3VtZW50UHJpbnRTaWduRG9jQmFzZVJlcXVlc3QpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHVibGljIGhhbmRsZURlZmF1bHRQcmludGVyVXNlckNoYW5nZShjaGVja2VkOiBib29sZWFuKTogdm9pZCB7XHJcbiAgICB0aGlzLnNlbmRNZXRob2RTZXJ2aWNlLnJlcG9ydGluZ0RvY3VtZW50UHJpbnRTaWduRG9jQmFzZVJlcXVlc3Quc2F2ZURlZmF1bHRQcmludGVyRm9yVXNlciA9IGNoZWNrZWQ7XHJcbiAgICB0aGlzLnNlbmRNZXRob2RTZXJ2aWNlLnJlcG9ydGluZ0RvY3VtZW50UHJpbnRTaWduRG9jQmFzZVJlcXVlc3RDaGFuZ2VkLm5leHQodGhpcy5zZW5kTWV0aG9kU2VydmljZS5yZXBvcnRpbmdEb2N1bWVudFByaW50U2lnbkRvY0Jhc2VSZXF1ZXN0KTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBoYW5kbGVMb2NhbFByaW50Q2hhbmdlKGNoZWNrZWQ6IGJvb2xlYW4pOiB2b2lkIHtcclxuICAgIHRoaXMubG9jYWxQcmludCA9IGNoZWNrZWQ7XHJcbiAgICB0aGlzLnVzZUxvY2FsUHJpbnQuZW1pdChjaGVja2VkKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBoYW5kbGVEZWZhdWx0UHJpbnRlckFsbFVzZXJzQ2hhbmdlKGNoZWNrZWQ6IGJvb2xlYW4pOiB2b2lkIHtcclxuICAgIHRoaXMuc2VuZE1ldGhvZFNlcnZpY2UucmVwb3J0aW5nRG9jdW1lbnRQcmludFNpZ25Eb2NCYXNlUmVxdWVzdC5zYXZlRGVmYXVsdFByaW50ZXJGb3JBbGxVc2VycyA9IGNoZWNrZWQ7XHJcbiAgICB0aGlzLnNlbmRNZXRob2RTZXJ2aWNlLnJlcG9ydGluZ0RvY3VtZW50UHJpbnRTaWduRG9jQmFzZVJlcXVlc3RDaGFuZ2VkLm5leHQodGhpcy5zZW5kTWV0aG9kU2VydmljZS5yZXBvcnRpbmdEb2N1bWVudFByaW50U2lnbkRvY0Jhc2VSZXF1ZXN0KTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBvcGVuQWRkaXRpb25hbEZpbGVEaWFsb2coKTogdm9pZCB7XHJcbiAgICB0aGlzLmFkZGl0aW9uYWxGaWxlQnV0dG9uUmVmPy5vcGVuRm9yU2F2ZSgpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGlzQWRkaXRpb25hbEZpbGVBY3RpdmUoKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gdGhpcy5hZGRpdGlvbmFsRmlsZUJ1dHRvblJlZj8uaXNBY3RpdmUgPz8gZmFsc2U7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgdXBkYXRlUHJpbnRlcihyZXF1ZXN0OiBSZXBvcnRpbmdEb2N1bWVudEJhc2VSZXF1ZXN0KTogdm9pZCB7XHJcbiAgICB0aGlzLl9zaGFyZWRTZXJ2aWNlLmdldERlZmF1bHRQcmludGVyKHJlcXVlc3QucmVwb3J0SWQsIHRoaXMubGF5b3V0Q29kZSkudGhlbihwcmludGVyTmFtZSA9PiB7XHJcbiAgICAgIGNvbnN0IGNoZWNrRm9yRGVmYXVsdFByaW50ZXI6IFByaW50ZXIgPSB0aGlzLnByaW50ZXJMaXN0LmZpbmQoKHByaW50ZXI6IFByaW50ZXIpID0+IHByaW50ZXIubmFtZSA9PT0gcHJpbnRlck5hbWUpO1xyXG4gICAgICBpZiAoY2hlY2tGb3JEZWZhdWx0UHJpbnRlcikge1xyXG4gICAgICAgIC8vIElmIHdlIGdvdCBhIGRlZmF1bHQgZnJvbSB0aGUgYmFja2VuZDpcclxuICAgICAgICB0aGlzLmRlZmF1bHRQcmludGVyID0gY2hlY2tGb3JEZWZhdWx0UHJpbnRlcjtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICBjb25zdCBkZWZhdWx0UHJpbnRlcjogUHJpbnRlciA9IHRoaXMucHJpbnRlckxpc3QuZmluZChwID0+IHAuaXNEZWZhdWx0KTtcclxuICAgICAgICBpZiAoZGVmYXVsdFByaW50ZXIpIHtcclxuICAgICAgICAgIC8vIFdoZW4gd2UgZ290IG5vIGRlZmF1bHQgZnJvbSB0aGUgYmFja2VuZCwgYnV0IHRoZXJlIGlzIGEgZGVmYXVsdCBwcmludGVyOlxyXG4gICAgICAgICAgdGhpcy5kZWZhdWx0UHJpbnRlciA9IGRlZmF1bHRQcmludGVyO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAvLyBmYWxsYmFja1xyXG4gICAgICAgICAgdGhpcy5kZWZhdWx0UHJpbnRlciA9IHRoaXMucHJpbnRlckxpc3RbMF07XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICAgIGlmICh0aGlzLmRlZmF1bHRQcmludGVyICYmIHRoaXMuZGVmYXVsdFByaW50ZXIubmFtZSAhPT0gdGhpcy5zZW5kTWV0aG9kU2VydmljZS5yZXBvcnRpbmdEb2N1bWVudFByaW50U2lnbkRvY0Jhc2VSZXF1ZXN0LnByaW50ZXJOYW1lICkge1xyXG4gICAgICAgIHRoaXMuc2VuZE1ldGhvZFNlcnZpY2UucmVwb3J0aW5nRG9jdW1lbnRQcmludFNpZ25Eb2NCYXNlUmVxdWVzdC5wcmludGVyTmFtZSA9IHRoaXMuZGVmYXVsdFByaW50ZXIubmFtZTtcclxuICAgICAgICB0aGlzLnNlbmRNZXRob2RTZXJ2aWNlLnJlcG9ydGluZ0RvY3VtZW50UHJpbnRTaWduRG9jQmFzZVJlcXVlc3RDaGFuZ2VkLm5leHQodGhpcy5zZW5kTWV0aG9kU2VydmljZS5yZXBvcnRpbmdEb2N1bWVudFByaW50U2lnbkRvY0Jhc2VSZXF1ZXN0KTtcclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgaGFuZGxlQ29waWVzQW1vdW50Q2hhbmdlKGFtb3VudDogbnVtYmVyKSB7XHJcbiAgICB0aGlzLmNvcGllc0Ftb3VudCA9IGFtb3VudDtcclxuICAgIHRoaXMuY29waWVzQW1vdW50Q2hhbmdlLmVtaXQoYW1vdW50KTtcclxuICB9XHJcbn1cclxuIl19
@@ -1,7 +1,7 @@
1
1
  import { NgModule } from '@angular/core';
2
2
  import { CommonModule } from '@angular/common';
3
3
  import { SendMethodPrinterComponent } from './send-method-printer.component';
4
- import { IconModule, InputCheckboxModule, ListOfValuesModule } from '@colijnit/corecomponents_v12';
4
+ import { IconModule, InputCheckboxModule, InputNumberPickerModule, ListOfValuesModule } from '@colijnit/corecomponents_v12';
5
5
  import { LayoutSelectionModule } from '../layout-selection/layout-selection.module';
6
6
  import { PrinterSelectionModule } from '../printer-selection/printer-selection.module';
7
7
  import { SignatureButtonModule } from '../signature-button/signature-button.module';
@@ -22,7 +22,8 @@ SendMethodPrinterModule.decorators = [
22
22
  CustomPdfDialogModule,
23
23
  AdditionalFileButtonModule,
24
24
  ListOfValuesModule,
25
- SharedComponentsTranslationModule
25
+ SharedComponentsTranslationModule,
26
+ InputNumberPickerModule
26
27
  ],
27
28
  declarations: [
28
29
  SendMethodPrinterComponent
@@ -32,4 +33,4 @@ SendMethodPrinterModule.decorators = [
32
33
  ]
33
34
  },] }
34
35
  ];
35
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VuZC1tZXRob2QtcHJpbnRlci5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zaGFyZWRjb21wb25lbnRzL3NyYy9saWIvY29tcG9uZW50cy9zZW5kLW1ldGhvZC1kaWFsb2cvY29tcG9uZW50cy9zZW5kLW1ldGhvZC1wcmludGVyL3NlbmQtbWV0aG9kLXByaW50ZXIubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxRQUFRLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDdkMsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBQzdDLE9BQU8sRUFBQywwQkFBMEIsRUFBQyxNQUFNLGlDQUFpQyxDQUFDO0FBQzNFLE9BQU8sRUFBQyxVQUFVLEVBQUUsbUJBQW1CLEVBQUUsa0JBQWtCLEVBQUMsTUFBTSw4QkFBOEIsQ0FBQztBQUNqRyxPQUFPLEVBQUMscUJBQXFCLEVBQUMsTUFBTSw2Q0FBNkMsQ0FBQztBQUNsRixPQUFPLEVBQUMsc0JBQXNCLEVBQUMsTUFBTSwrQ0FBK0MsQ0FBQztBQUNyRixPQUFPLEVBQUMscUJBQXFCLEVBQUMsTUFBTSw2Q0FBNkMsQ0FBQztBQUNsRixPQUFPLEVBQUMscUJBQXFCLEVBQUMsTUFBTSw4Q0FBOEMsQ0FBQztBQUNuRixPQUFPLEVBQUMsMEJBQTBCLEVBQUMsTUFBTSx5REFBeUQsQ0FBQztBQUNuRyxPQUFPLEVBQUMsaUNBQWlDLEVBQUMsTUFBTSw4REFBOEQsQ0FBQztBQXNCL0csTUFBTSxPQUFPLHVCQUF1Qjs7O1lBcEJuQyxRQUFRLFNBQUM7Z0JBQ1IsT0FBTyxFQUFFO29CQUNQLFlBQVk7b0JBQ1osVUFBVTtvQkFDVixxQkFBcUI7b0JBQ3JCLHNCQUFzQjtvQkFDdEIsbUJBQW1CO29CQUNuQixxQkFBcUI7b0JBQ3JCLHFCQUFxQjtvQkFDckIsMEJBQTBCO29CQUMxQixrQkFBa0I7b0JBQ2xCLGlDQUFpQztpQkFDbEM7Z0JBQ0QsWUFBWSxFQUFFO29CQUNaLDBCQUEwQjtpQkFDM0I7Z0JBQ0QsT0FBTyxFQUFFO29CQUNQLDBCQUEwQjtpQkFDM0I7YUFDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7TmdNb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQge0NvbW1vbk1vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuaW1wb3J0IHtTZW5kTWV0aG9kUHJpbnRlckNvbXBvbmVudH0gZnJvbSAnLi9zZW5kLW1ldGhvZC1wcmludGVyLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7SWNvbk1vZHVsZSwgSW5wdXRDaGVja2JveE1vZHVsZSwgTGlzdE9mVmFsdWVzTW9kdWxlfSBmcm9tICdAY29saWpuaXQvY29yZWNvbXBvbmVudHNfdjEyJztcclxuaW1wb3J0IHtMYXlvdXRTZWxlY3Rpb25Nb2R1bGV9IGZyb20gJy4uL2xheW91dC1zZWxlY3Rpb24vbGF5b3V0LXNlbGVjdGlvbi5tb2R1bGUnO1xyXG5pbXBvcnQge1ByaW50ZXJTZWxlY3Rpb25Nb2R1bGV9IGZyb20gJy4uL3ByaW50ZXItc2VsZWN0aW9uL3ByaW50ZXItc2VsZWN0aW9uLm1vZHVsZSc7XHJcbmltcG9ydCB7U2lnbmF0dXJlQnV0dG9uTW9kdWxlfSBmcm9tICcuLi9zaWduYXR1cmUtYnV0dG9uL3NpZ25hdHVyZS1idXR0b24ubW9kdWxlJztcclxuaW1wb3J0IHtDdXN0b21QZGZEaWFsb2dNb2R1bGV9IGZyb20gJy4uLy4uLy4uL2N1c3RvbS1wZGYvY3VzdG9tLXBkZi1kaWFsb2cubW9kdWxlJztcclxuaW1wb3J0IHtBZGRpdGlvbmFsRmlsZUJ1dHRvbk1vZHVsZX0gZnJvbSAnLi4vYWRkaXRpb25hbC1maWxlLWJ1dHRvbi9hZGRpdGlvbmFsLWZpbGUtYnV0dG9uLm1vZHVsZSc7XHJcbmltcG9ydCB7U2hhcmVkQ29tcG9uZW50c1RyYW5zbGF0aW9uTW9kdWxlfSBmcm9tIFwiLi4vLi4vLi4vLi4vdHJhbnNsYXRpb24vc2hhcmVkLWNvbXBvbmVudHMtdHJhbnNsYXRpb24ubW9kdWxlXCI7XHJcblxyXG5ATmdNb2R1bGUoe1xyXG4gIGltcG9ydHM6IFtcclxuICAgIENvbW1vbk1vZHVsZSxcclxuICAgIEljb25Nb2R1bGUsXHJcbiAgICBMYXlvdXRTZWxlY3Rpb25Nb2R1bGUsXHJcbiAgICBQcmludGVyU2VsZWN0aW9uTW9kdWxlLFxyXG4gICAgSW5wdXRDaGVja2JveE1vZHVsZSxcclxuICAgIFNpZ25hdHVyZUJ1dHRvbk1vZHVsZSxcclxuICAgIEN1c3RvbVBkZkRpYWxvZ01vZHVsZSxcclxuICAgIEFkZGl0aW9uYWxGaWxlQnV0dG9uTW9kdWxlLFxyXG4gICAgTGlzdE9mVmFsdWVzTW9kdWxlLFxyXG4gICAgU2hhcmVkQ29tcG9uZW50c1RyYW5zbGF0aW9uTW9kdWxlXHJcbiAgXSxcclxuICBkZWNsYXJhdGlvbnM6IFtcclxuICAgIFNlbmRNZXRob2RQcmludGVyQ29tcG9uZW50XHJcbiAgXSxcclxuICBleHBvcnRzOiBbXHJcbiAgICBTZW5kTWV0aG9kUHJpbnRlckNvbXBvbmVudFxyXG4gIF1cclxufSlcclxuZXhwb3J0IGNsYXNzIFNlbmRNZXRob2RQcmludGVyTW9kdWxlIHtcclxufVxyXG4iXX0=
36
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VuZC1tZXRob2QtcHJpbnRlci5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zaGFyZWRjb21wb25lbnRzL3NyYy9saWIvY29tcG9uZW50cy9zZW5kLW1ldGhvZC1kaWFsb2cvY29tcG9uZW50cy9zZW5kLW1ldGhvZC1wcmludGVyL3NlbmQtbWV0aG9kLXByaW50ZXIubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxRQUFRLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDdkMsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBQzdDLE9BQU8sRUFBQywwQkFBMEIsRUFBQyxNQUFNLGlDQUFpQyxDQUFDO0FBQzNFLE9BQU8sRUFBQyxVQUFVLEVBQUUsbUJBQW1CLEVBQUUsdUJBQXVCLEVBQUUsa0JBQWtCLEVBQUMsTUFBTSw4QkFBOEIsQ0FBQztBQUMxSCxPQUFPLEVBQUMscUJBQXFCLEVBQUMsTUFBTSw2Q0FBNkMsQ0FBQztBQUNsRixPQUFPLEVBQUMsc0JBQXNCLEVBQUMsTUFBTSwrQ0FBK0MsQ0FBQztBQUNyRixPQUFPLEVBQUMscUJBQXFCLEVBQUMsTUFBTSw2Q0FBNkMsQ0FBQztBQUNsRixPQUFPLEVBQUMscUJBQXFCLEVBQUMsTUFBTSw4Q0FBOEMsQ0FBQztBQUNuRixPQUFPLEVBQUMsMEJBQTBCLEVBQUMsTUFBTSx5REFBeUQsQ0FBQztBQUNuRyxPQUFPLEVBQUMsaUNBQWlDLEVBQUMsTUFBTSw4REFBOEQsQ0FBQztBQXVCL0csTUFBTSxPQUFPLHVCQUF1Qjs7O1lBckJuQyxRQUFRLFNBQUM7Z0JBQ1IsT0FBTyxFQUFFO29CQUNQLFlBQVk7b0JBQ1osVUFBVTtvQkFDVixxQkFBcUI7b0JBQ3JCLHNCQUFzQjtvQkFDdEIsbUJBQW1CO29CQUNuQixxQkFBcUI7b0JBQ3JCLHFCQUFxQjtvQkFDckIsMEJBQTBCO29CQUMxQixrQkFBa0I7b0JBQ2xCLGlDQUFpQztvQkFDakMsdUJBQXVCO2lCQUN4QjtnQkFDRCxZQUFZLEVBQUU7b0JBQ1osMEJBQTBCO2lCQUMzQjtnQkFDRCxPQUFPLEVBQUU7b0JBQ1AsMEJBQTBCO2lCQUMzQjthQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtOZ01vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7Q29tbW9uTW9kdWxlfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQge1NlbmRNZXRob2RQcmludGVyQ29tcG9uZW50fSBmcm9tICcuL3NlbmQtbWV0aG9kLXByaW50ZXIuY29tcG9uZW50JztcclxuaW1wb3J0IHtJY29uTW9kdWxlLCBJbnB1dENoZWNrYm94TW9kdWxlLCBJbnB1dE51bWJlclBpY2tlck1vZHVsZSwgTGlzdE9mVmFsdWVzTW9kdWxlfSBmcm9tICdAY29saWpuaXQvY29yZWNvbXBvbmVudHNfdjEyJztcclxuaW1wb3J0IHtMYXlvdXRTZWxlY3Rpb25Nb2R1bGV9IGZyb20gJy4uL2xheW91dC1zZWxlY3Rpb24vbGF5b3V0LXNlbGVjdGlvbi5tb2R1bGUnO1xyXG5pbXBvcnQge1ByaW50ZXJTZWxlY3Rpb25Nb2R1bGV9IGZyb20gJy4uL3ByaW50ZXItc2VsZWN0aW9uL3ByaW50ZXItc2VsZWN0aW9uLm1vZHVsZSc7XHJcbmltcG9ydCB7U2lnbmF0dXJlQnV0dG9uTW9kdWxlfSBmcm9tICcuLi9zaWduYXR1cmUtYnV0dG9uL3NpZ25hdHVyZS1idXR0b24ubW9kdWxlJztcclxuaW1wb3J0IHtDdXN0b21QZGZEaWFsb2dNb2R1bGV9IGZyb20gJy4uLy4uLy4uL2N1c3RvbS1wZGYvY3VzdG9tLXBkZi1kaWFsb2cubW9kdWxlJztcclxuaW1wb3J0IHtBZGRpdGlvbmFsRmlsZUJ1dHRvbk1vZHVsZX0gZnJvbSAnLi4vYWRkaXRpb25hbC1maWxlLWJ1dHRvbi9hZGRpdGlvbmFsLWZpbGUtYnV0dG9uLm1vZHVsZSc7XHJcbmltcG9ydCB7U2hhcmVkQ29tcG9uZW50c1RyYW5zbGF0aW9uTW9kdWxlfSBmcm9tIFwiLi4vLi4vLi4vLi4vdHJhbnNsYXRpb24vc2hhcmVkLWNvbXBvbmVudHMtdHJhbnNsYXRpb24ubW9kdWxlXCI7XHJcblxyXG5ATmdNb2R1bGUoe1xyXG4gIGltcG9ydHM6IFtcclxuICAgIENvbW1vbk1vZHVsZSxcclxuICAgIEljb25Nb2R1bGUsXHJcbiAgICBMYXlvdXRTZWxlY3Rpb25Nb2R1bGUsXHJcbiAgICBQcmludGVyU2VsZWN0aW9uTW9kdWxlLFxyXG4gICAgSW5wdXRDaGVja2JveE1vZHVsZSxcclxuICAgIFNpZ25hdHVyZUJ1dHRvbk1vZHVsZSxcclxuICAgIEN1c3RvbVBkZkRpYWxvZ01vZHVsZSxcclxuICAgIEFkZGl0aW9uYWxGaWxlQnV0dG9uTW9kdWxlLFxyXG4gICAgTGlzdE9mVmFsdWVzTW9kdWxlLFxyXG4gICAgU2hhcmVkQ29tcG9uZW50c1RyYW5zbGF0aW9uTW9kdWxlLFxyXG4gICAgSW5wdXROdW1iZXJQaWNrZXJNb2R1bGVcclxuICBdLFxyXG4gIGRlY2xhcmF0aW9uczogW1xyXG4gICAgU2VuZE1ldGhvZFByaW50ZXJDb21wb25lbnRcclxuICBdLFxyXG4gIGV4cG9ydHM6IFtcclxuICAgIFNlbmRNZXRob2RQcmludGVyQ29tcG9uZW50XHJcbiAgXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgU2VuZE1ldGhvZFByaW50ZXJNb2R1bGUge1xyXG59XHJcbiJdfQ==
@@ -183,6 +183,10 @@ export class SendMethodDialogComponent {
183
183
  closePdfPreview() {
184
184
  this.pdfDoc = '';
185
185
  }
186
+ handleCopiesAmountChange(amount) {
187
+ this.reportingDocumentPrintRequest.copies = amount;
188
+ this.reportingDocumentPrintRequestChange.emit(this.reportingDocumentPrintRequest);
189
+ }
186
190
  _initDefaultSendMethod() {
187
191
  if (this.defaultSendMethod) {
188
192
  this._selectDefaultSendMethod();
@@ -259,6 +263,7 @@ SendMethodDialogComponent.decorators = [
259
263
  [layoutCode]="layoutCode"
260
264
  (additionalFileChangeEvent)="handleAdditionalFileSaved($event)"
261
265
  (useLocalPrint)="handleUseLocalPrint($event)"
266
+ (copiesAmountChange)="handleCopiesAmountChange($event)"
262
267
  ></co-send-method-printer>
263
268
  </div>
264
269
  <div #emailItems class="send-method-navigation-content co-small-scrollbar" *ngIf="showEmail">
@@ -396,4 +401,4 @@ SendMethodDialogComponent.propDecorators = {
396
401
  loadDefaultPrinterName: [{ type: Output }],
397
402
  showClass: [{ type: HostBinding, args: ['class.co-send-method-dialog',] }]
398
403
  };
399
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VuZC1tZXRob2QtZGlhbG9nLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NoYXJlZGNvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL3NlbmQtbWV0aG9kLWRpYWxvZy9zZW5kLW1ldGhvZC1kaWFsb2cuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQUUsVUFBVSxFQUFFLFlBQVksRUFBRSxXQUFXLEVBQUUsS0FBSyxFQUFxQixNQUFNLEVBQUUsU0FBUyxFQUFFLGlCQUFpQixFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQy9JLE9BQU8sRUFBQyxJQUFJLEVBQUMsTUFBTSxzQkFBc0IsQ0FBQztBQUMxQyxPQUFPLEVBQUMsZ0JBQWdCLEVBQUMsTUFBTSxrQ0FBa0MsQ0FBQztBQUNsRSxPQUFPLEVBQUMsT0FBTyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsVUFBVSxFQUFFLE9BQU8sRUFBQyxNQUFNLHFCQUFxQixDQUFDO0FBSy9FLE9BQU8sRUFBQyxpQkFBaUIsRUFBQyxNQUFNLCtCQUErQixDQUFDO0FBQ2hFLE9BQU8sRUFBQyxVQUFVLEVBQUMsTUFBTSx5QkFBeUIsQ0FBQztBQUNuRCxPQUFPLEVBQUMsY0FBYyxFQUFDLE1BQU0sb0RBQW9ELENBQUM7QUFTbEYsT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLCtDQUErQyxDQUFDO0FBRXpFLE1BQU0sQ0FBQyxNQUFNLG1CQUFtQixHQUFpQjtJQUMvQyxJQUFJLFVBQVUsQ0FBQyxjQUFjLENBQUMsR0FBRyxFQUFFLEtBQUssRUFBRSxJQUFJLENBQUMsWUFBWSxDQUFDO0lBQzVELElBQUksVUFBVSxDQUFDLGNBQWMsQ0FBQyxLQUFLLEVBQUUsT0FBTyxFQUFFLElBQUksQ0FBQyxVQUFVLENBQUM7SUFDOUQsSUFBSSxVQUFVLENBQUMsY0FBYyxDQUFDLEtBQUssRUFBRSxPQUFP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QkFHTCxLQUFLO2tEQUdMLE1BQU07a0RBR04sTUFBTTtnREFHTixNQUFNO3FEQUdOLE1BQU07b0NBR04sTUFBTTt5QkFHTixNQUFNO3NCQUdOLE1BQU07d0NBR04sTUFBTTs4QkFHTixNQUFNO3FDQUdOLE1BQU07d0JBR04sV0FBVyxTQUFDLDZCQUE2QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q29tcG9uZW50LCBFbGVtZW50UmVmLCBFdmVudEVtaXR0ZXIsIEhvc3RCaW5kaW5nLCBJbnB1dCwgT25EZXN0cm95LCBPbkluaXQsIE91dHB1dCwgVmlld0NoaWxkLCBWaWV3RW5jYXBzdWxhdGlvbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7SWNvbn0gZnJvbSAnLi4vLi4vZW51bS9pY29uLmVudW0nO1xyXG5pbXBvcnQge0ljb25DYWNoZVNlcnZpY2V9IGZyb20gJy4uLy4uL3NlcnZpY2UvaWNvbi1jYWNoZS5zZXJ2aWNlJztcclxuaW1wb3J0IHthbmltYXRlLCBzdGF0ZSwgc3R5bGUsIHRyYW5zaXRpb24sIHRyaWdnZXJ9IGZyb20gJ0Bhbmd1bGFyL2FuaW1hdGlvbnMnO1xyXG5pbXBvcnQge1N1YnNjcmlwdGlvbn0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7UmVwb3J0TGF5b3V0U2VsZWN0aW9uRW1haWx9IGZyb20gJ0Bjb2xpam5pdC9tYWluYXBpL2J1aWxkL21vZGVsL3JlcG9ydC1sYXlvdXQtc2VsZWN0aW9uLWVtYWlsLmJvJztcclxuaW1wb3J0IHtSZXBvcnRMYXlvdXRTZWxlY3Rpb25QcmludH0gZnJvbSAnQGNvbGlqbml0L21haW5hcGkvYnVpbGQvbW9kZWwvcmVwb3J0LWxheW91dC1zZWxlY3Rpb24tcHJpbnQuYm8nO1xyXG5pbXBvcnQge1JlcG9ydGluZ0RvY3VtZW50UGRmQmFzZVJlcXVlc3R9IGZyb20gJ0Bjb2xpam5pdC9tYWluYXBpL2J1aWxkL21vZGVsL3JlcG9ydGluZy1kb2N1bWVudC1wZGYtYmFzZS1yZXF1ZXN0JztcclxuaW1wb3J0IHtTZW5kTWV0aG9kU2VydmljZX0gZnJvbSAnLi9zZXJ2aWNlL3NlbmQtbWV0aG9kLnNlcnZpY2UnO1xyXG5pbXBvcnQge1NlbmRNZXRob2R9IGZyb20gJy4uLy4uL21vZGVsL3NlbmQtbWV0aG9kJztcclxuaW1wb3J0IHtTZW5kTWV0aG9kVHlwZX0gZnJvbSAnQGNvbGlqbml0L21haW5hcGkvYnVpbGQvZW51bS9zZW5kLW1ldGhvZC10eXBlLmVudW0nO1xyXG5pbXBvcnQge1ByaW50ZXJ9IGZyb20gJ0Bjb2xpam5pdC9tYWluYXBpL2J1aWxkL21vZGVsL3ByaW50ZXIuYm8nO1xyXG5pbXBvcnQge1JlcG9ydGluZ0RvY3VtZW50RW1haWxTaWduRG9jQmFzZVJlcXVlc3R9IGZyb20gJ0Bjb2xpam5pdC9tYWluYXBpL2J1aWxkL21vZGVsL3JlcG9ydGluZy1kb2N1bWVudC1lbWFpbC1zaWduLWRvYy1iYXNlLXJlcXVlc3QnO1xyXG5pbXBvcnQge1JlcG9ydGluZ0RvY3VtZW50UHJpbnRTaWduRG9jQmFzZVJlcXVlc3R9IGZyb20gJ0Bjb2xpam5pdC9tYWluYXBpL2J1aWxkL21vZGVsL3JlcG9ydGluZy1kb2N1bWVudC1wcmludC1zaWduLWRvYy1iYXNlLXJlcXVlc3QnO1xyXG5pbXBvcnQge0NvRG9jdW1lbnR9IGZyb20gJ0Bjb2xpam5pdC9tYWluYXBpL2J1aWxkL21vZGVsL2NvLWRvY3VtZW50LmJvJztcclxuaW1wb3J0IHtTZW5kTWV0aG9kUHJpbnRlckNvbXBvbmVudH0gZnJvbSAnLi9jb21wb25lbnRzL3NlbmQtbWV0aG9kLXByaW50ZXIvc2VuZC1tZXRob2QtcHJpbnRlci5jb21wb25lbnQnO1xyXG5pbXBvcnQge1NlbmRNZXRob2RFbWFpbENvbXBvbmVudH0gZnJvbSAnLi9jb21wb25lbnRzL3NlbmQtbWV0aG9kLWVtYWlsL3NlbmQtbWV0aG9kLWVtYWlsLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7UHJvY2Vzc1ByaW50UmVxdWVzdH0gZnJvbSAnQGNvbGlqbml0L21haW5hcGkvYnVpbGQvbW9kZWwvcHJvY2Vzcy1wcmludC1yZXF1ZXN0JztcclxuaW1wb3J0IHtQcmludFB1cmNoYXNlT3JkZXJGb3JUcmFuc2FjdGlvbk9yZGVyV2l0aG91dExpbmVzUmVxdWVzdH0gZnJvbSAnQGNvbGlqbml0L21haW5hcGkvYnVpbGQvbW9kZWwvcHJpbnQtcHVyY2hhc2Utb3JkZXItZm9yLXRyYW5zYWN0aW9uLW9yZGVyLXdpdGhvdXQtbGluZXMtcmVxdWVzdCc7XHJcbmltcG9ydCB7TGF5b3V0Q29kZX0gZnJvbSAnQGNvbGlqbml0L21haW5hcGkvYnVpbGQvZW51bS9sYXlvdXQtY29kZS5lbnVtJztcclxuXHJcbmV4cG9ydCBjb25zdCBzZW5kTWV0aG9kc1dpdGhJY29uOiBTZW5kTWV0aG9kW10gPSBbXHJcbiAgbmV3IFNlbmRNZXRob2QoU2VuZE1ldGhvZFR5cGUuRmF4LCAnRmF4JywgSWNvbi5QcmludFJlZ3VsYXIpLFxyXG4gIG5ldyBTZW5kTWV0aG9kKFNlbmRNZXRob2RUeXBlLlByaW50LCAnUHJpbnQnLCBJY29uLlByaW50U29saWQpLFxyXG4gIG5ldyBTZW5kTWV0aG9kKFNlbmRNZXRob2RUeXBlLkVtYWlsLCAnRW1haWwnLCBJY29uLkF0U29saWQpLFxyXG4gIG5ldyBTZW5kTWV0aG9kKFNlbmRNZXRob2RUeXBlLkVkaSwgJ0VkaScsIEljb24uRmlsZUV4cG9ydFNvbGlkKSxcclxuICBuZXcgU2VuZE1ldGhvZChTZW5kTWV0aG9kVHlwZS5FbWFpbFRlbXBsYXRlLCAnRW1haWwgdGVtcGxhdGUnLCBJY29uLkVudmVsb3BlUmVndWxhciksXHJcbiAgbmV3IFNlbmRNZXRob2QoU2VuZE1ldGhvZFR5cGUuU21zLCAnU21zJywgSWNvbi5NZXNzYWdlU21zU29saWQpLFxyXG4gIG5ldyBTZW5kTWV0aG9kKFNlbmRNZXRob2RUeXBlLldlYlNlcnZpY2UsICdXZWJzZXJ2aWNlJywgSWNvbi5QcmludFJlZ3VsYXIpLFxyXG4gIG5ldyBTZW5kTWV0aG9kKFNlbmRNZXRob2RUeXBlLlBkZiwgJ1BkZicsIEljb24uUGRmKSxcclxuICBuZXcgU2VuZE1ldGhvZChTZW5kTWV0aG9kVHlwZS5Db21iaW5lUHJpbnRBbmRFbWFpbCwgJ0NvbWJpbmUnLCBJY29uLkFjY291bnQpXHJcbl07XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2NvLXNlbmQtbWV0aG9kLWRpYWxvZycsXHJcbiAgdGVtcGxhdGU6IGBcclxuICAgIDxjby1kaWFsb2cgaWQ9XCJzZW5kT3B0aW9uc0RpYWxvZ1wiIFtoZWFkZXJUZW1wbGF0ZV09XCJoZWFkZXJUZW1wbGF0ZVwiIFtmb290ZXJUZW1wbGF0ZV09XCJmb290ZXJUZW1wbGF0ZVwiXHJcbiAgICAgICAgICAgICAgIChjbG9zZUNsaWNrKT1cImhhbmRsZUNhbmNlbENsaWNrKClcIj5cclxuICAgICAgPG5nLXRlbXBsYXRlICNoZWFkZXJUZW1wbGF0ZT5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiY28tZGlhbG9nLWhlYWRlci10aXRsZS13cmFwcGVyXCI+XHJcbiAgICAgICAgICA8Y28taWNvbiBbaWNvbkRhdGFdPVwiaWNvbkNhY2hlU2VydmljZS5nZXRJY29uKGljb25zLlNoYXJlU29saWQpXCI+PC9jby1pY29uPlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImNvLWRpYWxvZy1oZWFkZXItdGl0bGVcIiBbdGV4dENvbnRlbnRdPVwiaGVhZGVyVGl0bGVcIj48L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiZGlhbG9nLW5hdmlnYXRpb24td3JhcHBlclwiICpuZ0lmPVwic2VuZE1ldGhvZHMubGVuZ3RoID4gMVwiPlxyXG4gICAgICAgICAgPGRpdlxyXG4gICAgICAgICAgICAqbmdGb3I9XCJsZXQgc2VuZE1ldGhvZCBvZiBzZW5kTWV0aG9kczsgbGV0IGluZGV4ID0gaW5kZXhcIlxyXG4gICAgICAgICAgICBjbGFzcz1cInNlbmQtYnV0dG9uLXdyYXBwZXJcIlxyXG4gICAgICAgICAgICBbY2xhc3Muc2VsZWN0ZWRdPVwiYWN0aXZlU2VuZE1ldGhvZCA/IHNlbmRNZXRob2QuY29kZSA9PT0gYWN0aXZlU2VuZE1ldGhvZC5jb2RlIDogaW5kZXggPT09IDBcIlxyXG4gICAgICAgICAgICAoY2xpY2spPVwiaGFuZGxlU2VuZE1ldGhvZENsaWNrKHNlbmRNZXRob2QpXCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjdXN0b20tYnV0dG9uLXRpdGxlXCIgW3RleHRDb250ZW50XT1cInNlbmRNZXRob2QuZGVzY3JpcHRpb25cIj48L2Rpdj5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICA8L25nLXRlbXBsYXRlPlxyXG5cclxuICAgICAgPGRpdiBjbGFzcz1cImRpYWxvZy1jb250ZW50LXdyYXBwZXJcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwic2VuZC1tZXRob2RzLXdyYXBwZXJcIj5cclxuXHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPGRpdiAjbmF2aWdhdGlvbkl0ZW1zIGNsYXNzPVwic2VuZC1tZXRob2QtbmF2aWdhdGlvbi13cmFwcGVyXCIgW2NsYXNzLnNtb290aC1zY3JvbGxpbmddPVwiIXN0YXJ0VXBcIj5cclxuICAgICAgICAgIDxkaXYgI2ZheEl0ZW1zIGNsYXNzPVwic2VuZC1tZXRob2QtbmF2aWdhdGlvbi1jb250ZW50IGNvLXNtYWxsLXNjcm9sbGJhclwiPlxyXG5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPGRpdiAjcHJpbnRJdGVtcyBjbGFzcz1cInNlbmQtbWV0aG9kLW5hdmlnYXRpb24tY29udGVudCBjby1zbWFsbC1zY3JvbGxiYXJcIiAqbmdJZj1cInNob3dQcmludFwiPlxyXG4gICAgICAgICAgICA8Y28tc2VuZC1tZXRob2QtcHJpbnRlclxyXG4gICAgICAgICAgICAgICNwcmludGVyQ29tcG9uZW50XHJcbiAgICAgICAgICAgICAgW2lzUHJpbnRlckxheW91dHNFbmFibGVkXT1cImlzUHJpbnRlckxheW91dHNFbmFibGVkXCJcclxuICAgICAgICAgICAgICBbcHJpbnRlckxpc3RdPVwicHJpbnRlckxpc3RcIlxyXG4gICAgICAgICAgICAgIFtsYXlvdXRzXT1cInByaW50TGF5b3V0c1wiXHJcbiAgICAgICAgICAgICAgW2lzQWRkaXRpb25hbERvY0VuYWJsZWRdPVwiaXNBZGRpdGlvbmFsRG9jRW5hYmxlZFwiXHJcbiAgICAgICAgICAgICAgW2FkZGl0aW9uYWxGaWxlQ29udGVudHNdPVwiYWRkaXRpb25hbEZpbGVDb250ZW50c1wiXHJcbiAgICAgICAgICAgICAgW2FkZGl0aW9uYWxGaWxlTmFtZV09XCJhZGRpdGlvbmFsRmlsZU5hbWVcIlxyXG4gICAgICAgICAgICAgIFtsYXlvdXRDb2RlXT1cImxheW91dENvZGVcIlxyXG4gICAgICAgICAgICAgIChhZGRpdGlvbmFsRmlsZUNoYW5nZUV2ZW50KT1cImhhbmRsZUFkZGl0aW9uYWxGaWxlU2F2ZWQoJGV2ZW50KVwiXHJcbiAgICAgICAgICAgICAgKHVzZUxvY2FsUHJpbnQpPVwiaGFuZGxlVXNlTG9jYWxQcmludCgkZXZlbnQpXCJcclxuICAgICAgICAgICAgPjwvY28tc2VuZC1tZXRob2QtcHJpbnRlcj5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPGRpdiAjZW1haWxJdGVtcyBjbGFzcz1cInNlbmQtbWV0aG9kLW5hdmlnYXRpb24tY29udGVudCBjby1zbWFsbC1zY3JvbGxiYXJcIiAqbmdJZj1cInNob3dFbWFpbFwiPlxyXG4gICAgICAgICAgICA8Y28tc2VuZC1tZXRob2QtZW1haWxcclxuICAgICAgICAgICAgICAjZW1haWxDb21wb25lbnRcclxuICAgICAgICAgICAgICBbZW1haWxBZGRyZXNzZXNdPVwiZW1haWxBZGRyZXNzZXNcIlxyXG4gICAgICAgICAgICAgIFtsYXlvdXRzXT1cImVtYWlsTGF5b3V0c1wiXHJcbiAgICAgICAgICAgICAgW2VtYWlsVW5zaWduZWRQb3NzaWJsZV09XCJlbWFpbFVuc2lnbmVkUG9zc2libGVcIlxyXG4gICAgICAgICAgICAgIChsb2FkRGVmYXVsdFByaW50ZXJOYW1lKT1cImxvYWREZWZhdWx0UHJpbnRlck5hbWUuZW1pdCgkZXZlbnQpXCJcclxuICAgICAgICAgICAgICBbaXNBZGRpdGlvbmFsRG9jRW5hYmxlZF09XCJpc0FkZGl0aW9uYWxEb2NFbmFibGVkXCJcclxuICAgICAgICAgICAgICBbYWRkaXRpb25hbEZpbGVDb250ZW50c109XCJhZGRpdGlvbmFsRmlsZUNvbnRlbnRzXCJcclxuICAgICAgICAgICAgICBbYWRkaXRpb25hbEZpbGVOYW1lXT1cImFkZGl0aW9uYWxGaWxlTmFtZVwiXHJcbiAgICAgICAgICAgICAgKGFkZGl0aW9uYWxGaWxlQ2hhbmdlRXZlbnQpPVwiaGFuZGxlQWRkaXRpb25hbEZpbGVTYXZlZCgkZXZlbnQpXCI+XHJcbiAgICAgICAgICAgIDwvY28tc2VuZC1tZXRob2QtZW1haWw+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDxkaXYgI2VkaUl0ZW1zIGNsYXNzPVwic2VuZC1tZXRob2QtbmF2aWdhdGlvbi1jb250ZW50IGNvLXNtYWxsLXNjcm9sbGJhclwiICpuZ0lmPVwic2hvd0VkaVwiPlxyXG5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPGRpdiAjZW1haWxUZW1wbGF0ZUl0ZW1zIGNsYXNzPVwic2VuZC1tZXRob2QtbmF2aWdhdGlvbi1jb250ZW50IGNvLXNtYWxsLXNjcm9sbGJhclwiICpuZ0lmPVwic2hvd0VtYWlsVGVtcGxhdGVcIj5cclxuXHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDxkaXYgI3Ntc0l0ZW1zIGNsYXNzPVwic2VuZC1tZXRob2QtbmF2aWdhdGlvbi1jb250ZW50IGNvLXNtYWxsLXNjcm9sbGJhclwiICpuZ0lmPVwic2hvd1Ntc1wiPlxyXG5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPGRpdiAjd2ViU2VydmljZUl0ZW1zIGNsYXNzPVwic2VuZC1tZXRob2QtbmF2aWdhdGlvbi1jb250ZW50IGNvLXNtYWxsLXNjcm9sbGJhclwiICpuZ0lmPVwic2hvd1dlYnNlcnZpY2VcIj5cclxuXHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDxkaXYgI3BkZkl0ZW1zIGNsYXNzPVwic2VuZC1tZXRob2QtbmF2aWdhdGlvbi1jb250ZW50IGNvLXNtYWxsLXNjcm9sbGJhclwiICpuZ0lmPVwic2hvd1BkZlwiPlxyXG4gICAgICAgICAgICA8Y28tc2VuZC1tZXRob2QtcGRmXHJcbiAgICAgICAgICAgICAgW2xheW91dHNdPVwicHJpbnRMYXlvdXRzXCI+XHJcbiAgICAgICAgICAgIDwvY28tc2VuZC1tZXRob2QtcGRmPlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8ZGl2ICNjb21iaW5lUHJpbnRBbmRFbWFpbCBjbGFzcz1cInNlbmQtbWV0aG9kLW5hdmlnYXRpb24tY29udGVudCBjby1zbWFsbC1zY3JvbGxiYXJcIiAqbmdJZj1cInNob3dDb21iaW5lUHJpbnRBbmRFbWFpbFwiPlxyXG4gICAgICAgICAgICA8Y28tc2VuZC1tZXRob2QtY29tYmluZS1wcmludC1lbWFpbFxyXG4gICAgICAgICAgICAgIFtlbWFpbExheW91dHNdPVwiZW1haWxMYXlvdXRzXCJcclxuICAgICAgICAgICAgICBbcHJpbnRMYXlvdXRzXT1cInByaW50TGF5b3V0c1wiXHJcbiAgICAgICAgICAgICAgW3ByaW50ZXJMaXN0XT1cInByaW50ZXJMaXN0XCJcclxuICAgICAgICAgICAgICBbc2hvd0FkZGl0aW9uYWxDaGVja3NdPVwic2hvd0FkZGl0aW9uYWxDaGVja3NcIlxyXG4gICAgICAgICAgICAgIFtzaG93TG9jYWxQcmludF09XCJzaG93TG9jYWxQcmludFwiXHJcbiAgICAgICAgICAgICAgKHVzZUxvY2FsUHJpbnQpPVwiaGFuZGxlVXNlTG9jYWxQcmludCgkZXZlbnQpXCI+XHJcbiAgICAgICAgICAgICAgPGRpdiBleHRyYS1jb250ZW50LXBhc3M+XHJcbiAgICAgICAgICAgICAgICA8bmctY29udGVudCBzZWxlY3Q9XCJbZXh0cmEtY29udGVudF1cIj48L25nLWNvbnRlbnQ+XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvY28tc2VuZC1tZXRob2QtY29tYmluZS1wcmludC1lbWFpbD5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwicGRmLXByZXZpZXctd3JhcHBlclwiICpuZ0lmPVwic2hvd1BERlByZXZpZXdcIj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJwZGYtcHJldmlldy1idXR0b25cIiBbY2xhc3MuZGlzYWJsZWRdPVwiZGlzYWJsZVBkZlByZXZpZXdcIiAoY2xpY2spPVwiY3JlYXRlUGRmUHJldmlldygpXCI+XHJcbiAgICAgICAgICAgIDxjby1pY29uIFtpY29uRGF0YV09XCJpY29uQ2FjaGVTZXJ2aWNlLmdldEljb24oaWNvbnMuRmlsZU1hZ25pZnlpbmdHbGFzcylcIj48L2NvLWljb24+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDxjby1wcmV2aWV3LXBkZi1kaWFsb2dcclxuICAgICAgICAgICAgKm5nSWY9XCJwZGZEb2NcIlxyXG4gICAgICAgICAgICBbcGRmRG9jXT1cInBkZkRvY1wiXHJcbiAgICAgICAgICAgIChjbG9zZVBERkRpYWxvZyk9XCJjbG9zZVBkZlByZXZpZXcoKVwiPlxyXG4gICAgICAgICAgPC9jby1wcmV2aWV3LXBkZi1kaWFsb2c+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgICA8bmctdGVtcGxhdGUgI2Zvb3RlclRlbXBsYXRlPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJjby1kaWFsb2ctZm9vdGVyLWJ1dHRvbi13cmFwcGVyXCI+XHJcbiAgICAgICAgICA8Y28tYnV0dG9uIGNsYXNzPVwic2F2ZS1idXR0b25cIlxyXG4gICAgICAgICAgICAgICAgICAgICBbaWNvbkRhdGFdPVwiaWNvbkNhY2hlU2VydmljZS5nZXRJY29uKGljb25zLkNoZWNrRHVvdG9uZSlcIlxyXG4gICAgICAgICAgICAgICAgICAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZU9rQnV0dG9uXCJcclxuICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cImhhbmRsZU9rQ2xpY2soKVwiPjwvY28tYnV0dG9uPlxyXG4gICAgICAgICAgPGNvLWJ1dHRvbiBjbGFzcz1cImNsb3NlLWJ1dHRvblwiXHJcbiAgICAgICAgICAgICAgICAgICAgIFtpY29uRGF0YV09XCJpY29uQ2FjaGVTZXJ2aWNlLmdldEljb24oaWNvbnMuQ3Jvc3NTa2lubnkpXCJcclxuICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cImhhbmRsZUNhbmNlbENsaWNrKClcIj48L2NvLWJ1dHRvbj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgIDwvY28tZGlhbG9nPlxyXG4gIGAsXHJcbiAgIHByb3ZpZGVyczogW1xyXG4gICAgIFNlbmRNZXRob2RTZXJ2aWNlXHJcbiAgIF0sXHJcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcclxuICBhbmltYXRpb25zOiBbXHJcbiAgICB0cmlnZ2VyKCdzbGlkZUluT3V0JywgW1xyXG4gICAgICBzdGF0ZSgnKicsIHN0eWxlKHt0cmFuc2Zvcm06ICd0cmFuc2xhdGVYKDAlKScsIHdpZHRoOiAnMTAwJScsIG9wYWNpdHk6ICcxJ30pKSxcclxuICAgICAgc3RhdGUoJ3ZvaWQnLCBzdHlsZSh7dHJhbnNmb3JtOiAndHJhbnNsYXRlWCgxNTAlKScsIG9wYWNpdHk6ICcwJ30pKSxcclxuICAgICAgdHJhbnNpdGlvbigndm9pZCA9PiAqJywgYW5pbWF0ZSgyNTApKVxyXG4gICAgXSlcclxuICBdXHJcbn0pXHJcblxyXG5leHBvcnQgY2xhc3MgU2VuZE1ldGhvZERpYWxvZ0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcclxuICBwdWJsaWMgcmVhZG9ubHkgaWNvbnM6IHR5cGVvZiBJY29uID0gSWNvbjtcclxuXHJcbiAgQFZpZXdDaGlsZCgnbmF2aWdhdGlvbkl0ZW1zJywge3JlYWQ6IEVsZW1lbnRSZWZ9KVxyXG4gIHB1YmxpYyBuYXZpZ2F0aW9uSXRlbXM6IEVsZW1lbnRSZWY7XHJcblxyXG4gIEBWaWV3Q2hpbGQoJ2ZheEl0ZW1zJywge3JlYWQ6IEVsZW1lbnRSZWZ9KVxyXG4gIHB1YmxpYyBmYXhJdGVtczogRWxlbWVudFJlZjtcclxuXHJcbiAgQFZpZXdDaGlsZCgncHJpbnRJdGVtcycsIHtyZWFkOiBFbGVtZW50UmVmfSlcclxuICBwdWJsaWMgcHJpbnRJdGVtczogRWxlbWVudFJlZjtcclxuXHJcbiAgQFZpZXdDaGlsZCgnZW1haWxJdGVtcycsIHtyZWFkOiBFbGVtZW50UmVmfSlcclxuICBwdWJsaWMgZW1haWxJdGVtczogRWxlbWVudFJlZjtcclxuXHJcbiAgQFZpZXdDaGlsZCgnZWRpSXRlbXMnLCB7cmVhZDogRWxlbWVudFJlZn0pXHJcbiAgcHVibGljIGVkaUl0ZW1zOiBFbGVtZW50UmVmO1xyXG5cclxuICBAVmlld0NoaWxkKCdlbWFpbFRlbXBsYXRlSXRlbXMnLCB7cmVhZDogRWxlbWVudFJlZn0pXHJcbiAgcHVibGljIGVtYWlsVGVtcGxhdGVJdGVtczogRWxlbWVudFJlZjtcclxuXHJcbiAgQFZpZXdDaGlsZCgnc21zSXRlbXMnLCB7cmVhZDogRWxlbWVudFJlZn0pXHJcbiAgcHVibGljIHNtc0l0ZW1zOiBFbGVtZW50UmVmO1xyXG5cclxuICBAVmlld0NoaWxkKCd3ZWJTZXJ2aWNlSXRlbXMnLCB7cmVhZDogRWxlbWVudFJlZn0pXHJcbiAgcHVibGljIHdlYlNlcnZpY2VJdGVtczogRWxlbWVudFJlZjtcclxuXHJcbiAgQFZpZXdDaGlsZCgncGRmSXRlbXMnLCB7cmVhZDogRWxlbWVudFJlZn0pXHJcbiAgcHVibGljIHBkZkl0ZW1zOiBFbGVtZW50UmVmO1xyXG5cclxuICBAVmlld0NoaWxkKCdjb21iaW5lUHJpbnRBbmRFbWFpbCcsIHtyZWFkOiBFbGVtZW50UmVmfSlcclxuICBwdWJsaWMgY29tYmluZVByaW50QW5kRW1haWw6IEVsZW1lbnRSZWY7XHJcblxyXG4gIEBWaWV3Q2hpbGQoJ3ByaW50ZXJDb21wb25lbnQnKVxyXG4gIHB1YmxpYyBwcmludGVyQ29tcG9uZW50UmVmOiBTZW5kTWV0aG9kUHJpbnRlckNvbXBvbmVudDtcclxuXHJcbiAgQFZpZXdDaGlsZCgnZW1haWxDb21wb25lbnQnKVxyXG4gIHB1YmxpYyBlbWFpbENvbXBvbmVudFJlZjogU2VuZE1ldGhvZEVtYWlsQ29tcG9uZW50O1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBwcmludGVyTGlzdDogUHJpbnRlcltdID0gW107XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIHJlcG9ydGluZ0RvY3VtZW50UHJpbnRSZXF1ZXN0OiBSZXBvcnRpbmdEb2N1bWVudFByaW50U2lnbkRvY0Jhc2VSZXF1ZXN0O1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyByZXBvcnRpbmdEb2N1bWVudEVtYWlsUmVxdWVzdDogUmVwb3J0aW5nRG9jdW1lbnRFbWFpbFNpZ25Eb2NCYXNlUmVxdWVzdDtcclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgcmVwb3J0aW5nRG9jdW1lbnRQZGZSZXF1ZXN0OiBSZXBvcnRpbmdEb2N1bWVudFBkZkJhc2VSZXF1ZXN0O1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyByZXBvcnRpbmdEb2N1bWVudENvbWJpbmVkUmVxdWVzdDogUHJpbnRQdXJjaGFzZU9yZGVyRm9yVHJhbnNhY3Rpb25PcmRlcldpdGhvdXRMaW5lc1JlcXVlc3Q7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIGVtYWlsTGF5b3V0czogUmVwb3J0TGF5b3V0U2VsZWN0aW9uRW1haWxbXSA9IFtdO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBwcmludExheW91dHM6IFJlcG9ydExheW91dFNlbGVjdGlvblByaW50W10gPSBbXTtcclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgaGVhZGVyVGl0bGU6IHN0cmluZztcclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgZW1haWxBZGRyZXNzZXM6IHN0cmluZ1tdID0gW107XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIGRlZmF1bHRTZW5kTWV0aG9kOiBzdHJpbmc7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIHZpc2libGVNZXRob2RzOiBTZW5kTWV0aG9kVHlwZVtdIHwgc3RyaW5nW10gPSBbXTtcclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgaXNEb2NTaWduRW5hYmxlZDogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBkb2NTaWduOiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIGlzUHJpbnRlckxheW91dHNFbmFibGVkOiBib29sZWFuID0gdHJ1ZTtcclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgaXNBZGRpdGlvbmFsRG9jRW5hYmxlZDogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBhZGRpdGlvbmFsRmlsZU5hbWU6IHN0cmluZyA9ICcnO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBhZGRpdGlvbmFsRmlsZUNvbnRlbnRzOiBhbnkgPSAnJztcclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgcGRmRG9jOiBhbnkgPSAnJztcclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgZGlzYWJsZVBkZlByZXZpZXc6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgZW1haWxVbnNpZ25lZFBvc3NpYmxlOiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIHNob3dQREZQcmV2aWV3OiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIHNob3dBZGRpdGlvbmFsQ2hlY2tzOiBib29sZWFuID0gdHJ1ZTtcclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgc2hvd0xvY2FsUHJpbnQ6IGJvb2xlYW4gPSB0cnVlO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBsYXlvdXRDb2RlOiBMYXlvdXRDb2RlID0gTGF5b3V0Q29kZS5PcmRlckNvbmZpcm1hdGlvbjtcclxuXHJcbiAgQE91dHB1dCgpXHJcbiAgcHVibGljIHJlcG9ydGluZ0RvY3VtZW50UHJpbnRSZXF1ZXN0Q2hhbmdlOiBFdmVudEVtaXR0ZXI8UmVwb3J0aW5nRG9jdW1lbnRQcmludFNpZ25Eb2NCYXNlUmVxdWVzdD4gPSBuZXcgRXZlbnRFbWl0dGVyPFJlcG9ydGluZ0RvY3VtZW50UHJpbnRTaWduRG9jQmFzZVJlcXVlc3Q+KCk7XHJcblxyXG4gIEBPdXRwdXQoKVxyXG4gIHB1YmxpYyByZXBvcnRpbmdEb2N1bWVudEVtYWlsUmVxdWVzdENoYW5nZTogRXZlbnRFbWl0dGVyPFJlcG9ydGluZ0RvY3VtZW50RW1haWxTaWduRG9jQmFzZVJlcXVlc3Q+ID0gbmV3IEV2ZW50RW1pdHRlcjxSZXBvcnRpbmdEb2N1bWVudEVtYWlsU2lnbkRvY0Jhc2VSZXF1ZXN0PigpO1xyXG5cclxuICBAT3V0cHV0KClcclxuICBwdWJsaWMgcmVwb3J0aW5nRG9jdW1lbnRQZGZSZXF1ZXN0Q2hhbmdlOiBFdmVudEVtaXR0ZXI8UmVwb3J0aW5nRG9jdW1lbnRQZGZCYXNlUmVxdWVzdD4gPSBuZXcgRXZlbnRFbWl0dGVyPFJlcG9ydGluZ0RvY3VtZW50UGRmQmFzZVJlcXVlc3Q+KCk7XHJcblxyXG4gIEBPdXRwdXQoKVxyXG4gIHB1YmxpYyByZXBvcnRpbmdEb2N1bWVudENvbWJpbmVkUmVxdWVzdENoYW5nZTogRXZlbnRFbWl0dGVyPFByaW50UHVyY2hhc2VPcmRlckZvclRyYW5zYWN0aW9uT3JkZXJXaXRob3V0TGluZXNSZXF1ZXN0PiA9IG5ldyBFdmVudEVtaXR0ZXI8UHJpbnRQdXJjaGFzZU9yZGVyRm9yVHJhbnNhY3Rpb25PcmRlcldpdGhvdXRMaW5lc1JlcXVlc3Q+KCk7XHJcblxyXG4gIEBPdXRwdXQoKVxyXG4gIHB1YmxpYyBzdGFydFNpZ25hdHVyZUNsaWNrZWQ6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XHJcblxyXG4gIEBPdXRwdXQoKVxyXG4gIHB1YmxpYyBjbG9zZUNsaWNrOiBFdmVudEVtaXR0ZXI8TW91c2VFdmVudD4gPSBuZXcgRXZlbnRFbWl0dGVyPE1vdXNlRXZlbnQ+KCk7XHJcblxyXG4gIEBPdXRwdXQoKVxyXG4gIHB1YmxpYyBva0NsaWNrOiBFdmVudEVtaXR0ZXI8c3RyaW5nIHwgUHJvY2Vzc1ByaW50UmVxdWVzdD4gPSBuZXcgRXZlbnRFbWl0dGVyPHN0cmluZyB8IFByb2Nlc3NQcmludFJlcXVlc3Q+KCk7XHJcblxyXG4gIEBPdXRwdXQoKVxyXG4gIHB1YmxpYyBhZGRpdGlvbmFsRmlsZUNoYW5nZUV2ZW50OiBFdmVudEVtaXR0ZXI8Q29Eb2N1bWVudD4gPSBuZXcgRXZlbnRFbWl0dGVyPENvRG9jdW1lbnQ+KCk7XHJcblxyXG4gIEBPdXRwdXQoKVxyXG4gIHB1YmxpYyBzaG93RmlsZVByZXZpZXc6IEV2ZW50RW1pdHRlcjxudW1iZXI+ID0gbmV3IEV2ZW50RW1pdHRlcjxudW1iZXI+KCk7XHJcblxyXG4gIEBPdXRwdXQoKVxyXG4gIHB1YmxpYyBsb2FkRGVmYXVsdFByaW50ZXJOYW1lOiBFdmVudEVtaXR0ZXI8bnVtYmVyPiA9IG5ldyBFdmVudEVtaXR0ZXI8bnVtYmVyPigpO1xyXG5cclxuICBASG9zdEJpbmRpbmcoJ2NsYXNzLmNvLXNlbmQtbWV0aG9kLWRpYWxvZycpXHJcbiAgcHVibGljIHNob3dDbGFzcygpOiBib29sZWFuIHtcclxuICAgIHJldHVybiB0cnVlO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHNlbmRNZXRob2RzOiBTZW5kTWV0aG9kW10gPSBzZW5kTWV0aG9kc1dpdGhJY29uO1xyXG4gIHB1YmxpYyBhY3RpdmVTZW5kTWV0aG9kOiBTZW5kTWV0aG9kO1xyXG4gIHB1YmxpYyBzdGFydFVwOiBib29sZWFuID0gdHJ1ZTtcclxuXHJcbiAgcHVibGljIHNob3dGYXg6IGJvb2xlYW4gPSB0cnVlO1xyXG4gIHB1YmxpYyBzaG93UHJpbnQ6IGJvb2xlYW4gPSB0cnVlO1xyXG4gIHB1YmxpYyBzaG93RW1haWw6IGJvb2xlYW4gPSB0cnVlO1xyXG4gIHB1YmxpYyBzaG93RWRpOiBib29sZWFuID0gdHJ1ZTtcclxuICBwdWJsaWMgc2hvd1NtczogYm9vbGVhbiA9IHRydWU7XHJcbiAgcHVibGljIHNob3dFbWFpbFRlbXBsYXRlOiBib29sZWFuID0gdHJ1ZTtcclxuICBwdWJsaWMgc2hvd1dlYnNlcnZpY2U6IGJvb2xlYW4gPSB0cnVlO1xyXG4gIHB1YmxpYyBzaG93UGRmOiBib29sZWFuID0gdHJ1ZTtcclxuICBwdWJsaWMgc2hvd0NvbWJpbmVQcmludEFuZEVtYWlsOiBib29sZWFuID0gdHJ1ZTtcclxuICBwdWJsaWMgYWRkaXRpb25hbEZpbGVIYXNCZWVuU2F2ZWQ6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBwdWJsaWMgZGlzYWJsZU9rQnV0dG9uOiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gIHByaXZhdGUgX3N1YnNjcmlwdGlvbnM6IFN1YnNjcmlwdGlvbltdID0gW107XHJcbiAgcHJpdmF0ZSBfbG9jYWxQcmludDogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHB1YmxpYyBpY29uQ2FjaGVTZXJ2aWNlOiBJY29uQ2FjaGVTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBfc2VuZE1ldGhvZFNlcnZpY2U6IFNlbmRNZXRob2RTZXJ2aWNlXHJcbiAgKSB7XHJcbiAgICB0aGlzLl9zdWJzY3JpcHRpb25zLnB1c2goXHJcbiAgICAgIHRoaXMuX3NlbmRNZXRob2RTZXJ2aWNlLnJlcG9ydGluZ0RvY3VtZW50UHJpbnRTaWduRG9jQmFzZVJlcXVlc3RDaGFuZ2VkLnN1YnNjcmliZSgodmFsdWU6IFJlcG9ydGluZ0RvY3VtZW50UHJpbnRTaWduRG9jQmFzZVJlcXVlc3QpID0+IHRoaXMucmVwb3J0aW5nRG9jdW1lbnRQcmludFJlcXVlc3RDaGFuZ2UubmV4dCh2YWx1ZSkpLFxyXG4gICAgICB0aGlzLl9zZW5kTWV0aG9kU2VydmljZS5yZXBvcnRpbmdEb2N1bWVudEVtYWlsU2lnbkRvY0Jhc2VSZXF1ZXN0Q2hhbmdlZC5zdWJzY3JpYmUoKHZhbHVlOiBSZXBvcnRpbmdEb2N1bWVudEVtYWlsU2lnbkRvY0Jhc2VSZXF1ZXN0KSA9PiB0aGlzLnJlcG9ydGluZ0RvY3VtZW50RW1haWxSZXF1ZXN0Q2hhbmdlLm5leHQodmFsdWUpKSxcclxuICAgICAgdGhpcy5fc2VuZE1ldGhvZFNlcnZpY2UucmVwb3J0aW5nRG9jdW1lbnRQZGZCYXNlUmVxdWVzdENoYW5nZWQuc3Vic2NyaWJlKCh2YWx1ZTogUmVwb3J0aW5nRG9jdW1lbnRQZGZCYXNlUmVxdWVzdCkgPT4gdGhpcy5yZXBvcnRpbmdEb2N1bWVudFBkZlJlcXVlc3RDaGFuZ2UubmV4dCh2YWx1ZSkpLFxyXG4gICAgICB0aGlzLl9zZW5kTWV0aG9kU2VydmljZS5yZXBvcnRpbmdEb2N1bWVudENvbWJpbmVkQmFzZVJlcXVlc3RDaGFuZ2VkLnN1YnNjcmliZSgodmFsdWU6IFByaW50UHVyY2hhc2VPcmRlckZvclRyYW5zYWN0aW9uT3JkZXJXaXRob3V0TGluZXNSZXF1ZXN0KSA9PiB0aGlzLnJlcG9ydGluZ0RvY3VtZW50Q29tYmluZWRSZXF1ZXN0Q2hhbmdlLm5leHQodmFsdWUpKSxcclxuICAgICAgdGhpcy5fc2VuZE1ldGhvZFNlcnZpY2UucHJpbnRlck5vdFNldC5zdWJzY3JpYmUoKHZhbHVlOiBib29sZWFuKSA9PiB0aGlzLmRpc2FibGVPa0J1dHRvbiA9IHZhbHVlKVxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIG5nT25Jbml0KCkge1xyXG4gICAgaWYgKHRoaXMucmVwb3J0aW5nRG9jdW1lbnRFbWFpbFJlcXVlc3QpIHtcclxuICAgICAgdGhpcy5fc2VuZE1ldGhvZFNlcnZpY2UucmVwb3J0aW5nRG9jdW1lbnRFbWFpbFNpZ25Eb2NCYXNlUmVxdWVzdCA9IHRoaXMucmVwb3J0aW5nRG9jdW1lbnRFbWFpbFJlcXVlc3Q7XHJcbiAgICB9XHJcbiAgICBpZiAodGhpcy5yZXBvcnRpbmdEb2N1bWVudFByaW50UmVxdWVzdCkge1xyXG4gICAgICB0aGlzLl9zZW5kTWV0aG9kU2VydmljZS5yZXBvcnRpbmdEb2N1bWVudFByaW50U2lnbkRvY0Jhc2VSZXF1ZXN0ID0gdGhpcy5yZXBvcnRpbmdEb2N1bWVudFByaW50UmVxdWVzdDtcclxuICAgIH1cclxuICAgIGlmICh0aGlzLnJlcG9ydGluZ0RvY3VtZW50UGRmUmVxdWVzdCkge1xyXG4gICAgICB0aGlzLl9zZW5kTWV0aG9kU2VydmljZS5yZXBvcnRpbmdEb2N1bWVudFBkZkJhc2VSZXF1ZXN0ID0gdGhpcy5yZXBvcnRpbmdEb2N1bWVudFBkZlJlcXVlc3Q7XHJcbiAgICB9XHJcbiAgICBpZiAodGhpcy5yZXBvcnRpbmdEb2N1bWVudENvbWJpbmVkUmVxdWVzdCkge1xyXG4gICAgICB0aGlzLl9zZW5kTWV0aG9kU2VydmljZS5yZXBvcnRpbmdEb2N1bWVudENvbWJpbmVkQmFzZVJlcXVlc3QgPSB0aGlzLnJlcG9ydGluZ0RvY3VtZW50Q29tYmluZWRSZXF1ZXN0O1xyXG4gICAgfVxyXG4gICAgdGhpcy5faW5pdERlZmF1bHRTZW5kTWV0aG9kKCk7XHJcbiAgICB0aGlzLl9wcmVwYXJlVmlzaWJsZU1ldGhvZHMoKTtcclxuICB9XHJcblxyXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xyXG4gICAgdGhpcy5fc3Vic2NyaXB0aW9ucy5mb3JFYWNoKHN1YnNjcmlwdGlvbiA9PiBzdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKSk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgaGFuZGxlU2lnbmF0dXJlU3RhcnQoKTogdm9pZCB7XHJcbiAgICB0aGlzLmRvY1NpZ24gPSAhdGhpcy5kb2NTaWduO1xyXG4gICAgdGhpcy5zdGFydFNpZ25hdHVyZUNsaWNrZWQuZW1pdCgpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGhhbmRsZUFkZGl0aW9uYWxGaWxlU2F2ZWQoZmlsZTogQ29Eb2N1bWVudCk6IHZvaWQge1xyXG4gICAgdGhpcy5hZGRpdGlvbmFsRmlsZUhhc0JlZW5TYXZlZCA9IHRydWU7XHJcbiAgICB0aGlzLmFkZGl0aW9uYWxGaWxlQ2hhbmdlRXZlbnQuZW1pdChmaWxlKTtcclxuICAgIHRoaXMuX2NvbnRpbnVlSGFuZGxlT2tDbGljaygpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGhhbmRsZVVzZUxvY2FsUHJpbnQobG9jYWxQcmludDogYm9vbGVhbik6IHZvaWQge1xyXG4gICAgdGhpcy5fbG9jYWxQcmludCA9IGxvY2FsUHJpbnQ7XHJcbiAgICBpZiAobG9jYWxQcmludCkge1xyXG4gICAgICB0aGlzLmRpc2FibGVPa0J1dHRvbiA9IGZhbHNlO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHVibGljIGhhbmRsZU9rQ2xpY2soKTogdm9pZCB7XHJcbiAgICBpZiAodGhpcy5pc0FkZGl0aW9uYWxEb2NFbmFibGVkICYmICF0aGlzLmFkZGl0aW9uYWxGaWxlSGFzQmVlblNhdmVkKSB7XHJcbiAgICAgIGlmIChcclxuICAgICAgICB0aGlzLmFjdGl2ZVNlbmRNZXRob2Q/LmNvZGUgPT09IFNlbmRNZXRob2RUeXBlLlByaW50ICYmXHJcbiAgICAgICAgdGhpcy5wcmludGVyQ29tcG9uZW50UmVmPy5pc0FkZGl0aW9uYWxGaWxlQWN0aXZlKClcclxuICAgICAgKSB7XHJcbiAgICAgICAgdGhpcy5wcmludGVyQ29tcG9uZW50UmVmLm9wZW5BZGRpdGlvbmFsRmlsZURpYWxvZygpO1xyXG4gICAgICAgIHJldHVybjtcclxuICAgICAgfVxyXG5cclxuICAgICAgaWYgKFxyXG4gICAgICAgIHRoaXMuYWN0aXZlU2VuZE1ldGhvZD8uY29kZSA9PT0gU2VuZE1ldGhvZFR5cGUuRW1haWwgJiZcclxuICAgICAgICB0aGlzLmVtYWlsQ29tcG9uZW50UmVmPy5pc0FkZGl0aW9uYWxGaWxlQWN0aXZlKClcclxuICAgICAgKSB7XHJcbiAgICAgICAgdGhpcy5lbWFpbENvbXBvbmVudFJlZi5vcGVuQWRkaXRpb25hbEZpbGVEaWFsb2coKTtcclxuICAgICAgICByZXR1cm47XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIHRoaXMuX2NvbnRpbnVlSGFuZGxlT2tDbGljaygpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGhhbmRsZUNhbmNlbENsaWNrKCk6IHZvaWQge1xyXG4gICAgaWYgKHRoaXMucmVwb3J0aW5nRG9jdW1lbnRFbWFpbFJlcXVlc3QpIHtcclxuICAgICAgdGhpcy5yZXBvcnRpbmdEb2N1bWVudEVtYWlsUmVxdWVzdC50b0FkZHJlc3NlcyA9IG51bGw7XHJcbiAgICB9XHJcbiAgICB0aGlzLmNsb3NlQ2xpY2suZW1pdCgpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBfY29udGludWVIYW5kbGVPa0NsaWNrKCk6IHZvaWQge1xyXG4gICAgaWYgKHRoaXMuYWN0aXZlU2VuZE1ldGhvZC5jb2RlID09PSBTZW5kTWV0aG9kVHlwZS5QcmludCB8fCB0aGlzLmFjdGl2ZVNlbmRNZXRob2QuY29kZSA9PT0gU2VuZE1ldGhvZFR5cGUuQ29tYmluZVByaW50QW5kRW1haWwpIHtcclxuICAgICAgY29uc3Qgc2VuZE1ldGhvZDogU2VuZE1ldGhvZFR5cGUgPSB0aGlzLmFjdGl2ZVNlbmRNZXRob2QgPyB0aGlzLmFjdGl2ZVNlbmRNZXRob2QuY29kZSA6IFNlbmRNZXRob2RUeXBlLkZheDtcclxuICAgICAgY29uc3QgZGF0YTogUHJvY2Vzc1ByaW50UmVxdWVzdCA9IHtcclxuICAgICAgICBzZW5kTWV0aG9kZTogc2VuZE1ldGhvZCxcclxuICAgICAgICBsb2NhbFByaW50OiB0aGlzLl9sb2NhbFByaW50XHJcbiAgICAgIH07XHJcbiAgICAgIHRoaXMub2tDbGljay5lbWl0KGRhdGEpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5va0NsaWNrLmVtaXQodGhpcy5hY3RpdmVTZW5kTWV0aG9kID8gdGhpcy5hY3RpdmVTZW5kTWV0aG9kLmNvZGUgOiAnMCcpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHVibGljIGhhbmRsZVNlbmRNZXRob2RDbGljayhzZW5kTWV0aG9kOiBTZW5kTWV0aG9kKTogdm9pZCB7XHJcbiAgICB0aGlzLmFjdGl2ZVNlbmRNZXRob2QgPSBzZW5kTWV0aG9kO1xyXG4gICAgaWYgKHNlbmRNZXRob2QuY29kZSA9PT0gU2VuZE1ldGhvZFR5cGUuRmF4ICYmIHRoaXMuc2hvd0ZheCkge1xyXG4gICAgICB0aGlzLm5hdmlnYXRpb25JdGVtcy5uYXRpdmVFbGVtZW50LnNjcm9sbExlZnQgPSB0aGlzLmZheEl0ZW1zLm5hdGl2ZUVsZW1lbnQub2Zmc2V0TGVmdCAtIHRoaXMubmF2aWdhdGlvbkl0ZW1zLm5hdGl2ZUVsZW1lbnQub2Zmc2V0TGVmdDtcclxuICAgIH0gZWxzZSBpZiAoc2VuZE1ldGhvZC5jb2RlID09PSBTZW5kTWV0aG9kVHlwZS5QcmludCAmJiB0aGlzLnNob3dQcmludCkge1xyXG4gICAgICB0aGlzLm5hdmlnYXRpb25JdGVtcy5uYXRpdmVFbGVtZW50LnNjcm9sbExlZnQgPSB0aGlzLnByaW50SXRlbXMubmF0aXZlRWxlbWVudC5vZmZzZXRMZWZ0IC0gdGhpcy5uYXZpZ2F0aW9uSXRlbXMubmF0aXZlRWxlbWVudC5vZmZzZXRMZWZ0O1xyXG4gICAgfSBlbHNlIGlmIChzZW5kTWV0aG9kLmNvZGUgPT09IFNlbmRNZXRob2RUeXBlLkVtYWlsICYmIHRoaXMuc2hvd0VtYWlsKSB7XHJcbiAgICAgIHRoaXMubmF2aWdhdGlvbkl0ZW1zLm5hdGl2ZUVsZW1lbnQuc2Nyb2xsTGVmdCA9IHRoaXMuZW1haWxJdGVtcy5uYXRpdmVFbGVtZW50Lm9mZnNldExlZnQgLSB0aGlzLm5hdmlnYXRpb25JdGVtcy5uYXRpdmVFbGVtZW50Lm9mZnNldExlZnQ7XHJcbiAgICB9IGVsc2UgaWYgKHNlbmRNZXRob2QuY29kZSA9PT0gU2VuZE1ldGhvZFR5cGUuRWRpICYmIHRoaXMuc2hvd0VkaSkge1xyXG4gICAgICB0aGlzLm5hdmlnYXRpb25JdGVtcy5uYXRpdmVFbGVtZW50LnNjcm9sbExlZnQgPSB0aGlzLmVkaUl0ZW1zLm5hdGl2ZUVsZW1lbnQub2Zmc2V0TGVmdCAtIHRoaXMubmF2aWdhdGlvbkl0ZW1zLm5hdGl2ZUVsZW1lbnQub2Zmc2V0TGVmdDtcclxuICAgIH0gZWxzZSBpZiAoc2VuZE1ldGhvZC5jb2RlID09PSBTZW5kTWV0aG9kVHlwZS5FbWFpbFRlbXBsYXRlICYmIHRoaXMuc2hvd0VtYWlsVGVtcGxhdGUpIHtcclxuICAgICAgdGhpcy5uYXZpZ2F0aW9uSXRlbXMubmF0aXZlRWxlbWVudC5zY3JvbGxMZWZ0ID0gdGhpcy5lbWFpbFRlbXBsYXRlSXRlbXMubmF0aXZlRWxlbWVudC5vZmZzZXRMZWZ0IC0gdGhpcy5uYXZpZ2F0aW9uSXRlbXMubmF0aXZlRWxlbWVudC5vZmZzZXRMZWZ0O1xyXG4gICAgfSBlbHNlIGlmIChzZW5kTWV0aG9kLmNvZGUgPT09IFNlbmRNZXRob2RUeXBlLlNtcyAmJiB0aGlzLnNob3dTbXMpIHtcclxuICAgICAgdGhpcy5uYXZpZ2F0aW9uSXRlbXMubmF0aXZlRWxlbWVudC5zY3JvbGxMZWZ0ID0gdGhpcy5zbXNJdGVtcy5uYXRpdmVFbGVtZW50Lm9mZnNldExlZnQgLSB0aGlzLm5hdmlnYXRpb25JdGVtcy5uYXRpdmVFbGVtZW50Lm9mZnNldExlZnQ7XHJcbiAgICB9IGVsc2UgaWYgKHNlbmRNZXRob2QuY29kZSA9PT0gU2VuZE1ldGhvZFR5cGUuV2ViU2VydmljZSAmJiB0aGlzLnNob3dXZWJzZXJ2aWNlKSB7XHJcbiAgICAgIHRoaXMubmF2aWdhdGlvbkl0ZW1zLm5hdGl2ZUVsZW1lbnQuc2Nyb2xsTGVmdCA9IHRoaXMud2ViU2VydmljZUl0ZW1zLm5hdGl2ZUVsZW1lbnQub2Zmc2V0TGVmdCAtIHRoaXMubmF2aWdhdGlvbkl0ZW1zLm5hdGl2ZUVsZW1lbnQub2Zmc2V0TGVmdDtcclxuICAgIH0gZWxzZSBpZiAoc2VuZE1ldGhvZC5jb2RlID09PSBTZW5kTWV0aG9kVHlwZS5QZGYgJiYgdGhpcy5zaG93UGRmKSB7XHJcbiAgICAgIHRoaXMubmF2aWdhdGlvbkl0ZW1zLm5hdGl2ZUVsZW1lbnQuc2Nyb2xsTGVmdCA9IHRoaXMucGRmSXRlbXMubmF0aXZlRWxlbWVudC5vZmZzZXRMZWZ0IC0gdGhpcy5uYXZpZ2F0aW9uSXRlbXMubmF0aXZlRWxlbWVudC5vZmZzZXRMZWZ0O1xyXG4gICAgfSBlbHNlIGlmIChzZW5kTWV0aG9kLmNvZGUgPT09IFNlbmRNZXRob2RUeXBlLkNvbWJpbmVQcmludEFuZEVtYWlsICYmIHRoaXMuc2hvd0NvbWJpbmVQcmludEFuZEVtYWlsKSB7XHJcbiAgICAgIHRoaXMubmF2aWdhdGlvbkl0ZW1zLm5hdGl2ZUVsZW1lbnQuc2Nyb2xsTGVmdCA9IHRoaXMuY29tYmluZVByaW50QW5kRW1haWwubmF0aXZlRWxlbWVudC5vZmZzZXRMZWZ0IC0gdGhpcy5uYXZpZ2F0aW9uSXRlbXMubmF0aXZlRWxlbWVudC5vZmZzZXRMZWZ0O1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHVibGljIGNyZWF0ZVBkZlByZXZpZXcoKSB7XHJcbiAgICBpZiAodGhpcy5hY3RpdmVTZW5kTWV0aG9kLmNvZGUgPT09IFNlbmRNZXRob2RUeXBlLlByaW50IHx8IHRoaXMuYWN0aXZlU2VuZE1ldGhvZC5jb2RlID09PSBTZW5kTWV0aG9kVHlwZS5QZGYpIHtcclxuICAgICAgdGhpcy5zaG93RmlsZVByZXZpZXcuZW1pdCh0aGlzLl9zZW5kTWV0aG9kU2VydmljZS5yZXBvcnRpbmdEb2N1bWVudFByaW50U2lnbkRvY0Jhc2VSZXF1ZXN0LnJlcG9ydElkKTtcclxuICAgIH0gZWxzZSBpZiAodGhpcy5hY3RpdmVTZW5kTWV0aG9kLmNvZGUgPT09IFNlbmRNZXRob2RUeXBlLkVtYWlsIHx8IHRoaXMuYWN0aXZlU2VuZE1ldGhvZC5jb2RlID09PSBTZW5kTWV0aG9kVHlwZS5FbWFpbFRlbXBsYXRlKSB7XHJcbiAgICAgIHRoaXMuc2hvd0ZpbGVQcmV2aWV3LmVtaXQodGhpcy5fc2VuZE1ldGhvZFNlcnZpY2UucmVwb3J0aW5nRG9jdW1lbnRFbWFpbFNpZ25Eb2NCYXNlUmVxdWVzdC5yZXBvcnRJZCk7XHJcbiAgICB9IGVsc2UgaWYgKHRoaXMuYWN0aXZlU2VuZE1ldGhvZC5jb2RlID09PSBTZW5kTWV0aG9kVHlwZS5Db21iaW5lUHJpbnRBbmRFbWFpbCkge1xyXG4gICAgICB0aGlzLnNob3dGaWxlUHJldmlldy5lbWl0KHRoaXMuX3NlbmRNZXRob2RTZXJ2aWNlLnJlcG9ydGluZ0RvY3VtZW50Q29tYmluZWRCYXNlUmVxdWVzdC5yZXBvcnRJZCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgY2xvc2VQZGZQcmV2aWV3KCkge1xyXG4gICAgdGhpcy5wZGZEb2MgPSAnJztcclxuICB9XHJcblxyXG4gIHByaXZhdGUgX2luaXREZWZhdWx0U2VuZE1ldGhvZCgpOiB2b2lkIHtcclxuICAgIGlmICh0aGlzLmRlZmF1bHRTZW5kTWV0aG9kKSB7XHJcbiAgICAgIHRoaXMuX3NlbGVjdERlZmF1bHRTZW5kTWV0aG9kKCk7XHJcbiAgICB9IGVsc2UgaWYgKHRoaXMudmlzaWJsZU1ldGhvZHMgJiYgdGhpcy52aXNpYmxlTWV0aG9kcy5sZW5ndGggPj0gMSkge1xyXG4gICAgICB0aGlzLmRlZmF1bHRTZW5kTWV0aG9kID0gdGhpcy52aXNpYmxlTWV0aG9kc1swXTtcclxuICAgICAgdGhpcy5fc2VsZWN0RGVmYXVsdFNlbmRNZXRob2QoKTtcclxuICAgIH1cclxuXHJcbiAgICB0aGlzLnN0YXJ0VXAgPSBmYWxzZTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgX3NlbGVjdERlZmF1bHRTZW5kTWV0aG9kKCk6IHZvaWQge1xyXG4gICAgY29uc3Qgc2VuZE1ldGhvZDogU2VuZE1ldGhvZCA9IHRoaXMuc2VuZE1ldGhvZHMuZmluZChzbSA9PiBzbS5jb2RlID09PSB0aGlzLmRlZmF1bHRTZW5kTWV0aG9kKTtcclxuICAgIGlmIChzZW5kTWV0aG9kKSB7XHJcbiAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICAgIHRoaXMuaGFuZGxlU2VuZE1ldGhvZENsaWNrKHNlbmRNZXRob2QpO1xyXG4gICAgICAgIHRoaXMuc3RhcnRVcCA9IGZhbHNlO1xyXG4gICAgICB9KTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByaXZhdGUgX3ByZXBhcmVWaXNpYmxlTWV0aG9kcygpOiB2b2lkIHtcclxuICAgIGlmICh0aGlzLnZpc2libGVNZXRob2RzICYmIHRoaXMudmlzaWJsZU1ldGhvZHMubGVuZ3RoID4gMCkge1xyXG4gICAgICB0aGlzLnNlbmRNZXRob2RzID0gdGhpcy5zZW5kTWV0aG9kcy5maWx0ZXIoc20gPT4gdGhpcy52aXNpYmxlTWV0aG9kcy5maW5kKHZtID0+IHZtID09PSBzbS5jb2RlKSk7XHJcbiAgICB9XHJcbiAgICB0aGlzLnNob3dGYXggPSB0aGlzLnNlbmRNZXRob2RzLmZpbmQoc20gPT4gc20uY29kZSA9PT0gU2VuZE1ldGhvZFR5cGUuRmF4KSAhPT0gdW5kZWZpbmVkO1xyXG4gICAgdGhpcy5zaG93UHJpbnQgPSB0aGlzLnNlbmRNZXRob2RzLmZpbmQoc20gPT4gc20uY29kZSA9PT0gU2VuZE1ldGhvZFR5cGUuUHJpbnQpICE9PSB1bmRlZmluZWQ7XHJcbiAgICB0aGlzLnNob3dFbWFpbCA9IHRoaXMuc2VuZE1ldGhvZHMuZmluZChzbSA9PiBzbS5jb2RlID09PSBTZW5kTWV0aG9kVHlwZS5FbWFpbCkgIT09IHVuZGVmaW5lZDtcclxuICAgIHRoaXMuc2hvd0VkaSA9IHRoaXMuc2VuZE1ldGhvZHMuZmluZChzbSA9PiBzbS5jb2RlID09PSBTZW5kTWV0aG9kVHlwZS5FZGkpICE9PSB1bmRlZmluZWQ7XHJcbiAgICB0aGlzLnNob3dFbWFpbFRlbXBsYXRlID0gdGhpcy5zZW5kTWV0aG9kcy5maW5kKHNtID0+IHNtLmNvZGUgPT09IFNlbmRNZXRob2RUeXBlLkVtYWlsVGVtcGxhdGUpICE9PSB1bmRlZmluZWQ7XHJcbiAgICB0aGlzLnNob3dTbXMgPSB0aGlzLnNlbmRNZXRob2RzLmZpbmQoc20gPT4gc20uY29kZSA9PT0gU2VuZE1ldGhvZFR5cGUuU21zKSAhPT0gdW5kZWZpbmVkO1xyXG4gICAgdGhpcy5zaG93V2Vic2VydmljZSA9IHRoaXMuc2VuZE1ldGhvZHMuZmluZChzbSA9PiBzbS5jb2RlID09PSBTZW5kTWV0aG9kVHlwZS5XZWJTZXJ2aWNlKSAhPT0gdW5kZWZpbmVkO1xyXG4gICAgdGhpcy5zaG93UGRmID0gdGhpcy5zZW5kTWV0aG9kcy5maW5kKHNtID0+IHNtLmNvZGUgPT09IFNlbmRNZXRob2RUeXBlLlBkZikgIT09IHVuZGVmaW5lZDtcclxuICAgIHRoaXMuc2hvd0NvbWJpbmVQcmludEFuZEVtYWlsID0gdGhpcy5zZW5kTWV0aG9kcy5maW5kKHNtID0+IHNtLmNvZGUgPT09IFNlbmRNZXRob2RUeXBlLkNvbWJpbmVQcmludEFuZEVtYWlsKSAhPT0gdW5kZWZpbmVkO1xyXG4gIH1cclxufVxyXG4iXX0=
404
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VuZC1tZXRob2QtZGlhbG9nLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NoYXJlZGNvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL3NlbmQtbWV0aG9kLWRpYWxvZy9zZW5kLW1ldGhvZC1kaWFsb2cuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQUUsVUFBVSxFQUFFLFlBQVksRUFBRSxXQUFXLEVBQUUsS0FBSyxFQUFxQixNQUFNLEVBQUUsU0FBUyxFQUFFLGlCQUFpQixFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQy9JLE9BQU8sRUFBQyxJQUFJLEVBQUMsTUFBTSxzQkFBc0IsQ0FBQztBQUMxQyxPQUFPLEVBQUMsZ0JBQWdCLEVBQUMsTUFBTSxrQ0FBa0MsQ0FBQztBQUNsRSxPQUFPLEVBQUMsT0FBTyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsVUFBVSxFQUFFLE9BQU8sRUFBQyxNQUFNLHFCQUFxQixDQUFDO0FBSy9FLE9BQU8sRUFBQyxpQkFBaUIsRUFBQyxNQUFNLCtCQUErQixDQUFDO0FBQ2hFLE9BQU8sRUFBQyxVQUFVLEVBQUMsTUFBTSx5QkFBeUIsQ0FBQztBQUNuRCxPQUFPLEVBQUMsY0FBYyxFQUFDLE1BQU0sb0RBQW9ELENBQUM7QUFTbEYsT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLCtDQUErQyxDQUFDO0FBRXpFLE1BQU0sQ0FBQyxNQUFNLG1CQUFtQixHQUFpQjtJQUMvQyxJQUFJLFVBQVUsQ0FBQyxjQUFjLENBQUMsR0FBRyxFQUFFLEtBQUssRUFBRSxJQUFJLENBQUMsWUFBWSxDQUFDO0lBQzVELElBQUksVUFBVSxDQUFDLGNBQWMsQ0FBQyxLQUFLLEVBQUUsT0FBTyxFQUFFLElBQUksQ0FBQyxVQUFVLENBQUM7SUFDOUQsSUFBSSxVQUFVLENBQUMsY0FBYyxDQUFDLEtBQUssRUFBRSxPQUFPLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQztJQUMzRCxJQUFJLFVBQVUsQ0FBQyxjQUFjLENBQUMsR0FBRyxFQUFFLEtBQUssRUFBRSxJQUFJLENBQUMsZUFBZSxDQUFDO0lBQy9ELElBQUksVUFBVSxDQUFDLGNBQWMsQ0FBQyxhQUFhLEVBQUUsZ0JBQWdCLEVBQUUsSUFBSSxDQUFDLGVBQWUsQ0FBQztJQUNwRixJQUFJLFVBQVUsQ0FBQyxjQUFjLENBQUMsR0FBRyxFQUFFLEtBQUssRUFBRSxJQUFJLENBQUMsZUFBZSxDQUFDO0lBQy9ELElBQUksVUFBVSxDQUFDLGNBQWMsQ0FBQyxVQUFVLEVBQUUsWUFBWSxFQUFFLElBQUksQ0FBQyxZQUFZLENBQUM7SUFDMUUsSUFBSSxVQUFVLENBQUMsY0FBYyxDQUFDLEdBQUcsRUFBRSxLQUFLLEVBQUUsSUFBSSxDQUFDLEdBQUcsQ0FBQztJQUNuRCxJQUFJLFVBQVUsQ0FBQyxjQUFjLENBQUMsb0JBQW9CLEVBQUUsU0FBUyxFQUFFLElBQUksQ0FBQyxPQUFPLENBQUM7Q0FDN0UsQ0FBQztBQWdJRixNQUFNLE9BQU8seUJBQXlCO0lBcUtwQyxZQUNTLGdCQUFrQyxFQUNqQyxrQkFBcUM7UUFEdEMscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFrQjtRQUNqQyx1QkFBa0IsR0FBbEIsa0JBQWtCLENBQW1CO1FBdEsvQixVQUFLLEdBQWdCLElBQUksQ0FBQztRQXVDbkMsZ0JBQVcsR0FBYyxFQUFFLENBQUM7UUFlNUIsaUJBQVksR0FBaUMsRUFBRSxDQUFDO1FBR2hELGlCQUFZLEdBQWlDLEVBQUUsQ0FBQztRQU1oRCxtQkFBYyxHQUFhLEVBQUUsQ0FBQztRQU05QixtQkFBYyxHQUFnQyxFQUFFLENBQUM7UUFHakQscUJBQWdCLEdBQVksS0FBSyxDQUFDO1FBR2xDLFlBQU8sR0FBWSxLQUFLLENBQUM7UUFHekIsNEJBQXVCLEdBQVksSUFBSSxDQUFDO1FBR3hDLDJCQUFzQixHQUFZLEtBQUssQ0FBQztRQUd4Qyx1QkFBa0IsR0FBVyxFQUFFLENBQUM7UUFHaEMsMkJBQXNCLEdBQVEsRUFBRSxDQUFDO1FBR2pDLFdBQU0sR0FBUSxFQUFFLENBQUM7UUFHakIsc0JBQWlCLEdBQVksS0FBSyxDQUFDO1FBR25DLDBCQUFxQixHQUFZLEtBQUssQ0FBQztRQUd2QyxtQkFBYyxHQUFZLEtBQUssQ0FBQztRQUdoQyx5QkFBb0IsR0FBWSxJQUFJLENBQUM7UUFHckMsbUJBQWMsR0FBWSxJQUFJLENBQUM7UUFHL0IsZUFBVSxHQUFlLFVBQVUsQ0FBQyxpQkFBaUIsQ0FBQztRQUd0RCx3Q0FBbUMsR0FBMkQsSUFBSSxZQUFZLEVBQTRDLENBQUM7UUFHM0osd0NBQW1DLEdBQTJELElBQUksWUFBWSxFQUE0QyxDQUFDO1FBRzNKLHNDQUFpQyxHQUFrRCxJQUFJLFlBQVksRUFBbUMsQ0FBQztRQUd2SSwyQ0FBc0MsR0FBMkUsSUFBSSxZQUFZLEVBQTRELENBQUM7UUFHOUwsMEJBQXFCLEdBQXNCLElBQUksWUFBWSxFQUFPLENBQUM7UUFHbkUsZUFBVSxHQUE2QixJQUFJLFlBQVksRUFBYyxDQUFDO1FBR3RFLFlBQU8sR0FBK0MsSUFBSSxZQUFZLEVBQWdDLENBQUM7UUFHdkcsOEJBQXlCLEdBQTZCLElBQUksWUFBWSxFQUFjLENBQUM7UUFHckYsb0JBQWUsR0FBeUIsSUFBSSxZQUFZLEVBQVUsQ0FBQztRQUduRSwyQkFBc0IsR0FBeUIsSUFBSSxZQUFZLEVBQVUsQ0FBQztRQU8xRSxnQkFBVyxHQUFpQixtQkFBbUIsQ0FBQztRQUVoRCxZQUFPLEdBQVksSUFBSSxDQUFDO1FBRXhCLFlBQU8sR0FBWSxJQUFJLENBQUM7UUFDeEIsY0FBUyxHQUFZLElBQUksQ0FBQztRQUMxQixjQUFTLEdBQVksSUFBSSxDQUFDO1FBQzFCLFlBQU8sR0FBWSxJQUFJLENBQUM7UUFDeEIsWUFBTyxHQUFZLElBQUksQ0FBQztRQUN4QixzQkFBaUIsR0FBWSxJQUFJLENBQUM7UUFDbEMsbUJBQWMsR0FBWSxJQUFJLENBQUM7UUFDL0IsWUFBTyxHQUFZLElBQUksQ0FBQztRQUN4Qiw2QkFBd0IsR0FBWSxJQUFJLENBQUM7UUFDekMsK0JBQTBCLEdBQVksS0FBSyxDQUFDO1FBQzVDLG9CQUFlLEdBQVksS0FBSyxDQUFDO1FBRWhDLG1CQUFjLEdBQW1CLEVBQUUsQ0FBQztRQUNwQyxnQkFBVyxHQUFZLEtBQUssQ0FBQztRQU1uQyxJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FDdEIsSUFBSSxDQUFDLGtCQUFrQixDQUFDLCtDQUErQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLEtBQStDLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxtQ0FBbUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsRUFDNUwsSUFBSSxDQUFDLGtCQUFrQixDQUFDLCtDQUErQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLEtBQStDLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxtQ0FBbUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsRUFDNUwsSUFBSSxDQUFDLGtCQUFrQixDQUFDLHNDQUFzQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLEtBQXNDLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxpQ0FBaUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsRUFDeEssSUFBSSxDQUFDLGtCQUFrQixDQUFDLDJDQUEyQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLEtBQStELEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxzQ0FBc0MsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsRUFDM00sSUFBSSxDQUFDLGtCQUFrQixDQUFDLGFBQWEsQ0FBQyxTQUFTLENBQUMsQ0FBQyxLQUFjLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxlQUFlLEdBQUcsS0FBSyxDQUFDLENBQ2xHLENBQUM7SUFDSixDQUFDO0lBbENNLFNBQVM7UUFDZCxPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFrQ0QsUUFBUTtRQUNOLElBQUksSUFBSSxDQUFDLDZCQUE2QixFQUFFO1lBQ3RDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyx3Q0FBd0MsR0FBRyxJQUFJLENBQUMsNkJBQTZCLENBQUM7U0FDdkc7UUFDRCxJQUFJLElBQUksQ0FBQyw2QkFBNkIsRUFBRTtZQUN0QyxJQUFJLENBQUMsa0JBQWtCLENBQUMsd0NBQXdDLEdBQUcsSUFBSSxDQUFDLDZCQUE2QixDQUFDO1NBQ3ZHO1FBQ0QsSUFBSSxJQUFJLENBQUMsMkJBQTJCLEVBQUU7WUFDcEMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLCtCQUErQixHQUFHLElBQUksQ0FBQywyQkFBMkIsQ0FBQztTQUM1RjtRQUNELElBQUksSUFBSSxDQUFDLGdDQUFnQyxFQUFFO1lBQ3pDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxvQ0FBb0MsR0FBRyxJQUFJLENBQUMsZ0NBQWdDLENBQUM7U0FDdEc7UUFDRCxJQUFJLENBQUMsc0JBQXNCLEVBQUUsQ0FBQztRQUM5QixJQUFJLENBQUMsc0JBQXNCLEVBQUUsQ0FBQztJQUNoQyxDQUFDO0lBRUQsV0FBVztRQUNULElBQUksQ0FBQyxjQUFjLENBQUMsT0FBTyxDQUFDLFlBQVksQ0FBQyxFQUFFLENBQUMsWUFBWSxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUM7SUFDMUUsQ0FBQztJQUVNLG9CQUFvQjtRQUN6QixJQUFJLENBQUMsT0FBTyxHQUFHLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQztRQUM3QixJQUFJLENBQUMscUJBQXFCLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDcEMsQ0FBQztJQUVNLHlCQUF5QixDQUFDLElBQWdCO1FBQy9DLElBQUksQ0FBQywwQkFBMEIsR0FBRyxJQUFJLENBQUM7UUFDdkMsSUFBSSxDQUFDLHlCQUF5QixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUMxQyxJQUFJLENBQUMsc0JBQXNCLEVBQUUsQ0FBQztJQUNoQyxDQUFDO0lBRU0sbUJBQW1CLENBQUMsVUFBbUI7UUFDNUMsSUFBSSxDQUFDLFdBQVcsR0FBRyxVQUFVLENBQUM7UUFDOUIsSUFBSSxVQUFVLEVBQUU7WUFDZCxJQUFJLENBQUMsZUFBZSxHQUFHLEtBQUssQ0FBQztTQUM5QjtJQUNILENBQUM7SUFFTSxhQUFhOztRQUNsQixJQUFJLElBQUksQ0FBQyxzQkFBc0IsSUFBSSxDQUFDLElBQUksQ0FBQywwQkFBMEIsRUFBRTtZQUNuRSxJQUNFLENBQUEsTUFBQSxJQUFJLENBQUMsZ0JBQWdCLDBDQUFFLElBQUksTUFBSyxjQUFjLENBQUMsS0FBSztpQkFDcEQsTUFBQSxJQUFJLENBQUMsbUJBQW1CLDBDQUFFLHNCQUFzQixFQUFFLENBQUEsRUFDbEQ7Z0JBQ0EsSUFBSSxDQUFDLG1CQUFtQixDQUFDLHdCQUF3QixFQUFFLENBQUM7Z0JBQ3BELE9BQU87YUFDUjtZQUVELElBQ0UsQ0FBQSxNQUFBLElBQUksQ0FBQyxnQkFBZ0IsMENBQUUsSUFBSSxNQUFLLGNBQWMsQ0FBQyxLQUFLO2lCQUNwRCxNQUFBLElBQUksQ0FBQyxpQkFBaUIsMENBQUUsc0JBQXNCLEVBQUUsQ0FBQSxFQUNoRDtnQkFDQSxJQUFJLENBQUMsaUJBQWlCLENBQUMsd0JBQXdCLEVBQUUsQ0FBQztnQkFDbEQsT0FBTzthQUNSO1NBQ0Y7UUFDRCxJQUFJLENBQUMsc0JBQXNCLEVBQUUsQ0FBQztJQUNoQyxDQUFDO0lBRU0saUJBQWlCO1FBQ3RCLElBQUksSUFBSSxDQUFDLDZCQUE2QixFQUFFO1lBQ3RDLElBQUksQ0FBQyw2QkFBNkIsQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDO1NBQ3ZEO1FBQ0QsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUN6QixDQUFDO0lBRU8sc0JBQXNCO1FBQzVCLElBQUksSUFBSSxDQUFDLGdCQUFnQixDQUFDLElBQUksS0FBSyxjQUFjLENBQUMsS0FBSyxJQUFJLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLEtBQUssY0FBYyxDQUFDLG9CQUFvQixFQUFFO1lBQzdILE1BQU0sVUFBVSxHQUFtQixJQUFJLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLGNBQWMsQ0FBQyxHQUFHLENBQUM7WUFDM0csTUFBTSxJQUFJLEdBQXdCO2dCQUNoQyxXQUFXLEVBQUUsVUFBVTtnQkFDdkIsVUFBVSxFQUFFLElBQUksQ0FBQyxXQUFXO2FBQzdCLENBQUM7WUFDRixJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztTQUN6QjthQUFNO1lBQ0wsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQztTQUM3RTtJQUNILENBQUM7SUFFTSxxQkFBcUIsQ0FBQyxVQUFzQjtRQUNqRCxJQUFJLENBQUMsZ0JBQWdCLEdBQUcsVUFBVSxDQUFDO1FBQ25DLElBQUksVUFBVSxDQUFDLElBQUksS0FBSyxjQUFjLENBQUMsR0FBRyxJQUFJLElBQUksQ0FBQyxPQUFPLEVBQUU7WUFDMUQsSUFBSSxDQUFDLGVBQWUsQ0FBQyxhQUFhLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsYUFBYSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUMsZUFBZSxDQUFDLGFBQWEsQ0FBQyxVQUFVLENBQUM7U0FDeEk7YUFBTSxJQUFJLFVBQVUsQ0FBQyxJQUFJLEtBQUssY0FBYyxDQUFDLEtBQUssSUFBSSxJQUFJLENBQUMsU0FBUyxFQUFFO1lBQ3JFLElBQUksQ0FBQyxlQUFlLENBQUMsYUFBYSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLGFBQWEsQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDLGVBQWUsQ0FBQyxhQUFhLENBQUMsVUFBVSxDQUFDO1NBQzFJO2FBQU0sSUFBSSxVQUFVLENBQUMsSUFBSSxLQUFLLGNBQWMsQ0FBQyxLQUFLLElBQUksSUFBSSxDQUFDLFNBQVMsRUFBRTtZQUNyRSxJQUFJLENBQUMsZUFBZSxDQUFDLGFBQWEsQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQyxlQUFlLENBQUMsYUFBYSxDQUFDLFVBQVUsQ0FBQztTQUMxSTthQUFNLElBQUksVUFBVSxDQUFDLElBQUksS0FBSyxjQUFjLENBQUMsR0FBRyxJQUFJLElBQUksQ0FBQyxPQUFPLEVBQUU7WUFDakUsSUFBSSxDQUFDLGVBQWUsQ0FBQyxhQUFhLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsYUFBYSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUMsZUFBZSxDQUFDLGFBQWEsQ0FBQyxVQUFVLENBQUM7U0FDeEk7YUFBTSxJQUFJLFVBQVUsQ0FBQyxJQUFJLEtBQUssY0FBYyxDQUFDLGFBQWEsSUFBSSxJQUFJLENBQUMsaUJBQWlCLEVBQUU7WUFDckYsSUFBSSxDQUFDLGVBQWUsQ0FBQyxhQUFhLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxhQUFhLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQyxlQUFlLENBQUMsYUFBYSxDQUFDLFVBQVUsQ0FBQztTQUNsSjthQUFNLElBQUksVUFBVSxDQUFDLElBQUksS0FBSyxjQUFjLENBQUMsR0FBRyxJQUFJLElBQUksQ0FBQyxPQUFPLEVBQUU7WUFDakUsSUFBSSxDQUFDLGVBQWUsQ0FBQyxhQUFhLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsYUFBYSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUMsZUFBZSxDQUFDLGFBQWEsQ0FBQyxVQUFVLENBQUM7U0FDeEk7YUFBTSxJQUFJLFVBQVUsQ0FBQyxJQUFJLEtBQUssY0FBYyxDQUFDLFVBQVUsSUFBSSxJQUFJLENBQUMsY0FBYyxFQUFFO1lBQy9FLElBQUksQ0FBQyxlQUFlLENBQUMsYUFBYSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUMsZUFBZSxDQUFDLGFBQWEsQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDLGVBQWUsQ0FBQyxhQUFhLENBQUMsVUFBVSxDQUFDO1NBQy9JO2FBQU0sSUFBSSxVQUFVLENBQUMsSUFBSSxLQUFLLGNBQWMsQ0FBQyxHQUFHLElBQUksSUFBSSxDQUFDLE9BQU8sRUFBRTtZQUNqRSxJQUFJLENBQUMsZUFBZSxDQUFDLGFBQWEsQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxhQUFhLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQyxlQUFlLENBQUMsYUFBYSxDQUFDLFVBQVUsQ0FBQztTQUN4STthQUFNLElBQUksVUFBVSxDQUFDLElBQUksS0FBSyxjQUFjLENBQUMsb0JBQW9CLElBQUksSUFBSSxDQUFDLHdCQUF3QixFQUFFO1lBQ25HLElBQUksQ0FBQyxlQUFlLENBQUMsYUFBYSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUMsb0JBQW9CLENBQUMsYUFBYSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUMsZUFBZSxDQUFDLGFBQWEsQ0FBQyxVQUFVLENBQUM7U0FDcEo7SUFDSCxDQUFDO0lBRU0sZ0JBQWdCO1FBQ3JCLElBQUksSUFBSSxDQUFDLGdCQUFnQixDQUFDLElBQUksS0FBSyxjQUFjLENBQUMsS0FBSyxJQUFJLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLEtBQUssY0FBYyxDQUFDLEdBQUcsRUFBRTtZQUM1RyxJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsa0JBQWtCLENBQUMsd0NBQXdDLENBQUMsUUFBUSxDQUFDLENBQUM7U0FDdEc7YUFBTSxJQUFJLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLEtBQUssY0FBYyxDQUFDLEtBQUssSUFBSSxJQUFJLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxLQUFLLGNBQWMsQ0FBQyxhQUFhLEVBQUU7WUFDN0gsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLHdDQUF3QyxDQUFDLFFBQVEsQ0FBQyxDQUFDO1NBQ3RHO2FBQU0sSUFBSSxJQUFJLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxLQUFLLGNBQWMsQ0FBQyxvQkFBb0IsRUFBRTtZQUM3RSxJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsa0JBQWtCLENBQUMsb0NBQW9DLENBQUMsUUFBUSxDQUFDLENBQUM7U0FDbEc7SUFDSCxDQUFDO0lBRU0sZUFBZTtRQUNwQixJQUFJLENBQUMsTUFBTSxHQUFHLEVBQUUsQ0FBQztJQUNuQixDQUFDO0lBRU0sd0JBQXdCLENBQUMsTUFBYztRQUM1QyxJQUFJLENBQUMsNkJBQTZCLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQztRQUNuRCxJQUFJLENBQUMsbUNBQW1DLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyw2QkFBNkIsQ0FBQyxDQUFDO0lBQ3BGLENBQUM7SUFFTyxzQkFBc0I7UUFDNUIsSUFBSSxJQUFJLENBQUMsaUJBQWlCLEVBQUU7WUFDMUIsSUFBSSxDQUFDLHdCQUF3QixFQUFFLENBQUM7U0FDakM7YUFBTSxJQUFJLElBQUksQ0FBQyxjQUFjLElBQUksSUFBSSxDQUFDLGNBQWMsQ0FBQyxNQUFNLElBQUksQ0FBQyxFQUFFO1lBQ2pFLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQ2hELElBQUksQ0FBQyx3QkFBd0IsRUFBRSxDQUFDO1NBQ2pDO1FBRUQsSUFBSSxDQUFDLE9BQU8sR0FBRyxLQUFLLENBQUM7SUFDdkIsQ0FBQztJQUVPLHdCQUF3QjtRQUM5QixNQUFNLFVBQVUsR0FBZSxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxJQUFJLEtBQUssSUFBSSxDQUFDLGlCQUFpQixDQUFDLENBQUM7UUFDL0YsSUFBSSxVQUFVLEVBQUU7WUFDZCxVQUFVLENBQUMsR0FBRyxFQUFFO2dCQUNkLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxVQUFVLENBQUMsQ0FBQztnQkFDdkMsSUFBSSxDQUFDLE9BQU8sR0FBRyxLQUFLLENBQUM7WUFDdkIsQ0FBQyxDQUFDLENBQUM7U0FDSjtJQUNILENBQUM7SUFFTyxzQkFBc0I7UUFDNUIsSUFBSSxJQUFJLENBQUMsY0FBYyxJQUFJLElBQUksQ0FBQyxjQUFjLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRTtZQUN6RCxJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLEtBQUssRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7U0FDbEc7UUFDRCxJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLElBQUksS0FBSyxjQUFjLENBQUMsR0FBRyxDQUFDLEtBQUssU0FBUyxDQUFDO1FBQ3pGLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsSUFBSSxLQUFLLGNBQWMsQ0FBQyxLQUFLLENBQUMsS0FBSyxTQUFTLENBQUM7UUFDN0YsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxJQUFJLEtBQUssY0FBYyxDQUFDLEtBQUssQ0FBQyxLQUFLLFNBQVMsQ0FBQztRQUM3RixJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLElBQUksS0FBSyxjQUFjLENBQUMsR0FBRyxDQUFDLEtBQUssU0FBUyxDQUFDO1FBQ3pGLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxJQUFJLEtBQUssY0FBYyxDQUFDLGFBQWEsQ0FBQyxLQUFLLFNBQVMsQ0FBQztRQUM3RyxJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLElBQUksS0FBSyxjQUFjLENBQUMsR0FBRyxDQUFDLEtBQUssU0FBUyxDQUFDO1FBQ3pGLElBQUksQ0FBQyxjQUFjLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsSUFBSSxLQUFLLGNBQWMsQ0FBQyxVQUFVLENBQUMsS0FBSyxTQUFTLENBQUM7UUFDdkcsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxJQUFJLEtBQUssY0FBYyxDQUFDLEdBQUcsQ0FBQyxLQUFLLFNBQVMsQ0FBQztRQUN6RixJQUFJLENBQUMsd0JBQXdCLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsSUFBSSxLQUFLLGNBQWMsQ0FBQyxvQkFBb0IsQ0FBQyxLQUFLLFNBQVMsQ0FBQztJQUM3SCxDQUFDOzs7WUE1Y0YsU0FBUyxTQUFDO2dCQUNULFFBQVEsRUFBRSx1QkFBdUI7Z0JBQ2pDLFFBQVEsRUFBRTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0E4R1Q7Z0JBQ0EsU0FBUyxFQUFFO29CQUNULGlCQUFpQjtpQkFDbEI7Z0JBQ0YsYUFBYSxFQUFFLGlCQUFpQixDQUFDLElBQUk7Z0JBQ3JDLFVBQVUsRUFBRTtvQkFDVixPQUFPLENBQUMsWUFBWSxFQUFFO3dCQUNwQixLQUFLLENBQUMsR0FBRyxFQUFFLEtBQUssQ0FBQyxFQUFDLFNBQVMsRUFBRSxnQkFBZ0IsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE9BQU8sRUFBRSxHQUFHLEVBQUMsQ0FBQyxDQUFDO3dCQUM3RSxLQUFLLENBQUMsTUFBTSxFQUFFLEtBQUssQ0FBQyxFQUFDLFNBQVMsRUFBRSxrQkFBa0IsRUFBRSxPQUFPLEVBQUUsR0FBRyxFQUFDLENBQUMsQ0FBQzt3QkFDbkUsVUFBVSxDQUFDLFdBQVcsRUFBRSxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUM7cUJBQ3RDLENBQUM7aUJBQ0g7YUFDRjs7O1lBM0pPLGdCQUFnQjtZQU1oQixpQkFBaUI7Ozs4QkEwSnRCLFNBQVMsU0FBQyxpQkFBaUIsRUFBRSxFQUFDLElBQUksRUFBRSxVQUFVLEVBQUM7dUJBRy9DLFNBQVMsU0FBQyxVQUFVLEVBQUUsRUFBQyxJQUFJLEVBQUUsVUFBVSxFQUFDO3lCQUd4QyxTQUFTLFNBQUMsWUFBWSxFQUFFLEVBQUMsSUFBSSxFQUFFLFVBQVUsRUFBQzt5QkFHMUMsU0FBUyxTQUFDLFlBQVksRUFBRSxFQUFDLElBQUksRUFBRSxVQUFVLEVBQUM7dUJBRzFDLFNBQVMsU0FBQyxVQUFVLEVBQUUsRUFBQyxJQUFJLEVBQUUsVUFBVSxFQUFDO2lDQUd4QyxTQUFTLFNBQUMsb0JBQW9CLEVBQUUsRUFBQyxJQUFJLEVBQUUsVUFBVSxFQUFDO3VCQUdsRCxTQUFTLFNBQUMsVUFBVSxFQUFFLEVBQUMsSUFBSSxFQUFFLFVBQVUsRUFBQzs4QkFHeEMsU0FBUyxTQUFDLGlCQUFpQixFQUFFLEVBQUMsSUFBSSxFQUFFLFVBQVUsRUFBQzt1QkFHL0MsU0FBUyxTQUFDLFVBQVUsRUFBRSxFQUFDLElBQUksRUFBRSxVQUFVLEVBQUM7bUNBR3hDLFNBQVMsU0FBQyxzQkFBc0IsRUFBRSxFQUFDLElBQUksRUFBRSxVQUFVLEVBQUM7a0NBR3BELFNBQVMsU0FBQyxrQkFBa0I7Z0NBRzVCLFNBQVMsU0FBQyxnQkFBZ0I7MEJBRzFCLEtBQUs7NENBR0wsS0FBSzs0Q0FHTCxLQUFLOzBDQUdMLEtBQUs7K0NBR0wsS0FBSzsyQkFHTCxLQUFLOzJCQUdMLEtBQUs7MEJBR0wsS0FBSzs2QkFHTCxLQUFLO2dDQUdMLEtBQUs7NkJBR0wsS0FBSzsrQkFHTCxLQUFLO3NCQUdMLEtBQUs7c0NBR0wsS0FBSztxQ0FHTCxLQUFLO2lDQUdMLEtBQUs7cUNBR0wsS0FBSztxQkFHTCxLQUFLO2dDQUdMLEtBQUs7b0NBR0wsS0FBSzs2QkFHTCxLQUFLO21DQUdMLEtBQUs7NkJBR0wsS0FBSzt5QkFHTCxLQUFLO2tEQUdMLE1BQU07a0RBR04sTUFBTTtnREFHTixNQUFNO3FEQUdOLE1BQU07b0NBR04sTUFBTTt5QkFHTixNQUFNO3NCQUdOLE1BQU07d0NBR04sTUFBTTs4QkFHTixNQUFNO3FDQUdOLE1BQU07d0JBR04sV0FBVyxTQUFDLDZCQUE2QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q29tcG9uZW50LCBFbGVtZW50UmVmLCBFdmVudEVtaXR0ZXIsIEhvc3RCaW5kaW5nLCBJbnB1dCwgT25EZXN0cm95LCBPbkluaXQsIE91dHB1dCwgVmlld0NoaWxkLCBWaWV3RW5jYXBzdWxhdGlvbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7SWNvbn0gZnJvbSAnLi4vLi4vZW51bS9pY29uLmVudW0nO1xyXG5pbXBvcnQge0ljb25DYWNoZVNlcnZpY2V9IGZyb20gJy4uLy4uL3NlcnZpY2UvaWNvbi1jYWNoZS5zZXJ2aWNlJztcclxuaW1wb3J0IHthbmltYXRlLCBzdGF0ZSwgc3R5bGUsIHRyYW5zaXRpb24sIHRyaWdnZXJ9IGZyb20gJ0Bhbmd1bGFyL2FuaW1hdGlvbnMnO1xyXG5pbXBvcnQge1N1YnNjcmlwdGlvbn0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7UmVwb3J0TGF5b3V0U2VsZWN0aW9uRW1haWx9IGZyb20gJ0Bjb2xpam5pdC9tYWluYXBpL2J1aWxkL21vZGVsL3JlcG9ydC1sYXlvdXQtc2VsZWN0aW9uLWVtYWlsLmJvJztcclxuaW1wb3J0IHtSZXBvcnRMYXlvdXRTZWxlY3Rpb25QcmludH0gZnJvbSAnQGNvbGlqbml0L21haW5hcGkvYnVpbGQvbW9kZWwvcmVwb3J0LWxheW91dC1zZWxlY3Rpb24tcHJpbnQuYm8nO1xyXG5pbXBvcnQge1JlcG9ydGluZ0RvY3VtZW50UGRmQmFzZVJlcXVlc3R9IGZyb20gJ0Bjb2xpam5pdC9tYWluYXBpL2J1aWxkL21vZGVsL3JlcG9ydGluZy1kb2N1bWVudC1wZGYtYmFzZS1yZXF1ZXN0JztcclxuaW1wb3J0IHtTZW5kTWV0aG9kU2VydmljZX0gZnJvbSAnLi9zZXJ2aWNlL3NlbmQtbWV0aG9kLnNlcnZpY2UnO1xyXG5pbXBvcnQge1NlbmRNZXRob2R9IGZyb20gJy4uLy4uL21vZGVsL3NlbmQtbWV0aG9kJztcclxuaW1wb3J0IHtTZW5kTWV0aG9kVHlwZX0gZnJvbSAnQGNvbGlqbml0L21haW5hcGkvYnVpbGQvZW51bS9zZW5kLW1ldGhvZC10eXBlLmVudW0nO1xyXG5pbXBvcnQge1ByaW50ZXJ9IGZyb20gJ0Bjb2xpam5pdC9tYWluYXBpL2J1aWxkL21vZGVsL3ByaW50ZXIuYm8nO1xyXG5pbXBvcnQge1JlcG9ydGluZ0RvY3VtZW50RW1haWxTaWduRG9jQmFzZVJlcXVlc3R9IGZyb20gJ0Bjb2xpam5pdC9tYWluYXBpL2J1aWxkL21vZGVsL3JlcG9ydGluZy1kb2N1bWVudC1lbWFpbC1zaWduLWRvYy1iYXNlLXJlcXVlc3QnO1xyXG5pbXBvcnQge1JlcG9ydGluZ0RvY3VtZW50UHJpbnRTaWduRG9jQmFzZVJlcXVlc3R9IGZyb20gJ0Bjb2xpam5pdC9tYWluYXBpL2J1aWxkL21vZGVsL3JlcG9ydGluZy1kb2N1bWVudC1wcmludC1zaWduLWRvYy1iYXNlLXJlcXVlc3QnO1xyXG5pbXBvcnQge0NvRG9jdW1lbnR9IGZyb20gJ0Bjb2xpam5pdC9tYWluYXBpL2J1aWxkL21vZGVsL2NvLWRvY3VtZW50LmJvJztcclxuaW1wb3J0IHtTZW5kTWV0aG9kUHJpbnRlckNvbXBvbmVudH0gZnJvbSAnLi9jb21wb25lbnRzL3NlbmQtbWV0aG9kLXByaW50ZXIvc2VuZC1tZXRob2QtcHJpbnRlci5jb21wb25lbnQnO1xyXG5pbXBvcnQge1NlbmRNZXRob2RFbWFpbENvbXBvbmVudH0gZnJvbSAnLi9jb21wb25lbnRzL3NlbmQtbWV0aG9kLWVtYWlsL3NlbmQtbWV0aG9kLWVtYWlsLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7UHJvY2Vzc1ByaW50UmVxdWVzdH0gZnJvbSAnQGNvbGlqbml0L21haW5hcGkvYnVpbGQvbW9kZWwvcHJvY2Vzcy1wcmludC1yZXF1ZXN0JztcclxuaW1wb3J0IHtQcmludFB1cmNoYXNlT3JkZXJGb3JUcmFuc2FjdGlvbk9yZGVyV2l0aG91dExpbmVzUmVxdWVzdH0gZnJvbSAnQGNvbGlqbml0L21haW5hcGkvYnVpbGQvbW9kZWwvcHJpbnQtcHVyY2hhc2Utb3JkZXItZm9yLXRyYW5zYWN0aW9uLW9yZGVyLXdpdGhvdXQtbGluZXMtcmVxdWVzdCc7XHJcbmltcG9ydCB7TGF5b3V0Q29kZX0gZnJvbSAnQGNvbGlqbml0L21haW5hcGkvYnVpbGQvZW51bS9sYXlvdXQtY29kZS5lbnVtJztcclxuXHJcbmV4cG9ydCBjb25zdCBzZW5kTWV0aG9kc1dpdGhJY29uOiBTZW5kTWV0aG9kW10gPSBbXHJcbiAgbmV3IFNlbmRNZXRob2QoU2VuZE1ldGhvZFR5cGUuRmF4LCAnRmF4JywgSWNvbi5QcmludFJlZ3VsYXIpLFxyXG4gIG5ldyBTZW5kTWV0aG9kKFNlbmRNZXRob2RUeXBlLlByaW50LCAnUHJpbnQnLCBJY29uLlByaW50U29saWQpLFxyXG4gIG5ldyBTZW5kTWV0aG9kKFNlbmRNZXRob2RUeXBlLkVtYWlsLCAnRW1haWwnLCBJY29uLkF0U29saWQpLFxyXG4gIG5ldyBTZW5kTWV0aG9kKFNlbmRNZXRob2RUeXBlLkVkaSwgJ0VkaScsIEljb24uRmlsZUV4cG9ydFNvbGlkKSxcclxuICBuZXcgU2VuZE1ldGhvZChTZW5kTWV0aG9kVHlwZS5FbWFpbFRlbXBsYXRlLCAnRW1haWwgdGVtcGxhdGUnLCBJY29uLkVudmVsb3BlUmVndWxhciksXHJcbiAgbmV3IFNlbmRNZXRob2QoU2VuZE1ldGhvZFR5cGUuU21zLCAnU21zJywgSWNvbi5NZXNzYWdlU21zU29saWQpLFxyXG4gIG5ldyBTZW5kTWV0aG9kKFNlbmRNZXRob2RUeXBlLldlYlNlcnZpY2UsICdXZWJzZXJ2aWNlJywgSWNvbi5QcmludFJlZ3VsYXIpLFxyXG4gIG5ldyBTZW5kTWV0aG9kKFNlbmRNZXRob2RUeXBlLlBkZiwgJ1BkZicsIEljb24uUGRmKSxcclxuICBuZXcgU2VuZE1ldGhvZChTZW5kTWV0aG9kVHlwZS5Db21iaW5lUHJpbnRBbmRFbWFpbCwgJ0NvbWJpbmUnLCBJY29uLkFjY291bnQpXHJcbl07XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2NvLXNlbmQtbWV0aG9kLWRpYWxvZycsXHJcbiAgdGVtcGxhdGU6IGBcclxuICAgIDxjby1kaWFsb2cgaWQ9XCJzZW5kT3B0aW9uc0RpYWxvZ1wiIFtoZWFkZXJUZW1wbGF0ZV09XCJoZWFkZXJUZW1wbGF0ZVwiIFtmb290ZXJUZW1wbGF0ZV09XCJmb290ZXJUZW1wbGF0ZVwiXHJcbiAgICAgICAgICAgICAgIChjbG9zZUNsaWNrKT1cImhhbmRsZUNhbmNlbENsaWNrKClcIj5cclxuICAgICAgPG5nLXRlbXBsYXRlICNoZWFkZXJUZW1wbGF0ZT5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiY28tZGlhbG9nLWhlYWRlci10aXRsZS13cmFwcGVyXCI+XHJcbiAgICAgICAgICA8Y28taWNvbiBbaWNvbkRhdGFdPVwiaWNvbkNhY2hlU2VydmljZS5nZXRJY29uKGljb25zLlNoYXJlU29saWQpXCI+PC9jby1pY29uPlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImNvLWRpYWxvZy1oZWFkZXItdGl0bGVcIiBbdGV4dENvbnRlbnRdPVwiaGVhZGVyVGl0bGVcIj48L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiZGlhbG9nLW5hdmlnYXRpb24td3JhcHBlclwiICpuZ0lmPVwic2VuZE1ldGhvZHMubGVuZ3RoID4gMVwiPlxyXG4gICAgICAgICAgPGRpdlxyXG4gICAgICAgICAgICAqbmdGb3I9XCJsZXQgc2VuZE1ldGhvZCBvZiBzZW5kTWV0aG9kczsgbGV0IGluZGV4ID0gaW5kZXhcIlxyXG4gICAgICAgICAgICBjbGFzcz1cInNlbmQtYnV0dG9uLXdyYXBwZXJcIlxyXG4gICAgICAgICAgICBbY2xhc3Muc2VsZWN0ZWRdPVwiYWN0aXZlU2VuZE1ldGhvZCA/IHNlbmRNZXRob2QuY29kZSA9PT0gYWN0aXZlU2VuZE1ldGhvZC5jb2RlIDogaW5kZXggPT09IDBcIlxyXG4gICAgICAgICAgICAoY2xpY2spPVwiaGFuZGxlU2VuZE1ldGhvZENsaWNrKHNlbmRNZXRob2QpXCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjdXN0b20tYnV0dG9uLXRpdGxlXCIgW3RleHRDb250ZW50XT1cInNlbmRNZXRob2QuZGVzY3JpcHRpb25cIj48L2Rpdj5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICA8L25nLXRlbXBsYXRlPlxyXG5cclxuICAgICAgPGRpdiBjbGFzcz1cImRpYWxvZy1jb250ZW50LXdyYXBwZXJcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwic2VuZC1tZXRob2RzLXdyYXBwZXJcIj5cclxuXHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPGRpdiAjbmF2aWdhdGlvbkl0ZW1zIGNsYXNzPVwic2VuZC1tZXRob2QtbmF2aWdhdGlvbi13cmFwcGVyXCIgW2NsYXNzLnNtb290aC1zY3JvbGxpbmddPVwiIXN0YXJ0VXBcIj5cclxuICAgICAgICAgIDxkaXYgI2ZheEl0ZW1zIGNsYXNzPVwic2VuZC1tZXRob2QtbmF2aWdhdGlvbi1jb250ZW50IGNvLXNtYWxsLXNjcm9sbGJhclwiPlxyXG5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPGRpdiAjcHJpbnRJdGVtcyBjbGFzcz1cInNlbmQtbWV0aG9kLW5hdmlnYXRpb24tY29udGVudCBjby1zbWFsbC1zY3JvbGxiYXJcIiAqbmdJZj1cInNob3dQcmludFwiPlxyXG4gICAgICAgICAgICA8Y28tc2VuZC1tZXRob2QtcHJpbnRlclxyXG4gICAgICAgICAgICAgICNwcmludGVyQ29tcG9uZW50XHJcbiAgICAgICAgICAgICAgW2lzUHJpbnRlckxheW91dHNFbmFibGVkXT1cImlzUHJpbnRlckxheW91dHNFbmFibGVkXCJcclxuICAgICAgICAgICAgICBbcHJpbnRlckxpc3RdPVwicHJpbnRlckxpc3RcIlxyXG4gICAgICAgICAgICAgIFtsYXlvdXRzXT1cInByaW50TGF5b3V0c1wiXHJcbiAgICAgICAgICAgICAgW2lzQWRkaXRpb25hbERvY0VuYWJsZWRdPVwiaXNBZGRpdGlvbmFsRG9jRW5hYmxlZFwiXHJcbiAgICAgICAgICAgICAgW2FkZGl0aW9uYWxGaWxlQ29udGVudHNdPVwiYWRkaXRpb25hbEZpbGVDb250ZW50c1wiXHJcbiAgICAgICAgICAgICAgW2FkZGl0aW9uYWxGaWxlTmFtZV09XCJhZGRpdGlvbmFsRmlsZU5hbWVcIlxyXG4gICAgICAgICAgICAgIFtsYXlvdXRDb2RlXT1cImxheW91dENvZGVcIlxyXG4gICAgICAgICAgICAgIChhZGRpdGlvbmFsRmlsZUNoYW5nZUV2ZW50KT1cImhhbmRsZUFkZGl0aW9uYWxGaWxlU2F2ZWQoJGV2ZW50KVwiXHJcbiAgICAgICAgICAgICAgKHVzZUxvY2FsUHJpbnQpPVwiaGFuZGxlVXNlTG9jYWxQcmludCgkZXZlbnQpXCJcclxuICAgICAgICAgICAgICAoY29waWVzQW1vdW50Q2hhbmdlKT1cImhhbmRsZUNvcGllc0Ftb3VudENoYW5nZSgkZXZlbnQpXCJcclxuICAgICAgICAgICAgPjwvY28tc2VuZC1tZXRob2QtcHJpbnRlcj5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPGRpdiAjZW1haWxJdGVtcyBjbGFzcz1cInNlbmQtbWV0aG9kLW5hdmlnYXRpb24tY29udGVudCBjby1zbWFsbC1zY3JvbGxiYXJcIiAqbmdJZj1cInNob3dFbWFpbFwiPlxyXG4gICAgICAgICAgICA8Y28tc2VuZC1tZXRob2QtZW1haWxcclxuICAgICAgICAgICAgICAjZW1haWxDb21wb25lbnRcclxuICAgICAgICAgICAgICBbZW1haWxBZGRyZXNzZXNdPVwiZW1haWxBZGRyZXNzZXNcIlxyXG4gICAgICAgICAgICAgIFtsYXlvdXRzXT1cImVtYWlsTGF5b3V0c1wiXHJcbiAgICAgICAgICAgICAgW2VtYWlsVW5zaWduZWRQb3NzaWJsZV09XCJlbWFpbFVuc2lnbmVkUG9zc2libGVcIlxyXG4gICAgICAgICAgICAgIChsb2FkRGVmYXVsdFByaW50ZXJOYW1lKT1cImxvYWREZWZhdWx0UHJpbnRlck5hbWUuZW1pdCgkZXZlbnQpXCJcclxuICAgICAgICAgICAgICBbaXNBZGRpdGlvbmFsRG9jRW5hYmxlZF09XCJpc0FkZGl0aW9uYWxEb2NFbmFibGVkXCJcclxuICAgICAgICAgICAgICBbYWRkaXRpb25hbEZpbGVDb250ZW50c109XCJhZGRpdGlvbmFsRmlsZUNvbnRlbnRzXCJcclxuICAgICAgICAgICAgICBbYWRkaXRpb25hbEZpbGVOYW1lXT1cImFkZGl0aW9uYWxGaWxlTmFtZVwiXHJcbiAgICAgICAgICAgICAgKGFkZGl0aW9uYWxGaWxlQ2hhbmdlRXZlbnQpPVwiaGFuZGxlQWRkaXRpb25hbEZpbGVTYXZlZCgkZXZlbnQpXCI+XHJcbiAgICAgICAgICAgIDwvY28tc2VuZC1tZXRob2QtZW1haWw+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDxkaXYgI2VkaUl0ZW1zIGNsYXNzPVwic2VuZC1tZXRob2QtbmF2aWdhdGlvbi1jb250ZW50IGNvLXNtYWxsLXNjcm9sbGJhclwiICpuZ0lmPVwic2hvd0VkaVwiPlxyXG5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPGRpdiAjZW1haWxUZW1wbGF0ZUl0ZW1zIGNsYXNzPVwic2VuZC1tZXRob2QtbmF2aWdhdGlvbi1jb250ZW50IGNvLXNtYWxsLXNjcm9sbGJhclwiICpuZ0lmPVwic2hvd0VtYWlsVGVtcGxhdGVcIj5cclxuXHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDxkaXYgI3Ntc0l0ZW1zIGNsYXNzPVwic2VuZC1tZXRob2QtbmF2aWdhdGlvbi1jb250ZW50IGNvLXNtYWxsLXNjcm9sbGJhclwiICpuZ0lmPVwic2hvd1Ntc1wiPlxyXG5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPGRpdiAjd2ViU2VydmljZUl0ZW1zIGNsYXNzPVwic2VuZC1tZXRob2QtbmF2aWdhdGlvbi1jb250ZW50IGNvLXNtYWxsLXNjcm9sbGJhclwiICpuZ0lmPVwic2hvd1dlYnNlcnZpY2VcIj5cclxuXHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDxkaXYgI3BkZkl0ZW1zIGNsYXNzPVwic2VuZC1tZXRob2QtbmF2aWdhdGlvbi1jb250ZW50IGNvLXNtYWxsLXNjcm9sbGJhclwiICpuZ0lmPVwic2hvd1BkZlwiPlxyXG4gICAgICAgICAgICA8Y28tc2VuZC1tZXRob2QtcGRmXHJcbiAgICAgICAgICAgICAgW2xheW91dHNdPVwicHJpbnRMYXlvdXRzXCI+XHJcbiAgICAgICAgICAgIDwvY28tc2VuZC1tZXRob2QtcGRmPlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8ZGl2ICNjb21iaW5lUHJpbnRBbmRFbWFpbCBjbGFzcz1cInNlbmQtbWV0aG9kLW5hdmlnYXRpb24tY29udGVudCBjby1zbWFsbC1zY3JvbGxiYXJcIiAqbmdJZj1cInNob3dDb21iaW5lUHJpbnRBbmRFbWFpbFwiPlxyXG4gICAgICAgICAgICA8Y28tc2VuZC1tZXRob2QtY29tYmluZS1wcmludC1lbWFpbFxyXG4gICAgICAgICAgICAgIFtlbWFpbExheW91dHNdPVwiZW1haWxMYXlvdXRzXCJcclxuICAgICAgICAgICAgICBbcHJpbnRMYXlvdXRzXT1cInByaW50TGF5b3V0c1wiXHJcbiAgICAgICAgICAgICAgW3ByaW50ZXJMaXN0XT1cInByaW50ZXJMaXN0XCJcclxuICAgICAgICAgICAgICBbc2hvd0FkZGl0aW9uYWxDaGVja3NdPVwic2hvd0FkZGl0aW9uYWxDaGVja3NcIlxyXG4gICAgICAgICAgICAgIFtzaG93TG9jYWxQcmludF09XCJzaG93TG9jYWxQcmludFwiXHJcbiAgICAgICAgICAgICAgKHVzZUxvY2FsUHJpbnQpPVwiaGFuZGxlVXNlTG9jYWxQcmludCgkZXZlbnQpXCI+XHJcbiAgICAgICAgICAgICAgPGRpdiBleHRyYS1jb250ZW50LXBhc3M+XHJcbiAgICAgICAgICAgICAgICA8bmctY29udGVudCBzZWxlY3Q9XCJbZXh0cmEtY29udGVudF1cIj48L25nLWNvbnRlbnQ+XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvY28tc2VuZC1tZXRob2QtY29tYmluZS1wcmludC1lbWFpbD5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwicGRmLXByZXZpZXctd3JhcHBlclwiICpuZ0lmPVwic2hvd1BERlByZXZpZXdcIj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJwZGYtcHJldmlldy1idXR0b25cIiBbY2xhc3MuZGlzYWJsZWRdPVwiZGlzYWJsZVBkZlByZXZpZXdcIiAoY2xpY2spPVwiY3JlYXRlUGRmUHJldmlldygpXCI+XHJcbiAgICAgICAgICAgIDxjby1pY29uIFtpY29uRGF0YV09XCJpY29uQ2FjaGVTZXJ2aWNlLmdldEljb24oaWNvbnMuRmlsZU1hZ25pZnlpbmdHbGFzcylcIj48L2NvLWljb24+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDxjby1wcmV2aWV3LXBkZi1kaWFsb2dcclxuICAgICAgICAgICAgKm5nSWY9XCJwZGZEb2NcIlxyXG4gICAgICAgICAgICBbcGRmRG9jXT1cInBkZkRvY1wiXHJcbiAgICAgICAgICAgIChjbG9zZVBERkRpYWxvZyk9XCJjbG9zZVBkZlByZXZpZXcoKVwiPlxyXG4gICAgICAgICAgPC9jby1wcmV2aWV3LXBkZi1kaWFsb2c+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgICA8bmctdGVtcGxhdGUgI2Zvb3RlclRlbXBsYXRlPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJjby1kaWFsb2ctZm9vdGVyLWJ1dHRvbi13cmFwcGVyXCI+XHJcbiAgICAgICAgICA8Y28tYnV0dG9uIGNsYXNzPVwic2F2ZS1idXR0b25cIlxyXG4gICAgICAgICAgICAgICAgICAgICBbaWNvbkRhdGFdPVwiaWNvbkNhY2hlU2VydmljZS5nZXRJY29uKGljb25zLkNoZWNrRHVvdG9uZSlcIlxyXG4gICAgICAgICAgICAgICAgICAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZU9rQnV0dG9uXCJcclxuICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cImhhbmRsZU9rQ2xpY2soKVwiPjwvY28tYnV0dG9uPlxyXG4gICAgICAgICAgPGNvLWJ1dHRvbiBjbGFzcz1cImNsb3NlLWJ1dHRvblwiXHJcbiAgICAgICAgICAgICAgICAgICAgIFtpY29uRGF0YV09XCJpY29uQ2FjaGVTZXJ2aWNlLmdldEljb24oaWNvbnMuQ3Jvc3NTa2lubnkpXCJcclxuICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cImhhbmRsZUNhbmNlbENsaWNrKClcIj48L2NvLWJ1dHRvbj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgIDwvY28tZGlhbG9nPlxyXG4gIGAsXHJcbiAgIHByb3ZpZGVyczogW1xyXG4gICAgIFNlbmRNZXRob2RTZXJ2aWNlXHJcbiAgIF0sXHJcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcclxuICBhbmltYXRpb25zOiBbXHJcbiAgICB0cmlnZ2VyKCdzbGlkZUluT3V0JywgW1xyXG4gICAgICBzdGF0ZSgnKicsIHN0eWxlKHt0cmFuc2Zvcm06ICd0cmFuc2xhdGVYKDAlKScsIHdpZHRoOiAnMTAwJScsIG9wYWNpdHk6ICcxJ30pKSxcclxuICAgICAgc3RhdGUoJ3ZvaWQnLCBzdHlsZSh7dHJhbnNmb3JtOiAndHJhbnNsYXRlWCgxNTAlKScsIG9wYWNpdHk6ICcwJ30pKSxcclxuICAgICAgdHJhbnNpdGlvbigndm9pZCA9PiAqJywgYW5pbWF0ZSgyNTApKVxyXG4gICAgXSlcclxuICBdXHJcbn0pXHJcblxyXG5leHBvcnQgY2xhc3MgU2VuZE1ldGhvZERpYWxvZ0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcclxuICBwdWJsaWMgcmVhZG9ubHkgaWNvbnM6IHR5cGVvZiBJY29uID0gSWNvbjtcclxuXHJcbiAgQFZpZXdDaGlsZCgnbmF2aWdhdGlvbkl0ZW1zJywge3JlYWQ6IEVsZW1lbnRSZWZ9KVxyXG4gIHB1YmxpYyBuYXZpZ2F0aW9uSXRlbXM6IEVsZW1lbnRSZWY7XHJcblxyXG4gIEBWaWV3Q2hpbGQoJ2ZheEl0ZW1zJywge3JlYWQ6IEVsZW1lbnRSZWZ9KVxyXG4gIHB1YmxpYyBmYXhJdGVtczogRWxlbWVudFJlZjtcclxuXHJcbiAgQFZpZXdDaGlsZCgncHJpbnRJdGVtcycsIHtyZWFkOiBFbGVtZW50UmVmfSlcclxuICBwdWJsaWMgcHJpbnRJdGVtczogRWxlbWVudFJlZjtcclxuXHJcbiAgQFZpZXdDaGlsZCgnZW1haWxJdGVtcycsIHtyZWFkOiBFbGVtZW50UmVmfSlcclxuICBwdWJsaWMgZW1haWxJdGVtczogRWxlbWVudFJlZjtcclxuXHJcbiAgQFZpZXdDaGlsZCgnZWRpSXRlbXMnLCB7cmVhZDogRWxlbWVudFJlZn0pXHJcbiAgcHVibGljIGVkaUl0ZW1zOiBFbGVtZW50UmVmO1xyXG5cclxuICBAVmlld0NoaWxkKCdlbWFpbFRlbXBsYXRlSXRlbXMnLCB7cmVhZDogRWxlbWVudFJlZn0pXHJcbiAgcHVibGljIGVtYWlsVGVtcGxhdGVJdGVtczogRWxlbWVudFJlZjtcclxuXHJcbiAgQFZpZXdDaGlsZCgnc21zSXRlbXMnLCB7cmVhZDogRWxlbWVudFJlZn0pXHJcbiAgcHVibGljIHNtc0l0ZW1zOiBFbGVtZW50UmVmO1xyXG5cclxuICBAVmlld0NoaWxkKCd3ZWJTZXJ2aWNlSXRlbXMnLCB7cmVhZDogRWxlbWVudFJlZn0pXHJcbiAgcHVibGljIHdlYlNlcnZpY2VJdGVtczogRWxlbWVudFJlZjtcclxuXHJcbiAgQFZpZXdDaGlsZCgncGRmSXRlbXMnLCB7cmVhZDogRWxlbWVudFJlZn0pXHJcbiAgcHVibGljIHBkZkl0ZW1zOiBFbGVtZW50UmVmO1xyXG5cclxuICBAVmlld0NoaWxkKCdjb21iaW5lUHJpbnRBbmRFbWFpbCcsIHtyZWFkOiBFbGVtZW50UmVmfSlcclxuICBwdWJsaWMgY29tYmluZVByaW50QW5kRW1haWw6IEVsZW1lbnRSZWY7XHJcblxyXG4gIEBWaWV3Q2hpbGQoJ3ByaW50ZXJDb21wb25lbnQnKVxyXG4gIHB1YmxpYyBwcmludGVyQ29tcG9uZW50UmVmOiBTZW5kTWV0aG9kUHJpbnRlckNvbXBvbmVudDtcclxuXHJcbiAgQFZpZXdDaGlsZCgnZW1haWxDb21wb25lbnQnKVxyXG4gIHB1YmxpYyBlbWFpbENvbXBvbmVudFJlZjogU2VuZE1ldGhvZEVtYWlsQ29tcG9uZW50O1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBwcmludGVyTGlzdDogUHJpbnRlcltdID0gW107XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIHJlcG9ydGluZ0RvY3VtZW50UHJpbnRSZXF1ZXN0OiBSZXBvcnRpbmdEb2N1bWVudFByaW50U2lnbkRvY0Jhc2VSZXF1ZXN0O1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyByZXBvcnRpbmdEb2N1bWVudEVtYWlsUmVxdWVzdDogUmVwb3J0aW5nRG9jdW1lbnRFbWFpbFNpZ25Eb2NCYXNlUmVxdWVzdDtcclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgcmVwb3J0aW5nRG9jdW1lbnRQZGZSZXF1ZXN0OiBSZXBvcnRpbmdEb2N1bWVudFBkZkJhc2VSZXF1ZXN0O1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyByZXBvcnRpbmdEb2N1bWVudENvbWJpbmVkUmVxdWVzdDogUHJpbnRQdXJjaGFzZU9yZGVyRm9yVHJhbnNhY3Rpb25PcmRlcldpdGhvdXRMaW5lc1JlcXVlc3Q7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIGVtYWlsTGF5b3V0czogUmVwb3J0TGF5b3V0U2VsZWN0aW9uRW1haWxbXSA9IFtdO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBwcmludExheW91dHM6IFJlcG9ydExheW91dFNlbGVjdGlvblByaW50W10gPSBbXTtcclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgaGVhZGVyVGl0bGU6IHN0cmluZztcclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgZW1haWxBZGRyZXNzZXM6IHN0cmluZ1tdID0gW107XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIGRlZmF1bHRTZW5kTWV0aG9kOiBzdHJpbmc7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIHZpc2libGVNZXRob2RzOiBTZW5kTWV0aG9kVHlwZVtdIHwgc3RyaW5nW10gPSBbXTtcclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgaXNEb2NTaWduRW5hYmxlZDogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBkb2NTaWduOiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIGlzUHJpbnRlckxheW91dHNFbmFibGVkOiBib29sZWFuID0gdHJ1ZTtcclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgaXNBZGRpdGlvbmFsRG9jRW5hYmxlZDogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBhZGRpdGlvbmFsRmlsZU5hbWU6IHN0cmluZyA9ICcnO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBhZGRpdGlvbmFsRmlsZUNvbnRlbnRzOiBhbnkgPSAnJztcclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgcGRmRG9jOiBhbnkgPSAnJztcclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgZGlzYWJsZVBkZlByZXZpZXc6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgZW1haWxVbnNpZ25lZFBvc3NpYmxlOiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIHNob3dQREZQcmV2aWV3OiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIHNob3dBZGRpdGlvbmFsQ2hlY2tzOiBib29sZWFuID0gdHJ1ZTtcclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgc2hvd0xvY2FsUHJpbnQ6IGJvb2xlYW4gPSB0cnVlO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBsYXlvdXRDb2RlOiBMYXlvdXRDb2RlID0gTGF5b3V0Q29kZS5PcmRlckNvbmZpcm1hdGlvbjtcclxuXHJcbiAgQE91dHB1dCgpXHJcbiAgcHVibGljIHJlcG9ydGluZ0RvY3VtZW50UHJpbnRSZXF1ZXN0Q2hhbmdlOiBFdmVudEVtaXR0ZXI8UmVwb3J0aW5nRG9jdW1lbnRQcmludFNpZ25Eb2NCYXNlUmVxdWVzdD4gPSBuZXcgRXZlbnRFbWl0dGVyPFJlcG9ydGluZ0RvY3VtZW50UHJpbnRTaWduRG9jQmFzZVJlcXVlc3Q+KCk7XHJcblxyXG4gIEBPdXRwdXQoKVxyXG4gIHB1YmxpYyByZXBvcnRpbmdEb2N1bWVudEVtYWlsUmVxdWVzdENoYW5nZTogRXZlbnRFbWl0dGVyPFJlcG9ydGluZ0RvY3VtZW50RW1haWxTaWduRG9jQmFzZVJlcXVlc3Q+ID0gbmV3IEV2ZW50RW1pdHRlcjxSZXBvcnRpbmdEb2N1bWVudEVtYWlsU2lnbkRvY0Jhc2VSZXF1ZXN0PigpO1xyXG5cclxuICBAT3V0cHV0KClcclxuICBwdWJsaWMgcmVwb3J0aW5nRG9jdW1lbnRQZGZSZXF1ZXN0Q2hhbmdlOiBFdmVudEVtaXR0ZXI8UmVwb3J0aW5nRG9jdW1lbnRQZGZCYXNlUmVxdWVzdD4gPSBuZXcgRXZlbnRFbWl0dGVyPFJlcG9ydGluZ0RvY3VtZW50UGRmQmFzZVJlcXVlc3Q+KCk7XHJcblxyXG4gIEBPdXRwdXQoKVxyXG4gIHB1YmxpYyByZXBvcnRpbmdEb2N1bWVudENvbWJpbmVkUmVxdWVzdENoYW5nZTogRXZlbnRFbWl0dGVyPFByaW50UHVyY2hhc2VPcmRlckZvclRyYW5zYWN0aW9uT3JkZXJXaXRob3V0TGluZXNSZXF1ZXN0PiA9IG5ldyBFdmVudEVtaXR0ZXI8UHJpbnRQdXJjaGFzZU9yZGVyRm9yVHJhbnNhY3Rpb25PcmRlcldpdGhvdXRMaW5lc1JlcXVlc3Q+KCk7XHJcblxyXG4gIEBPdXRwdXQoKVxyXG4gIHB1YmxpYyBzdGFydFNpZ25hdHVyZUNsaWNrZWQ6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XHJcblxyXG4gIEBPdXRwdXQoKVxyXG4gIHB1YmxpYyBjbG9zZUNsaWNrOiBFdmVudEVtaXR0ZXI8TW91c2VFdmVudD4gPSBuZXcgRXZlbnRFbWl0dGVyPE1vdXNlRXZlbnQ+KCk7XHJcblxyXG4gIEBPdXRwdXQoKVxyXG4gIHB1YmxpYyBva0NsaWNrOiBFdmVudEVtaXR0ZXI8c3RyaW5nIHwgUHJvY2Vzc1ByaW50UmVxdWVzdD4gPSBuZXcgRXZlbnRFbWl0dGVyPHN0cmluZyB8IFByb2Nlc3NQcmludFJlcXVlc3Q+KCk7XHJcblxyXG4gIEBPdXRwdXQoKVxyXG4gIHB1YmxpYyBhZGRpdGlvbmFsRmlsZUNoYW5nZUV2ZW50OiBFdmVudEVtaXR0ZXI8Q29Eb2N1bWVudD4gPSBuZXcgRXZlbnRFbWl0dGVyPENvRG9jdW1lbnQ+KCk7XHJcblxyXG4gIEBPdXRwdXQoKVxyXG4gIHB1YmxpYyBzaG93RmlsZVByZXZpZXc6IEV2ZW50RW1pdHRlcjxudW1iZXI+ID0gbmV3IEV2ZW50RW1pdHRlcjxudW1iZXI+KCk7XHJcblxyXG4gIEBPdXRwdXQoKVxyXG4gIHB1YmxpYyBsb2FkRGVmYXVsdFByaW50ZXJOYW1lOiBFdmVudEVtaXR0ZXI8bnVtYmVyPiA9IG5ldyBFdmVudEVtaXR0ZXI8bnVtYmVyPigpO1xyXG5cclxuICBASG9zdEJpbmRpbmcoJ2NsYXNzLmNvLXNlbmQtbWV0aG9kLWRpYWxvZycpXHJcbiAgcHVibGljIHNob3dDbGFzcygpOiBib29sZWFuIHtcclxuICAgIHJldHVybiB0cnVlO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHNlbmRNZXRob2RzOiBTZW5kTWV0aG9kW10gPSBzZW5kTWV0aG9kc1dpdGhJY29uO1xyXG4gIHB1YmxpYyBhY3RpdmVTZW5kTWV0aG9kOiBTZW5kTWV0aG9kO1xyXG4gIHB1YmxpYyBzdGFydFVwOiBib29sZWFuID0gdHJ1ZTtcclxuXHJcbiAgcHVibGljIHNob3dGYXg6IGJvb2xlYW4gPSB0cnVlO1xyXG4gIHB1YmxpYyBzaG93UHJpbnQ6IGJvb2xlYW4gPSB0cnVlO1xyXG4gIHB1YmxpYyBzaG93RW1haWw6IGJvb2xlYW4gPSB0cnVlO1xyXG4gIHB1YmxpYyBzaG93RWRpOiBib29sZWFuID0gdHJ1ZTtcclxuICBwdWJsaWMgc2hvd1NtczogYm9vbGVhbiA9IHRydWU7XHJcbiAgcHVibGljIHNob3dFbWFpbFRlbXBsYXRlOiBib29sZWFuID0gdHJ1ZTtcclxuICBwdWJsaWMgc2hvd1dlYnNlcnZpY2U6IGJvb2xlYW4gPSB0cnVlO1xyXG4gIHB1YmxpYyBzaG93UGRmOiBib29sZWFuID0gdHJ1ZTtcclxuICBwdWJsaWMgc2hvd0NvbWJpbmVQcmludEFuZEVtYWlsOiBib29sZWFuID0gdHJ1ZTtcclxuICBwdWJsaWMgYWRkaXRpb25hbEZpbGVIYXNCZWVuU2F2ZWQ6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBwdWJsaWMgZGlzYWJsZU9rQnV0dG9uOiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gIHByaXZhdGUgX3N1YnNjcmlwdGlvbnM6IFN1YnNjcmlwdGlvbltdID0gW107XHJcbiAgcHJpdmF0ZSBfbG9jYWxQcmludDogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHB1YmxpYyBpY29uQ2FjaGVTZXJ2aWNlOiBJY29uQ2FjaGVTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBfc2VuZE1ldGhvZFNlcnZpY2U6IFNlbmRNZXRob2RTZXJ2aWNlXHJcbiAgKSB7XHJcbiAgICB0aGlzLl9zdWJzY3JpcHRpb25zLnB1c2goXHJcbiAgICAgIHRoaXMuX3NlbmRNZXRob2RTZXJ2aWNlLnJlcG9ydGluZ0RvY3VtZW50UHJpbnRTaWduRG9jQmFzZVJlcXVlc3RDaGFuZ2VkLnN1YnNjcmliZSgodmFsdWU6IFJlcG9ydGluZ0RvY3VtZW50UHJpbnRTaWduRG9jQmFzZVJlcXVlc3QpID0+IHRoaXMucmVwb3J0aW5nRG9jdW1lbnRQcmludFJlcXVlc3RDaGFuZ2UubmV4dCh2YWx1ZSkpLFxyXG4gICAgICB0aGlzLl9zZW5kTWV0aG9kU2VydmljZS5yZXBvcnRpbmdEb2N1bWVudEVtYWlsU2lnbkRvY0Jhc2VSZXF1ZXN0Q2hhbmdlZC5zdWJzY3JpYmUoKHZhbHVlOiBSZXBvcnRpbmdEb2N1bWVudEVtYWlsU2lnbkRvY0Jhc2VSZXF1ZXN0KSA9PiB0aGlzLnJlcG9ydGluZ0RvY3VtZW50RW1haWxSZXF1ZXN0Q2hhbmdlLm5leHQodmFsdWUpKSxcclxuICAgICAgdGhpcy5fc2VuZE1ldGhvZFNlcnZpY2UucmVwb3J0aW5nRG9jdW1lbnRQZGZCYXNlUmVxdWVzdENoYW5nZWQuc3Vic2NyaWJlKCh2YWx1ZTogUmVwb3J0aW5nRG9jdW1lbnRQZGZCYXNlUmVxdWVzdCkgPT4gdGhpcy5yZXBvcnRpbmdEb2N1bWVudFBkZlJlcXVlc3RDaGFuZ2UubmV4dCh2YWx1ZSkpLFxyXG4gICAgICB0aGlzLl9zZW5kTWV0aG9kU2VydmljZS5yZXBvcnRpbmdEb2N1bWVudENvbWJpbmVkQmFzZVJlcXVlc3RDaGFuZ2VkLnN1YnNjcmliZSgodmFsdWU6IFByaW50UHVyY2hhc2VPcmRlckZvclRyYW5zYWN0aW9uT3JkZXJXaXRob3V0TGluZXNSZXF1ZXN0KSA9PiB0aGlzLnJlcG9ydGluZ0RvY3VtZW50Q29tYmluZWRSZXF1ZXN0Q2hhbmdlLm5leHQodmFsdWUpKSxcclxuICAgICAgdGhpcy5fc2VuZE1ldGhvZFNlcnZpY2UucHJpbnRlck5vdFNldC5zdWJzY3JpYmUoKHZhbHVlOiBib29sZWFuKSA9PiB0aGlzLmRpc2FibGVPa0J1dHRvbiA9IHZhbHVlKVxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIG5nT25Jbml0KCkge1xyXG4gICAgaWYgKHRoaXMucmVwb3J0aW5nRG9jdW1lbnRFbWFpbFJlcXVlc3QpIHtcclxuICAgICAgdGhpcy5fc2VuZE1ldGhvZFNlcnZpY2UucmVwb3J0aW5nRG9jdW1lbnRFbWFpbFNpZ25Eb2NCYXNlUmVxdWVzdCA9IHRoaXMucmVwb3J0aW5nRG9jdW1lbnRFbWFpbFJlcXVlc3Q7XHJcbiAgICB9XHJcbiAgICBpZiAodGhpcy5yZXBvcnRpbmdEb2N1bWVudFByaW50UmVxdWVzdCkge1xyXG4gICAgICB0aGlzLl9zZW5kTWV0aG9kU2VydmljZS5yZXBvcnRpbmdEb2N1bWVudFByaW50U2lnbkRvY0Jhc2VSZXF1ZXN0ID0gdGhpcy5yZXBvcnRpbmdEb2N1bWVudFByaW50UmVxdWVzdDtcclxuICAgIH1cclxuICAgIGlmICh0aGlzLnJlcG9ydGluZ0RvY3VtZW50UGRmUmVxdWVzdCkge1xyXG4gICAgICB0aGlzLl9zZW5kTWV0aG9kU2VydmljZS5yZXBvcnRpbmdEb2N1bWVudFBkZkJhc2VSZXF1ZXN0ID0gdGhpcy5yZXBvcnRpbmdEb2N1bWVudFBkZlJlcXVlc3Q7XHJcbiAgICB9XHJcbiAgICBpZiAodGhpcy5yZXBvcnRpbmdEb2N1bWVudENvbWJpbmVkUmVxdWVzdCkge1xyXG4gICAgICB0aGlzLl9zZW5kTWV0aG9kU2VydmljZS5yZXBvcnRpbmdEb2N1bWVudENvbWJpbmVkQmFzZVJlcXVlc3QgPSB0aGlzLnJlcG9ydGluZ0RvY3VtZW50Q29tYmluZWRSZXF1ZXN0O1xyXG4gICAgfVxyXG4gICAgdGhpcy5faW5pdERlZmF1bHRTZW5kTWV0aG9kKCk7XHJcbiAgICB0aGlzLl9wcmVwYXJlVmlzaWJsZU1ldGhvZHMoKTtcclxuICB9XHJcblxyXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xyXG4gICAgdGhpcy5fc3Vic2NyaXB0aW9ucy5mb3JFYWNoKHN1YnNjcmlwdGlvbiA9PiBzdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKSk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgaGFuZGxlU2lnbmF0dXJlU3RhcnQoKTogdm9pZCB7XHJcbiAgICB0aGlzLmRvY1NpZ24gPSAhdGhpcy5kb2NTaWduO1xyXG4gICAgdGhpcy5zdGFydFNpZ25hdHVyZUNsaWNrZWQuZW1pdCgpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGhhbmRsZUFkZGl0aW9uYWxGaWxlU2F2ZWQoZmlsZTogQ29Eb2N1bWVudCk6IHZvaWQge1xyXG4gICAgdGhpcy5hZGRpdGlvbmFsRmlsZUhhc0JlZW5TYXZlZCA9IHRydWU7XHJcbiAgICB0aGlzLmFkZGl0aW9uYWxGaWxlQ2hhbmdlRXZlbnQuZW1pdChmaWxlKTtcclxuICAgIHRoaXMuX2NvbnRpbnVlSGFuZGxlT2tDbGljaygpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGhhbmRsZVVzZUxvY2FsUHJpbnQobG9jYWxQcmludDogYm9vbGVhbik6IHZvaWQge1xyXG4gICAgdGhpcy5fbG9jYWxQcmludCA9IGxvY2FsUHJpbnQ7XHJcbiAgICBpZiAobG9jYWxQcmludCkge1xyXG4gICAgICB0aGlzLmRpc2FibGVPa0J1dHRvbiA9IGZhbHNlO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHVibGljIGhhbmRsZU9rQ2xpY2soKTogdm9pZCB7XHJcbiAgICBpZiAodGhpcy5pc0FkZGl0aW9uYWxEb2NFbmFibGVkICYmICF0aGlzLmFkZGl0aW9uYWxGaWxlSGFzQmVlblNhdmVkKSB7XHJcbiAgICAgIGlmIChcclxuICAgICAgICB0aGlzLmFjdGl2ZVNlbmRNZXRob2Q/LmNvZGUgPT09IFNlbmRNZXRob2RUeXBlLlByaW50ICYmXHJcbiAgICAgICAgdGhpcy5wcmludGVyQ29tcG9uZW50UmVmPy5pc0FkZGl0aW9uYWxGaWxlQWN0aXZlKClcclxuICAgICAgKSB7XHJcbiAgICAgICAgdGhpcy5wcmludGVyQ29tcG9uZW50UmVmLm9wZW5BZGRpdGlvbmFsRmlsZURpYWxvZygpO1xyXG4gICAgICAgIHJldHVybjtcclxuICAgICAgfVxyXG5cclxuICAgICAgaWYgKFxyXG4gICAgICAgIHRoaXMuYWN0aXZlU2VuZE1ldGhvZD8uY29kZSA9PT0gU2VuZE1ldGhvZFR5cGUuRW1haWwgJiZcclxuICAgICAgICB0aGlzLmVtYWlsQ29tcG9uZW50UmVmPy5pc0FkZGl0aW9uYWxGaWxlQWN0aXZlKClcclxuICAgICAgKSB7XHJcbiAgICAgICAgdGhpcy5lbWFpbENvbXBvbmVudFJlZi5vcGVuQWRkaXRpb25hbEZpbGVEaWFsb2coKTtcclxuICAgICAgICByZXR1cm47XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIHRoaXMuX2NvbnRpbnVlSGFuZGxlT2tDbGljaygpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGhhbmRsZUNhbmNlbENsaWNrKCk6IHZvaWQge1xyXG4gICAgaWYgKHRoaXMucmVwb3J0aW5nRG9jdW1lbnRFbWFpbFJlcXVlc3QpIHtcclxuICAgICAgdGhpcy5yZXBvcnRpbmdEb2N1bWVudEVtYWlsUmVxdWVzdC50b0FkZHJlc3NlcyA9IG51bGw7XHJcbiAgICB9XHJcbiAgICB0aGlzLmNsb3NlQ2xpY2suZW1pdCgpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBfY29udGludWVIYW5kbGVPa0NsaWNrKCk6IHZvaWQge1xyXG4gICAgaWYgKHRoaXMuYWN0aXZlU2VuZE1ldGhvZC5jb2RlID09PSBTZW5kTWV0aG9kVHlwZS5QcmludCB8fCB0aGlzLmFjdGl2ZVNlbmRNZXRob2QuY29kZSA9PT0gU2VuZE1ldGhvZFR5cGUuQ29tYmluZVByaW50QW5kRW1haWwpIHtcclxuICAgICAgY29uc3Qgc2VuZE1ldGhvZDogU2VuZE1ldGhvZFR5cGUgPSB0aGlzLmFjdGl2ZVNlbmRNZXRob2QgPyB0aGlzLmFjdGl2ZVNlbmRNZXRob2QuY29kZSA6IFNlbmRNZXRob2RUeXBlLkZheDtcclxuICAgICAgY29uc3QgZGF0YTogUHJvY2Vzc1ByaW50UmVxdWVzdCA9IHtcclxuICAgICAgICBzZW5kTWV0aG9kZTogc2VuZE1ldGhvZCxcclxuICAgICAgICBsb2NhbFByaW50OiB0aGlzLl9sb2NhbFByaW50XHJcbiAgICAgIH07XHJcbiAgICAgIHRoaXMub2tDbGljay5lbWl0KGRhdGEpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5va0NsaWNrLmVtaXQodGhpcy5hY3RpdmVTZW5kTWV0aG9kID8gdGhpcy5hY3RpdmVTZW5kTWV0aG9kLmNvZGUgOiAnMCcpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHVibGljIGhhbmRsZVNlbmRNZXRob2RDbGljayhzZW5kTWV0aG9kOiBTZW5kTWV0aG9kKTogdm9pZCB7XHJcbiAgICB0aGlzLmFjdGl2ZVNlbmRNZXRob2QgPSBzZW5kTWV0aG9kO1xyXG4gICAgaWYgKHNlbmRNZXRob2QuY29kZSA9PT0gU2VuZE1ldGhvZFR5cGUuRmF4ICYmIHRoaXMuc2hvd0ZheCkge1xyXG4gICAgICB0aGlzLm5hdmlnYXRpb25JdGVtcy5uYXRpdmVFbGVtZW50LnNjcm9sbExlZnQgPSB0aGlzLmZheEl0ZW1zLm5hdGl2ZUVsZW1lbnQub2Zmc2V0TGVmdCAtIHRoaXMubmF2aWdhdGlvbkl0ZW1zLm5hdGl2ZUVsZW1lbnQub2Zmc2V0TGVmdDtcclxuICAgIH0gZWxzZSBpZiAoc2VuZE1ldGhvZC5jb2RlID09PSBTZW5kTWV0aG9kVHlwZS5QcmludCAmJiB0aGlzLnNob3dQcmludCkge1xyXG4gICAgICB0aGlzLm5hdmlnYXRpb25JdGVtcy5uYXRpdmVFbGVtZW50LnNjcm9sbExlZnQgPSB0aGlzLnByaW50SXRlbXMubmF0aXZlRWxlbWVudC5vZmZzZXRMZWZ0IC0gdGhpcy5uYXZpZ2F0aW9uSXRlbXMubmF0aXZlRWxlbWVudC5vZmZzZXRMZWZ0O1xyXG4gICAgfSBlbHNlIGlmIChzZW5kTWV0aG9kLmNvZGUgPT09IFNlbmRNZXRob2RUeXBlLkVtYWlsICYmIHRoaXMuc2hvd0VtYWlsKSB7XHJcbiAgICAgIHRoaXMubmF2aWdhdGlvbkl0ZW1zLm5hdGl2ZUVsZW1lbnQuc2Nyb2xsTGVmdCA9IHRoaXMuZW1haWxJdGVtcy5uYXRpdmVFbGVtZW50Lm9mZnNldExlZnQgLSB0aGlzLm5hdmlnYXRpb25JdGVtcy5uYXRpdmVFbGVtZW50Lm9mZnNldExlZnQ7XHJcbiAgICB9IGVsc2UgaWYgKHNlbmRNZXRob2QuY29kZSA9PT0gU2VuZE1ldGhvZFR5cGUuRWRpICYmIHRoaXMuc2hvd0VkaSkge1xyXG4gICAgICB0aGlzLm5hdmlnYXRpb25JdGVtcy5uYXRpdmVFbGVtZW50LnNjcm9sbExlZnQgPSB0aGlzLmVkaUl0ZW1zLm5hdGl2ZUVsZW1lbnQub2Zmc2V0TGVmdCAtIHRoaXMubmF2aWdhdGlvbkl0ZW1zLm5hdGl2ZUVsZW1lbnQub2Zmc2V0TGVmdDtcclxuICAgIH0gZWxzZSBpZiAoc2VuZE1ldGhvZC5jb2RlID09PSBTZW5kTWV0aG9kVHlwZS5FbWFpbFRlbXBsYXRlICYmIHRoaXMuc2hvd0VtYWlsVGVtcGxhdGUpIHtcclxuICAgICAgdGhpcy5uYXZpZ2F0aW9uSXRlbXMubmF0aXZlRWxlbWVudC5zY3JvbGxMZWZ0ID0gdGhpcy5lbWFpbFRlbXBsYXRlSXRlbXMubmF0aXZlRWxlbWVudC5vZmZzZXRMZWZ0IC0gdGhpcy5uYXZpZ2F0aW9uSXRlbXMubmF0aXZlRWxlbWVudC5vZmZzZXRMZWZ0O1xyXG4gICAgfSBlbHNlIGlmIChzZW5kTWV0aG9kLmNvZGUgPT09IFNlbmRNZXRob2RUeXBlLlNtcyAmJiB0aGlzLnNob3dTbXMpIHtcclxuICAgICAgdGhpcy5uYXZpZ2F0aW9uSXRlbXMubmF0aXZlRWxlbWVudC5zY3JvbGxMZWZ0ID0gdGhpcy5zbXNJdGVtcy5uYXRpdmVFbGVtZW50Lm9mZnNldExlZnQgLSB0aGlzLm5hdmlnYXRpb25JdGVtcy5uYXRpdmVFbGVtZW50Lm9mZnNldExlZnQ7XHJcbiAgICB9IGVsc2UgaWYgKHNlbmRNZXRob2QuY29kZSA9PT0gU2VuZE1ldGhvZFR5cGUuV2ViU2VydmljZSAmJiB0aGlzLnNob3dXZWJzZXJ2aWNlKSB7XHJcbiAgICAgIHRoaXMubmF2aWdhdGlvbkl0ZW1zLm5hdGl2ZUVsZW1lbnQuc2Nyb2xsTGVmdCA9IHRoaXMud2ViU2VydmljZUl0ZW1zLm5hdGl2ZUVsZW1lbnQub2Zmc2V0TGVmdCAtIHRoaXMubmF2aWdhdGlvbkl0ZW1zLm5hdGl2ZUVsZW1lbnQub2Zmc2V0TGVmdDtcclxuICAgIH0gZWxzZSBpZiAoc2VuZE1ldGhvZC5jb2RlID09PSBTZW5kTWV0aG9kVHlwZS5QZGYgJiYgdGhpcy5zaG93UGRmKSB7XHJcbiAgICAgIHRoaXMubmF2aWdhdGlvbkl0ZW1zLm5hdGl2ZUVsZW1lbnQuc2Nyb2xsTGVmdCA9IHRoaXMucGRmSXRlbXMubmF0aXZlRWxlbWVudC5vZmZzZXRMZWZ0IC0gdGhpcy5uYXZpZ2F0aW9uSXRlbXMubmF0aXZlRWxlbWVudC5vZmZzZXRMZWZ0O1xyXG4gICAgfSBlbHNlIGlmIChzZW5kTWV0aG9kLmNvZGUgPT09IFNlbmRNZXRob2RUeXBlLkNvbWJpbmVQcmludEFuZEVtYWlsICYmIHRoaXMuc2hvd0NvbWJpbmVQcmludEFuZEVtYWlsKSB7XHJcbiAgICAgIHRoaXMubmF2aWdhdGlvbkl0ZW1zLm5hdGl2ZUVsZW1lbnQuc2Nyb2xsTGVmdCA9IHRoaXMuY29tYmluZVByaW50QW5kRW1haWwubmF0aXZlRWxlbWVudC5vZmZzZXRMZWZ0IC0gdGhpcy5uYXZpZ2F0aW9uSXRlbXMubmF0aXZlRWxlbWVudC5vZmZzZXRMZWZ0O1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHVibGljIGNyZWF0ZVBkZlByZXZpZXcoKSB7XHJcbiAgICBpZiAodGhpcy5hY3RpdmVTZW5kTWV0aG9kLmNvZGUgPT09IFNlbmRNZXRob2RUeXBlLlByaW50IHx8IHRoaXMuYWN0aXZlU2VuZE1ldGhvZC5jb2RlID09PSBTZW5kTWV0aG9kVHlwZS5QZGYpIHtcclxuICAgICAgdGhpcy5zaG93RmlsZVByZXZpZXcuZW1pdCh0aGlzLl9zZW5kTWV0aG9kU2VydmljZS5yZXBvcnRpbmdEb2N1bWVudFByaW50U2lnbkRvY0Jhc2VSZXF1ZXN0LnJlcG9ydElkKTtcclxuICAgIH0gZWxzZSBpZiAodGhpcy5hY3RpdmVTZW5kTWV0aG9kLmNvZGUgPT09IFNlbmRNZXRob2RUeXBlLkVtYWlsIHx8IHRoaXMuYWN0aXZlU2VuZE1ldGhvZC5jb2RlID09PSBTZW5kTWV0aG9kVHlwZS5FbWFpbFRlbXBsYXRlKSB7XHJcbiAgICAgIHRoaXMuc2hvd0ZpbGVQcmV2aWV3LmVtaXQodGhpcy5fc2VuZE1ldGhvZFNlcnZpY2UucmVwb3J0aW5nRG9jdW1lbnRFbWFpbFNpZ25Eb2NCYXNlUmVxdWVzdC5yZXBvcnRJZCk7XHJcbiAgICB9IGVsc2UgaWYgKHRoaXMuYWN0aXZlU2VuZE1ldGhvZC5jb2RlID09PSBTZW5kTWV0aG9kVHlwZS5Db21iaW5lUHJpbnRBbmRFbWFpbCkge1xyXG4gICAgICB0aGlzLnNob3dGaWxlUHJldmlldy5lbWl0KHRoaXMuX3NlbmRNZXRob2RTZXJ2aWNlLnJlcG9ydGluZ0RvY3VtZW50Q29tYmluZWRCYXNlUmVxdWVzdC5yZXBvcnRJZCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgY2xvc2VQZGZQcmV2aWV3KCkge1xyXG4gICAgdGhpcy5wZGZEb2MgPSAnJztcclxuICB9XHJcblxyXG4gIHB1YmxpYyBoYW5kbGVDb3BpZXNBbW91bnRDaGFuZ2UoYW1vdW50OiBudW1iZXIpIHtcclxuICAgIHRoaXMucmVwb3J0aW5nRG9jdW1lbnRQcmludFJlcXVlc3QuY29waWVzID0gYW1vdW50O1xyXG4gICAgdGhpcy5yZXBvcnRpbmdEb2N1bWVudFByaW50UmVxdWVzdENoYW5nZS5lbWl0KHRoaXMucmVwb3J0aW5nRG9jdW1lbnRQcmludFJlcXVlc3QpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBfaW5pdERlZmF1bHRTZW5kTWV0aG9kKCk6IHZvaWQge1xyXG4gICAgaWYgKHRoaXMuZGVmYXVsdFNlbmRNZXRob2QpIHtcclxuICAgICAgdGhpcy5fc2VsZWN0RGVmYXVsdFNlbmRNZXRob2QoKTtcclxuICAgIH0gZWxzZSBpZiAodGhpcy52aXNpYmxlTWV0aG9kcyAmJiB0aGlzLnZpc2libGVNZXRob2RzLmxlbmd0aCA+PSAxKSB7XHJcbiAgICAgIHRoaXMuZGVmYXVsdFNlbmRNZXRob2QgPSB0aGlzLnZpc2libGVNZXRob2RzWzBdO1xyXG4gICAgICB0aGlzLl9zZWxlY3REZWZhdWx0U2VuZE1ldGhvZCgpO1xyXG4gICAgfVxyXG5cclxuICAgIHRoaXMuc3RhcnRVcCA9IGZhbHNlO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBfc2VsZWN0RGVmYXVsdFNlbmRNZXRob2QoKTogdm9pZCB7XHJcbiAgICBjb25zdCBzZW5kTWV0aG9kOiBTZW5kTWV0aG9kID0gdGhpcy5zZW5kTWV0aG9kcy5maW5kKHNtID0+IHNtLmNvZGUgPT09IHRoaXMuZGVmYXVsdFNlbmRNZXRob2QpO1xyXG4gICAgaWYgKHNlbmRNZXRob2QpIHtcclxuICAgICAgc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgICAgdGhpcy5oYW5kbGVTZW5kTWV0aG9kQ2xpY2soc2VuZE1ldGhvZCk7XHJcbiAgICAgICAgdGhpcy5zdGFydFVwID0gZmFsc2U7XHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBfcHJlcGFyZVZpc2libGVNZXRob2RzKCk6IHZvaWQge1xyXG4gICAgaWYgKHRoaXMudmlzaWJsZU1ldGhvZHMgJiYgdGhpcy52aXNpYmxlTWV0aG9kcy5sZW5ndGggPiAwKSB7XHJcbiAgICAgIHRoaXMuc2VuZE1ldGhvZHMgPSB0aGlzLnNlbmRNZXRob2RzLmZpbHRlcihzbSA9PiB0aGlzLnZpc2libGVNZXRob2RzLmZpbmQodm0gPT4gdm0gPT09IHNtLmNvZGUpKTtcclxuICAgIH1cclxuICAgIHRoaXMuc2hvd0ZheCA9IHRoaXMuc2VuZE1ldGhvZHMuZmluZChzbSA9PiBzbS5jb2RlID09PSBTZW5kTWV0aG9kVHlwZS5GYXgpICE9PSB1bmRlZmluZWQ7XHJcbiAgICB0aGlzLnNob3dQcmludCA9IHRoaXMuc2VuZE1ldGhvZHMuZmluZChzbSA9PiBzbS5jb2RlID09PSBTZW5kTWV0aG9kVHlwZS5QcmludCkgIT09IHVuZGVmaW5lZDtcclxuICAgIHRoaXMuc2hvd0VtYWlsID0gdGhpcy5zZW5kTWV0aG9kcy5maW5kKHNtID0+IHNtLmNvZGUgPT09IFNlbmRNZXRob2RUeXBlLkVtYWlsKSAhPT0gdW5kZWZpbmVkO1xyXG4gICAgdGhpcy5zaG93RWRpID0gdGhpcy5zZW5kTWV0aG9kcy5maW5kKHNtID0+IHNtLmNvZGUgPT09IFNlbmRNZXRob2RUeXBlLkVkaSkgIT09IHVuZGVmaW5lZDtcclxuICAgIHRoaXMuc2hvd0VtYWlsVGVtcGxhdGUgPSB0aGlzLnNlbmRNZXRob2RzLmZpbmQoc20gPT4gc20uY29kZSA9PT0gU2VuZE1ldGhvZFR5cGUuRW1haWxUZW1wbGF0ZSkgIT09IHVuZGVmaW5lZDtcclxuICAgIHRoaXMuc2hvd1NtcyA9IHRoaXMuc2VuZE1ldGhvZHMuZmluZChzbSA9PiBzbS5jb2RlID09PSBTZW5kTWV0aG9kVHlwZS5TbXMpICE9PSB1bmRlZmluZWQ7XHJcbiAgICB0aGlzLnNob3dXZWJzZXJ2aWNlID0gdGhpcy5zZW5kTWV0aG9kcy5maW5kKHNtID0+IHNtLmNvZGUgPT09IFNlbmRNZXRob2RUeXBlLldlYlNlcnZpY2UpICE9PSB1bmRlZmluZWQ7XHJcbiAgICB0aGlzLnNob3dQZGYgPSB0aGlzLnNlbmRNZXRob2RzLmZpbmQoc20gPT4gc20uY29kZSA9PT0gU2VuZE1ldGhvZFR5cGUuUGRmKSAhPT0gdW5kZWZpbmVkO1xyXG4gICAgdGhpcy5zaG93Q29tYmluZVByaW50QW5kRW1haWwgPSB0aGlzLnNlbmRNZXRob2RzLmZpbmQoc20gPT4gc20uY29kZSA9PT0gU2VuZE1ldGhvZFR5cGUuQ29tYmluZVByaW50QW5kRW1haWwpICE9PSB1bmRlZmluZWQ7XHJcbiAgfVxyXG59XHJcbiJdfQ==
@@ -75,4 +75,4 @@ export var Icon;
75
75
  Icon["Xml"] = "xml";
76
76
  Icon["XSolid"] = "x_solid";
77
77
  })(Icon || (Icon = {}));
78
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWNvbi5lbnVtLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc2hhcmVkY29tcG9uZW50cy9zcmMvbGliL2VudW0vaWNvbi5lbnVtLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGdHQUFnRztBQUVoRyxNQUFNLENBQU4sSUFBWSxJQTBFWDtBQTFFRCxXQUFZLElBQUk7SUFDWiwyQkFBbUIsQ0FBQTtJQUNuQiwyQ0FBbUMsQ0FBQTtJQUNuQyw2Q0FBcUMsQ0FBQTtJQUNyQyxnQ0FBd0IsQ0FBQTtJQUN4QiwrQ0FBdUMsQ0FBQTtJQUN2Qyx5Q0FBaUMsQ0FBQTtJQUNqQyxvREFBNEMsQ0FBQTtJQUM1QywyQ0FBbUMsQ0FBQTtJQUNuQywyQ0FBbUMsQ0FBQTtJQUNuQyw2Q0FBcUMsQ0FBQTtJQUNyQyx1Q0FBK0IsQ0FBQTtJQUMvQixxRUFBNkQsQ0FBQTtJQUM3RCw0QkFBb0IsQ0FBQTtJQUNwQixtREFBMkMsQ0FBQTtJQUMzQyxvQ0FBNEIsQ0FBQTtJQUM1QiwrQ0FBdUMsQ0FBQTtJQUN2QyxxREFBNkMsQ0FBQTtJQUM3Qyx5QkFBaUIsQ0FBQTtJQUNqQixzQ0FBOEIsQ0FBQTtJQUM5QixrQ0FBMEIsQ0FBQTtJQUMxQixrQ0FBMEIsQ0FBQTtJQUMxQixxREFBNkMsQ0FBQTtJQUM3QyxzQ0FBOEIsQ0FBQTtJQUM5QiwwQ0FBa0MsQ0FBQTtJQUNsQyxvQ0FBNEIsQ0FBQTtJQUM1Qix1QkFBZSxDQUFBO0lBQ2YsaURBQXlDLENBQUE7SUFDekMsd0NBQWdDLENBQUE7SUFDaEMsa0NBQTBCLENBQUE7SUFDMUIseURBQWlELENBQUE7SUFDakQsNkJBQXFCLENBQUE7SUFDckIsMkNBQW1DLENBQUE7SUFDbkMsdUJBQWUsQ0FBQTtJQUNmLHNDQUE4QixDQUFBO0lBQzlCLDZCQUFxQixDQUFBO0lBQ3JCLDRDQUFvQyxDQUFBO0lBQ3BDLGtDQUEwQixDQUFBO0lBQzFCLGlEQUF5QyxDQUFBO0lBQ3pDLDZDQUFxQyxDQUFBO0lBQ3JDLHFEQUE2QyxDQUFBO0lBQzdDLDJDQUFtQyxDQUFBO0lBQ25DLHVDQUErQixDQUFBO0lBQy9CLHVEQUErQyxDQUFBO0lBQy9DLHFEQUE2QyxDQUFBO0lBQzdDLGlEQUF5QyxDQUFBO0lBQ3pDLHNDQUE4QixDQUFBO0lBQzlCLHlDQUFpQyxDQUFBO0lBQ2pDLHFCQUFhLENBQUE7SUFDYixpREFBeUMsQ0FBQTtJQUN6Qyw2Q0FBcUMsQ0FBQTtJQUNyQyxvQ0FBNEIsQ0FBQTtJQUM1QixxQ0FBNkIsQ0FBQTtJQUM3Qiw4Q0FBc0MsQ0FBQTtJQUN0QyxvREFBNEMsQ0FBQTtJQUM1QyxtQkFBVyxDQUFBO0lBQ1gsdURBQStDLENBQUE7SUFDL0MsdUNBQStCLENBQUE7SUFDL0Isb0NBQTRCLENBQUE7SUFDNUIsa0NBQTBCLENBQUE7SUFDMUIsdUJBQWUsQ0FBQTtJQUNmLHNDQUE4QixDQUFBO0lBQzlCLGtDQUEwQixDQUFBO0lBQzFCLDZFQUFxRSxDQUFBO0lBQ3JFLGtDQUEwQixDQUFBO0lBQzFCLDBDQUFrQyxDQUFBO0lBQ2xDLHNEQUE4QyxDQUFBO0lBQzlDLGlEQUF5QyxDQUFBO0lBQ3pDLGtDQUEwQixDQUFBO0lBQzFCLHFCQUFhLENBQUE7SUFDYiw2QkFBcUIsQ0FBQTtJQUNyQiw2Q0FBcUMsQ0FBQTtJQUNyQyxtQkFBVyxDQUFBO0lBQ1gsMEJBQWtCLENBQUE7QUFDdEIsQ0FBQyxFQTFFVyxJQUFJLEtBQUosSUFBSSxRQTBFZiIsInNvdXJjZXNDb250ZW50IjpbIi8qKiBBVVRPIEdFTkVSQVRFRCBGSUxFLiBETyBOT1QgQ0hBTkdFLi4gT1IgWU9VIFdJTEwgU1VGRkVSIFRIRSBDT05TRVFVRU5DRVMgT0YgWU9VUiBBQ1RJT05TICoqL1xyXG5cclxuZXhwb3J0IGVudW0gSWNvbiB7XHJcbiAgICBBY2NvdW50ID0gXCJhY2NvdW50XCIsXHJcbiAgICBBbmdsZUxlZnRTb2xpZCA9IFwiYW5nbGVfbGVmdF9zb2xpZFwiLFxyXG4gICAgQW5nbGVSaWdodFNvbGlkID0gXCJhbmdsZV9yaWdodF9zb2xpZFwiLFxyXG4gICAgQXJyb3dEb3duID0gXCJhcnJvd19kb3duXCIsXHJcbiAgICBBcnJvd0Rvd25SZWd1bGFyID0gXCJhcnJvd19kb3duX3JlZ3VsYXJcIixcclxuICAgIEFycm93RmF0UmlnaHQgPSBcImFycm93X2ZhdF9yaWdodFwiLFxyXG4gICAgQXJyb3dMZWZ0Um91bmRPcGVuID0gXCJhcnJvd19sZWZ0X3JvdW5kX29wZW5cIixcclxuICAgIEFycm93UG9pbnREb3duID0gXCJhcnJvd19wb2ludF9kb3duXCIsXHJcbiAgICBBcnJvd1BvaW50TGVmdCA9IFwiYXJyb3dfcG9pbnRfbGVmdFwiLFxyXG4gICAgQXJyb3dQb2ludFJpZ2h0ID0gXCJhcnJvd19wb2ludF9yaWdodFwiLFxyXG4gICAgQXJyb3dQb2ludFVwID0gXCJhcnJvd19wb2ludF91cFwiLFxyXG4gICAgQXJyb3dSaWdodEFycm93TGVmdFJlZ3VsYXIgPSBcImFycm93X3JpZ2h0X2Fycm93X2xlZnRfcmVndWxhclwiLFxyXG4gICAgQXRTb2xpZCA9IFwiYXRfc29saWRcIixcclxuICAgIEJhcmNvZGVSZWFkUmVndWxhciA9IFwiYmFyY29kZV9yZWFkX3JlZ3VsYXJcIixcclxuICAgIEJlbGxSZWd1bGFyID0gXCJiZWxsX3JlZ3VsYXJcIixcclxuICAgIEJlbGxTbGFzaFJlZ3VsYXIgPSBcImJlbGxfc2xhc2hfcmVndWxhclwiLFxyXG4gICAgQnJpbmdGb3J3YXJkUmVndWxhciA9IFwiYnJpbmdfZm9yd2FyZF9yZWd1bGFyXCIsXHJcbiAgICBDYW1lcmEgPSBcImNhbWVyYVwiLFxyXG4gICAgQ2hlY2tEdW90b25lID0gXCJjaGVja19kdW90b25lXCIsXHJcbiAgICBDaGVja1JvdW5kID0gXCJjaGVja19yb3VuZFwiLFxyXG4gICAgQ2hlY2tTb2xpZCA9IFwiY2hlY2tfc29saWRcIixcclxuICAgIENoZXZyb25SaWdodFJlZ3VsYXIgPSBcImNoZXZyb25fcmlnaHRfcmVndWxhclwiLFxyXG4gICAgQ2xvY2tSZWd1bGFyID0gXCJjbG9ja19yZWd1bGFyXCIsXHJcbiAgICBDb21tZW50UmVndWxhciA9IFwiY29tbWVudF9yZWd1bGFyXCIsXHJcbiAgICBDcm9zc1NraW5ueSA9IFwiY3Jvc3Nfc2tpbm55XCIsXHJcbiAgICBDdWJlcyA9IFwiY3ViZXNcIixcclxuICAgIERlbGV0ZUxlZnRSZWd1bGFyID0gXCJkZWxldGVfbGVmdF9yZWd1bGFyXCIsXHJcbiAgICBEZWxpdmVyeVRydWNrID0gXCJkZWxpdmVyeV90cnVja1wiLFxyXG4gICAgRGV0YWlsVmlldyA9IFwiZGV0YWlsX3ZpZXdcIixcclxuICAgIERpYWdyYW1Qcm9qZWN0UmVndWxhciA9IFwiZGlhZ3JhbV9wcm9qZWN0X3JlZ3VsYXJcIixcclxuICAgIERyb3B6b25lID0gXCJkcm9wem9uZVwiLFxyXG4gICAgRWRpdFBlblJlZ3VsYXIgPSBcImVkaXRfcGVuX3JlZ3VsYXJcIixcclxuICAgIEVtYWlsID0gXCJlbWFpbFwiLFxyXG4gICAgRW1haWxSZWd1bGFyID0gXCJlbWFpbF9yZWd1bGFyXCIsXHJcbiAgICBFbXBsb3llZSA9IFwiZW1wbG95ZWVcIixcclxuICAgIEVudmVsb3BlUmVndWxhciA9IFwiZW52ZWxvcGVfcmVndWxhclwiLFxyXG4gICAgRXllUmVndWxhciA9IFwiZXllX3JlZ3VsYXJcIixcclxuICAgIEZpbGVFeHBvcnRSZWd1bGFyID0gXCJmaWxlX2V4cG9ydF9yZWd1bGFyXCIsXHJcbiAgICBGaWxlRXhwb3J0U29saWQgPSBcImZpbGVfZXhwb3J0X3NvbGlkXCIsXHJcbiAgICBGaWxlTWFnbmlmeWluZ0dsYXNzID0gXCJmaWxlX21hZ25pZnlpbmdfZ2xhc3NcIixcclxuICAgIEZpbGVQZGZSZWd1bGFyID0gXCJmaWxlX3BkZl9yZWd1bGFyXCIsXHJcbiAgICBGaWxlUGRmU29saWQgPSBcImZpbGVfcGRmX3NvbGlkXCIsXHJcbiAgICBGaWxlU2lnbmF0dXJlUmVndWxhciA9IFwiZmlsZV9zaWduYXR1cmVfcmVndWxhclwiLFxyXG4gICAgRm9sZGVyc1NoYXJwUmVndWxhciA9IFwiZm9sZGVyc19zaGFycF9yZWd1bGFyXCIsXHJcbiAgICBIb3VzZUJsYW5rUmVndWxhciA9IFwiaG91c2VfYmxhbmtfcmVndWxhclwiLFxyXG4gICAgSW9uZVdvcmtmbG93ID0gXCJpb25lX3dvcmtmbG93XCIsXHJcbiAgICBMaXN0VWxSZWd1bGFyID0gXCJsaXN0X3VsX3JlZ3VsYXJcIixcclxuICAgIExvY2sgPSBcImxvY2tcIixcclxuICAgIE1lc3NhZ2VTbXNSZWd1bGFyID0gXCJtZXNzYWdlX3Ntc19yZWd1bGFyXCIsXHJcbiAgICBNZXNzYWdlU21zU29saWQgPSBcIm1lc3NhZ2Vfc21zX3NvbGlkXCIsXHJcbiAgICBNaW51c1NpbXBsZSA9IFwibWludXNfc2ltcGxlXCIsXHJcbiAgICBOb3RpZmljYXRpb24gPSBcIm5vdGlmaWNhdGlvblwiLFxyXG4gICAgUGFwZXJjbGlwUmVndWxhciA9IFwicGFwZXJjbGlwX3JlZ3VsYXJcIixcclxuICAgIFBhcGVyUGxhbmVUb3BTb2xpZCA9IFwicGFwZXJfcGxhbmVfdG9wX3NvbGlkXCIsXHJcbiAgICBQZGYgPSBcInBkZlwiLFxyXG4gICAgUGVyc29uRGlnZ2luZ1JlZ3VsYXIgPSBcInBlcnNvbl9kaWdnaW5nX3JlZ3VsYXJcIixcclxuICAgIFBpblJvdW5kT3BlbiA9IFwicGluX3JvdW5kX29wZW5cIixcclxuICAgIFBsdXNSZWd1bGFyID0gXCJwbHVzX3JlZ3VsYXJcIixcclxuICAgIFBsdXNTaW1wbGUgPSBcInBsdXNfc2ltcGxlXCIsXHJcbiAgICBQcmludCA9IFwicHJpbnRcIixcclxuICAgIFByaW50UmVndWxhciA9IFwicHJpbnRfcmVndWxhclwiLFxyXG4gICAgUHJpbnRTb2xpZCA9IFwicHJpbnRfc29saWRcIixcclxuICAgIFJlZ3VsYXJGaWxlU2lnbmF0dXJlQ2lyY2xlUGx1cyA9IFwicmVndWxhcl9maWxlX3NpZ25hdHVyZV9jaXJjbGVfcGx1c1wiLFxyXG4gICAgU2hhcmVTb2xpZCA9IFwic2hhcmVfc29saWRcIixcclxuICAgIFNpZ25hdHVyZUZpZWxkID0gXCJzaWduYXR1cmVfZmllbGRcIixcclxuICAgIFNvbGlkQmFyY29kZVJlYWRUYWcgPSBcInNvbGlkX2JhcmNvZGVfcmVhZF90YWdcIixcclxuICAgIFNxdWFyZVBsdXNSZWd1bGFyID0gXCJzcXVhcmVfcGx1c19yZWd1bGFyXCIsXHJcbiAgICBUYWdSZWd1bGFyID0gXCJ0YWdfcmVndWxhclwiLFxyXG4gICAgVGFzayA9IFwidGFza1wiLFxyXG4gICAgVHJhc2hiaW4gPSBcInRyYXNoYmluXCIsXHJcbiAgICBUcmFzaENhblJlZ3VsYXIgPSBcInRyYXNoX2Nhbl9yZWd1bGFyXCIsXHJcbiAgICBYbWwgPSBcInhtbFwiLFxyXG4gICAgWFNvbGlkID0gXCJ4X3NvbGlkXCJcclxufSJdfQ==
78
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWNvbi5lbnVtLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc2hhcmVkY29tcG9uZW50cy9zcmMvbGliL2VudW0vaWNvbi5lbnVtLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGdHQUFnRztBQUVoRyxNQUFNLENBQU4sSUFBWSxJQTBFWDtBQTFFRCxXQUFZLElBQUk7SUFDWiwyQkFBbUIsQ0FBQTtJQUNuQiwyQ0FBbUMsQ0FBQTtJQUNuQyw2Q0FBcUMsQ0FBQTtJQUNyQyxnQ0FBd0IsQ0FBQTtJQUN4QiwrQ0FBdUMsQ0FBQTtJQUN2Qyx5Q0FBaUMsQ0FBQTtJQUNqQyxvREFBNEMsQ0FBQTtJQUM1QywyQ0FBbUMsQ0FBQTtJQUNuQywyQ0FBbUMsQ0FBQTtJQUNuQyw2Q0FBcUMsQ0FBQTtJQUNyQyx1Q0FBK0IsQ0FBQTtJQUMvQixxRUFBNkQsQ0FBQTtJQUM3RCw0QkFBb0IsQ0FBQTtJQUNwQixtREFBMkMsQ0FBQTtJQUMzQyxvQ0FBNEIsQ0FBQTtJQUM1QiwrQ0FBdUMsQ0FBQTtJQUN2QyxxREFBNkMsQ0FBQTtJQUM3Qyx5QkFBaUIsQ0FBQTtJQUNqQixzQ0FBOEIsQ0FBQTtJQUM5QixrQ0FBMEIsQ0FBQTtJQUMxQixrQ0FBMEIsQ0FBQTtJQUMxQixxREFBNkMsQ0FBQTtJQUM3QyxzQ0FBOEIsQ0FBQTtJQUM5QiwwQ0FBa0MsQ0FBQTtJQUNsQyxvQ0FBNEIsQ0FBQTtJQUM1Qix1QkFBZSxDQUFBO0lBQ2YsaURBQXlDLENBQUE7SUFDekMsd0NBQWdDLENBQUE7SUFDaEMsa0NBQTBCLENBQUE7SUFDMUIseURBQWlELENBQUE7SUFDakQsNkJBQXFCLENBQUE7SUFDckIsMkNBQW1DLENBQUE7SUFDbkMsdUJBQWUsQ0FBQTtJQUNmLHNDQUE4QixDQUFBO0lBQzlCLDZCQUFxQixDQUFBO0lBQ3JCLDRDQUFvQyxDQUFBO0lBQ3BDLGtDQUEwQixDQUFBO0lBQzFCLGlEQUF5QyxDQUFBO0lBQ3pDLDZDQUFxQyxDQUFBO0lBQ3JDLHFEQUE2QyxDQUFBO0lBQzdDLDJDQUFtQyxDQUFBO0lBQ25DLHVDQUErQixDQUFBO0lBQy9CLHVEQUErQyxDQUFBO0lBQy9DLHFEQUE2QyxDQUFBO0lBQzdDLGlEQUF5QyxDQUFBO0lBQ3pDLHNDQUE4QixDQUFBO0lBQzlCLHlDQUFpQyxDQUFBO0lBQ2pDLHFCQUFhLENBQUE7SUFDYixpREFBeUMsQ0FBQTtJQUN6Qyw2Q0FBcUMsQ0FBQTtJQUNyQyxvQ0FBNEIsQ0FBQTtJQUM1QixxQ0FBNkIsQ0FBQTtJQUM3Qiw4Q0FBc0MsQ0FBQTtJQUN0QyxvREFBNEMsQ0FBQTtJQUM1QyxtQkFBVyxDQUFBO0lBQ1gsdURBQStDLENBQUE7SUFDL0MsdUNBQStCLENBQUE7SUFDL0Isb0NBQTRCLENBQUE7SUFDNUIsa0NBQTBCLENBQUE7SUFDMUIsdUJBQWUsQ0FBQTtJQUNmLHNDQUE4QixDQUFBO0lBQzlCLGtDQUEwQixDQUFBO0lBQzFCLDZFQUFxRSxDQUFBO0lBQ3JFLGtDQUEwQixDQUFBO0lBQzFCLDBDQUFrQyxDQUFBO0lBQ2xDLHNEQUE4QyxDQUFBO0lBQzlDLGlEQUF5QyxDQUFBO0lBQ3pDLGtDQUEwQixDQUFBO0lBQzFCLHFCQUFhLENBQUE7SUFDYiw2QkFBcUIsQ0FBQTtJQUNyQiw2Q0FBcUMsQ0FBQTtJQUNyQyxtQkFBVyxDQUFBO0lBQ1gsMEJBQWtCLENBQUE7QUFDdEIsQ0FBQyxFQTFFVyxJQUFJLEtBQUosSUFBSSxRQTBFZiIsInNvdXJjZXNDb250ZW50IjpbIi8qKiBBVVRPIEdFTkVSQVRFRCBGSUxFLiBETyBOT1QgQ0hBTkdFLi4gT1IgWU9VIFdJTEwgU1VGRkVSIFRIRSBDT05TRVFVRU5DRVMgT0YgWU9VUiBBQ1RJT05TICoqL1xuXG5leHBvcnQgZW51bSBJY29uIHtcbiAgICBBY2NvdW50ID0gXCJhY2NvdW50XCIsXG4gICAgQW5nbGVMZWZ0U29saWQgPSBcImFuZ2xlX2xlZnRfc29saWRcIixcbiAgICBBbmdsZVJpZ2h0U29saWQgPSBcImFuZ2xlX3JpZ2h0X3NvbGlkXCIsXG4gICAgQXJyb3dEb3duID0gXCJhcnJvd19kb3duXCIsXG4gICAgQXJyb3dEb3duUmVndWxhciA9IFwiYXJyb3dfZG93bl9yZWd1bGFyXCIsXG4gICAgQXJyb3dGYXRSaWdodCA9IFwiYXJyb3dfZmF0X3JpZ2h0XCIsXG4gICAgQXJyb3dMZWZ0Um91bmRPcGVuID0gXCJhcnJvd19sZWZ0X3JvdW5kX29wZW5cIixcbiAgICBBcnJvd1BvaW50RG93biA9IFwiYXJyb3dfcG9pbnRfZG93blwiLFxuICAgIEFycm93UG9pbnRMZWZ0ID0gXCJhcnJvd19wb2ludF9sZWZ0XCIsXG4gICAgQXJyb3dQb2ludFJpZ2h0ID0gXCJhcnJvd19wb2ludF9yaWdodFwiLFxuICAgIEFycm93UG9pbnRVcCA9IFwiYXJyb3dfcG9pbnRfdXBcIixcbiAgICBBcnJvd1JpZ2h0QXJyb3dMZWZ0UmVndWxhciA9IFwiYXJyb3dfcmlnaHRfYXJyb3dfbGVmdF9yZWd1bGFyXCIsXG4gICAgQXRTb2xpZCA9IFwiYXRfc29saWRcIixcbiAgICBCYXJjb2RlUmVhZFJlZ3VsYXIgPSBcImJhcmNvZGVfcmVhZF9yZWd1bGFyXCIsXG4gICAgQmVsbFJlZ3VsYXIgPSBcImJlbGxfcmVndWxhclwiLFxuICAgIEJlbGxTbGFzaFJlZ3VsYXIgPSBcImJlbGxfc2xhc2hfcmVndWxhclwiLFxuICAgIEJyaW5nRm9yd2FyZFJlZ3VsYXIgPSBcImJyaW5nX2ZvcndhcmRfcmVndWxhclwiLFxuICAgIENhbWVyYSA9IFwiY2FtZXJhXCIsXG4gICAgQ2hlY2tEdW90b25lID0gXCJjaGVja19kdW90b25lXCIsXG4gICAgQ2hlY2tSb3VuZCA9IFwiY2hlY2tfcm91bmRcIixcbiAgICBDaGVja1NvbGlkID0gXCJjaGVja19zb2xpZFwiLFxuICAgIENoZXZyb25SaWdodFJlZ3VsYXIgPSBcImNoZXZyb25fcmlnaHRfcmVndWxhclwiLFxuICAgIENsb2NrUmVndWxhciA9IFwiY2xvY2tfcmVndWxhclwiLFxuICAgIENvbW1lbnRSZWd1bGFyID0gXCJjb21tZW50X3JlZ3VsYXJcIixcbiAgICBDcm9zc1NraW5ueSA9IFwiY3Jvc3Nfc2tpbm55XCIsXG4gICAgQ3ViZXMgPSBcImN1YmVzXCIsXG4gICAgRGVsZXRlTGVmdFJlZ3VsYXIgPSBcImRlbGV0ZV9sZWZ0X3JlZ3VsYXJcIixcbiAgICBEZWxpdmVyeVRydWNrID0gXCJkZWxpdmVyeV90cnVja1wiLFxuICAgIERldGFpbFZpZXcgPSBcImRldGFpbF92aWV3XCIsXG4gICAgRGlhZ3JhbVByb2plY3RSZWd1bGFyID0gXCJkaWFncmFtX3Byb2plY3RfcmVndWxhclwiLFxuICAgIERyb3B6b25lID0gXCJkcm9wem9uZVwiLFxuICAgIEVkaXRQZW5SZWd1bGFyID0gXCJlZGl0X3Blbl9yZWd1bGFyXCIsXG4gICAgRW1haWwgPSBcImVtYWlsXCIsXG4gICAgRW1haWxSZWd1bGFyID0gXCJlbWFpbF9yZWd1bGFyXCIsXG4gICAgRW1wbG95ZWUgPSBcImVtcGxveWVlXCIsXG4gICAgRW52ZWxvcGVSZWd1bGFyID0gXCJlbnZlbG9wZV9yZWd1bGFyXCIsXG4gICAgRXllUmVndWxhciA9IFwiZXllX3JlZ3VsYXJcIixcbiAgICBGaWxlRXhwb3J0UmVndWxhciA9IFwiZmlsZV9leHBvcnRfcmVndWxhclwiLFxuICAgIEZpbGVFeHBvcnRTb2xpZCA9IFwiZmlsZV9leHBvcnRfc29saWRcIixcbiAgICBGaWxlTWFnbmlmeWluZ0dsYXNzID0gXCJmaWxlX21hZ25pZnlpbmdfZ2xhc3NcIixcbiAgICBGaWxlUGRmUmVndWxhciA9IFwiZmlsZV9wZGZfcmVndWxhclwiLFxuICAgIEZpbGVQZGZTb2xpZCA9IFwiZmlsZV9wZGZfc29saWRcIixcbiAgICBGaWxlU2lnbmF0dXJlUmVndWxhciA9IFwiZmlsZV9zaWduYXR1cmVfcmVndWxhclwiLFxuICAgIEZvbGRlcnNTaGFycFJlZ3VsYXIgPSBcImZvbGRlcnNfc2hhcnBfcmVndWxhclwiLFxuICAgIEhvdXNlQmxhbmtSZWd1bGFyID0gXCJob3VzZV9ibGFua19yZWd1bGFyXCIsXG4gICAgSW9uZVdvcmtmbG93ID0gXCJpb25lX3dvcmtmbG93XCIsXG4gICAgTGlzdFVsUmVndWxhciA9IFwibGlzdF91bF9yZWd1bGFyXCIsXG4gICAgTG9jayA9IFwibG9ja1wiLFxuICAgIE1lc3NhZ2VTbXNSZWd1bGFyID0gXCJtZXNzYWdlX3Ntc19yZWd1bGFyXCIsXG4gICAgTWVzc2FnZVNtc1NvbGlkID0gXCJtZXNzYWdlX3Ntc19zb2xpZFwiLFxuICAgIE1pbnVzU2ltcGxlID0gXCJtaW51c19zaW1wbGVcIixcbiAgICBOb3RpZmljYXRpb24gPSBcIm5vdGlmaWNhdGlvblwiLFxuICAgIFBhcGVyY2xpcFJlZ3VsYXIgPSBcInBhcGVyY2xpcF9yZWd1bGFyXCIsXG4gICAgUGFwZXJQbGFuZVRvcFNvbGlkID0gXCJwYXBlcl9wbGFuZV90b3Bfc29saWRcIixcbiAgICBQZGYgPSBcInBkZlwiLFxuICAgIFBlcnNvbkRpZ2dpbmdSZWd1bGFyID0gXCJwZXJzb25fZGlnZ2luZ19yZWd1bGFyXCIsXG4gICAgUGluUm91bmRPcGVuID0gXCJwaW5fcm91bmRfb3BlblwiLFxuICAgIFBsdXNSZWd1bGFyID0gXCJwbHVzX3JlZ3VsYXJcIixcbiAgICBQbHVzU2ltcGxlID0gXCJwbHVzX3NpbXBsZVwiLFxuICAgIFByaW50ID0gXCJwcmludFwiLFxuICAgIFByaW50UmVndWxhciA9IFwicHJpbnRfcmVndWxhclwiLFxuICAgIFByaW50U29saWQgPSBcInByaW50X3NvbGlkXCIsXG4gICAgUmVndWxhckZpbGVTaWduYXR1cmVDaXJjbGVQbHVzID0gXCJyZWd1bGFyX2ZpbGVfc2lnbmF0dXJlX2NpcmNsZV9wbHVzXCIsXG4gICAgU2hhcmVTb2xpZCA9IFwic2hhcmVfc29saWRcIixcbiAgICBTaWduYXR1cmVGaWVsZCA9IFwic2lnbmF0dXJlX2ZpZWxkXCIsXG4gICAgU29saWRCYXJjb2RlUmVhZFRhZyA9IFwic29saWRfYmFyY29kZV9yZWFkX3RhZ1wiLFxuICAgIFNxdWFyZVBsdXNSZWd1bGFyID0gXCJzcXVhcmVfcGx1c19yZWd1bGFyXCIsXG4gICAgVGFnUmVndWxhciA9IFwidGFnX3JlZ3VsYXJcIixcbiAgICBUYXNrID0gXCJ0YXNrXCIsXG4gICAgVHJhc2hiaW4gPSBcInRyYXNoYmluXCIsXG4gICAgVHJhc2hDYW5SZWd1bGFyID0gXCJ0cmFzaF9jYW5fcmVndWxhclwiLFxuICAgIFhtbCA9IFwieG1sXCIsXG4gICAgWFNvbGlkID0gXCJ4X3NvbGlkXCJcbn0iXX0=