anchor.diff:      String $cmd = "${selDate} where ${datecond} order by date";
   
       var dlist = await _pool.query($cmd);
  -      await dlist.forEach((row) {
  -        DateTime dartDate2 = new DateTime(
  -            int.parse(row['date'].substring(0, 4)),
  -            int.parse(row['date'].substring(4, 6)),
  -            int.parse(row['date'].substring(6, 8)));
  -        String wdname = getwDName(dartDate2);
  -        String mname = getMName(dartDate2);
  -        output += "\t<TR>\n";
  -        String inner =
  -            "<A HREF=\"javascript:calDay(${dartDate2.day})\">${wdname} ${mname} ${dartDate2.day.toString()}</A>";
  -        String atts = "VALIGN=\"TOP\" WIDTH=\"80\"";
  -        output += "\t\t<TD ${atts} ${hClass}>${inner}</TD>\n";
  -        output += "\t\t<TD>\n";
  -        output += listDay(dartDate2.day.toString(), true);
  -        output += "\t\t</TD>\n";
  -        output += "\t</TR>\n";
  -      });
  +    await dlist.forEach((row) {
  +      DateTime dartDate2 = new DateTime(int.parse(row['date'].substring(0, 4)),
  +          int.parse(row['date'].substring(4, 6)),
  +          int.parse(row['date'].substring(6, 8)));
  +      String wdname = getwDName(dartDate2);
  +      String mname = getMName(dartDate2);
  +      output += "\t<TR>\n";
  +      String inner =
  +          "<A HREF=\"javascript:calDay(${dartDate2.day})\">${wdname} ${mname} ${dartDate2.day.toString()}</A>";
  +      String atts = "VALIGN=\"TOP\" WIDTH=\"80\"";
  +      output += "\t\t<TD ${atts} ${hClass}>${inner}</TD>\n";
  +      output += "\t\t<TD>\n";
  +      output += listDay(dartDate2.day.toString(), true);
  +      output += "\t\t</TD>\n";
  +      output += "\t</TR>\n";
  +    });
   
       output += "</TABLE>\n";
       output += "<!-- End ${vname} View -->\n";
  
positive.code:     return output;
    }
  
    String calMonDtype(int y, int m, String curdate)
    {
      int  today = -1;
      int ty, tm, td;
      DateTime now = new DateTime.now();
    if ( today == -1 ) {
      ty = now.year;
      tm = now.month;
      td = now.day;
    }
    DateTime dartDate = new DateTime(int.parse(date.substring(0, 4)),
    int.parse(date.substring(4, 6)), int.parse(date.substring(6, 8)));
  
    int cury = dartDate.year;
    int curm = dartDate.month, $curd) = msdbDayBreak($curdate);
  
    if ( $tm == $m && $ty == $y && $curm == $m && $cury == $y )
    return('CAL_BOTH');
    if ( $tm == $m && $ty == $y )
    return('CAL_TODAY');
    if ( $curm == $m && $cury == $y )
    return('CAL_CURDATE');
    return('CAL_REG');
  }
  
  
  String monClass(int y, int m, String curdate)
    {
      Map mClasses = {
          'CAL_REG' : "",
          'CAL_TODAY' : "class=\"calMonToday\"",
          'CAL_CURDATE' : "class=\"calMonCurdate\"",
          'CAL_BOTH' : "class=\"calMonBoth\""};
  
  
      $ty = calMonDtype($y, $m, $curdate);
  
      return($mClasses[calMonDtype($y, $m, $curdate)]);
    }
  
    String calMlist(String date)
    {
      String output = "";
      int numshow = 5;
      int numShowBefore = 2;
  
      DateTime dartDate = new DateTime(int.parse(date.substring(0, 4)),
      int.parse(date.substring(4, 6)), int.parse(date.substring(6, 8)));
  
      int firstMthisYear;
      if ( dartDate.month - numShowBefore + numshow - 1 > 12 )
        firstMthisYear = 12 - numshow + 1;
      else if ( dartDate.month  - numShowBefore < 1 )
        firstMthisYear = 1;
      else
        firstMthisYear = dartDate.month - numShowBefore ;
  
      output += "<TABLE class=\"calMlist\" BORDER=1 WIDTH=\"100%%\">\n";
      output += "\t<TR class=calMlistYear>\n";
  
      for(int i=0;i<3;i++) {
        int ty = dartDate.year - 1 + i ;
        output += "\t\t<TD><A HREF=\"javascript:calYear(${ty})\">${ty.toString()}</A></TD>\n";
      }
      output +="\t</TR>\n";
  
      for(int m=0;m<numshow;m++) {
        output +="\t<TR>\n";
  
        int prevYM = 12-numshow+m+1 ;
        printf("\t\t<TD %s>%s</TD>\n",
        monClass($y-1, $prevYM, $date),
        calMref($y-1, $prevYM, $date)
        );
  
        $thisYM = $firstMthisYear + $m ;
        printf("\t\t<TD %s>%s</TD>\n",
        monClass($y, $thisYM, $date),
        calMref($y, $thisYM, $date)
        );
  
        printf("\t\t<TD %s>%s</TD>\n",
        monClass($y+1, $m+1, $date),
        calMref($y+1, $m+1, $date)
        );
  
        echo "\t</TR>\n";
      }
  
      echo "</TABLE>\n";*/
      return output;
    }
  
     calMain(String date) async {
      String view;
      if (_ap.Request.containsKey('View')) {
        view = _ap.Request['View'];
  
negative.code:       title = "${dartDate.year.toString()}";
      } else {
        vname = "Month";
        String mname = getMName(dartDate);
  
        title = "${mname} ${dartDate.year.toString()}";
      }
  