anchor.diff:      int k = 0;
       for (int row = 0; row < 8; row++) {
         for (int col = 0; col < 8; col++) {
  -        fdtbl_Y[k] = (1.0 / (YTable [ZigZag[k]] * aasf[row] * aasf[col] * 8.0));
  -        fdtbl_UV[k] = (1.0 / (UVTable[ZigZag[k]] * aasf[row] * aasf[col] * 8.0));
  +        fdtbl_Y[k] = (1.0 / (YTable [_Jpeg.dctZigZag[k]] * aasf[row] * aasf[col] * 8.0));
  +        fdtbl_UV[k] = (1.0 / (UVTable[_Jpeg.dctZigZag[k]] * aasf[row] * aasf[col] * 8.0));
           k++;
         }
       }
  
positive.code:   final charLookupTable = new List(256);
    final RGB_YUV_TABLE = new List(2048);
    int currentQuality;
  
    static const List<int> ZigZag = const [
        0, 1, 5, 6, 14, 15, 27, 28,
        2, 4, 7, 13, 16, 26, 29, 42,
        3, 8, 12, 17, 25, 30, 41, 43,
        9, 11, 18, 24, 31, 40, 44, 53,
        10, 19, 23, 32, 39, 45, 52, 54,
        20, 22, 33, 38, 46, 51, 55, 60,
        21, 34, 37, 47, 50, 56, 59, 61,
        35, 36, 48, 49, 57, 58, 62, 63 ];
  
    static const List<int> std_dc_luminance_nrcodes = const [
        0, 0, 1, 5, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0 ];
  
negative.code:   }
  
    void _writeDQT(_ByteBuffer out) {
      _writeMarker(out, _Jpeg.M_DQT);
      out.writeUint16(132); // length
      out.writeByte(0);
      for (int i = 0; i < 64; i++) {
  