iptdevs-design-system 3.1.940 → 3.1.943

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.
@@ -117,7 +117,7 @@ export class CodFormStepTwoComponent extends CodFormSteps {
117
117
  state: ['', [Validators.required], []],
118
118
  city: ['', [Validators.required], []],
119
119
  student_id_card_type: ['', [Validators.required], []],
120
- student_id_card: [{ value: '', disabled: true }, [Validators.required, Validators.minLength(5), Validators.maxLength(20)]],
120
+ student_id_card: [{ value: '', disabled: true }, [Validators.required, Validators.minLength(5), Validators.maxLength(20), Validators.pattern(/^[a-zA-Z0-9]*$/)]],
121
121
  student_last_name: ['', [Validators.required, Validators.minLength(5), Validators.maxLength(32)]],
122
122
  student_name: ['', [Validators.required, Validators.minLength(3), Validators.maxLength(32)]],
123
123
  student_email: ['', [Validators.required, Validators.email]],
@@ -285,33 +285,28 @@ export class CodFormStepTwoComponent extends CodFormSteps {
285
285
  }
286
286
  }
287
287
  trackStudentIdCardChanges() {
288
- console.log('entro aqui');
289
- this.codFormStepTwo.controls['student_id_card'].valueChanges.pipe().subscribe(value => {
288
+ console.log('trackStudentIdCardChanges called'); // Depuración
289
+ this.codFormStepTwo.controls['student_id_card'].valueChanges.subscribe(value => {
290
290
  console.log('student_id_card value:', value); // Depuración
291
+ this.updateIdTypes(value);
292
+ });
293
+ }
294
+ updateIdTypes(value) {
295
+ console.log('updateIdTypes called with value:', value); // Depuración
296
+ if (this.parametersAll?.TypeIdCardByCountryCol) {
291
297
  if (value && /[a-zA-Z]/.test(value)) {
292
298
  console.log('Contains letters, filtering idTypes'); // Depuración
293
- this.filterIdTypes([0, 1, 2, 7]);
299
+ this.idTypes = this.parametersAll.TypeIdCardByCountryCol.filter((_, index) => ![0, 1, 2, 7].includes(index));
294
300
  }
295
301
  else {
296
302
  console.log('No letters, restoring idTypes'); // Depuración
297
- this.idTypes = this.parametersAll?.TypeIdCardByCountryCol;
303
+ this.idTypes = [...this.parametersAll.TypeIdCardByCountryCol]; // Crear una copia para forzar detección de cambios
298
304
  }
299
305
  console.log('Current idTypes:', this.idTypes); // Depuración
300
- });
301
- }
302
- filterIdTypes(positionsToRemove) {
303
- if (this.idTypes && Array.isArray(this.idTypes)) {
304
- // Crear una copia de idTypes para evitar mutar el original directamente
305
- let filteredIdTypes = [...this.idTypes];
306
- // Ordenar las posiciones de mayor a menor para evitar problemas al eliminar
307
- const sortedPositions = positionsToRemove.sort((a, b) => b - a);
308
- // Eliminar registros en las posiciones especificadas
309
- sortedPositions.forEach(position => {
310
- if (position >= 0 && position < filteredIdTypes.length) {
311
- filteredIdTypes.splice(position, 1);
312
- }
313
- });
314
- this.idTypes = filteredIdTypes;
306
+ }
307
+ else {
308
+ console.log('TypeIdCardByCountryCol is undefined'); // Depuración
309
+ this.idTypes = [];
315
310
  }
316
311
  }
317
312
  }
@@ -329,4 +324,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.7", ngImpor
329
324
  }], changeStepEvent: [{
330
325
  type: Output
331
326
  }] } });
332
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29kLWZvcm0tc3RlcC10d28uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vZGVzaWduLXN5c3RlbS9zcmMvbGliL2NvZC9zdGVwcy9jb2QtZm9ybS1zdGVwLXR3by9jb2QtZm9ybS1zdGVwLXR3by5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9kZXNpZ24tc3lzdGVtL3NyYy9saWIvY29kL3N0ZXBzL2NvZC1mb3JtLXN0ZXAtdHdvL2NvZC1mb3JtLXN0ZXAtdHdvLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBd0IsTUFBTSxFQUFpQixNQUFNLGVBQWUsQ0FBQztBQUM1RyxPQUFPLEVBQTBCLFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3BFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUNoRSxPQUFPLEVBQUUsWUFBWSxFQUFzQixNQUFNLDRCQUE0QixDQUFDOzs7Ozs7O0FBTzlFLE1BQU0sT0FBTyx1QkFBd0IsU0FBUSxZQUFZO0lBdUJ2RCxZQUNVLEVBQWU7UUFFdkIsS0FBSyxFQUFFLENBQUM7UUFGQSxPQUFFLEdBQUYsRUFBRSxDQUFhO1FBcEJmLG9CQUFlLEdBQUcsSUFBSSxZQUFZLEVBQVUsQ0FBQztRQU92RCxpQkFBWSxHQUFXLDJCQUEyQixDQUFDO1FBQ25ELGNBQVMsR0FBWSxLQUFLLENBQUM7UUFJM0IsWUFBTyxHQUFRLEVBQUUsQ0FBQztRQUdsQiwwQkFBMEI7UUFDMUIsYUFBUSxHQUFHLElBQUksZUFBZSxFQUFFLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBTzdDLENBQUM7SUFFRCxXQUFXLENBQUMsT0FBc0I7UUFDaEMsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQ2hCLElBQUksQ0FBQyxxQkFBcUIsRUFBRSxDQUFDO1FBQzdCLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQztRQUN0QixJQUFJLENBQUMseUJBQXlCLEVBQUUsQ0FBQztRQUNqQyxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7UUFDckIsSUFBSSxPQUFPLENBQUMsYUFBYSxDQUFDLEVBQUU7WUFDMUIsSUFBSSxJQUFJLENBQUMsV0FBVyxJQUFJLElBQUksRUFBRTtnQkFDNUIsSUFBSSxJQUFJLENBQUMsV0FBVyxDQUFDLE9BQU8sSUFBSSxJQUFJLEVBQUU7b0JBQ3BDLElBQUksQ0FBQyxxQkFBcUIsRUFBRSxDQUFDO2lCQUM5QjtxQkFBSTtvQkFDSCxJQUFJLENBQUMsc0JBQXNCLEVBQUUsQ0FBQztpQkFDL0I7YUFDRjtTQUNGO0lBQ0gsQ0FBQztJQUdELHNCQUFzQjtRQUNwQixJQUFJLENBQUMsY0FBYyxDQUFDLFFBQVEsQ0FBQyxjQUFjLENBQUMsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUM3RSxJQUFJLENBQUMsY0FBYyxDQUFDLFFBQVEsQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQ3ZGLElBQUksQ0FBQyxjQUFjLENBQUMsUUFBUSxDQUFDLHNCQUFzQixDQUFDLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsWUFBWSxDQUFDLENBQUM7UUFDN0YsSUFBSSxDQUFDLGNBQWMsQ0FBQyxRQUFRLENBQUMsaUJBQWlCLENBQUMsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUNuRixJQUFJLENBQUMsY0FBYyxDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUMsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsT0FBTyxDQUFDLENBQUM7UUFDcEYsSUFBSSxDQUFDLGNBQWMsQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBQ2hGLElBQUksQ0FBQyxjQUFjLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxJQUFJLENBQUMsQ0FBQztRQUM5RSxJQUFJLENBQUMsY0FBYyxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUN6RSxJQUFJLENBQUMsY0FBYyxDQUFDLFFBQVEsQ0FBQyxVQUFVLENBQUMsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUM5RSxJQUFJLENBQUMsY0FBYyxDQUFDLFFBQVEsQ0FBQywwQkFBMEIsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLGdCQUFnQixDQUFDLENBQUM7UUFDckcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxRQUFRLENBQUMsc0JBQXNCLENBQUMsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxZQUFZLENBQUMsQ0FBQztRQUM3RixJQUFJLENBQUMsY0FBYyxDQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUMsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUMvRSxJQUFJLENBQUMsY0FBYyxDQUFDLFFBQVEsQ0FBQyxlQUFlLENBQUMsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUMvRSxJQUFJLENBQUMsY0FBYyxDQUFDLFFBQVEsQ0FBQyxVQUFVLENBQUMsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUM1RSxJQUFJLENBQUMsY0FBYyxDQUFDLFFBQVEsQ0FBQyxhQUFhLENBQUMsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUNqRixDQUFDO0lBRUQscUJBQXFCO1FBQ25CLElBQUksQ0FBQyxjQUFjLENBQUMsUUFBUSxDQUFDLGNBQWMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNyRixJQUFJLENBQUMsY0FBYyxDQUFDLFFBQVEsQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUMvRixJQUFJLENBQUMsY0FBYyxDQUFDLFFBQVEsQ0FBQyxzQkFBc0IsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLE9BQU8sQ0FBQyxZQUFZLENBQUMsQ0FBQztRQUNyRyxJQUFJLENBQUMsY0FBYyxDQUFDLFFBQVEsQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUMzRixJQUFJLENBQUMsY0FBYyxDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUMsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQzNGLElBQUksQ0FBQyxjQUFjLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDdkYsSUFBSSxDQUFDLGNBQWMsQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNyRixJQUFJLENBQUMsY0FBYyxDQUFDLFFBQVEsQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLHFCQUFxQixDQUFDLGVBQWUsQ0FBQyxDQUFDO1FBQ2pILElBQUksQ0FBQyxjQUFjLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUNqRixJQUFJLENBQUMsY0FBYyxDQUFDLFFBQVEsQ0FBQyxVQUFVLENBQUMsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDdEYsSUFBSSxDQUFDLGNBQWMsQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMscUJBQXFCLENBQUMsY0FBYyxDQUFDLENBQUM7UUFDeEcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxRQUFRLENBQUMsb0JBQW9CLENBQUMsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxxQkFBcUIsQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO1FBQ3ZILElBQUksQ0FBQyxjQUFjLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLHFCQUFxQixDQUFDLGlCQUFpQixDQUFDLENBQUM7UUFDekcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxRQUFRLENBQUMsY0FBYyxDQUFDLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMscUJBQXFCLENBQUMsWUFBWSxDQUFDLENBQUM7UUFDM0csSUFBSSxDQUFDLGNBQWMsQ0FBQyxRQUFRLENBQUMsMEJBQTBCLENBQUMsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxPQUFPLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztRQUM3RyxJQUFJLENBQUMsY0FBYyxDQUFDLFFBQVEsQ0FBQyxzQkFBc0IsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLE9BQU8sQ0FBQyxZQUFZLENBQUMsQ0FBQztRQUNyRyxJQUFJLENBQUMsY0FBYyxDQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUMsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDdkYsSUFBSSxDQUFDLGNBQWMsQ0FBQyxRQUFRLENBQUMsZUFBZSxDQUFDLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3ZGLElBQUksQ0FBQyxjQUFjLENBQUMsUUFBUSxDQUFDLFVBQVUsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUNwRixJQUFJLENBQUMsY0FBYyxDQUFDLFFBQVEsQ0FBQyxhQUFhLENBQUMsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDekYsQ0FBQztJQUVELGNBQWM7UUFDWixJQUFJLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQ3RDLElBQUksQ0FBQyxjQUFjLENBQUMsS0FBSyxFQUFFLENBQUM7SUFDOUIsQ0FBQztJQUVELGNBQWM7UUFDWixJQUFJLENBQUMsY0FBYyxDQUFDLFlBQVksQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLEVBQUU7WUFDbkQsSUFBSSxJQUFJLENBQUMsY0FBYyxDQUFDLFFBQVEsQ0FBQyxjQUFjLENBQUMsQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDLEVBQUU7Z0JBQ3RFLElBQUksQ0FBQyxZQUFZLEdBQUcsNkNBQTZDLENBQUM7YUFDbkU7aUJBQU0sSUFBSSxJQUFJLENBQUMsY0FBYyxDQUFDLFFBQVEsQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUMsRUFBRTtnQkFDbEYsSUFBSSxDQUFDLFlBQVksR0FBRywrQ0FBK0MsQ0FBQzthQUNyRTtpQkFBTSxJQUFJLElBQUksQ0FBQyxjQUFjLENBQUMsUUFBUSxDQUFDLFVBQVUsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUMsRUFBRTtnQkFDekUsSUFBSSxDQUFDLFlBQVksR0FBRyw4Q0FBOEMsQ0FBQzthQUNwRTtpQkFBTSxJQUFJLElBQUksQ0FBQyxjQUFjLENBQUMsUUFBUSxDQUFDLFVBQVUsQ0FBQyxDQUFDLEtBQUssS0FBSyxJQUFJLENBQUMsY0FBYyxDQUFDLFFBQVEsQ0FBQyxhQUFhLENBQUMsQ0FBQyxLQUFLLEVBQUU7Z0JBQy9HLElBQUksQ0FBQyxZQUFZLEdBQUcsOEJBQThCLENBQUM7YUFDcEQ7aUJBQU0sSUFBSSxJQUFJLENBQUMsY0FBYyxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQyxNQUFNLEVBQUU7Z0JBQ3JELElBQUksQ0FBQyxZQUFZLEdBQUcsK0JBQStCLENBQUM7YUFDckQ7aUJBQ0s7Z0JBQ0osSUFBSSxDQUFDLFlBQVksR0FBRywwQkFBMEIsQ0FBQzthQUNoRDtRQUNILENBQUMsQ0FBQyxDQUFBO0lBQ0osQ0FBQztJQUVELHFCQUFxQjtRQUNuQixJQUFJLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsRUFBRTtZQUM5QixJQUFJLGlCQUFpQixHQUF1QixJQUFJLENBQUMsY0FBYyxDQUFDLENBQUMsRUFBRSxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDakYsSUFBSSxDQUFDLGNBQWMsQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLFFBQVEsQ0FBQyxpQkFBaUIsQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUM3RSxJQUFJLENBQUMsaUJBQWlCLENBQUMsQ0FBQyxFQUFFLE9BQU8sQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLGNBQWMsQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLFlBQVksQ0FBQyxDQUFDO1FBQ25HLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELFFBQVE7UUFDTixNQUFNLFdBQVcsR0FBRyxJQUFJLElBQUksRUFBRSxDQUFDLFdBQVcsRUFBRSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUMzRCxJQUFJLENBQUMsY0FBYyxHQUFHLElBQUksQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDO1lBQ2xDLGVBQWUsRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDLFVBQVUsQ0FBQyxRQUFRLENBQUMsRUFBRSxFQUFFLENBQUM7WUFDaEQsU0FBUyxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsVUFBVSxDQUFDLFFBQVEsQ0FBQyxFQUFFLEVBQUUsQ0FBQztZQUNuRCxPQUFPLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxVQUFVLENBQUMsUUFBUSxDQUFDLEVBQUUsRUFBRSxDQUFDO1lBQ3hDLEtBQUssRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDLFVBQVUsQ0FBQyxRQUFRLENBQUMsRUFBRSxFQUFFLENBQUM7WUFDdEMsSUFBSSxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUMsVUFBVSxDQUFDLFFBQVEsQ0FBQyxFQUFFLEVBQUUsQ0FBQztZQUNyQyxvQkFBb0IsRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDLFVBQVUsQ0FBQyxRQUFRLENBQUMsRUFBRSxFQUFFLENBQUM7WUFDckQsZUFBZSxFQUFFLENBQUMsRUFBQyxLQUFLLEVBQUUsRUFBRSxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUMsRUFBRSxDQUFDLFVBQVUsQ0FBQyxRQUFRLEVBQUUsVUFBVSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFBRSxVQUFVLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7WUFDeEgsaUJBQWlCLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxVQUFVLENBQUMsUUFBUSxFQUFFLFVBQVUsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLEVBQUUsVUFBVSxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO1lBQ2pHLFlBQVksRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDLFVBQVUsQ0FBQyxRQUFRLEVBQUUsVUFBVSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFBRSxVQUFVLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7WUFDNUYsYUFBYSxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUMsVUFBVSxDQUFDLFFBQVEsRUFBRSxVQUFVLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDNUQsUUFBUSxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUMsVUFBVSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1lBQ3JDLE1BQU0sRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDLFVBQVUsQ0FBQyxRQUFRLENBQUMsQ0FBQztZQUNuQyxHQUFHLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxVQUFVLENBQUMsUUFBUSxDQUFDLEVBQUUsRUFBRSxDQUFDO1lBQ3BDLGtCQUFrQixFQUFFLENBQUMsRUFBRSxFQUFFLENBQUMsVUFBVSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1lBQy9DLE9BQU8sRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDLFVBQVUsQ0FBQyxRQUFRLENBQUMsQ0FBQztZQUNwQyxLQUFLLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxVQUFVLENBQUMsUUFBUSxDQUFDLENBQUM7WUFDbEMsWUFBWSxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUMsVUFBVSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1lBQ3pDLHdCQUF3QixFQUFFLENBQUMsRUFBRSxFQUFFLENBQUMsVUFBVSxDQUFDLFFBQVEsQ0FBQyxFQUFFLEVBQUUsQ0FBQztZQUN6RCxvQkFBb0IsRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDLFVBQVUsQ0FBQyxRQUFRLEVBQUUsVUFBVSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFBRSxVQUFVLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7WUFDcEcsUUFBUSxFQUFFLENBQUMsRUFBRSxLQUFLLEVBQUUsRUFBRSxFQUFFLFFBQVEsRUFBRSxJQUFJLENBQUMsU0FBUyxFQUFFLEVBQUUsQ0FBQyxVQUFVLENBQUMsUUFBUSxFQUFFLFVBQVUsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUNuRyxXQUFXLEVBQUUsQ0FBQyxFQUFFLEtBQUssRUFBRSxFQUFFLEVBQUUsUUFBUSxFQUFFLElBQUksQ0FBQyxTQUFTLEVBQUUsRUFBRSxDQUFDLFVBQVUsQ0FBQyxRQUFRLEVBQUUsVUFBVSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1NBQ3ZHLENBQUMsQ0FBQztRQUNILElBQUksQ0FBQyxjQUFjLENBQUMsVUFBVSxDQUFDO1lBQzdCLFNBQVMsRUFBRSxXQUFXO1NBQ3ZCLENBQUMsQ0FBQztRQUNILCtCQUErQjtRQUMvQixJQUFJLENBQUMsY0FBYyxDQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUMsQ0FBQyxZQUFZLENBQUMsU0FBUyxDQUFDO1lBQy9ELElBQUksRUFBRSxDQUFDLE1BQU0sRUFBRSxFQUFFO2dCQUNmLElBQUksS0FBSyxHQUFHLElBQUksSUFBSSxFQUFFLENBQUM7Z0JBQ3ZCLElBQUksUUFBUSxHQUFHLElBQUksSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO2dCQUNoQyxJQUFJLEdBQUcsR0FBRyxLQUFLLENBQUMsV0FBVyxFQUFFLEdBQUcsUUFBUSxDQUFDLFdBQVcsRUFBRSxDQUFDO2dCQUN2RCxJQUFJLEtBQUssR0FBRyxLQUFLLENBQUMsUUFBUSxFQUFFLEdBQUcsUUFBUSxDQUFDLFFBQVEsRUFBRSxDQUFDO2dCQUVuRCxJQUFJLEtBQUssR0FBRyxDQUFDLElBQUksQ0FBQyxLQUFLLEtBQUssQ0FBQyxJQUFJLEtBQUssQ0FBQyxPQUFPLEVBQUUsR0FBRyxRQUFRLENBQUMsT0FBTyxFQUFFLENBQUMsRUFBRTtvQkFDdEUsR0FBRyxFQUFFLENBQUM7aUJBQ1A7Z0JBRUQsSUFBSSxHQUFHLEdBQUcsQ0FBQyxFQUFFO29CQUNYLElBQUksQ0FBQyxZQUFZLEdBQUcsK0JBQStCLENBQUE7b0JBQ25ELElBQUksQ0FBQyxjQUFjLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxDQUFDLFNBQVMsQ0FBQzt3QkFDbEQsVUFBVSxFQUFFLElBQUk7cUJBQ2pCLENBQUMsQ0FBQTtpQkFDSDtxQkFBTTtvQkFDTCxJQUFJLENBQUMsY0FBYyxDQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUMsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLENBQUM7aUJBQzNEO2dCQUVELElBQUksQ0FBQyxjQUFjLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUNwRCxDQUFDO1NBQ0YsQ0FBQyxDQUFBO0lBQ0osQ0FBQztJQUVELGFBQWE7UUFDWCw0REFBNEQ7UUFDNUQsSUFBSSxDQUFDLFdBQVcsR0FBRSxJQUFJLENBQUMsYUFBYSxFQUFFLFdBQVcsQ0FBQztRQUNsRCxJQUFJLENBQUMsU0FBUyxHQUFFLElBQUksQ0FBQyxhQUFhLEVBQUUsT0FBTyxDQUFDO1FBQzVDLElBQUksQ0FBQyxRQUFRLEdBQUUsSUFBSSxDQUFDLGFBQWEsRUFBRSxPQUFPLENBQUM7UUFDM0MsSUFBSSxDQUFDLFdBQVcsR0FBRSxJQUFJLENBQUMsYUFBYSxFQUFFLFdBQVcsQ0FBQztRQUNsRCxJQUFJLENBQUMsTUFBTSxHQUFFLElBQUksQ0FBQyxhQUFhLEVBQUUsSUFBSSxDQUFDO1FBQ3RDLElBQUksQ0FBQyxNQUFNLEdBQUUsSUFBSSxDQUFDLGFBQWEsRUFBRSxLQUFLLENBQUM7UUFDdkMsNENBQTRDO1FBQzVDLElBQUksSUFBSSxDQUFDLGFBQWEsSUFBSSxJQUFJLENBQUMsYUFBYSxDQUFDLE1BQU0sRUFBRTtZQUNuRCxxREFBcUQ7WUFDckQsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxNQUFXLEVBQUUsRUFBRSxDQUFDLENBQUM7Z0JBQzdELElBQUksRUFBRSxNQUFNLENBQUMsSUFBSTtnQkFDakIsSUFBSSxFQUFFLE1BQU0sQ0FBQyxZQUFZO2FBQzFCLENBQUMsQ0FBQyxDQUFDO1NBQ0w7YUFBTTtZQUNMLElBQUksQ0FBQyxPQUFPLEdBQUcsRUFBRSxDQUFDO1NBQ25CO0lBQ0gsQ0FBQztJQUVELFFBQVE7UUFDTixJQUFJLENBQUMsY0FBYyxDQUFDLGdCQUFnQixFQUFFLENBQUM7UUFDdkMsSUFBSSxJQUFJLENBQUMsY0FBYyxDQUFDLE9BQU87WUFBRSxPQUFPO1FBRXhDLHFCQUFxQjtRQUNyQixJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUMvQixDQUFDO0lBRUQsUUFBUSxDQUFDLEtBQVU7UUFDakIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUN0QixDQUFDO0lBRUQsT0FBTyxDQUFDLEtBQVU7UUFDaEIsTUFBTSxXQUFXLEdBQUcsT0FBTyxLQUFLLEtBQUssUUFBUSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUM7UUFFNUUsSUFBSSxJQUFJLENBQUMsYUFBYSxJQUFJLElBQUksQ0FBQyxhQUFhLEVBQUUsSUFBSSxFQUFFO1lBRWxELElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsTUFBTSxFQUFFLEVBQUU7Z0JBQ3RELE1BQU0sWUFBWSxHQUFHLE9BQU8sTUFBTSxDQUFDLEtBQUssS0FBSyxRQUFRO29CQUNuRCxDQUFDLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDO29CQUM1QixDQUFDLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQztnQkFDakIsT0FBTyxZQUFZLEtBQUssV0FBVyxDQUFDO1lBQ3RDLENBQUMsQ0FBQyxDQUFDO1NBRUo7YUFBTTtZQUNMLElBQUksQ0FBQyxNQUFNLEdBQUcsRUFBRSxDQUFDO1NBQ2xCO1FBQ0QsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLGNBQWMsQ0FBQyxDQUFDLEVBQUUsTUFBTSxDQUFDLENBQUMsQ0FBQztJQUNsRSxDQUFDO0lBRUQsYUFBYSxDQUFDLE9BQVk7UUFDeEIsTUFBTSxhQUFhLEdBQUcsT0FBTyxPQUFPLEtBQUssUUFBUSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsT0FBTyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUM7UUFDcEYsSUFBSSxPQUFPLElBQUksSUFBSSxFQUFFO1lBQ25CLElBQUksQ0FBQyxjQUFjLENBQUMsUUFBUSxDQUFDLFNBQVMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsQ0FBQztZQUMxRCxJQUFJLElBQUksQ0FBQyxhQUFhLElBQUksSUFBSSxDQUFDLGFBQWEsRUFBRSxLQUFLLEVBQUU7Z0JBQ25ELElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUMsTUFBTSxFQUFFLEVBQUU7b0JBQ3ZELE1BQU0sS0FBSyxHQUFHLE9BQU8sTUFBTSxDQUFDLE9BQU8sS0FBSyxRQUFRO3dCQUM5QyxDQUFDLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxPQUFPLEVBQUUsRUFBRSxDQUFDO3dCQUM5QixDQUFDLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQztvQkFDbkIsT0FBTyxLQUFLLEtBQUssYUFBYSxDQUFDO2dCQUNqQyxDQUFDLENBQUMsQ0FBQztnQkFDSCxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsY0FBYyxDQUFDLENBQUMsRUFBRSxPQUFPLENBQUMsQ0FBQyxDQUFDO2FBQ25FO2lCQUFNO2dCQUNMLElBQUksQ0FBQyxNQUFNLEdBQUcsRUFBRSxDQUFDO2FBQ2xCO1NBQ0Y7YUFBSztZQUNKLElBQUksQ0FBQyxjQUFjLENBQUMsUUFBUSxDQUFDLFNBQVMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQztTQUN4RDtJQUNILENBQUM7SUFFRCxXQUFXLENBQUMsS0FBVTtRQUNwQixJQUFJLEtBQUssS0FBSyx1QkFBdUIsRUFBRTtZQUNyQyxJQUFJLENBQUMsY0FBYyxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDdEQsSUFBSSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQztTQUN0QjthQUFNO1lBQ0wsSUFBSSxDQUFDLGNBQWMsQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQ3JELElBQUksQ0FBQyxjQUFjLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUNwRCxJQUFJLENBQUMsTUFBTSxHQUFHLEVBQUUsQ0FBQztTQUNsQjtJQUNILENBQUM7SUFFRCxVQUFVLENBQUMsSUFBUztRQUNsQixJQUFJLElBQUksS0FBSyxzQkFBc0IsRUFBRTtZQUNuQyxJQUFJLENBQUMsY0FBYyxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUM7U0FDckQ7YUFBTTtZQUNMLElBQUksQ0FBQyxjQUFjLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQztTQUNyRDtJQUNILENBQUM7SUFFRCxZQUFZLENBQUMsTUFBVztRQUN0QixJQUFJLE1BQU0sS0FBSyxtQkFBbUIsRUFBRTtZQUNsQyxJQUFJLENBQUMsY0FBYyxDQUFDLFFBQVEsQ0FBQyxzQkFBc0IsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQztTQUN2RTthQUFNO1lBQ0wsSUFBSSxDQUFDLGNBQWMsQ0FBQyxRQUFRLENBQUMsc0JBQXNCLENBQUMsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUM7U0FDckU7SUFDSCxDQUFDO0lBRUQsaUJBQWlCLENBQUMsVUFBZTtRQUMvQixJQUFJLFVBQVUsS0FBSyxZQUFZLEVBQUU7WUFDL0IsSUFBSSxDQUFDLGNBQWMsQ0FBQyxRQUFRLENBQUMsMEJBQTBCLENBQUMsQ0FBQyxRQUFRLENBQUMsVUFBVSxDQUFDLENBQUM7U0FDL0U7YUFBTTtZQUNMLElBQUksQ0FBQyxjQUFjLENBQUMsUUFBUSxDQUFDLDBCQUEwQixDQUFDLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDO1NBQ3pFO0lBQ0gsQ0FBQztJQUVELFlBQVksQ0FBQyxNQUFXO1FBQ3RCLElBQUksTUFBTSxLQUFLLFFBQVEsRUFBRTtZQUN2QixJQUFJLENBQUMsY0FBYyxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLENBQUM7U0FDekQ7YUFBTTtZQUNMLElBQUksQ0FBQyxjQUFjLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQztTQUN2RDtJQUNILENBQUM7SUFFRCxhQUFhLENBQUMsT0FBWTtRQUN4QixJQUFJLE9BQU8sS0FBSyxTQUFTLEVBQUU7WUFDekIsSUFBSSxDQUFDLGNBQWMsQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1NBQzNEO2FBQU07WUFDTCxJQUFJLENBQUMsY0FBYyxDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUMsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUM7U0FDeEQ7SUFDSCxDQUFDO0lBRUQsaUJBQWlCLENBQUMsWUFBaUI7UUFDakMsSUFBSSxZQUFZLEtBQUssY0FBYyxFQUFFO1lBQ25DLElBQUksQ0FBQyxjQUFjLENBQUMsUUFBUSxDQUFDLGNBQWMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxZQUFZLENBQUMsQ0FBQztTQUNyRTthQUFNO1lBQ0wsSUFBSSxDQUFDLGNBQWMsQ0FBQyxRQUFRLENBQUMsY0FBYyxDQUFDLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDO1NBQzdEO0lBQ0gsQ0FBQztJQUVELHlCQUF5QjtRQUN2QixPQUFPLENBQUMsR0FBRyxDQUFDLFlBQVksQ0FBQyxDQUFDO1FBQzFCLElBQUksQ0FBQyxjQUFjLENBQUMsUUFBUSxDQUFDLGlCQUFpQixDQUFDLENBQUMsWUFBWSxDQUFDLElBQUksRUFDaEUsQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUU7WUFDbEIsT0FBTyxDQUFDLEdBQUcsQ0FBQyx3QkFBd0IsRUFBRSxLQUFLLENBQUMsQ0FBQyxDQUFDLGFBQWE7WUFDM0QsSUFBSSxLQUFLLElBQUksVUFBVSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsRUFBRTtnQkFDbkMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxxQ0FBcUMsQ0FBQyxDQUFDLENBQUMsYUFBYTtnQkFDakUsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUM7YUFDbEM7aUJBQU07Z0JBQ0wsT0FBTyxDQUFDLEdBQUcsQ0FBQywrQkFBK0IsQ0FBQyxDQUFDLENBQUMsYUFBYTtnQkFDM0QsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUMsYUFBYSxFQUFFLHNCQUFzQixDQUFDO2FBQzNEO1lBQ0QsT0FBTyxDQUFDLEdBQUcsQ0FBQyxrQkFBa0IsRUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxhQUFhO1FBQzlELENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELGFBQWEsQ0FBQyxpQkFBMkI7UUFDdkMsSUFBSSxJQUFJLENBQUMsT0FBTyxJQUFJLEtBQUssQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxFQUFFO1lBQy9DLHdFQUF3RTtZQUN4RSxJQUFJLGVBQWUsR0FBRyxDQUFDLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1lBQ3hDLDRFQUE0RTtZQUM1RSxNQUFNLGVBQWUsR0FBRyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7WUFDaEUscURBQXFEO1lBQ3JELGVBQWUsQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLEVBQUU7Z0JBQ2pDLElBQUksUUFBUSxJQUFJLENBQUMsSUFBSSxRQUFRLEdBQUcsZUFBZSxDQUFDLE1BQU0sRUFBRTtvQkFDdEQsZUFBZSxDQUFDLE1BQU0sQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDLENBQUM7aUJBQ3JDO1lBQ0gsQ0FBQyxDQUFDLENBQUM7WUFDSCxJQUFJLENBQUMsT0FBTyxHQUFHLGVBQWUsQ0FBQztTQUNoQztJQUNILENBQUM7O29IQTdVVSx1QkFBdUI7d0dBQXZCLHVCQUF1QiwwUENWcEMsc3FMQWdKQTsyRkR0SWEsdUJBQXVCO2tCQUxuQyxTQUFTOytCQUNFLHVCQUF1QjtrR0FLeEIsV0FBVztzQkFBbkIsS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLO2dCQUNHLGFBQWE7c0JBQXJCLEtBQUs7Z0JBQ0ksZUFBZTtzQkFBeEIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25DaGFuZ2VzLCBPbkRlc3Ryb3ksIE91dHB1dCwgU2ltcGxlQ2hhbmdlcyB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRm9ybUdyb3VwLCBGb3JtQnVpbGRlciwgVmFsaWRhdG9ycyB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IENvZEZvcm1Db250cm9scyB9IGZyb20gJy4uLy4uL2xvZ2ljL2NvZC1mb3JtLWNvbnRyb2xzJztcbmltcG9ydCB7IENvZEZvcm1TdGVwcywgbG9jYWxTdG9yYWdlVmFsdWVzIH0gZnJvbSAnLi4vLi4vbG9naWMvY29kLWZvcm0tc3RlcHMnO1xuaW1wb3J0IHsgSVBhcmFtZXRlcnNBbGxScyB9IGZyb20gJy4uLy4uLy4uL2NvcmUvbW9kZWxzL3BhcmFtZXRlcnMvcGFyYW1ldGVycy1ycy5tb2RlbCc7XG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhcHAtY29kLWZvcm0tc3RlcC10d28nLFxuICB0ZW1wbGF0ZVVybDogJy4vY29kLWZvcm0tc3RlcC10d28uY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9jb2QtZm9ybS1zdGVwLXR3by5jb21wb25lbnQuY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgQ29kRm9ybVN0ZXBUd29Db21wb25lbnQgZXh0ZW5kcyBDb2RGb3JtU3RlcHMgaW1wbGVtZW50cyBPbkNoYW5nZXMge1xuICBASW5wdXQoKSBpbml0aWFsRGF0YT86IGFueTtcbiAgQElucHV0KCkgaXNFZGl0Q29kPzogYm9vbGVhbjtcbiAgQElucHV0KCkgcGFyYW1ldGVyc0FsbD86SVBhcmFtZXRlcnNBbGxScztcbiAgQE91dHB1dCgpIGNoYW5nZVN0ZXBFdmVudCA9IG5ldyBFdmVudEVtaXR0ZXI8bnVtYmVyPigpO1xuXG4gIGNvZEZvcm1TdGVwVHdvITogRm9ybUdyb3VwO1xuICBjb3VudHJ5U2VsZWN0ZWQ6IGFueTtcbiAgY291bnRyaWVzOiBhbnk7XG4gIHN0YXRlczogYW55O1xuICBjaXRpZXM6IGFueTtcbiAgZXJyb3JNZXNzYWdlOiBzdHJpbmcgPSAnRmFsdGFuIGNhbXBvcyBwb3IgbGxlbmFyLic7XG4gIGhhc0Vycm9yczogYm9vbGVhbiA9IGZhbHNlO1xuICBpZFR5cGVzOiBhbnk7XG4gIGluZGljYXRpdmVzOiBhbnk7XG4gIGNpdmlsU3RhdHVzOiBhbnk7XG4gIGdlbmRlcnM6IGFueVtdPVtdO1xuICBzdHJhdHVtczogYW55O1xuXG4gIC8vIENvbnRyb2xzIGRlbCBmb3JtdWxhcmlvXG4gIGNvbnRyb2xzID0gbmV3IENvZEZvcm1Db250cm9scygpLmNvbnRyb2xzWzFdO1xuICBkYXRhQ291bnRyeTogYW55O1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgZmI6IEZvcm1CdWlsZGVyLFxuICApIHtcbiAgICBzdXBlcigpO1xuICB9XG5cbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xuICAgIHRoaXMuaW5pdEZvcm0oKTtcbiAgICB0aGlzLnN0YXJ0TG9jYWxTdG9yYWdlV29yaygpO1xuICAgIHRoaXMudmFsaWRhdGVFcnJvcnMoKTtcbiAgICB0aGlzLnRyYWNrU3R1ZGVudElkQ2FyZENoYW5nZXMoKTtcbiAgICB0aGlzLmdldFBhcmFtZXRlcnMoKTtcbiAgICBpZiAoY2hhbmdlc1snaW5pdGlhbERhdGEnXSkge1xuICAgICAgaWYgKHRoaXMuaW5pdGlhbERhdGEgIT0gbnVsbCkge1xuICAgICAgICBpZiAodGhpcy5pbml0aWFsRGF0YS5zdHVkZW50ICE9IG51bGwpIHtcbiAgICAgICAgICB0aGlzLnNldERhdGFGcm9tUHJldml1c0NvZCgpO1xuICAgICAgICB9ZWxzZXtcbiAgICAgICAgICB0aGlzLnNldERhdGFGcm9tVXNlckhpc3RvcnkoKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG5cbiAgc2V0RGF0YUZyb21Vc2VySGlzdG9yeSgpe1xuICAgIHRoaXMuY29kRm9ybVN0ZXBUd28uY29udHJvbHNbJ3N0dWRlbnRfbmFtZSddLnNldFZhbHVlKHRoaXMuaW5pdGlhbERhdGEubmFtZSk7XG4gICAgdGhpcy5jb2RGb3JtU3RlcFR3by5jb250cm9sc1snc3R1ZGVudF9sYXN0X25hbWUnXS5zZXRWYWx1ZSh0aGlzLmluaXRpYWxEYXRhLmxhc3RfbmFtZSk7XG4gICAgdGhpcy5jb2RGb3JtU3RlcFR3by5jb250cm9sc1snc3R1ZGVudF9pZF9jYXJkX3R5cGUnXS5zZXRWYWx1ZSh0aGlzLmluaXRpYWxEYXRhLmlkX2NhcmRfdHlwZSk7XG4gICAgdGhpcy5jb2RGb3JtU3RlcFR3by5jb250cm9sc1snc3R1ZGVudF9pZF9jYXJkJ10uc2V0VmFsdWUodGhpcy5pbml0aWFsRGF0YS5pZF9jYXJkKTtcbiAgICB0aGlzLmNvZEZvcm1TdGVwVHdvLmNvbnRyb2xzWydjb3VudHJ5J10uc2V0VmFsdWUodGhpcy5pbml0aWFsRGF0YS5jaXR5WzBdPy5jb3VudHJ5KTtcbiAgICB0aGlzLmNvZEZvcm1TdGVwVHdvLmNvbnRyb2xzWydzdGF0ZSddLnNldFZhbHVlKHRoaXMuaW5pdGlhbERhdGEuY2l0eVswXT8uc3RhdGUpO1xuICAgIHRoaXMuY29kRm9ybVN0ZXBUd28uY29udHJvbHNbJ2NpdHknXS5zZXRWYWx1ZSh0aGlzLmluaXRpYWxEYXRhLmNpdHlbMF0/LmNvZGUpO1xuICAgIHRoaXMuY29kRm9ybVN0ZXBUd28uY29udHJvbHNbJ2dlbmRlciddLnNldFZhbHVlKHRoaXMuaW5pdGlhbERhdGEuZ2VuZGVyKTtcbiAgICB0aGlzLmNvZEZvcm1TdGVwVHdvLmNvbnRyb2xzWyduaWNrbmFtZSddLnNldFZhbHVlKHRoaXMuaW5pdGlhbERhdGEubmlja19uYW1lKTtcbiAgICB0aGlzLmNvZEZvcm1TdGVwVHdvLmNvbnRyb2xzWydzdHVkZW50X3Bob25lX2luZGljYXRpdmUnXS5zZXRWYWx1ZSh0aGlzLmluaXRpYWxEYXRhLnBob25lX2luZGljYXRpdmUpO1xuICAgIHRoaXMuY29kRm9ybVN0ZXBUd28uY29udHJvbHNbJ3N0dWRlbnRfcGhvbmVfbnVtYmVyJ10uc2V0VmFsdWUodGhpcy5pbml0aWFsRGF0YS5waG9uZV9udW1iZXIpO1xuICAgIHRoaXMuY29kRm9ybVN0ZXBUd28uY29udHJvbHNbJ2JpcnRoZGF0ZSddLnNldFZhbHVlKHRoaXMuaW5pdGlhbERhdGEuYmlydGhkYXRlKTtcbiAgICB0aGlzLmNvZEZvcm1TdGVwVHdvLmNvbnRyb2xzWydzdHVkZW50X2VtYWlsJ10uc2V0VmFsdWUodGhpcy5pbml0aWFsRGF0YS5lbWFpbCk7XG4gICAgdGhpcy5jb2RGb3JtU3RlcFR3by5jb250cm9sc1sncGFzc3dvcmQnXS5zZXRWYWx1ZSh0aGlzLmluaXRpYWxEYXRhLmlkX2NhcmQpO1xuICAgIHRoaXMuY29kRm9ybVN0ZXBUd28uY29udHJvbHNbJ3JlX3Bhc3N3b3JkJ10uc2V0VmFsdWUodGhpcy5pbml0aWFsRGF0YS5pZF9jYXJkKTtcbiAgfVxuXG4gIHNldERhdGFGcm9tUHJldml1c0NvZCgpIHtcbiAgICB0aGlzLmNvZEZvcm1TdGVwVHdvLmNvbnRyb2xzWydzdHVkZW50X25hbWUnXS5zZXRWYWx1ZSh0aGlzLmluaXRpYWxEYXRhLnN0dWRlbnQubmFtZSk7XG4gICAgdGhpcy5jb2RGb3JtU3RlcFR3by5jb250cm9sc1snc3R1ZGVudF9sYXN0X25hbWUnXS5zZXRWYWx1ZSh0aGlzLmluaXRpYWxEYXRhLnN0dWRlbnQubGFzdF9uYW1lKTtcbiAgICB0aGlzLmNvZEZvcm1TdGVwVHdvLmNvbnRyb2xzWydzdHVkZW50X2lkX2NhcmRfdHlwZSddLnNldFZhbHVlKHRoaXMuaW5pdGlhbERhdGEuc3R1ZGVudC5pZF9jYXJkX3R5cGUpO1xuICAgIHRoaXMuY29kRm9ybVN0ZXBUd28uY29udHJvbHNbJ3N0dWRlbnRfaWRfY2FyZCddLnNldFZhbHVlKHRoaXMuaW5pdGlhbERhdGEuc3R1ZGVudC5pZF9jYXJkKTtcbiAgICB0aGlzLmNvZEZvcm1TdGVwVHdvLmNvbnRyb2xzWydjb3VudHJ5J10uc2V0VmFsdWUodGhpcy5pbml0aWFsRGF0YS5zdHVkZW50LmNpdHlbMF0uY291bnRyeSk7XG4gICAgdGhpcy5jb2RGb3JtU3RlcFR3by5jb250cm9sc1snc3RhdGUnXS5zZXRWYWx1ZSh0aGlzLmluaXRpYWxEYXRhLnN0dWRlbnQuY2l0eVswXS5zdGF0ZSk7XG4gICAgdGhpcy5jb2RGb3JtU3RlcFR3by5jb250cm9sc1snY2l0eSddLnNldFZhbHVlKHRoaXMuaW5pdGlhbERhdGEuc3R1ZGVudC5jaXR5WzBdLmNvZGUpO1xuICAgIHRoaXMuY29kRm9ybVN0ZXBUd28uY29udHJvbHNbJ3N0dWRlbnRfYWRkcmVzcyddLnNldFZhbHVlKHRoaXMuaW5pdGlhbERhdGEuYWRpdGlvbmFsX2luZm9ybWF0aW9uLnN0dWRlbnRfYWRkcmVzcyk7XG4gICAgdGhpcy5jb2RGb3JtU3RlcFR3by5jb250cm9sc1snZ2VuZGVyJ10uc2V0VmFsdWUodGhpcy5pbml0aWFsRGF0YS5zdHVkZW50LmdlbmRlcik7XG4gICAgdGhpcy5jb2RGb3JtU3RlcFR3by5jb250cm9sc1snbmlja25hbWUnXS5zZXRWYWx1ZSh0aGlzLmluaXRpYWxEYXRhLnN0dWRlbnQubmlja19uYW1lKTtcbiAgICB0aGlzLmNvZEZvcm1TdGVwVHdvLmNvbnRyb2xzWydzdHJhdHVtJ10uc2V0VmFsdWUodGhpcy5pbml0aWFsRGF0YS5hZGl0aW9uYWxfaW5mb3JtYXRpb24uc29jaWFsX3N0cmF0dW0pO1xuICAgIHRoaXMuY29kRm9ybVN0ZXBUd28uY29udHJvbHNbJ3N0dWRlbnRfb2NjdXBhdGlvbiddLnNldFZhbHVlKHRoaXMuaW5pdGlhbERhdGEuYWRpdGlvbmFsX2luZm9ybWF0aW9uLnN0dWRlbnRfb2NjdXBhdGlvbik7XG4gICAgdGhpcy5jb2RGb3JtU3RlcFR3by5jb250cm9sc1snZ3JhZGUnXS5zZXRWYWx1ZSh0aGlzLmluaXRpYWxEYXRhLmFkaXRpb25hbF9pbmZvcm1hdGlvbi5lZHVjYXRpb25hbF9sZXZlbCk7XG4gICAgdGhpcy5jb2RGb3JtU3RlcFR3by5jb250cm9sc1snY2l2aWxfc3RhdHVzJ10uc2V0VmFsdWUodGhpcy5pbml0aWFsRGF0YS5hZGl0aW9uYWxfaW5mb3JtYXRpb24uY2l2aWxfc3RhdHVzKTtcbiAgICB0aGlzLmNvZEZvcm1TdGVwVHdvLmNvbnRyb2xzWydzdHVkZW50X3Bob25lX2luZGljYXRpdmUnXS5zZXRWYWx1ZSh0aGlzLmluaXRpYWxEYXRhLnN0dWRlbnQucGhvbmVfaW5kaWNhdGl2ZSk7XG4gICAgdGhpcy5jb2RGb3JtU3RlcFR3by5jb250cm9sc1snc3R1ZGVudF9waG9uZV9udW1iZXInXS5zZXRWYWx1ZSh0aGlzLmluaXRpYWxEYXRhLnN0dWRlbnQucGhvbmVfbnVtYmVyKTtcbiAgICB0aGlzLmNvZEZvcm1TdGVwVHdvLmNvbnRyb2xzWydiaXJ0aGRhdGUnXS5zZXRWYWx1ZSh0aGlzLmluaXRpYWxEYXRhLnN0dWRlbnQuYmlydGhkYXRlKTtcbiAgICB0aGlzLmNvZEZvcm1TdGVwVHdvLmNvbnRyb2xzWydzdHVkZW50X2VtYWlsJ10uc2V0VmFsdWUodGhpcy5pbml0aWFsRGF0YS5zdHVkZW50LmVtYWlsKTtcbiAgICB0aGlzLmNvZEZvcm1TdGVwVHdvLmNvbnRyb2xzWydwYXNzd29yZCddLnNldFZhbHVlKHRoaXMuaW5pdGlhbERhdGEuc3R1ZGVudC5pZF9jYXJkKTtcbiAgICB0aGlzLmNvZEZvcm1TdGVwVHdvLmNvbnRyb2xzWydyZV9wYXNzd29yZCddLnNldFZhbHVlKHRoaXMuaW5pdGlhbERhdGEuc3R1ZGVudC5pZF9jYXJkKTtcbiAgfVxuXG4gIGNsZWFuQ29tcG9uZW50KCl7XG4gICAgdGhpcy5yZXNldExvY2FsU3RvcmFnZSh0aGlzLmNvbnRyb2xzKTtcbiAgICB0aGlzLmNvZEZvcm1TdGVwVHdvLnJlc2V0KCk7XG4gIH1cblxuICB2YWxpZGF0ZUVycm9ycygpIHtcbiAgICB0aGlzLmNvZEZvcm1TdGVwVHdvLnZhbHVlQ2hhbmdlcy5zdWJzY3JpYmUoY2hhbmdlcyA9PiB7XG4gICAgICBpZiAodGhpcy5jb2RGb3JtU3RlcFR3by5jb250cm9sc1snc3R1ZGVudF9uYW1lJ10uaGFzRXJyb3IoJ21pbmxlbmd0aCcpKSB7XG4gICAgICAgIHRoaXMuZXJyb3JNZXNzYWdlID0gJ0xvcyBub21icmVzIGRlYmVuIHRlbmVyIG3DrW5pbW8gMyBjYXJhY3RlcmVzJztcbiAgICAgIH0gZWxzZSBpZiAodGhpcy5jb2RGb3JtU3RlcFR3by5jb250cm9sc1snc3R1ZGVudF9sYXN0X25hbWUnXS5oYXNFcnJvcignbWlubGVuZ3RoJykpIHtcbiAgICAgICAgdGhpcy5lcnJvck1lc3NhZ2UgPSAnTG9zIGFwZWxsaWRvcyBkZWJlbiB0ZW5lciBtw61uaW1vIDUgY2FyYWN0ZXJlcyc7XG4gICAgICB9IGVsc2UgaWYgKHRoaXMuY29kRm9ybVN0ZXBUd28uY29udHJvbHNbJ3Bhc3N3b3JkJ10uaGFzRXJyb3IoJ21pbmxlbmd0aCcpKSB7XG4gICAgICAgIHRoaXMuZXJyb3JNZXNzYWdlID0gJ0xhIGNvbnRyYXNlw7FhIGRlYmUgdGVuZXIgbcOtbmltbyA2IGNhcmFjdGVyZXMnO1xuICAgICAgfSBlbHNlIGlmICh0aGlzLmNvZEZvcm1TdGVwVHdvLmNvbnRyb2xzWydwYXNzd29yZCddLnZhbHVlICE9PSB0aGlzLmNvZEZvcm1TdGVwVHdvLmNvbnRyb2xzWydyZV9wYXNzd29yZCddLnZhbHVlKSB7XG4gICAgICAgIHRoaXMuZXJyb3JNZXNzYWdlID0gJ0xhcyBjb250cmFzZcOxYXMgbm8gY29pbmNpZGVuJztcbiAgICAgIH0gZWxzZSBpZiAodGhpcy5jb2RGb3JtU3RlcFR3by5jb250cm9sc1snYWdlJ10uZXJyb3JzKSB7XG4gICAgICAgIHRoaXMuZXJyb3JNZXNzYWdlID0gJ0ZlY2hhIGRlIG5hY2ltaWVudG8gbm8gdsOhbGlkYSc7XG4gICAgICB9XG4gICAgICAgZWxzZSB7XG4gICAgICAgIHRoaXMuZXJyb3JNZXNzYWdlID0gJ0ZhbHRhbiBjYW1wb3MgcG9yIGxsZW5hcic7XG4gICAgICB9XG4gICAgfSlcbiAgfVxuXG4gIHN0YXJ0TG9jYWxTdG9yYWdlV29yaygpIHtcbiAgICB0aGlzLmNvbnRyb2xzLmZvckVhY2goY29udHJvbCA9PiB7XG4gICAgICBsZXQgbG9jYWxTdG9yYWdlVmFsdWU6IGxvY2FsU3RvcmFnZVZhbHVlcyA9IHRoaXMucmVhZEFuZFdyaXRlTFMoMiwgY29udHJvbC5uYW1lKTtcbiAgICAgIHRoaXMuY29kRm9ybVN0ZXBUd28uY29udHJvbHNbY29udHJvbC5uYW1lXS5zZXRWYWx1ZShsb2NhbFN0b3JhZ2VWYWx1ZS52YWx1ZSk7XG4gICAgICB0aGlzLmxpc3RlbkZvcm1DaGFuZ2VzKDIsIGNvbnRyb2wubmFtZSwgdGhpcy5jb2RGb3JtU3RlcFR3by5jb250cm9sc1tjb250cm9sLm5hbWVdLnZhbHVlQ2hhbmdlcyk7XG4gICAgfSk7XG4gIH1cblxuICBpbml0Rm9ybSgpIHtcbiAgICBjb25zdCBjdXJyZW50RGF0ZSA9IG5ldyBEYXRlKCkudG9JU09TdHJpbmcoKS5zcGxpdCgnVCcpWzBdO1xuICAgIHRoaXMuY29kRm9ybVN0ZXBUd28gPSB0aGlzLmZiLmdyb3VwKHtcbiAgICAgIHN0dWRlbnRfYWRkcmVzczogWycnLCBbVmFsaWRhdG9ycy5yZXF1aXJlZF0sIFtdXSxcbiAgICAgIGJpcnRoZGF0ZTogW2N1cnJlbnREYXRlLCBbVmFsaWRhdG9ycy5yZXF1aXJlZF0sIFtdXSxcbiAgICAgIGNvdW50cnk6IFsnJywgW1ZhbGlkYXRvcnMucmVxdWlyZWRdLCBbXV0sXG4gICAgICBzdGF0ZTogWycnLCBbVmFsaWRhdG9ycy5yZXF1aXJlZF0sIFtdXSxcbiAgICAgIGNpdHk6IFsnJywgW1ZhbGlkYXRvcnMucmVxdWlyZWRdLCBbXV0sXG4gICAgICBzdHVkZW50X2lkX2NhcmRfdHlwZTogWycnLCBbVmFsaWRhdG9ycy5yZXF1aXJlZF0sIFtdXSxcbiAgICAgIHN0dWRlbnRfaWRfY2FyZDogW3t2YWx1ZTogJycsIGRpc2FibGVkOiB0cnVlfSwgW1ZhbGlkYXRvcnMucmVxdWlyZWQsIFZhbGlkYXRvcnMubWluTGVuZ3RoKDUpLCBWYWxpZGF0b3JzLm1heExlbmd0aCgyMCldXSxcbiAgICAgIHN0dWRlbnRfbGFzdF9uYW1lOiBbJycsIFtWYWxpZGF0b3JzLnJlcXVpcmVkLCBWYWxpZGF0b3JzLm1pbkxlbmd0aCg1KSwgVmFsaWRhdG9ycy5tYXhMZW5ndGgoMzIpXV0sXG4gICAgICBzdHVkZW50X25hbWU6IFsnJywgW1ZhbGlkYXRvcnMucmVxdWlyZWQsIFZhbGlkYXRvcnMubWluTGVuZ3RoKDMpLCBWYWxpZGF0b3JzLm1heExlbmd0aCgzMildXSxcbiAgICAgIHN0dWRlbnRfZW1haWw6IFsnJywgW1ZhbGlkYXRvcnMucmVxdWlyZWQsIFZhbGlkYXRvcnMuZW1haWxdXSxcbiAgICAgIG5pY2tuYW1lOiBbJycsIFtWYWxpZGF0b3JzLnJlcXVpcmVkXV0sXG4gICAgICBnZW5kZXI6IFsnJywgW1ZhbGlkYXRvcnMucmVxdWlyZWRdXSxcbiAgICAgIGFnZTogWycnLCBbVmFsaWRhdG9ycy5yZXF1aXJlZF0sIFtdXSxcbiAgICAgIHN0dWRlbnRfb2NjdXBhdGlvbjogWycnLCBbVmFsaWRhdG9ycy5yZXF1aXJlZF1dLFxuICAgICAgc3RyYXR1bTogWycnLCBbVmFsaWRhdG9ycy5yZXF1aXJlZF1dLFxuICAgICAgZ3JhZGU6IFsnJywgW1ZhbGlkYXRvcnMucmVxdWlyZWRdXSxcbiAgICAgIGNpdmlsX3N0YXR1czogWycnLCBbVmFsaWRhdG9ycy5yZXF1aXJlZF1dLFxuICAgICAgc3R1ZGVudF9waG9uZV9pbmRpY2F0aXZlOiBbJycsIFtWYWxpZGF0b3JzLnJlcXVpcmVkXSwgW11dLFxuICAgICAgc3R1ZGVudF9waG9uZV9udW1iZXI6IFsnJywgW1ZhbGlkYXRvcnMucmVxdWlyZWQsIFZhbGlkYXRvcnMubWluTGVuZ3RoKDgpLCBWYWxpZGF0b3JzLm1heExlbmd0aCgxNSldXSxcbiAgICAgIHBhc3N3b3JkOiBbeyB2YWx1ZTogJycsIGRpc2FibGVkOiB0aGlzLmlzRWRpdENvZCB9LCBbVmFsaWRhdG9ycy5yZXF1aXJlZCwgVmFsaWRhdG9ycy5taW5MZW5ndGgoNildXSxcbiAgICAgIHJlX3Bhc3N3b3JkOiBbeyB2YWx1ZTogJycsIGRpc2FibGVkOiB0aGlzLmlzRWRpdENvZCB9LCBbVmFsaWRhdG9ycy5yZXF1aXJlZCwgVmFsaWRhdG9ycy5taW5MZW5ndGgoNildXSxcbiAgICB9KTtcbiAgICB0aGlzLmNvZEZvcm1TdGVwVHdvLnBhdGNoVmFsdWUoe1xuICAgICAgYmlydGhkYXRlOiBjdXJyZW50RGF0ZVxuICAgIH0pO1xuICAgIC8vIENhbGN1bGFyIGVkYWQgeSBzZXRlYXIgdmFsb3JcbiAgICB0aGlzLmNvZEZvcm1TdGVwVHdvLmNvbnRyb2xzWydiaXJ0aGRhdGUnXS52YWx1ZUNoYW5nZXMuc3Vic2NyaWJlKHtcbiAgICAgIG5leHQ6IChjaGFuZ2UpID0+IHtcbiAgICAgICAgbGV0IHRvZGF5ID0gbmV3IERhdGUoKTtcbiAgICAgICAgbGV0IGJpcnRoZGF5ID0gbmV3IERhdGUoY2hhbmdlKTtcbiAgICAgICAgbGV0IGFnZSA9IHRvZGF5LmdldEZ1bGxZZWFyKCkgLSBiaXJ0aGRheS5nZXRGdWxsWWVhcigpO1xuICAgICAgICBsZXQgbW9udGggPSB0b2RheS5nZXRNb250aCgpIC0gYmlydGhkYXkuZ2V0TW9udGgoKTtcblxuICAgICAgICBpZiAobW9udGggPCAwIHx8IChtb250aCA9PT0gMCAmJiB0b2RheS5nZXREYXRlKCkgPCBiaXJ0aGRheS5nZXREYXRlKCkpKSB7XG4gICAgICAgICAgYWdlLS07XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoYWdlIDwgMykge1xuICAgICAgICAgIHRoaXMuZXJyb3JNZXNzYWdlID0gJ0ZlY2hhIGRlIG5hY2ltaWVudG8gbm8gdsOhbGlkYSdcbiAgICAgICAgICB0aGlzLmNvZEZvcm1TdGVwVHdvLmNvbnRyb2xzWydiaXJ0aGRhdGUnXS5zZXRFcnJvcnMoe1xuICAgICAgICAgICAgaW52YWxpZEFnZTogdHJ1ZVxuICAgICAgICAgIH0pXG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgdGhpcy5jb2RGb3JtU3RlcFR3by5jb250cm9sc1snYmlydGhkYXRlJ10uc2V0RXJyb3JzKG51bGwpO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5jb2RGb3JtU3RlcFR3by5jb250cm9sc1snYWdlJ10uc2V0VmFsdWUoYWdlKTtcbiAgICAgIH1cbiAgICB9KVxuICB9XG5cbiAgZ2V0UGFyYW1ldGVycygpe1xuICAgIC8vIHRoaXMuaWRUeXBlcyA9dGhpcy5wYXJhbWV0ZXJzQWxsPy5UeXBlSWRDYXJkQnlDb3VudHJ5Q29sO1xuICAgIHRoaXMuaW5kaWNhdGl2ZXMgPXRoaXMucGFyYW1ldGVyc0FsbD8uaW5kaWNhdGl2ZXM7XG4gICAgdGhpcy5jb3VudHJpZXMgPXRoaXMucGFyYW1ldGVyc0FsbD8uY291bnRyeTtcbiAgICB0aGlzLnN0cmF0dW1zID10aGlzLnBhcmFtZXRlcnNBbGw/LnN0cmF0dW07XG4gICAgdGhpcy5jaXZpbFN0YXR1cyA9dGhpcy5wYXJhbWV0ZXJzQWxsPy5jaXZpbFN0YXR1cztcbiAgICB0aGlzLmNpdGllcyA9dGhpcy5wYXJhbWV0ZXJzQWxsPy5jaXR5O1xuICAgIHRoaXMuc3RhdGVzID10aGlzLnBhcmFtZXRlcnNBbGw/LlN0YXRlO1xuICAgIC8vIHRoaXMuZ2VuZGVycyA9dGhpcy5wYXJhbWV0ZXJzQWxsPy5nZW5kZXI7XG4gICAgaWYgKHRoaXMucGFyYW1ldGVyc0FsbCAmJiB0aGlzLnBhcmFtZXRlcnNBbGwuZ2VuZGVyKSB7XG4gICAgICAvLyBUcmFuc2Zvcm1hciBnZW5kZXIgZW4gdW4gYXJyZWdsbyBkZSB7IGNvZGUsIG5hbWUgfVxuICAgICAgdGhpcy5nZW5kZXJzID0gdGhpcy5wYXJhbWV0ZXJzQWxsLmdlbmRlci5tYXAoKGdlbmRlcjogYW55KSA9PiAoe1xuICAgICAgICBjb2RlOiBnZW5kZXIuY29kZSxcbiAgICAgICAgbmFtZTogZ2VuZGVyLm5hbWVfc3BhbmlzaFxuICAgICAgfSkpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmdlbmRlcnMgPSBbXTtcbiAgICB9XG4gIH1cblxuICBzZW5kRm9ybSgpIHtcbiAgICB0aGlzLmNvZEZvcm1TdGVwVHdvLm1hcmtBbGxBc1RvdWNoZWQoKTtcbiAgICBpZiAodGhpcy5jb2RGb3JtU3RlcFR3by5pbnZhbGlkKSByZXR1cm47XG5cbiAgICAvLyBNb3Zlcm5vcyBhbCBwYXNvIDNcbiAgICB0aGlzLmNoYW5nZVN0ZXBFdmVudC5lbWl0KDIpO1xuICB9XG5cbiAgZ2V0U3RhdGUoc3RhdGU6IGFueSkge1xuICAgIHRoaXMuZ2V0Q2l0eShzdGF0ZSk7XG4gIH1cblxuICBnZXRDaXR5KHN0YXRlOiBhbnkpIHtcbiAgICBjb25zdCBzdGF0ZU51bWJlciA9IHR5cGVvZiBzdGF0ZSA9PT0gJ3N0cmluZycgPyBwYXJzZUludChzdGF0ZSwgMTApIDogc3RhdGU7XG4gICAgXG4gICAgaWYgKHRoaXMucGFyYW1ldGVyc0FsbCAmJiB0aGlzLnBhcmFtZXRlcnNBbGw/LmNpdHkpIHtcbiAgXG4gICAgICB0aGlzLmNpdGllcyA9IHRoaXMucGFyYW1ldGVyc0FsbC5jaXR5LmZpbHRlcigoY291cnNlKSA9PiB7XG4gICAgICAgIGNvbnN0IGFjYWRlbWljUGxhbiA9IHR5cGVvZiBjb3Vyc2Uuc3RhdGUgPT09ICdzdHJpbmcnIFxuICAgICAgICAgID8gcGFyc2VJbnQoY291cnNlLnN0YXRlLCAxMCkgXG4gICAgICAgICAgOiBjb3Vyc2Uuc3RhdGU7XG4gICAgICAgIHJldHVybiBhY2FkZW1pY1BsYW4gPT09IHN0YXRlTnVtYmVyO1xuICAgICAgfSk7XG4gIFxuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmNpdGllcyA9IFtdO1xuICAgIH1cbiAgICB0aGlzLnNlbGVjdENpdHkodGhpcy5sb2NhbFN0b3JhZ2VDT0QuZ2V0Q29kRm9ybURhdGEoMiwgJ2NpdHknKSk7XG4gIH1cblxuICBzZWxlY3RDb3VudHJ5KGNvdW50cnk6IGFueSl7XG4gICAgY29uc3QgY291bnRyeU51bWJlciA9IHR5cGVvZiBjb3VudHJ5ID09PSAnc3RyaW5nJyA/IHBhcnNlSW50KGNvdW50cnksIDEwKSA6IGNvdW50cnk7XG4gICAgaWYgKGNvdW50cnkgIT0gbnVsbCkge1xuICAgICAgdGhpcy5jb2RGb3JtU3RlcFR3by5jb250cm9sc1snY291bnRyeSddLnNldFZhbHVlKGNvdW50cnkpO1xuICAgICAgaWYgKHRoaXMucGFyYW1ldGVyc0FsbCAmJiB0aGlzLnBhcmFtZXRlcnNBbGw/LlN0YXRlKSB7XG4gICAgICAgIHRoaXMuc3RhdGVzID0gdGhpcy5wYXJhbWV0ZXJzQWxsLlN0YXRlLmZpbHRlcigoY291cnNlKSA9PiB7XG4gICAgICAgICAgY29uc3Qgc3RhdGUgPSB0eXBlb2YgY291cnNlLmNvdW50cnkgPT09ICdzdHJpbmcnIFxuICAgICAgICAgICAgPyBwYXJzZUludChjb3Vyc2UuY291bnRyeSwgMTApIFxuICAgICAgICAgICAgOiBjb3Vyc2UuY291bnRyeTtcbiAgICAgICAgICByZXR1cm4gc3RhdGUgPT09IGNvdW50cnlOdW1iZXI7XG4gICAgICAgIH0pO1xuICAgICAgICB0aGlzLnNlbGVjdFN0YXRlKHRoaXMubG9jYWxTdG9yYWdlQ09ELmdldENvZEZvcm1EYXRhKDIsICdzdGF0ZScpKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMuc3RhdGVzID0gW107XG4gICAgICB9XG4gICAgfWVsc2Uge1xuICAgICAgdGhpcy5jb2RGb3JtU3RlcFR3by5jb250cm9sc1snY291bnRyeSddLnNldFZhbHVlKG51bGwpO1xuICAgIH1cbiAgfVxuXG4gIHNlbGVjdFN0YXRlKHN0YXRlOiBhbnkpIHtcbiAgICBpZiAoc3RhdGUgIT09ICdEZXBhcnRhbWVudG8gbyBlc3RhZG8nKSB7XG4gICAgICB0aGlzLmNvZEZvcm1TdGVwVHdvLmNvbnRyb2xzWydzdGF0ZSddLnNldFZhbHVlKHN0YXRlKTtcbiAgICAgIHRoaXMuZ2V0U3RhdGUoc3RhdGUpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmNvZEZvcm1TdGVwVHdvLmNvbnRyb2xzWydzdGF0ZSddLnNldFZhbHVlKG51bGwpO1xuICAgICAgdGhpcy5jb2RGb3JtU3RlcFR3by5jb250cm9sc1snY2l0eSddLnNldFZhbHVlKG51bGwpO1xuICAgICAgdGhpcy5jaXRpZXMgPSBbXTtcbiAgICB9XG4gIH1cblxuICBzZWxlY3RDaXR5KGNpdHk6IGFueSkge1xuICAgIGlmIChjaXR5ICE9PSAnQ2l1ZGFkIGRlIHJlc2lkZW5jaWEnKSB7XG4gICAgICB0aGlzLmNvZEZvcm1TdGVwVHdvLmNvbnRyb2xzWydjaXR5J10uc2V0VmFsdWUoY2l0eSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuY29kRm9ybVN0ZXBUd28uY29udHJvbHNbJ2NpdHknXS5zZXRWYWx1ZShudWxsKTtcbiAgICB9XG4gIH1cblxuICBzZWxlY3RJZFR5cGUoaWRUeXBlOiBhbnkpIHtcbiAgICBpZiAoaWRUeXBlICE9PSAnVGlwbyBkZSBkb2N1bWVudG8nKSB7XG4gICAgICB0aGlzLmNvZEZvcm1TdGVwVHdvLmNvbnRyb2xzWydzdHVkZW50X2lkX2NhcmRfdHlwZSddLnNldFZhbHVlKGlkVHlwZSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuY29kRm9ybVN0ZXBUd28uY29udHJvbHNbJ3N0dWRlbnRfaWRfY2FyZF90eXBlJ10uc2V0VmFsdWUobnVsbCk7XG4gICAgfVxuICB9XG5cbiAgc2VsZWN0SW5kaWNhdGl2ZXMoaW5kaWNhdGl2ZTogYW55KSB7XG4gICAgaWYgKGluZGljYXRpdmUgIT09ICdJbmRpY2F0aXZvJykge1xuICAgICAgdGhpcy5jb2RGb3JtU3RlcFR3by5jb250cm9sc1snc3R1ZGVudF9waG9uZV9pbmRpY2F0aXZlJ10uc2V0VmFsdWUoaW5kaWNhdGl2ZSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuY29kRm9ybVN0ZXBUd28uY29udHJvbHNbJ3N0dWRlbnRfcGhvbmVfaW5kaWNhdGl2ZSddLnNldFZhbHVlKG51bGwpO1xuICAgIH1cbiAgfVxuXG4gIHNlbGVjdEdlbmRlcihnZW5kZXI6IGFueSkge1xuICAgIGlmIChnZW5kZXIgIT09ICdHw6luZXJvJykge1xuICAgICAgdGhpcy5jb2RGb3JtU3RlcFR3by5jb250cm9sc1snZ2VuZGVyJ10uc2V0VmFsdWUoZ2VuZGVyKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5jb2RGb3JtU3RlcFR3by5jb250cm9sc1snZ2VuZGVyJ10uc2V0VmFsdWUobnVsbCk7XG4gICAgfVxuICB9XG5cbiAgc2VsZWN0U3RyYXR1bShzdHJhdHVtOiBhbnkpIHtcbiAgICBpZiAoc3RyYXR1bSAhPT0gJ0VzdHJhdG8nKSB7XG4gICAgICB0aGlzLmNvZEZvcm1TdGVwVHdvLmNvbnRyb2xzWydzdHJhdHVtJ10uc2V0VmFsdWUoc3RyYXR1bSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuY29kRm9ybVN0ZXBUd28uY29udHJvbHNbJ3N0cmF0dW0nXS5zZXRWYWx1ZShudWxsKTtcbiAgICB9XG4gIH1cblxuICBzZWxlY3RDaXZpbFN0YXR1cyhjaXZpbF9zdGF0dXM6IGFueSkge1xuICAgIGlmIChjaXZpbF9zdGF0dXMgIT09ICdFc3RhZG8gY2l2aWwnKSB7XG4gICAgICB0aGlzLmNvZEZvcm1TdGVwVHdvLmNvbnRyb2xzWydjaXZpbF9zdGF0dXMnXS5zZXRWYWx1ZShjaXZpbF9zdGF0dXMpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmNvZEZvcm1TdGVwVHdvLmNvbnRyb2xzWydjaXZpbF9zdGF0dXMnXS5zZXRWYWx1ZShudWxsKTtcbiAgICB9XG4gIH1cblxuICB0cmFja1N0dWRlbnRJZENhcmRDaGFuZ2VzKCkge1xuICAgIGNvbnNvbGUubG9nKCdlbnRybyBhcXVpJyk7XG4gICAgdGhpcy5jb2RGb3JtU3RlcFR3by5jb250cm9sc1snc3R1ZGVudF9pZF9jYXJkJ10udmFsdWVDaGFuZ2VzLnBpcGUoXG4gICAgKS5zdWJzY3JpYmUodmFsdWUgPT4ge1xuICAgICAgY29uc29sZS5sb2coJ3N0dWRlbnRfaWRfY2FyZCB2YWx1ZTonLCB2YWx1ZSk7IC8vIERlcHVyYWNpw7NuXG4gICAgICBpZiAodmFsdWUgJiYgL1thLXpBLVpdLy50ZXN0KHZhbHVlKSkge1xuICAgICAgICBjb25zb2xlLmxvZygnQ29udGFpbnMgbGV0dGVycywgZmlsdGVyaW5nIGlkVHlwZXMnKTsgLy8gRGVwdXJhY2nDs25cbiAgICAgICAgdGhpcy5maWx0ZXJJZFR5cGVzKFswLCAxLCAyLCA3XSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBjb25zb2xlLmxvZygnTm8gbGV0dGVycywgcmVzdG9yaW5nIGlkVHlwZXMnKTsgLy8gRGVwdXJhY2nDs25cbiAgICAgICAgdGhpcy5pZFR5cGVzID0gdGhpcy5wYXJhbWV0ZXJzQWxsPy5UeXBlSWRDYXJkQnlDb3VudHJ5Q29sO1xuICAgICAgfVxuICAgICAgY29uc29sZS5sb2coJ0N1cnJlbnQgaWRUeXBlczonLCB0aGlzLmlkVHlwZXMpOyAvLyBEZXB1cmFjacOzblxuICAgIH0pO1xuICB9XG4gICAgXG4gIGZpbHRlcklkVHlwZXMocG9zaXRpb25zVG9SZW1vdmU6IG51bWJlcltdKSB7XG4gICAgaWYgKHRoaXMuaWRUeXBlcyAmJiBBcnJheS5pc0FycmF5KHRoaXMuaWRUeXBlcykpIHtcbiAgICAgIC8vIENyZWFyIHVuYSBjb3BpYSBkZSBpZFR5cGVzIHBhcmEgZXZpdGFyIG11dGFyIGVsIG9yaWdpbmFsIGRpcmVjdGFtZW50ZVxuICAgICAgbGV0IGZpbHRlcmVkSWRUeXBlcyA9IFsuLi50aGlzLmlkVHlwZXNdO1xuICAgICAgLy8gT3JkZW5hciBsYXMgcG9zaWNpb25lcyBkZSBtYXlvciBhIG1lbm9yIHBhcmEgZXZpdGFyIHByb2JsZW1hcyBhbCBlbGltaW5hclxuICAgICAgY29uc3Qgc29ydGVkUG9zaXRpb25zID0gcG9zaXRpb25zVG9SZW1vdmUuc29ydCgoYSwgYikgPT4gYiAtIGEpO1xuICAgICAgLy8gRWxpbWluYXIgcmVnaXN0cm9zIGVuIGxhcyBwb3NpY2lvbmVzIGVzcGVjaWZpY2FkYXNcbiAgICAgIHNvcnRlZFBvc2l0aW9ucy5mb3JFYWNoKHBvc2l0aW9uID0+IHtcbiAgICAgICAgaWYgKHBvc2l0aW9uID49IDAgJiYgcG9zaXRpb24gPCBmaWx0ZXJlZElkVHlwZXMubGVuZ3RoKSB7XG4gICAgICAgICAgZmlsdGVyZWRJZFR5cGVzLnNwbGljZShwb3NpdGlvbiwgMSk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgICAgdGhpcy5pZFR5cGVzID0gZmlsdGVyZWRJZFR5cGVzO1xuICAgIH1cbiAgfVxufVxuIiwiPGZvcm0gYXV0b2NvbXBsZXRlPVwib2ZmXCIgW2Zvcm1Hcm91cF09XCJjb2RGb3JtU3RlcFR3b1wiIGNsYXNzPVwiZ3JpZFwiPlxuXG4gIDxkaXYgY2xhc3M9XCJjb2xcIj5cbiAgICA8aXB0LWlucHV0XG4gICAgICBbaW5wdXRUeXBlXT1cIid0ZXh0J1wiXG4gICAgICBbcGxhY2VIb2xkZXJdPVwiJ05vbWJyZXMnXCJcbiAgICAgIFtjb250cm9sXT1cImNvZEZvcm1TdGVwVHdvLmNvbnRyb2xzWydzdHVkZW50X25hbWUnXVwiXG4gICAgPjwvaXB0LWlucHV0PlxuICAgIDxpcHQtc2VsZWN0XG4gICAgICBbaW5pdGlhbFZhbHVlXT1cImNvZEZvcm1TdGVwVHdvLmNvbnRyb2xzWydzdHVkZW50X2lkX2NhcmRfdHlwZSddLnZhbHVlXCJcbiAgICAgIFtjb250cm9sXT1cImNvZEZvcm1TdGVwVHdvLmNvbnRyb2xzWydzdHVkZW50X2lkX2NhcmRfdHlwZSddXCJcbiAgICAgIFtzZWxlY3RDb2RlXT1cImNvZEZvcm1TdGVwVHdvLmNvbnRyb2xzWydzdHVkZW50X2lkX2NhcmRfdHlwZSddLnZhbHVlID09PSBudWxsID8gJ1RpcG8gZGUgZG9jdW1lbnRvJyA6IGNvZEZvcm1TdGVwVHdvLmNvbnRyb2xzWydzdHVkZW50X2lkX2NhcmRfdHlwZSddLnZhbHVlXCJcbiAgICAgIFtpc1JlcXVpcmVkXT1cInRydWVcIlxuICAgICAgW2RhdGFdPVwiaWRUeXBlc1wiXG4gICAgICAoZXZlbnRTZWxlY3QpPVwic2VsZWN0SWRUeXBlKCRldmVudClcIlxuICAgICAgW2RlZmF1bHRUZXh0XT1cIidUaXBvIGRlIGRvY3VtZW50bydcIlxuICAgID48L2lwdC1zZWxlY3Q+XG4gICAgPGlwdC1zZWxlY3RcbiAgICAgIFtpbml0aWFsVmFsdWVdPVwiY29kRm9ybVN0ZXBUd28uY29udHJvbHNbJ2NvdW50cnknXS52YWx1ZVwiXG4gICAgICBbY29udHJvbF09XCJjb2RGb3JtU3RlcFR3by5jb250cm9sc1snY291bnRyeSddXCJcbiAgICAgIFtzZWxlY3RDb2RlXT1cImNvZEZvcm1TdGVwVHdvLmNvbnRyb2xzWydjb3VudHJ5J10udmFsdWUgPT09IG51bGwgPyAnUGHDrXMgZGUgcmVzaWRlbmNpYScgOiBjb2RGb3JtU3RlcFR3by5jb250cm9sc1snY291bnRyeSddLnZhbHVlXCJcbiAgICAgIChldmVudFNlbGVjdCk9XCJzZWxlY3RDb3VudHJ5KCRldmVudClcIlxuICAgICAgW2RhdGFdPVwiY291bnRyaWVzXCJcbiAgICAgIFtkZWZhdWx0VGV4dF09XCInUGHDrXMgZGUgcmVzaWRlbmNpYSdcIlxuICAgID48L2lwdC1zZWxlY3Q+XG4gICAgPGlwdC1zZWxlY3RcbiAgICAgIFtpbml0aWFsVmFsdWVdPVwiY29kRm9ybVN0ZXBUd28uY29udHJvbHNbJ2NpdHknXS52YWx1ZVwiXG4gICAgICBbY29udHJvbF09XCJjb2RGb3JtU3RlcFR3by5jb250cm9sc1snY2l0eSddXCJcbiAgICAgIFtzZWxlY3RDb2RlXT1cImNvZEZvcm1TdGVwVHdvLmNvbnRyb2xzWydjaXR5J10udmFsdWUgPT09IG51bGwgPyAnQ2l1ZGFkIGRlIHJlc2lkZW5jaWEnIDogY29kRm9ybVN0ZXBUd28uY29udHJvbHNbJ2NpdHknXS52YWx1ZVwiXG4gICAgICAoZXZlbnRTZWxlY3QpPVwic2VsZWN0Q2l0eSgkZXZlbnQpXCJcbiAgICAgIFtkYXRhXT1cImNpdGllc1wiXG4gICAgICBbZGVmYXVsdFRleHRdPVwiJ0NpdWRhZCBkZSByZXNpZGVuY2lhJ1wiXG4gICAgPjwvaXB0LXNlbGVjdD5cbiAgICA8aXB0LWlucHV0XG4gICAgICBvbmZvY3VzPVwiKHRoaXMudHlwZT0nZGF0ZScpXCJcbiAgICAgIFtpbnB1dFR5cGVdPVwiJ2RhdGUnXCJcbiAgICAgIFtjb250cm9sXT1cImNvZEZvcm1TdGVwVHdvLmNvbnRyb2xzWydiaXJ0aGRhdGUnXVwiXG4gICAgICBbcGxhY2VIb2xkZXJdPVwiJ0ZlY2hhIGRlIG5hY2ltaWVudG8nXCJcbiAgICA+PC9pcHQtaW5wdXQ+XG4gICAgIDxpcHQtc2VsZWN0XG4gICAgICBbaW5pdGlhbFZhbHVlXT1cImNvZEZvcm1TdGVwVHdvLmNvbnRyb2xzWydnZW5kZXInXS52YWx1ZVwiXG4gICAgICBbY29udHJvbF09XCJjb2RGb3JtU3RlcFR3by5jb250cm9sc1snZ2VuZGVyJ11cIlxuICAgICAgW2RhdGFdPVwiZ2VuZGVyc1wiXG4gICAgICAoZXZlbnRTZWxlY3QpPVwic2VsZWN0R2VuZGVyKCRldmVudClcIlxuICAgICAgW2RlZmF1bHRUZXh0XT1cIidHw6luZXJvJ1wiXG4gICAgPjwvaXB0LXNlbGVjdD5cbiAgICA8aXB0LXNlbGVjdFxuICAgICAgW2luaXRpYWxWYWx1ZV09XCJjb2RGb3JtU3RlcFR3by5jb250cm9sc1snc3RyYXR1bSddLnZhbHVlXCJcbiAgICAgIFtjb250cm9sXT1cImNvZEZvcm1TdGVwVHdvLmNvbnRyb2xzWydzdHJhdHVtJ11cIlxuICAgICAgW2RhdGFdPVwic3RyYXR1bXNcIlxuICAgICAgKGV2ZW50U2VsZWN0KT1cInNlbGVjdFN0cmF0dW0oJGV2ZW50KVwiXG4gICAgICBbZGVmYXVsdFRleHRdPVwiJ0VzdHJhdG8nXCJcbiAgICA+PC9pcHQtc2VsZWN0PlxuICAgIDxpcHQtaW5wdXRcbiAgICAgIFtpbnB1dFR5cGVdPVwiJ3RleHQnXCJcbiAgICAgIFtwbGFjZUhvbGRlcl09XCInR3JhZG8nXCJcbiAgICAgIFtjb250cm9sXT1cImNvZEZvcm1TdGVwVHdvLmNvbnRyb2xzWydncmFkZSddXCJcbiAgICA+PC9pcHQtaW5wdXQ+XG4gICAgPGlwdC1zZWxlY3RcbiAgICAgIFtpbml0aWFsVmFsdWVdPVwiY29kRm9ybVN0ZXBUd28uY29udHJvbHNbJ3N0dWRlbnRfcGhvbmVfaW5kaWNhdGl2ZSddLnZhbHVlXCJcbiAgICAgIFtjb250cm9sXT1cImNvZEZvcm1TdGVwVHdvLmNvbnRyb2xzWydzdHVkZW50X3Bob25lX2luZGljYXRpdmUnXVwiXG4gICAgICBbZGF0YV09XCJpbmRpY2F0aXZlc1wiXG4gICAgICAoZXZlbnRTZWxlY3QpPVwic2VsZWN0SW5kaWNhdGl2ZXMoJGV2ZW50KVwiXG4gICAgICBbZGVmYXVsdFRleHRdPVwiJ0luZGljYXRpdm8nXCJcbiAgICA+PC9pcHQtc2VsZWN0PlxuICAgIDxpcHQtaW5wdXRcbiAgICAgIFtpbnB1dFR5cGVdPVwiJ2VtYWlsJ1wiXG4gICAgICBbcGxhY2VIb2xkZXJdPVwiJ0NvcnJlbyBlbGVjdHLDs25pY28nXCJcbiAgICAgIFtjb250cm9sXT1cImNvZEZvcm1TdGVwVHdvLmNvbnRyb2xzWydzdHVkZW50X2VtYWlsJ11cIlxuICAgID48L2lwdC1pbnB1dD5cbiAgICA8aXB0LWlucHV0XG4gICAgICBbaW5wdXRUeXBlXT1cIidwYXNzd29yZCdcIlxuICAgICAgW3BsYWNlSG9sZGVyXT1cIidSZXBldGlyIGNvbnRyYXNlw7FhJ1wiXG4gICAgICBbY29udHJvbF09XCJjb2RGb3JtU3RlcFR3by5jb250cm9sc1sncmVfcGFzc3dvcmQnXVwiXG4gICAgPjwvaXB0LWlucHV0PlxuICA8L2Rpdj5cblxuICA8ZGl2IGNsYXNzPVwiY29sXCI+XG4gICAgPGlwdC1pbnB1dFxuICAgICAgW2lucHV0VHlwZV09XCIndGV4dCdcIlxuICAgICAgW3BsYWNlSG9sZGVyXT1cIidBcGVsbGlkb3MnXCJcbiAgICAgIFtjb250cm9sXT1cImNvZEZvcm1TdGVwVHdvLmNvbnRyb2xzWydzdHVkZW50X2xhc3RfbmFtZSddXCJcbiAgICA+PC9pcHQtaW5wdXQ+XG4gICAgPGlwdC1pbnB1dFxuICAgICAgW2lucHV0VHlwZV09XCIndGV4dCdcIlxuICAgICAgW3BsYWNlSG9sZGVyXT1cIidOw7ptZXJvIGRlIGRvY3VtZW50bydcIlxuICAgICAgW2NvbnRyb2xdPVwiY29kRm9ybVN0ZXBUd28uY29udHJvbHNbJ3N0dWRlbnRfaWRfY2FyZCddXCJcbiAgICA+PC9pcHQtaW5wdXQ+XG4gICAgPGlwdC1zZWxlY3RcbiAgICAgIFtpbml0aWFsVmFsdWVdPVwiY29kRm9ybVN0ZXBUd28uY29udHJvbHNbJ3N0YXRlJ10udmFsdWVcIlxuICAgICAgW2NvbnRyb2xdPVwiY29kRm9ybVN0ZXBUd28uY29udHJvbHNbJ3N0YXRlJ11cIlxuICAgICAgW3NlbGVjdENvZGVdPVwiY29kRm9ybVN0ZXBUd28uY29udHJvbHNbJ3N0YXRlJ10udmFsdWUgPT09IG51bGwgPyAnRGVwYXJ0YW1lbnRvIG8gZXN0YWRvJyA6IGNvZEZvcm1TdGVwVHdvLmNvbnRyb2xzWydzdGF0ZSddLnZhbHVlXCJcbiAgICAgIFtpc1JlcXVpcmVkXT1cInRydWVcIlxuICAgICAgKGV2ZW50U2VsZWN0KT1cInNlbGVjdFN0YXRlKCRldmVudClcIlxuICAgICAgW2RhdGFdPVwic3RhdGVzXCJcbiAgICAgIFtkZWZhdWx0VGV4dF09XCInRGVwYXJ0YW1lbnRvIG8gZXN0YWRvJ1wiXG4gICAgPjwvaXB0LXNlbGVjdD5cbiAgICA8aXB0LWlucHV0XG4gICAgICBbaW5wdXRUeXBlXT1cIid0ZXh0J1wiXG4gICAgICBbcGxhY2VIb2xkZXJdPVwiJ0RpcmVjY2nDs24nXCJcbiAgICAgIFtjb250cm9sXT1cImNvZEZvcm1TdGVwVHdvLmNvbnRyb2xzWydzdHVkZW50X2FkZHJlc3MnXVwiXG4gICAgPjwvaXB0LWlucHV0PlxuICAgIDxpcHQtaW5wdXRcbiAgICAgIFtpbnB1dFR5cGVdPVwiJ251bWJlcidcIlxuICAgICAgW3BsYWNlSG9sZGVyXT1cIidFZGFkJ1wiXG4gICAgICBbY29udHJvbF09XCJjb2RGb3JtU3RlcFR3by5jb250cm9sc1snYWdlJ11cIlxuICAgID48L2lwdC1pbnB1dD5cbiAgICA8aXB0LWlucHV0XG4gICAgICBbaW5wdXRUeXBlXT1cIid0ZXh0J1wiXG4gICAgICBbcGxhY2VIb2xkZXJdPVwiJ05pY2tuYW1lJ1wiXG4gICAgICBbY29udHJvbF09XCJjb2RGb3JtU3RlcFR3by5jb250cm9sc1snbmlja25hbWUnXVwiXG4gICAgPjwvaXB0LWlucHV0PlxuICAgIDxpcHQtaW5wdXRcbiAgICAgIFtpbnB1dFR5cGVdPVwiJ3RleHQnXCJcbiAgICAgIFtwbGFjZUhvbGRlcl09XCInT2N1cGFjacOzbidcIlxuICAgICAgW2NvbnRyb2xdPVwiY29kRm9ybVN0ZXBUd28uY29udHJvbHNbJ3N0dWRlbnRfb2NjdXBhdGlvbiddXCJcbiAgICA+PC9pcHQtaW5wdXQ+XG4gICAgPGlwdC1zZWxlY3RcbiAgICAgIFtpbml0aWFsVmFsdWVdPVwiY29kRm9ybVN0ZXBUd28uY29udHJvbHNbJ2NpdmlsX3N0YXR1cyddLnZhbHVlXCJcbiAgICAgIFtjb250cm9sXT1cImNvZEZvcm1TdGVwVHdvLmNvbnRyb2xzWydjaXZpbF9zdGF0dXMnXVwiXG4gICAgICBbZGF0YV09XCJjaXZpbFN0YXR1c1wiXG4gICAgICAoZXZlbnRTZWxlY3QpPVwic2VsZWN0Q2l2aWxTdGF0dXMoJGV2ZW50KVwiXG4gICAgICBbZGVmYXVsdFRleHRdPVwiJ0VzdGFkbyBjaXZpbCdcIlxuICAgID48L2lwdC1zZWxlY3Q+XG4gICAgPGlwdC1pbnB1dFxuICAgICAgW2lucHV0VHlwZV09XCInbnVtYmVyJ1wiXG4gICAgICBbcGxhY2VIb2xkZXJdPVwiJ07Dum1lcm8gZGUgdGVsw6lmb25vJ1wiXG4gICAgICBbY29udHJvbF09XCJjb2RGb3JtU3RlcFR3by5jb250cm9sc1snc3R1ZGVudF9waG9uZV9udW1iZXInXVwiXG4gICAgPjwvaXB0LWlucHV0PlxuICAgIDxpcHQtaW5wdXRcbiAgICAgIFtpbnB1dFR5cGVdPVwiJ3Bhc3N3b3JkJ1wiXG4gICAgICBbcGxhY2VIb2xkZXJdPVwiJ0NvbnRyYXNlw7FhJ1wiXG4gICAgICBbY29udHJvbF09XCJjb2RGb3JtU3RlcFR3by5jb250cm9sc1sncGFzc3dvcmQnXVwiXG4gICAgPjwvaXB0LWlucHV0PlxuICA8L2Rpdj5cblxuICA8ZGl2IGNsYXNzPVwiY29sLTEyXCI+PC9kaXY+XG5cbjwvZm9ybT5cblxuPGRpdiBjbGFzcz1cImZsZXggbXQtMyBhbGlnbi1pdGVtcy1jZW50ZXIgZ2FwLTNcIj5cbiAgPHNwYW4gKm5nSWY9XCJjb2RGb3JtU3RlcFR3by5pbnZhbGlkICYmIGNvZEZvcm1TdGVwVHdvLnRvdWNoZWRcIiBjbGFzcz1cInRleHQtcmVkLTUwMCBmb250LWJvbGQgdGV4dC1jZW50ZXIgbXQtMSBweS0yIGJnLXJlZC0xMDAgdy1mdWxsIGJvcmRlci1yb3VuZC14bFwiPnt7IGVycm9yTWVzc2FnZSB9fTwvc3Bhbj5cbiAgPGJ1dHRvbiB0eXBlPVwic3VibWl0XCIgW2NsYXNzXT1cImlzRWRpdENvZCA/ICdtbC1hdXRvIHllbGxvdy0zMDAgcC1idXR0b24tc20nIDogJ21sLWF1dG8gcC1idXR0b24tc20nXCIgKGNsaWNrKT1cInNlbmRGb3JtKClcIiBwQnV0dG9uIGxhYmVsPVwiU2lndWllbnRlXCIgaWNvbj1cInBpIHBpLWFycm93LXJpZ2h0XCI+PC9idXR0b24+XG48L2Rpdj5cbiJdfQ==
327
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29kLWZvcm0tc3RlcC10d28uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vZGVzaWduLXN5c3RlbS9zcmMvbGliL2NvZC9zdGVwcy9jb2QtZm9ybS1zdGVwLXR3by9jb2QtZm9ybS1zdGVwLXR3by5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9kZXNpZ24tc3lzdGVtL3NyYy9saWIvY29kL3N0ZXBzL2NvZC1mb3JtLXN0ZXAtdHdvL2NvZC1mb3JtLXN0ZXAtdHdvLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBd0IsTUFBTSxFQUFpQixNQUFNLGVBQWUsQ0FBQztBQUM1RyxPQUFPLEVBQTBCLFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3BFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUNoRSxPQUFPLEVBQUUsWUFBWSxFQUFzQixNQUFNLDRCQUE0QixDQUFDOzs7Ozs7O0FBTzlFLE1BQU0sT0FBTyx1QkFBd0IsU0FBUSxZQUFZO0lBdUJ2RCxZQUNVLEVBQWU7UUFFdkIsS0FBSyxFQUFFLENBQUM7UUFGQSxPQUFFLEdBQUYsRUFBRSxDQUFhO1FBcEJmLG9CQUFlLEdBQUcsSUFBSSxZQUFZLEVBQVUsQ0FBQztRQU92RCxpQkFBWSxHQUFXLDJCQUEyQixDQUFDO1FBQ25ELGNBQVMsR0FBWSxLQUFLLENBQUM7UUFJM0IsWUFBTyxHQUFRLEVBQUUsQ0FBQztRQUdsQiwwQkFBMEI7UUFDMUIsYUFBUSxHQUFHLElBQUksZUFBZSxFQUFFLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBTzdDLENBQUM7SUFFRCxXQUFXLENBQUMsT0FBc0I7UUFDaEMsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQ2hCLElBQUksQ0FBQyxxQkFBcUIsRUFB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QyxDQUFDLENBQUMsbURBQW1EO2FBQ25IO1lBQ0QsT0FBTyxDQUFDLEdBQUcsQ0FBQyxrQkFBa0IsRUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxhQUFhO1NBQzdEO2FBQU07WUFDTCxPQUFPLENBQUMsR0FBRyxDQUFDLHFDQUFxQyxDQUFDLENBQUMsQ0FBQyxhQUFhO1lBQ2pFLElBQUksQ0FBQyxPQUFPLEdBQUcsRUFBRSxDQUFDO1NBQ25CO0lBQ0gsQ0FBQzs7b0hBeFVVLHVCQUF1Qjt3R0FBdkIsdUJBQXVCLDBQQ1ZwQyxzcUxBZ0pBOzJGRHRJYSx1QkFBdUI7a0JBTG5DLFNBQVM7K0JBQ0UsdUJBQXVCO2tHQUt4QixXQUFXO3NCQUFuQixLQUFLO2dCQUNHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBQ0csYUFBYTtzQkFBckIsS0FBSztnQkFDSSxlQUFlO3NCQUF4QixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkNoYW5nZXMsIE9uRGVzdHJveSwgT3V0cHV0LCBTaW1wbGVDaGFuZ2VzIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb3JtR3JvdXAsIEZvcm1CdWlsZGVyLCBWYWxpZGF0b3JzIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgQ29kRm9ybUNvbnRyb2xzIH0gZnJvbSAnLi4vLi4vbG9naWMvY29kLWZvcm0tY29udHJvbHMnO1xuaW1wb3J0IHsgQ29kRm9ybVN0ZXBzLCBsb2NhbFN0b3JhZ2VWYWx1ZXMgfSBmcm9tICcuLi8uLi9sb2dpYy9jb2QtZm9ybS1zdGVwcyc7XG5pbXBvcnQgeyBJUGFyYW1ldGVyc0FsbFJzIH0gZnJvbSAnLi4vLi4vLi4vY29yZS9tb2RlbHMvcGFyYW1ldGVycy9wYXJhbWV0ZXJzLXJzLm1vZGVsJztcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2FwcC1jb2QtZm9ybS1zdGVwLXR3bycsXG4gIHRlbXBsYXRlVXJsOiAnLi9jb2QtZm9ybS1zdGVwLXR3by5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2NvZC1mb3JtLXN0ZXAtdHdvLmNvbXBvbmVudC5jc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBDb2RGb3JtU3RlcFR3b0NvbXBvbmVudCBleHRlbmRzIENvZEZvcm1TdGVwcyBpbXBsZW1lbnRzIE9uQ2hhbmdlcyB7XG4gIEBJbnB1dCgpIGluaXRpYWxEYXRhPzogYW55O1xuICBASW5wdXQoKSBpc0VkaXRDb2Q/OiBib29sZWFuO1xuICBASW5wdXQoKSBwYXJhbWV0ZXJzQWxsPzpJUGFyYW1ldGVyc0FsbFJzO1xuICBAT3V0cHV0KCkgY2hhbmdlU3RlcEV2ZW50ID0gbmV3IEV2ZW50RW1pdHRlcjxudW1iZXI+KCk7XG5cbiAgY29kRm9ybVN0ZXBUd28hOiBGb3JtR3JvdXA7XG4gIGNvdW50cnlTZWxlY3RlZDogYW55O1xuICBjb3VudHJpZXM6IGFueTtcbiAgc3RhdGVzOiBhbnk7XG4gIGNpdGllczogYW55O1xuICBlcnJvck1lc3NhZ2U6IHN0cmluZyA9ICdGYWx0YW4gY2FtcG9zIHBvciBsbGVuYXIuJztcbiAgaGFzRXJyb3JzOiBib29sZWFuID0gZmFsc2U7XG4gIGlkVHlwZXM6IGFueTtcbiAgaW5kaWNhdGl2ZXM6IGFueTtcbiAgY2l2aWxTdGF0dXM6IGFueTtcbiAgZ2VuZGVyczogYW55W109W107XG4gIHN0cmF0dW1zOiBhbnk7XG5cbiAgLy8gQ29udHJvbHMgZGVsIGZvcm11bGFyaW9cbiAgY29udHJvbHMgPSBuZXcgQ29kRm9ybUNvbnRyb2xzKCkuY29udHJvbHNbMV07XG4gIGRhdGFDb3VudHJ5OiBhbnk7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBmYjogRm9ybUJ1aWxkZXIsXG4gICkge1xuICAgIHN1cGVyKCk7XG4gIH1cblxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XG4gICAgdGhpcy5pbml0Rm9ybSgpO1xuICAgIHRoaXMuc3RhcnRMb2NhbFN0b3JhZ2VXb3JrKCk7XG4gICAgdGhpcy52YWxpZGF0ZUVycm9ycygpO1xuICAgIHRoaXMudHJhY2tTdHVkZW50SWRDYXJkQ2hhbmdlcygpO1xuICAgIHRoaXMuZ2V0UGFyYW1ldGVycygpO1xuICAgIGlmIChjaGFuZ2VzWydpbml0aWFsRGF0YSddKSB7XG4gICAgICBpZiAodGhpcy5pbml0aWFsRGF0YSAhPSBudWxsKSB7XG4gICAgICAgIGlmICh0aGlzLmluaXRpYWxEYXRhLnN0dWRlbnQgIT0gbnVsbCkge1xuICAgICAgICAgIHRoaXMuc2V0RGF0YUZyb21QcmV2aXVzQ29kKCk7XG4gICAgICAgIH1lbHNle1xuICAgICAgICAgIHRoaXMuc2V0RGF0YUZyb21Vc2VySGlzdG9yeSgpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cblxuICBzZXREYXRhRnJvbVVzZXJIaXN0b3J5KCl7XG4gICAgdGhpcy5jb2RGb3JtU3RlcFR3by5jb250cm9sc1snc3R1ZGVudF9uYW1lJ10uc2V0VmFsdWUodGhpcy5pbml0aWFsRGF0YS5uYW1lKTtcbiAgICB0aGlzLmNvZEZvcm1TdGVwVHdvLmNvbnRyb2xzWydzdHVkZW50X2xhc3RfbmFtZSddLnNldFZhbHVlKHRoaXMuaW5pdGlhbERhdGEubGFzdF9uYW1lKTtcbiAgICB0aGlzLmNvZEZvcm1TdGVwVHdvLmNvbnRyb2xzWydzdHVkZW50X2lkX2NhcmRfdHlwZSddLnNldFZhbHVlKHRoaXMuaW5pdGlhbERhdGEuaWRfY2FyZF90eXBlKTtcbiAgICB0aGlzLmNvZEZvcm1TdGVwVHdvLmNvbnRyb2xzWydzdHVkZW50X2lkX2NhcmQnXS5zZXRWYWx1ZSh0aGlzLmluaXRpYWxEYXRhLmlkX2NhcmQpO1xuICAgIHRoaXMuY29kRm9ybVN0ZXBUd28uY29udHJvbHNbJ2NvdW50cnknXS5zZXRWYWx1ZSh0aGlzLmluaXRpYWxEYXRhLmNpdHlbMF0/LmNvdW50cnkpO1xuICAgIHRoaXMuY29kRm9ybVN0ZXBUd28uY29udHJvbHNbJ3N0YXRlJ10uc2V0VmFsdWUodGhpcy5pbml0aWFsRGF0YS5jaXR5WzBdPy5zdGF0ZSk7XG4gICAgdGhpcy5jb2RGb3JtU3RlcFR3by5jb250cm9sc1snY2l0eSddLnNldFZhbHVlKHRoaXMuaW5pdGlhbERhdGEuY2l0eVswXT8uY29kZSk7XG4gICAgdGhpcy5jb2RGb3JtU3RlcFR3by5jb250cm9sc1snZ2VuZGVyJ10uc2V0VmFsdWUodGhpcy5pbml0aWFsRGF0YS5nZW5kZXIpO1xuICAgIHRoaXMuY29kRm9ybVN0ZXBUd28uY29udHJvbHNbJ25pY2tuYW1lJ10uc2V0VmFsdWUodGhpcy5pbml0aWFsRGF0YS5uaWNrX25hbWUpO1xuICAgIHRoaXMuY29kRm9ybVN0ZXBUd28uY29udHJvbHNbJ3N0dWRlbnRfcGhvbmVfaW5kaWNhdGl2ZSddLnNldFZhbHVlKHRoaXMuaW5pdGlhbERhdGEucGhvbmVfaW5kaWNhdGl2ZSk7XG4gICAgdGhpcy5jb2RGb3JtU3RlcFR3by5jb250cm9sc1snc3R1ZGVudF9waG9uZV9udW1iZXInXS5zZXRWYWx1ZSh0aGlzLmluaXRpYWxEYXRhLnBob25lX251bWJlcik7XG4gICAgdGhpcy5jb2RGb3JtU3RlcFR3by5jb250cm9sc1snYmlydGhkYXRlJ10uc2V0VmFsdWUodGhpcy5pbml0aWFsRGF0YS5iaXJ0aGRhdGUpO1xuICAgIHRoaXMuY29kRm9ybVN0ZXBUd28uY29udHJvbHNbJ3N0dWRlbnRfZW1haWwnXS5zZXRWYWx1ZSh0aGlzLmluaXRpYWxEYXRhLmVtYWlsKTtcbiAgICB0aGlzLmNvZEZvcm1TdGVwVHdvLmNvbnRyb2xzWydwYXNzd29yZCddLnNldFZhbHVlKHRoaXMuaW5pdGlhbERhdGEuaWRfY2FyZCk7XG4gICAgdGhpcy5jb2RGb3JtU3RlcFR3by5jb250cm9sc1sncmVfcGFzc3dvcmQnXS5zZXRWYWx1ZSh0aGlzLmluaXRpYWxEYXRhLmlkX2NhcmQpO1xuICB9XG5cbiAgc2V0RGF0YUZyb21QcmV2aXVzQ29kKCkge1xuICAgIHRoaXMuY29kRm9ybVN0ZXBUd28uY29udHJvbHNbJ3N0dWRlbnRfbmFtZSddLnNldFZhbHVlKHRoaXMuaW5pdGlhbERhdGEuc3R1ZGVudC5uYW1lKTtcbiAgICB0aGlzLmNvZEZvcm1TdGVwVHdvLmNvbnRyb2xzWydzdHVkZW50X2xhc3RfbmFtZSddLnNldFZhbHVlKHRoaXMuaW5pdGlhbERhdGEuc3R1ZGVudC5sYXN0X25hbWUpO1xuICAgIHRoaXMuY29kRm9ybVN0ZXBUd28uY29udHJvbHNbJ3N0dWRlbnRfaWRfY2FyZF90eXBlJ10uc2V0VmFsdWUodGhpcy5pbml0aWFsRGF0YS5zdHVkZW50LmlkX2NhcmRfdHlwZSk7XG4gICAgdGhpcy5jb2RGb3JtU3RlcFR3by5jb250cm9sc1snc3R1ZGVudF9pZF9jYXJkJ10uc2V0VmFsdWUodGhpcy5pbml0aWFsRGF0YS5zdHVkZW50LmlkX2NhcmQpO1xuICAgIHRoaXMuY29kRm9ybVN0ZXBUd28uY29udHJvbHNbJ2NvdW50cnknXS5zZXRWYWx1ZSh0aGlzLmluaXRpYWxEYXRhLnN0dWRlbnQuY2l0eVswXS5jb3VudHJ5KTtcbiAgICB0aGlzLmNvZEZvcm1TdGVwVHdvLmNvbnRyb2xzWydzdGF0ZSddLnNldFZhbHVlKHRoaXMuaW5pdGlhbERhdGEuc3R1ZGVudC5jaXR5WzBdLnN0YXRlKTtcbiAgICB0aGlzLmNvZEZvcm1TdGVwVHdvLmNvbnRyb2xzWydjaXR5J10uc2V0VmFsdWUodGhpcy5pbml0aWFsRGF0YS5zdHVkZW50LmNpdHlbMF0uY29kZSk7XG4gICAgdGhpcy5jb2RGb3JtU3RlcFR3by5jb250cm9sc1snc3R1ZGVudF9hZGRyZXNzJ10uc2V0VmFsdWUodGhpcy5pbml0aWFsRGF0YS5hZGl0aW9uYWxfaW5mb3JtYXRpb24uc3R1ZGVudF9hZGRyZXNzKTtcbiAgICB0aGlzLmNvZEZvcm1TdGVwVHdvLmNvbnRyb2xzWydnZW5kZXInXS5zZXRWYWx1ZSh0aGlzLmluaXRpYWxEYXRhLnN0dWRlbnQuZ2VuZGVyKTtcbiAgICB0aGlzLmNvZEZvcm1TdGVwVHdvLmNvbnRyb2xzWyduaWNrbmFtZSddLnNldFZhbHVlKHRoaXMuaW5pdGlhbERhdGEuc3R1ZGVudC5uaWNrX25hbWUpO1xuICAgIHRoaXMuY29kRm9ybVN0ZXBUd28uY29udHJvbHNbJ3N0cmF0dW0nXS5zZXRWYWx1ZSh0aGlzLmluaXRpYWxEYXRhLmFkaXRpb25hbF9pbmZvcm1hdGlvbi5zb2NpYWxfc3RyYXR1bSk7XG4gICAgdGhpcy5jb2RGb3JtU3RlcFR3by5jb250cm9sc1snc3R1ZGVudF9vY2N1cGF0aW9uJ10uc2V0VmFsdWUodGhpcy5pbml0aWFsRGF0YS5hZGl0aW9uYWxfaW5mb3JtYXRpb24uc3R1ZGVudF9vY2N1cGF0aW9uKTtcbiAgICB0aGlzLmNvZEZvcm1TdGVwVHdvLmNvbnRyb2xzWydncmFkZSddLnNldFZhbHVlKHRoaXMuaW5pdGlhbERhdGEuYWRpdGlvbmFsX2luZm9ybWF0aW9uLmVkdWNhdGlvbmFsX2xldmVsKTtcbiAgICB0aGlzLmNvZEZvcm1TdGVwVHdvLmNvbnRyb2xzWydjaXZpbF9zdGF0dXMnXS5zZXRWYWx1ZSh0aGlzLmluaXRpYWxEYXRhLmFkaXRpb25hbF9pbmZvcm1hdGlvbi5jaXZpbF9zdGF0dXMpO1xuICAgIHRoaXMuY29kRm9ybVN0ZXBUd28uY29udHJvbHNbJ3N0dWRlbnRfcGhvbmVfaW5kaWNhdGl2ZSddLnNldFZhbHVlKHRoaXMuaW5pdGlhbERhdGEuc3R1ZGVudC5waG9uZV9pbmRpY2F0aXZlKTtcbiAgICB0aGlzLmNvZEZvcm1TdGVwVHdvLmNvbnRyb2xzWydzdHVkZW50X3Bob25lX251bWJlciddLnNldFZhbHVlKHRoaXMuaW5pdGlhbERhdGEuc3R1ZGVudC5waG9uZV9udW1iZXIpO1xuICAgIHRoaXMuY29kRm9ybVN0ZXBUd28uY29udHJvbHNbJ2JpcnRoZGF0ZSddLnNldFZhbHVlKHRoaXMuaW5pdGlhbERhdGEuc3R1ZGVudC5iaXJ0aGRhdGUpO1xuICAgIHRoaXMuY29kRm9ybVN0ZXBUd28uY29udHJvbHNbJ3N0dWRlbnRfZW1haWwnXS5zZXRWYWx1ZSh0aGlzLmluaXRpYWxEYXRhLnN0dWRlbnQuZW1haWwpO1xuICAgIHRoaXMuY29kRm9ybVN0ZXBUd28uY29udHJvbHNbJ3Bhc3N3b3JkJ10uc2V0VmFsdWUodGhpcy5pbml0aWFsRGF0YS5zdHVkZW50LmlkX2NhcmQpO1xuICAgIHRoaXMuY29kRm9ybVN0ZXBUd28uY29udHJvbHNbJ3JlX3Bhc3N3b3JkJ10uc2V0VmFsdWUodGhpcy5pbml0aWFsRGF0YS5zdHVkZW50LmlkX2NhcmQpO1xuICB9XG5cbiAgY2xlYW5Db21wb25lbnQoKXtcbiAgICB0aGlzLnJlc2V0TG9jYWxTdG9yYWdlKHRoaXMuY29udHJvbHMpO1xuICAgIHRoaXMuY29kRm9ybVN0ZXBUd28ucmVzZXQoKTtcbiAgfVxuXG4gIHZhbGlkYXRlRXJyb3JzKCkge1xuICAgIHRoaXMuY29kRm9ybVN0ZXBUd28udmFsdWVDaGFuZ2VzLnN1YnNjcmliZShjaGFuZ2VzID0+IHtcbiAgICAgIGlmICh0aGlzLmNvZEZvcm1TdGVwVHdvLmNvbnRyb2xzWydzdHVkZW50X25hbWUnXS5oYXNFcnJvcignbWlubGVuZ3RoJykpIHtcbiAgICAgICAgdGhpcy5lcnJvck1lc3NhZ2UgPSAnTG9zIG5vbWJyZXMgZGViZW4gdGVuZXIgbcOtbmltbyAzIGNhcmFjdGVyZXMnO1xuICAgICAgfSBlbHNlIGlmICh0aGlzLmNvZEZvcm1TdGVwVHdvLmNvbnRyb2xzWydzdHVkZW50X2xhc3RfbmFtZSddLmhhc0Vycm9yKCdtaW5sZW5ndGgnKSkge1xuICAgICAgICB0aGlzLmVycm9yTWVzc2FnZSA9ICdMb3MgYXBlbGxpZG9zIGRlYmVuIHRlbmVyIG3DrW5pbW8gNSBjYXJhY3RlcmVzJztcbiAgICAgIH0gZWxzZSBpZiAodGhpcy5jb2RGb3JtU3RlcFR3by5jb250cm9sc1sncGFzc3dvcmQnXS5oYXNFcnJvcignbWlubGVuZ3RoJykpIHtcbiAgICAgICAgdGhpcy5lcnJvck1lc3NhZ2UgPSAnTGEgY29udHJhc2XDsWEgZGViZSB0ZW5lciBtw61uaW1vIDYgY2FyYWN0ZXJlcyc7XG4gICAgICB9IGVsc2UgaWYgKHRoaXMuY29kRm9ybVN0ZXBUd28uY29udHJvbHNbJ3Bhc3N3b3JkJ10udmFsdWUgIT09IHRoaXMuY29kRm9ybVN0ZXBUd28uY29udHJvbHNbJ3JlX3Bhc3N3b3JkJ10udmFsdWUpIHtcbiAgICAgICAgdGhpcy5lcnJvck1lc3NhZ2UgPSAnTGFzIGNvbnRyYXNlw7FhcyBubyBjb2luY2lkZW4nO1xuICAgICAgfSBlbHNlIGlmICh0aGlzLmNvZEZvcm1TdGVwVHdvLmNvbnRyb2xzWydhZ2UnXS5lcnJvcnMpIHtcbiAgICAgICAgdGhpcy5lcnJvck1lc3NhZ2UgPSAnRmVjaGEgZGUgbmFjaW1pZW50byBubyB2w6FsaWRhJztcbiAgICAgIH1cbiAgICAgICBlbHNlIHtcbiAgICAgICAgdGhpcy5lcnJvck1lc3NhZ2UgPSAnRmFsdGFuIGNhbXBvcyBwb3IgbGxlbmFyJztcbiAgICAgIH1cbiAgICB9KVxuICB9XG5cbiAgc3RhcnRMb2NhbFN0b3JhZ2VXb3JrKCkge1xuICAgIHRoaXMuY29udHJvbHMuZm9yRWFjaChjb250cm9sID0+IHtcbiAgICAgIGxldCBsb2NhbFN0b3JhZ2VWYWx1ZTogbG9jYWxTdG9yYWdlVmFsdWVzID0gdGhpcy5yZWFkQW5kV3JpdGVMUygyLCBjb250cm9sLm5hbWUpO1xuICAgICAgdGhpcy5jb2RGb3JtU3RlcFR3by5jb250cm9sc1tjb250cm9sLm5hbWVdLnNldFZhbHVlKGxvY2FsU3RvcmFnZVZhbHVlLnZhbHVlKTtcbiAgICAgIHRoaXMubGlzdGVuRm9ybUNoYW5nZXMoMiwgY29udHJvbC5uYW1lLCB0aGlzLmNvZEZvcm1TdGVwVHdvLmNvbnRyb2xzW2NvbnRyb2wubmFtZV0udmFsdWVDaGFuZ2VzKTtcbiAgICB9KTtcbiAgfVxuXG4gIGluaXRGb3JtKCkge1xuICAgIGNvbnN0IGN1cnJlbnREYXRlID0gbmV3IERhdGUoKS50b0lTT1N0cmluZygpLnNwbGl0KCdUJylbMF07XG4gICAgdGhpcy5jb2RGb3JtU3RlcFR3byA9IHRoaXMuZmIuZ3JvdXAoe1xuICAgICAgc3R1ZGVudF9hZGRyZXNzOiBbJycsIFtWYWxpZGF0b3JzLnJlcXVpcmVkXSwgW11dLFxuICAgICAgYmlydGhkYXRlOiBbY3VycmVudERhdGUsIFtWYWxpZGF0b3JzLnJlcXVpcmVkXSwgW11dLFxuICAgICAgY291bnRyeTogWycnLCBbVmFsaWRhdG9ycy5yZXF1aXJlZF0sIFtdXSxcbiAgICAgIHN0YXRlOiBbJycsIFtWYWxpZGF0b3JzLnJlcXVpcmVkXSwgW11dLFxuICAgICAgY2l0eTogWycnLCBbVmFsaWRhdG9ycy5yZXF1aXJlZF0sIFtdXSxcbiAgICAgIHN0dWRlbnRfaWRfY2FyZF90eXBlOiBbJycsIFtWYWxpZGF0b3JzLnJlcXVpcmVkXSwgW11dLFxuICAgICAgc3R1ZGVudF9pZF9jYXJkOiBbe3ZhbHVlOiAnJywgZGlzYWJsZWQ6IHRydWV9LCBbVmFsaWRhdG9ycy5yZXF1aXJlZCwgVmFsaWRhdG9ycy5taW5MZW5ndGgoNSksIFZhbGlkYXRvcnMubWF4TGVuZ3RoKDIwKSwgVmFsaWRhdG9ycy5wYXR0ZXJuKC9eW2EtekEtWjAtOV0qJC8pXV0sXG4gICAgICBzdHVkZW50X2xhc3RfbmFtZTogWycnLCBbVmFsaWRhdG9ycy5yZXF1aXJlZCwgVmFsaWRhdG9ycy5taW5MZW5ndGgoNSksIFZhbGlkYXRvcnMubWF4TGVuZ3RoKDMyKV1dLFxuICAgICAgc3R1ZGVudF9uYW1lOiBbJycsIFtWYWxpZGF0b3JzLnJlcXVpcmVkLCBWYWxpZGF0b3JzLm1pbkxlbmd0aCgzKSwgVmFsaWRhdG9ycy5tYXhMZW5ndGgoMzIpXV0sXG4gICAgICBzdHVkZW50X2VtYWlsOiBbJycsIFtWYWxpZGF0b3JzLnJlcXVpcmVkLCBWYWxpZGF0b3JzLmVtYWlsXV0sXG4gICAgICBuaWNrbmFtZTogWycnLCBbVmFsaWRhdG9ycy5yZXF1aXJlZF1dLFxuICAgICAgZ2VuZGVyOiBbJycsIFtWYWxpZGF0b3JzLnJlcXVpcmVkXV0sXG4gICAgICBhZ2U6IFsnJywgW1ZhbGlkYXRvcnMucmVxdWlyZWRdLCBbXV0sXG4gICAgICBzdHVkZW50X29jY3VwYXRpb246IFsnJywgW1ZhbGlkYXRvcnMucmVxdWlyZWRdXSxcbiAgICAgIHN0cmF0dW06IFsnJywgW1ZhbGlkYXRvcnMucmVxdWlyZWRdXSxcbiAgICAgIGdyYWRlOiBbJycsIFtWYWxpZGF0b3JzLnJlcXVpcmVkXV0sXG4gICAgICBjaXZpbF9zdGF0dXM6IFsnJywgW1ZhbGlkYXRvcnMucmVxdWlyZWRdXSxcbiAgICAgIHN0dWRlbnRfcGhvbmVfaW5kaWNhdGl2ZTogWycnLCBbVmFsaWRhdG9ycy5yZXF1aXJlZF0sIFtdXSxcbiAgICAgIHN0dWRlbnRfcGhvbmVfbnVtYmVyOiBbJycsIFtWYWxpZGF0b3JzLnJlcXVpcmVkLCBWYWxpZGF0b3JzLm1pbkxlbmd0aCg4KSwgVmFsaWRhdG9ycy5tYXhMZW5ndGgoMTUpXV0sXG4gICAgICBwYXNzd29yZDogW3sgdmFsdWU6ICcnLCBkaXNhYmxlZDogdGhpcy5pc0VkaXRDb2QgfSwgW1ZhbGlkYXRvcnMucmVxdWlyZWQsIFZhbGlkYXRvcnMubWluTGVuZ3RoKDYpXV0sXG4gICAgICByZV9wYXNzd29yZDogW3sgdmFsdWU6ICcnLCBkaXNhYmxlZDogdGhpcy5pc0VkaXRDb2QgfSwgW1ZhbGlkYXRvcnMucmVxdWlyZWQsIFZhbGlkYXRvcnMubWluTGVuZ3RoKDYpXV0sXG4gICAgfSk7XG4gICAgdGhpcy5jb2RGb3JtU3RlcFR3by5wYXRjaFZhbHVlKHtcbiAgICAgIGJpcnRoZGF0ZTogY3VycmVudERhdGVcbiAgICB9KTtcbiAgICAvLyBDYWxjdWxhciBlZGFkIHkgc2V0ZWFyIHZhbG9yXG4gICAgdGhpcy5jb2RGb3JtU3RlcFR3by5jb250cm9sc1snYmlydGhkYXRlJ10udmFsdWVDaGFuZ2VzLnN1YnNjcmliZSh7XG4gICAgICBuZXh0OiAoY2hhbmdlKSA9PiB7XG4gICAgICAgIGxldCB0b2RheSA9IG5ldyBEYXRlKCk7XG4gICAgICAgIGxldCBiaXJ0aGRheSA9IG5ldyBEYXRlKGNoYW5nZSk7XG4gICAgICAgIGxldCBhZ2UgPSB0b2RheS5nZXRGdWxsWWVhcigpIC0gYmlydGhkYXkuZ2V0RnVsbFllYXIoKTtcbiAgICAgICAgbGV0IG1vbnRoID0gdG9kYXkuZ2V0TW9udGgoKSAtIGJpcnRoZGF5LmdldE1vbnRoKCk7XG5cbiAgICAgICAgaWYgKG1vbnRoIDwgMCB8fCAobW9udGggPT09IDAgJiYgdG9kYXkuZ2V0RGF0ZSgpIDwgYmlydGhkYXkuZ2V0RGF0ZSgpKSkge1xuICAgICAgICAgIGFnZS0tO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKGFnZSA8IDMpIHtcbiAgICAgICAgICB0aGlzLmVycm9yTWVzc2FnZSA9ICdGZWNoYSBkZSBuYWNpbWllbnRvIG5vIHbDoWxpZGEnXG4gICAgICAgICAgdGhpcy5jb2RGb3JtU3RlcFR3by5jb250cm9sc1snYmlydGhkYXRlJ10uc2V0RXJyb3JzKHtcbiAgICAgICAgICAgIGludmFsaWRBZ2U6IHRydWVcbiAgICAgICAgICB9KVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHRoaXMuY29kRm9ybVN0ZXBUd28uY29udHJvbHNbJ2JpcnRoZGF0ZSddLnNldEVycm9ycyhudWxsKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuY29kRm9ybVN0ZXBUd28uY29udHJvbHNbJ2FnZSddLnNldFZhbHVlKGFnZSk7XG4gICAgICB9XG4gICAgfSlcbiAgfVxuXG4gIGdldFBhcmFtZXRlcnMoKXtcbiAgICAvLyB0aGlzLmlkVHlwZXMgPXRoaXMucGFyYW1ldGVyc0FsbD8uVHlwZUlkQ2FyZEJ5Q291bnRyeUNvbDtcbiAgICB0aGlzLmluZGljYXRpdmVzID10aGlzLnBhcmFtZXRlcnNBbGw/LmluZGljYXRpdmVzO1xuICAgIHRoaXMuY291bnRyaWVzID10aGlzLnBhcmFtZXRlcnNBbGw/LmNvdW50cnk7XG4gICAgdGhpcy5zdHJhdHVtcyA9dGhpcy5wYXJhbWV0ZXJzQWxsPy5zdHJhdHVtO1xuICAgIHRoaXMuY2l2aWxTdGF0dXMgPXRoaXMucGFyYW1ldGVyc0FsbD8uY2l2aWxTdGF0dXM7XG4gICAgdGhpcy5jaXRpZXMgPXRoaXMucGFyYW1ldGVyc0FsbD8uY2l0eTtcbiAgICB0aGlzLnN0YXRlcyA9dGhpcy5wYXJhbWV0ZXJzQWxsPy5TdGF0ZTtcbiAgICAvLyB0aGlzLmdlbmRlcnMgPXRoaXMucGFyYW1ldGVyc0FsbD8uZ2VuZGVyO1xuICAgIGlmICh0aGlzLnBhcmFtZXRlcnNBbGwgJiYgdGhpcy5wYXJhbWV0ZXJzQWxsLmdlbmRlcikge1xuICAgICAgLy8gVHJhbnNmb3JtYXIgZ2VuZGVyIGVuIHVuIGFycmVnbG8gZGUgeyBjb2RlLCBuYW1lIH1cbiAgICAgIHRoaXMuZ2VuZGVycyA9IHRoaXMucGFyYW1ldGVyc0FsbC5nZW5kZXIubWFwKChnZW5kZXI6IGFueSkgPT4gKHtcbiAgICAgICAgY29kZTogZ2VuZGVyLmNvZGUsXG4gICAgICAgIG5hbWU6IGdlbmRlci5uYW1lX3NwYW5pc2hcbiAgICAgIH0pKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5nZW5kZXJzID0gW107XG4gICAgfVxuICB9XG5cbiAgc2VuZEZvcm0oKSB7XG4gICAgdGhpcy5jb2RGb3JtU3RlcFR3by5tYXJrQWxsQXNUb3VjaGVkKCk7XG4gICAgaWYgKHRoaXMuY29kRm9ybVN0ZXBUd28uaW52YWxpZCkgcmV0dXJuO1xuXG4gICAgLy8gTW92ZXJub3MgYWwgcGFzbyAzXG4gICAgdGhpcy5jaGFuZ2VTdGVwRXZlbnQuZW1pdCgyKTtcbiAgfVxuXG4gIGdldFN0YXRlKHN0YXRlOiBhbnkpIHtcbiAgICB0aGlzLmdldENpdHkoc3RhdGUpO1xuICB9XG5cbiAgZ2V0Q2l0eShzdGF0ZTogYW55KSB7XG4gICAgY29uc3Qgc3RhdGVOdW1iZXIgPSB0eXBlb2Ygc3RhdGUgPT09ICdzdHJpbmcnID8gcGFyc2VJbnQoc3RhdGUsIDEwKSA6IHN0YXRlO1xuICAgIFxuICAgIGlmICh0aGlzLnBhcmFtZXRlcnNBbGwgJiYgdGhpcy5wYXJhbWV0ZXJzQWxsPy5jaXR5KSB7XG4gIFxuICAgICAgdGhpcy5jaXRpZXMgPSB0aGlzLnBhcmFtZXRlcnNBbGwuY2l0eS5maWx0ZXIoKGNvdXJzZSkgPT4ge1xuICAgICAgICBjb25zdCBhY2FkZW1pY1BsYW4gPSB0eXBlb2YgY291cnNlLnN0YXRlID09PSAnc3RyaW5nJyBcbiAgICAgICAgICA/IHBhcnNlSW50KGNvdXJzZS5zdGF0ZSwgMTApIFxuICAgICAgICAgIDogY291cnNlLnN0YXRlO1xuICAgICAgICByZXR1cm4gYWNhZGVtaWNQbGFuID09PSBzdGF0ZU51bWJlcjtcbiAgICAgIH0pO1xuICBcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5jaXRpZXMgPSBbXTtcbiAgICB9XG4gICAgdGhpcy5zZWxlY3RDaXR5KHRoaXMubG9jYWxTdG9yYWdlQ09ELmdldENvZEZvcm1EYXRhKDIsICdjaXR5JykpO1xuICB9XG5cbiAgc2VsZWN0Q291bnRyeShjb3VudHJ5OiBhbnkpe1xuICAgIGNvbnN0IGNvdW50cnlOdW1iZXIgPSB0eXBlb2YgY291bnRyeSA9PT0gJ3N0cmluZycgPyBwYXJzZUludChjb3VudHJ5LCAxMCkgOiBjb3VudHJ5O1xuICAgIGlmIChjb3VudHJ5ICE9IG51bGwpIHtcbiAgICAgIHRoaXMuY29kRm9ybVN0ZXBUd28uY29udHJvbHNbJ2NvdW50cnknXS5zZXRWYWx1ZShjb3VudHJ5KTtcbiAgICAgIGlmICh0aGlzLnBhcmFtZXRlcnNBbGwgJiYgdGhpcy5wYXJhbWV0ZXJzQWxsPy5TdGF0ZSkge1xuICAgICAgICB0aGlzLnN0YXRlcyA9IHRoaXMucGFyYW1ldGVyc0FsbC5TdGF0ZS5maWx0ZXIoKGNvdXJzZSkgPT4ge1xuICAgICAgICAgIGNvbnN0IHN0YXRlID0gdHlwZW9mIGNvdXJzZS5jb3VudHJ5ID09PSAnc3RyaW5nJyBcbiAgICAgICAgICAgID8gcGFyc2VJbnQoY291cnNlLmNvdW50cnksIDEwKSBcbiAgICAgICAgICAgIDogY291cnNlLmNvdW50cnk7XG4gICAgICAgICAgcmV0dXJuIHN0YXRlID09PSBjb3VudHJ5TnVtYmVyO1xuICAgICAgICB9KTtcbiAgICAgICAgdGhpcy5zZWxlY3RTdGF0ZSh0aGlzLmxvY2FsU3RvcmFnZUNPRC5nZXRDb2RGb3JtRGF0YSgyLCAnc3RhdGUnKSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLnN0YXRlcyA9IFtdO1xuICAgICAgfVxuICAgIH1lbHNlIHtcbiAgICAgIHRoaXMuY29kRm9ybVN0ZXBUd28uY29udHJvbHNbJ2NvdW50cnknXS5zZXRWYWx1ZShudWxsKTtcbiAgICB9XG4gIH1cblxuICBzZWxlY3RTdGF0ZShzdGF0ZTogYW55KSB7XG4gICAgaWYgKHN0YXRlICE9PSAnRGVwYXJ0YW1lbnRvIG8gZXN0YWRvJykge1xuICAgICAgdGhpcy5jb2RGb3JtU3RlcFR3by5jb250cm9sc1snc3RhdGUnXS5zZXRWYWx1ZShzdGF0ZSk7XG4gICAgICB0aGlzLmdldFN0YXRlKHN0YXRlKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5jb2RGb3JtU3RlcFR3by5jb250cm9sc1snc3RhdGUnXS5zZXRWYWx1ZShudWxsKTtcbiAgICAgIHRoaXMuY29kRm9ybVN0ZXBUd28uY29udHJvbHNbJ2NpdHknXS5zZXRWYWx1ZShudWxsKTtcbiAgICAgIHRoaXMuY2l0aWVzID0gW107XG4gICAgfVxuICB9XG5cbiAgc2VsZWN0Q2l0eShjaXR5OiBhbnkpIHtcbiAgICBpZiAoY2l0eSAhPT0gJ0NpdWRhZCBkZSByZXNpZGVuY2lhJykge1xuICAgICAgdGhpcy5jb2RGb3JtU3RlcFR3by5jb250cm9sc1snY2l0eSddLnNldFZhbHVlKGNpdHkpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmNvZEZvcm1TdGVwVHdvLmNvbnRyb2xzWydjaXR5J10uc2V0VmFsdWUobnVsbCk7XG4gICAgfVxuICB9XG5cbiAgc2VsZWN0SWRUeXBlKGlkVHlwZTogYW55KSB7XG4gICAgaWYgKGlkVHlwZSAhPT0gJ1RpcG8gZGUgZG9jdW1lbnRvJykge1xuICAgICAgdGhpcy5jb2RGb3JtU3RlcFR3by5jb250cm9sc1snc3R1ZGVudF9pZF9jYXJkX3R5cGUnXS5zZXRWYWx1ZShpZFR5cGUpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmNvZEZvcm1TdGVwVHdvLmNvbnRyb2xzWydzdHVkZW50X2lkX2NhcmRfdHlwZSddLnNldFZhbHVlKG51bGwpO1xuICAgIH1cbiAgfVxuXG4gIHNlbGVjdEluZGljYXRpdmVzKGluZGljYXRpdmU6IGFueSkge1xuICAgIGlmIChpbmRpY2F0aXZlICE9PSAnSW5kaWNhdGl2bycpIHtcbiAgICAgIHRoaXMuY29kRm9ybVN0ZXBUd28uY29udHJvbHNbJ3N0dWRlbnRfcGhvbmVfaW5kaWNhdGl2ZSddLnNldFZhbHVlKGluZGljYXRpdmUpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmNvZEZvcm1TdGVwVHdvLmNvbnRyb2xzWydzdHVkZW50X3Bob25lX2luZGljYXRpdmUnXS5zZXRWYWx1ZShudWxsKTtcbiAgICB9XG4gIH1cblxuICBzZWxlY3RHZW5kZXIoZ2VuZGVyOiBhbnkpIHtcbiAgICBpZiAoZ2VuZGVyICE9PSAnR8OpbmVybycpIHtcbiAgICAgIHRoaXMuY29kRm9ybVN0ZXBUd28uY29udHJvbHNbJ2dlbmRlciddLnNldFZhbHVlKGdlbmRlcik7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuY29kRm9ybVN0ZXBUd28uY29udHJvbHNbJ2dlbmRlciddLnNldFZhbHVlKG51bGwpO1xuICAgIH1cbiAgfVxuXG4gIHNlbGVjdFN0cmF0dW0oc3RyYXR1bTogYW55KSB7XG4gICAgaWYgKHN0cmF0dW0gIT09ICdFc3RyYXRvJykge1xuICAgICAgdGhpcy5jb2RGb3JtU3RlcFR3by5jb250cm9sc1snc3RyYXR1bSddLnNldFZhbHVlKHN0cmF0dW0pO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmNvZEZvcm1TdGVwVHdvLmNvbnRyb2xzWydzdHJhdHVtJ10uc2V0VmFsdWUobnVsbCk7XG4gICAgfVxuICB9XG5cbiAgc2VsZWN0Q2l2aWxTdGF0dXMoY2l2aWxfc3RhdHVzOiBhbnkpIHtcbiAgICBpZiAoY2l2aWxfc3RhdHVzICE9PSAnRXN0YWRvIGNpdmlsJykge1xuICAgICAgdGhpcy5jb2RGb3JtU3RlcFR3by5jb250cm9sc1snY2l2aWxfc3RhdHVzJ10uc2V0VmFsdWUoY2l2aWxfc3RhdHVzKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5jb2RGb3JtU3RlcFR3by5jb250cm9sc1snY2l2aWxfc3RhdHVzJ10uc2V0VmFsdWUobnVsbCk7XG4gICAgfVxuICB9XG5cbiAgdHJhY2tTdHVkZW50SWRDYXJkQ2hhbmdlcygpIHtcbiAgICBjb25zb2xlLmxvZygndHJhY2tTdHVkZW50SWRDYXJkQ2hhbmdlcyBjYWxsZWQnKTsgLy8gRGVwdXJhY2nDs25cbiAgICB0aGlzLmNvZEZvcm1TdGVwVHdvLmNvbnRyb2xzWydzdHVkZW50X2lkX2NhcmQnXS52YWx1ZUNoYW5nZXMuc3Vic2NyaWJlKHZhbHVlID0+IHtcbiAgICAgIGNvbnNvbGUubG9nKCdzdHVkZW50X2lkX2NhcmQgdmFsdWU6JywgdmFsdWUpOyAvLyBEZXB1cmFjacOzblxuICAgICAgdGhpcy51cGRhdGVJZFR5cGVzKHZhbHVlKTtcbiAgICB9KTtcbiAgfVxuICAgIFxuICB1cGRhdGVJZFR5cGVzKHZhbHVlOiBzdHJpbmcpIHtcbiAgICBjb25zb2xlLmxvZygndXBkYXRlSWRUeXBlcyBjYWxsZWQgd2l0aCB2YWx1ZTonLCB2YWx1ZSk7IC8vIERlcHVyYWNpw7NuXG4gICAgaWYgKHRoaXMucGFyYW1ldGVyc0FsbD8uVHlwZUlkQ2FyZEJ5Q291bnRyeUNvbCkge1xuICAgICAgaWYgKHZhbHVlICYmIC9bYS16QS1aXS8udGVzdCh2YWx1ZSkpIHtcbiAgICAgICAgY29uc29sZS5sb2coJ0NvbnRhaW5zIGxldHRlcnMsIGZpbHRlcmluZyBpZFR5cGVzJyk7IC8vIERlcHVyYWNpw7NuXG4gICAgICAgIHRoaXMuaWRUeXBlcyA9IHRoaXMucGFyYW1ldGVyc0FsbC5UeXBlSWRDYXJkQnlDb3VudHJ5Q29sLmZpbHRlcigoXywgaW5kZXgpID0+IFxuICAgICAgICAgICFbMCwgMSwgMiwgN10uaW5jbHVkZXMoaW5kZXgpXG4gICAgICAgICk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBjb25zb2xlLmxvZygnTm8gbGV0dGVycywgcmVzdG9yaW5nIGlkVHlwZXMnKTsgLy8gRGVwdXJhY2nDs25cbiAgICAgICAgdGhpcy5pZFR5cGVzID0gWy4uLnRoaXMucGFyYW1ldGVyc0FsbC5UeXBlSWRDYXJkQnlDb3VudHJ5Q29sXTsgLy8gQ3JlYXIgdW5hIGNvcGlhIHBhcmEgZm9yemFyIGRldGVjY2nDs24gZGUgY2FtYmlvc1xuICAgICAgfVxuICAgICAgY29uc29sZS5sb2coJ0N1cnJlbnQgaWRUeXBlczonLCB0aGlzLmlkVHlwZXMpOyAvLyBEZXB1cmFjacOzblxuICAgIH0gZWxzZSB7XG4gICAgICBjb25zb2xlLmxvZygnVHlwZUlkQ2FyZEJ5Q291bnRyeUNvbCBpcyB1bmRlZmluZWQnKTsgLy8gRGVwdXJhY2nDs25cbiAgICAgIHRoaXMuaWRUeXBlcyA9IFtdO1xuICAgIH1cbiAgfVxufVxuIiwiPGZvcm0gYXV0b2NvbXBsZXRlPVwib2ZmXCIgW2Zvcm1Hcm91cF09XCJjb2RGb3JtU3RlcFR3b1wiIGNsYXNzPVwiZ3JpZFwiPlxuXG4gIDxkaXYgY2xhc3M9XCJjb2xcIj5cbiAgICA8aXB0LWlucHV0XG4gICAgICBbaW5wdXRUeXBlXT1cIid0ZXh0J1wiXG4gICAgICBbcGxhY2VIb2xkZXJdPVwiJ05vbWJyZXMnXCJcbiAgICAgIFtjb250cm9sXT1cImNvZEZvcm1TdGVwVHdvLmNvbnRyb2xzWydzdHVkZW50X25hbWUnXVwiXG4gICAgPjwvaXB0LWlucHV0PlxuICAgIDxpcHQtc2VsZWN0XG4gICAgICBbaW5pdGlhbFZhbHVlXT1cImNvZEZvcm1TdGVwVHdvLmNvbnRyb2xzWydzdHVkZW50X2lkX2NhcmRfdHlwZSddLnZhbHVlXCJcbiAgICAgIFtjb250cm9sXT1cImNvZEZvcm1TdGVwVHdvLmNvbnRyb2xzWydzdHVkZW50X2lkX2NhcmRfdHlwZSddXCJcbiAgICAgIFtzZWxlY3RDb2RlXT1cImNvZEZvcm1TdGVwVHdvLmNvbnRyb2xzWydzdHVkZW50X2lkX2NhcmRfdHlwZSddLnZhbHVlID09PSBudWxsID8gJ1RpcG8gZGUgZG9jdW1lbnRvJyA6IGNvZEZvcm1TdGVwVHdvLmNvbnRyb2xzWydzdHVkZW50X2lkX2NhcmRfdHlwZSddLnZhbHVlXCJcbiAgICAgIFtpc1JlcXVpcmVkXT1cInRydWVcIlxuICAgICAgW2RhdGFdPVwiaWRUeXBlc1wiXG4gICAgICAoZXZlbnRTZWxlY3QpPVwic2VsZWN0SWRUeXBlKCRldmVudClcIlxuICAgICAgW2RlZmF1bHRUZXh0XT1cIidUaXBvIGRlIGRvY3VtZW50bydcIlxuICAgID48L2lwdC1zZWxlY3Q+XG4gICAgPGlwdC1zZWxlY3RcbiAgICAgIFtpbml0aWFsVmFsdWVdPVwiY29kRm9ybVN0ZXBUd28uY29udHJvbHNbJ2NvdW50cnknXS52YWx1ZVwiXG4gICAgICBbY29udHJvbF09XCJjb2RGb3JtU3RlcFR3by5jb250cm9sc1snY291bnRyeSddXCJcbiAgICAgIFtzZWxlY3RDb2RlXT1cImNvZEZvcm1TdGVwVHdvLmNvbnRyb2xzWydjb3VudHJ5J10udmFsdWUgPT09IG51bGwgPyAnUGHDrXMgZGUgcmVzaWRlbmNpYScgOiBjb2RGb3JtU3RlcFR3by5jb250cm9sc1snY291bnRyeSddLnZhbHVlXCJcbiAgICAgIChldmVudFNlbGVjdCk9XCJzZWxlY3RDb3VudHJ5KCRldmVudClcIlxuICAgICAgW2RhdGFdPVwiY291bnRyaWVzXCJcbiAgICAgIFtkZWZhdWx0VGV4dF09XCInUGHDrXMgZGUgcmVzaWRlbmNpYSdcIlxuICAgID48L2lwdC1zZWxlY3Q+XG4gICAgPGlwdC1zZWxlY3RcbiAgICAgIFtpbml0aWFsVmFsdWVdPVwiY29kRm9ybVN0ZXBUd28uY29udHJvbHNbJ2NpdHknXS52YWx1ZVwiXG4gICAgICBbY29udHJvbF09XCJjb2RGb3JtU3RlcFR3by5jb250cm9sc1snY2l0eSddXCJcbiAgICAgIFtzZWxlY3RDb2RlXT1cImNvZEZvcm1TdGVwVHdvLmNvbnRyb2xzWydjaXR5J10udmFsdWUgPT09IG51bGwgPyAnQ2l1ZGFkIGRlIHJlc2lkZW5jaWEnIDogY29kRm9ybVN0ZXBUd28uY29udHJvbHNbJ2NpdHknXS52YWx1ZVwiXG4gICAgICAoZXZlbnRTZWxlY3QpPVwic2VsZWN0Q2l0eSgkZXZlbnQpXCJcbiAgICAgIFtkYXRhXT1cImNpdGllc1wiXG4gICAgICBbZGVmYXVsdFRleHRdPVwiJ0NpdWRhZCBkZSByZXNpZGVuY2lhJ1wiXG4gICAgPjwvaXB0LXNlbGVjdD5cbiAgICA8aXB0LWlucHV0XG4gICAgICBvbmZvY3VzPVwiKHRoaXMudHlwZT0nZGF0ZScpXCJcbiAgICAgIFtpbnB1dFR5cGVdPVwiJ2RhdGUnXCJcbiAgICAgIFtjb250cm9sXT1cImNvZEZvcm1TdGVwVHdvLmNvbnRyb2xzWydiaXJ0aGRhdGUnXVwiXG4gICAgICBbcGxhY2VIb2xkZXJdPVwiJ0ZlY2hhIGRlIG5hY2ltaWVudG8nXCJcbiAgICA+PC9pcHQtaW5wdXQ+XG4gICAgIDxpcHQtc2VsZWN0XG4gICAgICBbaW5pdGlhbFZhbHVlXT1cImNvZEZvcm1TdGVwVHdvLmNvbnRyb2xzWydnZW5kZXInXS52YWx1ZVwiXG4gICAgICBbY29udHJvbF09XCJjb2RGb3JtU3RlcFR3by5jb250cm9sc1snZ2VuZGVyJ11cIlxuICAgICAgW2RhdGFdPVwiZ2VuZGVyc1wiXG4gICAgICAoZXZlbnRTZWxlY3QpPVwic2VsZWN0R2VuZGVyKCRldmVudClcIlxuICAgICAgW2RlZmF1bHRUZXh0XT1cIidHw6luZXJvJ1wiXG4gICAgPjwvaXB0LXNlbGVjdD5cbiAgICA8aXB0LXNlbGVjdFxuICAgICAgW2luaXRpYWxWYWx1ZV09XCJjb2RGb3JtU3RlcFR3by5jb250cm9sc1snc3RyYXR1bSddLnZhbHVlXCJcbiAgICAgIFtjb250cm9sXT1cImNvZEZvcm1TdGVwVHdvLmNvbnRyb2xzWydzdHJhdHVtJ11cIlxuICAgICAgW2RhdGFdPVwic3RyYXR1bXNcIlxuICAgICAgKGV2ZW50U2VsZWN0KT1cInNlbGVjdFN0cmF0dW0oJGV2ZW50KVwiXG4gICAgICBbZGVmYXVsdFRleHRdPVwiJ0VzdHJhdG8nXCJcbiAgICA+PC9pcHQtc2VsZWN0PlxuICAgIDxpcHQtaW5wdXRcbiAgICAgIFtpbnB1dFR5cGVdPVwiJ3RleHQnXCJcbiAgICAgIFtwbGFjZUhvbGRlcl09XCInR3JhZG8nXCJcbiAgICAgIFtjb250cm9sXT1cImNvZEZvcm1TdGVwVHdvLmNvbnRyb2xzWydncmFkZSddXCJcbiAgICA+PC9pcHQtaW5wdXQ+XG4gICAgPGlwdC1zZWxlY3RcbiAgICAgIFtpbml0aWFsVmFsdWVdPVwiY29kRm9ybVN0ZXBUd28uY29udHJvbHNbJ3N0dWRlbnRfcGhvbmVfaW5kaWNhdGl2ZSddLnZhbHVlXCJcbiAgICAgIFtjb250cm9sXT1cImNvZEZvcm1TdGVwVHdvLmNvbnRyb2xzWydzdHVkZW50X3Bob25lX2luZGljYXRpdmUnXVwiXG4gICAgICBbZGF0YV09XCJpbmRpY2F0aXZlc1wiXG4gICAgICAoZXZlbnRTZWxlY3QpPVwic2VsZWN0SW5kaWNhdGl2ZXMoJGV2ZW50KVwiXG4gICAgICBbZGVmYXVsdFRleHRdPVwiJ0luZGljYXRpdm8nXCJcbiAgICA+PC9pcHQtc2VsZWN0PlxuICAgIDxpcHQtaW5wdXRcbiAgICAgIFtpbnB1dFR5cGVdPVwiJ2VtYWlsJ1wiXG4gICAgICBbcGxhY2VIb2xkZXJdPVwiJ0NvcnJlbyBlbGVjdHLDs25pY28nXCJcbiAgICAgIFtjb250cm9sXT1cImNvZEZvcm1TdGVwVHdvLmNvbnRyb2xzWydzdHVkZW50X2VtYWlsJ11cIlxuICAgID48L2lwdC1pbnB1dD5cbiAgICA8aXB0LWlucHV0XG4gICAgICBbaW5wdXRUeXBlXT1cIidwYXNzd29yZCdcIlxuICAgICAgW3BsYWNlSG9sZGVyXT1cIidSZXBldGlyIGNvbnRyYXNlw7FhJ1wiXG4gICAgICBbY29udHJvbF09XCJjb2RGb3JtU3RlcFR3by5jb250cm9sc1sncmVfcGFzc3dvcmQnXVwiXG4gICAgPjwvaXB0LWlucHV0PlxuICA8L2Rpdj5cblxuICA8ZGl2IGNsYXNzPVwiY29sXCI+XG4gICAgPGlwdC1pbnB1dFxuICAgICAgW2lucHV0VHlwZV09XCIndGV4dCdcIlxuICAgICAgW3BsYWNlSG9sZGVyXT1cIidBcGVsbGlkb3MnXCJcbiAgICAgIFtjb250cm9sXT1cImNvZEZvcm1TdGVwVHdvLmNvbnRyb2xzWydzdHVkZW50X2xhc3RfbmFtZSddXCJcbiAgICA+PC9pcHQtaW5wdXQ+XG4gICAgPGlwdC1pbnB1dFxuICAgICAgW2lucHV0VHlwZV09XCIndGV4dCdcIlxuICAgICAgW3BsYWNlSG9sZGVyXT1cIidOw7ptZXJvIGRlIGRvY3VtZW50bydcIlxuICAgICAgW2NvbnRyb2xdPVwiY29kRm9ybVN0ZXBUd28uY29udHJvbHNbJ3N0dWRlbnRfaWRfY2FyZCddXCJcbiAgICA+PC9pcHQtaW5wdXQ+XG4gICAgPGlwdC1zZWxlY3RcbiAgICAgIFtpbml0aWFsVmFsdWVdPVwiY29kRm9ybVN0ZXBUd28uY29udHJvbHNbJ3N0YXRlJ10udmFsdWVcIlxuICAgICAgW2NvbnRyb2xdPVwiY29kRm9ybVN0ZXBUd28uY29udHJvbHNbJ3N0YXRlJ11cIlxuICAgICAgW3NlbGVjdENvZGVdPVwiY29kRm9ybVN0ZXBUd28uY29udHJvbHNbJ3N0YXRlJ10udmFsdWUgPT09IG51bGwgPyAnRGVwYXJ0YW1lbnRvIG8gZXN0YWRvJyA6IGNvZEZvcm1TdGVwVHdvLmNvbnRyb2xzWydzdGF0ZSddLnZhbHVlXCJcbiAgICAgIFtpc1JlcXVpcmVkXT1cInRydWVcIlxuICAgICAgKGV2ZW50U2VsZWN0KT1cInNlbGVjdFN0YXRlKCRldmVudClcIlxuICAgICAgW2RhdGFdPVwic3RhdGVzXCJcbiAgICAgIFtkZWZhdWx0VGV4dF09XCInRGVwYXJ0YW1lbnRvIG8gZXN0YWRvJ1wiXG4gICAgPjwvaXB0LXNlbGVjdD5cbiAgICA8aXB0LWlucHV0XG4gICAgICBbaW5wdXRUeXBlXT1cIid0ZXh0J1wiXG4gICAgICBbcGxhY2VIb2xkZXJdPVwiJ0RpcmVjY2nDs24nXCJcbiAgICAgIFtjb250cm9sXT1cImNvZEZvcm1TdGVwVHdvLmNvbnRyb2xzWydzdHVkZW50X2FkZHJlc3MnXVwiXG4gICAgPjwvaXB0LWlucHV0PlxuICAgIDxpcHQtaW5wdXRcbiAgICAgIFtpbnB1dFR5cGVdPVwiJ251bWJlcidcIlxuICAgICAgW3BsYWNlSG9sZGVyXT1cIidFZGFkJ1wiXG4gICAgICBbY29udHJvbF09XCJjb2RGb3JtU3RlcFR3by5jb250cm9sc1snYWdlJ11cIlxuICAgID48L2lwdC1pbnB1dD5cbiAgICA8aXB0LWlucHV0XG4gICAgICBbaW5wdXRUeXBlXT1cIid0ZXh0J1wiXG4gICAgICBbcGxhY2VIb2xkZXJdPVwiJ05pY2tuYW1lJ1wiXG4gICAgICBbY29udHJvbF09XCJjb2RGb3JtU3RlcFR3by5jb250cm9sc1snbmlja25hbWUnXVwiXG4gICAgPjwvaXB0LWlucHV0PlxuICAgIDxpcHQtaW5wdXRcbiAgICAgIFtpbnB1dFR5cGVdPVwiJ3RleHQnXCJcbiAgICAgIFtwbGFjZUhvbGRlcl09XCInT2N1cGFjacOzbidcIlxuICAgICAgW2NvbnRyb2xdPVwiY29kRm9ybVN0ZXBUd28uY29udHJvbHNbJ3N0dWRlbnRfb2NjdXBhdGlvbiddXCJcbiAgICA+PC9pcHQtaW5wdXQ+XG4gICAgPGlwdC1zZWxlY3RcbiAgICAgIFtpbml0aWFsVmFsdWVdPVwiY29kRm9ybVN0ZXBUd28uY29udHJvbHNbJ2NpdmlsX3N0YXR1cyddLnZhbHVlXCJcbiAgICAgIFtjb250cm9sXT1cImNvZEZvcm1TdGVwVHdvLmNvbnRyb2xzWydjaXZpbF9zdGF0dXMnXVwiXG4gICAgICBbZGF0YV09XCJjaXZpbFN0YXR1c1wiXG4gICAgICAoZXZlbnRTZWxlY3QpPVwic2VsZWN0Q2l2aWxTdGF0dXMoJGV2ZW50KVwiXG4gICAgICBbZGVmYXVsdFRleHRdPVwiJ0VzdGFkbyBjaXZpbCdcIlxuICAgID48L2lwdC1zZWxlY3Q+XG4gICAgPGlwdC1pbnB1dFxuICAgICAgW2lucHV0VHlwZV09XCInbnVtYmVyJ1wiXG4gICAgICBbcGxhY2VIb2xkZXJdPVwiJ07Dum1lcm8gZGUgdGVsw6lmb25vJ1wiXG4gICAgICBbY29udHJvbF09XCJjb2RGb3JtU3RlcFR3by5jb250cm9sc1snc3R1ZGVudF9waG9uZV9udW1iZXInXVwiXG4gICAgPjwvaXB0LWlucHV0PlxuICAgIDxpcHQtaW5wdXRcbiAgICAgIFtpbnB1dFR5cGVdPVwiJ3Bhc3N3b3JkJ1wiXG4gICAgICBbcGxhY2VIb2xkZXJdPVwiJ0NvbnRyYXNlw7FhJ1wiXG4gICAgICBbY29udHJvbF09XCJjb2RGb3JtU3RlcFR3by5jb250cm9sc1sncGFzc3dvcmQnXVwiXG4gICAgPjwvaXB0LWlucHV0PlxuICA8L2Rpdj5cblxuICA8ZGl2IGNsYXNzPVwiY29sLTEyXCI+PC9kaXY+XG5cbjwvZm9ybT5cblxuPGRpdiBjbGFzcz1cImZsZXggbXQtMyBhbGlnbi1pdGVtcy1jZW50ZXIgZ2FwLTNcIj5cbiAgPHNwYW4gKm5nSWY9XCJjb2RGb3JtU3RlcFR3by5pbnZhbGlkICYmIGNvZEZvcm1TdGVwVHdvLnRvdWNoZWRcIiBjbGFzcz1cInRleHQtcmVkLTUwMCBmb250LWJvbGQgdGV4dC1jZW50ZXIgbXQtMSBweS0yIGJnLXJlZC0xMDAgdy1mdWxsIGJvcmRlci1yb3VuZC14bFwiPnt7IGVycm9yTWVzc2FnZSB9fTwvc3Bhbj5cbiAgPGJ1dHRvbiB0eXBlPVwic3VibWl0XCIgW2NsYXNzXT1cImlzRWRpdENvZCA/ICdtbC1hdXRvIHllbGxvdy0zMDAgcC1idXR0b24tc20nIDogJ21sLWF1dG8gcC1idXR0b24tc20nXCIgKGNsaWNrKT1cInNlbmRGb3JtKClcIiBwQnV0dG9uIGxhYmVsPVwiU2lndWllbnRlXCIgaWNvbj1cInBpIHBpLWFycm93LXJpZ2h0XCI+PC9idXR0b24+XG48L2Rpdj5cbiJdfQ==
@@ -1,2 +1,2 @@
1
1
  export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVybXMtcnMubW9kZWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9kZXNpZ24tc3lzdGVtL3NyYy9saWIvY29yZS9tb2RlbHMvdGVybXMvdGVybXMtcnMubW9kZWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBpbnRlcmZhY2UgSUNvZFdpdGhUaGVpclN0YXRlc1JxIHtcbiAgICB0b2tlbjogICAgICAgICAgICAgc3RyaW5nO1xuICAgIGNvZGVfdHlwZV9jb25zdWx0OiBudW1iZXI7XG4gICAgY29kZV9hZHZpc2VyOiAgICAgIG51bWJlcjtcbiAgICBzdGFydF9kYXRlOiAgICAgICAgRGF0ZTtcbiAgICBmaW5pc2hfZGF0ZTogICAgICAgRGF0ZTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBDb2RXaXRoVGhlaXJTdGF0ZXMge1xuICAgIGlwX2FwcGxpY2FudDogc3RyaW5nO1xuICAgIHN0YXR1czogICAgICAgbnVtYmVyO1xuICAgIG1lc3NhZ2U6ICAgICAgSU1lc3NhZ2VScztcbiAgICBkYXRhOiAgICAgICAgIElDb2RXaXRoVGhlaXJTdGF0ZXNSc1tdO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElDb2RXaXRoVGhlaXJTdGF0ZXNScyB7XG4gICAgY29kZTogICAgICAgICAgICAgICAgICAgbnVtYmVyO1xuICAgIGNvdXJzZTogICAgICAgICAgICAgICAgIElDb3Vyc2VScztcbiAgICBjb3Vyc2VfdHlwZTogICAgICAgICAgICBJRGF0dW1Db3Vyc2VUeXBlUnM7XG4gICAgYWdyZWVtZW50OiAgICAgICAgICAgICAgSUFncmVlbWVudFJzO1xuICAgIGVuZ2xpc2hfbGV2ZWw6ICAgICAgICAgIElFbmdsaXNoTGV2ZWxScztcbiAgICBzdHVkZW50OiAgICAgICAgICAgICAgICBJU3R1ZGVudFJzO1xuICAgIHBhcmVudDogICAgICAgICAgICAgICAgIElQYXJlbnRScyB8IG51bGw7XG4gICAgYWR2aXNlcjogICAgICAgICAgICAgICAgbnVtYmVyO1xuICAgIGNvZF9zdGF0dXM6ICAgICAgICAgICAgIElDb2RTdGF0dXNScztcbiAgICBjb2RfcHJpY2U6ICAgICAgICAgICAgICBudW1iZXI7XG4gICAgY29kX3BhaWQ6ICAgICAgICAgICAgICAgbnVtYmVyO1xuICAgIGFjY2VwdF90ZXJtc19jb2RlOiAgICAgIG51bWJlciB8IG51bGw7XG4gICAgY3JlYXRlZF9hdDogICAgICAgICAgICAgRGF0ZTtcbiAgICBjb3Vyc2VBc3NpZ25lZDogICAgICAgICBJQ291cnNlQXNzaWduZWRScztcbiAgICBhZGRpdGlvbmFsX2luZm9ybWF0aW9uOiBJQWRkaXRpb25hbEluZm9ybWF0aW9uUnM7XG4gICAgYWNjZXB0X3Rlcm06ICAgICAgICAgICAgSUFjY2VwdFRlcm1ScyB8IG51bGw7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSUFjY2VwdFRlcm1ScyB7XG4gICAgY29kZTogICAgICAgICAgICAgbnVtYmVyO1xuICAgIHVzZXJfY29kZTogICAgICAgIG51bWJlcjtcbiAgICBhY2NlcHRhbmNlX3Rva2VuOiBzdHJpbmc7XG4gICAgaXNfYWNjZXB0ZWQ6ICAgICAgbnVtYmVyO1xuICAgIGlzX3VzZWQ6ICAgICAgICAgIG51bWJlcjtcbiAgICBpc19hY3RpdmU6ICAgICAgICBudW1iZXI7XG4gICAgZXhwaXJlc19hdDogICAgICAgRGF0ZTtcbiAgICBhY2NlcHRlZF9hdDogICAgICBEYXRlIHwgbnVsbDtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJQWRkaXRpb25hbEluZm9ybWF0aW9uUnMge1xuICAgIGNvZGU6ICAgICAgICAgICAgICAgbnVtYmVyO1xuICAgIHNvY2lhbF9zdHJhdHVtOiAgICAgbnVtYmVyO1xuICAgIGNpdmlsX3N0YXR1czogICAgICAgbnVtYmVyO1xuICAgIGVkdWNhdGlvbmFsX2xldmVsOiAgc3RyaW5nO1xuICAgIHN0dWRlbnRfYWRkcmVzczogICAgc3RyaW5nO1xuICAgIHN0dWRlbnRfb2NjdXBhdGlvbjogc3RyaW5nO1xuICAgIGRpc2FiaWxpdHk6ICAgICAgICAgc3RyaW5nO1xuICAgIGhlYWx0aF9yZWdpbWVuOiAgICAgc3RyaW5nO1xuICAgIG1hcmtldGluZ19yZWFzb25zOiAgbnVtYmVyO1xuICAgIHN0dWR5X3JlYXNvbnM6ICAgICAgbnVtYmVyO1xuICAgIG9ic2VydmF0aW9uOiAgICAgICAgbnVsbCB8IHN0cmluZztcbiAgICBoZWFkX29mX3RoZV9mYW1pbHk6IG51bWJlcjtcbiAgICBhZnJvX2Rlc2NlbmRhbnQ6ICAgIG51bWJlcjtcbiAgICBkaXNwbGFjZWQ6ICAgICAgICAgIG51bWJlcjtcbiAgICBpbmRpZ2Vub3VzOiAgICAgICAgIG51bWJlcjtcbiAgICByZWluc2VydGVkOiAgICAgICAgIG51bWJlcjtcbiAgICByb21fcG9wdWxhdGlvbjogICAgIG51bWJlcjtcbiAgICB1cGRhdGVkX2F0OiAgICAgICAgIERhdGU7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSUFncmVlbWVudFJzIHtcbiAgICBjb2RlOiAgICAgbnVtYmVyO1xuICAgIG5hbWU6ICAgICBzdHJpbmc7XG4gICAgZW5kX3RpbWU6IERhdGU7XG4gICAgY2F0ZWdvcnk6IG51bWJlcjtcbiAgICBzdGF0dXM6ICAgbnVtYmVyO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElDb2RTdGF0dXNScyB7XG4gICAgY29kZTogICAgICAgICBudW1iZXI7XG4gICAgc3RhdHVzOiAgICAgICBzdHJpbmc7XG4gICAgY29sb3Jfc3RhdHVzOiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSUNvdXJzZVJzIHtcbiAgICBjb2RlOiAgICAgICAgICAgIG51bWJlcjtcbiAgICBjb3Vyc2Vfc2NoZWR1bGU6IG51bWJlcjtcbiAgICB0ZWFjaGVyOiAgICAgICAgIElUZWFjaGVyUnM7XG4gICAgY291cnNlX3R5cGU6ICAgICBJQ291cnNlQ291cnNlVHlwZVJzO1xuICAgIHRvX3N0YXJ0OiAgICAgICAgRGF0ZTtcbiAgICBzdGFydF9kYXRlOiAgICAgIERhdGUgfCBudWxsO1xuICAgIGZpbmlzaF9kYXRlOiAgICAgRGF0ZSB8IG51bGw7XG4gICAgY2FwYWNpdHk6ICAgICAgICBudW1iZXI7XG4gICAgbW9yZV9kYXlzOiAgICAgICBudWxsO1xuICAgIGVuZ2xpc2hfbGV2ZWw6ICAgSUVuZ2xpc2hMZXZlbFJzO1xuICAgIGFncmVlbWVudDogICAgICAgSUFncmVlbWVudFJzO1xuICAgIGNvdXJzZV9tb2RhbGl0eTogbnVtYmVyO1xuICAgIGlzX3Jlbm92YXRpb246ICAgbnVtYmVyO1xuICAgIGlzX2Zyb206ICAgICAgICAgbnVtYmVyIHwgbnVsbDtcbiAgICBpc19jbHViOiAgICAgICAgIG51bWJlcjtcbiAgICBpc192aXNpYmxlOiAgICAgIG51bWJlcjtcbiAgICBjYW1wdXM6ICAgICAgICAgIG51bWJlcjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJQ291cnNlQ291cnNlVHlwZVJzIHtcbiAgICBjb2RlOiAgICAgICAgICAgICAgbnVtYmVyO1xuICAgIG5hbWU6ICAgICAgICAgICAgICBzdHJpbmc7XG4gICAgbGFiZWw6ICAgICAgICAgICAgIHN0cmluZztcbiAgICBudW1iZXJfY2xhc3M6ICAgICAgbnVtYmVyO1xuICAgIG51bWJlcl9jbGFzc19jbHViOiBudW1iZXI7XG4gICAgYWNhZGVtaWNfcGxhbjogICAgIElBY2FkZW1pY1BsYW5ScztcbiAgICB0aGVvcnlfY2xhc3NlczogICAgbnVtYmVyO1xuICAgIGNsdWJfY2xhc3NlczogICAgICBudW1iZXI7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSUFjYWRlbWljUGxhblJzIHtcbiAgICBjb2RlOiAgICAgICBudW1iZXI7XG4gICAgbmFtZTogICAgICAgc3RyaW5nO1xuICAgIGFmdGVyX2FnZTogIG51bWJlcjtcbiAgICBiZWZvcmVfYWdlOiBudW1iZXI7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSUVuZ2xpc2hMZXZlbFJzIHtcbiAgICBjb2RlOiBudW1iZXI7XG4gICAgbmFtZTogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElUZWFjaGVyUnMge1xuICAgIGNvZGU6ICAgICAgICAgICAgIG51bWJlcjtcbiAgICBuYW1lOiAgICAgICAgICAgICBzdHJpbmc7XG4gICAgbGFzdF9uYW1lOiAgICAgICAgc3RyaW5nO1xuICAgIG5pY2tfbmFtZTogICAgICAgIHN0cmluZztcbiAgICBlbWFpbDogICAgICAgICAgICBzdHJpbmc7XG4gICAgZW1haWxfaXB0OiAgICAgICAgc3RyaW5nO1xuICAgIHJvbGU6ICAgICAgICAgICAgIG51bWJlcjtcbiAgICBwaG9uZV9pbmRpY2F0aXZlOiBudW1iZXI7XG4gICAgcGhvbmVfbnVtYmVyOiAgICAgc3RyaW5nO1xuICAgIGdlbmRlcjogICAgICAgICAgIG51bWJlcjtcbiAgICBiaXJ0aGRhdGU6ICAgICAgICBEYXRlO1xuICAgIGNpdHk6ICAgICAgICAgICAgIG51bWJlcjtcbiAgICBpZF9jYXJkX3R5cGU6ICAgICBudW1iZXI7XG4gICAgaWRfY2FyZDogICAgICAgICAgc3RyaW5nO1xuICAgIHVzZXJfc3RhdHVzOiAgICAgIG51bWJlcjtcbiAgICBwYXNzd29yZF9jaGFuZ2U6ICBudW1iZXI7XG4gICAgc3RhdHVzX2FzaW5nOiAgICAgbnVtYmVyO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElDb3Vyc2VBc3NpZ25lZFJzIHtcbiAgICBjb3Vyc2VfdGhlb3J5OiAgICAgICAgICBudW1iZXI7XG4gICAgY291cnNlX2NsdWI6ICAgICAgICAgICAgbnVtYmVyO1xuICAgIGNvdXJzZV9zY2hlZHVsZV90aGVvcnk6IElDb3Vyc2VTY2hlZHVsZVJzO1xuICAgIGNvdXJzZV9zY2hlZHVsZV9jbHViOiAgIElDb3Vyc2VTY2hlZHVsZVJzO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElDb3Vyc2VTY2hlZHVsZVJzIHtcbiAgICBDbGFzc0RheXM6IHN0cmluZztcbiAgICBUaW1lczogICAgIElUaW1lc1JzO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElUaW1lc1JzIHtcbiAgICBTdGFyVGltZTogc3RyaW5nO1xuICAgIEVuZFRpbWU6ICBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSURhdHVtQ291cnNlVHlwZVJzIHtcbiAgICBjb2RlOiAgICAgICAgICAgICAgbnVtYmVyO1xuICAgIG5hbWU6ICAgICAgICAgICAgICBzdHJpbmc7XG4gICAgbGFiZWw6ICAgICAgICAgICAgIHN0cmluZztcbiAgICBudW1iZXJfY2xhc3M6ICAgICAgbnVtYmVyO1xuICAgIG51bWJlcl9jbGFzc19jbHViOiBudW1iZXI7XG4gICAgYWNhZGVtaWNfcGxhbjogICAgIG51bWJlcjtcbiAgICB0aGVvcnlfY2xhc3NlczogICAgbnVtYmVyO1xuICAgIGNsdWJfY2xhc3NlczogICAgICBudW1iZXI7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSVBhcmVudFJzIHtcbiAgICBjb2RlOiAgICAgICAgICAgICBudW1iZXI7XG4gICAgbmFtZTogICAgICAgICAgICAgc3RyaW5nO1xuICAgIGxhc3RfbmFtZTogICAgICAgIHN0cmluZztcbiAgICBpZF9jYXJkX3R5cGU6ICAgICBudW1iZXI7XG4gICAgaWRfY2FyZDogICAgICAgICAgc3RyaW5nO1xuICAgIHBob25lX2luZGljYXRpdmU6IG51bWJlcjtcbiAgICBwaG9uZV9udW1iZXI6ICAgICBzdHJpbmc7XG4gICAgb2NjdXBhdGlvbjogICAgICAgc3RyaW5nO1xuICAgIG9mZmljZV9hZHJyZXNzOiAgIHN0cmluZztcbiAgICBlbWFpbDogICAgICAgICAgICBzdHJpbmcgfCBudWxsO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElTdHVkZW50UnMge1xuICAgIGNvZGU6ICAgICAgICAgICAgIG51bWJlcjtcbiAgICBuYW1lOiAgICAgICAgICAgICBzdHJpbmc7XG4gICAgbGFzdF9uYW1lOiAgICAgICAgc3RyaW5nO1xuICAgIG5pY2tfbmFtZTogICAgICAgIHN0cmluZztcbiAgICBlbWFpbDogICAgICAgICAgICBzdHJpbmc7XG4gICAgZW1haWxfaXB0OiAgICAgICAgc3RyaW5nIHwgbnVsbDtcbiAgICByb2xlOiAgICAgICAgICAgICBudW1iZXI7XG4gICAgcGhvbmVfaW5kaWNhdGl2ZTogbnVtYmVyO1xuICAgIHBob25lX251bWJlcjogICAgIHN0cmluZztcbiAgICBnZW5kZXI6ICAgICAgICAgICBudW1iZXI7XG4gICAgYmlydGhkYXRlOiAgICAgICAgRGF0ZTtcbiAgICBjaXR5OiAgICAgICAgICAgICBJQ2l0eVJzO1xuICAgIGlkX2NhcmRfdHlwZTogICAgIG51bWJlcjtcbiAgICBpZF9jYXJkOiAgICAgICAgICBzdHJpbmc7XG4gICAgdXNlcl9zdGF0dXM6ICAgICAgbnVtYmVyO1xuICAgIHBhc3N3b3JkX2NoYW5nZTogIG51bWJlcjtcbiAgICBzdGF0dXNfYXNpbmc6ICAgICBudW1iZXI7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSUNpdHlScyB7XG4gICAgY29kZTogICAgbnVtYmVyO1xuICAgIG5hbWU6ICAgIHN0cmluZztcbiAgICBzdGF0ZTogICBudW1iZXI7XG4gICAgY2FwaXRhbDogbnVtYmVyO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElNZXNzYWdlUnMge1xuICAgIGNvZGU6ICAgIG51bWJlcjtcbiAgICBtZXNzYWdlOiBzdHJpbmc7XG59XG4iXX0=
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVybXMtcnMubW9kZWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9kZXNpZ24tc3lzdGVtL3NyYy9saWIvY29yZS9tb2RlbHMvdGVybXMvdGVybXMtcnMubW9kZWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBpbnRlcmZhY2UgSUNvZFdpdGhUaGVpclN0YXRlc1JxIHtcbiAgICB0b2tlbjogICAgICAgICAgICAgc3RyaW5nO1xuICAgIGNvZGVfdHlwZV9jb25zdWx0OiBudW1iZXI7XG4gICAgY29kZV9hZHZpc2VyOiAgICAgIG51bWJlcjtcbiAgICBzdGFydF9kYXRlOiAgICAgICAgRGF0ZTtcbiAgICBmaW5pc2hfZGF0ZTogICAgICAgRGF0ZTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBDb2RXaXRoVGhlaXJTdGF0ZXMge1xuICAgIGlwX2FwcGxpY2FudDogc3RyaW5nO1xuICAgIHN0YXR1czogICAgICAgbnVtYmVyO1xuICAgIG1lc3NhZ2U6ICAgICAgSU1lc3NhZ2VScztcbiAgICBkYXRhOiAgICAgICAgIElDb2RXaXRoVGhlaXJTdGF0ZXNSc1tdO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElDb2RXaXRoVGhlaXJTdGF0ZXNScyB7XG4gICAgY29kZTogICAgICAgICAgICAgICAgICAgbnVtYmVyO1xuICAgIGNvdXJzZTogICAgICAgICAgICAgICAgIElDb3Vyc2VScztcbiAgICBjb3Vyc2VfdHlwZTogICAgICAgICAgICBJRGF0dW1Db3Vyc2VUeXBlUnM7XG4gICAgYWdyZWVtZW50OiAgICAgICAgICAgICAgSUFncmVlbWVudFJzO1xuICAgIGVuZ2xpc2hfbGV2ZWw6ICAgICAgICAgIElFbmdsaXNoTGV2ZWxScztcbiAgICBzdHVkZW50OiAgICAgICAgICAgICAgICBJU3R1ZGVudFJzO1xuICAgIHBhcmVudDogICAgICAgICAgICAgICAgIElQYXJlbnRScyB8IG51bGw7XG4gICAgYWR2aXNlcjogICAgICAgICAgICAgICAgbnVtYmVyO1xuICAgIGNvZF9zdGF0dXM6ICAgICAgICAgICAgIElDb2RTdGF0dXNScztcbiAgICBjb2RfcHJpY2U6ICAgICAgICAgICAgICBudW1iZXI7XG4gICAgY29kX3BhaWQ6ICAgICAgICAgICAgICAgbnVtYmVyO1xuICAgIGFjY2VwdF90ZXJtc19jb2RlOiAgICAgIG51bWJlciB8IG51bGw7XG4gICAgY3JlYXRlZF9hdDogICAgICAgICAgICAgRGF0ZTtcbiAgICBjb3Vyc2VBc3NpZ25lZDogICAgICAgICBJQ291cnNlQXNzaWduZWRScztcbiAgICBhZGRpdGlvbmFsX2luZm9ybWF0aW9uOiBJQWRkaXRpb25hbEluZm9ybWF0aW9uUnM7XG4gICAgYWNjZXB0X3Rlcm06ICAgICAgICAgICAgSUFjY2VwdFRlcm1ScyB8IG51bGw7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSUFjY2VwdFRlcm1ScyB7XG4gICAgY29kZTogICAgICAgICAgICAgbnVtYmVyO1xuICAgIHVzZXJfY29kZTogICAgICAgIG51bWJlcjtcbiAgICBhY2NlcHRhbmNlX3Rva2VuOiBzdHJpbmc7XG4gICAgaXNfYWNjZXB0ZWQ6ICAgICAgbnVtYmVyO1xuICAgIGlzX3VzZWQ6ICAgICAgICAgIG51bWJlcjtcbiAgICBpc19hY3RpdmU6ICAgICAgICBudW1iZXI7XG4gICAgZXhwaXJlc19hdDogICAgICAgRGF0ZTtcbiAgICBhY2NlcHRlZF9hdDogICAgICBEYXRlIHwgbnVsbDtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJQWRkaXRpb25hbEluZm9ybWF0aW9uUnMge1xuICAgIGNvZGU6ICAgICAgICAgICAgICAgbnVtYmVyO1xuICAgIHNvY2lhbF9zdHJhdHVtOiAgICAgbnVtYmVyO1xuICAgIGNpdmlsX3N0YXR1czogICAgICAgbnVtYmVyO1xuICAgIGVkdWNhdGlvbmFsX2xldmVsOiAgc3RyaW5nO1xuICAgIHN0dWRlbnRfYWRkcmVzczogICAgc3RyaW5nO1xuICAgIHN0dWRlbnRfb2NjdXBhdGlvbjogc3RyaW5nO1xuICAgIGRpc2FiaWxpdHk6ICAgICAgICAgc3RyaW5nO1xuICAgIGhlYWx0aF9yZWdpbWVuOiAgICAgc3RyaW5nO1xuICAgIG1hcmtldGluZ19yZWFzb25zOiAgbnVtYmVyO1xuICAgIHN0dWR5X3JlYXNvbnM6ICAgICAgbnVtYmVyO1xuICAgIG9ic2VydmF0aW9uOiAgICAgICAgbnVsbCB8IHN0cmluZztcbiAgICBoZWFkX29mX3RoZV9mYW1pbHk6IG51bWJlcjtcbiAgICBhZnJvX2Rlc2NlbmRhbnQ6ICAgIG51bWJlcjtcbiAgICBkaXNwbGFjZWQ6ICAgICAgICAgIG51bWJlcjtcbiAgICBpbmRpZ2Vub3VzOiAgICAgICAgIG51bWJlcjtcbiAgICByZWluc2VydGVkOiAgICAgICAgIG51bWJlcjtcbiAgICByb21fcG9wdWxhdGlvbjogICAgIG51bWJlcjtcbiAgICB1cGRhdGVkX2F0OiAgICAgICAgIERhdGU7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSUFncmVlbWVudFJzIHtcbiAgICBjb2RlOiAgICAgbnVtYmVyO1xuICAgIG5hbWU6ICAgICBzdHJpbmc7XG4gICAgZW5kX3RpbWU6IERhdGU7XG4gICAgY2F0ZWdvcnk6IG51bWJlcjtcbiAgICBzdGF0dXM6ICAgbnVtYmVyO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElDb2RTdGF0dXNScyB7XG4gICAgY29kZTogICAgICAgICBudW1iZXI7XG4gICAgc3RhdHVzOiAgICAgICBzdHJpbmc7XG4gICAgY29sb3Jfc3RhdHVzOiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSUNvdXJzZVJzIHtcbiAgICBjb2RlOiAgICAgICAgICAgIG51bWJlcjtcbiAgICBjb3Vyc2Vfc2NoZWR1bGU6IG51bWJlcjtcbiAgICB0ZWFjaGVyOiAgICAgICAgIElUZWFjaGVyUnM7XG4gICAgY291cnNlX3R5cGU6ICAgICBJQ291cnNlQ291cnNlVHlwZVJzO1xuICAgIHRvX3N0YXJ0OiAgICAgICAgRGF0ZTtcbiAgICBzdGFydF9kYXRlOiAgICAgIERhdGUgfCBudWxsO1xuICAgIGZpbmlzaF9kYXRlOiAgICAgRGF0ZSB8IG51bGw7XG4gICAgY2FwYWNpdHk6ICAgICAgICBudW1iZXI7XG4gICAgbW9yZV9kYXlzOiAgICAgICBudWxsO1xuICAgIGVuZ2xpc2hfbGV2ZWw6ICAgSUVuZ2xpc2hMZXZlbFJzO1xuICAgIGFncmVlbWVudDogICAgICAgSUFncmVlbWVudFJzO1xuICAgIGNvdXJzZV9tb2RhbGl0eTogbnVtYmVyO1xuICAgIGlzX3Jlbm92YXRpb246ICAgbnVtYmVyO1xuICAgIGlzX2Zyb206ICAgICAgICAgbnVtYmVyIHwgbnVsbDtcbiAgICBpc19jbHViOiAgICAgICAgIG51bWJlcjtcbiAgICBpc192aXNpYmxlOiAgICAgIG51bWJlcjtcbiAgICBjYW1wdXM6ICAgICAgICAgIG51bWJlcjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJQ291cnNlQ291cnNlVHlwZVJzIHtcbiAgICBjb2RlOiAgICAgICAgICAgICAgbnVtYmVyO1xuICAgIG5hbWU6ICAgICAgICAgICAgICBzdHJpbmc7XG4gICAgbGFiZWw6ICAgICAgICAgICAgIHN0cmluZztcbiAgICBudW1iZXJfY2xhc3M6ICAgICAgbnVtYmVyO1xuICAgIG51bWJlcl9jbGFzc19jbHViOiBudW1iZXI7XG4gICAgYWNhZGVtaWNfcGxhbjogICAgIElBY2FkZW1pY1BsYW5ScztcbiAgICB0aGVvcnlfY2xhc3NlczogICAgbnVtYmVyO1xuICAgIGNsdWJfY2xhc3NlczogICAgICBudW1iZXI7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSUFjYWRlbWljUGxhblJzIHtcbiAgICBjb2RlOiAgICAgICBudW1iZXI7XG4gICAgbmFtZTogICAgICAgc3RyaW5nO1xuICAgIGFmdGVyX2FnZTogIG51bWJlcjtcbiAgICBiZWZvcmVfYWdlOiBudW1iZXI7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSUVuZ2xpc2hMZXZlbFJzIHtcbiAgICBjb2RlOiBudW1iZXI7XG4gICAgbmFtZTogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElUZWFjaGVyUnMge1xuICAgIGNvZGU6ICAgICAgICAgICAgIG51bWJlcjtcbiAgICBuYW1lOiAgICAgICAgICAgICBzdHJpbmc7XG4gICAgbGFzdF9uYW1lOiAgICAgICAgc3RyaW5nO1xuICAgIG5pY2tfbmFtZTogICAgICAgIHN0cmluZztcbiAgICBlbWFpbDogICAgICAgICAgICBzdHJpbmc7XG4gICAgZW1haWxfaXB0OiAgICAgICAgc3RyaW5nO1xuICAgIHJvbGU6ICAgICAgICAgICAgIG51bWJlcjtcbiAgICBwaG9uZV9pbmRpY2F0aXZlOiBudW1iZXI7XG4gICAgcGhvbmVfbnVtYmVyOiAgICAgc3RyaW5nO1xuICAgIGdlbmRlcjogICAgICAgICAgIG51bWJlcjtcbiAgICBiaXJ0aGRhdGU6ICAgICAgICBEYXRlO1xuICAgIGNpdHk6ICAgICAgICAgICAgIG51bWJlcjtcbiAgICBpZF9jYXJkX3R5cGU6ICAgICBudW1iZXI7XG4gICAgaWRfY2FyZDogICAgICAgICAgc3RyaW5nO1xuICAgIHVzZXJfc3RhdHVzOiAgICAgIG51bWJlcjtcbiAgICBwYXNzd29yZF9jaGFuZ2U6ICBudW1iZXI7XG4gICAgc3RhdHVzX2FzaW5nOiAgICAgbnVtYmVyO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElDb3Vyc2VBc3NpZ25lZFJzIHtcbiAgICBjb3Vyc2VfdGhlb3J5OiAgICAgICAgICBudW1iZXI7XG4gICAgY291cnNlX2NsdWI6ICAgICAgICAgICAgbnVtYmVyO1xuICAgIGNvdXJzZV9zY2hlZHVsZV90aGVvcnk6IElDb3Vyc2VTY2hlZHVsZVJzO1xuICAgIGNvdXJzZV9zY2hlZHVsZV9jbHViOiAgIElDb3Vyc2VTY2hlZHVsZVJzO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElDb3Vyc2VTY2hlZHVsZVJzIHtcbiAgICBDbGFzc0RheXM6IHN0cmluZztcbiAgICBUaW1lczogICAgIElUaW1lc1JzO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElUaW1lc1JzIHtcbiAgICBTdGFyVGltZTogc3RyaW5nO1xuICAgIEVuZFRpbWU6ICBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSURhdHVtQ291cnNlVHlwZVJzIHtcbiAgICBjb2RlOiAgICAgICAgICAgICAgbnVtYmVyO1xuICAgIG5hbWU6ICAgICAgICAgICAgICBzdHJpbmc7XG4gICAgbGFiZWw6ICAgICAgICAgICAgIHN0cmluZztcbiAgICBudW1iZXJfY2xhc3M6ICAgICAgbnVtYmVyO1xuICAgIG51bWJlcl9jbGFzc19jbHViOiBudW1iZXI7XG4gICAgYWNhZGVtaWNfcGxhbjogICAgIG51bWJlcjtcbiAgICB0aGVvcnlfY2xhc3NlczogICAgbnVtYmVyO1xuICAgIGNsdWJfY2xhc3NlczogICAgICBudW1iZXI7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSVBhcmVudFJzIHtcbiAgICBjb2RlOiAgICAgICAgICAgICBudW1iZXI7XG4gICAgbmFtZTogICAgICAgICAgICAgc3RyaW5nO1xuICAgIGxhc3RfbmFtZTogICAgICAgIHN0cmluZztcbiAgICBpZF9jYXJkX3R5cGU6ICAgICBudW1iZXI7XG4gICAgaWRfY2FyZDogICAgICAgICAgc3RyaW5nO1xuICAgIHBob25lX2luZGljYXRpdmU6IG51bWJlcjtcbiAgICBwaG9uZV9udW1iZXI6ICAgICBzdHJpbmc7XG4gICAgb2NjdXBhdGlvbjogICAgICAgc3RyaW5nO1xuICAgIG9mZmljZV9hZHJyZXNzOiAgIHN0cmluZztcbiAgICBlbWFpbDogICAgICAgICAgICBzdHJpbmcgfCBudWxsO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElTdHVkZW50UnMge1xuICAgIGNvZGU6ICAgICAgICAgICAgIG51bWJlcjtcbiAgICBuYW1lOiAgICAgICAgICAgICBzdHJpbmc7XG4gICAgbGFzdF9uYW1lOiAgICAgICAgc3RyaW5nO1xuICAgIG5pY2tfbmFtZTogICAgICAgIHN0cmluZztcbiAgICBlbWFpbDogICAgICAgICAgICBzdHJpbmc7XG4gICAgZW1haWxfaXB0OiAgICAgICAgc3RyaW5nIHwgbnVsbDtcbiAgICByb2xlOiAgICAgICAgICAgICBudW1iZXI7XG4gICAgcGhvbmVfaW5kaWNhdGl2ZTogbnVtYmVyO1xuICAgIHBob25lX251bWJlcjogICAgIHN0cmluZztcbiAgICBnZW5kZXI6ICAgICAgICAgICBudW1iZXI7XG4gICAgYmlydGhkYXRlOiAgICAgICAgRGF0ZTtcbiAgICBjaXR5OiAgICAgICAgICAgICBJQ2l0eVJzO1xuICAgIGlkX2NhcmRfdHlwZTogICAgIG51bWJlcjtcbiAgICBpZF9jYXJkOiAgICAgICAgICBzdHJpbmc7XG4gICAgdXNlcl9zdGF0dXM6ICAgICAgbnVtYmVyO1xuICAgIHBhc3N3b3JkX2NoYW5nZTogIG51bWJlcjtcbiAgICBzdGF0dXNfYXNpbmc6ICAgICBudW1iZXI7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSUNpdHlScyB7XG4gICAgY29kZTogICAgbnVtYmVyO1xuICAgIG5hbWU6ICAgIHN0cmluZztcbiAgICBzdGF0ZTogICBudW1iZXI7XG4gICAgY2FwaXRhbDogbnVtYmVyO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElNZXNzYWdlUnMge1xuICAgIGNvZGU6ICAgIG51bWJlcjtcbiAgICBtZXNzYWdlOiBzdHJpbmc7XG59XG5cbi8vLy8vLy8vLy8vLy8vLy8gICBleHRlbmRUaW1lT2ZBY2NlcHRhbmNlT2ZUZXJtcyAgLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbmV4cG9ydCBpbnRlcmZhY2UgSUV4dGVuZFRpbWVUZXJtc1JxIHtcbiAgICB0b2tlbjogICAgIHN0cmluZztcbiAgICBjb2RfY29kZTogIG51bWJlcjtcbiAgICB0aW1lX2RheXM6IG51bWJlcjtcbn1cblxuXG4vLy8vLy8vLy8vLy8vLy8vICAgZ2V0QWxsQ29kSW5mb3JtYXRpb25Gb3JFeHBvcnRpbmcgIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5leHBvcnQgaW50ZXJmYWNlIElBbGxDb2RJbmZFeHBvcnRpbmdScSB7XG4gICAgdG9rZW46ICAgIHN0cmluZztcbiAgICBjb2RfY29kZTogbnVtYmVyO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElBbGxDb2RJbmZFeHBvcnRpbmdScyB7XG4gICAgZGF0YV9jb2Q6ICAgICAgSURhdGFDb2RScztcbiAgICBkYXRhX3BhcmVudDogICBJRGF0YVBhcmVudFJzO1xuICAgIGRhdGFfcmVmZXJyYWw6IGFueVtdO1xuICAgIGRhdGFfcGF5bWVudDogIElEYXRhUGF5bWVudFJzW107XG4gICAgZGF0YV9jb3Vyc2U6ICAgSURhdGFEYXRhQ291cnNlUnM7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSURhdGFDb2RScyB7XG4gICAgY29kZTogICAgICAgICAgICAgICAgICAgICAgbnVtYmVyO1xuICAgIGNvdXJzZTogICAgICAgICAgICAgICAgICAgIG51bWJlcjtcbiAgICBjb3Vyc2VfdHlwZTogICAgICAgICAgICAgICBudW1iZXI7XG4gICAgYWdyZWVtZW50OiAgICAgICAgICAgICAgICAgbnVtYmVyO1xuICAgIGVuZ2xpc2hfbGV2ZWw6ICAgICAgICAgICAgIG51bWJlcjtcbiAgICBzdHVkZW50OiAgICAgICAgICAgICAgICAgICBudW1iZXI7XG4gICAgcGFyZW50OiAgICAgICAgICAgICAgICAgICAgbnVtYmVyIHwgbnVsbDtcbiAgICBhZGl0aW9uYWxfaW5mb3JtYXRpb246ICAgICBudW1iZXI7XG4gICAgYWR2aXNlcjogICAgICAgICAgICAgICAgICAgbnVtYmVyO1xuICAgIGNvZF9zdGF0dXM6ICAgICAgICAgICAgICAgIG51bWJlcjtcbiAgICBjb2RfcHJpY2U6ICAgICAgICAgICAgICAgICBudW1iZXI7XG4gICAgY29kX3BhaWQ6ICAgICAgICAgICAgICAgICAgbnVtYmVyO1xuICAgIGFjY2VwdF90ZXJtc19jb2RlOiAgICAgICAgIG51bWJlcjtcbiAgICB1cGRhdGVkX2F0OiAgICAgICAgICAgICAgICBEYXRlO1xuICAgIGNyZWF0ZWRfYXQ6ICAgICAgICAgICAgICAgIERhdGU7XG4gICAgY291cnNlX2NvZGU6ICAgICAgICAgICAgICAgbnVtYmVyO1xuICAgIGNvdXJzZV90eXBlX25hbWU6ICAgICAgICAgIHN0cmluZztcbiAgICBjb3Vyc2VfbW9kYWxpdHlfbmFtZTogICAgICBudW1iZXI7XG4gICAgY291cnNlX3R5cGVfbGFiZWw6ICAgICAgICAgc3RyaW5nO1xuICAgIGNvdXJzZV9hY2FkZW1pY19wbGFuOiAgICAgIHN0cmluZztcbiAgICBjb3Vyc2VfYWNhX3BsYW5fY29kZTogICAgICBudW1iZXI7XG4gICAgY291cnNlX3RoZW9yeV9jbGFzc2VzOiAgICAgbnVtYmVyO1xuICAgIGNvdXJzZV9jbHViX2NsYXNzZXM6ICAgICAgIG51bWJlcjtcbiAgICBjb3Vyc2Vfc3RhcnQ6ICAgICAgICAgICAgICBEYXRlIHwgbnVsbDtcbiAgICBjb3Vyc2VfZmluaXNoOiAgICAgICAgICAgICBEYXRlIHwgbnVsbDtcbiAgICB0ZWFjaGVyX2NvZGU6ICAgICAgICAgICAgICBudW1iZXI7XG4gICAgZW5nbGlzaF9sZXZlbF9uYW1lOiAgICAgICAgc3RyaW5nO1xuICAgIHRlYWNoZXJfbmFtZTogICAgICAgICAgICAgIHN0cmluZztcbiAgICBhZ3JlZW1lbnRfbmFtZTogICAgICAgICAgICBzdHJpbmc7XG4gICAgc3R1ZGVudF9uYW1lOiAgICAgICAgICAgICAgc3RyaW5nO1xuICAgIHN0dWRlbnRfdHlwZV9pZGNhcmQ6ICAgICAgIHN0cmluZztcbiAgICBzdHVkZW50X2lkY2FyZDogICAgICAgICAgICBzdHJpbmc7XG4gICAgc3R1ZGVudF9lbWFpbDogICAgICAgICAgICAgc3RyaW5nO1xuICAgIHBob25lX3ByZWZpeDogICAgICAgICAgICAgIHN0cmluZztcbiAgICBzdHVkZW50X3Bob25lOiAgICAgICAgICAgICBzdHJpbmc7XG4gICAgc3R1ZGVudF9nZW5kZXI6ICAgICAgICAgICAgbnVtYmVyO1xuICAgIHN0dWRlbnRfYmlydGhkYXRlOiAgICAgICAgIERhdGU7XG4gICAgc3R1ZGVudF9vY2N1cGF0aW9uOiAgICAgICAgc3RyaW5nO1xuICAgIHN0dWRlbnRfZGlzYWJpbGl0eTogICAgICAgIHN0cmluZztcbiAgICBzdHVkZW50X2hlYWx0aF9yZWdpbWVuOiAgICBzdHJpbmc7XG4gICAgc3R1ZGVudF9vYnNlcnZhdGlvbjogICAgICAgbnVsbDtcbiAgICBzdHVkZW50X2VkdWNhdGlvbmFsX2xldmVsOiBzdHJpbmc7XG4gICAgc3R1ZGVudF9zdHJhdHVtOiAgICAgICAgICAgc3RyaW5nO1xuICAgIHN0dWRlbnRfY2l2aWxfc3RhdHVzOiAgICAgIHN0cmluZztcbiAgICBzdHVkZW50X21rdF9yZWFzb246ICAgICAgICBzdHJpbmc7XG4gICAgc3R1ZGVudF9ob2ZhbWlseTogICAgICAgICAgbnVtYmVyO1xuICAgIHN0dWRlbnRfYWZyb19kZXNjZW5kYW50OiAgIG51bWJlcjtcbiAgICBzdHVkZW50X2Rpc3BsYWNlZDogICAgICAgICBudW1iZXI7XG4gICAgc3R1ZGVudF9pbmRpZ2Vub3VzOiAgICAgICAgbnVtYmVyO1xuICAgIHN0dWRlbnRfcmVpbnNlcnRlZDogICAgICAgIG51bWJlcjtcbiAgICBzdHVkZW50X3JvbV9wb3B1bGF0aW9uOiAgICBudW1iZXI7XG4gICAgYWR2aXNlcl9uYW1lOiAgICAgICAgICAgICAgc3RyaW5nO1xuICAgIGNvZF9zdGF0dXNfbmFtZTogICAgICAgICAgIHN0cmluZztcbiAgICBjb2RfcHJpY2VfbmFtZTogICAgICAgICAgICBzdHJpbmc7XG4gICAgc3RhdHVzX2NvZF9uYW1lY29sb3I6ICAgICAgc3RyaW5nO1xuICAgIG5hbWVfbGV2ZWxfc3R5bGU6ICAgICAgICAgIHN0cmluZztcbiAgICBhY2NlcHRfdGVybXM6ICAgICAgICAgICAgICBJQWNjZXB0VGVybXNScztcbiAgICB0ZXJtc19hY2NlcHRhbmNlX3JvdXRlOiAgICBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSUFjY2VwdFRlcm1zUnMge1xuICAgIGNvZGU6ICAgICAgICAgICAgIG51bWJlcjtcbiAgICB1c2VyX2NvZGU6ICAgICAgICBudW1iZXI7XG4gICAgYWNjZXB0YW5jZV90b2tlbjogc3RyaW5nO1xuICAgIGlzX2FjY2VwdGVkOiAgICAgIG51bWJlcjtcbiAgICBpc191c2VkOiAgICAgICAgICBudW1iZXI7XG4gICAgaXNfYWN0aXZlOiAgICAgICAgbnVtYmVyO1xuICAgIGV4cGlyZXNfYXQ6ICAgICAgIERhdGU7XG4gICAgYWNjZXB0ZWRfYXQ6ICAgICAgbnVsbDtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJRGF0YURhdGFDb3Vyc2VScyB7XG4gICAgZGF0YV9jb3Vyc2U6ICAgSURhdGFDb3Vyc2VEYXRhQ291cnNlUnM7XG4gICAgY291cnNlX3dhbGxldDogSUNvdXJzZVdhbGxldFJzO1xuICAgIHRoZW9yeTogICAgICAgIElEZXNjaXB0aW9uQ291cnNlUnM7XG4gICAgY2x1YjogICAgICAgICAgSURlc2NpcHRpb25Db3Vyc2VScztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJRGVzY2lwdGlvbkNvdXJzZVJzIHtcbiAgICBjb3Vyc2VfY29kZTogICAgICAgIG51bWJlcjtcbiAgICBzY2hlZHVsZV9jb2RlOiAgICAgIG51bWJlcjtcbiAgICB0ZWFjaGVyX25hbWU6ICAgICAgIHN0cmluZztcbiAgICBjbGFzc3Jvb21fY29kZTogICAgIG51bGw7XG4gICAgY291cnNlX21vZGFsaXR5OiAgICBudWxsO1xuICAgIGNsYXNzcm9vbV9uYW1lOiAgICAgbnVsbDtcbiAgICBjbGFzc3Jvb21fY2FwYWNpdHk6IG51bGw7XG4gICAgY2xhc3Nyb29tX2VtYWlsOiAgICBudWxsO1xuICAgIGNsYXNzcm9vbV9hZHJlc3M6ICAgbnVsbDtcbiAgICBjbGFzc3Jvb21fc3RhdHVzOiAgIG51bGw7XG4gICAgY2FtcHVzX25hbWU6ICAgICAgICBudWxsO1xuICAgIGNhbXB1c19jaXR5OiAgICAgICAgbnVsbDtcbiAgICBjYW1wdXNfc3RhdGU6ICAgICAgIG51bGw7XG4gICAgY2FtcHVzX2NvdW50cnk6ICAgICBudWxsO1xuICAgIGNhbXB1c19jb3VudHJ5X2lzbzogbnVsbDtcbiAgICBkZXRhaWxfc2NoZWR1bGU6ICAgIElDb3Vyc2VTY2hlZHVsZVJzO1xufVxuXG5cbmV4cG9ydCBpbnRlcmZhY2UgSUNvdXJzZVdhbGxldFJzIHtcbiAgICBzdGF0dXM6ICAgICAgIHN0cmluZztcbiAgICBjb2xvcl9zdGF0dXM6IHN0cmluZztcbiAgICB1c2VyX25hbWU6ICAgIHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJRGF0YUNvdXJzZURhdGFDb3Vyc2VScyB7XG4gICAgY291cnNlX2NvZGU6ICAgICAgICAgIG51bWJlcjtcbiAgICBjYW1wdXNfY29kZTogICAgICAgICAgbnVtYmVyO1xuICAgIGNhbXB1c19uYW1lOiAgICAgICAgICBzdHJpbmc7XG4gICAgY2FtcHVzX2FkZHJlc3M6ICAgICAgIHN0cmluZztcbiAgICBjYW1wdXNfZW1haWw6ICAgICAgICAgc3RyaW5nO1xuICAgIGNhbXB1c19waG9uZV9wcmVmaXg6ICBzdHJpbmc7XG4gICAgY2FtcHVzX3Bob25lOiAgICAgICAgIHN0cmluZztcbiAgICBjYW1wdXNfbWFwOiAgICAgICAgICAgc3RyaW5nO1xuICAgIGNhbXB1c19pbWFnZV91cmw6ICAgICBzdHJpbmc7XG4gICAgY2l0eV9jYW1wdXNfbmFtZTogICAgIHN0cmluZztcbiAgICBzdGF0ZV9jYW1wdXNfbmFtZTogICAgc3RyaW5nO1xuICAgIGNvbXBhbnlfbmFtZTogICAgICAgICBzdHJpbmc7XG4gICAgY29tbWVyY2lhbF9uYW1lOiAgICAgIHN0cmluZztcbiAgICBlbnRlcnByaXNlX2VtYWlsOiAgICAgc3RyaW5nO1xuICAgIGVudGVycHJpc2VfcGhvbmVfb25lOiBzdHJpbmc7XG4gICAgZW50ZXJwcmlzZV9waG9uZV90d286IHN0cmluZztcbiAgICBjaXR5X2VudGVycGlyc2VfbmFtZTogc3RyaW5nO1xuICAgIGN1cnJlbmN5X25hbWU6ICAgICAgICBzdHJpbmc7XG4gICAgY3VycmVuY3lfc3ltYm9sOiAgICAgIHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJRGF0YVBhcmVudFJzIHtcbiAgICBjb2RlOiAgICAgICAgICAgICAgICAgICAgbnVtYmVyO1xuICAgIG5hbWU6ICAgICAgICAgICAgICAgICAgICBzdHJpbmc7XG4gICAgbGFzdF9uYW1lOiAgICAgICAgICAgICAgIHN0cmluZztcbiAgICBpZF9jYXJkX3R5cGU6ICAgICAgICAgICAgbnVtYmVyO1xuICAgIGlkX2NhcmQ6ICAgICAgICAgICAgICAgICBzdHJpbmc7XG4gICAgcGhvbmVfaW5kaWNhdGl2ZTogICAgICAgIG51bWJlcjtcbiAgICBwaG9uZV9udW1iZXI6ICAgICAgICAgICAgc3RyaW5nO1xuICAgIG9jY3VwYXRpb246ICAgICAgICAgICAgICBzdHJpbmc7XG4gICAgb2ZmaWNlX2FkcnJlc3M6ICAgICAgICAgIHN0cmluZztcbiAgICBlbWFpbDogICAgICAgICAgICAgICAgICAgc3RyaW5nIHwgbnVsbDtcbiAgICB1cGRhdGVkX2F0OiAgICAgICAgICAgICAgRGF0ZTtcbiAgICBjcmVhdGVkX2F0OiAgICAgICAgICAgICAgRGF0ZTtcbiAgICBwaG9uZV9pbmRpY2F0aXZlX3ByZWZpeDogc3RyaW5nO1xuICAgIHR5cGVfaWRfY2FyZF9hY3JvbnltOiAgICBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSURhdGFQYXltZW50UnMge1xuICAgIGNvZGU6ICAgICAgICAgICAgICAgICAgICAgICBudW1iZXI7XG4gICAgY29kOiAgICAgICAgICAgICAgICAgICAgICAgIG51bWJlcjtcbiAgICB0aW1lbHlfZGF0ZTogICAgICAgICAgICAgICAgRGF0ZTtcbiAgICBhbW91bnQ6ICAgICAgICAgICAgICAgICAgICAgbnVtYmVyO1xuICAgIGZlZV9udW1iZXI6ICAgICAgICAgICAgICAgICBudW1iZXI7XG4gICAgc3RhdHVzOiAgICAgICAgICAgICAgICAgICAgIG51bWJlcjtcbiAgICB1cGRhdGVkX2Ftb3VudF9ieTogICAgICAgICAgbnVsbDtcbiAgICB1cGRhdGVkX2J5OiAgICAgICAgICAgICAgICAgbnVsbDtcbiAgICB1cGRhdGVkX2F0OiAgICAgICAgICAgICAgICAgRGF0ZTtcbiAgICBwYXltZW50X2JpbGxzX2NvdW50OiAgICAgICAgbnVtYmVyO1xuICAgIGNyZWRpdF9wYXltZW50X2luc3RhbGxtZW50OiBudW1iZXIgfCBudWxsO1xuICAgIHBheW1lbnRfYmlsbHM6ICAgICAgICAgICAgICBJUGF5bWVudEJpbGxSc1tdO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElQYXltZW50QmlsbFJzIHtcbiAgICBjb2RlOiAgICAgICAgICAgICAgbnVtYmVyO1xuICAgIGNvZF9wYXltZW50OiAgICAgICBudW1iZXI7XG4gICAgYW1vdW50OiAgICAgICAgICAgIG51bWJlcjtcbiAgICBjcmVhdGVkX2F0OiAgICAgICAgRGF0ZTtcbiAgICBpbnZvaWNlX2NhbmNlbGxlZDogbnVtYmVyO1xuICAgIHBheW1lbnRfYmlsbDogICAgICBudW1iZXI7XG59XG5cbi8vLy8vLy8vLy8vLy8vLy8gICBuZXdUZXJtc0FuZENvbmRpdGlvbnNBY2NlcHRhbmNlVG9rZW4gIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5leHBvcnQgaW50ZXJmYWNlIElOZXdUZXJtc0FuZENvbmRScSB7XG4gICAgdG9rZW46ICAgICAgICBzdHJpbmc7XG4gICAgY29kX2NvZGU6ICAgICBudW1iZXI7XG4gICAgcmVhc29uOiAgICAgICBudW1iZXI7XG4gICAgb2JzZXJ2YXRpb25zOiBzdHJpbmc7XG59XG4iXX0=
@@ -272,6 +272,16 @@ export class CommercialService extends IPTGeneralService {
272
272
  this.generateRequestParams(params);
273
273
  return this.http.post(serviceUrl, this.httpOptions);
274
274
  }
275
+ extendTimeOfAcceptanceOfTerms(params) {
276
+ let serviceUrl = this.SERVICE_URL + 'extend/time/of/acceptance/of/terms';
277
+ this.generateRequestParams(params);
278
+ return this.http.post(serviceUrl, this.httpOptions);
279
+ }
280
+ newTermsAndConditionsAcceptanceToken(params) {
281
+ let serviceUrl = this.SERVICE_URL + 'new/terms/and/conditions/acceptance/token';
282
+ this.generateRequestParams(params);
283
+ return this.http.post(serviceUrl, this.httpOptions);
284
+ }
275
285
  }
276
286
  CommercialService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.7", ngImport: i0, type: CommercialService, deps: [{ token: i1.HttpClient }], target: i0.ɵɵFactoryTarget.Injectable });
277
287
  CommercialService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.0.7", ngImport: i0, type: CommercialService, providedIn: 'root' });
@@ -279,4 +289,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.7", ngImpor
279
289
  type: Injectable,
280
290
  args: [{ providedIn: 'root' }]
281
291
  }], ctorParameters: function () { return [{ type: i1.HttpClient }]; } });
282
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tZXJjaWFsLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9kZXNpZ24tc3lzdGVtL3NyYy9saWIvY29yZS9zZXJ2aWNlcy9jb21tZXJjaWFsLXNlcnZpY2UvY29tZXJjaWFsLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUkzQyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQzs7O0FBVTNELE1BQU0sT0FBTyxpQkFBa0IsU0FBUSxpQkFBaUI7SUFJdEQsWUFBb0IsSUFBZ0I7UUFDbEMsS0FBSyxFQUFFLENBQUM7UUFEVSxTQUFJLEdBQUosSUFBSSxDQUFZO1FBRjVCLGdCQUFXLEdBQUcsaUJBQWlCLENBQUM7UUFJdEMsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUMsT0FBTyxFQUFFLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQztJQUN2RCxDQUFDO0lBRUQsU0FBUyxDQUFDLE9BQW9CO1FBQzVCLElBQUksVUFBVSxHQUFHLElBQUksQ0FBQyxXQUFXLEdBQUcsVUFBVSxDQUFDO1FBQy9DLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUNwQyxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsRUFBRSxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDdEQsQ0FBQztJQUVELG9CQUFvQixDQUFDLEtBQWEsRUFBRSxlQUF1QjtRQUN6RCxJQUFJLFVBQVUsR0FBRyxJQUFJLENBQUMsV0FBVyxHQUFHLG9DQUFvQyxDQUFDO1FBQ3pFLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxFQUFDLEtBQUssRUFBRSxlQUFlLEVBQUMsQ0FBQyxDQUFDO1FBQ3JELE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFFLElBQUksQ0FB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LE1BQXVDO1FBQ25FLElBQUksVUFBVSxHQUFHLElBQUksQ0FBQyxXQUFXLEdBQUcsbUNBQW1DLENBQUM7UUFDeEUsSUFBSSxDQUFDLHFCQUFxQixDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ25DLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFFLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUN0RCxDQUFDO0lBRUQsZ0NBQWdDLENBQUMsTUFBcUI7UUFDcEQsSUFBSSxVQUFVLEdBQUcsSUFBSSxDQUFDLFdBQVcsR0FBRyx1Q0FBdUMsQ0FBQztRQUM1RSxJQUFJLENBQUMscUJBQXFCLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDbkMsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLEVBQUUsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBQ3RELENBQUM7SUFFRCxpQ0FBaUMsQ0FBQyxNQUE2QjtRQUM3RCxJQUFJLFVBQVUsR0FBRyxJQUFJLENBQUMsV0FBVyxHQUFHLHlDQUF5QyxDQUFDO1FBQzlFLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUNuQyxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsRUFBRSxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDdEQsQ0FBQzs7OEdBM1RVLGlCQUFpQjtrSEFBakIsaUJBQWlCLGNBREwsTUFBTTsyRkFDbEIsaUJBQWlCO2tCQUQ3QixVQUFVO21CQUFDLEVBQUMsVUFBVSxFQUFFLE1BQU0sRUFBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IElnZXRDb3Vyc2VzRmluaXNoQW5kdW5hc3NpZ25lZFJxIH0gZnJvbSAnLi8uLi8uLi9tb2RlbHMvcmVwb3J0cy9yZXBvcnRzLm1vZGVsJztcbmltcG9ydCB7IEh0dHBDbGllbnQgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBHZXREaXNjb3VudENvdXBvbnNScSB9IGZyb20gJy4uLy4uL21vZGVscy9wYXltZW50L3BheW1lbnQtcnEubW9kZWwnO1xuaW1wb3J0IHsgQ3JlYXRlQ09EUnEsIEZ1bGxEYXRhQ09EUnEsIEdldENvZEJ5Q291cnNlUnEsIElVcGRhdGVDT0RScSwgSW9idGFpbmNvZEN1cnJyZW50QW5kTGV2ZWxGdWxsRGF0YVJlbm92YXRpb25zUnEsIElDb2RQYXltZW50UnEgfSBmcm9tICcuLi8uLi9tb2RlbHMvY29kL2NvZC1ycS5tb2RlbCc7XG5pbXBvcnQgeyBJUFRHZW5lcmFsU2VydmljZSB9IGZyb20gJy4uL3NlcnZpY2UtZW52aXJvbWVudHMnO1xuaW1wb3J0IHsgQWRpY0luZm9CeUNvZGVScSwgQ29kUHJpY2VzUnEsIElHb2FsSW50ZXJmYWNlUnEsIFBhcmVudEJ5Q29kZVJxLCBJT2J0YWluUmVmZXJzQnlVc2VyUnEsIElBc3NpZ25Qb3NpYmxlU3R1ZGVudEZvclZhbHVlUnEsIElHZXRDb250YWN0c2FkdmlzZXJScSwgSU9idGFpbkNvZFByaWNlc1JxLCBJQXNzaWduaW5nQWR2aXNvckdvYWxzUnEsIElSZXBvcnRDb2RGb3JBZHZpc2VyUnEsIElDcmVhdGVUaWNrZXRSZWZlcnJhbFJxLCBJQ29kRGV0YWlsc2J5QWR2aXNlciwgSUdldFBvc2libGVTdHVkZW50QnlEYXRlUnEsIElHZXRVc2VyQWR2aXNlckNvbW1lcmNpYWxCeVR5cGVBc3NpbmdDb250YWN0c1JxLCBBc3NpbmdDdXN0b21lcnNCeVR5cGVBc3NpbmdDb250YWN0Rm9yQWR2aXNlclJxLGdldFN1bW1hcnlCeUNvbW1lcmNpYWxBZHZpc29yUnEgfSBmcm9tICcuLi8uLi9tb2RlbHMvY29tbWVyY2lhbC9jb21tZXJjaWFsLm1vZGVsJztcbmltcG9ydCB7IFVzZXJUb2tlblJxIH0gZnJvbSAnLi4vLi4vbW9kZWxzL3VzZXIvdXNlci1ycS5tb2RlbCc7XG5pbXBvcnQgeyBJU29jaWFsTmV0d29ya3NScSB9IGZyb20gJy4uLy4uL21vZGVscy9tYXJrZXRpbmcvbWFya2V0aW5nLm1vZGVsJztcbmltcG9ydCB7IElPYnRhaW5BbGxDb3Vyc2V3YWxsZXQgfSBmcm9tICcuLi8uLi9tb2RlbHMvYnVkZ2V0L2J1ZGdldC5tb2RlbCc7XG5pbXBvcnQgeyBJT2J0YWluQWxsUmVmZXJyYWxzQnlVc2VyUnEgfSBmcm9tICcuLi8uLi9tb2RlbHMvdHJhbnNmZXIvdHJhbnNmZXIubW9kZWwnO1xuaW1wb3J0IHsgSUNvZFdpdGhUaGVpclN0YXRlc1JxIH0gZnJvbSAnLi4vLi4vbW9kZWxzL3Rlcm1zL3Rlcm1zLXJzLm1vZGVsJztcblxuXG5ASW5qZWN0YWJsZSh7cHJvdmlkZWRJbjogJ3Jvb3QnfSlcbmV4cG9ydCBjbGFzcyBDb21tZXJjaWFsU2VydmljZSBleHRlbmRzIElQVEdlbmVyYWxTZXJ2aWNlIHtcblxuICBwcml2YXRlIFNFUlZJQ0VfVVJMID0gJ2NvbW1lcmNpYWwvYXBpLyc7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBodHRwOiBIdHRwQ2xpZW50KSB7XG4gICAgc3VwZXIoKTtcbiAgICB0aGlzLlNFUlZJQ0VfVVJMID0gdGhpcy5iYXNlVXJsKCkgKyB0aGlzLlNFUlZJQ0VfVVJMO1xuICB9XG5cbiAgY3JlYXRlQ09EKHJlcXVlc3Q6IENyZWF0ZUNPRFJxKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBsZXQgc2VydmljZVVybCA9IHRoaXMuU0VSVklDRV9VUkwgKyAncG9zdC9jb2QnO1xuICAgIHRoaXMuZ2VuZXJhdGVSZXF1ZXN0UGFyYW1zKHJlcXVlc3QpO1xuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChzZXJ2aWNlVXJsLCB0aGlzLmh0dHBPcHRpb25zKTtcbiAgfVxuXG4gIGdldFN0dWRlbnRDb2RIaXN0b3J5KHRva2VuOiBzdHJpbmcsIHN0dWRlbnRfaWRfY2FyZDogbnVtYmVyKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBsZXQgc2VydmljZVVybCA9IHRoaXMuU0VSVklDRV9VUkwgKyAncG9zdC9vYnRhaW4vY29kL2hpc3RvcnkvYnkvc3R1ZGVudCc7XG4gICAgdGhpcy5nZW5lcmF0ZVJlcXVlc3RQYXJhbXMoe3Rva2VuLCBzdHVkZW50X2lkX2NhcmR9KTtcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Qoc2VydmljZVVybCwgdGhpcy5odHRwT3B0aW9ucyk7XG4gIH1cblxuICBnZXRDb2RIaXN0b3J5QWxsKHVzZXJUb2tlbjogYW55KTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBsZXQgc2VydmljZVVybCA9IHRoaXMuU0VSVklDRV9VUkwgKyAncG9zdC9vYnRhaW4vY29kL2hpc3RvcnkvYWxsJztcbiAgICB0aGlzLmdlbmVyYXRlUmVxdWVzdFBhcmFtcyh1c2VyVG9rZW4pO1xuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChzZXJ2aWNlVXJsLCB0aGlzLmh0dHBPcHRpb25zKTtcbiAgfVxuXG4gIGdldENvZEhpc3RvcnlCeUNvdXJzZShyZXF1ZXN0OiBhbnkpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGxldCBzZXJ2aWNlVXJsID0gdGhpcy5TRVJWSUNFX1VSTCArICdwb3N0L29idGFpbi9jb2QvaGlzdG9yeS9ieS9jb3Vyc2UnO1xuICAgIHRoaXMuZ2VuZXJhdGVSZXF1ZXN0UGFyYW1zKHJlcXVlc3QpO1xuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChzZXJ2aWNlVXJsLCB0aGlzLmh0dHBPcHRpb25zKTtcbiAgfVxuXG4gIGdldENvZEhpc3RvcnlCeUNvdXJzZUV4cG9ydChyZXF1ZXN0OiBhbnkpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGxldCBzZXJ2aWNlVXJsID0gdGhpcy5TRVJWSUNFX1VSTCArICdwb3N0L29idGFpbi9jb2QvaGlzdG9yeS9ieS9jb3Vyc2UvZXhwb3J0JztcbiAgICB0aGlzLmdlbmVyYXRlUmVxdWVzdFBhcmFtcyhyZXF1ZXN0KTtcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Qoc2VydmljZVVybCwgdGhpcy5odHRwT3B0aW9ucyk7XG4gIH1cblxuICBnZXREaXNjb3VudENvdXBvbnMocGFyYW1zOiBHZXREaXNjb3VudENvdXBvbnNScSk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgbGV0IHNlcnZpY2VVcmwgPSB0aGlzLlNFUlZJQ0VfVVJMICsgJ3Bvc3QvZGlzY291bnQvY291cG9uL3NlYXJjaCc7XG4gICAgdGhpcy5nZW5lcmF0ZVJlcXVlc3RQYXJhbXMocGFyYW1zKTtcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Qoc2VydmljZVVybCwgdGhpcy5odHRwT3B0aW9ucyk7XG4gIH1cblxuICBnZXRDb2RQcmljZXNCeUFncmVlbWVudChjb2RlOiBudW1iZXIpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGxldCBzZXJ2aWNlVXJsID0gdGhpcy5TRVJWSUNFX1VSTCArICdnZXQvY29kL3ByaWNlcy9ieS9hZ3JlZW1lbnQvJyArIGNvZGU7XG4gICAgdGhpcy5nZW5lcmF0ZVJlcXVlc3RQYXJhbXMoY29kZSk7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQoc2VydmljZVVybCwgdGhpcy5odHRwT3B0aW9ucyk7XG4gIH1cblxuICBnZXRDb2RQYXJlbnRCeUNvZGUocGFyYW1zOiBQYXJlbnRCeUNvZGVScSk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgbGV0IHNlcnZpY2VVcmwgPSB0aGlzLlNFUlZJQ0VfVVJMICsgJ3Bvc3Qvb2J0YWluL2NvZC9wYXJlbnQvYnkvY29kZSc7XG4gICAgdGhpcy5nZW5lcmF0ZVJlcXVlc3RQYXJhbXMocGFyYW1zKTtcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Qoc2VydmljZVVybCwgdGhpcy5odHRwT3B0aW9ucyk7XG4gIH1cblxuICBnZXRBZGljSW5mb0J5Q29kZShwYXJhbXM6IEFkaWNJbmZvQnlDb2RlUnEpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGxldCBzZXJ2aWNlVXJsID0gdGhpcy5TRVJWSUNFX1VSTCArICdwb3N0L29idGFpbi9jb2QvYWRpdGlvbmFsaW5mby9ieS9jb2RlJztcbiAgICB0aGlzLmdlbmVyYXRlUmVxdWVzdFBhcmFtcyhwYXJhbXMpO1xuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChzZXJ2aWNlVXJsLCB0aGlzLmh0dHBPcHRpb25zKTtcbiAgfVxuXG4gIGdldEZ1bGxEYXRhQ29kQnlTdHVkZW50KHBhcmFtczogRnVsbERhdGFDT0RScSk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgbGV0IHNlcnZpY2VVcmwgPSB0aGlzLlNFUlZJQ0VfVVJMICsgJ3Bvc3Qvb2J0YWluL2Z1bGwvZGF0YS9jb2QvYnkvc3R1ZGVudCc7XG4gICAgdGhpcy5nZW5lcmF0ZVJlcXVlc3RQYXJhbXMocGFyYW1zKTtcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Qoc2VydmljZVVybCwgdGhpcy5odHRwT3B0aW9ucyk7XG4gIH1cblxuICBnZXRGdWxsRGF0YUNvZEJ5U3R1ZGVudEFuZENvZHNCZWZvcmUocGFyYW1zOiBGdWxsRGF0YUNPRFJxKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBsZXQgc2VydmljZVVybCA9IHRoaXMuU0VSVklDRV9VUkwgKyAncG9zdC9vYnRhaW4vZnVsbC9kYXRhL2NvZC9ieS9zdHVkZW50L2FuZC9jb2QvYmVmb3JlJztcbiAgICB0aGlzLmdlbmVyYXRlUmVxdWVzdFBhcmFtcyhwYXJhbXMpO1xuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChzZXJ2aWNlVXJsLCB0aGlzLmh0dHBPcHRpb25zKTtcbiAgfVxuXG4gIGdldENvZFByaWNlc0J5QWdyZWVtZW50VHlwZVBheW1lbnQocGFyYW1zOiBDb2RQcmljZXNScSk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgbGV0IHNlcnZpY2VVcmwgPSB0aGlzLlNFUlZJQ0VfVVJMICsgJ3Bvc3QvY29kL3ByaWNlcy9ieS9hZ3JlZW1lbnQvYW5kL3R5cGUvcGF5bWVudCc7XG4gICAgdGhpcy5nZW5lcmF0ZVJlcXVlc3RQYXJhbXMocGFyYW1zKTtcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Qoc2VydmljZVVybCwgdGhpcy5odHRwT3B0aW9ucyk7XG4gIH1cblxuICBvYnRhaW5Db2RCeUFkdmFpc2VyKHBhcmFtczogVXNlclRva2VuUnEpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGxldCBzZXJ2aWNlVXJsID0gdGhpcy5TRVJWSUNFX1VSTCArICdwb3N0L29idGFpbi9jb2QvYnkvYWR2YWlzZXInO1xuICAgIHRoaXMuZ2VuZXJhdGVSZXF1ZXN0UGFyYW1zKHBhcmFtcyk7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KHNlcnZpY2VVcmwsIHRoaXMuaHR0cE9wdGlvbnMpO1xuICB9XG5cbiAgb2J0YWluQ29kQ291cnNlc0J5QWR2aXNvcihwYXJhbXM6IFVzZXJUb2tlblJxKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBsZXQgc2VydmljZVVybCA9IHRoaXMuU0VSVklDRV9VUkwgKyAncG9zdC9vYnRhaW4vY29kL2NvdXJzZXMvYnkvYWR2aXNvcic7XG4gICAgdGhpcy5nZW5lcmF0ZVJlcXVlc3RQYXJhbXMocGFyYW1zKTtcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Qoc2VydmljZVVybCwgdGhpcy5odHRwT3B0aW9ucyk7XG4gIH1cblxuICBvYnRhaW5Db2RCeUFkdmlzb3JBbmRDb3Vyc2UocGFyYW1zOiBHZXRDb2RCeUNvdXJzZVJxKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBsZXQgc2VydmljZVVybCA9IHRoaXMuU0VSVklDRV9VUkwgKyAncG9zdC9vYnRhaW4vY29kL3N0dWRlbnQvYnkvY291cnNlL2FuZC9hZHZpc29yJztcbiAgICB0aGlzLmdlbmVyYXRlUmVxdWVzdFBhcmFtcyhwYXJhbXMpO1xuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChzZXJ2aWNlVXJsLCB0aGlzLmh0dHBPcHRpb25zKTtcbiAgfVxuXG4gIGNyZWF0ZUdvYWwocGFyYW1zOiBJR29hbEludGVyZmFjZVJxKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBsZXQgc2VydmljZVVybCA9IHRoaXMuU0VSVklDRV9VUkwgKyAncG9zdC9jb250YWN0L3N0cmF0ZWd5L2NyZWF0ZS9nb2FsJztcbiAgICB0aGlzLmdlbmVyYXRlUmVxdWVzdFBhcmFtcyhwYXJhbXMpO1xuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChzZXJ2aWNlVXJsLHRoaXMuaHR0cE9wdGlvbnMpO1xuICAgIH1cblxuICBnZXRBbGxHb2Fscyh0b2tlbjogc3RyaW5nKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBsZXQgc2VydmljZVVybCA9IHRoaXMuU0VSVklDRV9VUkwgKyAncG9zdC9jb250YWN0L3N0cmF0ZWd5L3ZpZXcvZ29hbHMnO1xuICAgIHRoaXMuZ2VuZXJhdGVSZXF1ZXN0UGFyYW1zKHRva2VuKTtcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Qoc2VydmljZVVybCx0aGlzLmh0dHBPcHRpb25zKTtcbiAgfVxuXG4gIGNyZWF0ZURvY3VtZW50KHBhcmFtczogYW55KTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBsZXQgc2VydmljZVVybCA9IHRoaXMuU0VSVklDRV9VUkwgKyAncG9zdC9tZWRpYS9kb2N1bWVudCc7XG4gICAgbGV0IGZvcm1EYXRhID0gbmV3IEZvcm1EYXRhKCk7XG4gICAgZm9ybURhdGEuYXBwZW5kKCdmaWxlJywgcGFyYW1zLmZpbGUpO1xuICAgIGZvcm1EYXRhLmFwcGVuZCgndXNlcl9hdXRvcicsIHBhcmFtcy51c2VyX2F1dG9yKTtcbiAgICBmb3JtRGF0YS5hcHBlbmQoJ2NvZGVfdXNlcicsIHBhcmFtcy5jb2RlX3VzZXIpO1xuICAgIGZvcm1EYXRhLmFwcGVuZCgndHlwZV9kb2N1bWVudCcsIHBhcmFtcy50eXBlX2RvY3VtZW50KTtcbiAgICBmb3JtRGF0YS5hcHBlbmQoJ3Rva2VuJywgcGFyYW1zLnRva2VuKTtcblxuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChzZXJ2aWNlVXJsLCBmb3JtRGF0YSk7XG4gIH1cblxuICBnZXREb2N1bWVudHNCeVN0dWRlbnQocGFyYW1zOmFueSk6IE9ic2VydmFibGU8YW55PntcbiAgICBsZXQgc2VydmljZVVybCA9IHRoaXMuU0VSVklDRV9VUkwgKyAnZ2V0L21lZGlhL2RvY3VtZW50L3VzZXInO1xuICAgIHRoaXMuZ2VuZXJhdGVSZXF1ZXN0UGFyYW1zKHBhcmFtcyk7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KHNlcnZpY2VVcmwsdGhpcy5odHRwT3B0aW9ucyk7XG4gIH1cblxuICBvYnRhaW5Db2RTdHVkZW50QnlDb2RlQWR2aXNlcihwYXJhbXM6IElSZXBvcnRDb2RGb3JBZHZpc2VyUnEpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGxldCBzZXJ2aWNlVXJsID0gdGhpcy5TRVJWSUNFX1VSTCArICdnZXQvY29kL3N0dWRlbnQvYnkvYWR2aXNlcic7XG4gICAgdGhpcy5nZW5lcmF0ZVJlcXVlc3RQYXJhbXMocGFyYW1zKTtcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Qoc2VydmljZVVybCwgdGhpcy5odHRwT3B0aW9ucyk7XG4gIH1cblxuICBFeHBvcnRGaWxlRXhjZWxDb2RCeUFkdmlzZXIocGFyYW1zOiBJUmVwb3J0Q29kRm9yQWR2aXNlclJxKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBsZXQgc2VydmljZVVybCA9IHRoaXMuU0VSVklDRV9VUkwgKyAncG9zdC9leHBvcnQvZXhjZWwvY29kL3N0dWRlbnQvYnkvYWR2aXNlcic7XG4gICAgdGhpcy5nZW5lcmF0ZVJlcXVlc3RQYXJhbXMocGFyYW1zKTtcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Qoc2VydmljZVVybCwgdGhpcy5odHRwT3B0aW9ucyk7XG4gIH1cblxuICBPYnRhaW5SZWZlcnJhbHNCeVVzZXIocGFyYW1zOiBJT2J0YWluUmVmZXJzQnlVc2VyUnEpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGxldCBzZXJ2aWNlVXJsID0gdGhpcy5TRVJWSUNFX1VSTCArICdwb3N0L29idGFpbi9yZWZlcnJhbHMvYnkvdXNlci9jb2RlJztcbiAgICB0aGlzLmdlbmVyYXRlUmVxdWVzdFBhcmFtcyhwYXJhbXMpO1xuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChzZXJ2aWNlVXJsLCB0aGlzLmh0dHBPcHRpb25zKTtcbiAgfVxuXG4gICAgZ2V0UG9zaWJsZVN0dWRlbnRzQWxsKHBhcmFtczogYW55KTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBsZXQgc2VydmljZVVybCA9IHRoaXMuU0VSVklDRV9VUkwgKyAncG9zdC9vYnRhaW4vcG9zaWJsZS9zdHVkZW50cy9hbGwvbW9kZWxzJztcbiAgICB0aGlzLmdlbmVyYXRlUmVxdWVzdFBhcmFtcyhwYXJhbXMpO1xuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChzZXJ2aWNlVXJsLCB0aGlzLmh0dHBPcHRpb25zKTtcbiAgfVxuICBwb3N0QXNzaWduUG9zaWJsZVN0dWVudEZvclZhbHVlKHBhcmFtczogSUFzc2lnblBvc2libGVTdHVkZW50Rm9yVmFsdWVScSk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgbGV0IHNlcnZpY2VVcmwgPSB0aGlzLlNFUlZJQ0VfVVJMICsgJ3Bvc3QvcG9zaWJsZS9zdHVkZW50cy92YWx1ZS9hc3NpbmcnO1xuICAgIHRoaXMuZ2VuZXJhdGVSZXF1ZXN0UGFyYW1zKHBhcmFtcyk7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KHNlcnZpY2VVcmwsIHRoaXMuaHR0cE9wdGlvbnMpO1xuICB9XG4gIGdldENvbnRhY3RzQnlBZHZpc2VyQ29tbWVyY2lhbChwYXJhbXM6IElHZXRDb250YWN0c2FkdmlzZXJScSk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgbGV0IHNlcnZpY2VVcmwgPSB0aGlzLlNFUlZJQ0VfVVJMICsgJ3Bvc3QvY29udGFjdHMvbWFya2V0aW5nL3N0cmF0ZWd5L2Fzc2luZy9ieS9hZHZpc2VyJztcbiAgICB0aGlzLmdlbmVyYXRlUmVxdWVzdFBhcmFtcyhwYXJhbXMpO1xuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChzZXJ2aWNlVXJsLCB0aGlzLmh0dHBPcHRpb25zKTtcbiAgfVxuXG4gIE9idGFpbkNvZFByaWNlcyhwYXJhbXM6IElPYnRhaW5Db2RQcmljZXNScSk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgbGV0IHNlcnZpY2VVcmwgPSB0aGlzLlNFUlZJQ0VfVVJMICsgJ3Bvc3Qvb2J0YWluL2NvZC9wcmljZXMnO1xuICAgIHRoaXMuZ2VuZXJhdGVSZXF1ZXN0UGFyYW1zKHBhcmFtcyk7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KHNlcnZpY2VVcmwsIHRoaXMuaHR0cE9wdGlvbnMpO1xuICB9XG5cbiAgcG9zdENyZWF0ZWRTb2NpYWxOZXRvd3JrcyhwYXJhbXM6IElTb2NpYWxOZXR3b3Jrc1JxKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBsZXQgc2VydmljZVVybCA9IHRoaXMuU0VSVklDRV9VUkwgKyAncG9zdC9uZXcvcmVnaXN0ZXIvc29jaWFsL25ldHdvcmsnO1xuICAgIHRoaXMuZ2VuZXJhdGVSZXF1ZXN0UGFyYW1zKHBhcmFtcyk7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KHNlcnZpY2VVcmwsIHRoaXMuaHR0cE9wdGlvbnMpO1xuICB9XG5cbiAgcG9zdEFzc2lnbmluZ0Fkdmlzb3JHb2FscyhwYXJhbXM6IElBc3NpZ25pbmdBZHZpc29yR29hbHNScSk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgbGV0IHNlcnZpY2VVcmwgPSB0aGlzLlNFUlZJQ0VfVVJMICsgJ3Bvc3QvYXNzaWduaW5nL2Fkdmlzb3J5L2dvYWxzJztcbiAgICB0aGlzLmdlbmVyYXRlUmVxdWVzdFBhcmFtcyhwYXJhbXMpO1xuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChzZXJ2aWNlVXJsLCB0aGlzLmh0dHBPcHRpb25zKTtcbiAgfVxuXG4gIHBvc09idGFpbkFkdmlzb3JHb2FscyhwYXJhbXM6IElPYnRhaW5BbGxDb3Vyc2V3YWxsZXQpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGxldCBzZXJ2aWNlVXJsID0gdGhpcy5TRVJWSUNFX1VSTCArICdwb3N0L29idGFpbi9nb2Fscy9hc3NpZ25lZC90by9hZHZpc29yJztcbiAgICB0aGlzLmdlbmVyYXRlUmVxdWVzdFBhcmFtcyhwYXJhbXMpO1xuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChzZXJ2aWNlVXJsLCB0aGlzLmh0dHBPcHRpb25zKTtcbiAgfVxuXG4gIHBvc3RPYnRhaW5PdmVyYWxHb2FsQWR2aXNvKHBhcmFtczogSU9idGFpbkFsbENvdXJzZXdhbGxldCk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgbGV0IHNlcnZpY2VVcmwgPSB0aGlzLlNFUlZJQ0VfVVJMICsgJ3Bvc3Qvb2J0YWluL292ZXJhbC9nb2FsL29mL2Fkdmlzb3InO1xuICAgIHRoaXMuZ2VuZXJhdGVSZXF1ZXN0UGFyYW1zKHBhcmFtcyk7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KHNlcnZpY2VVcmwsIHRoaXMuaHR0cE9wdGlvbnMpO1xuICB9XG5cbiAgcG9zdE9idGFpbmluZm9Db2RBY3R1YWxseUJ5VXNlcihwYXJhbXM6IElnZXRDb3Vyc2VzRmluaXNoQW5kdW5hc3NpZ25lZFJxKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBsZXQgc2VydmljZVVybCA9IHRoaXMuU0VSVklDRV9VUkwgKyAncG9zdC9vYnRhaW4vaW5mby9jb2QvdXNlcic7XG4gICAgdGhpcy5nZW5lcmF0ZVJlcXVlc3RQYXJhbXMocGFyYW1zKTtcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Qoc2VydmljZVVybCwgdGhpcy5odHRwT3B0aW9ucyk7XG4gIH1cblxuICBvYnRhaW5nTGF0ZXNDb2RCeVN0dWRlbnRDb2RlIChjb2RlU3R1ZGVudDogbnVtYmVyKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBsZXQgc2VydmljZVVybCA9IHRoaXMuU0VSVklDRV9VUkwgKyAnZ2V0L2xhdGVzdC9jb2QvYnkvc3R1ZGVudC9jb2RlLycgKyBjb2RlU3R1ZGVudDtcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldChzZXJ2aWNlVXJsLCB0aGlzLmh0dHBPcHRpb25zKTtcbiAgfVxuXG4gIHVwZGF0ZUNPRChyZXF1ZXN0OiBJVXBkYXRlQ09EUnEpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGxldCBzZXJ2aWNlVXJsID0gdGhpcy5TRVJWSUNFX1VSTCArICdwb3N0L3VwZGF0ZS9jb2QnO1xuICAgIHRoaXMuZ2VuZXJhdGVSZXF1ZXN0UGFyYW1zKHJlcXVlc3QpO1xuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChzZXJ2aWNlVXJsLCB0aGlzLmh0dHBPcHRpb25zKTtcbiAgfVxuICBvYnRhaW5jb2RDdXJycmVudEFuZExldmVsRnVsbERhdGFSZW5vdmF0aW9ucyhyZXF1ZXN0OiBJb2J0YWluY29kQ3VycnJlbnRBbmRMZXZlbEZ1bGxEYXRhUmVub3ZhdGlvbnNScSk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgbGV0IHNlcnZpY2VVcmwgPSB0aGlzLlNFUlZJQ0VfVVJMICsgJ3Bvc3Qvb2J0YWluL2Z1bGwvZGF0YS9jdXJyZW50L2NvZC9ieS9jb2RlL3N0dWRlbnQvcmVub3ZhdGlvbic7XG4gICAgdGhpcy5nZW5lcmF0ZVJlcXVlc3RQYXJhbXMocmVxdWVzdCk7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KHNlcnZpY2VVcmwsIHRoaXMuaHR0cE9wdGlvbnMpO1xuICB9XG4gIGdldGRhdGFDdXJyZW50Q29kQnlTVHVkZW50Q29kZShyZXF1ZXN0OiBJb2J0YWluY29kQ3VycnJlbnRBbmRMZXZlbEZ1bGxEYXRhUmVub3ZhdGlvbnNScSk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgbGV0IHNlcnZpY2VVcmwgPSB0aGlzLlNFUlZJQ0VfVVJMICsgJ2dldC9kYXRhL2N1cnJlbnQvZGF0YS9jb2QvYnkvc3R1ZGVudCc7XG4gICAgdGhpcy5nZW5lcmF0ZVJlcXVlc3RQYXJhbXMocmVxdWVzdCk7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KHNlcnZpY2VVcmwsIHRoaXMuaHR0cE9wdGlvbnMpO1xuICB9XG4gIHVwZGF0ZUNvZEN1cnJlbnRJbk9ic2VydmF0aW9uc1Jlbm92YXRpb25zKHJlcXVlc3Q6IGFueSk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgbGV0IHNlcnZpY2VVcmwgPSB0aGlzLlNFUlZJQ0VfVVJMICsgJ3Bvc3QvY2hhbmdlL2NvZC9zdGF0dXMvb2JzZXJ2YXRpb25zL3Jlbm92YXRpb25zJztcbiAgICB0aGlzLmdlbmVyYXRlUmVxdWVzdFBhcmFtcyhyZXF1ZXN0KTtcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Qoc2VydmljZVVybCwgdGhpcy5odHRwT3B0aW9ucyk7XG4gIH1cblxuICBvYnRhaW5Db2RQcmV2aXVzT3JQbGFjZW1lbnRUZXN0Qnljb2RlKHJlcXVlc3Q6IGFueSk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgbGV0IHNlcnZpY2VVcmwgPSB0aGlzLlNFUlZJQ0VfVVJMICsgJ3Bvc3Qvb2J0YWluL2NvZC9yZWdpc3Rlci9wcmV2aW91cy9vci9wbGFjZW1lbnQvdGVzdC9ieS9zdGF0dXMnO1xuICAgIHRoaXMuZ2VuZXJhdGVSZXF1ZXN0UGFyYW1zKHJlcXVlc3QpO1xuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChzZXJ2aWNlVXJsLCB0aGlzLmh0dHBPcHRpb25zKTtcbiAgfVxuICB1cGRhdGVDb250cm9sU3RlcHNDb2RTZWxmTWFuYWdlZChyZXF1ZXN0OiBhbnkpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGxldCBzZXJ2aWNlVXJsID0gdGhpcy5TRVJWSUNFX1VSTCArICdwb3N0L2NoYW5nZS9zdGVwL2Zvcm0vY29udHJvbC9jb2Qvc2VsZi9tYW5hZ2VkJztcbiAgICB0aGlzLmdlbmVyYXRlUmVxdWVzdFBhcmFtcyhyZXF1ZXN0KTtcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Qoc2VydmljZVVybCwgdGhpcy5odHRwT3B0aW9ucyk7XG4gIH1cbiAgT2J0YWluQ29kUHJpY2VzQ29kU2VsZk1hbmFnZWQocGFyYW1zOiBJT2J0YWluQ29kUHJpY2VzUnEpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGxldCBzZXJ2aWNlVXJsID0gdGhpcy5TRVJWSUNFX1VSTCArICdwb3N0L29idGFpbi9jb2Qvc2VsZi9tYW5hZ2VkL3ByaWNlcyc7XG4gICAgdGhpcy5nZW5lcmF0ZVJlcXVlc3RQYXJhbXMocGFyYW1zKTtcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Qoc2VydmljZVVybCwgdGhpcy5odHRwT3B0aW9ucyk7XG4gIH1cbiAgY3JlYXRlQ29kU2VsZk1hbmFnZWQocGFyYW1zOiBhbnkpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGxldCBzZXJ2aWNlVXJsID0gdGhpcy5TRVJWSUNFX1VSTCArICdwb3N0L2NvZC9zZWxmL21hbmFnZWQnO1xuICAgIHRoaXMuZ2VuZXJhdGVSZXF1ZXN0UGFyYW1zKHBhcmFtcyk7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KHNlcnZpY2VVcmwsIHRoaXMuaHR0cE9wdGlvbnMpO1xuICB9XG5cbiAgcHJpemVzRm9yRHVyYXRpb25PZENvbnRlc3QoKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBsZXQgc2VydmljZVVybCA9IHRoaXMuU0VSVklDRV9VUkwgKyAgJ3ByaXplcy9mb3IvZHVyYXRpb24vb2YvY29udGVzdCc7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQoc2VydmljZVVybCk7XG4gIH1cblxuICBjcmVhdGVUaWNrZXRSZWZlcnJhbChwYXJhbXM6IElDcmVhdGVUaWNrZXRSZWZlcnJhbFJxKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBsZXQgc2VydmljZVVybCA9IHRoaXMuU0VSVklDRV9VUkwgKyAnY3JlYXRlL2NvbnRlc3QvcmVnaXN0cmF0aW9uL2J5L3JlZmVycmFsZSc7XG4gICAgdGhpcy5nZW5lcmF0ZVJlcXVlc3RQYXJhbXMocGFyYW1zKTtcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Qoc2VydmljZVVybCwgdGhpcy5odHRwT3B0aW9ucyk7XG4gIH1cblxuICAgIG9idGFpblN0YXR1c0FuZFJlZmVycmFsc0J5VXNlckNvZGUocGFyYW1zOiBJT2J0YWluUmVmZXJzQnlVc2VyUnEpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGxldCBzZXJ2aWNlVXJsID0gdGhpcy5TRVJWSUNFX1VSTCArICdvYnRhaW4vc3RhdHVzL2FuZC9yZWZlcnJhbHMvYnkvdXNlci9jb2RlJztcbiAgICB0aGlzLmdlbmVyYXRlUmVxdWVzdFBhcmFtcyhwYXJhbXMpO1xuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChzZXJ2aWNlVXJsLCB0aGlzLmh0dHBPcHRpb25zKTtcbiAgfVxuXG4gIGdldENvZFN0dWRlbnREZXRhaWxzQnlBZHZpc2VyKHBhcmFtczogSUNvZERldGFpbHNieUFkdmlzZXIpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGxldCBzZXJ2aWNlVXJsID0gdGhpcy5TRVJWSUNFX1VSTCArICdnZXQvY29kL3N0dWRlbnQvZGV0YWlscy9ieS9hZHZpc2VyJztcbiAgICB0aGlzLmdlbmVyYXRlUmVxdWVzdFBhcmFtcyhwYXJhbXMpO1xuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChzZXJ2aWNlVXJsLCB0aGlzLmh0dHBPcHRpb25zKTtcbiAgfVxuXG4gIGdlc1Bvc2libGVTdHVkZW50QWxsRm91ck1vZGVsc0J5RGF0ZShwYXJhbXM6IElHZXRQb3NpYmxlU3R1ZGVudEJ5RGF0ZVJxKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBsZXQgc2VydmljZVVybCA9IHRoaXMuU0VSVklDRV9VUkwgKyAnZ2V0L3Bvc2libGUvc3R1ZGVudHMvYWxsL2ZvdXIvbW9kZWxzL2J5L2RhdGUnO1xuICAgIHRoaXMuZ2VuZXJhdGVSZXF1ZXN0UGFyYW1zKHBhcmFtcyk7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KHNlcnZpY2VVcmwsIHRoaXMuaHR0cE9wdGlvbnMpO1xuICB9XG5cbiAgZ2VzVXNlckFkdmlzZXJDb21tZXJjaWFsQnlUeXBlQXNzaW5nQ29udGFjdChwYXJhbXM6IElHZXRVc2VyQWR2aXNlckNvbW1lcmNpYWxCeVR5cGVBc3NpbmdDb250YWN0c1JxKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBsZXQgc2VydmljZVVybCA9IHRoaXMuU0VSVklDRV9VUkwgKyAnZ2V0L3VzZXIvY29tbWVyY2lhbC9ieS90eXBlL2Fzc2luZyc7XG4gICAgdGhpcy5nZW5lcmF0ZVJlcXVlc3RQYXJhbXMocGFyYW1zKTtcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Qoc2VydmljZVVybCwgdGhpcy5odHRwT3B0aW9ucyk7XG4gIH1cblxuICBhc3NpbmdDdXN0b21lcnNCeVR5cGVBc3NpbmdDb250YWN0Rm9yQWR2aXNlcihwYXJhbXM6IEFzc2luZ0N1c3RvbWVyc0J5VHlwZUFzc2luZ0NvbnRhY3RGb3JBZHZpc2VyUnEpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGxldCBzZXJ2aWNlVXJsID0gdGhpcy5TRVJWSUNFX1VSTCArICdwb3N0L0Fzc2luZy91c2VyL3Bvc2libGUvc3R1ZGVudC9ieS9kYXRlJztcbiAgICB0aGlzLmdlbmVyYXRlUmVxdWVzdFBhcmFtcyhwYXJhbXMpO1xuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChzZXJ2aWNlVXJsLCB0aGlzLmh0dHBPcHRpb25zKTtcbiAgfVxuXG4gIG9idGFpbkFkZGl0aW9uYWxVc2VyRGF0YUJ5Q291cnNlKHBhcmFtczogSWdldENvdXJzZXNGaW5pc2hBbmR1bmFzc2lnbmVkUnEpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGxldCBzZXJ2aWNlVXJsID0gdGhpcy5TRVJWSUNFX1VSTCArICdvYnRhaW4vYWRkaXRpb25hbC91c2VyL2RhdGEvYnkvY291cnNlJztcbiAgICB0aGlzLmdlbmVyYXRlUmVxdWVzdFBhcmFtcyhwYXJhbXMpO1xuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChzZXJ2aWNlVXJsLCB0aGlzLmh0dHBPcHRpb25zKTtcbiAgfVxuXG4gIG9idGFpbkFsbFJlZmVycmFsc0J5VXNlcihwYXJhbXM6IElPYnRhaW5BbGxSZWZlcnJhbHNCeVVzZXJScSk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgbGV0IHNlcnZpY2VVcmwgPSB0aGlzLlNFUlZJQ0VfVVJMICsgJ29idGFpbi9hbGwvcmVmZXJyYWxzL2J5L3VzZXIvY29kZSc7XG4gICAgdGhpcy5nZW5lcmF0ZVJlcXVlc3RQYXJhbXMocGFyYW1zKTtcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Qoc2VydmljZVVybCwgdGhpcy5odHRwT3B0aW9ucyk7XG4gIH1cblxuICBnZXRTdW1tYXJ5QnlDb21tZXJjaWFsQWR2aXNvcihwYXJhbXM6IGdldFN1bW1hcnlCeUNvbW1lcmNpYWxBZHZpc29yUnEpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGxldCBzZXJ2aWNlVXJsID0gdGhpcy5TRVJWSUNFX1VSTCArICdnZXQvc3VtbWFyeS9ieS9jb21tZXJjaWFsL2Fkdmlzb3InO1xuICAgIHRoaXMuZ2VuZXJhdGVSZXF1ZXN0UGFyYW1zKHBhcmFtcyk7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KHNlcnZpY2VVcmwsIHRoaXMuaHR0cE9wdGlvbnMpO1xuICB9XG5cbiAgZ2V0QWxsQ29kSW5mb3JtYXRpb25Gb3JFeHBvcnRpbmcocGFyYW1zOiBJQ29kUGF5bWVudFJxKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBsZXQgc2VydmljZVVybCA9IHRoaXMuU0VSVklDRV9VUkwgKyAnZ2V0L2FsbC9jb2QvaW5mb3JtYXRpb24vZm9yL2V4cG9ydGluZyc7XG4gICAgdGhpcy5nZW5lcmF0ZVJlcXVlc3RQYXJhbXMocGFyYW1zKTtcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Qoc2VydmljZVVybCwgdGhpcy5odHRwT3B0aW9ucyk7XG4gIH1cblxuICBvYnRhaW5Db2RCeUFkdmlzb3JXaXRoVGhlaXJTdGF0ZXMocGFyYW1zOiBJQ29kV2l0aFRoZWlyU3RhdGVzUnEpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGxldCBzZXJ2aWNlVXJsID0gdGhpcy5TRVJWSUNFX1VSTCArICdvYnRhaW4vY29kL2J5L2Fkdmlzb3Ivd2l0aC90aGVpci9zdGF0ZXMnO1xuICAgIHRoaXMuZ2VuZXJhdGVSZXF1ZXN0UGFyYW1zKHBhcmFtcyk7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KHNlcnZpY2VVcmwsIHRoaXMuaHR0cE9wdGlvbnMpO1xuICB9XG5cbn1cbiJdfQ==
292
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tZXJjaWFsLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9kZXNpZ24tc3lzdGVtL3NyYy9saWIvY29yZS9zZXJ2aWNlcy9jb21tZXJjaWFsLXNlcnZpY2UvY29tZXJjaWFsLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUkzQyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQzs7O0FBVTNELE1BQU0sT0FBTyxpQkFBa0IsU0FBUSxpQkFBaUI7SUFJdEQsWUFBb0IsSUFBZ0I7UUFDbEMsS0FBSyxFQUFFLENBQUM7UUFEVSxTQUFJLEdBQUosSUFBSSxDQUFZO1FBRjVCLGdCQUFXLEdBQUcsaUJBQWlCLENBQUM7UUFJdEMsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUMsT0FBTyxFQUFFLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQztJQUN2RCxDQUFDO0lBRUQsU0FBUyxDQUFDLE9BQW9CO1FBQzVCLElBQUksVUFBVSxHQUFHLElBQUksQ0FBQyxXQUFXLEdBQUcsVUFBVSxDQUFDO1FBQy9DLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUNwQyxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsRUFBRSxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDdEQsQ0FBQztJQUVELG9CQUFvQixDQUFDLEtBQWEsRUFBRSxlQUF1QjtRQUN6RCxJQUFJLFVBQVUsR0FBRyxJQUFJLENBQUMsV0FBVyxHQUFHLG9DQUFvQyxDQUFDO1FBQ3pFLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxFQUFDLEtBQUssRUFBRSxlQUFlLEVBQUMsQ0FBQyxDQUFDO1FBQ3JELE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFFLElBQUksQ0FB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cUJBQXFCLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDbkMsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLEVBQUUsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBQ3RELENBQUM7OzhHQXZVVSxpQkFBaUI7a0hBQWpCLGlCQUFpQixjQURMLE1BQU07MkZBQ2xCLGlCQUFpQjtrQkFEN0IsVUFBVTttQkFBQyxFQUFDLFVBQVUsRUFBRSxNQUFNLEVBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJZ2V0Q291cnNlc0ZpbmlzaEFuZHVuYXNzaWduZWRScSB9IGZyb20gJy4vLi4vLi4vbW9kZWxzL3JlcG9ydHMvcmVwb3J0cy5tb2RlbCc7XG5pbXBvcnQgeyBIdHRwQ2xpZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgR2V0RGlzY291bnRDb3Vwb25zUnEgfSBmcm9tICcuLi8uLi9tb2RlbHMvcGF5bWVudC9wYXltZW50LXJxLm1vZGVsJztcbmltcG9ydCB7IENyZWF0ZUNPRFJxLCBGdWxsRGF0YUNPRFJxLCBHZXRDb2RCeUNvdXJzZVJxLCBJVXBkYXRlQ09EUnEsIElvYnRhaW5jb2RDdXJycmVudEFuZExldmVsRnVsbERhdGFSZW5vdmF0aW9uc1JxLCBJQ29kUGF5bWVudFJxIH0gZnJvbSAnLi4vLi4vbW9kZWxzL2NvZC9jb2QtcnEubW9kZWwnO1xuaW1wb3J0IHsgSVBUR2VuZXJhbFNlcnZpY2UgfSBmcm9tICcuLi9zZXJ2aWNlLWVudmlyb21lbnRzJztcbmltcG9ydCB7IEFkaWNJbmZvQnlDb2RlUnEsIENvZFByaWNlc1JxLCBJR29hbEludGVyZmFjZVJxLCBQYXJlbnRCeUNvZGVScSwgSU9idGFpblJlZmVyc0J5VXNlclJxLCBJQXNzaWduUG9zaWJsZVN0dWRlbnRGb3JWYWx1ZVJxLCBJR2V0Q29udGFjdHNhZHZpc2VyUnEsIElPYnRhaW5Db2RQcmljZXNScSwgSUFzc2lnbmluZ0Fkdmlzb3JHb2Fsc1JxLCBJUmVwb3J0Q29kRm9yQWR2aXNlclJxLCBJQ3JlYXRlVGlja2V0UmVmZXJyYWxScSwgSUNvZERldGFpbHNieUFkdmlzZXIsIElHZXRQb3NpYmxlU3R1ZGVudEJ5RGF0ZVJxLCBJR2V0VXNlckFkdmlzZXJDb21tZXJjaWFsQnlUeXBlQXNzaW5nQ29udGFjdHNScSwgQXNzaW5nQ3VzdG9tZXJzQnlUeXBlQXNzaW5nQ29udGFjdEZvckFkdmlzZXJScSxnZXRTdW1tYXJ5QnlDb21tZXJjaWFsQWR2aXNvclJxIH0gZnJvbSAnLi4vLi4vbW9kZWxzL2NvbW1lcmNpYWwvY29tbWVyY2lhbC5tb2RlbCc7XG5pbXBvcnQgeyBVc2VyVG9rZW5ScSB9IGZyb20gJy4uLy4uL21vZGVscy91c2VyL3VzZXItcnEubW9kZWwnO1xuaW1wb3J0IHsgSVNvY2lhbE5ldHdvcmtzUnEgfSBmcm9tICcuLi8uLi9tb2RlbHMvbWFya2V0aW5nL21hcmtldGluZy5tb2RlbCc7XG5pbXBvcnQgeyBJT2J0YWluQWxsQ291cnNld2FsbGV0IH0gZnJvbSAnLi4vLi4vbW9kZWxzL2J1ZGdldC9idWRnZXQubW9kZWwnO1xuaW1wb3J0IHsgSU9idGFpbkFsbFJlZmVycmFsc0J5VXNlclJxIH0gZnJvbSAnLi4vLi4vbW9kZWxzL3RyYW5zZmVyL3RyYW5zZmVyLm1vZGVsJztcbmltcG9ydCB7IElDb2RXaXRoVGhlaXJTdGF0ZXNScSwgSUV4dGVuZFRpbWVUZXJtc1JxLCBJTmV3VGVybXNBbmRDb25kUnEgfSBmcm9tICcuLi8uLi9tb2RlbHMvdGVybXMvdGVybXMtcnMubW9kZWwnO1xuXG5cbkBJbmplY3RhYmxlKHtwcm92aWRlZEluOiAncm9vdCd9KVxuZXhwb3J0IGNsYXNzIENvbW1lcmNpYWxTZXJ2aWNlIGV4dGVuZHMgSVBUR2VuZXJhbFNlcnZpY2Uge1xuXG4gIHByaXZhdGUgU0VSVklDRV9VUkwgPSAnY29tbWVyY2lhbC9hcGkvJztcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGh0dHA6IEh0dHBDbGllbnQpIHtcbiAgICBzdXBlcigpO1xuICAgIHRoaXMuU0VSVklDRV9VUkwgPSB0aGlzLmJhc2VVcmwoKSArIHRoaXMuU0VSVklDRV9VUkw7XG4gIH1cblxuICBjcmVhdGVDT0QocmVxdWVzdDogQ3JlYXRlQ09EUnEpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGxldCBzZXJ2aWNlVXJsID0gdGhpcy5TRVJWSUNFX1VSTCArICdwb3N0L2NvZCc7XG4gICAgdGhpcy5nZW5lcmF0ZVJlcXVlc3RQYXJhbXMocmVxdWVzdCk7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KHNlcnZpY2VVcmwsIHRoaXMuaHR0cE9wdGlvbnMpO1xuICB9XG5cbiAgZ2V0U3R1ZGVudENvZEhpc3RvcnkodG9rZW46IHN0cmluZywgc3R1ZGVudF9pZF9jYXJkOiBudW1iZXIpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGxldCBzZXJ2aWNlVXJsID0gdGhpcy5TRVJWSUNFX1VSTCArICdwb3N0L29idGFpbi9jb2QvaGlzdG9yeS9ieS9zdHVkZW50JztcbiAgICB0aGlzLmdlbmVyYXRlUmVxdWVzdFBhcmFtcyh7dG9rZW4sIHN0dWRlbnRfaWRfY2FyZH0pO1xuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChzZXJ2aWNlVXJsLCB0aGlzLmh0dHBPcHRpb25zKTtcbiAgfVxuXG4gIGdldENvZEhpc3RvcnlBbGwodXNlclRva2VuOiBhbnkpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGxldCBzZXJ2aWNlVXJsID0gdGhpcy5TRVJWSUNFX1VSTCArICdwb3N0L29idGFpbi9jb2QvaGlzdG9yeS9hbGwnO1xuICAgIHRoaXMuZ2VuZXJhdGVSZXF1ZXN0UGFyYW1zKHVzZXJUb2tlbik7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KHNlcnZpY2VVcmwsIHRoaXMuaHR0cE9wdGlvbnMpO1xuICB9XG5cbiAgZ2V0Q29kSGlzdG9yeUJ5Q291cnNlKHJlcXVlc3Q6IGFueSk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgbGV0IHNlcnZpY2VVcmwgPSB0aGlzLlNFUlZJQ0VfVVJMICsgJ3Bvc3Qvb2J0YWluL2NvZC9oaXN0b3J5L2J5L2NvdXJzZSc7XG4gICAgdGhpcy5nZW5lcmF0ZVJlcXVlc3RQYXJhbXMocmVxdWVzdCk7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KHNlcnZpY2VVcmwsIHRoaXMuaHR0cE9wdGlvbnMpO1xuICB9XG5cbiAgZ2V0Q29kSGlzdG9yeUJ5Q291cnNlRXhwb3J0KHJlcXVlc3Q6IGFueSk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgbGV0IHNlcnZpY2VVcmwgPSB0aGlzLlNFUlZJQ0VfVVJMICsgJ3Bvc3Qvb2J0YWluL2NvZC9oaXN0b3J5L2J5L2NvdXJzZS9leHBvcnQnO1xuICAgIHRoaXMuZ2VuZXJhdGVSZXF1ZXN0UGFyYW1zKHJlcXVlc3QpO1xuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChzZXJ2aWNlVXJsLCB0aGlzLmh0dHBPcHRpb25zKTtcbiAgfVxuXG4gIGdldERpc2NvdW50Q291cG9ucyhwYXJhbXM6IEdldERpc2NvdW50Q291cG9uc1JxKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBsZXQgc2VydmljZVVybCA9IHRoaXMuU0VSVklDRV9VUkwgKyAncG9zdC9kaXNjb3VudC9jb3Vwb24vc2VhcmNoJztcbiAgICB0aGlzLmdlbmVyYXRlUmVxdWVzdFBhcmFtcyhwYXJhbXMpO1xuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChzZXJ2aWNlVXJsLCB0aGlzLmh0dHBPcHRpb25zKTtcbiAgfVxuXG4gIGdldENvZFByaWNlc0J5QWdyZWVtZW50KGNvZGU6IG51bWJlcik6IE9ic2VydmFibGU8YW55PiB7XG4gICAgbGV0IHNlcnZpY2VVcmwgPSB0aGlzLlNFUlZJQ0VfVVJMICsgJ2dldC9jb2QvcHJpY2VzL2J5L2FncmVlbWVudC8nICsgY29kZTtcbiAgICB0aGlzLmdlbmVyYXRlUmVxdWVzdFBhcmFtcyhjb2RlKTtcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldChzZXJ2aWNlVXJsLCB0aGlzLmh0dHBPcHRpb25zKTtcbiAgfVxuXG4gIGdldENvZFBhcmVudEJ5Q29kZShwYXJhbXM6IFBhcmVudEJ5Q29kZVJxKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBsZXQgc2VydmljZVVybCA9IHRoaXMuU0VSVklDRV9VUkwgKyAncG9zdC9vYnRhaW4vY29kL3BhcmVudC9ieS9jb2RlJztcbiAgICB0aGlzLmdlbmVyYXRlUmVxdWVzdFBhcmFtcyhwYXJhbXMpO1xuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChzZXJ2aWNlVXJsLCB0aGlzLmh0dHBPcHRpb25zKTtcbiAgfVxuXG4gIGdldEFkaWNJbmZvQnlDb2RlKHBhcmFtczogQWRpY0luZm9CeUNvZGVScSk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgbGV0IHNlcnZpY2VVcmwgPSB0aGlzLlNFUlZJQ0VfVVJMICsgJ3Bvc3Qvb2J0YWluL2NvZC9hZGl0aW9uYWxpbmZvL2J5L2NvZGUnO1xuICAgIHRoaXMuZ2VuZXJhdGVSZXF1ZXN0UGFyYW1zKHBhcmFtcyk7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KHNlcnZpY2VVcmwsIHRoaXMuaHR0cE9wdGlvbnMpO1xuICB9XG5cbiAgZ2V0RnVsbERhdGFDb2RCeVN0dWRlbnQocGFyYW1zOiBGdWxsRGF0YUNPRFJxKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBsZXQgc2VydmljZVVybCA9IHRoaXMuU0VSVklDRV9VUkwgKyAncG9zdC9vYnRhaW4vZnVsbC9kYXRhL2NvZC9ieS9zdHVkZW50JztcbiAgICB0aGlzLmdlbmVyYXRlUmVxdWVzdFBhcmFtcyhwYXJhbXMpO1xuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChzZXJ2aWNlVXJsLCB0aGlzLmh0dHBPcHRpb25zKTtcbiAgfVxuXG4gIGdldEZ1bGxEYXRhQ29kQnlTdHVkZW50QW5kQ29kc0JlZm9yZShwYXJhbXM6IEZ1bGxEYXRhQ09EUnEpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGxldCBzZXJ2aWNlVXJsID0gdGhpcy5TRVJWSUNFX1VSTCArICdwb3N0L29idGFpbi9mdWxsL2RhdGEvY29kL2J5L3N0dWRlbnQvYW5kL2NvZC9iZWZvcmUnO1xuICAgIHRoaXMuZ2VuZXJhdGVSZXF1ZXN0UGFyYW1zKHBhcmFtcyk7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KHNlcnZpY2VVcmwsIHRoaXMuaHR0cE9wdGlvbnMpO1xuICB9XG5cbiAgZ2V0Q29kUHJpY2VzQnlBZ3JlZW1lbnRUeXBlUGF5bWVudChwYXJhbXM6IENvZFByaWNlc1JxKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBsZXQgc2VydmljZVVybCA9IHRoaXMuU0VSVklDRV9VUkwgKyAncG9zdC9jb2QvcHJpY2VzL2J5L2FncmVlbWVudC9hbmQvdHlwZS9wYXltZW50JztcbiAgICB0aGlzLmdlbmVyYXRlUmVxdWVzdFBhcmFtcyhwYXJhbXMpO1xuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChzZXJ2aWNlVXJsLCB0aGlzLmh0dHBPcHRpb25zKTtcbiAgfVxuXG4gIG9idGFpbkNvZEJ5QWR2YWlzZXIocGFyYW1zOiBVc2VyVG9rZW5ScSk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgbGV0IHNlcnZpY2VVcmwgPSB0aGlzLlNFUlZJQ0VfVVJMICsgJ3Bvc3Qvb2J0YWluL2NvZC9ieS9hZHZhaXNlcic7XG4gICAgdGhpcy5nZW5lcmF0ZVJlcXVlc3RQYXJhbXMocGFyYW1zKTtcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Qoc2VydmljZVVybCwgdGhpcy5odHRwT3B0aW9ucyk7XG4gIH1cblxuICBvYnRhaW5Db2RDb3Vyc2VzQnlBZHZpc29yKHBhcmFtczogVXNlclRva2VuUnEpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGxldCBzZXJ2aWNlVXJsID0gdGhpcy5TRVJWSUNFX1VSTCArICdwb3N0L29idGFpbi9jb2QvY291cnNlcy9ieS9hZHZpc29yJztcbiAgICB0aGlzLmdlbmVyYXRlUmVxdWVzdFBhcmFtcyhwYXJhbXMpO1xuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChzZXJ2aWNlVXJsLCB0aGlzLmh0dHBPcHRpb25zKTtcbiAgfVxuXG4gIG9idGFpbkNvZEJ5QWR2aXNvckFuZENvdXJzZShwYXJhbXM6IEdldENvZEJ5Q291cnNlUnEpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGxldCBzZXJ2aWNlVXJsID0gdGhpcy5TRVJWSUNFX1VSTCArICdwb3N0L29idGFpbi9jb2Qvc3R1ZGVudC9ieS9jb3Vyc2UvYW5kL2Fkdmlzb3InO1xuICAgIHRoaXMuZ2VuZXJhdGVSZXF1ZXN0UGFyYW1zKHBhcmFtcyk7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KHNlcnZpY2VVcmwsIHRoaXMuaHR0cE9wdGlvbnMpO1xuICB9XG5cbiAgY3JlYXRlR29hbChwYXJhbXM6IElHb2FsSW50ZXJmYWNlUnEpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGxldCBzZXJ2aWNlVXJsID0gdGhpcy5TRVJWSUNFX1VSTCArICdwb3N0L2NvbnRhY3Qvc3RyYXRlZ3kvY3JlYXRlL2dvYWwnO1xuICAgIHRoaXMuZ2VuZXJhdGVSZXF1ZXN0UGFyYW1zKHBhcmFtcyk7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KHNlcnZpY2VVcmwsdGhpcy5odHRwT3B0aW9ucyk7XG4gICAgfVxuXG4gIGdldEFsbEdvYWxzKHRva2VuOiBzdHJpbmcpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGxldCBzZXJ2aWNlVXJsID0gdGhpcy5TRVJWSUNFX1VSTCArICdwb3N0L2NvbnRhY3Qvc3RyYXRlZ3kvdmlldy9nb2Fscyc7XG4gICAgdGhpcy5nZW5lcmF0ZVJlcXVlc3RQYXJhbXModG9rZW4pO1xuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChzZXJ2aWNlVXJsLHRoaXMuaHR0cE9wdGlvbnMpO1xuICB9XG5cbiAgY3JlYXRlRG9jdW1lbnQocGFyYW1zOiBhbnkpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGxldCBzZXJ2aWNlVXJsID0gdGhpcy5TRVJWSUNFX1VSTCArICdwb3N0L21lZGlhL2RvY3VtZW50JztcbiAgICBsZXQgZm9ybURhdGEgPSBuZXcgRm9ybURhdGEoKTtcbiAgICBmb3JtRGF0YS5hcHBlbmQoJ2ZpbGUnLCBwYXJhbXMuZmlsZSk7XG4gICAgZm9ybURhdGEuYXBwZW5kKCd1c2VyX2F1dG9yJywgcGFyYW1zLnVzZXJfYXV0b3IpO1xuICAgIGZvcm1EYXRhLmFwcGVuZCgnY29kZV91c2VyJywgcGFyYW1zLmNvZGVfdXNlcik7XG4gICAgZm9ybURhdGEuYXBwZW5kKCd0eXBlX2RvY3VtZW50JywgcGFyYW1zLnR5cGVfZG9jdW1lbnQpO1xuICAgIGZvcm1EYXRhLmFwcGVuZCgndG9rZW4nLCBwYXJhbXMudG9rZW4pO1xuXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KHNlcnZpY2VVcmwsIGZvcm1EYXRhKTtcbiAgfVxuXG4gIGdldERvY3VtZW50c0J5U3R1ZGVudChwYXJhbXM6YW55KTogT2JzZXJ2YWJsZTxhbnk+e1xuICAgIGxldCBzZXJ2aWNlVXJsID0gdGhpcy5TRVJWSUNFX1VSTCArICdnZXQvbWVkaWEvZG9jdW1lbnQvdXNlcic7XG4gICAgdGhpcy5nZW5lcmF0ZVJlcXVlc3RQYXJhbXMocGFyYW1zKTtcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Qoc2VydmljZVVybCx0aGlzLmh0dHBPcHRpb25zKTtcbiAgfVxuXG4gIG9idGFpbkNvZFN0dWRlbnRCeUNvZGVBZHZpc2VyKHBhcmFtczogSVJlcG9ydENvZEZvckFkdmlzZXJScSk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgbGV0IHNlcnZpY2VVcmwgPSB0aGlzLlNFUlZJQ0VfVVJMICsgJ2dldC9jb2Qvc3R1ZGVudC9ieS9hZHZpc2VyJztcbiAgICB0aGlzLmdlbmVyYXRlUmVxdWVzdFBhcmFtcyhwYXJhbXMpO1xuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChzZXJ2aWNlVXJsLCB0aGlzLmh0dHBPcHRpb25zKTtcbiAgfVxuXG4gIEV4cG9ydEZpbGVFeGNlbENvZEJ5QWR2aXNlcihwYXJhbXM6IElSZXBvcnRDb2RGb3JBZHZpc2VyUnEpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGxldCBzZXJ2aWNlVXJsID0gdGhpcy5TRVJWSUNFX1VSTCArICdwb3N0L2V4cG9ydC9leGNlbC9jb2Qvc3R1ZGVudC9ieS9hZHZpc2VyJztcbiAgICB0aGlzLmdlbmVyYXRlUmVxdWVzdFBhcmFtcyhwYXJhbXMpO1xuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChzZXJ2aWNlVXJsLCB0aGlzLmh0dHBPcHRpb25zKTtcbiAgfVxuXG4gIE9idGFpblJlZmVycmFsc0J5VXNlcihwYXJhbXM6IElPYnRhaW5SZWZlcnNCeVVzZXJScSk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgbGV0IHNlcnZpY2VVcmwgPSB0aGlzLlNFUlZJQ0VfVVJMICsgJ3Bvc3Qvb2J0YWluL3JlZmVycmFscy9ieS91c2VyL2NvZGUnO1xuICAgIHRoaXMuZ2VuZXJhdGVSZXF1ZXN0UGFyYW1zKHBhcmFtcyk7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KHNlcnZpY2VVcmwsIHRoaXMuaHR0cE9wdGlvbnMpO1xuICB9XG5cbiAgICBnZXRQb3NpYmxlU3R1ZGVudHNBbGwocGFyYW1zOiBhbnkpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGxldCBzZXJ2aWNlVXJsID0gdGhpcy5TRVJWSUNFX1VSTCArICdwb3N0L29idGFpbi9wb3NpYmxlL3N0dWRlbnRzL2FsbC9tb2RlbHMnO1xuICAgIHRoaXMuZ2VuZXJhdGVSZXF1ZXN0UGFyYW1zKHBhcmFtcyk7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KHNlcnZpY2VVcmwsIHRoaXMuaHR0cE9wdGlvbnMpO1xuICB9XG4gIHBvc3RBc3NpZ25Qb3NpYmxlU3R1ZW50Rm9yVmFsdWUocGFyYW1zOiBJQXNzaWduUG9zaWJsZVN0dWRlbnRGb3JWYWx1ZVJxKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBsZXQgc2VydmljZVVybCA9IHRoaXMuU0VSVklDRV9VUkwgKyAncG9zdC9wb3NpYmxlL3N0dWRlbnRzL3ZhbHVlL2Fzc2luZyc7XG4gICAgdGhpcy5nZW5lcmF0ZVJlcXVlc3RQYXJhbXMocGFyYW1zKTtcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Qoc2VydmljZVVybCwgdGhpcy5odHRwT3B0aW9ucyk7XG4gIH1cbiAgZ2V0Q29udGFjdHNCeUFkdmlzZXJDb21tZXJjaWFsKHBhcmFtczogSUdldENvbnRhY3RzYWR2aXNlclJxKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBsZXQgc2VydmljZVVybCA9IHRoaXMuU0VSVklDRV9VUkwgKyAncG9zdC9jb250YWN0cy9tYXJrZXRpbmcvc3RyYXRlZ3kvYXNzaW5nL2J5L2FkdmlzZXInO1xuICAgIHRoaXMuZ2VuZXJhdGVSZXF1ZXN0UGFyYW1zKHBhcmFtcyk7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KHNlcnZpY2VVcmwsIHRoaXMuaHR0cE9wdGlvbnMpO1xuICB9XG5cbiAgT2J0YWluQ29kUHJpY2VzKHBhcmFtczogSU9idGFpbkNvZFByaWNlc1JxKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBsZXQgc2VydmljZVVybCA9IHRoaXMuU0VSVklDRV9VUkwgKyAncG9zdC9vYnRhaW4vY29kL3ByaWNlcyc7XG4gICAgdGhpcy5nZW5lcmF0ZVJlcXVlc3RQYXJhbXMocGFyYW1zKTtcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Qoc2VydmljZVVybCwgdGhpcy5odHRwT3B0aW9ucyk7XG4gIH1cblxuICBwb3N0Q3JlYXRlZFNvY2lhbE5ldG93cmtzKHBhcmFtczogSVNvY2lhbE5ldHdvcmtzUnEpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGxldCBzZXJ2aWNlVXJsID0gdGhpcy5TRVJWSUNFX1VSTCArICdwb3N0L25ldy9yZWdpc3Rlci9zb2NpYWwvbmV0d29yayc7XG4gICAgdGhpcy5nZW5lcmF0ZVJlcXVlc3RQYXJhbXMocGFyYW1zKTtcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Qoc2VydmljZVVybCwgdGhpcy5odHRwT3B0aW9ucyk7XG4gIH1cblxuICBwb3N0QXNzaWduaW5nQWR2aXNvckdvYWxzKHBhcmFtczogSUFzc2lnbmluZ0Fkdmlzb3JHb2Fsc1JxKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBsZXQgc2VydmljZVVybCA9IHRoaXMuU0VSVklDRV9VUkwgKyAncG9zdC9hc3NpZ25pbmcvYWR2aXNvcnkvZ29hbHMnO1xuICAgIHRoaXMuZ2VuZXJhdGVSZXF1ZXN0UGFyYW1zKHBhcmFtcyk7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KHNlcnZpY2VVcmwsIHRoaXMuaHR0cE9wdGlvbnMpO1xuICB9XG5cbiAgcG9zT2J0YWluQWR2aXNvckdvYWxzKHBhcmFtczogSU9idGFpbkFsbENvdXJzZXdhbGxldCk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgbGV0IHNlcnZpY2VVcmwgPSB0aGlzLlNFUlZJQ0VfVVJMICsgJ3Bvc3Qvb2J0YWluL2dvYWxzL2Fzc2lnbmVkL3RvL2Fkdmlzb3InO1xuICAgIHRoaXMuZ2VuZXJhdGVSZXF1ZXN0UGFyYW1zKHBhcmFtcyk7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KHNlcnZpY2VVcmwsIHRoaXMuaHR0cE9wdGlvbnMpO1xuICB9XG5cbiAgcG9zdE9idGFpbk92ZXJhbEdvYWxBZHZpc28ocGFyYW1zOiBJT2J0YWluQWxsQ291cnNld2FsbGV0KTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBsZXQgc2VydmljZVVybCA9IHRoaXMuU0VSVklDRV9VUkwgKyAncG9zdC9vYnRhaW4vb3ZlcmFsL2dvYWwvb2YvYWR2aXNvcic7XG4gICAgdGhpcy5nZW5lcmF0ZVJlcXVlc3RQYXJhbXMocGFyYW1zKTtcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Qoc2VydmljZVVybCwgdGhpcy5odHRwT3B0aW9ucyk7XG4gIH1cblxuICBwb3N0T2J0YWluaW5mb0NvZEFjdHVhbGx5QnlVc2VyKHBhcmFtczogSWdldENvdXJzZXNGaW5pc2hBbmR1bmFzc2lnbmVkUnEpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGxldCBzZXJ2aWNlVXJsID0gdGhpcy5TRVJWSUNFX1VSTCArICdwb3N0L29idGFpbi9pbmZvL2NvZC91c2VyJztcbiAgICB0aGlzLmdlbmVyYXRlUmVxdWVzdFBhcmFtcyhwYXJhbXMpO1xuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChzZXJ2aWNlVXJsLCB0aGlzLmh0dHBPcHRpb25zKTtcbiAgfVxuXG4gIG9idGFpbmdMYXRlc0NvZEJ5U3R1ZGVudENvZGUgKGNvZGVTdHVkZW50OiBudW1iZXIpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGxldCBzZXJ2aWNlVXJsID0gdGhpcy5TRVJWSUNFX1VSTCArICdnZXQvbGF0ZXN0L2NvZC9ieS9zdHVkZW50L2NvZGUvJyArIGNvZGVTdHVkZW50O1xuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0KHNlcnZpY2VVcmwsIHRoaXMuaHR0cE9wdGlvbnMpO1xuICB9XG5cbiAgdXBkYXRlQ09EKHJlcXVlc3Q6IElVcGRhdGVDT0RScSk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgbGV0IHNlcnZpY2VVcmwgPSB0aGlzLlNFUlZJQ0VfVVJMICsgJ3Bvc3QvdXBkYXRlL2NvZCc7XG4gICAgdGhpcy5nZW5lcmF0ZVJlcXVlc3RQYXJhbXMocmVxdWVzdCk7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KHNlcnZpY2VVcmwsIHRoaXMuaHR0cE9wdGlvbnMpO1xuICB9XG4gIG9idGFpbmNvZEN1cnJyZW50QW5kTGV2ZWxGdWxsRGF0YVJlbm92YXRpb25zKHJlcXVlc3Q6IElvYnRhaW5jb2RDdXJycmVudEFuZExldmVsRnVsbERhdGFSZW5vdmF0aW9uc1JxKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBsZXQgc2VydmljZVVybCA9IHRoaXMuU0VSVklDRV9VUkwgKyAncG9zdC9vYnRhaW4vZnVsbC9kYXRhL2N1cnJlbnQvY29kL2J5L2NvZGUvc3R1ZGVudC9yZW5vdmF0aW9uJztcbiAgICB0aGlzLmdlbmVyYXRlUmVxdWVzdFBhcmFtcyhyZXF1ZXN0KTtcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Qoc2VydmljZVVybCwgdGhpcy5odHRwT3B0aW9ucyk7XG4gIH1cbiAgZ2V0ZGF0YUN1cnJlbnRDb2RCeVNUdWRlbnRDb2RlKHJlcXVlc3Q6IElvYnRhaW5jb2RDdXJycmVudEFuZExldmVsRnVsbERhdGFSZW5vdmF0aW9uc1JxKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBsZXQgc2VydmljZVVybCA9IHRoaXMuU0VSVklDRV9VUkwgKyAnZ2V0L2RhdGEvY3VycmVudC9kYXRhL2NvZC9ieS9zdHVkZW50JztcbiAgICB0aGlzLmdlbmVyYXRlUmVxdWVzdFBhcmFtcyhyZXF1ZXN0KTtcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Qoc2VydmljZVVybCwgdGhpcy5odHRwT3B0aW9ucyk7XG4gIH1cbiAgdXBkYXRlQ29kQ3VycmVudEluT2JzZXJ2YXRpb25zUmVub3ZhdGlvbnMocmVxdWVzdDogYW55KTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBsZXQgc2VydmljZVVybCA9IHRoaXMuU0VSVklDRV9VUkwgKyAncG9zdC9jaGFuZ2UvY29kL3N0YXR1cy9vYnNlcnZhdGlvbnMvcmVub3ZhdGlvbnMnO1xuICAgIHRoaXMuZ2VuZXJhdGVSZXF1ZXN0UGFyYW1zKHJlcXVlc3QpO1xuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChzZXJ2aWNlVXJsLCB0aGlzLmh0dHBPcHRpb25zKTtcbiAgfVxuXG4gIG9idGFpbkNvZFByZXZpdXNPclBsYWNlbWVudFRlc3RCeWNvZGUocmVxdWVzdDogYW55KTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBsZXQgc2VydmljZVVybCA9IHRoaXMuU0VSVklDRV9VUkwgKyAncG9zdC9vYnRhaW4vY29kL3JlZ2lzdGVyL3ByZXZpb3VzL29yL3BsYWNlbWVudC90ZXN0L2J5L3N0YXR1cyc7XG4gICAgdGhpcy5nZW5lcmF0ZVJlcXVlc3RQYXJhbXMocmVxdWVzdCk7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KHNlcnZpY2VVcmwsIHRoaXMuaHR0cE9wdGlvbnMpO1xuICB9XG4gIHVwZGF0ZUNvbnRyb2xTdGVwc0NvZFNlbGZNYW5hZ2VkKHJlcXVlc3Q6IGFueSk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgbGV0IHNlcnZpY2VVcmwgPSB0aGlzLlNFUlZJQ0VfVVJMICsgJ3Bvc3QvY2hhbmdlL3N0ZXAvZm9ybS9jb250cm9sL2NvZC9zZWxmL21hbmFnZWQnO1xuICAgIHRoaXMuZ2VuZXJhdGVSZXF1ZXN0UGFyYW1zKHJlcXVlc3QpO1xuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChzZXJ2aWNlVXJsLCB0aGlzLmh0dHBPcHRpb25zKTtcbiAgfVxuICBPYnRhaW5Db2RQcmljZXNDb2RTZWxmTWFuYWdlZChwYXJhbXM6IElPYnRhaW5Db2RQcmljZXNScSk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgbGV0IHNlcnZpY2VVcmwgPSB0aGlzLlNFUlZJQ0VfVVJMICsgJ3Bvc3Qvb2J0YWluL2NvZC9zZWxmL21hbmFnZWQvcHJpY2VzJztcbiAgICB0aGlzLmdlbmVyYXRlUmVxdWVzdFBhcmFtcyhwYXJhbXMpO1xuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChzZXJ2aWNlVXJsLCB0aGlzLmh0dHBPcHRpb25zKTtcbiAgfVxuICBjcmVhdGVDb2RTZWxmTWFuYWdlZChwYXJhbXM6IGFueSk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgbGV0IHNlcnZpY2VVcmwgPSB0aGlzLlNFUlZJQ0VfVVJMICsgJ3Bvc3QvY29kL3NlbGYvbWFuYWdlZCc7XG4gICAgdGhpcy5nZW5lcmF0ZVJlcXVlc3RQYXJhbXMocGFyYW1zKTtcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Qoc2VydmljZVVybCwgdGhpcy5odHRwT3B0aW9ucyk7XG4gIH1cblxuICBwcml6ZXNGb3JEdXJhdGlvbk9kQ29udGVzdCgpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGxldCBzZXJ2aWNlVXJsID0gdGhpcy5TRVJWSUNFX1VSTCArICAncHJpemVzL2Zvci9kdXJhdGlvbi9vZi9jb250ZXN0JztcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldChzZXJ2aWNlVXJsKTtcbiAgfVxuXG4gIGNyZWF0ZVRpY2tldFJlZmVycmFsKHBhcmFtczogSUNyZWF0ZVRpY2tldFJlZmVycmFsUnEpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGxldCBzZXJ2aWNlVXJsID0gdGhpcy5TRVJWSUNFX1VSTCArICdjcmVhdGUvY29udGVzdC9yZWdpc3RyYXRpb24vYnkvcmVmZXJyYWxlJztcbiAgICB0aGlzLmdlbmVyYXRlUmVxdWVzdFBhcmFtcyhwYXJhbXMpO1xuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChzZXJ2aWNlVXJsLCB0aGlzLmh0dHBPcHRpb25zKTtcbiAgfVxuXG4gICAgb2J0YWluU3RhdHVzQW5kUmVmZXJyYWxzQnlVc2VyQ29kZShwYXJhbXM6IElPYnRhaW5SZWZlcnNCeVVzZXJScSk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgbGV0IHNlcnZpY2VVcmwgPSB0aGlzLlNFUlZJQ0VfVVJMICsgJ29idGFpbi9zdGF0dXMvYW5kL3JlZmVycmFscy9ieS91c2VyL2NvZGUnO1xuICAgIHRoaXMuZ2VuZXJhdGVSZXF1ZXN0UGFyYW1zKHBhcmFtcyk7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KHNlcnZpY2VVcmwsIHRoaXMuaHR0cE9wdGlvbnMpO1xuICB9XG5cbiAgZ2V0Q29kU3R1ZGVudERldGFpbHNCeUFkdmlzZXIocGFyYW1zOiBJQ29kRGV0YWlsc2J5QWR2aXNlcik6IE9ic2VydmFibGU8YW55PiB7XG4gICAgbGV0IHNlcnZpY2VVcmwgPSB0aGlzLlNFUlZJQ0VfVVJMICsgJ2dldC9jb2Qvc3R1ZGVudC9kZXRhaWxzL2J5L2FkdmlzZXInO1xuICAgIHRoaXMuZ2VuZXJhdGVSZXF1ZXN0UGFyYW1zKHBhcmFtcyk7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KHNlcnZpY2VVcmwsIHRoaXMuaHR0cE9wdGlvbnMpO1xuICB9XG5cbiAgZ2VzUG9zaWJsZVN0dWRlbnRBbGxGb3VyTW9kZWxzQnlEYXRlKHBhcmFtczogSUdldFBvc2libGVTdHVkZW50QnlEYXRlUnEpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGxldCBzZXJ2aWNlVXJsID0gdGhpcy5TRVJWSUNFX1VSTCArICdnZXQvcG9zaWJsZS9zdHVkZW50cy9hbGwvZm91ci9tb2RlbHMvYnkvZGF0ZSc7XG4gICAgdGhpcy5nZW5lcmF0ZVJlcXVlc3RQYXJhbXMocGFyYW1zKTtcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Qoc2VydmljZVVybCwgdGhpcy5odHRwT3B0aW9ucyk7XG4gIH1cblxuICBnZXNVc2VyQWR2aXNlckNvbW1lcmNpYWxCeVR5cGVBc3NpbmdDb250YWN0KHBhcmFtczogSUdldFVzZXJBZHZpc2VyQ29tbWVyY2lhbEJ5VHlwZUFzc2luZ0NvbnRhY3RzUnEpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGxldCBzZXJ2aWNlVXJsID0gdGhpcy5TRVJWSUNFX1VSTCArICdnZXQvdXNlci9jb21tZXJjaWFsL2J5L3R5cGUvYXNzaW5nJztcbiAgICB0aGlzLmdlbmVyYXRlUmVxdWVzdFBhcmFtcyhwYXJhbXMpO1xuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChzZXJ2aWNlVXJsLCB0aGlzLmh0dHBPcHRpb25zKTtcbiAgfVxuXG4gIGFzc2luZ0N1c3RvbWVyc0J5VHlwZUFzc2luZ0NvbnRhY3RGb3JBZHZpc2VyKHBhcmFtczogQXNzaW5nQ3VzdG9tZXJzQnlUeXBlQXNzaW5nQ29udGFjdEZvckFkdmlzZXJScSk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgbGV0IHNlcnZpY2VVcmwgPSB0aGlzLlNFUlZJQ0VfVVJMICsgJ3Bvc3QvQXNzaW5nL3VzZXIvcG9zaWJsZS9zdHVkZW50L2J5L2RhdGUnO1xuICAgIHRoaXMuZ2VuZXJhdGVSZXF1ZXN0UGFyYW1zKHBhcmFtcyk7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KHNlcnZpY2VVcmwsIHRoaXMuaHR0cE9wdGlvbnMpO1xuICB9XG5cbiAgb2J0YWluQWRkaXRpb25hbFVzZXJEYXRhQnlDb3Vyc2UocGFyYW1zOiBJZ2V0Q291cnNlc0ZpbmlzaEFuZHVuYXNzaWduZWRScSk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgbGV0IHNlcnZpY2VVcmwgPSB0aGlzLlNFUlZJQ0VfVVJMICsgJ29idGFpbi9hZGRpdGlvbmFsL3VzZXIvZGF0YS9ieS9jb3Vyc2UnO1xuICAgIHRoaXMuZ2VuZXJhdGVSZXF1ZXN0UGFyYW1zKHBhcmFtcyk7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KHNlcnZpY2VVcmwsIHRoaXMuaHR0cE9wdGlvbnMpO1xuICB9XG5cbiAgb2J0YWluQWxsUmVmZXJyYWxzQnlVc2VyKHBhcmFtczogSU9idGFpbkFsbFJlZmVycmFsc0J5VXNlclJxKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBsZXQgc2VydmljZVVybCA9IHRoaXMuU0VSVklDRV9VUkwgKyAnb2J0YWluL2FsbC9yZWZlcnJhbHMvYnkvdXNlci9jb2RlJztcbiAgICB0aGlzLmdlbmVyYXRlUmVxdWVzdFBhcmFtcyhwYXJhbXMpO1xuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChzZXJ2aWNlVXJsLCB0aGlzLmh0dHBPcHRpb25zKTtcbiAgfVxuXG4gIGdldFN1bW1hcnlCeUNvbW1lcmNpYWxBZHZpc29yKHBhcmFtczogZ2V0U3VtbWFyeUJ5Q29tbWVyY2lhbEFkdmlzb3JScSk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgbGV0IHNlcnZpY2VVcmwgPSB0aGlzLlNFUlZJQ0VfVVJMICsgJ2dldC9zdW1tYXJ5L2J5L2NvbW1lcmNpYWwvYWR2aXNvcic7XG4gICAgdGhpcy5nZW5lcmF0ZVJlcXVlc3RQYXJhbXMocGFyYW1zKTtcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Qoc2VydmljZVVybCwgdGhpcy5odHRwT3B0aW9ucyk7XG4gIH1cblxuICBnZXRBbGxDb2RJbmZvcm1hdGlvbkZvckV4cG9ydGluZyhwYXJhbXM6IElDb2RQYXltZW50UnEpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGxldCBzZXJ2aWNlVXJsID0gdGhpcy5TRVJWSUNFX1VSTCArICdnZXQvYWxsL2NvZC9pbmZvcm1hdGlvbi9mb3IvZXhwb3J0aW5nJztcbiAgICB0aGlzLmdlbmVyYXRlUmVxdWVzdFBhcmFtcyhwYXJhbXMpO1xuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChzZXJ2aWNlVXJsLCB0aGlzLmh0dHBPcHRpb25zKTtcbiAgfVxuXG4gIG9idGFpbkNvZEJ5QWR2aXNvcldpdGhUaGVpclN0YXRlcyhwYXJhbXM6IElDb2RXaXRoVGhlaXJTdGF0ZXNScSk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgbGV0IHNlcnZpY2VVcmwgPSB0aGlzLlNFUlZJQ0VfVVJMICsgJ29idGFpbi9jb2QvYnkvYWR2aXNvci93aXRoL3RoZWlyL3N0YXRlcyc7XG4gICAgdGhpcy5nZW5lcmF0ZVJlcXVlc3RQYXJhbXMocGFyYW1zKTtcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Qoc2VydmljZVVybCwgdGhpcy5odHRwT3B0aW9ucyk7XG4gIH1cblxuICBleHRlbmRUaW1lT2ZBY2NlcHRhbmNlT2ZUZXJtcyhwYXJhbXM6IElFeHRlbmRUaW1lVGVybXNScSk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgbGV0IHNlcnZpY2VVcmwgPSB0aGlzLlNFUlZJQ0VfVVJMICsgJ2V4dGVuZC90aW1lL29mL2FjY2VwdGFuY2Uvb2YvdGVybXMnO1xuICAgIHRoaXMuZ2VuZXJhdGVSZXF1ZXN0UGFyYW1zKHBhcmFtcyk7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KHNlcnZpY2VVcmwsIHRoaXMuaHR0cE9wdGlvbnMpO1xuICB9XG5cbiAgbmV3VGVybXNBbmRDb25kaXRpb25zQWNjZXB0YW5jZVRva2VuKHBhcmFtczogSU5ld1Rlcm1zQW5kQ29uZFJxKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBsZXQgc2VydmljZVVybCA9IHRoaXMuU0VSVklDRV9VUkwgKyAnbmV3L3Rlcm1zL2FuZC9jb25kaXRpb25zL2FjY2VwdGFuY2UvdG9rZW4nO1xuICAgIHRoaXMuZ2VuZXJhdGVSZXF1ZXN0UGFyYW1zKHBhcmFtcyk7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KHNlcnZpY2VVcmwsIHRoaXMuaHR0cE9wdGlvbnMpO1xuICB9XG5cbn1cbiJdfQ==
@@ -3891,6 +3891,16 @@ class CommercialService extends IPTGeneralService {
3891
3891
  this.generateRequestParams(params);
3892
3892
  return this.http.post(serviceUrl, this.httpOptions);
3893
3893
  }
3894
+ extendTimeOfAcceptanceOfTerms(params) {
3895
+ let serviceUrl = this.SERVICE_URL + 'extend/time/of/acceptance/of/terms';
3896
+ this.generateRequestParams(params);
3897
+ return this.http.post(serviceUrl, this.httpOptions);
3898
+ }
3899
+ newTermsAndConditionsAcceptanceToken(params) {
3900
+ let serviceUrl = this.SERVICE_URL + 'new/terms/and/conditions/acceptance/token';
3901
+ this.generateRequestParams(params);
3902
+ return this.http.post(serviceUrl, this.httpOptions);
3903
+ }
3894
3904
  }
3895
3905
  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 });
3896
3906
  CommercialService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.0.7", ngImport: i0, type: CommercialService, providedIn: 'root' });
@@ -4898,7 +4908,7 @@ class CodFormStepTwoComponent extends CodFormSteps {
4898
4908
  state: ['', [Validators.required], []],
4899
4909
  city: ['', [Validators.required], []],
4900
4910
  student_id_card_type: ['', [Validators.required], []],
4901
- student_id_card: [{ value: '', disabled: true }, [Validators.required, Validators.minLength(5), Validators.maxLength(20)]],
4911
+ student_id_card: [{ value: '', disabled: true }, [Validators.required, Validators.minLength(5), Validators.maxLength(20), Validators.pattern(/^[a-zA-Z0-9]*$/)]],
4902
4912
  student_last_name: ['', [Validators.required, Validators.minLength(5), Validators.maxLength(32)]],
4903
4913
  student_name: ['', [Validators.required, Validators.minLength(3), Validators.maxLength(32)]],
4904
4914
  student_email: ['', [Validators.required, Validators.email]],
@@ -5069,34 +5079,29 @@ class CodFormStepTwoComponent extends CodFormSteps {
5069
5079
  }
5070
5080
  }
5071
5081
  trackStudentIdCardChanges() {
5072
- console.log('entro aqui');
5073
- this.codFormStepTwo.controls['student_id_card'].valueChanges.pipe().subscribe(value => {
5074
- var _a;
5082
+ console.log('trackStudentIdCardChanges called'); // Depuración
5083
+ this.codFormStepTwo.controls['student_id_card'].valueChanges.subscribe(value => {
5075
5084
  console.log('student_id_card value:', value); // Depuración
5085
+ this.updateIdTypes(value);
5086
+ });
5087
+ }
5088
+ updateIdTypes(value) {
5089
+ var _a;
5090
+ console.log('updateIdTypes called with value:', value); // Depuración
5091
+ if ((_a = this.parametersAll) === null || _a === void 0 ? void 0 : _a.TypeIdCardByCountryCol) {
5076
5092
  if (value && /[a-zA-Z]/.test(value)) {
5077
5093
  console.log('Contains letters, filtering idTypes'); // Depuración
5078
- this.filterIdTypes([0, 1, 2, 7]);
5094
+ this.idTypes = this.parametersAll.TypeIdCardByCountryCol.filter((_, index) => ![0, 1, 2, 7].includes(index));
5079
5095
  }
5080
5096
  else {
5081
5097
  console.log('No letters, restoring idTypes'); // Depuración
5082
- this.idTypes = (_a = this.parametersAll) === null || _a === void 0 ? void 0 : _a.TypeIdCardByCountryCol;
5098
+ this.idTypes = [...this.parametersAll.TypeIdCardByCountryCol]; // Crear una copia para forzar detección de cambios
5083
5099
  }
5084
5100
  console.log('Current idTypes:', this.idTypes); // Depuración
5085
- });
5086
- }
5087
- filterIdTypes(positionsToRemove) {
5088
- if (this.idTypes && Array.isArray(this.idTypes)) {
5089
- // Crear una copia de idTypes para evitar mutar el original directamente
5090
- let filteredIdTypes = [...this.idTypes];
5091
- // Ordenar las posiciones de mayor a menor para evitar problemas al eliminar
5092
- const sortedPositions = positionsToRemove.sort((a, b) => b - a);
5093
- // Eliminar registros en las posiciones especificadas
5094
- sortedPositions.forEach(position => {
5095
- if (position >= 0 && position < filteredIdTypes.length) {
5096
- filteredIdTypes.splice(position, 1);
5097
- }
5098
- });
5099
- this.idTypes = filteredIdTypes;
5101
+ }
5102
+ else {
5103
+ console.log('TypeIdCardByCountryCol is undefined'); // Depuración
5104
+ this.idTypes = [];
5100
5105
  }
5101
5106
  }
5102
5107
  }