@sumaris-net/ngx-components 1.2.14 → 1.2.18-rc1

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.
@@ -22,14 +22,14 @@ import * as i10 from "../../pipes/arrays.pipe";
22
22
  import * as i11 from "../../pipes/maps.pipe";
23
23
  const MASKS = {
24
24
  latitude: {
25
- DDMMSS: [' ', /\d/, /\d/, '°', ' ', /[0-5]/, /\d/, '\'', ' ', /[0-5]/, /\d/, '.', /\d/, /\d/, '"'],
26
- DDMM: [' ', /\d/, /\d/, '°', ' ', /[0-5]/, /\d/, '.', /\d/, /\d/, /\d/, '\''],
25
+ DDMMSS: [' ', /\d/, /\d/, '°', ' ', /\d/, /\d/, '\'', ' ', /\d/, /\d/, '.', /\d/, /\d/, '"'],
26
+ DDMM: [' ', /\d/, /\d/, '°', ' ', /\d/, /\d/, '.', /\d/, /\d/, /\d/, '\''],
27
27
  DD: [/[+-]/, ' ', /\d/, /\d/, '.', /\d/, /\d/, /\d/, /\d/, /\d/, /\d/, /\d/, '°']
28
28
  },
29
29
  longitude: {
30
- DDMMSS: [/[0-1]/, /\d/, /\d/, '°', ' ', /[0-5]/, /\d/, '\'', ' ', /[0-5]/, /\d/, '.', /\d/, /\d/, '"'],
31
- DDMM: [/[0-1]/, /\d/, /\d/, '°', ' ', /[0-5]/, /\d/, '.', /\d/, /\d/, /\d/, '\''],
32
- DD: [/[+-]/, /[0-1]/, /\d/, /\d/, '.', /\d/, /\d/, /\d/, /\d/, /\d/, /\d/, /\d/, '°']
30
+ DDMMSS: [/\d/, /\d/, /\d/, '°', ' ', /\d/, /\d/, '\'', ' ', /\d/, /\d/, '.', /\d/, /\d/, '"'],
31
+ DDMM: [/\d/, /\d/, /\d/, '°', ' ', /\d/, /\d/, '.', /\d/, /\d/, /\d/, '\''],
32
+ DD: [/[+-]/, /\d/, /\d/, /\d/, '.', /\d/, /\d/, /\d/, /\d/, /\d/, /\d/, /\d/, '°']
33
33
  }
34
34
  };
35
35
  const noop = () => {
@@ -378,4 +378,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImpo
378
378
  type: ViewChild,
379
379
  args: ['inputElement']
380
380
  }] } });
381
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWF0ZXJpYWwubGF0bG9uZy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvc2hhcmVkL21hdGVyaWFsL2xhdGxvbmcvbWF0ZXJpYWwubGF0bG9uZy50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvc2hhcmVkL21hdGVyaWFsL2xhdGxvbmcvbWF0ZXJpYWwubGF0bG9uZy5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyx1QkFBdUIsRUFBcUIsU0FBUyxFQUFjLFlBQVksRUFBRSxVQUFVLEVBQUUsS0FBSyxFQUFxQixRQUFRLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUVqTCxPQUFPLEVBQTJDLGlCQUFpQixFQUEwQyxVQUFVLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUMvSSxPQUFPLEVBQUMsZ0JBQWdCLEVBQUMsTUFBTSw0QkFBNEIsQ0FBQztBQUM1RCxPQUFPLEVBQUMsY0FBYyxFQUFFLGVBQWUsRUFBRSw2QkFBNkIsRUFBeUQsd0JBQXdCLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUNoTCxPQUFPLEVBQUMsc0JBQXNCLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUN2RCxPQUFPLEVBQUMsTUFBTSxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFDdEMsT0FBTyxFQUFDLEtBQUssRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFFLGVBQWUsRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBQzdFLE9BQU8sRUFBQyxnQkFBZ0IsRUFBRSx5QkFBeUIsRUFBRSxrQkFBa0IsRUFBRSxnQkFBZ0IsRUFBQyxNQUFNLGNBQWMsQ0FBQztBQUMvRyxPQUFPLEVBQUMsS0FBSyxFQUFFLFlBQVksRUFBQyxNQUFNLE1BQU0sQ0FBQztBQUV6QyxPQUFPLEVBQUMsb0JBQW9CLEVBQUMsTUFBTSw0QkFBNEIsQ0FBQzs7Ozs7Ozs7Ozs7OztBQUVoRSxNQUFNLEtBQUssR0FJUDtJQUNGLFFBQVEsRUFBRTtRQUNSLE1BQU0sRUFBRSxDQUFDLEdBQUcsRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsR0FBRyxDQUFDO1FBQ2xHLElBQUksRUFBRSxDQUFDLEdBQUcsRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDO1FBQzdFLEVBQUUsRUFBRSxDQUFDLE1BQU0sRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLEdBQUcsQ0FBQztLQUNsRjtJQUNELFNBQVMsRUFBRTtRQUNULE1BQU0sRUFBRSxDQUFDLE9BQU8sRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsR0FBRyxDQUFDO1FBQ3RHLElBQUksRUFBRSxDQUFDLE9BQU8sRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDO1FBQ2pGLEVBQUUsRUFBRSxDQUFDLE1BQU0sRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLElB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Y0FBYyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENoYW5nZURldGVjdG9yUmVmLCBDb21wb25lbnQsIEVsZW1lbnRSZWYsIEV2ZW50RW1pdHRlciwgZm9yd2FyZFJlZiwgSW5wdXQsIE9uRGVzdHJveSwgT25Jbml0LCBPcHRpb25hbCwgT3V0cHV0LCBWaWV3Q2hpbGR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtGbG9hdExhYmVsVHlwZSwgTWF0Rm9ybUZpZWxkQXBwZWFyYW5jZX0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZm9ybS1maWVsZCc7XG5pbXBvcnQge0NvbnRyb2xWYWx1ZUFjY2Vzc29yLCBGb3JtR3JvdXBEaXJlY3RpdmUsIE5HX1ZBTFVFX0FDQ0VTU09SLCBVbnR5cGVkRm9ybUJ1aWxkZXIsIFVudHlwZWRGb3JtQ29udHJvbCwgVmFsaWRhdG9yc30gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHtTaGFyZWRWYWxpZGF0b3JzfSBmcm9tICcuLi8uLi92YWxpZGF0b3IvdmFsaWRhdG9ycyc7XG5pbXBvcnQge2Zvcm1hdExhdGl0dWRlLCBmb3JtYXRMb25naXR1ZGUsIExBVF9MT05HX0RFRkFVTFRfTUFYX0RFQ0lNQUxTLCBMYXRMb25nRm9ybWF0Rm4sIExhdExvbmdGb3JtYXRPcHRpb25zLCBMYXRMb25nUGF0dGVybiwgcGFyc2VMYXRpdHVkZU9yTG9uZ2l0dWRlfSBmcm9tICcuL2xhdGxvbmcudXRpbHMnO1xuaW1wb3J0IHtFTVBUWV9QTEFDRUhPTERFUl9DSEFSfSBmcm9tICcuLi8uLi9jb25zdGFudHMnO1xuaW1wb3J0IHtmaWx0ZXJ9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7aXNOaWwsIGlzTmlsT3JOYU4sIGlzTm90TmlsLCBpc05vdE5pbE9yQmxhbmt9IGZyb20gJy4uLy4uL2Z1bmN0aW9ucyc7XG5pbXBvcnQge2dldENhcmV0UG9zaXRpb24sIG1vdmVJbnB1dENhcmV0VG9TZXBhcmF0b3IsIHNlbGVjdElucHV0Q29udGVudCwgc2VsZWN0SW5wdXRSYW5nZX0gZnJvbSAnLi4vLi4vaW5wdXRzJztcbmltcG9ydCB7bWVyZ2UsIFN1YnNjcmlwdGlvbn0gZnJvbSAncnhqcyc7XG5pbXBvcnQge1RleHRNYXNrQ29uZmlnfSBmcm9tICdhbmd1bGFyMi10ZXh0LW1hc2snO1xuaW1wb3J0IHtERUZBVUxUX01BWF9ERUNJTUFMU30gZnJvbSAnLi4vZHVyYXRpb24vZHVyYXRpb24udXRpbHMnO1xuXG5jb25zdCBNQVNLUzoge1xuICBba2V5OiBzdHJpbmddOiB7XG4gICAgW3BhdHRlcm46IHN0cmluZ106IEFycmF5PHN0cmluZ3xSZWdFeHA+O1xuICB9O1xufSA9IHtcbiAgbGF0aXR1ZGU6IHtcbiAgICBERE1NU1M6IFsnICcsIC9cXGQvLCAvXFxkLywgJ8KwJywgJyAnLCAvWzAtNV0vLCAvXFxkLywgJ1xcJycsICcgJywgL1swLTVdLywgL1xcZC8sICcuJywgL1xcZC8sIC9cXGQvLCAnXCInXSxcbiAgICBERE1NOiBbJyAnLCAvXFxkLywgL1xcZC8sICfCsCcsICcgJywgL1swLTVdLywgL1xcZC8sICcuJywgL1xcZC8sIC9cXGQvLCAvXFxkLywgJ1xcJyddLFxuICAgIEREOiBbL1srLV0vLCAnICcsIC9cXGQvLCAvXFxkLywgJy4nLCAvXFxkLywgL1xcZC8sIC9cXGQvLCAvXFxkLywgL1xcZC8sIC9cXGQvLCAvXFxkLywgJ8KwJ11cbiAgfSxcbiAgbG9uZ2l0dWRlOiB7XG4gICAgRERNTVNTOiBbL1swLTFdLywgL1xcZC8sIC9cXGQvLCAnwrAnLCAnICcsIC9bMC01XS8sIC9cXGQvLCAnXFwnJywgJyAnLCAvWzAtNV0vLCAvXFxkLywgJy4nLCAvXFxkLywgL1xcZC8sICdcIiddLFxuICAgIERETU06IFsvWzAtMV0vLCAvXFxkLywgL1xcZC8sICfCsCcsICcgJywgL1swLTVdLywgL1xcZC8sICcuJywgL1xcZC8sIC9cXGQvLCAvXFxkLywgJ1xcJyddLFxuICAgIEREOiBbL1srLV0vLCAvWzAtMV0vLCAvXFxkLywgL1xcZC8sICcuJywgL1xcZC8sIC9cXGQvLCAvXFxkLywgL1xcZC8sIC9cXGQvLCAvXFxkLywgL1xcZC8sICfCsCddXG4gIH1cbn07XG5cbmNvbnN0IG5vb3AgPSAoKSA9PiB7XG59O1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdtYXQtbGF0bG9uZy1maWVsZCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9tYXRlcmlhbC5sYXRsb25nLmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9tYXRlcmlhbC5sYXRsb25nLnNjc3MnXSxcbiAgcHJvdmlkZXJzOiBbXG4gICAge1xuICAgICAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXG4gICAgICBtdWx0aTogdHJ1ZSxcbiAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IE1hdExhdExvbmdGaWVsZCksXG4gICAgfVxuICBdLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxufSlcbmV4cG9ydCBjbGFzcyBNYXRMYXRMb25nRmllbGQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSwgQ29udHJvbFZhbHVlQWNjZXNzb3Ige1xuICBwcml2YXRlIF9vbkNoYW5nZUNhbGxiYWNrOiAoXzogYW55KSA9PiB2b2lkID0gbm9vcDtcbiAgcHJpdmF0ZSBfb25Ub3VjaGVkQ2FsbGJhY2s6ICgpID0+IHZvaWQgPSBub29wO1xuICBwcml2YXRlIF9zdWJzY3JpcHRpb24gPSBuZXcgU3Vic2NyaXB0aW9uKCk7XG4gIHByaXZhdGUgX2Zvcm1hdE9wdGlvbnM6IExhdExvbmdGb3JtYXRPcHRpb25zO1xuICBwcml2YXRlIF9kaXNhYmxpbmcgPSBmYWxzZTtcbiAgcHJpdmF0ZSBfd3JpdGluZyA9IGZhbHNlO1xuXG4gIF9yZWFkb25seSA9IGZhbHNlO1xuICBfZm9ybWF0Rm46IExhdExvbmdGb3JtYXRGbjtcbiAgdGV4dE1hc2tDb25maWc6IFRleHRNYXNrQ29uZmlnO1xuICB0ZXh0Rm9ybUNvbnRyb2w6IFVudHlwZWRGb3JtQ29udHJvbDtcbiAgc2lnbkZvcm1Db250cm9sOiBVbnR5cGVkRm9ybUNvbnRyb2w7XG4gIG1hc2s6IEFycmF5PHN0cmluZyB8IFJlZ0V4cD4gfCAoKHJhdzogc3RyaW5nKSA9PiBBcnJheTxzdHJpbmcgfCBSZWdFeHA+KSB8IGZhbHNlO1xuICBpbnB1dFBsYWNlaG9sZGVyOiBzdHJpbmc7XG4gIHNob3dTaWduQ29udHJvbDogYm9vbGVhbjtcblxuICBnZXQgZGlzYWJsZWQoKTogYW55IHtcbiAgICByZXR1cm4gdGhpcy5yZWFkb25seSB8fCB0aGlzLmZvcm1Db250cm9sLmRpc2FibGVkO1xuICB9XG5cbiAgQElucHV0KCkgZm9ybUNvbnRyb2w6IFVudHlwZWRGb3JtQ29udHJvbDtcbiAgQElucHV0KCkgZm9ybUNvbnRyb2xOYW1lOiBzdHJpbmc7XG4gIEBJbnB1dCgpIHR5cGU6ICdsYXRpdHVkZScgfCAnbG9uZ2l0dWRlJztcbiAgQElucHV0KCdsYXRMb25nUGF0dGVybicpIHBhdHRlcm46IExhdExvbmdQYXR0ZXJuO1xuICBASW5wdXQoKSByZXF1aXJlZCA9IGZhbHNlO1xuICBASW5wdXQoKSBmbG9hdExhYmVsOiBGbG9hdExhYmVsVHlwZSA9ICdhdXRvJztcbiAgQElucHV0KCkgYXBwZWFyYW5jZTogTWF0Rm9ybUZpZWxkQXBwZWFyYW5jZTtcbiAgQElucHV0KCkgcGxhY2Vob2xkZXI6IHN0cmluZztcbiAgQElucHV0KCkgdGFiaW5kZXg6IG51bWJlcjtcbiAgQElucHV0KCkgZGVmYXVsdFNpZ246ICctJyB8ICcrJztcbiAgQElucHV0KCkgbWF4RGVjaW1hbHM6IG51bWJlciA9IExBVF9MT05HX0RFRkFVTFRfTUFYX0RFQ0lNQUxTO1xuICBASW5wdXQoKSBwbGFjZWhvbGRlckNoYXI6IHN0cmluZyA9IEVNUFRZX1BMQUNFSE9MREVSX0NIQVI7XG5cbiAgQElucHV0KCkgc2V0IHJlYWRvbmx5KHZhbHVlOiBib29sZWFuKXtcbiAgICB0aGlzLl9yZWFkb25seSA9IHZhbHVlO1xuICAgIHRoaXMubWFya0ZvckNoZWNrKCk7XG4gIH1cblxuICBnZXQgcmVhZG9ubHkoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuX3JlYWRvbmx5O1xuICB9XG5cbiAgQE91dHB1dCgpIG9uQmx1ciA9IG5ldyBFdmVudEVtaXR0ZXI8Rm9jdXNFdmVudD4oKTtcbiAgQE91dHB1dCgpIG9uRm9jdXMgPSBuZXcgRXZlbnRFbWl0dGVyPEZvY3VzRXZlbnQ+KCk7XG5cbiAgQFZpZXdDaGlsZCgnaW5wdXRFbGVtZW50JykgaW5wdXRFbGVtZW50OiBFbGVtZW50UmVmO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgZm9ybUJ1aWxkZXI6IFVudHlwZWRGb3JtQnVpbGRlcixcbiAgICBwcml2YXRlIGNkOiBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICBAT3B0aW9uYWwoKSBwcml2YXRlIGZvcm1Hcm91cERpcjogRm9ybUdyb3VwRGlyZWN0aXZlXG4gICkge1xuICB9XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgdGhpcy50eXBlID0gdGhpcy50eXBlIHx8ICdsYXRpdHVkZSc7XG4gICAgdGhpcy5wYXR0ZXJuID0gdGhpcy5wYXR0ZXJuIHx8ICdERE1NJztcbiAgICB0aGlzLm1hc2sgPSBNQVNLU1t0aGlzLnR5cGVdICYmIE1BU0tTW3RoaXMudHlwZV1bdGhpcy5wYXR0ZXJuXTtcbiAgICBpZiAoIXRoaXMubWFzaykge1xuICAgICAgY29uc29sZS5lcnJvcignSW52YWxpZCBhdHRyaWJ1dGUgdmFsdWUuIEV4cGVjdGVkOiB0eXBlOiBcXCdsYXRpdHVkZXxsb25naXR1ZGVcXCcgYW5kIGxhdGxvbmdQYXR0ZXJuOiBcXCdERHxERE1NfERETU1TU1xcJycpO1xuICAgICAgdGhpcy50eXBlID0gJ2xhdGl0dWRlJztcbiAgICAgIHRoaXMucGF0dGVybiA9ICdERE1NJztcbiAgICAgIHRoaXMubWFzayA9IE1BU0tTW3RoaXMudHlwZV1bdGhpcy5wYXR0ZXJuXTtcbiAgICB9XG5cbiAgICAvLyBSZW1vdmUgbWF4IGRlY2ltYWxzIGluIHRoZSBERE1NU1MgZm9ybWF0XG4gICAgaWYgKHRoaXMucGF0dGVybiA9PT0gJ0REJykge1xuICAgICAgY29uc29sZS53YXJuKGBJbnZhbGlkIGF0dHJpYnV0ZSAnbWF4RGVjaW1hbHMnIC0gTXVzdCBiZSAnMCcgd2hlbiB1c2luZyB0aGUgJ0RETU1TUycgcGF0dGVybi5gKTtcbiAgICAgIHRoaXMubWF4RGVjaW1hbHMgPSA3O1xuICAgIH1cbiAgICBlbHNlIGlmICh0aGlzLnBhdHRlcm4gPT09ICdERE1NU1MnKSB7XG4gICAgICBjb25zb2xlLndhcm4oYEludmFsaWQgYXR0cmlidXRlICdtYXhEZWNpbWFscycgLSBNdXN0IGJlICcwJyB3aGVuIHVzaW5nIHRoZSAnRERNTVNTJyBwYXR0ZXJuLmApO1xuICAgICAgdGhpcy5tYXhEZWNpbWFscyA9IDA7XG4gICAgfVxuICAgIGVsc2UgaWYgKGlzTmlsKHRoaXMubWF4RGVjaW1hbHMpKSB7XG4gICAgICB0aGlzLm1heERlY2ltYWxzID0gREVGQVVMVF9NQVhfREVDSU1BTFM7XG4gICAgfVxuICAgIGVsc2UgaWYgKHRoaXMubWF4RGVjaW1hbHMgPCAwKSB7XG4gICAgICBjb25zb2xlLmVycm9yKCdJbnZhbGlkIGF0dHJpYnV0ZSBcXCdtYXhEZWNpbWFsc1xcJy4gTXVzdCBhIHBvc2l0aXZlIHZhbHVlLicpO1xuICAgICAgdGhpcy5tYXhEZWNpbWFscyA9IERFRkFVTFRfTUFYX0RFQ0lNQUxTO1xuICAgIH1cbiAgICBlbHNlIGlmICh0aGlzLm1heERlY2ltYWxzICE9PSBERUZBVUxUX01BWF9ERUNJTUFMUykge1xuICAgICAgY29uc29sZS53YXJuKGBJbnZhbGlkIGF0dHJpYnV0ZSAnbWF4RGVjaW1hbHMnIC0gRXhwZWN0ZWQgdmFsdWU6ICR7REVGQVVMVF9NQVhfREVDSU1BTFN9IGJ1dCBnZXQ6ICR7dGhpcy5tYXhEZWNpbWFsc30uIE90aGVyIHZhbHVlIG5vdCBpbXBsZW1lbnRlZC5gKTtcbiAgICAgIHRoaXMubWF4RGVjaW1hbHMgPSBERUZBVUxUX01BWF9ERUNJTUFMUztcbiAgICB9XG5cbiAgICB0aGlzLnNob3dTaWduQ29udHJvbCA9IHRoaXMucGF0dGVybiAhPT0gJ0REJztcblxuICAgIHRoaXMuX2Zvcm1hdEZuID0gdGhpcy50eXBlID09PSAnbGF0aXR1ZGUnID8gZm9ybWF0TGF0aXR1ZGUgOiBmb3JtYXRMb25naXR1ZGU7XG4gICAgdGhpcy5fZm9ybWF0T3B0aW9ucyA9IHtwYXR0ZXJuOiB0aGlzLnBhdHRlcm4sIG1heERlY2ltYWxzOiB0aGlzLm1heERlY2ltYWxzLCBoaWRlU2lnbjogdGhpcy5zaG93U2lnbkNvbnRyb2x9O1xuXG4gICAgdGhpcy5pbnB1dFBsYWNlaG9sZGVyID0gJ0NPTU1PTi5MQVRfTE9ORy4nICsgKHRoaXMudHlwZSA9PT0gJ2xvbmdpdHVkZScgJiYgJ0QnIHx8ICcnKSArIHRoaXMucGF0dGVybiArICdfUExBQ0VIT0xERVInO1xuXG4gICAgdGhpcy50ZXh0Rm9ybUNvbnRyb2wgPSB0aGlzLmZvcm1CdWlsZGVyLmNvbnRyb2woXG4gICAgICB0aGlzLnJlcXVpcmVkID8gW251bGwsIFZhbGlkYXRvcnMucmVxdWlyZWRdIDogW251bGxdXG4gICAgKTtcbiAgICB0aGlzLnRleHRNYXNrQ29uZmlnID0ge21hc2s6IHRoaXMubWFzaywga2VlcENoYXJQb3NpdGlvbnM6IHRydWUsIHBsYWNlaG9sZGVyQ2hhcjogdGhpcy5wbGFjZWhvbGRlckNoYXJ9O1xuXG4gICAgdGhpcy5zaWduRm9ybUNvbnRyb2wgPSB0aGlzLmZvcm1CdWlsZGVyLmNvbnRyb2woXG4gICAgICB0aGlzLnJlcXVpcmVkID8gW251bGwsIFZhbGlkYXRvcnMucmVxdWlyZWRdIDogW251bGxdXG4gICAgKTtcblxuICAgIHRoaXMuZm9ybUNvbnRyb2wgPSB0aGlzLmZvcm1Db250cm9sIHx8IHRoaXMuZm9ybUNvbnRyb2xOYW1lICYmIHRoaXMuZm9ybUdyb3VwRGlyICYmIHRoaXMuZm9ybUdyb3VwRGlyLmZvcm0uZ2V0KHRoaXMuZm9ybUNvbnRyb2xOYW1lKSBhcyBVbnR5cGVkRm9ybUNvbnRyb2w7XG4gICAgaWYgKCF0aGlzLmZvcm1Db250cm9sKSB0aHJvdyBuZXcgRXJyb3IoJ01pc3NpbmcgbWFuZGF0b3J5IGF0dHJpYnV0ZSBcXCdmb3JtQ29udHJvbFxcJyBvciBcXCdmb3JtQ29udHJvbE5hbWVcXCcgaW4gPG1hdC1sYXRsb25nLWZpZWxkPi4nKTtcblxuICAgIGNvbnN0IGV4aXN0aW5nVmFsaWRhdG9ycyA9IHRoaXMuZm9ybUNvbnRyb2wudmFsaWRhdG9yO1xuICAgIGlmIChleGlzdGluZ1ZhbGlkYXRvcnMpIHtcbiAgICAgIHRoaXMuZm9ybUNvbnRyb2wuc2V0VmFsaWRhdG9ycyhbXG4gICAgICAgIGV4aXN0aW5nVmFsaWRhdG9ycyxcbiAgICAgICAgdGhpcy50eXBlID09PSAnbGF0aXR1ZGUnID8gU2hhcmVkVmFsaWRhdG9ycy5sYXRpdHVkZSA6IFNoYXJlZFZhbGlkYXRvcnMubG9uZ2l0dWRlXG4gICAgICBdKTtcbiAgICB9XG4gICAgZWxzZSB7XG4gICAgICB0aGlzLmZvcm1Db250cm9sLnNldFZhbGlkYXRvcnModGhpcy50eXBlID09PSAnbGF0aXR1ZGUnID8gU2hhcmVkVmFsaWRhdG9ycy5sYXRpdHVkZSA6IFNoYXJlZFZhbGlkYXRvcnMubG9uZ2l0dWRlKTtcbiAgICB9XG5cbiAgICB0aGlzLl9zdWJzY3JpcHRpb24uYWRkKFxuICAgICAgbWVyZ2UoXG4gICAgICAgIHRoaXMudGV4dEZvcm1Db250cm9sLnZhbHVlQ2hhbmdlcyxcbiAgICAgICAgdGhpcy5zaWduRm9ybUNvbnRyb2wudmFsdWVDaGFuZ2VzXG4gICAgICApXG4gICAgICAgIC5zdWJzY3JpYmUoKF8pID0+IHRoaXMub25Gb3JtQ2hhbmdlKHRoaXMudGV4dEZvcm1Db250cm9sLnZhbHVlKSlcbiAgICApO1xuXG4gICAgLy8gTGlzdGVuIHN0YXR1cyBjaGFuZ2VzICh3aGVuIGRvbmUgb3V0c2lkZSB0aGUgY29tcG9uZW50ICAtIGUuZy4gd2hlbiBzZXRFcnJvcnMoKSBpcyBjYWxsaW5nIG9uIHRoZSBmb3JtQ29udHJvbClcbiAgICB0aGlzLl9zdWJzY3JpcHRpb24uYWRkKFxuICAgICAgdGhpcy5mb3JtQ29udHJvbC5zdGF0dXNDaGFuZ2VzXG4gICAgICAgIC5waXBlKFxuICAgICAgICAgIGZpbHRlcigoXykgPT4gIXRoaXMucmVhZG9ubHkgJiYgIXRoaXMuX3dyaXRpbmcgJiYgIXRoaXMuX2Rpc2FibGluZykgLy8gU2tpcFxuICAgICAgICApXG4gICAgICAgIC5zdWJzY3JpYmUoKF8pID0+IHRoaXMubWFya0ZvckNoZWNrKCkpXG4gICAgKTtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCkge1xuICAgIHRoaXMuX3N1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xuICB9XG5cbiAgd3JpdGVWYWx1ZShvYmo6IGFueSk6IHZvaWQge1xuICAgIGlmICh0aGlzLl93cml0aW5nKSByZXR1cm47XG5cbiAgICBjb25zdCB2YWx1ZSA9ICh0eXBlb2Ygb2JqID09PSAnc3RyaW5nJykgPyBwYXJzZUZsb2F0KG9iai5yZXBsYWNlKC8sL2csICcuJykpIDogb2JqO1xuICAgIHRoaXMuX3dyaXRpbmcgPSB0cnVlO1xuICAgIGNvbnN0IHN0clZhbHVlID0gdGhpcy5fZm9ybWF0Rm4odmFsdWUsIHsuLi50aGlzLl9mb3JtYXRPcHRpb25zLCBwbGFjZWhvbGRlckNoYXI6IHRoaXMucGxhY2Vob2xkZXJDaGFyfSk7XG4gICAgY29uc3Qgc2lnbiA9IGlzTm90TmlsKHZhbHVlKSA/ICh2YWx1ZSA8IDAgPyAtMSA6IDEpIDpcbiAgICAgIC8vIFVzZSBkZWZhdWx0IHNpZ24sIGlmIGFueVxuICAgICAgKHRoaXMuZGVmYXVsdFNpZ24gPyAodGhpcy5kZWZhdWx0U2lnbiA9PT0gJy0nID8gLTEgOiAxKSA6IG51bGwpO1xuXG4gICAgLy8gREVCVUdcbiAgICAvLyBjb25zb2xlLmRlYnVnKFwic3RyVmFsdWU6IFwiICsgc3RyVmFsdWUpXG4gICAgLy8gY29uc29sZS5kZWJ1ZyhcInNpZ246IFwiICsgc2lnbilcblxuICAgIHRoaXMudGV4dEZvcm1Db250cm9sLnBhdGNoVmFsdWUoc3RyVmFsdWUsIHtlbWl0RXZlbnQ6IGZhbHNlfSk7XG4gICAgdGhpcy5zaWduRm9ybUNvbnRyb2wucGF0Y2hWYWx1ZShzaWduLCB7ZW1pdEV2ZW50OiBmYWxzZX0pO1xuICAgIHRoaXMuX3dyaXRpbmcgPSBmYWxzZTtcbiAgICB0aGlzLm1hcmtGb3JDaGVjaygpO1xuICB9XG5cbiAgcmVnaXN0ZXJPbkNoYW5nZShmbjogYW55KTogdm9pZCB7XG4gICAgdGhpcy5fb25DaGFuZ2VDYWxsYmFjayA9IGZuO1xuICB9XG5cbiAgcmVnaXN0ZXJPblRvdWNoZWQoZm46IGFueSk6IHZvaWQge1xuICAgIHRoaXMuX29uVG91Y2hlZENhbGxiYWNrID0gZm47XG4gIH1cblxuICBzZXREaXNhYmxlZFN0YXRlKGlzRGlzYWJsZWQ6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICBpZiAodGhpcy5fZGlzYWJsaW5nKSByZXR1cm47XG5cbiAgICB0aGlzLl9kaXNhYmxpbmcgPSB0cnVlO1xuICAgIGlmIChpc0Rpc2FibGVkKSB7XG4gICAgICB0aGlzLnRleHRGb3JtQ29udHJvbC5kaXNhYmxlKHtvbmx5U2VsZjogdHJ1ZSwgZW1pdEV2ZW50OiBmYWxzZX0pO1xuICAgICAgdGhpcy5zaWduRm9ybUNvbnRyb2wuZGlzYWJsZSh7b25seVNlbGY6IHRydWUsIGVtaXRFdmVudDogZmFsc2V9KTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy50ZXh0Rm9ybUNvbnRyb2wuZW5hYmxlKHtvbmx5U2VsZjogdHJ1ZSwgZW1pdEV2ZW50OiBmYWxzZX0pO1xuICAgICAgdGhpcy5zaWduRm9ybUNvbnRyb2wuZW5hYmxlKHtvbmx5U2VsZjogdHJ1ZSwgZW1pdEV2ZW50OiBmYWxzZX0pO1xuICAgIH1cbiAgICB0aGlzLl9kaXNhYmxpbmcgPSBmYWxzZTtcbiAgICB0aGlzLm1hcmtGb3JDaGVjaygpO1xuICB9XG5cbiAgLyoqXG4gICAqIEZvcm1hdCB2YWx1ZSB0byBkaXNwbGF5IGFzIHN0cmluZyAobm8gcGxhY2Vob2xkZXIgY2hhciwgYW5kIHNob3cgc2lnbilcbiAgICogQHBhcmFtIHZhbHVlXG4gICAqIEBwYXJhbSBvcHRzXG4gICAqL1xuICBfZm9ybWF0KHZhbHVlOiBudW1iZXIsIG9wdHM/OiBQYXJ0aWFsPExhdExvbmdGb3JtYXRPcHRpb25zPikge1xuICAgIHJldHVybiB0aGlzLl9mb3JtYXRGbih2YWx1ZSwge1xuICAgICAgLi4udGhpcy5fZm9ybWF0T3B0aW9ucywgaGlkZVNpZ246IGZhbHNlLCBwbGFjZWhvbGRlckNoYXI6ICcnXG4gICAgfSk7XG4gIH1cblxuICBfb25Gb2N1cyhldmVudDogRm9jdXNFdmVudCkge1xuXG4gICAgLy8gQXBwbHkgdGhlIGRlZmF1bHQgc2lnbiwgd2hlbiBwYXR0ZXJuIGlzIEREIGFuZCBmaWVsZCBpcyBlbXB0eVxuICAgIGNvbnN0IHZhbHVlID0gdGhpcy5mb3JtQ29udHJvbC52YWx1ZTtcbiAgICBpZiAoaXNOaWxPck5hTih2YWx1ZSkpIHtcbiAgICAgIGlmICh0aGlzLmRlZmF1bHRTaWduKSB7XG4gICAgICAgIC8vIENvbXB1dGUgdGhlIHRleHQgdmFsdWUsIHVzaW5nIHRoZSBkZWZhdWx0IHNpZ25cbiAgICAgICAgY29uc3QgZGVmYXVsdFNpZ24gPSB0aGlzLmRlZmF1bHRTaWduID09PSAnLScgPyAtMSA6IDE7XG5cbiAgICAgICAgaWYgKHRoaXMucGF0dGVybiA9PT0gJ0REJykge1xuICAgICAgICAgIGxldCB2YWx1ZVN0ciA9IHRoaXMuX2Zvcm1hdEZuKGRlZmF1bHRTaWduLCB7Li4udGhpcy5fZm9ybWF0T3B0aW9ucywgcGxhY2Vob2xkZXJDaGFyOiB0aGlzLnBsYWNlaG9sZGVyQ2hhcn0pO1xuICAgICAgICAgIC8vIEtlZXAgb25seSB0aGUgc2lnbiAoJysnIG9yICctJykgYW5kIHBsYWNlaG9sZGVyIGNoYXJzLCBidXQgTk9UIHRoZSAnMSdcbiAgICAgICAgICB2YWx1ZVN0ciA9IHZhbHVlU3RyICYmIHZhbHVlU3RyLnJlcGxhY2UoJzEnLCB0aGlzLnBsYWNlaG9sZGVyQ2hhcik7XG5cbiAgICAgICAgICAvLyBXYWl0IGVuZCBvZiBmb2N1cyBhbmltYXRpb24gKGxhYmVsIHNob3VsZCBtb3ZlIHRvIHRvcClcbiAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICAgIC8vIFNldCB0aGUgdmFsdWVcbiAgICAgICAgICAgIHRoaXMuaW5wdXRFbGVtZW50Lm5hdGl2ZUVsZW1lbnQudmFsdWUgPSB2YWx1ZVN0cjtcblxuICAgICAgICAgICAgLy8gTW92ZSBjdXJzb3IgYWZ0ZXIgdGhlIHNpZ25cbiAgICAgICAgICAgIGNvbnN0IGNhcmV0SW5kZXggPSAodGhpcy50eXBlID09PSAnbGF0aXR1ZGUnKSA/IDIgOiAxO1xuICAgICAgICAgICAgc2VsZWN0SW5wdXRSYW5nZShldmVudC50YXJnZXQsIGNhcmV0SW5kZXgpO1xuICAgICAgICAgIH0sIDI1MCk7XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSB7XG4gICAgICAgICAgdGhpcy5zaWduRm9ybUNvbnRyb2wuc2V0VmFsdWUoZGVmYXVsdFNpZ24pO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gU2VsZWN0IHRoZSBjb250ZW50IChpZiB0aGVyZSBpcyBhIHZhbHVlKVxuICAgIGVsc2Uge1xuICAgICAgc2VsZWN0SW5wdXRDb250ZW50KGV2ZW50KTtcbiAgICB9XG5cbiAgICB0aGlzLm9uRm9jdXMuZW1pdChldmVudCk7XG4gICAgcmV0dXJuIHRydWU7XG4gIH1cblxuICBfb25CbHVyKGV2ZW50OiBGb2N1c0V2ZW50KSB7XG4gICAgY29uc3QgdG91Y2hlZCA9IHRoaXMuY2hlY2tJZlRvdWNoZWQoKTtcbiAgICBpZiAodG91Y2hlZCAmJiBpc05pbCh0aGlzLmZvcm1Db250cm9sPy52YWx1ZSkpIHtcbiAgICAgIHRoaXMuaW5wdXRFbGVtZW50Lm5hdGl2ZUVsZW1lbnQudmFsdWUgPSAnJztcbiAgICB9XG4gICAgdGhpcy5vbkJsdXIuZW1pdChldmVudCk7XG4gIH1cblxuICBtb3ZlQ2FyZXRUb1NlcGFyYXRvcihldmVudDogYW55LCBmb3J3YXJkOiBib29sZWFuKTogYm9vbGVhbiB7XG4gICAgLy8gTW92ZSB0byB0aGUgc3BhY2Ugc2VwYXJhdG9yXG4gICAgcmV0dXJuIG1vdmVJbnB1dENhcmV0VG9TZXBhcmF0b3IoZXZlbnQsICcgJywgZm9yd2FyZCk7XG4gIH1cblxuICBvbktleXByZXNzKGV2ZW50OiBLZXlib2FyZEV2ZW50KSB7XG4gICAgLy8gTnVtYmVyIGVudGVyZWQgb3Igb25lIG9mIHRoZSA0IGRpcmVjdGlvbiB1cCwgZG93biwgbGVmdCBhbmQgcmlnaHRcbiAgICBpZiAoKGV2ZW50LndoaWNoID49IDQ4ICYmIGV2ZW50LndoaWNoIDw9IDU3KSB8fCAoZXZlbnQud2hpY2ggPj0gMzcgJiYgZXZlbnQud2hpY2ggPD0gNDApKSB7XG4gICAgICAvL2NvbnNvbGUuZGVidWcoJ2lucHV0IG51bWJlciBlbnRlcmVkIDonICsgZXZlbnQud2hpY2ggKyAnICcgKyBldmVudC5rZXlDb2RlICsgJyAnICsgZXZlbnQuY2hhckNvZGUpO1xuICAgICAgLy8gT0tcbiAgICB9XG4gICAgLy8gRGVjaW1hbCBzZXBhcmF0b3IgZW50ZXJlZFxuICAgIGVsc2UgaWYgKGV2ZW50LmtleSA9PT0gJy4nIHx8IGV2ZW50LmtleSA9PT0gJywnKSB7XG4gICAgICAvLyBERUJVR1xuICAgICAgLy8gY29uc29sZS5kZWJ1ZygnaW5wdXQgZGVjaW1hbCBzZXBhcmF0b3IgZW50ZXJlZCA6JyArIGV2ZW50LmNvZGUpO1xuXG4gICAgICAvLyBNb3ZlIGNhcmV0IGFmdGVyIHBvaW50XG4gICAgICBtb3ZlSW5wdXRDYXJldFRvU2VwYXJhdG9yKGV2ZW50LCAnLicpO1xuXG4gICAgICAvLyBPS1xuICAgIH0gZWxzZSB7XG4gICAgICAvLyBDb21tYW5kIGVudGVyZWQgKGRlbGV0ZSwgYmFja3NwYWNlIG9yIG9uZSBvZiB0aGUgNCBkaXJlY3Rpb24gdXAsIGRvd24sIGxlZnQgYW5kIHJpZ2h0KVxuICAgICAgaWYgKChldmVudC5rZXlDb2RlID49IDM3ICYmIGV2ZW50LmtleUNvZGUgPD0gNDApIHx8IGV2ZW50LmtleUNvZGUgPT0gNDYgfHwgZXZlbnQud2hpY2ggPT0gOCB8fCBldmVudC5rZXlDb2RlID09IDkpIHtcbiAgICAgICAgLy8gREVCVUdcbiAgICAgICAgLy9jb25zb2xlLmRlYnVnKCdpbnB1dCBjb21tYW5kIGVudGVyZWQ6JyArIGV2ZW50LndoaWNoICsgJyAnICsgZXZlbnQua2V5Q29kZSArICcgJyArIGV2ZW50LmNoYXJDb2RlKTtcblxuICAgICAgICAvLyBPS1xuICAgICAgfVxuICAgICAgLy8gU2lnbiBlbnRlcmVkICgnKycgb3IgJy0nKVxuICAgICAgZWxzZSBpZiAoZXZlbnQua2V5Q29kZSA9PT0gNDMgfHwgZXZlbnQua2V5Q29kZSA9PT0gNDUpIHtcbiAgICAgICAgLy8gREVCVUdcbiAgICAgICAgLy8gY29uc29sZS5kZWJ1ZygnaW5wdXQgc2lnbiBlbnRlcmVkOicgKyBldmVudC53aGljaCArICcgJyArIGV2ZW50LmtleUNvZGUgKyAnICcgKyBldmVudC5jaGFyQ29kZSk7XG4gICAgICAgIGNvbnN0IGNhcmV0UG9zaXRpb24gPSBnZXRDYXJldFBvc2l0aW9uKGV2ZW50LnRhcmdldCk7XG4gICAgICAgIGlmICh0aGlzLnBhdHRlcm4gPT09ICdERCcgJiYgY2FyZXRQb3NpdGlvbiA+IDApIHtcbiAgICAgICAgICBjb25zdCBzaWduID0gZXZlbnQua2V5O1xuICAgICAgICAgIC8vIFdhaXQga2V5IGFwcGx5XG4gICAgICAgICAgY29uc3QgdmFsdWUgPSB0aGlzLmlucHV0RWxlbWVudC5uYXRpdmVFbGVtZW50LnZhbHVlO1xuICAgICAgICAgIGlmICh2YWx1ZSAmJiAhdmFsdWUuc3RhcnRzV2l0aChzaWduKSkge1xuICAgICAgICAgICAgY29uc3QgbmV3VmFsdWUgPSBzaWduICsgKHZhbHVlLmxlbmd0aCA+IDEgPyB2YWx1ZS5zdWJzdHIoMSkgOiAnJyk7XG5cbiAgICAgICAgICAgIC8vIERFQlVHXG4gICAgICAgICAgICAvLyBjb25zb2xlLmRlYnVnKFwic2lnbiBlbnRlcmVkLiBVcGRhdGluZyBpbnB1dCB2YWx1ZSB0bzpcIiwgbmV3VmFsdWUpO1xuXG4gICAgICAgICAgICB0aGlzLmlucHV0RWxlbWVudC5uYXRpdmVFbGVtZW50LnZhbHVlID0gbmV3VmFsdWU7XG4gICAgICAgICAgICBzZWxlY3RJbnB1dFJhbmdlKHRoaXMuaW5wdXRFbGVtZW50Lm5hdGl2ZUVsZW1lbnQsIGNhcmV0UG9zaXRpb24pO1xuICAgICAgICAgIH1cbiAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gT0tcbiAgICAgIH1cbiAgICAgIC8vIERpcmVjdGlvbiBjaGFyIChjYXBpdGFsaXplZClcbiAgICAgIGVsc2UgaWYgKGV2ZW50LmtleSA9PT0gJ04nIHx8IGV2ZW50LmtleSA9PT0gJ1MnIHx8IGV2ZW50LmtleSA9PT0gJ0UnIHx8IGV2ZW50LmtleSA9PT0gJ1cnKSB7XG4gICAgICAgIC8vIERFQlVHXG4gICAgICAgIC8vIGNvbnNvbGUuZGVidWcoJ2lucHV0IGRpcmVjdGlvbiBlbnRlcmVkOicgKyBldmVudC53aGljaCArICcgJyArIGV2ZW50LmtleUNvZGUgKyAnICcgKyBldmVudC5jaGFyQ29kZSk7XG5cbiAgICAgICAgLy8gT0tcbiAgICAgIH1cbiAgICAgIC8vIERpcmVjdGlvbiBjaGFyXG4gICAgICBlbHNlIGlmIChldmVudC5rZXkgPT09ICduJyB8fCBldmVudC5rZXkgPT09ICdzJyB8fCBldmVudC5rZXkgPT09ICdlJyB8fCBldmVudC5rZXkgPT09ICd3Jykge1xuICAgICAgICAvLyBERUJVR1xuICAgICAgICAvLyBjb25zb2xlLmRlYnVnKCdpbnB1dCBkaXJlY3Rpb24gZW50ZXJlZDonICsgZXZlbnQud2hpY2ggKyAnICcgKyBldmVudC5rZXlDb2RlICsgJyAnICsgZXZlbnQuY2hhckNvZGUpO1xuXG4gICAgICAgIC8vIENhcGl0YWxpemUgKHdpdGggYSBkZWxheSwgdG8gYmUgc3VyZSB0aGUga2V5IGhhcyBiZWVuIGFwcGxpZWQgdG8gaW5wdXQgdGV4dClcbiAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgdGhpcy5pbnB1dEVsZW1lbnQubmF0aXZlRWxlbWVudC52YWx1ZSA9IHRoaXMuaW5wdXRFbGVtZW50Lm5hdGl2ZUVsZW1lbnQudmFsdWUudG9VcHBlckNhc2UoKTtcbiAgICAgICAgfSwgMTApO1xuXG4gICAgICAgIC8vIE9LXG4gICAgICB9XG5cbiAgICAgIC8vIEFueSBvdGhlciBrZXlib2FyZCBldmVudHNcbiAgICAgIGVsc2Uge1xuICAgICAgICAvLyBERUJVR1xuICAgICAgICAvL2NvbnNvbGUuZGVidWcoJ2lucHV0IG5vdCBudW1iZXIgZW50ZXJlZCA6JyArIGV2ZW50LndoaWNoICsgJyAnICsgZXZlbnQua2V5Q29kZSArICcgJyArIGV2ZW50LmNoYXJDb2RlICsgJyAnICsgZXZlbnQuY29kZSApO1xuXG4gICAgICAgIC8vIEtPOiBjYW5jZWwgdGhlIGV2ZW50XG4gICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cblxuICBwcml2YXRlIG9uRm9ybUNoYW5nZShzdHJWYWx1ZSk6IHZvaWQge1xuICAgIGlmICh0aGlzLl93cml0aW5nKSByZXR1cm47IC8vIFNraXAgaWYgY2FsbCBieSBzZWxmXG4gICAgdGhpcy5fd3JpdGluZyA9IHRydWU7XG5cbiAgICBpZiAodGhpcy50ZXh0Rm9ybUNvbnRyb2wuaW52YWxpZCB8fCB0aGlzLnNpZ25Gb3JtQ29udHJvbC5pbnZhbGlkKSB7XG4gICAgICB0aGlzLmZvcm1Db250cm9sLm1hcmtBc1BlbmRpbmcoKTtcbiAgICAgIHRoaXMuZm9ybUNvbnRyb2wuc2V0RXJyb3JzKHtcbiAgICAgICAgLi4udGhpcy5mb3JtQ29udHJvbC5lcnJvcnMsXG4gICAgICAgIC4uLnRoaXMudGV4dEZvcm1Db250cm9sLmVycm9ycyxcbiAgICAgICAgLi4udGhpcy5zaWduRm9ybUNvbnRyb2wuZXJyb3JzXG4gICAgICB9KTtcbiAgICAgIHRoaXMuX3dyaXRpbmcgPSBmYWxzZTtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCBwYXJzZWRWYWx1ZSA9IGlzTm90TmlsT3JCbGFuayhzdHJWYWx1ZSkgPyBwYXJzZUxhdGl0dWRlT3JMb25naXR1ZGUoc3RyVmFsdWUsIHRoaXMucGF0dGVybiwgNyAvKj1wcmVjaXNpb24gb2YgdGhlIGNvbnZlcnRlZCBkb3VibGUgdmFsdWUgKi8sIHRoaXMucGxhY2Vob2xkZXJDaGFyKSA6IG51bGw7XG5cbiAgICAvLyBERUJVR1xuICAgIC8vY29uc29sZS5kZWJ1ZygncGFyc2VkVmFsdWU9JywgcGFyc2VkVmFsdWUpO1xuXG4gICAgaWYgKGlzTmFOKHBhcnNlZFZhbHVlKSkge1xuICAgICAgdGhpcy5mb3JtQ29udHJvbC5tYXJrQXNQZW5kaW5nKCk7XG4gICAgICB0aGlzLmZvcm1Db250cm9sLnNldEVycm9ycyh0aGlzLnR5cGUgPT09ICdsYXRpdHVkZScgPyB7bGF0aXR1ZGU6IHRydWV9IDoge2xvbmdpdHVkZTogdHJ1ZX0pO1xuICAgICAgdGhpcy5fd3JpdGluZyA9IGZhbHNlO1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBjb25zdCBzaWduID0gKHRoaXMucGF0dGVybiA9PT0gJ0REJykgPyAxIC8qaWdub3JlIHNpZ24qLyA6ICh0aGlzLnNpZ25Gb3JtQ29udHJvbC52YWx1ZSB8fCAxKTtcbiAgICBjb25zdCB2YWx1ZSA9IGlzTm90TmlsKHBhcnNlZFZhbHVlKSA/IHNpZ24gKiBwYXJzZWRWYWx1ZSA6IG51bGw7XG5cbiAgICAvLyBHZXQgdGhlIG1vZGVsIHZhbHVlXG4gICAgLy9jb25zb2xlLmRlYnVnKFwiW21hdC1sYXRsb25dIFNldHRpbmcgdmFsdWUge1wiICsgdmFsdWUgKyBcIn0gcGFyc2VkIGZyb20ge1wiICsgc3RyVmFsdWUgKyBcIn1cIik7XG4gICAgdGhpcy5mb3JtQ29udHJvbC5wYXRjaFZhbHVlKHZhbHVlLCB7ZW1pdEV2ZW50OiBmYWxzZX0pO1xuICAgIHRoaXMuX3dyaXRpbmcgPSBmYWxzZTtcbiAgICB0aGlzLm1hcmtGb3JDaGVjaygpO1xuXG4gICAgdGhpcy5fb25DaGFuZ2VDYWxsYmFjayh2YWx1ZSk7XG4gIH1cblxuICBwcml2YXRlIGNoZWNrSWZUb3VjaGVkKCk6IGJvb2xlYW4ge1xuICAgIGlmICh0aGlzLmZvcm1Db250cm9sLnRvdWNoZWQgfHwgdGhpcy50ZXh0Rm9ybUNvbnRyb2wudG91Y2hlZCkge1xuICAgICAgdGhpcy5tYXJrRm9yQ2hlY2soKTtcbiAgICAgIHRoaXMuX29uVG91Y2hlZENhbGxiYWNrKCk7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgcHJpdmF0ZSBtYXJrRm9yQ2hlY2soKSB7XG4gICAgdGhpcy5jZC5tYXJrRm9yQ2hlY2soKTtcbiAgfVxufVxuXG4iLCI8IS0tIHJlYWRvbmx5IC0tPlxuPG1hdC1mb3JtLWZpZWxkICpuZ0lmPVwicmVhZG9ubHk7IGVsc2Ugd3JpdGFibGVcIlxuICAgICAgICAgICAgICAgIFtmbG9hdExhYmVsXT1cImZsb2F0TGFiZWxcIlxuICAgICAgICAgICAgICAgIFthcHBlYXJhbmNlXT1cImFwcGVhcmFuY2VcIlxuICAgICAgICAgICAgICAgIGNsYXNzPVwibWF0LWZvcm0tZmllbGQtZGlzYWJsZWRcIj5cblxuICA8ZGl2IG1hdFByZWZpeD5cbiAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwibWF0UHJlZml4VGVtcGxhdGVcIj48L25nLWNvbnRhaW5lcj5cbiAgPC9kaXY+XG5cbiAgPGlucHV0IG1hdElucHV0IGhpZGRlbiB0eXBlPVwidGV4dFwiXG4gICAgICAgICByZWFkb25seVxuICAgICAgICAgW3BsYWNlaG9sZGVyXT1cInBsYWNlaG9sZGVyXCJcbiAgICAgICAgIFtmb3JtQ29udHJvbF09XCJmb3JtQ29udHJvbFwiPlxuICA8aW9uLXRleHQ+e3tfZm9ybWF0KGZvcm1Db250cm9sLnZhbHVlKSB9fTwvaW9uLXRleHQ+XG5cbiAgPGRpdiBtYXRTdWZmaXg+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cIm1hdFN1ZmZpeFRlbXBsYXRlXCI+PC9uZy1jb250YWluZXI+XG4gIDwvZGl2PlxuPC9tYXQtZm9ybS1maWVsZD5cblxuPCEtLSB3cml0YWJsZSAtLT5cbjxuZy10ZW1wbGF0ZSAjd3JpdGFibGU+XG5cbiAgPGlvbi1ncmlkIGNsYXNzPVwiaW9uLW5vLXBhZGRpbmdcIj5cbiAgICA8aW9uLXJvdyBjbGFzcz1cImlvbi1uby1wYWRkaW5nIG5vLXdyYXBcIj5cbiAgICAgIDxpb24tY29sIGNsYXNzPVwidGV4dCBpb24tbm8tcGFkZGluZ1wiPlxuICAgICAgICA8bWF0LWZvcm0tZmllbGQgW2Zsb2F0TGFiZWxdPVwiZmxvYXRMYWJlbFwiXG4gICAgICAgICAgICAgICAgICAgICAgICBbYXBwZWFyYW5jZV09XCJhcHBlYXJhbmNlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtjbGFzcy5tYXQtZm9ybS1maWVsZC1kaXNhYmxlZF09XCJmb3JtQ29udHJvbC5kaXNhYmxlZFwiXG4gICAgICAgICAgICAgICAgICAgICAgICBbY2xhc3MubWF0LWZvcm0tZmllbGQtaW52YWxpZF09XCJmb3JtQ29udHJvbC50b3VjaGVkICYmIGZvcm1Db250cm9sLmludmFsaWRcIj5cblxuICAgICAgICAgIDxtYXQtbGFiZWwgKm5nSWY9XCJwbGFjZWhvbGRlclwiPnt7cGxhY2Vob2xkZXJ9fTwvbWF0LWxhYmVsPlxuXG4gICAgICAgICAgPGRpdiBtYXRQcmVmaXg+XG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwibWF0UHJlZml4VGVtcGxhdGVcIj48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICA8L2Rpdj5cblxuICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCAjaW5wdXRFbGVtZW50XG4gICAgICAgICAgICAgICAgIHR5cGU9XCJ0ZXh0XCJcbiAgICAgICAgICAgICAgICAgYXV0b2NvbXBsZXRlPVwib2ZmXCJcbiAgICAgICAgICAgICAgICAgW3RleHRNYXNrXT1cInRleHRNYXNrQ29uZmlnXCJcbiAgICAgICAgICAgICAgICAgW2Zvcm1Db250cm9sXT1cInRleHRGb3JtQ29udHJvbFwiXG4gICAgICAgICAgICAgICAgIFtwbGFjZWhvbGRlcl09XCJpbnB1dFBsYWNlaG9sZGVyfHRyYW5zbGF0ZVwiXG4gICAgICAgICAgICAgICAgIChrZXlwcmVzcyk9XCJvbktleXByZXNzKCRldmVudClcIlxuICAgICAgICAgICAgICAgICAoa2V5ZG93bi50YWIpPVwibW92ZUNhcmV0VG9TZXBhcmF0b3IoJGV2ZW50LCB0cnVlKVwiXG4gICAgICAgICAgICAgICAgIChrZXlkb3duLnNoaWZ0LnRhYik9XCJtb3ZlQ2FyZXRUb1NlcGFyYXRvcigkZXZlbnQsIGZhbHNlKVwiXG4gICAgICAgICAgICAgICAgIChmb2N1cyk9XCJfb25Gb2N1cygkZXZlbnQpXCJcbiAgICAgICAgICAgICAgICAgKGJsdXIpPVwiX29uQmx1cigkZXZlbnQpXCJcbiAgICAgICAgICAgICAgICAgW3JlcXVpcmVkXT1cInJlcXVpcmVkXCJcbiAgICAgICAgICAgICAgICAgW3RhYmluZGV4XT1cInRhYmluZGV4XCI+XG5cbiAgICAgICAgICA8ZGl2IG1hdFN1ZmZpeCAqbmdJZj1cIiFzaG93U2lnbkNvbnRyb2xcIj5cbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJtYXRTdWZmaXhUZW1wbGF0ZVwiPjwvbmctY29udGFpbmVyPlxuICAgICAgICAgIDwvZGl2PlxuXG4gICAgICAgICAgPGRpdiBjbGFzcz1cIm1hdC1mb3JtLWZpZWxkLXN1YnNjcmlwdCBtYXQtZm9ybS1maWVsZC1zdWJzY3JpcHQtd3JhcHBlclwiPlxuXG4gICAgICAgICAgICA8IS0tIGVycm9ycyAtLT5cbiAgICAgICAgICAgIDxtYXQtZXJyb3IgKm5nSWY9XCJmb3JtQ29udHJvbC50b3VjaGVkICYmIGZvcm1Db250cm9sLmVycm9yc3xtYXBLZXlzfGFycmF5Rmlyc3Q7IGxldCBlcnJvcktleVwiIFtuZ1N3aXRjaF09XCJlcnJvcktleVwiPlxuICAgICAgICAgICAgICA8c3BhbiAqbmdTd2l0Y2hDYXNlPVwiJ3JlcXVpcmVkJ1wiIHRyYW5zbGF0ZT5FUlJPUi5GSUVMRF9SRVFVSVJFRDwvc3Bhbj5cbiAgICAgICAgICAgICAgPHNwYW4gKm5nU3dpdGNoQ2FzZT1cIidsYXRpdHVkZSdcIiB0cmFuc2xhdGU+RVJST1IuRklFTERfTk9UX1ZBTElEX0xBVElUVURFPC9zcGFuPlxuICAgICAgICAgICAgICA8c3BhbiAqbmdTd2l0Y2hDYXNlPVwiJ2xvbmdpdHVkZSdcIiB0cmFuc2xhdGU+RVJST1IuRklFTERfTk9UX1ZBTElEX0xPTkdJVFVERTwvc3Bhbj5cbiAgICAgICAgICAgICAgPHNwYW4gKm5nU3dpdGNoQ2FzZT1cIidtaW4nXCI+e3snRVJST1IuRklFTERfTUlOX0NPTVBBQ1QnfHRyYW5zbGF0ZToge21pbjogX2Zvcm1hdChmb3JtQ29udHJvbC5lcnJvcnMubWluLm1pbikgfSB9fTwvc3Bhbj5cbiAgICAgICAgICAgICAgPHNwYW4gKm5nU3dpdGNoQ2FzZT1cIidtYXgnXCI+e3snRVJST1IuRklFTERfTUFYX0NPTVBBQ1QnfHRyYW5zbGF0ZToge21heDogX2Zvcm1hdChmb3JtQ29udHJvbC5lcnJvcnMubWF4Lm1heCkgfSB9fTwvc3Bhbj5cbiAgICAgICAgICAgICAgPHNwYW4gKm5nU3dpdGNoQ2FzZT1cIidtc2cnXCI+e3soZm9ybUNvbnRyb2wuZXJyb3JzLm1zZz8ua2V5IHx8IGZvcm1Db250cm9sLmVycm9ycy5tc2cpIHwgdHJhbnNsYXRlOiBmb3JtQ29udHJvbC5lcnJvcnMubXNnPy5wYXJhbXN9fTwvc3Bhbj5cbiAgICAgICAgICAgIDwvbWF0LWVycm9yPlxuICAgICAgICAgICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwibWF0LWVycm9yXCI+PC9uZy1jb250ZW50PlxuXG4gICAgICAgICAgICA8IS0tIG1hdCBoaW50IC0tPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1hdC1mb3JtLWZpZWxkLWhpbnQtd3JhcHBlclwiIFtjbGFzcy5jZGstdmlzdWFsbHktaGlkZGVuXT1cImZvcm1Db250cm9sLmludmFsaWRcIj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1hdC1mb3JtLWZpZWxkLWhpbnQtc3BhY2VyXCI+PC9kaXY+XG4gICAgICAgICAgICAgIDxuZy1jb250ZW50IHNlbGVjdD1cIm1hdC1oaW50XCI+PC9uZy1jb250ZW50PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICA8L2lvbi1jb2w+XG5cbiAgICAgIDwhLS0gc2lnbiAtLT5cbiAgICAgIDxpb24tY29sIGNsYXNzPVwic2lnbiBpb24tbm8tcGFkZGluZ1wiIFtuZ1N3aXRjaF09XCJ0eXBlXCIgKm5nSWY9XCJzaG93U2lnbkNvbnRyb2xcIj5cblxuICAgICAgICAgIDwhLS0gc2lnbiBvbiBsYXRpdHVkZSAtLT5cbiAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgKm5nU3dpdGNoQ2FzZT1cIidsYXRpdHVkZSdcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICBmbG9hdExhYmVsPVwibmV2ZXJcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICBbYXBwZWFyYW5jZV09XCJhcHBlYXJhbmNlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgW2NsYXNzLm1hdC1mb3JtLWZpZWxkLWludmFsaWRdPVwiZm9ybUNvbnRyb2wudG91Y2hlZCAmJiBzaWduRm9ybUNvbnRyb2wuaW52YWxpZFwiPlxuICAgICAgICAgICAgPG1hdC1sYWJlbCAqbmdJZj1cInBsYWNlaG9sZGVyICYmIGZsb2F0TGFiZWwgIT0gJ25ldmVyJ1wiIHRyYW5zbGF0ZT5DT01NT04uTEFUX0xPTkcuTEFUX1NJR05fUExBQ0VIT0xERVI8L21hdC1sYWJlbD5cbiAgICAgICAgICAgIDxtYXQtc2VsZWN0IFtmb3JtQ29udHJvbF09XCJzaWduRm9ybUNvbnRyb2xcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW3RhYmluZGV4XT1cInRhYmluZGV4KzFcIj5cbiAgICAgICAgICAgICAgPG1hdC1vcHRpb24gW3ZhbHVlXT1cIjFcIj57eydDT01NT04uTEFUX0xPTkcuTEFUX1NJR05fTid8dHJhbnNsYXRlfX08L21hdC1vcHRpb24+XG4gICAgICAgICAgICAgIDxtYXQtb3B0aW9uIFt2YWx1ZV09XCItMVwiID57eydDT01NT04uTEFUX0xPTkcuTEFUX1NJR05fUyd8dHJhbnNsYXRlfX08L21hdC1vcHRpb24+XG4gICAgICAgICAgICA8L21hdC1zZWxlY3Q+XG5cbiAgICAgICAgICAgIDxkaXYgbWF0U3VmZml4PlxuICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwibWF0U3VmZml4VGVtcGxhdGVcIj48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG5cbiAgICAgICAgICA8IS0tIHNpZ24gb24gbG9uZ2l0dWRlIC0tPlxuICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBmbG9hdExhYmVsPVwibmV2ZXJcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAqbmdTd2l0Y2hDYXNlPVwiJ2xvbmdpdHVkZSdcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICBbY2xhc3MubWF0LWZvcm0tZmllbGQtaW52YWxpZF09XCJmb3JtQ29udHJvbC50b3VjaGVkICYmIHNpZ25Gb3JtQ29udHJvbC5pbnZhbGlkXCI+XG4gICAgICAgICAgICA8bWF0LWxhYmVsICpuZ0lmPVwicGxhY2Vob2xkZXIgJiYgZmxvYXRMYWJlbCAhPSAnbmV2ZXInXCIgdHJhbnNsYXRlPkNPTU1PTi5MQVRfTE9ORy5MT05HX1NJR05fUExBQ0VIT0xERVI8L21hdC1sYWJlbD5cbiAgICAgICAgICAgIDxtYXQtc2VsZWN0IFtmb3JtQ29udHJvbF09XCJzaWduRm9ybUNvbnRyb2xcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW3RhYmluZGV4XT1cInRhYmluZGV4KzJcIj5cbiAgICAgICAgICAgICAgPG1hdC1vcHRpb24gW3ZhbHVlXT1cIjFcIiB0cmFuc2xhdGU+e3snQ09NTU9OLkxBVF9MT05HLkxPTkdfU0lHTl9FJ3x0cmFuc2xhdGV9fTwvbWF0LW9wdGlvbj5cbiAgICAgICAgICAgICAgPG1hdC1vcHRpb24gW3ZhbHVlXT1cIi0xXCIgdHJhbnNsYXRlPnt7J0NPTU1PTi5MQVRfTE9ORy5MT05HX1NJR05fVyd8dHJhbnNsYXRlfX08L21hdC1vcHRpb24+XG4gICAgICAgICAgICA8L21hdC1zZWxlY3Q+XG5cbiAgICAgICAgICAgIDxkaXYgbWF0U3VmZml4PlxuICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwibWF0U3VmZml4VGVtcGxhdGVcIj48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICA8L2lvbi1jb2w+XG4gICAgPC9pb24tcm93PlxuICA8L2lvbi1ncmlkPlxuXG48L25nLXRlbXBsYXRlPlxuXG48bmctdGVtcGxhdGUgI21hdFByZWZpeFRlbXBsYXRlPlxuICA8bmctY29udGVudCBzZWxlY3Q9XCJbbWF0UHJlZml4XVwiPjwvbmctY29udGVudD5cbjwvbmctdGVtcGxhdGU+XG5cblxuPG5nLXRlbXBsYXRlICNtYXRTdWZmaXhUZW1wbGF0ZT5cbiAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiW21hdFN1ZmZpeF1cIj48L25nLWNvbnRlbnQ+XG48L25nLXRlbXBsYXRlPlxuIl19
381
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWF0ZXJpYWwubGF0bG9uZy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvc2hhcmVkL21hdGVyaWFsL2xhdGxvbmcvbWF0ZXJpYWwubGF0bG9uZy50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvc2hhcmVkL21hdGVyaWFsL2xhdGxvbmcvbWF0ZXJpYWwubGF0bG9uZy5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyx1QkFBdUIsRUFBcUIsU0FBUyxFQUFjLFlBQVksRUFBRSxVQUFVLEVBQUUsS0FBSyxFQUFxQixRQUFRLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUVqTCxPQUFPLEVBQTJDLGlCQUFpQixFQUEwQyxVQUFVLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUMvSSxPQUFPLEVBQUMsZ0JBQWdCLEVBQUMsTUFBTSw0QkFBNEIsQ0FBQztBQUM1RCxPQUFPLEVBQUMsY0FBYyxFQUFFLGVBQWUsRUFBRSw2QkFBNkIsRUFBeUQsd0JBQXdCLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUNoTCxPQUFPLEVBQUMsc0JBQXNCLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUN2RCxPQUFPLEVBQUMsTUFBTSxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFDdEMsT0FBTyxFQUFDLEtBQUssRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFFLGVBQWUsRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBQzdFLE9BQU8sRUFBQyxnQkFBZ0IsRUFBRSx5QkFBeUIsRUFBRSxrQkFBa0IsRUFBRSxnQkFBZ0IsRUFBQyxNQUFNLGNBQWMsQ0FBQztBQUMvRyxPQUFPLEVBQUMsS0FBSyxFQUFFLFlBQVksRUFBQyxNQUFNLE1BQU0sQ0FBQztBQUV6QyxPQUFPLEVBQUMsb0JBQW9CLEVBQUMsTUFBTSw0QkFBNEIsQ0FBQzs7Ozs7Ozs7Ozs7OztBQUVoRSxNQUFNLEtBQUssR0FJUDtJQUNGLFFBQVEsRUFBRTtRQUNSLE1BQU0sRUFBRSxDQUFDLEdBQUcsRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsR0FBRyxDQUFDO1FBQzVGLElBQUksRUFBRSxDQUFDLEdBQUcsRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDO1FBQzFFLEVBQUUsRUFBRSxDQUFDLE1BQU0sRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLEdBQUcsQ0FBQztLQUNsRjtJQUNELFNBQVMsRUFBRTtRQUNULE1BQU0sRUFBRSxDQUFDLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsR0FBRyxDQUFDO1FBQzdGLElBQUksRUFBRSxDQUFDLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDO1FBQzNFLEVBQUUsRUFBRSxDQUFDLE1BQU0sRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLElB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Y0FBYyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENoYW5nZURldGVjdG9yUmVmLCBDb21wb25lbnQsIEVsZW1lbnRSZWYsIEV2ZW50RW1pdHRlciwgZm9yd2FyZFJlZiwgSW5wdXQsIE9uRGVzdHJveSwgT25Jbml0LCBPcHRpb25hbCwgT3V0cHV0LCBWaWV3Q2hpbGR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtGbG9hdExhYmVsVHlwZSwgTWF0Rm9ybUZpZWxkQXBwZWFyYW5jZX0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZm9ybS1maWVsZCc7XG5pbXBvcnQge0NvbnRyb2xWYWx1ZUFjY2Vzc29yLCBGb3JtR3JvdXBEaXJlY3RpdmUsIE5HX1ZBTFVFX0FDQ0VTU09SLCBVbnR5cGVkRm9ybUJ1aWxkZXIsIFVudHlwZWRGb3JtQ29udHJvbCwgVmFsaWRhdG9yc30gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHtTaGFyZWRWYWxpZGF0b3JzfSBmcm9tICcuLi8uLi92YWxpZGF0b3IvdmFsaWRhdG9ycyc7XG5pbXBvcnQge2Zvcm1hdExhdGl0dWRlLCBmb3JtYXRMb25naXR1ZGUsIExBVF9MT05HX0RFRkFVTFRfTUFYX0RFQ0lNQUxTLCBMYXRMb25nRm9ybWF0Rm4sIExhdExvbmdGb3JtYXRPcHRpb25zLCBMYXRMb25nUGF0dGVybiwgcGFyc2VMYXRpdHVkZU9yTG9uZ2l0dWRlfSBmcm9tICcuL2xhdGxvbmcudXRpbHMnO1xuaW1wb3J0IHtFTVBUWV9QTEFDRUhPTERFUl9DSEFSfSBmcm9tICcuLi8uLi9jb25zdGFudHMnO1xuaW1wb3J0IHtmaWx0ZXJ9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7aXNOaWwsIGlzTmlsT3JOYU4sIGlzTm90TmlsLCBpc05vdE5pbE9yQmxhbmt9IGZyb20gJy4uLy4uL2Z1bmN0aW9ucyc7XG5pbXBvcnQge2dldENhcmV0UG9zaXRpb24sIG1vdmVJbnB1dENhcmV0VG9TZXBhcmF0b3IsIHNlbGVjdElucHV0Q29udGVudCwgc2VsZWN0SW5wdXRSYW5nZX0gZnJvbSAnLi4vLi4vaW5wdXRzJztcbmltcG9ydCB7bWVyZ2UsIFN1YnNjcmlwdGlvbn0gZnJvbSAncnhqcyc7XG5pbXBvcnQge1RleHRNYXNrQ29uZmlnfSBmcm9tICdhbmd1bGFyMi10ZXh0LW1hc2snO1xuaW1wb3J0IHtERUZBVUxUX01BWF9ERUNJTUFMU30gZnJvbSAnLi4vZHVyYXRpb24vZHVyYXRpb24udXRpbHMnO1xuXG5jb25zdCBNQVNLUzoge1xuICBba2V5OiBzdHJpbmddOiB7XG4gICAgW3BhdHRlcm46IHN0cmluZ106IEFycmF5PHN0cmluZ3xSZWdFeHA+O1xuICB9O1xufSA9IHtcbiAgbGF0aXR1ZGU6IHtcbiAgICBERE1NU1M6IFsnICcsIC9cXGQvLCAvXFxkLywgJ8KwJywgJyAnLCAvXFxkLywgL1xcZC8sICdcXCcnLCAnICcsIC9cXGQvLCAvXFxkLywgJy4nLCAvXFxkLywgL1xcZC8sICdcIiddLFxuICAgIERETU06IFsnICcsIC9cXGQvLCAvXFxkLywgJ8KwJywgJyAnLCAvXFxkLywgL1xcZC8sICcuJywgL1xcZC8sIC9cXGQvLCAvXFxkLywgJ1xcJyddLFxuICAgIEREOiBbL1srLV0vLCAnICcsIC9cXGQvLCAvXFxkLywgJy4nLCAvXFxkLywgL1xcZC8sIC9cXGQvLCAvXFxkLywgL1xcZC8sIC9cXGQvLCAvXFxkLywgJ8KwJ11cbiAgfSxcbiAgbG9uZ2l0dWRlOiB7XG4gICAgRERNTVNTOiBbL1xcZC8sIC9cXGQvLCAvXFxkLywgJ8KwJywgJyAnLCAvXFxkLywgL1xcZC8sICdcXCcnLCAnICcsIC9cXGQvLCAvXFxkLywgJy4nLCAvXFxkLywgL1xcZC8sICdcIiddLFxuICAgIERETU06IFsvXFxkLywgL1xcZC8sIC9cXGQvLCAnwrAnLCAnICcsIC9cXGQvLCAvXFxkLywgJy4nLCAvXFxkLywgL1xcZC8sIC9cXGQvLCAnXFwnJ10sXG4gICAgREQ6IFsvWystXS8sIC9cXGQvLCAvXFxkLywgL1xcZC8sICcuJywgL1xcZC8sIC9cXGQvLCAvXFxkLywgL1xcZC8sIC9cXGQvLCAvXFxkLywgL1xcZC8sICfCsCddXG4gIH1cbn07XG5cbmNvbnN0IG5vb3AgPSAoKSA9PiB7XG59O1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdtYXQtbGF0bG9uZy1maWVsZCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9tYXRlcmlhbC5sYXRsb25nLmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9tYXRlcmlhbC5sYXRsb25nLnNjc3MnXSxcbiAgcHJvdmlkZXJzOiBbXG4gICAge1xuICAgICAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXG4gICAgICBtdWx0aTogdHJ1ZSxcbiAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IE1hdExhdExvbmdGaWVsZCksXG4gICAgfVxuICBdLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxufSlcbmV4cG9ydCBjbGFzcyBNYXRMYXRMb25nRmllbGQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSwgQ29udHJvbFZhbHVlQWNjZXNzb3Ige1xuICBwcml2YXRlIF9vbkNoYW5nZUNhbGxiYWNrOiAoXzogYW55KSA9PiB2b2lkID0gbm9vcDtcbiAgcHJpdmF0ZSBfb25Ub3VjaGVkQ2FsbGJhY2s6ICgpID0+IHZvaWQgPSBub29wO1xuICBwcml2YXRlIF9zdWJzY3JpcHRpb24gPSBuZXcgU3Vic2NyaXB0aW9uKCk7XG4gIHByaXZhdGUgX2Zvcm1hdE9wdGlvbnM6IExhdExvbmdGb3JtYXRPcHRpb25zO1xuICBwcml2YXRlIF9kaXNhYmxpbmcgPSBmYWxzZTtcbiAgcHJpdmF0ZSBfd3JpdGluZyA9IGZhbHNlO1xuXG4gIF9yZWFkb25seSA9IGZhbHNlO1xuICBfZm9ybWF0Rm46IExhdExvbmdGb3JtYXRGbjtcbiAgdGV4dE1hc2tDb25maWc6IFRleHRNYXNrQ29uZmlnO1xuICB0ZXh0Rm9ybUNvbnRyb2w6IFVudHlwZWRGb3JtQ29udHJvbDtcbiAgc2lnbkZvcm1Db250cm9sOiBVbnR5cGVkRm9ybUNvbnRyb2w7XG4gIG1hc2s6IEFycmF5PHN0cmluZyB8IFJlZ0V4cD4gfCAoKHJhdzogc3RyaW5nKSA9PiBBcnJheTxzdHJpbmcgfCBSZWdFeHA+KSB8IGZhbHNlO1xuICBpbnB1dFBsYWNlaG9sZGVyOiBzdHJpbmc7XG4gIHNob3dTaWduQ29udHJvbDogYm9vbGVhbjtcblxuICBnZXQgZGlzYWJsZWQoKTogYW55IHtcbiAgICByZXR1cm4gdGhpcy5yZWFkb25seSB8fCB0aGlzLmZvcm1Db250cm9sLmRpc2FibGVkO1xuICB9XG5cbiAgQElucHV0KCkgZm9ybUNvbnRyb2w6IFVudHlwZWRGb3JtQ29udHJvbDtcbiAgQElucHV0KCkgZm9ybUNvbnRyb2xOYW1lOiBzdHJpbmc7XG4gIEBJbnB1dCgpIHR5cGU6ICdsYXRpdHVkZScgfCAnbG9uZ2l0dWRlJztcbiAgQElucHV0KCdsYXRMb25nUGF0dGVybicpIHBhdHRlcm46IExhdExvbmdQYXR0ZXJuO1xuICBASW5wdXQoKSByZXF1aXJlZCA9IGZhbHNlO1xuICBASW5wdXQoKSBmbG9hdExhYmVsOiBGbG9hdExhYmVsVHlwZSA9ICdhdXRvJztcbiAgQElucHV0KCkgYXBwZWFyYW5jZTogTWF0Rm9ybUZpZWxkQXBwZWFyYW5jZTtcbiAgQElucHV0KCkgcGxhY2Vob2xkZXI6IHN0cmluZztcbiAgQElucHV0KCkgdGFiaW5kZXg6IG51bWJlcjtcbiAgQElucHV0KCkgZGVmYXVsdFNpZ246ICctJyB8ICcrJztcbiAgQElucHV0KCkgbWF4RGVjaW1hbHM6IG51bWJlciA9IExBVF9MT05HX0RFRkFVTFRfTUFYX0RFQ0lNQUxTO1xuICBASW5wdXQoKSBwbGFjZWhvbGRlckNoYXI6IHN0cmluZyA9IEVNUFRZX1BMQUNFSE9MREVSX0NIQVI7XG5cbiAgQElucHV0KCkgc2V0IHJlYWRvbmx5KHZhbHVlOiBib29sZWFuKXtcbiAgICB0aGlzLl9yZWFkb25seSA9IHZhbHVlO1xuICAgIHRoaXMubWFya0ZvckNoZWNrKCk7XG4gIH1cblxuICBnZXQgcmVhZG9ubHkoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuX3JlYWRvbmx5O1xuICB9XG5cbiAgQE91dHB1dCgpIG9uQmx1ciA9IG5ldyBFdmVudEVtaXR0ZXI8Rm9jdXNFdmVudD4oKTtcbiAgQE91dHB1dCgpIG9uRm9jdXMgPSBuZXcgRXZlbnRFbWl0dGVyPEZvY3VzRXZlbnQ+KCk7XG5cbiAgQFZpZXdDaGlsZCgnaW5wdXRFbGVtZW50JykgaW5wdXRFbGVtZW50OiBFbGVtZW50UmVmO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgZm9ybUJ1aWxkZXI6IFVudHlwZWRGb3JtQnVpbGRlcixcbiAgICBwcml2YXRlIGNkOiBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICBAT3B0aW9uYWwoKSBwcml2YXRlIGZvcm1Hcm91cERpcjogRm9ybUdyb3VwRGlyZWN0aXZlXG4gICkge1xuICB9XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgdGhpcy50eXBlID0gdGhpcy50eXBlIHx8ICdsYXRpdHVkZSc7XG4gICAgdGhpcy5wYXR0ZXJuID0gdGhpcy5wYXR0ZXJuIHx8ICdERE1NJztcbiAgICB0aGlzLm1hc2sgPSBNQVNLU1t0aGlzLnR5cGVdICYmIE1BU0tTW3RoaXMudHlwZV1bdGhpcy5wYXR0ZXJuXTtcbiAgICBpZiAoIXRoaXMubWFzaykge1xuICAgICAgY29uc29sZS5lcnJvcignSW52YWxpZCBhdHRyaWJ1dGUgdmFsdWUuIEV4cGVjdGVkOiB0eXBlOiBcXCdsYXRpdHVkZXxsb25naXR1ZGVcXCcgYW5kIGxhdGxvbmdQYXR0ZXJuOiBcXCdERHxERE1NfERETU1TU1xcJycpO1xuICAgICAgdGhpcy50eXBlID0gJ2xhdGl0dWRlJztcbiAgICAgIHRoaXMucGF0dGVybiA9ICdERE1NJztcbiAgICAgIHRoaXMubWFzayA9IE1BU0tTW3RoaXMudHlwZV1bdGhpcy5wYXR0ZXJuXTtcbiAgICB9XG5cbiAgICAvLyBSZW1vdmUgbWF4IGRlY2ltYWxzIGluIHRoZSBERE1NU1MgZm9ybWF0XG4gICAgaWYgKHRoaXMucGF0dGVybiA9PT0gJ0REJykge1xuICAgICAgY29uc29sZS53YXJuKGBJbnZhbGlkIGF0dHJpYnV0ZSAnbWF4RGVjaW1hbHMnIC0gTXVzdCBiZSAnMCcgd2hlbiB1c2luZyB0aGUgJ0RETU1TUycgcGF0dGVybi5gKTtcbiAgICAgIHRoaXMubWF4RGVjaW1hbHMgPSA3O1xuICAgIH1cbiAgICBlbHNlIGlmICh0aGlzLnBhdHRlcm4gPT09ICdERE1NU1MnKSB7XG4gICAgICBjb25zb2xlLndhcm4oYEludmFsaWQgYXR0cmlidXRlICdtYXhEZWNpbWFscycgLSBNdXN0IGJlICcwJyB3aGVuIHVzaW5nIHRoZSAnRERNTVNTJyBwYXR0ZXJuLmApO1xuICAgICAgdGhpcy5tYXhEZWNpbWFscyA9IDA7XG4gICAgfVxuICAgIGVsc2UgaWYgKGlzTmlsKHRoaXMubWF4RGVjaW1hbHMpKSB7XG4gICAgICB0aGlzLm1heERlY2ltYWxzID0gREVGQVVMVF9NQVhfREVDSU1BTFM7XG4gICAgfVxuICAgIGVsc2UgaWYgKHRoaXMubWF4RGVjaW1hbHMgPCAwKSB7XG4gICAgICBjb25zb2xlLmVycm9yKCdJbnZhbGlkIGF0dHJpYnV0ZSBcXCdtYXhEZWNpbWFsc1xcJy4gTXVzdCBhIHBvc2l0aXZlIHZhbHVlLicpO1xuICAgICAgdGhpcy5tYXhEZWNpbWFscyA9IERFRkFVTFRfTUFYX0RFQ0lNQUxTO1xuICAgIH1cbiAgICBlbHNlIGlmICh0aGlzLm1heERlY2ltYWxzICE9PSBERUZBVUxUX01BWF9ERUNJTUFMUykge1xuICAgICAgY29uc29sZS53YXJuKGBJbnZhbGlkIGF0dHJpYnV0ZSAnbWF4RGVjaW1hbHMnIC0gRXhwZWN0ZWQgdmFsdWU6ICR7REVGQVVMVF9NQVhfREVDSU1BTFN9IGJ1dCBnZXQ6ICR7dGhpcy5tYXhEZWNpbWFsc30uIE90aGVyIHZhbHVlIG5vdCBpbXBsZW1lbnRlZC5gKTtcbiAgICAgIHRoaXMubWF4RGVjaW1hbHMgPSBERUZBVUxUX01BWF9ERUNJTUFMUztcbiAgICB9XG5cbiAgICB0aGlzLnNob3dTaWduQ29udHJvbCA9IHRoaXMucGF0dGVybiAhPT0gJ0REJztcblxuICAgIHRoaXMuX2Zvcm1hdEZuID0gdGhpcy50eXBlID09PSAnbGF0aXR1ZGUnID8gZm9ybWF0TGF0aXR1ZGUgOiBmb3JtYXRMb25naXR1ZGU7XG4gICAgdGhpcy5fZm9ybWF0T3B0aW9ucyA9IHtwYXR0ZXJuOiB0aGlzLnBhdHRlcm4sIG1heERlY2ltYWxzOiB0aGlzLm1heERlY2ltYWxzLCBoaWRlU2lnbjogdGhpcy5zaG93U2lnbkNvbnRyb2x9O1xuXG4gICAgdGhpcy5pbnB1dFBsYWNlaG9sZGVyID0gJ0NPTU1PTi5MQVRfTE9ORy4nICsgKHRoaXMudHlwZSA9PT0gJ2xvbmdpdHVkZScgJiYgJ0QnIHx8ICcnKSArIHRoaXMucGF0dGVybiArICdfUExBQ0VIT0xERVInO1xuXG4gICAgdGhpcy50ZXh0Rm9ybUNvbnRyb2wgPSB0aGlzLmZvcm1CdWlsZGVyLmNvbnRyb2woXG4gICAgICB0aGlzLnJlcXVpcmVkID8gW251bGwsIFZhbGlkYXRvcnMucmVxdWlyZWRdIDogW251bGxdXG4gICAgKTtcbiAgICB0aGlzLnRleHRNYXNrQ29uZmlnID0ge21hc2s6IHRoaXMubWFzaywga2VlcENoYXJQb3NpdGlvbnM6IHRydWUsIHBsYWNlaG9sZGVyQ2hhcjogdGhpcy5wbGFjZWhvbGRlckNoYXJ9O1xuXG4gICAgdGhpcy5zaWduRm9ybUNvbnRyb2wgPSB0aGlzLmZvcm1CdWlsZGVyLmNvbnRyb2woXG4gICAgICB0aGlzLnJlcXVpcmVkID8gW251bGwsIFZhbGlkYXRvcnMucmVxdWlyZWRdIDogW251bGxdXG4gICAgKTtcblxuICAgIHRoaXMuZm9ybUNvbnRyb2wgPSB0aGlzLmZvcm1Db250cm9sIHx8IHRoaXMuZm9ybUNvbnRyb2xOYW1lICYmIHRoaXMuZm9ybUdyb3VwRGlyICYmIHRoaXMuZm9ybUdyb3VwRGlyLmZvcm0uZ2V0KHRoaXMuZm9ybUNvbnRyb2xOYW1lKSBhcyBVbnR5cGVkRm9ybUNvbnRyb2w7XG4gICAgaWYgKCF0aGlzLmZvcm1Db250cm9sKSB0aHJvdyBuZXcgRXJyb3IoJ01pc3NpbmcgbWFuZGF0b3J5IGF0dHJpYnV0ZSBcXCdmb3JtQ29udHJvbFxcJyBvciBcXCdmb3JtQ29udHJvbE5hbWVcXCcgaW4gPG1hdC1sYXRsb25nLWZpZWxkPi4nKTtcblxuICAgIGNvbnN0IGV4aXN0aW5nVmFsaWRhdG9ycyA9IHRoaXMuZm9ybUNvbnRyb2wudmFsaWRhdG9yO1xuICAgIGlmIChleGlzdGluZ1ZhbGlkYXRvcnMpIHtcbiAgICAgIHRoaXMuZm9ybUNvbnRyb2wuc2V0VmFsaWRhdG9ycyhbXG4gICAgICAgIGV4aXN0aW5nVmFsaWRhdG9ycyxcbiAgICAgICAgdGhpcy50eXBlID09PSAnbGF0aXR1ZGUnID8gU2hhcmVkVmFsaWRhdG9ycy5sYXRpdHVkZSA6IFNoYXJlZFZhbGlkYXRvcnMubG9uZ2l0dWRlXG4gICAgICBdKTtcbiAgICB9XG4gICAgZWxzZSB7XG4gICAgICB0aGlzLmZvcm1Db250cm9sLnNldFZhbGlkYXRvcnModGhpcy50eXBlID09PSAnbGF0aXR1ZGUnID8gU2hhcmVkVmFsaWRhdG9ycy5sYXRpdHVkZSA6IFNoYXJlZFZhbGlkYXRvcnMubG9uZ2l0dWRlKTtcbiAgICB9XG5cbiAgICB0aGlzLl9zdWJzY3JpcHRpb24uYWRkKFxuICAgICAgbWVyZ2UoXG4gICAgICAgIHRoaXMudGV4dEZvcm1Db250cm9sLnZhbHVlQ2hhbmdlcyxcbiAgICAgICAgdGhpcy5zaWduRm9ybUNvbnRyb2wudmFsdWVDaGFuZ2VzXG4gICAgICApXG4gICAgICAgIC5zdWJzY3JpYmUoKF8pID0+IHRoaXMub25Gb3JtQ2hhbmdlKHRoaXMudGV4dEZvcm1Db250cm9sLnZhbHVlKSlcbiAgICApO1xuXG4gICAgLy8gTGlzdGVuIHN0YXR1cyBjaGFuZ2VzICh3aGVuIGRvbmUgb3V0c2lkZSB0aGUgY29tcG9uZW50ICAtIGUuZy4gd2hlbiBzZXRFcnJvcnMoKSBpcyBjYWxsaW5nIG9uIHRoZSBmb3JtQ29udHJvbClcbiAgICB0aGlzLl9zdWJzY3JpcHRpb24uYWRkKFxuICAgICAgdGhpcy5mb3JtQ29udHJvbC5zdGF0dXNDaGFuZ2VzXG4gICAgICAgIC5waXBlKFxuICAgICAgICAgIGZpbHRlcigoXykgPT4gIXRoaXMucmVhZG9ubHkgJiYgIXRoaXMuX3dyaXRpbmcgJiYgIXRoaXMuX2Rpc2FibGluZykgLy8gU2tpcFxuICAgICAgICApXG4gICAgICAgIC5zdWJzY3JpYmUoKF8pID0+IHRoaXMubWFya0ZvckNoZWNrKCkpXG4gICAgKTtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCkge1xuICAgIHRoaXMuX3N1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xuICB9XG5cbiAgd3JpdGVWYWx1ZShvYmo6IGFueSk6IHZvaWQge1xuICAgIGlmICh0aGlzLl93cml0aW5nKSByZXR1cm47XG5cbiAgICBjb25zdCB2YWx1ZSA9ICh0eXBlb2Ygb2JqID09PSAnc3RyaW5nJykgPyBwYXJzZUZsb2F0KG9iai5yZXBsYWNlKC8sL2csICcuJykpIDogb2JqO1xuICAgIHRoaXMuX3dyaXRpbmcgPSB0cnVlO1xuICAgIGNvbnN0IHN0clZhbHVlID0gdGhpcy5fZm9ybWF0Rm4odmFsdWUsIHsuLi50aGlzLl9mb3JtYXRPcHRpb25zLCBwbGFjZWhvbGRlckNoYXI6IHRoaXMucGxhY2Vob2xkZXJDaGFyfSk7XG4gICAgY29uc3Qgc2lnbiA9IGlzTm90TmlsKHZhbHVlKSA/ICh2YWx1ZSA8IDAgPyAtMSA6IDEpIDpcbiAgICAgIC8vIFVzZSBkZWZhdWx0IHNpZ24sIGlmIGFueVxuICAgICAgKHRoaXMuZGVmYXVsdFNpZ24gPyAodGhpcy5kZWZhdWx0U2lnbiA9PT0gJy0nID8gLTEgOiAxKSA6IG51bGwpO1xuXG4gICAgLy8gREVCVUdcbiAgICAvLyBjb25zb2xlLmRlYnVnKFwic3RyVmFsdWU6IFwiICsgc3RyVmFsdWUpXG4gICAgLy8gY29uc29sZS5kZWJ1ZyhcInNpZ246IFwiICsgc2lnbilcblxuICAgIHRoaXMudGV4dEZvcm1Db250cm9sLnBhdGNoVmFsdWUoc3RyVmFsdWUsIHtlbWl0RXZlbnQ6IGZhbHNlfSk7XG4gICAgdGhpcy5zaWduRm9ybUNvbnRyb2wucGF0Y2hWYWx1ZShzaWduLCB7ZW1pdEV2ZW50OiBmYWxzZX0pO1xuICAgIHRoaXMuX3dyaXRpbmcgPSBmYWxzZTtcbiAgICB0aGlzLm1hcmtGb3JDaGVjaygpO1xuICB9XG5cbiAgcmVnaXN0ZXJPbkNoYW5nZShmbjogYW55KTogdm9pZCB7XG4gICAgdGhpcy5fb25DaGFuZ2VDYWxsYmFjayA9IGZuO1xuICB9XG5cbiAgcmVnaXN0ZXJPblRvdWNoZWQoZm46IGFueSk6IHZvaWQge1xuICAgIHRoaXMuX29uVG91Y2hlZENhbGxiYWNrID0gZm47XG4gIH1cblxuICBzZXREaXNhYmxlZFN0YXRlKGlzRGlzYWJsZWQ6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICBpZiAodGhpcy5fZGlzYWJsaW5nKSByZXR1cm47XG5cbiAgICB0aGlzLl9kaXNhYmxpbmcgPSB0cnVlO1xuICAgIGlmIChpc0Rpc2FibGVkKSB7XG4gICAgICB0aGlzLnRleHRGb3JtQ29udHJvbC5kaXNhYmxlKHtvbmx5U2VsZjogdHJ1ZSwgZW1pdEV2ZW50OiBmYWxzZX0pO1xuICAgICAgdGhpcy5zaWduRm9ybUNvbnRyb2wuZGlzYWJsZSh7b25seVNlbGY6IHRydWUsIGVtaXRFdmVudDogZmFsc2V9KTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy50ZXh0Rm9ybUNvbnRyb2wuZW5hYmxlKHtvbmx5U2VsZjogdHJ1ZSwgZW1pdEV2ZW50OiBmYWxzZX0pO1xuICAgICAgdGhpcy5zaWduRm9ybUNvbnRyb2wuZW5hYmxlKHtvbmx5U2VsZjogdHJ1ZSwgZW1pdEV2ZW50OiBmYWxzZX0pO1xuICAgIH1cbiAgICB0aGlzLl9kaXNhYmxpbmcgPSBmYWxzZTtcbiAgICB0aGlzLm1hcmtGb3JDaGVjaygpO1xuICB9XG5cbiAgLyoqXG4gICAqIEZvcm1hdCB2YWx1ZSB0byBkaXNwbGF5IGFzIHN0cmluZyAobm8gcGxhY2Vob2xkZXIgY2hhciwgYW5kIHNob3cgc2lnbilcbiAgICogQHBhcmFtIHZhbHVlXG4gICAqIEBwYXJhbSBvcHRzXG4gICAqL1xuICBfZm9ybWF0KHZhbHVlOiBudW1iZXIsIG9wdHM/OiBQYXJ0aWFsPExhdExvbmdGb3JtYXRPcHRpb25zPikge1xuICAgIHJldHVybiB0aGlzLl9mb3JtYXRGbih2YWx1ZSwge1xuICAgICAgLi4udGhpcy5fZm9ybWF0T3B0aW9ucywgaGlkZVNpZ246IGZhbHNlLCBwbGFjZWhvbGRlckNoYXI6ICcnXG4gICAgfSk7XG4gIH1cblxuICBfb25Gb2N1cyhldmVudDogRm9jdXNFdmVudCkge1xuXG4gICAgLy8gQXBwbHkgdGhlIGRlZmF1bHQgc2lnbiwgd2hlbiBwYXR0ZXJuIGlzIEREIGFuZCBmaWVsZCBpcyBlbXB0eVxuICAgIGNvbnN0IHZhbHVlID0gdGhpcy5mb3JtQ29udHJvbC52YWx1ZTtcbiAgICBpZiAoaXNOaWxPck5hTih2YWx1ZSkpIHtcbiAgICAgIGlmICh0aGlzLmRlZmF1bHRTaWduKSB7XG4gICAgICAgIC8vIENvbXB1dGUgdGhlIHRleHQgdmFsdWUsIHVzaW5nIHRoZSBkZWZhdWx0IHNpZ25cbiAgICAgICAgY29uc3QgZGVmYXVsdFNpZ24gPSB0aGlzLmRlZmF1bHRTaWduID09PSAnLScgPyAtMSA6IDE7XG5cbiAgICAgICAgaWYgKHRoaXMucGF0dGVybiA9PT0gJ0REJykge1xuICAgICAgICAgIGxldCB2YWx1ZVN0ciA9IHRoaXMuX2Zvcm1hdEZuKGRlZmF1bHRTaWduLCB7Li4udGhpcy5fZm9ybWF0T3B0aW9ucywgcGxhY2Vob2xkZXJDaGFyOiB0aGlzLnBsYWNlaG9sZGVyQ2hhcn0pO1xuICAgICAgICAgIC8vIEtlZXAgb25seSB0aGUgc2lnbiAoJysnIG9yICctJykgYW5kIHBsYWNlaG9sZGVyIGNoYXJzLCBidXQgTk9UIHRoZSAnMSdcbiAgICAgICAgICB2YWx1ZVN0ciA9IHZhbHVlU3RyICYmIHZhbHVlU3RyLnJlcGxhY2UoJzEnLCB0aGlzLnBsYWNlaG9sZGVyQ2hhcik7XG5cbiAgICAgICAgICAvLyBXYWl0IGVuZCBvZiBmb2N1cyBhbmltYXRpb24gKGxhYmVsIHNob3VsZCBtb3ZlIHRvIHRvcClcbiAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICAgIC8vIFNldCB0aGUgdmFsdWVcbiAgICAgICAgICAgIHRoaXMuaW5wdXRFbGVtZW50Lm5hdGl2ZUVsZW1lbnQudmFsdWUgPSB2YWx1ZVN0cjtcblxuICAgICAgICAgICAgLy8gTW92ZSBjdXJzb3IgYWZ0ZXIgdGhlIHNpZ25cbiAgICAgICAgICAgIGNvbnN0IGNhcmV0SW5kZXggPSAodGhpcy50eXBlID09PSAnbGF0aXR1ZGUnKSA/IDIgOiAxO1xuICAgICAgICAgICAgc2VsZWN0SW5wdXRSYW5nZShldmVudC50YXJnZXQsIGNhcmV0SW5kZXgpO1xuICAgICAgICAgIH0sIDI1MCk7XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSB7XG4gICAgICAgICAgdGhpcy5zaWduRm9ybUNvbnRyb2wuc2V0VmFsdWUoZGVmYXVsdFNpZ24pO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gU2VsZWN0IHRoZSBjb250ZW50IChpZiB0aGVyZSBpcyBhIHZhbHVlKVxuICAgIGVsc2Uge1xuICAgICAgc2VsZWN0SW5wdXRDb250ZW50KGV2ZW50KTtcbiAgICB9XG5cbiAgICB0aGlzLm9uRm9jdXMuZW1pdChldmVudCk7XG4gICAgcmV0dXJuIHRydWU7XG4gIH1cblxuICBfb25CbHVyKGV2ZW50OiBGb2N1c0V2ZW50KSB7XG4gICAgY29uc3QgdG91Y2hlZCA9IHRoaXMuY2hlY2tJZlRvdWNoZWQoKTtcbiAgICBpZiAodG91Y2hlZCAmJiBpc05pbCh0aGlzLmZvcm1Db250cm9sPy52YWx1ZSkpIHtcbiAgICAgIHRoaXMuaW5wdXRFbGVtZW50Lm5hdGl2ZUVsZW1lbnQudmFsdWUgPSAnJztcbiAgICB9XG4gICAgdGhpcy5vbkJsdXIuZW1pdChldmVudCk7XG4gIH1cblxuICBtb3ZlQ2FyZXRUb1NlcGFyYXRvcihldmVudDogYW55LCBmb3J3YXJkOiBib29sZWFuKTogYm9vbGVhbiB7XG4gICAgLy8gTW92ZSB0byB0aGUgc3BhY2Ugc2VwYXJhdG9yXG4gICAgcmV0dXJuIG1vdmVJbnB1dENhcmV0VG9TZXBhcmF0b3IoZXZlbnQsICcgJywgZm9yd2FyZCk7XG4gIH1cblxuICBvbktleXByZXNzKGV2ZW50OiBLZXlib2FyZEV2ZW50KSB7XG4gICAgLy8gTnVtYmVyIGVudGVyZWQgb3Igb25lIG9mIHRoZSA0IGRpcmVjdGlvbiB1cCwgZG93biwgbGVmdCBhbmQgcmlnaHRcbiAgICBpZiAoKGV2ZW50LndoaWNoID49IDQ4ICYmIGV2ZW50LndoaWNoIDw9IDU3KSB8fCAoZXZlbnQud2hpY2ggPj0gMzcgJiYgZXZlbnQud2hpY2ggPD0gNDApKSB7XG4gICAgICAvL2NvbnNvbGUuZGVidWcoJ2lucHV0IG51bWJlciBlbnRlcmVkIDonICsgZXZlbnQud2hpY2ggKyAnICcgKyBldmVudC5rZXlDb2RlICsgJyAnICsgZXZlbnQuY2hhckNvZGUpO1xuICAgICAgLy8gT0tcbiAgICB9XG4gICAgLy8gRGVjaW1hbCBzZXBhcmF0b3IgZW50ZXJlZFxuICAgIGVsc2UgaWYgKGV2ZW50LmtleSA9PT0gJy4nIHx8IGV2ZW50LmtleSA9PT0gJywnKSB7XG4gICAgICAvLyBERUJVR1xuICAgICAgLy8gY29uc29sZS5kZWJ1ZygnaW5wdXQgZGVjaW1hbCBzZXBhcmF0b3IgZW50ZXJlZCA6JyArIGV2ZW50LmNvZGUpO1xuXG4gICAgICAvLyBNb3ZlIGNhcmV0IGFmdGVyIHBvaW50XG4gICAgICBtb3ZlSW5wdXRDYXJldFRvU2VwYXJhdG9yKGV2ZW50LCAnLicpO1xuXG4gICAgICAvLyBPS1xuICAgIH0gZWxzZSB7XG4gICAgICAvLyBDb21tYW5kIGVudGVyZWQgKGRlbGV0ZSwgYmFja3NwYWNlIG9yIG9uZSBvZiB0aGUgNCBkaXJlY3Rpb24gdXAsIGRvd24sIGxlZnQgYW5kIHJpZ2h0KVxuICAgICAgaWYgKChldmVudC5rZXlDb2RlID49IDM3ICYmIGV2ZW50LmtleUNvZGUgPD0gNDApIHx8IGV2ZW50LmtleUNvZGUgPT0gNDYgfHwgZXZlbnQud2hpY2ggPT0gOCB8fCBldmVudC5rZXlDb2RlID09IDkpIHtcbiAgICAgICAgLy8gREVCVUdcbiAgICAgICAgLy9jb25zb2xlLmRlYnVnKCdpbnB1dCBjb21tYW5kIGVudGVyZWQ6JyArIGV2ZW50LndoaWNoICsgJyAnICsgZXZlbnQua2V5Q29kZSArICcgJyArIGV2ZW50LmNoYXJDb2RlKTtcblxuICAgICAgICAvLyBPS1xuICAgICAgfVxuICAgICAgLy8gU2lnbiBlbnRlcmVkICgnKycgb3IgJy0nKVxuICAgICAgZWxzZSBpZiAoZXZlbnQua2V5Q29kZSA9PT0gNDMgfHwgZXZlbnQua2V5Q29kZSA9PT0gNDUpIHtcbiAgICAgICAgLy8gREVCVUdcbiAgICAgICAgLy8gY29uc29sZS5kZWJ1ZygnaW5wdXQgc2lnbiBlbnRlcmVkOicgKyBldmVudC53aGljaCArICcgJyArIGV2ZW50LmtleUNvZGUgKyAnICcgKyBldmVudC5jaGFyQ29kZSk7XG4gICAgICAgIGNvbnN0IGNhcmV0UG9zaXRpb24gPSBnZXRDYXJldFBvc2l0aW9uKGV2ZW50LnRhcmdldCk7XG4gICAgICAgIGlmICh0aGlzLnBhdHRlcm4gPT09ICdERCcgJiYgY2FyZXRQb3NpdGlvbiA+IDApIHtcbiAgICAgICAgICBjb25zdCBzaWduID0gZXZlbnQua2V5O1xuICAgICAgICAgIC8vIFdhaXQga2V5IGFwcGx5XG4gICAgICAgICAgY29uc3QgdmFsdWUgPSB0aGlzLmlucHV0RWxlbWVudC5uYXRpdmVFbGVtZW50LnZhbHVlO1xuICAgICAgICAgIGlmICh2YWx1ZSAmJiAhdmFsdWUuc3RhcnRzV2l0aChzaWduKSkge1xuICAgICAgICAgICAgY29uc3QgbmV3VmFsdWUgPSBzaWduICsgKHZhbHVlLmxlbmd0aCA+IDEgPyB2YWx1ZS5zdWJzdHIoMSkgOiAnJyk7XG5cbiAgICAgICAgICAgIC8vIERFQlVHXG4gICAgICAgICAgICAvLyBjb25zb2xlLmRlYnVnKFwic2lnbiBlbnRlcmVkLiBVcGRhdGluZyBpbnB1dCB2YWx1ZSB0bzpcIiwgbmV3VmFsdWUpO1xuXG4gICAgICAgICAgICB0aGlzLmlucHV0RWxlbWVudC5uYXRpdmVFbGVtZW50LnZhbHVlID0gbmV3VmFsdWU7XG4gICAgICAgICAgICBzZWxlY3RJbnB1dFJhbmdlKHRoaXMuaW5wdXRFbGVtZW50Lm5hdGl2ZUVsZW1lbnQsIGNhcmV0UG9zaXRpb24pO1xuICAgICAgICAgIH1cbiAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gT0tcbiAgICAgIH1cbiAgICAgIC8vIERpcmVjdGlvbiBjaGFyIChjYXBpdGFsaXplZClcbiAgICAgIGVsc2UgaWYgKGV2ZW50LmtleSA9PT0gJ04nIHx8IGV2ZW50LmtleSA9PT0gJ1MnIHx8IGV2ZW50LmtleSA9PT0gJ0UnIHx8IGV2ZW50LmtleSA9PT0gJ1cnKSB7XG4gICAgICAgIC8vIERFQlVHXG4gICAgICAgIC8vIGNvbnNvbGUuZGVidWcoJ2lucHV0IGRpcmVjdGlvbiBlbnRlcmVkOicgKyBldmVudC53aGljaCArICcgJyArIGV2ZW50LmtleUNvZGUgKyAnICcgKyBldmVudC5jaGFyQ29kZSk7XG5cbiAgICAgICAgLy8gT0tcbiAgICAgIH1cbiAgICAgIC8vIERpcmVjdGlvbiBjaGFyXG4gICAgICBlbHNlIGlmIChldmVudC5rZXkgPT09ICduJyB8fCBldmVudC5rZXkgPT09ICdzJyB8fCBldmVudC5rZXkgPT09ICdlJyB8fCBldmVudC5rZXkgPT09ICd3Jykge1xuICAgICAgICAvLyBERUJVR1xuICAgICAgICAvLyBjb25zb2xlLmRlYnVnKCdpbnB1dCBkaXJlY3Rpb24gZW50ZXJlZDonICsgZXZlbnQud2hpY2ggKyAnICcgKyBldmVudC5rZXlDb2RlICsgJyAnICsgZXZlbnQuY2hhckNvZGUpO1xuXG4gICAgICAgIC8vIENhcGl0YWxpemUgKHdpdGggYSBkZWxheSwgdG8gYmUgc3VyZSB0aGUga2V5IGhhcyBiZWVuIGFwcGxpZWQgdG8gaW5wdXQgdGV4dClcbiAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgdGhpcy5pbnB1dEVsZW1lbnQubmF0aXZlRWxlbWVudC52YWx1ZSA9IHRoaXMuaW5wdXRFbGVtZW50Lm5hdGl2ZUVsZW1lbnQudmFsdWUudG9VcHBlckNhc2UoKTtcbiAgICAgICAgfSwgMTApO1xuXG4gICAgICAgIC8vIE9LXG4gICAgICB9XG5cbiAgICAgIC8vIEFueSBvdGhlciBrZXlib2FyZCBldmVudHNcbiAgICAgIGVsc2Uge1xuICAgICAgICAvLyBERUJVR1xuICAgICAgICAvL2NvbnNvbGUuZGVidWcoJ2lucHV0IG5vdCBudW1iZXIgZW50ZXJlZCA6JyArIGV2ZW50LndoaWNoICsgJyAnICsgZXZlbnQua2V5Q29kZSArICcgJyArIGV2ZW50LmNoYXJDb2RlICsgJyAnICsgZXZlbnQuY29kZSApO1xuXG4gICAgICAgIC8vIEtPOiBjYW5jZWwgdGhlIGV2ZW50XG4gICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cblxuICBwcml2YXRlIG9uRm9ybUNoYW5nZShzdHJWYWx1ZSk6IHZvaWQge1xuICAgIGlmICh0aGlzLl93cml0aW5nKSByZXR1cm47IC8vIFNraXAgaWYgY2FsbCBieSBzZWxmXG4gICAgdGhpcy5fd3JpdGluZyA9IHRydWU7XG5cbiAgICBpZiAodGhpcy50ZXh0Rm9ybUNvbnRyb2wuaW52YWxpZCB8fCB0aGlzLnNpZ25Gb3JtQ29udHJvbC5pbnZhbGlkKSB7XG4gICAgICB0aGlzLmZvcm1Db250cm9sLm1hcmtBc1BlbmRpbmcoKTtcbiAgICAgIHRoaXMuZm9ybUNvbnRyb2wuc2V0RXJyb3JzKHtcbiAgICAgICAgLi4udGhpcy5mb3JtQ29udHJvbC5lcnJvcnMsXG4gICAgICAgIC4uLnRoaXMudGV4dEZvcm1Db250cm9sLmVycm9ycyxcbiAgICAgICAgLi4udGhpcy5zaWduRm9ybUNvbnRyb2wuZXJyb3JzXG4gICAgICB9KTtcbiAgICAgIHRoaXMuX3dyaXRpbmcgPSBmYWxzZTtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCBwYXJzZWRWYWx1ZSA9IGlzTm90TmlsT3JCbGFuayhzdHJWYWx1ZSkgPyBwYXJzZUxhdGl0dWRlT3JMb25naXR1ZGUoc3RyVmFsdWUsIHRoaXMucGF0dGVybiwgNyAvKj1wcmVjaXNpb24gb2YgdGhlIGNvbnZlcnRlZCBkb3VibGUgdmFsdWUgKi8sIHRoaXMucGxhY2Vob2xkZXJDaGFyKSA6IG51bGw7XG5cbiAgICAvLyBERUJVR1xuICAgIC8vY29uc29sZS5kZWJ1ZygncGFyc2VkVmFsdWU9JywgcGFyc2VkVmFsdWUpO1xuXG4gICAgaWYgKGlzTmFOKHBhcnNlZFZhbHVlKSkge1xuICAgICAgdGhpcy5mb3JtQ29udHJvbC5tYXJrQXNQZW5kaW5nKCk7XG4gICAgICB0aGlzLmZvcm1Db250cm9sLnNldEVycm9ycyh0aGlzLnR5cGUgPT09ICdsYXRpdHVkZScgPyB7bGF0aXR1ZGU6IHRydWV9IDoge2xvbmdpdHVkZTogdHJ1ZX0pO1xuICAgICAgdGhpcy5fd3JpdGluZyA9IGZhbHNlO1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBjb25zdCBzaWduID0gKHRoaXMucGF0dGVybiA9PT0gJ0REJykgPyAxIC8qaWdub3JlIHNpZ24qLyA6ICh0aGlzLnNpZ25Gb3JtQ29udHJvbC52YWx1ZSB8fCAxKTtcbiAgICBjb25zdCB2YWx1ZSA9IGlzTm90TmlsKHBhcnNlZFZhbHVlKSA/IHNpZ24gKiBwYXJzZWRWYWx1ZSA6IG51bGw7XG5cbiAgICAvLyBHZXQgdGhlIG1vZGVsIHZhbHVlXG4gICAgLy9jb25zb2xlLmRlYnVnKFwiW21hdC1sYXRsb25dIFNldHRpbmcgdmFsdWUge1wiICsgdmFsdWUgKyBcIn0gcGFyc2VkIGZyb20ge1wiICsgc3RyVmFsdWUgKyBcIn1cIik7XG4gICAgdGhpcy5mb3JtQ29udHJvbC5wYXRjaFZhbHVlKHZhbHVlLCB7ZW1pdEV2ZW50OiBmYWxzZX0pO1xuICAgIHRoaXMuX3dyaXRpbmcgPSBmYWxzZTtcbiAgICB0aGlzLm1hcmtGb3JDaGVjaygpO1xuXG4gICAgdGhpcy5fb25DaGFuZ2VDYWxsYmFjayh2YWx1ZSk7XG4gIH1cblxuICBwcml2YXRlIGNoZWNrSWZUb3VjaGVkKCk6IGJvb2xlYW4ge1xuICAgIGlmICh0aGlzLmZvcm1Db250cm9sLnRvdWNoZWQgfHwgdGhpcy50ZXh0Rm9ybUNvbnRyb2wudG91Y2hlZCkge1xuICAgICAgdGhpcy5tYXJrRm9yQ2hlY2soKTtcbiAgICAgIHRoaXMuX29uVG91Y2hlZENhbGxiYWNrKCk7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgcHJpdmF0ZSBtYXJrRm9yQ2hlY2soKSB7XG4gICAgdGhpcy5jZC5tYXJrRm9yQ2hlY2soKTtcbiAgfVxufVxuXG4iLCI8IS0tIHJlYWRvbmx5IC0tPlxuPG1hdC1mb3JtLWZpZWxkICpuZ0lmPVwicmVhZG9ubHk7IGVsc2Ugd3JpdGFibGVcIlxuICAgICAgICAgICAgICAgIFtmbG9hdExhYmVsXT1cImZsb2F0TGFiZWxcIlxuICAgICAgICAgICAgICAgIFthcHBlYXJhbmNlXT1cImFwcGVhcmFuY2VcIlxuICAgICAgICAgICAgICAgIGNsYXNzPVwibWF0LWZvcm0tZmllbGQtZGlzYWJsZWRcIj5cblxuICA8ZGl2IG1hdFByZWZpeD5cbiAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwibWF0UHJlZml4VGVtcGxhdGVcIj48L25nLWNvbnRhaW5lcj5cbiAgPC9kaXY+XG5cbiAgPGlucHV0IG1hdElucHV0IGhpZGRlbiB0eXBlPVwidGV4dFwiXG4gICAgICAgICByZWFkb25seVxuICAgICAgICAgW3BsYWNlaG9sZGVyXT1cInBsYWNlaG9sZGVyXCJcbiAgICAgICAgIFtmb3JtQ29udHJvbF09XCJmb3JtQ29udHJvbFwiPlxuICA8aW9uLXRleHQ+e3tfZm9ybWF0KGZvcm1Db250cm9sLnZhbHVlKSB9fTwvaW9uLXRleHQ+XG5cbiAgPGRpdiBtYXRTdWZmaXg+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cIm1hdFN1ZmZpeFRlbXBsYXRlXCI+PC9uZy1jb250YWluZXI+XG4gIDwvZGl2PlxuPC9tYXQtZm9ybS1maWVsZD5cblxuPCEtLSB3cml0YWJsZSAtLT5cbjxuZy10ZW1wbGF0ZSAjd3JpdGFibGU+XG5cbiAgPGlvbi1ncmlkIGNsYXNzPVwiaW9uLW5vLXBhZGRpbmdcIj5cbiAgICA8aW9uLXJvdyBjbGFzcz1cImlvbi1uby1wYWRkaW5nIG5vLXdyYXBcIj5cbiAgICAgIDxpb24tY29sIGNsYXNzPVwidGV4dCBpb24tbm8tcGFkZGluZ1wiPlxuICAgICAgICA8bWF0LWZvcm0tZmllbGQgW2Zsb2F0TGFiZWxdPVwiZmxvYXRMYWJlbFwiXG4gICAgICAgICAgICAgICAgICAgICAgICBbYXBwZWFyYW5jZV09XCJhcHBlYXJhbmNlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtjbGFzcy5tYXQtZm9ybS1maWVsZC1kaXNhYmxlZF09XCJmb3JtQ29udHJvbC5kaXNhYmxlZFwiXG4gICAgICAgICAgICAgICAgICAgICAgICBbY2xhc3MubWF0LWZvcm0tZmllbGQtaW52YWxpZF09XCJmb3JtQ29udHJvbC50b3VjaGVkICYmIGZvcm1Db250cm9sLmludmFsaWRcIj5cblxuICAgICAgICAgIDxtYXQtbGFiZWwgKm5nSWY9XCJwbGFjZWhvbGRlclwiPnt7cGxhY2Vob2xkZXJ9fTwvbWF0LWxhYmVsPlxuXG4gICAgICAgICAgPGRpdiBtYXRQcmVmaXg+XG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwibWF0UHJlZml4VGVtcGxhdGVcIj48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICA8L2Rpdj5cblxuICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCAjaW5wdXRFbGVtZW50XG4gICAgICAgICAgICAgICAgIHR5cGU9XCJ0ZXh0XCJcbiAgICAgICAgICAgICAgICAgYXV0b2NvbXBsZXRlPVwib2ZmXCJcbiAgICAgICAgICAgICAgICAgW3RleHRNYXNrXT1cInRleHRNYXNrQ29uZmlnXCJcbiAgICAgICAgICAgICAgICAgW2Zvcm1Db250cm9sXT1cInRleHRGb3JtQ29udHJvbFwiXG4gICAgICAgICAgICAgICAgIFtwbGFjZWhvbGRlcl09XCJpbnB1dFBsYWNlaG9sZGVyfHRyYW5zbGF0ZVwiXG4gICAgICAgICAgICAgICAgIChrZXlwcmVzcyk9XCJvbktleXByZXNzKCRldmVudClcIlxuICAgICAgICAgICAgICAgICAoa2V5ZG93bi50YWIpPVwibW92ZUNhcmV0VG9TZXBhcmF0b3IoJGV2ZW50LCB0cnVlKVwiXG4gICAgICAgICAgICAgICAgIChrZXlkb3duLnNoaWZ0LnRhYik9XCJtb3ZlQ2FyZXRUb1NlcGFyYXRvcigkZXZlbnQsIGZhbHNlKVwiXG4gICAgICAgICAgICAgICAgIChmb2N1cyk9XCJfb25Gb2N1cygkZXZlbnQpXCJcbiAgICAgICAgICAgICAgICAgKGJsdXIpPVwiX29uQmx1cigkZXZlbnQpXCJcbiAgICAgICAgICAgICAgICAgW3JlcXVpcmVkXT1cInJlcXVpcmVkXCJcbiAgICAgICAgICAgICAgICAgW3RhYmluZGV4XT1cInRhYmluZGV4XCI+XG5cbiAgICAgICAgICA8ZGl2IG1hdFN1ZmZpeCAqbmdJZj1cIiFzaG93U2lnbkNvbnRyb2xcIj5cbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJtYXRTdWZmaXhUZW1wbGF0ZVwiPjwvbmctY29udGFpbmVyPlxuICAgICAgICAgIDwvZGl2PlxuXG4gICAgICAgICAgPGRpdiBjbGFzcz1cIm1hdC1mb3JtLWZpZWxkLXN1YnNjcmlwdCBtYXQtZm9ybS1maWVsZC1zdWJzY3JpcHQtd3JhcHBlclwiPlxuXG4gICAgICAgICAgICA8IS0tIGVycm9ycyAtLT5cbiAgICAgICAgICAgIDxtYXQtZXJyb3IgKm5nSWY9XCJmb3JtQ29udHJvbC50b3VjaGVkICYmIGZvcm1Db250cm9sLmVycm9yc3xtYXBLZXlzfGFycmF5Rmlyc3Q7IGxldCBlcnJvcktleVwiIFtuZ1N3aXRjaF09XCJlcnJvcktleVwiPlxuICAgICAgICAgICAgICA8c3BhbiAqbmdTd2l0Y2hDYXNlPVwiJ3JlcXVpcmVkJ1wiIHRyYW5zbGF0ZT5FUlJPUi5GSUVMRF9SRVFVSVJFRDwvc3Bhbj5cbiAgICAgICAgICAgICAgPHNwYW4gKm5nU3dpdGNoQ2FzZT1cIidsYXRpdHVkZSdcIiB0cmFuc2xhdGU+RVJST1IuRklFTERfTk9UX1ZBTElEX0xBVElUVURFPC9zcGFuPlxuICAgICAgICAgICAgICA8c3BhbiAqbmdTd2l0Y2hDYXNlPVwiJ2xvbmdpdHVkZSdcIiB0cmFuc2xhdGU+RVJST1IuRklFTERfTk9UX1ZBTElEX0xPTkdJVFVERTwvc3Bhbj5cbiAgICAgICAgICAgICAgPHNwYW4gKm5nU3dpdGNoQ2FzZT1cIidtaW4nXCI+e3snRVJST1IuRklFTERfTUlOX0NPTVBBQ1QnfHRyYW5zbGF0ZToge21pbjogX2Zvcm1hdChmb3JtQ29udHJvbC5lcnJvcnMubWluLm1pbikgfSB9fTwvc3Bhbj5cbiAgICAgICAgICAgICAgPHNwYW4gKm5nU3dpdGNoQ2FzZT1cIidtYXgnXCI+e3snRVJST1IuRklFTERfTUFYX0NPTVBBQ1QnfHRyYW5zbGF0ZToge21heDogX2Zvcm1hdChmb3JtQ29udHJvbC5lcnJvcnMubWF4Lm1heCkgfSB9fTwvc3Bhbj5cbiAgICAgICAgICAgICAgPHNwYW4gKm5nU3dpdGNoQ2FzZT1cIidtc2cnXCI+e3soZm9ybUNvbnRyb2wuZXJyb3JzLm1zZz8ua2V5IHx8IGZvcm1Db250cm9sLmVycm9ycy5tc2cpIHwgdHJhbnNsYXRlOiBmb3JtQ29udHJvbC5lcnJvcnMubXNnPy5wYXJhbXN9fTwvc3Bhbj5cbiAgICAgICAgICAgIDwvbWF0LWVycm9yPlxuICAgICAgICAgICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwibWF0LWVycm9yXCI+PC9uZy1jb250ZW50PlxuXG4gICAgICAgICAgICA8IS0tIG1hdCBoaW50IC0tPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1hdC1mb3JtLWZpZWxkLWhpbnQtd3JhcHBlclwiIFtjbGFzcy5jZGstdmlzdWFsbHktaGlkZGVuXT1cImZvcm1Db250cm9sLmludmFsaWRcIj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1hdC1mb3JtLWZpZWxkLWhpbnQtc3BhY2VyXCI+PC9kaXY+XG4gICAgICAgICAgICAgIDxuZy1jb250ZW50IHNlbGVjdD1cIm1hdC1oaW50XCI+PC9uZy1jb250ZW50PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICA8L2lvbi1jb2w+XG5cbiAgICAgIDwhLS0gc2lnbiAtLT5cbiAgICAgIDxpb24tY29sIGNsYXNzPVwic2lnbiBpb24tbm8tcGFkZGluZ1wiIFtuZ1N3aXRjaF09XCJ0eXBlXCIgKm5nSWY9XCJzaG93U2lnbkNvbnRyb2xcIj5cblxuICAgICAgICAgIDwhLS0gc2lnbiBvbiBsYXRpdHVkZSAtLT5cbiAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgKm5nU3dpdGNoQ2FzZT1cIidsYXRpdHVkZSdcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICBmbG9hdExhYmVsPVwibmV2ZXJcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICBbYXBwZWFyYW5jZV09XCJhcHBlYXJhbmNlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgW2NsYXNzLm1hdC1mb3JtLWZpZWxkLWludmFsaWRdPVwiZm9ybUNvbnRyb2wudG91Y2hlZCAmJiBzaWduRm9ybUNvbnRyb2wuaW52YWxpZFwiPlxuICAgICAgICAgICAgPG1hdC1sYWJlbCAqbmdJZj1cInBsYWNlaG9sZGVyICYmIGZsb2F0TGFiZWwgIT0gJ25ldmVyJ1wiIHRyYW5zbGF0ZT5DT01NT04uTEFUX0xPTkcuTEFUX1NJR05fUExBQ0VIT0xERVI8L21hdC1sYWJlbD5cbiAgICAgICAgICAgIDxtYXQtc2VsZWN0IFtmb3JtQ29udHJvbF09XCJzaWduRm9ybUNvbnRyb2xcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW3RhYmluZGV4XT1cInRhYmluZGV4KzFcIj5cbiAgICAgICAgICAgICAgPG1hdC1vcHRpb24gW3ZhbHVlXT1cIjFcIj57eydDT01NT04uTEFUX0xPTkcuTEFUX1NJR05fTid8dHJhbnNsYXRlfX08L21hdC1vcHRpb24+XG4gICAgICAgICAgICAgIDxtYXQtb3B0aW9uIFt2YWx1ZV09XCItMVwiID57eydDT01NT04uTEFUX0xPTkcuTEFUX1NJR05fUyd8dHJhbnNsYXRlfX08L21hdC1vcHRpb24+XG4gICAgICAgICAgICA8L21hdC1zZWxlY3Q+XG5cbiAgICAgICAgICAgIDxkaXYgbWF0U3VmZml4PlxuICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwibWF0U3VmZml4VGVtcGxhdGVcIj48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG5cbiAgICAgICAgICA8IS0tIHNpZ24gb24gbG9uZ2l0dWRlIC0tPlxuICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBmbG9hdExhYmVsPVwibmV2ZXJcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAqbmdTd2l0Y2hDYXNlPVwiJ2xvbmdpdHVkZSdcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICBbY2xhc3MubWF0LWZvcm0tZmllbGQtaW52YWxpZF09XCJmb3JtQ29udHJvbC50b3VjaGVkICYmIHNpZ25Gb3JtQ29udHJvbC5pbnZhbGlkXCI+XG4gICAgICAgICAgICA8bWF0LWxhYmVsICpuZ0lmPVwicGxhY2Vob2xkZXIgJiYgZmxvYXRMYWJlbCAhPSAnbmV2ZXInXCIgdHJhbnNsYXRlPkNPTU1PTi5MQVRfTE9ORy5MT05HX1NJR05fUExBQ0VIT0xERVI8L21hdC1sYWJlbD5cbiAgICAgICAgICAgIDxtYXQtc2VsZWN0IFtmb3JtQ29udHJvbF09XCJzaWduRm9ybUNvbnRyb2xcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW3RhYmluZGV4XT1cInRhYmluZGV4KzJcIj5cbiAgICAgICAgICAgICAgPG1hdC1vcHRpb24gW3ZhbHVlXT1cIjFcIiB0cmFuc2xhdGU+e3snQ09NTU9OLkxBVF9MT05HLkxPTkdfU0lHTl9FJ3x0cmFuc2xhdGV9fTwvbWF0LW9wdGlvbj5cbiAgICAgICAgICAgICAgPG1hdC1vcHRpb24gW3ZhbHVlXT1cIi0xXCIgdHJhbnNsYXRlPnt7J0NPTU1PTi5MQVRfTE9ORy5MT05HX1NJR05fVyd8dHJhbnNsYXRlfX08L21hdC1vcHRpb24+XG4gICAgICAgICAgICA8L21hdC1zZWxlY3Q+XG5cbiAgICAgICAgICAgIDxkaXYgbWF0U3VmZml4PlxuICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwibWF0U3VmZml4VGVtcGxhdGVcIj48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICA8L2lvbi1jb2w+XG4gICAgPC9pb24tcm93PlxuICA8L2lvbi1ncmlkPlxuXG48L25nLXRlbXBsYXRlPlxuXG48bmctdGVtcGxhdGUgI21hdFByZWZpeFRlbXBsYXRlPlxuICA8bmctY29udGVudCBzZWxlY3Q9XCJbbWF0UHJlZml4XVwiPjwvbmctY29udGVudD5cbjwvbmctdGVtcGxhdGU+XG5cblxuPG5nLXRlbXBsYXRlICNtYXRTdWZmaXhUZW1wbGF0ZT5cbiAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiW21hdFN1ZmZpeF1cIj48L25nLWNvbnRlbnQ+XG48L25nLXRlbXBsYXRlPlxuIl19
@@ -80,7 +80,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImpo
80
80
  }] });
81
81
  export class FormGetControlPipe {
82
82
  transform(form, path) {
83
- return (form && isNotNil(path) && form.get(path) || form);
83
+ return (form && isNotNil(path) ? form.get(path) : form);
84
84
  }
85
85
  }
86
86
  FormGetControlPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: FormGetControlPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
@@ -93,7 +93,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImpo
93
93
  }] });
94
94
  export class FormGetArrayPipe {
95
95
  transform(form, path) {
96
- return (form && path && form.get(path) || form);
96
+ return (form && isNotNil(path) ? form.get(path) : form);
97
97
  }
98
98
  }
99
99
  FormGetArrayPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: FormGetArrayPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
@@ -106,7 +106,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImpo
106
106
  }] });
107
107
  export class FormGetGroupPipe {
108
108
  transform(form, path) {
109
- return (form && path && form.get(path) || form);
109
+ return (form && isNotNil(path) ? form.get(path) : form);
110
110
  }
111
111
  }
112
112
  FormGetGroupPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: FormGetGroupPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
@@ -184,4 +184,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImpo
184
184
  pure: false
185
185
  }]
186
186
  }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }]; } });
187
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS5waXBlcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvc2hhcmVkL3BpcGVzL2Zvcm0ucGlwZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUErQixJQUFJLEVBQWdCLE1BQU0sZUFBZSxDQUFDO0FBSWhGLE9BQU8sRUFBQyxNQUFNLEVBQUUsUUFBUSxFQUFDLE1BQU0sY0FBYyxDQUFDOzs7QUFNOUMsTUFBTSxPQUFPLHNCQUFzQjtJQVFqQyxZQUNVLE9BQTRCLEVBQzVCLElBQXVCO1FBRHZCLFlBQU8sR0FBUCxPQUFPLENBQXFCO1FBQzVCLFNBQUksR0FBSixJQUFJLENBQW1CO1FBUmpDLFVBQUssR0FBVyxFQUFFLENBQUM7UUFFWCxjQUFTLEdBQTRCLElBQUksQ0FBQztRQUMxQyxpQkFBWSxHQUFzQyxJQUFJLENBQUM7SUFPL0QsQ0FBQztJQUVELFNBQVMsQ0FBQyxJQUFzQixFQUFFLElBQWlDO1FBQ2pFLElBQUksQ0FBQyxJQUFJLEVBQUU7WUFDVCxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7WUFDaEIsT0FBTyxFQUFFLENBQUM7U0FDWDtRQUVELDJFQUEyRTtRQUMzRSxJQUFJLElBQUksS0FBSyxJQUFJLENBQUMsU0FBUyxJQUFJLE1BQU0sQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLFlBQVksQ0FBQyxFQUFFO1lBQzlELE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQztTQUNuQjtRQUVELHNDQUFzQztRQUN0QyxJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQztRQUV0Qix3Q0FBd0M7UUFDeEMsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUM7UUFFekIsZ0JBQWdCO1FBQ2hCLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxDQUFDO1FBRTlCLHVEQUF1RDtRQUN2RCxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7UUFFaEIsMEVBQTBF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O29CQUNuQixJQUFJLENBQUMsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO2lCQUMxQjtZQUNILENBQUMsQ0FBQyxDQUFDO1lBRUgsbUNBQW1DO1lBQ25DLElBQUksbUJBQW1CLEVBQUU7Z0JBQ3ZCLElBQUksQ0FBQyx1QkFBdUIsR0FBRyxPQUFPLENBQUMsYUFBYSxDQUFDLFNBQVMsQ0FBQyxDQUFDLE1BQU0sRUFBRSxFQUFFO29CQUN4RSxNQUFNLEtBQUssR0FBRyxPQUFPLENBQUMsS0FBSyxDQUFDO29CQUM1QixJQUFJLEtBQUssS0FBSyxJQUFJLENBQUMsS0FBSyxFQUFFO3dCQUN4QixJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQzt3QkFDbkIsSUFBSSxDQUFDLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztxQkFDMUI7Z0JBQ0gsQ0FBQyxDQUFDLENBQUM7YUFDSjtTQUNGO1FBSUQsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDO0lBQ3BCLENBQUM7SUFFRCxXQUFXO1FBQ1QsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQ2xCLENBQUM7SUFFRDs7T0FFRztJQUNLLFFBQVE7UUFDZCxJQUFJLENBQUMsc0JBQXNCLEVBQUUsV0FBVyxFQUFFLENBQUM7UUFDM0MsSUFBSSxDQUFDLHNCQUFzQixHQUFHLFNBQVMsQ0FBQztRQUN4QyxJQUFJLENBQUMsdUJBQXVCLEVBQUUsV0FBVyxFQUFFLENBQUM7UUFDNUMsSUFBSSxDQUFDLHVCQUF1QixHQUFHLFNBQVMsQ0FBQztJQUMzQyxDQUFDOzs4R0E1RVUsZ0JBQWdCOzRHQUFoQixnQkFBZ0I7NEZBQWhCLGdCQUFnQjtrQkFKNUIsSUFBSTttQkFBQztvQkFDSixJQUFJLEVBQUUsY0FBYztvQkFDcEIsSUFBSSxFQUFFLEtBQUs7aUJBQ1oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NoYW5nZURldGVjdG9yUmVmLCBPbkRlc3Ryb3ksIFBpcGUsIFBpcGVUcmFuc2Zvcm19IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtBYnN0cmFjdENvbnRyb2wsIFVudHlwZWRGb3JtQXJyYXksIFVudHlwZWRGb3JtQ29udHJvbCwgVW50eXBlZEZvcm1Hcm91cH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHtGb3JtRXJyb3JUcmFuc2xhdG9yLCBGb3JtRXJyb3JUcmFuc2xhdG9yT3B0aW9uc30gZnJvbSAnLi4vdmFsaWRhdG9yL2Zvcm0tZXJyb3ItYWRhcHRlci5jbGFzcyc7XG5pbXBvcnQge1N1YnNjcmlwdGlvbn0gZnJvbSAncnhqcyc7XG5pbXBvcnQge2VxdWFscywgaXNOb3ROaWx9IGZyb20gJy4uL2Z1bmN0aW9ucyc7XG5cbkBQaXBlKHtcbiAgbmFtZTogJ3RyYW5zbGF0ZUZvcm1FcnJvcicsXG4gIHB1cmU6IGZhbHNlXG59KVxuZXhwb3J0IGNsYXNzIEZvcm1FcnJvclRyYW5zbGF0ZVBpcGUgaW1wbGVtZW50cyBQaXBlVHJhbnNmb3JtLCBPbkRlc3Ryb3kge1xuXG4gIHZhbHVlOiBzdHJpbmcgPSAnJztcblxuICBwcml2YXRlIF9sYXN0Rm9ybTogVW50eXBlZEZvcm1Hcm91cCB8IG51bGwgPSBudWxsO1xuICBwcml2YXRlIF9sYXN0T3B0aW9uczogRm9ybUVycm9yVHJhbnNsYXRvck9wdGlvbnMgfCBudWxsID0gbnVsbDtcbiAgcHJpdmF0ZSBfb25Gb3JtU3RhdHVzQ2hhbmdlczogU3Vic2NyaXB0aW9uIHwgdW5kZWZpbmVkO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgYWRhcHRlcjogRm9ybUVycm9yVHJhbnNsYXRvcixcbiAgICBwcml2YXRlIF9yZWY6IENoYW5nZURldGVjdG9yUmVmXG4gICkge1xuICB9XG5cbiAgdHJhbnNmb3JtKGZvcm06IFVudHlwZWRGb3JtR3JvdXAsIG9wdHM/OiBGb3JtRXJyb3JUcmFuc2xhdG9yT3B0aW9ucyk6IHN0cmluZyB7XG4gICAgaWYgKCFmb3JtKSB7XG4gICAgICB0aGlzLl9kaXNwb3NlKCk7XG4gICAgICByZXR1cm4gJyc7XG4gICAgfVxuXG4gICAgLy8gaWYgd2UgYXNrIGFub3RoZXIgdGltZSBmb3IgdGhlIHNhbWUgZm9ybSBhbmQgb3B0cywgcmV0dXJuIHRoZSBsYXN0IHZhbHVlXG4gICAgaWYgKGZvcm0gPT09IHRoaXMuX2xhc3RGb3JtICYmIGVxdWFscyhvcHRzLCB0aGlzLl9sYXN0T3B0aW9ucykpIHtcbiAgICAgIHJldHVybiB0aGlzLnZhbHVlO1xuICAgIH1cblxuICAgIC8vIHN0b3JlIHRoZSBxdWVyeSwgaW4gY2FzZSBpdCBjaGFuZ2VzXG4gICAgdGhpcy5fbGFzdEZvcm0gPSBmb3JtO1xuXG4gICAgLy8gc3RvcmUgdGhlIHBhcmFtcywgaW4gY2FzZSB0aGV5IGNoYW5nZVxuICAgIHRoaXMuX2xhc3RPcHRpb25zID0gb3B0cztcblxuICAgIC8vIHNldCB0aGUgdmFsdWVcbiAgICB0aGlzLl91cGRhdGVWYWx1ZShmb3JtLCBvcHRzKTtcblxuICAgIC8vIGlmIHRoZXJlIGlzIGEgc3Vic2NyaXB0aW9uIHRvIG9uTGFuZ0NoYW5nZSwgY2xlYW4gaXRcbiAgICB0aGlzLl9kaXNwb3NlKCk7XG5cbiAgICAvLyBzdWJzY3JpYmUgdG8gb25UcmFuc2xhdGlvbkNoYW5nZSBldmVudCwgaW4gY2FzZSB0aGUgdHJhbnNsYXRpb25zIGNoYW5nZVxuICAgIGlmICghdGhpcy5fb25Gb3JtU3RhdHVzQ2hhbmdlcykge1xuICAgICAgdGhpcy5fb25Gb3JtU3RhdHVzQ2hhbmdlcyA9IGZvcm0uc3RhdHVzQ2hhbmdlcy5zdWJzY3JpYmUoKHN0YXR1cykgPT4ge1xuICAgICAgICB0aGlzLl91cGRhdGVWYWx1ZShmb3JtLCBvcHRzLCBzdGF0dXMpO1xuICAgICAgfSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHRoaXMudmFsdWU7XG4gIH1cblxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLl9kaXNwb3NlKCk7XG4gIH1cblxuICBwcml2YXRlIF91cGRhdGVWYWx1ZShmb3JtOiBVbnR5cGVkRm9ybUdyb3VwLCBvcHRzPzogRm9ybUVycm9yVHJhbnNsYXRvck9wdGlvbnMsIHN0YXR1cz86IGFueSkge1xuICAgIGlmIChzdGF0dXMgPT09ICdJTlZBTElEJyB8fCBmb3JtLmludmFsaWQpIHtcbiAgICAgIHRoaXMudmFsdWUgPSB0aGlzLmFkYXB0ZXIudHJhbnNsYXRlRm9ybUVycm9ycyhmb3JtLCBvcHRzKTtcbiAgICAgIHRoaXMuX3JlZi5tYXJrRm9yQ2hlY2soKTtcbiAgICB9XG4gICAgZWxzZSBpZiAodGhpcy52YWx1ZSAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICB0aGlzLnZhbHVlID0gdW5kZWZpbmVkO1xuICAgICAgdGhpcy5fcmVmLm1hcmtGb3JDaGVjaygpO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBDbGVhbiBhbnkgZXhpc3Rpbmcgc3Vic2NyaXB0aW9uIHRvIGNoYW5nZSBldmVudHNcbiAgICovXG4gIHByaXZhdGUgX2Rpc3Bvc2UoKTogdm9pZCB7XG4gICAgdGhpcy5fb25Gb3JtU3RhdHVzQ2hhbmdlcz8udW5zdWJzY3JpYmUoKTtcbiAgICB0aGlzLl9vbkZvcm1TdGF0dXNDaGFuZ2VzID0gdW5kZWZpbmVkO1xuICB9XG59XG5cbkBQaXBlKHtcbiAgbmFtZTogJ2Zvcm1HZXQnXG59KVxuZXhwb3J0IGNsYXNzIEZvcm1HZXRQaXBlIGltcGxlbWVudHMgUGlwZVRyYW5zZm9ybSB7XG5cbiAgdHJhbnNmb3JtKGZvcm06IEFic3RyYWN0Q29udHJvbCwgcGF0aDogQXJyYXk8c3RyaW5nIHwgbnVtYmVyPiB8IHN0cmluZyApOiBBYnN0cmFjdENvbnRyb2wge1xuICAgIHJldHVybiBmb3JtLmdldChwYXRoKTtcbiAgfVxufVxuXG5AUGlwZSh7XG4gIG5hbWU6ICdmb3JtR2V0Q29udHJvbCdcbn0pXG5leHBvcnQgY2xhc3MgRm9ybUdldENvbnRyb2xQaXBlIGltcGxlbWVudHMgUGlwZVRyYW5zZm9ybSB7XG5cbiAgdHJhbnNmb3JtKGZvcm06IEFic3RyYWN0Q29udHJvbCwgcGF0aD86IEFycmF5PHN0cmluZyB8IG51bWJlcj4gfCBzdHJpbmcgKTogVW50eXBlZEZvcm1Db250cm9sIHtcbiAgICByZXR1cm4gKGZvcm0gJiYgaXNOb3ROaWwocGF0aCkgJiYgZm9ybS5nZXQocGF0aCkgfHwgZm9ybSkgYXMgVW50eXBlZEZvcm1Db250cm9sO1xuICB9XG59XG5cbkBQaXBlKHtcbiAgbmFtZTogJ2Zvcm1HZXRBcnJheSdcbn0pXG5leHBvcnQgY2xhc3MgRm9ybUdldEFycmF5UGlwZSBpbXBsZW1lbnRzIFBpcGVUcmFuc2Zvcm0ge1xuXG4gIHRyYW5zZm9ybShmb3JtOiBBYnN0cmFjdENvbnRyb2wsIHBhdGg/OiBBcnJheTxzdHJpbmcgfCBudW1iZXI+IHwgc3RyaW5nICk6IFVudHlwZWRGb3JtQXJyYXkge1xuICAgIHJldHVybiAoZm9ybSAmJiBwYXRoICYmIGZvcm0uZ2V0KHBhdGgpIHx8IGZvcm0pIGFzIFVudHlwZWRGb3JtQXJyYXk7XG4gIH1cbn1cblxuQFBpcGUoe1xuICBuYW1lOiAnZm9ybUdldEdyb3VwJ1xufSlcbmV4cG9ydCBjbGFzcyBGb3JtR2V0R3JvdXBQaXBlIGltcGxlbWVudHMgUGlwZVRyYW5zZm9ybSB7XG5cbiAgdHJhbnNmb3JtKGZvcm06IEFic3RyYWN0Q29udHJvbCwgcGF0aD86IEFycmF5PHN0cmluZyB8IG51bWJlcj4gfCBzdHJpbmcgKTogVW50eXBlZEZvcm1Hcm91cCB7XG4gICAgcmV0dXJuIChmb3JtICYmIHBhdGggJiYgZm9ybS5nZXQocGF0aCkgfHwgZm9ybSkgYXMgVW50eXBlZEZvcm1Hcm91cDtcbiAgfVxufVxuXG5AUGlwZSh7XG4gIG5hbWU6ICdmb3JtR2V0VmFsdWUnLFxuICBwdXJlOiBmYWxzZVxufSlcbmV4cG9ydCBjbGFzcyBGb3JtR2V0VmFsdWVQaXBlIGltcGxlbWVudHMgUGlwZVRyYW5zZm9ybSwgT25EZXN0cm95IHtcblxuICB2YWx1ZTogYW55ID0gdW5kZWZpbmVkO1xuXG4gIHByaXZhdGUgX2xhc3RDb250cm9sOiBBYnN0cmFjdENvbnRyb2wgfCBudWxsID0gbnVsbDtcbiAgcHJpdmF0ZSBfbGFzdFBhdGg6IEFycmF5PHN0cmluZyB8IG51bWJlcj4gfCBzdHJpbmc7XG4gIHByaXZhdGUgX29uQ29udHJvbFZhbHVlQ2hhbmdlczogU3Vic2NyaXB0aW9uIHwgdW5kZWZpbmVkO1xuICBwcml2YXRlIF9vbkNvbnRyb2xTdGF0dXNDaGFuZ2VzOiBTdWJzY3JpcHRpb24gfCB1bmRlZmluZWQ7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBfcmVmOiBDaGFuZ2VEZXRlY3RvclJlZlxuICApIHtcbiAgfVxuXG4gIHRyYW5zZm9ybShmb3JtOiBBYnN0cmFjdENvbnRyb2wsIHBhdGg/OiBBcnJheTxzdHJpbmcgfCBudW1iZXI+IHwgc3RyaW5nLCBsaXN0ZW5TdGF0dXNDaGFuZ2VzID0gZmFsc2UpOiBhbnkge1xuICAgIGlmICghZm9ybSkge1xuICAgICAgdGhpcy5fZGlzcG9zZSgpO1xuICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICB9XG5cbiAgICAvLyBpZiB3ZSBhc2sgYW5vdGhlciB0aW1lIGZvciB0aGUgc2FtZSBmb3JtIGFuZCBvcHRzLCByZXR1cm4gdGhlIGxhc3QgdmFsdWVcbiAgICBpZiAoZm9ybSA9PT0gdGhpcy5fbGFzdENvbnRyb2wgJiYgZXF1YWxzKHBhdGgsIHRoaXMuX2xhc3RQYXRoKSkge1xuICAgICAgcmV0dXJuIHRoaXMudmFsdWU7XG4gICAgfVxuXG4gICAgLy8gc3RvcmUgdGhlIHF1ZXJ5LCBpbiBjYXNlIGl0IGNoYW5nZXNcbiAgICB0aGlzLl9sYXN0Q29udHJvbCA9IGZvcm07XG5cbiAgICAvLyBzdG9yZSB0aGUgcGFyYW1zLCBpbiBjYXNlIHRoZXkgY2hhbmdlXG4gICAgdGhpcy5fbGFzdFBhdGggPSBwYXRoO1xuXG4gICAgLy8gc2V0IHRoZSB2YWx1ZVxuICAgIGNvbnN0IGNvbnRyb2wgPSBwYXRoID8gZm9ybS5nZXQocGF0aCkgOiBmb3JtO1xuICAgIHRoaXMudmFsdWUgPSBjb250cm9sPy52YWx1ZTtcblxuICAgIC8vIGlmIHRoZXJlIGlzIGEgc3Vic2NyaXB0aW9uIHRvIG9uTGFuZ0NoYW5nZSwgY2xlYW4gaXRcbiAgICB0aGlzLl9kaXNwb3NlKCk7XG5cbiAgICBpZiAoY29udHJvbCkge1xuICAgICAgLy8gc3Vic2NyaWJlIHRvIHZhbHVlQ2hhbmdlcyBldmVudFxuICAgICAgdGhpcy5fb25Db250cm9sVmFsdWVDaGFuZ2VzID0gY29udHJvbC52YWx1ZUNoYW5nZXMuc3Vic2NyaWJlKCh2YWx1ZSkgPT4ge1xuICAgICAgICBpZiAodmFsdWUgIT09IHRoaXMudmFsdWUpIHtcbiAgICAgICAgICB0aGlzLnZhbHVlID0gdmFsdWU7XG4gICAgICAgICAgdGhpcy5fcmVmLm1hcmtGb3JDaGVjaygpO1xuICAgICAgICB9XG4gICAgICB9KTtcblxuICAgICAgLy8gc3Vic2NyaWJlIHRvIHN0YXR1c0NoYW5nZXMgZXZlbnRcbiAgICAgIGlmIChsaXN0ZW5TdGF0dXNDaGFuZ2VzKSB7XG4gICAgICAgIHRoaXMuX29uQ29udHJvbFN0YXR1c0NoYW5nZXMgPSBjb250cm9sLnN0YXR1c0NoYW5nZXMuc3Vic2NyaWJlKChzdGF0dXMpID0+IHtcbiAgICAgICAgICBjb25zdCB2YWx1ZSA9IGNvbnRyb2wudmFsdWU7XG4gICAgICAgICAgaWYgKHZhbHVlICE9PSB0aGlzLnZhbHVlKSB7XG4gICAgICAgICAgICB0aGlzLnZhbHVlID0gdmFsdWU7XG4gICAgICAgICAgICB0aGlzLl9yZWYubWFya0ZvckNoZWNrKCk7XG4gICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICB9XG5cblxuXG4gICAgcmV0dXJuIHRoaXMudmFsdWU7XG4gIH1cblxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLl9kaXNwb3NlKCk7XG4gIH1cblxuICAvKipcbiAgICogQ2xlYW4gYW55IGV4aXN0aW5nIHN1YnNjcmlwdGlvbiB0byBjaGFuZ2UgZXZlbnRzXG4gICAqL1xuICBwcml2YXRlIF9kaXNwb3NlKCk6IHZvaWQge1xuICAgIHRoaXMuX29uQ29udHJvbFZhbHVlQ2hhbmdlcz8udW5zdWJzY3JpYmUoKTtcbiAgICB0aGlzLl9vbkNvbnRyb2xWYWx1ZUNoYW5nZXMgPSB1bmRlZmluZWQ7XG4gICAgdGhpcy5fb25Db250cm9sU3RhdHVzQ2hhbmdlcz8udW5zdWJzY3JpYmUoKTtcbiAgICB0aGlzLl9vbkNvbnRyb2xTdGF0dXNDaGFuZ2VzID0gdW5kZWZpbmVkO1xuICB9XG5cbn1cbiJdfQ==
187
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS5waXBlcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvc2hhcmVkL3BpcGVzL2Zvcm0ucGlwZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUErQixJQUFJLEVBQWdCLE1BQU0sZUFBZSxDQUFDO0FBSWhGLE9BQU8sRUFBQyxNQUFNLEVBQUUsUUFBUSxFQUFDLE1BQU0sY0FBYyxDQUFDOzs7QUFNOUMsTUFBTSxPQUFPLHNCQUFzQjtJQVFqQyxZQUNVLE9BQTRCLEVBQzVCLElBQXVCO1FBRHZCLFlBQU8sR0FBUCxPQUFPLENBQXFCO1FBQzVCLFNBQUksR0FBSixJQUFJLENBQW1CO1FBUmpDLFVBQUssR0FBVyxFQUFFLENBQUM7UUFFWCxjQUFTLEdBQTRCLElBQUksQ0FBQztRQUMxQyxpQkFBWSxHQUFzQyxJQUFJLENBQUM7SUFPL0QsQ0FBQztJQUVELFNBQVMsQ0FBQyxJQUFzQixFQUFFLElBQWlDO1FBQ2pFLElBQUksQ0FBQyxJQUFJLEVBQUU7WUFDVCxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7WUFDaEIsT0FBTyxFQUFFLENBQUM7U0FDWDtRQUVELDJFQUEyRTtRQUMzRSxJQUFJLElBQUksS0FBSyxJQUFJLENBQUMsU0FBUyxJQUFJLE1BQU0sQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLFlBQVksQ0FBQyxFQUFFO1lBQzlELE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQztTQUNuQjtRQUVELHNDQUFzQztRQUN0QyxJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQztRQUV0Qix3Q0FBd0M7UUFDeEMsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUM7UUFFekIsZ0JBQWdCO1FBQ2hCLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxDQUFDO1FBRTlCLHVEQUF1RDtRQUN2RCxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7UUFFaEIsMEVBQTBF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YW5nZURldGVjdG9yUmVmLCBPbkRlc3Ryb3ksIFBpcGUsIFBpcGVUcmFuc2Zvcm19IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtBYnN0cmFjdENvbnRyb2wsIFVudHlwZWRGb3JtQXJyYXksIFVudHlwZWRGb3JtQ29udHJvbCwgVW50eXBlZEZvcm1Hcm91cH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHtGb3JtRXJyb3JUcmFuc2xhdG9yLCBGb3JtRXJyb3JUcmFuc2xhdG9yT3B0aW9uc30gZnJvbSAnLi4vdmFsaWRhdG9yL2Zvcm0tZXJyb3ItYWRhcHRlci5jbGFzcyc7XG5pbXBvcnQge1N1YnNjcmlwdGlvbn0gZnJvbSAncnhqcyc7XG5pbXBvcnQge2VxdWFscywgaXNOb3ROaWx9IGZyb20gJy4uL2Z1bmN0aW9ucyc7XG5cbkBQaXBlKHtcbiAgbmFtZTogJ3RyYW5zbGF0ZUZvcm1FcnJvcicsXG4gIHB1cmU6IGZhbHNlXG59KVxuZXhwb3J0IGNsYXNzIEZvcm1FcnJvclRyYW5zbGF0ZVBpcGUgaW1wbGVtZW50cyBQaXBlVHJhbnNmb3JtLCBPbkRlc3Ryb3kge1xuXG4gIHZhbHVlOiBzdHJpbmcgPSAnJztcblxuICBwcml2YXRlIF9sYXN0Rm9ybTogVW50eXBlZEZvcm1Hcm91cCB8IG51bGwgPSBudWxsO1xuICBwcml2YXRlIF9sYXN0T3B0aW9uczogRm9ybUVycm9yVHJhbnNsYXRvck9wdGlvbnMgfCBudWxsID0gbnVsbDtcbiAgcHJpdmF0ZSBfb25Gb3JtU3RhdHVzQ2hhbmdlczogU3Vic2NyaXB0aW9uIHwgdW5kZWZpbmVkO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgYWRhcHRlcjogRm9ybUVycm9yVHJhbnNsYXRvcixcbiAgICBwcml2YXRlIF9yZWY6IENoYW5nZURldGVjdG9yUmVmXG4gICkge1xuICB9XG5cbiAgdHJhbnNmb3JtKGZvcm06IFVudHlwZWRGb3JtR3JvdXAsIG9wdHM/OiBGb3JtRXJyb3JUcmFuc2xhdG9yT3B0aW9ucyk6IHN0cmluZyB7XG4gICAgaWYgKCFmb3JtKSB7XG4gICAgICB0aGlzLl9kaXNwb3NlKCk7XG4gICAgICByZXR1cm4gJyc7XG4gICAgfVxuXG4gICAgLy8gaWYgd2UgYXNrIGFub3RoZXIgdGltZSBmb3IgdGhlIHNhbWUgZm9ybSBhbmQgb3B0cywgcmV0dXJuIHRoZSBsYXN0IHZhbHVlXG4gICAgaWYgKGZvcm0gPT09IHRoaXMuX2xhc3RGb3JtICYmIGVxdWFscyhvcHRzLCB0aGlzLl9sYXN0T3B0aW9ucykpIHtcbiAgICAgIHJldHVybiB0aGlzLnZhbHVlO1xuICAgIH1cblxuICAgIC8vIHN0b3JlIHRoZSBxdWVyeSwgaW4gY2FzZSBpdCBjaGFuZ2VzXG4gICAgdGhpcy5fbGFzdEZvcm0gPSBmb3JtO1xuXG4gICAgLy8gc3RvcmUgdGhlIHBhcmFtcywgaW4gY2FzZSB0aGV5IGNoYW5nZVxuICAgIHRoaXMuX2xhc3RPcHRpb25zID0gb3B0cztcblxuICAgIC8vIHNldCB0aGUgdmFsdWVcbiAgICB0aGlzLl91cGRhdGVWYWx1ZShmb3JtLCBvcHRzKTtcblxuICAgIC8vIGlmIHRoZXJlIGlzIGEgc3Vic2NyaXB0aW9uIHRvIG9uTGFuZ0NoYW5nZSwgY2xlYW4gaXRcbiAgICB0aGlzLl9kaXNwb3NlKCk7XG5cbiAgICAvLyBzdWJzY3JpYmUgdG8gb25UcmFuc2xhdGlvbkNoYW5nZSBldmVudCwgaW4gY2FzZSB0aGUgdHJhbnNsYXRpb25zIGNoYW5nZVxuICAgIGlmICghdGhpcy5fb25Gb3JtU3RhdHVzQ2hhbmdlcykge1xuICAgICAgdGhpcy5fb25Gb3JtU3RhdHVzQ2hhbmdlcyA9IGZvcm0uc3RhdHVzQ2hhbmdlcy5zdWJzY3JpYmUoKHN0YXR1cykgPT4ge1xuICAgICAgICB0aGlzLl91cGRhdGVWYWx1ZShmb3JtLCBvcHRzLCBzdGF0dXMpO1xuICAgICAgfSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHRoaXMudmFsdWU7XG4gIH1cblxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLl9kaXNwb3NlKCk7XG4gIH1cblxuICBwcml2YXRlIF91cGRhdGVWYWx1ZShmb3JtOiBVbnR5cGVkRm9ybUdyb3VwLCBvcHRzPzogRm9ybUVycm9yVHJhbnNsYXRvck9wdGlvbnMsIHN0YXR1cz86IGFueSkge1xuICAgIGlmIChzdGF0dXMgPT09ICdJTlZBTElEJyB8fCBmb3JtLmludmFsaWQpIHtcbiAgICAgIHRoaXMudmFsdWUgPSB0aGlzLmFkYXB0ZXIudHJhbnNsYXRlRm9ybUVycm9ycyhmb3JtLCBvcHRzKTtcbiAgICAgIHRoaXMuX3JlZi5tYXJrRm9yQ2hlY2soKTtcbiAgICB9XG4gICAgZWxzZSBpZiAodGhpcy52YWx1ZSAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICB0aGlzLnZhbHVlID0gdW5kZWZpbmVkO1xuICAgICAgdGhpcy5fcmVmLm1hcmtGb3JDaGVjaygpO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBDbGVhbiBhbnkgZXhpc3Rpbmcgc3Vic2NyaXB0aW9uIHRvIGNoYW5nZSBldmVudHNcbiAgICovXG4gIHByaXZhdGUgX2Rpc3Bvc2UoKTogdm9pZCB7XG4gICAgdGhpcy5fb25Gb3JtU3RhdHVzQ2hhbmdlcz8udW5zdWJzY3JpYmUoKTtcbiAgICB0aGlzLl9vbkZvcm1TdGF0dXNDaGFuZ2VzID0gdW5kZWZpbmVkO1xuICB9XG59XG5cbkBQaXBlKHtcbiAgbmFtZTogJ2Zvcm1HZXQnXG59KVxuZXhwb3J0IGNsYXNzIEZvcm1HZXRQaXBlIGltcGxlbWVudHMgUGlwZVRyYW5zZm9ybSB7XG5cbiAgdHJhbnNmb3JtKGZvcm06IEFic3RyYWN0Q29udHJvbCwgcGF0aDogQXJyYXk8c3RyaW5nIHwgbnVtYmVyPiB8IHN0cmluZyApOiBBYnN0cmFjdENvbnRyb2wge1xuICAgIHJldHVybiBmb3JtLmdldChwYXRoKTtcbiAgfVxufVxuXG5AUGlwZSh7XG4gIG5hbWU6ICdmb3JtR2V0Q29udHJvbCdcbn0pXG5leHBvcnQgY2xhc3MgRm9ybUdldENvbnRyb2xQaXBlIGltcGxlbWVudHMgUGlwZVRyYW5zZm9ybSB7XG5cbiAgdHJhbnNmb3JtKGZvcm06IEFic3RyYWN0Q29udHJvbCwgcGF0aD86IEFycmF5PHN0cmluZyB8IG51bWJlcj4gfCBzdHJpbmcgKTogVW50eXBlZEZvcm1Db250cm9sIHtcbiAgICByZXR1cm4gKGZvcm0gJiYgaXNOb3ROaWwocGF0aCkgPyBmb3JtLmdldChwYXRoKSA6IGZvcm0pIGFzIFVudHlwZWRGb3JtQ29udHJvbDtcbiAgfVxufVxuXG5AUGlwZSh7XG4gIG5hbWU6ICdmb3JtR2V0QXJyYXknXG59KVxuZXhwb3J0IGNsYXNzIEZvcm1HZXRBcnJheVBpcGUgaW1wbGVtZW50cyBQaXBlVHJhbnNmb3JtIHtcblxuICB0cmFuc2Zvcm0oZm9ybTogQWJzdHJhY3RDb250cm9sLCBwYXRoPzogQXJyYXk8c3RyaW5nIHwgbnVtYmVyPiB8IHN0cmluZyApOiBVbnR5cGVkRm9ybUFycmF5IHtcbiAgICByZXR1cm4gKGZvcm0gJiYgaXNOb3ROaWwocGF0aCkgPyBmb3JtLmdldChwYXRoKSA6IGZvcm0pIGFzIFVudHlwZWRGb3JtQXJyYXk7XG4gIH1cbn1cblxuQFBpcGUoe1xuICBuYW1lOiAnZm9ybUdldEdyb3VwJ1xufSlcbmV4cG9ydCBjbGFzcyBGb3JtR2V0R3JvdXBQaXBlIGltcGxlbWVudHMgUGlwZVRyYW5zZm9ybSB7XG5cbiAgdHJhbnNmb3JtKGZvcm06IEFic3RyYWN0Q29udHJvbCwgcGF0aD86IEFycmF5PHN0cmluZyB8IG51bWJlcj4gfCBzdHJpbmcgKTogVW50eXBlZEZvcm1Hcm91cCB7XG4gICAgcmV0dXJuIChmb3JtICYmIGlzTm90TmlsKHBhdGgpID8gZm9ybS5nZXQocGF0aCkgOiBmb3JtKSBhcyBVbnR5cGVkRm9ybUdyb3VwO1xuICB9XG59XG5cbkBQaXBlKHtcbiAgbmFtZTogJ2Zvcm1HZXRWYWx1ZScsXG4gIHB1cmU6IGZhbHNlXG59KVxuZXhwb3J0IGNsYXNzIEZvcm1HZXRWYWx1ZVBpcGUgaW1wbGVtZW50cyBQaXBlVHJhbnNmb3JtLCBPbkRlc3Ryb3kge1xuXG4gIHZhbHVlOiBhbnkgPSB1bmRlZmluZWQ7XG5cbiAgcHJpdmF0ZSBfbGFzdENvbnRyb2w6IEFic3RyYWN0Q29udHJvbCB8IG51bGwgPSBudWxsO1xuICBwcml2YXRlIF9sYXN0UGF0aDogQXJyYXk8c3RyaW5nIHwgbnVtYmVyPiB8IHN0cmluZztcbiAgcHJpdmF0ZSBfb25Db250cm9sVmFsdWVDaGFuZ2VzOiBTdWJzY3JpcHRpb24gfCB1bmRlZmluZWQ7XG4gIHByaXZhdGUgX29uQ29udHJvbFN0YXR1c0NoYW5nZXM6IFN1YnNjcmlwdGlvbiB8IHVuZGVmaW5lZDtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIF9yZWY6IENoYW5nZURldGVjdG9yUmVmXG4gICkge1xuICB9XG5cbiAgdHJhbnNmb3JtKGZvcm06IEFic3RyYWN0Q29udHJvbCwgcGF0aD86IEFycmF5PHN0cmluZyB8IG51bWJlcj4gfCBzdHJpbmcsIGxpc3RlblN0YXR1c0NoYW5nZXMgPSBmYWxzZSk6IGFueSB7XG4gICAgaWYgKCFmb3JtKSB7XG4gICAgICB0aGlzLl9kaXNwb3NlKCk7XG4gICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgIH1cblxuICAgIC8vIGlmIHdlIGFzayBhbm90aGVyIHRpbWUgZm9yIHRoZSBzYW1lIGZvcm0gYW5kIG9wdHMsIHJldHVybiB0aGUgbGFzdCB2YWx1ZVxuICAgIGlmIChmb3JtID09PSB0aGlzLl9sYXN0Q29udHJvbCAmJiBlcXVhbHMocGF0aCwgdGhpcy5fbGFzdFBhdGgpKSB7XG4gICAgICByZXR1cm4gdGhpcy52YWx1ZTtcbiAgICB9XG5cbiAgICAvLyBzdG9yZSB0aGUgcXVlcnksIGluIGNhc2UgaXQgY2hhbmdlc1xuICAgIHRoaXMuX2xhc3RDb250cm9sID0gZm9ybTtcblxuICAgIC8vIHN0b3JlIHRoZSBwYXJhbXMsIGluIGNhc2UgdGhleSBjaGFuZ2VcbiAgICB0aGlzLl9sYXN0UGF0aCA9IHBhdGg7XG5cbiAgICAvLyBzZXQgdGhlIHZhbHVlXG4gICAgY29uc3QgY29udHJvbCA9IHBhdGggPyBmb3JtLmdldChwYXRoKSA6IGZvcm07XG4gICAgdGhpcy52YWx1ZSA9IGNvbnRyb2w/LnZhbHVlO1xuXG4gICAgLy8gaWYgdGhlcmUgaXMgYSBzdWJzY3JpcHRpb24gdG8gb25MYW5nQ2hhbmdlLCBjbGVhbiBpdFxuICAgIHRoaXMuX2Rpc3Bvc2UoKTtcblxuICAgIGlmIChjb250cm9sKSB7XG4gICAgICAvLyBzdWJzY3JpYmUgdG8gdmFsdWVDaGFuZ2VzIGV2ZW50XG4gICAgICB0aGlzLl9vbkNvbnRyb2xWYWx1ZUNoYW5nZXMgPSBjb250cm9sLnZhbHVlQ2hhbmdlcy5zdWJzY3JpYmUoKHZhbHVlKSA9PiB7XG4gICAgICAgIGlmICh2YWx1ZSAhPT0gdGhpcy52YWx1ZSkge1xuICAgICAgICAgIHRoaXMudmFsdWUgPSB2YWx1ZTtcbiAgICAgICAgICB0aGlzLl9yZWYubWFya0ZvckNoZWNrKCk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuXG4gICAgICAvLyBzdWJzY3JpYmUgdG8gc3RhdHVzQ2hhbmdlcyBldmVudFxuICAgICAgaWYgKGxpc3RlblN0YXR1c0NoYW5nZXMpIHtcbiAgICAgICAgdGhpcy5fb25Db250cm9sU3RhdHVzQ2hhbmdlcyA9IGNvbnRyb2wuc3RhdHVzQ2hhbmdlcy5zdWJzY3JpYmUoKHN0YXR1cykgPT4ge1xuICAgICAgICAgIGNvbnN0IHZhbHVlID0gY29udHJvbC52YWx1ZTtcbiAgICAgICAgICBpZiAodmFsdWUgIT09IHRoaXMudmFsdWUpIHtcbiAgICAgICAgICAgIHRoaXMudmFsdWUgPSB2YWx1ZTtcbiAgICAgICAgICAgIHRoaXMuX3JlZi5tYXJrRm9yQ2hlY2soKTtcbiAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgIH1cblxuXG5cbiAgICByZXR1cm4gdGhpcy52YWx1ZTtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuX2Rpc3Bvc2UoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDbGVhbiBhbnkgZXhpc3Rpbmcgc3Vic2NyaXB0aW9uIHRvIGNoYW5nZSBldmVudHNcbiAgICovXG4gIHByaXZhdGUgX2Rpc3Bvc2UoKTogdm9pZCB7XG4gICAgdGhpcy5fb25Db250cm9sVmFsdWVDaGFuZ2VzPy51bnN1YnNjcmliZSgpO1xuICAgIHRoaXMuX29uQ29udHJvbFZhbHVlQ2hhbmdlcyA9IHVuZGVmaW5lZDtcbiAgICB0aGlzLl9vbkNvbnRyb2xTdGF0dXNDaGFuZ2VzPy51bnN1YnNjcmliZSgpO1xuICAgIHRoaXMuX29uQ29udHJvbFN0YXR1c0NoYW5nZXMgPSB1bmRlZmluZWQ7XG4gIH1cblxufVxuIl19
@@ -48,7 +48,8 @@ export class SharedModule {
48
48
  return {
49
49
  ngModule: SharedModule,
50
50
  providers: [
51
- { provide: ENVIRONMENT, useValue: environment },
51
+ // Define environment token if provided. Can be defined elsewhere (see Quadrige)
52
+ ...(!!environment ? [{ provide: ENVIRONMENT, useValue: environment }] : []),
52
53
  // { provide: StorageService, useClass: StorageService, deps: [ENVIRONMENT]},
53
54
  { provide: APP_STORAGE, useExisting: StorageService },
54
55
  StorageService,
@@ -204,4 +205,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImpo
204
205
  ]
205
206
  }]
206
207
  }] });
207
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2hhcmVkLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvc2hhcmVkL3NoYXJlZC5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUF1QixRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDOUQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3JELE9BQU8sRUFBRSxlQUFlLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN4RSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDN0MsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDN0QsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQzdELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUNwRCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUMvRCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSw4Q0FBOEMsQ0FBQztBQUNoRixPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUNyRCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdEQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM5QyxPQUFPLEVBQXVCLDBCQUEwQixFQUFFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ2xILE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQ3RFLE9BQU8sRUFBRSxXQUFXLEVBQUUs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bkIsaUJBQWlCO3dCQUNqQixlQUFlO3FCQUNoQjtpQkFDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE1vZHVsZVdpdGhQcm92aWRlcnMsIE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgU2hhcmVkTWF0ZXJpYWxNb2R1bGUgfSBmcm9tICcuL21hdGVyaWFsL21hdGVyaWFsLm1vZHVsZSc7XG5pbXBvcnQgeyBSZWFjdGl2ZUZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgVHJhbnNsYXRlTW9kdWxlLCBUcmFuc2xhdGVTZXJ2aWNlIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XG5pbXBvcnQgeyBJb25pY01vZHVsZSB9IGZyb20gJ0Bpb25pYy9hbmd1bGFyJztcbmltcG9ydCB7IERhdGVGb3JtYXRTZXJ2aWNlIH0gZnJvbSAnLi9waXBlcy9kYXRlLWZvcm1hdC5waXBlJztcbmltcG9ydCB7IERhdGVGcm9tTm93UGlwZSB9IGZyb20gJy4vcGlwZXMvZGF0ZS1mcm9tLW5vdy5waXBlJztcbmltcG9ydCB7IFRleHRNYXNrTW9kdWxlIH0gZnJvbSAnYW5ndWxhcjItdGV4dC1tYXNrJztcbmltcG9ydCB7IE1hdFBhZ2luYXRvckludGwgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9wYWdpbmF0b3InO1xuaW1wb3J0IHsgTWF0UGFnaW5hdG9ySTE4biB9IGZyb20gJy4vbWF0ZXJpYWwvcGFnaW5hdG9yL21hdGVyaWFsLnBhZ2luYXRvci1pMThuJztcbmltcG9ydCB7IENvbG9yUGlja2VyTW9kdWxlIH0gZnJvbSAnbmd4LWNvbG9yLXBpY2tlcic7XG5pbXBvcnQgeyBBcHBGb3JtRmllbGQgfSBmcm9tICcuL2Zvcm0vZmllbGQuY29tcG9uZW50JztcbmltcG9ydCB7IEF1ZGlvUHJvdmlkZXIgfSBmcm9tICcuL2F1ZGlvL2F1ZGlvJztcbmltcG9ydCB7IENsb3NlU2Nyb2xsU3RyYXRlZ3ksIEZ1bGxzY3JlZW5PdmVybGF5Q29udGFpbmVyLCBPdmVybGF5LCBPdmVybGF5Q29udGFpbmVyIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL292ZXJsYXknO1xuaW1wb3J0IHsgU2hhcmVkSG90a2V5c01vZHVsZSB9IGZyb20gJy4vaG90a2V5cy9zaGFyZWQtaG90a2V5cy5tb2R1bGUnO1xuaW1wb3J0IHsgRmlsZVNlcnZpY2UgfSBmcm9tICcuL2ZpbGUvZmlsZS5zZXJ2aWNlJztcbmltcG9ydCB7IERyYWdEcm9wTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2RyYWctZHJvcCc7XG5pbXBvcnQgeyBNQVRfQVVUT0NPTVBMRVRFX0RFRkFVTFRfT1BUSU9OUywgTUFUX0FVVE9DT01QTEVURV9TQ1JPTExfU1RSQVRFR1kgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9hdXRvY29tcGxldGUnO1xuaW1wb3J0IHsgTUFUX1NFTEVDVF9TQ1JPTExfU1RSQVRFR1kgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9zZWxlY3QnO1xuaW1wb3J0IHsgU2hhcmVkRGlyZWN0aXZlc01vZHVsZSB9IGZyb20gJy4vZGlyZWN0aXZlcy9kaXJlY3RpdmVzLm1vZHVsZSc7XG5pbXBvcnQgeyBTaGFyZWRQaXBlc01vZHVsZSB9IGZyb20gJy4vcGlwZXMvcGlwZXMubW9kdWxlJztcbmltcG9ydCB7IEFwcExvYWRpbmdTcGlubmVyIH0gZnJvbSAnLi9mb3JtL2xvYWRpbmctc3Bpbm5lcic7XG5pbXBvcnQgeyBEYXRlRGlmZkR1cmF0aW9uUGlwZSB9IGZyb20gJy4vcGlwZXMvZGF0ZS1kaWZmLWR1cmF0aW9uLnBpcGUnO1xuaW1wb3J0IHsgTGF0aXR1ZGVGb3JtYXRQaXBlLCBMYXRMb25nRm9ybWF0UGlwZSwgTG9uZ2l0dWRlRm9ybWF0UGlwZSB9IGZyb20gJy4vcGlwZXMvbGF0bG9uZy1mb3JtYXQucGlwZSc7XG5pbXBvcnQgeyBIaWdobGlnaHRQaXBlIH0gZnJvbSAnLi9waXBlcy9oaWdobGlnaHQucGlwZSc7XG5pbXBvcnQgeyBOdW1iZXJGb3JtYXRQaXBlIH0gZnJvbSAnLi9waXBlcy9udW1iZXItZm9ybWF0LnBpcGUnO1xuaW1wb3J0IHsgTWFya2Rvd25Nb2R1bGUgfSBmcm9tICduZ3gtbWFya2Rvd24nO1xuaW1wb3J0IHsgQXBwSGVscE1vZGFsIH0gZnJvbSAnLi9oZWxwL2hlbHAubW9kYWwnO1xuaW1wb3J0IHsgRW52aXJvbm1lbnQsIEVOVklST05NRU5UIH0gZnJvbSAnLi4vLi4vZW52aXJvbm1lbnRzL2Vudmlyb25tZW50LmNsYXNzJztcbmltcG9ydCB7IFRyYW5zbGF0ZUNvbnRleHRTZXJ2aWNlIH0gZnJvbSAnLi9zZXJ2aWNlcy90cmFuc2xhdGUtY29udGV4dC5zZXJ2aWNlJztcbmltcG9ydCB7IE1hdFN0ZXBwZXJJbnRsIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvc3RlcHBlcic7XG5pbXBvcnQgeyBNYXRTdGVwcGVySTE4biB9IGZyb20gJy4vbWF0ZXJpYWwvc3RlcHBlci9tYXRlcmlhbC5zdGVwcGVyLWkxOG4nO1xuaW1wb3J0IHsgVXBsb2FkRmlsZUNvbXBvbmVudCB9IGZyb20gJy4vdXBsb2FkLWZpbGUvdXBsb2FkLWZpbGUuY29tcG9uZW50JztcbmltcG9ydCB7IFVwbG9hZEZpbGVQb3BvdmVyIH0gZnJvbSAnLi91cGxvYWQtZmlsZS91cGxvYWQtZmlsZS1wb3BvdmVyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBTaGFyZWRUZXN0c1BhZ2UgfSBmcm9tICcuL3Rlc3RpbmcvdGVzdHMucGFnZSc7XG5pbXBvcnQgeyBBUFBfU1RPUkFHRSB9IGZyb20gJy4vc2VydmljZXMvc3RvcmFnZS9zdG9yYWdlLnV0aWxzJztcbmltcG9ydCB7IFN0b3JhZ2VTZXJ2aWNlIH0gZnJvbSAnLi9zZXJ2aWNlcy9zdG9yYWdlL3N0b3JhZ2Uuc2VydmljZSc7XG5pbXBvcnQgeyBTaGFyZWRUb29sYmFyTW9kdWxlIH0gZnJvbSAnLi90b29sYmFyL3Rvb2xiYXIubW9kdWxlJztcbmltcG9ydCB7IE5neEpkZW50aWNvbk1vZHVsZSB9IGZyb20gJ25neC1qZGVudGljb24nO1xuXG5cbmV4cG9ydCBmdW5jdGlvbiBzY3JvbGxGYWN0b3J5KG92ZXJsYXk6IE92ZXJsYXkpOiAoKSA9PiBDbG9zZVNjcm9sbFN0cmF0ZWd5IHtcbiAgcmV0dXJuICgpID0+IG92ZXJsYXkuc2Nyb2xsU3RyYXRlZ2llcy5jbG9zZSgpO1xufVxuXG5ATmdNb2R1bGUoe1xuICBpbXBvcnRzOiBbXG4gICAgQ29tbW9uTW9kdWxlLFxuICAgIElvbmljTW9kdWxlLFxuICAgIFJlYWN0aXZlRm9ybXNNb2R1bGUsXG4gICAgVHJhbnNsYXRlTW9kdWxlLFxuICAgIENvbG9yUGlja2VyTW9kdWxlLFxuICAgIFRleHRNYXNrTW9kdWxlLFxuICAgIERyYWdEcm9wTW9kdWxlLFxuICAgIE1hcmtkb3duTW9kdWxlLFxuXG4gICAgLy8gU3ViIG1vZHVsZXNcbiAgICBTaGFyZWRNYXRlcmlhbE1vZHVsZSxcbiAgICBTaGFyZWREaXJlY3RpdmVzTW9kdWxlLFxuICAgIFNoYXJlZFBpcGVzTW9kdWxlLFxuICAgIFNoYXJlZEhvdGtleXNNb2R1bGUsXG4gICAgU2hhcmVkVG9vbGJhck1vZHVsZVxuICBdLFxuICBkZWNsYXJhdGlvbnM6IFtcbiAgICAvLyBDb21wb25lbnRzXG4gICAgQXBwRm9ybUZpZWxkLFxuICAgIEFwcExvYWRpbmdTcGlubmVyLFxuICAgIEFwcEhlbHBNb2RhbCxcbiAgICBVcGxvYWRGaWxlQ29tcG9uZW50LFxuICAgIFVwbG9hZEZpbGVQb3BvdmVyLFxuICAgIFNoYXJlZFRlc3RzUGFnZSxcbiAgXSxcbiAgZXhwb3J0czogW1xuICAgIENvbW1vbk1vZHVsZSxcbiAgICBJb25pY01vZHVsZSxcbiAgICBUcmFuc2xhdGVNb2R1bGUsXG4gICAgUmVhY3RpdmVGb3Jtc01vZHVsZSxcbiAgICBDb2xvclBpY2tlck1vZHVsZSxcbiAgICBUZXh0TWFza01vZHVsZSxcbiAgICBEcmFnRHJvcE1vZHVsZSxcbiAgICBNYXJrZG93bk1vZHVsZSxcbiAgICBOZ3hKZGVudGljb25Nb2R1bGUsXG5cbiAgICAvLyBTdWItbW9kdWxlc1xuICAgIFNoYXJlZE1hdGVyaWFsTW9kdWxlLFxuICAgIFNoYXJlZERpcmVjdGl2ZXNNb2R1bGUsXG4gICAgU2hhcmVkUGlwZXNNb2R1bGUsXG4gICAgU2hhcmVkSG90a2V5c01vZHVsZSxcbiAgICBTaGFyZWRUb29sYmFyTW9kdWxlLFxuXG4gICAgLy8gQ29tcG9uZW50c1xuICAgIEFwcEZvcm1GaWVsZCxcbiAgICBBcHBMb2FkaW5nU3Bpbm5lcixcbiAgICBBcHBIZWxwTW9kYWwsXG4gICAgVXBsb2FkRmlsZUNvbXBvbmVudCxcbiAgICBVcGxvYWRGaWxlUG9wb3ZlcixcbiAgICBTaGFyZWRUZXN0c1BhZ2VcbiAgXVxufSlcbmV4cG9ydCBjbGFzcyBTaGFyZWRNb2R1bGUge1xuXG4gIHN0YXRpYyBmb3JSb290KGVudmlyb25tZW50OiBFbnZpcm9ubWVudCk6IE1vZHVsZVdpdGhQcm92aWRlcnM8U2hhcmVkTW9kdWxlPiB7XG4gICAgY29uc29sZS5kZWJ1ZygnW3NoYXJlZF0gQ3JlYXRpbmcgbW9kdWxlIChyb290KScpO1xuXG4gICAgcmV0dXJuIHtcbiAgICAgIG5nTW9kdWxlOiBTaGFyZWRNb2R1bGUsXG4gICAgICBwcm92aWRlcnM6IFtcblxuICAgICAgICB7IHByb3ZpZGU6IEVOVklST05NRU5ULCB1c2VWYWx1ZTogZW52aXJvbm1lbnQgfSxcbiAgICAgICAgLy8geyBwcm92aWRlOiBTdG9yYWdlU2VydmljZSwgdXNlQ2xhc3M6IFN0b3JhZ2VTZXJ2aWNlLCBkZXBzOiBbRU5WSVJPTk1FTlRdfSxcbiAgICAgICAgeyBwcm92aWRlOiBBUFBfU1RPUkFHRSwgdXNlRXhpc3Rpbmc6IFN0b3JhZ2VTZXJ2aWNlfSxcblxuICAgICAgICBTdG9yYWdlU2VydmljZSxcbiAgICAgICAgQXVkaW9Qcm92aWRlcixcbiAgICAgICAgRmlsZVNlcnZpY2UsXG4gICAgICAgIFRyYW5zbGF0ZUNvbnRleHRTZXJ2aWNlLFxuICAgICAgICBEYXRlRm9ybWF0U2VydmljZSxcblxuICAgICAgICAvLyBFeHBvcnQgUGlwZXMgYXMgcHJvdmlkZXJzXG4gICAgICAgIERhdGVGcm9tTm93UGlwZSxcbiAgICAgICAgRGF0ZURpZmZEdXJhdGlvblBpcGUsXG4gICAgICAgIExhdExvbmdGb3JtYXRQaXBlLFxuICAgICAgICBMYXRpdHVkZUZvcm1hdFBpcGUsXG4gICAgICAgIExvbmdpdHVkZUZvcm1hdFBpcGUsXG4gICAgICAgIEhpZ2hsaWdodFBpcGUsXG4gICAgICAgIE51bWJlckZvcm1hdFBpcGUsXG5cbiAgICAgICAgeyBwcm92aWRlOiBPdmVybGF5Q29udGFpbmVyLCB1c2VDbGFzczogRnVsbHNjcmVlbk92ZXJsYXlDb250YWluZXIgfSxcbiAgICAgICAgeyBwcm92aWRlOiBNYXRQYWdpbmF0b3JJbnRsLCB1c2VDbGFzczogTWF0UGFnaW5hdG9ySTE4biwgZGVwczogW1RyYW5zbGF0ZVNlcnZpY2VdIH0sXG4gICAgICAgIHsgcHJvdmlkZTogTWF0U3RlcHBlckludGwsIHVzZUNsYXNzOiBNYXRTdGVwcGVySTE4biwgZGVwczogW1RyYW5zbGF0ZVNlcnZpY2VdIH0sXG5cbiAgICAgICAgLy8gRklYTUU6IHRyeSB0byBmb3JjZSBhIGN1c3RvbSBvdmVybGF5IGZvciBhdXRvY29tcGxldGUsIGJlY2F1c2Ugb2YgdGhlcmUgaXMgYSBidWcgd2hlbiB1c2luZyBpbnNpZGUgYW4gaW9uaWMgbW9kYWxcbiAgICAgICAgLy97IHByb3ZpZGU6IE92ZXJsYXksIHVzZUNsYXNzOiBPdmVybGF5fSxcbiAgICAgICAgeyBwcm92aWRlOiBNQVRfQVVUT0NPTVBMRVRFX1NDUk9MTF9TVFJBVEVHWSwgdXNlRmFjdG9yeTogc2Nyb2xsRmFjdG9yeSwgZGVwczogW092ZXJsYXldIH0sXG4gICAgICAgIHsgcHJvdmlkZTogTUFUX0FVVE9DT01QTEVURV9ERUZBVUxUX09QVElPTlMsIHVzZVZhbHVlOiB7XG4gICAgICAgICAgICBhdXRvQWN0aXZlRmlyc3RPcHRpb246IHRydWVcbiAgICAgICAgICB9XG4gICAgICAgIH0sXG4gICAgICAgIHsgcHJvdmlkZTogTUFUX1NFTEVDVF9TQ1JPTExfU1RSQVRFR1ksIHVzZUZhY3Rvcnk6IHNjcm9sbEZhY3RvcnksIGRlcHM6IFtPdmVybGF5XSB9XG4gICAgICBdXG4gICAgfTtcbiAgfVxufVxuIl19
208
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2hhcmVkLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvc2hhcmVkL3NoYXJlZC5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUF1QixRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDOUQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3JELE9BQU8sRUFBRSxlQUFlLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN4RSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDN0MsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDN0QsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQzdELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUNwRCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUMvRCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSw4Q0FBOEMsQ0FBQztBQUNoRixPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUNyRCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdEQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM5QyxPQUFPLEVBQXVCLDBCQUEwQixFQUFFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ2xILE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQ3RFLE9BQU8sRUFBRSxXQUFXLEVBQUUs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akIsbUJBQW1CO3dCQUNuQixtQkFBbUI7d0JBRW5CLGFBQWE7d0JBQ2IsWUFBWTt3QkFDWixpQkFBaUI7d0JBQ2pCLFlBQVk7d0JBQ1osbUJBQW1CO3dCQUNuQixpQkFBaUI7d0JBQ2pCLGVBQWU7cUJBQ2hCO2lCQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTW9kdWxlV2l0aFByb3ZpZGVycywgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBTaGFyZWRNYXRlcmlhbE1vZHVsZSB9IGZyb20gJy4vbWF0ZXJpYWwvbWF0ZXJpYWwubW9kdWxlJztcbmltcG9ydCB7IFJlYWN0aXZlRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBUcmFuc2xhdGVNb2R1bGUsIFRyYW5zbGF0ZVNlcnZpY2UgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcbmltcG9ydCB7IElvbmljTW9kdWxlIH0gZnJvbSAnQGlvbmljL2FuZ3VsYXInO1xuaW1wb3J0IHsgRGF0ZUZvcm1hdFNlcnZpY2UgfSBmcm9tICcuL3BpcGVzL2RhdGUtZm9ybWF0LnBpcGUnO1xuaW1wb3J0IHsgRGF0ZUZyb21Ob3dQaXBlIH0gZnJvbSAnLi9waXBlcy9kYXRlLWZyb20tbm93LnBpcGUnO1xuaW1wb3J0IHsgVGV4dE1hc2tNb2R1bGUgfSBmcm9tICdhbmd1bGFyMi10ZXh0LW1hc2snO1xuaW1wb3J0IHsgTWF0UGFnaW5hdG9ySW50bCB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3BhZ2luYXRvcic7XG5pbXBvcnQgeyBNYXRQYWdpbmF0b3JJMThuIH0gZnJvbSAnLi9tYXRlcmlhbC9wYWdpbmF0b3IvbWF0ZXJpYWwucGFnaW5hdG9yLWkxOG4nO1xuaW1wb3J0IHsgQ29sb3JQaWNrZXJNb2R1bGUgfSBmcm9tICduZ3gtY29sb3ItcGlja2VyJztcbmltcG9ydCB7IEFwcEZvcm1GaWVsZCB9IGZyb20gJy4vZm9ybS9maWVsZC5jb21wb25lbnQnO1xuaW1wb3J0IHsgQXVkaW9Qcm92aWRlciB9IGZyb20gJy4vYXVkaW8vYXVkaW8nO1xuaW1wb3J0IHsgQ2xvc2VTY3JvbGxTdHJhdGVneSwgRnVsbHNjcmVlbk92ZXJsYXlDb250YWluZXIsIE92ZXJsYXksIE92ZXJsYXlDb250YWluZXIgfSBmcm9tICdAYW5ndWxhci9jZGsvb3ZlcmxheSc7XG5pbXBvcnQgeyBTaGFyZWRIb3RrZXlzTW9kdWxlIH0gZnJvbSAnLi9ob3RrZXlzL3NoYXJlZC1ob3RrZXlzLm1vZHVsZSc7XG5pbXBvcnQgeyBGaWxlU2VydmljZSB9IGZyb20gJy4vZmlsZS9maWxlLnNlcnZpY2UnO1xuaW1wb3J0IHsgRHJhZ0Ryb3BNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jZGsvZHJhZy1kcm9wJztcbmltcG9ydCB7IE1BVF9BVVRPQ09NUExFVEVfREVGQVVMVF9PUFRJT05TLCBNQVRfQVVUT0NPTVBMRVRFX1NDUk9MTF9TVFJBVEVHWSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2F1dG9jb21wbGV0ZSc7XG5pbXBvcnQgeyBNQVRfU0VMRUNUX1NDUk9MTF9TVFJBVEVHWSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3NlbGVjdCc7XG5pbXBvcnQgeyBTaGFyZWREaXJlY3RpdmVzTW9kdWxlIH0gZnJvbSAnLi9kaXJlY3RpdmVzL2RpcmVjdGl2ZXMubW9kdWxlJztcbmltcG9ydCB7IFNoYXJlZFBpcGVzTW9kdWxlIH0gZnJvbSAnLi9waXBlcy9waXBlcy5tb2R1bGUnO1xuaW1wb3J0IHsgQXBwTG9hZGluZ1NwaW5uZXIgfSBmcm9tICcuL2Zvcm0vbG9hZGluZy1zcGlubmVyJztcbmltcG9ydCB7IERhdGVEaWZmRHVyYXRpb25QaXBlIH0gZnJvbSAnLi9waXBlcy9kYXRlLWRpZmYtZHVyYXRpb24ucGlwZSc7XG5pbXBvcnQgeyBMYXRpdHVkZUZvcm1hdFBpcGUsIExhdExvbmdGb3JtYXRQaXBlLCBMb25naXR1ZGVGb3JtYXRQaXBlIH0gZnJvbSAnLi9waXBlcy9sYXRsb25nLWZvcm1hdC5waXBlJztcbmltcG9ydCB7IEhpZ2hsaWdodFBpcGUgfSBmcm9tICcuL3BpcGVzL2hpZ2hsaWdodC5waXBlJztcbmltcG9ydCB7IE51bWJlckZvcm1hdFBpcGUgfSBmcm9tICcuL3BpcGVzL251bWJlci1mb3JtYXQucGlwZSc7XG5pbXBvcnQgeyBNYXJrZG93bk1vZHVsZSB9IGZyb20gJ25neC1tYXJrZG93bic7XG5pbXBvcnQgeyBBcHBIZWxwTW9kYWwgfSBmcm9tICcuL2hlbHAvaGVscC5tb2RhbCc7XG5pbXBvcnQgeyBFbnZpcm9ubWVudCwgRU5WSVJPTk1FTlQgfSBmcm9tICcuLi8uLi9lbnZpcm9ubWVudHMvZW52aXJvbm1lbnQuY2xhc3MnO1xuaW1wb3J0IHsgVHJhbnNsYXRlQ29udGV4dFNlcnZpY2UgfSBmcm9tICcuL3NlcnZpY2VzL3RyYW5zbGF0ZS1jb250ZXh0LnNlcnZpY2UnO1xuaW1wb3J0IHsgTWF0U3RlcHBlckludGwgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9zdGVwcGVyJztcbmltcG9ydCB7IE1hdFN0ZXBwZXJJMThuIH0gZnJvbSAnLi9tYXRlcmlhbC9zdGVwcGVyL21hdGVyaWFsLnN0ZXBwZXItaTE4bic7XG5pbXBvcnQgeyBVcGxvYWRGaWxlQ29tcG9uZW50IH0gZnJvbSAnLi91cGxvYWQtZmlsZS91cGxvYWQtZmlsZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgVXBsb2FkRmlsZVBvcG92ZXIgfSBmcm9tICcuL3VwbG9hZC1maWxlL3VwbG9hZC1maWxlLXBvcG92ZXIuY29tcG9uZW50JztcbmltcG9ydCB7IFNoYXJlZFRlc3RzUGFnZSB9IGZyb20gJy4vdGVzdGluZy90ZXN0cy5wYWdlJztcbmltcG9ydCB7IEFQUF9TVE9SQUdFIH0gZnJvbSAnLi9zZXJ2aWNlcy9zdG9yYWdlL3N0b3JhZ2UudXRpbHMnO1xuaW1wb3J0IHsgU3RvcmFnZVNlcnZpY2UgfSBmcm9tICcuL3NlcnZpY2VzL3N0b3JhZ2Uvc3RvcmFnZS5zZXJ2aWNlJztcbmltcG9ydCB7IFNoYXJlZFRvb2xiYXJNb2R1bGUgfSBmcm9tICcuL3Rvb2xiYXIvdG9vbGJhci5tb2R1bGUnO1xuaW1wb3J0IHsgTmd4SmRlbnRpY29uTW9kdWxlIH0gZnJvbSAnbmd4LWpkZW50aWNvbic7XG5cblxuZXhwb3J0IGZ1bmN0aW9uIHNjcm9sbEZhY3Rvcnkob3ZlcmxheTogT3ZlcmxheSk6ICgpID0+IENsb3NlU2Nyb2xsU3RyYXRlZ3kge1xuICByZXR1cm4gKCkgPT4gb3ZlcmxheS5zY3JvbGxTdHJhdGVnaWVzLmNsb3NlKCk7XG59XG5cbkBOZ01vZHVsZSh7XG4gIGltcG9ydHM6IFtcbiAgICBDb21tb25Nb2R1bGUsXG4gICAgSW9uaWNNb2R1bGUsXG4gICAgUmVhY3RpdmVGb3Jtc01vZHVsZSxcbiAgICBUcmFuc2xhdGVNb2R1bGUsXG4gICAgQ29sb3JQaWNrZXJNb2R1bGUsXG4gICAgVGV4dE1hc2tNb2R1bGUsXG4gICAgRHJhZ0Ryb3BNb2R1bGUsXG4gICAgTWFya2Rvd25Nb2R1bGUsXG5cbiAgICAvLyBTdWIgbW9kdWxlc1xuICAgIFNoYXJlZE1hdGVyaWFsTW9kdWxlLFxuICAgIFNoYXJlZERpcmVjdGl2ZXNNb2R1bGUsXG4gICAgU2hhcmVkUGlwZXNNb2R1bGUsXG4gICAgU2hhcmVkSG90a2V5c01vZHVsZSxcbiAgICBTaGFyZWRUb29sYmFyTW9kdWxlXG4gIF0sXG4gIGRlY2xhcmF0aW9uczogW1xuICAgIC8vIENvbXBvbmVudHNcbiAgICBBcHBGb3JtRmllbGQsXG4gICAgQXBwTG9hZGluZ1NwaW5uZXIsXG4gICAgQXBwSGVscE1vZGFsLFxuICAgIFVwbG9hZEZpbGVDb21wb25lbnQsXG4gICAgVXBsb2FkRmlsZVBvcG92ZXIsXG4gICAgU2hhcmVkVGVzdHNQYWdlLFxuICBdLFxuICBleHBvcnRzOiBbXG4gICAgQ29tbW9uTW9kdWxlLFxuICAgIElvbmljTW9kdWxlLFxuICAgIFRyYW5zbGF0ZU1vZHVsZSxcbiAgICBSZWFjdGl2ZUZvcm1zTW9kdWxlLFxuICAgIENvbG9yUGlja2VyTW9kdWxlLFxuICAgIFRleHRNYXNrTW9kdWxlLFxuICAgIERyYWdEcm9wTW9kdWxlLFxuICAgIE1hcmtkb3duTW9kdWxlLFxuICAgIE5neEpkZW50aWNvbk1vZHVsZSxcblxuICAgIC8vIFN1Yi1tb2R1bGVzXG4gICAgU2hhcmVkTWF0ZXJpYWxNb2R1bGUsXG4gICAgU2hhcmVkRGlyZWN0aXZlc01vZHVsZSxcbiAgICBTaGFyZWRQaXBlc01vZHVsZSxcbiAgICBTaGFyZWRIb3RrZXlzTW9kdWxlLFxuICAgIFNoYXJlZFRvb2xiYXJNb2R1bGUsXG5cbiAgICAvLyBDb21wb25lbnRzXG4gICAgQXBwRm9ybUZpZWxkLFxuICAgIEFwcExvYWRpbmdTcGlubmVyLFxuICAgIEFwcEhlbHBNb2RhbCxcbiAgICBVcGxvYWRGaWxlQ29tcG9uZW50LFxuICAgIFVwbG9hZEZpbGVQb3BvdmVyLFxuICAgIFNoYXJlZFRlc3RzUGFnZVxuICBdXG59KVxuZXhwb3J0IGNsYXNzIFNoYXJlZE1vZHVsZSB7XG5cbiAgc3RhdGljIGZvclJvb3QoZW52aXJvbm1lbnQ/OiBFbnZpcm9ubWVudCk6IE1vZHVsZVdpdGhQcm92aWRlcnM8U2hhcmVkTW9kdWxlPiB7XG4gICAgY29uc29sZS5kZWJ1ZygnW3NoYXJlZF0gQ3JlYXRpbmcgbW9kdWxlIChyb290KScpO1xuXG4gICAgcmV0dXJuIHtcbiAgICAgIG5nTW9kdWxlOiBTaGFyZWRNb2R1bGUsXG4gICAgICBwcm92aWRlcnM6IFtcblxuICAgICAgICAvLyBEZWZpbmUgZW52aXJvbm1lbnQgdG9rZW4gaWYgcHJvdmlkZWQuIENhbiBiZSBkZWZpbmVkIGVsc2V3aGVyZSAoc2VlIFF1YWRyaWdlKVxuICAgICAgICAuLi4oISFlbnZpcm9ubWVudCA/IFt7IHByb3ZpZGU6IEVOVklST05NRU5ULCB1c2VWYWx1ZTogZW52aXJvbm1lbnQgfV0gOiBbXSksXG4gICAgICAgIC8vIHsgcHJvdmlkZTogU3RvcmFnZVNlcnZpY2UsIHVzZUNsYXNzOiBTdG9yYWdlU2VydmljZSwgZGVwczogW0VOVklST05NRU5UXX0sXG4gICAgICAgIHsgcHJvdmlkZTogQVBQX1NUT1JBR0UsIHVzZUV4aXN0aW5nOiBTdG9yYWdlU2VydmljZX0sXG5cbiAgICAgICAgU3RvcmFnZVNlcnZpY2UsXG4gICAgICAgIEF1ZGlvUHJvdmlkZXIsXG4gICAgICAgIEZpbGVTZXJ2aWNlLFxuICAgICAgICBUcmFuc2xhdGVDb250ZXh0U2VydmljZSxcbiAgICAgICAgRGF0ZUZvcm1hdFNlcnZpY2UsXG5cbiAgICAgICAgLy8gRXhwb3J0IFBpcGVzIGFzIHByb3ZpZGVyc1xuICAgICAgICBEYXRlRnJvbU5vd1BpcGUsXG4gICAgICAgIERhdGVEaWZmRHVyYXRpb25QaXBlLFxuICAgICAgICBMYXRMb25nRm9ybWF0UGlwZSxcbiAgICAgICAgTGF0aXR1ZGVGb3JtYXRQaXBlLFxuICAgICAgICBMb25naXR1ZGVGb3JtYXRQaXBlLFxuICAgICAgICBIaWdobGlnaHRQaXBlLFxuICAgICAgICBOdW1iZXJGb3JtYXRQaXBlLFxuXG4gICAgICAgIHsgcHJvdmlkZTogT3ZlcmxheUNvbnRhaW5lciwgdXNlQ2xhc3M6IEZ1bGxzY3JlZW5PdmVybGF5Q29udGFpbmVyIH0sXG4gICAgICAgIHsgcHJvdmlkZTogTWF0UGFnaW5hdG9ySW50bCwgdXNlQ2xhc3M6IE1hdFBhZ2luYXRvckkxOG4sIGRlcHM6IFtUcmFuc2xhdGVTZXJ2aWNlXSB9LFxuICAgICAgICB7IHByb3ZpZGU6IE1hdFN0ZXBwZXJJbnRsLCB1c2VDbGFzczogTWF0U3RlcHBlckkxOG4sIGRlcHM6IFtUcmFuc2xhdGVTZXJ2aWNlXSB9LFxuXG4gICAgICAgIC8vIEZJWE1FOiB0cnkgdG8gZm9yY2UgYSBjdXN0b20gb3ZlcmxheSBmb3IgYXV0b2NvbXBsZXRlLCBiZWNhdXNlIG9mIHRoZXJlIGlzIGEgYnVnIHdoZW4gdXNpbmcgaW5zaWRlIGFuIGlvbmljIG1vZGFsXG4gICAgICAgIC8veyBwcm92aWRlOiBPdmVybGF5LCB1c2VDbGFzczogT3ZlcmxheX0sXG4gICAgICAgIHsgcHJvdmlkZTogTUFUX0FVVE9DT01QTEVURV9TQ1JPTExfU1RSQVRFR1ksIHVzZUZhY3Rvcnk6IHNjcm9sbEZhY3RvcnksIGRlcHM6IFtPdmVybGF5XSB9LFxuICAgICAgICB7IHByb3ZpZGU6IE1BVF9BVVRPQ09NUExFVEVfREVGQVVMVF9PUFRJT05TLCB1c2VWYWx1ZToge1xuICAgICAgICAgICAgYXV0b0FjdGl2ZUZpcnN0T3B0aW9uOiB0cnVlXG4gICAgICAgICAgfVxuICAgICAgICB9LFxuICAgICAgICB7IHByb3ZpZGU6IE1BVF9TRUxFQ1RfU0NST0xMX1NUUkFURUdZLCB1c2VGYWN0b3J5OiBzY3JvbGxGYWN0b3J5LCBkZXBzOiBbT3ZlcmxheV0gfVxuICAgICAgXVxuICAgIH07XG4gIH1cbn1cbiJdfQ==