anchor.diff:    }
   
     double parseDouble(int start, int end) {
  -    String string = getString(start, end);
  +    String string = getString(start, end, 0x7f);
       return _parseDouble(string, 0, string.length);
     }
   }
  
positive.code:         beginString();
          int sliceEnd = position - 1;
          if (start < sliceEnd) addSliceToString(start, sliceEnd);
          return parseStringToBuffer(position - 1);
        }
        if (char == QUOTE) {
          listener.handleString(getString(start, position - 1));
          return position;
        }
        if (char < SPACE) {
  
negative.code: 
    int getChar(int position) => chunk[position];
  
    String getString(int start, int end, int bits) {
      const int maxAsciiChar = 0x7f;
      if (bits <= maxAsciiChar) {
        return new String.fromCharCodes(chunk, start, end);
      }
      beginString();
      if (start < end) addSliceToString(start, end);
      String result = endString();
  