iptdevs-design-system 3.1.278 → 3.1.280

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.
@@ -142,6 +142,52 @@ export class CodFormComponent {
142
142
  this.loaderMessage = 'Editando COD, espere un momento';
143
143
  let request = this.getUpdateCOD(totalData);
144
144
  console.log(request);
145
+ this.commercialService.updateCOD(request).subscribe({
146
+ next: (response) => {
147
+ if (response.message.code === 1) {
148
+ this.isLoading = false;
149
+ this.loaderMessage = '';
150
+ Swal.fire({
151
+ title: 'Perfecto!',
152
+ text: 'El COD ha sido Editado exitosamente.',
153
+ icon: 'success'
154
+ });
155
+ this.localStorageCOD.clearData();
156
+ this.okCreatedCOD.emit(true);
157
+ }
158
+ else if (response.message.code === 4) {
159
+ this.isLoading = false;
160
+ this.loaderMessage = '';
161
+ const errorMessages = response.data.errors.map(error => `- ${error.message}`).join('<br>');
162
+ Swal.fire({
163
+ title: 'Revisar lo seleccionado en los campos',
164
+ html: `${errorMessages}`,
165
+ icon: 'warning'
166
+ });
167
+ }
168
+ else {
169
+ this.isLoading = false;
170
+ this.loaderMessage = '';
171
+ Swal.fire({
172
+ title: 'Warning!',
173
+ text: response.message.message,
174
+ icon: 'error'
175
+ });
176
+ }
177
+ },
178
+ error: (err) => {
179
+ this.isLoading = false;
180
+ this.loaderMessage = '';
181
+ Swal.fire({
182
+ title: 'Error in cod creation',
183
+ text: err.message,
184
+ icon: 'error'
185
+ });
186
+ },
187
+ complete: () => {
188
+ this.codCreationSubscription = null;
189
+ }
190
+ });
145
191
  // this.commercialService.EditCod(request).subscribe({
146
192
  // next: (response: any) => {
147
193
  // this.isLoading = false;
@@ -346,4 +392,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.7", ngImpor
346
392
  }], okCreatedCOD: [{
347
393
  type: Output
348
394
  }] } });
349
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29kLWZvcm0uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vZGVzaWduLXN5c3RlbS9zcmMvbGliL2NvZC9jb2QtZm9ybS9jb2QtZm9ybS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9kZXNpZ24tc3lzdGVtL3NyYy9saWIvY29kL2NvZC1mb3JtL2NvZC1mb3JtLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBYSxNQUFNLEVBQTRCLE1BQU0sZUFBZSxDQUFDO0FBRTVHLE9BQU8sSUFBSSxNQUFNLGFBQWEsQ0FBQzs7Ozs7Ozs7Ozs7Ozs7QUFXL0IsTUFBTSxPQUFPLGdCQUFnQjtJQXNCM0IsWUFDVSxXQUF3QixFQUN4QixlQUF1QyxFQUN2QyxlQUFnQyxFQUNoQyxpQkFBb0M7UUFIcEMsZ0JBQVcsR0FBWCxXQUFXLENBQWE7UUFDeEIsb0JBQWUsR0FBZixlQUFlLENBQXdCO1FBQ3ZDLG9CQUFlLEdBQWYsZUFBZSxDQUFpQjtRQUNoQyxzQkFBaUIsR0FBakIsaUJBQWlCLENBQW1CO1FBcEJwQyxpQkFBWSxHQUFHLElBQUksWUFBWSxFQUFXLENBQUM7UUFHN0MsaUJBQVksR0FBYTtZQUMvQixFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUU7U0FDbkMsQ0FBQztRQUVLLGdCQUFXLEdBQVcsQ0FBQyxDQUFDO1FBQ3hCLGNBQVMsR0FBVyxrQ0FBa0MsQ0FBQztRQUV2RCxjQUFTLEdBQVcsQ0FBQyxDQUFDO1FBRXRCLGNBQVMsR0FBWSxLQUFLLENBQUM7UUFDM0Isa0JBQWEsR0FBVyxFQUFFLENBQUM7UUFDM0IsNEJBQXVCLEdBQXdCLElBQUksQ0FBQztRQVF6RCxJQUFJLENBQUMsUUFBUSxH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QUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSztZQUN6RSxZQUFZLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxPQUFPLEtBQUssY0FBYyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSztZQUMzRSxhQUFhLEVBQUUsSUFBSSxDQUFDLGFBQWM7WUFDbEMsYUFBYSxFQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsT0FBTyxLQUFLLGVBQWUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUs7WUFDN0UsV0FBVyxFQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsT0FBTyxLQUFLLGFBQWEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUs7WUFDekUsVUFBVSxFQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsT0FBTyxLQUFLLFlBQVksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUs7WUFDdkUsS0FBSyxFQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsT0FBTyxLQUFLLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUs7WUFDN0QsV0FBVyxFQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsT0FBTyxLQUFLLGFBQWEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUs7WUFDekUsR0FBRyxFQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsT0FBTyxLQUFLLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUs7WUFDekQsT0FBTyxFQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENB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QyxhQUFjO1lBQ2xDLGFBQWEsRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLE9BQU8sS0FBSyxlQUFlLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLO1lBQzdFLFdBQVcsRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLE9BQU8sS0FBSyxhQUFhLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLO1lBQ3pFLFVBQVUsRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLE9BQU8sS0FBSyxZQUFZLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLO1lBQ3ZFLEtBQUssRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLE9BQU8sS0FBSyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLO1lBQzdELEdBQUcsRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLE9BQU8sS0FBSyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLO1lBQ3pELE9BQU8sRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLE9BQU8sS0FBSyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLO1lBQ2pFLEtBQUssRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLE9BQU8sS0FBSyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLO1lBQzdELGFBQWEsRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLE9BQU8sS0FBSyxlQUFlLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLO1lBQzdFLFdBQVcsRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLE9BQU8sS0FBSyxhQUFhLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLO1lBQ3pFLFFBQVEsRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLE9BQU8sS0FBSyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLO1NBQ3BFLENBQUE7UUFDRCxPQUFPLE9BQU8sQ0FBQztJQUNqQixDQUFDO0lBRUQsVUFBVSxDQUFDLElBQVk7UUFDckIsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUM7SUFDMUIsQ0FBQzs7NkdBdFZVLGdCQUFnQjtpR0FBaEIsZ0JBQWdCLDBQQ2I3QixrNEVBaUNBOzJGRHBCYSxnQkFBZ0I7a0JBTDVCLFNBQVM7K0JBQ0UsY0FBYztxTUFNZixzQkFBc0I7c0JBQTlCLEtBQUs7Z0JBQ0csWUFBWTtzQkFBcEIsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLE9BQU87c0JBQWYsS0FBSztnQkFDSSxZQUFZO3NCQUFyQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkNoYW5nZXMsIE91dHB1dCwgU2ltcGxlQ2hhbmdlcywgT25EZXN0cm95IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcbmltcG9ydCBTd2FsIGZyb20gJ3N3ZWV0YWxlcnQyJztcbmltcG9ydCB7IENyZWF0ZUNPRFJxLCBJVXBkYXRlQ09EUnEgfSBmcm9tICcuLi8uLi9jb3JlL21vZGVscy9jb2QvY29kLXJxLm1vZGVsJztcbmltcG9ydCB7IENvbW1lcmNpYWxTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vY29yZS9zZXJ2aWNlcy9jb21tZXJjaWFsLXNlcnZpY2UvY29tZXJjaWFsLnNlcnZpY2UnO1xuaW1wb3J0IHsgQmFzZVNlcnZpY2UgfSBmcm9tICcuLi8uLi9jb3JlL3V0aWxzL2Jhc2Utc2VydmljZS9iYXNlLnNlcnZpY2UnO1xuaW1wb3J0IHsgQ29kRm9ybUNvbnRyb2xzLCBDb250cm9sIH0gZnJvbSAnLi4vbG9naWMvY29kLWZvcm0tY29udHJvbHMnO1xuaW1wb3J0IHsgTG9jYWxTdG9yYWdlQ09EU2VydmljZSB9IGZyb20gJy4uL2xvZ2ljL2xvY2FsLXN0b3JhZ2UtY29kLnNlcnZpY2UnO1xuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnaXB0LWNvZC1mb3JtJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2NvZC1mb3JtLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbXVxufSlcbmV4cG9ydCBjbGFzcyBDb2RGb3JtQ29tcG9uZW50IGltcGxlbWVudHMgT25DaGFuZ2VzLCBPbkRlc3Ryb3kge1xuXG4gIEBJbnB1dCgpIGRhdGFGcm9tUHJldml1c0NvZERhdGE/OiBhbnk7XG4gIEBJbnB1dCgpIGNvdXJzZVNlbGVjdD86IGFueTtcbiAgQElucHV0KCkgaXNOZXdDb2QhOiBib29sZWFuO1xuICBASW5wdXQoKSBlZGl0Q29kITogYm9vbGVhbjtcbiAgQE91dHB1dCgpIG9rQ3JlYXRlZENPRCA9IG5ldyBFdmVudEVtaXR0ZXI8Qm9vbGVhbj4oKTtcbiAgc3Vic2NyaXB0aW9uPzogU3Vic2NyaXB0aW9uO1xuXG4gIHByaXZhdGUgYWxsb3dlZFJvbGVzOiBudW1iZXJbXSA9IFtcbiAgICAzMCwgMzEsIDMyLCA0MCwgNDEsIDQyLCA1MCwgNTEsIDUyXG4gIF07XG5cbiAgcHVibGljIGN1cnJlbnRTdGVwOiBudW1iZXIgPSAwO1xuICBwdWJsaWMgZm9ybVRpdGxlOiBzdHJpbmcgPSAnRm9ybXVsYXJpbyBwYXJhIGNyZWFjacOzbiBkZWwgQ09EJztcbiAgcHVibGljIHVzZXJSb2xlOiBudW1iZXI7XG4gIHB1YmxpYyBmb3JtU3RlcHM6IG51bWJlciA9IDU7XG4gIHB1YmxpYyBmaW5hbmNpbmdEYXRhPzogYW55W107XG4gIHB1YmxpYyBpc0xvYWRpbmc6IGJvb2xlYW4gPSBmYWxzZTtcbiAgcHVibGljIGxvYWRlck1lc3NhZ2U6IHN0cmluZyA9ICcnO1xuICBwdWJsaWMgY29kQ3JlYXRpb25TdWJzY3JpcHRpb246IFN1YnNjcmlwdGlvbiB8IG51bGwgPSBudWxsO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgYmFzZVNlcnZpY2U6IEJhc2VTZXJ2aWNlLFxuICAgIHByaXZhdGUgbG9jYWxTdG9yYWdlQ09EOiBMb2NhbFN0b3JhZ2VDT0RTZXJ2aWNlLFxuICAgIHByaXZhdGUgY29kRm9ybUNvbnRyb2xzOiBDb2RGb3JtQ29udHJvbHMsXG4gICAgcHJpdmF0ZSBjb21tZXJjaWFsU2VydmljZTogQ29tbWVyY2lhbFNlcnZpY2VcbiAgKSB7XG4gICAgdGhpcy51c2VyUm9sZSA9IHRoaXMuYmFzZVNlcnZpY2UuZ2V0VXNlclJvbGUoKTtcbiAgfVxuXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcbiAgICBpZiAoY2hhbmdlc1snZWRpdENvZCddKSB7XG4gICAgICBpZiAodGhpcy5lZGl0Q29kKSB7XG4gICAgICAgIGlmICghdGhpcy5kYXRhRnJvbVByZXZpdXNDb2REYXRhLmVkaXRfY291cnNlX3BheW1lbnQpIHtcbiAgICAgICAgICBTd2FsLmZpcmUoe1xuICAgICAgICAgICAgdGl0bGU6ICdRdWVyaWRvIGFzZXNvcicsXG4gICAgICAgICAgICB0ZXh0OiAnU29sbyBwdWVkZSBlZGl0YXIgRGF0b3MgZGVsIGVzdHVkaWFudGUnLFxuICAgICAgICAgICAgaWNvbjogJ3dhcm5pbmcnXG4gICAgICAgICAgfSlcbiAgICAgICAgfVxuICAgICAgICB0aGlzLmZvcm1UaXRsZSA9ICdGb3JtdWxhcmlvIHBhcmEgdmVyaWZpY2FyIHkgZWRpdGFyIGluZm9ybWFjacOzbiBkZWwgQ09EIGFjdHVhbCc7XG4gICAgICB9IGVsc2UgaWYgKHRoaXMuZWRpdENvZCA9PSBmYWxzZSkge1xuICAgICAgICB0aGlzLmZvcm1UaXRsZSA9ICdGb3JtdWxhcmlvIHBhcmEgY3JlYWNpw7NuIGRlbCBDT0QnO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIGlmICh0aGlzLnN1YnNjcmlwdGlvbikge1xuICAgICAgdGhpcy5zdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcbiAgICB9XG4gIH1cblxuICBhbGxvd2VkUm9sZSgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5hbGxvd2VkUm9sZXMuaW5jbHVkZXModGhpcy51c2VyUm9sZSk7XG4gIH1cblxuICBnZXRDb2RieUNvZGUoKSB7XG4gICAgLy8gVE9ETzogVHJhZXIgQ09EIHBvciBjw7NkaWdvIHkgcGludGFybG9cbiAgfVxuXG5cbiAgc2F2ZUZpbmFuY2luZ0RhdGEoZGF0YTogYW55W10pIHtcbiAgICBpZiAoZGF0YSkge1xuICAgICAgY29uc3QgZGF0ZXM6IHN0cmluZ1tdID0gW107XG4gICAgICBkYXRhLmZvckVhY2gocCA9PiB7XG4gICAgICAgIGNvbnN0IGRhdGUgPSBwWzJdO1xuICAgICAgICBkYXRlcy5wdXNoKGRhdGUpO1xuICAgICAgfSlcbiAgICAgIHRoaXMuZmluYW5jaW5nRGF0YSA9IGRhdGVzO1xuICAgIH1cbiAgfVxuXG4gIGdldEZvcm1BY3Rpb24oYWN0aW9uOiBzdHJpbmcpIHtcbiAgICBpZiAoIXRoaXMuZmluYW5jaW5nRGF0YSAmJiB0aGlzLmxvY2FsU3RvcmFnZUNPRC5nZXRDb2RGb3JtRGF0YSg0LCAncGF5bWVudF9tZXRob2QnKSA9PT0gJzEnKSB7XG4gICAgICBTd2FsLmZpcmUoe1xuICAgICAgICB0aXRsZTogJ1F1ZXJpZG8gYXNlc29yJyxcbiAgICAgICAgdGV4dDogJ0RlYmUgaGFjZXIgZWwgY8OhbGN1bG8gZGUgbGFzIGN1b3RhcyBlbiBlbCBwYXNvIDQnLFxuICAgICAgICBpY29uOiAnZXJyb3InXG4gICAgICB9KVxuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBjb25zdCB0b3RhbERhdGE6IGFueVtdID0gW107XG5cbiAgICB0aGlzLnN1YnNjcmlwdGlvbiA9IHRoaXMuY29kRm9ybUNvbnRyb2xzLmdldENvbnRyb2xWYWx1ZXMoKS5zdWJzY3JpYmUoKGNvbnRyb2xzKSA9PiB7XG4gICAgICBjb25zb2xlLmxvZyhjb250cm9scyk7XG4gICAgICAgIGZvciAobGV0IGkgPSAxOyBpIDw9IHRoaXMuZm9ybVN0ZXBzOyBpKyspIHtcbiAgICAgICAgICBsZXQgY29udHJvbHNCeVN0ZXA6IENvbnRyb2xbXSA9IGNvbnRyb2xzW2ktMV07XG4gICAgICAgICAgICBjb250cm9sc0J5U3RlcC5mb3JFYWNoKGNvbnRyb2wgPT4ge1xuICAgICAgICAgICAgICBsZXQgdmFsdWUgPSB0aGlzLmxvY2FsU3RvcmFnZUNPRC5nZXRDb2RGb3JtRGF0YShpLCBjb250cm9sLm5hbWUpO1xuICAgICAgICAgICAgICAvLyBDYW1iaWFyIFRydWUvRmFsc2UgZGVsIG11bHRpY3VsdHVyYWxpc21vIDEvMFxuICAgICAgICAgICAgICBpZiAodmFsdWUgPT09ICdmYWxzZScgJiYgY29udHJvbC5kZXNjcmlwdGlvbiA9PT0gJ011bHRpY3VsdHVyYWxpc21vJykge1xuICAgICAgICAgICAgICAgIHRvdGFsRGF0YS5wdXNoKHtcbiAgICAgICAgICAgICAgICAgIGNvbnRyb2w6IGNvbnRyb2wubmFtZSxcbiAgICAgICAgICAgICAgICAgIGlzUmVxdWlyZWQ6IGNvbnRyb2wucmVxdWlyZWQsXG4gICAgICAgICAgICAgICAgICB2YWx1ZTogJzAnLFxuICAgICAgICAgICAgICAgICAgZGVzY3JpcHRpb246IGNvbnRyb2wuZGVzY3JpcHRpb25cbiAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICB9IGVsc2UgaWYgKHZhbHVlID09PSAndHJ1ZScgJiYgY29udHJvbC5kZXNjcmlwdGlvbiA9PT0gJ011bHRpY3VsdHVyYWxpc21vJykge1xuICAgICAgICAgICAgICAgIHRvdGFsRGF0YS5wdXNoKHtcbiAgICAgICAgICAgICAgICAgIGNvbnRyb2w6IGNvbnRyb2wubmFtZSxcbiAgICAgICAgICAgICAgICAgIGlzUmVxdWlyZWQ6IGNvbnRyb2wucmVxdWlyZWQsXG4gICAgICAgICAgICAgICAgICB2YWx1ZTogJzEnLFxuICAgICAgICAgICAgICAgICAgZGVzY3JpcHRpb246IGNvbnRyb2wuZGVzY3JpcHRpb25cbiAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIHRvdGFsRGF0YS5wdXNoKHtcbiAgICAgICAgICAgICAgICAgIGNvbnRyb2w6IGNvbnRyb2wubmFtZSxcbiAgICAgICAgICAgICAgICAgIGlzUmVxdWlyZWQ6IGNvbnRyb2wucmVxdWlyZWQsXG4gICAgICAgICAgICAgICAgICB2YWx1ZSxcbiAgICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBjb250cm9sLmRlc2NyaXB0aW9uXG4gICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSk7XG4gICAgICB9XG5cbiAgICAgIC8vIFZhbGlkYXIgZXJyb3Jlc1xuICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCB0b3RhbERhdGEubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgY29uc3QgZWxlbWVudCA9IHRvdGFsRGF0YVtpXTtcbiAgICAgICAgaWYgKCFlbGVtZW50LnZhbHVlICYmIGVsZW1lbnQuaXNSZXF1aXJlZCkge1xuICAgICAgICAgIFN3YWwuZmlyZSh7XG4gICAgICAgICAgICB0aXRsZTogJ0Vycm9yIEZvcm0gQWN0aW9uIFZhbGlkYXRlIEVycm9yJyxcbiAgICAgICAgICAgIHRleHQ6IGBSZXZpc2FyIGVsIGNhbXBvOiBcIiR7ZWxlbWVudC5kZXNjcmlwdGlvbn1cImAsXG4gICAgICAgICAgICBpY29uOiAnZXJyb3InXG4gICAgICAgICAgfSk7XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgaWYgKGFjdGlvbiA9PT0gJ2NyZWF0ZScpIHRoaXMuY3JlYXRlQ09EKHRvdGFsRGF0YSk7XG4gICAgICBpZiAoYWN0aW9uID09PSAndXBkYXRlJykgdGhpcy51cGRhdGVDT0QodG90YWxEYXRhKTtcbiAgICB9KVxuXG4gICAgdGhpcy5zdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcblxuICB9XG5cbiAgdXBkYXRlQ09EKHRvdGFsRGF0YTogYW55W10pIHtcbiAgICBjb25zb2xlLmxvZygnYWN0dWFsaXphbmRvIENPRC4uLicpO1xuICAgIGNvbnNvbGUubG9nKFwidXBkYXRlQ09EXCIpO1xuICAgIGNvbnNvbGUubG9nKHRvdGFsRGF0YSk7XG4gICAgaWYgKHRoaXMuY29kQ3JlYXRpb25TdWJzY3JpcHRpb24gJiYgIXRoaXMuY29kQ3JlYXRpb25TdWJzY3JpcHRpb24uY2xvc2VkKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIHRoaXMuaXNMb2FkaW5nID0gdHJ1ZTtcbiAgICB0aGlzLmxvYWRlck1lc3NhZ2UgPSAnRWRpdGFuZG8gQ09ELCBlc3BlcmUgdW4gbW9tZW50bydcbiAgICBsZXQgcmVxdWVzdDogSVVwZGF0ZUNPRFJxID0gdGhpcy5nZXRVcGRhdGVDT0QodG90YWxEYXRhKTtcbiAgICBjb25zb2xlLmxvZyhyZXF1ZXN0KTtcblxuICAgIC8vIHRoaXMuY29tbWVyY2lhbFNlcnZpY2UuRWRpdENvZChyZXF1ZXN0KS5zdWJzY3JpYmUoe1xuICAgIC8vICAgbmV4dDogKHJlc3BvbnNlOiBhbnkpID0+IHtcbiAgICAvLyAgIHRoaXMuaXNMb2FkaW5nID0gZmFsc2U7XG4gICAgLy8gICB0aGlzLmxvYWRlck1lc3NhZ2UgPSAnJztcbiAgICAvLyAgIH0sXG4gICAgLy8gICBlcnJvcjogKGVycjogYW55KSA9PiB7XG4gICAgLy8gICB9XG4gICAgLy8gfSk7XG5cbiAgfVxuXG4gIGNyZWF0ZUNPRCh0b3RhbERhdGE6IGFueVtdKSB7XG4gICAgaWYgKHRoaXMuY29kQ3JlYXRpb25TdWJzY3JpcHRpb24gJiYgIXRoaXMuY29kQ3JlYXRpb25TdWJzY3JpcHRpb24uY2xvc2VkKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIHRoaXMuaXNMb2FkaW5nID0gdHJ1ZTtcbiAgICB0aGlzLmxvYWRlck1lc3NhZ2UgPSAnQ3JlYW5kbyBDT0QsIGVzcGVyZSB1biBtb21lbnRvJ1xuICAgIGxldCByZXF1ZXN0OiBDcmVhdGVDT0RScSA9IHRoaXMuZ2V0Q3JlYXRlQ09EKHRvdGFsRGF0YSk7XG4gICAgdGhpcy5jb21tZXJjaWFsU2VydmljZS5jcmVhdGVDT0QocmVxdWVzdCkuc3Vic2NyaWJlKHtcbiAgICAgIG5leHQ6IChyZXNwb25zZTogYW55KSA9PiB7XG4gICAgICAgIGlmIChyZXNwb25zZS5tZXNzYWdlLmNvZGUgPT09IDEpIHtcbiAgICAgICAgICB0aGlzLmlzTG9hZGluZyA9IGZhbHNlO1xuICAgICAgICAgIHRoaXMubG9hZGVyTWVzc2FnZSA9ICcnO1xuICAgICAgICAgIFN3YWwuZmlyZSh7XG4gICAgICAgICAgICB0aXRsZTogJ1BlcmZlY3RvIScsXG4gICAgICAgICAgICB0ZXh0OiAnRWwgQ09EIGhhIHNpZG8gY3JlYWRvIGV4aXRvc2FtZW50ZS4nLFxuICAgICAgICAgICAgaWNvbjogJ3N1Y2Nlc3MnXG4gICAgICAgICAgfSlcbiAgICAgICAgICB0aGlzLmxvY2FsU3RvcmFnZUNPRC5jbGVhckRhdGEoKTtcbiAgICAgICAgICB0aGlzLm9rQ3JlYXRlZENPRC5lbWl0KHRydWUpO1xuICAgICAgICB9ZWxzZSBpZiAocmVzcG9uc2UubWVzc2FnZS5jb2RlID09PSA0KSB7XG4gICAgICAgICAgdGhpcy5pc0xvYWRpbmcgPSBmYWxzZTtcbiAgICAgICAgICB0aGlzLmxvYWRlck1lc3NhZ2UgPSAnJztcbiAgICAgICAgICBjb25zdCBlcnJvck1lc3NhZ2VzID0gKHJlc3BvbnNlLmRhdGEuZXJyb3JzIGFzIGFueVtdKS5tYXAoZXJyb3IgPT4gYC0gJHtlcnJvci5tZXNzYWdlfWApLmpvaW4oJzxicj4nKTtcblxuICAgICAgICAgIFN3YWwuZmlyZSh7XG4gICAgICAgICAgICB0aXRsZTogJ1JldmlzYXIgbG8gc2VsZWNjaW9uYWRvIGVuIGxvcyBjYW1wb3MnLFxuICAgICAgICAgICAgaHRtbDogYCR7ZXJyb3JNZXNzYWdlc31gLFxuICAgICAgICAgICAgaWNvbjogJ3dhcm5pbmcnXG4gICAgICAgICAgfSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgdGhpcy5pc0xvYWRpbmcgPSBmYWxzZTtcbiAgICAgICAgICB0aGlzLmxvYWRlck1lc3NhZ2UgPSAnJztcblxuICAgICAgICAgIFN3YWwuZmlyZSh7XG4gICAgICAgICAgICB0aXRsZTogJ1dhcm5pbmchJyxcbiAgICAgICAgICAgIHRleHQ6IHJlc3BvbnNlLm1lc3NhZ2UubWVzc2FnZSxcbiAgICAgICAgICAgIGljb246ICdlcnJvcidcbiAgICAgICAgICB9KVxuICAgICAgICB9XG4gICAgICB9LFxuICAgICAgZXJyb3I6IChlcnI6IGFueSkgPT4ge1xuICAgICAgICB0aGlzLmlzTG9hZGluZyA9IGZhbHNlO1xuICAgICAgICB0aGlzLmxvYWRlck1lc3NhZ2UgPSAnJztcbiAgICAgICAgU3dhbC5maXJlKHtcbiAgICAgICAgICB0aXRsZTogJ0Vycm9yIGluIGNvZCBjcmVhdGlvbicsXG4gICAgICAgICAgdGV4dDogZXJyLm1lc3NhZ2UsXG4gICAgICAgICAgaWNvbjogJ2Vycm9yJ1xuICAgICAgICB9KVxuICAgICAgfSxcbiAgICAgIGNvbXBsZXRlOiAoKSA9PiB7XG4gICAgICAgIHRoaXMuY29kQ3JlYXRpb25TdWJzY3JpcHRpb24gPSBudWxsO1xuICAgICAgfVxuICAgIH0pXG5cbiAgfVxuXG4gIGdldENyZWF0ZUNPRChkYXRhOiBhbnlbXSk6IENyZWF0ZUNPRFJxIHtcbiAgICBsZXQgcmVxdWVzdDogQ3JlYXRlQ09EUnEgPSB7XG4gICAgICB0b2tlbjogdGhpcy5iYXNlU2VydmljZS5nZXRVc2VyVG9rZW4oKSxcbiAgICAgIHN0dWRlbnRfbmFtZTogZGF0YS5maWx0ZXIoZGF0YSA9PiBkYXRhLmNvbnRyb2wgPT09ICdzdHVkZW50X25hbWUnKVswXS52YWx1ZSxcbiAgICAgIHN0dWRlbnRfbGFzdF9uYW1lOiBkYXRhLmZpbHRlcihkYXRhID0+IGRhdGEuY29udHJvbCA9PT0gJ3N0dWRlbnRfbGFzdF9uYW1lJylbMF0udmFsdWUsXG4gICAgICBuaWNrbmFtZTogZGF0YS5maWx0ZXIoZGF0YSA9PiBkYXRhLmNvbnRyb2wgPT09ICduaWNrbmFtZScpWzBdLnZhbHVlLFxuICAgICAgc3R1ZGVudF9lbWFpbDogZGF0YS5maWx0ZXIoZGF0YSA9PiBkYXRhLmNvbnRyb2wgPT09ICdzdHVkZW50X2VtYWlsJylbMF0udmFsdWUsXG4gICAgICBzdHVkZW50X3Bob25lX2luZGljYXRpdmU6IGRhdGEuZmlsdGVyKGRhdGEgPT4gZGF0YS5jb250cm9sID09PSAnc3R1ZGVudF9waG9uZV9pbmRpY2F0aXZlJylbMF0udmFsdWUsXG4gICAgICBzdHVkZW50X3Bob25lX251bWJlcjogZGF0YS5maWx0ZXIoZGF0YSA9PiBkYXRhLmNvbnRyb2wgPT09ICdzdHVkZW50X3Bob25lX251bWJlcicpWzBdLnZhbHVlLFxuICAgICAgZ2VuZGVyOiBkYXRhLmZpbHRlcihkYXRhID0+IGRhdGEuY29udHJvbCA9PT0gJ2dlbmRlcicpWzBdLnZhbHVlLFxuICAgICAgYmlydGhkYXRlOiBkYXRhLmZpbHRlcihkYXRhID0+IGRhdGEuY29udHJvbCA9PT0gJ2JpcnRoZGF0ZScpWzBdLnZhbHVlLFxuICAgICAgY2l0eTogZGF0YS5maWx0ZXIoZGF0YSA9PiBkYXRhLmNvbnRyb2wgPT09ICdjaXR5JylbMF0udmFsdWUsXG4gICAgICBzdHVkZW50X2lkX2NhcmRfdHlwZTogZGF0YS5maWx0ZXIoZGF0YSA9PiBkYXRhLmNvbnRyb2wgPT09ICdzdHVkZW50X2lkX2NhcmRfdHlwZScpWzBdLnZhbHVlLFxuICAgICAgc3R1ZGVudF9pZF9jYXJkOiBkYXRhLmZpbHRlcihkYXRhID0+IGRhdGEuY29udHJvbCA9PT0gJ3N0dWRlbnRfaWRfY2FyZCcpWzBdLnZhbHVlLFxuICAgICAgcGFzc3dvcmQ6IGRhdGEuZmlsdGVyKGRhdGEgPT4gZGF0YS5jb250cm9sID09PSAncGFzc3dvcmQnKVswXS52YWx1ZSxcbiAgICAgIG5lZWRBdGVuZGFudDogZGF0YS5maWx0ZXIoZGF0YSA9PiBkYXRhLmNvbnRyb2wgPT09ICduZWVkQXRlbmRhbnQnKVswXS52YWx1ZSxcbiAgICAgIHBhcmVudF9uYW1lOiBkYXRhLmZpbHRlcihkYXRhID0+IGRhdGEuY29udHJvbCA9PT0gJ3BhcmVudF9uYW1lJylbMF0udmFsdWUsXG4gICAgICBwYXJlbnRfbGFzdF9uYW1lOiBkYXRhLmZpbHRlcihkYXRhID0+IGRhdGEuY29udHJvbCA9PT0gJ3BhcmVudF9sYXN0X25hbWUnKVswXS52YWx1ZSxcbiAgICAgIHBhcmVudF9pZF9jYXJkX3R5cGU6IGRhdGEuZmlsdGVyKGRhdGEgPT4gZGF0YS5jb250cm9sID09PSAncGFyZW50X2lkX2NhcmRfdHlwZScpWzBdLnZhbHVlLFxuICAgICAgcGFyZW50X2lkX2NhcmQ6IGRhdGEuZmlsdGVyKGRhdGEgPT4gZGF0YS5jb250cm9sID09PSAncGFyZW50X2lkX2NhcmQnKVswXS52YWx1ZSxcbiAgICAgIHBhcmVudF9waG9uZV9pbmRpY2F0aXZlOiBkYXRhLmZpbHRlcihkYXRhID0+IGRhdGEuY29udHJvbCA9PT0gJ3BhcmVudF9waG9uZV9pbmRpY2F0aXZlJylbMF0udmFsdWUsXG4gICAgICBwYXJlbnRfcGhvbmVfbnVtYmVyOiBkYXRhLmZpbHRlcihkYXRhID0+IGRhdGEuY29udHJvbCA9PT0gJ3BhcmVudF9waG9uZV9udW1iZXInKVswXS52YWx1ZSxcbiAgICAgIHBhcmVudF9vY2N1cGF0aW9uOiBkYXRhLmZpbHRlcihkYXRhID0+IGRhdGEuY29udHJvbCA9PT0gJ3BhcmVudF9vY2N1cGF0aW9uJylbMF0udmFsdWUsXG4gICAgICBwYXJlbnRfb2ZmaWNlX2FkZHJlc3M6IGRhdGEuZmlsdGVyKGRhdGEgPT4gZGF0YS5jb250cm9sID09PSAncGFyZW50X2FkZHJlc3MnKVswXS52YWx1ZSxcbiAgICAgIHNvY2lhbF9zdHJhdHVtOiBkYXRhLmZpbHRlcihkYXRhID0+IGRhdGEuY29udHJvbCA9PT0gJ3N0cmF0dW0nKVswXS52YWx1ZSxcbiAgICAgIGNpdmlsX3N0YXR1czogZGF0YS5maWx0ZXIoZGF0YSA9PiBkYXRhLmNvbnRyb2wgPT09ICdjaXZpbF9zdGF0dXMnKVswXS52YWx1ZSxcbiAgICAgIGVkdWNhdGlvbmFsX2xldmVsOiBkYXRhLmZpbHRlcihkYXRhID0+IGRhdGEuY29udHJvbCA9PT0gJ2dyYWRlJylbMF0udmFsdWUsXG4gICAgICBzdHVkZW50X2FkZHJlc3M6IGRhdGEuZmlsdGVyKGRhdGEgPT4gZGF0YS5jb250cm9sID09PSAnc3R1ZGVudF9hZGRyZXNzJylbMF0udmFsdWUsXG4gICAgICBzdHVkZW50X29jY3VwYXRpb246IGRhdGEuZmlsdGVyKGRhdGEgPT4gZGF0YS5jb250cm9sID09PSAnc3R1ZGVudF9vY2N1cGF0aW9uJylbMF0udmFsdWUsXG4gICAgICBkaXNhYmlsaXR5OiBkYXRhLmZpbHRlcihkYXRhID0+IGRhdGEuY29udHJvbCA9PT0gJ2Rpc2FiaWxpdHknKVswXS52YWx1ZSxcbiAgICAgIGhlYWx0aF9yZWdpbWVuOiBkYXRhLmZpbHRlcihkYXRhID0+IGRhdGEuY29udHJvbCA9PT0gJ2hlYWx0aF9yZWdpbWVuJylbMF0udmFsdWUsXG4gICAgICBtYXJrZXRpbmdfcmVhc29uczogZGF0YS5maWx0ZXIoZGF0YSA9PiBkYXRhLmNvbnRyb2wgPT09ICdtYXJrZXRpbmdfcmVhc29ucycpWzBdLnZhbHVlLFxuICAgICAgc3R1ZHlfcmVhc29uczogZGF0YS5maWx0ZXIoZGF0YSA9PiBkYXRhLmNvbnRyb2wgPT09ICdzdHVkeV9yZWFzb25zJylbMF0udmFsdWUsXG4gICAgICBvYnNlcnZhdGlvbjogZGF0YS5maWx0ZXIoZGF0YSA9PiBkYXRhLmNvbnRyb2wgPT09ICdvYnNlcnZhdGlvbicpWzBdLnZhbHVlLFxuICAgICAgbXVsdGljdWx0dXJhbGlzbV8xOiBkYXRhLmZpbHRlcihkYXRhID0+IGRhdGEuY29udHJvbCA9PT0gJ211bHRpY3VsdHVyYWxpc21fMScpWzBdLnZhbHVlLFxuICAgICAgbXVsdGljdWx0dXJhbGlzbV8yOiBkYXRhLmZpbHRlcihkYXRhID0+IGRhdGEuY29udHJvbCA9PT0gJ211bHRpY3VsdHVyYWxpc21fMicpWzBdLnZhbHVlLFxuICAgICAgbXVsdGljdWx0dXJhbGlzbV8zOiBkYXRhLmZpbHRlcihkYXRhID0+IGRhdGEuY29udHJvbCA9PT0gJ211bHRpY3VsdHVyYWxpc21fMycpWzBdLnZhbHVlLFxuICAgICAgbXVsdGljdWx0dXJhbGlzbV80OiBkYXRhLmZpbHRlcihkYXRhID0+IGRhdGEuY29udHJvbCA9PT0gJ211bHRpY3VsdHVyYWxpc21fNCcpWzBdLnZhbHVlLFxuICAgICAgbXVsdGljdWx0dXJhbGlzbV81OiBkYXRhLmZpbHRlcihkYXRhID0+IGRhdGEuY29udHJvbCA9PT0gJ211bHRpY3VsdHVyYWxpc21fNScpWzBdLnZhbHVlLFxuICAgICAgbXVsdGljdWx0dXJhbGlzbV82OiBkYXRhLmZpbHRlcihkYXRhID0+IGRhdGEuY29udHJvbCA9PT0gJ211bHRpY3VsdHVyYWxpc21fNicpWzBdLnZhbHVlLFxuICAgICAgYXZhaWxpYmxlX2NvdXJzZXM6IGRhdGEuZmlsdGVyKGRhdGEgPT4gZGF0YS5jb250cm9sID09PSAnYXZhaWxpYmxlX2NvdXJzZXMnKVswXS52YWx1ZSxcbiAgICAgIGNvdXJzZV90eXBlOiBkYXRhLmZpbHRlcihkYXRhID0+IGRhdGEuY29udHJvbCA9PT0gJ2NvdXJzZV90eXBlJylbMF0udmFsdWUsXG4gICAgICBhZ3JlZW1lbnRfYnlfY2F0ZWdvcnk6IGRhdGEuZmlsdGVyKGRhdGEgPT4gZGF0YS5jb250cm9sID09PSAnYWdyZWVtZW50X2J5X2NhdGVnb3J5JylbMF0udmFsdWUsXG4gICAgICBlbmdsaXNoX2xldmVsOiBkYXRhLmZpbHRlcihkYXRhID0+IGRhdGEuY29udHJvbCA9PT0gJ2VuZ2xpc2hfbGV2ZWwnKVswXS52YWx1ZSxcbiAgICAgIHBheW1lbnRfbWV0aG9kOiBkYXRhLmZpbHRlcihkYXRhID0+IGRhdGEuY29udHJvbCA9PT0gJ3BheW1lbnRfbWV0aG9kJylbMF0udmFsdWUsXG4gICAgICBxdW90YV90aW1lczogZGF0YS5maWx0ZXIoZGF0YSA9PiBkYXRhLmNvbnRyb2wgPT09ICdxdW90YV90aW1lcycpWzBdLnZhbHVlLFxuICAgICAgcGF5bWVudF9kYXRlOiBkYXRhLmZpbHRlcihkYXRhID0+IGRhdGEuY29udHJvbCA9PT0gJ3BheW1lbnRfZGF0ZScpWzBdLnZhbHVlLFxuICAgICAgcGF5bWVudF9kYXRlczogdGhpcy5maW5hbmNpbmdEYXRhISxcbiAgICAgIHByb2dyYW1fcHJpY2U6IGRhdGEuZmlsdGVyKGRhdGEgPT4gZGF0YS5jb250cm9sID09PSAncHJvZ3JhbV9wcmljZScpWzBdLnZhbHVlLFxuICAgICAgdG90YWxfcHJpY2U6IGRhdGEuZmlsdGVyKGRhdGEgPT4gZGF0YS5jb250cm9sID09PSAndG90YWxfcHJpY2UnKVswXS52YWx1ZSxcbiAgICAgIHBhaWRfbGV2ZWw6IGRhdGEuZmlsdGVyKGRhdGEgPT4gZGF0YS5jb250cm9sID09PSAncGFpZF9sZXZlbCcpWzBdLnZhbHVlLFxuICAgICAgdGVybXM6IGRhdGEuZmlsdGVyKGRhdGEgPT4gZGF0YS5jb250cm9sID09PSAndGVybXMnKVswXS52YWx1ZSxcbiAgICAgIHJlX3Bhc3N3b3JkOiBkYXRhLmZpbHRlcihkYXRhID0+IGRhdGEuY29udHJvbCA9PT0gJ3JlX3Bhc3N3b3JkJylbMF0udmFsdWUsXG4gICAgICBhZ2U6IGRhdGEuZmlsdGVyKGRhdGEgPT4gZGF0YS5jb250cm9sID09PSAnYWdlJylbMF0udmFsdWUsXG4gICAgICBjb3VudHJ5OiBkYXRhLmZpbHRlcihkYXRhID0+IGRhdGEuY29udHJvbCA9PT0gJ2NvdW50cnknKVswXS52YWx1ZSxcbiAgICAgIHN0YXRlOiBkYXRhLmZpbHRlcihkYXRhID0+IGRhdGEuY29udHJvbCA9PT0gJ3N0YXRlJylbMF0udmFsdWUsXG4gICAgICBhY2FkZW1pY19wbGFuOiBkYXRhLmZpbHRlcihkYXRhID0+IGRhdGEuY29udHJvbCA9PT0gJ2FjYWRlbWljX3BsYW4nKVswXS52YWx1ZSxcbiAgICAgIGNvZGVfcmVmZXJzOiBkYXRhLmZpbHRlcihkYXRhID0+IGRhdGEuY29udHJvbCA9PT0gJ2NvZGVfcmVmZXJzJylbMF0udmFsdWUsXG4gICAgfVxuICAgIHJldHVybiByZXF1ZXN0O1xuICB9XG5cbiAgZ2V0VXBkYXRlQ09EKGRhdGE6IGFueVtdKTogSVVwZGF0ZUNPRFJxIHtcbiAgICBsZXQgcmVxdWVzdDogSVVwZGF0ZUNPRFJxID0ge1xuICAgICAgdG9rZW46IHRoaXMuYmFzZVNlcnZpY2UuZ2V0VXNlclRva2VuKCksXG4gICAgICBzdHVkZW50X25hbWU6IGRhdGEuZmlsdGVyKGRhdGEgPT4gZGF0YS5jb250cm9sID09PSAnc3R1ZGVudF9uYW1lJylbMF0udmFsdWUsXG4gICAgICBzdHVkZW50X2xhc3RfbmFtZTogZGF0YS5maWx0ZXIoZGF0YSA9PiBkYXRhLmNvbnRyb2wgPT09ICdzdHVkZW50X2xhc3RfbmFtZScpWzBdLnZhbHVlLFxuICAgICAgbmlja25hbWU6IGRhdGEuZmlsdGVyKGRhdGEgPT4gZGF0YS5jb250cm9sID09PSAnbmlja25hbWUnKVswXS52YWx1ZSxcbiAgICAgIHN0dWRlbnRfZW1haWw6IGRhdGEuZmlsdGVyKGRhdGEgPT4gZGF0YS5jb250cm9sID09PSAnc3R1ZGVudF9lbWFpbCcpWzBdLnZhbHVlLFxuICAgICAgc3R1ZGVudF9waG9uZV9pbmRpY2F0aXZlOiBkYXRhLmZpbHRlcihkYXRhID0+IGRhdGEuY29udHJvbCA9PT0gJ3N0dWRlbnRfcGhvbmVfaW5kaWNhdGl2ZScpWzBdLnZhbHVlLFxuICAgICAgc3R1ZGVudF9waG9uZV9udW1iZXI6IGRhdGEuZmlsdGVyKGRhdGEgPT4gZGF0YS5jb250cm9sID09PSAnc3R1ZGVudF9waG9uZV9udW1iZXInKVswXS52YWx1ZSxcbiAgICAgIGdlbmRlcjogZGF0YS5maWx0ZXIoZGF0YSA9PiBkYXRhLmNvbnRyb2wgPT09ICdnZW5kZXInKVswXS52YWx1ZSxcbiAgICAgIGJpcnRoZGF0ZTogZGF0YS5maWx0ZXIoZGF0YSA9PiBkYXRhLmNvbnRyb2wgPT09ICdiaXJ0aGRhdGUnKVswXS52YWx1ZSxcbiAgICAgIGNpdHk6IGRhdGEuZmlsdGVyKGRhdGEgPT4gZGF0YS5jb250cm9sID09PSAnY2l0eScpWzBdLnZhbHVlLFxuICAgICAgc3R1ZGVudF9pZF9jYXJkX3R5cGU6IGRhdGEuZmlsdGVyKGRhdGEgPT4gZGF0YS5jb250cm9sID09PSAnc3R1ZGVudF9pZF9jYXJkX3R5cGUnKVswXS52YWx1ZSxcbiAgICAgIHN0dWRlbnRfaWRfY2FyZDogZGF0YS5maWx0ZXIoZGF0YSA9PiBkYXRhLmNvbnRyb2wgPT09ICdzdHVkZW50X2lkX2NhcmQnKVswXS52YWx1ZSxcbiAgICAgIG5lZWRBdGVuZGFudDogZGF0YS5maWx0ZXIoZGF0YSA9PiBkYXRhLmNvbnRyb2wgPT09ICduZWVkQXRlbmRhbnQnKVswXS52YWx1ZSxcbiAgICAgIHBhcmVudF9uYW1lOiBkYXRhLmZpbHRlcihkYXRhID0+IGRhdGEuY29udHJvbCA9PT0gJ3BhcmVudF9uYW1lJylbMF0udmFsdWUsXG4gICAgICBwYXJlbnRfbGFzdF9uYW1lOiBkYXRhLmZpbHRlcihkYXRhID0+IGRhdGEuY29udHJvbCA9PT0gJ3BhcmVudF9sYXN0X25hbWUnKVswXS52YWx1ZSxcbiAgICAgIHBhcmVudF9pZF9jYXJkX3R5cGU6IGRhdGEuZmlsdGVyKGRhdGEgPT4gZGF0YS5jb250cm9sID09PSAncGFyZW50X2lkX2NhcmRfdHlwZScpWzBdLnZhbHVlLFxuICAgICAgcGFyZW50X2lkX2NhcmQ6IGRhdGEuZmlsdGVyKGRhdGEgPT4gZGF0YS5jb250cm9sID09PSAncGFyZW50X2lkX2NhcmQnKVswXS52YWx1ZSxcbiAgICAgIHBhcmVudF9waG9uZV9pbmRpY2F0aXZlOiBkYXRhLmZpbHRlcihkYXRhID0+IGRhdGEuY29udHJvbCA9PT0gJ3BhcmVudF9waG9uZV9pbmRpY2F0aXZlJylbMF0udmFsdWUsXG4gICAgICBwYXJlbnRfcGhvbmVfbnVtYmVyOiBkYXRhLmZpbHRlcihkYXRhID0+IGRhdGEuY29udHJvbCA9PT0gJ3BhcmVudF9waG9uZV9udW1iZXInKVswXS52YWx1ZSxcbiAgICAgIHBhcmVudF9vY2N1cGF0aW9uOiBkYXRhLmZpbHRlcihkYXRhID0+IGRhdGEuY29udHJvbCA9PT0gJ3BhcmVudF9vY2N1cGF0aW9uJylbMF0udmFsdWUsXG4gICAgICBwYXJlbnRfb2ZmaWNlX2FkZHJlc3M6IGRhdGEuZmlsdGVyKGRhdGEgPT4gZGF0YS5jb250cm9sID09PSAncGFyZW50X2FkZHJlc3MnKVswXS52YWx1ZSxcbiAgICAgIHNvY2lhbF9zdHJhdHVtOiBkYXRhLmZpbHRlcihkYXRhID0+IGRhdGEuY29udHJvbCA9PT0gJ3N0cmF0dW0nKVswXS52YWx1ZSxcbiAgICAgIGNpdmlsX3N0YXR1czogZGF0YS5maWx0ZXIoZGF0YSA9PiBkYXRhLmNvbnRyb2wgPT09ICdjaXZpbF9zdGF0dXMnKVswXS52YWx1ZSxcbiAgICAgIGVkdWNhdGlvbmFsX2xldmVsOiBkYXRhLmZpbHRlcihkYXRhID0+IGRhdGEuY29udHJvbCA9PT0gJ2dyYWRlJylbMF0udmFsdWUsXG4gICAgICBzdHVkZW50X2FkZHJlc3M6IGRhdGEuZmlsdGVyKGRhdGEgPT4gZGF0YS5jb250cm9sID09PSAnc3R1ZGVudF9hZGRyZXNzJylbMF0udmFsdWUsXG4gICAgICBzdHVkZW50X29jY3VwYXRpb246IGRhdGEuZmlsdGVyKGRhdGEgPT4gZGF0YS5jb250cm9sID09PSAnc3R1ZGVudF9vY2N1cGF0aW9uJylbMF0udmFsdWUsXG4gICAgICBkaXNhYmlsaXR5OiBkYXRhLmZpbHRlcihkYXRhID0+IGRhdGEuY29udHJvbCA9PT0gJ2Rpc2FiaWxpdHknKVswXS52YWx1ZSxcbiAgICAgIGhlYWx0aF9yZWdpbWVuOiBkYXRhLmZpbHRlcihkYXRhID0+IGRhdGEuY29udHJvbCA9PT0gJ2hlYWx0aF9yZWdpbWVuJylbMF0udmFsdWUsXG4gICAgICBtYXJrZXRpbmdfcmVhc29uczogZGF0YS5maWx0ZXIoZGF0YSA9PiBkYXRhLmNvbnRyb2wgPT09ICdtYXJrZXRpbmdfcmVhc29ucycpWzBdLnZhbHVlLFxuICAgICAgc3R1ZHlfcmVhc29uczogZGF0YS5maWx0ZXIoZGF0YSA9PiBkYXRhLmNvbnRyb2wgPT09ICdzdHVkeV9yZWFzb25zJylbMF0udmFsdWUsXG4gICAgICBvYnNlcnZhdGlvbjogZGF0YS5maWx0ZXIoZGF0YSA9PiBkYXRhLmNvbnRyb2wgPT09ICdvYnNlcnZhdGlvbicpWzBdLnZhbHVlLFxuICAgICAgbXVsdGljdWx0dXJhbGlzbV8xOiBkYXRhLmZpbHRlcihkYXRhID0+IGRhdGEuY29udHJvbCA9PT0gJ211bHRpY3VsdHVyYWxpc21fMScpWzBdLnZhbHVlLFxuICAgICAgbXVsdGljdWx0dXJhbGlzbV8yOiBkYXRhLmZpbHRlcihkYXRhID0+IGRhdGEuY29udHJvbCA9PT0gJ211bHRpY3VsdHVyYWxpc21fMicpWzBdLnZhbHVlLFxuICAgICAgbXVsdGljdWx0dXJhbGlzbV8zOiBkYXRhLmZpbHRlcihkYXRhID0+IGRhdGEuY29udHJvbCA9PT0gJ211bHRpY3VsdHVyYWxpc21fMycpWzBdLnZhbHVlLFxuICAgICAgbXVsdGljdWx0dXJhbGlzbV80OiBkYXRhLmZpbHRlcihkYXRhID0+IGRhdGEuY29udHJvbCA9PT0gJ211bHRpY3VsdHVyYWxpc21fNCcpWzBdLnZhbHVlLFxuICAgICAgbXVsdGljdWx0dXJhbGlzbV81OiBkYXRhLmZpbHRlcihkYXRhID0+IGRhdGEuY29udHJvbCA9PT0gJ211bHRpY3VsdHVyYWxpc21fNScpWzBdLnZhbHVlLFxuICAgICAgbXVsdGljdWx0dXJhbGlzbV82OiBkYXRhLmZpbHRlcihkYXRhID0+IGRhdGEuY29udHJvbCA9PT0gJ211bHRpY3VsdHVyYWxpc21fNicpWzBdLnZhbHVlLFxuICAgICAgYXZhaWxpYmxlX2NvdXJzZXM6IGRhdGEuZmlsdGVyKGRhdGEgPT4gZGF0YS5jb250cm9sID09PSAnYXZhaWxpYmxlX2NvdXJzZXMnKVswXS52YWx1ZSxcbiAgICAgIGNvdXJzZV90eXBlOiBkYXRhLmZpbHRlcihkYXRhID0+IGRhdGEuY29udHJvbCA9PT0gJ2NvdXJzZV90eXBlJylbMF0udmFsdWUsXG4gICAgICBhZ3JlZW1lbnRfYnlfY2F0ZWdvcnk6IGRhdGEuZmlsdGVyKGRhdGEgPT4gZGF0YS5jb250cm9sID09PSAnYWdyZWVtZW50X2J5X2NhdGVnb3J5JylbMF0udmFsdWUsXG4gICAgICBlbmdsaXNoX2xldmVsOiBkYXRhLmZpbHRlcihkYXRhID0+IGRhdGEuY29udHJvbCA9PT0gJ2VuZ2xpc2hfbGV2ZWwnKVswXS52YWx1ZSxcbiAgICAgIHBheW1lbnRfbWV0aG9kOiBkYXRhLmZpbHRlcihkYXRhID0+IGRhdGEuY29udHJvbCA9PT0gJ3BheW1lbnRfbWV0aG9kJylbMF0udmFsdWUsXG4gICAgICBxdW90YV90aW1lczogZGF0YS5maWx0ZXIoZGF0YSA9PiBkYXRhLmNvbnRyb2wgPT09ICdxdW90YV90aW1lcycpWzBdLnZhbHVlLFxuICAgICAgcGF5bWVudF9kYXRlOiBkYXRhLmZpbHRlcihkYXRhID0+IGRhdGEuY29udHJvbCA9PT0gJ3BheW1lbnRfZGF0ZScpWzBdLnZhbHVlLFxuICAgICAgcGF5bWVudF9kYXRlczogdGhpcy5maW5hbmNpbmdEYXRhISxcbiAgICAgIHByb2dyYW1fcHJpY2U6IGRhdGEuZmlsdGVyKGRhdGEgPT4gZGF0YS5jb250cm9sID09PSAncHJvZ3JhbV9wcmljZScpWzBdLnZhbHVlLFxuICAgICAgdG90YWxfcHJpY2U6IGRhdGEuZmlsdGVyKGRhdGEgPT4gZGF0YS5jb250cm9sID09PSAndG90YWxfcHJpY2UnKVswXS52YWx1ZSxcbiAgICAgIHBhaWRfbGV2ZWw6IGRhdGEuZmlsdGVyKGRhdGEgPT4gZGF0YS5jb250cm9sID09PSAncGFpZF9sZXZlbCcpWzBdLnZhbHVlLFxuICAgICAgdGVybXM6IGRhdGEuZmlsdGVyKGRhdGEgPT4gZGF0YS5jb250cm9sID09PSAndGVybXMnKVswXS52YWx1ZSxcbiAgICAgIGFnZTogZGF0YS5maWx0ZXIoZGF0YSA9PiBkYXRhLmNvbnRyb2wgPT09ICdhZ2UnKVswXS52YWx1ZSxcbiAgICAgIGNvdW50cnk6IGRhdGEuZmlsdGVyKGRhdGEgPT4gZGF0YS5jb250cm9sID09PSAnY291bnRyeScpWzBdLnZhbHVlLFxuICAgICAgc3RhdGU6IGRhdGEuZmlsdGVyKGRhdGEgPT4gZGF0YS5jb250cm9sID09PSAnc3RhdGUnKVswXS52YWx1ZSxcbiAgICAgIGFjYWRlbWljX3BsYW46IGRhdGEuZmlsdGVyKGRhdGEgPT4gZGF0YS5jb250cm9sID09PSAnYWNhZGVtaWNfcGxhbicpWzBdLnZhbHVlLFxuICAgICAgY29kZV9yZWZlcnM6IGRhdGEuZmlsdGVyKGRhdGEgPT4gZGF0YS5jb250cm9sID09PSAnY29kZV9yZWZlcnMnKVswXS52YWx1ZSxcbiAgICAgIGNvZGVfY29kOiBkYXRhLmZpbHRlcihkYXRhID0+IGRhdGEuY29udHJvbCA9PT0gJ2NvZGVfY29kJylbMF0udmFsdWUsXG4gICAgfVxuICAgIHJldHVybiByZXF1ZXN0O1xuICB9XG5cbiAgY2hhbmdlU3RlcChzdGVwOiBudW1iZXIpIHtcbiAgICB0aGlzLmN1cnJlbnRTdGVwID0gc3RlcDtcbiAgfVxuXG59XG4iLCI8ZGl2ICpuZ0lmPVwiYWxsb3dlZFJvbGUoKSA7IGVsc2UgVW5hdXRob3JpemVkXCIgY2xhc3M9XCJjb250YWluZXIgZmxleCBmbGV4LWNvbHVtbiBiZy13aGl0ZSBib3JkZXItcm91bmQtMnhsIHAtMyBjb250YWluZXIgYW5pbWF0ZV9fYW5pbWF0ZWQgYW5pbWF0ZV9fZmFkZUluVXBcIj5cblxuICA8c3BhbiAqbmdJZj1cImVkaXRDb2RcIiBjbGFzcz1cImJnLXllbGxvdy01MDAgcC0yIGJvcmRlci1yb3VuZCBtYi0yIHctYXV0byB0ZXh0LWxnIGZvbnQtc2VtaWJvbGRcIiBzdHlsZT1cImNvbG9yOiB3aGl0ZTtcIj57eyBmb3JtVGl0bGUgfX08L3NwYW4+XG4gIDxzcGFuICpuZ0lmPVwiIWVkaXRDb2RcIiBjbGFzcz1cImJnLXByaW1hcnkgcC0yIGJvcmRlci1yb3VuZCBtYi0yIHctYXV0byB0ZXh0LWxnIGZvbnQtc2VtaWJvbGRcIj57eyBmb3JtVGl0bGUgfX08L3NwYW4+XG5cbiAgPHAtdGFiVmlldyBbYWN0aXZlSW5kZXhdPVwiY3VycmVudFN0ZXBcIiAoYWN0aXZlSW5kZXhDaGFuZ2UpPVwiY3VycmVudFN0ZXAgPSAkZXZlbnRcIiBbc2Nyb2xsYWJsZV09XCJ0cnVlXCI+XG4gICAgPHAtdGFiUGFuZWwgbGVmdEljb249XCJwaSBwaS1zdGFyXCIgaGVhZGVyPVwiMS4gUGxhbmVzIHkgY29udmVuaW9zXCI+XG4gICAgICA8YXBwLWNvZC1mb3JtLXN0ZXAtb25lIChjaGFuZ2VTdGVwRXZlbnQpPVwiY2hhbmdlU3RlcCgkZXZlbnQpXCIgW2luaXRpYWxEYXRhXT1cImNvdXJzZVNlbGVjdFwiIFtkYXRhUHJldml1c0NvZERhdGFdPVwiZGF0YUZyb21QcmV2aXVzQ29kRGF0YVwiIFtpc0VkaXRDb2RdPVwiZWRpdENvZFwiIGNsYXNzPVwicC0xXCI+PC9hcHAtY29kLWZvcm0tc3RlcC1vbmU+XG4gICAgPC9wLXRhYlBhbmVsPlxuICAgIDxwLXRhYlBhbmVsIGxlZnRJY29uPVwicGkgcGktaWQtY2FyZFwiIGhlYWRlcj1cIjIuIERhdG9zIGRlbCBlc3R1ZGlhbnRlXCI+XG4gICAgICA8YXBwLWNvZC1mb3JtLXN0ZXAtdHdvIChjaGFuZ2VTdGVwRXZlbnQpPVwiY2hhbmdlU3RlcCgkZXZlbnQpXCIgW2luaXRpYWxEYXRhXT1cImRhdGFGcm9tUHJldml1c0NvZERhdGFcIiBbaXNFZGl0Q29kXT1cImVkaXRDb2RcIiBjbGFzcz1cInAtMVwiPjwvYXBwLWNvZC1mb3JtLXN0ZXAtdHdvPlxuICAgIDwvcC10YWJQYW5lbD5cbiAgICA8cC10YWJQYW5lbCBsZWZ0SWNvbj1cInBpIHBpLXVzZXItZWRpdFwiIGhlYWRlcj1cIjMuIERhdG9zIGRlbCBhY3VkaWVudGVcIj5cbiAgICAgIDxhcHAtY29kLWZvcm0tc3RlcC10aHJlZSAgKGNoYW5nZVN0ZXBFdmVudCk9XCJjaGFuZ2VTdGVwKCRldmVudClcIiBbaW5pdGlhbERhdGFdPVwiZGF0YUZyb21QcmV2aXVzQ29kRGF0YVwiIFtpc0VkaXRDb2RdPVwiZWRpdENvZFwiIGNsYXNzPVwicC0xXCI+PC9hcHAtY29kLWZvcm0tc3RlcC10aHJlZT5cbiAgICA8L3AtdGFiUGFuZWw+XG4gICAgPHAtdGFiUGFuZWwgbGVmdEljb249XCJwaSBwaS1tb25leS1iaWxsXCIgaGVhZGVyPVwiNC4gVmFsb3Jlc1wiPlxuICAgICAgPGFwcC1jb2QtZm9ybS1zdGVwLWZvdXIgKGNoYW5nZVN0ZXBFdmVudCk9XCJjaGFuZ2VTdGVwKCRldmVudClcIiAoZmluYW5jaW5nRGF0YSk9XCJzYXZlRmluYW5jaW5nRGF0YSgkZXZlbnQpXCIgW2luaXRpYWxEYXRhXT1cImRhdGFGcm9tUHJldml1c0NvZERhdGFcIiBbaXNFZGl0Q29kXT1cImVkaXRDb2RcIiBjbGFzcz1cInAtMVwiPjwvYXBwLWNvZC1mb3JtLXN0ZXAtZm91cj5cbiAgICA8L3AtdGFiUGFuZWw+XG4gICAgPHAtdGFiUGFuZWwgbGVmdEljb249XCJwaSBwaS1leWVcIiBoZWFkZXI9XCI1LiBPYnNlcnZhY2lvbmVzXCI+XG4gICAgICA8YXBwLWNvZC1mb3JtLXN0ZXAtZml2ZSAoY2hhbmdlU3RlcEV2ZW50KT1cImNoYW5nZVN0ZXAoJGV2ZW50KVwiIFt1c2VyUm9sZV09XCJ1c2VyUm9sZVwiIFtpbml0aWFsRGF0YV09XCJkYXRhRnJvbVByZXZpdXNDb2REYXRhXCIgKGFjdGlvbik9XCJnZXRGb3JtQWN0aW9uKCRldmVudClcIiBbaXNFZGl0Q29kXT1cImVkaXRDb2RcIiBjbGFzcz1cInAtMVwiPjwvYXBwLWNvZC1mb3JtLXN0ZXAtZml2ZT5cbiAgICA8L3AtdGFiUGFuZWw+XG4gIDwvcC10YWJWaWV3PlxuXG48L2Rpdj5cblxuPG5nLXRlbXBsYXRlICNVbmF1dGhvcml6ZWQ+XG4gIDxzcGFuIGNsYXNzPVwiZmxleCBqdXN0aWZ5LWNvbnRlbnQtY2VudGVyIGZvbnQtYm9sZCBwLTIgYmcteWVsbG93LTIwMCBib3JkZXItcm91bmQtbGcgdy1mdWxsXCI+XG4gICAgTm8gdGllbmVzIGxvcyBwZXJtaXNvcyBwYXJhIGFjY2VkZXIgYSBlc3RhIGZ1bmNpb25hbGlkYWQsIGNvbXVuw61jYXRlIGNvbiBlbCBkZXNhcnJvbGxhZG9yLlxuICA8L3NwYW4+XG48L25nLXRlbXBsYXRlPlxuXG5cbjxpcHQtbG9hZGVyICpuZ0lmPVwiaXNMb2FkaW5nXCIgW2lzRGlhbG9nXT1cInRydWVcIiBbbWVzc2FnZV09XCJsb2FkZXJNZXNzYWdlXCI+PC9pcHQtbG9hZGVyPlxuIl19
395
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29kLWZvcm0uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vZGVzaWduLXN5c3RlbS9zcmMvbGliL2NvZC9jb2QtZm9ybS9jb2QtZm9ybS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9kZXNpZ24tc3lzdGVtL3NyYy9saWIvY29kL2NvZC1mb3JtL2NvZC1mb3JtLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBYSxNQUFNLEVBQTRCLE1BQU0sZUFBZSxDQUFDO0FBRTVHLE9BQU8sSUFBSSxNQUFNLGFBQWEsQ0FBQzs7Ozs7Ozs7Ozs7Ozs7QUFXL0IsTUFBTSxPQUFPLGdCQUFnQjtJQXNCM0IsWUFDVSxXQUF3QixFQUN4QixlQUF1QyxFQUN2QyxlQUFnQyxFQUNoQyxpQkFBb0M7UUFIcEMsZ0JBQVcsR0FBWCxXQUFXLENBQWE7UUFDeEIsb0JBQWUsR0FBZixlQUFlLENBQXdCO1FBQ3ZDLG9CQUFlLEdBQWYsZUFBZSxDQUFpQjtRQUNoQyxzQkFBaUIsR0FBakIsaUJBQWlCLENBQW1CO1FBcEJwQyxpQkFBWSxHQUFHLElBQUksWUFBWSxFQUFXLENBQUM7UUFHN0MsaUJBQVksR0FBYTtZQUMvQixFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUU7U0FDbkMsQ0FBQztRQUVLLGdCQUFXLEdBQVcsQ0FBQyxDQUFDO1FBQ3hCLGNBQVMsR0FBVyxrQ0FBa0MsQ0FBQztRQUV2RCxjQUFTLEdBQVcsQ0FBQyxDQUFDO1FBRXRCLGNBQVMsR0FBWSxLQUFLLENBQUM7UUFDM0Isa0JBQWEsR0FBVyxFQUFFLENBQUM7UUFDM0IsNEJBQXVCLEdBQXdCLElBQUksQ0FBQztRQVF6RCxJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDakQsQ0FBQztJQUVELFdBQVcsQ0FBQyxPQUFzQjtRQUNoQyxJQUFJLE9BQU8sQ0FBQyxTQUFTLENBQUMsRUFBRTtZQUN0QixJQUFJLElBQUksQ0FBQyxPQUFPLEVBQUU7Z0JBQ2hCLElBQUksQ0FBQyxJQUFJLENBQUMsc0JBQXNCLENBQUMsbUJBQW1CLEVBQUU7b0JBQ3BELElBQUksQ0FBQyxJQUFJLENBQUM7d0JBQ1IsS0FBSyxFQUFFLGdCQUFnQjt3QkFDdkIsSUFBSSxFQUFFLHdDQUF3Qzt3QkFDOUMsSUFBSSxFQUFFLFNBQVM7cUJBQ2hCLENBQUMsQ0FBQTtpQkFDSDtnQkFDRCxJQUFJLENBQUMsU0FBUyxHQUFHLCtEQUErRCxDQUFDO2FBQ2xGO2lCQUFNLElBQUksSUFBSSxDQUFDLE9BQU8sSUFBSSxLQUFLLEVBQUU7Z0JBQ2hDLElBQUksQ0FBQyxTQUFTLEdBQUcsa0NBQWtDLENBQUM7YUFDckQ7U0FDRjtJQUNILENBQUM7SUFFRCxXQUFXO1FBQ1QsSUFBSSxJQUFJLENBQUMsWUFBWSxFQUFFO1lBQ3JCLElBQUksQ0FBQyxZQUFZLENBQUMsV0FBVyxFQUFFLENBQUM7U0FDakM7SUFDSCxDQUFDO0lBRUQsV0FBVztRQUNULE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQ25ELENBQUM7SUFFRCxZQUFZO1FBQ1Ysd0NBQXdDO0lBQzFDLENBQUM7SUFHRCxpQkFBaUIsQ0FBQyxJQUFXO1FBQzNCLElBQUksSUFBSSxFQUFFO1lBQ1IsTUFBTSxLQUFLLEdBQWEsRUFBRSxDQUFDO1lBQzNCLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUU7Z0JBQ2YsTUFBTSxJQUFJLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO2dCQUNsQixLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQ25CLENBQUMsQ0FBQyxDQUFBO1lBQ0YsSUFBSSxDQUFDLGFBQWEsR0FBRyxLQUFLLENBQUM7U0FDNUI7SUFDSCxDQUFDO0lBRUQsYUFBYSxDQUFDLE1BQWM7UUFDMUIsSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhLElBQUksSUFBSSxDQUFDLGVBQWUsQ0FBQyxjQUFjLENBQUMsQ0FBQyxFQUFFLGdCQUFnQixDQUFDLEtBQUssR0FBRyxFQUFFO1lBQzNGLElBQUksQ0FBQyxJQUFJLENBQUM7Z0JBQ1IsS0FBSyxFQUFFLGdCQUFnQjtnQkFDdkIsSUFBSSxFQUFFLGtEQUFrRDtnQkFDeEQsSUFBSSxFQUFFLE9BQU87YUFDZCxDQUFDLENBQUE7WUFDRixPQUFPO1NBQ1I7UUFDRCxNQUFNLFNBQVMsR0FBVSxFQUFFLENBQUM7UUFFNUIsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUMsZUFBZSxDQUFDLGdCQUFnQixFQUFFLENBQUMsU0FBUyxDQUFDLENBQUMsUUFBUSxFQUFFLEVBQUU7WUFDakYsT0FBTyxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsQ0FBQztZQUNwQixLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLElBQUksSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDLEVBQUUsRUFBRTtnQkFDeEMsSUFBSSxjQUFjLEdBQWMsUUFBUSxDQUFDLENBQUMsR0FBQyxDQUFDLENBQUMsQ0FBQztnQkFDNUMsY0FBYyxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsRUFBRTtvQkFDL0IsSUFBSSxLQUFLLEdBQUcsSUFBSSxDQUFDLGVBQWUsQ0FBQyxjQUFjLENBQUMsQ0FBQyxFQUFFLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQztvQkFDakUsK0NBQStDO29CQUMvQyxJQUFJLEtBQUssS0FBSyxPQUFPLElBQUksT0FBTyxDQUFDLFdBQVcsS0FBSyxtQkFBbUIsRUFBRTt3QkFDcEUsU0FBUyxDQUFDLElBQUksQ0FBQzs0QkFDYixPQUFPLEVBQUUsT0FBTyxDQUFDLElBQUk7NEJBQ3JCLFVBQVUsRUFBRSxPQUFPLENBQUMsUUFBUTs0QkFDNUIsS0FBSyxFQUFFLEdBQUc7NEJBQ1YsV0FBVyxFQUFFLE9BQU8sQ0FBQyxXQUFXO3lCQUNqQyxDQUFDLENBQUE7cUJBQ0g7eUJBQU0sSUFBSSxLQUFLLEtBQUssTUFBTSxJQUFJLE9BQU8sQ0FBQyxXQUFXLEtBQUssbUJBQW1CLEVBQUU7d0JBQzFFLFNBQVMsQ0FBQyxJQUFJLENBQUM7NEJBQ2IsT0FBTyxFQUFFLE9BQU8sQ0FBQyxJQUFJOzRCQUNyQixVQUFVLEVBQUUsT0FBTyxDQUFDLFFBQVE7NEJBQzVCLEtBQUssRUFBRSxHQUFHOzRCQUNWLFdBQVcsRUFBRSxPQUFPLENBQUMsV0FBVzt5QkFDakMsQ0FBQyxDQUFBO3FCQUNIO3lCQUFNO3dCQUNMLFNBQVMsQ0FBQyxJQUFJLENBQUM7NEJBQ2IsT0FBTyxFQUFFLE9BQU8sQ0FBQyxJQUFJOzRCQUNyQixVQUFVLEVBQUUsT0FBTyxDQUFDLFFBQVE7NEJBQzVCLEtBQUs7NEJBQ0wsV0FBVyxFQUFFLE9BQU8sQ0FBQyxXQUFXO3lCQUNqQyxDQUFDLENBQUE7cUJBQ0g7Z0JBQ0gsQ0FBQyxDQUFDLENBQUM7YUFDUjtZQUVELGtCQUFrQjtZQUNsQixLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsU0FBUyxDQUFDLE1BQU0sRUFBRSxDQUFDLEVBQUUsRUFBRTtnQkFDekMsTUFBTSxPQUFPLEdBQUcsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDO2dCQUM3QixJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssSUFBSSxPQUFPLENBQUMsVUFBVSxFQUFFO29CQUN4QyxJQUFJLENBQUMsSUFBSSxDQUFDO3dCQUNSLEtBQUssRUFBRSxrQ0FBa0M7d0JBQ3pDLElBQUksRUFBRSxzQkFBc0IsT0FBTyxDQUFDLFdBQVcsR0FBRzt3QkFDbEQsSUFBSSxFQUFFLE9BQU87cUJBQ2QsQ0FBQyxDQUFDO29CQUNILE1BQU07aUJBQ1A7YUFDRjtZQUVELElBQUksTUFBTSxLQUFLLFFBQVE7Z0JBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxTQUFTLENBQUMsQ0FBQztZQUNuRCxJQUFJLE1BQU0sS0FBSyxRQUFRO2dCQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDckQsQ0FBQyxDQUFDLENBQUE7UUFFRixJQUFJLENBQUMsWUFBWSxDQUFDLFdBQVcsRUFBRSxDQUFDO0lBRWxDLENBQUM7SUFFRCxTQUFTLENBQUMsU0FBZ0I7UUFDeEIsT0FBTyxDQUFDLEdBQUcsQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDO1FBQ25DLE9BQU8sQ0FBQyxHQUFHLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDekIsT0FBTyxDQUFDLEdBQUcsQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUN2QixJQUFJLElBQUksQ0FBQyx1QkFBdUIsSUFBSSxDQUFDLElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxNQUFNLEVBQUU7WUFDeEUsT0FBTztTQUNSO1FBQ0QsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUM7UUFDdEIsSUFBSSxDQUFDLGFBQWEsR0FBRyxpQ0FBaUMsQ0FBQTtRQUN0RCxJQUFJLE9BQU8sR0FBaUIsSUFBSSxDQUFDLFlBQVksQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUN6RCxPQUFPLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ3JCLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLENBQUMsU0FBUyxDQUFDO1lBQ2xELElBQUksRUFBRSxDQUFDLFFBQWEsRUFBRSxFQUFFO2dCQUN0QixJQUFJLFFBQVEsQ0FBQyxPQUFPLENBQUMsSUFBSSxLQUFLLENBQUMsRUFBRTtvQkFDL0IsSUFBSSxDQUFDLFNBQVMsR0FBRyxLQUFLLENBQUM7b0JBQ3ZCLElBQUksQ0FBQyxhQUFhLEdBQUcsRUFBRSxDQUFDO29CQUN4QixJQUFJLENBQUMsSUFBSSxDQUFDO3dCQUNSLEtBQUssRUFBRSxXQUFXO3dCQUNsQixJQUFJLEVBQUUsc0NBQXNDO3dCQUM1QyxJQUFJLEVBQUUsU0FBUztxQkFDaEIsQ0FBQyxDQUFBO29CQUNGLElBQUksQ0FBQyxlQUFlLENBQUMsU0FBUyxFQUFFLENBQUM7b0JBQ2pDLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO2lCQUM5QjtxQkFBSyxJQUFJLFFBQVEsQ0FBQyxPQUFPLENBQUMsSUFBSSxLQUFLLENBQUMsRUFBRTtvQkFDckMsSUFBSSxDQUFDLFNBQVMsR0FBRyxLQUFLLENBQUM7b0JBQ3ZCLElBQUksQ0FBQyxhQUFhLEdBQUcsRUFBRSxDQUFDO29CQUN4QixNQUFNLGFBQWEsR0FBSSxRQUFRLENBQUMsSUFBSSxDQUFDLE1BQWdCLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsS0FBSyxLQUFLLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7b0JBRXRHLElBQUksQ0FBQyxJQUFJLENBQUM7d0JBQ1IsS0FBSyxFQUFFLHVDQUF1Qzt3QkFDOUMsSUFBSSxFQUFFLEdBQUcsYUFBYSxFQUFFO3dCQUN4QixJQUFJLEVBQUUsU0FBUztxQkFDaEIsQ0FBQyxDQUFDO2lCQUNKO3FCQUFNO29CQUNMLElBQUksQ0FBQyxTQUFTLEdBQUcsS0FBSyxDQUFDO29CQUN2QixJQUFJLENBQUMsYUFBYSxHQUFHLEVBQUUsQ0FBQztvQkFFeEIsSUFBSSxDQUFDLElBQUksQ0FBQzt3QkFDUixLQUFLLEVBQUUsVUFBVTt3QkFDakIsSUFBSSxFQUFFLFFBQVEsQ0FBQyxPQUFPLENBQUMsT0FBTzt3QkFDOUIsSUFBSSxFQUFFLE9BQU87cUJBQ2QsQ0FBQyxDQUFBO2lCQUNIO1lBQ0gsQ0FBQztZQUNELEtBQUssRUFBRSxDQUFDLEdBQVEsRUFBRSxFQUFFO2dCQUNsQixJQUFJLENBQUMsU0FBUyxHQUFHLEtBQUssQ0FBQztnQkFDdkIsSUFBSSxDQUFDLGFBQWEsR0FBRyxFQUFFLENBQUM7Z0JBQ3hCLElBQUksQ0FBQyxJQUFJLENBQUM7b0JBQ1IsS0FBSyxFQUFFLHVCQUF1QjtvQkFDOUIsSUFBSSxFQUFFLEdBQUcsQ0FBQyxPQUFPO29CQUNqQixJQUFJLEVBQUUsT0FBTztpQkFDZCxDQUFDLENBQUE7WUFDSixDQUFDO1lBQ0QsUUFBUSxFQUFFLEdBQUcsRUFBRTtnQkFDYixJQUFJLENBQUMsdUJBQXVCLEdBQUcsSUFBSSxDQUFDO1lBQ3RDLENBQUM7U0FDRixDQUFDLENBQUE7UUFDRixzREFBc0Q7UUFDdEQsK0JBQStCO1FBQy9CLDRCQUE0QjtRQUM1Qiw2QkFBNkI7UUFDN0IsT0FBTztRQUNQLDJCQUEyQjtRQUMzQixNQUFNO1FBQ04sTUFBTTtJQUVSLENBQUM7SUFFRCxTQUFTLENBQUMsU0FBZ0I7UUFDeEIsSUFBSSxJQUFJLENBQUMsdUJBQXVCLElBQUksQ0FBQyxJQUFJLENBQUMsdUJBQXVCLENBQUMsTUFBTSxFQUFFO1lBQ3hFLE9BQU87U0FDUjtRQUNELElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDO1FBQ3RCLElBQUksQ0FBQyxhQUFhLEdBQUcsZ0NBQWdDLENBQUE7UUFDckQsSUFBSSxPQUFPLEdBQWdCLElBQUksQ0FBQyxZQUFZLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDeEQsSUFBSSxDQUFDLGlCQUFpQixDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxTQUFTLENBQUM7WUFDbEQsSUFBSSxFQUFFLENBQUMsUUFBYSxFQUFFLEVBQUU7Z0JBQ3RCLElBQUksUUFBUSxDQUFDLE9BQU8sQ0FBQyxJQUFJLEtBQUssQ0FBQyxFQUFFO29CQUMvQixJQUFJLENBQUMsU0FBUyxHQUFHLEtBQUssQ0FBQztvQkFDdkIsSUFBSSxDQUFDLGFBQWEsR0FBRyxFQUFFLENBQUM7b0JBQ3hCLElBQUksQ0FBQyxJQUFJLENBQUM7d0JBQ1IsS0FBSyxFQUFFLFdBQVc7d0JBQ2xCLElBQUksRUFBRSxxQ0FBcUM7d0JBQzNDLElBQUksRUFBRSxTQUFTO3FCQUNoQixDQUFDLENBQUE7b0JBQ0YsSUFBSSxDQUFDLGVBQWUsQ0FBQyxTQUFTLEVBQUUsQ0FBQztvQkFDakMsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7aUJBQzlCO3FCQUFLLElBQUksUUFBUSxDQUFDLE9BQU8sQ0FBQyxJQUFJLEtBQUssQ0FBQyxFQUFFO29CQUNyQyxJQUFJLENBQUMsU0FBUyxHQUFHLEtBQUssQ0FBQztvQkFDdkIsSUFBSSxDQUFDLGFBQWEsR0FBRyxFQUFFLENBQUM7b0JBQ3hCLE1BQU0sYUFBYSxHQUFJLFFBQVEsQ0FBQyxJQUFJLENBQUMsTUFBZ0IsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxLQUFLLEtBQUssQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztvQkFFdEcsSUFBSSxDQUFDLElBQUksQ0FBQzt3QkFDUixLQUFLLEVBQUUsdUNBQXVDO3dCQUM5QyxJQUFJLEVBQUUsR0FBRyxhQUFhLEVBQUU7d0JBQ3hCLElBQUksRUFBRSxTQUFTO3FCQUNoQixDQUFDLENBQUM7aUJBQ0o7cUJBQU07b0JBQ0wsSUFBSSxDQUFDLFNBQVMsR0FBRyxLQUFLLENBQUM7b0JBQ3ZCLElBQUksQ0FBQyxhQUFhLEdBQUcsRUFBRSxDQUFDO29CQUV4QixJQUFJLENBQUMsSUFBSSxDQUFDO3dCQUNSLEtBQUssRUFBRSxVQUFVO3dCQUNqQixJQUFJLEVBQUUsUUFBUSxDQUFDLE9BQU8sQ0FBQyxPQUFPO3dCQUM5QixJQUFJLEVBQUUsT0FBTztxQkFDZCxDQUFDLENBQUE7aUJBQ0g7WUFDSCxDQUFDO1lBQ0QsS0FBSyxFQUFFLENBQUMsR0FBUSxFQUFFLEVBQUU7Z0JBQ2xCLElBQUksQ0FBQyxTQUFTLEdBQUcsS0FBSyxDQUFDO2dCQUN2QixJQUFJLENBQUMsYUFBYSxHQUFHLEVBQUUsQ0FBQztnQkFDeEIsSUFBSSxDQUFDLElBQUksQ0FBQztvQkFDUixLQUFLLEVBQUUsdUJBQXVCO29CQUM5QixJQUFJLEVBQUUsR0FBRyxDQUFDLE9BQU87b0JBQ2pCLElBQUksRUFBRSxPQUFPO2lCQUNkLENBQUMsQ0FBQTtZQUNKLENBQUM7WUFDRCxRQUFRLEVBQUUsR0FBRyxFQUFFO2dCQUNiLElBQUksQ0FBQyx1QkFBdUIsR0FBRyxJQUFJLENBQUM7WUFDdEMsQ0FBQztTQUNGLENBQUMsQ0FBQTtJQUVKLENBQUM7SUFFRCxZQUFZLENBQUMsSUFBVztRQUN0QixJQUFJLE9BQU8sR0FBZ0I7WUFDekIsS0FBSyxFQUFFLElBQUksQ0FBQyxXQUFXLENBQUMsWUFBWSxFQUFFO1lBQ3RDLFlBQVksRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLE9BQU8sS0FBSyxjQUFjLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLO1lBQzNFLGlCQUFpQixFQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsT0FBTyxLQUFLLG1CQUFtQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSztZQUNyRixRQUFRLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxPQUFPLEtBQUssVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSztZQUNuRSxhQUFhLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxPQUFPLEtBQUssZUFBZSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSztZQUM3RSx3QkFBd0IsRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLE9BQU8sS0FBSywwQkFBMEIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUs7WUFDbkcsb0JBQW9CLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxPQUFPLEtBQUssc0JBQXNCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLO1lBQzNGLE1BQU0sRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLE9BQU8sS0FBSyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLO1lBQy9ELFNBQVMsRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLE9BQU8sS0FBSyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLO1lBQ3JFLElBQUksRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLE9BQU8sS0FBSyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLO1lBQzNELG9CQUFvQixFQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsT0FBTyxLQUFLLHNCQUFzQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSztZQUMzRixlQUFlLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxPQUFPLEtBQUssaUJBQWlCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLO1lBQ2pGLFFBQVEsRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLE9BQU8sS0FBSyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLO1lBQ25FLFlBQVksRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLE9BQU8sS0FBSyxjQUFjLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLO1lBQzNFLFdBQVcsRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLE9BQU8sS0FBSyxhQUFhLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLO1lBQ3pFLGdCQUFnQixFQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsT0FBTyxLQUFLLGtCQUFrQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSztZQUNuRixtQkFBbUIsRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLE9BQU8sS0FBSyxxQkFBcUIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUs7WUFDekYsY0FBYyxFQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsT0FBTyxLQUFLLGdCQUFnQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSztZQUMvRSx1QkFBdUIsRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLE9BQU8sS0FBSyx5QkFBeUIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUs7WUFDakcsbUJBQW1CLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxPQUFPLEtBQUsscUJBQXFCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLO1lBQ3pGLGlCQUFpQixFQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsT0FBTyxLQUFLLG1CQUFtQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSztZQUNyRixxQkFBcUIsRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLE9BQU8sS0FBSyxnQkFBZ0IsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUs7WUFDdEYsY0FBYyxFQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsT0FBTyxLQUFLLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUs7WUFDeEUsWUFBWSxFQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsT0FBTyxLQUFLLGNBQWMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUs7WUFDM0UsaUJBQWlCLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxPQUFPLEtBQUssT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSztZQUN6RSxlQUFlLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxPQUFPLEtBQUssaUJBQWlCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLO1lBQ2pGLGtCQUFrQixFQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsT0FBTyxLQUFLLG9CQUFvQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSztZQUN2RixVQUFVLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxPQUFPLEtBQUssWUFBWSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSztZQUN2RSxjQUFjLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxPQUFPLEtBQUssZ0JBQWdCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLO1lBQy9FLGlCQUFpQixFQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsT0FBTyxLQUFLLG1CQUFtQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSztZQUNyRixhQUFhLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxPQUFPLEtBQUssZUFBZSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSztZQUM3RSxXQUFXLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxPQUFPLEtBQUssYUFBYSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSztZQUN6RSxrQkFBa0IsRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLE9BQU8sS0FBSyxvQkFBb0IsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUs7WUFDdkYsa0JBQWtCLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxPQUFPLEtBQUssb0JBQW9CLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLO1lBQ3ZGLGtCQUFrQixFQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsT0FBTyxLQUFLLG9CQUFvQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSztZQUN2RixrQkFBa0IsRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLE9BQU8sS0FBSyxvQkFBb0IsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUs7WUFDdkYsa0JBQWtCLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxPQUFPLEtBQUssb0JBQW9CLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLO1lBQ3ZGLGtCQUFrQixFQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsT0FBTyxLQUFLLG9CQUFvQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSztZQUN2RixpQkFBaUIsRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLE9BQU8sS0FBSyxtQkFBbUIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUs7WUFDckYsV0FBVyxFQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsT0FBTyxLQUFLLGFBQWEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUs7WUFDekUscUJBQXFCLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxPQUFPLEtBQUssdUJBQXVCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLO1lBQzdGLGFBQWEsRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLE9BQU8sS0FBSyxlQUFlLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLO1lBQzdFLGNBQWMsRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLE9BQU8sS0FBSyxnQkFBZ0IsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUs7WUFDL0UsV0FBVyxFQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsT0FBTyxLQUFLLGFBQWEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUs7WUFDekUsWUFBWSxFQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsT0FBTyxLQUFLLGNBQWMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUs7WUFDM0UsYUFBYSxFQUFFLElBQUksQ0FBQyxhQUFjO1lBQ2xDLGFBQWEsRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLE9BQU8sS0FBSyxlQUFlLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLO1lBQzdFLFdBQVcsRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLE9BQU8sS0FBSyxhQUFhLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLO1lBQ3pFLFVBQVUsRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLE9BQU8sS0FBSyxZQUFZLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLO1lBQ3ZFLEtBQUssRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLE9BQU8sS0FBSyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLO1lBQzdELFdBQVcsRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLE9BQU8sS0FBSyxhQUFhLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLO1lBQ3pFLEdBQUcsRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLE9BQU8sS0FBSyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLO1lBQ3pELE9BQU8sRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLE9BQU8sS0FBSyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLO1lBQ2pFLEtBQUssRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLE9BQU8sS0FBSyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLO1lBQzdELGFBQWEsRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLE9BQU8sS0FBSyxlQUFlLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLO1lBQzdFLFdBQVcsRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLE9BQU8sS0FBSyxhQUFhLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLO1NBQzFFLENBQUE7UUFDRCxPQUFPLE9BQU8sQ0FBQztJQUNqQixDQUFDO0lBRUQsWUFBWSxDQUFDLElBQVc7UUFDdEIsSUFBSSxPQUFPLEdBQWlCO1lBQzFCLEtBQUssRUFBRSxJQUFJLENBQUMsV0FBVyxDQUFDLFlBQVksRUFBRTtZQUN0QyxZQUFZLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxPQUFPLEtBQUssY0FBYyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSztZQUMzRSxpQkFBaUIsRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLE9BQU8sS0FBSyxtQkFBbUIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUs7WUFDckYsUUFBUSxFQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsT0FBTyxLQUFLLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUs7WUFDbkUsYUFBYSxFQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsT0FBTyxLQUFLLGVBQWUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUs7WUFDN0Usd0JBQXdCLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxPQUFPLEtBQUssMEJBQTBCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLO1lBQ25HLG9CQUFvQixFQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsT0FBTyxLQUFLLHNCQUFzQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSztZQUMzRixNQUFNLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxPQUFPLEtBQUssUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSztZQUMvRCxTQUFTLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxPQUFPLEtBQUssV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSztZQUNyRSxJQUFJLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxPQUFPLEtBQUssTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSztZQUMzRCxvQkFBb0IsRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLE9BQU8sS0FBSyxzQkFBc0IsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUs7WUFDM0YsZUFBZSxFQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsT0FBTyxLQUFLLGlCQUFpQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSztZQUNqRixZQUFZLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxPQUFPLEtBQUssY0FBYyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSztZQUMzRSxXQUFXLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxPQUFPLEtBQUssYUFBYSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSztZQUN6RSxnQkFBZ0IsRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLE9BQU8sS0FBSyxrQkFBa0IsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUs7WUFDbkYsbUJBQW1CLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxPQUFPLEtBQUsscUJBQXFCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLO1lBQ3pGLGNBQWMsRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLE9BQU8sS0FBSyxnQkFBZ0IsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUs7WUFDL0UsdUJBQXVCLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxPQUFPLEtBQUsseUJBQXlCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLO1lBQ2pHLG1CQUFtQixFQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsT0FBTyxLQUFLLHFCQUFxQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSztZQUN6RixpQkFBaUIsRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLE9BQU8sS0FBSyxtQkFBbUIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUs7WUFDckYscUJBQXFCLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxPQUFPLEtBQUssZ0JBQWdCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLO1lBQ3RGLGNBQWMsRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLE9BQU8sS0FBSyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLO1lBQ3hFLFlBQVksRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLE9BQU8sS0FBSyxjQUFjLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLO1lBQzNFLGlCQUFpQixFQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsT0FBTyxLQUFLLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUs7WUFDekUsZUFBZSxFQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsT0FBTyxLQUFLLGlCQUFpQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSztZQUNqRixrQkFBa0IsRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLE9BQU8sS0FBSyxvQkFBb0IsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUs7WUFDdkYsVUFBVSxFQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsT0FBTyxLQUFLLFlBQVksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUs7WUFDdkUsY0FBYyxFQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsT0FBTyxLQUFLLGdCQUFnQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSztZQUMvRSxpQkFBaUIsRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLE9BQU8sS0FBSyxtQkFBbUIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUs7WUFDckYsYUFBYSxFQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsT0FBTyxLQUFLLGVBQWUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUs7WUFDN0UsV0FBVyxFQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsT0FBTyxLQUFLLGFBQWEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUs7WUFDekUsa0JBQWtCLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxPQUFPLEtBQUssb0JBQW9CLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLO1lBQ3ZGLGtCQUFrQixFQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsT0FBTyxLQUFLLG9CQUFvQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSztZQUN2RixrQkFBa0IsRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLE9BQU8sS0FBSyxvQkFBb0IsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUs7WUFDdkYsa0JBQWtCLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxPQUFPLEtBQUssb0JBQW9CLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLO1lBQ3ZGLGtCQUFrQixFQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsT0FBTyxLQUFLLG9CQUFvQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSztZQUN2RixrQkFBa0IsRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLE9BQU8sS0FBSyxvQkFBb0IsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUs7WUFDdkYsaUJBQWlCLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxPQUFPLEtBQUssbUJBQW1CLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLO1lBQ3JGLFdBQVcsRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLE9BQU8sS0FBSyxhQUFhLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLO1lBQ3pFLHFCQUFxQixFQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsT0FBTyxLQUFLLHVCQUF1QixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSztZQUM3RixhQUFhLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxPQUFPLEtBQUssZUFBZSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSztZQUM3RSxjQUFjLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxPQUFPLEtBQUssZ0JBQWdCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLO1lBQy9FLFdBQVcsRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLE9BQU8sS0FBSyxhQUFhLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLO1lBQ3pFLFlBQVksRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLE9BQU8sS0FBSyxjQUFjLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLO1lBQzNFLGFBQWEsRUFBRSxJQUFJLENBQUMsYUFBYztZQUNsQyxhQUFhLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxPQUFPLEtBQUssZUFBZSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSztZQUM3RSxXQUFXLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxPQUFPLEtBQUssYUFBYSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSztZQUN6RSxVQUFVLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxPQUFPLEtBQUssWUFBWSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSztZQUN2RSxLQUFLLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxPQUFPLEtBQUssT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSztZQUM3RCxHQUFHLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxPQUFPLEtBQUssS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSztZQUN6RCxPQUFPLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxPQUFPLEtBQUssU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSztZQUNqRSxLQUFLLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxPQUFPLEtBQUssT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSztZQUM3RCxhQUFhLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxPQUFPLEtBQUssZUFBZSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSztZQUM3RSxXQUFXLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxPQUFPLEtBQUssYUFBYSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSztZQUN6RSxRQUFRLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxPQUFPLEtBQUssVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSztTQUNwRSxDQUFBO1FBQ0QsT0FBTyxPQUFPLENBQUM7SUFDakIsQ0FBQztJQUVELFVBQVUsQ0FBQyxJQUFZO1FBQ3JCLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDO0lBQzFCLENBQUM7OzZHQW5ZVSxnQkFBZ0I7aUdBQWhCLGdCQUFnQiwwUENiN0IsazRFQWlDQTsyRkRwQmEsZ0JBQWdCO2tCQUw1QixTQUFTOytCQUNFLGNBQWM7cU1BTWYsc0JBQXNCO3NCQUE5QixLQUFLO2dCQUNHLFlBQVk7c0JBQXBCLEtBQUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxPQUFPO3NCQUFmLEtBQUs7Z0JBQ0ksWUFBWTtzQkFBckIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25DaGFuZ2VzLCBPdXRwdXQsIFNpbXBsZUNoYW5nZXMsIE9uRGVzdHJveSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgU3dhbCBmcm9tICdzd2VldGFsZXJ0Mic7XG5pbXBvcnQgeyBDcmVhdGVDT0RScSwgSVVwZGF0ZUNPRFJxIH0gZnJvbSAnLi4vLi4vY29yZS9tb2RlbHMvY29kL2NvZC1ycS5tb2RlbCc7XG5pbXBvcnQgeyBDb21tZXJjaWFsU2VydmljZSB9IGZyb20gJy4uLy4uL2NvcmUvc2VydmljZXMvY29tbWVyY2lhbC1zZXJ2aWNlL2NvbWVyY2lhbC5zZXJ2aWNlJztcbmltcG9ydCB7IEJhc2VTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vY29yZS91dGlscy9iYXNlLXNlcnZpY2UvYmFzZS5zZXJ2aWNlJztcbmltcG9ydCB7IENvZEZvcm1Db250cm9scywgQ29udHJvbCB9IGZyb20gJy4uL2xvZ2ljL2NvZC1mb3JtLWNvbnRyb2xzJztcbmltcG9ydCB7IExvY2FsU3RvcmFnZUNPRFNlcnZpY2UgfSBmcm9tICcuLi9sb2dpYy9sb2NhbC1zdG9yYWdlLWNvZC5zZXJ2aWNlJztcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2lwdC1jb2QtZm9ybScsXG4gIHRlbXBsYXRlVXJsOiAnLi9jb2QtZm9ybS5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogW11cbn0pXG5leHBvcnQgY2xhc3MgQ29kRm9ybUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uQ2hhbmdlcywgT25EZXN0cm95IHtcblxuICBASW5wdXQoKSBkYXRhRnJvbVByZXZpdXNDb2REYXRhPzogYW55O1xuICBASW5wdXQoKSBjb3Vyc2VTZWxlY3Q/OiBhbnk7XG4gIEBJbnB1dCgpIGlzTmV3Q29kITogYm9vbGVhbjtcbiAgQElucHV0KCkgZWRpdENvZCE6IGJvb2xlYW47XG4gIEBPdXRwdXQoKSBva0NyZWF0ZWRDT0QgPSBuZXcgRXZlbnRFbWl0dGVyPEJvb2xlYW4+KCk7XG4gIHN1YnNjcmlwdGlvbj86IFN1YnNjcmlwdGlvbjtcblxuICBwcml2YXRlIGFsbG93ZWRSb2xlczogbnVtYmVyW10gPSBbXG4gICAgMzAsIDMxLCAzMiwgNDAsIDQxLCA0MiwgNTAsIDUxLCA1MlxuICBdO1xuXG4gIHB1YmxpYyBjdXJyZW50U3RlcDogbnVtYmVyID0gMDtcbiAgcHVibGljIGZvcm1UaXRsZTogc3RyaW5nID0gJ0Zvcm11bGFyaW8gcGFyYSBjcmVhY2nDs24gZGVsIENPRCc7XG4gIHB1YmxpYyB1c2VyUm9sZTogbnVtYmVyO1xuICBwdWJsaWMgZm9ybVN0ZXBzOiBudW1iZXIgPSA1O1xuICBwdWJsaWMgZmluYW5jaW5nRGF0YT86IGFueVtdO1xuICBwdWJsaWMgaXNMb2FkaW5nOiBib29sZWFuID0gZmFsc2U7XG4gIHB1YmxpYyBsb2FkZXJNZXNzYWdlOiBzdHJpbmcgPSAnJztcbiAgcHVibGljIGNvZENyZWF0aW9uU3Vic2NyaXB0aW9uOiBTdWJzY3JpcHRpb24gfCBudWxsID0gbnVsbDtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGJhc2VTZXJ2aWNlOiBCYXNlU2VydmljZSxcbiAgICBwcml2YXRlIGxvY2FsU3RvcmFnZUNPRDogTG9jYWxTdG9yYWdlQ09EU2VydmljZSxcbiAgICBwcml2YXRlIGNvZEZvcm1Db250cm9sczogQ29kRm9ybUNvbnRyb2xzLFxuICAgIHByaXZhdGUgY29tbWVyY2lhbFNlcnZpY2U6IENvbW1lcmNpYWxTZXJ2aWNlXG4gICkge1xuICAgIHRoaXMudXNlclJvbGUgPSB0aGlzLmJhc2VTZXJ2aWNlLmdldFVzZXJSb2xlKCk7XG4gIH1cblxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XG4gICAgaWYgKGNoYW5nZXNbJ2VkaXRDb2QnXSkge1xuICAgICAgaWYgKHRoaXMuZWRpdENvZCkge1xuICAgICAgICBpZiAoIXRoaXMuZGF0YUZyb21QcmV2aXVzQ29kRGF0YS5lZGl0X2NvdXJzZV9wYXltZW50KSB7XG4gICAgICAgICAgU3dhbC5maXJlKHtcbiAgICAgICAgICAgIHRpdGxlOiAnUXVlcmlkbyBhc2Vzb3InLFxuICAgICAgICAgICAgdGV4dDogJ1NvbG8gcHVlZGUgZWRpdGFyIERhdG9zIGRlbCBlc3R1ZGlhbnRlJyxcbiAgICAgICAgICAgIGljb246ICd3YXJuaW5nJ1xuICAgICAgICAgIH0pXG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5mb3JtVGl0bGUgPSAnRm9ybXVsYXJpbyBwYXJhIHZlcmlmaWNhciB5IGVkaXRhciBpbmZvcm1hY2nDs24gZGVsIENPRCBhY3R1YWwnO1xuICAgICAgfSBlbHNlIGlmICh0aGlzLmVkaXRDb2QgPT0gZmFsc2UpIHtcbiAgICAgICAgdGhpcy5mb3JtVGl0bGUgPSAnRm9ybXVsYXJpbyBwYXJhIGNyZWFjacOzbiBkZWwgQ09EJztcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5zdWJzY3JpcHRpb24pIHtcbiAgICAgIHRoaXMuc3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XG4gICAgfVxuICB9XG5cbiAgYWxsb3dlZFJvbGUoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuYWxsb3dlZFJvbGVzLmluY2x1ZGVzKHRoaXMudXNlclJvbGUpO1xuICB9XG5cbiAgZ2V0Q29kYnlDb2RlKCkge1xuICAgIC8vIFRPRE86IFRyYWVyIENPRCBwb3IgY8OzZGlnbyB5IHBpbnRhcmxvXG4gIH1cblxuXG4gIHNhdmVGaW5hbmNpbmdEYXRhKGRhdGE6IGFueVtdKSB7XG4gICAgaWYgKGRhdGEpIHtcbiAgICAgIGNvbnN0IGRhdGVzOiBzdHJpbmdbXSA9IFtdO1xuICAgICAgZGF0YS5mb3JFYWNoKHAgPT4ge1xuICAgICAgICBjb25zdCBkYXRlID0gcFsyXTtcbiAgICAgICAgZGF0ZXMucHVzaChkYXRlKTtcbiAgICAgIH0pXG4gICAgICB0aGlzLmZpbmFuY2luZ0RhdGEgPSBkYXRlcztcbiAgICB9XG4gIH1cblxuICBnZXRGb3JtQWN0aW9uKGFjdGlvbjogc3RyaW5nKSB7XG4gICAgaWYgKCF0aGlzLmZpbmFuY2luZ0RhdGEgJiYgdGhpcy5sb2NhbFN0b3JhZ2VDT0QuZ2V0Q29kRm9ybURhdGEoNCwgJ3BheW1lbnRfbWV0aG9kJykgPT09ICcxJykge1xuICAgICAgU3dhbC5maXJlKHtcbiAgICAgICAgdGl0bGU6ICdRdWVyaWRvIGFzZXNvcicsXG4gICAgICAgIHRleHQ6ICdEZWJlIGhhY2VyIGVsIGPDoWxjdWxvIGRlIGxhcyBjdW90YXMgZW4gZWwgcGFzbyA0JyxcbiAgICAgICAgaWNvbjogJ2Vycm9yJ1xuICAgICAgfSlcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgY29uc3QgdG90YWxEYXRhOiBhbnlbXSA9IFtdO1xuXG4gICAgdGhpcy5zdWJzY3JpcHRpb24gPSB0aGlzLmNvZEZvcm1Db250cm9scy5nZXRDb250cm9sVmFsdWVzKCkuc3Vic2NyaWJlKChjb250cm9scykgPT4ge1xuICAgICAgY29uc29sZS5sb2coY29udHJvbHMpO1xuICAgICAgICBmb3IgKGxldCBpID0gMTsgaSA8PSB0aGlzLmZvcm1TdGVwczsgaSsrKSB7XG4gICAgICAgICAgbGV0IGNvbnRyb2xzQnlTdGVwOiBDb250cm9sW10gPSBjb250cm9sc1tpLTFdO1xuICAgICAgICAgICAgY29udHJvbHNCeVN0ZXAuZm9yRWFjaChjb250cm9sID0+IHtcbiAgICAgICAgICAgICAgbGV0IHZhbHVlID0gdGhpcy5sb2NhbFN0b3JhZ2VDT0QuZ2V0Q29kRm9ybURhdGEoaSwgY29udHJvbC5uYW1lKTtcbiAgICAgICAgICAgICAgLy8gQ2FtYmlhciBUcnVlL0ZhbHNlIGRlbCBtdWx0aWN1bHR1cmFsaXNtbyAxLzBcbiAgICAgICAgICAgICAgaWYgKHZhbHVlID09PSAnZmFsc2UnICYmIGNvbnRyb2wuZGVzY3JpcHRpb24gPT09ICdNdWx0aWN1bHR1cmFsaXNtbycpIHtcbiAgICAgICAgICAgICAgICB0b3RhbERhdGEucHVzaCh7XG4gICAgICAgICAgICAgICAgICBjb250cm9sOiBjb250cm9sLm5hbWUsXG4gICAgICAgICAgICAgICAgICBpc1JlcXVpcmVkOiBjb250cm9sLnJlcXVpcmVkLFxuICAgICAgICAgICAgICAgICAgdmFsdWU6ICcwJyxcbiAgICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBjb250cm9sLmRlc2NyaXB0aW9uXG4gICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgfSBlbHNlIGlmICh2YWx1ZSA9PT0gJ3RydWUnICYmIGNvbnRyb2wuZGVzY3JpcHRpb24gPT09ICdNdWx0aWN1bHR1cmFsaXNtbycpIHtcbiAgICAgICAgICAgICAgICB0b3RhbERhdGEucHVzaCh7XG4gICAgICAgICAgICAgICAgICBjb250cm9sOiBjb250cm9sLm5hbWUsXG4gICAgICAgICAgICAgICAgICBpc1JlcXVpcmVkOiBjb250cm9sLnJlcXVpcmVkLFxuICAgICAgICAgICAgICAgICAgdmFsdWU6ICcxJyxcbiAgICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBjb250cm9sLmRlc2NyaXB0aW9uXG4gICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICB0b3RhbERhdGEucHVzaCh7XG4gICAgICAgICAgICAgICAgICBjb250cm9sOiBjb250cm9sLm5hbWUsXG4gICAgICAgICAgICAgICAgICBpc1JlcXVpcmVkOiBjb250cm9sLnJlcXVpcmVkLFxuICAgICAgICAgICAgICAgICAgdmFsdWUsXG4gICAgICAgICAgICAgICAgICBkZXNjcmlwdGlvbjogY29udHJvbC5kZXNjcmlwdGlvblxuICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pO1xuICAgICAgfVxuXG4gICAgICAvLyBWYWxpZGFyIGVycm9yZXNcbiAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgdG90YWxEYXRhLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgIGNvbnN0IGVsZW1lbnQgPSB0b3RhbERhdGFbaV07XG4gICAgICAgIGlmICghZWxlbWVudC52YWx1ZSAmJiBlbGVtZW50LmlzUmVxdWlyZWQpIHtcbiAgICAgICAgICBTd2FsLmZpcmUoe1xuICAgICAgICAgICAgdGl0bGU6ICdFcnJvciBGb3JtIEFjdGlvbiBWYWxpZGF0ZSBFcnJvcicsXG4gICAgICAgICAgICB0ZXh0OiBgUmV2aXNhciBlbCBjYW1wbzogXCIke2VsZW1lbnQuZGVzY3JpcHRpb259XCJgLFxuICAgICAgICAgICAgaWNvbjogJ2Vycm9yJ1xuICAgICAgICAgIH0pO1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIGlmIChhY3Rpb24gPT09ICdjcmVhdGUnKSB0aGlzLmNyZWF0ZUNPRCh0b3RhbERhdGEpO1xuICAgICAgaWYgKGFjdGlvbiA9PT0gJ3VwZGF0ZScpIHRoaXMudXBkYXRlQ09EKHRvdGFsRGF0YSk7XG4gICAgfSlcblxuICAgIHRoaXMuc3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XG5cbiAgfVxuXG4gIHVwZGF0ZUNPRCh0b3RhbERhdGE6IGFueVtdKSB7XG4gICAgY29uc29sZS5sb2coJ2FjdHVhbGl6YW5kbyBDT0QuLi4nKTtcbiAgICBjb25zb2xlLmxvZyhcInVwZGF0ZUNPRFwiKTtcbiAgICBjb25zb2xlLmxvZyh0b3RhbERhdGEpO1xuICAgIGlmICh0aGlzLmNvZENyZWF0aW9uU3Vic2NyaXB0aW9uICYmICF0aGlzLmNvZENyZWF0aW9uU3Vic2NyaXB0aW9uLmNsb3NlZCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICB0aGlzLmlzTG9hZGluZyA9IHRydWU7XG4gICAgdGhpcy5sb2FkZXJNZXNzYWdlID0gJ0VkaXRhbmRvIENPRCwgZXNwZXJlIHVuIG1vbWVudG8nXG4gICAgbGV0IHJlcXVlc3Q6IElVcGRhdGVDT0RScSA9IHRoaXMuZ2V0VXBkYXRlQ09EKHRvdGFsRGF0YSk7XG4gICAgY29uc29sZS5sb2cocmVxdWVzdCk7XG4gICAgdGhpcy5jb21tZXJjaWFsU2VydmljZS51cGRhdGVDT0QocmVxdWVzdCkuc3Vic2NyaWJlKHtcbiAgICAgIG5leHQ6IChyZXNwb25zZTogYW55KSA9PiB7XG4gICAgICAgIGlmIChyZXNwb25zZS5tZXNzYWdlLmNvZGUgPT09IDEpIHtcbiAgICAgICAgICB0aGlzLmlzTG9hZGluZyA9IGZhbHNlO1xuICAgICAgICAgIHRoaXMubG9hZGVyTWVzc2FnZSA9ICcnO1xuICAgICAgICAgIFN3YWwuZmlyZSh7XG4gICAgICAgICAgICB0aXRsZTogJ1BlcmZlY3RvIScsXG4gICAgICAgICAgICB0ZXh0OiAnRWwgQ09EIGhhIHNpZG8gRWRpdGFkbyBleGl0b3NhbWVudGUuJyxcbiAgICAgICAgICAgIGljb246ICdzdWNjZXNzJ1xuICAgICAgICAgIH0pXG4gICAgICAgICAgdGhpcy5sb2NhbFN0b3JhZ2VDT0QuY2xlYXJEYXRhKCk7XG4gICAgICAgICAgdGhpcy5va0NyZWF0ZWRDT0QuZW1pdCh0cnVlKTtcbiAgICAgICAgfWVsc2UgaWYgKHJlc3BvbnNlLm1lc3NhZ2UuY29kZSA9PT0gNCkge1xuICAgICAgICAgIHRoaXMuaXNMb2FkaW5nID0gZmFsc2U7XG4gICAgICAgICAgdGhpcy5sb2FkZXJNZXNzYWdlID0gJyc7XG4gICAgICAgICAgY29uc3QgZXJyb3JNZXNzYWdlcyA9IChyZXNwb25zZS5kYXRhLmVycm9ycyBhcyBhbnlbXSkubWFwKGVycm9yID0+IGAtICR7ZXJyb3IubWVzc2FnZX1gKS5qb2luKCc8YnI+Jyk7XG5cbiAgICAgICAgICBTd2FsLmZpcmUoe1xuICAgICAgICAgICAgdGl0bGU6ICdSZXZpc2FyIGxvIHNlbGVjY2lvbmFkbyBlbiBsb3MgY2FtcG9zJyxcbiAgICAgICAgICAgIGh0bWw6IGAke2Vycm9yTWVzc2FnZXN9YCxcbiAgICAgICAgICAgIGljb246ICd3YXJuaW5nJ1xuICAgICAgICAgIH0pO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHRoaXMuaXNMb2FkaW5nID0gZmFsc2U7XG4gICAgICAgICAgdGhpcy5sb2FkZXJNZXNzYWdlID0gJyc7XG5cbiAgICAgICAgICBTd2FsLmZpcmUoe1xuICAgICAgICAgICAgdGl0bGU6ICdXYXJuaW5nIScsXG4gICAgICAgICAgICB0ZXh0OiByZXNwb25zZS5tZXNzYWdlLm1lc3NhZ2UsXG4gICAgICAgICAgICBpY29uOiAnZXJyb3InXG4gICAgICAgICAgfSlcbiAgICAgICAgfVxuICAgICAgfSxcbiAgICAgIGVycm9yOiAoZXJyOiBhbnkpID0+IHtcbiAgICAgICAgdGhpcy5pc0xvYWRpbmcgPSBmYWxzZTtcbiAgICAgICAgdGhpcy5sb2FkZXJNZXNzYWdlID0gJyc7XG4gICAgICAgIFN3YWwuZmlyZSh7XG4gICAgICAgICAgdGl0bGU6ICdFcnJvciBpbiBjb2QgY3JlYXRpb24nLFxuICAgICAgICAgIHRleHQ6IGVyci5tZXNzYWdlLFxuICAgICAgICAgIGljb246ICdlcnJvcidcbiAgICAgICAgfSlcbiAgICAgIH0sXG4gICAgICBjb21wbGV0ZTogKCkgPT4ge1xuICAgICAgICB0aGlzLmNvZENyZWF0aW9uU3Vic2NyaXB0aW9uID0gbnVsbDtcbiAgICAgIH1cbiAgICB9KVxuICAgIC8vIHRoaXMuY29tbWVyY2lhbFNlcnZpY2UuRWRpdENvZChyZXF1ZXN0KS5zdWJzY3JpYmUoe1xuICAgIC8vICAgbmV4dDogKHJlc3BvbnNlOiBhbnkpID0+IHtcbiAgICAvLyAgIHRoaXMuaXNMb2FkaW5nID0gZmFsc2U7XG4gICAgLy8gICB0aGlzLmxvYWRlck1lc3NhZ2UgPSAnJztcbiAgICAvLyAgIH0sXG4gICAgLy8gICBlcnJvcjogKGVycjogYW55KSA9PiB7XG4gICAgLy8gICB9XG4gICAgLy8gfSk7XG5cbiAgfVxuXG4gIGNyZWF0ZUNPRCh0b3RhbERhdGE6IGFueVtdKSB7XG4gICAgaWYgKHRoaXMuY29kQ3JlYXRpb25TdWJzY3JpcHRpb24gJiYgIXRoaXMuY29kQ3JlYXRpb25TdWJzY3JpcHRpb24uY2xvc2VkKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIHRoaXMuaXNMb2FkaW5nID0gdHJ1ZTtcbiAgICB0aGlzLmxvYWRlck1lc3NhZ2UgPSAnQ3JlYW5kbyBDT0QsIGVzcGVyZSB1biBtb21lbnRvJ1xuICAgIGxldCByZXF1ZXN0OiBDcmVhdGVDT0RScSA9IHRoaXMuZ2V0Q3JlYXRlQ09EKHRvdGFsRGF0YSk7XG4gICAgdGhpcy5jb21tZXJjaWFsU2VydmljZS5jcmVhdGVDT0QocmVxdWVzdCkuc3Vic2NyaWJlKHtcbiAgICAgIG5leHQ6IChyZXNwb25zZTogYW55KSA9PiB7XG4gICAgICAgIGlmIChyZXNwb25zZS5tZXNzYWdlLmNvZGUgPT09IDEpIHtcbiAgICAgICAgICB0aGlzLmlzTG9hZGluZyA9IGZhbHNlO1xuICAgICAgICAgIHRoaXMubG9hZGVyTWVzc2FnZSA9ICcnO1xuICAgICAgICAgIFN3YWwuZmlyZSh7XG4gICAgICAgICAgICB0aXRsZTogJ1BlcmZlY3RvIScsXG4gICAgICAgICAgICB0ZXh0OiAnRWwgQ09EIGhhIHNpZG8gY3JlYWRvIGV4aXRvc2FtZW50ZS4nLFxuICAgICAgICAgICAgaWNvbjogJ3N1Y2Nlc3MnXG4gICAgICAgICAgfSlcbiAgICAgICAgICB0aGlzLmxvY2FsU3RvcmFnZUNPRC5jbGVhckRhdGEoKTtcbiAgICAgICAgICB0aGlzLm9rQ3JlYXRlZENPRC5lbWl0KHRydWUpO1xuICAgICAgICB9ZWxzZSBpZiAocmVzcG9uc2UubWVzc2FnZS5jb2RlID09PSA0KSB7XG4gICAgICAgICAgdGhpcy5pc0xvYWRpbmcgPSBmYWxzZTtcbiAgICAgICAgICB0aGlzLmxvYWRlck1lc3NhZ2UgPSAnJztcbiAgICAgICAgICBjb25zdCBlcnJvck1lc3NhZ2VzID0gKHJlc3BvbnNlLmRhdGEuZXJyb3JzIGFzIGFueVtdKS5tYXAoZXJyb3IgPT4gYC0gJHtlcnJvci5tZXNzYWdlfWApLmpvaW4oJzxicj4nKTtcblxuICAgICAgICAgIFN3YWwuZmlyZSh7XG4gICAgICAgICAgICB0aXRsZTogJ1JldmlzYXIgbG8gc2VsZWNjaW9uYWRvIGVuIGxvcyBjYW1wb3MnLFxuICAgICAgICAgICAgaHRtbDogYCR7ZXJyb3JNZXNzYWdlc31gLFxuICAgICAgICAgICAgaWNvbjogJ3dhcm5pbmcnXG4gICAgICAgICAgfSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgdGhpcy5pc0xvYWRpbmcgPSBmYWxzZTtcbiAgICAgICAgICB0aGlzLmxvYWRlck1lc3NhZ2UgPSAnJztcblxuICAgICAgICAgIFN3YWwuZmlyZSh7XG4gICAgICAgICAgICB0aXRsZTogJ1dhcm5pbmchJyxcbiAgICAgICAgICAgIHRleHQ6IHJlc3BvbnNlLm1lc3NhZ2UubWVzc2FnZSxcbiAgICAgICAgICAgIGljb246ICdlcnJvcidcbiAgICAgICAgICB9KVxuICAgICAgICB9XG4gICAgICB9LFxuICAgICAgZXJyb3I6IChlcnI6IGFueSkgPT4ge1xuICAgICAgICB0aGlzLmlzTG9hZGluZyA9IGZhbHNlO1xuICAgICAgICB0aGlzLmxvYWRlck1lc3NhZ2UgPSAnJztcbiAgICAgICAgU3dhbC5maXJlKHtcbiAgICAgICAgICB0aXRsZTogJ0Vycm9yIGluIGNvZCBjcmVhdGlvbicsXG4gICAgICAgICAgdGV4dDogZXJyLm1lc3NhZ2UsXG4gICAgICAgICAgaWNvbjogJ2Vycm9yJ1xuICAgICAgICB9KVxuICAgICAgfSxcbiAgICAgIGNvbXBsZXRlOiAoKSA9PiB7XG4gICAgICAgIHRoaXMuY29kQ3JlYXRpb25TdWJzY3JpcHRpb24gPSBudWxsO1xuICAgICAgfVxuICAgIH0pXG5cbiAgfVxuXG4gIGdldENyZWF0ZUNPRChkYXRhOiBhbnlbXSk6IENyZWF0ZUNPRFJxIHtcbiAgICBsZXQgcmVxdWVzdDogQ3JlYXRlQ09EUnEgPSB7XG4gICAgICB0b2tlbjogdGhpcy5iYXNlU2VydmljZS5nZXRVc2VyVG9rZW4oKSxcbiAgICAgIHN0dWRlbnRfbmFtZTogZGF0YS5maWx0ZXIoZGF0YSA9PiBkYXRhLmNvbnRyb2wgPT09ICdzdHVkZW50X25hbWUnKVswXS52YWx1ZSxcbiAgICAgIHN0dWRlbnRfbGFzdF9uYW1lOiBkYXRhLmZpbHRlcihkYXRhID0+IGRhdGEuY29udHJvbCA9PT0gJ3N0dWRlbnRfbGFzdF9uYW1lJylbMF0udmFsdWUsXG4gICAgICBuaWNrbmFtZTogZGF0YS5maWx0ZXIoZGF0YSA9PiBkYXRhLmNvbnRyb2wgPT09ICduaWNrbmFtZScpWzBdLnZhbHVlLFxuICAgICAgc3R1ZGVudF9lbWFpbDogZGF0YS5maWx0ZXIoZGF0YSA9PiBkYXRhLmNvbnRyb2wgPT09ICdzdHVkZW50X2VtYWlsJylbMF0udmFsdWUsXG4gICAgICBzdHVkZW50X3Bob25lX2luZGljYXRpdmU6IGRhdGEuZmlsdGVyKGRhdGEgPT4gZGF0YS5jb250cm9sID09PSAnc3R1ZGVudF9waG9uZV9pbmRpY2F0aXZlJylbMF0udmFsdWUsXG4gICAgICBzdHVkZW50X3Bob25lX251bWJlcjogZGF0YS5maWx0ZXIoZGF0YSA9PiBkYXRhLmNvbnRyb2wgPT09ICdzdHVkZW50X3Bob25lX251bWJlcicpWzBdLnZhbHVlLFxuICAgICAgZ2VuZGVyOiBkYXRhLmZpbHRlcihkYXRhID0+IGRhdGEuY29udHJvbCA9PT0gJ2dlbmRlcicpWzBdLnZhbHVlLFxuICAgICAgYmlydGhkYXRlOiBkYXRhLmZpbHRlcihkYXRhID0+IGRhdGEuY29udHJvbCA9PT0gJ2JpcnRoZGF0ZScpWzBdLnZhbHVlLFxuICAgICAgY2l0eTogZGF0YS5maWx0ZXIoZGF0YSA9PiBkYXRhLmNvbnRyb2wgPT09ICdjaXR5JylbMF0udmFsdWUsXG4gICAgICBzdHVkZW50X2lkX2NhcmRfdHlwZTogZGF0YS5maWx0ZXIoZGF0YSA9PiBkYXRhLmNvbnRyb2wgPT09ICdzdHVkZW50X2lkX2NhcmRfdHlwZScpWzBdLnZhbHVlLFxuICAgICAgc3R1ZGVudF9pZF9jYXJkOiBkYXRhLmZpbHRlcihkYXRhID0+IGRhdGEuY29udHJvbCA9PT0gJ3N0dWRlbnRfaWRfY2FyZCcpWzBdLnZhbHVlLFxuICAgICAgcGFzc3dvcmQ6IGRhdGEuZmlsdGVyKGRhdGEgPT4gZGF0YS5jb250cm9sID09PSAncGFzc3dvcmQnKVswXS52YWx1ZSxcbiAgICAgIG5lZWRBdGVuZGFudDogZGF0YS5maWx0ZXIoZGF0YSA9PiBkYXRhLmNvbnRyb2wgPT09ICduZWVkQXRlbmRhbnQnKVswXS52YWx1ZSxcbiAgICAgIHBhcmVudF9uYW1lOiBkYXRhLmZpbHRlcihkYXRhID0+IGRhdGEuY29udHJvbCA9PT0gJ3BhcmVudF9uYW1lJylbMF0udmFsdWUsXG4gICAgICBwYXJlbnRfbGFzdF9uYW1lOiBkYXRhLmZpbHRlcihkYXRhID0+IGRhdGEuY29udHJvbCA9PT0gJ3BhcmVudF9sYXN0X25hbWUnKVswXS52YWx1ZSxcbiAgICAgIHBhcmVudF9pZF9jYXJkX3R5cGU6IGRhdGEuZmlsdGVyKGRhdGEgPT4gZGF0YS5jb250cm9sID09PSAncGFyZW50X2lkX2NhcmRfdHlwZScpWzBdLnZhbHVlLFxuICAgICAgcGFyZW50X2lkX2NhcmQ6IGRhdGEuZmlsdGVyKGRhdGEgPT4gZGF0YS5jb250cm9sID09PSAncGFyZW50X2lkX2NhcmQnKVswXS52YWx1ZSxcbiAgICAgIHBhcmVudF9waG9uZV9pbmRpY2F0aXZlOiBkYXRhLmZpbHRlcihkYXRhID0+IGRhdGEuY29udHJvbCA9PT0gJ3BhcmVudF9waG9uZV9pbmRpY2F0aXZlJylbMF0udmFsdWUsXG4gICAgICBwYXJlbnRfcGhvbmVfbnVtYmVyOiBkYXRhLmZpbHRlcihkYXRhID0+IGRhdGEuY29udHJvbCA9PT0gJ3BhcmVudF9waG9uZV9udW1iZXInKVswXS52YWx1ZSxcbiAgICAgIHBhcmVudF9vY2N1cGF0aW9uOiBkYXRhLmZpbHRlcihkYXRhID0+IGRhdGEuY29udHJvbCA9PT0gJ3BhcmVudF9vY2N1cGF0aW9uJylbMF0udmFsdWUsXG4gICAgICBwYXJlbnRfb2ZmaWNlX2FkZHJlc3M6IGRhdGEuZmlsdGVyKGRhdGEgPT4gZGF0YS5jb250cm9sID09PSAncGFyZW50X2FkZHJlc3MnKVswXS52YWx1ZSxcbiAgICAgIHNvY2lhbF9zdHJhdHVtOiBkYXRhLmZpbHRlcihkYXRhID0+IGRhdGEuY29udHJvbCA9PT0gJ3N0cmF0dW0nKVswXS52YWx1ZSxcbiAgICAgIGNpdmlsX3N0YXR1czogZGF0YS5maWx0ZXIoZGF0YSA9PiBkYXRhLmNvbnRyb2wgPT09ICdjaXZpbF9zdGF0dXMnKVswXS52YWx1ZSxcbiAgICAgIGVkdWNhdGlvbmFsX2xldmVsOiBkYXRhLmZpbHRlcihkYXRhID0+IGRhdGEuY29udHJvbCA9PT0gJ2dyYWRlJylbMF0udmFsdWUsXG4gICAgICBzdHVkZW50X2FkZHJlc3M6IGRhdGEuZmlsdGVyKGRhdGEgPT4gZGF0YS5jb250cm9sID09PSAnc3R1ZGVudF9hZGRyZXNzJylbMF0udmFsdWUsXG4gICAgICBzdHVkZW50X29jY3VwYXRpb246IGRhdGEuZmlsdGVyKGRhdGEgPT4gZGF0YS5jb250cm9sID09PSAnc3R1ZGVudF9vY2N1cGF0aW9uJylbMF0udmFsdWUsXG4gICAgICBkaXNhYmlsaXR5OiBkYXRhLmZpbHRlcihkYXRhID0+IGRhdGEuY29udHJvbCA9PT0gJ2Rpc2FiaWxpdHknKVswXS52YWx1ZSxcbiAgICAgIGhlYWx0aF9yZWdpbWVuOiBkYXRhLmZpbHRlcihkYXRhID0+IGRhdGEuY29udHJvbCA9PT0gJ2hlYWx0aF9yZWdpbWVuJylbMF0udmFsdWUsXG4gICAgICBtYXJrZXRpbmdfcmVhc29uczogZGF0YS5maWx0ZXIoZGF0YSA9PiBkYXRhLmNvbnRyb2wgPT09ICdtYXJrZXRpbmdfcmVhc29ucycpWzBdLnZhbHVlLFxuICAgICAgc3R1ZHlfcmVhc29uczogZGF0YS5maWx0ZXIoZGF0YSA9PiBkYXRhLmNvbnRyb2wgPT09ICdzdHVkeV9yZWFzb25zJylbMF0udmFsdWUsXG4gICAgICBvYnNlcnZhdGlvbjogZGF0YS5maWx0ZXIoZGF0YSA9PiBkYXRhLmNvbnRyb2wgPT09ICdvYnNlcnZhdGlvbicpWzBdLnZhbHVlLFxuICAgICAgbXVsdGljdWx0dXJhbGlzbV8xOiBkYXRhLmZpbHRlcihkYXRhID0+IGRhdGEuY29udHJvbCA9PT0gJ211bHRpY3VsdHVyYWxpc21fMScpWzBdLnZhbHVlLFxuICAgICAgbXVsdGljdWx0dXJhbGlzbV8yOiBkYXRhLmZpbHRlcihkYXRhID0+IGRhdGEuY29udHJvbCA9PT0gJ211bHRpY3VsdHVyYWxpc21fMicpWzBdLnZhbHVlLFxuICAgICAgbXVsdGljdWx0dXJhbGlzbV8zOiBkYXRhLmZpbHRlcihkYXRhID0+IGRhdGEuY29udHJvbCA9PT0gJ211bHRpY3VsdHVyYWxpc21fMycpWzBdLnZhbHVlLFxuICAgICAgbXVsdGljdWx0dXJhbGlzbV80OiBkYXRhLmZpbHRlcihkYXRhID0+IGRhdGEuY29udHJvbCA9PT0gJ211bHRpY3VsdHVyYWxpc21fNCcpWzBdLnZhbHVlLFxuICAgICAgbXVsdGljdWx0dXJhbGlzbV81OiBkYXRhLmZpbHRlcihkYXRhID0+IGRhdGEuY29udHJvbCA9PT0gJ211bHRpY3VsdHVyYWxpc21fNScpWzBdLnZhbHVlLFxuICAgICAgbXVsdGljdWx0dXJhbGlzbV82OiBkYXRhLmZpbHRlcihkYXRhID0+IGRhdGEuY29udHJvbCA9PT0gJ211bHRpY3VsdHVyYWxpc21fNicpWzBdLnZhbHVlLFxuICAgICAgYXZhaWxpYmxlX2NvdXJzZXM6IGRhdGEuZmlsdGVyKGRhdGEgPT4gZGF0YS5jb250cm9sID09PSAnYXZhaWxpYmxlX2NvdXJzZXMnKVswXS52YWx1ZSxcbiAgICAgIGNvdXJzZV90eXBlOiBkYXRhLmZpbHRlcihkYXRhID0+IGRhdGEuY29udHJvbCA9PT0gJ2NvdXJzZV90eXBlJylbMF0udmFsdWUsXG4gICAgICBhZ3JlZW1lbnRfYnlfY2F0ZWdvcnk6IGRhdGEuZmlsdGVyKGRhdGEgPT4gZGF0YS5jb250cm9sID09PSAnYWdyZWVtZW50X2J5X2NhdGVnb3J5JylbMF0udmFsdWUsXG4gICAgICBlbmdsaXNoX2xldmVsOiBkYXRhLmZpbHRlcihkYXRhID0+IGRhdGEuY29udHJvbCA9PT0gJ2VuZ2xpc2hfbGV2ZWwnKVswXS52YWx1ZSxcbiAgICAgIHBheW1lbnRfbWV0aG9kOiBkYXRhLmZpbHRlcihkYXRhID0+IGRhdGEuY29udHJvbCA9PT0gJ3BheW1lbnRfbWV0aG9kJylbMF0udmFsdWUsXG4gICAgICBxdW90YV90aW1lczogZGF0YS5maWx0ZXIoZGF0YSA9PiBkYXRhLmNvbnRyb2wgPT09ICdxdW90YV90aW1lcycpWzBdLnZhbHVlLFxuICAgICAgcGF5bWVudF9kYXRlOiBkYXRhLmZpbHRlcihkYXRhID0+IGRhdGEuY29udHJvbCA9PT0gJ3BheW1lbnRfZGF0ZScpWzBdLnZhbHVlLFxuICAgICAgcGF5bWVudF9kYXRlczogdGhpcy5maW5hbmNpbmdEYXRhISxcbiAgICAgIHByb2dyYW1fcHJpY2U6IGRhdGEuZmlsdGVyKGRhdGEgPT4gZGF0YS5jb250cm9sID09PSAncHJvZ3JhbV9wcmljZScpWzBdLnZhbHVlLFxuICAgICAgdG90YWxfcHJpY2U6IGRhdGEuZmlsdGVyKGRhdGEgPT4gZGF0YS5jb250cm9sID09PSAndG90YWxfcHJpY2UnKVswXS52YWx1ZSxcbiAgICAgIHBhaWRfbGV2ZWw6IGRhdGEuZmlsdGVyKGRhdGEgPT4gZGF0YS5jb250cm9sID09PSAncGFpZF9sZXZlbCcpWzBdLnZhbHVlLFxuICAgICAgdGVybXM6IGRhdGEuZmlsdGVyKGRhdGEgPT4gZGF0YS5jb250cm9sID09PSAndGVybXMnKVswXS52YWx1ZSxcbiAgICAgIHJlX3Bhc3N3b3JkOiBkYXRhLmZpbHRlcihkYXRhID0+IGRhdGEuY29udHJvbCA9PT0gJ3JlX3Bhc3N3b3JkJylbMF0udmFsdWUsXG4gICAgICBhZ2U6IGRhdGEuZmlsdGVyKGRhdGEgPT4gZGF0YS5jb250cm9sID09PSAnYWdlJylbMF0udmFsdWUsXG4gICAgICBjb3VudHJ5OiBkYXRhLmZpbHRlcihkYXRhID0+IGRhdGEuY29udHJvbCA9PT0gJ2NvdW50cnknKVswXS52YWx1ZSxcbiAgICAgIHN0YXRlOiBkYXRhLmZpbHRlcihkYXRhID0+IGRhdGEuY29udHJvbCA9PT0gJ3N0YXRlJylbMF0udmFsdWUsXG4gICAgICBhY2FkZW1pY19wbGFuOiBkYXRhLmZpbHRlcihkYXRhID0+IGRhdGEuY29udHJvbCA9PT0gJ2FjYWRlbWljX3BsYW4nKVswXS52YWx1ZSxcbiAgICAgIGNvZGVfcmVmZXJzOiBkYXRhLmZpbHRlcihkYXRhID0+IGRhdGEuY29udHJvbCA9PT0gJ2NvZGVfcmVmZXJzJylbMF0udmFsdWUsXG4gICAgfVxuICAgIHJldHVybiByZXF1ZXN0O1xuICB9XG5cbiAgZ2V0VXBkYXRlQ09EKGRhdGE6IGFueVtdKTogSVVwZGF0ZUNPRFJxIHtcbiAgICBsZXQgcmVxdWVzdDogSVVwZGF0ZUNPRFJxID0ge1xuICAgICAgdG9rZW46IHRoaXMuYmFzZVNlcnZpY2UuZ2V0VXNlclRva2VuKCksXG4gICAgICBzdHVkZW50X25hbWU6IGRhdGEuZmlsdGVyKGRhdGEgPT4gZGF0YS5jb250cm9sID09PSAnc3R1ZGVudF9uYW1lJylbMF0udmFsdWUsXG4gICAgICBzdHVkZW50X2xhc3RfbmFtZTogZGF0YS5maWx0ZXIoZGF0YSA9PiBkYXRhLmNvbnRyb2wgPT09ICdzdHVkZW50X2xhc3RfbmFtZScpWzBdLnZhbHVlLFxuICAgICAgbmlja25hbWU6IGRhdGEuZmlsdGVyKGRhdGEgPT4gZGF0YS5jb250cm9sID09PSAnbmlja25hbWUnKVswXS52YWx1ZSxcbiAgICAgIHN0dWRlbnRfZW1haWw6IGRhdGEuZmlsdGVyKGRhdGEgPT4gZGF0YS5jb250cm9sID09PSAnc3R1ZGVudF9lbWFpbCcpWzBdLnZhbHVlLFxuICAgICAgc3R1ZGVudF9waG9uZV9pbmRpY2F0aXZlOiBkYXRhLmZpbHRlcihkYXRhID0+IGRhdGEuY29udHJvbCA9PT0gJ3N0dWRlbnRfcGhvbmVfaW5kaWNhdGl2ZScpWzBdLnZhbHVlLFxuICAgICAgc3R1ZGVudF9waG9uZV9udW1iZXI6IGRhdGEuZmlsdGVyKGRhdGEgPT4gZGF0YS5jb250cm9sID09PSAnc3R1ZGVudF9waG9uZV9udW1iZXInKVswXS52YWx1ZSxcbiAgICAgIGdlbmRlcjogZGF0YS5maWx0ZXIoZGF0YSA9PiBkYXRhLmNvbnRyb2wgPT09ICdnZW5kZXInKVswXS52YWx1ZSxcbiAgICAgIGJpcnRoZGF0ZTogZGF0YS5maWx0ZXIoZGF0YSA9PiBkYXRhLmNvbnRyb2wgPT09ICdiaXJ0aGRhdGUnKVswXS52YWx1ZSxcbiAgICAgIGNpdHk6IGRhdGEuZmlsdGVyKGRhdGEgPT4gZGF0YS5jb250cm9sID09PSAnY2l0eScpWzBdLnZhbHVlLFxuICAgICAgc3R1ZGVudF9pZF9jYXJkX3R5cGU6IGRhdGEuZmlsdGVyKGRhdGEgPT4gZGF0YS5jb250cm9sID09PSAnc3R1ZGVudF9pZF9jYXJkX3R5cGUnKVswXS52YWx1ZSxcbiAgICAgIHN0dWRlbnRfaWRfY2FyZDogZGF0YS5maWx0ZXIoZGF0YSA9PiBkYXRhLmNvbnRyb2wgPT09ICdzdHVkZW50X2lkX2NhcmQnKVswXS52YWx1ZSxcbiAgICAgIG5lZWRBdGVuZGFudDogZGF0YS5maWx0ZXIoZGF0YSA9PiBkYXRhLmNvbnRyb2wgPT09ICduZWVkQXRlbmRhbnQnKVswXS52YWx1ZSxcbiAgICAgIHBhcmVudF9uYW1lOiBkYXRhLmZpbHRlcihkYXRhID0+IGRhdGEuY29udHJvbCA9PT0gJ3BhcmVudF9uYW1lJylbMF0udmFsdWUsXG4gICAgICBwYXJlbnRfbGFzdF9uYW1lOiBkYXRhLmZpbHRlcihkYXRhID0+IGRhdGEuY29udHJvbCA9PT0gJ3BhcmVudF9sYXN0X25hbWUnKVswXS52YWx1ZSxcbiAgICAgIHBhcmVudF9pZF9jYXJkX3R5cGU6IGRhdGEuZmlsdGVyKGRhdGEgPT4gZGF0YS5jb250cm9sID09PSAncGFyZW50X2lkX2NhcmRfdHlwZScpWzBdLnZhbHVlLFxuICAgICAgcGFyZW50X2lkX2NhcmQ6IGRhdGEuZmlsdGVyKGRhdGEgPT4gZGF0YS5jb250cm9sID09PSAncGFyZW50X2lkX2NhcmQnKVswXS52YWx1ZSxcbiAgICAgIHBhcmVudF9waG9uZV9pbmRpY2F0aXZlOiBkYXRhLmZpbHRlcihkYXRhID0+IGRhdGEuY29udHJvbCA9PT0gJ3BhcmVudF9waG9uZV9pbmRpY2F0aXZlJylbMF0udmFsdWUsXG4gICAgICBwYXJlbnRfcGhvbmVfbnVtYmVyOiBkYXRhLmZpbHRlcihkYXRhID0+IGRhdGEuY29udHJvbCA9PT0gJ3BhcmVudF9waG9uZV9udW1iZXInKVswXS52YWx1ZSxcbiAgICAgIHBhcmVudF9vY2N1cGF0aW9uOiBkYXRhLmZpbHRlcihkYXRhID0+IGRhdGEuY29udHJvbCA9PT0gJ3BhcmVudF9vY2N1cGF0aW9uJylbMF0udmFsdWUsXG4gICAgICBwYXJlbnRfb2ZmaWNlX2FkZHJlc3M6IGRhdGEuZmlsdGVyKGRhdGEgPT4gZGF0YS5jb250cm9sID09PSAncGFyZW50X2FkZHJlc3MnKVswXS52YWx1ZSxcbiAgICAgIHNvY2lhbF9zdHJhdHVtOiBkYXRhLmZpbHRlcihkYXRhID0+IGRhdGEuY29udHJvbCA9PT0gJ3N0cmF0dW0nKVswXS52YWx1ZSxcbiAgICAgIGNpdmlsX3N0YXR1czogZGF0YS5maWx0ZXIoZGF0YSA9PiBkYXRhLmNvbnRyb2wgPT09ICdjaXZpbF9zdGF0dXMnKVswXS52YWx1ZSxcbiAgICAgIGVkdWNhdGlvbmFsX2xldmVsOiBkYXRhLmZpbHRlcihkYXRhID0+IGRhdGEuY29udHJvbCA9PT0gJ2dyYWRlJylbMF0udmFsdWUsXG4gICAgICBzdHVkZW50X2FkZHJlc3M6IGRhdGEuZmlsdGVyKGRhdGEgPT4gZGF0YS5jb250cm9sID09PSAnc3R1ZGVudF9hZGRyZXNzJylbMF0udmFsdWUsXG4gICAgICBzdHVkZW50X29jY3VwYXRpb246IGRhdGEuZmlsdGVyKGRhdGEgPT4gZGF0YS5jb250cm9sID09PSAnc3R1ZGVudF9vY2N1cGF0aW9uJylbMF0udmFsdWUsXG4gICAgICBkaXNhYmlsaXR5OiBkYXRhLmZpbHRlcihkYXRhID0+IGRhdGEuY29udHJvbCA9PT0gJ2Rpc2FiaWxpdHknKVswXS52YWx1ZSxcbiAgICAgIGhlYWx0aF9yZWdpbWVuOiBkYXRhLmZpbHRlcihkYXRhID0+IGRhdGEuY29udHJvbCA9PT0gJ2hlYWx0aF9yZWdpbWVuJylbMF0udmFsdWUsXG4gICAgICBtYXJrZXRpbmdfcmVhc29uczogZGF0YS5maWx0ZXIoZGF0YSA9PiBkYXRhLmNvbnRyb2wgPT09ICdtYXJrZXRpbmdfcmVhc29ucycpWzBdLnZhbHVlLFxuICAgICAgc3R1ZHlfcmVhc29uczogZGF0YS5maWx0ZXIoZGF0YSA9PiBkYXRhLmNvbnRyb2wgPT09ICdzdHVkeV9yZWFzb25zJylbMF0udmFsdWUsXG4gICAgICBvYnNlcnZhdGlvbjogZGF0YS5maWx0ZXIoZGF0YSA9PiBkYXRhLmNvbnRyb2wgPT09ICdvYnNlcnZhdGlvbicpWzBdLnZhbHVlLFxuICAgICAgbXVsdGljdWx0dXJhbGlzbV8xOiBkYXRhLmZpbHRlcihkYXRhID0+IGRhdGEuY29udHJvbCA9PT0gJ211bHRpY3VsdHVyYWxpc21fMScpWzBdLnZhbHVlLFxuICAgICAgbXVsdGljdWx0dXJhbGlzbV8yOiBkYXRhLmZpbHRlcihkYXRhID0+IGRhdGEuY29udHJvbCA9PT0gJ211bHRpY3VsdHVyYWxpc21fMicpWzBdLnZhbHVlLFxuICAgICAgbXVsdGljdWx0dXJhbGlzbV8zOiBkYXRhLmZpbHRlcihkYXRhID0+IGRhdGEuY29udHJvbCA9PT0gJ211bHRpY3VsdHVyYWxpc21fMycpWzBdLnZhbHVlLFxuICAgICAgbXVsdGljdWx0dXJhbGlzbV80OiBkYXRhLmZpbHRlcihkYXRhID0+IGRhdGEuY29udHJvbCA9PT0gJ211bHRpY3VsdHVyYWxpc21fNCcpWzBdLnZhbHVlLFxuICAgICAgbXVsdGljdWx0dXJhbGlzbV81OiBkYXRhLmZpbHRlcihkYXRhID0+IGRhdGEuY29udHJvbCA9PT0gJ211bHRpY3VsdHVyYWxpc21fNScpWzBdLnZhbHVlLFxuICAgICAgbXVsdGljdWx0dXJhbGlzbV82OiBkYXRhLmZpbHRlcihkYXRhID0+IGRhdGEuY29udHJvbCA9PT0gJ211bHRpY3VsdHVyYWxpc21fNicpWzBdLnZhbHVlLFxuICAgICAgYXZhaWxpYmxlX2NvdXJzZXM6IGRhdGEuZmlsdGVyKGRhdGEgPT4gZGF0YS5jb250cm9sID09PSAnYXZhaWxpYmxlX2NvdXJzZXMnKVswXS52YWx1ZSxcbiAgICAgIGNvdXJzZV90eXBlOiBkYXRhLmZpbHRlcihkYXRhID0+IGRhdGEuY29udHJvbCA9PT0gJ2NvdXJzZV90eXBlJylbMF0udmFsdWUsXG4gICAgICBhZ3JlZW1lbnRfYnlfY2F0ZWdvcnk6IGRhdGEuZmlsdGVyKGRhdGEgPT4gZGF0YS5jb250cm9sID09PSAnYWdyZWVtZW50X2J5X2NhdGVnb3J5JylbMF0udmFsdWUsXG4gICAgICBlbmdsaXNoX2xldmVsOiBkYXRhLmZpbHRlcihkYXRhID0+IGRhdGEuY29udHJvbCA9PT0gJ2VuZ2xpc2hfbGV2ZWwnKVswXS52YWx1ZSxcbiAgICAgIHBheW1lbnRfbWV0aG9kOiBkYXRhLmZpbHRlcihkYXRhID0+IGRhdGEuY29udHJvbCA9PT0gJ3BheW1lbnRfbWV0aG9kJylbMF0udmFsdWUsXG4gICAgICBxdW90YV90aW1lczogZGF0YS5maWx0ZXIoZGF0YSA9PiBkYXRhLmNvbnRyb2wgPT09ICdxdW90YV90aW1lcycpWzBdLnZhbHVlLFxuICAgICAgcGF5bWVudF9kYXRlOiBkYXRhLmZpbHRlcihkYXRhID0+IGRhdGEuY29udHJvbCA9PT0gJ3BheW1lbnRfZGF0ZScpWzBdLnZhbHVlLFxuICAgICAgcGF5bWVudF9kYXRlczogdGhpcy5maW5hbmNpbmdEYXRhISxcbiAgICAgIHByb2dyYW1fcHJpY2U6IGRhdGEuZmlsdGVyKGRhdGEgPT4gZGF0YS5jb250cm9sID09PSAncHJvZ3JhbV9wcmljZScpWzBdLnZhbHVlLFxuICAgICAgdG90YWxfcHJpY2U6IGRhdGEuZmlsdGVyKGRhdGEgPT4gZGF0YS5jb250cm9sID09PSAndG90YWxfcHJpY2UnKVswXS52YWx1ZSxcbiAgICAgIHBhaWRfbGV2ZWw6IGRhdGEuZmlsdGVyKGRhdGEgPT4gZGF0YS5jb250cm9sID09PSAncGFpZF9sZXZlbCcpWzBdLnZhbHVlLFxuICAgICAgdGVybXM6IGRhdGEuZmlsdGVyKGRhdGEgPT4gZGF0YS5jb250cm9sID09PSAndGVybXMnKVswXS52YWx1ZSxcbiAgICAgIGFnZTogZGF0YS5maWx0ZXIoZGF0YSA9PiBkYXRhLmNvbnRyb2wgPT09ICdhZ2UnKVswXS52YWx1ZSxcbiAgICAgIGNvdW50cnk6IGRhdGEuZmlsdGVyKGRhdGEgPT4gZGF0YS5jb250cm9sID09PSAnY291bnRyeScpWzBdLnZhbHVlLFxuICAgICAgc3RhdGU6IGRhdGEuZmlsdGVyKGRhdGEgPT4gZGF0YS5jb250cm9sID09PSAnc3RhdGUnKVswXS52YWx1ZSxcbiAgICAgIGFjYWRlbWljX3BsYW46IGRhdGEuZmlsdGVyKGRhdGEgPT4gZGF0YS5jb250cm9sID09PSAnYWNhZGVtaWNfcGxhbicpWzBdLnZhbHVlLFxuICAgICAgY29kZV9yZWZlcnM6IGRhdGEuZmlsdGVyKGRhdGEgPT4gZGF0YS5jb250cm9sID09PSAnY29kZV9yZWZlcnMnKVswXS52YWx1ZSxcbiAgICAgIGNvZGVfY29kOiBkYXRhLmZpbHRlcihkYXRhID0+IGRhdGEuY29udHJvbCA9PT0gJ2NvZGVfY29kJylbMF0udmFsdWUsXG4gICAgfVxuICAgIHJldHVybiByZXF1ZXN0O1xuICB9XG5cbiAgY2hhbmdlU3RlcChzdGVwOiBudW1iZXIpIHtcbiAgICB0aGlzLmN1cnJlbnRTdGVwID0gc3RlcDtcbiAgfVxuXG59XG4iLCI8ZGl2ICpuZ0lmPVwiYWxsb3dlZFJvbGUoKSA7IGVsc2UgVW5hdXRob3JpemVkXCIgY2xhc3M9XCJjb250YWluZXIgZmxleCBmbGV4LWNvbHVtbiBiZy13aGl0ZSBib3JkZXItcm91bmQtMnhsIHAtMyBjb250YWluZXIgYW5pbWF0ZV9fYW5pbWF0ZWQgYW5pbWF0ZV9fZmFkZUluVXBcIj5cblxuICA8c3BhbiAqbmdJZj1cImVkaXRDb2RcIiBjbGFzcz1cImJnLXllbGxvdy01MDAgcC0yIGJvcmRlci1yb3VuZCBtYi0yIHctYXV0byB0ZXh0LWxnIGZvbnQtc2VtaWJvbGRcIiBzdHlsZT1cImNvbG9yOiB3aGl0ZTtcIj57eyBmb3JtVGl0bGUgfX08L3NwYW4+XG4gIDxzcGFuICpuZ0lmPVwiIWVkaXRDb2RcIiBjbGFzcz1cImJnLXByaW1hcnkgcC0yIGJvcmRlci1yb3VuZCBtYi0yIHctYXV0byB0ZXh0LWxnIGZvbnQtc2VtaWJvbGRcIj57eyBmb3JtVGl0bGUgfX08L3NwYW4+XG5cbiAgPHAtdGFiVmlldyBbYWN0aXZlSW5kZXhdPVwiY3VycmVudFN0ZXBcIiAoYWN0aXZlSW5kZXhDaGFuZ2UpPVwiY3VycmVudFN0ZXAgPSAkZXZlbnRcIiBbc2Nyb2xsYWJsZV09XCJ0cnVlXCI+XG4gICAgPHAtdGFiUGFuZWwgbGVmdEljb249XCJwaSBwaS1zdGFyXCIgaGVhZGVyPVwiMS4gUGxhbmVzIHkgY29udmVuaW9zXCI+XG4gICAgICA8YXBwLWNvZC1mb3JtLXN0ZXAtb25lIChjaGFuZ2VTdGVwRXZlbnQpPVwiY2hhbmdlU3RlcCgkZXZlbnQpXCIgW2luaXRpYWxEYXRhXT1cImNvdXJzZVNlbGVjdFwiIFtkYXRhUHJldml1c0NvZERhdGFdPVwiZGF0YUZyb21QcmV2aXVzQ29kRGF0YVwiIFtpc0VkaXRDb2RdPVwiZWRpdENvZFwiIGNsYXNzPVwicC0xXCI+PC9hcHAtY29kLWZvcm0tc3RlcC1vbmU+XG4gICAgPC9wLXRhYlBhbmVsPlxuICAgIDxwLXRhYlBhbmVsIGxlZnRJY29uPVwicGkgcGktaWQtY2FyZFwiIGhlYWRlcj1cIjIuIERhdG9zIGRlbCBlc3R1ZGlhbnRlXCI+XG4gICAgICA8YXBwLWNvZC1mb3JtLXN0ZXAtdHdvIChjaGFuZ2VTdGVwRXZlbnQpPVwiY2hhbmdlU3RlcCgkZXZlbnQpXCIgW2luaXRpYWxEYXRhXT1cImRhdGFGcm9tUHJldml1c0NvZERhdGFcIiBbaXNFZGl0Q29kXT1cImVkaXRDb2RcIiBjbGFzcz1cInAtMVwiPjwvYXBwLWNvZC1mb3JtLXN0ZXAtdHdvPlxuICAgIDwvcC10YWJQYW5lbD5cbiAgICA8cC10YWJQYW5lbCBsZWZ0SWNvbj1cInBpIHBpLXVzZXItZWRpdFwiIGhlYWRlcj1cIjMuIERhdG9zIGRlbCBhY3VkaWVudGVcIj5cbiAgICAgIDxhcHAtY29kLWZvcm0tc3RlcC10aHJlZSAgKGNoYW5nZVN0ZXBFdmVudCk9XCJjaGFuZ2VTdGVwKCRldmVudClcIiBbaW5pdGlhbERhdGFdPVwiZGF0YUZyb21QcmV2aXVzQ29kRGF0YVwiIFtpc0VkaXRDb2RdPVwiZWRpdENvZFwiIGNsYXNzPVwicC0xXCI+PC9hcHAtY29kLWZvcm0tc3RlcC10aHJlZT5cbiAgICA8L3AtdGFiUGFuZWw+XG4gICAgPHAtdGFiUGFuZWwgbGVmdEljb249XCJwaSBwaS1tb25leS1iaWxsXCIgaGVhZGVyPVwiNC4gVmFsb3Jlc1wiPlxuICAgICAgPGFwcC1jb2QtZm9ybS1zdGVwLWZvdXIgKGNoYW5nZVN0ZXBFdmVudCk9XCJjaGFuZ2VTdGVwKCRldmVudClcIiAoZmluYW5jaW5nRGF0YSk9XCJzYXZlRmluYW5jaW5nRGF0YSgkZXZlbnQpXCIgW2luaXRpYWxEYXRhXT1cImRhdGFGcm9tUHJldml1c0NvZERhdGFcIiBbaXNFZGl0Q29kXT1cImVkaXRDb2RcIiBjbGFzcz1cInAtMVwiPjwvYXBwLWNvZC1mb3JtLXN0ZXAtZm91cj5cbiAgICA8L3AtdGFiUGFuZWw+XG4gICAgPHAtdGFiUGFuZWwgbGVmdEljb249XCJwaSBwaS1leWVcIiBoZWFkZXI9XCI1LiBPYnNlcnZhY2lvbmVzXCI+XG4gICAgICA8YXBwLWNvZC1mb3JtLXN0ZXAtZml2ZSAoY2hhbmdlU3RlcEV2ZW50KT1cImNoYW5nZVN0ZXAoJGV2ZW50KVwiIFt1c2VyUm9sZV09XCJ1c2VyUm9sZVwiIFtpbml0aWFsRGF0YV09XCJkYXRhRnJvbVByZXZpdXNDb2REYXRhXCIgKGFjdGlvbik9XCJnZXRGb3JtQWN0aW9uKCRldmVudClcIiBbaXNFZGl0Q29kXT1cImVkaXRDb2RcIiBjbGFzcz1cInAtMVwiPjwvYXBwLWNvZC1mb3JtLXN0ZXAtZml2ZT5cbiAgICA8L3AtdGFiUGFuZWw+XG4gIDwvcC10YWJWaWV3PlxuXG48L2Rpdj5cblxuPG5nLXRlbXBsYXRlICNVbmF1dGhvcml6ZWQ+XG4gIDxzcGFuIGNsYXNzPVwiZmxleCBqdXN0aWZ5LWNvbnRlbnQtY2VudGVyIGZvbnQtYm9sZCBwLTIgYmcteWVsbG93LTIwMCBib3JkZXItcm91bmQtbGcgdy1mdWxsXCI+XG4gICAgTm8gdGllbmVzIGxvcyBwZXJtaXNvcyBwYXJhIGFjY2VkZXIgYSBlc3RhIGZ1bmNpb25hbGlkYWQsIGNvbXVuw61jYXRlIGNvbiBlbCBkZXNhcnJvbGxhZG9yLlxuICA8L3NwYW4+XG48L25nLXRlbXBsYXRlPlxuXG5cbjxpcHQtbG9hZGVyICpuZ0lmPVwiaXNMb2FkaW5nXCIgW2lzRGlhbG9nXT1cInRydWVcIiBbbWVzc2FnZV09XCJsb2FkZXJNZXNzYWdlXCI+PC9pcHQtbG9hZGVyPlxuIl19
@@ -168,6 +168,11 @@ export class CommercialService extends IPTGeneralService {
168
168
  let serviceUrl = this.SERVICE_URL + 'get/latest/cod/by/student/code/' + codeStudent;
169
169
  return this.http.get(serviceUrl, this.httpOptions);
170
170
  }
171
+ updateCOD(request) {
172
+ let serviceUrl = this.SERVICE_URL + 'post/update/cod';
173
+ this.generateRequestParams(request);
174
+ return this.http.post(serviceUrl, this.httpOptions);
175
+ }
171
176
  }
172
177
  CommercialService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.7", ngImport: i0, type: CommercialService, deps: [{ token: i1.HttpClient }], target: i0.ɵɵFactoryTarget.Injectable });
173
178
  CommercialService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.0.7", ngImport: i0, type: CommercialService, providedIn: 'root' });
@@ -175,4 +180,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.7", ngImpor
175
180
  type: Injectable,
176
181
  args: [{ providedIn: 'root' }]
177
182
  }], ctorParameters: function () { return [{ type: i1.HttpClient }]; } });
178
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tZXJjaWFsLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9kZXNpZ24tc3lzdGVtL3NyYy9saWIvY29yZS9zZXJ2aWNlcy9jb21tZXJjaWFsLXNlcnZpY2UvY29tZXJjaWFsLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUkzQyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQzs7O0FBTzNELE1BQU0sT0FBTyxpQkFBa0IsU0FBUSxpQkFBaUI7SUFJdEQsWUFBb0IsSUFBZ0I7UUFDbEMsS0FBSyxFQUFFLENBQUM7UUFEVSxTQUFJLEdBQUosSUFBSSxDQUFZO1FBRjVCLGdCQUFXLEdBQUcsaUJBQWlCLENBQUM7UUFJdEMsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUMsT0FBTyxFQUFFLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQztJQUN2RCxDQUFDO0lBRUQsU0FBUyxDQUFDLE9BQW9CO1FBQzVCLElBQUksVUFBVSxHQUFHLElBQUksQ0FBQyxXQUFXLEdBQUcsVUFBVSxDQUFDO1FBQy9DLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUNwQyxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsRUFBRSxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDdEQsQ0FBQztJQUVELG9CQUFvQixDQUFDLEtBQWEsRUFBRSxlQUF1QjtRQUN6RCxJQUFJLFVBQVUsR0FBRyxJQUFJLENBQUMsV0FBVyxHQUFHLG9DQUFvQyxDQUFDO1FBQ3pFLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxFQUFDLEtBQUssRUFBRSxlQUFlLEVBQUMsQ0FBQyxDQUFDO1FBQ3JELE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFFLElBQUksQ0FB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QixpQkFBaUI7a0JBRDdCLFVBQVU7bUJBQUMsRUFBQyxVQUFVLEVBQUUsTUFBTSxFQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSWdldENvdXJzZXNGaW5pc2hBbmR1bmFzc2lnbmVkUnEgfSBmcm9tICcuLy4uLy4uL21vZGVscy9yZXBvcnRzL3JlcG9ydHMubW9kZWwnO1xuaW1wb3J0IHsgSHR0cENsaWVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IEdldERpc2NvdW50Q291cG9uc1JxIH0gZnJvbSAnLi4vLi4vbW9kZWxzL3BheW1lbnQvcGF5bWVudC1ycS5tb2RlbCc7XG5pbXBvcnQgeyBDcmVhdGVDT0RScSwgRnVsbERhdGFDT0RScSwgR2V0Q29kQnlDb3Vyc2VScSB9IGZyb20gJy4uLy4uL21vZGVscy9jb2QvY29kLXJxLm1vZGVsJztcbmltcG9ydCB7IElQVEdlbmVyYWxTZXJ2aWNlIH0gZnJvbSAnLi4vc2VydmljZS1lbnZpcm9tZW50cyc7XG5pbXBvcnQgeyBBZGljSW5mb0J5Q29kZVJxLCBDb2RQcmljZXNScSwgSUdvYWxJbnRlcmZhY2VScSwgUGFyZW50QnlDb2RlUnEsIElSZXBvcnRFeGNlbFJxLCBJT2J0YWluUmVmZXJzQnlVc2VyUnEsIElBc3NpZ25Qb3NpYmxlU3R1ZGVudEZvclZhbHVlUnEsIElHZXRDb250YWN0c2FkdmlzZXJScSwgSU9idGFpbkNvZFByaWNlc1JxLCBJQXNzaWduaW5nQWR2aXNvckdvYWxzUnEsIElSZXBvcnRDb2RGb3JBZHZpc2VyUnEgfSBmcm9tICcuLi8uLi9tb2RlbHMvY29tbWVyY2lhbC9jb21tZXJjaWFsLm1vZGVsJztcbmltcG9ydCB7IFVzZXJUb2tlblJxIH0gZnJvbSAnLi4vLi4vbW9kZWxzL3VzZXIvdXNlci1ycS5tb2RlbCc7XG5pbXBvcnQgeyBJU29jaWFsTmV0d29ya3NScSB9IGZyb20gJy4uLy4uL21vZGVscy9tYXJrZXRpbmcvbWFya2V0aW5nLm1vZGVsJztcbmltcG9ydCB7IElPYnRhaW5BbGxDb3Vyc2V3YWxsZXQgfSBmcm9tICcuLi8uLi9tb2RlbHMvYnVkZ2V0L2J1ZGdldC5tb2RlbCc7XG5cbkBJbmplY3RhYmxlKHtwcm92aWRlZEluOiAncm9vdCd9KVxuZXhwb3J0IGNsYXNzIENvbW1lcmNpYWxTZXJ2aWNlIGV4dGVuZHMgSVBUR2VuZXJhbFNlcnZpY2Uge1xuXG4gIHByaXZhdGUgU0VSVklDRV9VUkwgPSAnY29tbWVyY2lhbC9hcGkvJztcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGh0dHA6IEh0dHBDbGllbnQpIHtcbiAgICBzdXBlcigpO1xuICAgIHRoaXMuU0VSVklDRV9VUkwgPSB0aGlzLmJhc2VVcmwoKSArIHRoaXMuU0VSVklDRV9VUkw7XG4gIH1cblxuICBjcmVhdGVDT0QocmVxdWVzdDogQ3JlYXRlQ09EUnEpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGxldCBzZXJ2aWNlVXJsID0gdGhpcy5TRVJWSUNFX1VSTCArICdwb3N0L2NvZCc7XG4gICAgdGhpcy5nZW5lcmF0ZVJlcXVlc3RQYXJhbXMocmVxdWVzdCk7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KHNlcnZpY2VVcmwsIHRoaXMuaHR0cE9wdGlvbnMpO1xuICB9XG5cbiAgZ2V0U3R1ZGVudENvZEhpc3RvcnkodG9rZW46IHN0cmluZywgc3R1ZGVudF9pZF9jYXJkOiBudW1iZXIpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGxldCBzZXJ2aWNlVXJsID0gdGhpcy5TRVJWSUNFX1VSTCArICdwb3N0L29idGFpbi9jb2QvaGlzdG9yeS9ieS9zdHVkZW50JztcbiAgICB0aGlzLmdlbmVyYXRlUmVxdWVzdFBhcmFtcyh7dG9rZW4sIHN0dWRlbnRfaWRfY2FyZH0pO1xuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChzZXJ2aWNlVXJsLCB0aGlzLmh0dHBPcHRpb25zKTtcbiAgfVxuXG4gIGdldENvZEhpc3RvcnlBbGwodXNlclRva2VuOiBhbnkpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGxldCBzZXJ2aWNlVXJsID0gdGhpcy5TRVJWSUNFX1VSTCArICdwb3N0L29idGFpbi9jb2QvaGlzdG9yeS9hbGwnO1xuICAgIHRoaXMuZ2VuZXJhdGVSZXF1ZXN0UGFyYW1zKHVzZXJUb2tlbik7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KHNlcnZpY2VVcmwsIHRoaXMuaHR0cE9wdGlvbnMpO1xuICB9XG5cbiAgZ2V0Q29kSGlzdG9yeUJ5Q291cnNlKHJlcXVlc3Q6IGFueSk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgbGV0IHNlcnZpY2VVcmwgPSB0aGlzLlNFUlZJQ0VfVVJMICsgJ3Bvc3Qvb2J0YWluL2NvZC9oaXN0b3J5L2J5L2NvdXJzZSc7XG4gICAgdGhpcy5nZW5lcmF0ZVJlcXVlc3RQYXJhbXMocmVxdWVzdCk7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KHNlcnZpY2VVcmwsIHRoaXMuaHR0cE9wdGlvbnMpO1xuICB9XG5cbiAgZ2V0Q29kSGlzdG9yeUJ5Q291cnNlRXhwb3J0KHJlcXVlc3Q6IGFueSk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgbGV0IHNlcnZpY2VVcmwgPSB0aGlzLlNFUlZJQ0VfVVJMICsgJ3Bvc3Qvb2J0YWluL2NvZC9oaXN0b3J5L2J5L2NvdXJzZS9leHBvcnQnO1xuICAgIHRoaXMuZ2VuZXJhdGVSZXF1ZXN0UGFyYW1zKHJlcXVlc3QpO1xuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChzZXJ2aWNlVXJsLCB0aGlzLmh0dHBPcHRpb25zKTtcbiAgfVxuXG4gIGdldERpc2NvdW50Q291cG9ucyhwYXJhbXM6IEdldERpc2NvdW50Q291cG9uc1JxKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBsZXQgc2VydmljZVVybCA9IHRoaXMuU0VSVklDRV9VUkwgKyAncG9zdC9kaXNjb3VudC9jb3Vwb24vc2VhcmNoJztcbiAgICB0aGlzLmdlbmVyYXRlUmVxdWVzdFBhcmFtcyhwYXJhbXMpO1xuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChzZXJ2aWNlVXJsLCB0aGlzLmh0dHBPcHRpb25zKTtcbiAgfVxuXG4gIGdldENvZFByaWNlc0J5QWdyZWVtZW50KGNvZGU6IG51bWJlcik6IE9ic2VydmFibGU8YW55PiB7XG4gICAgbGV0IHNlcnZpY2VVcmwgPSB0aGlzLlNFUlZJQ0VfVVJMICsgJ2dldC9jb2QvcHJpY2VzL2J5L2FncmVlbWVudC8nICsgY29kZTtcbiAgICB0aGlzLmdlbmVyYXRlUmVxdWVzdFBhcmFtcyhjb2RlKTtcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldChzZXJ2aWNlVXJsLCB0aGlzLmh0dHBPcHRpb25zKTtcbiAgfVxuXG4gIGdldENvZFBhcmVudEJ5Q29kZShwYXJhbXM6IFBhcmVudEJ5Q29kZVJxKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBsZXQgc2VydmljZVVybCA9IHRoaXMuU0VSVklDRV9VUkwgKyAncG9zdC9vYnRhaW4vY29kL3BhcmVudC9ieS9jb2RlJztcbiAgICB0aGlzLmdlbmVyYXRlUmVxdWVzdFBhcmFtcyhwYXJhbXMpO1xuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChzZXJ2aWNlVXJsLCB0aGlzLmh0dHBPcHRpb25zKTtcbiAgfVxuXG4gIGdldEFkaWNJbmZvQnlDb2RlKHBhcmFtczogQWRpY0luZm9CeUNvZGVScSk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgbGV0IHNlcnZpY2VVcmwgPSB0aGlzLlNFUlZJQ0VfVVJMICsgJ3Bvc3Qvb2J0YWluL2NvZC9hZGl0aW9uYWxpbmZvL2J5L2NvZGUnO1xuICAgIHRoaXMuZ2VuZXJhdGVSZXF1ZXN0UGFyYW1zKHBhcmFtcyk7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KHNlcnZpY2VVcmwsIHRoaXMuaHR0cE9wdGlvbnMpO1xuICB9XG5cbiAgZ2V0RnVsbERhdGFDb2RCeVN0dWRlbnQocGFyYW1zOiBGdWxsRGF0YUNPRFJxKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBsZXQgc2VydmljZVVybCA9IHRoaXMuU0VSVklDRV9VUkwgKyAncG9zdC9vYnRhaW4vZnVsbC9kYXRhL2NvZC9ieS9zdHVkZW50JztcbiAgICB0aGlzLmdlbmVyYXRlUmVxdWVzdFBhcmFtcyhwYXJhbXMpO1xuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChzZXJ2aWNlVXJsLCB0aGlzLmh0dHBPcHRpb25zKTtcbiAgfVxuXG4gIGdldENvZFByaWNlc0J5QWdyZWVtZW50VHlwZVBheW1lbnQocGFyYW1zOiBDb2RQcmljZXNScSk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgbGV0IHNlcnZpY2VVcmwgPSB0aGlzLlNFUlZJQ0VfVVJMICsgJ3Bvc3QvY29kL3ByaWNlcy9ieS9hZ3JlZW1lbnQvYW5kL3R5cGUvcGF5bWVudCc7XG4gICAgdGhpcy5nZW5lcmF0ZVJlcXVlc3RQYXJhbXMocGFyYW1zKTtcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Qoc2VydmljZVVybCwgdGhpcy5odHRwT3B0aW9ucyk7XG4gIH1cblxuICBvYnRhaW5Db2RCeUFkdmFpc2VyKHBhcmFtczogVXNlclRva2VuUnEpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGxldCBzZXJ2aWNlVXJsID0gdGhpcy5TRVJWSUNFX1VSTCArICdwb3N0L29idGFpbi9jb2QvYnkvYWR2YWlzZXInO1xuICAgIHRoaXMuZ2VuZXJhdGVSZXF1ZXN0UGFyYW1zKHBhcmFtcyk7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KHNlcnZpY2VVcmwsIHRoaXMuaHR0cE9wdGlvbnMpO1xuICB9XG5cbiAgb2J0YWluQ29kQ291cnNlc0J5QWR2aXNvcihwYXJhbXM6IFVzZXJUb2tlblJxKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBsZXQgc2VydmljZVVybCA9IHRoaXMuU0VSVklDRV9VUkwgKyAncG9zdC9vYnRhaW4vY29kL2NvdXJzZXMvYnkvYWR2aXNvcic7XG4gICAgdGhpcy5nZW5lcmF0ZVJlcXVlc3RQYXJhbXMocGFyYW1zKTtcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Qoc2VydmljZVVybCwgdGhpcy5odHRwT3B0aW9ucyk7XG4gIH1cblxuICBvYnRhaW5Db2RCeUFkdmlzb3JBbmRDb3Vyc2UocGFyYW1zOiBHZXRDb2RCeUNvdXJzZVJxKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBsZXQgc2VydmljZVVybCA9IHRoaXMuU0VSVklDRV9VUkwgKyAncG9zdC9vYnRhaW4vY29kL3N0dWRlbnQvYnkvY291cnNlL2FuZC9hZHZpc29yJztcbiAgICB0aGlzLmdlbmVyYXRlUmVxdWVzdFBhcmFtcyhwYXJhbXMpO1xuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChzZXJ2aWNlVXJsLCB0aGlzLmh0dHBPcHRpb25zKTtcbiAgfVxuXG4gIGNyZWF0ZUdvYWwocGFyYW1zOiBJR29hbEludGVyZmFjZVJxKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBsZXQgc2VydmljZVVybCA9IHRoaXMuU0VSVklDRV9VUkwgKyAncG9zdC9jb250YWN0L3N0cmF0ZWd5L2NyZWF0ZS9nb2FsJztcbiAgICB0aGlzLmdlbmVyYXRlUmVxdWVzdFBhcmFtcyhwYXJhbXMpO1xuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChzZXJ2aWNlVXJsLHRoaXMuaHR0cE9wdGlvbnMpO1xuICAgIH1cblxuICBnZXRBbGxHb2Fscyh0b2tlbjogc3RyaW5nKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBsZXQgc2VydmljZVVybCA9IHRoaXMuU0VSVklDRV9VUkwgKyAncG9zdC9jb250YWN0L3N0cmF0ZWd5L3ZpZXcvZ29hbHMnO1xuICAgIHRoaXMuZ2VuZXJhdGVSZXF1ZXN0UGFyYW1zKHRva2VuKTtcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Qoc2VydmljZVVybCx0aGlzLmh0dHBPcHRpb25zKTtcbiAgfVxuXG4gIGNyZWF0ZURvY3VtZW50KHBhcmFtczogYW55KTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBsZXQgc2VydmljZVVybCA9IHRoaXMuU0VSVklDRV9VUkwgKyAncG9zdC9tZWRpYS9kb2N1bWVudCc7XG4gICAgbGV0IGZvcm1EYXRhID0gbmV3IEZvcm1EYXRhKCk7XG4gICAgZm9ybURhdGEuYXBwZW5kKCdmaWxlJywgcGFyYW1zLmZpbGUpO1xuICAgIGZvcm1EYXRhLmFwcGVuZCgndXNlcl9hdXRvcicsIHBhcmFtcy51c2VyX2F1dG9yKTtcbiAgICBmb3JtRGF0YS5hcHBlbmQoJ2NvZGVfdXNlcicsIHBhcmFtcy5jb2RlX3VzZXIpO1xuICAgIGZvcm1EYXRhLmFwcGVuZCgndHlwZV9kb2N1bWVudCcsIHBhcmFtcy50eXBlX2RvY3VtZW50KTtcbiAgICBmb3JtRGF0YS5hcHBlbmQoJ3Rva2VuJywgcGFyYW1zLnRva2VuKTtcblxuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChzZXJ2aWNlVXJsLCBmb3JtRGF0YSk7XG4gIH1cblxuICBnZXREb2N1bWVudHNCeVN0dWRlbnQocGFyYW1zOmFueSk6IE9ic2VydmFibGU8YW55PntcbiAgICBsZXQgc2VydmljZVVybCA9IHRoaXMuU0VSVklDRV9VUkwgKyAnZ2V0L21lZGlhL2RvY3VtZW50L3VzZXInO1xuICAgIHRoaXMuZ2VuZXJhdGVSZXF1ZXN0UGFyYW1zKHBhcmFtcyk7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KHNlcnZpY2VVcmwsdGhpcy5odHRwT3B0aW9ucyk7XG4gIH1cblxuICBvYnRhaW5Db2RTdHVkZW50QnlDb2RlQWR2aXNlcihwYXJhbXM6IElSZXBvcnRDb2RGb3JBZHZpc2VyUnEpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGxldCBzZXJ2aWNlVXJsID0gdGhpcy5TRVJWSUNFX1VSTCArICdnZXQvY29kL3N0dWRlbnQvYnkvYWR2aXNlcic7XG4gICAgdGhpcy5nZW5lcmF0ZVJlcXVlc3RQYXJhbXMocGFyYW1zKTtcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Qoc2VydmljZVVybCwgdGhpcy5odHRwT3B0aW9ucyk7XG4gIH1cblxuICBFeHBvcnRGaWxlRXhjZWxDb2RCeUFkdmlzZXIocGFyYW1zOiBJUmVwb3J0Q29kRm9yQWR2aXNlclJxKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBsZXQgc2VydmljZVVybCA9IHRoaXMuU0VSVklDRV9VUkwgKyAncG9zdC9leHBvcnQvZXhjZWwvY29kL3N0dWRlbnQvYnkvYWR2aXNlcic7XG4gICAgdGhpcy5nZW5lcmF0ZVJlcXVlc3RQYXJhbXMocGFyYW1zKTtcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Qoc2VydmljZVVybCwgdGhpcy5odHRwT3B0aW9ucyk7XG4gIH1cblxuICBPYnRhaW5SZWZlcnJhbHNCeVVzZXIocGFyYW1zOiBJT2J0YWluUmVmZXJzQnlVc2VyUnEpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGxldCBzZXJ2aWNlVXJsID0gdGhpcy5TRVJWSUNFX1VSTCArICdwb3N0L29idGFpbi9yZWZlcnJhbHMvYnkvdXNlci9jb2RlJztcbiAgICB0aGlzLmdlbmVyYXRlUmVxdWVzdFBhcmFtcyhwYXJhbXMpO1xuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChzZXJ2aWNlVXJsLCB0aGlzLmh0dHBPcHRpb25zKTtcbiAgfVxuXG4gICAgZ2V0UG9zaWJsZVN0dWRlbnRzQWxsKHBhcmFtczogYW55KTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBsZXQgc2VydmljZVVybCA9IHRoaXMuU0VSVklDRV9VUkwgKyAncG9zdC9vYnRhaW4vcG9zaWJsZS9zdHVkZW50cy9hbGwvbW9kZWxzJztcbiAgICB0aGlzLmdlbmVyYXRlUmVxdWVzdFBhcmFtcyhwYXJhbXMpO1xuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChzZXJ2aWNlVXJsLCB0aGlzLmh0dHBPcHRpb25zKTtcbiAgfVxuICBwb3N0QXNzaWduUG9zaWJsZVN0dWVudEZvclZhbHVlKHBhcmFtczogSUFzc2lnblBvc2libGVTdHVkZW50Rm9yVmFsdWVScSk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgbGV0IHNlcnZpY2VVcmwgPSB0aGlzLlNFUlZJQ0VfVVJMICsgJ3Bvc3QvcG9zaWJsZS9zdHVkZW50cy92YWx1ZS9hc3NpbmcnO1xuICAgIHRoaXMuZ2VuZXJhdGVSZXF1ZXN0UGFyYW1zKHBhcmFtcyk7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KHNlcnZpY2VVcmwsIHRoaXMuaHR0cE9wdGlvbnMpO1xuICB9XG4gIGdldENvbnRhY3RzQnlBZHZpc2VyQ29tbWVyY2lhbChwYXJhbXM6IElHZXRDb250YWN0c2FkdmlzZXJScSk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgbGV0IHNlcnZpY2VVcmwgPSB0aGlzLlNFUlZJQ0VfVVJMICsgJ3Bvc3QvY29udGFjdHMvbWFya2V0aW5nL3N0cmF0ZWd5L2Fzc2luZy9ieS9hZHZpc2VyJztcbiAgICB0aGlzLmdlbmVyYXRlUmVxdWVzdFBhcmFtcyhwYXJhbXMpO1xuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChzZXJ2aWNlVXJsLCB0aGlzLmh0dHBPcHRpb25zKTtcbiAgfVxuXG4gIE9idGFpbkNvZFByaWNlcyhwYXJhbXM6IElPYnRhaW5Db2RQcmljZXNScSk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgbGV0IHNlcnZpY2VVcmwgPSB0aGlzLlNFUlZJQ0VfVVJMICsgJ3Bvc3Qvb2J0YWluL2NvZC9wcmljZXMnO1xuICAgIHRoaXMuZ2VuZXJhdGVSZXF1ZXN0UGFyYW1zKHBhcmFtcyk7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KHNlcnZpY2VVcmwsIHRoaXMuaHR0cE9wdGlvbnMpO1xuICB9XG5cbiAgcG9zdENyZWF0ZWRTb2NpYWxOZXRvd3JrcyhwYXJhbXM6IElTb2NpYWxOZXR3b3Jrc1JxKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBsZXQgc2VydmljZVVybCA9IHRoaXMuU0VSVklDRV9VUkwgKyAncG9zdC9uZXcvcmVnaXN0ZXIvc29jaWFsL25ldHdvcmsnO1xuICAgIHRoaXMuZ2VuZXJhdGVSZXF1ZXN0UGFyYW1zKHBhcmFtcyk7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KHNlcnZpY2VVcmwsIHRoaXMuaHR0cE9wdGlvbnMpO1xuICB9XG5cbiAgcG9zdEFzc2lnbmluZ0Fkdmlzb3JHb2FscyhwYXJhbXM6IElBc3NpZ25pbmdBZHZpc29yR29hbHNScSk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgbGV0IHNlcnZpY2VVcmwgPSB0aGlzLlNFUlZJQ0VfVVJMICsgJ3Bvc3QvYXNzaWduaW5nL2Fkdmlzb3J5L2dvYWxzJztcbiAgICB0aGlzLmdlbmVyYXRlUmVxdWVzdFBhcmFtcyhwYXJhbXMpO1xuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChzZXJ2aWNlVXJsLCB0aGlzLmh0dHBPcHRpb25zKTtcbiAgfVxuXG4gIHBvc09idGFpbkFkdmlzb3JHb2FscyhwYXJhbXM6IElPYnRhaW5BbGxDb3Vyc2V3YWxsZXQpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGxldCBzZXJ2aWNlVXJsID0gdGhpcy5TRVJWSUNFX1VSTCArICdwb3N0L29idGFpbi9nb2Fscy9hc3NpZ25lZC90by9hZHZpc29yJztcbiAgICB0aGlzLmdlbmVyYXRlUmVxdWVzdFBhcmFtcyhwYXJhbXMpO1xuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChzZXJ2aWNlVXJsLCB0aGlzLmh0dHBPcHRpb25zKTtcbiAgfVxuXG4gIHBvc3RPYnRhaW5PdmVyYWxHb2FsQWR2aXNvKHBhcmFtczogSU9idGFpbkFsbENvdXJzZXdhbGxldCk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgbGV0IHNlcnZpY2VVcmwgPSB0aGlzLlNFUlZJQ0VfVVJMICsgJ3Bvc3Qvb2J0YWluL292ZXJhbC9nb2FsL29mL2Fkdmlzb3InO1xuICAgIHRoaXMuZ2VuZXJhdGVSZXF1ZXN0UGFyYW1zKHBhcmFtcyk7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KHNlcnZpY2VVcmwsIHRoaXMuaHR0cE9wdGlvbnMpO1xuICB9XG5cbiAgcG9zdE9idGFpbmluZm9Db2RBY3R1YWxseUJ5VXNlcihwYXJhbXM6IElnZXRDb3Vyc2VzRmluaXNoQW5kdW5hc3NpZ25lZFJxKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBsZXQgc2VydmljZVVybCA9IHRoaXMuU0VSVklDRV9VUkwgKyAncG9zdC9vYnRhaW4vaW5mby9jb2QvdXNlcic7XG4gICAgdGhpcy5nZW5lcmF0ZVJlcXVlc3RQYXJhbXMocGFyYW1zKTtcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Qoc2VydmljZVVybCwgdGhpcy5odHRwT3B0aW9ucyk7XG4gIH1cblxuICBvYnRhaW5nTGF0ZXNDb2RCeVN0dWRlbnRDb2RlIChjb2RlU3R1ZGVudDogbnVtYmVyKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBsZXQgc2VydmljZVVybCA9IHRoaXMuU0VSVklDRV9VUkwgKyAnZ2V0L2xhdGVzdC9jb2QvYnkvc3R1ZGVudC9jb2RlLycgKyBjb2RlU3R1ZGVudDtcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldChzZXJ2aWNlVXJsLCB0aGlzLmh0dHBPcHRpb25zKTtcbiAgfVxuXG59XG4iXX0=
183
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tZXJjaWFsLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9kZXNpZ24tc3lzdGVtL3NyYy9saWIvY29yZS9zZXJ2aWNlcy9jb21tZXJjaWFsLXNlcnZpY2UvY29tZXJjaWFsLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUkzQyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQzs7O0FBUTNELE1BQU0sT0FBTyxpQkFBa0IsU0FBUSxpQkFBaUI7SUFJdEQsWUFBb0IsSUFBZ0I7UUFDbEMsS0FBSyxFQUFFLENBQUM7UUFEVSxTQUFJLEdBQUosSUFBSSxDQUFZO1FBRjVCLGdCQUFXLEdBQUcsaUJBQWlCLENBQUM7UUFJdEMsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUMsT0FBTyxFQUFFLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQztJQUN2RCxDQUFDO0lBRUQsU0FBUyxDQUFDLE9BQW9CO1FBQzVCLElBQUksVUFBVSxHQUFHLElBQUksQ0FBQyxXQUFXLEdBQUcsVUFBVSxDQUFDO1FBQy9DLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUNwQyxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsRUFBRSxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDdEQsQ0FBQztJQUVELG9CQUFvQixDQUFDLEtBQWEsRUFBRSxlQUF1QjtRQUN6RCxJQUFJLFVBQVUsR0FBRyxJQUFJLENBQUMsV0FBVyxHQUFHLG9DQUFvQyxDQUFDO1FBQ3pFLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxFQUFDLEtBQUssRUFBRSxlQUFlLEVBQUMsQ0FBQyxDQUFDO1FBQ3JELE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFFLElBQUksQ0FB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QUksQ0FBQyxXQUFXLEdBQUcsaUJBQWlCLENBQUM7UUFDdEQsSUFBSSxDQUFDLHFCQUFxQixDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ3BDLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFFLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUN0RCxDQUFDOzs4R0ExTVUsaUJBQWlCO2tIQUFqQixpQkFBaUIsY0FETCxNQUFNOzJGQUNsQixpQkFBaUI7a0JBRDdCLFVBQVU7bUJBQUMsRUFBQyxVQUFVLEVBQUUsTUFBTSxFQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSWdldENvdXJzZXNGaW5pc2hBbmR1bmFzc2lnbmVkUnEgfSBmcm9tICcuLy4uLy4uL21vZGVscy9yZXBvcnRzL3JlcG9ydHMubW9kZWwnO1xuaW1wb3J0IHsgSHR0cENsaWVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IEdldERpc2NvdW50Q291cG9uc1JxIH0gZnJvbSAnLi4vLi4vbW9kZWxzL3BheW1lbnQvcGF5bWVudC1ycS5tb2RlbCc7XG5pbXBvcnQgeyBDcmVhdGVDT0RScSwgRnVsbERhdGFDT0RScSwgR2V0Q29kQnlDb3Vyc2VScSwgSVVwZGF0ZUNPRFJxIH0gZnJvbSAnLi4vLi4vbW9kZWxzL2NvZC9jb2QtcnEubW9kZWwnO1xuaW1wb3J0IHsgSVBUR2VuZXJhbFNlcnZpY2UgfSBmcm9tICcuLi9zZXJ2aWNlLWVudmlyb21lbnRzJztcbmltcG9ydCB7IEFkaWNJbmZvQnlDb2RlUnEsIENvZFByaWNlc1JxLCBJR29hbEludGVyZmFjZVJxLCBQYXJlbnRCeUNvZGVScSwgSU9idGFpblJlZmVyc0J5VXNlclJxLCBJQXNzaWduUG9zaWJsZVN0dWRlbnRGb3JWYWx1ZVJxLCBJR2V0Q29udGFjdHNhZHZpc2VyUnEsIElPYnRhaW5Db2RQcmljZXNScSwgSUFzc2lnbmluZ0Fkdmlzb3JHb2Fsc1JxLCBJUmVwb3J0Q29kRm9yQWR2aXNlclJxIH0gZnJvbSAnLi4vLi4vbW9kZWxzL2NvbW1lcmNpYWwvY29tbWVyY2lhbC5tb2RlbCc7XG5pbXBvcnQgeyBVc2VyVG9rZW5ScSB9IGZyb20gJy4uLy4uL21vZGVscy91c2VyL3VzZXItcnEubW9kZWwnO1xuaW1wb3J0IHsgSVNvY2lhbE5ldHdvcmtzUnEgfSBmcm9tICcuLi8uLi9tb2RlbHMvbWFya2V0aW5nL21hcmtldGluZy5tb2RlbCc7XG5pbXBvcnQgeyBJT2J0YWluQWxsQ291cnNld2FsbGV0IH0gZnJvbSAnLi4vLi4vbW9kZWxzL2J1ZGdldC9idWRnZXQubW9kZWwnO1xuXG5cbkBJbmplY3RhYmxlKHtwcm92aWRlZEluOiAncm9vdCd9KVxuZXhwb3J0IGNsYXNzIENvbW1lcmNpYWxTZXJ2aWNlIGV4dGVuZHMgSVBUR2VuZXJhbFNlcnZpY2Uge1xuXG4gIHByaXZhdGUgU0VSVklDRV9VUkwgPSAnY29tbWVyY2lhbC9hcGkvJztcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGh0dHA6IEh0dHBDbGllbnQpIHtcbiAgICBzdXBlcigpO1xuICAgIHRoaXMuU0VSVklDRV9VUkwgPSB0aGlzLmJhc2VVcmwoKSArIHRoaXMuU0VSVklDRV9VUkw7XG4gIH1cblxuICBjcmVhdGVDT0QocmVxdWVzdDogQ3JlYXRlQ09EUnEpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGxldCBzZXJ2aWNlVXJsID0gdGhpcy5TRVJWSUNFX1VSTCArICdwb3N0L2NvZCc7XG4gICAgdGhpcy5nZW5lcmF0ZVJlcXVlc3RQYXJhbXMocmVxdWVzdCk7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KHNlcnZpY2VVcmwsIHRoaXMuaHR0cE9wdGlvbnMpO1xuICB9XG5cbiAgZ2V0U3R1ZGVudENvZEhpc3RvcnkodG9rZW46IHN0cmluZywgc3R1ZGVudF9pZF9jYXJkOiBudW1iZXIpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGxldCBzZXJ2aWNlVXJsID0gdGhpcy5TRVJWSUNFX1VSTCArICdwb3N0L29idGFpbi9jb2QvaGlzdG9yeS9ieS9zdHVkZW50JztcbiAgICB0aGlzLmdlbmVyYXRlUmVxdWVzdFBhcmFtcyh7dG9rZW4sIHN0dWRlbnRfaWRfY2FyZH0pO1xuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChzZXJ2aWNlVXJsLCB0aGlzLmh0dHBPcHRpb25zKTtcbiAgfVxuXG4gIGdldENvZEhpc3RvcnlBbGwodXNlclRva2VuOiBhbnkpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGxldCBzZXJ2aWNlVXJsID0gdGhpcy5TRVJWSUNFX1VSTCArICdwb3N0L29idGFpbi9jb2QvaGlzdG9yeS9hbGwnO1xuICAgIHRoaXMuZ2VuZXJhdGVSZXF1ZXN0UGFyYW1zKHVzZXJUb2tlbik7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KHNlcnZpY2VVcmwsIHRoaXMuaHR0cE9wdGlvbnMpO1xuICB9XG5cbiAgZ2V0Q29kSGlzdG9yeUJ5Q291cnNlKHJlcXVlc3Q6IGFueSk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgbGV0IHNlcnZpY2VVcmwgPSB0aGlzLlNFUlZJQ0VfVVJMICsgJ3Bvc3Qvb2J0YWluL2NvZC9oaXN0b3J5L2J5L2NvdXJzZSc7XG4gICAgdGhpcy5nZW5lcmF0ZVJlcXVlc3RQYXJhbXMocmVxdWVzdCk7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KHNlcnZpY2VVcmwsIHRoaXMuaHR0cE9wdGlvbnMpO1xuICB9XG5cbiAgZ2V0Q29kSGlzdG9yeUJ5Q291cnNlRXhwb3J0KHJlcXVlc3Q6IGFueSk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgbGV0IHNlcnZpY2VVcmwgPSB0aGlzLlNFUlZJQ0VfVVJMICsgJ3Bvc3Qvb2J0YWluL2NvZC9oaXN0b3J5L2J5L2NvdXJzZS9leHBvcnQnO1xuICAgIHRoaXMuZ2VuZXJhdGVSZXF1ZXN0UGFyYW1zKHJlcXVlc3QpO1xuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChzZXJ2aWNlVXJsLCB0aGlzLmh0dHBPcHRpb25zKTtcbiAgfVxuXG4gIGdldERpc2NvdW50Q291cG9ucyhwYXJhbXM6IEdldERpc2NvdW50Q291cG9uc1JxKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBsZXQgc2VydmljZVVybCA9IHRoaXMuU0VSVklDRV9VUkwgKyAncG9zdC9kaXNjb3VudC9jb3Vwb24vc2VhcmNoJztcbiAgICB0aGlzLmdlbmVyYXRlUmVxdWVzdFBhcmFtcyhwYXJhbXMpO1xuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChzZXJ2aWNlVXJsLCB0aGlzLmh0dHBPcHRpb25zKTtcbiAgfVxuXG4gIGdldENvZFByaWNlc0J5QWdyZWVtZW50KGNvZGU6IG51bWJlcik6IE9ic2VydmFibGU8YW55PiB7XG4gICAgbGV0IHNlcnZpY2VVcmwgPSB0aGlzLlNFUlZJQ0VfVVJMICsgJ2dldC9jb2QvcHJpY2VzL2J5L2FncmVlbWVudC8nICsgY29kZTtcbiAgICB0aGlzLmdlbmVyYXRlUmVxdWVzdFBhcmFtcyhjb2RlKTtcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldChzZXJ2aWNlVXJsLCB0aGlzLmh0dHBPcHRpb25zKTtcbiAgfVxuXG4gIGdldENvZFBhcmVudEJ5Q29kZShwYXJhbXM6IFBhcmVudEJ5Q29kZVJxKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBsZXQgc2VydmljZVVybCA9IHRoaXMuU0VSVklDRV9VUkwgKyAncG9zdC9vYnRhaW4vY29kL3BhcmVudC9ieS9jb2RlJztcbiAgICB0aGlzLmdlbmVyYXRlUmVxdWVzdFBhcmFtcyhwYXJhbXMpO1xuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChzZXJ2aWNlVXJsLCB0aGlzLmh0dHBPcHRpb25zKTtcbiAgfVxuXG4gIGdldEFkaWNJbmZvQnlDb2RlKHBhcmFtczogQWRpY0luZm9CeUNvZGVScSk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgbGV0IHNlcnZpY2VVcmwgPSB0aGlzLlNFUlZJQ0VfVVJMICsgJ3Bvc3Qvb2J0YWluL2NvZC9hZGl0aW9uYWxpbmZvL2J5L2NvZGUnO1xuICAgIHRoaXMuZ2VuZXJhdGVSZXF1ZXN0UGFyYW1zKHBhcmFtcyk7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KHNlcnZpY2VVcmwsIHRoaXMuaHR0cE9wdGlvbnMpO1xuICB9XG5cbiAgZ2V0RnVsbERhdGFDb2RCeVN0dWRlbnQocGFyYW1zOiBGdWxsRGF0YUNPRFJxKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBsZXQgc2VydmljZVVybCA9IHRoaXMuU0VSVklDRV9VUkwgKyAncG9zdC9vYnRhaW4vZnVsbC9kYXRhL2NvZC9ieS9zdHVkZW50JztcbiAgICB0aGlzLmdlbmVyYXRlUmVxdWVzdFBhcmFtcyhwYXJhbXMpO1xuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChzZXJ2aWNlVXJsLCB0aGlzLmh0dHBPcHRpb25zKTtcbiAgfVxuXG4gIGdldENvZFByaWNlc0J5QWdyZWVtZW50VHlwZVBheW1lbnQocGFyYW1zOiBDb2RQcmljZXNScSk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgbGV0IHNlcnZpY2VVcmwgPSB0aGlzLlNFUlZJQ0VfVVJMICsgJ3Bvc3QvY29kL3ByaWNlcy9ieS9hZ3JlZW1lbnQvYW5kL3R5cGUvcGF5bWVudCc7XG4gICAgdGhpcy5nZW5lcmF0ZVJlcXVlc3RQYXJhbXMocGFyYW1zKTtcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Qoc2VydmljZVVybCwgdGhpcy5odHRwT3B0aW9ucyk7XG4gIH1cblxuICBvYnRhaW5Db2RCeUFkdmFpc2VyKHBhcmFtczogVXNlclRva2VuUnEpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGxldCBzZXJ2aWNlVXJsID0gdGhpcy5TRVJWSUNFX1VSTCArICdwb3N0L29idGFpbi9jb2QvYnkvYWR2YWlzZXInO1xuICAgIHRoaXMuZ2VuZXJhdGVSZXF1ZXN0UGFyYW1zKHBhcmFtcyk7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KHNlcnZpY2VVcmwsIHRoaXMuaHR0cE9wdGlvbnMpO1xuICB9XG5cbiAgb2J0YWluQ29kQ291cnNlc0J5QWR2aXNvcihwYXJhbXM6IFVzZXJUb2tlblJxKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBsZXQgc2VydmljZVVybCA9IHRoaXMuU0VSVklDRV9VUkwgKyAncG9zdC9vYnRhaW4vY29kL2NvdXJzZXMvYnkvYWR2aXNvcic7XG4gICAgdGhpcy5nZW5lcmF0ZVJlcXVlc3RQYXJhbXMocGFyYW1zKTtcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Qoc2VydmljZVVybCwgdGhpcy5odHRwT3B0aW9ucyk7XG4gIH1cblxuICBvYnRhaW5Db2RCeUFkdmlzb3JBbmRDb3Vyc2UocGFyYW1zOiBHZXRDb2RCeUNvdXJzZVJxKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBsZXQgc2VydmljZVVybCA9IHRoaXMuU0VSVklDRV9VUkwgKyAncG9zdC9vYnRhaW4vY29kL3N0dWRlbnQvYnkvY291cnNlL2FuZC9hZHZpc29yJztcbiAgICB0aGlzLmdlbmVyYXRlUmVxdWVzdFBhcmFtcyhwYXJhbXMpO1xuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChzZXJ2aWNlVXJsLCB0aGlzLmh0dHBPcHRpb25zKTtcbiAgfVxuXG4gIGNyZWF0ZUdvYWwocGFyYW1zOiBJR29hbEludGVyZmFjZVJxKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBsZXQgc2VydmljZVVybCA9IHRoaXMuU0VSVklDRV9VUkwgKyAncG9zdC9jb250YWN0L3N0cmF0ZWd5L2NyZWF0ZS9nb2FsJztcbiAgICB0aGlzLmdlbmVyYXRlUmVxdWVzdFBhcmFtcyhwYXJhbXMpO1xuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChzZXJ2aWNlVXJsLHRoaXMuaHR0cE9wdGlvbnMpO1xuICAgIH1cblxuICBnZXRBbGxHb2Fscyh0b2tlbjogc3RyaW5nKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBsZXQgc2VydmljZVVybCA9IHRoaXMuU0VSVklDRV9VUkwgKyAncG9zdC9jb250YWN0L3N0cmF0ZWd5L3ZpZXcvZ29hbHMnO1xuICAgIHRoaXMuZ2VuZXJhdGVSZXF1ZXN0UGFyYW1zKHRva2VuKTtcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Qoc2VydmljZVVybCx0aGlzLmh0dHBPcHRpb25zKTtcbiAgfVxuXG4gIGNyZWF0ZURvY3VtZW50KHBhcmFtczogYW55KTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBsZXQgc2VydmljZVVybCA9IHRoaXMuU0VSVklDRV9VUkwgKyAncG9zdC9tZWRpYS9kb2N1bWVudCc7XG4gICAgbGV0IGZvcm1EYXRhID0gbmV3IEZvcm1EYXRhKCk7XG4gICAgZm9ybURhdGEuYXBwZW5kKCdmaWxlJywgcGFyYW1zLmZpbGUpO1xuICAgIGZvcm1EYXRhLmFwcGVuZCgndXNlcl9hdXRvcicsIHBhcmFtcy51c2VyX2F1dG9yKTtcbiAgICBmb3JtRGF0YS5hcHBlbmQoJ2NvZGVfdXNlcicsIHBhcmFtcy5jb2RlX3VzZXIpO1xuICAgIGZvcm1EYXRhLmFwcGVuZCgndHlwZV9kb2N1bWVudCcsIHBhcmFtcy50eXBlX2RvY3VtZW50KTtcbiAgICBmb3JtRGF0YS5hcHBlbmQoJ3Rva2VuJywgcGFyYW1zLnRva2VuKTtcblxuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChzZXJ2aWNlVXJsLCBmb3JtRGF0YSk7XG4gIH1cblxuICBnZXREb2N1bWVudHNCeVN0dWRlbnQocGFyYW1zOmFueSk6IE9ic2VydmFibGU8YW55PntcbiAgICBsZXQgc2VydmljZVVybCA9IHRoaXMuU0VSVklDRV9VUkwgKyAnZ2V0L21lZGlhL2RvY3VtZW50L3VzZXInO1xuICAgIHRoaXMuZ2VuZXJhdGVSZXF1ZXN0UGFyYW1zKHBhcmFtcyk7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KHNlcnZpY2VVcmwsdGhpcy5odHRwT3B0aW9ucyk7XG4gIH1cblxuICBvYnRhaW5Db2RTdHVkZW50QnlDb2RlQWR2aXNlcihwYXJhbXM6IElSZXBvcnRDb2RGb3JBZHZpc2VyUnEpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGxldCBzZXJ2aWNlVXJsID0gdGhpcy5TRVJWSUNFX1VSTCArICdnZXQvY29kL3N0dWRlbnQvYnkvYWR2aXNlcic7XG4gICAgdGhpcy5nZW5lcmF0ZVJlcXVlc3RQYXJhbXMocGFyYW1zKTtcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Qoc2VydmljZVVybCwgdGhpcy5odHRwT3B0aW9ucyk7XG4gIH1cblxuICBFeHBvcnRGaWxlRXhjZWxDb2RCeUFkdmlzZXIocGFyYW1zOiBJUmVwb3J0Q29kRm9yQWR2aXNlclJxKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBsZXQgc2VydmljZVVybCA9IHRoaXMuU0VSVklDRV9VUkwgKyAncG9zdC9leHBvcnQvZXhjZWwvY29kL3N0dWRlbnQvYnkvYWR2aXNlcic7XG4gICAgdGhpcy5nZW5lcmF0ZVJlcXVlc3RQYXJhbXMocGFyYW1zKTtcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Qoc2VydmljZVVybCwgdGhpcy5odHRwT3B0aW9ucyk7XG4gIH1cblxuICBPYnRhaW5SZWZlcnJhbHNCeVVzZXIocGFyYW1zOiBJT2J0YWluUmVmZXJzQnlVc2VyUnEpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGxldCBzZXJ2aWNlVXJsID0gdGhpcy5TRVJWSUNFX1VSTCArICdwb3N0L29idGFpbi9yZWZlcnJhbHMvYnkvdXNlci9jb2RlJztcbiAgICB0aGlzLmdlbmVyYXRlUmVxdWVzdFBhcmFtcyhwYXJhbXMpO1xuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChzZXJ2aWNlVXJsLCB0aGlzLmh0dHBPcHRpb25zKTtcbiAgfVxuXG4gICAgZ2V0UG9zaWJsZVN0dWRlbnRzQWxsKHBhcmFtczogYW55KTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBsZXQgc2VydmljZVVybCA9IHRoaXMuU0VSVklDRV9VUkwgKyAncG9zdC9vYnRhaW4vcG9zaWJsZS9zdHVkZW50cy9hbGwvbW9kZWxzJztcbiAgICB0aGlzLmdlbmVyYXRlUmVxdWVzdFBhcmFtcyhwYXJhbXMpO1xuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChzZXJ2aWNlVXJsLCB0aGlzLmh0dHBPcHRpb25zKTtcbiAgfVxuICBwb3N0QXNzaWduUG9zaWJsZVN0dWVudEZvclZhbHVlKHBhcmFtczogSUFzc2lnblBvc2libGVTdHVkZW50Rm9yVmFsdWVScSk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgbGV0IHNlcnZpY2VVcmwgPSB0aGlzLlNFUlZJQ0VfVVJMICsgJ3Bvc3QvcG9zaWJsZS9zdHVkZW50cy92YWx1ZS9hc3NpbmcnO1xuICAgIHRoaXMuZ2VuZXJhdGVSZXF1ZXN0UGFyYW1zKHBhcmFtcyk7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KHNlcnZpY2VVcmwsIHRoaXMuaHR0cE9wdGlvbnMpO1xuICB9XG4gIGdldENvbnRhY3RzQnlBZHZpc2VyQ29tbWVyY2lhbChwYXJhbXM6IElHZXRDb250YWN0c2FkdmlzZXJScSk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgbGV0IHNlcnZpY2VVcmwgPSB0aGlzLlNFUlZJQ0VfVVJMICsgJ3Bvc3QvY29udGFjdHMvbWFya2V0aW5nL3N0cmF0ZWd5L2Fzc2luZy9ieS9hZHZpc2VyJztcbiAgICB0aGlzLmdlbmVyYXRlUmVxdWVzdFBhcmFtcyhwYXJhbXMpO1xuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChzZXJ2aWNlVXJsLCB0aGlzLmh0dHBPcHRpb25zKTtcbiAgfVxuXG4gIE9idGFpbkNvZFByaWNlcyhwYXJhbXM6IElPYnRhaW5Db2RQcmljZXNScSk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgbGV0IHNlcnZpY2VVcmwgPSB0aGlzLlNFUlZJQ0VfVVJMICsgJ3Bvc3Qvb2J0YWluL2NvZC9wcmljZXMnO1xuICAgIHRoaXMuZ2VuZXJhdGVSZXF1ZXN0UGFyYW1zKHBhcmFtcyk7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KHNlcnZpY2VVcmwsIHRoaXMuaHR0cE9wdGlvbnMpO1xuICB9XG5cbiAgcG9zdENyZWF0ZWRTb2NpYWxOZXRvd3JrcyhwYXJhbXM6IElTb2NpYWxOZXR3b3Jrc1JxKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBsZXQgc2VydmljZVVybCA9IHRoaXMuU0VSVklDRV9VUkwgKyAncG9zdC9uZXcvcmVnaXN0ZXIvc29jaWFsL25ldHdvcmsnO1xuICAgIHRoaXMuZ2VuZXJhdGVSZXF1ZXN0UGFyYW1zKHBhcmFtcyk7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KHNlcnZpY2VVcmwsIHRoaXMuaHR0cE9wdGlvbnMpO1xuICB9XG5cbiAgcG9zdEFzc2lnbmluZ0Fkdmlzb3JHb2FscyhwYXJhbXM6IElBc3NpZ25pbmdBZHZpc29yR29hbHNScSk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgbGV0IHNlcnZpY2VVcmwgPSB0aGlzLlNFUlZJQ0VfVVJMICsgJ3Bvc3QvYXNzaWduaW5nL2Fkdmlzb3J5L2dvYWxzJztcbiAgICB0aGlzLmdlbmVyYXRlUmVxdWVzdFBhcmFtcyhwYXJhbXMpO1xuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChzZXJ2aWNlVXJsLCB0aGlzLmh0dHBPcHRpb25zKTtcbiAgfVxuXG4gIHBvc09idGFpbkFkdmlzb3JHb2FscyhwYXJhbXM6IElPYnRhaW5BbGxDb3Vyc2V3YWxsZXQpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGxldCBzZXJ2aWNlVXJsID0gdGhpcy5TRVJWSUNFX1VSTCArICdwb3N0L29idGFpbi9nb2Fscy9hc3NpZ25lZC90by9hZHZpc29yJztcbiAgICB0aGlzLmdlbmVyYXRlUmVxdWVzdFBhcmFtcyhwYXJhbXMpO1xuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChzZXJ2aWNlVXJsLCB0aGlzLmh0dHBPcHRpb25zKTtcbiAgfVxuXG4gIHBvc3RPYnRhaW5PdmVyYWxHb2FsQWR2aXNvKHBhcmFtczogSU9idGFpbkFsbENvdXJzZXdhbGxldCk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgbGV0IHNlcnZpY2VVcmwgPSB0aGlzLlNFUlZJQ0VfVVJMICsgJ3Bvc3Qvb2J0YWluL292ZXJhbC9nb2FsL29mL2Fkdmlzb3InO1xuICAgIHRoaXMuZ2VuZXJhdGVSZXF1ZXN0UGFyYW1zKHBhcmFtcyk7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KHNlcnZpY2VVcmwsIHRoaXMuaHR0cE9wdGlvbnMpO1xuICB9XG5cbiAgcG9zdE9idGFpbmluZm9Db2RBY3R1YWxseUJ5VXNlcihwYXJhbXM6IElnZXRDb3Vyc2VzRmluaXNoQW5kdW5hc3NpZ25lZFJxKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBsZXQgc2VydmljZVVybCA9IHRoaXMuU0VSVklDRV9VUkwgKyAncG9zdC9vYnRhaW4vaW5mby9jb2QvdXNlcic7XG4gICAgdGhpcy5nZW5lcmF0ZVJlcXVlc3RQYXJhbXMocGFyYW1zKTtcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Qoc2VydmljZVVybCwgdGhpcy5odHRwT3B0aW9ucyk7XG4gIH1cblxuICBvYnRhaW5nTGF0ZXNDb2RCeVN0dWRlbnRDb2RlIChjb2RlU3R1ZGVudDogbnVtYmVyKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBsZXQgc2VydmljZVVybCA9IHRoaXMuU0VSVklDRV9VUkwgKyAnZ2V0L2xhdGVzdC9jb2QvYnkvc3R1ZGVudC9jb2RlLycgKyBjb2RlU3R1ZGVudDtcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldChzZXJ2aWNlVXJsLCB0aGlzLmh0dHBPcHRpb25zKTtcbiAgfVxuXG4gIHVwZGF0ZUNPRChyZXF1ZXN0OiBJVXBkYXRlQ09EUnEpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGxldCBzZXJ2aWNlVXJsID0gdGhpcy5TRVJWSUNFX1VSTCArICdwb3N0L3VwZGF0ZS9jb2QnO1xuICAgIHRoaXMuZ2VuZXJhdGVSZXF1ZXN0UGFyYW1zKHJlcXVlc3QpO1xuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChzZXJ2aWNlVXJsLCB0aGlzLmh0dHBPcHRpb25zKTtcbiAgfVxuXG59XG4iXX0=
@@ -2750,6 +2750,11 @@ class CommercialService extends IPTGeneralService {
2750
2750
  let serviceUrl = this.SERVICE_URL + 'get/latest/cod/by/student/code/' + codeStudent;
2751
2751
  return this.http.get(serviceUrl, this.httpOptions);
2752
2752
  }
2753
+ updateCOD(request) {
2754
+ let serviceUrl = this.SERVICE_URL + 'post/update/cod';
2755
+ this.generateRequestParams(request);
2756
+ return this.http.post(serviceUrl, this.httpOptions);
2757
+ }
2753
2758
  }
2754
2759
  CommercialService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.7", ngImport: i0, type: CommercialService, deps: [{ token: i1$2.HttpClient }], target: i0.ɵɵFactoryTarget.Injectable });
2755
2760
  CommercialService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.0.7", ngImport: i0, type: CommercialService, providedIn: 'root' });
@@ -4800,6 +4805,52 @@ class CodFormComponent {
4800
4805
  this.loaderMessage = 'Editando COD, espere un momento';
4801
4806
  let request = this.getUpdateCOD(totalData);
4802
4807
  console.log(request);
4808
+ this.commercialService.updateCOD(request).subscribe({
4809
+ next: (response) => {
4810
+ if (response.message.code === 1) {
4811
+ this.isLoading = false;
4812
+ this.loaderMessage = '';
4813
+ Swal.fire({
4814
+ title: 'Perfecto!',
4815
+ text: 'El COD ha sido Editado exitosamente.',
4816
+ icon: 'success'
4817
+ });
4818
+ this.localStorageCOD.clearData();
4819
+ this.okCreatedCOD.emit(true);
4820
+ }
4821
+ else if (response.message.code === 4) {
4822
+ this.isLoading = false;
4823
+ this.loaderMessage = '';
4824
+ const errorMessages = response.data.errors.map(error => `- ${error.message}`).join('<br>');
4825
+ Swal.fire({
4826
+ title: 'Revisar lo seleccionado en los campos',
4827
+ html: `${errorMessages}`,
4828
+ icon: 'warning'
4829
+ });
4830
+ }
4831
+ else {
4832
+ this.isLoading = false;
4833
+ this.loaderMessage = '';
4834
+ Swal.fire({
4835
+ title: 'Warning!',
4836
+ text: response.message.message,
4837
+ icon: 'error'
4838
+ });
4839
+ }
4840
+ },
4841
+ error: (err) => {
4842
+ this.isLoading = false;
4843
+ this.loaderMessage = '';
4844
+ Swal.fire({
4845
+ title: 'Error in cod creation',
4846
+ text: err.message,
4847
+ icon: 'error'
4848
+ });
4849
+ },
4850
+ complete: () => {
4851
+ this.codCreationSubscription = null;
4852
+ }
4853
+ });
4803
4854
  // this.commercialService.EditCod(request).subscribe({
4804
4855
  // next: (response: any) => {
4805
4856
  // this.isLoading = false;