ngx-mat-input-tel 16.2.0 → 16.2.1

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.
@@ -29,9 +29,7 @@ class ngxMatInputTelBase {
29
29
  _parentForm;
30
30
  _parentFormGroup;
31
31
  ngControl;
32
- constructor(_defaultErrorStateMatcher, _parentForm, _parentFormGroup,
33
- /** @docs-private */
34
- ngControl) {
32
+ constructor(_defaultErrorStateMatcher, _parentForm, _parentFormGroup, ngControl) {
35
33
  this._defaultErrorStateMatcher = _defaultErrorStateMatcher;
36
34
  this._parentForm = _parentForm;
37
35
  this._parentFormGroup = _parentFormGroup;
@@ -152,8 +150,6 @@ export class NgxMatInputTelComponent extends _ngxMatInputTelMixinBase {
152
150
  const isInvalide = this.errorStateMatcher.isErrorState(this.ngControl.control, this._parentForm);
153
151
  this.errorState =
154
152
  (isInvalide && !this.ngControl.control?.value) || (!this.focused ? isInvalide : false);
155
- if (isInvalide && this.ngControl.control?.touched)
156
- this.focusable.nativeElement.focus();
157
153
  }
158
154
  }
159
155
  onPhoneNumberChange() {
@@ -428,4 +424,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.10", ngImpo
428
424
  }], disabled: [{
429
425
  type: Input
430
426
  }] } });
431
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmd4LW1hdC1pbnB1dC10ZWwuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LW1hdC1pbnB1dC10ZWwvc3JjL2xpYi9uZ3gtbWF0LWlucHV0LXRlbC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtbWF0LWlucHV0LXRlbC9zcmMvbGliL25neC1tYXQtaW5wdXQtdGVsLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQTtBQUNoRCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQTtBQUM3RCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUE7QUFDOUMsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixpQkFBaUIsRUFDakIsU0FBUyxFQUVULFVBQVUsRUFDVixZQUFZLEVBQ1osV0FBVyxFQUNYLEtBQUssRUFHTCxRQUFRLEVBQ1IsTUFBTSxFQUNOLElBQUksRUFDSixTQUFTLEdBQ1YsTUFBTSxlQUFlLENBQUE7QUFDdEIsT0FBTyxFQUNMLGtCQUFrQixFQUNsQixXQUFXLEVBQ1gsYUFBYSxFQUNiLFNBQVMsRUFDVCxNQUFNLEVBQ04sbUJBQW1CLEdBQ3BCLE1BQU0sZ0JBQWdCLENBQUE7QUFDdkIsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFBO0FBQzFELE9BQU8sRUFBRSxpQkFBaUIsRUFBd0IsZUFBZSxFQUFFLE1BQU0sd0JBQXdCLENBQUE7QUFDakcsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sMkJBQTJCLENBQUE7QUFDNUQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sOEJBQThCLENBQUE7QUFDbEUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHlCQUF5QixDQUFBO0FBQ3hELE9BQU8sRUFBRSxPQUFPLEVBQUUs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V0FBVyxFQUFFLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRTtnQkFFaEMsa0JBQWtCO3NCQUExQixLQUFLO2dCQUNHLGlCQUFpQjtzQkFBekIsS0FBSztnQkFDRyxnQkFBZ0I7c0JBQXhCLEtBQUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxJQUFJO3NCQUFaLEtBQUs7Z0JBQ0csYUFBYTtzQkFBckIsS0FBSztnQkFDRyxpQkFBaUI7c0JBQXpCLEtBQUs7Z0JBQ0csWUFBWTtzQkFBcEIsS0FBSztnQkFDRyxpQkFBaUI7c0JBQXpCLEtBQUs7Z0JBQ0csWUFBWTtzQkFBcEIsS0FBSztnQkFFRixNQUFNO3NCQURULEtBQUs7Z0JBaUJOLEVBQUU7c0JBREQsV0FBVztnQkFXWixjQUFjO3NCQURiLE1BQU07Z0JBb09ILGdCQUFnQjtzQkFEbkIsV0FBVzt1QkFBQyxvQkFBb0I7Z0JBTTdCLFdBQVc7c0JBRGQsS0FBSztnQkFXRixRQUFRO3NCQURYLEtBQUs7Z0JBV0YsUUFBUTtzQkFEWCxLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRm9jdXNNb25pdG9yIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2ExMXknXG5pbXBvcnQgeyBjb2VyY2VCb29sZWFuUHJvcGVydHkgfSBmcm9tICdAYW5ndWxhci9jZGsvY29lcmNpb24nXG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nXG5pbXBvcnQge1xuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gIENvbXBvbmVudCxcbiAgRG9DaGVjayxcbiAgRWxlbWVudFJlZixcbiAgRXZlbnRFbWl0dGVyLFxuICBIb3N0QmluZGluZyxcbiAgSW5wdXQsXG4gIE9uRGVzdHJveSxcbiAgT25Jbml0LFxuICBPcHRpb25hbCxcbiAgT3V0cHV0LFxuICBTZWxmLFxuICBWaWV3Q2hpbGQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnXG5pbXBvcnQge1xuICBGb3JtR3JvdXBEaXJlY3RpdmUsXG4gIEZvcm1zTW9kdWxlLFxuICBOR19WQUxJREFUT1JTLFxuICBOZ0NvbnRyb2wsXG4gIE5nRm9ybSxcbiAgUmVhY3RpdmVGb3Jtc01vZHVsZSxcbn0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnXG5pbXBvcnQgeyBNYXRCdXR0b25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9idXR0b24nXG5pbXBvcnQgeyBFcnJvclN0YXRlTWF0Y2hlciwgX0Fic3RyYWN0Q29uc3RydWN0b3IsIG1peGluRXJyb3JTdGF0ZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2NvcmUnXG5pbXBvcnQgeyBNYXREaXZpZGVyTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGl2aWRlcidcbmltcG9ydCB7IE1hdEZvcm1GaWVsZENvbnRyb2wgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9mb3JtLWZpZWxkJ1xuaW1wb3J0IHsgTWF0SW5wdXRNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pbnB1dCdcbmltcG9ydCB7IE1hdE1lbnUsIE1hdE1lbnVNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9tZW51J1xuaW1wb3J0IHtcbiAgQXNZb3VUeXBlLFxuICBDb3VudHJ5Q29kZSBhcyBDQyxcbiAgRTE2NE51bWJlcixcbiAgTmF0aW9uYWxOdW1iZXIsXG4gIFBob25lTnVtYmVyLFxuICBnZXRFeGFtcGxlTnVtYmVyLFxuICBwYXJzZVBob25lTnVtYmVyRnJvbVN0cmluZyxcbn0gZnJvbSAnbGlicGhvbmVudW1iZXItanMnXG5pbXBvcnQgeyBTdWJqZWN0IH0gZnJvbSAncnhqcydcbmltcG9ydCB7IENvdW50cnlDb2RlLCBFeGFtcGxlcyB9IGZyb20gJy4vZGF0YS9jb3VudHJ5LWNvZGUnXG5pbXBvcnQgeyBDb3VudHJ5IH0gZnJvbSAnLi9tb2RlbC9jb3VudHJ5Lm1vZGVsJ1xuaW1wb3J0IHsgUGhvbmVOdW1iZXJGb3JtYXQgfSBmcm9tICcuL21vZGVsL3Bob25lLW51bWJlci1mb3JtYXQubW9kZWwnXG5pbXBvcnQgeyBwaG9uZU51bWJlclZhbGlkYXRvciB9IGZyb20gJy4vbmd4LW1hdC1pbnB1dC10ZWwudmFsaWRhdG9yJ1xuaW1wb3J0IHsgU2VhcmNoUGlwZSB9IGZyb20gJy4vc2VhcmNoLnBpcGUnXG5cbmNsYXNzIG5neE1hdElucHV0VGVsQmFzZSB7XG4gIGNvbnN0cnVjdG9yKFxuICAgIHB1YmxpYyBfZGVmYXVsdEVycm9yU3RhdGVNYXRjaGVyOiBFcnJvclN0YXRlTWF0Y2hlcixcbiAgICBwdWJsaWMgX3BhcmVudEZvcm06IE5nRm9ybSxcbiAgICBwdWJsaWMgX3BhcmVudEZvcm1Hcm91cDogRm9ybUdyb3VwRGlyZWN0aXZlLFxuICAgIC8qKiBAZG9jcy1wcml2YXRlICovXG4gICAgcHVibGljIG5nQ29udHJvbDogTmdDb250cm9sLFxuICApIHt9XG59XG5cbmNvbnN0IF9uZ3hNYXRJbnB1dFRlbE1peGluQmFzZTogdHlwZW9mIG5neE1hdElucHV0VGVsQmFzZSA9IG1peGluRXJyb3JTdGF0ZShcbiAgbmd4TWF0SW5wdXRUZWxCYXNlIGFzIF9BYnN0cmFjdENvbnN0cnVjdG9yPGFueT4sXG4pXG5cbkBDb21wb25lbnQoe1xuICBzdGFuZGFsb25lOiB0cnVlLFxuICBzZWxlY3RvcjogJ25neC1tYXQtaW5wdXQtdGVsJyxcbiAgdGVtcGxhdGVVcmw6ICcuL25neC1tYXQtaW5wdXQtdGVsLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vbmd4LW1hdC1pbnB1dC10ZWwuY29tcG9uZW50LnNjc3MnXSxcbiAgcHJvdmlkZXJzOiBbXG4gICAgQ291bnRyeUNvZGUsXG4gICAgeyBwcm92aWRlOiBNYXRGb3JtRmllbGRDb250cm9sLCB1c2VFeGlzdGluZzogTmd4TWF0SW5wdXRUZWxDb21wb25lbnQgfSxcbiAgICB7XG4gICAgICBwcm92aWRlOiBOR19WQUxJREFUT1JTLFxuICAgICAgdXNlVmFsdWU6IHBob25lTnVtYmVyVmFsaWRhdG9yLFxuICAgICAgbXVsdGk6IHRydWUsXG4gICAgfSxcbiAgXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIGltcG9ydHM6IFtcbiAgICBDb21tb25Nb2R1bGUsXG4gICAgRm9ybXNNb2R1bGUsXG4gICAgTWF0SW5wdXRNb2R1bGUsXG4gICAgTWF0TWVudU1vZHVsZSxcbiAgICBNYXRCdXR0b25Nb2R1bGUsXG4gICAgTWF0RGl2aWRlck1vZHVsZSxcbiAgICBSZWFjdGl2ZUZvcm1zTW9kdWxlLFxuXG4gICAgLy8gUGlwZXNcbiAgICBTZWFyY2hQaXBlLFxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBOZ3hNYXRJbnB1dFRlbENvbXBvbmVudFxuICBleHRlbmRzIF9uZ3hNYXRJbnB1dFRlbE1peGluQmFzZVxuICBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95LCBEb0NoZWNrXG57XG4gIHN0YXRpYyBuZXh0SWQgPSAwXG4gIEBWaWV3Q2hpbGQoTWF0TWVudSkgbWF0TWVudSE6IE1hdE1lbnVcbiAgQFZpZXdDaGlsZCgnbWVudVNlYXJjaElucHV0JywgeyBzdGF0aWM6IGZhbHNlIH0pIG1lbnVTZWFyY2hJbnB1dD86IEVsZW1lbnRSZWY8SFRNTElucHV0RWxlbWVudD5cbiAgQFZpZXdDaGlsZCgnZm9jdXNhYmxlJywgeyBzdGF0aWM6IGZhbHNlIH0pIGZvY3VzYWJsZSE6IEVsZW1lbnRSZWZcblxuICBASW5wdXQoKSBwcmVmZXJyZWRDb3VudHJpZXM6IHN0cmluZ1tdID0gW11cbiAgQElucHV0KCkgZW5hYmxlUGxhY2Vob2xkZXIgPSB0cnVlXG4gIEBJbnB1dCgpIGlucHV0UGxhY2Vob2xkZXI6IHN0cmluZyA9ICcnXG4gIEBJbnB1dCgpIGNzc0NsYXNzPzogc3RyaW5nXG4gIEBJbnB1dCgpIG5hbWU/OiBzdHJpbmdcbiAgQElucHV0KCkgb25seUNvdW50cmllczogc3RyaW5nW10gPSBbXVxuICBASW5wdXQoKSBlcnJvclN0YXRlTWF0Y2hlcjogRXJyb3JTdGF0ZU1hdGNoZXIgPSB0aGlzLl9kZWZhdWx0RXJyb3JTdGF0ZU1hdGNoZXJcbiAgQElucHV0KCkgZW5hYmxlU2VhcmNoID0gZmFsc2VcbiAgQElucHV0KCkgc2VhcmNoUGxhY2Vob2xkZXI/OiBzdHJpbmdcbiAgQElucHV0KCkgYXV0b2NvbXBsZXRlOiAnb2ZmJyB8ICd0ZWwnID0gJ29mZidcbiAgQElucHV0KClcbiAgZ2V0IGZvcm1hdCgpOiBQaG9uZU51bWJlckZvcm1hdCB7XG4gICAgcmV0dXJuIHRoaXMuX2Zvcm1hdFxuICB9XG5cbiAgc2V0IGZvcm1hdCh2YWx1ZTogUGhvbmVOdW1iZXJGb3JtYXQpIHtcbiAgICB0aGlzLl9mb3JtYXQgPSB2YWx1ZVxuICAgIHRoaXMucGhvbmVOdW1iZXIgPSB0aGlzLmZvcm1hdHRlZFBob25lTnVtYmVyXG4gICAgdGhpcy5zdGF0ZUNoYW5nZXMubmV4dCgpXG4gIH1cblxuICBwcml2YXRlIF9wbGFjZWhvbGRlcj86IHN0cmluZ1xuICBwcml2YXRlIF9yZXF1aXJlZCA9IGZhbHNlXG4gIHByaXZhdGUgX2Rpc2FibGVkID0gZmFsc2VcbiAgc3RhdGVDaGFuZ2VzID0gbmV3IFN1YmplY3Q8dm9pZD4oKVxuICBmb2N1c2VkID0gZmFsc2VcbiAgQEhvc3RCaW5kaW5nKClcbiAgaWQgPSBgbmd4LW1hdC1pbnB1dC10ZWwtJHtOZ3hNYXRJbnB1dFRlbENvbXBvbmVudC5uZXh0SWQrK31gXG4gIGRlc2NyaWJlZEJ5ID0gJydcbiAgcGhvbmVOdW1iZXI/OiBFMTY0TnVtYmVyIHwgTmF0aW9uYWxOdW1iZXIgPSAnJ1xuICBhbGxDb3VudHJpZXM6IENvdW50cnlbXSA9IFtdXG4gIHByZWZlcnJlZENvdW50cmllc0luRHJvcERvd246IENvdW50cnlbXSA9IFtdXG4gIHNlbGVjdGVkQ291bnRyeSE6IENvdW50cnlcbiAgbnVtYmVySW5zdGFuY2U/OiBQaG9uZU51bWJlclxuICB2YWx1ZT86IGFueVxuICBzZWFyY2hDcml0ZXJpYT86IHN0cmluZ1xuICBAT3V0cHV0KClcbiAgY291bnRyeUNoYW5nZWQ6IEV2ZW50RW1pdHRlcjxDb3VudHJ5PiA9IG5ldyBFdmVudEVtaXR0ZXI8Q291bnRyeT4oKVxuXG4gIHByaXZhdGUgcHJldmlvdXNGb3JtYXR0ZWROdW1iZXI/OiBzdHJpbmdcbiAgLy8gdHNsaW50OmRpc2FibGUtbmV4dC1saW5lOnZhcmlhYmxlLW5hbWVcbiAgcHJpdmF0ZSBfZm9ybWF0OiBQaG9uZU51bWJlckZvcm1hdCA9ICdkZWZhdWx0J1xuXG4gIHN0YXRpYyBnZXRQaG9uZU51bWJlclBsYWNlSG9sZGVyKGNvdW50cnlJU09Db2RlOiBhbnkpOiBzdHJpbmcgfCB1bmRlZmluZWQge1xuICAgIHRyeSB7XG4gICAgICByZXR1cm4gZ2V0RXhhbXBsZU51bWJlcihjb3VudHJ5SVNPQ29kZSwgRXhhbXBsZXMpPy5udW1iZXIudG9TdHJpbmcoKVxuICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgIHJldHVybiBlIGFzIGFueVxuICAgIH1cbiAgfVxuXG4gIG9uVG91Y2hlZCA9ICgpID0+IHt9XG5cbiAgcHJvcGFnYXRlQ2hhbmdlID0gKF86IGFueSkgPT4ge31cblxuICBwcml2YXRlIGVycm9yU3RhdGU/OiBib29sZWFuXG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBfY2hhbmdlRGV0ZWN0b3JSZWY6IENoYW5nZURldGVjdG9yUmVmLFxuICAgIHByaXZhdGUgY291bnRyeUNvZGVEYXRhOiBDb3VudHJ5Q29kZSxcbiAgICBwcml2YXRlIGZtOiBGb2N1c01vbml0b3IsXG4gICAgcHJpdmF0ZSBlbFJlZjogRWxlbWVudFJlZjxIVE1MRWxlbWVudD4sXG4gICAgQE9wdGlvbmFsKCkgQFNlbGYoKSBfbmdDb250cm9sOiBOZ0NvbnRyb2wsXG4gICAgQE9wdGlvbmFsKCkgX3BhcmVudEZvcm06IE5nRm9ybSxcbiAgICBAT3B0aW9uYWwoKSBfcGFyZW50Rm9ybUdyb3VwOiBGb3JtR3JvdXBEaXJlY3RpdmUsXG4gICAgX2RlZmF1bHRFcnJvclN0YXRlTWF0Y2hlcjogRXJyb3JTdGF0ZU1hdGNoZXIsXG4gICkge1xuICAgIHN1cGVyKF9kZWZhdWx0RXJyb3JTdGF0ZU1hdGNoZXIsIF9wYXJlbnRGb3JtLCBfcGFyZW50Rm9ybUdyb3VwLCBfbmdDb250cm9sKVxuICAgIGZtLm1vbml0b3IoZWxSZWYsIHRydWUpLnN1YnNjcmliZSgob3JpZ2luKSA9PiB7XG4gICAgICBpZiAodGhpcy5mb2N1c2VkICYmICFvcmlnaW4pIHtcbiAgICAgICAgdGhpcy5vblRvdWNoZWQoKVxuICAgICAgfVxuICAgICAgdGhpcy5mb2N1c2VkID0gISFvcmlnaW5cbiAgICAgIHRoaXMuc3RhdGVDaGFuZ2VzLm5leHQoKVxuICAgIH0pXG4gICAgdGhpcy5mZXRjaENvdW50cnlEYXRhKClcbiAgICBpZiAodGhpcy5uZ0NvbnRyb2wgIT0gbnVsbCkge1xuICAgICAgdGhpcy5uZ0NvbnRyb2wudmFsdWVBY2Nlc3NvciA9IHRoaXNcbiAgICB9XG4gIH1cblxuICBuZ09uSW5pdCgpIHtcbiAgICBpZiAoIXRoaXMuc2VhcmNoUGxhY2Vob2xkZXIpIHtcbiAgICAgIHRoaXMuc2VhcmNoUGxhY2Vob2xkZXIgPSAnU2VhcmNoIC4uLidcbiAgICB9XG4gICAgaWYgKHRoaXMucHJlZmVycmVkQ291bnRyaWVzLmxlbmd0aCkge1xuICAgICAgdGhpcy5wcmVmZXJyZWRDb3VudHJpZXMuZm9yRWFjaCgoaXNvMikgPT4ge1xuICAgICAgICBjb25zdCBwcmVmZXJyZWRDb3VudHJ5ID0gdGhpcy5hbGxDb3VudHJpZXNcbiAgICAgICAgICAuZmlsdGVyKChjKSA9PiB7XG4gICAgICAgICAgICByZXR1cm4gYy5pc28yID09PSBpc28yXG4gICAgICAgICAgfSlcbiAgICAgICAgICAuc2hpZnQoKVxuXG4gICAgICAgIGlmIChwcmVmZXJyZWRDb3VudHJ5KSB0aGlzLnByZWZlcnJlZENvdW50cmllc0luRHJvcERvd24ucHVzaChwcmVmZXJyZWRDb3VudHJ5KVxuICAgICAgfSlcbiAgICB9XG4gICAgaWYgKHRoaXMub25seUNvdW50cmllcy5sZW5ndGgpIHtcbiAgICAgIHRoaXMuYWxsQ291bnRyaWVzID0gdGhpcy5hbGxDb3VudHJpZXMuZmlsdGVyKChjKSA9PiB0aGlzLm9ubHlDb3VudHJpZXMuaW5jbHVkZXMoYy5pc28yKSlcbiAgICB9XG4gICAgaWYgKHRoaXMubnVtYmVySW5zdGFuY2UgJiYgdGhpcy5udW1iZXJJbnN0YW5jZS5jb3VudHJ5KSB7XG4gICAgICAvLyBJZiBhbiBleGlzdGluZyBudW1iZXIgaXMgcHJlc2VudCwgd2UgdXNlIGl0IHRvIGRldGVybWluZSBzZWxlY3RlZENvdW50cnlcbiAgICAgIHRoaXMuc2VsZWN0ZWRDb3VudHJ5ID0gdGhpcy5nZXRDb3VudHJ5KHRoaXMubnVtYmVySW5zdGFuY2UuY291bnRyeSlcbiAgICB9IGVsc2Uge1xuICAgICAgaWYgKHRoaXMucHJlZmVycmVkQ291bnRyaWVzSW5Ecm9wRG93bi5sZW5ndGgpIHtcbiAgICAgICAgdGhpcy5zZWxlY3RlZENvdW50cnkgPSB0aGlzLnByZWZlcnJlZENvdW50cmllc0luRHJvcERvd25bMF1cbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMuc2VsZWN0ZWRDb3VudHJ5ID0gdGhpcy5hbGxDb3VudHJpZXNbMF1cbiAgICAgIH1cbiAgICB9XG4gICAgdGhpcy5jb3VudHJ5Q2hhbmdlZC5lbWl0KHRoaXMuc2VsZWN0ZWRDb3VudHJ5KVxuICAgIHRoaXMuX2NoYW5nZURldGVjdG9yUmVmLm1hcmtGb3JDaGVjaygpXG4gICAgdGhpcy5zdGF0ZUNoYW5nZXMubmV4dCgpXG4gIH1cbiAgbmdEb0NoZWNrKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLm5nQ29udHJvbCkge1xuICAgICAgY29uc3QgaXNJbnZhbGlkZSA9IHRoaXMuZXJyb3JTdGF0ZU1hdGNoZXIuaXNFcnJvclN0YXRlKFxuICAgICAgICB0aGlzLm5nQ29udHJvbC5jb250cm9sLFxuICAgICAgICB0aGlzLl9wYXJlbnRGb3JtLFxuICAgICAgKVxuXG4gICAgICB0aGlzLmVycm9yU3RhdGUgPVxuICAgICAgICAoaXNJbnZhbGlkZSAmJiAhdGhpcy5uZ0NvbnRyb2wuY29udHJvbD8udmFsdWUpIHx8ICghdGhpcy5mb2N1c2VkID8gaXNJbnZhbGlkZSA6IGZhbHNlKVxuXG4gICAgICBpZiAoaXNJbnZhbGlkZSAmJiB0aGlzLm5nQ29udHJvbC5jb250cm9sPy50b3VjaGVkKSB0aGlzLmZvY3VzYWJsZS5uYXRpdmVFbGVtZW50LmZvY3VzKClcbiAgICB9XG4gIH1cbiAgcHVibGljIG9uUGhvbmVOdW1iZXJDaGFuZ2UoKTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLnBob25lTnVtYmVyKSByZXR1cm5cblxuICAgIHRyeSB7XG4gICAgICB0aGlzLm51bWJlckluc3RhbmNlID0gcGFyc2VQaG9uZU51bWJlckZyb21TdHJpbmcoXG4gICAgICAgIHRoaXMucGhvbmVOdW1iZXIudG9TdHJpbmcoKSxcbiAgICAgICAgdGhpcy5zZWxlY3RlZENvdW50cnkuaXNvMi50b1VwcGVyQ2FzZSgpIGFzIENDLFxuICAgICAgKVxuICAgICAgdGhpcy5mb3JtYXRBc1lvdVR5cGVJZkVuYWJsZWQoKVxuICAgICAgdGhpcy52YWx1ZSA9IHRoaXMubnVtYmVySW5zdGFuY2U/Lm51bWJlclxuICAgICAgaWYgKHRoaXMubnVtYmVySW5zdGFuY2UgJiYgdGhpcy5udW1iZXJJbnN0YW5jZS5pc1ZhbGlkKCkpIHtcbiAgICAgICAgaWYgKHRoaXMucGhvbmVOdW1iZXIgIT09IHRoaXMuZm9ybWF0dGVkUGhvbmVOdW1iZXIpIHtcbiAgICAgICAgICB0aGlzLnBob25lTnVtYmVyID0gdGhpcy5mb3JtYXR0ZWRQaG9uZU51bWJlclxuICAgICAgICB9XG4gICAgICAgIGlmIChcbiAgICAgICAgICB0aGlzLnNlbGVjdGVkQ291bnRyeS5pc28yICE9PSB0aGlzLm51bWJlckluc3RhbmNlLmNvdW50cnkgJiZcbiAgICAgICAgICB0aGlzLm51bWJlckluc3RhbmNlLmNvdW50cnlcbiAgICAgICAgKSB7XG4gICAgICAgICAgdGhpcy5zZWxlY3RlZENvdW50cnkgPSB0aGlzLmdldENvdW50cnkodGhpcy5udW1iZXJJbnN0YW5jZS5jb3VudHJ5KVxuICAgICAgICAgIHRoaXMuY291bnRyeUNoYW5nZWQuZW1pdCh0aGlzLnNlbGVjdGVkQ291bnRyeSlcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgIC8vIGlmIG5vIHBvc3NpYmxlIG51bWJlcnMgYXJlIHRoZXJlLFxuICAgICAgLy8gdGhlbiB0aGUgZnVsbCBudW1iZXIgaXMgcGFzc2VkIHNvIHRoYXQgdmFsaWRhdG9yIGNvdWxkIGJlIHRyaWdnZXJlZCBhbmQgcHJvcGVyIGVycm9yIGNvdWxkIGJlIHNob3duXG4gICAgICB0aGlzLnZhbHVlID0gdGhpcy5waG9uZU51bWJlci50b1N0cmluZygpXG4gICAgfVxuICAgIHRoaXMucHJvcGFnYXRlQ2hhbmdlKHRoaXMudmFsdWUpXG4gICAgdGhpcy5fY2hhbmdlRGV0ZWN0b3JSZWYubWFya0ZvckNoZWNrKClcbiAgfVxuXG4gIHB1YmxpYyBvbkNvdW50cnlTZWxlY3QoY291bnRyeTogQ291bnRyeSwgZWw6IGFueSk6IHZvaWQge1xuICAgIGlmICh0aGlzLnBob25lTnVtYmVyKSB7XG4gICAgICB0aGlzLnBob25lTnVtYmVyID0gdGhpcy5udW1iZXJJbnN0YW5jZT8ubmF0aW9uYWxOdW1iZXJcbiAgICB9XG4gICAgdGhpcy5zZWxlY3RlZENvdW50cnkgPSBjb3VudHJ5XG4gICAgdGhpcy5jb3VudHJ5Q2hhbmdlZC5lbWl0KHRoaXMuc2VsZWN0ZWRDb3VudHJ5KVxuICAgIHRoaXMub25QaG9uZU51bWJlckNoYW5nZSgpXG4gICAgZWwuZm9jdXMoKVxuICB9XG5cbiAgcHVibGljIGdldENvdW50cnkoY29kZTogQ0MpOiBDb3VudHJ5IHtcbiAgICByZXR1cm4gKHRoaXMuYWxsQ291bnRyaWVzLmZpbmQoKGMpID0+IGMuaXNvMiA9PT0gY29kZS50b0xvd2VyQ2FzZSgpKSB8fCB7XG4gICAgICBuYW1lOiAnVU4nLFxuICAgICAgaXNvMjogJ1VOJyxcbiAgICAgIGRpYWxDb2RlOiB1bmRlZmluZWQsXG4gICAgICBwcmlvcml0eTogMCxcbiAgICAgIGFyZWFDb2RlczogdW5kZWZpbmVkLFxuICAgICAgZmxhZ0NsYXNzOiAnVU4nLFxuICAgICAgcGxhY2VIb2xkZXI6ICcnLFxuICAgIH0pIGFzIENvdW50cnlcbiAgfVxuXG4gIHB1YmxpYyBvbklucHV0S2V5UHJlc3MoZXZlbnQ6IGFueSk6IHZvaWQge1xuICAgIGNvbnN0IHBhdHRlcm4gPSAvWzAtOStcXC0gXS9cbiAgICBpZiAoIXBhdHRlcm4udGVzdChldmVudC5rZXkpKSB7XG4gICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpXG4gICAgfVxuICB9XG5cbiAgcHJvdGVjdGVkIGZldGNoQ291bnRyeURhdGEoKTogdm9pZCB7XG4gICAgdGhpcy5jb3VudHJ5Q29kZURhdGEuYWxsQ291bnRyaWVzLmZvckVhY2goKGMpID0+IHtcbiAgICAgIGNvbnN0IGNvdW50cnk6IENvdW50cnkgPSB7XG4gICAgICAgIG5hbWU6IGNbMF0udG9TdHJpbmcoKSxcbiAgICAgICAgaXNvMjogY1sxXS50b1N0cmluZygpLFxuICAgICAgICBkaWFsQ29kZTogY1syXS50b1N0cmluZygpLFxuICAgICAgICBwcmlvcml0eTogK2NbM10gfHwgMCxcbiAgICAgICAgYXJlYUNvZGVzOiAoY1s0XSBhcyBzdHJpbmdbXSkgfHwgdW5kZWZpbmVkLFxuICAgICAgICBmbGFnQ2xhc3M6IGNbMV0udG9TdHJpbmcoKS50b1VwcGVyQ2FzZSgpLFxuICAgICAgICBwbGFjZUhvbGRlcjogJycsXG4gICAgICB9XG5cbiAgICAgIGlmICh0aGlzLmVuYWJsZVBsYWNlaG9sZGVyKSB7XG4gICAgICAgIGNvdW50cnkucGxhY2VIb2xkZXIgPSBOZ3hNYXRJbnB1dFRlbENvbXBvbmVudC5nZXRQaG9uZU51bWJlclBsYWNlSG9sZGVyKFxuICAgICAgICAgIGNvdW50cnkuaXNvMi50b1VwcGVyQ2FzZSgpLFxuICAgICAgICApXG4gICAgICB9XG5cbiAgICAgIHRoaXMuYWxsQ291bnRyaWVzLnB1c2goY291bnRyeSlcbiAgICB9KVxuICB9XG5cbiAgcmVnaXN0ZXJPbkNoYW5nZShmbjogYW55KTogdm9pZCB7XG4gICAgdGhpcy5wcm9wYWdhdGVDaGFuZ2UgPSBmblxuICB9XG5cbiAgcmVnaXN0ZXJPblRvdWNoZWQoZm46IGFueSk6IHZvaWQge1xuICAgIHRoaXMub25Ub3VjaGVkID0gZm5cbiAgfVxuXG4gIHNldERpc2FibGVkU3RhdGUoaXNEaXNhYmxlZDogYm9vbGVhbik6IHZvaWQge1xuICAgIHRoaXMuZGlzYWJsZWQgPSBpc0Rpc2FibGVkXG4gICAgdGhpcy5fY2hhbmdlRGV0ZWN0b3JSZWYubWFya0ZvckNoZWNrKClcbiAgICB0aGlzLnN0YXRlQ2hhbmdlcy5uZXh0KHVuZGVmaW5lZClcbiAgfVxuXG4gIHdyaXRlVmFsdWUodmFsdWU6IGFueSk6IHZvaWQge1xuICAgIGlmICh2YWx1ZSkge1xuICAgICAgdGhpcy5udW1iZXJJbnN0YW5jZSA9IHBhcnNlUGhvbmVOdW1iZXJGcm9tU3RyaW5nKHZhbHVlKVxuICAgICAgaWYgKHRoaXMubnVtYmVySW5zdGFuY2UpIHtcbiAgICAgICAgY29uc3QgY291bnRyeUNvZGUgPSB0aGlzLm51bWJlckluc3RhbmNlLmNvdW50cnlcbiAgICAgICAgdGhpcy5waG9uZU51bWJlciA9IHRoaXMuZm9ybWF0dGVkUGhvbmVOdW1iZXJcbiAgICAgICAgaWYgKCFjb3VudHJ5Q29kZSkge1xuICAgICAgICAgIHJldHVyblxuICAgICAgICB9XG4gICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgIHRoaXMuc2VsZWN0ZWRDb3VudHJ5ID0gdGhpcy5nZXRDb3VudHJ5KGNvdW50cnlDb2RlKVxuICAgICAgICAgIGlmIChcbiAgICAgICAgICAgIHRoaXMuc2VsZWN0ZWRDb3VudHJ5LmRpYWxDb2RlICYmXG4gICAgICAgICAgICAhdGhpcy5wcmVmZXJyZWRDb3VudHJpZXMuaW5jbHVkZXModGhpcy5zZWxlY3RlZENvdW50cnkuaXNvMilcbiAgICAgICAgICApIHtcbiAgICAgICAgICAgIHRoaXMucHJlZmVycmVkQ291bnRyaWVzSW5Ecm9wRG93bi5wdXNoKHRoaXMuc2VsZWN0ZWRDb3VudHJ5KVxuICAgICAgICAgIH1cbiAgICAgICAgICB0aGlzLmNvdW50cnlDaGFuZ2VkLmVtaXQodGhpcy5zZWxlY3RlZENvdW50cnkpXG5cbiAgICAgICAgICAvLyBJbml0aWFsIHZhbHVlIGlzIHNldFxuICAgICAgICAgIHRoaXMuX2NoYW5nZURldGVjdG9yUmVmLm1hcmtGb3JDaGVjaygpXG4gICAgICAgICAgdGhpcy5zdGF0ZUNoYW5nZXMubmV4dCgpXG4gICAgICAgIH0sIDEpXG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLnBob25lTnVtYmVyID0gdmFsdWVcbiAgICAgIH1cbiAgICB9XG4gICAgLy8gQW5ndWxhciBidWdcbiAgICAvLyBlbHNlIGlmICh0aGlzLnBob25lTnVtYmVyICE9PSAnJykge1xuICAgIC8vICAgdGhpcy5yZXNldCgpXG4gICAgLy8gfVxuXG4gICAgLy8gVmFsdWUgaXMgc2V0IGZyb20gb3V0c2lkZSB1c2luZyBzZXRWYWx1ZSgpXG4gICAgdGhpcy5fY2hhbmdlRGV0ZWN0b3JSZWYubWFya0ZvckNoZWNrKClcbiAgICB0aGlzLnN0YXRlQ2hhbmdlcy5uZXh0KHVuZGVmaW5lZClcbiAgfVxuXG4gIGdldCBlbXB0eSgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gIXRoaXMucGhvbmVOdW1iZXJcbiAgfVxuXG4gIEBIb3N0QmluZGluZygnY2xhc3Mubmd4LWZsb2F0aW5nJylcbiAgZ2V0IHNob3VsZExhYmVsRmxvYXQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuZm9jdXNlZCB8fCAhdGhpcy5lbXB0eVxuICB9XG5cbiAgQElucHV0KClcbiAgZ2V0IHBsYWNlaG9sZGVyKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuX3BsYWNlaG9sZGVyIHx8ICcnXG4gIH1cblxuICBzZXQgcGxhY2Vob2xkZXIodmFsdWU6IHN0cmluZykge1xuICAgIHRoaXMuX3BsYWNlaG9sZGVyID0gdmFsdWVcbiAgICB0aGlzLnN0YXRlQ2hhbmdlcy5uZXh0KHVuZGVmaW5lZClcbiAgfVxuXG4gIEBJbnB1dCgpXG4gIGdldCByZXF1aXJlZCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5fcmVxdWlyZWRcbiAgfVxuXG4gIHNldCByZXF1aXJlZCh2YWx1ZTogYm9vbGVhbikge1xuICAgIHRoaXMuX3JlcXVpcmVkID0gY29lcmNlQm9vbGVhblByb3BlcnR5KHZhbHVlKVxuICAgIHRoaXMuc3RhdGVDaGFuZ2VzLm5leHQodW5kZWZpbmVkKVxuICB9XG5cbiAgQElucHV0KClcbiAgZ2V0IGRpc2FibGVkKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLl9kaXNhYmxlZFxuICB9XG5cbiAgc2V0IGRpc2FibGVkKHZhbHVlOiBib29sZWFuKSB7XG4gICAgdGhpcy5fZGlzYWJsZWQgPSBjb2VyY2VCb29sZWFuUHJvcGVydHkodmFsdWUpXG4gICAgdGhpcy5zdGF0ZUNoYW5nZXMubmV4dCh1bmRlZmluZWQpXG4gIH1cblxuICBzZXREZXNjcmliZWRCeUlkcyhpZHM6IHN0cmluZ1tdKSB7XG4gICAgdGhpcy5kZXNjcmliZWRCeSA9IGlkcy5qb2luKCcgJylcbiAgfVxuXG4gIG9uQ29udGFpbmVyQ2xpY2soZXZlbnQ6IE1vdXNlRXZlbnQpOiB2b2lkIHtcbiAgICBpZiAoKGV2ZW50LnRhcmdldCBhcyBFbGVtZW50KS50YWdOYW1lLnRvTG93ZXJDYXNlKCkgIT09ICdpbnB1dCcpIHtcbiAgICAgIC8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTpuby1ub24tbnVsbC1hc3NlcnRpb25cbiAgICAgIHRoaXMuZWxSZWYubmF0aXZlRWxlbWVudC5xdWVyeVNlbGVjdG9yKCdpbnB1dCcpIS5mb2N1cygpXG4gICAgfVxuICB9XG5cbiAgcmVzZXQoKSB7XG4gICAgdGhpcy5waG9uZU51bWJlciA9ICcnXG4gICAgdGhpcy5wcm9wYWdhdGVDaGFuZ2UobnVsbClcblxuICAgIHRoaXMuX2NoYW5nZURldGVjdG9yUmVmLm1hcmtGb3JDaGVjaygpXG4gICAgdGhpcy5zdGF0ZUNoYW5nZXMubmV4dCh1bmRlZmluZWQpXG4gIH1cblxuICBuZ09uRGVzdHJveSgpIHtcbiAgICB0aGlzLnN0YXRlQ2hhbmdlcy5jb21wbGV0ZSgpXG4gICAgdGhpcy5mbS5zdG9wTW9uaXRvcmluZyh0aGlzLmVsUmVmKVxuICB9XG5cbiAgcHJpdmF0ZSBnZXQgZm9ybWF0dGVkUGhvbmVOdW1iZXIoKTogc3RyaW5nIHtcbiAgICBpZiAoIXRoaXMubnVtYmVySW5zdGFuY2UpIHtcbiAgICAgIHJldHVybiB0aGlzLnBob25lTnVtYmVyPy50b1N0cmluZygpIHx8ICcnXG4gICAgfVxuICAgIHN3aXRjaCAodGhpcy5mb3JtYXQpIHtcbiAgICAgIGNhc2UgJ25hdGlvbmFsJzpcbiAgICAgICAgcmV0dXJuIHRoaXMubnVtYmVySW5zdGFuY2UuZm9ybWF0TmF0aW9uYWwoKVxuICAgICAgY2FzZSAnaW50ZXJuYXRpb25hbCc6XG4gICAgICAgIHJldHVybiB0aGlzLm51bWJlckluc3RhbmNlLmZvcm1hdEludGVybmF0aW9uYWwoKVxuICAgICAgZGVmYXVsdDpcbiAgICAgICAgcmV0dXJuIHRoaXMubnVtYmVySW5zdGFuY2UubmF0aW9uYWxOdW1iZXIudG9TdHJpbmcoKVxuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgZm9ybWF0QXNZb3VUeXBlSWZFbmFibGVkKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLmZvcm1hdCA9PT0gJ2RlZmF1bHQnKSB7XG4gICAgICByZXR1cm5cbiAgICB9XG4gICAgY29uc3QgYXNZb3VUeXBlOiBBc1lvdVR5cGUgPSBuZXcgQXNZb3VUeXBlKHRoaXMuc2VsZWN0ZWRDb3VudHJ5LmlzbzIudG9VcHBlckNhc2UoKSBhcyBDQylcbiAgICAvLyBUbyBhdm9pZCBjYXJldCBwb3NpdGlvbmluZyB3ZSBhcHBseSBmb3JtYXR0aW5nIG9ubHkgaWYgdGhlIGNhcmV0IGlzIGF0IHRoZSBlbmQ6XG4gICAgaWYgKCF0aGlzLnBob25lTnVtYmVyKSByZXR1cm5cblxuICAgIGlmICh0aGlzLnBob25lTnVtYmVyPy50b1N0cmluZygpLnN0YXJ0c1dpdGgodGhpcy5wcmV2aW91c0Zvcm1hdHRlZE51bWJlciB8fCAnJykpIHtcbiAgICAgIHRoaXMucGhvbmVOdW1iZXIgPSBhc1lvdVR5cGUuaW5wdXQodGhpcy5waG9uZU51bWJlci50b1N0cmluZygpKVxuICAgIH1cbiAgICB0aGlzLnByZXZpb3VzRm9ybWF0dGVkTnVtYmVyID0gdGhpcy5waG9uZU51bWJlci50b1N0cmluZygpXG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJuZ3gtbWF0LWlucHV0LXRlbC1jb250YWluZXJcIj5cbiAgPGJ1dHRvblxuICAgIHR5cGU9XCJidXR0b25cIlxuICAgIG1hdC1idXR0b25cbiAgICBbbWF0TWVudVRyaWdnZXJGb3JdPVwibWVudVwiXG4gICAgY2xhc3M9XCJjb3VudHJ5LXNlbGVjdG9yXCJcbiAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxuICAgIChtZW51T3BlbmVkKT1cIm1lbnVTZWFyY2hJbnB1dD8ubmF0aXZlRWxlbWVudD8uZm9jdXMoKVwiXG4gID5cbiAgICA8c3BhbiBjbGFzcz1cImNvdW50cnktc2VsZWN0b3ItZmxhZyBmbGFnXCIgW25nQ2xhc3NdPVwic2VsZWN0ZWRDb3VudHJ5LmZsYWdDbGFzc1wiPjwvc3Bhbj5cbiAgICA8c3BhbiBjbGFzcz1cImNvdW50cnktc2VsZWN0b3ItY29kZVwiICpuZ0lmPVwic2VsZWN0ZWRDb3VudHJ5Py5kaWFsQ29kZVwiXG4gICAgICA+K3t7IHNlbGVjdGVkQ291bnRyeS5kaWFsQ29kZSB9fTwvc3BhblxuICAgID5cbiAgPC9idXR0b24+XG5cbiAgPG1hdC1tZW51XG4gICAgI21lbnU9XCJtYXRNZW51XCJcbiAgICBjbGFzcz1cIm5neC1tYXQtaW5wdXQtdGVsLW1hdC1tZW51LXBhbmVsXCJcbiAgICBiYWNrZHJvcENsYXNzPVwibmd4LW1hdC1pbnB1dC10ZWwtb3ZlcmxheS1iYWNrZHJvcFwiXG4gICAgb3ZlcmxheVBhbmVsQ2xhc3M9XCJuZ3gtbWF0LWlucHV0LXRlbC1vdmVybGF5LXBhbmVcIlxuICA+XG4gICAgPGlucHV0XG4gICAgICAjbWVudVNlYXJjaElucHV0XG4gICAgICAqbmdJZj1cImVuYWJsZVNlYXJjaFwiXG4gICAgICBjbGFzcz1cImNvdW50cnktc2VhcmNoXCJcbiAgICAgIFsobmdNb2RlbCldPVwic2VhcmNoQ3JpdGVyaWFcIlxuICAgICAgdHlwZT1cInRleHRcIlxuICAgICAgW3BsYWNlaG9sZGVyXT1cInNlYXJjaFBsYWNlaG9sZGVyXCJcbiAgICAgIChjbGljayk9XCIkZXZlbnQuc3RvcFByb3BhZ2F0aW9uKClcIlxuICAgICAgc3R5bGU9XCJcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGhlaWdodDogMzRweDtcbiAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2RkZDtcbiAgICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgICBwYWRkaW5nOiAyMHB4IDIwcHggMjRweDtcbiAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgIFwiXG4gICAgLz5cbiAgICA8YnV0dG9uXG4gICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgIG1hdC1tZW51LWl0ZW1cbiAgICAgIGNsYXNzPVwiY291bnRyeS1saXN0LWJ1dHRvblwiXG4gICAgICAqbmdGb3I9XCJsZXQgY291bnRyeSBvZiBwcmVmZXJyZWRDb3VudHJpZXNJbkRyb3BEb3duXCJcbiAgICAgIChjbGljayk9XCJvbkNvdW50cnlTZWxlY3QoY291bnRyeSwgZm9jdXNhYmxlKVwiXG4gICAgPlxuICAgICAgPGRpdiBjbGFzcz1cImljb24td3JhcHBlclwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiZmxhZ1wiIFtuZ0NsYXNzXT1cImNvdW50cnkuZmxhZ0NsYXNzXCI+PC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3M9XCJsYWJlbC13cmFwcGVyXCI+XG4gICAgICAgIHt7IGNvdW50cnkubmFtZSB9fVxuICAgICAgICA8c3BhbiAqbmdJZj1cImNvdW50cnk/LmRpYWxDb2RlXCI+K3t7IGNvdW50cnkuZGlhbENvZGUgfX08L3NwYW4+XG4gICAgICA8L2Rpdj5cbiAgICA8L2J1dHRvbj5cbiAgICA8bWF0LWRpdmlkZXIgKm5nSWY9XCJwcmVmZXJyZWRDb3VudHJpZXNJbkRyb3BEb3duPy5sZW5ndGhcIj48L21hdC1kaXZpZGVyPlxuICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IGNvdW50cnkgb2YgYWxsQ291bnRyaWVzXCI+XG4gICAgICA8YnV0dG9uXG4gICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICBtYXQtbWVudS1pdGVtXG4gICAgICAgIGNsYXNzPVwiY291bnRyeS1saXN0LWJ1dHRvblwiXG4gICAgICAgICpuZ0lmPVwiY291bnRyeSB8IHNlYXJjaCA6IHNlYXJjaENyaXRlcmlhXCJcbiAgICAgICAgKGNsaWNrKT1cIm9uQ291bnRyeVNlbGVjdChjb3VudHJ5LCBmb2N1c2FibGUpXCJcbiAgICAgID5cbiAgICAgICAgPGRpdiBjbGFzcz1cImljb24td3JhcHBlclwiPlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJmbGFnXCIgW25nQ2xhc3NdPVwiY291bnRyeS5mbGFnQ2xhc3NcIj48L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJsYWJlbC13cmFwcGVyXCI+e3sgY291bnRyeS5uYW1lIH19ICt7eyBjb3VudHJ5LmRpYWxDb2RlIH19PC9kaXY+XG4gICAgICA8L2J1dHRvbj5cbiAgICA8L25nLWNvbnRhaW5lcj5cbiAgPC9tYXQtbWVudT5cblxuICA8aW5wdXRcbiAgICBtYXRJbnB1dFxuICAgIHR5cGU9XCJ0ZWxcIlxuICAgIGlucHV0bW9kZT1cInRlbFwiXG4gICAgW2F1dG9jb21wbGV0ZV09XCJhdXRvY29tcGxldGVcIlxuICAgIFtuZ0NsYXNzXT1cImNzc0NsYXNzXCJcbiAgICAoYmx1cik9XCJvblRvdWNoZWQoKVwiXG4gICAgKGtleXByZXNzKT1cIm9uSW5wdXRLZXlQcmVzcygkZXZlbnQpXCJcbiAgICBbKG5nTW9kZWwpXT1cInBob25lTnVtYmVyXCJcbiAgICAobmdNb2RlbENoYW5nZSk9XCJvblBob25lTnVtYmVyQ2hhbmdlKClcIlxuICAgIFtlcnJvclN0YXRlTWF0Y2hlcl09XCJlcnJvclN0YXRlTWF0Y2hlclwiXG4gICAgW3BsYWNlaG9sZGVyXT1cImlucHV0UGxhY2Vob2xkZXJcIlxuICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiXG4gICAgI2ZvY3VzYWJsZVxuICAvPlxuPC9kaXY+XG4iXX0=
427
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmd4LW1hdC1pbnB1dC10ZWwuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LW1hdC1pbnB1dC10ZWwvc3JjL2xpYi9uZ3gtbWF0LWlucHV0LXRlbC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtbWF0LWlucHV0LXRlbC9zcmMvbGliL25neC1tYXQtaW5wdXQtdGVsLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQTtBQUNoRCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQTtBQUM3RCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUE7QUFDOUMsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixpQkFBaUIsRUFDakIsU0FBUyxFQUVULFVBQVUsRUFDVixZQUFZLEVBQ1osV0FBVyxFQUNYLEtBQUssRUFHTCxRQUFRLEVBQ1IsTUFBTSxFQUNOLElBQUksRUFDSixTQUFTLEdBQ1YsTUFBTSxlQUFlLENBQUE7QUFDdEIsT0FBTyxFQUNMLGtCQUFrQixFQUNsQixXQUFXLEVBQ1gsYUFBYSxFQUNiLFNBQVMsRUFDVCxNQUFNLEVBQ04sbUJBQW1CLEdBQ3BCLE1BQU0sZ0JBQWdCLENBQUE7QUFDdkIsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFBO0FBQzFELE9BQU8sRUFBRSxpQkFBaUIsRUFBd0IsZUFBZSxFQUFFLE1BQU0sd0JBQXdCLENBQUE7QUFDakcsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sMkJBQTJCLENBQUE7QUFDNUQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sOEJBQThCLENBQUE7QUFDbEUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHlCQUF5QixDQUFBO0FBQ3hELE9BQU8sRUFBRSxPQUFPLEVBQUUs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QVE7c0JBQWhCLEtBQUs7Z0JBQ0csSUFBSTtzQkFBWixLQUFLO2dCQUNHLGFBQWE7c0JBQXJCLEtBQUs7Z0JBQ0csaUJBQWlCO3NCQUF6QixLQUFLO2dCQUNHLFlBQVk7c0JBQXBCLEtBQUs7Z0JBQ0csaUJBQWlCO3NCQUF6QixLQUFLO2dCQUNHLFlBQVk7c0JBQXBCLEtBQUs7Z0JBRUYsTUFBTTtzQkFEVCxLQUFLO2dCQWlCTixFQUFFO3NCQURELFdBQVc7Z0JBV1osY0FBYztzQkFEYixNQUFNO2dCQWtPSCxnQkFBZ0I7c0JBRG5CLFdBQVc7dUJBQUMsb0JBQW9CO2dCQU03QixXQUFXO3NCQURkLEtBQUs7Z0JBV0YsUUFBUTtzQkFEWCxLQUFLO2dCQVdGLFFBQVE7c0JBRFgsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEZvY3VzTW9uaXRvciB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9hMTF5J1xuaW1wb3J0IHsgY29lcmNlQm9vbGVhblByb3BlcnR5IH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2NvZXJjaW9uJ1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJ1xuaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENoYW5nZURldGVjdG9yUmVmLFxuICBDb21wb25lbnQsXG4gIERvQ2hlY2ssXG4gIEVsZW1lbnRSZWYsXG4gIEV2ZW50RW1pdHRlcixcbiAgSG9zdEJpbmRpbmcsXG4gIElucHV0LFxuICBPbkRlc3Ryb3ksXG4gIE9uSW5pdCxcbiAgT3B0aW9uYWwsXG4gIE91dHB1dCxcbiAgU2VsZixcbiAgVmlld0NoaWxkLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJ1xuaW1wb3J0IHtcbiAgRm9ybUdyb3VwRGlyZWN0aXZlLFxuICBGb3Jtc01vZHVsZSxcbiAgTkdfVkFMSURBVE9SUyxcbiAgTmdDb250cm9sLFxuICBOZ0Zvcm0sXG4gIFJlYWN0aXZlRm9ybXNNb2R1bGUsXG59IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJ1xuaW1wb3J0IHsgTWF0QnV0dG9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvYnV0dG9uJ1xuaW1wb3J0IHsgRXJyb3JTdGF0ZU1hdGNoZXIsIF9BYnN0cmFjdENvbnN0cnVjdG9yLCBtaXhpbkVycm9yU3RhdGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9jb3JlJ1xuaW1wb3J0IHsgTWF0RGl2aWRlck1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RpdmlkZXInXG5pbXBvcnQgeyBNYXRGb3JtRmllbGRDb250cm9sIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZm9ybS1maWVsZCdcbmltcG9ydCB7IE1hdElucHV0TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaW5wdXQnXG5pbXBvcnQgeyBNYXRNZW51LCBNYXRNZW51TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvbWVudSdcbmltcG9ydCB7XG4gIEFzWW91VHlwZSxcbiAgQ291bnRyeUNvZGUgYXMgQ0MsXG4gIEUxNjROdW1iZXIsXG4gIE5hdGlvbmFsTnVtYmVyLFxuICBQaG9uZU51bWJlcixcbiAgZ2V0RXhhbXBsZU51bWJlcixcbiAgcGFyc2VQaG9uZU51bWJlckZyb21TdHJpbmcsXG59IGZyb20gJ2xpYnBob25lbnVtYmVyLWpzJ1xuaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gJ3J4anMnXG5pbXBvcnQgeyBDb3VudHJ5Q29kZSwgRXhhbXBsZXMgfSBmcm9tICcuL2RhdGEvY291bnRyeS1jb2RlJ1xuaW1wb3J0IHsgQ291bnRyeSB9IGZyb20gJy4vbW9kZWwvY291bnRyeS5tb2RlbCdcbmltcG9ydCB7IFBob25lTnVtYmVyRm9ybWF0IH0gZnJvbSAnLi9tb2RlbC9waG9uZS1udW1iZXItZm9ybWF0Lm1vZGVsJ1xuaW1wb3J0IHsgcGhvbmVOdW1iZXJWYWxpZGF0b3IgfSBmcm9tICcuL25neC1tYXQtaW5wdXQtdGVsLnZhbGlkYXRvcidcbmltcG9ydCB7IFNlYXJjaFBpcGUgfSBmcm9tICcuL3NlYXJjaC5waXBlJ1xuXG5jbGFzcyBuZ3hNYXRJbnB1dFRlbEJhc2Uge1xuICBjb25zdHJ1Y3RvcihcbiAgICBwdWJsaWMgX2RlZmF1bHRFcnJvclN0YXRlTWF0Y2hlcjogRXJyb3JTdGF0ZU1hdGNoZXIsXG4gICAgcHVibGljIF9wYXJlbnRGb3JtOiBOZ0Zvcm0sXG4gICAgcHVibGljIF9wYXJlbnRGb3JtR3JvdXA6IEZvcm1Hcm91cERpcmVjdGl2ZSxcbiAgICBwdWJsaWMgbmdDb250cm9sOiBOZ0NvbnRyb2wsXG4gICkge31cbn1cblxuY29uc3QgX25neE1hdElucHV0VGVsTWl4aW5CYXNlOiB0eXBlb2Ygbmd4TWF0SW5wdXRUZWxCYXNlID0gbWl4aW5FcnJvclN0YXRlKFxuICBuZ3hNYXRJbnB1dFRlbEJhc2UgYXMgX0Fic3RyYWN0Q29uc3RydWN0b3I8YW55PixcbilcblxuQENvbXBvbmVudCh7XG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIHNlbGVjdG9yOiAnbmd4LW1hdC1pbnB1dC10ZWwnLFxuICB0ZW1wbGF0ZVVybDogJy4vbmd4LW1hdC1pbnB1dC10ZWwuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9uZ3gtbWF0LWlucHV0LXRlbC5jb21wb25lbnQuc2NzcyddLFxuICBwcm92aWRlcnM6IFtcbiAgICBDb3VudHJ5Q29kZSxcbiAgICB7IHByb3ZpZGU6IE1hdEZvcm1GaWVsZENvbnRyb2wsIHVzZUV4aXN0aW5nOiBOZ3hNYXRJbnB1dFRlbENvbXBvbmVudCB9LFxuICAgIHtcbiAgICAgIHByb3ZpZGU6IE5HX1ZBTElEQVRPUlMsXG4gICAgICB1c2VWYWx1ZTogcGhvbmVOdW1iZXJWYWxpZGF0b3IsXG4gICAgICBtdWx0aTogdHJ1ZSxcbiAgICB9LFxuICBdLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgaW1wb3J0czogW1xuICAgIENvbW1vbk1vZHVsZSxcbiAgICBGb3Jtc01vZHVsZSxcbiAgICBNYXRJbnB1dE1vZHVsZSxcbiAgICBNYXRNZW51TW9kdWxlLFxuICAgIE1hdEJ1dHRvbk1vZHVsZSxcbiAgICBNYXREaXZpZGVyTW9kdWxlLFxuICAgIFJlYWN0aXZlRm9ybXNNb2R1bGUsXG5cbiAgICAvLyBQaXBlc1xuICAgIFNlYXJjaFBpcGUsXG4gIF0sXG59KVxuZXhwb3J0IGNsYXNzIE5neE1hdElucHV0VGVsQ29tcG9uZW50XG4gIGV4dGVuZHMgX25neE1hdElucHV0VGVsTWl4aW5CYXNlXG4gIGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3ksIERvQ2hlY2tcbntcbiAgc3RhdGljIG5leHRJZCA9IDBcbiAgQFZpZXdDaGlsZChNYXRNZW51KSBtYXRNZW51ITogTWF0TWVudVxuICBAVmlld0NoaWxkKCdtZW51U2VhcmNoSW5wdXQnLCB7IHN0YXRpYzogZmFsc2UgfSkgbWVudVNlYXJjaElucHV0PzogRWxlbWVudFJlZjxIVE1MSW5wdXRFbGVtZW50PlxuICBAVmlld0NoaWxkKCdmb2N1c2FibGUnLCB7IHN0YXRpYzogZmFsc2UgfSkgZm9jdXNhYmxlITogRWxlbWVudFJlZlxuXG4gIEBJbnB1dCgpIHByZWZlcnJlZENvdW50cmllczogc3RyaW5nW10gPSBbXVxuICBASW5wdXQoKSBlbmFibGVQbGFjZWhvbGRlciA9IHRydWVcbiAgQElucHV0KCkgaW5wdXRQbGFjZWhvbGRlcjogc3RyaW5nID0gJydcbiAgQElucHV0KCkgY3NzQ2xhc3M/OiBzdHJpbmdcbiAgQElucHV0KCkgbmFtZT86IHN0cmluZ1xuICBASW5wdXQoKSBvbmx5Q291bnRyaWVzOiBzdHJpbmdbXSA9IFtdXG4gIEBJbnB1dCgpIGVycm9yU3RhdGVNYXRjaGVyOiBFcnJvclN0YXRlTWF0Y2hlciA9IHRoaXMuX2RlZmF1bHRFcnJvclN0YXRlTWF0Y2hlclxuICBASW5wdXQoKSBlbmFibGVTZWFyY2ggPSBmYWxzZVxuICBASW5wdXQoKSBzZWFyY2hQbGFjZWhvbGRlcj86IHN0cmluZ1xuICBASW5wdXQoKSBhdXRvY29tcGxldGU6ICdvZmYnIHwgJ3RlbCcgPSAnb2ZmJ1xuICBASW5wdXQoKVxuICBnZXQgZm9ybWF0KCk6IFBob25lTnVtYmVyRm9ybWF0IHtcbiAgICByZXR1cm4gdGhpcy5fZm9ybWF0XG4gIH1cblxuICBzZXQgZm9ybWF0KHZhbHVlOiBQaG9uZU51bWJlckZvcm1hdCkge1xuICAgIHRoaXMuX2Zvcm1hdCA9IHZhbHVlXG4gICAgdGhpcy5waG9uZU51bWJlciA9IHRoaXMuZm9ybWF0dGVkUGhvbmVOdW1iZXJcbiAgICB0aGlzLnN0YXRlQ2hhbmdlcy5uZXh0KClcbiAgfVxuXG4gIHByaXZhdGUgX3BsYWNlaG9sZGVyPzogc3RyaW5nXG4gIHByaXZhdGUgX3JlcXVpcmVkID0gZmFsc2VcbiAgcHJpdmF0ZSBfZGlzYWJsZWQgPSBmYWxzZVxuICBzdGF0ZUNoYW5nZXMgPSBuZXcgU3ViamVjdDx2b2lkPigpXG4gIGZvY3VzZWQgPSBmYWxzZVxuICBASG9zdEJpbmRpbmcoKVxuICBpZCA9IGBuZ3gtbWF0LWlucHV0LXRlbC0ke05neE1hdElucHV0VGVsQ29tcG9uZW50Lm5leHRJZCsrfWBcbiAgZGVzY3JpYmVkQnkgPSAnJ1xuICBwaG9uZU51bWJlcj86IEUxNjROdW1iZXIgfCBOYXRpb25hbE51bWJlciA9ICcnXG4gIGFsbENvdW50cmllczogQ291bnRyeVtdID0gW11cbiAgcHJlZmVycmVkQ291bnRyaWVzSW5Ecm9wRG93bjogQ291bnRyeVtdID0gW11cbiAgc2VsZWN0ZWRDb3VudHJ5ITogQ291bnRyeVxuICBudW1iZXJJbnN0YW5jZT86IFBob25lTnVtYmVyXG4gIHZhbHVlPzogYW55XG4gIHNlYXJjaENyaXRlcmlhPzogc3RyaW5nXG4gIEBPdXRwdXQoKVxuICBjb3VudHJ5Q2hhbmdlZDogRXZlbnRFbWl0dGVyPENvdW50cnk+ID0gbmV3IEV2ZW50RW1pdHRlcjxDb3VudHJ5PigpXG5cbiAgcHJpdmF0ZSBwcmV2aW91c0Zvcm1hdHRlZE51bWJlcj86IHN0cmluZ1xuICAvLyB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmU6dmFyaWFibGUtbmFtZVxuICBwcml2YXRlIF9mb3JtYXQ6IFBob25lTnVtYmVyRm9ybWF0ID0gJ2RlZmF1bHQnXG5cbiAgc3RhdGljIGdldFBob25lTnVtYmVyUGxhY2VIb2xkZXIoY291bnRyeUlTT0NvZGU6IGFueSk6IHN0cmluZyB8IHVuZGVmaW5lZCB7XG4gICAgdHJ5IHtcbiAgICAgIHJldHVybiBnZXRFeGFtcGxlTnVtYmVyKGNvdW50cnlJU09Db2RlLCBFeGFtcGxlcyk/Lm51bWJlci50b1N0cmluZygpXG4gICAgfSBjYXRjaCAoZSkge1xuICAgICAgcmV0dXJuIGUgYXMgYW55XG4gICAgfVxuICB9XG5cbiAgb25Ub3VjaGVkID0gKCkgPT4ge31cblxuICBwcm9wYWdhdGVDaGFuZ2UgPSAoXzogYW55KSA9PiB7fVxuXG4gIHByaXZhdGUgZXJyb3JTdGF0ZT86IGJvb2xlYW5cblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIF9jaGFuZ2VEZXRlY3RvclJlZjogQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgcHJpdmF0ZSBjb3VudHJ5Q29kZURhdGE6IENvdW50cnlDb2RlLFxuICAgIHByaXZhdGUgZm06IEZvY3VzTW9uaXRvcixcbiAgICBwcml2YXRlIGVsUmVmOiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PixcbiAgICBAT3B0aW9uYWwoKSBAU2VsZigpIF9uZ0NvbnRyb2w6IE5nQ29udHJvbCxcbiAgICBAT3B0aW9uYWwoKSBfcGFyZW50Rm9ybTogTmdGb3JtLFxuICAgIEBPcHRpb25hbCgpIF9wYXJlbnRGb3JtR3JvdXA6IEZvcm1Hcm91cERpcmVjdGl2ZSxcbiAgICBfZGVmYXVsdEVycm9yU3RhdGVNYXRjaGVyOiBFcnJvclN0YXRlTWF0Y2hlcixcbiAgKSB7XG4gICAgc3VwZXIoX2RlZmF1bHRFcnJvclN0YXRlTWF0Y2hlciwgX3BhcmVudEZvcm0sIF9wYXJlbnRGb3JtR3JvdXAsIF9uZ0NvbnRyb2wpXG4gICAgZm0ubW9uaXRvcihlbFJlZiwgdHJ1ZSkuc3Vic2NyaWJlKChvcmlnaW4pID0+IHtcbiAgICAgIGlmICh0aGlzLmZvY3VzZWQgJiYgIW9yaWdpbikge1xuICAgICAgICB0aGlzLm9uVG91Y2hlZCgpXG4gICAgICB9XG4gICAgICB0aGlzLmZvY3VzZWQgPSAhIW9yaWdpblxuICAgICAgdGhpcy5zdGF0ZUNoYW5nZXMubmV4dCgpXG4gICAgfSlcbiAgICB0aGlzLmZldGNoQ291bnRyeURhdGEoKVxuICAgIGlmICh0aGlzLm5nQ29udHJvbCAhPSBudWxsKSB7XG4gICAgICB0aGlzLm5nQ29udHJvbC52YWx1ZUFjY2Vzc29yID0gdGhpc1xuICAgIH1cbiAgfVxuXG4gIG5nT25Jbml0KCkge1xuICAgIGlmICghdGhpcy5zZWFyY2hQbGFjZWhvbGRlcikge1xuICAgICAgdGhpcy5zZWFyY2hQbGFjZWhvbGRlciA9ICdTZWFyY2ggLi4uJ1xuICAgIH1cbiAgICBpZiAodGhpcy5wcmVmZXJyZWRDb3VudHJpZXMubGVuZ3RoKSB7XG4gICAgICB0aGlzLnByZWZlcnJlZENvdW50cmllcy5mb3JFYWNoKChpc28yKSA9PiB7XG4gICAgICAgIGNvbnN0IHByZWZlcnJlZENvdW50cnkgPSB0aGlzLmFsbENvdW50cmllc1xuICAgICAgICAgIC5maWx0ZXIoKGMpID0+IHtcbiAgICAgICAgICAgIHJldHVybiBjLmlzbzIgPT09IGlzbzJcbiAgICAgICAgICB9KVxuICAgICAgICAgIC5zaGlmdCgpXG5cbiAgICAgICAgaWYgKHByZWZlcnJlZENvdW50cnkpIHRoaXMucHJlZmVycmVkQ291bnRyaWVzSW5Ecm9wRG93bi5wdXNoKHByZWZlcnJlZENvdW50cnkpXG4gICAgICB9KVxuICAgIH1cbiAgICBpZiAodGhpcy5vbmx5Q291bnRyaWVzLmxlbmd0aCkge1xuICAgICAgdGhpcy5hbGxDb3VudHJpZXMgPSB0aGlzLmFsbENvdW50cmllcy5maWx0ZXIoKGMpID0+IHRoaXMub25seUNvdW50cmllcy5pbmNsdWRlcyhjLmlzbzIpKVxuICAgIH1cbiAgICBpZiAodGhpcy5udW1iZXJJbnN0YW5jZSAmJiB0aGlzLm51bWJlckluc3RhbmNlLmNvdW50cnkpIHtcbiAgICAgIC8vIElmIGFuIGV4aXN0aW5nIG51bWJlciBpcyBwcmVzZW50LCB3ZSB1c2UgaXQgdG8gZGV0ZXJtaW5lIHNlbGVjdGVkQ291bnRyeVxuICAgICAgdGhpcy5zZWxlY3RlZENvdW50cnkgPSB0aGlzLmdldENvdW50cnkodGhpcy5udW1iZXJJbnN0YW5jZS5jb3VudHJ5KVxuICAgIH0gZWxzZSB7XG4gICAgICBpZiAodGhpcy5wcmVmZXJyZWRDb3VudHJpZXNJbkRyb3BEb3duLmxlbmd0aCkge1xuICAgICAgICB0aGlzLnNlbGVjdGVkQ291bnRyeSA9IHRoaXMucHJlZmVycmVkQ291bnRyaWVzSW5Ecm9wRG93blswXVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5zZWxlY3RlZENvdW50cnkgPSB0aGlzLmFsbENvdW50cmllc1swXVxuICAgICAgfVxuICAgIH1cbiAgICB0aGlzLmNvdW50cnlDaGFuZ2VkLmVtaXQodGhpcy5zZWxlY3RlZENvdW50cnkpXG4gICAgdGhpcy5fY2hhbmdlRGV0ZWN0b3JSZWYubWFya0ZvckNoZWNrKClcbiAgICB0aGlzLnN0YXRlQ2hhbmdlcy5uZXh0KClcbiAgfVxuICBuZ0RvQ2hlY2soKTogdm9pZCB7XG4gICAgaWYgKHRoaXMubmdDb250cm9sKSB7XG4gICAgICBjb25zdCBpc0ludmFsaWRlID0gdGhpcy5lcnJvclN0YXRlTWF0Y2hlci5pc0Vycm9yU3RhdGUoXG4gICAgICAgIHRoaXMubmdDb250cm9sLmNvbnRyb2wsXG4gICAgICAgIHRoaXMuX3BhcmVudEZvcm0sXG4gICAgICApXG5cbiAgICAgIHRoaXMuZXJyb3JTdGF0ZSA9XG4gICAgICAgIChpc0ludmFsaWRlICYmICF0aGlzLm5nQ29udHJvbC5jb250cm9sPy52YWx1ZSkgfHwgKCF0aGlzLmZvY3VzZWQgPyBpc0ludmFsaWRlIDogZmFsc2UpXG4gICAgfVxuICB9XG4gIHB1YmxpYyBvblBob25lTnVtYmVyQ2hhbmdlKCk6IHZvaWQge1xuICAgIGlmICghdGhpcy5waG9uZU51bWJlcikgcmV0dXJuXG5cbiAgICB0cnkge1xuICAgICAgdGhpcy5udW1iZXJJbnN0YW5jZSA9IHBhcnNlUGhvbmVOdW1iZXJGcm9tU3RyaW5nKFxuICAgICAgICB0aGlzLnBob25lTnVtYmVyLnRvU3RyaW5nKCksXG4gICAgICAgIHRoaXMuc2VsZWN0ZWRDb3VudHJ5LmlzbzIudG9VcHBlckNhc2UoKSBhcyBDQyxcbiAgICAgIClcbiAgICAgIHRoaXMuZm9ybWF0QXNZb3VUeXBlSWZFbmFibGVkKClcbiAgICAgIHRoaXMudmFsdWUgPSB0aGlzLm51bWJlckluc3RhbmNlPy5udW1iZXJcbiAgICAgIGlmICh0aGlzLm51bWJlckluc3RhbmNlICYmIHRoaXMubnVtYmVySW5zdGFuY2UuaXNWYWxpZCgpKSB7XG4gICAgICAgIGlmICh0aGlzLnBob25lTnVtYmVyICE9PSB0aGlzLmZvcm1hdHRlZFBob25lTnVtYmVyKSB7XG4gICAgICAgICAgdGhpcy5waG9uZU51bWJlciA9IHRoaXMuZm9ybWF0dGVkUGhvbmVOdW1iZXJcbiAgICAgICAgfVxuICAgICAgICBpZiAoXG4gICAgICAgICAgdGhpcy5zZWxlY3RlZENvdW50cnkuaXNvMiAhPT0gdGhpcy5udW1iZXJJbnN0YW5jZS5jb3VudHJ5ICYmXG4gICAgICAgICAgdGhpcy5udW1iZXJJbnN0YW5jZS5jb3VudHJ5XG4gICAgICAgICkge1xuICAgICAgICAgIHRoaXMuc2VsZWN0ZWRDb3VudHJ5ID0gdGhpcy5nZXRDb3VudHJ5KHRoaXMubnVtYmVySW5zdGFuY2UuY291bnRyeSlcbiAgICAgICAgICB0aGlzLmNvdW50cnlDaGFuZ2VkLmVtaXQodGhpcy5zZWxlY3RlZENvdW50cnkpXG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9IGNhdGNoIChlKSB7XG4gICAgICAvLyBpZiBubyBwb3NzaWJsZSBudW1iZXJzIGFyZSB0aGVyZSxcbiAgICAgIC8vIHRoZW4gdGhlIGZ1bGwgbnVtYmVyIGlzIHBhc3NlZCBzbyB0aGF0IHZhbGlkYXRvciBjb3VsZCBiZSB0cmlnZ2VyZWQgYW5kIHByb3BlciBlcnJvciBjb3VsZCBiZSBzaG93blxuICAgICAgdGhpcy52YWx1ZSA9IHRoaXMucGhvbmVOdW1iZXIudG9TdHJpbmcoKVxuICAgIH1cbiAgICB0aGlzLnByb3BhZ2F0ZUNoYW5nZSh0aGlzLnZhbHVlKVxuICAgIHRoaXMuX2NoYW5nZURldGVjdG9yUmVmLm1hcmtGb3JDaGVjaygpXG4gIH1cblxuICBwdWJsaWMgb25Db3VudHJ5U2VsZWN0KGNvdW50cnk6IENvdW50cnksIGVsOiBhbnkpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5waG9uZU51bWJlcikge1xuICAgICAgdGhpcy5waG9uZU51bWJlciA9IHRoaXMubnVtYmVySW5zdGFuY2U/Lm5hdGlvbmFsTnVtYmVyXG4gICAgfVxuICAgIHRoaXMuc2VsZWN0ZWRDb3VudHJ5ID0gY291bnRyeVxuICAgIHRoaXMuY291bnRyeUNoYW5nZWQuZW1pdCh0aGlzLnNlbGVjdGVkQ291bnRyeSlcbiAgICB0aGlzLm9uUGhvbmVOdW1iZXJDaGFuZ2UoKVxuICAgIGVsLmZvY3VzKClcbiAgfVxuXG4gIHB1YmxpYyBnZXRDb3VudHJ5KGNvZGU6IENDKTogQ291bnRyeSB7XG4gICAgcmV0dXJuICh0aGlzLmFsbENvdW50cmllcy5maW5kKChjKSA9PiBjLmlzbzIgPT09IGNvZGUudG9Mb3dlckNhc2UoKSkgfHwge1xuICAgICAgbmFtZTogJ1VOJyxcbiAgICAgIGlzbzI6ICdVTicsXG4gICAgICBkaWFsQ29kZTogdW5kZWZpbmVkLFxuICAgICAgcHJpb3JpdHk6IDAsXG4gICAgICBhcmVhQ29kZXM6IHVuZGVmaW5lZCxcbiAgICAgIGZsYWdDbGFzczogJ1VOJyxcbiAgICAgIHBsYWNlSG9sZGVyOiAnJyxcbiAgICB9KSBhcyBDb3VudHJ5XG4gIH1cblxuICBwdWJsaWMgb25JbnB1dEtleVByZXNzKGV2ZW50OiBhbnkpOiB2b2lkIHtcbiAgICBjb25zdCBwYXR0ZXJuID0gL1swLTkrXFwtIF0vXG4gICAgaWYgKCFwYXR0ZXJuLnRlc3QoZXZlbnQua2V5KSkge1xuICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKVxuICAgIH1cbiAgfVxuXG4gIHByb3RlY3RlZCBmZXRjaENvdW50cnlEYXRhKCk6IHZvaWQge1xuICAgIHRoaXMuY291bnRyeUNvZGVEYXRhLmFsbENvdW50cmllcy5mb3JFYWNoKChjKSA9PiB7XG4gICAgICBjb25zdCBjb3VudHJ5OiBDb3VudHJ5ID0ge1xuICAgICAgICBuYW1lOiBjWzBdLnRvU3RyaW5nKCksXG4gICAgICAgIGlzbzI6IGNbMV0udG9TdHJpbmcoKSxcbiAgICAgICAgZGlhbENvZGU6IGNbMl0udG9TdHJpbmcoKSxcbiAgICAgICAgcHJpb3JpdHk6ICtjWzNdIHx8IDAsXG4gICAgICAgIGFyZWFDb2RlczogKGNbNF0gYXMgc3RyaW5nW10pIHx8IHVuZGVmaW5lZCxcbiAgICAgICAgZmxhZ0NsYXNzOiBjWzFdLnRvU3RyaW5nKCkudG9VcHBlckNhc2UoKSxcbiAgICAgICAgcGxhY2VIb2xkZXI6ICcnLFxuICAgICAgfVxuXG4gICAgICBpZiAodGhpcy5lbmFibGVQbGFjZWhvbGRlcikge1xuICAgICAgICBjb3VudHJ5LnBsYWNlSG9sZGVyID0gTmd4TWF0SW5wdXRUZWxDb21wb25lbnQuZ2V0UGhvbmVOdW1iZXJQbGFjZUhvbGRlcihcbiAgICAgICAgICBjb3VudHJ5LmlzbzIudG9VcHBlckNhc2UoKSxcbiAgICAgICAgKVxuICAgICAgfVxuXG4gICAgICB0aGlzLmFsbENvdW50cmllcy5wdXNoKGNvdW50cnkpXG4gICAgfSlcbiAgfVxuXG4gIHJlZ2lzdGVyT25DaGFuZ2UoZm46IGFueSk6IHZvaWQge1xuICAgIHRoaXMucHJvcGFnYXRlQ2hhbmdlID0gZm5cbiAgfVxuXG4gIHJlZ2lzdGVyT25Ub3VjaGVkKGZuOiBhbnkpOiB2b2lkIHtcbiAgICB0aGlzLm9uVG91Y2hlZCA9IGZuXG4gIH1cblxuICBzZXREaXNhYmxlZFN0YXRlKGlzRGlzYWJsZWQ6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICB0aGlzLmRpc2FibGVkID0gaXNEaXNhYmxlZFxuICAgIHRoaXMuX2NoYW5nZURldGVjdG9yUmVmLm1hcmtGb3JDaGVjaygpXG4gICAgdGhpcy5zdGF0ZUNoYW5nZXMubmV4dCh1bmRlZmluZWQpXG4gIH1cblxuICB3cml0ZVZhbHVlKHZhbHVlOiBhbnkpOiB2b2lkIHtcbiAgICBpZiAodmFsdWUpIHtcbiAgICAgIHRoaXMubnVtYmVySW5zdGFuY2UgPSBwYXJzZVBob25lTnVtYmVyRnJvbVN0cmluZyh2YWx1ZSlcbiAgICAgIGlmICh0aGlzLm51bWJlckluc3RhbmNlKSB7XG4gICAgICAgIGNvbnN0IGNvdW50cnlDb2RlID0gdGhpcy5udW1iZXJJbnN0YW5jZS5jb3VudHJ5XG4gICAgICAgIHRoaXMucGhvbmVOdW1iZXIgPSB0aGlzLmZvcm1hdHRlZFBob25lTnVtYmVyXG4gICAgICAgIGlmICghY291bnRyeUNvZGUpIHtcbiAgICAgICAgICByZXR1cm5cbiAgICAgICAgfVxuICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICB0aGlzLnNlbGVjdGVkQ291bnRyeSA9IHRoaXMuZ2V0Q291bnRyeShjb3VudHJ5Q29kZSlcbiAgICAgICAgICBpZiAoXG4gICAgICAgICAgICB0aGlzLnNlbGVjdGVkQ291bnRyeS5kaWFsQ29kZSAmJlxuICAgICAgICAgICAgIXRoaXMucHJlZmVycmVkQ291bnRyaWVzLmluY2x1ZGVzKHRoaXMuc2VsZWN0ZWRDb3VudHJ5LmlzbzIpXG4gICAgICAgICAgKSB7XG4gICAgICAgICAgICB0aGlzLnByZWZlcnJlZENvdW50cmllc0luRHJvcERvd24ucHVzaCh0aGlzLnNlbGVjdGVkQ291bnRyeSlcbiAgICAgICAgICB9XG4gICAgICAgICAgdGhpcy5jb3VudHJ5Q2hhbmdlZC5lbWl0KHRoaXMuc2VsZWN0ZWRDb3VudHJ5KVxuXG4gICAgICAgICAgLy8gSW5pdGlhbCB2YWx1ZSBpcyBzZXRcbiAgICAgICAgICB0aGlzLl9jaGFuZ2VEZXRlY3RvclJlZi5tYXJrRm9yQ2hlY2soKVxuICAgICAgICAgIHRoaXMuc3RhdGVDaGFuZ2VzLm5leHQoKVxuICAgICAgICB9LCAxKVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5waG9uZU51bWJlciA9IHZhbHVlXG4gICAgICB9XG4gICAgfVxuICAgIC8vIEFuZ3VsYXIgYnVnXG4gICAgLy8gZWxzZSBpZiAodGhpcy5waG9uZU51bWJlciAhPT0gJycpIHtcbiAgICAvLyAgIHRoaXMucmVzZXQoKVxuICAgIC8vIH1cblxuICAgIC8vIFZhbHVlIGlzIHNldCBmcm9tIG91dHNpZGUgdXNpbmcgc2V0VmFsdWUoKVxuICAgIHRoaXMuX2NoYW5nZURldGVjdG9yUmVmLm1hcmtGb3JDaGVjaygpXG4gICAgdGhpcy5zdGF0ZUNoYW5nZXMubmV4dCh1bmRlZmluZWQpXG4gIH1cblxuICBnZXQgZW1wdHkoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuICF0aGlzLnBob25lTnVtYmVyXG4gIH1cblxuICBASG9zdEJpbmRpbmcoJ2NsYXNzLm5neC1mbG9hdGluZycpXG4gIGdldCBzaG91bGRMYWJlbEZsb2F0KCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmZvY3VzZWQgfHwgIXRoaXMuZW1wdHlcbiAgfVxuXG4gIEBJbnB1dCgpXG4gIGdldCBwbGFjZWhvbGRlcigpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLl9wbGFjZWhvbGRlciB8fCAnJ1xuICB9XG5cbiAgc2V0IHBsYWNlaG9sZGVyKHZhbHVlOiBzdHJpbmcpIHtcbiAgICB0aGlzLl9wbGFjZWhvbGRlciA9IHZhbHVlXG4gICAgdGhpcy5zdGF0ZUNoYW5nZXMubmV4dCh1bmRlZmluZWQpXG4gIH1cblxuICBASW5wdXQoKVxuICBnZXQgcmVxdWlyZWQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuX3JlcXVpcmVkXG4gIH1cblxuICBzZXQgcmVxdWlyZWQodmFsdWU6IGJvb2xlYW4pIHtcbiAgICB0aGlzLl9yZXF1aXJlZCA9IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSh2YWx1ZSlcbiAgICB0aGlzLnN0YXRlQ2hhbmdlcy5uZXh0KHVuZGVmaW5lZClcbiAgfVxuXG4gIEBJbnB1dCgpXG4gIGdldCBkaXNhYmxlZCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5fZGlzYWJsZWRcbiAgfVxuXG4gIHNldCBkaXNhYmxlZCh2YWx1ZTogYm9vbGVhbikge1xuICAgIHRoaXMuX2Rpc2FibGVkID0gY29lcmNlQm9vbGVhblByb3BlcnR5KHZhbHVlKVxuICAgIHRoaXMuc3RhdGVDaGFuZ2VzLm5leHQodW5kZWZpbmVkKVxuICB9XG5cbiAgc2V0RGVzY3JpYmVkQnlJZHMoaWRzOiBzdHJpbmdbXSkge1xuICAgIHRoaXMuZGVzY3JpYmVkQnkgPSBpZHMuam9pbignICcpXG4gIH1cblxuICBvbkNvbnRhaW5lckNsaWNrKGV2ZW50OiBNb3VzZUV2ZW50KTogdm9pZCB7XG4gICAgaWYgKChldmVudC50YXJnZXQgYXMgRWxlbWVudCkudGFnTmFtZS50b0xvd2VyQ2FzZSgpICE9PSAnaW5wdXQnKSB7XG4gICAgICAvLyB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmU6bm8tbm9uLW51bGwtYXNzZXJ0aW9uXG4gICAgICB0aGlzLmVsUmVmLm5hdGl2ZUVsZW1lbnQucXVlcnlTZWxlY3RvcignaW5wdXQnKSEuZm9jdXMoKVxuICAgIH1cbiAgfVxuXG4gIHJlc2V0KCkge1xuICAgIHRoaXMucGhvbmVOdW1iZXIgPSAnJ1xuICAgIHRoaXMucHJvcGFnYXRlQ2hhbmdlKG51bGwpXG5cbiAgICB0aGlzLl9jaGFuZ2VEZXRlY3RvclJlZi5tYXJrRm9yQ2hlY2soKVxuICAgIHRoaXMuc3RhdGVDaGFuZ2VzLm5leHQodW5kZWZpbmVkKVxuICB9XG5cbiAgbmdPbkRlc3Ryb3koKSB7XG4gICAgdGhpcy5zdGF0ZUNoYW5nZXMuY29tcGxldGUoKVxuICAgIHRoaXMuZm0uc3RvcE1vbml0b3JpbmcodGhpcy5lbFJlZilcbiAgfVxuXG4gIHByaXZhdGUgZ2V0IGZvcm1hdHRlZFBob25lTnVtYmVyKCk6IHN0cmluZyB7XG4gICAgaWYgKCF0aGlzLm51bWJlckluc3RhbmNlKSB7XG4gICAgICByZXR1cm4gdGhpcy5waG9uZU51bWJlcj8udG9TdHJpbmcoKSB8fCAnJ1xuICAgIH1cbiAgICBzd2l0Y2ggKHRoaXMuZm9ybWF0KSB7XG4gICAgICBjYXNlICduYXRpb25hbCc6XG4gICAgICAgIHJldHVybiB0aGlzLm51bWJlckluc3RhbmNlLmZvcm1hdE5hdGlvbmFsKClcbiAgICAgIGNhc2UgJ2ludGVybmF0aW9uYWwnOlxuICAgICAgICByZXR1cm4gdGhpcy5udW1iZXJJbnN0YW5jZS5mb3JtYXRJbnRlcm5hdGlvbmFsKClcbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIHJldHVybiB0aGlzLm51bWJlckluc3RhbmNlLm5hdGlvbmFsTnVtYmVyLnRvU3RyaW5nKClcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGZvcm1hdEFzWW91VHlwZUlmRW5hYmxlZCgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5mb3JtYXQgPT09ICdkZWZhdWx0Jykge1xuICAgICAgcmV0dXJuXG4gICAgfVxuICAgIGNvbnN0IGFzWW91VHlwZTogQXNZb3VUeXBlID0gbmV3IEFzWW91VHlwZSh0aGlzLnNlbGVjdGVkQ291bnRyeS5pc28yLnRvVXBwZXJDYXNlKCkgYXMgQ0MpXG4gICAgLy8gVG8gYXZvaWQgY2FyZXQgcG9zaXRpb25pbmcgd2UgYXBwbHkgZm9ybWF0dGluZyBvbmx5IGlmIHRoZSBjYXJldCBpcyBhdCB0aGUgZW5kOlxuICAgIGlmICghdGhpcy5waG9uZU51bWJlcikgcmV0dXJuXG5cbiAgICBpZiAodGhpcy5waG9uZU51bWJlcj8udG9TdHJpbmcoKS5zdGFydHNXaXRoKHRoaXMucHJldmlvdXNGb3JtYXR0ZWROdW1iZXIgfHwgJycpKSB7XG4gICAgICB0aGlzLnBob25lTnVtYmVyID0gYXNZb3VUeXBlLmlucHV0KHRoaXMucGhvbmVOdW1iZXIudG9TdHJpbmcoKSlcbiAgICB9XG4gICAgdGhpcy5wcmV2aW91c0Zvcm1hdHRlZE51bWJlciA9IHRoaXMucGhvbmVOdW1iZXIudG9TdHJpbmcoKVxuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwibmd4LW1hdC1pbnB1dC10ZWwtY29udGFpbmVyXCI+XG4gIDxidXR0b25cbiAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICBtYXQtYnV0dG9uXG4gICAgW21hdE1lbnVUcmlnZ2VyRm9yXT1cIm1lbnVcIlxuICAgIGNsYXNzPVwiY291bnRyeS1zZWxlY3RvclwiXG4gICAgW2Rpc2FibGVkXT1cImRpc2FibGVkXCJcbiAgICAobWVudU9wZW5lZCk9XCJtZW51U2VhcmNoSW5wdXQ/Lm5hdGl2ZUVsZW1lbnQ/LmZvY3VzKClcIlxuICA+XG4gICAgPHNwYW4gY2xhc3M9XCJjb3VudHJ5LXNlbGVjdG9yLWZsYWcgZmxhZ1wiIFtuZ0NsYXNzXT1cInNlbGVjdGVkQ291bnRyeS5mbGFnQ2xhc3NcIj48L3NwYW4+XG4gICAgPHNwYW4gY2xhc3M9XCJjb3VudHJ5LXNlbGVjdG9yLWNvZGVcIiAqbmdJZj1cInNlbGVjdGVkQ291bnRyeT8uZGlhbENvZGVcIlxuICAgICAgPit7eyBzZWxlY3RlZENvdW50cnkuZGlhbENvZGUgfX08L3NwYW5cbiAgICA+XG4gIDwvYnV0dG9uPlxuXG4gIDxtYXQtbWVudVxuICAgICNtZW51PVwibWF0TWVudVwiXG4gICAgY2xhc3M9XCJuZ3gtbWF0LWlucHV0LXRlbC1tYXQtbWVudS1wYW5lbFwiXG4gICAgYmFja2Ryb3BDbGFzcz1cIm5neC1tYXQtaW5wdXQtdGVsLW92ZXJsYXktYmFja2Ryb3BcIlxuICAgIG92ZXJsYXlQYW5lbENsYXNzPVwibmd4LW1hdC1pbnB1dC10ZWwtb3ZlcmxheS1wYW5lXCJcbiAgPlxuICAgIDxpbnB1dFxuICAgICAgI21lbnVTZWFyY2hJbnB1dFxuICAgICAgKm5nSWY9XCJlbmFibGVTZWFyY2hcIlxuICAgICAgY2xhc3M9XCJjb3VudHJ5LXNlYXJjaFwiXG4gICAgICBbKG5nTW9kZWwpXT1cInNlYXJjaENyaXRlcmlhXCJcbiAgICAgIHR5cGU9XCJ0ZXh0XCJcbiAgICAgIFtwbGFjZWhvbGRlcl09XCJzZWFyY2hQbGFjZWhvbGRlclwiXG4gICAgICAoY2xpY2spPVwiJGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpXCJcbiAgICAgIHN0eWxlPVwiXG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IDM0cHg7XG4gICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNkZGQ7XG4gICAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgICAgcGFkZGluZzogMjBweCAyMHB4IDI0cHg7XG4gICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICBcIlxuICAgIC8+XG4gICAgPGJ1dHRvblxuICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICBtYXQtbWVudS1pdGVtXG4gICAgICBjbGFzcz1cImNvdW50cnktbGlzdC1idXR0b25cIlxuICAgICAgKm5nRm9yPVwibGV0IGNvdW50cnkgb2YgcHJlZmVycmVkQ291bnRyaWVzSW5Ecm9wRG93blwiXG4gICAgICAoY2xpY2spPVwib25Db3VudHJ5U2VsZWN0KGNvdW50cnksIGZvY3VzYWJsZSlcIlxuICAgID5cbiAgICAgIDxkaXYgY2xhc3M9XCJpY29uLXdyYXBwZXJcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImZsYWdcIiBbbmdDbGFzc109XCJjb3VudHJ5LmZsYWdDbGFzc1wiPjwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2IGNsYXNzPVwibGFiZWwtd3JhcHBlclwiPlxuICAgICAgICB7eyBjb3VudHJ5Lm5hbWUgfX1cbiAgICAgICAgPHNwYW4gKm5nSWY9XCJjb3VudHJ5Py5kaWFsQ29kZVwiPit7eyBjb3VudHJ5LmRpYWxDb2RlIH19PC9zcGFuPlxuICAgICAgPC9kaXY+XG4gICAgPC9idXR0b24+XG4gICAgPG1hdC1kaXZpZGVyICpuZ0lmPVwicHJlZmVycmVkQ291bnRyaWVzSW5Ecm9wRG93bj8ubGVuZ3RoXCI+PC9tYXQtZGl2aWRlcj5cbiAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBjb3VudHJ5IG9mIGFsbENvdW50cmllc1wiPlxuICAgICAgPGJ1dHRvblxuICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgbWF0LW1lbnUtaXRlbVxuICAgICAgICBjbGFzcz1cImNvdW50cnktbGlzdC1idXR0b25cIlxuICAgICAgICAqbmdJZj1cImNvdW50cnkgfCBzZWFyY2ggOiBzZWFyY2hDcml0ZXJpYVwiXG4gICAgICAgIChjbGljayk9XCJvbkNvdW50cnlTZWxlY3QoY291bnRyeSwgZm9jdXNhYmxlKVwiXG4gICAgICA+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJpY29uLXdyYXBwZXJcIj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmxhZ1wiIFtuZ0NsYXNzXT1cImNvdW50cnkuZmxhZ0NsYXNzXCI+PC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzPVwibGFiZWwtd3JhcHBlclwiPnt7IGNvdW50cnkubmFtZSB9fSAre3sgY291bnRyeS5kaWFsQ29kZSB9fTwvZGl2PlxuICAgICAgPC9idXR0b24+XG4gICAgPC9uZy1jb250YWluZXI+XG4gIDwvbWF0LW1lbnU+XG5cbiAgPGlucHV0XG4gICAgbWF0SW5wdXRcbiAgICB0eXBlPVwidGVsXCJcbiAgICBpbnB1dG1vZGU9XCJ0ZWxcIlxuICAgIFthdXRvY29tcGxldGVdPVwiYXV0b2NvbXBsZXRlXCJcbiAgICBbbmdDbGFzc109XCJjc3NDbGFzc1wiXG4gICAgKGJsdXIpPVwib25Ub3VjaGVkKClcIlxuICAgIChrZXlwcmVzcyk9XCJvbklucHV0S2V5UHJlc3MoJGV2ZW50KVwiXG4gICAgWyhuZ01vZGVsKV09XCJwaG9uZU51bWJlclwiXG4gICAgKG5nTW9kZWxDaGFuZ2UpPVwib25QaG9uZU51bWJlckNoYW5nZSgpXCJcbiAgICBbZXJyb3JTdGF0ZU1hdGNoZXJdPVwiZXJyb3JTdGF0ZU1hdGNoZXJcIlxuICAgIFtwbGFjZWhvbGRlcl09XCJpbnB1dFBsYWNlaG9sZGVyXCJcbiAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxuICAgICNmb2N1c2FibGVcbiAgLz5cbjwvZGl2PlxuIl19
@@ -619,9 +619,7 @@ class ngxMatInputTelBase {
619
619
  _parentForm;
620
620
  _parentFormGroup;
621
621
  ngControl;
622
- constructor(_defaultErrorStateMatcher, _parentForm, _parentFormGroup,
623
- /** @docs-private */
624
- ngControl) {
622
+ constructor(_defaultErrorStateMatcher, _parentForm, _parentFormGroup, ngControl) {
625
623
  this._defaultErrorStateMatcher = _defaultErrorStateMatcher;
626
624
  this._parentForm = _parentForm;
627
625
  this._parentFormGroup = _parentFormGroup;
@@ -742,8 +740,6 @@ class NgxMatInputTelComponent extends _ngxMatInputTelMixinBase {
742
740
  const isInvalide = this.errorStateMatcher.isErrorState(this.ngControl.control, this._parentForm);
743
741
  this.errorState =
744
742
  (isInvalide && !this.ngControl.control?.value) || (!this.focused ? isInvalide : false);
745
- if (isInvalide && this.ngControl.control?.touched)
746
- this.focusable.nativeElement.focus();
747
743
  }
748
744
  }
749
745
  onPhoneNumberChange() {
@@ -1 +1 @@
1
- {"version":3,"file":"ngx-mat-input-tel.mjs","sources":["../../../projects/ngx-mat-input-tel/src/lib/data/country-code.ts","../../../projects/ngx-mat-input-tel/src/lib/ngx-mat-input-tel.validator.ts","../../../projects/ngx-mat-input-tel/src/lib/search.pipe.ts","../../../projects/ngx-mat-input-tel/src/lib/ngx-mat-input-tel.component.ts","../../../projects/ngx-mat-input-tel/src/lib/ngx-mat-input-tel.component.html","../../../projects/ngx-mat-input-tel/src/public-api.ts","../../../projects/ngx-mat-input-tel/src/ngx-mat-input-tel.ts"],"sourcesContent":["/* eslint-disable */\n\nimport { Injectable } from '@angular/core'\n@Injectable()\nexport class CountryCode {\n public allCountries = [\n ['Afghanistan (‫افغانستان‬‎)', 'af', '93'],\n ['Albania (Shqipëri)', 'al', '355'],\n ['Algeria (‫الجزائر‬‎)', 'dz', '213'],\n ['American Samoa', 'as', '1684'],\n ['Andorra', 'ad', '376'],\n ['Angola', 'ao', '244'],\n ['Anguilla', 'ai', '1264'],\n ['Antigua and Barbuda', 'ag', '1268'],\n ['Argentina', 'ar', '54'],\n ['Armenia (Հայաստան)', 'am', '374'],\n ['Aruba', 'aw', '297'],\n ['Australia', 'au', '61', 0],\n ['Austria (Österreich)', 'at', '43'],\n ['Azerbaijan (Azərbaycan)', 'az', '994'],\n ['Bahamas', 'bs', '1242'],\n ['Bahrain (‫البحرين‬‎)', 'bh', '973'],\n ['Bangladesh (বাংলাদেশ)', 'bd', '880'],\n ['Barbados', 'bb', '1246'],\n ['Belarus (Беларусь)', 'by', '375'],\n ['Belgium (België)', 'be', '32'],\n ['Belize', 'bz', '501'],\n ['Benin (Bénin)', 'bj', '229'],\n ['Bermuda', 'bm', '1441'],\n ['Bhutan (འབྲུག)', 'bt', '975'],\n ['Bolivia', 'bo', '591'],\n ['Bosnia and Herzegovina (Босна и Херцеговина)', 'ba', '387'],\n ['Botswana', 'bw', '267'],\n ['Brazil (Brasil)', 'br', '55'],\n ['British Indian Ocean Territory', 'io', '246'],\n ['British Virgin Islands', 'vg', '1284'],\n ['Brunei', 'bn', '673'],\n ['Bulgaria (България)', 'bg', '359'],\n ['Burkina Faso', 'bf', '226'],\n ['Burundi (Uburundi)', 'bi', '257'],\n ['Cambodia (កម្ពុជា)', 'kh', '855'],\n ['Cameroon (Cameroun)', 'cm', '237'],\n [\n 'Canada',\n 'ca',\n '1',\n 1,\n [\n '204',\n '226',\n '236',\n '249',\n '250',\n '289',\n '306',\n '343',\n '365',\n '387',\n '403',\n '416',\n '418',\n '431',\n '437',\n '438',\n '450',\n '506',\n '514',\n '519',\n '548',\n '579',\n '581',\n '587',\n '604',\n '613',\n '639',\n '647',\n '672',\n '705',\n '709',\n '742',\n '778',\n '780',\n '782',\n '807',\n '819',\n '825',\n '867',\n '873',\n '902',\n '905',\n ],\n ],\n ['Cape Verde (Kabu Verdi)', 'cv', '238'],\n ['Caribbean Netherlands', 'bq', '599', 1],\n ['Cayman Islands', 'ky', '1345'],\n ['Central African Republic (République centrafricaine)', 'cf', '236'],\n ['Chad (Tchad)', 'td', '235'],\n ['Chile', 'cl', '56'],\n ['China (中国)', 'cn', '86'],\n ['Christmas Island', 'cx', '61', 2],\n ['Cocos (Keeling) Islands', 'cc', '61', 1],\n ['Colombia', 'co', '57'],\n ['Comoros (‫جزر القمر‬‎)', 'km', '269'],\n ['Congo (DRC) (Jamhuri ya Kidemokrasia ya Kongo)', 'cd', '243'],\n ['Congo (Republic) (Congo-Brazzaville)', 'cg', '242'],\n ['Cook Islands', 'ck', '682'],\n ['Costa Rica', 'cr', '506'],\n ['Côte d’Ivoire', 'ci', '225'],\n ['Croatia (Hrvatska)', 'hr', '385'],\n ['Cuba', 'cu', '53'],\n ['Curaçao', 'cw', '599', 0],\n ['Cyprus (Κύπρος)', 'cy', '357'],\n ['Czech Republic (Česká republika)', 'cz', '420'],\n ['Denmark (Danmark)', 'dk', '45'],\n ['Djibouti', 'dj', '253'],\n ['Dominica', 'dm', '1767'],\n ['Dominican Republic (República Dominicana)', 'do', '1', 2, ['809', '829', '849']],\n ['Ecuador', 'ec', '593'],\n ['Egypt (‫مصر‬‎)', 'eg', '20'],\n ['El Salvador', 'sv', '503'],\n ['Equatorial Guinea (Guinea Ecuatorial)', 'gq', '240'],\n ['Eritrea', 'er', '291'],\n ['Estonia (Eesti)', 'ee', '372'],\n ['Ethiopia', 'et', '251'],\n ['Falkland Islands (Islas Malvinas)', 'fk', '500'],\n ['Faroe Islands (Føroyar)', 'fo', '298'],\n ['Fiji', 'fj', '679'],\n ['Finland (Suomi)', 'fi', '358', 0],\n ['France', 'fr', '33'],\n ['French Guiana (Guyane française)', 'gf', '594'],\n ['French Polynesia (Polynésie française)', 'pf', '689'],\n ['Gabon', 'ga', '241'],\n ['Gambia', 'gm', '220'],\n ['Georgia (საქართველო)', 'ge', '995'],\n ['Germany (Deutschland)', 'de', '49'],\n ['Ghana (Gaana)', 'gh', '233'],\n ['Gibraltar', 'gi', '350'],\n ['Greece (Ελλάδα)', 'gr', '30'],\n ['Greenland (Kalaallit Nunaat)', 'gl', '299'],\n ['Grenada', 'gd', '1473'],\n ['Guadeloupe', 'gp', '590', 0],\n ['Guam', 'gu', '1671'],\n ['Guatemala', 'gt', '502'],\n ['Guernsey', 'gg', '44', 1],\n ['Guinea (Guinée)', 'gn', '224'],\n ['Guinea-Bissau (Guiné Bissau)', 'gw', '245'],\n ['Guyana', 'gy', '592'],\n ['Haiti', 'ht', '509'],\n ['Honduras', 'hn', '504'],\n ['Hong Kong (香港)', 'hk', '852'],\n ['Hungary (Magyarország)', 'hu', '36'],\n ['Iceland (Ísland)', 'is', '354'],\n ['India (भारत)', 'in', '91'],\n ['Indonesia', 'id', '62'],\n ['Iran (‫ایران‬‎)', 'ir', '98'],\n ['Iraq (‫العراق‬‎)', 'iq', '964'],\n ['Ireland', 'ie', '353'],\n ['Isle of Man', 'im', '44', 2],\n ['Israel (‫ישראל‬‎)', 'il', '972'],\n ['Italy (Italia)', 'it', '39', 0],\n ['Jamaica', 'jm', '1', 4, ['876', '658']],\n ['Japan (日本)', 'jp', '81'],\n ['Jersey', 'je', '44', 3],\n ['Jordan (‫الأردن‬‎)', 'jo', '962'],\n ['Kazakhstan (Казахстан)', 'kz', '7', 1],\n ['Kenya', 'ke', '254'],\n ['Kiribati', 'ki', '686'],\n ['Kosovo', 'xk', '383'],\n ['Kuwait (‫الكويت‬‎)', 'kw', '965'],\n ['Kyrgyzstan (Кыргызстан)', 'kg', '996'],\n ['Laos (ລາວ)', 'la', '856'],\n ['Latvia (Latvija)', 'lv', '371'],\n ['Lebanon (‫لبنان‬‎)', 'lb', '961'],\n ['Lesotho', 'ls', '266'],\n ['Liberia', 'lr', '231'],\n ['Libya (‫ليبيا‬‎)', 'ly', '218'],\n ['Liechtenstein', 'li', '423'],\n ['Lithuania (Lietuva)', 'lt', '370'],\n ['Luxembourg', 'lu', '352'],\n ['Macau (澳門)', 'mo', '853'],\n ['Macedonia (FYROM) (Македонија)', 'mk', '389'],\n ['Madagascar (Madagasikara)', 'mg', '261'],\n ['Malawi', 'mw', '265'],\n ['Malaysia', 'my', '60'],\n ['Maldives', 'mv', '960'],\n ['Mali', 'ml', '223'],\n ['Malta', 'mt', '356'],\n ['Marshall Islands', 'mh', '692'],\n ['Martinique', 'mq', '596'],\n ['Mauritania (‫موريتانيا‬‎)', 'mr', '222'],\n ['Mauritius (Moris)', 'mu', '230'],\n ['Mayotte', 'yt', '262', 1],\n ['Mexico (México)', 'mx', '52'],\n ['Micronesia', 'fm', '691'],\n ['Moldova (Republica Moldova)', 'md', '373'],\n ['Monaco', 'mc', '377'],\n ['Mongolia (Монгол)', 'mn', '976'],\n ['Montenegro (Crna Gora)', 'me', '382'],\n ['Montserrat', 'ms', '1664'],\n ['Morocco (‫المغرب‬‎)', 'ma', '212', 0],\n ['Mozambique (Moçambique)', 'mz', '258'],\n ['Myanmar (Burma) (မြန်မာ)', 'mm', '95'],\n ['Namibia (Namibië)', 'na', '264'],\n ['Nauru', 'nr', '674'],\n ['Nepal (नेपाल)', 'np', '977'],\n ['Netherlands (Nederland)', 'nl', '31'],\n ['New Caledonia (Nouvelle-Calédonie)', 'nc', '687'],\n ['New Zealand', 'nz', '64'],\n ['Nicaragua', 'ni', '505'],\n ['Niger (Nijar)', 'ne', '227'],\n ['Nigeria', 'ng', '234'],\n ['Niue', 'nu', '683'],\n ['Norfolk Island', 'nf', '672'],\n ['North Korea (조선 민주주의 인민 공화국)', 'kp', '850'],\n ['Northern Mariana Islands', 'mp', '1670'],\n ['Norway (Norge)', 'no', '47', 0],\n ['Oman (‫عُمان‬‎)', 'om', '968'],\n ['Pakistan (‫پاکستان‬‎)', 'pk', '92'],\n ['Palau', 'pw', '680'],\n ['Palestine (‫فلسطين‬‎)', 'ps', '970'],\n ['Panama (Panamá)', 'pa', '507'],\n ['Papua New Guinea', 'pg', '675'],\n ['Paraguay', 'py', '595'],\n ['Peru (Perú)', 'pe', '51'],\n ['Philippines', 'ph', '63'],\n ['Poland (Polska)', 'pl', '48'],\n ['Portugal', 'pt', '351'],\n ['Puerto Rico', 'pr', '1', 3, ['787', '939']],\n ['Qatar (‫قطر‬‎)', 'qa', '974'],\n ['Réunion (La Réunion)', 're', '262', 0],\n ['Romania (România)', 'ro', '40'],\n ['Russia (Россия)', 'ru', '7', 0],\n ['Rwanda', 'rw', '250'],\n ['Saint Barthélemy', 'bl', '590', 1],\n ['Saint Helena', 'sh', '290'],\n ['Saint Kitts and Nevis', 'kn', '1869'],\n ['Saint Lucia', 'lc', '1758'],\n ['Saint Martin (Saint-Martin (partie française))', 'mf', '590', 2],\n ['Saint Pierre and Miquelon (Saint-Pierre-et-Miquelon)', 'pm', '508'],\n ['Saint Vincent and the Grenadines', 'vc', '1784'],\n ['Samoa', 'ws', '685'],\n ['San Marino', 'sm', '378'],\n ['São Tomé and Príncipe (São Tomé e Príncipe)', 'st', '239'],\n ['Saudi Arabia (‫المملكة العربية السعودية‬‎)', 'sa', '966'],\n ['Senegal (Sénégal)', 'sn', '221'],\n ['Serbia (Србија)', 'rs', '381'],\n ['Seychelles', 'sc', '248'],\n ['Sierra Leone', 'sl', '232'],\n ['Singapore', 'sg', '65'],\n ['Sint Maarten', 'sx', '1721'],\n ['Slovakia (Slovensko)', 'sk', '421'],\n ['Slovenia (Slovenija)', 'si', '386'],\n ['Solomon Islands', 'sb', '677'],\n ['Somalia (Soomaaliya)', 'so', '252'],\n ['South Africa', 'za', '27'],\n ['South Korea (대한민국)', 'kr', '82'],\n ['South Sudan (‫جنوب السودان‬‎)', 'ss', '211'],\n ['Spain (España)', 'es', '34'],\n ['Sri Lanka (ශ්‍රී ලංකාව)', 'lk', '94'],\n ['Sudan (‫السودان‬‎)', 'sd', '249'],\n ['Suriname', 'sr', '597'],\n ['Svalbard and Jan Mayen', 'sj', '47', 1],\n ['Swaziland', 'sz', '268'],\n ['Sweden (Sverige)', 'se', '46'],\n ['Switzerland (Schweiz)', 'ch', '41'],\n ['Syria (‫سوريا‬‎)', 'sy', '963'],\n ['Taiwan (台灣)', 'tw', '886'],\n ['Tajikistan', 'tj', '992'],\n ['Tanzania', 'tz', '255'],\n ['Thailand (ไทย)', 'th', '66'],\n ['Timor-Leste', 'tl', '670'],\n ['Togo', 'tg', '228'],\n ['Tokelau', 'tk', '690'],\n ['Tonga', 'to', '676'],\n ['Trinidad and Tobago', 'tt', '1868'],\n ['Tunisia (‫تونس‬‎)', 'tn', '216'],\n ['Turkey (Türkiye)', 'tr', '90'],\n ['Turkmenistan', 'tm', '993'],\n ['Turks and Caicos Islands', 'tc', '1649'],\n ['Tuvalu', 'tv', '688'],\n ['U.S. Virgin Islands', 'vi', '1340'],\n ['Uganda', 'ug', '256'],\n ['Ukraine (Україна)', 'ua', '380'],\n ['United Arab Emirates (‫الإمارات العربية المتحدة‬‎)', 'ae', '971'],\n ['United Kingdom', 'gb', '44', 0],\n ['United States', 'us', '1', 0],\n ['Uruguay', 'uy', '598'],\n ['Uzbekistan (Oʻzbekiston)', 'uz', '998'],\n ['Vanuatu', 'vu', '678'],\n ['Vatican City (Città del Vaticano)', 'va', '39', 1],\n ['Venezuela', 've', '58'],\n ['Vietnam (Việt Nam)', 'vn', '84'],\n ['Wallis and Futuna (Wallis-et-Futuna)', 'wf', '681'],\n ['Western Sahara (‫الصحراء الغربية‬‎)', 'eh', '212', 1],\n ['Yemen (‫اليمن‬‎)', 'ye', '967'],\n ['Zambia', 'zm', '260'],\n ['Zimbabwe', 'zw', '263'],\n ['Åland Islands', 'ax', '358', 1],\n ]\n}\n\nexport const Examples: any = {\n '001': '001',\n AC: '40123',\n AD: '312345',\n AE: '501234567',\n AF: '701234567',\n AG: '2684641234',\n AI: '2642351234',\n AL: '662123456',\n AM: '77123456',\n AO: '923123456',\n AR: '91123456789',\n AS: '6847331234',\n AT: '664123456',\n AU: '412345678',\n AW: '5601234',\n AX: '412345678',\n AZ: '401234567',\n BA: '61123456',\n BB: '2462501234',\n BD: '1812345678',\n BE: '470123456',\n BF: '70123456',\n BG: '48123456',\n BH: '36001234',\n BI: '79561234',\n BJ: '90011234',\n BL: '690001234',\n BM: '4413701234',\n BN: '7123456',\n BO: '71234567',\n BQ: '3181234',\n BR: '11961234567',\n BS: '2423591234',\n BT: '17123456',\n BW: '71123456',\n BY: '294911911',\n BZ: '6221234',\n CA: '5062345678',\n CC: '412345678',\n CD: '991234567',\n CF: '70012345',\n CG: '061234567',\n CH: '781234567',\n CI: '01234567',\n CK: '71234',\n CL: '221234567',\n CM: '671234567',\n CN: '13123456789',\n CO: '3211234567',\n CR: '83123456',\n CU: '51234567',\n CV: '9911234',\n CW: '95181234',\n CX: '412345678',\n CY: '96123456',\n CZ: '601123456',\n DE: '15123456789',\n DJ: '77831001',\n DK: '32123456',\n DM: '7672251234',\n DO: '8092345678',\n DZ: '551234567',\n EC: '991234567',\n EE: '51234567',\n EG: '1001234567',\n EH: '650123456',\n ER: '7123456',\n ES: '612345678',\n ET: '911234567',\n FI: '412345678',\n FJ: '7012345',\n FK: '51234',\n FM: '3501234',\n FO: '211234',\n FR: '612345678',\n GA: '06031234',\n GB: '7400123456',\n GD: '4734031234',\n GE: '555123456',\n GF: '694201234',\n GG: '7781123456',\n GH: '231234567',\n GI: '57123456',\n GL: '221234',\n GM: '3012345',\n GN: '601123456',\n GP: '690001234',\n GQ: '222123456',\n GR: '6912345678',\n GT: '51234567',\n GU: '6713001234',\n GW: '955012345',\n GY: '6091234',\n HK: '51234567',\n HN: '91234567',\n HR: '921234567',\n HT: '34101234',\n HU: '201234567',\n ID: '812345678',\n IE: '850123456',\n IL: '502345678',\n IM: '7924123456',\n IN: '8123456789',\n IO: '3801234',\n IQ: '7912345678',\n IR: '9123456789',\n IS: '6111234',\n IT: '3123456789',\n JE: '7797712345',\n JM: '8762101234',\n JO: '790123456',\n JP: '9012345678',\n KE: '712123456',\n KG: '700123456',\n KH: '91234567',\n KI: '72001234',\n KM: '3212345',\n KN: '8697652917',\n KP: '1921234567',\n KR: '1000000000',\n KW: '50012345',\n KY: '3453231234',\n KZ: '7710009998',\n LA: '2023123456',\n LB: '71123456',\n LC: '7582845678',\n LI: '660234567',\n LK: '712345678',\n LR: '770123456',\n LS: '50123456',\n LT: '61234567',\n LU: '628123456',\n LV: '21234567',\n LY: '912345678',\n MA: '650123456',\n MC: '612345678',\n MD: '62112345',\n ME: '67622901',\n MF: '690001234',\n MG: '321234567',\n MH: '2351234',\n MK: '72345678',\n ML: '65012345',\n MM: '92123456',\n MN: '88123456',\n MO: '66123456',\n MP: '6702345678',\n MQ: '696201234',\n MR: '22123456',\n MS: '6644923456',\n MT: '96961234',\n MU: '52512345',\n MV: '7712345',\n MW: '991234567',\n MX: '12221234567',\n MY: '123456789',\n MZ: '821234567',\n NA: '811234567',\n NC: '751234',\n NE: '93123456',\n NF: '381234',\n NG: '8021234567',\n NI: '81234567',\n NL: '612345678',\n NO: '40612345',\n NP: '9841234567',\n NR: '5551234',\n NU: '8884012',\n NZ: '211234567',\n OM: '92123456',\n PA: '61234567',\n PE: '912345678',\n PF: '87123456',\n PG: '70123456',\n PH: '9051234567',\n PK: '3012345678',\n PL: '512345678',\n PM: '551234',\n PR: '7872345678',\n PS: '599123456',\n PT: '912345678',\n PW: '6201234',\n PY: '961456789',\n QA: '33123456',\n RE: '692123456',\n RO: '712034567',\n RS: '601234567',\n RU: '9123456789',\n RW: '720123456',\n SA: '512345678',\n SB: '7421234',\n SC: '2510123',\n SD: '911231234',\n SE: '701234567',\n SG: '81234567',\n SH: '51234',\n SI: '31234567',\n SJ: '41234567',\n SK: '912123456',\n SL: '25123456',\n SM: '66661212',\n SN: '701234567',\n SO: '71123456',\n SR: '7412345',\n SS: '977123456',\n ST: '9812345',\n SV: '70123456',\n SX: '7215205678',\n SY: '944567890',\n SZ: '76123456',\n TA: '8999',\n TC: '6492311234',\n TD: '63012345',\n TG: '90112345',\n TH: '812345678',\n TJ: '917123456',\n TK: '7290',\n TL: '77212345',\n TM: '66123456',\n TN: '20123456',\n TO: '7715123',\n TR: '5012345678',\n TT: '8682911234',\n TV: '901234',\n TW: '912345678',\n TZ: '621234567',\n UA: '501234567',\n UG: '712345678',\n US: '2015550123',\n UY: '94231234',\n UZ: '912345678',\n VA: '3123456789',\n VC: '7844301234',\n VE: '4121234567',\n VG: '2843001234',\n VI: '3406421234',\n VN: '912345678',\n VU: '5912345',\n WF: '501234',\n WS: '7212345',\n XK: '43201234',\n YE: '712345678',\n YT: '639012345',\n ZA: '711234567',\n ZM: '955123456',\n ZW: '712345678',\n}\n","import { UntypedFormControl } from '@angular/forms'\nimport { parsePhoneNumber, PhoneNumber } from 'libphonenumber-js'\n\nexport const phoneNumberValidator = (control: UntypedFormControl) => {\n const error = { validatePhoneNumber: true }\n let numberInstance: PhoneNumber\n if (control.value) {\n try {\n numberInstance = parsePhoneNumber(control.value)\n } catch (e) {\n control.setValue(null)\n return error\n }\n\n if (numberInstance && !numberInstance.isValid()) {\n control.setValue(null)\n if (!control.touched) {\n control.markAsTouched()\n }\n return error\n }\n }\n return null\n}\n","import { Pipe, PipeTransform } from '@angular/core'\n\nimport { Country } from './model/country.model'\n\n@Pipe({\n name: 'search',\n standalone: true,\n})\nexport class SearchPipe implements PipeTransform {\n // country | search:'searchCriteria'\n transform(country: Country, searchCriteria?: string): boolean {\n if (!searchCriteria || searchCriteria === '') {\n return true\n }\n\n return `${country.name}+${country.dialCode}`\n .toLowerCase()\n .includes(searchCriteria.toLowerCase())\n }\n}\n","import { FocusMonitor } from '@angular/cdk/a11y'\nimport { coerceBooleanProperty } from '@angular/cdk/coercion'\nimport { CommonModule } from '@angular/common'\nimport {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n DoCheck,\n ElementRef,\n EventEmitter,\n HostBinding,\n Input,\n OnDestroy,\n OnInit,\n Optional,\n Output,\n Self,\n ViewChild,\n} from '@angular/core'\nimport {\n FormGroupDirective,\n FormsModule,\n NG_VALIDATORS,\n NgControl,\n NgForm,\n ReactiveFormsModule,\n} from '@angular/forms'\nimport { MatButtonModule } from '@angular/material/button'\nimport { ErrorStateMatcher, _AbstractConstructor, mixinErrorState } from '@angular/material/core'\nimport { MatDividerModule } from '@angular/material/divider'\nimport { MatFormFieldControl } from '@angular/material/form-field'\nimport { MatInputModule } from '@angular/material/input'\nimport { MatMenu, MatMenuModule } from '@angular/material/menu'\nimport {\n AsYouType,\n CountryCode as CC,\n E164Number,\n NationalNumber,\n PhoneNumber,\n getExampleNumber,\n parsePhoneNumberFromString,\n} from 'libphonenumber-js'\nimport { Subject } from 'rxjs'\nimport { CountryCode, Examples } from './data/country-code'\nimport { Country } from './model/country.model'\nimport { PhoneNumberFormat } from './model/phone-number-format.model'\nimport { phoneNumberValidator } from './ngx-mat-input-tel.validator'\nimport { SearchPipe } from './search.pipe'\n\nclass ngxMatInputTelBase {\n constructor(\n public _defaultErrorStateMatcher: ErrorStateMatcher,\n public _parentForm: NgForm,\n public _parentFormGroup: FormGroupDirective,\n /** @docs-private */\n public ngControl: NgControl,\n ) {}\n}\n\nconst _ngxMatInputTelMixinBase: typeof ngxMatInputTelBase = mixinErrorState(\n ngxMatInputTelBase as _AbstractConstructor<any>,\n)\n\n@Component({\n standalone: true,\n selector: 'ngx-mat-input-tel',\n templateUrl: './ngx-mat-input-tel.component.html',\n styleUrls: ['./ngx-mat-input-tel.component.scss'],\n providers: [\n CountryCode,\n { provide: MatFormFieldControl, useExisting: NgxMatInputTelComponent },\n {\n provide: NG_VALIDATORS,\n useValue: phoneNumberValidator,\n multi: true,\n },\n ],\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [\n CommonModule,\n FormsModule,\n MatInputModule,\n MatMenuModule,\n MatButtonModule,\n MatDividerModule,\n ReactiveFormsModule,\n\n // Pipes\n SearchPipe,\n ],\n})\nexport class NgxMatInputTelComponent\n extends _ngxMatInputTelMixinBase\n implements OnInit, OnDestroy, DoCheck\n{\n static nextId = 0\n @ViewChild(MatMenu) matMenu!: MatMenu\n @ViewChild('menuSearchInput', { static: false }) menuSearchInput?: ElementRef<HTMLInputElement>\n @ViewChild('focusable', { static: false }) focusable!: ElementRef\n\n @Input() preferredCountries: string[] = []\n @Input() enablePlaceholder = true\n @Input() inputPlaceholder: string = ''\n @Input() cssClass?: string\n @Input() name?: string\n @Input() onlyCountries: string[] = []\n @Input() errorStateMatcher: ErrorStateMatcher = this._defaultErrorStateMatcher\n @Input() enableSearch = false\n @Input() searchPlaceholder?: string\n @Input() autocomplete: 'off' | 'tel' = 'off'\n @Input()\n get format(): PhoneNumberFormat {\n return this._format\n }\n\n set format(value: PhoneNumberFormat) {\n this._format = value\n this.phoneNumber = this.formattedPhoneNumber\n this.stateChanges.next()\n }\n\n private _placeholder?: string\n private _required = false\n private _disabled = false\n stateChanges = new Subject<void>()\n focused = false\n @HostBinding()\n id = `ngx-mat-input-tel-${NgxMatInputTelComponent.nextId++}`\n describedBy = ''\n phoneNumber?: E164Number | NationalNumber = ''\n allCountries: Country[] = []\n preferredCountriesInDropDown: Country[] = []\n selectedCountry!: Country\n numberInstance?: PhoneNumber\n value?: any\n searchCriteria?: string\n @Output()\n countryChanged: EventEmitter<Country> = new EventEmitter<Country>()\n\n private previousFormattedNumber?: string\n // tslint:disable-next-line:variable-name\n private _format: PhoneNumberFormat = 'default'\n\n static getPhoneNumberPlaceHolder(countryISOCode: any): string | undefined {\n try {\n return getExampleNumber(countryISOCode, Examples)?.number.toString()\n } catch (e) {\n return e as any\n }\n }\n\n onTouched = () => {}\n\n propagateChange = (_: any) => {}\n\n private errorState?: boolean\n\n constructor(\n private _changeDetectorRef: ChangeDetectorRef,\n private countryCodeData: CountryCode,\n private fm: FocusMonitor,\n private elRef: ElementRef<HTMLElement>,\n @Optional() @Self() _ngControl: NgControl,\n @Optional() _parentForm: NgForm,\n @Optional() _parentFormGroup: FormGroupDirective,\n _defaultErrorStateMatcher: ErrorStateMatcher,\n ) {\n super(_defaultErrorStateMatcher, _parentForm, _parentFormGroup, _ngControl)\n fm.monitor(elRef, true).subscribe((origin) => {\n if (this.focused && !origin) {\n this.onTouched()\n }\n this.focused = !!origin\n this.stateChanges.next()\n })\n this.fetchCountryData()\n if (this.ngControl != null) {\n this.ngControl.valueAccessor = this\n }\n }\n\n ngOnInit() {\n if (!this.searchPlaceholder) {\n this.searchPlaceholder = 'Search ...'\n }\n if (this.preferredCountries.length) {\n this.preferredCountries.forEach((iso2) => {\n const preferredCountry = this.allCountries\n .filter((c) => {\n return c.iso2 === iso2\n })\n .shift()\n\n if (preferredCountry) this.preferredCountriesInDropDown.push(preferredCountry)\n })\n }\n if (this.onlyCountries.length) {\n this.allCountries = this.allCountries.filter((c) => this.onlyCountries.includes(c.iso2))\n }\n if (this.numberInstance && this.numberInstance.country) {\n // If an existing number is present, we use it to determine selectedCountry\n this.selectedCountry = this.getCountry(this.numberInstance.country)\n } else {\n if (this.preferredCountriesInDropDown.length) {\n this.selectedCountry = this.preferredCountriesInDropDown[0]\n } else {\n this.selectedCountry = this.allCountries[0]\n }\n }\n this.countryChanged.emit(this.selectedCountry)\n this._changeDetectorRef.markForCheck()\n this.stateChanges.next()\n }\n ngDoCheck(): void {\n if (this.ngControl) {\n const isInvalide = this.errorStateMatcher.isErrorState(\n this.ngControl.control,\n this._parentForm,\n )\n\n this.errorState =\n (isInvalide && !this.ngControl.control?.value) || (!this.focused ? isInvalide : false)\n\n if (isInvalide && this.ngControl.control?.touched) this.focusable.nativeElement.focus()\n }\n }\n public onPhoneNumberChange(): void {\n if (!this.phoneNumber) return\n\n try {\n this.numberInstance = parsePhoneNumberFromString(\n this.phoneNumber.toString(),\n this.selectedCountry.iso2.toUpperCase() as CC,\n )\n this.formatAsYouTypeIfEnabled()\n this.value = this.numberInstance?.number\n if (this.numberInstance && this.numberInstance.isValid()) {\n if (this.phoneNumber !== this.formattedPhoneNumber) {\n this.phoneNumber = this.formattedPhoneNumber\n }\n if (\n this.selectedCountry.iso2 !== this.numberInstance.country &&\n this.numberInstance.country\n ) {\n this.selectedCountry = this.getCountry(this.numberInstance.country)\n this.countryChanged.emit(this.selectedCountry)\n }\n }\n } catch (e) {\n // if no possible numbers are there,\n // then the full number is passed so that validator could be triggered and proper error could be shown\n this.value = this.phoneNumber.toString()\n }\n this.propagateChange(this.value)\n this._changeDetectorRef.markForCheck()\n }\n\n public onCountrySelect(country: Country, el: any): void {\n if (this.phoneNumber) {\n this.phoneNumber = this.numberInstance?.nationalNumber\n }\n this.selectedCountry = country\n this.countryChanged.emit(this.selectedCountry)\n this.onPhoneNumberChange()\n el.focus()\n }\n\n public getCountry(code: CC): Country {\n return (this.allCountries.find((c) => c.iso2 === code.toLowerCase()) || {\n name: 'UN',\n iso2: 'UN',\n dialCode: undefined,\n priority: 0,\n areaCodes: undefined,\n flagClass: 'UN',\n placeHolder: '',\n }) as Country\n }\n\n public onInputKeyPress(event: any): void {\n const pattern = /[0-9+\\- ]/\n if (!pattern.test(event.key)) {\n event.preventDefault()\n }\n }\n\n protected fetchCountryData(): void {\n this.countryCodeData.allCountries.forEach((c) => {\n const country: Country = {\n name: c[0].toString(),\n iso2: c[1].toString(),\n dialCode: c[2].toString(),\n priority: +c[3] || 0,\n areaCodes: (c[4] as string[]) || undefined,\n flagClass: c[1].toString().toUpperCase(),\n placeHolder: '',\n }\n\n if (this.enablePlaceholder) {\n country.placeHolder = NgxMatInputTelComponent.getPhoneNumberPlaceHolder(\n country.iso2.toUpperCase(),\n )\n }\n\n this.allCountries.push(country)\n })\n }\n\n registerOnChange(fn: any): void {\n this.propagateChange = fn\n }\n\n registerOnTouched(fn: any): void {\n this.onTouched = fn\n }\n\n setDisabledState(isDisabled: boolean): void {\n this.disabled = isDisabled\n this._changeDetectorRef.markForCheck()\n this.stateChanges.next(undefined)\n }\n\n writeValue(value: any): void {\n if (value) {\n this.numberInstance = parsePhoneNumberFromString(value)\n if (this.numberInstance) {\n const countryCode = this.numberInstance.country\n this.phoneNumber = this.formattedPhoneNumber\n if (!countryCode) {\n return\n }\n setTimeout(() => {\n this.selectedCountry = this.getCountry(countryCode)\n if (\n this.selectedCountry.dialCode &&\n !this.preferredCountries.includes(this.selectedCountry.iso2)\n ) {\n this.preferredCountriesInDropDown.push(this.selectedCountry)\n }\n this.countryChanged.emit(this.selectedCountry)\n\n // Initial value is set\n this._changeDetectorRef.markForCheck()\n this.stateChanges.next()\n }, 1)\n } else {\n this.phoneNumber = value\n }\n }\n // Angular bug\n // else if (this.phoneNumber !== '') {\n // this.reset()\n // }\n\n // Value is set from outside using setValue()\n this._changeDetectorRef.markForCheck()\n this.stateChanges.next(undefined)\n }\n\n get empty(): boolean {\n return !this.phoneNumber\n }\n\n @HostBinding('class.ngx-floating')\n get shouldLabelFloat(): boolean {\n return this.focused || !this.empty\n }\n\n @Input()\n get placeholder(): string {\n return this._placeholder || ''\n }\n\n set placeholder(value: string) {\n this._placeholder = value\n this.stateChanges.next(undefined)\n }\n\n @Input()\n get required(): boolean {\n return this._required\n }\n\n set required(value: boolean) {\n this._required = coerceBooleanProperty(value)\n this.stateChanges.next(undefined)\n }\n\n @Input()\n get disabled(): boolean {\n return this._disabled\n }\n\n set disabled(value: boolean) {\n this._disabled = coerceBooleanProperty(value)\n this.stateChanges.next(undefined)\n }\n\n setDescribedByIds(ids: string[]) {\n this.describedBy = ids.join(' ')\n }\n\n onContainerClick(event: MouseEvent): void {\n if ((event.target as Element).tagName.toLowerCase() !== 'input') {\n // tslint:disable-next-line:no-non-null-assertion\n this.elRef.nativeElement.querySelector('input')!.focus()\n }\n }\n\n reset() {\n this.phoneNumber = ''\n this.propagateChange(null)\n\n this._changeDetectorRef.markForCheck()\n this.stateChanges.next(undefined)\n }\n\n ngOnDestroy() {\n this.stateChanges.complete()\n this.fm.stopMonitoring(this.elRef)\n }\n\n private get formattedPhoneNumber(): string {\n if (!this.numberInstance) {\n return this.phoneNumber?.toString() || ''\n }\n switch (this.format) {\n case 'national':\n return this.numberInstance.formatNational()\n case 'international':\n return this.numberInstance.formatInternational()\n default:\n return this.numberInstance.nationalNumber.toString()\n }\n }\n\n private formatAsYouTypeIfEnabled(): void {\n if (this.format === 'default') {\n return\n }\n const asYouType: AsYouType = new AsYouType(this.selectedCountry.iso2.toUpperCase() as CC)\n // To avoid caret positioning we apply formatting only if the caret is at the end:\n if (!this.phoneNumber) return\n\n if (this.phoneNumber?.toString().startsWith(this.previousFormattedNumber || '')) {\n this.phoneNumber = asYouType.input(this.phoneNumber.toString())\n }\n this.previousFormattedNumber = this.phoneNumber.toString()\n }\n}\n","<div class=\"ngx-mat-input-tel-container\">\n <button\n type=\"button\"\n mat-button\n [matMenuTriggerFor]=\"menu\"\n class=\"country-selector\"\n [disabled]=\"disabled\"\n (menuOpened)=\"menuSearchInput?.nativeElement?.focus()\"\n >\n <span class=\"country-selector-flag flag\" [ngClass]=\"selectedCountry.flagClass\"></span>\n <span class=\"country-selector-code\" *ngIf=\"selectedCountry?.dialCode\"\n >+{{ selectedCountry.dialCode }}</span\n >\n </button>\n\n <mat-menu\n #menu=\"matMenu\"\n class=\"ngx-mat-input-tel-mat-menu-panel\"\n backdropClass=\"ngx-mat-input-tel-overlay-backdrop\"\n overlayPanelClass=\"ngx-mat-input-tel-overlay-pane\"\n >\n <input\n #menuSearchInput\n *ngIf=\"enableSearch\"\n class=\"country-search\"\n [(ngModel)]=\"searchCriteria\"\n type=\"text\"\n [placeholder]=\"searchPlaceholder\"\n (click)=\"$event.stopPropagation()\"\n style=\"\n width: 100%;\n height: 34px;\n border: none;\n border-bottom: 1px solid #ddd;\n font-size: 14px;\n padding: 20px 20px 24px;\n box-sizing: border-box;\n \"\n />\n <button\n type=\"button\"\n mat-menu-item\n class=\"country-list-button\"\n *ngFor=\"let country of preferredCountriesInDropDown\"\n (click)=\"onCountrySelect(country, focusable)\"\n >\n <div class=\"icon-wrapper\">\n <div class=\"flag\" [ngClass]=\"country.flagClass\"></div>\n </div>\n <div class=\"label-wrapper\">\n {{ country.name }}\n <span *ngIf=\"country?.dialCode\">+{{ country.dialCode }}</span>\n </div>\n </button>\n <mat-divider *ngIf=\"preferredCountriesInDropDown?.length\"></mat-divider>\n <ng-container *ngFor=\"let country of allCountries\">\n <button\n type=\"button\"\n mat-menu-item\n class=\"country-list-button\"\n *ngIf=\"country | search : searchCriteria\"\n (click)=\"onCountrySelect(country, focusable)\"\n >\n <div class=\"icon-wrapper\">\n <div class=\"flag\" [ngClass]=\"country.flagClass\"></div>\n </div>\n <div class=\"label-wrapper\">{{ country.name }} +{{ country.dialCode }}</div>\n </button>\n </ng-container>\n </mat-menu>\n\n <input\n matInput\n type=\"tel\"\n inputmode=\"tel\"\n [autocomplete]=\"autocomplete\"\n [ngClass]=\"cssClass\"\n (blur)=\"onTouched()\"\n (keypress)=\"onInputKeyPress($event)\"\n [(ngModel)]=\"phoneNumber\"\n (ngModelChange)=\"onPhoneNumberChange()\"\n [errorStateMatcher]=\"errorStateMatcher\"\n [placeholder]=\"inputPlaceholder\"\n [disabled]=\"disabled\"\n #focusable\n />\n</div>\n","/*\n * Public API Surface of ngx-mat-input-tel\n */\n\nexport * from './lib/ngx-mat-input-tel.component'\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1.CountryCode"],"mappings":"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"}
1
+ {"version":3,"file":"ngx-mat-input-tel.mjs","sources":["../../../projects/ngx-mat-input-tel/src/lib/data/country-code.ts","../../../projects/ngx-mat-input-tel/src/lib/ngx-mat-input-tel.validator.ts","../../../projects/ngx-mat-input-tel/src/lib/search.pipe.ts","../../../projects/ngx-mat-input-tel/src/lib/ngx-mat-input-tel.component.ts","../../../projects/ngx-mat-input-tel/src/lib/ngx-mat-input-tel.component.html","../../../projects/ngx-mat-input-tel/src/public-api.ts","../../../projects/ngx-mat-input-tel/src/ngx-mat-input-tel.ts"],"sourcesContent":["/* eslint-disable */\n\nimport { Injectable } from '@angular/core'\n@Injectable()\nexport class CountryCode {\n public allCountries = [\n ['Afghanistan (‫افغانستان‬‎)', 'af', '93'],\n ['Albania (Shqipëri)', 'al', '355'],\n ['Algeria (‫الجزائر‬‎)', 'dz', '213'],\n ['American Samoa', 'as', '1684'],\n ['Andorra', 'ad', '376'],\n ['Angola', 'ao', '244'],\n ['Anguilla', 'ai', '1264'],\n ['Antigua and Barbuda', 'ag', '1268'],\n ['Argentina', 'ar', '54'],\n ['Armenia (Հայաստան)', 'am', '374'],\n ['Aruba', 'aw', '297'],\n ['Australia', 'au', '61', 0],\n ['Austria (Österreich)', 'at', '43'],\n ['Azerbaijan (Azərbaycan)', 'az', '994'],\n ['Bahamas', 'bs', '1242'],\n ['Bahrain (‫البحرين‬‎)', 'bh', '973'],\n ['Bangladesh (বাংলাদেশ)', 'bd', '880'],\n ['Barbados', 'bb', '1246'],\n ['Belarus (Беларусь)', 'by', '375'],\n ['Belgium (België)', 'be', '32'],\n ['Belize', 'bz', '501'],\n ['Benin (Bénin)', 'bj', '229'],\n ['Bermuda', 'bm', '1441'],\n ['Bhutan (འབྲུག)', 'bt', '975'],\n ['Bolivia', 'bo', '591'],\n ['Bosnia and Herzegovina (Босна и Херцеговина)', 'ba', '387'],\n ['Botswana', 'bw', '267'],\n ['Brazil (Brasil)', 'br', '55'],\n ['British Indian Ocean Territory', 'io', '246'],\n ['British Virgin Islands', 'vg', '1284'],\n ['Brunei', 'bn', '673'],\n ['Bulgaria (България)', 'bg', '359'],\n ['Burkina Faso', 'bf', '226'],\n ['Burundi (Uburundi)', 'bi', '257'],\n ['Cambodia (កម្ពុជា)', 'kh', '855'],\n ['Cameroon (Cameroun)', 'cm', '237'],\n [\n 'Canada',\n 'ca',\n '1',\n 1,\n [\n '204',\n '226',\n '236',\n '249',\n '250',\n '289',\n '306',\n '343',\n '365',\n '387',\n '403',\n '416',\n '418',\n '431',\n '437',\n '438',\n '450',\n '506',\n '514',\n '519',\n '548',\n '579',\n '581',\n '587',\n '604',\n '613',\n '639',\n '647',\n '672',\n '705',\n '709',\n '742',\n '778',\n '780',\n '782',\n '807',\n '819',\n '825',\n '867',\n '873',\n '902',\n '905',\n ],\n ],\n ['Cape Verde (Kabu Verdi)', 'cv', '238'],\n ['Caribbean Netherlands', 'bq', '599', 1],\n ['Cayman Islands', 'ky', '1345'],\n ['Central African Republic (République centrafricaine)', 'cf', '236'],\n ['Chad (Tchad)', 'td', '235'],\n ['Chile', 'cl', '56'],\n ['China (中国)', 'cn', '86'],\n ['Christmas Island', 'cx', '61', 2],\n ['Cocos (Keeling) Islands', 'cc', '61', 1],\n ['Colombia', 'co', '57'],\n ['Comoros (‫جزر القمر‬‎)', 'km', '269'],\n ['Congo (DRC) (Jamhuri ya Kidemokrasia ya Kongo)', 'cd', '243'],\n ['Congo (Republic) (Congo-Brazzaville)', 'cg', '242'],\n ['Cook Islands', 'ck', '682'],\n ['Costa Rica', 'cr', '506'],\n ['Côte d’Ivoire', 'ci', '225'],\n ['Croatia (Hrvatska)', 'hr', '385'],\n ['Cuba', 'cu', '53'],\n ['Curaçao', 'cw', '599', 0],\n ['Cyprus (Κύπρος)', 'cy', '357'],\n ['Czech Republic (Česká republika)', 'cz', '420'],\n ['Denmark (Danmark)', 'dk', '45'],\n ['Djibouti', 'dj', '253'],\n ['Dominica', 'dm', '1767'],\n ['Dominican Republic (República Dominicana)', 'do', '1', 2, ['809', '829', '849']],\n ['Ecuador', 'ec', '593'],\n ['Egypt (‫مصر‬‎)', 'eg', '20'],\n ['El Salvador', 'sv', '503'],\n ['Equatorial Guinea (Guinea Ecuatorial)', 'gq', '240'],\n ['Eritrea', 'er', '291'],\n ['Estonia (Eesti)', 'ee', '372'],\n ['Ethiopia', 'et', '251'],\n ['Falkland Islands (Islas Malvinas)', 'fk', '500'],\n ['Faroe Islands (Føroyar)', 'fo', '298'],\n ['Fiji', 'fj', '679'],\n ['Finland (Suomi)', 'fi', '358', 0],\n ['France', 'fr', '33'],\n ['French Guiana (Guyane française)', 'gf', '594'],\n ['French Polynesia (Polynésie française)', 'pf', '689'],\n ['Gabon', 'ga', '241'],\n ['Gambia', 'gm', '220'],\n ['Georgia (საქართველო)', 'ge', '995'],\n ['Germany (Deutschland)', 'de', '49'],\n ['Ghana (Gaana)', 'gh', '233'],\n ['Gibraltar', 'gi', '350'],\n ['Greece (Ελλάδα)', 'gr', '30'],\n ['Greenland (Kalaallit Nunaat)', 'gl', '299'],\n ['Grenada', 'gd', '1473'],\n ['Guadeloupe', 'gp', '590', 0],\n ['Guam', 'gu', '1671'],\n ['Guatemala', 'gt', '502'],\n ['Guernsey', 'gg', '44', 1],\n ['Guinea (Guinée)', 'gn', '224'],\n ['Guinea-Bissau (Guiné Bissau)', 'gw', '245'],\n ['Guyana', 'gy', '592'],\n ['Haiti', 'ht', '509'],\n ['Honduras', 'hn', '504'],\n ['Hong Kong (香港)', 'hk', '852'],\n ['Hungary (Magyarország)', 'hu', '36'],\n ['Iceland (Ísland)', 'is', '354'],\n ['India (भारत)', 'in', '91'],\n ['Indonesia', 'id', '62'],\n ['Iran (‫ایران‬‎)', 'ir', '98'],\n ['Iraq (‫العراق‬‎)', 'iq', '964'],\n ['Ireland', 'ie', '353'],\n ['Isle of Man', 'im', '44', 2],\n ['Israel (‫ישראל‬‎)', 'il', '972'],\n ['Italy (Italia)', 'it', '39', 0],\n ['Jamaica', 'jm', '1', 4, ['876', '658']],\n ['Japan (日本)', 'jp', '81'],\n ['Jersey', 'je', '44', 3],\n ['Jordan (‫الأردن‬‎)', 'jo', '962'],\n ['Kazakhstan (Казахстан)', 'kz', '7', 1],\n ['Kenya', 'ke', '254'],\n ['Kiribati', 'ki', '686'],\n ['Kosovo', 'xk', '383'],\n ['Kuwait (‫الكويت‬‎)', 'kw', '965'],\n ['Kyrgyzstan (Кыргызстан)', 'kg', '996'],\n ['Laos (ລາວ)', 'la', '856'],\n ['Latvia (Latvija)', 'lv', '371'],\n ['Lebanon (‫لبنان‬‎)', 'lb', '961'],\n ['Lesotho', 'ls', '266'],\n ['Liberia', 'lr', '231'],\n ['Libya (‫ليبيا‬‎)', 'ly', '218'],\n ['Liechtenstein', 'li', '423'],\n ['Lithuania (Lietuva)', 'lt', '370'],\n ['Luxembourg', 'lu', '352'],\n ['Macau (澳門)', 'mo', '853'],\n ['Macedonia (FYROM) (Македонија)', 'mk', '389'],\n ['Madagascar (Madagasikara)', 'mg', '261'],\n ['Malawi', 'mw', '265'],\n ['Malaysia', 'my', '60'],\n ['Maldives', 'mv', '960'],\n ['Mali', 'ml', '223'],\n ['Malta', 'mt', '356'],\n ['Marshall Islands', 'mh', '692'],\n ['Martinique', 'mq', '596'],\n ['Mauritania (‫موريتانيا‬‎)', 'mr', '222'],\n ['Mauritius (Moris)', 'mu', '230'],\n ['Mayotte', 'yt', '262', 1],\n ['Mexico (México)', 'mx', '52'],\n ['Micronesia', 'fm', '691'],\n ['Moldova (Republica Moldova)', 'md', '373'],\n ['Monaco', 'mc', '377'],\n ['Mongolia (Монгол)', 'mn', '976'],\n ['Montenegro (Crna Gora)', 'me', '382'],\n ['Montserrat', 'ms', '1664'],\n ['Morocco (‫المغرب‬‎)', 'ma', '212', 0],\n ['Mozambique (Moçambique)', 'mz', '258'],\n ['Myanmar (Burma) (မြန်မာ)', 'mm', '95'],\n ['Namibia (Namibië)', 'na', '264'],\n ['Nauru', 'nr', '674'],\n ['Nepal (नेपाल)', 'np', '977'],\n ['Netherlands (Nederland)', 'nl', '31'],\n ['New Caledonia (Nouvelle-Calédonie)', 'nc', '687'],\n ['New Zealand', 'nz', '64'],\n ['Nicaragua', 'ni', '505'],\n ['Niger (Nijar)', 'ne', '227'],\n ['Nigeria', 'ng', '234'],\n ['Niue', 'nu', '683'],\n ['Norfolk Island', 'nf', '672'],\n ['North Korea (조선 민주주의 인민 공화국)', 'kp', '850'],\n ['Northern Mariana Islands', 'mp', '1670'],\n ['Norway (Norge)', 'no', '47', 0],\n ['Oman (‫عُمان‬‎)', 'om', '968'],\n ['Pakistan (‫پاکستان‬‎)', 'pk', '92'],\n ['Palau', 'pw', '680'],\n ['Palestine (‫فلسطين‬‎)', 'ps', '970'],\n ['Panama (Panamá)', 'pa', '507'],\n ['Papua New Guinea', 'pg', '675'],\n ['Paraguay', 'py', '595'],\n ['Peru (Perú)', 'pe', '51'],\n ['Philippines', 'ph', '63'],\n ['Poland (Polska)', 'pl', '48'],\n ['Portugal', 'pt', '351'],\n ['Puerto Rico', 'pr', '1', 3, ['787', '939']],\n ['Qatar (‫قطر‬‎)', 'qa', '974'],\n ['Réunion (La Réunion)', 're', '262', 0],\n ['Romania (România)', 'ro', '40'],\n ['Russia (Россия)', 'ru', '7', 0],\n ['Rwanda', 'rw', '250'],\n ['Saint Barthélemy', 'bl', '590', 1],\n ['Saint Helena', 'sh', '290'],\n ['Saint Kitts and Nevis', 'kn', '1869'],\n ['Saint Lucia', 'lc', '1758'],\n ['Saint Martin (Saint-Martin (partie française))', 'mf', '590', 2],\n ['Saint Pierre and Miquelon (Saint-Pierre-et-Miquelon)', 'pm', '508'],\n ['Saint Vincent and the Grenadines', 'vc', '1784'],\n ['Samoa', 'ws', '685'],\n ['San Marino', 'sm', '378'],\n ['São Tomé and Príncipe (São Tomé e Príncipe)', 'st', '239'],\n ['Saudi Arabia (‫المملكة العربية السعودية‬‎)', 'sa', '966'],\n ['Senegal (Sénégal)', 'sn', '221'],\n ['Serbia (Србија)', 'rs', '381'],\n ['Seychelles', 'sc', '248'],\n ['Sierra Leone', 'sl', '232'],\n ['Singapore', 'sg', '65'],\n ['Sint Maarten', 'sx', '1721'],\n ['Slovakia (Slovensko)', 'sk', '421'],\n ['Slovenia (Slovenija)', 'si', '386'],\n ['Solomon Islands', 'sb', '677'],\n ['Somalia (Soomaaliya)', 'so', '252'],\n ['South Africa', 'za', '27'],\n ['South Korea (대한민국)', 'kr', '82'],\n ['South Sudan (‫جنوب السودان‬‎)', 'ss', '211'],\n ['Spain (España)', 'es', '34'],\n ['Sri Lanka (ශ්‍රී ලංකාව)', 'lk', '94'],\n ['Sudan (‫السودان‬‎)', 'sd', '249'],\n ['Suriname', 'sr', '597'],\n ['Svalbard and Jan Mayen', 'sj', '47', 1],\n ['Swaziland', 'sz', '268'],\n ['Sweden (Sverige)', 'se', '46'],\n ['Switzerland (Schweiz)', 'ch', '41'],\n ['Syria (‫سوريا‬‎)', 'sy', '963'],\n ['Taiwan (台灣)', 'tw', '886'],\n ['Tajikistan', 'tj', '992'],\n ['Tanzania', 'tz', '255'],\n ['Thailand (ไทย)', 'th', '66'],\n ['Timor-Leste', 'tl', '670'],\n ['Togo', 'tg', '228'],\n ['Tokelau', 'tk', '690'],\n ['Tonga', 'to', '676'],\n ['Trinidad and Tobago', 'tt', '1868'],\n ['Tunisia (‫تونس‬‎)', 'tn', '216'],\n ['Turkey (Türkiye)', 'tr', '90'],\n ['Turkmenistan', 'tm', '993'],\n ['Turks and Caicos Islands', 'tc', '1649'],\n ['Tuvalu', 'tv', '688'],\n ['U.S. Virgin Islands', 'vi', '1340'],\n ['Uganda', 'ug', '256'],\n ['Ukraine (Україна)', 'ua', '380'],\n ['United Arab Emirates (‫الإمارات العربية المتحدة‬‎)', 'ae', '971'],\n ['United Kingdom', 'gb', '44', 0],\n ['United States', 'us', '1', 0],\n ['Uruguay', 'uy', '598'],\n ['Uzbekistan (Oʻzbekiston)', 'uz', '998'],\n ['Vanuatu', 'vu', '678'],\n ['Vatican City (Città del Vaticano)', 'va', '39', 1],\n ['Venezuela', 've', '58'],\n ['Vietnam (Việt Nam)', 'vn', '84'],\n ['Wallis and Futuna (Wallis-et-Futuna)', 'wf', '681'],\n ['Western Sahara (‫الصحراء الغربية‬‎)', 'eh', '212', 1],\n ['Yemen (‫اليمن‬‎)', 'ye', '967'],\n ['Zambia', 'zm', '260'],\n ['Zimbabwe', 'zw', '263'],\n ['Åland Islands', 'ax', '358', 1],\n ]\n}\n\nexport const Examples: any = {\n '001': '001',\n AC: '40123',\n AD: '312345',\n AE: '501234567',\n AF: '701234567',\n AG: '2684641234',\n AI: '2642351234',\n AL: '662123456',\n AM: '77123456',\n AO: '923123456',\n AR: '91123456789',\n AS: '6847331234',\n AT: '664123456',\n AU: '412345678',\n AW: '5601234',\n AX: '412345678',\n AZ: '401234567',\n BA: '61123456',\n BB: '2462501234',\n BD: '1812345678',\n BE: '470123456',\n BF: '70123456',\n BG: '48123456',\n BH: '36001234',\n BI: '79561234',\n BJ: '90011234',\n BL: '690001234',\n BM: '4413701234',\n BN: '7123456',\n BO: '71234567',\n BQ: '3181234',\n BR: '11961234567',\n BS: '2423591234',\n BT: '17123456',\n BW: '71123456',\n BY: '294911911',\n BZ: '6221234',\n CA: '5062345678',\n CC: '412345678',\n CD: '991234567',\n CF: '70012345',\n CG: '061234567',\n CH: '781234567',\n CI: '01234567',\n CK: '71234',\n CL: '221234567',\n CM: '671234567',\n CN: '13123456789',\n CO: '3211234567',\n CR: '83123456',\n CU: '51234567',\n CV: '9911234',\n CW: '95181234',\n CX: '412345678',\n CY: '96123456',\n CZ: '601123456',\n DE: '15123456789',\n DJ: '77831001',\n DK: '32123456',\n DM: '7672251234',\n DO: '8092345678',\n DZ: '551234567',\n EC: '991234567',\n EE: '51234567',\n EG: '1001234567',\n EH: '650123456',\n ER: '7123456',\n ES: '612345678',\n ET: '911234567',\n FI: '412345678',\n FJ: '7012345',\n FK: '51234',\n FM: '3501234',\n FO: '211234',\n FR: '612345678',\n GA: '06031234',\n GB: '7400123456',\n GD: '4734031234',\n GE: '555123456',\n GF: '694201234',\n GG: '7781123456',\n GH: '231234567',\n GI: '57123456',\n GL: '221234',\n GM: '3012345',\n GN: '601123456',\n GP: '690001234',\n GQ: '222123456',\n GR: '6912345678',\n GT: '51234567',\n GU: '6713001234',\n GW: '955012345',\n GY: '6091234',\n HK: '51234567',\n HN: '91234567',\n HR: '921234567',\n HT: '34101234',\n HU: '201234567',\n ID: '812345678',\n IE: '850123456',\n IL: '502345678',\n IM: '7924123456',\n IN: '8123456789',\n IO: '3801234',\n IQ: '7912345678',\n IR: '9123456789',\n IS: '6111234',\n IT: '3123456789',\n JE: '7797712345',\n JM: '8762101234',\n JO: '790123456',\n JP: '9012345678',\n KE: '712123456',\n KG: '700123456',\n KH: '91234567',\n KI: '72001234',\n KM: '3212345',\n KN: '8697652917',\n KP: '1921234567',\n KR: '1000000000',\n KW: '50012345',\n KY: '3453231234',\n KZ: '7710009998',\n LA: '2023123456',\n LB: '71123456',\n LC: '7582845678',\n LI: '660234567',\n LK: '712345678',\n LR: '770123456',\n LS: '50123456',\n LT: '61234567',\n LU: '628123456',\n LV: '21234567',\n LY: '912345678',\n MA: '650123456',\n MC: '612345678',\n MD: '62112345',\n ME: '67622901',\n MF: '690001234',\n MG: '321234567',\n MH: '2351234',\n MK: '72345678',\n ML: '65012345',\n MM: '92123456',\n MN: '88123456',\n MO: '66123456',\n MP: '6702345678',\n MQ: '696201234',\n MR: '22123456',\n MS: '6644923456',\n MT: '96961234',\n MU: '52512345',\n MV: '7712345',\n MW: '991234567',\n MX: '12221234567',\n MY: '123456789',\n MZ: '821234567',\n NA: '811234567',\n NC: '751234',\n NE: '93123456',\n NF: '381234',\n NG: '8021234567',\n NI: '81234567',\n NL: '612345678',\n NO: '40612345',\n NP: '9841234567',\n NR: '5551234',\n NU: '8884012',\n NZ: '211234567',\n OM: '92123456',\n PA: '61234567',\n PE: '912345678',\n PF: '87123456',\n PG: '70123456',\n PH: '9051234567',\n PK: '3012345678',\n PL: '512345678',\n PM: '551234',\n PR: '7872345678',\n PS: '599123456',\n PT: '912345678',\n PW: '6201234',\n PY: '961456789',\n QA: '33123456',\n RE: '692123456',\n RO: '712034567',\n RS: '601234567',\n RU: '9123456789',\n RW: '720123456',\n SA: '512345678',\n SB: '7421234',\n SC: '2510123',\n SD: '911231234',\n SE: '701234567',\n SG: '81234567',\n SH: '51234',\n SI: '31234567',\n SJ: '41234567',\n SK: '912123456',\n SL: '25123456',\n SM: '66661212',\n SN: '701234567',\n SO: '71123456',\n SR: '7412345',\n SS: '977123456',\n ST: '9812345',\n SV: '70123456',\n SX: '7215205678',\n SY: '944567890',\n SZ: '76123456',\n TA: '8999',\n TC: '6492311234',\n TD: '63012345',\n TG: '90112345',\n TH: '812345678',\n TJ: '917123456',\n TK: '7290',\n TL: '77212345',\n TM: '66123456',\n TN: '20123456',\n TO: '7715123',\n TR: '5012345678',\n TT: '8682911234',\n TV: '901234',\n TW: '912345678',\n TZ: '621234567',\n UA: '501234567',\n UG: '712345678',\n US: '2015550123',\n UY: '94231234',\n UZ: '912345678',\n VA: '3123456789',\n VC: '7844301234',\n VE: '4121234567',\n VG: '2843001234',\n VI: '3406421234',\n VN: '912345678',\n VU: '5912345',\n WF: '501234',\n WS: '7212345',\n XK: '43201234',\n YE: '712345678',\n YT: '639012345',\n ZA: '711234567',\n ZM: '955123456',\n ZW: '712345678',\n}\n","import { UntypedFormControl } from '@angular/forms'\nimport { parsePhoneNumber, PhoneNumber } from 'libphonenumber-js'\n\nexport const phoneNumberValidator = (control: UntypedFormControl) => {\n const error = { validatePhoneNumber: true }\n let numberInstance: PhoneNumber\n if (control.value) {\n try {\n numberInstance = parsePhoneNumber(control.value)\n } catch (e) {\n control.setValue(null)\n return error\n }\n\n if (numberInstance && !numberInstance.isValid()) {\n control.setValue(null)\n if (!control.touched) {\n control.markAsTouched()\n }\n return error\n }\n }\n return null\n}\n","import { Pipe, PipeTransform } from '@angular/core'\n\nimport { Country } from './model/country.model'\n\n@Pipe({\n name: 'search',\n standalone: true,\n})\nexport class SearchPipe implements PipeTransform {\n // country | search:'searchCriteria'\n transform(country: Country, searchCriteria?: string): boolean {\n if (!searchCriteria || searchCriteria === '') {\n return true\n }\n\n return `${country.name}+${country.dialCode}`\n .toLowerCase()\n .includes(searchCriteria.toLowerCase())\n }\n}\n","import { FocusMonitor } from '@angular/cdk/a11y'\nimport { coerceBooleanProperty } from '@angular/cdk/coercion'\nimport { CommonModule } from '@angular/common'\nimport {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n DoCheck,\n ElementRef,\n EventEmitter,\n HostBinding,\n Input,\n OnDestroy,\n OnInit,\n Optional,\n Output,\n Self,\n ViewChild,\n} from '@angular/core'\nimport {\n FormGroupDirective,\n FormsModule,\n NG_VALIDATORS,\n NgControl,\n NgForm,\n ReactiveFormsModule,\n} from '@angular/forms'\nimport { MatButtonModule } from '@angular/material/button'\nimport { ErrorStateMatcher, _AbstractConstructor, mixinErrorState } from '@angular/material/core'\nimport { MatDividerModule } from '@angular/material/divider'\nimport { MatFormFieldControl } from '@angular/material/form-field'\nimport { MatInputModule } from '@angular/material/input'\nimport { MatMenu, MatMenuModule } from '@angular/material/menu'\nimport {\n AsYouType,\n CountryCode as CC,\n E164Number,\n NationalNumber,\n PhoneNumber,\n getExampleNumber,\n parsePhoneNumberFromString,\n} from 'libphonenumber-js'\nimport { Subject } from 'rxjs'\nimport { CountryCode, Examples } from './data/country-code'\nimport { Country } from './model/country.model'\nimport { PhoneNumberFormat } from './model/phone-number-format.model'\nimport { phoneNumberValidator } from './ngx-mat-input-tel.validator'\nimport { SearchPipe } from './search.pipe'\n\nclass ngxMatInputTelBase {\n constructor(\n public _defaultErrorStateMatcher: ErrorStateMatcher,\n public _parentForm: NgForm,\n public _parentFormGroup: FormGroupDirective,\n public ngControl: NgControl,\n ) {}\n}\n\nconst _ngxMatInputTelMixinBase: typeof ngxMatInputTelBase = mixinErrorState(\n ngxMatInputTelBase as _AbstractConstructor<any>,\n)\n\n@Component({\n standalone: true,\n selector: 'ngx-mat-input-tel',\n templateUrl: './ngx-mat-input-tel.component.html',\n styleUrls: ['./ngx-mat-input-tel.component.scss'],\n providers: [\n CountryCode,\n { provide: MatFormFieldControl, useExisting: NgxMatInputTelComponent },\n {\n provide: NG_VALIDATORS,\n useValue: phoneNumberValidator,\n multi: true,\n },\n ],\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [\n CommonModule,\n FormsModule,\n MatInputModule,\n MatMenuModule,\n MatButtonModule,\n MatDividerModule,\n ReactiveFormsModule,\n\n // Pipes\n SearchPipe,\n ],\n})\nexport class NgxMatInputTelComponent\n extends _ngxMatInputTelMixinBase\n implements OnInit, OnDestroy, DoCheck\n{\n static nextId = 0\n @ViewChild(MatMenu) matMenu!: MatMenu\n @ViewChild('menuSearchInput', { static: false }) menuSearchInput?: ElementRef<HTMLInputElement>\n @ViewChild('focusable', { static: false }) focusable!: ElementRef\n\n @Input() preferredCountries: string[] = []\n @Input() enablePlaceholder = true\n @Input() inputPlaceholder: string = ''\n @Input() cssClass?: string\n @Input() name?: string\n @Input() onlyCountries: string[] = []\n @Input() errorStateMatcher: ErrorStateMatcher = this._defaultErrorStateMatcher\n @Input() enableSearch = false\n @Input() searchPlaceholder?: string\n @Input() autocomplete: 'off' | 'tel' = 'off'\n @Input()\n get format(): PhoneNumberFormat {\n return this._format\n }\n\n set format(value: PhoneNumberFormat) {\n this._format = value\n this.phoneNumber = this.formattedPhoneNumber\n this.stateChanges.next()\n }\n\n private _placeholder?: string\n private _required = false\n private _disabled = false\n stateChanges = new Subject<void>()\n focused = false\n @HostBinding()\n id = `ngx-mat-input-tel-${NgxMatInputTelComponent.nextId++}`\n describedBy = ''\n phoneNumber?: E164Number | NationalNumber = ''\n allCountries: Country[] = []\n preferredCountriesInDropDown: Country[] = []\n selectedCountry!: Country\n numberInstance?: PhoneNumber\n value?: any\n searchCriteria?: string\n @Output()\n countryChanged: EventEmitter<Country> = new EventEmitter<Country>()\n\n private previousFormattedNumber?: string\n // tslint:disable-next-line:variable-name\n private _format: PhoneNumberFormat = 'default'\n\n static getPhoneNumberPlaceHolder(countryISOCode: any): string | undefined {\n try {\n return getExampleNumber(countryISOCode, Examples)?.number.toString()\n } catch (e) {\n return e as any\n }\n }\n\n onTouched = () => {}\n\n propagateChange = (_: any) => {}\n\n private errorState?: boolean\n\n constructor(\n private _changeDetectorRef: ChangeDetectorRef,\n private countryCodeData: CountryCode,\n private fm: FocusMonitor,\n private elRef: ElementRef<HTMLElement>,\n @Optional() @Self() _ngControl: NgControl,\n @Optional() _parentForm: NgForm,\n @Optional() _parentFormGroup: FormGroupDirective,\n _defaultErrorStateMatcher: ErrorStateMatcher,\n ) {\n super(_defaultErrorStateMatcher, _parentForm, _parentFormGroup, _ngControl)\n fm.monitor(elRef, true).subscribe((origin) => {\n if (this.focused && !origin) {\n this.onTouched()\n }\n this.focused = !!origin\n this.stateChanges.next()\n })\n this.fetchCountryData()\n if (this.ngControl != null) {\n this.ngControl.valueAccessor = this\n }\n }\n\n ngOnInit() {\n if (!this.searchPlaceholder) {\n this.searchPlaceholder = 'Search ...'\n }\n if (this.preferredCountries.length) {\n this.preferredCountries.forEach((iso2) => {\n const preferredCountry = this.allCountries\n .filter((c) => {\n return c.iso2 === iso2\n })\n .shift()\n\n if (preferredCountry) this.preferredCountriesInDropDown.push(preferredCountry)\n })\n }\n if (this.onlyCountries.length) {\n this.allCountries = this.allCountries.filter((c) => this.onlyCountries.includes(c.iso2))\n }\n if (this.numberInstance && this.numberInstance.country) {\n // If an existing number is present, we use it to determine selectedCountry\n this.selectedCountry = this.getCountry(this.numberInstance.country)\n } else {\n if (this.preferredCountriesInDropDown.length) {\n this.selectedCountry = this.preferredCountriesInDropDown[0]\n } else {\n this.selectedCountry = this.allCountries[0]\n }\n }\n this.countryChanged.emit(this.selectedCountry)\n this._changeDetectorRef.markForCheck()\n this.stateChanges.next()\n }\n ngDoCheck(): void {\n if (this.ngControl) {\n const isInvalide = this.errorStateMatcher.isErrorState(\n this.ngControl.control,\n this._parentForm,\n )\n\n this.errorState =\n (isInvalide && !this.ngControl.control?.value) || (!this.focused ? isInvalide : false)\n }\n }\n public onPhoneNumberChange(): void {\n if (!this.phoneNumber) return\n\n try {\n this.numberInstance = parsePhoneNumberFromString(\n this.phoneNumber.toString(),\n this.selectedCountry.iso2.toUpperCase() as CC,\n )\n this.formatAsYouTypeIfEnabled()\n this.value = this.numberInstance?.number\n if (this.numberInstance && this.numberInstance.isValid()) {\n if (this.phoneNumber !== this.formattedPhoneNumber) {\n this.phoneNumber = this.formattedPhoneNumber\n }\n if (\n this.selectedCountry.iso2 !== this.numberInstance.country &&\n this.numberInstance.country\n ) {\n this.selectedCountry = this.getCountry(this.numberInstance.country)\n this.countryChanged.emit(this.selectedCountry)\n }\n }\n } catch (e) {\n // if no possible numbers are there,\n // then the full number is passed so that validator could be triggered and proper error could be shown\n this.value = this.phoneNumber.toString()\n }\n this.propagateChange(this.value)\n this._changeDetectorRef.markForCheck()\n }\n\n public onCountrySelect(country: Country, el: any): void {\n if (this.phoneNumber) {\n this.phoneNumber = this.numberInstance?.nationalNumber\n }\n this.selectedCountry = country\n this.countryChanged.emit(this.selectedCountry)\n this.onPhoneNumberChange()\n el.focus()\n }\n\n public getCountry(code: CC): Country {\n return (this.allCountries.find((c) => c.iso2 === code.toLowerCase()) || {\n name: 'UN',\n iso2: 'UN',\n dialCode: undefined,\n priority: 0,\n areaCodes: undefined,\n flagClass: 'UN',\n placeHolder: '',\n }) as Country\n }\n\n public onInputKeyPress(event: any): void {\n const pattern = /[0-9+\\- ]/\n if (!pattern.test(event.key)) {\n event.preventDefault()\n }\n }\n\n protected fetchCountryData(): void {\n this.countryCodeData.allCountries.forEach((c) => {\n const country: Country = {\n name: c[0].toString(),\n iso2: c[1].toString(),\n dialCode: c[2].toString(),\n priority: +c[3] || 0,\n areaCodes: (c[4] as string[]) || undefined,\n flagClass: c[1].toString().toUpperCase(),\n placeHolder: '',\n }\n\n if (this.enablePlaceholder) {\n country.placeHolder = NgxMatInputTelComponent.getPhoneNumberPlaceHolder(\n country.iso2.toUpperCase(),\n )\n }\n\n this.allCountries.push(country)\n })\n }\n\n registerOnChange(fn: any): void {\n this.propagateChange = fn\n }\n\n registerOnTouched(fn: any): void {\n this.onTouched = fn\n }\n\n setDisabledState(isDisabled: boolean): void {\n this.disabled = isDisabled\n this._changeDetectorRef.markForCheck()\n this.stateChanges.next(undefined)\n }\n\n writeValue(value: any): void {\n if (value) {\n this.numberInstance = parsePhoneNumberFromString(value)\n if (this.numberInstance) {\n const countryCode = this.numberInstance.country\n this.phoneNumber = this.formattedPhoneNumber\n if (!countryCode) {\n return\n }\n setTimeout(() => {\n this.selectedCountry = this.getCountry(countryCode)\n if (\n this.selectedCountry.dialCode &&\n !this.preferredCountries.includes(this.selectedCountry.iso2)\n ) {\n this.preferredCountriesInDropDown.push(this.selectedCountry)\n }\n this.countryChanged.emit(this.selectedCountry)\n\n // Initial value is set\n this._changeDetectorRef.markForCheck()\n this.stateChanges.next()\n }, 1)\n } else {\n this.phoneNumber = value\n }\n }\n // Angular bug\n // else if (this.phoneNumber !== '') {\n // this.reset()\n // }\n\n // Value is set from outside using setValue()\n this._changeDetectorRef.markForCheck()\n this.stateChanges.next(undefined)\n }\n\n get empty(): boolean {\n return !this.phoneNumber\n }\n\n @HostBinding('class.ngx-floating')\n get shouldLabelFloat(): boolean {\n return this.focused || !this.empty\n }\n\n @Input()\n get placeholder(): string {\n return this._placeholder || ''\n }\n\n set placeholder(value: string) {\n this._placeholder = value\n this.stateChanges.next(undefined)\n }\n\n @Input()\n get required(): boolean {\n return this._required\n }\n\n set required(value: boolean) {\n this._required = coerceBooleanProperty(value)\n this.stateChanges.next(undefined)\n }\n\n @Input()\n get disabled(): boolean {\n return this._disabled\n }\n\n set disabled(value: boolean) {\n this._disabled = coerceBooleanProperty(value)\n this.stateChanges.next(undefined)\n }\n\n setDescribedByIds(ids: string[]) {\n this.describedBy = ids.join(' ')\n }\n\n onContainerClick(event: MouseEvent): void {\n if ((event.target as Element).tagName.toLowerCase() !== 'input') {\n // tslint:disable-next-line:no-non-null-assertion\n this.elRef.nativeElement.querySelector('input')!.focus()\n }\n }\n\n reset() {\n this.phoneNumber = ''\n this.propagateChange(null)\n\n this._changeDetectorRef.markForCheck()\n this.stateChanges.next(undefined)\n }\n\n ngOnDestroy() {\n this.stateChanges.complete()\n this.fm.stopMonitoring(this.elRef)\n }\n\n private get formattedPhoneNumber(): string {\n if (!this.numberInstance) {\n return this.phoneNumber?.toString() || ''\n }\n switch (this.format) {\n case 'national':\n return this.numberInstance.formatNational()\n case 'international':\n return this.numberInstance.formatInternational()\n default:\n return this.numberInstance.nationalNumber.toString()\n }\n }\n\n private formatAsYouTypeIfEnabled(): void {\n if (this.format === 'default') {\n return\n }\n const asYouType: AsYouType = new AsYouType(this.selectedCountry.iso2.toUpperCase() as CC)\n // To avoid caret positioning we apply formatting only if the caret is at the end:\n if (!this.phoneNumber) return\n\n if (this.phoneNumber?.toString().startsWith(this.previousFormattedNumber || '')) {\n this.phoneNumber = asYouType.input(this.phoneNumber.toString())\n }\n this.previousFormattedNumber = this.phoneNumber.toString()\n }\n}\n","<div class=\"ngx-mat-input-tel-container\">\n <button\n type=\"button\"\n mat-button\n [matMenuTriggerFor]=\"menu\"\n class=\"country-selector\"\n [disabled]=\"disabled\"\n (menuOpened)=\"menuSearchInput?.nativeElement?.focus()\"\n >\n <span class=\"country-selector-flag flag\" [ngClass]=\"selectedCountry.flagClass\"></span>\n <span class=\"country-selector-code\" *ngIf=\"selectedCountry?.dialCode\"\n >+{{ selectedCountry.dialCode }}</span\n >\n </button>\n\n <mat-menu\n #menu=\"matMenu\"\n class=\"ngx-mat-input-tel-mat-menu-panel\"\n backdropClass=\"ngx-mat-input-tel-overlay-backdrop\"\n overlayPanelClass=\"ngx-mat-input-tel-overlay-pane\"\n >\n <input\n #menuSearchInput\n *ngIf=\"enableSearch\"\n class=\"country-search\"\n [(ngModel)]=\"searchCriteria\"\n type=\"text\"\n [placeholder]=\"searchPlaceholder\"\n (click)=\"$event.stopPropagation()\"\n style=\"\n width: 100%;\n height: 34px;\n border: none;\n border-bottom: 1px solid #ddd;\n font-size: 14px;\n padding: 20px 20px 24px;\n box-sizing: border-box;\n \"\n />\n <button\n type=\"button\"\n mat-menu-item\n class=\"country-list-button\"\n *ngFor=\"let country of preferredCountriesInDropDown\"\n (click)=\"onCountrySelect(country, focusable)\"\n >\n <div class=\"icon-wrapper\">\n <div class=\"flag\" [ngClass]=\"country.flagClass\"></div>\n </div>\n <div class=\"label-wrapper\">\n {{ country.name }}\n <span *ngIf=\"country?.dialCode\">+{{ country.dialCode }}</span>\n </div>\n </button>\n <mat-divider *ngIf=\"preferredCountriesInDropDown?.length\"></mat-divider>\n <ng-container *ngFor=\"let country of allCountries\">\n <button\n type=\"button\"\n mat-menu-item\n class=\"country-list-button\"\n *ngIf=\"country | search : searchCriteria\"\n (click)=\"onCountrySelect(country, focusable)\"\n >\n <div class=\"icon-wrapper\">\n <div class=\"flag\" [ngClass]=\"country.flagClass\"></div>\n </div>\n <div class=\"label-wrapper\">{{ country.name }} +{{ country.dialCode }}</div>\n </button>\n </ng-container>\n </mat-menu>\n\n <input\n matInput\n type=\"tel\"\n inputmode=\"tel\"\n [autocomplete]=\"autocomplete\"\n [ngClass]=\"cssClass\"\n (blur)=\"onTouched()\"\n (keypress)=\"onInputKeyPress($event)\"\n [(ngModel)]=\"phoneNumber\"\n (ngModelChange)=\"onPhoneNumberChange()\"\n [errorStateMatcher]=\"errorStateMatcher\"\n [placeholder]=\"inputPlaceholder\"\n [disabled]=\"disabled\"\n #focusable\n />\n</div>\n","/*\n * Public API Surface of ngx-mat-input-tel\n */\n\nexport * from './lib/ngx-mat-input-tel.component'\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1.CountryCode"],"mappings":"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"}
@@ -13,11 +13,8 @@ declare class ngxMatInputTelBase {
13
13
  _defaultErrorStateMatcher: ErrorStateMatcher;
14
14
  _parentForm: NgForm;
15
15
  _parentFormGroup: FormGroupDirective;
16
- /** @docs-private */
17
16
  ngControl: NgControl;
18
- constructor(_defaultErrorStateMatcher: ErrorStateMatcher, _parentForm: NgForm, _parentFormGroup: FormGroupDirective,
19
- /** @docs-private */
20
- ngControl: NgControl);
17
+ constructor(_defaultErrorStateMatcher: ErrorStateMatcher, _parentForm: NgForm, _parentFormGroup: FormGroupDirective, ngControl: NgControl);
21
18
  }
22
19
  declare const _ngxMatInputTelMixinBase: typeof ngxMatInputTelBase;
23
20
  export declare class NgxMatInputTelComponent extends _ngxMatInputTelMixinBase implements OnInit, OnDestroy, DoCheck {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "ngx-mat-input-tel",
3
- "version": "16.2.0",
3
+ "version": "16.2.1",
4
4
  "author": {
5
5
  "name": "Raphaël Balet",
6
6
  "email": "raphael.balet@outlook.com"