ca-components 1.1.9997 → 1.1.9998

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.
@@ -33,6 +33,11 @@ export class CaInputAddressDropdownComponent {
33
33
  valid: value.address && value.longLat ? true : false,
34
34
  longLat: value.longLat,
35
35
  };
36
+ this.onChange({
37
+ ...value.address,
38
+ latitude: value.longLat?.latitude,
39
+ longitude: value.longLat?.longitude,
40
+ });
36
41
  this.selectedAddress.emit(this.currentAddressData);
37
42
  }
38
43
  }
@@ -342,4 +347,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
342
347
  type: HostListener,
343
348
  args: ['document:keydown', ['$event']]
344
349
  }] } });
345
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2EtaW5wdXQtYWRkcmVzcy1kcm9wZG93bi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jYS1jb21wb25lbnRzL3NyYy9saWIvY29tcG9uZW50cy9jYS1pbnB1dC1hZGRyZXNzLWRyb3Bkb3duL2NhLWlucHV0LWFkZHJlc3MtZHJvcGRvd24uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2EtY29tcG9uZW50cy9zcmMvbGliL2NvbXBvbmVudHMvY2EtaW5wdXQtYWRkcmVzcy1kcm9wZG93bi9jYS1pbnB1dC1hZGRyZXNzLWRyb3Bkb3duLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQWUsbUJBQW1CLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNsRSxPQUFPLEVBQ0gsU0FBUyxFQUNULFlBQVksRUFDWixLQUFLLEVBR0wsTUFBTSxFQUNOLElBQUksRUFDSixTQUFTLEVBQ1QsaUJBQWlCLEVBRWpCLFlBQVksR0FFZixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQ0gsZUFBZSxFQUNmLFVBQVUsRUFDVixZQUFZLEVBQ1osb0JBQW9CLEVBQ3BCLE1BQU0sRUFFTixFQUFFLEVBQ0YsT0FBTyxFQUNQLFNBQVMsRUFDVCxTQUFTLEVBQ1QsR0FBRyxHQUNOLE1BQU0sTUFBTSxDQUFDO0FBQ2QsT0FBTyxFQUlILFdBQVcsR0FDZCxNQUFNLGdCQUFnQixDQUFDO0FBS3hCLGFBQWE7QUFDYixPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxrREFBa0QsQ0FBQztBQUU1RixVQUFVO0FBQ1YsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDeEQsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FB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bW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IEZvcm1Db250cm9sLCBSZWFjdGl2ZUZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHtcbiAgICBDb21wb25lbnQsXG4gICAgRXZlbnRFbWl0dGVyLFxuICAgIElucHV0LFxuICAgIE9uRGVzdHJveSxcbiAgICBPbkluaXQsXG4gICAgT3V0cHV0LFxuICAgIFNlbGYsXG4gICAgVmlld0NoaWxkLFxuICAgIFZpZXdFbmNhcHN1bGF0aW9uLFxuICAgIENoYW5nZURldGVjdG9yUmVmLFxuICAgIEhvc3RMaXN0ZW5lcixcbiAgICBBZnRlckNvbnRlbnRJbml0LFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gICAgQmVoYXZpb3JTdWJqZWN0LFxuICAgIGNhdGNoRXJyb3IsXG4gICAgZGVib3VuY2VUaW1lLFxuICAgIGRpc3RpbmN0VW50aWxDaGFuZ2VkLFxuICAgIGZpbHRlcixcbiAgICBPYnNlcnZhYmxlLFxuICAgIG9mLFxuICAgIFN1YmplY3QsXG4gICAgc3dpdGNoTWFwLFxuICAgIHRha2VVbnRpbCxcbiAgICB0YXAsXG59IGZyb20gJ3J4anMnO1xuaW1wb3J0IHtcbiAgICBVbnR5cGVkRm9ybUdyb3VwLFxuICAgIE5nQ29udHJvbCxcbiAgICBDb250cm9sVmFsdWVBY2Nlc3NvcixcbiAgICBGb3Jtc01vZHVsZSxcbn0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuXG4vLyBDb25maWdcbmltcG9ydCB7IElDYUlucHV0IH0gZnJvbSAnLi4vY2EtaW5wdXQvY29uZmlnL2NhLWlucHV0LmNvbmZpZyc7XG5cbi8vIENvbXBvbmVudHNcbmltcG9ydCB7IENhSW5wdXREcm9wZG93bkNvbXBvbmVudCB9IGZyb20gJy4uL2NhLWlucHV0LWRyb3Bkb3duL2NhLWlucHV0LWRyb3Bkb3duLmNvbXBvbmVudCc7XG5cbi8vIE1vZHVsZXNcbmltcG9ydCB7IEFuZ3VsYXJTdmdJY29uTW9kdWxlIH0gZnJvbSAnYW5ndWxhci1zdmctaWNvbic7XG5pbXBvcnQgeyBOZ2JNb2R1bGUgfSBmcm9tICdAbmctYm9vdHN0cmFwL25nLWJvb3RzdHJhcCc7XG5cbi8vIGVudW1zXG5pbXBvcnQgeyBJbnB1dEFkZHJlc3NDb21tYW5kc1N0cmluZ0VudW0gfSBmcm9tICcuL2VudW1zL2lucHV0LWFkZHJlc3MtY29tbWFuZHMtc3RyaW5nLmVudW0nO1xuaW1wb3J0IHsgSW5wdXRBZGRyZXNzU3RvcFR5cGVzU3RyaW5nRW51bSB9IGZyb20gJy4vZW51bXMvaW5wdXQtYWRkcmVzcy1zdG9wLXR5cGVzLXN0cmluZy5lbnVtJztcbmltcG9ydCB7IElucHV0QWRkcmVzc1R5cGVTdHJpbmdFbnVtIH0gZnJvbSAnLi9lbnVtcy9pbnB1dC1hZGRyZXNzLXR5cGUtc3RyaW5nLmVudW0nO1xuaW1wb3J0IHsgSW5wdXRBZGRyZXNzTGF5ZXJzU3RyaW5nRW51bSB9IGZyb20gJy4vZW51bXMvaW5wdXQtYWRkcmVzcy1sYXllcnMtc3RyaW5nLmVudW0nO1xuaW1wb3J0IHsgZUlucHV0QmFzaWNTdHJpbmcgfSBmcm9tICcuL2VudW1zL2lucHV0LWFkZHJlc3MtYmFzaWMtc3RyaW5nLmVudW0nO1xuXG4vLyBtb2RlbHNcbmltcG9ydCB7IEFkZHJlc3NEYXRhIH0gZnJvbSAnLi9tb2RlbHMvYWRkcmVzcy1kYXRhLm1vZGVsJztcbmltcG9ydCB7IEFkZHJlc3NMaXN0IH0gZnJvbSAnLi9tb2RlbHMvYWRkcmVzcy1saXN0Lm1vZGVsJztcbmltcG9ydCB7IENvbW1hbmRzSGFuZGxlciB9IGZyb20gJy4vbW9kZWxzL2NvbW1hbmRzLWhhbmRsZXIubW9kZWwnO1xuaW1wb3J0IHsgQXV0b2NvbXBsZXRlU2VhcmNoTGF5ZXIgfSBmcm9tICcuLi8uLi9tb2RlbHMvYXV0b2NvbXBsZXRlLXNlYXJjaC1sYXllci5tb2RlbCc7XG5pbXBvcnQgeyBDYUFwcFRvb2x0aXBWMkNvbXBvbmVudCB9IGZyb20gJy4uL2NhLWFwcC10b29sdGlwLXYyL2NhLWFwcC10b29sdGlwLXYyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBIdHRwQ2xpZW50TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHsgSW5wdXRBZGRyZXNzQ29tbWFuZHNTdHJpbmcgfSBmcm9tICcuL21vZGVscy9pbnB1dC1hZGRyZXNzLWNvbW1hbmRzLXN0cmluZy5tb2RlbCc7XG5pbXBvcnQgeyBTZW50QWRkcmVzc0RhdGEgfSBmcm9tICcuL21vZGVscy9zZW50LWFkZHJlc3MtZGF0YS5tb2RlbCc7XG5pbXBvcnQgeyBBZGRyZXNzTGlzdFJlc3BvbnNlIH0gZnJvbSAnLi4vLi4vbW9kZWxzL2FkZHJlc3MtbGlzdC1yZXNwb25zZS5tb2RlbCc7XG5pbXBvcnQgeyBBZGRyZXNzRW50aXR5IH0gZnJvbSAnLi4vLi4vbW9kZWxzL2FkZHJlc3MtZW50aXR5Lm1vZGVsJztcbmltcG9ydCB7IGFkZHJlc3NOYW1lV2l0aERvdFZhbGlkYXRvciB9IGZyb20gJy4vdmFsaWRhdG9ycy9jYS1pbnB1dC1hZGRyZXNzLXZhbHVlLnZhbGlkYXRpb25zJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdhcHAtY2EtaW5wdXQtYWRkcmVzcy1kcm9wZG93bicsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2NhLWlucHV0LWFkZHJlc3MtZHJvcGRvd24uY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogW1xuICAgICAgICAnLi9jYS1pbnB1dC1hZGRyZXNzLWRyb3Bkb3duLmNvbXBvbmVudC5zY3NzJyxcbiAgICAgICAgJy4uL2NhLWlucHV0L2NhLWlucHV0LmNvbXBvbmVudC5zY3NzJyxcbiAgICBdLFxuICAgIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBpbXBvcnRzOiBbXG4gICAgICAgIC8vIE1vZHVsZXNcbiAgICAgICAgQ29tbW9uTW9kdWxlLFxuICAgICAgICBGb3Jtc01vZHVsZSxcbiAgICAgICAgTmdiTW9kdWxlLFxuICAgICAgICBSZWFjdGl2ZUZvcm1zTW9kdWxlLFxuICAgICAgICBBbmd1bGFyU3ZnSWNvbk1vZHVsZSxcbiAgICAgICAgSHR0cENsaWVudE1vZHVsZSxcblxuICAgICAgICAvLyBDb21wb25lbnRzXG4gICAgICAgIENhSW5wdXREcm9wZG93bkNvbXBvbmVudCxcbiAgICAgICAgQ2FBcHBUb29sdGlwVjJDb21wb25lbnQsXG4gICAgXSxcbn0pXG5leHBvcnQgY2xhc3MgQ2FJbnB1dEFkZHJlc3NEcm9wZG93bkNvbXBvbmVudFxuICAgIGltcGxlbWVudHMgT25Jbml0LCBDb250cm9sVmFsdWVBY2Nlc3NvciwgT25EZXN0cm95LCBBZnRlckNvbnRlbnRJbml0XG57XG4gICAgQFZpZXdDaGlsZCgnaW5wdXREcm9wZG93bicsIHsgc3RhdGljOiB0cnVlIH0pXG4gICAgaW5wdXREcm9wZG93biE6IENhSW5wdXREcm9wZG93bkNvbXBvbmVudDtcblxuICAgIEBJbnB1dCgpIHNldCBwbGFjZWhvbGRlclR5cGUodmFsdWU6IHN0cmluZykge1xuICAgICAgICB0aGlzLmNoZWNrU2VhcmNoTGF5ZXJzKHZhbHVlKTtcbiAgICB9XG5cbiAgICBASW5wdXQoKSBwdWJsaWMgc2V0IHJlY2VpdmVkQWRkcmVzc0RhdGEodmFsdWU6IEFkZHJlc3NEYXRhIHwgbnVsbCkge1xuICAgICAgICBpZiAodmFsdWUpIHtcbiAgICAgICAgICAgIHRoaXMuY3VycmVudEFkZHJlc3NEYXRhID0ge1xuICAgICAgICAgICAgICAgIGFkZHJlc3M6IHZhbHVlLmFkZHJlc3MhLFxuICAgICAgICAgICAgICAgIHZhbGlkOiB2YWx1ZS5hZGRyZXNzICYmIHZhbHVlLmxvbmdMYXQgPyB0cnVlIDogZmFsc2UsXG4gICAgICAgICAgICAgICAgbG9uZ0xhdDogdmFsdWUubG9uZ0xhdCxcbiAgICAgICAgICAgIH07XG5cbiAgICAgICAgICAgIHRoaXMuc2VsZWN0ZWRBZGRyZXNzLmVtaXQodGhpcy5jdXJyZW50QWRkcmVzc0RhdGEhKTtcbiAgICAgICAgfVxuICAgIH1cbiAgICBASW5wdXQoKSBwdWJsaWMgc2V0IHJlY2VpdmVkQWRkcmVzc0xpc3QodmFsdWU6IEFkZHJlc3NMaXN0UmVzcG9uc2UgfCBudWxsKSB7XG4gICAgICAgIHRoaXMuX3JlY2VpdmVkQWRkcmVzc0xpc3QgPSB2YWx1ZTtcbiAgICAgICAgaWYgKHZhbHVlPy5hZGRyZXNzZXMpIHtcbiAgICAgICAgICAgIHRoaXMuYWRkcmVzTGlzdCA9IHZhbHVlLmFkZHJlc3Nlcy5tYXAoXG4gICAgICAgICAgICAgICAgKGl0ZW06IHN0cmluZywgaW5keDogbnVtYmVyKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBhZGRyZXNzOiBpdGVtLFxuICAgICAgICAgICAgICAgICAgICAgICAgaWQ6IGluZHgsXG4gICAgICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIEBPdXRwdXQoKSBwdWJsaWMgc2VudEFkZHJlc3NWYWx1ZTogRXZlbnRFbWl0dGVyPHN0cmluZz4gPVxuICAgICAgICBuZXcgRXZlbnRFbWl0dGVyPHN0cmluZz4oKTtcblxuICAgIEBJbnB1dCgpIHB1YmxpYyBpbnB1dENvbmZpZyE6IElDYUlucHV0O1xuICAgIEBJbnB1dCgpIHB1YmxpYyBjb21tYW5kSGFuZGxlciE6IENvbW1hbmRzSGFuZGxlcjtcbiAgICBASW5wdXQoKSBwdWJsaWMgaXNSb3V0aW5nOiBib29sZWFuID0gZmFsc2U7XG4gICAgQElucHV0KCkgcHVibGljIGNsb3NlZEJvcmRlcjogYm9vbGVhbiA9IGZhbHNlO1xuICAgIEBJbnB1dCgpIHB1YmxpYyBpbmNvcnJlY3RWYWx1ZSE6IGJvb2xlYW47XG4gICAgQElucHV0KCkgcHVibGljIGhpZGVFbXB0eUxvYWRlZDogYm9vbGVhbiA9IGZhbHNlO1xuICAgIHB1YmxpYyBhZGRyZXNMaXN0ITogQWRkcmVzc0xpc3RbXTtcblxuICAgIEBPdXRwdXQoKSBzZWxlY3RlZEFkZHJlc3M6IEV2ZW50RW1pdHRlcjxBZGRyZXNzRGF0YT4gPVxuICAgICAgICBuZXcgRXZlbnRFbWl0dGVyPEFkZHJlc3NEYXRhPigpO1xuICAgIEBPdXRwdXQoKSBzZW50QWRkcmVzc0RhdGE6IEV2ZW50RW1pdHRlcjxTZW50QWRkcmVzc0RhdGE+ID1cbiAgICAgICAgbmV3IEV2ZW50RW1pdHRlcjxTZW50QWRkcmVzc0RhdGE+KCk7XG5cbiAgICBAT3V0cHV0KClcbiAgICBjbG9zZURyb3Bkb3duOiBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4gPSBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KCk7XG4gICAgQE91dHB1dCgpIGNvbW1hbmRFdmVudDogRXZlbnRFbWl0dGVyPEFkZHJlc3NEYXRhIHwge30+ID0gbmV3IEV2ZW50RW1pdHRlcjxcbiAgICAgICAgQWRkcmVzc0RhdGEgfCB7fVxuICAgID4oKTtcbiAgICBAT3V0cHV0KCkgY2hhbmdlRmxhZzogRXZlbnRFbWl0dGVyPGJvb2xlYW4+ID0gbmV3IEV2ZW50RW1pdHRlcjxib29sZWFuPigpO1xuICAgIEBPdXRwdXQoKSBpbmNvcnJlY3RFdmVudDogRXZlbnRFbWl0dGVyPGJvb2xlYW4+ID1cbiAgICAgICAgbmV3IEV2ZW50RW1pdHRlcjxib29sZWFuPigpO1xuXG4gICAgQEhvc3RMaXN0ZW5lcignZG9jdW1lbnQ6a2V5ZG93bicsIFsnJGV2ZW50J10pXG4gICAgaGFuZGxlS2V5Ym9hcmRFdmVudChldmVudDogS2V5Ym9hcmRFdmVudCkge1xuICAgICAgICBjb25zdCBrZXkgPSBldmVudC5rZXk7XG4gICAgICAgIGlmIChcbiAgICAgICAgICAgIHRoaXMuaW5wdXRDb25maWcubmFtZSA9PSBJbnB1dEFkZHJlc3NUeXBlU3RyaW5nRW51bS5ST1VUSU5HX0FERFJFU1NcbiAgICAgICAgKSB7XG4gICAgICAgICAgICBpZiAoa2V5ID09PSBJbnB1dEFkZHJlc3NDb21tYW5kc1N0cmluZ0VudW0uRU5URVIpIHtcbiAgICAgICAgICAgICAgICBpZiAodGhpcy5jdXJyZW50QWRkcmVzc0RhdGEpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5vbkNvbW1hbmRzKFxuICAgICAgICAgICAgICAgICAgICAgICAgZXZlbnQsXG4gICAgICAgICAgICAgICAgICAgICAgICBJbnB1dEFkZHJlc3NDb21tYW5kc1N0cmluZ0VudW0uQ09ORklSTVxuICAgICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0gZWxzZSBpZiAoa2V5ID09PSBJbnB1dEFkZHJlc3NDb21tYW5kc1N0cmluZ0VudW0uRVNDQVBFKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5jbGVhcklucHV0KGV2ZW50KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vQWRkcmVzcyBkYXRhXG4gICAgcHJpdmF0ZSBzZWFyY2hMYXllcnMhOiBBdXRvY29tcGxldGVTZWFyY2hMYXllcltdO1xuICAgIHB1YmxpYyBjdXJyZW50QWRkcmVzc0RhdGE6IEFkZHJlc3NEYXRhIHwgbnVsbCA9IG51bGw7XG5cbiAgICAvL0NvbmZnXG4gICAgcHVibGljIGFkZHJlc3NFeHBhbmRlZDogYm9vbGVhbiA9IGZhbHNlO1xuICAgIHB1YmxpYyBjaG9zZW5Gcm9tRHJvcGRvd246IGJvb2xlYW4gPSBmYWxzZTtcbiAgICBwcml2YXRlIGFsbG93VmFsaWRhdGlvbjogYm9vbGVhbiA9IGZhbHNlO1xuICAgIHB1YmxpYyBzdG9wVHlwZTogc3RyaW5nID0gSW5wdXRBZGRyZXNzU3RvcFR5cGVzU3RyaW5nRW51bS5FTVBUWTtcbiAgICBwcml2YXRlIHJlcXVlc3RTZW50OiBib29sZWFuID0gZmFsc2U7XG4gICAgcHVibGljIF9yZWNlaXZlZEFkZHJlc3NMaXN0OiBBZGRyZXNzTGlzdFJlc3BvbnNlIHwgbnVsbCA9IG51bGw7XG5cbiAgICBwcml2YXRlIGRlc3Ryb3kkID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcbiAgICBwdWJsaWMgYWRkcmVzc0Zvcm0hOiBVbnR5cGVkRm9ybUdyb3VwO1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIEBTZWxmKCkgcHVibGljIHN1cGVyQ29udHJvbDogTmdDb250cm9sLFxuICAgICAgICBwcml2YXRlIHJlZjogQ2hhbmdlRGV0ZWN0b3JSZWZcbiAgICApIHtcbiAgICAgICAgdGhpcy5zdXBlckNvbnRyb2wudmFsdWVBY2Nlc3NvciA9IHRoaXM7XG4gICAgfVxuXG4gICAgbmdBZnRlckNvbnRlbnRJbml0KCk6IHZvaWQge31cblxuICAgIHdyaXRlVmFsdWUoYWRkcmVzczogYW55KTogdm9pZCB7XG4gICAgICAgIGlmIChhZGRyZXNzKSB7XG4gICAgICAgICAgICB0aGlzLmlucHV0RHJvcGRvd24/LnNldERyb3Bkb3duVmFsdWUoYWRkcmVzcywgdW5kZWZpbmVkLCAnYWRkcmVzcycpO1xuXG4gICAgICAgICAgICB0aGlzLm9uQ2hhbmdlKGFkZHJlc3MpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHVibGljIHJlZ2lzdGVyT25DaGFuZ2UoZm46IGFueSk6IHZvaWQge1xuICAgICAgICB0aGlzLm9uQ2hhbmdlID0gZm47XG4gICAgfVxuXG4gICAgcHVibGljIG9uQ2hhbmdlKF86IGFueSk6IHZvaWQge31cblxuICAgIHB1YmxpYyByZWdpc3Rlck9uVG91Y2hlZChfOiBhbnkpOiB2b2lkIHt9XG5cbiAgICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5pbml0Q2hhbmdlc0xpc3RlbmVyKCk7XG4gICAgICAgIHRoaXMuYXR0YWNoQWRkcmVzc1N0cmVldFZhbGlkYXRpb24oKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgYXR0YWNoQWRkcmVzc1N0cmVldFZhbGlkYXRpb24oKSB7XG4gICAgICAgIGNvbnN0IGN1cnJlbnRWYWxpZGF0b3JzID0gdGhpcy5zdXBlckNvbnRyb2wudmFsaWRhdG9yXG4gICAgICAgICAgICA/IFt0aGlzLnN1cGVyQ29udHJvbC52YWxpZGF0b3JdXG4gICAgICAgICAgICA6IFtdO1xuICAgICAgICB0aGlzLnN1cGVyQ29udHJvbD8uY29udHJvbD8uc2V0VmFsaWRhdG9ycyhbXG4gICAgICAgICAgICAuLi5jdXJyZW50VmFsaWRhdG9ycyxcbiAgICAgICAgICAgIGFkZHJlc3NOYW1lV2l0aERvdFZhbGlkYXRvcigpLFxuICAgICAgICBdKTtcbiAgICAgICAgdGhpcy5zdXBlckNvbnRyb2w/LmNvbnRyb2w/LnVwZGF0ZVZhbHVlQW5kVmFsaWRpdHkoKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIG9ic2VydmFibGVJbnB1dFNlYXJjaCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8c3RyaW5nPignJyk7XG4gICAgcHVibGljIG9ic2VydmFibGVJbnB1dFNlYXJjaCQ6IE9ic2VydmFibGU8c3RyaW5nPiA9XG4gICAgICAgIHRoaXMub2JzZXJ2YWJsZUlucHV0U2VhcmNoLmFzT2JzZXJ2YWJsZSgpO1xuXG4gICAgcHVibGljIGhhbmRsZVNlYXJjaElucHV0KHRleHQ6IHN0cmluZyk6IHZvaWQge1xuICAgICAgICB0aGlzLm9ic2VydmFibGVJbnB1dFNlYXJjaC5uZXh0KHRleHQpO1xuICAgIH1cblxuICAgIHB1YmxpYyBpbml0Q2hhbmdlc0xpc3RlbmVyKCk6IHZvaWQge1xuICAgICAgICB0aGlzLm9ic2VydmFibGVJbnB1dFNlYXJjaCRcbiAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgIGRpc3RpbmN0VW50aWxDaGFuZ2VkKCksXG4gICAgICAgICAgICAgICAgdGFrZVVudGlsKHRoaXMuZGVzdHJveSQpLFxuICAgICAgICAgICAgICAgIHRhcCgodGVybSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmlucHV0Q29uZmlnID0ge1xuICAgICAgICAgICAgICAgICAgICAgICAgLi4udGhpcy5pbnB1dENvbmZpZyxcbiAgICAgICAgICAgICAgICAgICAgICAgIGxvYWRpbmdTcGlubmVyOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLi4udGhpcy5pbnB1dENvbmZpZy5sb2FkaW5nU3Bpbm5lcixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpc0xvYWRpbmc6IHRydWUsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgc2l6ZTogZUlucHV0QmFzaWNTdHJpbmcuU01BTEwsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6IGVJbnB1dEJhc2ljU3RyaW5nLldISVRFLFxuICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgfTtcblxuICAgICAgICAgICAgICAgICAgICBpZiAoIXRlcm0pIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuaW5wdXRDb25maWcgPSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLi4udGhpcy5pbnB1dENvbmZpZyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBsb2FkaW5nU3Bpbm5lcjoge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAuLi50aGlzLmlucHV0Q29uZmlnLmxvYWRpbmdTcGlubmVyLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpc0xvYWRpbmc6IGZhbHNlLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5hZGRyZXNMaXN0ID0gW107XG4gICAgICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAoXG4gICAgICAgICAgICAgICAgICAgICAgICB0ZXJtICE9PSB0aGlzLmN1cnJlbnRBZGRyZXNzRGF0YT8uYWRkcmVzcy5hZGRyZXNzICYmXG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmlucHV0Q29uZmlnLm5hbWUgPT09XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgSW5wdXRBZGRyZXNzVHlwZVN0cmluZ0VudW0uUk9VVElOR19BRERSRVNTXG4gICAgICAgICAgICAgICAgICAgICkge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5jdXJyZW50QWRkcmVzc0RhdGEgPSBudWxsO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIGlmIChcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuaW5wdXRDb25maWcubmFtZSAhPT1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBJbnB1dEFkZHJlc3NUeXBlU3RyaW5nRW51bS5ST1VUSU5HX0FERFJFU1MgJiZcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuYWxsb3dWYWxpZGF0aW9uICYmXG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmlucHV0RHJvcGRvd24uaW5wdXRSZWYuaXNGb2N1c0lucHV0XG4gICAgICAgICAgICAgICAgICAgICkge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5yZXF1ZXN0U2VudCA9IGZhbHNlO1xuICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgYWRkcmVzc0RhdGEgPSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYWRkcmVzczoge30sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsaWQ6IGZhbHNlLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxvbmdMYXQ6IHt9LFxuICAgICAgICAgICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuc2VsZWN0ZWRBZGRyZXNzLmVtaXQoYWRkcmVzc0RhdGEpO1xuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgdGhpcy5hbGxvd1ZhbGlkYXRpb24gPSB0cnVlO1xuICAgICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgICAgIGZpbHRlcigodGVybTogc3RyaW5nKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiB0ZXJtPy5sZW5ndGggPj0gMztcbiAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICAgICBkZWJvdW5jZVRpbWUoNTAwKSxcbiAgICAgICAgICAgICAgICBzd2l0Y2hNYXAoKHF1ZXJ5OiBzdHJpbmcpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgcGFyYW1zID0ge1xuICAgICAgICAgICAgICAgICAgICAgICAgcXVlcnk6IHF1ZXJ5LFxuICAgICAgICAgICAgICAgICAgICAgICAgc2VhcmNoTGF5ZXJzOiB0aGlzLnNlYXJjaExheWVycyxcbiAgICAgICAgICAgICAgICAgICAgICAgIGNsb3NlZEJvcmRlcjogdGhpcy5jbG9zZWRCb3JkZXIsXG4gICAgICAgICAgICAgICAgICAgIH07XG5cbiAgICAgICAgICAgICAgICAgICAgdGhpcy5zZW50QWRkcmVzc0RhdGEubmV4dChwYXJhbXMpO1xuXG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBvZih0aGlzLnJlY2VpdmVkQWRkcmVzc0xpc3QpLnBpcGUoXG4gICAgICAgICAgICAgICAgICAgICAgICBjYXRjaEVycm9yKCgpID0+IG9mKFtdKSlcbiAgICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgKVxuICAgICAgICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5pbnB1dENvbmZpZyA9IHtcbiAgICAgICAgICAgICAgICAgICAgLi4udGhpcy5pbnB1dENvbmZpZyxcbiAgICAgICAgICAgICAgICAgICAgbG9hZGluZ1NwaW5uZXI6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIC4uLnRoaXMuaW5wdXRDb25maWcubG9hZGluZ1NwaW5uZXIsXG4gICAgICAgICAgICAgICAgICAgICAgICBpc0xvYWRpbmc6IGZhbHNlLFxuICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIH07XG5cbiAgICAgICAgICAgICAgICB0aGlzLnJlZi5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBnZXQgZ2V0U3VwZXJDb250cm9sKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5zdXBlckNvbnRyb2wuY29udHJvbCBhcyBGb3JtQ29udHJvbDtcbiAgICB9XG5cbiAgICBwdWJsaWMgb25DbG9zZURyb3Bkb3duKGV2ZW50OiBib29sZWFuKTogdm9pZCB7XG4gICAgICAgIHRoaXMuY2xvc2VEcm9wZG93bi5lbWl0KGV2ZW50KTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0QWRkcmVzc0RhdGEoYWRkcmVzczogc3RyaW5nKTogdm9pZCB7XG4gICAgICAgIHRoaXMucmVxdWVzdFNlbnQgPSB0cnVlO1xuXG4gICAgICAgIHRoaXMuc2VudEFkZHJlc3NWYWx1ZS5lbWl0KGFkZHJlc3MpO1xuICAgIH1cblxuICAgIHB1YmxpYyBvblNlbGVjdERyb3Bkb3duKGV2ZW50OiBBZGRyZXNzTGlzdCB8IG51bGwpOiB2b2lkIHtcbiAgICAgICAgaWYgKGV2ZW50Py5hZGRyZXNzKSB7XG4gICAgICAgICAgICBpZiAodGhpcy5zZWFyY2hMYXllcnNbMF0gPT09IElucHV0QWRkcmVzc0xheWVyc1N0cmluZ0VudW0uQUREUkVTUykge1xuICAgICAgICAgICAgICAgIGNvbnN0IGlzVmFsaWQgPSB0aGlzLmNoZWNrQWRkcmVzc1ZhbGlkYXRpb24oZXZlbnQuYWRkcmVzcyk7XG5cbiAgICAgICAgICAgICAgICBpZiAoaXNWYWxpZCkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmdldEFkZHJlc3NEYXRhKGV2ZW50LmFkZHJlc3MpO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLm9uQ2hhbmdlKGV2ZW50LmFkZHJlc3MpO1xuICAgICAgICAgICAgICAgICAgICAvL3RoaXMuZ2V0U3VwZXJDb250cm9sIS5zZXRWYWx1ZShldmVudC5uYW1lKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIHRoaXMuZ2V0QWRkcmVzc0RhdGEoZXZlbnQuYWRkcmVzcyk7XG4gICAgICAgICAgICAgICAgLy90aGlzLmdldFN1cGVyQ29udHJvbCEuc2V0VmFsdWUoZXZlbnQubmFtZSk7XG4gICAgICAgICAgICAgICAgdGhpcy5vbkNoYW5nZShldmVudC5hZGRyZXNzKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgdGhpcy5jaG9zZW5Gcm9tRHJvcGRvd24gPSB0cnVlO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5vbkNsZWFySW5wdXRFdmVudCgpO1xuICAgICAgICAgICAgdGhpcy5jdXJyZW50QWRkcmVzc0RhdGEgPSBudWxsO1xuICAgICAgICAgICAgdGhpcy5hZGRyZXNMaXN0ID0gW107XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5pbnB1dERyb3Bkb3duPy5wb3BvdmVyUmVmPy5jbG9zZSgpO1xuICAgIH1cblxuICAgIHB1YmxpYyBvbkNvbW1hbmRzKFxuICAgICAgICBldmVudDogS2V5Ym9hcmRFdmVudCxcbiAgICAgICAgdHlwZTogSW5wdXRBZGRyZXNzQ29tbWFuZHNTdHJpbmdcbiAgICApOiB2b2lkIHtcbiAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG5cbiAgICAgICAgaWYgKFxuICAgICAgICAgICAgKHR5cGUgPT09IElucHV0QWRkcmVzc0NvbW1hbmRzU3RyaW5nRW51bS5DT05GSVJNICYmXG4gICAgICAgICAgICAgICAgdGhpcy5jdXJyZW50QWRkcmVzc0RhdGEpIHx8XG4gICAgICAgICAgICB0eXBlID09PSBJbnB1dEFkZHJlc3NDb21tYW5kc1N0cmluZ0VudW0uQ0FOQ0VMXG4gICAgICAgICkge1xuICAgICAgICAgICAgdGhpcy5jdXJyZW50QWRkcmVzc0RhdGEhLnR5cGUgPSB0eXBlO1xuICAgICAgICAgICAgdGhpcy5jb21tYW5kRXZlbnQuZW1pdCh0aGlzLmN1cnJlbnRBZGRyZXNzRGF0YSA/PyB7fSk7XG5cbiAgICAgICAgICAgIHRoaXMuY2xvc2VBZGRyZXNzKCk7XG4gICAgICAgICAgICB0aGlzLmNsZWFySW5wdXQoZXZlbnQpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHVibGljIGFkZHJlc3NFeHBhbmQoKTogdm9pZCB7XG4gICAgICAgIGlmICghdGhpcy5hZGRyZXNzRXhwYW5kZWQpIHRoaXMuYWRkcmVzc0V4cGFuZGVkID0gdHJ1ZTtcbiAgICB9XG5cbiAgICBwdWJsaWMgY2xvc2VBZGRyZXNzKCk6IHZvaWQge1xuICAgICAgICB0aGlzLmFkZHJlc3NFeHBhbmRlZCA9IGZhbHNlO1xuICAgIH1cblxuICAgIHB1YmxpYyBjbGVhcklucHV0KGV2ZW50OiBLZXlib2FyZEV2ZW50KTogdm9pZCB7XG4gICAgICAgIHRoaXMuY3VycmVudEFkZHJlc3NEYXRhID0gbnVsbDtcbiAgICAgICAgdGhpcy5hZGRyZXNMaXN0ID0gW107XG4gICAgICAgIHRoaXMuaW5wdXREcm9wZG93bj8uaW5wdXRSZWY/LmNsZWFySW5wdXQoZXZlbnQpO1xuICAgICAgICB0aGlzLmNob3NlbkZyb21Ecm9wZG93biA9IGZhbHNlO1xuICAgIH1cblxuICAgIHByaXZhdGUgY2hlY2tTZWFyY2hMYXllcnModmFsdWU6IHN0cmluZyk6IHZvaWQge1xuICAgICAgICB0aGlzLnNlYXJjaExheWVycyA9XG4gICAgICAgICAgICB2YWx1ZSA9PT0gSW5wdXRBZGRyZXNzVHlwZVN0cmluZ0VudW0uTE9OR19BRERSRVNTXG4gICAgICAgICAgICAgICAgPyBbSW5wdXRBZGRyZXNzTGF5ZXJzU3RyaW5nRW51bS5BRERSRVNTXVxuICAgICAgICAgICAgICAgIDogdmFsdWUgPT09IElucHV0QWRkcmVzc1R5cGVTdHJpbmdFbnVtLlNIT1JUX0FERFJFU1NcbiAgICAgICAgICAgICAgICAgID8gW0lucHV0QWRkcmVzc0xheWVyc1N0cmluZ0VudW0uTE9DQUxJVFldXG4gICAgICAgICAgICAgICAgICA6IFtdO1xuICAgIH1cblxuICAgIHB1YmxpYyBjaGFuZ2VTdG9wVHlwZSgpOiB2b2lkIHtcbiAgICAgICAgbGV0IGZsYWcgPSBmYWxzZTtcbiAgICAgICAgaWYgKHRoaXMuc3RvcFR5cGUgPT09IElucHV0QWRkcmVzc1N0b3BUeXBlc1N0cmluZ0VudW0uRU1QVFkpIHtcbiAgICAgICAgICAgIHRoaXMuc3RvcFR5cGUgPSBJbnB1dEFkZHJlc3NTdG9wVHlwZXNTdHJpbmdFbnVtLkxPQURFRDtcbiAgICAgICAgICAgIGZsYWcgPSB0cnVlO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5zdG9wVHlwZSA9IElucHV0QWRkcmVzc1N0b3BUeXBlc1N0cmluZ0VudW0uRU1QVFk7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLmNoYW5nZUZsYWcuZW1pdChmbGFnKTtcblxuICAgICAgICBpZiAoIXRoaXMuY2hvc2VuRnJvbURyb3Bkb3duKSB7XG4gICAgICAgICAgICB0aGlzLmlucHV0RHJvcGRvd24/LmlucHV0UmVmPy5pbnB1dEVsZW1lbnQubmF0aXZlRWxlbWVudC5mb2N1cygpO1xuICAgICAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5pbnB1dERyb3Bkb3duLmlucHV0UmVmLmlzRm9jdXNJbnB1dCA9IHRydWU7XG4gICAgICAgICAgICB9LCA1MDApO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHVibGljIG9uSW5jb3JyZWN0SW5wdXQoZXZlbnQ6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICAgICAgdGhpcy5pbmNvcnJlY3RFdmVudC5lbWl0KGV2ZW50KTtcbiAgICB9XG5cbiAgICBwdWJsaWMgb25DbGVhcklucHV0RXZlbnQoKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IGFkZHJlc3NEYXRhID0ge1xuICAgICAgICAgICAgYWRkcmVzczoge30sXG4gICAgICAgICAgICB2YWxpZDogZmFsc2UsXG4gICAgICAgICAgICBsb25nTGF0OiB7fSxcbiAgICAgICAgfTtcbiAgICAgICAgdGhpcy5zZWxlY3RlZEFkZHJlc3MuZW1pdChhZGRyZXNzRGF0YSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBjaGVja0FkZHJlc3NWYWxpZGF0aW9uKGFkZHJlc3M6IHN0cmluZyk6IGJvb2xlYW4ge1xuICAgICAgICBjb25zdCBzdHJlZXROdW0gPSAvXFxkLipcXGQvO1xuXG4gICAgICAgIHJldHVybiBzdHJlZXROdW0udGVzdChhZGRyZXNzKSA/IHRydWUgOiBmYWxzZTtcbiAgICB9XG5cbiAgICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5kZXN0cm95JC5uZXh0KCk7XG4gICAgICAgIHRoaXMuZGVzdHJveSQuY29tcGxldGUoKTtcbiAgICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwiYWRkcmVzc19ob2xkZXIgZC1mbGV4IGFsaWduLWl0ZW1zLWNlbnRlclwiIChjbGljayk9XCJhZGRyZXNzRXhwYW5kKClcIj5cbiAgICA8ZGl2XG4gICAgICAgIGNsYXNzPVwibWFpbl9hZGRyZXNzX2hvbGRlclwiXG4gICAgICAgIFtuZ0NsYXNzXT1cIntcbiAgICAgICAgICAgIGlucHV0X2Zvcl9yb3V0aW5nOiBpc1JvdXRpbmcsXG4gICAgICAgICAgICBub3RfZXhwYW5kZWQ6IGlzUm91dGluZyAmJiAhYWRkcmVzc0V4cGFuZGVkLFxuICAgICAgICAgICAgZXhwYW5kZWRfYWRkcmVzczogaXNSb3V0aW5nICYmIGFkZHJlc3NFeHBhbmRlZCxcbiAgICAgICAgfVwiXG4gICAgPlxuICAgICAgICA8YXBwLWNhLWlucHV0LWRyb3Bkb3duXG4gICAgICAgICAgICBbbGFiZWxdPVwiJ2FkZHJlc3MnXCJcbiAgICAgICAgICAgICNpbnB1dERyb3Bkb3duXG4gICAgICAgICAgICBbZm9ybUNvbnRyb2xdPVwiZ2V0U3VwZXJDb250cm9sXCJcbiAgICAgICAgICAgIFtpbnB1dENvbmZpZ109XCJpbnB1dENvbmZpZ1wiXG4gICAgICAgICAgICBbb3B0aW9uc109XCJhZGRyZXNMaXN0XCJcbiAgICAgICAgICAgIFthY3RpdmVJdGVtXT1cImdldFN1cGVyQ29udHJvbD8udmFsdWVcIlxuICAgICAgICAgICAgW2lzSW5jb3JyZWN0VmFsdWVdPVwiaW5jb3JyZWN0VmFsdWVcIlxuICAgICAgICAgICAgW2lzQWRkcmVzc0Ryb3Bkb3duXT1cInRydWVcIlxuICAgICAgICAgICAgKGluY29ycmVjdEV2ZW50KT1cIm9uSW5jb3JyZWN0SW5wdXQoJGV2ZW50KVwiXG4gICAgICAgICAgICAoc2VsZWN0ZWRJdGVtKT1cIm9uU2VsZWN0RHJvcGRvd24oJGV2ZW50KVwiXG4gICAgICAgICAgICAoY2xvc2VEcm9wZG93bik9XCJvbkNsb3NlRHJvcGRvd24oJGV2ZW50KVwiXG4gICAgICAgICAgICAoY2xlYXJJbnB1dEV2ZW50KT1cIm9uQ2xlYXJJbnB1dEV2ZW50KClcIlxuICAgICAgICAgICAgKHNlYXJjaElucHV0RXZlbnQpPVwiaGFuZGxlU2VhcmNoSW5wdXQoJGV2ZW50KVwiXG4gICAgICAgID48L2FwcC1jYS1pbnB1dC1kcm9wZG93bj5cbiAgICAgICAgQGlmIChpc1JvdXRpbmcgJiYgYWRkcmVzc0V4cGFuZGVkICYmICFoaWRlRW1wdHlMb2FkZWQpIHtcbiAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICBjbGFzcz1cInN0b3BfaG9sZCBkLWZsZXgganVzdGlmeS1jb250ZW50LWNlbnRlciBhbGlnbi1pdGVtcy1jZW50ZXJcIlxuICAgICAgICAgICAgICAgIChjbGljayk9XCJjaGFuZ2VTdG9wVHlwZSgpXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3RvcF90ZXh0XCI+e3sgc3RvcFR5cGUgfX08L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICB9XG4gICAgPC9kaXY+XG4gICAgQGlmIChpc1JvdXRpbmcgJiYgYWRkcmVzc0V4cGFuZGVkKSB7XG4gICAgICAgIDxkaXYgY2xhc3M9XCJjYS1pbnB1dC1jb21tYW5kcyBhZGRyZXNzLWZsYWcgZC1mbGV4IGFsaWduLWl0ZW1zLWNlbnRlclwiPlxuICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgIGNsYXNzPVwibWFpbi1jb21tYW5kcyBjYS1pbnB1dC1jb21tYW5kLWZpcnN0XCJcbiAgICAgICAgICAgICAgICBuZ2JUb29sdGlwXG4gICAgICAgICAgICAgICAgW21haW5DYVRvb2x0aXBdPVwiXG4gICAgICAgICAgICAgICAgICAgIGNvbW1hbmRIYW5kbGVyLmNvbW1hbmRzPy5maXJzdENvbW1hbmQ/LnBvcHVwPy5uYW1lXG4gICAgICAgICAgICAgICAgXCJcbiAgICAgICAgICAgICAgICBbdG9vbHRpcEJhY2tncm91bmRdPVwiXG4gICAgICAgICAgICAgICAgICAgIGNvbW1hbmRIYW5kbGVyLmNvbW1hbmRzPy5maXJzdENvbW1hbmQ/LnBvcHVwXG4gICAgICAgICAgICAgICAgICAgICAgICA/LmJhY2tncm91bmRDb2xvclxuICAgICAgICAgICAgICAgIFwiXG4gICAgICAgICAgICAgICAgW2Rpc2FibGVUb29sdGlwXT1cIiFjb21tYW5kSGFuZGxlci5jb21tYW5kcz8uZmlyc3RDb21tYW5kPy5wb3B1cFwiXG4gICAgICAgICAgICAgICAgcG9zaXRpb249XCJ0b3BcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIDxzdmctaWNvblxuICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImNhLWlucHV0LWNvbW1hbmQtc3ZnLWZpcnN0XCJcbiAgICAgICAgICAgICAgICAgICAgW2NsYXNzLmFsbG93X2NvbmZpcm1dPVwiY2hvc2VuRnJvbURyb3Bkb3duXCJcbiAgICAgICAgICAgICAgICAgICAgW3NyY109XCJjb21tYW5kSGFuZGxlci5jb21tYW5kcy5maXJzdENvbW1hbmQuc3ZnXCJcbiAgICAgICAgICAgICAgICAgICAgKGtleWRvd24pPVwib25Db21tYW5kcygkZXZlbnQsICdjb25maXJtJylcIlxuICAgICAgICAgICAgICAgID48L3N2Zy1pY29uPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgY2xhc3M9XCJtYWluLWNvbW1hbmRzIGNhLWlucHV0LWNvbW1hbmQtc2Vjb25kXCJcbiAgICAgICAgICAgICAgICBuZ2JUb29sdGlwXG4gICAgICAgICAgICAgICAgW21haW5DYVRvb2x0aXBdPVwiXG4gICAgICAgICAgICAgICAgICAgIGNvbW1hbmRIYW5kbGVyLmNvbW1hbmRzPy5zZWNvbmRDb21tYW5kPy5wb3B1cD8ubmFtZVxuICAgICAgICAgICAgICAgIFwiXG4gICAgICAgICAgICAgICAgW3Rvb2x0aXBCYWNrZ3JvdW5kXT1cIlxuICAgICAgICAgICAgICAgICAgICBjb21tYW5kSGFuZGxlci5jb21tYW5kcz8uc2Vjb25kQ29tbWFuZD8ucG9wdXBcbiAgICAgICAgICAgICAgICAgICAgICAgID8uYmFja2dyb3VuZENvbG9yXG4gICAgICAgICAgICAgICAgXCJcbiAgICAgICAgICAgICAgICBbZGlzYWJsZVRvb2x0aXBdPVwiXG4gICAgICAgICAgICAgICAgICAgICFjb21tYW5kSGFuZGxlci5jb21tYW5kcz8uc2Vjb25kQ29tbWFuZD8ucG9wdXBcbiAgICAgICAgICAgICAgICBcIlxuICAgICAgICAgICAgICAgIHBvc2l0aW9uPVwidG9wXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICA8c3ZnLWljb25cbiAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJjYS1pbnB1dC1jb21tYW5kLXN2Zy1zZWNvbmRcIlxuICAgICAgICAgICAgICAgICAgICBbc3JjXT1cImNvbW1hbmRIYW5kbGVyLmNvbW1hbmRzLnNlY29uZENvbW1hbmQuc3ZnXCJcbiAgICAgICAgICAgICAgICAgICAgKGtleWRvd24pPVwib25Db21tYW5kcygkZXZlbnQsICdjYW5jZWwnKVwiXG4gICAgICAgICAgICAgICAgPjwvc3ZnLWljb24+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgfVxuPC9kaXY+XG4iXX0=
350
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2EtaW5wdXQtYWRkcmVzcy1kcm9wZG93bi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jYS1jb21wb25lbnRzL3NyYy9saWIvY29tcG9uZW50cy9jYS1pbnB1dC1hZGRyZXNzLWRyb3Bkb3duL2NhLWlucHV0LWFkZHJlc3MtZHJvcGRvd24uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2EtY29tcG9uZW50cy9zcmMvbGliL2NvbXBvbmVudHMvY2EtaW5wdXQtYWRkcmVzcy1kcm9wZG93bi9jYS1pbnB1dC1hZGRyZXNzLWRyb3Bkb3duLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQWUsbUJBQW1CLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNsRSxPQUFPLEVBQ0gsU0FBUyxFQUNULFlBQVksRUFDWixLQUFLLEVBR0wsTUFBTSxFQUNOLElBQUksRUFDSixTQUFTLEVBQ1QsaUJBQWlCLEVBRWpCLFlBQVksR0FFZixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQ0gsZUFBZSxFQUNmLFVBQVUsRUFDVixZQUFZLEVBQ1osb0JBQW9CLEVBQ3BCLE1BQU0sRUFFTixFQUFFLEVBQ0YsT0FBTyxFQUNQLFNBQVMsRUFDVCxTQUFTLEVBQ1QsR0FBRyxHQUNOLE1BQU0sTUFBTSxDQUFDO0FBQ2QsT0FBTyxFQUlILFdBQVcsR0FDZCxNQUFNLGdCQUFnQixDQUFDO0FBS3hCLGFBQWE7QUFDYixPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxrREFBa0QsQ0FBQztBQUU1RixVQUFVO0FBQ1YsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDeEQsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBRXZELFFBQVE7QUFDUixPQUFPLEVBQUUsOEJBQThCLEVBQUUsTUFBTSw0Q0FBNEMsQ0FBQztBQUM1RixPQUFPLEVBQUUsK0JBQStCLEVBQUUsTUFBTSw4Q0FBOEMsQ0FBQztBQUMvRixPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQztBQUNwRixPQUFPLEVBQUUsNEJBQTRCLEVBQUUsTUFBTSwwQ0FBMEMsQ0FBQztBQUN4RixPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQztBQU81RSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxrREFBa0QsQ0FBQztBQUMzRixPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUt4RCxPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSxpREFBaUQsQ0FBQzs7Ozs7O0FBeUI5RixNQUFNLE9BQU8sK0JBQStCO0lBTXhDLElBQWEsZUFBZSxDQUFDLEtBQWE7UUFDdEMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ2xDLENBQUM7SUFFRCxJQUFvQixtQkFBbUIsQ0FBQyxLQUF5QjtRQUM3RCxJQUFJLEtBQUssRUFBRSxDQUFDO1lBQ1IsSUFBSSxDQUFDLGtCQUFrQixHQUFHO2dCQUN0QixPQUFPLEVBQUUsS0FBSyxDQUFDLE9BQVE7Z0JBQ3ZCLEtBQUssRUFBRSxLQUFLLENBQUMsT0FBTyxJQUFJLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsS0FBSztnQkFDcEQsT0FBTyxFQUFFLEtBQUssQ0FBQyxPQUFPO2FBQ3pCLENBQUM7WUFFRixJQUFJLENBQUMsUUFBUSxDQUFDO2dCQUNWLEdBQUcsS0FBSyxDQUFDLE9BQU87Z0JBQ2hCLFFBQVEsRUFBRSxLQUFLLENBQUMsT0FBTyxFQUFFLFFBQVE7Z0JBQ2pDLFNBQVMsRUFBRSxLQUFLLENBQUMsT0FBTyxFQUFFLFNBQVM7YUFDdEMsQ0FBQyxDQUFDO1lBRUgsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLGtCQUFtQixDQUFDLENBQUM7UUFDeEQsQ0FBQztJQUNMLENBQUM7SUFDRCxJQUFvQixtQkFBbUIsQ0FBQyxLQUFpQztRQUNyRSxJQUFJLENBQUMsb0JBQW9CLEdBQUcsS0FBSyxDQUFDO1FBQ2xDLElBQUksS0FBSyxFQUFFLFNBQVMsRUFBRSxDQUFDO1lBQ25CLElBQUksQ0FBQyxVQUFVLEdBQUcsS0FBSyxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQ2pDLENBQUMsSUFBWSxFQUFFLElBQVksRUFBRSxFQUFFO2dCQUMzQixPQUFPO29CQUNILE9BQU8sRUFBRSxJQUFJO29CQUNiLEVBQUUsRUFBRSxJQUFJO2lCQUNYLENBQUM7WUFDTixDQUFDLENBQ0osQ0FBQztRQUNOLENBQUM7SUFDTCxDQUFDO0lBNEJELG1CQUFtQixDQUFDLEtBQW9CO1FBQ3BDLE1BQU0sR0FBRyxHQUFHLEtBQUssQ0FBQyxHQUFHLENBQUM7UUFDdEIsSUFDSSxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksSUFBSSwwQkFBMEIsQ0FBQyxlQUFlLEVBQ3JFLENBQUM7WUFDQyxJQUFJLEdBQUcsS0FBSyw4QkFBOEIsQ0FBQyxLQUFLLEVBQUUsQ0FBQztnQkFDL0MsSUFBSSxJQUFJLENBQUMsa0JBQWtCLEVBQUUsQ0FBQztvQkFDMUIsSUFBSSxDQUFDLFVBQVUsQ0FDWCxLQUFLLEVBQ0wsOEJBQThCLENBQUMsT0FBTyxDQUN6QyxDQUFDO2dCQUNOLENBQUM7WUFDTCxDQUFDO2lCQUFNLElBQUksR0FBRyxLQUFLLDhCQUE4QixDQUFDLE1BQU0sRUFBRSxDQUFDO2dCQUN2RCxJQUFJLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQzNCLENBQUM7UUFDTCxDQUFDO0lBQ0wsQ0FBQztJQWlCRCxZQUNtQixZQUF1QixFQUM5QixHQUFzQjtRQURmLGlCQUFZLEdBQVosWUFBWSxDQUFXO1FBQzlCLFFBQUcsR0FBSCxHQUFHLENBQW1CO1FBN0RqQixxQkFBZ0IsR0FDN0IsSUFBSSxZQUFZLEVBQVUsQ0FBQztRQUlmLGNBQVMsR0FBWSxLQUFLLENBQUM7UUFDM0IsaUJBQVksR0FBWSxLQUFLLENBQUM7UUFFOUIsb0JBQWUsR0FBWSxLQUFLLENBQUM7UUFHdkMsb0JBQWUsR0FDckIsSUFBSSxZQUFZLEVBQWUsQ0FBQztRQUMxQixvQkFBZSxHQUNyQixJQUFJLFlBQVksRUFBbUIsQ0FBQztRQUd4QyxrQkFBYSxHQUEwQixJQUFJLFlBQVksRUFBVyxDQUFDO1FBQ3pELGlCQUFZLEdBQW1DLElBQUksWUFBWSxFQUV0RSxDQUFDO1FBQ00sZUFBVSxHQUEwQixJQUFJLFlBQVksRUFBVyxDQUFDO1FBQ2hFLG1CQUFjLEdBQ3BCLElBQUksWUFBWSxFQUFXLENBQUM7UUF1QnpCLHVCQUFrQixHQUF1QixJQUFJLENBQUM7UUFFckQsT0FBTztRQUNBLG9CQUFlLEdBQVksS0FBSyxDQUFDO1FBQ2pDLHVCQUFrQixHQUFZLEtBQUssQ0FBQztRQUNuQyxvQkFBZSxHQUFZLEtBQUssQ0FBQztRQUNsQyxhQUFRLEdBQVcsK0JBQStCLENBQUMsS0FBSyxDQUFDO1FBQ3hELGdCQUFXLEdBQVksS0FBSyxDQUFDO1FBQzlCLHlCQUFvQixHQUErQixJQUFJLENBQUM7UUFFdkQsYUFBUSxHQUFHLElBQUksT0FBTyxFQUFRLENBQUM7UUE0Qy9CLDBCQUFxQixHQUFHLElBQUksZUFBZSxDQUFTLEVBQUUsQ0FBQyxDQUFDO1FBQ3pELDJCQUFzQixHQUN6QixJQUFJLENBQUMscUJBQXFCLENBQUMsWUFBWSxFQUFFLENBQUM7UUF2QzFDLElBQUksQ0FBQyxZQUFZLENBQUMsYUFBYSxHQUFHLElBQUksQ0FBQztJQUMzQyxDQUFDO0lBRUQsa0JBQWtCLEtBQVUsQ0FBQztJQUU3QixVQUFVLENBQUMsT0FBWTtRQUNuQixJQUFJLE9BQU8sRUFBRSxDQUFDO1lBQ1YsSUFBSSxDQUFDLGFBQWEsRUFBRSxnQkFBZ0IsQ0FBQyxPQUFPLEVBQUUsU0FBUyxFQUFFLFNBQVMsQ0FBQyxDQUFDO1lBRXBFLElBQUksQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDM0IsQ0FBQztJQUNMLENBQUM7SUFFTSxnQkFBZ0IsQ0FBQyxFQUFPO1FBQzNCLElBQUksQ0FBQyxRQUFRLEdBQUcsRUFBRSxDQUFDO0lBQ3ZCLENBQUM7SUFFTSxRQUFRLENBQUMsQ0FBTSxJQUFTLENBQUM7SUFFekIsaUJBQWlCLENBQUMsQ0FBTSxJQUFTLENBQUM7SUFFekMsUUFBUTtRQUNKLElBQUksQ0FBQyxtQkFBbUIsRUFBRSxDQUFDO1FBQzNCLElBQUksQ0FBQyw2QkFBNkIsRUFBRSxDQUFDO0lBQ3pDLENBQUM7SUFFTSw2QkFBNkI7UUFDaEMsTUFBTSxpQkFBaUIsR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLFNBQVM7WUFDakQsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxTQUFTLENBQUM7WUFDL0IsQ0FBQyxDQUFDLEVBQUUsQ0FBQztRQUNULElBQUksQ0FBQyxZQUFZLEVBQUUsT0FBTyxFQUFFLGFBQWEsQ0FBQztZQUN0QyxHQUFHLGlCQUFpQjtZQUNwQiwyQkFBMkIsRUFBRTtTQUNoQyxDQUFDLENBQUM7UUFDSCxJQUFJLENBQUMsWUFBWSxFQUFFLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxDQUFDO0lBQ3pELENBQUM7SUFNTSxpQkFBaUIsQ0FBQyxJQUFZO1FBQ2pDLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDMUMsQ0FBQztJQUVNLG1CQUFtQjtRQUN0QixJQUFJLENBQUMsc0JBQXNCO2FBQ3RCLElBQUksQ0FDRCxvQkFBb0IsRUFBRSxFQUN0QixTQUFTLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxFQUN4QixHQUFHLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRTtZQUNULElBQUksQ0FBQyxXQUFXLEdBQUc7Z0JBQ2YsR0FBRyxJQUFJLENBQUMsV0FBVztnQkFDbkIsY0FBYyxFQUFFO29CQUNaLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxjQUFjO29CQUNsQyxTQUFTLEVBQUUsSUFBSTtvQkFDZixJQUFJLEVBQUUsaUJBQWlCLENBQUMsS0FBSztvQkFDN0IsS0FBSyxFQUFFLGlCQUFpQixDQUFDLEtBQUs7aUJBQ2pDO2FBQ0osQ0FBQztZQUVGLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztnQkFDUixJQUFJLENBQUMsV0FBVyxHQUFHO29CQUNmLEdBQUcsSUFBSSxDQUFDLFdBQVc7b0JBQ25CLGNBQWMsRUFBRTt3QkFDWixHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsY0FBYzt3QkFDbEMsU0FBUyxFQUFFLEtBQUs7cUJBQ25CO2lCQUNKLENBQUM7Z0JBQ0YsSUFBSSxDQUFDLFVBQVUsR0FBRyxFQUFFLENBQUM7WUFDekIsQ0FBQztpQkFBTSxJQUNILElBQUksS0FBSyxJQUFJLENBQUMsa0JBQWtCLEVBQUUsT0FBTyxDQUFDLE9BQU87Z0JBQ2pELElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSTtvQkFDakIsMEJBQTBCLENBQUMsZUFBZSxFQUNoRCxDQUFDO2dCQUNDLElBQUksQ0FBQyxrQkFBa0IsR0FBRyxJQUFJLENBQUM7WUFDbkMsQ0FBQztZQUNELElBQ0ksSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJO2dCQUNqQiwwQkFBMEIsQ0FBQyxlQUFlO2dCQUM5QyxJQUFJLENBQUMsZUFBZTtnQkFDcEIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxRQUFRLENBQUMsWUFBWSxFQUMxQyxDQUFDO2dCQUNDLElBQUksQ0FBQyxXQUFXLEdBQUcsS0FBSyxDQUFDO2dCQUN6QixNQUFNLFdBQVcsR0FBRztvQkFDaEIsT0FBTyxFQUFFLEVBQUU7b0JBQ1gsS0FBSyxFQUFFLEtBQUs7b0JBQ1osT0FBTyxFQUFFLEVBQUU7aUJBQ2QsQ0FBQztnQkFDRixJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQztZQUMzQyxDQUFDO1lBRUQsSUFBSSxDQUFDLGVBQWUsR0FBRyxJQUFJLENBQUM7UUFDaEMsQ0FBQyxDQUFDLEVBQ0YsTUFBTSxDQUFDLENBQUMsSUFBWSxFQUFFLEVBQUU7WUFDcEIsT0FBTyxJQUFJLEVBQUUsTUFBTSxJQUFJLENBQUMsQ0FBQztRQUM3QixDQUFDLENBQUMsRUFDRixZQUFZLENBQUMsR0FBRyxDQUFDLEVBQ2pCLFNBQVMsQ0FBQyxDQUFDLEtBQWEsRUFBRSxFQUFFO1lBQ3hCLE1BQU0sTUFBTSxHQUFHO2dCQUNYLEtBQUssRUFBRSxLQUFLO2dCQUNaLFlBQVksRUFBRSxJQUFJLENBQUMsWUFBWTtnQkFDL0IsWUFBWSxFQUFFLElBQUksQ0FBQyxZQUFZO2FBQ2xDLENBQUM7WUFFRixJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztZQUVsQyxPQUFPLEVBQUUsQ0FBQyxJQUFJLENBQUMsbUJBQW1CLENBQUMsQ0FBQyxJQUFJLENBQ3BDLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FDM0IsQ0FBQztRQUNOLENBQUMsQ0FBQyxDQUNMO2FBQ0EsU0FBUyxDQUFDLEdBQUcsRUFBRTtZQUNaLElBQUksQ0FBQyxXQUFXLEdBQUc7Z0JBQ2YsR0FBRyxJQUFJLENBQUMsV0FBVztnQkFDbkIsY0FBYyxFQUFFO29CQUNaLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxjQUFjO29CQUNsQyxTQUFTLEVBQUUsS0FBSztpQkFDbkI7YUFDSixDQUFDO1lBRUYsSUFBSSxDQUFDLEdBQUcsQ0FBQyxhQUFhLEVBQUUsQ0FBQztRQUM3QixDQUFDLENBQUMsQ0FBQztJQUNYLENBQUM7SUFFRCxJQUFJLGVBQWU7UUFDZixPQUFPLElBQUksQ0FBQyxZQUFZLENBQUMsT0FBc0IsQ0FBQztJQUNwRCxDQUFDO0lBRU0sZUFBZSxDQUFDLEtBQWM7UUFDakMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDbkMsQ0FBQztJQUVNLGNBQWMsQ0FBQyxPQUFlO1FBQ2pDLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDO1FBRXhCLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDeEMsQ0FBQztJQUVNLGdCQUFnQixDQUFDLEtBQXlCO1FBQzdDLElBQUksS0FBSyxFQUFFLE9BQU8sRUFBRSxDQUFDO1lBQ2pCLElBQUksSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsS0FBSyw0QkFBNEIsQ0FBQyxPQUFPLEVBQUUsQ0FBQztnQkFDaEUsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLHNCQUFzQixDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQztnQkFFM0QsSUFBSSxPQUFPLEVBQUUsQ0FBQztvQkFDVixJQUFJLENBQUMsY0FBYyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQztvQkFDbkMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUM7b0JBQzdCLDZDQUE2QztnQkFDakQsQ0FBQztZQUNMLENBQUM7aUJBQU0sQ0FBQztnQkFDSixJQUFJLENBQUMsY0FBYyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQztnQkFDbkMsNkNBQTZDO2dCQUM3QyxJQUFJLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQztZQUNqQyxDQUFDO1lBRUQsSUFBSSxDQUFDLGtCQUFrQixHQUFHLElBQUksQ0FBQztRQUNuQyxDQUFDO2FBQU0sQ0FBQztZQUNKLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO1lBQ3pCLElBQUksQ0FBQyxrQkFBa0IsR0FBRyxJQUFJLENBQUM7WUFDL0IsSUFBSSxDQUFDLFVBQVUsR0FBRyxFQUFFLENBQUM7UUFDekIsQ0FBQztRQUNELElBQUksQ0FBQyxhQUFhLEVBQUUsVUFBVSxFQUFFLEtBQUssRUFBRSxDQUFDO0lBQzVDLENBQUM7SUFFTSxVQUFVLENBQ2IsS0FBb0IsRUFDcEIsSUFBZ0M7UUFFaEMsS0FBSyxDQUFDLGNBQWMsRUFBRSxDQUFDO1FBQ3ZCLEtBQUssQ0FBQyxlQUFlLEVBQUUsQ0FBQztRQUV4QixJQUNJLENBQUMsSUFBSSxLQUFLLDhCQUE4QixDQUFDLE9BQU87WUFDNUMsSUFBSSxDQUFDLGtCQUFrQixDQUFDO1lBQzVCLElBQUksS0FBSyw4QkFBOEIsQ0FBQyxNQUFNLEVBQ2hELENBQUM7WUFDQyxJQUFJLENBQUMsa0JBQW1CLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQztZQUNyQyxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsa0JBQWtCLElBQUksRUFBRSxDQUFDLENBQUM7WUFFdEQsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO1lBQ3BCLElBQUksQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDM0IsQ0FBQztJQUNMLENBQUM7SUFFTSxhQUFhO1FBQ2hCLElBQUksQ0FBQyxJQUFJLENBQUMsZUFBZTtZQUFFLElBQUksQ0FBQyxlQUFlLEdBQUcsSUFBSSxDQUFDO0lBQzNELENBQUM7SUFFTSxZQUFZO1FBQ2YsSUFBSSxDQUFDLGVBQWUsR0FBRyxLQUFLLENBQUM7SUFDakMsQ0FBQztJQUVNLFVBQVUsQ0FBQyxLQUFvQjtRQUNsQyxJQUFJLENBQUMsa0JBQWtCLEdBQUcsSUFBSSxDQUFDO1FBQy9CLElBQUksQ0FBQyxVQUFVLEdBQUcsRUFBRSxDQUFDO1FBQ3JCLElBQUksQ0FBQyxhQUFhLEVBQUUsUUFBUSxFQUFFLFVBQVUsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNoRCxJQUFJLENBQUMsa0JBQWtCLEdBQUcsS0FBSyxDQUFDO0lBQ3BDLENBQUM7SUFFTyxpQkFBaUIsQ0FBQyxLQUFhO1FBQ25DLElBQUksQ0FBQyxZQUFZO1lBQ2IsS0FBSyxLQUFLLDBCQUEwQixDQUFDLFlBQVk7Z0JBQzdDLENBQUMsQ0FBQyxDQUFDLDRCQUE0QixDQUFDLE9BQU8sQ0FBQztnQkFDeEMsQ0FBQyxDQUFDLEtBQUssS0FBSywwQkFBMEIsQ0FBQyxhQUFhO29CQUNsRCxDQUFDLENBQUMsQ0FBQyw0QkFBNEIsQ0FBQyxRQUFRLENBQUM7b0JBQ3pDLENBQUMsQ0FBQyxFQUFFLENBQUM7SUFDbkIsQ0FBQztJQUVNLGNBQWM7UUFDakIsSUFBSSxJQUFJLEdBQUcsS0FBSyxDQUFDO1FBQ2pCLElBQUksSUFBSSxDQUFDLFFBQVEsS0FBSywrQkFBK0IsQ0FBQyxLQUFLLEVBQUUsQ0FBQztZQUMxRCxJQUFJLENBQUMsUUFBUSxHQUFHLCtCQUErQixDQUFDLE1BQU0sQ0FBQztZQUN2RCxJQUFJLEdBQUcsSUFBSSxDQUFDO1FBQ2hCLENBQUM7YUFBTSxDQUFDO1lBQ0osSUFBSSxDQUFDLFFBQVEsR0FBRywrQkFBK0IsQ0FBQyxLQUFLLENBQUM7UUFDMUQsQ0FBQztRQUVELElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBRTNCLElBQUksQ0FBQyxJQUFJLENBQUMsa0JBQWtCLEVBQUUsQ0FBQztZQUMzQixJQUFJLENBQUMsYUFBYSxFQUFFLFFBQVEsRUFBRSxZQUFZLENBQUMsYUFBYSxDQUFDLEtBQUssRUFBRSxDQUFDO1lBQ2pFLFVBQVUsQ0FBQyxHQUFHLEVBQUU7Z0JBQ1osSUFBSSxDQUFDLGFBQWEsQ0FBQyxRQUFRLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQztZQUNwRCxDQUFDLEVBQUUsR0FBRyxDQUFDLENBQUM7UUFDWixDQUFDO0lBQ0wsQ0FBQztJQUVNLGdCQUFnQixDQUFDLEtBQWM7UUFDbEMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDcEMsQ0FBQztJQUVNLGlCQUFpQjtRQUNwQixNQUFNLFdBQVcsR0FBRztZQUNoQixPQUFPLEVBQUUsRUFBRTtZQUNYLEtBQUssRUFBRSxLQUFLO1lBQ1osT0FBTyxFQUFFLEVBQUU7U0FDZCxDQUFDO1FBQ0YsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDM0MsQ0FBQztJQUVPLHNCQUFzQixDQUFDLE9BQWU7UUFDMUMsTUFBTSxTQUFTLEdBQUcsUUFBUSxDQUFDO1FBRTNCLE9BQU8sU0FBUyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUM7SUFDbEQsQ0FBQztJQUVELFdBQVc7UUFDUCxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ3JCLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDN0IsQ0FBQzsrR0FqV1EsK0JBQStCO21HQUEvQiwrQkFBK0IsMDFCQ3pGNUMsK3JHQStFQTtnQkRIUSxVQUFVO2dCQUNWLFlBQVksNEhBQ1osV0FBVyxzSUFDWCxTQUFTLHNXQUNULG1CQUFtQixpTkFDbkIsb0JBQW9CLGdPQUNwQixnQkFBZ0I7Z0JBRWhCLGFBQWE7Z0JBQ2Isd0JBQXdCLDJpQkFDeEIsdUJBQXVCOzs0RkFHbEIsK0JBQStCO2tCQXZCM0MsU0FBUzsrQkFDSSwrQkFBK0IsaUJBTTFCLGlCQUFpQixDQUFDLElBQUksY0FDekIsSUFBSSxXQUNQO3dCQUNMLFVBQVU7d0JBQ1YsWUFBWTt3QkFDWixXQUFXO3dCQUNYLFNBQVM7d0JBQ1QsbUJBQW1CO3dCQUNuQixvQkFBb0I7d0JBQ3BCLGdCQUFnQjt3QkFFaEIsYUFBYTt3QkFDYix3QkFBd0I7d0JBQ3hCLHVCQUF1QjtxQkFDMUI7OzBCQXVHSSxJQUFJO3lFQWpHVCxhQUFhO3NCQURaLFNBQVM7dUJBQUMsZUFBZSxFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRTtnQkFHL0IsZUFBZTtzQkFBM0IsS0FBSztnQkFJYyxtQkFBbUI7c0JBQXRDLEtBQUs7Z0JBaUJjLG1CQUFtQjtzQkFBdEMsS0FBSztnQkFjVyxnQkFBZ0I7c0JBQWhDLE1BQU07Z0JBR1MsV0FBVztzQkFBMUIsS0FBSztnQkFDVSxjQUFjO3NCQUE3QixLQUFLO2dCQUNVLFNBQVM7c0JBQXhCLEtBQUs7Z0JBQ1UsWUFBWTtzQkFBM0IsS0FBSztnQkFDVSxjQUFjO3NCQUE3QixLQUFLO2dCQUNVLGVBQWU7c0JBQTlCLEtBQUs7Z0JBR0ksZUFBZTtzQkFBeEIsTUFBTTtnQkFFRyxlQUFlO3NCQUF4QixNQUFNO2dCQUlQLGFBQWE7c0JBRFosTUFBTTtnQkFFRyxZQUFZO3NCQUFyQixNQUFNO2dCQUdHLFVBQVU7c0JBQW5CLE1BQU07Z0JBQ0csY0FBYztzQkFBdkIsTUFBTTtnQkFJUCxtQkFBbUI7c0JBRGxCLFlBQVk7dUJBQUMsa0JBQWtCLEVBQUUsQ0FBQyxRQUFRLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgRm9ybUNvbnRyb2wsIFJlYWN0aXZlRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQge1xuICAgIENvbXBvbmVudCxcbiAgICBFdmVudEVtaXR0ZXIsXG4gICAgSW5wdXQsXG4gICAgT25EZXN0cm95LFxuICAgIE9uSW5pdCxcbiAgICBPdXRwdXQsXG4gICAgU2VsZixcbiAgICBWaWV3Q2hpbGQsXG4gICAgVmlld0VuY2Fwc3VsYXRpb24sXG4gICAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgSG9zdExpc3RlbmVyLFxuICAgIEFmdGVyQ29udGVudEluaXQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgICBCZWhhdmlvclN1YmplY3QsXG4gICAgY2F0Y2hFcnJvcixcbiAgICBkZWJvdW5jZVRpbWUsXG4gICAgZGlzdGluY3RVbnRpbENoYW5nZWQsXG4gICAgZmlsdGVyLFxuICAgIE9ic2VydmFibGUsXG4gICAgb2YsXG4gICAgU3ViamVjdCxcbiAgICBzd2l0Y2hNYXAsXG4gICAgdGFrZVVudGlsLFxuICAgIHRhcCxcbn0gZnJvbSAncnhqcyc7XG5pbXBvcnQge1xuICAgIFVudHlwZWRGb3JtR3JvdXAsXG4gICAgTmdDb250cm9sLFxuICAgIENvbnRyb2xWYWx1ZUFjY2Vzc29yLFxuICAgIEZvcm1zTW9kdWxlLFxufSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5cbi8vIENvbmZpZ1xuaW1wb3J0IHsgSUNhSW5wdXQgfSBmcm9tICcuLi9jYS1pbnB1dC9jb25maWcvY2EtaW5wdXQuY29uZmlnJztcblxuLy8gQ29tcG9uZW50c1xuaW1wb3J0IHsgQ2FJbnB1dERyb3Bkb3duQ29tcG9uZW50IH0gZnJvbSAnLi4vY2EtaW5wdXQtZHJvcGRvd24vY2EtaW5wdXQtZHJvcGRvd24uY29tcG9uZW50JztcblxuLy8gTW9kdWxlc1xuaW1wb3J0IHsgQW5ndWxhclN2Z0ljb25Nb2R1bGUgfSBmcm9tICdhbmd1bGFyLXN2Zy1pY29uJztcbmltcG9ydCB7IE5nYk1vZHVsZSB9IGZyb20gJ0BuZy1ib290c3RyYXAvbmctYm9vdHN0cmFwJztcblxuLy8gZW51bXNcbmltcG9ydCB7IElucHV0QWRkcmVzc0NvbW1hbmRzU3RyaW5nRW51bSB9IGZyb20gJy4vZW51bXMvaW5wdXQtYWRkcmVzcy1jb21tYW5kcy1zdHJpbmcuZW51bSc7XG5pbXBvcnQgeyBJbnB1dEFkZHJlc3NTdG9wVHlwZXNTdHJpbmdFbnVtIH0gZnJvbSAnLi9lbnVtcy9pbnB1dC1hZGRyZXNzLXN0b3AtdHlwZXMtc3RyaW5nLmVudW0nO1xuaW1wb3J0IHsgSW5wdXRBZGRyZXNzVHlwZVN0cmluZ0VudW0gfSBmcm9tICcuL2VudW1zL2lucHV0LWFkZHJlc3MtdHlwZS1zdHJpbmcuZW51bSc7XG5pbXBvcnQgeyBJbnB1dEFkZHJlc3NMYXllcnNTdHJpbmdFbnVtIH0gZnJvbSAnLi9lbnVtcy9pbnB1dC1hZGRyZXNzLWxheWVycy1zdHJpbmcuZW51bSc7XG5pbXBvcnQgeyBlSW5wdXRCYXNpY1N0cmluZyB9IGZyb20gJy4vZW51bXMvaW5wdXQtYWRkcmVzcy1iYXNpYy1zdHJpbmcuZW51bSc7XG5cbi8vIG1vZGVsc1xuaW1wb3J0IHsgQWRkcmVzc0RhdGEgfSBmcm9tICcuL21vZGVscy9hZGRyZXNzLWRhdGEubW9kZWwnO1xuaW1wb3J0IHsgQWRkcmVzc0xpc3QgfSBmcm9tICcuL21vZGVscy9hZGRyZXNzLWxpc3QubW9kZWwnO1xuaW1wb3J0IHsgQ29tbWFuZHNIYW5kbGVyIH0gZnJvbSAnLi9tb2RlbHMvY29tbWFuZHMtaGFuZGxlci5tb2RlbCc7XG5pbXBvcnQgeyBBdXRvY29tcGxldGVTZWFyY2hMYXllciB9IGZyb20gJy4uLy4uL21vZGVscy9hdXRvY29tcGxldGUtc2VhcmNoLWxheWVyLm1vZGVsJztcbmltcG9ydCB7IENhQXBwVG9vbHRpcFYyQ29tcG9uZW50IH0gZnJvbSAnLi4vY2EtYXBwLXRvb2x0aXAtdjIvY2EtYXBwLXRvb2x0aXAtdjIuY29tcG9uZW50JztcbmltcG9ydCB7IEh0dHBDbGllbnRNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQgeyBJbnB1dEFkZHJlc3NDb21tYW5kc1N0cmluZyB9IGZyb20gJy4vbW9kZWxzL2lucHV0LWFkZHJlc3MtY29tbWFuZHMtc3RyaW5nLm1vZGVsJztcbmltcG9ydCB7IFNlbnRBZGRyZXNzRGF0YSB9IGZyb20gJy4vbW9kZWxzL3NlbnQtYWRkcmVzcy1kYXRhLm1vZGVsJztcbmltcG9ydCB7IEFkZHJlc3NMaXN0UmVzcG9uc2UgfSBmcm9tICcuLi8uLi9tb2RlbHMvYWRkcmVzcy1saXN0LXJlc3BvbnNlLm1vZGVsJztcbmltcG9ydCB7IEFkZHJlc3NFbnRpdHkgfSBmcm9tICcuLi8uLi9tb2RlbHMvYWRkcmVzcy1lbnRpdHkubW9kZWwnO1xuaW1wb3J0IHsgYWRkcmVzc05hbWVXaXRoRG90VmFsaWRhdG9yIH0gZnJvbSAnLi92YWxpZGF0b3JzL2NhLWlucHV0LWFkZHJlc3MtdmFsdWUudmFsaWRhdGlvbnMnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2FwcC1jYS1pbnB1dC1hZGRyZXNzLWRyb3Bkb3duJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vY2EtaW5wdXQtYWRkcmVzcy1kcm9wZG93bi5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbXG4gICAgICAgICcuL2NhLWlucHV0LWFkZHJlc3MtZHJvcGRvd24uY29tcG9uZW50LnNjc3MnLFxuICAgICAgICAnLi4vY2EtaW5wdXQvY2EtaW5wdXQuY29tcG9uZW50LnNjc3MnLFxuICAgIF0sXG4gICAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIGltcG9ydHM6IFtcbiAgICAgICAgLy8gTW9kdWxlc1xuICAgICAgICBDb21tb25Nb2R1bGUsXG4gICAgICAgIEZvcm1zTW9kdWxlLFxuICAgICAgICBOZ2JNb2R1bGUsXG4gICAgICAgIFJlYWN0aXZlRm9ybXNNb2R1bGUsXG4gICAgICAgIEFuZ3VsYXJTdmdJY29uTW9kdWxlLFxuICAgICAgICBIdHRwQ2xpZW50TW9kdWxlLFxuXG4gICAgICAgIC8vIENvbXBvbmVudHNcbiAgICAgICAgQ2FJbnB1dERyb3Bkb3duQ29tcG9uZW50LFxuICAgICAgICBDYUFwcFRvb2x0aXBWMkNvbXBvbmVudCxcbiAgICBdLFxufSlcbmV4cG9ydCBjbGFzcyBDYUlucHV0QWRkcmVzc0Ryb3Bkb3duQ29tcG9uZW50XG4gICAgaW1wbGVtZW50cyBPbkluaXQsIENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBPbkRlc3Ryb3ksIEFmdGVyQ29udGVudEluaXRcbntcbiAgICBAVmlld0NoaWxkKCdpbnB1dERyb3Bkb3duJywgeyBzdGF0aWM6IHRydWUgfSlcbiAgICBpbnB1dERyb3Bkb3duITogQ2FJbnB1dERyb3Bkb3duQ29tcG9uZW50O1xuXG4gICAgQElucHV0KCkgc2V0IHBsYWNlaG9sZGVyVHlwZSh2YWx1ZTogc3RyaW5nKSB7XG4gICAgICAgIHRoaXMuY2hlY2tTZWFyY2hMYXllcnModmFsdWUpO1xuICAgIH1cblxuICAgIEBJbnB1dCgpIHB1YmxpYyBzZXQgcmVjZWl2ZWRBZGRyZXNzRGF0YSh2YWx1ZTogQWRkcmVzc0RhdGEgfCBudWxsKSB7XG4gICAgICAgIGlmICh2YWx1ZSkge1xuICAgICAgICAgICAgdGhpcy5jdXJyZW50QWRkcmVzc0RhdGEgPSB7XG4gICAgICAgICAgICAgICAgYWRkcmVzczogdmFsdWUuYWRkcmVzcyEsXG4gICAgICAgICAgICAgICAgdmFsaWQ6IHZhbHVlLmFkZHJlc3MgJiYgdmFsdWUubG9uZ0xhdCA/IHRydWUgOiBmYWxzZSxcbiAgICAgICAgICAgICAgICBsb25nTGF0OiB2YWx1ZS5sb25nTGF0LFxuICAgICAgICAgICAgfTtcblxuICAgICAgICAgICAgdGhpcy5vbkNoYW5nZSh7XG4gICAgICAgICAgICAgICAgLi4udmFsdWUuYWRkcmVzcyxcbiAgICAgICAgICAgICAgICBsYXRpdHVkZTogdmFsdWUubG9uZ0xhdD8ubGF0aXR1ZGUsXG4gICAgICAgICAgICAgICAgbG9uZ2l0dWRlOiB2YWx1ZS5sb25nTGF0Py5sb25naXR1ZGUsXG4gICAgICAgICAgICB9KTtcblxuICAgICAgICAgICAgdGhpcy5zZWxlY3RlZEFkZHJlc3MuZW1pdCh0aGlzLmN1cnJlbnRBZGRyZXNzRGF0YSEpO1xuICAgICAgICB9XG4gICAgfVxuICAgIEBJbnB1dCgpIHB1YmxpYyBzZXQgcmVjZWl2ZWRBZGRyZXNzTGlzdCh2YWx1ZTogQWRkcmVzc0xpc3RSZXNwb25zZSB8IG51bGwpIHtcbiAgICAgICAgdGhpcy5fcmVjZWl2ZWRBZGRyZXNzTGlzdCA9IHZhbHVlO1xuICAgICAgICBpZiAodmFsdWU/LmFkZHJlc3Nlcykge1xuICAgICAgICAgICAgdGhpcy5hZGRyZXNMaXN0ID0gdmFsdWUuYWRkcmVzc2VzLm1hcChcbiAgICAgICAgICAgICAgICAoaXRlbTogc3RyaW5nLCBpbmR4OiBudW1iZXIpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGFkZHJlc3M6IGl0ZW0sXG4gICAgICAgICAgICAgICAgICAgICAgICBpZDogaW5keCxcbiAgICAgICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICApO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgQE91dHB1dCgpIHB1YmxpYyBzZW50QWRkcmVzc1ZhbHVlOiBFdmVudEVtaXR0ZXI8c3RyaW5nPiA9XG4gICAgICAgIG5ldyBFdmVudEVtaXR0ZXI8c3RyaW5nPigpO1xuXG4gICAgQElucHV0KCkgcHVibGljIGlucHV0Q29uZmlnITogSUNhSW5wdXQ7XG4gICAgQElucHV0KCkgcHVibGljIGNvbW1hbmRIYW5kbGVyITogQ29tbWFuZHNIYW5kbGVyO1xuICAgIEBJbnB1dCgpIHB1YmxpYyBpc1JvdXRpbmc6IGJvb2xlYW4gPSBmYWxzZTtcbiAgICBASW5wdXQoKSBwdWJsaWMgY2xvc2VkQm9yZGVyOiBib29sZWFuID0gZmFsc2U7XG4gICAgQElucHV0KCkgcHVibGljIGluY29ycmVjdFZhbHVlITogYm9vbGVhbjtcbiAgICBASW5wdXQoKSBwdWJsaWMgaGlkZUVtcHR5TG9hZGVkOiBib29sZWFuID0gZmFsc2U7XG4gICAgcHVibGljIGFkZHJlc0xpc3QhOiBBZGRyZXNzTGlzdFtdO1xuXG4gICAgQE91dHB1dCgpIHNlbGVjdGVkQWRkcmVzczogRXZlbnRFbWl0dGVyPEFkZHJlc3NEYXRhPiA9XG4gICAgICAgIG5ldyBFdmVudEVtaXR0ZXI8QWRkcmVzc0RhdGE+KCk7XG4gICAgQE91dHB1dCgpIHNlbnRBZGRyZXNzRGF0YTogRXZlbnRFbWl0dGVyPFNlbnRBZGRyZXNzRGF0YT4gPVxuICAgICAgICBuZXcgRXZlbnRFbWl0dGVyPFNlbnRBZGRyZXNzRGF0YT4oKTtcblxuICAgIEBPdXRwdXQoKVxuICAgIGNsb3NlRHJvcGRvd246IEV2ZW50RW1pdHRlcjxib29sZWFuPiA9IG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oKTtcbiAgICBAT3V0cHV0KCkgY29tbWFuZEV2ZW50OiBFdmVudEVtaXR0ZXI8QWRkcmVzc0RhdGEgfCB7fT4gPSBuZXcgRXZlbnRFbWl0dGVyPFxuICAgICAgICBBZGRyZXNzRGF0YSB8IHt9XG4gICAgPigpO1xuICAgIEBPdXRwdXQoKSBjaGFuZ2VGbGFnOiBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4gPSBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KCk7XG4gICAgQE91dHB1dCgpIGluY29ycmVjdEV2ZW50OiBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4gPVxuICAgICAgICBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KCk7XG5cbiAgICBASG9zdExpc3RlbmVyKCdkb2N1bWVudDprZXlkb3duJywgWyckZXZlbnQnXSlcbiAgICBoYW5kbGVLZXlib2FyZEV2ZW50KGV2ZW50OiBLZXlib2FyZEV2ZW50KSB7XG4gICAgICAgIGNvbnN0IGtleSA9IGV2ZW50LmtleTtcbiAgICAgICAgaWYgKFxuICAgICAgICAgICAgdGhpcy5pbnB1dENvbmZpZy5uYW1lID09IElucHV0QWRkcmVzc1R5cGVTdHJpbmdFbnVtLlJPVVRJTkdfQUREUkVTU1xuICAgICAgICApIHtcbiAgICAgICAgICAgIGlmIChrZXkgPT09IElucHV0QWRkcmVzc0NvbW1hbmRzU3RyaW5nRW51bS5FTlRFUikge1xuICAgICAgICAgICAgICAgIGlmICh0aGlzLmN1cnJlbnRBZGRyZXNzRGF0YSkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLm9uQ29tbWFuZHMoXG4gICAgICAgICAgICAgICAgICAgICAgICBldmVudCxcbiAgICAgICAgICAgICAgICAgICAgICAgIElucHV0QWRkcmVzc0NvbW1hbmRzU3RyaW5nRW51bS5DT05GSVJNXG4gICAgICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSBlbHNlIGlmIChrZXkgPT09IElucHV0QWRkcmVzc0NvbW1hbmRzU3RyaW5nRW51bS5FU0NBUEUpIHtcbiAgICAgICAgICAgICAgICB0aGlzLmNsZWFySW5wdXQoZXZlbnQpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLy9BZGRyZXNzIGRhdGFcbiAgICBwcml2YXRlIHNlYXJjaExheWVycyE6IEF1dG9jb21wbGV0ZVNlYXJjaExheWVyW107XG4gICAgcHVibGljIGN1cnJlbnRBZGRyZXNzRGF0YTogQWRkcmVzc0RhdGEgfCBudWxsID0gbnVsbDtcblxuICAgIC8vQ29uZmdcbiAgICBwdWJsaWMgYWRkcmVzc0V4cGFuZGVkOiBib29sZWFuID0gZmFsc2U7XG4gICAgcHVibGljIGNob3NlbkZyb21Ecm9wZG93bjogYm9vbGVhbiA9IGZhbHNlO1xuICAgIHByaXZhdGUgYWxsb3dWYWxpZGF0aW9uOiBib29sZWFuID0gZmFsc2U7XG4gICAgcHVibGljIHN0b3BUeXBlOiBzdHJpbmcgPSBJbnB1dEFkZHJlc3NTdG9wVHlwZXNTdHJpbmdFbnVtLkVNUFRZO1xuICAgIHByaXZhdGUgcmVxdWVzdFNlbnQ6IGJvb2xlYW4gPSBmYWxzZTtcbiAgICBwdWJsaWMgX3JlY2VpdmVkQWRkcmVzc0xpc3Q6IEFkZHJlc3NMaXN0UmVzcG9uc2UgfCBudWxsID0gbnVsbDtcblxuICAgIHByaXZhdGUgZGVzdHJveSQgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuICAgIHB1YmxpYyBhZGRyZXNzRm9ybSE6IFVudHlwZWRGb3JtR3JvdXA7XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgQFNlbGYoKSBwdWJsaWMgc3VwZXJDb250cm9sOiBOZ0NvbnRyb2wsXG4gICAgICAgIHByaXZhdGUgcmVmOiBDaGFuZ2VEZXRlY3RvclJlZlxuICAgICkge1xuICAgICAgICB0aGlzLnN1cGVyQ29udHJvbC52YWx1ZUFjY2Vzc29yID0gdGhpcztcbiAgICB9XG5cbiAgICBuZ0FmdGVyQ29udGVudEluaXQoKTogdm9pZCB7fVxuXG4gICAgd3JpdGVWYWx1ZShhZGRyZXNzOiBhbnkpOiB2b2lkIHtcbiAgICAgICAgaWYgKGFkZHJlc3MpIHtcbiAgICAgICAgICAgIHRoaXMuaW5wdXREcm9wZG93bj8uc2V0RHJvcGRvd25WYWx1ZShhZGRyZXNzLCB1bmRlZmluZWQsICdhZGRyZXNzJyk7XG5cbiAgICAgICAgICAgIHRoaXMub25DaGFuZ2UoYWRkcmVzcyk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwdWJsaWMgcmVnaXN0ZXJPbkNoYW5nZShmbjogYW55KTogdm9pZCB7XG4gICAgICAgIHRoaXMub25DaGFuZ2UgPSBmbjtcbiAgICB9XG5cbiAgICBwdWJsaWMgb25DaGFuZ2UoXzogYW55KTogdm9pZCB7fVxuXG4gICAgcHVibGljIHJlZ2lzdGVyT25Ub3VjaGVkKF86IGFueSk6IHZvaWQge31cblxuICAgIG5nT25Jbml0KCk6IHZvaWQge1xuICAgICAgICB0aGlzLmluaXRDaGFuZ2VzTGlzdGVuZXIoKTtcbiAgICAgICAgdGhpcy5hdHRhY2hBZGRyZXNzU3RyZWV0VmFsaWRhdGlvbigpO1xuICAgIH1cblxuICAgIHB1YmxpYyBhdHRhY2hBZGRyZXNzU3RyZWV0VmFsaWRhdGlvbigpIHtcbiAgICAgICAgY29uc3QgY3VycmVudFZhbGlkYXRvcnMgPSB0aGlzLnN1cGVyQ29udHJvbC52YWxpZGF0b3JcbiAgICAgICAgICAgID8gW3RoaXMuc3VwZXJDb250cm9sLnZhbGlkYXRvcl1cbiAgICAgICAgICAgIDogW107XG4gICAgICAgIHRoaXMuc3VwZXJDb250cm9sPy5jb250cm9sPy5zZXRWYWxpZGF0b3JzKFtcbiAgICAgICAgICAgIC4uLmN1cnJlbnRWYWxpZGF0b3JzLFxuICAgICAgICAgICAgYWRkcmVzc05hbWVXaXRoRG90VmFsaWRhdG9yKCksXG4gICAgICAgIF0pO1xuICAgICAgICB0aGlzLnN1cGVyQ29udHJvbD8uY29udHJvbD8udXBkYXRlVmFsdWVBbmRWYWxpZGl0eSgpO1xuICAgIH1cblxuICAgIHByaXZhdGUgb2JzZXJ2YWJsZUlucHV0U2VhcmNoID0gbmV3IEJlaGF2aW9yU3ViamVjdDxzdHJpbmc+KCcnKTtcbiAgICBwdWJsaWMgb2JzZXJ2YWJsZUlucHV0U2VhcmNoJDogT2JzZXJ2YWJsZTxzdHJpbmc+ID1cbiAgICAgICAgdGhpcy5vYnNlcnZhYmxlSW5wdXRTZWFyY2guYXNPYnNlcnZhYmxlKCk7XG5cbiAgICBwdWJsaWMgaGFuZGxlU2VhcmNoSW5wdXQodGV4dDogc3RyaW5nKTogdm9pZCB7XG4gICAgICAgIHRoaXMub2JzZXJ2YWJsZUlucHV0U2VhcmNoLm5leHQodGV4dCk7XG4gICAgfVxuXG4gICAgcHVibGljIGluaXRDaGFuZ2VzTGlzdGVuZXIoKTogdm9pZCB7XG4gICAgICAgIHRoaXMub2JzZXJ2YWJsZUlucHV0U2VhcmNoJFxuICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgZGlzdGluY3RVbnRpbENoYW5nZWQoKSxcbiAgICAgICAgICAgICAgICB0YWtlVW50aWwodGhpcy5kZXN0cm95JCksXG4gICAgICAgICAgICAgICAgdGFwKCh0ZXJtKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuaW5wdXRDb25maWcgPSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAuLi50aGlzLmlucHV0Q29uZmlnLFxuICAgICAgICAgICAgICAgICAgICAgICAgbG9hZGluZ1NwaW5uZXI6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAuLi50aGlzLmlucHV0Q29uZmlnLmxvYWRpbmdTcGlubmVyLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlzTG9hZGluZzogdHJ1ZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaXplOiBlSW5wdXRCYXNpY1N0cmluZy5TTUFMTCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogZUlucHV0QmFzaWNTdHJpbmcuV0hJVEUsXG4gICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICB9O1xuXG4gICAgICAgICAgICAgICAgICAgIGlmICghdGVybSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5pbnB1dENvbmZpZyA9IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAuLi50aGlzLmlucHV0Q29uZmlnLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxvYWRpbmdTcGlubmVyOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC4uLnRoaXMuaW5wdXRDb25maWcubG9hZGluZ1NwaW5uZXIsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlzTG9hZGluZzogZmFsc2UsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmFkZHJlc0xpc3QgPSBbXTtcbiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIGlmIChcbiAgICAgICAgICAgICAgICAgICAgICAgIHRlcm0gIT09IHRoaXMuY3VycmVudEFkZHJlc3NEYXRhPy5hZGRyZXNzLmFkZHJlc3MgJiZcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuaW5wdXRDb25maWcubmFtZSA9PT1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBJbnB1dEFkZHJlc3NUeXBlU3RyaW5nRW51bS5ST1VUSU5HX0FERFJFU1NcbiAgICAgICAgICAgICAgICAgICAgKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmN1cnJlbnRBZGRyZXNzRGF0YSA9IG51bGw7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgaWYgKFxuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5pbnB1dENvbmZpZy5uYW1lICE9PVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIElucHV0QWRkcmVzc1R5cGVTdHJpbmdFbnVtLlJPVVRJTkdfQUREUkVTUyAmJlxuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5hbGxvd1ZhbGlkYXRpb24gJiZcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuaW5wdXREcm9wZG93bi5pbnB1dFJlZi5pc0ZvY3VzSW5wdXRcbiAgICAgICAgICAgICAgICAgICAgKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnJlcXVlc3RTZW50ID0gZmFsc2U7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBhZGRyZXNzRGF0YSA9IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBhZGRyZXNzOiB7fSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWxpZDogZmFsc2UsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbG9uZ0xhdDoge30sXG4gICAgICAgICAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5zZWxlY3RlZEFkZHJlc3MuZW1pdChhZGRyZXNzRGF0YSk7XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICB0aGlzLmFsbG93VmFsaWRhdGlvbiA9IHRydWU7XG4gICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICAgICAgZmlsdGVyKCh0ZXJtOiBzdHJpbmcpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRlcm0/Lmxlbmd0aCA+PSAzO1xuICAgICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgICAgIGRlYm91bmNlVGltZSg1MDApLFxuICAgICAgICAgICAgICAgIHN3aXRjaE1hcCgocXVlcnk6IHN0cmluZykgPT4ge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBwYXJhbXMgPSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBxdWVyeTogcXVlcnksXG4gICAgICAgICAgICAgICAgICAgICAgICBzZWFyY2hMYXllcnM6IHRoaXMuc2VhcmNoTGF5ZXJzLFxuICAgICAgICAgICAgICAgICAgICAgICAgY2xvc2VkQm9yZGVyOiB0aGlzLmNsb3NlZEJvcmRlcixcbiAgICAgICAgICAgICAgICAgICAgfTtcblxuICAgICAgICAgICAgICAgICAgICB0aGlzLnNlbnRBZGRyZXNzRGF0YS5uZXh0KHBhcmFtcyk7XG5cbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG9mKHRoaXMucmVjZWl2ZWRBZGRyZXNzTGlzdCkucGlwZShcbiAgICAgICAgICAgICAgICAgICAgICAgIGNhdGNoRXJyb3IoKCkgPT4gb2YoW10pKVxuICAgICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICApXG4gICAgICAgICAgICAuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLmlucHV0Q29uZmlnID0ge1xuICAgICAgICAgICAgICAgICAgICAuLi50aGlzLmlucHV0Q29uZmlnLFxuICAgICAgICAgICAgICAgICAgICBsb2FkaW5nU3Bpbm5lcjoge1xuICAgICAgICAgICAgICAgICAgICAgICAgLi4udGhpcy5pbnB1dENvbmZpZy5sb2FkaW5nU3Bpbm5lcixcbiAgICAgICAgICAgICAgICAgICAgICAgIGlzTG9hZGluZzogZmFsc2UsXG4gICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgfTtcblxuICAgICAgICAgICAgICAgIHRoaXMucmVmLmRldGVjdENoYW5nZXMoKTtcbiAgICAgICAgICAgIH0pO1xuICAgIH1cblxuICAgIGdldCBnZXRTdXBlckNvbnRyb2woKSB7XG4gICAgICAgIHJldHVybiB0aGlzLnN1cGVyQ29udHJvbC5jb250cm9sIGFzIEZvcm1Db250cm9sO1xuICAgIH1cblxuICAgIHB1YmxpYyBvbkNsb3NlRHJvcGRvd24oZXZlbnQ6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICAgICAgdGhpcy5jbG9zZURyb3Bkb3duLmVtaXQoZXZlbnQpO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXRBZGRyZXNzRGF0YShhZGRyZXNzOiBzdHJpbmcpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5yZXF1ZXN0U2VudCA9IHRydWU7XG5cbiAgICAgICAgdGhpcy5zZW50QWRkcmVzc1ZhbHVlLmVtaXQoYWRkcmVzcyk7XG4gICAgfVxuXG4gICAgcHVibGljIG9uU2VsZWN0RHJvcGRvd24oZXZlbnQ6IEFkZHJlc3NMaXN0IHwgbnVsbCk6IHZvaWQge1xuICAgICAgICBpZiAoZXZlbnQ/LmFkZHJlc3MpIHtcbiAgICAgICAgICAgIGlmICh0aGlzLnNlYXJjaExheWVyc1swXSA9PT0gSW5wdXRBZGRyZXNzTGF5ZXJzU3RyaW5nRW51bS5BRERSRVNTKSB7XG4gICAgICAgICAgICAgICAgY29uc3QgaXNWYWxpZCA9IHRoaXMuY2hlY2tBZGRyZXNzVmFsaWRhdGlvbihldmVudC5hZGRyZXNzKTtcblxuICAgICAgICAgICAgICAgIGlmIChpc1ZhbGlkKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZ2V0QWRkcmVzc0RhdGEoZXZlbnQuYWRkcmVzcyk7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMub25DaGFuZ2UoZXZlbnQuYWRkcmVzcyk7XG4gICAgICAgICAgICAgICAgICAgIC8vdGhpcy5nZXRTdXBlckNvbnRyb2whLnNldFZhbHVlKGV2ZW50Lm5hbWUpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgdGhpcy5nZXRBZGRyZXNzRGF0YShldmVudC5hZGRyZXNzKTtcbiAgICAgICAgICAgICAgICAvL3RoaXMuZ2V0U3VwZXJDb250cm9sIS5zZXRWYWx1ZShldmVudC5uYW1lKTtcbiAgICAgICAgICAgICAgICB0aGlzLm9uQ2hhbmdlKGV2ZW50LmFkZHJlc3MpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICB0aGlzLmNob3NlbkZyb21Ecm9wZG93biA9IHRydWU7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLm9uQ2xlYXJJbnB1dEV2ZW50KCk7XG4gICAgICAgICAgICB0aGlzLmN1cnJlbnRBZGRyZXNzRGF0YSA9IG51bGw7XG4gICAgICAgICAgICB0aGlzLmFkZHJlc0xpc3QgPSBbXTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLmlucHV0RHJvcGRvd24/LnBvcG92ZXJSZWY/LmNsb3NlKCk7XG4gICAgfVxuXG4gICAgcHVibGljIG9uQ29tbWFuZHMoXG4gICAgICAgIGV2ZW50OiBLZXlib2FyZEV2ZW50LFxuICAgICAgICB0eXBlOiBJbnB1dEFkZHJlc3NDb21tYW5kc1N0cmluZ1xuICAgICk6IHZvaWQge1xuICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcblxuICAgICAgICBpZiAoXG4gICAgICAgICAgICAodHlwZSA9PT0gSW5wdXRBZGRyZXNzQ29tbWFuZHNTdHJpbmdFbnVtLkNPTkZJUk0gJiZcbiAgICAgICAgICAgICAgICB0aGlzLmN1cnJlbnRBZGRyZXNzRGF0YSkgfHxcbiAgICAgICAgICAgIHR5cGUgPT09IElucHV0QWRkcmVzc0NvbW1hbmRzU3RyaW5nRW51bS5DQU5DRUxcbiAgICAgICAgKSB7XG4gICAgICAgICAgICB0aGlzLmN1cnJlbnRBZGRyZXNzRGF0YSEudHlwZSA9IHR5cGU7XG4gICAgICAgICAgICB0aGlzLmNvbW1hbmRFdmVudC5lbWl0KHRoaXMuY3VycmVudEFkZHJlc3NEYXRhID8/IHt9KTtcblxuICAgICAgICAgICAgdGhpcy5jbG9zZUFkZHJlc3MoKTtcbiAgICAgICAgICAgIHRoaXMuY2xlYXJJbnB1dChldmVudCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwdWJsaWMgYWRkcmVzc0V4cGFuZCgpOiB2b2lkIHtcbiAgICAgICAgaWYgKCF0aGlzLmFkZHJlc3NFeHBhbmRlZCkgdGhpcy5hZGRyZXNzRXhwYW5kZWQgPSB0cnVlO1xuICAgIH1cblxuICAgIHB1YmxpYyBjbG9zZUFkZHJlc3MoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuYWRkcmVzc0V4cGFuZGVkID0gZmFsc2U7XG4gICAgfVxuXG4gICAgcHVibGljIGNsZWFySW5wdXQoZXZlbnQ6IEtleWJvYXJkRXZlbnQpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5jdXJyZW50QWRkcmVzc0RhdGEgPSBudWxsO1xuICAgICAgICB0aGlzLmFkZHJlc0xpc3QgPSBbXTtcbiAgICAgICAgdGhpcy5pbnB1dERyb3Bkb3duPy5pbnB1dFJlZj8uY2xlYXJJbnB1dChldmVudCk7XG4gICAgICAgIHRoaXMuY2hvc2VuRnJvbURyb3Bkb3duID0gZmFsc2U7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBjaGVja1NlYXJjaExheWVycyh2YWx1ZTogc3RyaW5nKTogdm9pZCB7XG4gICAgICAgIHRoaXMuc2VhcmNoTGF5ZXJzID1cbiAgICAgICAgICAgIHZhbHVlID09PSBJbnB1dEFkZHJlc3NUeXBlU3RyaW5nRW51bS5MT05HX0FERFJFU1NcbiAgICAgICAgICAgICAgICA/IFtJbnB1dEFkZHJlc3NMYXllcnNTdHJpbmdFbnVtLkFERFJFU1NdXG4gICAgICAgICAgICAgICAgOiB2YWx1ZSA9PT0gSW5wdXRBZGRyZXNzVHlwZVN0cmluZ0VudW0uU0hPUlRfQUREUkVTU1xuICAgICAgICAgICAgICAgICAgPyBbSW5wdXRBZGRyZXNzTGF5ZXJzU3RyaW5nRW51bS5MT0NBTElUWV1cbiAgICAgICAgICAgICAgICAgIDogW107XG4gICAgfVxuXG4gICAgcHVibGljIGNoYW5nZVN0b3BUeXBlKCk6IHZvaWQge1xuICAgICAgICBsZXQgZmxhZyA9IGZhbHNlO1xuICAgICAgICBpZiAodGhpcy5zdG9wVHlwZSA9PT0gSW5wdXRBZGRyZXNzU3RvcFR5cGVzU3RyaW5nRW51bS5FTVBUWSkge1xuICAgICAgICAgICAgdGhpcy5zdG9wVHlwZSA9IElucHV0QWRkcmVzc1N0b3BUeXBlc1N0cmluZ0VudW0uTE9BREVEO1xuICAgICAgICAgICAgZmxhZyA9IHRydWU7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLnN0b3BUeXBlID0gSW5wdXRBZGRyZXNzU3RvcFR5cGVzU3RyaW5nRW51bS5FTVBUWTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuY2hhbmdlRmxhZy5lbWl0KGZsYWcpO1xuXG4gICAgICAgIGlmICghdGhpcy5jaG9zZW5Gcm9tRHJvcGRvd24pIHtcbiAgICAgICAgICAgIHRoaXMuaW5wdXREcm9wZG93bj8uaW5wdXRSZWY/LmlucHV0RWxlbWVudC5uYXRpdmVFbGVtZW50LmZvY3VzKCk7XG4gICAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLmlucHV0RHJvcGRvd24uaW5wdXRSZWYuaXNGb2N1c0lucHV0ID0gdHJ1ZTtcbiAgICAgICAgICAgIH0sIDUwMCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwdWJsaWMgb25JbmNvcnJlY3RJbnB1dChldmVudDogYm9vbGVhbik6IHZvaWQge1xuICAgICAgICB0aGlzLmluY29ycmVjdEV2ZW50LmVtaXQoZXZlbnQpO1xuICAgIH1cblxuICAgIHB1YmxpYyBvbkNsZWFySW5wdXRFdmVudCgpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgYWRkcmVzc0RhdGEgPSB7XG4gICAgICAgICAgICBhZGRyZXNzOiB7fSxcbiAgICAgICAgICAgIHZhbGlkOiBmYWxzZSxcbiAgICAgICAgICAgIGxvbmdMYXQ6IHt9LFxuICAgICAgICB9O1xuICAgICAgICB0aGlzLnNlbGVjdGVkQWRkcmVzcy5lbWl0KGFkZHJlc3NEYXRhKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGNoZWNrQWRkcmVzc1ZhbGlkYXRpb24oYWRkcmVzczogc3RyaW5nKTogYm9vbGVhbiB7XG4gICAgICAgIGNvbnN0IHN0cmVldE51bSA9IC9cXGQuKlxcZC87XG5cbiAgICAgICAgcmV0dXJuIHN0cmVldE51bS50ZXN0KGFkZHJlc3MpID8gdHJ1ZSA6IGZhbHNlO1xuICAgIH1cblxuICAgIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgICAgICB0aGlzLmRlc3Ryb3kkLm5leHQoKTtcbiAgICAgICAgdGhpcy5kZXN0cm95JC5jb21wbGV0ZSgpO1xuICAgIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJhZGRyZXNzX2hvbGRlciBkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyXCIgKGNsaWNrKT1cImFkZHJlc3NFeHBhbmQoKVwiPlxuICAgIDxkaXZcbiAgICAgICAgY2xhc3M9XCJtYWluX2FkZHJlc3NfaG9sZGVyXCJcbiAgICAgICAgW25nQ2xhc3NdPVwie1xuICAgICAgICAgICAgaW5wdXRfZm9yX3JvdXRpbmc6IGlzUm91dGluZyxcbiAgICAgICAgICAgIG5vdF9leHBhbmRlZDogaXNSb3V0aW5nICYmICFhZGRyZXNzRXhwYW5kZWQsXG4gICAgICAgICAgICBleHBhbmRlZF9hZGRyZXNzOiBpc1JvdXRpbmcgJiYgYWRkcmVzc0V4cGFuZGVkLFxuICAgICAgICB9XCJcbiAgICA+XG4gICAgICAgIDxhcHAtY2EtaW5wdXQtZHJvcGRvd25cbiAgICAgICAgICAgIFtsYWJlbF09XCInYWRkcmVzcydcIlxuICAgICAgICAgICAgI2lucHV0RHJvcGRvd25cbiAgICAgICAgICAgIFtmb3JtQ29udHJvbF09XCJnZXRTdXBlckNvbnRyb2xcIlxuICAgICAgICAgICAgW2lucHV0Q29uZmlnXT1cImlucHV0Q29uZmlnXCJcbiAgICAgICAgICAgIFtvcHRpb25zXT1cImFkZHJlc0xpc3RcIlxuICAgICAgICAgICAgW2FjdGl2ZUl0ZW1dPVwiZ2V0U3VwZXJDb250cm9sPy52YWx1ZVwiXG4gICAgICAgICAgICBbaXNJbmNvcnJlY3RWYWx1ZV09XCJpbmNvcnJlY3RWYWx1ZVwiXG4gICAgICAgICAgICBbaXNBZGRyZXNzRHJvcGRvd25dPVwidHJ1ZVwiXG4gICAgICAgICAgICAoaW5jb3JyZWN0RXZlbnQpPVwib25JbmNvcnJlY3RJbnB1dCgkZXZlbnQpXCJcbiAgICAgICAgICAgIChzZWxlY3RlZEl0ZW0pPVwib25TZWxlY3REcm9wZG93bigkZXZlbnQpXCJcbiAgICAgICAgICAgIChjbG9zZURyb3Bkb3duKT1cIm9uQ2xvc2VEcm9wZG93bigkZXZlbnQpXCJcbiAgICAgICAgICAgIChjbGVhcklucHV0RXZlbnQpPVwib25DbGVhcklucHV0RXZlbnQoKVwiXG4gICAgICAgICAgICAoc2VhcmNoSW5wdXRFdmVudCk9XCJoYW5kbGVTZWFyY2hJbnB1dCgkZXZlbnQpXCJcbiAgICAgICAgPjwvYXBwLWNhLWlucHV0LWRyb3Bkb3duPlxuICAgICAgICBAaWYgKGlzUm91dGluZyAmJiBhZGRyZXNzRXhwYW5kZWQgJiYgIWhpZGVFbXB0eUxvYWRlZCkge1xuICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgIGNsYXNzPVwic3RvcF9ob2xkIGQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtY2VudGVyIGFsaWduLWl0ZW1zLWNlbnRlclwiXG4gICAgICAgICAgICAgICAgKGNsaWNrKT1cImNoYW5nZVN0b3BUeXBlKClcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzdG9wX3RleHRcIj57eyBzdG9wVHlwZSB9fTwvZGl2PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgIH1cbiAgICA8L2Rpdj5cbiAgICBAaWYgKGlzUm91dGluZyAmJiBhZGRyZXNzRXhwYW5kZWQpIHtcbiAgICAgICAgPGRpdiBjbGFzcz1cImNhLWlucHV0LWNvbW1hbmRzIGFkZHJlc3MtZmxhZyBkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyXCI+XG4gICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgY2xhc3M9XCJtYWluLWNvbW1hbmRzIGNhLWlucHV0LWNvbW1hbmQtZmlyc3RcIlxuICAgICAgICAgICAgICAgIG5nYlRvb2x0aXBcbiAgICAgICAgICAgICAgICBbbWFpbkNhVG9vbHRpcF09XCJcbiAgICAgICAgICAgICAgICAgICAgY29tbWFuZEhhbmRsZXIuY29tbWFuZHM/LmZpcnN0Q29tbWFuZD8ucG9wdXA/Lm5hbWVcbiAgICAgICAgICAgICAgICBcIlxuICAgICAgICAgICAgICAgIFt0b29sdGlwQmFja2dyb3VuZF09XCJcbiAgICAgICAgICAgICAgICAgICAgY29tbWFuZEhhbmRsZXIuY29tbWFuZHM/LmZpcnN0Q29tbWFuZD8ucG9wdXBcbiAgICAgICAgICAgICAgICAgICAgICAgID8uYmFja2dyb3VuZENvbG9yXG4gICAgICAgICAgICAgICAgXCJcbiAgICAgICAgICAgICAgICBbZGlzYWJsZVRvb2x0aXBdPVwiIWNvbW1hbmRIYW5kbGVyLmNvbW1hbmRzPy5maXJzdENvbW1hbmQ/LnBvcHVwXCJcbiAgICAgICAgICAgICAgICBwb3NpdGlvbj1cInRvcFwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgPHN2Zy1pY29uXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiY2EtaW5wdXQtY29tbWFuZC1zdmctZmlyc3RcIlxuICAgICAgICAgICAgICAgICAgICBbY2xhc3MuYWxsb3dfY29uZmlybV09XCJjaG9zZW5Gcm9tRHJvcGRvd25cIlxuICAgICAgICAgICAgICAgICAgICBbc3JjXT1cImNvbW1hbmRIYW5kbGVyLmNvbW1hbmRzLmZpcnN0Q29tbWFuZC5zdmdcIlxuICAgICAgICAgICAgICAgICAgICAoa2V5ZG93bik9XCJvbkNvbW1hbmRzKCRldmVudCwgJ2NvbmZpcm0nKVwiXG4gICAgICAgICAgICAgICAgPjwvc3ZnLWljb24+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICBjbGFzcz1cIm1haW4tY29tbWFuZHMgY2EtaW5wdXQtY29tbWFuZC1zZWNvbmRcIlxuICAgICAgICAgICAgICAgIG5nYlRvb2x0aXBcbiAgICAgICAgICAgICAgICBbbWFpbkNhVG9vbHRpcF09XCJcbiAgICAgICAgICAgICAgICAgICAgY29tbWFuZEhhbmRsZXIuY29tbWFuZHM/LnNlY29uZENvbW1hbmQ/LnBvcHVwPy5uYW1lXG4gICAgICAgICAgICAgICAgXCJcbiAgICAgICAgICAgICAgICBbdG9vbHRpcEJhY2tncm91bmRdPVwiXG4gICAgICAgICAgICAgICAgICAgIGNvbW1hbmRIYW5kbGVyLmNvbW1hbmRzPy5zZWNvbmRDb21tYW5kPy5wb3B1cFxuICAgICAgICAgICAgICAgICAgICAgICAgPy5iYWNrZ3JvdW5kQ29sb3JcbiAgICAgICAgICAgICAgICBcIlxuICAgICAgICAgICAgICAgIFtkaXNhYmxlVG9vbHRpcF09XCJcbiAgICAgICAgICAgICAgICAgICAgIWNvbW1hbmRIYW5kbGVyLmNvbW1hbmRzPy5zZWNvbmRDb21tYW5kPy5wb3B1cFxuICAgICAgICAgICAgICAgIFwiXG4gICAgICAgICAgICAgICAgcG9zaXRpb249XCJ0b3BcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIDxzdmctaWNvblxuICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImNhLWlucHV0LWNvbW1hbmQtc3ZnLXNlY29uZFwiXG4gICAgICAgICAgICAgICAgICAgIFtzcmNdPVwiY29tbWFuZEhhbmRsZXIuY29tbWFuZHMuc2Vjb25kQ29tbWFuZC5zdmdcIlxuICAgICAgICAgICAgICAgICAgICAoa2V5ZG93bik9XCJvbkNvbW1hbmRzKCRldmVudCwgJ2NhbmNlbCcpXCJcbiAgICAgICAgICAgICAgICA+PC9zdmctaWNvbj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICB9XG48L2Rpdj5cbiJdfQ==
@@ -12670,6 +12670,11 @@ class CaInputAddressDropdownComponent {
12670
12670
  valid: value.address && value.longLat ? true : false,
12671
12671
  longLat: value.longLat,
12672
12672
  };
12673
+ this.onChange({
12674
+ ...value.address,
12675
+ latitude: value.longLat?.latitude,
12676
+ longitude: value.longLat?.longitude,
12677
+ });
12673
12678
  this.selectedAddress.emit(this.currentAddressData);
12674
12679
  }
12675
12680
  }