@sumaris-net/ngx-components 1.19.15 → 1.19.16

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/doc/changelog.md CHANGED
@@ -315,3 +315,8 @@
315
315
 
316
316
  # 1.19.7
317
317
  [enh] Add pipe 'formGetValue' that will listen value changes (from a form or a control)
318
+
319
+ # 1.19.16
320
+ [fix] Date and Date Short field: optimize <mat-error> with a switch/case
321
+ [fix] Lat/Long pipes: remove provider in root (not need on a pipe)
322
+ [fix] SharedValidators: rename 'double' validator into 'decimal'. Now return an error 'decimal' when opts.maxDecimals is nil
@@ -50,8 +50,9 @@ export class AccountPage extends AppForm {
50
50
  this.setValue(this.accountService.account);
51
51
  this.markAsPristine();
52
52
  }));
53
- this.registerSubscription(this.accountService.$additionalFields.subscribe((additionalFields) => {
54
- this.additionalFields = additionalFields.slice();
53
+ this.registerSubscription(this.accountService.$additionalFields
54
+ .subscribe((additionalFields) => {
55
+ this.additionalFields = additionalFields.slice(); // Copy
55
56
  if (accountService.isLogin()) {
56
57
  this.onLogin(this.accountService.account);
57
58
  }
@@ -224,4 +225,4 @@ AccountPage.ctorParameters = () => [
224
225
  { type: ChangeDetectorRef },
225
226
  { type: undefined, decorators: [{ type: Inject, args: [APP_LOCALES,] }] }
226
227
  ];
227
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWNjb3VudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvY29yZS9hY2NvdW50L2FjY291bnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBQyx1QkFBdUIsRUFBRSxpQkFBaUIsRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLFFBQVEsRUFBWSxNQUFNLGVBQWUsQ0FBQztBQUVqSCxPQUFPLEVBQUMsY0FBYyxFQUFDLE1BQU0sNkJBQTZCLENBQUM7QUFDM0QsT0FBTyxFQUFDLE9BQU8sRUFBQyxNQUFNLGlDQUFpQyxDQUFDO0FBQ3hELE9BQU8sRUFBQyw0QkFBNEIsRUFBQyxNQUFNLCtDQUErQyxDQUFDO0FBQzNGLE9BQU8sRUFBQyxXQUFXLEVBQVksTUFBTSxnQkFBZ0IsQ0FBQztBQUN0RCxPQUFPLEVBQUMsdUJBQXVCLEVBQUMsTUFBTSx5Q0FBeUMsQ0FBQztBQUNoRixPQUFPLEVBQUMsT0FBTyxFQUFDLE1BQU0sb0JBQW9CLENBQUM7QUFDM0MsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLG9CQUFvQixDQUFDO0FBQ2hELE9BQU8sRUFBQyxnQkFBZ0IsRUFBQyxNQUFNLHFCQUFxQixDQUFDO0FBRXJELE9BQU8sRUFBQyxvQkFBb0IsRUFBQyxNQUFNLG9DQUFvQyxDQUFDO0FBQ3hFLE9BQU8sRUFBQyxpQkFBaUIsRUFBQyxNQUFNLDZDQUE2QyxDQUFDO0FBQzlFLE9BQU8sRUFBQyxTQUFTLEVBQUMsTUFBTSw4QkFBOEIsQ0FBQztBQUN2RCxPQUFPLEVBQUMsV0FBVyxFQUFlLE1BQU0sa0NBQWtDLENBQUM7QUFDM0UsT0FBTyxFQUFDLE1BQU0sRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBRXZDLE9BQU8sRUFBQyxjQUFjLEVBQUMsTUFBTSw2QkFBNkIsQ0FBQztBQUMzRCxPQUFPLEVBQUMsR0FBRyxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFRbkMsTUFBTSxPQUFPLFdBQVksU0FBUSxPQUFnQjtJQW9CL0MsWUFDRSxRQUFrQixFQUNYLFdBQXdCLEVBQ3hCLGNBQThCLEVBQzlCLE9BQXVCLEVBQ3BCLE1BQWMsRUFDZCxnQkFBeUMsRUFDekMsd0JBQXNELEVBQ3RELFNBQTJCLEVBQzNCLFFBQThCLEVBQzlCLEVBQXFCLEVBQ1YsT0FBTztRQUU1QixLQUFLLENBQUMsUUFBUSxFQUFFLGdCQUFnQixDQUFDLFlBQVksQ0FBQyxjQUFjLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQztRQVhoRSxnQkFBVyxHQUFYLFdBQVcsQ0FBYTtRQUN4QixtQkFBYyxHQUFkLGNBQWMsQ0FBZ0I7UUFDOUIsWUFBTyxHQUFQLE9BQU8sQ0FBZ0I7UUFDcEIsV0FBTSxHQUFOLE1BQU0sQ0FBUTtRQUNkLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBeUI7UUFDekMsNkJBQXdCLEdBQXhCLHdCQUF3QixDQUE4QjtRQUN0RCxjQUFTLEdBQVQsU0FBUyxDQUFrQjtRQUMzQixhQUFRLEdBQVIsUUFBUSxDQUFzQjtRQUM5QixPQUFFLEdBQUYsRUFBRSxDQUFtQjtRQXhCakMsVUFBSyxHQUFRO1lBQ1gsU0FBUyxFQUFFLEtBQUs7WUFDaEIsWUFBWSxFQUFFLEtBQUs7WUFDbkIsT0FBTyxFQUFFLEtBQUs7WUFDZCxLQUFLLEVBQUUsU0FBUztTQUNqQixDQUFDO1FBS0YsbUJBQWMsR0FBRyxpQkFBaUIsQ0FBQztRQUNuQyxXQUFNLEdBQUcsS0FBSyxDQUFDO1FBQ2YsY0FBUyxHQUFHLEtBQUssQ0FBQztRQWlCaEIsSUFBSSxDQUFDLE9BQU8sR0FBRyxPQUFPLENBQUM7UUFFdkIsdUJBQXVCO1FBQ3ZCLElBQUksQ0FBQyxZQUFZLEdBQUcsd0JBQXdCLENBQUMsWUFBWSxDQUFDLGNBQWMsQ0FBQyxPQUFPLElBQUksY0FBYyxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUNySCxJQUFJLENBQUMsbUJBQW1CLEdBQUksSUFBSSxDQUFDLFlBQVksQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFlLENBQUM7UUFDaEYsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsVUFBVSxFQUFFLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQztRQUVwRCwrQkFBK0I7UUFDL0IsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBRWYsdUJBQXVCO1FBQ3ZCLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUNuRyxJQUFJLENBQUMsb0JBQW9CLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFDekYsSUFBSSxDQUFDLG9CQUFvQixDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDLEdBQUcsRUFBRTtZQUNyRCxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsT0FBTyxDQUFDLENBQUM7WUFDM0MsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDO1FBQ3hCLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFFSixJQUFJLENBQUMsb0JBQW9CLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxpQkFBaUIsQ0FBQyxTQUFTLENBQUMsQ0FBQyxnQkFBZ0IsRUFBRSxFQUFFO1lBQzdGLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxnQkFBZ0IsQ0FBQyxLQUFLLEVBQUUsQ0FBQztZQUNqRCxJQUFJLGNBQWMsQ0FBQyxPQUFPLEVBQUUsRUFBRTtnQkFDNUIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLE9BQU8sQ0FBQyxDQUFDO2FBQzNDO2lCQUNJO2dCQUNILElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQzthQUNyQjtRQUNILENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDTixDQUFDO0lBRUQsV0FBVzs7UUFDVCxLQUFLLENBQUMsV0FBVyxFQUFFLENBQUM7UUFDcEIsSUFBSSxDQUFDLGlCQUFpQixFQUFFLENBQUM7UUFDekIsTUFBQSxJQUFJLENBQUMsbUJBQW1CLDBDQUFFLFdBQVcsR0FBRztJQUMxQyxDQUFDO0lBRUQsT0FBTyxDQUFDLE9BQWdCOztRQUN0QixPQUFPLENBQUMsS0FBSyxDQUFDLDRCQUE0QixFQUFFLE9BQU8sQ0FBQyxDQUFDO1FBQ3JELElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDO1FBRXBCLElBQUksQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLENBQUM7UUFFdkIsSUFBSSxDQUFDLEtBQUssQ0FBQyxTQUFTLEdBQUcsT0FBTyxJQUFJLE9BQU8sQ0FBQyxLQUFLLElBQUksQ0FBQyxPQUFPLENBQUMsUUFBUSxLQUFLLFNBQVMsQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUM5RixJQUFJLENBQUMsS0FBSyxDQUFDLFlBQVksR0FBRyxPQUFPLElBQUksT0FBTyxDQUFDLEtBQUssSUFBSSxDQUFDLENBQUMsT0FBTyxDQUFDLFFBQVEsSUFBSSxPQUFPLENBQUMsUUFBUSxLQUFLLFNBQVMsQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUV0SCxNQUFBLElBQUksQ0FBQyxtQkFBbUIsMENBQUUsV0FBVyxHQUFHO1FBQ3hDLElBQUksQ0FBQyxtQkFBbUIsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLHNCQUFzQjthQUMzRCxJQUFJLENBQ0gsR0FBRyxDQUFDLGNBQWMsQ0FBQyxFQUFFLENBQUMsY0FBYyxLQUFLLE1BQU0sQ0FBQyxDQUNqRDthQUNBLFNBQVMsQ0FBQyxNQUFNLENBQUMsRUFBRTtZQUNsQixJQUFJLE1BQU0sRUFBRTtnQkFDVixJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7Z0JBQ2QsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDO2dCQUN0QixJQUFJLENBQUMsa0JBQWtCLEVBQUUsQ0FBQzthQUMzQjtpQkFDSTtnQkFDSCxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7Z0JBQ2YsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDO2dCQUN0QixJQUFJLENBQUMsaUJBQWlCLEVBQUUsQ0FBQzthQUMxQjtZQUNELElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUN0QixDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFRCxRQUFROztRQUNOLElBQUksQ0FBQyxPQUFPLEdBQUcsS0FBSyxDQUFDO1FBQ3JCLElBQUksQ0FBQyxLQUFLLENBQUMsU0FBUyxHQUFHLEtBQUssQ0FBQztRQUM3QixJQUFJLENBQUMsS0FBSyxDQUFDLFlBQVksR0FBRyxLQUFLLENBQUM7UUFDaEMsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLEdBQUcsS0FBSyxDQUFDO1FBQzNCLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxHQUFHLFNBQVMsQ0FBQztRQUM3QixJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO1FBQ2xCLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUVmLE1BQUEsSUFBSSxDQUFDLG1CQUFtQiwwQ0FBRSxXQUFXLEdBQUc7UUFFeEMsSUFBSSxDQUFDLGlCQUFpQixFQUFFLENBQUM7UUFFekIsZUFBZTtRQUNmLElBQUksQ0FBQyxNQUFNLENBQUMsYUFBYSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBRWpDLENBQUM7SUFFSyxPQUFPLENBQUMsS0FBZTs7WUFFM0IsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO1lBQ2YsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO1lBRXJCLE9BQU8sSUFBSSxDQUFDLGNBQWMsQ0FBQyxNQUFNLEVBQUUsQ0FBQztRQUN0QyxDQUFDO0tBQUE7SUFFRCxrQkFBa0I7UUFDaEIsSUFBSSxJQUFJLENBQUMsbUJBQW1CO1lBQUUsT0FBTyxDQUFDLGtCQUFrQjtRQUN4RCxJQUFJLENBQUMsbUJBQW1CLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxhQUFhLEVBQUUsQ0FBQztJQUNqRSxDQUFDO0lBRUQsaUJBQWlCO1FBQ2YsSUFBSSxDQUFDLElBQUksQ0FBQyxtQkFBbUI7WUFBRSxPQUFPO1FBQ3RDLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUN2QyxJQUFJLENBQUMsbUJBQW1CLEdBQUcsU0FBUyxDQUFDO0lBQ3ZDLENBQUM7SUFFSyxxQkFBcUIsQ0FBQyxLQUFpQjs7WUFDM0MsTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUM7WUFDN0IsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsQ0FBQyxLQUFLLENBQUM7WUFDL0MsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLFlBQVksRUFBRTtnQkFDM0MsS0FBSyxDQUFDLGNBQWMsRUFBRSxDQUFDO2dCQUN2QixPQUFPLEtBQUssQ0FBQzthQUNkO1lBRUQsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDO1lBQzFCLE9BQU8sQ0FBQyxLQUFLLENBQUMseUNBQXlDLENBQUMsQ0FBQztZQUN6RCxJQUFJO2dCQUNGLE1BQU0sSUFBSSxDQUFDLGNBQWMsQ0FBQyxxQkFBcUIsQ0FDN0MsSUFBSSxDQUFDLEtBQUssRUFDVixJQUFJLENBQUMsUUFBUSxJQUFJLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxJQUFJLElBQUksQ0FBQyxTQUFTLENBQUMsV0FBVyxDQUNwRSxDQUFDO2dCQUNGLE9BQU8sQ0FBQyxLQUFLLENBQUMsb0NBQW9DLENBQUMsQ0FBQztnQkFDcEQsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLEdBQUcsS0FBSyxDQUFDO2FBQzVCO1lBQ0QsT0FBTyxHQUFHLEVBQUU7Z0JBQ1YsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLEdBQUcsS0FBSyxDQUFDO2dCQUMzQixJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssR0FBRyxHQUFHLElBQUksR0FBRyxDQUFDLE9BQU8sSUFBSSxHQUFHLENBQUM7YUFDOUM7UUFDSCxDQUFDO0tBQUE7SUFFSyxJQUFJLENBQUMsS0FBaUI7O1lBQzFCLElBQUksSUFBSSxDQUFDLE1BQU07Z0JBQUUsT0FBTyxLQUFLLENBQUM7WUFFOUIsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFO2dCQUNwQixNQUFNLFlBQVksQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7Z0JBRS9DLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUU7b0JBQ3JCLFlBQVksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO29CQUN0QyxJQUFJLENBQUMsSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUM7b0JBQzdCLE9BQU8sS0FBSyxDQUFDO2lCQUNkO2FBQ0Y7WUFFRCxJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQztZQUN0QixJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQztZQUNuQixJQUFJLENBQUMsS0FBSyxHQUFHLFNBQVMsQ0FBQztZQUV2QixNQUFNLFVBQVUsR0FBRyxPQUFPLENBQUMsVUFBVSxpQ0FDaEMsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLE9BQU8sQ0FBQyxRQUFRLEVBQUUsQ0FBQyxHQUN4QyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEVBQ3BCLENBQUM7WUFFSCxPQUFPLENBQUMsS0FBSyxDQUFDLDZCQUE2QixFQUFFLFVBQVUsQ0FBQyxDQUFDO1lBQ3pELElBQUk7Z0JBQ0YsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO2dCQUVmLE1BQU0sSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7Z0JBRTNDLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQztnQkFDdEIsT0FBTyxJQUFJLENBQUM7YUFDYjtZQUNELE9BQU8sR0FBRyxFQUFFO2dCQUNWLE9BQU8sQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7Z0JBQ25CLElBQUksQ0FBQyxLQUFLLEdBQUcsR0FBRyxJQUFJLEdBQUcsQ0FBQyxPQUFPLElBQUksR0FBRyxDQUFDO2dCQUN2QyxPQUFPLEtBQUssQ0FBQzthQUNkO29CQUNPO2dCQUNOLElBQUksQ0FBQyxNQUFNLEdBQUcsS0FBSyxDQUFDO2dCQUNwQixJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7YUFDZjtRQUNILENBQUM7S0FBQTtJQUVELE1BQU07UUFDSixLQUFLLENBQUMsTUFBTSxFQUFFLENBQUM7UUFFZixpQ0FBaUM7UUFDakMsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBQ25DLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUN6QyxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsT0FBTyxFQUFFLENBQUM7UUFFcEMsd0NBQXdDO1FBQ3hDLElBQUksQ0FBQyxnQkFBZ0I7YUFDbEIsTUFBTSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDLEtBQUssSUFBSSxLQUFLLENBQUMsS0FBSyxDQUFDLE9BQU8sSUFBSSxLQUFLLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxRQUFRLElBQUksS0FBSyxDQUFDO2FBQzVGLE9BQU8sQ0FBQyxLQUFLLENBQUMsRUFBRTtZQUNmLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUMxQyxDQUFDLENBQUMsQ0FBQztRQUNMLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUN0QixDQUFDO0lBRUssTUFBTTs7Ozs7WUFDVixPQUFNLE1BQU0sWUFBRztRQUNqQixDQUFDO0tBQUE7SUFFUyxZQUFZO1FBQ3BCLElBQUksQ0FBQyxFQUFFLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDekIsQ0FBQzs7O1lBdk9GLFNBQVMsU0FBQztnQkFDVCxRQUFRLEVBQUUsa0JBQWtCO2dCQUM1Qiw0eFRBQTJCO2dCQUUzQixlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTs7YUFDaEQ7OztZQXpCc0UsUUFBUTtZQUt2RSxXQUFXO1lBSFgsY0FBYztZQWVkLGNBQWM7WUFGZCxNQUFNO1lBVE4sdUJBQXVCO1lBRnZCLDRCQUE0QjtZQUs1QixnQkFBZ0I7WUFFaEIsb0JBQW9CO1lBWEssaUJBQWlCOzRDQXlEN0MsTUFBTSxTQUFDLFdBQVciLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDaGFuZ2VEZXRlY3RvclJlZiwgQ29tcG9uZW50LCBJbmplY3QsIEluamVjdG9yLCBPbkRlc3Ryb3l9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtTdWJzY3JpcHRpb259IGZyb20gJ3J4anMnO1xuaW1wb3J0IHtBY2NvdW50U2VydmljZX0gZnJvbSAnLi4vc2VydmljZXMvYWNjb3VudC5zZXJ2aWNlJztcbmltcG9ydCB7QWNjb3VudH0gZnJvbSAnLi4vc2VydmljZXMvbW9kZWwvYWNjb3VudC5tb2RlbCc7XG5pbXBvcnQge1VzZXJTZXR0aW5nc1ZhbGlkYXRvclNlcnZpY2V9IGZyb20gJy4uL3NlcnZpY2VzL3ZhbGlkYXRvci91c2VyLXNldHRpbmdzLnZhbGlkYXRvcic7XG5pbXBvcnQge0Zvcm1CdWlsZGVyLCBGb3JtR3JvdXB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7QWNjb3VudFZhbGlkYXRvclNlcnZpY2V9IGZyb20gJy4uL3NlcnZpY2VzL3ZhbGlkYXRvci9hY2NvdW50LnZhbGlkYXRvcic7XG5pbXBvcnQge0FwcEZvcm19IGZyb20gJy4uL2Zvcm0vZm9ybS5jbGFzcyc7XG5pbXBvcnQge0FwcEZvcm1VdGlsc30gZnJvbSAnLi4vZm9ybS9mb3JtLnV0aWxzJztcbmltcG9ydCB7VHJhbnNsYXRlU2VydmljZX0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XG5pbXBvcnQge0Zvcm1GaWVsZERlZmluaXRpb259IGZyb20gJy4uLy4uL3NoYXJlZC9mb3JtL2ZpZWxkLm1vZGVsJztcbmltcG9ydCB7TG9jYWxTZXR0aW5nc1NlcnZpY2V9IGZyb20gJy4uL3NlcnZpY2VzL2xvY2FsLXNldHRpbmdzLnNlcnZpY2UnO1xuaW1wb3J0IHtMQVRfTE9OR19QQVRURVJOU30gZnJvbSAnLi4vLi4vc2hhcmVkL21hdGVyaWFsL2xhdGxvbmcvbGF0bG9uZy51dGlscyc7XG5pbXBvcnQge1N0YXR1c0lkc30gZnJvbSAnLi4vc2VydmljZXMvbW9kZWwvbW9kZWwuZW51bSc7XG5pbXBvcnQge0FQUF9MT0NBTEVTLCBMb2NhbGVDb25maWd9IGZyb20gJy4uL3NlcnZpY2VzL21vZGVsL3NldHRpbmdzLm1vZGVsJztcbmltcG9ydCB7Um91dGVyfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHtDYW5MZWF2ZX0gZnJvbSAnLi4vLi4vc2hhcmVkL2d1YXJkL2NvbXBvbmVudC1kaXJ0eS5ndWFyZCc7XG5pbXBvcnQge05ldHdvcmtTZXJ2aWNlfSBmcm9tICcuLi9zZXJ2aWNlcy9uZXR3b3JrLnNlcnZpY2UnO1xuaW1wb3J0IHttYXB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYXBwLXBhZ2UtYWNjb3VudCcsXG4gIHRlbXBsYXRlVXJsOiAnYWNjb3VudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vYWNjb3VudC5zY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoXG59KVxuZXhwb3J0IGNsYXNzIEFjY291bnRQYWdlIGV4dGVuZHMgQXBwRm9ybTxBY2NvdW50PiBpbXBsZW1lbnRzIE9uRGVzdHJveSwgQ2FuTGVhdmUge1xuXG4gIGlzTG9naW46IGJvb2xlYW47XG4gIGNoYW5nZXNTdWJzY3JpcHRpb246IFN1YnNjcmlwdGlvbjtcbiAgbmV0d29ya1N1YnNjcmlwdGlvbjogU3Vic2NyaXB0aW9uO1xuICBhY2NvdW50OiBBY2NvdW50O1xuICBlbWFpbDogYW55ID0ge1xuICAgIGNvbmZpcm1lZDogZmFsc2UsXG4gICAgbm90Q29uZmlybWVkOiBmYWxzZSxcbiAgICBzZW5kaW5nOiBmYWxzZSxcbiAgICBlcnJvcjogdW5kZWZpbmVkXG4gIH07XG4gIGFkZGl0aW9uYWxGaWVsZHM6IEZvcm1GaWVsZERlZmluaXRpb25bXTtcbiAgc2V0dGluZ3NGb3JtOiBGb3JtR3JvdXA7XG4gIHNldHRpbmdzQ29udGVudEZvcm06IEZvcm1Hcm91cDtcbiAgbG9jYWxlczogTG9jYWxlQ29uZmlnW107XG4gIGxhdExvbmdGb3JtYXRzID0gTEFUX0xPTkdfUEFUVEVSTlM7XG4gIHNhdmluZyA9IGZhbHNlO1xuICBzdWJtaXR0ZWQgPSBmYWxzZTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBpbmplY3RvcjogSW5qZWN0b3IsXG4gICAgcHVibGljIGZvcm1CdWlsZGVyOiBGb3JtQnVpbGRlcixcbiAgICBwdWJsaWMgYWNjb3VudFNlcnZpY2U6IEFjY291bnRTZXJ2aWNlLFxuICAgIHB1YmxpYyBuZXR3b3JrOiBOZXR3b3JrU2VydmljZSxcbiAgICBwcm90ZWN0ZWQgcm91dGVyOiBSb3V0ZXIsXG4gICAgcHJvdGVjdGVkIHZhbGlkYXRvclNlcnZpY2U6IEFjY291bnRWYWxpZGF0b3JTZXJ2aWNlLFxuICAgIHByb3RlY3RlZCBzZXR0aW5nc1ZhbGlkYXRvclNlcnZpY2U6IFVzZXJTZXR0aW5nc1ZhbGlkYXRvclNlcnZpY2UsXG4gICAgcHJvdGVjdGVkIHRyYW5zbGF0ZTogVHJhbnNsYXRlU2VydmljZSxcbiAgICBwcm90ZWN0ZWQgc2V0dGluZ3M6IExvY2FsU2V0dGluZ3NTZXJ2aWNlLFxuICAgIHByb3RlY3RlZCBjZDogQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgQEluamVjdChBUFBfTE9DQUxFUykgbG9jYWxlc1xuICApIHtcbiAgICBzdXBlcihpbmplY3RvciwgdmFsaWRhdG9yU2VydmljZS5nZXRGb3JtR3JvdXAoYWNjb3VudFNlcnZpY2UuYWNjb3VudCkpO1xuXG4gICAgdGhpcy5sb2NhbGVzID0gbG9jYWxlcztcblxuICAgIC8vIEFkZCBzZXR0aW5ncyBmbyBmb3JtXG4gICAgdGhpcy5zZXR0aW5nc0Zvcm0gPSBzZXR0aW5nc1ZhbGlkYXRvclNlcnZpY2UuZ2V0Rm9ybUdyb3VwKGFjY291bnRTZXJ2aWNlLmFjY291bnQgJiYgYWNjb3VudFNlcnZpY2UuYWNjb3VudC5zZXR0aW5ncyk7XG4gICAgdGhpcy5zZXR0aW5nc0NvbnRlbnRGb3JtID0gKHRoaXMuc2V0dGluZ3NGb3JtLmNvbnRyb2xzWydjb250ZW50J10gYXMgRm9ybUdyb3VwKTtcbiAgICB0aGlzLmZvcm0uYWRkQ29udHJvbCgnc2V0dGluZ3MnLCB0aGlzLnNldHRpbmdzRm9ybSk7XG5cbiAgICAvLyBCeSBkZWZhdWx0LCBkaXNhYmxlIHRoZSBmb3JtXG4gICAgdGhpcy5kaXNhYmxlKCk7XG5cbiAgICAvLyBPYnNlcnZlZCBzb21lIGV2ZW50c1xuICAgIHRoaXMucmVnaXN0ZXJTdWJzY3JpcHRpb24odGhpcy5hY2NvdW50U2VydmljZS5vbkxvZ2luLnN1YnNjcmliZShhY2NvdW50ID0+IHRoaXMub25Mb2dpbihhY2NvdW50KSkpO1xuICAgIHRoaXMucmVnaXN0ZXJTdWJzY3JpcHRpb24odGhpcy5hY2NvdW50U2VydmljZS5vbkxvZ291dC5zdWJzY3JpYmUoKCkgPT4gdGhpcy5vbkxvZ291dCgpKSk7XG4gICAgdGhpcy5yZWdpc3RlclN1YnNjcmlwdGlvbih0aGlzLm9uQ2FuY2VsLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICB0aGlzLnNldFZhbHVlKHRoaXMuYWNjb3VudFNlcnZpY2UuYWNjb3VudCk7XG4gICAgICB0aGlzLm1hcmtBc1ByaXN0aW5lKCk7XG4gICAgfSkpO1xuXG4gICAgdGhpcy5yZWdpc3RlclN1YnNjcmlwdGlvbih0aGlzLmFjY291bnRTZXJ2aWNlLiRhZGRpdGlvbmFsRmllbGRzLnN1YnNjcmliZSgoYWRkaXRpb25hbEZpZWxkcykgPT4ge1xuICAgICAgdGhpcy5hZGRpdGlvbmFsRmllbGRzID0gYWRkaXRpb25hbEZpZWxkcy5zbGljZSgpO1xuICAgICAgaWYgKGFjY291bnRTZXJ2aWNlLmlzTG9naW4oKSkge1xuICAgICAgICB0aGlzLm9uTG9naW4odGhpcy5hY2NvdW50U2VydmljZS5hY2NvdW50KTtcbiAgICAgIH1cbiAgICAgIGVsc2Uge1xuICAgICAgICB0aGlzLm1hcmtBc0xvYWRlZCgpO1xuICAgICAgfVxuICAgIH0pKTtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCkge1xuICAgIHN1cGVyLm5nT25EZXN0cm95KCk7XG4gICAgdGhpcy5zdG9wTGlzdGVuQ2hhbmdlcygpO1xuICAgIHRoaXMubmV0d29ya1N1YnNjcmlwdGlvbj8udW5zdWJzY3JpYmUoKTtcbiAgfVxuXG4gIG9uTG9naW4oYWNjb3VudDogQWNjb3VudCkge1xuICAgIGNvbnNvbGUuZGVidWcoJ1thY2NvdW50XSBMb2dnZWQgYWNjb3VudDogJywgYWNjb3VudCk7XG4gICAgdGhpcy5pc0xvZ2luID0gdHJ1ZTtcblxuICAgIHRoaXMuc2V0VmFsdWUoYWNjb3VudCk7XG5cbiAgICB0aGlzLmVtYWlsLmNvbmZpcm1lZCA9IGFjY291bnQgJiYgYWNjb3VudC5lbWFpbCAmJiAoYWNjb3VudC5zdGF0dXNJZCAhPT0gU3RhdHVzSWRzLlRFTVBPUkFSWSk7XG4gICAgdGhpcy5lbWFpbC5ub3RDb25maXJtZWQgPSBhY2NvdW50ICYmIGFjY291bnQuZW1haWwgJiYgKCFhY2NvdW50LnN0YXR1c0lkIHx8IGFjY291bnQuc3RhdHVzSWQgPT09IFN0YXR1c0lkcy5URU1QT1JBUlkpO1xuXG4gICAgdGhpcy5uZXR3b3JrU3Vic2NyaXB0aW9uPy51bnN1YnNjcmliZSgpO1xuICAgIHRoaXMubmV0d29ya1N1YnNjcmlwdGlvbiA9IHRoaXMubmV0d29yay5vbk5ldHdvcmtTdGF0dXNDaGFuZ2VzXG4gICAgICAucGlwZShcbiAgICAgICAgbWFwKGNvbm5lY3Rpb25UeXBlID0+IGNvbm5lY3Rpb25UeXBlICE9PSAnbm9uZScpLFxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZShvbmxpbmUgPT4ge1xuICAgICAgICBpZiAob25saW5lKSB7XG4gICAgICAgICAgdGhpcy5lbmFibGUoKTtcbiAgICAgICAgICB0aGlzLm1hcmtBc1ByaXN0aW5lKCk7XG4gICAgICAgICAgdGhpcy5zdGFydExpc3RlbkNoYW5nZXMoKTtcbiAgICAgICAgfVxuICAgICAgICBlbHNlIHtcbiAgICAgICAgICB0aGlzLmRpc2FibGUoKTtcbiAgICAgICAgICB0aGlzLm1hcmtBc1ByaXN0aW5lKCk7XG4gICAgICAgICAgdGhpcy5zdG9wTGlzdGVuQ2hhbmdlcygpO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMubWFya0FzTG9hZGVkKCk7XG4gICAgICB9KTtcbiAgfVxuXG4gIG9uTG9nb3V0KCkge1xuICAgIHRoaXMuaXNMb2dpbiA9IGZhbHNlO1xuICAgIHRoaXMuZW1haWwuY29uZmlybWVkID0gZmFsc2U7XG4gICAgdGhpcy5lbWFpbC5ub3RDb25maXJtZWQgPSBmYWxzZTtcbiAgICB0aGlzLmVtYWlsLnNlbmRpbmcgPSBmYWxzZTtcbiAgICB0aGlzLmVtYWlsLmVycm9yID0gdW5kZWZpbmVkO1xuICAgIHRoaXMuZm9ybS5yZXNldCgpO1xuICAgIHRoaXMuZGlzYWJsZSgpO1xuXG4gICAgdGhpcy5uZXR3b3JrU3Vic2NyaXB0aW9uPy51bnN1YnNjcmliZSgpO1xuXG4gICAgdGhpcy5zdG9wTGlzdGVuQ2hhbmdlcygpO1xuXG4gICAgLy8gQmFjayB0byBob21lXG4gICAgdGhpcy5yb3V0ZXIubmF2aWdhdGVCeVVybCgnLycpO1xuXG4gIH1cblxuICBhc3luYyByZWZyZXNoKGV2ZW50PzogVUlFdmVudCkge1xuXG4gICAgdGhpcy5kaXNhYmxlKCk7XG4gICAgdGhpcy5tYXJrQXNMb2FkaW5nKCk7XG5cbiAgICByZXR1cm4gdGhpcy5hY2NvdW50U2VydmljZS5yZWxvYWQoKTtcbiAgfVxuXG4gIHN0YXJ0TGlzdGVuQ2hhbmdlcygpIHtcbiAgICBpZiAodGhpcy5jaGFuZ2VzU3Vic2NyaXB0aW9uKSByZXR1cm47IC8vIGFscmVhZHkgc3RhcnRlZFxuICAgIHRoaXMuY2hhbmdlc1N1YnNjcmlwdGlvbiA9IHRoaXMuYWNjb3VudFNlcnZpY2UubGlzdGVuQ2hhbmdlcygpO1xuICB9XG5cbiAgc3RvcExpc3RlbkNoYW5nZXMoKSB7XG4gICAgaWYgKCF0aGlzLmNoYW5nZXNTdWJzY3JpcHRpb24pIHJldHVybjtcbiAgICB0aGlzLmNoYW5nZXNTdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcbiAgICB0aGlzLmNoYW5nZXNTdWJzY3JpcHRpb24gPSB1bmRlZmluZWQ7XG4gIH1cblxuICBhc3luYyBzZW5kQ29uZmlybWF0aW9uRW1haWwoZXZlbnQ6IE1vdXNlRXZlbnQpIHtcbiAgICBjb25zdCBqc29uID0gdGhpcy5mb3JtLnZhbHVlO1xuICAgIGpzb24uZW1haWwgPSB0aGlzLmZvcm0uY29udHJvbHNbJ2VtYWlsJ10udmFsdWU7XG4gICAgaWYgKCFqc29uLmVtYWlsIHx8ICF0aGlzLmVtYWlsLm5vdENvbmZpcm1lZCkge1xuICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG5cbiAgICB0aGlzLmVtYWlsLnNlbmRpbmcgPSB0cnVlO1xuICAgIGNvbnNvbGUuZGVidWcoJ1thY2NvdW50XSBTZW5kaW5nIGNvbmZpcm1hdGlvbiBlbWFpbC4uLicpO1xuICAgIHRyeSB7XG4gICAgICBhd2FpdCB0aGlzLmFjY291bnRTZXJ2aWNlLnNlbmRDb25maXJtYXRpb25FbWFpbChcbiAgICAgICAganNvbi5lbWFpbCxcbiAgICAgICAganNvbi5zZXR0aW5ncyAmJiBqc29uLnNldHRpbmdzLmxvY2FsZSB8fCB0aGlzLnRyYW5zbGF0ZS5jdXJyZW50TGFuZ1xuICAgICAgKTtcbiAgICAgIGNvbnNvbGUuZGVidWcoJ1thY2NvdW50XSBDb25maXJtYXRpb24gZW1haWwgc2VudC4nKTtcbiAgICAgIHRoaXMuZW1haWwuc2VuZGluZyA9IGZhbHNlO1xuICAgIH1cbiAgICBjYXRjaCAoZXJyKSB7XG4gICAgICB0aGlzLmVtYWlsLnNlbmRpbmcgPSBmYWxzZTtcbiAgICAgIHRoaXMuZW1haWwuZXJyb3IgPSBlcnIgJiYgZXJyLm1lc3NhZ2UgfHwgZXJyO1xuICAgIH1cbiAgfVxuXG4gIGFzeW5jIHNhdmUoZXZlbnQ6IE1vdXNlRXZlbnQpOiBQcm9taXNlPGJvb2xlYW4+IHtcbiAgICBpZiAodGhpcy5zYXZpbmcpIHJldHVybiBmYWxzZTtcblxuICAgIGlmICghdGhpcy5mb3JtLnZhbGlkKSB7XG4gICAgICBhd2FpdCBBcHBGb3JtVXRpbHMud2FpdFdoaWxlUGVuZGluZyh0aGlzLmZvcm0pO1xuXG4gICAgICBpZiAodGhpcy5mb3JtLmludmFsaWQpIHtcbiAgICAgICAgQXBwRm9ybVV0aWxzLmxvZ0Zvcm1FcnJvcnModGhpcy5mb3JtKTtcbiAgICAgICAgdGhpcy5mb3JtLm1hcmtBbGxBc1RvdWNoZWQoKTtcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgfVxuICAgIH1cblxuICAgIHRoaXMuc3VibWl0dGVkID0gdHJ1ZTtcbiAgICB0aGlzLnNhdmluZyA9IHRydWU7XG4gICAgdGhpcy5lcnJvciA9IHVuZGVmaW5lZDtcblxuICAgIGNvbnN0IG5ld0FjY291bnQgPSBBY2NvdW50LmZyb21PYmplY3Qoe1xuICAgICAgLi4uKHRoaXMuYWNjb3VudFNlcnZpY2UuYWNjb3VudC5hc09iamVjdCgpKSxcbiAgICAgIC4uLih0aGlzLmZvcm0udmFsdWUpXG4gICAgfSk7XG5cbiAgICBjb25zb2xlLmRlYnVnKCdbYWNjb3VudF0gU2F2aW5nIGFjY291bnQuLi4nLCBuZXdBY2NvdW50KTtcbiAgICB0cnkge1xuICAgICAgdGhpcy5kaXNhYmxlKCk7XG5cbiAgICAgIGF3YWl0IHRoaXMuYWNjb3VudFNlcnZpY2Uuc2F2ZShuZXdBY2NvdW50KTtcblxuICAgICAgdGhpcy5tYXJrQXNQcmlzdGluZSgpO1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuICAgIGNhdGNoIChlcnIpIHtcbiAgICAgIGNvbnNvbGUuZXJyb3IoZXJyKTtcbiAgICAgIHRoaXMuZXJyb3IgPSBlcnIgJiYgZXJyLm1lc3NhZ2UgfHwgZXJyO1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgICBmaW5hbGx5IHtcbiAgICAgIHRoaXMuc2F2aW5nID0gZmFsc2U7XG4gICAgICB0aGlzLmVuYWJsZSgpO1xuICAgIH1cbiAgfVxuXG4gIGVuYWJsZSgpIHtcbiAgICBzdXBlci5lbmFibGUoKTtcblxuICAgIC8vIFNvbWUgZmllbGRzIGFyZSBhbHdheXMgZGlzYWJsZVxuICAgIHRoaXMuZm9ybS5jb250cm9scy5lbWFpbC5kaXNhYmxlKCk7XG4gICAgdGhpcy5mb3JtLmNvbnRyb2xzLm1haW5Qcm9maWxlLmRpc2FibGUoKTtcbiAgICB0aGlzLmZvcm0uY29udHJvbHMucHVia2V5LmRpc2FibGUoKTtcblxuICAgIC8vIEFsd2F5cyBkaXNhYmxlIHNvbWUgYWRkaXRpb25hbCBmaWVsZHNcbiAgICB0aGlzLmFkZGl0aW9uYWxGaWVsZHNcbiAgICAgIC5maWx0ZXIoZmllbGQgPT4gZmllbGQuZXh0cmEgJiYgZmllbGQuZXh0cmEuYWNjb3VudCAmJiBmaWVsZC5leHRyYS5hY2NvdW50LmRpc2FibGVkIHx8IGZhbHNlKVxuICAgICAgLmZvckVhY2goZmllbGQgPT4ge1xuICAgICAgICB0aGlzLmZvcm0uY29udHJvbHNbZmllbGQua2V5XS5kaXNhYmxlKCk7XG4gICAgICB9KTtcbiAgICB0aGlzLm1hcmtGb3JDaGVjaygpO1xuICB9XG5cbiAgYXN5bmMgY2FuY2VsKCkge1xuICAgIHN1cGVyLmNhbmNlbCgpO1xuICB9XG5cbiAgcHJvdGVjdGVkIG1hcmtGb3JDaGVjaygpIHtcbiAgICB0aGlzLmNkLm1hcmtGb3JDaGVjaygpO1xuICB9XG5cbn1cbiJdfQ==
228
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWNjb3VudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvY29yZS9hY2NvdW50L2FjY291bnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBQyx1QkFBdUIsRUFBRSxpQkFBaUIsRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLFFBQVEsRUFBWSxNQUFNLGVBQWUsQ0FBQztBQUVqSCxPQUFPLEVBQUMsY0FBYyxFQUFDLE1BQU0sNkJBQTZCLENBQUM7QUFDM0QsT0FBTyxFQUFDLE9BQU8sRUFBQyxNQUFNLGlDQUFpQyxDQUFDO0FBQ3hELE9BQU8sRUFBQyw0QkFBNEIsRUFBQyxNQUFNLCtDQUErQyxDQUFDO0FBQzNGLE9BQU8sRUFBQyxXQUFXLEVBQVksTUFBTSxnQkFBZ0IsQ0FBQztBQUN0RCxPQUFPLEVBQUMsdUJBQXVCLEVBQUMsTUFBTSx5Q0FBeUMsQ0FBQztBQUNoRixPQUFPLEVBQUMsT0FBTyxFQUFDLE1BQU0sb0JBQW9CLENBQUM7QUFDM0MsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLG9CQUFvQixDQUFDO0FBQ2hELE9BQU8sRUFBQyxnQkFBZ0IsRUFBQyxNQUFNLHFCQUFxQixDQUFDO0FBRXJELE9BQU8sRUFBQyxvQkFBb0IsRUFBQyxNQUFNLG9DQUFvQyxDQUFDO0FBQ3hFLE9BQU8sRUFBQyxpQkFBaUIsRUFBQyxNQUFNLDZDQUE2QyxDQUFDO0FBQzlFLE9BQU8sRUFBQyxTQUFTLEVBQUMsTUFBTSw4QkFBOEIsQ0FBQztBQUN2RCxPQUFPLEVBQUMsV0FBVyxFQUFlLE1BQU0sa0NBQWtDLENBQUM7QUFDM0UsT0FBTyxFQUFDLE1BQU0sRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBRXZDLE9BQU8sRUFBQyxjQUFjLEVBQUMsTUFBTSw2QkFBNkIsQ0FBQztBQUMzRCxPQUFPLEVBQUMsR0FBRyxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFRbkMsTUFBTSxPQUFPLFdBQVksU0FB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QWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNOzthQUNoRDs7O1lBekJzRSxRQUFRO1lBS3ZFLFdBQVc7WUFIWCxjQUFjO1lBZWQsY0FBYztZQUZkLE1BQU07WUFUTix1QkFBdUI7WUFGdkIsNEJBQTRCO1lBSzVCLGdCQUFnQjtZQUVoQixvQkFBb0I7WUFYSyxpQkFBaUI7NENBeUQ3QyxNQUFNLFNBQUMsV0FBVyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENoYW5nZURldGVjdG9yUmVmLCBDb21wb25lbnQsIEluamVjdCwgSW5qZWN0b3IsIE9uRGVzdHJveX0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1N1YnNjcmlwdGlvbn0gZnJvbSAncnhqcyc7XG5pbXBvcnQge0FjY291bnRTZXJ2aWNlfSBmcm9tICcuLi9zZXJ2aWNlcy9hY2NvdW50LnNlcnZpY2UnO1xuaW1wb3J0IHtBY2NvdW50fSBmcm9tICcuLi9zZXJ2aWNlcy9tb2RlbC9hY2NvdW50Lm1vZGVsJztcbmltcG9ydCB7VXNlclNldHRpbmdzVmFsaWRhdG9yU2VydmljZX0gZnJvbSAnLi4vc2VydmljZXMvdmFsaWRhdG9yL3VzZXItc2V0dGluZ3MudmFsaWRhdG9yJztcbmltcG9ydCB7Rm9ybUJ1aWxkZXIsIEZvcm1Hcm91cH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHtBY2NvdW50VmFsaWRhdG9yU2VydmljZX0gZnJvbSAnLi4vc2VydmljZXMvdmFsaWRhdG9yL2FjY291bnQudmFsaWRhdG9yJztcbmltcG9ydCB7QXBwRm9ybX0gZnJvbSAnLi4vZm9ybS9mb3JtLmNsYXNzJztcbmltcG9ydCB7QXBwRm9ybVV0aWxzfSBmcm9tICcuLi9mb3JtL2Zvcm0udXRpbHMnO1xuaW1wb3J0IHtUcmFuc2xhdGVTZXJ2aWNlfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcbmltcG9ydCB7Rm9ybUZpZWxkRGVmaW5pdGlvbn0gZnJvbSAnLi4vLi4vc2hhcmVkL2Zvcm0vZmllbGQubW9kZWwnO1xuaW1wb3J0IHtMb2NhbFNldHRpbmdzU2VydmljZX0gZnJvbSAnLi4vc2VydmljZXMvbG9jYWwtc2V0dGluZ3Muc2VydmljZSc7XG5pbXBvcnQge0xBVF9MT05HX1BBVFRFUk5TfSBmcm9tICcuLi8uLi9zaGFyZWQvbWF0ZXJpYWwvbGF0bG9uZy9sYXRsb25nLnV0aWxzJztcbmltcG9ydCB7U3RhdHVzSWRzfSBmcm9tICcuLi9zZXJ2aWNlcy9tb2RlbC9tb2RlbC5lbnVtJztcbmltcG9ydCB7QVBQX0xPQ0FMRVMsIExvY2FsZUNvbmZpZ30gZnJvbSAnLi4vc2VydmljZXMvbW9kZWwvc2V0dGluZ3MubW9kZWwnO1xuaW1wb3J0IHtSb3V0ZXJ9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQge0NhbkxlYXZlfSBmcm9tICcuLi8uLi9zaGFyZWQvZ3VhcmQvY29tcG9uZW50LWRpcnR5Lmd1YXJkJztcbmltcG9ydCB7TmV0d29ya1NlcnZpY2V9IGZyb20gJy4uL3NlcnZpY2VzL25ldHdvcmsuc2VydmljZSc7XG5pbXBvcnQge21hcH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhcHAtcGFnZS1hY2NvdW50JyxcbiAgdGVtcGxhdGVVcmw6ICdhY2NvdW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9hY2NvdW50LnNjc3MnXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcbn0pXG5leHBvcnQgY2xhc3MgQWNjb3VudFBhZ2UgZXh0ZW5kcyBBcHBGb3JtPEFjY291bnQ+IGltcGxlbWVudHMgT25EZXN0cm95LCBDYW5MZWF2ZSB7XG5cbiAgaXNMb2dpbjogYm9vbGVhbjtcbiAgY2hhbmdlc1N1YnNjcmlwdGlvbjogU3Vic2NyaXB0aW9uO1xuICBuZXR3b3JrU3Vic2NyaXB0aW9uOiBTdWJzY3JpcHRpb247XG4gIGFjY291bnQ6IEFjY291bnQ7XG4gIGVtYWlsOiBhbnkgPSB7XG4gICAgY29uZmlybWVkOiBmYWxzZSxcbiAgICBub3RDb25maXJtZWQ6IGZhbHNlLFxuICAgIHNlbmRpbmc6IGZhbHNlLFxuICAgIGVycm9yOiB1bmRlZmluZWRcbiAgfTtcbiAgYWRkaXRpb25hbEZpZWxkczogRm9ybUZpZWxkRGVmaW5pdGlvbltdO1xuICBzZXR0aW5nc0Zvcm06IEZvcm1Hcm91cDtcbiAgc2V0dGluZ3NDb250ZW50Rm9ybTogRm9ybUdyb3VwO1xuICBsb2NhbGVzOiBMb2NhbGVDb25maWdbXTtcbiAgbGF0TG9uZ0Zvcm1hdHMgPSBMQVRfTE9OR19QQVRURVJOUztcbiAgc2F2aW5nID0gZmFsc2U7XG4gIHN1Ym1pdHRlZCA9IGZhbHNlO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIGluamVjdG9yOiBJbmplY3RvcixcbiAgICBwdWJsaWMgZm9ybUJ1aWxkZXI6IEZvcm1CdWlsZGVyLFxuICAgIHB1YmxpYyBhY2NvdW50U2VydmljZTogQWNjb3VudFNlcnZpY2UsXG4gICAgcHVibGljIG5ldHdvcms6IE5ldHdvcmtTZXJ2aWNlLFxuICAgIHByb3RlY3RlZCByb3V0ZXI6IFJvdXRlcixcbiAgICBwcm90ZWN0ZWQgdmFsaWRhdG9yU2VydmljZTogQWNjb3VudFZhbGlkYXRvclNlcnZpY2UsXG4gICAgcHJvdGVjdGVkIHNldHRpbmdzVmFsaWRhdG9yU2VydmljZTogVXNlclNldHRpbmdzVmFsaWRhdG9yU2VydmljZSxcbiAgICBwcm90ZWN0ZWQgdHJhbnNsYXRlOiBUcmFuc2xhdGVTZXJ2aWNlLFxuICAgIHByb3RlY3RlZCBzZXR0aW5nczogTG9jYWxTZXR0aW5nc1NlcnZpY2UsXG4gICAgcHJvdGVjdGVkIGNkOiBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICBASW5qZWN0KEFQUF9MT0NBTEVTKSBsb2NhbGVzXG4gICkge1xuICAgIHN1cGVyKGluamVjdG9yLCB2YWxpZGF0b3JTZXJ2aWNlLmdldEZvcm1Hcm91cChhY2NvdW50U2VydmljZS5hY2NvdW50KSk7XG5cbiAgICB0aGlzLmxvY2FsZXMgPSBsb2NhbGVzO1xuXG4gICAgLy8gQWRkIHNldHRpbmdzIGZvIGZvcm1cbiAgICB0aGlzLnNldHRpbmdzRm9ybSA9IHNldHRpbmdzVmFsaWRhdG9yU2VydmljZS5nZXRGb3JtR3JvdXAoYWNjb3VudFNlcnZpY2UuYWNjb3VudCAmJiBhY2NvdW50U2VydmljZS5hY2NvdW50LnNldHRpbmdzKTtcbiAgICB0aGlzLnNldHRpbmdzQ29udGVudEZvcm0gPSAodGhpcy5zZXR0aW5nc0Zvcm0uY29udHJvbHNbJ2NvbnRlbnQnXSBhcyBGb3JtR3JvdXApO1xuICAgIHRoaXMuZm9ybS5hZGRDb250cm9sKCdzZXR0aW5ncycsIHRoaXMuc2V0dGluZ3NGb3JtKTtcblxuICAgIC8vIEJ5IGRlZmF1bHQsIGRpc2FibGUgdGhlIGZvcm1cbiAgICB0aGlzLmRpc2FibGUoKTtcblxuICAgIC8vIE9ic2VydmVkIHNvbWUgZXZlbnRzXG4gICAgdGhpcy5yZWdpc3RlclN1YnNjcmlwdGlvbih0aGlzLmFjY291bnRTZXJ2aWNlLm9uTG9naW4uc3Vic2NyaWJlKGFjY291bnQgPT4gdGhpcy5vbkxvZ2luKGFjY291bnQpKSk7XG4gICAgdGhpcy5yZWdpc3RlclN1YnNjcmlwdGlvbih0aGlzLmFjY291bnRTZXJ2aWNlLm9uTG9nb3V0LnN1YnNjcmliZSgoKSA9PiB0aGlzLm9uTG9nb3V0KCkpKTtcbiAgICB0aGlzLnJlZ2lzdGVyU3Vic2NyaXB0aW9uKHRoaXMub25DYW5jZWwuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgIHRoaXMuc2V0VmFsdWUodGhpcy5hY2NvdW50U2VydmljZS5hY2NvdW50KTtcbiAgICAgIHRoaXMubWFya0FzUHJpc3RpbmUoKTtcbiAgICB9KSk7XG5cbiAgICB0aGlzLnJlZ2lzdGVyU3Vic2NyaXB0aW9uKHRoaXMuYWNjb3VudFNlcnZpY2UuJGFkZGl0aW9uYWxGaWVsZHNcbiAgICAgIC5zdWJzY3JpYmUoKGFkZGl0aW9uYWxGaWVsZHMpID0+IHtcbiAgICAgICAgdGhpcy5hZGRpdGlvbmFsRmllbGRzID0gYWRkaXRpb25hbEZpZWxkcy5zbGljZSgpOyAvLyBDb3B5XG4gICAgICAgIGlmIChhY2NvdW50U2VydmljZS5pc0xvZ2luKCkpIHtcbiAgICAgICAgICB0aGlzLm9uTG9naW4odGhpcy5hY2NvdW50U2VydmljZS5hY2NvdW50KTtcbiAgICAgICAgfVxuICAgICAgICBlbHNlIHtcbiAgICAgICAgICB0aGlzLm1hcmtBc0xvYWRlZCgpO1xuICAgICAgICB9XG4gICAgICB9KSk7XG4gIH1cblxuICBuZ09uRGVzdHJveSgpIHtcbiAgICBzdXBlci5uZ09uRGVzdHJveSgpO1xuICAgIHRoaXMuc3RvcExpc3RlbkNoYW5nZXMoKTtcbiAgICB0aGlzLm5ldHdvcmtTdWJzY3JpcHRpb24/LnVuc3Vic2NyaWJlKCk7XG4gIH1cblxuICBvbkxvZ2luKGFjY291bnQ6IEFjY291bnQpIHtcbiAgICBjb25zb2xlLmRlYnVnKCdbYWNjb3VudF0gTG9nZ2VkIGFjY291bnQ6ICcsIGFjY291bnQpO1xuICAgIHRoaXMuaXNMb2dpbiA9IHRydWU7XG5cbiAgICB0aGlzLnNldFZhbHVlKGFjY291bnQpO1xuXG4gICAgdGhpcy5lbWFpbC5jb25maXJtZWQgPSBhY2NvdW50ICYmIGFjY291bnQuZW1haWwgJiYgKGFjY291bnQuc3RhdHVzSWQgIT09IFN0YXR1c0lkcy5URU1QT1JBUlkpO1xuICAgIHRoaXMuZW1haWwubm90Q29uZmlybWVkID0gYWNjb3VudCAmJiBhY2NvdW50LmVtYWlsICYmICghYWNjb3VudC5zdGF0dXNJZCB8fCBhY2NvdW50LnN0YXR1c0lkID09PSBTdGF0dXNJZHMuVEVNUE9SQVJZKTtcblxuICAgIHRoaXMubmV0d29ya1N1YnNjcmlwdGlvbj8udW5zdWJzY3JpYmUoKTtcbiAgICB0aGlzLm5ldHdvcmtTdWJzY3JpcHRpb24gPSB0aGlzLm5ldHdvcmsub25OZXR3b3JrU3RhdHVzQ2hhbmdlc1xuICAgICAgLnBpcGUoXG4gICAgICAgIG1hcChjb25uZWN0aW9uVHlwZSA9PiBjb25uZWN0aW9uVHlwZSAhPT0gJ25vbmUnKSxcbiAgICAgIClcbiAgICAgIC5zdWJzY3JpYmUob25saW5lID0+IHtcbiAgICAgICAgaWYgKG9ubGluZSkge1xuICAgICAgICAgIHRoaXMuZW5hYmxlKCk7XG4gICAgICAgICAgdGhpcy5tYXJrQXNQcmlzdGluZSgpO1xuICAgICAgICAgIHRoaXMuc3RhcnRMaXN0ZW5DaGFuZ2VzKCk7XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSB7XG4gICAgICAgICAgdGhpcy5kaXNhYmxlKCk7XG4gICAgICAgICAgdGhpcy5tYXJrQXNQcmlzdGluZSgpO1xuICAgICAgICAgIHRoaXMuc3RvcExpc3RlbkNoYW5nZXMoKTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLm1hcmtBc0xvYWRlZCgpO1xuICAgICAgfSk7XG4gIH1cblxuICBvbkxvZ291dCgpIHtcbiAgICB0aGlzLmlzTG9naW4gPSBmYWxzZTtcbiAgICB0aGlzLmVtYWlsLmNvbmZpcm1lZCA9IGZhbHNlO1xuICAgIHRoaXMuZW1haWwubm90Q29uZmlybWVkID0gZmFsc2U7XG4gICAgdGhpcy5lbWFpbC5zZW5kaW5nID0gZmFsc2U7XG4gICAgdGhpcy5lbWFpbC5lcnJvciA9IHVuZGVmaW5lZDtcbiAgICB0aGlzLmZvcm0ucmVzZXQoKTtcbiAgICB0aGlzLmRpc2FibGUoKTtcblxuICAgIHRoaXMubmV0d29ya1N1YnNjcmlwdGlvbj8udW5zdWJzY3JpYmUoKTtcblxuICAgIHRoaXMuc3RvcExpc3RlbkNoYW5nZXMoKTtcblxuICAgIC8vIEJhY2sgdG8gaG9tZVxuICAgIHRoaXMucm91dGVyLm5hdmlnYXRlQnlVcmwoJy8nKTtcblxuICB9XG5cbiAgYXN5bmMgcmVmcmVzaChldmVudD86IFVJRXZlbnQpIHtcblxuICAgIHRoaXMuZGlzYWJsZSgpO1xuICAgIHRoaXMubWFya0FzTG9hZGluZygpO1xuXG4gICAgcmV0dXJuIHRoaXMuYWNjb3VudFNlcnZpY2UucmVsb2FkKCk7XG4gIH1cblxuICBzdGFydExpc3RlbkNoYW5nZXMoKSB7XG4gICAgaWYgKHRoaXMuY2hhbmdlc1N1YnNjcmlwdGlvbikgcmV0dXJuOyAvLyBhbHJlYWR5IHN0YXJ0ZWRcbiAgICB0aGlzLmNoYW5nZXNTdWJzY3JpcHRpb24gPSB0aGlzLmFjY291bnRTZXJ2aWNlLmxpc3RlbkNoYW5nZXMoKTtcbiAgfVxuXG4gIHN0b3BMaXN0ZW5DaGFuZ2VzKCkge1xuICAgIGlmICghdGhpcy5jaGFuZ2VzU3Vic2NyaXB0aW9uKSByZXR1cm47XG4gICAgdGhpcy5jaGFuZ2VzU3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XG4gICAgdGhpcy5jaGFuZ2VzU3Vic2NyaXB0aW9uID0gdW5kZWZpbmVkO1xuICB9XG5cbiAgYXN5bmMgc2VuZENvbmZpcm1hdGlvbkVtYWlsKGV2ZW50OiBNb3VzZUV2ZW50KSB7XG4gICAgY29uc3QganNvbiA9IHRoaXMuZm9ybS52YWx1ZTtcbiAgICBqc29uLmVtYWlsID0gdGhpcy5mb3JtLmNvbnRyb2xzWydlbWFpbCddLnZhbHVlO1xuICAgIGlmICghanNvbi5lbWFpbCB8fCAhdGhpcy5lbWFpbC5ub3RDb25maXJtZWQpIHtcbiAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuXG4gICAgdGhpcy5lbWFpbC5zZW5kaW5nID0gdHJ1ZTtcbiAgICBjb25zb2xlLmRlYnVnKCdbYWNjb3VudF0gU2VuZGluZyBjb25maXJtYXRpb24gZW1haWwuLi4nKTtcbiAgICB0cnkge1xuICAgICAgYXdhaXQgdGhpcy5hY2NvdW50U2VydmljZS5zZW5kQ29uZmlybWF0aW9uRW1haWwoXG4gICAgICAgIGpzb24uZW1haWwsXG4gICAgICAgIGpzb24uc2V0dGluZ3MgJiYganNvbi5zZXR0aW5ncy5sb2NhbGUgfHwgdGhpcy50cmFuc2xhdGUuY3VycmVudExhbmdcbiAgICAgICk7XG4gICAgICBjb25zb2xlLmRlYnVnKCdbYWNjb3VudF0gQ29uZmlybWF0aW9uIGVtYWlsIHNlbnQuJyk7XG4gICAgICB0aGlzLmVtYWlsLnNlbmRpbmcgPSBmYWxzZTtcbiAgICB9XG4gICAgY2F0Y2ggKGVycikge1xuICAgICAgdGhpcy5lbWFpbC5zZW5kaW5nID0gZmFsc2U7XG4gICAgICB0aGlzLmVtYWlsLmVycm9yID0gZXJyICYmIGVyci5tZXNzYWdlIHx8IGVycjtcbiAgICB9XG4gIH1cblxuICBhc3luYyBzYXZlKGV2ZW50OiBNb3VzZUV2ZW50KTogUHJvbWlzZTxib29sZWFuPiB7XG4gICAgaWYgKHRoaXMuc2F2aW5nKSByZXR1cm4gZmFsc2U7XG5cbiAgICBpZiAoIXRoaXMuZm9ybS52YWxpZCkge1xuICAgICAgYXdhaXQgQXBwRm9ybVV0aWxzLndhaXRXaGlsZVBlbmRpbmcodGhpcy5mb3JtKTtcblxuICAgICAgaWYgKHRoaXMuZm9ybS5pbnZhbGlkKSB7XG4gICAgICAgIEFwcEZvcm1VdGlscy5sb2dGb3JtRXJyb3JzKHRoaXMuZm9ybSk7XG4gICAgICAgIHRoaXMuZm9ybS5tYXJrQWxsQXNUb3VjaGVkKCk7XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICB0aGlzLnN1Ym1pdHRlZCA9IHRydWU7XG4gICAgdGhpcy5zYXZpbmcgPSB0cnVlO1xuICAgIHRoaXMuZXJyb3IgPSB1bmRlZmluZWQ7XG5cbiAgICBjb25zdCBuZXdBY2NvdW50ID0gQWNjb3VudC5mcm9tT2JqZWN0KHtcbiAgICAgIC4uLih0aGlzLmFjY291bnRTZXJ2aWNlLmFjY291bnQuYXNPYmplY3QoKSksXG4gICAgICAuLi4odGhpcy5mb3JtLnZhbHVlKVxuICAgIH0pO1xuXG4gICAgY29uc29sZS5kZWJ1ZygnW2FjY291bnRdIFNhdmluZyBhY2NvdW50Li4uJywgbmV3QWNjb3VudCk7XG4gICAgdHJ5IHtcbiAgICAgIHRoaXMuZGlzYWJsZSgpO1xuXG4gICAgICBhd2FpdCB0aGlzLmFjY291bnRTZXJ2aWNlLnNhdmUobmV3QWNjb3VudCk7XG5cbiAgICAgIHRoaXMubWFya0FzUHJpc3RpbmUoKTtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cbiAgICBjYXRjaCAoZXJyKSB7XG4gICAgICBjb25zb2xlLmVycm9yKGVycik7XG4gICAgICB0aGlzLmVycm9yID0gZXJyICYmIGVyci5tZXNzYWdlIHx8IGVycjtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gICAgZmluYWxseSB7XG4gICAgICB0aGlzLnNhdmluZyA9IGZhbHNlO1xuICAgICAgdGhpcy5lbmFibGUoKTtcbiAgICB9XG4gIH1cblxuICBlbmFibGUoKSB7XG4gICAgc3VwZXIuZW5hYmxlKCk7XG5cbiAgICAvLyBTb21lIGZpZWxkcyBhcmUgYWx3YXlzIGRpc2FibGVcbiAgICB0aGlzLmZvcm0uY29udHJvbHMuZW1haWwuZGlzYWJsZSgpO1xuICAgIHRoaXMuZm9ybS5jb250cm9scy5tYWluUHJvZmlsZS5kaXNhYmxlKCk7XG4gICAgdGhpcy5mb3JtLmNvbnRyb2xzLnB1YmtleS5kaXNhYmxlKCk7XG5cbiAgICAvLyBBbHdheXMgZGlzYWJsZSBzb21lIGFkZGl0aW9uYWwgZmllbGRzXG4gICAgdGhpcy5hZGRpdGlvbmFsRmllbGRzXG4gICAgICAuZmlsdGVyKGZpZWxkID0+IGZpZWxkLmV4dHJhICYmIGZpZWxkLmV4dHJhLmFjY291bnQgJiYgZmllbGQuZXh0cmEuYWNjb3VudC5kaXNhYmxlZCB8fCBmYWxzZSlcbiAgICAgIC5mb3JFYWNoKGZpZWxkID0+IHtcbiAgICAgICAgdGhpcy5mb3JtLmNvbnRyb2xzW2ZpZWxkLmtleV0uZGlzYWJsZSgpO1xuICAgICAgfSk7XG4gICAgdGhpcy5tYXJrRm9yQ2hlY2soKTtcbiAgfVxuXG4gIGFzeW5jIGNhbmNlbCgpIHtcbiAgICBzdXBlci5jYW5jZWwoKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBtYXJrRm9yQ2hlY2soKSB7XG4gICAgdGhpcy5jZC5tYXJrRm9yQ2hlY2soKTtcbiAgfVxuXG59XG4iXX0=