master-control 0.3.17 → 0.3.19

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (44) hide show
  1. package/esm2022/lib/age-date/age-date.component.mjs +6 -3
  2. package/esm2022/lib/autocomplete/autocomplete.component.mjs +7 -3
  3. package/esm2022/lib/discount-v2/discount-v2.component.mjs +3 -3
  4. package/esm2022/lib/dob/dob.component.mjs +5 -1
  5. package/esm2022/lib/email-with-domain/email-with-domain.component.mjs +18 -9
  6. package/esm2022/lib/master-control.component.mjs +2 -2
  7. package/esm2022/lib/master-control.service.mjs +14 -1
  8. package/esm2022/lib/medial-questions/medial-questions.component.mjs +2 -2
  9. package/esm2022/lib/mob-number/mob-number.component.mjs +7 -3
  10. package/esm2022/lib/search-multi-select/search-multi-select.component.mjs +19 -13
  11. package/esm2022/lib/select/select.component.mjs +14 -5
  12. package/esm2022/lib/select-textbox/select-textbox.component.mjs +19 -11
  13. package/esm2022/lib/stepper-with-arrow/stepper-with-arrow.component.mjs +179 -9
  14. package/esm2022/lib/subscript-textbox/subscript-textbox.component.mjs +18 -9
  15. package/esm2022/lib/suffix-textbox/suffix-textbox.component.mjs +19 -10
  16. package/esm2022/lib/textarea/textarea.component.mjs +7 -3
  17. package/esm2022/lib/textbox/textbox.component.mjs +7 -3
  18. package/esm2022/lib/textbox-with-image/textbox-with-image.component.mjs +18 -9
  19. package/esm2022/lib/textbox-with-text/textbox-with-text.component.mjs +18 -9
  20. package/esm2022/lib/textbox-with-underscore/textbox-with-underscore.component.mjs +18 -9
  21. package/esm2022/lib/underscore-mob-number/underscore-mob-number.component.mjs +18 -9
  22. package/fesm2022/master-control.mjs +418 -135
  23. package/fesm2022/master-control.mjs.map +1 -1
  24. package/lib/age-date/age-date.component.d.ts +1 -0
  25. package/lib/autocomplete/autocomplete.component.d.ts +1 -0
  26. package/lib/dob/dob.component.d.ts +1 -0
  27. package/lib/email-with-domain/email-with-domain.component.d.ts +4 -0
  28. package/lib/master-control.service.d.ts +1 -0
  29. package/lib/mob-number/mob-number.component.d.ts +1 -0
  30. package/lib/search-multi-select/search-multi-select.component.d.ts +4 -0
  31. package/lib/select/select.component.d.ts +4 -1
  32. package/lib/select-textbox/select-textbox.component.d.ts +4 -0
  33. package/lib/stepper-with-arrow/stepper-with-arrow.component.d.ts +18 -2
  34. package/lib/subscript-textbox/subscript-textbox.component.d.ts +4 -0
  35. package/lib/suffix-textbox/suffix-textbox.component.d.ts +4 -0
  36. package/lib/textarea/textarea.component.d.ts +1 -0
  37. package/lib/textbox/textbox.component.d.ts +1 -0
  38. package/lib/textbox-with-image/textbox-with-image.component.d.ts +4 -0
  39. package/lib/textbox-with-text/textbox-with-text.component.d.ts +4 -0
  40. package/lib/textbox-with-underscore/textbox-with-underscore.component.d.ts +4 -0
  41. package/lib/underscore-mob-number/underscore-mob-number.component.d.ts +4 -0
  42. package/master-control-0.3.19.tgz +0 -0
  43. package/package.json +2 -2
  44. package/master-control-0.3.17.tgz +0 -0
@@ -264,6 +264,19 @@ export class MasterControlService {
264
264
  return value;
265
265
  }
266
266
  }
267
+ onInputChangeRegexValidation(field, value) {
268
+ field.configData['isInvalidPattern'] = true;
269
+ let patternsArray = [];
270
+ patternsArray = field?.validators?.pattern ? field?.validators?.pattern : [].concat(field?.configData?.patterns ? field?.configData?.patterns : []).filter((singlePattern) => !this.checkIfValueIsEmpty(singlePattern));
271
+ if (!this.checkIfValueIsEmpty(patternsArray) && !this.checkIfValueIsEmpty(value)) {
272
+ patternsArray.forEach((singlePattern) => {
273
+ let regex = new RegExp(singlePattern);
274
+ if (regex.test(value)) {
275
+ field.configData['isInvalidPattern'] = false;
276
+ }
277
+ });
278
+ }
279
+ }
267
280
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: MasterControlService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
268
281
  static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: MasterControlService, providedIn: 'root' });
269
282
  }
@@ -273,4 +286,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
273
286
  providedIn: 'root'
274
287
  }]
275
288
  }], ctorParameters: () => [] });
276
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFzdGVyLWNvbnRyb2wuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL21hc3Rlci1jb250cm9sL3NyYy9saWIvbWFzdGVyLWNvbnRyb2wuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQUszQyxNQUFNLE9BQU8sb0JBQW9CO0lBRS9CLFVBQVUsR0FBUTtRQUNoQixRQUFRLEVBQUU7WUFDUixjQUFjLEVBQUUsR0FBRztTQUNwQjtRQUNELFFBQVEsRUFBRTtZQUNSLFVBQVUsRUFBRSxFQUFFO1lBQ2QsY0FBYyxFQUFFLEVBQUU7WUFDbEIsTUFBTSxFQUFFLEVBQUU7WUFDVixVQUFVLEVBQUU7Z0JBQ1YsT0FBTyxFQUFFLEVBQUU7Z0JBQ1gsUUFBUSxFQUFFLEVBQUU7Z0JBQ1osY0FBYyxFQUFFLEVBQUU7Z0JBQ2xCLFdBQVcsRUFBRSxFQUFFO2FBQ2hCO1lBQ0QsU0FBUyxFQUFFO2dCQUNULE9BQU8sRUFBRSxNQUFNO2dCQUNmLFFBQVEsRUFBRSxNQUFNO2dCQUNoQixpQkFBaUIsRUFBRSxTQUFTO2dCQUM1QixjQUFjLEVBQUUsS0FBSztnQkFDckIsV0FBVyxFQUFFLGtDQUFrQztnQkFDL0MsWUFBWSxFQUFFLFFBQVE7YUFDdkI7WUFDRCxTQUFTLEVBQUU7Z0JBQ1QsVUFBVSxFQUFFLEVBQUU7Z0JBQ2QsT0FBTyxFQUFFLEVBQUU7Z0JBQ1gsV0FBVyxFQUFFLEVBQUU7Z0JBQ2YsWUFBWSxFQUFFLEVBQUU7YUFDakI7WUFDRCxXQUFXLEVBQUU7Z0JBQ1gsU0FBUyxFQUFFLE1BQU07Z0JBQ2pCLGdCQUFnQixFQUFFLFFBQVE7Z0JBQzFCLFlBQVksRUFBRSxRQUFRO2dCQUN0QixRQUFRLEVBQUUsTUFBTTtnQkFDaEIsS0FBSyxFQUFFLEtBQUs7Z0JBQ1osS0FBSyxFQUFFO29CQUNMLE9BQU8sRUFBRSxNQUFNO29CQUNmLFFBQVEsRUFBRSxNQUFNO29CQUNoQixZQUFZLEVBQUUsU0FBUztvQkFDdkIsY0FBYyxFQUFFLEtBQUs7b0JBQ3JCLFNBQVMsRUFBRSxjQUFjO29CQUN6QixXQUFXLEVBQUUsZ0NBQWdDO2lCQUM5QztnQkFDRCxNQUFNLEVBQUU7b0JBQ04sZ0JBQWdCLEVBQUUsTUFBTTtpQkFDekI7Z0JBQ0QsTUFBTSxFQUFFO29CQUNOLGdCQUFnQixFQUFFLE1BQU07aUJBQ3pCO2dCQUNELG1CQUFtQixFQUFFO29CQUNuQixJQUFJLEVBQUU7d0JBQ0osU0FBUyxFQUFFLEdBQUc7d0JBQ2QsV0FBVyxFQUFFLG1CQUFtQjtxQkFDakM7aUJBQ0Y7YUFDRjtTQUNGO1FBQ0QsT0FBTyxFQUFFO1lBQ1AsY0FBYyxFQUFFLElBQUk7WUFDcEIsY0FBYyxFQUFFLEVBQUU7WUFDbEIsUUFBUSxFQUFFLEVBQUU7WUFDWixhQUFhLEVBQUUsSUFBSTtZQUNuQixlQUFlLEVBQUU7Z0JBQ2Y7b0JBQ0UsYUFBYSxFQUFFLE1BQU07b0JBQ3JCLGNBQWMsRUFBRSxNQUFNO29CQUN0QixTQUFTLEVBQUUsTUFBTTtvQkFDakIsWUFBWSxFQUFFLEtBQUs7aUJBQ3BCO2dCQUNEO29CQUNFLGFBQWEsRUFBRSxNQUFNO29CQUNyQixjQUFjLEVBQUUsTUFBTTtvQkFDdEIsU0FBUyxFQUFFLGFBQWE7b0JBQ3hCLFlBQVksRUFBRSxLQUFLO2lCQUNwQjtnQkFDRDtvQkFDRSxhQUFhLEVBQUUsVUFBVTtvQkFDekIsY0FBYyxFQUFFLG9CQUFvQjtvQkFDcEMsU0FBUyxFQUFFLG1CQUFtQjtvQkFDOUIsWUFBWSxFQUFFLEtBQUs7aUJBQ3BCO2dCQUNEO29CQUNFLGFBQWEsRUFBRSxzQkFBc0I7b0JBQ3JDLGNBQWMsRUFBRSxlQUFlO29CQUMvQixTQUFTLEVBQUUsZUFBZTtvQkFDMUIsWUFBWSxFQUFFLEtBQUs7aUJBQ3BCO2dCQUNEO29CQUNFLGFBQWEsRUFBRSxNQUFNO29CQUNyQixjQUFjLEVBQUUsbUJBQW1CO29CQUNuQyxTQUFTLEVBQUUsY0FBYztvQkFDekIsWUFBWSxFQUFFLEtBQUs7aUJBQ3BCO2dCQUNEO29CQUNFLGFBQWEsRUFBRSxVQUFVO29CQUN6QixjQUFjLEVBQUUsMEJBQTBCO29CQUMxQyxTQUFTLEVBQUUsaUJBQWlCO29CQUM1QixZQUFZLEVBQUUsS0FBSztpQkFDcEIsRUFBRTtvQkFDRCxhQUFhLEVBQUUsWUFBWTtvQkFDM0IsY0FBYyxFQUFFLHNCQUFzQjtvQkFDdEMsU0FBUyxFQUFFLGFBQWE7b0JBQ3hCLFlBQVksRUFBRSxLQUFLO2lCQUNwQixFQUFFO29CQUNELGFBQWEsRUFBRSxZQUFZO29CQUMzQixjQUFjLEVBQUUsYUFBYTtvQkFDN0IsU0FBUyxFQUFFLGFBQWE7b0JBQ3hCLFlBQVksRUFBRSxLQUFLO2lCQUNwQjthQUVGO1lBQ0QscUJBQXFCLEVBQUUsRUFBRTtZQUN6QixnQkFBZ0IsRUFBRSxJQUFJO1lBQ3RCLFdBQVcsRUFBRSxDQUFDO1lBQ2QsY0FBYyxFQUFFLENBQUM7WUFDakIsWUFBWSxFQUFFLENBQUM7WUFDZixnQkFBZ0IsRUFBRSxFQUFFO1lBQ3BCLFVBQVUsRUFBRSxFQUFFO1lBQ2QsWUFBWSxFQUFFLENBQUM7U0FDaEI7UUFDRCxTQUFTLEVBQUU7WUFDVCxhQUFhLEVBQUU7Z0JBQ2I7b0JBQ0UsV0FBVyxFQUFFLENBQUM7b0JBQ2QsY0FBYyxFQUFFLFdBQVc7b0JBQzNCLFlBQVksRUFBRSxtRkFBbUY7aUJBQ2xHO2dCQUNEO29CQUNFLFdBQVcsRUFBRSxDQUFDO29CQUNkLGNBQWMsRUFBRSxXQUFXO29CQUMzQixZQUFZLEVBQUUsaUVBQWlFO2lCQUNoRjtnQkFDRDtvQkFDRSxXQUFXLEVBQUUsQ0FBQztvQkFDZCxjQUFjLEVBQUUsV0FBVztvQkFDM0IsWUFBWSxFQUFFLDZEQUE2RDtpQkFDNUU7YUFDRjtTQUNGO1FBQ0QsbUJBQW1CLEVBQUU7WUFDbkIsZUFBZSxFQUFDLENBQUM7b0JBQ2pCLGtCQUFrQixFQUFDLEtBQUs7b0JBQ3hCLFlBQVksRUFBQyxXQUFXO29CQUN4QixjQUFjLEVBQUMsYUFBYTtpQkFDM0I7YUFDQTtTQUNGO0tBQ0YsQ0FBQTtJQUVELFNBQVMsR0FBUTtRQUNmO1lBQ0UsTUFBTSxFQUFFLE9BQU87WUFDZixVQUFVLEVBQUUsd0RBQXdEO1lBQ3BFLFVBQVUsRUFBRSxhQUFhO1lBQ3pCLGFBQWEsRUFBRSxJQUFJO1lBQ25CLFVBQVUsRUFBRSxlQUFlO1lBQzNCLFlBQVksRUFBRSxhQUFhO1lBQzNCLG9CQUFvQixFQUFFLEVBQUU7WUFDeEIsa0JBQWtCLEVBQUUsRUFBRTtZQUN0QixVQUFVLEVBQUUsSUFBSTtZQUNoQixtQkFBbUIsRUFBRSw0RUFBNEU7WUFDakcsY0FBYyxFQUFFLE9BQU87WUFDdkIsV0FBVyxFQUFDLGVBQWU7WUFDM0IsYUFBYSxFQUFDLG9CQUFvQjtZQUNsQyxZQUFZLEVBQUMscUJBQXFCO1NBQ25DLEVBQUM7WUFDQSxNQUFNLEVBQUUsU0FBUztZQUNqQixVQUFVLEVBQUUsd0RBQXdEO1lBQ3BFLFVBQVUsRUFBRSxhQUFhO1lBQ3pCLGFBQWEsRUFBRSxJQUFJO1lBQ25CLFVBQVUsRUFBRSxlQUFlO1lBQzNCLFlBQVksRUFBRSxhQUFhO1lBQzNCLG9CQUFvQixFQUFFLEVBQUU7WUFDeEIsa0JBQWtCLEVBQUUsRUFBRTtZQUN0QixVQUFVLEVBQUUsSUFBSTtZQUNoQixtQkFBbUIsRUFBRSw0RUFBNEU7WUFDakcsY0FBYyxFQUFFLE9BQU87WUFDdkIsV0FBVyxFQUFDLGlCQUFpQjtZQUM3QixhQUFhLEVBQUMsc0JBQXNCO1lBQ3BDLFlBQVksRUFBQyx1QkFBdUI7U0FDckMsRUFBQztZQUNBLE1BQU0sRUFBRSxTQUFTO1lBQ2pCLFVBQVUsRUFBRSwwREFBMEQ7WUFDdEUsVUFBVSxFQUFFLGFBQWE7WUFDekIsYUFBYSxFQUFFLElBQUk7WUFDbkIsVUFBVSxFQUFFLGVBQWU7WUFDM0IsWUFBWSxFQUFFLGFBQWE7WUFDM0Isb0JBQW9CLEVBQUUsRUFBRTtZQUN4QixrQkFBa0IsRUFBRSxFQUFFO1lBQ3RCLFVBQVUsRUFBRSxJQUFJO1lBQ2hCLG1CQUFtQixFQUFFLDRFQUE0RTtZQUNqRyxjQUFjLEVBQUUsT0FBTztZQUN2QixXQUFXLEVBQUMsaUJBQWlCO1lBQzdCLGFBQWEsRUFBQyxzQkFBc0I7WUFDcEMsWUFBWSxFQUFDLHVCQUF1QjtTQUNyQyxFQUFDO1lBQ0EsTUFBTSxFQUFFLFNBQVM7WUFDakIsVUFBVSxFQUFFLCtEQUErRDtZQUMzRSxVQUFVLEVBQUUsZUFBZTtZQUMzQixhQUFhLEVBQUUsSUFBSTtZQUNuQixVQUFVLEVBQUUsdUJBQXVCO1lBQ25DLFlBQVksRUFBRSxxQkFBcUI7WUFDbkMsb0JBQW9CLEVBQUUsRUFBRTtZQUN4QixrQkFBa0IsRUFBRSxFQUFFO1lBQ3RCLFVBQVUsRUFBRSxJQUFJO1lBQ2hCLG1CQUFtQixFQUFFLGdFQUFnRTtZQUNyRixjQUFjLEVBQUUsT0FBTztZQUN2QixXQUFXLEVBQUMsaUJBQWlCO1lBQzdCLGFBQWEsRUFBQyxzQkFBc0I7WUFDcEMsWUFBWSxFQUFDLHVCQUF1QjtTQUNyQztLQUNGLENBQUM7SUFDRixnQkFBZ0IsQ0FBQztJQUVqQixtQkFBbUIsQ0FBQyxLQUFVO1FBQzVCLElBQUksT0FBTyxLQUFLLEtBQUssUUFBUSxFQUFFLENBQUM7WUFDOUIsS0FBSyxHQUFHLEtBQUssQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUN2QixDQUFDO1FBQ0QsT0FBTyxDQUNMLEtBQUssS0FBSyxTQUFTO1lBQ25CLEtBQUssS0FBSyxJQUFJO1lBQ2QsS0FBSyxLQUFLLEVBQUU7WUFDWixDQUFDLEtBQUssWUFBWSxLQUFLLElBQUksS0FBSyxDQUFDLE1BQU0sS0FBSyxDQUFDLENBQUM7WUFDOUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsS0FBSyxJQUFJLENBQy9CLENBQUM7SUFDSixDQUFDO0lBRUQsbUJBQW1CLENBQUMsVUFBZSxFQUFFLE1BQVcsWUFBWTtRQUMxRCxZQUFZLENBQUMsT0FBTyxDQUFDLEdBQUcsRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUM7SUFDeEQsQ0FBQztJQUVELHNCQUFzQixDQUFDLE1BQVcsWUFBWTtRQUM1QyxNQUFNLElBQUksR0FBRyxZQUFZLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ3ZDLE9BQU8sSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7SUFDeEMsQ0FBQztJQUVELHNCQUFzQixDQUFDLEtBQVU7UUFDL0IsSUFBSSxNQUFNLEdBQVEsS0FBSyxDQUFDO1FBQ3hCLElBQUksQ0FBQyxJQUFJLENBQUMsbUJBQW1CLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQztZQUNyQyxJQUNFLE1BQU0sQ0FDSixLQUFLO2lCQUVGLFFBQVEsRUFBRTtpQkFFVixPQUFPLENBQ04sNkRBQTZELEVBRTdELEVBQUUsQ0FDSDtpQkFFQSxVQUFVLENBQUMsR0FBRyxFQUFFLEVBQUUsQ0FBQztpQkFFbkIsVUFBVSxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUMsQ0FDdkIsRUFDRCxDQUFDO2dCQUNELE1BQU0sR0FBRyxNQUFNLENBQ2IsS0FBSztxQkFFRixRQUFRLEVBQUU7cUJBRVYsT0FBTyxDQUNOLDZEQUE2RCxFQUU3RCxFQUFFLENBQ0g7cUJBRUEsVUFBVSxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUM7cUJBRW5CLFVBQVUsQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUFDLENBQ3ZCO3FCQUNFLGNBQWMsQ0FBQyxPQUFPLEVBQUU7b0JBQ3ZCLEtBQUssRUFBRSxVQUFVO29CQUVqQixRQUFRLEVBQUUsS0FBSztvQkFFZixxQkFBcUIsRUFBRSxDQUFDO29CQUV4QixxQkFBcUIsRUFBRSxDQUFDO2lCQUN6QixDQUFDO3FCQUVELEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUNuQixDQUFDO1FBQ0gsQ0FBQztRQUNELE9BQU8sTUFBTSxDQUFDO0lBQ2hCLENBQUM7SUFFRCw0Q0FBNEMsQ0FBQyxLQUFVO1FBQ3JELElBQUksQ0FBQyxJQUFJLENBQUMsbUJBQW1CLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQztZQUNyQyxPQUFPLEtBQUs7aUJBRVQsUUFBUSxFQUFFO2lCQUVWLE9BQU8sQ0FDTiw2REFBNkQsRUFFN0QsRUFBRSxDQUNIO2lCQUVBLFVBQVUsQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUFDO2lCQUVuQixVQUFVLENBQUMsR0FBRyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBQ3pCLENBQUM7YUFBTSxDQUFDO1lBQ04sT0FBTyxLQUFLLENBQUM7UUFDZixDQUFDO0lBQ0gsQ0FBQzt3R0FsVFUsb0JBQW9COzRHQUFwQixvQkFBb0IsY0FGbkIsTUFBTTs7NEZBRVAsb0JBQW9CO2tCQUhoQyxVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbkBJbmplY3RhYmxlKHtcclxuICBwcm92aWRlZEluOiAncm9vdCdcclxufSlcclxuZXhwb3J0IGNsYXNzIE1hc3RlckNvbnRyb2xTZXJ2aWNlIHtcclxuXHJcbiAgY29uZmlnRGF0YTogYW55ID0ge1xyXG4gICAgXCJpZnJhbWVcIjoge1xyXG4gICAgICBcIlVSTEZvcklmcmFtZVwiOiBcIk5cIlxyXG4gICAgfSxcclxuICAgIFwibG9hZGVyXCI6IHtcclxuICAgICAgXCJpbWFnZVVSTFwiOiBcIlwiLFxyXG4gICAgICBcImltYWdlQWx0VGV4dFwiOiBcIlwiLFxyXG4gICAgICBcInRleHRcIjogXCJcIixcclxuICAgICAgXCJpbWFnZUNTU1wiOiB7XHJcbiAgICAgICAgXCJ3aWR0aFwiOiBcIlwiLFxyXG4gICAgICAgIFwiaGVpZ2h0XCI6IFwiXCIsXHJcbiAgICAgICAgXCJib3JkZXJSYWRpdXNcIjogXCJcIixcclxuICAgICAgICBcImJveFNoYWRvd1wiOiBcIlwiXHJcbiAgICAgIH0sXHJcbiAgICAgIFwiY2FyZENTU1wiOiB7XHJcbiAgICAgICAgXCJ3aWR0aFwiOiBcIjEwMCVcIixcclxuICAgICAgICBcImhlaWdodFwiOiBcIjEwMCVcIixcclxuICAgICAgICBcImJhY2tncm91bmRDb2xvclwiOiBcIiNmZmZmZmZcIixcclxuICAgICAgICBcImJvcmRlclJhZGl1c1wiOiBcIjBweFwiLFxyXG4gICAgICAgIFwiYm94U2hhZG93XCI6IFwiMHB4IDBweCAwcHggMHB4IHJnYmEoMCwgMCwgMCwgMClcIixcclxuICAgICAgICBcImFsaWduSXRlbXNcIjogXCJjZW50ZXJcIlxyXG4gICAgICB9LFxyXG4gICAgICBcInRleHRDU1NcIjoge1xyXG4gICAgICAgIFwiZm9udFNpemVcIjogXCJcIixcclxuICAgICAgICBcImNvbG9yXCI6IFwiXCIsXHJcbiAgICAgICAgXCJ0ZXh0QWxpZ25cIjogXCJcIixcclxuICAgICAgICBcImZvbnRXZWlnaHRcIjogXCJcIlxyXG4gICAgICB9LFxyXG4gICAgICBcImxvYWRlckNTU1wiOiB7XHJcbiAgICAgICAgXCJkaXNwbGF5XCI6IFwiZmxleFwiLFxyXG4gICAgICAgIFwianVzdGlmeUNvbnRlbnRcIjogXCJjZW50ZXJcIixcclxuICAgICAgICBcImFsaWduSXRlbXNcIjogXCJjZW50ZXJcIixcclxuICAgICAgICBcImhlaWdodFwiOiBcIjYwcHhcIixcclxuICAgICAgICBcImdhcFwiOiBcIjhweFwiLFxyXG4gICAgICAgIFwiZG90XCI6IHtcclxuICAgICAgICAgIFwid2lkdGhcIjogXCIxNnB4XCIsXHJcbiAgICAgICAgICBcImhlaWdodFwiOiBcIjE2cHhcIixcclxuICAgICAgICAgIFwiYmFja2dyb3VuZFwiOiBcIiMxOTc2ZDJcIixcclxuICAgICAgICAgIFwiYm9yZGVyUmFkaXVzXCI6IFwiNTAlXCIsXHJcbiAgICAgICAgICBcImRpc3BsYXlcIjogXCJpbmxpbmUtYmxvY2tcIixcclxuICAgICAgICAgIFwiYW5pbWF0aW9uXCI6IFwiYm91bmNlIDAuNnMgaW5maW5pdGUgYWx0ZXJuYXRlXCJcclxuICAgICAgICB9LFxyXG4gICAgICAgIFwiZG90MlwiOiB7XHJcbiAgICAgICAgICBcImFuaW1hdGlvbkRlbGF5XCI6IFwiMC4yc1wiXHJcbiAgICAgICAgfSxcclxuICAgICAgICBcImRvdDNcIjoge1xyXG4gICAgICAgICAgXCJhbmltYXRpb25EZWxheVwiOiBcIjAuNHNcIlxyXG4gICAgICAgIH0sXHJcbiAgICAgICAgXCJAa2V5ZnJhbWVzIGJvdW5jZVwiOiB7XHJcbiAgICAgICAgICBcInRvXCI6IHtcclxuICAgICAgICAgICAgXCJvcGFjaXR5XCI6IDAuMyxcclxuICAgICAgICAgICAgXCJ0cmFuc2Zvcm1cIjogXCJ0cmFuc2xhdGVZKC0xNnB4KVwiXHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9LFxyXG4gICAgXCJ0YWJsZVwiOiB7XHJcbiAgICAgIFwic2hvd0NoZWNrQm94XCI6IHRydWUsXHJcbiAgICAgIFwidGFibGVIZWFkZXJzXCI6IFtdLFxyXG4gICAgICBcInRkRGF0YVwiOiBbXSxcclxuICAgICAgXCJzaG93QWN0aW9uc1wiOiB0cnVlLFxyXG4gICAgICBcImFjdGlvbk9wdGlvbnNcIjogW1xyXG4gICAgICAgIHtcclxuICAgICAgICAgIFwibWF0SWNvbk5hbWVcIjogXCJlZGl0XCIsXHJcbiAgICAgICAgICBcImRpc3BsYXlUaXRsZVwiOiBcIkVkaXRcIixcclxuICAgICAgICAgIFwidG9vbFRpcFwiOiBcIkVkaXRcIixcclxuICAgICAgICAgIFwiaXNTZWxlY3RlZFwiOiBmYWxzZVxyXG4gICAgICAgIH0sXHJcbiAgICAgICAge1xyXG4gICAgICAgICAgXCJtYXRJY29uTmFtZVwiOiBcImluZm9cIixcclxuICAgICAgICAgIFwiZGlzcGxheVRpdGxlXCI6IFwiSW5mb1wiLFxyXG4gICAgICAgICAgXCJ0b29sVGlwXCI6IFwiSW5mb3JtYXRpb25cIixcclxuICAgICAgICAgIFwiaXNTZWxlY3RlZFwiOiBmYWxzZVxyXG4gICAgICAgIH0sXHJcbiAgICAgICAge1xyXG4gICAgICAgICAgXCJtYXRJY29uTmFtZVwiOiBcImRvd25sb2FkXCIsXHJcbiAgICAgICAgICBcImRpc3BsYXlUaXRsZVwiOiBcIkRvd25sb2FkIERvY3VtZW50c1wiLFxyXG4gICAgICAgICAgXCJ0b29sVGlwXCI6IFwiRG93bmxvYWQgRG9jdW1lbnRcIixcclxuICAgICAgICAgIFwiaXNTZWxlY3RlZFwiOiBmYWxzZVxyXG4gICAgICAgIH0sXHJcbiAgICAgICAge1xyXG4gICAgICAgICAgXCJtYXRJY29uTmFtZVwiOiBcIm5vdGlmaWNhdGlvbnNfYWN0aXZlXCIsXHJcbiAgICAgICAgICBcImRpc3BsYXlUaXRsZVwiOiBcIlNlbmQgUmVtaW5kZXJcIixcclxuICAgICAgICAgIFwidG9vbFRpcFwiOiBcIlNlbmQgUmVtaW5kZXJcIixcclxuICAgICAgICAgIFwiaXNTZWxlY3RlZFwiOiBmYWxzZVxyXG4gICAgICAgIH0sXHJcbiAgICAgICAge1xyXG4gICAgICAgICAgXCJtYXRJY29uTmFtZVwiOiBcImxpbmtcIixcclxuICAgICAgICAgIFwiZGlzcGxheVRpdGxlXCI6IFwiU2VuZCBQYXltZW50IExpbmtcIixcclxuICAgICAgICAgIFwidG9vbFRpcFwiOiBcIlBheW1lbnQgTGlua1wiLFxyXG4gICAgICAgICAgXCJpc1NlbGVjdGVkXCI6IGZhbHNlXHJcbiAgICAgICAgfSxcclxuICAgICAgICB7XHJcbiAgICAgICAgICBcIm1hdEljb25OYW1lXCI6IFwiZG93bmxvYWRcIixcclxuICAgICAgICAgIFwiZGlzcGxheVRpdGxlXCI6IFwiRG93bmxvYWQgUG9saWN5IERvY3VtZW50XCIsXHJcbiAgICAgICAgICBcInRvb2xUaXBcIjogXCJEb3dubG9hZCBQb2xpY3lcIixcclxuICAgICAgICAgIFwiaXNTZWxlY3RlZFwiOiBmYWxzZVxyXG4gICAgICAgIH0sIHtcclxuICAgICAgICAgIFwibWF0SWNvbk5hbWVcIjogXCJ2aXNpYmlsaXR5XCIsXHJcbiAgICAgICAgICBcImRpc3BsYXlUaXRsZVwiOiBcIlZpZXcgUG9saWN5IERvY3VtZW50XCIsXHJcbiAgICAgICAgICBcInRvb2xUaXBcIjogXCJWaWV3IFBvbGljeVwiLFxyXG4gICAgICAgICAgXCJpc1NlbGVjdGVkXCI6IGZhbHNlXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgXCJtYXRJY29uTmFtZVwiOiBcInZpc2liaWxpdHlcIixcclxuICAgICAgICAgIFwiZGlzcGxheVRpdGxlXCI6IFwiVmlldyBuZXcgQklcIixcclxuICAgICAgICAgIFwidG9vbFRpcFwiOiBcIlZpZXcgbmV3IEJJXCIsXHJcbiAgICAgICAgICBcImlzU2VsZWN0ZWRcIjogZmFsc2VcclxuICAgICAgICB9XHJcblxyXG4gICAgICBdLFxyXG4gICAgICBcInVzZXJTZWxlY3RlZE9wdGlvbnNcIjoge30sXHJcbiAgICAgIFwic2hvd1BhZ2luYXRpb25cIjogdHJ1ZSxcclxuICAgICAgXCJyb3dsZW5ndGhcIjogMyxcclxuICAgICAgXCJjb2x1bW5sZW5ndGhcIjogNCxcclxuICAgICAgXCJ0b3RhbEl0ZW1zXCI6IDEsXHJcbiAgICAgIFwicGFnaW5hdGlvblNpemVcIjogMTAsXHJcbiAgICAgIFwicGFnZVNpemVcIjogMTAsXHJcbiAgICAgIFwicGFnZU51bWJlclwiOiAwXHJcbiAgICB9LFxyXG4gICAgXCJzdGVwcGVyXCI6IHtcclxuICAgICAgXCJzdGVwcGVyRGF0YVwiOiBbXHJcbiAgICAgICAge1xyXG4gICAgICAgICAgXCJkZWZhdWx0SWRcIjogMSxcclxuICAgICAgICAgIFwiZGlzcGxheUxhYmVsXCI6IFwic3RlcHBlci0xXCIsXHJcbiAgICAgICAgICBcImltZ0ljb25VcmxcIjogJ2h0dHBzOi8vY2RuLmdvZGlnaXQuY29tL2RpZ2l0UGx1c0Fzc2V0cy9yZXRhaWwtbGlmZS1pY29uL3N2Z2ljb24vY2hlY2tfY2lyY2xlLnN2ZydcclxuICAgICAgICB9LFxyXG4gICAgICAgIHtcclxuICAgICAgICAgIFwiZGVmYXVsdElkXCI6IDIsXHJcbiAgICAgICAgICBcImRpc3BsYXlMYWJlbFwiOiBcInN0ZXBwZXItMlwiLFxyXG4gICAgICAgICAgXCJpbWdJY29uVXJsXCI6ICdodHRwczovL2Nkbi5nb2RpZ2l0LmNvbS9yZXRhaWwtbGlmZS9jaGVja19jaXJjbGVfRW5kb3JzbWVudC5zdmcnXHJcbiAgICAgICAgfSxcclxuICAgICAgICB7XHJcbiAgICAgICAgICBcImRlZmF1bHRJZFwiOiAzLFxyXG4gICAgICAgICAgXCJkaXNwbGF5TGFiZWxcIjogXCJzdGVwcGVyLTNcIixcclxuICAgICAgICAgIFwiaW1nSWNvblVybFwiOiAnaHR0cHM6Ly9jZG4uZ29kaWdpdC5jb20vcmV0YWlsLWxpZmUvRW5kb3JzZW1lbnRfcGVuZGluZy5zdmcnXHJcbiAgICAgICAgfVxyXG4gICAgICBdXHJcbiAgICB9LFxyXG4gICAgXCJwb2xpY3lEaXNwbGF5Q2FyZFwiOiB7XHJcbiAgICAgIFwicG9saWN5RGV0YWlsc1wiOlt7XHJcbiAgICAgIFwicG9saWN5SG9sZGVyTmFtZVwiOlwiWFlaXCIsXHJcbiAgICAgIFwicG9saWN5VHlwZVwiOlwiR2xvdyBQbHVzXCIsXHJcbiAgICAgIFwicG9saWN5TnVtYmVyXCI6XCJMMTIzNDY5NDkzNFwiXHJcbiAgICAgIH1cclxuICAgICAgXVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgc25hY2tiYXJzOiBhbnkgPSBbXHJcbiAgICB7XHJcbiAgICAgIFwidHlwZVwiOiBcIkVycm9yXCIsXHJcbiAgICAgIFwiaW1hZ2VVUkxcIjogXCJodHRwczovL2Nkbi5nb2RpZ2l0LmNvbS9yZXRhaWwtbGlmZS9hbGVydC1pY29uLWxpYi5zdmdcIixcclxuICAgICAgXCJpbWFnZUNTU1wiOiBcInRvYXN0ZXItaW1nXCIsXHJcbiAgICAgIFwiaXNTaG93TGFiZWxcIjogdHJ1ZSxcclxuICAgICAgXCJsYWJlbENTU1wiOiBcInRvYXN0ZXItbGFiZWxcIixcclxuICAgICAgXCJtZXNzYWdlQ1NTXCI6IFwidG9hc3Rlci1tc2dcIixcclxuICAgICAgXCJob3Jpem9udGFsUG9zaXRpb25cIjogXCJcIixcclxuICAgICAgXCJ2ZXJ0aWNhbFBvc2l0aW9uXCI6IFwiXCIsXHJcbiAgICAgIFwiZHVyYXRpb25cIjogMzAwMCxcclxuICAgICAgXCJjbG9zZUljb25JbWFnZVVSTFwiOiBcImh0dHBzOi8vY2RuLmdvZGlnaXQuY29tL2RpZ2l0UGx1c0Fzc2V0cy9yZXRhaWwtbGlmZS1pY29uL3N2Z2ljb24vY3Jvc3Muc3ZnXCIsXHJcbiAgICAgIFwiY2xvc2VJY29uQ1NTXCI6IFwiY3Jvc3NcIixcclxuICAgICAgXCJsYWJlbFRleHRcIjpcIkEgZXJyb3IgdG9hc3RcIixcclxuICAgICAgXCJtZXNzYWdlVGV4dFwiOlwiRXJyb3IgbWVzc2FnZSBoZXJlXCIsXHJcbiAgICAgICd0b2FzdGVyQ1NTJzpcImVycm9yLXNuYWNrYmFyLWNhcmRcIlxyXG4gICAgfSx7XHJcbiAgICAgIFwidHlwZVwiOiBcIldhcm5pbmdcIixcclxuICAgICAgXCJpbWFnZVVSTFwiOiBcImh0dHBzOi8vY2RuLmdvZGlnaXQuY29tL3JldGFpbC1saWZlL251ZGdlLWljb24tbGliLnN2Z1wiLFxyXG4gICAgICBcImltYWdlQ1NTXCI6IFwidG9hc3Rlci1pbWdcIixcclxuICAgICAgXCJpc1Nob3dMYWJlbFwiOiB0cnVlLFxyXG4gICAgICBcImxhYmVsQ1NTXCI6IFwidG9hc3Rlci1sYWJlbFwiLFxyXG4gICAgICBcIm1lc3NhZ2VDU1NcIjogXCJ0b2FzdGVyLW1zZ1wiLFxyXG4gICAgICBcImhvcml6b250YWxQb3NpdGlvblwiOiBcIlwiLFxyXG4gICAgICBcInZlcnRpY2FsUG9zaXRpb25cIjogXCJcIixcclxuICAgICAgXCJkdXJhdGlvblwiOiAzMDAwLFxyXG4gICAgICBcImNsb3NlSWNvbkltYWdlVVJMXCI6IFwiaHR0cHM6Ly9jZG4uZ29kaWdpdC5jb20vZGlnaXRQbHVzQXNzZXRzL3JldGFpbC1saWZlLWljb24vc3ZnaWNvbi9jcm9zcy5zdmdcIixcclxuICAgICAgXCJjbG9zZUljb25DU1NcIjogXCJjcm9zc1wiLFxyXG4gICAgICBcImxhYmVsVGV4dFwiOlwiQSB3YXJuaW5nIHRvYXN0XCIsXHJcbiAgICAgIFwibWVzc2FnZVRleHRcIjpcIldhcm5pbmcgbWVzc2FnZSBoZXJlXCIsXHJcbiAgICAgIFwidG9hc3RlckNTU1wiOlwid2FybmluZy1zbmFja2Jhci1jYXJkXCJcclxuICAgIH0se1xyXG4gICAgICBcInR5cGVcIjogXCJTdWNjZXNzXCIsXHJcbiAgICAgIFwiaW1hZ2VVUkxcIjogXCJodHRwczovL2Nkbi5nb2RpZ2l0LmNvbS9yZXRhaWwtbGlmZS9zdWNjZXNzLWluZm8tbGliLnN2Z1wiLFxyXG4gICAgICBcImltYWdlQ1NTXCI6IFwidG9hc3Rlci1pbWdcIixcclxuICAgICAgXCJpc1Nob3dMYWJlbFwiOiB0cnVlLFxyXG4gICAgICBcImxhYmVsQ1NTXCI6IFwidG9hc3Rlci1sYWJlbFwiLFxyXG4gICAgICBcIm1lc3NhZ2VDU1NcIjogXCJ0b2FzdGVyLW1zZ1wiLFxyXG4gICAgICBcImhvcml6b250YWxQb3NpdGlvblwiOiBcIlwiLFxyXG4gICAgICBcInZlcnRpY2FsUG9zaXRpb25cIjogXCJcIixcclxuICAgICAgXCJkdXJhdGlvblwiOiAzMDAwLFxyXG4gICAgICBcImNsb3NlSWNvbkltYWdlVVJMXCI6IFwiaHR0cHM6Ly9jZG4uZ29kaWdpdC5jb20vZGlnaXRQbHVzQXNzZXRzL3JldGFpbC1saWZlLWljb24vc3ZnaWNvbi9jcm9zcy5zdmdcIixcclxuICAgICAgXCJjbG9zZUljb25DU1NcIjogXCJjcm9zc1wiLFxyXG4gICAgICBcImxhYmVsVGV4dFwiOlwiQSBzdWNjZXNzIHRvYXN0XCIsXHJcbiAgICAgIFwibWVzc2FnZVRleHRcIjpcIlN1Y2Nlc3MgbWVzc2FnZSBoZXJlXCIsXHJcbiAgICAgIFwidG9hc3RlckNTU1wiOlwic3VjY2Vzcy1zbmFja2Jhci1jYXJkXCJcclxuICAgIH0se1xyXG4gICAgICBcInR5cGVcIjogXCJOZXV0cmFsXCIsXHJcbiAgICAgIFwiaW1hZ2VVUkxcIjogXCJodHRwczovL2Nkbi5nb2RpZ2l0LmNvbS9yZXRhaWwtbGlmZS9uZXV0cmFsLXN0YXItbGliLWljb24uc3ZnXCIsXHJcbiAgICAgIFwiaW1hZ2VDU1NcIjogXCJuZXV0cmFsLWltYWdlXCIsXHJcbiAgICAgIFwiaXNTaG93TGFiZWxcIjogdHJ1ZSxcclxuICAgICAgXCJsYWJlbENTU1wiOiBcIm5ldXRyYWwtdG9hc3Rlci1sYWJlbFwiLFxyXG4gICAgICBcIm1lc3NhZ2VDU1NcIjogXCJuZXV0cmFsLXRvYXN0ZXItbXNnXCIsXHJcbiAgICAgIFwiaG9yaXpvbnRhbFBvc2l0aW9uXCI6IFwiXCIsXHJcbiAgICAgIFwidmVydGljYWxQb3NpdGlvblwiOiBcIlwiLFxyXG4gICAgICBcImR1cmF0aW9uXCI6IDMwMDAsXHJcbiAgICAgIFwiY2xvc2VJY29uSW1hZ2VVUkxcIjogXCJodHRwczovL2Nkbi5nb2RpZ2l0LmNvbS9yZXRhaWwtbGlmZS9uZXV0cmFsLWNyb3NzLWxpYi1pY29uLnN2Z1wiLFxyXG4gICAgICBcImNsb3NlSWNvbkNTU1wiOiBcImNyb3NzXCIsXHJcbiAgICAgIFwibGFiZWxUZXh0XCI6XCJBIG5ldXRyYWwgdG9hc3RcIixcclxuICAgICAgXCJtZXNzYWdlVGV4dFwiOlwiTmV1dHJhbCBtZXNzYWdlIGhlcmVcIixcclxuICAgICAgXCJ0b2FzdGVyQ1NTXCI6XCJuZXV0cmFsLXNuYWNrYmFyLWNhcmRcIlxyXG4gICAgfVxyXG4gIF07XHJcbiAgY29uc3RydWN0b3IoKSB7IH1cclxuXHJcbiAgY2hlY2tJZlZhbHVlSXNFbXB0eSh2YWx1ZTogYW55KSB7XHJcbiAgICBpZiAodHlwZW9mIHZhbHVlID09PSAnc3RyaW5nJykge1xyXG4gICAgICB2YWx1ZSA9IHZhbHVlLnRyaW0oKTtcclxuICAgIH1cclxuICAgIHJldHVybiAoXHJcbiAgICAgIHZhbHVlID09PSB1bmRlZmluZWQgfHxcclxuICAgICAgdmFsdWUgPT09IG51bGwgfHxcclxuICAgICAgdmFsdWUgPT09ICcnIHx8XHJcbiAgICAgICh2YWx1ZSBpbnN0YW5jZW9mIEFycmF5ICYmIHZhbHVlLmxlbmd0aCA9PT0gMCkgfHxcclxuICAgICAgSlNPTi5zdHJpbmdpZnkodmFsdWUpID09PSAne30nXHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgc2F2ZVRhYmxlRmllbGRTdGF0ZSh0YWJsZUZpZWxkOiBhbnksIGtleTogYW55ID0gJ3RhYmxlRmllbGQnKSB7XHJcbiAgICBsb2NhbFN0b3JhZ2Uuc2V0SXRlbShrZXksIEpTT04uc3RyaW5naWZ5KHRhYmxlRmllbGQpKTtcclxuICB9XHJcblxyXG4gIHJlc3RvcmVUYWJsZUZpZWxkU3RhdGUoa2V5OiBhbnkgPSAndGFibGVGaWVsZCcpOiBhbnkgfCBudWxsIHtcclxuICAgIGNvbnN0IGRhdGEgPSBsb2NhbFN0b3JhZ2UuZ2V0SXRlbShrZXkpO1xyXG4gICAgcmV0dXJuIGRhdGEgPyBKU09OLnBhcnNlKGRhdGEpIDogbnVsbDtcclxuICB9XHJcblxyXG4gIGFkZENvbWFzVG9OdW1iZXJWYWx1ZXModmFsdWU6IGFueSkge1xyXG4gICAgbGV0IG5ld1ZhbDogYW55ID0gdmFsdWU7XHJcbiAgICBpZiAoIXRoaXMuY2hlY2tJZlZhbHVlSXNFbXB0eSh2YWx1ZSkpIHtcclxuICAgICAgaWYgKFxyXG4gICAgICAgIE51bWJlcihcclxuICAgICAgICAgIHZhbHVlXHJcblxyXG4gICAgICAgICAgICAudG9TdHJpbmcoKVxyXG5cclxuICAgICAgICAgICAgLnJlcGxhY2UoXHJcbiAgICAgICAgICAgICAgL1teXFx4MjAtXFx4MjRcXHgyNy1cXHgyOVxceDJCLVxceDRFXFx4NDAtXFx4NUVcXHg2MC1cXHg3QVxceDdDXFx4N0VdKy9naSxcclxuXHJcbiAgICAgICAgICAgICAgJydcclxuICAgICAgICAgICAgKVxyXG5cclxuICAgICAgICAgICAgLnJlcGxhY2VBbGwoJywnLCAnJylcclxuXHJcbiAgICAgICAgICAgIC5yZXBsYWNlQWxsKCfigrknLCAnJylcclxuICAgICAgICApXHJcbiAgICAgICkge1xyXG4gICAgICAgIG5ld1ZhbCA9IE51bWJlcihcclxuICAgICAgICAgIHZhbHVlXHJcblxyXG4gICAgICAgICAgICAudG9TdHJpbmcoKVxyXG5cclxuICAgICAgICAgICAgLnJlcGxhY2UoXHJcbiAgICAgICAgICAgICAgL1teXFx4MjAtXFx4MjRcXHgyNy1cXHgyOVxceDJCLVxceDRFXFx4NDAtXFx4NUVcXHg2MC1cXHg3QVxceDdDXFx4N0VdKy9naSxcclxuXHJcbiAgICAgICAgICAgICAgJydcclxuICAgICAgICAgICAgKVxyXG5cclxuICAgICAgICAgICAgLnJlcGxhY2VBbGwoJ+KCuScsICcnKVxyXG5cclxuICAgICAgICAgICAgLnJlcGxhY2VBbGwoJywnLCAnJylcclxuICAgICAgICApXHJcbiAgICAgICAgICAudG9Mb2NhbGVTdHJpbmcoJ2VuLUlOJywge1xyXG4gICAgICAgICAgICBzdHlsZTogJ2N1cnJlbmN5JyxcclxuXHJcbiAgICAgICAgICAgIGN1cnJlbmN5OiAnSU5SJyxcclxuXHJcbiAgICAgICAgICAgIG1pbmltdW1GcmFjdGlvbkRpZ2l0czogMCxcclxuXHJcbiAgICAgICAgICAgIG1heGltdW1GcmFjdGlvbkRpZ2l0czogMCxcclxuICAgICAgICAgIH0pXHJcblxyXG4gICAgICAgICAgLnNwbGl0KCfigrknKVsxXTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgcmV0dXJuIG5ld1ZhbDtcclxuICB9XHJcblxyXG4gIHJlbW92ZUNvbWFzQW5kQ3VycmVuY3lTeW1ib2xGcm9tTnVtYmVyVmFsdWVzKHZhbHVlOiBhbnkpIHtcclxuICAgIGlmICghdGhpcy5jaGVja0lmVmFsdWVJc0VtcHR5KHZhbHVlKSkge1xyXG4gICAgICByZXR1cm4gdmFsdWVcclxuXHJcbiAgICAgICAgLnRvU3RyaW5nKClcclxuXHJcbiAgICAgICAgLnJlcGxhY2UoXHJcbiAgICAgICAgICAvW15cXHgyMC1cXHgyNFxceDI3LVxceDI5XFx4MkItXFx4NEVcXHg0MC1cXHg1RVxceDYwLVxceDdBXFx4N0NcXHg3RV0rL2dpLFxyXG5cclxuICAgICAgICAgICcnXHJcbiAgICAgICAgKVxyXG5cclxuICAgICAgICAucmVwbGFjZUFsbCgn4oK5JywgJycpXHJcblxyXG4gICAgICAgIC5yZXBsYWNlQWxsKCcsJywgJycpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgcmV0dXJuIHZhbHVlO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iXX0=
289
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFzdGVyLWNvbnRyb2wuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL21hc3Rlci1jb250cm9sL3NyYy9saWIvbWFzdGVyLWNvbnRyb2wuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQUszQyxNQUFNLE9BQU8sb0JBQW9CO0lBRS9CLFVBQVUsR0FBUTtRQUNoQixRQUFRLEVBQUU7WUFDUixjQUFjLEVBQUUsR0FBRztTQUNwQjtRQUNELFFBQVEsRUFBRTtZQUNSLFVBQVUsRUFBRSxFQUFFO1lBQ2QsY0FBYyxFQUFFLEVBQUU7WUFDbEIsTUFBTSxFQUFFLEVBQUU7WUFDVixVQUFVLEVBQUU7Z0JBQ1YsT0FBTyxFQUFFLEVBQUU7Z0JBQ1gsUUFBUSxFQUFFLEVBQUU7Z0JBQ1osY0FBYyxFQUFFLEVBQUU7Z0JBQ2xCLFdBQVcsRUFBRSxFQUFFO2FBQ2hCO1lBQ0QsU0FBUyxFQUFFO2dCQUNULE9BQU8sRUFBRSxNQUFNO2dCQUNmLFFBQVEsRUFBRSxNQUFNO2dCQUNoQixpQkFBaUIsRUFBRSxTQUFTO2dCQUM1QixjQUFjLEVBQUUsS0FBSztnQkFDckIsV0FBVyxFQUFFLGtDQUFrQztnQkFDL0MsWUFBWSxFQUFFLFFBQVE7YUFDdkI7WUFDRCxTQUFTLEVBQUU7Z0JBQ1QsVUFBVSxFQUFFLEVBQUU7Z0JBQ2QsT0FBTyxFQUFFLEVBQUU7Z0JBQ1gsV0FBVyxFQUFFLEVBQUU7Z0JBQ2YsWUFBWSxFQUFFLEVBQUU7YUFDakI7WUFDRCxXQUFXLEVBQUU7Z0JBQ1gsU0FBUyxFQUFFLE1BQU07Z0JBQ2pCLGdCQUFnQixFQUFFLFFBQVE7Z0JBQzFCLFlBQVksRUFBRSxRQUFRO2dCQUN0QixRQUFRLEVBQUUsTUFBTTtnQkFDaEIsS0FBSyxFQUFFLEtBQUs7Z0JBQ1osS0FBSyxFQUFFO29CQUNMLE9BQU8sRUFBRSxNQUFNO29C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QUssQ0FBQyxVQUFVLENBQUMsa0JBQWtCLENBQUMsR0FBRyxLQUFLLENBQUM7Z0JBQy9DLENBQUM7WUFDTCxDQUFDLENBQUMsQ0FBQztRQUNMLENBQUM7SUFDSCxDQUFDO3dHQWhVVSxvQkFBb0I7NEdBQXBCLG9CQUFvQixjQUZuQixNQUFNOzs0RkFFUCxvQkFBb0I7a0JBSGhDLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5cclxuQEluamVjdGFibGUoe1xyXG4gIHByb3ZpZGVkSW46ICdyb290J1xyXG59KVxyXG5leHBvcnQgY2xhc3MgTWFzdGVyQ29udHJvbFNlcnZpY2Uge1xyXG5cclxuICBjb25maWdEYXRhOiBhbnkgPSB7XHJcbiAgICBcImlmcmFtZVwiOiB7XHJcbiAgICAgIFwiVVJMRm9ySWZyYW1lXCI6IFwiTlwiXHJcbiAgICB9LFxyXG4gICAgXCJsb2FkZXJcIjoge1xyXG4gICAgICBcImltYWdlVVJMXCI6IFwiXCIsXHJcbiAgICAgIFwiaW1hZ2VBbHRUZXh0XCI6IFwiXCIsXHJcbiAgICAgIFwidGV4dFwiOiBcIlwiLFxyXG4gICAgICBcImltYWdlQ1NTXCI6IHtcclxuICAgICAgICBcIndpZHRoXCI6IFwiXCIsXHJcbiAgICAgICAgXCJoZWlnaHRcIjogXCJcIixcclxuICAgICAgICBcImJvcmRlclJhZGl1c1wiOiBcIlwiLFxyXG4gICAgICAgIFwiYm94U2hhZG93XCI6IFwiXCJcclxuICAgICAgfSxcclxuICAgICAgXCJjYXJkQ1NTXCI6IHtcclxuICAgICAgICBcIndpZHRoXCI6IFwiMTAwJVwiLFxyXG4gICAgICAgIFwiaGVpZ2h0XCI6IFwiMTAwJVwiLFxyXG4gICAgICAgIFwiYmFja2dyb3VuZENvbG9yXCI6IFwiI2ZmZmZmZlwiLFxyXG4gICAgICAgIFwiYm9yZGVyUmFkaXVzXCI6IFwiMHB4XCIsXHJcbiAgICAgICAgXCJib3hTaGFkb3dcIjogXCIwcHggMHB4IDBweCAwcHggcmdiYSgwLCAwLCAwLCAwKVwiLFxyXG4gICAgICAgIFwiYWxpZ25JdGVtc1wiOiBcImNlbnRlclwiXHJcbiAgICAgIH0sXHJcbiAgICAgIFwidGV4dENTU1wiOiB7XHJcbiAgICAgICAgXCJmb250U2l6ZVwiOiBcIlwiLFxyXG4gICAgICAgIFwiY29sb3JcIjogXCJcIixcclxuICAgICAgICBcInRleHRBbGlnblwiOiBcIlwiLFxyXG4gICAgICAgIFwiZm9udFdlaWdodFwiOiBcIlwiXHJcbiAgICAgIH0sXHJcbiAgICAgIFwibG9hZGVyQ1NTXCI6IHtcclxuICAgICAgICBcImRpc3BsYXlcIjogXCJmbGV4XCIsXHJcbiAgICAgICAgXCJqdXN0aWZ5Q29udGVudFwiOiBcImNlbnRlclwiLFxyXG4gICAgICAgIFwiYWxpZ25JdGVtc1wiOiBcImNlbnRlclwiLFxyXG4gICAgICAgIFwiaGVpZ2h0XCI6IFwiNjBweFwiLFxyXG4gICAgICAgIFwiZ2FwXCI6IFwiOHB4XCIsXHJcbiAgICAgICAgXCJkb3RcIjoge1xyXG4gICAgICAgICAgXCJ3aWR0aFwiOiBcIjE2cHhcIixcclxuICAgICAgICAgIFwiaGVpZ2h0XCI6IFwiMTZweFwiLFxyXG4gICAgICAgICAgXCJiYWNrZ3JvdW5kXCI6IFwiIzE5NzZkMlwiLFxyXG4gICAgICAgICAgXCJib3JkZXJSYWRpdXNcIjogXCI1MCVcIixcclxuICAgICAgICAgIFwiZGlzcGxheVwiOiBcImlubGluZS1ibG9ja1wiLFxyXG4gICAgICAgICAgXCJhbmltYXRpb25cIjogXCJib3VuY2UgMC42cyBpbmZpbml0ZSBhbHRlcm5hdGVcIlxyXG4gICAgICAgIH0sXHJcbiAgICAgICAgXCJkb3QyXCI6IHtcclxuICAgICAgICAgIFwiYW5pbWF0aW9uRGVsYXlcIjogXCIwLjJzXCJcclxuICAgICAgICB9LFxyXG4gICAgICAgIFwiZG90M1wiOiB7XHJcbiAgICAgICAgICBcImFuaW1hdGlvbkRlbGF5XCI6IFwiMC40c1wiXHJcbiAgICAgICAgfSxcclxuICAgICAgICBcIkBrZXlmcmFtZXMgYm91bmNlXCI6IHtcclxuICAgICAgICAgIFwidG9cIjoge1xyXG4gICAgICAgICAgICBcIm9wYWNpdHlcIjogMC4zLFxyXG4gICAgICAgICAgICBcInRyYW5zZm9ybVwiOiBcInRyYW5zbGF0ZVkoLTE2cHgpXCJcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH0sXHJcbiAgICBcInRhYmxlXCI6IHtcclxuICAgICAgXCJzaG93Q2hlY2tCb3hcIjogdHJ1ZSxcclxuICAgICAgXCJ0YWJsZUhlYWRlcnNcIjogW10sXHJcbiAgICAgIFwidGREYXRhXCI6IFtdLFxyXG4gICAgICBcInNob3dBY3Rpb25zXCI6IHRydWUsXHJcbiAgICAgIFwiYWN0aW9uT3B0aW9uc1wiOiBbXHJcbiAgICAgICAge1xyXG4gICAgICAgICAgXCJtYXRJY29uTmFtZVwiOiBcImVkaXRcIixcclxuICAgICAgICAgIFwiZGlzcGxheVRpdGxlXCI6IFwiRWRpdFwiLFxyXG4gICAgICAgICAgXCJ0b29sVGlwXCI6IFwiRWRpdFwiLFxyXG4gICAgICAgICAgXCJpc1NlbGVjdGVkXCI6IGZhbHNlXHJcbiAgICAgICAgfSxcclxuICAgICAgICB7XHJcbiAgICAgICAgICBcIm1hdEljb25OYW1lXCI6IFwiaW5mb1wiLFxyXG4gICAgICAgICAgXCJkaXNwbGF5VGl0bGVcIjogXCJJbmZvXCIsXHJcbiAgICAgICAgICBcInRvb2xUaXBcIjogXCJJbmZvcm1hdGlvblwiLFxyXG4gICAgICAgICAgXCJpc1NlbGVjdGVkXCI6IGZhbHNlXHJcbiAgICAgICAgfSxcclxuICAgICAgICB7XHJcbiAgICAgICAgICBcIm1hdEljb25OYW1lXCI6IFwiZG93bmxvYWRcIixcclxuICAgICAgICAgIFwiZGlzcGxheVRpdGxlXCI6IFwiRG93bmxvYWQgRG9jdW1lbnRzXCIsXHJcbiAgICAgICAgICBcInRvb2xUaXBcIjogXCJEb3dubG9hZCBEb2N1bWVudFwiLFxyXG4gICAgICAgICAgXCJpc1NlbGVjdGVkXCI6IGZhbHNlXHJcbiAgICAgICAgfSxcclxuICAgICAgICB7XHJcbiAgICAgICAgICBcIm1hdEljb25OYW1lXCI6IFwibm90aWZpY2F0aW9uc19hY3RpdmVcIixcclxuICAgICAgICAgIFwiZGlzcGxheVRpdGxlXCI6IFwiU2VuZCBSZW1pbmRlclwiLFxyXG4gICAgICAgICAgXCJ0b29sVGlwXCI6IFwiU2VuZCBSZW1pbmRlclwiLFxyXG4gICAgICAgICAgXCJpc1NlbGVjdGVkXCI6IGZhbHNlXHJcbiAgICAgICAgfSxcclxuICAgICAgICB7XHJcbiAgICAgICAgICBcIm1hdEljb25OYW1lXCI6IFwibGlua1wiLFxyXG4gICAgICAgICAgXCJkaXNwbGF5VGl0bGVcIjogXCJTZW5kIFBheW1lbnQgTGlua1wiLFxyXG4gICAgICAgICAgXCJ0b29sVGlwXCI6IFwiUGF5bWVudCBMaW5rXCIsXHJcbiAgICAgICAgICBcImlzU2VsZWN0ZWRcIjogZmFsc2VcclxuICAgICAgICB9LFxyXG4gICAgICAgIHtcclxuICAgICAgICAgIFwibWF0SWNvbk5hbWVcIjogXCJkb3dubG9hZFwiLFxyXG4gICAgICAgICAgXCJkaXNwbGF5VGl0bGVcIjogXCJEb3dubG9hZCBQb2xpY3kgRG9jdW1lbnRcIixcclxuICAgICAgICAgIFwidG9vbFRpcFwiOiBcIkRvd25sb2FkIFBvbGljeVwiLFxyXG4gICAgICAgICAgXCJpc1NlbGVjdGVkXCI6IGZhbHNlXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgXCJtYXRJY29uTmFtZVwiOiBcInZpc2liaWxpdHlcIixcclxuICAgICAgICAgIFwiZGlzcGxheVRpdGxlXCI6IFwiVmlldyBQb2xpY3kgRG9jdW1lbnRcIixcclxuICAgICAgICAgIFwidG9vbFRpcFwiOiBcIlZpZXcgUG9saWN5XCIsXHJcbiAgICAgICAgICBcImlzU2VsZWN0ZWRcIjogZmFsc2VcclxuICAgICAgICB9LCB7XHJcbiAgICAgICAgICBcIm1hdEljb25OYW1lXCI6IFwidmlzaWJpbGl0eVwiLFxyXG4gICAgICAgICAgXCJkaXNwbGF5VGl0bGVcIjogXCJWaWV3IG5ldyBCSVwiLFxyXG4gICAgICAgICAgXCJ0b29sVGlwXCI6IFwiVmlldyBuZXcgQklcIixcclxuICAgICAgICAgIFwiaXNTZWxlY3RlZFwiOiBmYWxzZVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgIF0sXHJcbiAgICAgIFwidXNlclNlbGVjdGVkT3B0aW9uc1wiOiB7fSxcclxuICAgICAgXCJzaG93UGFnaW5hdGlvblwiOiB0cnVlLFxyXG4gICAgICBcInJvd2xlbmd0aFwiOiAzLFxyXG4gICAgICBcImNvbHVtbmxlbmd0aFwiOiA0LFxyXG4gICAgICBcInRvdGFsSXRlbXNcIjogMSxcclxuICAgICAgXCJwYWdpbmF0aW9uU2l6ZVwiOiAxMCxcclxuICAgICAgXCJwYWdlU2l6ZVwiOiAxMCxcclxuICAgICAgXCJwYWdlTnVtYmVyXCI6IDBcclxuICAgIH0sXHJcbiAgICBcInN0ZXBwZXJcIjoge1xyXG4gICAgICBcInN0ZXBwZXJEYXRhXCI6IFtcclxuICAgICAgICB7XHJcbiAgICAgICAgICBcImRlZmF1bHRJZFwiOiAxLFxyXG4gICAgICAgICAgXCJkaXNwbGF5TGFiZWxcIjogXCJzdGVwcGVyLTFcIixcclxuICAgICAgICAgIFwiaW1nSWNvblVybFwiOiAnaHR0cHM6Ly9jZG4uZ29kaWdpdC5jb20vZGlnaXRQbHVzQXNzZXRzL3JldGFpbC1saWZlLWljb24vc3ZnaWNvbi9jaGVja19jaXJjbGUuc3ZnJ1xyXG4gICAgICAgIH0sXHJcbiAgICAgICAge1xyXG4gICAgICAgICAgXCJkZWZhdWx0SWRcIjogMixcclxuICAgICAgICAgIFwiZGlzcGxheUxhYmVsXCI6IFwic3RlcHBlci0yXCIsXHJcbiAgICAgICAgICBcImltZ0ljb25VcmxcIjogJ2h0dHBzOi8vY2RuLmdvZGlnaXQuY29tL3JldGFpbC1saWZlL2NoZWNrX2NpcmNsZV9FbmRvcnNtZW50LnN2ZydcclxuICAgICAgICB9LFxyXG4gICAgICAgIHtcclxuICAgICAgICAgIFwiZGVmYXVsdElkXCI6IDMsXHJcbiAgICAgICAgICBcImRpc3BsYXlMYWJlbFwiOiBcInN0ZXBwZXItM1wiLFxyXG4gICAgICAgICAgXCJpbWdJY29uVXJsXCI6ICdodHRwczovL2Nkbi5nb2RpZ2l0LmNvbS9yZXRhaWwtbGlmZS9FbmRvcnNlbWVudF9wZW5kaW5nLnN2ZydcclxuICAgICAgICB9XHJcbiAgICAgIF1cclxuICAgIH0sXHJcbiAgICBcInBvbGljeURpc3BsYXlDYXJkXCI6IHtcclxuICAgICAgXCJwb2xpY3lEZXRhaWxzXCI6W3tcclxuICAgICAgXCJwb2xpY3lIb2xkZXJOYW1lXCI6XCJYWVpcIixcclxuICAgICAgXCJwb2xpY3lUeXBlXCI6XCJHbG93IFBsdXNcIixcclxuICAgICAgXCJwb2xpY3lOdW1iZXJcIjpcIkwxMjM0Njk0OTM0XCJcclxuICAgICAgfVxyXG4gICAgICBdXHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBzbmFja2JhcnM6IGFueSA9IFtcclxuICAgIHtcclxuICAgICAgXCJ0eXBlXCI6IFwiRXJyb3JcIixcclxuICAgICAgXCJpbWFnZVVSTFwiOiBcImh0dHBzOi8vY2RuLmdvZGlnaXQuY29tL3JldGFpbC1saWZlL2FsZXJ0LWljb24tbGliLnN2Z1wiLFxyXG4gICAgICBcImltYWdlQ1NTXCI6IFwidG9hc3Rlci1pbWdcIixcclxuICAgICAgXCJpc1Nob3dMYWJlbFwiOiB0cnVlLFxyXG4gICAgICBcImxhYmVsQ1NTXCI6IFwidG9hc3Rlci1sYWJlbFwiLFxyXG4gICAgICBcIm1lc3NhZ2VDU1NcIjogXCJ0b2FzdGVyLW1zZ1wiLFxyXG4gICAgICBcImhvcml6b250YWxQb3NpdGlvblwiOiBcIlwiLFxyXG4gICAgICBcInZlcnRpY2FsUG9zaXRpb25cIjogXCJcIixcclxuICAgICAgXCJkdXJhdGlvblwiOiAzMDAwLFxyXG4gICAgICBcImNsb3NlSWNvbkltYWdlVVJMXCI6IFwiaHR0cHM6Ly9jZG4uZ29kaWdpdC5jb20vZGlnaXRQbHVzQXNzZXRzL3JldGFpbC1saWZlLWljb24vc3ZnaWNvbi9jcm9zcy5zdmdcIixcclxuICAgICAgXCJjbG9zZUljb25DU1NcIjogXCJjcm9zc1wiLFxyXG4gICAgICBcImxhYmVsVGV4dFwiOlwiQSBlcnJvciB0b2FzdFwiLFxyXG4gICAgICBcIm1lc3NhZ2VUZXh0XCI6XCJFcnJvciBtZXNzYWdlIGhlcmVcIixcclxuICAgICAgJ3RvYXN0ZXJDU1MnOlwiZXJyb3Itc25hY2tiYXItY2FyZFwiXHJcbiAgICB9LHtcclxuICAgICAgXCJ0eXBlXCI6IFwiV2FybmluZ1wiLFxyXG4gICAgICBcImltYWdlVVJMXCI6IFwiaHR0cHM6Ly9jZG4uZ29kaWdpdC5jb20vcmV0YWlsLWxpZmUvbnVkZ2UtaWNvbi1saWIuc3ZnXCIsXHJcbiAgICAgIFwiaW1hZ2VDU1NcIjogXCJ0b2FzdGVyLWltZ1wiLFxyXG4gICAgICBcImlzU2hvd0xhYmVsXCI6IHRydWUsXHJcbiAgICAgIFwibGFiZWxDU1NcIjogXCJ0b2FzdGVyLWxhYmVsXCIsXHJcbiAgICAgIFwibWVzc2FnZUNTU1wiOiBcInRvYXN0ZXItbXNnXCIsXHJcbiAgICAgIFwiaG9yaXpvbnRhbFBvc2l0aW9uXCI6IFwiXCIsXHJcbiAgICAgIFwidmVydGljYWxQb3NpdGlvblwiOiBcIlwiLFxyXG4gICAgICBcImR1cmF0aW9uXCI6IDMwMDAsXHJcbiAgICAgIFwiY2xvc2VJY29uSW1hZ2VVUkxcIjogXCJodHRwczovL2Nkbi5nb2RpZ2l0LmNvbS9kaWdpdFBsdXNBc3NldHMvcmV0YWlsLWxpZmUtaWNvbi9zdmdpY29uL2Nyb3NzLnN2Z1wiLFxyXG4gICAgICBcImNsb3NlSWNvbkNTU1wiOiBcImNyb3NzXCIsXHJcbiAgICAgIFwibGFiZWxUZXh0XCI6XCJBIHdhcm5pbmcgdG9hc3RcIixcclxuICAgICAgXCJtZXNzYWdlVGV4dFwiOlwiV2FybmluZyBtZXNzYWdlIGhlcmVcIixcclxuICAgICAgXCJ0b2FzdGVyQ1NTXCI6XCJ3YXJuaW5nLXNuYWNrYmFyLWNhcmRcIlxyXG4gICAgfSx7XHJcbiAgICAgIFwidHlwZVwiOiBcIlN1Y2Nlc3NcIixcclxuICAgICAgXCJpbWFnZVVSTFwiOiBcImh0dHBzOi8vY2RuLmdvZGlnaXQuY29tL3JldGFpbC1saWZlL3N1Y2Nlc3MtaW5mby1saWIuc3ZnXCIsXHJcbiAgICAgIFwiaW1hZ2VDU1NcIjogXCJ0b2FzdGVyLWltZ1wiLFxyXG4gICAgICBcImlzU2hvd0xhYmVsXCI6IHRydWUsXHJcbiAgICAgIFwibGFiZWxDU1NcIjogXCJ0b2FzdGVyLWxhYmVsXCIsXHJcbiAgICAgIFwibWVzc2FnZUNTU1wiOiBcInRvYXN0ZXItbXNnXCIsXHJcbiAgICAgIFwiaG9yaXpvbnRhbFBvc2l0aW9uXCI6IFwiXCIsXHJcbiAgICAgIFwidmVydGljYWxQb3NpdGlvblwiOiBcIlwiLFxyXG4gICAgICBcImR1cmF0aW9uXCI6IDMwMDAsXHJcbiAgICAgIFwiY2xvc2VJY29uSW1hZ2VVUkxcIjogXCJodHRwczovL2Nkbi5nb2RpZ2l0LmNvbS9kaWdpdFBsdXNBc3NldHMvcmV0YWlsLWxpZmUtaWNvbi9zdmdpY29uL2Nyb3NzLnN2Z1wiLFxyXG4gICAgICBcImNsb3NlSWNvbkNTU1wiOiBcImNyb3NzXCIsXHJcbiAgICAgIFwibGFiZWxUZXh0XCI6XCJBIHN1Y2Nlc3MgdG9hc3RcIixcclxuICAgICAgXCJtZXNzYWdlVGV4dFwiOlwiU3VjY2VzcyBtZXNzYWdlIGhlcmVcIixcclxuICAgICAgXCJ0b2FzdGVyQ1NTXCI6XCJzdWNjZXNzLXNuYWNrYmFyLWNhcmRcIlxyXG4gICAgfSx7XHJcbiAgICAgIFwidHlwZVwiOiBcIk5ldXRyYWxcIixcclxuICAgICAgXCJpbWFnZVVSTFwiOiBcImh0dHBzOi8vY2RuLmdvZGlnaXQuY29tL3JldGFpbC1saWZlL25ldXRyYWwtc3Rhci1saWItaWNvbi5zdmdcIixcclxuICAgICAgXCJpbWFnZUNTU1wiOiBcIm5ldXRyYWwtaW1hZ2VcIixcclxuICAgICAgXCJpc1Nob3dMYWJlbFwiOiB0cnVlLFxyXG4gICAgICBcImxhYmVsQ1NTXCI6IFwibmV1dHJhbC10b2FzdGVyLWxhYmVsXCIsXHJcbiAgICAgIFwibWVzc2FnZUNTU1wiOiBcIm5ldXRyYWwtdG9hc3Rlci1tc2dcIixcclxuICAgICAgXCJob3Jpem9udGFsUG9zaXRpb25cIjogXCJcIixcclxuICAgICAgXCJ2ZXJ0aWNhbFBvc2l0aW9uXCI6IFwiXCIsXHJcbiAgICAgIFwiZHVyYXRpb25cIjogMzAwMCxcclxuICAgICAgXCJjbG9zZUljb25JbWFnZVVSTFwiOiBcImh0dHBzOi8vY2RuLmdvZGlnaXQuY29tL3JldGFpbC1saWZlL25ldXRyYWwtY3Jvc3MtbGliLWljb24uc3ZnXCIsXHJcbiAgICAgIFwiY2xvc2VJY29uQ1NTXCI6IFwiY3Jvc3NcIixcclxuICAgICAgXCJsYWJlbFRleHRcIjpcIkEgbmV1dHJhbCB0b2FzdFwiLFxyXG4gICAgICBcIm1lc3NhZ2VUZXh0XCI6XCJOZXV0cmFsIG1lc3NhZ2UgaGVyZVwiLFxyXG4gICAgICBcInRvYXN0ZXJDU1NcIjpcIm5ldXRyYWwtc25hY2tiYXItY2FyZFwiXHJcbiAgICB9XHJcbiAgXTtcclxuICBjb25zdHJ1Y3RvcigpIHsgfVxyXG5cclxuICBjaGVja0lmVmFsdWVJc0VtcHR5KHZhbHVlOiBhbnkpIHtcclxuICAgIGlmICh0eXBlb2YgdmFsdWUgPT09ICdzdHJpbmcnKSB7XHJcbiAgICAgIHZhbHVlID0gdmFsdWUudHJpbSgpO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIChcclxuICAgICAgdmFsdWUgPT09IHVuZGVmaW5lZCB8fFxyXG4gICAgICB2YWx1ZSA9PT0gbnVsbCB8fFxyXG4gICAgICB2YWx1ZSA9PT0gJycgfHxcclxuICAgICAgKHZhbHVlIGluc3RhbmNlb2YgQXJyYXkgJiYgdmFsdWUubGVuZ3RoID09PSAwKSB8fFxyXG4gICAgICBKU09OLnN0cmluZ2lmeSh2YWx1ZSkgPT09ICd7fSdcclxuICAgICk7XHJcbiAgfVxyXG5cclxuICBzYXZlVGFibGVGaWVsZFN0YXRlKHRhYmxlRmllbGQ6IGFueSwga2V5OiBhbnkgPSAndGFibGVGaWVsZCcpIHtcclxuICAgIGxvY2FsU3RvcmFnZS5zZXRJdGVtKGtleSwgSlNPTi5zdHJpbmdpZnkodGFibGVGaWVsZCkpO1xyXG4gIH1cclxuXHJcbiAgcmVzdG9yZVRhYmxlRmllbGRTdGF0ZShrZXk6IGFueSA9ICd0YWJsZUZpZWxkJyk6IGFueSB8IG51bGwge1xyXG4gICAgY29uc3QgZGF0YSA9IGxvY2FsU3RvcmFnZS5nZXRJdGVtKGtleSk7XHJcbiAgICByZXR1cm4gZGF0YSA/IEpTT04ucGFyc2UoZGF0YSkgOiBudWxsO1xyXG4gIH1cclxuXHJcbiAgYWRkQ29tYXNUb051bWJlclZhbHVlcyh2YWx1ZTogYW55KSB7XHJcbiAgICBsZXQgbmV3VmFsOiBhbnkgPSB2YWx1ZTtcclxuICAgIGlmICghdGhpcy5jaGVja0lmVmFsdWVJc0VtcHR5KHZhbHVlKSkge1xyXG4gICAgICBpZiAoXHJcbiAgICAgICAgTnVtYmVyKFxyXG4gICAgICAgICAgdmFsdWVcclxuXHJcbiAgICAgICAgICAgIC50b1N0cmluZygpXHJcblxyXG4gICAgICAgICAgICAucmVwbGFjZShcclxuICAgICAgICAgICAgICAvW15cXHgyMC1cXHgyNFxceDI3LVxceDI5XFx4MkItXFx4NEVcXHg0MC1cXHg1RVxceDYwLVxceDdBXFx4N0NcXHg3RV0rL2dpLFxyXG5cclxuICAgICAgICAgICAgICAnJ1xyXG4gICAgICAgICAgICApXHJcblxyXG4gICAgICAgICAgICAucmVwbGFjZUFsbCgnLCcsICcnKVxyXG5cclxuICAgICAgICAgICAgLnJlcGxhY2VBbGwoJ+KCuScsICcnKVxyXG4gICAgICAgIClcclxuICAgICAgKSB7XHJcbiAgICAgICAgbmV3VmFsID0gTnVtYmVyKFxyXG4gICAgICAgICAgdmFsdWVcclxuXHJcbiAgICAgICAgICAgIC50b1N0cmluZygpXHJcblxyXG4gICAgICAgICAgICAucmVwbGFjZShcclxuICAgICAgICAgICAgICAvW15cXHgyMC1cXHgyNFxceDI3LVxceDI5XFx4MkItXFx4NEVcXHg0MC1cXHg1RVxceDYwLVxceDdBXFx4N0NcXHg3RV0rL2dpLFxyXG5cclxuICAgICAgICAgICAgICAnJ1xyXG4gICAgICAgICAgICApXHJcblxyXG4gICAgICAgICAgICAucmVwbGFjZUFsbCgn4oK5JywgJycpXHJcblxyXG4gICAgICAgICAgICAucmVwbGFjZUFsbCgnLCcsICcnKVxyXG4gICAgICAgIClcclxuICAgICAgICAgIC50b0xvY2FsZVN0cmluZygnZW4tSU4nLCB7XHJcbiAgICAgICAgICAgIHN0eWxlOiAnY3VycmVuY3knLFxyXG5cclxuICAgICAgICAgICAgY3VycmVuY3k6ICdJTlInLFxyXG5cclxuICAgICAgICAgICAgbWluaW11bUZyYWN0aW9uRGlnaXRzOiAwLFxyXG5cclxuICAgICAgICAgICAgbWF4aW11bUZyYWN0aW9uRGlnaXRzOiAwLFxyXG4gICAgICAgICAgfSlcclxuXHJcbiAgICAgICAgICAuc3BsaXQoJ+KCuScpWzFdO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICByZXR1cm4gbmV3VmFsO1xyXG4gIH1cclxuXHJcbiAgcmVtb3ZlQ29tYXNBbmRDdXJyZW5jeVN5bWJvbEZyb21OdW1iZXJWYWx1ZXModmFsdWU6IGFueSkge1xyXG4gICAgaWYgKCF0aGlzLmNoZWNrSWZWYWx1ZUlzRW1wdHkodmFsdWUpKSB7XHJcbiAgICAgIHJldHVybiB2YWx1ZVxyXG5cclxuICAgICAgICAudG9TdHJpbmcoKVxyXG5cclxuICAgICAgICAucmVwbGFjZShcclxuICAgICAgICAgIC9bXlxceDIwLVxceDI0XFx4MjctXFx4MjlcXHgyQi1cXHg0RVxceDQwLVxceDVFXFx4NjAtXFx4N0FcXHg3Q1xceDdFXSsvZ2ksXHJcblxyXG4gICAgICAgICAgJydcclxuICAgICAgICApXHJcblxyXG4gICAgICAgIC5yZXBsYWNlQWxsKCfigrknLCAnJylcclxuXHJcbiAgICAgICAgLnJlcGxhY2VBbGwoJywnLCAnJyk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICByZXR1cm4gdmFsdWU7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBvbklucHV0Q2hhbmdlUmVnZXhWYWxpZGF0aW9uKGZpZWxkIDogYW55LCB2YWx1ZSA6IGFueSkge1xyXG4gICAgZmllbGQuY29uZmlnRGF0YVsnaXNJbnZhbGlkUGF0dGVybiddID0gdHJ1ZTtcclxuICAgIGxldCBwYXR0ZXJuc0FycmF5IDogYW55ID0gW107XHJcbiAgICBwYXR0ZXJuc0FycmF5ID0gZmllbGQ/LnZhbGlkYXRvcnM/LnBhdHRlcm4gPyBmaWVsZD8udmFsaWRhdG9ycz8ucGF0dGVybiA6IFtdLmNvbmNhdChmaWVsZD8uY29uZmlnRGF0YT8ucGF0dGVybnMgPyBmaWVsZD8uY29uZmlnRGF0YT8ucGF0dGVybnMgOiBbXSkuZmlsdGVyKChzaW5nbGVQYXR0ZXJuIDogYW55KSA9PiAhdGhpcy5jaGVja0lmVmFsdWVJc0VtcHR5KHNpbmdsZVBhdHRlcm4pKTtcclxuICAgIGlmKCF0aGlzLmNoZWNrSWZWYWx1ZUlzRW1wdHkocGF0dGVybnNBcnJheSkgJiYgIXRoaXMuY2hlY2tJZlZhbHVlSXNFbXB0eSh2YWx1ZSkpIHtcclxuICAgICAgcGF0dGVybnNBcnJheS5mb3JFYWNoKChzaW5nbGVQYXR0ZXJuIDogYW55KSA9PiB7XHJcbiAgICAgICAgICBsZXQgcmVnZXggOiBhbnkgPSBuZXcgUmVnRXhwKHNpbmdsZVBhdHRlcm4pXHJcbiAgICAgICAgICBpZihyZWdleC50ZXN0KHZhbHVlKSkge1xyXG4gICAgICAgICAgICBmaWVsZC5jb25maWdEYXRhWydpc0ludmFsaWRQYXR0ZXJuJ10gPSBmYWxzZTtcclxuICAgICAgICAgIH1cclxuICAgICAgfSk7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiJdfQ==