anchor.diff:        @Optional() NumberFormat numberFormat,
         @Attribute('changeUpdate') String changeUpdateAttr,
         @Attribute('keypressUpdate') String keypressUpdateAttr,
  -      @Attribute('checkInteger') String integer) {
  +      @Attribute('checkInteger') String integer,
  +      @Attribute('blurFormat') String blurFormat) {
       var updateStream;
       final changeUpdate = getBool(changeUpdateAttr ?? false);
       final keypressUpdate = getBool(keypressUpdateAttr ?? false);
  
positive.code:     }
      numberFormat ??= new NumberFormat.decimalPattern();
      final checkInteger = getBool(integer ?? false);
      return new MaterialNumberValueAccessor._(
          updateStream, checkInteger, numberFormat, input, control);
    }
  
    MaterialNumberValueAccessor._(this._updateStream, this._checkInteger,
        this._numberFormat, BaseMaterialInput input, NgControl control)
        : super(input, control);
  
    @override
    void writeValue(newValue) {
  
negative.code: ///
  /// `keypressUpdate` attribute has the value update on every keypress while
  /// the default is the value only updating on a blur event.
  /// `blurFormat` attribute causes the input to be formatted on blur events.
  @Directive(selector: 'material-input[type=number],material-input[type=percent]')
  class MaterialNumberValueAccessor extends BaseMaterialInputValueAccessor
      implements ControlValueAccessor, OnDestroy {
  