@ionic/angular 7.5.3-dev.11698859252.15ac163e → 7.5.3-dev.11699994454.1cbf1283

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (46) hide show
  1. package/directives/control-value-accessors/index.d.ts +0 -1
  2. package/esm2020/common/providers/nav-controller.mjs +3 -3
  3. package/esm2020/directives/angular-component-lib/utils.mjs +1 -9
  4. package/esm2020/directives/control-value-accessors/index.mjs +1 -2
  5. package/esm2020/index.mjs +1 -2
  6. package/esm2020/ionic-module.mjs +2 -5
  7. package/esm2020/standalone/directives/angular-component-lib/utils.mjs +1 -9
  8. package/esm2020/standalone/directives/checkbox.mjs +40 -28
  9. package/esm2020/standalone/directives/datetime.mjs +42 -30
  10. package/esm2020/standalone/directives/input.mjs +42 -29
  11. package/esm2020/standalone/directives/radio-group.mjs +40 -28
  12. package/esm2020/standalone/directives/radio.mjs +27 -41
  13. package/esm2020/standalone/directives/range.mjs +40 -28
  14. package/esm2020/standalone/directives/searchbar.mjs +42 -29
  15. package/esm2020/standalone/directives/segment.mjs +40 -28
  16. package/esm2020/standalone/directives/select.mjs +42 -29
  17. package/esm2020/standalone/directives/textarea.mjs +42 -29
  18. package/esm2020/standalone/directives/toggle.mjs +40 -28
  19. package/fesm2015/ionic-angular-common.mjs +2 -2
  20. package/fesm2015/ionic-angular-common.mjs.map +1 -1
  21. package/fesm2015/ionic-angular-standalone.mjs +273 -279
  22. package/fesm2015/ionic-angular-standalone.mjs.map +1 -1
  23. package/fesm2015/ionic-angular.mjs +1 -50
  24. package/fesm2015/ionic-angular.mjs.map +1 -1
  25. package/fesm2020/ionic-angular-common.mjs +2 -2
  26. package/fesm2020/ionic-angular-common.mjs.map +1 -1
  27. package/fesm2020/ionic-angular-standalone.mjs +273 -279
  28. package/fesm2020/ionic-angular-standalone.mjs.map +1 -1
  29. package/fesm2020/ionic-angular.mjs +1 -50
  30. package/fesm2020/ionic-angular.mjs.map +1 -1
  31. package/index.d.ts +0 -1
  32. package/ionic-module.d.ts +11 -12
  33. package/package.json +2 -2
  34. package/standalone/directives/checkbox.d.ts +3 -1
  35. package/standalone/directives/datetime.d.ts +3 -1
  36. package/standalone/directives/input.d.ts +3 -1
  37. package/standalone/directives/radio-group.d.ts +3 -1
  38. package/standalone/directives/radio.d.ts +5 -5
  39. package/standalone/directives/range.d.ts +3 -1
  40. package/standalone/directives/searchbar.d.ts +3 -1
  41. package/standalone/directives/segment.d.ts +3 -1
  42. package/standalone/directives/select.d.ts +3 -1
  43. package/standalone/directives/textarea.d.ts +3 -1
  44. package/standalone/directives/toggle.d.ts +3 -1
  45. package/directives/control-value-accessors/radio-value-accessor.d.ts +0 -9
  46. package/esm2020/directives/control-value-accessors/radio-value-accessor.mjs +0 -42
@@ -1,9 +1,20 @@
1
- import { __decorate } from "tslib";
2
- import { ChangeDetectionStrategy, Component, HostListener, forwardRef, } from '@angular/core';
1
+ import { ChangeDetectionStrategy, Component, HostListener, } from '@angular/core';
3
2
  import { NG_VALUE_ACCESSOR } from '@angular/forms';
4
3
  import { ValueAccessor } from '@ionic/angular/common';
5
4
  import { defineCustomElement } from '@ionic/core/components/ion-input.js';
6
- import { ProxyCmp, proxyOutputs } from './angular-component-lib/utils';
5
+ /**
6
+ * Value accessor components should not use ProxyCmp
7
+ * and should call defineCustomElement and proxyInputs
8
+ * manually instead. Using both the @ProxyCmp and @Component
9
+ * decorators and useExisting (where useExisting refers to the
10
+ * class) causes ng-packagr to output multiple component variables
11
+ * which breaks treeshaking.
12
+ * For example, the following would be generated:
13
+ * let IonInput = IonInput_1 = class IonInput extends ValueAccessor {
14
+ * Instead, we want only want the class generated:
15
+ * class IonInput extends ValueAccessor {
16
+ */
17
+ import { proxyInputs, proxyMethods, proxyOutputs } from './angular-component-lib/utils';
7
18
  import * as i0 from "@angular/core";
8
19
  const INPUT_INPUTS = [
9
20
  'accept',
@@ -44,27 +55,25 @@ const INPUT_INPUTS = [
44
55
  'type',
45
56
  'value',
46
57
  ];
47
- /**
48
- * Pulling the provider into an object and using PURE works
49
- * around an ng-packagr issue that causes
50
- * components with multiple decorators and
51
- * a provider to be re-assigned. This re-assignment
52
- * is not supported by Webpack and causes treeshaking
53
- * to not work on these kinds of components.
54
- */
55
- const accessorProvider = {
56
- provide: NG_VALUE_ACCESSOR,
57
- useExisting: /*@__PURE__*/ forwardRef(() => IonInput),
58
- multi: true,
59
- };
60
- let IonInput = class IonInput extends ValueAccessor {
58
+ const INPUT_METHODS = ['setFocus', 'getInputElement'];
59
+ export class IonInput extends ValueAccessor {
61
60
  constructor(c, r, z, injector) {
62
61
  super(injector, r);
63
62
  this.z = z;
63
+ defineCustomElement();
64
64
  c.detach();
65
65
  this.el = r.nativeElement;
66
66
  proxyOutputs(this, this.el, ['ionInput', 'ionChange', 'ionBlur', 'ionFocus']);
67
67
  }
68
+ ngOnInit() {
69
+ /**
70
+ * Data-bound input properties are set
71
+ * by Angular after the constructor, so
72
+ * we need to run the proxy in ngOnInit.
73
+ */
74
+ proxyInputs(IonInput, INPUT_INPUTS);
75
+ proxyMethods(IonInput, INPUT_METHODS);
76
+ }
68
77
  handleIonInput(el) {
69
78
  this.handleValueChange(el, el.value);
70
79
  }
@@ -83,17 +92,15 @@ let IonInput = class IonInput extends ValueAccessor {
83
92
  }
84
93
  });
85
94
  }
86
- };
95
+ }
87
96
  /** @nocollapse */ IonInput.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: IonInput, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }, { token: i0.Injector }], target: i0.ɵɵFactoryTarget.Component });
88
- /** @nocollapse */ IonInput.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.12", type: IonInput, isStandalone: true, selector: "ion-input", inputs: { accept: "accept", autocapitalize: "autocapitalize", autocomplete: "autocomplete", autocorrect: "autocorrect", autofocus: "autofocus", clearInput: "clearInput", clearOnEdit: "clearOnEdit", color: "color", counter: "counter", counterFormatter: "counterFormatter", debounce: "debounce", disabled: "disabled", enterkeyhint: "enterkeyhint", errorText: "errorText", fill: "fill", helperText: "helperText", inputmode: "inputmode", label: "label", labelPlacement: "labelPlacement", legacy: "legacy", max: "max", maxlength: "maxlength", min: "min", minlength: "minlength", mode: "mode", multiple: "multiple", name: "name", pattern: "pattern", placeholder: "placeholder", readonly: "readonly", required: "required", shape: "shape", size: "size", spellcheck: "spellcheck", step: "step", type: "type", value: "value" }, host: { listeners: { "ionInput": "handleIonInput($event.target)" } }, providers: [accessorProvider], usesInheritance: true, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
89
- IonInput = __decorate([
90
- ProxyCmp({
91
- defineCustomElementFn: defineCustomElement,
92
- inputs: INPUT_INPUTS,
93
- methods: ['setFocus', 'getInputElement'],
94
- })
95
- ], IonInput);
96
- export { IonInput };
97
+ /** @nocollapse */ IonInput.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.12", type: IonInput, isStandalone: true, selector: "ion-input", inputs: { accept: "accept", autocapitalize: "autocapitalize", autocomplete: "autocomplete", autocorrect: "autocorrect", autofocus: "autofocus", clearInput: "clearInput", clearOnEdit: "clearOnEdit", color: "color", counter: "counter", counterFormatter: "counterFormatter", debounce: "debounce", disabled: "disabled", enterkeyhint: "enterkeyhint", errorText: "errorText", fill: "fill", helperText: "helperText", inputmode: "inputmode", label: "label", labelPlacement: "labelPlacement", legacy: "legacy", max: "max", maxlength: "maxlength", min: "min", minlength: "minlength", mode: "mode", multiple: "multiple", name: "name", pattern: "pattern", placeholder: "placeholder", readonly: "readonly", required: "required", shape: "shape", size: "size", spellcheck: "spellcheck", step: "step", type: "type", value: "value" }, host: { listeners: { "ionInput": "handleIonInput($event.target)" } }, providers: [
98
+ {
99
+ provide: NG_VALUE_ACCESSOR,
100
+ useExisting: IonInput,
101
+ multi: true,
102
+ },
103
+ ], usesInheritance: true, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
97
104
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: IonInput, decorators: [{
98
105
  type: Component,
99
106
  args: [{
@@ -102,11 +109,17 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImpo
102
109
  template: '<ng-content></ng-content>',
103
110
  // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
104
111
  inputs: INPUT_INPUTS,
105
- providers: [accessorProvider],
112
+ providers: [
113
+ {
114
+ provide: NG_VALUE_ACCESSOR,
115
+ useExisting: IonInput,
116
+ multi: true,
117
+ },
118
+ ],
106
119
  standalone: true,
107
120
  }]
108
121
  }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }, { type: i0.Injector }]; }, propDecorators: { handleIonInput: [{
109
122
  type: HostListener,
110
123
  args: ['ionInput', ['$event.target']]
111
124
  }] } });
112
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zdGFuZGFsb25lL3NyYy9kaXJlY3RpdmVzL2lucHV0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQ0wsdUJBQXVCLEVBRXZCLFNBQVMsRUFHVCxZQUFZLEVBR1osVUFBVSxHQUNYLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ25ELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQU10RCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQUUxRSxPQUFPLEVBQUUsUUFBUSxFQUFFLFlBQVksRUFBRSxNQUFNLCtCQUErQixDQUFDOztBQUV2RSxNQUFNLFlBQVksR0FBRztJQUNuQixRQUFRO0lBQ1IsZ0JBQWdCO0lBQ2hCLGNBQWM7SUFDZCxhQUFhO0lBQ2IsV0FBVztJQUNYLFlBQVk7SUFDWixhQUFhO0lBQ2IsT0FBTztJQUNQLFNBQVM7SUFDVCxrQkFBa0I7SUFDbEIsVUFBVTtJQUNWLFVBQVU7SUFDVixjQUFjO0lBQ2QsV0FBVztJQUNYLE1BQU07SUFDTixZQUFZO0lBQ1osV0FBVztJQUNYLE9BQU87SUFDUCxnQkFBZ0I7SUFDaEIsUUFBUTtJQUNSLEtBQUs7SUFDTCxXQUFXO0lBQ1gsS0FBSztJQUNMLFdBQVc7SUFDWCxNQUFNO0lBQ04sVUFBVTtJQUNWLE1BQU07SUFDTixTQUFTO0lBQ1QsYUFBYTtJQUNiLFVBQVU7SUFDVixVQUFVO0lBQ1YsT0FBTztJQUNQLE1BQU07SUFDTixZQUFZO0lBQ1osTUFBTTtJQUNOLE1BQU07SUFDTixPQUFPO0NBQ1IsQ0FBQztBQUVGOzs7Ozs7O0dBT0c7QUFDSCxNQUFNLGdCQUFnQixHQUFHO0lBQ3ZCLE9BQU8sRUFBRSxpQkFBaUI7SUFDMUIsV0FBVyxFQUFFLGFBQWEsQ0FBQyxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsUUFBUSxDQUFDO0lBQ3JELEtBQUssRUFBRSxJQUFJO0NBQ1osQ0FBQztJQWdCVyxRQUFRLFNBQVIsUUFBUyxTQUFRLGFBQWE7SUFFekMsWUFBWSxDQUFvQixFQUFFLENBQWEsRUFBWSxDQUFTLEVBQUUsUUFBa0I7UUFDdEYsS0FBSyxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUMsQ0FBQztRQURzQyxNQUFDLEdBQUQsQ0FBQyxDQUFRO1FBRWxFLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQztRQUNYLElBQUksQ0FBQyxFQUFFLEdBQUcsQ0FBQyxDQUFDLGFBQWEsQ0FBQztRQUMxQixZQUFZLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxFQUFFLEVBQUUsQ0FBQyxVQUFVLEVBQUUsV0FBVyxFQUFFLFNBQVMsRUFBRSxVQUFVLENBQUMsQ0FBQyxDQUFDO0lBQ2hGLENBQUM7SUFHRCxjQUFjLENBQUMsRUFBdUI7UUFDcEMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLEVBQUUsRUFBRSxFQUFFLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDdkMsQ0FBQztJQUVELGdCQUFnQixDQUFDLEVBQW9CO1FBQ25DLEtBQUssQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLEtBQWEsRUFBRSxFQUFFO1lBQ3ZDLElBQUksSUFBSSxDQUFDLElBQUksS0FBSyxRQUFRLEVBQUU7Z0JBQzFCOzs7O21CQUlHO2dCQUNILEVBQUUsQ0FBQyxLQUFLLEtBQUssRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO2FBQzdDO2lCQUFNO2dCQUNMLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FBQzthQUNYO1FBQ0gsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0NBQ0YsQ0FBQTt5SEE1QlksUUFBUTs2R0FBUixRQUFRLGc3QkFIUixDQUFDLGdCQUFnQixDQUFDLGlEQUhuQiwyQkFBMkI7QUFNMUIsUUFBUTtJQWRwQixRQUFRLENBQUM7UUFDUixxQkFBcUIsRUFBRSxtQkFBbUI7UUFDMUMsTUFBTSxFQUFFLFlBQVk7UUFDcEIsT0FBTyxFQUFFLENBQUMsVUFBVSxFQUFFLGlCQUFpQixDQUFDO0tBQ3pDLENBQUM7R0FVVyxRQUFRLENBNEJwQjtTQTVCWSxRQUFROzRGQUFSLFFBQVE7a0JBVHBCLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLFdBQVc7b0JBQ3JCLGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNO29CQUMvQyxRQUFRLEVBQUUsMkJBQTJCO29CQUNyQyx1RUFBdUU7b0JBQ3ZFLE1BQU0sRUFBRSxZQUFZO29CQUNwQixTQUFTLEVBQUUsQ0FBQyxnQkFBZ0IsQ0FBQztvQkFDN0IsVUFBVSxFQUFFLElBQUk7aUJBQ2pCOzZLQVdDLGNBQWM7c0JBRGIsWUFBWTt1QkFBQyxVQUFVLEVBQUUsQ0FBQyxlQUFlLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gIENvbXBvbmVudCxcbiAgRWxlbWVudFJlZixcbiAgRXZlbnRFbWl0dGVyLFxuICBIb3N0TGlzdGVuZXIsXG4gIEluamVjdG9yLFxuICBOZ1pvbmUsXG4gIGZvcndhcmRSZWYsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTkdfVkFMVUVfQUNDRVNTT1IgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBWYWx1ZUFjY2Vzc29yIH0gZnJvbSAnQGlvbmljL2FuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB0eXBlIHtcbiAgSW5wdXRJbnB1dEV2ZW50RGV0YWlsIGFzIElJb25JbnB1dElucHV0SW5wdXRFdmVudERldGFpbCxcbiAgSW5wdXRDaGFuZ2VFdmVudERldGFpbCBhcyBJSW9uSW5wdXRJbnB1dENoYW5nZUV2ZW50RGV0YWlsLFxuICBDb21wb25lbnRzLFxufSBmcm9tICdAaW9uaWMvY29yZS9jb21wb25lbnRzJztcbmltcG9ydCB7IGRlZmluZUN1c3RvbUVsZW1lbnQgfSBmcm9tICdAaW9uaWMvY29yZS9jb21wb25lbnRzL2lvbi1pbnB1dC5qcyc7XG5cbmltcG9ydCB7IFByb3h5Q21wLCBwcm94eU91dHB1dHMgfSBmcm9tICcuL2FuZ3VsYXItY29tcG9uZW50LWxpYi91dGlscyc7XG5cbmNvbnN0IElOUFVUX0lOUFVUUyA9IFtcbiAgJ2FjY2VwdCcsXG4gICdhdXRvY2FwaXRhbGl6ZScsXG4gICdhdXRvY29tcGxldGUnLFxuICAnYXV0b2NvcnJlY3QnLFxuICAnYXV0b2ZvY3VzJyxcbiAgJ2NsZWFySW5wdXQnLFxuICAnY2xlYXJPbkVkaXQnLFxuICAnY29sb3InLFxuICAnY291bnRlcicsXG4gICdjb3VudGVyRm9ybWF0dGVyJyxcbiAgJ2RlYm91bmNlJyxcbiAgJ2Rpc2FibGVkJyxcbiAgJ2VudGVya2V5aGludCcsXG4gICdlcnJvclRleHQnLFxuICAnZmlsbCcsXG4gICdoZWxwZXJUZXh0JyxcbiAgJ2lucHV0bW9kZScsXG4gICdsYWJlbCcsXG4gICdsYWJlbFBsYWNlbWVudCcsXG4gICdsZWdhY3knLFxuICAnbWF4JyxcbiAgJ21heGxlbmd0aCcsXG4gICdtaW4nLFxuICAnbWlubGVuZ3RoJyxcbiAgJ21vZGUnLFxuICAnbXVsdGlwbGUnLFxuICAnbmFtZScsXG4gICdwYXR0ZXJuJyxcbiAgJ3BsYWNlaG9sZGVyJyxcbiAgJ3JlYWRvbmx5JyxcbiAgJ3JlcXVpcmVkJyxcbiAgJ3NoYXBlJyxcbiAgJ3NpemUnLFxuICAnc3BlbGxjaGVjaycsXG4gICdzdGVwJyxcbiAgJ3R5cGUnLFxuICAndmFsdWUnLFxuXTtcblxuLyoqXG4gKiBQdWxsaW5nIHRoZSBwcm92aWRlciBpbnRvIGFuIG9iamVjdCBhbmQgdXNpbmcgUFVSRSB3b3Jrc1xuICogYXJvdW5kIGFuIG5nLXBhY2thZ3IgaXNzdWUgdGhhdCBjYXVzZXNcbiAqIGNvbXBvbmVudHMgd2l0aCBtdWx0aXBsZSBkZWNvcmF0b3JzIGFuZFxuICogYSBwcm92aWRlciB0byBiZSByZS1hc3NpZ25lZC4gVGhpcyByZS1hc3NpZ25tZW50XG4gKiBpcyBub3Qgc3VwcG9ydGVkIGJ5IFdlYnBhY2sgYW5kIGNhdXNlcyB0cmVlc2hha2luZ1xuICogdG8gbm90IHdvcmsgb24gdGhlc2Uga2luZHMgb2YgY29tcG9uZW50cy5cbiAqL1xuY29uc3QgYWNjZXNzb3JQcm92aWRlciA9IHtcbiAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXG4gIHVzZUV4aXN0aW5nOiAvKkBfX1BVUkVfXyovIGZvcndhcmRSZWYoKCkgPT4gSW9uSW5wdXQpLFxuICBtdWx0aTogdHJ1ZSxcbn07XG5cbkBQcm94eUNtcCh7XG4gIGRlZmluZUN1c3RvbUVsZW1lbnRGbjogZGVmaW5lQ3VzdG9tRWxlbWVudCxcbiAgaW5wdXRzOiBJTlBVVF9JTlBVVFMsXG4gIG1ldGhvZHM6IFsnc2V0Rm9jdXMnLCAnZ2V0SW5wdXRFbGVtZW50J10sXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnaW9uLWlucHV0JyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogSU5QVVRfSU5QVVRTLFxuICBwcm92aWRlcnM6IFthY2Nlc3NvclByb3ZpZGVyXSxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbn0pXG5leHBvcnQgY2xhc3MgSW9uSW5wdXQgZXh0ZW5kcyBWYWx1ZUFjY2Vzc29yIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUsIGluamVjdG9yOiBJbmplY3Rvcikge1xuICAgIHN1cGVyKGluamVjdG9yLCByKTtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gICAgcHJveHlPdXRwdXRzKHRoaXMsIHRoaXMuZWwsIFsnaW9uSW5wdXQnLCAnaW9uQ2hhbmdlJywgJ2lvbkJsdXInLCAnaW9uRm9jdXMnXSk7XG4gIH1cblxuICBASG9zdExpc3RlbmVyKCdpb25JbnB1dCcsIFsnJGV2ZW50LnRhcmdldCddKVxuICBoYW5kbGVJb25JbnB1dChlbDogSFRNTElvbklucHV0RWxlbWVudCk6IHZvaWQge1xuICAgIHRoaXMuaGFuZGxlVmFsdWVDaGFuZ2UoZWwsIGVsLnZhbHVlKTtcbiAgfVxuXG4gIHJlZ2lzdGVyT25DaGFuZ2UoZm46IChfOiBhbnkpID0+IHZvaWQpOiB2b2lkIHtcbiAgICBzdXBlci5yZWdpc3Rlck9uQ2hhbmdlKCh2YWx1ZTogc3RyaW5nKSA9PiB7XG4gICAgICBpZiAodGhpcy50eXBlID09PSAnbnVtYmVyJykge1xuICAgICAgICAvKipcbiAgICAgICAgICogSWYgdGhlIGlucHV0IHR5cGUgaXMgYG51bWJlcmAsIHdlIG5lZWQgdG8gY29udmVydCB0aGUgdmFsdWUgdG8gYSBudW1iZXJcbiAgICAgICAgICogd2hlbiB0aGUgdmFsdWUgaXMgbm90IGVtcHR5LiBJZiB0aGUgdmFsdWUgaXMgZW1wdHksIHdlIHdhbnQgdG8gdHJlYXRcbiAgICAgICAgICogdGhlIHZhbHVlIGFzIG51bGwuXG4gICAgICAgICAqL1xuICAgICAgICBmbih2YWx1ZSA9PT0gJycgPyBudWxsIDogcGFyc2VGbG9hdCh2YWx1ZSkpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgZm4odmFsdWUpO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG59XG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBJb25JbnB1dCBleHRlbmRzIENvbXBvbmVudHMuSW9uSW5wdXQge1xuICAvKipcbiAgICogVGhlIGBpb25JbnB1dGAgZXZlbnQgaXMgZmlyZWQgZWFjaCB0aW1lIHRoZSB1c2VyIG1vZGlmaWVzIHRoZSBpbnB1dCdzIHZhbHVlLlxuVW5saWtlIHRoZSBgaW9uQ2hhbmdlYCBldmVudCwgdGhlIGBpb25JbnB1dGAgZXZlbnQgaXMgZmlyZWQgZm9yIGVhY2ggYWx0ZXJhdGlvblxudG8gdGhlIGlucHV0J3MgdmFsdWUuIFRoaXMgdHlwaWNhbGx5IGhhcHBlbnMgZm9yIGVhY2gga2V5c3Ryb2tlIGFzIHRoZSB1c2VyIHR5cGVzLlxuXG5Gb3IgZWxlbWVudHMgdGhhdCBhY2NlcHQgdGV4dCBpbnB1dCAoYHR5cGU9dGV4dGAsIGB0eXBlPXRlbGAsIGV0Yy4pLCB0aGUgaW50ZXJmYWNlXG5pcyBbYElucHV0RXZlbnRgXShodHRwczovL2RldmVsb3Blci5tb3ppbGxhLm9yZy9lbi1VUy9kb2NzL1dlYi9BUEkvSW5wdXRFdmVudCk7IGZvciBvdGhlcnMsXG50aGUgaW50ZXJmYWNlIGlzIFtgRXZlbnRgXShodHRwczovL2RldmVsb3Blci5tb3ppbGxhLm9yZy9lbi1VUy9kb2NzL1dlYi9BUEkvRXZlbnQpLiBJZlxudGhlIGlucHV0IGlzIGNsZWFyZWQgb24gZWRpdCwgdGhlIHR5cGUgaXMgYG51bGxgLlxuICAgKi9cbiAgaW9uSW5wdXQ6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxJSW9uSW5wdXRJbnB1dElucHV0RXZlbnREZXRhaWw+PjtcbiAgLyoqXG4gICAqIFRoZSBgaW9uQ2hhbmdlYCBldmVudCBpcyBmaXJlZCB3aGVuIHRoZSB1c2VyIG1vZGlmaWVzIHRoZSBpbnB1dCdzIHZhbHVlLlxuVW5saWtlIHRoZSBgaW9uSW5wdXRgIGV2ZW50LCB0aGUgYGlvbkNoYW5nZWAgZXZlbnQgaXMgb25seSBmaXJlZCB3aGVuIGNoYW5nZXNcbmFyZSBjb21taXR0ZWQsIG5vdCBhcyB0aGUgdXNlciB0eXBlcy5cblxuRGVwZW5kaW5nIG9uIHRoZSB3YXkgdGhlIHVzZXJzIGludGVyYWN0cyB3aXRoIHRoZSBlbGVtZW50LCB0aGUgYGlvbkNoYW5nZWBcbmV2ZW50IGZpcmVzIGF0IGEgZGlmZmVyZW50IG1vbWVudDpcbi0gV2hlbiB0aGUgdXNlciBjb21taXRzIHRoZSBjaGFuZ2UgZXhwbGljaXRseSAoZS5nLiBieSBzZWxlY3RpbmcgYSBkYXRlXG5mcm9tIGEgZGF0ZSBwaWNrZXIgZm9yIGA8aW9uLWlucHV0IHR5cGU9XCJkYXRlXCI+YCwgcHJlc3NpbmcgdGhlIFwiRW50ZXJcIiBrZXksIGV0Yy4pLlxuLSBXaGVuIHRoZSBlbGVtZW50IGxvc2VzIGZvY3VzIGFmdGVyIGl0cyB2YWx1ZSBoYXMgY2hhbmdlZDogZm9yIGVsZW1lbnRzXG53aGVyZSB0aGUgdXNlcidzIGludGVyYWN0aW9uIGlzIHR5cGluZy5cbiAgICovXG4gIGlvbkNoYW5nZTogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PElJb25JbnB1dElucHV0Q2hhbmdlRXZlbnREZXRhaWw+PjtcbiAgLyoqXG4gICAqIEVtaXR0ZWQgd2hlbiB0aGUgaW5wdXQgbG9zZXMgZm9jdXMuXG4gICAqL1xuICBpb25CbHVyOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8Rm9jdXNFdmVudD4+O1xuICAvKipcbiAgICogRW1pdHRlZCB3aGVuIHRoZSBpbnB1dCBoYXMgZm9jdXMuXG4gICAqL1xuICBpb25Gb2N1czogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PEZvY3VzRXZlbnQ+Pjtcbn1cbiJdfQ==
125
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zdGFuZGFsb25lL3NyYy9kaXJlY3RpdmVzL2lucHV0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCx1QkFBdUIsRUFFdkIsU0FBUyxFQUdULFlBQVksR0FHYixNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNuRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFNdEQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFFMUU7Ozs7Ozs7Ozs7O0dBV0c7QUFDSCxPQUFPLEVBQUUsV0FBVyxFQUFFLFlBQVksRUFBRSxZQUFZLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQzs7QUFFeEYsTUFBTSxZQUFZLEdBQUc7SUFDbkIsUUFBUTtJQUNSLGdCQUFnQjtJQUNoQixjQUFjO0lBQ2QsYUFBYTtJQUNiLFdBQVc7SUFDWCxZQUFZO0lBQ1osYUFBYTtJQUNiLE9BQU87SUFDUCxTQUFTO0lBQ1Qsa0JBQWtCO0lBQ2xCLFVBQVU7SUFDVixVQUFVO0lBQ1YsY0FBYztJQUNkLFdBQVc7SUFDWCxNQUFNO0lBQ04sWUFBWTtJQUNaLFdBQVc7SUFDWCxPQUFPO0lBQ1AsZ0JBQWdCO0lBQ2hCLFFBQVE7SUFDUixLQUFLO0lBQ0wsV0FBVztJQUNYLEtBQUs7SUFDTCxXQUFXO0lBQ1gsTUFBTTtJQUNOLFVBQVU7SUFDVixNQUFNO0lBQ04sU0FBUztJQUNULGFBQWE7SUFDYixVQUFVO0lBQ1YsVUFBVTtJQUNWLE9BQU87SUFDUCxNQUFNO0lBQ04sWUFBWTtJQUNaLE1BQU07SUFDTixNQUFNO0lBQ04sT0FBTztDQUNSLENBQUM7QUFFRixNQUFNLGFBQWEsR0FBRyxDQUFDLFVBQVUsRUFBRSxpQkFBaUIsQ0FBQyxDQUFDO0FBaUJ0RCxNQUFNLE9BQU8sUUFBUyxTQUFRLGFBQWE7SUFFekMsWUFBWSxDQUFvQixFQUFFLENBQWEsRUFBWSxDQUFTLEVBQUUsUUFBa0I7UUFDdEYsS0FBSyxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUMsQ0FBQztRQURzQyxNQUFDLEdBQUQsQ0FBQyxDQUFRO1FBRWxFLG1CQUFtQixFQUFFLENBQUM7UUFDdEIsQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDO1FBQ1gsSUFBSSxDQUFDLEVBQUUsR0FBRyxDQUFDLENBQUMsYUFBYSxDQUFDO1FBQzFCLFlBQVksQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLEVBQUUsRUFBRSxDQUFDLFVBQVUsRUFBRSxXQUFXLEVBQUUsU0FBUyxFQUFFLFVBQVUsQ0FBQyxDQUFDLENBQUM7SUFDaEYsQ0FBQztJQUVELFFBQVE7UUFDTjs7OztXQUlHO1FBQ0gsV0FBVyxDQUFDLFFBQVEsRUFBRSxZQUFZLENBQUMsQ0FBQztRQUNwQyxZQUFZLENBQUMsUUFBUSxFQUFFLGFBQWEsQ0FBQyxDQUFDO0lBQ3hDLENBQUM7SUFHRCxjQUFjLENBQUMsRUFBdUI7UUFDcEMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLEVBQUUsRUFBRSxFQUFFLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDdkMsQ0FBQztJQUVELGdCQUFnQixDQUFDLEVBQW9CO1FBQ25DLEtBQUssQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLEtBQWEsRUFBRSxFQUFFO1lBQ3ZDLElBQUksSUFBSSxDQUFDLElBQUksS0FBSyxRQUFRLEVBQUU7Z0JBQzFCOzs7O21CQUlHO2dCQUNILEVBQUUsQ0FBQyxLQUFLLEtBQUssRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO2FBQzdDO2lCQUFNO2dCQUNMLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FBQzthQUNYO1FBQ0gsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDOzt5SEF0Q1UsUUFBUTs2R0FBUixRQUFRLGc3QkFUUjtRQUNUO1lBQ0UsT0FBTyxFQUFFLGlCQUFpQjtZQUMxQixXQUFXLEVBQUUsUUFBUTtZQUNyQixLQUFLLEVBQUUsSUFBSTtTQUNaO0tBQ0YsaURBVFMsMkJBQTJCOzRGQVkxQixRQUFRO2tCQWZwQixTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxXQUFXO29CQUNyQixlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTtvQkFDL0MsUUFBUSxFQUFFLDJCQUEyQjtvQkFDckMsdUVBQXVFO29CQUN2RSxNQUFNLEVBQUUsWUFBWTtvQkFDcEIsU0FBUyxFQUFFO3dCQUNUOzRCQUNFLE9BQU8sRUFBRSxpQkFBaUI7NEJBQzFCLFdBQVcsVUFBVTs0QkFDckIsS0FBSyxFQUFFLElBQUk7eUJBQ1o7cUJBQ0Y7b0JBQ0QsVUFBVSxFQUFFLElBQUk7aUJBQ2pCOzZLQXNCQyxjQUFjO3NCQURiLFlBQVk7dUJBQUMsVUFBVSxFQUFFLENBQUMsZUFBZSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENoYW5nZURldGVjdG9yUmVmLFxuICBDb21wb25lbnQsXG4gIEVsZW1lbnRSZWYsXG4gIEV2ZW50RW1pdHRlcixcbiAgSG9zdExpc3RlbmVyLFxuICBJbmplY3RvcixcbiAgTmdab25lLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB0eXBlIHsgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBOR19WQUxVRV9BQ0NFU1NPUiB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IFZhbHVlQWNjZXNzb3IgfSBmcm9tICdAaW9uaWMvYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHR5cGUge1xuICBJbnB1dElucHV0RXZlbnREZXRhaWwgYXMgSUlvbklucHV0SW5wdXRJbnB1dEV2ZW50RGV0YWlsLFxuICBJbnB1dENoYW5nZUV2ZW50RGV0YWlsIGFzIElJb25JbnB1dElucHV0Q2hhbmdlRXZlbnREZXRhaWwsXG4gIENvbXBvbmVudHMsXG59IGZyb20gJ0Bpb25pYy9jb3JlL2NvbXBvbmVudHMnO1xuaW1wb3J0IHsgZGVmaW5lQ3VzdG9tRWxlbWVudCB9IGZyb20gJ0Bpb25pYy9jb3JlL2NvbXBvbmVudHMvaW9uLWlucHV0LmpzJztcblxuLyoqXG4gKiBWYWx1ZSBhY2Nlc3NvciBjb21wb25lbnRzIHNob3VsZCBub3QgdXNlIFByb3h5Q21wXG4gKiBhbmQgc2hvdWxkIGNhbGwgZGVmaW5lQ3VzdG9tRWxlbWVudCBhbmQgcHJveHlJbnB1dHNcbiAqIG1hbnVhbGx5IGluc3RlYWQuIFVzaW5nIGJvdGggdGhlIEBQcm94eUNtcCBhbmQgQENvbXBvbmVudFxuICogZGVjb3JhdG9ycyBhbmQgdXNlRXhpc3RpbmcgKHdoZXJlIHVzZUV4aXN0aW5nIHJlZmVycyB0byB0aGVcbiAqIGNsYXNzKSBjYXVzZXMgbmctcGFja2FnciB0byBvdXRwdXQgbXVsdGlwbGUgY29tcG9uZW50IHZhcmlhYmxlc1xuICogd2hpY2ggYnJlYWtzIHRyZWVzaGFraW5nLlxuICogRm9yIGV4YW1wbGUsIHRoZSBmb2xsb3dpbmcgd291bGQgYmUgZ2VuZXJhdGVkOlxuICogbGV0IElvbklucHV0ID0gSW9uSW5wdXRfMSA9IGNsYXNzIElvbklucHV0IGV4dGVuZHMgVmFsdWVBY2Nlc3NvciB7XG4gKiBJbnN0ZWFkLCB3ZSB3YW50IG9ubHkgd2FudCB0aGUgY2xhc3MgZ2VuZXJhdGVkOlxuICogY2xhc3MgSW9uSW5wdXQgZXh0ZW5kcyBWYWx1ZUFjY2Vzc29yIHtcbiAqL1xuaW1wb3J0IHsgcHJveHlJbnB1dHMsIHByb3h5TWV0aG9kcywgcHJveHlPdXRwdXRzIH0gZnJvbSAnLi9hbmd1bGFyLWNvbXBvbmVudC1saWIvdXRpbHMnO1xuXG5jb25zdCBJTlBVVF9JTlBVVFMgPSBbXG4gICdhY2NlcHQnLFxuICAnYXV0b2NhcGl0YWxpemUnLFxuICAnYXV0b2NvbXBsZXRlJyxcbiAgJ2F1dG9jb3JyZWN0JyxcbiAgJ2F1dG9mb2N1cycsXG4gICdjbGVhcklucHV0JyxcbiAgJ2NsZWFyT25FZGl0JyxcbiAgJ2NvbG9yJyxcbiAgJ2NvdW50ZXInLFxuICAnY291bnRlckZvcm1hdHRlcicsXG4gICdkZWJvdW5jZScsXG4gICdkaXNhYmxlZCcsXG4gICdlbnRlcmtleWhpbnQnLFxuICAnZXJyb3JUZXh0JyxcbiAgJ2ZpbGwnLFxuICAnaGVscGVyVGV4dCcsXG4gICdpbnB1dG1vZGUnLFxuICAnbGFiZWwnLFxuICAnbGFiZWxQbGFjZW1lbnQnLFxuICAnbGVnYWN5JyxcbiAgJ21heCcsXG4gICdtYXhsZW5ndGgnLFxuICAnbWluJyxcbiAgJ21pbmxlbmd0aCcsXG4gICdtb2RlJyxcbiAgJ211bHRpcGxlJyxcbiAgJ25hbWUnLFxuICAncGF0dGVybicsXG4gICdwbGFjZWhvbGRlcicsXG4gICdyZWFkb25seScsXG4gICdyZXF1aXJlZCcsXG4gICdzaGFwZScsXG4gICdzaXplJyxcbiAgJ3NwZWxsY2hlY2snLFxuICAnc3RlcCcsXG4gICd0eXBlJyxcbiAgJ3ZhbHVlJyxcbl07XG5cbmNvbnN0IElOUFVUX01FVEhPRFMgPSBbJ3NldEZvY3VzJywgJ2dldElucHV0RWxlbWVudCddO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdpb24taW5wdXQnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBJTlBVVF9JTlBVVFMsXG4gIHByb3ZpZGVyczogW1xuICAgIHtcbiAgICAgIHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxuICAgICAgdXNlRXhpc3Rpbmc6IElvbklucHV0LFxuICAgICAgbXVsdGk6IHRydWUsXG4gICAgfSxcbiAgXSxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbn0pXG5leHBvcnQgY2xhc3MgSW9uSW5wdXQgZXh0ZW5kcyBWYWx1ZUFjY2Vzc29yIGltcGxlbWVudHMgT25Jbml0IHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUsIGluamVjdG9yOiBJbmplY3Rvcikge1xuICAgIHN1cGVyKGluamVjdG9yLCByKTtcbiAgICBkZWZpbmVDdXN0b21FbGVtZW50KCk7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICAgIHByb3h5T3V0cHV0cyh0aGlzLCB0aGlzLmVsLCBbJ2lvbklucHV0JywgJ2lvbkNoYW5nZScsICdpb25CbHVyJywgJ2lvbkZvY3VzJ10pO1xuICB9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgLyoqXG4gICAgICogRGF0YS1ib3VuZCBpbnB1dCBwcm9wZXJ0aWVzIGFyZSBzZXRcbiAgICAgKiBieSBBbmd1bGFyIGFmdGVyIHRoZSBjb25zdHJ1Y3Rvciwgc29cbiAgICAgKiB3ZSBuZWVkIHRvIHJ1biB0aGUgcHJveHkgaW4gbmdPbkluaXQuXG4gICAgICovXG4gICAgcHJveHlJbnB1dHMoSW9uSW5wdXQsIElOUFVUX0lOUFVUUyk7XG4gICAgcHJveHlNZXRob2RzKElvbklucHV0LCBJTlBVVF9NRVRIT0RTKTtcbiAgfVxuXG4gIEBIb3N0TGlzdGVuZXIoJ2lvbklucHV0JywgWyckZXZlbnQudGFyZ2V0J10pXG4gIGhhbmRsZUlvbklucHV0KGVsOiBIVE1MSW9uSW5wdXRFbGVtZW50KTogdm9pZCB7XG4gICAgdGhpcy5oYW5kbGVWYWx1ZUNoYW5nZShlbCwgZWwudmFsdWUpO1xuICB9XG5cbiAgcmVnaXN0ZXJPbkNoYW5nZShmbjogKF86IGFueSkgPT4gdm9pZCk6IHZvaWQge1xuICAgIHN1cGVyLnJlZ2lzdGVyT25DaGFuZ2UoKHZhbHVlOiBzdHJpbmcpID0+IHtcbiAgICAgIGlmICh0aGlzLnR5cGUgPT09ICdudW1iZXInKSB7XG4gICAgICAgIC8qKlxuICAgICAgICAgKiBJZiB0aGUgaW5wdXQgdHlwZSBpcyBgbnVtYmVyYCwgd2UgbmVlZCB0byBjb252ZXJ0IHRoZSB2YWx1ZSB0byBhIG51bWJlclxuICAgICAgICAgKiB3aGVuIHRoZSB2YWx1ZSBpcyBub3QgZW1wdHkuIElmIHRoZSB2YWx1ZSBpcyBlbXB0eSwgd2Ugd2FudCB0byB0cmVhdFxuICAgICAgICAgKiB0aGUgdmFsdWUgYXMgbnVsbC5cbiAgICAgICAgICovXG4gICAgICAgIGZuKHZhbHVlID09PSAnJyA/IG51bGwgOiBwYXJzZUZsb2F0KHZhbHVlKSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBmbih2YWx1ZSk7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cbn1cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIElvbklucHV0IGV4dGVuZHMgQ29tcG9uZW50cy5Jb25JbnB1dCB7XG4gIC8qKlxuICAgKiBUaGUgYGlvbklucHV0YCBldmVudCBpcyBmaXJlZCBlYWNoIHRpbWUgdGhlIHVzZXIgbW9kaWZpZXMgdGhlIGlucHV0J3MgdmFsdWUuXG5Vbmxpa2UgdGhlIGBpb25DaGFuZ2VgIGV2ZW50LCB0aGUgYGlvbklucHV0YCBldmVudCBpcyBmaXJlZCBmb3IgZWFjaCBhbHRlcmF0aW9uXG50byB0aGUgaW5wdXQncyB2YWx1ZS4gVGhpcyB0eXBpY2FsbHkgaGFwcGVucyBmb3IgZWFjaCBrZXlzdHJva2UgYXMgdGhlIHVzZXIgdHlwZXMuXG5cbkZvciBlbGVtZW50cyB0aGF0IGFjY2VwdCB0ZXh0IGlucHV0IChgdHlwZT10ZXh0YCwgYHR5cGU9dGVsYCwgZXRjLiksIHRoZSBpbnRlcmZhY2VcbmlzIFtgSW5wdXRFdmVudGBdKGh0dHBzOi8vZGV2ZWxvcGVyLm1vemlsbGEub3JnL2VuLVVTL2RvY3MvV2ViL0FQSS9JbnB1dEV2ZW50KTsgZm9yIG90aGVycyxcbnRoZSBpbnRlcmZhY2UgaXMgW2BFdmVudGBdKGh0dHBzOi8vZGV2ZWxvcGVyLm1vemlsbGEub3JnL2VuLVVTL2RvY3MvV2ViL0FQSS9FdmVudCkuIElmXG50aGUgaW5wdXQgaXMgY2xlYXJlZCBvbiBlZGl0LCB0aGUgdHlwZSBpcyBgbnVsbGAuXG4gICAqL1xuICBpb25JbnB1dDogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PElJb25JbnB1dElucHV0SW5wdXRFdmVudERldGFpbD4+O1xuICAvKipcbiAgICogVGhlIGBpb25DaGFuZ2VgIGV2ZW50IGlzIGZpcmVkIHdoZW4gdGhlIHVzZXIgbW9kaWZpZXMgdGhlIGlucHV0J3MgdmFsdWUuXG5Vbmxpa2UgdGhlIGBpb25JbnB1dGAgZXZlbnQsIHRoZSBgaW9uQ2hhbmdlYCBldmVudCBpcyBvbmx5IGZpcmVkIHdoZW4gY2hhbmdlc1xuYXJlIGNvbW1pdHRlZCwgbm90IGFzIHRoZSB1c2VyIHR5cGVzLlxuXG5EZXBlbmRpbmcgb24gdGhlIHdheSB0aGUgdXNlcnMgaW50ZXJhY3RzIHdpdGggdGhlIGVsZW1lbnQsIHRoZSBgaW9uQ2hhbmdlYFxuZXZlbnQgZmlyZXMgYXQgYSBkaWZmZXJlbnQgbW9tZW50OlxuLSBXaGVuIHRoZSB1c2VyIGNvbW1pdHMgdGhlIGNoYW5nZSBleHBsaWNpdGx5IChlLmcuIGJ5IHNlbGVjdGluZyBhIGRhdGVcbmZyb20gYSBkYXRlIHBpY2tlciBmb3IgYDxpb24taW5wdXQgdHlwZT1cImRhdGVcIj5gLCBwcmVzc2luZyB0aGUgXCJFbnRlclwiIGtleSwgZXRjLikuXG4tIFdoZW4gdGhlIGVsZW1lbnQgbG9zZXMgZm9jdXMgYWZ0ZXIgaXRzIHZhbHVlIGhhcyBjaGFuZ2VkOiBmb3IgZWxlbWVudHNcbndoZXJlIHRoZSB1c2VyJ3MgaW50ZXJhY3Rpb24gaXMgdHlwaW5nLlxuICAgKi9cbiAgaW9uQ2hhbmdlOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8SUlvbklucHV0SW5wdXRDaGFuZ2VFdmVudERldGFpbD4+O1xuICAvKipcbiAgICogRW1pdHRlZCB3aGVuIHRoZSBpbnB1dCBsb3NlcyBmb2N1cy5cbiAgICovXG4gIGlvbkJsdXI6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxGb2N1c0V2ZW50Pj47XG4gIC8qKlxuICAgKiBFbWl0dGVkIHdoZW4gdGhlIGlucHV0IGhhcyBmb2N1cy5cbiAgICovXG4gIGlvbkZvY3VzOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8Rm9jdXNFdmVudD4+O1xufVxuIl19
@@ -1,45 +1,51 @@
1
- import { __decorate } from "tslib";
2
- import { ChangeDetectionStrategy, Component, HostListener, forwardRef, } from '@angular/core';
1
+ import { ChangeDetectionStrategy, Component, HostListener, } from '@angular/core';
3
2
  import { NG_VALUE_ACCESSOR } from '@angular/forms';
4
3
  import { ValueAccessor } from '@ionic/angular/common';
5
4
  import { defineCustomElement } from '@ionic/core/components/ion-radio-group.js';
6
- import { ProxyCmp, proxyOutputs } from './angular-component-lib/utils';
7
- import * as i0 from "@angular/core";
8
- const RADIO_GROUP_INPUTS = ['allowEmptySelection', 'name', 'value'];
9
5
  /**
10
- * Pulling the provider into an object and using PURE works
11
- * around an ng-packagr issue that causes
12
- * components with multiple decorators and
13
- * a provider to be re-assigned. This re-assignment
14
- * is not supported by Webpack and causes treeshaking
15
- * to not work on these kinds of components.
6
+ * Value accessor components should not use ProxyCmp
7
+ * and should call defineCustomElement and proxyInputs
8
+ * manually instead. Using both the @ProxyCmp and @Component
9
+ * decorators and useExisting (where useExisting refers to the
10
+ * class) causes ng-packagr to output multiple component variables
11
+ * which breaks treeshaking.
12
+ * For example, the following would be generated:
13
+ * let IonRadioGroup = IonRadioGroup_1 = class IonRadioGroup extends ValueAccessor {
14
+ * Instead, we want only want the class generated:
15
+ * class IonRadioGroup extends ValueAccessor {
16
16
  */
17
- const accessorProvider = {
18
- provide: NG_VALUE_ACCESSOR,
19
- useExisting: /*@__PURE__*/ forwardRef(() => IonRadioGroup),
20
- multi: true,
21
- };
22
- let IonRadioGroup = class IonRadioGroup extends ValueAccessor {
17
+ import { proxyInputs, proxyOutputs } from './angular-component-lib/utils';
18
+ import * as i0 from "@angular/core";
19
+ const RADIO_GROUP_INPUTS = ['allowEmptySelection', 'name', 'value'];
20
+ export class IonRadioGroup extends ValueAccessor {
23
21
  constructor(c, r, z, injector) {
24
22
  super(injector, r);
25
23
  this.z = z;
24
+ defineCustomElement();
26
25
  c.detach();
27
26
  this.el = r.nativeElement;
28
27
  proxyOutputs(this, this.el, ['ionChange']);
29
28
  }
29
+ ngOnInit() {
30
+ /**
31
+ * Data-bound input properties are set
32
+ * by Angular after the constructor, so
33
+ * we need to run the proxy in ngOnInit.
34
+ */
35
+ proxyInputs(IonRadioGroup, RADIO_GROUP_INPUTS);
36
+ }
30
37
  handleIonChange(el) {
31
38
  this.handleValueChange(el, el.value);
32
39
  }
33
- };
40
+ }
34
41
  /** @nocollapse */ IonRadioGroup.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: IonRadioGroup, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }, { token: i0.Injector }], target: i0.ɵɵFactoryTarget.Component });
35
- /** @nocollapse */ IonRadioGroup.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.12", type: IonRadioGroup, isStandalone: true, selector: "ion-radio-group", inputs: { allowEmptySelection: "allowEmptySelection", name: "name", value: "value" }, host: { listeners: { "ionChange": "handleIonChange($event.target)" } }, providers: [accessorProvider], usesInheritance: true, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
36
- IonRadioGroup = __decorate([
37
- ProxyCmp({
38
- defineCustomElementFn: defineCustomElement,
39
- inputs: RADIO_GROUP_INPUTS,
40
- })
41
- ], IonRadioGroup);
42
- export { IonRadioGroup };
42
+ /** @nocollapse */ IonRadioGroup.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.12", type: IonRadioGroup, isStandalone: true, selector: "ion-radio-group", inputs: { allowEmptySelection: "allowEmptySelection", name: "name", value: "value" }, host: { listeners: { "ionChange": "handleIonChange($event.target)" } }, providers: [
43
+ {
44
+ provide: NG_VALUE_ACCESSOR,
45
+ useExisting: IonRadioGroup,
46
+ multi: true,
47
+ },
48
+ ], usesInheritance: true, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
43
49
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: IonRadioGroup, decorators: [{
44
50
  type: Component,
45
51
  args: [{
@@ -48,11 +54,17 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImpo
48
54
  template: '<ng-content></ng-content>',
49
55
  // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
50
56
  inputs: RADIO_GROUP_INPUTS,
51
- providers: [accessorProvider],
57
+ providers: [
58
+ {
59
+ provide: NG_VALUE_ACCESSOR,
60
+ useExisting: IonRadioGroup,
61
+ multi: true,
62
+ },
63
+ ],
52
64
  standalone: true,
53
65
  }]
54
66
  }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }, { type: i0.Injector }]; }, propDecorators: { handleIonChange: [{
55
67
  type: HostListener,
56
68
  args: ['ionChange', ['$event.target']]
57
69
  }] } });
58
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmFkaW8tZ3JvdXAuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zdGFuZGFsb25lL3NyYy9kaXJlY3RpdmVzL3JhZGlvLWdyb3VwLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQ0wsdUJBQXVCLEVBRXZCLFNBQVMsRUFHVCxZQUFZLEVBR1osVUFBVSxHQUNYLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ25ELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUV0RCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSwyQ0FBMkMsQ0FBQztBQUVoRixPQUFPLEVBQUUsUUFBUSxFQUFFLFlBQVksRUFBRSxNQUFNLCtCQUErQixDQUFDOztBQUV2RSxNQUFNLGtCQUFrQixHQUFHLENBQUMscUJBQXFCLEVBQUUsTUFBTSxFQUFFLE9BQU8sQ0FBQyxDQUFDO0FBRXBFOzs7Ozs7O0dBT0c7QUFDSCxNQUFNLGdCQUFnQixHQUFHO0lBQ3ZCLE9BQU8sRUFBRSxpQkFBaUI7SUFDMUIsV0FBVyxFQUFFLGFBQWEsQ0FBQyxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsYUFBYSxDQUFDO0lBQzFELEtBQUssRUFBRSxJQUFJO0NBQ1osQ0FBQztJQWVXLGFBQWEsU0FBYixhQUFjLFNBQVEsYUFBYTtJQUU5QyxZQUFZLENBQW9CLEVBQUUsQ0FBYSxFQUFZLENBQVMsRUFBRSxRQUFrQjtRQUN0RixLQUFLLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQyxDQUFDO1FBRHNDLE1BQUMsR0FBRCxDQUFDLENBQVE7UUFFbEUsQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDO1FBQ1gsSUFBSSxDQUFDLEVBQUUsR0FBRyxDQUFDLENBQUMsYUFBYSxDQUFDO1FBQzFCLFlBQVksQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLEVBQUUsRUFBRSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUM7SUFDN0MsQ0FBQztJQUdELGVBQWUsQ0FBQyxFQUE0QjtRQUMxQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsRUFBRSxFQUFFLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUN2QyxDQUFDO0NBQ0YsQ0FBQTs4SEFiWSxhQUFhO2tIQUFiLGFBQWEsNE5BSGIsQ0FBQyxnQkFBZ0IsQ0FBQyxpREFIbkIsMkJBQTJCO0FBTTFCLGFBQWE7SUFiekIsUUFBUSxDQUFDO1FBQ1IscUJBQXFCLEVBQUUsbUJBQW1CO1FBQzFDLE1BQU0sRUFBRSxrQkFBa0I7S0FDM0IsQ0FBQztHQVVXLGFBQWEsQ0FhekI7U0FiWSxhQUFhOzRGQUFiLGFBQWE7a0JBVHpCLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLGlCQUFpQjtvQkFDM0IsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07b0JBQy9DLFFBQVEsRUFBRSwyQkFBMkI7b0JBQ3JDLHVFQUF1RTtvQkFDdkUsTUFBTSxFQUFFLGtCQUFrQjtvQkFDMUIsU0FBUyxFQUFFLENBQUMsZ0JBQWdCLENBQUM7b0JBQzdCLFVBQVUsRUFBRSxJQUFJO2lCQUNqQjs2S0FXQyxlQUFlO3NCQURkLFlBQVk7dUJBQUMsV0FBVyxFQUFFLENBQUMsZUFBZSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENoYW5nZURldGVjdG9yUmVmLFxuICBDb21wb25lbnQsXG4gIEVsZW1lbnRSZWYsXG4gIEV2ZW50RW1pdHRlcixcbiAgSG9zdExpc3RlbmVyLFxuICBJbmplY3RvcixcbiAgTmdab25lLFxuICBmb3J3YXJkUmVmLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE5HX1ZBTFVFX0FDQ0VTU09SIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgVmFsdWVBY2Nlc3NvciB9IGZyb20gJ0Bpb25pYy9hbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgdHlwZSB7IFJhZGlvR3JvdXBDaGFuZ2VFdmVudERldGFpbCwgQ29tcG9uZW50cyB9IGZyb20gJ0Bpb25pYy9jb3JlL2NvbXBvbmVudHMnO1xuaW1wb3J0IHsgZGVmaW5lQ3VzdG9tRWxlbWVudCB9IGZyb20gJ0Bpb25pYy9jb3JlL2NvbXBvbmVudHMvaW9uLXJhZGlvLWdyb3VwLmpzJztcblxuaW1wb3J0IHsgUHJveHlDbXAsIHByb3h5T3V0cHV0cyB9IGZyb20gJy4vYW5ndWxhci1jb21wb25lbnQtbGliL3V0aWxzJztcblxuY29uc3QgUkFESU9fR1JPVVBfSU5QVVRTID0gWydhbGxvd0VtcHR5U2VsZWN0aW9uJywgJ25hbWUnLCAndmFsdWUnXTtcblxuLyoqXG4gKiBQdWxsaW5nIHRoZSBwcm92aWRlciBpbnRvIGFuIG9iamVjdCBhbmQgdXNpbmcgUFVSRSAgd29ya3NcbiAqIGFyb3VuZCBhbiBuZy1wYWNrYWdyIGlzc3VlIHRoYXQgY2F1c2VzXG4gKiBjb21wb25lbnRzIHdpdGggbXVsdGlwbGUgZGVjb3JhdG9ycyBhbmRcbiAqIGEgcHJvdmlkZXIgdG8gYmUgcmUtYXNzaWduZWQuIFRoaXMgcmUtYXNzaWdubWVudFxuICogaXMgbm90IHN1cHBvcnRlZCBieSBXZWJwYWNrIGFuZCBjYXVzZXMgdHJlZXNoYWtpbmdcbiAqIHRvIG5vdCB3b3JrIG9uIHRoZXNlIGtpbmRzIG9mIGNvbXBvbmVudHMuXG4gKi9cbmNvbnN0IGFjY2Vzc29yUHJvdmlkZXIgPSB7XG4gIHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxuICB1c2VFeGlzdGluZzogLypAX19QVVJFX18qLyBmb3J3YXJkUmVmKCgpID0+IElvblJhZGlvR3JvdXApLFxuICBtdWx0aTogdHJ1ZSxcbn07XG5cbkBQcm94eUNtcCh7XG4gIGRlZmluZUN1c3RvbUVsZW1lbnRGbjogZGVmaW5lQ3VzdG9tRWxlbWVudCxcbiAgaW5wdXRzOiBSQURJT19HUk9VUF9JTlBVVFMsXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnaW9uLXJhZGlvLWdyb3VwJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogUkFESU9fR1JPVVBfSU5QVVRTLFxuICBwcm92aWRlcnM6IFthY2Nlc3NvclByb3ZpZGVyXSxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbn0pXG5leHBvcnQgY2xhc3MgSW9uUmFkaW9Hcm91cCBleHRlbmRzIFZhbHVlQWNjZXNzb3Ige1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSwgaW5qZWN0b3I6IEluamVjdG9yKSB7XG4gICAgc3VwZXIoaW5qZWN0b3IsIHIpO1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgICBwcm94eU91dHB1dHModGhpcywgdGhpcy5lbCwgWydpb25DaGFuZ2UnXSk7XG4gIH1cblxuICBASG9zdExpc3RlbmVyKCdpb25DaGFuZ2UnLCBbJyRldmVudC50YXJnZXQnXSlcbiAgaGFuZGxlSW9uQ2hhbmdlKGVsOiBIVE1MSW9uUmFkaW9Hcm91cEVsZW1lbnQpOiB2b2lkIHtcbiAgICB0aGlzLmhhbmRsZVZhbHVlQ2hhbmdlKGVsLCBlbC52YWx1ZSk7XG4gIH1cbn1cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIElvblJhZGlvR3JvdXAgZXh0ZW5kcyBDb21wb25lbnRzLklvblJhZGlvR3JvdXAge1xuICAvKipcbiAgICogRW1pdHRlZCB3aGVuIHRoZSB2YWx1ZSBoYXMgY2hhbmdlZC5cbiAgICovXG4gIGlvbkNoYW5nZTogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PFJhZGlvR3JvdXBDaGFuZ2VFdmVudERldGFpbD4+O1xufVxuIl19
70
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmFkaW8tZ3JvdXAuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zdGFuZGFsb25lL3NyYy9kaXJlY3RpdmVzL3JhZGlvLWdyb3VwLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCx1QkFBdUIsRUFFdkIsU0FBUyxFQUdULFlBQVksR0FHYixNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNuRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFFdEQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sMkNBQTJDLENBQUM7QUFFaEY7Ozs7Ozs7Ozs7O0dBV0c7QUFDSCxPQUFPLEVBQUUsV0FBVyxFQUFFLFlBQVksRUFBRSxNQUFNLCtCQUErQixDQUFDOztBQUUxRSxNQUFNLGtCQUFrQixHQUFHLENBQUMscUJBQXFCLEVBQUUsTUFBTSxFQUFFLE9BQU8sQ0FBQyxDQUFDO0FBaUJwRSxNQUFNLE9BQU8sYUFBYyxTQUFRLGFBQWE7SUFFOUMsWUFBWSxDQUFvQixFQUFFLENBQWEsRUFBWSxDQUFTLEVBQUUsUUFBa0I7UUFDdEYsS0FBSyxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUMsQ0FBQztRQURzQyxNQUFDLEdBQUQsQ0FBQyxDQUFRO1FBRWxFLG1CQUFtQixFQUFFLENBQUM7UUFDdEIsQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDO1FBQ1gsSUFBSSxDQUFDLEVBQUUsR0FBRyxDQUFDLENBQUMsYUFBYSxDQUFDO1FBQzFCLFlBQVksQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLEVBQUUsRUFBRSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUM7SUFDN0MsQ0FBQztJQUVELFFBQVE7UUFDTjs7OztXQUlHO1FBQ0gsV0FBVyxDQUFDLGFBQWEsRUFBRSxrQkFBa0IsQ0FBQyxDQUFDO0lBQ2pELENBQUM7SUFHRCxlQUFlLENBQUMsRUFBNEI7UUFDMUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLEVBQUUsRUFBRSxFQUFFLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDdkMsQ0FBQzs7OEhBdEJVLGFBQWE7a0hBQWIsYUFBYSw0TkFUYjtRQUNUO1lBQ0UsT0FBTyxFQUFFLGlCQUFpQjtZQUMxQixXQUFXLEVBQUUsYUFBYTtZQUMxQixLQUFLLEVBQUUsSUFBSTtTQUNaO0tBQ0YsaURBVFMsMkJBQTJCOzRGQVkxQixhQUFhO2tCQWZ6QixTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxpQkFBaUI7b0JBQzNCLGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNO29CQUMvQyxRQUFRLEVBQUUsMkJBQTJCO29CQUNyQyx1RUFBdUU7b0JBQ3ZFLE1BQU0sRUFBRSxrQkFBa0I7b0JBQzFCLFNBQVMsRUFBRTt3QkFDVDs0QkFDRSxPQUFPLEVBQUUsaUJBQWlCOzRCQUMxQixXQUFXLGVBQWU7NEJBQzFCLEtBQUssRUFBRSxJQUFJO3lCQUNaO3FCQUNGO29CQUNELFVBQVUsRUFBRSxJQUFJO2lCQUNqQjs2S0FxQkMsZUFBZTtzQkFEZCxZQUFZO3VCQUFDLFdBQVcsRUFBRSxDQUFDLGVBQWUsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgQ29tcG9uZW50LFxuICBFbGVtZW50UmVmLFxuICBFdmVudEVtaXR0ZXIsXG4gIEhvc3RMaXN0ZW5lcixcbiAgSW5qZWN0b3IsXG4gIE5nWm9uZSxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgdHlwZSB7IE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTkdfVkFMVUVfQUNDRVNTT1IgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBWYWx1ZUFjY2Vzc29yIH0gZnJvbSAnQGlvbmljL2FuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB0eXBlIHsgUmFkaW9Hcm91cENoYW5nZUV2ZW50RGV0YWlsLCBDb21wb25lbnRzIH0gZnJvbSAnQGlvbmljL2NvcmUvY29tcG9uZW50cyc7XG5pbXBvcnQgeyBkZWZpbmVDdXN0b21FbGVtZW50IH0gZnJvbSAnQGlvbmljL2NvcmUvY29tcG9uZW50cy9pb24tcmFkaW8tZ3JvdXAuanMnO1xuXG4vKipcbiAqIFZhbHVlIGFjY2Vzc29yIGNvbXBvbmVudHMgc2hvdWxkIG5vdCB1c2UgUHJveHlDbXBcbiAqIGFuZCBzaG91bGQgY2FsbCBkZWZpbmVDdXN0b21FbGVtZW50IGFuZCBwcm94eUlucHV0c1xuICogbWFudWFsbHkgaW5zdGVhZC4gVXNpbmcgYm90aCB0aGUgQFByb3h5Q21wIGFuZCBAQ29tcG9uZW50XG4gKiBkZWNvcmF0b3JzIGFuZCB1c2VFeGlzdGluZyAod2hlcmUgdXNlRXhpc3RpbmcgcmVmZXJzIHRvIHRoZVxuICogY2xhc3MpIGNhdXNlcyBuZy1wYWNrYWdyIHRvIG91dHB1dCBtdWx0aXBsZSBjb21wb25lbnQgdmFyaWFibGVzXG4gKiB3aGljaCBicmVha3MgdHJlZXNoYWtpbmcuXG4gKiBGb3IgZXhhbXBsZSwgdGhlIGZvbGxvd2luZyB3b3VsZCBiZSBnZW5lcmF0ZWQ6XG4gKiBsZXQgSW9uUmFkaW9Hcm91cCA9IElvblJhZGlvR3JvdXBfMSA9IGNsYXNzIElvblJhZGlvR3JvdXAgZXh0ZW5kcyBWYWx1ZUFjY2Vzc29yIHtcbiAqIEluc3RlYWQsIHdlIHdhbnQgb25seSB3YW50IHRoZSBjbGFzcyBnZW5lcmF0ZWQ6XG4gKiBjbGFzcyBJb25SYWRpb0dyb3VwIGV4dGVuZHMgVmFsdWVBY2Nlc3NvciB7XG4gKi9cbmltcG9ydCB7IHByb3h5SW5wdXRzLCBwcm94eU91dHB1dHMgfSBmcm9tICcuL2FuZ3VsYXItY29tcG9uZW50LWxpYi91dGlscyc7XG5cbmNvbnN0IFJBRElPX0dST1VQX0lOUFVUUyA9IFsnYWxsb3dFbXB0eVNlbGVjdGlvbicsICduYW1lJywgJ3ZhbHVlJ107XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2lvbi1yYWRpby1ncm91cCcsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFJBRElPX0dST1VQX0lOUFVUUyxcbiAgcHJvdmlkZXJzOiBbXG4gICAge1xuICAgICAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXG4gICAgICB1c2VFeGlzdGluZzogSW9uUmFkaW9Hcm91cCxcbiAgICAgIG11bHRpOiB0cnVlLFxuICAgIH0sXG4gIF0sXG4gIHN0YW5kYWxvbmU6IHRydWUsXG59KVxuZXhwb3J0IGNsYXNzIElvblJhZGlvR3JvdXAgZXh0ZW5kcyBWYWx1ZUFjY2Vzc29yIGltcGxlbWVudHMgT25Jbml0IHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUsIGluamVjdG9yOiBJbmplY3Rvcikge1xuICAgIHN1cGVyKGluamVjdG9yLCByKTtcbiAgICBkZWZpbmVDdXN0b21FbGVtZW50KCk7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICAgIHByb3h5T3V0cHV0cyh0aGlzLCB0aGlzLmVsLCBbJ2lvbkNoYW5nZSddKTtcbiAgfVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIC8qKlxuICAgICAqIERhdGEtYm91bmQgaW5wdXQgcHJvcGVydGllcyBhcmUgc2V0XG4gICAgICogYnkgQW5ndWxhciBhZnRlciB0aGUgY29uc3RydWN0b3IsIHNvXG4gICAgICogd2UgbmVlZCB0byBydW4gdGhlIHByb3h5IGluIG5nT25Jbml0LlxuICAgICAqL1xuICAgIHByb3h5SW5wdXRzKElvblJhZGlvR3JvdXAsIFJBRElPX0dST1VQX0lOUFVUUyk7XG4gIH1cblxuICBASG9zdExpc3RlbmVyKCdpb25DaGFuZ2UnLCBbJyRldmVudC50YXJnZXQnXSlcbiAgaGFuZGxlSW9uQ2hhbmdlKGVsOiBIVE1MSW9uUmFkaW9Hcm91cEVsZW1lbnQpOiB2b2lkIHtcbiAgICB0aGlzLmhhbmRsZVZhbHVlQ2hhbmdlKGVsLCBlbC52YWx1ZSk7XG4gIH1cbn1cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIElvblJhZGlvR3JvdXAgZXh0ZW5kcyBDb21wb25lbnRzLklvblJhZGlvR3JvdXAge1xuICAvKipcbiAgICogRW1pdHRlZCB3aGVuIHRoZSB2YWx1ZSBoYXMgY2hhbmdlZC5cbiAgICovXG4gIGlvbkNoYW5nZTogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PFJhZGlvR3JvdXBDaGFuZ2VFdmVudERldGFpbD4+O1xufVxuIl19
@@ -1,49 +1,39 @@
1
- import { __decorate } from "tslib";
2
- import { ChangeDetectionStrategy, Component, HostListener, forwardRef, } from '@angular/core';
3
- import { NG_VALUE_ACCESSOR } from '@angular/forms';
4
- import { ValueAccessor } from '@ionic/angular/common';
1
+ import { ChangeDetectionStrategy, Component } from '@angular/core';
5
2
  import { defineCustomElement } from '@ionic/core/components/ion-radio.js';
6
- import { ProxyCmp, proxyOutputs } from './angular-component-lib/utils';
7
- import * as i0 from "@angular/core";
8
- const RADIO_INPUTS = ['color', 'disabled', 'justify', 'labelPlacement', 'legacy', 'mode', 'name', 'value'];
9
3
  /**
10
- * Pulling the provider into an object and using PURE works
11
- * around an ng-packagr issue that causes
12
- * components with multiple decorators and
13
- * a provider to be re-assigned. This re-assignment
14
- * is not supported by Webpack and causes treeshaking
15
- * to not work on these kinds of components.
4
+ * Value accessor components should not use ProxyCmp
5
+ * and should call defineCustomElement and proxyInputs
6
+ * manually instead. Using both the @ProxyCmp and @Component
7
+ * decorators and useExisting (where useExisting refers to the
8
+ * class) causes ng-packagr to output multiple component variables
9
+ * which breaks treeshaking.
10
+ * For example, the following would be generated:
11
+ * let IonRadio = IonRadio_1 = class IonRadio {
12
+ * Instead, we want only want the class generated:
13
+ * class IonRadio {
16
14
  */
17
- const accessorProvider = {
18
- provide: NG_VALUE_ACCESSOR,
19
- useExisting: /*@__PURE__*/ forwardRef(() => IonRadio),
20
- multi: true,
21
- };
22
- let IonRadio = class IonRadio extends ValueAccessor {
23
- constructor(c, r, z, injector) {
24
- super(injector, r);
15
+ import { proxyInputs, proxyOutputs } from './angular-component-lib/utils';
16
+ import * as i0 from "@angular/core";
17
+ const RADIO_INPUTS = ['color', 'disabled', 'justify', 'labelPlacement', 'legacy', 'mode', 'name', 'value'];
18
+ export class IonRadio {
19
+ constructor(c, r, z) {
25
20
  this.z = z;
21
+ defineCustomElement();
26
22
  c.detach();
27
23
  this.el = r.nativeElement;
28
24
  proxyOutputs(this, this.el, ['ionFocus', 'ionBlur']);
29
25
  }
30
- handleIonSelect(el) {
26
+ ngOnInit() {
31
27
  /**
32
- * The `el` type is any to access the `checked` state property
33
- * that is not exposed on the type interface.
28
+ * Data-bound input properties are set
29
+ * by Angular after the constructor, so
30
+ * we need to run the proxy in ngOnInit.
34
31
  */
35
- this.handleValueChange(el, el.checked);
32
+ proxyInputs(IonRadio, RADIO_INPUTS);
36
33
  }
37
- };
38
- /** @nocollapse */ IonRadio.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: IonRadio, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }, { token: i0.Injector }], target: i0.ɵɵFactoryTarget.Component });
39
- /** @nocollapse */ IonRadio.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.12", type: IonRadio, isStandalone: true, selector: "ion-radio", inputs: { color: "color", disabled: "disabled", justify: "justify", labelPlacement: "labelPlacement", legacy: "legacy", mode: "mode", name: "name", value: "value" }, host: { listeners: { "ionSelect": "handleIonSelect($event.target)" } }, providers: [accessorProvider], usesInheritance: true, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
40
- IonRadio = __decorate([
41
- ProxyCmp({
42
- defineCustomElementFn: defineCustomElement,
43
- inputs: RADIO_INPUTS,
44
- })
45
- ], IonRadio);
46
- export { IonRadio };
34
+ }
35
+ /** @nocollapse */ IonRadio.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: IonRadio, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
36
+ /** @nocollapse */ IonRadio.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.12", type: IonRadio, isStandalone: true, selector: "ion-radio", inputs: { color: "color", disabled: "disabled", justify: "justify", labelPlacement: "labelPlacement", legacy: "legacy", mode: "mode", name: "name", value: "value" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
47
37
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: IonRadio, decorators: [{
48
38
  type: Component,
49
39
  args: [{
@@ -52,11 +42,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImpo
52
42
  template: '<ng-content></ng-content>',
53
43
  // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
54
44
  inputs: RADIO_INPUTS,
55
- providers: [accessorProvider],
56
45
  standalone: true,
57
46
  }]
58
- }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }, { type: i0.Injector }]; }, propDecorators: { handleIonSelect: [{
59
- type: HostListener,
60
- args: ['ionSelect', ['$event.target']]
61
- }] } });
62
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmFkaW8uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zdGFuZGFsb25lL3NyYy9kaXJlY3RpdmVzL3JhZGlvLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQ0wsdUJBQXVCLEVBRXZCLFNBQVMsRUFHVCxZQUFZLEVBR1osVUFBVSxHQUNYLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ25ELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUV0RCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQUUxRSxPQUFPLEVBQUUsUUFBUSxFQUFFLFlBQVksRUFBRSxNQUFNLCtCQUErQixDQUFDOztBQUV2RSxNQUFNLFlBQVksR0FBRyxDQUFDLE9BQU8sRUFBRSxVQUFVLEVBQUUsU0FBUyxFQUFFLGdCQUFnQixFQUFFLFFBQVEsRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLE9BQU8sQ0FBQyxDQUFDO0FBRTNHOzs7Ozs7O0dBT0c7QUFDSCxNQUFNLGdCQUFnQixHQUFHO0lBQ3ZCLE9BQU8sRUFBRSxpQkFBaUI7SUFDMUIsV0FBVyxFQUFFLGFBQWEsQ0FBQyxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsUUFBUSxDQUFDO0lBQ3JELEtBQUssRUFBRSxJQUFJO0NBQ1osQ0FBQztJQWVXLFFBQVEsU0FBUixRQUFTLFNBQVEsYUFBYTtJQUV6QyxZQUFZLENBQW9CLEVBQUUsQ0FBYSxFQUFZLENBQVMsRUFBRSxRQUFrQjtRQUN0RixLQUFLLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQyxDQUFDO1FBRHNDLE1BQUMsR0FBRCxDQUFDLENBQVE7UUFFbEUsQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDO1FBQ1gsSUFBSSxDQUFDLEVBQUUsR0FBRyxDQUFDLENBQUMsYUFBYSxDQUFDO1FBQzFCLFlBQVksQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLEVBQUUsRUFBRSxDQUFDLFVBQVUsRUFBRSxTQUFTLENBQUMsQ0FBQyxDQUFDO0lBQ3ZELENBQUM7SUFHRCxlQUFlLENBQUMsRUFBTztRQUNyQjs7O1dBR0c7UUFDSCxJQUFJLENBQUMsaUJBQWlCLENBQUMsRUFBRSxFQUFFLEVBQUUsQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUN6QyxDQUFDO0NBQ0YsQ0FBQTt5SEFqQlksUUFBUTs2R0FBUixRQUFRLHNTQUhSLENBQUMsZ0JBQWdCLENBQUMsaURBSG5CLDJCQUEyQjtBQU0xQixRQUFRO0lBYnBCLFFBQVEsQ0FBQztRQUNSLHFCQUFxQixFQUFFLG1CQUFtQjtRQUMxQyxNQUFNLEVBQUUsWUFBWTtLQUNyQixDQUFDO0dBVVcsUUFBUSxDQWlCcEI7U0FqQlksUUFBUTs0RkFBUixRQUFRO2tCQVRwQixTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxXQUFXO29CQUNyQixlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTtvQkFDL0MsUUFBUSxFQUFFLDJCQUEyQjtvQkFDckMsdUVBQXVFO29CQUN2RSxNQUFNLEVBQUUsWUFBWTtvQkFDcEIsU0FBUyxFQUFFLENBQUMsZ0JBQWdCLENBQUM7b0JBQzdCLFVBQVUsRUFBRSxJQUFJO2lCQUNqQjs2S0FXQyxlQUFlO3NCQURkLFlBQVk7dUJBQUMsV0FBVyxFQUFFLENBQUMsZUFBZSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENoYW5nZURldGVjdG9yUmVmLFxuICBDb21wb25lbnQsXG4gIEVsZW1lbnRSZWYsXG4gIEV2ZW50RW1pdHRlcixcbiAgSG9zdExpc3RlbmVyLFxuICBJbmplY3RvcixcbiAgTmdab25lLFxuICBmb3J3YXJkUmVmLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE5HX1ZBTFVFX0FDQ0VTU09SIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgVmFsdWVBY2Nlc3NvciB9IGZyb20gJ0Bpb25pYy9hbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgdHlwZSB7IENvbXBvbmVudHMgfSBmcm9tICdAaW9uaWMvY29yZS9jb21wb25lbnRzJztcbmltcG9ydCB7IGRlZmluZUN1c3RvbUVsZW1lbnQgfSBmcm9tICdAaW9uaWMvY29yZS9jb21wb25lbnRzL2lvbi1yYWRpby5qcyc7XG5cbmltcG9ydCB7IFByb3h5Q21wLCBwcm94eU91dHB1dHMgfSBmcm9tICcuL2FuZ3VsYXItY29tcG9uZW50LWxpYi91dGlscyc7XG5cbmNvbnN0IFJBRElPX0lOUFVUUyA9IFsnY29sb3InLCAnZGlzYWJsZWQnLCAnanVzdGlmeScsICdsYWJlbFBsYWNlbWVudCcsICdsZWdhY3knLCAnbW9kZScsICduYW1lJywgJ3ZhbHVlJ107XG5cbi8qKlxuICogUHVsbGluZyB0aGUgcHJvdmlkZXIgaW50byBhbiBvYmplY3QgYW5kIHVzaW5nIFBVUkUgd29ya3NcbiAqIGFyb3VuZCBhbiBuZy1wYWNrYWdyIGlzc3VlIHRoYXQgY2F1c2VzXG4gKiBjb21wb25lbnRzIHdpdGggbXVsdGlwbGUgZGVjb3JhdG9ycyBhbmRcbiAqIGEgcHJvdmlkZXIgdG8gYmUgcmUtYXNzaWduZWQuIFRoaXMgcmUtYXNzaWdubWVudFxuICogaXMgbm90IHN1cHBvcnRlZCBieSBXZWJwYWNrIGFuZCBjYXVzZXMgdHJlZXNoYWtpbmdcbiAqIHRvIG5vdCB3b3JrIG9uIHRoZXNlIGtpbmRzIG9mIGNvbXBvbmVudHMuXG4gKi9cbmNvbnN0IGFjY2Vzc29yUHJvdmlkZXIgPSB7XG4gIHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxuICB1c2VFeGlzdGluZzogLypAX19QVVJFX18qLyBmb3J3YXJkUmVmKCgpID0+IElvblJhZGlvKSxcbiAgbXVsdGk6IHRydWUsXG59O1xuXG5AUHJveHlDbXAoe1xuICBkZWZpbmVDdXN0b21FbGVtZW50Rm46IGRlZmluZUN1c3RvbUVsZW1lbnQsXG4gIGlucHV0czogUkFESU9fSU5QVVRTLFxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2lvbi1yYWRpbycsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFJBRElPX0lOUFVUUyxcbiAgcHJvdmlkZXJzOiBbYWNjZXNzb3JQcm92aWRlcl0sXG4gIHN0YW5kYWxvbmU6IHRydWUsXG59KVxuZXhwb3J0IGNsYXNzIElvblJhZGlvIGV4dGVuZHMgVmFsdWVBY2Nlc3NvciB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lLCBpbmplY3RvcjogSW5qZWN0b3IpIHtcbiAgICBzdXBlcihpbmplY3Rvciwgcik7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICAgIHByb3h5T3V0cHV0cyh0aGlzLCB0aGlzLmVsLCBbJ2lvbkZvY3VzJywgJ2lvbkJsdXInXSk7XG4gIH1cblxuICBASG9zdExpc3RlbmVyKCdpb25TZWxlY3QnLCBbJyRldmVudC50YXJnZXQnXSlcbiAgaGFuZGxlSW9uU2VsZWN0KGVsOiBhbnkpOiB2b2lkIHtcbiAgICAvKipcbiAgICAgKiBUaGUgYGVsYCB0eXBlIGlzIGFueSB0byBhY2Nlc3MgdGhlIGBjaGVja2VkYCBzdGF0ZSBwcm9wZXJ0eVxuICAgICAqIHRoYXQgaXMgbm90IGV4cG9zZWQgb24gdGhlIHR5cGUgaW50ZXJmYWNlLlxuICAgICAqL1xuICAgIHRoaXMuaGFuZGxlVmFsdWVDaGFuZ2UoZWwsIGVsLmNoZWNrZWQpO1xuICB9XG59XG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBJb25SYWRpbyBleHRlbmRzIENvbXBvbmVudHMuSW9uUmFkaW8ge1xuICAvKipcbiAgICogRW1pdHRlZCB3aGVuIHRoZSByYWRpbyBidXR0b24gaGFzIGZvY3VzLlxuICAgKi9cbiAgaW9uRm9jdXM6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDx2b2lkPj47XG4gIC8qKlxuICAgKiBFbWl0dGVkIHdoZW4gdGhlIHJhZGlvIGJ1dHRvbiBsb3NlcyBmb2N1cy5cbiAgICovXG4gIGlvbkJsdXI6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDx2b2lkPj47XG59XG4iXX0=
47
+ }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }]; } });
48
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmFkaW8uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zdGFuZGFsb25lL3NyYy9kaXJlY3RpdmVzL3JhZGlvLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBcUIsU0FBUyxFQUFvQyxNQUFNLGVBQWUsQ0FBQztBQUd4SCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQUUxRTs7Ozs7Ozs7Ozs7R0FXRztBQUNILE9BQU8sRUFBRSxXQUFXLEVBQUUsWUFBWSxFQUFFLE1BQU0sK0JBQStCLENBQUM7O0FBRTFFLE1BQU0sWUFBWSxHQUFHLENBQUMsT0FBTyxFQUFFLFVBQVUsRUFBRSxTQUFTLEVBQUUsZ0JBQWdCLEVBQUUsUUFBUSxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsT0FBTyxDQUFDLENBQUM7QUFVM0csTUFBTSxPQUFPLFFBQVE7SUFFbkIsWUFBWSxDQUFvQixFQUFFLENBQWEsRUFBWSxDQUFTO1FBQVQsTUFBQyxHQUFELENBQUMsQ0FBUTtRQUNsRSxtQkFBbUIsRUFBRSxDQUFDO1FBQ3RCLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQztRQUNYLElBQUksQ0FBQyxFQUFFLEdBQUcsQ0FBQyxDQUFDLGFBQWEsQ0FBQztRQUMxQixZQUFZLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxFQUFFLEVBQUUsQ0FBQyxVQUFVLEVBQUUsU0FBUyxDQUFDLENBQUMsQ0FBQztJQUN2RCxDQUFDO0lBRUQsUUFBUTtRQUNOOzs7O1dBSUc7UUFDSCxXQUFXLENBQUMsUUFBUSxFQUFFLFlBQVksQ0FBQyxDQUFDO0lBQ3RDLENBQUM7O3lIQWhCVSxRQUFROzZHQUFSLFFBQVEsMk9BTFQsMkJBQTJCOzRGQUsxQixRQUFRO2tCQVJwQixTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxXQUFXO29CQUNyQixlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTtvQkFDL0MsUUFBUSxFQUFFLDJCQUEyQjtvQkFDckMsdUVBQXVFO29CQUN2RSxNQUFNLEVBQUUsWUFBWTtvQkFDcEIsVUFBVSxFQUFFLElBQUk7aUJBQ2pCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENoYW5nZURldGVjdG9yUmVmLCBDb21wb25lbnQsIEVsZW1lbnRSZWYsIEV2ZW50RW1pdHRlciwgTmdab25lIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgdHlwZSB7IE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHR5cGUgeyBDb21wb25lbnRzIH0gZnJvbSAnQGlvbmljL2NvcmUvY29tcG9uZW50cyc7XG5pbXBvcnQgeyBkZWZpbmVDdXN0b21FbGVtZW50IH0gZnJvbSAnQGlvbmljL2NvcmUvY29tcG9uZW50cy9pb24tcmFkaW8uanMnO1xuXG4vKipcbiAqIFZhbHVlIGFjY2Vzc29yIGNvbXBvbmVudHMgc2hvdWxkIG5vdCB1c2UgUHJveHlDbXBcbiAqIGFuZCBzaG91bGQgY2FsbCBkZWZpbmVDdXN0b21FbGVtZW50IGFuZCBwcm94eUlucHV0c1xuICogbWFudWFsbHkgaW5zdGVhZC4gVXNpbmcgYm90aCB0aGUgQFByb3h5Q21wIGFuZCBAQ29tcG9uZW50XG4gKiBkZWNvcmF0b3JzIGFuZCB1c2VFeGlzdGluZyAod2hlcmUgdXNlRXhpc3RpbmcgcmVmZXJzIHRvIHRoZVxuICogY2xhc3MpIGNhdXNlcyBuZy1wYWNrYWdyIHRvIG91dHB1dCBtdWx0aXBsZSBjb21wb25lbnQgdmFyaWFibGVzXG4gKiB3aGljaCBicmVha3MgdHJlZXNoYWtpbmcuXG4gKiBGb3IgZXhhbXBsZSwgdGhlIGZvbGxvd2luZyB3b3VsZCBiZSBnZW5lcmF0ZWQ6XG4gKiBsZXQgSW9uUmFkaW8gPSBJb25SYWRpb18xID0gY2xhc3MgSW9uUmFkaW8ge1xuICogSW5zdGVhZCwgd2Ugd2FudCBvbmx5IHdhbnQgdGhlIGNsYXNzIGdlbmVyYXRlZDpcbiAqIGNsYXNzIElvblJhZGlvIHtcbiAqL1xuaW1wb3J0IHsgcHJveHlJbnB1dHMsIHByb3h5T3V0cHV0cyB9IGZyb20gJy4vYW5ndWxhci1jb21wb25lbnQtbGliL3V0aWxzJztcblxuY29uc3QgUkFESU9fSU5QVVRTID0gWydjb2xvcicsICdkaXNhYmxlZCcsICdqdXN0aWZ5JywgJ2xhYmVsUGxhY2VtZW50JywgJ2xlZ2FjeScsICdtb2RlJywgJ25hbWUnLCAndmFsdWUnXTtcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnaW9uLXJhZGlvJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogUkFESU9fSU5QVVRTLFxuICBzdGFuZGFsb25lOiB0cnVlLFxufSlcbmV4cG9ydCBjbGFzcyBJb25SYWRpbyBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgZGVmaW5lQ3VzdG9tRWxlbWVudCgpO1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgICBwcm94eU91dHB1dHModGhpcywgdGhpcy5lbCwgWydpb25Gb2N1cycsICdpb25CbHVyJ10pO1xuICB9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgLyoqXG4gICAgICogRGF0YS1ib3VuZCBpbnB1dCBwcm9wZXJ0aWVzIGFyZSBzZXRcbiAgICAgKiBieSBBbmd1bGFyIGFmdGVyIHRoZSBjb25zdHJ1Y3Rvciwgc29cbiAgICAgKiB3ZSBuZWVkIHRvIHJ1biB0aGUgcHJveHkgaW4gbmdPbkluaXQuXG4gICAgICovXG4gICAgcHJveHlJbnB1dHMoSW9uUmFkaW8sIFJBRElPX0lOUFVUUyk7XG4gIH1cbn1cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIElvblJhZGlvIGV4dGVuZHMgQ29tcG9uZW50cy5Jb25SYWRpbyB7XG4gIC8qKlxuICAgKiBFbWl0dGVkIHdoZW4gdGhlIHJhZGlvIGJ1dHRvbiBoYXMgZm9jdXMuXG4gICAqL1xuICBpb25Gb2N1czogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PHZvaWQ+PjtcbiAgLyoqXG4gICAqIEVtaXR0ZWQgd2hlbiB0aGUgcmFkaW8gYnV0dG9uIGxvc2VzIGZvY3VzLlxuICAgKi9cbiAgaW9uQmx1cjogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PHZvaWQ+Pjtcbn1cbiJdfQ==
@@ -1,9 +1,20 @@
1
- import { __decorate } from "tslib";
2
- import { ChangeDetectionStrategy, Component, HostListener, forwardRef, } from '@angular/core';
1
+ import { ChangeDetectionStrategy, Component, HostListener, } from '@angular/core';
3
2
  import { NG_VALUE_ACCESSOR } from '@angular/forms';
4
3
  import { ValueAccessor } from '@ionic/angular/common';
5
4
  import { defineCustomElement } from '@ionic/core/components/ion-range.js';
6
- import { ProxyCmp, proxyOutputs } from './angular-component-lib/utils';
5
+ /**
6
+ * Value accessor components should not use ProxyCmp
7
+ * and should call defineCustomElement and proxyInputs
8
+ * manually instead. Using both the @ProxyCmp and @Component
9
+ * decorators and useExisting (where useExisting refers to the
10
+ * class) causes ng-packagr to output multiple component variables
11
+ * which breaks treeshaking.
12
+ * For example, the following would be generated:
13
+ * let IonRange = IonRange_1 = class IonRange extends ValueAccessor {
14
+ * Instead, we want only want the class generated:
15
+ * class IonRange extends ValueAccessor {
16
+ */
17
+ import { proxyInputs, proxyOutputs } from './angular-component-lib/utils';
7
18
  import * as i0 from "@angular/core";
8
19
  const RANGE_INPUTS = [
9
20
  'activeBarStart',
@@ -25,40 +36,35 @@ const RANGE_INPUTS = [
25
36
  'ticks',
26
37
  'value',
27
38
  ];
28
- /**
29
- * Pulling the provider into an object and using PURE works
30
- * around an ng-packagr issue that causes
31
- * components with multiple decorators and
32
- * a provider to be re-assigned. This re-assignment
33
- * is not supported by Webpack and causes treeshaking
34
- * to not work on these kinds of components.
35
- */
36
- const accessorProvider = {
37
- provide: NG_VALUE_ACCESSOR,
38
- useExisting: /*@__PURE__*/ forwardRef(() => IonRange),
39
- multi: true,
40
- };
41
- let IonRange = class IonRange extends ValueAccessor {
39
+ export class IonRange extends ValueAccessor {
42
40
  constructor(c, r, z, injector) {
43
41
  super(injector, r);
44
42
  this.z = z;
43
+ defineCustomElement();
45
44
  c.detach();
46
45
  this.el = r.nativeElement;
47
46
  proxyOutputs(this, this.el, ['ionChange', 'ionInput', 'ionFocus', 'ionBlur', 'ionKnobMoveStart', 'ionKnobMoveEnd']);
48
47
  }
48
+ ngOnInit() {
49
+ /**
50
+ * Data-bound input properties are set
51
+ * by Angular after the constructor, so
52
+ * we need to run the proxy in ngOnInit.
53
+ */
54
+ proxyInputs(IonRange, RANGE_INPUTS);
55
+ }
49
56
  handleIonChange(el) {
50
57
  this.handleValueChange(el, el.value);
51
58
  }
52
- };
59
+ }
53
60
  /** @nocollapse */ IonRange.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: IonRange, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }, { token: i0.Injector }], target: i0.ɵɵFactoryTarget.Component });
54
- /** @nocollapse */ IonRange.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.12", type: IonRange, isStandalone: true, selector: "ion-range", inputs: { activeBarStart: "activeBarStart", color: "color", debounce: "debounce", disabled: "disabled", dualKnobs: "dualKnobs", label: "label", labelPlacement: "labelPlacement", legacy: "legacy", max: "max", min: "min", mode: "mode", name: "name", pin: "pin", pinFormatter: "pinFormatter", snaps: "snaps", step: "step", ticks: "ticks", value: "value" }, host: { listeners: { "ionChange": "handleIonChange($event.target)" } }, providers: [accessorProvider], usesInheritance: true, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
55
- IonRange = __decorate([
56
- ProxyCmp({
57
- defineCustomElementFn: defineCustomElement,
58
- inputs: RANGE_INPUTS,
59
- })
60
- ], IonRange);
61
- export { IonRange };
61
+ /** @nocollapse */ IonRange.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.12", type: IonRange, isStandalone: true, selector: "ion-range", inputs: { activeBarStart: "activeBarStart", color: "color", debounce: "debounce", disabled: "disabled", dualKnobs: "dualKnobs", label: "label", labelPlacement: "labelPlacement", legacy: "legacy", max: "max", min: "min", mode: "mode", name: "name", pin: "pin", pinFormatter: "pinFormatter", snaps: "snaps", step: "step", ticks: "ticks", value: "value" }, host: { listeners: { "ionChange": "handleIonChange($event.target)" } }, providers: [
62
+ {
63
+ provide: NG_VALUE_ACCESSOR,
64
+ useExisting: IonRange,
65
+ multi: true,
66
+ },
67
+ ], usesInheritance: true, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
62
68
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: IonRange, decorators: [{
63
69
  type: Component,
64
70
  args: [{
@@ -67,11 +73,17 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImpo
67
73
  template: '<ng-content></ng-content>',
68
74
  // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
69
75
  inputs: RANGE_INPUTS,
70
- providers: [accessorProvider],
76
+ providers: [
77
+ {
78
+ provide: NG_VALUE_ACCESSOR,
79
+ useExisting: IonRange,
80
+ multi: true,
81
+ },
82
+ ],
71
83
  standalone: true,
72
84
  }]
73
85
  }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }, { type: i0.Injector }]; }, propDecorators: { handleIonChange: [{
74
86
  type: HostListener,
75
87
  args: ['ionChange', ['$event.target']]
76
88
  }] } });
77
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmFuZ2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zdGFuZGFsb25lL3NyYy9kaXJlY3RpdmVzL3JhbmdlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQ0wsdUJBQXVCLEVBRXZCLFNBQVMsRUFHVCxZQUFZLEVBR1osVUFBVSxHQUNYLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ25ELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQU90RCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQUUxRSxPQUFPLEVBQUUsUUFBUSxFQUFFLFlBQVksRUFBRSxNQUFNLCtCQUErQixDQUFDOztBQUV2RSxNQUFNLFlBQVksR0FBRztJQUNuQixnQkFBZ0I7SUFDaEIsT0FBTztJQUNQLFVBQVU7SUFDVixVQUFVO0lBQ1YsV0FBVztJQUNYLE9BQU87SUFDUCxnQkFBZ0I7SUFDaEIsUUFBUTtJQUNSLEtBQUs7SUFDTCxLQUFLO0lBQ0wsTUFBTTtJQUNOLE1BQU07SUFDTixLQUFLO0lBQ0wsY0FBYztJQUNkLE9BQU87SUFDUCxNQUFNO0lBQ04sT0FBTztJQUNQLE9BQU87Q0FDUixDQUFDO0FBRUY7Ozs7Ozs7R0FPRztBQUNILE1BQU0sZ0JBQWdCLEdBQUc7SUFDdkIsT0FBTyxFQUFFLGlCQUFpQjtJQUMxQixXQUFXLEVBQUUsYUFBYSxDQUFDLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxRQUFRLENBQUM7SUFDckQsS0FBSyxFQUFFLElBQUk7Q0FDWixDQUFDO0lBZVcsUUFBUSxTQUFSLFFBQVMsU0FBUSxhQUFhO0lBRXpDLFlBQVksQ0FBb0IsRUFBRSxDQUFhLEVBQVksQ0FBUyxFQUFFLFFBQWtCO1FBQ3RGLEtBQUssQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFEc0MsTUFBQyxHQUFELENBQUMsQ0FBUTtRQUVsRSxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUM7UUFDWCxJQUFJLENBQUMsRUFBRSxHQUFHLENBQUMsQ0FBQyxhQUFhLENBQUM7UUFDMUIsWUFBWSxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsRUFBRSxFQUFFLENBQUMsV0FBVyxFQUFFLFVBQVUsRUFBRSxVQUFVLEVBQUUsU0FBUyxFQUFFLGtCQUFrQixFQUFFLGdCQUFnQixDQUFDLENBQUMsQ0FBQztJQUN0SCxDQUFDO0lBR0QsZUFBZSxDQUFDLEVBQXVCO1FBQ3JDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxFQUFFLEVBQUUsRUFBRSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3ZDLENBQUM7Q0FDRixDQUFBO3lIQWJZLFFBQVE7NkdBQVIsUUFBUSxrZUFIUixDQUFDLGdCQUFnQixDQUFDLGlEQUhuQiwyQkFBMkI7QUFNMUIsUUFBUTtJQWJwQixRQUFRLENBQUM7UUFDUixxQkFBcUIsRUFBRSxtQkFBbUI7UUFDMUMsTUFBTSxFQUFFLFlBQVk7S0FDckIsQ0FBQztHQVVXLFFBQVEsQ0FhcEI7U0FiWSxRQUFROzRGQUFSLFFBQVE7a0JBVHBCLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLFdBQVc7b0JBQ3JCLGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNO29CQUMvQyxRQUFRLEVBQUUsMkJBQTJCO29CQUNyQyx1RUFBdUU7b0JBQ3ZFLE1BQU0sRUFBRSxZQUFZO29CQUNwQixTQUFTLEVBQUUsQ0FBQyxnQkFBZ0IsQ0FBQztvQkFDN0IsVUFBVSxFQUFFLElBQUk7aUJBQ2pCOzZLQVdDLGVBQWU7c0JBRGQsWUFBWTt1QkFBQyxXQUFXLEVBQUUsQ0FBQyxlQUFlLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gIENvbXBvbmVudCxcbiAgRWxlbWVudFJlZixcbiAgRXZlbnRFbWl0dGVyLFxuICBIb3N0TGlzdGVuZXIsXG4gIEluamVjdG9yLFxuICBOZ1pvbmUsXG4gIGZvcndhcmRSZWYsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTkdfVkFMVUVfQUNDRVNTT1IgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBWYWx1ZUFjY2Vzc29yIH0gZnJvbSAnQGlvbmljL2FuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB0eXBlIHtcbiAgUmFuZ2VDaGFuZ2VFdmVudERldGFpbCxcbiAgUmFuZ2VLbm9iTW92ZVN0YXJ0RXZlbnREZXRhaWwsXG4gIFJhbmdlS25vYk1vdmVFbmRFdmVudERldGFpbCxcbiAgQ29tcG9uZW50cyxcbn0gZnJvbSAnQGlvbmljL2NvcmUvY29tcG9uZW50cyc7XG5pbXBvcnQgeyBkZWZpbmVDdXN0b21FbGVtZW50IH0gZnJvbSAnQGlvbmljL2NvcmUvY29tcG9uZW50cy9pb24tcmFuZ2UuanMnO1xuXG5pbXBvcnQgeyBQcm94eUNtcCwgcHJveHlPdXRwdXRzIH0gZnJvbSAnLi9hbmd1bGFyLWNvbXBvbmVudC1saWIvdXRpbHMnO1xuXG5jb25zdCBSQU5HRV9JTlBVVFMgPSBbXG4gICdhY3RpdmVCYXJTdGFydCcsXG4gICdjb2xvcicsXG4gICdkZWJvdW5jZScsXG4gICdkaXNhYmxlZCcsXG4gICdkdWFsS25vYnMnLFxuICAnbGFiZWwnLFxuICAnbGFiZWxQbGFjZW1lbnQnLFxuICAnbGVnYWN5JyxcbiAgJ21heCcsXG4gICdtaW4nLFxuICAnbW9kZScsXG4gICduYW1lJyxcbiAgJ3BpbicsXG4gICdwaW5Gb3JtYXR0ZXInLFxuICAnc25hcHMnLFxuICAnc3RlcCcsXG4gICd0aWNrcycsXG4gICd2YWx1ZScsXG5dO1xuXG4vKipcbiAqIFB1bGxpbmcgdGhlIHByb3ZpZGVyIGludG8gYW4gb2JqZWN0IGFuZCB1c2luZyBQVVJFIHdvcmtzXG4gKiBhcm91bmQgYW4gbmctcGFja2FnciBpc3N1ZSB0aGF0IGNhdXNlc1xuICogY29tcG9uZW50cyB3aXRoIG11bHRpcGxlIGRlY29yYXRvcnMgYW5kXG4gKiBhIHByb3ZpZGVyIHRvIGJlIHJlLWFzc2lnbmVkLiBUaGlzIHJlLWFzc2lnbm1lbnRcbiAqIGlzIG5vdCBzdXBwb3J0ZWQgYnkgV2VicGFjayBhbmQgY2F1c2VzIHRyZWVzaGFraW5nXG4gKiB0byBub3Qgd29yayBvbiB0aGVzZSBraW5kcyBvZiBjb21wb25lbnRzLlxuICovXG5jb25zdCBhY2Nlc3NvclByb3ZpZGVyID0ge1xuICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcbiAgdXNlRXhpc3Rpbmc6IC8qQF9fUFVSRV9fKi8gZm9yd2FyZFJlZigoKSA9PiBJb25SYW5nZSksXG4gIG11bHRpOiB0cnVlLFxufTtcblxuQFByb3h5Q21wKHtcbiAgZGVmaW5lQ3VzdG9tRWxlbWVudEZuOiBkZWZpbmVDdXN0b21FbGVtZW50LFxuICBpbnB1dHM6IFJBTkdFX0lOUFVUUyxcbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdpb24tcmFuZ2UnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBSQU5HRV9JTlBVVFMsXG4gIHByb3ZpZGVyczogW2FjY2Vzc29yUHJvdmlkZXJdLFxuICBzdGFuZGFsb25lOiB0cnVlLFxufSlcbmV4cG9ydCBjbGFzcyBJb25SYW5nZSBleHRlbmRzIFZhbHVlQWNjZXNzb3Ige1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSwgaW5qZWN0b3I6IEluamVjdG9yKSB7XG4gICAgc3VwZXIoaW5qZWN0b3IsIHIpO1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgICBwcm94eU91dHB1dHModGhpcywgdGhpcy5lbCwgWydpb25DaGFuZ2UnLCAnaW9uSW5wdXQnLCAnaW9uRm9jdXMnLCAnaW9uQmx1cicsICdpb25Lbm9iTW92ZVN0YXJ0JywgJ2lvbktub2JNb3ZlRW5kJ10pO1xuICB9XG5cbiAgQEhvc3RMaXN0ZW5lcignaW9uQ2hhbmdlJywgWyckZXZlbnQudGFyZ2V0J10pXG4gIGhhbmRsZUlvbkNoYW5nZShlbDogSFRNTElvblJhbmdlRWxlbWVudCk6IHZvaWQge1xuICAgIHRoaXMuaGFuZGxlVmFsdWVDaGFuZ2UoZWwsIGVsLnZhbHVlKTtcbiAgfVxufVxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgSW9uUmFuZ2UgZXh0ZW5kcyBDb21wb25lbnRzLklvblJhbmdlIHtcbiAgLyoqXG4gICAqIFRoZSBgaW9uQ2hhbmdlYCBldmVudCBpcyBmaXJlZCBmb3IgYDxpb24tcmFuZ2U+YCBlbGVtZW50cyB3aGVuIHRoZSB1c2VyXG5tb2RpZmllcyB0aGUgZWxlbWVudCdzIHZhbHVlOlxuLSBXaGVuIHRoZSB1c2VyIHJlbGVhc2VzIHRoZSBrbm9iIGFmdGVyIGRyYWdnaW5nO1xuLSBXaGVuIHRoZSB1c2VyIG1vdmVzIHRoZSBrbm9iIHdpdGgga2V5Ym9hcmQgYXJyb3dzXG5cbmBpb25DaGFuZ2VgIGlzIG5vdCBmaXJlZCB3aGVuIHRoZSB2YWx1ZSBpcyBjaGFuZ2VkIHByb2dyYW1tYXRpY2FsbHkuXG4gICAqL1xuICBpb25DaGFuZ2U6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxSYW5nZUNoYW5nZUV2ZW50RGV0YWlsPj47XG4gIC8qKlxuICAgKiBUaGUgYGlvbklucHV0YCBldmVudCBpcyBmaXJlZCBmb3IgYDxpb24tcmFuZ2U+YCBlbGVtZW50cyB3aGVuIHRoZSB2YWx1ZVxuaXMgbW9kaWZpZWQuIFVubGlrZSBgaW9uQ2hhbmdlYCwgYGlvbklucHV0YCBpcyBmaXJlZCBjb250aW51b3VzbHlcbndoaWxlIHRoZSB1c2VyIGlzIGRyYWdnaW5nIHRoZSBrbm9iLlxuICAgKi9cbiAgaW9uSW5wdXQ6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxSYW5nZUNoYW5nZUV2ZW50RGV0YWlsPj47XG4gIC8qKlxuICAgKiBFbWl0dGVkIHdoZW4gdGhlIHJhbmdlIGhhcyBmb2N1cy5cbiAgICovXG4gIGlvbkZvY3VzOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8dm9pZD4+O1xuICAvKipcbiAgICogRW1pdHRlZCB3aGVuIHRoZSByYW5nZSBsb3NlcyBmb2N1cy5cbiAgICovXG4gIGlvbkJsdXI6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDx2b2lkPj47XG4gIC8qKlxuICAgKiBFbWl0dGVkIHdoZW4gdGhlIHVzZXIgc3RhcnRzIG1vdmluZyB0aGUgcmFuZ2Uga25vYiwgd2hldGhlciB0aHJvdWdoXG5tb3VzZSBkcmFnLCB0b3VjaCBnZXN0dXJlLCBvciBrZXlib2FyZCBpbnRlcmFjdGlvbi5cbiAgICovXG4gIGlvbktub2JNb3ZlU3RhcnQ6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxSYW5nZUtub2JNb3ZlU3RhcnRFdmVudERldGFpbD4+O1xuICAvKipcbiAgICogRW1pdHRlZCB3aGVuIHRoZSB1c2VyIGZpbmlzaGVzIG1vdmluZyB0aGUgcmFuZ2Uga25vYiwgd2hldGhlciB0aHJvdWdoXG5tb3VzZSBkcmFnLCB0b3VjaCBnZXN0dXJlLCBvciBrZXlib2FyZCBpbnRlcmFjdGlvbi5cbiAgICovXG4gIGlvbktub2JNb3ZlRW5kOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8UmFuZ2VLbm9iTW92ZUVuZEV2ZW50RGV0YWlsPj47XG59XG4iXX0=
89
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmFuZ2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zdGFuZGFsb25lL3NyYy9kaXJlY3RpdmVzL3JhbmdlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCx1QkFBdUIsRUFFdkIsU0FBUyxFQUdULFlBQVksR0FHYixNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNuRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFPdEQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFFMUU7Ozs7Ozs7Ozs7O0dBV0c7QUFDSCxPQUFPLEVBQUUsV0FBVyxFQUFFLFlBQVksRUFBRSxNQUFNLCtCQUErQixDQUFDOztBQUUxRSxNQUFNLFlBQVksR0FBRztJQUNuQixnQkFBZ0I7SUFDaEIsT0FBTztJQUNQLFVBQVU7SUFDVixVQUFVO0lBQ1YsV0FBVztJQUNYLE9BQU87SUFDUCxnQkFBZ0I7SUFDaEIsUUFBUTtJQUNSLEtBQUs7SUFDTCxLQUFLO0lBQ0wsTUFBTTtJQUNOLE1BQU07SUFDTixLQUFLO0lBQ0wsY0FBYztJQUNkLE9BQU87SUFDUCxNQUFNO0lBQ04sT0FBTztJQUNQLE9BQU87Q0FDUixDQUFDO0FBaUJGLE1BQU0sT0FBTyxRQUFTLFNBQVEsYUFBYTtJQUV6QyxZQUFZLENBQW9CLEVBQUUsQ0FBYSxFQUFZLENBQVMsRUFBRSxRQUFrQjtRQUN0RixLQUFLLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQyxDQUFDO1FBRHNDLE1BQUMsR0FBRCxDQUFDLENBQVE7UUFFbEUsbUJBQW1CLEVBQUUsQ0FBQztRQUN0QixDQUFDLENBQUMsTUFBTSxFQUFFLENBQUM7UUFDWCxJQUFJLENBQUMsRUFBRSxHQUFHLENBQUMsQ0FBQyxhQUFhLENBQUM7UUFDMUIsWUFBWSxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsRUFBRSxFQUFFLENBQUMsV0FBVyxFQUFFLFVBQVUsRUFBRSxVQUFVLEVBQUUsU0FBUyxFQUFFLGtCQUFrQixFQUFFLGdCQUFnQixDQUFDLENBQUMsQ0FBQztJQUN0SCxDQUFDO0lBRUQsUUFBUTtRQUNOOzs7O1dBSUc7UUFDSCxXQUFXLENBQUMsUUFBUSxFQUFFLFlBQVksQ0FBQyxDQUFDO0lBQ3RDLENBQUM7SUFHRCxlQUFlLENBQUMsRUFBdUI7UUFDckMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLEVBQUUsRUFBRSxFQUFFLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDdkMsQ0FBQzs7eUhBdEJVLFFBQVE7NkdBQVIsUUFBUSxrZUFUUjtRQUNUO1lBQ0UsT0FBTyxFQUFFLGlCQUFpQjtZQUMxQixXQUFXLEVBQUUsUUFBUTtZQUNyQixLQUFLLEVBQUUsSUFBSTtTQUNaO0tBQ0YsaURBVFMsMkJBQTJCOzRGQVkxQixRQUFRO2tCQWZwQixTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxXQUFXO29CQUNyQixlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTtvQkFDL0MsUUFBUSxFQUFFLDJCQUEyQjtvQkFDckMsdUVBQXVFO29CQUN2RSxNQUFNLEVBQUUsWUFBWTtvQkFDcEIsU0FBUyxFQUFFO3dCQUNUOzRCQUNFLE9BQU8sRUFBRSxpQkFBaUI7NEJBQzFCLFdBQVcsVUFBVTs0QkFDckIsS0FBSyxFQUFFLElBQUk7eUJBQ1o7cUJBQ0Y7b0JBQ0QsVUFBVSxFQUFFLElBQUk7aUJBQ2pCOzZLQXFCQyxlQUFlO3NCQURkLFlBQVk7dUJBQUMsV0FBVyxFQUFFLENBQUMsZUFBZSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENoYW5nZURldGVjdG9yUmVmLFxuICBDb21wb25lbnQsXG4gIEVsZW1lbnRSZWYsXG4gIEV2ZW50RW1pdHRlcixcbiAgSG9zdExpc3RlbmVyLFxuICBJbmplY3RvcixcbiAgTmdab25lLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB0eXBlIHsgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBOR19WQUxVRV9BQ0NFU1NPUiB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IFZhbHVlQWNjZXNzb3IgfSBmcm9tICdAaW9uaWMvYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHR5cGUge1xuICBSYW5nZUNoYW5nZUV2ZW50RGV0YWlsLFxuICBSYW5nZUtub2JNb3ZlU3RhcnRFdmVudERldGFpbCxcbiAgUmFuZ2VLbm9iTW92ZUVuZEV2ZW50RGV0YWlsLFxuICBDb21wb25lbnRzLFxufSBmcm9tICdAaW9uaWMvY29yZS9jb21wb25lbnRzJztcbmltcG9ydCB7IGRlZmluZUN1c3RvbUVsZW1lbnQgfSBmcm9tICdAaW9uaWMvY29yZS9jb21wb25lbnRzL2lvbi1yYW5nZS5qcyc7XG5cbi8qKlxuICogVmFsdWUgYWNjZXNzb3IgY29tcG9uZW50cyBzaG91bGQgbm90IHVzZSBQcm94eUNtcFxuICogYW5kIHNob3VsZCBjYWxsIGRlZmluZUN1c3RvbUVsZW1lbnQgYW5kIHByb3h5SW5wdXRzXG4gKiBtYW51YWxseSBpbnN0ZWFkLiBVc2luZyBib3RoIHRoZSBAUHJveHlDbXAgYW5kIEBDb21wb25lbnRcbiAqIGRlY29yYXRvcnMgYW5kIHVzZUV4aXN0aW5nICh3aGVyZSB1c2VFeGlzdGluZyByZWZlcnMgdG8gdGhlXG4gKiBjbGFzcykgY2F1c2VzIG5nLXBhY2thZ3IgdG8gb3V0cHV0IG11bHRpcGxlIGNvbXBvbmVudCB2YXJpYWJsZXNcbiAqIHdoaWNoIGJyZWFrcyB0cmVlc2hha2luZy5cbiAqIEZvciBleGFtcGxlLCB0aGUgZm9sbG93aW5nIHdvdWxkIGJlIGdlbmVyYXRlZDpcbiAqIGxldCBJb25SYW5nZSA9IElvblJhbmdlXzEgPSBjbGFzcyBJb25SYW5nZSBleHRlbmRzIFZhbHVlQWNjZXNzb3Ige1xuICogSW5zdGVhZCwgd2Ugd2FudCBvbmx5IHdhbnQgdGhlIGNsYXNzIGdlbmVyYXRlZDpcbiAqIGNsYXNzIElvblJhbmdlIGV4dGVuZHMgVmFsdWVBY2Nlc3NvciB7XG4gKi9cbmltcG9ydCB7IHByb3h5SW5wdXRzLCBwcm94eU91dHB1dHMgfSBmcm9tICcuL2FuZ3VsYXItY29tcG9uZW50LWxpYi91dGlscyc7XG5cbmNvbnN0IFJBTkdFX0lOUFVUUyA9IFtcbiAgJ2FjdGl2ZUJhclN0YXJ0JyxcbiAgJ2NvbG9yJyxcbiAgJ2RlYm91bmNlJyxcbiAgJ2Rpc2FibGVkJyxcbiAgJ2R1YWxLbm9icycsXG4gICdsYWJlbCcsXG4gICdsYWJlbFBsYWNlbWVudCcsXG4gICdsZWdhY3knLFxuICAnbWF4JyxcbiAgJ21pbicsXG4gICdtb2RlJyxcbiAgJ25hbWUnLFxuICAncGluJyxcbiAgJ3BpbkZvcm1hdHRlcicsXG4gICdzbmFwcycsXG4gICdzdGVwJyxcbiAgJ3RpY2tzJyxcbiAgJ3ZhbHVlJyxcbl07XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2lvbi1yYW5nZScsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFJBTkdFX0lOUFVUUyxcbiAgcHJvdmlkZXJzOiBbXG4gICAge1xuICAgICAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXG4gICAgICB1c2VFeGlzdGluZzogSW9uUmFuZ2UsXG4gICAgICBtdWx0aTogdHJ1ZSxcbiAgICB9LFxuICBdLFxuICBzdGFuZGFsb25lOiB0cnVlLFxufSlcbmV4cG9ydCBjbGFzcyBJb25SYW5nZSBleHRlbmRzIFZhbHVlQWNjZXNzb3IgaW1wbGVtZW50cyBPbkluaXQge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSwgaW5qZWN0b3I6IEluamVjdG9yKSB7XG4gICAgc3VwZXIoaW5qZWN0b3IsIHIpO1xuICAgIGRlZmluZUN1c3RvbUVsZW1lbnQoKTtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gICAgcHJveHlPdXRwdXRzKHRoaXMsIHRoaXMuZWwsIFsnaW9uQ2hhbmdlJywgJ2lvbklucHV0JywgJ2lvbkZvY3VzJywgJ2lvbkJsdXInLCAnaW9uS25vYk1vdmVTdGFydCcsICdpb25Lbm9iTW92ZUVuZCddKTtcbiAgfVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIC8qKlxuICAgICAqIERhdGEtYm91bmQgaW5wdXQgcHJvcGVydGllcyBhcmUgc2V0XG4gICAgICogYnkgQW5ndWxhciBhZnRlciB0aGUgY29uc3RydWN0b3IsIHNvXG4gICAgICogd2UgbmVlZCB0byBydW4gdGhlIHByb3h5IGluIG5nT25Jbml0LlxuICAgICAqL1xuICAgIHByb3h5SW5wdXRzKElvblJhbmdlLCBSQU5HRV9JTlBVVFMpO1xuICB9XG5cbiAgQEhvc3RMaXN0ZW5lcignaW9uQ2hhbmdlJywgWyckZXZlbnQudGFyZ2V0J10pXG4gIGhhbmRsZUlvbkNoYW5nZShlbDogSFRNTElvblJhbmdlRWxlbWVudCk6IHZvaWQge1xuICAgIHRoaXMuaGFuZGxlVmFsdWVDaGFuZ2UoZWwsIGVsLnZhbHVlKTtcbiAgfVxufVxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgSW9uUmFuZ2UgZXh0ZW5kcyBDb21wb25lbnRzLklvblJhbmdlIHtcbiAgLyoqXG4gICAqIFRoZSBgaW9uQ2hhbmdlYCBldmVudCBpcyBmaXJlZCBmb3IgYDxpb24tcmFuZ2U+YCBlbGVtZW50cyB3aGVuIHRoZSB1c2VyXG5tb2RpZmllcyB0aGUgZWxlbWVudCdzIHZhbHVlOlxuLSBXaGVuIHRoZSB1c2VyIHJlbGVhc2VzIHRoZSBrbm9iIGFmdGVyIGRyYWdnaW5nO1xuLSBXaGVuIHRoZSB1c2VyIG1vdmVzIHRoZSBrbm9iIHdpdGgga2V5Ym9hcmQgYXJyb3dzXG5cbmBpb25DaGFuZ2VgIGlzIG5vdCBmaXJlZCB3aGVuIHRoZSB2YWx1ZSBpcyBjaGFuZ2VkIHByb2dyYW1tYXRpY2FsbHkuXG4gICAqL1xuICBpb25DaGFuZ2U6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxSYW5nZUNoYW5nZUV2ZW50RGV0YWlsPj47XG4gIC8qKlxuICAgKiBUaGUgYGlvbklucHV0YCBldmVudCBpcyBmaXJlZCBmb3IgYDxpb24tcmFuZ2U+YCBlbGVtZW50cyB3aGVuIHRoZSB2YWx1ZVxuaXMgbW9kaWZpZWQuIFVubGlrZSBgaW9uQ2hhbmdlYCwgYGlvbklucHV0YCBpcyBmaXJlZCBjb250aW51b3VzbHlcbndoaWxlIHRoZSB1c2VyIGlzIGRyYWdnaW5nIHRoZSBrbm9iLlxuICAgKi9cbiAgaW9uSW5wdXQ6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxSYW5nZUNoYW5nZUV2ZW50RGV0YWlsPj47XG4gIC8qKlxuICAgKiBFbWl0dGVkIHdoZW4gdGhlIHJhbmdlIGhhcyBmb2N1cy5cbiAgICovXG4gIGlvbkZvY3VzOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8dm9pZD4+O1xuICAvKipcbiAgICogRW1pdHRlZCB3aGVuIHRoZSByYW5nZSBsb3NlcyBmb2N1cy5cbiAgICovXG4gIGlvbkJsdXI6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDx2b2lkPj47XG4gIC8qKlxuICAgKiBFbWl0dGVkIHdoZW4gdGhlIHVzZXIgc3RhcnRzIG1vdmluZyB0aGUgcmFuZ2Uga25vYiwgd2hldGhlciB0aHJvdWdoXG5tb3VzZSBkcmFnLCB0b3VjaCBnZXN0dXJlLCBvciBrZXlib2FyZCBpbnRlcmFjdGlvbi5cbiAgICovXG4gIGlvbktub2JNb3ZlU3RhcnQ6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxSYW5nZUtub2JNb3ZlU3RhcnRFdmVudERldGFpbD4+O1xuICAvKipcbiAgICogRW1pdHRlZCB3aGVuIHRoZSB1c2VyIGZpbmlzaGVzIG1vdmluZyB0aGUgcmFuZ2Uga25vYiwgd2hldGhlciB0aHJvdWdoXG5tb3VzZSBkcmFnLCB0b3VjaCBnZXN0dXJlLCBvciBrZXlib2FyZCBpbnRlcmFjdGlvbi5cbiAgICovXG4gIGlvbktub2JNb3ZlRW5kOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8UmFuZ2VLbm9iTW92ZUVuZEV2ZW50RGV0YWlsPj47XG59XG4iXX0=