anchor.diff:  import 'char_code.dart';
   import 'mime_shared.dart';
   
  -// Bytes for '()<>@,;:\\"/[]?={} \t'.
  +/// Bytes for '()<>@,;:\\"/[]?={} \t'.
   const _SEPARATORS = [
     40,
     41,
  
positive.code: // Copyright (c) 2014, the Dart project authors.  Please see the AUTHORS file
  // for details. All rights reserved. Use of this source code is governed by a
  // BSD-style license that can be found in the LICENSE file.
  library mime.bound_multipart_stream;
  
  import 'dart:async';
  import 'dart:convert';
  
negative.code:   int _state = _START;
    int _boundaryIndex = 2;
  
    /// Current index into [_buffer].
    ///
    /// If index is negative then it is the index into the artificial prefix of
    /// the boundary string.
    int _index;
    List<int> _buffer;
  
    BoundMultipartStream(this._boundary, Stream<List<int>> stream) {
      _controller
        ..onPause = _pauseStream
        ..onResume = _resumeStream
        ..onCancel = () {
          _controllerState = _CONTROLLER_STATE_CANCELED;
          _tryPropagateControllerState();
        }
        ..onListen = () {
          _controllerState = _CONTROLLER_STATE_ACTIVE;
          _subscription = stream.listen((data) {
            assert(_buffer == null);
            _subscription.pause();
            _buffer = data;
            _index = 0;
            _parse();
          }, onDone: () {
            if (_state != _DONE) {
              _controller
                  .addError(MimeMultipartException('Bad multipart ending'));
            }
            _controller.close();
          }, onError: _controller.addError);
        };
    }
  
    void _resumeStream() {
  