anchor.diff:    final _random = new Random();
     int _next(int min, int max) => min + _random.nextInt(max - min);
     List _calWtable = new List();
  -  List<List<int>> _calMtable = new List<List<int>>();
  +  Array2d<int> _calMtable = new Array2d<int>(31, 7, defaultValue: 0);
   
     var _pool;
     final String _calTable = "lwc";
  
positive.code:     output += "</TABLE>\n";
      return output;
    }
    int msdbDayMadd(String date)
    {
      DateTime dartDate = new DateTime(int.parse(date.substring(0, 4)),
      int.parse(date.substring(4, 6)), int.parse(date.substring(6, 8)));
  
      if ( dartDate.month < 12 )
        return 100 ;
      else
        return  1100 + 10000;
    }
  
    calMain(String date) async {
  
negative.code: 
      for (int i = 0, w = 0; i < mdays; i++) {
        if (i != 0 && wd == 0) w++;
        _calMtable[w][wd] = i + 1;
        wd = (wd + 1) % 7;
      }
    }
  
    String calWeekRef(int y, int m, int w) {
      int i;
      for (i = 0; i < 7; i++) if (_calMtable[w][i] != 0) break;
      if (i == 7) {
        return "";
      }
  