]> granicus.if.org Git - php/commitdiff
Fixed bug #80376 (last day of the month causes runway cpu usage)
authorDerick Rethans <github@derickrethans.nl>
Mon, 21 Dec 2020 10:31:41 +0000 (10:31 +0000)
committerDerick Rethans <github@derickrethans.nl>
Mon, 21 Dec 2020 10:31:41 +0000 (10:31 +0000)
1  2 
NEWS
ext/date/lib/parse_date.c
ext/date/lib/parse_iso_intervals.c

diff --cc NEWS
index 986195964d759fc266508a8d631c33296dfcb211,26554ff9ca27476e2df9302c44f14b09331ec2a4..30d7463c2ac1992752d3fe70e5cf82260cbe0430
--- 1/NEWS
--- 2/NEWS
+++ b/NEWS
@@@ -5,9 -5,8 +5,12 @@@ PH
  - Core:
    . Fixed bug #80523 (bogus parse error on >4GB source code). (Nikita)
  
 -  . Fixed bug #80376 (last day of the month causes runway cpu usage. (Derick)
+ - Date:
++  . Fixed bug #80376 (last day of the month causes runway cpu usage). (Derick)
++
 +- DOM:
 +  . Fixed bug #80537 (Wrong parameter type in DOMElement::removeAttributeNode
 +    stub). (Nikita)
  
  - MySQLi:
    . Fixed bug #67983 (mysqlnd with MYSQLI_OPT_INT_AND_FLOAT_NATIVE fails to
index 99c6d11cced19bbaaa8ff8060afae099459c9c1d,311bb1afe59fd00d2cbafaee46b1cc4316a69833..e8154ca0683b6d1947c6a5fc49f80a336a4b71dd
@@@ -1,4 -1,4 +1,4 @@@
- /* Generated by re2c 2.0.3 on Mon Aug 31 12:21:15 2020 */
 -/* Generated by re2c 0.15.3 on Mon Dec 21 10:25:55 2020 */
++/* Generated by re2c 0.15.3 on Mon Dec 21 10:30:58 2020 */
  #line 1 "parse_date.re"
  /*
   * The MIT License (MIT)
  yy2:
        YYDEBUG(2, *YYCURSOR);
        ++YYCURSOR;
 -                      goto yy1533;
+       if ((yych = *YYCURSOR) <= 'E') {
+               if (yych <= ')') {
+                       if (yych >= ')') goto yy174;
+               } else {
+                       if (yych <= '@') goto yy3;
+                       if (yych <= 'D') goto yy175;
 -                      if (yych <= 'e') goto yy1542;
++                      goto yy1558;
+               }
+       } else {
+               if (yych <= 'd') {
+                       if (yych <= 'Z') goto yy175;
+                       if (yych >= 'a') goto yy180;
+               } else {
++                      if (yych <= 'e') goto yy1567;
+                       if (yych <= 'z') goto yy180;
+               }
+       }
+ yy3:
        YYDEBUG(3, *YYCURSOR);
- #line 1830 "parse_date.re"
 -#line 1719 "parse_date.re"
++#line 1741 "parse_date.re"
        {
-               s->pos = cursor; s->line++;
-               goto std;
+               int tz_not_found;
+               DEBUG_OUTPUT("tzcorrection | tz");
+               TIMELIB_INIT;
+               TIMELIB_HAVE_TZ();
 -              s->time->z = timelib_parse_zone((char **) &ptr, &s->time->dst, s->time, &tz_not_found, s->tzdb, tz_get_wrapper);
++              s->time->z = timelib_parse_zone(&ptr, &s->time->dst, s->time, &tz_not_found, s->tzdb, tz_get_wrapper);
+               if (tz_not_found) {
+                       add_error(s, TIMELIB_ERR_TZID_NOT_FOUND, "The timezone could not be found in the database");
+               }
+               TIMELIB_DEINIT;
+               return TIMELIB_TIMEZONE;
        }
- #line 1020 "<stdout>"
 -#line 1043 "<stdout>"
++#line 1046 "<stdout>"
  yy4:
        YYDEBUG(4, *YYCURSOR);
-       ++YYCURSOR;
+       yych = *++YYCURSOR;
+       if (yych <= 'E') {
+               if (yych <= ')') {
+                       if (yych <= '(') goto yy3;
+                       goto yy174;
+               } else {
+                       if (yych <= '@') goto yy3;
+                       if (yych <= 'D') goto yy175;
 -                      goto yy1533;
++                      goto yy1558;
+               }
+       } else {
+               if (yych <= 'd') {
+                       if (yych <= 'Z') goto yy175;
+                       if (yych <= '`') goto yy3;
+                       goto yy175;
+               } else {
 -                      if (yych <= 'e') goto yy1533;
++                      if (yych <= 'e') goto yy1558;
+                       if (yych <= 'z') goto yy175;
+                       goto yy3;
+               }
+       }
  yy5:
        YYDEBUG(5, *YYCURSOR);
- #line 1836 "parse_date.re"
-       {
-               add_error(s, TIMELIB_ERR_UNEXPECTED_CHARACTER, "Unexpected character");
-               goto std;
+       yych = *++YYCURSOR;
+       if (yych <= 'O') {
+               if (yych <= 'D') {
+                       if (yych == ')') goto yy174;
+                       if (yych <= '@') goto yy3;
+                       goto yy175;
+               } else {
+                       if (yych <= 'H') {
 -                              if (yych <= 'E') goto yy1504;
++                              if (yych <= 'E') goto yy1529;
+                               goto yy175;
+                       } else {
 -                              if (yych <= 'I') goto yy1505;
++                              if (yych <= 'I') goto yy1530;
+                               if (yych <= 'N') goto yy175;
 -                              goto yy1503;
++                              goto yy1528;
+                       }
+               }
+       } else {
+               if (yych <= 'h') {
+                       if (yych <= '`') {
+                               if (yych <= 'Z') goto yy175;
+                               goto yy3;
+                       } else {
 -                              if (yych == 'e') goto yy1520;
++                              if (yych == 'e') goto yy1545;
+                               goto yy180;
+                       }
+               } else {
+                       if (yych <= 'n') {
 -                              if (yych <= 'i') goto yy1521;
++                              if (yych <= 'i') goto yy1546;
+                               goto yy180;
+                       } else {
 -                              if (yych <= 'o') goto yy1519;
++                              if (yych <= 'o') goto yy1544;
+                               if (yych <= 'z') goto yy180;
+                               goto yy3;
+                       }
+               }
        }
- #line 1031 "<stdout>"
  yy6:
        YYDEBUG(6, *YYCURSOR);
-       yyaccept = 0;
-       yych = *(YYMARKER = ++YYCURSOR);
-       if (yybm[0+yych] & 2) {
-               goto yy54;
+       yych = *++YYCURSOR;
+       if (yych <= 'O') {
+               if (yych <= 'D') {
+                       if (yych == ')') goto yy174;
+                       if (yych <= '@') goto yy3;
+                       goto yy175;
+               } else {
+                       if (yych <= 'H') {
 -                              if (yych <= 'E') goto yy1504;
++                              if (yych <= 'E') goto yy1529;
+                               goto yy175;
+                       } else {
 -                              if (yych <= 'I') goto yy1505;
++                              if (yych <= 'I') goto yy1530;
+                               if (yych <= 'N') goto yy175;
 -                              goto yy1503;
++                              goto yy1528;
+                       }
+               }
+       } else {
+               if (yych <= 'h') {
+                       if (yych <= '`') {
+                               if (yych <= 'Z') goto yy175;
+                               goto yy3;
+                       } else {
 -                              if (yych == 'e') goto yy1504;
++                              if (yych == 'e') goto yy1529;
+                               goto yy175;
+                       }
+               } else {
+                       if (yych <= 'n') {
 -                              if (yych <= 'i') goto yy1505;
++                              if (yych <= 'i') goto yy1530;
+                               goto yy175;
+                       } else {
 -                              if (yych <= 'o') goto yy1503;
++                              if (yych <= 'o') goto yy1528;
+                               if (yych <= 'z') goto yy175;
+                               goto yy3;
+                       }
+               }
        }
-       if (yych <= '/') goto yy7;
-       if (yych <= '9') goto yy57;
  yy7:
        YYDEBUG(7, *YYCURSOR);
- #line 1825 "parse_date.re"
-       {
-               goto std;
+       yych = *++YYCURSOR;
+       if (yych <= 'O') {
+               if (yych <= 'A') {
+                       if (yych == ')') goto yy174;
+                       if (yych <= '@') goto yy3;
 -                      goto yy1473;
++                      goto yy1498;
+               } else {
 -                      if (yych == 'I') goto yy1474;
++                      if (yych == 'I') goto yy1499;
+                       if (yych <= 'N') goto yy175;
 -                      goto yy1475;
++                      goto yy1500;
+               }
+       } else {
+               if (yych <= 'h') {
+                       if (yych <= 'Z') goto yy175;
+                       if (yych <= '`') goto yy3;
 -                      if (yych <= 'a') goto yy1488;
++                      if (yych <= 'a') goto yy1513;
+                       goto yy180;
+               } else {
+                       if (yych <= 'n') {
 -                              if (yych <= 'i') goto yy1489;
++                              if (yych <= 'i') goto yy1514;
+                               goto yy180;
+                       } else {
 -                              if (yych <= 'o') goto yy1490;
++                              if (yych <= 'o') goto yy1515;
+                               if (yych <= 'z') goto yy180;
+                               goto yy3;
+                       }
+               }
        }
- #line 1047 "<stdout>"
  yy8:
        YYDEBUG(8, *YYCURSOR);
        yych = *++YYCURSOR;
-       if (yych <= '@') goto yy5;
-       if (yych <= 'Z') goto yy40;
-       if (yych <= '`') goto yy5;
-       if (yych <= 'z') goto yy40;
-       goto yy5;
+       if (yych <= 'O') {
+               if (yych <= 'A') {
+                       if (yych == ')') goto yy174;
+                       if (yych <= '@') goto yy3;
 -                      goto yy1473;
++                      goto yy1498;
+               } else {
 -                      if (yych == 'I') goto yy1474;
++                      if (yych == 'I') goto yy1499;
+                       if (yych <= 'N') goto yy175;
 -                      goto yy1475;
++                      goto yy1500;
+               }
+       } else {
+               if (yych <= 'h') {
+                       if (yych <= 'Z') goto yy175;
+                       if (yych <= '`') goto yy3;
 -                      if (yych <= 'a') goto yy1473;
++                      if (yych <= 'a') goto yy1498;
+                       goto yy175;
+               } else {
+                       if (yych <= 'n') {
 -                              if (yych <= 'i') goto yy1474;
++                              if (yych <= 'i') goto yy1499;
+                               goto yy175;
+                       } else {
 -                              if (yych <= 'o') goto yy1475;
++                              if (yych <= 'o') goto yy1500;
+                               if (yych <= 'z') goto yy175;
+                               goto yy3;
+                       }
+               }
+       }
  yy9:
        YYDEBUG(9, *YYCURSOR);
-       yyaccept = 1;
+       yyaccept = 0;
        yych = *(YYMARKER = ++YYCURSOR);
-       if (yybm[0+yych] & 2) {
-               goto yy54;
-       }
        switch (yych) {
-       case '+':
-       case '-':       goto yy58;
+       case ')':       goto yy174;
        case '0':
-       case '1':       goto yy60;
-       case '2':       goto yy61;
 -      case '1':       goto yy1403;
 -      case '2':       goto yy1404;
++      case '1':       goto yy1428;
++      case '2':       goto yy1429;
        case '3':
        case '4':
        case '5':
        case '6':
        case '7':
        case '8':
-       case '9':       goto yy62;
-       default:        goto yy5;
 -      case '9':       goto yy1405;
++      case '9':       goto yy1430;
+       case 'A':
+       case 'B':
+       case 'C':
+       case 'D':
+       case 'F':
+       case 'G':
+       case 'I':
+       case 'J':
+       case 'K':
+       case 'L':
+       case 'M':
+       case 'N':
+       case 'P':
+       case 'Q':
+       case 'R':
+       case 'S':
+       case 'T':
+       case 'V':
+       case 'X':
+       case 'Y':
+       case 'Z':       goto yy175;
 -      case 'E':       goto yy1398;
 -      case 'H':       goto yy1399;
 -      case 'O':       goto yy1400;
 -      case 'U':       goto yy1401;
 -      case 'W':       goto yy1402;
++      case 'E':       goto yy1423;
++      case 'H':       goto yy1424;
++      case 'O':       goto yy1425;
++      case 'U':       goto yy1426;
++      case 'W':       goto yy1427;
+       case 'a':
+       case 'b':
+       case 'c':
+       case 'd':
+       case 'f':
+       case 'g':
+       case 'i':
+       case 'j':
+       case 'k':
+       case 'l':
+       case 'm':
+       case 'n':
+       case 'p':
+       case 'q':
+       case 'r':
+       case 's':
+       case 't':
+       case 'v':
+       case 'x':
+       case 'y':
+       case 'z':       goto yy180;
 -      case 'e':       goto yy1441;
 -      case 'h':       goto yy1442;
 -      case 'o':       goto yy1443;
 -      case 'u':       goto yy1444;
 -      case 'w':       goto yy1445;
++      case 'e':       goto yy1466;
++      case 'h':       goto yy1467;
++      case 'o':       goto yy1468;
++      case 'u':       goto yy1469;
++      case 'w':       goto yy1470;
+       default:        goto yy3;
        }
  yy10:
        YYDEBUG(10, *YYCURSOR);
-       ++YYCURSOR;
-       goto yy7;
+       yyaccept = 0;
+       yych = *(YYMARKER = ++YYCURSOR);
+       switch (yych) {
+       case ')':       goto yy174;
+       case '0':
 -      case '1':       goto yy1403;
 -      case '2':       goto yy1404;
++      case '1':       goto yy1428;
++      case '2':       goto yy1429;
+       case '3':
+       case '4':
+       case '5':
+       case '6':
+       case '7':
+       case '8':
 -      case '9':       goto yy1405;
++      case '9':       goto yy1430;
+       case 'A':
+       case 'B':
+       case 'C':
+       case 'D':
+       case 'F':
+       case 'G':
+       case 'I':
+       case 'J':
+       case 'K':
+       case 'L':
+       case 'M':
+       case 'N':
+       case 'P':
+       case 'Q':
+       case 'R':
+       case 'S':
+       case 'T':
+       case 'V':
+       case 'X':
+       case 'Y':
+       case 'Z':
+       case 'a':
+       case 'b':
+       case 'c':
+       case 'd':
+       case 'f':
+       case 'g':
+       case 'i':
+       case 'j':
+       case 'k':
+       case 'l':
+       case 'm':
+       case 'n':
+       case 'p':
+       case 'q':
+       case 'r':
+       case 's':
+       case 't':
+       case 'v':
+       case 'x':
+       case 'y':
+       case 'z':       goto yy175;
+       case 'E':
 -      case 'e':       goto yy1398;
++      case 'e':       goto yy1423;
+       case 'H':
 -      case 'h':       goto yy1399;
++      case 'h':       goto yy1424;
+       case 'O':
 -      case 'o':       goto yy1400;
++      case 'o':       goto yy1425;
+       case 'U':
 -      case 'u':       goto yy1401;
++      case 'u':       goto yy1426;
+       case 'W':
 -      case 'w':       goto yy1402;
++      case 'w':       goto yy1427;
+       default:        goto yy3;
+       }
  yy11:
        YYDEBUG(11, *YYCURSOR);
        yyaccept = 1;
        yych = *(YYMARKER = ++YYCURSOR);
-       if (yych <= '`') {
-               if (yych <= '@') {
-                       if (yych <= '-') {
-                               if (yych <= 0x1F) {
-                                       if (yych == '\t') goto yy63;
-                                       goto yy5;
-                               } else {
-                                       if (yych <= ' ') goto yy65;
-                                       if (yych <= ',') goto yy5;
-                                       goto yy66;
-                               }
 -      if (yych == '-') goto yy1386;
++      if (yych == '-') goto yy1411;
+       if (yych <= '/') goto yy12;
 -      if (yych <= '9') goto yy1387;
++      if (yych <= '9') goto yy1412;
+ yy12:
+       YYDEBUG(12, *YYCURSOR);
 -#line 1814 "parse_date.re"
++#line 1836 "parse_date.re"
+       {
+               add_error(s, TIMELIB_ERR_UNEXPECTED_CHARACTER, "Unexpected character");
+               goto std;
+       }
 -#line 1357 "<stdout>"
++#line 1360 "<stdout>"
+ yy13:
+       YYDEBUG(13, *YYCURSOR);
+       yych = *++YYCURSOR;
+       if (yych <= 'R') {
+               if (yych <= 'E') {
+                       if (yych <= ')') {
+                               if (yych <= '(') goto yy3;
+                               goto yy174;
                        } else {
-                               if (yych <= '0') {
-                                       if (yych <= '.') goto yy67;
-                                       if (yych <= '/') goto yy68;
-                                       goto yy69;
-                               } else {
-                                       if (yych <= '9') goto yy70;
-                                       if (yych <= ':') goto yy71;
-                                       goto yy5;
-                               }
+                               if (yych <= '@') goto yy3;
+                               if (yych <= 'D') goto yy175;
 -                              goto yy1321;
++                              goto yy1346;
                        }
                } else {
-                       if (yych <= 'G') {
-                               if (yych <= 'D') {
-                                       if (yych <= 'A') goto yy65;
-                                       if (yych <= 'C') goto yy5;
-                                       goto yy65;
-                               } else {
-                                       if (yych == 'F') goto yy65;
-                                       goto yy5;
-                               }
+                       if (yych <= 'N') {
 -                              if (yych == 'I') goto yy1322;
++                              if (yych == 'I') goto yy1347;
+                               goto yy175;
                        } else {
-                               if (yych <= 'O') {
-                                       if (yych <= 'J') goto yy65;
-                                       if (yych <= 'L') goto yy5;
-                                       goto yy65;
-                               } else {
-                                       if (yych <= 'R') goto yy5;
-                                       if (yych <= 'Y') goto yy65;
-                                       goto yy5;
-                               }
 -                              if (yych <= 'O') goto yy1323;
++                              if (yych <= 'O') goto yy1348;
+                               if (yych <= 'Q') goto yy175;
 -                              goto yy1324;
++                              goto yy1349;
                        }
                }
        } else {
-               if (yych <= 'n') {
-                       if (yych <= 'g') {
-                               if (yych <= 'd') {
-                                       if (yych <= 'a') goto yy65;
-                                       if (yych <= 'c') goto yy5;
-                                       goto yy65;
-                               } else {
-                                       if (yych == 'f') goto yy65;
-                                       goto yy5;
-                               }
+               if (yych <= 'i') {
+                       if (yych <= 'd') {
+                               if (yych <= 'Z') goto yy175;
+                               if (yych <= '`') goto yy3;
+                               goto yy180;
                        } else {
-                               if (yych <= 'j') {
-                                       if (yych == 'i') goto yy5;
-                                       goto yy65;
-                               } else {
-                                       if (yych <= 'l') goto yy5;
-                                       if (yych <= 'm') goto yy65;
-                                       goto yy89;
-                               }
 -                              if (yych <= 'e') goto yy1363;
++                              if (yych <= 'e') goto yy1388;
+                               if (yych <= 'h') goto yy180;
 -                              goto yy1364;
++                              goto yy1389;
                        }
                } else {
-                       if (yych <= 'u') {
-                               if (yych <= 'r') {
-                                       if (yych <= 'o') goto yy65;
-                                       if (yych <= 'q') goto yy5;
-                                       goto yy90;
-                               } else {
-                                       if (yych <= 's') goto yy91;
-                                       if (yych <= 't') goto yy92;
-                                       goto yy65;
+                       if (yych <= 'q') {
 -                              if (yych == 'o') goto yy1365;
++                              if (yych == 'o') goto yy1390;
+                               goto yy180;
+                       } else {
 -                              if (yych <= 'r') goto yy1366;
++                              if (yych <= 'r') goto yy1391;
+                               if (yych <= 'z') goto yy180;
+                               goto yy3;
+                       }
+               }
+       }
+ yy14:
+       YYDEBUG(14, *YYCURSOR);
+       yych = *++YYCURSOR;
+       if (yych <= 'R') {
+               if (yych <= 'E') {
+                       if (yych <= ')') {
+                               if (yych <= '(') goto yy3;
+                               goto yy174;
+                       } else {
+                               if (yych <= '@') goto yy3;
+                               if (yych <= 'D') goto yy175;
 -                              goto yy1321;
++                              goto yy1346;
+                       }
+               } else {
+                       if (yych <= 'N') {
 -                              if (yych == 'I') goto yy1322;
++                              if (yych == 'I') goto yy1347;
+                               goto yy175;
+                       } else {
 -                              if (yych <= 'O') goto yy1323;
++                              if (yych <= 'O') goto yy1348;
+                               if (yych <= 'Q') goto yy175;
 -                              goto yy1324;
++                              goto yy1349;
+                       }
+               }
+       } else {
+               if (yych <= 'i') {
+                       if (yych <= 'd') {
+                               if (yych <= 'Z') goto yy175;
+                               if (yych <= '`') goto yy3;
+                               goto yy175;
+                       } else {
 -                              if (yych <= 'e') goto yy1321;
++                              if (yych <= 'e') goto yy1346;
+                               if (yych <= 'h') goto yy175;
 -                              goto yy1322;
++                              goto yy1347;
+                       }
+               } else {
+                       if (yych <= 'q') {
 -                              if (yych == 'o') goto yy1323;
++                              if (yych == 'o') goto yy1348;
+                               goto yy175;
+                       } else {
 -                              if (yych <= 'r') goto yy1324;
++                              if (yych <= 'r') goto yy1349;
+                               if (yych <= 'z') goto yy175;
+                               goto yy3;
+                       }
+               }
+       }
+ yy15:
+       YYDEBUG(15, *YYCURSOR);
+       yych = *++YYCURSOR;
+       if (yych <= 'A') {
+               if (yych == ')') goto yy174;
+               if (yych <= '@') goto yy3;
 -              goto yy1307;
++              goto yy1332;
+       } else {
+               if (yych <= '`') {
+                       if (yych <= 'Z') goto yy175;
+                       goto yy3;
+               } else {
 -                      if (yych <= 'a') goto yy1318;
++                      if (yych <= 'a') goto yy1343;
+                       if (yych <= 'z') goto yy180;
+                       goto yy3;
+               }
+       }
+ yy16:
+       YYDEBUG(16, *YYCURSOR);
+       yych = *++YYCURSOR;
+       if (yych <= 'A') {
+               if (yych == ')') goto yy174;
+               if (yych <= '@') goto yy3;
 -              goto yy1307;
++              goto yy1332;
+       } else {
+               if (yych <= '`') {
+                       if (yych <= 'Z') goto yy175;
+                       goto yy3;
+               } else {
 -                      if (yych <= 'a') goto yy1307;
++                      if (yych <= 'a') goto yy1332;
+                       if (yych <= 'z') goto yy175;
+                       goto yy3;
+               }
+       }
+ yy17:
+       YYDEBUG(17, *YYCURSOR);
+       yych = *++YYCURSOR;
+       if (yych <= 'A') {
+               if (yych == ')') goto yy174;
+               if (yych <= '@') goto yy3;
 -              goto yy1286;
++              goto yy1311;
+       } else {
+               if (yych <= '`') {
+                       if (yych <= 'Z') goto yy175;
+                       goto yy3;
+               } else {
 -                      if (yych <= 'a') goto yy1304;
++                      if (yych <= 'a') goto yy1329;
+                       if (yych <= 'z') goto yy180;
+                       goto yy3;
+               }
+       }
+ yy18:
+       YYDEBUG(18, *YYCURSOR);
+       yych = *++YYCURSOR;
+       if (yych <= 'A') {
+               if (yych == ')') goto yy174;
+               if (yych <= '@') goto yy3;
 -              goto yy1286;
++              goto yy1311;
+       } else {
+               if (yych <= '`') {
+                       if (yych <= 'Z') goto yy175;
+                       goto yy3;
+               } else {
 -                      if (yych <= 'a') goto yy1286;
++                      if (yych <= 'a') goto yy1311;
+                       if (yych <= 'z') goto yy175;
+                       goto yy3;
+               }
+       }
+ yy19:
+       YYDEBUG(19, *YYCURSOR);
+       yych = *++YYCURSOR;
+       if (yych <= 'U') {
+               if (yych <= 'D') {
+                       if (yych <= ')') {
+                               if (yych <= '(') goto yy3;
+                               goto yy174;
+                       } else {
+                               if (yych <= '@') goto yy3;
 -                              if (yych <= 'A') goto yy1229;
++                              if (yych <= 'A') goto yy1254;
+                               goto yy175;
+                       }
+               } else {
+                       if (yych <= 'H') {
 -                              if (yych <= 'E') goto yy1228;
++                              if (yych <= 'E') goto yy1253;
+                               goto yy175;
+                       } else {
 -                              if (yych <= 'I') goto yy1230;
++                              if (yych <= 'I') goto yy1255;
+                               if (yych <= 'T') goto yy175;
 -                              goto yy1231;
++                              goto yy1256;
+                       }
+               }
+       } else {
+               if (yych <= 'e') {
+                       if (yych <= '`') {
+                               if (yych <= 'Z') goto yy175;
+                               goto yy3;
+                       } else {
 -                              if (yych <= 'a') goto yy1258;
++                              if (yych <= 'a') goto yy1283;
+                               if (yych <= 'd') goto yy180;
 -                              goto yy1257;
++                              goto yy1282;
+                       }
+               } else {
+                       if (yych <= 't') {
 -                              if (yych == 'i') goto yy1259;
++                              if (yych == 'i') goto yy1284;
+                               goto yy180;
+                       } else {
 -                              if (yych <= 'u') goto yy1260;
++                              if (yych <= 'u') goto yy1285;
+                               if (yych <= 'z') goto yy180;
+                               goto yy3;
+                       }
+               }
+       }
+ yy20:
+       YYDEBUG(20, *YYCURSOR);
+       yych = *++YYCURSOR;
+       if (yych <= 'U') {
+               if (yych <= 'D') {
+                       if (yych <= ')') {
+                               if (yych <= '(') goto yy3;
+                               goto yy174;
+                       } else {
+                               if (yych <= '@') goto yy3;
 -                              if (yych <= 'A') goto yy1229;
++                              if (yych <= 'A') goto yy1254;
+                               goto yy175;
+                       }
+               } else {
+                       if (yych <= 'H') {
 -                              if (yych <= 'E') goto yy1228;
++                              if (yych <= 'E') goto yy1253;
+                               goto yy175;
+                       } else {
 -                              if (yych <= 'I') goto yy1230;
++                              if (yych <= 'I') goto yy1255;
+                               if (yych <= 'T') goto yy175;
 -                              goto yy1231;
++                              goto yy1256;
+                       }
+               }
+       } else {
+               if (yych <= 'e') {
+                       if (yych <= '`') {
+                               if (yych <= 'Z') goto yy175;
+                               goto yy3;
+                       } else {
 -                              if (yych <= 'a') goto yy1229;
++                              if (yych <= 'a') goto yy1254;
+                               if (yych <= 'd') goto yy175;
 -                              goto yy1228;
++                              goto yy1253;
+                       }
+               } else {
+                       if (yych <= 't') {
 -                              if (yych == 'i') goto yy1230;
++                              if (yych == 'i') goto yy1255;
+                               goto yy175;
+                       } else {
 -                              if (yych <= 'u') goto yy1231;
++                              if (yych <= 'u') goto yy1256;
+                               if (yych <= 'z') goto yy175;
+                               goto yy3;
+                       }
+               }
+       }
+ yy21:
+       YYDEBUG(21, *YYCURSOR);
+       yych = *++YYCURSOR;
+       if (yych <= 'L') {
+               if (yych <= '@') {
+                       if (yych == ')') goto yy174;
+                       goto yy3;
+               } else {
 -                      if (yych == 'I') goto yy1198;
++                      if (yych == 'I') goto yy1223;
+                       if (yych <= 'K') goto yy175;
 -                      goto yy1199;
++                      goto yy1224;
+               }
+       } else {
+               if (yych <= 'i') {
+                       if (yych <= 'Z') goto yy175;
+                       if (yych <= '`') goto yy3;
+                       if (yych <= 'h') goto yy180;
 -                      goto yy1216;
++                      goto yy1241;
+               } else {
 -                      if (yych == 'l') goto yy1217;
++                      if (yych == 'l') goto yy1242;
+                       if (yych <= 'z') goto yy180;
+                       goto yy3;
+               }
+       }
+ yy22:
+       YYDEBUG(22, *YYCURSOR);
+       yych = *++YYCURSOR;
+       if (yych <= 'L') {
+               if (yych <= '@') {
+                       if (yych == ')') goto yy174;
+                       goto yy3;
+               } else {
 -                      if (yych == 'I') goto yy1198;
++                      if (yych == 'I') goto yy1223;
+                       if (yych <= 'K') goto yy175;
 -                      goto yy1199;
++                      goto yy1224;
+               }
+       } else {
+               if (yych <= 'i') {
+                       if (yych <= 'Z') goto yy175;
+                       if (yych <= '`') goto yy3;
+                       if (yych <= 'h') goto yy175;
 -                      goto yy1198;
++                      goto yy1223;
+               } else {
 -                      if (yych == 'l') goto yy1199;
++                      if (yych == 'l') goto yy1224;
+                       if (yych <= 'z') goto yy175;
+                       goto yy3;
+               }
+       }
+ yy23:
+       YYDEBUG(23, *YYCURSOR);
+       yych = *++YYCURSOR;
+       if (yych <= 'R') {
+               if (yych <= ')') {
+                       if (yych <= '(') goto yy3;
+                       goto yy174;
+               } else {
+                       if (yych <= '@') goto yy3;
+                       if (yych <= 'Q') goto yy175;
 -                      goto yy1072;
++                      goto yy1097;
+               }
+       } else {
+               if (yych <= 'q') {
+                       if (yych <= 'Z') goto yy175;
+                       if (yych <= '`') goto yy3;
+                       goto yy180;
+               } else {
 -                      if (yych <= 'r') goto yy1191;
++                      if (yych <= 'r') goto yy1216;
+                       if (yych <= 'z') goto yy180;
+                       goto yy3;
+               }
+       }
+ yy24:
+       YYDEBUG(24, *YYCURSOR);
+       yych = *++YYCURSOR;
+       if (yych <= 'R') {
+               if (yych <= ')') {
+                       if (yych <= '(') goto yy3;
+                       goto yy174;
+               } else {
+                       if (yych <= '@') goto yy3;
+                       if (yych <= 'Q') goto yy175;
 -                      goto yy1072;
++                      goto yy1097;
+               }
+       } else {
+               if (yych <= 'q') {
+                       if (yych <= 'Z') goto yy175;
+                       if (yych <= '`') goto yy3;
+                       goto yy175;
+               } else {
 -                      if (yych <= 'r') goto yy1072;
++                      if (yych <= 'r') goto yy1097;
+                       if (yych <= 'z') goto yy175;
+                       goto yy3;
+               }
+       }
+ yy25:
+       YYDEBUG(25, *YYCURSOR);
+       yyaccept = 1;
+       yych = *(YYMARKER = ++YYCURSOR);
+       if (yych <= '`') {
+               if (yych <= '@') {
+                       if (yych <= '-') {
+                               if (yych <= 0x1F) {
 -                                      if (yych == '\t') goto yy1026;
++                                      if (yych == '\t') goto yy1051;
+                                       goto yy12;
+                               } else {
 -                                      if (yych <= ' ') goto yy1028;
++                                      if (yych <= ' ') goto yy1053;
+                                       if (yych <= ',') goto yy12;
 -                                      goto yy447;
++                                      goto yy472;
+                               }
+                       } else {
+                               if (yych <= '0') {
 -                                      if (yych <= '.') goto yy1038;
 -                                      if (yych <= '/') goto yy446;
 -                                      goto yy1071;
++                                      if (yych <= '.') goto yy1063;
++                                      if (yych <= '/') goto yy471;
++                                      goto yy1096;
+                               } else {
 -                                      if (yych <= '9') goto yy1070;
 -                                      if (yych <= ':') goto yy1039;
++                                      if (yych <= '9') goto yy1095;
++                                      if (yych <= ':') goto yy1064;
+                                       goto yy12;
+                               }
+                       }
+               } else {
+                       if (yych <= 'G') {
+                               if (yych <= 'D') {
 -                                      if (yych <= 'A') goto yy1028;
++                                      if (yych <= 'A') goto yy1053;
+                                       if (yych <= 'C') goto yy12;
 -                                      goto yy1028;
++                                      goto yy1053;
+                               } else {
 -                                      if (yych == 'F') goto yy1028;
++                                      if (yych == 'F') goto yy1053;
+                                       goto yy12;
+                               }
+                       } else {
+                               if (yych <= 'O') {
 -                                      if (yych <= 'J') goto yy1028;
++                                      if (yych <= 'J') goto yy1053;
+                                       if (yych <= 'L') goto yy12;
 -                                      goto yy1028;
++                                      goto yy1053;
+                               } else {
+                                       if (yych <= 'R') goto yy12;
 -                                      if (yych <= 'Y') goto yy1028;
++                                      if (yych <= 'Y') goto yy1053;
+                                       goto yy12;
+                               }
+                       }
+               }
+       } else {
+               if (yych <= 'n') {
+                       if (yych <= 'g') {
+                               if (yych <= 'd') {
 -                                      if (yych <= 'a') goto yy1028;
++                                      if (yych <= 'a') goto yy1053;
+                                       if (yych <= 'c') goto yy12;
 -                                      goto yy1028;
++                                      goto yy1053;
+                               } else {
 -                                      if (yych == 'f') goto yy1028;
++                                      if (yych == 'f') goto yy1053;
+                                       goto yy12;
+                               }
+                       } else {
+                               if (yych <= 'j') {
+                                       if (yych == 'i') goto yy12;
 -                                      goto yy1028;
++                                      goto yy1053;
+                               } else {
+                                       if (yych <= 'l') goto yy12;
 -                                      if (yych <= 'm') goto yy1028;
 -                                      goto yy444;
++                                      if (yych <= 'm') goto yy1053;
++                                      goto yy469;
+                               }
+                       }
+               } else {
+                       if (yych <= 'u') {
+                               if (yych <= 'r') {
 -                                      if (yych <= 'o') goto yy1028;
++                                      if (yych <= 'o') goto yy1053;
+                                       if (yych <= 'q') goto yy12;
 -                                      goto yy445;
++                                      goto yy470;
+                               } else {
 -                                      if (yych <= 's') goto yy439;
 -                                      if (yych <= 't') goto yy442;
 -                                      goto yy1028;
++                                      if (yych <= 's') goto yy464;
++                                      if (yych <= 't') goto yy467;
++                                      goto yy1053;
                                }
                        } else {
                                if (yych <= 'x') {
-                                       if (yych == 'w') goto yy65;
-                                       goto yy5;
 -                                      if (yych == 'w') goto yy1028;
++                                      if (yych == 'w') goto yy1053;
+                                       goto yy12;
                                } else {
-                                       if (yych <= 'y') goto yy65;
-                                       if (yych == 0xC2) goto yy65;
-                                       goto yy5;
 -                                      if (yych <= 'y') goto yy1028;
 -                                      if (yych == 0xC2) goto yy1028;
++                                      if (yych <= 'y') goto yy1053;
++                                      if (yych == 0xC2) goto yy1053;
+                                       goto yy12;
                                }
                        }
                }
@@@ -1178,43 -1794,43 +1797,43 @@@ yy26
                if (yych <= '@') {
                        if (yych <= '-') {
                                if (yych <= 0x1F) {
-                                       if (yych == '\t') goto yy94;
-                                       goto yy5;
 -                                      if (yych == '\t') goto yy434;
++                                      if (yych == '\t') goto yy459;
+                                       goto yy12;
                                } else {
-                                       if (yych <= ' ') goto yy96;
-                                       if (yych <= ',') goto yy5;
-                                       goto yy66;
 -                                      if (yych <= ' ') goto yy436;
++                                      if (yych <= ' ') goto yy461;
+                                       if (yych <= ',') goto yy12;
 -                                      goto yy447;
++                                      goto yy472;
                                }
                        } else {
                                if (yych <= '2') {
-                                       if (yych <= '.') goto yy97;
-                                       if (yych <= '/') goto yy68;
-                                       goto yy70;
 -                                      if (yych <= '.') goto yy448;
 -                                      if (yych <= '/') goto yy446;
 -                                      goto yy1070;
++                                      if (yych <= '.') goto yy473;
++                                      if (yych <= '/') goto yy471;
++                                      goto yy1095;
                                } else {
-                                       if (yych <= '9') goto yy98;
-                                       if (yych <= ':') goto yy99;
-                                       goto yy5;
 -                                      if (yych <= '9') goto yy1037;
 -                                      if (yych <= ':') goto yy457;
++                                      if (yych <= '9') goto yy1062;
++                                      if (yych <= ':') goto yy482;
+                                       goto yy12;
                                }
                        }
                } else {
                        if (yych <= 'G') {
                                if (yych <= 'D') {
-                                       if (yych <= 'A') goto yy96;
-                                       if (yych <= 'C') goto yy5;
-                                       goto yy96;
 -                                      if (yych <= 'A') goto yy436;
++                                      if (yych <= 'A') goto yy461;
+                                       if (yych <= 'C') goto yy12;
 -                                      goto yy436;
++                                      goto yy461;
                                } else {
-                                       if (yych == 'F') goto yy96;
-                                       goto yy5;
 -                                      if (yych == 'F') goto yy436;
++                                      if (yych == 'F') goto yy461;
+                                       goto yy12;
                                }
                        } else {
                                if (yych <= 'P') {
-                                       if (yych <= 'J') goto yy96;
-                                       if (yych <= 'L') goto yy5;
-                                       goto yy96;
 -                                      if (yych <= 'J') goto yy436;
++                                      if (yych <= 'J') goto yy461;
+                                       if (yych <= 'L') goto yy12;
 -                                      goto yy436;
++                                      goto yy461;
                                } else {
-                                       if (yych <= 'R') goto yy5;
-                                       if (yych <= 'Y') goto yy96;
-                                       goto yy5;
+                                       if (yych <= 'R') goto yy12;
 -                                      if (yych <= 'Y') goto yy436;
++                                      if (yych <= 'Y') goto yy461;
+                                       goto yy12;
                                }
                        }
                }
                if (yych <= 'n') {
                        if (yych <= 'g') {
                                if (yych <= 'd') {
-                                       if (yych <= 'a') goto yy96;
-                                       if (yych <= 'c') goto yy5;
-                                       goto yy96;
 -                                      if (yych <= 'a') goto yy436;
++                                      if (yych <= 'a') goto yy461;
+                                       if (yych <= 'c') goto yy12;
 -                                      goto yy436;
++                                      goto yy461;
                                } else {
-                                       if (yych == 'f') goto yy96;
-                                       goto yy5;
 -                                      if (yych == 'f') goto yy436;
++                                      if (yych == 'f') goto yy461;
+                                       goto yy12;
                                }
                        } else {
                                if (yych <= 'j') {
-                                       if (yych == 'i') goto yy5;
-                                       goto yy96;
+                                       if (yych == 'i') goto yy12;
 -                                      goto yy436;
++                                      goto yy461;
                                } else {
-                                       if (yych <= 'l') goto yy5;
-                                       if (yych <= 'm') goto yy96;
-                                       goto yy89;
+                                       if (yych <= 'l') goto yy12;
 -                                      if (yych <= 'm') goto yy436;
 -                                      goto yy444;
++                                      if (yych <= 'm') goto yy461;
++                                      goto yy469;
                                }
                        }
                } else {
                        if (yych <= 'u') {
                                if (yych <= 'r') {
-                                       if (yych <= 'p') goto yy96;
-                                       if (yych <= 'q') goto yy5;
-                                       goto yy90;
 -                                      if (yych <= 'p') goto yy436;
++                                      if (yych <= 'p') goto yy461;
+                                       if (yych <= 'q') goto yy12;
 -                                      goto yy445;
++                                      goto yy470;
                                } else {
-                                       if (yych <= 's') goto yy91;
-                                       if (yych <= 't') goto yy92;
-                                       goto yy96;
 -                                      if (yych <= 's') goto yy439;
 -                                      if (yych <= 't') goto yy442;
 -                                      goto yy436;
++                                      if (yych <= 's') goto yy464;
++                                      if (yych <= 't') goto yy467;
++                                      goto yy461;
                                }
                        } else {
                                if (yych <= 'x') {
-                                       if (yych == 'w') goto yy96;
-                                       goto yy5;
 -                                      if (yych == 'w') goto yy436;
++                                      if (yych == 'w') goto yy461;
+                                       goto yy12;
                                } else {
-                                       if (yych <= 'y') goto yy96;
-                                       if (yych == 0xC2) goto yy96;
-                                       goto yy5;
 -                                      if (yych <= 'y') goto yy436;
 -                                      if (yych == 0xC2) goto yy436;
++                                      if (yych <= 'y') goto yy461;
++                                      if (yych == 0xC2) goto yy461;
+                                       goto yy12;
                                }
                        }
                }
@@@ -1270,43 -1886,43 +1889,43 @@@ yy27
                if (yych <= '@') {
                        if (yych <= '-') {
                                if (yych <= 0x1F) {
-                                       if (yych == '\t') goto yy94;
-                                       goto yy5;
 -                                      if (yych == '\t') goto yy434;
++                                      if (yych == '\t') goto yy459;
+                                       goto yy12;
                                } else {
-                                       if (yych <= ' ') goto yy96;
-                                       if (yych <= ',') goto yy5;
-                                       goto yy66;
 -                                      if (yych <= ' ') goto yy436;
++                                      if (yych <= ' ') goto yy461;
+                                       if (yych <= ',') goto yy12;
 -                                      goto yy447;
++                                      goto yy472;
                                }
                        } else {
                                if (yych <= '4') {
-                                       if (yych <= '.') goto yy97;
-                                       if (yych <= '/') goto yy68;
-                                       goto yy98;
 -                                      if (yych <= '.') goto yy448;
 -                                      if (yych <= '/') goto yy446;
 -                                      goto yy1037;
++                                      if (yych <= '.') goto yy473;
++                                      if (yych <= '/') goto yy471;
++                                      goto yy1062;
                                } else {
-                                       if (yych <= '9') goto yy102;
-                                       if (yych <= ':') goto yy99;
-                                       goto yy5;
 -                                      if (yych <= '9') goto yy1024;
 -                                      if (yych <= ':') goto yy457;
++                                      if (yych <= '9') goto yy1049;
++                                      if (yych <= ':') goto yy482;
+                                       goto yy12;
                                }
                        }
                } else {
                        if (yych <= 'G') {
                                if (yych <= 'D') {
-                                       if (yych <= 'A') goto yy96;
-                                       if (yych <= 'C') goto yy5;
-                                       goto yy96;
 -                                      if (yych <= 'A') goto yy436;
++                                      if (yych <= 'A') goto yy461;
+                                       if (yych <= 'C') goto yy12;
 -                                      goto yy436;
++                                      goto yy461;
                                } else {
-                                       if (yych == 'F') goto yy96;
-                                       goto yy5;
 -                                      if (yych == 'F') goto yy436;
++                                      if (yych == 'F') goto yy461;
+                                       goto yy12;
                                }
                        } else {
                                if (yych <= 'P') {
-                                       if (yych <= 'J') goto yy96;
-                                       if (yych <= 'L') goto yy5;
-                                       goto yy96;
 -                                      if (yych <= 'J') goto yy436;
++                                      if (yych <= 'J') goto yy461;
+                                       if (yych <= 'L') goto yy12;
 -                                      goto yy436;
++                                      goto yy461;
                                } else {
-                                       if (yych <= 'R') goto yy5;
-                                       if (yych <= 'Y') goto yy96;
-                                       goto yy5;
+                                       if (yych <= 'R') goto yy12;
 -                                      if (yych <= 'Y') goto yy436;
++                                      if (yych <= 'Y') goto yy461;
+                                       goto yy12;
                                }
                        }
                }
                if (yych <= 'n') {
                        if (yych <= 'g') {
                                if (yych <= 'd') {
-                                       if (yych <= 'a') goto yy96;
-                                       if (yych <= 'c') goto yy5;
-                                       goto yy96;
 -                                      if (yych <= 'a') goto yy436;
++                                      if (yych <= 'a') goto yy461;
+                                       if (yych <= 'c') goto yy12;
 -                                      goto yy436;
++                                      goto yy461;
                                } else {
-                                       if (yych == 'f') goto yy96;
-                                       goto yy5;
 -                                      if (yych == 'f') goto yy436;
++                                      if (yych == 'f') goto yy461;
+                                       goto yy12;
                                }
                        } else {
                                if (yych <= 'j') {
-                                       if (yych == 'i') goto yy5;
-                                       goto yy96;
+                                       if (yych == 'i') goto yy12;
 -                                      goto yy436;
++                                      goto yy461;
                                } else {
-                                       if (yych <= 'l') goto yy5;
-                                       if (yych <= 'm') goto yy96;
-                                       goto yy89;
+                                       if (yych <= 'l') goto yy12;
 -                                      if (yych <= 'm') goto yy436;
 -                                      goto yy444;
++                                      if (yych <= 'm') goto yy461;
++                                      goto yy469;
                                }
                        }
                } else {
                        if (yych <= 'u') {
                                if (yych <= 'r') {
-                                       if (yych <= 'p') goto yy96;
-                                       if (yych <= 'q') goto yy5;
-                                       goto yy90;
 -                                      if (yych <= 'p') goto yy436;
++                                      if (yych <= 'p') goto yy461;
+                                       if (yych <= 'q') goto yy12;
 -                                      goto yy445;
++                                      goto yy470;
                                } else {
-                                       if (yych <= 's') goto yy91;
-                                       if (yych <= 't') goto yy92;
-                                       goto yy96;
 -                                      if (yych <= 's') goto yy439;
 -                                      if (yych <= 't') goto yy442;
 -                                      goto yy436;
++                                      if (yych <= 's') goto yy464;
++                                      if (yych <= 't') goto yy467;
++                                      goto yy461;
                                }
                        } else {
                                if (yych <= 'x') {
-                                       if (yych == 'w') goto yy96;
-                                       goto yy5;
 -                                      if (yych == 'w') goto yy436;
++                                      if (yych == 'w') goto yy461;
+                                       goto yy12;
                                } else {
-                                       if (yych <= 'y') goto yy96;
-                                       if (yych == 0xC2) goto yy96;
-                                       goto yy5;
 -                                      if (yych <= 'y') goto yy436;
 -                                      if (yych == 0xC2) goto yy436;
++                                      if (yych <= 'y') goto yy461;
++                                      if (yych == 0xC2) goto yy461;
+                                       goto yy12;
                                }
                        }
                }
@@@ -1362,43 -1978,43 +1981,43 @@@ yy28
                if (yych <= '@') {
                        if (yych <= '-') {
                                if (yych <= 0x1F) {
-                                       if (yych == '\t') goto yy94;
-                                       goto yy5;
 -                                      if (yych == '\t') goto yy434;
++                                      if (yych == '\t') goto yy459;
+                                       goto yy12;
                                } else {
-                                       if (yych <= ' ') goto yy96;
-                                       if (yych <= ',') goto yy5;
-                                       goto yy66;
 -                                      if (yych <= ' ') goto yy436;
++                                      if (yych <= ' ') goto yy461;
+                                       if (yych <= ',') goto yy12;
 -                                      goto yy447;
++                                      goto yy472;
                                }
                        } else {
                                if (yych <= '1') {
-                                       if (yych <= '.') goto yy97;
-                                       if (yych <= '/') goto yy68;
-                                       goto yy102;
 -                                      if (yych <= '.') goto yy448;
 -                                      if (yych <= '/') goto yy446;
 -                                      goto yy1024;
++                                      if (yych <= '.') goto yy473;
++                                      if (yych <= '/') goto yy471;
++                                      goto yy1049;
                                } else {
-                                       if (yych <= '9') goto yy103;
-                                       if (yych <= ':') goto yy99;
-                                       goto yy5;
 -                                      if (yych <= '9') goto yy443;
 -                                      if (yych <= ':') goto yy457;
++                                      if (yych <= '9') goto yy468;
++                                      if (yych <= ':') goto yy482;
+                                       goto yy12;
                                }
                        }
                } else {
                        if (yych <= 'G') {
                                if (yych <= 'D') {
-                                       if (yych <= 'A') goto yy96;
-                                       if (yych <= 'C') goto yy5;
-                                       goto yy96;
 -                                      if (yych <= 'A') goto yy436;
++                                      if (yych <= 'A') goto yy461;
+                                       if (yych <= 'C') goto yy12;
 -                                      goto yy436;
++                                      goto yy461;
                                } else {
-                                       if (yych == 'F') goto yy96;
-                                       goto yy5;
 -                                      if (yych == 'F') goto yy436;
++                                      if (yych == 'F') goto yy461;
+                                       goto yy12;
                                }
                        } else {
                                if (yych <= 'P') {
-                                       if (yych <= 'J') goto yy96;
-                                       if (yych <= 'L') goto yy5;
-                                       goto yy96;
 -                                      if (yych <= 'J') goto yy436;
++                                      if (yych <= 'J') goto yy461;
+                                       if (yych <= 'L') goto yy12;
 -                                      goto yy436;
++                                      goto yy461;
                                } else {
-                                       if (yych <= 'R') goto yy5;
-                                       if (yych <= 'Y') goto yy96;
-                                       goto yy5;
+                                       if (yych <= 'R') goto yy12;
 -                                      if (yych <= 'Y') goto yy436;
++                                      if (yych <= 'Y') goto yy461;
+                                       goto yy12;
                                }
                        }
                }
                if (yych <= 'n') {
                        if (yych <= 'g') {
                                if (yych <= 'd') {
-                                       if (yych <= 'a') goto yy96;
-                                       if (yych <= 'c') goto yy5;
-                                       goto yy96;
 -                                      if (yych <= 'a') goto yy436;
++                                      if (yych <= 'a') goto yy461;
+                                       if (yych <= 'c') goto yy12;
 -                                      goto yy436;
++                                      goto yy461;
                                } else {
-                                       if (yych == 'f') goto yy96;
-                                       goto yy5;
 -                                      if (yych == 'f') goto yy436;
++                                      if (yych == 'f') goto yy461;
+                                       goto yy12;
                                }
                        } else {
                                if (yych <= 'j') {
-                                       if (yych == 'i') goto yy5;
-                                       goto yy96;
+                                       if (yych == 'i') goto yy12;
 -                                      goto yy436;
++                                      goto yy461;
                                } else {
-                                       if (yych <= 'l') goto yy5;
-                                       if (yych <= 'm') goto yy96;
-                                       goto yy89;
+                                       if (yych <= 'l') goto yy12;
 -                                      if (yych <= 'm') goto yy436;
 -                                      goto yy444;
++                                      if (yych <= 'm') goto yy461;
++                                      goto yy469;
                                }
                        }
                } else {
                        if (yych <= 'u') {
                                if (yych <= 'r') {
-                                       if (yych <= 'p') goto yy96;
-                                       if (yych <= 'q') goto yy5;
-                                       goto yy90;
 -                                      if (yych <= 'p') goto yy436;
++                                      if (yych <= 'p') goto yy461;
+                                       if (yych <= 'q') goto yy12;
 -                                      goto yy445;
++                                      goto yy470;
                                } else {
-                                       if (yych <= 's') goto yy91;
-                                       if (yych <= 't') goto yy92;
-                                       goto yy96;
 -                                      if (yych <= 's') goto yy439;
 -                                      if (yych <= 't') goto yy442;
 -                                      goto yy436;
++                                      if (yych <= 's') goto yy464;
++                                      if (yych <= 't') goto yy467;
++                                      goto yy461;
                                }
                        } else {
                                if (yych <= 'x') {
-                                       if (yych == 'w') goto yy96;
-                                       goto yy5;
 -                                      if (yych == 'w') goto yy436;
++                                      if (yych == 'w') goto yy461;
+                                       goto yy12;
                                } else {
-                                       if (yych <= 'y') goto yy96;
-                                       if (yych == 0xC2) goto yy96;
-                                       goto yy5;
 -                                      if (yych <= 'y') goto yy436;
 -                                      if (yych == 0xC2) goto yy436;
++                                      if (yych <= 'y') goto yy461;
++                                      if (yych == 0xC2) goto yy461;
+                                       goto yy12;
                                }
                        }
                }
@@@ -1454,42 -2070,42 +2073,42 @@@ yy29
                if (yych <= 'A') {
                        if (yych <= '-') {
                                if (yych <= 0x1F) {
-                                       if (yych == '\t') goto yy94;
-                                       goto yy5;
 -                                      if (yych == '\t') goto yy434;
++                                      if (yych == '\t') goto yy459;
+                                       goto yy12;
                                } else {
-                                       if (yych <= ' ') goto yy96;
-                                       if (yych <= ',') goto yy5;
-                                       goto yy66;
 -                                      if (yych <= ' ') goto yy436;
++                                      if (yych <= ' ') goto yy461;
+                                       if (yych <= ',') goto yy12;
 -                                      goto yy447;
++                                      goto yy472;
                                }
                        } else {
                                if (yych <= '9') {
-                                       if (yych <= '.') goto yy97;
-                                       if (yych <= '/') goto yy68;
-                                       goto yy103;
 -                                      if (yych <= '.') goto yy448;
 -                                      if (yych <= '/') goto yy446;
 -                                      goto yy443;
++                                      if (yych <= '.') goto yy473;
++                                      if (yych <= '/') goto yy471;
++                                      goto yy468;
                                } else {
-                                       if (yych <= ':') goto yy99;
-                                       if (yych <= '@') goto yy5;
-                                       goto yy96;
 -                                      if (yych <= ':') goto yy457;
++                                      if (yych <= ':') goto yy482;
+                                       if (yych <= '@') goto yy12;
 -                                      goto yy436;
++                                      goto yy461;
                                }
                        }
                } else {
                        if (yych <= 'J') {
                                if (yych <= 'E') {
-                                       if (yych == 'D') goto yy96;
-                                       goto yy5;
 -                                      if (yych == 'D') goto yy436;
++                                      if (yych == 'D') goto yy461;
+                                       goto yy12;
                                } else {
-                                       if (yych == 'G') goto yy5;
-                                       goto yy96;
+                                       if (yych == 'G') goto yy12;
 -                                      goto yy436;
++                                      goto yy461;
                                }
                        } else {
                                if (yych <= 'R') {
-                                       if (yych <= 'L') goto yy5;
-                                       if (yych <= 'P') goto yy96;
-                                       goto yy5;
+                                       if (yych <= 'L') goto yy12;
 -                                      if (yych <= 'P') goto yy436;
++                                      if (yych <= 'P') goto yy461;
+                                       goto yy12;
                                } else {
-                                       if (yych <= 'Y') goto yy96;
-                                       if (yych <= '`') goto yy5;
-                                       goto yy96;
 -                                      if (yych <= 'Y') goto yy436;
++                                      if (yych <= 'Y') goto yy461;
+                                       if (yych <= '`') goto yy12;
 -                                      goto yy436;
++                                      goto yy461;
                                }
                        }
                }
                if (yych <= 'p') {
                        if (yych <= 'h') {
                                if (yych <= 'e') {
-                                       if (yych == 'd') goto yy96;
-                                       goto yy5;
 -                                      if (yych == 'd') goto yy436;
++                                      if (yych == 'd') goto yy461;
+                                       goto yy12;
                                } else {
-                                       if (yych == 'g') goto yy5;
-                                       goto yy96;
+                                       if (yych == 'g') goto yy12;
 -                                      goto yy436;
++                                      goto yy461;
                                }
                        } else {
                                if (yych <= 'l') {
-                                       if (yych == 'j') goto yy96;
-                                       goto yy5;
 -                                      if (yych == 'j') goto yy436;
++                                      if (yych == 'j') goto yy461;
+                                       goto yy12;
                                } else {
-                                       if (yych == 'n') goto yy89;
-                                       goto yy96;
 -                                      if (yych == 'n') goto yy444;
 -                                      goto yy436;
++                                      if (yych == 'n') goto yy469;
++                                      goto yy461;
                                }
                        }
                } else {
                        if (yych <= 'v') {
                                if (yych <= 's') {
-                                       if (yych <= 'q') goto yy5;
-                                       if (yych <= 'r') goto yy90;
-                                       goto yy91;
+                                       if (yych <= 'q') goto yy12;
 -                                      if (yych <= 'r') goto yy445;
 -                                      goto yy439;
++                                      if (yych <= 'r') goto yy470;
++                                      goto yy464;
                                } else {
-                                       if (yych <= 't') goto yy92;
-                                       if (yych <= 'u') goto yy96;
-                                       goto yy5;
 -                                      if (yych <= 't') goto yy442;
 -                                      if (yych <= 'u') goto yy436;
++                                      if (yych <= 't') goto yy467;
++                                      if (yych <= 'u') goto yy461;
+                                       goto yy12;
                                }
                        } else {
                                if (yych <= 'y') {
-                                       if (yych == 'x') goto yy5;
-                                       goto yy96;
+                                       if (yych == 'x') goto yy12;
 -                                      goto yy436;
++                                      goto yy461;
                                } else {
-                                       if (yych == 0xC2) goto yy96;
-                                       goto yy5;
 -                                      if (yych == 0xC2) goto yy436;
++                                      if (yych == 0xC2) goto yy461;
+                                       goto yy12;
                                }
                        }
                }
                        }
                }
        }
- yy26:
-       YYDEBUG(26, *YYCURSOR);
+ yy38:
+       YYDEBUG(38, *YYCURSOR);
        yych = *++YYCURSOR;
-       if (yych <= 'U') {
-               if (yych <= '@') {
-                       if (yych == ')') goto yy108;
-                       goto yy18;
+       if (yych <= 'C') {
+               if (yych <= ')') {
+                       if (yych <= '(') goto yy3;
+                       goto yy174;
                } else {
-                       if (yych <= 'A') goto yy141;
-                       if (yych <= 'T') goto yy109;
-                       goto yy142;
+                       if (yych <= '@') goto yy3;
+                       if (yych <= 'B') goto yy175;
+                       goto yy353;
                }
        } else {
-               if (yych <= 'a') {
-                       if (yych <= 'Z') goto yy109;
-                       if (yych <= '`') goto yy18;
-                       goto yy143;
+               if (yych <= 'b') {
+                       if (yych <= 'Z') goto yy175;
+                       if (yych <= '`') goto yy3;
+                       goto yy180;
                } else {
-                       if (yych == 'u') goto yy144;
-                       if (yych <= 'z') goto yy113;
-                       goto yy18;
+                       if (yych <= 'c') goto yy358;
+                       if (yych <= 'z') goto yy180;
+                       goto yy3;
                }
        }
- yy27:
-       YYDEBUG(27, *YYCURSOR);
+ yy39:
+       YYDEBUG(39, *YYCURSOR);
        yych = *++YYCURSOR;
-       if (yych <= 'A') {
-               if (yych == ')') goto yy108;
-               if (yych <= '@') goto yy18;
-               goto yy145;
+       if (yych <= 'C') {
+               if (yych <= ')') {
+                       if (yych <= '(') goto yy3;
+                       goto yy174;
+               } else {
+                       if (yych <= '@') goto yy3;
+                       if (yych <= 'B') goto yy175;
+                       goto yy353;
+               }
        } else {
-               if (yych <= '`') {
-                       if (yych <= 'Z') goto yy109;
-                       goto yy18;
+               if (yych <= 'b') {
+                       if (yych <= 'Z') goto yy175;
+                       if (yych <= '`') goto yy3;
+                       goto yy175;
                } else {
-                       if (yych <= 'a') goto yy146;
-                       if (yych <= 'z') goto yy113;
-                       goto yy18;
+                       if (yych <= 'c') goto yy353;
+                       if (yych <= 'z') goto yy175;
+                       goto yy3;
                }
        }
- yy28:
-       YYDEBUG(28, *YYCURSOR);
+ yy40:
+       YYDEBUG(40, *YYCURSOR);
        yych = *++YYCURSOR;
-       if (yych <= 'O') {
-               if (yych <= 'A') {
-                       if (yych == ')') goto yy108;
-                       if (yych <= '@') goto yy18;
-                       goto yy147;
+       if (yych <= 'E') {
+               if (yych <= ')') {
+                       if (yych <= '(') goto yy3;
+                       goto yy174;
                } else {
-                       if (yych == 'I') goto yy148;
-                       if (yych <= 'N') goto yy109;
-                       goto yy149;
+                       if (yych <= '@') goto yy3;
+                       if (yych <= 'D') goto yy175;
+                       goto yy226;
                }
        } else {
-               if (yych <= 'h') {
-                       if (yych <= 'Z') goto yy109;
-                       if (yych <= '`') goto yy18;
-                       if (yych <= 'a') goto yy150;
-                       goto yy113;
+               if (yych <= 'd') {
+                       if (yych <= 'Z') goto yy175;
+                       if (yych <= '`') goto yy3;
+                       goto yy180;
                } else {
-                       if (yych <= 'n') {
-                               if (yych <= 'i') goto yy151;
-                               goto yy113;
-                       } else {
-                               if (yych <= 'o') goto yy152;
-                               if (yych <= 'z') goto yy113;
-                               goto yy18;
-                       }
+                       if (yych <= 'e') goto yy344;
+                       if (yych <= 'z') goto yy180;
+                       goto yy3;
                }
        }
- yy29:
-       YYDEBUG(29, *YYCURSOR);
+ yy41:
+       YYDEBUG(41, *YYCURSOR);
        yych = *++YYCURSOR;
-       if (yych <= 'O') {
-               if (yych <= 'D') {
-                       if (yych == ')') goto yy108;
-                       if (yych <= '@') goto yy18;
-                       goto yy109;
+       if (yych <= 'E') {
+               if (yych <= ')') {
+                       if (yych <= '(') goto yy3;
+                       goto yy174;
                } else {
-                       if (yych <= 'H') {
-                               if (yych <= 'E') goto yy153;
-                               goto yy109;
-                       } else {
-                               if (yych <= 'I') goto yy154;
-                               if (yych <= 'N') goto yy109;
-                               goto yy155;
-                       }
+                       if (yych <= '@') goto yy3;
+                       if (yych <= 'D') goto yy175;
+                       goto yy226;
                }
        } else {
-               if (yych <= 'h') {
-                       if (yych <= '`') {
-                               if (yych <= 'Z') goto yy109;
-                               goto yy18;
-                       } else {
-                               if (yych == 'e') goto yy156;
-                               goto yy113;
-                       }
+               if (yych <= 'd') {
+                       if (yych <= 'Z') goto yy175;
+                       if (yych <= '`') goto yy3;
+                       goto yy175;
                } else {
-                       if (yych <= 'n') {
-                               if (yych <= 'i') goto yy157;
-                               goto yy113;
-                       } else {
-                               if (yych <= 'o') goto yy158;
-                               if (yych <= 'z') goto yy113;
-                               goto yy18;
-                       }
+                       if (yych <= 'e') goto yy226;
+                       if (yych <= 'z') goto yy175;
+                       goto yy3;
                }
        }
- yy30:
-       YYDEBUG(30, *YYCURSOR);
+ yy42:
+       YYDEBUG(42, *YYCURSOR);
        yych = *++YYCURSOR;
-       if (yych <= 'C') {
+       if (yych <= 'E') {
                if (yych <= ')') {
-                       if (yych <= '(') goto yy18;
-                       goto yy108;
+                       if (yych <= '(') goto yy3;
+                       goto yy174;
                } else {
-                       if (yych <= '@') goto yy18;
-                       if (yych <= 'B') goto yy109;
-                       goto yy159;
+                       if (yych <= '@') goto yy3;
+                       if (yych <= 'D') goto yy175;
+                       goto yy199;
                }
        } else {
-               if (yych <= 'b') {
-                       if (yych <= 'Z') goto yy109;
-                       if (yych <= '`') goto yy18;
-                       goto yy113;
+               if (yych <= 'd') {
+                       if (yych <= 'Z') goto yy175;
+                       if (yych <= '`') goto yy3;
+                       goto yy180;
                } else {
-                       if (yych <= 'c') goto yy160;
-                       if (yych <= 'z') goto yy113;
-                       goto yy18;
+                       if (yych <= 'e') goto yy213;
+                       if (yych <= 'z') goto yy180;
+                       goto yy3;
                }
        }
- yy31:
-       YYDEBUG(31, *YYCURSOR);
+ yy43:
+       YYDEBUG(43, *YYCURSOR);
        yych = *++YYCURSOR;
-       if (yych <= 'R') {
+       if (yych <= 'E') {
                if (yych <= ')') {
-                       if (yych <= '(') goto yy18;
-                       goto yy108;
+                       if (yych <= '(') goto yy3;
+                       goto yy174;
                } else {
-                       if (yych <= '@') goto yy18;
-                       if (yych <= 'Q') goto yy109;
-                       goto yy161;
+                       if (yych <= '@') goto yy3;
+                       if (yych <= 'D') goto yy175;
+                       goto yy199;
                }
        } else {
-               if (yych <= 'q') {
-                       if (yych <= 'Z') goto yy109;
-                       if (yych <= '`') goto yy18;
-                       goto yy113;
+               if (yych <= 'd') {
+                       if (yych <= 'Z') goto yy175;
+                       if (yych <= '`') goto yy3;
+                       goto yy175;
                } else {
-                       if (yych <= 'r') goto yy162;
-                       if (yych <= 'z') goto yy113;
-                       goto yy18;
+                       if (yych <= 'e') goto yy199;
+                       if (yych <= 'z') goto yy175;
+                       goto yy3;
                }
        }
- yy32:
-       YYDEBUG(32, *YYCURSOR);
+ yy44:
+       YYDEBUG(44, *YYCURSOR);
        yych = *++YYCURSOR;
-       if (yych <= 'U') {
-               if (yych <= 'D') {
-                       if (yych <= ')') {
-                               if (yych <= '(') goto yy18;
-                               goto yy108;
-                       } else {
-                               if (yych <= '@') goto yy18;
-                               if (yych <= 'A') goto yy163;
-                               goto yy109;
-                       }
-               } else {
-                       if (yych <= 'H') {
-                               if (yych <= 'E') goto yy164;
-                               goto yy109;
-                       } else {
-                               if (yych <= 'I') goto yy165;
-                               if (yych <= 'T') goto yy109;
-                               goto yy149;
-                       }
-               }
+       if (yych <= 'L') {
+               if (yych == ')') goto yy174;
+               if (yych <= '@') goto yy3;
+               goto yy175;
        } else {
-               if (yych <= 'e') {
-                       if (yych <= '`') {
-                               if (yych <= 'Z') goto yy109;
-                               goto yy18;
-                       } else {
-                               if (yych <= 'a') goto yy166;
-                               if (yych <= 'd') goto yy113;
-                               goto yy167;
-                       }
+               if (yych <= 'Z') {
+                       if (yych <= 'M') goto yy191;
+                       goto yy175;
                } else {
-                       if (yych <= 't') {
-                               if (yych == 'i') goto yy168;
-                               goto yy113;
-                       } else {
-                               if (yych <= 'u') goto yy152;
-                               if (yych <= 'z') goto yy113;
-                               goto yy18;
-                       }
+                       if (yych <= '`') goto yy3;
+                       if (yych <= 'z') goto yy180;
+                       goto yy3;
                }
        }
- yy33:
-       YYDEBUG(33, *YYCURSOR);
+ yy45:
+       YYDEBUG(45, *YYCURSOR);
+       yych = *++YYCURSOR;
+       if (yych <= '@') goto yy12;
+       if (yych <= 'Z') goto yy190;
+       if (yych <= '`') goto yy12;
+       if (yych <= 'z') goto yy190;
+       goto yy12;
+ yy46:
+       YYDEBUG(46, *YYCURSOR);
+       yych = *++YYCURSOR;
+       if (yych <= '@') {
+               if (yych == ')') goto yy174;
+               goto yy3;
+       } else {
+               if (yych <= 'Z') goto yy175;
+               if (yych <= '`') goto yy3;
+               if (yych <= 'z') goto yy180;
+               goto yy3;
+       }
+ yy47:
+       YYDEBUG(47, *YYCURSOR);
+       yych = *++YYCURSOR;
+       if (yych <= '@') {
+               if (yych == ')') goto yy174;
+               goto yy3;
+       } else {
+               if (yych <= 'Z') goto yy175;
+               if (yych <= '`') goto yy3;
+               if (yych <= 'z') goto yy175;
+               goto yy3;
+       }
+ yy48:
+       YYDEBUG(48, *YYCURSOR);
        yyaccept = 2;
        yych = *(YYMARKER = ++YYCURSOR);
-       switch (yych) {
-       case ')':       goto yy108;
-       case '0':
-       case '1':       goto yy169;
-       case '2':       goto yy170;
-       case '3':
-       case '4':
-       case '5':
-       case '6':
-       case '7':
-       case '8':
-       case '9':       goto yy171;
-       case 'A':
-       case 'B':
-       case 'C':
-       case 'D':
-       case 'F':
-       case 'G':
-       case 'I':
-       case 'J':
-       case 'K':
-       case 'L':
-       case 'M':
-       case 'N':
-       case 'P':
-       case 'Q':
-       case 'R':
-       case 'S':
-       case 'T':
-       case 'V':
-       case 'X':
-       case 'Y':
-       case 'Z':       goto yy109;
-       case 'E':       goto yy154;
-       case 'H':       goto yy172;
-       case 'O':       goto yy173;
-       case 'U':       goto yy174;
-       case 'W':       goto yy175;
-       case 'a':
-       case 'b':
-       case 'c':
-       case 'd':
-       case 'f':
-       case 'g':
-       case 'i':
-       case 'j':
-       case 'k':
-       case 'l':
-       case 'm':
-       case 'n':
-       case 'p':
-       case 'q':
-       case 'r':
-       case 's':
-       case 't':
-       case 'v':
-       case 'x':
-       case 'y':
-       case 'z':       goto yy113;
-       case 'e':       goto yy157;
-       case 'h':       goto yy176;
-       case 'o':       goto yy177;
-       case 'u':       goto yy178;
-       case 'w':       goto yy179;
-       default:        goto yy18;
+       if (yybm[0+yych] & 2) {
+               goto yy56;
        }
- yy34:
-       YYDEBUG(34, *YYCURSOR);
-       yyaccept = 2;
-       yych = *(YYMARKER = ++YYCURSOR);
-       if (yych <= '.') {
-               if (yych <= ' ') {
-                       if (yych == '\t') goto yy135;
-                       if (yych <= 0x1F) goto yy18;
-                       goto yy135;
+       if (yych <= '/') goto yy49;
+       if (yych <= '9') goto yy54;
+ yy49:
+       YYDEBUG(49, *YYCURSOR);
 -#line 1803 "parse_date.re"
++#line 1825 "parse_date.re"
+       {
+               goto std;
+       }
 -#line 2605 "<stdout>"
++#line 2608 "<stdout>"
+ yy50:
+       YYDEBUG(50, *YYCURSOR);
+       yych = *++YYCURSOR;
+       goto yy49;
+ yy51:
+       YYDEBUG(51, *YYCURSOR);
+       ++YYCURSOR;
+       YYDEBUG(52, *YYCURSOR);
 -#line 1808 "parse_date.re"
++#line 1830 "parse_date.re"
+       {
+               s->pos = cursor; s->line++;
+               goto std;
+       }
 -#line 2619 "<stdout>"
++#line 2622 "<stdout>"
+ yy53:
+       YYDEBUG(53, *YYCURSOR);
+       yych = *++YYCURSOR;
+       goto yy12;
+ yy54:
+       YYDEBUG(54, *YYCURSOR);
+       yych = *++YYCURSOR;
+       if (yych <= '/') goto yy59;
+       if (yych <= '9') goto yy70;
+       goto yy59;
+ yy55:
+       YYDEBUG(55, *YYCURSOR);
+       YYCURSOR = YYMARKER;
+       if (yyaccept <= 16) {
+               if (yyaccept <= 8) {
+                       if (yyaccept <= 4) {
+                               if (yyaccept <= 2) {
+                                       if (yyaccept <= 1) {
+                                               if (yyaccept == 0) {
+                                                       goto yy3;
+                                               } else {
+                                                       goto yy12;
+                                               }
+                                       } else {
+                                               goto yy49;
+                                       }
+                               } else {
+                                       if (yyaccept == 3) {
+                                               goto yy84;
+                                       } else {
+                                               goto yy201;
+                                       }
+                               }
+                       } else {
+                               if (yyaccept <= 6) {
+                                       if (yyaccept == 5) {
+                                               goto yy228;
+                                       } else {
+                                               goto yy242;
+                                       }
+                               } else {
+                                       if (yyaccept == 7) {
+                                               goto yy256;
+                                       } else {
+                                               goto yy367;
+                                       }
+                               }
+                       }
                } else {
-                       if (yych == ')') goto yy108;
-                       if (yych <= ',') goto yy18;
-                       goto yy135;
+                       if (yyaccept <= 12) {
+                               if (yyaccept <= 10) {
+                                       if (yyaccept == 9) {
 -                                              goto yy450;
++                                              goto yy475;
+                                       } else {
 -                                              goto yy465;
++                                              goto yy490;
+                                       }
+                               } else {
+                                       if (yyaccept == 11) {
 -                                              goto yy586;
++                                              goto yy611;
+                                       } else {
 -                                              goto yy631;
++                                              goto yy656;
+                                       }
+                               }
+                       } else {
+                               if (yyaccept <= 14) {
+                                       if (yyaccept == 13) {
 -                                              goto yy641;
++                                              goto yy666;
+                                       } else {
 -                                              goto yy738;
++                                              goto yy763;
+                                       }
+                               } else {
+                                       if (yyaccept == 15) {
 -                                              goto yy758;
++                                              goto yy783;
+                                       } else {
 -                                              goto yy789;
++                                              goto yy814;
+                                       }
+                               }
+                       }
                }
        } else {
-               if (yych <= 'H') {
-                       if (yych <= '/') goto yy18;
-                       if (yych <= '9') goto yy135;
-                       if (yych <= '@') goto yy18;
-                       goto yy109;
 -              if (yyaccept <= 25) {
 -                      if (yyaccept <= 21) {
 -                              if (yyaccept <= 19) {
 -                                      if (yyaccept <= 18) {
 -                                              if (yyaccept == 17) {
 -                                                      goto yy796;
 -                                              } else {
 -                                                      goto yy823;
 -                                              }
++              if (yyaccept <= 24) {
++                      if (yyaccept <= 20) {
++                              if (yyaccept <= 18) {
++                                      if (yyaccept == 17) {
++                                              goto yy821;
+                                       } else {
 -                                              goto yy768;
++                                              goto yy848;
+                                       }
+                               } else {
 -                                      if (yyaccept == 20) {
 -                                              goto yy429;
++                                      if (yyaccept == 19) {
++                                              goto yy793;
+                                       } else {
 -                                              goto yy948;
++                                              goto yy430;
+                                       }
+                               }
+                       } else {
 -                              if (yyaccept <= 23) {
 -                                      if (yyaccept == 22) {
 -                                              goto yy817;
++                              if (yyaccept <= 22) {
++                                      if (yyaccept == 21) {
++                                              goto yy973;
+                                       } else {
 -                                              goto yy1042;
++                                              goto yy842;
+                                       }
+                               } else {
 -                                      if (yyaccept == 24) {
 -                                              goto yy1050;
++                                      if (yyaccept == 23) {
++                                              goto yy1067;
+                                       } else {
 -                                              goto yy1094;
++                                              goto yy1075;
+                                       }
+                               }
+                       }
                } else {
-                       if (yych <= 'Z') {
-                               if (yych <= 'I') goto yy180;
-                               goto yy109;
 -                      if (yyaccept <= 29) {
 -                              if (yyaccept <= 27) {
 -                                      if (yyaccept == 26) {
 -                                              goto yy1118;
++                      if (yyaccept <= 28) {
++                              if (yyaccept <= 26) {
++                                      if (yyaccept == 25) {
++                                              goto yy1119;
+                                       } else {
 -                                              goto yy1294;
++                                              goto yy1143;
+                                       }
+                               } else {
 -                                      if (yyaccept == 28) {
 -                                              goto yy1389;
++                                      if (yyaccept == 27) {
++                                              goto yy1319;
+                                       } else {
 -                                              goto yy1427;
++                                              goto yy1452;
+                                       }
+                               }
                        } else {
-                               if (yych <= '`') goto yy18;
-                               if (yych <= 'z') goto yy113;
-                               goto yy18;
 -                              if (yyaccept <= 31) {
 -                                      if (yyaccept == 30) {
 -                                              goto yy1430;
++                              if (yyaccept <= 30) {
++                                      if (yyaccept == 29) {
++                                              goto yy1455;
+                                       } else {
 -                                              goto yy1510;
++                                              goto yy1535;
+                                       }
+                               } else {
 -                                      if (yyaccept == 32) {
 -                                              goto yy1518;
++                                      if (yyaccept == 31) {
++                                              goto yy1543;
+                                       } else {
 -                                              goto yy1541;
++                                              goto yy1566;
+                                       }
+                               }
                        }
                }
        }
                }
        } else {
                if (yych <= 'd') {
-                       if (yych <= 'Z') goto yy109;
-                       if (yych <= '`') goto yy18;
-                       goto yy113;
+                       if (yych == 'a') goto yy129;
+                       goto yy55;
                } else {
-                       if (yych <= 'e') goto yy184;
-                       if (yych <= 'z') goto yy113;
-                       goto yy18;
+                       if (yych <= 'e') goto yy130;
+                       if (yych == 'u') goto yy128;
+                       goto yy55;
                }
        }
- yy38:
-       YYDEBUG(38, *YYCURSOR);
+ yy64:
+       YYDEBUG(64, *YYCURSOR);
        yych = *++YYCURSOR;
-       if (yych <= 'U') {
-               if (yych <= 'F') {
-                       if (yych == ')') goto yy108;
-                       if (yych <= '@') goto yy18;
-                       goto yy109;
-               } else {
-                       if (yych <= 'O') {
-                               if (yych <= 'G') goto yy110;
-                               goto yy109;
-                       } else {
-                               if (yych <= 'P') goto yy111;
-                               if (yych <= 'T') goto yy109;
-                               goto yy112;
-                       }
-               }
+       if (yych == 'O') goto yy126;
+       if (yych == 'o') goto yy126;
+       goto yy55;
+ yy65:
+       YYDEBUG(65, *YYCURSOR);
+       yych = *++YYCURSOR;
+       if (yych == 'A') goto yy125;
+       if (yych == 'a') goto yy125;
+       goto yy55;
+ yy66:
+       YYDEBUG(66, *YYCURSOR);
+       yych = *++YYCURSOR;
+       if (yych <= 'R') {
+               if (yych == 'O') goto yy110;
+               if (yych <= 'Q') goto yy55;
+               goto yy109;
        } else {
                if (yych <= 'o') {
-                       if (yych <= '`') {
-                               if (yych <= 'Z') goto yy109;
-                               goto yy18;
-                       } else {
-                               if (yych == 'g') goto yy110;
-                               goto yy109;
-                       }
+                       if (yych <= 'n') goto yy55;
+                       goto yy110;
                } else {
-                       if (yych <= 't') {
-                               if (yych <= 'p') goto yy111;
-                               goto yy109;
-                       } else {
-                               if (yych <= 'u') goto yy112;
-                               if (yych <= 'z') goto yy109;
-                               goto yy18;
-                       }
+                       if (yych == 'r') goto yy109;
+                       goto yy55;
                }
        }
- yy39:
-       YYDEBUG(39, *YYCURSOR);
+ yy67:
+       YYDEBUG(67, *YYCURSOR);
        yych = *++YYCURSOR;
-       if (yych <= 'A') {
-               if (yych == ')') goto yy108;
-               if (yych <= '@') goto yy18;
-               goto yy117;
-       } else {
-               if (yych <= '`') {
-                       if (yych <= 'Z') goto yy109;
-                       goto yy18;
-               } else {
-                       if (yych <= 'a') goto yy117;
-                       if (yych <= 'z') goto yy109;
-                       goto yy18;
-               }
-       }
- yy40:
-       YYDEBUG(40, *YYCURSOR);
+       if (yych == 'E') goto yy106;
+       if (yych == 'e') goto yy106;
+       goto yy55;
+ yy68:
+       YYDEBUG(68, *YYCURSOR);
        yych = *++YYCURSOR;
-       if (yych <= '@') {
-               if (yych == ')') goto yy108;
-               goto yy18;
-       } else {
-               if (yych <= 'Z') goto yy109;
-               if (yych <= '`') goto yy18;
-               if (yych <= 'z') goto yy109;
-               goto yy18;
-       }
- yy41:
-       YYDEBUG(41, *YYCURSOR);
+       if (yych == 'E') goto yy94;
+       if (yych == 'e') goto yy94;
+       goto yy55;
+ yy69:
+       YYDEBUG(69, *YYCURSOR);
        yych = *++YYCURSOR;
-       if (yych <= 'E') {
-               if (yych <= ')') {
-                       if (yych <= '(') goto yy18;
-                       goto yy108;
-               } else {
-                       if (yych <= '@') goto yy18;
-                       if (yych <= 'D') goto yy109;
-                       goto yy119;
-               }
+       if (yych <= 'U') {
+               if (yych == 'H') goto yy81;
+               if (yych <= 'T') goto yy55;
+               goto yy82;
        } else {
-               if (yych <= 'd') {
-                       if (yych <= 'Z') goto yy109;
-                       if (yych <= '`') goto yy18;
-                       goto yy109;
+               if (yych <= 'h') {
+                       if (yych <= 'g') goto yy55;
+                       goto yy81;
                } else {
-                       if (yych <= 'e') goto yy119;
-                       if (yych <= 'z') goto yy109;
-                       goto yy18;
+                       if (yych == 'u') goto yy82;
+                       goto yy55;
                }
        }
- yy42:
-       YYDEBUG(42, *YYCURSOR);
+ yy70:
+       YYDEBUG(70, *YYCURSOR);
        yych = *++YYCURSOR;
-       if (yych <= 'L') {
-               if (yych <= '@') {
-                       if (yych == ')') goto yy108;
-                       goto yy18;
-               } else {
-                       if (yych == 'I') goto yy121;
-                       if (yych <= 'K') goto yy109;
-                       goto yy122;
-               }
-       } else {
-               if (yych <= 'i') {
-                       if (yych <= 'Z') goto yy109;
-                       if (yych <= '`') goto yy18;
-                       if (yych <= 'h') goto yy109;
-                       goto yy121;
-               } else {
-                       if (yych == 'l') goto yy122;
-                       if (yych <= 'z') goto yy109;
-                       goto yy18;
-               }
-       }
- yy43:
-       YYDEBUG(43, *YYCURSOR);
+       if (yych <= '/') goto yy59;
+       if (yych >= ':') goto yy59;
+       YYDEBUG(71, *YYCURSOR);
        yych = *++YYCURSOR;
-       if (yych <= 'R') {
-               if (yych <= 'E') {
-                       if (yych <= ')') {
-                               if (yych <= '(') goto yy18;
-                               goto yy108;
-                       } else {
-                               if (yych <= '@') goto yy18;
-                               if (yych <= 'D') goto yy109;
-                               goto yy125;
-                       }
-               } else {
-                       if (yych <= 'N') {
-                               if (yych == 'I') goto yy126;
-                               goto yy109;
-                       } else {
-                               if (yych <= 'O') goto yy127;
-                               if (yych <= 'Q') goto yy109;
-                               goto yy128;
-                       }
-               }
-       } else {
-               if (yych <= 'i') {
-                       if (yych <= 'd') {
-                               if (yych <= 'Z') goto yy109;
-                               if (yych <= '`') goto yy18;
-                               goto yy109;
-                       } else {
-                               if (yych <= 'e') goto yy125;
-                               if (yych <= 'h') goto yy109;
-                               goto yy126;
-                       }
-               } else {
-                       if (yych <= 'q') {
-                               if (yych == 'o') goto yy127;
-                               goto yy109;
-                       } else {
-                               if (yych <= 'r') goto yy128;
-                               if (yych <= 'z') goto yy109;
-                               goto yy18;
-                       }
+       if (yych <= '/') goto yy59;
+       if (yych >= ':') goto yy59;
+       YYDEBUG(72, *YYCURSOR);
+       yych = *++YYCURSOR;
+       if (yych <= '/') goto yy59;
+       if (yych >= ':') goto yy59;
+ yy73:
+       YYDEBUG(73, *YYCURSOR);
+       yych = *++YYCURSOR;
+       if (yych <= '/') goto yy59;
+       if (yych >= ':') goto yy59;
+ yy74:
+       YYDEBUG(74, *YYCURSOR);
+       yych = *++YYCURSOR;
+       if (yych <= '/') goto yy59;
+       if (yych >= ':') goto yy59;
+ yy75:
+       YYDEBUG(75, *YYCURSOR);
+       yych = *++YYCURSOR;
+       if (yych <= '/') goto yy59;
+       if (yych >= ':') goto yy59;
+ yy76:
+       YYDEBUG(76, *YYCURSOR);
+       yych = *++YYCURSOR;
+       if (yych <= '/') goto yy59;
+       if (yych >= ':') goto yy59;
+ yy77:
+       YYDEBUG(77, *YYCURSOR);
+       yych = *++YYCURSOR;
+       if (yych <= '/') goto yy59;
+       if (yych >= ':') goto yy59;
+       YYDEBUG(78, *YYCURSOR);
+       yych = *++YYCURSOR;
+       if (yych <= '/') goto yy59;
+       if (yych >= ':') goto yy59;
+       YYDEBUG(79, *YYCURSOR);
+       yych = *++YYCURSOR;
+       if (yych <= '/') goto yy59;
+       if (yych >= ':') goto yy59;
+       YYDEBUG(80, *YYCURSOR);
+       yych = *++YYCURSOR;
+       if (yych <= '/') goto yy59;
+       if (yych <= '9') goto yy58;
+       goto yy59;
+ yy81:
+       YYDEBUG(81, *YYCURSOR);
+       yych = *++YYCURSOR;
+       if (yych == 'U') goto yy89;
+       if (yych == 'u') goto yy89;
+       goto yy55;
+ yy82:
+       YYDEBUG(82, *YYCURSOR);
+       yych = *++YYCURSOR;
+       if (yych == 'E') goto yy83;
+       if (yych != 'e') goto yy55;
+ yy83:
+       YYDEBUG(83, *YYCURSOR);
+       yyaccept = 3;
+       yych = *(YYMARKER = ++YYCURSOR);
+       if (yych == 'S') goto yy85;
+       if (yych == 's') goto yy85;
+ yy84:
+       YYDEBUG(84, *YYCURSOR);
 -#line 1787 "parse_date.re"
++#line 1809 "parse_date.re"
+       {
+               timelib_ull i;
+               DEBUG_OUTPUT("relative");
+               TIMELIB_INIT;
+               TIMELIB_HAVE_RELATIVE();
+               while(*ptr) {
 -                      i = timelib_get_unsigned_nr((char **) &ptr, 24);
 -                      timelib_eat_spaces((char **) &ptr);
 -                      timelib_set_relative((char **) &ptr, i, 1, s);
++                      i = timelib_get_unsigned_nr(&ptr, 24);
++                      timelib_eat_spaces(&ptr);
++                      timelib_set_relative(&ptr, i, 1, s);
                }
+               TIMELIB_DEINIT;
+               return TIMELIB_RELATIVE;
        }
- yy44:
-       YYDEBUG(44, *YYCURSOR);
 -#line 3056 "<stdout>"
++#line 3055 "<stdout>"
+ yy85:
+       YYDEBUG(85, *YYCURSOR);
        yych = *++YYCURSOR;
-       if (yych <= 'U') {
-               if (yych <= '@') {
-                       if (yych == ')') goto yy108;
-                       goto yy18;
-               } else {
-                       if (yych <= 'A') goto yy141;
-                       if (yych <= 'T') goto yy109;
-                       goto yy142;
-               }
+       if (yych == 'D') goto yy86;
+       if (yych != 'd') goto yy55;
+ yy86:
+       YYDEBUG(86, *YYCURSOR);
+       yych = *++YYCURSOR;
+       if (yych == 'A') goto yy87;
+       if (yych != 'a') goto yy55;
+ yy87:
+       YYDEBUG(87, *YYCURSOR);
+       yych = *++YYCURSOR;
+       if (yych == 'Y') goto yy88;
+       if (yych != 'y') goto yy55;
+ yy88:
+       YYDEBUG(88, *YYCURSOR);
+       yych = *++YYCURSOR;
+       goto yy84;
+ yy89:
+       YYDEBUG(89, *YYCURSOR);
+       yyaccept = 3;
+       yych = *(YYMARKER = ++YYCURSOR);
+       if (yych == 'R') goto yy90;
+       if (yych != 'r') goto yy84;
+ yy90:
+       YYDEBUG(90, *YYCURSOR);
+       yych = *++YYCURSOR;
+       if (yych == 'S') goto yy91;
+       if (yych != 's') goto yy55;
+ yy91:
+       YYDEBUG(91, *YYCURSOR);
+       yych = *++YYCURSOR;
+       if (yych == 'D') goto yy92;
+       if (yych != 'd') goto yy55;
+ yy92:
+       YYDEBUG(92, *YYCURSOR);
+       yych = *++YYCURSOR;
+       if (yych == 'A') goto yy93;
+       if (yych != 'a') goto yy55;
+ yy93:
+       YYDEBUG(93, *YYCURSOR);
+       yych = *++YYCURSOR;
+       if (yych == 'Y') goto yy88;
+       if (yych == 'y') goto yy88;
+       goto yy55;
+ yy94:
+       YYDEBUG(94, *YYCURSOR);
+       yych = *++YYCURSOR;
+       if (yych <= 'E') {
+               if (yych <= 'C') goto yy55;
+               if (yych <= 'D') goto yy96;
        } else {
-               if (yych <= 'a') {
-                       if (yych <= 'Z') goto yy109;
-                       if (yych <= '`') goto yy18;
-                       goto yy141;
-               } else {
-                       if (yych == 'u') goto yy142;
-                       if (yych <= 'z') goto yy109;
-                       goto yy18;
-               }
+               if (yych <= 'c') goto yy55;
+               if (yych <= 'd') goto yy96;
+               if (yych >= 'f') goto yy55;
        }
- yy45:
-       YYDEBUG(45, *YYCURSOR);
+       YYDEBUG(95, *YYCURSOR);
        yych = *++YYCURSOR;
-       if (yych <= 'A') {
-               if (yych == ')') goto yy108;
-               if (yych <= '@') goto yy18;
-               goto yy145;
+       if (yych == 'K') goto yy102;
+       if (yych == 'k') goto yy102;
+       goto yy55;
+ yy96:
+       YYDEBUG(96, *YYCURSOR);
+       yyaccept = 3;
+       yych = *(YYMARKER = ++YYCURSOR);
+       if (yych == 'N') goto yy97;
+       if (yych != 'n') goto yy84;
+ yy97:
+       YYDEBUG(97, *YYCURSOR);
+       yych = *++YYCURSOR;
+       if (yych == 'E') goto yy98;
+       if (yych != 'e') goto yy55;
+ yy98:
+       YYDEBUG(98, *YYCURSOR);
+       yych = *++YYCURSOR;
+       if (yych == 'S') goto yy99;
+       if (yych != 's') goto yy55;
+ yy99:
+       YYDEBUG(99, *YYCURSOR);
+       yych = *++YYCURSOR;
+       if (yych == 'D') goto yy100;
+       if (yych != 'd') goto yy55;
+ yy100:
+       YYDEBUG(100, *YYCURSOR);
+       yych = *++YYCURSOR;
+       if (yych == 'A') goto yy101;
+       if (yych != 'a') goto yy55;
+ yy101:
+       YYDEBUG(101, *YYCURSOR);
+       yych = *++YYCURSOR;
+       if (yych == 'Y') goto yy88;
+       if (yych == 'y') goto yy88;
+       goto yy55;
+ yy102:
+       YYDEBUG(102, *YYCURSOR);
+       yyaccept = 3;
+       yych = *(YYMARKER = ++YYCURSOR);
+       if (yych <= 'S') {
+               if (yych == 'D') goto yy103;
+               if (yych <= 'R') goto yy84;
+               goto yy88;
        } else {
-               if (yych <= '`') {
-                       if (yych <= 'Z') goto yy109;
-                       goto yy18;
+               if (yych <= 'd') {
+                       if (yych <= 'c') goto yy84;
                } else {
-                       if (yych <= 'a') goto yy145;
-                       if (yych <= 'z') goto yy109;
-                       goto yy18;
+                       if (yych == 's') goto yy88;
+                       goto yy84;
                }
        }
- yy46:
-       YYDEBUG(46, *YYCURSOR);
+ yy103:
+       YYDEBUG(103, *YYCURSOR);
        yych = *++YYCURSOR;
-       if (yych <= 'O') {
-               if (yych <= 'A') {
-                       if (yych == ')') goto yy108;
-                       if (yych <= '@') goto yy18;
-                       goto yy147;
-               } else {
-                       if (yych == 'I') goto yy148;
-                       if (yych <= 'N') goto yy109;
-                       goto yy149;
-               }
+       if (yych == 'A') goto yy104;
+       if (yych != 'a') goto yy55;
+ yy104:
+       YYDEBUG(104, *YYCURSOR);
+       yych = *++YYCURSOR;
+       if (yych == 'Y') goto yy105;
+       if (yych != 'y') goto yy55;
+ yy105:
+       YYDEBUG(105, *YYCURSOR);
+       yych = *++YYCURSOR;
+       if (yych == 'S') goto yy88;
+       if (yych == 's') goto yy88;
+       goto yy84;
+ yy106:
+       YYDEBUG(106, *YYCURSOR);
+       yych = *++YYCURSOR;
+       if (yych == 'A') goto yy107;
+       if (yych != 'a') goto yy55;
+ yy107:
+       YYDEBUG(107, *YYCURSOR);
+       yych = *++YYCURSOR;
+       if (yych == 'R') goto yy108;
+       if (yych != 'r') goto yy55;
+ yy108:
+       YYDEBUG(108, *YYCURSOR);
+       yych = *++YYCURSOR;
+       if (yych == 'S') goto yy88;
+       if (yych == 's') goto yy88;
+       goto yy84;
+ yy109:
+       YYDEBUG(109, *YYCURSOR);
+       yych = *++YYCURSOR;
+       if (yych == 'I') goto yy122;
+       if (yych == 'i') goto yy122;
+       goto yy55;
+ yy110:
+       YYDEBUG(110, *YYCURSOR);
+       yych = *++YYCURSOR;
+       if (yych == 'R') goto yy111;
+       if (yych != 'r') goto yy55;
+ yy111:
+       YYDEBUG(111, *YYCURSOR);
+       yych = *++YYCURSOR;
+       if (yych == 'T') goto yy112;
+       if (yych != 't') goto yy55;
+ yy112:
+       YYDEBUG(112, *YYCURSOR);
+       yych = *++YYCURSOR;
+       if (yych <= 'N') {
+               if (yych == 'H') goto yy114;
+               if (yych <= 'M') goto yy55;
        } else {
                if (yych <= 'h') {
-                       if (yych <= 'Z') goto yy109;
-                       if (yych <= '`') goto yy18;
-                       if (yych <= 'a') goto yy147;
-                       goto yy109;
+                       if (yych <= 'g') goto yy55;
+                       goto yy114;
                } else {
-                       if (yych <= 'n') {
-                               if (yych <= 'i') goto yy148;
-                               goto yy109;
-                       } else {
-                               if (yych <= 'o') goto yy149;
-                               if (yych <= 'z') goto yy109;
-                               goto yy18;
-                       }
+                       if (yych != 'n') goto yy55;
                }
        }
- yy47:
-       YYDEBUG(47, *YYCURSOR);
+       YYDEBUG(113, *YYCURSOR);
        yych = *++YYCURSOR;
-       if (yych <= 'O') {
-               if (yych <= 'D') {
-                       if (yych == ')') goto yy108;
-                       if (yych <= '@') goto yy18;
-                       goto yy109;
-               } else {
-                       if (yych <= 'H') {
-                               if (yych <= 'E') goto yy153;
-                               goto yy109;
-                       } else {
-                               if (yych <= 'I') goto yy154;
-                               if (yych <= 'N') goto yy109;
-                               goto yy155;
-                       }
-               }
-       } else {
-               if (yych <= 'h') {
-                       if (yych <= '`') {
-                               if (yych <= 'Z') goto yy109;
-                               goto yy18;
-                       } else {
-                               if (yych == 'e') goto yy153;
-                               goto yy109;
-                       }
+       if (yych == 'I') goto yy119;
+       if (yych == 'i') goto yy119;
+       goto yy55;
+ yy114:
+       YYDEBUG(114, *YYCURSOR);
+       yych = *++YYCURSOR;
+       if (yych == 'N') goto yy115;
+       if (yych != 'n') goto yy55;
+ yy115:
+       YYDEBUG(115, *YYCURSOR);
+       yych = *++YYCURSOR;
+       if (yych == 'I') goto yy116;
+       if (yych != 'i') goto yy55;
+ yy116:
+       YYDEBUG(116, *YYCURSOR);
+       yych = *++YYCURSOR;
+       if (yych == 'G') goto yy117;
+       if (yych != 'g') goto yy55;
+ yy117:
+       YYDEBUG(117, *YYCURSOR);
+       yych = *++YYCURSOR;
+       if (yych == 'H') goto yy118;
+       if (yych != 'h') goto yy55;
+ yy118:
+       YYDEBUG(118, *YYCURSOR);
+       yych = *++YYCURSOR;
+       if (yych == 'T') goto yy108;
+       if (yych == 't') goto yy108;
+       goto yy55;
+ yy119:
+       YYDEBUG(119, *YYCURSOR);
+       yych = *++YYCURSOR;
+       if (yych == 'G') goto yy120;
+       if (yych != 'g') goto yy55;
+ yy120:
+       YYDEBUG(120, *YYCURSOR);
+       yych = *++YYCURSOR;
+       if (yych == 'H') goto yy121;
+       if (yych != 'h') goto yy55;
+ yy121:
+       YYDEBUG(121, *YYCURSOR);
+       yych = *++YYCURSOR;
+       if (yych == 'T') goto yy108;
+       if (yych == 't') goto yy108;
+       goto yy55;
+ yy122:
+       YYDEBUG(122, *YYCURSOR);
+       yyaccept = 3;
+       yych = *(YYMARKER = ++YYCURSOR);
+       if (yych == 'D') goto yy123;
+       if (yych != 'd') goto yy84;
+ yy123:
+       YYDEBUG(123, *YYCURSOR);
+       yych = *++YYCURSOR;
+       if (yych == 'A') goto yy124;
+       if (yych != 'a') goto yy55;
+ yy124:
+       YYDEBUG(124, *YYCURSOR);
+       yych = *++YYCURSOR;
+       if (yych == 'Y') goto yy88;
+       if (yych == 'y') goto yy88;
+       goto yy55;
+ yy125:
+       YYDEBUG(125, *YYCURSOR);
+       yych = *++YYCURSOR;
+       if (yych == 'Y') goto yy108;
+       if (yych == 'y') goto yy108;
+       goto yy55;
+ yy126:
+       YYDEBUG(126, *YYCURSOR);
+       yych = *++YYCURSOR;
+       if (yych == 'U') goto yy127;
+       if (yych != 'u') goto yy55;
+ yy127:
+       YYDEBUG(127, *YYCURSOR);
+       yych = *++YYCURSOR;
+       if (yych == 'R') goto yy108;
+       if (yych == 'r') goto yy108;
+       goto yy55;
+ yy128:
+       YYDEBUG(128, *YYCURSOR);
+       yych = *++YYCURSOR;
+       if (yych == 'N') goto yy139;
+       if (yych == 'n') goto yy139;
+       goto yy55;
+ yy129:
+       YYDEBUG(129, *YYCURSOR);
+       yych = *++YYCURSOR;
+       if (yych == 'T') goto yy134;
+       if (yych == 't') goto yy134;
+       goto yy55;
+ yy130:
+       YYDEBUG(130, *YYCURSOR);
+       yych = *++YYCURSOR;
+       if (yych == 'C') goto yy131;
+       if (yych != 'c') goto yy55;
+ yy131:
+       YYDEBUG(131, *YYCURSOR);
+       yyaccept = 3;
+       yych = *(YYMARKER = ++YYCURSOR);
+       if (yych <= 'S') {
+               if (yych == 'O') goto yy132;
+               if (yych <= 'R') goto yy84;
+               goto yy88;
+       } else {
+               if (yych <= 'o') {
+                       if (yych <= 'n') goto yy84;
+               } else {
+                       if (yych == 's') goto yy88;
+                       goto yy84;
+               }
+       }
+ yy132:
+       YYDEBUG(132, *YYCURSOR);
+       yych = *++YYCURSOR;
+       if (yych == 'N') goto yy133;
+       if (yych != 'n') goto yy55;
+ yy133:
+       YYDEBUG(133, *YYCURSOR);
+       yych = *++YYCURSOR;
+       if (yych == 'D') goto yy108;
+       if (yych == 'd') goto yy108;
+       goto yy55;
+ yy134:
+       YYDEBUG(134, *YYCURSOR);
+       yyaccept = 3;
+       yych = *(YYMARKER = ++YYCURSOR);
+       if (yych == 'U') goto yy135;
+       if (yych != 'u') goto yy84;
+ yy135:
+       YYDEBUG(135, *YYCURSOR);
+       yych = *++YYCURSOR;
+       if (yych == 'R') goto yy136;
+       if (yych != 'r') goto yy55;
+ yy136:
+       YYDEBUG(136, *YYCURSOR);
+       yych = *++YYCURSOR;
+       if (yych == 'D') goto yy137;
+       if (yych != 'd') goto yy55;
+ yy137:
+       YYDEBUG(137, *YYCURSOR);
+       yych = *++YYCURSOR;
+       if (yych == 'A') goto yy138;
+       if (yych != 'a') goto yy55;
+ yy138:
+       YYDEBUG(138, *YYCURSOR);
+       yych = *++YYCURSOR;
+       if (yych == 'Y') goto yy88;
+       if (yych == 'y') goto yy88;
+       goto yy55;
+ yy139:
+       YYDEBUG(139, *YYCURSOR);
+       yyaccept = 3;
+       yych = *(YYMARKER = ++YYCURSOR);
+       if (yych == 'D') goto yy140;
+       if (yych != 'd') goto yy84;
+ yy140:
+       YYDEBUG(140, *YYCURSOR);
+       yych = *++YYCURSOR;
+       if (yych == 'A') goto yy141;
+       if (yych != 'a') goto yy55;
+ yy141:
+       YYDEBUG(141, *YYCURSOR);
+       yych = *++YYCURSOR;
+       if (yych == 'Y') goto yy88;
+       if (yych == 'y') goto yy88;
+       goto yy55;
+ yy142:
+       YYDEBUG(142, *YYCURSOR);
+       yych = *++YYCURSOR;
+       if (yych == 'E') goto yy143;
+       if (yych != 'e') goto yy55;
+ yy143:
+       YYDEBUG(143, *YYCURSOR);
+       yych = *++YYCURSOR;
+       if (yych == 'C') goto yy108;
+       if (yych == 'c') goto yy108;
+       goto yy55;
+ yy144:
+       YYDEBUG(144, *YYCURSOR);
+       yych = *++YYCURSOR;
+       if (yych == 'S') goto yy145;
+       if (yych != 's') goto yy55;
+ yy145:
+       YYDEBUG(145, *YYCURSOR);
+       yyaccept = 3;
+       yych = *(YYMARKER = ++YYCURSOR);
+       if (yych == 'E') goto yy146;
+       if (yych != 'e') goto yy84;
+ yy146:
+       YYDEBUG(146, *YYCURSOR);
+       yych = *++YYCURSOR;
+       if (yych == 'C') goto yy108;
+       if (yych == 'c') goto yy108;
+       goto yy55;
+ yy147:
+       YYDEBUG(147, *YYCURSOR);
+       yych = *++YYCURSOR;
+       if (yych == 'N') goto yy170;
+       if (yych == 'n') goto yy170;
+       goto yy55;
+ yy148:
+       YYDEBUG(148, *YYCURSOR);
+       yych = *++YYCURSOR;
+       if (yych <= 'N') {
+               if (yych <= 'K') {
+                       if (yych == 'C') goto yy152;
+                       goto yy55;
+               } else {
+                       if (yych <= 'L') goto yy151;
+                       if (yych <= 'M') goto yy55;
+                       goto yy153;
+               }
+       } else {
+               if (yych <= 'k') {
+                       if (yych == 'c') goto yy152;
+                       goto yy55;
+               } else {
+                       if (yych <= 'l') goto yy151;
+                       if (yych == 'n') goto yy153;
+                       goto yy55;
+               }
+       }
+ yy149:
+       YYDEBUG(149, *YYCURSOR);
+       yyaccept = 3;
+       yych = *(YYMARKER = ++YYCURSOR);
+       if (yych == 'E') goto yy150;
+       if (yych != 'e') goto yy84;
+ yy150:
+       YYDEBUG(150, *YYCURSOR);
+       yych = *++YYCURSOR;
+       if (yych == 'C') goto yy108;
+       if (yych == 'c') goto yy108;
+       goto yy55;
+ yy151:
+       YYDEBUG(151, *YYCURSOR);
+       yych = *++YYCURSOR;
+       if (yych == 'L') goto yy163;
+       if (yych == 'l') goto yy163;
+       goto yy55;
+ yy152:
+       YYDEBUG(152, *YYCURSOR);
+       yych = *++YYCURSOR;
+       if (yych == 'R') goto yy156;
+       if (yych == 'r') goto yy156;
+       goto yy55;
+ yy153:
+       YYDEBUG(153, *YYCURSOR);
+       yyaccept = 3;
+       yych = *(YYMARKER = ++YYCURSOR);
+       if (yych <= 'U') {
+               if (yych == 'S') goto yy88;
+               if (yych <= 'T') goto yy84;
+       } else {
+               if (yych <= 's') {
+                       if (yych <= 'r') goto yy84;
+                       goto yy88;
+               } else {
+                       if (yych != 'u') goto yy84;
+               }
+       }
+       YYDEBUG(154, *YYCURSOR);
+       yych = *++YYCURSOR;
+       if (yych == 'T') goto yy155;
+       if (yych != 't') goto yy55;
+ yy155:
+       YYDEBUG(155, *YYCURSOR);
+       yych = *++YYCURSOR;
+       if (yych == 'E') goto yy108;
+       if (yych == 'e') goto yy108;
+       goto yy55;
+ yy156:
+       YYDEBUG(156, *YYCURSOR);
+       yych = *++YYCURSOR;
+       if (yych == 'O') goto yy157;
+       if (yych != 'o') goto yy55;
+ yy157:
+       YYDEBUG(157, *YYCURSOR);
+       yych = *++YYCURSOR;
+       if (yych == 'S') goto yy158;
+       if (yych != 's') goto yy55;
+ yy158:
+       YYDEBUG(158, *YYCURSOR);
+       yych = *++YYCURSOR;
+       if (yych == 'E') goto yy159;
+       if (yych != 'e') goto yy55;
+ yy159:
+       YYDEBUG(159, *YYCURSOR);
+       yych = *++YYCURSOR;
+       if (yych == 'C') goto yy160;
+       if (yych != 'c') goto yy55;
+ yy160:
+       YYDEBUG(160, *YYCURSOR);
+       yych = *++YYCURSOR;
+       if (yych == 'O') goto yy161;
+       if (yych != 'o') goto yy55;
+ yy161:
+       YYDEBUG(161, *YYCURSOR);
+       yych = *++YYCURSOR;
+       if (yych == 'N') goto yy162;
+       if (yych != 'n') goto yy55;
+ yy162:
+       YYDEBUG(162, *YYCURSOR);
+       yych = *++YYCURSOR;
+       if (yych == 'D') goto yy108;
+       if (yych == 'd') goto yy108;
+       goto yy55;
+ yy163:
+       YYDEBUG(163, *YYCURSOR);
+       yych = *++YYCURSOR;
+       if (yych == 'I') goto yy164;
+       if (yych != 'i') goto yy55;
+ yy164:
+       YYDEBUG(164, *YYCURSOR);
+       yych = *++YYCURSOR;
+       if (yych == 'S') goto yy165;
+       if (yych != 's') goto yy55;
+ yy165:
+       YYDEBUG(165, *YYCURSOR);
+       yych = *++YYCURSOR;
+       if (yych == 'E') goto yy166;
+       if (yych != 'e') goto yy55;
+ yy166:
+       YYDEBUG(166, *YYCURSOR);
+       yych = *++YYCURSOR;
+       if (yych == 'C') goto yy167;
+       if (yych != 'c') goto yy55;
+ yy167:
+       YYDEBUG(167, *YYCURSOR);
+       yych = *++YYCURSOR;
+       if (yych == 'O') goto yy168;
+       if (yych != 'o') goto yy55;
+ yy168:
+       YYDEBUG(168, *YYCURSOR);
+       yych = *++YYCURSOR;
+       if (yych == 'N') goto yy169;
+       if (yych != 'n') goto yy55;
+ yy169:
+       YYDEBUG(169, *YYCURSOR);
+       yych = *++YYCURSOR;
+       if (yych == 'D') goto yy108;
+       if (yych == 'd') goto yy108;
+       goto yy55;
+ yy170:
+       YYDEBUG(170, *YYCURSOR);
+       yyaccept = 3;
+       yych = *(YYMARKER = ++YYCURSOR);
+       if (yych <= 'T') {
+               if (yych == 'D') goto yy171;
+               if (yych <= 'S') goto yy84;
+               goto yy172;
+       } else {
+               if (yych <= 'd') {
+                       if (yych <= 'c') goto yy84;
+               } else {
+                       if (yych == 't') goto yy172;
+                       goto yy84;
+               }
+       }
+ yy171:
+       YYDEBUG(171, *YYCURSOR);
+       yych = *++YYCURSOR;
+       if (yych == 'A') goto yy173;
+       if (yych == 'a') goto yy173;
+       goto yy55;
+ yy172:
+       YYDEBUG(172, *YYCURSOR);
+       yych = *++YYCURSOR;
+       if (yych == 'H') goto yy108;
+       if (yych == 'h') goto yy108;
+       goto yy55;
+ yy173:
+       YYDEBUG(173, *YYCURSOR);
+       yych = *++YYCURSOR;
+       if (yych == 'Y') goto yy88;
+       if (yych == 'y') goto yy88;
+       goto yy55;
+ yy174:
+       YYDEBUG(174, *YYCURSOR);
+       yych = *++YYCURSOR;
+       goto yy3;
+ yy175:
+       YYDEBUG(175, *YYCURSOR);
+       yych = *++YYCURSOR;
+       if (yych <= '@') {
+               if (yych == ')') goto yy174;
+               goto yy3;
+       } else {
+               if (yych <= 'Z') goto yy176;
+               if (yych <= '`') goto yy3;
+               if (yych >= '{') goto yy3;
+       }
+ yy176:
+       YYDEBUG(176, *YYCURSOR);
+       yych = *++YYCURSOR;
+       if (yych <= '@') {
+               if (yych == ')') goto yy174;
+               goto yy3;
+       } else {
+               if (yych <= 'Z') goto yy177;
+               if (yych <= '`') goto yy3;
+               if (yych >= '{') goto yy3;
+       }
+ yy177:
+       YYDEBUG(177, *YYCURSOR);
+       yych = *++YYCURSOR;
+       if (yych <= '@') {
+               if (yych == ')') goto yy174;
+               goto yy3;
+       } else {
+               if (yych <= 'Z') goto yy178;
+               if (yych <= '`') goto yy3;
+               if (yych >= '{') goto yy3;
+       }
+ yy178:
+       YYDEBUG(178, *YYCURSOR);
+       yych = *++YYCURSOR;
+       if (yych <= '@') {
+               if (yych == ')') goto yy174;
+               goto yy3;
+       } else {
+               if (yych <= 'Z') goto yy179;
+               if (yych <= '`') goto yy3;
+               if (yych >= '{') goto yy3;
+       }
+ yy179:
+       YYDEBUG(179, *YYCURSOR);
+       yych = *++YYCURSOR;
+       if (yych == ')') goto yy174;
+       goto yy3;
+ yy180:
+       YYDEBUG(180, *YYCURSOR);
+       yyaccept = 0;
+       yych = *(YYMARKER = ++YYCURSOR);
+       if (yych <= '/') {
+               if (yych <= ',') {
+                       if (yych == ')') goto yy174;
+                       goto yy3;
+               } else {
+                       if (yych == '.') goto yy3;
+                       goto yy182;
+               }
+       } else {
+               if (yych <= '^') {
+                       if (yych <= '@') goto yy3;
+                       if (yych <= 'Z') goto yy176;
+                       goto yy3;
+               } else {
+                       if (yych <= '_') goto yy182;
+                       if (yych <= '`') goto yy3;
+                       if (yych >= '{') goto yy3;
+               }
+       }
+ yy181:
+       YYDEBUG(181, *YYCURSOR);
+       yyaccept = 0;
+       yych = *(YYMARKER = ++YYCURSOR);
+       if (yych <= '/') {
+               if (yych <= ',') {
+                       if (yych == ')') goto yy174;
+                       goto yy3;
+               } else {
+                       if (yych == '.') goto yy3;
+               }
+       } else {
+               if (yych <= '^') {
+                       if (yych <= '@') goto yy3;
+                       if (yych <= 'Z') goto yy177;
+                       goto yy3;
+               } else {
+                       if (yych <= '_') goto yy182;
+                       if (yych <= '`') goto yy3;
+                       if (yych <= 'z') goto yy185;
+                       goto yy3;
+               }
+       }
+ yy182:
+       YYDEBUG(182, *YYCURSOR);
+       ++YYCURSOR;
+       if (YYLIMIT <= YYCURSOR) YYFILL(1);
+       yych = *YYCURSOR;
+       if (yybm[0+yych] & 4) {
+               goto yy183;
+       }
+       goto yy55;
+ yy183:
+       YYDEBUG(183, *YYCURSOR);
+       yyaccept = 0;
+       YYMARKER = ++YYCURSOR;
+       if (YYLIMIT <= YYCURSOR) YYFILL(1);
+       yych = *YYCURSOR;
+       YYDEBUG(184, *YYCURSOR);
+       if (yybm[0+yych] & 4) {
+               goto yy183;
+       }
+       if (yych <= '.') {
+               if (yych == '-') goto yy182;
+               goto yy3;
+       } else {
+               if (yych <= '/') goto yy182;
+               if (yych == '_') goto yy182;
+               goto yy3;
+       }
+ yy185:
+       YYDEBUG(185, *YYCURSOR);
+       yyaccept = 0;
+       yych = *(YYMARKER = ++YYCURSOR);
+       if (yych <= '/') {
+               if (yych <= ',') {
+                       if (yych == ')') goto yy174;
+                       goto yy3;
+               } else {
+                       if (yych == '.') goto yy3;
+                       goto yy182;
+               }
+       } else {
+               if (yych <= '^') {
+                       if (yych <= '@') goto yy3;
+                       if (yych <= 'Z') goto yy178;
+                       goto yy3;
+               } else {
+                       if (yych <= '_') goto yy182;
+                       if (yych <= '`') goto yy3;
+                       if (yych >= '{') goto yy3;
+               }
+       }
+ yy186:
+       YYDEBUG(186, *YYCURSOR);
+       yyaccept = 0;
+       yych = *(YYMARKER = ++YYCURSOR);
+       if (yych <= '/') {
+               if (yych <= ',') {
+                       if (yych == ')') goto yy174;
+                       goto yy3;
+               } else {
+                       if (yych == '.') goto yy3;
+                       goto yy182;
+               }
+       } else {
+               if (yych <= '^') {
+                       if (yych <= '@') goto yy3;
+                       if (yych <= 'Z') goto yy179;
+                       goto yy3;
+               } else {
+                       if (yych <= '_') goto yy182;
+                       if (yych <= '`') goto yy3;
+                       if (yych >= '{') goto yy3;
+               }
+       }
+ yy187:
+       YYDEBUG(187, *YYCURSOR);
+       yyaccept = 0;
+       yych = *(YYMARKER = ++YYCURSOR);
+       if (yybm[0+yych] & 8) {
+               goto yy188;
+       }
+       if (yych <= '-') {
+               if (yych == ')') goto yy174;
+               if (yych <= ',') goto yy3;
+               goto yy182;
+       } else {
+               if (yych <= '/') {
+                       if (yych <= '.') goto yy3;
+                       goto yy182;
+               } else {
+                       if (yych == '_') goto yy182;
+                       goto yy3;
+               }
+       }
+ yy188:
+       YYDEBUG(188, *YYCURSOR);
+       ++YYCURSOR;
+       if (YYLIMIT <= YYCURSOR) YYFILL(1);
+       yych = *YYCURSOR;
+ yy189:
+       YYDEBUG(189, *YYCURSOR);
+       if (yybm[0+yych] & 8) {
+               goto yy188;
+       }
+       if (yych <= '.') {
+               if (yych == '-') goto yy182;
+               goto yy55;
+       } else {
+               if (yych <= '/') goto yy182;
+               if (yych == '_') goto yy182;
+               goto yy55;
+       }
+ yy190:
+       YYDEBUG(190, *YYCURSOR);
+       yych = *++YYCURSOR;
+       if (yych <= '@') {
+               if (yych == ')') goto yy174;
+               goto yy3;
+       } else {
+               if (yych <= 'Z') goto yy175;
+               if (yych <= '`') goto yy3;
+               if (yych <= 'z') goto yy175;
+               goto yy3;
+       }
+ yy191:
+       YYDEBUG(191, *YYCURSOR);
+       yych = *++YYCURSOR;
+       if (yych <= 'S') {
+               if (yych == ')') goto yy174;
+               if (yych <= '@') goto yy3;
+               goto yy176;
+       } else {
+               if (yych <= 'Z') {
+                       if (yych >= 'U') goto yy176;
+               } else {
+                       if (yych <= '`') goto yy3;
+                       if (yych <= 'z') goto yy176;
+                       goto yy3;
+               }
+       }
+       YYDEBUG(192, *YYCURSOR);
+       yyaccept = 0;
+       yych = *(YYMARKER = ++YYCURSOR);
+       if (yych <= ',') {
+               if (yych <= ')') {
+                       if (yych <= '(') goto yy3;
+                       goto yy174;
+               } else {
+                       if (yych != '+') goto yy3;
+               }
+       } else {
+               if (yych <= 'Z') {
+                       if (yych <= '-') goto yy193;
+                       if (yych <= '@') goto yy3;
+                       goto yy177;
+               } else {
+                       if (yych <= '`') goto yy3;
+                       if (yych <= 'z') goto yy177;
+                       goto yy3;
+               }
+       }
+ yy193:
+       YYDEBUG(193, *YYCURSOR);
+       yych = *++YYCURSOR;
+       if (yych <= '/') goto yy55;
+       if (yych <= '1') goto yy194;
+       if (yych <= '2') goto yy195;
+       if (yych <= '9') goto yy196;
+       goto yy55;
+ yy194:
+       YYDEBUG(194, *YYCURSOR);
+       yych = *++YYCURSOR;
+       if (yych <= '/') goto yy3;
+       if (yych <= '9') goto yy196;
+       if (yych <= ':') goto yy197;
+       goto yy3;
+ yy195:
+       YYDEBUG(195, *YYCURSOR);
+       yych = *++YYCURSOR;
+       if (yych <= '5') {
+               if (yych <= '/') goto yy3;
+               if (yych >= '5') goto yy198;
+       } else {
+               if (yych <= '9') goto yy174;
+               if (yych <= ':') goto yy197;
+               goto yy3;
+       }
+ yy196:
+       YYDEBUG(196, *YYCURSOR);
+       yych = *++YYCURSOR;
+       if (yych <= '/') goto yy3;
+       if (yych <= '5') goto yy198;
+       if (yych <= '9') goto yy174;
+       if (yych >= ';') goto yy3;
+ yy197:
+       YYDEBUG(197, *YYCURSOR);
+       yych = *++YYCURSOR;
+       if (yych <= '/') goto yy3;
+       if (yych <= '5') goto yy198;
+       if (yych <= '9') goto yy174;
+       goto yy3;
+ yy198:
+       YYDEBUG(198, *YYCURSOR);
+       yych = *++YYCURSOR;
+       if (yych <= '/') goto yy3;
+       if (yych <= '9') goto yy174;
+       goto yy3;
+ yy199:
+       YYDEBUG(199, *YYCURSOR);
+       yych = *++YYCURSOR;
+       if (yych <= 'E') {
+               if (yych <= '@') {
+                       if (yych == ')') goto yy174;
+                       goto yy3;
+               } else {
+                       if (yych <= 'C') goto yy176;
+                       if (yych >= 'E') goto yy202;
+               }
+       } else {
+               if (yych <= 'c') {
+                       if (yych <= 'Z') goto yy176;
+                       if (yych <= '`') goto yy3;
+                       goto yy176;
+               } else {
+                       if (yych <= 'd') goto yy200;
+                       if (yych <= 'e') goto yy202;
+                       if (yych <= 'z') goto yy176;
+                       goto yy3;
+               }
+       }
+ yy200:
+       YYDEBUG(200, *YYCURSOR);
+       ++YYCURSOR;
+       if ((yych = *YYCURSOR) <= 'N') {
+               if (yych <= ')') {
+                       if (yych >= ')') goto yy174;
+               } else {
+                       if (yych <= '@') goto yy201;
+                       if (yych <= 'M') goto yy177;
+                       goto yy208;
+               }
+       } else {
+               if (yych <= 'm') {
+                       if (yych <= 'Z') goto yy177;
+                       if (yych >= 'a') goto yy177;
+               } else {
+                       if (yych <= 'n') goto yy208;
+                       if (yych <= 'z') goto yy177;
+               }
+       }
+ yy201:
+       YYDEBUG(201, *YYCURSOR);
 -#line 1650 "parse_date.re"
++#line 1672 "parse_date.re"
+       {
+               const timelib_relunit* relunit;
+               DEBUG_OUTPUT("daytext");
+               TIMELIB_INIT;
+               TIMELIB_HAVE_RELATIVE();
+               TIMELIB_HAVE_WEEKDAY_RELATIVE();
+               TIMELIB_UNHAVE_TIME();
 -              relunit = timelib_lookup_relunit((char**) &ptr);
++              relunit = timelib_lookup_relunit(&ptr);
+               s->time->relative.weekday = relunit->multiplier;
+               if (s->time->relative.weekday_behavior != 2) {
+                       s->time->relative.weekday_behavior = 1;
+               }
+               TIMELIB_DEINIT;
+               return TIMELIB_WEEKDAY;
+       }
 -#line 3976 "<stdout>"
++#line 3975 "<stdout>"
+ yy202:
+       YYDEBUG(202, *YYCURSOR);
+       yych = *++YYCURSOR;
+       if (yych <= 'K') {
+               if (yych <= ')') {
+                       if (yych <= '(') goto yy3;
+                       goto yy174;
                } else {
-                       if (yych <= 'n') {
-                               if (yych <= 'i') goto yy154;
-                               goto yy109;
-                       } else {
-                               if (yych <= 'o') goto yy155;
-                               if (yych <= 'z') goto yy109;
-                               goto yy18;
-                       }
+                       if (yych <= '@') goto yy3;
+                       if (yych <= 'J') goto yy177;
+               }
+       } else {
+               if (yych <= 'j') {
+                       if (yych <= 'Z') goto yy177;
+                       if (yych <= '`') goto yy3;
+                       goto yy177;
+               } else {
+                       if (yych <= 'k') goto yy203;
+                       if (yych <= 'z') goto yy177;
+                       goto yy3;
                }
        }
- yy48:
-       YYDEBUG(48, *YYCURSOR);
+ yy203:
+       YYDEBUG(203, *YYCURSOR);
        yych = *++YYCURSOR;
-       if (yych <= 'C') {
+       if (yych <= 'D') {
                if (yych <= ')') {
-                       if (yych <= '(') goto yy18;
-                       goto yy108;
+                       if (yych <= '(') goto yy3;
+                       goto yy174;
                } else {
-                       if (yych <= '@') goto yy18;
-                       if (yych <= 'B') goto yy109;
-                       goto yy159;
+                       if (yych <= '@') goto yy3;
+                       if (yych <= 'C') goto yy178;
                }
        } else {
-               if (yych <= 'b') {
-                       if (yych <= 'Z') goto yy109;
-                       if (yych <= '`') goto yy18;
-                       goto yy109;
+               if (yych <= 'c') {
+                       if (yych <= 'Z') goto yy178;
+                       if (yych <= '`') goto yy3;
+                       goto yy178;
                } else {
-                       if (yych <= 'c') goto yy159;
-                       if (yych <= 'z') goto yy109;
-                       goto yy18;
+                       if (yych <= 'd') goto yy204;
+                       if (yych <= 'z') goto yy178;
+                       goto yy3;
                }
        }
- yy49:
-       YYDEBUG(49, *YYCURSOR);
+ yy204:
+       YYDEBUG(204, *YYCURSOR);
        yych = *++YYCURSOR;
-       if (yych <= 'R') {
+       if (yych <= 'A') {
+               if (yych == ')') goto yy174;
+               if (yych <= '@') goto yy3;
+       } else {
+               if (yych <= '`') {
+                       if (yych <= 'Z') goto yy179;
+                       goto yy3;
+               } else {
+                       if (yych <= 'a') goto yy205;
+                       if (yych <= 'z') goto yy179;
+                       goto yy3;
+               }
+       }
+ yy205:
+       YYDEBUG(205, *YYCURSOR);
+       yych = *++YYCURSOR;
+       if (yych <= 'X') {
+               if (yych == ')') goto yy174;
+               goto yy3;
+       } else {
+               if (yych <= 'Y') goto yy206;
+               if (yych != 'y') goto yy3;
+       }
+ yy206:
+       YYDEBUG(206, *YYCURSOR);
+       yych = *++YYCURSOR;
+       if (yych == 'S') goto yy207;
+       if (yych != 's') goto yy201;
+ yy207:
+       YYDEBUG(207, *YYCURSOR);
+       yych = *++YYCURSOR;
+       goto yy201;
+ yy208:
+       YYDEBUG(208, *YYCURSOR);
+       yych = *++YYCURSOR;
+       if (yych <= 'E') {
                if (yych <= ')') {
-                       if (yych <= '(') goto yy18;
-                       goto yy108;
+                       if (yych <= '(') goto yy3;
+                       goto yy174;
                } else {
-                       if (yych <= '@') goto yy18;
-                       if (yych <= 'Q') goto yy109;
-                       goto yy161;
+                       if (yych <= '@') goto yy3;
+                       if (yych <= 'D') goto yy178;
                }
        } else {
-               if (yych <= 'q') {
-                       if (yych <= 'Z') goto yy109;
-                       if (yych <= '`') goto yy18;
-                       goto yy109;
+               if (yych <= 'd') {
+                       if (yych <= 'Z') goto yy178;
+                       if (yych <= '`') goto yy3;
+                       goto yy178;
                } else {
-                       if (yych <= 'r') goto yy161;
-                       if (yych <= 'z') goto yy109;
-                       goto yy18;
+                       if (yych <= 'e') goto yy209;
+                       if (yych <= 'z') goto yy178;
+                       goto yy3;
                }
        }
- yy50:
-       YYDEBUG(50, *YYCURSOR);
+ yy209:
+       YYDEBUG(209, *YYCURSOR);
        yych = *++YYCURSOR;
-       if (yych <= 'U') {
-               if (yych <= 'D') {
-                       if (yych <= ')') {
-                               if (yych <= '(') goto yy18;
-                               goto yy108;
+       if (yych <= 'S') {
+               if (yych <= ')') {
+                       if (yych <= '(') goto yy3;
+                       goto yy174;
+               } else {
+                       if (yych <= '@') goto yy3;
+                       if (yych <= 'R') goto yy179;
+               }
+       } else {
+               if (yych <= 'r') {
+                       if (yych <= 'Z') goto yy179;
+                       if (yych <= '`') goto yy3;
+                       goto yy179;
+               } else {
+                       if (yych <= 's') goto yy210;
+                       if (yych <= 'z') goto yy179;
+                       goto yy3;
+               }
+       }
+ yy210:
+       YYDEBUG(210, *YYCURSOR);
+       yyaccept = 0;
+       yych = *(YYMARKER = ++YYCURSOR);
+       if (yych <= 'C') {
+               if (yych == ')') goto yy174;
+               goto yy3;
+       } else {
+               if (yych <= 'D') goto yy211;
+               if (yych != 'd') goto yy3;
+       }
+ yy211:
+       YYDEBUG(211, *YYCURSOR);
+       yych = *++YYCURSOR;
+       if (yych == 'A') goto yy212;
+       if (yych != 'a') goto yy55;
+ yy212:
+       YYDEBUG(212, *YYCURSOR);
+       yych = *++YYCURSOR;
+       if (yych == 'Y') goto yy207;
+       if (yych == 'y') goto yy207;
+       goto yy55;
+ yy213:
+       YYDEBUG(213, *YYCURSOR);
+       yyaccept = 0;
+       yych = *(YYMARKER = ++YYCURSOR);
+       if (yych <= 'D') {
+               if (yych <= '-') {
+                       if (yych == ')') goto yy174;
+                       if (yych <= ',') goto yy3;
+                       goto yy182;
+               } else {
+                       if (yych <= '/') {
+                               if (yych <= '.') goto yy3;
+                               goto yy182;
+                       } else {
+                               if (yych <= '@') goto yy3;
+                               if (yych <= 'C') goto yy176;
+                               goto yy200;
+                       }
+               }
+       } else {
+               if (yych <= '`') {
+                       if (yych <= 'Z') {
+                               if (yych <= 'E') goto yy202;
+                               goto yy176;
                        } else {
-                               if (yych <= '@') goto yy18;
-                               if (yych <= 'A') goto yy163;
-                               goto yy109;
+                               if (yych == '_') goto yy182;
+                               goto yy3;
                        }
                } else {
-                       if (yych <= 'H') {
-                               if (yych <= 'E') goto yy164;
-                               goto yy109;
+                       if (yych <= 'd') {
+                               if (yych <= 'c') goto yy181;
                        } else {
-                               if (yych <= 'I') goto yy165;
-                               if (yych <= 'T') goto yy109;
-                               goto yy149;
+                               if (yych <= 'e') goto yy215;
+                               if (yych <= 'z') goto yy181;
+                               goto yy3;
                        }
                }
+       }
+       YYDEBUG(214, *YYCURSOR);
+       yyaccept = 4;
+       yych = *(YYMARKER = ++YYCURSOR);
+       if (yych <= 'M') {
+               if (yych <= '-') {
+                       if (yych == ')') goto yy174;
+                       if (yych <= ',') goto yy201;
+                       goto yy182;
+               } else {
+                       if (yych == '/') goto yy182;
+                       if (yych <= '@') goto yy201;
+                       goto yy177;
+               }
        } else {
-               if (yych <= 'e') {
-                       if (yych <= '`') {
-                               if (yych <= 'Z') goto yy109;
-                               goto yy18;
+               if (yych <= '_') {
+                       if (yych <= 'N') goto yy208;
+                       if (yych <= 'Z') goto yy177;
+                       if (yych <= '^') goto yy201;
+                       goto yy182;
+               } else {
+                       if (yych <= 'm') {
+                               if (yych <= '`') goto yy201;
+                               goto yy185;
+                       } else {
+                               if (yych <= 'n') goto yy221;
+                               if (yych <= 'z') goto yy185;
+                               goto yy201;
+                       }
+               }
+       }
+ yy215:
+       YYDEBUG(215, *YYCURSOR);
+       yyaccept = 0;
+       yych = *(YYMARKER = ++YYCURSOR);
+       if (yych <= 'J') {
+               if (yych <= '-') {
+                       if (yych == ')') goto yy174;
+                       if (yych <= ',') goto yy3;
+                       goto yy182;
+               } else {
+                       if (yych == '/') goto yy182;
+                       if (yych <= '@') goto yy3;
+                       goto yy177;
+               }
+       } else {
+               if (yych <= '_') {
+                       if (yych <= 'K') goto yy203;
+                       if (yych <= 'Z') goto yy177;
+                       if (yych <= '^') goto yy3;
+                       goto yy182;
+               } else {
+                       if (yych <= 'j') {
+                               if (yych <= '`') goto yy3;
+                               goto yy185;
                        } else {
-                               if (yych <= 'a') goto yy163;
-                               if (yych <= 'd') goto yy109;
-                               goto yy164;
+                               if (yych <= 'k') goto yy216;
+                               if (yych <= 'z') goto yy185;
+                               goto yy3;
                        }
+               }
+       }
+ yy216:
+       YYDEBUG(216, *YYCURSOR);
+       yyaccept = 0;
+       yych = *(YYMARKER = ++YYCURSOR);
+       if (yych <= 'C') {
+               if (yych <= '-') {
+                       if (yych == ')') goto yy174;
+                       if (yych <= ',') goto yy3;
+                       goto yy182;
                } else {
-                       if (yych <= 't') {
-                               if (yych == 'i') goto yy165;
-                               goto yy109;
+                       if (yych == '/') goto yy182;
+                       if (yych <= '@') goto yy3;
+                       goto yy178;
+               }
+       } else {
+               if (yych <= '_') {
+                       if (yych <= 'D') goto yy204;
+                       if (yych <= 'Z') goto yy178;
+                       if (yych <= '^') goto yy3;
+                       goto yy182;
+               } else {
+                       if (yych <= 'c') {
+                               if (yych <= '`') goto yy3;
+                               goto yy186;
                        } else {
-                               if (yych <= 'u') goto yy149;
-                               if (yych <= 'z') goto yy109;
-                               goto yy18;
+                               if (yych <= 'd') goto yy217;
+                               if (yych <= 'z') goto yy186;
+                               goto yy3;
                        }
                }
        }
@@@ -2767,67 -4490,62 +4489,62 @@@ yy227
                        }
                }
        }
- yy57:
-       YYDEBUG(57, *YYCURSOR);
-       yych = *++YYCURSOR;
-       if (yych <= '/') goto yy186;
-       if (yych <= '9') goto yy187;
-       goto yy186;
- yy58:
-       YYDEBUG(58, *YYCURSOR);
+ yy228:
+       YYDEBUG(228, *YYCURSOR);
 -#line 1709 "parse_date.re"
++#line 1731 "parse_date.re"
+       {
+               DEBUG_OUTPUT("monthtext");
+               TIMELIB_INIT;
+               TIMELIB_HAVE_DATE();
 -              s->time->m = timelib_lookup_month((char **) &ptr);
++              s->time->m = timelib_lookup_month(&ptr);
+               TIMELIB_DEINIT;
+               return TIMELIB_DATE_TEXT;
+       }
 -#line 4505 "<stdout>"
++#line 4504 "<stdout>"
+ yy229:
+       YYDEBUG(229, *YYCURSOR);
        ++YYCURSOR;
-       if ((YYLIMIT - YYCURSOR) < 24) YYFILL(24);
+       if ((YYLIMIT - YYCURSOR) < 23) YYFILL(23);
        yych = *YYCURSOR;
-       YYDEBUG(59, *YYCURSOR);
-       if (yybm[0+yych] & 2) {
-               goto yy54;
-       }
-       if (yych <= ',') {
-               if (yych == '+') goto yy58;
-               goto yy56;
-       } else {
-               if (yych <= '-') goto yy58;
-               if (yych <= '/') goto yy56;
-               if (yych <= '9') goto yy57;
-               goto yy56;
+ yy230:
+       YYDEBUG(230, *YYCURSOR);
+       if (yybm[0+yych] & 16) {
+               goto yy229;
        }
- yy60:
-       YYDEBUG(60, *YYCURSOR);
-       yyaccept = 2;
-       yych = *(YYMARKER = ++YYCURSOR);
-       if (yych <= 'W') {
-               if (yych <= 'D') {
-                       if (yych <= ' ') {
-                               if (yych == '\t') goto yy186;
-                               if (yych <= 0x1F) goto yy18;
-                               goto yy186;
+       if (yych <= '/') goto yy55;
+       if (yych <= '2') goto yy232;
+       if (yych <= '3') goto yy233;
+       if (yych <= '9') goto yy234;
+       goto yy55;
+ yy231:
+       YYDEBUG(231, *YYCURSOR);
+       yych = *++YYCURSOR;
+       if (yych <= '/') goto yy230;
+       if (yych <= '0') goto yy334;
+       if (yych <= '2') goto yy335;
+       if (yych <= '3') goto yy336;
+       goto yy230;
+ yy232:
+       YYDEBUG(232, *YYCURSOR);
+       yych = *++YYCURSOR;
+       if (yych <= '9') {
+               if (yych <= ' ') {
+                       if (yych <= 0x08) {
+                               if (yych <= 0x00) goto yy248;
+                               goto yy55;
                        } else {
-                               if (yych <= '9') {
-                                       if (yych <= '/') goto yy18;
-                                       goto yy192;
-                               } else {
-                                       if (yych <= ':') goto yy193;
-                                       if (yych <= 'C') goto yy18;
-                                       goto yy186;
-                               }
+                               if (yych <= '\t') goto yy246;
+                               if (yych <= 0x1F) goto yy55;
+                               goto yy246;
                        }
                } else {
-                       if (yych <= 'L') {
-                               if (yych <= 'F') {
-                                       if (yych <= 'E') goto yy18;
-                                       goto yy186;
-                               } else {
-                                       if (yych == 'H') goto yy186;
-                                       goto yy18;
-                               }
+                       if (yych <= '-') {
+                               if (yych == ',') goto yy246;
+                               goto yy55;
                        } else {
-                               if (yych <= 'R') {
-                                       if (yych <= 'M') goto yy186;
-                                       goto yy18;
-                               } else {
-                                       if (yych == 'V') goto yy18;
-                                       goto yy186;
-                               }
+                               if (yych <= '.') goto yy246;
+                               if (yych <= '/') goto yy55;
+                               goto yy333;
                        }
                }
        } else {
                        }
                }
        }
- yy62:
-       YYDEBUG(62, *YYCURSOR);
-       yyaccept = 2;
+ yy235:
+       YYDEBUG(235, *YYCURSOR);
+       yych = *++YYCURSOR;
+       if (yych <= 'M') {
+               if (yych <= ')') {
+                       if (yych <= '(') goto yy3;
+                       goto yy174;
+               } else {
+                       if (yych <= '@') goto yy3;
+                       if (yych <= 'L') goto yy178;
+               }
+       } else {
+               if (yych <= 'l') {
+                       if (yych <= 'Z') goto yy178;
+                       if (yych <= '`') goto yy3;
+                       goto yy178;
+               } else {
+                       if (yych <= 'm') goto yy236;
+                       if (yych <= 'z') goto yy178;
+                       goto yy3;
+               }
+       }
+ yy236:
+       YYDEBUG(236, *YYCURSOR);
+       yych = *++YYCURSOR;
+       if (yych <= 'B') {
+               if (yych <= ')') {
+                       if (yych <= '(') goto yy3;
+                       goto yy174;
+               } else {
+                       if (yych <= '@') goto yy3;
+                       if (yych <= 'A') goto yy179;
+               }
+       } else {
+               if (yych <= 'a') {
+                       if (yych <= 'Z') goto yy179;
+                       if (yych <= '`') goto yy3;
+                       goto yy179;
+               } else {
+                       if (yych <= 'b') goto yy237;
+                       if (yych <= 'z') goto yy179;
+                       goto yy3;
+               }
+       }
+ yy237:
+       YYDEBUG(237, *YYCURSOR);
+       yyaccept = 0;
        yych = *(YYMARKER = ++YYCURSOR);
-       if (yych <= 'V') {
-               if (yych <= 'C') {
-                       if (yych <= ' ') {
-                               if (yych == '\t') goto yy186;
-                               if (yych <= 0x1F) goto yy18;
-                               goto yy186;
-                       } else {
-                               if (yych <= '5') {
-                                       if (yych <= '/') goto yy18;
-                                       goto yy194;
-                               } else {
-                                       if (yych <= '9') goto yy195;
-                                       if (yych <= ':') goto yy193;
-                                       goto yy18;
-                               }
-                       }
+       if (yych <= 'D') {
+               if (yych == ')') goto yy174;
+               goto yy3;
+       } else {
+               if (yych <= 'E') goto yy238;
+               if (yych != 'e') goto yy3;
+       }
+ yy238:
+       YYDEBUG(238, *YYCURSOR);
+       yych = *++YYCURSOR;
+       if (yych == 'R') goto yy239;
+       if (yych != 'r') goto yy55;
+ yy239:
+       YYDEBUG(239, *YYCURSOR);
+       yyaccept = 5;
+       yych = *(YYMARKER = ++YYCURSOR);
+       if (yych <= ' ') {
+               if (yych == '\t') goto yy230;
+               if (yych <= 0x1F) goto yy228;
+               goto yy230;
+       } else {
+               if (yych <= '.') {
+                       if (yych <= ',') goto yy228;
+                       goto yy230;
                } else {
-                       if (yych <= 'H') {
-                               if (yych <= 'E') {
-                                       if (yych <= 'D') goto yy186;
-                                       goto yy18;
-                               } else {
-                                       if (yych == 'G') goto yy18;
-                                       goto yy186;
-                               }
-                       } else {
-                               if (yych <= 'M') {
-                                       if (yych <= 'L') goto yy18;
-                                       goto yy186;
-                               } else {
-                                       if (yych <= 'R') goto yy18;
-                                       if (yych <= 'U') goto yy186;
-                                       goto yy18;
-                               }
+                       if (yych <= '/') goto yy228;
+                       if (yych <= '9') goto yy230;
+                       goto yy228;
+               }
+       }
+ yy240:
+       YYDEBUG(240, *YYCURSOR);
+       yych = *++YYCURSOR;
+       if (yych <= '/') goto yy55;
+       if (yych <= '9') goto yy330;
+       goto yy55;
+ yy241:
+       YYDEBUG(241, *YYCURSOR);
+       yyaccept = 6;
+       yych = *(YYMARKER = ++YYCURSOR);
+       if (yych == 't') goto yy329;
+       goto yy247;
+ yy242:
+       YYDEBUG(242, *YYCURSOR);
 -#line 1455 "parse_date.re"
++#line 1477 "parse_date.re"
+       {
+               int length = 0;
+               DEBUG_OUTPUT("datetextual | datenoyear");
+               TIMELIB_INIT;
+               TIMELIB_HAVE_DATE();
 -              s->time->m = timelib_get_month((char **) &ptr);
 -              s->time->d = timelib_get_nr((char **) &ptr, 2);
 -              s->time->y = timelib_get_nr_ex((char **) &ptr, 4, &length);
++              s->time->m = timelib_get_month(&ptr);
++              s->time->d = timelib_get_nr(&ptr, 2);
++              s->time->y = timelib_get_nr_ex(&ptr, 4, &length);
+               TIMELIB_PROCESS_YEAR(s->time->y, length);
+               TIMELIB_DEINIT;
+               return TIMELIB_DATE_TEXT;
+       }
 -#line 4767 "<stdout>"
++#line 4766 "<stdout>"
+ yy243:
+       YYDEBUG(243, *YYCURSOR);
+       yyaccept = 6;
+       yych = *(YYMARKER = ++YYCURSOR);
+       if (yych == 'd') goto yy329;
+       goto yy247;
+ yy244:
+       YYDEBUG(244, *YYCURSOR);
+       yyaccept = 6;
+       yych = *(YYMARKER = ++YYCURSOR);
+       if (yych == 'd') goto yy329;
+       goto yy247;
+ yy245:
+       YYDEBUG(245, *YYCURSOR);
+       yyaccept = 6;
+       yych = *(YYMARKER = ++YYCURSOR);
+       if (yych == 'h') goto yy329;
+       goto yy247;
+ yy246:
+       YYDEBUG(246, *YYCURSOR);
+       yyaccept = 6;
+       YYMARKER = ++YYCURSOR;
+       if ((YYLIMIT - YYCURSOR) < 18) YYFILL(18);
+       yych = *YYCURSOR;
+ yy247:
+       YYDEBUG(247, *YYCURSOR);
+       if (yybm[0+yych] & 32) {
+               goto yy246;
+       }
+       if (yych <= '2') {
+               if (yych <= '/') goto yy242;
+               if (yych <= '0') goto yy320;
+               if (yych <= '1') goto yy321;
+               goto yy322;
+       } else {
+               if (yych <= '9') goto yy323;
+               if (yych == 'T') goto yy249;
+               goto yy242;
+       }
+ yy248:
+       YYDEBUG(248, *YYCURSOR);
+       yyaccept = 6;
+       yych = *(YYMARKER = ++YYCURSOR);
+       if (yych <= '9') {
+               if (yych <= '0') {
+                       if (yych <= '/') goto yy242;
+                       goto yy250;
+               } else {
+                       if (yych <= '1') goto yy251;
+                       if (yych <= '2') goto yy252;
+                       goto yy253;
+               }
+       } else {
+               if (yych <= 'T') {
+                       if (yych <= 'S') goto yy242;
+               } else {
+                       if (yych != 't') goto yy242;
+               }
+       }
+ yy249:
+       YYDEBUG(249, *YYCURSOR);
+       yych = *++YYCURSOR;
+       if (yych <= '/') goto yy55;
+       if (yych <= '1') goto yy318;
+       if (yych <= '2') goto yy319;
+       if (yych <= '9') goto yy308;
+       goto yy55;
+ yy250:
+       YYDEBUG(250, *YYCURSOR);
+       yych = *++YYCURSOR;
+       if (yych <= '/') {
+               if (yych == '.') goto yy309;
+               goto yy55;
+       } else {
+               if (yych <= '0') goto yy308;
+               if (yych <= '9') goto yy253;
+               if (yych <= ':') goto yy309;
+               goto yy55;
+       }
+ yy251:
+       YYDEBUG(251, *YYCURSOR);
+       yych = *++YYCURSOR;
+       if (yych <= '/') {
+               if (yych == '.') goto yy254;
+               goto yy55;
+       } else {
+               if (yych <= '2') goto yy253;
+               if (yych <= '9') goto yy308;
+               if (yych <= ':') goto yy254;
+               goto yy55;
+       }
+ yy252:
+       YYDEBUG(252, *YYCURSOR);
+       yych = *++YYCURSOR;
+       if (yych <= '/') {
+               if (yych == '.') goto yy254;
+               goto yy55;
+       } else {
+               if (yych <= '4') goto yy308;
+               if (yych == ':') goto yy254;
+               goto yy55;
+       }
+ yy253:
+       YYDEBUG(253, *YYCURSOR);
+       yych = *++YYCURSOR;
+       if (yych == '.') goto yy254;
+       if (yych != ':') goto yy55;
+ yy254:
+       YYDEBUG(254, *YYCURSOR);
+       yych = *++YYCURSOR;
+       if (yych <= '/') goto yy55;
+       if (yych <= '5') goto yy255;
+       if (yych <= '9') goto yy257;
+       goto yy55;
+ yy255:
+       YYDEBUG(255, *YYCURSOR);
+       yyaccept = 7;
+       yych = *(YYMARKER = ++YYCURSOR);
+       if (yych <= '/') {
+               if (yych == '.') goto yy258;
+       } else {
+               if (yych <= '9') goto yy301;
+               if (yych <= ':') goto yy258;
+       }
+ yy256:
+       YYDEBUG(256, *YYCURSOR);
 -#line 1757 "parse_date.re"
++#line 1779 "parse_date.re"
+       {
+               int tz_not_found;
+               DEBUG_OUTPUT("dateshortwithtimeshort | dateshortwithtimelong | dateshortwithtimelongtz");
+               TIMELIB_INIT;
+               TIMELIB_HAVE_DATE();
 -              s->time->m = timelib_get_month((char **) &ptr);
 -              s->time->d = timelib_get_nr((char **) &ptr, 2);
++              s->time->m = timelib_get_month(&ptr);
++              s->time->d = timelib_get_nr(&ptr, 2);
+               TIMELIB_HAVE_TIME();
 -              s->time->h = timelib_get_nr((char **) &ptr, 2);
 -              s->time->i = timelib_get_nr((char **) &ptr, 2);
++              s->time->h = timelib_get_nr(&ptr, 2);
++              s->time->i = timelib_get_nr(&ptr, 2);
+               if (*ptr == ':') {
 -                      s->time->s = timelib_get_nr((char **) &ptr, 2);
++                      s->time->s = timelib_get_nr(&ptr, 2);
+                       if (*ptr == '.') {
 -                              s->time->us = timelib_get_frac_nr((char **) &ptr, 8);
++                              s->time->us = timelib_get_frac_nr(&ptr, 8);
+                       }
+               }
+               if (*ptr != '\0') {
 -                      s->time->z = timelib_parse_zone((char **) &ptr, &s->time->dst, s->time, &tz_not_found, s->tzdb, tz_get_wrapper);
++                      s->time->z = timelib_parse_zone(&ptr, &s->time->dst, s->time, &tz_not_found, s->tzdb, tz_get_wrapper);
+                       if (tz_not_found) {
+                               add_error(s, TIMELIB_ERR_TZID_NOT_FOUND, "The timezone could not be found in the database");
                        }
                }
 -#line 4923 "<stdout>"
+               TIMELIB_DEINIT;
+               return TIMELIB_SHORTDATE_WITH_TIME;
+       }
++#line 4922 "<stdout>"
+ yy257:
+       YYDEBUG(257, *YYCURSOR);
+       yyaccept = 7;
+       yych = *(YYMARKER = ++YYCURSOR);
+       if (yych == '.') goto yy258;
+       if (yych != ':') goto yy256;
+ yy258:
+       YYDEBUG(258, *YYCURSOR);
+       yych = *++YYCURSOR;
+       if (yych <= '/') goto yy55;
+       if (yych <= '5') goto yy259;
+       if (yych <= '6') goto yy260;
+       if (yych <= '9') goto yy261;
+       goto yy55;
+ yy259:
+       YYDEBUG(259, *YYCURSOR);
+       yych = *++YYCURSOR;
+       if (yych <= '/') goto yy256;
+       if (yych <= '9') goto yy262;
+       goto yy256;
+ yy260:
+       YYDEBUG(260, *YYCURSOR);
+       yych = *++YYCURSOR;
+       if (yych == '0') goto yy262;
+       goto yy256;
+ yy261:
+       YYDEBUG(261, *YYCURSOR);
+       yych = *++YYCURSOR;
+       goto yy256;
+ yy262:
+       YYDEBUG(262, *YYCURSOR);
+       yyaccept = 7;
+       yych = *(YYMARKER = ++YYCURSOR);
+       if (yych <= '*') {
+               if (yych <= 0x1F) {
+                       if (yych == '\t') goto yy264;
+                       goto yy256;
+               } else {
+                       if (yych <= ' ') goto yy264;
+                       if (yych == '(') goto yy264;
+                       goto yy256;
+               }
        } else {
-               if (yych <= 'l') {
-                       if (yych <= 'd') {
-                               if (yych <= 'X') {
-                                       if (yych <= 'W') goto yy186;
-                                       goto yy18;
-                               } else {
-                                       if (yych <= 'Y') goto yy186;
-                                       if (yych <= 'c') goto yy18;
-                                       goto yy186;
-                               }
-                       } else {
-                               if (yych <= 'f') {
-                                       if (yych <= 'e') goto yy18;
-                                       goto yy186;
-                               } else {
-                                       if (yych == 'h') goto yy186;
-                                       goto yy18;
-                               }
-                       }
+               if (yych <= '@') {
+                       if (yych == ',') goto yy256;
+                       if (yych <= '-') goto yy264;
+                       goto yy256;
                } else {
-                       if (yych <= 'w') {
-                               if (yych <= 'r') {
-                                       if (yych <= 'm') goto yy186;
-                                       goto yy18;
-                               } else {
-                                       if (yych == 'v') goto yy18;
-                                       goto yy186;
-                               }
-                       } else {
-                               if (yych <= 'y') {
-                                       if (yych <= 'x') goto yy18;
-                                       goto yy186;
-                               } else {
-                                       if (yych == 0xC2) goto yy186;
-                                       goto yy18;
-                               }
-                       }
+                       if (yych <= 'Z') goto yy264;
+                       if (yych <= '`') goto yy256;
+                       if (yych <= 'z') goto yy264;
+                       goto yy256;
                }
        }
- yy63:
-       YYDEBUG(63, *YYCURSOR);
-       yych = *++YYCURSOR;
-       if (yych <= '/') goto yy65;
-       if (yych <= '0') goto yy198;
-       if (yych <= '1') goto yy199;
-       if (yych <= '9') goto yy200;
-       goto yy65;
- yy64:
-       YYDEBUG(64, *YYCURSOR);
+ yy263:
+       YYDEBUG(263, *YYCURSOR);
        ++YYCURSOR;
-       if ((YYLIMIT - YYCURSOR) < 13) YYFILL(13);
+       if ((YYLIMIT - YYCURSOR) < 9) YYFILL(9);
        yych = *YYCURSOR;
- yy65:
-       YYDEBUG(65, *YYCURSOR);
-       if (yych <= 'W') {
-               if (yych <= 'G') {
-                       if (yych <= '.') {
-                               if (yych <= 0x1F) {
-                                       if (yych == '\t') goto yy64;
-                                       goto yy56;
-                               } else {
-                                       if (yych <= ' ') goto yy64;
-                                       if (yych <= ',') goto yy56;
-                                       goto yy196;
-                               }
+ yy264:
+       YYDEBUG(264, *YYCURSOR);
+       if (yych <= '@') {
+               if (yych <= '\'') {
+                       if (yych <= '\t') {
+                               if (yych <= 0x08) goto yy55;
+                               goto yy263;
                        } else {
-                               if (yych <= 'C') {
-                                       if (yych == 'A') goto yy72;
-                                       goto yy56;
-                               } else {
-                                       if (yych <= 'D') goto yy73;
-                                       if (yych == 'F') goto yy74;
-                                       goto yy56;
-                               }
+                               if (yych == ' ') goto yy263;
+                               goto yy55;
                        }
                } else {
-                       if (yych <= 'N') {
-                               if (yych <= 'J') {
-                                       if (yych <= 'H') goto yy75;
-                                       if (yych <= 'I') goto yy76;
-                                       goto yy78;
-                               } else {
-                                       if (yych <= 'L') goto yy56;
-                                       if (yych <= 'M') goto yy79;
-                                       goto yy80;
-                               }
+                       if (yych <= '+') {
+                               if (yych <= '(') goto yy267;
+                               if (yych <= '*') goto yy55;
+                               goto yy266;
                        } else {
-                               if (yych <= 'S') {
-                                       if (yych <= 'O') goto yy81;
-                                       if (yych <= 'R') goto yy56;
-                                       goto yy82;
-                               } else {
-                                       if (yych <= 'T') goto yy83;
-                                       if (yych <= 'U') goto yy84;
-                                       if (yych <= 'V') goto yy85;
-                                       goto yy86;
-                               }
+                               if (yych == '-') goto yy266;
+                               goto yy55;
                        }
                }
        } else {
                        }
                }
        }
- yy66:
-       YYDEBUG(66, *YYCURSOR);
-       yych = *++YYCURSOR;
-       if (yych <= '/') goto yy197;
-       if (yych <= '0') goto yy201;
-       if (yych <= '1') goto yy202;
-       if (yych <= '9') goto yy203;
-       goto yy197;
- yy67:
-       YYDEBUG(67, *YYCURSOR);
+ yy265:
+       YYDEBUG(265, *YYCURSOR);
        yych = *++YYCURSOR;
-       if (yych <= '1') {
-               if (yych <= '/') goto yy197;
-               if (yych <= '0') goto yy208;
-               goto yy210;
+       if (yych <= 'L') {
+               if (yych == ')') goto yy261;
+               if (yych <= '@') goto yy256;
+               goto yy272;
        } else {
-               if (yych <= '5') goto yy211;
-               if (yych <= '9') goto yy212;
-               goto yy197;
+               if (yych <= 'Z') {
+                       if (yych <= 'M') goto yy299;
+                       goto yy272;
+               } else {
+                       if (yych <= '`') goto yy256;
+                       if (yych <= 'z') goto yy283;
+                       goto yy256;
+               }
        }
- yy68:
-       YYDEBUG(68, *YYCURSOR);
+ yy266:
+       YYDEBUG(266, *YYCURSOR);
        yych = *++YYCURSOR;
-       switch (yych) {
-       case '0':
-       case '1':
-       case '2':       goto yy213;
-       case '3':       goto yy215;
-       case '4':
-       case '5':
-       case '6':
-       case '7':
-       case '8':
-       case '9':       goto yy216;
-       case 'A':
-       case 'a':       goto yy217;
-       case 'D':
-       case 'd':       goto yy218;
-       case 'F':
-       case 'f':       goto yy219;
-       case 'J':
-       case 'j':       goto yy220;
-       case 'M':
-       case 'm':       goto yy221;
-       case 'N':
-       case 'n':       goto yy222;
-       case 'O':
-       case 'o':       goto yy223;
-       case 'S':
-       case 's':       goto yy224;
-       default:        goto yy56;
-       }
- yy69:
-       YYDEBUG(69, *YYCURSOR);
+       if (yych <= '/') goto yy55;
+       if (yych <= '1') goto yy294;
+       if (yych <= '2') goto yy295;
+       if (yych <= '9') goto yy296;
+       goto yy55;
+ yy267:
+       YYDEBUG(267, *YYCURSOR);
        yych = *++YYCURSOR;
-       if (yych <= '9') {
+       if (yych <= '@') goto yy55;
+       if (yych <= 'Z') goto yy271;
+       if (yych <= '`') goto yy55;
+       if (yych <= 'z') goto yy271;
+       goto yy55;
+ yy268:
+       YYDEBUG(268, *YYCURSOR);
+       yyaccept = 7;
+       yych = *(YYMARKER = ++YYCURSOR);
+       if (yych <= 'L') {
                if (yych <= '-') {
-                       if (yych == '\t') goto yy63;
-                       if (yych <= ',') goto yy65;
-                       goto yy225;
+                       if (yych == ')') goto yy261;
+                       goto yy256;
                } else {
-                       if (yych <= '.') goto yy67;
-                       if (yych <= '/') goto yy68;
-                       if (yych <= '5') goto yy226;
-                       goto yy227;
+                       if (yych <= '.') goto yy277;
+                       if (yych <= '@') goto yy256;
+                       goto yy272;
                }
        } else {
-               if (yych <= 'q') {
-                       if (yych <= ':') goto yy71;
-                       if (yych == 'n') goto yy89;
-                       goto yy65;
+               if (yych <= '`') {
+                       if (yych <= 'M') goto yy278;
+                       if (yych <= 'Z') goto yy272;
+                       goto yy256;
                } else {
-                       if (yych <= 'r') goto yy90;
-                       if (yych <= 's') goto yy91;
-                       if (yych <= 't') goto yy92;
-                       goto yy65;
+                       if (yych == 'm') goto yy293;
+                       if (yych <= 'z') goto yy283;
+                       goto yy256;
                }
        }
- yy70:
-       YYDEBUG(70, *YYCURSOR);
+ yy269:
+       YYDEBUG(269, *YYCURSOR);
        yych = *++YYCURSOR;
-       if (yych <= '9') {
+       if (yych <= '@') {
+               if (yych == ')') goto yy261;
+               goto yy256;
+       } else {
+               if (yych <= 'Z') goto yy272;
+               if (yych <= '`') goto yy256;
+               if (yych <= 'z') goto yy283;
+               goto yy256;
+       }
+ yy270:
+       YYDEBUG(270, *YYCURSOR);
+       yyaccept = 7;
+       yych = *(YYMARKER = ++YYCURSOR);
+       if (yych <= 'L') {
                if (yych <= '-') {
-                       if (yych == '\t') goto yy94;
-                       if (yych <= ',') goto yy96;
-                       goto yy225;
+                       if (yych == ')') goto yy261;
+                       goto yy256;
                } else {
-                       if (yych <= '.') goto yy97;
-                       if (yych <= '/') goto yy68;
-                       if (yych <= '5') goto yy226;
-                       goto yy227;
+                       if (yych <= '.') goto yy277;
+                       if (yych <= '@') goto yy256;
+                       goto yy272;
                }
        } else {
-               if (yych <= 'q') {
-                       if (yych <= ':') goto yy99;
-                       if (yych == 'n') goto yy89;
-                       goto yy96;
+               if (yych <= '`') {
+                       if (yych <= 'M') goto yy278;
+                       if (yych <= 'Z') goto yy272;
+                       goto yy256;
                } else {
-                       if (yych <= 'r') goto yy90;
-                       if (yych <= 's') goto yy91;
-                       if (yych <= 't') goto yy92;
-                       goto yy96;
+                       if (yych == 'm') goto yy278;
+                       if (yych <= 'z') goto yy272;
+                       goto yy256;
                }
        }
- yy71:
-       YYDEBUG(71, *YYCURSOR);
+ yy271:
+       YYDEBUG(271, *YYCURSOR);
        yych = *++YYCURSOR;
-       if (yych <= '/') goto yy56;
-       if (yych <= '5') goto yy228;
-       if (yych <= '9') goto yy229;
-       goto yy56;
- yy72:
-       YYDEBUG(72, *YYCURSOR);
+       if (yych <= '@') {
+               if (yych == ')') goto yy261;
+               goto yy256;
+       } else {
+               if (yych <= 'Z') goto yy272;
+               if (yych <= '`') goto yy256;
+               if (yych >= '{') goto yy256;
+       }
+ yy272:
+       YYDEBUG(272, *YYCURSOR);
        yych = *++YYCURSOR;
-       if (yych <= 'U') {
-               if (yych == 'P') goto yy230;
-               if (yych <= 'T') goto yy56;
-               goto yy231;
+       if (yych <= '@') {
+               if (yych == ')') goto yy261;
+               goto yy256;
        } else {
-               if (yych <= 'p') {
-                       if (yych <= 'o') goto yy56;
-                       goto yy230;
-               } else {
-                       if (yych == 'u') goto yy231;
-                       goto yy56;
-               }
+               if (yych <= 'Z') goto yy273;
+               if (yych <= '`') goto yy256;
+               if (yych >= '{') goto yy256;
        }
- yy73:
-       YYDEBUG(73, *YYCURSOR);
+ yy273:
+       YYDEBUG(273, *YYCURSOR);
        yych = *++YYCURSOR;
-       if (yych <= 'E') {
-               if (yych == 'A') goto yy232;
-               if (yych <= 'D') goto yy56;
-               goto yy233;
+       if (yych <= '@') {
+               if (yych == ')') goto yy261;
+               goto yy256;
        } else {
-               if (yych <= 'a') {
-                       if (yych <= '`') goto yy56;
-                       goto yy232;
-               } else {
-                       if (yych == 'e') goto yy233;
-                       goto yy56;
-               }
+               if (yych <= 'Z') goto yy274;
+               if (yych <= '`') goto yy256;
+               if (yych >= '{') goto yy256;
        }
- yy74:
-       YYDEBUG(74, *YYCURSOR);
+ yy274:
+       YYDEBUG(274, *YYCURSOR);
        yych = *++YYCURSOR;
-       if (yych <= 'R') {
-               if (yych <= 'N') {
-                       if (yych == 'E') goto yy234;
-                       goto yy56;
-               } else {
-                       if (yych <= 'O') goto yy235;
-                       if (yych <= 'Q') goto yy56;
-                       goto yy236;
-               }
+       if (yych <= '@') {
+               if (yych == ')') goto yy261;
+               goto yy256;
        } else {
-               if (yych <= 'n') {
-                       if (yych == 'e') goto yy234;
-                       goto yy56;
-               } else {
-                       if (yych <= 'o') goto yy235;
-                       if (yych == 'r') goto yy236;
-                       goto yy56;
-               }
+               if (yych <= 'Z') goto yy275;
+               if (yych <= '`') goto yy256;
+               if (yych >= '{') goto yy256;
        }
- yy75:
-       YYDEBUG(75, *YYCURSOR);
+ yy275:
+       YYDEBUG(275, *YYCURSOR);
        yych = *++YYCURSOR;
-       if (yych == 'O') goto yy237;
-       if (yych == 'o') goto yy237;
-       goto yy56;
- yy76:
-       YYDEBUG(76, *YYCURSOR);
-       yyaccept = 3;
+       if (yych <= '@') {
+               if (yych == ')') goto yy261;
+               goto yy256;
+       } else {
+               if (yych <= 'Z') goto yy276;
+               if (yych <= '`') goto yy256;
+               if (yych >= '{') goto yy256;
+       }
+ yy276:
+       YYDEBUG(276, *YYCURSOR);
+       yych = *++YYCURSOR;
+       if (yych == ')') goto yy261;
+       goto yy256;
+ yy277:
+       YYDEBUG(277, *YYCURSOR);
+       yych = *++YYCURSOR;
+       if (yych == 'M') goto yy282;
+       if (yych == 'm') goto yy282;
+       goto yy55;
+ yy278:
+       YYDEBUG(278, *YYCURSOR);
+       yyaccept = 7;
        yych = *(YYMARKER = ++YYCURSOR);
-       if (yych <= '/') {
-               if (yych <= 0x1F) {
-                       if (yych == '\t') goto yy238;
+       if (yych <= ')') {
+               if (yych <= '\t') {
+                       if (yych <= 0x00) goto yy280;
+                       if (yych <= 0x08) goto yy256;
+                       goto yy280;
                } else {
-                       if (yych <= ' ') goto yy238;
-                       if (yych <= ',') goto yy77;
-                       if (yych <= '.') goto yy238;
+                       if (yych == ' ') goto yy280;
+                       if (yych <= '(') goto yy256;
+                       goto yy261;
                }
        } else {
-               if (yych <= 'U') {
-                       if (yych <= '9') goto yy240;
-                       if (yych == 'I') goto yy242;
+               if (yych <= '@') {
+                       if (yych != '.') goto yy256;
                } else {
-                       if (yych == 'W') goto yy77;
-                       if (yych <= 'X') goto yy243;
+                       if (yych <= 'Z') goto yy273;
+                       if (yych <= '`') goto yy256;
+                       if (yych <= 'z') goto yy273;
+                       goto yy256;
                }
        }
- yy77:
-       YYDEBUG(77, *YYCURSOR);
- #line 1491 "parse_date.re"
+ yy279:
+       YYDEBUG(279, *YYCURSOR);
+       yych = *++YYCURSOR;
+       if (yych <= '\t') {
+               if (yych <= 0x00) goto yy280;
+               if (yych <= 0x08) goto yy55;
+       } else {
+               if (yych != ' ') goto yy55;
+       }
+ yy280:
+       YYDEBUG(280, *YYCURSOR);
+       ++YYCURSOR;
+       YYDEBUG(281, *YYCURSOR);
 -#line 1733 "parse_date.re"
++#line 1755 "parse_date.re"
        {
-               DEBUG_OUTPUT("datenoyearrev");
+               DEBUG_OUTPUT("dateshortwithtimeshort12 | dateshortwithtimelong12");
                TIMELIB_INIT;
                TIMELIB_HAVE_DATE();
-               s->time->d = timelib_get_nr(&ptr, 2);
-               timelib_skip_day_suffix(&ptr);
 -              s->time->m = timelib_get_month((char **) &ptr);
 -              s->time->d = timelib_get_nr((char **) &ptr, 2);
 +              s->time->m = timelib_get_month(&ptr);
++              s->time->d = timelib_get_nr(&ptr, 2);
+               TIMELIB_HAVE_TIME();
 -              s->time->h = timelib_get_nr((char **) &ptr, 2);
 -              s->time->i = timelib_get_nr((char **) &ptr, 2);
++              s->time->h = timelib_get_nr(&ptr, 2);
++              s->time->i = timelib_get_nr(&ptr, 2);
+               if (*ptr == ':' || *ptr == '.') {
 -                      s->time->s = timelib_get_nr((char **) &ptr, 2);
++                      s->time->s = timelib_get_nr(&ptr, 2);
+                       if (*ptr == '.') {
 -                              s->time->us = timelib_get_frac_nr((char **) &ptr, 8);
++                              s->time->us = timelib_get_frac_nr(&ptr, 8);
+                       }
+               }
 -              s->time->h += timelib_meridian((char **) &ptr, s->time->h);
++              s->time->h += timelib_meridian(&ptr, s->time->h);
                TIMELIB_DEINIT;
-               return TIMELIB_DATE_TEXT;
+               return TIMELIB_SHORTDATE_WITH_TIME;
        }
- #line 3344 "<stdout>"
- yy78:
-       YYDEBUG(78, *YYCURSOR);
 -#line 5244 "<stdout>"
++#line 5243 "<stdout>"
+ yy282:
+       YYDEBUG(282, *YYCURSOR);
        yych = *++YYCURSOR;
-       if (yych <= 'U') {
-               if (yych == 'A') goto yy244;
-               if (yych <= 'T') goto yy56;
-               goto yy245;
+       if (yych <= 0x1F) {
+               if (yych <= 0x00) goto yy280;
+               if (yych == '\t') goto yy280;
+               goto yy55;
+       } else {
+               if (yych <= ' ') goto yy280;
+               if (yych == '.') goto yy279;
+               goto yy55;
+       }
+ yy283:
+       YYDEBUG(283, *YYCURSOR);
+       yyaccept = 7;
+       yych = *(YYMARKER = ++YYCURSOR);
+       if (yych <= '/') {
+               if (yych <= ',') {
+                       if (yych == ')') goto yy261;
+                       goto yy256;
+               } else {
+                       if (yych == '.') goto yy256;
+                       goto yy285;
+               }
        } else {
-               if (yych <= 'a') {
-                       if (yych <= '`') goto yy56;
-                       goto yy244;
+               if (yych <= '^') {
+                       if (yych <= '@') goto yy256;
+                       if (yych <= 'Z') goto yy273;
+                       goto yy256;
                } else {
-                       if (yych == 'u') goto yy245;
-                       goto yy56;
+                       if (yych <= '_') goto yy285;
+                       if (yych <= '`') goto yy256;
+                       if (yych >= '{') goto yy256;
                }
        }
- yy79:
-       YYDEBUG(79, *YYCURSOR);
-       yych = *++YYCURSOR;
-       if (yych <= 'S') {
-               if (yych <= 'I') {
-                       if (yych == 'A') goto yy246;
-                       if (yych <= 'H') goto yy56;
-                       goto yy247;
+ yy284:
+       YYDEBUG(284, *YYCURSOR);
+       yyaccept = 7;
+       yych = *(YYMARKER = ++YYCURSOR);
+       if (yych <= '/') {
+               if (yych <= ',') {
+                       if (yych == ')') goto yy261;
+                       goto yy256;
                } else {
-                       if (yych == 'O') goto yy248;
-                       if (yych <= 'R') goto yy56;
-                       goto yy249;
+                       if (yych == '.') goto yy256;
                }
        } else {
-               if (yych <= 'i') {
-                       if (yych == 'a') goto yy246;
-                       if (yych <= 'h') goto yy56;
-                       goto yy247;
+               if (yych <= '^') {
+                       if (yych <= '@') goto yy256;
+                       if (yych <= 'Z') goto yy274;
+                       goto yy256;
                } else {
-                       if (yych <= 'o') {
-                               if (yych <= 'n') goto yy56;
-                               goto yy248;
-                       } else {
-                               if (yych == 's') goto yy249;
-                               goto yy56;
-                       }
+                       if (yych <= '_') goto yy285;
+                       if (yych <= '`') goto yy256;
+                       if (yych <= 'z') goto yy288;
+                       goto yy256;
                }
        }
- yy80:
-       YYDEBUG(80, *YYCURSOR);
-       yych = *++YYCURSOR;
-       if (yych == 'O') goto yy251;
-       if (yych == 'o') goto yy251;
-       goto yy56;
- yy81:
-       YYDEBUG(81, *YYCURSOR);
-       yych = *++YYCURSOR;
-       if (yych == 'C') goto yy252;
-       if (yych == 'c') goto yy252;
-       goto yy56;
- yy82:
-       YYDEBUG(82, *YYCURSOR);
-       yych = *++YYCURSOR;
-       if (yych <= 'U') {
-               if (yych <= 'D') {
-                       if (yych == 'A') goto yy253;
-                       goto yy56;
+ yy285:
+       YYDEBUG(285, *YYCURSOR);
+       ++YYCURSOR;
+       if (YYLIMIT <= YYCURSOR) YYFILL(1);
+       yych = *YYCURSOR;
+       if (yych <= '@') goto yy55;
+       if (yych <= 'Z') goto yy286;
+       if (yych <= '`') goto yy55;
+       if (yych >= '{') goto yy55;
+ yy286:
+       YYDEBUG(286, *YYCURSOR);
+       yyaccept = 7;
+       YYMARKER = ++YYCURSOR;
+       if (YYLIMIT <= YYCURSOR) YYFILL(1);
+       yych = *YYCURSOR;
+       YYDEBUG(287, *YYCURSOR);
+       if (yych <= '@') {
+               if (yych <= '-') {
+                       if (yych <= ',') goto yy256;
+                       goto yy285;
                } else {
-                       if (yych <= 'E') goto yy254;
-                       if (yych <= 'T') goto yy56;
-                       goto yy255;
+                       if (yych == '/') goto yy285;
+                       goto yy256;
                }
        } else {
-               if (yych <= 'd') {
-                       if (yych == 'a') goto yy253;
-                       goto yy56;
+               if (yych <= '_') {
+                       if (yych <= 'Z') goto yy286;
+                       if (yych <= '^') goto yy256;
+                       goto yy285;
                } else {
-                       if (yych <= 'e') goto yy254;
-                       if (yych == 'u') goto yy255;
-                       goto yy56;
-               }
-       }
- yy83:
-       YYDEBUG(83, *YYCURSOR);
-       yych = *++YYCURSOR;
-       if (yych <= 'U') {
-               if (yych == 'H') goto yy256;
-               if (yych <= 'T') goto yy56;
-               goto yy257;
-       } else {
-               if (yych <= 'h') {
-                       if (yych <= 'g') goto yy56;
+                       if (yych <= '`') goto yy256;
+                       if (yych <= 'z') goto yy286;
                        goto yy256;
-               } else {
-                       if (yych == 'u') goto yy257;
-                       goto yy56;
                }
        }
- yy84:
-       YYDEBUG(84, *YYCURSOR);
-       yych = *++YYCURSOR;
-       if (yych == 'S') goto yy258;
-       if (yych == 's') goto yy258;
-       goto yy56;
- yy85:
-       YYDEBUG(85, *YYCURSOR);
-       yyaccept = 3;
+ yy288:
+       YYDEBUG(288, *YYCURSOR);
+       yyaccept = 7;
        yych = *(YYMARKER = ++YYCURSOR);
-       if (yych <= ',') {
-               if (yych <= '\t') {
-                       if (yych <= 0x08) goto yy77;
-                       goto yy238;
+       if (yych <= '/') {
+               if (yych <= ',') {
+                       if (yych == ')') goto yy261;
+                       goto yy256;
                } else {
-                       if (yych == ' ') goto yy238;
-                       goto yy77;
+                       if (yych == '.') goto yy256;
+                       goto yy285;
                }
        } else {
-               if (yych <= '9') {
-                       if (yych <= '.') goto yy238;
-                       if (yych <= '/') goto yy77;
-                       goto yy240;
+               if (yych <= '^') {
+                       if (yych <= '@') goto yy256;
+                       if (yych <= 'Z') goto yy275;
+                       goto yy256;
                } else {
-                       if (yych == 'I') goto yy87;
-                       goto yy77;
+                       if (yych <= '_') goto yy285;
+                       if (yych <= '`') goto yy256;
+                       if (yych >= '{') goto yy256;
                }
        }
- yy86:
-       YYDEBUG(86, *YYCURSOR);
-       yych = *++YYCURSOR;
-       if (yych == 'E') goto yy259;
-       if (yych == 'e') goto yy259;
-       goto yy56;
- yy87:
-       YYDEBUG(87, *YYCURSOR);
-       yyaccept = 3;
+       YYDEBUG(289, *YYCURSOR);
+       yyaccept = 7;
        yych = *(YYMARKER = ++YYCURSOR);
-       if (yych <= ',') {
-               if (yych <= '\t') {
-                       if (yych <= 0x08) goto yy77;
-                       goto yy238;
+       if (yych <= '/') {
+               if (yych <= ',') {
+                       if (yych == ')') goto yy261;
+                       goto yy256;
                } else {
-                       if (yych == ' ') goto yy238;
-                       goto yy77;
+                       if (yych == '.') goto yy256;
+                       goto yy285;
                }
        } else {
-               if (yych <= '9') {
-                       if (yych <= '.') goto yy238;
-                       if (yych <= '/') goto yy77;
-                       goto yy240;
+               if (yych <= '^') {
+                       if (yych <= '@') goto yy256;
+                       if (yych <= 'Z') goto yy276;
+                       goto yy256;
                } else {
-                       if (yych == 'I') goto yy242;
-                       goto yy77;
+                       if (yych <= '_') goto yy285;
+                       if (yych <= '`') goto yy256;
+                       if (yych >= '{') goto yy256;
                }
        }
- yy88:
-       YYDEBUG(88, *YYCURSOR);
-       yych = *++YYCURSOR;
-       if (yych == 'E') goto yy260;
-       if (yych == 'e') goto yy260;
-       goto yy56;
- yy89:
-       YYDEBUG(89, *YYCURSOR);
-       yych = *++YYCURSOR;
-       if (yych <= 'c') {
-               if (yych == 'O') goto yy251;
-               goto yy56;
-       } else {
-               if (yych <= 'd') goto yy261;
-               if (yych == 'o') goto yy251;
-               goto yy56;
-       }
- yy90:
-       YYDEBUG(90, *YYCURSOR);
-       yych = *++YYCURSOR;
-       if (yych == 'd') goto yy261;
-       goto yy56;
- yy91:
-       YYDEBUG(91, *YYCURSOR);
-       yych = *++YYCURSOR;
-       if (yych <= '`') {
-               if (yych <= 'D') {
-                       if (yych == 'A') goto yy253;
-                       goto yy56;
+       YYDEBUG(290, *YYCURSOR);
+       yyaccept = 7;
+       yych = *(YYMARKER = ++YYCURSOR);
+       if (yych <= '.') {
+               if (yych <= ')') {
+                       if (yych <= '(') goto yy256;
+                       goto yy261;
                } else {
-                       if (yych <= 'E') goto yy254;
-                       if (yych == 'U') goto yy255;
-                       goto yy56;
+                       if (yych == '-') goto yy285;
+                       goto yy256;
                }
        } else {
-               if (yych <= 'e') {
-                       if (yych <= 'a') goto yy253;
-                       if (yych <= 'd') goto yy56;
-                       goto yy254;
+               if (yych <= '_') {
+                       if (yych <= '/') goto yy285;
+                       if (yych <= '^') goto yy256;
+                       goto yy285;
                } else {
-                       if (yych <= 's') goto yy56;
-                       if (yych <= 't') goto yy261;
-                       if (yych <= 'u') goto yy255;
-                       goto yy56;
+                       if (yych <= '`') goto yy256;
+                       if (yych >= '{') goto yy256;
                }
        }
- yy92:
-       YYDEBUG(92, *YYCURSOR);
-       yych = *++YYCURSOR;
-       if (yych <= 'U') {
-               if (yych == 'H') goto yy256;
-               if (yych <= 'T') goto yy56;
-               goto yy257;
+ yy291:
+       YYDEBUG(291, *YYCURSOR);
+       ++YYCURSOR;
+       if (YYLIMIT <= YYCURSOR) YYFILL(1);
+       yych = *YYCURSOR;
+       YYDEBUG(292, *YYCURSOR);
+       if (yych <= '/') {
+               if (yych == '-') goto yy285;
+               if (yych <= '.') goto yy55;
+               goto yy285;
        } else {
-               if (yych <= 'h') {
-                       if (yych <= 'g') goto yy56;
-                       goto yy262;
+               if (yych <= '_') {
+                       if (yych <= '^') goto yy55;
+                       goto yy285;
                } else {
-                       if (yych == 'u') goto yy257;
-                       goto yy56;
+                       if (yych <= '`') goto yy55;
+                       if (yych <= 'z') goto yy291;
+                       goto yy55;
                }
        }
- yy93:
-       YYDEBUG(93, *YYCURSOR);
-       yych = *++YYCURSOR;
-       if (yych == 0xB5) goto yy263;
-       goto yy56;
- yy94:
-       YYDEBUG(94, *YYCURSOR);
-       yych = *++YYCURSOR;
-       if (yych <= '/') goto yy96;
-       if (yych <= '0') goto yy198;
-       if (yych <= '1') goto yy199;
-       if (yych <= '9') goto yy200;
-       goto yy96;
- yy95:
-       YYDEBUG(95, *YYCURSOR);
-       ++YYCURSOR;
-       if ((YYLIMIT - YYCURSOR) < 13) YYFILL(13);
-       yych = *YYCURSOR;
- yy96:
-       YYDEBUG(96, *YYCURSOR);
-       if (yych <= 'W') {
-               if (yych <= 'G') {
-                       if (yych <= '.') {
-                               if (yych <= 0x1F) {
-                                       if (yych == '\t') goto yy95;
-                                       goto yy56;
-                               } else {
-                                       if (yych <= ' ') goto yy95;
-                                       if (yych <= ',') goto yy56;
-                                       goto yy196;
-                               }
-                       } else {
-                               if (yych <= 'C') {
-                                       if (yych == 'A') goto yy100;
-                                       goto yy56;
-                               } else {
-                                       if (yych <= 'D') goto yy73;
-                                       if (yych == 'F') goto yy74;
-                                       goto yy56;
-                               }
-                       }
+ yy293:
+       YYDEBUG(293, *YYCURSOR);
+       yyaccept = 7;
+       yych = *(YYMARKER = ++YYCURSOR);
+       if (yych <= '-') {
+               if (yych <= 0x1F) {
+                       if (yych <= 0x00) goto yy280;
+                       if (yych == '\t') goto yy280;
+                       goto yy256;
                } else {
-                       if (yych <= 'O') {
-                               if (yych <= 'J') {
-                                       if (yych <= 'H') goto yy75;
-                                       if (yych <= 'I') goto yy76;
-                                       goto yy78;
-                               } else {
-                                       if (yych <= 'L') goto yy56;
-                                       if (yych <= 'M') goto yy79;
-                                       if (yych <= 'N') goto yy80;
-                                       goto yy81;
-                               }
+                       if (yych <= '(') {
+                               if (yych <= ' ') goto yy280;
+                               goto yy256;
                        } else {
-                               if (yych <= 'S') {
-                                       if (yych <= 'P') goto yy101;
-                                       if (yych <= 'R') goto yy56;
-                                       goto yy82;
-                               } else {
-                                       if (yych <= 'T') goto yy83;
-                                       if (yych <= 'U') goto yy84;
-                                       if (yych <= 'V') goto yy85;
-                                       goto yy86;
-                               }
+                               if (yych <= ')') goto yy261;
+                               if (yych <= ',') goto yy256;
+                               goto yy285;
                        }
                }
        } else {
                        }
                }
        }
- yy97:
-       YYDEBUG(97, *YYCURSOR);
+ yy294:
+       YYDEBUG(294, *YYCURSOR);
        yych = *++YYCURSOR;
-       if (yych <= '1') {
-               if (yych <= '/') goto yy197;
-               if (yych <= '0') goto yy264;
-               goto yy265;
+       if (yych <= '/') goto yy256;
+       if (yych <= '9') goto yy296;
+       if (yych <= ':') goto yy297;
+       goto yy256;
+ yy295:
+       YYDEBUG(295, *YYCURSOR);
+       yych = *++YYCURSOR;
+       if (yych <= '5') {
+               if (yych <= '/') goto yy256;
+               if (yych >= '5') goto yy298;
        } else {
-               if (yych <= '5') goto yy266;
-               if (yych <= '9') goto yy267;
-               goto yy197;
+               if (yych <= '9') goto yy261;
+               if (yych <= ':') goto yy297;
+               goto yy256;
        }
- yy98:
-       YYDEBUG(98, *YYCURSOR);
+ yy296:
+       YYDEBUG(296, *YYCURSOR);
        yych = *++YYCURSOR;
-       if (yych <= '9') {
-               if (yych <= '-') {
-                       if (yych == '\t') goto yy63;
-                       if (yych <= ',') goto yy65;
-                       goto yy225;
+       if (yych <= '/') goto yy256;
+       if (yych <= '5') goto yy298;
+       if (yych <= '9') goto yy261;
+       if (yych >= ';') goto yy256;
+ yy297:
+       YYDEBUG(297, *YYCURSOR);
+       yych = *++YYCURSOR;
+       if (yych <= '/') goto yy256;
+       if (yych <= '5') goto yy298;
+       if (yych <= '9') goto yy261;
+       goto yy256;
+ yy298:
+       YYDEBUG(298, *YYCURSOR);
+       yych = *++YYCURSOR;
+       if (yych <= '/') goto yy256;
+       if (yych <= '9') goto yy261;
+       goto yy256;
+ yy299:
+       YYDEBUG(299, *YYCURSOR);
+       yych = *++YYCURSOR;
+       if (yych <= 'S') {
+               if (yych == ')') goto yy261;
+               if (yych <= '@') goto yy256;
+               goto yy273;
+       } else {
+               if (yych <= 'Z') {
+                       if (yych >= 'U') goto yy273;
+               } else {
+                       if (yych <= '`') goto yy256;
+                       if (yych <= 'z') goto yy273;
+                       goto yy256;
+               }
+       }
+       YYDEBUG(300, *YYCURSOR);
+       yyaccept = 7;
+       yych = *(YYMARKER = ++YYCURSOR);
+       if (yych <= ',') {
+               if (yych <= ')') {
+                       if (yych <= '(') goto yy256;
+                       goto yy261;
                } else {
-                       if (yych <= '.') goto yy67;
-                       if (yych <= '/') goto yy268;
-                       if (yych <= '5') goto yy226;
-                       goto yy227;
+                       if (yych == '+') goto yy266;
+                       goto yy256;
                }
        } else {
-               if (yych <= 'q') {
-                       if (yych <= ':') goto yy71;
-                       if (yych == 'n') goto yy89;
-                       goto yy65;
+               if (yych <= 'Z') {
+                       if (yych <= '-') goto yy266;
+                       if (yych <= '@') goto yy256;
+                       goto yy274;
                } else {
-                       if (yych <= 'r') goto yy90;
-                       if (yych <= 's') goto yy91;
-                       if (yych <= 't') goto yy92;
-                       goto yy65;
+                       if (yych <= '`') goto yy256;
+                       if (yych <= 'z') goto yy274;
+                       goto yy256;
                }
        }
- yy99:
-       YYDEBUG(99, *YYCURSOR);
-       yych = *++YYCURSOR;
-       if (yych <= '/') goto yy56;
-       if (yych <= '5') goto yy269;
-       if (yych <= '9') goto yy270;
-       goto yy56;
- yy100:
-       YYDEBUG(100, *YYCURSOR);
-       yych = *++YYCURSOR;
-       if (yych <= 'T') {
-               if (yych <= 'L') {
-                       if (yych == '.') goto yy271;
-                       goto yy56;
+ yy301:
+       YYDEBUG(301, *YYCURSOR);
+       yyaccept = 7;
+       yych = *(YYMARKER = ++YYCURSOR);
+       if (yych <= ':') {
+               if (yych <= ' ') {
+                       if (yych == '\t') goto yy302;
+                       if (yych <= 0x1F) goto yy256;
+               } else {
+                       if (yych == '.') goto yy258;
+                       if (yych <= '9') goto yy256;
+                       goto yy258;
+               }
+       } else {
+               if (yych <= 'P') {
+                       if (yych == 'A') goto yy304;
+                       if (yych <= 'O') goto yy256;
+                       goto yy304;
+               } else {
+                       if (yych <= 'a') {
+                               if (yych <= '`') goto yy256;
+                               goto yy304;
+                       } else {
+                               if (yych == 'p') goto yy304;
+                               goto yy256;
+                       }
+               }
+       }
+ yy302:
+       YYDEBUG(302, *YYCURSOR);
+       ++YYCURSOR;
+       if ((YYLIMIT - YYCURSOR) < 5) YYFILL(5);
+       yych = *YYCURSOR;
+       YYDEBUG(303, *YYCURSOR);
+       if (yych <= 'A') {
+               if (yych <= 0x1F) {
+                       if (yych == '\t') goto yy302;
+                       goto yy55;
                } else {
-                       if (yych <= 'M') goto yy272;
-                       if (yych == 'P') goto yy230;
-                       goto yy56;
+                       if (yych <= ' ') goto yy302;
+                       if (yych <= '@') goto yy55;
                }
        } else {
-               if (yych <= 'o') {
-                       if (yych <= 'U') goto yy231;
-                       if (yych == 'm') goto yy272;
-                       goto yy56;
+               if (yych <= '`') {
+                       if (yych != 'P') goto yy55;
                } else {
-                       if (yych <= 'p') goto yy230;
-                       if (yych == 'u') goto yy231;
-                       goto yy56;
+                       if (yych <= 'a') goto yy304;
+                       if (yych != 'p') goto yy55;
                }
        }
- yy101:
-       YYDEBUG(101, *YYCURSOR);
+ yy304:
+       YYDEBUG(304, *YYCURSOR);
        yych = *++YYCURSOR;
        if (yych <= 'L') {
-               if (yych == '.') goto yy271;
-               goto yy56;
+               if (yych != '.') goto yy55;
        } else {
-               if (yych <= 'M') goto yy272;
-               if (yych == 'm') goto yy272;
-               goto yy56;
+               if (yych <= 'M') goto yy306;
+               if (yych == 'm') goto yy306;
+               goto yy55;
        }
- yy102:
-       YYDEBUG(102, *YYCURSOR);
+       YYDEBUG(305, *YYCURSOR);
        yych = *++YYCURSOR;
-       if (yych <= '9') {
-               if (yych <= ',') {
-                       if (yych == '\t') goto yy63;
-                       goto yy65;
-               } else {
-                       if (yych <= '-') goto yy225;
-                       if (yych <= '.') goto yy273;
-                       if (yych <= '/') goto yy268;
-                       goto yy227;
-               }
+       if (yych == 'M') goto yy306;
+       if (yych != 'm') goto yy55;
+ yy306:
+       YYDEBUG(306, *YYCURSOR);
+       yych = *++YYCURSOR;
+       if (yych <= 0x1F) {
+               if (yych <= 0x00) goto yy280;
+               if (yych == '\t') goto yy280;
+               goto yy55;
        } else {
-               if (yych <= 'q') {
-                       if (yych == 'n') goto yy89;
-                       goto yy65;
-               } else {
-                       if (yych <= 'r') goto yy90;
-                       if (yych <= 's') goto yy91;
-                       if (yych <= 't') goto yy92;
-                       goto yy65;
-               }
+               if (yych <= ' ') goto yy280;
+               if (yych != '.') goto yy55;
        }
- yy103:
-       YYDEBUG(103, *YYCURSOR);
-       yych = *++YYCURSOR;
-       if (yych == '-') goto yy274;
-       if (yych <= '/') goto yy186;
-       if (yych <= '9') goto yy227;
-       goto yy186;
- yy104:
-       YYDEBUG(104, *YYCURSOR);
+       YYDEBUG(307, *YYCURSOR);
        yych = *++YYCURSOR;
-       if (yybm[0+yych] & 8) {
-               goto yy105;
-       }
-       goto yy56;
- yy105:
-       YYDEBUG(105, *YYCURSOR);
-       ++YYCURSOR;
-       if ((YYLIMIT - YYCURSOR) < 7) YYFILL(7);
-       yych = *YYCURSOR;
-       YYDEBUG(106, *YYCURSOR);
-       if (yybm[0+yych] & 8) {
-               goto yy105;
-       }
-       if (yych == '.') goto yy275;
-       YYDEBUG(107, *YYCURSOR);
- #line 1076 "parse_date.re"
-       {
-               timelib_ull i;
-               TIMELIB_INIT;
-               TIMELIB_HAVE_RELATIVE();
-               TIMELIB_UNHAVE_DATE();
-               TIMELIB_UNHAVE_TIME();
-               TIMELIB_HAVE_TZ();
-               i = timelib_get_unsigned_nr(&ptr, 24);
-               s->time->y = 1970;
-               s->time->m = 1;
-               s->time->d = 1;
-               s->time->h = s->time->i = s->time->s = 0;
-               s->time->us = 0;
-               s->time->relative.s += i;
-               s->time->is_localtime = 1;
-               s->time->zone_type = TIMELIB_ZONETYPE_OFFSET;
-               s->time->z = 0;
-               s->time->dst = 0;
-               TIMELIB_DEINIT;
-               return TIMELIB_RELATIVE;
+       if (yych <= '\t') {
+               if (yych <= 0x00) goto yy280;
+               if (yych <= 0x08) goto yy55;
+               goto yy280;
+       } else {
+               if (yych == ' ') goto yy280;
+               goto yy55;
        }
- #line 3823 "<stdout>"
- yy108:
-       YYDEBUG(108, *YYCURSOR);
-       ++YYCURSOR;
-       goto yy18;
- yy109:
-       YYDEBUG(109, *YYCURSOR);
+ yy308:
+       YYDEBUG(308, *YYCURSOR);
        yych = *++YYCURSOR;
-       if (yych <= '@') {
-               if (yych == ')') goto yy108;
-               goto yy18;
+       if (yych == '.') goto yy309;
+       if (yych != ':') goto yy55;
+ yy309:
+       YYDEBUG(309, *YYCURSOR);
+       yych = *++YYCURSOR;
+       if (yych <= '/') goto yy55;
+       if (yych <= '5') goto yy310;
+       if (yych <= '9') goto yy311;
+       goto yy55;
+ yy310:
+       YYDEBUG(310, *YYCURSOR);
+       yyaccept = 7;
+       yych = *(YYMARKER = ++YYCURSOR);
+       if (yych <= '/') {
+               if (yych == '.') goto yy312;
+               goto yy256;
        } else {
-               if (yych <= 'Z') goto yy277;
-               if (yych <= '`') goto yy18;
-               if (yych <= 'z') goto yy277;
-               goto yy18;
+               if (yych <= '9') goto yy311;
+               if (yych <= ':') goto yy312;
+               goto yy256;
        }
- yy110:
-       YYDEBUG(110, *YYCURSOR);
+ yy311:
+       YYDEBUG(311, *YYCURSOR);
+       yyaccept = 7;
+       yych = *(YYMARKER = ++YYCURSOR);
+       if (yych == '.') goto yy312;
+       if (yych != ':') goto yy256;
+ yy312:
+       YYDEBUG(312, *YYCURSOR);
        yych = *++YYCURSOR;
-       if (yych <= 'O') {
-               if (yych <= ')') {
-                       if (yych <= '(') goto yy18;
-                       goto yy108;
+       if (yych <= '/') goto yy55;
+       if (yych <= '5') goto yy313;
+       if (yych <= '6') goto yy314;
+       if (yych <= '9') goto yy261;
+       goto yy55;
+ yy313:
+       YYDEBUG(313, *YYCURSOR);
+       yych = *++YYCURSOR;
+       if (yych <= '/') goto yy256;
+       if (yych <= '9') goto yy315;
+       goto yy256;
+ yy314:
+       YYDEBUG(314, *YYCURSOR);
+       yych = *++YYCURSOR;
+       if (yych != '0') goto yy256;
+ yy315:
+       YYDEBUG(315, *YYCURSOR);
+       yyaccept = 7;
+       yych = *(YYMARKER = ++YYCURSOR);
+       if (yych <= '*') {
+               if (yych <= 0x1F) {
+                       if (yych == '\t') goto yy317;
+                       goto yy256;
                } else {
-                       if (yych <= '@') goto yy18;
-                       if (yych <= 'N') goto yy277;
-                       goto yy278;
+                       if (yych <= ' ') goto yy317;
+                       if (yych == '(') goto yy317;
+                       goto yy256;
                }
        } else {
-               if (yych <= 'n') {
-                       if (yych <= 'Z') goto yy277;
-                       if (yych <= '`') goto yy18;
-                       goto yy277;
+               if (yych <= '@') {
+                       if (yych == ',') goto yy256;
+                       if (yych <= '-') goto yy317;
+                       goto yy256;
                } else {
-                       if (yych <= 'o') goto yy278;
-                       if (yych <= 'z') goto yy277;
-                       goto yy18;
+                       if (yych <= 'Z') goto yy317;
+                       if (yych <= '`') goto yy256;
+                       if (yych <= 'z') goto yy317;
+                       goto yy256;
                }
        }
- yy111:
-       YYDEBUG(111, *YYCURSOR);
-       yych = *++YYCURSOR;
-       if (yych <= 'R') {
-               if (yych <= ')') {
-                       if (yych <= '(') goto yy18;
-                       goto yy108;
+ yy316:
+       YYDEBUG(316, *YYCURSOR);
+       ++YYCURSOR;
+       if ((YYLIMIT - YYCURSOR) < 9) YYFILL(9);
+       yych = *YYCURSOR;
+ yy317:
+       YYDEBUG(317, *YYCURSOR);
+       if (yych <= '+') {
+               if (yych <= ' ') {
+                       if (yych == '\t') goto yy316;
+                       if (yych <= 0x1F) goto yy55;
+                       goto yy316;
                } else {
-                       if (yych <= '@') goto yy18;
-                       if (yych <= 'Q') goto yy277;
-                       goto yy280;
+                       if (yych == '(') goto yy267;
+                       if (yych <= '*') goto yy55;
+                       goto yy266;
                }
        } else {
-               if (yych <= 'q') {
-                       if (yych <= 'Z') goto yy277;
-                       if (yych <= '`') goto yy18;
-                       goto yy277;
+               if (yych <= 'F') {
+                       if (yych == '-') goto yy266;
+                       if (yych <= '@') goto yy55;
+                       goto yy269;
                } else {
-                       if (yych <= 'r') goto yy280;
-                       if (yych <= 'z') goto yy277;
-                       goto yy18;
+                       if (yych <= 'Z') {
+                               if (yych <= 'G') goto yy265;
+                               goto yy269;
+                       } else {
+                               if (yych <= '`') goto yy55;
+                               if (yych <= 'z') goto yy271;
+                               goto yy55;
+                       }
                }
        }
- yy112:
-       YYDEBUG(112, *YYCURSOR);
+ yy318:
+       YYDEBUG(318, *YYCURSOR);
        yych = *++YYCURSOR;
-       if (yych <= 'G') {
-               if (yych <= ')') {
-                       if (yych <= '(') goto yy18;
-                       goto yy108;
-               } else {
-                       if (yych <= '@') goto yy18;
-                       if (yych <= 'F') goto yy277;
-                       goto yy282;
-               }
+       if (yych <= '/') {
+               if (yych == '.') goto yy309;
+               goto yy55;
        } else {
-               if (yych <= 'f') {
-                       if (yych <= 'Z') goto yy277;
-                       if (yych <= '`') goto yy18;
-                       goto yy277;
-               } else {
-                       if (yych <= 'g') goto yy282;
-                       if (yych <= 'z') goto yy277;
-                       goto yy18;
-               }
+               if (yych <= '9') goto yy308;
+               if (yych <= ':') goto yy309;
+               goto yy55;
        }
- yy113:
-       YYDEBUG(113, *YYCURSOR);
-       yyaccept = 2;
+ yy319:
+       YYDEBUG(319, *YYCURSOR);
+       yych = *++YYCURSOR;
+       if (yych <= '/') {
+               if (yych == '.') goto yy309;
+               goto yy55;
+       } else {
+               if (yych <= '4') goto yy308;
+               if (yych == ':') goto yy309;
+               goto yy55;
+       }
+ yy320:
+       YYDEBUG(320, *YYCURSOR);
+       yyaccept = 6;
        yych = *(YYMARKER = ++YYCURSOR);
        if (yych <= '/') {
-               if (yych <= ',') {
-                       if (yych == ')') goto yy108;
-                       goto yy18;
-               } else {
-                       if (yych == '.') goto yy18;
-                       goto yy283;
-               }
+               if (yych == '.') goto yy309;
+               goto yy242;
        } else {
-               if (yych <= '^') {
-                       if (yych <= '@') goto yy18;
-                       if (yych <= 'Z') goto yy277;
-                       goto yy18;
-               } else {
-                       if (yych <= '_') goto yy283;
-                       if (yych <= '`') goto yy18;
-                       if (yych <= 'z') goto yy284;
-                       goto yy18;
-               }
+               if (yych <= '0') goto yy327;
+               if (yych <= '9') goto yy328;
+               if (yych <= ':') goto yy309;
+               goto yy242;
        }
- yy114:
-       YYDEBUG(114, *YYCURSOR);
-       yyaccept = 2;
+ yy321:
+       YYDEBUG(321, *YYCURSOR);
+       yyaccept = 6;
        yych = *(YYMARKER = ++YYCURSOR);
-       if (yych <= 'N') {
-               if (yych <= '-') {
-                       if (yych == ')') goto yy108;
-                       if (yych <= ',') goto yy18;
-                       goto yy283;
-               } else {
-                       if (yych == '/') goto yy283;
-                       if (yych <= '@') goto yy18;
-                       goto yy277;
-               }
+       if (yych <= '/') {
+               if (yych == '.') goto yy254;
+               goto yy242;
        } else {
-               if (yych <= '_') {
-                       if (yych <= 'O') goto yy278;
-                       if (yych <= 'Z') goto yy277;
-                       if (yych <= '^') goto yy18;
-                       goto yy283;
-               } else {
-                       if (yych <= 'n') {
-                               if (yych <= '`') goto yy18;
-                               goto yy284;
-                       } else {
-                               if (yych <= 'o') goto yy285;
-                               if (yych <= 'z') goto yy284;
-                               goto yy18;
-                       }
-               }
+               if (yych <= '2') goto yy328;
+               if (yych <= '9') goto yy327;
+               if (yych <= ':') goto yy254;
+               goto yy242;
        }
- yy115:
-       YYDEBUG(115, *YYCURSOR);
-       yyaccept = 2;
+ yy322:
+       YYDEBUG(322, *YYCURSOR);
+       yyaccept = 6;
        yych = *(YYMARKER = ++YYCURSOR);
-       if (yych <= 'Q') {
-               if (yych <= '-') {
-                       if (yych == ')') goto yy108;
-                       if (yych <= ',') goto yy18;
-                       goto yy283;
+       if (yych <= '/') {
+               if (yych == '.') goto yy254;
+               goto yy242;
+       } else {
+               if (yych <= '4') goto yy327;
+               if (yych <= '9') goto yy324;
+               if (yych <= ':') goto yy254;
+               goto yy242;
+       }
+ yy323:
+       YYDEBUG(323, *YYCURSOR);
+       yyaccept = 6;
+       yych = *(YYMARKER = ++YYCURSOR);
+       if (yych <= '/') {
+               if (yych == '.') goto yy254;
+               goto yy242;
+       } else {
+               if (yych <= '9') goto yy324;
+               if (yych <= ':') goto yy254;
+               goto yy242;
+       }
+ yy324:
+       YYDEBUG(324, *YYCURSOR);
+       yych = *++YYCURSOR;
+       if (yych <= '/') goto yy242;
+       if (yych >= ':') goto yy242;
+ yy325:
+       YYDEBUG(325, *YYCURSOR);
+       yych = *++YYCURSOR;
+       if (yych <= '/') goto yy242;
+       if (yych >= ':') goto yy242;
+       YYDEBUG(326, *YYCURSOR);
+       yych = *++YYCURSOR;
+       goto yy242;
+ yy327:
+       YYDEBUG(327, *YYCURSOR);
+       yyaccept = 6;
+       yych = *(YYMARKER = ++YYCURSOR);
+       if (yych <= '/') {
+               if (yych == '.') goto yy309;
+               goto yy242;
+       } else {
+               if (yych <= '9') goto yy325;
+               if (yych <= ':') goto yy309;
+               goto yy242;
+       }
+ yy328:
+       YYDEBUG(328, *YYCURSOR);
+       yyaccept = 6;
+       yych = *(YYMARKER = ++YYCURSOR);
+       if (yych <= '/') {
+               if (yych == '.') goto yy254;
+               goto yy242;
+       } else {
+               if (yych <= '9') goto yy325;
+               if (yych <= ':') goto yy254;
+               goto yy242;
+       }
+ yy329:
+       YYDEBUG(329, *YYCURSOR);
+       yyaccept = 6;
+       yych = *(YYMARKER = ++YYCURSOR);
+       if (yych <= 0x00) goto yy248;
+       goto yy247;
+ yy330:
+       YYDEBUG(330, *YYCURSOR);
+       yych = *++YYCURSOR;
+       if (yych <= '/') goto yy55;
+       if (yych >= ':') goto yy55;
+       YYDEBUG(331, *YYCURSOR);
+       ++YYCURSOR;
+       YYDEBUG(332, *YYCURSOR);
 -#line 1427 "parse_date.re"
++#line 1449 "parse_date.re"
+       {
+               int length = 0;
+               DEBUG_OUTPUT("datenoday");
+               TIMELIB_INIT;
+               TIMELIB_HAVE_DATE();
 -              s->time->m = timelib_get_month((char **) &ptr);
 -              s->time->y = timelib_get_nr_ex((char **) &ptr, 4, &length);
++              s->time->m = timelib_get_month(&ptr);
++              s->time->y = timelib_get_nr_ex(&ptr, 4, &length);
+               s->time->d = 1;
+               TIMELIB_PROCESS_YEAR(s->time->y, length);
+               TIMELIB_DEINIT;
+               return TIMELIB_DATE_NO_DAY;
+       }
 -#line 5864 "<stdout>"
++#line 5863 "<stdout>"
+ yy333:
+       YYDEBUG(333, *YYCURSOR);
+       yych = *++YYCURSOR;
+       if (yych <= '9') {
+               if (yych <= ' ') {
+                       if (yych <= 0x08) {
+                               if (yych <= 0x00) goto yy248;
+                               goto yy55;
+                       } else {
+                               if (yych <= '\t') goto yy246;
+                               if (yych <= 0x1F) goto yy55;
+                               goto yy246;
+                       }
                } else {
-                       if (yych == '/') goto yy283;
-                       if (yych <= '@') goto yy18;
-                       goto yy277;
+                       if (yych <= '-') {
+                               if (yych == ',') goto yy246;
+                               goto yy55;
+                       } else {
+                               if (yych <= '.') goto yy246;
+                               if (yych <= '/') goto yy55;
+                               goto yy330;
+                       }
                }
        } else {
-               if (yych <= '_') {
-                       if (yych <= 'R') goto yy280;
-                       if (yych <= 'Z') goto yy277;
-                       if (yych <= '^') goto yy18;
-                       goto yy283;
+               if (yych <= 'm') {
+                       if (yych <= 'd') {
+                               if (yych <= 'c') goto yy55;
+                               goto yy246;
+                       } else {
+                               if (yych == 'h') goto yy246;
+                               goto yy55;
+                       }
                } else {
-                       if (yych <= 'q') {
-                               if (yych <= '`') goto yy18;
-                               goto yy284;
+                       if (yych <= 'r') {
+                               if (yych <= 'n') goto yy243;
+                               if (yych <= 'q') goto yy55;
+                               goto yy244;
                        } else {
-                               if (yych <= 'r') goto yy286;
-                               if (yych <= 'z') goto yy284;
-                               goto yy18;
+                               if (yych <= 's') goto yy241;
+                               if (yych <= 't') goto yy245;
+                               goto yy55;
                        }
                }
        }
@@@ -4076,32 -6037,89 +6036,89 @@@ yy336
                        }
                }
        }
- yy119:
-       YYDEBUG(119, *YYCURSOR);
+ yy337:
+       YYDEBUG(337, *YYCURSOR);
        yych = *++YYCURSOR;
-       if (yych <= 'C') {
-               if (yych <= ')') {
-                       if (yych <= '(') goto yy18;
-                       goto yy108;
+       if (yych <= '9') {
+               if (yych <= ' ') {
+                       if (yych <= 0x08) {
+                               if (yych <= 0x00) goto yy248;
+                               goto yy55;
+                       } else {
+                               if (yych <= '\t') goto yy246;
+                               if (yych <= 0x1F) goto yy55;
+                               goto yy246;
+                       }
                } else {
-                       if (yych <= '@') goto yy18;
-                       if (yych <= 'B') goto yy277;
-                       goto yy290;
+                       if (yych <= '-') {
+                               if (yych <= '+') goto yy55;
+                               if (yych <= ',') goto yy246;
+                       } else {
+                               if (yych <= '.') goto yy246;
+                               if (yych <= '/') goto yy55;
+                               goto yy330;
+                       }
                }
        } else {
-               if (yych <= 'b') {
-                       if (yych <= 'Z') goto yy277;
-                       if (yych <= '`') goto yy18;
-                       goto yy277;
+               if (yych <= 'm') {
+                       if (yych <= 'd') {
+                               if (yych <= 'c') goto yy55;
+                               goto yy246;
+                       } else {
+                               if (yych == 'h') goto yy246;
+                               goto yy55;
+                       }
                } else {
-                       if (yych <= 'c') goto yy290;
-                       if (yych <= 'z') goto yy277;
-                       goto yy18;
+                       if (yych <= 'r') {
+                               if (yych <= 'n') goto yy243;
+                               if (yych <= 'q') goto yy55;
+                               goto yy244;
+                       } else {
+                               if (yych <= 's') goto yy241;
+                               if (yych <= 't') goto yy245;
+                               goto yy55;
+                       }
                }
        }
- yy120:
-       YYDEBUG(120, *YYCURSOR);
-       yyaccept = 2;
+       YYDEBUG(338, *YYCURSOR);
+       yych = *++YYCURSOR;
+       if (yych <= '/') goto yy55;
+       if (yych >= ':') goto yy55;
+       YYDEBUG(339, *YYCURSOR);
+       ++YYCURSOR;
+       if ((yych = *YYCURSOR) <= '/') goto yy340;
+       if (yych <= '9') goto yy341;
+ yy340:
+       YYDEBUG(340, *YYCURSOR);
 -#line 1571 "parse_date.re"
++#line 1593 "parse_date.re"
+       {
+               int length = 0;
+               DEBUG_OUTPUT("pgtextshort");
+               TIMELIB_INIT;
+               TIMELIB_HAVE_DATE();
 -              s->time->m = timelib_get_month((char **) &ptr);
 -              s->time->d = timelib_get_nr((char **) &ptr, 2);
 -              s->time->y = timelib_get_nr_ex((char **) &ptr, 4, &length);
++              s->time->m = timelib_get_month(&ptr);
++              s->time->d = timelib_get_nr(&ptr, 2);
++              s->time->y = timelib_get_nr_ex(&ptr, 4, &length);
+               TIMELIB_PROCESS_YEAR(s->time->y, length);
+               TIMELIB_DEINIT;
+               return TIMELIB_PG_TEXT;
+       }
 -#line 6108 "<stdout>"
++#line 6107 "<stdout>"
+ yy341:
+       YYDEBUG(341, *YYCURSOR);
+       yych = *++YYCURSOR;
+       if (yych <= '/') goto yy340;
+       if (yych >= ':') goto yy340;
+       YYDEBUG(342, *YYCURSOR);
+       yych = *++YYCURSOR;
+       if (yych <= '/') goto yy340;
+       if (yych >= ':') goto yy340;
+       YYDEBUG(343, *YYCURSOR);
+       yych = *++YYCURSOR;
+       goto yy340;
+ yy344:
+       YYDEBUG(344, *YYCURSOR);
+       yyaccept = 0;
        yych = *(YYMARKER = ++YYCURSOR);
        if (yych <= 'B') {
                if (yych <= '-') {
                        }
                }
        }
- yy140:
-       YYDEBUG(140, *YYCURSOR);
-       yyaccept = 2;
+ yy362:
+       YYDEBUG(362, *YYCURSOR);
+       yyaccept = 0;
        yych = *(YYMARKER = ++YYCURSOR);
-       if (yych <= ',') {
-               if (yych <= 0x1F) {
-                       if (yych == '\t') goto yy135;
-                       goto yy18;
+       if (yych <= 'Q') {
+               if (yych <= ',') {
+                       if (yych == ')') goto yy174;
+                       goto yy3;
                } else {
-                       if (yych <= ' ') goto yy135;
-                       if (yych == ')') goto yy108;
-                       goto yy18;
+                       if (yych == '.') goto yy3;
+                       if (yych <= '/') goto yy182;
+                       goto yy3;
                }
        } else {
-               if (yych <= '@') {
-                       if (yych == '/') goto yy18;
-                       if (yych <= '9') goto yy135;
-                       goto yy18;
+               if (yych <= '`') {
+                       if (yych <= 'R') goto yy239;
+                       if (yych == '_') goto yy182;
+                       goto yy3;
                } else {
-                       if (yych <= 'Z') goto yy277;
-                       if (yych <= '`') goto yy18;
-                       if (yych <= 'z') goto yy277;
-                       goto yy18;
+                       if (yych == 'r') goto yy351;
+                       if (yych <= 'z') goto yy188;
+                       goto yy3;
                }
        }
- yy141:
-       YYDEBUG(141, *YYCURSOR);
+ yy363:
+       YYDEBUG(363, *YYCURSOR);
        yych = *++YYCURSOR;
-       if (yych <= 'N') {
+       if (yych <= 'G') {
                if (yych <= ')') {
-                       if (yych <= '(') goto yy18;
-                       goto yy108;
+                       if (yych <= '(') goto yy3;
+                       goto yy174;
                } else {
-                       if (yych <= '@') goto yy18;
-                       if (yych <= 'M') goto yy277;
-                       goto yy320;
+                       if (yych <= '@') goto yy3;
+                       if (yych <= 'F') goto yy176;
+                       goto yy371;
                }
        } else {
-               if (yych <= 'm') {
-                       if (yych <= 'Z') goto yy277;
-                       if (yych <= '`') goto yy18;
-                       goto yy277;
+               if (yych <= 'f') {
+                       if (yych <= 'Z') goto yy176;
+                       if (yych <= '`') goto yy3;
+                       goto yy176;
                } else {
-                       if (yych <= 'n') goto yy320;
-                       if (yych <= 'z') goto yy277;
-                       goto yy18;
+                       if (yych <= 'g') goto yy371;
+                       if (yych <= 'z') goto yy176;
+                       goto yy3;
                }
        }
- yy142:
-       YYDEBUG(142, *YYCURSOR);
+ yy364:
+       YYDEBUG(364, *YYCURSOR);
        yych = *++YYCURSOR;
-       if (yych <= 'N') {
-               if (yych <= '@') {
-                       if (yych == ')') goto yy108;
-                       goto yy18;
+       if (yych <= 'R') {
+               if (yych <= ')') {
+                       if (yych <= '(') goto yy3;
+                       goto yy174;
                } else {
-                       if (yych == 'L') goto yy321;
-                       if (yych <= 'M') goto yy277;
-                       goto yy322;
+                       if (yych <= '@') goto yy3;
+                       if (yych <= 'Q') goto yy176;
+                       goto yy368;
                }
        } else {
-               if (yych <= 'l') {
-                       if (yych <= 'Z') goto yy277;
-                       if (yych <= '`') goto yy18;
-                       if (yych <= 'k') goto yy277;
-                       goto yy321;
+               if (yych <= 'q') {
+                       if (yych <= 'Z') goto yy176;
+                       if (yych <= '`') goto yy3;
+                       goto yy176;
                } else {
-                       if (yych == 'n') goto yy322;
-                       if (yych <= 'z') goto yy277;
-                       goto yy18;
+                       if (yych <= 'r') goto yy368;
+                       if (yych <= 'z') goto yy176;
+                       goto yy3;
                }
        }
- yy143:
-       YYDEBUG(143, *YYCURSOR);
-       yyaccept = 2;
-       yych = *(YYMARKER = ++YYCURSOR);
-       if (yych <= 'M') {
-               if (yych <= '-') {
-                       if (yych == ')') goto yy108;
-                       if (yych <= ',') goto yy18;
-                       goto yy283;
+ yy365:
+       YYDEBUG(365, *YYCURSOR);
+       yych = *++YYCURSOR;
+       if (yych <= 'O') {
+               if (yych <= ')') {
+                       if (yych <= '(') goto yy3;
+                       goto yy174;
+               } else {
+                       if (yych <= '@') goto yy3;
+                       if (yych <= 'N') goto yy176;
+               }
+       } else {
+               if (yych <= 'n') {
+                       if (yych <= 'Z') goto yy176;
+                       if (yych <= '`') goto yy3;
+                       goto yy176;
                } else {
-                       if (yych == '/') goto yy283;
-                       if (yych <= '@') goto yy18;
-                       goto yy277;
+                       if (yych <= 'o') goto yy366;
+                       if (yych <= 'z') goto yy176;
+                       goto yy3;
+               }
+       }
+ yy366:
+       YYDEBUG(366, *YYCURSOR);
+       ++YYCURSOR;
+       if ((yych = *YYCURSOR) <= '@') {
+               if (yych == ')') goto yy174;
+       } else {
+               if (yych <= 'Z') goto yy177;
+               if (yych <= '`') goto yy367;
+               if (yych <= 'z') goto yy177;
+       }
+ yy367:
+       YYDEBUG(367, *YYCURSOR);
 -#line 1629 "parse_date.re"
++#line 1651 "parse_date.re"
+       {
+               DEBUG_OUTPUT("ago");
+               TIMELIB_INIT;
+               s->time->relative.y = 0 - s->time->relative.y;
+               s->time->relative.m = 0 - s->time->relative.m;
+               s->time->relative.d = 0 - s->time->relative.d;
+               s->time->relative.h = 0 - s->time->relative.h;
+               s->time->relative.i = 0 - s->time->relative.i;
+               s->time->relative.s = 0 - s->time->relative.s;
+               s->time->relative.weekday = 0 - s->time->relative.weekday;
+               if (s->time->relative.weekday == 0) {
+                       s->time->relative.weekday = -7;
                }
-       } else {
-               if (yych <= '_') {
-                       if (yych <= 'N') goto yy320;
-                       if (yych <= 'Z') goto yy277;
-                       if (yych <= '^') goto yy18;
-                       goto yy283;
-               } else {
-                       if (yych <= 'm') {
-                               if (yych <= '`') goto yy18;
-                               goto yy284;
-                       } else {
-                               if (yych <= 'n') goto yy323;
-                               if (yych <= 'z') goto yy284;
-                               goto yy18;
-                       }
+               if (s->time->relative.have_special_relative && s->time->relative.special.type == TIMELIB_SPECIAL_WEEKDAY) {
+                       s->time->relative.special.amount = 0 - s->time->relative.special.amount;
                }
+               TIMELIB_DEINIT;
+               return TIMELIB_AGO;
        }
- yy144:
-       YYDEBUG(144, *YYCURSOR);
-       yyaccept = 2;
 -#line 6710 "<stdout>"
++#line 6709 "<stdout>"
+ yy368:
+       YYDEBUG(368, *YYCURSOR);
+       yyaccept = 5;
        yych = *(YYMARKER = ++YYCURSOR);
-       if (yych <= 'M') {
-               if (yych <= '.') {
-                       if (yych <= ')') {
-                               if (yych <= '(') goto yy18;
-                               goto yy108;
+       if (yych <= '/') {
+               if (yych <= '(') {
+                       if (yych <= '\t') {
+                               if (yych <= 0x08) goto yy228;
+                               goto yy230;
                        } else {
-                               if (yych == '-') goto yy283;
-                               goto yy18;
+                               if (yych == ' ') goto yy230;
+                               goto yy228;
                        }
                } else {
-                       if (yych <= '@') {
-                               if (yych <= '/') goto yy283;
-                               goto yy18;
+                       if (yych <= ',') {
+                               if (yych <= ')') goto yy174;
+                               goto yy228;
                        } else {
-                               if (yych == 'L') goto yy321;
-                               goto yy277;
+                               if (yych <= '-') goto yy231;
+                               if (yych <= '.') goto yy230;
+                               goto yy228;
                        }
                }
        } else {
                        }
                }
        }
- yy181:
-       YYDEBUG(181, *YYCURSOR);
-       yych = *++YYCURSOR;
-       if (yych <= 'E') {
-               if (yych <= '@') {
-                       if (yych == ')') goto yy108;
-                       goto yy18;
+       YYDEBUG(408, *YYCURSOR);
+       yyaccept = 0;
+       yych = *(YYMARKER = ++YYCURSOR);
+       if (yych <= ',') {
+               if (yych <= 0x1F) {
+                       if (yych == '\t') goto yy230;
+                       goto yy3;
                } else {
-                       if (yych <= 'C') goto yy277;
-                       if (yych <= 'D') goto yy367;
-                       goto yy368;
+                       if (yych <= ' ') goto yy230;
+                       if (yych == ')') goto yy174;
+                       goto yy3;
                }
        } else {
-               if (yych <= 'c') {
-                       if (yych <= 'Z') goto yy277;
-                       if (yych <= '`') goto yy18;
-                       goto yy277;
+               if (yych <= '@') {
+                       if (yych == '/') goto yy3;
+                       if (yych <= '9') goto yy230;
+                       goto yy3;
                } else {
-                       if (yych <= 'd') goto yy367;
-                       if (yych <= 'e') goto yy368;
-                       if (yych <= 'z') goto yy277;
-                       goto yy18;
+                       if (yych <= 'Z') goto yy178;
+                       if (yych <= '`') goto yy3;
+                       if (yych <= 'z') goto yy178;
+                       goto yy3;
                }
        }
- yy182:
-       YYDEBUG(182, *YYCURSOR);
-       yyaccept = 2;
+ yy409:
+       YYDEBUG(409, *YYCURSOR);
+       yyaccept = 0;
        yych = *(YYMARKER = ++YYCURSOR);
-       if (yych <= 'D') {
-               if (yych <= '-') {
-                       if (yych == ')') goto yy108;
-                       if (yych <= ',') goto yy18;
-                       goto yy283;
+       if (yych <= ',') {
+               if (yych <= 0x1F) {
+                       if (yych == '\t') goto yy230;
+                       goto yy3;
                } else {
-                       if (yych <= '/') {
-                               if (yych <= '.') goto yy18;
-                               goto yy283;
-                       } else {
-                               if (yych <= '@') goto yy18;
-                               if (yych <= 'C') goto yy277;
-                               goto yy367;
-                       }
+                       if (yych <= ' ') goto yy230;
+                       if (yych == ')') goto yy174;
+                       goto yy3;
                }
        } else {
-               if (yych <= '`') {
-                       if (yych <= 'Z') {
-                               if (yych <= 'E') goto yy368;
-                               goto yy277;
-                       } else {
-                               if (yych == '_') goto yy283;
-                               goto yy18;
-                       }
+               if (yych <= '@') {
+                       if (yych == '/') goto yy3;
+                       if (yych <= '9') goto yy230;
+                       goto yy3;
                } else {
-                       if (yych <= 'd') {
-                               if (yych <= 'c') goto yy284;
-                               goto yy369;
-                       } else {
-                               if (yych <= 'e') goto yy370;
-                               if (yych <= 'z') goto yy284;
-                               goto yy18;
-                       }
+                       if (yych <= 'Z') goto yy176;
+                       if (yych <= '`') goto yy3;
+                       if (yych <= 'z') goto yy176;
+                       goto yy3;
                }
        }
- yy183:
-       YYDEBUG(183, *YYCURSOR);
-       yych = *++YYCURSOR;
-       if (yych <= 'S') {
-               if (yych <= ')') {
-                       if (yych <= '(') goto yy18;
-                       goto yy108;
+ yy410:
+       YYDEBUG(410, *YYCURSOR);
+       yyaccept = 0;
+       yych = *(YYMARKER = ++YYCURSOR);
+       if (yych <= '.') {
+               if (yych <= ' ') {
+                       if (yych == '\t') goto yy230;
+                       if (yych <= 0x1F) goto yy3;
+                       goto yy230;
                } else {
-                       if (yych <= '@') goto yy18;
-                       if (yych <= 'R') goto yy277;
-                       goto yy371;
+                       if (yych == ')') goto yy174;
+                       if (yych <= ',') goto yy3;
+                       goto yy230;
                }
        } else {
-               if (yych <= 'r') {
-                       if (yych <= 'Z') goto yy277;
-                       if (yych <= '`') goto yy18;
-                       goto yy277;
+               if (yych <= 'H') {
+                       if (yych <= '/') goto yy3;
+                       if (yych <= '9') goto yy230;
+                       if (yych <= '@') goto yy3;
+                       goto yy176;
                } else {
-                       if (yych <= 's') goto yy371;
-                       if (yych <= 'z') goto yy277;
-                       goto yy18;
+                       if (yych <= 'Z') {
+                               if (yych <= 'I') goto yy405;
+                               goto yy176;
+                       } else {
+                               if (yych <= '`') goto yy3;
+                               if (yych <= 'z') goto yy176;
+                               goto yy3;
+                       }
                }
        }
- yy184:
-       YYDEBUG(184, *YYCURSOR);
-       yyaccept = 2;
+ yy411:
+       YYDEBUG(411, *YYCURSOR);
+       yyaccept = 0;
        yych = *(YYMARKER = ++YYCURSOR);
-       if (yych <= 'R') {
-               if (yych <= '-') {
-                       if (yych == ')') goto yy108;
-                       if (yych <= ',') goto yy18;
-                       goto yy283;
+       if (yych <= 'W') {
+               if (yych <= 'D') {
+                       if (yych <= ' ') {
+                               if (yych == '\t') goto yy59;
+                               if (yych <= 0x1F) goto yy3;
+                               goto yy59;
+                       } else {
+                               if (yych <= '9') {
+                                       if (yych <= '/') goto yy3;
 -                                      goto yy431;
++                                      goto yy456;
+                               } else {
+                                       if (yych <= ':') goto yy197;
+                                       if (yych <= 'C') goto yy3;
+                                       goto yy59;
+                               }
+                       }
                } else {
-                       if (yych == '/') goto yy283;
-                       if (yych <= '@') goto yy18;
-                       goto yy277;
+                       if (yych <= 'L') {
+                               if (yych <= 'F') {
+                                       if (yych <= 'E') goto yy3;
+                                       goto yy59;
+                               } else {
+                                       if (yych == 'H') goto yy59;
+                                       goto yy3;
+                               }
+                       } else {
+                               if (yych <= 'R') {
+                                       if (yych <= 'M') goto yy59;
+                                       goto yy3;
+                               } else {
+                                       if (yych == 'V') goto yy3;
+                                       goto yy59;
+                               }
+                       }
                }
        } else {
-               if (yych <= '_') {
-                       if (yych <= 'S') goto yy371;
-                       if (yych <= 'Z') goto yy277;
-                       if (yych <= '^') goto yy18;
-                       goto yy283;
+               if (yych <= 'l') {
+                       if (yych <= 'd') {
+                               if (yych == 'Y') goto yy59;
+                               if (yych <= 'c') goto yy3;
+                               goto yy59;
+                       } else {
+                               if (yych <= 'f') {
+                                       if (yych <= 'e') goto yy3;
+                                       goto yy59;
+                               } else {
+                                       if (yych == 'h') goto yy59;
+                                       goto yy3;
+                               }
+                       }
                } else {
-                       if (yych <= 'r') {
-                               if (yych <= '`') goto yy18;
-                               goto yy284;
+                       if (yych <= 'w') {
+                               if (yych <= 'r') {
+                                       if (yych <= 'm') goto yy59;
+                                       goto yy3;
+                               } else {
+                                       if (yych == 'v') goto yy3;
+                                       goto yy59;
+                               }
                        } else {
-                               if (yych <= 's') goto yy372;
-                               if (yych <= 'z') goto yy284;
-                               goto yy18;
+                               if (yych <= 'y') {
+                                       if (yych <= 'x') goto yy3;
+                                       goto yy59;
+                               } else {
+                                       if (yych == 0xC2) goto yy59;
+                                       goto yy3;
+                               }
                        }
                }
        }
- yy185:
-       YYDEBUG(185, *YYCURSOR);
-       ++YYCURSOR;
-       if ((YYLIMIT - YYCURSOR) < 12) YYFILL(12);
-       yych = *YYCURSOR;
- yy186:
-       YYDEBUG(186, *YYCURSOR);
-       if (yych <= 'X') {
-               if (yych <= 'G') {
-                       if (yych <= ' ') {
-                               if (yych == '\t') goto yy185;
-                               if (yych <= 0x1F) goto yy56;
-                               goto yy185;
+ yy412:
+       YYDEBUG(412, *YYCURSOR);
+       yyaccept = 0;
+       yych = *(YYMARKER = ++YYCURSOR);
+       if (yych <= 'V') {
+               if (yych <= 'C') {
+                       if (yych <= '/') {
+                               if (yych <= '\t') {
+                                       if (yych <= 0x08) goto yy3;
+                                       goto yy59;
+                               } else {
+                                       if (yych == ' ') goto yy59;
+                                       goto yy3;
+                               }
                        } else {
-                               if (yych <= 'D') {
-                                       if (yych <= 'C') goto yy56;
-                                       goto yy188;
+                               if (yych <= '5') {
 -                                      if (yych <= '4') goto yy431;
++                                      if (yych <= '4') goto yy456;
+                                       goto yy416;
                                } else {
-                                       if (yych == 'F') goto yy189;
-                                       goto yy56;
+                                       if (yych <= '9') goto yy417;
+                                       if (yych <= ':') goto yy197;
+                                       goto yy3;
                                }
                        }
                } else {
@@@ -6197,16 -8297,16 +8296,16 @@@ yy416
        if (yych <= 'W') {
                if (yych <= 'E') {
                        if (yych <= ' ') {
-                               if (yych == '\t') goto yy186;
-                               if (yych <= 0x1F) goto yy18;
-                               goto yy186;
+                               if (yych == '\t') goto yy59;
+                               if (yych <= 0x1F) goto yy3;
+                               goto yy59;
                        } else {
                                if (yych <= '9') {
-                                       if (yych <= '/') goto yy18;
-                                       goto yy376;
+                                       if (yych <= '/') goto yy3;
 -                                      goto yy430;
++                                      goto yy455;
                                } else {
-                                       if (yych == 'D') goto yy186;
-                                       goto yy18;
+                                       if (yych == 'D') goto yy59;
+                                       goto yy3;
                                }
                        }
                } else {
                        }
                }
        }
- yy196:
-       YYDEBUG(196, *YYCURSOR);
-       ++YYCURSOR;
-       if ((YYLIMIT - YYCURSOR) < 13) YYFILL(13);
-       yych = *YYCURSOR;
- yy197:
-       YYDEBUG(197, *YYCURSOR);
-       switch (yych) {
-       case '\t':
-       case ' ':
-       case '-':
-       case '.':       goto yy196;
-       case 'A':
-       case 'a':       goto yy72;
-       case 'D':
-       case 'd':       goto yy204;
-       case 'F':
-       case 'f':       goto yy205;
-       case 'I':       goto yy76;
-       case 'J':
-       case 'j':       goto yy78;
-       case 'M':
-       case 'm':       goto yy206;
-       case 'N':
-       case 'n':       goto yy80;
-       case 'O':
-       case 'o':       goto yy81;
-       case 'S':
-       case 's':       goto yy207;
-       case 'V':       goto yy85;
-       case 'X':       goto yy87;
-       default:        goto yy56;
-       }
- yy198:
-       YYDEBUG(198, *YYCURSOR);
-       yych = *++YYCURSOR;
-       if (yych <= '.') {
-               if (yych <= ',') goto yy56;
-               if (yych <= '-') goto yy379;
-               goto yy380;
-       } else {
-               if (yych <= '/') goto yy56;
-               if (yych <= '9') goto yy200;
-               goto yy56;
-       }
- yy199:
-       YYDEBUG(199, *YYCURSOR);
-       yych = *++YYCURSOR;
-       if (yych <= '.') {
-               if (yych <= ',') goto yy56;
-               if (yych <= '-') goto yy379;
-               goto yy380;
-       } else {
-               if (yych <= '/') goto yy56;
-               if (yych >= '3') goto yy56;
-       }
- yy200:
-       YYDEBUG(200, *YYCURSOR);
+       YYDEBUG(418, *YYCURSOR);
        yych = *++YYCURSOR;
-       if (yych <= ',') goto yy56;
-       if (yych <= '-') goto yy379;
-       if (yych <= '.') goto yy380;
-       goto yy56;
- yy201:
-       YYDEBUG(201, *YYCURSOR);
+       if (yych <= '/') goto yy59;
+       if (yych >= ':') goto yy59;
+ yy419:
+       YYDEBUG(419, *YYCURSOR);
        yych = *++YYCURSOR;
-       if (yych <= '.') {
-               if (yych <= ',') goto yy56;
-               if (yych <= '-') goto yy381;
-               goto yy379;
-       } else {
-               if (yych <= '/') goto yy56;
-               if (yych <= '9') goto yy203;
-               goto yy56;
-       }
- yy202:
-       YYDEBUG(202, *YYCURSOR);
 -      if (yych == '-') goto yy420;
++      if (yych == '-') goto yy421;
+       if (yych <= '/') goto yy59;
 -      if (yych <= '9') goto yy73;
 -      goto yy59;
++      if (yych >= ':') goto yy59;
+ yy420:
+       YYDEBUG(420, *YYCURSOR);
        yych = *++YYCURSOR;
-       if (yych <= '.') {
-               if (yych <= ',') goto yy56;
-               if (yych <= '-') goto yy381;
-               goto yy379;
-       } else {
-               if (yych <= '/') goto yy56;
-               if (yych >= '3') goto yy56;
-       }
- yy203:
-       YYDEBUG(203, *YYCURSOR);
 -      if (yych <= '/') goto yy55;
 -      if (yych <= '0') goto yy421;
 -      if (yych <= '1') goto yy422;
 -      goto yy55;
++      if (yych == '-') goto yy431;
++      if (yych <= '/') goto yy59;
++      if (yych <= '9') goto yy432;
++      goto yy59;
+ yy421:
+       YYDEBUG(421, *YYCURSOR);
        yych = *++YYCURSOR;
-       if (yych <= ',') goto yy56;
-       if (yych <= '-') goto yy381;
-       if (yych <= '.') goto yy379;
-       goto yy56;
- yy204:
-       YYDEBUG(204, *YYCURSOR);
+       if (yych <= '/') goto yy55;
 -      if (yych <= '9') goto yy423;
++      if (yych <= '0') goto yy422;
++      if (yych <= '1') goto yy423;
+       goto yy55;
+ yy422:
+       YYDEBUG(422, *YYCURSOR);
        yych = *++YYCURSOR;
-       if (yych == 'E') goto yy233;
-       if (yych == 'e') goto yy233;
-       goto yy56;
- yy205:
-       YYDEBUG(205, *YYCURSOR);
+       if (yych <= '/') goto yy55;
 -      if (yych >= '3') goto yy55;
++      if (yych <= '9') goto yy424;
++      goto yy55;
+ yy423:
+       YYDEBUG(423, *YYCURSOR);
        yych = *++YYCURSOR;
-       if (yych == 'E') goto yy234;
-       if (yych == 'e') goto yy234;
-       goto yy56;
- yy206:
-       YYDEBUG(206, *YYCURSOR);
 -      if (yych != '-') goto yy55;
++      if (yych <= '/') goto yy55;
++      if (yych >= '3') goto yy55;
++yy424:
+       YYDEBUG(424, *YYCURSOR);
        yych = *++YYCURSOR;
-       if (yych == 'A') goto yy246;
-       if (yych == 'a') goto yy246;
-       goto yy56;
- yy207:
-       YYDEBUG(207, *YYCURSOR);
 -      if (yych <= '/') goto yy55;
 -      if (yych <= '0') goto yy425;
 -      if (yych <= '2') goto yy426;
 -      if (yych <= '3') goto yy427;
 -      goto yy55;
 -yy425:
++      if (yych != '-') goto yy55;
+       YYDEBUG(425, *YYCURSOR);
        yych = *++YYCURSOR;
-       if (yych == 'E') goto yy382;
-       if (yych == 'e') goto yy382;
-       goto yy56;
- yy208:
-       YYDEBUG(208, *YYCURSOR);
-       yyaccept = 4;
-       yych = *(YYMARKER = ++YYCURSOR);
-       if (yych <= '.') {
-               if (yych <= ',') goto yy209;
-               if (yych <= '-') goto yy379;
-               goto yy383;
-       } else {
-               if (yych <= '/') goto yy209;
-               if (yych <= '9') goto yy212;
-               if (yych <= ':') goto yy384;
-       }
- yy209:
-       YYDEBUG(209, *YYCURSOR);
- #line 1234 "parse_date.re"
-       {
-               int tz_not_found;
-               DEBUG_OUTPUT("timeshort24 | timelong24 | iso8601long");
-               TIMELIB_INIT;
-               TIMELIB_HAVE_TIME();
-               s->time->h = timelib_get_nr(&ptr, 2);
-               s->time->i = timelib_get_nr(&ptr, 2);
-               if (*ptr == ':' || *ptr == '.') {
-                       s->time->s = timelib_get_nr(&ptr, 2);
-                       if (*ptr == '.') {
-                               s->time->us = timelib_get_frac_nr(&ptr, 8);
-                       }
-               }
-               if (*ptr != '\0') {
-                       s->time->z = timelib_parse_zone(&ptr, &s->time->dst, s->time, &tz_not_found, s->tzdb, tz_get_wrapper);
-                       if (tz_not_found) {
-                               add_error(s, TIMELIB_ERR_TZID_NOT_FOUND, "The timezone could not be found in the database");
-                       }
-               }
-               TIMELIB_DEINIT;
-               return TIMELIB_TIME24_WITH_ZONE;
-       }
- #line 6489 "<stdout>"
- yy210:
-       YYDEBUG(210, *YYCURSOR);
-       yyaccept = 4;
-       yych = *(YYMARKER = ++YYCURSOR);
-       if (yych <= '/') {
-               if (yych <= ',') goto yy209;
-               if (yych <= '-') goto yy379;
-               if (yych <= '.') goto yy383;
-               goto yy209;
-       } else {
-               if (yych <= '2') goto yy212;
-               if (yych <= '9') goto yy229;
-               if (yych <= ':') goto yy384;
-               goto yy209;
-       }
- yy211:
-       YYDEBUG(211, *YYCURSOR);
-       yyaccept = 4;
-       yych = *(YYMARKER = ++YYCURSOR);
-       if (yych <= '.') {
-               if (yych <= ',') goto yy209;
-               if (yych <= '-') goto yy379;
-               goto yy383;
-       } else {
-               if (yych <= '/') goto yy209;
-               if (yych <= '9') goto yy229;
-               if (yych <= ':') goto yy384;
-               goto yy209;
-       }
- yy212:
-       YYDEBUG(212, *YYCURSOR);
-       yyaccept = 4;
-       yych = *(YYMARKER = ++YYCURSOR);
-       if (yych <= '.') {
-               if (yych <= ',') goto yy209;
-               if (yych <= '-') goto yy379;
-               goto yy383;
-       } else {
-               if (yych == ':') goto yy384;
-               goto yy209;
-       }
- yy213:
-       YYDEBUG(213, *YYCURSOR);
-       yyaccept = 5;
-       yych = *(YYMARKER = ++YYCURSOR);
-       if (yych <= 'n') {
-               if (yych <= '/') {
-                       if (yych >= '/') goto yy385;
-               } else {
-                       if (yych <= '9') goto yy216;
-                       if (yych >= 'n') goto yy386;
-               }
-       } else {
-               if (yych <= 'r') {
-                       if (yych >= 'r') goto yy386;
-               } else {
-                       if (yych <= 's') goto yy387;
-                       if (yych <= 't') goto yy388;
-               }
-       }
- yy214:
-       YYDEBUG(214, *YYCURSOR);
- #line 1326 "parse_date.re"
+       if (yych <= '/') goto yy55;
 -      if (yych <= '9') goto yy428;
++      if (yych <= '0') goto yy426;
++      if (yych <= '2') goto yy427;
++      if (yych <= '3') goto yy428;
+       goto yy55;
+ yy426:
+       YYDEBUG(426, *YYCURSOR);
+       yych = *++YYCURSOR;
+       if (yych <= '/') goto yy55;
 -      if (yych <= '9') goto yy428;
++      if (yych <= '9') goto yy429;
+       goto yy55;
+ yy427:
+       YYDEBUG(427, *YYCURSOR);
+       yych = *++YYCURSOR;
+       if (yych <= '/') goto yy55;
 -      if (yych >= '2') goto yy55;
++      if (yych <= '9') goto yy429;
++      goto yy55;
+ yy428:
+       YYDEBUG(428, *YYCURSOR);
 -      ++YYCURSOR;
++      yych = *++YYCURSOR;
++      if (yych <= '/') goto yy55;
++      if (yych >= '2') goto yy55;
+ yy429:
+       YYDEBUG(429, *YYCURSOR);
 -#line 1332 "parse_date.re"
++      ++YYCURSOR;
++yy430:
++      YYDEBUG(430, *YYCURSOR);
++#line 1342 "parse_date.re"
        {
-               int length = 0;
-               DEBUG_OUTPUT("americanshort | american");
+               DEBUG_OUTPUT("iso8601date4 | iso8601date2 | iso8601dateslash | dateslash");
                TIMELIB_INIT;
                TIMELIB_HAVE_DATE();
 -              s->time->y = timelib_get_unsigned_nr((char **) &ptr, 4);
 -              s->time->m = timelib_get_nr((char **) &ptr, 2);
 -              s->time->d = timelib_get_nr((char **) &ptr, 2);
++              s->time->y = timelib_get_unsigned_nr(&ptr, 4);
 +              s->time->m = timelib_get_nr(&ptr, 2);
 +              s->time->d = timelib_get_nr(&ptr, 2);
-               if (*ptr == '/') {
-                       s->time->y = timelib_get_nr_ex(&ptr, 4, &length);
-                       TIMELIB_PROCESS_YEAR(s->time->y, length);
-               }
                TIMELIB_DEINIT;
-               return TIMELIB_AMERICAN;
-       }
- #line 6567 "<stdout>"
- yy215:
-       YYDEBUG(215, *YYCURSOR);
-       yyaccept = 5;
-       yych = *(YYMARKER = ++YYCURSOR);
-       if (yych <= 'n') {
-               if (yych <= '/') {
-                       if (yych <= '.') goto yy214;
-                       goto yy385;
-               } else {
-                       if (yych <= '1') goto yy216;
-                       if (yych <= 'm') goto yy214;
-                       goto yy386;
-               }
-       } else {
-               if (yych <= 'r') {
-                       if (yych <= 'q') goto yy214;
-                       goto yy386;
-               } else {
-                       if (yych <= 's') goto yy387;
-                       if (yych <= 't') goto yy388;
-                       goto yy214;
-               }
-       }
- yy216:
-       YYDEBUG(216, *YYCURSOR);
-       yyaccept = 5;
-       yych = *(YYMARKER = ++YYCURSOR);
-       if (yych <= 'n') {
-               if (yych == '/') goto yy385;
-               if (yych <= 'm') goto yy214;
-               goto yy386;
-       } else {
-               if (yych <= 'r') {
-                       if (yych <= 'q') goto yy214;
-                       goto yy386;
-               } else {
-                       if (yych <= 's') goto yy387;
-                       if (yych <= 't') goto yy388;
-                       goto yy214;
-               }
+               return TIMELIB_ISO_DATE;
        }
- yy217:
-       YYDEBUG(217, *YYCURSOR);
 -#line 8504 "<stdout>"
 -yy430:
 -      YYDEBUG(430, *YYCURSOR);
++#line 8509 "<stdout>"
++yy431:
++      YYDEBUG(431, *YYCURSOR);
 +      yych = *++YYCURSOR;
-       if (yych <= 'U') {
-               if (yych == 'P') goto yy389;
-               if (yych <= 'T') goto yy56;
-               goto yy390;
-       } else {
-               if (yych <= 'p') {
-                       if (yych <= 'o') goto yy56;
-                       goto yy389;
-               } else {
-                       if (yych == 'u') goto yy390;
-                       goto yy56;
-               }
-       }
- yy218:
-       YYDEBUG(218, *YYCURSOR);
++      if (yych <= '/') goto yy55;
++      if (yych <= '0') goto yy446;
++      if (yych <= '1') goto yy447;
++      goto yy55;
++yy432:
++      YYDEBUG(432, *YYCURSOR);
 +      yych = *++YYCURSOR;
-       if (yych == 'E') goto yy391;
-       if (yych == 'e') goto yy391;
-       goto yy56;
- yy219:
-       YYDEBUG(219, *YYCURSOR);
++      if (yych == '-') goto yy431;
++      if (yych <= '/') goto yy59;
++      if (yych >= ':') goto yy59;
++      YYDEBUG(433, *YYCURSOR);
 +      yych = *++YYCURSOR;
-       if (yych == 'E') goto yy392;
-       if (yych == 'e') goto yy392;
-       goto yy56;
- yy220:
-       YYDEBUG(220, *YYCURSOR);
++      if (yych == '-') goto yy431;
++      if (yych <= '/') goto yy59;
++      if (yych >= ':') goto yy59;
++      YYDEBUG(434, *YYCURSOR);
 +      yych = *++YYCURSOR;
-       if (yych <= 'U') {
-               if (yych == 'A') goto yy393;
-               if (yych <= 'T') goto yy56;
-               goto yy394;
-       } else {
-               if (yych <= 'a') {
-                       if (yych <= '`') goto yy56;
-                       goto yy393;
-               } else {
-                       if (yych == 'u') goto yy394;
-                       goto yy56;
-               }
-       }
- yy221:
-       YYDEBUG(221, *YYCURSOR);
++      if (yych == '-') goto yy431;
++      if (yych <= '/') goto yy59;
++      if (yych >= ':') goto yy59;
++      YYDEBUG(435, *YYCURSOR);
 +      yych = *++YYCURSOR;
-       if (yych == 'A') goto yy395;
-       if (yych == 'a') goto yy395;
-       goto yy56;
- yy222:
-       YYDEBUG(222, *YYCURSOR);
++      if (yych == '-') goto yy431;
++      if (yych <= '/') goto yy59;
++      if (yych >= ':') goto yy59;
++      YYDEBUG(436, *YYCURSOR);
 +      yych = *++YYCURSOR;
-       if (yych == 'O') goto yy396;
-       if (yych == 'o') goto yy396;
-       goto yy56;
- yy223:
-       YYDEBUG(223, *YYCURSOR);
++      if (yych == '-') goto yy431;
++      if (yych <= '/') goto yy59;
++      if (yych >= ':') goto yy59;
++      YYDEBUG(437, *YYCURSOR);
 +      yych = *++YYCURSOR;
-       if (yych == 'C') goto yy397;
-       if (yych == 'c') goto yy397;
-       goto yy56;
- yy224:
-       YYDEBUG(224, *YYCURSOR);
++      if (yych == '-') goto yy431;
++      if (yych <= '/') goto yy59;
++      if (yych >= ':') goto yy59;
++      YYDEBUG(438, *YYCURSOR);
 +      yych = *++YYCURSOR;
-       if (yych == 'E') goto yy398;
-       if (yych == 'e') goto yy398;
-       goto yy56;
- yy225:
-       YYDEBUG(225, *YYCURSOR);
++      if (yych == '-') goto yy431;
++      if (yych <= '/') goto yy59;
++      if (yych >= ':') goto yy59;
++      YYDEBUG(439, *YYCURSOR);
 +      yych = *++YYCURSOR;
-       if (yych <= '/') goto yy197;
-       if (yych <= '0') goto yy399;
-       if (yych <= '1') goto yy400;
-       if (yych <= '9') goto yy203;
-       goto yy197;
- yy226:
-       YYDEBUG(226, *YYCURSOR);
++      if (yych == '-') goto yy431;
++      if (yych <= '/') goto yy59;
++      if (yych >= ':') goto yy59;
++      YYDEBUG(440, *YYCURSOR);
 +      yych = *++YYCURSOR;
-       if (yych == '-') goto yy401;
-       if (yych <= '/') goto yy186;
-       if (yych <= '9') goto yy402;
-       goto yy186;
- yy227:
-       YYDEBUG(227, *YYCURSOR);
++      if (yych == '-') goto yy431;
++      if (yych <= '/') goto yy55;
++      if (yych >= ':') goto yy55;
++      YYDEBUG(441, *YYCURSOR);
 +      yych = *++YYCURSOR;
-       if (yych == '-') goto yy401;
-       if (yych <= '/') goto yy186;
-       if (yych <= '9') goto yy404;
-       goto yy186;
- yy228:
-       YYDEBUG(228, *YYCURSOR);
-       yyaccept = 4;
-       yych = *(YYMARKER = ++YYCURSOR);
-       if (yych <= '/') {
-               if (yych == '.') goto yy384;
-               goto yy209;
-       } else {
-               if (yych <= '9') goto yy229;
-               if (yych <= ':') goto yy384;
-               goto yy209;
-       }
- yy229:
-       YYDEBUG(229, *YYCURSOR);
-       yyaccept = 4;
-       yych = *(YYMARKER = ++YYCURSOR);
-       if (yych == '.') goto yy384;
-       if (yych == ':') goto yy384;
-       goto yy209;
- yy230:
-       YYDEBUG(230, *YYCURSOR);
++      if (yych == '-') goto yy431;
++      if (yych <= '/') goto yy55;
++      if (yych >= ':') goto yy55;
++      YYDEBUG(442, *YYCURSOR);
 +      yych = *++YYCURSOR;
-       if (yych == 'R') goto yy406;
-       if (yych == 'r') goto yy406;
-       goto yy56;
- yy231:
-       YYDEBUG(231, *YYCURSOR);
++      if (yych == '-') goto yy431;
++      if (yych <= '/') goto yy55;
++      if (yych >= ':') goto yy55;
++      YYDEBUG(443, *YYCURSOR);
 +      yych = *++YYCURSOR;
-       if (yych == 'G') goto yy407;
-       if (yych == 'g') goto yy407;
-       goto yy56;
- yy232:
-       YYDEBUG(232, *YYCURSOR);
++      if (yych == '-') goto yy431;
++      if (yych <= '/') goto yy55;
++      if (yych >= ':') goto yy55;
++      YYDEBUG(444, *YYCURSOR);
 +      yych = *++YYCURSOR;
-       if (yych == 'Y') goto yy408;
-       if (yych == 'y') goto yy408;
-       goto yy56;
- yy233:
-       YYDEBUG(233, *YYCURSOR);
++      if (yych == '-') goto yy431;
++      if (yych <= '/') goto yy55;
++      if (yych >= ':') goto yy55;
++      YYDEBUG(445, *YYCURSOR);
 +      yych = *++YYCURSOR;
-       if (yych == 'C') goto yy409;
-       if (yych == 'c') goto yy409;
-       goto yy56;
- yy234:
-       YYDEBUG(234, *YYCURSOR);
++      if (yych == '-') goto yy431;
++      goto yy55;
++yy446:
++      YYDEBUG(446, *YYCURSOR);
 +      yych = *++YYCURSOR;
-       if (yych == 'B') goto yy410;
-       if (yych == 'b') goto yy410;
-       goto yy56;
- yy235:
-       YYDEBUG(235, *YYCURSOR);
++      if (yych <= '/') goto yy55;
++      if (yych <= '9') goto yy448;
++      goto yy55;
++yy447:
++      YYDEBUG(447, *YYCURSOR);
 +      yych = *++YYCURSOR;
-       if (yych == 'R') goto yy411;
-       if (yych == 'r') goto yy411;
-       goto yy56;
- yy236:
-       YYDEBUG(236, *YYCURSOR);
++      if (yych <= '/') goto yy55;
++      if (yych >= '3') goto yy55;
++yy448:
++      YYDEBUG(448, *YYCURSOR);
 +      yych = *++YYCURSOR;
-       if (yych == 'I') goto yy412;
-       if (yych == 'i') goto yy412;
-       goto yy56;
- yy237:
-       YYDEBUG(237, *YYCURSOR);
++      if (yych != '-') goto yy55;
++      YYDEBUG(449, *YYCURSOR);
 +      yych = *++YYCURSOR;
-       if (yych == 'U') goto yy413;
-       if (yych == 'u') goto yy413;
-       goto yy56;
- yy238:
-       YYDEBUG(238, *YYCURSOR);
-       ++YYCURSOR;
-       if ((YYLIMIT - YYCURSOR) < 4) YYFILL(4);
-       yych = *YYCURSOR;
-       YYDEBUG(239, *YYCURSOR);
-       if (yych <= ' ') {
-               if (yych == '\t') goto yy238;
-               if (yych <= 0x1F) goto yy56;
-               goto yy238;
-       } else {
-               if (yych <= '.') {
-                       if (yych <= ',') goto yy56;
-                       goto yy238;
-               } else {
-                       if (yych <= '/') goto yy56;
-                       if (yych >= ':') goto yy56;
-               }
-       }
- yy240:
-       YYDEBUG(240, *YYCURSOR);
++      if (yych <= '/') goto yy55;
++      if (yych <= '0') goto yy450;
++      if (yych <= '2') goto yy451;
++      if (yych <= '3') goto yy452;
++      goto yy55;
++yy450:
++      YYDEBUG(450, *YYCURSOR);
 +      yych = *++YYCURSOR;
-       if (yych <= '/') goto yy241;
-       if (yych <= '9') goto yy414;
- yy241:
-       YYDEBUG(241, *YYCURSOR);
- #line 1408 "parse_date.re"
++      if (yych <= '/') goto yy55;
++      if (yych <= '9') goto yy453;
++      goto yy55;
++yy451:
++      YYDEBUG(451, *YYCURSOR);
++      yych = *++YYCURSOR;
++      if (yych <= '/') goto yy55;
++      if (yych <= '9') goto yy453;
++      goto yy55;
++yy452:
++      YYDEBUG(452, *YYCURSOR);
++      yych = *++YYCURSOR;
++      if (yych <= '/') goto yy55;
++      if (yych >= '2') goto yy55;
++yy453:
++      YYDEBUG(453, *YYCURSOR);
++      ++YYCURSOR;
++      YYDEBUG(454, *YYCURSOR);
++#line 1368 "parse_date.re"
 +      {
-               int length = 0;
-               DEBUG_OUTPUT("datefull");
++              DEBUG_OUTPUT("iso8601datex");
 +              TIMELIB_INIT;
 +              TIMELIB_HAVE_DATE();
++              s->time->y = timelib_get_unsigned_nr(&ptr, 19);
++              s->time->m = timelib_get_nr(&ptr, 2);
 +              s->time->d = timelib_get_nr(&ptr, 2);
-               timelib_skip_day_suffix(&ptr);
-               s->time->m = timelib_get_month(&ptr);
-               s->time->y = timelib_get_nr_ex(&ptr, 4, &length);
-               TIMELIB_PROCESS_YEAR(s->time->y, length);
 +              TIMELIB_DEINIT;
-               return TIMELIB_DATE_FULL;
++              return TIMELIB_ISO_DATE;
++      }
++#line 8641 "<stdout>"
++yy455:
++      YYDEBUG(455, *YYCURSOR);
+       yyaccept = 0;
+       yych = *(YYMARKER = ++YYCURSOR);
+       if (yych <= 'W') {
+               if (yych <= 'E') {
+                       if (yych <= ' ') {
+                               if (yych == '\t') goto yy59;
+                               if (yych <= 0x1F) goto yy3;
+                               goto yy59;
+                       } else {
+                               if (yych <= '9') {
+                                       if (yych <= '/') goto yy3;
+                                       goto yy419;
+                               } else {
+                                       if (yych == 'D') goto yy59;
+                                       goto yy3;
+                               }
+                       }
+               } else {
+                       if (yych <= 'L') {
+                               if (yych == 'G') goto yy3;
+                               if (yych <= 'H') goto yy59;
+                               goto yy3;
+                       } else {
+                               if (yych <= 'R') {
+                                       if (yych <= 'M') goto yy59;
+                                       goto yy3;
+                               } else {
+                                       if (yych == 'V') goto yy3;
+                                       goto yy59;
+                               }
+                       }
+               }
+       } else {
+               if (yych <= 'l') {
+                       if (yych <= 'd') {
+                               if (yych == 'Y') goto yy59;
+                               if (yych <= 'c') goto yy3;
+                               goto yy59;
+                       } else {
+                               if (yych <= 'f') {
+                                       if (yych <= 'e') goto yy3;
+                                       goto yy59;
+                               } else {
+                                       if (yych == 'h') goto yy59;
+                                       goto yy3;
+                               }
+                       }
+               } else {
+                       if (yych <= 'w') {
+                               if (yych <= 'r') {
+                                       if (yych <= 'm') goto yy59;
+                                       goto yy3;
+                               } else {
+                                       if (yych == 'v') goto yy3;
+                                       goto yy59;
+                               }
+                       } else {
+                               if (yych <= 'y') {
+                                       if (yych <= 'x') goto yy3;
+                                       goto yy59;
+                               } else {
+                                       if (yych == 0xC2) goto yy59;
+                                       goto yy3;
+                               }
+                       }
+               }
+       }
 -yy431:
 -      YYDEBUG(431, *YYCURSOR);
++yy456:
++      YYDEBUG(456, *YYCURSOR);
+       yyaccept = 0;
+       yych = *(YYMARKER = ++YYCURSOR);
+       if (yych <= 'V') {
+               if (yych <= 'C') {
+                       if (yych <= ' ') {
+                               if (yych == '\t') goto yy59;
+                               if (yych <= 0x1F) goto yy3;
+                               goto yy59;
+                       } else {
+                               if (yych <= '5') {
+                                       if (yych <= '/') goto yy3;
+                               } else {
 -                                      if (yych <= '9') goto yy430;
++                                      if (yych <= '9') goto yy455;
+                                       if (yych <= ':') goto yy197;
+                                       goto yy3;
+                               }
+                       }
+               } else {
+                       if (yych <= 'H') {
+                               if (yych <= 'E') {
+                                       if (yych <= 'D') goto yy59;
+                                       goto yy3;
+                               } else {
+                                       if (yych == 'G') goto yy3;
+                                       goto yy59;
+                               }
+                       } else {
+                               if (yych <= 'M') {
+                                       if (yych <= 'L') goto yy3;
+                                       goto yy59;
+                               } else {
+                                       if (yych <= 'R') goto yy3;
+                                       if (yych <= 'U') goto yy59;
+                                       goto yy3;
+                               }
+                       }
+               }
+       } else {
+               if (yych <= 'l') {
+                       if (yych <= 'd') {
+                               if (yych <= 'X') {
+                                       if (yych <= 'W') goto yy59;
+                                       goto yy3;
+                               } else {
+                                       if (yych <= 'Y') goto yy59;
+                                       if (yych <= 'c') goto yy3;
+                                       goto yy59;
+                               }
+                       } else {
+                               if (yych <= 'f') {
+                                       if (yych <= 'e') goto yy3;
+                                       goto yy59;
+                               } else {
+                                       if (yych == 'h') goto yy59;
+                                       goto yy3;
+                               }
+                       }
+               } else {
+                       if (yych <= 'w') {
+                               if (yych <= 'r') {
+                                       if (yych <= 'm') goto yy59;
+                                       goto yy3;
+                               } else {
+                                       if (yych == 'v') goto yy3;
+                                       goto yy59;
+                               }
+                       } else {
+                               if (yych <= 'y') {
+                                       if (yych <= 'x') goto yy3;
+                                       goto yy59;
+                               } else {
+                                       if (yych == 0xC2) goto yy59;
+                                       goto yy3;
+                               }
+                       }
+               }
        }
- #line 6806 "<stdout>"
- yy242:
-       YYDEBUG(242, *YYCURSOR);
-       yyaccept = 3;
 -      YYDEBUG(432, *YYCURSOR);
++      YYDEBUG(457, *YYCURSOR);
+       yyaccept = 0;
        yych = *(YYMARKER = ++YYCURSOR);
-       if (yych <= ',') {
-               if (yych <= '\t') {
-                       if (yych <= 0x08) goto yy77;
-                       goto yy238;
+       if (yych <= 'W') {
+               if (yych <= 'E') {
+                       if (yych <= ' ') {
+                               if (yych == '\t') goto yy59;
+                               if (yych <= 0x1F) goto yy3;
+                               goto yy59;
+                       } else {
+                               if (yych <= '9') {
+                                       if (yych <= '/') goto yy3;
+                               } else {
+                                       if (yych == 'D') goto yy59;
+                                       goto yy3;
+                               }
+                       }
                } else {
-                       if (yych == ' ') goto yy238;
-                       goto yy77;
+                       if (yych <= 'L') {
+                               if (yych == 'G') goto yy3;
+                               if (yych <= 'H') goto yy59;
+                               goto yy3;
+                       } else {
+                               if (yych <= 'R') {
+                                       if (yych <= 'M') goto yy59;
+                                       goto yy3;
+                               } else {
+                                       if (yych == 'V') goto yy3;
+                                       goto yy59;
+                               }
+                       }
                }
        } else {
-               if (yych <= '9') {
-                       if (yych <= '.') goto yy238;
-                       if (yych <= '/') goto yy77;
-                       goto yy240;
+               if (yych <= 'l') {
+                       if (yych <= 'd') {
+                               if (yych == 'Y') goto yy59;
+                               if (yych <= 'c') goto yy3;
+                               goto yy59;
+                       } else {
+                               if (yych <= 'f') {
+                                       if (yych <= 'e') goto yy3;
+                                       goto yy59;
+                               } else {
+                                       if (yych == 'h') goto yy59;
+                                       goto yy3;
+                               }
+                       }
                } else {
-                       if (yych != 'I') goto yy77;
+                       if (yych <= 'w') {
+                               if (yych <= 'r') {
+                                       if (yych <= 'm') goto yy59;
+                                       goto yy3;
+                               } else {
+                                       if (yych == 'v') goto yy3;
+                                       goto yy59;
+                               }
+                       } else {
+                               if (yych <= 'y') {
+                                       if (yych <= 'x') goto yy3;
+                                       goto yy59;
+                               } else {
+                                       if (yych == 0xC2) goto yy59;
+                                       goto yy3;
+                               }
+                       }
                }
        }
- yy243:
-       YYDEBUG(243, *YYCURSOR);
-       yyaccept = 3;
 -      YYDEBUG(433, *YYCURSOR);
++      YYDEBUG(458, *YYCURSOR);
+       yyaccept = 0;
        yych = *(YYMARKER = ++YYCURSOR);
-       if (yych <= ' ') {
-               if (yych == '\t') goto yy238;
-               if (yych <= 0x1F) goto yy77;
-               goto yy238;
-       } else {
-               if (yych <= '.') {
-                       if (yych <= ',') goto yy77;
-                       goto yy238;
+       if (yych <= 'V') {
+               if (yych <= 'C') {
+                       if (yych <= ' ') {
+                               if (yych == '\t') goto yy59;
+                               if (yych <= 0x1F) goto yy3;
+                               goto yy59;
+                       } else {
+                               if (yych <= '-') {
+                                       if (yych <= ',') goto yy3;
 -                                      goto yy420;
++                                      goto yy421;
+                               } else {
+                                       if (yych <= '/') goto yy3;
 -                                      if (yych <= '9') goto yy73;
++                                      if (yych <= '9') goto yy420;
+                                       goto yy3;
+                               }
+                       }
                } else {
-                       if (yych <= '/') goto yy77;
-                       if (yych <= '9') goto yy240;
-                       goto yy77;
+                       if (yych <= 'H') {
+                               if (yych <= 'E') {
+                                       if (yych <= 'D') goto yy59;
+                                       goto yy3;
+                               } else {
+                                       if (yych == 'G') goto yy3;
+                                       goto yy59;
+                               }
+                       } else {
+                               if (yych <= 'M') {
+                                       if (yych <= 'L') goto yy3;
+                                       goto yy59;
+                               } else {
+                                       if (yych <= 'R') goto yy3;
+                                       if (yych <= 'U') goto yy59;
+                                       goto yy3;
+                               }
+                       }
                }
-       }
- yy244:
-       YYDEBUG(244, *YYCURSOR);
-       yych = *++YYCURSOR;
-       if (yych == 'N') goto yy415;
-       if (yych == 'n') goto yy415;
-       goto yy56;
- yy245:
-       YYDEBUG(245, *YYCURSOR);
-       yych = *++YYCURSOR;
-       if (yych <= 'N') {
-               if (yych == 'L') goto yy416;
-               if (yych <= 'M') goto yy56;
-               goto yy417;
        } else {
                if (yych <= 'l') {
-                       if (yych <= 'k') goto yy56;
-                       goto yy416;
+                       if (yych <= 'd') {
+                               if (yych <= 'X') {
+                                       if (yych <= 'W') goto yy59;
+                                       goto yy3;
+                               } else {
+                                       if (yych <= 'Y') goto yy59;
+                                       if (yych <= 'c') goto yy3;
+                                       goto yy59;
+                               }
+                       } else {
+                               if (yych <= 'f') {
+                                       if (yych <= 'e') goto yy3;
+                                       goto yy59;
+                               } else {
+                                       if (yych == 'h') goto yy59;
+                                       goto yy3;
+                               }
+                       }
                } else {
-                       if (yych == 'n') goto yy417;
-                       goto yy56;
+                       if (yych <= 'w') {
+                               if (yych <= 'r') {
+                                       if (yych <= 'm') goto yy59;
+                                       goto yy3;
+                               } else {
+                                       if (yych == 'v') goto yy3;
+                                       goto yy59;
+                               }
+                       } else {
+                               if (yych <= 'y') {
+                                       if (yych <= 'x') goto yy3;
+                                       goto yy59;
+                               } else {
+                                       if (yych == 0xC2) goto yy59;
+                                       goto yy3;
+                               }
+                       }
                }
        }
- yy246:
-       YYDEBUG(246, *YYCURSOR);
 -yy434:
 -      YYDEBUG(434, *YYCURSOR);
++yy459:
++      YYDEBUG(459, *YYCURSOR);
        yych = *++YYCURSOR;
-       if (yych <= 'Y') {
-               if (yych == 'R') goto yy418;
-               if (yych <= 'X') goto yy56;
-               goto yy243;
 -      if (yych <= '/') goto yy436;
 -      if (yych <= '0') goto yy710;
 -      if (yych <= '1') goto yy711;
 -      if (yych <= '9') goto yy712;
 -      goto yy436;
 -yy435:
 -      YYDEBUG(435, *YYCURSOR);
++      if (yych <= '/') goto yy461;
++      if (yych <= '0') goto yy735;
++      if (yych <= '1') goto yy736;
++      if (yych <= '9') goto yy737;
++      goto yy461;
++yy460:
++      YYDEBUG(460, *YYCURSOR);
+       ++YYCURSOR;
+       if ((YYLIMIT - YYCURSOR) < 13) YYFILL(13);
+       yych = *YYCURSOR;
 -yy436:
 -      YYDEBUG(436, *YYCURSOR);
++yy461:
++      YYDEBUG(461, *YYCURSOR);
+       if (yych <= 'W') {
+               if (yych <= 'G') {
+                       if (yych <= '.') {
+                               if (yych <= 0x1F) {
 -                                      if (yych == '\t') goto yy435;
++                                      if (yych == '\t') goto yy460;
+                                       goto yy55;
+                               } else {
 -                                      if (yych <= ' ') goto yy435;
++                                      if (yych <= ' ') goto yy460;
+                                       if (yych <= ',') goto yy55;
 -                                      goto yy551;
++                                      goto yy576;
+                               }
+                       } else {
+                               if (yych <= 'C') {
 -                                      if (yych == 'A') goto yy454;
++                                      if (yych == 'A') goto yy479;
+                                       goto yy55;
+                               } else {
 -                                      if (yych <= 'D') goto yy440;
 -                                      if (yych == 'F') goto yy441;
++                                      if (yych <= 'D') goto yy465;
++                                      if (yych == 'F') goto yy466;
+                                       goto yy55;
+                               }
+                       }
+               } else {
+                       if (yych <= 'O') {
+                               if (yych <= 'J') {
+                                       if (yych <= 'H') goto yy64;
 -                                      if (yych <= 'I') goto yy449;
 -                                      goto yy453;
++                                      if (yych <= 'I') goto yy474;
++                                      goto yy478;
+                               } else {
+                                       if (yych <= 'L') goto yy55;
 -                                      if (yych <= 'M') goto yy437;
 -                                      if (yych <= 'N') goto yy456;
 -                                      goto yy455;
++                                      if (yych <= 'M') goto yy462;
++                                      if (yych <= 'N') goto yy481;
++                                      goto yy480;
+                               }
+                       } else {
+                               if (yych <= 'S') {
 -                                      if (yych <= 'P') goto yy458;
++                                      if (yych <= 'P') goto yy483;
+                                       if (yych <= 'R') goto yy55;
 -                                      goto yy438;
++                                      goto yy463;
+                               } else {
+                                       if (yych <= 'T') goto yy69;
+                                       if (yych <= 'U') goto yy62;
 -                                      if (yych <= 'V') goto yy451;
++                                      if (yych <= 'V') goto yy476;
+                                       goto yy68;
+                               }
+                       }
+               }
        } else {
-               if (yych <= 'r') {
-                       if (yych <= 'q') goto yy56;
-                       goto yy418;
+               if (yych <= 'm') {
+                       if (yych <= 'e') {
+                               if (yych <= '`') {
 -                                      if (yych <= 'X') goto yy452;
++                                      if (yych <= 'X') goto yy477;
+                                       if (yych <= 'Y') goto yy67;
+                                       goto yy55;
+                               } else {
 -                                      if (yych <= 'a') goto yy454;
 -                                      if (yych == 'd') goto yy440;
++                                      if (yych <= 'a') goto yy479;
++                                      if (yych == 'd') goto yy465;
+                                       goto yy55;
+                               }
+                       } else {
+                               if (yych <= 'h') {
 -                                      if (yych <= 'f') goto yy441;
++                                      if (yych <= 'f') goto yy466;
+                                       if (yych <= 'g') goto yy55;
+                                       goto yy64;
+                               } else {
 -                                      if (yych == 'j') goto yy453;
++                                      if (yych == 'j') goto yy478;
+                                       if (yych <= 'l') goto yy55;
+                               }
+                       }
                } else {
-                       if (yych == 'y') goto yy243;
-                       goto yy56;
+                       if (yych <= 'u') {
+                               if (yych <= 'p') {
 -                                      if (yych <= 'n') goto yy456;
 -                                      if (yych <= 'o') goto yy455;
 -                                      goto yy458;
++                                      if (yych <= 'n') goto yy481;
++                                      if (yych <= 'o') goto yy480;
++                                      goto yy483;
+                               } else {
+                                       if (yych <= 'r') goto yy55;
 -                                      if (yych <= 's') goto yy438;
++                                      if (yych <= 's') goto yy463;
+                                       if (yych <= 't') goto yy69;
+                                       goto yy62;
+                               }
+                       } else {
+                               if (yych <= 'x') {
+                                       if (yych == 'w') goto yy68;
+                                       goto yy55;
+                               } else {
+                                       if (yych <= 'y') goto yy67;
+                                       if (yych == 0xC2) goto yy61;
+                                       goto yy55;
+                               }
+                       }
                }
        }
- yy247:
-       YYDEBUG(247, *YYCURSOR);
 -yy437:
 -      YYDEBUG(437, *YYCURSOR);
++yy462:
++      YYDEBUG(462, *YYCURSOR);
        yych = *++YYCURSOR;
-       if (yych <= 'N') {
-               if (yych <= 'K') {
-                       if (yych == 'C') goto yy419;
-                       goto yy56;
+       if (yych <= 'S') {
+               if (yych <= 'I') {
 -                      if (yych == 'A') goto yy566;
++                      if (yych == 'A') goto yy591;
+                       if (yych <= 'H') goto yy55;
+                       goto yy148;
                } else {
-                       if (yych <= 'L') goto yy420;
-                       if (yych <= 'M') goto yy56;
-                       goto yy421;
+                       if (yych == 'O') goto yy147;
+                       if (yych <= 'R') goto yy55;
+                       goto yy149;
                }
        } else {
-               if (yych <= 'k') {
-                       if (yych == 'c') goto yy419;
-                       goto yy56;
+               if (yych <= 'i') {
 -                      if (yych == 'a') goto yy566;
++                      if (yych == 'a') goto yy591;
+                       if (yych <= 'h') goto yy55;
+                       goto yy148;
                } else {
-                       if (yych <= 'l') goto yy420;
-                       if (yych == 'n') goto yy421;
-                       goto yy56;
+                       if (yych <= 'o') {
+                               if (yych <= 'n') goto yy55;
+                               goto yy147;
+                       } else {
+                               if (yych == 's') goto yy149;
+                               goto yy55;
+                       }
                }
        }
- yy248:
-       YYDEBUG(248, *YYCURSOR);
 -yy438:
 -      YYDEBUG(438, *YYCURSOR);
++yy463:
++      YYDEBUG(463, *YYCURSOR);
        yych = *++YYCURSOR;
-       if (yych == 'N') goto yy422;
-       if (yych == 'n') goto yy422;
-       goto yy56;
- yy249:
-       YYDEBUG(249, *YYCURSOR);
-       yyaccept = 6;
-       yych = *(YYMARKER = ++YYCURSOR);
-       if (yych == 'E') goto yy423;
-       if (yych == 'e') goto yy423;
- yy250:
-       YYDEBUG(250, *YYCURSOR);
- #line 1809 "parse_date.re"
-       {
-               timelib_ull i;
-               DEBUG_OUTPUT("relative");
-               TIMELIB_INIT;
-               TIMELIB_HAVE_RELATIVE();
-               while(*ptr) {
-                       i = timelib_get_unsigned_nr(&ptr, 24);
-                       timelib_eat_spaces(&ptr);
-                       timelib_set_relative(&ptr, i, 1, s);
+       if (yych <= 'U') {
+               if (yych <= 'D') {
+                       if (yych == 'A') goto yy129;
+                       goto yy55;
+               } else {
 -                      if (yych <= 'E') goto yy1023;
++                      if (yych <= 'E') goto yy1048;
+                       if (yych <= 'T') goto yy55;
+                       goto yy128;
                }
-               TIMELIB_DEINIT;
-               return TIMELIB_RELATIVE;
-       }
- #line 6935 "<stdout>"
- yy251:
-       YYDEBUG(251, *YYCURSOR);
-       yych = *++YYCURSOR;
-       if (yych == 'V') goto yy409;
-       if (yych == 'v') goto yy409;
-       goto yy56;
- yy252:
-       YYDEBUG(252, *YYCURSOR);
-       yych = *++YYCURSOR;
-       if (yych == 'T') goto yy424;
-       if (yych == 't') goto yy424;
-       goto yy56;
- yy253:
-       YYDEBUG(253, *YYCURSOR);
-       yych = *++YYCURSOR;
-       if (yych == 'T') goto yy425;
-       if (yych == 't') goto yy425;
-       goto yy56;
- yy254:
-       YYDEBUG(254, *YYCURSOR);
-       yych = *++YYCURSOR;
-       if (yych <= 'P') {
-               if (yych == 'C') goto yy426;
-               if (yych <= 'O') goto yy56;
-               goto yy427;
        } else {
-               if (yych <= 'c') {
-                       if (yych <= 'b') goto yy56;
-                       goto yy426;
+               if (yych <= 'd') {
+                       if (yych == 'a') goto yy129;
+                       goto yy55;
                } else {
-                       if (yych == 'p') goto yy427;
-                       goto yy56;
 -                      if (yych <= 'e') goto yy1023;
++                      if (yych <= 'e') goto yy1048;
+                       if (yych == 'u') goto yy128;
+                       goto yy55;
                }
        }
- yy255:
-       YYDEBUG(255, *YYCURSOR);
-       yych = *++YYCURSOR;
-       if (yych == 'N') goto yy412;
-       if (yych == 'n') goto yy412;
-       goto yy56;
- yy256:
-       YYDEBUG(256, *YYCURSOR);
-       yych = *++YYCURSOR;
-       if (yych == 'U') goto yy428;
-       if (yych == 'u') goto yy428;
-       goto yy56;
- yy257:
-       YYDEBUG(257, *YYCURSOR);
-       yych = *++YYCURSOR;
-       if (yych == 'E') goto yy429;
-       if (yych == 'e') goto yy429;
-       goto yy56;
- yy258:
-       YYDEBUG(258, *YYCURSOR);
-       yych = *++YYCURSOR;
-       if (yych == 'E') goto yy423;
-       if (yych == 'e') goto yy423;
-       goto yy56;
- yy259:
-       YYDEBUG(259, *YYCURSOR);
 -yy439:
 -      YYDEBUG(439, *YYCURSOR);
++yy464:
++      YYDEBUG(464, *YYCURSOR);
        yych = *++YYCURSOR;
-       if (yych <= 'E') {
-               if (yych <= 'C') goto yy56;
-               if (yych <= 'D') goto yy430;
-               goto yy431;
+       if (yych <= '`') {
+               if (yych <= 'D') {
+                       if (yych == 'A') goto yy129;
+                       goto yy55;
+               } else {
 -                      if (yych <= 'E') goto yy1023;
++                      if (yych <= 'E') goto yy1048;
+                       if (yych == 'U') goto yy128;
+                       goto yy55;
+               }
        } else {
-               if (yych <= 'c') goto yy56;
-               if (yych <= 'd') goto yy430;
-               if (yych <= 'e') goto yy431;
-               goto yy56;
+               if (yych <= 'e') {
+                       if (yych <= 'a') goto yy129;
+                       if (yych <= 'd') goto yy55;
 -                      goto yy1023;
++                      goto yy1048;
+               } else {
+                       if (yych <= 's') goto yy55;
 -                      if (yych <= 't') goto yy703;
++                      if (yych <= 't') goto yy728;
+                       if (yych <= 'u') goto yy128;
+                       goto yy55;
+               }
        }
- yy260:
-       YYDEBUG(260, *YYCURSOR);
-       yych = *++YYCURSOR;
-       if (yych == 'A') goto yy413;
-       if (yych == 'a') goto yy413;
-       goto yy56;
- yy261:
-       YYDEBUG(261, *YYCURSOR);
 -yy440:
 -      YYDEBUG(440, *YYCURSOR);
++yy465:
++      YYDEBUG(465, *YYCURSOR);
        yych = *++YYCURSOR;
-       if (yych <= ',') {
-               if (yych == '\t') goto yy273;
-               goto yy197;
+       if (yych <= 'E') {
+               if (yych == 'A') goto yy125;
+               if (yych <= 'D') goto yy55;
 -              goto yy553;
++              goto yy578;
        } else {
-               if (yych <= '-') goto yy432;
-               if (yych <= '.') goto yy273;
-               if (yych <= '/') goto yy268;
-               goto yy197;
+               if (yych <= 'a') {
+                       if (yych <= '`') goto yy55;
+                       goto yy125;
+               } else {
 -                      if (yych == 'e') goto yy553;
++                      if (yych == 'e') goto yy578;
+                       goto yy55;
+               }
        }
- yy262:
-       YYDEBUG(262, *YYCURSOR);
 -yy441:
 -      YYDEBUG(441, *YYCURSOR);
++yy466:
++      YYDEBUG(466, *YYCURSOR);
        yych = *++YYCURSOR;
-       if (yych <= '.') {
-               if (yych <= '\t') {
-                       if (yych <= 0x08) goto yy197;
-                       goto yy273;
+       if (yych <= 'R') {
+               if (yych <= 'N') {
 -                      if (yych == 'E') goto yy569;
++                      if (yych == 'E') goto yy594;
+                       goto yy55;
                } else {
-                       if (yych <= ',') goto yy197;
-                       if (yych <= '-') goto yy432;
-                       goto yy273;
+                       if (yych <= 'O') goto yy110;
+                       if (yych <= 'Q') goto yy55;
+                       goto yy109;
                }
        } else {
-               if (yych <= 'U') {
-                       if (yych <= '/') goto yy268;
-                       if (yych <= 'T') goto yy197;
-                       goto yy428;
+               if (yych <= 'n') {
 -                      if (yych == 'e') goto yy569;
++                      if (yych == 'e') goto yy594;
+                       goto yy55;
                } else {
-                       if (yych == 'u') goto yy428;
-                       goto yy197;
+                       if (yych <= 'o') goto yy110;
+                       if (yych == 'r') goto yy109;
+                       goto yy55;
                }
        }
- yy263:
-       YYDEBUG(263, *YYCURSOR);
 -yy442:
 -      YYDEBUG(442, *YYCURSOR);
++yy467:
++      YYDEBUG(467, *YYCURSOR);
        yych = *++YYCURSOR;
-       if (yych == 'S') goto yy249;
-       if (yych == 's') goto yy249;
-       goto yy56;
- yy264:
-       YYDEBUG(264, *YYCURSOR);
-       yyaccept = 4;
-       yych = *(YYMARKER = ++YYCURSOR);
-       if (yych <= '.') {
-               if (yych <= ',') goto yy209;
-               if (yych <= '-') goto yy379;
-               goto yy433;
-       } else {
-               if (yych <= '/') goto yy209;
-               if (yych <= '9') goto yy434;
-               if (yych <= ':') goto yy435;
-               goto yy209;
-       }
- yy265:
-       YYDEBUG(265, *YYCURSOR);
-       yyaccept = 4;
-       yych = *(YYMARKER = ++YYCURSOR);
-       if (yych <= '/') {
-               if (yych <= ',') goto yy209;
-               if (yych <= '-') goto yy379;
-               if (yych <= '.') goto yy433;
-               goto yy209;
-       } else {
-               if (yych <= '2') goto yy434;
-               if (yych <= '9') goto yy436;
-               if (yych <= ':') goto yy435;
-               goto yy209;
-       }
- yy266:
-       YYDEBUG(266, *YYCURSOR);
-       yyaccept = 4;
-       yych = *(YYMARKER = ++YYCURSOR);
-       if (yych <= '.') {
-               if (yych <= ',') goto yy209;
-               if (yych <= '-') goto yy379;
-               goto yy433;
+       if (yych <= 'U') {
+               if (yych == 'H') goto yy81;
+               if (yych <= 'T') goto yy55;
+               goto yy82;
        } else {
-               if (yych <= '/') goto yy209;
-               if (yych <= '9') goto yy436;
-               if (yych <= ':') goto yy435;
-               goto yy209;
+               if (yych <= 'h') {
+                       if (yych <= 'g') goto yy55;
 -                      goto yy1022;
++                      goto yy1047;
+               } else {
+                       if (yych == 'u') goto yy82;
+                       goto yy55;
+               }
        }
- yy267:
-       YYDEBUG(267, *YYCURSOR);
-       yyaccept = 4;
-       yych = *(YYMARKER = ++YYCURSOR);
-       if (yych <= '.') {
-               if (yych <= ',') goto yy209;
-               if (yych <= '-') goto yy379;
-               goto yy433;
 -yy443:
 -      YYDEBUG(443, *YYCURSOR);
++yy468:
++      YYDEBUG(468, *YYCURSOR);
+       yych = *++YYCURSOR;
 -      if (yych == '-') goto yy716;
++      if (yych == '-') goto yy741;
+       if (yych <= '/') goto yy59;
 -      if (yych <= '9') goto yy715;
++      if (yych <= '9') goto yy740;
+       goto yy59;
 -yy444:
 -      YYDEBUG(444, *YYCURSOR);
++yy469:
++      YYDEBUG(469, *YYCURSOR);
+       yych = *++YYCURSOR;
+       if (yych <= 'c') {
 -              if (yych == 'O') goto yy504;
++              if (yych == 'O') goto yy529;
+               goto yy55;
        } else {
-               if (yych == ':') goto yy435;
-               goto yy209;
 -              if (yych <= 'd') goto yy703;
 -              if (yych == 'o') goto yy504;
++              if (yych <= 'd') goto yy728;
++              if (yych == 'o') goto yy529;
+               goto yy55;
        }
- yy268:
-       YYDEBUG(268, *YYCURSOR);
 -yy445:
 -      YYDEBUG(445, *YYCURSOR);
++yy470:
++      YYDEBUG(470, *YYCURSOR);
+       yych = *++YYCURSOR;
 -      if (yych == 'd') goto yy703;
++      if (yych == 'd') goto yy728;
+       goto yy55;
 -yy446:
 -      YYDEBUG(446, *YYCURSOR);
++yy471:
++      YYDEBUG(471, *YYCURSOR);
        yych = *++YYCURSOR;
        switch (yych) {
 -      case '2':       goto yy640;
 -      case '3':       goto yy642;
+       case '0':
+       case '1':
 -      case '9':       goto yy643;
++      case '2':       goto yy665;
++      case '3':       goto yy667;
+       case '4':
+       case '5':
+       case '6':
+       case '7':
+       case '8':
++      case '9':       goto yy668;
        case 'A':
-       case 'a':       goto yy217;
 -      case 'a':       goto yy647;
++      case 'a':       goto yy672;
        case 'D':
-       case 'd':       goto yy218;
 -      case 'd':       goto yy651;
++      case 'd':       goto yy676;
        case 'F':
-       case 'f':       goto yy219;
 -      case 'f':       goto yy645;
++      case 'f':       goto yy670;
        case 'J':
-       case 'j':       goto yy220;
 -      case 'j':       goto yy644;
++      case 'j':       goto yy669;
        case 'M':
-       case 'm':       goto yy221;
 -      case 'm':       goto yy646;
++      case 'm':       goto yy671;
        case 'N':
-       case 'n':       goto yy222;
 -      case 'n':       goto yy650;
++      case 'n':       goto yy675;
        case 'O':
-       case 'o':       goto yy223;
 -      case 'o':       goto yy649;
++      case 'o':       goto yy674;
        case 'S':
-       case 's':       goto yy224;
-       default:        goto yy56;
-       }
- yy269:
-       YYDEBUG(269, *YYCURSOR);
-       yyaccept = 4;
-       yych = *(YYMARKER = ++YYCURSOR);
-       if (yych <= '/') {
-               if (yych == '.') goto yy435;
-               goto yy209;
-       } else {
-               if (yych <= '9') goto yy437;
-               if (yych <= ':') goto yy435;
-               goto yy209;
-       }
- yy270:
-       YYDEBUG(270, *YYCURSOR);
-       yyaccept = 4;
-       yych = *(YYMARKER = ++YYCURSOR);
-       if (yych == '.') goto yy435;
-       if (yych == ':') goto yy435;
-       goto yy209;
- yy271:
-       YYDEBUG(271, *YYCURSOR);
-       yych = *++YYCURSOR;
-       if (yych == 'M') goto yy272;
-       if (yych != 'm') goto yy56;
- yy272:
-       YYDEBUG(272, *YYCURSOR);
-       yych = *++YYCURSOR;
-       if (yych <= 0x1F) {
-               if (yych <= 0x00) goto yy438;
-               if (yych == '\t') goto yy438;
-               goto yy56;
-       } else {
-               if (yych <= ' ') goto yy438;
-               if (yych == '.') goto yy440;
-               goto yy56;
 -      case 's':       goto yy648;
++      case 's':       goto yy673;
+       default:        goto yy55;
        }
- yy273:
-       YYDEBUG(273, *YYCURSOR);
-       yych = *++YYCURSOR;
-       if (yych <= '/') goto yy197;
-       if (yych <= '0') goto yy198;
-       if (yych <= '1') goto yy199;
-       if (yych <= '9') goto yy200;
-       goto yy197;
- yy274:
-       YYDEBUG(274, *YYCURSOR);
 -yy447:
 -      YYDEBUG(447, *YYCURSOR);
++yy472:
++      YYDEBUG(472, *YYCURSOR);
        yych = *++YYCURSOR;
        switch (yych) {
-       case '0':       goto yy441;
-       case '1':       goto yy442;
 -      case '0':       goto yy590;
 -      case '1':       goto yy591;
++      case '0':       goto yy615;
++      case '1':       goto yy616;
        case '2':
        case '3':
        case '4':
        case '6':
        case '7':
        case '8':
-       case '9':       goto yy443;
 -      case '9':       goto yy592;
++      case '9':       goto yy617;
        case 'A':
-       case 'a':       goto yy444;
 -      case 'a':       goto yy596;
++      case 'a':       goto yy621;
        case 'D':
-       case 'd':       goto yy445;
 -      case 'd':       goto yy600;
++      case 'd':       goto yy625;
        case 'F':
-       case 'f':       goto yy446;
 -      case 'f':       goto yy594;
++      case 'f':       goto yy619;
        case 'J':
-       case 'j':       goto yy447;
 -      case 'j':       goto yy593;
++      case 'j':       goto yy618;
        case 'M':
-       case 'm':       goto yy448;
 -      case 'm':       goto yy595;
++      case 'm':       goto yy620;
        case 'N':
-       case 'n':       goto yy449;
 -      case 'n':       goto yy599;
++      case 'n':       goto yy624;
        case 'O':
-       case 'o':       goto yy450;
 -      case 'o':       goto yy598;
++      case 'o':       goto yy623;
        case 'S':
-       case 's':       goto yy451;
-       default:        goto yy56;
-       }
- yy275:
-       YYDEBUG(275, *YYCURSOR);
-       yych = *++YYCURSOR;
-       if (yych <= '/') goto yy276;
-       if (yych <= '9') goto yy452;
- yy276:
-       YYDEBUG(276, *YYCURSOR);
- #line 1102 "parse_date.re"
-       {
-               timelib_ull i, us;
-               const char *ptr_before;
-               TIMELIB_INIT;
-               TIMELIB_HAVE_RELATIVE();
-               TIMELIB_UNHAVE_DATE();
-               TIMELIB_UNHAVE_TIME();
-               TIMELIB_HAVE_TZ();
-               i = timelib_get_unsigned_nr(&ptr, 24);
-               ptr_before = ptr;
-               us = timelib_get_unsigned_nr(&ptr, 6);
-               us = us * pow(10, 7 - (ptr - ptr_before));
-               s->time->y = 1970;
-               s->time->m = 1;
-               s->time->d = 1;
-               s->time->h = s->time->i = s->time->s = 0;
-               s->time->us = 0;
-               s->time->relative.s += i;
-               s->time->relative.us = us;
-               s->time->is_localtime = 1;
-               s->time->zone_type = TIMELIB_ZONETYPE_OFFSET;
-               s->time->z = 0;
-               s->time->dst = 0;
-               TIMELIB_DEINIT;
-               return TIMELIB_RELATIVE;
 -      case 's':       goto yy597;
 -      default:        goto yy552;
++      case 's':       goto yy622;
++      default:        goto yy577;
        }
- #line 7245 "<stdout>"
- yy277:
-       YYDEBUG(277, *YYCURSOR);
 -yy448:
 -      YYDEBUG(448, *YYCURSOR);
++yy473:
++      YYDEBUG(473, *YYCURSOR);
        yych = *++YYCURSOR;
-       if (yych <= '@') {
-               if (yych == ')') goto yy108;
-               goto yy18;
+       if (yych <= '1') {
 -              if (yych <= '/') goto yy552;
 -              if (yych <= '0') goto yy542;
 -              goto yy543;
++              if (yych <= '/') goto yy577;
++              if (yych <= '0') goto yy567;
++              goto yy568;
        } else {
-               if (yych <= 'Z') goto yy453;
-               if (yych <= '`') goto yy18;
-               if (yych <= 'z') goto yy453;
-               goto yy18;
 -              if (yych <= '5') goto yy544;
 -              if (yych <= '9') goto yy545;
 -              goto yy552;
++              if (yych <= '5') goto yy569;
++              if (yych <= '9') goto yy570;
++              goto yy577;
        }
- yy278:
-       YYDEBUG(278, *YYCURSOR);
-       yych = *++YYCURSOR;
-       if (yych <= '@') {
-               if (yych == ')') goto yy108;
 -yy449:
 -      YYDEBUG(449, *YYCURSOR);
++yy474:
++      YYDEBUG(474, *YYCURSOR);
+       yyaccept = 9;
+       yych = *(YYMARKER = ++YYCURSOR);
+       if (yych <= '/') {
+               if (yych <= 0x1F) {
 -                      if (yych == '\t') goto yy506;
++                      if (yych == '\t') goto yy531;
+               } else {
 -                      if (yych <= ' ') goto yy506;
 -                      if (yych <= ',') goto yy450;
 -                      if (yych <= '.') goto yy506;
++                      if (yych <= ' ') goto yy531;
++                      if (yych <= ',') goto yy475;
++                      if (yych <= '.') goto yy531;
+               }
        } else {
-               if (yych <= 'Z') goto yy453;
-               if (yych <= '`') goto yy279;
-               if (yych <= 'z') goto yy453;
+               if (yych <= 'U') {
 -                      if (yych <= '9') goto yy508;
 -                      if (yych == 'I') goto yy541;
++                      if (yych <= '9') goto yy533;
++                      if (yych == 'I') goto yy566;
+               } else {
 -                      if (yych == 'W') goto yy450;
 -                      if (yych <= 'X') goto yy514;
++                      if (yych == 'W') goto yy475;
++                      if (yych <= 'X') goto yy539;
+               }
        }
- yy279:
-       YYDEBUG(279, *YYCURSOR);
- #line 1651 "parse_date.re"
 -yy450:
 -      YYDEBUG(450, *YYCURSOR);
 -#line 1469 "parse_date.re"
++yy475:
++      YYDEBUG(475, *YYCURSOR);
++#line 1491 "parse_date.re"
        {
-               DEBUG_OUTPUT("ago");
+               DEBUG_OUTPUT("datenoyearrev");
                TIMELIB_INIT;
-               s->time->relative.y = 0 - s->time->relative.y;
-               s->time->relative.m = 0 - s->time->relative.m;
-               s->time->relative.d = 0 - s->time->relative.d;
-               s->time->relative.h = 0 - s->time->relative.h;
-               s->time->relative.i = 0 - s->time->relative.i;
-               s->time->relative.s = 0 - s->time->relative.s;
-               s->time->relative.weekday = 0 - s->time->relative.weekday;
-               if (s->time->relative.weekday == 0) {
-                       s->time->relative.weekday = -7;
+               TIMELIB_HAVE_DATE();
 -              s->time->d = timelib_get_nr((char **) &ptr, 2);
 -              timelib_skip_day_suffix((char **) &ptr);
 -              s->time->m = timelib_get_month((char **) &ptr);
++              s->time->d = timelib_get_nr(&ptr, 2);
++              timelib_skip_day_suffix(&ptr);
++              s->time->m = timelib_get_month(&ptr);
+               TIMELIB_DEINIT;
+               return TIMELIB_DATE_TEXT;
+       }
 -#line 9167 "<stdout>"
 -yy451:
 -      YYDEBUG(451, *YYCURSOR);
++#line 9304 "<stdout>"
++yy476:
++      YYDEBUG(476, *YYCURSOR);
+       yyaccept = 9;
+       yych = *(YYMARKER = ++YYCURSOR);
+       if (yych <= ',') {
+               if (yych <= '\t') {
 -                      if (yych <= 0x08) goto yy450;
 -                      goto yy506;
++                      if (yych <= 0x08) goto yy475;
++                      goto yy531;
+               } else {
 -                      if (yych == ' ') goto yy506;
 -                      goto yy450;
++                      if (yych == ' ') goto yy531;
++                      goto yy475;
                }
-               if (s->time->relative.have_special_relative && s->time->relative.special.type == TIMELIB_SPECIAL_WEEKDAY) {
-                       s->time->relative.special.amount = 0 - s->time->relative.special.amount;
+       } else {
+               if (yych <= '9') {
 -                      if (yych <= '.') goto yy506;
 -                      if (yych <= '/') goto yy450;
 -                      goto yy508;
++                      if (yych <= '.') goto yy531;
++                      if (yych <= '/') goto yy475;
++                      goto yy533;
+               } else {
 -                      if (yych == 'I') goto yy539;
 -                      goto yy450;
++                      if (yych == 'I') goto yy564;
++                      goto yy475;
                }
-               TIMELIB_DEINIT;
-               return TIMELIB_AGO;
        }
- #line 7290 "<stdout>"
- yy280:
-       YYDEBUG(280, *YYCURSOR);
-       yyaccept = 7;
 -yy452:
 -      YYDEBUG(452, *YYCURSOR);
++yy477:
++      YYDEBUG(477, *YYCURSOR);
+       yyaccept = 9;
        yych = *(YYMARKER = ++YYCURSOR);
-       if (yych <= '/') {
-               if (yych <= '(') {
-                       if (yych <= '\t') {
-                               if (yych >= '\t') goto yy135;
-                       } else {
-                               if (yych == ' ') goto yy135;
-                       }
+       if (yych <= ',') {
+               if (yych <= '\t') {
 -                      if (yych <= 0x08) goto yy450;
 -                      goto yy506;
++                      if (yych <= 0x08) goto yy475;
++                      goto yy531;
                } else {
-                       if (yych <= ',') {
-                               if (yych <= ')') goto yy108;
-                       } else {
-                               if (yych <= '-') goto yy454;
-                               if (yych <= '.') goto yy135;
-                       }
 -                      if (yych == ' ') goto yy506;
 -                      goto yy450;
++                      if (yych == ' ') goto yy531;
++                      goto yy475;
                }
        } else {
-               if (yych <= 'Z') {
-                       if (yych <= '@') {
-                               if (yych <= '9') goto yy135;
-                       } else {
-                               if (yych == 'I') goto yy455;
-                               goto yy453;
-                       }
+               if (yych <= '9') {
 -                      if (yych <= '.') goto yy506;
 -                      if (yych <= '/') goto yy450;
 -                      goto yy508;
++                      if (yych <= '.') goto yy531;
++                      if (yych <= '/') goto yy475;
++                      goto yy533;
                } else {
-                       if (yych <= 'h') {
-                               if (yych >= 'a') goto yy453;
-                       } else {
-                               if (yych <= 'i') goto yy455;
-                               if (yych <= 'z') goto yy453;
-                       }
 -                      if (yych == 'I') goto yy538;
 -                      goto yy450;
++                      if (yych == 'I') goto yy563;
++                      goto yy475;
+               }
+       }
 -yy453:
 -      YYDEBUG(453, *YYCURSOR);
++yy478:
++      YYDEBUG(478, *YYCURSOR);
+       yych = *++YYCURSOR;
+       if (yych <= 'U') {
 -              if (yych == 'A') goto yy531;
++              if (yych == 'A') goto yy556;
+               if (yych <= 'T') goto yy55;
 -              goto yy530;
++              goto yy555;
+       } else {
+               if (yych <= 'a') {
+                       if (yych <= '`') goto yy55;
 -                      goto yy531;
++                      goto yy556;
+               } else {
 -                      if (yych == 'u') goto yy530;
++                      if (yych == 'u') goto yy555;
+                       goto yy55;
+               }
+       }
 -yy454:
 -      YYDEBUG(454, *YYCURSOR);
++yy479:
++      YYDEBUG(479, *YYCURSOR);
+       yych = *++YYCURSOR;
+       if (yych <= 'T') {
+               if (yych <= 'L') {
 -                      if (yych == '.') goto yy459;
++                      if (yych == '.') goto yy484;
+                       goto yy55;
+               } else {
 -                      if (yych <= 'M') goto yy460;
 -                      if (yych == 'P') goto yy524;
++                      if (yych <= 'M') goto yy485;
++                      if (yych == 'P') goto yy549;
+                       goto yy55;
                }
 -                      if (yych <= 'U') goto yy523;
 -                      if (yych == 'm') goto yy460;
+       } else {
+               if (yych <= 'o') {
 -                      if (yych <= 'p') goto yy524;
 -                      if (yych == 'u') goto yy523;
++                      if (yych <= 'U') goto yy548;
++                      if (yych == 'm') goto yy485;
+                       goto yy55;
+               } else {
 -yy455:
 -      YYDEBUG(455, *YYCURSOR);
++                      if (yych <= 'p') goto yy549;
++                      if (yych == 'u') goto yy548;
+                       goto yy55;
+               }
+       }
 -      if (yych == 'C') goto yy518;
 -      if (yych == 'c') goto yy518;
++yy480:
++      YYDEBUG(480, *YYCURSOR);
+       yych = *++YYCURSOR;
 -yy456:
 -      YYDEBUG(456, *YYCURSOR);
++      if (yych == 'C') goto yy543;
++      if (yych == 'c') goto yy543;
+       goto yy55;
 -      if (yych == 'O') goto yy504;
 -      if (yych == 'o') goto yy504;
++yy481:
++      YYDEBUG(481, *YYCURSOR);
+       yych = *++YYCURSOR;
 -yy457:
 -      YYDEBUG(457, *YYCURSOR);
++      if (yych == 'O') goto yy529;
++      if (yych == 'o') goto yy529;
+       goto yy55;
 -      if (yych <= '5') goto yy464;
 -      if (yych <= '9') goto yy466;
++yy482:
++      YYDEBUG(482, *YYCURSOR);
+       yych = *++YYCURSOR;
+       if (yych <= '/') goto yy55;
 -yy458:
 -      YYDEBUG(458, *YYCURSOR);
++      if (yych <= '5') goto yy489;
++      if (yych <= '9') goto yy491;
+       goto yy55;
 -              if (yych <= 'M') goto yy460;
 -              if (yych == 'm') goto yy460;
++yy483:
++      YYDEBUG(483, *YYCURSOR);
+       yych = *++YYCURSOR;
+       if (yych <= 'L') {
+               if (yych != '.') goto yy55;
+       } else {
 -yy459:
 -      YYDEBUG(459, *YYCURSOR);
++              if (yych <= 'M') goto yy485;
++              if (yych == 'm') goto yy485;
+               goto yy55;
+       }
 -      if (yych == 'M') goto yy460;
++yy484:
++      YYDEBUG(484, *YYCURSOR);
+       yych = *++YYCURSOR;
 -yy460:
 -      YYDEBUG(460, *YYCURSOR);
++      if (yych == 'M') goto yy485;
+       if (yych != 'm') goto yy55;
 -              if (yych <= 0x00) goto yy462;
 -              if (yych == '\t') goto yy462;
++yy485:
++      YYDEBUG(485, *YYCURSOR);
+       yych = *++YYCURSOR;
+       if (yych <= 0x1F) {
 -              if (yych <= ' ') goto yy462;
++              if (yych <= 0x00) goto yy487;
++              if (yych == '\t') goto yy487;
+               goto yy55;
+       } else {
 -      YYDEBUG(461, *YYCURSOR);
++              if (yych <= ' ') goto yy487;
+               if (yych != '.') goto yy55;
+       }
 -              if (yych <= 0x00) goto yy462;
++      YYDEBUG(486, *YYCURSOR);
+       yych = *++YYCURSOR;
+       if (yych <= '\t') {
++              if (yych <= 0x00) goto yy487;
+               if (yych <= 0x08) goto yy55;
+       } else {
+               if (yych != ' ') goto yy55;
        }
- yy281:
-       YYDEBUG(281, *YYCURSOR);
- #line 1731 "parse_date.re"
 -yy462:
 -      YYDEBUG(462, *YYCURSOR);
++yy487:
++      YYDEBUG(487, *YYCURSOR);
+       ++YYCURSOR;
 -      YYDEBUG(463, *YYCURSOR);
 -#line 1187 "parse_date.re"
++      YYDEBUG(488, *YYCURSOR);
++#line 1197 "parse_date.re"
        {
-               DEBUG_OUTPUT("monthtext");
+               DEBUG_OUTPUT("timetiny12 | timeshort12 | timelong12");
                TIMELIB_INIT;
-               TIMELIB_HAVE_DATE();
-               s->time->m = timelib_lookup_month(&ptr);
+               TIMELIB_HAVE_TIME();
 -              s->time->h = timelib_get_nr((char **) &ptr, 2);
++              s->time->h = timelib_get_nr(&ptr, 2);
+               if (*ptr == ':' || *ptr == '.') {
 -                      s->time->i = timelib_get_nr((char **) &ptr, 2);
++                      s->time->i = timelib_get_nr(&ptr, 2);
+                       if (*ptr == ':' || *ptr == '.') {
 -                              s->time->s = timelib_get_nr((char **) &ptr, 2);
++                              s->time->s = timelib_get_nr(&ptr, 2);
+                       }
+               }
 -              s->time->h += timelib_meridian((char **) &ptr, s->time->h);
++              s->time->h += timelib_meridian(&ptr, s->time->h);
                TIMELIB_DEINIT;
-               return TIMELIB_DATE_TEXT;
+               return TIMELIB_TIME12;
        }
- #line 7338 "<stdout>"
- yy282:
-       YYDEBUG(282, *YYCURSOR);
-       yyaccept = 7;
 -#line 9324 "<stdout>"
 -yy464:
 -      YYDEBUG(464, *YYCURSOR);
 -      yyaccept = 10;
++#line 9461 "<stdout>"
++yy489:
++      YYDEBUG(489, *YYCURSOR);
++      yyaccept = 10;
        yych = *(YYMARKER = ++YYCURSOR);
        if (yych <= '/') {
-               if (yych <= '(') {
-                       if (yych <= '\t') {
-                               if (yych <= 0x08) goto yy281;
-                               goto yy135;
-                       } else {
-                               if (yych == ' ') goto yy135;
-                               goto yy281;
-                       }
-               } else {
-                       if (yych <= ',') {
-                               if (yych <= ')') goto yy108;
-                               goto yy281;
-                       } else {
-                               if (yych <= '-') goto yy454;
-                               if (yych <= '.') goto yy135;
-                               goto yy281;
-                       }
-               }
 -              if (yych == '.') goto yy467;
++              if (yych == '.') goto yy492;
        } else {
-               if (yych <= 'Z') {
-                       if (yych <= '@') {
-                               if (yych <= '9') goto yy135;
-                               goto yy281;
-                       } else {
-                               if (yych == 'U') goto yy456;
-                               goto yy453;
 -              if (yych <= '9') goto yy481;
 -              if (yych <= ':') goto yy467;
++              if (yych <= '9') goto yy506;
++              if (yych <= ':') goto yy492;
+       }
 -yy465:
 -      YYDEBUG(465, *YYCURSOR);
 -#line 1224 "parse_date.re"
++yy490:
++      YYDEBUG(490, *YYCURSOR);
++#line 1234 "parse_date.re"
+       {
+               int tz_not_found;
+               DEBUG_OUTPUT("timeshort24 | timelong24 | iso8601long");
+               TIMELIB_INIT;
+               TIMELIB_HAVE_TIME();
 -              s->time->h = timelib_get_nr((char **) &ptr, 2);
 -              s->time->i = timelib_get_nr((char **) &ptr, 2);
++              s->time->h = timelib_get_nr(&ptr, 2);
++              s->time->i = timelib_get_nr(&ptr, 2);
+               if (*ptr == ':' || *ptr == '.') {
 -                      s->time->s = timelib_get_nr((char **) &ptr, 2);
++                      s->time->s = timelib_get_nr(&ptr, 2);
+                       if (*ptr == '.') {
 -                              s->time->us = timelib_get_frac_nr((char **) &ptr, 8);
++                              s->time->us = timelib_get_frac_nr(&ptr, 8);
                        }
-               } else {
-                       if (yych <= 't') {
-                               if (yych <= '`') goto yy281;
-                               goto yy453;
-                       } else {
-                               if (yych <= 'u') goto yy456;
-                               if (yych <= 'z') goto yy453;
-                               goto yy281;
+               }
+               if (*ptr != '\0') {
 -                      s->time->z = timelib_parse_zone((char **) &ptr, &s->time->dst, s->time, &tz_not_found, s->tzdb, tz_get_wrapper);
++                      s->time->z = timelib_parse_zone(&ptr, &s->time->dst, s->time, &tz_not_found, s->tzdb, tz_get_wrapper);
+                       if (tz_not_found) {
+                               add_error(s, TIMELIB_ERR_TZID_NOT_FOUND, "The timezone could not be found in the database");
                        }
                }
+               TIMELIB_DEINIT;
+               return TIMELIB_TIME24_WITH_ZONE;
        }
- yy283:
-       YYDEBUG(283, *YYCURSOR);
 -#line 9362 "<stdout>"
 -yy466:
 -      YYDEBUG(466, *YYCURSOR);
++#line 9499 "<stdout>"
++yy491:
++      YYDEBUG(491, *YYCURSOR);
+       yyaccept = 10;
+       yych = *(YYMARKER = ++YYCURSOR);
 -      if (yych == '.') goto yy467;
 -      if (yych != ':') goto yy465;
 -yy467:
 -      YYDEBUG(467, *YYCURSOR);
++      if (yych == '.') goto yy492;
++      if (yych != ':') goto yy490;
++yy492:
++      YYDEBUG(492, *YYCURSOR);
+       yych = *++YYCURSOR;
+       if (yych <= '/') goto yy55;
 -      if (yych <= '5') goto yy468;
 -      if (yych <= '6') goto yy469;
 -      if (yych <= '9') goto yy470;
++      if (yych <= '5') goto yy493;
++      if (yych <= '6') goto yy494;
++      if (yych <= '9') goto yy495;
+       goto yy55;
 -yy468:
 -      YYDEBUG(468, *YYCURSOR);
++yy493:
++      YYDEBUG(493, *YYCURSOR);
+       yyaccept = 10;
+       yych = *(YYMARKER = ++YYCURSOR);
 -      if (yych == '.') goto yy471;
 -      if (yych <= '/') goto yy465;
 -      if (yych <= '9') goto yy474;
 -      goto yy465;
 -yy469:
 -      YYDEBUG(469, *YYCURSOR);
++      if (yych == '.') goto yy496;
++      if (yych <= '/') goto yy490;
++      if (yych <= '9') goto yy499;
++      goto yy490;
++yy494:
++      YYDEBUG(494, *YYCURSOR);
+       yyaccept = 10;
+       yych = *(YYMARKER = ++YYCURSOR);
 -      if (yych == '.') goto yy471;
 -      if (yych == '0') goto yy474;
 -      goto yy465;
 -yy470:
 -      YYDEBUG(470, *YYCURSOR);
++      if (yych == '.') goto yy496;
++      if (yych == '0') goto yy499;
++      goto yy490;
++yy495:
++      YYDEBUG(495, *YYCURSOR);
+       yyaccept = 10;
+       yych = *(YYMARKER = ++YYCURSOR);
 -      if (yych != '.') goto yy465;
 -yy471:
 -      YYDEBUG(471, *YYCURSOR);
++      if (yych != '.') goto yy490;
++yy496:
++      YYDEBUG(496, *YYCURSOR);
+       yych = *++YYCURSOR;
+       if (yybm[0+yych] & 128) {
 -              goto yy472;
++              goto yy497;
+       }
+       goto yy55;
 -yy472:
 -      YYDEBUG(472, *YYCURSOR);
++yy497:
++      YYDEBUG(497, *YYCURSOR);
        ++YYCURSOR;
        if (YYLIMIT <= YYCURSOR) YYFILL(1);
        yych = *YYCURSOR;
-       if (yybm[0+yych] & 64) {
-               goto yy457;
 -      YYDEBUG(473, *YYCURSOR);
++      YYDEBUG(498, *YYCURSOR);
+       if (yybm[0+yych] & 128) {
 -              goto yy472;
++              goto yy497;
        }
-       goto yy56;
- yy284:
-       YYDEBUG(284, *YYCURSOR);
-       yyaccept = 2;
 -      goto yy465;
 -yy474:
 -      YYDEBUG(474, *YYCURSOR);
++      goto yy490;
++yy499:
++      YYDEBUG(499, *YYCURSOR);
+       yyaccept = 10;
        yych = *(YYMARKER = ++YYCURSOR);
-       if (yych <= '/') {
-               if (yych <= ',') {
-                       if (yych == ')') goto yy108;
-                       goto yy18;
+       if (yych <= '@') {
+               if (yych <= 0x1F) {
 -                      if (yych != '\t') goto yy465;
++                      if (yych != '\t') goto yy490;
                } else {
-                       if (yych == '.') goto yy18;
-                       goto yy283;
 -                      if (yych <= ' ') goto yy475;
 -                      if (yych == '.') goto yy471;
 -                      goto yy465;
++                      if (yych <= ' ') goto yy500;
++                      if (yych == '.') goto yy496;
++                      goto yy490;
                }
        } else {
-               if (yych <= '^') {
-                       if (yych <= '@') goto yy18;
-                       if (yych <= 'Z') goto yy453;
-                       goto yy18;
+               if (yych <= '`') {
 -                      if (yych <= 'A') goto yy477;
 -                      if (yych == 'P') goto yy477;
 -                      goto yy465;
++                      if (yych <= 'A') goto yy502;
++                      if (yych == 'P') goto yy502;
++                      goto yy490;
                } else {
-                       if (yych <= '_') goto yy283;
-                       if (yych <= '`') goto yy18;
-                       if (yych <= 'z') goto yy459;
-                       goto yy18;
 -                      if (yych <= 'a') goto yy477;
 -                      if (yych == 'p') goto yy477;
 -                      goto yy465;
++                      if (yych <= 'a') goto yy502;
++                      if (yych == 'p') goto yy502;
++                      goto yy490;
                }
        }
- yy285:
-       YYDEBUG(285, *YYCURSOR);
-       yyaccept = 8;
-       yych = *(YYMARKER = ++YYCURSOR);
-       if (yych <= '/') {
-               if (yych <= ',') {
-                       if (yych == ')') goto yy108;
-                       goto yy279;
 -yy475:
 -      YYDEBUG(475, *YYCURSOR);
++yy500:
++      YYDEBUG(500, *YYCURSOR);
+       ++YYCURSOR;
+       if ((YYLIMIT - YYCURSOR) < 5) YYFILL(5);
+       yych = *YYCURSOR;
 -      YYDEBUG(476, *YYCURSOR);
++      YYDEBUG(501, *YYCURSOR);
+       if (yych <= 'A') {
+               if (yych <= 0x1F) {
 -                      if (yych == '\t') goto yy475;
++                      if (yych == '\t') goto yy500;
+                       goto yy55;
                } else {
-                       if (yych == '.') goto yy279;
-                       goto yy283;
 -                      if (yych <= ' ') goto yy475;
++                      if (yych <= ' ') goto yy500;
+                       if (yych <= '@') goto yy55;
                }
        } else {
-               if (yych <= '^') {
-                       if (yych <= '@') goto yy279;
-                       if (yych <= 'Z') goto yy453;
-                       goto yy279;
+               if (yych <= '`') {
+                       if (yych != 'P') goto yy55;
                } else {
-                       if (yych <= '_') goto yy283;
-                       if (yych <= '`') goto yy279;
-                       if (yych <= 'z') goto yy459;
-                       goto yy279;
 -                      if (yych <= 'a') goto yy477;
++                      if (yych <= 'a') goto yy502;
+                       if (yych != 'p') goto yy55;
                }
        }
- yy286:
-       YYDEBUG(286, *YYCURSOR);
-       yyaccept = 7;
-       yych = *(YYMARKER = ++YYCURSOR);
-       if (yych <= '9') {
-               if (yych <= '(') {
-                       if (yych <= '\t') {
-                               if (yych <= 0x08) goto yy281;
-                               goto yy135;
-                       } else {
-                               if (yych == ' ') goto yy135;
-                               goto yy281;
-                       }
-               } else {
-                       if (yych <= '-') {
-                               if (yych <= ')') goto yy108;
-                               if (yych <= ',') goto yy281;
-                               goto yy460;
-                       } else {
-                               if (yych == '/') goto yy283;
-                               goto yy135;
-                       }
-               }
 -yy477:
 -      YYDEBUG(477, *YYCURSOR);
++yy502:
++      YYDEBUG(502, *YYCURSOR);
+       yych = *++YYCURSOR;
+       if (yych <= 'L') {
+               if (yych != '.') goto yy55;
        } else {
-               if (yych <= '^') {
-                       if (yych <= 'H') {
-                               if (yych <= '@') goto yy281;
-                               goto yy453;
-                       } else {
-                               if (yych <= 'I') goto yy455;
-                               if (yych <= 'Z') goto yy453;
-                               goto yy281;
-                       }
-               } else {
-                       if (yych <= 'h') {
-                               if (yych <= '_') goto yy283;
-                               if (yych <= '`') goto yy281;
-                               goto yy459;
-                       } else {
-                               if (yych <= 'i') goto yy461;
-                               if (yych <= 'z') goto yy459;
-                               goto yy281;
-                       }
-               }
 -              if (yych <= 'M') goto yy479;
 -              if (yych == 'm') goto yy479;
++              if (yych <= 'M') goto yy504;
++              if (yych == 'm') goto yy504;
+               goto yy55;
        }
- yy287:
-       YYDEBUG(287, *YYCURSOR);
-       yyaccept = 7;
-       yych = *(YYMARKER = ++YYCURSOR);
-       if (yych <= '9') {
-               if (yych <= '(') {
-                       if (yych <= '\t') {
-                               if (yych <= 0x08) goto yy281;
-                               goto yy135;
-                       } else {
-                               if (yych == ' ') goto yy135;
-                               goto yy281;
-                       }
-               } else {
-                       if (yych <= '-') {
-                               if (yych <= ')') goto yy108;
-                               if (yych <= ',') goto yy281;
-                               goto yy460;
-                       } else {
-                               if (yych == '/') goto yy283;
-                               goto yy135;
-                       }
-               }
 -      YYDEBUG(478, *YYCURSOR);
++      YYDEBUG(503, *YYCURSOR);
+       yych = *++YYCURSOR;
 -      if (yych == 'M') goto yy479;
++      if (yych == 'M') goto yy504;
+       if (yych != 'm') goto yy55;
 -yy479:
 -      YYDEBUG(479, *YYCURSOR);
++yy504:
++      YYDEBUG(504, *YYCURSOR);
+       yych = *++YYCURSOR;
+       if (yych <= 0x1F) {
 -              if (yych <= 0x00) goto yy462;
 -              if (yych == '\t') goto yy462;
++              if (yych <= 0x00) goto yy487;
++              if (yych == '\t') goto yy487;
+               goto yy55;
        } else {
-               if (yych <= '^') {
-                       if (yych <= 'T') {
-                               if (yych <= '@') goto yy281;
-                               goto yy453;
-                       } else {
-                               if (yych <= 'U') goto yy456;
-                               if (yych <= 'Z') goto yy453;
-                               goto yy281;
-                       }
-               } else {
-                       if (yych <= 't') {
-                               if (yych <= '_') goto yy283;
-                               if (yych <= '`') goto yy281;
-                               goto yy459;
-                       } else {
-                               if (yych <= 'u') goto yy462;
-                               if (yych <= 'z') goto yy459;
-                               goto yy281;
-                       }
-               }
 -              if (yych <= ' ') goto yy462;
++              if (yych <= ' ') goto yy487;
+               if (yych != '.') goto yy55;
        }
- yy288:
-       YYDEBUG(288, *YYCURSOR);
 -      YYDEBUG(480, *YYCURSOR);
++      YYDEBUG(505, *YYCURSOR);
        yych = *++YYCURSOR;
-       if (yych <= 'K') {
-               if (yych <= ')') {
-                       if (yych <= '(') goto yy18;
-                       goto yy108;
-               } else {
-                       if (yych <= '@') goto yy18;
-                       if (yych <= 'J') goto yy453;
-                       goto yy463;
-               }
+       if (yych <= '\t') {
 -              if (yych <= 0x00) goto yy462;
++              if (yych <= 0x00) goto yy487;
+               if (yych <= 0x08) goto yy55;
 -              goto yy462;
++              goto yy487;
        } else {
-               if (yych <= 'j') {
-                       if (yych <= 'Z') goto yy453;
-                       if (yych <= '`') goto yy18;
-                       goto yy453;
-               } else {
-                       if (yych <= 'k') goto yy463;
-                       if (yych <= 'z') goto yy453;
-                       goto yy18;
-               }
 -              if (yych == ' ') goto yy462;
++              if (yych == ' ') goto yy487;
+               goto yy55;
        }
- yy289:
-       YYDEBUG(289, *YYCURSOR);
-       yyaccept = 2;
 -yy481:
 -      YYDEBUG(481, *YYCURSOR);
++yy506:
++      YYDEBUG(506, *YYCURSOR);
+       yyaccept = 10;
        yych = *(YYMARKER = ++YYCURSOR);
-       if (yych <= 'J') {
-               if (yych <= '-') {
-                       if (yych == ')') goto yy108;
-                       if (yych <= ',') goto yy18;
-                       goto yy283;
+       if (yych <= ':') {
+               if (yych <= ' ') {
 -                      if (yych == '\t') goto yy482;
 -                      if (yych <= 0x1F) goto yy465;
++                      if (yych == '\t') goto yy507;
++                      if (yych <= 0x1F) goto yy490;
                } else {
-                       if (yych == '/') goto yy283;
-                       if (yych <= '@') goto yy18;
-                       goto yy453;
 -                      if (yych == '.') goto yy467;
 -                      if (yych <= '9') goto yy465;
 -                      goto yy485;
++                      if (yych == '.') goto yy492;
++                      if (yych <= '9') goto yy490;
++                      goto yy510;
                }
        } else {
-               if (yych <= '_') {
-                       if (yych <= 'K') goto yy463;
-                       if (yych <= 'Z') goto yy453;
-                       if (yych <= '^') goto yy18;
-                       goto yy283;
+               if (yych <= 'P') {
 -                      if (yych == 'A') goto yy484;
 -                      if (yych <= 'O') goto yy465;
 -                      goto yy484;
++                      if (yych == 'A') goto yy509;
++                      if (yych <= 'O') goto yy490;
++                      goto yy509;
                } else {
-                       if (yych <= 'j') {
-                               if (yych <= '`') goto yy18;
-                               goto yy459;
+                       if (yych <= 'a') {
 -                              if (yych <= '`') goto yy465;
 -                              goto yy484;
++                              if (yych <= '`') goto yy490;
++                              goto yy509;
                        } else {
-                               if (yych <= 'k') goto yy464;
-                               if (yych <= 'z') goto yy459;
-                               goto yy18;
 -                              if (yych == 'p') goto yy484;
 -                              goto yy465;
++                              if (yych == 'p') goto yy509;
++                              goto yy490;
                        }
                }
        }
- yy290:
-       YYDEBUG(290, *YYCURSOR);
-       yyaccept = 7;
-       yych = *(YYMARKER = ++YYCURSOR);
-       if (yych <= '/') {
-               if (yych <= '(') {
-                       if (yych <= '\t') {
-                               if (yych <= 0x08) goto yy281;
-                               goto yy135;
-                       } else {
-                               if (yych == ' ') goto yy135;
-                               goto yy281;
-                       }
 -yy482:
 -      YYDEBUG(482, *YYCURSOR);
++yy507:
++      YYDEBUG(507, *YYCURSOR);
+       ++YYCURSOR;
+       if ((YYLIMIT - YYCURSOR) < 5) YYFILL(5);
+       yych = *YYCURSOR;
 -      YYDEBUG(483, *YYCURSOR);
++      YYDEBUG(508, *YYCURSOR);
+       if (yych <= 'A') {
+               if (yych <= 0x1F) {
 -                      if (yych == '\t') goto yy482;
++                      if (yych == '\t') goto yy507;
+                       goto yy55;
                } else {
-                       if (yych <= ',') {
-                               if (yych <= ')') goto yy108;
-                               goto yy281;
-                       } else {
-                               if (yych <= '-') goto yy454;
-                               if (yych <= '.') goto yy135;
-                               goto yy281;
-                       }
 -                      if (yych <= ' ') goto yy482;
++                      if (yych <= ' ') goto yy507;
+                       if (yych <= '@') goto yy55;
                }
        } else {
-               if (yych <= 'Z') {
-                       if (yych <= '@') {
-                               if (yych <= '9') goto yy135;
-                               goto yy281;
-                       } else {
-                               if (yych == 'E') goto yy465;
-                               goto yy453;
-                       }
+               if (yych <= '`') {
+                       if (yych != 'P') goto yy55;
                } else {
-                       if (yych <= 'd') {
-                               if (yych <= '`') goto yy281;
-                               goto yy453;
-                       } else {
-                               if (yych <= 'e') goto yy465;
-                               if (yych <= 'z') goto yy453;
-                               goto yy281;
-                       }
 -                      if (yych <= 'a') goto yy484;
++                      if (yych <= 'a') goto yy509;
+                       if (yych != 'p') goto yy55;
                }
        }
- yy291:
-       YYDEBUG(291, *YYCURSOR);
-       yyaccept = 7;
 -yy484:
 -      YYDEBUG(484, *YYCURSOR);
++yy509:
++      YYDEBUG(509, *YYCURSOR);
+       yych = *++YYCURSOR;
+       if (yych <= 'L') {
 -              if (yych == '.') goto yy501;
++              if (yych == '.') goto yy526;
+               goto yy55;
+       } else {
 -              if (yych <= 'M') goto yy502;
 -              if (yych == 'm') goto yy502;
++              if (yych <= 'M') goto yy527;
++              if (yych == 'm') goto yy527;
+               goto yy55;
+       }
 -yy485:
 -      YYDEBUG(485, *YYCURSOR);
++yy510:
++      YYDEBUG(510, *YYCURSOR);
+       yych = *++YYCURSOR;
+       if (yych <= '/') goto yy55;
 -      if (yych <= '5') goto yy486;
 -      if (yych <= '6') goto yy487;
 -      if (yych <= '9') goto yy470;
++      if (yych <= '5') goto yy511;
++      if (yych <= '6') goto yy512;
++      if (yych <= '9') goto yy495;
+       goto yy55;
 -yy486:
 -      YYDEBUG(486, *YYCURSOR);
++yy511:
++      YYDEBUG(511, *YYCURSOR);
+       yyaccept = 10;
        yych = *(YYMARKER = ++YYCURSOR);
-       if (yych <= '9') {
-               if (yych <= '(') {
-                       if (yych <= '\t') {
-                               if (yych <= 0x08) goto yy281;
-                               goto yy135;
-                       } else {
-                               if (yych == ' ') goto yy135;
-                               goto yy281;
-                       }
 -      if (yych == '.') goto yy471;
 -      if (yych <= '/') goto yy465;
 -      if (yych <= '9') goto yy488;
 -      goto yy465;
 -yy487:
 -      YYDEBUG(487, *YYCURSOR);
++      if (yych == '.') goto yy496;
++      if (yych <= '/') goto yy490;
++      if (yych <= '9') goto yy513;
++      goto yy490;
++yy512:
++      YYDEBUG(512, *YYCURSOR);
+       yyaccept = 10;
+       yych = *(YYMARKER = ++YYCURSOR);
 -      if (yych == '.') goto yy471;
 -      if (yych != '0') goto yy465;
 -yy488:
 -      YYDEBUG(488, *YYCURSOR);
++      if (yych == '.') goto yy496;
++      if (yych != '0') goto yy490;
++yy513:
++      YYDEBUG(513, *YYCURSOR);
+       yyaccept = 10;
+       yych = *(YYMARKER = ++YYCURSOR);
+       if (yych <= ':') {
+               if (yych <= ' ') {
 -                      if (yych == '\t') goto yy475;
 -                      if (yych <= 0x1F) goto yy465;
 -                      goto yy475;
++                      if (yych == '\t') goto yy500;
++                      if (yych <= 0x1F) goto yy490;
++                      goto yy500;
                } else {
-                       if (yych <= '-') {
-                               if (yych <= ')') goto yy108;
-                               if (yych <= ',') goto yy281;
-                               goto yy460;
-                       } else {
-                               if (yych == '/') goto yy283;
-                               goto yy135;
-                       }
 -                      if (yych == '.') goto yy489;
 -                      if (yych <= '9') goto yy465;
 -                      goto yy490;
++                      if (yych == '.') goto yy514;
++                      if (yych <= '9') goto yy490;
++                      goto yy515;
                }
        } else {
-               if (yych <= '^') {
-                       if (yych <= 'D') {
-                               if (yych <= '@') goto yy281;
-                               goto yy453;
-                       } else {
-                               if (yych <= 'E') goto yy465;
-                               if (yych <= 'Z') goto yy453;
-                               goto yy281;
-                       }
+               if (yych <= 'P') {
 -                      if (yych == 'A') goto yy477;
 -                      if (yych <= 'O') goto yy465;
 -                      goto yy477;
++                      if (yych == 'A') goto yy502;
++                      if (yych <= 'O') goto yy490;
++                      goto yy502;
                } else {
-                       if (yych <= 'd') {
-                               if (yych <= '_') goto yy283;
-                               if (yych <= '`') goto yy281;
-                               goto yy459;
+                       if (yych <= 'a') {
 -                              if (yych <= '`') goto yy465;
 -                              goto yy477;
++                              if (yych <= '`') goto yy490;
++                              goto yy502;
                        } else {
-                               if (yych <= 'e') goto yy466;
-                               if (yych <= 'z') goto yy459;
-                               goto yy281;
 -                              if (yych == 'p') goto yy477;
 -                              goto yy465;
++                              if (yych == 'p') goto yy502;
++                              goto yy490;
                        }
                }
        }
- yy292:
-       YYDEBUG(292, *YYCURSOR);
 -yy489:
 -      YYDEBUG(489, *YYCURSOR);
++yy514:
++      YYDEBUG(514, *YYCURSOR);
        yych = *++YYCURSOR;
-       if (yych <= 'H') {
-               if (yych <= ')') {
-                       if (yych <= '(') goto yy18;
-                       goto yy108;
+       if (yych <= '/') goto yy55;
 -      if (yych <= '9') goto yy499;
++      if (yych <= '9') goto yy524;
+       goto yy55;
 -yy490:
 -      YYDEBUG(490, *YYCURSOR);
++yy515:
++      YYDEBUG(515, *YYCURSOR);
+       yych = *++YYCURSOR;
+       if (yych <= '/') goto yy55;
+       if (yych >= ':') goto yy55;
 -yy491:
 -      YYDEBUG(491, *YYCURSOR);
++yy516:
++      YYDEBUG(516, *YYCURSOR);
+       ++YYCURSOR;
+       if ((YYLIMIT - YYCURSOR) < 5) YYFILL(5);
+       yych = *YYCURSOR;
 -      YYDEBUG(492, *YYCURSOR);
++      YYDEBUG(517, *YYCURSOR);
+       if (yych <= 'O') {
+               if (yych <= '9') {
+                       if (yych <= '/') goto yy55;
 -                      goto yy491;
++                      goto yy516;
                } else {
-                       if (yych <= '@') goto yy18;
-                       if (yych <= 'G') goto yy453;
-                       goto yy467;
+                       if (yych != 'A') goto yy55;
                }
        } else {
-               if (yych <= 'g') {
-                       if (yych <= 'Z') goto yy453;
-                       if (yych <= '`') goto yy18;
-                       goto yy453;
+               if (yych <= 'a') {
 -                      if (yych <= 'P') goto yy493;
++                      if (yych <= 'P') goto yy518;
+                       if (yych <= '`') goto yy55;
                } else {
-                       if (yych <= 'h') goto yy467;
-                       if (yych <= 'z') goto yy453;
-                       goto yy18;
+                       if (yych != 'p') goto yy55;
                }
        }
- yy293:
-       YYDEBUG(293, *YYCURSOR);
 -yy493:
 -      YYDEBUG(493, *YYCURSOR);
++yy518:
++      YYDEBUG(518, *YYCURSOR);
        yych = *++YYCURSOR;
-       if (yych <= 'V') {
-               if (yych <= ')') {
-                       if (yych <= '(') goto yy18;
-                       goto yy108;
-               } else {
-                       if (yych <= '@') goto yy18;
-                       if (yych <= 'U') goto yy453;
-                       goto yy468;
-               }
+       if (yych <= 'L') {
+               if (yych != '.') goto yy55;
        } else {
-               if (yych <= 'u') {
-                       if (yych <= 'Z') goto yy453;
-                       if (yych <= '`') goto yy18;
-                       goto yy453;
-               } else {
-                       if (yych <= 'v') goto yy468;
-                       if (yych <= 'z') goto yy453;
-                       goto yy18;
-               }
 -              if (yych <= 'M') goto yy495;
 -              if (yych == 'm') goto yy495;
++              if (yych <= 'M') goto yy520;
++              if (yych == 'm') goto yy520;
+               goto yy55;
        }
- yy294:
-       YYDEBUG(294, *YYCURSOR);
-       yyaccept = 2;
-       yych = *(YYMARKER = ++YYCURSOR);
-       if (yych <= 'G') {
-               if (yych <= '-') {
-                       if (yych == ')') goto yy108;
-                       if (yych <= ',') goto yy18;
-                       goto yy283;
-               } else {
-                       if (yych == '/') goto yy283;
-                       if (yych <= '@') goto yy18;
-                       goto yy453;
-               }
 -      YYDEBUG(494, *YYCURSOR);
++      YYDEBUG(519, *YYCURSOR);
+       yych = *++YYCURSOR;
 -      if (yych == 'M') goto yy495;
++      if (yych == 'M') goto yy520;
+       if (yych != 'm') goto yy55;
 -yy495:
 -      YYDEBUG(495, *YYCURSOR);
++yy520:
++      YYDEBUG(520, *YYCURSOR);
+       yych = *++YYCURSOR;
+       if (yych <= 0x1F) {
 -              if (yych <= 0x00) goto yy497;
 -              if (yych == '\t') goto yy497;
++              if (yych <= 0x00) goto yy522;
++              if (yych == '\t') goto yy522;
+               goto yy55;
        } else {
-               if (yych <= '_') {
-                       if (yych <= 'H') goto yy467;
-                       if (yych <= 'Z') goto yy453;
-                       if (yych <= '^') goto yy18;
-                       goto yy283;
-               } else {
-                       if (yych <= 'g') {
-                               if (yych <= '`') goto yy18;
-                               goto yy459;
-                       } else {
-                               if (yych <= 'h') goto yy469;
-                               if (yych <= 'z') goto yy459;
-                               goto yy18;
 -              if (yych <= ' ') goto yy497;
++              if (yych <= ' ') goto yy522;
+               if (yych != '.') goto yy55;
+       }
 -      YYDEBUG(496, *YYCURSOR);
++      YYDEBUG(521, *YYCURSOR);
+       yych = *++YYCURSOR;
+       if (yych <= '\t') {
 -              if (yych <= 0x00) goto yy497;
++              if (yych <= 0x00) goto yy522;
+               if (yych <= 0x08) goto yy55;
+       } else {
+               if (yych != ' ') goto yy55;
+       }
 -yy497:
 -      YYDEBUG(497, *YYCURSOR);
++yy522:
++      YYDEBUG(522, *YYCURSOR);
+       ++YYCURSOR;
 -      YYDEBUG(498, *YYCURSOR);
 -#line 1204 "parse_date.re"
++      YYDEBUG(523, *YYCURSOR);
++#line 1214 "parse_date.re"
+       {
+               DEBUG_OUTPUT("mssqltime");
+               TIMELIB_INIT;
+               TIMELIB_HAVE_TIME();
 -              s->time->h = timelib_get_nr((char **) &ptr, 2);
 -              s->time->i = timelib_get_nr((char **) &ptr, 2);
++              s->time->h = timelib_get_nr(&ptr, 2);
++              s->time->i = timelib_get_nr(&ptr, 2);
+               if (*ptr == ':' || *ptr == '.') {
 -                      s->time->s = timelib_get_nr((char **) &ptr, 2);
++                      s->time->s = timelib_get_nr(&ptr, 2);
+                       if (*ptr == ':' || *ptr == '.') {
 -                              s->time->us = timelib_get_frac_nr((char **) &ptr, 8);
++                              s->time->us = timelib_get_frac_nr(&ptr, 8);
                        }
                }
 -              timelib_eat_spaces((char **) &ptr);
 -              s->time->h += timelib_meridian((char **) &ptr, s->time->h);
++              timelib_eat_spaces(&ptr);
++              s->time->h += timelib_meridian(&ptr, s->time->h);
+               TIMELIB_DEINIT;
+               return TIMELIB_TIME24_WITH_ZONE;
        }
- yy295:
-       YYDEBUG(295, *YYCURSOR);
-       yyaccept = 2;
-       yych = *(YYMARKER = ++YYCURSOR);
-       if (yych <= 'U') {
-               if (yych <= '-') {
-                       if (yych == ')') goto yy108;
-                       if (yych <= ',') goto yy18;
-                       goto yy283;
 -#line 9694 "<stdout>"
 -yy499:
 -      YYDEBUG(499, *YYCURSOR);
++#line 9831 "<stdout>"
++yy524:
++      YYDEBUG(524, *YYCURSOR);
+       yyaccept = 10;
+       YYMARKER = ++YYCURSOR;
+       if ((YYLIMIT - YYCURSOR) < 5) YYFILL(5);
+       yych = *YYCURSOR;
 -      YYDEBUG(500, *YYCURSOR);
++      YYDEBUG(525, *YYCURSOR);
+       if (yych <= 'O') {
+               if (yych <= '9') {
 -                      if (yych <= '/') goto yy465;
 -                      goto yy499;
++                      if (yych <= '/') goto yy490;
++                      goto yy524;
                } else {
-                       if (yych == '/') goto yy283;
-                       if (yych <= '@') goto yy18;
-                       goto yy453;
 -                      if (yych == 'A') goto yy493;
 -                      goto yy465;
++                      if (yych == 'A') goto yy518;
++                      goto yy490;
                }
        } else {
-               if (yych <= '_') {
-                       if (yych <= 'V') goto yy468;
-                       if (yych <= 'Z') goto yy453;
-                       if (yych <= '^') goto yy18;
-                       goto yy283;
+               if (yych <= 'a') {
 -                      if (yych <= 'P') goto yy493;
 -                      if (yych <= '`') goto yy465;
 -                      goto yy493;
++                      if (yych <= 'P') goto yy518;
++                      if (yych <= '`') goto yy490;
++                      goto yy518;
                } else {
-                       if (yych <= 'u') {
-                               if (yych <= '`') goto yy18;
-                               goto yy459;
-                       } else {
-                               if (yych <= 'v') goto yy470;
-                               if (yych <= 'z') goto yy459;
-                               goto yy18;
-                       }
 -                      if (yych == 'p') goto yy493;
 -                      goto yy465;
++                      if (yych == 'p') goto yy518;
++                      goto yy490;
                }
        }
- yy296:
-       YYDEBUG(296, *YYCURSOR);
-       yyaccept = 7;
 -yy501:
 -      YYDEBUG(501, *YYCURSOR);
++yy526:
++      YYDEBUG(526, *YYCURSOR);
+       yych = *++YYCURSOR;
 -      if (yych == 'M') goto yy502;
++      if (yych == 'M') goto yy527;
+       if (yych != 'm') goto yy55;
 -yy502:
 -      YYDEBUG(502, *YYCURSOR);
++yy527:
++      YYDEBUG(527, *YYCURSOR);
+       yych = *++YYCURSOR;
+       if (yych <= 0x1F) {
 -              if (yych <= 0x00) goto yy462;
 -              if (yych == '\t') goto yy462;
++              if (yych <= 0x00) goto yy487;
++              if (yych == '\t') goto yy487;
+               goto yy55;
+       } else {
 -              if (yych <= ' ') goto yy462;
++              if (yych <= ' ') goto yy487;
+               if (yych != '.') goto yy55;
+       }
 -      YYDEBUG(503, *YYCURSOR);
++      YYDEBUG(528, *YYCURSOR);
+       yych = *++YYCURSOR;
+       if (yych <= '\t') {
 -              if (yych <= 0x00) goto yy462;
++              if (yych <= 0x00) goto yy487;
+               if (yych <= 0x08) goto yy55;
 -              goto yy462;
++              goto yy487;
+       } else {
 -              if (yych == ' ') goto yy462;
++              if (yych == ' ') goto yy487;
+               goto yy55;
+       }
 -yy504:
 -      YYDEBUG(504, *YYCURSOR);
++yy529:
++      YYDEBUG(529, *YYCURSOR);
+       yych = *++YYCURSOR;
 -      if (yych == 'V') goto yy505;
++      if (yych == 'V') goto yy530;
+       if (yych != 'v') goto yy55;
 -yy505:
 -      YYDEBUG(505, *YYCURSOR);
++yy530:
++      YYDEBUG(530, *YYCURSOR);
+       yyaccept = 9;
        yych = *(YYMARKER = ++YYCURSOR);
-       if (yych <= '/') {
-               if (yych <= '(') {
-                       if (yych <= '\t') {
-                               if (yych <= 0x08) goto yy281;
-                               goto yy135;
-                       } else {
-                               if (yych == ' ') goto yy135;
-                               goto yy281;
-                       }
+       if (yych <= '.') {
+               if (yych <= 0x1F) {
 -                      if (yych != '\t') goto yy450;
++                      if (yych != '\t') goto yy475;
                } else {
-                       if (yych <= ',') {
-                               if (yych <= ')') goto yy108;
-                               goto yy281;
-                       } else {
-                               if (yych <= '-') goto yy454;
-                               if (yych <= '.') goto yy135;
-                               goto yy281;
-                       }
 -                      if (yych <= ' ') goto yy506;
 -                      if (yych <= ',') goto yy450;
++                      if (yych <= ' ') goto yy531;
++                      if (yych <= ',') goto yy475;
                }
        } else {
-               if (yych <= 'Z') {
-                       if (yych <= '@') {
-                               if (yych <= '9') goto yy135;
-                               goto yy281;
-                       } else {
-                               if (yych == 'R') goto yy471;
-                               goto yy453;
-                       }
+               if (yych <= 'D') {
 -                      if (yych <= '/') goto yy450;
 -                      if (yych <= '9') goto yy508;
 -                      goto yy450;
++                      if (yych <= '/') goto yy475;
++                      if (yych <= '9') goto yy533;
++                      goto yy475;
                } else {
-                       if (yych <= 'q') {
-                               if (yych <= '`') goto yy281;
-                               goto yy453;
-                       } else {
-                               if (yych <= 'r') goto yy471;
-                               if (yych <= 'z') goto yy453;
-                               goto yy281;
-                       }
 -                      if (yych <= 'E') goto yy510;
 -                      if (yych == 'e') goto yy510;
 -                      goto yy450;
++                      if (yych <= 'E') goto yy535;
++                      if (yych == 'e') goto yy535;
++                      goto yy475;
                }
        }
- yy297:
-       YYDEBUG(297, *YYCURSOR);
-       yych = *++YYCURSOR;
-       if (yych <= 'T') {
-               if (yych <= ')') {
-                       if (yych <= '(') goto yy18;
-                       goto yy108;
 -yy506:
 -      YYDEBUG(506, *YYCURSOR);
++yy531:
++      YYDEBUG(531, *YYCURSOR);
+       ++YYCURSOR;
+       if ((YYLIMIT - YYCURSOR) < 4) YYFILL(4);
+       yych = *YYCURSOR;
 -yy507:
 -      YYDEBUG(507, *YYCURSOR);
++yy532:
++      YYDEBUG(532, *YYCURSOR);
+       if (yych <= ' ') {
 -              if (yych == '\t') goto yy506;
++              if (yych == '\t') goto yy531;
+               if (yych <= 0x1F) goto yy55;
 -              goto yy506;
++              goto yy531;
+       } else {
+               if (yych <= '.') {
+                       if (yych <= ',') goto yy55;
 -                      goto yy506;
++                      goto yy531;
                } else {
-                       if (yych <= '@') goto yy18;
-                       if (yych <= 'S') goto yy453;
-                       goto yy472;
+                       if (yych <= '/') goto yy55;
+                       if (yych >= ':') goto yy55;
                }
 -yy508:
 -      YYDEBUG(508, *YYCURSOR);
+       }
 -      if ((yych = *YYCURSOR) <= '/') goto yy509;
 -      if (yych <= '9') goto yy515;
 -yy509:
 -      YYDEBUG(509, *YYCURSOR);
 -#line 1386 "parse_date.re"
++yy533:
++      YYDEBUG(533, *YYCURSOR);
+       ++YYCURSOR;
 -              s->time->d = timelib_get_nr((char **) &ptr, 2);
 -              timelib_skip_day_suffix((char **) &ptr);
 -              s->time->m = timelib_get_month((char **) &ptr);
 -              s->time->y = timelib_get_nr_ex((char **) &ptr, 4, &length);
++      if ((yych = *YYCURSOR) <= '/') goto yy534;
++      if (yych <= '9') goto yy540;
++yy534:
++      YYDEBUG(534, *YYCURSOR);
++#line 1408 "parse_date.re"
+       {
+               int length = 0;
+               DEBUG_OUTPUT("datefull");
+               TIMELIB_INIT;
+               TIMELIB_HAVE_DATE();
 -#line 9814 "<stdout>"
 -yy510:
 -      YYDEBUG(510, *YYCURSOR);
++              s->time->d = timelib_get_nr(&ptr, 2);
++              timelib_skip_day_suffix(&ptr);
++              s->time->m = timelib_get_month(&ptr);
++              s->time->y = timelib_get_nr_ex(&ptr, 4, &length);
+               TIMELIB_PROCESS_YEAR(s->time->y, length);
+               TIMELIB_DEINIT;
+               return TIMELIB_DATE_FULL;
+       }
 -      if (yych == 'M') goto yy511;
++#line 9951 "<stdout>"
++yy535:
++      YYDEBUG(535, *YYCURSOR);
+       yych = *++YYCURSOR;
 -yy511:
 -      YYDEBUG(511, *YYCURSOR);
++      if (yych == 'M') goto yy536;
+       if (yych != 'm') goto yy55;
 -      if (yych == 'B') goto yy512;
++yy536:
++      YYDEBUG(536, *YYCURSOR);
+       yych = *++YYCURSOR;
 -yy512:
 -      YYDEBUG(512, *YYCURSOR);
++      if (yych == 'B') goto yy537;
+       if (yych != 'b') goto yy55;
 -      if (yych == 'E') goto yy513;
++yy537:
++      YYDEBUG(537, *YYCURSOR);
+       yych = *++YYCURSOR;
 -yy513:
 -      YYDEBUG(513, *YYCURSOR);
++      if (yych == 'E') goto yy538;
+       if (yych != 'e') goto yy55;
 -      if (yych == 'R') goto yy514;
++yy538:
++      YYDEBUG(538, *YYCURSOR);
+       yych = *++YYCURSOR;
 -yy514:
 -      YYDEBUG(514, *YYCURSOR);
++      if (yych == 'R') goto yy539;
+       if (yych != 'r') goto yy55;
 -              if (yych == '\t') goto yy506;
 -              if (yych <= 0x1F) goto yy450;
 -              goto yy506;
++yy539:
++      YYDEBUG(539, *YYCURSOR);
+       yyaccept = 9;
+       yych = *(YYMARKER = ++YYCURSOR);
+       if (yych <= ' ') {
++              if (yych == '\t') goto yy531;
++              if (yych <= 0x1F) goto yy475;
++              goto yy531;
        } else {
-               if (yych <= 's') {
-                       if (yych <= 'Z') goto yy453;
-                       if (yych <= '`') goto yy18;
-                       goto yy453;
+               if (yych <= '.') {
 -                      if (yych <= ',') goto yy450;
 -                      goto yy506;
++                      if (yych <= ',') goto yy475;
++                      goto yy531;
                } else {
-                       if (yych <= 't') goto yy472;
-                       if (yych <= 'z') goto yy453;
-                       goto yy18;
 -                      if (yych <= '/') goto yy450;
 -                      if (yych <= '9') goto yy508;
 -                      goto yy450;
++                      if (yych <= '/') goto yy475;
++                      if (yych <= '9') goto yy533;
++                      goto yy475;
                }
        }
- yy298:
-       YYDEBUG(298, *YYCURSOR);
 -yy515:
 -      YYDEBUG(515, *YYCURSOR);
++yy540:
++      YYDEBUG(540, *YYCURSOR);
        yych = *++YYCURSOR;
-       if (yych <= 'S') {
-               if (yych <= ')') {
-                       if (yych <= '(') goto yy18;
-                       goto yy108;
 -      if (yych <= '/') goto yy509;
 -      if (yych >= ':') goto yy509;
 -yy516:
 -      YYDEBUG(516, *YYCURSOR);
++      if (yych <= '/') goto yy534;
++      if (yych >= ':') goto yy534;
++yy541:
++      YYDEBUG(541, *YYCURSOR);
+       yych = *++YYCURSOR;
 -      if (yych <= '/') goto yy509;
 -      if (yych >= ':') goto yy509;
 -      YYDEBUG(517, *YYCURSOR);
++      if (yych <= '/') goto yy534;
++      if (yych >= ':') goto yy534;
++      YYDEBUG(542, *YYCURSOR);
+       yych = *++YYCURSOR;
 -      goto yy509;
 -yy518:
 -      YYDEBUG(518, *YYCURSOR);
++      goto yy534;
++yy543:
++      YYDEBUG(543, *YYCURSOR);
+       yych = *++YYCURSOR;
 -      if (yych == 'T') goto yy519;
++      if (yych == 'T') goto yy544;
+       if (yych != 't') goto yy55;
 -yy519:
 -      YYDEBUG(519, *YYCURSOR);
++yy544:
++      YYDEBUG(544, *YYCURSOR);
+       yyaccept = 9;
+       yych = *(YYMARKER = ++YYCURSOR);
+       if (yych <= '.') {
+               if (yych <= 0x1F) {
 -                      if (yych == '\t') goto yy506;
 -                      goto yy450;
++                      if (yych == '\t') goto yy531;
++                      goto yy475;
                } else {
-                       if (yych <= '@') goto yy18;
-                       if (yych <= 'R') goto yy453;
-                       goto yy473;
 -                      if (yych <= ' ') goto yy506;
 -                      if (yych <= ',') goto yy450;
 -                      goto yy506;
++                      if (yych <= ' ') goto yy531;
++                      if (yych <= ',') goto yy475;
++                      goto yy531;
                }
        } else {
-               if (yych <= 'r') {
-                       if (yych <= 'Z') goto yy453;
-                       if (yych <= '`') goto yy18;
-                       goto yy453;
+               if (yych <= 'N') {
 -                      if (yych <= '/') goto yy450;
 -                      if (yych <= '9') goto yy508;
 -                      goto yy450;
++                      if (yych <= '/') goto yy475;
++                      if (yych <= '9') goto yy533;
++                      goto yy475;
                } else {
-                       if (yych <= 's') goto yy473;
-                       if (yych <= 'z') goto yy453;
-                       goto yy18;
 -                      if (yych <= 'O') goto yy520;
 -                      if (yych != 'o') goto yy450;
++                      if (yych <= 'O') goto yy545;
++                      if (yych != 'o') goto yy475;
                }
        }
- yy299:
-       YYDEBUG(299, *YYCURSOR);
 -yy520:
 -      YYDEBUG(520, *YYCURSOR);
++yy545:
++      YYDEBUG(545, *YYCURSOR);
        yych = *++YYCURSOR;
-       if (yych <= 'R') {
-               if (yych <= ')') {
-                       if (yych <= '(') goto yy18;
-                       goto yy108;
 -      if (yych == 'B') goto yy521;
++      if (yych == 'B') goto yy546;
+       if (yych != 'b') goto yy55;
 -yy521:
 -      YYDEBUG(521, *YYCURSOR);
++yy546:
++      YYDEBUG(546, *YYCURSOR);
+       yych = *++YYCURSOR;
 -      if (yych == 'E') goto yy522;
++      if (yych == 'E') goto yy547;
+       if (yych != 'e') goto yy55;
 -yy522:
 -      YYDEBUG(522, *YYCURSOR);
++yy547:
++      YYDEBUG(547, *YYCURSOR);
+       yych = *++YYCURSOR;
 -      if (yych == 'R') goto yy514;
 -      if (yych == 'r') goto yy514;
++      if (yych == 'R') goto yy539;
++      if (yych == 'r') goto yy539;
+       goto yy55;
 -yy523:
 -      YYDEBUG(523, *YYCURSOR);
++yy548:
++      YYDEBUG(548, *YYCURSOR);
+       yych = *++YYCURSOR;
 -      if (yych == 'G') goto yy527;
 -      if (yych == 'g') goto yy527;
++      if (yych == 'G') goto yy552;
++      if (yych == 'g') goto yy552;
+       goto yy55;
 -yy524:
 -      YYDEBUG(524, *YYCURSOR);
++yy549:
++      YYDEBUG(549, *YYCURSOR);
+       yych = *++YYCURSOR;
 -      if (yych == 'R') goto yy525;
++      if (yych == 'R') goto yy550;
+       if (yych != 'r') goto yy55;
 -yy525:
 -      YYDEBUG(525, *YYCURSOR);
++yy550:
++      YYDEBUG(550, *YYCURSOR);
+       yyaccept = 9;
+       yych = *(YYMARKER = ++YYCURSOR);
+       if (yych <= '.') {
+               if (yych <= 0x1F) {
 -                      if (yych == '\t') goto yy506;
 -                      goto yy450;
++                      if (yych == '\t') goto yy531;
++                      goto yy475;
                } else {
-                       if (yych <= '@') goto yy18;
-                       if (yych <= 'Q') goto yy453;
-                       goto yy474;
 -                      if (yych <= ' ') goto yy506;
 -                      if (yych <= ',') goto yy450;
 -                      goto yy506;
++                      if (yych <= ' ') goto yy531;
++                      if (yych <= ',') goto yy475;
++                      goto yy531;
                }
        } else {
-               if (yych <= 'q') {
-                       if (yych <= 'Z') goto yy453;
-                       if (yych <= '`') goto yy18;
-                       goto yy453;
+               if (yych <= 'H') {
 -                      if (yych <= '/') goto yy450;
 -                      if (yych <= '9') goto yy508;
 -                      goto yy450;
++                      if (yych <= '/') goto yy475;
++                      if (yych <= '9') goto yy533;
++                      goto yy475;
                } else {
-                       if (yych <= 'r') goto yy474;
-                       if (yych <= 'z') goto yy453;
-                       goto yy18;
 -                      if (yych <= 'I') goto yy526;
 -                      if (yych != 'i') goto yy450;
++                      if (yych <= 'I') goto yy551;
++                      if (yych != 'i') goto yy475;
                }
        }
- yy300:
-       YYDEBUG(300, *YYCURSOR);
 -yy526:
 -      YYDEBUG(526, *YYCURSOR);
++yy551:
++      YYDEBUG(551, *YYCURSOR);
        yych = *++YYCURSOR;
-       if (yych <= 'D') {
-               if (yych <= ')') {
-                       if (yych >= ')') goto yy108;
-               } else {
-                       if (yych <= '@') goto yy301;
-                       if (yych <= 'C') goto yy453;
 -      if (yych == 'L') goto yy514;
 -      if (yych == 'l') goto yy514;
++      if (yych == 'L') goto yy539;
++      if (yych == 'l') goto yy539;
+       goto yy55;
 -yy527:
 -      YYDEBUG(527, *YYCURSOR);
++yy552:
++      YYDEBUG(552, *YYCURSOR);
+       yyaccept = 9;
+       yych = *(YYMARKER = ++YYCURSOR);
+       if (yych <= '.') {
+               if (yych <= 0x1F) {
 -                      if (yych == '\t') goto yy506;
 -                      goto yy450;
++                      if (yych == '\t') goto yy531;
 +                      goto yy475;
+               } else {
 -                      if (yych <= ' ') goto yy506;
 -                      if (yych <= ',') goto yy450;
 -                      goto yy506;
++                      if (yych <= ' ') goto yy531;
++                      if (yych <= ',') goto yy475;
++                      goto yy531;
                }
        } else {
-               if (yych <= 'c') {
-                       if (yych <= 'Z') goto yy453;
-                       if (yych >= 'a') goto yy453;
+               if (yych <= 'T') {
 -                      if (yych <= '/') goto yy450;
 -                      if (yych <= '9') goto yy508;
 -                      goto yy450;
++                      if (yych <= '/') goto yy475;
++                      if (yych <= '9') goto yy533;
++                      goto yy475;
                } else {
-                       if (yych <= 'd') goto yy475;
-                       if (yych <= 'z') goto yy453;
-               }
-       }
- yy301:
-       YYDEBUG(301, *YYCURSOR);
- #line 1672 "parse_date.re"
-       {
-               const timelib_relunit* relunit;
-               DEBUG_OUTPUT("daytext");
-               TIMELIB_INIT;
-               TIMELIB_HAVE_RELATIVE();
-               TIMELIB_HAVE_WEEKDAY_RELATIVE();
-               TIMELIB_UNHAVE_TIME();
-               relunit = timelib_lookup_relunit(&ptr);
-               s->time->relative.weekday = relunit->multiplier;
-               if (s->time->relative.weekday_behavior != 2) {
-                       s->time->relative.weekday_behavior = 1;
 -                      if (yych <= 'U') goto yy528;
 -                      if (yych != 'u') goto yy450;
++                      if (yych <= 'U') goto yy553;
++                      if (yych != 'u') goto yy475;
                }
-               TIMELIB_DEINIT;
-               return TIMELIB_WEEKDAY;
        }
- #line 7930 "<stdout>"
- yy302:
-       YYDEBUG(302, *YYCURSOR);
 -yy528:
 -      YYDEBUG(528, *YYCURSOR);
++yy553:
++      YYDEBUG(553, *YYCURSOR);
+       yych = *++YYCURSOR;
 -      if (yych == 'S') goto yy529;
++      if (yych == 'S') goto yy554;
+       if (yych != 's') goto yy55;
 -yy529:
 -      YYDEBUG(529, *YYCURSOR);
++yy554:
++      YYDEBUG(554, *YYCURSOR);
+       yych = *++YYCURSOR;
 -      if (yych == 'T') goto yy514;
 -      if (yych == 't') goto yy514;
++      if (yych == 'T') goto yy539;
++      if (yych == 't') goto yy539;
+       goto yy55;
 -yy530:
 -      YYDEBUG(530, *YYCURSOR);
++yy555:
++      YYDEBUG(555, *YYCURSOR);
        yych = *++YYCURSOR;
        if (yych <= 'N') {
-               if (yych <= ')') {
-                       if (yych <= '(') goto yy18;
-                       goto yy108;
-               } else {
-                       if (yych <= '@') goto yy18;
-                       if (yych <= 'M') goto yy453;
-                       goto yy476;
-               }
 -              if (yych == 'L') goto yy537;
++              if (yych == 'L') goto yy562;
+               if (yych <= 'M') goto yy55;
 -              goto yy536;
++              goto yy561;
        } else {
-               if (yych <= 'm') {
-                       if (yych <= 'Z') goto yy453;
-                       if (yych <= '`') goto yy18;
-                       goto yy453;
+               if (yych <= 'l') {
+                       if (yych <= 'k') goto yy55;
 -                      goto yy537;
++                      goto yy562;
                } else {
-                       if (yych <= 'n') goto yy476;
-                       if (yych <= 'z') goto yy453;
-                       goto yy18;
 -                      if (yych == 'n') goto yy536;
++                      if (yych == 'n') goto yy561;
+                       goto yy55;
                }
        }
- yy303:
-       YYDEBUG(303, *YYCURSOR);
-       yyaccept = 7;
 -yy531:
 -      YYDEBUG(531, *YYCURSOR);
++yy556:
++      YYDEBUG(556, *YYCURSOR);
+       yych = *++YYCURSOR;
 -      if (yych == 'N') goto yy532;
++      if (yych == 'N') goto yy557;
+       if (yych != 'n') goto yy55;
 -yy532:
 -      YYDEBUG(532, *YYCURSOR);
++yy557:
++      YYDEBUG(557, *YYCURSOR);
+       yyaccept = 9;
        yych = *(YYMARKER = ++YYCURSOR);
-       if (yych <= '9') {
-               if (yych <= '(') {
-                       if (yych <= '\t') {
-                               if (yych <= 0x08) goto yy281;
-                               goto yy135;
-                       } else {
-                               if (yych == ' ') goto yy135;
-                               goto yy281;
-                       }
+       if (yych <= '.') {
+               if (yych <= 0x1F) {
 -                      if (yych == '\t') goto yy506;
 -                      goto yy450;
++                      if (yych == '\t') goto yy531;
++                      goto yy475;
                } else {
-                       if (yych <= '-') {
-                               if (yych <= ')') goto yy108;
-                               if (yych <= ',') goto yy281;
-                               goto yy460;
-                       } else {
-                               if (yych == '/') goto yy283;
-                               goto yy135;
-                       }
 -                      if (yych <= ' ') goto yy506;
 -                      if (yych <= ',') goto yy450;
 -                      goto yy506;
++                      if (yych <= ' ') goto yy531;
++                      if (yych <= ',') goto yy475;
++                      goto yy531;
                }
        } else {
-               if (yych <= '^') {
-                       if (yych <= 'Q') {
-                               if (yych <= '@') goto yy281;
-                               goto yy453;
-                       } else {
-                               if (yych <= 'R') goto yy471;
-                               if (yych <= 'Z') goto yy453;
-                               goto yy281;
-                       }
+               if (yych <= 'T') {
 -                      if (yych <= '/') goto yy450;
 -                      if (yych <= '9') goto yy508;
 -                      goto yy450;
++                      if (yych <= '/') goto yy475;
++                      if (yych <= '9') goto yy533;
++                      goto yy475;
                } else {
-                       if (yych <= 'q') {
-                               if (yych <= '_') goto yy283;
-                               if (yych <= '`') goto yy281;
-                               goto yy459;
-                       } else {
-                               if (yych <= 'r') goto yy477;
-                               if (yych <= 'z') goto yy459;
-                               goto yy281;
-                       }
 -                      if (yych <= 'U') goto yy533;
 -                      if (yych != 'u') goto yy450;
++                      if (yych <= 'U') goto yy558;
++                      if (yych != 'u') goto yy475;
                }
        }
- yy304:
-       YYDEBUG(304, *YYCURSOR);
-       yyaccept = 2;
 -yy533:
 -      YYDEBUG(533, *YYCURSOR);
++yy558:
++      YYDEBUG(558, *YYCURSOR);
+       yych = *++YYCURSOR;
 -      if (yych == 'A') goto yy534;
++      if (yych == 'A') goto yy559;
+       if (yych != 'a') goto yy55;
 -yy534:
 -      YYDEBUG(534, *YYCURSOR);
++yy559:
++      YYDEBUG(559, *YYCURSOR);
+       yych = *++YYCURSOR;
 -      if (yych == 'R') goto yy535;
++      if (yych == 'R') goto yy560;
+       if (yych != 'r') goto yy55;
 -yy535:
 -      YYDEBUG(535, *YYCURSOR);
++yy560:
++      YYDEBUG(560, *YYCURSOR);
+       yych = *++YYCURSOR;
 -      if (yych == 'Y') goto yy514;
 -      if (yych == 'y') goto yy514;
++      if (yych == 'Y') goto yy539;
++      if (yych == 'y') goto yy539;
+       goto yy55;
 -yy536:
 -      YYDEBUG(536, *YYCURSOR);
++yy561:
++      YYDEBUG(561, *YYCURSOR);
+       yyaccept = 9;
        yych = *(YYMARKER = ++YYCURSOR);
-       if (yych <= 'S') {
-               if (yych <= '-') {
-                       if (yych == ')') goto yy108;
-                       if (yych <= ',') goto yy18;
-                       goto yy283;
+       if (yych <= '.') {
+               if (yych <= 0x1F) {
 -                      if (yych == '\t') goto yy506;
 -                      goto yy450;
++                      if (yych == '\t') goto yy531;
++                      goto yy475;
                } else {
-                       if (yych == '/') goto yy283;
-                       if (yych <= '@') goto yy18;
-                       goto yy453;
 -                      if (yych <= ' ') goto yy506;
 -                      if (yych <= ',') goto yy450;
 -                      goto yy506;
++                      if (yych <= ' ') goto yy531;
++                      if (yych <= ',') goto yy475;
++                      goto yy531;
                }
        } else {
-               if (yych <= '_') {
-                       if (yych <= 'T') goto yy472;
-                       if (yych <= 'Z') goto yy453;
-                       if (yych <= '^') goto yy18;
-                       goto yy283;
+               if (yych <= 'D') {
 -                      if (yych <= '/') goto yy450;
 -                      if (yych <= '9') goto yy508;
 -                      goto yy450;
++                      if (yych <= '/') goto yy475;
++                      if (yych <= '9') goto yy533;
++                      goto yy475;
                } else {
-                       if (yych <= 's') {
-                               if (yych <= '`') goto yy18;
-                               goto yy459;
-                       } else {
-                               if (yych <= 't') goto yy478;
-                               if (yych <= 'z') goto yy459;
-                               goto yy18;
-                       }
 -                      if (yych <= 'E') goto yy514;
 -                      if (yych == 'e') goto yy514;
 -                      goto yy450;
++                      if (yych <= 'E') goto yy539;
++                      if (yych == 'e') goto yy539;
++                      goto yy475;
                }
        }
- yy305:
-       YYDEBUG(305, *YYCURSOR);
-       yyaccept = 2;
 -yy537:
 -      YYDEBUG(537, *YYCURSOR);
++yy562:
++      YYDEBUG(562, *YYCURSOR);
+       yyaccept = 9;
        yych = *(YYMARKER = ++YYCURSOR);
-       if (yych <= 'R') {
-               if (yych <= '-') {
-                       if (yych == ')') goto yy108;
-                       if (yych <= ',') goto yy18;
-                       goto yy283;
+       if (yych <= '.') {
+               if (yych <= 0x1F) {
 -                      if (yych == '\t') goto yy506;
 -                      goto yy450;
++                      if (yych == '\t') goto yy531;
++                      goto yy475;
                } else {
-                       if (yych == '/') goto yy283;
-                       if (yych <= '@') goto yy18;
-                       goto yy453;
 -                      if (yych <= ' ') goto yy506;
 -                      if (yych <= ',') goto yy450;
 -                      goto yy506;
++                      if (yych <= ' ') goto yy531;
++                      if (yych <= ',') goto yy475;
++                      goto yy531;
                }
        } else {
-               if (yych <= '_') {
-                       if (yych <= 'S') goto yy473;
-                       if (yych <= 'Z') goto yy453;
-                       if (yych <= '^') goto yy18;
-                       goto yy283;
+               if (yych <= 'X') {
 -                      if (yych <= '/') goto yy450;
 -                      if (yych <= '9') goto yy508;
 -                      goto yy450;
++                      if (yych <= '/') goto yy475;
++                      if (yych <= '9') goto yy533;
++                      goto yy475;
                } else {
-                       if (yych <= 'r') {
-                               if (yych <= '`') goto yy18;
-                               goto yy459;
-                       } else {
-                               if (yych <= 's') goto yy479;
-                               if (yych <= 'z') goto yy459;
-                               goto yy18;
-                       }
 -                      if (yych <= 'Y') goto yy514;
 -                      if (yych == 'y') goto yy514;
 -                      goto yy450;
++                      if (yych <= 'Y') goto yy539;
++                      if (yych == 'y') goto yy539;
++                      goto yy475;
                }
        }
- yy306:
-       YYDEBUG(306, *YYCURSOR);
-       yyaccept = 2;
 -yy538:
 -      YYDEBUG(538, *YYCURSOR);
++yy563:
++      YYDEBUG(563, *YYCURSOR);
+       yyaccept = 9;
        yych = *(YYMARKER = ++YYCURSOR);
-       if (yych <= 'Q') {
-               if (yych <= '-') {
-                       if (yych == ')') goto yy108;
-                       if (yych <= ',') goto yy18;
-                       goto yy283;
+       if (yych <= ',') {
+               if (yych <= '\t') {
 -                      if (yych <= 0x08) goto yy450;
 -                      goto yy506;
++                      if (yych <= 0x08) goto yy475;
++                      goto yy531;
                } else {
-                       if (yych == '/') goto yy283;
-                       if (yych <= '@') goto yy18;
-                       goto yy453;
 -                      if (yych == ' ') goto yy506;
 -                      goto yy450;
++                      if (yych == ' ') goto yy531;
++                      goto yy475;
                }
        } else {
-               if (yych <= '_') {
-                       if (yych <= 'R') goto yy474;
-                       if (yych <= 'Z') goto yy453;
-                       if (yych <= '^') goto yy18;
-                       goto yy283;
+               if (yych <= '9') {
 -                      if (yych <= '.') goto yy506;
 -                      if (yych <= '/') goto yy450;
 -                      goto yy508;
++                      if (yych <= '.') goto yy531;
++                      if (yych <= '/') goto yy475;
++                      goto yy533;
                } else {
-                       if (yych <= 'q') {
-                               if (yych <= '`') goto yy18;
-                               goto yy459;
-                       } else {
-                               if (yych <= 'r') goto yy480;
-                               if (yych <= 'z') goto yy459;
-                               goto yy18;
-                       }
 -                      if (yych == 'I') goto yy514;
 -                      goto yy450;
++                      if (yych == 'I') goto yy539;
++                      goto yy475;
                }
        }
- yy307:
-       YYDEBUG(307, *YYCURSOR);
 -yy539:
 -      YYDEBUG(539, *YYCURSOR);
++yy564:
++      YYDEBUG(564, *YYCURSOR);
        yyaccept = 9;
        yych = *(YYMARKER = ++YYCURSOR);
-       if (yych <= 'C') {
-               if (yych <= '-') {
-                       if (yych == ')') goto yy108;
-                       if (yych <= ',') goto yy301;
-                       goto yy283;
+       if (yych <= ',') {
+               if (yych <= '\t') {
 -                      if (yych <= 0x08) goto yy450;
 -                      goto yy506;
++                      if (yych <= 0x08) goto yy475;
++                      goto yy531;
                } else {
-                       if (yych == '/') goto yy283;
-                       if (yych <= '@') goto yy301;
-                       goto yy453;
 -                      if (yych == ' ') goto yy506;
 -                      goto yy450;
++                      if (yych == ' ') goto yy531;
++                      goto yy475;
                }
        } else {
-               if (yych <= '_') {
-                       if (yych <= 'D') goto yy475;
-                       if (yych <= 'Z') goto yy453;
-                       if (yych <= '^') goto yy301;
-                       goto yy283;
+               if (yych <= '9') {
 -                      if (yych <= '.') goto yy506;
 -                      if (yych <= '/') goto yy450;
 -                      goto yy508;
++                      if (yych <= '.') goto yy531;
++                      if (yych <= '/') goto yy475;
++                      goto yy533;
                } else {
-                       if (yych <= 'c') {
-                               if (yych <= '`') goto yy301;
-                               goto yy459;
-                       } else {
-                               if (yych <= 'd') goto yy481;
-                               if (yych <= 'z') goto yy459;
-                               goto yy301;
-                       }
 -                      if (yych != 'I') goto yy450;
++                      if (yych != 'I') goto yy475;
                }
        }
- yy308:
-       YYDEBUG(308, *YYCURSOR);
-       yyaccept = 2;
 -      YYDEBUG(540, *YYCURSOR);
++      YYDEBUG(565, *YYCURSOR);
+       yyaccept = 9;
        yych = *(YYMARKER = ++YYCURSOR);
-       if (yych <= 'M') {
-               if (yych <= '-') {
-                       if (yych == ')') goto yy108;
-                       if (yych <= ',') goto yy18;
-                       goto yy283;
+       if (yych <= ',') {
+               if (yych <= '\t') {
 -                      if (yych <= 0x08) goto yy450;
 -                      goto yy506;
++                      if (yych <= 0x08) goto yy475;
++                      goto yy531;
                } else {
-                       if (yych == '/') goto yy283;
-                       if (yych <= '@') goto yy18;
-                       goto yy453;
 -                      if (yych == ' ') goto yy506;
 -                      goto yy450;
++                      if (yych == ' ') goto yy531;
++                      goto yy475;
                }
        } else {
-               if (yych <= '_') {
-                       if (yych <= 'N') goto yy476;
-                       if (yych <= 'Z') goto yy453;
-                       if (yych <= '^') goto yy18;
-                       goto yy283;
+               if (yych <= '9') {
 -                      if (yych <= '.') goto yy506;
 -                      if (yych <= '/') goto yy450;
 -                      goto yy508;
++                      if (yych <= '.') goto yy531;
++                      if (yych <= '/') goto yy475;
++                      goto yy533;
                } else {
-                       if (yych <= 'm') {
-                               if (yych <= '`') goto yy18;
-                               goto yy459;
-                       } else {
-                               if (yych <= 'n') goto yy482;
-                               if (yych <= 'z') goto yy459;
-                               goto yy18;
-                       }
 -                      if (yych == 'I') goto yy514;
 -                      goto yy450;
++                      if (yych == 'I') goto yy539;
++                      goto yy475;
                }
        }
- yy309:
-       YYDEBUG(309, *YYCURSOR);
-       yyaccept = 2;
 -yy541:
 -      YYDEBUG(541, *YYCURSOR);
++yy566:
++      YYDEBUG(566, *YYCURSOR);
+       yyaccept = 9;
        yych = *(YYMARKER = ++YYCURSOR);
        if (yych <= ',') {
-               if (yych <= ')') {
-                       if (yych <= '(') goto yy18;
-                       goto yy108;
+               if (yych <= '\t') {
 -                      if (yych <= 0x08) goto yy450;
 -                      goto yy506;
++                      if (yych <= 0x08) goto yy475;
++                      goto yy531;
                } else {
-                       if (yych == '+') goto yy483;
-                       goto yy18;
 -                      if (yych == ' ') goto yy506;
 -                      goto yy450;
++                      if (yych == ' ') goto yy531;
++                      goto yy475;
                }
        } else {
-               if (yych <= 'Z') {
-                       if (yych <= '-') goto yy483;
-                       if (yych <= '@') goto yy18;
-                       goto yy453;
+               if (yych <= '9') {
 -                      if (yych <= '.') goto yy506;
 -                      if (yych <= '/') goto yy450;
 -                      goto yy508;
++                      if (yych <= '.') goto yy531;
++                      if (yych <= '/') goto yy475;
++                      goto yy533;
+               } else {
 -                      if (yych == 'I') goto yy514;
 -                      goto yy450;
++                      if (yych == 'I') goto yy539;
++                      goto yy475;
+               }
+       }
 -yy542:
 -      YYDEBUG(542, *YYCURSOR);
++yy567:
++      YYDEBUG(567, *YYCURSOR);
+       yyaccept = 10;
+       yych = *(YYMARKER = ++YYCURSOR);
+       if (yych <= '.') {
 -              if (yych <= ',') goto yy465;
 -              if (yych <= '-') goto yy576;
 -              goto yy575;
++              if (yych <= ',') goto yy490;
++              if (yych <= '-') goto yy601;
++              goto yy600;
+       } else {
 -              if (yych <= '/') goto yy465;
 -              if (yych <= '9') goto yy589;
 -              if (yych <= ':') goto yy467;
 -              goto yy465;
++              if (yych <= '/') goto yy490;
++              if (yych <= '9') goto yy614;
++              if (yych <= ':') goto yy492;
++              goto yy490;
+       }
 -yy543:
 -      YYDEBUG(543, *YYCURSOR);
++yy568:
++      YYDEBUG(568, *YYCURSOR);
+       yyaccept = 10;
+       yych = *(YYMARKER = ++YYCURSOR);
+       if (yych <= '/') {
 -              if (yych <= ',') goto yy465;
 -              if (yych <= '-') goto yy576;
 -              if (yych <= '.') goto yy575;
 -              goto yy465;
++              if (yych <= ',') goto yy490;
++              if (yych <= '-') goto yy601;
++              if (yych <= '.') goto yy600;
++              goto yy490;
+       } else {
 -              if (yych <= '2') goto yy589;
 -              if (yych <= '9') goto yy588;
 -              if (yych <= ':') goto yy467;
 -              goto yy465;
++              if (yych <= '2') goto yy614;
++              if (yych <= '9') goto yy613;
++              if (yych <= ':') goto yy492;
++              goto yy490;
+       }
 -yy544:
 -      YYDEBUG(544, *YYCURSOR);
++yy569:
++      YYDEBUG(569, *YYCURSOR);
+       yyaccept = 10;
+       yych = *(YYMARKER = ++YYCURSOR);
+       if (yych <= '.') {
 -              if (yych <= ',') goto yy465;
 -              if (yych <= '-') goto yy576;
 -              goto yy575;
++              if (yych <= ',') goto yy490;
++              if (yych <= '-') goto yy601;
++              goto yy600;
+       } else {
 -              if (yych <= '/') goto yy465;
 -              if (yych <= '9') goto yy588;
 -              if (yych <= ':') goto yy467;
 -              goto yy465;
++              if (yych <= '/') goto yy490;
++              if (yych <= '9') goto yy613;
++              if (yych <= ':') goto yy492;
++              goto yy490;
+       }
 -yy545:
 -      YYDEBUG(545, *YYCURSOR);
++yy570:
++      YYDEBUG(570, *YYCURSOR);
+       yyaccept = 10;
+       yych = *(YYMARKER = ++YYCURSOR);
+       if (yych <= '.') {
 -              if (yych <= ',') goto yy465;
 -              if (yych <= '-') goto yy576;
 -              goto yy575;
++              if (yych <= ',') goto yy490;
++              if (yych <= '-') goto yy601;
++              goto yy600;
+       } else {
 -              if (yych == ':') goto yy467;
 -              goto yy465;
++              if (yych == ':') goto yy492;
++              goto yy490;
+       }
 -yy546:
 -      YYDEBUG(546, *YYCURSOR);
++yy571:
++      YYDEBUG(571, *YYCURSOR);
+       yych = *++YYCURSOR;
 -      if (yych == 'E') goto yy569;
 -      if (yych == 'e') goto yy569;
++      if (yych == 'E') goto yy594;
++      if (yych == 'e') goto yy594;
+       goto yy55;
 -yy547:
 -      YYDEBUG(547, *YYCURSOR);
++yy572:
++      YYDEBUG(572, *YYCURSOR);
+       yych = *++YYCURSOR;
 -      if (yych == 'A') goto yy566;
 -      if (yych == 'a') goto yy566;
++      if (yych == 'A') goto yy591;
++      if (yych == 'a') goto yy591;
+       goto yy55;
 -yy548:
 -      YYDEBUG(548, *YYCURSOR);
++yy573:
++      YYDEBUG(573, *YYCURSOR);
+       yych = *++YYCURSOR;
+       if (yych <= 'U') {
 -              if (yych == 'P') goto yy524;
++              if (yych == 'P') goto yy549;
+               if (yych <= 'T') goto yy55;
 -              goto yy523;
++              goto yy548;
+       } else {
+               if (yych <= 'p') {
+                       if (yych <= 'o') goto yy55;
 -                      goto yy524;
++                      goto yy549;
                } else {
-                       if (yych <= '`') goto yy18;
-                       if (yych <= 'z') goto yy453;
-                       goto yy18;
 -                      if (yych == 'u') goto yy523;
++                      if (yych == 'u') goto yy548;
+                       goto yy55;
                }
        }
- yy310:
-       YYDEBUG(310, *YYCURSOR);
-       yyaccept = 10;
 -yy549:
 -      YYDEBUG(549, *YYCURSOR);
++yy574:
++      YYDEBUG(574, *YYCURSOR);
+       yych = *++YYCURSOR;
 -      if (yych == 'E') goto yy559;
 -      if (yych == 'e') goto yy559;
++      if (yych == 'E') goto yy584;
++      if (yych == 'e') goto yy584;
+       goto yy55;
 -yy550:
 -      YYDEBUG(550, *YYCURSOR);
++yy575:
++      YYDEBUG(575, *YYCURSOR);
+       yych = *++YYCURSOR;
 -      if (yych == 'E') goto yy553;
 -      if (yych == 'e') goto yy553;
++      if (yych == 'E') goto yy578;
++      if (yych == 'e') goto yy578;
+       goto yy55;
 -yy551:
 -      YYDEBUG(551, *YYCURSOR);
++yy576:
++      YYDEBUG(576, *YYCURSOR);
+       ++YYCURSOR;
+       if ((YYLIMIT - YYCURSOR) < 13) YYFILL(13);
+       yych = *YYCURSOR;
 -yy552:
 -      YYDEBUG(552, *YYCURSOR);
++yy577:
++      YYDEBUG(577, *YYCURSOR);
+       switch (yych) {
+       case '\t':
+       case ' ':
+       case '-':
 -      case '.':       goto yy551;
++      case '.':       goto yy576;
+       case 'A':
 -      case 'a':       goto yy548;
++      case 'a':       goto yy573;
+       case 'D':
 -      case 'd':       goto yy550;
++      case 'd':       goto yy575;
+       case 'F':
 -      case 'f':       goto yy546;
 -      case 'I':       goto yy449;
++      case 'f':       goto yy571;
++      case 'I':       goto yy474;
+       case 'J':
 -      case 'j':       goto yy453;
++      case 'j':       goto yy478;
+       case 'M':
 -      case 'm':       goto yy547;
++      case 'm':       goto yy572;
+       case 'N':
 -      case 'n':       goto yy456;
++      case 'n':       goto yy481;
+       case 'O':
 -      case 'o':       goto yy455;
++      case 'o':       goto yy480;
+       case 'S':
 -      case 's':       goto yy549;
 -      case 'V':       goto yy451;
 -      case 'X':       goto yy452;
++      case 's':       goto yy574;
++      case 'V':       goto yy476;
++      case 'X':       goto yy477;
+       default:        goto yy55;
+       }
 -yy553:
 -      YYDEBUG(553, *YYCURSOR);
++yy578:
++      YYDEBUG(578, *YYCURSOR);
+       yych = *++YYCURSOR;
 -      if (yych == 'C') goto yy554;
++      if (yych == 'C') goto yy579;
+       if (yych != 'c') goto yy55;
 -yy554:
 -      YYDEBUG(554, *YYCURSOR);
++yy579:
++      YYDEBUG(579, *YYCURSOR);
+       yyaccept = 9;
        yych = *(YYMARKER = ++YYCURSOR);
-       if (yych <= '9') {
-               if (yych <= '0') {
-                       if (yych >= '0') goto yy484;
+       if (yych <= '.') {
+               if (yych <= 0x1F) {
 -                      if (yych == '\t') goto yy506;
 -                      goto yy450;
++                      if (yych == '\t') goto yy531;
++                      goto yy475;
                } else {
-                       if (yych <= '1') goto yy485;
-                       if (yych <= '2') goto yy486;
-                       goto yy487;
 -                      if (yych <= ' ') goto yy506;
 -                      if (yych <= ',') goto yy450;
 -                      goto yy506;
++                      if (yych <= ' ') goto yy531;
++                      if (yych <= ',') goto yy475;
++                      goto yy531;
                }
        } else {
-               if (yych <= 'T') {
-                       if (yych >= 'T') goto yy488;
+               if (yych <= 'D') {
 -                      if (yych <= '/') goto yy450;
 -                      if (yych <= '9') goto yy508;
 -                      goto yy450;
++                      if (yych <= '/') goto yy475;
++                      if (yych <= '9') goto yy533;
++                      goto yy475;
                } else {
-                       if (yych == 't') goto yy488;
 -                      if (yych <= 'E') goto yy555;
 -                      if (yych != 'e') goto yy450;
++                      if (yych <= 'E') goto yy580;
++                      if (yych != 'e') goto yy475;
                }
        }
- yy311:
-       YYDEBUG(311, *YYCURSOR);
- #line 1477 "parse_date.re"
-       {
-               int length = 0;
-               DEBUG_OUTPUT("datetextual | datenoyear");
-               TIMELIB_INIT;
-               TIMELIB_HAVE_DATE();
-               s->time->m = timelib_get_month(&ptr);
-               s->time->d = timelib_get_nr(&ptr, 2);
-               s->time->y = timelib_get_nr_ex(&ptr, 4, &length);
-               TIMELIB_PROCESS_YEAR(s->time->y, length);
-               TIMELIB_DEINIT;
-               return TIMELIB_DATE_TEXT;
-       }
- #line 8211 "<stdout>"
- yy312:
-       YYDEBUG(312, *YYCURSOR);
-       yyaccept = 10;
-       YYMARKER = ++YYCURSOR;
-       if ((YYLIMIT - YYCURSOR) < 18) YYFILL(18);
-       yych = *YYCURSOR;
- yy313:
-       YYDEBUG(313, *YYCURSOR);
-       if (yybm[0+yych] & 32) {
-               goto yy312;
-       }
-       if (yych <= '2') {
-               if (yych <= '/') goto yy311;
-               if (yych <= '0') goto yy489;
-               if (yych <= '1') goto yy490;
-               goto yy491;
-       } else {
-               if (yych <= '9') goto yy492;
-               if (yych == 'T') goto yy488;
-               goto yy311;
-       }
- yy314:
-       YYDEBUG(314, *YYCURSOR);
 -yy555:
 -      YYDEBUG(555, *YYCURSOR);
++yy580:
++      YYDEBUG(580, *YYCURSOR);
        yych = *++YYCURSOR;
-       if (yych <= '9') {
-               if (yych <= ' ') {
-                       if (yych <= 0x08) {
-                               if (yych <= 0x00) goto yy310;
-                               goto yy56;
-                       } else {
-                               if (yych <= '\t') goto yy312;
-                               if (yych <= 0x1F) goto yy56;
-                               goto yy312;
-                       }
 -      if (yych == 'M') goto yy556;
++      if (yych == 'M') goto yy581;
+       if (yych != 'm') goto yy55;
 -yy556:
 -      YYDEBUG(556, *YYCURSOR);
++yy581:
++      YYDEBUG(581, *YYCURSOR);
+       yych = *++YYCURSOR;
 -      if (yych == 'B') goto yy557;
++      if (yych == 'B') goto yy582;
+       if (yych != 'b') goto yy55;
 -yy557:
 -      YYDEBUG(557, *YYCURSOR);
++yy582:
++      YYDEBUG(582, *YYCURSOR);
+       yych = *++YYCURSOR;
 -      if (yych == 'E') goto yy558;
++      if (yych == 'E') goto yy583;
+       if (yych != 'e') goto yy55;
 -yy558:
 -      YYDEBUG(558, *YYCURSOR);
++yy583:
++      YYDEBUG(583, *YYCURSOR);
+       yych = *++YYCURSOR;
 -      if (yych == 'R') goto yy514;
 -      if (yych == 'r') goto yy514;
++      if (yych == 'R') goto yy539;
++      if (yych == 'r') goto yy539;
+       goto yy55;
 -yy559:
 -      YYDEBUG(559, *YYCURSOR);
++yy584:
++      YYDEBUG(584, *YYCURSOR);
+       yych = *++YYCURSOR;
 -      if (yych == 'P') goto yy560;
++      if (yych == 'P') goto yy585;
+       if (yych != 'p') goto yy55;
 -yy560:
 -      YYDEBUG(560, *YYCURSOR);
++yy585:
++      YYDEBUG(585, *YYCURSOR);
+       yyaccept = 9;
+       yych = *(YYMARKER = ++YYCURSOR);
+       if (yych <= '.') {
+               if (yych <= 0x1F) {
 -                      if (yych == '\t') goto yy506;
 -                      goto yy450;
++                      if (yych == '\t') goto yy531;
++                      goto yy475;
                } else {
-                       if (yych <= '-') {
-                               if (yych == ',') goto yy312;
-                               goto yy56;
-                       } else {
-                               if (yych <= '.') goto yy312;
-                               if (yych <= '/') goto yy56;
-                               goto yy493;
-                       }
 -                      if (yych <= ' ') goto yy506;
 -                      if (yych <= ',') goto yy450;
 -                      goto yy506;
++                      if (yych <= ' ') goto yy531;
++                      if (yych <= ',') goto yy475;
++                      goto yy531;
                }
        } else {
-               if (yych <= 'm') {
-                       if (yych <= 'd') {
-                               if (yych <= 'c') goto yy56;
-                               goto yy312;
-                       } else {
-                               if (yych == 'h') goto yy312;
-                               goto yy56;
-                       }
+               if (yych <= 'S') {
 -                      if (yych <= '/') goto yy450;
 -                      if (yych <= '9') goto yy508;
 -                      goto yy450;
++                      if (yych <= '/') goto yy475;
++                      if (yych <= '9') goto yy533;
++                      goto yy475;
                } else {
-                       if (yych <= 'r') {
-                               if (yych <= 'n') goto yy315;
-                               if (yych <= 'q') goto yy56;
-                       } else {
-                               if (yych <= 's') goto yy316;
-                               if (yych <= 't') goto yy317;
-                               goto yy56;
-                       }
 -                      if (yych <= 'T') goto yy561;
 -                      if (yych != 't') goto yy450;
++                      if (yych <= 'T') goto yy586;
++                      if (yych != 't') goto yy475;
                }
        }
- yy315:
-       YYDEBUG(315, *YYCURSOR);
-       yyaccept = 10;
-       yych = *(YYMARKER = ++YYCURSOR);
-       if (yych == 'd') goto yy494;
-       goto yy313;
- yy316:
-       YYDEBUG(316, *YYCURSOR);
-       yyaccept = 10;
-       yych = *(YYMARKER = ++YYCURSOR);
-       if (yych == 't') goto yy494;
-       goto yy313;
- yy317:
-       YYDEBUG(317, *YYCURSOR);
-       yyaccept = 10;
-       yych = *(YYMARKER = ++YYCURSOR);
-       if (yych == 'h') goto yy494;
-       goto yy313;
- yy318:
-       YYDEBUG(318, *YYCURSOR);
-       yych = *++YYCURSOR;
-       if (yych <= '/') goto yy56;
-       if (yych <= '9') goto yy493;
-       goto yy56;
- yy319:
-       YYDEBUG(319, *YYCURSOR);
-       yyaccept = 2;
 -yy561:
 -      YYDEBUG(561, *YYCURSOR);
++yy586:
++      YYDEBUG(586, *YYCURSOR);
+       yyaccept = 9;
        yych = *(YYMARKER = ++YYCURSOR);
-       if (yych <= ',') {
+       if (yych <= '.') {
                if (yych <= 0x1F) {
-                       if (yych == '\t') goto yy135;
-                       goto yy18;
 -                      if (yych == '\t') goto yy506;
 -                      goto yy450;
++                      if (yych == '\t') goto yy531;
++                      goto yy475;
                } else {
-                       if (yych <= ' ') goto yy135;
-                       if (yych == ')') goto yy108;
-                       goto yy18;
 -                      if (yych <= ' ') goto yy506;
 -                      if (yych <= ',') goto yy450;
 -                      goto yy506;
++                      if (yych <= ' ') goto yy531;
++                      if (yych <= ',') goto yy475;
++                      goto yy531;
                }
        } else {
-               if (yych <= '@') {
-                       if (yych == '/') goto yy18;
-                       if (yych <= '9') goto yy135;
-                       goto yy18;
+               if (yych <= 'D') {
 -                      if (yych <= '/') goto yy450;
 -                      if (yych <= '9') goto yy508;
 -                      goto yy450;
++                      if (yych <= '/') goto yy475;
++                      if (yych <= '9') goto yy533;
++                      goto yy475;
                } else {
-                       if (yych <= 'Z') goto yy453;
-                       if (yych <= '`') goto yy18;
-                       if (yych <= 'z') goto yy453;
-                       goto yy18;
 -                      if (yych <= 'E') goto yy562;
 -                      if (yych != 'e') goto yy450;
++                      if (yych <= 'E') goto yy587;
++                      if (yych != 'e') goto yy475;
                }
        }
- yy320:
-       YYDEBUG(320, *YYCURSOR);
-       yyaccept = 7;
-       yych = *(YYMARKER = ++YYCURSOR);
-       if (yych <= '/') {
-               if (yych <= '(') {
-                       if (yych <= '\t') {
-                               if (yych <= 0x08) goto yy281;
-                               goto yy135;
-                       } else {
-                               if (yych == ' ') goto yy135;
-                               goto yy281;
-                       }
-               } else {
-                       if (yych <= ',') {
-                               if (yych <= ')') goto yy108;
-                               goto yy281;
-                       } else {
-                               if (yych <= '-') goto yy454;
-                               if (yych <= '.') goto yy135;
-                               goto yy281;
-                       }
-               }
 -yy562:
 -      YYDEBUG(562, *YYCURSOR);
++yy587:
++      YYDEBUG(587, *YYCURSOR);
+       yych = *++YYCURSOR;
 -      if (yych == 'M') goto yy563;
++      if (yych == 'M') goto yy588;
+       if (yych != 'm') goto yy55;
 -yy563:
 -      YYDEBUG(563, *YYCURSOR);
++yy588:
++      YYDEBUG(588, *YYCURSOR);
+       yych = *++YYCURSOR;
 -      if (yych == 'B') goto yy564;
++      if (yych == 'B') goto yy589;
+       if (yych != 'b') goto yy55;
 -yy564:
 -      YYDEBUG(564, *YYCURSOR);
++yy589:
++      YYDEBUG(589, *YYCURSOR);
+       yych = *++YYCURSOR;
 -      if (yych == 'E') goto yy565;
++      if (yych == 'E') goto yy590;
+       if (yych != 'e') goto yy55;
 -yy565:
 -      YYDEBUG(565, *YYCURSOR);
++yy590:
++      YYDEBUG(590, *YYCURSOR);
+       yych = *++YYCURSOR;
 -      if (yych == 'R') goto yy514;
 -      if (yych == 'r') goto yy514;
++      if (yych == 'R') goto yy539;
++      if (yych == 'r') goto yy539;
+       goto yy55;
 -yy566:
 -      YYDEBUG(566, *YYCURSOR);
++yy591:
++      YYDEBUG(591, *YYCURSOR);
+       yych = *++YYCURSOR;
+       if (yych <= 'Y') {
 -              if (yych == 'R') goto yy567;
++              if (yych == 'R') goto yy592;
+               if (yych <= 'X') goto yy55;
 -              goto yy514;
++              goto yy539;
        } else {
-               if (yych <= 'Z') {
-                       if (yych <= '@') {
-                               if (yych <= '9') goto yy135;
-                               goto yy281;
-                       } else {
-                               if (yych == 'U') goto yy495;
-                               goto yy453;
-                       }
+               if (yych <= 'r') {
+                       if (yych <= 'q') goto yy55;
                } else {
-                       if (yych <= 't') {
-                               if (yych <= '`') goto yy281;
-                               goto yy453;
-                       } else {
-                               if (yych <= 'u') goto yy495;
-                               if (yych <= 'z') goto yy453;
-                               goto yy281;
-                       }
 -                      if (yych == 'y') goto yy514;
++                      if (yych == 'y') goto yy539;
+                       goto yy55;
                }
        }
- yy321:
-       YYDEBUG(321, *YYCURSOR);
-       yyaccept = 7;
 -yy567:
 -      YYDEBUG(567, *YYCURSOR);
++yy592:
++      YYDEBUG(592, *YYCURSOR);
+       yyaccept = 9;
        yych = *(YYMARKER = ++YYCURSOR);
-       if (yych <= '/') {
-               if (yych <= '(') {
-                       if (yych <= '\t') {
-                               if (yych <= 0x08) goto yy281;
-                               goto yy135;
-                       } else {
-                               if (yych == ' ') goto yy135;
-                               goto yy281;
-                       }
+       if (yych <= '.') {
+               if (yych <= 0x1F) {
 -                      if (yych == '\t') goto yy506;
 -                      goto yy450;
++                      if (yych == '\t') goto yy531;
++                      goto yy475;
                } else {
-                       if (yych <= ',') {
-                               if (yych <= ')') goto yy108;
-                               goto yy281;
-                       } else {
-                               if (yych <= '-') goto yy454;
-                               if (yych <= '.') goto yy135;
-                               goto yy281;
-                       }
 -                      if (yych <= ' ') goto yy506;
 -                      if (yych <= ',') goto yy450;
 -                      goto yy506;
++                      if (yych <= ' ') goto yy531;
++                      if (yych <= ',') goto yy475;
++                      goto yy531;
                }
        } else {
-               if (yych <= 'Z') {
-                       if (yych <= '@') {
-                               if (yych <= '9') goto yy135;
-                               goto yy281;
-                       } else {
-                               if (yych == 'Y') goto yy496;
-                               goto yy453;
-                       }
+               if (yych <= 'B') {
 -                      if (yych <= '/') goto yy450;
 -                      if (yych <= '9') goto yy508;
 -                      goto yy450;
++                      if (yych <= '/') goto yy475;
++                      if (yych <= '9') goto yy533;
++                      goto yy475;
                } else {
-                       if (yych <= 'x') {
-                               if (yych <= '`') goto yy281;
-                               goto yy453;
-                       } else {
-                               if (yych <= 'y') goto yy496;
-                               if (yych <= 'z') goto yy453;
-                               goto yy281;
-                       }
 -                      if (yych <= 'C') goto yy568;
 -                      if (yych != 'c') goto yy450;
++                      if (yych <= 'C') goto yy593;
++                      if (yych != 'c') goto yy475;
                }
        }
- yy322:
-       YYDEBUG(322, *YYCURSOR);
-       yyaccept = 7;
 -yy568:
 -      YYDEBUG(568, *YYCURSOR);
++yy593:
++      YYDEBUG(593, *YYCURSOR);
+       yych = *++YYCURSOR;
 -      if (yych == 'H') goto yy514;
 -      if (yych == 'h') goto yy514;
++      if (yych == 'H') goto yy539;
++      if (yych == 'h') goto yy539;
+       goto yy55;
 -yy569:
 -      YYDEBUG(569, *YYCURSOR);
++yy594:
++      YYDEBUG(594, *YYCURSOR);
+       yych = *++YYCURSOR;
 -      if (yych == 'B') goto yy570;
++      if (yych == 'B') goto yy595;
+       if (yych != 'b') goto yy55;
 -yy570:
 -      YYDEBUG(570, *YYCURSOR);
++yy595:
++      YYDEBUG(595, *YYCURSOR);
+       yyaccept = 9;
        yych = *(YYMARKER = ++YYCURSOR);
-       if (yych <= '/') {
-               if (yych <= '(') {
-                       if (yych <= '\t') {
-                               if (yych <= 0x08) goto yy281;
-                               goto yy135;
-                       } else {
-                               if (yych == ' ') goto yy135;
-                               goto yy281;
-                       }
+       if (yych <= '.') {
+               if (yych <= 0x1F) {
 -                      if (yych == '\t') goto yy506;
 -                      goto yy450;
++                      if (yych == '\t') goto yy531;
++                      goto yy475;
                } else {
-                       if (yych <= ',') {
-                               if (yych <= ')') goto yy108;
-                               goto yy281;
-                       } else {
-                               if (yych <= '-') goto yy454;
-                               if (yych <= '.') goto yy135;
-                               goto yy281;
-                       }
 -                      if (yych <= ' ') goto yy506;
 -                      if (yych <= ',') goto yy450;
 -                      goto yy506;
++                      if (yych <= ' ') goto yy531;
++                      if (yych <= ',') goto yy475;
++                      goto yy531;
                }
        } else {
-               if (yych <= 'Z') {
-                       if (yych <= '@') {
-                               if (yych <= '9') goto yy135;
-                               goto yy281;
-                       } else {
-                               if (yych == 'E') goto yy496;
-                               goto yy453;
-                       }
+               if (yych <= 'Q') {
 -                      if (yych <= '/') goto yy450;
 -                      if (yych <= '9') goto yy508;
 -                      goto yy450;
++                      if (yych <= '/') goto yy475;
++                      if (yych <= '9') goto yy533;
++                      goto yy475;
                } else {
-                       if (yych <= 'd') {
-                               if (yych <= '`') goto yy281;
-                               goto yy453;
-                       } else {
-                               if (yych <= 'e') goto yy496;
-                               if (yych <= 'z') goto yy453;
-                               goto yy281;
-                       }
 -                      if (yych <= 'R') goto yy571;
 -                      if (yych != 'r') goto yy450;
++                      if (yych <= 'R') goto yy596;
++                      if (yych != 'r') goto yy475;
                }
        }
- yy323:
-       YYDEBUG(323, *YYCURSOR);
-       yyaccept = 7;
 -yy571:
 -      YYDEBUG(571, *YYCURSOR);
++yy596:
++      YYDEBUG(596, *YYCURSOR);
+       yych = *++YYCURSOR;
 -      if (yych == 'U') goto yy572;
++      if (yych == 'U') goto yy597;
+       if (yych != 'u') goto yy55;
 -yy572:
 -      YYDEBUG(572, *YYCURSOR);
++yy597:
++      YYDEBUG(597, *YYCURSOR);
+       yych = *++YYCURSOR;
 -      if (yych == 'A') goto yy573;
++      if (yych == 'A') goto yy598;
+       if (yych != 'a') goto yy55;
 -yy573:
 -      YYDEBUG(573, *YYCURSOR);
++yy598:
++      YYDEBUG(598, *YYCURSOR);
+       yych = *++YYCURSOR;
 -      if (yych == 'R') goto yy574;
++      if (yych == 'R') goto yy599;
+       if (yych != 'r') goto yy55;
 -yy574:
 -      YYDEBUG(574, *YYCURSOR);
++yy599:
++      YYDEBUG(599, *YYCURSOR);
+       yych = *++YYCURSOR;
 -      if (yych == 'Y') goto yy514;
 -      if (yych == 'y') goto yy514;
++      if (yych == 'Y') goto yy539;
++      if (yych == 'y') goto yy539;
+       goto yy55;
 -yy575:
 -      YYDEBUG(575, *YYCURSOR);
++yy600:
++      YYDEBUG(600, *YYCURSOR);
+       yych = *++YYCURSOR;
+       if (yych <= '/') goto yy55;
 -      if (yych <= '5') goto yy582;
 -      if (yych <= '6') goto yy583;
 -      if (yych <= '9') goto yy584;
++      if (yych <= '5') goto yy607;
++      if (yych <= '6') goto yy608;
++      if (yych <= '9') goto yy609;
+       goto yy55;
 -yy576:
 -      YYDEBUG(576, *YYCURSOR);
++yy601:
++      YYDEBUG(601, *YYCURSOR);
+       yych = *++YYCURSOR;
+       if (yych <= '/') goto yy55;
+       if (yych >= ':') goto yy55;
 -      YYDEBUG(577, *YYCURSOR);
++      YYDEBUG(602, *YYCURSOR);
+       yych = *++YYCURSOR;
+       if (yych <= '/') goto yy55;
+       if (yych >= ':') goto yy55;
 -yy578:
 -      YYDEBUG(578, *YYCURSOR);
++yy603:
++      YYDEBUG(603, *YYCURSOR);
+       yych = *++YYCURSOR;
+       if (yych <= '/') goto yy55;
+       if (yych >= ':') goto yy55;
 -yy579:
 -      YYDEBUG(579, *YYCURSOR);
++yy604:
++      YYDEBUG(604, *YYCURSOR);
+       yych = *++YYCURSOR;
+       if (yych <= '/') goto yy55;
+       if (yych >= ':') goto yy55;
 -      YYDEBUG(580, *YYCURSOR);
++      YYDEBUG(605, *YYCURSOR);
+       ++YYCURSOR;
 -      YYDEBUG(581, *YYCURSOR);
 -#line 1401 "parse_date.re"
++      YYDEBUG(606, *YYCURSOR);
++#line 1423 "parse_date.re"
+       {
+               DEBUG_OUTPUT("pointed date YYYY");
+               TIMELIB_INIT;
+               TIMELIB_HAVE_DATE();
 -              s->time->d = timelib_get_nr((char **) &ptr, 2);
 -              s->time->m = timelib_get_nr((char **) &ptr, 2);
 -              s->time->y = timelib_get_nr((char **) &ptr, 4);
++              s->time->d = timelib_get_nr(&ptr, 2);
++              s->time->m = timelib_get_nr(&ptr, 2);
++              s->time->y = timelib_get_nr(&ptr, 4);
+               TIMELIB_DEINIT;
+               return TIMELIB_DATE_FULL_POINTED;
+       }
 -#line 10561 "<stdout>"
 -yy582:
 -      YYDEBUG(582, *YYCURSOR);
++#line 10698 "<stdout>"
++yy607:
++      YYDEBUG(607, *YYCURSOR);
+       yyaccept = 10;
+       yych = *(YYMARKER = ++YYCURSOR);
 -      if (yych == '.') goto yy471;
 -      if (yych <= '/') goto yy465;
 -      if (yych <= '9') goto yy587;
 -      goto yy465;
 -yy583:
 -      YYDEBUG(583, *YYCURSOR);
++      if (yych == '.') goto yy496;
++      if (yych <= '/') goto yy490;
++      if (yych <= '9') goto yy612;
++      goto yy490;
++yy608:
++      YYDEBUG(608, *YYCURSOR);
+       yyaccept = 10;
+       yych = *(YYMARKER = ++YYCURSOR);
+       if (yych <= '/') {
 -              if (yych == '.') goto yy471;
 -              goto yy465;
++              if (yych == '.') goto yy496;
++              goto yy490;
+       } else {
 -              if (yych <= '0') goto yy587;
 -              if (yych <= '9') goto yy585;
 -              goto yy465;
++              if (yych <= '0') goto yy612;
++              if (yych <= '9') goto yy610;
++              goto yy490;
+       }
 -yy584:
 -      YYDEBUG(584, *YYCURSOR);
++yy609:
++      YYDEBUG(609, *YYCURSOR);
+       yyaccept = 10;
+       yych = *(YYMARKER = ++YYCURSOR);
 -      if (yych == '.') goto yy471;
 -      if (yych <= '/') goto yy465;
 -      if (yych >= ':') goto yy465;
 -yy585:
 -      YYDEBUG(585, *YYCURSOR);
++      if (yych == '.') goto yy496;
++      if (yych <= '/') goto yy490;
++      if (yych >= ':') goto yy490;
++yy610:
++      YYDEBUG(610, *YYCURSOR);
+       yyaccept = 11;
+       yych = *(YYMARKER = ++YYCURSOR);
 -      if (yych <= '/') goto yy586;
 -      if (yych <= '9') goto yy579;
 -yy586:
 -      YYDEBUG(586, *YYCURSOR);
 -#line 1413 "parse_date.re"
++      if (yych <= '/') goto yy611;
++      if (yych <= '9') goto yy604;
++yy611:
++      YYDEBUG(611, *YYCURSOR);
++#line 1435 "parse_date.re"
+       {
+               int length = 0;
+               DEBUG_OUTPUT("pointed date YY");
+               TIMELIB_INIT;
+               TIMELIB_HAVE_DATE();
 -              s->time->d = timelib_get_nr((char **) &ptr, 2);
 -              s->time->m = timelib_get_nr((char **) &ptr, 2);
 -              s->time->y = timelib_get_nr_ex((char **) &ptr, 2, &length);
++              s->time->d = timelib_get_nr(&ptr, 2);
++              s->time->m = timelib_get_nr(&ptr, 2);
++              s->time->y = timelib_get_nr_ex(&ptr, 2, &length);
+               TIMELIB_PROCESS_YEAR(s->time->y, length);
+               TIMELIB_DEINIT;
+               return TIMELIB_DATE_FULL_POINTED;
+       }
 -#line 10610 "<stdout>"
 -yy587:
 -      YYDEBUG(587, *YYCURSOR);
++#line 10747 "<stdout>"
++yy612:
++      YYDEBUG(612, *YYCURSOR);
+       yyaccept = 10;
        yych = *(YYMARKER = ++YYCURSOR);
        if (yych <= '9') {
-               if (yych <= '(') {
-                       if (yych <= '\t') {
-                               if (yych <= 0x08) goto yy281;
-                               goto yy135;
-                       } else {
-                               if (yych == ' ') goto yy135;
-                               goto yy281;
-                       }
+               if (yych <= ' ') {
 -                      if (yych == '\t') goto yy475;
 -                      if (yych <= 0x1F) goto yy465;
 -                      goto yy475;
++                      if (yych == '\t') goto yy500;
++                      if (yych <= 0x1F) goto yy490;
++                      goto yy500;
                } else {
-                       if (yych <= '-') {
-                               if (yych <= ')') goto yy108;
-                               if (yych <= ',') goto yy281;
-                               goto yy460;
-                       } else {
-                               if (yych == '/') goto yy283;
-                               goto yy135;
-                       }
 -                      if (yych == '.') goto yy471;
 -                      if (yych <= '/') goto yy465;
 -                      goto yy579;
++                      if (yych == '.') goto yy496;
++                      if (yych <= '/') goto yy490;
++                      goto yy604;
                }
        } else {
-               if (yych <= '^') {
-                       if (yych <= 'T') {
-                               if (yych <= '@') goto yy281;
-                               goto yy453;
-                       } else {
-                               if (yych <= 'U') goto yy495;
-                               if (yych <= 'Z') goto yy453;
-                               goto yy281;
-                       }
+               if (yych <= 'P') {
 -                      if (yych == 'A') goto yy477;
 -                      if (yych <= 'O') goto yy465;
 -                      goto yy477;
++                      if (yych == 'A') goto yy502;
++                      if (yych <= 'O') goto yy490;
++                      goto yy502;
                } else {
-                       if (yych <= 't') {
-                               if (yych <= '_') goto yy283;
-                               if (yych <= '`') goto yy281;
-                               goto yy459;
+                       if (yych <= 'a') {
 -                              if (yych <= '`') goto yy465;
 -                              goto yy477;
++                              if (yych <= '`') goto yy490;
++                              goto yy502;
                        } else {
-                               if (yych <= 'u') goto yy497;
-                               if (yych <= 'z') goto yy459;
-                               goto yy281;
 -                              if (yych == 'p') goto yy477;
 -                              goto yy465;
++                              if (yych == 'p') goto yy502;
++                              goto yy490;
                        }
                }
        }
- yy324:
-       YYDEBUG(324, *YYCURSOR);
-       yyaccept = 7;
 -yy588:
 -      YYDEBUG(588, *YYCURSOR);
 -      yyaccept = 10;
++yy613:
++      YYDEBUG(613, *YYCURSOR);
++      yyaccept = 10;
        yych = *(YYMARKER = ++YYCURSOR);
-       if (yych <= '9') {
-               if (yych <= '(') {
-                       if (yych <= '\t') {
-                               if (yych <= 0x08) goto yy281;
-                               goto yy135;
-                       } else {
-                               if (yych == ' ') goto yy135;
-                               goto yy281;
-                       }
+       if (yych <= ':') {
+               if (yych <= ' ') {
 -                      if (yych == '\t') goto yy482;
 -                      if (yych <= 0x1F) goto yy465;
 -                      goto yy482;
++                      if (yych == '\t') goto yy507;
++                      if (yych <= 0x1F) goto yy490;
++                      goto yy507;
                } else {
-                       if (yych <= '-') {
-                               if (yych <= ')') goto yy108;
-                               if (yych <= ',') goto yy281;
-                               goto yy460;
-                       } else {
-                               if (yych == '/') goto yy283;
-                               goto yy135;
-                       }
 -                      if (yych == '.') goto yy467;
 -                      if (yych <= '9') goto yy465;
 -                      goto yy467;
++                      if (yych == '.') goto yy492;
++                      if (yych <= '9') goto yy490;
++                      goto yy492;
                }
        } else {
-               if (yych <= '^') {
-                       if (yych <= 'X') {
-                               if (yych <= '@') goto yy281;
-                               goto yy453;
-                       } else {
-                               if (yych <= 'Y') goto yy496;
-                               if (yych <= 'Z') goto yy453;
-                               goto yy281;
-                       }
+               if (yych <= 'P') {
 -                      if (yych == 'A') goto yy484;
 -                      if (yych <= 'O') goto yy465;
 -                      goto yy484;
++                      if (yych == 'A') goto yy509;
++                      if (yych <= 'O') goto yy490;
++                      goto yy509;
                } else {
-                       if (yych <= 'x') {
-                               if (yych <= '_') goto yy283;
-                               if (yych <= '`') goto yy281;
-                               goto yy459;
+                       if (yych <= 'a') {
 -                              if (yych <= '`') goto yy465;
 -                              goto yy484;
++                              if (yych <= '`') goto yy490;
++                              goto yy509;
                        } else {
-                               if (yych <= 'y') goto yy498;
-                               if (yych <= 'z') goto yy459;
-                               goto yy281;
 -                              if (yych == 'p') goto yy484;
 -                              goto yy465;
++                              if (yych == 'p') goto yy509;
++                              goto yy490;
                        }
                }
        }
- yy325:
-       YYDEBUG(325, *YYCURSOR);
-       yyaccept = 7;
 -yy589:
 -      YYDEBUG(589, *YYCURSOR);
++yy614:
++      YYDEBUG(614, *YYCURSOR);
+       yyaccept = 10;
        yych = *(YYMARKER = ++YYCURSOR);
-       if (yych <= '9') {
-               if (yych <= '(') {
-                       if (yych <= '\t') {
-                               if (yych <= 0x08) goto yy281;
-                               goto yy135;
-                       } else {
-                               if (yych == ' ') goto yy135;
-                               goto yy281;
-                       }
+       if (yych <= ':') {
+               if (yych <= ' ') {
 -                      if (yych == '\t') goto yy482;
 -                      if (yych <= 0x1F) goto yy465;
 -                      goto yy482;
++                      if (yych == '\t') goto yy507;
++                      if (yych <= 0x1F) goto yy490;
++                      goto yy507;
                } else {
                        if (yych <= '-') {
-                               if (yych <= ')') goto yy108;
-                               if (yych <= ',') goto yy281;
-                               goto yy460;
 -                              if (yych <= ',') goto yy465;
 -                              goto yy576;
++                              if (yych <= ',') goto yy490;
++                              goto yy601;
                        } else {
-                               if (yych == '/') goto yy283;
-                               goto yy135;
 -                              if (yych <= '.') goto yy575;
 -                              if (yych <= '9') goto yy465;
 -                              goto yy467;
++                              if (yych <= '.') goto yy600;
++                              if (yych <= '9') goto yy490;
++                              goto yy492;
                        }
                }
        } else {
-               if (yych <= '^') {
-                       if (yych <= 'D') {
-                               if (yych <= '@') goto yy281;
-                               goto yy453;
-                       } else {
-                               if (yych <= 'E') goto yy496;
-                               if (yych <= 'Z') goto yy453;
-                               goto yy281;
-                       }
+               if (yych <= 'P') {
 -                      if (yych == 'A') goto yy484;
 -                      if (yych <= 'O') goto yy465;
 -                      goto yy484;
++                      if (yych == 'A') goto yy509;
++                      if (yych <= 'O') goto yy490;
++                      goto yy509;
                } else {
-                       if (yych <= 'd') {
-                               if (yych <= '_') goto yy283;
-                               if (yych <= '`') goto yy281;
-                               goto yy459;
+                       if (yych <= 'a') {
 -                              if (yych <= '`') goto yy465;
 -                              goto yy484;
++                              if (yych <= '`') goto yy490;
++                              goto yy509;
                        } else {
-                               if (yych <= 'e') goto yy498;
-                               if (yych <= 'z') goto yy459;
-                               goto yy281;
 -                              if (yych == 'p') goto yy484;
 -                              goto yy465;
++                              if (yych == 'p') goto yy509;
++                              goto yy490;
                        }
                }
        }
- yy326:
-       YYDEBUG(326, *YYCURSOR);
 -yy590:
 -      YYDEBUG(590, *YYCURSOR);
++yy615:
++      YYDEBUG(615, *YYCURSOR);
        yych = *++YYCURSOR;
-       if (yych <= 'T') {
-               if (yych <= ')') {
-                       if (yych <= '(') goto yy18;
-                       goto yy108;
-               } else {
-                       if (yych <= '@') goto yy18;
-                       if (yych <= 'S') goto yy453;
-                       goto yy499;
-               }
-       } else {
-               if (yych <= 's') {
-                       if (yych <= 'Z') goto yy453;
-                       if (yych <= '`') goto yy18;
-                       goto yy453;
-               } else {
-                       if (yych <= 't') goto yy499;
-                       if (yych <= 'z') goto yy453;
-                       goto yy18;
-               }
-       }
- yy327:
-       YYDEBUG(327, *YYCURSOR);
-       yyaccept = 2;
-       yych = *(YYMARKER = ++YYCURSOR);
-       if (yych <= 'S') {
-               if (yych <= '-') {
-                       if (yych == ')') goto yy108;
-                       if (yych <= ',') goto yy18;
-                       goto yy283;
-               } else {
-                       if (yych == '/') goto yy283;
-                       if (yych <= '@') goto yy18;
-                       goto yy453;
-               }
+       if (yych <= '.') {
+               if (yych <= ',') goto yy55;
 -              if (yych <= '-') goto yy629;
 -              goto yy576;
++              if (yych <= '-') goto yy654;
++              goto yy601;
        } else {
-               if (yych <= '_') {
-                       if (yych <= 'T') goto yy499;
-                       if (yych <= 'Z') goto yy453;
-                       if (yych <= '^') goto yy18;
-                       goto yy283;
-               } else {
-                       if (yych <= 's') {
-                               if (yych <= '`') goto yy18;
-                               goto yy459;
-                       } else {
-                               if (yych <= 't') goto yy500;
-                               if (yych <= 'z') goto yy459;
-                               goto yy18;
-                       }
-               }
+               if (yych <= '/') goto yy55;
 -              if (yych <= '9') goto yy592;
++              if (yych <= '9') goto yy617;
+               goto yy55;
        }
- yy328:
-       YYDEBUG(328, *YYCURSOR);
-       yyaccept = 7;
-       yych = *(YYMARKER = ++YYCURSOR);
-       if (yych <= '/') {
-               if (yych <= '(') {
-                       if (yych <= '\t') {
-                               if (yych <= 0x08) goto yy281;
-                               goto yy135;
-                       } else {
-                               if (yych == ' ') goto yy135;
-                               goto yy281;
-                       }
-               } else {
-                       if (yych <= ',') {
-                               if (yych <= ')') goto yy108;
-                               goto yy281;
-                       } else {
-                               if (yych <= '-') goto yy454;
-                               if (yych <= '.') goto yy135;
-                               goto yy281;
-                       }
-               }
 -yy591:
 -      YYDEBUG(591, *YYCURSOR);
++yy616:
++      YYDEBUG(616, *YYCURSOR);
+       yych = *++YYCURSOR;
+       if (yych <= '.') {
+               if (yych <= ',') goto yy55;
 -              if (yych <= '-') goto yy629;
 -              goto yy576;
++              if (yych <= '-') goto yy654;
++              goto yy601;
        } else {
-               if (yych <= 'Z') {
-                       if (yych <= '@') {
-                               if (yych <= '9') goto yy135;
-                               goto yy281;
-                       } else {
-                               if (yych == 'C') goto yy501;
-                               goto yy453;
-                       }
-               } else {
-                       if (yych <= 'b') {
-                               if (yych <= '`') goto yy281;
-                               goto yy453;
-                       } else {
-                               if (yych <= 'c') goto yy501;
-                               if (yych <= 'z') goto yy453;
-                               goto yy281;
-                       }
-               }
+               if (yych <= '/') goto yy55;
+               if (yych >= '3') goto yy55;
        }
- yy329:
-       YYDEBUG(329, *YYCURSOR);
-       yyaccept = 7;
-       yych = *(YYMARKER = ++YYCURSOR);
-       if (yych <= '-') {
-               if (yych <= ' ') {
-                       if (yych == '\t') goto yy135;
-                       if (yych <= 0x1F) goto yy281;
-                       goto yy135;
-               } else {
-                       if (yych == ')') goto yy108;
-                       if (yych <= ',') goto yy281;
-                       goto yy454;
-               }
 -yy592:
 -      YYDEBUG(592, *YYCURSOR);
++yy617:
++      YYDEBUG(617, *YYCURSOR);
+       yych = *++YYCURSOR;
+       if (yych <= ',') goto yy55;
 -      if (yych <= '-') goto yy629;
 -      if (yych <= '.') goto yy576;
++      if (yych <= '-') goto yy654;
++      if (yych <= '.') goto yy601;
+       goto yy55;
 -yy593:
 -      YYDEBUG(593, *YYCURSOR);
++yy618:
++      YYDEBUG(618, *YYCURSOR);
+       yych = *++YYCURSOR;
+       if (yych <= 'U') {
 -              if (yych == 'A') goto yy625;
++              if (yych == 'A') goto yy650;
+               if (yych <= 'T') goto yy55;
 -              goto yy624;
++              goto yy649;
        } else {
-               if (yych <= '@') {
-                       if (yych == '/') goto yy281;
-                       if (yych <= '9') goto yy135;
-                       goto yy281;
+               if (yych <= 'a') {
+                       if (yych <= '`') goto yy55;
 -                      goto yy625;
++                      goto yy650;
                } else {
-                       if (yych <= 'Z') goto yy453;
-                       if (yych <= '`') goto yy281;
-                       if (yych <= 'z') goto yy453;
-                       goto yy281;
 -                      if (yych == 'u') goto yy624;
++                      if (yych == 'u') goto yy649;
+                       goto yy55;
                }
        }
- yy330:
-       YYDEBUG(330, *YYCURSOR);
 -yy594:
 -      YYDEBUG(594, *YYCURSOR);
++yy619:
++      YYDEBUG(619, *YYCURSOR);
        yych = *++YYCURSOR;
-       if (yych <= 'N') {
-               if (yych <= ')') {
-                       if (yych <= '(') goto yy18;
-                       goto yy108;
-               } else {
-                       if (yych <= '@') goto yy18;
-                       if (yych <= 'M') goto yy453;
-                       goto yy502;
-               }
 -      if (yych == 'E') goto yy622;
 -      if (yych == 'e') goto yy622;
++      if (yych == 'E') goto yy647;
++      if (yych == 'e') goto yy647;
+       goto yy55;
 -yy595:
 -      YYDEBUG(595, *YYCURSOR);
++yy620:
++      YYDEBUG(620, *YYCURSOR);
+       yych = *++YYCURSOR;
 -      if (yych == 'A') goto yy619;
 -      if (yych == 'a') goto yy619;
++      if (yych == 'A') goto yy644;
++      if (yych == 'a') goto yy644;
+       goto yy55;
 -yy596:
 -      YYDEBUG(596, *YYCURSOR);
++yy621:
++      YYDEBUG(621, *YYCURSOR);
+       yych = *++YYCURSOR;
+       if (yych <= 'U') {
 -              if (yych == 'P') goto yy616;
++              if (yych == 'P') goto yy641;
+               if (yych <= 'T') goto yy55;
 -              goto yy615;
++              goto yy640;
        } else {
-               if (yych <= 'm') {
-                       if (yych <= 'Z') goto yy453;
-                       if (yych <= '`') goto yy18;
-                       goto yy453;
+               if (yych <= 'p') {
+                       if (yych <= 'o') goto yy55;
 -                      goto yy616;
++                      goto yy641;
                } else {
-                       if (yych <= 'n') goto yy502;
-                       if (yych <= 'z') goto yy453;
-                       goto yy18;
 -                      if (yych == 'u') goto yy615;
++                      if (yych == 'u') goto yy640;
+                       goto yy55;
                }
        }
- yy331:
-       YYDEBUG(331, *YYCURSOR);
-       yyaccept = 7;
 -yy597:
 -      YYDEBUG(597, *YYCURSOR);
++yy622:
++      YYDEBUG(622, *YYCURSOR);
+       yych = *++YYCURSOR;
 -      if (yych == 'E') goto yy612;
 -      if (yych == 'e') goto yy612;
++      if (yych == 'E') goto yy637;
++      if (yych == 'e') goto yy637;
+       goto yy55;
 -yy598:
 -      YYDEBUG(598, *YYCURSOR);
++yy623:
++      YYDEBUG(623, *YYCURSOR);
+       yych = *++YYCURSOR;
 -      if (yych == 'C') goto yy610;
 -      if (yych == 'c') goto yy610;
++      if (yych == 'C') goto yy635;
++      if (yych == 'c') goto yy635;
+       goto yy55;
 -yy599:
 -      YYDEBUG(599, *YYCURSOR);
++yy624:
++      YYDEBUG(624, *YYCURSOR);
+       yych = *++YYCURSOR;
 -      if (yych == 'O') goto yy608;
 -      if (yych == 'o') goto yy608;
++      if (yych == 'O') goto yy633;
++      if (yych == 'o') goto yy633;
+       goto yy55;
 -yy600:
 -      YYDEBUG(600, *YYCURSOR);
++yy625:
++      YYDEBUG(625, *YYCURSOR);
+       yych = *++YYCURSOR;
 -      if (yych == 'E') goto yy601;
++      if (yych == 'E') goto yy626;
+       if (yych != 'e') goto yy55;
 -yy601:
 -      YYDEBUG(601, *YYCURSOR);
++yy626:
++      YYDEBUG(626, *YYCURSOR);
+       yych = *++YYCURSOR;
 -      if (yych == 'C') goto yy602;
++      if (yych == 'C') goto yy627;
+       if (yych != 'c') goto yy55;
 -yy602:
 -      YYDEBUG(602, *YYCURSOR);
++yy627:
++      YYDEBUG(627, *YYCURSOR);
+       yyaccept = 9;
        yych = *(YYMARKER = ++YYCURSOR);
-       if (yych <= '9') {
-               if (yych <= '(') {
-                       if (yych <= '\t') {
-                               if (yych <= 0x08) goto yy281;
-                               goto yy135;
-                       } else {
-                               if (yych == ' ') goto yy135;
-                               goto yy281;
-                       }
+       if (yych <= '.') {
+               if (yych <= 0x1F) {
 -                      if (yych == '\t') goto yy506;
 -                      goto yy450;
++                      if (yych == '\t') goto yy531;
++                      goto yy475;
                } else {
-                       if (yych <= '-') {
-                               if (yych <= ')') goto yy108;
-                               if (yych <= ',') goto yy281;
-                               goto yy460;
-                       } else {
-                               if (yych == '/') goto yy283;
-                               goto yy135;
-                       }
 -                      if (yych <= ' ') goto yy506;
 -                      if (yych <= ',') goto yy450;
 -                      if (yych >= '.') goto yy506;
++                      if (yych <= ' ') goto yy531;
++                      if (yych <= ',') goto yy475;
++                      if (yych >= '.') goto yy531;
                }
        } else {
-               if (yych <= '^') {
-                       if (yych <= 'B') {
-                               if (yych <= '@') goto yy281;
-                               goto yy453;
-                       } else {
-                               if (yych <= 'C') goto yy501;
-                               if (yych <= 'Z') goto yy453;
-                               goto yy281;
-                       }
+               if (yych <= 'D') {
 -                      if (yych <= '/') goto yy450;
 -                      if (yych <= '9') goto yy508;
 -                      goto yy450;
++                      if (yych <= '/') goto yy475;
++                      if (yych <= '9') goto yy533;
++                      goto yy475;
                } else {
-                       if (yych <= 'b') {
-                               if (yych <= '_') goto yy283;
-                               if (yych <= '`') goto yy281;
-                               goto yy459;
-                       } else {
-                               if (yych <= 'c') goto yy503;
-                               if (yych <= 'z') goto yy459;
-                               goto yy281;
-                       }
 -                      if (yych <= 'E') goto yy555;
 -                      if (yych == 'e') goto yy555;
 -                      goto yy450;
++                      if (yych <= 'E') goto yy580;
++                      if (yych == 'e') goto yy580;
++                      goto yy475;
                }
        }
- yy332:
-       YYDEBUG(332, *YYCURSOR);
-       yyaccept = 7;
 -yy603:
 -      YYDEBUG(603, *YYCURSOR);
++yy628:
++      YYDEBUG(628, *YYCURSOR);
+       yych = *++YYCURSOR;
 -      if (yych <= '/') goto yy507;
 -      if (yych <= '0') goto yy604;
 -      if (yych <= '2') goto yy605;
 -      if (yych <= '3') goto yy606;
 -      goto yy507;
 -yy604:
 -      YYDEBUG(604, *YYCURSOR);
++      if (yych <= '/') goto yy532;
++      if (yych <= '0') goto yy629;
++      if (yych <= '2') goto yy630;
++      if (yych <= '3') goto yy631;
++      goto yy532;
++yy629:
++      YYDEBUG(629, *YYCURSOR);
+       yych = *++YYCURSOR;
 -      if (yych <= '/') goto yy509;
 -      if (yych <= '9') goto yy607;
 -      goto yy509;
 -yy605:
 -      YYDEBUG(605, *YYCURSOR);
++      if (yych <= '/') goto yy534;
++      if (yych <= '9') goto yy632;
++      goto yy534;
++yy630:
++      YYDEBUG(630, *YYCURSOR);
+       yych = *++YYCURSOR;
 -      if (yych <= '/') goto yy509;
 -      if (yych <= '9') goto yy607;
 -      goto yy509;
 -yy606:
 -      YYDEBUG(606, *YYCURSOR);
++      if (yych <= '/') goto yy534;
++      if (yych <= '9') goto yy632;
++      goto yy534;
++yy631:
++      YYDEBUG(631, *YYCURSOR);
+       yych = *++YYCURSOR;
 -      if (yych <= '/') goto yy509;
 -      if (yych <= '1') goto yy607;
 -      if (yych <= '9') goto yy515;
 -      goto yy509;
 -yy607:
 -      YYDEBUG(607, *YYCURSOR);
++      if (yych <= '/') goto yy534;
++      if (yych <= '1') goto yy632;
++      if (yych <= '9') goto yy540;
++      goto yy534;
++yy632:
++      YYDEBUG(632, *YYCURSOR);
+       yych = *++YYCURSOR;
 -      if (yych <= '/') goto yy509;
 -      if (yych <= '9') goto yy516;
 -      goto yy509;
 -yy608:
 -      YYDEBUG(608, *YYCURSOR);
++      if (yych <= '/') goto yy534;
++      if (yych <= '9') goto yy541;
++      goto yy534;
++yy633:
++      YYDEBUG(633, *YYCURSOR);
+       yych = *++YYCURSOR;
 -      if (yych == 'V') goto yy609;
++      if (yych == 'V') goto yy634;
+       if (yych != 'v') goto yy55;
 -yy609:
 -      YYDEBUG(609, *YYCURSOR);
++yy634:
++      YYDEBUG(634, *YYCURSOR);
+       yyaccept = 9;
        yych = *(YYMARKER = ++YYCURSOR);
        if (yych <= '.') {
-               if (yych <= ' ') {
-                       if (yych == '\t') goto yy135;
-                       if (yych <= 0x1F) goto yy281;
-                       goto yy135;
-               } else {
-                       if (yych <= ')') {
-                               if (yych <= '(') goto yy281;
-                               goto yy108;
-                       } else {
-                               if (yych <= ',') goto yy281;
-                               if (yych <= '-') goto yy460;
-                               goto yy135;
-                       }
+               if (yych <= 0x1F) {
 -                      if (yych == '\t') goto yy506;
 -                      goto yy450;
++                      if (yych == '\t') goto yy531;
++                      goto yy475;
+               } else {
 -                      if (yych <= ' ') goto yy506;
 -                      if (yych <= ',') goto yy450;
 -                      if (yych <= '-') goto yy603;
 -                      goto yy506;
++                      if (yych <= ' ') goto yy531;
++                      if (yych <= ',') goto yy475;
++                      if (yych <= '-') goto yy628;
++                      goto yy531;
                }
        } else {
-               if (yych <= 'Z') {
-                       if (yych <= '/') goto yy283;
-                       if (yych <= '9') goto yy135;
-                       if (yych <= '@') goto yy281;
-                       goto yy453;
+               if (yych <= 'D') {
 -                      if (yych <= '/') goto yy450;
 -                      if (yych <= '9') goto yy508;
 -                      goto yy450;
++                      if (yych <= '/') goto yy475;
++                      if (yych <= '9') goto yy533;
++                      goto yy475;
                } else {
-                       if (yych <= '_') {
-                               if (yych <= '^') goto yy281;
-                               goto yy283;
-                       } else {
-                               if (yych <= '`') goto yy281;
-                               if (yych <= 'z') goto yy459;
-                               goto yy281;
-                       }
 -                      if (yych <= 'E') goto yy510;
 -                      if (yych == 'e') goto yy510;
 -                      goto yy450;
++                      if (yych <= 'E') goto yy535;
++                      if (yych == 'e') goto yy535;
++                      goto yy475;
                }
        }
- yy333:
-       YYDEBUG(333, *YYCURSOR);
-       yyaccept = 2;
 -yy610:
 -      YYDEBUG(610, *YYCURSOR);
++yy635:
++      YYDEBUG(635, *YYCURSOR);
+       yych = *++YYCURSOR;
 -      if (yych == 'T') goto yy611;
++      if (yych == 'T') goto yy636;
+       if (yych != 't') goto yy55;
 -yy611:
 -      YYDEBUG(611, *YYCURSOR);
++yy636:
++      YYDEBUG(636, *YYCURSOR);
+       yyaccept = 9;
        yych = *(YYMARKER = ++YYCURSOR);
-       if (yych <= 'M') {
-               if (yych <= '-') {
-                       if (yych == ')') goto yy108;
-                       if (yych <= ',') goto yy18;
-                       goto yy283;
+       if (yych <= '.') {
+               if (yych <= 0x1F) {
 -                      if (yych == '\t') goto yy506;
 -                      goto yy450;
++                      if (yych == '\t') goto yy531;
++                      goto yy475;
                } else {
-                       if (yych == '/') goto yy283;
-                       if (yych <= '@') goto yy18;
-                       goto yy453;
 -                      if (yych <= ' ') goto yy506;
 -                      if (yych <= ',') goto yy450;
 -                      if (yych <= '-') goto yy603;
 -                      goto yy506;
++                      if (yych <= ' ') goto yy531;
++                      if (yych <= ',') goto yy475;
++                      if (yych <= '-') goto yy628;
++                      goto yy531;
                }
        } else {
-               if (yych <= '_') {
-                       if (yych <= 'N') goto yy502;
-                       if (yych <= 'Z') goto yy453;
-                       if (yych <= '^') goto yy18;
-                       goto yy283;
+               if (yych <= 'N') {
 -                      if (yych <= '/') goto yy450;
 -                      if (yych <= '9') goto yy508;
 -                      goto yy450;
++                      if (yych <= '/') goto yy475;
++                      if (yych <= '9') goto yy533;
++                      goto yy475;
                } else {
-                       if (yych <= 'm') {
-                               if (yych <= '`') goto yy18;
-                               goto yy459;
-                       } else {
-                               if (yych <= 'n') goto yy504;
-                               if (yych <= 'z') goto yy459;
-                               goto yy18;
-                       }
 -                      if (yych <= 'O') goto yy520;
 -                      if (yych == 'o') goto yy520;
 -                      goto yy450;
++                      if (yych <= 'O') goto yy545;
++                      if (yych == 'o') goto yy545;
++                      goto yy475;
                }
        }
- yy334:
-       YYDEBUG(334, *YYCURSOR);
 -yy612:
 -      YYDEBUG(612, *YYCURSOR);
++yy637:
++      YYDEBUG(637, *YYCURSOR);
        yych = *++YYCURSOR;
-       if (yych <= 'T') {
-               if (yych <= ')') {
-                       if (yych <= '(') goto yy18;
-                       goto yy108;
 -      if (yych == 'P') goto yy613;
++      if (yych == 'P') goto yy638;
+       if (yych != 'p') goto yy55;
 -yy613:
 -      YYDEBUG(613, *YYCURSOR);
++yy638:
++      YYDEBUG(638, *YYCURSOR);
+       yyaccept = 9;
+       yych = *(YYMARKER = ++YYCURSOR);
+       if (yych <= '.') {
+               if (yych <= 0x1F) {
 -                      if (yych == '\t') goto yy506;
 -                      goto yy450;
++                      if (yych == '\t') goto yy531;
++                      goto yy475;
                } else {
-                       if (yych <= '@') goto yy18;
-                       if (yych <= 'S') goto yy453;
-                       goto yy505;
 -                      if (yych <= ' ') goto yy506;
 -                      if (yych <= ',') goto yy450;
 -                      if (yych <= '-') goto yy603;
 -                      goto yy506;
++                      if (yych <= ' ') goto yy531;
++                      if (yych <= ',') goto yy475;
++                      if (yych <= '-') goto yy628;
++                      goto yy531;
                }
        } else {
-               if (yych <= 's') {
-                       if (yych <= 'Z') goto yy453;
-                       if (yych <= '`') goto yy18;
-                       goto yy453;
+               if (yych <= 'S') {
 -                      if (yych <= '/') goto yy450;
 -                      if (yych <= '9') goto yy508;
 -                      goto yy450;
++                      if (yych <= '/') goto yy475;
++                      if (yych <= '9') goto yy533;
++                      goto yy475;
                } else {
-                       if (yych <= 't') goto yy505;
-                       if (yych <= 'z') goto yy453;
-                       goto yy18;
 -                      if (yych <= 'T') goto yy614;
 -                      if (yych != 't') goto yy450;
++                      if (yych <= 'T') goto yy639;
++                      if (yych != 't') goto yy475;
                }
        }
- yy335:
-       YYDEBUG(335, *YYCURSOR);
-       yych = *++YYCURSOR;
-       if (yych <= 'N') {
-               if (yych <= ')') {
-                       if (yych <= '(') goto yy18;
-                       goto yy108;
 -yy614:
 -      YYDEBUG(614, *YYCURSOR);
++yy639:
++      YYDEBUG(639, *YYCURSOR);
+       yyaccept = 9;
+       yych = *(YYMARKER = ++YYCURSOR);
+       if (yych <= '.') {
+               if (yych <= 0x1F) {
 -                      if (yych == '\t') goto yy506;
 -                      goto yy450;
++                      if (yych == '\t') goto yy531;
++                      goto yy475;
                } else {
-                       if (yych <= '@') goto yy18;
-                       if (yych <= 'M') goto yy453;
 -                      if (yych <= ' ') goto yy506;
 -                      if (yych <= ',') goto yy450;
 -                      if (yych <= '-') goto yy603;
--                      goto yy506;
++                      if (yych <= ' ') goto yy531;
++                      if (yych <= ',') goto yy475;
++                      if (yych <= '-') goto yy628;
++                      goto yy531;
                }
        } else {
-               if (yych <= 'm') {
-                       if (yych <= 'Z') goto yy453;
-                       if (yych <= '`') goto yy18;
-                       goto yy453;
+               if (yych <= 'D') {
 -                      if (yych <= '/') goto yy450;
 -                      if (yych <= '9') goto yy508;
 -                      goto yy450;
++                      if (yych <= '/') goto yy475;
++                      if (yych <= '9') goto yy533;
++                      goto yy475;
                } else {
-                       if (yych <= 'n') goto yy506;
-                       if (yych <= 'z') goto yy453;
-                       goto yy18;
 -                      if (yych <= 'E') goto yy562;
 -                      if (yych == 'e') goto yy562;
 -                      goto yy450;
++                      if (yych <= 'E') goto yy587;
++                      if (yych == 'e') goto yy587;
++                      goto yy475;
                }
        }
- yy336:
-       YYDEBUG(336, *YYCURSOR);
 -yy615:
 -      YYDEBUG(615, *YYCURSOR);
++yy640:
++      YYDEBUG(640, *YYCURSOR);
        yych = *++YYCURSOR;
-       if (yych <= '@') {
-               if (yych == ')') goto yy108;
-       } else {
-               if (yych <= 'Z') goto yy453;
-               if (yych <= '`') goto yy337;
-               if (yych <= 'z') goto yy453;
-       }
- yy337:
-       YYDEBUG(337, *YYCURSOR);
- #line 1033 "parse_date.re"
-       {
-               DEBUG_OUTPUT("now");
-               TIMELIB_INIT;
-               TIMELIB_DEINIT;
-               return TIMELIB_RELATIVE;
-       }
- #line 8913 "<stdout>"
- yy338:
-       YYDEBUG(338, *YYCURSOR);
-       yyaccept = 2;
 -      if (yych == 'G') goto yy618;
 -      if (yych == 'g') goto yy618;
++      if (yych == 'G') goto yy643;
++      if (yych == 'g') goto yy643;
+       goto yy55;
 -yy616:
 -      YYDEBUG(616, *YYCURSOR);
++yy641:
++      YYDEBUG(641, *YYCURSOR);
+       yych = *++YYCURSOR;
 -      if (yych == 'R') goto yy617;
++      if (yych == 'R') goto yy642;
+       if (yych != 'r') goto yy55;
 -yy617:
 -      YYDEBUG(617, *YYCURSOR);
++yy642:
++      YYDEBUG(642, *YYCURSOR);
+       yyaccept = 9;
        yych = *(YYMARKER = ++YYCURSOR);
-       if (yych <= 'S') {
-               if (yych <= '-') {
-                       if (yych == ')') goto yy108;
-                       if (yych <= ',') goto yy18;
-                       goto yy283;
+       if (yych <= '.') {
+               if (yych <= 0x1F) {
 -                      if (yych == '\t') goto yy506;
 -                      goto yy450;
++                      if (yych == '\t') goto yy531;
++                      goto yy475;
                } else {
-                       if (yych == '/') goto yy283;
-                       if (yych <= '@') goto yy18;
-                       goto yy453;
 -                      if (yych <= ' ') goto yy506;
 -                      if (yych <= ',') goto yy450;
 -                      if (yych <= '-') goto yy603;
 -                      goto yy506;
++                      if (yych <= ' ') goto yy531;
++                      if (yych <= ',') goto yy475;
++                      if (yych <= '-') goto yy628;
++                      goto yy531;
                }
        } else {
-               if (yych <= '_') {
-                       if (yych <= 'T') goto yy505;
-                       if (yych <= 'Z') goto yy453;
-                       if (yych <= '^') goto yy18;
-                       goto yy283;
+               if (yych <= 'H') {
 -                      if (yych <= '/') goto yy450;
 -                      if (yych <= '9') goto yy508;
 -                      goto yy450;
++                      if (yych <= '/') goto yy475;
++                      if (yych <= '9') goto yy533;
++                      goto yy475;
                } else {
-                       if (yych <= 's') {
-                               if (yych <= '`') goto yy18;
-                               goto yy459;
-                       } else {
-                               if (yych <= 't') goto yy508;
-                               if (yych <= 'z') goto yy459;
-                               goto yy18;
-                       }
 -                      if (yych <= 'I') goto yy526;
 -                      if (yych == 'i') goto yy526;
 -                      goto yy450;
++                      if (yych <= 'I') goto yy551;
++                      if (yych == 'i') goto yy551;
++                      goto yy475;
                }
        }
- yy339:
-       YYDEBUG(339, *YYCURSOR);
-       yyaccept = 2;
 -yy618:
 -      YYDEBUG(618, *YYCURSOR);
++yy643:
++      YYDEBUG(643, *YYCURSOR);
+       yyaccept = 9;
        yych = *(YYMARKER = ++YYCURSOR);
-       if (yych <= 'M') {
-               if (yych <= '-') {
-                       if (yych == ')') goto yy108;
-                       if (yych <= ',') goto yy18;
-                       goto yy283;
+       if (yych <= '.') {
+               if (yych <= 0x1F) {
 -                      if (yych == '\t') goto yy506;
 -                      goto yy450;
++                      if (yych == '\t') goto yy531;
++                      goto yy475;
                } else {
-                       if (yych == '/') goto yy283;
-                       if (yych <= '@') goto yy18;
-                       goto yy453;
 -                      if (yych <= ' ') goto yy506;
 -                      if (yych <= ',') goto yy450;
 -                      if (yych <= '-') goto yy603;
 -                      goto yy506;
++                      if (yych <= ' ') goto yy531;
++                      if (yych <= ',') goto yy475;
++                      if (yych <= '-') goto yy628;
++                      goto yy531;
                }
        } else {
-               if (yych <= '_') {
-                       if (yych <= 'N') goto yy506;
-                       if (yych <= 'Z') goto yy453;
-                       if (yych <= '^') goto yy18;
-                       goto yy283;
+               if (yych <= 'T') {
 -                      if (yych <= '/') goto yy450;
 -                      if (yych <= '9') goto yy508;
 -                      goto yy450;
++                      if (yych <= '/') goto yy475;
++                      if (yych <= '9') goto yy533;
++                      goto yy475;
                } else {
-                       if (yych <= 'm') {
-                               if (yych <= '`') goto yy18;
-                               goto yy459;
-                       } else {
-                               if (yych <= 'n') goto yy509;
-                               if (yych <= 'z') goto yy459;
-                               goto yy18;
-                       }
 -                      if (yych <= 'U') goto yy528;
 -                      if (yych == 'u') goto yy528;
 -                      goto yy450;
++                      if (yych <= 'U') goto yy553;
++                      if (yych == 'u') goto yy553;
++                      goto yy475;
                }
        }
- yy340:
-       YYDEBUG(340, *YYCURSOR);
-       yyaccept = 11;
 -yy619:
 -      YYDEBUG(619, *YYCURSOR);
++yy644:
++      YYDEBUG(644, *YYCURSOR);
+       yych = *++YYCURSOR;
+       if (yych <= 'Y') {
 -              if (yych == 'R') goto yy620;
++              if (yych == 'R') goto yy645;
+               if (yych <= 'X') goto yy55;
 -              goto yy621;
++              goto yy646;
+       } else {
+               if (yych <= 'r') {
+                       if (yych <= 'q') goto yy55;
+               } else {
 -                      if (yych == 'y') goto yy621;
++                      if (yych == 'y') goto yy646;
+                       goto yy55;
+               }
+       }
 -yy620:
 -      YYDEBUG(620, *YYCURSOR);
++yy645:
++      YYDEBUG(645, *YYCURSOR);
+       yyaccept = 9;
        yych = *(YYMARKER = ++YYCURSOR);
-       if (yych <= '/') {
-               if (yych <= ',') {
-                       if (yych == ')') goto yy108;
-                       goto yy337;
+       if (yych <= '.') {
+               if (yych <= 0x1F) {
 -                      if (yych == '\t') goto yy506;
 -                      goto yy450;
++                      if (yych == '\t') goto yy531;
++                      goto yy475;
                } else {
-                       if (yych == '.') goto yy337;
-                       goto yy283;
 -                      if (yych <= ' ') goto yy506;
 -                      if (yych <= ',') goto yy450;
 -                      if (yych <= '-') goto yy603;
 -                      goto yy506;
++                      if (yych <= ' ') goto yy531;
++                      if (yych <= ',') goto yy475;
++                      if (yych <= '-') goto yy628;
++                      goto yy531;
                }
        } else {
-               if (yych <= '^') {
-                       if (yych <= '@') goto yy337;
-                       if (yych <= 'Z') goto yy453;
-                       goto yy337;
+               if (yych <= 'B') {
 -                      if (yych <= '/') goto yy450;
 -                      if (yych <= '9') goto yy508;
 -                      goto yy450;
++                      if (yych <= '/') goto yy475;
++                      if (yych <= '9') goto yy533;
++                      goto yy475;
                } else {
-                       if (yych <= '_') goto yy283;
-                       if (yych <= '`') goto yy337;
-                       if (yych <= 'z') goto yy459;
-                       goto yy337;
 -                      if (yych <= 'C') goto yy568;
 -                      if (yych == 'c') goto yy568;
 -                      goto yy450;
++                      if (yych <= 'C') goto yy593;
++                      if (yych == 'c') goto yy593;
++                      goto yy475;
                }
        }
- yy341:
-       YYDEBUG(341, *YYCURSOR);
-       yyaccept = 7;
 -yy621:
 -      YYDEBUG(621, *YYCURSOR);
++yy646:
++      YYDEBUG(646, *YYCURSOR);
+       yyaccept = 9;
        yych = *(YYMARKER = ++YYCURSOR);
-       if (yych <= '/') {
-               if (yych <= '(') {
-                       if (yych <= '\t') {
-                               if (yych <= 0x08) goto yy281;
-                               goto yy135;
-                       } else {
-                               if (yych == ' ') goto yy135;
-                               goto yy281;
-                       }
+       if (yych <= ',') {
+               if (yych <= '\t') {
 -                      if (yych <= 0x08) goto yy450;
 -                      goto yy506;
++                      if (yych <= 0x08) goto yy475;
++                      goto yy531;
                } else {
-                       if (yych <= ',') {
-                               if (yych <= ')') goto yy108;
-                               goto yy281;
-                       } else {
-                               if (yych <= '-') goto yy454;
-                               if (yych <= '.') goto yy135;
-                               goto yy281;
-                       }
 -                      if (yych == ' ') goto yy506;
 -                      goto yy450;
++                      if (yych == ' ') goto yy531;
++                      goto yy475;
                }
        } else {
-               if (yych <= 'Z') {
-                       if (yych <= '@') {
-                               if (yych <= '9') goto yy135;
-                               goto yy281;
-                       } else {
-                               if (yych == 'O') goto yy510;
-                               goto yy453;
-                       }
+               if (yych <= '.') {
 -                      if (yych <= '-') goto yy603;
 -                      goto yy506;
++                      if (yych <= '-') goto yy628;
++                      goto yy531;
                } else {
-                       if (yych <= 'n') {
-                               if (yych <= '`') goto yy281;
-                               goto yy453;
-                       } else {
-                               if (yych <= 'o') goto yy510;
-                               if (yych <= 'z') goto yy453;
-                               goto yy281;
-                       }
 -                      if (yych <= '/') goto yy450;
 -                      if (yych <= '9') goto yy508;
 -                      goto yy450;
++                      if (yych <= '/') goto yy475;
++                      if (yych <= '9') goto yy533;
++                      goto yy475;
                }
        }
- yy342:
-       YYDEBUG(342, *YYCURSOR);
-       yyaccept = 7;
 -yy622:
 -      YYDEBUG(622, *YYCURSOR);
++yy647:
++      YYDEBUG(647, *YYCURSOR);
+       yych = *++YYCURSOR;
 -      if (yych == 'B') goto yy623;
++      if (yych == 'B') goto yy648;
+       if (yych != 'b') goto yy55;
 -yy623:
 -      YYDEBUG(623, *YYCURSOR);
++yy648:
++      YYDEBUG(648, *YYCURSOR);
+       yyaccept = 9;
        yych = *(YYMARKER = ++YYCURSOR);
-       if (yych <= '9') {
-               if (yych <= '(') {
-                       if (yych <= '\t') {
-                               if (yych <= 0x08) goto yy281;
-                               goto yy135;
-                       } else {
-                               if (yych == ' ') goto yy135;
-                               goto yy281;
-                       }
+       if (yych <= '.') {
+               if (yych <= 0x1F) {
 -                      if (yych == '\t') goto yy506;
 -                      goto yy450;
++                      if (yych == '\t') goto yy531;
++                      goto yy475;
                } else {
-                       if (yych <= '-') {
-                               if (yych <= ')') goto yy108;
-                               if (yych <= ',') goto yy281;
-                               goto yy460;
-                       } else {
-                               if (yych == '/') goto yy283;
-                               goto yy135;
-                       }
 -                      if (yych <= ' ') goto yy506;
 -                      if (yych <= ',') goto yy450;
 -                      if (yych <= '-') goto yy603;
 -                      goto yy506;
++                      if (yych <= ' ') goto yy531;
++                      if (yych <= ',') goto yy475;
++                      if (yych <= '-') goto yy628;
++                      goto yy531;
                }
        } else {
-               if (yych <= '^') {
-                       if (yych <= 'N') {
-                               if (yych <= '@') goto yy281;
-                               goto yy453;
-                       } else {
-                               if (yych <= 'O') goto yy510;
-                               if (yych <= 'Z') goto yy453;
-                               goto yy281;
-                       }
+               if (yych <= 'Q') {
 -                      if (yych <= '/') goto yy450;
 -                      if (yych <= '9') goto yy508;
 -                      goto yy450;
++                      if (yych <= '/') goto yy475;
++                      if (yych <= '9') goto yy533;
++                      goto yy475;
                } else {
-                       if (yych <= 'n') {
-                               if (yych <= '_') goto yy283;
-                               if (yych <= '`') goto yy281;
-                               goto yy459;
-                       } else {
-                               if (yych <= 'o') goto yy511;
-                               if (yych <= 'z') goto yy459;
-                               goto yy281;
-                       }
 -                      if (yych <= 'R') goto yy571;
 -                      if (yych == 'r') goto yy571;
 -                      goto yy450;
++                      if (yych <= 'R') goto yy596;
++                      if (yych == 'r') goto yy596;
++                      goto yy475;
                }
        }
- yy343:
-       YYDEBUG(343, *YYCURSOR);
 -yy624:
 -      YYDEBUG(624, *YYCURSOR);
++yy649:
++      YYDEBUG(649, *YYCURSOR);
        yych = *++YYCURSOR;
-       if (yych <= 'V') {
-               if (yych <= ')') {
-                       if (yych <= '(') goto yy18;
-                       goto yy108;
-               } else {
-                       if (yych <= '@') goto yy18;
-                       if (yych <= 'U') goto yy453;
-                       goto yy512;
-               }
+       if (yych <= 'N') {
 -              if (yych == 'L') goto yy628;
++              if (yych == 'L') goto yy653;
+               if (yych <= 'M') goto yy55;
 -              goto yy627;
++              goto yy652;
        } else {
-               if (yych <= 'u') {
-                       if (yych <= 'Z') goto yy453;
-                       if (yych <= '`') goto yy18;
-                       goto yy453;
+               if (yych <= 'l') {
+                       if (yych <= 'k') goto yy55;
 -                      goto yy628;
++                      goto yy653;
                } else {
-                       if (yych <= 'v') goto yy512;
-                       if (yych <= 'z') goto yy453;
-                       goto yy18;
 -                      if (yych == 'n') goto yy627;
++                      if (yych == 'n') goto yy652;
+                       goto yy55;
                }
        }
- yy344:
-       YYDEBUG(344, *YYCURSOR);
-       yyaccept = 2;
 -yy625:
 -      YYDEBUG(625, *YYCURSOR);
++yy650:
++      YYDEBUG(650, *YYCURSOR);
+       yych = *++YYCURSOR;
 -      if (yych == 'N') goto yy626;
++      if (yych == 'N') goto yy651;
+       if (yych != 'n') goto yy55;
 -yy626:
 -      YYDEBUG(626, *YYCURSOR);
++yy651:
++      YYDEBUG(651, *YYCURSOR);
+       yyaccept = 9;
        yych = *(YYMARKER = ++YYCURSOR);
-       if (yych <= 'U') {
-               if (yych <= '-') {
-                       if (yych == ')') goto yy108;
-                       if (yych <= ',') goto yy18;
-                       goto yy283;
+       if (yych <= '.') {
+               if (yych <= 0x1F) {
 -                      if (yych == '\t') goto yy506;
 -                      goto yy450;
++                      if (yych == '\t') goto yy531;
++                      goto yy475;
                } else {
-                       if (yych == '/') goto yy283;
-                       if (yych <= '@') goto yy18;
-                       goto yy453;
 -                      if (yych <= ' ') goto yy506;
 -                      if (yych <= ',') goto yy450;
 -                      if (yych <= '-') goto yy603;
 -                      goto yy506;
++                      if (yych <= ' ') goto yy531;
++                      if (yych <= ',') goto yy475;
++                      if (yych <= '-') goto yy628;
++                      goto yy531;
                }
        } else {
-               if (yych <= '_') {
-                       if (yych <= 'V') goto yy512;
-                       if (yych <= 'Z') goto yy453;
-                       if (yych <= '^') goto yy18;
-                       goto yy283;
+               if (yych <= 'T') {
 -                      if (yych <= '/') goto yy450;
 -                      if (yych <= '9') goto yy508;
 -                      goto yy450;
++                      if (yych <= '/') goto yy475;
++                      if (yych <= '9') goto yy533;
++                      goto yy475;
                } else {
-                       if (yych <= 'u') {
-                               if (yych <= '`') goto yy18;
-                               goto yy459;
-                       } else {
-                               if (yych <= 'v') goto yy513;
-                               if (yych <= 'z') goto yy459;
-                               goto yy18;
-                       }
 -                      if (yych <= 'U') goto yy533;
 -                      if (yych == 'u') goto yy533;
 -                      goto yy450;
++                      if (yych <= 'U') goto yy558;
++                      if (yych == 'u') goto yy558;
++                      goto yy475;
                }
        }
- yy345:
-       YYDEBUG(345, *YYCURSOR);
-       yych = *++YYCURSOR;
-       if (yych <= 'U') {
-               if (yych <= ')') {
-                       if (yych <= '(') goto yy301;
-                       goto yy108;
 -yy627:
 -      YYDEBUG(627, *YYCURSOR);
++yy652:
++      YYDEBUG(652, *YYCURSOR);
+       yyaccept = 9;
+       yych = *(YYMARKER = ++YYCURSOR);
+       if (yych <= '.') {
+               if (yych <= 0x1F) {
 -                      if (yych == '\t') goto yy506;
 -                      goto yy450;
++                      if (yych == '\t') goto yy531;
++                      goto yy475;
                } else {
-                       if (yych <= '@') goto yy301;
-                       if (yych <= 'T') goto yy453;
-                       goto yy514;
 -                      if (yych <= ' ') goto yy506;
 -                      if (yych <= ',') goto yy450;
 -                      if (yych <= '-') goto yy603;
 -                      goto yy506;
++                      if (yych <= ' ') goto yy531;
++                      if (yych <= ',') goto yy475;
++                      if (yych <= '-') goto yy628;
++                      goto yy531;
                }
        } else {
-               if (yych <= 't') {
-                       if (yych <= 'Z') goto yy453;
-                       if (yych <= '`') goto yy301;
-                       goto yy453;
+               if (yych <= 'D') {
 -                      if (yych <= '/') goto yy450;
 -                      if (yych <= '9') goto yy508;
 -                      goto yy450;
++                      if (yych <= '/') goto yy475;
++                      if (yych <= '9') goto yy533;
++                      goto yy475;
                } else {
-                       if (yych <= 'u') goto yy514;
-                       if (yych <= 'z') goto yy453;
-                       goto yy301;
 -                      if (yych <= 'E') goto yy514;
 -                      if (yych == 'e') goto yy514;
 -                      goto yy450;
++                      if (yych <= 'E') goto yy539;
++                      if (yych == 'e') goto yy539;
++                      goto yy475;
                }
        }
- yy346:
-       YYDEBUG(346, *YYCURSOR);
-       yych = *++YYCURSOR;
-       if (yych <= 'O') {
-               if (yych <= ')') {
-                       if (yych <= '(') goto yy18;
-                       goto yy108;
 -yy628:
 -      YYDEBUG(628, *YYCURSOR);
++yy653:
++      YYDEBUG(653, *YYCURSOR);
+       yyaccept = 9;
+       yych = *(YYMARKER = ++YYCURSOR);
+       if (yych <= '.') {
+               if (yych <= 0x1F) {
 -                      if (yych == '\t') goto yy506;
 -                      goto yy450;
++                      if (yych == '\t') goto yy531;
++                      goto yy475;
                } else {
-                       if (yych <= '@') goto yy18;
-                       if (yych <= 'N') goto yy453;
-                       goto yy515;
 -                      if (yych <= ' ') goto yy506;
 -                      if (yych <= ',') goto yy450;
 -                      if (yych <= '-') goto yy603;
 -                      goto yy506;
++                      if (yych <= ' ') goto yy531;
++                      if (yych <= ',') goto yy475;
++                      if (yych <= '-') goto yy628;
++                      goto yy531;
                }
        } else {
-               if (yych <= 'n') {
-                       if (yych <= 'Z') goto yy453;
-                       if (yych <= '`') goto yy18;
-                       goto yy453;
+               if (yych <= 'X') {
 -                      if (yych <= '/') goto yy450;
 -                      if (yych <= '9') goto yy508;
 -                      goto yy450;
++                      if (yych <= '/') goto yy475;
++                      if (yych <= '9') goto yy533;
++                      goto yy475;
                } else {
-                       if (yych <= 'o') goto yy515;
-                       if (yych <= 'z') goto yy453;
-                       goto yy18;
 -                      if (yych <= 'Y') goto yy514;
 -                      if (yych == 'y') goto yy514;
 -                      goto yy450;
++                      if (yych <= 'Y') goto yy539;
++                      if (yych == 'y') goto yy539;
++                      goto yy475;
                }
        }
- yy347:
-       YYDEBUG(347, *YYCURSOR);
-       yyaccept = 7;
 -yy629:
 -      YYDEBUG(629, *YYCURSOR);
++yy654:
++      YYDEBUG(654, *YYCURSOR);
+       yych = *++YYCURSOR;
+       if (yych <= '/') goto yy55;
 -      if (yych <= '2') goto yy630;
 -      if (yych <= '3') goto yy632;
 -      if (yych <= '9') goto yy633;
++      if (yych <= '2') goto yy655;
++      if (yych <= '3') goto yy657;
++      if (yych <= '9') goto yy658;
+       goto yy55;
 -yy630:
 -      YYDEBUG(630, *YYCURSOR);
++yy655:
++      YYDEBUG(655, *YYCURSOR);
+       yyaccept = 12;
        yych = *(YYMARKER = ++YYCURSOR);
-       if (yych <= '/') {
-               if (yych <= '(') {
-                       if (yych <= '\t') {
-                               if (yych <= 0x08) goto yy281;
-                               goto yy135;
-                       } else {
-                               if (yych == ' ') goto yy135;
-                               goto yy281;
-                       }
-               } else {
-                       if (yych <= ',') {
-                               if (yych <= ')') goto yy108;
-                               goto yy281;
-                       } else {
-                               if (yych <= '-') goto yy454;
-                               if (yych <= '.') goto yy135;
-                               goto yy281;
-                       }
-               }
+       if (yych <= 'n') {
 -              if (yych <= '/') goto yy631;
 -              if (yych <= '9') goto yy639;
 -              if (yych >= 'n') goto yy635;
++              if (yych <= '/') goto yy656;
++              if (yych <= '9') goto yy664;
++              if (yych >= 'n') goto yy660;
        } else {
-               if (yych <= 'Z') {
-                       if (yych <= '@') {
-                               if (yych <= '9') goto yy135;
-                               goto yy281;
-                       } else {
-                               if (yych == 'T') goto yy516;
-                               goto yy453;
-                       }
+               if (yych <= 'r') {
 -                      if (yych >= 'r') goto yy636;
++                      if (yych >= 'r') goto yy661;
                } else {
-                       if (yych <= 's') {
-                               if (yych <= '`') goto yy281;
-                               goto yy453;
-                       } else {
-                               if (yych <= 't') goto yy516;
-                               if (yych <= 'z') goto yy453;
-                               goto yy281;
-                       }
 -                      if (yych <= 's') goto yy634;
 -                      if (yych <= 't') goto yy637;
++                      if (yych <= 's') goto yy659;
++                      if (yych <= 't') goto yy662;
                }
        }
- yy348:
-       YYDEBUG(348, *YYCURSOR);
-       yych = *++YYCURSOR;
-       if (yych <= 'E') {
-               if (yych <= ')') {
-                       if (yych <= '(') goto yy18;
-                       goto yy108;
 -yy631:
 -      YYDEBUG(631, *YYCURSOR);
 -#line 1372 "parse_date.re"
++yy656:
++      YYDEBUG(656, *YYCURSOR);
++#line 1394 "parse_date.re"
+       {
+               int length = 0;
+               DEBUG_OUTPUT("gnudateshort");
+               TIMELIB_INIT;
+               TIMELIB_HAVE_DATE();
 -              s->time->y = timelib_get_nr_ex((char **) &ptr, 4, &length);
 -              s->time->m = timelib_get_nr((char **) &ptr, 2);
 -              s->time->d = timelib_get_nr((char **) &ptr, 2);
++              s->time->y = timelib_get_nr_ex(&ptr, 4, &length);
++              s->time->m = timelib_get_nr(&ptr, 2);
++              s->time->d = timelib_get_nr(&ptr, 2);
+               TIMELIB_PROCESS_YEAR(s->time->y, length);
+               TIMELIB_DEINIT;
+               return TIMELIB_ISO_DATE;
+       }
 -#line 11264 "<stdout>"
 -yy632:
 -      YYDEBUG(632, *YYCURSOR);
++#line 11401 "<stdout>"
++yy657:
++      YYDEBUG(657, *YYCURSOR);
+       yyaccept = 12;
+       yych = *(YYMARKER = ++YYCURSOR);
+       if (yych <= 'n') {
+               if (yych <= '1') {
 -                      if (yych <= '/') goto yy631;
 -                      goto yy639;
++                      if (yych <= '/') goto yy656;
++                      goto yy664;
                } else {
-                       if (yych <= '@') goto yy18;
-                       if (yych <= 'D') goto yy453;
-                       goto yy517;
 -                      if (yych <= '9') goto yy578;
 -                      if (yych <= 'm') goto yy631;
 -                      goto yy635;
++                      if (yych <= '9') goto yy603;
++                      if (yych <= 'm') goto yy656;
++                      goto yy660;
                }
        } else {
-               if (yych <= 'd') {
-                       if (yych <= 'Z') goto yy453;
-                       if (yych <= '`') goto yy18;
-                       goto yy453;
+               if (yych <= 'r') {
 -                      if (yych <= 'q') goto yy631;
 -                      goto yy636;
++                      if (yych <= 'q') goto yy656;
++                      goto yy661;
                } else {
-                       if (yych <= 'e') goto yy517;
-                       if (yych <= 'z') goto yy453;
-                       goto yy18;
 -                      if (yych <= 's') goto yy634;
 -                      if (yych <= 't') goto yy637;
 -                      goto yy631;
++                      if (yych <= 's') goto yy659;
++                      if (yych <= 't') goto yy662;
++                      goto yy656;
                }
        }
- yy349:
-       YYDEBUG(349, *YYCURSOR);
-       yyaccept = 9;
 -yy633:
 -      YYDEBUG(633, *YYCURSOR);
++yy658:
++      YYDEBUG(658, *YYCURSOR);
+       yyaccept = 12;
        yych = *(YYMARKER = ++YYCURSOR);
-       if (yych <= 'T') {
-               if (yych <= '-') {
-                       if (yych == ')') goto yy108;
-                       if (yych <= ',') goto yy301;
-                       goto yy283;
+       if (yych <= 'n') {
 -              if (yych <= '/') goto yy631;
 -              if (yych <= '9') goto yy578;
 -              if (yych <= 'm') goto yy631;
 -              goto yy635;
++              if (yych <= '/') goto yy656;
++              if (yych <= '9') goto yy603;
++              if (yych <= 'm') goto yy656;
++              goto yy660;
+       } else {
+               if (yych <= 'r') {
 -                      if (yych <= 'q') goto yy631;
 -                      goto yy636;
++                      if (yych <= 'q') goto yy656;
++                      goto yy661;
                } else {
-                       if (yych == '/') goto yy283;
-                       if (yych <= '@') goto yy301;
-                       goto yy453;
 -                      if (yych <= 's') goto yy634;
 -                      if (yych <= 't') goto yy637;
 -                      goto yy631;
++                      if (yych <= 's') goto yy659;
++                      if (yych <= 't') goto yy662;
++                      goto yy656;
                }
 -yy634:
 -      YYDEBUG(634, *YYCURSOR);
+       }
 -      if (yych == 't') goto yy638;
++yy659:
++      YYDEBUG(659, *YYCURSOR);
+       yych = *++YYCURSOR;
 -yy635:
 -      YYDEBUG(635, *YYCURSOR);
++      if (yych == 't') goto yy663;
+       goto yy55;
 -      if (yych == 'd') goto yy638;
++yy660:
++      YYDEBUG(660, *YYCURSOR);
+       yych = *++YYCURSOR;
 -yy636:
 -      YYDEBUG(636, *YYCURSOR);
++      if (yych == 'd') goto yy663;
+       goto yy55;
 -      if (yych == 'd') goto yy638;
++yy661:
++      YYDEBUG(661, *YYCURSOR);
+       yych = *++YYCURSOR;
 -yy637:
 -      YYDEBUG(637, *YYCURSOR);
++      if (yych == 'd') goto yy663;
+       goto yy55;
 -yy638:
 -      YYDEBUG(638, *YYCURSOR);
++yy662:
++      YYDEBUG(662, *YYCURSOR);
+       yych = *++YYCURSOR;
+       if (yych != 'h') goto yy55;
 -      goto yy631;
 -yy639:
 -      YYDEBUG(639, *YYCURSOR);
++yy663:
++      YYDEBUG(663, *YYCURSOR);
+       yych = *++YYCURSOR;
 -              if (yych <= '/') goto yy631;
 -              if (yych <= '9') goto yy579;
 -              if (yych <= 'm') goto yy631;
 -              goto yy635;
++      goto yy656;
++yy664:
++      YYDEBUG(664, *YYCURSOR);
+       yyaccept = 12;
+       yych = *(YYMARKER = ++YYCURSOR);
+       if (yych <= 'n') {
++              if (yych <= '/') goto yy656;
++              if (yych <= '9') goto yy604;
++              if (yych <= 'm') goto yy656;
++              goto yy660;
        } else {
-               if (yych <= '_') {
-                       if (yych <= 'U') goto yy514;
-                       if (yych <= 'Z') goto yy453;
-                       if (yych <= '^') goto yy301;
-                       goto yy283;
+               if (yych <= 'r') {
 -                      if (yych <= 'q') goto yy631;
 -                      goto yy636;
++                      if (yych <= 'q') goto yy656;
++                      goto yy661;
                } else {
-                       if (yych <= 't') {
-                               if (yych <= '`') goto yy301;
-                               goto yy459;
-                       } else {
-                               if (yych <= 'u') goto yy518;
-                               if (yych <= 'z') goto yy459;
-                               goto yy301;
-                       }
 -                      if (yych <= 's') goto yy634;
 -                      if (yych <= 't') goto yy637;
 -                      goto yy631;
++                      if (yych <= 's') goto yy659;
++                      if (yych <= 't') goto yy662;
++                      goto yy656;
                }
        }
- yy350:
-       YYDEBUG(350, *YYCURSOR);
-       yyaccept = 2;
 -yy640:
 -      YYDEBUG(640, *YYCURSOR);
++yy665:
++      YYDEBUG(665, *YYCURSOR);
+       yyaccept = 13;
        yych = *(YYMARKER = ++YYCURSOR);
-       if (yych <= 'N') {
-               if (yych <= '-') {
-                       if (yych == ')') goto yy108;
-                       if (yych <= ',') goto yy18;
-                       goto yy283;
+       if (yych <= 'n') {
+               if (yych <= '/') {
 -                      if (yych >= '/') goto yy697;
++                      if (yych >= '/') goto yy722;
                } else {
-                       if (yych == '/') goto yy283;
-                       if (yych <= '@') goto yy18;
-                       goto yy453;
 -                      if (yych <= '9') goto yy643;
 -                      if (yych >= 'n') goto yy694;
++                      if (yych <= '9') goto yy668;
++                      if (yych >= 'n') goto yy719;
                }
        } else {
-               if (yych <= '_') {
-                       if (yych <= 'O') goto yy515;
-                       if (yych <= 'Z') goto yy453;
-                       if (yych <= '^') goto yy18;
-                       goto yy283;
+               if (yych <= 'r') {
 -                      if (yych >= 'r') goto yy695;
++                      if (yych >= 'r') goto yy720;
                } else {
-                       if (yych <= 'n') {
-                               if (yych <= '`') goto yy18;
-                               goto yy459;
-                       } else {
-                               if (yych <= 'o') goto yy519;
-                               if (yych <= 'z') goto yy459;
-                               goto yy18;
-                       }
 -                      if (yych <= 's') goto yy693;
 -                      if (yych <= 't') goto yy696;
++                      if (yych <= 's') goto yy718;
++                      if (yych <= 't') goto yy721;
                }
        }
- yy351:
-       YYDEBUG(351, *YYCURSOR);
-       yyaccept = 7;
 -yy641:
 -      YYDEBUG(641, *YYCURSOR);
 -#line 1316 "parse_date.re"
++yy666:
++      YYDEBUG(666, *YYCURSOR);
++#line 1326 "parse_date.re"
+       {
+               int length = 0;
+               DEBUG_OUTPUT("americanshort | american");
+               TIMELIB_INIT;
+               TIMELIB_HAVE_DATE();
 -              s->time->m = timelib_get_nr((char **) &ptr, 2);
 -              s->time->d = timelib_get_nr((char **) &ptr, 2);
++              s->time->m = timelib_get_nr(&ptr, 2);
++              s->time->d = timelib_get_nr(&ptr, 2);
+               if (*ptr == '/') {
 -                      s->time->y = timelib_get_nr_ex((char **) &ptr, 4, &length);
++                      s->time->y = timelib_get_nr_ex(&ptr, 4, &length);
+                       TIMELIB_PROCESS_YEAR(s->time->y, length);
+               }
+               TIMELIB_DEINIT;
+               return TIMELIB_AMERICAN;
+       }
 -#line 11385 "<stdout>"
 -yy642:
 -      YYDEBUG(642, *YYCURSOR);
++#line 11522 "<stdout>"
++yy667:
++      YYDEBUG(667, *YYCURSOR);
+       yyaccept = 13;
        yych = *(YYMARKER = ++YYCURSOR);
-       if (yych <= '9') {
-               if (yych <= '(') {
-                       if (yych <= '\t') {
-                               if (yych <= 0x08) goto yy281;
-                               goto yy135;
-                       } else {
-                               if (yych == ' ') goto yy135;
-                               goto yy281;
-                       }
+       if (yych <= 'n') {
+               if (yych <= '/') {
 -                      if (yych <= '.') goto yy641;
 -                      goto yy697;
++                      if (yych <= '.') goto yy666;
++                      goto yy722;
                } else {
-                       if (yych <= '-') {
-                               if (yych <= ')') goto yy108;
-                               if (yych <= ',') goto yy281;
-                               goto yy460;
-                       } else {
-                               if (yych == '/') goto yy283;
-                               goto yy135;
-                       }
 -                      if (yych <= '1') goto yy643;
 -                      if (yych <= 'm') goto yy641;
 -                      goto yy694;
++                      if (yych <= '1') goto yy668;
++                      if (yych <= 'm') goto yy666;
++                      goto yy719;
                }
        } else {
-               if (yych <= '^') {
-                       if (yych <= 'S') {
-                               if (yych <= '@') goto yy281;
-                               goto yy453;
-                       } else {
-                               if (yych <= 'T') goto yy516;
-                               if (yych <= 'Z') goto yy453;
-                               goto yy281;
-                       }
+               if (yych <= 'r') {
 -                      if (yych <= 'q') goto yy641;
 -                      goto yy695;
++                      if (yych <= 'q') goto yy666;
++                      goto yy720;
                } else {
-                       if (yych <= 's') {
-                               if (yych <= '_') goto yy283;
-                               if (yych <= '`') goto yy281;
-                               goto yy459;
-                       } else {
-                               if (yych <= 't') goto yy520;
-                               if (yych <= 'z') goto yy459;
-                               goto yy281;
-                       }
 -                      if (yych <= 's') goto yy693;
 -                      if (yych <= 't') goto yy696;
 -                      goto yy641;
++                      if (yych <= 's') goto yy718;
++                      if (yych <= 't') goto yy721;
++                      goto yy666;
                }
        }
- yy352:
-       YYDEBUG(352, *YYCURSOR);
-       yyaccept = 2;
 -yy643:
 -      YYDEBUG(643, *YYCURSOR);
++yy668:
++      YYDEBUG(668, *YYCURSOR);
+       yyaccept = 13;
        yych = *(YYMARKER = ++YYCURSOR);
-       if (yych <= 'D') {
-               if (yych <= '-') {
-                       if (yych == ')') goto yy108;
-                       if (yych <= ',') goto yy18;
-                       goto yy283;
-               } else {
-                       if (yych == '/') goto yy283;
-                       if (yych <= '@') goto yy18;
-                       goto yy453;
-               }
+       if (yych <= 'n') {
 -              if (yych == '/') goto yy697;
 -              if (yych <= 'm') goto yy641;
 -              goto yy694;
++              if (yych == '/') goto yy722;
++              if (yych <= 'm') goto yy666;
++              goto yy719;
        } else {
-               if (yych <= '_') {
-                       if (yych <= 'E') goto yy517;
-                       if (yych <= 'Z') goto yy453;
-                       if (yych <= '^') goto yy18;
-                       goto yy283;
+               if (yych <= 'r') {
 -                      if (yych <= 'q') goto yy641;
 -                      goto yy695;
++                      if (yych <= 'q') goto yy666;
++                      goto yy720;
                } else {
-                       if (yych <= 'd') {
-                               if (yych <= '`') goto yy18;
-                               goto yy459;
-                       } else {
-                               if (yych <= 'e') goto yy521;
-                               if (yych <= 'z') goto yy459;
-                               goto yy18;
-                       }
 -                      if (yych <= 's') goto yy693;
 -                      if (yych <= 't') goto yy696;
 -                      goto yy641;
++                      if (yych <= 's') goto yy718;
++                      if (yych <= 't') goto yy721;
++                      goto yy666;
                }
        }
- yy353:
-       YYDEBUG(353, *YYCURSOR);
 -yy644:
 -      YYDEBUG(644, *YYCURSOR);
++yy669:
++      YYDEBUG(669, *YYCURSOR);
        yych = *++YYCURSOR;
-       if (yych <= '/') {
-               if (yych == '.') goto yy71;
-               goto yy56;
+       if (yych <= 'U') {
 -              if (yych == 'A') goto yy692;
++              if (yych == 'A') goto yy717;
+               if (yych <= 'T') goto yy55;
 -              goto yy691;
++              goto yy716;
        } else {
-               if (yych <= '5') goto yy522;
-               if (yych == ':') goto yy71;
-               goto yy56;
-       }
- yy354:
-       YYDEBUG(354, *YYCURSOR);
-       yych = *++YYCURSOR;
-       if (yych <= 'S') {
-               if (yych <= '@') {
-                       if (yych == ')') goto yy108;
-                       goto yy18;
+               if (yych <= 'a') {
+                       if (yych <= '`') goto yy55;
 -                      goto yy692;
++                      goto yy717;
                } else {
-                       if (yych <= 'Q') goto yy453;
-                       if (yych <= 'R') goto yy523;
-                       goto yy505;
 -                      if (yych == 'u') goto yy691;
++                      if (yych == 'u') goto yy716;
+                       goto yy55;
                }
 -yy645:
 -      YYDEBUG(645, *YYCURSOR);
+       }
 -      if (yych == 'E') goto yy690;
 -      if (yych == 'e') goto yy690;
++yy670:
++      YYDEBUG(670, *YYCURSOR);
+       yych = *++YYCURSOR;
 -yy646:
 -      YYDEBUG(646, *YYCURSOR);
++      if (yych == 'E') goto yy715;
++      if (yych == 'e') goto yy715;
+       goto yy55;
 -      if (yych == 'A') goto yy689;
 -      if (yych == 'a') goto yy689;
++yy671:
++      YYDEBUG(671, *YYCURSOR);
+       yych = *++YYCURSOR;
 -yy647:
 -      YYDEBUG(647, *YYCURSOR);
++      if (yych == 'A') goto yy714;
++      if (yych == 'a') goto yy714;
+       goto yy55;
 -              if (yych == 'P') goto yy688;
++yy672:
++      YYDEBUG(672, *YYCURSOR);
+       yych = *++YYCURSOR;
+       if (yych <= 'U') {
 -              goto yy687;
++              if (yych == 'P') goto yy713;
+               if (yych <= 'T') goto yy55;
++              goto yy712;
        } else {
-               if (yych <= 'q') {
-                       if (yych <= 'Z') goto yy453;
-                       if (yych <= '`') goto yy18;
-                       goto yy453;
+               if (yych <= 'p') {
+                       if (yych <= 'o') goto yy55;
 -                      goto yy688;
++                      goto yy713;
                } else {
-                       if (yych <= 'r') goto yy523;
-                       if (yych <= 's') goto yy505;
-                       if (yych <= 'z') goto yy453;
-                       goto yy18;
 -                      if (yych == 'u') goto yy687;
++                      if (yych == 'u') goto yy712;
+                       goto yy55;
                }
        }
- yy355:
-       YYDEBUG(355, *YYCURSOR);
 -yy648:
 -      YYDEBUG(648, *YYCURSOR);
++yy673:
++      YYDEBUG(673, *YYCURSOR);
+       yych = *++YYCURSOR;
 -      if (yych == 'E') goto yy685;
 -      if (yych == 'e') goto yy685;
++      if (yych == 'E') goto yy710;
++      if (yych == 'e') goto yy710;
+       goto yy55;
 -yy649:
 -      YYDEBUG(649, *YYCURSOR);
++yy674:
++      YYDEBUG(674, *YYCURSOR);
+       yych = *++YYCURSOR;
 -      if (yych == 'C') goto yy684;
 -      if (yych == 'c') goto yy684;
++      if (yych == 'C') goto yy709;
++      if (yych == 'c') goto yy709;
+       goto yy55;
 -yy650:
 -      YYDEBUG(650, *YYCURSOR);
++yy675:
++      YYDEBUG(675, *YYCURSOR);
+       yych = *++YYCURSOR;
 -      if (yych == 'O') goto yy683;
 -      if (yych == 'o') goto yy683;
++      if (yych == 'O') goto yy708;
++      if (yych == 'o') goto yy708;
+       goto yy55;
 -yy651:
 -      YYDEBUG(651, *YYCURSOR);
++yy676:
++      YYDEBUG(676, *YYCURSOR);
+       yych = *++YYCURSOR;
 -      if (yych == 'E') goto yy652;
++      if (yych == 'E') goto yy677;
+       if (yych != 'e') goto yy55;
 -yy652:
 -      YYDEBUG(652, *YYCURSOR);
++yy677:
++      YYDEBUG(677, *YYCURSOR);
+       yych = *++YYCURSOR;
 -      if (yych == 'C') goto yy653;
++      if (yych == 'C') goto yy678;
+       if (yych != 'c') goto yy55;
 -yy653:
 -      YYDEBUG(653, *YYCURSOR);
++yy678:
++      YYDEBUG(678, *YYCURSOR);
+       yych = *++YYCURSOR;
+       if (yych != '/') goto yy55;
 -yy654:
 -      YYDEBUG(654, *YYCURSOR);
++yy679:
++      YYDEBUG(679, *YYCURSOR);
+       yych = *++YYCURSOR;
+       if (yych <= '/') goto yy55;
+       if (yych >= ':') goto yy55;
 -      YYDEBUG(655, *YYCURSOR);
++      YYDEBUG(680, *YYCURSOR);
+       yych = *++YYCURSOR;
+       if (yych <= '/') goto yy55;
+       if (yych >= ':') goto yy55;
 -      YYDEBUG(656, *YYCURSOR);
++      YYDEBUG(681, *YYCURSOR);
+       yych = *++YYCURSOR;
+       if (yych <= '/') goto yy55;
+       if (yych >= ':') goto yy55;
 -      YYDEBUG(657, *YYCURSOR);
++      YYDEBUG(682, *YYCURSOR);
+       yych = *++YYCURSOR;
+       if (yych <= '/') goto yy55;
+       if (yych >= ':') goto yy55;
 -      YYDEBUG(658, *YYCURSOR);
++      YYDEBUG(683, *YYCURSOR);
+       yych = *++YYCURSOR;
+       if (yych != ':') goto yy55;
 -      YYDEBUG(659, *YYCURSOR);
++      YYDEBUG(684, *YYCURSOR);
+       yych = *++YYCURSOR;
+       if (yych <= '/') goto yy55;
 -      if (yych <= '1') goto yy660;
 -      if (yych <= '2') goto yy661;
++      if (yych <= '1') goto yy685;
++      if (yych <= '2') goto yy686;
+       goto yy55;
 -yy660:
 -      YYDEBUG(660, *YYCURSOR);
++yy685:
++      YYDEBUG(685, *YYCURSOR);
+       yych = *++YYCURSOR;
+       if (yych <= '/') goto yy55;
 -      if (yych <= '9') goto yy662;
++      if (yych <= '9') goto yy687;
+       goto yy55;
 -yy661:
 -      YYDEBUG(661, *YYCURSOR);
++yy686:
++      YYDEBUG(686, *YYCURSOR);
+       yych = *++YYCURSOR;
+       if (yych <= '/') goto yy55;
+       if (yych >= '5') goto yy55;
 -yy662:
 -      YYDEBUG(662, *YYCURSOR);
++yy687:
++      YYDEBUG(687, *YYCURSOR);
+       yych = *++YYCURSOR;
+       if (yych != ':') goto yy55;
 -      YYDEBUG(663, *YYCURSOR);
++      YYDEBUG(688, *YYCURSOR);
+       yych = *++YYCURSOR;
+       if (yych <= '/') goto yy55;
+       if (yych >= '6') goto yy55;
 -      YYDEBUG(664, *YYCURSOR);
++      YYDEBUG(689, *YYCURSOR);
+       yych = *++YYCURSOR;
+       if (yych <= '/') goto yy55;
+       if (yych >= ':') goto yy55;
 -      YYDEBUG(665, *YYCURSOR);
++      YYDEBUG(690, *YYCURSOR);
+       yych = *++YYCURSOR;
+       if (yych != ':') goto yy55;
 -      YYDEBUG(666, *YYCURSOR);
++      YYDEBUG(691, *YYCURSOR);
+       yych = *++YYCURSOR;
+       if (yych <= '/') goto yy55;
 -      if (yych <= '5') goto yy667;
 -      if (yych <= '6') goto yy668;
++      if (yych <= '5') goto yy692;
++      if (yych <= '6') goto yy693;
+       goto yy55;
 -yy667:
 -      YYDEBUG(667, *YYCURSOR);
++yy692:
++      YYDEBUG(692, *YYCURSOR);
+       yych = *++YYCURSOR;
+       if (yych <= '/') goto yy55;
 -      if (yych <= '9') goto yy669;
++      if (yych <= '9') goto yy694;
+       goto yy55;
 -yy668:
 -      YYDEBUG(668, *YYCURSOR);
++yy693:
++      YYDEBUG(693, *YYCURSOR);
+       yych = *++YYCURSOR;
+       if (yych != '0') goto yy55;
 -yy669:
 -      YYDEBUG(669, *YYCURSOR);
++yy694:
++      YYDEBUG(694, *YYCURSOR);
        yych = *++YYCURSOR;
-       if (yych <= 'R') {
-               if (yych <= ')') {
-                       if (yych <= '(') goto yy301;
-                       goto yy108;
 -      if (yych == '\t') goto yy670;
++      if (yych == '\t') goto yy695;
+       if (yych != ' ') goto yy55;
 -yy670:
 -      YYDEBUG(670, *YYCURSOR);
++yy695:
++      YYDEBUG(695, *YYCURSOR);
+       ++YYCURSOR;
+       if ((YYLIMIT - YYCURSOR) < 9) YYFILL(9);
+       yych = *YYCURSOR;
 -      YYDEBUG(671, *YYCURSOR);
++      YYDEBUG(696, *YYCURSOR);
+       if (yych <= '*') {
+               if (yych <= '\t') {
+                       if (yych <= 0x08) goto yy55;
 -                      goto yy670;
++                      goto yy695;
                } else {
-                       if (yych <= '@') goto yy301;
-                       if (yych <= 'Q') goto yy453;
-                       goto yy524;
 -                      if (yych == ' ') goto yy670;
++                      if (yych == ' ') goto yy695;
+                       goto yy55;
                }
        } else {
-               if (yych <= 'q') {
-                       if (yych <= 'Z') goto yy453;
-                       if (yych <= '`') goto yy301;
-                       goto yy453;
+               if (yych <= '-') {
+                       if (yych == ',') goto yy55;
 -                      goto yy673;
++                      goto yy698;
                } else {
-                       if (yych <= 'r') goto yy524;
-                       if (yych <= 'z') goto yy453;
-                       goto yy301;
+                       if (yych != 'G') goto yy55;
                }
        }
- yy356:
-       YYDEBUG(356, *YYCURSOR);
 -      YYDEBUG(672, *YYCURSOR);
++      YYDEBUG(697, *YYCURSOR);
        yych = *++YYCURSOR;
-       if (yych <= 'A') {
-               if (yych == ')') goto yy108;
-               if (yych <= '@') goto yy18;
-               goto yy525;
-       } else {
-               if (yych <= '`') {
-                       if (yych <= 'Z') goto yy453;
-                       goto yy18;
-               } else {
-                       if (yych <= 'a') goto yy525;
-                       if (yych <= 'z') goto yy453;
-                       goto yy18;
 -      if (yych == 'M') goto yy681;
++      if (yych == 'M') goto yy706;
+       goto yy55;
 -yy673:
 -      YYDEBUG(673, *YYCURSOR);
++yy698:
++      YYDEBUG(698, *YYCURSOR);
+       yych = *++YYCURSOR;
+       if (yych <= '/') goto yy55;
 -      if (yych <= '1') goto yy674;
 -      if (yych <= '2') goto yy676;
 -      if (yych <= '9') goto yy677;
++      if (yych <= '1') goto yy699;
++      if (yych <= '2') goto yy701;
++      if (yych <= '9') goto yy702;
+       goto yy55;
 -yy674:
 -      YYDEBUG(674, *YYCURSOR);
++yy699:
++      YYDEBUG(699, *YYCURSOR);
+       ++YYCURSOR;
 -      if ((yych = *YYCURSOR) <= '/') goto yy675;
 -      if (yych <= '9') goto yy677;
 -      if (yych <= ':') goto yy678;
 -yy675:
 -      YYDEBUG(675, *YYCURSOR);
 -#line 1599 "parse_date.re"
++      if ((yych = *YYCURSOR) <= '/') goto yy700;
++      if (yych <= '9') goto yy702;
++      if (yych <= ':') goto yy703;
++yy700:
++      YYDEBUG(700, *YYCURSOR);
++#line 1621 "parse_date.re"
+       {
+               int tz_not_found;
+               DEBUG_OUTPUT("clf");
+               TIMELIB_INIT;
+               TIMELIB_HAVE_TIME();
+               TIMELIB_HAVE_DATE();
 -              s->time->d = timelib_get_nr((char **) &ptr, 2);
 -              s->time->m = timelib_get_month((char **) &ptr);
 -              s->time->y = timelib_get_nr((char **) &ptr, 4);
 -              s->time->h = timelib_get_nr((char **) &ptr, 2);
 -              s->time->i = timelib_get_nr((char **) &ptr, 2);
 -              s->time->s = timelib_get_nr((char **) &ptr, 2);
 -              s->time->z = timelib_parse_zone((char **) &ptr, &s->time->dst, s->time, &tz_not_found, s->tzdb, tz_get_wrapper);
++              s->time->d = timelib_get_nr(&ptr, 2);
++              s->time->m = timelib_get_month(&ptr);
++              s->time->y = timelib_get_nr(&ptr, 4);
++              s->time->h = timelib_get_nr(&ptr, 2);
++              s->time->i = timelib_get_nr(&ptr, 2);
++              s->time->s = timelib_get_nr(&ptr, 2);
++              s->time->z = timelib_parse_zone(&ptr, &s->time->dst, s->time, &tz_not_found, s->tzdb, tz_get_wrapper);
+               if (tz_not_found) {
+                       add_error(s, TIMELIB_ERR_TZID_NOT_FOUND, "The timezone could not be found in the database");
                }
+               TIMELIB_DEINIT;
+               return TIMELIB_CLF;
        }
- yy357:
-       YYDEBUG(357, *YYCURSOR);
 -#line 11638 "<stdout>"
 -yy676:
 -      YYDEBUG(676, *YYCURSOR);
++#line 11775 "<stdout>"
++yy701:
++      YYDEBUG(701, *YYCURSOR);
        yych = *++YYCURSOR;
-       if (yych <= 'O') {
-               if (yych <= ')') {
-                       if (yych <= '(') goto yy18;
-                       goto yy108;
-               } else {
-                       if (yych <= '@') goto yy18;
-                       if (yych <= 'N') goto yy453;
-                       goto yy526;
-               }
+       if (yych <= '5') {
 -              if (yych <= '/') goto yy675;
 -              if (yych >= '5') goto yy679;
++              if (yych <= '/') goto yy700;
++              if (yych >= '5') goto yy704;
        } else {
-               if (yych <= 'n') {
-                       if (yych <= 'Z') goto yy453;
-                       if (yych <= '`') goto yy18;
-                       goto yy453;
-               } else {
-                       if (yych <= 'o') goto yy526;
-                       if (yych <= 'z') goto yy453;
-                       goto yy18;
-               }
 -              if (yych <= '9') goto yy680;
 -              if (yych <= ':') goto yy678;
 -              goto yy675;
++              if (yych <= '9') goto yy705;
++              if (yych <= ':') goto yy703;
++              goto yy700;
        }
- yy358:
-       YYDEBUG(358, *YYCURSOR);
 -yy677:
 -      YYDEBUG(677, *YYCURSOR);
++yy702:
++      YYDEBUG(702, *YYCURSOR);
+       yych = *++YYCURSOR;
 -      if (yych <= '/') goto yy675;
 -      if (yych <= '5') goto yy679;
 -      if (yych <= '9') goto yy680;
 -      if (yych >= ';') goto yy675;
 -yy678:
 -      YYDEBUG(678, *YYCURSOR);
++      if (yych <= '/') goto yy700;
++      if (yych <= '5') goto yy704;
++      if (yych <= '9') goto yy705;
++      if (yych >= ';') goto yy700;
++yy703:
++      YYDEBUG(703, *YYCURSOR);
+       yych = *++YYCURSOR;
 -      if (yych <= '/') goto yy675;
 -      if (yych <= '5') goto yy679;
 -      if (yych <= '9') goto yy680;
 -      goto yy675;
 -yy679:
 -      YYDEBUG(679, *YYCURSOR);
++      if (yych <= '/') goto yy700;
++      if (yych <= '5') goto yy704;
++      if (yych <= '9') goto yy705;
++      goto yy700;
++yy704:
++      YYDEBUG(704, *YYCURSOR);
+       yych = *++YYCURSOR;
 -      if (yych <= '/') goto yy675;
 -      if (yych >= ':') goto yy675;
 -yy680:
 -      YYDEBUG(680, *YYCURSOR);
++      if (yych <= '/') goto yy700;
++      if (yych >= ':') goto yy700;
++yy705:
++      YYDEBUG(705, *YYCURSOR);
+       yych = *++YYCURSOR;
 -      goto yy675;
 -yy681:
 -      YYDEBUG(681, *YYCURSOR);
++      goto yy700;
++yy706:
++      YYDEBUG(706, *YYCURSOR);
+       yych = *++YYCURSOR;
+       if (yych != 'T') goto yy55;
 -      YYDEBUG(682, *YYCURSOR);
++      YYDEBUG(707, *YYCURSOR);
+       yych = *++YYCURSOR;
 -      if (yych == '+') goto yy673;
 -      if (yych == '-') goto yy673;
++      if (yych == '+') goto yy698;
++      if (yych == '-') goto yy698;
+       goto yy55;
 -yy683:
 -      YYDEBUG(683, *YYCURSOR);
++yy708:
++      YYDEBUG(708, *YYCURSOR);
+       yych = *++YYCURSOR;
 -      if (yych == 'V') goto yy653;
 -      if (yych == 'v') goto yy653;
++      if (yych == 'V') goto yy678;
++      if (yych == 'v') goto yy678;
+       goto yy55;
 -yy684:
 -      YYDEBUG(684, *YYCURSOR);
++yy709:
++      YYDEBUG(709, *YYCURSOR);
+       yych = *++YYCURSOR;
 -      if (yych == 'T') goto yy653;
 -      if (yych == 't') goto yy653;
++      if (yych == 'T') goto yy678;
++      if (yych == 't') goto yy678;
+       goto yy55;
 -yy685:
 -      YYDEBUG(685, *YYCURSOR);
++yy710:
++      YYDEBUG(710, *YYCURSOR);
+       yych = *++YYCURSOR;
 -      if (yych == 'P') goto yy686;
++      if (yych == 'P') goto yy711;
+       if (yych != 'p') goto yy55;
 -yy686:
 -      YYDEBUG(686, *YYCURSOR);
++yy711:
++      YYDEBUG(711, *YYCURSOR);
        yych = *++YYCURSOR;
        if (yych <= 'S') {
-               if (yych <= ')') {
-                       if (yych <= '(') goto yy301;
-                       goto yy108;
-               } else {
-                       if (yych <= '@') goto yy301;
-                       if (yych <= 'R') goto yy453;
-                       goto yy527;
-               }
 -              if (yych == '/') goto yy654;
++              if (yych == '/') goto yy679;
+               goto yy55;
        } else {
-               if (yych <= 'r') {
-                       if (yych <= 'Z') goto yy453;
-                       if (yych <= '`') goto yy301;
-                       goto yy453;
-               } else {
-                       if (yych <= 's') goto yy527;
-                       if (yych <= 'z') goto yy453;
-                       goto yy301;
-               }
 -              if (yych <= 'T') goto yy653;
 -              if (yych == 't') goto yy653;
++              if (yych <= 'T') goto yy678;
++              if (yych == 't') goto yy678;
+               goto yy55;
        }
- yy359:
-       YYDEBUG(359, *YYCURSOR);
 -yy687:
 -      YYDEBUG(687, *YYCURSOR);
++yy712:
++      YYDEBUG(712, *YYCURSOR);
        yych = *++YYCURSOR;
-       if (yych <= 'L') {
-               if (yych <= ')') {
-                       if (yych <= '(') goto yy18;
-                       goto yy108;
-               } else {
-                       if (yych <= '@') goto yy18;
-                       if (yych <= 'K') goto yy453;
-                       goto yy528;
-               }
-       } else {
-               if (yych <= 'k') {
-                       if (yych <= 'Z') goto yy453;
-                       if (yych <= '`') goto yy18;
-                       goto yy453;
-               } else {
-                       if (yych <= 'l') goto yy528;
-                       if (yych <= 'z') goto yy453;
-                       goto yy18;
-               }
-       }
- yy360:
-       YYDEBUG(360, *YYCURSOR);
-       yyaccept = 2;
-       yych = *(YYMARKER = ++YYCURSOR);
-       if (yych <= 'R') {
-               if (yych <= '-') {
-                       if (yych == ')') goto yy108;
-                       if (yych <= ',') goto yy18;
-                       goto yy283;
-               } else {
-                       if (yych <= '/') {
-                               if (yych <= '.') goto yy18;
-                               goto yy283;
-                       } else {
-                               if (yych <= '@') goto yy18;
-                               if (yych <= 'Q') goto yy453;
-                               goto yy523;
-                       }
-               }
-       } else {
-               if (yych <= '`') {
-                       if (yych <= 'Z') {
-                               if (yych <= 'S') goto yy505;
-                               goto yy453;
-                       } else {
-                               if (yych == '_') goto yy283;
-                               goto yy18;
-                       }
-               } else {
-                       if (yych <= 'r') {
-                               if (yych <= 'q') goto yy459;
-                               goto yy529;
-                       } else {
-                               if (yych <= 's') goto yy508;
-                               if (yych <= 'z') goto yy459;
-                               goto yy18;
-                       }
-               }
-       }
- yy361:
-       YYDEBUG(361, *YYCURSOR);
-       yyaccept = 9;
-       yych = *(YYMARKER = ++YYCURSOR);
-       if (yych <= 'Q') {
-               if (yych <= '-') {
-                       if (yych == ')') goto yy108;
-                       if (yych <= ',') goto yy301;
-                       goto yy283;
-               } else {
-                       if (yych == '/') goto yy283;
-                       if (yych <= '@') goto yy301;
-                       goto yy453;
-               }
-       } else {
-               if (yych <= '_') {
-                       if (yych <= 'R') goto yy524;
-                       if (yych <= 'Z') goto yy453;
-                       if (yych <= '^') goto yy301;
-                       goto yy283;
-               } else {
-                       if (yych <= 'q') {
-                               if (yych <= '`') goto yy301;
-                               goto yy459;
-                       } else {
-                               if (yych <= 'r') goto yy530;
-                               if (yych <= 'z') goto yy459;
-                               goto yy301;
-                       }
-               }
-       }
- yy362:
-       YYDEBUG(362, *YYCURSOR);
-       yyaccept = 2;
-       yych = *(YYMARKER = ++YYCURSOR);
-       if (yych <= '@') {
-               if (yych <= ',') {
-                       if (yych == ')') goto yy108;
-                       goto yy18;
-               } else {
-                       if (yych == '.') goto yy18;
-                       if (yych <= '/') goto yy283;
-                       goto yy18;
-               }
 -      if (yych == 'G') goto yy653;
 -      if (yych == 'g') goto yy653;
++      if (yych == 'G') goto yy678;
++      if (yych == 'g') goto yy678;
+       goto yy55;
 -yy688:
 -      YYDEBUG(688, *YYCURSOR);
++yy713:
++      YYDEBUG(713, *YYCURSOR);
+       yych = *++YYCURSOR;
 -      if (yych == 'R') goto yy653;
 -      if (yych == 'r') goto yy653;
++      if (yych == 'R') goto yy678;
++      if (yych == 'r') goto yy678;
+       goto yy55;
 -yy689:
 -      YYDEBUG(689, *YYCURSOR);
++yy714:
++      YYDEBUG(714, *YYCURSOR);
+       yych = *++YYCURSOR;
+       if (yych <= 'Y') {
 -              if (yych == 'R') goto yy653;
++              if (yych == 'R') goto yy678;
+               if (yych <= 'X') goto yy55;
 -              goto yy653;
++              goto yy678;
        } else {
-               if (yych <= '_') {
-                       if (yych <= 'A') goto yy525;
-                       if (yych <= 'Z') goto yy453;
-                       if (yych <= '^') goto yy18;
-                       goto yy283;
+               if (yych <= 'r') {
+                       if (yych <= 'q') goto yy55;
 -                      goto yy653;
++                      goto yy678;
                } else {
-                       if (yych <= '`') goto yy18;
-                       if (yych <= 'a') goto yy531;
-                       if (yych <= 'z') goto yy459;
-                       goto yy18;
 -                      if (yych == 'y') goto yy653;
++                      if (yych == 'y') goto yy678;
+                       goto yy55;
                }
        }
- yy363:
-       YYDEBUG(363, *YYCURSOR);
-       yyaccept = 2;
-       yych = *(YYMARKER = ++YYCURSOR);
 -yy690:
 -      YYDEBUG(690, *YYCURSOR);
++yy715:
++      YYDEBUG(715, *YYCURSOR);
+       yych = *++YYCURSOR;
 -      if (yych == 'B') goto yy653;
 -      if (yych == 'b') goto yy653;
++      if (yych == 'B') goto yy678;
++      if (yych == 'b') goto yy678;
+       goto yy55;
 -yy691:
 -      YYDEBUG(691, *YYCURSOR);
++yy716:
++      YYDEBUG(716, *YYCURSOR);
+       yych = *++YYCURSOR;
        if (yych <= 'N') {
-               if (yych <= '-') {
-                       if (yych == ')') goto yy108;
-                       if (yych <= ',') goto yy18;
-                       goto yy283;
-               } else {
-                       if (yych == '/') goto yy283;
-                       if (yych <= '@') goto yy18;
-                       goto yy453;
-               }
 -              if (yych == 'L') goto yy653;
++              if (yych == 'L') goto yy678;
+               if (yych <= 'M') goto yy55;
 -              goto yy653;
++              goto yy678;
        } else {
-               if (yych <= '_') {
-                       if (yych <= 'O') goto yy526;
-                       if (yych <= 'Z') goto yy453;
-                       if (yych <= '^') goto yy18;
-                       goto yy283;
+               if (yych <= 'l') {
+                       if (yych <= 'k') goto yy55;
 -                      goto yy653;
++                      goto yy678;
                } else {
-                       if (yych <= 'n') {
-                               if (yych <= '`') goto yy18;
-                               goto yy459;
-                       } else {
-                               if (yych <= 'o') goto yy532;
-                               if (yych <= 'z') goto yy459;
-                               goto yy18;
-                       }
 -                      if (yych == 'n') goto yy653;
++                      if (yych == 'n') goto yy678;
+                       goto yy55;
                }
        }
- yy364:
-       YYDEBUG(364, *YYCURSOR);
-       yyaccept = 9;
 -yy692:
 -      YYDEBUG(692, *YYCURSOR);
++yy717:
++      YYDEBUG(717, *YYCURSOR);
+       yych = *++YYCURSOR;
 -      if (yych == 'N') goto yy653;
 -      if (yych == 'n') goto yy653;
++      if (yych == 'N') goto yy678;
++      if (yych == 'n') goto yy678;
+       goto yy55;
 -yy693:
 -      YYDEBUG(693, *YYCURSOR);
++yy718:
++      YYDEBUG(718, *YYCURSOR);
+       yych = *++YYCURSOR;
 -      if (yych == 't') goto yy702;
++      if (yych == 't') goto yy727;
+       goto yy55;
 -yy694:
 -      YYDEBUG(694, *YYCURSOR);
++yy719:
++      YYDEBUG(719, *YYCURSOR);
+       yych = *++YYCURSOR;
 -      if (yych == 'd') goto yy702;
++      if (yych == 'd') goto yy727;
+       goto yy55;
 -yy695:
 -      YYDEBUG(695, *YYCURSOR);
++yy720:
++      YYDEBUG(720, *YYCURSOR);
+       yych = *++YYCURSOR;
 -      if (yych == 'd') goto yy702;
++      if (yych == 'd') goto yy727;
+       goto yy55;
 -yy696:
 -      YYDEBUG(696, *YYCURSOR);
++yy721:
++      YYDEBUG(721, *YYCURSOR);
+       yych = *++YYCURSOR;
 -      if (yych == 'h') goto yy702;
++      if (yych == 'h') goto yy727;
+       goto yy55;
 -yy697:
 -      YYDEBUG(697, *YYCURSOR);
++yy722:
++      YYDEBUG(722, *YYCURSOR);
+       yych = *++YYCURSOR;
+       if (yych <= '/') goto yy55;
+       if (yych >= ':') goto yy55;
 -      YYDEBUG(698, *YYCURSOR);
++      YYDEBUG(723, *YYCURSOR);
+       yych = *++YYCURSOR;
 -      if (yych <= '/') goto yy641;
 -      if (yych >= ':') goto yy641;
 -      YYDEBUG(699, *YYCURSOR);
++      if (yych <= '/') goto yy666;
++      if (yych >= ':') goto yy666;
++      YYDEBUG(724, *YYCURSOR);
+       yych = *++YYCURSOR;
 -      if (yych <= '/') goto yy641;
 -      if (yych >= ':') goto yy641;
 -      YYDEBUG(700, *YYCURSOR);
++      if (yych <= '/') goto yy666;
++      if (yych >= ':') goto yy666;
++      YYDEBUG(725, *YYCURSOR);
+       yych = *++YYCURSOR;
 -      if (yych <= '/') goto yy641;
 -      if (yych >= ':') goto yy641;
 -      YYDEBUG(701, *YYCURSOR);
++      if (yych <= '/') goto yy666;
++      if (yych >= ':') goto yy666;
++      YYDEBUG(726, *YYCURSOR);
+       yych = *++YYCURSOR;
 -      goto yy641;
 -yy702:
 -      YYDEBUG(702, *YYCURSOR);
++      goto yy666;
++yy727:
++      YYDEBUG(727, *YYCURSOR);
+       yyaccept = 13;
        yych = *(YYMARKER = ++YYCURSOR);
-       if (yych <= 'R') {
-               if (yych <= '-') {
-                       if (yych == ')') goto yy108;
-                       if (yych <= ',') goto yy301;
-                       goto yy283;
-               } else {
-                       if (yych == '/') goto yy283;
-                       if (yych <= '@') goto yy301;
-                       goto yy453;
-               }
 -      if (yych == '/') goto yy697;
 -      goto yy641;
 -yy703:
 -      YYDEBUG(703, *YYCURSOR);
++      if (yych == '/') goto yy722;
++      goto yy666;
++yy728:
++      YYDEBUG(728, *YYCURSOR);
+       yych = *++YYCURSOR;
+       if (yych <= ',') {
 -              if (yych == '\t') goto yy705;
 -              goto yy552;
++              if (yych == '\t') goto yy730;
++              goto yy577;
        } else {
-               if (yych <= '_') {
-                       if (yych <= 'S') goto yy527;
-                       if (yych <= 'Z') goto yy453;
-                       if (yych <= '^') goto yy301;
-                       goto yy283;
-               } else {
-                       if (yych <= 'r') {
-                               if (yych <= '`') goto yy301;
-                               goto yy459;
-                       } else {
-                               if (yych <= 's') goto yy533;
-                               if (yych <= 'z') goto yy459;
-                               goto yy301;
-                       }
-               }
 -              if (yych <= '-') goto yy706;
 -              if (yych <= '.') goto yy705;
 -              if (yych >= '0') goto yy552;
++              if (yych <= '-') goto yy731;
++              if (yych <= '.') goto yy730;
++              if (yych >= '0') goto yy577;
        }
- yy365:
-       YYDEBUG(365, *YYCURSOR);
-       yyaccept = 2;
-       yych = *(YYMARKER = ++YYCURSOR);
-       if (yych <= 'K') {
-               if (yych <= '-') {
-                       if (yych == ')') goto yy108;
-                       if (yych <= ',') goto yy18;
-                       goto yy283;
-               } else {
-                       if (yych == '/') goto yy283;
-                       if (yych <= '@') goto yy18;
-                       goto yy453;
-               }
-       } else {
-               if (yych <= '_') {
-                       if (yych <= 'L') goto yy528;
-                       if (yych <= 'Z') goto yy453;
-                       if (yych <= '^') goto yy18;
-                       goto yy283;
-               } else {
-                       if (yych <= 'k') {
-                               if (yych <= '`') goto yy18;
-                               goto yy459;
-                       } else {
-                               if (yych <= 'l') goto yy534;
-                               if (yych <= 'z') goto yy459;
-                               goto yy18;
-                       }
-               }
 -yy704:
 -      YYDEBUG(704, *YYCURSOR);
++yy729:
++      YYDEBUG(729, *YYCURSOR);
+       yych = *++YYCURSOR;
+       switch (yych) {
+       case 'A':
 -      case 'a':       goto yy647;
++      case 'a':       goto yy672;
+       case 'D':
 -      case 'd':       goto yy651;
++      case 'd':       goto yy676;
+       case 'F':
 -      case 'f':       goto yy645;
++      case 'f':       goto yy670;
+       case 'J':
 -      case 'j':       goto yy644;
++      case 'j':       goto yy669;
+       case 'M':
 -      case 'm':       goto yy646;
++      case 'm':       goto yy671;
+       case 'N':
 -      case 'n':       goto yy650;
++      case 'n':       goto yy675;
+       case 'O':
 -      case 'o':       goto yy649;
++      case 'o':       goto yy674;
+       case 'S':
 -      case 's':       goto yy648;
++      case 's':       goto yy673;
+       default:        goto yy55;
        }
- yy366:
-       YYDEBUG(366, *YYCURSOR);
-       yyaccept = 2;
-       yych = *(YYMARKER = ++YYCURSOR);
 -yy705:
 -      YYDEBUG(705, *YYCURSOR);
++yy730:
++      YYDEBUG(730, *YYCURSOR);
+       yych = *++YYCURSOR;
 -      if (yych <= '/') goto yy552;
 -      if (yych <= '0') goto yy710;
 -      if (yych <= '1') goto yy711;
 -      if (yych <= '9') goto yy712;
 -      goto yy552;
 -yy706:
 -      YYDEBUG(706, *YYCURSOR);
++      if (yych <= '/') goto yy577;
++      if (yych <= '0') goto yy735;
++      if (yych <= '1') goto yy736;
++      if (yych <= '9') goto yy737;
++      goto yy577;
++yy731:
++      YYDEBUG(731, *YYCURSOR);
+       yych = *++YYCURSOR;
 -      if (yych <= '/') goto yy552;
 -      if (yych <= '0') goto yy707;
 -      if (yych <= '1') goto yy708;
 -      if (yych <= '9') goto yy709;
 -      goto yy552;
 -yy707:
 -      YYDEBUG(707, *YYCURSOR);
++      if (yych <= '/') goto yy577;
++      if (yych <= '0') goto yy732;
++      if (yych <= '1') goto yy733;
++      if (yych <= '9') goto yy734;
++      goto yy577;
++yy732:
++      YYDEBUG(732, *YYCURSOR);
+       yych = *++YYCURSOR;
+       if (yych <= ',') goto yy55;
 -      if (yych <= '.') goto yy576;
++      if (yych <= '.') goto yy601;
+       if (yych <= '/') goto yy55;
 -      if (yych <= '9') goto yy709;
++      if (yych <= '9') goto yy734;
+       goto yy55;
 -yy708:
 -      YYDEBUG(708, *YYCURSOR);
++yy733:
++      YYDEBUG(733, *YYCURSOR);
+       yych = *++YYCURSOR;
+       if (yych <= ',') goto yy55;
 -      if (yych <= '.') goto yy576;
++      if (yych <= '.') goto yy601;
+       if (yych <= '/') goto yy55;
+       if (yych >= '3') goto yy55;
 -yy709:
 -      YYDEBUG(709, *YYCURSOR);
++yy734:
++      YYDEBUG(734, *YYCURSOR);
+       yych = *++YYCURSOR;
+       if (yych <= ',') goto yy55;
 -      if (yych <= '.') goto yy576;
++      if (yych <= '.') goto yy601;
+       goto yy55;
 -yy710:
 -      YYDEBUG(710, *YYCURSOR);
++yy735:
++      YYDEBUG(735, *YYCURSOR);
+       yych = *++YYCURSOR;
        if (yych <= '.') {
-               if (yych <= ' ') {
-                       if (yych == '\t') goto yy135;
-                       if (yych <= 0x1F) goto yy18;
-                       goto yy135;
-               } else {
-                       if (yych == ')') goto yy108;
-                       if (yych <= ',') goto yy18;
-                       goto yy135;
-               }
+               if (yych <= ',') goto yy55;
 -              if (yych <= '-') goto yy576;
 -              goto yy713;
++              if (yych <= '-') goto yy601;
++              goto yy738;
        } else {
-               if (yych <= 'H') {
-                       if (yych <= '/') goto yy18;
-                       if (yych <= '9') goto yy135;
-                       if (yych <= '@') goto yy18;
-                       goto yy453;
-               } else {
-                       if (yych <= 'Z') {
-                               if (yych <= 'I') goto yy535;
-                               goto yy453;
-                       } else {
-                               if (yych <= '`') goto yy18;
-                               if (yych <= 'z') goto yy453;
-                               goto yy18;
-                       }
-               }
+               if (yych <= '/') goto yy55;
 -              if (yych <= '9') goto yy712;
++              if (yych <= '9') goto yy737;
+               goto yy55;
        }
- yy367:
-       YYDEBUG(367, *YYCURSOR);
 -yy711:
 -      YYDEBUG(711, *YYCURSOR);
++yy736:
++      YYDEBUG(736, *YYCURSOR);
        yych = *++YYCURSOR;
-       if (yych <= 'N') {
-               if (yych <= ')') {
-                       if (yych <= '(') goto yy301;
-                       goto yy108;
-               } else {
-                       if (yych <= '@') goto yy301;
-                       if (yych <= 'M') goto yy453;
-                       goto yy536;
-               }
+       if (yych <= '.') {
+               if (yych <= ',') goto yy55;
 -              if (yych <= '-') goto yy576;
 -              goto yy713;
++              if (yych <= '-') goto yy601;
++              goto yy738;
        } else {
-               if (yych <= 'm') {
-                       if (yych <= 'Z') goto yy453;
-                       if (yych <= '`') goto yy301;
-                       goto yy453;
-               } else {
-                       if (yych <= 'n') goto yy536;
-                       if (yych <= 'z') goto yy453;
-                       goto yy301;
-               }
+               if (yych <= '/') goto yy55;
+               if (yych >= '3') goto yy55;
        }
- yy368:
-       YYDEBUG(368, *YYCURSOR);
 -yy712:
 -      YYDEBUG(712, *YYCURSOR);
++yy737:
++      YYDEBUG(737, *YYCURSOR);
        yych = *++YYCURSOR;
-       if (yych <= 'K') {
-               if (yych <= ')') {
-                       if (yych <= '(') goto yy18;
-                       goto yy108;
-               } else {
-                       if (yych <= '@') goto yy18;
-                       if (yych <= 'J') goto yy453;
-                       goto yy537;
-               }
+       if (yych <= ',') goto yy55;
 -      if (yych <= '-') goto yy576;
++      if (yych <= '-') goto yy601;
+       if (yych >= '/') goto yy55;
 -yy713:
 -      YYDEBUG(713, *YYCURSOR);
++yy738:
++      YYDEBUG(738, *YYCURSOR);
+       yych = *++YYCURSOR;
+       if (yych <= '/') goto yy55;
+       if (yych >= ':') goto yy55;
 -      YYDEBUG(714, *YYCURSOR);
++      YYDEBUG(739, *YYCURSOR);
+       yych = *++YYCURSOR;
+       if (yych <= '/') goto yy55;
 -      if (yych <= '9') goto yy585;
++      if (yych <= '9') goto yy610;
+       goto yy55;
 -yy715:
 -      YYDEBUG(715, *YYCURSOR);
++yy740:
++      YYDEBUG(740, *YYCURSOR);
+       yych = *++YYCURSOR;
 -      if (yych == '-') goto yy759;
++      if (yych == '-') goto yy784;
+       if (yych <= '/') goto yy59;
 -      if (yych <= '9') goto yy757;
++      if (yych <= '9') goto yy782;
+       goto yy59;
 -yy716:
 -      YYDEBUG(716, *YYCURSOR);
++yy741:
++      YYDEBUG(741, *YYCURSOR);
+       yych = *++YYCURSOR;
+       switch (yych) {
 -      case '0':       goto yy725;
 -      case '1':       goto yy726;
++      case '0':       goto yy750;
++      case '1':       goto yy751;
+       case '2':
+       case '3':
+       case '4':
+       case '5':
+       case '6':
+       case '7':
+       case '8':
 -      case '9':       goto yy727;
++      case '9':       goto yy752;
+       case 'A':
 -      case 'a':       goto yy720;
++      case 'a':       goto yy745;
+       case 'D':
 -      case 'd':       goto yy724;
++      case 'd':       goto yy749;
+       case 'F':
 -      case 'f':       goto yy718;
++      case 'f':       goto yy743;
+       case 'J':
 -      case 'j':       goto yy717;
++      case 'j':       goto yy742;
+       case 'M':
 -      case 'm':       goto yy719;
++      case 'm':       goto yy744;
+       case 'N':
 -      case 'n':       goto yy723;
++      case 'n':       goto yy748;
+       case 'O':
 -      case 'o':       goto yy722;
++      case 'o':       goto yy747;
+       case 'S':
 -      case 's':       goto yy721;
++      case 's':       goto yy746;
+       default:        goto yy55;
+       }
 -yy717:
 -      YYDEBUG(717, *YYCURSOR);
++yy742:
++      YYDEBUG(742, *YYCURSOR);
+       yych = *++YYCURSOR;
+       if (yych <= 'U') {
 -              if (yych == 'A') goto yy756;
++              if (yych == 'A') goto yy781;
+               if (yych <= 'T') goto yy55;
 -              goto yy755;
++              goto yy780;
        } else {
-               if (yych <= 'j') {
-                       if (yych <= 'Z') goto yy453;
-                       if (yych <= '`') goto yy18;
-                       goto yy453;
+               if (yych <= 'a') {
+                       if (yych <= '`') goto yy55;
 -                      goto yy756;
++                      goto yy781;
                } else {
-                       if (yych <= 'k') goto yy537;
-                       if (yych <= 'z') goto yy453;
-                       goto yy18;
 -                      if (yych == 'u') goto yy755;
++                      if (yych == 'u') goto yy780;
+                       goto yy55;
                }
        }
- yy369:
-       YYDEBUG(369, *YYCURSOR);
-       yyaccept = 9;
-       yych = *(YYMARKER = ++YYCURSOR);
-       if (yych <= 'M') {
-               if (yych <= '-') {
-                       if (yych == ')') goto yy108;
-                       if (yych <= ',') goto yy301;
-                       goto yy283;
-               } else {
-                       if (yych == '/') goto yy283;
-                       if (yych <= '@') goto yy301;
-                       goto yy453;
-               }
 -yy718:
 -      YYDEBUG(718, *YYCURSOR);
++yy743:
++      YYDEBUG(743, *YYCURSOR);
+       yych = *++YYCURSOR;
 -      if (yych == 'E') goto yy754;
 -      if (yych == 'e') goto yy754;
++      if (yych == 'E') goto yy779;
++      if (yych == 'e') goto yy779;
+       goto yy55;
 -yy719:
 -      YYDEBUG(719, *YYCURSOR);
++yy744:
++      YYDEBUG(744, *YYCURSOR);
+       yych = *++YYCURSOR;
 -      if (yych == 'A') goto yy753;
 -      if (yych == 'a') goto yy753;
++      if (yych == 'A') goto yy778;
++      if (yych == 'a') goto yy778;
+       goto yy55;
 -yy720:
 -      YYDEBUG(720, *YYCURSOR);
++yy745:
++      YYDEBUG(745, *YYCURSOR);
+       yych = *++YYCURSOR;
+       if (yych <= 'U') {
 -              if (yych == 'P') goto yy752;
++              if (yych == 'P') goto yy777;
+               if (yych <= 'T') goto yy55;
 -              goto yy751;
++              goto yy776;
        } else {
-               if (yych <= '_') {
-                       if (yych <= 'N') goto yy536;
-                       if (yych <= 'Z') goto yy453;
-                       if (yych <= '^') goto yy301;
-                       goto yy283;
+               if (yych <= 'p') {
+                       if (yych <= 'o') goto yy55;
 -                      goto yy752;
++                      goto yy777;
                } else {
-                       if (yych <= 'm') {
-                               if (yych <= '`') goto yy301;
-                               goto yy459;
-                       } else {
-                               if (yych <= 'n') goto yy538;
-                               if (yych <= 'z') goto yy459;
-                               goto yy301;
-                       }
 -                      if (yych == 'u') goto yy751;
++                      if (yych == 'u') goto yy776;
+                       goto yy55;
                }
        }
- yy370:
-       YYDEBUG(370, *YYCURSOR);
-       yyaccept = 2;
 -yy721:
 -      YYDEBUG(721, *YYCURSOR);
++yy746:
++      YYDEBUG(746, *YYCURSOR);
+       yych = *++YYCURSOR;
 -      if (yych == 'E') goto yy749;
 -      if (yych == 'e') goto yy749;
++      if (yych == 'E') goto yy774;
++      if (yych == 'e') goto yy774;
+       goto yy55;
 -yy722:
 -      YYDEBUG(722, *YYCURSOR);
++yy747:
++      YYDEBUG(747, *YYCURSOR);
+       yych = *++YYCURSOR;
 -      if (yych == 'C') goto yy748;
 -      if (yych == 'c') goto yy748;
++      if (yych == 'C') goto yy773;
++      if (yych == 'c') goto yy773;
+       goto yy55;
 -yy723:
 -      YYDEBUG(723, *YYCURSOR);
++yy748:
++      YYDEBUG(748, *YYCURSOR);
+       yych = *++YYCURSOR;
 -      if (yych == 'O') goto yy747;
 -      if (yych == 'o') goto yy747;
++      if (yych == 'O') goto yy772;
++      if (yych == 'o') goto yy772;
+       goto yy55;
 -yy724:
 -      YYDEBUG(724, *YYCURSOR);
++yy749:
++      YYDEBUG(749, *YYCURSOR);
+       yych = *++YYCURSOR;
 -      if (yych == 'E') goto yy739;
 -      if (yych == 'e') goto yy739;
++      if (yych == 'E') goto yy764;
++      if (yych == 'e') goto yy764;
+       goto yy55;
 -yy725:
 -      YYDEBUG(725, *YYCURSOR);
++yy750:
++      YYDEBUG(750, *YYCURSOR);
+       yych = *++YYCURSOR;
 -      if (yych == '-') goto yy728;
++      if (yych == '-') goto yy753;
+       if (yych <= '/') goto yy55;
 -      if (yych <= '9') goto yy732;
++      if (yych <= '9') goto yy757;
+       goto yy55;
 -yy726:
 -      YYDEBUG(726, *YYCURSOR);
++yy751:
++      YYDEBUG(751, *YYCURSOR);
+       yych = *++YYCURSOR;
 -      if (yych == '-') goto yy728;
++      if (yych == '-') goto yy753;
+       if (yych <= '/') goto yy55;
 -      if (yych <= '2') goto yy732;
++      if (yych <= '2') goto yy757;
+       goto yy55;
 -yy727:
 -      YYDEBUG(727, *YYCURSOR);
++yy752:
++      YYDEBUG(752, *YYCURSOR);
+       yych = *++YYCURSOR;
+       if (yych != '-') goto yy55;
 -yy728:
 -      YYDEBUG(728, *YYCURSOR);
++yy753:
++      YYDEBUG(753, *YYCURSOR);
+       yych = *++YYCURSOR;
+       if (yych <= '/') goto yy55;
 -      if (yych <= '2') goto yy729;
 -      if (yych <= '3') goto yy730;
 -      if (yych <= '9') goto yy731;
++      if (yych <= '2') goto yy754;
++      if (yych <= '3') goto yy755;
++      if (yych <= '9') goto yy756;
+       goto yy55;
 -yy729:
 -      YYDEBUG(729, *YYCURSOR);
++yy754:
++      YYDEBUG(754, *YYCURSOR);
+       yyaccept = 12;
        yych = *(YYMARKER = ++YYCURSOR);
-       if (yych <= 'J') {
-               if (yych <= '-') {
-                       if (yych == ')') goto yy108;
-                       if (yych <= ',') goto yy18;
-                       goto yy283;
-               } else {
-                       if (yych == '/') goto yy283;
-                       if (yych <= '@') goto yy18;
-                       goto yy453;
-               }
+       if (yych <= 'n') {
 -              if (yych <= '/') goto yy631;
 -              if (yych <= '9') goto yy731;
 -              if (yych <= 'm') goto yy631;
 -              goto yy635;
++              if (yych <= '/') goto yy656;
++              if (yych <= '9') goto yy756;
++              if (yych <= 'm') goto yy656;
++              goto yy660;
        } else {
-               if (yych <= '_') {
-                       if (yych <= 'K') goto yy537;
-                       if (yych <= 'Z') goto yy453;
-                       if (yych <= '^') goto yy18;
-                       goto yy283;
+               if (yych <= 'r') {
 -                      if (yych <= 'q') goto yy631;
 -                      goto yy636;
++                      if (yych <= 'q') goto yy656;
++                      goto yy661;
                } else {
-                       if (yych <= 'j') {
-                               if (yych <= '`') goto yy18;
-                               goto yy459;
-                       } else {
-                               if (yych <= 'k') goto yy539;
-                               if (yych <= 'z') goto yy459;
-                               goto yy18;
-                       }
 -                      if (yych <= 's') goto yy634;
 -                      if (yych <= 't') goto yy637;
 -                      goto yy631;
++                      if (yych <= 's') goto yy659;
++                      if (yych <= 't') goto yy662;
++                      goto yy656;
                }
        }
- yy371:
-       YYDEBUG(371, *YYCURSOR);
-       yych = *++YYCURSOR;
-       if (yych <= 'T') {
-               if (yych <= ')') {
-                       if (yych <= '(') goto yy18;
-                       goto yy108;
-               } else {
-                       if (yych <= '@') goto yy18;
-                       if (yych <= 'S') goto yy453;
-                       goto yy540;
-               }
 -yy730:
 -      YYDEBUG(730, *YYCURSOR);
++yy755:
++      YYDEBUG(755, *YYCURSOR);
+       yyaccept = 12;
+       yych = *(YYMARKER = ++YYCURSOR);
+       if (yych <= 'n') {
 -              if (yych <= '/') goto yy631;
 -              if (yych <= '1') goto yy731;
 -              if (yych <= 'm') goto yy631;
 -              goto yy635;
++              if (yych <= '/') goto yy656;
++              if (yych <= '1') goto yy756;
++              if (yych <= 'm') goto yy656;
++              goto yy660;
        } else {
-               if (yych <= 's') {
-                       if (yych <= 'Z') goto yy453;
-                       if (yych <= '`') goto yy18;
-                       goto yy453;
+               if (yych <= 'r') {
 -                      if (yych <= 'q') goto yy631;
 -                      goto yy636;
++                      if (yych <= 'q') goto yy656;
++                      goto yy661;
                } else {
-                       if (yych <= 't') goto yy540;
-                       if (yych <= 'z') goto yy453;
-                       goto yy18;
 -                      if (yych <= 's') goto yy634;
 -                      if (yych <= 't') goto yy637;
 -                      goto yy631;
++                      if (yych <= 's') goto yy659;
++                      if (yych <= 't') goto yy662;
++                      goto yy656;
                }
        }
- yy372:
-       YYDEBUG(372, *YYCURSOR);
-       yyaccept = 2;
 -yy731:
 -      YYDEBUG(731, *YYCURSOR);
++yy756:
++      YYDEBUG(756, *YYCURSOR);
+       yyaccept = 12;
        yych = *(YYMARKER = ++YYCURSOR);
-       if (yych <= 'S') {
-               if (yych <= '-') {
-                       if (yych == ')') goto yy108;
-                       if (yych <= ',') goto yy18;
-                       goto yy283;
-               } else {
-                       if (yych == '/') goto yy283;
-                       if (yych <= '@') goto yy18;
-                       goto yy453;
-               }
+       if (yych <= 'q') {
 -              if (yych == 'n') goto yy635;
 -              goto yy631;
++              if (yych == 'n') goto yy660;
++              goto yy656;
        } else {
-               if (yych <= '_') {
-                       if (yych <= 'T') goto yy540;
-                       if (yych <= 'Z') goto yy453;
-                       if (yych <= '^') goto yy18;
-                       goto yy283;
-               } else {
-                       if (yych <= 's') {
-                               if (yych <= '`') goto yy18;
-                               goto yy459;
-                       } else {
-                               if (yych <= 't') goto yy541;
-                               if (yych <= 'z') goto yy459;
-                               goto yy18;
-                       }
-               }
 -              if (yych <= 'r') goto yy636;
 -              if (yych <= 's') goto yy634;
 -              if (yych <= 't') goto yy637;
 -              goto yy631;
++              if (yych <= 'r') goto yy661;
++              if (yych <= 's') goto yy659;
++              if (yych <= 't') goto yy662;
++              goto yy656;
        }
- yy373:
-       YYDEBUG(373, *YYCURSOR);
 -yy732:
 -      YYDEBUG(732, *YYCURSOR);
++yy757:
++      YYDEBUG(757, *YYCURSOR);
        yych = *++YYCURSOR;
-       if (yych <= '/') goto yy186;
-       if (yych <= '9') goto yy542;
-       goto yy186;
- yy374:
-       YYDEBUG(374, *YYCURSOR);
+       if (yych != '-') goto yy55;
 -      YYDEBUG(733, *YYCURSOR);
++      YYDEBUG(758, *YYCURSOR);
        yych = *++YYCURSOR;
-       if (yych == 'C') goto yy426;
-       if (yych == 'c') goto yy426;
-       goto yy56;
- yy375:
-       YYDEBUG(375, *YYCURSOR);
-       yyaccept = 2;
+       if (yych <= '2') {
+               if (yych <= '/') goto yy55;
 -              if (yych >= '1') goto yy735;
++              if (yych >= '1') goto yy760;
+       } else {
 -              if (yych <= '3') goto yy736;
 -              if (yych <= '9') goto yy731;
++              if (yych <= '3') goto yy761;
++              if (yych <= '9') goto yy756;
+               goto yy55;
+       }
 -      YYDEBUG(734, *YYCURSOR);
++      YYDEBUG(759, *YYCURSOR);
+       yyaccept = 12;
        yych = *(YYMARKER = ++YYCURSOR);
-       if (yych <= 'W') {
-               if (yych <= 'E') {
-                       if (yych <= ' ') {
-                               if (yych == '\t') goto yy186;
-                               if (yych <= 0x1F) goto yy18;
-                               goto yy186;
-                       } else {
-                               if (yych <= '9') {
-                                       if (yych <= '/') goto yy18;
-                                       goto yy543;
-                               } else {
-                                       if (yych == 'D') goto yy186;
-                                       goto yy18;
-                               }
-                       }
-               } else {
-                       if (yych <= 'L') {
-                               if (yych == 'G') goto yy18;
-                               if (yych <= 'H') goto yy186;
-                               goto yy18;
-                       } else {
-                               if (yych <= 'R') {
-                                       if (yych <= 'M') goto yy186;
-                                       goto yy18;
-                               } else {
-                                       if (yych == 'V') goto yy18;
-                                       goto yy186;
-                               }
-                       }
-               }
+       if (yych <= 'n') {
 -              if (yych <= '/') goto yy631;
 -              if (yych <= '9') goto yy737;
 -              if (yych <= 'm') goto yy631;
 -              goto yy635;
++              if (yych <= '/') goto yy656;
++              if (yych <= '9') goto yy762;
++              if (yych <= 'm') goto yy656;
++              goto yy660;
        } else {
-               if (yych <= 'l') {
-                       if (yych <= 'd') {
-                               if (yych == 'Y') goto yy186;
-                               if (yych <= 'c') goto yy18;
-                               goto yy186;
-                       } else {
-                               if (yych <= 'f') {
-                                       if (yych <= 'e') goto yy18;
-                                       goto yy186;
-                               } else {
-                                       if (yych == 'h') goto yy186;
-                                       goto yy18;
-                               }
-                       }
+               if (yych <= 'r') {
 -                      if (yych <= 'q') goto yy631;
 -                      goto yy636;
++                      if (yych <= 'q') goto yy656;
++                      goto yy661;
                } else {
-                       if (yych <= 'w') {
-                               if (yych <= 'r') {
-                                       if (yych <= 'm') goto yy186;
-                                       goto yy18;
-                               } else {
-                                       if (yych == 'v') goto yy18;
-                                       goto yy186;
-                               }
-                       } else {
-                               if (yych <= 'y') {
-                                       if (yych <= 'x') goto yy18;
-                                       goto yy186;
-                               } else {
-                                       if (yych == 0xC2) goto yy186;
-                                       goto yy18;
-                               }
-                       }
 -                      if (yych <= 's') goto yy634;
 -                      if (yych <= 't') goto yy637;
 -                      goto yy631;
++                      if (yych <= 's') goto yy659;
++                      if (yych <= 't') goto yy662;
++                      goto yy656;
                }
        }
- yy376:
-       YYDEBUG(376, *YYCURSOR);
-       yyaccept = 2;
 -yy735:
 -      YYDEBUG(735, *YYCURSOR);
++yy760:
++      YYDEBUG(760, *YYCURSOR);
+       yyaccept = 12;
        yych = *(YYMARKER = ++YYCURSOR);
-       if (yych <= 'W') {
-               if (yych <= 'E') {
-                       if (yych <= ' ') {
-                               if (yych == '\t') goto yy186;
-                               if (yych <= 0x1F) goto yy18;
-                               goto yy186;
-                       } else {
-                               if (yych <= '9') {
-                                       if (yych <= '/') goto yy18;
-                                       goto yy544;
-                               } else {
-                                       if (yych == 'D') goto yy186;
-                                       goto yy18;
-                               }
-                       }
+       if (yych <= 'n') {
 -              if (yych <= '/') goto yy631;
 -              if (yych <= '9') goto yy737;
 -              if (yych <= 'm') goto yy631;
 -              goto yy635;
++              if (yych <= '/') goto yy656;
++              if (yych <= '9') goto yy762;
++              if (yych <= 'm') goto yy656;
++              goto yy660;
+       } else {
+               if (yych <= 'r') {
 -                      if (yych <= 'q') goto yy631;
 -                      goto yy636;
++                      if (yych <= 'q') goto yy656;
++                      goto yy661;
                } else {
-                       if (yych <= 'L') {
-                               if (yych == 'G') goto yy18;
-                               if (yych <= 'H') goto yy186;
-                               goto yy18;
-                       } else {
-                               if (yych <= 'R') {
-                                       if (yych <= 'M') goto yy186;
-                                       goto yy18;
-                               } else {
-                                       if (yych == 'V') goto yy18;
-                                       goto yy186;
-                               }
-                       }
 -                      if (yych <= 's') goto yy634;
 -                      if (yych <= 't') goto yy637;
 -                      goto yy631;
++                      if (yych <= 's') goto yy659;
++                      if (yych <= 't') goto yy662;
++                      goto yy656;
                }
 -yy736:
 -      YYDEBUG(736, *YYCURSOR);
+       }
 -              if (yych <= '/') goto yy631;
 -              if (yych <= '1') goto yy737;
 -              if (yych <= 'm') goto yy631;
 -              goto yy635;
++yy761:
++      YYDEBUG(761, *YYCURSOR);
+       yyaccept = 12;
+       yych = *(YYMARKER = ++YYCURSOR);
+       if (yych <= 'n') {
++              if (yych <= '/') goto yy656;
++              if (yych <= '1') goto yy762;
++              if (yych <= 'm') goto yy656;
++              goto yy660;
        } else {
-               if (yych <= 'l') {
-                       if (yych <= 'd') {
-                               if (yych == 'Y') goto yy186;
-                               if (yych <= 'c') goto yy18;
-                               goto yy186;
-                       } else {
-                               if (yych <= 'f') {
-                                       if (yych <= 'e') goto yy18;
-                                       goto yy186;
-                               } else {
-                                       if (yych == 'h') goto yy186;
-                                       goto yy18;
-                               }
-                       }
+               if (yych <= 'r') {
 -                      if (yych <= 'q') goto yy631;
 -                      goto yy636;
++                      if (yych <= 'q') goto yy656;
++                      goto yy661;
                } else {
-                       if (yych <= 'w') {
-                               if (yych <= 'r') {
-                                       if (yych <= 'm') goto yy186;
-                                       goto yy18;
-                               } else {
-                                       if (yych == 'v') goto yy18;
-                                       goto yy186;
-                               }
-                       } else {
-                               if (yych <= 'y') {
-                                       if (yych <= 'x') goto yy18;
-                                       goto yy186;
-                               } else {
-                                       if (yych == 0xC2) goto yy186;
-                                       goto yy18;
-                               }
-                       }
 -                      if (yych <= 's') goto yy634;
 -                      if (yych <= 't') goto yy637;
 -                      goto yy631;
++                      if (yych <= 's') goto yy659;
++                      if (yych <= 't') goto yy662;
++                      goto yy656;
                }
        }
- yy377:
-       YYDEBUG(377, *YYCURSOR);
-       yych = *++YYCURSOR;
-       if (yych <= '/') goto yy18;
-       if (yych <= '9') goto yy108;
-       goto yy18;
- yy378:
-       YYDEBUG(378, *YYCURSOR);
-       yych = *++YYCURSOR;
-       if (yych <= '/') goto yy186;
-       if (yych <= '9') goto yy544;
-       goto yy186;
- yy379:
-       YYDEBUG(379, *YYCURSOR);
-       yych = *++YYCURSOR;
-       if (yych <= '/') goto yy56;
-       if (yych <= '9') goto yy545;
-       goto yy56;
- yy380:
-       YYDEBUG(380, *YYCURSOR);
-       yych = *++YYCURSOR;
-       if (yych <= '/') goto yy56;
-       if (yych <= '9') goto yy546;
-       goto yy56;
- yy381:
-       YYDEBUG(381, *YYCURSOR);
-       yych = *++YYCURSOR;
-       if (yych <= '/') goto yy56;
-       if (yych <= '2') goto yy547;
-       if (yych <= '3') goto yy549;
-       if (yych <= '9') goto yy550;
-       goto yy56;
- yy382:
-       YYDEBUG(382, *YYCURSOR);
-       yych = *++YYCURSOR;
-       if (yych == 'P') goto yy427;
-       if (yych == 'p') goto yy427;
-       goto yy56;
- yy383:
-       YYDEBUG(383, *YYCURSOR);
-       yych = *++YYCURSOR;
-       if (yych <= '/') goto yy56;
-       if (yych <= '5') goto yy551;
-       if (yych <= '6') goto yy552;
-       if (yych <= '9') goto yy553;
-       goto yy56;
- yy384:
-       YYDEBUG(384, *YYCURSOR);
-       yych = *++YYCURSOR;
-       if (yych <= '/') goto yy56;
-       if (yych <= '5') goto yy554;
-       if (yych <= '6') goto yy555;
-       if (yych <= '9') goto yy556;
-       goto yy56;
- yy385:
-       YYDEBUG(385, *YYCURSOR);
 -yy737:
 -      YYDEBUG(737, *YYCURSOR);
++yy762:
++      YYDEBUG(762, *YYCURSOR);
+       yyaccept = 14;
+       yych = *(YYMARKER = ++YYCURSOR);
+       if (yych <= 'q') {
 -              if (yych == 'n') goto yy635;
++              if (yych == 'n') goto yy660;
+       } else {
 -              if (yych <= 'r') goto yy636;
 -              if (yych <= 's') goto yy634;
 -              if (yych <= 't') goto yy637;
++              if (yych <= 'r') goto yy661;
++              if (yych <= 's') goto yy659;
++              if (yych <= 't') goto yy662;
+       }
 -yy738:
 -      YYDEBUG(738, *YYCURSOR);
 -#line 1344 "parse_date.re"
++yy763:
++      YYDEBUG(763, *YYCURSOR);
++#line 1354 "parse_date.re"
+       {
+               int length = 0;
+               DEBUG_OUTPUT("iso8601date2");
+               TIMELIB_INIT;
+               TIMELIB_HAVE_DATE();
 -              s->time->y = timelib_get_nr_ex((char **) &ptr, 4, &length);
 -              s->time->m = timelib_get_nr((char **) &ptr, 2);
 -              s->time->d = timelib_get_nr((char **) &ptr, 2);
++              s->time->y = timelib_get_nr_ex(&ptr, 4, &length);
++              s->time->m = timelib_get_nr(&ptr, 2);
++              s->time->d = timelib_get_nr(&ptr, 2);
+               TIMELIB_PROCESS_YEAR(s->time->y, length);
+               TIMELIB_DEINIT;
+               return TIMELIB_ISO_DATE;
+       }
 -#line 12201 "<stdout>"
 -yy739:
 -      YYDEBUG(739, *YYCURSOR);
++#line 12338 "<stdout>"
++yy764:
++      YYDEBUG(764, *YYCURSOR);
        yych = *++YYCURSOR;
-       if (yych <= '/') goto yy56;
-       if (yych <= '9') goto yy557;
-       goto yy56;
- yy386:
-       YYDEBUG(386, *YYCURSOR);
 -      if (yych == 'C') goto yy740;
++      if (yych == 'C') goto yy765;
+       if (yych != 'c') goto yy55;
 -yy740:
 -      YYDEBUG(740, *YYCURSOR);
++yy765:
++      YYDEBUG(765, *YYCURSOR);
        yych = *++YYCURSOR;
-       if (yych == 'd') goto yy558;
-       goto yy56;
- yy387:
-       YYDEBUG(387, *YYCURSOR);
+       if (yych != '-') goto yy55;
 -yy741:
 -      YYDEBUG(741, *YYCURSOR);
++yy766:
++      YYDEBUG(766, *YYCURSOR);
        yych = *++YYCURSOR;
-       if (yych == 't') goto yy558;
-       goto yy56;
- yy388:
-       YYDEBUG(388, *YYCURSOR);
+       if (yych <= '/') goto yy55;
 -      if (yych <= '0') goto yy742;
 -      if (yych <= '2') goto yy743;
 -      if (yych <= '3') goto yy744;
++      if (yych <= '0') goto yy767;
++      if (yych <= '2') goto yy768;
++      if (yych <= '3') goto yy769;
+       goto yy55;
 -yy742:
 -      YYDEBUG(742, *YYCURSOR);
++yy767:
++      YYDEBUG(767, *YYCURSOR);
        yych = *++YYCURSOR;
-       if (yych == 'h') goto yy558;
-       goto yy56;
- yy389:
-       YYDEBUG(389, *YYCURSOR);
+       if (yych <= '/') goto yy55;
 -      if (yych <= '9') goto yy745;
++      if (yych <= '9') goto yy770;
+       goto yy55;
 -yy743:
 -      YYDEBUG(743, *YYCURSOR);
++yy768:
++      YYDEBUG(768, *YYCURSOR);
        yych = *++YYCURSOR;
-       if (yych == 'R') goto yy559;
-       if (yych == 'r') goto yy559;
-       goto yy56;
- yy390:
-       YYDEBUG(390, *YYCURSOR);
+       if (yych <= '/') goto yy55;
 -      if (yych <= '9') goto yy745;
++      if (yych <= '9') goto yy770;
+       goto yy55;
 -yy744:
 -      YYDEBUG(744, *YYCURSOR);
++yy769:
++      YYDEBUG(769, *YYCURSOR);
        yych = *++YYCURSOR;
-       if (yych == 'G') goto yy559;
-       if (yych == 'g') goto yy559;
-       goto yy56;
- yy391:
-       YYDEBUG(391, *YYCURSOR);
+       if (yych <= '/') goto yy55;
+       if (yych >= '2') goto yy55;
 -yy745:
 -      YYDEBUG(745, *YYCURSOR);
++yy770:
++      YYDEBUG(770, *YYCURSOR);
+       ++YYCURSOR;
 -      YYDEBUG(746, *YYCURSOR);
 -#line 1585 "parse_date.re"
++      YYDEBUG(771, *YYCURSOR);
++#line 1607 "parse_date.re"
+       {
+               int length = 0;
+               DEBUG_OUTPUT("pgtextreverse");
+               TIMELIB_INIT;
+               TIMELIB_HAVE_DATE();
 -              s->time->y = timelib_get_nr_ex((char **) &ptr, 4, &length);
 -              s->time->m = timelib_get_month((char **) &ptr);
 -              s->time->d = timelib_get_nr((char **) &ptr, 2);
++              s->time->y = timelib_get_nr_ex(&ptr, 4, &length);
++              s->time->m = timelib_get_month(&ptr);
++              s->time->d = timelib_get_nr(&ptr, 2);
+               TIMELIB_PROCESS_YEAR(s->time->y, length);
+               TIMELIB_DEINIT;
+               return TIMELIB_PG_TEXT;
+       }
 -#line 12253 "<stdout>"
 -yy747:
 -      YYDEBUG(747, *YYCURSOR);
++#line 12390 "<stdout>"
++yy772:
++      YYDEBUG(772, *YYCURSOR);
        yych = *++YYCURSOR;
-       if (yych == 'C') goto yy559;
-       if (yych == 'c') goto yy559;
-       goto yy56;
- yy392:
-       YYDEBUG(392, *YYCURSOR);
 -      if (yych == 'V') goto yy740;
 -      if (yych == 'v') goto yy740;
++      if (yych == 'V') goto yy765;
++      if (yych == 'v') goto yy765;
+       goto yy55;
 -yy748:
 -      YYDEBUG(748, *YYCURSOR);
++yy773:
++      YYDEBUG(773, *YYCURSOR);
        yych = *++YYCURSOR;
-       if (yych == 'B') goto yy559;
-       if (yych == 'b') goto yy559;
-       goto yy56;
- yy393:
-       YYDEBUG(393, *YYCURSOR);
 -      if (yych == 'T') goto yy740;
 -      if (yych == 't') goto yy740;
++      if (yych == 'T') goto yy765;
++      if (yych == 't') goto yy765;
+       goto yy55;
 -yy749:
 -      YYDEBUG(749, *YYCURSOR);
++yy774:
++      YYDEBUG(774, *YYCURSOR);
        yych = *++YYCURSOR;
-       if (yych == 'N') goto yy559;
-       if (yych == 'n') goto yy559;
-       goto yy56;
- yy394:
-       YYDEBUG(394, *YYCURSOR);
 -      if (yych == 'P') goto yy750;
++      if (yych == 'P') goto yy775;
+       if (yych != 'p') goto yy55;
 -yy750:
 -      YYDEBUG(750, *YYCURSOR);
++yy775:
++      YYDEBUG(775, *YYCURSOR);
        yych = *++YYCURSOR;
-       if (yych <= 'N') {
-               if (yych == 'L') goto yy559;
-               if (yych <= 'M') goto yy56;
-               goto yy559;
+       if (yych <= 'S') {
 -              if (yych == '-') goto yy741;
++              if (yych == '-') goto yy766;
+               goto yy55;
        } else {
-               if (yych <= 'l') {
-                       if (yych <= 'k') goto yy56;
-                       goto yy559;
-               } else {
-                       if (yych == 'n') goto yy559;
-                       goto yy56;
-               }
 -              if (yych <= 'T') goto yy740;
 -              if (yych == 't') goto yy740;
++              if (yych <= 'T') goto yy765;
++              if (yych == 't') goto yy765;
+               goto yy55;
        }
- yy395:
-       YYDEBUG(395, *YYCURSOR);
 -yy751:
 -      YYDEBUG(751, *YYCURSOR);
++yy776:
++      YYDEBUG(776, *YYCURSOR);
+       yych = *++YYCURSOR;
 -      if (yych == 'G') goto yy740;
 -      if (yych == 'g') goto yy740;
++      if (yych == 'G') goto yy765;
++      if (yych == 'g') goto yy765;
+       goto yy55;
 -yy752:
 -      YYDEBUG(752, *YYCURSOR);
++yy777:
++      YYDEBUG(777, *YYCURSOR);
+       yych = *++YYCURSOR;
 -      if (yych == 'R') goto yy740;
 -      if (yych == 'r') goto yy740;
++      if (yych == 'R') goto yy765;
++      if (yych == 'r') goto yy765;
+       goto yy55;
 -yy753:
 -      YYDEBUG(753, *YYCURSOR);
++yy778:
++      YYDEBUG(778, *YYCURSOR);
        yych = *++YYCURSOR;
        if (yych <= 'Y') {
-               if (yych == 'R') goto yy559;
-               if (yych <= 'X') goto yy56;
-               goto yy559;
 -              if (yych == 'R') goto yy740;
++              if (yych == 'R') goto yy765;
+               if (yych <= 'X') goto yy55;
 -              goto yy740;
++              goto yy765;
        } else {
                if (yych <= 'r') {
-                       if (yych <= 'q') goto yy56;
-                       goto yy559;
+                       if (yych <= 'q') goto yy55;
 -                      goto yy740;
++                      goto yy765;
                } else {
-                       if (yych == 'y') goto yy559;
-                       goto yy56;
 -                      if (yych == 'y') goto yy740;
++                      if (yych == 'y') goto yy765;
+                       goto yy55;
                }
        }
- yy396:
-       YYDEBUG(396, *YYCURSOR);
-       yych = *++YYCURSOR;
-       if (yych == 'V') goto yy559;
-       if (yych == 'v') goto yy559;
-       goto yy56;
- yy397:
-       YYDEBUG(397, *YYCURSOR);
-       yych = *++YYCURSOR;
-       if (yych == 'T') goto yy559;
-       if (yych == 't') goto yy559;
-       goto yy56;
- yy398:
-       YYDEBUG(398, *YYCURSOR);
-       yych = *++YYCURSOR;
-       if (yych == 'P') goto yy560;
-       if (yych == 'p') goto yy560;
-       goto yy56;
- yy399:
-       YYDEBUG(399, *YYCURSOR);
 -yy754:
 -      YYDEBUG(754, *YYCURSOR);
++yy779:
++      YYDEBUG(779, *YYCURSOR);
        yych = *++YYCURSOR;
-       if (yych <= '.') {
-               if (yych <= ',') goto yy56;
-               if (yych <= '-') goto yy381;
-               goto yy379;
-       } else {
-               if (yych <= '/') goto yy56;
-               if (yych <= '9') goto yy561;
-               goto yy56;
-       }
- yy400:
-       YYDEBUG(400, *YYCURSOR);
 -      if (yych == 'B') goto yy740;
 -      if (yych == 'b') goto yy740;
++      if (yych == 'B') goto yy765;
++      if (yych == 'b') goto yy765;
+       goto yy55;
 -yy755:
 -      YYDEBUG(755, *YYCURSOR);
++yy780:
++      YYDEBUG(780, *YYCURSOR);
        yych = *++YYCURSOR;
-       if (yych <= '.') {
-               if (yych <= ',') goto yy56;
-               if (yych <= '-') goto yy381;
-               goto yy379;
+       if (yych <= 'N') {
 -              if (yych == 'L') goto yy740;
++              if (yych == 'L') goto yy765;
+               if (yych <= 'M') goto yy55;
 -              goto yy740;
++              goto yy765;
        } else {
-               if (yych <= '/') goto yy56;
-               if (yych <= '2') goto yy561;
-               goto yy56;
+               if (yych <= 'l') {
+                       if (yych <= 'k') goto yy55;
 -                      goto yy740;
++                      goto yy765;
+               } else {
 -                      if (yych == 'n') goto yy740;
++                      if (yych == 'n') goto yy765;
+                       goto yy55;
+               }
        }
- yy401:
-       YYDEBUG(401, *YYCURSOR);
 -yy756:
 -      YYDEBUG(756, *YYCURSOR);
++yy781:
++      YYDEBUG(781, *YYCURSOR);
        yych = *++YYCURSOR;
-       switch (yych) {
-       case '0':       goto yy562;
-       case '1':       goto yy563;
-       case '2':
-       case '3':
-       case '4':
-       case '5':
-       case '6':
-       case '7':
-       case '8':
-       case '9':       goto yy443;
-       case 'A':
-       case 'a':       goto yy444;
-       case 'D':
-       case 'd':       goto yy445;
-       case 'F':
-       case 'f':       goto yy446;
-       case 'J':
-       case 'j':       goto yy447;
-       case 'M':
-       case 'm':       goto yy448;
-       case 'N':
-       case 'n':       goto yy449;
-       case 'O':
-       case 'o':       goto yy450;
-       case 'S':
-       case 's':       goto yy451;
-       default:        goto yy56;
-       }
- yy402:
-       YYDEBUG(402, *YYCURSOR);
-       yyaccept = 12;
 -      if (yych == 'N') goto yy740;
 -      if (yych == 'n') goto yy740;
++      if (yych == 'N') goto yy765;
++      if (yych == 'n') goto yy765;
+       goto yy55;
 -yy757:
 -      YYDEBUG(757, *YYCURSOR);
++yy782:
++      YYDEBUG(782, *YYCURSOR);
+       yyaccept = 15;
        yych = *(YYMARKER = ++YYCURSOR);
-       if (yych <= 'L') {
+       if (yych <= 'O') {
                if (yych <= '3') {
                        if (yych <= '-') {
                                if (yych <= 0x1F) {
-                                       if (yych == '\t') goto yy565;
 -                                      if (yych == '\t') goto yy765;
++                                      if (yych == '\t') goto yy790;
                                } else {
-                                       if (yych <= ' ') goto yy565;
-                                       if (yych >= '-') goto yy566;
 -                                      if (yych <= ' ') goto yy765;
 -                                      if (yych >= '-') goto yy762;
++                                      if (yych <= ' ') goto yy790;
++                                      if (yych >= '-') goto yy787;
                                }
                        } else {
                                if (yych <= '0') {
-                                       if (yych <= '.') goto yy567;
-                                       if (yych <= '/') goto yy568;
-                                       goto yy569;
 -                                      if (yych <= '.') goto yy766;
 -                                      if (yych <= '/') goto yy763;
 -                                      goto yy779;
++                                      if (yych <= '.') goto yy791;
++                                      if (yych <= '/') goto yy788;
++                                      goto yy804;
                                } else {
-                                       if (yych <= '1') goto yy570;
-                                       if (yych <= '2') goto yy571;
-                                       goto yy572;
 -                                      if (yych <= '1') goto yy780;
 -                                      if (yych <= '2') goto yy782;
 -                                      goto yy783;
++                                      if (yych <= '1') goto yy805;
++                                      if (yych <= '2') goto yy807;
++                                      goto yy808;
                                }
                        }
                } else {
-                       if (yych <= 'A') {
-                               if (yych <= '9') {
-                                       if (yych <= '5') goto yy573;
-                                       if (yych <= '6') goto yy574;
-                                       goto yy575;
+                       if (yych <= 'D') {
+                               if (yych <= '@') {
+                                       if (yych <= '9') goto yy73;
 -                                      if (yych <= ':') goto yy781;
++                                      if (yych <= ':') goto yy806;
                                } else {
-                                       if (yych <= ':') goto yy576;
-                                       if (yych >= 'A') goto yy565;
 -                                      if (yych <= 'A') goto yy765;
 -                                      if (yych >= 'D') goto yy765;
++                                      if (yych <= 'A') goto yy790;
++                                      if (yych >= 'D') goto yy790;
                                }
                        } else {
-                               if (yych <= 'E') {
-                                       if (yych == 'D') goto yy565;
+                               if (yych <= 'G') {
 -                                      if (yych == 'F') goto yy765;
++                                      if (yych == 'F') goto yy790;
                                } else {
-                                       if (yych == 'G') goto yy403;
-                                       if (yych <= 'J') goto yy565;
 -                                      if (yych <= 'J') goto yy765;
 -                                      if (yych >= 'M') goto yy765;
++                                      if (yych <= 'J') goto yy790;
++                                      if (yych >= 'M') goto yy790;
                                }
                        }
                }
        } else {
                if (yych <= 'h') {
-                       if (yych <= '`') {
-                               if (yych <= 'V') {
-                                       if (yych <= 'O') goto yy565;
-                                       if (yych >= 'S') goto yy565;
+                       if (yych <= 'a') {
+                               if (yych <= 'W') {
 -                                      if (yych <= 'R') goto yy758;
 -                                      if (yych <= 'V') goto yy765;
 -                                      goto yy784;
++                                      if (yych <= 'R') goto yy783;
++                                      if (yych <= 'V') goto yy790;
++                                      goto yy809;
                                } else {
-                                       if (yych <= 'W') goto yy588;
-                                       if (yych <= 'Y') goto yy565;
 -                                      if (yych <= 'Y') goto yy765;
 -                                      if (yych >= 'a') goto yy765;
++                                      if (yych <= 'Y') goto yy790;
++                                      if (yych >= 'a') goto yy790;
                                }
                        } else {
-                               if (yych <= 'd') {
-                                       if (yych <= 'a') goto yy565;
-                                       if (yych >= 'd') goto yy565;
+                               if (yych <= 'e') {
 -                                      if (yych == 'd') goto yy765;
++                                      if (yych == 'd') goto yy790;
                                } else {
-                                       if (yych == 'f') goto yy565;
-                                       if (yych >= 'h') goto yy565;
 -                                      if (yych != 'g') goto yy765;
++                                      if (yych != 'g') goto yy790;
                                }
                        }
                } else {
                        if (yych <= 'u') {
                                if (yych <= 'l') {
-                                       if (yych == 'j') goto yy565;
 -                                      if (yych == 'j') goto yy765;
++                                      if (yych == 'j') goto yy790;
                                } else {
-                                       if (yych <= 'o') goto yy565;
-                                       if (yych >= 's') goto yy565;
 -                                      if (yych <= 'o') goto yy765;
 -                                      if (yych >= 's') goto yy765;
++                                      if (yych <= 'o') goto yy790;
++                                      if (yych >= 's') goto yy790;
                                }
                        } else {
                                if (yych <= 'x') {
-                                       if (yych == 'w') goto yy565;
 -                                      if (yych == 'w') goto yy765;
++                                      if (yych == 'w') goto yy790;
                                } else {
-                                       if (yych <= 'y') goto yy565;
-                                       if (yych == 0xC2) goto yy565;
 -                                      if (yych <= 'y') goto yy765;
 -                                      if (yych == 0xC2) goto yy765;
++                                      if (yych <= 'y') goto yy790;
++                                      if (yych == 0xC2) goto yy790;
                                }
                        }
                }
        }
- yy403:
-       YYDEBUG(403, *YYCURSOR);
- #line 1260 "parse_date.re"
 -yy758:
 -      YYDEBUG(758, *YYCURSOR);
 -#line 1620 "parse_date.re"
++yy783:
++      YYDEBUG(783, *YYCURSOR);
++#line 1642 "parse_date.re"
        {
-               DEBUG_OUTPUT("gnunocolon");
+               DEBUG_OUTPUT("year4");
                TIMELIB_INIT;
-               switch (s->time->have_time) {
-                       case 0:
-                               s->time->h = timelib_get_nr(&ptr, 2);
-                               s->time->i = timelib_get_nr(&ptr, 2);
-                               s->time->s = 0;
-                               break;
-                       case 1:
-                               s->time->y = timelib_get_nr(&ptr, 4);
-                               break;
-                       default:
-                               TIMELIB_DEINIT;
-                               add_error(s, TIMELIB_ERR_DOUBLE_TIME, "Double time specification");
-                               return TIMELIB_ERROR;
-               }
-               s->time->have_time++;
 -              s->time->y = timelib_get_nr((char **) &ptr, 4);
++              s->time->y = timelib_get_nr(&ptr, 4);
                TIMELIB_DEINIT;
-               return TIMELIB_GNU_NOCOLON;
+               return TIMELIB_CLF;
+       }
 -#line 12426 "<stdout>"
 -yy759:
 -      YYDEBUG(759, *YYCURSOR);
++#line 12563 "<stdout>"
++yy784:
++      YYDEBUG(784, *YYCURSOR);
+       yych = *++YYCURSOR;
+       switch (yych) {
 -      case '0':       goto yy760;
 -      case '1':       goto yy761;
++      case '0':       goto yy785;
++      case '1':       goto yy786;
+       case '2':
+       case '3':
+       case '4':
+       case '5':
+       case '6':
+       case '7':
+       case '8':
 -      case '9':       goto yy727;
++      case '9':       goto yy752;
+       case 'A':
 -      case 'a':       goto yy720;
++      case 'a':       goto yy745;
+       case 'D':
 -      case 'd':       goto yy724;
++      case 'd':       goto yy749;
+       case 'F':
 -      case 'f':       goto yy718;
++      case 'f':       goto yy743;
+       case 'J':
 -      case 'j':       goto yy717;
++      case 'j':       goto yy742;
+       case 'M':
 -      case 'm':       goto yy719;
++      case 'm':       goto yy744;
+       case 'N':
 -      case 'n':       goto yy723;
++      case 'n':       goto yy748;
+       case 'O':
 -      case 'o':       goto yy722;
++      case 'o':       goto yy747;
+       case 'S':
 -      case 's':       goto yy721;
++      case 's':       goto yy746;
+       default:        goto yy55;
        }
- #line 10383 "<stdout>"
- yy404:
-       YYDEBUG(404, *YYCURSOR);
-       yyaccept = 13;
-       yych = *(YYMARKER = ++YYCURSOR);
-       if (yych <= 'O') {
-               if (yych <= '3') {
-                       if (yych <= '-') {
 -yy760:
 -      YYDEBUG(760, *YYCURSOR);
++yy785:
++      YYDEBUG(785, *YYCURSOR);
+       yych = *++YYCURSOR;
 -      if (yych == '-') goto yy728;
++      if (yych == '-') goto yy753;
+       if (yych <= '/') goto yy55;
 -      if (yych <= '9') goto yy727;
++      if (yych <= '9') goto yy752;
+       goto yy55;
 -yy761:
 -      YYDEBUG(761, *YYCURSOR);
++yy786:
++      YYDEBUG(786, *YYCURSOR);
+       yych = *++YYCURSOR;
 -      if (yych == '-') goto yy728;
++      if (yych == '-') goto yy753;
+       if (yych <= '/') goto yy55;
 -      if (yych <= '2') goto yy727;
++      if (yych <= '2') goto yy752;
+       goto yy55;
 -yy762:
 -      YYDEBUG(762, *YYCURSOR);
++yy787:
++      YYDEBUG(787, *YYCURSOR);
+       yych = *++YYCURSOR;
+       switch (yych) {
 -      case '0':       goto yy947;
 -      case '1':       goto yy949;
++      case '0':       goto yy972;
++      case '1':       goto yy974;
+       case '2':
+       case '3':
+       case '4':
+       case '5':
+       case '6':
+       case '7':
+       case '8':
 -      case '9':       goto yy950;
++      case '9':       goto yy975;
+       case 'A':
 -      case 'a':       goto yy941;
++      case 'a':       goto yy966;
+       case 'D':
 -      case 'd':       goto yy945;
++      case 'd':       goto yy970;
+       case 'F':
 -      case 'f':       goto yy939;
++      case 'f':       goto yy964;
+       case 'J':
 -      case 'j':       goto yy938;
++      case 'j':       goto yy963;
+       case 'M':
 -      case 'm':       goto yy940;
++      case 'm':       goto yy965;
+       case 'N':
 -      case 'n':       goto yy944;
++      case 'n':       goto yy969;
+       case 'O':
 -      case 'o':       goto yy943;
++      case 'o':       goto yy968;
+       case 'S':
 -      case 's':       goto yy942;
 -      case 'W':       goto yy946;
 -      default:        goto yy913;
++      case 's':       goto yy967;
++      case 'W':       goto yy971;
++      default:        goto yy938;
+       }
 -yy763:
 -      YYDEBUG(763, *YYCURSOR);
++yy788:
++      YYDEBUG(788, *YYCURSOR);
+       yych = *++YYCURSOR;
+       if (yych <= '/') goto yy55;
 -      if (yych <= '0') goto yy921;
 -      if (yych <= '1') goto yy922;
 -      if (yych <= '9') goto yy923;
++      if (yych <= '0') goto yy946;
++      if (yych <= '1') goto yy947;
++      if (yych <= '9') goto yy948;
+       goto yy55;
 -yy764:
 -      YYDEBUG(764, *YYCURSOR);
++yy789:
++      YYDEBUG(789, *YYCURSOR);
+       ++YYCURSOR;
+       if ((YYLIMIT - YYCURSOR) < 12) YYFILL(12);
+       yych = *YYCURSOR;
 -yy765:
 -      YYDEBUG(765, *YYCURSOR);
++yy790:
++      YYDEBUG(790, *YYCURSOR);
+       if (yych <= 'W') {
+               if (yych <= 'G') {
+                       if (yych <= '.') {
                                if (yych <= 0x1F) {
-                                       if (yych == '\t') goto yy565;
 -                                      if (yych == '\t') goto yy764;
++                                      if (yych == '\t') goto yy789;
+                                       goto yy55;
                                } else {
-                                       if (yych <= ' ') goto yy565;
-                                       if (yych >= '-') goto yy566;
 -                                      if (yych <= ' ') goto yy764;
++                                      if (yych <= ' ') goto yy789;
+                                       if (yych <= ',') goto yy55;
 -                                      goto yy912;
++                                      goto yy937;
                                }
                        } else {
-                               if (yych <= '0') {
-                                       if (yych <= '.') goto yy567;
-                                       if (yych <= '/') goto yy568;
-                                       goto yy590;
+                               if (yych <= 'C') {
 -                                      if (yych == 'A') goto yy774;
++                                      if (yych == 'A') goto yy799;
+                                       goto yy55;
                                } else {
-                                       if (yych <= '1') goto yy591;
-                                       if (yych <= '2') goto yy592;
-                                       goto yy593;
 -                                      if (yych <= 'D') goto yy778;
 -                                      if (yych == 'F') goto yy772;
++                                      if (yych <= 'D') goto yy803;
++                                      if (yych == 'F') goto yy797;
+                                       goto yy55;
                                }
                        }
                } else {
-                       if (yych <= 'D') {
-                               if (yych <= '@') {
-                                       if (yych <= '9') goto yy575;
-                                       if (yych <= ':') goto yy576;
+                       if (yych <= 'N') {
+                               if (yych <= 'J') {
+                                       if (yych <= 'H') goto yy64;
 -                                      if (yych <= 'I') goto yy767;
 -                                      goto yy771;
++                                      if (yych <= 'I') goto yy792;
++                                      goto yy796;
                                } else {
-                                       if (yych <= 'A') goto yy565;
-                                       if (yych >= 'D') goto yy565;
+                                       if (yych <= 'L') goto yy55;
 -                                      if (yych <= 'M') goto yy773;
 -                                      goto yy777;
++                                      if (yych <= 'M') goto yy798;
++                                      goto yy802;
                                }
                        } else {
-                               if (yych <= 'G') {
-                                       if (yych == 'F') goto yy565;
+                               if (yych <= 'S') {
 -                                      if (yych <= 'O') goto yy776;
++                                      if (yych <= 'O') goto yy801;
+                                       if (yych <= 'R') goto yy55;
 -                                      goto yy775;
++                                      goto yy800;
                                } else {
-                                       if (yych <= 'J') goto yy565;
-                                       if (yych >= 'M') goto yy565;
+                                       if (yych <= 'T') goto yy69;
+                                       if (yych <= 'U') goto yy62;
 -                                      if (yych <= 'V') goto yy769;
++                                      if (yych <= 'V') goto yy794;
+                                       goto yy68;
                                }
                        }
                }
        } else {
-               if (yych <= 'h') {
-                       if (yych <= 'a') {
-                               if (yych <= 'W') {
-                                       if (yych <= 'R') goto yy405;
-                                       if (yych <= 'V') goto yy565;
-                                       goto yy588;
+               if (yych <= 'l') {
+                       if (yych <= 'd') {
+                               if (yych <= '`') {
 -                                      if (yych <= 'X') goto yy770;
++                                      if (yych <= 'X') goto yy795;
+                                       if (yych <= 'Y') goto yy67;
+                                       goto yy55;
                                } else {
-                                       if (yych <= 'Y') goto yy565;
-                                       if (yych >= 'a') goto yy565;
 -                                      if (yych <= 'a') goto yy774;
++                                      if (yych <= 'a') goto yy799;
+                                       if (yych <= 'c') goto yy55;
 -                                      goto yy778;
++                                      goto yy803;
                                }
                        } else {
-                               if (yych <= 'e') {
-                                       if (yych == 'd') goto yy565;
+                               if (yych <= 'g') {
 -                                      if (yych == 'f') goto yy772;
++                                      if (yych == 'f') goto yy797;
+                                       goto yy55;
                                } else {
-                                       if (yych != 'g') goto yy565;
+                                       if (yych <= 'h') goto yy64;
 -                                      if (yych == 'j') goto yy771;
++                                      if (yych == 'j') goto yy796;
+                                       goto yy55;
                                }
                        }
                } else {
                        if (yych <= 'u') {
-                               if (yych <= 'l') {
-                                       if (yych == 'j') goto yy565;
+                               if (yych <= 'o') {
 -                                      if (yych <= 'm') goto yy773;
 -                                      if (yych <= 'n') goto yy777;
 -                                      goto yy776;
++                                      if (yych <= 'm') goto yy798;
++                                      if (yych <= 'n') goto yy802;
++                                      goto yy801;
                                } else {
-                                       if (yych <= 'o') goto yy565;
-                                       if (yych >= 's') goto yy565;
+                                       if (yych <= 'r') goto yy55;
 -                                      if (yych <= 's') goto yy775;
++                                      if (yych <= 's') goto yy800;
+                                       if (yych <= 't') goto yy69;
+                                       goto yy62;
                                }
                        } else {
                                if (yych <= 'x') {
                        }
                }
        }
- yy405:
-       YYDEBUG(405, *YYCURSOR);
- #line 1642 "parse_date.re"
-       {
-               DEBUG_OUTPUT("year4");
-               TIMELIB_INIT;
-               s->time->y = timelib_get_nr(&ptr, 4);
-               TIMELIB_DEINIT;
-               return TIMELIB_CLF;
-       }
- #line 10472 "<stdout>"
- yy406:
-       YYDEBUG(406, *YYCURSOR);
-       yyaccept = 3;
-       yych = *(YYMARKER = ++YYCURSOR);
-       if (yych <= '.') {
-               if (yych <= 0x1F) {
-                       if (yych == '\t') goto yy238;
-                       goto yy77;
-               } else {
-                       if (yych <= ' ') goto yy238;
-                       if (yych <= ',') goto yy77;
-                       goto yy238;
-               }
-       } else {
-               if (yych <= 'H') {
-                       if (yych <= '/') goto yy77;
-                       if (yych <= '9') goto yy240;
-                       goto yy77;
-               } else {
-                       if (yych <= 'I') goto yy594;
-                       if (yych == 'i') goto yy594;
-                       goto yy77;
-               }
-       }
- yy407:
-       YYDEBUG(407, *YYCURSOR);
-       yyaccept = 3;
-       yych = *(YYMARKER = ++YYCURSOR);
-       if (yych <= '.') {
-               if (yych <= 0x1F) {
-                       if (yych == '\t') goto yy238;
-                       goto yy77;
-               } else {
-                       if (yych <= ' ') goto yy238;
-                       if (yych <= ',') goto yy77;
-                       goto yy238;
-               }
-       } else {
-               if (yych <= 'T') {
-                       if (yych <= '/') goto yy77;
-                       if (yych <= '9') goto yy240;
-                       goto yy77;
-               } else {
-                       if (yych <= 'U') goto yy595;
-                       if (yych == 'u') goto yy595;
-                       goto yy77;
-               }
-       }
- yy408:
-       YYDEBUG(408, *YYCURSOR);
 -yy766:
 -      YYDEBUG(766, *YYCURSOR);
++yy791:
++      YYDEBUG(791, *YYCURSOR);
        yych = *++YYCURSOR;
-       if (yych == 'S') goto yy596;
-       if (yych == 's') goto yy596;
-       goto yy250;
- yy409:
-       YYDEBUG(409, *YYCURSOR);
-       yyaccept = 3;
-       yych = *(YYMARKER = ++YYCURSOR);
-       if (yych <= '.') {
-               if (yych <= 0x1F) {
-                       if (yych == '\t') goto yy238;
-                       goto yy77;
-               } else {
-                       if (yych <= ' ') goto yy238;
-                       if (yych <= ',') goto yy77;
-                       goto yy238;
-               }
 -      if (yych <= '/') goto yy913;
 -      if (yych <= '0') goto yy905;
 -      if (yych <= '2') goto yy906;
 -      if (yych <= '3') goto yy907;
 -      goto yy913;
 -yy767:
 -      YYDEBUG(767, *YYCURSOR);
++      if (yych <= '/') goto yy938;
++      if (yych <= '0') goto yy930;
++      if (yych <= '2') goto yy931;
++      if (yych <= '3') goto yy932;
++      goto yy938;
++yy792:
++      YYDEBUG(792, *YYCURSOR);
+       ++YYCURSOR;
+       if ((yych = *YYCURSOR) <= 'U') {
 -              if (yych == 'I') goto yy904;
++              if (yych == 'I') goto yy929;
        } else {
-               if (yych <= 'D') {
-                       if (yych <= '/') goto yy77;
-                       if (yych <= '9') goto yy240;
-                       goto yy77;
-               } else {
-                       if (yych <= 'E') goto yy597;
-                       if (yych == 'e') goto yy597;
-                       goto yy77;
-               }
 -              if (yych == 'W') goto yy768;
 -              if (yych <= 'X') goto yy858;
++              if (yych == 'W') goto yy793;
++              if (yych <= 'X') goto yy883;
        }
- yy410:
-       YYDEBUG(410, *YYCURSOR);
-       yyaccept = 3;
-       yych = *(YYMARKER = ++YYCURSOR);
-       if (yych <= '.') {
-               if (yych <= 0x1F) {
-                       if (yych == '\t') goto yy238;
-                       goto yy77;
-               } else {
-                       if (yych <= ' ') goto yy238;
-                       if (yych <= ',') goto yy77;
-                       goto yy238;
-               }
-       } else {
-               if (yych <= 'Q') {
-                       if (yych <= '/') goto yy77;
-                       if (yych <= '9') goto yy240;
-                       goto yy77;
-               } else {
-                       if (yych <= 'R') goto yy598;
-                       if (yych == 'r') goto yy598;
-                       goto yy77;
-               }
 -yy768:
 -      YYDEBUG(768, *YYCURSOR);
 -#line 1441 "parse_date.re"
++yy793:
++      YYDEBUG(793, *YYCURSOR);
++#line 1463 "parse_date.re"
+       {
+               int length = 0;
+               DEBUG_OUTPUT("datenodayrev");
+               TIMELIB_INIT;
+               TIMELIB_HAVE_DATE();
 -              s->time->y = timelib_get_nr_ex((char **) &ptr, 4, &length);
 -              s->time->m = timelib_get_month((char **) &ptr);
++              s->time->y = timelib_get_nr_ex(&ptr, 4, &length);
++              s->time->m = timelib_get_month(&ptr);
+               s->time->d = 1;
+               TIMELIB_PROCESS_YEAR(s->time->y, length);
+               TIMELIB_DEINIT;
+               return TIMELIB_DATE_NO_DAY;
        }
- yy411:
-       YYDEBUG(411, *YYCURSOR);
 -#line 12644 "<stdout>"
 -yy769:
 -      YYDEBUG(769, *YYCURSOR);
++#line 12781 "<stdout>"
++yy794:
++      YYDEBUG(794, *YYCURSOR);
        yych = *++YYCURSOR;
-       if (yych == 'T') goto yy599;
-       if (yych == 't') goto yy599;
-       goto yy56;
- yy412:
-       YYDEBUG(412, *YYCURSOR);
-       yyaccept = 6;
-       yych = *(YYMARKER = ++YYCURSOR);
-       if (yych == 'D') goto yy600;
-       if (yych == 'd') goto yy600;
-       goto yy250;
- yy413:
-       YYDEBUG(413, *YYCURSOR);
 -      if (yych == 'I') goto yy902;
 -      goto yy768;
 -yy770:
 -      YYDEBUG(770, *YYCURSOR);
++      if (yych == 'I') goto yy927;
++      goto yy793;
++yy795:
++      YYDEBUG(795, *YYCURSOR);
        yych = *++YYCURSOR;
-       if (yych == 'R') goto yy408;
-       if (yych == 'r') goto yy408;
-       goto yy56;
- yy414:
-       YYDEBUG(414, *YYCURSOR);
 -      if (yych == 'I') goto yy901;
 -      goto yy768;
 -yy771:
 -      YYDEBUG(771, *YYCURSOR);
++      if (yych == 'I') goto yy926;
++      goto yy793;
++yy796:
++      YYDEBUG(796, *YYCURSOR);
        yych = *++YYCURSOR;
-       if (yych <= '/') goto yy241;
-       if (yych <= '9') goto yy601;
-       goto yy241;
- yy415:
-       YYDEBUG(415, *YYCURSOR);
-       yyaccept = 3;
-       yych = *(YYMARKER = ++YYCURSOR);
-       if (yych <= '.') {
-               if (yych <= 0x1F) {
-                       if (yych == '\t') goto yy238;
-                       goto yy77;
-               } else {
-                       if (yych <= ' ') goto yy238;
-                       if (yych <= ',') goto yy77;
-                       goto yy238;
-               }
-       } else {
-               if (yych <= 'T') {
-                       if (yych <= '/') goto yy77;
-                       if (yych <= '9') goto yy240;
-                       goto yy77;
-               } else {
-                       if (yych <= 'U') goto yy602;
-                       if (yych == 'u') goto yy602;
-                       goto yy77;
-               }
-       }
- yy416:
-       YYDEBUG(416, *YYCURSOR);
-       yyaccept = 3;
-       yych = *(YYMARKER = ++YYCURSOR);
-       if (yych <= '.') {
-               if (yych <= 0x1F) {
-                       if (yych == '\t') goto yy238;
-                       goto yy77;
-               } else {
-                       if (yych <= ' ') goto yy238;
-                       if (yych <= ',') goto yy77;
-                       goto yy238;
-               }
+       if (yych <= 'U') {
 -              if (yych == 'A') goto yy894;
++              if (yych == 'A') goto yy919;
+               if (yych <= 'T') goto yy55;
 -              goto yy893;
++              goto yy918;
        } else {
-               if (yych <= 'X') {
-                       if (yych <= '/') goto yy77;
-                       if (yych <= '9') goto yy240;
-                       goto yy77;
+               if (yych <= 'a') {
+                       if (yych <= '`') goto yy55;
 -                      goto yy894;
++                      goto yy919;
                } else {
-                       if (yych <= 'Y') goto yy243;
-                       if (yych == 'y') goto yy243;
-                       goto yy77;
 -                      if (yych == 'u') goto yy893;
++                      if (yych == 'u') goto yy918;
+                       goto yy55;
                }
        }
- yy417:
-       YYDEBUG(417, *YYCURSOR);
-       yyaccept = 3;
-       yych = *(YYMARKER = ++YYCURSOR);
-       if (yych <= '.') {
-               if (yych <= 0x1F) {
-                       if (yych == '\t') goto yy238;
-                       goto yy77;
 -yy772:
 -      YYDEBUG(772, *YYCURSOR);
++yy797:
++      YYDEBUG(797, *YYCURSOR);
+       yych = *++YYCURSOR;
+       if (yych <= 'R') {
+               if (yych <= 'N') {
 -                      if (yych == 'E') goto yy887;
++                      if (yych == 'E') goto yy912;
+                       goto yy55;
                } else {
-                       if (yych <= ' ') goto yy238;
-                       if (yych <= ',') goto yy77;
-                       goto yy238;
+                       if (yych <= 'O') goto yy110;
+                       if (yych <= 'Q') goto yy55;
+                       goto yy109;
                }
        } else {
-               if (yych <= 'D') {
-                       if (yych <= '/') goto yy77;
-                       if (yych <= '9') goto yy240;
-                       goto yy77;
+               if (yych <= 'n') {
 -                      if (yych == 'e') goto yy887;
++                      if (yych == 'e') goto yy912;
+                       goto yy55;
                } else {
-                       if (yych <= 'E') goto yy243;
-                       if (yych == 'e') goto yy243;
-                       goto yy77;
+                       if (yych <= 'o') goto yy110;
+                       if (yych == 'r') goto yy109;
+                       goto yy55;
                }
        }
- yy418:
-       YYDEBUG(418, *YYCURSOR);
-       yyaccept = 3;
-       yych = *(YYMARKER = ++YYCURSOR);
-       if (yych <= '.') {
-               if (yych <= 0x1F) {
-                       if (yych == '\t') goto yy238;
-                       goto yy77;
 -yy773:
 -      YYDEBUG(773, *YYCURSOR);
++yy798:
++      YYDEBUG(798, *YYCURSOR);
+       yych = *++YYCURSOR;
+       if (yych <= 'S') {
+               if (yych <= 'I') {
 -                      if (yych == 'A') goto yy884;
++                      if (yych == 'A') goto yy909;
+                       if (yych <= 'H') goto yy55;
+                       goto yy148;
                } else {
-                       if (yych <= ' ') goto yy238;
-                       if (yych <= ',') goto yy77;
-                       goto yy238;
+                       if (yych == 'O') goto yy147;
+                       if (yych <= 'R') goto yy55;
+                       goto yy149;
                }
        } else {
-               if (yych <= 'B') {
-                       if (yych <= '/') goto yy77;
-                       if (yych <= '9') goto yy240;
-                       goto yy77;
+               if (yych <= 'i') {
 -                      if (yych == 'a') goto yy884;
++                      if (yych == 'a') goto yy909;
+                       if (yych <= 'h') goto yy55;
+                       goto yy148;
                } else {
-                       if (yych <= 'C') goto yy603;
-                       if (yych == 'c') goto yy603;
-                       goto yy77;
+                       if (yych <= 'o') {
+                               if (yych <= 'n') goto yy55;
+                               goto yy147;
+                       } else {
+                               if (yych == 's') goto yy149;
+                               goto yy55;
+                       }
                }
        }
- yy419:
-       YYDEBUG(419, *YYCURSOR);
-       yych = *++YYCURSOR;
-       if (yych == 'R') goto yy604;
-       if (yych == 'r') goto yy604;
-       goto yy56;
- yy420:
-       YYDEBUG(420, *YYCURSOR);
 -yy774:
 -      YYDEBUG(774, *YYCURSOR);
++yy799:
++      YYDEBUG(799, *YYCURSOR);
        yych = *++YYCURSOR;
-       if (yych == 'L') goto yy605;
-       if (yych == 'l') goto yy605;
-       goto yy56;
- yy421:
-       YYDEBUG(421, *YYCURSOR);
-       yyaccept = 6;
-       yych = *(YYMARKER = ++YYCURSOR);
        if (yych <= 'U') {
-               if (yych == 'S') goto yy596;
-               if (yych <= 'T') goto yy250;
-               goto yy606;
-       } else {
-               if (yych <= 's') {
-                       if (yych <= 'r') goto yy250;
-                       goto yy596;
-               } else {
-                       if (yych == 'u') goto yy606;
-                       goto yy250;
-               }
-       }
- yy422:
-       YYDEBUG(422, *YYCURSOR);
-       yyaccept = 6;
-       yych = *(YYMARKER = ++YYCURSOR);
-       if (yych <= 'T') {
-               if (yych == 'D') goto yy600;
-               if (yych <= 'S') goto yy250;
-               goto yy607;
 -              if (yych == 'P') goto yy878;
++              if (yych == 'P') goto yy903;
+               if (yych <= 'T') goto yy55;
 -              goto yy877;
++              goto yy902;
        } else {
-               if (yych <= 'd') {
-                       if (yych <= 'c') goto yy250;
-                       goto yy600;
+               if (yych <= 'p') {
+                       if (yych <= 'o') goto yy55;
 -                      goto yy878;
++                      goto yy903;
                } else {
-                       if (yych == 't') goto yy607;
-                       goto yy250;
 -                      if (yych == 'u') goto yy877;
++                      if (yych == 'u') goto yy902;
+                       goto yy55;
                }
        }
- yy423:
-       YYDEBUG(423, *YYCURSOR);
 -yy775:
 -      YYDEBUG(775, *YYCURSOR);
++yy800:
++      YYDEBUG(800, *YYCURSOR);
        yych = *++YYCURSOR;
-       if (yych == 'C') goto yy408;
-       if (yych == 'c') goto yy408;
-       goto yy56;
- yy424:
-       YYDEBUG(424, *YYCURSOR);
-       yyaccept = 3;
-       yych = *(YYMARKER = ++YYCURSOR);
-       if (yych <= '.') {
-               if (yych <= 0x1F) {
-                       if (yych == '\t') goto yy238;
-                       goto yy77;
+       if (yych <= 'U') {
+               if (yych <= 'D') {
+                       if (yych == 'A') goto yy129;
+                       goto yy55;
                } else {
-                       if (yych <= ' ') goto yy238;
-                       if (yych <= ',') goto yy77;
-                       goto yy238;
 -                      if (yych <= 'E') goto yy870;
++                      if (yych <= 'E') goto yy895;
+                       if (yych <= 'T') goto yy55;
+                       goto yy128;
                }
        } else {
-               if (yych <= 'N') {
-                       if (yych <= '/') goto yy77;
-                       if (yych <= '9') goto yy240;
-                       goto yy77;
+               if (yych <= 'd') {
+                       if (yych == 'a') goto yy129;
+                       goto yy55;
                } else {
-                       if (yych <= 'O') goto yy608;
-                       if (yych == 'o') goto yy608;
-                       goto yy77;
 -                      if (yych <= 'e') goto yy870;
++                      if (yych <= 'e') goto yy895;
+                       if (yych == 'u') goto yy128;
+                       goto yy55;
                }
        }
- yy425:
-       YYDEBUG(425, *YYCURSOR);
-       yyaccept = 6;
-       yych = *(YYMARKER = ++YYCURSOR);
-       if (yych == 'U') goto yy609;
-       if (yych == 'u') goto yy609;
-       goto yy250;
- yy426:
-       YYDEBUG(426, *YYCURSOR);
-       yyaccept = 6;
-       yych = *(YYMARKER = ++YYCURSOR);
-       if (yych <= 'S') {
-               if (yych == 'O') goto yy610;
-               if (yych <= 'R') goto yy250;
-               goto yy596;
 -yy776:
 -      YYDEBUG(776, *YYCURSOR);
++yy801:
++      YYDEBUG(801, *YYCURSOR);
+       yych = *++YYCURSOR;
 -      if (yych == 'C') goto yy865;
 -      if (yych == 'c') goto yy865;
++      if (yych == 'C') goto yy890;
++      if (yych == 'c') goto yy890;
+       goto yy55;
 -yy777:
 -      YYDEBUG(777, *YYCURSOR);
++yy802:
++      YYDEBUG(802, *YYCURSOR);
+       yych = *++YYCURSOR;
 -      if (yych == 'O') goto yy859;
 -      if (yych == 'o') goto yy859;
++      if (yych == 'O') goto yy884;
++      if (yych == 'o') goto yy884;
+       goto yy55;
 -yy778:
 -      YYDEBUG(778, *YYCURSOR);
++yy803:
++      YYDEBUG(803, *YYCURSOR);
+       yych = *++YYCURSOR;
+       if (yych <= 'E') {
+               if (yych == 'A') goto yy125;
+               if (yych <= 'D') goto yy55;
 -              goto yy852;
++              goto yy877;
        } else {
-               if (yych <= 'o') {
-                       if (yych <= 'n') goto yy250;
-                       goto yy610;
+               if (yych <= 'a') {
+                       if (yych <= '`') goto yy55;
+                       goto yy125;
                } else {
-                       if (yych == 's') goto yy596;
-                       goto yy250;
 -                      if (yych == 'e') goto yy852;
++                      if (yych == 'e') goto yy877;
+                       goto yy55;
                }
        }
- yy427:
-       YYDEBUG(427, *YYCURSOR);
-       yyaccept = 3;
-       yych = *(YYMARKER = ++YYCURSOR);
-       if (yych <= '.') {
-               if (yych <= 0x1F) {
-                       if (yych == '\t') goto yy238;
-                       goto yy77;
-               } else {
-                       if (yych <= ' ') goto yy238;
-                       if (yych <= ',') goto yy77;
-                       goto yy238;
-               }
 -yy779:
 -      YYDEBUG(779, *YYCURSOR);
++yy804:
++      YYDEBUG(804, *YYCURSOR);
+       yych = *++YYCURSOR;
+       if (yych <= '/') goto yy59;
 -      if (yych <= '0') goto yy849;
 -      if (yych <= '9') goto yy850;
++      if (yych <= '0') goto yy874;
++      if (yych <= '9') goto yy875;
+       goto yy59;
 -yy780:
 -      YYDEBUG(780, *YYCURSOR);
++yy805:
++      YYDEBUG(805, *YYCURSOR);
+       yych = *++YYCURSOR;
+       if (yych <= '/') goto yy59;
 -      if (yych <= '2') goto yy818;
 -      if (yych <= '9') goto yy797;
++      if (yych <= '2') goto yy843;
++      if (yych <= '9') goto yy822;
+       goto yy59;
 -yy781:
 -      YYDEBUG(781, *YYCURSOR);
++yy806:
++      YYDEBUG(806, *YYCURSOR);
+       yych = *++YYCURSOR;
+       if (yych <= '/') goto yy55;
 -      if (yych <= '0') goto yy798;
 -      if (yych <= '1') goto yy799;
++      if (yych <= '0') goto yy823;
++      if (yych <= '1') goto yy824;
+       goto yy55;
 -yy782:
 -      YYDEBUG(782, *YYCURSOR);
 -      yych = *++YYCURSOR;
++yy807:
++      YYDEBUG(807, *YYCURSOR);
++      yych = *++YYCURSOR;
+       if (yych <= '/') goto yy59;
 -      if (yych <= '9') goto yy797;
++      if (yych <= '9') goto yy822;
+       goto yy59;
 -yy783:
 -      YYDEBUG(783, *YYCURSOR);
++yy808:
++      YYDEBUG(808, *YYCURSOR);
+       yych = *++YYCURSOR;
+       if (yych <= '/') goto yy59;
 -      if (yych <= '5') goto yy793;
 -      if (yych <= '6') goto yy794;
++      if (yych <= '5') goto yy818;
++      if (yych <= '6') goto yy819;
+       if (yych <= '9') goto yy74;
+       goto yy59;
 -yy784:
 -      YYDEBUG(784, *YYCURSOR);
++yy809:
++      YYDEBUG(809, *YYCURSOR);
+       yych = *++YYCURSOR;
+       if (yych <= '5') {
+               if (yych <= '/') goto yy55;
 -              if (yych <= '0') goto yy785;
 -              if (yych <= '4') goto yy786;
 -              goto yy787;
++              if (yych <= '0') goto yy810;
++              if (yych <= '4') goto yy811;
++              goto yy812;
        } else {
-               if (yych <= 'S') {
-                       if (yych <= '/') goto yy77;
-                       if (yych <= '9') goto yy240;
-                       goto yy77;
+               if (yych <= 'E') {
+                       if (yych <= 'D') goto yy55;
+                       goto yy94;
                } else {
-                       if (yych <= 'T') goto yy409;
-                       if (yych == 't') goto yy409;
-                       goto yy77;
+                       if (yych == 'e') goto yy94;
+                       goto yy55;
                }
        }
- yy428:
-       YYDEBUG(428, *YYCURSOR);
-       yyaccept = 6;
-       yych = *(YYMARKER = ++YYCURSOR);
-       if (yych == 'R') goto yy611;
-       if (yych == 'r') goto yy611;
-       goto yy250;
- yy429:
-       YYDEBUG(429, *YYCURSOR);
-       yyaccept = 6;
-       yych = *(YYMARKER = ++YYCURSOR);
-       if (yych == 'S') goto yy612;
-       if (yych == 's') goto yy612;
-       goto yy250;
- yy430:
-       YYDEBUG(430, *YYCURSOR);
-       yyaccept = 6;
 -yy785:
 -      YYDEBUG(785, *YYCURSOR);
++yy810:
++      YYDEBUG(810, *YYCURSOR);
+       yych = *++YYCURSOR;
+       if (yych <= '0') goto yy55;
 -      if (yych <= '9') goto yy788;
++      if (yych <= '9') goto yy813;
+       goto yy55;
 -yy786:
 -      YYDEBUG(786, *YYCURSOR);
++yy811:
++      YYDEBUG(811, *YYCURSOR);
+       yych = *++YYCURSOR;
+       if (yych <= '/') goto yy55;
 -      if (yych <= '9') goto yy788;
++      if (yych <= '9') goto yy813;
+       goto yy55;
 -yy787:
 -      YYDEBUG(787, *YYCURSOR);
++yy812:
++      YYDEBUG(812, *YYCURSOR);
+       yych = *++YYCURSOR;
+       if (yych <= '/') goto yy55;
+       if (yych >= '4') goto yy55;
 -yy788:
 -      YYDEBUG(788, *YYCURSOR);
++yy813:
++      YYDEBUG(813, *YYCURSOR);
+       yyaccept = 16;
        yych = *(YYMARKER = ++YYCURSOR);
-       if (yych == 'N') goto yy613;
-       if (yych == 'n') goto yy613;
-       goto yy250;
- yy431:
-       YYDEBUG(431, *YYCURSOR);
 -      if (yych == '-') goto yy790;
 -      if (yych <= '/') goto yy789;
 -      if (yych <= '7') goto yy791;
 -yy789:
 -      YYDEBUG(789, *YYCURSOR);
 -#line 1552 "parse_date.re"
++      if (yych == '-') goto yy815;
++      if (yych <= '/') goto yy814;
++      if (yych <= '7') goto yy816;
++yy814:
++      YYDEBUG(814, *YYCURSOR);
++#line 1574 "parse_date.re"
+       {
+               timelib_sll w, d;
+               DEBUG_OUTPUT("isoweek");
+               TIMELIB_INIT;
+               TIMELIB_HAVE_DATE();
+               TIMELIB_HAVE_RELATIVE();
 -              s->time->y = timelib_get_nr((char **) &ptr, 4);
 -              w = timelib_get_nr((char **) &ptr, 2);
++              s->time->y = timelib_get_nr(&ptr, 4);
++              w = timelib_get_nr(&ptr, 2);
+               d = 1;
+               s->time->m = 1;
+               s->time->d = 1;
+               s->time->relative.d = timelib_daynr_from_weeknr(s->time->y, w, d);
+               TIMELIB_DEINIT;
+               return TIMELIB_ISO_WEEK;
+       }
 -#line 12883 "<stdout>"
 -yy790:
 -      YYDEBUG(790, *YYCURSOR);
++#line 13020 "<stdout>"
++yy815:
++      YYDEBUG(815, *YYCURSOR);
        yych = *++YYCURSOR;
-       if (yych == 'K') goto yy614;
-       if (yych == 'k') goto yy614;
-       goto yy56;
- yy432:
-       YYDEBUG(432, *YYCURSOR);
+       if (yych <= '/') goto yy55;
+       if (yych >= '8') goto yy55;
 -yy791:
 -      YYDEBUG(791, *YYCURSOR);
++yy816:
++      YYDEBUG(816, *YYCURSOR);
+       ++YYCURSOR;
 -      YYDEBUG(792, *YYCURSOR);
 -#line 1533 "parse_date.re"
++      YYDEBUG(817, *YYCURSOR);
++#line 1555 "parse_date.re"
+       {
+               timelib_sll w, d;
+               DEBUG_OUTPUT("isoweekday");
+               TIMELIB_INIT;
+               TIMELIB_HAVE_DATE();
+               TIMELIB_HAVE_RELATIVE();
 -              s->time->y = timelib_get_nr((char **) &ptr, 4);
 -              w = timelib_get_nr((char **) &ptr, 2);
 -              d = timelib_get_nr((char **) &ptr, 1);
++              s->time->y = timelib_get_nr(&ptr, 4);
++              w = timelib_get_nr(&ptr, 2);
++              d = timelib_get_nr(&ptr, 1);
+               s->time->m = 1;
+               s->time->d = 1;
+               s->time->relative.d = timelib_daynr_from_weeknr(s->time->y, w, d);
+               TIMELIB_DEINIT;
+               return TIMELIB_ISO_WEEK;
+       }
 -#line 12911 "<stdout>"
 -yy793:
 -      YYDEBUG(793, *YYCURSOR);
++#line 13048 "<stdout>"
++yy818:
++      YYDEBUG(818, *YYCURSOR);
        yych = *++YYCURSOR;
-       if (yych <= '/') goto yy197;
-       if (yych <= '0') goto yy615;
-       if (yych <= '1') goto yy616;
-       if (yych <= '9') goto yy617;
-       goto yy197;
- yy433:
-       YYDEBUG(433, *YYCURSOR);
+       if (yych <= '/') goto yy59;
 -      if (yych <= '9') goto yy795;
++      if (yych <= '9') goto yy820;
+       goto yy59;
 -yy794:
 -      YYDEBUG(794, *YYCURSOR);
++yy819:
++      YYDEBUG(819, *YYCURSOR);
        yych = *++YYCURSOR;
-       if (yych <= '/') goto yy56;
-       if (yych <= '5') goto yy618;
-       if (yych <= '6') goto yy619;
-       if (yych <= '9') goto yy553;
-       goto yy56;
- yy434:
-       YYDEBUG(434, *YYCURSOR);
-       yyaccept = 4;
+       if (yych <= '/') goto yy59;
 -      if (yych <= '6') goto yy795;
++      if (yych <= '6') goto yy820;
+       if (yych <= '9') goto yy75;
+       goto yy59;
 -yy795:
 -      YYDEBUG(795, *YYCURSOR);
++yy820:
++      YYDEBUG(820, *YYCURSOR);
+       yyaccept = 17;
        yych = *(YYMARKER = ++YYCURSOR);
-       if (yych <= ':') {
-               if (yych <= ' ') {
-                       if (yych == '\t') goto yy620;
-                       if (yych <= 0x1F) goto yy209;
-                       goto yy620;
-               } else {
-                       if (yych <= '-') {
-                               if (yych <= ',') goto yy209;
-                               goto yy379;
+       if (yych <= 'W') {
+               if (yych <= 'E') {
+                       if (yych <= ' ') {
+                               if (yych == '\t') goto yy59;
+                               if (yych >= ' ') goto yy59;
                        } else {
-                               if (yych <= '.') goto yy433;
-                               if (yych <= '9') goto yy209;
+                               if (yych <= '9') {
+                                       if (yych >= '0') goto yy76;
+                               } else {
+                                       if (yych == 'D') goto yy59;
+                               }
                        }
-               }
-       } else {
-               if (yych <= 'P') {
-                       if (yych == 'A') goto yy101;
-                       if (yych <= 'O') goto yy209;
-                       goto yy101;
                } else {
-                       if (yych <= 'a') {
-                               if (yych <= '`') goto yy209;
-                               goto yy101;
+                       if (yych <= 'L') {
 -                              if (yych == 'G') goto yy796;
++                              if (yych == 'G') goto yy821;
+                               if (yych <= 'H') goto yy59;
                        } else {
-                               if (yych == 'p') goto yy101;
-                               goto yy209;
+                               if (yych <= 'R') {
+                                       if (yych <= 'M') goto yy59;
+                               } else {
+                                       if (yych != 'V') goto yy59;
+                               }
                        }
                }
-       }
- yy435:
-       YYDEBUG(435, *YYCURSOR);
-       yych = *++YYCURSOR;
-       if (yych <= '/') goto yy56;
-       if (yych <= '5') goto yy622;
-       if (yych <= '6') goto yy623;
-       if (yych <= '9') goto yy556;
-       goto yy56;
- yy436:
-       YYDEBUG(436, *YYCURSOR);
-       yyaccept = 4;
-       yych = *(YYMARKER = ++YYCURSOR);
-       if (yych <= ':') {
-               if (yych <= ' ') {
-                       if (yych == '\t') goto yy620;
-                       if (yych <= 0x1F) goto yy209;
-                       goto yy620;
-               } else {
-                       if (yych == '.') goto yy435;
-                       if (yych <= '9') goto yy209;
-                       goto yy435;
-               }
        } else {
-               if (yych <= 'P') {
-                       if (yych == 'A') goto yy101;
-                       if (yych <= 'O') goto yy209;
-                       goto yy101;
-               } else {
-                       if (yych <= 'a') {
-                               if (yych <= '`') goto yy209;
-                               goto yy101;
+               if (yych <= 'l') {
+                       if (yych <= 'd') {
+                               if (yych == 'Y') goto yy59;
+                               if (yych >= 'd') goto yy59;
                        } else {
-                               if (yych == 'p') goto yy101;
-                               goto yy209;
+                               if (yych <= 'f') {
+                                       if (yych >= 'f') goto yy59;
+                               } else {
+                                       if (yych == 'h') goto yy59;
+                               }
                        }
-               }
-       }
- yy437:
-       YYDEBUG(437, *YYCURSOR);
-       yyaccept = 4;
-       yych = *(YYMARKER = ++YYCURSOR);
-       if (yych <= ':') {
-               if (yych <= ' ') {
-                       if (yych == '\t') goto yy620;
-                       if (yych <= 0x1F) goto yy209;
-                       goto yy620;
-               } else {
-                       if (yych == '.') goto yy435;
-                       if (yych <= '9') goto yy209;
-                       goto yy624;
-               }
-       } else {
-               if (yych <= 'P') {
-                       if (yych == 'A') goto yy101;
-                       if (yych <= 'O') goto yy209;
-                       goto yy101;
                } else {
-                       if (yych <= 'a') {
-                               if (yych <= '`') goto yy209;
-                               goto yy101;
+                       if (yych <= 'w') {
+                               if (yych <= 'r') {
+                                       if (yych <= 'm') goto yy59;
+                               } else {
+                                       if (yych != 'v') goto yy59;
+                               }
                        } else {
-                               if (yych == 'p') goto yy101;
-                               goto yy209;
+                               if (yych <= 'y') {
+                                       if (yych >= 'y') goto yy59;
+                               } else {
+                                       if (yych == 0xC2) goto yy59;
+                               }
                        }
                }
        }
- yy438:
-       YYDEBUG(438, *YYCURSOR);
-       ++YYCURSOR;
-       YYDEBUG(439, *YYCURSOR);
- #line 1197 "parse_date.re"
 -yy796:
 -      YYDEBUG(796, *YYCURSOR);
 -#line 1519 "parse_date.re"
++yy821:
++      YYDEBUG(821, *YYCURSOR);
++#line 1541 "parse_date.re"
        {
-               DEBUG_OUTPUT("timetiny12 | timeshort12 | timelong12");
+               int length = 0;
+               DEBUG_OUTPUT("pgydotd");
                TIMELIB_INIT;
-               TIMELIB_HAVE_TIME();
-               s->time->h = timelib_get_nr(&ptr, 2);
-               if (*ptr == ':' || *ptr == '.') {
-                       s->time->i = timelib_get_nr(&ptr, 2);
-                       if (*ptr == ':' || *ptr == '.') {
-                               s->time->s = timelib_get_nr(&ptr, 2);
-                       }
-               }
-               s->time->h += timelib_meridian(&ptr, s->time->h);
+               TIMELIB_HAVE_DATE();
 -              s->time->y = timelib_get_nr_ex((char **) &ptr, 4, &length);
 -              s->time->d = timelib_get_nr((char **) &ptr, 3);
++              s->time->y = timelib_get_nr_ex(&ptr, 4, &length);
++              s->time->d = timelib_get_nr(&ptr, 3);
+               s->time->m = 1;
+               TIMELIB_PROCESS_YEAR(s->time->y, length);
                TIMELIB_DEINIT;
-               return TIMELIB_TIME12;
+               return TIMELIB_PG_YEARDAY;
        }
- #line 10982 "<stdout>"
- yy440:
-       YYDEBUG(440, *YYCURSOR);
 -#line 12996 "<stdout>"
 -yy797:
 -      YYDEBUG(797, *YYCURSOR);
++#line 13133 "<stdout>"
++yy822:
++      YYDEBUG(822, *YYCURSOR);
        yych = *++YYCURSOR;
-       if (yych <= '\t') {
-               if (yych <= 0x00) goto yy438;
-               if (yych <= 0x08) goto yy56;
-               goto yy438;
-       } else {
-               if (yych == ' ') goto yy438;
-               goto yy56;
-       }
- yy441:
-       YYDEBUG(441, *YYCURSOR);
+       if (yych <= '/') goto yy59;
 -      if (yych <= '9') goto yy795;
++      if (yych <= '9') goto yy820;
+       goto yy59;
 -yy798:
 -      YYDEBUG(798, *YYCURSOR);
++yy823:
++      YYDEBUG(823, *YYCURSOR);
        yych = *++YYCURSOR;
-       if (yych == '-') goto yy625;
-       if (yych <= '/') goto yy56;
-       if (yych <= '9') goto yy626;
-       goto yy56;
- yy442:
-       YYDEBUG(442, *YYCURSOR);
+       if (yych <= '/') goto yy55;
 -      if (yych <= '9') goto yy800;
++      if (yych <= '9') goto yy825;
+       goto yy55;
 -yy799:
 -      YYDEBUG(799, *YYCURSOR);
++yy824:
++      YYDEBUG(824, *YYCURSOR);
        yych = *++YYCURSOR;
-       if (yych == '-') goto yy625;
-       if (yych <= '/') goto yy56;
-       if (yych <= '2') goto yy626;
-       goto yy56;
- yy443:
-       YYDEBUG(443, *YYCURSOR);
+       if (yych <= '/') goto yy55;
+       if (yych >= '3') goto yy55;
 -yy800:
 -      YYDEBUG(800, *YYCURSOR);
++yy825:
++      YYDEBUG(825, *YYCURSOR);
        yych = *++YYCURSOR;
-       if (yych == '-') goto yy625;
-       goto yy56;
- yy444:
-       YYDEBUG(444, *YYCURSOR);
+       if (yych != ':') goto yy55;
 -      YYDEBUG(801, *YYCURSOR);
++      YYDEBUG(826, *YYCURSOR);
        yych = *++YYCURSOR;
-       if (yych <= 'U') {
-               if (yych == 'P') goto yy627;
-               if (yych <= 'T') goto yy56;
-               goto yy628;
-       } else {
-               if (yych <= 'p') {
-                       if (yych <= 'o') goto yy56;
-                       goto yy627;
-               } else {
-                       if (yych == 'u') goto yy628;
-                       goto yy56;
-               }
-       }
- yy445:
-       YYDEBUG(445, *YYCURSOR);
+       if (yych <= '/') goto yy55;
 -      if (yych <= '0') goto yy802;
 -      if (yych <= '2') goto yy803;
 -      if (yych <= '3') goto yy804;
++      if (yych <= '0') goto yy827;
++      if (yych <= '2') goto yy828;
++      if (yych <= '3') goto yy829;
+       goto yy55;
 -yy802:
 -      YYDEBUG(802, *YYCURSOR);
++yy827:
++      YYDEBUG(827, *YYCURSOR);
+       yych = *++YYCURSOR;
+       if (yych <= '/') goto yy55;
 -      if (yych <= '9') goto yy805;
++      if (yych <= '9') goto yy830;
+       goto yy55;
 -yy803:
 -      YYDEBUG(803, *YYCURSOR);
++yy828:
++      YYDEBUG(828, *YYCURSOR);
+       yych = *++YYCURSOR;
+       if (yych <= '/') goto yy55;
 -      if (yych <= '9') goto yy805;
++      if (yych <= '9') goto yy830;
+       goto yy55;
 -yy804:
 -      YYDEBUG(804, *YYCURSOR);
++yy829:
++      YYDEBUG(829, *YYCURSOR);
        yych = *++YYCURSOR;
-       if (yych == 'E') goto yy629;
-       if (yych == 'e') goto yy629;
-       goto yy56;
- yy446:
-       YYDEBUG(446, *YYCURSOR);
+       if (yych <= '/') goto yy55;
+       if (yych >= '2') goto yy55;
 -yy805:
 -      YYDEBUG(805, *YYCURSOR);
++yy830:
++      YYDEBUG(830, *YYCURSOR);
        yych = *++YYCURSOR;
-       if (yych == 'E') goto yy630;
-       if (yych == 'e') goto yy630;
-       goto yy56;
- yy447:
-       YYDEBUG(447, *YYCURSOR);
+       if (yych != ' ') goto yy55;
 -      YYDEBUG(806, *YYCURSOR);
++      YYDEBUG(831, *YYCURSOR);
        yych = *++YYCURSOR;
-       if (yych <= 'U') {
-               if (yych == 'A') goto yy631;
-               if (yych <= 'T') goto yy56;
-               goto yy632;
-       } else {
-               if (yych <= 'a') {
-                       if (yych <= '`') goto yy56;
-                       goto yy631;
-               } else {
-                       if (yych == 'u') goto yy632;
-                       goto yy56;
-               }
-       }
- yy448:
-       YYDEBUG(448, *YYCURSOR);
+       if (yych <= '/') goto yy55;
 -      if (yych <= '1') goto yy807;
 -      if (yych <= '2') goto yy808;
++      if (yych <= '1') goto yy832;
++      if (yych <= '2') goto yy833;
+       goto yy55;
 -yy807:
 -      YYDEBUG(807, *YYCURSOR);
++yy832:
++      YYDEBUG(832, *YYCURSOR);
        yych = *++YYCURSOR;
-       if (yych == 'A') goto yy633;
-       if (yych == 'a') goto yy633;
-       goto yy56;
- yy449:
-       YYDEBUG(449, *YYCURSOR);
+       if (yych <= '/') goto yy55;
 -      if (yych <= '9') goto yy809;
++      if (yych <= '9') goto yy834;
+       goto yy55;
 -yy808:
 -      YYDEBUG(808, *YYCURSOR);
++yy833:
++      YYDEBUG(833, *YYCURSOR);
        yych = *++YYCURSOR;
-       if (yych == 'O') goto yy634;
-       if (yych == 'o') goto yy634;
-       goto yy56;
- yy450:
-       YYDEBUG(450, *YYCURSOR);
+       if (yych <= '/') goto yy55;
+       if (yych >= '5') goto yy55;
 -yy809:
 -      YYDEBUG(809, *YYCURSOR);
++yy834:
++      YYDEBUG(834, *YYCURSOR);
        yych = *++YYCURSOR;
-       if (yych == 'C') goto yy635;
-       if (yych == 'c') goto yy635;
-       goto yy56;
- yy451:
-       YYDEBUG(451, *YYCURSOR);
+       if (yych != ':') goto yy55;
 -      YYDEBUG(810, *YYCURSOR);
++      YYDEBUG(835, *YYCURSOR);
        yych = *++YYCURSOR;
-       if (yych == 'E') goto yy636;
-       if (yych == 'e') goto yy636;
-       goto yy56;
- yy452:
-       YYDEBUG(452, *YYCURSOR);
+       if (yych <= '/') goto yy55;
+       if (yych >= '6') goto yy55;
 -      YYDEBUG(811, *YYCURSOR);
++      YYDEBUG(836, *YYCURSOR);
        yych = *++YYCURSOR;
-       if (yych <= '/') goto yy276;
-       if (yych <= '9') goto yy637;
-       goto yy276;
- yy453:
-       YYDEBUG(453, *YYCURSOR);
+       if (yych <= '/') goto yy55;
+       if (yych >= ':') goto yy55;
 -      YYDEBUG(812, *YYCURSOR);
++      YYDEBUG(837, *YYCURSOR);
        yych = *++YYCURSOR;
-       if (yych <= '@') {
-               if (yych == ')') goto yy108;
-               goto yy18;
-       } else {
-               if (yych <= 'Z') goto yy638;
-               if (yych <= '`') goto yy18;
-               if (yych <= 'z') goto yy638;
-               goto yy18;
-       }
- yy454:
-       YYDEBUG(454, *YYCURSOR);
+       if (yych != ':') goto yy55;
 -      YYDEBUG(813, *YYCURSOR);
++      YYDEBUG(838, *YYCURSOR);
        yych = *++YYCURSOR;
-       if (yych <= '/') goto yy135;
-       if (yych <= '2') goto yy639;
-       if (yych <= '3') goto yy640;
-       goto yy135;
- yy455:
-       YYDEBUG(455, *YYCURSOR);
+       if (yych <= '/') goto yy55;
 -      if (yych <= '5') goto yy814;
 -      if (yych <= '6') goto yy815;
++      if (yych <= '5') goto yy839;
++      if (yych <= '6') goto yy840;
+       goto yy55;
 -yy814:
 -      YYDEBUG(814, *YYCURSOR);
++yy839:
++      YYDEBUG(839, *YYCURSOR);
        yych = *++YYCURSOR;
-       if (yych <= 'L') {
-               if (yych <= ')') {
-                       if (yych <= '(') goto yy18;
-                       goto yy108;
-               } else {
-                       if (yych <= '@') goto yy18;
-                       if (yych <= 'K') goto yy638;
-                       goto yy641;
-               }
-       } else {
-               if (yych <= 'k') {
-                       if (yych <= 'Z') goto yy638;
-                       if (yych <= '`') goto yy18;
-                       goto yy638;
-               } else {
-                       if (yych <= 'l') goto yy641;
-                       if (yych <= 'z') goto yy638;
-                       goto yy18;
-               }
-       }
- yy456:
-       YYDEBUG(456, *YYCURSOR);
+       if (yych <= '/') goto yy55;
 -      if (yych <= '9') goto yy816;
++      if (yych <= '9') goto yy841;
+       goto yy55;
 -yy815:
 -      YYDEBUG(815, *YYCURSOR);
++yy840:
++      YYDEBUG(840, *YYCURSOR);
        yych = *++YYCURSOR;
-       if (yych <= 'S') {
-               if (yych <= ')') {
-                       if (yych <= '(') goto yy18;
-                       goto yy108;
-               } else {
-                       if (yych <= '@') goto yy18;
-                       if (yych <= 'R') goto yy638;
-                       goto yy642;
-               }
-       } else {
-               if (yych <= 'r') {
-                       if (yych <= 'Z') goto yy638;
-                       if (yych <= '`') goto yy18;
-                       goto yy638;
-               } else {
-                       if (yych <= 's') goto yy642;
-                       if (yych <= 'z') goto yy638;
-                       goto yy18;
-               }
-       }
- yy457:
-       YYDEBUG(457, *YYCURSOR);
-       yyaccept = 2;
-       YYMARKER = ++YYCURSOR;
-       if (YYLIMIT <= YYCURSOR) YYFILL(1);
-       yych = *YYCURSOR;
-       YYDEBUG(458, *YYCURSOR);
-       if (yybm[0+yych] & 64) {
-               goto yy457;
-       }
-       if (yych <= '.') {
-               if (yych == '-') goto yy283;
-               goto yy18;
-       } else {
-               if (yych <= '/') goto yy283;
-               if (yych == '_') goto yy283;
-               goto yy18;
-       }
- yy459:
-       YYDEBUG(459, *YYCURSOR);
-       yyaccept = 2;
-       yych = *(YYMARKER = ++YYCURSOR);
-       if (yych <= '/') {
-               if (yych <= ',') {
-                       if (yych == ')') goto yy108;
-                       goto yy18;
-               } else {
-                       if (yych == '.') goto yy18;
-                       goto yy283;
-               }
-       } else {
-               if (yych <= '^') {
-                       if (yych <= '@') goto yy18;
-                       if (yych <= 'Z') goto yy638;
-                       goto yy18;
-               } else {
-                       if (yych <= '_') goto yy283;
-                       if (yych <= '`') goto yy18;
-                       if (yych <= 'z') goto yy643;
-                       goto yy18;
+       if (yych != '0') goto yy55;
 -yy816:
 -      YYDEBUG(816, *YYCURSOR);
++yy841:
++      YYDEBUG(841, *YYCURSOR);
+       ++YYCURSOR;
 -yy817:
 -      YYDEBUG(817, *YYCURSOR);
 -#line 1493 "parse_date.re"
++yy842:
++      YYDEBUG(842, *YYCURSOR);
++#line 1515 "parse_date.re"
+       {
+               int tz_not_found;
+               DEBUG_OUTPUT("xmlrpc | xmlrpcnocolon | soap | wddx | exif");
+               TIMELIB_INIT;
+               TIMELIB_HAVE_TIME();
+               TIMELIB_HAVE_DATE();
 -              s->time->y = timelib_get_nr((char **) &ptr, 4);
 -              s->time->m = timelib_get_nr((char **) &ptr, 2);
 -              s->time->d = timelib_get_nr((char **) &ptr, 2);
 -              s->time->h = timelib_get_nr((char **) &ptr, 2);
 -              s->time->i = timelib_get_nr((char **) &ptr, 2);
 -              s->time->s = timelib_get_nr((char **) &ptr, 2);
++              s->time->y = timelib_get_nr(&ptr, 4);
++              s->time->m = timelib_get_nr(&ptr, 2);
++              s->time->d = timelib_get_nr(&ptr, 2);
++              s->time->h = timelib_get_nr(&ptr, 2);
++              s->time->i = timelib_get_nr(&ptr, 2);
++              s->time->s = timelib_get_nr(&ptr, 2);
+               if (*ptr == '.') {
 -                      s->time->us = timelib_get_frac_nr((char **) &ptr, 9);
++                      s->time->us = timelib_get_frac_nr(&ptr, 9);
+                       if (*ptr) { /* timezone is optional */
 -                              s->time->z = timelib_parse_zone((char **) &ptr, &s->time->dst, s->time, &tz_not_found, s->tzdb, tz_get_wrapper);
++                              s->time->z = timelib_parse_zone(&ptr, &s->time->dst, s->time, &tz_not_found, s->tzdb, tz_get_wrapper);
+                               if (tz_not_found) {
+                                       add_error(s, TIMELIB_ERR_TZID_NOT_FOUND, "The timezone could not be found in the database");
+                               }
+                       }
                }
+               TIMELIB_DEINIT;
+               return TIMELIB_XMLRPC_SOAP;
        }
- yy460:
-       YYDEBUG(460, *YYCURSOR);
 -#line 13124 "<stdout>"
 -yy818:
 -      YYDEBUG(818, *YYCURSOR);
++#line 13261 "<stdout>"
++yy843:
++      YYDEBUG(843, *YYCURSOR);
        yych = *++YYCURSOR;
-       if (yybm[0+yych] & 64) {
-               goto yy457;
+       if (yych <= '2') {
+               if (yych <= '/') goto yy59;
 -              if (yych >= '1') goto yy820;
++              if (yych >= '1') goto yy845;
+       } else {
 -              if (yych <= '3') goto yy821;
 -              if (yych <= '9') goto yy795;
++              if (yych <= '3') goto yy846;
++              if (yych <= '9') goto yy820;
+               goto yy59;
        }
-       if (yych <= '/') goto yy135;
-       if (yych <= '2') goto yy639;
-       if (yych <= '3') goto yy640;
-       goto yy135;
- yy461:
-       YYDEBUG(461, *YYCURSOR);
-       yyaccept = 2;
 -yy819:
 -      YYDEBUG(819, *YYCURSOR);
++yy844:
++      YYDEBUG(844, *YYCURSOR);
+       yyaccept = 17;
        yych = *(YYMARKER = ++YYCURSOR);
-       if (yych <= 'K') {
-               if (yych <= '-') {
-                       if (yych == ')') goto yy108;
-                       if (yych <= ',') goto yy18;
-                       goto yy283;
+       if (yych <= 'W') {
+               if (yych <= 'E') {
+                       if (yych <= ' ') {
+                               if (yych == '\t') goto yy59;
 -                              if (yych <= 0x1F) goto yy796;
++                              if (yych <= 0x1F) goto yy821;
+                               goto yy59;
+                       } else {
+                               if (yych <= '9') {
 -                                      if (yych <= '/') goto yy796;
 -                                      goto yy822;
++                                      if (yych <= '/') goto yy821;
++                                      goto yy847;
+                               } else {
+                                       if (yych == 'D') goto yy59;
 -                                      goto yy796;
++                                      goto yy821;
+                               }
+                       }
                } else {
-                       if (yych == '/') goto yy283;
-                       if (yych <= '@') goto yy18;
-                       goto yy638;
+                       if (yych <= 'L') {
 -                              if (yych == 'G') goto yy796;
++                              if (yych == 'G') goto yy821;
+                               if (yych <= 'H') goto yy59;
 -                              goto yy796;
++                              goto yy821;
+                       } else {
+                               if (yych <= 'R') {
+                                       if (yych <= 'M') goto yy59;
 -                                      goto yy796;
++                                      goto yy821;
+                               } else {
 -                                      if (yych == 'V') goto yy796;
++                                      if (yych == 'V') goto yy821;
+                                       goto yy59;
+                               }
+                       }
                }
        } else {
-               if (yych <= '_') {
-                       if (yych <= 'L') goto yy641;
-                       if (yych <= 'Z') goto yy638;
-                       if (yych <= '^') goto yy18;
-                       goto yy283;
+               if (yych <= 'l') {
+                       if (yych <= 'd') {
+                               if (yych == 'Y') goto yy59;
 -                              if (yych <= 'c') goto yy796;
++                              if (yych <= 'c') goto yy821;
+                               goto yy59;
+                       } else {
+                               if (yych <= 'f') {
 -                                      if (yych <= 'e') goto yy796;
++                                      if (yych <= 'e') goto yy821;
+                                       goto yy59;
+                               } else {
+                                       if (yych == 'h') goto yy59;
 -                                      goto yy796;
++                                      goto yy821;
+                               }
+                       }
                } else {
-                       if (yych <= 'k') {
-                               if (yych <= '`') goto yy18;
-                               goto yy643;
+                       if (yych <= 'w') {
+                               if (yych <= 'r') {
+                                       if (yych <= 'm') goto yy59;
 -                                      goto yy796;
++                                      goto yy821;
+                               } else {
 -                                      if (yych == 'v') goto yy796;
++                                      if (yych == 'v') goto yy821;
+                                       goto yy59;
+                               }
                        } else {
-                               if (yych <= 'l') goto yy644;
-                               if (yych <= 'z') goto yy643;
-                               goto yy18;
+                               if (yych <= 'y') {
 -                                      if (yych <= 'x') goto yy796;
++                                      if (yych <= 'x') goto yy821;
+                                       goto yy59;
+                               } else {
+                                       if (yych == 0xC2) goto yy59;
 -                                      goto yy796;
++                                      goto yy821;
+                               }
                        }
                }
        }
- yy462:
-       YYDEBUG(462, *YYCURSOR);
-       yyaccept = 2;
 -yy820:
 -      YYDEBUG(820, *YYCURSOR);
++yy845:
++      YYDEBUG(845, *YYCURSOR);
+       yyaccept = 17;
        yych = *(YYMARKER = ++YYCURSOR);
-       if (yych <= 'R') {
-               if (yych <= '-') {
-                       if (yych == ')') goto yy108;
-                       if (yych <= ',') goto yy18;
-                       goto yy283;
-               } else {
-                       if (yych == '/') goto yy283;
-                       if (yych <= '@') goto yy18;
-                       goto yy638;
-               }
-       } else {
-               if (yych <= '_') {
-                       if (yych <= 'S') goto yy642;
-                       if (yych <= 'Z') goto yy638;
-                       if (yych <= '^') goto yy18;
-                       goto yy283;
+       if (yych <= 'W') {
+               if (yych <= 'E') {
+                       if (yych <= ' ') {
+                               if (yych == '\t') goto yy59;
 -                              if (yych <= 0x1F) goto yy796;
++                              if (yych <= 0x1F) goto yy821;
+                               goto yy59;
+                       } else {
+                               if (yych <= '9') {
 -                                      if (yych <= '/') goto yy796;
 -                                      goto yy822;
++                                      if (yych <= '/') goto yy821;
++                                      goto yy847;
+                               } else {
+                                       if (yych == 'D') goto yy59;
 -                                      goto yy796;
++                                      goto yy821;
+                               }
+                       }
                } else {
-                       if (yych <= 'r') {
-                               if (yych <= '`') goto yy18;
-                               goto yy643;
+                       if (yych <= 'L') {
 -                              if (yych == 'G') goto yy796;
++                              if (yych == 'G') goto yy821;
+                               if (yych <= 'H') goto yy59;
 -                              goto yy796;
++                              goto yy821;
                        } else {
-                               if (yych <= 's') goto yy645;
-                               if (yych <= 'z') goto yy643;
-                               goto yy18;
+                               if (yych <= 'R') {
+                                       if (yych <= 'M') goto yy59;
 -                                      goto yy796;
++                                      goto yy821;
+                               } else {
 -                                      if (yych == 'V') goto yy796;
++                                      if (yych == 'V') goto yy821;
+                                       goto yy59;
+                               }
                        }
                }
-       }
- yy463:
-       YYDEBUG(463, *YYCURSOR);
-       yyaccept = 2;
-       yych = *(YYMARKER = ++YYCURSOR);
-       if (yych <= ')') {
-               if (yych == ' ') goto yy646;
-               if (yych <= '(') goto yy18;
-               goto yy108;
        } else {
-               if (yych <= 'Z') {
-                       if (yych <= '@') goto yy18;
-                       goto yy638;
+               if (yych <= 'l') {
+                       if (yych <= 'd') {
+                               if (yych == 'Y') goto yy59;
 -                              if (yych <= 'c') goto yy796;
++                              if (yych <= 'c') goto yy821;
+                               goto yy59;
+                       } else {
+                               if (yych <= 'f') {
 -                                      if (yych <= 'e') goto yy796;
++                                      if (yych <= 'e') goto yy821;
+                                       goto yy59;
+                               } else {
+                                       if (yych == 'h') goto yy59;
 -                                      goto yy796;
++                                      goto yy821;
+                               }
+                       }
                } else {
-                       if (yych <= '`') goto yy18;
-                       if (yych <= 'z') goto yy638;
-                       goto yy18;
+                       if (yych <= 'w') {
+                               if (yych <= 'r') {
+                                       if (yych <= 'm') goto yy59;
 -                                      goto yy796;
++                                      goto yy821;
+                               } else {
 -                                      if (yych == 'v') goto yy796;
++                                      if (yych == 'v') goto yy821;
+                                       goto yy59;
+                               }
+                       } else {
+                               if (yych <= 'y') {
 -                                      if (yych <= 'x') goto yy796;
++                                      if (yych <= 'x') goto yy821;
+                                       goto yy59;
+                               } else {
+                                       if (yych == 0xC2) goto yy59;
 -                                      goto yy796;
++                                      goto yy821;
+                               }
+                       }
                }
        }
- yy464:
-       YYDEBUG(464, *YYCURSOR);
-       yyaccept = 2;
 -yy821:
 -      YYDEBUG(821, *YYCURSOR);
++yy846:
++      YYDEBUG(846, *YYCURSOR);
+       yyaccept = 17;
        yych = *(YYMARKER = ++YYCURSOR);
-       if (yych <= '.') {
-               if (yych <= '(') {
-                       if (yych == ' ') goto yy646;
-                       goto yy18;
-               } else {
-                       if (yych <= ')') goto yy108;
-                       if (yych == '-') goto yy283;
-                       goto yy18;
-               }
-       } else {
-               if (yych <= '^') {
-                       if (yych <= '/') goto yy283;
-                       if (yych <= '@') goto yy18;
-                       if (yych <= 'Z') goto yy638;
-                       goto yy18;
-               } else {
-                       if (yych <= '_') goto yy283;
-                       if (yych <= '`') goto yy18;
-                       if (yych <= 'z') goto yy643;
-                       goto yy18;
-               }
-       }
- yy465:
-       YYDEBUG(465, *YYCURSOR);
-       yych = *++YYCURSOR;
-       if (yych <= 'M') {
-               if (yych <= ')') {
-                       if (yych <= '(') goto yy18;
-                       goto yy108;
+       if (yych <= 'W') {
+               if (yych <= 'D') {
+                       if (yych <= ' ') {
+                               if (yych == '\t') goto yy59;
 -                              if (yych <= 0x1F) goto yy796;
++                              if (yych <= 0x1F) goto yy821;
+                               goto yy59;
+                       } else {
+                               if (yych <= '1') {
 -                                      if (yych <= '/') goto yy796;
++                                      if (yych <= '/') goto yy821;
+                               } else {
+                                       if (yych <= '9') goto yy76;
 -                                      if (yych <= 'C') goto yy796;
++                                      if (yych <= 'C') goto yy821;
+                                       goto yy59;
+                               }
+                       }
                } else {
-                       if (yych <= '@') goto yy18;
-                       if (yych <= 'L') goto yy638;
-                       goto yy647;
+                       if (yych <= 'L') {
+                               if (yych <= 'F') {
 -                                      if (yych <= 'E') goto yy796;
++                                      if (yych <= 'E') goto yy821;
+                                       goto yy59;
+                               } else {
+                                       if (yych == 'H') goto yy59;
 -                                      goto yy796;
++                                      goto yy821;
+                               }
+                       } else {
+                               if (yych <= 'R') {
+                                       if (yych <= 'M') goto yy59;
 -                                      goto yy796;
++                                      goto yy821;
+                               } else {
 -                                      if (yych == 'V') goto yy796;
++                                      if (yych == 'V') goto yy821;
+                                       goto yy59;
+                               }
+                       }
                }
        } else {
                if (yych <= 'l') {
-                       if (yych <= 'Z') goto yy638;
-                       if (yych <= '`') goto yy18;
-                       goto yy638;
+                       if (yych <= 'd') {
+                               if (yych == 'Y') goto yy59;
 -                              if (yych <= 'c') goto yy796;
++                              if (yych <= 'c') goto yy821;
+                               goto yy59;
+                       } else {
+                               if (yych <= 'f') {
 -                                      if (yych <= 'e') goto yy796;
++                                      if (yych <= 'e') goto yy821;
+                                       goto yy59;
+                               } else {
+                                       if (yych == 'h') goto yy59;
 -                                      goto yy796;
++                                      goto yy821;
+                               }
+                       }
                } else {
-                       if (yych <= 'm') goto yy647;
-                       if (yych <= 'z') goto yy638;
-                       goto yy18;
+                       if (yych <= 'w') {
+                               if (yych <= 'r') {
+                                       if (yych <= 'm') goto yy59;
 -                                      goto yy796;
++                                      goto yy821;
+                               } else {
 -                                      if (yych == 'v') goto yy796;
++                                      if (yych == 'v') goto yy821;
+                                       goto yy59;
+                               }
+                       } else {
+                               if (yych <= 'y') {
 -                                      if (yych <= 'x') goto yy796;
++                                      if (yych <= 'x') goto yy821;
+                                       goto yy59;
+                               } else {
+                                       if (yych == 0xC2) goto yy59;
 -                                      goto yy796;
++                                      goto yy821;
+                               }
+                       }
                }
        }
- yy466:
-       YYDEBUG(466, *YYCURSOR);
-       yyaccept = 2;
 -yy822:
 -      YYDEBUG(822, *YYCURSOR);
++yy847:
++      YYDEBUG(847, *YYCURSOR);
+       yyaccept = 18;
        yych = *(YYMARKER = ++YYCURSOR);
-       if (yych <= 'L') {
-               if (yych <= '-') {
-                       if (yych == ')') goto yy108;
-                       if (yych <= ',') goto yy18;
-                       goto yy283;
+       if (yych <= 'W') {
+               if (yych <= 'F') {
+                       if (yych <= '/') {
+                               if (yych <= '\t') {
+                                       if (yych >= '\t') goto yy58;
+                               } else {
+                                       if (yych == ' ') goto yy58;
+                               }
+                       } else {
+                               if (yych <= 'C') {
+                                       if (yych <= '9') goto yy77;
+                               } else {
+                                       if (yych <= 'D') goto yy65;
+                                       if (yych >= 'F') goto yy66;
+                               }
+                       }
                } else {
-                       if (yych == '/') goto yy283;
-                       if (yych <= '@') goto yy18;
-                       goto yy638;
+                       if (yych <= 'R') {
+                               if (yych <= 'H') {
+                                       if (yych >= 'H') goto yy64;
+                               } else {
+                                       if (yych == 'M') goto yy60;
+                               }
+                       } else {
+                               if (yych <= 'T') {
+                                       if (yych <= 'S') goto yy63;
 -                                      goto yy824;
++                                      goto yy849;
+                               } else {
+                                       if (yych <= 'U') goto yy62;
+                                       if (yych >= 'W') goto yy68;
+                               }
+                       }
                }
        } else {
-               if (yych <= '_') {
-                       if (yych <= 'M') goto yy647;
-                       if (yych <= 'Z') goto yy638;
-                       if (yych <= '^') goto yy18;
-                       goto yy283;
+               if (yych <= 'm') {
+                       if (yych <= 'e') {
+                               if (yych <= 'Y') {
+                                       if (yych >= 'Y') goto yy67;
+                               } else {
+                                       if (yych == 'd') goto yy65;
+                               }
+                       } else {
+                               if (yych <= 'g') {
+                                       if (yych <= 'f') goto yy66;
+                               } else {
+                                       if (yych <= 'h') goto yy64;
+                                       if (yych >= 'm') goto yy60;
+                               }
+                       }
                } else {
-                       if (yych <= 'l') {
-                               if (yych <= '`') goto yy18;
-                               goto yy643;
+                       if (yych <= 'v') {
+                               if (yych <= 's') {
+                                       if (yych >= 's') goto yy63;
+                               } else {
 -                                      if (yych <= 't') goto yy825;
++                                      if (yych <= 't') goto yy850;
+                                       if (yych <= 'u') goto yy62;
+                               }
                        } else {
-                               if (yych <= 'm') goto yy648;
-                               if (yych <= 'z') goto yy643;
-                               goto yy18;
+                               if (yych <= 'y') {
+                                       if (yych <= 'w') goto yy68;
+                                       if (yych >= 'y') goto yy67;
+                               } else {
+                                       if (yych == 0xC2) goto yy61;
+                               }
                        }
                }
        }
- yy467:
-       YYDEBUG(467, *YYCURSOR);
 -yy823:
 -      YYDEBUG(823, *YYCURSOR);
 -#line 1481 "parse_date.re"
++yy848:
++      YYDEBUG(848, *YYCURSOR);
++#line 1503 "parse_date.re"
+       {
+               DEBUG_OUTPUT("datenocolon");
+               TIMELIB_INIT;
+               TIMELIB_HAVE_DATE();
 -              s->time->y = timelib_get_nr((char **) &ptr, 4);
 -              s->time->m = timelib_get_nr((char **) &ptr, 2);
 -              s->time->d = timelib_get_nr((char **) &ptr, 2);
++              s->time->y = timelib_get_nr(&ptr, 4);
++              s->time->m = timelib_get_nr(&ptr, 2);
++              s->time->d = timelib_get_nr(&ptr, 2);
+               TIMELIB_DEINIT;
+               return TIMELIB_DATE_NOCOLON;
+       }
 -#line 13431 "<stdout>"
 -yy824:
 -      YYDEBUG(824, *YYCURSOR);
++#line 13568 "<stdout>"
++yy849:
++      YYDEBUG(849, *YYCURSOR);
        yych = *++YYCURSOR;
-       if (yych <= 'T') {
-               if (yych <= ')') {
-                       if (yych <= '(') goto yy18;
-                       goto yy108;
+       if (yych <= 'H') {
+               if (yych <= '2') {
+                       if (yych <= '/') goto yy55;
 -                      if (yych <= '1') goto yy839;
 -                      goto yy840;
++                      if (yych <= '1') goto yy864;
++                      goto yy865;
                } else {
-                       if (yych <= '@') goto yy18;
-                       if (yych <= 'S') goto yy638;
-                       goto yy649;
 -                      if (yych <= '9') goto yy841;
++                      if (yych <= '9') goto yy866;
+                       if (yych <= 'G') goto yy55;
+                       goto yy81;
                }
        } else {
-               if (yych <= 's') {
-                       if (yych <= 'Z') goto yy638;
-                       if (yych <= '`') goto yy18;
-                       goto yy638;
+               if (yych <= 'g') {
+                       if (yych == 'U') goto yy82;
+                       goto yy55;
                } else {
-                       if (yych <= 't') goto yy649;
-                       if (yych <= 'z') goto yy638;
-                       goto yy18;
+                       if (yych <= 'h') goto yy81;
+                       if (yych == 'u') goto yy82;
+                       goto yy55;
                }
        }
- yy468:
-       YYDEBUG(468, *YYCURSOR);
 -yy825:
 -      YYDEBUG(825, *YYCURSOR);
++yy850:
++      YYDEBUG(850, *YYCURSOR);
        yych = *++YYCURSOR;
-       if (yych <= 'E') {
-               if (yych <= ')') {
-                       if (yych <= '(') goto yy18;
-                       goto yy108;
+       if (yych <= 'H') {
+               if (yych <= '2') {
+                       if (yych <= '/') goto yy55;
 -                      if (yych >= '2') goto yy827;
++                      if (yych >= '2') goto yy852;
                } else {
-                       if (yych <= '@') goto yy18;
-                       if (yych <= 'D') goto yy638;
-                       goto yy650;
 -                      if (yych <= '9') goto yy828;
++                      if (yych <= '9') goto yy853;
+                       if (yych <= 'G') goto yy55;
+                       goto yy81;
                }
        } else {
-               if (yych <= 'd') {
-                       if (yych <= 'Z') goto yy638;
-                       if (yych <= '`') goto yy18;
-                       goto yy638;
+               if (yych <= 'g') {
+                       if (yych == 'U') goto yy82;
+                       goto yy55;
                } else {
-                       if (yych <= 'e') goto yy650;
-                       if (yych <= 'z') goto yy638;
-                       goto yy18;
+                       if (yych <= 'h') goto yy81;
+                       if (yych == 'u') goto yy82;
+                       goto yy55;
                }
        }
- yy469:
-       YYDEBUG(469, *YYCURSOR);
-       yyaccept = 2;
-       yych = *(YYMARKER = ++YYCURSOR);
-       if (yych <= 'S') {
-               if (yych <= '-') {
-                       if (yych == ')') goto yy108;
-                       if (yych <= ',') goto yy18;
-                       goto yy283;
-               } else {
-                       if (yych == '/') goto yy283;
-                       if (yych <= '@') goto yy18;
-                       goto yy638;
-               }
 -      YYDEBUG(826, *YYCURSOR);
++      YYDEBUG(851, *YYCURSOR);
+       yych = *++YYCURSOR;
+       if (yych <= '/') goto yy55;
 -      if (yych <= '5') goto yy833;
 -      if (yych <= '9') goto yy828;
++      if (yych <= '5') goto yy858;
++      if (yych <= '9') goto yy853;
+       goto yy55;
 -yy827:
 -      YYDEBUG(827, *YYCURSOR);
++yy852:
++      YYDEBUG(852, *YYCURSOR);
+       yych = *++YYCURSOR;
+       if (yych <= '/') goto yy55;
 -      if (yych <= '4') goto yy833;
 -      if (yych <= '5') goto yy829;
++      if (yych <= '4') goto yy858;
++      if (yych <= '5') goto yy854;
+       goto yy55;
 -yy828:
 -      YYDEBUG(828, *YYCURSOR);
++yy853:
++      YYDEBUG(853, *YYCURSOR);
+       yych = *++YYCURSOR;
+       if (yych <= '/') goto yy55;
+       if (yych >= '6') goto yy55;
 -yy829:
 -      YYDEBUG(829, *YYCURSOR);
++yy854:
++      YYDEBUG(854, *YYCURSOR);
+       yych = *++YYCURSOR;
+       if (yych <= '/') goto yy55;
+       if (yych >= ':') goto yy55;
 -yy830:
 -      YYDEBUG(830, *YYCURSOR);
++yy855:
++      YYDEBUG(855, *YYCURSOR);
+       yych = *++YYCURSOR;
+       if (yych <= '/') goto yy55;
 -      if (yych <= '5') goto yy831;
 -      if (yych <= '6') goto yy832;
++      if (yych <= '5') goto yy856;
++      if (yych <= '6') goto yy857;
+       goto yy55;
 -yy831:
 -      YYDEBUG(831, *YYCURSOR);
++yy856:
++      YYDEBUG(856, *YYCURSOR);
+       yych = *++YYCURSOR;
+       if (yych <= '/') goto yy55;
 -      if (yych <= '9') goto yy816;
++      if (yych <= '9') goto yy841;
+       goto yy55;
 -yy832:
 -      YYDEBUG(832, *YYCURSOR);
++yy857:
++      YYDEBUG(857, *YYCURSOR);
+       yych = *++YYCURSOR;
 -      if (yych == '0') goto yy816;
++      if (yych == '0') goto yy841;
+       goto yy55;
 -yy833:
 -      YYDEBUG(833, *YYCURSOR);
++yy858:
++      YYDEBUG(858, *YYCURSOR);
+       yych = *++YYCURSOR;
+       if (yych <= '/') goto yy55;
 -      if (yych <= '5') goto yy834;
 -      if (yych <= '9') goto yy830;
++      if (yych <= '5') goto yy859;
++      if (yych <= '9') goto yy855;
+       goto yy55;
 -yy834:
 -      YYDEBUG(834, *YYCURSOR);
++yy859:
++      YYDEBUG(859, *YYCURSOR);
+       yych = *++YYCURSOR;
+       if (yych <= '/') goto yy55;
 -      if (yych <= '5') goto yy835;
 -      if (yych <= '6') goto yy836;
 -      if (yych <= '9') goto yy830;
++      if (yych <= '5') goto yy860;
++      if (yych <= '6') goto yy861;
++      if (yych <= '9') goto yy855;
+       goto yy55;
 -yy835:
 -      YYDEBUG(835, *YYCURSOR);
++yy860:
++      YYDEBUG(860, *YYCURSOR);
+       yych = *++YYCURSOR;
+       if (yych <= '/') goto yy55;
 -      if (yych <= '5') goto yy837;
 -      if (yych <= '6') goto yy838;
 -      if (yych <= '9') goto yy816;
++      if (yych <= '5') goto yy862;
++      if (yych <= '6') goto yy863;
++      if (yych <= '9') goto yy841;
+       goto yy55;
 -yy836:
 -      YYDEBUG(836, *YYCURSOR);
++yy861:
++      YYDEBUG(861, *YYCURSOR);
+       yych = *++YYCURSOR;
+       if (yych <= '/') goto yy55;
 -      if (yych <= '0') goto yy837;
 -      if (yych <= '5') goto yy831;
 -      if (yych <= '6') goto yy832;
++      if (yych <= '0') goto yy862;
++      if (yych <= '5') goto yy856;
++      if (yych <= '6') goto yy857;
+       goto yy55;
 -yy837:
 -      YYDEBUG(837, *YYCURSOR);
++yy862:
++      YYDEBUG(862, *YYCURSOR);
+       yych = *++YYCURSOR;
 -      if (yych <= '/') goto yy817;
 -      if (yych <= '9') goto yy816;
 -      goto yy817;
 -yy838:
 -      YYDEBUG(838, *YYCURSOR);
++      if (yych <= '/') goto yy842;
++      if (yych <= '9') goto yy841;
++      goto yy842;
++yy863:
++      YYDEBUG(863, *YYCURSOR);
+       yych = *++YYCURSOR;
 -      if (yych == '0') goto yy816;
 -      goto yy817;
 -yy839:
 -      YYDEBUG(839, *YYCURSOR);
++      if (yych == '0') goto yy841;
++      goto yy842;
++yy864:
++      YYDEBUG(864, *YYCURSOR);
+       yych = *++YYCURSOR;
+       if (yych <= '/') goto yy55;
 -      if (yych <= '5') goto yy848;
 -      if (yych <= '9') goto yy841;
 -      if (yych <= ':') goto yy842;
++      if (yych <= '5') goto yy873;
++      if (yych <= '9') goto yy866;
++      if (yych <= ':') goto yy867;
+       goto yy55;
 -yy840:
 -      YYDEBUG(840, *YYCURSOR);
++yy865:
++      YYDEBUG(865, *YYCURSOR);
+       yych = *++YYCURSOR;
+       if (yych <= '5') {
+               if (yych <= '/') goto yy55;
 -              if (yych <= '4') goto yy848;
 -              goto yy829;
++              if (yych <= '4') goto yy873;
++              goto yy854;
        } else {
-               if (yych <= '_') {
-                       if (yych <= 'T') goto yy649;
-                       if (yych <= 'Z') goto yy638;
-                       if (yych <= '^') goto yy18;
-                       goto yy283;
-               } else {
-                       if (yych <= 's') {
-                               if (yych <= '`') goto yy18;
-                               goto yy643;
-                       } else {
-                               if (yych <= 't') goto yy651;
-                               if (yych <= 'z') goto yy643;
-                               goto yy18;
-                       }
-               }
 -              if (yych == ':') goto yy842;
++              if (yych == ':') goto yy867;
+               goto yy55;
        }
- yy470:
-       YYDEBUG(470, *YYCURSOR);
-       yyaccept = 2;
-       yych = *(YYMARKER = ++YYCURSOR);
-       if (yych <= 'D') {
-               if (yych <= '-') {
-                       if (yych == ')') goto yy108;
-                       if (yych <= ',') goto yy18;
-                       goto yy283;
-               } else {
-                       if (yych == '/') goto yy283;
-                       if (yych <= '@') goto yy18;
-                       goto yy638;
-               }
 -yy841:
 -      YYDEBUG(841, *YYCURSOR);
++yy866:
++      YYDEBUG(866, *YYCURSOR);
+       yych = *++YYCURSOR;
+       if (yych <= '/') goto yy55;
 -      if (yych <= '5') goto yy829;
++      if (yych <= '5') goto yy854;
+       if (yych != ':') goto yy55;
 -yy842:
 -      YYDEBUG(842, *YYCURSOR);
++yy867:
++      YYDEBUG(867, *YYCURSOR);
+       yych = *++YYCURSOR;
+       if (yych <= '/') goto yy55;
+       if (yych >= '6') goto yy55;
 -      YYDEBUG(843, *YYCURSOR);
++      YYDEBUG(868, *YYCURSOR);
+       yych = *++YYCURSOR;
+       if (yych <= '/') goto yy55;
+       if (yych >= ':') goto yy55;
 -      YYDEBUG(844, *YYCURSOR);
++      YYDEBUG(869, *YYCURSOR);
+       yych = *++YYCURSOR;
+       if (yych != ':') goto yy55;
 -      YYDEBUG(845, *YYCURSOR);
++      YYDEBUG(870, *YYCURSOR);
+       yych = *++YYCURSOR;
+       if (yych <= '/') goto yy55;
 -      if (yych <= '5') goto yy846;
 -      if (yych <= '6') goto yy847;
++      if (yych <= '5') goto yy871;
++      if (yych <= '6') goto yy872;
+       goto yy55;
 -yy846:
 -      YYDEBUG(846, *YYCURSOR);
++yy871:
++      YYDEBUG(871, *YYCURSOR);
+       yych = *++YYCURSOR;
+       if (yych <= '/') goto yy55;
 -      if (yych <= '9') goto yy816;
++      if (yych <= '9') goto yy841;
+       goto yy55;
 -yy847:
 -      YYDEBUG(847, *YYCURSOR);
++yy872:
++      YYDEBUG(872, *YYCURSOR);
+       yych = *++YYCURSOR;
 -      if (yych == '0') goto yy816;
++      if (yych == '0') goto yy841;
+       goto yy55;
 -yy848:
 -      YYDEBUG(848, *YYCURSOR);
++yy873:
++      YYDEBUG(873, *YYCURSOR);
+       yych = *++YYCURSOR;
+       if (yych <= '/') goto yy55;
 -      if (yych <= '5') goto yy834;
 -      if (yych <= '9') goto yy830;
 -      if (yych <= ':') goto yy842;
++      if (yych <= '5') goto yy859;
++      if (yych <= '9') goto yy855;
++      if (yych <= ':') goto yy867;
+       goto yy55;
 -yy849:
 -      YYDEBUG(849, *YYCURSOR);
++yy874:
++      YYDEBUG(874, *YYCURSOR);
+       yych = *++YYCURSOR;
+       if (yych <= '2') {
+               if (yych <= '/') goto yy59;
 -              if (yych <= '0') goto yy851;
 -              goto yy820;
++              if (yych <= '0') goto yy876;
++              goto yy845;
        } else {
-               if (yych <= '_') {
-                       if (yych <= 'E') goto yy650;
-                       if (yych <= 'Z') goto yy638;
-                       if (yych <= '^') goto yy18;
-                       goto yy283;
-               } else {
-                       if (yych <= 'd') {
-                               if (yych <= '`') goto yy18;
-                               goto yy643;
-                       } else {
-                               if (yych <= 'e') goto yy652;
-                               if (yych <= 'z') goto yy643;
-                               goto yy18;
-                       }
-               }
 -              if (yych <= '3') goto yy821;
 -              if (yych <= '9') goto yy795;
++              if (yych <= '3') goto yy846;
++              if (yych <= '9') goto yy820;
+               goto yy59;
        }
- yy471:
-       YYDEBUG(471, *YYCURSOR);
 -yy850:
 -      YYDEBUG(850, *YYCURSOR);
++yy875:
++      YYDEBUG(875, *YYCURSOR);
+       yych = *++YYCURSOR;
+       if (yych <= '2') {
+               if (yych <= '/') goto yy59;
 -              if (yych <= '0') goto yy819;
 -              goto yy820;
++              if (yych <= '0') goto yy844;
++              goto yy845;
+       } else {
 -              if (yych <= '3') goto yy821;
 -              if (yych <= '9') goto yy795;
++              if (yych <= '3') goto yy846;
++              if (yych <= '9') goto yy820;
+               goto yy59;
+       }
 -yy851:
 -      YYDEBUG(851, *YYCURSOR);
++yy876:
++      YYDEBUG(876, *YYCURSOR);
+       yych = *++YYCURSOR;
+       if (yych <= '/') goto yy59;
 -      if (yych <= '9') goto yy822;
++      if (yych <= '9') goto yy847;
+       goto yy59;
 -yy852:
 -      YYDEBUG(852, *YYCURSOR);
++yy877:
++      YYDEBUG(877, *YYCURSOR);
+       yych = *++YYCURSOR;
 -      if (yych == 'C') goto yy853;
++      if (yych == 'C') goto yy878;
+       if (yych != 'c') goto yy55;
 -yy853:
 -      YYDEBUG(853, *YYCURSOR);
++yy878:
++      YYDEBUG(878, *YYCURSOR);
+       yyaccept = 19;
+       yych = *(YYMARKER = ++YYCURSOR);
 -      if (yych == 'E') goto yy854;
 -      if (yych != 'e') goto yy768;
 -yy854:
 -      YYDEBUG(854, *YYCURSOR);
++      if (yych == 'E') goto yy879;
++      if (yych != 'e') goto yy793;
++yy879:
++      YYDEBUG(879, *YYCURSOR);
+       yych = *++YYCURSOR;
 -      if (yych == 'M') goto yy855;
++      if (yych == 'M') goto yy880;
+       if (yych != 'm') goto yy55;
 -yy855:
 -      YYDEBUG(855, *YYCURSOR);
++yy880:
++      YYDEBUG(880, *YYCURSOR);
+       yych = *++YYCURSOR;
 -      if (yych == 'B') goto yy856;
++      if (yych == 'B') goto yy881;
+       if (yych != 'b') goto yy55;
 -yy856:
 -      YYDEBUG(856, *YYCURSOR);
++yy881:
++      YYDEBUG(881, *YYCURSOR);
+       yych = *++YYCURSOR;
 -      if (yych == 'E') goto yy857;
++      if (yych == 'E') goto yy882;
+       if (yych != 'e') goto yy55;
 -yy857:
 -      YYDEBUG(857, *YYCURSOR);
++yy882:
++      YYDEBUG(882, *YYCURSOR);
+       yych = *++YYCURSOR;
 -      if (yych == 'R') goto yy858;
++      if (yych == 'R') goto yy883;
+       if (yych != 'r') goto yy55;
 -yy858:
 -      YYDEBUG(858, *YYCURSOR);
++yy883:
++      YYDEBUG(883, *YYCURSOR);
+       yych = *++YYCURSOR;
 -      goto yy768;
 -yy859:
 -      YYDEBUG(859, *YYCURSOR);
++      goto yy793;
++yy884:
++      YYDEBUG(884, *YYCURSOR);
+       yych = *++YYCURSOR;
 -      if (yych == 'V') goto yy860;
++      if (yych == 'V') goto yy885;
+       if (yych != 'v') goto yy55;
 -yy860:
 -      YYDEBUG(860, *YYCURSOR);
++yy885:
++      YYDEBUG(885, *YYCURSOR);
+       yyaccept = 19;
+       yych = *(YYMARKER = ++YYCURSOR);
 -      if (yych == 'E') goto yy861;
 -      if (yych != 'e') goto yy768;
 -yy861:
 -      YYDEBUG(861, *YYCURSOR);
++      if (yych == 'E') goto yy886;
++      if (yych != 'e') goto yy793;
++yy886:
++      YYDEBUG(886, *YYCURSOR);
+       yych = *++YYCURSOR;
 -      if (yych == 'M') goto yy862;
++      if (yych == 'M') goto yy887;
+       if (yych != 'm') goto yy55;
 -yy862:
 -      YYDEBUG(862, *YYCURSOR);
++yy887:
++      YYDEBUG(887, *YYCURSOR);
+       yych = *++YYCURSOR;
 -      if (yych == 'B') goto yy863;
++      if (yych == 'B') goto yy888;
+       if (yych != 'b') goto yy55;
 -yy863:
 -      YYDEBUG(863, *YYCURSOR);
++yy888:
++      YYDEBUG(888, *YYCURSOR);
+       yych = *++YYCURSOR;
 -      if (yych == 'E') goto yy864;
++      if (yych == 'E') goto yy889;
+       if (yych != 'e') goto yy55;
 -yy864:
 -      YYDEBUG(864, *YYCURSOR);
++yy889:
++      YYDEBUG(889, *YYCURSOR);
+       yych = *++YYCURSOR;
 -      if (yych == 'R') goto yy858;
 -      if (yych == 'r') goto yy858;
++      if (yych == 'R') goto yy883;
++      if (yych == 'r') goto yy883;
+       goto yy55;
 -yy865:
 -      YYDEBUG(865, *YYCURSOR);
++yy890:
++      YYDEBUG(890, *YYCURSOR);
+       yych = *++YYCURSOR;
 -      if (yych == 'T') goto yy866;
++      if (yych == 'T') goto yy891;
+       if (yych != 't') goto yy55;
 -yy866:
 -      YYDEBUG(866, *YYCURSOR);
++yy891:
++      YYDEBUG(891, *YYCURSOR);
+       yyaccept = 19;
+       yych = *(YYMARKER = ++YYCURSOR);
 -      if (yych == 'O') goto yy867;
 -      if (yych != 'o') goto yy768;
 -yy867:
 -      YYDEBUG(867, *YYCURSOR);
++      if (yych == 'O') goto yy892;
++      if (yych != 'o') goto yy793;
++yy892:
++      YYDEBUG(892, *YYCURSOR);
+       yych = *++YYCURSOR;
 -      if (yych == 'B') goto yy868;
++      if (yych == 'B') goto yy893;
+       if (yych != 'b') goto yy55;
 -yy868:
 -      YYDEBUG(868, *YYCURSOR);
++yy893:
++      YYDEBUG(893, *YYCURSOR);
+       yych = *++YYCURSOR;
 -      if (yych == 'E') goto yy869;
++      if (yych == 'E') goto yy894;
+       if (yych != 'e') goto yy55;
 -yy869:
 -      YYDEBUG(869, *YYCURSOR);
++yy894:
++      YYDEBUG(894, *YYCURSOR);
+       yych = *++YYCURSOR;
 -      if (yych == 'R') goto yy858;
 -      if (yych == 'r') goto yy858;
++      if (yych == 'R') goto yy883;
++      if (yych == 'r') goto yy883;
+       goto yy55;
 -yy870:
 -      YYDEBUG(870, *YYCURSOR);
++yy895:
++      YYDEBUG(895, *YYCURSOR);
        yych = *++YYCURSOR;
-       if (yych <= 'U') {
-               if (yych <= ')') {
-                       if (yych <= '(') goto yy18;
-                       goto yy108;
-               } else {
-                       if (yych <= '@') goto yy18;
-                       if (yych <= 'T') goto yy638;
-                       goto yy653;
-               }
+       if (yych <= 'P') {
+               if (yych == 'C') goto yy131;
+               if (yych <= 'O') goto yy55;
        } else {
-               if (yych <= 't') {
-                       if (yych <= 'Z') goto yy638;
-                       if (yych <= '`') goto yy18;
-                       goto yy638;
+               if (yych <= 'c') {
+                       if (yych <= 'b') goto yy55;
+                       goto yy131;
                } else {
-                       if (yych <= 'u') goto yy653;
-                       if (yych <= 'z') goto yy638;
-                       goto yy18;
+                       if (yych != 'p') goto yy55;
                }
        }
- yy472:
-       YYDEBUG(472, *YYCURSOR);
 -yy871:
 -      YYDEBUG(871, *YYCURSOR);
++yy896:
++      YYDEBUG(896, *YYCURSOR);
        yych = *++YYCURSOR;
-       if (yych <= 'H') {
-               if (yych <= ')') {
-                       if (yych <= '(') goto yy18;
-                       goto yy108;
-               } else {
-                       if (yych <= '@') goto yy18;
-                       if (yych <= 'G') goto yy638;
-                       goto yy654;
-               }
-       } else {
-               if (yych <= 'g') {
-                       if (yych <= 'Z') goto yy638;
-                       if (yych <= '`') goto yy18;
-                       goto yy638;
-               } else {
-                       if (yych <= 'h') goto yy654;
-                       if (yych <= 'z') goto yy638;
-                       goto yy18;
-               }
-       }
- yy473:
-       YYDEBUG(473, *YYCURSOR);
 -      if (yych == 'T') goto yy872;
 -      if (yych != 't') goto yy768;
 -yy872:
 -      YYDEBUG(872, *YYCURSOR);
++      if (yych == 'T') goto yy897;
++      if (yych != 't') goto yy793;
++yy897:
++      YYDEBUG(897, *YYCURSOR);
+       yyaccept = 19;
+       yych = *(YYMARKER = ++YYCURSOR);
 -      if (yych == 'E') goto yy873;
 -      if (yych != 'e') goto yy768;
 -yy873:
 -      YYDEBUG(873, *YYCURSOR);
++      if (yych == 'E') goto yy898;
++      if (yych != 'e') goto yy793;
++yy898:
++      YYDEBUG(898, *YYCURSOR);
        yych = *++YYCURSOR;
-       if (yych <= 'T') {
-               if (yych <= ')') {
-                       if (yych <= '(') goto yy18;
-                       goto yy108;
-               } else {
-                       if (yych <= '@') goto yy18;
-                       if (yych <= 'S') goto yy638;
-                       goto yy655;
-               }
-       } else {
-               if (yych <= 's') {
-                       if (yych <= 'Z') goto yy638;
-                       if (yych <= '`') goto yy18;
-                       goto yy638;
-               } else {
-                       if (yych <= 't') goto yy655;
-                       if (yych <= 'z') goto yy638;
-                       goto yy18;
-               }
-       }
- yy474:
-       YYDEBUG(474, *YYCURSOR);
 -      if (yych == 'M') goto yy874;
++      if (yych == 'M') goto yy899;
+       if (yych != 'm') goto yy55;
 -yy874:
 -      YYDEBUG(874, *YYCURSOR);
++yy899:
++      YYDEBUG(899, *YYCURSOR);
        yych = *++YYCURSOR;
-       if (yych <= 'T') {
-               if (yych <= ')') {
-                       if (yych <= '(') goto yy18;
-                       goto yy108;
-               } else {
-                       if (yych <= '@') goto yy18;
-                       if (yych <= 'S') goto yy638;
-                       goto yy656;
-               }
-       } else {
-               if (yych <= 's') {
-                       if (yych <= 'Z') goto yy638;
-                       if (yych <= '`') goto yy18;
-                       goto yy638;
-               } else {
-                       if (yych <= 't') goto yy656;
-                       if (yych <= 'z') goto yy638;
-                       goto yy18;
-               }
-       }
- yy475:
-       YYDEBUG(475, *YYCURSOR);
 -      if (yych == 'B') goto yy875;
++      if (yych == 'B') goto yy900;
+       if (yych != 'b') goto yy55;
 -yy875:
 -      YYDEBUG(875, *YYCURSOR);
++yy900:
++      YYDEBUG(900, *YYCURSOR);
        yych = *++YYCURSOR;
-       if (yych <= 'A') {
-               if (yych == ')') goto yy108;
-               if (yych <= '@') goto yy18;
-               goto yy657;
-       } else {
-               if (yych <= '`') {
-                       if (yych <= 'Z') goto yy638;
-                       goto yy18;
-               } else {
-                       if (yych <= 'a') goto yy657;
-                       if (yych <= 'z') goto yy638;
-                       goto yy18;
-               }
-       }
- yy476:
-       YYDEBUG(476, *YYCURSOR);
 -      if (yych == 'E') goto yy876;
++      if (yych == 'E') goto yy901;
+       if (yych != 'e') goto yy55;
 -yy876:
 -      YYDEBUG(876, *YYCURSOR);
++yy901:
++      YYDEBUG(901, *YYCURSOR);
        yych = *++YYCURSOR;
-       if (yych <= 'T') {
-               if (yych <= ')') {
-                       if (yych <= '(') goto yy18;
-                       goto yy108;
-               } else {
-                       if (yych <= '@') goto yy18;
-                       if (yych <= 'S') goto yy638;
-                       goto yy658;
-               }
-       } else {
-               if (yych <= 's') {
-                       if (yych <= 'Z') goto yy638;
-                       if (yych <= '`') goto yy18;
-                       goto yy638;
-               } else {
-                       if (yych <= 't') goto yy658;
-                       if (yych <= 'z') goto yy638;
-                       goto yy18;
-               }
-       }
- yy477:
-       YYDEBUG(477, *YYCURSOR);
-       yyaccept = 2;
 -      if (yych == 'R') goto yy858;
 -      if (yych == 'r') goto yy858;
++      if (yych == 'R') goto yy883;
++      if (yych == 'r') goto yy883;
+       goto yy55;
 -yy877:
 -      YYDEBUG(877, *YYCURSOR);
++yy902:
++      YYDEBUG(902, *YYCURSOR);
+       yych = *++YYCURSOR;
 -      if (yych == 'G') goto yy881;
 -      if (yych == 'g') goto yy881;
++      if (yych == 'G') goto yy906;
++      if (yych == 'g') goto yy906;
+       goto yy55;
 -yy878:
 -      YYDEBUG(878, *YYCURSOR);
++yy903:
++      YYDEBUG(903, *YYCURSOR);
+       yych = *++YYCURSOR;
 -      if (yych == 'R') goto yy879;
++      if (yych == 'R') goto yy904;
+       if (yych != 'r') goto yy55;
 -yy879:
 -      YYDEBUG(879, *YYCURSOR);
++yy904:
++      YYDEBUG(904, *YYCURSOR);
+       yyaccept = 19;
        yych = *(YYMARKER = ++YYCURSOR);
-       if (yych <= 'T') {
-               if (yych <= '-') {
-                       if (yych == ')') goto yy108;
-                       if (yych <= ',') goto yy18;
-                       goto yy283;
-               } else {
-                       if (yych == '/') goto yy283;
-                       if (yych <= '@') goto yy18;
-                       goto yy638;
-               }
 -      if (yych == 'I') goto yy880;
 -      if (yych != 'i') goto yy768;
 -yy880:
 -      YYDEBUG(880, *YYCURSOR);
++      if (yych == 'I') goto yy905;
++      if (yych != 'i') goto yy793;
++yy905:
++      YYDEBUG(905, *YYCURSOR);
+       yych = *++YYCURSOR;
 -      if (yych == 'L') goto yy858;
 -      if (yych == 'l') goto yy858;
++      if (yych == 'L') goto yy883;
++      if (yych == 'l') goto yy883;
+       goto yy55;
 -yy881:
 -      YYDEBUG(881, *YYCURSOR);
++yy906:
++      YYDEBUG(906, *YYCURSOR);
+       yyaccept = 19;
+       yych = *(YYMARKER = ++YYCURSOR);
 -      if (yych == 'U') goto yy882;
 -      if (yych != 'u') goto yy768;
 -yy882:
 -      YYDEBUG(882, *YYCURSOR);
++      if (yych == 'U') goto yy907;
++      if (yych != 'u') goto yy793;
++yy907:
++      YYDEBUG(907, *YYCURSOR);
+       yych = *++YYCURSOR;
 -      if (yych == 'S') goto yy883;
++      if (yych == 'S') goto yy908;
+       if (yych != 's') goto yy55;
 -yy883:
 -      YYDEBUG(883, *YYCURSOR);
++yy908:
++      YYDEBUG(908, *YYCURSOR);
+       yych = *++YYCURSOR;
 -      if (yych == 'T') goto yy858;
 -      if (yych == 't') goto yy858;
++      if (yych == 'T') goto yy883;
++      if (yych == 't') goto yy883;
+       goto yy55;
 -yy884:
 -      YYDEBUG(884, *YYCURSOR);
++yy909:
++      YYDEBUG(909, *YYCURSOR);
+       yych = *++YYCURSOR;
+       if (yych <= 'Y') {
 -              if (yych == 'R') goto yy885;
++              if (yych == 'R') goto yy910;
+               if (yych <= 'X') goto yy55;
 -              goto yy858;
++              goto yy883;
        } else {
-               if (yych <= '_') {
-                       if (yych <= 'U') goto yy653;
-                       if (yych <= 'Z') goto yy638;
-                       if (yych <= '^') goto yy18;
-                       goto yy283;
+               if (yych <= 'r') {
+                       if (yych <= 'q') goto yy55;
                } else {
-                       if (yych <= 't') {
-                               if (yych <= '`') goto yy18;
-                               goto yy643;
-                       } else {
-                               if (yych <= 'u') goto yy659;
-                               if (yych <= 'z') goto yy643;
-                               goto yy18;
-                       }
 -                      if (yych == 'y') goto yy858;
++                      if (yych == 'y') goto yy883;
+                       goto yy55;
                }
        }
- yy478:
-       YYDEBUG(478, *YYCURSOR);
-       yyaccept = 2;
 -yy885:
 -      YYDEBUG(885, *YYCURSOR);
++yy910:
++      YYDEBUG(910, *YYCURSOR);
+       yyaccept = 19;
        yych = *(YYMARKER = ++YYCURSOR);
-       if (yych <= 'G') {
-               if (yych <= '-') {
-                       if (yych == ')') goto yy108;
-                       if (yych <= ',') goto yy18;
-                       goto yy283;
-               } else {
-                       if (yych == '/') goto yy283;
-                       if (yych <= '@') goto yy18;
-                       goto yy638;
-               }
 -      if (yych == 'C') goto yy886;
 -      if (yych != 'c') goto yy768;
 -yy886:
 -      YYDEBUG(886, *YYCURSOR);
++      if (yych == 'C') goto yy911;
++      if (yych != 'c') goto yy793;
++yy911:
++      YYDEBUG(911, *YYCURSOR);
+       yych = *++YYCURSOR;
 -      if (yych == 'H') goto yy858;
 -      if (yych == 'h') goto yy858;
++      if (yych == 'H') goto yy883;
++      if (yych == 'h') goto yy883;
+       goto yy55;
 -yy887:
 -      YYDEBUG(887, *YYCURSOR);
++yy912:
++      YYDEBUG(912, *YYCURSOR);
+       yych = *++YYCURSOR;
 -      if (yych == 'B') goto yy888;
++      if (yych == 'B') goto yy913;
+       if (yych != 'b') goto yy55;
 -yy888:
 -      YYDEBUG(888, *YYCURSOR);
++yy913:
++      YYDEBUG(913, *YYCURSOR);
+       yyaccept = 19;
+       yych = *(YYMARKER = ++YYCURSOR);
 -      if (yych == 'R') goto yy889;
 -      if (yych != 'r') goto yy768;
 -yy889:
 -      YYDEBUG(889, *YYCURSOR);
++      if (yych == 'R') goto yy914;
++      if (yych != 'r') goto yy793;
++yy914:
++      YYDEBUG(914, *YYCURSOR);
+       yych = *++YYCURSOR;
 -      if (yych == 'U') goto yy890;
++      if (yych == 'U') goto yy915;
+       if (yych != 'u') goto yy55;
 -yy890:
 -      YYDEBUG(890, *YYCURSOR);
++yy915:
++      YYDEBUG(915, *YYCURSOR);
+       yych = *++YYCURSOR;
 -      if (yych == 'A') goto yy891;
++      if (yych == 'A') goto yy916;
+       if (yych != 'a') goto yy55;
 -yy891:
 -      YYDEBUG(891, *YYCURSOR);
++yy916:
++      YYDEBUG(916, *YYCURSOR);
+       yych = *++YYCURSOR;
 -      if (yych == 'R') goto yy892;
++      if (yych == 'R') goto yy917;
+       if (yych != 'r') goto yy55;
 -yy892:
 -      YYDEBUG(892, *YYCURSOR);
++yy917:
++      YYDEBUG(917, *YYCURSOR);
+       yych = *++YYCURSOR;
 -      if (yych == 'Y') goto yy858;
 -      if (yych == 'y') goto yy858;
++      if (yych == 'Y') goto yy883;
++      if (yych == 'y') goto yy883;
+       goto yy55;
 -yy893:
 -      YYDEBUG(893, *YYCURSOR);
++yy918:
++      YYDEBUG(918, *YYCURSOR);
+       yych = *++YYCURSOR;
+       if (yych <= 'N') {
 -              if (yych == 'L') goto yy900;
++              if (yych == 'L') goto yy925;
+               if (yych <= 'M') goto yy55;
 -              goto yy899;
++              goto yy924;
        } else {
-               if (yych <= '_') {
-                       if (yych <= 'H') goto yy654;
-                       if (yych <= 'Z') goto yy638;
-                       if (yych <= '^') goto yy18;
-                       goto yy283;
+               if (yych <= 'l') {
+                       if (yych <= 'k') goto yy55;
 -                      goto yy900;
++                      goto yy925;
                } else {
-                       if (yych <= 'g') {
-                               if (yych <= '`') goto yy18;
-                               goto yy643;
-                       } else {
-                               if (yych <= 'h') goto yy660;
-                               if (yych <= 'z') goto yy643;
-                               goto yy18;
-                       }
 -                      if (yych == 'n') goto yy899;
++                      if (yych == 'n') goto yy924;
+                       goto yy55;
                }
        }
- yy479:
-       YYDEBUG(479, *YYCURSOR);
-       yyaccept = 2;
 -yy894:
 -      YYDEBUG(894, *YYCURSOR);
++yy919:
++      YYDEBUG(919, *YYCURSOR);
+       yych = *++YYCURSOR;
 -      if (yych == 'N') goto yy895;
++      if (yych == 'N') goto yy920;
+       if (yych != 'n') goto yy55;
 -yy895:
 -      YYDEBUG(895, *YYCURSOR);
++yy920:
++      YYDEBUG(920, *YYCURSOR);
+       yyaccept = 19;
        yych = *(YYMARKER = ++YYCURSOR);
-       if (yych <= 'S') {
-               if (yych <= '-') {
-                       if (yych == ')') goto yy108;
-                       if (yych <= ',') goto yy18;
-                       goto yy283;
-               } else {
-                       if (yych == '/') goto yy283;
-                       if (yych <= '@') goto yy18;
-                       goto yy638;
-               }
-       } else {
-               if (yych <= '_') {
-                       if (yych <= 'T') goto yy655;
-                       if (yych <= 'Z') goto yy638;
-                       if (yych <= '^') goto yy18;
-                       goto yy283;
-               } else {
-                       if (yych <= 's') {
-                               if (yych <= '`') goto yy18;
-                               goto yy643;
-                       } else {
-                               if (yych <= 't') goto yy661;
-                               if (yych <= 'z') goto yy643;
-                               goto yy18;
-                       }
-               }
 -      if (yych == 'U') goto yy896;
 -      if (yych != 'u') goto yy768;
 -yy896:
 -      YYDEBUG(896, *YYCURSOR);
++      if (yych == 'U') goto yy921;
++      if (yych != 'u') goto yy793;
++yy921:
++      YYDEBUG(921, *YYCURSOR);
+       yych = *++YYCURSOR;
 -      if (yych == 'A') goto yy897;
++      if (yych == 'A') goto yy922;
+       if (yych != 'a') goto yy55;
 -yy897:
 -      YYDEBUG(897, *YYCURSOR);
++yy922:
++      YYDEBUG(922, *YYCURSOR);
+       yych = *++YYCURSOR;
 -      if (yych == 'R') goto yy898;
++      if (yych == 'R') goto yy923;
+       if (yych != 'r') goto yy55;
 -yy898:
 -      YYDEBUG(898, *YYCURSOR);
++yy923:
++      YYDEBUG(923, *YYCURSOR);
+       yych = *++YYCURSOR;
 -      if (yych == 'Y') goto yy858;
 -      if (yych == 'y') goto yy858;
++      if (yych == 'Y') goto yy883;
++      if (yych == 'y') goto yy883;
+       goto yy55;
 -yy899:
 -      YYDEBUG(899, *YYCURSOR);
++yy924:
++      YYDEBUG(924, *YYCURSOR);
+       yych = *++YYCURSOR;
 -      if (yych == 'E') goto yy858;
 -      if (yych == 'e') goto yy858;
 -      goto yy768;
 -yy900:
 -      YYDEBUG(900, *YYCURSOR);
++      if (yych == 'E') goto yy883;
++      if (yych == 'e') goto yy883;
++      goto yy793;
++yy925:
++      YYDEBUG(925, *YYCURSOR);
+       yych = *++YYCURSOR;
 -      if (yych == 'Y') goto yy858;
 -      if (yych == 'y') goto yy858;
 -      goto yy768;
 -yy901:
 -      YYDEBUG(901, *YYCURSOR);
++      if (yych == 'Y') goto yy883;
++      if (yych == 'y') goto yy883;
++      goto yy793;
++yy926:
++      YYDEBUG(926, *YYCURSOR);
+       yych = *++YYCURSOR;
 -      if (yych == 'I') goto yy858;
 -      goto yy768;
 -yy902:
 -      YYDEBUG(902, *YYCURSOR);
++      if (yych == 'I') goto yy883;
++      goto yy793;
++yy927:
++      YYDEBUG(927, *YYCURSOR);
+       yych = *++YYCURSOR;
 -      if (yych != 'I') goto yy768;
 -      YYDEBUG(903, *YYCURSOR);
++      if (yych != 'I') goto yy793;
++      YYDEBUG(928, *YYCURSOR);
+       yych = *++YYCURSOR;
 -      if (yych == 'I') goto yy858;
 -      goto yy768;
 -yy904:
 -      YYDEBUG(904, *YYCURSOR);
++      if (yych == 'I') goto yy883;
++      goto yy793;
++yy929:
++      YYDEBUG(929, *YYCURSOR);
+       yych = *++YYCURSOR;
 -      if (yych == 'I') goto yy858;
 -      goto yy768;
 -yy905:
 -      YYDEBUG(905, *YYCURSOR);
++      if (yych == 'I') goto yy883;
++      goto yy793;
++yy930:
++      YYDEBUG(930, *YYCURSOR);
+       yych = *++YYCURSOR;
+       if (yych <= '/') goto yy55;
 -      if (yych <= '0') goto yy920;
 -      if (yych <= '9') goto yy919;
++      if (yych <= '0') goto yy945;
++      if (yych <= '9') goto yy944;
+       goto yy55;
 -yy906:
 -      YYDEBUG(906, *YYCURSOR);
++yy931:
++      YYDEBUG(931, *YYCURSOR);
+       yych = *++YYCURSOR;
+       if (yych <= '/') goto yy55;
 -      if (yych <= '9') goto yy918;
++      if (yych <= '9') goto yy943;
+       goto yy55;
 -yy907:
 -      YYDEBUG(907, *YYCURSOR);
++yy932:
++      YYDEBUG(932, *YYCURSOR);
+       yych = *++YYCURSOR;
+       if (yych <= '/') goto yy55;
 -      if (yych <= '5') goto yy916;
 -      if (yych <= '6') goto yy915;
++      if (yych <= '5') goto yy941;
++      if (yych <= '6') goto yy940;
+       goto yy55;
 -yy908:
 -      YYDEBUG(908, *YYCURSOR);
++yy933:
++      YYDEBUG(933, *YYCURSOR);
+       yych = *++YYCURSOR;
 -      if (yych == 'E') goto yy887;
 -      if (yych == 'e') goto yy887;
++      if (yych == 'E') goto yy912;
++      if (yych == 'e') goto yy912;
+       goto yy55;
 -yy909:
 -      YYDEBUG(909, *YYCURSOR);
++yy934:
++      YYDEBUG(934, *YYCURSOR);
+       yych = *++YYCURSOR;
 -      if (yych == 'A') goto yy884;
 -      if (yych == 'a') goto yy884;
++      if (yych == 'A') goto yy909;
++      if (yych == 'a') goto yy909;
+       goto yy55;
 -yy910:
 -      YYDEBUG(910, *YYCURSOR);
++yy935:
++      YYDEBUG(935, *YYCURSOR);
+       yych = *++YYCURSOR;
 -      if (yych == 'E') goto yy914;
 -      if (yych == 'e') goto yy914;
++      if (yych == 'E') goto yy939;
++      if (yych == 'e') goto yy939;
+       goto yy55;
 -yy911:
 -      YYDEBUG(911, *YYCURSOR);
++yy936:
++      YYDEBUG(936, *YYCURSOR);
+       yych = *++YYCURSOR;
 -      if (yych == 'E') goto yy852;
 -      if (yych == 'e') goto yy852;
++      if (yych == 'E') goto yy877;
++      if (yych == 'e') goto yy877;
+       goto yy55;
 -yy912:
 -      YYDEBUG(912, *YYCURSOR);
++yy937:
++      YYDEBUG(937, *YYCURSOR);
+       ++YYCURSOR;
+       if ((YYLIMIT - YYCURSOR) < 9) YYFILL(9);
+       yych = *YYCURSOR;
 -yy913:
 -      YYDEBUG(913, *YYCURSOR);
++yy938:
++      YYDEBUG(938, *YYCURSOR);
+       switch (yych) {
+       case '\t':
+       case ' ':
+       case '-':
 -      case '.':       goto yy912;
++      case '.':       goto yy937;
+       case 'A':
 -      case 'a':       goto yy774;
++      case 'a':       goto yy799;
+       case 'D':
 -      case 'd':       goto yy911;
++      case 'd':       goto yy936;
+       case 'F':
 -      case 'f':       goto yy908;
 -      case 'I':       goto yy767;
++      case 'f':       goto yy933;
++      case 'I':       goto yy792;
+       case 'J':
 -      case 'j':       goto yy771;
++      case 'j':       goto yy796;
+       case 'M':
 -      case 'm':       goto yy909;
++      case 'm':       goto yy934;
+       case 'N':
 -      case 'n':       goto yy777;
++      case 'n':       goto yy802;
+       case 'O':
 -      case 'o':       goto yy776;
++      case 'o':       goto yy801;
+       case 'S':
 -      case 's':       goto yy910;
 -      case 'V':       goto yy769;
 -      case 'X':       goto yy770;
++      case 's':       goto yy935;
++      case 'V':       goto yy794;
++      case 'X':       goto yy795;
+       default:        goto yy55;
        }
- yy480:
-       YYDEBUG(480, *YYCURSOR);
-       yyaccept = 2;
 -yy914:
 -      YYDEBUG(914, *YYCURSOR);
++yy939:
++      YYDEBUG(939, *YYCURSOR);
+       yych = *++YYCURSOR;
 -      if (yych == 'P') goto yy871;
 -      if (yych == 'p') goto yy871;
++      if (yych == 'P') goto yy896;
++      if (yych == 'p') goto yy896;
+       goto yy55;
 -yy915:
 -      YYDEBUG(915, *YYCURSOR);
++yy940:
++      YYDEBUG(940, *YYCURSOR);
+       yych = *++YYCURSOR;
+       if (yych <= '/') goto yy55;
 -      if (yych <= '6') goto yy917;
++      if (yych <= '6') goto yy942;
+       goto yy55;
 -yy916:
 -      YYDEBUG(916, *YYCURSOR);
++yy941:
++      YYDEBUG(941, *YYCURSOR);
+       yych = *++YYCURSOR;
+       if (yych <= '/') goto yy55;
+       if (yych >= ':') goto yy55;
 -yy917:
 -      YYDEBUG(917, *YYCURSOR);
++yy942:
++      YYDEBUG(942, *YYCURSOR);
+       yych = *++YYCURSOR;
 -      goto yy796;
 -yy918:
 -      YYDEBUG(918, *YYCURSOR);
++      goto yy821;
++yy943:
++      YYDEBUG(943, *YYCURSOR);
+       yych = *++YYCURSOR;
+       if (yych <= '/') goto yy55;
 -      if (yych <= '9') goto yy917;
++      if (yych <= '9') goto yy942;
+       goto yy55;
 -yy919:
 -      YYDEBUG(919, *YYCURSOR);
++yy944:
++      YYDEBUG(944, *YYCURSOR);
+       yych = *++YYCURSOR;
+       if (yych <= '/') goto yy55;
 -      if (yych <= '9') goto yy917;
++      if (yych <= '9') goto yy942;
+       goto yy55;
 -yy920:
 -      YYDEBUG(920, *YYCURSOR);
++yy945:
++      YYDEBUG(945, *YYCURSOR);
+       yych = *++YYCURSOR;
+       if (yych <= '0') goto yy55;
 -      if (yych <= '9') goto yy917;
++      if (yych <= '9') goto yy942;
+       goto yy55;
 -yy921:
 -      YYDEBUG(921, *YYCURSOR);
++yy946:
++      YYDEBUG(946, *YYCURSOR);
+       yych = *++YYCURSOR;
+       if (yych <= '.') goto yy55;
 -      if (yych <= '/') goto yy924;
 -      if (yych <= '9') goto yy932;
++      if (yych <= '/') goto yy949;
++      if (yych <= '9') goto yy957;
+       goto yy55;
 -yy922:
 -      YYDEBUG(922, *YYCURSOR);
++yy947:
++      YYDEBUG(947, *YYCURSOR);
+       yych = *++YYCURSOR;
+       if (yych <= '.') goto yy55;
 -      if (yych <= '/') goto yy924;
 -      if (yych <= '2') goto yy932;
++      if (yych <= '/') goto yy949;
++      if (yych <= '2') goto yy957;
+       goto yy55;
 -yy923:
 -      YYDEBUG(923, *YYCURSOR);
++yy948:
++      YYDEBUG(948, *YYCURSOR);
+       yych = *++YYCURSOR;
+       if (yych != '/') goto yy55;
 -yy924:
 -      YYDEBUG(924, *YYCURSOR);
++yy949:
++      YYDEBUG(949, *YYCURSOR);
+       yych = *++YYCURSOR;
+       if (yych <= '/') goto yy55;
 -      if (yych <= '2') goto yy925;
 -      if (yych <= '3') goto yy926;
 -      if (yych <= '9') goto yy927;
++      if (yych <= '2') goto yy950;
++      if (yych <= '3') goto yy951;
++      if (yych <= '9') goto yy952;
+       goto yy55;
 -yy925:
 -      YYDEBUG(925, *YYCURSOR);
++yy950:
++      YYDEBUG(950, *YYCURSOR);
+       yyaccept = 20;
        yych = *(YYMARKER = ++YYCURSOR);
-       if (yych <= 'S') {
-               if (yych <= '-') {
-                       if (yych == ')') goto yy108;
-                       if (yych <= ',') goto yy18;
-                       goto yy283;
-               } else {
-                       if (yych == '/') goto yy283;
-                       if (yych <= '@') goto yy18;
-                       goto yy638;
-               }
+       if (yych <= 'n') {
 -              if (yych <= '/') goto yy429;
 -              if (yych <= '9') goto yy927;
 -              if (yych <= 'm') goto yy429;
 -              goto yy929;
++              if (yych <= '/') goto yy430;
++              if (yych <= '9') goto yy952;
++              if (yych <= 'm') goto yy430;
++              goto yy954;
        } else {
-               if (yych <= '_') {
-                       if (yych <= 'T') goto yy656;
-                       if (yych <= 'Z') goto yy638;
-                       if (yych <= '^') goto yy18;
-                       goto yy283;
+               if (yych <= 'r') {
 -                      if (yych <= 'q') goto yy429;
 -                      goto yy930;
++                      if (yych <= 'q') goto yy430;
++                      goto yy955;
                } else {
-                       if (yych <= 's') {
-                               if (yych <= '`') goto yy18;
-                               goto yy643;
-                       } else {
-                               if (yych <= 't') goto yy662;
-                               if (yych <= 'z') goto yy643;
-                               goto yy18;
-                       }
 -                      if (yych <= 's') goto yy928;
 -                      if (yych <= 't') goto yy931;
 -                      goto yy429;
++                      if (yych <= 's') goto yy953;
++                      if (yych <= 't') goto yy956;
++                      goto yy430;
                }
        }
- yy481:
-       YYDEBUG(481, *YYCURSOR);
-       yyaccept = 2;
 -yy926:
 -      YYDEBUG(926, *YYCURSOR);
++yy951:
++      YYDEBUG(951, *YYCURSOR);
+       yyaccept = 20;
        yych = *(YYMARKER = ++YYCURSOR);
-       if (yych <= '@') {
-               if (yych <= ',') {
-                       if (yych == ')') goto yy108;
-                       goto yy18;
-               } else {
-                       if (yych == '.') goto yy18;
-                       if (yych <= '/') goto yy283;
-                       goto yy18;
-               }
+       if (yych <= 'n') {
 -              if (yych <= '/') goto yy429;
 -              if (yych <= '1') goto yy927;
 -              if (yych <= 'm') goto yy429;
 -              goto yy929;
++              if (yych <= '/') goto yy430;
++              if (yych <= '1') goto yy952;
++              if (yych <= 'm') goto yy430;
++              goto yy954;
        } else {
-               if (yych <= '_') {
-                       if (yych <= 'A') goto yy657;
-                       if (yych <= 'Z') goto yy638;
-                       if (yych <= '^') goto yy18;
-                       goto yy283;
+               if (yych <= 'r') {
 -                      if (yych <= 'q') goto yy429;
 -                      goto yy930;
++                      if (yych <= 'q') goto yy430;
++                      goto yy955;
                } else {
-                       if (yych <= '`') goto yy18;
-                       if (yych <= 'a') goto yy663;
-                       if (yych <= 'z') goto yy643;
-                       goto yy18;
 -                      if (yych <= 's') goto yy928;
 -                      if (yych <= 't') goto yy931;
 -                      goto yy429;
++                      if (yych <= 's') goto yy953;
++                      if (yych <= 't') goto yy956;
++                      goto yy430;
                }
        }
- yy482:
-       YYDEBUG(482, *YYCURSOR);
-       yyaccept = 2;
 -yy927:
 -      YYDEBUG(927, *YYCURSOR);
++yy952:
++      YYDEBUG(952, *YYCURSOR);
+       yyaccept = 20;
        yych = *(YYMARKER = ++YYCURSOR);
-       if (yych <= 'S') {
-               if (yych <= '-') {
-                       if (yych == ')') goto yy108;
-                       if (yych <= ',') goto yy18;
-                       goto yy283;
-               } else {
-                       if (yych == '/') goto yy283;
-                       if (yych <= '@') goto yy18;
-                       goto yy638;
-               }
+       if (yych <= 'q') {
 -              if (yych == 'n') goto yy929;
 -              goto yy429;
++              if (yych == 'n') goto yy954;
++              goto yy430;
        } else {
-               if (yych <= '_') {
-                       if (yych <= 'T') goto yy658;
-                       if (yych <= 'Z') goto yy638;
-                       if (yych <= '^') goto yy18;
-                       goto yy283;
-               } else {
-                       if (yych <= 's') {
-                               if (yych <= '`') goto yy18;
-                               goto yy643;
-                       } else {
-                               if (yych <= 't') goto yy664;
-                               if (yych <= 'z') goto yy643;
-                               goto yy18;
-                       }
-               }
 -              if (yych <= 'r') goto yy930;
 -              if (yych <= 's') goto yy928;
 -              if (yych <= 't') goto yy931;
 -              goto yy429;
++              if (yych <= 'r') goto yy955;
++              if (yych <= 's') goto yy953;
++              if (yych <= 't') goto yy956;
++              goto yy430;
        }
- yy483:
-       YYDEBUG(483, *YYCURSOR);
 -yy928:
 -      YYDEBUG(928, *YYCURSOR);
++yy953:
++      YYDEBUG(953, *YYCURSOR);
        yych = *++YYCURSOR;
-       if (yych <= '/') goto yy56;
-       if (yych <= '1') goto yy665;
-       if (yych <= '2') goto yy666;
-       if (yych <= '9') goto yy667;
-       goto yy56;
- yy484:
-       YYDEBUG(484, *YYCURSOR);
 -      if (yych == 't') goto yy428;
++      if (yych == 't') goto yy429;
+       goto yy55;
 -yy929:
 -      YYDEBUG(929, *YYCURSOR);
++yy954:
++      YYDEBUG(954, *YYCURSOR);
        yych = *++YYCURSOR;
-       if (yych <= '/') {
-               if (yych == '.') goto yy668;
-               goto yy56;
-       } else {
-               if (yych <= '0') goto yy669;
-               if (yych <= '9') goto yy487;
-               if (yych <= ':') goto yy668;
-               goto yy56;
-       }
- yy485:
-       YYDEBUG(485, *YYCURSOR);
 -      if (yych == 'd') goto yy428;
++      if (yych == 'd') goto yy429;
+       goto yy55;
 -yy930:
 -      YYDEBUG(930, *YYCURSOR);
++yy955:
++      YYDEBUG(955, *YYCURSOR);
        yych = *++YYCURSOR;
-       if (yych <= '/') {
-               if (yych == '.') goto yy670;
-               goto yy56;
-       } else {
-               if (yych <= '2') goto yy487;
-               if (yych <= '9') goto yy669;
-               if (yych <= ':') goto yy670;
-               goto yy56;
-       }
- yy486:
-       YYDEBUG(486, *YYCURSOR);
 -      if (yych == 'd') goto yy428;
++      if (yych == 'd') goto yy429;
+       goto yy55;
 -yy931:
 -      YYDEBUG(931, *YYCURSOR);
++yy956:
++      YYDEBUG(956, *YYCURSOR);
        yych = *++YYCURSOR;
-       if (yych <= '/') {
-               if (yych == '.') goto yy670;
-               goto yy56;
-       } else {
-               if (yych <= '4') goto yy669;
-               if (yych == ':') goto yy670;
-               goto yy56;
-       }
- yy487:
-       YYDEBUG(487, *YYCURSOR);
 -      if (yych == 'h') goto yy428;
++      if (yych == 'h') goto yy429;
+       goto yy55;
 -yy932:
 -      YYDEBUG(932, *YYCURSOR);
++yy957:
++      YYDEBUG(957, *YYCURSOR);
        yych = *++YYCURSOR;
-       if (yych == '.') goto yy670;
-       if (yych == ':') goto yy670;
-       goto yy56;
- yy488:
-       YYDEBUG(488, *YYCURSOR);
+       if (yych != '/') goto yy55;
 -      YYDEBUG(933, *YYCURSOR);
++      YYDEBUG(958, *YYCURSOR);
        yych = *++YYCURSOR;
-       if (yych <= '/') goto yy56;
-       if (yych <= '1') goto yy671;
-       if (yych <= '2') goto yy672;
-       if (yych <= '9') goto yy669;
-       goto yy56;
- yy489:
-       YYDEBUG(489, *YYCURSOR);
-       yyaccept = 10;
-       yych = *(YYMARKER = ++YYCURSOR);
-       if (yych <= '/') {
-               if (yych == '.') goto yy668;
-               goto yy311;
-       } else {
-               if (yych <= '0') goto yy673;
-               if (yych <= '9') goto yy674;
-               if (yych <= ':') goto yy668;
-               goto yy311;
-       }
- yy490:
-       YYDEBUG(490, *YYCURSOR);
-       yyaccept = 10;
-       yych = *(YYMARKER = ++YYCURSOR);
-       if (yych <= '/') {
-               if (yych == '.') goto yy670;
-               goto yy311;
-       } else {
-               if (yych <= '2') goto yy674;
-               if (yych <= '9') goto yy673;
-               if (yych <= ':') goto yy670;
-               goto yy311;
-       }
- yy491:
-       YYDEBUG(491, *YYCURSOR);
-       yyaccept = 10;
-       yych = *(YYMARKER = ++YYCURSOR);
-       if (yych <= '/') {
-               if (yych == '.') goto yy670;
-               goto yy311;
+       if (yych <= '2') {
+               if (yych <= '/') goto yy55;
 -              if (yych >= '1') goto yy935;
++              if (yych >= '1') goto yy960;
        } else {
-               if (yych <= '4') goto yy673;
-               if (yych <= '9') goto yy675;
-               if (yych <= ':') goto yy670;
-               goto yy311;
 -              if (yych <= '3') goto yy936;
 -              if (yych <= '9') goto yy927;
++              if (yych <= '3') goto yy961;
++              if (yych <= '9') goto yy952;
+               goto yy55;
        }
- yy492:
-       YYDEBUG(492, *YYCURSOR);
-       yyaccept = 10;
 -      YYDEBUG(934, *YYCURSOR);
++      YYDEBUG(959, *YYCURSOR);
+       yyaccept = 20;
        yych = *(YYMARKER = ++YYCURSOR);
-       if (yych <= '/') {
-               if (yych == '.') goto yy670;
-               goto yy311;
+       if (yych <= 'n') {
 -              if (yych <= '/') goto yy429;
 -              if (yych <= '9') goto yy937;
 -              if (yych <= 'm') goto yy429;
 -              goto yy929;
++              if (yych <= '/') goto yy430;
++              if (yych <= '9') goto yy962;
++              if (yych <= 'm') goto yy430;
++              goto yy954;
        } else {
-               if (yych <= '9') goto yy675;
-               if (yych <= ':') goto yy670;
-               goto yy311;
+               if (yych <= 'r') {
 -                      if (yych <= 'q') goto yy429;
 -                      goto yy930;
++                      if (yych <= 'q') goto yy430;
++                      goto yy955;
+               } else {
 -                      if (yych <= 's') goto yy928;
 -                      if (yych <= 't') goto yy931;
 -                      goto yy429;
++                      if (yych <= 's') goto yy953;
++                      if (yych <= 't') goto yy956;
++                      goto yy430;
+               }
        }
- yy493:
-       YYDEBUG(493, *YYCURSOR);
-       yych = *++YYCURSOR;
-       if (yych <= '/') goto yy56;
-       if (yych <= '9') goto yy676;
-       goto yy56;
- yy494:
-       YYDEBUG(494, *YYCURSOR);
-       yyaccept = 10;
 -yy935:
 -      YYDEBUG(935, *YYCURSOR);
++yy960:
++      YYDEBUG(960, *YYCURSOR);
+       yyaccept = 20;
        yych = *(YYMARKER = ++YYCURSOR);
-       if (yych <= 0x00) goto yy310;
-       goto yy313;
- yy495:
-       YYDEBUG(495, *YYCURSOR);
-       yych = *++YYCURSOR;
-       if (yych <= 'A') {
-               if (yych == ')') goto yy108;
-               if (yych <= '@') goto yy18;
-               goto yy678;
+       if (yych <= 'n') {
 -              if (yych <= '/') goto yy429;
 -              if (yych <= '9') goto yy937;
 -              if (yych <= 'm') goto yy429;
 -              goto yy929;
++              if (yych <= '/') goto yy430;
++              if (yych <= '9') goto yy962;
++              if (yych <= 'm') goto yy430;
++              goto yy954;
        } else {
-               if (yych <= '`') {
-                       if (yych <= 'Z') goto yy638;
-                       goto yy18;
+               if (yych <= 'r') {
 -                      if (yych <= 'q') goto yy429;
 -                      goto yy930;
++                      if (yych <= 'q') goto yy430;
++                      goto yy955;
                } else {
-                       if (yych <= 'a') goto yy678;
-                       if (yych <= 'z') goto yy638;
-                       goto yy18;
 -                      if (yych <= 's') goto yy928;
 -                      if (yych <= 't') goto yy931;
 -                      goto yy429;
++                      if (yych <= 's') goto yy953;
++                      if (yych <= 't') goto yy956;
++                      goto yy430;
                }
        }
- yy496:
-       YYDEBUG(496, *YYCURSOR);
-       yyaccept = 7;
 -yy936:
 -      YYDEBUG(936, *YYCURSOR);
++yy961:
++      YYDEBUG(961, *YYCURSOR);
+       yyaccept = 20;
        yych = *(YYMARKER = ++YYCURSOR);
-       if (yych <= ',') {
-               if (yych <= 0x1F) {
-                       if (yych == '\t') goto yy135;
-                       goto yy281;
-               } else {
-                       if (yych <= ' ') goto yy135;
-                       if (yych == ')') goto yy108;
-                       goto yy281;
-               }
+       if (yych <= 'n') {
 -              if (yych <= '/') goto yy429;
 -              if (yych <= '1') goto yy937;
 -              if (yych <= 'm') goto yy429;
 -              goto yy929;
++              if (yych <= '/') goto yy430;
++              if (yych <= '1') goto yy962;
++              if (yych <= 'm') goto yy430;
++              goto yy954;
        } else {
-               if (yych <= '@') {
-                       if (yych == '/') goto yy281;
-                       if (yych <= '9') goto yy135;
-                       goto yy281;
+               if (yych <= 'r') {
 -                      if (yych <= 'q') goto yy429;
 -                      goto yy930;
++                      if (yych <= 'q') goto yy430;
++                      goto yy955;
                } else {
-                       if (yych <= 'Z') goto yy638;
-                       if (yych <= '`') goto yy281;
-                       if (yych <= 'z') goto yy638;
-                       goto yy281;
 -                      if (yych <= 's') goto yy928;
 -                      if (yych <= 't') goto yy931;
 -                      goto yy429;
++                      if (yych <= 's') goto yy953;
++                      if (yych <= 't') goto yy956;
++                      goto yy430;
                }
        }
- yy497:
-       YYDEBUG(497, *YYCURSOR);
-       yyaccept = 2;
 -yy937:
 -      YYDEBUG(937, *YYCURSOR);
++yy962:
++      YYDEBUG(962, *YYCURSOR);
+       yyaccept = 20;
        yych = *(YYMARKER = ++YYCURSOR);
-       if (yych <= '@') {
-               if (yych <= ',') {
-                       if (yych == ')') goto yy108;
-                       goto yy18;
-               } else {
-                       if (yych == '.') goto yy18;
-                       if (yych <= '/') goto yy283;
-                       goto yy18;
-               }
+       if (yych <= 'n') {
 -              if (yych == '/') goto yy428;
 -              if (yych <= 'm') goto yy429;
 -              goto yy929;
++              if (yych == '/') goto yy429;
++              if (yych <= 'm') goto yy430;
++              goto yy954;
        } else {
-               if (yych <= '_') {
-                       if (yych <= 'A') goto yy678;
-                       if (yych <= 'Z') goto yy638;
-                       if (yych <= '^') goto yy18;
-                       goto yy283;
+               if (yych <= 'r') {
 -                      if (yych <= 'q') goto yy429;
 -                      goto yy930;
++                      if (yych <= 'q') goto yy430;
++                      goto yy955;
                } else {
-                       if (yych <= '`') goto yy18;
-                       if (yych <= 'a') goto yy679;
-                       if (yych <= 'z') goto yy643;
-                       goto yy18;
 -                      if (yych <= 's') goto yy928;
 -                      if (yych <= 't') goto yy931;
 -                      goto yy429;
++                      if (yych <= 's') goto yy953;
++                      if (yych <= 't') goto yy956;
++                      goto yy430;
                }
        }
- yy498:
-       YYDEBUG(498, *YYCURSOR);
-       yyaccept = 7;
-       yych = *(YYMARKER = ++YYCURSOR);
-       if (yych <= '.') {
-               if (yych <= ' ') {
-                       if (yych == '\t') goto yy135;
-                       if (yych <= 0x1F) goto yy281;
-                       goto yy135;
 -yy938:
 -      YYDEBUG(938, *YYCURSOR);
++yy963:
++      YYDEBUG(963, *YYCURSOR);
+       yych = *++YYCURSOR;
+       if (yych <= 'U') {
 -              if (yych == 'A') goto yy1018;
++              if (yych == 'A') goto yy1043;
+               if (yych <= 'T') goto yy55;
 -              goto yy1017;
++              goto yy1042;
+       } else {
+               if (yych <= 'a') {
+                       if (yych <= '`') goto yy55;
 -                      goto yy1018;
++                      goto yy1043;
                } else {
-                       if (yych <= ')') {
-                               if (yych <= '(') goto yy281;
-                               goto yy108;
-                       } else {
-                               if (yych <= ',') goto yy281;
-                               if (yych <= '-') goto yy680;
-                               goto yy135;
-                       }
 -                      if (yych == 'u') goto yy1017;
++                      if (yych == 'u') goto yy1042;
+                       goto yy55;
                }
 -yy939:
 -      YYDEBUG(939, *YYCURSOR);
+       }
 -      if (yych == 'E') goto yy1015;
 -      if (yych == 'e') goto yy1015;
++yy964:
++      YYDEBUG(964, *YYCURSOR);
+       yych = *++YYCURSOR;
 -yy940:
 -      YYDEBUG(940, *YYCURSOR);
++      if (yych == 'E') goto yy1040;
++      if (yych == 'e') goto yy1040;
+       goto yy55;
 -      if (yych == 'A') goto yy1012;
 -      if (yych == 'a') goto yy1012;
++yy965:
++      YYDEBUG(965, *YYCURSOR);
+       yych = *++YYCURSOR;
 -yy941:
 -      YYDEBUG(941, *YYCURSOR);
++      if (yych == 'A') goto yy1037;
++      if (yych == 'a') goto yy1037;
+       goto yy55;
 -              if (yych == 'P') goto yy1009;
++yy966:
++      YYDEBUG(966, *YYCURSOR);
+       yych = *++YYCURSOR;
+       if (yych <= 'U') {
 -              goto yy1008;
++              if (yych == 'P') goto yy1034;
+               if (yych <= 'T') goto yy55;
++              goto yy1033;
        } else {
-               if (yych <= 'Z') {
-                       if (yych <= '/') goto yy283;
-                       if (yych <= '9') goto yy135;
-                       if (yych <= '@') goto yy281;
-                       goto yy638;
+               if (yych <= 'p') {
+                       if (yych <= 'o') goto yy55;
 -                      goto yy1009;
++                      goto yy1034;
                } else {
-                       if (yych <= '_') {
-                               if (yych <= '^') goto yy281;
-                               goto yy283;
-                       } else {
-                               if (yych <= '`') goto yy281;
-                               if (yych <= 'z') goto yy643;
-                               goto yy281;
-                       }
 -                      if (yych == 'u') goto yy1008;
++                      if (yych == 'u') goto yy1033;
+                       goto yy55;
                }
        }
- yy499:
-       YYDEBUG(499, *YYCURSOR);
-       yyaccept = 2;
 -yy942:
 -      YYDEBUG(942, *YYCURSOR);
++yy967:
++      YYDEBUG(967, *YYCURSOR);
+       yych = *++YYCURSOR;
 -      if (yych == 'E') goto yy1005;
 -      if (yych == 'e') goto yy1005;
++      if (yych == 'E') goto yy1030;
++      if (yych == 'e') goto yy1030;
+       goto yy55;
 -yy943:
 -      YYDEBUG(943, *YYCURSOR);
++yy968:
++      YYDEBUG(968, *YYCURSOR);
+       yych = *++YYCURSOR;
 -      if (yych == 'C') goto yy1003;
 -      if (yych == 'c') goto yy1003;
++      if (yych == 'C') goto yy1028;
++      if (yych == 'c') goto yy1028;
+       goto yy55;
 -yy944:
 -      YYDEBUG(944, *YYCURSOR);
++yy969:
++      YYDEBUG(969, *YYCURSOR);
+       yych = *++YYCURSOR;
 -      if (yych == 'O') goto yy1001;
 -      if (yych == 'o') goto yy1001;
++      if (yych == 'O') goto yy1026;
++      if (yych == 'o') goto yy1026;
+       goto yy55;
 -yy945:
 -      YYDEBUG(945, *YYCURSOR);
++yy970:
++      YYDEBUG(970, *YYCURSOR);
+       yych = *++YYCURSOR;
 -      if (yych == 'E') goto yy999;
 -      if (yych == 'e') goto yy999;
++      if (yych == 'E') goto yy1024;
++      if (yych == 'e') goto yy1024;
+       goto yy55;
 -yy946:
 -      YYDEBUG(946, *YYCURSOR);
++yy971:
++      YYDEBUG(971, *YYCURSOR);
+       yych = *++YYCURSOR;
+       if (yych <= '/') goto yy55;
 -      if (yych <= '0') goto yy785;
 -      if (yych <= '4') goto yy786;
 -      if (yych <= '5') goto yy787;
++      if (yych <= '0') goto yy810;
++      if (yych <= '4') goto yy811;
++      if (yych <= '5') goto yy812;
+       goto yy55;
 -yy947:
 -      YYDEBUG(947, *YYCURSOR);
++yy972:
++      YYDEBUG(972, *YYCURSOR);
+       yyaccept = 21;
+       yych = *(YYMARKER = ++YYCURSOR);
 -      if (yych == '-') goto yy951;
 -      if (yych <= '/') goto yy948;
 -      if (yych <= '9') goto yy970;
 -yy948:
 -      YYDEBUG(948, *YYCURSOR);
 -#line 1358 "parse_date.re"
++      if (yych == '-') goto yy976;
++      if (yych <= '/') goto yy973;
++      if (yych <= '9') goto yy995;
++yy973:
++      YYDEBUG(973, *YYCURSOR);
++#line 1380 "parse_date.re"
+       {
+               int length = 0;
+               DEBUG_OUTPUT("gnudateshorter");
+               TIMELIB_INIT;
+               TIMELIB_HAVE_DATE();
 -              s->time->y = timelib_get_nr_ex((char **) &ptr, 4, &length);
 -              s->time->m = timelib_get_nr((char **) &ptr, 2);
++              s->time->y = timelib_get_nr_ex(&ptr, 4, &length);
++              s->time->m = timelib_get_nr(&ptr, 2);
+               s->time->d = 1;
+               TIMELIB_PROCESS_YEAR(s->time->y, length);
+               TIMELIB_DEINIT;
+               return TIMELIB_ISO_DATE;
+       }
 -#line 14363 "<stdout>"
 -yy949:
 -      YYDEBUG(949, *YYCURSOR);
++#line 14500 "<stdout>"
++yy974:
++      YYDEBUG(974, *YYCURSOR);
+       yyaccept = 21;
+       yych = *(YYMARKER = ++YYCURSOR);
 -      if (yych == '-') goto yy951;
 -      if (yych <= '/') goto yy948;
 -      if (yych <= '2') goto yy970;
 -      goto yy948;
 -yy950:
 -      YYDEBUG(950, *YYCURSOR);
++      if (yych == '-') goto yy976;
++      if (yych <= '/') goto yy973;
++      if (yych <= '2') goto yy995;
++      goto yy973;
++yy975:
++      YYDEBUG(975, *YYCURSOR);
+       yyaccept = 21;
+       yych = *(YYMARKER = ++YYCURSOR);
 -      if (yych != '-') goto yy948;
 -yy951:
 -      YYDEBUG(951, *YYCURSOR);
++      if (yych != '-') goto yy973;
++yy976:
++      YYDEBUG(976, *YYCURSOR);
+       yych = *++YYCURSOR;
+       if (yych <= '/') goto yy55;
 -      if (yych <= '2') goto yy952;
 -      if (yych <= '3') goto yy953;
 -      if (yych <= '9') goto yy954;
++      if (yych <= '2') goto yy977;
++      if (yych <= '3') goto yy978;
++      if (yych <= '9') goto yy979;
+       goto yy55;
 -yy952:
 -      YYDEBUG(952, *YYCURSOR);
++yy977:
++      YYDEBUG(977, *YYCURSOR);
+       yyaccept = 12;
        yych = *(YYMARKER = ++YYCURSOR);
-       if (yych <= '(') {
-               if (yych <= '\t') {
-                       if (yych <= 0x08) goto yy18;
-                       goto yy681;
+       if (yych <= 'm') {
+               if (yych <= '9') {
 -                      if (yych <= '/') goto yy631;
 -                      goto yy954;
++                      if (yych <= '/') goto yy656;
++                      goto yy979;
                } else {
-                       if (yych == ' ') goto yy683;
-                       goto yy18;
 -                      if (yych == 'T') goto yy959;
 -                      goto yy631;
++                      if (yych == 'T') goto yy984;
++                      goto yy656;
                }
        } else {
-               if (yych <= 'Z') {
-                       if (yych <= ')') goto yy108;
-                       if (yych <= '@') goto yy18;
-                       goto yy638;
+               if (yych <= 'r') {
 -                      if (yych <= 'n') goto yy956;
 -                      if (yych <= 'q') goto yy631;
 -                      goto yy957;
++                      if (yych <= 'n') goto yy981;
++                      if (yych <= 'q') goto yy656;
++                      goto yy982;
                } else {
-                       if (yych <= '`') goto yy18;
-                       if (yych <= 'z') goto yy638;
-                       goto yy18;
 -                      if (yych <= 's') goto yy955;
 -                      if (yych <= 't') goto yy958;
 -                      goto yy631;
++                      if (yych <= 's') goto yy980;
++                      if (yych <= 't') goto yy983;
++                      goto yy656;
                }
        }
- yy500:
-       YYDEBUG(500, *YYCURSOR);
-       yyaccept = 2;
 -yy953:
 -      YYDEBUG(953, *YYCURSOR);
++yy978:
++      YYDEBUG(978, *YYCURSOR);
+       yyaccept = 12;
        yych = *(YYMARKER = ++YYCURSOR);
-       if (yych <= '-') {
-               if (yych <= ' ') {
-                       if (yych == '\t') goto yy681;
-                       if (yych <= 0x1F) goto yy18;
-                       goto yy683;
+       if (yych <= 'm') {
+               if (yych <= '1') {
 -                      if (yych <= '/') goto yy631;
++                      if (yych <= '/') goto yy656;
                } else {
-                       if (yych == ')') goto yy108;
-                       if (yych <= ',') goto yy18;
-                       goto yy283;
 -                      if (yych == 'T') goto yy959;
 -                      goto yy631;
++                      if (yych == 'T') goto yy984;
++                      goto yy656;
                }
        } else {
-               if (yych <= 'Z') {
-                       if (yych == '/') goto yy283;
-                       if (yych <= '@') goto yy18;
-                       goto yy638;
+               if (yych <= 'r') {
 -                      if (yych <= 'n') goto yy956;
 -                      if (yych <= 'q') goto yy631;
 -                      goto yy957;
++                      if (yych <= 'n') goto yy981;
++                      if (yych <= 'q') goto yy656;
++                      goto yy982;
                } else {
-                       if (yych <= '_') {
-                               if (yych <= '^') goto yy18;
-                               goto yy283;
-                       } else {
-                               if (yych <= '`') goto yy18;
-                               if (yych <= 'z') goto yy643;
-                               goto yy18;
-                       }
 -                      if (yych <= 's') goto yy955;
 -                      if (yych <= 't') goto yy958;
 -                      goto yy631;
++                      if (yych <= 's') goto yy980;
++                      if (yych <= 't') goto yy983;
++                      goto yy656;
                }
        }
- yy501:
-       YYDEBUG(501, *YYCURSOR);
-       yych = *++YYCURSOR;
-       if (yych <= 'H') {
-               if (yych <= ')') {
-                       if (yych <= '(') goto yy18;
-                       goto yy108;
-               } else {
-                       if (yych <= '@') goto yy18;
-                       if (yych <= 'G') goto yy638;
-                       goto yy641;
-               }
 -yy954:
 -      YYDEBUG(954, *YYCURSOR);
++yy979:
++      YYDEBUG(979, *YYCURSOR);
+       yyaccept = 12;
+       yych = *(YYMARKER = ++YYCURSOR);
+       if (yych <= 'n') {
 -              if (yych == 'T') goto yy959;
 -              if (yych <= 'm') goto yy631;
 -              goto yy956;
++              if (yych == 'T') goto yy984;
++              if (yych <= 'm') goto yy656;
++              goto yy981;
        } else {
-               if (yych <= 'g') {
-                       if (yych <= 'Z') goto yy638;
-                       if (yych <= '`') goto yy18;
-                       goto yy638;
+               if (yych <= 'r') {
 -                      if (yych <= 'q') goto yy631;
 -                      goto yy957;
++                      if (yych <= 'q') goto yy656;
++                      goto yy982;
                } else {
-                       if (yych <= 'h') goto yy641;
-                       if (yych <= 'z') goto yy638;
-                       goto yy18;
 -                      if (yych <= 's') goto yy955;
 -                      if (yych <= 't') goto yy958;
 -                      goto yy631;
++                      if (yych <= 's') goto yy980;
++                      if (yych <= 't') goto yy983;
++                      goto yy656;
                }
        }
- yy502:
-       YYDEBUG(502, *YYCURSOR);
 -yy955:
 -      YYDEBUG(955, *YYCURSOR);
++yy980:
++      YYDEBUG(980, *YYCURSOR);
        yych = *++YYCURSOR;
-       if (yych <= 'I') {
-               if (yych <= ')') {
-                       if (yych <= '(') goto yy18;
-                       goto yy108;
 -      if (yych == 't') goto yy969;
++      if (yych == 't') goto yy994;
+       goto yy55;
 -yy956:
 -      YYDEBUG(956, *YYCURSOR);
++yy981:
++      YYDEBUG(981, *YYCURSOR);
+       yych = *++YYCURSOR;
 -      if (yych == 'd') goto yy969;
++      if (yych == 'd') goto yy994;
+       goto yy55;
 -yy957:
 -      YYDEBUG(957, *YYCURSOR);
++yy982:
++      YYDEBUG(982, *YYCURSOR);
+       yych = *++YYCURSOR;
 -      if (yych == 'd') goto yy969;
++      if (yych == 'd') goto yy994;
+       goto yy55;
 -yy958:
 -      YYDEBUG(958, *YYCURSOR);
++yy983:
++      YYDEBUG(983, *YYCURSOR);
+       yych = *++YYCURSOR;
 -      if (yych == 'h') goto yy969;
++      if (yych == 'h') goto yy994;
+       goto yy55;
 -yy959:
 -      YYDEBUG(959, *YYCURSOR);
++yy984:
++      YYDEBUG(984, *YYCURSOR);
+       yych = *++YYCURSOR;
+       if (yych <= '/') goto yy55;
 -      if (yych <= '1') goto yy960;
 -      if (yych <= '2') goto yy961;
 -      if (yych <= '9') goto yy962;
++      if (yych <= '1') goto yy985;
++      if (yych <= '2') goto yy986;
++      if (yych <= '9') goto yy987;
+       goto yy55;
 -yy960:
 -      YYDEBUG(960, *YYCURSOR);
++yy985:
++      YYDEBUG(985, *YYCURSOR);
+       yych = *++YYCURSOR;
+       if (yych <= '/') goto yy55;
 -      if (yych <= '9') goto yy962;
 -      if (yych <= ':') goto yy963;
++      if (yych <= '9') goto yy987;
++      if (yych <= ':') goto yy988;
+       goto yy55;
 -yy961:
 -      YYDEBUG(961, *YYCURSOR);
++yy986:
++      YYDEBUG(986, *YYCURSOR);
+       yych = *++YYCURSOR;
+       if (yych <= '/') goto yy55;
 -      if (yych <= '4') goto yy962;
 -      if (yych == ':') goto yy963;
++      if (yych <= '4') goto yy987;
++      if (yych == ':') goto yy988;
+       goto yy55;
 -yy962:
 -      YYDEBUG(962, *YYCURSOR);
++yy987:
++      YYDEBUG(987, *YYCURSOR);
+       yych = *++YYCURSOR;
+       if (yych != ':') goto yy55;
 -yy963:
 -      YYDEBUG(963, *YYCURSOR);
++yy988:
++      YYDEBUG(988, *YYCURSOR);
+       yych = *++YYCURSOR;
+       if (yych <= '/') goto yy55;
 -      if (yych <= '5') goto yy964;
 -      if (yych <= '9') goto yy965;
++      if (yych <= '5') goto yy989;
++      if (yych <= '9') goto yy990;
+       goto yy55;
 -yy964:
 -      YYDEBUG(964, *YYCURSOR);
++yy989:
++      YYDEBUG(989, *YYCURSOR);
+       yych = *++YYCURSOR;
+       if (yych <= '/') goto yy55;
 -      if (yych <= '9') goto yy965;
 -      if (yych <= ':') goto yy966;
++      if (yych <= '9') goto yy990;
++      if (yych <= ':') goto yy991;
+       goto yy55;
 -yy965:
 -      YYDEBUG(965, *YYCURSOR);
++yy990:
++      YYDEBUG(990, *YYCURSOR);
+       yych = *++YYCURSOR;
+       if (yych != ':') goto yy55;
 -yy966:
 -      YYDEBUG(966, *YYCURSOR);
++yy991:
++      YYDEBUG(991, *YYCURSOR);
+       yych = *++YYCURSOR;
+       if (yych <= '/') goto yy55;
 -      if (yych <= '5') goto yy967;
 -      if (yych <= '6') goto yy968;
 -      if (yych <= '9') goto yy816;
++      if (yych <= '5') goto yy992;
++      if (yych <= '6') goto yy993;
++      if (yych <= '9') goto yy841;
+       goto yy55;
 -yy967:
 -      YYDEBUG(967, *YYCURSOR);
++yy992:
++      YYDEBUG(992, *YYCURSOR);
+       yych = *++YYCURSOR;
 -      if (yych <= '/') goto yy817;
 -      if (yych <= '9') goto yy816;
 -      goto yy817;
 -yy968:
 -      YYDEBUG(968, *YYCURSOR);
++      if (yych <= '/') goto yy842;
++      if (yych <= '9') goto yy841;
++      goto yy842;
++yy993:
++      YYDEBUG(993, *YYCURSOR);
+       yych = *++YYCURSOR;
 -      if (yych == '0') goto yy816;
 -      goto yy817;
 -yy969:
 -      YYDEBUG(969, *YYCURSOR);
++      if (yych == '0') goto yy841;
++      goto yy842;
++yy994:
++      YYDEBUG(994, *YYCURSOR);
+       yyaccept = 12;
+       yych = *(YYMARKER = ++YYCURSOR);
 -      if (yych == 'T') goto yy959;
 -      goto yy631;
 -yy970:
 -      YYDEBUG(970, *YYCURSOR);
++      if (yych == 'T') goto yy984;
++      goto yy656;
++yy995:
++      YYDEBUG(995, *YYCURSOR);
+       yyaccept = 21;
+       yych = *(YYMARKER = ++YYCURSOR);
 -      if (yych != '-') goto yy948;
 -      YYDEBUG(971, *YYCURSOR);
++      if (yych != '-') goto yy973;
++      YYDEBUG(996, *YYCURSOR);
+       yych = *++YYCURSOR;
+       if (yych <= '2') {
+               if (yych <= '/') goto yy55;
 -              if (yych >= '1') goto yy973;
++              if (yych >= '1') goto yy998;
+       } else {
 -              if (yych <= '3') goto yy974;
 -              if (yych <= '9') goto yy954;
++              if (yych <= '3') goto yy999;
++              if (yych <= '9') goto yy979;
+               goto yy55;
+       }
 -      YYDEBUG(972, *YYCURSOR);
++      YYDEBUG(997, *YYCURSOR);
+       yyaccept = 12;
+       yych = *(YYMARKER = ++YYCURSOR);
+       if (yych <= 'm') {
+               if (yych <= '9') {
 -                      if (yych <= '/') goto yy631;
 -                      goto yy975;
++                      if (yych <= '/') goto yy656;
++                      goto yy1000;
                } else {
-                       if (yych <= '@') goto yy18;
-                       if (yych <= 'H') goto yy638;
-                       goto yy684;
 -                      if (yych == 'T') goto yy959;
 -                      goto yy631;
++                      if (yych == 'T') goto yy984;
++                      goto yy656;
                }
        } else {
-               if (yych <= 'h') {
-                       if (yych <= 'Z') goto yy638;
-                       if (yych <= '`') goto yy18;
-                       goto yy638;
+               if (yych <= 'r') {
 -                      if (yych <= 'n') goto yy956;
 -                      if (yych <= 'q') goto yy631;
 -                      goto yy957;
++                      if (yych <= 'n') goto yy981;
++                      if (yych <= 'q') goto yy656;
++                      goto yy982;
                } else {
-                       if (yych <= 'i') goto yy684;
-                       if (yych <= 'z') goto yy638;
-                       goto yy18;
 -                      if (yych <= 's') goto yy955;
 -                      if (yych <= 't') goto yy958;
 -                      goto yy631;
++                      if (yych <= 's') goto yy980;
++                      if (yych <= 't') goto yy983;
++                      goto yy656;
                }
        }
- yy503:
-       YYDEBUG(503, *YYCURSOR);
-       yyaccept = 2;
 -yy973:
 -      YYDEBUG(973, *YYCURSOR);
++yy998:
++      YYDEBUG(998, *YYCURSOR);
+       yyaccept = 12;
        yych = *(YYMARKER = ++YYCURSOR);
-       if (yych <= 'G') {
-               if (yych <= '-') {
-                       if (yych == ')') goto yy108;
-                       if (yych <= ',') goto yy18;
-                       goto yy283;
+       if (yych <= 'm') {
+               if (yych <= '9') {
 -                      if (yych <= '/') goto yy631;
 -                      goto yy975;
++                      if (yych <= '/') goto yy656;
++                      goto yy1000;
                } else {
-                       if (yych == '/') goto yy283;
-                       if (yych <= '@') goto yy18;
-                       goto yy638;
 -                      if (yych == 'T') goto yy959;
 -                      goto yy631;
++                      if (yych == 'T') goto yy984;
++                      goto yy656;
                }
        } else {
-               if (yych <= '_') {
-                       if (yych <= 'H') goto yy641;
-                       if (yych <= 'Z') goto yy638;
-                       if (yych <= '^') goto yy18;
-                       goto yy283;
+               if (yych <= 'r') {
 -                      if (yych <= 'n') goto yy956;
 -                      if (yych <= 'q') goto yy631;
 -                      goto yy957;
++                      if (yych <= 'n') goto yy981;
++                      if (yych <= 'q') goto yy656;
++                      goto yy982;
                } else {
-                       if (yych <= 'g') {
-                               if (yych <= '`') goto yy18;
-                               goto yy643;
-                       } else {
-                               if (yych <= 'h') goto yy644;
-                               if (yych <= 'z') goto yy643;
-                               goto yy18;
-                       }
 -                      if (yych <= 's') goto yy955;
 -                      if (yych <= 't') goto yy958;
 -                      goto yy631;
++                      if (yych <= 's') goto yy980;
++                      if (yych <= 't') goto yy983;
++                      goto yy656;
                }
        }
- yy504:
-       YYDEBUG(504, *YYCURSOR);
-       yyaccept = 2;
 -yy974:
 -      YYDEBUG(974, *YYCURSOR);
++yy999:
++      YYDEBUG(999, *YYCURSOR);
+       yyaccept = 12;
        yych = *(YYMARKER = ++YYCURSOR);
-       if (yych <= 'H') {
-               if (yych <= '-') {
-                       if (yych == ')') goto yy108;
-                       if (yych <= ',') goto yy18;
-                       goto yy283;
+       if (yych <= 'm') {
+               if (yych <= '1') {
 -                      if (yych <= '/') goto yy631;
++                      if (yych <= '/') goto yy656;
                } else {
-                       if (yych == '/') goto yy283;
-                       if (yych <= '@') goto yy18;
-                       goto yy638;
 -                      if (yych == 'T') goto yy959;
 -                      goto yy631;
++                      if (yych == 'T') goto yy984;
++                      goto yy656;
                }
        } else {
-               if (yych <= '_') {
-                       if (yych <= 'I') goto yy684;
-                       if (yych <= 'Z') goto yy638;
-                       if (yych <= '^') goto yy18;
-                       goto yy283;
+               if (yych <= 'r') {
 -                      if (yych <= 'n') goto yy956;
 -                      if (yych <= 'q') goto yy631;
 -                      goto yy957;
++                      if (yych <= 'n') goto yy981;
++                      if (yych <= 'q') goto yy656;
++                      goto yy982;
                } else {
-                       if (yych <= 'h') {
-                               if (yych <= '`') goto yy18;
-                               goto yy643;
-                       } else {
-                               if (yych <= 'i') goto yy685;
-                               if (yych <= 'z') goto yy643;
-                               goto yy18;
-                       }
 -                      if (yych <= 's') goto yy955;
 -                      if (yych <= 't') goto yy958;
 -                      goto yy631;
++                      if (yych <= 's') goto yy980;
++                      if (yych <= 't') goto yy983;
++                      goto yy656;
                }
        }
- yy505:
-       YYDEBUG(505, *YYCURSOR);
-       yyaccept = 2;
 -yy975:
 -      YYDEBUG(975, *YYCURSOR);
++yy1000:
++      YYDEBUG(1000, *YYCURSOR);
+       yyaccept = 20;
        yych = *(YYMARKER = ++YYCURSOR);
-       if (yych <= '(') {
-               if (yych <= '\t') {
-                       if (yych <= 0x08) goto yy18;
-                       goto yy681;
+       if (yych <= 'n') {
 -              if (yych == 'T') goto yy976;
 -              if (yych <= 'm') goto yy429;
 -              goto yy956;
++              if (yych == 'T') goto yy1001;
++              if (yych <= 'm') goto yy430;
++              goto yy981;
+       } else {
+               if (yych <= 'r') {
 -                      if (yych <= 'q') goto yy429;
 -                      goto yy957;
++                      if (yych <= 'q') goto yy430;
++                      goto yy982;
                } else {
-                       if (yych == ' ') goto yy681;
-                       goto yy18;
 -                      if (yych <= 's') goto yy955;
 -                      if (yych <= 't') goto yy958;
 -                      goto yy429;
++                      if (yych <= 's') goto yy980;
++                      if (yych <= 't') goto yy983;
++                      goto yy430;
                }
 -yy976:
 -      YYDEBUG(976, *YYCURSOR);
+       }
 -      if (yych <= '1') goto yy977;
 -      if (yych <= '2') goto yy978;
 -      if (yych <= '9') goto yy962;
++yy1001:
++      YYDEBUG(1001, *YYCURSOR);
+       yych = *++YYCURSOR;
+       if (yych <= '/') goto yy55;
 -yy977:
 -      YYDEBUG(977, *YYCURSOR);
++      if (yych <= '1') goto yy1002;
++      if (yych <= '2') goto yy1003;
++      if (yych <= '9') goto yy987;
+       goto yy55;
 -      if (yych <= '9') goto yy979;
 -      if (yych <= ':') goto yy963;
++yy1002:
++      YYDEBUG(1002, *YYCURSOR);
+       yych = *++YYCURSOR;
+       if (yych <= '/') goto yy55;
 -yy978:
 -      YYDEBUG(978, *YYCURSOR);
++      if (yych <= '9') goto yy1004;
++      if (yych <= ':') goto yy988;
+       goto yy55;
 -      if (yych <= '4') goto yy979;
 -      if (yych == ':') goto yy963;
++yy1003:
++      YYDEBUG(1003, *YYCURSOR);
+       yych = *++YYCURSOR;
+       if (yych <= '/') goto yy55;
 -yy979:
 -      YYDEBUG(979, *YYCURSOR);
++      if (yych <= '4') goto yy1004;
++      if (yych == ':') goto yy988;
+       goto yy55;
 -      YYDEBUG(980, *YYCURSOR);
++yy1004:
++      YYDEBUG(1004, *YYCURSOR);
+       yych = *++YYCURSOR;
+       if (yych != ':') goto yy55;
 -      if (yych <= '5') goto yy981;
 -      if (yych <= '9') goto yy965;
++      YYDEBUG(1005, *YYCURSOR);
+       yych = *++YYCURSOR;
+       if (yych <= '/') goto yy55;
 -yy981:
 -      YYDEBUG(981, *YYCURSOR);
++      if (yych <= '5') goto yy1006;
++      if (yych <= '9') goto yy990;
+       goto yy55;
 -      if (yych <= '9') goto yy982;
 -      if (yych <= ':') goto yy966;
++yy1006:
++      YYDEBUG(1006, *YYCURSOR);
+       yych = *++YYCURSOR;
+       if (yych <= '/') goto yy55;
 -yy982:
 -      YYDEBUG(982, *YYCURSOR);
++      if (yych <= '9') goto yy1007;
++      if (yych <= ':') goto yy991;
+       goto yy55;
 -      YYDEBUG(983, *YYCURSOR);
++yy1007:
++      YYDEBUG(1007, *YYCURSOR);
+       yych = *++YYCURSOR;
+       if (yych != ':') goto yy55;
 -      if (yych <= '5') goto yy984;
 -      if (yych <= '6') goto yy985;
 -      if (yych <= '9') goto yy816;
++      YYDEBUG(1008, *YYCURSOR);
+       yych = *++YYCURSOR;
+       if (yych <= '/') goto yy55;
 -yy984:
 -      YYDEBUG(984, *YYCURSOR);
++      if (yych <= '5') goto yy1009;
++      if (yych <= '6') goto yy1010;
++      if (yych <= '9') goto yy841;
+       goto yy55;
 -      if (yych <= '/') goto yy817;
 -      if (yych <= '9') goto yy986;
 -      goto yy817;
 -yy985:
 -      YYDEBUG(985, *YYCURSOR);
++yy1009:
++      YYDEBUG(1009, *YYCURSOR);
+       yych = *++YYCURSOR;
 -      if (yych != '0') goto yy817;
 -yy986:
 -      YYDEBUG(986, *YYCURSOR);
++      if (yych <= '/') goto yy842;
++      if (yych <= '9') goto yy1011;
++      goto yy842;
++yy1010:
++      YYDEBUG(1010, *YYCURSOR);
+       yych = *++YYCURSOR;
 -      if (yych != '.') goto yy817;
 -      YYDEBUG(987, *YYCURSOR);
++      if (yych != '0') goto yy842;
++yy1011:
++      YYDEBUG(1011, *YYCURSOR);
+       yyaccept = 22;
+       yych = *(YYMARKER = ++YYCURSOR);
 -yy988:
 -      YYDEBUG(988, *YYCURSOR);
++      if (yych != '.') goto yy842;
++      YYDEBUG(1012, *YYCURSOR);
+       yych = *++YYCURSOR;
+       if (yych <= '/') goto yy55;
+       if (yych >= ':') goto yy55;
 -      YYDEBUG(989, *YYCURSOR);
++yy1013:
++      YYDEBUG(1013, *YYCURSOR);
+       yyaccept = 22;
+       YYMARKER = ++YYCURSOR;
+       if ((YYLIMIT - YYCURSOR) < 9) YYFILL(9);
+       yych = *YYCURSOR;
 -              if (yych == '+') goto yy991;
 -              if (yych <= ',') goto yy817;
 -              goto yy991;
++      YYDEBUG(1014, *YYCURSOR);
+       if (yych <= '-') {
++              if (yych == '+') goto yy1016;
++              if (yych <= ',') goto yy842;
++              goto yy1016;
        } else {
-               if (yych <= 'Z') {
-                       if (yych <= ')') goto yy108;
-                       if (yych <= '@') goto yy18;
-                       goto yy638;
+               if (yych <= '9') {
 -                      if (yych <= '/') goto yy817;
 -                      goto yy988;
++                      if (yych <= '/') goto yy842;
++                      goto yy1013;
                } else {
-                       if (yych <= '`') goto yy18;
-                       if (yych <= 'z') goto yy638;
-                       goto yy18;
 -                      if (yych != 'G') goto yy817;
++                      if (yych != 'G') goto yy842;
                }
        }
- yy506:
-       YYDEBUG(506, *YYCURSOR);
 -      YYDEBUG(990, *YYCURSOR);
++      YYDEBUG(1015, *YYCURSOR);
        yych = *++YYCURSOR;
-       if (yych <= '@') {
-               if (yych == ')') goto yy108;
 -      if (yych == 'M') goto yy997;
++      if (yych == 'M') goto yy1022;
+       goto yy55;
 -yy991:
 -      YYDEBUG(991, *YYCURSOR);
++yy1016:
++      YYDEBUG(1016, *YYCURSOR);
+       yych = *++YYCURSOR;
+       if (yych <= '/') goto yy55;
 -      if (yych <= '1') goto yy992;
 -      if (yych <= '2') goto yy993;
 -      if (yych <= '9') goto yy994;
++      if (yych <= '1') goto yy1017;
++      if (yych <= '2') goto yy1018;
++      if (yych <= '9') goto yy1019;
+       goto yy55;
 -yy992:
 -      YYDEBUG(992, *YYCURSOR);
++yy1017:
++      YYDEBUG(1017, *YYCURSOR);
+       yych = *++YYCURSOR;
 -      if (yych <= '/') goto yy817;
 -      if (yych <= '9') goto yy994;
 -      if (yych <= ':') goto yy995;
 -      goto yy817;
 -yy993:
 -      YYDEBUG(993, *YYCURSOR);
++      if (yych <= '/') goto yy842;
++      if (yych <= '9') goto yy1019;
++      if (yych <= ':') goto yy1020;
++      goto yy842;
++yy1018:
++      YYDEBUG(1018, *YYCURSOR);
+       yych = *++YYCURSOR;
+       if (yych <= '5') {
 -              if (yych <= '/') goto yy817;
 -              if (yych >= '5') goto yy996;
++              if (yych <= '/') goto yy842;
++              if (yych >= '5') goto yy1021;
        } else {
-               if (yych <= 'Z') goto yy638;
-               if (yych <= '`') goto yy507;
-               if (yych <= 'z') goto yy638;
 -              if (yych <= '9') goto yy816;
 -              if (yych <= ':') goto yy995;
 -              goto yy817;
++              if (yych <= '9') goto yy841;
++              if (yych <= ':') goto yy1020;
++              goto yy842;
        }
- yy507:
-       YYDEBUG(507, *YYCURSOR);
- #line 1042 "parse_date.re"
-       {
-               DEBUG_OUTPUT("noon");
-               TIMELIB_INIT;
-               TIMELIB_UNHAVE_TIME();
-               TIMELIB_HAVE_TIME();
-               s->time->h = 12;
-               TIMELIB_DEINIT;
-               return TIMELIB_RELATIVE;
 -yy994:
 -      YYDEBUG(994, *YYCURSOR);
++yy1019:
++      YYDEBUG(1019, *YYCURSOR);
+       yych = *++YYCURSOR;
 -      if (yych <= '/') goto yy817;
 -      if (yych <= '5') goto yy996;
 -      if (yych <= '9') goto yy816;
 -      if (yych >= ';') goto yy817;
 -yy995:
 -      YYDEBUG(995, *YYCURSOR);
++      if (yych <= '/') goto yy842;
++      if (yych <= '5') goto yy1021;
++      if (yych <= '9') goto yy841;
++      if (yych >= ';') goto yy842;
++yy1020:
++      YYDEBUG(1020, *YYCURSOR);
+       yych = *++YYCURSOR;
 -      if (yych <= '/') goto yy817;
 -      if (yych <= '5') goto yy996;
 -      if (yych <= '9') goto yy816;
 -      goto yy817;
 -yy996:
 -      YYDEBUG(996, *YYCURSOR);
++      if (yych <= '/') goto yy842;
++      if (yych <= '5') goto yy1021;
++      if (yych <= '9') goto yy841;
++      goto yy842;
++yy1021:
++      YYDEBUG(1021, *YYCURSOR);
+       yych = *++YYCURSOR;
 -      if (yych <= '/') goto yy817;
 -      if (yych <= '9') goto yy816;
 -      goto yy817;
 -yy997:
 -      YYDEBUG(997, *YYCURSOR);
++      if (yych <= '/') goto yy842;
++      if (yych <= '9') goto yy841;
++      goto yy842;
++yy1022:
++      YYDEBUG(1022, *YYCURSOR);
+       yych = *++YYCURSOR;
+       if (yych != 'T') goto yy55;
 -      YYDEBUG(998, *YYCURSOR);
++      YYDEBUG(1023, *YYCURSOR);
+       yych = *++YYCURSOR;
 -      if (yych == '+') goto yy991;
 -      if (yych == '-') goto yy991;
++      if (yych == '+') goto yy1016;
++      if (yych == '-') goto yy1016;
+       goto yy55;
 -yy999:
 -      YYDEBUG(999, *YYCURSOR);
++yy1024:
++      YYDEBUG(1024, *YYCURSOR);
+       yych = *++YYCURSOR;
 -      if (yych == 'C') goto yy1000;
++      if (yych == 'C') goto yy1025;
+       if (yych != 'c') goto yy55;
 -yy1000:
 -      YYDEBUG(1000, *YYCURSOR);
++yy1025:
++      YYDEBUG(1025, *YYCURSOR);
+       yyaccept = 19;
+       yych = *(YYMARKER = ++YYCURSOR);
+       if (yych <= 'D') {
 -              if (yych == '-') goto yy741;
 -              goto yy768;
++              if (yych == '-') goto yy766;
++              goto yy793;
+       } else {
 -              if (yych <= 'E') goto yy854;
 -              if (yych == 'e') goto yy854;
 -              goto yy768;
++              if (yych <= 'E') goto yy879;
++              if (yych == 'e') goto yy879;
++              goto yy793;
+       }
 -yy1001:
 -      YYDEBUG(1001, *YYCURSOR);
++yy1026:
++      YYDEBUG(1026, *YYCURSOR);
+       yych = *++YYCURSOR;
 -      if (yych == 'V') goto yy1002;
++      if (yych == 'V') goto yy1027;
+       if (yych != 'v') goto yy55;
 -yy1002:
 -      YYDEBUG(1002, *YYCURSOR);
++yy1027:
++      YYDEBUG(1027, *YYCURSOR);
+       yyaccept = 19;
+       yych = *(YYMARKER = ++YYCURSOR);
+       if (yych <= 'D') {
 -              if (yych == '-') goto yy741;
 -              goto yy768;
++              if (yych == '-') goto yy766;
++              goto yy793;
+       } else {
 -              if (yych <= 'E') goto yy861;
 -              if (yych == 'e') goto yy861;
 -              goto yy768;
++              if (yych <= 'E') goto yy886;
++              if (yych == 'e') goto yy886;
++              goto yy793;
+       }
 -yy1003:
 -      YYDEBUG(1003, *YYCURSOR);
++yy1028:
++      YYDEBUG(1028, *YYCURSOR);
+       yych = *++YYCURSOR;
 -      if (yych == 'T') goto yy1004;
++      if (yych == 'T') goto yy1029;
+       if (yych != 't') goto yy55;
 -yy1004:
 -      YYDEBUG(1004, *YYCURSOR);
++yy1029:
++      YYDEBUG(1029, *YYCURSOR);
+       yyaccept = 19;
+       yych = *(YYMARKER = ++YYCURSOR);
+       if (yych <= 'N') {
 -              if (yych == '-') goto yy741;
 -              goto yy768;
++              if (yych == '-') goto yy766;
++              goto yy793;
+       } else {
 -              if (yych <= 'O') goto yy867;
 -              if (yych == 'o') goto yy867;
 -              goto yy768;
++              if (yych <= 'O') goto yy892;
++              if (yych == 'o') goto yy892;
++              goto yy793;
        }
- #line 12216 "<stdout>"
- yy508:
-       YYDEBUG(508, *YYCURSOR);
-       yyaccept = 2;
 -yy1005:
 -      YYDEBUG(1005, *YYCURSOR);
++yy1030:
++      YYDEBUG(1030, *YYCURSOR);
+       yych = *++YYCURSOR;
 -      if (yych == 'P') goto yy1006;
++      if (yych == 'P') goto yy1031;
+       if (yych != 'p') goto yy55;
 -yy1006:
 -      YYDEBUG(1006, *YYCURSOR);
++yy1031:
++      YYDEBUG(1031, *YYCURSOR);
+       yyaccept = 19;
        yych = *(YYMARKER = ++YYCURSOR);
-       if (yych <= '-') {
-               if (yych <= ' ') {
-                       if (yych == '\t') goto yy681;
-                       if (yych <= 0x1F) goto yy18;
-                       goto yy681;
-               } else {
-                       if (yych == ')') goto yy108;
-                       if (yych <= ',') goto yy18;
-                       goto yy283;
-               }
+       if (yych <= 'S') {
 -              if (yych == '-') goto yy741;
 -              goto yy768;
++              if (yych == '-') goto yy766;
++              goto yy793;
        } else {
-               if (yych <= 'Z') {
-                       if (yych == '/') goto yy283;
-                       if (yych <= '@') goto yy18;
-                       goto yy638;
-               } else {
-                       if (yych <= '_') {
-                               if (yych <= '^') goto yy18;
-                               goto yy283;
-                       } else {
-                               if (yych <= '`') goto yy18;
-                               if (yych <= 'z') goto yy643;
-                               goto yy18;
-                       }
-               }
 -              if (yych <= 'T') goto yy1007;
 -              if (yych != 't') goto yy768;
++              if (yych <= 'T') goto yy1032;
++              if (yych != 't') goto yy793;
        }
- yy509:
-       YYDEBUG(509, *YYCURSOR);
-       yyaccept = 14;
 -yy1007:
 -      YYDEBUG(1007, *YYCURSOR);
++yy1032:
++      YYDEBUG(1032, *YYCURSOR);
+       yyaccept = 19;
        yych = *(YYMARKER = ++YYCURSOR);
-       if (yych <= '/') {
-               if (yych <= ',') {
-                       if (yych == ')') goto yy108;
-                       goto yy507;
-               } else {
-                       if (yych == '.') goto yy507;
-                       goto yy283;
-               }
+       if (yych <= 'D') {
 -              if (yych == '-') goto yy741;
 -              goto yy768;
++              if (yych == '-') goto yy766;
++              goto yy793;
        } else {
-               if (yych <= '^') {
-                       if (yych <= '@') goto yy507;
-                       if (yych <= 'Z') goto yy638;
-                       goto yy507;
-               } else {
-                       if (yych <= '_') goto yy283;
-                       if (yych <= '`') goto yy507;
-                       if (yych <= 'z') goto yy643;
-                       goto yy507;
-               }
 -              if (yych <= 'E') goto yy873;
 -              if (yych == 'e') goto yy873;
 -              goto yy768;
++              if (yych <= 'E') goto yy898;
++              if (yych == 'e') goto yy898;
++              goto yy793;
        }
- yy510:
-       YYDEBUG(510, *YYCURSOR);
 -yy1008:
 -      YYDEBUG(1008, *YYCURSOR);
++yy1033:
++      YYDEBUG(1033, *YYCURSOR);
        yych = *++YYCURSOR;
-       if (yych <= 'B') {
-               if (yych <= ')') {
-                       if (yych <= '(') goto yy18;
-                       goto yy108;
-               } else {
-                       if (yych <= '@') goto yy18;
-                       if (yych <= 'A') goto yy638;
-                       goto yy686;
-               }
 -      if (yych == 'G') goto yy1011;
 -      if (yych == 'g') goto yy1011;
++      if (yych == 'G') goto yy1036;
++      if (yych == 'g') goto yy1036;
+       goto yy55;
 -yy1009:
 -      YYDEBUG(1009, *YYCURSOR);
++yy1034:
++      YYDEBUG(1034, *YYCURSOR);
+       yych = *++YYCURSOR;
 -      if (yych == 'R') goto yy1010;
++      if (yych == 'R') goto yy1035;
+       if (yych != 'r') goto yy55;
 -yy1010:
 -      YYDEBUG(1010, *YYCURSOR);
++yy1035:
++      YYDEBUG(1035, *YYCURSOR);
+       yyaccept = 19;
+       yych = *(YYMARKER = ++YYCURSOR);
+       if (yych <= 'H') {
 -              if (yych == '-') goto yy741;
 -              goto yy768;
++              if (yych == '-') goto yy766;
++              goto yy793;
        } else {
-               if (yych <= 'a') {
-                       if (yych <= 'Z') goto yy638;
-                       if (yych <= '`') goto yy18;
-                       goto yy638;
-               } else {
-                       if (yych <= 'b') goto yy686;
-                       if (yych <= 'z') goto yy638;
-                       goto yy18;
-               }
 -              if (yych <= 'I') goto yy880;
 -              if (yych == 'i') goto yy880;
 -              goto yy768;
++              if (yych <= 'I') goto yy905;
++              if (yych == 'i') goto yy905;
++              goto yy793;
        }
- yy511:
-       YYDEBUG(511, *YYCURSOR);
-       yyaccept = 2;
 -yy1011:
 -      YYDEBUG(1011, *YYCURSOR);
++yy1036:
++      YYDEBUG(1036, *YYCURSOR);
+       yyaccept = 19;
        yych = *(YYMARKER = ++YYCURSOR);
-       if (yych <= 'A') {
-               if (yych <= '-') {
-                       if (yych == ')') goto yy108;
-                       if (yych <= ',') goto yy18;
-                       goto yy283;
-               } else {
-                       if (yych == '/') goto yy283;
-                       if (yych <= '@') goto yy18;
-                       goto yy638;
-               }
+       if (yych <= 'T') {
 -              if (yych == '-') goto yy741;
 -              goto yy768;
++              if (yych == '-') goto yy766;
++              goto yy793;
        } else {
-               if (yych <= '_') {
-                       if (yych <= 'B') goto yy686;
-                       if (yych <= 'Z') goto yy638;
-                       if (yych <= '^') goto yy18;
-                       goto yy283;
-               } else {
-                       if (yych <= 'a') {
-                               if (yych <= '`') goto yy18;
-                               goto yy643;
-                       } else {
-                               if (yych <= 'b') goto yy687;
-                               if (yych <= 'z') goto yy643;
-                               goto yy18;
-                       }
-               }
 -              if (yych <= 'U') goto yy882;
 -              if (yych == 'u') goto yy882;
 -              goto yy768;
++              if (yych <= 'U') goto yy907;
++              if (yych == 'u') goto yy907;
++              goto yy793;
        }
- yy512:
-       YYDEBUG(512, *YYCURSOR);
 -yy1012:
 -      YYDEBUG(1012, *YYCURSOR);
++yy1037:
++      YYDEBUG(1037, *YYCURSOR);
        yych = *++YYCURSOR;
-       if (yych <= 'I') {
-               if (yych <= ')') {
-                       if (yych <= '(') goto yy18;
-                       goto yy108;
-               } else {
-                       if (yych <= '@') goto yy18;
-                       if (yych <= 'H') goto yy638;
-                       goto yy688;
-               }
+       if (yych <= 'Y') {
 -              if (yych == 'R') goto yy1013;
++              if (yych == 'R') goto yy1038;
+               if (yych <= 'X') goto yy55;
 -              goto yy1014;
++              goto yy1039;
        } else {
-               if (yych <= 'h') {
-                       if (yych <= 'Z') goto yy638;
-                       if (yych <= '`') goto yy18;
-                       goto yy638;
+               if (yych <= 'r') {
+                       if (yych <= 'q') goto yy55;
                } else {
-                       if (yych <= 'i') goto yy688;
-                       if (yych <= 'z') goto yy638;
-                       goto yy18;
 -                      if (yych == 'y') goto yy1014;
++                      if (yych == 'y') goto yy1039;
+                       goto yy55;
                }
        }
- yy513:
-       YYDEBUG(513, *YYCURSOR);
-       yyaccept = 2;
 -yy1013:
 -      YYDEBUG(1013, *YYCURSOR);
++yy1038:
++      YYDEBUG(1038, *YYCURSOR);
+       yyaccept = 19;
        yych = *(YYMARKER = ++YYCURSOR);
-       if (yych <= 'H') {
-               if (yych <= '-') {
-                       if (yych == ')') goto yy108;
-                       if (yych <= ',') goto yy18;
-                       goto yy283;
-               } else {
-                       if (yych == '/') goto yy283;
-                       if (yych <= '@') goto yy18;
-                       goto yy638;
-               }
+       if (yych <= 'B') {
 -              if (yych == '-') goto yy741;
 -              goto yy768;
++              if (yych == '-') goto yy766;
++              goto yy793;
        } else {
-               if (yych <= '_') {
-                       if (yych <= 'I') goto yy688;
-                       if (yych <= 'Z') goto yy638;
-                       if (yych <= '^') goto yy18;
-                       goto yy283;
-               } else {
-                       if (yych <= 'h') {
-                               if (yych <= '`') goto yy18;
-                               goto yy643;
-                       } else {
-                               if (yych <= 'i') goto yy689;
-                               if (yych <= 'z') goto yy643;
-                               goto yy18;
-                       }
-               }
 -              if (yych <= 'C') goto yy886;
 -              if (yych == 'c') goto yy886;
 -              goto yy768;
++              if (yych <= 'C') goto yy911;
++              if (yych == 'c') goto yy911;
++              goto yy793;
        }
- yy514:
-       YYDEBUG(514, *YYCURSOR);
 -yy1014:
 -      YYDEBUG(1014, *YYCURSOR);
++yy1039:
++      YYDEBUG(1039, *YYCURSOR);
+       yyaccept = 19;
+       yych = *(YYMARKER = ++YYCURSOR);
 -      if (yych == '-') goto yy741;
 -      goto yy768;
 -yy1015:
 -      YYDEBUG(1015, *YYCURSOR);
++      if (yych == '-') goto yy766;
++      goto yy793;
++yy1040:
++      YYDEBUG(1040, *YYCURSOR);
        yych = *++YYCURSOR;
-       if (yych <= 'R') {
-               if (yych <= ')') {
-                       if (yych <= '(') goto yy18;
-                       goto yy108;
-               } else {
-                       if (yych <= '@') goto yy18;
-                       if (yych <= 'Q') goto yy638;
-                       goto yy690;
-               }
 -      if (yych == 'B') goto yy1016;
++      if (yych == 'B') goto yy1041;
+       if (yych != 'b') goto yy55;
 -yy1016:
 -      YYDEBUG(1016, *YYCURSOR);
++yy1041:
++      YYDEBUG(1041, *YYCURSOR);
+       yyaccept = 19;
+       yych = *(YYMARKER = ++YYCURSOR);
+       if (yych <= 'Q') {
 -              if (yych == '-') goto yy741;
 -              goto yy768;
++              if (yych == '-') goto yy766;
++              goto yy793;
        } else {
-               if (yych <= 'q') {
-                       if (yych <= 'Z') goto yy638;
-                       if (yych <= '`') goto yy18;
-                       goto yy638;
-               } else {
-                       if (yych <= 'r') goto yy690;
-                       if (yych <= 'z') goto yy638;
-                       goto yy18;
-               }
 -              if (yych <= 'R') goto yy889;
 -              if (yych == 'r') goto yy889;
 -              goto yy768;
++              if (yych <= 'R') goto yy914;
++              if (yych == 'r') goto yy914;
++              goto yy793;
        }
- yy515:
-       YYDEBUG(515, *YYCURSOR);
 -yy1017:
 -      YYDEBUG(1017, *YYCURSOR);
++yy1042:
++      YYDEBUG(1042, *YYCURSOR);
        yych = *++YYCURSOR;
        if (yych <= 'N') {
-               if (yych <= ')') {
-                       if (yych <= '(') goto yy18;
-                       goto yy108;
-               } else {
-                       if (yych <= '@') goto yy18;
-                       if (yych <= 'M') goto yy638;
-                       goto yy691;
-               }
 -              if (yych == 'L') goto yy1021;
++              if (yych == 'L') goto yy1046;
+               if (yych <= 'M') goto yy55;
 -              goto yy1020;
++              goto yy1045;
        } else {
-               if (yych <= 'm') {
-                       if (yych <= 'Z') goto yy638;
-                       if (yych <= '`') goto yy18;
-                       goto yy638;
+               if (yych <= 'l') {
+                       if (yych <= 'k') goto yy55;
 -                      goto yy1021;
++                      goto yy1046;
                } else {
-                       if (yych <= 'n') goto yy691;
-                       if (yych <= 'z') goto yy638;
-                       goto yy18;
 -                      if (yych == 'n') goto yy1020;
++                      if (yych == 'n') goto yy1045;
+                       goto yy55;
                }
        }
- yy516:
-       YYDEBUG(516, *YYCURSOR);
-       yyaccept = 7;
 -yy1018:
 -      YYDEBUG(1018, *YYCURSOR);
++yy1043:
++      YYDEBUG(1043, *YYCURSOR);
+       yych = *++YYCURSOR;
 -      if (yych == 'N') goto yy1019;
++      if (yych == 'N') goto yy1044;
+       if (yych != 'n') goto yy55;
 -yy1019:
 -      YYDEBUG(1019, *YYCURSOR);
++yy1044:
++      YYDEBUG(1044, *YYCURSOR);
+       yyaccept = 19;
        yych = *(YYMARKER = ++YYCURSOR);
-       if (yych <= '/') {
-               if (yych <= '(') {
-                       if (yych <= '\t') {
-                               if (yych <= 0x08) goto yy281;
-                               goto yy135;
-                       } else {
-                               if (yych == ' ') goto yy135;
-                               goto yy281;
-                       }
-               } else {
-                       if (yych <= ',') {
-                               if (yych <= ')') goto yy108;
-                               goto yy281;
-                       } else {
-                               if (yych <= '-') goto yy454;
-                               if (yych <= '.') goto yy135;
-                               goto yy281;
-                       }
-               }
+       if (yych <= 'T') {
 -              if (yych == '-') goto yy741;
 -              goto yy768;
++              if (yych == '-') goto yy766;
++              goto yy793;
        } else {
-               if (yych <= 'Z') {
-                       if (yych <= '@') {
-                               if (yych <= '9') goto yy135;
-                               goto yy281;
-                       } else {
-                               if (yych == 'E') goto yy692;
-                               goto yy638;
-                       }
-               } else {
-                       if (yych <= 'd') {
-                               if (yych <= '`') goto yy281;
-                               goto yy638;
-                       } else {
-                               if (yych <= 'e') goto yy692;
-                               if (yych <= 'z') goto yy638;
-                               goto yy281;
-                       }
-               }
 -              if (yych <= 'U') goto yy896;
 -              if (yych == 'u') goto yy896;
 -              goto yy768;
++              if (yych <= 'U') goto yy921;
++              if (yych == 'u') goto yy921;
++              goto yy793;
        }
- yy517:
-       YYDEBUG(517, *YYCURSOR);
 -yy1020:
 -      YYDEBUG(1020, *YYCURSOR);
++yy1045:
++      YYDEBUG(1045, *YYCURSOR);
+       yyaccept = 19;
+       yych = *(YYMARKER = ++YYCURSOR);
+       if (yych <= 'D') {
 -              if (yych == '-') goto yy741;
 -              goto yy768;
++              if (yych == '-') goto yy766;
++              goto yy793;
+       } else {
 -              if (yych <= 'E') goto yy858;
 -              if (yych == 'e') goto yy858;
 -              goto yy768;
++              if (yych <= 'E') goto yy883;
++              if (yych == 'e') goto yy883;
++              goto yy793;
+       }
 -yy1021:
 -      YYDEBUG(1021, *YYCURSOR);
++yy1046:
++      YYDEBUG(1046, *YYCURSOR);
+       yyaccept = 19;
+       yych = *(YYMARKER = ++YYCURSOR);
+       if (yych <= 'X') {
 -              if (yych == '-') goto yy741;
 -              goto yy768;
++              if (yych == '-') goto yy766;
++              goto yy793;
+       } else {
 -              if (yych <= 'Y') goto yy858;
 -              if (yych == 'y') goto yy858;
 -              goto yy768;
++              if (yych <= 'Y') goto yy883;
++              if (yych == 'y') goto yy883;
++              goto yy793;
+       }
 -yy1022:
 -      YYDEBUG(1022, *YYCURSOR);
++yy1047:
++      YYDEBUG(1047, *YYCURSOR);
        yych = *++YYCURSOR;
-       if (yych <= 'N') {
-               if (yych <= ')') {
-                       if (yych <= '(') goto yy18;
-                       goto yy108;
+       if (yych <= '.') {
+               if (yych <= '\t') {
 -                      if (yych <= 0x08) goto yy552;
 -                      goto yy705;
++                      if (yych <= 0x08) goto yy577;
++                      goto yy730;
                } else {
-                       if (yych <= '@') goto yy18;
-                       if (yych <= 'M') goto yy638;
-                       goto yy693;
 -                      if (yych <= ',') goto yy552;
 -                      if (yych <= '-') goto yy706;
 -                      goto yy705;
++                      if (yych <= ',') goto yy577;
++                      if (yych <= '-') goto yy731;
++                      goto yy730;
                }
        } else {
-               if (yych <= 'm') {
-                       if (yych <= 'Z') goto yy638;
-                       if (yych <= '`') goto yy18;
-                       goto yy638;
+               if (yych <= 'U') {
 -                      if (yych <= '/') goto yy704;
 -                      if (yych <= 'T') goto yy552;
++                      if (yych <= '/') goto yy729;
++                      if (yych <= 'T') goto yy577;
+                       goto yy89;
                } else {
-                       if (yych <= 'n') goto yy693;
-                       if (yych <= 'z') goto yy638;
-                       goto yy18;
+                       if (yych == 'u') goto yy89;
 -                      goto yy552;
++                      goto yy577;
                }
        }
- yy518:
-       YYDEBUG(518, *YYCURSOR);
-       yyaccept = 2;
-       yych = *(YYMARKER = ++YYCURSOR);
-       if (yych <= 'Q') {
-               if (yych <= '-') {
-                       if (yych == ')') goto yy108;
-                       if (yych <= ',') goto yy18;
-                       goto yy283;
-               } else {
-                       if (yych == '/') goto yy283;
-                       if (yych <= '@') goto yy18;
-                       goto yy638;
-               }
 -yy1023:
 -      YYDEBUG(1023, *YYCURSOR);
++yy1048:
++      YYDEBUG(1048, *YYCURSOR);
+       yych = *++YYCURSOR;
+       if (yych <= 'P') {
+               if (yych == 'C') goto yy131;
+               if (yych <= 'O') goto yy55;
 -              goto yy560;
++              goto yy585;
        } else {
-               if (yych <= '_') {
-                       if (yych <= 'R') goto yy690;
-                       if (yych <= 'Z') goto yy638;
-                       if (yych <= '^') goto yy18;
-                       goto yy283;
+               if (yych <= 'c') {
+                       if (yych <= 'b') goto yy55;
+                       goto yy131;
                } else {
-                       if (yych <= 'q') {
-                               if (yych <= '`') goto yy18;
-                               goto yy643;
-                       } else {
-                               if (yych <= 'r') goto yy694;
-                               if (yych <= 'z') goto yy643;
-                               goto yy18;
-                       }
 -                      if (yych == 'p') goto yy560;
++                      if (yych == 'p') goto yy585;
+                       goto yy55;
                }
        }
- yy519:
-       YYDEBUG(519, *YYCURSOR);
-       yyaccept = 2;
-       yych = *(YYMARKER = ++YYCURSOR);
-       if (yych <= 'M') {
-               if (yych <= '-') {
-                       if (yych == ')') goto yy108;
-                       if (yych <= ',') goto yy18;
-                       goto yy283;
 -yy1024:
 -      YYDEBUG(1024, *YYCURSOR);
++yy1049:
++      YYDEBUG(1049, *YYCURSOR);
+       yych = *++YYCURSOR;
+       if (yych <= '9') {
+               if (yych <= ',') {
 -                      if (yych == '\t') goto yy1026;
 -                      goto yy1028;
++                      if (yych == '\t') goto yy1051;
++                      goto yy1053;
                } else {
-                       if (yych == '/') goto yy283;
-                       if (yych <= '@') goto yy18;
-                       goto yy638;
 -                      if (yych <= '-') goto yy1025;
 -                      if (yych <= '.') goto yy705;
 -                      if (yych <= '/') goto yy704;
 -                      goto yy715;
++                      if (yych <= '-') goto yy1050;
++                      if (yych <= '.') goto yy730;
++                      if (yych <= '/') goto yy729;
++                      goto yy740;
                }
        } else {
-               if (yych <= '_') {
-                       if (yych <= 'N') goto yy691;
-                       if (yych <= 'Z') goto yy638;
-                       if (yych <= '^') goto yy18;
-                       goto yy283;
+               if (yych <= 'q') {
 -                      if (yych == 'n') goto yy444;
 -                      goto yy1028;
++                      if (yych == 'n') goto yy469;
++                      goto yy1053;
                } else {
-                       if (yych <= 'm') {
-                               if (yych <= '`') goto yy18;
-                               goto yy643;
-                       } else {
-                               if (yych <= 'n') goto yy695;
-                               if (yych <= 'z') goto yy643;
-                               goto yy18;
-                       }
 -                      if (yych <= 'r') goto yy445;
 -                      if (yych <= 's') goto yy439;
 -                      if (yych <= 't') goto yy442;
 -                      goto yy1028;
++                      if (yych <= 'r') goto yy470;
++                      if (yych <= 's') goto yy464;
++                      if (yych <= 't') goto yy467;
++                      goto yy1053;
                }
        }
- yy520:
-       YYDEBUG(520, *YYCURSOR);
-       yyaccept = 7;
-       yych = *(YYMARKER = ++YYCURSOR);
-       if (yych <= '9') {
-               if (yych <= '(') {
-                       if (yych <= '\t') {
-                               if (yych <= 0x08) goto yy281;
-                               goto yy135;
 -yy1025:
 -      YYDEBUG(1025, *YYCURSOR);
++yy1050:
++      YYDEBUG(1050, *YYCURSOR);
+       yych = *++YYCURSOR;
+       switch (yych) {
 -      case '0':       goto yy1029;
 -      case '1':       goto yy1030;
++      case '0':       goto yy1054;
++      case '1':       goto yy1055;
+       case '2':
+       case '3':
+       case '4':
+       case '5':
+       case '6':
+       case '7':
+       case '8':
 -      case '9':       goto yy592;
++      case '9':       goto yy617;
+       case 'A':
 -      case 'a':       goto yy596;
++      case 'a':       goto yy621;
+       case 'D':
 -      case 'd':       goto yy600;
++      case 'd':       goto yy625;
+       case 'F':
 -      case 'f':       goto yy594;
++      case 'f':       goto yy619;
+       case 'J':
 -      case 'j':       goto yy593;
++      case 'j':       goto yy618;
+       case 'M':
 -      case 'm':       goto yy595;
++      case 'm':       goto yy620;
+       case 'N':
 -      case 'n':       goto yy599;
++      case 'n':       goto yy624;
+       case 'O':
 -      case 'o':       goto yy598;
++      case 'o':       goto yy623;
+       case 'S':
 -      case 's':       goto yy597;
 -      default:        goto yy552;
++      case 's':       goto yy622;
++      default:        goto yy577;
+       }
 -yy1026:
 -      YYDEBUG(1026, *YYCURSOR);
++yy1051:
++      YYDEBUG(1051, *YYCURSOR);
+       yych = *++YYCURSOR;
 -      if (yych <= '/') goto yy1028;
 -      if (yych <= '0') goto yy710;
 -      if (yych <= '1') goto yy711;
 -      if (yych <= '9') goto yy712;
 -      goto yy1028;
 -yy1027:
 -      YYDEBUG(1027, *YYCURSOR);
++      if (yych <= '/') goto yy1053;
++      if (yych <= '0') goto yy735;
++      if (yych <= '1') goto yy736;
++      if (yych <= '9') goto yy737;
++      goto yy1053;
++yy1052:
++      YYDEBUG(1052, *YYCURSOR);
+       ++YYCURSOR;
+       if ((YYLIMIT - YYCURSOR) < 13) YYFILL(13);
+       yych = *YYCURSOR;
 -yy1028:
 -      YYDEBUG(1028, *YYCURSOR);
++yy1053:
++      YYDEBUG(1053, *YYCURSOR);
+       if (yych <= 'W') {
+               if (yych <= 'G') {
+                       if (yych <= '.') {
+                               if (yych <= 0x1F) {
 -                                      if (yych == '\t') goto yy1027;
++                                      if (yych == '\t') goto yy1052;
+                                       goto yy55;
+                               } else {
 -                                      if (yych <= ' ') goto yy1027;
++                                      if (yych <= ' ') goto yy1052;
+                                       if (yych <= ',') goto yy55;
 -                                      goto yy551;
++                                      goto yy576;
+                               }
                        } else {
-                               if (yych == ' ') goto yy135;
-                               goto yy281;
+                               if (yych <= 'C') {
 -                                      if (yych == 'A') goto yy548;
++                                      if (yych == 'A') goto yy573;
+                                       goto yy55;
+                               } else {
 -                                      if (yych <= 'D') goto yy440;
 -                                      if (yych == 'F') goto yy441;
++                                      if (yych <= 'D') goto yy465;
++                                      if (yych == 'F') goto yy466;
+                                       goto yy55;
+                               }
                        }
                } else {
-                       if (yych <= '-') {
-                               if (yych <= ')') goto yy108;
-                               if (yych <= ',') goto yy281;
-                               goto yy460;
+                       if (yych <= 'N') {
+                               if (yych <= 'J') {
+                                       if (yych <= 'H') goto yy64;
 -                                      if (yych <= 'I') goto yy449;
 -                                      goto yy453;
++                                      if (yych <= 'I') goto yy474;
++                                      goto yy478;
+                               } else {
+                                       if (yych <= 'L') goto yy55;
 -                                      if (yych <= 'M') goto yy437;
 -                                      goto yy456;
++                                      if (yych <= 'M') goto yy462;
++                                      goto yy481;
+                               }
                        } else {
-                               if (yych == '/') goto yy283;
-                               goto yy135;
+                               if (yych <= 'S') {
 -                                      if (yych <= 'O') goto yy455;
++                                      if (yych <= 'O') goto yy480;
+                                       if (yych <= 'R') goto yy55;
 -                                      goto yy438;
++                                      goto yy463;
+                               } else {
+                                       if (yych <= 'T') goto yy69;
+                                       if (yych <= 'U') goto yy62;
 -                                      if (yych <= 'V') goto yy451;
++                                      if (yych <= 'V') goto yy476;
+                                       goto yy68;
+                               }
                        }
                }
        } else {
-               if (yych <= '^') {
-                       if (yych <= 'D') {
-                               if (yych <= '@') goto yy281;
-                               goto yy638;
-                       } else {
-                               if (yych <= 'E') goto yy692;
-                               if (yych <= 'Z') goto yy638;
-                               goto yy281;
-                       }
-               } else {
+               if (yych <= 'l') {
                        if (yych <= 'd') {
-                               if (yych <= '_') goto yy283;
-                               if (yych <= '`') goto yy281;
-                               goto yy643;
+                               if (yych <= '`') {
 -                                      if (yych <= 'X') goto yy452;
++                                      if (yych <= 'X') goto yy477;
+                                       if (yych <= 'Y') goto yy67;
+                                       goto yy55;
+                               } else {
 -                                      if (yych <= 'a') goto yy548;
++                                      if (yych <= 'a') goto yy573;
+                                       if (yych <= 'c') goto yy55;
 -                                      goto yy440;
++                                      goto yy465;
+                               }
                        } else {
-                               if (yych <= 'e') goto yy696;
-                               if (yych <= 'z') goto yy643;
-                               goto yy281;
+                               if (yych <= 'g') {
 -                                      if (yych == 'f') goto yy441;
++                                      if (yych == 'f') goto yy466;
+                                       goto yy55;
+                               } else {
+                                       if (yych <= 'h') goto yy64;
 -                                      if (yych == 'j') goto yy453;
++                                      if (yych == 'j') goto yy478;
+                                       goto yy55;
+                               }
                        }
-               }
-       }
- yy521:
-       YYDEBUG(521, *YYCURSOR);
-       yyaccept = 2;
-       yych = *(YYMARKER = ++YYCURSOR);
-       if (yych <= 'M') {
-               if (yych <= '-') {
-                       if (yych == ')') goto yy108;
-                       if (yych <= ',') goto yy18;
-                       goto yy283;
-               } else {
-                       if (yych == '/') goto yy283;
-                       if (yych <= '@') goto yy18;
-                       goto yy638;
-               }
-       } else {
-               if (yych <= '_') {
-                       if (yych <= 'N') goto yy693;
-                       if (yych <= 'Z') goto yy638;
-                       if (yych <= '^') goto yy18;
-                       goto yy283;
                } else {
-                       if (yych <= 'm') {
-                               if (yych <= '`') goto yy18;
-                               goto yy643;
+                       if (yych <= 'u') {
+                               if (yych <= 'o') {
 -                                      if (yych <= 'm') goto yy437;
 -                                      if (yych <= 'n') goto yy456;
 -                                      goto yy455;
++                                      if (yych <= 'm') goto yy462;
++                                      if (yych <= 'n') goto yy481;
++                                      goto yy480;
+                               } else {
+                                       if (yych <= 'r') goto yy55;
 -                                      if (yych <= 's') goto yy438;
++                                      if (yych <= 's') goto yy463;
+                                       if (yych <= 't') goto yy69;
+                                       goto yy62;
+                               }
                        } else {
-                               if (yych <= 'n') goto yy697;
-                               if (yych <= 'z') goto yy643;
-                               goto yy18;
+                               if (yych <= 'x') {
+                                       if (yych == 'w') goto yy68;
+                                       goto yy55;
+                               } else {
+                                       if (yych <= 'y') goto yy67;
+                                       if (yych == 0xC2) goto yy61;
+                                       goto yy55;
+                               }
                        }
                }
        }
- yy522:
-       YYDEBUG(522, *YYCURSOR);
 -yy1029:
 -      YYDEBUG(1029, *YYCURSOR);
++yy1054:
++      YYDEBUG(1054, *YYCURSOR);
        yych = *++YYCURSOR;
-       if (yych <= '/') goto yy56;
-       if (yych <= '9') goto yy698;
-       goto yy56;
- yy523:
-       YYDEBUG(523, *YYCURSOR);
+       if (yych <= '.') {
+               if (yych <= ',') goto yy55;
 -              if (yych <= '-') goto yy629;
 -              goto yy576;
++              if (yych <= '-') goto yy654;
++              goto yy601;
+       } else {
+               if (yych <= '/') goto yy55;
 -              if (yych <= '9') goto yy1031;
++              if (yych <= '9') goto yy1056;
+               goto yy55;
+       }
 -yy1030:
 -      YYDEBUG(1030, *YYCURSOR);
++yy1055:
++      YYDEBUG(1055, *YYCURSOR);
        yych = *++YYCURSOR;
-       if (yych <= 'D') {
-               if (yych <= ')') {
-                       if (yych <= '(') goto yy18;
-                       goto yy108;
-               } else {
-                       if (yych <= '@') goto yy18;
-                       if (yych <= 'C') goto yy638;
-                       goto yy654;
-               }
+       if (yych <= '.') {
+               if (yych <= ',') goto yy55;
 -              if (yych <= '-') goto yy629;
 -              goto yy576;
++              if (yych <= '-') goto yy654;
++              goto yy601;
        } else {
-               if (yych <= 'c') {
-                       if (yych <= 'Z') goto yy638;
-                       if (yych <= '`') goto yy18;
-                       goto yy638;
-               } else {
-                       if (yych <= 'd') goto yy654;
-                       if (yych <= 'z') goto yy638;
-                       goto yy18;
-               }
+               if (yych <= '/') goto yy55;
+               if (yych >= '3') goto yy55;
        }
- yy524:
-       YYDEBUG(524, *YYCURSOR);
 -yy1031:
 -      YYDEBUG(1031, *YYCURSOR);
++yy1056:
++      YYDEBUG(1056, *YYCURSOR);
        yych = *++YYCURSOR;
-       if (yych <= 'S') {
-               if (yych <= ')') {
-                       if (yych <= '(') goto yy18;
-                       goto yy108;
+       if (yych <= ',') goto yy55;
 -      if (yych <= '-') goto yy1032;
 -      if (yych <= '.') goto yy576;
++      if (yych <= '-') goto yy1057;
++      if (yych <= '.') goto yy601;
+       goto yy55;
 -yy1032:
 -      YYDEBUG(1032, *YYCURSOR);
++yy1057:
++      YYDEBUG(1057, *YYCURSOR);
+       yych = *++YYCURSOR;
+       if (yych <= '2') {
+               if (yych <= '/') goto yy55;
 -              if (yych >= '1') goto yy1034;
++              if (yych >= '1') goto yy1059;
+       } else {
 -              if (yych <= '3') goto yy1035;
 -              if (yych <= '9') goto yy633;
++              if (yych <= '3') goto yy1060;
++              if (yych <= '9') goto yy658;
+               goto yy55;
+       }
 -      YYDEBUG(1033, *YYCURSOR);
++      YYDEBUG(1058, *YYCURSOR);
+       yyaccept = 12;
+       yych = *(YYMARKER = ++YYCURSOR);
+       if (yych <= 'n') {
 -              if (yych <= '/') goto yy631;
 -              if (yych <= '9') goto yy1036;
 -              if (yych <= 'm') goto yy631;
 -              goto yy635;
++              if (yych <= '/') goto yy656;
++              if (yych <= '9') goto yy1061;
++              if (yych <= 'm') goto yy656;
++              goto yy660;
+       } else {
+               if (yych <= 'r') {
 -                      if (yych <= 'q') goto yy631;
 -                      goto yy636;
++                      if (yych <= 'q') goto yy656;
++                      goto yy661;
                } else {
-                       if (yych <= '@') goto yy18;
-                       if (yych <= 'R') goto yy638;
-                       goto yy690;
 -                      if (yych <= 's') goto yy634;
 -                      if (yych <= 't') goto yy637;
 -                      goto yy631;
++                      if (yych <= 's') goto yy659;
++                      if (yych <= 't') goto yy662;
++                      goto yy656;
                }
 -yy1034:
 -      YYDEBUG(1034, *YYCURSOR);
+       }
 -              if (yych <= '/') goto yy631;
 -              if (yych <= '9') goto yy1036;
 -              if (yych <= 'm') goto yy631;
 -              goto yy635;
++yy1059:
++      YYDEBUG(1059, *YYCURSOR);
+       yyaccept = 12;
+       yych = *(YYMARKER = ++YYCURSOR);
+       if (yych <= 'n') {
++              if (yych <= '/') goto yy656;
++              if (yych <= '9') goto yy1061;
++              if (yych <= 'm') goto yy656;
++              goto yy660;
        } else {
                if (yych <= 'r') {
-                       if (yych <= 'Z') goto yy638;
-                       if (yych <= '`') goto yy18;
-                       goto yy638;
 -                      if (yych <= 'q') goto yy631;
 -                      goto yy636;
++                      if (yych <= 'q') goto yy656;
++                      goto yy661;
                } else {
-                       if (yych <= 's') goto yy690;
-                       if (yych <= 'z') goto yy638;
-                       goto yy18;
 -                      if (yych <= 's') goto yy634;
 -                      if (yych <= 't') goto yy637;
 -                      goto yy631;
++                      if (yych <= 's') goto yy659;
++                      if (yych <= 't') goto yy662;
++                      goto yy656;
                }
        }
- yy525:
-       YYDEBUG(525, *YYCURSOR);
-       yych = *++YYCURSOR;
-       if (yych <= 'Y') {
-               if (yych <= ')') {
-                       if (yych <= '(') goto yy18;
-                       goto yy108;
 -yy1035:
 -      YYDEBUG(1035, *YYCURSOR);
++yy1060:
++      YYDEBUG(1060, *YYCURSOR);
+       yyaccept = 12;
+       yych = *(YYMARKER = ++YYCURSOR);
+       if (yych <= 'n') {
+               if (yych <= '1') {
 -                      if (yych <= '/') goto yy631;
++                      if (yych <= '/') goto yy656;
                } else {
-                       if (yych <= '@') goto yy18;
-                       if (yych <= 'X') goto yy638;
-                       goto yy699;
 -                      if (yych <= '9') goto yy578;
 -                      if (yych <= 'm') goto yy631;
 -                      goto yy635;
++                      if (yych <= '9') goto yy603;
++                      if (yych <= 'm') goto yy656;
++                      goto yy660;
                }
        } else {
-               if (yych <= 'x') {
-                       if (yych <= 'Z') goto yy638;
-                       if (yych <= '`') goto yy18;
-                       goto yy638;
+               if (yych <= 'r') {
 -                      if (yych <= 'q') goto yy631;
 -                      goto yy636;
++                      if (yych <= 'q') goto yy656;
++                      goto yy661;
                } else {
-                       if (yych <= 'y') goto yy699;
-                       if (yych <= 'z') goto yy638;
-                       goto yy18;
 -                      if (yych <= 's') goto yy634;
 -                      if (yych <= 't') goto yy637;
 -                      goto yy631;
++                      if (yych <= 's') goto yy659;
++                      if (yych <= 't') goto yy662;
++                      goto yy656;
                }
        }
- yy526:
-       YYDEBUG(526, *YYCURSOR);
-       yych = *++YYCURSOR;
-       if (yych <= 'R') {
-               if (yych <= ')') {
-                       if (yych <= '(') goto yy18;
-                       goto yy108;
-               } else {
-                       if (yych <= '@') goto yy18;
-                       if (yych <= 'Q') goto yy638;
-                       goto yy701;
-               }
 -yy1036:
 -      YYDEBUG(1036, *YYCURSOR);
++yy1061:
++      YYDEBUG(1061, *YYCURSOR);
+       yyaccept = 14;
+       yych = *(YYMARKER = ++YYCURSOR);
+       if (yych <= 'n') {
 -              if (yych <= '/') goto yy738;
 -              if (yych <= '9') goto yy579;
 -              if (yych <= 'm') goto yy738;
 -              goto yy635;
++              if (yych <= '/') goto yy763;
++              if (yych <= '9') goto yy604;
++              if (yych <= 'm') goto yy763;
++              goto yy660;
        } else {
-               if (yych <= 'q') {
-                       if (yych <= 'Z') goto yy638;
-                       if (yych <= '`') goto yy18;
-                       goto yy638;
+               if (yych <= 'r') {
 -                      if (yych <= 'q') goto yy738;
 -                      goto yy636;
++                      if (yych <= 'q') goto yy763;
++                      goto yy661;
                } else {
-                       if (yych <= 'r') goto yy701;
-                       if (yych <= 'z') goto yy638;
-                       goto yy18;
 -                      if (yych <= 's') goto yy634;
 -                      if (yych <= 't') goto yy637;
 -                      goto yy738;
++                      if (yych <= 's') goto yy659;
++                      if (yych <= 't') goto yy662;
++                      goto yy763;
                }
 -      }
 -yy1037:
 -      YYDEBUG(1037, *YYCURSOR);
 +      }
- yy527:
-       YYDEBUG(527, *YYCURSOR);
++yy1062:
++      YYDEBUG(1062, *YYCURSOR);
        yych = *++YYCURSOR;
-       if (yych <= 'D') {
-               if (yych <= ')') {
-                       if (yych <= '(') goto yy18;
-                       goto yy108;
+       if (yych <= '9') {
+               if (yych <= '-') {
 -                      if (yych == '\t') goto yy1026;
 -                      if (yych <= ',') goto yy1028;
 -                      goto yy1025;
++                      if (yych == '\t') goto yy1051;
++                      if (yych <= ',') goto yy1053;
++                      goto yy1050;
                } else {
-                       if (yych <= '@') goto yy18;
-                       if (yych <= 'C') goto yy638;
-                       goto yy702;
 -                      if (yych <= '.') goto yy1038;
 -                      if (yych <= '/') goto yy704;
 -                      if (yych <= '5') goto yy1040;
 -                      goto yy715;
++                      if (yych <= '.') goto yy1063;
++                      if (yych <= '/') goto yy729;
++                      if (yych <= '5') goto yy1065;
++                      goto yy740;
                }
        } else {
-               if (yych <= 'c') {
-                       if (yych <= 'Z') goto yy638;
-                       if (yych <= '`') goto yy18;
-                       goto yy638;
+               if (yych <= 'q') {
 -                      if (yych <= ':') goto yy1039;
 -                      if (yych == 'n') goto yy444;
 -                      goto yy1028;
++                      if (yych <= ':') goto yy1064;
++                      if (yych == 'n') goto yy469;
++                      goto yy1053;
                } else {
-                       if (yych <= 'd') goto yy702;
-                       if (yych <= 'z') goto yy638;
-                       goto yy18;
 -                      if (yych <= 'r') goto yy445;
 -                      if (yych <= 's') goto yy439;
 -                      if (yych <= 't') goto yy442;
 -                      goto yy1028;
++                      if (yych <= 'r') goto yy470;
++                      if (yych <= 's') goto yy464;
++                      if (yych <= 't') goto yy467;
++                      goto yy1053;
                }
        }
- yy528:
-       YYDEBUG(528, *YYCURSOR);
 -yy1038:
 -      YYDEBUG(1038, *YYCURSOR);
++yy1063:
++      YYDEBUG(1063, *YYCURSOR);
        yych = *++YYCURSOR;
-       if (yych <= 'F') {
-               if (yych <= ')') {
-                       if (yych <= '(') goto yy18;
-                       goto yy108;
-               } else {
-                       if (yych <= '@') goto yy18;
-                       if (yych <= 'E') goto yy638;
-                       goto yy693;
-               }
+       if (yych <= '1') {
 -              if (yych <= '/') goto yy552;
 -              if (yych <= '0') goto yy1062;
 -              goto yy1063;
++              if (yych <= '/') goto yy577;
++              if (yych <= '0') goto yy1087;
++              goto yy1088;
        } else {
-               if (yych <= 'e') {
-                       if (yych <= 'Z') goto yy638;
-                       if (yych <= '`') goto yy18;
-                       goto yy638;
-               } else {
-                       if (yych <= 'f') goto yy693;
-                       if (yych <= 'z') goto yy638;
-                       goto yy18;
-               }
 -              if (yych <= '5') goto yy1064;
 -              if (yych <= '9') goto yy1065;
 -              goto yy552;
++              if (yych <= '5') goto yy1089;
++              if (yych <= '9') goto yy1090;
++              goto yy577;
        }
- yy529:
-       YYDEBUG(529, *YYCURSOR);
-       yyaccept = 2;
 -yy1039:
 -      YYDEBUG(1039, *YYCURSOR);
++yy1064:
++      YYDEBUG(1064, *YYCURSOR);
+       yych = *++YYCURSOR;
+       if (yych <= '/') goto yy55;
 -      if (yych <= '5') goto yy1057;
 -      if (yych <= '9') goto yy1058;
++      if (yych <= '5') goto yy1082;
++      if (yych <= '9') goto yy1083;
+       goto yy55;
 -yy1040:
 -      YYDEBUG(1040, *YYCURSOR);
++yy1065:
++      YYDEBUG(1065, *YYCURSOR);
+       yych = *++YYCURSOR;
 -      if (yych == '-') goto yy759;
++      if (yych == '-') goto yy784;
+       if (yych <= '/') goto yy59;
+       if (yych >= ':') goto yy59;
 -      YYDEBUG(1041, *YYCURSOR);
++      YYDEBUG(1066, *YYCURSOR);
+       yyaccept = 23;
        yych = *(YYMARKER = ++YYCURSOR);
-       if (yych <= 'C') {
-               if (yych <= '-') {
-                       if (yych == ')') goto yy108;
-                       if (yych <= ',') goto yy18;
-                       goto yy283;
+       if (yych <= 'L') {
+               if (yych <= '3') {
+                       if (yych <= '-') {
+                               if (yych <= 0x1F) {
 -                                      if (yych == '\t') goto yy765;
++                                      if (yych == '\t') goto yy790;
+                               } else {
 -                                      if (yych <= ' ') goto yy765;
 -                                      if (yych >= '-') goto yy762;
++                                      if (yych <= ' ') goto yy790;
++                                      if (yych >= '-') goto yy787;
+                               }
+                       } else {
+                               if (yych <= '0') {
 -                                      if (yych <= '.') goto yy766;
 -                                      if (yych <= '/') goto yy763;
 -                                      goto yy1043;
++                                      if (yych <= '.') goto yy791;
++                                      if (yych <= '/') goto yy788;
++                                      goto yy1068;
+                               } else {
 -                                      if (yych <= '1') goto yy1044;
 -                                      if (yych <= '2') goto yy1045;
 -                                      goto yy1046;
++                                      if (yych <= '1') goto yy1069;
++                                      if (yych <= '2') goto yy1070;
++                                      goto yy1071;
+                               }
+                       }
                } else {
-                       if (yych == '/') goto yy283;
-                       if (yych <= '@') goto yy18;
-                       goto yy638;
+                       if (yych <= 'A') {
+                               if (yych <= '9') {
 -                                      if (yych <= '5') goto yy1047;
 -                                      if (yych <= '6') goto yy1048;
++                                      if (yych <= '5') goto yy1072;
++                                      if (yych <= '6') goto yy1073;
+                                       goto yy73;
+                               } else {
 -                                      if (yych <= ':') goto yy781;
 -                                      if (yych >= 'A') goto yy765;
++                                      if (yych <= ':') goto yy806;
++                                      if (yych >= 'A') goto yy790;
+                               }
+                       } else {
+                               if (yych <= 'E') {
 -                                      if (yych == 'D') goto yy765;
++                                      if (yych == 'D') goto yy790;
+                               } else {
 -                                      if (yych == 'G') goto yy1042;
 -                                      if (yych <= 'J') goto yy765;
++                                      if (yych == 'G') goto yy1067;
++                                      if (yych <= 'J') goto yy790;
+                               }
+                       }
                }
        } else {
-               if (yych <= '_') {
-                       if (yych <= 'D') goto yy654;
-                       if (yych <= 'Z') goto yy638;
-                       if (yych <= '^') goto yy18;
-                       goto yy283;
+               if (yych <= 'h') {
+                       if (yych <= '`') {
+                               if (yych <= 'V') {
 -                                      if (yych <= 'O') goto yy765;
 -                                      if (yych >= 'S') goto yy765;
++                                      if (yych <= 'O') goto yy790;
++                                      if (yych >= 'S') goto yy790;
+                               } else {
 -                                      if (yych <= 'W') goto yy784;
 -                                      if (yych <= 'Y') goto yy765;
++                                      if (yych <= 'W') goto yy809;
++                                      if (yych <= 'Y') goto yy790;
+                               }
+                       } else {
+                               if (yych <= 'd') {
 -                                      if (yych <= 'a') goto yy765;
 -                                      if (yych >= 'd') goto yy765;
++                                      if (yych <= 'a') goto yy790;
++                                      if (yych >= 'd') goto yy790;
+                               } else {
 -                                      if (yych == 'f') goto yy765;
 -                                      if (yych >= 'h') goto yy765;
++                                      if (yych == 'f') goto yy790;
++                                      if (yych >= 'h') goto yy790;
+                               }
+                       }
                } else {
-                       if (yych <= 'c') {
-                               if (yych <= '`') goto yy18;
-                               goto yy643;
+                       if (yych <= 'u') {
+                               if (yych <= 'l') {
 -                                      if (yych == 'j') goto yy765;
++                                      if (yych == 'j') goto yy790;
+                               } else {
 -                                      if (yych <= 'o') goto yy765;
 -                                      if (yych >= 's') goto yy765;
++                                      if (yych <= 'o') goto yy790;
++                                      if (yych >= 's') goto yy790;
+                               }
                        } else {
-                               if (yych <= 'd') goto yy660;
-                               if (yych <= 'z') goto yy643;
-                               goto yy18;
+                               if (yych <= 'x') {
 -                                      if (yych == 'w') goto yy765;
++                                      if (yych == 'w') goto yy790;
+                               } else {
 -                                      if (yych <= 'y') goto yy765;
 -                                      if (yych == 0xC2) goto yy765;
++                                      if (yych <= 'y') goto yy790;
++                                      if (yych == 0xC2) goto yy790;
+                               }
                        }
                }
        }
- yy530:
-       YYDEBUG(530, *YYCURSOR);
-       yyaccept = 2;
-       yych = *(YYMARKER = ++YYCURSOR);
-       if (yych <= 'R') {
-               if (yych <= '-') {
-                       if (yych == ')') goto yy108;
-                       if (yych <= ',') goto yy18;
-                       goto yy283;
-               } else {
-                       if (yych == '/') goto yy283;
-                       if (yych <= '@') goto yy18;
-                       goto yy638;
 -yy1042:
 -      YYDEBUG(1042, *YYCURSOR);
 -#line 1250 "parse_date.re"
++yy1067:
++      YYDEBUG(1067, *YYCURSOR);
++#line 1260 "parse_date.re"
+       {
+               DEBUG_OUTPUT("gnunocolon");
+               TIMELIB_INIT;
+               switch (s->time->have_time) {
+                       case 0:
 -                              s->time->h = timelib_get_nr((char **) &ptr, 2);
 -                              s->time->i = timelib_get_nr((char **) &ptr, 2);
++                              s->time->h = timelib_get_nr(&ptr, 2);
++                              s->time->i = timelib_get_nr(&ptr, 2);
+                               s->time->s = 0;
+                               break;
+                       case 1:
 -                              s->time->y = timelib_get_nr((char **) &ptr, 4);
++                              s->time->y = timelib_get_nr(&ptr, 4);
+                               break;
+                       default:
+                               TIMELIB_DEINIT;
+                               add_error(s, TIMELIB_ERR_DOUBLE_TIME, "Double time specification");
+                               return TIMELIB_ERROR;
                }
-       } else {
-               if (yych <= '_') {
-                       if (yych <= 'S') goto yy690;
-                       if (yych <= 'Z') goto yy638;
-                       if (yych <= '^') goto yy18;
-                       goto yy283;
+               s->time->have_time++;
+               TIMELIB_DEINIT;
+               return TIMELIB_GNU_NOCOLON;
+       }
 -#line 15478 "<stdout>"
 -yy1043:
 -      YYDEBUG(1043, *YYCURSOR);
++#line 15615 "<stdout>"
++yy1068:
++      YYDEBUG(1068, *YYCURSOR);
+       yych = *++YYCURSOR;
+       if (yych <= '/') goto yy59;
 -      if (yych <= '0') goto yy1055;
 -      if (yych <= '9') goto yy1056;
++      if (yych <= '0') goto yy1080;
++      if (yych <= '9') goto yy1081;
+       goto yy59;
 -yy1044:
 -      YYDEBUG(1044, *YYCURSOR);
++yy1069:
++      YYDEBUG(1069, *YYCURSOR);
+       yych = *++YYCURSOR;
+       if (yych <= '/') goto yy59;
 -      if (yych <= '2') goto yy1054;
 -      if (yych <= '9') goto yy1053;
++      if (yych <= '2') goto yy1079;
++      if (yych <= '9') goto yy1078;
+       goto yy59;
 -yy1045:
 -      YYDEBUG(1045, *YYCURSOR);
++yy1070:
++      YYDEBUG(1070, *YYCURSOR);
+       yych = *++YYCURSOR;
+       if (yych <= '/') goto yy59;
 -      if (yych <= '9') goto yy1053;
++      if (yych <= '9') goto yy1078;
+       goto yy59;
 -yy1046:
 -      YYDEBUG(1046, *YYCURSOR);
++yy1071:
++      YYDEBUG(1071, *YYCURSOR);
+       yych = *++YYCURSOR;
+       if (yych <= '/') goto yy59;
 -      if (yych <= '5') goto yy1051;
 -      if (yych <= '6') goto yy1052;
 -      if (yych <= '9') goto yy1049;
++      if (yych <= '5') goto yy1076;
++      if (yych <= '6') goto yy1077;
++      if (yych <= '9') goto yy1074;
+       goto yy59;
 -yy1047:
 -      YYDEBUG(1047, *YYCURSOR);
++yy1072:
++      YYDEBUG(1072, *YYCURSOR);
+       yych = *++YYCURSOR;
+       if (yych <= '/') goto yy59;
 -      if (yych <= '9') goto yy1049;
++      if (yych <= '9') goto yy1074;
+       goto yy59;
 -yy1048:
 -      YYDEBUG(1048, *YYCURSOR);
++yy1073:
++      YYDEBUG(1073, *YYCURSOR);
+       yych = *++YYCURSOR;
+       if (yych <= '/') goto yy59;
 -      if (yych <= '0') goto yy1049;
++      if (yych <= '0') goto yy1074;
+       if (yych <= '9') goto yy74;
+       goto yy59;
 -yy1049:
 -      YYDEBUG(1049, *YYCURSOR);
++yy1074:
++      YYDEBUG(1074, *YYCURSOR);
+       yyaccept = 24;
+       yych = *(YYMARKER = ++YYCURSOR);
+       if (yych <= 'W') {
+               if (yych <= 'E') {
+                       if (yych <= ' ') {
+                               if (yych == '\t') goto yy59;
+                               if (yych >= ' ') goto yy59;
+                       } else {
+                               if (yych <= '9') {
+                                       if (yych >= '0') goto yy75;
+                               } else {
+                                       if (yych == 'D') goto yy59;
+                               }
+                       }
                } else {
-                       if (yych <= 'r') {
-                               if (yych <= '`') goto yy18;
-                               goto yy643;
+                       if (yych <= 'L') {
 -                              if (yych == 'G') goto yy1050;
++                              if (yych == 'G') goto yy1075;
+                               if (yych <= 'H') goto yy59;
                        } else {
-                               if (yych <= 's') goto yy694;
-                               if (yych <= 'z') goto yy643;
-                               goto yy18;
+                               if (yych <= 'R') {
+                                       if (yych <= 'M') goto yy59;
+                               } else {
+                                       if (yych != 'V') goto yy59;
+                               }
                        }
                }
-       }
- yy531:
-       YYDEBUG(531, *YYCURSOR);
-       yyaccept = 2;
-       yych = *(YYMARKER = ++YYCURSOR);
-       if (yych <= 'X') {
-               if (yych <= '-') {
-                       if (yych == ')') goto yy108;
-                       if (yych <= ',') goto yy18;
-                       goto yy283;
-               } else {
-                       if (yych == '/') goto yy283;
-                       if (yych <= '@') goto yy18;
-                       goto yy638;
-               }
        } else {
-               if (yych <= '_') {
-                       if (yych <= 'Y') goto yy699;
-                       if (yych <= 'Z') goto yy638;
-                       if (yych <= '^') goto yy18;
-                       goto yy283;
-               } else {
-                       if (yych <= 'x') {
-                               if (yych <= '`') goto yy18;
-                               goto yy643;
+               if (yych <= 'l') {
+                       if (yych <= 'd') {
+                               if (yych == 'Y') goto yy59;
+                               if (yych >= 'd') goto yy59;
                        } else {
-                               if (yych <= 'y') goto yy703;
-                               if (yych <= 'z') goto yy643;
-                               goto yy18;
+                               if (yych <= 'f') {
+                                       if (yych >= 'f') goto yy59;
+                               } else {
+                                       if (yych == 'h') goto yy59;
+                               }
                        }
-               }
-       }
- yy532:
-       YYDEBUG(532, *YYCURSOR);
-       yyaccept = 2;
-       yych = *(YYMARKER = ++YYCURSOR);
-       if (yych <= 'Q') {
-               if (yych <= '-') {
-                       if (yych == ')') goto yy108;
-                       if (yych <= ',') goto yy18;
-                       goto yy283;
                } else {
-                       if (yych == '/') goto yy283;
-                       if (yych <= '@') goto yy18;
-                       goto yy638;
-               }
-       } else {
-               if (yych <= '_') {
-                       if (yych <= 'R') goto yy701;
-                       if (yych <= 'Z') goto yy638;
-                       if (yych <= '^') goto yy18;
-                       goto yy283;
-               } else {
-                       if (yych <= 'q') {
-                               if (yych <= '`') goto yy18;
-                               goto yy643;
+                       if (yych <= 'w') {
+                               if (yych <= 'r') {
+                                       if (yych <= 'm') goto yy59;
+                               } else {
+                                       if (yych != 'v') goto yy59;
+                               }
                        } else {
-                               if (yych <= 'r') goto yy704;
-                               if (yych <= 'z') goto yy643;
-                               goto yy18;
+                               if (yych <= 'y') {
+                                       if (yych >= 'y') goto yy59;
+                               } else {
+                                       if (yych == 0xC2) goto yy59;
+                               }
                        }
                }
        }
- yy533:
-       YYDEBUG(533, *YYCURSOR);
-       yyaccept = 2;
-       yych = *(YYMARKER = ++YYCURSOR);
-       if (yych <= 'C') {
-               if (yych <= '-') {
-                       if (yych == ')') goto yy108;
-                       if (yych <= ',') goto yy18;
-                       goto yy283;
-               } else {
-                       if (yych == '/') goto yy283;
-                       if (yych <= '@') goto yy18;
-                       goto yy638;
-               }
-       } else {
-               if (yych <= '_') {
-                       if (yych <= 'D') goto yy702;
-                       if (yych <= 'Z') goto yy638;
-                       if (yych <= '^') goto yy18;
-                       goto yy283;
-               } else {
-                       if (yych <= 'c') {
-                               if (yych <= '`') goto yy18;
-                               goto yy643;
-                       } else {
-                               if (yych <= 'd') goto yy705;
-                               if (yych <= 'z') goto yy643;
-                               goto yy18;
 -yy1050:
 -      YYDEBUG(1050, *YYCURSOR);
 -#line 1296 "parse_date.re"
++yy1075:
++      YYDEBUG(1075, *YYCURSOR);
++#line 1306 "parse_date.re"
+       {
+               int tz_not_found;
+               DEBUG_OUTPUT("iso8601nocolon");
+               TIMELIB_INIT;
+               TIMELIB_HAVE_TIME();
 -              s->time->h = timelib_get_nr((char **) &ptr, 2);
 -              s->time->i = timelib_get_nr((char **) &ptr, 2);
 -              s->time->s = timelib_get_nr((char **) &ptr, 2);
++              s->time->h = timelib_get_nr(&ptr, 2);
++              s->time->i = timelib_get_nr(&ptr, 2);
++              s->time->s = timelib_get_nr(&ptr, 2);
+               if (*ptr != '\0') {
 -                      s->time->z = timelib_parse_zone((char **) &ptr, &s->time->dst, s->time, &tz_not_found, s->tzdb, tz_get_wrapper);
++                      s->time->z = timelib_parse_zone(&ptr, &s->time->dst, s->time, &tz_not_found, s->tzdb, tz_get_wrapper);
+                       if (tz_not_found) {
+                               add_error(s, TIMELIB_ERR_TZID_NOT_FOUND, "The timezone could not be found in the database");
                        }
                }
+               TIMELIB_DEINIT;
+               return TIMELIB_ISO_NOCOLON;
        }
- yy534:
-       YYDEBUG(534, *YYCURSOR);
-       yyaccept = 2;
 -#line 15597 "<stdout>"
 -yy1051:
 -      YYDEBUG(1051, *YYCURSOR);
++#line 15734 "<stdout>"
++yy1076:
++      YYDEBUG(1076, *YYCURSOR);
+       yyaccept = 24;
        yych = *(YYMARKER = ++YYCURSOR);
-       if (yych <= 'E') {
-               if (yych <= '-') {
-                       if (yych == ')') goto yy108;
-                       if (yych <= ',') goto yy18;
-                       goto yy283;
+       if (yych <= 'W') {
+               if (yych <= 'E') {
+                       if (yych <= ' ') {
+                               if (yych == '\t') goto yy59;
 -                              if (yych <= 0x1F) goto yy1050;
++                              if (yych <= 0x1F) goto yy1075;
+                               goto yy59;
+                       } else {
+                               if (yych <= '9') {
 -                                      if (yych <= '/') goto yy1050;
 -                                      goto yy795;
++                                      if (yych <= '/') goto yy1075;
++                                      goto yy820;
+                               } else {
+                                       if (yych == 'D') goto yy59;
 -                                      goto yy1050;
++                                      goto yy1075;
+                               }
+                       }
                } else {
-                       if (yych == '/') goto yy283;
-                       if (yych <= '@') goto yy18;
-                       goto yy638;
+                       if (yych <= 'L') {
 -                              if (yych == 'G') goto yy1050;
++                              if (yych == 'G') goto yy1075;
+                               if (yych <= 'H') goto yy59;
 -                              goto yy1050;
++                              goto yy1075;
+                       } else {
+                               if (yych <= 'R') {
+                                       if (yych <= 'M') goto yy59;
 -                                      goto yy1050;
++                                      goto yy1075;
+                               } else {
 -                                      if (yych == 'V') goto yy1050;
++                                      if (yych == 'V') goto yy1075;
+                                       goto yy59;
+                               }
+                       }
                }
        } else {
-               if (yych <= '_') {
-                       if (yych <= 'F') goto yy693;
-                       if (yych <= 'Z') goto yy638;
-                       if (yych <= '^') goto yy18;
-                       goto yy283;
+               if (yych <= 'l') {
+                       if (yych <= 'd') {
+                               if (yych == 'Y') goto yy59;
 -                              if (yych <= 'c') goto yy1050;
++                              if (yych <= 'c') goto yy1075;
+                               goto yy59;
+                       } else {
+                               if (yych <= 'f') {
 -                                      if (yych <= 'e') goto yy1050;
++                                      if (yych <= 'e') goto yy1075;
+                                       goto yy59;
+                               } else {
+                                       if (yych == 'h') goto yy59;
 -                                      goto yy1050;
++                                      goto yy1075;
+                               }
+                       }
                } else {
-                       if (yych <= 'e') {
-                               if (yych <= '`') goto yy18;
-                               goto yy643;
+                       if (yych <= 'w') {
+                               if (yych <= 'r') {
+                                       if (yych <= 'm') goto yy59;
 -                                      goto yy1050;
++                                      goto yy1075;
+                               } else {
 -                                      if (yych == 'v') goto yy1050;
++                                      if (yych == 'v') goto yy1075;
+                                       goto yy59;
+                               }
                        } else {
-                               if (yych <= 'f') goto yy697;
-                               if (yych <= 'z') goto yy643;
-                               goto yy18;
+                               if (yych <= 'y') {
 -                                      if (yych <= 'x') goto yy1050;
++                                      if (yych <= 'x') goto yy1075;
+                                       goto yy59;
+                               } else {
+                                       if (yych == 0xC2) goto yy59;
 -                                      goto yy1050;
++                                      goto yy1075;
+                               }
                        }
                }
        }
- yy535:
-       YYDEBUG(535, *YYCURSOR);
-       yyaccept = 2;
 -yy1052:
 -      YYDEBUG(1052, *YYCURSOR);
++yy1077:
++      YYDEBUG(1077, *YYCURSOR);
+       yyaccept = 24;
        yych = *(YYMARKER = ++YYCURSOR);
-       if (yych <= ',') {
-               if (yych <= 0x1F) {
-                       if (yych == '\t') goto yy135;
-                       goto yy18;
-               } else {
-                       if (yych <= ' ') goto yy135;
-                       if (yych == ')') goto yy108;
-                       goto yy18;
-               }
-       } else {
-               if (yych <= '@') {
-                       if (yych == '/') goto yy18;
-                       if (yych <= '9') goto yy135;
-                       goto yy18;
-               } else {
-                       if (yych <= 'Z') goto yy638;
-                       if (yych <= '`') goto yy18;
-                       if (yych <= 'z') goto yy638;
-                       goto yy18;
-               }
-       }
- yy536:
-       YYDEBUG(536, *YYCURSOR);
-       yych = *++YYCURSOR;
-       if (yych <= 'E') {
-               if (yych <= ')') {
-                       if (yych <= '(') goto yy18;
-                       goto yy108;
-               } else {
-                       if (yych <= '@') goto yy18;
-                       if (yych <= 'D') goto yy638;
-                       goto yy706;
-               }
-       } else {
-               if (yych <= 'd') {
-                       if (yych <= 'Z') goto yy638;
-                       if (yych <= '`') goto yy18;
-                       goto yy638;
-               } else {
-                       if (yych <= 'e') goto yy706;
-                       if (yych <= 'z') goto yy638;
-                       goto yy18;
-               }
-       }
- yy537:
-       YYDEBUG(537, *YYCURSOR);
-       yych = *++YYCURSOR;
-       if (yych <= 'D') {
-               if (yych <= ')') {
-                       if (yych <= '(') goto yy18;
-                       goto yy108;
+       if (yych <= 'W') {
+               if (yych <= 'D') {
+                       if (yych <= ' ') {
+                               if (yych == '\t') goto yy59;
 -                              if (yych <= 0x1F) goto yy1050;
++                              if (yych <= 0x1F) goto yy1075;
+                               goto yy59;
+                       } else {
+                               if (yych <= '6') {
 -                                      if (yych <= '/') goto yy1050;
 -                                      goto yy795;
++                                      if (yych <= '/') goto yy1075;
++                                      goto yy820;
+                               } else {
+                                       if (yych <= '9') goto yy75;
 -                                      if (yych <= 'C') goto yy1050;
++                                      if (yych <= 'C') goto yy1075;
+                                       goto yy59;
+                               }
+                       }
                } else {
-                       if (yych <= '@') goto yy18;
-                       if (yych <= 'C') goto yy638;
-                       goto yy707;
+                       if (yych <= 'L') {
+                               if (yych <= 'F') {
 -                                      if (yych <= 'E') goto yy1050;
++                                      if (yych <= 'E') goto yy1075;
+                                       goto yy59;
+                               } else {
+                                       if (yych == 'H') goto yy59;
 -                                      goto yy1050;
++                                      goto yy1075;
+                               }
+                       } else {
+                               if (yych <= 'R') {
+                                       if (yych <= 'M') goto yy59;
 -                                      goto yy1050;
++                                      goto yy1075;
+                               } else {
 -                                      if (yych == 'V') goto yy1050;
++                                      if (yych == 'V') goto yy1075;
+                                       goto yy59;
+                               }
+                       }
                }
        } else {
-               if (yych <= 'c') {
-                       if (yych <= 'Z') goto yy638;
-                       if (yych <= '`') goto yy18;
-                       goto yy638;
+               if (yych <= 'l') {
+                       if (yych <= 'd') {
+                               if (yych == 'Y') goto yy59;
 -                              if (yych <= 'c') goto yy1050;
++                              if (yych <= 'c') goto yy1075;
+                               goto yy59;
+                       } else {
+                               if (yych <= 'f') {
 -                                      if (yych <= 'e') goto yy1050;
++                                      if (yych <= 'e') goto yy1075;
+                                       goto yy59;
+                               } else {
+                                       if (yych == 'h') goto yy59;
 -                                      goto yy1050;
++                                      goto yy1075;
+                               }
+                       }
                } else {
-                       if (yych <= 'd') goto yy707;
-                       if (yych <= 'z') goto yy638;
-                       goto yy18;
+                       if (yych <= 'w') {
+                               if (yych <= 'r') {
+                                       if (yych <= 'm') goto yy59;
 -                                      goto yy1050;
++                                      goto yy1075;
+                               } else {
 -                                      if (yych == 'v') goto yy1050;
++                                      if (yych == 'v') goto yy1075;
+                                       goto yy59;
+                               }
+                       } else {
+                               if (yych <= 'y') {
 -                                      if (yych <= 'x') goto yy1050;
++                                      if (yych <= 'x') goto yy1075;
+                                       goto yy59;
+                               } else {
+                                       if (yych == 0xC2) goto yy59;
 -                                      goto yy1050;
++                                      goto yy1075;
+                               }
+                       }
                }
        }
- yy538:
-       YYDEBUG(538, *YYCURSOR);
-       yyaccept = 2;
 -yy1053:
 -      YYDEBUG(1053, *YYCURSOR);
++yy1078:
++      YYDEBUG(1078, *YYCURSOR);
+       yyaccept = 24;
        yych = *(YYMARKER = ++YYCURSOR);
-       if (yych <= 'D') {
-               if (yych <= '-') {
-                       if (yych == ')') goto yy108;
-                       if (yych <= ',') goto yy18;
-                       goto yy283;
+       if (yych <= 'W') {
+               if (yych <= 'E') {
+                       if (yych <= ' ') {
+                               if (yych == '\t') goto yy59;
 -                              if (yych <= 0x1F) goto yy1050;
++                              if (yych <= 0x1F) goto yy1075;
+                               goto yy59;
+                       } else {
+                               if (yych <= '9') {
 -                                      if (yych <= '/') goto yy1050;
 -                                      goto yy795;
++                                      if (yych <= '/') goto yy1075;
++                                      goto yy820;
+                               } else {
+                                       if (yych == 'D') goto yy59;
 -                                      goto yy1050;
++                                      goto yy1075;
+                               }
+                       }
                } else {
-                       if (yych == '/') goto yy283;
-                       if (yych <= '@') goto yy18;
-                       goto yy638;
+                       if (yych <= 'L') {
 -                              if (yych == 'G') goto yy1050;
++                              if (yych == 'G') goto yy1075;
+                               if (yych <= 'H') goto yy59;
 -                              goto yy1050;
++                              goto yy1075;
+                       } else {
+                               if (yych <= 'R') {
+                                       if (yych <= 'M') goto yy59;
 -                                      goto yy1050;
++                                      goto yy1075;
+                               } else {
 -                                      if (yych == 'V') goto yy1050;
++                                      if (yych == 'V') goto yy1075;
+                                       goto yy59;
+                               }
+                       }
                }
        } else {
-               if (yych <= '_') {
-                       if (yych <= 'E') goto yy706;
-                       if (yych <= 'Z') goto yy638;
-                       if (yych <= '^') goto yy18;
-                       goto yy283;
-               } else {
+               if (yych <= 'l') {
                        if (yych <= 'd') {
-                               if (yych <= '`') goto yy18;
-                               goto yy643;
+                               if (yych == 'Y') goto yy59;
 -                              if (yych <= 'c') goto yy1050;
++                              if (yych <= 'c') goto yy1075;
+                               goto yy59;
                        } else {
-                               if (yych <= 'e') goto yy708;
-                               if (yych <= 'z') goto yy643;
-                               goto yy18;
+                               if (yych <= 'f') {
 -                                      if (yych <= 'e') goto yy1050;
++                                      if (yych <= 'e') goto yy1075;
+                                       goto yy59;
+                               } else {
+                                       if (yych == 'h') goto yy59;
 -                                      goto yy1050;
++                                      goto yy1075;
+                               }
                        }
-               }
-       }
- yy539:
-       YYDEBUG(539, *YYCURSOR);
-       yyaccept = 2;
-       yych = *(YYMARKER = ++YYCURSOR);
-       if (yych <= 'C') {
-               if (yych <= '-') {
-                       if (yych == ')') goto yy108;
-                       if (yych <= ',') goto yy18;
-                       goto yy283;
-               } else {
-                       if (yych == '/') goto yy283;
-                       if (yych <= '@') goto yy18;
-                       goto yy638;
-               }
-       } else {
-               if (yych <= '_') {
-                       if (yych <= 'D') goto yy707;
-                       if (yych <= 'Z') goto yy638;
-                       if (yych <= '^') goto yy18;
-                       goto yy283;
                } else {
-                       if (yych <= 'c') {
-                               if (yych <= '`') goto yy18;
-                               goto yy643;
+                       if (yych <= 'w') {
+                               if (yych <= 'r') {
+                                       if (yych <= 'm') goto yy59;
 -                                      goto yy1050;
++                                      goto yy1075;
+                               } else {
 -                                      if (yych == 'v') goto yy1050;
++                                      if (yych == 'v') goto yy1075;
+                                       goto yy59;
+                               }
                        } else {
-                               if (yych <= 'd') goto yy709;
-                               if (yych <= 'z') goto yy643;
-                               goto yy18;
+                               if (yych <= 'y') {
 -                                      if (yych <= 'x') goto yy1050;
++                                      if (yych <= 'x') goto yy1075;
+                                       goto yy59;
+                               } else {
+                                       if (yych == 0xC2) goto yy59;
 -                                      goto yy1050;
++                                      goto yy1075;
+                               }
                        }
                }
        }
- yy540:
-       YYDEBUG(540, *YYCURSOR);
-       yych = *++YYCURSOR;
-       if (yych <= 'E') {
-               if (yych <= ')') {
-                       if (yych <= '(') goto yy18;
-                       goto yy108;
 -yy1054:
 -      YYDEBUG(1054, *YYCURSOR);
++yy1079:
++      YYDEBUG(1079, *YYCURSOR);
+       yyaccept = 24;
+       yych = *(YYMARKER = ++YYCURSOR);
+       if (yych <= 'V') {
+               if (yych <= 'C') {
+                       if (yych <= '/') {
+                               if (yych <= '\t') {
 -                                      if (yych <= 0x08) goto yy1050;
++                                      if (yych <= 0x08) goto yy1075;
+                                       goto yy59;
+                               } else {
+                                       if (yych == ' ') goto yy59;
 -                                      goto yy1050;
++                                      goto yy1075;
+                               }
+                       } else {
+                               if (yych <= '2') {
 -                                      if (yych <= '0') goto yy819;
 -                                      goto yy820;
++                                      if (yych <= '0') goto yy844;
++                                      goto yy845;
+                               } else {
 -                                      if (yych <= '3') goto yy821;
 -                                      if (yych <= '9') goto yy795;
 -                                      goto yy1050;
++                                      if (yych <= '3') goto yy846;
++                                      if (yych <= '9') goto yy820;
++                                      goto yy1075;
+                               }
+                       }
                } else {
-                       if (yych <= '@') goto yy18;
-                       if (yych <= 'D') goto yy638;
-                       goto yy710;
+                       if (yych <= 'H') {
+                               if (yych <= 'E') {
+                                       if (yych <= 'D') goto yy59;
 -                                      goto yy1050;
++                                      goto yy1075;
+                               } else {
 -                                      if (yych == 'G') goto yy1050;
++                                      if (yych == 'G') goto yy1075;
+                                       goto yy59;
+                               }
+                       } else {
+                               if (yych <= 'M') {
 -                                      if (yych <= 'L') goto yy1050;
++                                      if (yych <= 'L') goto yy1075;
+                                       goto yy59;
+                               } else {
 -                                      if (yych <= 'R') goto yy1050;
++                                      if (yych <= 'R') goto yy1075;
+                                       if (yych <= 'U') goto yy59;
 -                                      goto yy1050;
++                                      goto yy1075;
+                               }
+                       }
                }
        } else {
-               if (yych <= 'd') {
-                       if (yych <= 'Z') goto yy638;
-                       if (yych <= '`') goto yy18;
-                       goto yy638;
+               if (yych <= 'l') {
+                       if (yych <= 'd') {
+                               if (yych <= 'X') {
+                                       if (yych <= 'W') goto yy59;
 -                                      goto yy1050;
++                                      goto yy1075;
+                               } else {
+                                       if (yych <= 'Y') goto yy59;
 -                                      if (yych <= 'c') goto yy1050;
++                                      if (yych <= 'c') goto yy1075;
+                                       goto yy59;
+                               }
+                       } else {
+                               if (yych <= 'f') {
 -                                      if (yych <= 'e') goto yy1050;
++                                      if (yych <= 'e') goto yy1075;
+                                       goto yy59;
+                               } else {
+                                       if (yych == 'h') goto yy59;
 -                                      goto yy1050;
++                                      goto yy1075;
+                               }
+                       }
                } else {
-                       if (yych <= 'e') goto yy710;
-                       if (yych <= 'z') goto yy638;
-                       goto yy18;
+                       if (yych <= 'w') {
+                               if (yych <= 'r') {
+                                       if (yych <= 'm') goto yy59;
 -                                      goto yy1050;
++                                      goto yy1075;
+                               } else {
 -                                      if (yych == 'v') goto yy1050;
++                                      if (yych == 'v') goto yy1075;
+                                       goto yy59;
+                               }
+                       } else {
+                               if (yych <= 'y') {
 -                                      if (yych <= 'x') goto yy1050;
++                                      if (yych <= 'x') goto yy1075;
+                                       goto yy59;
+                               } else {
+                                       if (yych == 0xC2) goto yy59;
 -                                      goto yy1050;
++                                      goto yy1075;
+                               }
+                       }
                }
        }
- yy541:
-       YYDEBUG(541, *YYCURSOR);
-       yyaccept = 2;
 -yy1055:
 -      YYDEBUG(1055, *YYCURSOR);
++yy1080:
++      YYDEBUG(1080, *YYCURSOR);
+       yyaccept = 24;
        yych = *(YYMARKER = ++YYCURSOR);
-       if (yych <= 'D') {
-               if (yych <= '-') {
-                       if (yych == ')') goto yy108;
-                       if (yych <= ',') goto yy18;
-                       goto yy283;
+       if (yych <= 'V') {
+               if (yych <= 'C') {
+                       if (yych <= '/') {
+                               if (yych <= '\t') {
 -                                      if (yych <= 0x08) goto yy1050;
++                                      if (yych <= 0x08) goto yy1075;
+                                       goto yy59;
+                               } else {
+                                       if (yych == ' ') goto yy59;
 -                                      goto yy1050;
++                                      goto yy1075;
+                               }
+                       } else {
+                               if (yych <= '2') {
 -                                      if (yych <= '0') goto yy851;
 -                                      goto yy820;
++                                      if (yych <= '0') goto yy876;
++                                      goto yy845;
+                               } else {
 -                                      if (yych <= '3') goto yy821;
 -                                      if (yych <= '9') goto yy795;
 -                                      goto yy1050;
++                                      if (yych <= '3') goto yy846;
++                                      if (yych <= '9') goto yy820;
++                                      goto yy1075;
+                               }
+                       }
                } else {
-                       if (yych == '/') goto yy283;
-                       if (yych <= '@') goto yy18;
-                       goto yy638;
+                       if (yych <= 'H') {
+                               if (yych <= 'E') {
+                                       if (yych <= 'D') goto yy59;
 -                                      goto yy1050;
++                                      goto yy1075;
+                               } else {
 -                                      if (yych == 'G') goto yy1050;
++                                      if (yych == 'G') goto yy1075;
+                                       goto yy59;
+                               }
+                       } else {
+                               if (yych <= 'M') {
 -                                      if (yych <= 'L') goto yy1050;
++                                      if (yych <= 'L') goto yy1075;
+                                       goto yy59;
+                               } else {
 -                                      if (yych <= 'R') goto yy1050;
++                                      if (yych <= 'R') goto yy1075;
+                                       if (yych <= 'U') goto yy59;
 -                                      goto yy1050;
++                                      goto yy1075;
+                               }
+                       }
                }
        } else {
-               if (yych <= '_') {
-                       if (yych <= 'E') goto yy710;
-                       if (yych <= 'Z') goto yy638;
-                       if (yych <= '^') goto yy18;
-                       goto yy283;
-               } else {
+               if (yych <= 'l') {
                        if (yych <= 'd') {
-                               if (yych <= '`') goto yy18;
-                               goto yy643;
+                               if (yych <= 'X') {
+                                       if (yych <= 'W') goto yy59;
 -                                      goto yy1050;
++                                      goto yy1075;
+                               } else {
+                                       if (yych <= 'Y') goto yy59;
 -                                      if (yych <= 'c') goto yy1050;
++                                      if (yych <= 'c') goto yy1075;
+                                       goto yy59;
+                               }
+                       } else {
+                               if (yych <= 'f') {
 -                                      if (yych <= 'e') goto yy1050;
++                                      if (yych <= 'e') goto yy1075;
+                                       goto yy59;
+                               } else {
+                                       if (yych == 'h') goto yy59;
 -                                      goto yy1050;
++                                      goto yy1075;
+                               }
+                       }
+               } else {
+                       if (yych <= 'w') {
+                               if (yych <= 'r') {
+                                       if (yych <= 'm') goto yy59;
 -                                      goto yy1050;
++                                      goto yy1075;
+                               } else {
 -                                      if (yych == 'v') goto yy1050;
++                                      if (yych == 'v') goto yy1075;
+                                       goto yy59;
+                               }
                        } else {
-                               if (yych <= 'e') goto yy711;
-                               if (yych <= 'z') goto yy643;
-                               goto yy18;
+                               if (yych <= 'y') {
 -                                      if (yych <= 'x') goto yy1050;
++                                      if (yych <= 'x') goto yy1075;
+                                       goto yy59;
+                               } else {
+                                       if (yych == 0xC2) goto yy59;
 -                                      goto yy1050;
++                                      goto yy1075;
+                               }
                        }
                }
        }
- yy542:
-       YYDEBUG(542, *YYCURSOR);
-       yych = *++YYCURSOR;
-       if (yych <= '/') goto yy186;
-       if (yych <= '9') goto yy575;
-       goto yy186;
- yy543:
-       YYDEBUG(543, *YYCURSOR);
-       yyaccept = 2;
 -yy1056:
 -      YYDEBUG(1056, *YYCURSOR);
++yy1081:
++      YYDEBUG(1081, *YYCURSOR);
+       yyaccept = 24;
        yych = *(YYMARKER = ++YYCURSOR);
        if (yych <= 'V') {
                if (yych <= 'C') {
-                       if (yych <= ' ') {
-                               if (yych == '\t') goto yy186;
-                               if (yych <= 0x1F) goto yy18;
-                               goto yy186;
+                       if (yych <= '/') {
+                               if (yych <= '\t') {
 -                                      if (yych <= 0x08) goto yy1050;
++                                      if (yych <= 0x08) goto yy1075;
+                                       goto yy59;
+                               } else {
+                                       if (yych == ' ') goto yy59;
 -                                      goto yy1050;
++                                      goto yy1075;
+                               }
                        } else {
-                               if (yych <= '-') {
-                                       if (yych <= ',') goto yy18;
-                                       goto yy712;
+                               if (yych <= '2') {
 -                                      if (yych <= '0') goto yy819;
 -                                      goto yy820;
++                                      if (yych <= '0') goto yy844;
++                                      goto yy845;
                                } else {
-                                       if (yych <= '/') goto yy18;
-                                       if (yych <= '9') goto yy713;
-                                       goto yy18;
 -                                      if (yych <= '3') goto yy821;
 -                                      if (yych <= '9') goto yy795;
 -                                      goto yy1050;
++                                      if (yych <= '3') goto yy846;
++                                      if (yych <= '9') goto yy820;
++                                      goto yy1075;
                                }
                        }
                } else {
                        if (yych <= 'H') {
                                if (yych <= 'E') {
-                                       if (yych <= 'D') goto yy186;
-                                       goto yy18;
+                                       if (yych <= 'D') goto yy59;
 -                                      goto yy1050;
++                                      goto yy1075;
                                } else {
-                                       if (yych == 'G') goto yy18;
-                                       goto yy186;
 -                                      if (yych == 'G') goto yy1050;
++                                      if (yych == 'G') goto yy1075;
+                                       goto yy59;
                                }
                        } else {
                                if (yych <= 'M') {
-                                       if (yych <= 'L') goto yy18;
-                                       goto yy186;
 -                                      if (yych <= 'L') goto yy1050;
++                                      if (yych <= 'L') goto yy1075;
+                                       goto yy59;
                                } else {
-                                       if (yych <= 'R') goto yy18;
-                                       if (yych <= 'U') goto yy186;
-                                       goto yy18;
 -                                      if (yych <= 'R') goto yy1050;
++                                      if (yych <= 'R') goto yy1075;
+                                       if (yych <= 'U') goto yy59;
 -                                      goto yy1050;
++                                      goto yy1075;
                                }
                        }
                }
                if (yych <= 'l') {
                        if (yych <= 'd') {
                                if (yych <= 'X') {
-                                       if (yych <= 'W') goto yy186;
-                                       goto yy18;
+                                       if (yych <= 'W') goto yy59;
 -                                      goto yy1050;
++                                      goto yy1075;
                                } else {
-                                       if (yych <= 'Y') goto yy186;
-                                       if (yych <= 'c') goto yy18;
-                                       goto yy186;
+                                       if (yych <= 'Y') goto yy59;
 -                                      if (yych <= 'c') goto yy1050;
++                                      if (yych <= 'c') goto yy1075;
+                                       goto yy59;
                                }
                        } else {
                                if (yych <= 'f') {
-                                       if (yych <= 'e') goto yy18;
-                                       goto yy186;
 -                                      if (yych <= 'e') goto yy1050;
++                                      if (yych <= 'e') goto yy1075;
+                                       goto yy59;
                                } else {
-                                       if (yych == 'h') goto yy186;
-                                       goto yy18;
+                                       if (yych == 'h') goto yy59;
 -                                      goto yy1050;
++                                      goto yy1075;
                                }
                        }
                } else {
                        if (yych <= 'w') {
                                if (yych <= 'r') {
-                                       if (yych <= 'm') goto yy186;
-                                       goto yy18;
+                                       if (yych <= 'm') goto yy59;
 -                                      goto yy1050;
++                                      goto yy1075;
                                } else {
-                                       if (yych == 'v') goto yy18;
-                                       goto yy186;
 -                                      if (yych == 'v') goto yy1050;
++                                      if (yych == 'v') goto yy1075;
+                                       goto yy59;
                                }
                        } else {
                                if (yych <= 'y') {
-                                       if (yych <= 'x') goto yy18;
-                                       goto yy186;
 -                                      if (yych <= 'x') goto yy1050;
++                                      if (yych <= 'x') goto yy1075;
+                                       goto yy59;
                                } else {
-                                       if (yych == 0xC2) goto yy186;
-                                       goto yy18;
+                                       if (yych == 0xC2) goto yy59;
 -                                      goto yy1050;
++                                      goto yy1075;
                                }
                        }
                }
        }
- yy544:
-       YYDEBUG(544, *YYCURSOR);
-       yych = *++YYCURSOR;
-       if (yych == '-') goto yy712;
-       if (yych <= '/') goto yy186;
-       if (yych <= '9') goto yy713;
-       goto yy186;
- yy545:
-       YYDEBUG(545, *YYCURSOR);
 -yy1057:
 -      YYDEBUG(1057, *YYCURSOR);
++yy1082:
++      YYDEBUG(1082, *YYCURSOR);
+       yyaccept = 10;
+       yych = *(YYMARKER = ++YYCURSOR);
+       if (yych <= '/') {
 -              if (yych == '.') goto yy1059;
 -              goto yy465;
++              if (yych == '.') goto yy1084;
++              goto yy490;
+       } else {
 -              if (yych <= '9') goto yy1058;
 -              if (yych <= ':') goto yy1059;
 -              goto yy465;
++              if (yych <= '9') goto yy1083;
++              if (yych <= ':') goto yy1084;
++              goto yy490;
+       }
 -yy1058:
 -      YYDEBUG(1058, *YYCURSOR);
++yy1083:
++      YYDEBUG(1083, *YYCURSOR);
+       yyaccept = 10;
+       yych = *(YYMARKER = ++YYCURSOR);
 -      if (yych == '.') goto yy1059;
 -      if (yych != ':') goto yy465;
 -yy1059:
 -      YYDEBUG(1059, *YYCURSOR);
++      if (yych == '.') goto yy1084;
++      if (yych != ':') goto yy490;
++yy1084:
++      YYDEBUG(1084, *YYCURSOR);
        yych = *++YYCURSOR;
-       if (yych <= '/') goto yy56;
-       if (yych <= '9') goto yy714;
-       goto yy56;
- yy546:
-       YYDEBUG(546, *YYCURSOR);
+       if (yych <= '/') goto yy55;
 -      if (yych <= '5') goto yy1060;
 -      if (yych <= '6') goto yy1061;
 -      if (yych <= '9') goto yy470;
++      if (yych <= '5') goto yy1085;
++      if (yych <= '6') goto yy1086;
++      if (yych <= '9') goto yy495;
+       goto yy55;
 -yy1060:
 -      YYDEBUG(1060, *YYCURSOR);
++yy1085:
++      YYDEBUG(1085, *YYCURSOR);
+       yyaccept = 10;
+       yych = *(YYMARKER = ++YYCURSOR);
 -      if (yych == '.') goto yy471;
 -      if (yych <= '/') goto yy465;
 -      if (yych <= '9') goto yy470;
 -      goto yy465;
 -yy1061:
 -      YYDEBUG(1061, *YYCURSOR);
++      if (yych == '.') goto yy496;
++      if (yych <= '/') goto yy490;
++      if (yych <= '9') goto yy495;
++      goto yy490;
++yy1086:
++      YYDEBUG(1086, *YYCURSOR);
+       yyaccept = 10;
+       yych = *(YYMARKER = ++YYCURSOR);
 -      if (yych == '.') goto yy471;
 -      if (yych == '0') goto yy470;
 -      goto yy465;
 -yy1062:
 -      YYDEBUG(1062, *YYCURSOR);
++      if (yych == '.') goto yy496;
++      if (yych == '0') goto yy495;
++      goto yy490;
++yy1087:
++      YYDEBUG(1087, *YYCURSOR);
+       yyaccept = 10;
+       yych = *(YYMARKER = ++YYCURSOR);
+       if (yych <= '.') {
 -              if (yych <= ',') goto yy465;
 -              if (yych <= '-') goto yy576;
 -              goto yy1066;
++              if (yych <= ',') goto yy490;
++              if (yych <= '-') goto yy601;
++              goto yy1091;
+       } else {
 -              if (yych <= '/') goto yy465;
 -              if (yych <= '9') goto yy1065;
 -              if (yych <= ':') goto yy1059;
 -              goto yy465;
++              if (yych <= '/') goto yy490;
++              if (yych <= '9') goto yy1090;
++              if (yych <= ':') goto yy1084;
++              goto yy490;
+       }
 -yy1063:
 -      YYDEBUG(1063, *YYCURSOR);
++yy1088:
++      YYDEBUG(1088, *YYCURSOR);
+       yyaccept = 10;
+       yych = *(YYMARKER = ++YYCURSOR);
+       if (yych <= '/') {
 -              if (yych <= ',') goto yy465;
 -              if (yych <= '-') goto yy576;
 -              if (yych <= '.') goto yy1066;
 -              goto yy465;
++              if (yych <= ',') goto yy490;
++              if (yych <= '-') goto yy601;
++              if (yych <= '.') goto yy1091;
++              goto yy490;
+       } else {
 -              if (yych <= '2') goto yy1065;
 -              if (yych <= '9') goto yy1058;
 -              if (yych <= ':') goto yy1059;
 -              goto yy465;
++              if (yych <= '2') goto yy1090;
++              if (yych <= '9') goto yy1083;
++              if (yych <= ':') goto yy1084;
++              goto yy490;
+       }
 -yy1064:
 -      YYDEBUG(1064, *YYCURSOR);
++yy1089:
++      YYDEBUG(1089, *YYCURSOR);
+       yyaccept = 10;
+       yych = *(YYMARKER = ++YYCURSOR);
+       if (yych <= '.') {
 -              if (yych <= ',') goto yy465;
 -              if (yych <= '-') goto yy576;
 -              goto yy1066;
++              if (yych <= ',') goto yy490;
++              if (yych <= '-') goto yy601;
++              goto yy1091;
+       } else {
 -              if (yych <= '/') goto yy465;
 -              if (yych <= '9') goto yy1058;
 -              if (yych <= ':') goto yy1059;
 -              goto yy465;
++              if (yych <= '/') goto yy490;
++              if (yych <= '9') goto yy1083;
++              if (yych <= ':') goto yy1084;
++              goto yy490;
+       }
 -yy1065:
 -      YYDEBUG(1065, *YYCURSOR);
++yy1090:
++      YYDEBUG(1090, *YYCURSOR);
+       yyaccept = 10;
+       yych = *(YYMARKER = ++YYCURSOR);
+       if (yych <= '.') {
 -              if (yych <= ',') goto yy465;
 -              if (yych <= '-') goto yy576;
++              if (yych <= ',') goto yy490;
++              if (yych <= '-') goto yy601;
+       } else {
 -              if (yych == ':') goto yy1059;
 -              goto yy465;
++              if (yych == ':') goto yy1084;
++              goto yy490;
+       }
 -yy1066:
 -      YYDEBUG(1066, *YYCURSOR);
++yy1091:
++      YYDEBUG(1091, *YYCURSOR);
        yych = *++YYCURSOR;
-       if (yych <= '/') goto yy56;
-       if (yych <= '9') goto yy715;
-       goto yy56;
- yy547:
-       YYDEBUG(547, *YYCURSOR);
-       yyaccept = 15;
+       if (yych <= '/') goto yy55;
 -      if (yych <= '5') goto yy1067;
 -      if (yych <= '6') goto yy1068;
 -      if (yych <= '9') goto yy584;
++      if (yych <= '5') goto yy1092;
++      if (yych <= '6') goto yy1093;
++      if (yych <= '9') goto yy609;
+       goto yy55;
 -yy1067:
 -      YYDEBUG(1067, *YYCURSOR);
++yy1092:
++      YYDEBUG(1092, *YYCURSOR);
+       yyaccept = 10;
        yych = *(YYMARKER = ++YYCURSOR);
-       if (yych <= 'n') {
-               if (yych <= '/') goto yy548;
-               if (yych <= '9') goto yy717;
-               if (yych >= 'n') goto yy718;
 -      if (yych == '.') goto yy471;
 -      if (yych <= '/') goto yy465;
 -      if (yych <= '9') goto yy1069;
 -      goto yy465;
 -yy1068:
 -      YYDEBUG(1068, *YYCURSOR);
++      if (yych == '.') goto yy496;
++      if (yych <= '/') goto yy490;
++      if (yych <= '9') goto yy1094;
++      goto yy490;
++yy1093:
++      YYDEBUG(1093, *YYCURSOR);
+       yyaccept = 10;
+       yych = *(YYMARKER = ++YYCURSOR);
+       if (yych <= '/') {
 -              if (yych == '.') goto yy471;
 -              goto yy465;
++              if (yych == '.') goto yy496;
++              goto yy490;
        } else {
-               if (yych <= 'r') {
-                       if (yych >= 'r') goto yy718;
 -              if (yych <= '0') goto yy1069;
 -              if (yych <= '9') goto yy585;
 -              goto yy465;
++              if (yych <= '0') goto yy1094;
++              if (yych <= '9') goto yy610;
++              goto yy490;
+       }
 -yy1069:
 -      YYDEBUG(1069, *YYCURSOR);
++yy1094:
++      YYDEBUG(1094, *YYCURSOR);
+       yyaccept = 10;
+       yych = *(YYMARKER = ++YYCURSOR);
 -      if (yych == '.') goto yy471;
 -      if (yych <= '/') goto yy465;
 -      if (yych <= '9') goto yy579;
 -      goto yy465;
 -yy1070:
 -      YYDEBUG(1070, *YYCURSOR);
++      if (yych == '.') goto yy496;
++      if (yych <= '/') goto yy490;
++      if (yych <= '9') goto yy604;
++      goto yy490;
++yy1095:
++      YYDEBUG(1095, *YYCURSOR);
+       yych = *++YYCURSOR;
+       if (yych <= '9') {
+               if (yych <= '-') {
 -                      if (yych == '\t') goto yy434;
 -                      if (yych <= ',') goto yy436;
 -                      goto yy1025;
++                      if (yych == '\t') goto yy459;
++                      if (yych <= ',') goto yy461;
++                      goto yy1050;
+               } else {
 -                      if (yych <= '.') goto yy448;
 -                      if (yych <= '/') goto yy446;
 -                      if (yych <= '5') goto yy1040;
 -                      goto yy715;
++                      if (yych <= '.') goto yy473;
++                      if (yych <= '/') goto yy471;
++                      if (yych <= '5') goto yy1065;
++                      goto yy740;
+               }
+       } else {
+               if (yych <= 'q') {
 -                      if (yych <= ':') goto yy457;
 -                      if (yych == 'n') goto yy444;
 -                      goto yy436;
++                      if (yych <= ':') goto yy482;
++                      if (yych == 'n') goto yy469;
++                      goto yy461;
                } else {
-                       if (yych <= 's') goto yy719;
-                       if (yych <= 't') goto yy720;
 -                      if (yych <= 'r') goto yy445;
 -                      if (yych <= 's') goto yy439;
 -                      if (yych <= 't') goto yy442;
 -                      goto yy436;
++                      if (yych <= 'r') goto yy470;
++                      if (yych <= 's') goto yy464;
++                      if (yych <= 't') goto yy467;
++                      goto yy461;
                }
        }
- yy548:
-       YYDEBUG(548, *YYCURSOR);
- #line 1394 "parse_date.re"
-       {
-               int length = 0;
-               DEBUG_OUTPUT("gnudateshort");
-               TIMELIB_INIT;
-               TIMELIB_HAVE_DATE();
-               s->time->y = timelib_get_nr_ex(&ptr, 4, &length);
-               s->time->m = timelib_get_nr(&ptr, 2);
-               s->time->d = timelib_get_nr(&ptr, 2);
-               TIMELIB_PROCESS_YEAR(s->time->y, length);
-               TIMELIB_DEINIT;
-               return TIMELIB_ISO_DATE;
 -yy1071:
 -      YYDEBUG(1071, *YYCURSOR);
++yy1096:
++      YYDEBUG(1096, *YYCURSOR);
+       yych = *++YYCURSOR;
+       if (yych <= '9') {
+               if (yych <= '-') {
 -                      if (yych == '\t') goto yy1026;
 -                      if (yych <= ',') goto yy1028;
 -                      goto yy1025;
++                      if (yych == '\t') goto yy1051;
++                      if (yych <= ',') goto yy1053;
++                      goto yy1050;
+               } else {
 -                      if (yych <= '.') goto yy1038;
 -                      if (yych <= '/') goto yy446;
 -                      if (yych <= '5') goto yy1040;
 -                      goto yy715;
++                      if (yych <= '.') goto yy1063;
++                      if (yych <= '/') goto yy471;
++                      if (yych <= '5') goto yy1065;
++                      goto yy740;
+               }
+       } else {
+               if (yych <= 'q') {
 -                      if (yych <= ':') goto yy1039;
 -                      if (yych == 'n') goto yy444;
 -                      goto yy1028;
++                      if (yych <= ':') goto yy1064;
++                      if (yych == 'n') goto yy469;
++                      goto yy1053;
+               } else {
 -                      if (yych <= 'r') goto yy445;
 -                      if (yych <= 's') goto yy439;
 -                      if (yych <= 't') goto yy442;
 -                      goto yy1028;
++                      if (yych <= 'r') goto yy470;
++                      if (yych <= 's') goto yy464;
++                      if (yych <= 't') goto yy467;
++                      goto yy1053;
+               }
        }
- #line 13282 "<stdout>"
- yy549:
-       YYDEBUG(549, *YYCURSOR);
-       yyaccept = 15;
-       yych = *(YYMARKER = ++YYCURSOR);
-       if (yych <= 'n') {
-               if (yych <= '1') {
-                       if (yych <= '/') goto yy548;
-                       goto yy717;
 -yy1072:
 -      YYDEBUG(1072, *YYCURSOR);
++yy1097:
++      YYDEBUG(1097, *YYCURSOR);
+       yych = *++YYCURSOR;
+       if (yych <= 'E') {
+               if (yych <= ')') {
+                       if (yych <= '(') goto yy3;
+                       goto yy174;
                } else {
-                       if (yych <= '9') goto yy714;
-                       if (yych <= 'm') goto yy548;
-                       goto yy718;
+                       if (yych <= '@') goto yy3;
+                       if (yych <= 'D') goto yy176;
                }
        } else {
-               if (yych <= 'r') {
-                       if (yych <= 'q') goto yy548;
-                       goto yy718;
+               if (yych <= 'd') {
+                       if (yych <= 'Z') goto yy176;
+                       if (yych <= '`') goto yy3;
+                       goto yy176;
                } else {
-                       if (yych <= 's') goto yy719;
-                       if (yych <= 't') goto yy720;
-                       goto yy548;
 -                      if (yych <= 'e') goto yy1073;
++                      if (yych <= 'e') goto yy1098;
+                       if (yych <= 'z') goto yy176;
+                       goto yy3;
                }
        }
- yy550:
-       YYDEBUG(550, *YYCURSOR);
-       yyaccept = 15;
-       yych = *(YYMARKER = ++YYCURSOR);
-       if (yych <= 'n') {
-               if (yych <= '/') goto yy548;
-               if (yych <= '9') goto yy714;
-               if (yych <= 'm') goto yy548;
-               goto yy718;
 -yy1073:
 -      YYDEBUG(1073, *YYCURSOR);
++yy1098:
++      YYDEBUG(1098, *YYCURSOR);
+       yych = *++YYCURSOR;
+       if (yych <= 'V') {
+               if (yych <= ')') {
+                       if (yych <= '(') goto yy3;
+                       goto yy174;
+               } else {
+                       if (yych <= '@') goto yy3;
+                       if (yych <= 'U') goto yy177;
+               }
        } else {
-               if (yych <= 'r') {
-                       if (yych <= 'q') goto yy548;
-                       goto yy718;
+               if (yych <= 'u') {
+                       if (yych <= 'Z') goto yy177;
+                       if (yych <= '`') goto yy3;
+                       goto yy177;
                } else {
-                       if (yych <= 's') goto yy719;
-                       if (yych <= 't') goto yy720;
-                       goto yy548;
 -                      if (yych <= 'v') goto yy1074;
++                      if (yych <= 'v') goto yy1099;
+                       if (yych <= 'z') goto yy177;
+                       goto yy3;
                }
        }
- yy551:
-       YYDEBUG(551, *YYCURSOR);
-       yyaccept = 4;
-       yych = *(YYMARKER = ++YYCURSOR);
-       if (yych == '.') goto yy721;
-       if (yych <= '/') goto yy209;
-       if (yych <= '9') goto yy722;
-       goto yy209;
- yy552:
-       YYDEBUG(552, *YYCURSOR);
-       yyaccept = 4;
-       yych = *(YYMARKER = ++YYCURSOR);
-       if (yych <= '/') {
-               if (yych == '.') goto yy721;
-               goto yy209;
 -yy1074:
 -      YYDEBUG(1074, *YYCURSOR);
++yy1099:
++      YYDEBUG(1099, *YYCURSOR);
+       yych = *++YYCURSOR;
+       if (yych <= 'I') {
+               if (yych <= ')') {
+                       if (yych <= '(') goto yy3;
+                       goto yy174;
+               } else {
+                       if (yych <= '@') goto yy3;
+                       if (yych <= 'H') goto yy178;
+               }
        } else {
-               if (yych <= '0') goto yy722;
-               if (yych <= '9') goto yy715;
-               goto yy209;
+               if (yych <= 'h') {
+                       if (yych <= 'Z') goto yy178;
+                       if (yych <= '`') goto yy3;
+                       goto yy178;
+               } else {
 -                      if (yych <= 'i') goto yy1075;
++                      if (yych <= 'i') goto yy1100;
+                       if (yych <= 'z') goto yy178;
+                       goto yy3;
+               }
        }
- yy553:
-       YYDEBUG(553, *YYCURSOR);
-       yyaccept = 4;
-       yych = *(YYMARKER = ++YYCURSOR);
-       if (yych == '.') goto yy721;
-       if (yych <= '/') goto yy209;
-       if (yych <= '9') goto yy715;
-       goto yy209;
- yy554:
-       YYDEBUG(554, *YYCURSOR);
-       yyaccept = 4;
-       yych = *(YYMARKER = ++YYCURSOR);
-       if (yych == '.') goto yy721;
-       if (yych <= '/') goto yy209;
-       if (yych <= '9') goto yy556;
-       goto yy209;
- yy555:
-       YYDEBUG(555, *YYCURSOR);
-       yyaccept = 4;
-       yych = *(YYMARKER = ++YYCURSOR);
-       if (yych == '.') goto yy721;
-       if (yych != '0') goto yy209;
- yy556:
-       YYDEBUG(556, *YYCURSOR);
-       yyaccept = 4;
-       yych = *(YYMARKER = ++YYCURSOR);
-       if (yych == '.') goto yy721;
-       goto yy209;
- yy557:
-       YYDEBUG(557, *YYCURSOR);
 -yy1075:
 -      YYDEBUG(1075, *YYCURSOR);
++yy1100:
++      YYDEBUG(1100, *YYCURSOR);
        yych = *++YYCURSOR;
-       if (yych <= '/') goto yy214;
-       if (yych <= '9') goto yy723;
-       goto yy214;
- yy558:
-       YYDEBUG(558, *YYCURSOR);
-       yyaccept = 5;
+       if (yych <= 'O') {
+               if (yych <= ')') {
+                       if (yych <= '(') goto yy3;
+                       goto yy174;
+               } else {
+                       if (yych <= '@') goto yy3;
+                       if (yych <= 'N') goto yy179;
+               }
+       } else {
+               if (yych <= 'n') {
+                       if (yych <= 'Z') goto yy179;
+                       if (yych <= '`') goto yy3;
+                       goto yy179;
+               } else {
 -                      if (yych <= 'o') goto yy1076;
++                      if (yych <= 'o') goto yy1101;
+                       if (yych <= 'z') goto yy179;
+                       goto yy3;
+               }
+       }
 -yy1076:
 -      YYDEBUG(1076, *YYCURSOR);
++yy1101:
++      YYDEBUG(1101, *YYCURSOR);
+       yyaccept = 0;
        yych = *(YYMARKER = ++YYCURSOR);
-       if (yych == '/') goto yy385;
-       goto yy214;
- yy559:
-       YYDEBUG(559, *YYCURSOR);
-       yych = *++YYCURSOR;
-       if (yych == '/') goto yy724;
-       goto yy56;
- yy560:
-       YYDEBUG(560, *YYCURSOR);
-       yych = *++YYCURSOR;
-       if (yych <= 'S') {
-               if (yych == '/') goto yy724;
-               goto yy56;
+       if (yych <= 'T') {
+               if (yych == ')') goto yy174;
+               goto yy3;
        } else {
-               if (yych <= 'T') goto yy559;
-               if (yych == 't') goto yy559;
-               goto yy56;
 -              if (yych <= 'U') goto yy1077;
++              if (yych <= 'U') goto yy1102;
+               if (yych != 'u') goto yy3;
        }
- yy561:
-       YYDEBUG(561, *YYCURSOR);
-       yych = *++YYCURSOR;
-       if (yych <= ',') goto yy56;
-       if (yych <= '-') goto yy725;
-       if (yych <= '.') goto yy379;
-       goto yy56;
- yy562:
-       YYDEBUG(562, *YYCURSOR);
 -yy1077:
 -      YYDEBUG(1077, *YYCURSOR);
++yy1102:
++      YYDEBUG(1102, *YYCURSOR);
        yych = *++YYCURSOR;
-       if (yych == '-') goto yy625;
-       if (yych <= '/') goto yy56;
-       if (yych <= '9') goto yy443;
-       goto yy56;
- yy563:
-       YYDEBUG(563, *YYCURSOR);
 -      if (yych == 'S') goto yy1078;
++      if (yych == 'S') goto yy1103;
+       if (yych != 's') goto yy55;
 -yy1078:
 -      YYDEBUG(1078, *YYCURSOR);
++yy1103:
++      YYDEBUG(1103, *YYCURSOR);
        yych = *++YYCURSOR;
-       if (yych == '-') goto yy625;
-       if (yych <= '/') goto yy56;
-       if (yych <= '2') goto yy443;
-       goto yy56;
- yy564:
-       YYDEBUG(564, *YYCURSOR);
 -      if (yych == '\t') goto yy1079;
++      if (yych == '\t') goto yy1104;
+       if (yych != ' ') goto yy55;
 -yy1079:
 -      YYDEBUG(1079, *YYCURSOR);
++yy1104:
++      YYDEBUG(1104, *YYCURSOR);
        ++YYCURSOR;
        if ((YYLIMIT - YYCURSOR) < 12) YYFILL(12);
        yych = *YYCURSOR;
- yy565:
-       YYDEBUG(565, *YYCURSOR);
-       if (yych <= 'W') {
 -yy1080:
 -      YYDEBUG(1080, *YYCURSOR);
++yy1105:
++      YYDEBUG(1105, *YYCURSOR);
+       if (yych <= 'X') {
                if (yych <= 'G') {
-                       if (yych <= '.') {
-                               if (yych <= 0x1F) {
-                                       if (yych == '\t') goto yy564;
-                                       goto yy56;
-                               } else {
-                                       if (yych <= ' ') goto yy564;
-                                       if (yych <= ',') goto yy56;
-                                       goto yy726;
-                               }
+                       if (yych <= ' ') {
 -                              if (yych == '\t') goto yy1079;
++                              if (yych == '\t') goto yy1104;
+                               if (yych <= 0x1F) goto yy55;
 -                              goto yy1079;
++                              goto yy1104;
                        } else {
-                               if (yych <= 'C') {
-                                       if (yych == 'A') goto yy577;
-                                       goto yy56;
+                               if (yych <= 'D') {
+                                       if (yych <= 'C') goto yy55;
 -                                      goto yy1086;
++                                      goto yy1111;
                                } else {
-                                       if (yych <= 'D') goto yy578;
-                                       if (yych == 'F') goto yy579;
-                                       goto yy56;
 -                                      if (yych == 'F') goto yy1087;
++                                      if (yych == 'F') goto yy1112;
+                                       goto yy55;
                                }
                        }
                } else {
-                       if (yych <= 'N') {
-                               if (yych <= 'J') {
-                                       if (yych <= 'H') goto yy75;
-                                       if (yych <= 'I') goto yy580;
-                                       goto yy582;
+                       if (yych <= 'S') {
+                               if (yych <= 'L') {
 -                                      if (yych <= 'H') goto yy1085;
++                                      if (yych <= 'H') goto yy1110;
+                                       goto yy55;
                                } else {
-                                       if (yych <= 'L') goto yy56;
-                                       if (yych <= 'M') goto yy583;
-                                       goto yy584;
 -                                      if (yych <= 'M') goto yy1081;
++                                      if (yych <= 'M') goto yy1106;
+                                       if (yych <= 'R') goto yy55;
 -                                      goto yy1084;
++                                      goto yy1109;
                                }
                        } else {
-                               if (yych <= 'S') {
-                                       if (yych <= 'O') goto yy585;
-                                       if (yych <= 'R') goto yy56;
-                                       goto yy586;
+                               if (yych <= 'U') {
 -                                      if (yych <= 'T') goto yy1090;
 -                                      goto yy1083;
++                                      if (yych <= 'T') goto yy1115;
++                                      goto yy1108;
                                } else {
-                                       if (yych <= 'T') goto yy83;
-                                       if (yych <= 'U') goto yy84;
-                                       if (yych <= 'V') goto yy587;
-                                       goto yy86;
 -                                      if (yych == 'W') goto yy1089;
++                                      if (yych == 'W') goto yy1114;
+                                       goto yy55;
                                }
                        }
                }
        } else {
-               if (yych <= 'l') {
-                       if (yych <= 'd') {
-                               if (yych <= '`') {
-                                       if (yych <= 'X') goto yy589;
-                                       if (yych <= 'Y') goto yy88;
-                                       goto yy56;
+               if (yych <= 'r') {
+                       if (yych <= 'f') {
+                               if (yych <= 'c') {
 -                                      if (yych <= 'Y') goto yy1088;
++                                      if (yych <= 'Y') goto yy1113;
+                                       goto yy55;
                                } else {
-                                       if (yych <= 'a') goto yy577;
-                                       if (yych <= 'c') goto yy56;
-                                       goto yy578;
 -                                      if (yych <= 'd') goto yy1086;
++                                      if (yych <= 'd') goto yy1111;
+                                       if (yych <= 'e') goto yy55;
 -                                      goto yy1087;
++                                      goto yy1112;
                                }
                        } else {
-                               if (yych <= 'g') {
-                                       if (yych == 'f') goto yy579;
-                                       goto yy56;
+                               if (yych <= 'h') {
+                                       if (yych <= 'g') goto yy55;
 -                                      goto yy1085;
++                                      goto yy1110;
                                } else {
-                                       if (yych <= 'h') goto yy75;
-                                       if (yych == 'j') goto yy582;
-                                       goto yy56;
+                                       if (yych != 'm') goto yy55;
                                }
                        }
                } else {
-                       if (yych <= 'u') {
-                               if (yych <= 'o') {
-                                       if (yych <= 'm') goto yy583;
-                                       if (yych <= 'n') goto yy584;
-                                       goto yy585;
+                       if (yych <= 'w') {
+                               if (yych <= 't') {
 -                                      if (yych <= 's') goto yy1084;
 -                                      goto yy1090;
++                                      if (yych <= 's') goto yy1109;
++                                      goto yy1115;
                                } else {
-                                       if (yych <= 'r') goto yy56;
-                                       if (yych <= 's') goto yy586;
-                                       if (yych <= 't') goto yy83;
-                                       goto yy84;
 -                                      if (yych <= 'u') goto yy1083;
++                                      if (yych <= 'u') goto yy1108;
+                                       if (yych <= 'v') goto yy55;
 -                                      goto yy1089;
++                                      goto yy1114;
                                }
                        } else {
-                               if (yych <= 'x') {
-                                       if (yych == 'w') goto yy86;
-                                       goto yy56;
+                               if (yych <= 'y') {
+                                       if (yych <= 'x') goto yy55;
 -                                      goto yy1088;
++                                      goto yy1113;
                                } else {
-                                       if (yych <= 'y') goto yy88;
-                                       if (yych == 0xC2) goto yy93;
-                                       goto yy56;
 -                                      if (yych == 0xC2) goto yy1082;
++                                      if (yych == 0xC2) goto yy1107;
+                                       goto yy55;
                                }
                        }
                }
        }
- yy566:
-       YYDEBUG(566, *YYCURSOR);
 -yy1081:
 -      YYDEBUG(1081, *YYCURSOR);
++yy1106:
++      YYDEBUG(1106, *YYCURSOR);
        yych = *++YYCURSOR;
-       switch (yych) {
-       case '0':       goto yy728;
-       case '1':       goto yy730;
-       case '2':
-       case '3':
-       case '4':
-       case '5':
-       case '6':
-       case '7':
-       case '8':
-       case '9':       goto yy731;
-       case 'A':
-       case 'a':       goto yy732;
-       case 'D':
-       case 'd':       goto yy733;
-       case 'F':
-       case 'f':       goto yy734;
-       case 'J':
-       case 'j':       goto yy735;
-       case 'M':
-       case 'm':       goto yy736;
-       case 'N':
-       case 'n':       goto yy737;
-       case 'O':
-       case 'o':       goto yy738;
-       case 'S':
-       case 's':       goto yy739;
-       case 'W':       goto yy740;
-       default:        goto yy727;
+       if (yych <= 'S') {
+               if (yych <= 'N') {
 -                      if (yych == 'I') goto yy1165;
++                      if (yych == 'I') goto yy1190;
+                       goto yy55;
+               } else {
 -                      if (yych <= 'O') goto yy1164;
++                      if (yych <= 'O') goto yy1189;
+                       if (yych <= 'R') goto yy55;
 -                      goto yy1166;
++                      goto yy1191;
+               }
+       } else {
+               if (yych <= 'n') {
 -                      if (yych == 'i') goto yy1165;
++                      if (yych == 'i') goto yy1190;
+                       goto yy55;
+               } else {
 -                      if (yych <= 'o') goto yy1164;
 -                      if (yych == 's') goto yy1166;
++                      if (yych <= 'o') goto yy1189;
++                      if (yych == 's') goto yy1191;
+                       goto yy55;
+               }
        }
- yy567:
-       YYDEBUG(567, *YYCURSOR);
 -yy1082:
 -      YYDEBUG(1082, *YYCURSOR);
++yy1107:
++      YYDEBUG(1107, *YYCURSOR);
        yych = *++YYCURSOR;
-       if (yych <= '/') goto yy727;
-       if (yych <= '0') goto yy741;
-       if (yych <= '2') goto yy742;
-       if (yych <= '3') goto yy743;
-       goto yy727;
- yy568:
-       YYDEBUG(568, *YYCURSOR);
 -      if (yych == 0xB5) goto yy1161;
++      if (yych == 0xB5) goto yy1186;
+       goto yy55;
 -yy1083:
 -      YYDEBUG(1083, *YYCURSOR);
++yy1108:
++      YYDEBUG(1108, *YYCURSOR);
        yych = *++YYCURSOR;
-       if (yych <= '/') goto yy56;
-       if (yych <= '0') goto yy748;
-       if (yych <= '1') goto yy749;
-       if (yych <= '9') goto yy750;
-       goto yy56;
- yy569:
-       YYDEBUG(569, *YYCURSOR);
 -      if (yych == 'S') goto yy1159;
 -      if (yych == 's') goto yy1159;
++      if (yych == 'S') goto yy1184;
++      if (yych == 's') goto yy1184;
+       goto yy55;
 -yy1084:
 -      YYDEBUG(1084, *YYCURSOR);
++yy1109:
++      YYDEBUG(1109, *YYCURSOR);
        yych = *++YYCURSOR;
-       if (yych <= '/') goto yy186;
-       if (yych <= '0') goto yy751;
-       if (yych <= '9') goto yy753;
-       goto yy186;
- yy570:
-       YYDEBUG(570, *YYCURSOR);
+       if (yych <= 'U') {
+               if (yych <= 'D') {
 -                      if (yych == 'A') goto yy1146;
++                      if (yych == 'A') goto yy1171;
+                       goto yy55;
+               } else {
 -                      if (yych <= 'E') goto yy1147;
++                      if (yych <= 'E') goto yy1172;
+                       if (yych <= 'T') goto yy55;
 -                      goto yy1145;
++                      goto yy1170;
+               }
+       } else {
+               if (yych <= 'd') {
 -                      if (yych == 'a') goto yy1146;
++                      if (yych == 'a') goto yy1171;
+                       goto yy55;
+               } else {
 -                      if (yych <= 'e') goto yy1147;
 -                      if (yych == 'u') goto yy1145;
++                      if (yych <= 'e') goto yy1172;
++                      if (yych == 'u') goto yy1170;
+                       goto yy55;
+               }
+       }
 -yy1085:
 -      YYDEBUG(1085, *YYCURSOR);
++yy1110:
++      YYDEBUG(1110, *YYCURSOR);
        yych = *++YYCURSOR;
-       if (yych <= '/') goto yy186;
-       if (yych <= '2') goto yy753;
-       if (yych <= '9') goto yy754;
-       goto yy186;
- yy571:
-       YYDEBUG(571, *YYCURSOR);
 -      if (yych == 'O') goto yy1143;
 -      if (yych == 'o') goto yy1143;
++      if (yych == 'O') goto yy1168;
++      if (yych == 'o') goto yy1168;
+       goto yy55;
 -yy1086:
 -      YYDEBUG(1086, *YYCURSOR);
++yy1111:
++      YYDEBUG(1111, *YYCURSOR);
        yych = *++YYCURSOR;
-       if (yych <= '/') goto yy186;
-       if (yych <= '9') goto yy754;
-       goto yy186;
- yy572:
-       YYDEBUG(572, *YYCURSOR);
 -      if (yych == 'A') goto yy1142;
 -      if (yych == 'a') goto yy1142;
++      if (yych == 'A') goto yy1167;
++      if (yych == 'a') goto yy1167;
+       goto yy55;
 -yy1087:
 -      YYDEBUG(1087, *YYCURSOR);
++yy1112:
++      YYDEBUG(1112, *YYCURSOR);
        yych = *++YYCURSOR;
-       if (yych <= '/') goto yy186;
-       if (yych <= '5') goto yy754;
-       if (yych <= '6') goto yy755;
-       if (yych <= '9') goto yy756;
-       goto yy186;
- yy573:
-       YYDEBUG(573, *YYCURSOR);
+       if (yych <= 'R') {
 -              if (yych == 'O') goto yy1127;
++              if (yych == 'O') goto yy1152;
+               if (yych <= 'Q') goto yy55;
 -              goto yy1126;
++              goto yy1151;
+       } else {
+               if (yych <= 'o') {
+                       if (yych <= 'n') goto yy55;
 -                      goto yy1127;
++                      goto yy1152;
+               } else {
 -                      if (yych == 'r') goto yy1126;
++                      if (yych == 'r') goto yy1151;
+                       goto yy55;
+               }
+       }
 -yy1088:
 -      YYDEBUG(1088, *YYCURSOR);
++yy1113:
++      YYDEBUG(1113, *YYCURSOR);
+       yych = *++YYCURSOR;
 -      if (yych == 'E') goto yy1123;
 -      if (yych == 'e') goto yy1123;
++      if (yych == 'E') goto yy1148;
++      if (yych == 'e') goto yy1148;
+       goto yy55;
 -yy1089:
 -      YYDEBUG(1089, *YYCURSOR);
++yy1114:
++      YYDEBUG(1114, *YYCURSOR);
+       yych = *++YYCURSOR;
 -      if (yych == 'E') goto yy1109;
 -      if (yych == 'e') goto yy1109;
++      if (yych == 'E') goto yy1134;
++      if (yych == 'e') goto yy1134;
+       goto yy55;
 -yy1090:
 -      YYDEBUG(1090, *YYCURSOR);
++yy1115:
++      YYDEBUG(1115, *YYCURSOR);
+       yych = *++YYCURSOR;
+       if (yych <= 'U') {
 -              if (yych == 'H') goto yy1091;
++              if (yych == 'H') goto yy1116;
+               if (yych <= 'T') goto yy55;
 -              goto yy1092;
++              goto yy1117;
+       } else {
+               if (yych <= 'h') {
+                       if (yych <= 'g') goto yy55;
+               } else {
 -                      if (yych == 'u') goto yy1092;
++                      if (yych == 'u') goto yy1117;
+                       goto yy55;
+               }
+       }
 -yy1091:
 -      YYDEBUG(1091, *YYCURSOR);
++yy1116:
++      YYDEBUG(1116, *YYCURSOR);
+       yych = *++YYCURSOR;
 -      if (yych == 'U') goto yy1104;
 -      if (yych == 'u') goto yy1104;
++      if (yych == 'U') goto yy1129;
++      if (yych == 'u') goto yy1129;
+       goto yy55;
 -yy1092:
 -      YYDEBUG(1092, *YYCURSOR);
++yy1117:
++      YYDEBUG(1117, *YYCURSOR);
+       yych = *++YYCURSOR;
 -      if (yych == 'E') goto yy1093;
++      if (yych == 'E') goto yy1118;
+       if (yych != 'e') goto yy55;
 -yy1093:
 -      YYDEBUG(1093, *YYCURSOR);
++yy1118:
++      YYDEBUG(1118, *YYCURSOR);
+       yyaccept = 25;
+       yych = *(YYMARKER = ++YYCURSOR);
+       if (yych <= ' ') {
 -              if (yych == '\t') goto yy1095;
 -              if (yych >= ' ') goto yy1095;
++              if (yych == '\t') goto yy1120;
++              if (yych >= ' ') goto yy1120;
+       } else {
+               if (yych <= 'S') {
 -                      if (yych >= 'S') goto yy1097;
++                      if (yych >= 'S') goto yy1122;
+               } else {
 -                      if (yych == 's') goto yy1097;
++                      if (yych == 's') goto yy1122;
+               }
+       }
 -yy1094:
 -      YYDEBUG(1094, *YYCURSOR);
 -#line 1692 "parse_date.re"
++yy1119:
++      YYDEBUG(1119, *YYCURSOR);
++#line 1714 "parse_date.re"
+       {
+               timelib_sll i;
+               int         behavior = 0;
+               DEBUG_OUTPUT("relativetext");
+               TIMELIB_INIT;
+               TIMELIB_HAVE_RELATIVE();
+               while(*ptr) {
 -                      i = timelib_get_relative_text((char **) &ptr, &behavior);
 -                      timelib_eat_spaces((char **) &ptr);
 -                      timelib_set_relative((char **) &ptr, i, behavior, s);
++                      i = timelib_get_relative_text(&ptr, &behavior);
++                      timelib_eat_spaces(&ptr);
++                      timelib_set_relative(&ptr, i, behavior, s);
+               }
+               TIMELIB_DEINIT;
+               return TIMELIB_RELATIVE;
+       }
 -#line 16589 "<stdout>"
 -yy1095:
 -      YYDEBUG(1095, *YYCURSOR);
++#line 16726 "<stdout>"
++yy1120:
++      YYDEBUG(1120, *YYCURSOR);
+       ++YYCURSOR;
+       if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2);
+       yych = *YYCURSOR;
 -      YYDEBUG(1096, *YYCURSOR);
++      YYDEBUG(1121, *YYCURSOR);
+       if (yych <= ' ') {
 -              if (yych == '\t') goto yy1095;
++              if (yych == '\t') goto yy1120;
+               if (yych <= 0x1F) goto yy55;
 -              goto yy1095;
++              goto yy1120;
+       } else {
+               if (yych <= 'O') {
+                       if (yych <= 'N') goto yy55;
 -                      goto yy1101;
++                      goto yy1126;
+               } else {
 -                      if (yych == 'o') goto yy1101;
++                      if (yych == 'o') goto yy1126;
+                       goto yy55;
+               }
+       }
 -yy1097:
 -      YYDEBUG(1097, *YYCURSOR);
++yy1122:
++      YYDEBUG(1122, *YYCURSOR);
+       yych = *++YYCURSOR;
 -      if (yych == 'D') goto yy1098;
++      if (yych == 'D') goto yy1123;
+       if (yych != 'd') goto yy55;
 -yy1098:
 -      YYDEBUG(1098, *YYCURSOR);
++yy1123:
++      YYDEBUG(1123, *YYCURSOR);
+       yych = *++YYCURSOR;
 -      if (yych == 'A') goto yy1099;
++      if (yych == 'A') goto yy1124;
+       if (yych != 'a') goto yy55;
 -yy1099:
 -      YYDEBUG(1099, *YYCURSOR);
++yy1124:
++      YYDEBUG(1124, *YYCURSOR);
+       yych = *++YYCURSOR;
 -      if (yych == 'Y') goto yy1100;
++      if (yych == 'Y') goto yy1125;
+       if (yych != 'y') goto yy55;
 -yy1100:
 -      YYDEBUG(1100, *YYCURSOR);
++yy1125:
++      YYDEBUG(1125, *YYCURSOR);
+       yyaccept = 25;
+       yych = *(YYMARKER = ++YYCURSOR);
 -      if (yych == '\t') goto yy1095;
 -      if (yych == ' ') goto yy1095;
 -      goto yy1094;
 -yy1101:
 -      YYDEBUG(1101, *YYCURSOR);
++      if (yych == '\t') goto yy1120;
++      if (yych == ' ') goto yy1120;
++      goto yy1119;
++yy1126:
++      YYDEBUG(1126, *YYCURSOR);
+       yych = *++YYCURSOR;
 -      if (yych == 'F') goto yy1102;
++      if (yych == 'F') goto yy1127;
+       if (yych != 'f') goto yy55;
 -yy1102:
 -      YYDEBUG(1102, *YYCURSOR);
++yy1127:
++      YYDEBUG(1127, *YYCURSOR);
+       ++YYCURSOR;
 -      YYDEBUG(1103, *YYCURSOR);
 -#line 1165 "parse_date.re"
++      YYDEBUG(1128, *YYCURSOR);
++#line 1175 "parse_date.re"
+       {
+               timelib_sll i;
+               int         behavior = 0;
+               DEBUG_OUTPUT("weekdayof");
+               TIMELIB_INIT;
+               TIMELIB_HAVE_RELATIVE();
+               TIMELIB_HAVE_SPECIAL_RELATIVE();
 -              i = timelib_get_relative_text((char **) &ptr, &behavior);
 -              timelib_eat_spaces((char **) &ptr);
++              i = timelib_get_relative_text(&ptr, &behavior);
++              timelib_eat_spaces(&ptr);
+               if (i > 0) { /* first, second... etc */
+                       s->time->relative.special.type = TIMELIB_SPECIAL_DAY_OF_WEEK_IN_MONTH;
 -                      timelib_set_relative((char **) &ptr, i, 1, s);
++                      timelib_set_relative(&ptr, i, 1, s);
+               } else { /* last */
+                       s->time->relative.special.type = TIMELIB_SPECIAL_LAST_DAY_OF_WEEK_IN_MONTH;
 -                      timelib_set_relative((char **) &ptr, i, behavior, s);
++                      timelib_set_relative(&ptr, i, behavior, s);
+               }
+               TIMELIB_DEINIT;
+               return TIMELIB_WEEK_DAY_OF_MONTH;
+       }
 -#line 16661 "<stdout>"
 -yy1104:
 -      YYDEBUG(1104, *YYCURSOR);
++#line 16798 "<stdout>"
++yy1129:
++      YYDEBUG(1129, *YYCURSOR);
+       yyaccept = 25;
+       yych = *(YYMARKER = ++YYCURSOR);
+       if (yych <= ' ') {
 -              if (yych == '\t') goto yy1095;
 -              if (yych <= 0x1F) goto yy1094;
 -              goto yy1095;
++              if (yych == '\t') goto yy1120;
++              if (yych <= 0x1F) goto yy1119;
++              goto yy1120;
+       } else {
+               if (yych <= 'R') {
 -                      if (yych <= 'Q') goto yy1094;
++                      if (yych <= 'Q') goto yy1119;
+               } else {
 -                      if (yych != 'r') goto yy1094;
++                      if (yych != 'r') goto yy1119;
+               }
+       }
 -      YYDEBUG(1105, *YYCURSOR);
++      YYDEBUG(1130, *YYCURSOR);
        yych = *++YYCURSOR;
-       if (yych <= '/') goto yy186;
-       if (yych <= '9') goto yy756;
-       goto yy186;
- yy574:
-       YYDEBUG(574, *YYCURSOR);
 -      if (yych == 'S') goto yy1106;
++      if (yych == 'S') goto yy1131;
+       if (yych != 's') goto yy55;
 -yy1106:
 -      YYDEBUG(1106, *YYCURSOR);
++yy1131:
++      YYDEBUG(1131, *YYCURSOR);
        yych = *++YYCURSOR;
-       if (yych <= '/') goto yy186;
-       if (yych <= '0') goto yy756;
-       if (yych <= '9') goto yy757;
-       goto yy186;
- yy575:
-       YYDEBUG(575, *YYCURSOR);
 -      if (yych == 'D') goto yy1107;
++      if (yych == 'D') goto yy1132;
+       if (yych != 'd') goto yy55;
 -yy1107:
 -      YYDEBUG(1107, *YYCURSOR);
++yy1132:
++      YYDEBUG(1132, *YYCURSOR);
        yych = *++YYCURSOR;
-       if (yych <= '/') goto yy186;
-       if (yych <= '9') goto yy757;
-       goto yy186;
- yy576:
-       YYDEBUG(576, *YYCURSOR);
 -      if (yych == 'A') goto yy1108;
++      if (yych == 'A') goto yy1133;
+       if (yych != 'a') goto yy55;
 -yy1108:
 -      YYDEBUG(1108, *YYCURSOR);
++yy1133:
++      YYDEBUG(1133, *YYCURSOR);
        yych = *++YYCURSOR;
-       if (yych <= '/') goto yy56;
-       if (yych <= '0') goto yy758;
-       if (yych <= '1') goto yy759;
-       goto yy56;
- yy577:
-       YYDEBUG(577, *YYCURSOR);
 -      if (yych == 'Y') goto yy1100;
 -      if (yych == 'y') goto yy1100;
++      if (yych == 'Y') goto yy1125;
++      if (yych == 'y') goto yy1125;
+       goto yy55;
 -yy1109:
 -      YYDEBUG(1109, *YYCURSOR);
++yy1134:
++      YYDEBUG(1134, *YYCURSOR);
        yych = *++YYCURSOR;
-       if (yych <= 'U') {
-               if (yych == 'P') goto yy760;
-               if (yych <= 'T') goto yy56;
-               goto yy761;
+       if (yych <= 'E') {
+               if (yych <= 'C') goto yy55;
 -              if (yych <= 'D') goto yy1111;
++              if (yych <= 'D') goto yy1136;
        } else {
-               if (yych <= 'p') {
-                       if (yych <= 'o') goto yy56;
-                       goto yy760;
-               } else {
-                       if (yych == 'u') goto yy761;
-                       goto yy56;
-               }
+               if (yych <= 'c') goto yy55;
 -              if (yych <= 'd') goto yy1111;
++              if (yych <= 'd') goto yy1136;
+               if (yych >= 'f') goto yy55;
        }
- yy578:
-       YYDEBUG(578, *YYCURSOR);
 -      YYDEBUG(1110, *YYCURSOR);
++      YYDEBUG(1135, *YYCURSOR);
        yych = *++YYCURSOR;
-       if (yych <= 'E') {
-               if (yych == 'A') goto yy232;
-               if (yych <= 'D') goto yy56;
-               goto yy762;
 -      if (yych == 'K') goto yy1117;
 -      if (yych == 'k') goto yy1117;
++      if (yych == 'K') goto yy1142;
++      if (yych == 'k') goto yy1142;
+       goto yy55;
 -yy1111:
 -      YYDEBUG(1111, *YYCURSOR);
++yy1136:
++      YYDEBUG(1136, *YYCURSOR);
+       yyaccept = 25;
+       yych = *(YYMARKER = ++YYCURSOR);
+       if (yych <= ' ') {
 -              if (yych == '\t') goto yy1095;
 -              if (yych <= 0x1F) goto yy1094;
 -              goto yy1095;
++              if (yych == '\t') goto yy1120;
++              if (yych <= 0x1F) goto yy1119;
++              goto yy1120;
        } else {
-               if (yych <= 'a') {
-                       if (yych <= '`') goto yy56;
-                       goto yy232;
+               if (yych <= 'N') {
 -                      if (yych <= 'M') goto yy1094;
++                      if (yych <= 'M') goto yy1119;
                } else {
-                       if (yych == 'e') goto yy762;
-                       goto yy56;
 -                      if (yych != 'n') goto yy1094;
++                      if (yych != 'n') goto yy1119;
                }
        }
- yy579:
-       YYDEBUG(579, *YYCURSOR);
 -      YYDEBUG(1112, *YYCURSOR);
++      YYDEBUG(1137, *YYCURSOR);
        yych = *++YYCURSOR;
-       if (yych <= 'R') {
-               if (yych <= 'N') {
-                       if (yych == 'E') goto yy763;
-                       goto yy56;
-               } else {
-                       if (yych <= 'O') goto yy235;
-                       if (yych <= 'Q') goto yy56;
-                       goto yy236;
-               }
 -      if (yych == 'E') goto yy1113;
++      if (yych == 'E') goto yy1138;
+       if (yych != 'e') goto yy55;
 -yy1113:
 -      YYDEBUG(1113, *YYCURSOR);
++yy1138:
++      YYDEBUG(1138, *YYCURSOR);
+       yych = *++YYCURSOR;
 -      if (yych == 'S') goto yy1114;
++      if (yych == 'S') goto yy1139;
+       if (yych != 's') goto yy55;
 -yy1114:
 -      YYDEBUG(1114, *YYCURSOR);
++yy1139:
++      YYDEBUG(1139, *YYCURSOR);
+       yych = *++YYCURSOR;
 -      if (yych == 'D') goto yy1115;
++      if (yych == 'D') goto yy1140;
+       if (yych != 'd') goto yy55;
 -yy1115:
 -      YYDEBUG(1115, *YYCURSOR);
++yy1140:
++      YYDEBUG(1140, *YYCURSOR);
+       yych = *++YYCURSOR;
 -      if (yych == 'A') goto yy1116;
++      if (yych == 'A') goto yy1141;
+       if (yych != 'a') goto yy55;
 -yy1116:
 -      YYDEBUG(1116, *YYCURSOR);
++yy1141:
++      YYDEBUG(1141, *YYCURSOR);
+       yych = *++YYCURSOR;
 -      if (yych == 'Y') goto yy1100;
 -      if (yych == 'y') goto yy1100;
++      if (yych == 'Y') goto yy1125;
++      if (yych == 'y') goto yy1125;
+       goto yy55;
 -yy1117:
 -      YYDEBUG(1117, *YYCURSOR);
++yy1142:
++      YYDEBUG(1142, *YYCURSOR);
+       yyaccept = 26;
+       yych = *(YYMARKER = ++YYCURSOR);
+       if (yych <= 'S') {
 -              if (yych == 'D') goto yy1120;
 -              if (yych >= 'S') goto yy1119;
++              if (yych == 'D') goto yy1145;
++              if (yych >= 'S') goto yy1144;
        } else {
-               if (yych <= 'n') {
-                       if (yych == 'e') goto yy763;
-                       goto yy56;
+               if (yych <= 'd') {
 -                      if (yych >= 'd') goto yy1120;
++                      if (yych >= 'd') goto yy1145;
                } else {
-                       if (yych <= 'o') goto yy235;
-                       if (yych == 'r') goto yy236;
-                       goto yy56;
 -                      if (yych == 's') goto yy1119;
++                      if (yych == 's') goto yy1144;
                }
        }
- yy580:
-       YYDEBUG(580, *YYCURSOR);
-       yych = *++YYCURSOR;
-       if (yych <= 'U') {
-               if (yych == 'I') goto yy764;
-       } else {
-               if (yych == 'W') goto yy581;
-               if (yych <= 'X') goto yy765;
-       }
- yy581:
-       YYDEBUG(581, *YYCURSOR);
- #line 1463 "parse_date.re"
 -yy1118:
 -      YYDEBUG(1118, *YYCURSOR);
 -#line 1668 "parse_date.re"
++yy1143:
++      YYDEBUG(1143, *YYCURSOR);
++#line 1690 "parse_date.re"
        {
-               int length = 0;
-               DEBUG_OUTPUT("datenodayrev");
+               timelib_sll i;
+               int         behavior = 0;
+               DEBUG_OUTPUT("relativetextweek");
                TIMELIB_INIT;
-               TIMELIB_HAVE_DATE();
-               s->time->y = timelib_get_nr_ex(&ptr, 4, &length);
-               s->time->m = timelib_get_month(&ptr);
-               s->time->d = 1;
-               TIMELIB_PROCESS_YEAR(s->time->y, length);
+               TIMELIB_HAVE_RELATIVE();
+               while(*ptr) {
 -                      i = timelib_get_relative_text((char **) &ptr, &behavior);
 -                      timelib_eat_spaces((char **) &ptr);
 -                      timelib_set_relative((char **) &ptr, i, behavior, s);
++                      i = timelib_get_relative_text(&ptr, &behavior);
++                      timelib_eat_spaces(&ptr);
++                      timelib_set_relative(&ptr, i, behavior, s);
+                       s->time->relative.weekday_behavior = 2;
+                       /* to handle the format weekday + last/this/next week */
+                       if (s->time->relative.have_weekday_relative == 0) {
+                               TIMELIB_HAVE_WEEKDAY_RELATIVE();
+                               s->time->relative.weekday = 1;
+                       }
+               }
                TIMELIB_DEINIT;
-               return TIMELIB_DATE_NO_DAY;
+               return TIMELIB_RELATIVE;
        }
- #line 13701 "<stdout>"
- yy582:
-       YYDEBUG(582, *YYCURSOR);
 -#line 16792 "<stdout>"
 -yy1119:
 -      YYDEBUG(1119, *YYCURSOR);
++#line 16929 "<stdout>"
++yy1144:
++      YYDEBUG(1144, *YYCURSOR);
        yych = *++YYCURSOR;
-       if (yych <= 'U') {
-               if (yych == 'A') goto yy766;
-               if (yych <= 'T') goto yy56;
-               goto yy767;
 -      goto yy1094;
 -yy1120:
 -      YYDEBUG(1120, *YYCURSOR);
++      goto yy1119;
++yy1145:
++      YYDEBUG(1145, *YYCURSOR);
+       yych = *++YYCURSOR;
 -      if (yych == 'A') goto yy1121;
++      if (yych == 'A') goto yy1146;
+       if (yych != 'a') goto yy55;
 -yy1121:
 -      YYDEBUG(1121, *YYCURSOR);
++yy1146:
++      YYDEBUG(1146, *YYCURSOR);
+       yych = *++YYCURSOR;
 -      if (yych == 'Y') goto yy1122;
++      if (yych == 'Y') goto yy1147;
+       if (yych != 'y') goto yy55;
 -yy1122:
 -      YYDEBUG(1122, *YYCURSOR);
++yy1147:
++      YYDEBUG(1147, *YYCURSOR);
+       yych = *++YYCURSOR;
 -      if (yych == 'S') goto yy1119;
 -      if (yych == 's') goto yy1119;
 -      goto yy1094;
 -yy1123:
 -      YYDEBUG(1123, *YYCURSOR);
++      if (yych == 'S') goto yy1144;
++      if (yych == 's') goto yy1144;
++      goto yy1119;
++yy1148:
++      YYDEBUG(1148, *YYCURSOR);
+       yych = *++YYCURSOR;
 -      if (yych == 'A') goto yy1124;
++      if (yych == 'A') goto yy1149;
+       if (yych != 'a') goto yy55;
 -yy1124:
 -      YYDEBUG(1124, *YYCURSOR);
++yy1149:
++      YYDEBUG(1149, *YYCURSOR);
+       yych = *++YYCURSOR;
 -      if (yych == 'R') goto yy1125;
++      if (yych == 'R') goto yy1150;
+       if (yych != 'r') goto yy55;
 -yy1125:
 -      YYDEBUG(1125, *YYCURSOR);
++yy1150:
++      YYDEBUG(1150, *YYCURSOR);
+       yych = *++YYCURSOR;
 -      if (yych == 'S') goto yy1119;
 -      if (yych == 's') goto yy1119;
 -      goto yy1094;
 -yy1126:
 -      YYDEBUG(1126, *YYCURSOR);
++      if (yych == 'S') goto yy1144;
++      if (yych == 's') goto yy1144;
++      goto yy1119;
++yy1151:
++      YYDEBUG(1151, *YYCURSOR);
+       yych = *++YYCURSOR;
 -      if (yych == 'I') goto yy1139;
 -      if (yych == 'i') goto yy1139;
++      if (yych == 'I') goto yy1164;
++      if (yych == 'i') goto yy1164;
+       goto yy55;
 -yy1127:
 -      YYDEBUG(1127, *YYCURSOR);
++yy1152:
++      YYDEBUG(1152, *YYCURSOR);
+       yych = *++YYCURSOR;
 -      if (yych == 'R') goto yy1128;
++      if (yych == 'R') goto yy1153;
+       if (yych != 'r') goto yy55;
 -yy1128:
 -      YYDEBUG(1128, *YYCURSOR);
++yy1153:
++      YYDEBUG(1153, *YYCURSOR);
+       yych = *++YYCURSOR;
 -      if (yych == 'T') goto yy1129;
++      if (yych == 'T') goto yy1154;
+       if (yych != 't') goto yy55;
 -yy1129:
 -      YYDEBUG(1129, *YYCURSOR);
++yy1154:
++      YYDEBUG(1154, *YYCURSOR);
+       yych = *++YYCURSOR;
+       if (yych <= 'N') {
 -              if (yych == 'H') goto yy1131;
++              if (yych == 'H') goto yy1156;
+               if (yych <= 'M') goto yy55;
        } else {
-               if (yych <= 'a') {
-                       if (yych <= '`') goto yy56;
-                       goto yy766;
+               if (yych <= 'h') {
+                       if (yych <= 'g') goto yy55;
 -                      goto yy1131;
++                      goto yy1156;
                } else {
-                       if (yych == 'u') goto yy767;
-                       goto yy56;
+                       if (yych != 'n') goto yy55;
                }
        }
- yy583:
-       YYDEBUG(583, *YYCURSOR);
 -      YYDEBUG(1130, *YYCURSOR);
++      YYDEBUG(1155, *YYCURSOR);
        yych = *++YYCURSOR;
-       if (yych <= 'S') {
-               if (yych <= 'I') {
-                       if (yych == 'A') goto yy768;
-                       if (yych <= 'H') goto yy56;
-                       goto yy247;
-               } else {
-                       if (yych == 'O') goto yy248;
-                       if (yych <= 'R') goto yy56;
-                       goto yy249;
-               }
 -      if (yych == 'I') goto yy1136;
 -      if (yych == 'i') goto yy1136;
++      if (yych == 'I') goto yy1161;
++      if (yych == 'i') goto yy1161;
+       goto yy55;
 -yy1131:
 -      YYDEBUG(1131, *YYCURSOR);
++yy1156:
++      YYDEBUG(1156, *YYCURSOR);
+       yych = *++YYCURSOR;
 -      if (yych == 'N') goto yy1132;
++      if (yych == 'N') goto yy1157;
+       if (yych != 'n') goto yy55;
 -yy1132:
 -      YYDEBUG(1132, *YYCURSOR);
++yy1157:
++      YYDEBUG(1157, *YYCURSOR);
+       yych = *++YYCURSOR;
 -      if (yych == 'I') goto yy1133;
++      if (yych == 'I') goto yy1158;
+       if (yych != 'i') goto yy55;
 -yy1133:
 -      YYDEBUG(1133, *YYCURSOR);
++yy1158:
++      YYDEBUG(1158, *YYCURSOR);
+       yych = *++YYCURSOR;
 -      if (yych == 'G') goto yy1134;
++      if (yych == 'G') goto yy1159;
+       if (yych != 'g') goto yy55;
 -yy1134:
 -      YYDEBUG(1134, *YYCURSOR);
++yy1159:
++      YYDEBUG(1159, *YYCURSOR);
+       yych = *++YYCURSOR;
 -      if (yych == 'H') goto yy1135;
++      if (yych == 'H') goto yy1160;
+       if (yych != 'h') goto yy55;
 -yy1135:
 -      YYDEBUG(1135, *YYCURSOR);
++yy1160:
++      YYDEBUG(1160, *YYCURSOR);
+       yych = *++YYCURSOR;
 -      if (yych == 'T') goto yy1125;
 -      if (yych == 't') goto yy1125;
++      if (yych == 'T') goto yy1150;
++      if (yych == 't') goto yy1150;
+       goto yy55;
 -yy1136:
 -      YYDEBUG(1136, *YYCURSOR);
++yy1161:
++      YYDEBUG(1161, *YYCURSOR);
+       yych = *++YYCURSOR;
 -      if (yych == 'G') goto yy1137;
++      if (yych == 'G') goto yy1162;
+       if (yych != 'g') goto yy55;
 -yy1137:
 -      YYDEBUG(1137, *YYCURSOR);
++yy1162:
++      YYDEBUG(1162, *YYCURSOR);
+       yych = *++YYCURSOR;
 -      if (yych == 'H') goto yy1138;
++      if (yych == 'H') goto yy1163;
+       if (yych != 'h') goto yy55;
 -yy1138:
 -      YYDEBUG(1138, *YYCURSOR);
++yy1163:
++      YYDEBUG(1163, *YYCURSOR);
+       yych = *++YYCURSOR;
 -      if (yych == 'T') goto yy1125;
 -      if (yych == 't') goto yy1125;
++      if (yych == 'T') goto yy1150;
++      if (yych == 't') goto yy1150;
+       goto yy55;
 -yy1139:
 -      YYDEBUG(1139, *YYCURSOR);
++yy1164:
++      YYDEBUG(1164, *YYCURSOR);
+       yyaccept = 25;
+       yych = *(YYMARKER = ++YYCURSOR);
+       if (yych <= ' ') {
 -              if (yych == '\t') goto yy1095;
 -              if (yych <= 0x1F) goto yy1094;
 -              goto yy1095;
++              if (yych == '\t') goto yy1120;
++              if (yych <= 0x1F) goto yy1119;
++              goto yy1120;
        } else {
-               if (yych <= 'i') {
-                       if (yych == 'a') goto yy768;
-                       if (yych <= 'h') goto yy56;
-                       goto yy247;
+               if (yych <= 'D') {
 -                      if (yych <= 'C') goto yy1094;
++                      if (yych <= 'C') goto yy1119;
                } else {
-                       if (yych <= 'o') {
-                               if (yych <= 'n') goto yy56;
-                               goto yy248;
-                       } else {
-                               if (yych == 's') goto yy249;
-                               goto yy56;
-                       }
 -                      if (yych != 'd') goto yy1094;
++                      if (yych != 'd') goto yy1119;
                }
        }
- yy584:
-       YYDEBUG(584, *YYCURSOR);
 -      YYDEBUG(1140, *YYCURSOR);
++      YYDEBUG(1165, *YYCURSOR);
        yych = *++YYCURSOR;
-       if (yych == 'O') goto yy769;
-       if (yych == 'o') goto yy769;
-       goto yy56;
- yy585:
-       YYDEBUG(585, *YYCURSOR);
 -      if (yych == 'A') goto yy1141;
++      if (yych == 'A') goto yy1166;
+       if (yych != 'a') goto yy55;
 -yy1141:
 -      YYDEBUG(1141, *YYCURSOR);
 -      yych = *++YYCURSOR;
 -      if (yych == 'Y') goto yy1100;
 -      if (yych == 'y') goto yy1100;
 -      goto yy55;
 -yy1142:
 -      YYDEBUG(1142, *YYCURSOR);
++yy1166:
++      YYDEBUG(1166, *YYCURSOR);
        yych = *++YYCURSOR;
-       if (yych == 'C') goto yy770;
-       if (yych == 'c') goto yy770;
-       goto yy56;
- yy586:
-       YYDEBUG(586, *YYCURSOR);
+       if (yych == 'Y') goto yy1125;
+       if (yych == 'y') goto yy1125;
+       goto yy55;
 -yy1143:
 -      YYDEBUG(1143, *YYCURSOR);
++yy1167:
++      YYDEBUG(1167, *YYCURSOR);
 +      yych = *++YYCURSOR;
-       if (yych <= 'U') {
-               if (yych <= 'D') {
-                       if (yych == 'A') goto yy253;
-                       goto yy56;
++      if (yych == 'Y') goto yy1150;
++      if (yych == 'y') goto yy1150;
++      goto yy55;
++yy1168:
++      YYDEBUG(1168, *YYCURSOR);
+       yych = *++YYCURSOR;
 -      if (yych == 'U') goto yy1144;
++      if (yych == 'U') goto yy1169;
+       if (yych != 'u') goto yy55;
 -yy1144:
 -      YYDEBUG(1144, *YYCURSOR);
++yy1169:
++      YYDEBUG(1169, *YYCURSOR);
+       yych = *++YYCURSOR;
 -      if (yych == 'R') goto yy1125;
 -      if (yych == 'r') goto yy1125;
++      if (yych == 'R') goto yy1150;
++      if (yych == 'r') goto yy1150;
+       goto yy55;
 -yy1145:
 -      YYDEBUG(1145, *YYCURSOR);
++yy1170:
++      YYDEBUG(1170, *YYCURSOR);
+       yych = *++YYCURSOR;
 -      if (yych == 'N') goto yy1156;
 -      if (yych == 'n') goto yy1156;
++      if (yych == 'N') goto yy1181;
++      if (yych == 'n') goto yy1181;
+       goto yy55;
 -yy1146:
 -      YYDEBUG(1146, *YYCURSOR);
++yy1171:
++      YYDEBUG(1171, *YYCURSOR);
+       yych = *++YYCURSOR;
 -      if (yych == 'T') goto yy1151;
 -      if (yych == 't') goto yy1151;
++      if (yych == 'T') goto yy1176;
++      if (yych == 't') goto yy1176;
+       goto yy55;
 -yy1147:
 -      YYDEBUG(1147, *YYCURSOR);
++yy1172:
++      YYDEBUG(1172, *YYCURSOR);
+       yych = *++YYCURSOR;
 -      if (yych == 'C') goto yy1148;
++      if (yych == 'C') goto yy1173;
+       if (yych != 'c') goto yy55;
 -yy1148:
 -      YYDEBUG(1148, *YYCURSOR);
++yy1173:
++      YYDEBUG(1173, *YYCURSOR);
+       yyaccept = 25;
+       yych = *(YYMARKER = ++YYCURSOR);
+       if (yych <= 'S') {
 -              if (yych == 'O') goto yy1149;
 -              if (yych <= 'R') goto yy1094;
 -              goto yy1119;
++              if (yych == 'O') goto yy1174;
++              if (yych <= 'R') goto yy1119;
++              goto yy1144;
+       } else {
+               if (yych <= 'o') {
 -                      if (yych <= 'n') goto yy1094;
++                      if (yych <= 'n') goto yy1119;
                } else {
-                       if (yych <= 'E') goto yy771;
-                       if (yych <= 'T') goto yy56;
-                       goto yy255;
 -                      if (yych == 's') goto yy1119;
 -                      goto yy1094;
++                      if (yych == 's') goto yy1144;
++                      goto yy1119;
                }
 -yy1149:
 -      YYDEBUG(1149, *YYCURSOR);
+       }
 -      if (yych == 'N') goto yy1150;
++yy1174:
++      YYDEBUG(1174, *YYCURSOR);
+       yych = *++YYCURSOR;
 -yy1150:
 -      YYDEBUG(1150, *YYCURSOR);
++      if (yych == 'N') goto yy1175;
+       if (yych != 'n') goto yy55;
 -      if (yych == 'D') goto yy1125;
 -      if (yych == 'd') goto yy1125;
++yy1175:
++      YYDEBUG(1175, *YYCURSOR);
+       yych = *++YYCURSOR;
 -yy1151:
 -      YYDEBUG(1151, *YYCURSOR);
++      if (yych == 'D') goto yy1150;
++      if (yych == 'd') goto yy1150;
+       goto yy55;
 -              if (yych == '\t') goto yy1095;
 -              if (yych <= 0x1F) goto yy1094;
 -              goto yy1095;
++yy1176:
++      YYDEBUG(1176, *YYCURSOR);
+       yyaccept = 25;
+       yych = *(YYMARKER = ++YYCURSOR);
+       if (yych <= ' ') {
++              if (yych == '\t') goto yy1120;
++              if (yych <= 0x1F) goto yy1119;
++              goto yy1120;
        } else {
-               if (yych <= 'd') {
-                       if (yych == 'a') goto yy253;
-                       goto yy56;
+               if (yych <= 'U') {
 -                      if (yych <= 'T') goto yy1094;
++                      if (yych <= 'T') goto yy1119;
                } else {
-                       if (yych <= 'e') goto yy771;
-                       if (yych == 'u') goto yy255;
-                       goto yy56;
 -                      if (yych != 'u') goto yy1094;
++                      if (yych != 'u') goto yy1119;
                }
        }
- yy587:
-       YYDEBUG(587, *YYCURSOR);
 -      YYDEBUG(1152, *YYCURSOR);
++      YYDEBUG(1177, *YYCURSOR);
        yych = *++YYCURSOR;
-       if (yych == 'I') goto yy589;
-       goto yy581;
- yy588:
-       YYDEBUG(588, *YYCURSOR);
 -      if (yych == 'R') goto yy1153;
++      if (yych == 'R') goto yy1178;
+       if (yych != 'r') goto yy55;
 -yy1153:
 -      YYDEBUG(1153, *YYCURSOR);
++yy1178:
++      YYDEBUG(1178, *YYCURSOR);
        yych = *++YYCURSOR;
-       if (yych <= '5') {
-               if (yych <= '/') goto yy56;
-               if (yych <= '0') goto yy772;
-               if (yych <= '4') goto yy773;
-               goto yy774;
 -      if (yych == 'D') goto yy1154;
++      if (yych == 'D') goto yy1179;
+       if (yych != 'd') goto yy55;
 -yy1154:
 -      YYDEBUG(1154, *YYCURSOR);
++yy1179:
++      YYDEBUG(1179, *YYCURSOR);
+       yych = *++YYCURSOR;
 -      if (yych == 'A') goto yy1155;
++      if (yych == 'A') goto yy1180;
+       if (yych != 'a') goto yy55;
 -yy1155:
 -      YYDEBUG(1155, *YYCURSOR);
++yy1180:
++      YYDEBUG(1180, *YYCURSOR);
+       yych = *++YYCURSOR;
 -      if (yych == 'Y') goto yy1100;
 -      if (yych == 'y') goto yy1100;
++      if (yych == 'Y') goto yy1125;
++      if (yych == 'y') goto yy1125;
+       goto yy55;
 -yy1156:
 -      YYDEBUG(1156, *YYCURSOR);
++yy1181:
++      YYDEBUG(1181, *YYCURSOR);
+       yyaccept = 25;
+       yych = *(YYMARKER = ++YYCURSOR);
+       if (yych <= ' ') {
 -              if (yych == '\t') goto yy1095;
 -              if (yych <= 0x1F) goto yy1094;
 -              goto yy1095;
++              if (yych == '\t') goto yy1120;
++              if (yych <= 0x1F) goto yy1119;
++              goto yy1120;
        } else {
-               if (yych <= 'E') {
-                       if (yych <= 'D') goto yy56;
-                       goto yy259;
+               if (yych <= 'D') {
 -                      if (yych <= 'C') goto yy1094;
++                      if (yych <= 'C') goto yy1119;
                } else {
-                       if (yych == 'e') goto yy259;
-                       goto yy56;
 -                      if (yych != 'd') goto yy1094;
++                      if (yych != 'd') goto yy1119;
                }
        }
- yy589:
-       YYDEBUG(589, *YYCURSOR);
 -      YYDEBUG(1157, *YYCURSOR);
++      YYDEBUG(1182, *YYCURSOR);
        yych = *++YYCURSOR;
-       if (yych == 'I') goto yy764;
-       goto yy581;
- yy590:
-       YYDEBUG(590, *YYCURSOR);
 -      if (yych == 'A') goto yy1158;
++      if (yych == 'A') goto yy1183;
+       if (yych != 'a') goto yy55;
 -yy1158:
 -      YYDEBUG(1158, *YYCURSOR);
++yy1183:
++      YYDEBUG(1183, *YYCURSOR);
        yych = *++YYCURSOR;
-       if (yych <= '/') goto yy186;
-       if (yych <= '0') goto yy775;
-       if (yych <= '9') goto yy776;
-       goto yy186;
- yy591:
-       YYDEBUG(591, *YYCURSOR);
 -      if (yych == 'Y') goto yy1100;
 -      if (yych == 'y') goto yy1100;
++      if (yych == 'Y') goto yy1125;
++      if (yych == 'y') goto yy1125;
+       goto yy55;
 -yy1159:
 -      YYDEBUG(1159, *YYCURSOR);
++yy1184:
++      YYDEBUG(1184, *YYCURSOR);
        yych = *++YYCURSOR;
-       if (yych <= '/') goto yy186;
-       if (yych <= '2') goto yy776;
-       if (yych <= '9') goto yy777;
-       goto yy186;
- yy592:
-       YYDEBUG(592, *YYCURSOR);
 -      if (yych == 'E') goto yy1160;
++      if (yych == 'E') goto yy1185;
+       if (yych != 'e') goto yy55;
 -yy1160:
 -      YYDEBUG(1160, *YYCURSOR);
++yy1185:
++      YYDEBUG(1185, *YYCURSOR);
        yych = *++YYCURSOR;
-       if (yych <= '/') goto yy186;
-       if (yych <= '9') goto yy777;
-       goto yy186;
- yy593:
-       YYDEBUG(593, *YYCURSOR);
 -      if (yych == 'C') goto yy1125;
 -      if (yych == 'c') goto yy1125;
++      if (yych == 'C') goto yy1150;
++      if (yych == 'c') goto yy1150;
+       goto yy55;
 -yy1161:
 -      YYDEBUG(1161, *YYCURSOR);
++yy1186:
++      YYDEBUG(1186, *YYCURSOR);
        yych = *++YYCURSOR;
-       if (yych <= '/') goto yy186;
-       if (yych <= '5') goto yy777;
-       if (yych <= '6') goto yy778;
-       if (yych <= '9') goto yy757;
-       goto yy186;
- yy594:
-       YYDEBUG(594, *YYCURSOR);
 -      if (yych == 'S') goto yy1162;
++      if (yych == 'S') goto yy1187;
+       if (yych != 's') goto yy55;
 -yy1162:
 -      YYDEBUG(1162, *YYCURSOR);
++yy1187:
++      YYDEBUG(1187, *YYCURSOR);
+       yyaccept = 25;
+       yych = *(YYMARKER = ++YYCURSOR);
 -      if (yych == 'E') goto yy1163;
 -      if (yych != 'e') goto yy1094;
 -yy1163:
 -      YYDEBUG(1163, *YYCURSOR);
++      if (yych == 'E') goto yy1188;
++      if (yych != 'e') goto yy1119;
++yy1188:
++      YYDEBUG(1188, *YYCURSOR);
        yych = *++YYCURSOR;
-       if (yych == 'L') goto yy243;
-       if (yych == 'l') goto yy243;
-       goto yy56;
- yy595:
-       YYDEBUG(595, *YYCURSOR);
 -      if (yych == 'C') goto yy1125;
 -      if (yych == 'c') goto yy1125;
++      if (yych == 'C') goto yy1150;
++      if (yych == 'c') goto yy1150;
+       goto yy55;
 -yy1164:
 -      YYDEBUG(1164, *YYCURSOR);
++yy1189:
++      YYDEBUG(1189, *YYCURSOR);
        yych = *++YYCURSOR;
-       if (yych == 'S') goto yy779;
-       if (yych == 's') goto yy779;
-       goto yy56;
- yy596:
-       YYDEBUG(596, *YYCURSOR);
-       ++YYCURSOR;
-       goto yy250;
- yy597:
-       YYDEBUG(597, *YYCURSOR);
 -      if (yych == 'N') goto yy1187;
 -      if (yych == 'n') goto yy1187;
++      if (yych == 'N') goto yy1212;
++      if (yych == 'n') goto yy1212;
+       goto yy55;
 -yy1165:
 -      YYDEBUG(1165, *YYCURSOR);
++yy1190:
++      YYDEBUG(1190, *YYCURSOR);
        yych = *++YYCURSOR;
-       if (yych == 'M') goto yy608;
-       if (yych == 'm') goto yy608;
-       goto yy56;
- yy598:
-       YYDEBUG(598, *YYCURSOR);
+       if (yych <= 'N') {
+               if (yych <= 'K') {
 -                      if (yych == 'C') goto yy1169;
++                      if (yych == 'C') goto yy1194;
+                       goto yy55;
+               } else {
 -                      if (yych <= 'L') goto yy1168;
++                      if (yych <= 'L') goto yy1193;
+                       if (yych <= 'M') goto yy55;
 -                      goto yy1170;
++                      goto yy1195;
+               }
+       } else {
+               if (yych <= 'k') {
 -                      if (yych == 'c') goto yy1169;
++                      if (yych == 'c') goto yy1194;
+                       goto yy55;
+               } else {
 -                      if (yych <= 'l') goto yy1168;
 -                      if (yych == 'n') goto yy1170;
++                      if (yych <= 'l') goto yy1193;
++                      if (yych == 'n') goto yy1195;
+                       goto yy55;
+               }
+       }
 -yy1166:
 -      YYDEBUG(1166, *YYCURSOR);
++yy1191:
++      YYDEBUG(1191, *YYCURSOR);
+       yyaccept = 25;
+       yych = *(YYMARKER = ++YYCURSOR);
 -      if (yych == 'E') goto yy1167;
 -      if (yych != 'e') goto yy1094;
 -yy1167:
 -      YYDEBUG(1167, *YYCURSOR);
++      if (yych == 'E') goto yy1192;
++      if (yych != 'e') goto yy1119;
++yy1192:
++      YYDEBUG(1192, *YYCURSOR);
        yych = *++YYCURSOR;
-       if (yych == 'U') goto yy602;
-       if (yych == 'u') goto yy602;
-       goto yy56;
- yy599:
-       YYDEBUG(599, *YYCURSOR);
 -      if (yych == 'C') goto yy1125;
 -      if (yych == 'c') goto yy1125;
++      if (yych == 'C') goto yy1150;
++      if (yych == 'c') goto yy1150;
+       goto yy55;
 -yy1168:
 -      YYDEBUG(1168, *YYCURSOR);
++yy1193:
++      YYDEBUG(1193, *YYCURSOR);
        yych = *++YYCURSOR;
-       if (yych <= 'N') {
-               if (yych == 'H') goto yy780;
-               if (yych <= 'M') goto yy56;
-               goto yy781;
 -      if (yych == 'L') goto yy1180;
 -      if (yych == 'l') goto yy1180;
++      if (yych == 'L') goto yy1205;
++      if (yych == 'l') goto yy1205;
+       goto yy55;
 -yy1169:
 -      YYDEBUG(1169, *YYCURSOR);
++yy1194:
++      YYDEBUG(1194, *YYCURSOR);
+       yych = *++YYCURSOR;
 -      if (yych == 'R') goto yy1173;
 -      if (yych == 'r') goto yy1173;
++      if (yych == 'R') goto yy1198;
++      if (yych == 'r') goto yy1198;
+       goto yy55;
 -yy1170:
 -      YYDEBUG(1170, *YYCURSOR);
++yy1195:
++      YYDEBUG(1195, *YYCURSOR);
+       yyaccept = 25;
+       yych = *(YYMARKER = ++YYCURSOR);
+       if (yych <= 'U') {
 -              if (yych == 'S') goto yy1119;
 -              if (yych <= 'T') goto yy1094;
++              if (yych == 'S') goto yy1144;
++              if (yych <= 'T') goto yy1119;
        } else {
-               if (yych <= 'h') {
-                       if (yych <= 'g') goto yy56;
-                       goto yy780;
+               if (yych <= 's') {
 -                      if (yych <= 'r') goto yy1094;
 -                      goto yy1119;
++                      if (yych <= 'r') goto yy1119;
++                      goto yy1144;
                } else {
-                       if (yych == 'n') goto yy781;
-                       goto yy56;
 -                      if (yych != 'u') goto yy1094;
++                      if (yych != 'u') goto yy1119;
                }
        }
- yy600:
-       YYDEBUG(600, *YYCURSOR);
 -      YYDEBUG(1171, *YYCURSOR);
++      YYDEBUG(1196, *YYCURSOR);
        yych = *++YYCURSOR;
-       if (yych == 'A') goto yy782;
-       if (yych == 'a') goto yy782;
-       goto yy56;
- yy601:
-       YYDEBUG(601, *YYCURSOR);
 -      if (yych == 'T') goto yy1172;
++      if (yych == 'T') goto yy1197;
+       if (yych != 't') goto yy55;
 -yy1172:
 -      YYDEBUG(1172, *YYCURSOR);
++yy1197:
++      YYDEBUG(1197, *YYCURSOR);
        yych = *++YYCURSOR;
-       if (yych <= '/') goto yy241;
-       if (yych <= '9') goto yy783;
-       goto yy241;
- yy602:
-       YYDEBUG(602, *YYCURSOR);
 -      if (yych == 'E') goto yy1125;
 -      if (yych == 'e') goto yy1125;
++      if (yych == 'E') goto yy1150;
++      if (yych == 'e') goto yy1150;
+       goto yy55;
 -yy1173:
 -      YYDEBUG(1173, *YYCURSOR);
++yy1198:
++      YYDEBUG(1198, *YYCURSOR);
        yych = *++YYCURSOR;
-       if (yych == 'A') goto yy784;
-       if (yych == 'a') goto yy784;
-       goto yy56;
- yy603:
-       YYDEBUG(603, *YYCURSOR);
 -      if (yych == 'O') goto yy1174;
++      if (yych == 'O') goto yy1199;
+       if (yych != 'o') goto yy55;
 -yy1174:
 -      YYDEBUG(1174, *YYCURSOR);
++yy1199:
++      YYDEBUG(1199, *YYCURSOR);
        yych = *++YYCURSOR;
-       if (yych == 'H') goto yy243;
-       if (yych == 'h') goto yy243;
-       goto yy56;
- yy604:
-       YYDEBUG(604, *YYCURSOR);
 -      if (yych == 'S') goto yy1175;
++      if (yych == 'S') goto yy1200;
+       if (yych != 's') goto yy55;
 -yy1175:
 -      YYDEBUG(1175, *YYCURSOR);
++yy1200:
++      YYDEBUG(1200, *YYCURSOR);
        yych = *++YYCURSOR;
-       if (yych == 'O') goto yy785;
-       if (yych == 'o') goto yy785;
-       goto yy56;
- yy605:
-       YYDEBUG(605, *YYCURSOR);
 -      if (yych == 'E') goto yy1176;
++      if (yych == 'E') goto yy1201;
+       if (yych != 'e') goto yy55;
 -yy1176:
 -      YYDEBUG(1176, *YYCURSOR);
++yy1201:
++      YYDEBUG(1201, *YYCURSOR);
        yych = *++YYCURSOR;
-       if (yych == 'I') goto yy785;
-       if (yych == 'i') goto yy785;
-       goto yy56;
- yy606:
-       YYDEBUG(606, *YYCURSOR);
 -      if (yych == 'C') goto yy1177;
++      if (yych == 'C') goto yy1202;
+       if (yych != 'c') goto yy55;
 -yy1177:
 -      YYDEBUG(1177, *YYCURSOR);
++yy1202:
++      YYDEBUG(1202, *YYCURSOR);
        yych = *++YYCURSOR;
-       if (yych == 'T') goto yy786;
-       if (yych == 't') goto yy786;
-       goto yy56;
- yy607:
-       YYDEBUG(607, *YYCURSOR);
 -      if (yych == 'O') goto yy1178;
++      if (yych == 'O') goto yy1203;
+       if (yych != 'o') goto yy55;
 -yy1178:
 -      YYDEBUG(1178, *YYCURSOR);
++yy1203:
++      YYDEBUG(1203, *YYCURSOR);
        yych = *++YYCURSOR;
-       if (yych == 'H') goto yy408;
-       if (yych == 'h') goto yy408;
-       goto yy56;
- yy608:
-       YYDEBUG(608, *YYCURSOR);
 -      if (yych == 'N') goto yy1179;
++      if (yych == 'N') goto yy1204;
+       if (yych != 'n') goto yy55;
 -yy1179:
 -      YYDEBUG(1179, *YYCURSOR);
++yy1204:
++      YYDEBUG(1204, *YYCURSOR);
        yych = *++YYCURSOR;
-       if (yych == 'B') goto yy787;
-       if (yych == 'b') goto yy787;
-       goto yy56;
- yy609:
-       YYDEBUG(609, *YYCURSOR);
 -      if (yych == 'D') goto yy1125;
 -      if (yych == 'd') goto yy1125;
++      if (yych == 'D') goto yy1150;
++      if (yych == 'd') goto yy1150;
+       goto yy55;
 -yy1180:
 -      YYDEBUG(1180, *YYCURSOR);
++yy1205:
++      YYDEBUG(1205, *YYCURSOR);
        yych = *++YYCURSOR;
-       if (yych == 'R') goto yy612;
-       if (yych == 'r') goto yy612;
-       goto yy56;
- yy610:
-       YYDEBUG(610, *YYCURSOR);
 -      if (yych == 'I') goto yy1181;
++      if (yych == 'I') goto yy1206;
+       if (yych != 'i') goto yy55;
 -yy1181:
 -      YYDEBUG(1181, *YYCURSOR);
++yy1206:
++      YYDEBUG(1206, *YYCURSOR);
        yych = *++YYCURSOR;
-       if (yych == 'N') goto yy788;
-       if (yych == 'n') goto yy788;
-       goto yy56;
- yy611:
-       YYDEBUG(611, *YYCURSOR);
 -      if (yych == 'S') goto yy1182;
++      if (yych == 'S') goto yy1207;
+       if (yych != 's') goto yy55;
 -yy1182:
 -      YYDEBUG(1182, *YYCURSOR);
++yy1207:
++      YYDEBUG(1207, *YYCURSOR);
        yych = *++YYCURSOR;
-       if (yych == 'S') goto yy612;
-       if (yych != 's') goto yy56;
- yy612:
-       YYDEBUG(612, *YYCURSOR);
 -      if (yych == 'E') goto yy1183;
++      if (yych == 'E') goto yy1208;
+       if (yych != 'e') goto yy55;
 -yy1183:
 -      YYDEBUG(1183, *YYCURSOR);
++yy1208:
++      YYDEBUG(1208, *YYCURSOR);
        yych = *++YYCURSOR;
-       if (yych == 'D') goto yy600;
-       if (yych == 'd') goto yy600;
-       goto yy56;
- yy613:
-       YYDEBUG(613, *YYCURSOR);
 -      if (yych == 'C') goto yy1184;
++      if (yych == 'C') goto yy1209;
+       if (yych != 'c') goto yy55;
 -yy1184:
 -      YYDEBUG(1184, *YYCURSOR);
++yy1209:
++      YYDEBUG(1209, *YYCURSOR);
        yych = *++YYCURSOR;
-       if (yych == 'E') goto yy611;
-       if (yych == 'e') goto yy611;
-       goto yy56;
- yy614:
-       YYDEBUG(614, *YYCURSOR);
-       yyaccept = 6;
 -      if (yych == 'O') goto yy1185;
++      if (yych == 'O') goto yy1210;
+       if (yych != 'o') goto yy55;
 -yy1185:
 -      YYDEBUG(1185, *YYCURSOR);
++yy1210:
++      YYDEBUG(1210, *YYCURSOR);
+       yych = *++YYCURSOR;
 -      if (yych == 'N') goto yy1186;
++      if (yych == 'N') goto yy1211;
+       if (yych != 'n') goto yy55;
 -yy1186:
 -      YYDEBUG(1186, *YYCURSOR);
++yy1211:
++      YYDEBUG(1211, *YYCURSOR);
+       yych = *++YYCURSOR;
 -      if (yych == 'D') goto yy1125;
 -      if (yych == 'd') goto yy1125;
++      if (yych == 'D') goto yy1150;
++      if (yych == 'd') goto yy1150;
+       goto yy55;
 -yy1187:
 -      YYDEBUG(1187, *YYCURSOR);
++yy1212:
++      YYDEBUG(1212, *YYCURSOR);
+       yyaccept = 25;
        yych = *(YYMARKER = ++YYCURSOR);
-       if (yych <= 'S') {
-               if (yych == 'D') goto yy188;
-               if (yych <= 'R') goto yy250;
-               goto yy596;
+       if (yych <= 'D') {
+               if (yych <= 0x1F) {
 -                      if (yych == '\t') goto yy1095;
 -                      goto yy1094;
++                      if (yych == '\t') goto yy1120;
++                      goto yy1119;
+               } else {
 -                      if (yych <= ' ') goto yy1095;
 -                      if (yych <= 'C') goto yy1094;
++                      if (yych <= ' ') goto yy1120;
++                      if (yych <= 'C') goto yy1119;
+               }
        } else {
-               if (yych <= 'd') {
-                       if (yych <= 'c') goto yy250;
-                       goto yy188;
+               if (yych <= 'c') {
 -                      if (yych == 'T') goto yy1189;
 -                      goto yy1094;
++                      if (yych == 'T') goto yy1214;
++                      goto yy1119;
                } else {
-                       if (yych == 's') goto yy596;
-                       goto yy250;
 -                      if (yych <= 'd') goto yy1188;
 -                      if (yych == 't') goto yy1189;
 -                      goto yy1094;
++                      if (yych <= 'd') goto yy1213;
++                      if (yych == 't') goto yy1214;
++                      goto yy1119;
                }
        }
- yy615:
-       YYDEBUG(615, *YYCURSOR);
 -yy1188:
 -      YYDEBUG(1188, *YYCURSOR);
++yy1213:
++      YYDEBUG(1213, *YYCURSOR);
        yych = *++YYCURSOR;
-       if (yych <= ',') goto yy56;
-       if (yych <= '.') goto yy379;
-       if (yych <= '/') goto yy56;
-       if (yych <= '9') goto yy617;
-       goto yy56;
- yy616:
-       YYDEBUG(616, *YYCURSOR);
 -      if (yych == 'A') goto yy1190;
 -      if (yych == 'a') goto yy1190;
++      if (yych == 'A') goto yy1215;
++      if (yych == 'a') goto yy1215;
+       goto yy55;
 -yy1189:
 -      YYDEBUG(1189, *YYCURSOR);
++yy1214:
++      YYDEBUG(1214, *YYCURSOR);
        yych = *++YYCURSOR;
-       if (yych <= ',') goto yy56;
-       if (yych <= '.') goto yy379;
-       if (yych <= '/') goto yy56;
-       if (yych >= '3') goto yy56;
- yy617:
-       YYDEBUG(617, *YYCURSOR);
 -      if (yych == 'H') goto yy1125;
 -      if (yych == 'h') goto yy1125;
++      if (yych == 'H') goto yy1150;
++      if (yych == 'h') goto yy1150;
+       goto yy55;
 -yy1190:
 -      YYDEBUG(1190, *YYCURSOR);
++yy1215:
++      YYDEBUG(1215, *YYCURSOR);
        yych = *++YYCURSOR;
-       if (yych <= ',') goto yy56;
-       if (yych <= '.') goto yy379;
-       goto yy56;
- yy618:
-       YYDEBUG(618, *YYCURSOR);
-       yyaccept = 4;
-       yych = *(YYMARKER = ++YYCURSOR);
-       if (yych == '.') goto yy721;
-       if (yych <= '/') goto yy209;
-       if (yych <= '9') goto yy789;
-       goto yy209;
- yy619:
-       YYDEBUG(619, *YYCURSOR);
-       yyaccept = 4;
 -      if (yych == 'Y') goto yy1100;
 -      if (yych == 'y') goto yy1100;
++      if (yych == 'Y') goto yy1125;
++      if (yych == 'y') goto yy1125;
+       goto yy55;
 -yy1191:
 -      YYDEBUG(1191, *YYCURSOR);
++yy1216:
++      YYDEBUG(1216, *YYCURSOR);
+       yyaccept = 0;
        yych = *(YYMARKER = ++YYCURSOR);
-       if (yych <= '/') {
-               if (yych == '.') goto yy721;
-               goto yy209;
+       if (yych <= 'D') {
+               if (yych <= '-') {
+                       if (yych == ')') goto yy174;
+                       if (yych <= ',') goto yy3;
+                       goto yy182;
+               } else {
+                       if (yych == '/') goto yy182;
+                       if (yych <= '@') goto yy3;
+                       goto yy176;
+               }
        } else {
-               if (yych <= '0') goto yy789;
-               if (yych <= '9') goto yy715;
-               goto yy209;
+               if (yych <= '_') {
 -                      if (yych <= 'E') goto yy1073;
++                      if (yych <= 'E') goto yy1098;
+                       if (yych <= 'Z') goto yy176;
+                       if (yych <= '^') goto yy3;
+                       goto yy182;
+               } else {
+                       if (yych <= 'd') {
+                               if (yych <= '`') goto yy3;
+                               goto yy181;
+                       } else {
 -                              if (yych <= 'e') goto yy1192;
++                              if (yych <= 'e') goto yy1217;
+                               if (yych <= 'z') goto yy181;
+                               goto yy3;
+                       }
+               }
        }
- yy620:
-       YYDEBUG(620, *YYCURSOR);
-       ++YYCURSOR;
-       if ((YYLIMIT - YYCURSOR) < 5) YYFILL(5);
-       yych = *YYCURSOR;
-       YYDEBUG(621, *YYCURSOR);
-       if (yych <= 'A') {
-               if (yych <= 0x1F) {
-                       if (yych == '\t') goto yy620;
-                       goto yy56;
 -yy1192:
 -      YYDEBUG(1192, *YYCURSOR);
++yy1217:
++      YYDEBUG(1217, *YYCURSOR);
+       yyaccept = 0;
+       yych = *(YYMARKER = ++YYCURSOR);
+       if (yych <= 'U') {
+               if (yych <= '-') {
+                       if (yych == ')') goto yy174;
+                       if (yych <= ',') goto yy3;
+                       goto yy182;
                } else {
-                       if (yych <= ' ') goto yy620;
-                       if (yych <= '@') goto yy56;
-                       goto yy101;
+                       if (yych == '/') goto yy182;
+                       if (yych <= '@') goto yy3;
+                       goto yy177;
                }
        } else {
-               if (yych <= '`') {
-                       if (yych == 'P') goto yy101;
-                       goto yy56;
+               if (yych <= '_') {
 -                      if (yych <= 'V') goto yy1074;
++                      if (yych <= 'V') goto yy1099;
+                       if (yych <= 'Z') goto yy177;
+                       if (yych <= '^') goto yy3;
+                       goto yy182;
                } else {
-                       if (yych <= 'a') goto yy101;
-                       if (yych == 'p') goto yy101;
-                       goto yy56;
+                       if (yych <= 'u') {
+                               if (yych <= '`') goto yy3;
+                               goto yy185;
+                       } else {
 -                              if (yych <= 'v') goto yy1193;
++                              if (yych <= 'v') goto yy1218;
+                               if (yych <= 'z') goto yy185;
+                               goto yy3;
+                       }
                }
        }
- yy622:
-       YYDEBUG(622, *YYCURSOR);
-       yyaccept = 4;
-       yych = *(YYMARKER = ++YYCURSOR);
-       if (yych == '.') goto yy721;
-       if (yych <= '/') goto yy209;
-       if (yych <= '9') goto yy790;
-       goto yy209;
- yy623:
-       YYDEBUG(623, *YYCURSOR);
-       yyaccept = 4;
 -yy1193:
 -      YYDEBUG(1193, *YYCURSOR);
++yy1218:
++      YYDEBUG(1218, *YYCURSOR);
+       yyaccept = 0;
+       yych = *(YYMARKER = ++YYCURSOR);
+       if (yych <= 'H') {
+               if (yych <= '-') {
+                       if (yych == ')') goto yy174;
+                       if (yych <= ',') goto yy3;
+                       goto yy182;
+               } else {
+                       if (yych == '/') goto yy182;
+                       if (yych <= '@') goto yy3;
+                       goto yy178;
+               }
+       } else {
+               if (yych <= '_') {
 -                      if (yych <= 'I') goto yy1075;
++                      if (yych <= 'I') goto yy1100;
+                       if (yych <= 'Z') goto yy178;
+                       if (yych <= '^') goto yy3;
+                       goto yy182;
+               } else {
+                       if (yych <= 'h') {
+                               if (yych <= '`') goto yy3;
+                               goto yy186;
+                       } else {
 -                              if (yych <= 'i') goto yy1194;
++                              if (yych <= 'i') goto yy1219;
+                               if (yych <= 'z') goto yy186;
+                               goto yy3;
+                       }
+               }
+       }
 -yy1194:
 -      YYDEBUG(1194, *YYCURSOR);
++yy1219:
++      YYDEBUG(1219, *YYCURSOR);
+       yyaccept = 0;
        yych = *(YYMARKER = ++YYCURSOR);
-       if (yych == '.') goto yy721;
-       if (yych == '0') goto yy790;
-       goto yy209;
- yy624:
-       YYDEBUG(624, *YYCURSOR);
-       yych = *++YYCURSOR;
-       if (yych <= '/') goto yy56;
-       if (yych <= '5') goto yy791;
-       if (yych <= '6') goto yy792;
-       if (yych <= '9') goto yy556;
-       goto yy56;
- yy625:
-       YYDEBUG(625, *YYCURSOR);
-       yych = *++YYCURSOR;
-       if (yych <= '/') goto yy56;
-       if (yych <= '2') goto yy793;
-       if (yych <= '3') goto yy794;
-       if (yych <= '9') goto yy795;
-       goto yy56;
- yy626:
-       YYDEBUG(626, *YYCURSOR);
-       yych = *++YYCURSOR;
-       if (yych == '-') goto yy796;
-       goto yy56;
- yy627:
-       YYDEBUG(627, *YYCURSOR);
-       yych = *++YYCURSOR;
-       if (yych == 'R') goto yy797;
-       if (yych == 'r') goto yy797;
-       goto yy56;
- yy628:
-       YYDEBUG(628, *YYCURSOR);
-       yych = *++YYCURSOR;
-       if (yych == 'G') goto yy797;
-       if (yych == 'g') goto yy797;
-       goto yy56;
- yy629:
-       YYDEBUG(629, *YYCURSOR);
-       yych = *++YYCURSOR;
-       if (yych == 'C') goto yy797;
-       if (yych == 'c') goto yy797;
-       goto yy56;
- yy630:
-       YYDEBUG(630, *YYCURSOR);
-       yych = *++YYCURSOR;
-       if (yych == 'B') goto yy797;
-       if (yych == 'b') goto yy797;
-       goto yy56;
- yy631:
-       YYDEBUG(631, *YYCURSOR);
-       yych = *++YYCURSOR;
-       if (yych == 'N') goto yy797;
-       if (yych == 'n') goto yy797;
-       goto yy56;
- yy632:
-       YYDEBUG(632, *YYCURSOR);
-       yych = *++YYCURSOR;
        if (yych <= 'N') {
-               if (yych == 'L') goto yy797;
-               if (yych <= 'M') goto yy56;
-               goto yy797;
+               if (yych <= '-') {
+                       if (yych == ')') goto yy174;
+                       if (yych <= ',') goto yy3;
+                       goto yy182;
+               } else {
+                       if (yych == '/') goto yy182;
+                       if (yych <= '@') goto yy3;
+                       goto yy179;
+               }
        } else {
-               if (yych <= 'l') {
-                       if (yych <= 'k') goto yy56;
-                       goto yy797;
+               if (yych <= '_') {
 -                      if (yych <= 'O') goto yy1076;
++                      if (yych <= 'O') goto yy1101;
+                       if (yych <= 'Z') goto yy179;
+                       if (yych <= '^') goto yy3;
+                       goto yy182;
                } else {
-                       if (yych == 'n') goto yy797;
-                       goto yy56;
+                       if (yych <= 'n') {
+                               if (yych <= '`') goto yy3;
+                               goto yy187;
+                       } else {
 -                              if (yych <= 'o') goto yy1195;
++                              if (yych <= 'o') goto yy1220;
+                               if (yych <= 'z') goto yy187;
+                               goto yy3;
+                       }
                }
        }
- yy633:
-       YYDEBUG(633, *YYCURSOR);
-       yych = *++YYCURSOR;
-       if (yych <= 'Y') {
-               if (yych == 'R') goto yy797;
-               if (yych <= 'X') goto yy56;
-               goto yy797;
 -yy1195:
 -      YYDEBUG(1195, *YYCURSOR);
++yy1220:
++      YYDEBUG(1220, *YYCURSOR);
+       yyaccept = 0;
+       yych = *(YYMARKER = ++YYCURSOR);
+       if (yych <= 'T') {
+               if (yych <= ',') {
+                       if (yych == ')') goto yy174;
+                       goto yy3;
+               } else {
+                       if (yych == '.') goto yy3;
+                       if (yych <= '/') goto yy182;
+                       goto yy3;
+               }
        } else {
-               if (yych <= 'r') {
-                       if (yych <= 'q') goto yy56;
-                       goto yy797;
+               if (yych <= '`') {
 -                      if (yych <= 'U') goto yy1077;
++                      if (yych <= 'U') goto yy1102;
+                       if (yych == '_') goto yy182;
+                       goto yy3;
                } else {
-                       if (yych == 'y') goto yy797;
-                       goto yy56;
 -                      if (yych == 'u') goto yy1196;
++                      if (yych == 'u') goto yy1221;
+                       if (yych <= 'z') goto yy188;
+                       goto yy3;
                }
        }
- yy634:
-       YYDEBUG(634, *YYCURSOR);
-       yych = *++YYCURSOR;
-       if (yych == 'V') goto yy797;
-       if (yych == 'v') goto yy797;
-       goto yy56;
- yy635:
-       YYDEBUG(635, *YYCURSOR);
-       yych = *++YYCURSOR;
-       if (yych == 'T') goto yy797;
-       if (yych == 't') goto yy797;
-       goto yy56;
- yy636:
-       YYDEBUG(636, *YYCURSOR);
-       yych = *++YYCURSOR;
-       if (yych == 'P') goto yy798;
-       if (yych == 'p') goto yy798;
-       goto yy56;
- yy637:
-       YYDEBUG(637, *YYCURSOR);
 -yy1196:
 -      YYDEBUG(1196, *YYCURSOR);
++yy1221:
++      YYDEBUG(1221, *YYCURSOR);
        yych = *++YYCURSOR;
-       if (yych <= '/') goto yy276;
-       if (yych <= '9') goto yy799;
-       goto yy276;
- yy638:
-       YYDEBUG(638, *YYCURSOR);
 -      if (yych == 'S') goto yy1078;
++      if (yych == 'S') goto yy1103;
+       if (yych != 's') goto yy189;
 -      YYDEBUG(1197, *YYCURSOR);
++      YYDEBUG(1222, *YYCURSOR);
        yych = *++YYCURSOR;
-       if (yych <= '@') {
-               if (yych == ')') goto yy108;
-               goto yy18;
+       if (yybm[0+yych] & 8) {
+               goto yy188;
+       }
+       if (yych <= ',') {
+               if (yych <= '\t') {
+                       if (yych <= 0x08) goto yy55;
 -                      goto yy1079;
++                      goto yy1104;
+               } else {
 -                      if (yych == ' ') goto yy1079;
++                      if (yych == ' ') goto yy1104;
+                       goto yy55;
+               }
        } else {
-               if (yych <= 'Z') goto yy800;
-               if (yych <= '`') goto yy18;
-               if (yych <= 'z') goto yy800;
-               goto yy18;
+               if (yych <= '/') {
+                       if (yych == '.') goto yy55;
+                       goto yy182;
+               } else {
+                       if (yych == '_') goto yy182;
+                       goto yy55;
+               }
        }
- yy639:
-       YYDEBUG(639, *YYCURSOR);
 -yy1198:
 -      YYDEBUG(1198, *YYCURSOR);
++yy1223:
++      YYDEBUG(1223, *YYCURSOR);
        yych = *++YYCURSOR;
-       if (yych <= '9') {
-               if (yych <= ' ') {
-                       if (yych <= 0x08) {
-                               if (yych <= 0x00) goto yy310;
-                               goto yy56;
-                       } else {
-                               if (yych <= '\t') goto yy312;
-                               if (yych <= 0x1F) goto yy56;
-                               goto yy312;
-                       }
+       if (yych <= 'G') {
+               if (yych <= ')') {
+                       if (yych <= '(') goto yy3;
+                       goto yy174;
                } else {
-                       if (yych <= '-') {
-                               if (yych == ',') goto yy312;
-                               goto yy56;
-                       } else {
-                               if (yych <= '.') goto yy312;
-                               if (yych <= '/') goto yy56;
-                               goto yy801;
-                       }
+                       if (yych <= '@') goto yy3;
+                       if (yych <= 'F') goto yy176;
 -                      goto yy1212;
++                      goto yy1237;
                }
        } else {
-               if (yych <= 'm') {
-                       if (yych <= 'd') {
-                               if (yych <= 'c') goto yy56;
-                               goto yy312;
-                       } else {
-                               if (yych == 'h') goto yy312;
-                               goto yy56;
-                       }
+               if (yych <= 'f') {
+                       if (yych <= 'Z') goto yy176;
+                       if (yych <= '`') goto yy3;
+                       goto yy176;
                } else {
-                       if (yych <= 'r') {
-                               if (yych <= 'n') goto yy315;
-                               if (yych <= 'q') goto yy56;
-                               goto yy315;
-                       } else {
-                               if (yych <= 's') goto yy316;
-                               if (yych <= 't') goto yy317;
-                               goto yy56;
-                       }
 -                      if (yych <= 'g') goto yy1212;
++                      if (yych <= 'g') goto yy1237;
+                       if (yych <= 'z') goto yy176;
+                       goto yy3;
                }
        }
- yy640:
-       YYDEBUG(640, *YYCURSOR);
 -yy1199:
 -      YYDEBUG(1199, *YYCURSOR);
++yy1224:
++      YYDEBUG(1224, *YYCURSOR);
        yych = *++YYCURSOR;
-       if (yych <= '1') {
-               if (yych <= ' ') {
-                       if (yych <= 0x08) {
-                               if (yych <= 0x00) goto yy310;
-                               goto yy56;
-                       } else {
-                               if (yych <= '\t') goto yy312;
-                               if (yych <= 0x1F) goto yy56;
-                               goto yy312;
-                       }
+       if (yych <= 'E') {
+               if (yych <= ')') {
+                       if (yych <= '(') goto yy3;
+                       goto yy174;
                } else {
-                       if (yych <= '-') {
-                               if (yych == ',') goto yy312;
-                               goto yy56;
-                       } else {
-                               if (yych <= '.') goto yy312;
-                               if (yych <= '/') goto yy56;
-                               goto yy801;
-                       }
+                       if (yych <= '@') goto yy3;
+                       if (yych <= 'D') goto yy176;
                }
        } else {
-               if (yych <= 'm') {
-                       if (yych <= 'd') {
-                               if (yych <= '9') goto yy318;
-                               if (yych <= 'c') goto yy56;
-                               goto yy312;
-                       } else {
-                               if (yych == 'h') goto yy312;
-                               goto yy56;
-                       }
+               if (yych <= 'd') {
+                       if (yych <= 'Z') goto yy176;
+                       if (yych <= '`') goto yy3;
+                       goto yy176;
                } else {
-                       if (yych <= 'r') {
-                               if (yych <= 'n') goto yy315;
-                               if (yych <= 'q') goto yy56;
-                               goto yy315;
-                       } else {
-                               if (yych <= 's') goto yy316;
-                               if (yych <= 't') goto yy317;
-                               goto yy56;
-                       }
 -                      if (yych <= 'e') goto yy1200;
++                      if (yych <= 'e') goto yy1225;
+                       if (yych <= 'z') goto yy176;
+                       goto yy3;
                }
        }
- yy641:
-       YYDEBUG(641, *YYCURSOR);
-       yyaccept = 7;
-       yych = *(YYMARKER = ++YYCURSOR);
-       if (yych <= ',') {
-               if (yych <= 0x1F) {
-                       if (yych == '\t') goto yy135;
-                       goto yy281;
 -yy1200:
 -      YYDEBUG(1200, *YYCURSOR);
++yy1225:
++      YYDEBUG(1225, *YYCURSOR);
+       yych = *++YYCURSOR;
+       if (yych <= 'V') {
+               if (yych <= ')') {
+                       if (yych <= '(') goto yy3;
+                       goto yy174;
                } else {
-                       if (yych <= ' ') goto yy135;
-                       if (yych == ')') goto yy108;
-                       goto yy281;
+                       if (yych <= '@') goto yy3;
+                       if (yych <= 'U') goto yy177;
                }
        } else {
-               if (yych <= '@') {
-                       if (yych == '/') goto yy281;
-                       if (yych <= '9') goto yy135;
-                       goto yy281;
+               if (yych <= 'u') {
+                       if (yych <= 'Z') goto yy177;
+                       if (yych <= '`') goto yy3;
+                       goto yy177;
                } else {
-                       if (yych <= 'Z') goto yy800;
-                       if (yych <= '`') goto yy281;
-                       if (yych <= 'z') goto yy800;
-                       goto yy281;
 -                      if (yych <= 'v') goto yy1201;
++                      if (yych <= 'v') goto yy1226;
+                       if (yych <= 'z') goto yy177;
+                       goto yy3;
                }
        }
- yy642:
-       YYDEBUG(642, *YYCURSOR);
 -yy1201:
 -      YYDEBUG(1201, *YYCURSOR);
++yy1226:
++      YYDEBUG(1226, *YYCURSOR);
        yych = *++YYCURSOR;
-       if (yych <= 'T') {
+       if (yych <= 'E') {
                if (yych <= ')') {
-                       if (yych <= '(') goto yy18;
-                       goto yy108;
+                       if (yych <= '(') goto yy3;
+                       goto yy174;
                } else {
-                       if (yych <= '@') goto yy18;
-                       if (yych <= 'S') goto yy800;
-                       goto yy802;
+                       if (yych <= '@') goto yy3;
+                       if (yych <= 'D') goto yy178;
                }
        } else {
-               if (yych <= 's') {
-                       if (yych <= 'Z') goto yy800;
-                       if (yych <= '`') goto yy18;
-                       goto yy800;
+               if (yych <= 'd') {
+                       if (yych <= 'Z') goto yy178;
+                       if (yych <= '`') goto yy3;
+                       goto yy178;
                } else {
-                       if (yych <= 't') goto yy802;
-                       if (yych <= 'z') goto yy800;
-                       goto yy18;
 -                      if (yych <= 'e') goto yy1202;
++                      if (yych <= 'e') goto yy1227;
+                       if (yych <= 'z') goto yy178;
+                       goto yy3;
                }
        }
- yy643:
-       YYDEBUG(643, *YYCURSOR);
-       yyaccept = 2;
-       yych = *(YYMARKER = ++YYCURSOR);
-       if (yych <= '/') {
-               if (yych <= ',') {
-                       if (yych == ')') goto yy108;
-                       goto yy18;
 -yy1202:
 -      YYDEBUG(1202, *YYCURSOR);
++yy1227:
++      YYDEBUG(1227, *YYCURSOR);
+       yych = *++YYCURSOR;
+       if (yych <= 'N') {
+               if (yych <= ')') {
+                       if (yych <= '(') goto yy3;
+                       goto yy174;
                } else {
-                       if (yych == '.') goto yy18;
-                       goto yy283;
+                       if (yych <= '@') goto yy3;
+                       if (yych <= 'M') goto yy179;
                }
        } else {
-               if (yych <= '^') {
-                       if (yych <= '@') goto yy18;
-                       if (yych <= 'Z') goto yy800;
-                       goto yy18;
+               if (yych <= 'm') {
+                       if (yych <= 'Z') goto yy179;
+                       if (yych <= '`') goto yy3;
+                       goto yy179;
                } else {
-                       if (yych <= '_') goto yy283;
-                       if (yych <= '`') goto yy18;
-                       if (yych <= 'z') goto yy803;
-                       goto yy18;
 -                      if (yych <= 'n') goto yy1203;
++                      if (yych <= 'n') goto yy1228;
+                       if (yych <= 'z') goto yy179;
+                       goto yy3;
                }
        }
- yy644:
-       YYDEBUG(644, *YYCURSOR);
-       yyaccept = 7;
 -yy1203:
 -      YYDEBUG(1203, *YYCURSOR);
++yy1228:
++      YYDEBUG(1228, *YYCURSOR);
+       yyaccept = 0;
        yych = *(YYMARKER = ++YYCURSOR);
-       if (yych <= '.') {
-               if (yych <= ' ') {
-                       if (yych == '\t') goto yy135;
-                       if (yych <= 0x1F) goto yy281;
-                       goto yy135;
+       if (yych <= 'S') {
+               if (yych == ')') goto yy174;
+               goto yy3;
+       } else {
 -              if (yych <= 'T') goto yy1204;
++              if (yych <= 'T') goto yy1229;
+               if (yych != 't') goto yy3;
+       }
 -yy1204:
 -      YYDEBUG(1204, *YYCURSOR);
++yy1229:
++      YYDEBUG(1229, *YYCURSOR);
+       yych = *++YYCURSOR;
 -      if (yych == 'H') goto yy1205;
++      if (yych == 'H') goto yy1230;
+       if (yych != 'h') goto yy55;
 -yy1205:
 -      YYDEBUG(1205, *YYCURSOR);
++yy1230:
++      YYDEBUG(1230, *YYCURSOR);
+       yych = *++YYCURSOR;
 -      if (yych == '\t') goto yy1206;
++      if (yych == '\t') goto yy1231;
+       if (yych != ' ') goto yy55;
 -yy1206:
 -      YYDEBUG(1206, *YYCURSOR);
++yy1231:
++      YYDEBUG(1231, *YYCURSOR);
+       ++YYCURSOR;
+       if ((YYLIMIT - YYCURSOR) < 12) YYFILL(12);
+       yych = *YYCURSOR;
 -yy1207:
 -      YYDEBUG(1207, *YYCURSOR);
++yy1232:
++      YYDEBUG(1232, *YYCURSOR);
+       if (yych <= 'X') {
+               if (yych <= 'G') {
+                       if (yych <= ' ') {
 -                              if (yych == '\t') goto yy1206;
++                              if (yych == '\t') goto yy1231;
+                               if (yych <= 0x1F) goto yy55;
 -                              goto yy1206;
++                              goto yy1231;
+                       } else {
+                               if (yych <= 'D') {
+                                       if (yych <= 'C') goto yy55;
 -                                      goto yy1086;
++                                      goto yy1111;
+                               } else {
 -                                      if (yych == 'F') goto yy1087;
++                                      if (yych == 'F') goto yy1112;
+                                       goto yy55;
+                               }
+                       }
                } else {
-                       if (yych <= ')') {
-                               if (yych <= '(') goto yy281;
-                               goto yy108;
+                       if (yych <= 'S') {
+                               if (yych <= 'L') {
 -                                      if (yych <= 'H') goto yy1085;
++                                      if (yych <= 'H') goto yy1110;
+                                       goto yy55;
+                               } else {
 -                                      if (yych <= 'M') goto yy1081;
++                                      if (yych <= 'M') goto yy1106;
+                                       if (yych <= 'R') goto yy55;
 -                                      goto yy1084;
++                                      goto yy1109;
+                               }
                        } else {
-                               if (yych <= ',') goto yy281;
-                               if (yych <= '-') goto yy680;
-                               goto yy135;
+                               if (yych <= 'U') {
 -                                      if (yych <= 'T') goto yy1090;
 -                                      goto yy1083;
++                                      if (yych <= 'T') goto yy1115;
++                                      goto yy1108;
+                               } else {
+                                       if (yych != 'W') goto yy55;
+                               }
                        }
                }
        } else {
-               if (yych <= 'Z') {
-                       if (yych <= '/') goto yy283;
-                       if (yych <= '9') goto yy135;
-                       if (yych <= '@') goto yy281;
-                       goto yy800;
+               if (yych <= 'r') {
+                       if (yych <= 'f') {
+                               if (yych <= 'c') {
 -                                      if (yych <= 'Y') goto yy1088;
++                                      if (yych <= 'Y') goto yy1113;
+                                       goto yy55;
+                               } else {
 -                                      if (yych <= 'd') goto yy1086;
++                                      if (yych <= 'd') goto yy1111;
+                                       if (yych <= 'e') goto yy55;
 -                                      goto yy1087;
++                                      goto yy1112;
+                               }
+                       } else {
+                               if (yych <= 'h') {
+                                       if (yych <= 'g') goto yy55;
 -                                      goto yy1085;
++                                      goto yy1110;
+                               } else {
 -                                      if (yych == 'm') goto yy1081;
++                                      if (yych == 'm') goto yy1106;
+                                       goto yy55;
+                               }
+                       }
                } else {
-                       if (yych <= '_') {
-                               if (yych <= '^') goto yy281;
-                               goto yy283;
+                       if (yych <= 'w') {
+                               if (yych <= 't') {
 -                                      if (yych <= 's') goto yy1084;
 -                                      goto yy1090;
++                                      if (yych <= 's') goto yy1109;
++                                      goto yy1115;
+                               } else {
 -                                      if (yych <= 'u') goto yy1083;
++                                      if (yych <= 'u') goto yy1108;
+                                       if (yych <= 'v') goto yy55;
+                               }
                        } else {
-                               if (yych <= '`') goto yy281;
-                               if (yych <= 'z') goto yy803;
-                               goto yy281;
+                               if (yych <= 'y') {
+                                       if (yych <= 'x') goto yy55;
 -                                      goto yy1088;
++                                      goto yy1113;
+                               } else {
 -                                      if (yych == 0xC2) goto yy1082;
++                                      if (yych == 0xC2) goto yy1107;
+                                       goto yy55;
+                               }
                        }
                }
        }
- yy645:
-       YYDEBUG(645, *YYCURSOR);
-       yyaccept = 2;
-       yych = *(YYMARKER = ++YYCURSOR);
 -      YYDEBUG(1208, *YYCURSOR);
++      YYDEBUG(1233, *YYCURSOR);
+       yych = *++YYCURSOR;
 -      if (yych == 'E') goto yy1209;
++      if (yych == 'E') goto yy1234;
+       if (yych != 'e') goto yy55;
 -yy1209:
 -      YYDEBUG(1209, *YYCURSOR);
++yy1234:
++      YYDEBUG(1234, *YYCURSOR);
+       yych = *++YYCURSOR;
+       if (yych <= 'E') {
+               if (yych <= 'C') goto yy55;
 -              if (yych <= 'D') goto yy1111;
++              if (yych <= 'D') goto yy1136;
+       } else {
+               if (yych <= 'c') goto yy55;
 -              if (yych <= 'd') goto yy1111;
++              if (yych <= 'd') goto yy1136;
+               if (yych >= 'f') goto yy55;
+       }
 -      YYDEBUG(1210, *YYCURSOR);
++      YYDEBUG(1235, *YYCURSOR);
+       yych = *++YYCURSOR;
 -      if (yych == 'K') goto yy1211;
++      if (yych == 'K') goto yy1236;
+       if (yych != 'k') goto yy55;
 -yy1211:
 -      YYDEBUG(1211, *YYCURSOR);
++yy1236:
++      YYDEBUG(1236, *YYCURSOR);
+       yych = *++YYCURSOR;
        if (yych <= 'S') {
-               if (yych <= '-') {
-                       if (yych == ')') goto yy108;
-                       if (yych <= ',') goto yy18;
-                       goto yy283;
-               } else {
-                       if (yych == '/') goto yy283;
-                       if (yych <= '@') goto yy18;
-                       goto yy800;
-               }
 -              if (yych == 'D') goto yy1120;
++              if (yych == 'D') goto yy1145;
+               if (yych <= 'R') goto yy55;
 -              goto yy1119;
++              goto yy1144;
        } else {
-               if (yych <= '_') {
-                       if (yych <= 'T') goto yy802;
-                       if (yych <= 'Z') goto yy800;
-                       if (yych <= '^') goto yy18;
-                       goto yy283;
+               if (yych <= 'd') {
+                       if (yych <= 'c') goto yy55;
 -                      goto yy1120;
++                      goto yy1145;
                } else {
-                       if (yych <= 's') {
-                               if (yych <= '`') goto yy18;
-                               goto yy803;
-                       } else {
-                               if (yych <= 't') goto yy804;
-                               if (yych <= 'z') goto yy803;
-                               goto yy18;
-                       }
 -                      if (yych == 's') goto yy1119;
++                      if (yych == 's') goto yy1144;
+                       goto yy55;
                }
        }
- yy646:
-       YYDEBUG(646, *YYCURSOR);
-       yych = *++YYCURSOR;
-       if (yych == 'O') goto yy805;
-       if (yych == 'o') goto yy805;
-       goto yy56;
- yy647:
-       YYDEBUG(647, *YYCURSOR);
 -yy1212:
 -      YYDEBUG(1212, *YYCURSOR);
++yy1237:
++      YYDEBUG(1237, *YYCURSOR);
        yych = *++YYCURSOR;
-       if (yych <= 'B') {
+       if (yych <= 'H') {
                if (yych <= ')') {
-                       if (yych <= '(') goto yy18;
-                       goto yy108;
+                       if (yych <= '(') goto yy3;
+                       goto yy174;
                } else {
-                       if (yych <= '@') goto yy18;
-                       if (yych <= 'A') goto yy800;
-                       goto yy806;
+                       if (yych <= '@') goto yy3;
+                       if (yych <= 'G') goto yy177;
                }
        } else {
-               if (yych <= 'a') {
-                       if (yych <= 'Z') goto yy800;
-                       if (yych <= '`') goto yy18;
-                       goto yy800;
+               if (yych <= 'g') {
+                       if (yych <= 'Z') goto yy177;
+                       if (yych <= '`') goto yy3;
+                       goto yy177;
                } else {
-                       if (yych <= 'b') goto yy806;
-                       if (yych <= 'z') goto yy800;
-                       goto yy18;
 -                      if (yych <= 'h') goto yy1213;
++                      if (yych <= 'h') goto yy1238;
+                       if (yych <= 'z') goto yy177;
+                       goto yy3;
                }
        }
- yy648:
-       YYDEBUG(648, *YYCURSOR);
-       yyaccept = 2;
-       yych = *(YYMARKER = ++YYCURSOR);
-       if (yych <= 'A') {
-               if (yych <= '-') {
-                       if (yych == ')') goto yy108;
-                       if (yych <= ',') goto yy18;
-                       goto yy283;
 -yy1213:
 -      YYDEBUG(1213, *YYCURSOR);
++yy1238:
++      YYDEBUG(1238, *YYCURSOR);
+       yych = *++YYCURSOR;
+       if (yych <= 'T') {
+               if (yych <= ')') {
+                       if (yych <= '(') goto yy3;
+                       goto yy174;
                } else {
-                       if (yych == '/') goto yy283;
-                       if (yych <= '@') goto yy18;
-                       goto yy800;
+                       if (yych <= '@') goto yy3;
+                       if (yych <= 'S') goto yy178;
                }
        } else {
-               if (yych <= '_') {
-                       if (yych <= 'B') goto yy806;
-                       if (yych <= 'Z') goto yy800;
-                       if (yych <= '^') goto yy18;
-                       goto yy283;
+               if (yych <= 's') {
+                       if (yych <= 'Z') goto yy178;
+                       if (yych <= '`') goto yy3;
+                       goto yy178;
                } else {
-                       if (yych <= 'a') {
-                               if (yych <= '`') goto yy18;
-                               goto yy803;
-                       } else {
-                               if (yych <= 'b') goto yy807;
-                               if (yych <= 'z') goto yy803;
-                               goto yy18;
-                       }
 -                      if (yych <= 't') goto yy1214;
++                      if (yych <= 't') goto yy1239;
+                       if (yych <= 'z') goto yy178;
+                       goto yy3;
                }
        }
- yy649:
-       YYDEBUG(649, *YYCURSOR);
-       yyaccept = 2;
 -yy1214:
 -      YYDEBUG(1214, *YYCURSOR);
++yy1239:
++      YYDEBUG(1239, *YYCURSOR);
+       yyaccept = 0;
        yych = *(YYMARKER = ++YYCURSOR);
        if (yych <= '@') {
                if (yych <= 0x1F) {
-                       if (yych == '\t') goto yy808;
-                       goto yy18;
 -                      if (yych == '\t') goto yy1206;
++                      if (yych == '\t') goto yy1231;
+                       goto yy3;
                } else {
-                       if (yych <= ' ') goto yy808;
-                       if (yych == ')') goto yy108;
-                       goto yy18;
 -                      if (yych <= ' ') goto yy1206;
++                      if (yych <= ' ') goto yy1231;
+                       if (yych == ')') goto yy174;
+                       goto yy3;
                }
        } else {
                if (yych <= '`') {
-                       if (yych == 'H') goto yy810;
-                       if (yych <= 'Z') goto yy800;
-                       goto yy18;
 -                      if (yych == 'H') goto yy1215;
++                      if (yych == 'H') goto yy1240;
+                       if (yych <= 'Z') goto yy179;
+                       goto yy3;
                } else {
-                       if (yych == 'h') goto yy810;
-                       if (yych <= 'z') goto yy800;
-                       goto yy18;
 -                      if (yych == 'h') goto yy1215;
++                      if (yych == 'h') goto yy1240;
+                       if (yych <= 'z') goto yy179;
+                       goto yy3;
                }
        }
- yy650:
-       YYDEBUG(650, *YYCURSOR);
-       yych = *++YYCURSOR;
-       if (yych <= 'N') {
-               if (yych <= ')') {
-                       if (yych <= '(') goto yy18;
-                       goto yy108;
-               } else {
-                       if (yych <= '@') goto yy18;
-                       if (yych <= 'M') goto yy800;
-                       goto yy811;
-               }
 -yy1215:
 -      YYDEBUG(1215, *YYCURSOR);
++yy1240:
++      YYDEBUG(1240, *YYCURSOR);
+       yyaccept = 0;
+       yych = *(YYMARKER = ++YYCURSOR);
+       if (yych <= 0x1F) {
 -              if (yych == '\t') goto yy1206;
++              if (yych == '\t') goto yy1231;
+               goto yy3;
        } else {
-               if (yych <= 'm') {
-                       if (yych <= 'Z') goto yy800;
-                       if (yych <= '`') goto yy18;
-                       goto yy800;
-               } else {
-                       if (yych <= 'n') goto yy811;
-                       if (yych <= 'z') goto yy800;
-                       goto yy18;
-               }
 -              if (yych <= ' ') goto yy1206;
++              if (yych <= ' ') goto yy1231;
+               if (yych == ')') goto yy174;
+               goto yy3;
        }
- yy651:
-       YYDEBUG(651, *YYCURSOR);
-       yyaccept = 2;
 -yy1216:
 -      YYDEBUG(1216, *YYCURSOR);
++yy1241:
++      YYDEBUG(1241, *YYCURSOR);
+       yyaccept = 0;
        yych = *(YYMARKER = ++YYCURSOR);
-       if (yych <= '/') {
-               if (yych <= '(') {
-                       if (yych <= '\t') {
-                               if (yych <= 0x08) goto yy18;
-                               goto yy808;
-                       } else {
-                               if (yych == ' ') goto yy808;
-                               goto yy18;
-                       }
+       if (yych <= 'F') {
+               if (yych <= '-') {
+                       if (yych == ')') goto yy174;
+                       if (yych <= ',') goto yy3;
+                       goto yy182;
                } else {
-                       if (yych <= ',') {
-                               if (yych <= ')') goto yy108;
-                               goto yy18;
-                       } else {
-                               if (yych == '.') goto yy18;
-                               goto yy283;
-                       }
+                       if (yych == '/') goto yy182;
+                       if (yych <= '@') goto yy3;
+                       goto yy176;
                }
        } else {
-               if (yych <= '^') {
-                       if (yych <= 'G') {
-                               if (yych <= '@') goto yy18;
-                               goto yy800;
-                       } else {
-                               if (yych <= 'H') goto yy810;
-                               if (yych <= 'Z') goto yy800;
-                               goto yy18;
-                       }
+               if (yych <= '_') {
 -                      if (yych <= 'G') goto yy1212;
++                      if (yych <= 'G') goto yy1237;
+                       if (yych <= 'Z') goto yy176;
+                       if (yych <= '^') goto yy3;
+                       goto yy182;
                } else {
-                       if (yych <= 'g') {
-                               if (yych <= '_') goto yy283;
-                               if (yych <= '`') goto yy18;
-                               goto yy803;
+                       if (yych <= 'f') {
+                               if (yych <= '`') goto yy3;
+                               goto yy181;
                        } else {
-                               if (yych <= 'h') goto yy812;
-                               if (yych <= 'z') goto yy803;
-                               goto yy18;
 -                              if (yych <= 'g') goto yy1224;
++                              if (yych <= 'g') goto yy1249;
+                               if (yych <= 'z') goto yy181;
+                               goto yy3;
                        }
                }
        }
- yy652:
-       YYDEBUG(652, *YYCURSOR);
-       yyaccept = 2;
 -yy1217:
 -      YYDEBUG(1217, *YYCURSOR);
++yy1242:
++      YYDEBUG(1242, *YYCURSOR);
+       yyaccept = 0;
        yych = *(YYMARKER = ++YYCURSOR);
-       if (yych <= 'M') {
+       if (yych <= 'D') {
                if (yych <= '-') {
-                       if (yych == ')') goto yy108;
-                       if (yych <= ',') goto yy18;
-                       goto yy283;
+                       if (yych == ')') goto yy174;
+                       if (yych <= ',') goto yy3;
+                       goto yy182;
                } else {
-                       if (yych == '/') goto yy283;
-                       if (yych <= '@') goto yy18;
-                       goto yy800;
+                       if (yych == '/') goto yy182;
+                       if (yych <= '@') goto yy3;
+                       goto yy176;
                }
        } else {
                if (yych <= '_') {
-                       if (yych <= 'N') goto yy811;
-                       if (yych <= 'Z') goto yy800;
-                       if (yych <= '^') goto yy18;
-                       goto yy283;
 -                      if (yych <= 'E') goto yy1200;
++                      if (yych <= 'E') goto yy1225;
+                       if (yych <= 'Z') goto yy176;
+                       if (yych <= '^') goto yy3;
+                       goto yy182;
                } else {
-                       if (yych <= 'm') {
-                               if (yych <= '`') goto yy18;
-                               goto yy803;
+                       if (yych <= 'd') {
+                               if (yych <= '`') goto yy3;
+                               goto yy181;
                        } else {
-                               if (yych <= 'n') goto yy813;
-                               if (yych <= 'z') goto yy803;
-                               goto yy18;
 -                              if (yych <= 'e') goto yy1218;
++                              if (yych <= 'e') goto yy1243;
+                               if (yych <= 'z') goto yy181;
+                               goto yy3;
                        }
                }
        }
- yy653:
-       YYDEBUG(653, *YYCURSOR);
-       yych = *++YYCURSOR;
-       if (yych <= 'A') {
-               if (yych == ')') goto yy108;
-               if (yych <= '@') goto yy18;
-               goto yy814;
 -yy1218:
 -      YYDEBUG(1218, *YYCURSOR);
++yy1243:
++      YYDEBUG(1243, *YYCURSOR);
+       yyaccept = 0;
+       yych = *(YYMARKER = ++YYCURSOR);
+       if (yych <= 'U') {
+               if (yych <= '-') {
+                       if (yych == ')') goto yy174;
+                       if (yych <= ',') goto yy3;
+                       goto yy182;
+               } else {
+                       if (yych == '/') goto yy182;
+                       if (yych <= '@') goto yy3;
+                       goto yy177;
+               }
        } else {
-               if (yych <= '`') {
-                       if (yych <= 'Z') goto yy800;
-                       goto yy18;
+               if (yych <= '_') {
 -                      if (yych <= 'V') goto yy1201;
++                      if (yych <= 'V') goto yy1226;
+                       if (yych <= 'Z') goto yy177;
+                       if (yych <= '^') goto yy3;
+                       goto yy182;
                } else {
-                       if (yych <= 'a') goto yy814;
-                       if (yych <= 'z') goto yy800;
-                       goto yy18;
+                       if (yych <= 'u') {
+                               if (yych <= '`') goto yy3;
+                               goto yy185;
+                       } else {
 -                              if (yych <= 'v') goto yy1219;
++                              if (yych <= 'v') goto yy1244;
+                               if (yych <= 'z') goto yy185;
+                               goto yy3;
+                       }
                }
        }
- yy654:
-       YYDEBUG(654, *YYCURSOR);
-       yyaccept = 2;
 -yy1219:
 -      YYDEBUG(1219, *YYCURSOR);
++yy1244:
++      YYDEBUG(1244, *YYCURSOR);
+       yyaccept = 0;
        yych = *(YYMARKER = ++YYCURSOR);
-       if (yych <= '(') {
-               if (yych <= '\t') {
-                       if (yych <= 0x08) goto yy18;
-                       goto yy808;
+       if (yych <= 'D') {
+               if (yych <= '-') {
+                       if (yych == ')') goto yy174;
+                       if (yych <= ',') goto yy3;
+                       goto yy182;
                } else {
-                       if (yych == ' ') goto yy808;
-                       goto yy18;
+                       if (yych == '/') goto yy182;
+                       if (yych <= '@') goto yy3;
+                       goto yy178;
                }
        } else {
-               if (yych <= 'Z') {
-                       if (yych <= ')') goto yy108;
-                       if (yych <= '@') goto yy18;
-                       goto yy800;
+               if (yych <= '_') {
 -                      if (yych <= 'E') goto yy1202;
++                      if (yych <= 'E') goto yy1227;
+                       if (yych <= 'Z') goto yy178;
+                       if (yych <= '^') goto yy3;
+                       goto yy182;
                } else {
-                       if (yych <= '`') goto yy18;
-                       if (yych <= 'z') goto yy800;
-                       goto yy18;
+                       if (yych <= 'd') {
+                               if (yych <= '`') goto yy3;
+                               goto yy186;
+                       } else {
 -                              if (yych <= 'e') goto yy1220;
++                              if (yych <= 'e') goto yy1245;
+                               if (yych <= 'z') goto yy186;
+                               goto yy3;
+                       }
                }
        }
- yy655:
-       YYDEBUG(655, *YYCURSOR);
-       yyaccept = 2;
 -yy1220:
 -      YYDEBUG(1220, *YYCURSOR);
++yy1245:
++      YYDEBUG(1245, *YYCURSOR);
+       yyaccept = 0;
        yych = *(YYMARKER = ++YYCURSOR);
-       if (yych <= '(') {
-               if (yych <= '\t') {
-                       if (yych <= 0x08) goto yy18;
-                       goto yy808;
+       if (yych <= 'M') {
+               if (yych <= '-') {
+                       if (yych == ')') goto yy174;
+                       if (yych <= ',') goto yy3;
+                       goto yy182;
                } else {
-                       if (yych == ' ') goto yy815;
-                       goto yy18;
+                       if (yych == '/') goto yy182;
+                       if (yych <= '@') goto yy3;
+                       goto yy179;
                }
        } else {
-               if (yych <= 'Z') {
-                       if (yych <= ')') goto yy108;
-                       if (yych <= '@') goto yy18;
-                       goto yy800;
+               if (yych <= '_') {
 -                      if (yych <= 'N') goto yy1203;
++                      if (yych <= 'N') goto yy1228;
+                       if (yych <= 'Z') goto yy179;
+                       if (yych <= '^') goto yy3;
+                       goto yy182;
                } else {
-                       if (yych <= '`') goto yy18;
-                       if (yych <= 'z') goto yy800;
-                       goto yy18;
+                       if (yych <= 'm') {
+                               if (yych <= '`') goto yy3;
+                               goto yy187;
+                       } else {
 -                              if (yych <= 'n') goto yy1221;
++                              if (yych <= 'n') goto yy1246;
+                               if (yych <= 'z') goto yy187;
+                               goto yy3;
+                       }
                }
        }
- yy656:
-       YYDEBUG(656, *YYCURSOR);
-       yych = *++YYCURSOR;
-       if (yych <= 'H') {
-               if (yych <= ')') {
-                       if (yych <= '(') goto yy18;
-                       goto yy108;
 -yy1221:
 -      YYDEBUG(1221, *YYCURSOR);
++yy1246:
++      YYDEBUG(1246, *YYCURSOR);
+       yyaccept = 0;
+       yych = *(YYMARKER = ++YYCURSOR);
+       if (yych <= 'S') {
+               if (yych <= ',') {
+                       if (yych == ')') goto yy174;
+                       goto yy3;
                } else {
-                       if (yych <= '@') goto yy18;
-                       if (yych <= 'G') goto yy800;
-                       goto yy810;
+                       if (yych == '.') goto yy3;
+                       if (yych <= '/') goto yy182;
+                       goto yy3;
                }
        } else {
-               if (yych <= 'g') {
-                       if (yych <= 'Z') goto yy800;
-                       if (yych <= '`') goto yy18;
-                       goto yy800;
+               if (yych <= '`') {
 -                      if (yych <= 'T') goto yy1204;
++                      if (yych <= 'T') goto yy1229;
+                       if (yych == '_') goto yy182;
+                       goto yy3;
                } else {
-                       if (yych <= 'h') goto yy810;
-                       if (yych <= 'z') goto yy800;
-                       goto yy18;
 -                      if (yych == 't') goto yy1222;
++                      if (yych == 't') goto yy1247;
+                       if (yych <= 'z') goto yy188;
+                       goto yy3;
                }
        }
- yy657:
-       YYDEBUG(657, *YYCURSOR);
 -yy1222:
 -      YYDEBUG(1222, *YYCURSOR);
++yy1247:
++      YYDEBUG(1247, *YYCURSOR);
        yych = *++YYCURSOR;
-       if (yych <= 'Y') {
-               if (yych <= ')') {
-                       if (yych <= '(') goto yy18;
-                       goto yy108;
-               } else {
-                       if (yych <= '@') goto yy18;
-                       if (yych <= 'X') goto yy800;
-                       goto yy816;
-               }
-       } else {
-               if (yych <= 'x') {
-                       if (yych <= 'Z') goto yy800;
-                       if (yych <= '`') goto yy18;
-                       goto yy800;
 -      if (yych == 'H') goto yy1205;
++      if (yych == 'H') goto yy1230;
+       if (yych != 'h') goto yy189;
 -yy1223:
 -      YYDEBUG(1223, *YYCURSOR);
++yy1248:
++      YYDEBUG(1248, *YYCURSOR);
+       yych = *++YYCURSOR;
+       if (yybm[0+yych] & 8) {
+               goto yy188;
+       }
+       if (yych <= ',') {
+               if (yych <= '\t') {
+                       if (yych <= 0x08) goto yy55;
 -                      goto yy1206;
++                      goto yy1231;
                } else {
-                       if (yych <= 'y') goto yy816;
-                       if (yych <= 'z') goto yy800;
-                       goto yy18;
 -                      if (yych == ' ') goto yy1206;
++                      if (yych == ' ') goto yy1231;
+                       goto yy55;
                }
-       }
- yy658:
-       YYDEBUG(658, *YYCURSOR);
-       yyaccept = 2;
-       yych = *(YYMARKER = ++YYCURSOR);
-       if (yych <= ')') {
-               if (yych == ' ') goto yy646;
-               if (yych <= '(') goto yy18;
-               goto yy108;
        } else {
-               if (yych <= 'Z') {
-                       if (yych <= '@') goto yy18;
-                       goto yy800;
+               if (yych <= '/') {
+                       if (yych == '.') goto yy55;
+                       goto yy182;
                } else {
-                       if (yych <= '`') goto yy18;
-                       if (yych <= 'z') goto yy800;
-                       goto yy18;
+                       if (yych == '_') goto yy182;
+                       goto yy55;
                }
        }
- yy659:
-       YYDEBUG(659, *YYCURSOR);
-       yyaccept = 2;
 -yy1224:
 -      YYDEBUG(1224, *YYCURSOR);
++yy1249:
++      YYDEBUG(1249, *YYCURSOR);
+       yyaccept = 0;
        yych = *(YYMARKER = ++YYCURSOR);
-       if (yych <= '@') {
-               if (yych <= ',') {
-                       if (yych == ')') goto yy108;
-                       goto yy18;
+       if (yych <= 'G') {
+               if (yych <= '-') {
+                       if (yych == ')') goto yy174;
+                       if (yych <= ',') goto yy3;
+                       goto yy182;
                } else {
-                       if (yych == '.') goto yy18;
-                       if (yych <= '/') goto yy283;
-                       goto yy18;
+                       if (yych == '/') goto yy182;
+                       if (yych <= '@') goto yy3;
+                       goto yy177;
                }
        } else {
                if (yych <= '_') {
-                       if (yych <= 'A') goto yy814;
-                       if (yych <= 'Z') goto yy800;
-                       if (yych <= '^') goto yy18;
-                       goto yy283;
 -                      if (yych <= 'H') goto yy1213;
++                      if (yych <= 'H') goto yy1238;
+                       if (yych <= 'Z') goto yy177;
+                       if (yych <= '^') goto yy3;
+                       goto yy182;
                } else {
-                       if (yych <= '`') goto yy18;
-                       if (yych <= 'a') goto yy817;
-                       if (yych <= 'z') goto yy803;
-                       goto yy18;
+                       if (yych <= 'g') {
+                               if (yych <= '`') goto yy3;
+                               goto yy185;
+                       } else {
 -                              if (yych <= 'h') goto yy1225;
++                              if (yych <= 'h') goto yy1250;
+                               if (yych <= 'z') goto yy185;
+                               goto yy3;
+                       }
                }
        }
- yy660:
-       YYDEBUG(660, *YYCURSOR);
-       yyaccept = 2;
 -yy1225:
 -      YYDEBUG(1225, *YYCURSOR);
++yy1250:
++      YYDEBUG(1250, *YYCURSOR);
+       yyaccept = 0;
        yych = *(YYMARKER = ++YYCURSOR);
-       if (yych <= '-') {
-               if (yych <= ' ') {
-                       if (yych == '\t') goto yy808;
-                       if (yych <= 0x1F) goto yy18;
-                       goto yy808;
+       if (yych <= 'S') {
+               if (yych <= '-') {
+                       if (yych == ')') goto yy174;
+                       if (yych <= ',') goto yy3;
+                       goto yy182;
                } else {
-                       if (yych == ')') goto yy108;
-                       if (yych <= ',') goto yy18;
-                       goto yy283;
+                       if (yych == '/') goto yy182;
+                       if (yych <= '@') goto yy3;
+                       goto yy178;
                }
        } else {
-               if (yych <= 'Z') {
-                       if (yych == '/') goto yy283;
-                       if (yych <= '@') goto yy18;
-                       goto yy800;
+               if (yych <= '_') {
 -                      if (yych <= 'T') goto yy1214;
++                      if (yych <= 'T') goto yy1239;
+                       if (yych <= 'Z') goto yy178;
+                       if (yych <= '^') goto yy3;
+                       goto yy182;
                } else {
-                       if (yych <= '_') {
-                               if (yych <= '^') goto yy18;
-                               goto yy283;
+                       if (yych <= 's') {
+                               if (yych <= '`') goto yy3;
+                               goto yy186;
                        } else {
-                               if (yych <= '`') goto yy18;
-                               if (yych <= 'z') goto yy803;
-                               goto yy18;
 -                              if (yych <= 't') goto yy1226;
++                              if (yych <= 't') goto yy1251;
+                               if (yych <= 'z') goto yy186;
+                               goto yy3;
                        }
                }
        }
- yy661:
-       YYDEBUG(661, *YYCURSOR);
-       yyaccept = 2;
 -yy1226:
 -      YYDEBUG(1226, *YYCURSOR);
++yy1251:
++      YYDEBUG(1251, *YYCURSOR);
+       yyaccept = 0;
        yych = *(YYMARKER = ++YYCURSOR);
-       if (yych <= '-') {
-               if (yych <= ' ') {
-                       if (yych == '\t') goto yy808;
-                       if (yych <= 0x1F) goto yy18;
-                       goto yy815;
+       if (yych <= '/') {
+               if (yych <= '(') {
+                       if (yych <= '\t') {
+                               if (yych <= 0x08) goto yy3;
 -                              goto yy1206;
++                              goto yy1231;
+                       } else {
 -                              if (yych == ' ') goto yy1206;
++                              if (yych == ' ') goto yy1231;
+                               goto yy3;
+                       }
                } else {
-                       if (yych == ')') goto yy108;
-                       if (yych <= ',') goto yy18;
-                       goto yy283;
+                       if (yych <= ',') {
+                               if (yych <= ')') goto yy174;
+                               goto yy3;
+                       } else {
+                               if (yych == '.') goto yy3;
+                               goto yy182;
+                       }
                }
        } else {
-               if (yych <= 'Z') {
-                       if (yych == '/') goto yy283;
-                       if (yych <= '@') goto yy18;
-                       goto yy800;
+               if (yych <= '^') {
+                       if (yych <= 'G') {
+                               if (yych <= '@') goto yy3;
+                               goto yy179;
+                       } else {
 -                              if (yych <= 'H') goto yy1215;
++                              if (yych <= 'H') goto yy1240;
+                               if (yych <= 'Z') goto yy179;
+                               goto yy3;
+                       }
                } else {
-                       if (yych <= '_') {
-                               if (yych <= '^') goto yy18;
-                               goto yy283;
+                       if (yych <= 'g') {
+                               if (yych <= '_') goto yy182;
+                               if (yych <= '`') goto yy3;
+                               goto yy187;
                        } else {
-                               if (yych <= '`') goto yy18;
-                               if (yych <= 'z') goto yy803;
-                               goto yy18;
 -                              if (yych <= 'h') goto yy1227;
++                              if (yych <= 'h') goto yy1252;
+                               if (yych <= 'z') goto yy187;
+                               goto yy3;
                        }
                }
        }
- yy662:
-       YYDEBUG(662, *YYCURSOR);
-       yyaccept = 2;
 -yy1227:
 -      YYDEBUG(1227, *YYCURSOR);
++yy1252:
++      YYDEBUG(1252, *YYCURSOR);
+       yyaccept = 0;
        yych = *(YYMARKER = ++YYCURSOR);
-       if (yych <= 'G') {
-               if (yych <= '-') {
-                       if (yych == ')') goto yy108;
-                       if (yych <= ',') goto yy18;
-                       goto yy283;
+       if (yybm[0+yych] & 8) {
+               goto yy188;
+       }
+       if (yych <= ')') {
+               if (yych <= 0x1F) {
 -                      if (yych == '\t') goto yy1206;
++                      if (yych == '\t') goto yy1231;
+                       goto yy3;
                } else {
-                       if (yych == '/') goto yy283;
-                       if (yych <= '@') goto yy18;
-                       goto yy800;
 -                      if (yych <= ' ') goto yy1206;
++                      if (yych <= ' ') goto yy1231;
+                       if (yych <= '(') goto yy3;
+                       goto yy174;
                }
        } else {
-               if (yych <= '_') {
-                       if (yych <= 'H') goto yy810;
-                       if (yych <= 'Z') goto yy800;
-                       if (yych <= '^') goto yy18;
-                       goto yy283;
+               if (yych <= '.') {
+                       if (yych == '-') goto yy182;
+                       goto yy3;
                } else {
-                       if (yych <= 'g') {
-                               if (yych <= '`') goto yy18;
-                               goto yy803;
-                       } else {
-                               if (yych <= 'h') goto yy812;
-                               if (yych <= 'z') goto yy803;
-                               goto yy18;
-                       }
+                       if (yych <= '/') goto yy182;
+                       if (yych == '_') goto yy182;
+                       goto yy3;
                }
        }
- yy663:
-       YYDEBUG(663, *YYCURSOR);
-       yyaccept = 2;
-       yych = *(YYMARKER = ++YYCURSOR);
-       if (yych <= 'X') {
-               if (yych <= '-') {
-                       if (yych == ')') goto yy108;
-                       if (yych <= ',') goto yy18;
-                       goto yy283;
 -yy1228:
 -      YYDEBUG(1228, *YYCURSOR);
++yy1253:
++      YYDEBUG(1253, *YYCURSOR);
+       yych = *++YYCURSOR;
+       if (yych <= 'V') {
+               if (yych <= 'B') {
+                       if (yych == ')') goto yy174;
+                       if (yych <= '@') goto yy3;
+                       goto yy176;
                } else {
-                       if (yych == '/') goto yy283;
-                       if (yych <= '@') goto yy18;
-                       goto yy800;
+                       if (yych <= 'O') {
 -                              if (yych <= 'C') goto yy1244;
++                              if (yych <= 'C') goto yy1269;
+                               goto yy176;
+                       } else {
 -                              if (yych <= 'P') goto yy1246;
++                              if (yych <= 'P') goto yy1271;
+                               if (yych <= 'U') goto yy176;
 -                              goto yy1245;
++                              goto yy1270;
+                       }
                }
        } else {
-               if (yych <= '_') {
-                       if (yych <= 'Y') goto yy816;
-                       if (yych <= 'Z') goto yy800;
-                       if (yych <= '^') goto yy18;
-                       goto yy283;
+               if (yych <= 'o') {
+                       if (yych <= '`') {
+                               if (yych <= 'Z') goto yy176;
+                               goto yy3;
+                       } else {
 -                              if (yych == 'c') goto yy1244;
++                              if (yych == 'c') goto yy1269;
+                               goto yy176;
+                       }
                } else {
-                       if (yych <= 'x') {
-                               if (yych <= '`') goto yy18;
-                               goto yy803;
+                       if (yych <= 'u') {
 -                              if (yych <= 'p') goto yy1246;
++                              if (yych <= 'p') goto yy1271;
+                               goto yy176;
                        } else {
-                               if (yych <= 'y') goto yy818;
-                               if (yych <= 'z') goto yy803;
-                               goto yy18;
 -                              if (yych <= 'v') goto yy1245;
++                              if (yych <= 'v') goto yy1270;
+                               if (yych <= 'z') goto yy176;
+                               goto yy3;
                        }
                }
        }
- yy664:
-       YYDEBUG(664, *YYCURSOR);
-       yyaccept = 2;
-       yych = *(YYMARKER = ++YYCURSOR);
-       if (yych <= '.') {
-               if (yych <= '(') {
-                       if (yych == ' ') goto yy646;
-                       goto yy18;
 -yy1229:
 -      YYDEBUG(1229, *YYCURSOR);
++yy1254:
++      YYDEBUG(1254, *YYCURSOR);
+       yych = *++YYCURSOR;
+       if (yych <= 'T') {
+               if (yych <= ')') {
+                       if (yych <= '(') goto yy3;
+                       goto yy174;
                } else {
-                       if (yych <= ')') goto yy108;
-                       if (yych == '-') goto yy283;
-                       goto yy18;
+                       if (yych <= '@') goto yy3;
+                       if (yych <= 'S') goto yy176;
 -                      goto yy1239;
++                      goto yy1264;
                }
        } else {
-               if (yych <= '^') {
-                       if (yych <= '/') goto yy283;
-                       if (yych <= '@') goto yy18;
-                       if (yych <= 'Z') goto yy800;
-                       goto yy18;
+               if (yych <= 's') {
+                       if (yych <= 'Z') goto yy176;
+                       if (yych <= '`') goto yy3;
+                       goto yy176;
                } else {
-                       if (yych <= '_') goto yy283;
-                       if (yych <= '`') goto yy18;
-                       if (yych <= 'z') goto yy803;
-                       goto yy18;
 -                      if (yych <= 't') goto yy1239;
++                      if (yych <= 't') goto yy1264;
+                       if (yych <= 'z') goto yy176;
+                       goto yy3;
                }
        }
- yy665:
-       YYDEBUG(665, *YYCURSOR);
-       yych = *++YYCURSOR;
-       if (yych <= '/') goto yy18;
-       if (yych <= '9') goto yy667;
-       if (yych <= ':') goto yy193;
-       goto yy18;
- yy666:
-       YYDEBUG(666, *YYCURSOR);
 -yy1230:
 -      YYDEBUG(1230, *YYCURSOR);
++yy1255:
++      YYDEBUG(1255, *YYCURSOR);
        yych = *++YYCURSOR;
-       if (yych <= '5') {
-               if (yych <= '/') goto yy18;
-               if (yych >= '5') goto yy377;
+       if (yych <= 'X') {
+               if (yych <= ')') {
+                       if (yych <= '(') goto yy3;
+                       goto yy174;
+               } else {
+                       if (yych <= '@') goto yy3;
+                       if (yych <= 'W') goto yy176;
 -                      goto yy1236;
++                      goto yy1261;
+               }
        } else {
-               if (yych <= '9') goto yy108;
-               if (yych <= ':') goto yy193;
-               goto yy18;
+               if (yych <= 'w') {
+                       if (yych <= 'Z') goto yy176;
+                       if (yych <= '`') goto yy3;
+                       goto yy176;
+               } else {
 -                      if (yych <= 'x') goto yy1236;
++                      if (yych <= 'x') goto yy1261;
+                       if (yych <= 'z') goto yy176;
+                       goto yy3;
+               }
        }
- yy667:
-       YYDEBUG(667, *YYCURSOR);
-       yych = *++YYCURSOR;
-       if (yych <= '/') goto yy18;
-       if (yych <= '5') goto yy377;
-       if (yych <= '9') goto yy108;
-       if (yych <= ':') goto yy193;
-       goto yy18;
- yy668:
-       YYDEBUG(668, *YYCURSOR);
-       yych = *++YYCURSOR;
-       if (yych <= '/') goto yy56;
-       if (yych <= '5') goto yy819;
-       if (yych <= '9') goto yy821;
-       goto yy56;
- yy669:
-       YYDEBUG(669, *YYCURSOR);
-       yych = *++YYCURSOR;
-       if (yych == '.') goto yy668;
-       if (yych == ':') goto yy668;
-       goto yy56;
- yy670:
-       YYDEBUG(670, *YYCURSOR);
-       yych = *++YYCURSOR;
-       if (yych <= '/') goto yy56;
-       if (yych <= '5') goto yy822;
-       if (yych <= '9') goto yy823;
-       goto yy56;
- yy671:
-       YYDEBUG(671, *YYCURSOR);
 -yy1231:
 -      YYDEBUG(1231, *YYCURSOR);
++yy1256:
++      YYDEBUG(1256, *YYCURSOR);
        yych = *++YYCURSOR;
-       if (yych <= '/') {
-               if (yych == '.') goto yy668;
-               goto yy56;
+       if (yych <= 'N') {
+               if (yych <= ')') {
+                       if (yych <= '(') goto yy3;
+                       goto yy174;
+               } else {
+                       if (yych <= '@') goto yy3;
+                       if (yych <= 'M') goto yy176;
+               }
        } else {
-               if (yych <= '9') goto yy669;
-               if (yych <= ':') goto yy668;
-               goto yy56;
+               if (yych <= 'm') {
+                       if (yych <= 'Z') goto yy176;
+                       if (yych <= '`') goto yy3;
+                       goto yy176;
+               } else {
 -                      if (yych <= 'n') goto yy1232;
++                      if (yych <= 'n') goto yy1257;
+                       if (yych <= 'z') goto yy176;
+                       goto yy3;
+               }
        }
- yy672:
-       YYDEBUG(672, *YYCURSOR);
 -yy1232:
 -      YYDEBUG(1232, *YYCURSOR);
++yy1257:
++      YYDEBUG(1257, *YYCURSOR);
        yych = *++YYCURSOR;
-       if (yych <= '/') {
-               if (yych == '.') goto yy668;
-               goto yy56;
+       if (yych <= 'D') {
+               if (yych <= ')') {
+                       if (yych <= '(') goto yy201;
+                       goto yy174;
+               } else {
+                       if (yych <= '@') goto yy201;
+                       if (yych <= 'C') goto yy177;
+               }
        } else {
-               if (yych <= '4') goto yy669;
-               if (yych == ':') goto yy668;
-               goto yy56;
+               if (yych <= 'c') {
+                       if (yych <= 'Z') goto yy177;
+                       if (yych <= '`') goto yy201;
+                       goto yy177;
+               } else {
 -                      if (yych <= 'd') goto yy1233;
++                      if (yych <= 'd') goto yy1258;
+                       if (yych <= 'z') goto yy177;
+                       goto yy201;
+               }
        }
- yy673:
-       YYDEBUG(673, *YYCURSOR);
-       yyaccept = 10;
-       yych = *(YYMARKER = ++YYCURSOR);
-       if (yych <= '/') {
-               if (yych == '.') goto yy668;
-               goto yy311;
 -yy1233:
 -      YYDEBUG(1233, *YYCURSOR);
++yy1258:
++      YYDEBUG(1258, *YYCURSOR);
+       yych = *++YYCURSOR;
+       if (yych <= 'A') {
+               if (yych == ')') goto yy174;
+               if (yych <= '@') goto yy3;
        } else {
-               if (yych <= '9') goto yy824;
-               if (yych <= ':') goto yy668;
-               goto yy311;
+               if (yych <= '`') {
+                       if (yych <= 'Z') goto yy178;
+                       goto yy3;
+               } else {
 -                      if (yych <= 'a') goto yy1234;
++                      if (yych <= 'a') goto yy1259;
+                       if (yych <= 'z') goto yy178;
+                       goto yy3;
+               }
        }
- yy674:
-       YYDEBUG(674, *YYCURSOR);
-       yyaccept = 10;
-       yych = *(YYMARKER = ++YYCURSOR);
-       if (yych <= '/') {
-               if (yych == '.') goto yy670;
-               goto yy311;
 -yy1234:
 -      YYDEBUG(1234, *YYCURSOR);
++yy1259:
++      YYDEBUG(1259, *YYCURSOR);
+       yych = *++YYCURSOR;
+       if (yych <= 'Y') {
+               if (yych <= ')') {
+                       if (yych <= '(') goto yy3;
+                       goto yy174;
+               } else {
+                       if (yych <= '@') goto yy3;
+                       if (yych <= 'X') goto yy179;
+               }
        } else {
-               if (yych <= '9') goto yy824;
-               if (yych <= ':') goto yy670;
-               goto yy311;
+               if (yych <= 'x') {
+                       if (yych <= 'Z') goto yy179;
+                       if (yych <= '`') goto yy3;
+                       goto yy179;
+               } else {
 -                      if (yych <= 'y') goto yy1235;
++                      if (yych <= 'y') goto yy1260;
+                       if (yych <= 'z') goto yy179;
+                       goto yy3;
+               }
        }
- yy675:
-       YYDEBUG(675, *YYCURSOR);
 -yy1235:
 -      YYDEBUG(1235, *YYCURSOR);
++yy1260:
++      YYDEBUG(1260, *YYCURSOR);
        yych = *++YYCURSOR;
-       if (yych <= '/') goto yy311;
-       if (yych <= '9') goto yy824;
-       goto yy311;
- yy676:
-       YYDEBUG(676, *YYCURSOR);
-       ++YYCURSOR;
-       YYDEBUG(677, *YYCURSOR);
- #line 1449 "parse_date.re"
-       {
-               int length = 0;
-               DEBUG_OUTPUT("datenoday");
-               TIMELIB_INIT;
-               TIMELIB_HAVE_DATE();
-               s->time->m = timelib_get_month(&ptr);
-               s->time->y = timelib_get_nr_ex(&ptr, 4, &length);
-               s->time->d = 1;
-               TIMELIB_PROCESS_YEAR(s->time->y, length);
-               TIMELIB_DEINIT;
-               return TIMELIB_DATE_NO_DAY;
+       if (yych == ')') goto yy174;
+       goto yy201;
 -yy1236:
 -      YYDEBUG(1236, *YYCURSOR);
++yy1261:
++      YYDEBUG(1261, *YYCURSOR);
+       yych = *++YYCURSOR;
+       if (yych <= 'T') {
+               if (yych <= ')') {
+                       if (yych <= '(') goto yy3;
+                       goto yy174;
+               } else {
+                       if (yych <= '@') goto yy3;
+                       if (yych <= 'S') goto yy177;
+               }
+       } else {
+               if (yych <= 's') {
+                       if (yych <= 'Z') goto yy177;
+                       if (yych <= '`') goto yy3;
+                       goto yy177;
+               } else {
 -                      if (yych <= 't') goto yy1237;
++                      if (yych <= 't') goto yy1262;
+                       if (yych <= 'z') goto yy177;
+                       goto yy3;
+               }
        }
- #line 15005 "<stdout>"
- yy678:
-       YYDEBUG(678, *YYCURSOR);
 -yy1237:
 -      YYDEBUG(1237, *YYCURSOR);
++yy1262:
++      YYDEBUG(1262, *YYCURSOR);
        yych = *++YYCURSOR;
-       if (yych <= 'R') {
+       if (yych <= 'H') {
                if (yych <= ')') {
-                       if (yych <= '(') goto yy18;
-                       goto yy108;
+                       if (yych <= '(') goto yy3;
+                       goto yy174;
                } else {
-                       if (yych <= '@') goto yy18;
-                       if (yych <= 'Q') goto yy800;
-                       goto yy825;
+                       if (yych <= '@') goto yy3;
+                       if (yych <= 'G') goto yy178;
                }
        } else {
-               if (yych <= 'q') {
-                       if (yych <= 'Z') goto yy800;
-                       if (yych <= '`') goto yy18;
-                       goto yy800;
+               if (yych <= 'g') {
+                       if (yych <= 'Z') goto yy178;
+                       if (yych <= '`') goto yy3;
+                       goto yy178;
                } else {
-                       if (yych <= 'r') goto yy825;
-                       if (yych <= 'z') goto yy800;
-                       goto yy18;
 -                      if (yych <= 'h') goto yy1238;
++                      if (yych <= 'h') goto yy1263;
+                       if (yych <= 'z') goto yy178;
+                       goto yy3;
                }
        }
- yy679:
-       YYDEBUG(679, *YYCURSOR);
-       yyaccept = 2;
 -yy1238:
 -      YYDEBUG(1238, *YYCURSOR);
++yy1263:
++      YYDEBUG(1263, *YYCURSOR);
+       yyaccept = 0;
        yych = *(YYMARKER = ++YYCURSOR);
-       if (yych <= 'Q') {
-               if (yych <= '-') {
-                       if (yych == ')') goto yy108;
-                       if (yych <= ',') goto yy18;
-                       goto yy283;
+       if (yych <= '(') {
+               if (yych <= '\t') {
+                       if (yych <= 0x08) goto yy3;
 -                      goto yy1206;
++                      goto yy1231;
                } else {
-                       if (yych == '/') goto yy283;
-                       if (yych <= '@') goto yy18;
-                       goto yy800;
 -                      if (yych == ' ') goto yy1206;
++                      if (yych == ' ') goto yy1231;
+                       goto yy3;
                }
        } else {
-               if (yych <= '_') {
-                       if (yych <= 'R') goto yy825;
-                       if (yych <= 'Z') goto yy800;
-                       if (yych <= '^') goto yy18;
-                       goto yy283;
+               if (yych <= 'Z') {
+                       if (yych <= ')') goto yy174;
+                       if (yych <= '@') goto yy3;
+                       goto yy179;
                } else {
-                       if (yych <= 'q') {
-                               if (yych <= '`') goto yy18;
-                               goto yy803;
-                       } else {
-                               if (yych <= 'r') goto yy826;
-                               if (yych <= 'z') goto yy803;
-                               goto yy18;
-                       }
+                       if (yych <= '`') goto yy3;
+                       if (yych <= 'z') goto yy179;
+                       goto yy3;
                }
        }
- yy680:
-       YYDEBUG(680, *YYCURSOR);
 -yy1239:
 -      YYDEBUG(1239, *YYCURSOR);
++yy1264:
++      YYDEBUG(1264, *YYCURSOR);
        yych = *++YYCURSOR;
-       if (yybm[0+yych] & 64) {
-               goto yy457;
-       }
-       goto yy135;
- yy681:
-       YYDEBUG(681, *YYCURSOR);
-       ++YYCURSOR;
-       if ((YYLIMIT - YYCURSOR) < 12) YYFILL(12);
-       yych = *YYCURSOR;
- yy682:
-       YYDEBUG(682, *YYCURSOR);
-       if (yych <= 'X') {
-               if (yych <= 'G') {
-                       if (yych <= ' ') {
-                               if (yych == '\t') goto yy681;
-                               if (yych <= 0x1F) goto yy56;
-                               goto yy681;
-                       } else {
-                               if (yych <= 'D') {
-                                       if (yych <= 'C') goto yy56;
-                                       goto yy827;
-                               } else {
-                                       if (yych == 'F') goto yy828;
-                                       goto yy56;
-                               }
-                       }
+       if (yych <= 'U') {
+               if (yych <= ')') {
+                       if (yych <= '(') goto yy201;
+                       goto yy174;
                } else {
-                       if (yych <= 'S') {
-                               if (yych <= 'L') {
-                                       if (yych <= 'H') goto yy829;
-                                       goto yy56;
-                               } else {
-                                       if (yych <= 'M') goto yy830;
-                                       if (yych <= 'R') goto yy56;
-                                       goto yy831;
-                               }
-                       } else {
-                               if (yych <= 'U') {
-                                       if (yych <= 'T') goto yy832;
-                                       goto yy833;
-                               } else {
-                                       if (yych == 'W') goto yy834;
-                                       goto yy56;
-                               }
-                       }
+                       if (yych <= '@') goto yy201;
+                       if (yych <= 'T') goto yy177;
                }
        } else {
-               if (yych <= 'r') {
-                       if (yych <= 'f') {
-                               if (yych <= 'c') {
-                                       if (yych <= 'Y') goto yy835;
-                                       goto yy56;
-                               } else {
-                                       if (yych <= 'd') goto yy827;
-                                       if (yych <= 'e') goto yy56;
-                                       goto yy828;
-                               }
-                       } else {
-                               if (yych <= 'h') {
-                                       if (yych <= 'g') goto yy56;
-                                       goto yy829;
-                               } else {
-                                       if (yych == 'm') goto yy830;
-                                       goto yy56;
-                               }
-                       }
+               if (yych <= 't') {
+                       if (yych <= 'Z') goto yy177;
+                       if (yych <= '`') goto yy201;
+                       goto yy177;
                } else {
-                       if (yych <= 'w') {
-                               if (yych <= 't') {
-                                       if (yych <= 's') goto yy831;
-                                       goto yy832;
-                               } else {
-                                       if (yych <= 'u') goto yy833;
-                                       if (yych <= 'v') goto yy56;
-                                       goto yy834;
-                               }
-                       } else {
-                               if (yych <= 'y') {
-                                       if (yych <= 'x') goto yy56;
-                                       goto yy835;
-                               } else {
-                                       if (yych == 0xC2) goto yy836;
-                                       goto yy56;
-                               }
-                       }
 -                      if (yych <= 'u') goto yy1240;
++                      if (yych <= 'u') goto yy1265;
+                       if (yych <= 'z') goto yy177;
+                       goto yy201;
                }
        }
- yy683:
-       YYDEBUG(683, *YYCURSOR);
 -yy1240:
 -      YYDEBUG(1240, *YYCURSOR);
++yy1265:
++      YYDEBUG(1265, *YYCURSOR);
        yych = *++YYCURSOR;
-       if (yych == 'D') goto yy837;
-       if (yych == 'd') goto yy837;
-       goto yy682;
- yy684:
-       YYDEBUG(684, *YYCURSOR);
+       if (yych <= 'R') {
+               if (yych <= ')') {
+                       if (yych <= '(') goto yy3;
+                       goto yy174;
+               } else {
+                       if (yych <= '@') goto yy3;
+                       if (yych <= 'Q') goto yy178;
+               }
+       } else {
+               if (yych <= 'q') {
+                       if (yych <= 'Z') goto yy178;
+                       if (yych <= '`') goto yy3;
+                       goto yy178;
+               } else {
 -                      if (yych <= 'r') goto yy1241;
++                      if (yych <= 'r') goto yy1266;
+                       if (yych <= 'z') goto yy178;
+                       goto yy3;
+               }
+       }
 -yy1241:
 -      YYDEBUG(1241, *YYCURSOR);
++yy1266:
++      YYDEBUG(1266, *YYCURSOR);
        yych = *++YYCURSOR;
-       if (yych <= 'G') {
+       if (yych <= 'D') {
                if (yych <= ')') {
-                       if (yych <= '(') goto yy18;
-                       goto yy108;
+                       if (yych <= '(') goto yy3;
+                       goto yy174;
                } else {
-                       if (yych <= '@') goto yy18;
-                       if (yych <= 'F') goto yy800;
-                       goto yy838;
+                       if (yych <= '@') goto yy3;
+                       if (yych <= 'C') goto yy179;
                }
        } else {
-               if (yych <= 'f') {
-                       if (yych <= 'Z') goto yy800;
-                       if (yych <= '`') goto yy18;
-                       goto yy800;
+               if (yych <= 'c') {
+                       if (yych <= 'Z') goto yy179;
+                       if (yych <= '`') goto yy3;
+                       goto yy179;
                } else {
-                       if (yych <= 'g') goto yy838;
-                       if (yych <= 'z') goto yy800;
-                       goto yy18;
 -                      if (yych <= 'd') goto yy1242;
++                      if (yych <= 'd') goto yy1267;
+                       if (yych <= 'z') goto yy179;
+                       goto yy3;
                }
        }
- yy685:
-       YYDEBUG(685, *YYCURSOR);
-       yyaccept = 2;
 -yy1242:
 -      YYDEBUG(1242, *YYCURSOR);
++yy1267:
++      YYDEBUG(1267, *YYCURSOR);
+       yyaccept = 0;
        yych = *(YYMARKER = ++YYCURSOR);
-       if (yych <= 'F') {
-               if (yych <= '-') {
-                       if (yych == ')') goto yy108;
-                       if (yych <= ',') goto yy18;
-                       goto yy283;
+       if (yych <= '@') {
+               if (yych == ')') goto yy174;
+               goto yy3;
+       } else {
 -              if (yych <= 'A') goto yy1243;
++              if (yych <= 'A') goto yy1268;
+               if (yych != 'a') goto yy3;
+       }
 -yy1243:
 -      YYDEBUG(1243, *YYCURSOR);
++yy1268:
++      YYDEBUG(1268, *YYCURSOR);
+       yych = *++YYCURSOR;
+       if (yych == 'Y') goto yy207;
+       if (yych == 'y') goto yy207;
+       goto yy55;
 -yy1244:
 -      YYDEBUG(1244, *YYCURSOR);
++yy1269:
++      YYDEBUG(1269, *YYCURSOR);
+       yych = *++YYCURSOR;
+       if (yych <= 'O') {
+               if (yych <= ')') {
+                       if (yych <= '(') goto yy3;
+                       goto yy174;
                } else {
-                       if (yych == '/') goto yy283;
-                       if (yych <= '@') goto yy18;
-                       goto yy800;
+                       if (yych <= '@') goto yy3;
+                       if (yych <= 'N') goto yy177;
 -                      goto yy1255;
++                      goto yy1280;
                }
        } else {
-               if (yych <= '_') {
-                       if (yych <= 'G') goto yy838;
-                       if (yych <= 'Z') goto yy800;
-                       if (yych <= '^') goto yy18;
-                       goto yy283;
+               if (yych <= 'n') {
+                       if (yych <= 'Z') goto yy177;
+                       if (yych <= '`') goto yy3;
+                       goto yy177;
                } else {
-                       if (yych <= 'f') {
-                               if (yych <= '`') goto yy18;
-                               goto yy803;
-                       } else {
-                               if (yych <= 'g') goto yy839;
-                               if (yych <= 'z') goto yy803;
-                               goto yy18;
-                       }
 -                      if (yych <= 'o') goto yy1255;
++                      if (yych <= 'o') goto yy1280;
+                       if (yych <= 'z') goto yy177;
+                       goto yy3;
                }
        }
- yy686:
-       YYDEBUG(686, *YYCURSOR);
 -yy1245:
 -      YYDEBUG(1245, *YYCURSOR);
++yy1270:
++      YYDEBUG(1270, *YYCURSOR);
        yych = *++YYCURSOR;
        if (yych <= 'E') {
                if (yych <= ')') {
-                       if (yych <= '(') goto yy18;
-                       goto yy108;
+                       if (yych <= '(') goto yy3;
+                       goto yy174;
                } else {
-                       if (yych <= '@') goto yy18;
-                       if (yych <= 'D') goto yy800;
-                       goto yy840;
+                       if (yych <= '@') goto yy3;
+                       if (yych <= 'D') goto yy177;
 -                      goto yy1252;
++                      goto yy1277;
                }
        } else {
                if (yych <= 'd') {
-                       if (yych <= 'Z') goto yy800;
-                       if (yych <= '`') goto yy18;
-                       goto yy800;
+                       if (yych <= 'Z') goto yy177;
+                       if (yych <= '`') goto yy3;
+                       goto yy177;
                } else {
-                       if (yych <= 'e') goto yy840;
-                       if (yych <= 'z') goto yy800;
-                       goto yy18;
 -                      if (yych <= 'e') goto yy1252;
++                      if (yych <= 'e') goto yy1277;
+                       if (yych <= 'z') goto yy177;
+                       goto yy3;
                }
        }
- yy687:
-       YYDEBUG(687, *YYCURSOR);
-       yyaccept = 2;
 -yy1246:
 -      YYDEBUG(1246, *YYCURSOR);
++yy1271:
++      YYDEBUG(1271, *YYCURSOR);
+       yyaccept = 5;
        yych = *(YYMARKER = ++YYCURSOR);
-       if (yych <= 'D') {
-               if (yych <= '-') {
-                       if (yych == ')') goto yy108;
-                       if (yych <= ',') goto yy18;
-                       goto yy283;
+       if (yych <= '/') {
+               if (yych <= '(') {
+                       if (yych <= '\t') {
+                               if (yych <= 0x08) goto yy228;
+                               goto yy230;
+                       } else {
+                               if (yych == ' ') goto yy230;
+                               goto yy228;
+                       }
                } else {
-                       if (yych == '/') goto yy283;
-                       if (yych <= '@') goto yy18;
-                       goto yy800;
+                       if (yych <= ',') {
+                               if (yych <= ')') goto yy174;
+                               goto yy228;
+                       } else {
+                               if (yych <= '-') goto yy231;
+                               if (yych <= '.') goto yy230;
+                               goto yy228;
+                       }
                }
        } else {
-               if (yych <= '_') {
-                       if (yych <= 'E') goto yy840;
-                       if (yych <= 'Z') goto yy800;
-                       if (yych <= '^') goto yy18;
-                       goto yy283;
+               if (yych <= 'Z') {
+                       if (yych <= '@') {
+                               if (yych <= '9') goto yy230;
+                               goto yy228;
+                       } else {
+                               if (yych != 'T') goto yy177;
+                       }
                } else {
-                       if (yych <= 'd') {
-                               if (yych <= '`') goto yy18;
-                               goto yy803;
+                       if (yych <= 's') {
+                               if (yych <= '`') goto yy228;
+                               goto yy177;
                        } else {
-                               if (yych <= 'e') goto yy841;
-                               if (yych <= 'z') goto yy803;
-                               goto yy18;
 -                              if (yych <= 't') goto yy1247;
++                              if (yych <= 't') goto yy1272;
+                               if (yych <= 'z') goto yy177;
+                               goto yy228;
                        }
                }
        }
- yy688:
-       YYDEBUG(688, *YYCURSOR);
-       yych = *++YYCURSOR;
-       if (yych <= 'O') {
-               if (yych <= ')') {
-                       if (yych <= '(') goto yy18;
-                       goto yy108;
 -yy1247:
 -      YYDEBUG(1247, *YYCURSOR);
++yy1272:
++      YYDEBUG(1272, *YYCURSOR);
+       yyaccept = 5;
+       yych = *(YYMARKER = ++YYCURSOR);
+       if (yych <= '/') {
+               if (yych <= '(') {
+                       if (yych <= '\t') {
+                               if (yych <= 0x08) goto yy228;
+                               goto yy230;
+                       } else {
+                               if (yych == ' ') goto yy230;
+                               goto yy228;
+                       }
                } else {
-                       if (yych <= '@') goto yy18;
-                       if (yych <= 'N') goto yy800;
-                       goto yy842;
+                       if (yych <= ',') {
+                               if (yych <= ')') goto yy174;
+                               goto yy228;
+                       } else {
+                               if (yych <= '-') goto yy231;
+                               if (yych <= '.') goto yy230;
+                               goto yy228;
+                       }
                }
        } else {
-               if (yych <= 'n') {
-                       if (yych <= 'Z') goto yy800;
-                       if (yych <= '`') goto yy18;
-                       goto yy800;
+               if (yych <= 'Z') {
+                       if (yych <= '@') {
+                               if (yych <= '9') goto yy230;
+                               goto yy228;
+                       } else {
+                               if (yych != 'E') goto yy178;
+                       }
                } else {
-                       if (yych <= 'o') goto yy842;
-                       if (yych <= 'z') goto yy800;
-                       goto yy18;
+                       if (yych <= 'd') {
+                               if (yych <= '`') goto yy228;
+                               goto yy178;
+                       } else {
 -                              if (yych <= 'e') goto yy1248;
++                              if (yych <= 'e') goto yy1273;
+                               if (yych <= 'z') goto yy178;
+                               goto yy228;
+                       }
                }
        }
- yy689:
-       YYDEBUG(689, *YYCURSOR);
-       yyaccept = 2;
-       yych = *(YYMARKER = ++YYCURSOR);
-       if (yych <= 'N') {
-               if (yych <= '-') {
-                       if (yych == ')') goto yy108;
-                       if (yych <= ',') goto yy18;
-                       goto yy283;
 -yy1248:
 -      YYDEBUG(1248, *YYCURSOR);
++yy1273:
++      YYDEBUG(1273, *YYCURSOR);
+       yych = *++YYCURSOR;
+       if (yych <= 'M') {
+               if (yych <= ')') {
+                       if (yych <= '(') goto yy3;
+                       goto yy174;
                } else {
-                       if (yych == '/') goto yy283;
-                       if (yych <= '@') goto yy18;
-                       goto yy800;
+                       if (yych <= '@') goto yy3;
+                       if (yych <= 'L') goto yy179;
                }
        } else {
-               if (yych <= '_') {
-                       if (yych <= 'O') goto yy842;
-                       if (yych <= 'Z') goto yy800;
-                       if (yych <= '^') goto yy18;
-                       goto yy283;
+               if (yych <= 'l') {
+                       if (yych <= 'Z') goto yy179;
+                       if (yych <= '`') goto yy3;
+                       goto yy179;
                } else {
-                       if (yych <= 'n') {
-                               if (yych <= '`') goto yy18;
-                               goto yy803;
-                       } else {
-                               if (yych <= 'o') goto yy843;
-                               if (yych <= 'z') goto yy803;
-                               goto yy18;
-                       }
 -                      if (yych <= 'm') goto yy1249;
++                      if (yych <= 'm') goto yy1274;
+                       if (yych <= 'z') goto yy179;
+                       goto yy3;
                }
        }
- yy690:
-       YYDEBUG(690, *YYCURSOR);
 -yy1249:
 -      YYDEBUG(1249, *YYCURSOR);
++yy1274:
++      YYDEBUG(1274, *YYCURSOR);
+       yyaccept = 0;
+       yych = *(YYMARKER = ++YYCURSOR);
+       if (yych <= 'A') {
+               if (yych == ')') goto yy174;
+               goto yy3;
+       } else {
 -              if (yych <= 'B') goto yy1250;
++              if (yych <= 'B') goto yy1275;
+               if (yych != 'b') goto yy3;
+       }
 -yy1250:
 -      YYDEBUG(1250, *YYCURSOR);
++yy1275:
++      YYDEBUG(1275, *YYCURSOR);
        yych = *++YYCURSOR;
-       if (yych <= 'D') {
 -      if (yych == 'E') goto yy1251;
++      if (yych == 'E') goto yy1276;
+       if (yych != 'e') goto yy55;
 -yy1251:
 -      YYDEBUG(1251, *YYCURSOR);
++yy1276:
++      YYDEBUG(1276, *YYCURSOR);
+       yych = *++YYCURSOR;
+       if (yych == 'R') goto yy239;
+       if (yych == 'r') goto yy239;
+       goto yy55;
 -yy1252:
 -      YYDEBUG(1252, *YYCURSOR);
++yy1277:
++      YYDEBUG(1277, *YYCURSOR);
+       yych = *++YYCURSOR;
+       if (yych <= 'N') {
                if (yych <= ')') {
-                       if (yych <= '(') goto yy18;
-                       goto yy108;
+                       if (yych <= '(') goto yy3;
+                       goto yy174;
                } else {
-                       if (yych <= '@') goto yy18;
-                       if (yych <= 'C') goto yy800;
-                       goto yy844;
+                       if (yych <= '@') goto yy3;
+                       if (yych <= 'M') goto yy178;
                }
        } else {
-               if (yych <= 'c') {
-                       if (yych <= 'Z') goto yy800;
-                       if (yych <= '`') goto yy18;
-                       goto yy800;
+               if (yych <= 'm') {
+                       if (yych <= 'Z') goto yy178;
+                       if (yych <= '`') goto yy3;
+                       goto yy178;
                } else {
-                       if (yych <= 'd') goto yy844;
-                       if (yych <= 'z') goto yy800;
-                       goto yy18;
 -                      if (yych <= 'n') goto yy1253;
++                      if (yych <= 'n') goto yy1278;
+                       if (yych <= 'z') goto yy178;
+                       goto yy3;
                }
        }
- yy691:
-       YYDEBUG(691, *YYCURSOR);
 -yy1253:
 -      YYDEBUG(1253, *YYCURSOR);
++yy1278:
++      YYDEBUG(1278, *YYCURSOR);
        yych = *++YYCURSOR;
-       if (yych <= 'D') {
+       if (yych <= 'T') {
                if (yych <= ')') {
-                       if (yych <= '(') goto yy18;
-                       goto yy108;
+                       if (yych <= '(') goto yy3;
+                       goto yy174;
                } else {
-                       if (yych <= '@') goto yy18;
-                       if (yych <= 'C') goto yy800;
-                       goto yy810;
+                       if (yych <= '@') goto yy3;
+                       if (yych <= 'S') goto yy179;
                }
        } else {
-               if (yych <= 'c') {
-                       if (yych <= 'Z') goto yy800;
-                       if (yych <= '`') goto yy18;
-                       goto yy800;
+               if (yych <= 's') {
+                       if (yych <= 'Z') goto yy179;
+                       if (yych <= '`') goto yy3;
+                       goto yy179;
                } else {
-                       if (yych <= 'd') goto yy810;
-                       if (yych <= 'z') goto yy800;
-                       goto yy18;
 -                      if (yych <= 't') goto yy1254;
++                      if (yych <= 't') goto yy1279;
+                       if (yych <= 'z') goto yy179;
+                       goto yy3;
                }
        }
- yy692:
-       YYDEBUG(692, *YYCURSOR);
 -yy1254:
 -      YYDEBUG(1254, *YYCURSOR);
++yy1279:
++      YYDEBUG(1279, *YYCURSOR);
+       yyaccept = 0;
+       yych = *(YYMARKER = ++YYCURSOR);
+       if (yych <= 'G') {
+               if (yych == ')') goto yy174;
+               goto yy3;
+       } else {
 -              if (yych <= 'H') goto yy1205;
 -              if (yych == 'h') goto yy1205;
++              if (yych <= 'H') goto yy1230;
++              if (yych == 'h') goto yy1230;
+               goto yy3;
+       }
 -yy1255:
 -      YYDEBUG(1255, *YYCURSOR);
++yy1280:
++      YYDEBUG(1280, *YYCURSOR);
        yych = *++YYCURSOR;
-       if (yych <= 'M') {
+       if (yych <= 'N') {
                if (yych <= ')') {
-                       if (yych <= '(') goto yy18;
-                       goto yy108;
+                       if (yych <= '(') goto yy3;
+                       goto yy174;
                } else {
-                       if (yych <= '@') goto yy18;
-                       if (yych <= 'L') goto yy800;
-                       goto yy845;
+                       if (yych <= '@') goto yy3;
+                       if (yych <= 'M') goto yy178;
                }
        } else {
-               if (yych <= 'l') {
-                       if (yych <= 'Z') goto yy800;
-                       if (yych <= '`') goto yy18;
-                       goto yy800;
+               if (yych <= 'm') {
+                       if (yych <= 'Z') goto yy178;
+                       if (yych <= '`') goto yy3;
+                       goto yy178;
                } else {
-                       if (yych <= 'm') goto yy845;
-                       if (yych <= 'z') goto yy800;
-                       goto yy18;
 -                      if (yych <= 'n') goto yy1256;
++                      if (yych <= 'n') goto yy1281;
+                       if (yych <= 'z') goto yy178;
+                       goto yy3;
                }
        }
- yy693:
-       YYDEBUG(693, *YYCURSOR);
 -yy1256:
 -      YYDEBUG(1256, *YYCURSOR);
++yy1281:
++      YYDEBUG(1281, *YYCURSOR);
        yych = *++YYCURSOR;
-       if (yych <= 'T') {
+       if (yych <= 'D') {
                if (yych <= ')') {
-                       if (yych <= '(') goto yy18;
-                       goto yy108;
+                       if (yych <= '(') goto yy3;
+                       goto yy174;
                } else {
-                       if (yych <= '@') goto yy18;
-                       if (yych <= 'S') goto yy800;
-                       goto yy846;
+                       if (yych <= '@') goto yy3;
+                       if (yych <= 'C') goto yy179;
 -                      goto yy1215;
++                      goto yy1240;
                }
        } else {
-               if (yych <= 's') {
-                       if (yych <= 'Z') goto yy800;
-                       if (yych <= '`') goto yy18;
-                       goto yy800;
+               if (yych <= 'c') {
+                       if (yych <= 'Z') goto yy179;
+                       if (yych <= '`') goto yy3;
+                       goto yy179;
                } else {
-                       if (yych <= 't') goto yy846;
-                       if (yych <= 'z') goto yy800;
-                       goto yy18;
 -                      if (yych <= 'd') goto yy1215;
++                      if (yych <= 'd') goto yy1240;
+                       if (yych <= 'z') goto yy179;
+                       goto yy3;
                }
        }
- yy694:
-       YYDEBUG(694, *YYCURSOR);
-       yyaccept = 2;
 -yy1257:
 -      YYDEBUG(1257, *YYCURSOR);
++yy1282:
++      YYDEBUG(1282, *YYCURSOR);
+       yyaccept = 0;
        yych = *(YYMARKER = ++YYCURSOR);
-       if (yych <= 'C') {
-               if (yych <= '-') {
-                       if (yych == ')') goto yy108;
-                       if (yych <= ',') goto yy18;
-                       goto yy283;
+       if (yych <= 'U') {
+               if (yych <= '/') {
+                       if (yych <= ',') {
+                               if (yych == ')') goto yy174;
+                               goto yy3;
+                       } else {
+                               if (yych == '.') goto yy3;
+                               goto yy182;
+                       }
                } else {
-                       if (yych == '/') goto yy283;
-                       if (yych <= '@') goto yy18;
-                       goto yy800;
+                       if (yych <= 'C') {
+                               if (yych <= '@') goto yy3;
+                               if (yych <= 'B') goto yy176;
 -                              goto yy1244;
++                              goto yy1269;
+                       } else {
 -                              if (yych == 'P') goto yy1246;
++                              if (yych == 'P') goto yy1271;
+                               goto yy176;
+                       }
                }
        } else {
-               if (yych <= '_') {
-                       if (yych <= 'D') goto yy844;
-                       if (yych <= 'Z') goto yy800;
-                       if (yych <= '^') goto yy18;
-                       goto yy283;
+               if (yych <= 'b') {
+                       if (yych <= '^') {
 -                              if (yych <= 'V') goto yy1245;
++                              if (yych <= 'V') goto yy1270;
+                               if (yych <= 'Z') goto yy176;
+                               goto yy3;
+                       } else {
+                               if (yych <= '_') goto yy182;
+                               if (yych <= '`') goto yy3;
+                               goto yy181;
+                       }
                } else {
-                       if (yych <= 'c') {
-                               if (yych <= '`') goto yy18;
-                               goto yy803;
+                       if (yych <= 'p') {
 -                              if (yych <= 'c') goto yy1273;
++                              if (yych <= 'c') goto yy1298;
+                               if (yych <= 'o') goto yy181;
 -                              goto yy1275;
++                              goto yy1300;
                        } else {
-                               if (yych <= 'd') goto yy847;
-                               if (yych <= 'z') goto yy803;
-                               goto yy18;
 -                              if (yych == 'v') goto yy1274;
++                              if (yych == 'v') goto yy1299;
+                               if (yych <= 'z') goto yy181;
+                               goto yy3;
                        }
                }
        }
- yy695:
-       YYDEBUG(695, *YYCURSOR);
-       yyaccept = 2;
 -yy1258:
 -      YYDEBUG(1258, *YYCURSOR);
++yy1283:
++      YYDEBUG(1283, *YYCURSOR);
+       yyaccept = 0;
        yych = *(YYMARKER = ++YYCURSOR);
-       if (yych <= 'C') {
+       if (yych <= 'S') {
                if (yych <= '-') {
-                       if (yych == ')') goto yy108;
-                       if (yych <= ',') goto yy18;
-                       goto yy283;
+                       if (yych == ')') goto yy174;
+                       if (yych <= ',') goto yy3;
+                       goto yy182;
                } else {
-                       if (yych == '/') goto yy283;
-                       if (yych <= '@') goto yy18;
-                       goto yy800;
+                       if (yych == '/') goto yy182;
+                       if (yych <= '@') goto yy3;
+                       goto yy176;
                }
        } else {
                if (yych <= '_') {
-                       if (yych <= 'D') goto yy810;
-                       if (yych <= 'Z') goto yy800;
-                       if (yych <= '^') goto yy18;
-                       goto yy283;
 -                      if (yych <= 'T') goto yy1239;
++                      if (yych <= 'T') goto yy1264;
+                       if (yych <= 'Z') goto yy176;
+                       if (yych <= '^') goto yy3;
+                       goto yy182;
                } else {
-                       if (yych <= 'c') {
-                               if (yych <= '`') goto yy18;
-                               goto yy803;
+                       if (yych <= 's') {
+                               if (yych <= '`') goto yy3;
+                               goto yy181;
                        } else {
-                               if (yych <= 'd') goto yy812;
-                               if (yych <= 'z') goto yy803;
-                               goto yy18;
 -                              if (yych <= 't') goto yy1268;
++                              if (yych <= 't') goto yy1293;
+                               if (yych <= 'z') goto yy181;
+                               goto yy3;
                        }
                }
        }
- yy696:
-       YYDEBUG(696, *YYCURSOR);
-       yyaccept = 2;
 -yy1259:
 -      YYDEBUG(1259, *YYCURSOR);
++yy1284:
++      YYDEBUG(1284, *YYCURSOR);
+       yyaccept = 0;
        yych = *(YYMARKER = ++YYCURSOR);
-       if (yych <= 'L') {
+       if (yych <= 'W') {
                if (yych <= '-') {
-                       if (yych == ')') goto yy108;
-                       if (yych <= ',') goto yy18;
-                       goto yy283;
+                       if (yych == ')') goto yy174;
+                       if (yych <= ',') goto yy3;
+                       goto yy182;
                } else {
-                       if (yych == '/') goto yy283;
-                       if (yych <= '@') goto yy18;
-                       goto yy800;
+                       if (yych == '/') goto yy182;
+                       if (yych <= '@') goto yy3;
+                       goto yy176;
                }
        } else {
                if (yych <= '_') {
-                       if (yych <= 'M') goto yy845;
-                       if (yych <= 'Z') goto yy800;
-                       if (yych <= '^') goto yy18;
-                       goto yy283;
 -                      if (yych <= 'X') goto yy1236;
++                      if (yych <= 'X') goto yy1261;
+                       if (yych <= 'Z') goto yy176;
+                       if (yych <= '^') goto yy3;
+                       goto yy182;
                } else {
-                       if (yych <= 'l') {
-                               if (yych <= '`') goto yy18;
-                               goto yy803;
+                       if (yych <= 'w') {
+                               if (yych <= '`') goto yy3;
+                               goto yy181;
                        } else {
-                               if (yych <= 'm') goto yy848;
-                               if (yych <= 'z') goto yy803;
-                               goto yy18;
 -                              if (yych <= 'x') goto yy1265;
++                              if (yych <= 'x') goto yy1290;
+                               if (yych <= 'z') goto yy181;
+                               goto yy3;
                        }
                }
        }
- yy697:
-       YYDEBUG(697, *YYCURSOR);
-       yyaccept = 2;
 -yy1260:
 -      YYDEBUG(1260, *YYCURSOR);
++yy1285:
++      YYDEBUG(1285, *YYCURSOR);
+       yyaccept = 0;
        yych = *(YYMARKER = ++YYCURSOR);
-       if (yych <= 'S') {
+       if (yych <= 'M') {
                if (yych <= '-') {
-                       if (yych == ')') goto yy108;
-                       if (yych <= ',') goto yy18;
-                       goto yy283;
+                       if (yych == ')') goto yy174;
+                       if (yych <= ',') goto yy3;
+                       goto yy182;
                } else {
-                       if (yych == '/') goto yy283;
-                       if (yych <= '@') goto yy18;
-                       goto yy800;
+                       if (yych == '/') goto yy182;
+                       if (yych <= '@') goto yy3;
+                       goto yy176;
                }
        } else {
                if (yych <= '_') {
-                       if (yych <= 'T') goto yy846;
-                       if (yych <= 'Z') goto yy800;
-                       if (yych <= '^') goto yy18;
-                       goto yy283;
 -                      if (yych <= 'N') goto yy1232;
++                      if (yych <= 'N') goto yy1257;
+                       if (yych <= 'Z') goto yy176;
+                       if (yych <= '^') goto yy3;
+                       goto yy182;
                } else {
-                       if (yych <= 's') {
-                               if (yych <= '`') goto yy18;
-                               goto yy803;
+                       if (yych <= 'm') {
+                               if (yych <= '`') goto yy3;
+                               goto yy181;
                        } else {
-                               if (yych <= 't') goto yy849;
-                               if (yych <= 'z') goto yy803;
-                               goto yy18;
 -                              if (yych <= 'n') goto yy1261;
++                              if (yych <= 'n') goto yy1286;
+                               if (yych <= 'z') goto yy181;
+                               goto yy3;
                        }
                }
        }
- yy698:
-       YYDEBUG(698, *YYCURSOR);
-       yyaccept = 12;
 -yy1261:
 -      YYDEBUG(1261, *YYCURSOR);
++yy1286:
++      YYDEBUG(1286, *YYCURSOR);
+       yyaccept = 4;
        yych = *(YYMARKER = ++YYCURSOR);
-       if (yych <= '/') goto yy403;
-       if (yych <= '5') goto yy850;
-       if (yych <= '6') goto yy851;
-       goto yy403;
- yy699:
-       YYDEBUG(699, *YYCURSOR);
-       yych = *++YYCURSOR;
-       if (yych <= '@') {
-               if (yych == ')') goto yy108;
-       } else {
-               if (yych <= 'Z') goto yy800;
-               if (yych <= '`') goto yy700;
-               if (yych <= 'z') goto yy800;
-       }
- yy700:
-       YYDEBUG(700, *YYCURSOR);
- #line 1054 "parse_date.re"
-       {
-               DEBUG_OUTPUT("midnight | today");
-               TIMELIB_INIT;
-               TIMELIB_UNHAVE_TIME();
-               TIMELIB_DEINIT;
-               return TIMELIB_RELATIVE;
-       }
- #line 15563 "<stdout>"
- yy701:
-       YYDEBUG(701, *YYCURSOR);
-       yych = *++YYCURSOR;
-       if (yych <= 'R') {
-               if (yych <= ')') {
-                       if (yych <= '(') goto yy18;
-                       goto yy108;
-               } else {
-                       if (yych <= '@') goto yy18;
-                       if (yych <= 'Q') goto yy800;
-                       goto yy852;
-               }
-       } else {
-               if (yych <= 'q') {
-                       if (yych <= 'Z') goto yy800;
-                       if (yych <= '`') goto yy18;
-                       goto yy800;
+       if (yych <= 'C') {
+               if (yych <= '-') {
+                       if (yych == ')') goto yy174;
+                       if (yych <= ',') goto yy201;
+                       goto yy182;
                } else {
-                       if (yych <= 'r') goto yy852;
-                       if (yych <= 'z') goto yy800;
-                       goto yy18;
+                       if (yych == '/') goto yy182;
+                       if (yych <= '@') goto yy201;
+                       goto yy177;
                }
-       }
- yy702:
-       YYDEBUG(702, *YYCURSOR);
-       yych = *++YYCURSOR;
-       if (yych <= 'A') {
-               if (yych == ')') goto yy108;
-               if (yych <= '@') goto yy18;
-               goto yy853;
        } else {
-               if (yych <= '`') {
-                       if (yych <= 'Z') goto yy800;
-                       goto yy18;
+               if (yych <= '_') {
 -                      if (yych <= 'D') goto yy1233;
++                      if (yych <= 'D') goto yy1258;
+                       if (yych <= 'Z') goto yy177;
+                       if (yych <= '^') goto yy201;
+                       goto yy182;
                } else {
-                       if (yych <= 'a') goto yy853;
-                       if (yych <= 'z') goto yy800;
-                       goto yy18;
+                       if (yych <= 'c') {
+                               if (yych <= '`') goto yy201;
+                               goto yy185;
+                       } else {
 -                              if (yych <= 'd') goto yy1262;
++                              if (yych <= 'd') goto yy1287;
+                               if (yych <= 'z') goto yy185;
+                               goto yy201;
+                       }
                }
        }
- yy703:
-       YYDEBUG(703, *YYCURSOR);
-       yyaccept = 16;
 -yy1262:
 -      YYDEBUG(1262, *YYCURSOR);
++yy1287:
++      YYDEBUG(1287, *YYCURSOR);
+       yyaccept = 0;
        yych = *(YYMARKER = ++YYCURSOR);
-       if (yych <= '/') {
+       if (yych <= '@') {
                if (yych <= ',') {
-                       if (yych == ')') goto yy108;
-                       goto yy700;
+                       if (yych == ')') goto yy174;
+                       goto yy3;
                } else {
-                       if (yych == '.') goto yy700;
-                       goto yy283;
+                       if (yych == '.') goto yy3;
+                       if (yych <= '/') goto yy182;
+                       goto yy3;
                }
        } else {
-               if (yych <= '^') {
-                       if (yych <= '@') goto yy700;
-                       if (yych <= 'Z') goto yy800;
-                       goto yy700;
+               if (yych <= '_') {
 -                      if (yych <= 'A') goto yy1234;
++                      if (yych <= 'A') goto yy1259;
+                       if (yych <= 'Z') goto yy178;
+                       if (yych <= '^') goto yy3;
+                       goto yy182;
                } else {
-                       if (yych <= '_') goto yy283;
-                       if (yych <= '`') goto yy700;
-                       if (yych <= 'z') goto yy803;
-                       goto yy700;
+                       if (yych <= '`') goto yy3;
 -                      if (yych <= 'a') goto yy1263;
++                      if (yych <= 'a') goto yy1288;
+                       if (yych <= 'z') goto yy186;
+                       goto yy3;
                }
        }
- yy704:
-       YYDEBUG(704, *YYCURSOR);
-       yyaccept = 2;
 -yy1263:
 -      YYDEBUG(1263, *YYCURSOR);
++yy1288:
++      YYDEBUG(1288, *YYCURSOR);
+       yyaccept = 0;
        yych = *(YYMARKER = ++YYCURSOR);
-       if (yych <= 'Q') {
+       if (yych <= 'X') {
                if (yych <= '-') {
-                       if (yych == ')') goto yy108;
-                       if (yych <= ',') goto yy18;
-                       goto yy283;
+                       if (yych == ')') goto yy174;
+                       if (yych <= ',') goto yy3;
+                       goto yy182;
                } else {
-                       if (yych == '/') goto yy283;
-                       if (yych <= '@') goto yy18;
-                       goto yy800;
+                       if (yych == '/') goto yy182;
+                       if (yych <= '@') goto yy3;
+                       goto yy179;
                }
        } else {
                if (yych <= '_') {
-                       if (yych <= 'R') goto yy852;
-                       if (yych <= 'Z') goto yy800;
-                       if (yych <= '^') goto yy18;
-                       goto yy283;
 -                      if (yych <= 'Y') goto yy1235;
++                      if (yych <= 'Y') goto yy1260;
+                       if (yych <= 'Z') goto yy179;
+                       if (yych <= '^') goto yy3;
+                       goto yy182;
                } else {
-                       if (yych <= 'q') {
-                               if (yych <= '`') goto yy18;
-                               goto yy803;
+                       if (yych <= 'x') {
+                               if (yych <= '`') goto yy3;
+                               goto yy187;
                        } else {
-                               if (yych <= 'r') goto yy854;
-                               if (yych <= 'z') goto yy803;
-                               goto yy18;
 -                              if (yych <= 'y') goto yy1264;
++                              if (yych <= 'y') goto yy1289;
+                               if (yych <= 'z') goto yy187;
+                               goto yy3;
                        }
                }
        }
- yy705:
-       YYDEBUG(705, *YYCURSOR);
-       yyaccept = 2;
 -yy1264:
 -      YYDEBUG(1264, *YYCURSOR);
++yy1289:
++      YYDEBUG(1289, *YYCURSOR);
+       yyaccept = 4;
        yych = *(YYMARKER = ++YYCURSOR);
-       if (yych <= '@') {
-               if (yych <= ',') {
-                       if (yych == ')') goto yy108;
-                       goto yy18;
-               } else {
-                       if (yych == '.') goto yy18;
-                       if (yych <= '/') goto yy283;
-                       goto yy18;
-               }
+       if (yybm[0+yych] & 8) {
+               goto yy188;
+       }
+       if (yych <= '-') {
+               if (yych == ')') goto yy174;
+               if (yych <= ',') goto yy201;
+               goto yy182;
        } else {
-               if (yych <= '_') {
-                       if (yych <= 'A') goto yy853;
-                       if (yych <= 'Z') goto yy800;
-                       if (yych <= '^') goto yy18;
-                       goto yy283;
+               if (yych <= '/') {
+                       if (yych <= '.') goto yy201;
+                       goto yy182;
                } else {
-                       if (yych <= '`') goto yy18;
-                       if (yych <= 'a') goto yy855;
-                       if (yych <= 'z') goto yy803;
-                       goto yy18;
+                       if (yych == '_') goto yy182;
+                       goto yy201;
                }
        }
- yy706:
-       YYDEBUG(706, *YYCURSOR);
-       yych = *++YYCURSOR;
 -yy1265:
 -      YYDEBUG(1265, *YYCURSOR);
++yy1290:
++      YYDEBUG(1290, *YYCURSOR);
+       yyaccept = 0;
+       yych = *(YYMARKER = ++YYCURSOR);
        if (yych <= 'S') {
-               if (yych <= ')') {
-                       if (yych <= '(') goto yy18;
-                       goto yy108;
-               } else {
-                       if (yych <= '@') goto yy18;
-                       if (yych <= 'R') goto yy800;
-                       goto yy856;
-               }
-       } else {
-               if (yych <= 'r') {
-                       if (yych <= 'Z') goto yy800;
-                       if (yych <= '`') goto yy18;
-                       goto yy800;
+               if (yych <= '-') {
+                       if (yych == ')') goto yy174;
+                       if (yych <= ',') goto yy3;
+                       goto yy182;
                } else {
-                       if (yych <= 's') goto yy856;
-                       if (yych <= 'z') goto yy800;
-                       goto yy18;
+                       if (yych == '/') goto yy182;
+                       if (yych <= '@') goto yy3;
+                       goto yy177;
                }
-       }
- yy707:
-       YYDEBUG(707, *YYCURSOR);
-       yych = *++YYCURSOR;
-       if (yych <= 'A') {
-               if (yych == ')') goto yy108;
-               if (yych <= '@') goto yy18;
-               goto yy857;
        } else {
-               if (yych <= '`') {
-                       if (yych <= 'Z') goto yy800;
-                       goto yy18;
+               if (yych <= '_') {
 -                      if (yych <= 'T') goto yy1237;
++                      if (yych <= 'T') goto yy1262;
+                       if (yych <= 'Z') goto yy177;
+                       if (yych <= '^') goto yy3;
+                       goto yy182;
                } else {
-                       if (yych <= 'a') goto yy857;
-                       if (yych <= 'z') goto yy800;
-                       goto yy18;
+                       if (yych <= 's') {
+                               if (yych <= '`') goto yy3;
+                               goto yy185;
+                       } else {
 -                              if (yych <= 't') goto yy1266;
++                              if (yych <= 't') goto yy1291;
+                               if (yych <= 'z') goto yy185;
+                               goto yy3;
+                       }
                }
        }
- yy708:
-       YYDEBUG(708, *YYCURSOR);
-       yyaccept = 2;
 -yy1266:
 -      YYDEBUG(1266, *YYCURSOR);
++yy1291:
++      YYDEBUG(1291, *YYCURSOR);
+       yyaccept = 0;
        yych = *(YYMARKER = ++YYCURSOR);
-       if (yych <= 'R') {
+       if (yych <= 'G') {
                if (yych <= '-') {
-                       if (yych == ')') goto yy108;
-                       if (yych <= ',') goto yy18;
-                       goto yy283;
+                       if (yych == ')') goto yy174;
+                       if (yych <= ',') goto yy3;
+                       goto yy182;
                } else {
-                       if (yych == '/') goto yy283;
-                       if (yych <= '@') goto yy18;
-                       goto yy800;
+                       if (yych == '/') goto yy182;
+                       if (yych <= '@') goto yy3;
+                       goto yy178;
                }
        } else {
                if (yych <= '_') {
-                       if (yych <= 'S') goto yy856;
-                       if (yych <= 'Z') goto yy800;
-                       if (yych <= '^') goto yy18;
-                       goto yy283;
 -                      if (yych <= 'H') goto yy1238;
++                      if (yych <= 'H') goto yy1263;
+                       if (yych <= 'Z') goto yy178;
+                       if (yych <= '^') goto yy3;
+                       goto yy182;
                } else {
-                       if (yych <= 'r') {
-                               if (yych <= '`') goto yy18;
-                               goto yy803;
+                       if (yych <= 'g') {
+                               if (yych <= '`') goto yy3;
+                               goto yy186;
                        } else {
-                               if (yych <= 's') goto yy858;
-                               if (yych <= 'z') goto yy803;
-                               goto yy18;
 -                              if (yych <= 'h') goto yy1267;
++                              if (yych <= 'h') goto yy1292;
+                               if (yych <= 'z') goto yy186;
+                               goto yy3;
                        }
                }
        }
- yy709:
-       YYDEBUG(709, *YYCURSOR);
-       yyaccept = 2;
 -yy1267:
 -      YYDEBUG(1267, *YYCURSOR);
++yy1292:
++      YYDEBUG(1292, *YYCURSOR);
+       yyaccept = 0;
        yych = *(YYMARKER = ++YYCURSOR);
-       if (yych <= '@') {
-               if (yych <= ',') {
-                       if (yych == ')') goto yy108;
-                       goto yy18;
+       if (yych <= '-') {
+               if (yych <= ' ') {
 -                      if (yych == '\t') goto yy1206;
++                      if (yych == '\t') goto yy1231;
+                       if (yych <= 0x1F) goto yy3;
 -                      goto yy1206;
++                      goto yy1231;
                } else {
-                       if (yych == '.') goto yy18;
-                       if (yych <= '/') goto yy283;
-                       goto yy18;
+                       if (yych == ')') goto yy174;
+                       if (yych <= ',') goto yy3;
+                       goto yy182;
                }
        } else {
-               if (yych <= '_') {
-                       if (yych <= 'A') goto yy857;
-                       if (yych <= 'Z') goto yy800;
-                       if (yych <= '^') goto yy18;
-                       goto yy283;
+               if (yych <= 'Z') {
+                       if (yych == '/') goto yy182;
+                       if (yych <= '@') goto yy3;
+                       goto yy179;
                } else {
-                       if (yych <= '`') goto yy18;
-                       if (yych <= 'a') goto yy859;
-                       if (yych <= 'z') goto yy803;
-                       goto yy18;
+                       if (yych <= '_') {
+                               if (yych <= '^') goto yy3;
+                               goto yy182;
+                       } else {
+                               if (yych <= '`') goto yy3;
+                               if (yych <= 'z') goto yy187;
+                               goto yy3;
+                       }
                }
        }
- yy710:
-       YYDEBUG(710, *YYCURSOR);
-       yych = *++YYCURSOR;
-       if (yych <= 'R') {
-               if (yych <= ')') {
-                       if (yych <= '(') goto yy18;
-                       goto yy108;
 -yy1268:
 -      YYDEBUG(1268, *YYCURSOR);
++yy1293:
++      YYDEBUG(1293, *YYCURSOR);
+       yyaccept = 4;
+       yych = *(YYMARKER = ++YYCURSOR);
+       if (yych <= 'T') {
+               if (yych <= '-') {
+                       if (yych == ')') goto yy174;
+                       if (yych <= ',') goto yy201;
+                       goto yy182;
                } else {
-                       if (yych <= '@') goto yy18;
-                       if (yych <= 'Q') goto yy800;
-                       goto yy860;
+                       if (yych == '/') goto yy182;
+                       if (yych <= '@') goto yy201;
+                       goto yy177;
                }
        } else {
-               if (yych <= 'q') {
-                       if (yych <= 'Z') goto yy800;
-                       if (yych <= '`') goto yy18;
-                       goto yy800;
+               if (yych <= '_') {
 -                      if (yych <= 'U') goto yy1240;
++                      if (yych <= 'U') goto yy1265;
+                       if (yych <= 'Z') goto yy177;
+                       if (yych <= '^') goto yy201;
+                       goto yy182;
                } else {
-                       if (yych <= 'r') goto yy860;
-                       if (yych <= 'z') goto yy800;
-                       goto yy18;
+                       if (yych <= 't') {
+                               if (yych <= '`') goto yy201;
+                               goto yy185;
+                       } else {
 -                              if (yych <= 'u') goto yy1269;
++                              if (yych <= 'u') goto yy1294;
+                               if (yych <= 'z') goto yy185;
+                               goto yy201;
+                       }
                }
        }
- yy711:
-       YYDEBUG(711, *YYCURSOR);
-       yyaccept = 2;
 -yy1269:
 -      YYDEBUG(1269, *YYCURSOR);
++yy1294:
++      YYDEBUG(1294, *YYCURSOR);
+       yyaccept = 0;
        yych = *(YYMARKER = ++YYCURSOR);
        if (yych <= 'Q') {
                if (yych <= '-') {
                }
        } else {
                if (yych <= '_') {
-                       if (yych <= 'R') goto yy860;
-                       if (yych <= 'Z') goto yy800;
-                       if (yych <= '^') goto yy18;
-                       goto yy283;
 -                      if (yych <= 'R') goto yy1241;
++                      if (yych <= 'R') goto yy1266;
+                       if (yych <= 'Z') goto yy178;
+                       if (yych <= '^') goto yy3;
+                       goto yy182;
                } else {
                        if (yych <= 'q') {
-                               if (yych <= '`') goto yy18;
-                               goto yy803;
+                               if (yych <= '`') goto yy3;
+                               goto yy186;
                        } else {
-                               if (yych <= 'r') goto yy861;
-                               if (yych <= 'z') goto yy803;
-                               goto yy18;
 -                              if (yych <= 'r') goto yy1270;
++                              if (yych <= 'r') goto yy1295;
+                               if (yych <= 'z') goto yy186;
+                               goto yy3;
                        }
                }
        }
- yy712:
-       YYDEBUG(712, *YYCURSOR);
-       yych = *++YYCURSOR;
-       if (yych <= '/') goto yy56;
-       if (yych <= '0') goto yy862;
-       if (yych <= '1') goto yy863;
-       goto yy56;
- yy713:
-       YYDEBUG(713, *YYCURSOR);
-       yych = *++YYCURSOR;
-       if (yych == '-') goto yy864;
-       if (yych <= '/') goto yy186;
-       if (yych <= '9') goto yy865;
-       goto yy186;
- yy714:
-       YYDEBUG(714, *YYCURSOR);
-       yych = *++YYCURSOR;
-       if (yych <= '/') goto yy56;
-       if (yych <= '9') goto yy866;
-       goto yy56;
- yy715:
-       YYDEBUG(715, *YYCURSOR);
-       yyaccept = 17;
-       yych = *(YYMARKER = ++YYCURSOR);
-       if (yych <= '/') goto yy716;
-       if (yych <= '9') goto yy866;
- yy716:
-       YYDEBUG(716, *YYCURSOR);
- #line 1435 "parse_date.re"
-       {
-               int length = 0;
-               DEBUG_OUTPUT("pointed date YY");
-               TIMELIB_INIT;
-               TIMELIB_HAVE_DATE();
-               s->time->d = timelib_get_nr(&ptr, 2);
-               s->time->m = timelib_get_nr(&ptr, 2);
-               s->time->y = timelib_get_nr_ex(&ptr, 2, &length);
-               TIMELIB_PROCESS_YEAR(s->time->y, length);
-               TIMELIB_DEINIT;
-               return TIMELIB_DATE_FULL_POINTED;
-       }
- #line 15877 "<stdout>"
- yy717:
-       YYDEBUG(717, *YYCURSOR);
-       yyaccept = 15;
 -yy1270:
 -      YYDEBUG(1270, *YYCURSOR);
++yy1295:
++      YYDEBUG(1295, *YYCURSOR);
+       yyaccept = 0;
        yych = *(YYMARKER = ++YYCURSOR);
-       if (yych <= 'n') {
-               if (yych <= '/') goto yy548;
-               if (yych <= '9') goto yy866;
-               if (yych <= 'm') goto yy548;
+       if (yych <= 'C') {
+               if (yych <= '-') {
+                       if (yych == ')') goto yy174;
+                       if (yych <= ',') goto yy3;
+                       goto yy182;
+               } else {
+                       if (yych == '/') goto yy182;
+                       if (yych <= '@') goto yy3;
+                       goto yy179;
+               }
        } else {
-               if (yych <= 'r') {
-                       if (yych <= 'q') goto yy548;
+               if (yych <= '_') {
 -                      if (yych <= 'D') goto yy1242;
++                      if (yych <= 'D') goto yy1267;
+                       if (yych <= 'Z') goto yy179;
+                       if (yych <= '^') goto yy3;
+                       goto yy182;
                } else {
-                       if (yych <= 's') goto yy719;
-                       if (yych <= 't') goto yy720;
-                       goto yy548;
+                       if (yych <= 'c') {
+                               if (yych <= '`') goto yy3;
+                               goto yy187;
+                       } else {
 -                              if (yych <= 'd') goto yy1271;
++                              if (yych <= 'd') goto yy1296;
+                               if (yych <= 'z') goto yy187;
+                               goto yy3;
+                       }
                }
        }
- yy718:
-       YYDEBUG(718, *YYCURSOR);
-       yych = *++YYCURSOR;
-       if (yych == 'd') goto yy867;
-       goto yy56;
- yy719:
-       YYDEBUG(719, *YYCURSOR);
-       yych = *++YYCURSOR;
-       if (yych == 't') goto yy867;
-       goto yy56;
- yy720:
-       YYDEBUG(720, *YYCURSOR);
-       yych = *++YYCURSOR;
-       if (yych == 'h') goto yy867;
-       goto yy56;
- yy721:
-       YYDEBUG(721, *YYCURSOR);
-       yych = *++YYCURSOR;
-       if (yych <= '/') goto yy56;
-       if (yych <= '9') goto yy868;
-       goto yy56;
- yy722:
-       YYDEBUG(722, *YYCURSOR);
-       yyaccept = 4;
-       yych = *(YYMARKER = ++YYCURSOR);
-       if (yych == '.') goto yy721;
-       if (yych <= '/') goto yy209;
-       if (yych <= '9') goto yy866;
-       goto yy209;
- yy723:
-       YYDEBUG(723, *YYCURSOR);
-       yych = *++YYCURSOR;
-       if (yych <= '/') goto yy214;
-       if (yych <= '9') goto yy870;
-       goto yy214;
- yy724:
-       YYDEBUG(724, *YYCURSOR);
-       yych = *++YYCURSOR;
-       if (yych <= '/') goto yy56;
-       if (yych <= '9') goto yy871;
-       goto yy56;
- yy725:
-       YYDEBUG(725, *YYCURSOR);
-       yych = *++YYCURSOR;
-       if (yych <= '/') goto yy56;
-       if (yych <= '2') goto yy872;
-       if (yych <= '3') goto yy873;
-       if (yych <= '9') goto yy550;
-       goto yy56;
- yy726:
-       YYDEBUG(726, *YYCURSOR);
-       ++YYCURSOR;
-       if ((YYLIMIT - YYCURSOR) < 9) YYFILL(9);
-       yych = *YYCURSOR;
- yy727:
-       YYDEBUG(727, *YYCURSOR);
-       switch (yych) {
-       case '\t':
-       case ' ':
-       case '-':
-       case '.':       goto yy726;
-       case 'A':
-       case 'a':       goto yy577;
-       case 'D':
-       case 'd':       goto yy744;
-       case 'F':
-       case 'f':       goto yy745;
-       case 'I':       goto yy580;
-       case 'J':
-       case 'j':       goto yy582;
-       case 'M':
-       case 'm':       goto yy746;
-       case 'N':
-       case 'n':       goto yy584;
-       case 'O':
-       case 'o':       goto yy585;
-       case 'S':
-       case 's':       goto yy747;
-       case 'V':       goto yy587;
-       case 'X':       goto yy589;
-       default:        goto yy56;
-       }
- yy728:
-       YYDEBUG(728, *YYCURSOR);
-       yyaccept = 18;
-       yych = *(YYMARKER = ++YYCURSOR);
-       if (yych == '-') goto yy874;
-       if (yych <= '/') goto yy729;
-       if (yych <= '9') goto yy875;
- yy729:
-       YYDEBUG(729, *YYCURSOR);
- #line 1380 "parse_date.re"
-       {
-               int length = 0;
-               DEBUG_OUTPUT("gnudateshorter");
-               TIMELIB_INIT;
-               TIMELIB_HAVE_DATE();
-               s->time->y = timelib_get_nr_ex(&ptr, 4, &length);
-               s->time->m = timelib_get_nr(&ptr, 2);
-               s->time->d = 1;
-               TIMELIB_PROCESS_YEAR(s->time->y, length);
-               TIMELIB_DEINIT;
-               return TIMELIB_ISO_DATE;
-       }
- #line 15999 "<stdout>"
- yy730:
-       YYDEBUG(730, *YYCURSOR);
-       yyaccept = 18;
-       yych = *(YYMARKER = ++YYCURSOR);
-       if (yych == '-') goto yy874;
-       if (yych <= '/') goto yy729;
-       if (yych <= '2') goto yy875;
-       goto yy729;
- yy731:
-       YYDEBUG(731, *YYCURSOR);
-       yyaccept = 18;
 -yy1271:
 -      YYDEBUG(1271, *YYCURSOR);
++yy1296:
++      YYDEBUG(1296, *YYCURSOR);
+       yyaccept = 0;
        yych = *(YYMARKER = ++YYCURSOR);
-       if (yych == '-') goto yy874;
-       goto yy729;
- yy732:
-       YYDEBUG(732, *YYCURSOR);
-       yych = *++YYCURSOR;
-       if (yych <= 'U') {
-               if (yych == 'P') goto yy876;
-               if (yych <= 'T') goto yy56;
-               goto yy877;
-       } else {
-               if (yych <= 'p') {
-                       if (yych <= 'o') goto yy56;
-                       goto yy876;
+       if (yych <= '@') {
+               if (yych <= ',') {
+                       if (yych == ')') goto yy174;
+                       goto yy3;
                } else {
-                       if (yych == 'u') goto yy877;
-                       goto yy56;
+                       if (yych == '.') goto yy3;
+                       if (yych <= '/') goto yy182;
+                       goto yy3;
                }
-       }
- yy733:
-       YYDEBUG(733, *YYCURSOR);
-       yych = *++YYCURSOR;
-       if (yych == 'E') goto yy878;
-       if (yych == 'e') goto yy878;
-       goto yy56;
- yy734:
-       YYDEBUG(734, *YYCURSOR);
-       yych = *++YYCURSOR;
-       if (yych == 'E') goto yy879;
-       if (yych == 'e') goto yy879;
-       goto yy56;
- yy735:
-       YYDEBUG(735, *YYCURSOR);
-       yych = *++YYCURSOR;
-       if (yych <= 'U') {
-               if (yych == 'A') goto yy880;
-               if (yych <= 'T') goto yy56;
-               goto yy881;
        } else {
-               if (yych <= 'a') {
-                       if (yych <= '`') goto yy56;
-                       goto yy880;
+               if (yych <= '_') {
 -                      if (yych <= 'A') goto yy1243;
++                      if (yych <= 'A') goto yy1268;
+                       if (yych <= '^') goto yy3;
+                       goto yy182;
                } else {
-                       if (yych == 'u') goto yy881;
-                       goto yy56;
+                       if (yych <= '`') goto yy3;
 -                      if (yych <= 'a') goto yy1272;
++                      if (yych <= 'a') goto yy1297;
+                       if (yych <= 'z') goto yy188;
+                       goto yy3;
                }
        }
- yy736:
-       YYDEBUG(736, *YYCURSOR);
-       yych = *++YYCURSOR;
-       if (yych == 'A') goto yy882;
-       if (yych == 'a') goto yy882;
-       goto yy56;
- yy737:
-       YYDEBUG(737, *YYCURSOR);
-       yych = *++YYCURSOR;
-       if (yych == 'O') goto yy883;
-       if (yych == 'o') goto yy883;
-       goto yy56;
- yy738:
-       YYDEBUG(738, *YYCURSOR);
-       yych = *++YYCURSOR;
-       if (yych == 'C') goto yy884;
-       if (yych == 'c') goto yy884;
-       goto yy56;
- yy739:
-       YYDEBUG(739, *YYCURSOR);
-       yych = *++YYCURSOR;
-       if (yych == 'E') goto yy885;
-       if (yych == 'e') goto yy885;
-       goto yy56;
- yy740:
-       YYDEBUG(740, *YYCURSOR);
-       yych = *++YYCURSOR;
-       if (yych <= '/') goto yy56;
-       if (yych <= '0') goto yy772;
-       if (yych <= '4') goto yy773;
-       if (yych <= '5') goto yy774;
-       goto yy56;
- yy741:
-       YYDEBUG(741, *YYCURSOR);
-       yych = *++YYCURSOR;
-       if (yych <= '/') goto yy56;
-       if (yych <= '0') goto yy886;
-       if (yych <= '9') goto yy887;
-       goto yy56;
- yy742:
-       YYDEBUG(742, *YYCURSOR);
-       yych = *++YYCURSOR;
-       if (yych <= '/') goto yy56;
-       if (yych <= '9') goto yy887;
-       goto yy56;
- yy743:
-       YYDEBUG(743, *YYCURSOR);
-       yych = *++YYCURSOR;
-       if (yych <= '/') goto yy56;
-       if (yych <= '5') goto yy887;
-       if (yych <= '6') goto yy888;
-       goto yy56;
- yy744:
-       YYDEBUG(744, *YYCURSOR);
-       yych = *++YYCURSOR;
-       if (yych == 'E') goto yy762;
-       if (yych == 'e') goto yy762;
-       goto yy56;
- yy745:
-       YYDEBUG(745, *YYCURSOR);
-       yych = *++YYCURSOR;
-       if (yych == 'E') goto yy763;
-       if (yych == 'e') goto yy763;
-       goto yy56;
- yy746:
-       YYDEBUG(746, *YYCURSOR);
-       yych = *++YYCURSOR;
-       if (yych == 'A') goto yy768;
-       if (yych == 'a') goto yy768;
-       goto yy56;
- yy747:
-       YYDEBUG(747, *YYCURSOR);
-       yych = *++YYCURSOR;
-       if (yych == 'E') goto yy889;
-       if (yych == 'e') goto yy889;
-       goto yy56;
- yy748:
-       YYDEBUG(748, *YYCURSOR);
-       yych = *++YYCURSOR;
-       if (yych <= '.') goto yy56;
-       if (yych <= '/') goto yy890;
-       if (yych <= '9') goto yy891;
-       goto yy56;
- yy749:
-       YYDEBUG(749, *YYCURSOR);
-       yych = *++YYCURSOR;
-       if (yych <= '.') goto yy56;
-       if (yych <= '/') goto yy890;
-       if (yych <= '2') goto yy891;
-       goto yy56;
- yy750:
-       YYDEBUG(750, *YYCURSOR);
 -yy1272:
 -      YYDEBUG(1272, *YYCURSOR);
++yy1297:
++      YYDEBUG(1297, *YYCURSOR);
        yych = *++YYCURSOR;
-       if (yych == '/') goto yy890;
-       goto yy56;
- yy751:
-       YYDEBUG(751, *YYCURSOR);
-       yyaccept = 19;
+       if (yych == 'Y') goto yy207;
+       if (yych == 'y') goto yy220;
+       goto yy189;
 -yy1273:
 -      YYDEBUG(1273, *YYCURSOR);
++yy1298:
++      YYDEBUG(1298, *YYCURSOR);
+       yyaccept = 0;
        yych = *(YYMARKER = ++YYCURSOR);
-       if (yych <= 'V') {
-               if (yych <= 'C') {
-                       if (yych <= '/') {
-                               if (yych <= '\t') {
-                                       if (yych >= '\t') goto yy186;
-                               } else {
-                                       if (yych == ' ') goto yy186;
-                               }
-                       } else {
-                               if (yych <= '2') {
-                                       if (yych <= '0') goto yy892;
-                                       goto yy893;
-                               } else {
-                                       if (yych <= '3') goto yy895;
-                                       if (yych <= '9') goto yy896;
-                               }
-                       }
+       if (yych <= 'N') {
+               if (yych <= '-') {
+                       if (yych == ')') goto yy174;
+                       if (yych <= ',') goto yy3;
+                       goto yy182;
                } else {
-                       if (yych <= 'H') {
-                               if (yych <= 'E') {
-                                       if (yych <= 'D') goto yy186;
-                               } else {
-                                       if (yych != 'G') goto yy186;
-                               }
-                       } else {
-                               if (yych <= 'M') {
-                                       if (yych >= 'M') goto yy186;
-                               } else {
-                                       if (yych <= 'R') goto yy752;
-                                       if (yych <= 'U') goto yy186;
-                               }
-                       }
+                       if (yych == '/') goto yy182;
+                       if (yych <= '@') goto yy3;
+                       goto yy177;
                }
        } else {
-               if (yych <= 'l') {
-                       if (yych <= 'd') {
-                               if (yych <= 'X') {
-                                       if (yych <= 'W') goto yy186;
-                               } else {
-                                       if (yych <= 'Y') goto yy186;
-                                       if (yych >= 'd') goto yy186;
-                               }
-                       } else {
-                               if (yych <= 'f') {
-                                       if (yych >= 'f') goto yy186;
-                               } else {
-                                       if (yych == 'h') goto yy186;
-                               }
-                       }
+               if (yych <= '_') {
 -                      if (yych <= 'O') goto yy1255;
++                      if (yych <= 'O') goto yy1280;
+                       if (yych <= 'Z') goto yy177;
+                       if (yych <= '^') goto yy3;
+                       goto yy182;
                } else {
-                       if (yych <= 'w') {
-                               if (yych <= 'r') {
-                                       if (yych <= 'm') goto yy186;
-                               } else {
-                                       if (yych != 'v') goto yy186;
-                               }
+                       if (yych <= 'n') {
+                               if (yych <= '`') goto yy3;
+                               goto yy185;
                        } else {
-                               if (yych <= 'y') {
-                                       if (yych >= 'y') goto yy186;
-                               } else {
-                                       if (yych == 0xC2) goto yy186;
-                               }
-                       }
-               }
-       }
- yy752:
-       YYDEBUG(752, *YYCURSOR);
- #line 1306 "parse_date.re"
-       {
-               int tz_not_found;
-               DEBUG_OUTPUT("iso8601nocolon");
-               TIMELIB_INIT;
-               TIMELIB_HAVE_TIME();
-               s->time->h = timelib_get_nr(&ptr, 2);
-               s->time->i = timelib_get_nr(&ptr, 2);
-               s->time->s = timelib_get_nr(&ptr, 2);
-               if (*ptr != '\0') {
-                       s->time->z = timelib_parse_zone(&ptr, &s->time->dst, s->time, &tz_not_found, s->tzdb, tz_get_wrapper);
-                       if (tz_not_found) {
-                               add_error(s, TIMELIB_ERR_TZID_NOT_FOUND, "The timezone could not be found in the database");
 -                              if (yych <= 'o') goto yy1284;
++                              if (yych <= 'o') goto yy1309;
+                               if (yych <= 'z') goto yy185;
+                               goto yy3;
                        }
                }
-               TIMELIB_DEINIT;
-               return TIMELIB_ISO_NOCOLON;
        }
- #line 16243 "<stdout>"
- yy753:
-       YYDEBUG(753, *YYCURSOR);
-       yyaccept = 19;
 -yy1274:
 -      YYDEBUG(1274, *YYCURSOR);
++yy1299:
++      YYDEBUG(1299, *YYCURSOR);
+       yyaccept = 0;
        yych = *(YYMARKER = ++YYCURSOR);
-       if (yych <= 'V') {
-               if (yych <= 'C') {
-                       if (yych <= ' ') {
-                               if (yych == '\t') goto yy186;
-                               if (yych <= 0x1F) goto yy752;
-                               goto yy186;
-                       } else {
-                               if (yych <= '2') {
-                                       if (yych <= '/') goto yy752;
-                                       goto yy893;
-                               } else {
-                                       if (yych <= '3') goto yy895;
-                                       if (yych <= '9') goto yy896;
-                                       goto yy752;
-                               }
-                       }
+       if (yych <= 'D') {
+               if (yych <= '-') {
+                       if (yych == ')') goto yy174;
+                       if (yych <= ',') goto yy3;
+                       goto yy182;
                } else {
-                       if (yych <= 'H') {
-                               if (yych <= 'E') {
-                                       if (yych <= 'D') goto yy186;
-                                       goto yy752;
-                               } else {
-                                       if (yych == 'G') goto yy752;
-                                       goto yy186;
-                               }
-                       } else {
-                               if (yych <= 'M') {
-                                       if (yych <= 'L') goto yy752;
-                                       goto yy186;
-                               } else {
-                                       if (yych <= 'R') goto yy752;
-                                       if (yych <= 'U') goto yy186;
-                                       goto yy752;
-                               }
-                       }
+                       if (yych == '/') goto yy182;
+                       if (yych <= '@') goto yy3;
+                       goto yy177;
                }
        } else {
-               if (yych <= 'l') {
-                       if (yych <= 'd') {
-                               if (yych <= 'X') {
-                                       if (yych <= 'W') goto yy186;
-                                       goto yy752;
-                               } else {
-                                       if (yych <= 'Y') goto yy186;
-                                       if (yych <= 'c') goto yy752;
-                                       goto yy186;
-                               }
-                       } else {
-                               if (yych <= 'f') {
-                                       if (yych <= 'e') goto yy752;
-                                       goto yy186;
-                               } else {
-                                       if (yych == 'h') goto yy186;
-                                       goto yy752;
-                               }
-                       }
+               if (yych <= '_') {
 -                      if (yych <= 'E') goto yy1252;
++                      if (yych <= 'E') goto yy1277;
+                       if (yych <= 'Z') goto yy177;
+                       if (yych <= '^') goto yy3;
+                       goto yy182;
                } else {
-                       if (yych <= 'w') {
-                               if (yych <= 'r') {
-                                       if (yych <= 'm') goto yy186;
-                                       goto yy752;
-                               } else {
-                                       if (yych == 'v') goto yy752;
-                                       goto yy186;
-                               }
+                       if (yych <= 'd') {
+                               if (yych <= '`') goto yy3;
+                               goto yy185;
                        } else {
-                               if (yych <= 'y') {
-                                       if (yych <= 'x') goto yy752;
-                                       goto yy186;
-                               } else {
-                                       if (yych == 0xC2) goto yy186;
-                                       goto yy752;
-                               }
 -                              if (yych <= 'e') goto yy1281;
++                              if (yych <= 'e') goto yy1306;
+                               if (yych <= 'z') goto yy185;
+                               goto yy3;
                        }
                }
        }
- yy754:
-       YYDEBUG(754, *YYCURSOR);
-       yyaccept = 19;
 -yy1275:
 -      YYDEBUG(1275, *YYCURSOR);
++yy1300:
++      YYDEBUG(1300, *YYCURSOR);
+       yyaccept = 5;
        yych = *(YYMARKER = ++YYCURSOR);
-       if (yych <= 'W') {
-               if (yych <= 'E') {
-                       if (yych <= ' ') {
-                               if (yych == '\t') goto yy186;
-                               if (yych <= 0x1F) goto yy752;
-                               goto yy186;
+       if (yych <= '9') {
+               if (yych <= '(') {
+                       if (yych <= '\t') {
+                               if (yych <= 0x08) goto yy228;
+                               goto yy230;
                        } else {
-                               if (yych <= '9') {
-                                       if (yych <= '/') goto yy752;
-                                       goto yy896;
-                               } else {
-                                       if (yych == 'D') goto yy186;
-                                       goto yy752;
-                               }
+                               if (yych == ' ') goto yy230;
+                               goto yy228;
                        }
                } else {
-                       if (yych <= 'L') {
-                               if (yych == 'G') goto yy752;
-                               if (yych <= 'H') goto yy186;
-                               goto yy752;
+                       if (yych <= '-') {
+                               if (yych <= ')') goto yy174;
+                               if (yych <= ',') goto yy228;
+                               goto yy346;
                        } else {
-                               if (yych <= 'R') {
-                                       if (yych <= 'M') goto yy186;
-                                       goto yy752;
-                               } else {
-                                       if (yych == 'V') goto yy752;
-                                       goto yy186;
-                               }
+                               if (yych == '/') goto yy182;
+                               goto yy230;
                        }
                }
        } else {
-               if (yych <= 'l') {
-                       if (yych <= 'd') {
-                               if (yych == 'Y') goto yy186;
-                               if (yych <= 'c') goto yy752;
-                               goto yy186;
+               if (yych <= '^') {
+                       if (yych <= 'S') {
+                               if (yych <= '@') goto yy228;
+                               goto yy177;
                        } else {
-                               if (yych <= 'f') {
-                                       if (yych <= 'e') goto yy752;
-                                       goto yy186;
-                               } else {
-                                       if (yych == 'h') goto yy186;
-                                       goto yy752;
-                               }
 -                              if (yych <= 'T') goto yy1247;
++                              if (yych <= 'T') goto yy1272;
+                               if (yych <= 'Z') goto yy177;
+                               goto yy228;
                        }
                } else {
-                       if (yych <= 'w') {
-                               if (yych <= 'r') {
-                                       if (yych <= 'm') goto yy186;
-                                       goto yy752;
-                               } else {
-                                       if (yych == 'v') goto yy752;
-                                       goto yy186;
-                               }
+                       if (yych <= 's') {
+                               if (yych <= '_') goto yy182;
+                               if (yych <= '`') goto yy228;
+                               goto yy185;
                        } else {
-                               if (yych <= 'y') {
-                                       if (yych <= 'x') goto yy752;
-                                       goto yy186;
-                               } else {
-                                       if (yych == 0xC2) goto yy186;
-                                       goto yy752;
-                               }
 -                              if (yych <= 't') goto yy1276;
++                              if (yych <= 't') goto yy1301;
+                               if (yych <= 'z') goto yy185;
+                               goto yy228;
                        }
                }
        }
- yy755:
-       YYDEBUG(755, *YYCURSOR);
-       yyaccept = 19;
 -yy1276:
 -      YYDEBUG(1276, *YYCURSOR);
++yy1301:
++      YYDEBUG(1301, *YYCURSOR);
+       yyaccept = 5;
        yych = *(YYMARKER = ++YYCURSOR);
-       if (yych <= 'W') {
-               if (yych <= 'D') {
-                       if (yych <= ' ') {
-                               if (yych == '\t') goto yy186;
-                               if (yych <= 0x1F) goto yy752;
-                               goto yy186;
+       if (yych <= '9') {
+               if (yych <= '(') {
+                       if (yych <= '\t') {
+                               if (yych <= 0x08) goto yy228;
+                               goto yy230;
                        } else {
-                               if (yych <= '6') {
-                                       if (yych <= '/') goto yy752;
-                                       goto yy896;
-                               } else {
-                                       if (yych <= '9') goto yy897;
-                                       if (yych <= 'C') goto yy752;
-                                       goto yy186;
-                               }
+                               if (yych == ' ') goto yy230;
+                               goto yy228;
                        }
                } else {
-                       if (yych <= 'L') {
-                               if (yych <= 'F') {
-                                       if (yych <= 'E') goto yy752;
-                                       goto yy186;
-                               } else {
-                                       if (yych == 'H') goto yy186;
-                                       goto yy752;
-                               }
+                       if (yych <= '-') {
+                               if (yych <= ')') goto yy174;
+                               if (yych <= ',') goto yy228;
+                               goto yy346;
                        } else {
-                               if (yych <= 'R') {
-                                       if (yych <= 'M') goto yy186;
-                                       goto yy752;
-                               } else {
-                                       if (yych == 'V') goto yy752;
-                                       goto yy186;
-                               }
+                               if (yych == '/') goto yy182;
+                               goto yy230;
                        }
                }
        } else {
-               if (yych <= 'l') {
-                       if (yych <= 'd') {
-                               if (yych == 'Y') goto yy186;
-                               if (yych <= 'c') goto yy752;
-                               goto yy186;
+               if (yych <= '^') {
+                       if (yych <= 'D') {
+                               if (yych <= '@') goto yy228;
+                               goto yy178;
                        } else {
-                               if (yych <= 'f') {
-                                       if (yych <= 'e') goto yy752;
-                                       goto yy186;
-                               } else {
-                                       if (yych == 'h') goto yy186;
-                                       goto yy752;
-                               }
 -                              if (yych <= 'E') goto yy1248;
++                              if (yych <= 'E') goto yy1273;
+                               if (yych <= 'Z') goto yy178;
+                               goto yy228;
                        }
                } else {
-                       if (yych <= 'w') {
-                               if (yych <= 'r') {
-                                       if (yych <= 'm') goto yy186;
-                                       goto yy752;
-                               } else {
-                                       if (yych == 'v') goto yy752;
-                                       goto yy186;
-                               }
+                       if (yych <= 'd') {
+                               if (yych <= '_') goto yy182;
+                               if (yych <= '`') goto yy228;
+                               goto yy186;
                        } else {
-                               if (yych <= 'y') {
-                                       if (yych <= 'x') goto yy752;
-                                       goto yy186;
-                               } else {
-                                       if (yych == 0xC2) goto yy186;
-                                       goto yy752;
-                               }
 -                              if (yych <= 'e') goto yy1277;
++                              if (yych <= 'e') goto yy1302;
+                               if (yych <= 'z') goto yy186;
+                               goto yy228;
                        }
                }
        }
- yy756:
-       YYDEBUG(756, *YYCURSOR);
-       yyaccept = 19;
 -yy1277:
 -      YYDEBUG(1277, *YYCURSOR);
++yy1302:
++      YYDEBUG(1302, *YYCURSOR);
+       yyaccept = 0;
        yych = *(YYMARKER = ++YYCURSOR);
-       if (yych <= 'W') {
-               if (yych <= 'E') {
-                       if (yych <= ' ') {
-                               if (yych == '\t') goto yy186;
-                               if (yych <= 0x1F) goto yy752;
-                               goto yy186;
-                       } else {
-                               if (yych <= '9') {
-                                       if (yych <= '/') goto yy752;
-                                       goto yy897;
-                               } else {
-                                       if (yych == 'D') goto yy186;
-                                       goto yy752;
-                               }
-                       }
+       if (yych <= 'L') {
+               if (yych <= '-') {
+                       if (yych == ')') goto yy174;
+                       if (yych <= ',') goto yy3;
+                       goto yy182;
                } else {
-                       if (yych <= 'L') {
-                               if (yych == 'G') goto yy752;
-                               if (yych <= 'H') goto yy186;
-                               goto yy752;
+                       if (yych == '/') goto yy182;
+                       if (yych <= '@') goto yy3;
+                       goto yy179;
+               }
+       } else {
+               if (yych <= '_') {
 -                      if (yych <= 'M') goto yy1249;
++                      if (yych <= 'M') goto yy1274;
+                       if (yych <= 'Z') goto yy179;
+                       if (yych <= '^') goto yy3;
+                       goto yy182;
+               } else {
+                       if (yych <= 'l') {
+                               if (yych <= '`') goto yy3;
+                               goto yy187;
                        } else {
-                               if (yych <= 'R') {
-                                       if (yych <= 'M') goto yy186;
-                                       goto yy752;
-                               } else {
-                                       if (yych == 'V') goto yy752;
-                                       goto yy186;
-                               }
 -                              if (yych <= 'm') goto yy1278;
++                              if (yych <= 'm') goto yy1303;
+                               if (yych <= 'z') goto yy187;
+                               goto yy3;
                        }
                }
 -yy1278:
 -      YYDEBUG(1278, *YYCURSOR);
+       }
++yy1303:
++      YYDEBUG(1303, *YYCURSOR);
+       yyaccept = 0;
+       yych = *(YYMARKER = ++YYCURSOR);
+       if (yych <= 'A') {
+               if (yych <= ',') {
+                       if (yych == ')') goto yy174;
+                       goto yy3;
+               } else {
+                       if (yych == '.') goto yy3;
+                       if (yych <= '/') goto yy182;
+                       goto yy3;
+               }
        } else {
-               if (yych <= 'l') {
-                       if (yych <= 'd') {
-                               if (yych == 'Y') goto yy186;
-                               if (yych <= 'c') goto yy752;
+               if (yych <= '`') {
 -                      if (yych <= 'B') goto yy1250;
++                      if (yych <= 'B') goto yy1275;
+                       if (yych == '_') goto yy182;
+                       goto yy3;
+               } else {
 -                      if (yych == 'b') goto yy1279;
++                      if (yych == 'b') goto yy1304;
+                       if (yych <= 'z') goto yy188;
+                       goto yy3;
+               }
+       }
 -yy1279:
 -      YYDEBUG(1279, *YYCURSOR);
++yy1304:
++      YYDEBUG(1304, *YYCURSOR);
+       yych = *++YYCURSOR;
 -      if (yych == 'E') goto yy1251;
++      if (yych == 'E') goto yy1276;
+       if (yych != 'e') goto yy189;
 -      YYDEBUG(1280, *YYCURSOR);
++      YYDEBUG(1305, *YYCURSOR);
+       yych = *++YYCURSOR;
+       if (yych == 'R') goto yy239;
+       if (yych == 'r') goto yy351;
+       goto yy189;
 -yy1281:
 -      YYDEBUG(1281, *YYCURSOR);
++yy1306:
++      YYDEBUG(1306, *YYCURSOR);
+       yyaccept = 0;
+       yych = *(YYMARKER = ++YYCURSOR);
+       if (yych <= 'M') {
+               if (yych <= '-') {
+                       if (yych == ')') goto yy174;
+                       if (yych <= ',') goto yy3;
+                       goto yy182;
+               } else {
+                       if (yych == '/') goto yy182;
+                       if (yych <= '@') goto yy3;
+                       goto yy178;
+               }
+       } else {
+               if (yych <= '_') {
 -                      if (yych <= 'N') goto yy1253;
++                      if (yych <= 'N') goto yy1278;
+                       if (yych <= 'Z') goto yy178;
+                       if (yych <= '^') goto yy3;
+                       goto yy182;
+               } else {
+                       if (yych <= 'm') {
+                               if (yych <= '`') goto yy3;
                                goto yy186;
                        } else {
-                               if (yych <= 'f') {
-                                       if (yych <= 'e') goto yy752;
-                                       goto yy186;
-                               } else {
-                                       if (yych == 'h') goto yy186;
-                                       goto yy752;
-                               }
 -                              if (yych <= 'n') goto yy1282;
++                              if (yych <= 'n') goto yy1307;
+                               if (yych <= 'z') goto yy186;
+                               goto yy3;
                        }
 -yy1282:
 -      YYDEBUG(1282, *YYCURSOR);
+               }
+       }
++yy1307:
++      YYDEBUG(1307, *YYCURSOR);
+       yyaccept = 0;
+       yych = *(YYMARKER = ++YYCURSOR);
+       if (yych <= 'S') {
+               if (yych <= '-') {
+                       if (yych == ')') goto yy174;
+                       if (yych <= ',') goto yy3;
+                       goto yy182;
                } else {
-                       if (yych <= 'w') {
-                               if (yych <= 'r') {
-                                       if (yych <= 'm') goto yy186;
-                                       goto yy752;
-                               } else {
-                                       if (yych == 'v') goto yy752;
-                                       goto yy186;
-                               }
+                       if (yych == '/') goto yy182;
+                       if (yych <= '@') goto yy3;
+                       goto yy179;
+               }
+       } else {
+               if (yych <= '_') {
 -                      if (yych <= 'T') goto yy1254;
++                      if (yych <= 'T') goto yy1279;
+                       if (yych <= 'Z') goto yy179;
+                       if (yych <= '^') goto yy3;
+                       goto yy182;
+               } else {
+                       if (yych <= 's') {
+                               if (yych <= '`') goto yy3;
+                               goto yy187;
                        } else {
-                               if (yych <= 'y') {
-                                       if (yych <= 'x') goto yy752;
-                                       goto yy186;
-                               } else {
-                                       if (yych == 0xC2) goto yy186;
-                                       goto yy752;
-                               }
 -                              if (yych <= 't') goto yy1283;
++                              if (yych <= 't') goto yy1308;
+                               if (yych <= 'z') goto yy187;
+                               goto yy3;
                        }
                }
        }
- yy757:
-       YYDEBUG(757, *YYCURSOR);
-       yych = *++YYCURSOR;
-       if (yych <= '/') goto yy186;
-       if (yych <= '9') goto yy897;
-       goto yy186;
- yy758:
-       YYDEBUG(758, *YYCURSOR);
-       yych = *++YYCURSOR;
-       if (yych <= '/') goto yy56;
-       if (yych <= '9') goto yy898;
-       goto yy56;
- yy759:
-       YYDEBUG(759, *YYCURSOR);
-       yych = *++YYCURSOR;
-       if (yych <= '/') goto yy56;
-       if (yych <= '2') goto yy898;
-       goto yy56;
- yy760:
-       YYDEBUG(760, *YYCURSOR);
-       yych = *++YYCURSOR;
-       if (yych == 'R') goto yy899;
-       if (yych == 'r') goto yy899;
-       goto yy56;
- yy761:
-       YYDEBUG(761, *YYCURSOR);
-       yych = *++YYCURSOR;
-       if (yych == 'G') goto yy900;
-       if (yych == 'g') goto yy900;
-       goto yy56;
- yy762:
-       YYDEBUG(762, *YYCURSOR);
-       yych = *++YYCURSOR;
-       if (yych == 'C') goto yy901;
-       if (yych == 'c') goto yy901;
-       goto yy56;
- yy763:
-       YYDEBUG(763, *YYCURSOR);
-       yych = *++YYCURSOR;
-       if (yych == 'B') goto yy902;
-       if (yych == 'b') goto yy902;
-       goto yy56;
- yy764:
-       YYDEBUG(764, *YYCURSOR);
-       yych = *++YYCURSOR;
-       if (yych != 'I') goto yy581;
- yy765:
-       YYDEBUG(765, *YYCURSOR);
-       ++YYCURSOR;
-       goto yy581;
- yy766:
-       YYDEBUG(766, *YYCURSOR);
-       yych = *++YYCURSOR;
-       if (yych == 'N') goto yy903;
-       if (yych == 'n') goto yy903;
-       goto yy56;
- yy767:
-       YYDEBUG(767, *YYCURSOR);
-       yych = *++YYCURSOR;
-       if (yych <= 'N') {
-               if (yych == 'L') goto yy904;
-               if (yych <= 'M') goto yy56;
-               goto yy905;
 -yy1283:
 -      YYDEBUG(1283, *YYCURSOR);
++yy1308:
++      YYDEBUG(1308, *YYCURSOR);
+       yyaccept = 0;
+       yych = *(YYMARKER = ++YYCURSOR);
+       if (yych <= 'G') {
+               if (yych <= ',') {
+                       if (yych == ')') goto yy174;
+                       goto yy3;
+               } else {
+                       if (yych == '.') goto yy3;
+                       if (yych <= '/') goto yy182;
+                       goto yy3;
+               }
+       } else {
+               if (yych <= '`') {
 -                      if (yych <= 'H') goto yy1205;
++                      if (yych <= 'H') goto yy1230;
+                       if (yych == '_') goto yy182;
+                       goto yy3;
+               } else {
 -                      if (yych == 'h') goto yy1223;
++                      if (yych == 'h') goto yy1248;
+                       if (yych <= 'z') goto yy188;
+                       goto yy3;
+               }
+       }
 -yy1284:
 -      YYDEBUG(1284, *YYCURSOR);
++yy1309:
++      YYDEBUG(1309, *YYCURSOR);
+       yyaccept = 0;
+       yych = *(YYMARKER = ++YYCURSOR);
+       if (yych <= 'M') {
+               if (yych <= '-') {
+                       if (yych == ')') goto yy174;
+                       if (yych <= ',') goto yy3;
+                       goto yy182;
+               } else {
+                       if (yych == '/') goto yy182;
+                       if (yych <= '@') goto yy3;
+                       goto yy178;
+               }
        } else {
-               if (yych <= 'l') {
-                       if (yych <= 'k') goto yy56;
-                       goto yy904;
+               if (yych <= '_') {
 -                      if (yych <= 'N') goto yy1256;
++                      if (yych <= 'N') goto yy1281;
+                       if (yych <= 'Z') goto yy178;
+                       if (yych <= '^') goto yy3;
+                       goto yy182;
                } else {
-                       if (yych == 'n') goto yy905;
-                       goto yy56;
+                       if (yych <= 'm') {
+                               if (yych <= '`') goto yy3;
+                               goto yy186;
+                       } else {
 -                              if (yych <= 'n') goto yy1285;
++                              if (yych <= 'n') goto yy1310;
+                               if (yych <= 'z') goto yy186;
+                               goto yy3;
+                       }
                }
        }
- yy768:
-       YYDEBUG(768, *YYCURSOR);
-       yych = *++YYCURSOR;
-       if (yych <= 'Y') {
-               if (yych == 'R') goto yy906;
-               if (yych <= 'X') goto yy56;
-               goto yy765;
 -yy1285:
 -      YYDEBUG(1285, *YYCURSOR);
++yy1310:
++      YYDEBUG(1310, *YYCURSOR);
+       yyaccept = 0;
+       yych = *(YYMARKER = ++YYCURSOR);
+       if (yych <= 'C') {
+               if (yych <= '-') {
+                       if (yych == ')') goto yy174;
+                       if (yych <= ',') goto yy3;
+                       goto yy182;
+               } else {
+                       if (yych == '/') goto yy182;
+                       if (yych <= '@') goto yy3;
+                       goto yy179;
+               }
        } else {
-               if (yych <= 'r') {
-                       if (yych <= 'q') goto yy56;
-                       goto yy906;
+               if (yych <= '_') {
 -                      if (yych <= 'D') goto yy1215;
++                      if (yych <= 'D') goto yy1240;
+                       if (yych <= 'Z') goto yy179;
+                       if (yych <= '^') goto yy3;
+                       goto yy182;
                } else {
-                       if (yych == 'y') goto yy765;
-                       goto yy56;
+                       if (yych <= 'c') {
+                               if (yych <= '`') goto yy3;
+                               goto yy187;
+                       } else {
 -                              if (yych <= 'd') goto yy1227;
++                              if (yych <= 'd') goto yy1252;
+                               if (yych <= 'z') goto yy187;
+                               goto yy3;
+                       }
                }
        }
- yy769:
-       YYDEBUG(769, *YYCURSOR);
-       yych = *++YYCURSOR;
-       if (yych == 'V') goto yy901;
-       if (yych == 'v') goto yy901;
-       goto yy56;
- yy770:
-       YYDEBUG(770, *YYCURSOR);
-       yych = *++YYCURSOR;
-       if (yych == 'T') goto yy907;
-       if (yych == 't') goto yy907;
-       goto yy56;
- yy771:
-       YYDEBUG(771, *YYCURSOR);
 -yy1286:
 -      YYDEBUG(1286, *YYCURSOR);
++yy1311:
++      YYDEBUG(1311, *YYCURSOR);
        yych = *++YYCURSOR;
-       if (yych <= 'P') {
-               if (yych == 'C') goto yy426;
-               if (yych <= 'O') goto yy56;
-               goto yy908;
+       if (yych <= 'C') {
+               if (yych <= ')') {
+                       if (yych <= '(') goto yy3;
+                       goto yy174;
+               } else {
+                       if (yych <= '@') goto yy3;
+                       if (yych <= 'B') goto yy176;
+               }
        } else {
-               if (yych <= 'c') {
-                       if (yych <= 'b') goto yy56;
-                       goto yy426;
+               if (yych <= 'b') {
+                       if (yych <= 'Z') goto yy176;
+                       if (yych <= '`') goto yy3;
+                       goto yy176;
                } else {
-                       if (yych == 'p') goto yy908;
-                       goto yy56;
 -                      if (yych <= 'c') goto yy1287;
++                      if (yych <= 'c') goto yy1312;
+                       if (yych <= 'z') goto yy176;
+                       goto yy3;
                }
        }
- yy772:
-       YYDEBUG(772, *YYCURSOR);
-       yych = *++YYCURSOR;
-       if (yych <= '0') goto yy56;
-       if (yych <= '9') goto yy909;
-       goto yy56;
- yy773:
-       YYDEBUG(773, *YYCURSOR);
-       yych = *++YYCURSOR;
-       if (yych <= '/') goto yy56;
-       if (yych <= '9') goto yy909;
-       goto yy56;
- yy774:
-       YYDEBUG(774, *YYCURSOR);
 -yy1287:
 -      YYDEBUG(1287, *YYCURSOR);
++yy1312:
++      YYDEBUG(1312, *YYCURSOR);
        yych = *++YYCURSOR;
-       if (yych <= '/') goto yy56;
-       if (yych <= '3') goto yy909;
-       goto yy56;
- yy775:
-       YYDEBUG(775, *YYCURSOR);
-       yych = *++YYCURSOR;
-       if (yych <= '2') {
-               if (yych <= '/') goto yy186;
-               if (yych <= '0') goto yy892;
-               goto yy893;
+       if (yych <= 'K') {
+               if (yych <= ')') {
+                       if (yych <= '(') goto yy3;
+                       goto yy174;
+               } else {
+                       if (yych <= '@') goto yy3;
+                       if (yych <= 'J') goto yy177;
+               }
        } else {
-               if (yych <= '3') goto yy895;
-               if (yych <= '9') goto yy896;
-               goto yy186;
+               if (yych <= 'j') {
+                       if (yych <= 'Z') goto yy177;
+                       if (yych <= '`') goto yy3;
+                       goto yy177;
+               } else {
 -                      if (yych <= 'k') goto yy1288;
++                      if (yych <= 'k') goto yy1313;
+                       if (yych <= 'z') goto yy177;
+                       goto yy3;
+               }
        }
- yy776:
-       YYDEBUG(776, *YYCURSOR);
-       yych = *++YYCURSOR;
-       if (yych <= '/') goto yy186;
-       if (yych <= '2') goto yy893;
-       if (yych <= '3') goto yy895;
-       if (yych <= '9') goto yy896;
-       goto yy186;
- yy777:
-       YYDEBUG(777, *YYCURSOR);
-       yych = *++YYCURSOR;
-       if (yych <= '/') goto yy186;
-       if (yych <= '9') goto yy896;
-       goto yy186;
- yy778:
-       YYDEBUG(778, *YYCURSOR);
-       yych = *++YYCURSOR;
-       if (yych <= '/') goto yy186;
-       if (yych <= '6') goto yy896;
-       if (yych <= '9') goto yy897;
-       goto yy186;
- yy779:
-       YYDEBUG(779, *YYCURSOR);
-       yych = *++YYCURSOR;
-       if (yych == 'T') goto yy243;
-       if (yych == 't') goto yy243;
-       goto yy56;
- yy780:
-       YYDEBUG(780, *YYCURSOR);
-       yych = *++YYCURSOR;
-       if (yych == 'N') goto yy781;
-       if (yych != 'n') goto yy56;
- yy781:
-       YYDEBUG(781, *YYCURSOR);
-       yych = *++YYCURSOR;
-       if (yych == 'I') goto yy911;
-       if (yych == 'i') goto yy911;
-       goto yy56;
- yy782:
-       YYDEBUG(782, *YYCURSOR);
-       yych = *++YYCURSOR;
-       if (yych == 'Y') goto yy596;
-       if (yych == 'y') goto yy596;
-       goto yy56;
- yy783:
-       YYDEBUG(783, *YYCURSOR);
-       ++YYCURSOR;
-       goto yy241;
- yy784:
-       YYDEBUG(784, *YYCURSOR);
-       yych = *++YYCURSOR;
-       if (yych == 'R') goto yy912;
-       if (yych == 'r') goto yy912;
-       goto yy56;
- yy785:
-       YYDEBUG(785, *YYCURSOR);
 -yy1288:
 -      YYDEBUG(1288, *YYCURSOR);
++yy1313:
++      YYDEBUG(1313, *YYCURSOR);
+       yyaccept = 0;
+       yych = *(YYMARKER = ++YYCURSOR);
+       if (yych <= ')') {
 -              if (yych == ' ') goto yy1289;
++              if (yych == ' ') goto yy1314;
+               if (yych <= '(') goto yy3;
+               goto yy174;
+       } else {
+               if (yych <= 'Z') {
+                       if (yych <= '@') goto yy3;
+                       goto yy178;
+               } else {
+                       if (yych <= '`') goto yy3;
+                       if (yych <= 'z') goto yy178;
+                       goto yy3;
+               }
+       }
 -yy1289:
 -      YYDEBUG(1289, *YYCURSOR);
++yy1314:
++      YYDEBUG(1314, *YYCURSOR);
        yych = *++YYCURSOR;
-       if (yych == 'S') goto yy913;
-       if (yych == 's') goto yy913;
-       goto yy56;
- yy786:
-       YYDEBUG(786, *YYCURSOR);
 -      if (yych == 'O') goto yy1290;
++      if (yych == 'O') goto yy1315;
+       if (yych != 'o') goto yy55;
 -yy1290:
 -      YYDEBUG(1290, *YYCURSOR);
++yy1315:
++      YYDEBUG(1315, *YYCURSOR);
        yych = *++YYCURSOR;
-       if (yych == 'E') goto yy408;
-       if (yych == 'e') goto yy408;
-       goto yy56;
- yy787:
-       YYDEBUG(787, *YYCURSOR);
 -      if (yych == 'F') goto yy1291;
++      if (yych == 'F') goto yy1316;
+       if (yych != 'f') goto yy55;
 -yy1291:
 -      YYDEBUG(1291, *YYCURSOR);
++yy1316:
++      YYDEBUG(1316, *YYCURSOR);
        yych = *++YYCURSOR;
-       if (yych == 'E') goto yy914;
-       if (yych == 'e') goto yy914;
-       goto yy56;
- yy788:
-       YYDEBUG(788, *YYCURSOR);
+       if (yych != ' ') goto yy55;
 -      YYDEBUG(1292, *YYCURSOR);
++      YYDEBUG(1317, *YYCURSOR);
        yych = *++YYCURSOR;
-       if (yych == 'D') goto yy408;
-       if (yych == 'd') goto yy408;
-       goto yy56;
- yy789:
-       YYDEBUG(789, *YYCURSOR);
-       yyaccept = 4;
+       if (yych <= '/') goto yy55;
 -      if (yych <= '1') goto yy1293;
 -      if (yych <= '2') goto yy1295;
 -      if (yych <= '9') goto yy1296;
++      if (yych <= '1') goto yy1318;
++      if (yych <= '2') goto yy1320;
++      if (yych <= '9') goto yy1321;
+       goto yy55;
 -yy1293:
 -      YYDEBUG(1293, *YYCURSOR);
++yy1318:
++      YYDEBUG(1318, *YYCURSOR);
+       yyaccept = 27;
        yych = *(YYMARKER = ++YYCURSOR);
-       if (yych <= '9') {
-               if (yych <= ' ') {
-                       if (yych == '\t') goto yy620;
-                       if (yych <= 0x1F) goto yy209;
-                       goto yy620;
+       if (yych <= '@') {
+               if (yych <= 0x1F) {
 -                      if (yych == '\t') goto yy1297;
++                      if (yych == '\t') goto yy1322;
                } else {
-                       if (yych == '.') goto yy721;
-                       if (yych <= '/') goto yy209;
-                       goto yy866;
 -                      if (yych <= ' ') goto yy1297;
 -                      if (yych <= '/') goto yy1294;
 -                      if (yych <= '9') goto yy1296;
++                      if (yych <= ' ') goto yy1322;
++                      if (yych <= '/') goto yy1319;
++                      if (yych <= '9') goto yy1321;
                }
        } else {
-               if (yych <= 'P') {
-                       if (yych == 'A') goto yy101;
-                       if (yych <= 'O') goto yy209;
-                       goto yy101;
+               if (yych <= '`') {
 -                      if (yych <= 'A') goto yy1299;
 -                      if (yych == 'P') goto yy1299;
++                      if (yych <= 'A') goto yy1324;
++                      if (yych == 'P') goto yy1324;
                } else {
-                       if (yych <= 'a') {
-                               if (yych <= '`') goto yy209;
-                               goto yy101;
-                       } else {
-                               if (yych == 'p') goto yy101;
-                               goto yy209;
-                       }
 -                      if (yych <= 'a') goto yy1299;
 -                      if (yych == 'p') goto yy1299;
++                      if (yych <= 'a') goto yy1324;
++                      if (yych == 'p') goto yy1324;
                }
        }
- yy790:
-       YYDEBUG(790, *YYCURSOR);
-       yyaccept = 4;
 -yy1294:
 -      YYDEBUG(1294, *YYCURSOR);
 -#line 1142 "parse_date.re"
++yy1319:
++      YYDEBUG(1319, *YYCURSOR);
++#line 1152 "parse_date.re"
+       {
+               DEBUG_OUTPUT("backof | frontof");
+               TIMELIB_INIT;
+               TIMELIB_UNHAVE_TIME();
+               TIMELIB_HAVE_TIME();
+               if (*ptr == 'b') {
 -                      s->time->h = timelib_get_nr((char **) &ptr, 2);
++                      s->time->h = timelib_get_nr(&ptr, 2);
+                       s->time->i = 15;
+               } else {
 -                      s->time->h = timelib_get_nr((char **) &ptr, 2) - 1;
++                      s->time->h = timelib_get_nr(&ptr, 2) - 1;
+                       s->time->i = 45;
+               }
+               if (*ptr != '\0' ) {
 -                      timelib_eat_spaces((char **) &ptr);
 -                      s->time->h += timelib_meridian((char **) &ptr, s->time->h);
++                      timelib_eat_spaces(&ptr);
++                      s->time->h += timelib_meridian(&ptr, s->time->h);
+               }
+               TIMELIB_DEINIT;
+               return TIMELIB_LF_DAY_OF_MONTH;
+       }
 -#line 19663 "<stdout>"
 -yy1295:
 -      YYDEBUG(1295, *YYCURSOR);
++#line 19800 "<stdout>"
++yy1320:
++      YYDEBUG(1320, *YYCURSOR);
+       yyaccept = 27;
        yych = *(YYMARKER = ++YYCURSOR);
        if (yych <= '@') {
                if (yych <= 0x1F) {
-                       if (yych == '\t') goto yy620;
-                       goto yy209;
 -                      if (yych == '\t') goto yy1297;
 -                      goto yy1294;
++                      if (yych == '\t') goto yy1322;
++                      goto yy1319;
                } else {
-                       if (yych <= ' ') goto yy620;
-                       if (yych == '.') goto yy721;
-                       goto yy209;
 -                      if (yych <= ' ') goto yy1297;
 -                      if (yych <= '/') goto yy1294;
 -                      if (yych >= '5') goto yy1294;
++                      if (yych <= ' ') goto yy1322;
++                      if (yych <= '/') goto yy1319;
++                      if (yych >= '5') goto yy1319;
                }
        } else {
                if (yych <= '`') {
-                       if (yych <= 'A') goto yy101;
-                       if (yych == 'P') goto yy101;
-                       goto yy209;
 -                      if (yych <= 'A') goto yy1299;
 -                      if (yych == 'P') goto yy1299;
 -                      goto yy1294;
++                      if (yych <= 'A') goto yy1324;
++                      if (yych == 'P') goto yy1324;
++                      goto yy1319;
                } else {
-                       if (yych <= 'a') goto yy101;
-                       if (yych == 'p') goto yy101;
-                       goto yy209;
 -                      if (yych <= 'a') goto yy1299;
 -                      if (yych == 'p') goto yy1299;
 -                      goto yy1294;
++                      if (yych <= 'a') goto yy1324;
++                      if (yych == 'p') goto yy1324;
++                      goto yy1319;
                }
        }
- yy791:
-       YYDEBUG(791, *YYCURSOR);
-       yyaccept = 4;
-       yych = *(YYMARKER = ++YYCURSOR);
-       if (yych == '.') goto yy721;
-       if (yych <= '/') goto yy209;
-       if (yych <= '9') goto yy915;
-       goto yy209;
- yy792:
-       YYDEBUG(792, *YYCURSOR);
-       yyaccept = 4;
-       yych = *(YYMARKER = ++YYCURSOR);
-       if (yych == '.') goto yy721;
-       if (yych == '0') goto yy915;
-       goto yy209;
- yy793:
-       YYDEBUG(793, *YYCURSOR);
-       yyaccept = 15;
 -yy1296:
 -      YYDEBUG(1296, *YYCURSOR);
++yy1321:
++      YYDEBUG(1321, *YYCURSOR);
+       yyaccept = 27;
        yych = *(YYMARKER = ++YYCURSOR);
-       if (yych <= 'n') {
-               if (yych <= '/') goto yy548;
-               if (yych <= '9') goto yy795;
-               if (yych <= 'm') goto yy548;
-               goto yy718;
+       if (yych <= 'A') {
+               if (yych <= 0x1F) {
 -                      if (yych != '\t') goto yy1294;
++                      if (yych != '\t') goto yy1319;
+               } else {
 -                      if (yych <= ' ') goto yy1297;
 -                      if (yych <= '@') goto yy1294;
 -                      goto yy1299;
++                      if (yych <= ' ') goto yy1322;
++                      if (yych <= '@') goto yy1319;
++                      goto yy1324;
+               }
        } else {
-               if (yych <= 'r') {
-                       if (yych <= 'q') goto yy548;
-                       goto yy718;
+               if (yych <= '`') {
 -                      if (yych == 'P') goto yy1299;
 -                      goto yy1294;
++                      if (yych == 'P') goto yy1324;
++                      goto yy1319;
                } else {
-                       if (yych <= 's') goto yy719;
-                       if (yych <= 't') goto yy720;
-                       goto yy548;
 -                      if (yych <= 'a') goto yy1299;
 -                      if (yych == 'p') goto yy1299;
 -                      goto yy1294;
++                      if (yych <= 'a') goto yy1324;
++                      if (yych == 'p') goto yy1324;
++                      goto yy1319;
                }
        }
- yy794:
-       YYDEBUG(794, *YYCURSOR);
-       yyaccept = 15;
-       yych = *(YYMARKER = ++YYCURSOR);
-       if (yych <= 'n') {
-               if (yych <= '/') goto yy548;
-               if (yych <= '1') goto yy795;
-               if (yych <= 'm') goto yy548;
-               goto yy718;
 -yy1297:
 -      YYDEBUG(1297, *YYCURSOR);
++yy1322:
++      YYDEBUG(1322, *YYCURSOR);
+       ++YYCURSOR;
+       if ((YYLIMIT - YYCURSOR) < 5) YYFILL(5);
+       yych = *YYCURSOR;
 -      YYDEBUG(1298, *YYCURSOR);
++      YYDEBUG(1323, *YYCURSOR);
+       if (yych <= 'A') {
+               if (yych <= 0x1F) {
 -                      if (yych == '\t') goto yy1297;
++                      if (yych == '\t') goto yy1322;
+                       goto yy55;
+               } else {
 -                      if (yych <= ' ') goto yy1297;
++                      if (yych <= ' ') goto yy1322;
+                       if (yych <= '@') goto yy55;
+               }
        } else {
-               if (yych <= 'r') {
-                       if (yych <= 'q') goto yy548;
-                       goto yy718;
+               if (yych <= '`') {
+                       if (yych != 'P') goto yy55;
                } else {
-                       if (yych <= 's') goto yy719;
-                       if (yych <= 't') goto yy720;
-                       goto yy548;
 -                      if (yych <= 'a') goto yy1299;
++                      if (yych <= 'a') goto yy1324;
+                       if (yych != 'p') goto yy55;
                }
        }
- yy795:
-       YYDEBUG(795, *YYCURSOR);
-       yyaccept = 15;
-       yych = *(YYMARKER = ++YYCURSOR);
-       if (yych <= 'q') {
-               if (yych == 'n') goto yy718;
-               goto yy548;
 -yy1299:
 -      YYDEBUG(1299, *YYCURSOR);
++yy1324:
++      YYDEBUG(1324, *YYCURSOR);
+       yych = *++YYCURSOR;
+       if (yych <= 'L') {
+               if (yych != '.') goto yy55;
        } else {
-               if (yych <= 'r') goto yy718;
-               if (yych <= 's') goto yy719;
-               if (yych <= 't') goto yy720;
-               goto yy548;
 -              if (yych <= 'M') goto yy1301;
 -              if (yych == 'm') goto yy1301;
++              if (yych <= 'M') goto yy1326;
++              if (yych == 'm') goto yy1326;
+               goto yy55;
        }
- yy796:
-       YYDEBUG(796, *YYCURSOR);
-       yych = *++YYCURSOR;
-       if (yych <= '/') goto yy56;
-       if (yych <= '2') goto yy916;
-       if (yych <= '3') goto yy917;
-       if (yych <= '9') goto yy795;
-       goto yy56;
- yy797:
-       YYDEBUG(797, *YYCURSOR);
 -      YYDEBUG(1300, *YYCURSOR);
++      YYDEBUG(1325, *YYCURSOR);
        yych = *++YYCURSOR;
-       if (yych == '-') goto yy918;
-       goto yy56;
- yy798:
-       YYDEBUG(798, *YYCURSOR);
 -      if (yych == 'M') goto yy1301;
++      if (yych == 'M') goto yy1326;
+       if (yych != 'm') goto yy55;
 -yy1301:
 -      YYDEBUG(1301, *YYCURSOR);
++yy1326:
++      YYDEBUG(1326, *YYCURSOR);
        yych = *++YYCURSOR;
-       if (yych <= 'S') {
-               if (yych == '-') goto yy918;
-               goto yy56;
+       if (yych <= 0x1F) {
 -              if (yych <= 0x00) goto yy1303;
 -              if (yych == '\t') goto yy1303;
++              if (yych <= 0x00) goto yy1328;
++              if (yych == '\t') goto yy1328;
+               goto yy55;
        } else {
-               if (yych <= 'T') goto yy797;
-               if (yych == 't') goto yy797;
-               goto yy56;
 -              if (yych <= ' ') goto yy1303;
++              if (yych <= ' ') goto yy1328;
+               if (yych != '.') goto yy55;
        }
- yy799:
-       YYDEBUG(799, *YYCURSOR);
 -      YYDEBUG(1302, *YYCURSOR);
++      YYDEBUG(1327, *YYCURSOR);
        yych = *++YYCURSOR;
-       if (yych <= '/') goto yy276;
-       if (yych <= '9') goto yy919;
-       goto yy276;
- yy800:
-       YYDEBUG(800, *YYCURSOR);
-       yych = *++YYCURSOR;
-       if (yych == ')') goto yy108;
-       goto yy18;
- yy801:
-       YYDEBUG(801, *YYCURSOR);
+       if (yych <= '\t') {
 -              if (yych <= 0x00) goto yy1303;
++              if (yych <= 0x00) goto yy1328;
+               if (yych <= 0x08) goto yy55;
+       } else {
+               if (yych != ' ') goto yy55;
+       }
 -yy1303:
 -      YYDEBUG(1303, *YYCURSOR);
++yy1328:
++      YYDEBUG(1328, *YYCURSOR);
        yych = *++YYCURSOR;
-       if (yych <= '9') {
-               if (yych <= ' ') {
-                       if (yych <= 0x08) {
-                               if (yych <= 0x00) goto yy310;
-                               goto yy56;
-                       } else {
-                               if (yych <= '\t') goto yy312;
-                               if (yych <= 0x1F) goto yy56;
-                               goto yy312;
-                       }
 -      goto yy1294;
 -yy1304:
 -      YYDEBUG(1304, *YYCURSOR);
++      goto yy1319;
++yy1329:
++      YYDEBUG(1329, *YYCURSOR);
+       yyaccept = 0;
+       yych = *(YYMARKER = ++YYCURSOR);
+       if (yych <= 'B') {
+               if (yych <= '-') {
+                       if (yych == ')') goto yy174;
+                       if (yych <= ',') goto yy3;
+                       goto yy182;
                } else {
-                       if (yych <= '-') {
-                               if (yych <= '+') goto yy56;
-                               if (yych <= ',') goto yy312;
-                               goto yy920;
-                       } else {
-                               if (yych <= '.') goto yy312;
-                               if (yych <= '/') goto yy56;
-                               goto yy493;
-                       }
+                       if (yych == '/') goto yy182;
+                       if (yych <= '@') goto yy3;
+                       goto yy176;
                }
        } else {
-               if (yych <= 'm') {
-                       if (yych <= 'd') {
-                               if (yych <= 'c') goto yy56;
-                               goto yy312;
-                       } else {
-                               if (yych == 'h') goto yy312;
-                               goto yy56;
-                       }
+               if (yych <= '_') {
 -                      if (yych <= 'C') goto yy1287;
++                      if (yych <= 'C') goto yy1312;
+                       if (yych <= 'Z') goto yy176;
+                       if (yych <= '^') goto yy3;
+                       goto yy182;
                } else {
-                       if (yych <= 'r') {
-                               if (yych <= 'n') goto yy315;
-                               if (yych <= 'q') goto yy56;
-                               goto yy315;
+                       if (yych <= 'b') {
+                               if (yych <= '`') goto yy3;
+                               goto yy181;
                        } else {
-                               if (yych <= 's') goto yy316;
-                               if (yych <= 't') goto yy317;
-                               goto yy56;
 -                              if (yych <= 'c') goto yy1305;
++                              if (yych <= 'c') goto yy1330;
+                               if (yych <= 'z') goto yy181;
+                               goto yy3;
                        }
                }
        }
- yy802:
-       YYDEBUG(802, *YYCURSOR);
-       yyaccept = 7;
 -yy1305:
 -      YYDEBUG(1305, *YYCURSOR);
++yy1330:
++      YYDEBUG(1330, *YYCURSOR);
+       yyaccept = 0;
        yych = *(YYMARKER = ++YYCURSOR);
-       if (yych <= '(') {
-               if (yych <= '\t') {
-                       if (yych <= 0x08) goto yy281;
-                       goto yy135;
+       if (yych <= 'J') {
+               if (yych <= '-') {
+                       if (yych == ')') goto yy174;
+                       if (yych <= ',') goto yy3;
+                       goto yy182;
                } else {
-                       if (yych == ' ') goto yy135;
-                       goto yy281;
+                       if (yych == '/') goto yy182;
+                       if (yych <= '@') goto yy3;
+                       goto yy177;
                }
        } else {
-               if (yych <= '.') {
-                       if (yych <= ')') goto yy108;
-                       if (yych <= ',') goto yy281;
-                       goto yy135;
+               if (yych <= '_') {
 -                      if (yych <= 'K') goto yy1288;
++                      if (yych <= 'K') goto yy1313;
+                       if (yych <= 'Z') goto yy177;
+                       if (yych <= '^') goto yy3;
+                       goto yy182;
                } else {
-                       if (yych <= '/') goto yy281;
-                       if (yych <= '9') goto yy135;
-                       goto yy281;
+                       if (yych <= 'j') {
+                               if (yych <= '`') goto yy3;
+                               goto yy185;
+                       } else {
 -                              if (yych <= 'k') goto yy1306;
++                              if (yych <= 'k') goto yy1331;
+                               if (yych <= 'z') goto yy185;
+                               goto yy3;
+                       }
                }
        }
- yy803:
-       YYDEBUG(803, *YYCURSOR);
-       yyaccept = 2;
 -yy1306:
 -      YYDEBUG(1306, *YYCURSOR);
++yy1331:
++      YYDEBUG(1331, *YYCURSOR);
+       yyaccept = 0;
        yych = *(YYMARKER = ++YYCURSOR);
-       if (yybm[0+yych] & 128) {
-               goto yy921;
-       }
-       if (yych <= '-') {
-               if (yych == ')') goto yy108;
-               if (yych <= ',') goto yy18;
-               goto yy283;
+       if (yych <= '.') {
+               if (yych <= '(') {
 -                      if (yych == ' ') goto yy1289;
++                      if (yych == ' ') goto yy1314;
+                       goto yy3;
+               } else {
+                       if (yych <= ')') goto yy174;
+                       if (yych == '-') goto yy182;
+                       goto yy3;
+               }
        } else {
-               if (yych <= '/') {
-                       if (yych <= '.') goto yy18;
-                       goto yy283;
+               if (yych <= '^') {
+                       if (yych <= '/') goto yy182;
+                       if (yych <= '@') goto yy3;
+                       if (yych <= 'Z') goto yy178;
+                       goto yy3;
                } else {
-                       if (yych == '_') goto yy283;
-                       goto yy18;
+                       if (yych <= '_') goto yy182;
+                       if (yych <= '`') goto yy3;
+                       if (yych <= 'z') goto yy186;
+                       goto yy3;
                }
        }
- yy804:
-       YYDEBUG(804, *YYCURSOR);
-       yyaccept = 7;
-       yych = *(YYMARKER = ++YYCURSOR);
-       if (yybm[0+yych] & 128) {
-               goto yy921;
-       }
-       if (yych <= ',') {
-               if (yych <= 0x1F) {
-                       if (yych == '\t') goto yy135;
-                       goto yy281;
 -yy1307:
 -      YYDEBUG(1307, *YYCURSOR);
++yy1332:
++      YYDEBUG(1332, *YYCURSOR);
+       yych = *++YYCURSOR;
+       if (yych <= 'S') {
+               if (yych <= ')') {
+                       if (yych <= '(') goto yy3;
+                       goto yy174;
                } else {
-                       if (yych <= ' ') goto yy135;
-                       if (yych == ')') goto yy108;
-                       goto yy281;
+                       if (yych <= '@') goto yy3;
+                       if (yych <= 'R') goto yy176;
                }
        } else {
-               if (yych <= '/') {
-                       if (yych <= '-') goto yy680;
-                       if (yych <= '.') goto yy135;
-                       goto yy283;
+               if (yych <= 'r') {
+                       if (yych <= 'Z') goto yy176;
+                       if (yych <= '`') goto yy3;
+                       goto yy176;
                } else {
-                       if (yych <= '9') goto yy135;
-                       if (yych == '_') goto yy283;
-                       goto yy281;
 -                      if (yych <= 's') goto yy1308;
++                      if (yych <= 's') goto yy1333;
+                       if (yych <= 'z') goto yy176;
+                       goto yy3;
                }
        }
- yy805:
-       YYDEBUG(805, *YYCURSOR);
 -yy1308:
 -      YYDEBUG(1308, *YYCURSOR);
++yy1333:
++      YYDEBUG(1333, *YYCURSOR);
        yych = *++YYCURSOR;
-       if (yych == 'F') goto yy923;
-       if (yych == 'f') goto yy923;
-       goto yy56;
- yy806:
-       YYDEBUG(806, *YYCURSOR);
-       yyaccept = 2;
-       yych = *(YYMARKER = ++YYCURSOR);
-       if (yych <= 'D') {
-               if (yych == ')') goto yy108;
-               goto yy18;
-       } else {
-               if (yych <= 'E') goto yy924;
-               if (yych == 'e') goto yy924;
-               goto yy18;
-       }
- yy807:
-       YYDEBUG(807, *YYCURSOR);
-       yyaccept = 2;
-       yych = *(YYMARKER = ++YYCURSOR);
-       if (yych <= 'D') {
-               if (yych <= ',') {
-                       if (yych == ')') goto yy108;
-                       goto yy18;
+       if (yych <= 'T') {
+               if (yych <= ')') {
+                       if (yych <= '(') goto yy3;
+                       goto yy174;
                } else {
-                       if (yych == '.') goto yy18;
-                       if (yych <= '/') goto yy283;
-                       goto yy18;
+                       if (yych <= '@') goto yy3;
+                       if (yych <= 'S') goto yy177;
                }
        } else {
-               if (yych <= '`') {
-                       if (yych <= 'E') goto yy924;
-                       if (yych == '_') goto yy283;
-                       goto yy18;
+               if (yych <= 's') {
+                       if (yych <= 'Z') goto yy177;
+                       if (yych <= '`') goto yy3;
+                       goto yy177;
                } else {
-                       if (yych == 'e') goto yy925;
-                       if (yych <= 'z') goto yy921;
-                       goto yy18;
 -                      if (yych <= 't') goto yy1309;
++                      if (yych <= 't') goto yy1334;
+                       if (yych <= 'z') goto yy177;
+                       goto yy3;
                }
        }
- yy808:
-       YYDEBUG(808, *YYCURSOR);
-       ++YYCURSOR;
-       if ((YYLIMIT - YYCURSOR) < 12) YYFILL(12);
-       yych = *YYCURSOR;
- yy809:
-       YYDEBUG(809, *YYCURSOR);
-       if (yych <= 'X') {
-               if (yych <= 'G') {
-                       if (yych <= ' ') {
-                               if (yych == '\t') goto yy808;
-                               if (yych <= 0x1F) goto yy56;
-                               goto yy808;
-                       } else {
-                               if (yych <= 'D') {
-                                       if (yych <= 'C') goto yy56;
-                                       goto yy827;
-                               } else {
-                                       if (yych == 'F') goto yy828;
-                                       goto yy56;
-                               }
-                       }
 -yy1309:
 -      YYDEBUG(1309, *YYCURSOR);
++yy1334:
++      YYDEBUG(1334, *YYCURSOR);
+       yyaccept = 0;
+       yych = *(YYMARKER = ++YYCURSOR);
+       if (yych <= '(') {
+               if (yych <= '\t') {
+                       if (yych <= 0x08) goto yy3;
 -                      goto yy1079;
++                      goto yy1104;
                } else {
-                       if (yych <= 'S') {
-                               if (yych <= 'L') {
-                                       if (yych <= 'H') goto yy829;
-                                       goto yy56;
-                               } else {
-                                       if (yych <= 'M') goto yy830;
-                                       if (yych <= 'R') goto yy56;
-                                       goto yy831;
-                               }
-                       } else {
-                               if (yych <= 'U') {
-                                       if (yych <= 'T') goto yy832;
-                                       goto yy833;
-                               } else {
-                                       if (yych == 'W') goto yy926;
-                                       goto yy56;
-                               }
-                       }
+                       if (yych != ' ') goto yy3;
                }
        } else {
-               if (yych <= 'r') {
-                       if (yych <= 'f') {
-                               if (yych <= 'c') {
-                                       if (yych <= 'Y') goto yy835;
-                                       goto yy56;
-                               } else {
-                                       if (yych <= 'd') goto yy827;
-                                       if (yych <= 'e') goto yy56;
-                                       goto yy828;
-                               }
-                       } else {
-                               if (yych <= 'h') {
-                                       if (yych <= 'g') goto yy56;
-                                       goto yy829;
-                               } else {
-                                       if (yych == 'm') goto yy830;
-                                       goto yy56;
-                               }
-                       }
+               if (yych <= 'Z') {
+                       if (yych <= ')') goto yy174;
+                       if (yych <= '@') goto yy3;
+                       goto yy178;
                } else {
-                       if (yych <= 'w') {
-                               if (yych <= 't') {
-                                       if (yych <= 's') goto yy831;
-                                       goto yy832;
-                               } else {
-                                       if (yych <= 'u') goto yy833;
-                                       if (yych <= 'v') goto yy56;
-                                       goto yy926;
-                               }
-                       } else {
-                               if (yych <= 'y') {
-                                       if (yych <= 'x') goto yy56;
-                                       goto yy835;
-                               } else {
-                                       if (yych == 0xC2) goto yy836;
-                                       goto yy56;
-                               }
-                       }
+                       if (yych <= '`') goto yy3;
+                       if (yych <= 'z') goto yy178;
+                       goto yy3;
                }
        }
- yy810:
-       YYDEBUG(810, *YYCURSOR);
-       yyaccept = 2;
 -yy1310:
 -      YYDEBUG(1310, *YYCURSOR);
++yy1335:
++      YYDEBUG(1335, *YYCURSOR);
+       yych = *++YYCURSOR;
 -      if (yych == 'D') goto yy1311;
 -      if (yych != 'd') goto yy1080;
 -yy1311:
 -      YYDEBUG(1311, *YYCURSOR);
++      if (yych == 'D') goto yy1336;
++      if (yych != 'd') goto yy1105;
++yy1336:
++      YYDEBUG(1336, *YYCURSOR);
+       yych = *++YYCURSOR;
 -      if (yych == 'A') goto yy1312;
++      if (yych == 'A') goto yy1337;
+       if (yych != 'a') goto yy55;
 -yy1312:
 -      YYDEBUG(1312, *YYCURSOR);
++yy1337:
++      YYDEBUG(1337, *YYCURSOR);
+       yych = *++YYCURSOR;
 -      if (yych == 'Y') goto yy1313;
++      if (yych == 'Y') goto yy1338;
+       if (yych != 'y') goto yy55;
 -yy1313:
 -      YYDEBUG(1313, *YYCURSOR);
++yy1338:
++      YYDEBUG(1338, *YYCURSOR);
+       yyaccept = 25;
        yych = *(YYMARKER = ++YYCURSOR);
-       if (yych <= 0x1F) {
-               if (yych == '\t') goto yy808;
-               goto yy18;
+       if (yych <= 'R') {
 -              if (yych != ' ') goto yy1094;
++              if (yych != ' ') goto yy1119;
        } else {
-               if (yych <= ' ') goto yy808;
-               if (yych == ')') goto yy108;
-               goto yy18;
 -              if (yych <= 'S') goto yy1119;
 -              if (yych == 's') goto yy1119;
 -              goto yy1094;
++              if (yych <= 'S') goto yy1144;
++              if (yych == 's') goto yy1144;
++              goto yy1119;
        }
- yy811:
-       YYDEBUG(811, *YYCURSOR);
-       yyaccept = 2;
-       yych = *(YYMARKER = ++YYCURSOR);
-       if (yych <= 'S') {
-               if (yych == ')') goto yy108;
-               goto yy18;
-       } else {
-               if (yych <= 'T') goto yy927;
-               if (yych == 't') goto yy927;
-               goto yy18;
 -      YYDEBUG(1314, *YYCURSOR);
++      YYDEBUG(1339, *YYCURSOR);
+       yych = *++YYCURSOR;
 -      if (yych == 'O') goto yy1315;
++      if (yych == 'O') goto yy1340;
+       if (yych != 'o') goto yy55;
 -yy1315:
 -      YYDEBUG(1315, *YYCURSOR);
++yy1340:
++      YYDEBUG(1340, *YYCURSOR);
+       yych = *++YYCURSOR;
 -      if (yych == 'F') goto yy1316;
++      if (yych == 'F') goto yy1341;
+       if (yych != 'f') goto yy55;
 -yy1316:
 -      YYDEBUG(1316, *YYCURSOR);
++yy1341:
++      YYDEBUG(1341, *YYCURSOR);
+       ++YYCURSOR;
 -      YYDEBUG(1317, *YYCURSOR);
 -#line 1125 "parse_date.re"
++      YYDEBUG(1342, *YYCURSOR);
++#line 1135 "parse_date.re"
+       {
+               DEBUG_OUTPUT("firstdayof | lastdayof");
+               TIMELIB_INIT;
+               TIMELIB_HAVE_RELATIVE();
+               /* skip "last day of" or "first day of" */
+               if (*ptr == 'l' || *ptr == 'L') {
+                       s->time->relative.first_last_day_of = TIMELIB_SPECIAL_LAST_DAY_OF_MONTH;
+               } else {
+                       s->time->relative.first_last_day_of = TIMELIB_SPECIAL_FIRST_DAY_OF_MONTH;
+               }
+               TIMELIB_DEINIT;
+               return TIMELIB_LF_DAY_OF_MONTH;
        }
- yy812:
-       YYDEBUG(812, *YYCURSOR);
-       yyaccept = 2;
 -#line 19978 "<stdout>"
 -yy1318:
 -      YYDEBUG(1318, *YYCURSOR);
++#line 20115 "<stdout>"
++yy1343:
++      YYDEBUG(1343, *YYCURSOR);
+       yyaccept = 0;
        yych = *(YYMARKER = ++YYCURSOR);
-       if (yybm[0+yych] & 128) {
-               goto yy921;
-       }
-       if (yych <= ')') {
-               if (yych <= 0x1F) {
-                       if (yych == '\t') goto yy808;
-                       goto yy18;
+       if (yych <= 'R') {
+               if (yych <= '-') {
+                       if (yych == ')') goto yy174;
+                       if (yych <= ',') goto yy3;
+                       goto yy182;
                } else {
-                       if (yych <= ' ') goto yy808;
-                       if (yych <= '(') goto yy18;
-                       goto yy108;
+                       if (yych == '/') goto yy182;
+                       if (yych <= '@') goto yy3;
+                       goto yy176;
                }
        } else {
-               if (yych <= '.') {
-                       if (yych == '-') goto yy283;
-                       goto yy18;
+               if (yych <= '_') {
 -                      if (yych <= 'S') goto yy1308;
++                      if (yych <= 'S') goto yy1333;
+                       if (yych <= 'Z') goto yy176;
+                       if (yych <= '^') goto yy3;
+                       goto yy182;
                } else {
-                       if (yych <= '/') goto yy283;
-                       if (yych == '_') goto yy283;
-                       goto yy18;
+                       if (yych <= 'r') {
+                               if (yych <= '`') goto yy3;
+                               goto yy181;
+                       } else {
 -                              if (yych <= 's') goto yy1319;
++                              if (yych <= 's') goto yy1344;
+                               if (yych <= 'z') goto yy181;
+                               goto yy3;
+                       }
                }
        }
- yy813:
-       YYDEBUG(813, *YYCURSOR);
-       yyaccept = 2;
 -yy1319:
 -      YYDEBUG(1319, *YYCURSOR);
++yy1344:
++      YYDEBUG(1344, *YYCURSOR);
+       yyaccept = 0;
        yych = *(YYMARKER = ++YYCURSOR);
        if (yych <= 'S') {
-               if (yych <= ',') {
-                       if (yych == ')') goto yy108;
-                       goto yy18;
+               if (yych <= '-') {
+                       if (yych == ')') goto yy174;
+                       if (yych <= ',') goto yy3;
+                       goto yy182;
                } else {
-                       if (yych == '.') goto yy18;
-                       if (yych <= '/') goto yy283;
-                       goto yy18;
+                       if (yych == '/') goto yy182;
+                       if (yych <= '@') goto yy3;
+                       goto yy177;
                }
        } else {
-               if (yych <= '`') {
-                       if (yych <= 'T') goto yy927;
-                       if (yych == '_') goto yy283;
-                       goto yy18;
+               if (yych <= '_') {
 -                      if (yych <= 'T') goto yy1309;
++                      if (yych <= 'T') goto yy1334;
+                       if (yych <= 'Z') goto yy177;
+                       if (yych <= '^') goto yy3;
+                       goto yy182;
                } else {
-                       if (yych == 't') goto yy928;
-                       if (yych <= 'z') goto yy921;
-                       goto yy18;
+                       if (yych <= 's') {
+                               if (yych <= '`') goto yy3;
+                               goto yy185;
+                       } else {
 -                              if (yych <= 't') goto yy1320;
++                              if (yych <= 't') goto yy1345;
+                               if (yych <= 'z') goto yy185;
+                               goto yy3;
+                       }
                }
        }
- yy814:
-       YYDEBUG(814, *YYCURSOR);
-       yyaccept = 2;
 -yy1320:
 -      YYDEBUG(1320, *YYCURSOR);
++yy1345:
++      YYDEBUG(1345, *YYCURSOR);
+       yyaccept = 0;
        yych = *(YYMARKER = ++YYCURSOR);
-       if (yych <= 'Q') {
-               if (yych == ')') goto yy108;
-               goto yy18;
+       if (yych <= '-') {
+               if (yych <= ' ') {
 -                      if (yych == '\t') goto yy1079;
++                      if (yych == '\t') goto yy1104;
+                       if (yych <= 0x1F) goto yy3;
 -                      goto yy1310;
++                      goto yy1335;
+               } else {
+                       if (yych == ')') goto yy174;
+                       if (yych <= ',') goto yy3;
+                       goto yy182;
+               }
        } else {
-               if (yych <= 'R') goto yy929;
-               if (yych == 'r') goto yy929;
-               goto yy18;
+               if (yych <= 'Z') {
+                       if (yych == '/') goto yy182;
+                       if (yych <= '@') goto yy3;
+                       goto yy178;
+               } else {
+                       if (yych <= '_') {
+                               if (yych <= '^') goto yy3;
+                               goto yy182;
+                       } else {
+                               if (yych <= '`') goto yy3;
+                               if (yych <= 'z') goto yy186;
+                               goto yy3;
+                       }
+               }
        }
- yy815:
-       YYDEBUG(815, *YYCURSOR);
-       yych = *++YYCURSOR;
-       if (yych == 'D') goto yy837;
-       if (yych == 'd') goto yy837;
-       goto yy809;
- yy816:
-       YYDEBUG(816, *YYCURSOR);
 -yy1321:
 -      YYDEBUG(1321, *YYCURSOR);
++yy1346:
++      YYDEBUG(1346, *YYCURSOR);
        yych = *++YYCURSOR;
-       if (yych == ')') goto yy108;
-       goto yy301;
- yy817:
-       YYDEBUG(817, *YYCURSOR);
-       yyaccept = 2;
-       yych = *(YYMARKER = ++YYCURSOR);
-       if (yych <= 'Q') {
-               if (yych <= ',') {
-                       if (yych == ')') goto yy108;
-                       goto yy18;
+       if (yych <= 'B') {
+               if (yych <= ')') {
+                       if (yych <= '(') goto yy3;
+                       goto yy174;
                } else {
-                       if (yych == '.') goto yy18;
-                       if (yych <= '/') goto yy283;
-                       goto yy18;
+                       if (yych <= '@') goto yy3;
+                       if (yych <= 'A') goto yy176;
 -                      goto yy1358;
++                      goto yy1383;
                }
        } else {
-               if (yych <= '`') {
-                       if (yych <= 'R') goto yy929;
-                       if (yych == '_') goto yy283;
-                       goto yy18;
+               if (yych <= 'a') {
+                       if (yych <= 'Z') goto yy176;
+                       if (yych <= '`') goto yy3;
+                       goto yy176;
                } else {
-                       if (yych == 'r') goto yy930;
-                       if (yych <= 'z') goto yy921;
-                       goto yy18;
 -                      if (yych <= 'b') goto yy1358;
++                      if (yych <= 'b') goto yy1383;
+                       if (yych <= 'z') goto yy176;
+                       goto yy3;
                }
        }
- yy818:
-       YYDEBUG(818, *YYCURSOR);
-       yyaccept = 9;
-       yych = *(YYMARKER = ++YYCURSOR);
-       if (yybm[0+yych] & 128) {
-               goto yy921;
-       }
-       if (yych <= '-') {
-               if (yych == ')') goto yy108;
-               if (yych <= ',') goto yy301;
-               goto yy283;
-       } else {
-               if (yych <= '/') {
-                       if (yych <= '.') goto yy301;
-                       goto yy283;
 -yy1322:
 -      YYDEBUG(1322, *YYCURSOR);
++yy1347:
++      YYDEBUG(1347, *YYCURSOR);
+       yych = *++YYCURSOR;
+       if (yych <= 'R') {
+               if (yych <= '@') {
+                       if (yych == ')') goto yy174;
+                       goto yy3;
                } else {
-                       if (yych == '_') goto yy283;
-                       goto yy301;
 -                      if (yych == 'F') goto yy1348;
++                      if (yych == 'F') goto yy1373;
+                       if (yych <= 'Q') goto yy176;
 -                      goto yy1347;
++                      goto yy1372;
                }
-       }
- yy819:
-       YYDEBUG(819, *YYCURSOR);
-       yyaccept = 20;
-       yych = *(YYMARKER = ++YYCURSOR);
-       if (yych <= '/') {
-               if (yych == '.') goto yy931;
        } else {
-               if (yych <= '9') goto yy821;
-               if (yych <= ':') goto yy931;
+               if (yych <= 'f') {
+                       if (yych <= 'Z') goto yy176;
+                       if (yych <= '`') goto yy3;
+                       if (yych <= 'e') goto yy176;
 -                      goto yy1348;
++                      goto yy1373;
+               } else {
 -                      if (yych == 'r') goto yy1347;
++                      if (yych == 'r') goto yy1372;
+                       if (yych <= 'z') goto yy176;
+                       goto yy3;
+               }
        }
- yy820:
-       YYDEBUG(820, *YYCURSOR);
- #line 1779 "parse_date.re"
-       {
-               int tz_not_found;
-               DEBUG_OUTPUT("dateshortwithtimeshort | dateshortwithtimelong | dateshortwithtimelongtz");
-               TIMELIB_INIT;
-               TIMELIB_HAVE_DATE();
-               s->time->m = timelib_get_month(&ptr);
-               s->time->d = timelib_get_nr(&ptr, 2);
-               TIMELIB_HAVE_TIME();
-               s->time->h = timelib_get_nr(&ptr, 2);
-               s->time->i = timelib_get_nr(&ptr, 2);
-               if (*ptr == ':') {
-                       s->time->s = timelib_get_nr(&ptr, 2);
-                       if (*ptr == '.') {
-                               s->time->us = timelib_get_frac_nr(&ptr, 8);
-                       }
 -yy1323:
 -      YYDEBUG(1323, *YYCURSOR);
++yy1348:
++      YYDEBUG(1348, *YYCURSOR);
+       yych = *++YYCURSOR;
+       if (yych <= 'U') {
+               if (yych <= ')') {
+                       if (yych <= '(') goto yy3;
+                       goto yy174;
+               } else {
+                       if (yych <= '@') goto yy3;
+                       if (yych <= 'T') goto yy176;
 -                      goto yy1344;
++                      goto yy1369;
                }
-               if (*ptr != '\0') {
-                       s->time->z = timelib_parse_zone(&ptr, &s->time->dst, s->time, &tz_not_found, s->tzdb, tz_get_wrapper);
-                       if (tz_not_found) {
-                               add_error(s, TIMELIB_ERR_TZID_NOT_FOUND, "The timezone could not be found in the database");
-                       }
+       } else {
+               if (yych <= 't') {
+                       if (yych <= 'Z') goto yy176;
+                       if (yych <= '`') goto yy3;
+                       goto yy176;
+               } else {
 -                      if (yych <= 'u') goto yy1344;
++                      if (yych <= 'u') goto yy1369;
+                       if (yych <= 'z') goto yy176;
+                       goto yy3;
                }
-               TIMELIB_DEINIT;
-               return TIMELIB_SHORTDATE_WITH_TIME;
        }
- #line 17336 "<stdout>"
- yy821:
-       YYDEBUG(821, *YYCURSOR);
-       yyaccept = 20;
-       yych = *(YYMARKER = ++YYCURSOR);
-       if (yych == '.') goto yy931;
-       if (yych == ':') goto yy931;
-       goto yy820;
- yy822:
-       YYDEBUG(822, *YYCURSOR);
-       yyaccept = 20;
-       yych = *(YYMARKER = ++YYCURSOR);
-       if (yych <= '/') {
-               if (yych == '.') goto yy932;
-               goto yy820;
 -yy1324:
 -      YYDEBUG(1324, *YYCURSOR);
++yy1349:
++      YYDEBUG(1349, *YYCURSOR);
+       yych = *++YYCURSOR;
+       if (yych <= 'O') {
+               if (yych <= '@') {
+                       if (yych == ')') goto yy174;
+                       goto yy3;
+               } else {
 -                      if (yych == 'I') goto yy1326;
++                      if (yych == 'I') goto yy1351;
+                       if (yych <= 'N') goto yy176;
+               }
        } else {
-               if (yych <= '9') goto yy933;
-               if (yych <= ':') goto yy932;
-               goto yy820;
+               if (yych <= 'i') {
+                       if (yych <= 'Z') goto yy176;
+                       if (yych <= '`') goto yy3;
+                       if (yych <= 'h') goto yy176;
 -                      goto yy1326;
++                      goto yy1351;
+               } else {
 -                      if (yych == 'o') goto yy1325;
++                      if (yych == 'o') goto yy1350;
+                       if (yych <= 'z') goto yy176;
+                       goto yy3;
+               }
        }
- yy823:
-       YYDEBUG(823, *YYCURSOR);
-       yyaccept = 20;
-       yych = *(YYMARKER = ++YYCURSOR);
-       if (yych == '.') goto yy932;
-       if (yych == ':') goto yy932;
-       goto yy820;
- yy824:
-       YYDEBUG(824, *YYCURSOR);
-       yych = *++YYCURSOR;
-       if (yych <= '/') goto yy311;
-       if (yych <= '9') goto yy934;
-       goto yy311;
- yy825:
-       YYDEBUG(825, *YYCURSOR);
 -yy1325:
 -      YYDEBUG(1325, *YYCURSOR);
++yy1350:
++      YYDEBUG(1350, *YYCURSOR);
        yych = *++YYCURSOR;
-       if (yych <= 'X') {
-               if (yych == ')') goto yy108;
-               goto yy18;
+       if (yych <= 'N') {
+               if (yych <= ')') {
+                       if (yych <= '(') goto yy3;
+                       goto yy174;
+               } else {
+                       if (yych <= '@') goto yy3;
+                       if (yych <= 'M') goto yy177;
 -                      goto yy1329;
++                      goto yy1354;
+               }
        } else {
-               if (yych <= 'Y') goto yy935;
-               if (yych == 'y') goto yy935;
-               goto yy18;
-       }
- yy826:
-       YYDEBUG(826, *YYCURSOR);
-       yyaccept = 2;
-       yych = *(YYMARKER = ++YYCURSOR);
-       if (yych <= 'X') {
-               if (yych <= ',') {
-                       if (yych == ')') goto yy108;
-                       goto yy18;
+               if (yych <= 'm') {
+                       if (yych <= 'Z') goto yy177;
+                       if (yych <= '`') goto yy3;
+                       goto yy177;
+               } else {
 -                      if (yych <= 'n') goto yy1329;
++                      if (yych <= 'n') goto yy1354;
+                       if (yych <= 'z') goto yy177;
+                       goto yy3;
+               }
+       }
 -yy1326:
 -      YYDEBUG(1326, *YYCURSOR);
++yy1351:
++      YYDEBUG(1351, *YYCURSOR);
+       yych = *++YYCURSOR;
+       if (yych <= 'D') {
+               if (yych <= ')') {
+                       if (yych <= '(') goto yy201;
+                       goto yy174;
                } else {
-                       if (yych == '.') goto yy18;
-                       if (yych <= '/') goto yy283;
-                       goto yy18;
+                       if (yych <= '@') goto yy201;
+                       if (yych <= 'C') goto yy177;
                }
        } else {
-               if (yych <= '`') {
-                       if (yych <= 'Y') goto yy935;
-                       if (yych == '_') goto yy283;
-                       goto yy18;
+               if (yych <= 'c') {
+                       if (yych <= 'Z') goto yy177;
+                       if (yych <= '`') goto yy201;
+                       goto yy177;
                } else {
-                       if (yych == 'y') goto yy936;
-                       if (yych <= 'z') goto yy921;
-                       goto yy18;
 -                      if (yych <= 'd') goto yy1327;
++                      if (yych <= 'd') goto yy1352;
+                       if (yych <= 'z') goto yy177;
+                       goto yy201;
                }
        }
- yy827:
-       YYDEBUG(827, *YYCURSOR);
-       yych = *++YYCURSOR;
-       if (yych == 'A') goto yy937;
-       if (yych == 'a') goto yy937;
-       goto yy56;
- yy828:
-       YYDEBUG(828, *YYCURSOR);
 -yy1327:
 -      YYDEBUG(1327, *YYCURSOR);
++yy1352:
++      YYDEBUG(1352, *YYCURSOR);
        yych = *++YYCURSOR;
-       if (yych <= 'R') {
-               if (yych == 'O') goto yy938;
-               if (yych <= 'Q') goto yy56;
-               goto yy939;
+       if (yych <= 'A') {
+               if (yych == ')') goto yy174;
+               if (yych <= '@') goto yy3;
        } else {
-               if (yych <= 'o') {
-                       if (yych <= 'n') goto yy56;
-                       goto yy938;
+               if (yych <= '`') {
+                       if (yych <= 'Z') goto yy178;
+                       goto yy3;
                } else {
-                       if (yych == 'r') goto yy939;
-                       goto yy56;
 -                      if (yych <= 'a') goto yy1328;
++                      if (yych <= 'a') goto yy1353;
+                       if (yych <= 'z') goto yy178;
+                       goto yy3;
                }
        }
- yy829:
-       YYDEBUG(829, *YYCURSOR);
 -yy1328:
 -      YYDEBUG(1328, *YYCURSOR);
++yy1353:
++      YYDEBUG(1353, *YYCURSOR);
        yych = *++YYCURSOR;
-       if (yych == 'O') goto yy940;
-       if (yych == 'o') goto yy940;
-       goto yy56;
- yy830:
-       YYDEBUG(830, *YYCURSOR);
-       yych = *++YYCURSOR;
-       if (yych <= 'S') {
-               if (yych <= 'N') {
-                       if (yych == 'I') goto yy941;
-                       goto yy56;
+       if (yych <= 'Y') {
+               if (yych <= ')') {
+                       if (yych <= '(') goto yy3;
+                       goto yy174;
                } else {
-                       if (yych <= 'O') goto yy942;
-                       if (yych <= 'R') goto yy56;
-                       goto yy943;
+                       if (yych <= '@') goto yy3;
+                       if (yych <= 'X') goto yy179;
 -                      goto yy1235;
++                      goto yy1260;
                }
        } else {
-               if (yych <= 'n') {
-                       if (yych == 'i') goto yy941;
-                       goto yy56;
+               if (yych <= 'x') {
+                       if (yych <= 'Z') goto yy179;
+                       if (yych <= '`') goto yy3;
+                       goto yy179;
                } else {
-                       if (yych <= 'o') goto yy942;
-                       if (yych == 's') goto yy943;
-                       goto yy56;
 -                      if (yych <= 'y') goto yy1235;
++                      if (yych <= 'y') goto yy1260;
+                       if (yych <= 'z') goto yy179;
+                       goto yy3;
                }
        }
- yy831:
-       YYDEBUG(831, *YYCURSOR);
 -yy1329:
 -      YYDEBUG(1329, *YYCURSOR);
++yy1354:
++      YYDEBUG(1354, *YYCURSOR);
        yych = *++YYCURSOR;
-       if (yych <= 'U') {
-               if (yych <= 'D') {
-                       if (yych == 'A') goto yy945;
-                       goto yy56;
+       if (yych <= 'T') {
+               if (yych <= ')') {
+                       if (yych <= '(') goto yy3;
+                       goto yy174;
                } else {
-                       if (yych <= 'E') goto yy946;
-                       if (yych <= 'T') goto yy56;
-                       goto yy947;
+                       if (yych <= '@') goto yy3;
+                       if (yych <= 'S') goto yy178;
                }
        } else {
-               if (yych <= 'd') {
-                       if (yych == 'a') goto yy945;
-                       goto yy56;
+               if (yych <= 's') {
+                       if (yych <= 'Z') goto yy178;
+                       if (yych <= '`') goto yy3;
+                       goto yy178;
                } else {
-                       if (yych <= 'e') goto yy946;
-                       if (yych == 'u') goto yy947;
-                       goto yy56;
 -                      if (yych <= 't') goto yy1330;
++                      if (yych <= 't') goto yy1355;
+                       if (yych <= 'z') goto yy178;
+                       goto yy3;
                }
        }
- yy832:
-       YYDEBUG(832, *YYCURSOR);
-       yych = *++YYCURSOR;
-       if (yych <= 'U') {
-               if (yych == 'H') goto yy948;
-               if (yych <= 'T') goto yy56;
-               goto yy949;
 -yy1330:
 -      YYDEBUG(1330, *YYCURSOR);
++yy1355:
++      YYDEBUG(1355, *YYCURSOR);
+       yyaccept = 0;
+       yych = *(YYMARKER = ++YYCURSOR);
+       if (yych <= ')') {
 -              if (yych == ' ') goto yy1331;
++              if (yych == ' ') goto yy1356;
+               if (yych <= '(') goto yy3;
+               goto yy174;
        } else {
-               if (yych <= 'h') {
-                       if (yych <= 'g') goto yy56;
-                       goto yy948;
+               if (yych <= 'Z') {
+                       if (yych <= '@') goto yy3;
+                       goto yy179;
                } else {
-                       if (yych == 'u') goto yy949;
-                       goto yy56;
+                       if (yych <= '`') goto yy3;
+                       if (yych <= 'z') goto yy179;
+                       goto yy3;
                }
        }
- yy833:
-       YYDEBUG(833, *YYCURSOR);
-       yych = *++YYCURSOR;
-       if (yych == 'S') goto yy950;
-       if (yych == 's') goto yy950;
-       goto yy56;
- yy834:
-       YYDEBUG(834, *YYCURSOR);
 -yy1331:
 -      YYDEBUG(1331, *YYCURSOR);
++yy1356:
++      YYDEBUG(1356, *YYCURSOR);
        yych = *++YYCURSOR;
-       if (yych == 'E') goto yy951;
-       if (yych == 'e') goto yy951;
-       goto yy56;
- yy835:
-       YYDEBUG(835, *YYCURSOR);
 -      if (yych == 'O') goto yy1332;
++      if (yych == 'O') goto yy1357;
+       if (yych != 'o') goto yy55;
 -yy1332:
 -      YYDEBUG(1332, *YYCURSOR);
++yy1357:
++      YYDEBUG(1357, *YYCURSOR);
        yych = *++YYCURSOR;
-       if (yych == 'E') goto yy952;
-       if (yych == 'e') goto yy952;
-       goto yy56;
- yy836:
-       YYDEBUG(836, *YYCURSOR);
 -      if (yych == 'F') goto yy1333;
++      if (yych == 'F') goto yy1358;
+       if (yych != 'f') goto yy55;
 -yy1333:
 -      YYDEBUG(1333, *YYCURSOR);
++yy1358:
++      YYDEBUG(1358, *YYCURSOR);
        yych = *++YYCURSOR;
-       if (yych == 0xB5) goto yy953;
-       goto yy56;
- yy837:
-       YYDEBUG(837, *YYCURSOR);
+       if (yych != ' ') goto yy55;
 -      YYDEBUG(1334, *YYCURSOR);
++      YYDEBUG(1359, *YYCURSOR);
        yych = *++YYCURSOR;
-       if (yych == 'A') goto yy954;
-       if (yych == 'a') goto yy954;
-       goto yy56;
- yy838:
-       YYDEBUG(838, *YYCURSOR);
-       yyaccept = 2;
+       if (yych <= '/') goto yy55;
 -      if (yych <= '1') goto yy1335;
 -      if (yych <= '2') goto yy1336;
 -      if (yych <= '9') goto yy1337;
++      if (yych <= '1') goto yy1360;
++      if (yych <= '2') goto yy1361;
++      if (yych <= '9') goto yy1362;
+       goto yy55;
 -yy1335:
 -      YYDEBUG(1335, *YYCURSOR);
++yy1360:
++      YYDEBUG(1360, *YYCURSOR);
+       yyaccept = 27;
        yych = *(YYMARKER = ++YYCURSOR);
-       if (yych <= 'G') {
-               if (yych == ')') goto yy108;
-               goto yy18;
+       if (yych <= '@') {
+               if (yych <= 0x1F) {
 -                      if (yych == '\t') goto yy1338;
 -                      goto yy1294;
++                      if (yych == '\t') goto yy1363;
++                      goto yy1319;
+               } else {
 -                      if (yych <= ' ') goto yy1338;
 -                      if (yych <= '/') goto yy1294;
 -                      if (yych <= '9') goto yy1337;
 -                      goto yy1294;
++                      if (yych <= ' ') goto yy1363;
++                      if (yych <= '/') goto yy1319;
++                      if (yych <= '9') goto yy1362;
++                      goto yy1319;
+               }
        } else {
-               if (yych <= 'H') goto yy955;
-               if (yych == 'h') goto yy955;
-               goto yy18;
+               if (yych <= '`') {
 -                      if (yych <= 'A') goto yy1340;
 -                      if (yych == 'P') goto yy1340;
 -                      goto yy1294;
++                      if (yych <= 'A') goto yy1365;
++                      if (yych == 'P') goto yy1365;
++                      goto yy1319;
+               } else {
 -                      if (yych <= 'a') goto yy1340;
 -                      if (yych == 'p') goto yy1340;
 -                      goto yy1294;
++                      if (yych <= 'a') goto yy1365;
++                      if (yych == 'p') goto yy1365;
++                      goto yy1319;
+               }
        }
- yy839:
-       YYDEBUG(839, *YYCURSOR);
-       yyaccept = 2;
 -yy1336:
 -      YYDEBUG(1336, *YYCURSOR);
++yy1361:
++      YYDEBUG(1361, *YYCURSOR);
+       yyaccept = 27;
        yych = *(YYMARKER = ++YYCURSOR);
-       if (yych <= 'G') {
-               if (yych <= ',') {
-                       if (yych == ')') goto yy108;
-                       goto yy18;
+       if (yych <= '@') {
+               if (yych <= 0x1F) {
 -                      if (yych == '\t') goto yy1338;
 -                      goto yy1294;
++                      if (yych == '\t') goto yy1363;
++                      goto yy1319;
                } else {
-                       if (yych == '.') goto yy18;
-                       if (yych <= '/') goto yy283;
-                       goto yy18;
 -                      if (yych <= ' ') goto yy1338;
 -                      if (yych <= '/') goto yy1294;
 -                      if (yych >= '5') goto yy1294;
++                      if (yych <= ' ') goto yy1363;
++                      if (yych <= '/') goto yy1319;
++                      if (yych >= '5') goto yy1319;
                }
        } else {
                if (yych <= '`') {
-                       if (yych <= 'H') goto yy955;
-                       if (yych == '_') goto yy283;
-                       goto yy18;
 -                      if (yych <= 'A') goto yy1340;
 -                      if (yych == 'P') goto yy1340;
 -                      goto yy1294;
++                      if (yych <= 'A') goto yy1365;
++                      if (yych == 'P') goto yy1365;
++                      goto yy1319;
                } else {
-                       if (yych == 'h') goto yy956;
-                       if (yych <= 'z') goto yy921;
-                       goto yy18;
 -                      if (yych <= 'a') goto yy1340;
 -                      if (yych == 'p') goto yy1340;
 -                      goto yy1294;
++                      if (yych <= 'a') goto yy1365;
++                      if (yych == 'p') goto yy1365;
++                      goto yy1319;
                }
        }
- yy840:
-       YYDEBUG(840, *YYCURSOR);
-       yych = *++YYCURSOR;
-       if (yych <= 'Q') {
-               if (yych == ')') goto yy108;
-               goto yy18;
 -yy1337:
 -      YYDEBUG(1337, *YYCURSOR);
++yy1362:
++      YYDEBUG(1362, *YYCURSOR);
+       yyaccept = 27;
+       yych = *(YYMARKER = ++YYCURSOR);
+       if (yych <= 'A') {
+               if (yych <= 0x1F) {
 -                      if (yych != '\t') goto yy1294;
++                      if (yych != '\t') goto yy1319;
+               } else {
 -                      if (yych <= ' ') goto yy1338;
 -                      if (yych <= '@') goto yy1294;
 -                      goto yy1340;
++                      if (yych <= ' ') goto yy1363;
++                      if (yych <= '@') goto yy1319;
++                      goto yy1365;
+               }
        } else {
-               if (yych <= 'R') goto yy935;
-               if (yych == 'r') goto yy935;
-               goto yy18;
+               if (yych <= '`') {
 -                      if (yych == 'P') goto yy1340;
 -                      goto yy1294;
++                      if (yych == 'P') goto yy1365;
++                      goto yy1319;
+               } else {
 -                      if (yych <= 'a') goto yy1340;
 -                      if (yych == 'p') goto yy1340;
 -                      goto yy1294;
++                      if (yych <= 'a') goto yy1365;
++                      if (yych == 'p') goto yy1365;
++                      goto yy1319;
+               }
        }
- yy841:
-       YYDEBUG(841, *YYCURSOR);
-       yyaccept = 2;
-       yych = *(YYMARKER = ++YYCURSOR);
-       if (yych <= 'Q') {
-               if (yych <= ',') {
-                       if (yych == ')') goto yy108;
-                       goto yy18;
 -yy1338:
 -      YYDEBUG(1338, *YYCURSOR);
++yy1363:
++      YYDEBUG(1363, *YYCURSOR);
+       ++YYCURSOR;
+       if ((YYLIMIT - YYCURSOR) < 5) YYFILL(5);
+       yych = *YYCURSOR;
 -      YYDEBUG(1339, *YYCURSOR);
++      YYDEBUG(1364, *YYCURSOR);
+       if (yych <= 'A') {
+               if (yych <= 0x1F) {
 -                      if (yych == '\t') goto yy1338;
++                      if (yych == '\t') goto yy1363;
+                       goto yy55;
                } else {
-                       if (yych == '.') goto yy18;
-                       if (yych <= '/') goto yy283;
-                       goto yy18;
 -                      if (yych <= ' ') goto yy1338;
++                      if (yych <= ' ') goto yy1363;
+                       if (yych <= '@') goto yy55;
                }
        } else {
                if (yych <= '`') {
-                       if (yych <= 'R') goto yy935;
-                       if (yych == '_') goto yy283;
-                       goto yy18;
+                       if (yych != 'P') goto yy55;
                } else {
-                       if (yych == 'r') goto yy936;
-                       if (yych <= 'z') goto yy921;
-                       goto yy18;
 -                      if (yych <= 'a') goto yy1340;
++                      if (yych <= 'a') goto yy1365;
+                       if (yych != 'p') goto yy55;
                }
        }
- yy842:
-       YYDEBUG(842, *YYCURSOR);
-       yyaccept = 2;
-       yych = *(YYMARKER = ++YYCURSOR);
-       if (yych <= 'T') {
-               if (yych == ')') goto yy108;
-               goto yy18;
 -yy1340:
 -      YYDEBUG(1340, *YYCURSOR);
++yy1365:
++      YYDEBUG(1365, *YYCURSOR);
+       yych = *++YYCURSOR;
+       if (yych <= 'L') {
+               if (yych != '.') goto yy55;
        } else {
-               if (yych <= 'U') goto yy957;
-               if (yych == 'u') goto yy957;
-               goto yy18;
 -              if (yych <= 'M') goto yy1342;
 -              if (yych == 'm') goto yy1342;
++              if (yych <= 'M') goto yy1367;
++              if (yych == 'm') goto yy1367;
+               goto yy55;
        }
- yy843:
-       YYDEBUG(843, *YYCURSOR);
-       yyaccept = 2;
-       yych = *(YYMARKER = ++YYCURSOR);
 -      YYDEBUG(1341, *YYCURSOR);
++      YYDEBUG(1366, *YYCURSOR);
+       yych = *++YYCURSOR;
 -      if (yych == 'M') goto yy1342;
++      if (yych == 'M') goto yy1367;
+       if (yych != 'm') goto yy55;
 -yy1342:
 -      YYDEBUG(1342, *YYCURSOR);
++yy1367:
++      YYDEBUG(1367, *YYCURSOR);
+       yych = *++YYCURSOR;
+       if (yych <= 0x1F) {
 -              if (yych <= 0x00) goto yy1303;
 -              if (yych == '\t') goto yy1303;
++              if (yych <= 0x00) goto yy1328;
++              if (yych == '\t') goto yy1328;
+               goto yy55;
+       } else {
 -              if (yych <= ' ') goto yy1303;
++              if (yych <= ' ') goto yy1328;
+               if (yych != '.') goto yy55;
+       }
 -      YYDEBUG(1343, *YYCURSOR);
++      YYDEBUG(1368, *YYCURSOR);
+       yych = *++YYCURSOR;
+       if (yych <= '\t') {
 -              if (yych <= 0x00) goto yy1303;
++              if (yych <= 0x00) goto yy1328;
+               if (yych <= 0x08) goto yy55;
 -              goto yy1303;
++              goto yy1328;
+       } else {
 -              if (yych == ' ') goto yy1303;
++              if (yych == ' ') goto yy1328;
+               goto yy55;
+       }
 -yy1344:
 -      YYDEBUG(1344, *YYCURSOR);
++yy1369:
++      YYDEBUG(1369, *YYCURSOR);
+       yych = *++YYCURSOR;
+       if (yych <= 'R') {
+               if (yych <= ')') {
+                       if (yych <= '(') goto yy3;
+                       goto yy174;
+               } else {
+                       if (yych <= '@') goto yy3;
+                       if (yych <= 'Q') goto yy177;
+               }
+       } else {
+               if (yych <= 'q') {
+                       if (yych <= 'Z') goto yy177;
+                       if (yych <= '`') goto yy3;
+                       goto yy177;
+               } else {
 -                      if (yych <= 'r') goto yy1345;
++                      if (yych <= 'r') goto yy1370;
+                       if (yych <= 'z') goto yy177;
+                       goto yy3;
+               }
+       }
 -yy1345:
 -      YYDEBUG(1345, *YYCURSOR);
++yy1370:
++      YYDEBUG(1370, *YYCURSOR);
+       yych = *++YYCURSOR;
        if (yych <= 'T') {
-               if (yych <= ',') {
-                       if (yych == ')') goto yy108;
-                       goto yy18;
+               if (yych <= ')') {
+                       if (yych <= '(') goto yy3;
+                       goto yy174;
                } else {
-                       if (yych == '.') goto yy18;
-                       if (yych <= '/') goto yy283;
-                       goto yy18;
+                       if (yych <= '@') goto yy3;
+                       if (yych <= 'S') goto yy178;
                }
        } else {
-               if (yych <= '`') {
-                       if (yych <= 'U') goto yy957;
-                       if (yych == '_') goto yy283;
-                       goto yy18;
+               if (yych <= 's') {
+                       if (yych <= 'Z') goto yy178;
+                       if (yych <= '`') goto yy3;
+                       goto yy178;
                } else {
-                       if (yych == 'u') goto yy958;
-                       if (yych <= 'z') goto yy921;
-                       goto yy18;
 -                      if (yych <= 't') goto yy1346;
++                      if (yych <= 't') goto yy1371;
+                       if (yych <= 'z') goto yy178;
+                       goto yy3;
                }
        }
- yy844:
-       YYDEBUG(844, *YYCURSOR);
-       yyaccept = 2;
-       yych = *(YYMARKER = ++YYCURSOR);
-       if (yych <= '@') {
-               if (yych == ')') goto yy108;
-               goto yy18;
 -yy1346:
 -      YYDEBUG(1346, *YYCURSOR);
++yy1371:
++      YYDEBUG(1371, *YYCURSOR);
+       yych = *++YYCURSOR;
+       if (yych <= 'H') {
+               if (yych <= ')') {
+                       if (yych <= '(') goto yy3;
+                       goto yy174;
+               } else {
+                       if (yych <= '@') goto yy3;
+                       if (yych <= 'G') goto yy179;
 -                      goto yy1215;
++                      goto yy1240;
+               }
        } else {
-               if (yych <= 'A') goto yy959;
-               if (yych == 'a') goto yy959;
-               goto yy18;
+               if (yych <= 'g') {
+                       if (yych <= 'Z') goto yy179;
+                       if (yych <= '`') goto yy3;
+                       goto yy179;
+               } else {
 -                      if (yych <= 'h') goto yy1215;
++                      if (yych <= 'h') goto yy1240;
+                       if (yych <= 'z') goto yy179;
+                       goto yy3;
+               }
        }
- yy845:
-       YYDEBUG(845, *YYCURSOR);
-       yyaccept = 2;
-       yych = *(YYMARKER = ++YYCURSOR);
-       if (yych <= 'A') {
-               if (yych == ')') goto yy108;
-               goto yy18;
 -yy1347:
 -      YYDEBUG(1347, *YYCURSOR);
++yy1372:
++      YYDEBUG(1372, *YYCURSOR);
+       yych = *++YYCURSOR;
+       if (yych <= 'S') {
+               if (yych <= ')') {
+                       if (yych <= '(') goto yy3;
+                       goto yy174;
+               } else {
+                       if (yych <= '@') goto yy3;
+                       if (yych <= 'R') goto yy177;
 -                      goto yy1350;
++                      goto yy1375;
+               }
        } else {
-               if (yych <= 'B') goto yy960;
-               if (yych == 'b') goto yy960;
-               goto yy18;
+               if (yych <= 'r') {
+                       if (yych <= 'Z') goto yy177;
+                       if (yych <= '`') goto yy3;
+                       goto yy177;
+               } else {
 -                      if (yych <= 's') goto yy1350;
++                      if (yych <= 's') goto yy1375;
+                       if (yych <= 'z') goto yy177;
+                       goto yy3;
+               }
        }
- yy846:
-       YYDEBUG(846, *YYCURSOR);
-       yyaccept = 2;
-       yych = *(YYMARKER = ++YYCURSOR);
-       if (yych <= 'G') {
-               if (yych == ')') goto yy108;
-               goto yy18;
 -yy1348:
 -      YYDEBUG(1348, *YYCURSOR);
++yy1373:
++      YYDEBUG(1373, *YYCURSOR);
+       yych = *++YYCURSOR;
+       if (yych <= 'T') {
+               if (yych <= ')') {
+                       if (yych <= '(') goto yy3;
+                       goto yy174;
+               } else {
+                       if (yych <= '@') goto yy3;
+                       if (yych <= 'S') goto yy177;
+               }
        } else {
-               if (yych <= 'H') goto yy961;
-               if (yych == 'h') goto yy961;
-               goto yy18;
+               if (yych <= 's') {
+                       if (yych <= 'Z') goto yy177;
+                       if (yych <= '`') goto yy3;
+                       goto yy177;
+               } else {
 -                      if (yych <= 't') goto yy1349;
++                      if (yych <= 't') goto yy1374;
+                       if (yych <= 'z') goto yy177;
+                       goto yy3;
+               }
        }
- yy847:
-       YYDEBUG(847, *YYCURSOR);
-       yyaccept = 2;
-       yych = *(YYMARKER = ++YYCURSOR);
-       if (yych <= '@') {
-               if (yych <= ',') {
-                       if (yych == ')') goto yy108;
-                       goto yy18;
 -yy1349:
 -      YYDEBUG(1349, *YYCURSOR);
++yy1374:
++      YYDEBUG(1374, *YYCURSOR);
+       yych = *++YYCURSOR;
+       if (yych <= 'H') {
+               if (yych <= ')') {
+                       if (yych <= '(') goto yy3;
+                       goto yy174;
                } else {
-                       if (yych == '.') goto yy18;
-                       if (yych <= '/') goto yy283;
-                       goto yy18;
+                       if (yych <= '@') goto yy3;
+                       if (yych <= 'G') goto yy178;
 -                      goto yy1238;
++                      goto yy1263;
                }
        } else {
-               if (yych <= '_') {
-                       if (yych <= 'A') goto yy959;
-                       if (yych <= '^') goto yy18;
-                       goto yy283;
+               if (yych <= 'g') {
+                       if (yych <= 'Z') goto yy178;
+                       if (yych <= '`') goto yy3;
+                       goto yy178;
                } else {
-                       if (yych <= '`') goto yy18;
-                       if (yych <= 'a') goto yy962;
-                       if (yych <= 'z') goto yy921;
-                       goto yy18;
 -                      if (yych <= 'h') goto yy1238;
++                      if (yych <= 'h') goto yy1263;
+                       if (yych <= 'z') goto yy178;
+                       goto yy3;
                }
        }
- yy848:
-       YYDEBUG(848, *YYCURSOR);
-       yyaccept = 2;
-       yych = *(YYMARKER = ++YYCURSOR);
-       if (yych <= 'A') {
-               if (yych <= ',') {
-                       if (yych == ')') goto yy108;
-                       goto yy18;
 -yy1350:
 -      YYDEBUG(1350, *YYCURSOR);
++yy1375:
++      YYDEBUG(1375, *YYCURSOR);
+       yych = *++YYCURSOR;
+       if (yych <= 'T') {
+               if (yych <= ')') {
+                       if (yych <= '(') goto yy3;
+                       goto yy174;
                } else {
-                       if (yych == '.') goto yy18;
-                       if (yych <= '/') goto yy283;
-                       goto yy18;
+                       if (yych <= '@') goto yy3;
+                       if (yych <= 'S') goto yy178;
                }
        } else {
-               if (yych <= '`') {
-                       if (yych <= 'B') goto yy960;
-                       if (yych == '_') goto yy283;
-                       goto yy18;
+               if (yych <= 's') {
+                       if (yych <= 'Z') goto yy178;
+                       if (yych <= '`') goto yy3;
+                       goto yy178;
                } else {
-                       if (yych == 'b') goto yy963;
-                       if (yych <= 'z') goto yy921;
-                       goto yy18;
 -                      if (yych <= 't') goto yy1351;
++                      if (yych <= 't') goto yy1376;
+                       if (yych <= 'z') goto yy178;
+                       goto yy3;
                }
        }
- yy849:
-       YYDEBUG(849, *YYCURSOR);
-       yyaccept = 2;
 -yy1351:
 -      YYDEBUG(1351, *YYCURSOR);
++yy1376:
++      YYDEBUG(1376, *YYCURSOR);
+       yyaccept = 0;
        yych = *(YYMARKER = ++YYCURSOR);
-       if (yych <= 'G') {
-               if (yych <= ',') {
-                       if (yych == ')') goto yy108;
-                       goto yy18;
+       if (yych <= '(') {
+               if (yych <= '\t') {
+                       if (yych <= 0x08) goto yy3;
 -                      goto yy1206;
++                      goto yy1231;
                } else {
-                       if (yych == '.') goto yy18;
-                       if (yych <= '/') goto yy283;
-                       goto yy18;
+                       if (yych != ' ') goto yy3;
                }
        } else {
-               if (yych <= '`') {
-                       if (yych <= 'H') goto yy961;
-                       if (yych == '_') goto yy283;
-                       goto yy18;
+               if (yych <= 'Z') {
+                       if (yych <= ')') goto yy174;
+                       if (yych <= '@') goto yy3;
+                       goto yy179;
                } else {
-                       if (yych == 'h') goto yy964;
-                       if (yych <= 'z') goto yy921;
-                       goto yy18;
+                       if (yych <= '`') goto yy3;
+                       if (yych <= 'z') goto yy179;
+                       goto yy3;
                }
        }
- yy850:
-       YYDEBUG(850, *YYCURSOR);
 -yy1352:
 -      YYDEBUG(1352, *YYCURSOR);
++yy1377:
++      YYDEBUG(1377, *YYCURSOR);
        yych = *++YYCURSOR;
-       if (yych <= '/') goto yy56;
-       if (yych <= '9') goto yy965;
-       goto yy56;
- yy851:
-       YYDEBUG(851, *YYCURSOR);
 -      if (yych == 'D') goto yy1353;
 -      if (yych != 'd') goto yy1207;
 -yy1353:
 -      YYDEBUG(1353, *YYCURSOR);
++      if (yych == 'D') goto yy1378;
++      if (yych != 'd') goto yy1232;
++yy1378:
++      YYDEBUG(1378, *YYCURSOR);
        yych = *++YYCURSOR;
-       if (yych == '0') goto yy965;
-       goto yy56;
- yy852:
-       YYDEBUG(852, *YYCURSOR);
-       yyaccept = 2;
 -      if (yych == 'A') goto yy1354;
++      if (yych == 'A') goto yy1379;
+       if (yych != 'a') goto yy55;
 -yy1354:
 -      YYDEBUG(1354, *YYCURSOR);
++yy1379:
++      YYDEBUG(1379, *YYCURSOR);
+       yych = *++YYCURSOR;
 -      if (yych == 'Y') goto yy1355;
++      if (yych == 'Y') goto yy1380;
+       if (yych != 'y') goto yy55;
 -yy1355:
 -      YYDEBUG(1355, *YYCURSOR);
++yy1380:
++      YYDEBUG(1380, *YYCURSOR);
+       yyaccept = 25;
        yych = *(YYMARKER = ++YYCURSOR);
-       if (yych <= 'N') {
-               if (yych == ')') goto yy108;
-               goto yy18;
+       if (yych <= 'R') {
 -              if (yych != ' ') goto yy1094;
++              if (yych != ' ') goto yy1119;
        } else {
-               if (yych <= 'O') goto yy966;
-               if (yych == 'o') goto yy966;
-               goto yy18;
 -              if (yych <= 'S') goto yy1119;
 -              if (yych == 's') goto yy1119;
 -              goto yy1094;
++              if (yych <= 'S') goto yy1144;
++              if (yych == 's') goto yy1144;
++              goto yy1119;
        }
- yy853:
-       YYDEBUG(853, *YYCURSOR);
 -      YYDEBUG(1356, *YYCURSOR);
++      YYDEBUG(1381, *YYCURSOR);
        yych = *++YYCURSOR;
-       if (yych <= 'X') {
-               if (yych == ')') goto yy108;
-               goto yy18;
-       } else {
-               if (yych <= 'Y') goto yy967;
-               if (yych == 'y') goto yy967;
-               goto yy18;
-       }
- yy854:
-       YYDEBUG(854, *YYCURSOR);
-       yyaccept = 2;
 -      if (yych == 'O') goto yy1357;
++      if (yych == 'O') goto yy1382;
+       if (yych != 'o') goto yy55;
 -yy1357:
 -      YYDEBUG(1357, *YYCURSOR);
++yy1382:
++      YYDEBUG(1382, *YYCURSOR);
+       yych = *++YYCURSOR;
 -      if (yych == 'F') goto yy1316;
 -      if (yych == 'f') goto yy1316;
++      if (yych == 'F') goto yy1341;
++      if (yych == 'f') goto yy1341;
+       goto yy55;
 -yy1358:
 -      YYDEBUG(1358, *YYCURSOR);
++yy1383:
++      YYDEBUG(1383, *YYCURSOR);
+       yyaccept = 5;
        yych = *(YYMARKER = ++YYCURSOR);
-       if (yych <= 'N') {
-               if (yych <= ',') {
-                       if (yych == ')') goto yy108;
-                       goto yy18;
+       if (yych <= '/') {
+               if (yych <= '(') {
+                       if (yych <= '\t') {
+                               if (yych <= 0x08) goto yy228;
+                               goto yy230;
+                       } else {
+                               if (yych == ' ') goto yy230;
+                               goto yy228;
+                       }
                } else {
-                       if (yych == '.') goto yy18;
-                       if (yych <= '/') goto yy283;
-                       goto yy18;
+                       if (yych <= ',') {
+                               if (yych <= ')') goto yy174;
+                               goto yy228;
+                       } else {
+                               if (yych <= '-') goto yy231;
+                               if (yych <= '.') goto yy230;
+                               goto yy228;
+                       }
                }
        } else {
-               if (yych <= '`') {
-                       if (yych <= 'O') goto yy966;
-                       if (yych == '_') goto yy283;
-                       goto yy18;
+               if (yych <= 'Z') {
+                       if (yych <= '@') {
+                               if (yych <= '9') goto yy230;
+                               goto yy228;
+                       } else {
+                               if (yych != 'R') goto yy177;
+                       }
                } else {
-                       if (yych == 'o') goto yy968;
-                       if (yych <= 'z') goto yy921;
-                       goto yy18;
+                       if (yych <= 'q') {
+                               if (yych <= '`') goto yy228;
+                               goto yy177;
+                       } else {
 -                              if (yych <= 'r') goto yy1359;
++                              if (yych <= 'r') goto yy1384;
+                               if (yych <= 'z') goto yy177;
+                               goto yy228;
+                       }
                }
        }
- yy855:
-       YYDEBUG(855, *YYCURSOR);
-       yyaccept = 2;
-       yych = *(YYMARKER = ++YYCURSOR);
-       if (yych <= 'X') {
-               if (yych <= ',') {
-                       if (yych == ')') goto yy108;
-                       goto yy18;
 -yy1359:
 -      YYDEBUG(1359, *YYCURSOR);
++yy1384:
++      YYDEBUG(1384, *YYCURSOR);
+       yych = *++YYCURSOR;
+       if (yych <= 'U') {
+               if (yych <= ')') {
+                       if (yych <= '(') goto yy3;
+                       goto yy174;
+               } else {
+                       if (yych <= '@') goto yy3;
+                       if (yych <= 'T') goto yy178;
+               }
+       } else {
+               if (yych <= 't') {
+                       if (yych <= 'Z') goto yy178;
+                       if (yych <= '`') goto yy3;
+                       goto yy178;
                } else {
-                       if (yych == '.') goto yy18;
-                       if (yych <= '/') goto yy283;
-                       goto yy18;
 -                      if (yych <= 'u') goto yy1360;
++                      if (yych <= 'u') goto yy1385;
+                       if (yych <= 'z') goto yy178;
+                       goto yy3;
                }
 -yy1360:
 -      YYDEBUG(1360, *YYCURSOR);
+       }
++yy1385:
++      YYDEBUG(1385, *YYCURSOR);
+       yych = *++YYCURSOR;
+       if (yych <= 'A') {
+               if (yych == ')') goto yy174;
+               if (yych <= '@') goto yy3;
        } else {
                if (yych <= '`') {
-                       if (yych <= 'Y') goto yy967;
-                       if (yych == '_') goto yy283;
-                       goto yy18;
+                       if (yych <= 'Z') goto yy179;
+                       goto yy3;
                } else {
-                       if (yych == 'y') goto yy969;
-                       if (yych <= 'z') goto yy921;
-                       goto yy18;
 -                      if (yych <= 'a') goto yy1361;
++                      if (yych <= 'a') goto yy1386;
+                       if (yych <= 'z') goto yy179;
+                       goto yy3;
                }
        }
- yy856:
-       YYDEBUG(856, *YYCURSOR);
-       yyaccept = 2;
 -yy1361:
 -      YYDEBUG(1361, *YYCURSOR);
++yy1386:
++      YYDEBUG(1386, *YYCURSOR);
+       yyaccept = 0;
        yych = *(YYMARKER = ++YYCURSOR);
-       if (yych <= 'C') {
-               if (yych == ')') goto yy108;
-               goto yy18;
+       if (yych <= 'Q') {
+               if (yych == ')') goto yy174;
+               goto yy3;
        } else {
-               if (yych <= 'D') goto yy970;
-               if (yych == 'd') goto yy970;
-               goto yy18;
 -              if (yych <= 'R') goto yy1362;
++              if (yych <= 'R') goto yy1387;
+               if (yych != 'r') goto yy3;
        }
- yy857:
-       YYDEBUG(857, *YYCURSOR);
 -yy1362:
 -      YYDEBUG(1362, *YYCURSOR);
++yy1387:
++      YYDEBUG(1387, *YYCURSOR);
        yych = *++YYCURSOR;
-       if (yych <= 'X') {
-               if (yych == ')') goto yy108;
-               goto yy18;
-       } else {
-               if (yych <= 'Y') goto yy971;
-               if (yych == 'y') goto yy971;
-               goto yy18;
-       }
- yy858:
-       YYDEBUG(858, *YYCURSOR);
-       yyaccept = 2;
+       if (yych == 'Y') goto yy239;
+       if (yych == 'y') goto yy239;
+       goto yy55;
 -yy1363:
 -      YYDEBUG(1363, *YYCURSOR);
++yy1388:
++      YYDEBUG(1388, *YYCURSOR);
+       yyaccept = 0;
        yych = *(YYMARKER = ++YYCURSOR);
-       if (yych <= 'C') {
-               if (yych <= ',') {
-                       if (yych == ')') goto yy108;
-                       goto yy18;
+       if (yych <= 'A') {
+               if (yych <= '-') {
+                       if (yych == ')') goto yy174;
+                       if (yych <= ',') goto yy3;
+                       goto yy182;
                } else {
-                       if (yych == '.') goto yy18;
-                       if (yych <= '/') goto yy283;
-                       goto yy18;
+                       if (yych == '/') goto yy182;
+                       if (yych <= '@') goto yy3;
+                       goto yy176;
                }
        } else {
-               if (yych <= '`') {
-                       if (yych <= 'D') goto yy970;
-                       if (yych == '_') goto yy283;
-                       goto yy18;
+               if (yych <= '_') {
 -                      if (yych <= 'B') goto yy1358;
++                      if (yych <= 'B') goto yy1383;
+                       if (yych <= 'Z') goto yy176;
+                       if (yych <= '^') goto yy3;
+                       goto yy182;
                } else {
-                       if (yych == 'd') goto yy972;
-                       if (yych <= 'z') goto yy921;
-                       goto yy18;
+                       if (yych <= 'a') {
+                               if (yych <= '`') goto yy3;
+                               goto yy181;
+                       } else {
 -                              if (yych <= 'b') goto yy1381;
++                              if (yych <= 'b') goto yy1406;
+                               if (yych <= 'z') goto yy181;
+                               goto yy3;
+                       }
                }
        }
- yy859:
-       YYDEBUG(859, *YYCURSOR);
-       yyaccept = 2;
 -yy1364:
 -      YYDEBUG(1364, *YYCURSOR);
++yy1389:
++      YYDEBUG(1389, *YYCURSOR);
+       yyaccept = 0;
        yych = *(YYMARKER = ++YYCURSOR);
-       if (yych <= 'X') {
-               if (yych <= ',') {
-                       if (yych == ')') goto yy108;
-                       goto yy18;
+       if (yych <= 'Q') {
+               if (yych <= '.') {
+                       if (yych <= ')') {
+                               if (yych <= '(') goto yy3;
+                               goto yy174;
+                       } else {
+                               if (yych == '-') goto yy182;
+                               goto yy3;
+                       }
                } else {
-                       if (yych == '.') goto yy18;
-                       if (yych <= '/') goto yy283;
-                       goto yy18;
+                       if (yych <= '@') {
+                               if (yych <= '/') goto yy182;
+                               goto yy3;
+                       } else {
 -                              if (yych == 'F') goto yy1348;
++                              if (yych == 'F') goto yy1373;
+                               goto yy176;
+                       }
                }
        } else {
                if (yych <= '`') {
-                       if (yych <= 'Y') goto yy971;
-                       if (yych == '_') goto yy283;
-                       goto yy18;
+                       if (yych <= 'Z') {
 -                              if (yych <= 'R') goto yy1347;
++                              if (yych <= 'R') goto yy1372;
+                               goto yy176;
+                       } else {
+                               if (yych == '_') goto yy182;
+                               goto yy3;
+                       }
                } else {
-                       if (yych == 'y') goto yy973;
-                       if (yych <= 'z') goto yy921;
-                       goto yy18;
+                       if (yych <= 'q') {
 -                              if (yych == 'f') goto yy1377;
++                              if (yych == 'f') goto yy1402;
+                               goto yy181;
+                       } else {
 -                              if (yych <= 'r') goto yy1376;
++                              if (yych <= 'r') goto yy1401;
+                               if (yych <= 'z') goto yy181;
+                               goto yy3;
+                       }
                }
 -      }
 -yy1365:
 -      YYDEBUG(1365, *YYCURSOR);
 +      }
- yy860:
-       YYDEBUG(860, *YYCURSOR);
-       yyaccept = 2;
-       yych = *(YYMARKER = ++YYCURSOR);
-       if (yych <= 'C') {
-               if (yych == ')') goto yy108;
-               goto yy18;
-       } else {
-               if (yych <= 'D') goto yy974;
-               if (yych == 'd') goto yy974;
-               goto yy18;
-       }
- yy861:
-       YYDEBUG(861, *YYCURSOR);
-       yyaccept = 2;
++yy1390:
++      YYDEBUG(1390, *YYCURSOR);
+       yyaccept = 0;
        yych = *(YYMARKER = ++YYCURSOR);
-       if (yych <= 'C') {
-               if (yych <= ',') {
-                       if (yych == ')') goto yy108;
-                       goto yy18;
+       if (yych <= 'T') {
+               if (yych <= '-') {
+                       if (yych == ')') goto yy174;
+                       if (yych <= ',') goto yy3;
+                       goto yy182;
                } else {
-                       if (yych == '.') goto yy18;
-                       if (yych <= '/') goto yy283;
-                       goto yy18;
+                       if (yych == '/') goto yy182;
+                       if (yych <= '@') goto yy3;
+                       goto yy176;
                }
        } else {
-               if (yych <= '`') {
-                       if (yych <= 'D') goto yy974;
-                       if (yych == '_') goto yy283;
-                       goto yy18;
+               if (yych <= '_') {
 -                      if (yych <= 'U') goto yy1344;
++                      if (yych <= 'U') goto yy1369;
+                       if (yych <= 'Z') goto yy176;
+                       if (yych <= '^') goto yy3;
+                       goto yy182;
                } else {
-                       if (yych == 'd') goto yy975;
-                       if (yych <= 'z') goto yy921;
-                       goto yy18;
+                       if (yych <= 't') {
+                               if (yych <= '`') goto yy3;
+                               goto yy181;
+                       } else {
 -                              if (yych <= 'u') goto yy1373;
++                              if (yych <= 'u') goto yy1398;
+                               if (yych <= 'z') goto yy181;
+                               goto yy3;
+                       }
                }
        }
- yy862:
-       YYDEBUG(862, *YYCURSOR);
-       yych = *++YYCURSOR;
-       if (yych <= '/') goto yy56;
-       if (yych <= '9') goto yy976;
-       goto yy56;
- yy863:
-       YYDEBUG(863, *YYCURSOR);
-       yych = *++YYCURSOR;
-       if (yych <= '/') goto yy56;
-       if (yych <= '2') goto yy976;
-       goto yy56;
- yy864:
-       YYDEBUG(864, *YYCURSOR);
-       yych = *++YYCURSOR;
-       if (yych <= '/') goto yy56;
-       if (yych <= '0') goto yy977;
-       if (yych <= '1') goto yy978;
-       goto yy56;
- yy865:
-       YYDEBUG(865, *YYCURSOR);
-       yych = *++YYCURSOR;
-       if (yych == '-') goto yy864;
-       if (yych <= '/') goto yy186;
-       if (yych <= '9') goto yy979;
-       goto yy186;
- yy866:
-       YYDEBUG(866, *YYCURSOR);
-       yych = *++YYCURSOR;
-       if (yych <= '/') goto yy56;
-       if (yych <= '9') goto yy980;
-       goto yy56;
- yy867:
-       YYDEBUG(867, *YYCURSOR);
-       ++YYCURSOR;
-       goto yy548;
- yy868:
-       YYDEBUG(868, *YYCURSOR);
-       ++YYCURSOR;
-       if (YYLIMIT <= YYCURSOR) YYFILL(1);
-       yych = *YYCURSOR;
-       YYDEBUG(869, *YYCURSOR);
-       if (yych <= '/') goto yy209;
-       if (yych <= '9') goto yy868;
-       goto yy209;
- yy870:
-       YYDEBUG(870, *YYCURSOR);
-       yych = *++YYCURSOR;
-       if (yych <= '/') goto yy214;
-       if (yych <= '9') goto yy982;
-       goto yy214;
- yy871:
-       YYDEBUG(871, *YYCURSOR);
-       yych = *++YYCURSOR;
-       if (yych <= '/') goto yy56;
-       if (yych <= '9') goto yy983;
-       goto yy56;
- yy872:
-       YYDEBUG(872, *YYCURSOR);
-       yyaccept = 15;
 -yy1366:
 -      YYDEBUG(1366, *YYCURSOR);
++yy1391:
++      YYDEBUG(1391, *YYCURSOR);
+       yyaccept = 0;
        yych = *(YYMARKER = ++YYCURSOR);
-       if (yych <= 'n') {
-               if (yych <= '/') goto yy548;
-               if (yych <= '9') goto yy984;
-               if (yych <= 'm') goto yy548;
-               goto yy718;
+       if (yych <= 'N') {
+               if (yych <= '.') {
+                       if (yych <= ')') {
+                               if (yych <= '(') goto yy3;
+                               goto yy174;
+                       } else {
+                               if (yych == '-') goto yy182;
+                               goto yy3;
+                       }
+               } else {
+                       if (yych <= '@') {
+                               if (yych <= '/') goto yy182;
+                               goto yy3;
+                       } else {
 -                              if (yych == 'I') goto yy1326;
++                              if (yych == 'I') goto yy1351;
+                               goto yy176;
+                       }
+               }
        } else {
-               if (yych <= 'r') {
-                       if (yych <= 'q') goto yy548;
-                       goto yy718;
+               if (yych <= '`') {
+                       if (yych <= 'Z') {
 -                              if (yych <= 'O') goto yy1325;
++                              if (yych <= 'O') goto yy1350;
+                               goto yy176;
+                       } else {
+                               if (yych == '_') goto yy182;
+                               goto yy3;
+                       }
                } else {
-                       if (yych <= 's') goto yy719;
-                       if (yych <= 't') goto yy720;
-                       goto yy548;
+                       if (yych <= 'n') {
 -                              if (yych == 'i') goto yy1368;
++                              if (yych == 'i') goto yy1393;
+                               goto yy181;
+                       } else {
 -                              if (yych <= 'o') goto yy1367;
++                              if (yych <= 'o') goto yy1392;
+                               if (yych <= 'z') goto yy181;
+                               goto yy3;
+                       }
                }
        }
- yy873:
-       YYDEBUG(873, *YYCURSOR);
-       yyaccept = 15;
 -yy1367:
 -      YYDEBUG(1367, *YYCURSOR);
++yy1392:
++      YYDEBUG(1392, *YYCURSOR);
+       yyaccept = 0;
        yych = *(YYMARKER = ++YYCURSOR);
-       if (yych <= 'n') {
-               if (yych <= '1') {
-                       if (yych <= '/') goto yy548;
-                       goto yy984;
+       if (yych <= 'M') {
+               if (yych <= '-') {
+                       if (yych == ')') goto yy174;
+                       if (yych <= ',') goto yy3;
+                       goto yy182;
                } else {
-                       if (yych <= '9') goto yy714;
-                       if (yych <= 'm') goto yy548;
-                       goto yy718;
+                       if (yych == '/') goto yy182;
+                       if (yych <= '@') goto yy3;
+                       goto yy177;
                }
        } else {
-               if (yych <= 'r') {
-                       if (yych <= 'q') goto yy548;
-                       goto yy718;
+               if (yych <= '_') {
 -                      if (yych <= 'N') goto yy1329;
++                      if (yych <= 'N') goto yy1354;
+                       if (yych <= 'Z') goto yy177;
+                       if (yych <= '^') goto yy3;
+                       goto yy182;
                } else {
-                       if (yych <= 's') goto yy719;
-                       if (yych <= 't') goto yy720;
-                       goto yy548;
+                       if (yych <= 'm') {
+                               if (yych <= '`') goto yy3;
+                               goto yy185;
+                       } else {
 -                              if (yych <= 'n') goto yy1371;
++                              if (yych <= 'n') goto yy1396;
+                               if (yych <= 'z') goto yy185;
+                               goto yy3;
+                       }
                }
        }
- yy874:
-       YYDEBUG(874, *YYCURSOR);
-       yych = *++YYCURSOR;
-       if (yych <= '/') goto yy56;
-       if (yych <= '2') goto yy986;
-       if (yych <= '3') goto yy987;
-       if (yych <= '9') goto yy988;
-       goto yy56;
- yy875:
-       YYDEBUG(875, *YYCURSOR);
-       yyaccept = 18;
 -yy1368:
 -      YYDEBUG(1368, *YYCURSOR);
++yy1393:
++      YYDEBUG(1393, *YYCURSOR);
+       yyaccept = 4;
        yych = *(YYMARKER = ++YYCURSOR);
-       if (yych == '-') goto yy989;
-       goto yy729;
- yy876:
-       YYDEBUG(876, *YYCURSOR);
-       yych = *++YYCURSOR;
-       if (yych == 'R') goto yy990;
-       if (yych == 'r') goto yy990;
-       goto yy56;
- yy877:
-       YYDEBUG(877, *YYCURSOR);
-       yych = *++YYCURSOR;
-       if (yych == 'G') goto yy991;
-       if (yych == 'g') goto yy991;
-       goto yy56;
- yy878:
-       YYDEBUG(878, *YYCURSOR);
-       yych = *++YYCURSOR;
-       if (yych == 'C') goto yy992;
-       if (yych == 'c') goto yy992;
-       goto yy56;
- yy879:
-       YYDEBUG(879, *YYCURSOR);
-       yych = *++YYCURSOR;
-       if (yych == 'B') goto yy993;
-       if (yych == 'b') goto yy993;
-       goto yy56;
- yy880:
-       YYDEBUG(880, *YYCURSOR);
-       yych = *++YYCURSOR;
-       if (yych == 'N') goto yy994;
-       if (yych == 'n') goto yy994;
-       goto yy56;
- yy881:
-       YYDEBUG(881, *YYCURSOR);
-       yych = *++YYCURSOR;
-       if (yych <= 'N') {
-               if (yych == 'L') goto yy995;
-               if (yych <= 'M') goto yy56;
-               goto yy996;
-       } else {
-               if (yych <= 'l') {
-                       if (yych <= 'k') goto yy56;
-                       goto yy995;
+       if (yych <= 'C') {
+               if (yych <= '-') {
+                       if (yych == ')') goto yy174;
+                       if (yych <= ',') goto yy201;
+                       goto yy182;
                } else {
-                       if (yych == 'n') goto yy996;
-                       goto yy56;
+                       if (yych == '/') goto yy182;
+                       if (yych <= '@') goto yy201;
+                       goto yy177;
                }
-       }
- yy882:
-       YYDEBUG(882, *YYCURSOR);
-       yych = *++YYCURSOR;
-       if (yych <= 'Y') {
-               if (yych == 'R') goto yy997;
-               if (yych <= 'X') goto yy56;
-               goto yy998;
        } else {
-               if (yych <= 'r') {
-                       if (yych <= 'q') goto yy56;
-                       goto yy997;
+               if (yych <= '_') {
 -                      if (yych <= 'D') goto yy1327;
++                      if (yych <= 'D') goto yy1352;
+                       if (yych <= 'Z') goto yy177;
+                       if (yych <= '^') goto yy201;
+                       goto yy182;
                } else {
-                       if (yych == 'y') goto yy998;
-                       goto yy56;
+                       if (yych <= 'c') {
+                               if (yych <= '`') goto yy201;
+                               goto yy185;
+                       } else {
 -                              if (yych <= 'd') goto yy1369;
++                              if (yych <= 'd') goto yy1394;
+                               if (yych <= 'z') goto yy185;
+                               goto yy201;
+                       }
                }
        }
- yy883:
-       YYDEBUG(883, *YYCURSOR);
-       yych = *++YYCURSOR;
-       if (yych == 'V') goto yy992;
-       if (yych == 'v') goto yy992;
-       goto yy56;
- yy884:
-       YYDEBUG(884, *YYCURSOR);
-       yych = *++YYCURSOR;
-       if (yych == 'T') goto yy999;
-       if (yych == 't') goto yy999;
-       goto yy56;
- yy885:
-       YYDEBUG(885, *YYCURSOR);
-       yych = *++YYCURSOR;
-       if (yych == 'P') goto yy1000;
-       if (yych == 'p') goto yy1000;
-       goto yy56;
- yy886:
-       YYDEBUG(886, *YYCURSOR);
-       yych = *++YYCURSOR;
-       if (yych <= '0') goto yy56;
-       if (yych <= '9') goto yy1001;
-       goto yy56;
- yy887:
-       YYDEBUG(887, *YYCURSOR);
-       yych = *++YYCURSOR;
-       if (yych <= '/') goto yy56;
-       if (yych <= '9') goto yy1001;
-       goto yy56;
- yy888:
-       YYDEBUG(888, *YYCURSOR);
-       yych = *++YYCURSOR;
-       if (yych <= '/') goto yy56;
-       if (yych <= '6') goto yy1001;
-       goto yy56;
- yy889:
-       YYDEBUG(889, *YYCURSOR);
-       yych = *++YYCURSOR;
-       if (yych == 'P') goto yy908;
-       if (yych == 'p') goto yy908;
-       goto yy56;
- yy890:
-       YYDEBUG(890, *YYCURSOR);
-       yych = *++YYCURSOR;
-       if (yych <= '/') goto yy56;
-       if (yych <= '2') goto yy1002;
-       if (yych <= '3') goto yy1004;
-       if (yych <= '9') goto yy1005;
-       goto yy56;
- yy891:
-       YYDEBUG(891, *YYCURSOR);
-       yych = *++YYCURSOR;
-       if (yych == '/') goto yy1006;
-       goto yy56;
- yy892:
-       YYDEBUG(892, *YYCURSOR);
-       yych = *++YYCURSOR;
-       if (yych <= '/') goto yy186;
-       if (yych <= '9') goto yy1007;
-       goto yy186;
- yy893:
-       YYDEBUG(893, *YYCURSOR);
-       yyaccept = 21;
 -yy1369:
 -      YYDEBUG(1369, *YYCURSOR);
++yy1394:
++      YYDEBUG(1394, *YYCURSOR);
+       yyaccept = 0;
        yych = *(YYMARKER = ++YYCURSOR);
-       if (yych <= 'W') {
-               if (yych <= 'E') {
-                       if (yych <= ' ') {
-                               if (yych == '\t') goto yy186;
-                               if (yych >= ' ') goto yy186;
-                       } else {
-                               if (yych <= '9') {
-                                       if (yych >= '0') goto yy1007;
-                               } else {
-                                       if (yych == 'D') goto yy186;
-                               }
-                       }
+       if (yych <= '@') {
+               if (yych <= ',') {
+                       if (yych == ')') goto yy174;
+                       goto yy3;
                } else {
-                       if (yych <= 'L') {
-                               if (yych == 'G') goto yy894;
-                               if (yych <= 'H') goto yy186;
-                       } else {
-                               if (yych <= 'R') {
-                                       if (yych <= 'M') goto yy186;
-                               } else {
-                                       if (yych != 'V') goto yy186;
-                               }
-                       }
+                       if (yych == '.') goto yy3;
+                       if (yych <= '/') goto yy182;
+                       goto yy3;
                }
        } else {
-               if (yych <= 'l') {
-                       if (yych <= 'd') {
-                               if (yych == 'Y') goto yy186;
-                               if (yych >= 'd') goto yy186;
-                       } else {
-                               if (yych <= 'f') {
-                                       if (yych >= 'f') goto yy186;
-                               } else {
-                                       if (yych == 'h') goto yy186;
-                               }
-                       }
+               if (yych <= '_') {
 -                      if (yych <= 'A') goto yy1328;
++                      if (yych <= 'A') goto yy1353;
+                       if (yych <= 'Z') goto yy178;
+                       if (yych <= '^') goto yy3;
+                       goto yy182;
                } else {
-                       if (yych <= 'w') {
-                               if (yych <= 'r') {
-                                       if (yych <= 'm') goto yy186;
-                               } else {
-                                       if (yych != 'v') goto yy186;
-                               }
-                       } else {
-                               if (yych <= 'y') {
-                                       if (yych >= 'y') goto yy186;
-                               } else {
-                                       if (yych == 0xC2) goto yy186;
-                               }
-                       }
-               }
-       }
- yy894:
-       YYDEBUG(894, *YYCURSOR);
- #line 1541 "parse_date.re"
-       {
-               int length = 0;
-               DEBUG_OUTPUT("pgydotd");
-               TIMELIB_INIT;
-               TIMELIB_HAVE_DATE();
-               s->time->y = timelib_get_nr_ex(&ptr, 4, &length);
-               s->time->d = timelib_get_nr(&ptr, 3);
-               s->time->m = 1;
-               TIMELIB_PROCESS_YEAR(s->time->y, length);
-               TIMELIB_DEINIT;
-               return TIMELIB_PG_YEARDAY;
+                       if (yych <= '`') goto yy3;
 -                      if (yych <= 'a') goto yy1370;
++                      if (yych <= 'a') goto yy1395;
+                       if (yych <= 'z') goto yy186;
+                       goto yy3;
+               }
        }
- #line 18233 "<stdout>"
- yy895:
-       YYDEBUG(895, *YYCURSOR);
-       yyaccept = 21;
 -yy1370:
 -      YYDEBUG(1370, *YYCURSOR);
++yy1395:
++      YYDEBUG(1395, *YYCURSOR);
+       yyaccept = 0;
        yych = *(YYMARKER = ++YYCURSOR);
-       if (yych <= 'W') {
-               if (yych <= 'D') {
-                       if (yych <= ' ') {
-                               if (yych == '\t') goto yy186;
-                               if (yych <= 0x1F) goto yy894;
-                               goto yy186;
-                       } else {
-                               if (yych <= '1') {
-                                       if (yych <= '/') goto yy894;
-                                       goto yy1007;
-                               } else {
-                                       if (yych <= '9') goto yy1009;
-                                       if (yych <= 'C') goto yy894;
-                                       goto yy186;
-                               }
-                       }
+       if (yych <= 'X') {
+               if (yych <= '-') {
+                       if (yych == ')') goto yy174;
+                       if (yych <= ',') goto yy3;
+                       goto yy182;
                } else {
-                       if (yych <= 'L') {
-                               if (yych <= 'F') {
-                                       if (yych <= 'E') goto yy894;
-                                       goto yy186;
-                               } else {
-                                       if (yych == 'H') goto yy186;
-                                       goto yy894;
-                               }
-                       } else {
-                               if (yych <= 'R') {
-                                       if (yych <= 'M') goto yy186;
-                                       goto yy894;
-                               } else {
-                                       if (yych == 'V') goto yy894;
-                                       goto yy186;
-                               }
-                       }
+                       if (yych == '/') goto yy182;
+                       if (yych <= '@') goto yy3;
+                       goto yy179;
                }
        } else {
-               if (yych <= 'l') {
-                       if (yych <= 'd') {
-                               if (yych == 'Y') goto yy186;
-                               if (yych <= 'c') goto yy894;
-                               goto yy186;
-                       } else {
-                               if (yych <= 'f') {
-                                       if (yych <= 'e') goto yy894;
-                                       goto yy186;
-                               } else {
-                                       if (yych == 'h') goto yy186;
-                                       goto yy894;
-                               }
-                       }
+               if (yych <= '_') {
 -                      if (yych <= 'Y') goto yy1235;
++                      if (yych <= 'Y') goto yy1260;
+                       if (yych <= 'Z') goto yy179;
+                       if (yych <= '^') goto yy3;
+                       goto yy182;
                } else {
-                       if (yych <= 'w') {
-                               if (yych <= 'r') {
-                                       if (yych <= 'm') goto yy186;
-                                       goto yy894;
-                               } else {
-                                       if (yych == 'v') goto yy894;
-                                       goto yy186;
-                               }
+                       if (yych <= 'x') {
+                               if (yych <= '`') goto yy3;
+                               goto yy187;
                        } else {
-                               if (yych <= 'y') {
-                                       if (yych <= 'x') goto yy894;
-                                       goto yy186;
-                               } else {
-                                       if (yych == 0xC2) goto yy186;
-                                       goto yy894;
-                               }
 -                              if (yych <= 'y') goto yy1264;
++                              if (yych <= 'y') goto yy1289;
+                               if (yych <= 'z') goto yy187;
+                               goto yy3;
                        }
                }
        }
- yy896:
-       YYDEBUG(896, *YYCURSOR);
-       yyaccept = 21;
 -yy1371:
 -      YYDEBUG(1371, *YYCURSOR);
++yy1396:
++      YYDEBUG(1396, *YYCURSOR);
+       yyaccept = 0;
        yych = *(YYMARKER = ++YYCURSOR);
-       if (yych <= 'W') {
-               if (yych <= 'E') {
-                       if (yych <= ' ') {
-                               if (yych == '\t') goto yy186;
-                               if (yych <= 0x1F) goto yy894;
+       if (yych <= 'S') {
+               if (yych <= '-') {
+                       if (yych == ')') goto yy174;
+                       if (yych <= ',') goto yy3;
+                       goto yy182;
+               } else {
+                       if (yych == '/') goto yy182;
+                       if (yych <= '@') goto yy3;
+                       goto yy178;
+               }
+       } else {
+               if (yych <= '_') {
 -                      if (yych <= 'T') goto yy1330;
++                      if (yych <= 'T') goto yy1355;
+                       if (yych <= 'Z') goto yy178;
+                       if (yych <= '^') goto yy3;
+                       goto yy182;
+               } else {
+                       if (yych <= 's') {
+                               if (yych <= '`') goto yy3;
                                goto yy186;
                        } else {
-                               if (yych <= '9') {
-                                       if (yych <= '/') goto yy894;
-                                       goto yy1009;
-                               } else {
-                                       if (yych == 'D') goto yy186;
-                                       goto yy894;
-                               }
 -                              if (yych <= 't') goto yy1372;
++                              if (yych <= 't') goto yy1397;
+                               if (yych <= 'z') goto yy186;
+                               goto yy3;
                        }
 -yy1372:
 -      YYDEBUG(1372, *YYCURSOR);
+               }
+       }
 -                      if (yych == ' ') goto yy1331;
++yy1397:
++      YYDEBUG(1397, *YYCURSOR);
+       yyaccept = 0;
+       yych = *(YYMARKER = ++YYCURSOR);
+       if (yych <= '.') {
+               if (yych <= '(') {
++                      if (yych == ' ') goto yy1356;
+                       goto yy3;
                } else {
-                       if (yych <= 'L') {
-                               if (yych == 'G') goto yy894;
-                               if (yych <= 'H') goto yy186;
-                               goto yy894;
+                       if (yych <= ')') goto yy174;
+                       if (yych == '-') goto yy182;
+                       goto yy3;
+               }
+       } else {
+               if (yych <= '^') {
+                       if (yych <= '/') goto yy182;
+                       if (yych <= '@') goto yy3;
+                       if (yych <= 'Z') goto yy179;
+                       goto yy3;
+               } else {
+                       if (yych <= '_') goto yy182;
+                       if (yych <= '`') goto yy3;
+                       if (yych <= 'z') goto yy187;
+                       goto yy3;
+               }
+       }
 -yy1373:
 -      YYDEBUG(1373, *YYCURSOR);
++yy1398:
++      YYDEBUG(1398, *YYCURSOR);
+       yyaccept = 0;
+       yych = *(YYMARKER = ++YYCURSOR);
+       if (yych <= 'Q') {
+               if (yych <= '-') {
+                       if (yych == ')') goto yy174;
+                       if (yych <= ',') goto yy3;
+                       goto yy182;
+               } else {
+                       if (yych == '/') goto yy182;
+                       if (yych <= '@') goto yy3;
+                       goto yy177;
+               }
+       } else {
+               if (yych <= '_') {
 -                      if (yych <= 'R') goto yy1345;
++                      if (yych <= 'R') goto yy1370;
+                       if (yych <= 'Z') goto yy177;
+                       if (yych <= '^') goto yy3;
+                       goto yy182;
+               } else {
+                       if (yych <= 'q') {
+                               if (yych <= '`') goto yy3;
+                               goto yy185;
                        } else {
-                               if (yych <= 'R') {
-                                       if (yych <= 'M') goto yy186;
-                                       goto yy894;
-                               } else {
-                                       if (yych == 'V') goto yy894;
-                                       goto yy186;
-                               }
 -                              if (yych <= 'r') goto yy1374;
++                              if (yych <= 'r') goto yy1399;
+                               if (yych <= 'z') goto yy185;
+                               goto yy3;
                        }
                }
 -yy1374:
 -      YYDEBUG(1374, *YYCURSOR);
+       }
++yy1399:
++      YYDEBUG(1399, *YYCURSOR);
+       yyaccept = 0;
+       yych = *(YYMARKER = ++YYCURSOR);
+       if (yych <= 'S') {
+               if (yych <= '-') {
+                       if (yych == ')') goto yy174;
+                       if (yych <= ',') goto yy3;
+                       goto yy182;
+               } else {
+                       if (yych == '/') goto yy182;
+                       if (yych <= '@') goto yy3;
+                       goto yy178;
+               }
        } else {
-               if (yych <= 'l') {
-                       if (yych <= 'd') {
-                               if (yych == 'Y') goto yy186;
-                               if (yych <= 'c') goto yy894;
+               if (yych <= '_') {
 -                      if (yych <= 'T') goto yy1346;
++                      if (yych <= 'T') goto yy1371;
+                       if (yych <= 'Z') goto yy178;
+                       if (yych <= '^') goto yy3;
+                       goto yy182;
+               } else {
+                       if (yych <= 's') {
+                               if (yych <= '`') goto yy3;
                                goto yy186;
                        } else {
-                               if (yych <= 'f') {
-                                       if (yych <= 'e') goto yy894;
-                                       goto yy186;
-                               } else {
-                                       if (yych == 'h') goto yy186;
-                                       goto yy894;
-                               }
 -                              if (yych <= 't') goto yy1375;
++                              if (yych <= 't') goto yy1400;
+                               if (yych <= 'z') goto yy186;
+                               goto yy3;
                        }
 -yy1375:
 -      YYDEBUG(1375, *YYCURSOR);
+               }
+       }
++yy1400:
++      YYDEBUG(1400, *YYCURSOR);
+       yyaccept = 0;
+       yych = *(YYMARKER = ++YYCURSOR);
+       if (yych <= 'G') {
+               if (yych <= '-') {
+                       if (yych == ')') goto yy174;
+                       if (yych <= ',') goto yy3;
+                       goto yy182;
                } else {
-                       if (yych <= 'w') {
-                               if (yych <= 'r') {
-                                       if (yych <= 'm') goto yy186;
-                                       goto yy894;
-                               } else {
-                                       if (yych == 'v') goto yy894;
-                                       goto yy186;
-                               }
+                       if (yych == '/') goto yy182;
+                       if (yych <= '@') goto yy3;
+                       goto yy179;
+               }
+       } else {
+               if (yych <= '_') {
 -                      if (yych <= 'H') goto yy1215;
++                      if (yych <= 'H') goto yy1240;
+                       if (yych <= 'Z') goto yy179;
+                       if (yych <= '^') goto yy3;
+                       goto yy182;
+               } else {
+                       if (yych <= 'g') {
+                               if (yych <= '`') goto yy3;
+                               goto yy187;
                        } else {
-                               if (yych <= 'y') {
-                                       if (yych <= 'x') goto yy894;
-                                       goto yy186;
-                               } else {
-                                       if (yych == 0xC2) goto yy186;
-                                       goto yy894;
-                               }
 -                              if (yych <= 'h') goto yy1227;
++                              if (yych <= 'h') goto yy1252;
+                               if (yych <= 'z') goto yy187;
+                               goto yy3;
                        }
                }
        }
- yy897:
-       YYDEBUG(897, *YYCURSOR);
-       yych = *++YYCURSOR;
-       if (yych <= '/') goto yy186;
-       if (yych <= '9') goto yy1009;
-       goto yy186;
- yy898:
-       YYDEBUG(898, *YYCURSOR);
-       yych = *++YYCURSOR;
-       if (yych == ':') goto yy1010;
-       goto yy56;
- yy899:
-       YYDEBUG(899, *YYCURSOR);
-       yyaccept = 22;
-       yych = *(YYMARKER = ++YYCURSOR);
-       if (yych == 'I') goto yy1011;
-       if (yych == 'i') goto yy1011;
-       goto yy581;
- yy900:
-       YYDEBUG(900, *YYCURSOR);
-       yyaccept = 22;
-       yych = *(YYMARKER = ++YYCURSOR);
-       if (yych == 'U') goto yy1012;
-       if (yych == 'u') goto yy1012;
-       goto yy581;
- yy901:
-       YYDEBUG(901, *YYCURSOR);
-       yyaccept = 22;
-       yych = *(YYMARKER = ++YYCURSOR);
-       if (yych == 'E') goto yy1013;
-       if (yych == 'e') goto yy1013;
-       goto yy581;
- yy902:
-       YYDEBUG(902, *YYCURSOR);
-       yyaccept = 22;
-       yych = *(YYMARKER = ++YYCURSOR);
-       if (yych == 'R') goto yy1014;
-       if (yych == 'r') goto yy1014;
-       goto yy581;
- yy903:
-       YYDEBUG(903, *YYCURSOR);
-       yyaccept = 22;
-       yych = *(YYMARKER = ++YYCURSOR);
-       if (yych == 'U') goto yy1015;
-       if (yych == 'u') goto yy1015;
-       goto yy581;
- yy904:
-       YYDEBUG(904, *YYCURSOR);
-       yych = *++YYCURSOR;
-       if (yych == 'Y') goto yy765;
-       if (yych == 'y') goto yy765;
-       goto yy581;
- yy905:
-       YYDEBUG(905, *YYCURSOR);
-       yych = *++YYCURSOR;
-       if (yych == 'E') goto yy765;
-       if (yych == 'e') goto yy765;
-       goto yy581;
- yy906:
-       YYDEBUG(906, *YYCURSOR);
-       yyaccept = 22;
-       yych = *(YYMARKER = ++YYCURSOR);
-       if (yych == 'C') goto yy1016;
-       if (yych == 'c') goto yy1016;
-       goto yy581;
- yy907:
-       YYDEBUG(907, *YYCURSOR);
-       yyaccept = 22;
-       yych = *(YYMARKER = ++YYCURSOR);
-       if (yych == 'O') goto yy1017;
-       if (yych == 'o') goto yy1017;
-       goto yy581;
- yy908:
-       YYDEBUG(908, *YYCURSOR);
-       yych = *++YYCURSOR;
-       if (yych == 'T') goto yy901;
-       if (yych == 't') goto yy901;
-       goto yy581;
- yy909:
-       YYDEBUG(909, *YYCURSOR);
-       yyaccept = 23;
-       yych = *(YYMARKER = ++YYCURSOR);
-       if (yych == '-') goto yy1018;
-       if (yych <= '/') goto yy910;
-       if (yych <= '7') goto yy1019;
- yy910:
-       YYDEBUG(910, *YYCURSOR);
- #line 1574 "parse_date.re"
-       {
-               timelib_sll w, d;
-               DEBUG_OUTPUT("isoweek");
-               TIMELIB_INIT;
-               TIMELIB_HAVE_DATE();
-               TIMELIB_HAVE_RELATIVE();
-               s->time->y = timelib_get_nr(&ptr, 4);
-               w = timelib_get_nr(&ptr, 2);
-               d = 1;
-               s->time->m = 1;
-               s->time->d = 1;
-               s->time->relative.d = timelib_daynr_from_weeknr(s->time->y, w, d);
-               TIMELIB_DEINIT;
-               return TIMELIB_ISO_WEEK;
-       }
- #line 18482 "<stdout>"
- yy911:
-       YYDEBUG(911, *YYCURSOR);
-       yych = *++YYCURSOR;
-       if (yych == 'G') goto yy1021;
-       if (yych == 'g') goto yy1021;
-       goto yy56;
- yy912:
-       YYDEBUG(912, *YYCURSOR);
-       yych = *++YYCURSOR;
-       if (yych == 'Y') goto yy243;
-       if (yych == 'y') goto yy243;
-       goto yy56;
- yy913:
-       YYDEBUG(913, *YYCURSOR);
-       yych = *++YYCURSOR;
-       if (yych == 'E') goto yy1022;
-       if (yych == 'e') goto yy1022;
-       goto yy56;
- yy914:
-       YYDEBUG(914, *YYCURSOR);
-       yych = *++YYCURSOR;
-       if (yych == 'R') goto yy243;
-       if (yych == 'r') goto yy243;
-       goto yy56;
- yy915:
-       YYDEBUG(915, *YYCURSOR);
-       yyaccept = 4;
 -yy1376:
 -      YYDEBUG(1376, *YYCURSOR);
++yy1401:
++      YYDEBUG(1401, *YYCURSOR);
+       yyaccept = 0;
        yych = *(YYMARKER = ++YYCURSOR);
-       if (yych <= ':') {
-               if (yych <= ' ') {
-                       if (yych == '\t') goto yy620;
-                       if (yych <= 0x1F) goto yy209;
-                       goto yy620;
+       if (yych <= 'R') {
+               if (yych <= '-') {
+                       if (yych == ')') goto yy174;
+                       if (yych <= ',') goto yy3;
+                       goto yy182;
                } else {
-                       if (yych == '.') goto yy1023;
-                       if (yych <= '9') goto yy209;
-                       goto yy1024;
+                       if (yych == '/') goto yy182;
+                       if (yych <= '@') goto yy3;
+                       goto yy177;
                }
        } else {
-               if (yych <= 'P') {
-                       if (yych == 'A') goto yy101;
-                       if (yych <= 'O') goto yy209;
-                       goto yy101;
+               if (yych <= '_') {
 -                      if (yych <= 'S') goto yy1350;
++                      if (yych <= 'S') goto yy1375;
+                       if (yych <= 'Z') goto yy177;
+                       if (yych <= '^') goto yy3;
+                       goto yy182;
                } else {
-                       if (yych <= 'a') {
-                               if (yych <= '`') goto yy209;
-                               goto yy101;
+                       if (yych <= 'r') {
+                               if (yych <= '`') goto yy3;
+                               goto yy185;
                        } else {
-                               if (yych == 'p') goto yy101;
-                               goto yy209;
 -                              if (yych <= 's') goto yy1379;
++                              if (yych <= 's') goto yy1404;
+                               if (yych <= 'z') goto yy185;
+                               goto yy3;
                        }
                }
        }
- yy916:
-       YYDEBUG(916, *YYCURSOR);
-       yyaccept = 15;
 -yy1377:
 -      YYDEBUG(1377, *YYCURSOR);
++yy1402:
++      YYDEBUG(1402, *YYCURSOR);
+       yyaccept = 0;
        yych = *(YYMARKER = ++YYCURSOR);
-       if (yych <= 'n') {
-               if (yych <= '/') goto yy548;
-               if (yych <= '9') goto yy1025;
-               if (yych <= 'm') goto yy548;
-               goto yy718;
+       if (yych <= 'S') {
+               if (yych <= '-') {
+                       if (yych == ')') goto yy174;
+                       if (yych <= ',') goto yy3;
+                       goto yy182;
+               } else {
+                       if (yych == '/') goto yy182;
+                       if (yych <= '@') goto yy3;
+                       goto yy177;
+               }
        } else {
-               if (yych <= 'r') {
-                       if (yych <= 'q') goto yy548;
-                       goto yy718;
+               if (yych <= '_') {
 -                      if (yych <= 'T') goto yy1349;
++                      if (yych <= 'T') goto yy1374;
+                       if (yych <= 'Z') goto yy177;
+                       if (yych <= '^') goto yy3;
+                       goto yy182;
                } else {
-                       if (yych <= 's') goto yy719;
-                       if (yych <= 't') goto yy720;
-                       goto yy548;
+                       if (yych <= 's') {
+                               if (yych <= '`') goto yy3;
+                               goto yy185;
+                       } else {
 -                              if (yych <= 't') goto yy1378;
++                              if (yych <= 't') goto yy1403;
+                               if (yych <= 'z') goto yy185;
+                               goto yy3;
+                       }
                }
        }
- yy917:
-       YYDEBUG(917, *YYCURSOR);
-       yyaccept = 15;
 -yy1378:
 -      YYDEBUG(1378, *YYCURSOR);
++yy1403:
++      YYDEBUG(1403, *YYCURSOR);
+       yyaccept = 0;
        yych = *(YYMARKER = ++YYCURSOR);
-       if (yych <= 'n') {
-               if (yych <= '/') goto yy548;
-               if (yych <= '1') goto yy1025;
-               if (yych <= 'm') goto yy548;
-               goto yy718;
-       } else {
-               if (yych <= 'r') {
-                       if (yych <= 'q') goto yy548;
-                       goto yy718;
+       if (yych <= 'G') {
+               if (yych <= '-') {
+                       if (yych == ')') goto yy174;
+                       if (yych <= ',') goto yy3;
+                       goto yy182;
                } else {
-                       if (yych <= 's') goto yy719;
-                       if (yych <= 't') goto yy720;
-                       goto yy548;
+                       if (yych == '/') goto yy182;
+                       if (yych <= '@') goto yy3;
+                       goto yy178;
+               }
+       } else {
+               if (yych <= '_') {
 -                      if (yych <= 'H') goto yy1238;
++                      if (yych <= 'H') goto yy1263;
+                       if (yych <= 'Z') goto yy178;
+                       if (yych <= '^') goto yy3;
+                       goto yy182;
+               } else {
+                       if (yych <= 'g') {
+                               if (yych <= '`') goto yy3;
+                               goto yy186;
+                       } else {
 -                              if (yych <= 'h') goto yy1267;
++                              if (yych <= 'h') goto yy1292;
+                               if (yych <= 'z') goto yy186;
+                               goto yy3;
+                       }
                }
        }
- yy918:
-       YYDEBUG(918, *YYCURSOR);
-       yych = *++YYCURSOR;
-       if (yych <= '/') goto yy56;
-       if (yych <= '2') goto yy1026;
-       if (yych <= '3') goto yy1027;
-       goto yy56;
- yy919:
-       YYDEBUG(919, *YYCURSOR);
-       yych = *++YYCURSOR;
-       if (yych <= '/') goto yy276;
-       if (yych <= '9') goto yy1028;
-       goto yy276;
- yy920:
-       YYDEBUG(920, *YYCURSOR);
-       yych = *++YYCURSOR;
-       if (yych <= '/') goto yy56;
-       if (yych <= '9') goto yy1029;
-       goto yy56;
- yy921:
-       YYDEBUG(921, *YYCURSOR);
-       ++YYCURSOR;
-       if (YYLIMIT <= YYCURSOR) YYFILL(1);
-       yych = *YYCURSOR;
- yy922:
-       YYDEBUG(922, *YYCURSOR);
-       if (yybm[0+yych] & 128) {
-               goto yy921;
-       }
-       if (yych <= '.') {
-               if (yych == '-') goto yy283;
-               goto yy56;
 -yy1379:
 -      YYDEBUG(1379, *YYCURSOR);
++yy1404:
++      YYDEBUG(1404, *YYCURSOR);
+       yyaccept = 0;
+       yych = *(YYMARKER = ++YYCURSOR);
+       if (yych <= 'S') {
+               if (yych <= '-') {
+                       if (yych == ')') goto yy174;
+                       if (yych <= ',') goto yy3;
+                       goto yy182;
+               } else {
+                       if (yych == '/') goto yy182;
+                       if (yych <= '@') goto yy3;
+                       goto yy178;
+               }
        } else {
-               if (yych <= '/') goto yy283;
-               if (yych == '_') goto yy283;
-               goto yy56;
+               if (yych <= '_') {
 -                      if (yych <= 'T') goto yy1351;
++                      if (yych <= 'T') goto yy1376;
+                       if (yych <= 'Z') goto yy178;
+                       if (yych <= '^') goto yy3;
+                       goto yy182;
+               } else {
+                       if (yych <= 's') {
+                               if (yych <= '`') goto yy3;
+                               goto yy186;
+                       } else {
 -                              if (yych <= 't') goto yy1380;
++                              if (yych <= 't') goto yy1405;
+                               if (yych <= 'z') goto yy186;
+                               goto yy3;
+                       }
+               }
        }
- yy923:
-       YYDEBUG(923, *YYCURSOR);
-       yych = *++YYCURSOR;
-       if (yych == ' ') goto yy1031;
-       goto yy56;
- yy924:
-       YYDEBUG(924, *YYCURSOR);
-       yych = *++YYCURSOR;
-       if (yych == 'R') goto yy935;
-       if (yych == 'r') goto yy935;
-       goto yy56;
- yy925:
-       YYDEBUG(925, *YYCURSOR);
-       yych = *++YYCURSOR;
-       if (yych == 'R') goto yy935;
-       if (yych == 'r') goto yy936;
-       goto yy922;
- yy926:
-       YYDEBUG(926, *YYCURSOR);
-       yych = *++YYCURSOR;
-       if (yych == 'E') goto yy1032;
-       if (yych == 'e') goto yy1032;
-       goto yy56;
- yy927:
-       YYDEBUG(927, *YYCURSOR);
-       yych = *++YYCURSOR;
-       if (yych == 'H') goto yy961;
-       if (yych == 'h') goto yy961;
-       goto yy56;
- yy928:
-       YYDEBUG(928, *YYCURSOR);
-       yych = *++YYCURSOR;
-       if (yych == 'H') goto yy961;
-       if (yych == 'h') goto yy964;
-       goto yy922;
- yy929:
-       YYDEBUG(929, *YYCURSOR);
-       yych = *++YYCURSOR;
-       if (yych == 'Y') goto yy935;
-       if (yych == 'y') goto yy935;
-       goto yy56;
- yy930:
-       YYDEBUG(930, *YYCURSOR);
-       yych = *++YYCURSOR;
-       if (yych == 'Y') goto yy935;
-       if (yych == 'y') goto yy936;
-       goto yy922;
- yy931:
-       YYDEBUG(931, *YYCURSOR);
-       yych = *++YYCURSOR;
-       if (yych <= '/') goto yy56;
-       if (yych <= '5') goto yy1033;
-       if (yych <= '6') goto yy1034;
-       if (yych <= '9') goto yy1035;
-       goto yy56;
- yy932:
-       YYDEBUG(932, *YYCURSOR);
-       yych = *++YYCURSOR;
-       if (yych <= '/') goto yy56;
-       if (yych <= '5') goto yy1036;
-       if (yych <= '6') goto yy1037;
-       if (yych <= '9') goto yy1035;
-       goto yy56;
- yy933:
-       YYDEBUG(933, *YYCURSOR);
-       yyaccept = 20;
 -yy1380:
 -      YYDEBUG(1380, *YYCURSOR);
++yy1405:
++      YYDEBUG(1405, *YYCURSOR);
+       yyaccept = 0;
        yych = *(YYMARKER = ++YYCURSOR);
-       if (yych <= ':') {
+       if (yych <= '-') {
                if (yych <= ' ') {
-                       if (yych == '\t') goto yy1038;
-                       if (yych <= 0x1F) goto yy820;
-                       goto yy1038;
 -                      if (yych == '\t') goto yy1206;
++                      if (yych == '\t') goto yy1231;
+                       if (yych <= 0x1F) goto yy3;
 -                      goto yy1352;
++                      goto yy1377;
                } else {
-                       if (yych == '.') goto yy932;
-                       if (yych <= '9') goto yy820;
-                       goto yy932;
+                       if (yych == ')') goto yy174;
+                       if (yych <= ',') goto yy3;
+                       goto yy182;
                }
        } else {
-               if (yych <= 'P') {
-                       if (yych == 'A') goto yy1040;
-                       if (yych <= 'O') goto yy820;
-                       goto yy1040;
+               if (yych <= 'Z') {
+                       if (yych == '/') goto yy182;
+                       if (yych <= '@') goto yy3;
+                       goto yy179;
                } else {
-                       if (yych <= 'a') {
-                               if (yych <= '`') goto yy820;
-                               goto yy1040;
+                       if (yych <= '_') {
+                               if (yych <= '^') goto yy3;
+                               goto yy182;
                        } else {
-                               if (yych == 'p') goto yy1040;
-                               goto yy820;
+                               if (yych <= '`') goto yy3;
+                               if (yych <= 'z') goto yy187;
+                               goto yy3;
                        }
                }
        }
- yy934:
-       YYDEBUG(934, *YYCURSOR);
-       ++YYCURSOR;
-       goto yy311;
- yy935:
-       YYDEBUG(935, *YYCURSOR);
-       yyaccept = 7;
 -yy1381:
 -      YYDEBUG(1381, *YYCURSOR);
++yy1406:
++      YYDEBUG(1406, *YYCURSOR);
+       yyaccept = 5;
        yych = *(YYMARKER = ++YYCURSOR);
-       if (yych <= ' ') {
-               if (yych == '\t') goto yy135;
-               if (yych <= 0x1F) goto yy281;
-               goto yy135;
+       if (yych <= '9') {
+               if (yych <= '(') {
+                       if (yych <= '\t') {
+                               if (yych <= 0x08) goto yy228;
+                               goto yy230;
+                       } else {
+                               if (yych == ' ') goto yy230;
+                               goto yy228;
+                       }
+               } else {
+                       if (yych <= '-') {
+                               if (yych <= ')') goto yy174;
+                               if (yych <= ',') goto yy228;
+                               goto yy346;
+                       } else {
+                               if (yych == '/') goto yy182;
+                               goto yy230;
+                       }
+               }
        } else {
-               if (yych <= '.') {
-                       if (yych <= ',') goto yy281;
-                       goto yy135;
+               if (yych <= '^') {
+                       if (yych <= 'Q') {
+                               if (yych <= '@') goto yy228;
+                               goto yy177;
+                       } else {
 -                              if (yych <= 'R') goto yy1359;
++                              if (yych <= 'R') goto yy1384;
+                               if (yych <= 'Z') goto yy177;
+                               goto yy228;
+                       }
                } else {
-                       if (yych <= '/') goto yy281;
-                       if (yych <= '9') goto yy135;
-                       goto yy281;
+                       if (yych <= 'q') {
+                               if (yych <= '_') goto yy182;
+                               if (yych <= '`') goto yy228;
+                               goto yy185;
+                       } else {
 -                              if (yych <= 'r') goto yy1382;
++                              if (yych <= 'r') goto yy1407;
+                               if (yych <= 'z') goto yy185;
+                               goto yy228;
+                       }
                }
        }
- yy936:
-       YYDEBUG(936, *YYCURSOR);
-       yyaccept = 7;
 -yy1382:
 -      YYDEBUG(1382, *YYCURSOR);
++yy1407:
++      YYDEBUG(1407, *YYCURSOR);
+       yyaccept = 0;
        yych = *(YYMARKER = ++YYCURSOR);
-       if (yybm[0+yych] & 128) {
-               goto yy921;
+       if (yych <= 'T') {
+               if (yych <= '-') {
+                       if (yych == ')') goto yy174;
+                       if (yych <= ',') goto yy3;
+                       goto yy182;
+               } else {
+                       if (yych == '/') goto yy182;
+                       if (yych <= '@') goto yy3;
+                       goto yy178;
+               }
+       } else {
+               if (yych <= '_') {
 -                      if (yych <= 'U') goto yy1360;
++                      if (yych <= 'U') goto yy1385;
+                       if (yych <= 'Z') goto yy178;
+                       if (yych <= '^') goto yy3;
+                       goto yy182;
+               } else {
+                       if (yych <= 't') {
+                               if (yych <= '`') goto yy3;
+                               goto yy186;
+                       } else {
 -                              if (yych <= 'u') goto yy1383;
++                              if (yych <= 'u') goto yy1408;
+                               if (yych <= 'z') goto yy186;
+                               goto yy3;
+                       }
+               }
        }
-       if (yych <= '-') {
-               if (yych <= 0x1F) {
-                       if (yych == '\t') goto yy135;
-                       goto yy281;
 -yy1383:
 -      YYDEBUG(1383, *YYCURSOR);
++yy1408:
++      YYDEBUG(1408, *YYCURSOR);
+       yyaccept = 0;
+       yych = *(YYMARKER = ++YYCURSOR);
+       if (yych <= '@') {
+               if (yych <= ',') {
+                       if (yych == ')') goto yy174;
+                       goto yy3;
                } else {
-                       if (yych <= ' ') goto yy135;
-                       if (yych <= ',') goto yy281;
-                       goto yy680;
+                       if (yych == '.') goto yy3;
+                       if (yych <= '/') goto yy182;
+                       goto yy3;
                }
        } else {
-               if (yych <= '9') {
-                       if (yych == '/') goto yy283;
-                       goto yy135;
+               if (yych <= '_') {
 -                      if (yych <= 'A') goto yy1361;
++                      if (yych <= 'A') goto yy1386;
+                       if (yych <= 'Z') goto yy179;
+                       if (yych <= '^') goto yy3;
+                       goto yy182;
                } else {
-                       if (yych == '_') goto yy283;
-                       goto yy281;
+                       if (yych <= '`') goto yy3;
 -                      if (yych <= 'a') goto yy1384;
++                      if (yych <= 'a') goto yy1409;
+                       if (yych <= 'z') goto yy187;
+                       goto yy3;
                }
        }
- yy937:
-       YYDEBUG(937, *YYCURSOR);
-       yych = *++YYCURSOR;
-       if (yych == 'Y') goto yy1041;
-       if (yych == 'y') goto yy1041;
-       goto yy56;
- yy938:
-       YYDEBUG(938, *YYCURSOR);
-       yych = *++YYCURSOR;
-       if (yych == 'R') goto yy1042;
-       if (yych == 'r') goto yy1042;
-       goto yy56;
- yy939:
-       YYDEBUG(939, *YYCURSOR);
-       yych = *++YYCURSOR;
-       if (yych == 'I') goto yy1043;
-       if (yych == 'i') goto yy1043;
-       goto yy56;
- yy940:
-       YYDEBUG(940, *YYCURSOR);
-       yych = *++YYCURSOR;
-       if (yych == 'U') goto yy1044;
-       if (yych == 'u') goto yy1044;
-       goto yy56;
- yy941:
-       YYDEBUG(941, *YYCURSOR);
-       yych = *++YYCURSOR;
-       if (yych <= 'N') {
-               if (yych <= 'K') {
-                       if (yych == 'C') goto yy1045;
-                       goto yy56;
 -yy1384:
 -      YYDEBUG(1384, *YYCURSOR);
++yy1409:
++      YYDEBUG(1409, *YYCURSOR);
+       yyaccept = 0;
+       yych = *(YYMARKER = ++YYCURSOR);
+       if (yych <= 'Q') {
+               if (yych <= ',') {
+                       if (yych == ')') goto yy174;
+                       goto yy3;
                } else {
-                       if (yych <= 'L') goto yy1046;
-                       if (yych <= 'M') goto yy56;
-                       goto yy1047;
+                       if (yych == '.') goto yy3;
+                       if (yych <= '/') goto yy182;
+                       goto yy3;
                }
        } else {
-               if (yych <= 'k') {
-                       if (yych == 'c') goto yy1045;
-                       goto yy56;
+               if (yych <= '`') {
 -                      if (yych <= 'R') goto yy1362;
++                      if (yych <= 'R') goto yy1387;
+                       if (yych == '_') goto yy182;
+                       goto yy3;
                } else {
-                       if (yych <= 'l') goto yy1046;
-                       if (yych == 'n') goto yy1047;
-                       goto yy56;
 -                      if (yych == 'r') goto yy1385;
++                      if (yych == 'r') goto yy1410;
+                       if (yych <= 'z') goto yy188;
+                       goto yy3;
                }
        }
- yy942:
-       YYDEBUG(942, *YYCURSOR);
 -yy1385:
 -      YYDEBUG(1385, *YYCURSOR);
++yy1410:
++      YYDEBUG(1410, *YYCURSOR);
        yych = *++YYCURSOR;
-       if (yych == 'N') goto yy1048;
-       if (yych == 'n') goto yy1048;
-       goto yy56;
- yy943:
-       YYDEBUG(943, *YYCURSOR);
-       yyaccept = 24;
-       yych = *(YYMARKER = ++YYCURSOR);
-       if (yych == 'E') goto yy1049;
-       if (yych == 'e') goto yy1049;
- yy944:
-       YYDEBUG(944, *YYCURSOR);
- #line 1714 "parse_date.re"
+       if (yych == 'Y') goto yy239;
+       if (yych == 'y') goto yy351;
+       goto yy189;
 -yy1386:
 -      YYDEBUG(1386, *YYCURSOR);
++yy1411:
++      YYDEBUG(1411, *YYCURSOR);
+       yych = *++YYCURSOR;
+       if (yych <= '/') goto yy55;
+       if (yych >= ':') goto yy55;
 -yy1387:
 -      YYDEBUG(1387, *YYCURSOR);
 -      yyaccept = 28;
 -      YYMARKER = ++YYCURSOR;
++yy1412:
++      YYDEBUG(1412, *YYCURSOR);
++      ++YYCURSOR;
+       if ((YYLIMIT - YYCURSOR) < 7) YYFILL(7);
+       yych = *YYCURSOR;
 -      YYDEBUG(1388, *YYCURSOR);
 -      if (yych == '.') goto yy1390;
 -      if (yych <= '/') goto yy1389;
 -      if (yych <= '9') goto yy1387;
 -yy1389:
 -      YYDEBUG(1389, *YYCURSOR);
 -#line 1071 "parse_date.re"
++      YYDEBUG(1413, *YYCURSOR);
++      if (yych == '.') goto yy1415;
++      if (yych <= '/') goto yy1414;
++      if (yych <= '9') goto yy1412;
++yy1414:
++      YYDEBUG(1414, *YYCURSOR);
++#line 1076 "parse_date.re"
        {
-               timelib_sll i;
-               int         behavior = 0;
-               DEBUG_OUTPUT("relativetext");
+               timelib_ull i;
                TIMELIB_INIT;
                TIMELIB_HAVE_RELATIVE();
 -              i = timelib_get_unsigned_nr((char **) &ptr, 24);
+               TIMELIB_UNHAVE_DATE();
+               TIMELIB_UNHAVE_TIME();
+               TIMELIB_HAVE_TZ();
++              i = timelib_get_unsigned_nr(&ptr, 24);
+               s->time->y = 1970;
+               s->time->m = 1;
+               s->time->d = 1;
+               s->time->h = s->time->i = s->time->s = 0;
+               s->time->us = 0;
+               s->time->relative.s += i;
+               s->time->is_localtime = 1;
+               s->time->zone_type = TIMELIB_ZONETYPE_OFFSET;
+               s->time->z = 0;
+               s->time->dst = 0;
  
-               while(*ptr) {
-                       i = timelib_get_relative_text(&ptr, &behavior);
-                       timelib_eat_spaces(&ptr);
-                       timelib_set_relative(&ptr, i, behavior, s);
-               }
                TIMELIB_DEINIT;
                return TIMELIB_RELATIVE;
        }
- #line 18826 "<stdout>"
- yy945:
-       YYDEBUG(945, *YYCURSOR);
-       yych = *++YYCURSOR;
-       if (yych == 'T') goto yy1050;
-       if (yych == 't') goto yy1050;
-       goto yy56;
- yy946:
-       YYDEBUG(946, *YYCURSOR);
-       yych = *++YYCURSOR;
-       if (yych == 'C') goto yy1051;
-       if (yych == 'c') goto yy1051;
-       goto yy56;
- yy947:
-       YYDEBUG(947, *YYCURSOR);
-       yych = *++YYCURSOR;
-       if (yych == 'N') goto yy1043;
-       if (yych == 'n') goto yy1043;
-       goto yy56;
- yy948:
-       YYDEBUG(948, *YYCURSOR);
-       yych = *++YYCURSOR;
-       if (yych == 'U') goto yy1052;
-       if (yych == 'u') goto yy1052;
-       goto yy56;
- yy949:
-       YYDEBUG(949, *YYCURSOR);
-       yych = *++YYCURSOR;
-       if (yych == 'E') goto yy1053;
-       if (yych == 'e') goto yy1053;
-       goto yy56;
- yy950:
-       YYDEBUG(950, *YYCURSOR);
-       yych = *++YYCURSOR;
-       if (yych == 'E') goto yy1049;
-       if (yych == 'e') goto yy1049;
-       goto yy56;
- yy951:
-       YYDEBUG(951, *YYCURSOR);
-       yych = *++YYCURSOR;
-       if (yych <= 'E') {
-               if (yych <= 'C') goto yy56;
-               if (yych <= 'D') goto yy1054;
-               goto yy1055;
-       } else {
-               if (yych <= 'c') goto yy56;
-               if (yych <= 'd') goto yy1054;
-               if (yych <= 'e') goto yy1055;
-               goto yy56;
-       }
- yy952:
-       YYDEBUG(952, *YYCURSOR);
-       yych = *++YYCURSOR;
-       if (yych == 'A') goto yy1044;
-       if (yych == 'a') goto yy1044;
-       goto yy56;
- yy953:
-       YYDEBUG(953, *YYCURSOR);
-       yych = *++YYCURSOR;
-       if (yych == 'S') goto yy943;
-       if (yych == 's') goto yy943;
-       goto yy56;
- yy954:
-       YYDEBUG(954, *YYCURSOR);
 -#line 21492 "<stdout>"
 -yy1390:
 -      YYDEBUG(1390, *YYCURSOR);
--      yych = *++YYCURSOR;
-       if (yych == 'Y') goto yy1056;
-       if (yych == 'y') goto yy1056;
-       goto yy56;
- yy955:
-       YYDEBUG(955, *YYCURSOR);
 -      if (yych <= '/') goto yy55;
 -      if (yych >= ':') goto yy55;
 -      YYDEBUG(1391, *YYCURSOR);
--      yych = *++YYCURSOR;
-       if (yych == 'T') goto yy1057;
-       if (yych == 't') goto yy1057;
-       goto yy56;
- yy956:
-       YYDEBUG(956, *YYCURSOR);
 -      if (yych <= '/') goto yy55;
 -      if (yych >= ':') goto yy55;
 -      YYDEBUG(1392, *YYCURSOR);
--      yych = *++YYCURSOR;
-       if (yych == 'T') goto yy1057;
-       if (yych == 't') goto yy1058;
-       goto yy922;
- yy957:
-       YYDEBUG(957, *YYCURSOR);
 -      if (yych <= '/') goto yy55;
 -      if (yych >= ':') goto yy55;
 -      YYDEBUG(1393, *YYCURSOR);
--      yych = *++YYCURSOR;
-       if (yych == 'S') goto yy1059;
-       if (yych == 's') goto yy1059;
-       goto yy56;
- yy958:
-       YYDEBUG(958, *YYCURSOR);
 -      if (yych <= '/') goto yy55;
 -      if (yych >= ':') goto yy55;
 -      YYDEBUG(1394, *YYCURSOR);
--      yych = *++YYCURSOR;
-       if (yych == 'S') goto yy1059;
-       if (yych == 's') goto yy1060;
-       goto yy922;
- yy959:
-       YYDEBUG(959, *YYCURSOR);
 -      if (yych <= '/') goto yy55;
 -      if (yych >= ':') goto yy55;
 -      YYDEBUG(1395, *YYCURSOR);
--      yych = *++YYCURSOR;
-       if (yych == 'Y') goto yy967;
-       if (yych == 'y') goto yy967;
-       goto yy56;
- yy960:
-       YYDEBUG(960, *YYCURSOR);
 -      if (yych <= '/') goto yy55;
 -      if (yych >= ':') goto yy55;
 -      YYDEBUG(1396, *YYCURSOR);
++#line 21628 "<stdout>"
++yy1415:
++      YYDEBUG(1415, *YYCURSOR);
+       ++YYCURSOR;
 -      YYDEBUG(1397, *YYCURSOR);
 -#line 1097 "parse_date.re"
++      if ((yych = *YYCURSOR) <= '/') goto yy1416;
++      if (yych <= '9') goto yy1417;
++yy1416:
++      YYDEBUG(1416, *YYCURSOR);
++#line 1102 "parse_date.re"
+       {
+               timelib_ull i, us;
++              const char *ptr_before;
+               TIMELIB_INIT;
+               TIMELIB_HAVE_RELATIVE();
+               TIMELIB_UNHAVE_DATE();
+               TIMELIB_UNHAVE_TIME();
+               TIMELIB_HAVE_TZ();
 -              i = timelib_get_unsigned_nr((char **) &ptr, 24);
 -              us = timelib_get_unsigned_nr((char **) &ptr, 24);
++              i = timelib_get_unsigned_nr(&ptr, 24);
++
++              ptr_before = ptr;
++              us = timelib_get_unsigned_nr(&ptr, 6);
++              us = us * pow(10, 7 - (ptr - ptr_before));
++
+               s->time->y = 1970;
+               s->time->m = 1;
+               s->time->d = 1;
+               s->time->h = s->time->i = s->time->s = 0;
+               s->time->us = 0;
+               s->time->relative.s += i;
+               s->time->relative.us = us;
+               s->time->is_localtime = 1;
+               s->time->zone_type = TIMELIB_ZONETYPE_OFFSET;
+               s->time->z = 0;
+               s->time->dst = 0;
+               TIMELIB_DEINIT;
+               return TIMELIB_RELATIVE;
+       }
 -#line 21548 "<stdout>"
 -yy1398:
 -      YYDEBUG(1398, *YYCURSOR);
++#line 21668 "<stdout>"
++yy1417:
++      YYDEBUG(1417, *YYCURSOR);
 +      yych = *++YYCURSOR;
-       if (yych == 'E') goto yy924;
-       if (yych == 'e') goto yy924;
-       goto yy56;
- yy961:
-       YYDEBUG(961, *YYCURSOR);
++      if (yych <= '/') goto yy1416;
++      if (yych >= ':') goto yy1416;
++      YYDEBUG(1418, *YYCURSOR);
 +      yych = *++YYCURSOR;
-       if (yych == '\t') goto yy808;
-       if (yych == ' ') goto yy808;
-       goto yy56;
- yy962:
-       YYDEBUG(962, *YYCURSOR);
++      if (yych <= '/') goto yy1416;
++      if (yych >= ':') goto yy1416;
++      YYDEBUG(1419, *YYCURSOR);
 +      yych = *++YYCURSOR;
-       if (yych == 'Y') goto yy967;
-       if (yych == 'y') goto yy969;
-       goto yy922;
- yy963:
-       YYDEBUG(963, *YYCURSOR);
++      if (yych <= '/') goto yy1416;
++      if (yych >= ':') goto yy1416;
++      YYDEBUG(1420, *YYCURSOR);
 +      yych = *++YYCURSOR;
-       if (yych == 'E') goto yy924;
-       if (yych == 'e') goto yy925;
-       goto yy922;
- yy964:
-       YYDEBUG(964, *YYCURSOR);
++      if (yych <= '/') goto yy1416;
++      if (yych >= ':') goto yy1416;
++      YYDEBUG(1421, *YYCURSOR);
 +      yych = *++YYCURSOR;
-       if (yych == '\t') goto yy808;
-       if (yych == ' ') goto yy808;
-       goto yy922;
- yy965:
-       YYDEBUG(965, *YYCURSOR);
-       ++YYCURSOR;
-       goto yy752;
- yy966:
-       YYDEBUG(966, *YYCURSOR);
++      if (yych <= '/') goto yy1416;
++      if (yych >= ':') goto yy1416;
++      YYDEBUG(1422, *YYCURSOR);
 +      yych = *++YYCURSOR;
-       if (yych == 'W') goto yy1061;
-       if (yych == 'w') goto yy1061;
-       goto yy56;
- yy967:
-       YYDEBUG(967, *YYCURSOR);
-       ++YYCURSOR;
-       goto yy301;
- yy968:
-       YYDEBUG(968, *YYCURSOR);
++      goto yy1416;
++yy1423:
++      YYDEBUG(1423, *YYCURSOR);
        yych = *++YYCURSOR;
-       if (yych == 'W') goto yy1061;
-       if (yych == 'w') goto yy1063;
-       goto yy922;
- yy969:
-       YYDEBUG(969, *YYCURSOR);
-       yyaccept = 9;
-       yych = *(YYMARKER = ++YYCURSOR);
-       if (yybm[0+yych] & 128) {
-               goto yy921;
-       }
-       if (yych <= '.') {
-               if (yych == '-') goto yy283;
-               goto yy301;
+       if (yych <= 'N') {
+               if (yych <= ')') {
+                       if (yych <= '(') goto yy3;
+                       goto yy174;
+               } else {
+                       if (yych <= '@') goto yy3;
+                       if (yych <= 'M') goto yy176;
 -                      goto yy1439;
++                      goto yy1464;
+               }
        } else {
-               if (yych <= '/') goto yy283;
-               if (yych == '_') goto yy283;
-               goto yy301;
+               if (yych <= 'm') {
+                       if (yych <= 'Z') goto yy176;
+                       if (yych <= '`') goto yy3;
+                       goto yy176;
+               } else {
 -                      if (yych <= 'n') goto yy1439;
++                      if (yych <= 'n') goto yy1464;
+                       if (yych <= 'z') goto yy176;
+                       goto yy3;
+               }
        }
- yy970:
-       YYDEBUG(970, *YYCURSOR);
-       yych = *++YYCURSOR;
-       if (yych == 'A') goto yy959;
-       if (yych == 'a') goto yy959;
-       goto yy56;
- yy971:
-       YYDEBUG(971, *YYCURSOR);
 -yy1399:
 -      YYDEBUG(1399, *YYCURSOR);
++yy1424:
++      YYDEBUG(1424, *YYCURSOR);
        yych = *++YYCURSOR;
-       if (yych == 'S') goto yy967;
-       if (yych == 's') goto yy967;
-       goto yy301;
- yy972:
-       YYDEBUG(972, *YYCURSOR);
-       yych = *++YYCURSOR;
-       if (yych == 'A') goto yy959;
-       if (yych == 'a') goto yy962;
-       goto yy922;
- yy973:
-       YYDEBUG(973, *YYCURSOR);
-       yyaccept = 9;
-       yych = *(YYMARKER = ++YYCURSOR);
-       if (yych <= 'S') {
-               if (yych <= '.') {
-                       if (yych == '-') goto yy283;
-                       goto yy301;
+       if (yych <= 'U') {
+               if (yych <= '@') {
+                       if (yych == ')') goto yy174;
+                       goto yy3;
                } else {
-                       if (yych <= '/') goto yy283;
-                       if (yych <= 'R') goto yy301;
-                       goto yy967;
 -                      if (yych == 'I') goto yy1431;
++                      if (yych == 'I') goto yy1456;
+                       if (yych <= 'T') goto yy176;
 -                      goto yy1432;
++                      goto yy1457;
                }
        } else {
-               if (yych <= '`') {
-                       if (yych == '_') goto yy283;
-                       goto yy301;
+               if (yych <= 'i') {
+                       if (yych <= 'Z') goto yy176;
+                       if (yych <= '`') goto yy3;
+                       if (yych <= 'h') goto yy176;
 -                      goto yy1431;
++                      goto yy1456;
                } else {
-                       if (yych == 's') goto yy969;
-                       if (yych <= 'z') goto yy921;
-                       goto yy301;
 -                      if (yych == 'u') goto yy1432;
++                      if (yych == 'u') goto yy1457;
+                       if (yych <= 'z') goto yy176;
+                       goto yy3;
                }
        }
- yy974:
-       YYDEBUG(974, *YYCURSOR);
-       yych = *++YYCURSOR;
-       if (yych == 'A') goto yy1064;
-       if (yych == 'a') goto yy1064;
-       goto yy56;
- yy975:
-       YYDEBUG(975, *YYCURSOR);
-       yych = *++YYCURSOR;
-       if (yych == 'A') goto yy1064;
-       if (yych == 'a') goto yy1065;
-       goto yy922;
- yy976:
-       YYDEBUG(976, *YYCURSOR);
-       yych = *++YYCURSOR;
-       if (yych == '-') goto yy1066;
-       goto yy56;
- yy977:
-       YYDEBUG(977, *YYCURSOR);
-       yych = *++YYCURSOR;
-       if (yych <= '/') goto yy56;
-       if (yych <= '9') goto yy1067;
-       goto yy56;
- yy978:
-       YYDEBUG(978, *YYCURSOR);
-       yych = *++YYCURSOR;
-       if (yych <= '/') goto yy56;
-       if (yych <= '2') goto yy1067;
-       goto yy56;
- yy979:
-       YYDEBUG(979, *YYCURSOR);
-       yych = *++YYCURSOR;
-       if (yych == '-') goto yy864;
-       if (yych <= '/') goto yy186;
-       if (yych <= '9') goto yy1068;
-       goto yy186;
- yy980:
-       YYDEBUG(980, *YYCURSOR);
-       ++YYCURSOR;
-       YYDEBUG(981, *YYCURSOR);
- #line 1423 "parse_date.re"
-       {
-               DEBUG_OUTPUT("pointed date YYYY");
-               TIMELIB_INIT;
-               TIMELIB_HAVE_DATE();
-               s->time->d = timelib_get_nr(&ptr, 2);
-               s->time->m = timelib_get_nr(&ptr, 2);
-               s->time->y = timelib_get_nr(&ptr, 4);
-               TIMELIB_DEINIT;
-               return TIMELIB_DATE_FULL_POINTED;
-       }
- #line 19081 "<stdout>"
- yy982:
-       YYDEBUG(982, *YYCURSOR);
-       ++YYCURSOR;
-       goto yy214;
- yy983:
-       YYDEBUG(983, *YYCURSOR);
 -yy1400:
 -      YYDEBUG(1400, *YYCURSOR);
++yy1425:
++      YYDEBUG(1425, *YYCURSOR);
        yych = *++YYCURSOR;
-       if (yych <= '/') goto yy56;
-       if (yych <= '9') goto yy1069;
-       goto yy56;
- yy984:
-       YYDEBUG(984, *YYCURSOR);
-       yyaccept = 25;
-       yych = *(YYMARKER = ++YYCURSOR);
-       if (yych <= 'n') {
-               if (yych <= '/') goto yy985;
-               if (yych <= '9') goto yy866;
-               if (yych >= 'n') goto yy718;
+       if (yych <= 'M') {
+               if (yych <= '@') {
+                       if (yych == ')') goto yy174;
+                       goto yy3;
+               } else {
 -                      if (yych == 'D') goto yy1420;
++                      if (yych == 'D') goto yy1445;
+                       if (yych <= 'L') goto yy176;
 -                      goto yy1421;
++                      goto yy1446;
+               }
        } else {
-               if (yych <= 'r') {
-                       if (yych >= 'r') goto yy718;
+               if (yych <= 'd') {
+                       if (yych <= 'Z') goto yy176;
+                       if (yych <= '`') goto yy3;
+                       if (yych <= 'c') goto yy176;
 -                      goto yy1420;
++                      goto yy1445;
                } else {
-                       if (yych <= 's') goto yy719;
-                       if (yych <= 't') goto yy720;
 -                      if (yych == 'm') goto yy1421;
++                      if (yych == 'm') goto yy1446;
+                       if (yych <= 'z') goto yy176;
+                       goto yy3;
                }
        }
- yy985:
-       YYDEBUG(985, *YYCURSOR);
- #line 1354 "parse_date.re"
-       {
-               int length = 0;
-               DEBUG_OUTPUT("iso8601date2");
-               TIMELIB_INIT;
-               TIMELIB_HAVE_DATE();
-               s->time->y = timelib_get_nr_ex(&ptr, 4, &length);
-               s->time->m = timelib_get_nr(&ptr, 2);
-               s->time->d = timelib_get_nr(&ptr, 2);
-               TIMELIB_PROCESS_YEAR(s->time->y, length);
-               TIMELIB_DEINIT;
-               return TIMELIB_ISO_DATE;
-       }
- #line 19123 "<stdout>"
- yy986:
-       YYDEBUG(986, *YYCURSOR);
-       yyaccept = 15;
-       yych = *(YYMARKER = ++YYCURSOR);
-       if (yych <= 'm') {
-               if (yych <= '9') {
-                       if (yych <= '/') goto yy548;
-                       goto yy988;
 -yy1401:
 -      YYDEBUG(1401, *YYCURSOR);
++yy1426:
++      YYDEBUG(1426, *YYCURSOR);
+       yych = *++YYCURSOR;
+       if (yych <= 'E') {
+               if (yych <= ')') {
+                       if (yych <= '(') goto yy3;
+                       goto yy174;
                } else {
-                       if (yych == 'T') goto yy1070;
-                       goto yy548;
+                       if (yych <= '@') goto yy3;
+                       if (yych <= 'D') goto yy176;
 -                      goto yy1416;
++                      goto yy1441;
                }
        } else {
-               if (yych <= 'r') {
-                       if (yych <= 'n') goto yy1071;
-                       if (yych <= 'q') goto yy548;
-                       goto yy1071;
+               if (yych <= 'd') {
+                       if (yych <= 'Z') goto yy176;
+                       if (yych <= '`') goto yy3;
+                       goto yy176;
                } else {
-                       if (yych <= 's') goto yy1072;
-                       if (yych <= 't') goto yy1073;
-                       goto yy548;
 -                      if (yych <= 'e') goto yy1416;
++                      if (yych <= 'e') goto yy1441;
+                       if (yych <= 'z') goto yy176;
+                       goto yy3;
                }
        }
- yy987:
-       YYDEBUG(987, *YYCURSOR);
-       yyaccept = 15;
-       yych = *(YYMARKER = ++YYCURSOR);
-       if (yych <= 'm') {
-               if (yych <= '1') {
-                       if (yych <= '/') goto yy548;
 -yy1402:
 -      YYDEBUG(1402, *YYCURSOR);
++yy1427:
++      YYDEBUG(1427, *YYCURSOR);
+       yych = *++YYCURSOR;
+       if (yych <= 'E') {
+               if (yych <= ')') {
+                       if (yych <= '(') goto yy3;
+                       goto yy174;
                } else {
-                       if (yych == 'T') goto yy1070;
-                       goto yy548;
+                       if (yych <= '@') goto yy3;
+                       if (yych <= 'D') goto yy176;
 -                      goto yy1412;
++                      goto yy1437;
                }
        } else {
-               if (yych <= 'r') {
-                       if (yych <= 'n') goto yy1071;
-                       if (yych <= 'q') goto yy548;
-                       goto yy1071;
+               if (yych <= 'd') {
+                       if (yych <= 'Z') goto yy176;
+                       if (yych <= '`') goto yy3;
+                       goto yy176;
                } else {
-                       if (yych <= 's') goto yy1072;
-                       if (yych <= 't') goto yy1073;
-                       goto yy548;
 -                      if (yych <= 'e') goto yy1412;
++                      if (yych <= 'e') goto yy1437;
+                       if (yych <= 'z') goto yy176;
+                       goto yy3;
                }
        }
- yy988:
-       YYDEBUG(988, *YYCURSOR);
-       yyaccept = 15;
-       yych = *(YYMARKER = ++YYCURSOR);
-       if (yych <= 'n') {
-               if (yych == 'T') goto yy1070;
-               if (yych <= 'm') goto yy548;
-               goto yy1071;
 -yy1403:
 -      YYDEBUG(1403, *YYCURSOR);
++yy1428:
++      YYDEBUG(1428, *YYCURSOR);
+       yych = *++YYCURSOR;
+       if (yych <= '/') {
 -              if (yych == '.') goto yy1039;
++              if (yych == '.') goto yy1064;
+               goto yy55;
        } else {
-               if (yych <= 'r') {
-                       if (yych <= 'q') goto yy548;
-                       goto yy1071;
-               } else {
-                       if (yych <= 's') goto yy1072;
-                       if (yych <= 't') goto yy1073;
-                       goto yy548;
-               }
 -              if (yych <= '9') goto yy1406;
 -              if (yych <= ':') goto yy1039;
++              if (yych <= '9') goto yy1431;
++              if (yych <= ':') goto yy1064;
+               goto yy55;
        }
- yy989:
-       YYDEBUG(989, *YYCURSOR);
 -yy1404:
 -      YYDEBUG(1404, *YYCURSOR);
++yy1429:
++      YYDEBUG(1429, *YYCURSOR);
        yych = *++YYCURSOR;
-       if (yych <= '/') goto yy56;
-       if (yych <= '2') goto yy1074;
-       if (yych <= '3') goto yy1075;
-       if (yych <= '9') goto yy988;
-       goto yy56;
- yy990:
-       YYDEBUG(990, *YYCURSOR);
-       yyaccept = 22;
-       yych = *(YYMARKER = ++YYCURSOR);
-       if (yych <= 'H') {
-               if (yych == '-') goto yy918;
-               goto yy581;
+       if (yych <= '/') {
 -              if (yych == '.') goto yy1039;
++              if (yych == '.') goto yy1064;
+               goto yy55;
        } else {
-               if (yych <= 'I') goto yy1011;
-               if (yych == 'i') goto yy1011;
-               goto yy581;
 -              if (yych <= '4') goto yy1406;
 -              if (yych == ':') goto yy1039;
++              if (yych <= '4') goto yy1431;
++              if (yych == ':') goto yy1064;
+               goto yy55;
        }
- yy991:
-       YYDEBUG(991, *YYCURSOR);
-       yyaccept = 22;
-       yych = *(YYMARKER = ++YYCURSOR);
-       if (yych <= 'T') {
-               if (yych == '-') goto yy918;
-               goto yy581;
 -yy1405:
 -      YYDEBUG(1405, *YYCURSOR);
++yy1430:
++      YYDEBUG(1430, *YYCURSOR);
+       yych = *++YYCURSOR;
 -      if (yych == '.') goto yy1039;
 -      if (yych == ':') goto yy1039;
++      if (yych == '.') goto yy1064;
++      if (yych == ':') goto yy1064;
+       goto yy55;
 -yy1406:
 -      YYDEBUG(1406, *YYCURSOR);
++yy1431:
++      YYDEBUG(1431, *YYCURSOR);
+       yych = *++YYCURSOR;
+       if (yych <= '/') {
 -              if (yych == '.') goto yy1039;
++              if (yych == '.') goto yy1064;
+               goto yy55;
        } else {
-               if (yych <= 'U') goto yy1012;
-               if (yych == 'u') goto yy1012;
-               goto yy581;
 -              if (yych <= '5') goto yy1407;
 -              if (yych == ':') goto yy1039;
++              if (yych <= '5') goto yy1432;
++              if (yych == ':') goto yy1064;
+               goto yy55;
        }
- yy992:
-       YYDEBUG(992, *YYCURSOR);
-       yyaccept = 22;
 -yy1407:
 -      YYDEBUG(1407, *YYCURSOR);
++yy1432:
++      YYDEBUG(1432, *YYCURSOR);
+       yych = *++YYCURSOR;
+       if (yych <= '/') goto yy55;
+       if (yych >= ':') goto yy55;
 -      YYDEBUG(1408, *YYCURSOR);
++      YYDEBUG(1433, *YYCURSOR);
+       yyaccept = 23;
        yych = *(YYMARKER = ++YYCURSOR);
-       if (yych <= 'D') {
-               if (yych == '-') goto yy918;
-               goto yy581;
 -      if (yych <= '/') goto yy1042;
 -      if (yych <= '5') goto yy1409;
 -      if (yych <= '6') goto yy1410;
 -      goto yy1042;
 -yy1409:
 -      YYDEBUG(1409, *YYCURSOR);
++      if (yych <= '/') goto yy1067;
++      if (yych <= '5') goto yy1434;
++      if (yych <= '6') goto yy1435;
++      goto yy1067;
++yy1434:
++      YYDEBUG(1434, *YYCURSOR);
+       yych = *++YYCURSOR;
+       if (yych <= '/') goto yy55;
 -      if (yych <= '9') goto yy1411;
++      if (yych <= '9') goto yy1436;
+       goto yy55;
 -yy1410:
 -      YYDEBUG(1410, *YYCURSOR);
++yy1435:
++      YYDEBUG(1435, *YYCURSOR);
+       yych = *++YYCURSOR;
+       if (yych != '0') goto yy55;
 -yy1411:
 -      YYDEBUG(1411, *YYCURSOR);
++yy1436:
++      YYDEBUG(1436, *YYCURSOR);
+       yych = *++YYCURSOR;
 -      goto yy1050;
 -yy1412:
 -      YYDEBUG(1412, *YYCURSOR);
++      goto yy1075;
++yy1437:
++      YYDEBUG(1437, *YYCURSOR);
+       yych = *++YYCURSOR;
+       if (yych <= 'L') {
+               if (yych <= ')') {
+                       if (yych <= '(') goto yy3;
+                       goto yy174;
+               } else {
+                       if (yych <= '@') goto yy3;
+                       if (yych <= 'K') goto yy177;
+               }
        } else {
-               if (yych <= 'E') goto yy1013;
-               if (yych == 'e') goto yy1013;
-               goto yy581;
+               if (yych <= 'k') {
+                       if (yych <= 'Z') goto yy177;
+                       if (yych <= '`') goto yy3;
+                       goto yy177;
+               } else {
 -                      if (yych <= 'l') goto yy1413;
++                      if (yych <= 'l') goto yy1438;
+                       if (yych <= 'z') goto yy177;
+                       goto yy3;
+               }
        }
- yy993:
-       YYDEBUG(993, *YYCURSOR);
-       yyaccept = 22;
-       yych = *(YYMARKER = ++YYCURSOR);
-       if (yych <= 'Q') {
-               if (yych == '-') goto yy918;
-               goto yy581;
 -yy1413:
 -      YYDEBUG(1413, *YYCURSOR);
++yy1438:
++      YYDEBUG(1438, *YYCURSOR);
+       yych = *++YYCURSOR;
+       if (yych <= 'F') {
+               if (yych <= ')') {
+                       if (yych <= '(') goto yy3;
+                       goto yy174;
+               } else {
+                       if (yych <= '@') goto yy3;
+                       if (yych <= 'E') goto yy178;
+               }
        } else {
-               if (yych <= 'R') goto yy1014;
-               if (yych == 'r') goto yy1014;
-               goto yy581;
+               if (yych <= 'e') {
+                       if (yych <= 'Z') goto yy178;
+                       if (yych <= '`') goto yy3;
+                       goto yy178;
+               } else {
 -                      if (yych <= 'f') goto yy1414;
++                      if (yych <= 'f') goto yy1439;
+                       if (yych <= 'z') goto yy178;
+                       goto yy3;
+               }
        }
- yy994:
-       YYDEBUG(994, *YYCURSOR);
-       yyaccept = 22;
-       yych = *(YYMARKER = ++YYCURSOR);
 -yy1414:
 -      YYDEBUG(1414, *YYCURSOR);
++yy1439:
++      YYDEBUG(1439, *YYCURSOR);
+       yych = *++YYCURSOR;
        if (yych <= 'T') {
-               if (yych == '-') goto yy918;
-               goto yy581;
+               if (yych <= ')') {
+                       if (yych <= '(') goto yy3;
+                       goto yy174;
+               } else {
+                       if (yych <= '@') goto yy3;
+                       if (yych <= 'S') goto yy179;
+               }
        } else {
-               if (yych <= 'U') goto yy1015;
-               if (yych == 'u') goto yy1015;
-               goto yy581;
+               if (yych <= 's') {
+                       if (yych <= 'Z') goto yy179;
+                       if (yych <= '`') goto yy3;
+                       goto yy179;
+               } else {
 -                      if (yych <= 't') goto yy1415;
++                      if (yych <= 't') goto yy1440;
+                       if (yych <= 'z') goto yy179;
+                       goto yy3;
+               }
        }
- yy995:
-       YYDEBUG(995, *YYCURSOR);
-       yyaccept = 22;
 -yy1415:
 -      YYDEBUG(1415, *YYCURSOR);
++yy1440:
++      YYDEBUG(1440, *YYCURSOR);
+       yyaccept = 0;
        yych = *(YYMARKER = ++YYCURSOR);
-       if (yych <= 'X') {
-               if (yych == '-') goto yy918;
-               goto yy581;
+       if (yych <= 'G') {
+               if (yych == ')') goto yy174;
+               goto yy3;
        } else {
-               if (yych <= 'Y') goto yy765;
-               if (yych == 'y') goto yy765;
-               goto yy581;
 -              if (yych <= 'H') goto yy1205;
 -              if (yych == 'h') goto yy1205;
++              if (yych <= 'H') goto yy1230;
++              if (yych == 'h') goto yy1230;
+               goto yy3;
        }
- yy996:
-       YYDEBUG(996, *YYCURSOR);
-       yyaccept = 22;
-       yych = *(YYMARKER = ++YYCURSOR);
-       if (yych <= 'D') {
-               if (yych == '-') goto yy918;
-               goto yy581;
 -yy1416:
 -      YYDEBUG(1416, *YYCURSOR);
++yy1441:
++      YYDEBUG(1441, *YYCURSOR);
+       yych = *++YYCURSOR;
+       if (yych <= 'S') {
+               if (yych <= ')') {
+                       if (yych <= '(') goto yy201;
+                       goto yy174;
+               } else {
+                       if (yych <= '@') goto yy201;
+                       if (yych <= 'R') goto yy177;
+               }
        } else {
-               if (yych <= 'E') goto yy765;
-               if (yych == 'e') goto yy765;
-               goto yy581;
+               if (yych <= 'r') {
+                       if (yych <= 'Z') goto yy177;
+                       if (yych <= '`') goto yy201;
+                       goto yy177;
+               } else {
 -                      if (yych <= 's') goto yy1417;
++                      if (yych <= 's') goto yy1442;
+                       if (yych <= 'z') goto yy177;
+                       goto yy201;
+               }
        }
- yy997:
-       YYDEBUG(997, *YYCURSOR);
-       yyaccept = 22;
-       yych = *(YYMARKER = ++YYCURSOR);
-       if (yych <= 'B') {
-               if (yych == '-') goto yy918;
-               goto yy581;
 -yy1417:
 -      YYDEBUG(1417, *YYCURSOR);
++yy1442:
++      YYDEBUG(1442, *YYCURSOR);
+       yych = *++YYCURSOR;
+       if (yych <= 'D') {
+               if (yych <= ')') {
+                       if (yych <= '(') goto yy3;
+                       goto yy174;
+               } else {
+                       if (yych <= '@') goto yy3;
+                       if (yych <= 'C') goto yy178;
+               }
        } else {
-               if (yych <= 'C') goto yy1016;
-               if (yych == 'c') goto yy1016;
-               goto yy581;
+               if (yych <= 'c') {
+                       if (yych <= 'Z') goto yy178;
+                       if (yych <= '`') goto yy3;
+                       goto yy178;
+               } else {
 -                      if (yych <= 'd') goto yy1418;
++                      if (yych <= 'd') goto yy1443;
+                       if (yych <= 'z') goto yy178;
+                       goto yy3;
+               }
        }
- yy998:
-       YYDEBUG(998, *YYCURSOR);
-       yyaccept = 22;
-       yych = *(YYMARKER = ++YYCURSOR);
-       if (yych == '-') goto yy918;
-       goto yy581;
- yy999:
-       YYDEBUG(999, *YYCURSOR);
-       yyaccept = 22;
-       yych = *(YYMARKER = ++YYCURSOR);
-       if (yych <= 'N') {
-               if (yych == '-') goto yy918;
-               goto yy581;
 -yy1418:
 -      YYDEBUG(1418, *YYCURSOR);
++yy1443:
++      YYDEBUG(1443, *YYCURSOR);
+       yych = *++YYCURSOR;
+       if (yych <= 'A') {
+               if (yych == ')') goto yy174;
+               if (yych <= '@') goto yy3;
        } else {
-               if (yych <= 'O') goto yy1017;
-               if (yych == 'o') goto yy1017;
-               goto yy581;
+               if (yych <= '`') {
+                       if (yych <= 'Z') goto yy179;
+                       goto yy3;
+               } else {
 -                      if (yych <= 'a') goto yy1419;
++                      if (yych <= 'a') goto yy1444;
+                       if (yych <= 'z') goto yy179;
+                       goto yy3;
+               }
        }
- yy1000:
-       YYDEBUG(1000, *YYCURSOR);
-       yyaccept = 22;
-       yych = *(YYMARKER = ++YYCURSOR);
-       if (yych <= 'S') {
-               if (yych == '-') goto yy918;
-               goto yy581;
 -yy1419:
 -      YYDEBUG(1419, *YYCURSOR);
++yy1444:
++      YYDEBUG(1444, *YYCURSOR);
+       yych = *++YYCURSOR;
+       if (yych <= 'X') {
+               if (yych == ')') goto yy174;
+               goto yy3;
        } else {
-               if (yych <= 'T') goto yy992;
-               if (yych == 't') goto yy992;
-               goto yy581;
+               if (yych <= 'Y') goto yy207;
+               if (yych == 'y') goto yy207;
+               goto yy3;
        }
- yy1001:
-       YYDEBUG(1001, *YYCURSOR);
-       ++YYCURSOR;
-       goto yy894;
- yy1002:
-       YYDEBUG(1002, *YYCURSOR);
-       yyaccept = 26;
-       yych = *(YYMARKER = ++YYCURSOR);
-       if (yych <= 'n') {
-               if (yych <= '/') goto yy1003;
-               if (yych <= '9') goto yy1005;
-               if (yych >= 'n') goto yy1076;
 -yy1420:
 -      YYDEBUG(1420, *YYCURSOR);
++yy1445:
++      YYDEBUG(1445, *YYCURSOR);
+       yych = *++YYCURSOR;
+       if (yych <= 'A') {
+               if (yych == ')') goto yy174;
+               if (yych <= '@') goto yy3;
 -              goto yy1428;
++              goto yy1453;
        } else {
-               if (yych <= 'r') {
-                       if (yych >= 'r') goto yy1076;
+               if (yych <= '`') {
+                       if (yych <= 'Z') goto yy177;
+                       goto yy3;
                } else {
-                       if (yych <= 's') goto yy1077;
-                       if (yych <= 't') goto yy1078;
 -                      if (yych <= 'a') goto yy1428;
++                      if (yych <= 'a') goto yy1453;
+                       if (yych <= 'z') goto yy177;
+                       goto yy3;
                }
        }
- yy1003:
-       YYDEBUG(1003, *YYCURSOR);
- #line 1342 "parse_date.re"
-       {
-               DEBUG_OUTPUT("iso8601date4 | iso8601date2 | iso8601dateslash | dateslash");
-               TIMELIB_INIT;
-               TIMELIB_HAVE_DATE();
-               s->time->y = timelib_get_unsigned_nr(&ptr, 4);
-               s->time->m = timelib_get_nr(&ptr, 2);
-               s->time->d = timelib_get_nr(&ptr, 2);
-               TIMELIB_DEINIT;
-               return TIMELIB_ISO_DATE;
-       }
- #line 19354 "<stdout>"
- yy1004:
-       YYDEBUG(1004, *YYCURSOR);
-       yyaccept = 26;
-       yych = *(YYMARKER = ++YYCURSOR);
-       if (yych <= 'n') {
-               if (yych <= '/') goto yy1003;
-               if (yych <= '1') goto yy1005;
-               if (yych <= 'm') goto yy1003;
-               goto yy1076;
 -yy1421:
 -      YYDEBUG(1421, *YYCURSOR);
++yy1446:
++      YYDEBUG(1446, *YYCURSOR);
+       yych = *++YYCURSOR;
+       if (yych <= 'O') {
+               if (yych <= ')') {
+                       if (yych <= '(') goto yy3;
+                       goto yy174;
+               } else {
+                       if (yych <= '@') goto yy3;
+                       if (yych <= 'N') goto yy177;
+               }
        } else {
-               if (yych <= 'r') {
-                       if (yych <= 'q') goto yy1003;
-                       goto yy1076;
+               if (yych <= 'n') {
+                       if (yych <= 'Z') goto yy177;
+                       if (yych <= '`') goto yy3;
+                       goto yy177;
                } else {
-                       if (yych <= 's') goto yy1077;
-                       if (yych <= 't') goto yy1078;
-                       goto yy1003;
 -                      if (yych <= 'o') goto yy1422;
++                      if (yych <= 'o') goto yy1447;
+                       if (yych <= 'z') goto yy177;
+                       goto yy3;
                }
        }
- yy1005:
-       YYDEBUG(1005, *YYCURSOR);
-       yyaccept = 26;
-       yych = *(YYMARKER = ++YYCURSOR);
-       if (yych <= 'q') {
-               if (yych == 'n') goto yy1076;
-               goto yy1003;
 -yy1422:
 -      YYDEBUG(1422, *YYCURSOR);
++yy1447:
++      YYDEBUG(1447, *YYCURSOR);
+       yych = *++YYCURSOR;
+       if (yych <= 'R') {
+               if (yych <= ')') {
+                       if (yych <= '(') goto yy3;
+                       goto yy174;
+               } else {
+                       if (yych <= '@') goto yy3;
+                       if (yych <= 'Q') goto yy178;
+               }
        } else {
-               if (yych <= 'r') goto yy1076;
-               if (yych <= 's') goto yy1077;
-               if (yych <= 't') goto yy1078;
-               goto yy1003;
+               if (yych <= 'q') {
+                       if (yych <= 'Z') goto yy178;
+                       if (yych <= '`') goto yy3;
+                       goto yy178;
+               } else {
 -                      if (yych <= 'r') goto yy1423;
++                      if (yych <= 'r') goto yy1448;
+                       if (yych <= 'z') goto yy178;
+                       goto yy3;
+               }
        }
- yy1006:
-       YYDEBUG(1006, *YYCURSOR);
 -yy1423:
 -      YYDEBUG(1423, *YYCURSOR);
++yy1448:
++      YYDEBUG(1448, *YYCURSOR);
        yych = *++YYCURSOR;
-       if (yych <= '/') goto yy56;
-       if (yych <= '2') goto yy1079;
-       if (yych <= '3') goto yy1080;
-       if (yych <= '9') goto yy1005;
-       goto yy56;
- yy1007:
-       YYDEBUG(1007, *YYCURSOR);
-       yyaccept = 27;
-       yych = *(YYMARKER = ++YYCURSOR);
-       if (yych <= 'W') {
-               if (yych <= 'F') {
-                       if (yych <= '/') {
-                               if (yych <= '\t') {
-                                       if (yych >= '\t') goto yy185;
-                               } else {
-                                       if (yych == ' ') goto yy185;
-                               }
-                       } else {
-                               if (yych <= 'C') {
-                                       if (yych <= '9') goto yy1081;
-                               } else {
-                                       if (yych <= 'D') goto yy188;
-                                       if (yych >= 'F') goto yy189;
-                               }
-                       }
+       if (yych <= 'R') {
+               if (yych <= ')') {
+                       if (yych <= '(') goto yy3;
+                       goto yy174;
                } else {
-                       if (yych <= 'R') {
-                               if (yych <= 'H') {
-                                       if (yych >= 'H') goto yy75;
-                               } else {
-                                       if (yych == 'M') goto yy190;
-                               }
-                       } else {
-                               if (yych <= 'T') {
-                                       if (yych <= 'S') goto yy191;
-                                       goto yy1082;
-                               } else {
-                                       if (yych <= 'U') goto yy84;
-                                       if (yych >= 'W') goto yy86;
-                               }
-                       }
+                       if (yych <= '@') goto yy3;
+                       if (yych <= 'Q') goto yy179;
                }
        } else {
-               if (yych <= 'm') {
-                       if (yych <= 'e') {
-                               if (yych <= 'Y') {
-                                       if (yych >= 'Y') goto yy88;
-                               } else {
-                                       if (yych == 'd') goto yy188;
-                               }
-                       } else {
-                               if (yych <= 'g') {
-                                       if (yych <= 'f') goto yy189;
-                               } else {
-                                       if (yych <= 'h') goto yy75;
-                                       if (yych >= 'm') goto yy190;
-                               }
-                       }
+               if (yych <= 'q') {
+                       if (yych <= 'Z') goto yy179;
+                       if (yych <= '`') goto yy3;
+                       goto yy179;
                } else {
-                       if (yych <= 'v') {
-                               if (yych <= 's') {
-                                       if (yych >= 's') goto yy191;
-                               } else {
-                                       if (yych <= 't') goto yy1083;
-                                       if (yych <= 'u') goto yy84;
-                               }
-                       } else {
-                               if (yych <= 'y') {
-                                       if (yych <= 'w') goto yy86;
-                                       if (yych >= 'y') goto yy88;
-                               } else {
-                                       if (yych == 0xC2) goto yy93;
-                               }
-                       }
 -                      if (yych <= 'r') goto yy1424;
++                      if (yych <= 'r') goto yy1449;
+                       if (yych <= 'z') goto yy179;
+                       goto yy3;
                }
        }
- yy1008:
-       YYDEBUG(1008, *YYCURSOR);
- #line 1503 "parse_date.re"
-       {
-               DEBUG_OUTPUT("datenocolon");
-               TIMELIB_INIT;
-               TIMELIB_HAVE_DATE();
-               s->time->y = timelib_get_nr(&ptr, 4);
-               s->time->m = timelib_get_nr(&ptr, 2);
-               s->time->d = timelib_get_nr(&ptr, 2);
-               TIMELIB_DEINIT;
-               return TIMELIB_DATE_NOCOLON;
 -yy1424:
 -      YYDEBUG(1424, *YYCURSOR);
++yy1449:
++      YYDEBUG(1449, *YYCURSOR);
+       yyaccept = 0;
+       yych = *(YYMARKER = ++YYCURSOR);
+       if (yych <= 'N') {
+               if (yych == ')') goto yy174;
+               goto yy3;
+       } else {
 -              if (yych <= 'O') goto yy1425;
++              if (yych <= 'O') goto yy1450;
+               if (yych != 'o') goto yy3;
        }
- #line 19479 "<stdout>"
- yy1009:
-       YYDEBUG(1009, *YYCURSOR);
-       yych = *++YYCURSOR;
-       if (yych <= '/') goto yy186;
-       if (yych <= '9') goto yy1081;
-       goto yy186;
- yy1010:
-       YYDEBUG(1010, *YYCURSOR);
-       yych = *++YYCURSOR;
-       if (yych <= '/') goto yy56;
-       if (yych <= '2') goto yy1084;
-       if (yych <= '3') goto yy1085;
-       goto yy56;
- yy1011:
-       YYDEBUG(1011, *YYCURSOR);
-       yych = *++YYCURSOR;
-       if (yych == 'L') goto yy765;
-       if (yych == 'l') goto yy765;
-       goto yy56;
- yy1012:
-       YYDEBUG(1012, *YYCURSOR);
-       yych = *++YYCURSOR;
-       if (yych == 'S') goto yy1086;
-       if (yych == 's') goto yy1086;
-       goto yy56;
- yy1013:
-       YYDEBUG(1013, *YYCURSOR);
 -yy1425:
 -      YYDEBUG(1425, *YYCURSOR);
++yy1450:
++      YYDEBUG(1450, *YYCURSOR);
        yych = *++YYCURSOR;
-       if (yych == 'M') goto yy1017;
-       if (yych == 'm') goto yy1017;
-       goto yy56;
- yy1014:
-       YYDEBUG(1014, *YYCURSOR);
-       yych = *++YYCURSOR;
-       if (yych == 'U') goto yy1015;
-       if (yych != 'u') goto yy56;
- yy1015:
-       YYDEBUG(1015, *YYCURSOR);
-       yych = *++YYCURSOR;
-       if (yych == 'A') goto yy1087;
-       if (yych == 'a') goto yy1087;
-       goto yy56;
- yy1016:
-       YYDEBUG(1016, *YYCURSOR);
-       yych = *++YYCURSOR;
-       if (yych == 'H') goto yy765;
-       if (yych == 'h') goto yy765;
-       goto yy56;
- yy1017:
-       YYDEBUG(1017, *YYCURSOR);
-       yych = *++YYCURSOR;
-       if (yych == 'B') goto yy1088;
-       if (yych == 'b') goto yy1088;
-       goto yy56;
- yy1018:
-       YYDEBUG(1018, *YYCURSOR);
-       yych = *++YYCURSOR;
-       if (yych <= '/') goto yy56;
-       if (yych >= '8') goto yy56;
- yy1019:
-       YYDEBUG(1019, *YYCURSOR);
 -      if (yych == 'W') goto yy1426;
++      if (yych == 'W') goto yy1451;
+       if (yych != 'w') goto yy55;
 -yy1426:
 -      YYDEBUG(1426, *YYCURSOR);
++yy1451:
++      YYDEBUG(1451, *YYCURSOR);
        ++YYCURSOR;
-       YYDEBUG(1020, *YYCURSOR);
- #line 1555 "parse_date.re"
 -yy1427:
 -      YYDEBUG(1427, *YYCURSOR);
 -#line 1059 "parse_date.re"
++yy1452:
++      YYDEBUG(1452, *YYCURSOR);
++#line 1064 "parse_date.re"
        {
-               timelib_sll w, d;
-               DEBUG_OUTPUT("isoweekday");
+               DEBUG_OUTPUT("tomorrow");
                TIMELIB_INIT;
-               TIMELIB_HAVE_DATE();
                TIMELIB_HAVE_RELATIVE();
+               TIMELIB_UNHAVE_TIME();
  
-               s->time->y = timelib_get_nr(&ptr, 4);
-               w = timelib_get_nr(&ptr, 2);
-               d = timelib_get_nr(&ptr, 1);
-               s->time->m = 1;
-               s->time->d = 1;
-               s->time->relative.d = timelib_daynr_from_weeknr(s->time->y, w, d);
+               s->time->relative.d = 1;
                TIMELIB_DEINIT;
-               return TIMELIB_ISO_WEEK;
+               return TIMELIB_RELATIVE;
        }
- #line 19561 "<stdout>"
- yy1021:
-       YYDEBUG(1021, *YYCURSOR);
-       yych = *++YYCURSOR;
-       if (yych == 'H') goto yy1089;
-       if (yych == 'h') goto yy1089;
-       goto yy56;
- yy1022:
-       YYDEBUG(1022, *YYCURSOR);
-       yych = *++YYCURSOR;
-       if (yych == 'C') goto yy1090;
-       if (yych == 'c') goto yy1090;
-       goto yy56;
- yy1023:
-       YYDEBUG(1023, *YYCURSOR);
 -#line 21995 "<stdout>"
 -yy1428:
 -      YYDEBUG(1428, *YYCURSOR);
++#line 22139 "<stdout>"
++yy1453:
++      YYDEBUG(1453, *YYCURSOR);
        yych = *++YYCURSOR;
-       if (yych <= '/') goto yy56;
-       if (yych <= '9') goto yy1091;
-       goto yy56;
- yy1024:
-       YYDEBUG(1024, *YYCURSOR);
-       yych = *++YYCURSOR;
-       if (yych <= '/') goto yy56;
-       if (yych <= '9') goto yy1093;
-       goto yy56;
- yy1025:
-       YYDEBUG(1025, *YYCURSOR);
-       yyaccept = 25;
-       yych = *(YYMARKER = ++YYCURSOR);
-       if (yych <= 'q') {
-               if (yych == 'n') goto yy718;
-               goto yy985;
+       if (yych <= 'Y') {
+               if (yych <= ')') {
+                       if (yych <= '(') goto yy3;
+                       goto yy174;
+               } else {
+                       if (yych <= '@') goto yy3;
+                       if (yych <= 'X') goto yy178;
+               }
        } else {
-               if (yych <= 'r') goto yy718;
-               if (yych <= 's') goto yy719;
-               if (yych <= 't') goto yy720;
-               goto yy985;
+               if (yych <= 'x') {
+                       if (yych <= 'Z') goto yy178;
+                       if (yych <= '`') goto yy3;
+                       goto yy178;
+               } else {
 -                      if (yych <= 'y') goto yy1429;
++                      if (yych <= 'y') goto yy1454;
+                       if (yych <= 'z') goto yy178;
+                       goto yy3;
+               }
        }
- yy1026:
-       YYDEBUG(1026, *YYCURSOR);
-       yych = *++YYCURSOR;
-       if (yych <= '/') goto yy56;
-       if (yych <= '9') goto yy1095;
-       goto yy56;
- yy1027:
-       YYDEBUG(1027, *YYCURSOR);
-       yych = *++YYCURSOR;
-       if (yych <= '/') goto yy56;
-       if (yych <= '1') goto yy1095;
-       goto yy56;
- yy1028:
-       YYDEBUG(1028, *YYCURSOR);
-       yych = *++YYCURSOR;
-       if (yych <= '/') goto yy276;
-       if (yych <= '9') goto yy1097;
-       goto yy276;
- yy1029:
-       YYDEBUG(1029, *YYCURSOR);
-       yych = *++YYCURSOR;
-       if (yych <= '/') goto yy1030;
-       if (yych <= '9') goto yy1098;
- yy1030:
-       YYDEBUG(1030, *YYCURSOR);
- #line 1593 "parse_date.re"
 -yy1429:
 -      YYDEBUG(1429, *YYCURSOR);
++yy1454:
++      YYDEBUG(1454, *YYCURSOR);
+       ++YYCURSOR;
+       if ((yych = *YYCURSOR) <= '@') {
+               if (yych == ')') goto yy174;
+       } else {
+               if (yych <= 'Z') goto yy179;
 -              if (yych <= '`') goto yy1430;
++              if (yych <= '`') goto yy1455;
+               if (yych <= 'z') goto yy179;
+       }
 -yy1430:
 -      YYDEBUG(1430, *YYCURSOR);
 -#line 1049 "parse_date.re"
++yy1455:
++      YYDEBUG(1455, *YYCURSOR);
++#line 1054 "parse_date.re"
        {
-               int length = 0;
-               DEBUG_OUTPUT("pgtextshort");
+               DEBUG_OUTPUT("midnight | today");
                TIMELIB_INIT;
-               TIMELIB_HAVE_DATE();
-               s->time->m = timelib_get_month(&ptr);
-               s->time->d = timelib_get_nr(&ptr, 2);
-               s->time->y = timelib_get_nr_ex(&ptr, 4, &length);
-               TIMELIB_PROCESS_YEAR(s->time->y, length);
+               TIMELIB_UNHAVE_TIME();
                TIMELIB_DEINIT;
-               return TIMELIB_PG_TEXT;
+               return TIMELIB_RELATIVE;
        }
- #line 19637 "<stdout>"
- yy1031:
-       YYDEBUG(1031, *YYCURSOR);
 -#line 22039 "<stdout>"
 -yy1431:
 -      YYDEBUG(1431, *YYCURSOR);
++#line 22183 "<stdout>"
++yy1456:
++      YYDEBUG(1456, *YYCURSOR);
        yych = *++YYCURSOR;
-       if (yych <= '/') goto yy56;
-       if (yych <= '1') goto yy1099;
-       if (yych <= '2') goto yy1101;
-       if (yych <= '9') goto yy1102;
-       goto yy56;
- yy1032:
-       YYDEBUG(1032, *YYCURSOR);
-       yych = *++YYCURSOR;
-       if (yych <= 'E') {
-               if (yych <= 'C') goto yy56;
-               if (yych <= 'D') goto yy1054;
-               goto yy1103;
+       if (yych <= 'S') {
+               if (yych <= '@') {
+                       if (yych == ')') goto yy174;
+                       goto yy3;
+               } else {
+                       if (yych <= 'Q') goto yy177;
 -                      if (yych <= 'R') goto yy1437;
 -                      goto yy1438;
++                      if (yych <= 'R') goto yy1462;
++                      goto yy1463;
+               }
        } else {
-               if (yych <= 'c') goto yy56;
-               if (yych <= 'd') goto yy1054;
-               if (yych <= 'e') goto yy1103;
-               goto yy56;
+               if (yych <= 'q') {
+                       if (yych <= 'Z') goto yy177;
+                       if (yych <= '`') goto yy3;
+                       goto yy177;
+               } else {
 -                      if (yych <= 'r') goto yy1437;
 -                      if (yych <= 's') goto yy1438;
++                      if (yych <= 'r') goto yy1462;
++                      if (yych <= 's') goto yy1463;
+                       if (yych <= 'z') goto yy177;
+                       goto yy3;
+               }
        }
- yy1033:
-       YYDEBUG(1033, *YYCURSOR);
-       yych = *++YYCURSOR;
-       if (yych <= '/') goto yy820;
-       if (yych <= '9') goto yy1104;
-       goto yy820;
- yy1034:
-       YYDEBUG(1034, *YYCURSOR);
-       yych = *++YYCURSOR;
-       if (yych == '0') goto yy1104;
-       goto yy820;
- yy1035:
-       YYDEBUG(1035, *YYCURSOR);
-       ++YYCURSOR;
-       goto yy820;
- yy1036:
-       YYDEBUG(1036, *YYCURSOR);
-       yych = *++YYCURSOR;
-       if (yych <= '/') goto yy820;
-       if (yych <= '9') goto yy1105;
-       goto yy820;
- yy1037:
-       YYDEBUG(1037, *YYCURSOR);
 -yy1432:
 -      YYDEBUG(1432, *YYCURSOR);
++yy1457:
++      YYDEBUG(1457, *YYCURSOR);
        yych = *++YYCURSOR;
-       if (yych == '0') goto yy1105;
-       goto yy820;
- yy1038:
-       YYDEBUG(1038, *YYCURSOR);
-       ++YYCURSOR;
-       if ((YYLIMIT - YYCURSOR) < 5) YYFILL(5);
-       yych = *YYCURSOR;
-       YYDEBUG(1039, *YYCURSOR);
-       if (yych <= 'A') {
-               if (yych <= 0x1F) {
-                       if (yych == '\t') goto yy1038;
-                       goto yy56;
+       if (yych <= 'R') {
+               if (yych <= ')') {
+                       if (yych <= '(') goto yy201;
+                       goto yy174;
+               } else {
+                       if (yych <= '@') goto yy201;
+                       if (yych <= 'Q') goto yy177;
+               }
+       } else {
+               if (yych <= 'q') {
+                       if (yych <= 'Z') goto yy177;
+                       if (yych <= '`') goto yy201;
+                       goto yy177;
                } else {
-                       if (yych <= ' ') goto yy1038;
-                       if (yych <= '@') goto yy56;
 -                      if (yych <= 'r') goto yy1433;
++                      if (yych <= 'r') goto yy1458;
+                       if (yych <= 'z') goto yy177;
+                       goto yy201;
+               }
+       }
 -yy1433:
 -      YYDEBUG(1433, *YYCURSOR);
++yy1458:
++      YYDEBUG(1458, *YYCURSOR);
+       yych = *++YYCURSOR;
+       if (yych <= 'S') {
+               if (yych <= ')') {
+                       if (yych <= '(') goto yy3;
+                       goto yy174;
+               } else {
+                       if (yych <= '@') goto yy3;
+                       if (yych <= 'R') goto yy178;
                }
        } else {
-               if (yych <= '`') {
-                       if (yych != 'P') goto yy56;
+               if (yych <= 'r') {
+                       if (yych <= 'Z') goto yy178;
+                       if (yych <= '`') goto yy3;
+                       goto yy178;
                } else {
-                       if (yych <= 'a') goto yy1040;
-                       if (yych != 'p') goto yy56;
 -                      if (yych <= 's') goto yy1434;
++                      if (yych <= 's') goto yy1459;
+                       if (yych <= 'z') goto yy178;
+                       goto yy3;
                }
        }
- yy1040:
-       YYDEBUG(1040, *YYCURSOR);
 -yy1434:
 -      YYDEBUG(1434, *YYCURSOR);
++yy1459:
++      YYDEBUG(1459, *YYCURSOR);
        yych = *++YYCURSOR;
-       if (yych <= 'L') {
-               if (yych == '.') goto yy1106;
-               goto yy56;
+       if (yych <= 'D') {
+               if (yych <= ')') {
+                       if (yych <= '(') goto yy3;
+                       goto yy174;
+               } else {
+                       if (yych <= '@') goto yy3;
+                       if (yych <= 'C') goto yy179;
+               }
        } else {
-               if (yych <= 'M') goto yy1107;
-               if (yych == 'm') goto yy1107;
-               goto yy56;
+               if (yych <= 'c') {
+                       if (yych <= 'Z') goto yy179;
+                       if (yych <= '`') goto yy3;
+                       goto yy179;
+               } else {
 -                      if (yych <= 'd') goto yy1435;
++                      if (yych <= 'd') goto yy1460;
+                       if (yych <= 'z') goto yy179;
+                       goto yy3;
+               }
        }
- yy1041:
-       YYDEBUG(1041, *YYCURSOR);
 -yy1435:
 -      YYDEBUG(1435, *YYCURSOR);
++yy1460:
++      YYDEBUG(1460, *YYCURSOR);
+       yyaccept = 0;
+       yych = *(YYMARKER = ++YYCURSOR);
+       if (yych <= '@') {
+               if (yych == ')') goto yy174;
+               goto yy3;
+       } else {
 -              if (yych <= 'A') goto yy1436;
++              if (yych <= 'A') goto yy1461;
+               if (yych != 'a') goto yy3;
+       }
 -yy1436:
 -      YYDEBUG(1436, *YYCURSOR);
++yy1461:
++      YYDEBUG(1461, *YYCURSOR);
        yych = *++YYCURSOR;
-       if (yych == 'S') goto yy1108;
-       if (yych == 's') goto yy1108;
-       goto yy944;
- yy1042:
-       YYDEBUG(1042, *YYCURSOR);
+       if (yych == 'Y') goto yy207;
+       if (yych == 'y') goto yy207;
+       goto yy55;
 -yy1437:
 -      YYDEBUG(1437, *YYCURSOR);
++yy1462:
++      YYDEBUG(1462, *YYCURSOR);
        yych = *++YYCURSOR;
-       if (yych == 'T') goto yy1109;
-       if (yych == 't') goto yy1109;
-       goto yy56;
- yy1043:
-       YYDEBUG(1043, *YYCURSOR);
-       yyaccept = 24;
+       if (yych <= 'D') {
+               if (yych <= ')') {
+                       if (yych <= '(') goto yy3;
+                       goto yy174;
+               } else {
+                       if (yych <= '@') goto yy3;
+                       if (yych <= 'C') goto yy178;
 -                      goto yy1238;
++                      goto yy1263;
+               }
+       } else {
+               if (yych <= 'c') {
+                       if (yych <= 'Z') goto yy178;
+                       if (yych <= '`') goto yy3;
+                       goto yy178;
+               } else {
 -                      if (yych <= 'd') goto yy1238;
++                      if (yych <= 'd') goto yy1263;
+                       if (yych <= 'z') goto yy178;
+                       goto yy3;
+               }
+       }
 -yy1438:
 -      YYDEBUG(1438, *YYCURSOR);
++yy1463:
++      YYDEBUG(1463, *YYCURSOR);
+       yyaccept = 0;
        yych = *(YYMARKER = ++YYCURSOR);
-       if (yych <= ' ') {
-               if (yych == '\t') goto yy1110;
-               if (yych <= 0x1F) goto yy944;
-               goto yy1110;
+       if (yych <= '(') {
+               if (yych <= '\t') {
+                       if (yych <= 0x08) goto yy3;
 -                      goto yy1079;
++                      goto yy1104;
+               } else {
 -                      if (yych == ' ') goto yy1079;
++                      if (yych == ' ') goto yy1104;
+                       goto yy3;
+               }
        } else {
-               if (yych <= 'D') {
-                       if (yych <= 'C') goto yy944;
-                       goto yy1112;
+               if (yych <= 'Z') {
+                       if (yych <= ')') goto yy174;
+                       if (yych <= '@') goto yy3;
+                       goto yy178;
                } else {
-                       if (yych == 'd') goto yy1112;
-                       goto yy944;
+                       if (yych <= '`') goto yy3;
+                       if (yych <= 'z') goto yy178;
+                       goto yy3;
                }
        }
- yy1044:
-       YYDEBUG(1044, *YYCURSOR);
-       yych = *++YYCURSOR;
-       if (yych == 'R') goto yy1041;
-       if (yych == 'r') goto yy1041;
-       goto yy56;
- yy1045:
-       YYDEBUG(1045, *YYCURSOR);
-       yych = *++YYCURSOR;
-       if (yych == 'R') goto yy1113;
-       if (yych == 'r') goto yy1113;
-       goto yy56;
- yy1046:
-       YYDEBUG(1046, *YYCURSOR);
 -yy1439:
 -      YYDEBUG(1439, *YYCURSOR);
++yy1464:
++      YYDEBUG(1464, *YYCURSOR);
        yych = *++YYCURSOR;
-       if (yych == 'L') goto yy1114;
-       if (yych == 'l') goto yy1114;
-       goto yy56;
- yy1047:
-       YYDEBUG(1047, *YYCURSOR);
-       yyaccept = 24;
-       yych = *(YYMARKER = ++YYCURSOR);
-       if (yych <= 'U') {
-               if (yych == 'S') goto yy1108;
-               if (yych <= 'T') goto yy944;
-               goto yy1115;
+       if (yych <= 'T') {
+               if (yych <= ')') {
+                       if (yych <= '(') goto yy3;
+                       goto yy174;
+               } else {
+                       if (yych <= '@') goto yy3;
+                       if (yych <= 'S') goto yy177;
+               }
        } else {
                if (yych <= 's') {
-                       if (yych <= 'r') goto yy944;
-                       goto yy1108;
+                       if (yych <= 'Z') goto yy177;
+                       if (yych <= '`') goto yy3;
+                       goto yy177;
                } else {
-                       if (yych == 'u') goto yy1115;
-                       goto yy944;
 -                      if (yych <= 't') goto yy1440;
++                      if (yych <= 't') goto yy1465;
+                       if (yych <= 'z') goto yy177;
+                       goto yy3;
                }
        }
- yy1048:
-       YYDEBUG(1048, *YYCURSOR);
-       yyaccept = 24;
-       yych = *(YYMARKER = ++YYCURSOR);
-       if (yych <= 'D') {
-               if (yych <= 0x1F) {
-                       if (yych == '\t') goto yy1110;
-                       goto yy944;
 -yy1440:
 -      YYDEBUG(1440, *YYCURSOR);
++yy1465:
++      YYDEBUG(1465, *YYCURSOR);
+       yych = *++YYCURSOR;
+       if (yych <= 'H') {
+               if (yych <= ')') {
+                       if (yych <= '(') goto yy3;
+                       goto yy174;
                } else {
-                       if (yych <= ' ') goto yy1110;
-                       if (yych <= 'C') goto yy944;
-                       goto yy1112;
+                       if (yych <= '@') goto yy3;
+                       if (yych <= 'G') goto yy178;
 -                      goto yy1238;
++                      goto yy1263;
                }
        } else {
-               if (yych <= 'c') {
-                       if (yych == 'T') goto yy1116;
-                       goto yy944;
+               if (yych <= 'g') {
+                       if (yych <= 'Z') goto yy178;
+                       if (yych <= '`') goto yy3;
+                       goto yy178;
                } else {
-                       if (yych <= 'd') goto yy1112;
-                       if (yych == 't') goto yy1116;
-                       goto yy944;
 -                      if (yych <= 'h') goto yy1238;
++                      if (yych <= 'h') goto yy1263;
+                       if (yych <= 'z') goto yy178;
+                       goto yy3;
                }
        }
- yy1049:
-       YYDEBUG(1049, *YYCURSOR);
-       yych = *++YYCURSOR;
-       if (yych == 'C') goto yy1041;
-       if (yych == 'c') goto yy1041;
-       goto yy56;
- yy1050:
-       YYDEBUG(1050, *YYCURSOR);
-       yyaccept = 24;
 -yy1441:
 -      YYDEBUG(1441, *YYCURSOR);
++yy1466:
++      YYDEBUG(1466, *YYCURSOR);
+       yyaccept = 0;
        yych = *(YYMARKER = ++YYCURSOR);
-       if (yych <= ' ') {
-               if (yych == '\t') goto yy1110;
-               if (yych <= 0x1F) goto yy944;
-               goto yy1110;
+       if (yych <= 'M') {
+               if (yych <= '-') {
+                       if (yych == ')') goto yy174;
+                       if (yych <= ',') goto yy3;
+                       goto yy182;
+               } else {
+                       if (yych == '/') goto yy182;
+                       if (yych <= '@') goto yy3;
+                       goto yy176;
+               }
        } else {
-               if (yych <= 'U') {
-                       if (yych <= 'T') goto yy944;
-                       goto yy1117;
+               if (yych <= '_') {
 -                      if (yych <= 'N') goto yy1439;
++                      if (yych <= 'N') goto yy1464;
+                       if (yych <= 'Z') goto yy176;
+                       if (yych <= '^') goto yy3;
+                       goto yy182;
                } else {
-                       if (yych == 'u') goto yy1117;
-                       goto yy944;
+                       if (yych <= 'm') {
+                               if (yych <= '`') goto yy3;
+                               goto yy181;
+                       } else {
 -                              if (yych <= 'n') goto yy1471;
++                              if (yych <= 'n') goto yy1496;
+                               if (yych <= 'z') goto yy181;
+                               goto yy3;
+                       }
                }
        }
- yy1051:
-       YYDEBUG(1051, *YYCURSOR);
-       yyaccept = 24;
 -yy1442:
 -      YYDEBUG(1442, *YYCURSOR);
++yy1467:
++      YYDEBUG(1467, *YYCURSOR);
+       yyaccept = 0;
        yych = *(YYMARKER = ++YYCURSOR);
-       if (yych <= 'S') {
-               if (yych == 'O') goto yy1118;
-               if (yych <= 'R') goto yy944;
-               goto yy1108;
+       if (yych <= 'T') {
+               if (yych <= '.') {
+                       if (yych <= ')') {
+                               if (yych <= '(') goto yy3;
+                               goto yy174;
+                       } else {
+                               if (yych == '-') goto yy182;
+                               goto yy3;
+                       }
+               } else {
+                       if (yych <= '@') {
+                               if (yych <= '/') goto yy182;
+                               goto yy3;
+                       } else {
 -                              if (yych == 'I') goto yy1431;
++                              if (yych == 'I') goto yy1456;
+                               goto yy176;
+                       }
+               }
        } else {
-               if (yych <= 'o') {
-                       if (yych <= 'n') goto yy944;
-                       goto yy1118;
+               if (yych <= '`') {
+                       if (yych <= 'Z') {
 -                              if (yych <= 'U') goto yy1432;
++                              if (yych <= 'U') goto yy1457;
+                               goto yy176;
+                       } else {
+                               if (yych == '_') goto yy182;
+                               goto yy3;
+                       }
                } else {
-                       if (yych == 's') goto yy1108;
-                       goto yy944;
+                       if (yych <= 't') {
 -                              if (yych == 'i') goto yy1463;
++                              if (yych == 'i') goto yy1488;
+                               goto yy181;
+                       } else {
 -                              if (yych <= 'u') goto yy1464;
++                              if (yych <= 'u') goto yy1489;
+                               if (yych <= 'z') goto yy181;
+                               goto yy3;
+                       }
                }
        }
- yy1052:
-       YYDEBUG(1052, *YYCURSOR);
-       yyaccept = 24;
 -yy1443:
 -      YYDEBUG(1443, *YYCURSOR);
++yy1468:
++      YYDEBUG(1468, *YYCURSOR);
+       yyaccept = 0;
        yych = *(YYMARKER = ++YYCURSOR);
-       if (yych <= ' ') {
-               if (yych == '\t') goto yy1110;
-               if (yych <= 0x1F) goto yy944;
-               goto yy1110;
+       if (yych <= 'L') {
+               if (yych <= '.') {
+                       if (yych <= ')') {
+                               if (yych <= '(') goto yy3;
+                               goto yy174;
+                       } else {
+                               if (yych == '-') goto yy182;
+                               goto yy3;
+                       }
+               } else {
+                       if (yych <= '@') {
+                               if (yych <= '/') goto yy182;
+                               goto yy3;
+                       } else {
 -                              if (yych == 'D') goto yy1420;
++                              if (yych == 'D') goto yy1445;
+                               goto yy176;
+                       }
+               }
        } else {
-               if (yych <= 'R') {
-                       if (yych <= 'Q') goto yy944;
-                       goto yy1119;
+               if (yych <= '`') {
+                       if (yych <= 'Z') {
 -                              if (yych <= 'M') goto yy1421;
++                              if (yych <= 'M') goto yy1446;
+                               goto yy176;
+                       } else {
+                               if (yych == '_') goto yy182;
+                               goto yy3;
+                       }
                } else {
-                       if (yych == 'r') goto yy1119;
-                       goto yy944;
+                       if (yych <= 'l') {
 -                              if (yych == 'd') goto yy1454;
++                              if (yych == 'd') goto yy1479;
+                               goto yy181;
+                       } else {
 -                              if (yych <= 'm') goto yy1455;
++                              if (yych <= 'm') goto yy1480;
+                               if (yych <= 'z') goto yy181;
+                               goto yy3;
+                       }
                }
        }
- yy1053:
-       YYDEBUG(1053, *YYCURSOR);
-       yyaccept = 24;
 -yy1444:
 -      YYDEBUG(1444, *YYCURSOR);
++yy1469:
++      YYDEBUG(1469, *YYCURSOR);
+       yyaccept = 0;
        yych = *(YYMARKER = ++YYCURSOR);
-       if (yych <= ' ') {
-               if (yych == '\t') goto yy1110;
-               if (yych <= 0x1F) goto yy944;
-               goto yy1110;
+       if (yych <= 'D') {
+               if (yych <= '-') {
+                       if (yych == ')') goto yy174;
+                       if (yych <= ',') goto yy3;
+                       goto yy182;
+               } else {
+                       if (yych == '/') goto yy182;
+                       if (yych <= '@') goto yy3;
+                       goto yy176;
+               }
        } else {
-               if (yych <= 'S') {
-                       if (yych <= 'R') goto yy944;
-                       goto yy1120;
+               if (yych <= '_') {
 -                      if (yych <= 'E') goto yy1416;
++                      if (yych <= 'E') goto yy1441;
+                       if (yych <= 'Z') goto yy176;
+                       if (yych <= '^') goto yy3;
+                       goto yy182;
                } else {
-                       if (yych == 's') goto yy1120;
-                       goto yy944;
+                       if (yych <= 'd') {
+                               if (yych <= '`') goto yy3;
+                               goto yy181;
+                       } else {
 -                              if (yych <= 'e') goto yy1450;
++                              if (yych <= 'e') goto yy1475;
+                               if (yych <= 'z') goto yy181;
+                               goto yy3;
+                       }
                }
        }
- yy1054:
-       YYDEBUG(1054, *YYCURSOR);
-       yyaccept = 24;
 -yy1445:
 -      YYDEBUG(1445, *YYCURSOR);
++yy1470:
++      YYDEBUG(1470, *YYCURSOR);
+       yyaccept = 0;
        yych = *(YYMARKER = ++YYCURSOR);
-       if (yych <= ' ') {
-               if (yych == '\t') goto yy1110;
-               if (yych <= 0x1F) goto yy944;
-               goto yy1110;
+       if (yych <= 'D') {
+               if (yych <= '-') {
+                       if (yych == ')') goto yy174;
+                       if (yych <= ',') goto yy3;
+                       goto yy182;
+               } else {
+                       if (yych == '/') goto yy182;
+                       if (yych <= '@') goto yy3;
+                       goto yy176;
+               }
        } else {
-               if (yych <= 'N') {
-                       if (yych <= 'M') goto yy944;
-                       goto yy1121;
+               if (yych <= '_') {
 -                      if (yych <= 'E') goto yy1412;
++                      if (yych <= 'E') goto yy1437;
+                       if (yych <= 'Z') goto yy176;
+                       if (yych <= '^') goto yy3;
+                       goto yy182;
                } else {
-                       if (yych == 'n') goto yy1121;
-                       goto yy944;
+                       if (yych <= 'd') {
+                               if (yych <= '`') goto yy3;
+                               goto yy181;
+                       } else {
 -                              if (yych <= 'e') goto yy1446;
++                              if (yych <= 'e') goto yy1471;
+                               if (yych <= 'z') goto yy181;
+                               goto yy3;
+                       }
                }
        }
- yy1055:
-       YYDEBUG(1055, *YYCURSOR);
-       yych = *++YYCURSOR;
-       if (yych == 'K') goto yy1122;
-       if (yych == 'k') goto yy1122;
-       goto yy56;
- yy1056:
-       YYDEBUG(1056, *YYCURSOR);
-       yyaccept = 24;
 -yy1446:
 -      YYDEBUG(1446, *YYCURSOR);
++yy1471:
++      YYDEBUG(1471, *YYCURSOR);
+       yyaccept = 0;
        yych = *(YYMARKER = ++YYCURSOR);
-       if (yych <= 'R') {
-               if (yych == ' ') goto yy1124;
-               goto yy944;
+       if (yych <= 'K') {
+               if (yych <= '-') {
+                       if (yych == ')') goto yy174;
+                       if (yych <= ',') goto yy3;
+                       goto yy182;
+               } else {
+                       if (yych == '/') goto yy182;
+                       if (yych <= '@') goto yy3;
+                       goto yy177;
+               }
        } else {
-               if (yych <= 'S') goto yy1108;
-               if (yych == 's') goto yy1108;
-               goto yy944;
+               if (yych <= '_') {
 -                      if (yych <= 'L') goto yy1413;
++                      if (yych <= 'L') goto yy1438;
+                       if (yych <= 'Z') goto yy177;
+                       if (yych <= '^') goto yy3;
+                       goto yy182;
+               } else {
+                       if (yych <= 'k') {
+                               if (yych <= '`') goto yy3;
+                               goto yy185;
+                       } else {
 -                              if (yych <= 'l') goto yy1447;
++                              if (yych <= 'l') goto yy1472;
+                               if (yych <= 'z') goto yy185;
+                               goto yy3;
+                       }
+               }
        }
- yy1057:
-       YYDEBUG(1057, *YYCURSOR);
-       ++YYCURSOR;
-       goto yy700;
- yy1058:
-       YYDEBUG(1058, *YYCURSOR);
-       yyaccept = 16;
 -yy1447:
 -      YYDEBUG(1447, *YYCURSOR);
++yy1472:
++      YYDEBUG(1472, *YYCURSOR);
+       yyaccept = 0;
        yych = *(YYMARKER = ++YYCURSOR);
-       if (yybm[0+yych] & 128) {
-               goto yy921;
-       }
-       if (yych <= '.') {
-               if (yych == '-') goto yy283;
-               goto yy700;
+       if (yych <= 'E') {
+               if (yych <= '-') {
+                       if (yych == ')') goto yy174;
+                       if (yych <= ',') goto yy3;
+                       goto yy182;
+               } else {
+                       if (yych == '/') goto yy182;
+                       if (yych <= '@') goto yy3;
+                       goto yy178;
+               }
        } else {
-               if (yych <= '/') goto yy283;
-               if (yych == '_') goto yy283;
-               goto yy700;
-       }
- yy1059:
-       YYDEBUG(1059, *YYCURSOR);
-       yych = *++YYCURSOR;
-       if (yych == '\t') goto yy681;
-       if (yych == ' ') goto yy681;
-       goto yy56;
- yy1060:
-       YYDEBUG(1060, *YYCURSOR);
-       yych = *++YYCURSOR;
-       if (yych == '\t') goto yy681;
-       if (yych == ' ') goto yy681;
-       goto yy922;
- yy1061:
-       YYDEBUG(1061, *YYCURSOR);
-       ++YYCURSOR;
- yy1062:
-       YYDEBUG(1062, *YYCURSOR);
- #line 1064 "parse_date.re"
-       {
-               DEBUG_OUTPUT("tomorrow");
-               TIMELIB_INIT;
-               TIMELIB_HAVE_RELATIVE();
-               TIMELIB_UNHAVE_TIME();
-               s->time->relative.d = 1;
-               TIMELIB_DEINIT;
-               return TIMELIB_RELATIVE;
+               if (yych <= '_') {
 -                      if (yych <= 'F') goto yy1414;
++                      if (yych <= 'F') goto yy1439;
+                       if (yych <= 'Z') goto yy178;
+                       if (yych <= '^') goto yy3;
+                       goto yy182;
+               } else {
+                       if (yych <= 'e') {
+                               if (yych <= '`') goto yy3;
+                               goto yy186;
+                       } else {
 -                              if (yych <= 'f') goto yy1448;
++                              if (yych <= 'f') goto yy1473;
+                               if (yych <= 'z') goto yy186;
+                               goto yy3;
+                       }
+               }
        }
- #line 19961 "<stdout>"
- yy1063:
-       YYDEBUG(1063, *YYCURSOR);
-       yyaccept = 28;
 -yy1448:
 -      YYDEBUG(1448, *YYCURSOR);
++yy1473:
++      YYDEBUG(1473, *YYCURSOR);
+       yyaccept = 0;
        yych = *(YYMARKER = ++YYCURSOR);
-       if (yybm[0+yych] & 128) {
-               goto yy921;
+       if (yych <= 'S') {
+               if (yych <= '-') {
+                       if (yych == ')') goto yy174;
+                       if (yych <= ',') goto yy3;
+                       goto yy182;
+               } else {
+                       if (yych == '/') goto yy182;
+                       if (yych <= '@') goto yy3;
+                       goto yy179;
+               }
+       } else {
+               if (yych <= '_') {
 -                      if (yych <= 'T') goto yy1415;
++                      if (yych <= 'T') goto yy1440;
+                       if (yych <= 'Z') goto yy179;
+                       if (yych <= '^') goto yy3;
+                       goto yy182;
+               } else {
+                       if (yych <= 's') {
+                               if (yych <= '`') goto yy3;
+                               goto yy187;
+                       } else {
 -                              if (yych <= 't') goto yy1449;
++                              if (yych <= 't') goto yy1474;
+                               if (yych <= 'z') goto yy187;
+                               goto yy3;
+                       }
+               }
        }
-       if (yych <= '.') {
-               if (yych == '-') goto yy283;
-               goto yy1062;
 -yy1449:
 -      YYDEBUG(1449, *YYCURSOR);
++yy1474:
++      YYDEBUG(1474, *YYCURSOR);
+       yyaccept = 0;
+       yych = *(YYMARKER = ++YYCURSOR);
+       if (yych <= 'G') {
+               if (yych <= ',') {
+                       if (yych == ')') goto yy174;
+                       goto yy3;
+               } else {
+                       if (yych == '.') goto yy3;
+                       if (yych <= '/') goto yy182;
+                       goto yy3;
+               }
        } else {
-               if (yych <= '/') goto yy283;
-               if (yych == '_') goto yy283;
-               goto yy1062;
+               if (yych <= '`') {
 -                      if (yych <= 'H') goto yy1205;
++                      if (yych <= 'H') goto yy1230;
+                       if (yych == '_') goto yy182;
+                       goto yy3;
+               } else {
 -                      if (yych == 'h') goto yy1223;
++                      if (yych == 'h') goto yy1248;
+                       if (yych <= 'z') goto yy188;
+                       goto yy3;
+               }
        }
- yy1064:
-       YYDEBUG(1064, *YYCURSOR);
-       yych = *++YYCURSOR;
-       if (yych == 'Y') goto yy1125;
-       if (yych == 'y') goto yy1125;
-       goto yy56;
- yy1065:
-       YYDEBUG(1065, *YYCURSOR);
-       yych = *++YYCURSOR;
-       if (yych == 'Y') goto yy1125;
-       if (yych == 'y') goto yy1127;
-       goto yy922;
- yy1066:
-       YYDEBUG(1066, *YYCURSOR);
-       yych = *++YYCURSOR;
-       if (yych <= '/') goto yy56;
-       if (yych <= '2') goto yy1128;
-       if (yych <= '3') goto yy1129;
-       goto yy56;
- yy1067:
-       YYDEBUG(1067, *YYCURSOR);
-       yych = *++YYCURSOR;
-       if (yych == '-') goto yy1130;
-       goto yy56;
- yy1068:
-       YYDEBUG(1068, *YYCURSOR);
-       yych = *++YYCURSOR;
-       if (yych == '-') goto yy864;
-       if (yych <= '/') goto yy186;
-       if (yych <= '9') goto yy1131;
-       goto yy186;
- yy1069:
-       YYDEBUG(1069, *YYCURSOR);
-       yych = *++YYCURSOR;
-       if (yych <= '/') goto yy56;
-       if (yych <= '9') goto yy1132;
-       goto yy56;
- yy1070:
-       YYDEBUG(1070, *YYCURSOR);
-       yych = *++YYCURSOR;
-       if (yych <= '/') goto yy56;
-       if (yych <= '1') goto yy1133;
-       if (yych <= '2') goto yy1134;
-       if (yych <= '9') goto yy1135;
-       goto yy56;
- yy1071:
-       YYDEBUG(1071, *YYCURSOR);
-       yych = *++YYCURSOR;
-       if (yych == 'd') goto yy1136;
-       goto yy56;
- yy1072:
-       YYDEBUG(1072, *YYCURSOR);
-       yych = *++YYCURSOR;
-       if (yych == 't') goto yy1136;
-       goto yy56;
- yy1073:
-       YYDEBUG(1073, *YYCURSOR);
-       yych = *++YYCURSOR;
-       if (yych == 'h') goto yy1136;
-       goto yy56;
- yy1074:
-       YYDEBUG(1074, *YYCURSOR);
-       yyaccept = 15;
 -yy1450:
 -      YYDEBUG(1450, *YYCURSOR);
++yy1475:
++      YYDEBUG(1475, *YYCURSOR);
+       yyaccept = 4;
        yych = *(YYMARKER = ++YYCURSOR);
-       if (yych <= 'm') {
-               if (yych <= '9') {
-                       if (yych <= '/') goto yy548;
-                       goto yy1137;
+       if (yych <= 'R') {
+               if (yych <= '-') {
+                       if (yych == ')') goto yy174;
+                       if (yych <= ',') goto yy201;
+                       goto yy182;
                } else {
-                       if (yych == 'T') goto yy1070;
-                       goto yy548;
+                       if (yych == '/') goto yy182;
+                       if (yych <= '@') goto yy201;
+                       goto yy177;
                }
        } else {
-               if (yych <= 'r') {
-                       if (yych <= 'n') goto yy1071;
-                       if (yych <= 'q') goto yy548;
-                       goto yy1071;
+               if (yych <= '_') {
 -                      if (yych <= 'S') goto yy1417;
++                      if (yych <= 'S') goto yy1442;
+                       if (yych <= 'Z') goto yy177;
+                       if (yych <= '^') goto yy201;
+                       goto yy182;
                } else {
-                       if (yych <= 's') goto yy1072;
-                       if (yych <= 't') goto yy1073;
-                       goto yy548;
+                       if (yych <= 'r') {
+                               if (yych <= '`') goto yy201;
+                               goto yy185;
+                       } else {
 -                              if (yych <= 's') goto yy1451;
++                              if (yych <= 's') goto yy1476;
+                               if (yych <= 'z') goto yy185;
+                               goto yy201;
+                       }
                }
        }
- yy1075:
-       YYDEBUG(1075, *YYCURSOR);
-       yyaccept = 15;
 -yy1451:
 -      YYDEBUG(1451, *YYCURSOR);
++yy1476:
++      YYDEBUG(1476, *YYCURSOR);
+       yyaccept = 0;
        yych = *(YYMARKER = ++YYCURSOR);
-       if (yych <= 'm') {
-               if (yych <= '1') {
-                       if (yych <= '/') goto yy548;
-                       goto yy1137;
+       if (yych <= 'C') {
+               if (yych <= '-') {
+                       if (yych == ')') goto yy174;
+                       if (yych <= ',') goto yy3;
+                       goto yy182;
                } else {
-                       if (yych == 'T') goto yy1070;
-                       goto yy548;
+                       if (yych == '/') goto yy182;
+                       if (yych <= '@') goto yy3;
+                       goto yy178;
                }
        } else {
-               if (yych <= 'r') {
-                       if (yych <= 'n') goto yy1071;
-                       if (yych <= 'q') goto yy548;
-                       goto yy1071;
+               if (yych <= '_') {
 -                      if (yych <= 'D') goto yy1418;
++                      if (yych <= 'D') goto yy1443;
+                       if (yych <= 'Z') goto yy178;
+                       if (yych <= '^') goto yy3;
+                       goto yy182;
                } else {
-                       if (yych <= 's') goto yy1072;
-                       if (yych <= 't') goto yy1073;
-                       goto yy548;
+                       if (yych <= 'c') {
+                               if (yych <= '`') goto yy3;
+                               goto yy186;
+                       } else {
 -                              if (yych <= 'd') goto yy1452;
++                              if (yych <= 'd') goto yy1477;
+                               if (yych <= 'z') goto yy186;
+                               goto yy3;
+                       }
                }
        }
- yy1076:
-       YYDEBUG(1076, *YYCURSOR);
-       yych = *++YYCURSOR;
-       if (yych == 'd') goto yy1138;
-       goto yy56;
- yy1077:
-       YYDEBUG(1077, *YYCURSOR);
-       yych = *++YYCURSOR;
-       if (yych == 't') goto yy1138;
-       goto yy56;
- yy1078:
-       YYDEBUG(1078, *YYCURSOR);
-       yych = *++YYCURSOR;
-       if (yych == 'h') goto yy1138;
-       goto yy56;
- yy1079:
-       YYDEBUG(1079, *YYCURSOR);
-       yyaccept = 26;
 -yy1452:
 -      YYDEBUG(1452, *YYCURSOR);
++yy1477:
++      YYDEBUG(1477, *YYCURSOR);
+       yyaccept = 0;
        yych = *(YYMARKER = ++YYCURSOR);
-       if (yych <= 'n') {
-               if (yych <= '/') goto yy1003;
-               if (yych <= '9') goto yy1139;
-               if (yych <= 'm') goto yy1003;
-               goto yy1076;
+       if (yych <= '@') {
+               if (yych <= ',') {
+                       if (yych == ')') goto yy174;
+                       goto yy3;
+               } else {
+                       if (yych == '.') goto yy3;
+                       if (yych <= '/') goto yy182;
+                       goto yy3;
+               }
        } else {
-               if (yych <= 'r') {
-                       if (yych <= 'q') goto yy1003;
-                       goto yy1076;
+               if (yych <= '_') {
 -                      if (yych <= 'A') goto yy1419;
++                      if (yych <= 'A') goto yy1444;
+                       if (yych <= 'Z') goto yy179;
+                       if (yych <= '^') goto yy3;
+                       goto yy182;
                } else {
-                       if (yych <= 's') goto yy1077;
-                       if (yych <= 't') goto yy1078;
-                       goto yy1003;
+                       if (yych <= '`') goto yy3;
 -                      if (yych <= 'a') goto yy1453;
++                      if (yych <= 'a') goto yy1478;
+                       if (yych <= 'z') goto yy187;
+                       goto yy3;
                }
        }
- yy1080:
-       YYDEBUG(1080, *YYCURSOR);
-       yyaccept = 26;
 -yy1453:
 -      YYDEBUG(1453, *YYCURSOR);
++yy1478:
++      YYDEBUG(1478, *YYCURSOR);
+       yyaccept = 0;
        yych = *(YYMARKER = ++YYCURSOR);
-       if (yych <= 'n') {
-               if (yych <= '/') goto yy1003;
-               if (yych <= '1') goto yy1139;
-               if (yych <= 'm') goto yy1003;
-               goto yy1076;
+       if (yych <= 'X') {
+               if (yych <= ',') {
+                       if (yych == ')') goto yy174;
+                       goto yy3;
+               } else {
+                       if (yych == '.') goto yy3;
+                       if (yych <= '/') goto yy182;
+                       goto yy3;
+               }
        } else {
-               if (yych <= 'r') {
-                       if (yych <= 'q') goto yy1003;
-                       goto yy1076;
+               if (yych <= '`') {
+                       if (yych <= 'Y') goto yy207;
+                       if (yych == '_') goto yy182;
+                       goto yy3;
                } else {
-                       if (yych <= 's') goto yy1077;
-                       if (yych <= 't') goto yy1078;
-                       goto yy1003;
+                       if (yych == 'y') goto yy220;
+                       if (yych <= 'z') goto yy188;
+                       goto yy3;
                }
        }
- yy1081:
-       YYDEBUG(1081, *YYCURSOR);
-       yych = *++YYCURSOR;
-       if (yych <= '/') goto yy186;
-       if (yych <= '9') goto yy1140;
-       goto yy186;
- yy1082:
-       YYDEBUG(1082, *YYCURSOR);
-       yych = *++YYCURSOR;
-       if (yych <= 'H') {
-               if (yych <= '2') {
-                       if (yych <= '/') goto yy56;
-                       if (yych <= '1') goto yy1141;
-                       goto yy1142;
 -yy1454:
 -      YYDEBUG(1454, *YYCURSOR);
++yy1479:
++      YYDEBUG(1479, *YYCURSOR);
+       yyaccept = 0;
+       yych = *(YYMARKER = ++YYCURSOR);
+       if (yych <= '@') {
+               if (yych <= ',') {
+                       if (yych == ')') goto yy174;
+                       goto yy3;
                } else {
-                       if (yych <= '9') goto yy1143;
-                       if (yych <= 'G') goto yy56;
-                       goto yy256;
+                       if (yych == '.') goto yy3;
+                       if (yych <= '/') goto yy182;
+                       goto yy3;
                }
        } else {
-               if (yych <= 'g') {
-                       if (yych == 'U') goto yy257;
-                       goto yy56;
+               if (yych <= '_') {
 -                      if (yych <= 'A') goto yy1428;
++                      if (yych <= 'A') goto yy1453;
+                       if (yych <= 'Z') goto yy177;
+                       if (yych <= '^') goto yy3;
+                       goto yy182;
                } else {
-                       if (yych <= 'h') goto yy256;
-                       if (yych == 'u') goto yy257;
-                       goto yy56;
+                       if (yych <= '`') goto yy3;
 -                      if (yych <= 'a') goto yy1461;
++                      if (yych <= 'a') goto yy1486;
+                       if (yych <= 'z') goto yy185;
+                       goto yy3;
                }
        }
- yy1083:
-       YYDEBUG(1083, *YYCURSOR);
-       yych = *++YYCURSOR;
-       if (yych <= 'H') {
-               if (yych <= '2') {
-                       if (yych <= '/') goto yy56;
-                       if (yych <= '1') goto yy1144;
-                       goto yy1145;
 -yy1455:
 -      YYDEBUG(1455, *YYCURSOR);
++yy1480:
++      YYDEBUG(1480, *YYCURSOR);
+       yyaccept = 0;
+       yych = *(YYMARKER = ++YYCURSOR);
+       if (yych <= 'N') {
+               if (yych <= '-') {
+                       if (yych == ')') goto yy174;
+                       if (yych <= ',') goto yy3;
+                       goto yy182;
                } else {
-                       if (yych <= '9') goto yy1146;
-                       if (yych <= 'G') goto yy56;
-                       goto yy256;
+                       if (yych == '/') goto yy182;
+                       if (yych <= '@') goto yy3;
+                       goto yy177;
                }
        } else {
-               if (yych <= 'g') {
-                       if (yych == 'U') goto yy257;
-                       goto yy56;
+               if (yych <= '_') {
 -                      if (yych <= 'O') goto yy1422;
++                      if (yych <= 'O') goto yy1447;
+                       if (yych <= 'Z') goto yy177;
+                       if (yych <= '^') goto yy3;
+                       goto yy182;
                } else {
-                       if (yych <= 'h') goto yy256;
-                       if (yych == 'u') goto yy257;
-                       goto yy56;
+                       if (yych <= 'n') {
+                               if (yych <= '`') goto yy3;
+                               goto yy185;
+                       } else {
 -                              if (yych <= 'o') goto yy1456;
++                              if (yych <= 'o') goto yy1481;
+                               if (yych <= 'z') goto yy185;
+                               goto yy3;
+                       }
                }
        }
- yy1084:
-       YYDEBUG(1084, *YYCURSOR);
-       yych = *++YYCURSOR;
-       if (yych <= '/') goto yy56;
-       if (yych <= '9') goto yy1147;
-       goto yy56;
- yy1085:
-       YYDEBUG(1085, *YYCURSOR);
-       yych = *++YYCURSOR;
-       if (yych <= '/') goto yy56;
-       if (yych <= '1') goto yy1147;
-       goto yy56;
- yy1086:
-       YYDEBUG(1086, *YYCURSOR);
-       yych = *++YYCURSOR;
-       if (yych == 'T') goto yy765;
-       if (yych == 't') goto yy765;
-       goto yy56;
- yy1087:
-       YYDEBUG(1087, *YYCURSOR);
-       yych = *++YYCURSOR;
-       if (yych == 'R') goto yy1148;
-       if (yych == 'r') goto yy1148;
-       goto yy56;
- yy1088:
-       YYDEBUG(1088, *YYCURSOR);
-       yych = *++YYCURSOR;
-       if (yych == 'E') goto yy1149;
-       if (yych == 'e') goto yy1149;
-       goto yy56;
- yy1089:
-       YYDEBUG(1089, *YYCURSOR);
-       yych = *++YYCURSOR;
-       if (yych == 'T') goto yy408;
-       if (yych == 't') goto yy408;
-       goto yy56;
- yy1090:
-       YYDEBUG(1090, *YYCURSOR);
-       yych = *++YYCURSOR;
-       if (yych == 'O') goto yy610;
-       if (yych == 'o') goto yy610;
-       goto yy56;
- yy1091:
-       YYDEBUG(1091, *YYCURSOR);
-       yyaccept = 4;
-       YYMARKER = ++YYCURSOR;
-       if ((YYLIMIT - YYCURSOR) < 5) YYFILL(5);
-       yych = *YYCURSOR;
-       YYDEBUG(1092, *YYCURSOR);
-       if (yych <= 'O') {
-               if (yych <= '9') {
-                       if (yych <= '/') goto yy209;
-                       goto yy1091;
 -yy1456:
 -      YYDEBUG(1456, *YYCURSOR);
++yy1481:
++      YYDEBUG(1481, *YYCURSOR);
+       yyaccept = 0;
+       yych = *(YYMARKER = ++YYCURSOR);
+       if (yych <= 'Q') {
+               if (yych <= '-') {
+                       if (yych == ')') goto yy174;
+                       if (yych <= ',') goto yy3;
+                       goto yy182;
                } else {
-                       if (yych == 'A') goto yy1150;
-                       goto yy209;
+                       if (yych == '/') goto yy182;
+                       if (yych <= '@') goto yy3;
+                       goto yy178;
                }
        } else {
-               if (yych <= 'a') {
-                       if (yych <= 'P') goto yy1150;
-                       if (yych <= '`') goto yy209;
-                       goto yy1150;
+               if (yych <= '_') {
 -                      if (yych <= 'R') goto yy1423;
++                      if (yych <= 'R') goto yy1448;
+                       if (yych <= 'Z') goto yy178;
+                       if (yych <= '^') goto yy3;
+                       goto yy182;
                } else {
-                       if (yych == 'p') goto yy1150;
-                       goto yy209;
+                       if (yych <= 'q') {
+                               if (yych <= '`') goto yy3;
+                               goto yy186;
+                       } else {
 -                              if (yych <= 'r') goto yy1457;
++                              if (yych <= 'r') goto yy1482;
+                               if (yych <= 'z') goto yy186;
+                               goto yy3;
+                       }
                }
        }
- yy1093:
-       YYDEBUG(1093, *YYCURSOR);
-       ++YYCURSOR;
-       if ((YYLIMIT - YYCURSOR) < 5) YYFILL(5);
-       yych = *YYCURSOR;
-       YYDEBUG(1094, *YYCURSOR);
-       if (yych <= 'O') {
-               if (yych <= '9') {
-                       if (yych <= '/') goto yy56;
-                       goto yy1093;
 -yy1457:
 -      YYDEBUG(1457, *YYCURSOR);
++yy1482:
++      YYDEBUG(1482, *YYCURSOR);
+       yyaccept = 0;
+       yych = *(YYMARKER = ++YYCURSOR);
+       if (yych <= 'Q') {
+               if (yych <= '-') {
+                       if (yych == ')') goto yy174;
+                       if (yych <= ',') goto yy3;
+                       goto yy182;
                } else {
-                       if (yych == 'A') goto yy1150;
-                       goto yy56;
+                       if (yych == '/') goto yy182;
+                       if (yych <= '@') goto yy3;
+                       goto yy179;
                }
        } else {
-               if (yych <= 'a') {
-                       if (yych <= 'P') goto yy1150;
-                       if (yych <= '`') goto yy56;
-                       goto yy1150;
+               if (yych <= '_') {
 -                      if (yych <= 'R') goto yy1424;
++                      if (yych <= 'R') goto yy1449;
+                       if (yych <= 'Z') goto yy179;
+                       if (yych <= '^') goto yy3;
+                       goto yy182;
                } else {
-                       if (yych == 'p') goto yy1150;
-                       goto yy56;
+                       if (yych <= 'q') {
+                               if (yych <= '`') goto yy3;
+                               goto yy187;
+                       } else {
 -                              if (yych <= 'r') goto yy1458;
++                              if (yych <= 'r') goto yy1483;
+                               if (yych <= 'z') goto yy187;
+                               goto yy3;
+                       }
                }
        }
- yy1095:
-       YYDEBUG(1095, *YYCURSOR);
-       ++YYCURSOR;
-       YYDEBUG(1096, *YYCURSOR);
- #line 1607 "parse_date.re"
-       {
-               int length = 0;
-               DEBUG_OUTPUT("pgtextreverse");
-               TIMELIB_INIT;
-               TIMELIB_HAVE_DATE();
-               s->time->y = timelib_get_nr_ex(&ptr, 4, &length);
-               s->time->m = timelib_get_month(&ptr);
-               s->time->d = timelib_get_nr(&ptr, 2);
-               TIMELIB_PROCESS_YEAR(s->time->y, length);
-               TIMELIB_DEINIT;
-               return TIMELIB_PG_TEXT;
 -yy1458:
 -      YYDEBUG(1458, *YYCURSOR);
++yy1483:
++      YYDEBUG(1483, *YYCURSOR);
+       yyaccept = 0;
+       yych = *(YYMARKER = ++YYCURSOR);
+       if (yych <= 'N') {
+               if (yych <= ',') {
+                       if (yych == ')') goto yy174;
+                       goto yy3;
+               } else {
+                       if (yych == '.') goto yy3;
+                       if (yych <= '/') goto yy182;
+                       goto yy3;
+               }
+       } else {
+               if (yych <= '`') {
 -                      if (yych <= 'O') goto yy1425;
++                      if (yych <= 'O') goto yy1450;
+                       if (yych == '_') goto yy182;
+                       goto yy3;
+               } else {
 -                      if (yych == 'o') goto yy1459;
++                      if (yych == 'o') goto yy1484;
+                       if (yych <= 'z') goto yy188;
+                       goto yy3;
+               }
        }
- #line 20296 "<stdout>"
- yy1097:
-       YYDEBUG(1097, *YYCURSOR);
-       ++YYCURSOR;
-       goto yy276;
- yy1098:
-       YYDEBUG(1098, *YYCURSOR);
 -yy1459:
 -      YYDEBUG(1459, *YYCURSOR);
++yy1484:
++      YYDEBUG(1484, *YYCURSOR);
        yych = *++YYCURSOR;
-       if (yych <= '/') goto yy1030;
-       if (yych <= '9') goto yy1151;
-       goto yy1030;
- yy1099:
-       YYDEBUG(1099, *YYCURSOR);
-       yyaccept = 29;
 -      if (yych == 'W') goto yy1426;
++      if (yych == 'W') goto yy1451;
+       if (yych != 'w') goto yy189;
 -      YYDEBUG(1460, *YYCURSOR);
 -      yyaccept = 29;
++      YYDEBUG(1485, *YYCURSOR);
++      yyaccept = 28;
        yych = *(YYMARKER = ++YYCURSOR);
-       if (yych <= '@') {
-               if (yych <= 0x1F) {
-                       if (yych == '\t') goto yy1152;
+       if (yybm[0+yych] & 8) {
+               goto yy188;
+       }
+       if (yych <= '.') {
+               if (yych == '-') goto yy182;
 -              goto yy1427;
++              goto yy1452;
+       } else {
+               if (yych <= '/') goto yy182;
+               if (yych == '_') goto yy182;
 -              goto yy1427;
++              goto yy1452;
+       }
 -yy1461:
 -      YYDEBUG(1461, *YYCURSOR);
++yy1486:
++      YYDEBUG(1486, *YYCURSOR);
+       yyaccept = 0;
+       yych = *(YYMARKER = ++YYCURSOR);
+       if (yych <= 'X') {
+               if (yych <= '-') {
+                       if (yych == ')') goto yy174;
+                       if (yych <= ',') goto yy3;
+                       goto yy182;
                } else {
-                       if (yych <= ' ') goto yy1152;
-                       if (yych <= '/') goto yy1100;
-                       if (yych <= '9') goto yy1102;
+                       if (yych == '/') goto yy182;
+                       if (yych <= '@') goto yy3;
+                       goto yy178;
                }
        } else {
-               if (yych <= '`') {
-                       if (yych <= 'A') goto yy1154;
-                       if (yych == 'P') goto yy1154;
+               if (yych <= '_') {
 -                      if (yych <= 'Y') goto yy1429;
++                      if (yych <= 'Y') goto yy1454;
+                       if (yych <= 'Z') goto yy178;
+                       if (yych <= '^') goto yy3;
+                       goto yy182;
                } else {
-                       if (yych <= 'a') goto yy1154;
-                       if (yych == 'p') goto yy1154;
+                       if (yych <= 'x') {
+                               if (yych <= '`') goto yy3;
+                               goto yy186;
+                       } else {
 -                              if (yych <= 'y') goto yy1462;
++                              if (yych <= 'y') goto yy1487;
+                               if (yych <= 'z') goto yy186;
+                               goto yy3;
+                       }
                }
        }
- yy1100:
-       YYDEBUG(1100, *YYCURSOR);
- #line 1152 "parse_date.re"
-       {
-               DEBUG_OUTPUT("backof | frontof");
-               TIMELIB_INIT;
-               TIMELIB_UNHAVE_TIME();
-               TIMELIB_HAVE_TIME();
-               if (*ptr == 'b') {
-                       s->time->h = timelib_get_nr(&ptr, 2);
-                       s->time->i = 15;
 -yy1462:
 -      YYDEBUG(1462, *YYCURSOR);
 -      yyaccept = 30;
++yy1487:
++      YYDEBUG(1487, *YYCURSOR);
++      yyaccept = 29;
+       yych = *(YYMARKER = ++YYCURSOR);
+       if (yych <= '/') {
+               if (yych <= ',') {
+                       if (yych == ')') goto yy174;
 -                      goto yy1430;
++                      goto yy1455;
                } else {
-                       s->time->h = timelib_get_nr(&ptr, 2) - 1;
-                       s->time->i = 45;
 -                      if (yych == '.') goto yy1430;
++                      if (yych == '.') goto yy1455;
+                       goto yy182;
                }
-               if (*ptr != '\0' ) {
-                       timelib_eat_spaces(&ptr);
-                       s->time->h += timelib_meridian(&ptr, s->time->h);
+       } else {
+               if (yych <= '^') {
 -                      if (yych <= '@') goto yy1430;
++                      if (yych <= '@') goto yy1455;
+                       if (yych <= 'Z') goto yy179;
 -                      goto yy1430;
++                      goto yy1455;
+               } else {
+                       if (yych <= '_') goto yy182;
 -                      if (yych <= '`') goto yy1430;
++                      if (yych <= '`') goto yy1455;
+                       if (yych <= 'z') goto yy187;
 -                      goto yy1430;
++                      goto yy1455;
                }
-               TIMELIB_DEINIT;
-               return TIMELIB_LF_DAY_OF_MONTH;
        }
- #line 20352 "<stdout>"
- yy1101:
-       YYDEBUG(1101, *YYCURSOR);
-       yyaccept = 29;
 -yy1463:
 -      YYDEBUG(1463, *YYCURSOR);
++yy1488:
++      YYDEBUG(1488, *YYCURSOR);
+       yyaccept = 0;
        yych = *(YYMARKER = ++YYCURSOR);
-       if (yych <= '@') {
-               if (yych <= 0x1F) {
-                       if (yych == '\t') goto yy1152;
-                       goto yy1100;
+       if (yych <= 'R') {
+               if (yych <= '-') {
+                       if (yych == ')') goto yy174;
+                       if (yych <= ',') goto yy3;
+                       goto yy182;
                } else {
-                       if (yych <= ' ') goto yy1152;
-                       if (yych <= '/') goto yy1100;
-                       if (yych >= '5') goto yy1100;
+                       if (yych <= '/') {
+                               if (yych <= '.') goto yy3;
+                               goto yy182;
+                       } else {
+                               if (yych <= '@') goto yy3;
+                               if (yych <= 'Q') goto yy177;
 -                              goto yy1437;
++                              goto yy1462;
+                       }
                }
        } else {
                if (yych <= '`') {
-                       if (yych <= 'A') goto yy1154;
-                       if (yych == 'P') goto yy1154;
-                       goto yy1100;
+                       if (yych <= 'Z') {
 -                              if (yych <= 'S') goto yy1438;
++                              if (yych <= 'S') goto yy1463;
+                               goto yy177;
+                       } else {
+                               if (yych == '_') goto yy182;
+                               goto yy3;
+                       }
                } else {
-                       if (yych <= 'a') goto yy1154;
-                       if (yych == 'p') goto yy1154;
-                       goto yy1100;
+                       if (yych <= 'r') {
+                               if (yych <= 'q') goto yy185;
 -                              goto yy1469;
++                              goto yy1494;
+                       } else {
 -                              if (yych <= 's') goto yy1470;
++                              if (yych <= 's') goto yy1495;
+                               if (yych <= 'z') goto yy185;
+                               goto yy3;
+                       }
                }
        }
- yy1102:
-       YYDEBUG(1102, *YYCURSOR);
-       yyaccept = 29;
 -yy1464:
 -      YYDEBUG(1464, *YYCURSOR);
++yy1489:
++      YYDEBUG(1489, *YYCURSOR);
+       yyaccept = 4;
        yych = *(YYMARKER = ++YYCURSOR);
-       if (yych <= 'A') {
-               if (yych <= 0x1F) {
-                       if (yych == '\t') goto yy1152;
-                       goto yy1100;
+       if (yych <= 'Q') {
+               if (yych <= '-') {
+                       if (yych == ')') goto yy174;
+                       if (yych <= ',') goto yy201;
+                       goto yy182;
                } else {
-                       if (yych <= ' ') goto yy1152;
-                       if (yych <= '@') goto yy1100;
-                       goto yy1154;
+                       if (yych == '/') goto yy182;
+                       if (yych <= '@') goto yy201;
+                       goto yy177;
                }
        } else {
-               if (yych <= '`') {
-                       if (yych == 'P') goto yy1154;
-                       goto yy1100;
+               if (yych <= '_') {
 -                      if (yych <= 'R') goto yy1433;
++                      if (yych <= 'R') goto yy1458;
+                       if (yych <= 'Z') goto yy177;
+                       if (yych <= '^') goto yy201;
+                       goto yy182;
                } else {
-                       if (yych <= 'a') goto yy1154;
-                       if (yych == 'p') goto yy1154;
-                       goto yy1100;
+                       if (yych <= 'q') {
+                               if (yych <= '`') goto yy201;
+                               goto yy185;
+                       } else {
 -                              if (yych <= 'r') goto yy1465;
++                              if (yych <= 'r') goto yy1490;
+                               if (yych <= 'z') goto yy185;
+                               goto yy201;
+                       }
                }
        }
- yy1103:
-       YYDEBUG(1103, *YYCURSOR);
-       yych = *++YYCURSOR;
-       if (yych == 'K') goto yy1155;
-       if (yych == 'k') goto yy1155;
-       goto yy56;
- yy1104:
-       YYDEBUG(1104, *YYCURSOR);
-       yyaccept = 20;
 -yy1465:
 -      YYDEBUG(1465, *YYCURSOR);
++yy1490:
++      YYDEBUG(1490, *YYCURSOR);
+       yyaccept = 0;
        yych = *(YYMARKER = ++YYCURSOR);
-       if (yych <= '*') {
-               if (yych <= 0x1F) {
-                       if (yych == '\t') goto yy1157;
-                       goto yy820;
+       if (yych <= 'R') {
+               if (yych <= '-') {
+                       if (yych == ')') goto yy174;
+                       if (yych <= ',') goto yy3;
+                       goto yy182;
                } else {
-                       if (yych <= ' ') goto yy1157;
-                       if (yych == '(') goto yy1157;
-                       goto yy820;
+                       if (yych == '/') goto yy182;
+                       if (yych <= '@') goto yy3;
+                       goto yy178;
                }
        } else {
-               if (yych <= '@') {
-                       if (yych == ',') goto yy820;
-                       if (yych <= '-') goto yy1157;
-                       goto yy820;
+               if (yych <= '_') {
 -                      if (yych <= 'S') goto yy1434;
++                      if (yych <= 'S') goto yy1459;
+                       if (yych <= 'Z') goto yy178;
+                       if (yych <= '^') goto yy3;
+                       goto yy182;
                } else {
-                       if (yych <= 'Z') goto yy1157;
-                       if (yych <= '`') goto yy820;
-                       if (yych <= 'z') goto yy1157;
-                       goto yy820;
+                       if (yych <= 'r') {
+                               if (yych <= '`') goto yy3;
+                               goto yy186;
+                       } else {
 -                              if (yych <= 's') goto yy1466;
++                              if (yych <= 's') goto yy1491;
+                               if (yych <= 'z') goto yy186;
+                               goto yy3;
+                       }
                }
        }
- yy1105:
-       YYDEBUG(1105, *YYCURSOR);
-       yyaccept = 20;
 -yy1466:
 -      YYDEBUG(1466, *YYCURSOR);
++yy1491:
++      YYDEBUG(1491, *YYCURSOR);
+       yyaccept = 0;
        yych = *(YYMARKER = ++YYCURSOR);
-       if (yych <= '*') {
-               if (yych <= 0x1F) {
-                       if (yych == '\t') goto yy1164;
-                       goto yy820;
+       if (yych <= 'C') {
+               if (yych <= '-') {
+                       if (yych == ')') goto yy174;
+                       if (yych <= ',') goto yy3;
+                       goto yy182;
                } else {
-                       if (yych <= ' ') goto yy1164;
-                       if (yych == '(') goto yy1164;
-                       goto yy820;
+                       if (yych == '/') goto yy182;
+                       if (yych <= '@') goto yy3;
+                       goto yy179;
                }
        } else {
-               if (yych <= '@') {
-                       if (yych == ',') goto yy820;
-                       if (yych <= '-') goto yy1164;
-                       goto yy820;
+               if (yych <= '_') {
 -                      if (yych <= 'D') goto yy1435;
++                      if (yych <= 'D') goto yy1460;
+                       if (yych <= 'Z') goto yy179;
+                       if (yych <= '^') goto yy3;
+                       goto yy182;
                } else {
-                       if (yych <= 'Z') goto yy1164;
-                       if (yych <= '`') goto yy820;
-                       if (yych <= 'z') goto yy1164;
-                       goto yy820;
+                       if (yych <= 'c') {
+                               if (yych <= '`') goto yy3;
+                               goto yy187;
+                       } else {
 -                              if (yych <= 'd') goto yy1467;
++                              if (yych <= 'd') goto yy1492;
+                               if (yych <= 'z') goto yy187;
+                               goto yy3;
+                       }
                }
        }
- yy1106:
-       YYDEBUG(1106, *YYCURSOR);
-       yych = *++YYCURSOR;
-       if (yych == 'M') goto yy1107;
-       if (yych != 'm') goto yy56;
- yy1107:
-       YYDEBUG(1107, *YYCURSOR);
-       yych = *++YYCURSOR;
-       if (yych <= 0x1F) {
-               if (yych <= 0x00) goto yy1167;
-               if (yych == '\t') goto yy1167;
-               goto yy56;
 -yy1467:
 -      YYDEBUG(1467, *YYCURSOR);
++yy1492:
++      YYDEBUG(1492, *YYCURSOR);
+       yyaccept = 0;
+       yych = *(YYMARKER = ++YYCURSOR);
+       if (yych <= '@') {
+               if (yych <= ',') {
+                       if (yych == ')') goto yy174;
+                       goto yy3;
+               } else {
+                       if (yych == '.') goto yy3;
+                       if (yych <= '/') goto yy182;
+                       goto yy3;
+               }
        } else {
-               if (yych <= ' ') goto yy1167;
-               if (yych == '.') goto yy1169;
-               goto yy56;
+               if (yych <= '_') {
 -                      if (yych <= 'A') goto yy1436;
++                      if (yych <= 'A') goto yy1461;
+                       if (yych <= '^') goto yy3;
+                       goto yy182;
+               } else {
+                       if (yych <= '`') goto yy3;
 -                      if (yych <= 'a') goto yy1468;
++                      if (yych <= 'a') goto yy1493;
+                       if (yych <= 'z') goto yy188;
+                       goto yy3;
+               }
        }
- yy1108:
-       YYDEBUG(1108, *YYCURSOR);
-       ++YYCURSOR;
-       goto yy944;
- yy1109:
-       YYDEBUG(1109, *YYCURSOR);
 -yy1468:
 -      YYDEBUG(1468, *YYCURSOR);
++yy1493:
++      YYDEBUG(1493, *YYCURSOR);
        yych = *++YYCURSOR;
-       if (yych <= 'N') {
-               if (yych == 'H') goto yy1170;
-               if (yych <= 'M') goto yy56;
-               goto yy1171;
+       if (yych == 'Y') goto yy207;
+       if (yych == 'y') goto yy220;
+       goto yy189;
 -yy1469:
 -      YYDEBUG(1469, *YYCURSOR);
++yy1494:
++      YYDEBUG(1494, *YYCURSOR);
+       yyaccept = 0;
+       yych = *(YYMARKER = ++YYCURSOR);
+       if (yych <= 'C') {
+               if (yych <= '-') {
+                       if (yych == ')') goto yy174;
+                       if (yych <= ',') goto yy3;
+                       goto yy182;
+               } else {
+                       if (yych == '/') goto yy182;
+                       if (yych <= '@') goto yy3;
+                       goto yy178;
+               }
        } else {
-               if (yych <= 'h') {
-                       if (yych <= 'g') goto yy56;
-                       goto yy1170;
+               if (yych <= '_') {
 -                      if (yych <= 'D') goto yy1238;
++                      if (yych <= 'D') goto yy1263;
+                       if (yych <= 'Z') goto yy178;
+                       if (yych <= '^') goto yy3;
+                       goto yy182;
                } else {
-                       if (yych == 'n') goto yy1171;
-                       goto yy56;
+                       if (yych <= 'c') {
+                               if (yych <= '`') goto yy3;
+                               goto yy186;
+                       } else {
 -                              if (yych <= 'd') goto yy1267;
++                              if (yych <= 'd') goto yy1292;
+                               if (yych <= 'z') goto yy186;
+                               goto yy3;
+                       }
                }
        }
- yy1110:
-       YYDEBUG(1110, *YYCURSOR);
-       ++YYCURSOR;
-       if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2);
-       yych = *YYCURSOR;
-       YYDEBUG(1111, *YYCURSOR);
-       if (yych <= ' ') {
-               if (yych == '\t') goto yy1110;
-               if (yych <= 0x1F) goto yy56;
-               goto yy1110;
 -yy1470:
 -      YYDEBUG(1470, *YYCURSOR);
++yy1495:
++      YYDEBUG(1495, *YYCURSOR);
+       yyaccept = 0;
+       yych = *(YYMARKER = ++YYCURSOR);
+       if (yych <= '-') {
+               if (yych <= ' ') {
 -                      if (yych == '\t') goto yy1079;
++                      if (yych == '\t') goto yy1104;
+                       if (yych <= 0x1F) goto yy3;
 -                      goto yy1079;
++                      goto yy1104;
+               } else {
+                       if (yych == ')') goto yy174;
+                       if (yych <= ',') goto yy3;
+                       goto yy182;
+               }
        } else {
-               if (yych <= 'O') {
-                       if (yych <= 'N') goto yy56;
-                       goto yy1172;
+               if (yych <= 'Z') {
+                       if (yych == '/') goto yy182;
+                       if (yych <= '@') goto yy3;
+                       goto yy178;
                } else {
-                       if (yych == 'o') goto yy1172;
-                       goto yy56;
+                       if (yych <= '_') {
+                               if (yych <= '^') goto yy3;
+                               goto yy182;
+                       } else {
+                               if (yych <= '`') goto yy3;
+                               if (yych <= 'z') goto yy186;
+                               goto yy3;
+                       }
                }
        }
- yy1112:
-       YYDEBUG(1112, *YYCURSOR);
-       yych = *++YYCURSOR;
-       if (yych == 'A') goto yy1173;
-       if (yych == 'a') goto yy1173;
-       goto yy56;
- yy1113:
-       YYDEBUG(1113, *YYCURSOR);
-       yych = *++YYCURSOR;
-       if (yych == 'O') goto yy1174;
-       if (yych == 'o') goto yy1174;
-       goto yy56;
- yy1114:
-       YYDEBUG(1114, *YYCURSOR);
-       yych = *++YYCURSOR;
-       if (yych == 'I') goto yy1174;
-       if (yych == 'i') goto yy1174;
-       goto yy56;
- yy1115:
-       YYDEBUG(1115, *YYCURSOR);
-       yych = *++YYCURSOR;
-       if (yych == 'T') goto yy1175;
-       if (yych == 't') goto yy1175;
-       goto yy56;
- yy1116:
-       YYDEBUG(1116, *YYCURSOR);
-       yych = *++YYCURSOR;
-       if (yych == 'H') goto yy1041;
-       if (yych == 'h') goto yy1041;
-       goto yy56;
- yy1117:
-       YYDEBUG(1117, *YYCURSOR);
-       yych = *++YYCURSOR;
-       if (yych == 'R') goto yy1120;
-       if (yych == 'r') goto yy1120;
-       goto yy56;
- yy1118:
-       YYDEBUG(1118, *YYCURSOR);
-       yych = *++YYCURSOR;
-       if (yych == 'N') goto yy1176;
-       if (yych == 'n') goto yy1176;
-       goto yy56;
- yy1119:
-       YYDEBUG(1119, *YYCURSOR);
-       yych = *++YYCURSOR;
-       if (yych == 'S') goto yy1120;
-       if (yych != 's') goto yy56;
- yy1120:
-       YYDEBUG(1120, *YYCURSOR);
-       yych = *++YYCURSOR;
-       if (yych == 'D') goto yy1112;
-       if (yych == 'd') goto yy1112;
-       goto yy56;
- yy1121:
-       YYDEBUG(1121, *YYCURSOR);
-       yych = *++YYCURSOR;
-       if (yych == 'E') goto yy1119;
-       if (yych == 'e') goto yy1119;
-       goto yy56;
- yy1122:
-       YYDEBUG(1122, *YYCURSOR);
-       yyaccept = 30;
 -yy1471:
 -      YYDEBUG(1471, *YYCURSOR);
++yy1496:
++      YYDEBUG(1496, *YYCURSOR);
+       yyaccept = 0;
        yych = *(YYMARKER = ++YYCURSOR);
        if (yych <= 'S') {
-               if (yych == 'D') goto yy827;
-               if (yych >= 'S') goto yy1108;
-       } else {
-               if (yych <= 'd') {
-                       if (yych >= 'd') goto yy827;
+               if (yych <= '-') {
+                       if (yych == ')') goto yy174;
+                       if (yych <= ',') goto yy3;
+                       goto yy182;
                } else {
-                       if (yych == 's') goto yy1108;
+                       if (yych == '/') goto yy182;
+                       if (yych <= '@') goto yy3;
+                       goto yy177;
                }
-       }
- yy1123:
-       YYDEBUG(1123, *YYCURSOR);
- #line 1690 "parse_date.re"
-       {
-               timelib_sll i;
-               int         behavior = 0;
-               DEBUG_OUTPUT("relativetextweek");
-               TIMELIB_INIT;
-               TIMELIB_HAVE_RELATIVE();
-               while(*ptr) {
-                       i = timelib_get_relative_text(&ptr, &behavior);
-                       timelib_eat_spaces(&ptr);
-                       timelib_set_relative(&ptr, i, behavior, s);
-                       s->time->relative.weekday_behavior = 2;
-                       /* to handle the format weekday + last/this/next week */
-                       if (s->time->relative.have_weekday_relative == 0) {
-                               TIMELIB_HAVE_WEEKDAY_RELATIVE();
-                               s->time->relative.weekday = 1;
+       } else {
+               if (yych <= '_') {
 -                      if (yych <= 'T') goto yy1440;
++                      if (yych <= 'T') goto yy1465;
+                       if (yych <= 'Z') goto yy177;
+                       if (yych <= '^') goto yy3;
+                       goto yy182;
+               } else {
+                       if (yych <= 's') {
+                               if (yych <= '`') goto yy3;
+                               goto yy185;
+                       } else {
 -                              if (yych <= 't') goto yy1472;
++                              if (yych <= 't') goto yy1497;
+                               if (yych <= 'z') goto yy185;
+                               goto yy3;
                        }
                }
-               TIMELIB_DEINIT;
-               return TIMELIB_RELATIVE;
-       }
- #line 20610 "<stdout>"
- yy1124:
-       YYDEBUG(1124, *YYCURSOR);
-       yych = *++YYCURSOR;
-       if (yych == 'O') goto yy1177;
-       if (yych == 'o') goto yy1177;
-       goto yy56;
- yy1125:
-       YYDEBUG(1125, *YYCURSOR);
-       ++YYCURSOR;
- yy1126:
-       YYDEBUG(1126, *YYCURSOR);
- #line 1021 "parse_date.re"
-       {
-               DEBUG_OUTPUT("yesterday");
-               TIMELIB_INIT;
-               TIMELIB_HAVE_RELATIVE();
-               TIMELIB_UNHAVE_TIME();
-               s->time->relative.d = -1;
-               TIMELIB_DEINIT;
-               return TIMELIB_RELATIVE;
        }
- #line 20633 "<stdout>"
- yy1127:
-       YYDEBUG(1127, *YYCURSOR);
-       yyaccept = 31;
 -yy1472:
 -      YYDEBUG(1472, *YYCURSOR);
++yy1497:
++      YYDEBUG(1497, *YYCURSOR);
+       yyaccept = 0;
        yych = *(YYMARKER = ++YYCURSOR);
-       if (yybm[0+yych] & 128) {
-               goto yy921;
-       }
-       if (yych <= '.') {
-               if (yych == '-') goto yy283;
-               goto yy1126;
+       if (yych <= 'G') {
+               if (yych <= '-') {
+                       if (yych == ')') goto yy174;
+                       if (yych <= ',') goto yy3;
+                       goto yy182;
+               } else {
+                       if (yych == '/') goto yy182;
+                       if (yych <= '@') goto yy3;
+                       goto yy178;
+               }
        } else {
-               if (yych <= '/') goto yy283;
-               if (yych == '_') goto yy283;
-               goto yy1126;
+               if (yych <= '_') {
 -                      if (yych <= 'H') goto yy1238;
++                      if (yych <= 'H') goto yy1263;
+                       if (yych <= 'Z') goto yy178;
+                       if (yych <= '^') goto yy3;
+                       goto yy182;
+               } else {
+                       if (yych <= 'g') {
+                               if (yych <= '`') goto yy3;
+                               goto yy186;
+                       } else {
 -                              if (yych <= 'h') goto yy1267;
++                              if (yych <= 'h') goto yy1292;
+                               if (yych <= 'z') goto yy186;
+                               goto yy3;
+                       }
+               }
        }
- yy1128:
-       YYDEBUG(1128, *YYCURSOR);
-       yych = *++YYCURSOR;
-       if (yych <= '/') goto yy56;
-       if (yych <= '9') goto yy1138;
-       goto yy56;
- yy1129:
-       YYDEBUG(1129, *YYCURSOR);
-       yych = *++YYCURSOR;
-       if (yych <= '/') goto yy56;
-       if (yych <= '1') goto yy1138;
-       goto yy56;
- yy1130:
-       YYDEBUG(1130, *YYCURSOR);
-       yych = *++YYCURSOR;
-       if (yych <= '/') goto yy56;
-       if (yych <= '2') goto yy1178;
-       if (yych <= '3') goto yy1179;
-       goto yy56;
- yy1131:
-       YYDEBUG(1131, *YYCURSOR);
-       yych = *++YYCURSOR;
-       if (yych == '-') goto yy864;
-       if (yych <= '/') goto yy186;
-       if (yych <= '9') goto yy1180;
-       goto yy186;
- yy1132:
-       YYDEBUG(1132, *YYCURSOR);
-       yych = *++YYCURSOR;
-       if (yych == ':') goto yy1181;
-       goto yy56;
- yy1133:
-       YYDEBUG(1133, *YYCURSOR);
-       yych = *++YYCURSOR;
-       if (yych <= '/') goto yy56;
-       if (yych <= '9') goto yy1135;
-       if (yych <= ':') goto yy1182;
-       goto yy56;
- yy1134:
-       YYDEBUG(1134, *YYCURSOR);
-       yych = *++YYCURSOR;
-       if (yych <= '/') goto yy56;
-       if (yych <= '4') goto yy1135;
-       if (yych == ':') goto yy1182;
-       goto yy56;
- yy1135:
-       YYDEBUG(1135, *YYCURSOR);
-       yych = *++YYCURSOR;
-       if (yych == ':') goto yy1182;
-       goto yy56;
- yy1136:
-       YYDEBUG(1136, *YYCURSOR);
-       yyaccept = 15;
-       yych = *(YYMARKER = ++YYCURSOR);
-       if (yych == 'T') goto yy1070;
-       goto yy548;
- yy1137:
-       YYDEBUG(1137, *YYCURSOR);
-       yyaccept = 26;
-       yych = *(YYMARKER = ++YYCURSOR);
-       if (yych <= 'n') {
-               if (yych == 'T') goto yy1183;
-               if (yych <= 'm') goto yy1003;
-               goto yy1071;
 -yy1473:
 -      YYDEBUG(1473, *YYCURSOR);
++yy1498:
++      YYDEBUG(1498, *YYCURSOR);
+       yych = *++YYCURSOR;
+       if (yych <= 'Y') {
+               if (yych <= '@') {
+                       if (yych == ')') goto yy174;
+                       goto yy3;
+               } else {
 -                      if (yych == 'R') goto yy1485;
++                      if (yych == 'R') goto yy1510;
+                       if (yych <= 'X') goto yy176;
 -                      goto yy1486;
++                      goto yy1511;
+               }
        } else {
                if (yych <= 'r') {
-                       if (yych <= 'q') goto yy1003;
-                       goto yy1071;
+                       if (yych <= 'Z') goto yy176;
+                       if (yych <= '`') goto yy3;
+                       if (yych <= 'q') goto yy176;
 -                      goto yy1485;
++                      goto yy1510;
                } else {
-                       if (yych <= 's') goto yy1072;
-                       if (yych <= 't') goto yy1073;
-                       goto yy1003;
 -                      if (yych == 'y') goto yy1486;
++                      if (yych == 'y') goto yy1511;
+                       if (yych <= 'z') goto yy176;
+                       goto yy3;
                }
        }
- yy1138:
-       YYDEBUG(1138, *YYCURSOR);
-       ++YYCURSOR;
-       goto yy1003;
- yy1139:
-       YYDEBUG(1139, *YYCURSOR);
-       yyaccept = 26;
-       yych = *(YYMARKER = ++YYCURSOR);
-       if (yych <= 'n') {
-               if (yych == '/') goto yy1138;
-               if (yych <= 'm') goto yy1003;
-               goto yy1076;
 -yy1474:
 -      YYDEBUG(1474, *YYCURSOR);
++yy1499:
++      YYDEBUG(1499, *YYCURSOR);
+       yych = *++YYCURSOR;
+       if (yych <= 'D') {
+               if (yych <= ')') {
+                       if (yych <= '(') goto yy3;
+                       goto yy174;
+               } else {
+                       if (yych <= '@') goto yy3;
+                       if (yych <= 'C') goto yy176;
 -                      goto yy1479;
++                      goto yy1504;
+               }
        } else {
-               if (yych <= 'r') {
-                       if (yych <= 'q') goto yy1003;
-                       goto yy1076;
+               if (yych <= 'c') {
+                       if (yych <= 'Z') goto yy176;
+                       if (yych <= '`') goto yy3;
+                       goto yy176;
                } else {
-                       if (yych <= 's') goto yy1077;
-                       if (yych <= 't') goto yy1078;
-                       goto yy1003;
 -                      if (yych <= 'd') goto yy1479;
++                      if (yych <= 'd') goto yy1504;
+                       if (yych <= 'z') goto yy176;
+                       goto yy3;
                }
        }
- yy1140:
-       YYDEBUG(1140, *YYCURSOR);
-       yych = *++YYCURSOR;
-       if (yych <= '/') goto yy186;
-       if (yych <= '9') goto yy1184;
-       goto yy186;
- yy1141:
-       YYDEBUG(1141, *YYCURSOR);
-       yych = *++YYCURSOR;
-       if (yych <= '/') goto yy56;
-       if (yych <= '5') goto yy1185;
-       if (yych <= '9') goto yy1143;
-       if (yych <= ':') goto yy1186;
-       goto yy56;
- yy1142:
-       YYDEBUG(1142, *YYCURSOR);
 -yy1475:
 -      YYDEBUG(1475, *YYCURSOR);
++yy1500:
++      YYDEBUG(1500, *YYCURSOR);
        yych = *++YYCURSOR;
-       if (yych <= '5') {
-               if (yych <= '/') goto yy56;
-               if (yych <= '4') goto yy1185;
-               goto yy1187;
+       if (yych <= 'N') {
+               if (yych <= ')') {
+                       if (yych <= '(') goto yy3;
+                       goto yy174;
+               } else {
+                       if (yych <= '@') goto yy3;
+                       if (yych <= 'M') goto yy176;
+               }
        } else {
-               if (yych == ':') goto yy1186;
-               goto yy56;
+               if (yych <= 'm') {
+                       if (yych <= 'Z') goto yy176;
+                       if (yych <= '`') goto yy3;
+                       goto yy176;
+               } else {
 -                      if (yych <= 'n') goto yy1476;
++                      if (yych <= 'n') goto yy1501;
+                       if (yych <= 'z') goto yy176;
+                       goto yy3;
+               }
        }
- yy1143:
-       YYDEBUG(1143, *YYCURSOR);
 -yy1476:
 -      YYDEBUG(1476, *YYCURSOR);
++yy1501:
++      YYDEBUG(1501, *YYCURSOR);
        yych = *++YYCURSOR;
-       if (yych <= '/') goto yy56;
-       if (yych <= '5') goto yy1187;
-       if (yych == ':') goto yy1186;
-       goto yy56;
- yy1144:
-       YYDEBUG(1144, *YYCURSOR);
+       if (yych <= 'D') {
+               if (yych <= ')') {
+                       if (yych <= '(') goto yy201;
+                       goto yy174;
+               } else {
+                       if (yych <= '@') goto yy201;
+                       if (yych <= 'C') goto yy177;
+               }
+       } else {
+               if (yych <= 'c') {
+                       if (yych <= 'Z') goto yy177;
+                       if (yych <= '`') goto yy201;
+                       goto yy177;
+               } else {
 -                      if (yych <= 'd') goto yy1477;
++                      if (yych <= 'd') goto yy1502;
+                       if (yych <= 'z') goto yy177;
+                       goto yy201;
+               }
+       }
 -yy1477:
 -      YYDEBUG(1477, *YYCURSOR);
++yy1502:
++      YYDEBUG(1502, *YYCURSOR);
        yych = *++YYCURSOR;
-       if (yych <= '/') goto yy56;
-       if (yych <= '5') goto yy1188;
-       if (yych <= '9') goto yy1146;
-       goto yy56;
- yy1145:
-       YYDEBUG(1145, *YYCURSOR);
+       if (yych <= 'A') {
+               if (yych == ')') goto yy174;
+               if (yych <= '@') goto yy3;
+       } else {
+               if (yych <= '`') {
+                       if (yych <= 'Z') goto yy178;
+                       goto yy3;
+               } else {
 -                      if (yych <= 'a') goto yy1478;
++                      if (yych <= 'a') goto yy1503;
+                       if (yych <= 'z') goto yy178;
+                       goto yy3;
+               }
+       }
 -yy1478:
 -      YYDEBUG(1478, *YYCURSOR);
++yy1503:
++      YYDEBUG(1503, *YYCURSOR);
        yych = *++YYCURSOR;
-       if (yych <= '/') goto yy56;
-       if (yych <= '4') goto yy1188;
-       if (yych <= '5') goto yy1187;
-       goto yy56;
- yy1146:
-       YYDEBUG(1146, *YYCURSOR);
+       if (yych <= 'Y') {
+               if (yych <= ')') {
+                       if (yych <= '(') goto yy3;
+                       goto yy174;
+               } else {
+                       if (yych <= '@') goto yy3;
+                       if (yych <= 'X') goto yy179;
 -                      goto yy1235;
++                      goto yy1260;
+               }
+       } else {
+               if (yych <= 'x') {
+                       if (yych <= 'Z') goto yy179;
+                       if (yych <= '`') goto yy3;
+                       goto yy179;
+               } else {
 -                      if (yych <= 'y') goto yy1235;
++                      if (yych <= 'y') goto yy1260;
+                       if (yych <= 'z') goto yy179;
+                       goto yy3;
+               }
+       }
 -yy1479:
 -      YYDEBUG(1479, *YYCURSOR);
++yy1504:
++      YYDEBUG(1504, *YYCURSOR);
        yych = *++YYCURSOR;
-       if (yych <= '/') goto yy56;
-       if (yych <= '5') goto yy1187;
-       goto yy56;
- yy1147:
-       YYDEBUG(1147, *YYCURSOR);
+       if (yych <= 'N') {
+               if (yych <= ')') {
+                       if (yych <= '(') goto yy3;
+                       goto yy174;
+               } else {
+                       if (yych <= '@') goto yy3;
+                       if (yych <= 'M') goto yy177;
+               }
+       } else {
+               if (yych <= 'm') {
+                       if (yych <= 'Z') goto yy177;
+                       if (yych <= '`') goto yy3;
+                       goto yy177;
+               } else {
 -                      if (yych <= 'n') goto yy1480;
++                      if (yych <= 'n') goto yy1505;
+                       if (yych <= 'z') goto yy177;
+                       goto yy3;
+               }
+       }
 -yy1480:
 -      YYDEBUG(1480, *YYCURSOR);
++yy1505:
++      YYDEBUG(1505, *YYCURSOR);
        yych = *++YYCURSOR;
-       if (yych == ' ') goto yy1189;
-       goto yy56;
- yy1148:
-       YYDEBUG(1148, *YYCURSOR);
+       if (yych <= 'I') {
+               if (yych <= ')') {
+                       if (yych <= '(') goto yy3;
+                       goto yy174;
+               } else {
+                       if (yych <= '@') goto yy3;
+                       if (yych <= 'H') goto yy178;
+               }
+       } else {
+               if (yych <= 'h') {
+                       if (yych <= 'Z') goto yy178;
+                       if (yych <= '`') goto yy3;
+                       goto yy178;
+               } else {
 -                      if (yych <= 'i') goto yy1481;
++                      if (yych <= 'i') goto yy1506;
+                       if (yych <= 'z') goto yy178;
+                       goto yy3;
+               }
+       }
 -yy1481:
 -      YYDEBUG(1481, *YYCURSOR);
++yy1506:
++      YYDEBUG(1506, *YYCURSOR);
        yych = *++YYCURSOR;
-       if (yych == 'Y') goto yy765;
-       if (yych == 'y') goto yy765;
-       goto yy56;
- yy1149:
-       YYDEBUG(1149, *YYCURSOR);
+       if (yych <= 'G') {
+               if (yych <= ')') {
+                       if (yych <= '(') goto yy3;
+                       goto yy174;
+               } else {
+                       if (yych <= '@') goto yy3;
+                       if (yych <= 'F') goto yy179;
+               }
+       } else {
+               if (yych <= 'f') {
+                       if (yych <= 'Z') goto yy179;
+                       if (yych <= '`') goto yy3;
+                       goto yy179;
+               } else {
 -                      if (yych <= 'g') goto yy1482;
++                      if (yych <= 'g') goto yy1507;
+                       if (yych <= 'z') goto yy179;
+                       goto yy3;
+               }
+       }
 -yy1482:
 -      YYDEBUG(1482, *YYCURSOR);
++yy1507:
++      YYDEBUG(1507, *YYCURSOR);
+       yyaccept = 0;
+       yych = *(YYMARKER = ++YYCURSOR);
+       if (yych <= 'G') {
+               if (yych == ')') goto yy174;
+               goto yy3;
+       } else {
 -              if (yych <= 'H') goto yy1483;
++              if (yych <= 'H') goto yy1508;
+               if (yych != 'h') goto yy3;
+       }
 -yy1483:
 -      YYDEBUG(1483, *YYCURSOR);
++yy1508:
++      YYDEBUG(1508, *YYCURSOR);
        yych = *++YYCURSOR;
-       if (yych == 'R') goto yy765;
-       if (yych == 'r') goto yy765;
-       goto yy56;
- yy1150:
-       YYDEBUG(1150, *YYCURSOR);
 -      if (yych == 'T') goto yy1484;
++      if (yych == 'T') goto yy1509;
+       if (yych != 't') goto yy55;
 -yy1484:
 -      YYDEBUG(1484, *YYCURSOR);
++yy1509:
++      YYDEBUG(1509, *YYCURSOR);
        yych = *++YYCURSOR;
-       if (yych <= 'L') {
-               if (yych == '.') goto yy1190;
-               goto yy56;
 -      goto yy1430;
 -yy1485:
 -      YYDEBUG(1485, *YYCURSOR);
++      goto yy1455;
++yy1510:
++      YYDEBUG(1510, *YYCURSOR);
+       yyaccept = 5;
+       yych = *(YYMARKER = ++YYCURSOR);
+       if (yych <= '/') {
+               if (yych <= '(') {
+                       if (yych <= '\t') {
+                               if (yych <= 0x08) goto yy228;
+                               goto yy230;
+                       } else {
+                               if (yych == ' ') goto yy230;
+                               goto yy228;
+                       }
+               } else {
+                       if (yych <= ',') {
+                               if (yych <= ')') goto yy174;
+                               goto yy228;
+                       } else {
+                               if (yych <= '-') goto yy231;
+                               if (yych <= '.') goto yy230;
+                               goto yy228;
+                       }
+               }
        } else {
-               if (yych <= 'M') goto yy1191;
-               if (yych == 'm') goto yy1191;
-               goto yy56;
+               if (yych <= 'Z') {
+                       if (yych <= '@') {
+                               if (yych <= '9') goto yy230;
+                               goto yy228;
+                       } else {
 -                              if (yych == 'C') goto yy1487;
++                              if (yych == 'C') goto yy1512;
+                               goto yy177;
+                       }
+               } else {
+                       if (yych <= 'b') {
+                               if (yych <= '`') goto yy228;
+                               goto yy177;
+                       } else {
 -                              if (yych <= 'c') goto yy1487;
++                              if (yych <= 'c') goto yy1512;
+                               if (yych <= 'z') goto yy177;
+                               goto yy228;
+                       }
+               }
        }
- yy1151:
-       YYDEBUG(1151, *YYCURSOR);
 -yy1486:
 -      YYDEBUG(1486, *YYCURSOR);
++yy1511:
++      YYDEBUG(1511, *YYCURSOR);
+       yyaccept = 5;
+       yych = *(YYMARKER = ++YYCURSOR);
+       if (yych <= '-') {
+               if (yych <= ' ') {
+                       if (yych == '\t') goto yy230;
+                       if (yych <= 0x1F) goto yy228;
+                       goto yy230;
+               } else {
+                       if (yych == ')') goto yy174;
+                       if (yych <= ',') goto yy228;
+                       goto yy231;
+               }
+       } else {
+               if (yych <= '@') {
+                       if (yych == '/') goto yy228;
+                       if (yych <= '9') goto yy230;
+                       goto yy228;
+               } else {
+                       if (yych <= 'Z') goto yy177;
+                       if (yych <= '`') goto yy228;
+                       if (yych <= 'z') goto yy177;
+                       goto yy228;
+               }
+       }
 -yy1487:
 -      YYDEBUG(1487, *YYCURSOR);
++yy1512:
++      YYDEBUG(1512, *YYCURSOR);
        yych = *++YYCURSOR;
-       if (yych <= '/') goto yy1030;
-       if (yych <= '9') goto yy1192;
-       goto yy1030;
- yy1152:
-       YYDEBUG(1152, *YYCURSOR);
-       ++YYCURSOR;
-       if ((YYLIMIT - YYCURSOR) < 5) YYFILL(5);
-       yych = *YYCURSOR;
-       YYDEBUG(1153, *YYCURSOR);
-       if (yych <= 'A') {
-               if (yych <= 0x1F) {
-                       if (yych == '\t') goto yy1152;
-                       goto yy56;
+       if (yych <= 'H') {
+               if (yych <= ')') {
+                       if (yych <= '(') goto yy3;
+                       goto yy174;
+               } else {
+                       if (yych <= '@') goto yy3;
+                       if (yych <= 'G') goto yy178;
+                       goto yy370;
+               }
+       } else {
+               if (yych <= 'g') {
+                       if (yych <= 'Z') goto yy178;
+                       if (yych <= '`') goto yy3;
+                       goto yy178;
+               } else {
+                       if (yych <= 'h') goto yy370;
+                       if (yych <= 'z') goto yy178;
+                       goto yy3;
+               }
+       }
 -yy1488:
 -      YYDEBUG(1488, *YYCURSOR);
++yy1513:
++      YYDEBUG(1513, *YYCURSOR);
+       yyaccept = 0;
+       yych = *(YYMARKER = ++YYCURSOR);
+       if (yych <= 'X') {
+               if (yych <= '.') {
+                       if (yych <= ')') {
+                               if (yych <= '(') goto yy3;
+                               goto yy174;
+                       } else {
+                               if (yych == '-') goto yy182;
+                               goto yy3;
+                       }
                } else {
-                       if (yych <= ' ') goto yy1152;
-                       if (yych <= '@') goto yy56;
+                       if (yych <= '@') {
+                               if (yych <= '/') goto yy182;
+                               goto yy3;
+                       } else {
 -                              if (yych == 'R') goto yy1485;
++                              if (yych == 'R') goto yy1510;
+                               goto yy176;
+                       }
                }
        } else {
                if (yych <= '`') {
-                       if (yych != 'P') goto yy56;
+                       if (yych <= 'Z') {
 -                              if (yych <= 'Y') goto yy1486;
++                              if (yych <= 'Y') goto yy1511;
+                               goto yy176;
+                       } else {
+                               if (yych == '_') goto yy182;
+                               goto yy3;
+                       }
                } else {
-                       if (yych <= 'a') goto yy1154;
-                       if (yych != 'p') goto yy56;
+                       if (yych <= 'x') {
 -                              if (yych == 'r') goto yy1500;
++                              if (yych == 'r') goto yy1525;
+                               goto yy181;
+                       } else {
 -                              if (yych <= 'y') goto yy1501;
++                              if (yych <= 'y') goto yy1526;
+                               if (yych <= 'z') goto yy181;
+                               goto yy3;
+                       }
                }
        }
- yy1154:
-       YYDEBUG(1154, *YYCURSOR);
-       yych = *++YYCURSOR;
-       if (yych <= 'L') {
-               if (yych == '.') goto yy1193;
-               goto yy56;
 -yy1489:
 -      YYDEBUG(1489, *YYCURSOR);
++yy1514:
++      YYDEBUG(1514, *YYCURSOR);
+       yyaccept = 0;
+       yych = *(YYMARKER = ++YYCURSOR);
+       if (yych <= 'C') {
+               if (yych <= '-') {
+                       if (yych == ')') goto yy174;
+                       if (yych <= ',') goto yy3;
+                       goto yy182;
+               } else {
+                       if (yych == '/') goto yy182;
+                       if (yych <= '@') goto yy3;
+                       goto yy176;
+               }
        } else {
-               if (yych <= 'M') goto yy1194;
-               if (yych == 'm') goto yy1194;
-               goto yy56;
+               if (yych <= '_') {
 -                      if (yych <= 'D') goto yy1479;
++                      if (yych <= 'D') goto yy1504;
+                       if (yych <= 'Z') goto yy176;
+                       if (yych <= '^') goto yy3;
+                       goto yy182;
+               } else {
+                       if (yych <= 'c') {
+                               if (yych <= '`') goto yy3;
+                               goto yy181;
+                       } else {
 -                              if (yych <= 'd') goto yy1494;
++                              if (yych <= 'd') goto yy1519;
+                               if (yych <= 'z') goto yy181;
+                               goto yy3;
+                       }
+               }
        }
- yy1155:
-       YYDEBUG(1155, *YYCURSOR);
-       yych = *++YYCURSOR;
-       if (yych <= 'S') {
-               if (yych == 'D') goto yy827;
-               if (yych <= 'R') goto yy56;
-               goto yy1108;
 -yy1490:
 -      YYDEBUG(1490, *YYCURSOR);
++yy1515:
++      YYDEBUG(1515, *YYCURSOR);
+       yyaccept = 0;
+       yych = *(YYMARKER = ++YYCURSOR);
+       if (yych <= 'M') {
+               if (yych <= '-') {
+                       if (yych == ')') goto yy174;
+                       if (yych <= ',') goto yy3;
+                       goto yy182;
+               } else {
+                       if (yych == '/') goto yy182;
+                       if (yych <= '@') goto yy3;
+                       goto yy176;
+               }
+       } else {
+               if (yych <= '_') {
 -                      if (yych <= 'N') goto yy1476;
++                      if (yych <= 'N') goto yy1501;
+                       if (yych <= 'Z') goto yy176;
+                       if (yych <= '^') goto yy3;
+                       goto yy182;
+               } else {
+                       if (yych <= 'm') {
+                               if (yych <= '`') goto yy3;
+                               goto yy181;
+                       } else {
 -                              if (yych <= 'n') goto yy1491;
++                              if (yych <= 'n') goto yy1516;
+                               if (yych <= 'z') goto yy181;
+                               goto yy3;
+                       }
+               }
+       }
 -yy1491:
 -      YYDEBUG(1491, *YYCURSOR);
++yy1516:
++      YYDEBUG(1516, *YYCURSOR);
+       yyaccept = 4;
+       yych = *(YYMARKER = ++YYCURSOR);
+       if (yych <= 'C') {
+               if (yych <= '-') {
+                       if (yych == ')') goto yy174;
+                       if (yych <= ',') goto yy201;
+                       goto yy182;
+               } else {
+                       if (yych == '/') goto yy182;
+                       if (yych <= '@') goto yy201;
+                       goto yy177;
+               }
+       } else {
+               if (yych <= '_') {
 -                      if (yych <= 'D') goto yy1477;
++                      if (yych <= 'D') goto yy1502;
+                       if (yych <= 'Z') goto yy177;
+                       if (yych <= '^') goto yy201;
+                       goto yy182;
+               } else {
+                       if (yych <= 'c') {
+                               if (yych <= '`') goto yy201;
+                               goto yy185;
+                       } else {
 -                              if (yych <= 'd') goto yy1492;
++                              if (yych <= 'd') goto yy1517;
+                               if (yych <= 'z') goto yy185;
+                               goto yy201;
+                       }
+               }
+       }
 -yy1492:
 -      YYDEBUG(1492, *YYCURSOR);
++yy1517:
++      YYDEBUG(1517, *YYCURSOR);
+       yyaccept = 0;
+       yych = *(YYMARKER = ++YYCURSOR);
+       if (yych <= '@') {
+               if (yych <= ',') {
+                       if (yych == ')') goto yy174;
+                       goto yy3;
+               } else {
+                       if (yych == '.') goto yy3;
+                       if (yych <= '/') goto yy182;
+                       goto yy3;
+               }
+       } else {
+               if (yych <= '_') {
 -                      if (yych <= 'A') goto yy1478;
++                      if (yych <= 'A') goto yy1503;
+                       if (yych <= 'Z') goto yy178;
+                       if (yych <= '^') goto yy3;
+                       goto yy182;
+               } else {
+                       if (yych <= '`') goto yy3;
 -                      if (yych <= 'a') goto yy1493;
++                      if (yych <= 'a') goto yy1518;
+                       if (yych <= 'z') goto yy186;
+                       goto yy3;
+               }
+       }
 -yy1493:
 -      YYDEBUG(1493, *YYCURSOR);
++yy1518:
++      YYDEBUG(1518, *YYCURSOR);
+       yyaccept = 0;
+       yych = *(YYMARKER = ++YYCURSOR);
+       if (yych <= 'X') {
+               if (yych <= '-') {
+                       if (yych == ')') goto yy174;
+                       if (yych <= ',') goto yy3;
+                       goto yy182;
+               } else {
+                       if (yych == '/') goto yy182;
+                       if (yych <= '@') goto yy3;
+                       goto yy179;
+               }
+       } else {
+               if (yych <= '_') {
 -                      if (yych <= 'Y') goto yy1235;
++                      if (yych <= 'Y') goto yy1260;
+                       if (yych <= 'Z') goto yy179;
+                       if (yych <= '^') goto yy3;
+                       goto yy182;
+               } else {
+                       if (yych <= 'x') {
+                               if (yych <= '`') goto yy3;
+                               goto yy187;
+                       } else {
 -                              if (yych <= 'y') goto yy1264;
++                              if (yych <= 'y') goto yy1289;
+                               if (yych <= 'z') goto yy187;
+                               goto yy3;
+                       }
+               }
+       }
 -yy1494:
 -      YYDEBUG(1494, *YYCURSOR);
++yy1519:
++      YYDEBUG(1519, *YYCURSOR);
+       yyaccept = 0;
+       yych = *(YYMARKER = ++YYCURSOR);
+       if (yych <= 'M') {
+               if (yych <= '-') {
+                       if (yych == ')') goto yy174;
+                       if (yych <= ',') goto yy3;
+                       goto yy182;
+               } else {
+                       if (yych == '/') goto yy182;
+                       if (yych <= '@') goto yy3;
+                       goto yy177;
+               }
        } else {
-               if (yych <= 'd') {
-                       if (yych <= 'c') goto yy56;
-                       goto yy827;
+               if (yych <= '_') {
 -                      if (yych <= 'N') goto yy1480;
++                      if (yych <= 'N') goto yy1505;
+                       if (yych <= 'Z') goto yy177;
+                       if (yych <= '^') goto yy3;
+                       goto yy182;
                } else {
-                       if (yych == 's') goto yy1108;
-                       goto yy56;
+                       if (yych <= 'm') {
+                               if (yych <= '`') goto yy3;
+                               goto yy185;
+                       } else {
 -                              if (yych <= 'n') goto yy1495;
++                              if (yych <= 'n') goto yy1520;
+                               if (yych <= 'z') goto yy185;
+                               goto yy3;
+                       }
                }
        }
- yy1156:
-       YYDEBUG(1156, *YYCURSOR);
-       ++YYCURSOR;
-       if ((YYLIMIT - YYCURSOR) < 9) YYFILL(9);
-       yych = *YYCURSOR;
- yy1157:
-       YYDEBUG(1157, *YYCURSOR);
-       if (yych <= '+') {
-               if (yych <= ' ') {
-                       if (yych == '\t') goto yy1156;
-                       if (yych <= 0x1F) goto yy56;
-                       goto yy1156;
 -yy1495:
 -      YYDEBUG(1495, *YYCURSOR);
++yy1520:
++      YYDEBUG(1520, *YYCURSOR);
+       yyaccept = 0;
+       yych = *(YYMARKER = ++YYCURSOR);
+       if (yych <= 'H') {
+               if (yych <= '-') {
+                       if (yych == ')') goto yy174;
+                       if (yych <= ',') goto yy3;
+                       goto yy182;
                } else {
-                       if (yych == '(') goto yy1158;
-                       if (yych <= '*') goto yy56;
-                       goto yy1159;
+                       if (yych == '/') goto yy182;
+                       if (yych <= '@') goto yy3;
+                       goto yy178;
                }
        } else {
-               if (yych <= 'F') {
-                       if (yych == '-') goto yy1159;
-                       if (yych <= '@') goto yy56;
-                       goto yy1160;
+               if (yych <= '_') {
 -                      if (yych <= 'I') goto yy1481;
++                      if (yych <= 'I') goto yy1506;
+                       if (yych <= 'Z') goto yy178;
+                       if (yych <= '^') goto yy3;
+                       goto yy182;
                } else {
-                       if (yych <= 'Z') {
-                               if (yych <= 'G') goto yy1161;
-                               goto yy1160;
+                       if (yych <= 'h') {
+                               if (yych <= '`') goto yy3;
+                               goto yy186;
                        } else {
-                               if (yych <= '`') goto yy56;
-                               if (yych <= 'z') goto yy1162;
-                               goto yy56;
 -                              if (yych <= 'i') goto yy1496;
++                              if (yych <= 'i') goto yy1521;
+                               if (yych <= 'z') goto yy186;
+                               goto yy3;
                        }
                }
        }
- yy1158:
-       YYDEBUG(1158, *YYCURSOR);
-       yych = *++YYCURSOR;
-       if (yych <= '@') goto yy56;
-       if (yych <= 'Z') goto yy1162;
-       if (yych <= '`') goto yy56;
-       if (yych <= 'z') goto yy1162;
-       goto yy56;
- yy1159:
-       YYDEBUG(1159, *YYCURSOR);
-       yych = *++YYCURSOR;
-       if (yych <= '/') goto yy56;
-       if (yych <= '1') goto yy1195;
-       if (yych <= '2') goto yy1196;
-       if (yych <= '9') goto yy1197;
-       goto yy56;
- yy1160:
-       YYDEBUG(1160, *YYCURSOR);
-       yych = *++YYCURSOR;
-       if (yych <= '@') {
-               if (yych == ')') goto yy1035;
-               goto yy820;
 -yy1496:
 -      YYDEBUG(1496, *YYCURSOR);
++yy1521:
++      YYDEBUG(1521, *YYCURSOR);
+       yyaccept = 0;
+       yych = *(YYMARKER = ++YYCURSOR);
+       if (yych <= 'F') {
+               if (yych <= '-') {
+                       if (yych == ')') goto yy174;
+                       if (yych <= ',') goto yy3;
+                       goto yy182;
+               } else {
+                       if (yych == '/') goto yy182;
+                       if (yych <= '@') goto yy3;
+                       goto yy179;
+               }
        } else {
-               if (yych <= 'Z') goto yy1198;
-               if (yych <= '`') goto yy820;
-               if (yych <= 'z') goto yy1199;
-               goto yy820;
+               if (yych <= '_') {
 -                      if (yych <= 'G') goto yy1482;
++                      if (yych <= 'G') goto yy1507;
+                       if (yych <= 'Z') goto yy179;
+                       if (yych <= '^') goto yy3;
+                       goto yy182;
+               } else {
+                       if (yych <= 'f') {
+                               if (yych <= '`') goto yy3;
+                               goto yy187;
+                       } else {
 -                              if (yych <= 'g') goto yy1497;
++                              if (yych <= 'g') goto yy1522;
+                               if (yych <= 'z') goto yy187;
+                               goto yy3;
+                       }
+               }
        }
- yy1161:
-       YYDEBUG(1161, *YYCURSOR);
-       yych = *++YYCURSOR;
-       if (yych <= 'L') {
-               if (yych == ')') goto yy1035;
-               if (yych <= '@') goto yy820;
-               goto yy1198;
 -yy1497:
 -      YYDEBUG(1497, *YYCURSOR);
++yy1522:
++      YYDEBUG(1522, *YYCURSOR);
+       yyaccept = 0;
+       yych = *(YYMARKER = ++YYCURSOR);
+       if (yych <= 'G') {
+               if (yych <= ',') {
+                       if (yych == ')') goto yy174;
+                       goto yy3;
+               } else {
+                       if (yych == '.') goto yy3;
+                       if (yych <= '/') goto yy182;
+                       goto yy3;
+               }
        } else {
-               if (yych <= 'Z') {
-                       if (yych <= 'M') goto yy1200;
-                       goto yy1198;
+               if (yych <= '`') {
 -                      if (yych <= 'H') goto yy1483;
++                      if (yych <= 'H') goto yy1508;
+                       if (yych == '_') goto yy182;
+                       goto yy3;
                } else {
-                       if (yych <= '`') goto yy820;
-                       if (yych <= 'z') goto yy1199;
-                       goto yy820;
 -                      if (yych == 'h') goto yy1498;
++                      if (yych == 'h') goto yy1523;
+                       if (yych <= 'z') goto yy188;
+                       goto yy3;
                }
        }
- yy1162:
-       YYDEBUG(1162, *YYCURSOR);
 -yy1498:
 -      YYDEBUG(1498, *YYCURSOR);
++yy1523:
++      YYDEBUG(1523, *YYCURSOR);
        yych = *++YYCURSOR;
-       if (yych <= '@') {
-               if (yych == ')') goto yy1035;
-               goto yy820;
 -      if (yych == 'T') goto yy1484;
++      if (yych == 'T') goto yy1509;
+       if (yych != 't') goto yy189;
 -      YYDEBUG(1499, *YYCURSOR);
 -      yyaccept = 30;
++      YYDEBUG(1524, *YYCURSOR);
++      yyaccept = 29;
+       yych = *(YYMARKER = ++YYCURSOR);
+       if (yybm[0+yych] & 8) {
+               goto yy188;
+       }
+       if (yych <= '.') {
+               if (yych == '-') goto yy182;
 -              goto yy1430;
++              goto yy1455;
        } else {
-               if (yych <= 'Z') goto yy1198;
-               if (yych <= '`') goto yy820;
-               if (yych <= 'z') goto yy1198;
-               goto yy820;
+               if (yych <= '/') goto yy182;
+               if (yych == '_') goto yy182;
 -              goto yy1430;
++              goto yy1455;
        }
- yy1163:
-       YYDEBUG(1163, *YYCURSOR);
-       ++YYCURSOR;
-       if ((YYLIMIT - YYCURSOR) < 9) YYFILL(9);
-       yych = *YYCURSOR;
- yy1164:
-       YYDEBUG(1164, *YYCURSOR);
-       if (yych <= '@') {
-               if (yych <= '\'') {
 -yy1500:
 -      YYDEBUG(1500, *YYCURSOR);
++yy1525:
++      YYDEBUG(1525, *YYCURSOR);
+       yyaccept = 5;
+       yych = *(YYMARKER = ++YYCURSOR);
+       if (yych <= '9') {
+               if (yych <= '(') {
                        if (yych <= '\t') {
-                               if (yych <= 0x08) goto yy56;
-                               goto yy1163;
+                               if (yych <= 0x08) goto yy228;
+                               goto yy230;
                        } else {
-                               if (yych == ' ') goto yy1163;
-                               goto yy56;
+                               if (yych == ' ') goto yy230;
+                               goto yy228;
                        }
                } else {
-                       if (yych <= '+') {
-                               if (yych <= '(') goto yy1158;
-                               if (yych <= '*') goto yy56;
-                               goto yy1159;
+                       if (yych <= '-') {
+                               if (yych <= ')') goto yy174;
+                               if (yych <= ',') goto yy228;
+                               goto yy346;
                        } else {
-                               if (yych == '-') goto yy1159;
-                               goto yy56;
+                               if (yych == '/') goto yy182;
+                               goto yy230;
                        }
                }
        } else {
-               if (yych <= 'Z') {
-                       if (yych <= 'G') {
-                               if (yych <= 'A') goto yy1165;
-                               if (yych <= 'F') goto yy1160;
-                               goto yy1161;
+               if (yych <= '^') {
+                       if (yych <= 'B') {
+                               if (yych <= '@') goto yy228;
+                               goto yy177;
                        } else {
-                               if (yych != 'P') goto yy1160;
 -                              if (yych <= 'C') goto yy1487;
++                              if (yych <= 'C') goto yy1512;
+                               if (yych <= 'Z') goto yy177;
+                               goto yy228;
                        }
                } else {
-                       if (yych <= 'o') {
-                               if (yych <= '`') goto yy56;
-                               if (yych <= 'a') goto yy1166;
-                               goto yy1162;
+                       if (yych <= 'b') {
+                               if (yych <= '_') goto yy182;
+                               if (yych <= '`') goto yy228;
+                               goto yy185;
                        } else {
-                               if (yych <= 'p') goto yy1166;
-                               if (yych <= 'z') goto yy1162;
-                               goto yy56;
 -                              if (yych <= 'c') goto yy1502;
++                              if (yych <= 'c') goto yy1527;
+                               if (yych <= 'z') goto yy185;
+                               goto yy228;
                        }
                }
        }
- yy1165:
-       YYDEBUG(1165, *YYCURSOR);
-       yyaccept = 20;
 -yy1501:
 -      YYDEBUG(1501, *YYCURSOR);
++yy1526:
++      YYDEBUG(1526, *YYCURSOR);
+       yyaccept = 5;
        yych = *(YYMARKER = ++YYCURSOR);
-       if (yych <= 'L') {
-               if (yych <= '-') {
-                       if (yych == ')') goto yy1035;
-                       goto yy820;
+       if (yych <= '.') {
+               if (yych <= ' ') {
+                       if (yych == '\t') goto yy230;
+                       if (yych <= 0x1F) goto yy228;
+                       goto yy230;
                } else {
-                       if (yych <= '.') goto yy1106;
-                       if (yych <= '@') goto yy820;
-                       goto yy1198;
+                       if (yych <= ')') {
+                               if (yych <= '(') goto yy228;
+                               goto yy174;
+                       } else {
+                               if (yych <= ',') goto yy228;
+                               if (yych <= '-') goto yy346;
+                               goto yy230;
+                       }
                }
        } else {
-               if (yych <= '`') {
-                       if (yych <= 'M') goto yy1201;
-                       if (yych <= 'Z') goto yy1198;
-                       goto yy820;
+               if (yych <= 'Z') {
+                       if (yych <= '/') goto yy182;
+                       if (yych <= '9') goto yy230;
+                       if (yych <= '@') goto yy228;
+                       goto yy177;
                } else {
-                       if (yych == 'm') goto yy1202;
-                       if (yych <= 'z') goto yy1199;
-                       goto yy820;
+                       if (yych <= '_') {
+                               if (yych <= '^') goto yy228;
+                               goto yy182;
+                       } else {
+                               if (yych <= '`') goto yy228;
+                               if (yych <= 'z') goto yy185;
+                               goto yy228;
+                       }
                }
        }
- yy1166:
-       YYDEBUG(1166, *YYCURSOR);
-       yyaccept = 20;
 -yy1502:
 -      YYDEBUG(1502, *YYCURSOR);
++yy1527:
++      YYDEBUG(1527, *YYCURSOR);
+       yyaccept = 0;
        yych = *(YYMARKER = ++YYCURSOR);
-       if (yych <= 'L') {
+       if (yych <= 'G') {
                if (yych <= '-') {
-                       if (yych == ')') goto yy1035;
-                       goto yy820;
+                       if (yych == ')') goto yy174;
+                       if (yych <= ',') goto yy3;
+                       goto yy182;
                } else {
-                       if (yych <= '.') goto yy1106;
-                       if (yych <= '@') goto yy820;
-                       goto yy1198;
+                       if (yych == '/') goto yy182;
+                       if (yych <= '@') goto yy3;
+                       goto yy178;
                }
        } else {
-               if (yych <= '`') {
-                       if (yych <= 'M') goto yy1201;
-                       if (yych <= 'Z') goto yy1198;
-                       goto yy820;
+               if (yych <= '_') {
+                       if (yych <= 'H') goto yy370;
+                       if (yych <= 'Z') goto yy178;
+                       if (yych <= '^') goto yy3;
+                       goto yy182;
                } else {
-                       if (yych == 'm') goto yy1201;
-                       if (yych <= 'z') goto yy1198;
-                       goto yy820;
-               }
-       }
- yy1167:
-       YYDEBUG(1167, *YYCURSOR);
-       ++YYCURSOR;
-       YYDEBUG(1168, *YYCURSOR);
- #line 1755 "parse_date.re"
-       {
-               DEBUG_OUTPUT("dateshortwithtimeshort12 | dateshortwithtimelong12");
-               TIMELIB_INIT;
-               TIMELIB_HAVE_DATE();
-               s->time->m = timelib_get_month(&ptr);
-               s->time->d = timelib_get_nr(&ptr, 2);
-               TIMELIB_HAVE_TIME();
-               s->time->h = timelib_get_nr(&ptr, 2);
-               s->time->i = timelib_get_nr(&ptr, 2);
-               if (*ptr == ':' || *ptr == '.') {
-                       s->time->s = timelib_get_nr(&ptr, 2);
-                       if (*ptr == '.') {
-                               s->time->us = timelib_get_frac_nr(&ptr, 8);
+                       if (yych <= 'g') {
+                               if (yych <= '`') goto yy3;
+                               goto yy186;
+                       } else {
+                               if (yych <= 'h') goto yy381;
+                               if (yych <= 'z') goto yy186;
+                               goto yy3;
                        }
                }
-               s->time->h += timelib_meridian(&ptr, s->time->h);
-               TIMELIB_DEINIT;
-               return TIMELIB_SHORTDATE_WITH_TIME;
-       }
- #line 21092 "<stdout>"
- yy1169:
-       YYDEBUG(1169, *YYCURSOR);
-       yych = *++YYCURSOR;
-       if (yych <= '\t') {
-               if (yych <= 0x00) goto yy1167;
-               if (yych <= 0x08) goto yy56;
-               goto yy1167;
-       } else {
-               if (yych == ' ') goto yy1167;
-               goto yy56;
        }
- yy1170:
-       YYDEBUG(1170, *YYCURSOR);
-       yych = *++YYCURSOR;
-       if (yych == 'N') goto yy1171;
-       if (yych != 'n') goto yy56;
- yy1171:
-       YYDEBUG(1171, *YYCURSOR);
-       yych = *++YYCURSOR;
-       if (yych == 'I') goto yy1203;
-       if (yych == 'i') goto yy1203;
-       goto yy56;
- yy1172:
-       YYDEBUG(1172, *YYCURSOR);
-       yych = *++YYCURSOR;
-       if (yych == 'F') goto yy1204;
-       if (yych == 'f') goto yy1204;
-       goto yy56;
- yy1173:
-       YYDEBUG(1173, *YYCURSOR);
-       yych = *++YYCURSOR;
-       if (yych == 'Y') goto yy1206;
-       if (yych == 'y') goto yy1206;
-       goto yy56;
- yy1174:
-       YYDEBUG(1174, *YYCURSOR);
-       yych = *++YYCURSOR;
-       if (yych == 'S') goto yy1207;
-       if (yych == 's') goto yy1207;
-       goto yy56;
- yy1175:
-       YYDEBUG(1175, *YYCURSOR);
-       yych = *++YYCURSOR;
-       if (yych == 'E') goto yy1041;
-       if (yych == 'e') goto yy1041;
-       goto yy56;
- yy1176:
-       YYDEBUG(1176, *YYCURSOR);
-       yych = *++YYCURSOR;
-       if (yych == 'D') goto yy1041;
-       if (yych == 'd') goto yy1041;
-       goto yy56;
- yy1177:
-       YYDEBUG(1177, *YYCURSOR);
-       yych = *++YYCURSOR;
-       if (yych == 'F') goto yy1208;
-       if (yych == 'f') goto yy1208;
-       goto yy56;
- yy1178:
-       YYDEBUG(1178, *YYCURSOR);
-       yych = *++YYCURSOR;
-       if (yych <= '/') goto yy56;
-       if (yych <= '9') goto yy1210;
-       goto yy56;
- yy1179:
-       YYDEBUG(1179, *YYCURSOR);
-       yych = *++YYCURSOR;
-       if (yych <= '/') goto yy56;
-       if (yych <= '1') goto yy1210;
-       goto yy56;
- yy1180:
-       YYDEBUG(1180, *YYCURSOR);
-       yych = *++YYCURSOR;
-       if (yych == '-') goto yy864;
-       if (yych <= '/') goto yy186;
-       if (yych <= '9') goto yy1212;
-       goto yy186;
- yy1181:
-       YYDEBUG(1181, *YYCURSOR);
 -yy1503:
 -      YYDEBUG(1503, *YYCURSOR);
++yy1528:
++      YYDEBUG(1528, *YYCURSOR);
        yych = *++YYCURSOR;
-       if (yych <= '/') goto yy56;
-       if (yych <= '1') goto yy1213;
-       if (yych <= '2') goto yy1214;
-       goto yy56;
- yy1182:
-       YYDEBUG(1182, *YYCURSOR);
-       yych = *++YYCURSOR;
-       if (yych <= '/') goto yy56;
-       if (yych <= '5') goto yy1215;
-       if (yych <= '9') goto yy1216;
-       goto yy56;
- yy1183:
-       YYDEBUG(1183, *YYCURSOR);
-       yych = *++YYCURSOR;
-       if (yych <= '/') goto yy56;
-       if (yych <= '1') goto yy1217;
-       if (yych <= '2') goto yy1218;
-       if (yych <= '9') goto yy1135;
-       goto yy56;
- yy1184:
-       YYDEBUG(1184, *YYCURSOR);
-       yych = *++YYCURSOR;
-       if (yych <= '/') goto yy186;
-       if (yych <= '9') goto yy1219;
-       goto yy186;
- yy1185:
-       YYDEBUG(1185, *YYCURSOR);
-       yych = *++YYCURSOR;
-       if (yych <= '/') goto yy56;
-       if (yych <= '5') goto yy1220;
-       if (yych <= '9') goto yy1221;
-       if (yych >= ';') goto yy56;
- yy1186:
-       YYDEBUG(1186, *YYCURSOR);
-       yych = *++YYCURSOR;
-       if (yych <= '/') goto yy56;
-       if (yych <= '5') goto yy1222;
-       goto yy56;
- yy1187:
-       YYDEBUG(1187, *YYCURSOR);
-       yych = *++YYCURSOR;
-       if (yych <= '/') goto yy56;
-       if (yych <= '9') goto yy1221;
-       goto yy56;
- yy1188:
-       YYDEBUG(1188, *YYCURSOR);
-       yych = *++YYCURSOR;
-       if (yych <= '/') goto yy56;
-       if (yych <= '5') goto yy1220;
-       if (yych <= '9') goto yy1221;
-       goto yy56;
- yy1189:
-       YYDEBUG(1189, *YYCURSOR);
-       yych = *++YYCURSOR;
-       if (yych <= '/') goto yy56;
-       if (yych <= '1') goto yy1223;
-       if (yych <= '2') goto yy1224;
-       goto yy56;
- yy1190:
-       YYDEBUG(1190, *YYCURSOR);
-       yych = *++YYCURSOR;
-       if (yych == 'M') goto yy1191;
-       if (yych != 'm') goto yy56;
- yy1191:
-       YYDEBUG(1191, *YYCURSOR);
-       yych = *++YYCURSOR;
-       if (yych <= 0x1F) {
-               if (yych <= 0x00) goto yy1225;
-               if (yych == '\t') goto yy1225;
-               goto yy56;
+       if (yych <= 'W') {
+               if (yych <= 'N') {
+                       if (yych == ')') goto yy174;
+                       if (yych <= '@') goto yy3;
+                       goto yy176;
+               } else {
 -                      if (yych <= 'O') goto yy1511;
++                      if (yych <= 'O') goto yy1536;
+                       if (yych <= 'U') goto yy176;
 -                      if (yych <= 'V') goto yy1512;
 -                      goto yy1509;
++                      if (yych <= 'V') goto yy1537;
++                      goto yy1534;
+               }
        } else {
-               if (yych <= ' ') goto yy1225;
-               if (yych == '.') goto yy1227;
-               goto yy56;
+               if (yych <= 'o') {
+                       if (yych <= 'Z') goto yy176;
+                       if (yych <= '`') goto yy3;
+                       if (yych <= 'n') goto yy176;
 -                      goto yy1511;
++                      goto yy1536;
+               } else {
+                       if (yych <= 'v') {
+                               if (yych <= 'u') goto yy176;
 -                              goto yy1512;
++                              goto yy1537;
+                       } else {
 -                              if (yych <= 'w') goto yy1509;
++                              if (yych <= 'w') goto yy1534;
+                               if (yych <= 'z') goto yy176;
+                               goto yy3;
+                       }
+               }
        }
- yy1192:
-       YYDEBUG(1192, *YYCURSOR);
-       ++YYCURSOR;
-       goto yy1030;
- yy1193:
-       YYDEBUG(1193, *YYCURSOR);
-       yych = *++YYCURSOR;
-       if (yych == 'M') goto yy1194;
-       if (yych != 'm') goto yy56;
- yy1194:
-       YYDEBUG(1194, *YYCURSOR);
 -yy1504:
 -      YYDEBUG(1504, *YYCURSOR);
++yy1529:
++      YYDEBUG(1529, *YYCURSOR);
        yych = *++YYCURSOR;
-       if (yych <= 0x1F) {
-               if (yych <= 0x00) goto yy1228;
-               if (yych == '\t') goto yy1228;
-               goto yy56;
+       if (yych <= 'X') {
+               if (yych <= ')') {
+                       if (yych <= '(') goto yy3;
+                       goto yy174;
+               } else {
+                       if (yych <= '@') goto yy3;
+                       if (yych <= 'W') goto yy176;
 -                      goto yy1508;
++                      goto yy1533;
+               }
        } else {
-               if (yych <= ' ') goto yy1228;
-               if (yych == '.') goto yy1229;
-               goto yy56;
+               if (yych <= 'w') {
+                       if (yych <= 'Z') goto yy176;
+                       if (yych <= '`') goto yy3;
+                       goto yy176;
+               } else {
 -                      if (yych <= 'x') goto yy1508;
++                      if (yych <= 'x') goto yy1533;
+                       if (yych <= 'z') goto yy176;
+                       goto yy3;
+               }
        }
- yy1195:
-       YYDEBUG(1195, *YYCURSOR);
-       yych = *++YYCURSOR;
-       if (yych <= '/') goto yy820;
-       if (yych <= '9') goto yy1197;
-       if (yych <= ':') goto yy1230;
-       goto yy820;
- yy1196:
-       YYDEBUG(1196, *YYCURSOR);
 -yy1505:
 -      YYDEBUG(1505, *YYCURSOR);
++yy1530:
++      YYDEBUG(1530, *YYCURSOR);
        yych = *++YYCURSOR;
-       if (yych <= '5') {
-               if (yych <= '/') goto yy820;
-               if (yych >= '5') goto yy1231;
+       if (yych <= 'N') {
+               if (yych <= ')') {
+                       if (yych <= '(') goto yy3;
+                       goto yy174;
+               } else {
+                       if (yych <= '@') goto yy3;
+                       if (yych <= 'M') goto yy176;
+               }
        } else {
-               if (yych <= '9') goto yy1035;
-               if (yych <= ':') goto yy1230;
-               goto yy820;
+               if (yych <= 'm') {
+                       if (yych <= 'Z') goto yy176;
+                       if (yych <= '`') goto yy3;
+                       goto yy176;
+               } else {
 -                      if (yych <= 'n') goto yy1506;
++                      if (yych <= 'n') goto yy1531;
+                       if (yych <= 'z') goto yy176;
+                       goto yy3;
+               }
        }
- yy1197:
-       YYDEBUG(1197, *YYCURSOR);
-       yych = *++YYCURSOR;
-       if (yych <= '/') goto yy820;
-       if (yych <= '5') goto yy1231;
-       if (yych <= '9') goto yy1035;
-       if (yych <= ':') goto yy1230;
-       goto yy820;
- yy1198:
-       YYDEBUG(1198, *YYCURSOR);
 -yy1506:
 -      YYDEBUG(1506, *YYCURSOR);
++yy1531:
++      YYDEBUG(1531, *YYCURSOR);
        yych = *++YYCURSOR;
-       if (yych <= '@') {
-               if (yych == ')') goto yy1035;
-               goto yy820;
+       if (yych <= 'T') {
+               if (yych <= ')') {
+                       if (yych <= '(') goto yy3;
+                       goto yy174;
+               } else {
+                       if (yych <= '@') goto yy3;
+                       if (yych <= 'S') goto yy177;
+               }
        } else {
-               if (yych <= 'Z') goto yy1232;
-               if (yych <= '`') goto yy820;
-               if (yych <= 'z') goto yy1232;
-               goto yy820;
+               if (yych <= 's') {
+                       if (yych <= 'Z') goto yy177;
+                       if (yych <= '`') goto yy3;
+                       goto yy177;
+               } else {
 -                      if (yych <= 't') goto yy1507;
++                      if (yych <= 't') goto yy1532;
+                       if (yych <= 'z') goto yy177;
+                       goto yy3;
+               }
        }
- yy1199:
-       YYDEBUG(1199, *YYCURSOR);
-       yyaccept = 20;
-       yych = *(YYMARKER = ++YYCURSOR);
-       if (yych <= '/') {
-               if (yych <= ',') {
-                       if (yych == ')') goto yy1035;
-                       goto yy820;
 -yy1507:
 -      YYDEBUG(1507, *YYCURSOR);
++yy1532:
++      YYDEBUG(1532, *YYCURSOR);
+       yych = *++YYCURSOR;
+       if (yych <= 'H') {
+               if (yych <= ')') {
+                       if (yych <= '(') goto yy3;
+                       goto yy174;
                } else {
-                       if (yych == '.') goto yy820;
-                       goto yy1233;
+                       if (yych <= '@') goto yy3;
+                       if (yych <= 'G') goto yy178;
 -                      goto yy1238;
++                      goto yy1263;
                }
        } else {
-               if (yych <= '^') {
-                       if (yych <= '@') goto yy820;
-                       if (yych <= 'Z') goto yy1232;
-                       goto yy820;
+               if (yych <= 'g') {
+                       if (yych <= 'Z') goto yy178;
+                       if (yych <= '`') goto yy3;
+                       goto yy178;
                } else {
-                       if (yych <= '_') goto yy1233;
-                       if (yych <= '`') goto yy820;
-                       if (yych <= 'z') goto yy1234;
-                       goto yy820;
 -                      if (yych <= 'h') goto yy1238;
++                      if (yych <= 'h') goto yy1263;
+                       if (yych <= 'z') goto yy178;
+                       goto yy3;
                }
        }
- yy1200:
-       YYDEBUG(1200, *YYCURSOR);
 -yy1508:
 -      YYDEBUG(1508, *YYCURSOR);
++yy1533:
++      YYDEBUG(1533, *YYCURSOR);
        yych = *++YYCURSOR;
-       if (yych <= 'S') {
-               if (yych == ')') goto yy1035;
-               if (yych <= '@') goto yy820;
-               goto yy1232;
+       if (yych <= 'T') {
+               if (yych <= ')') {
+                       if (yych <= '(') goto yy3;
+                       goto yy174;
+               } else {
+                       if (yych <= '@') goto yy3;
+                       if (yych <= 'S') goto yy177;
 -                      goto yy1438;
++                      goto yy1463;
+               }
        } else {
-               if (yych <= 'Z') {
-                       if (yych <= 'T') goto yy1235;
-                       goto yy1232;
+               if (yych <= 's') {
+                       if (yych <= 'Z') goto yy177;
+                       if (yych <= '`') goto yy3;
+                       goto yy177;
                } else {
-                       if (yych <= '`') goto yy820;
-                       if (yych <= 'z') goto yy1232;
-                       goto yy820;
 -                      if (yych <= 't') goto yy1438;
++                      if (yych <= 't') goto yy1463;
+                       if (yych <= 'z') goto yy177;
+                       goto yy3;
                }
        }
- yy1201:
-       YYDEBUG(1201, *YYCURSOR);
-       yyaccept = 20;
-       yych = *(YYMARKER = ++YYCURSOR);
-       if (yych <= ')') {
-               if (yych <= '\t') {
-                       if (yych <= 0x00) goto yy1167;
-                       if (yych <= 0x08) goto yy820;
-                       goto yy1167;
 -yy1509:
 -      YYDEBUG(1509, *YYCURSOR);
++yy1534:
++      YYDEBUG(1534, *YYCURSOR);
+       ++YYCURSOR;
+       if ((yych = *YYCURSOR) <= '@') {
+               if (yych == ')') goto yy174;
+       } else {
+               if (yych <= 'Z') goto yy177;
 -              if (yych <= '`') goto yy1510;
++              if (yych <= '`') goto yy1535;
+               if (yych <= 'z') goto yy177;
+       }
 -yy1510:
 -      YYDEBUG(1510, *YYCURSOR);
 -#line 1028 "parse_date.re"
++yy1535:
++      YYDEBUG(1535, *YYCURSOR);
++#line 1033 "parse_date.re"
+       {
+               DEBUG_OUTPUT("now");
+               TIMELIB_INIT;
+               TIMELIB_DEINIT;
+               return TIMELIB_RELATIVE;
+       }
 -#line 24059 "<stdout>"
 -yy1511:
 -      YYDEBUG(1511, *YYCURSOR);
++#line 24203 "<stdout>"
++yy1536:
++      YYDEBUG(1536, *YYCURSOR);
+       yych = *++YYCURSOR;
+       if (yych <= 'N') {
+               if (yych <= ')') {
+                       if (yych <= '(') goto yy3;
+                       goto yy174;
                } else {
-                       if (yych == ' ') goto yy1167;
-                       if (yych <= '(') goto yy820;
-                       goto yy1035;
+                       if (yych <= '@') goto yy3;
+                       if (yych <= 'M') goto yy177;
 -                      goto yy1517;
++                      goto yy1542;
                }
        } else {
-               if (yych <= '@') {
-                       if (yych == '.') goto yy1169;
-                       goto yy820;
+               if (yych <= 'm') {
+                       if (yych <= 'Z') goto yy177;
+                       if (yych <= '`') goto yy3;
+                       goto yy177;
                } else {
-                       if (yych <= 'Z') goto yy1232;
-                       if (yych <= '`') goto yy820;
-                       if (yych <= 'z') goto yy1232;
-                       goto yy820;
 -                      if (yych <= 'n') goto yy1517;
++                      if (yych <= 'n') goto yy1542;
+                       if (yych <= 'z') goto yy177;
+                       goto yy3;
                }
        }
- yy1202:
-       YYDEBUG(1202, *YYCURSOR);
-       yyaccept = 20;
 -yy1512:
 -      YYDEBUG(1512, *YYCURSOR);
++yy1537:
++      YYDEBUG(1537, *YYCURSOR);
+       yyaccept = 5;
        yych = *(YYMARKER = ++YYCURSOR);
-       if (yych <= '-') {
-               if (yych <= 0x1F) {
-                       if (yych <= 0x00) goto yy1167;
-                       if (yych == '\t') goto yy1167;
-                       goto yy820;
+       if (yych <= '/') {
+               if (yych <= '(') {
+                       if (yych <= '\t') {
+                               if (yych <= 0x08) goto yy228;
+                               goto yy230;
+                       } else {
+                               if (yych == ' ') goto yy230;
+                               goto yy228;
+                       }
                } else {
-                       if (yych <= '(') {
-                               if (yych <= ' ') goto yy1167;
-                               goto yy820;
+                       if (yych <= ',') {
+                               if (yych <= ')') goto yy174;
+                               goto yy228;
                        } else {
-                               if (yych <= ')') goto yy1035;
-                               if (yych <= ',') goto yy820;
-                               goto yy1233;
+                               if (yych <= '-') goto yy231;
+                               if (yych <= '.') goto yy230;
+                               goto yy228;
                        }
                }
        } else {
                if (yych <= 'Z') {
-                       if (yych <= '.') goto yy1169;
-                       if (yych <= '/') goto yy1233;
-                       if (yych <= '@') goto yy820;
-                       goto yy1232;
+                       if (yych <= '@') {
+                               if (yych <= '9') goto yy230;
+                               goto yy228;
+                       } else {
+                               if (yych != 'E') goto yy177;
+                       }
                } else {
-                       if (yych <= '_') {
-                               if (yych <= '^') goto yy820;
-                               goto yy1233;
+                       if (yych <= 'd') {
+                               if (yych <= '`') goto yy228;
+                               goto yy177;
                        } else {
-                               if (yych <= '`') goto yy820;
-                               if (yych <= 'z') goto yy1234;
-                               goto yy820;
 -                              if (yych <= 'e') goto yy1513;
++                              if (yych <= 'e') goto yy1538;
+                               if (yych <= 'z') goto yy177;
+                               goto yy228;
                        }
                }
        }
- yy1203:
-       YYDEBUG(1203, *YYCURSOR);
 -yy1513:
 -      YYDEBUG(1513, *YYCURSOR);
++yy1538:
++      YYDEBUG(1538, *YYCURSOR);
        yych = *++YYCURSOR;
-       if (yych == 'G') goto yy1236;
-       if (yych == 'g') goto yy1236;
-       goto yy56;
- yy1204:
-       YYDEBUG(1204, *YYCURSOR);
-       ++YYCURSOR;
-       YYDEBUG(1205, *YYCURSOR);
- #line 1175 "parse_date.re"
-       {
-               timelib_sll i;
-               int         behavior = 0;
-               DEBUG_OUTPUT("weekdayof");
-               TIMELIB_INIT;
-               TIMELIB_HAVE_RELATIVE();
-               TIMELIB_HAVE_SPECIAL_RELATIVE();
-               i = timelib_get_relative_text(&ptr, &behavior);
-               timelib_eat_spaces(&ptr);
-               if (i > 0) { /* first, second... etc */
-                       s->time->relative.special.type = TIMELIB_SPECIAL_DAY_OF_WEEK_IN_MONTH;
-                       timelib_set_relative(&ptr, i, 1, s);
-               } else { /* last */
-                       s->time->relative.special.type = TIMELIB_SPECIAL_LAST_DAY_OF_WEEK_IN_MONTH;
-                       timelib_set_relative(&ptr, i, behavior, s);
+       if (yych <= 'M') {
+               if (yych <= ')') {
+                       if (yych <= '(') goto yy3;
+                       goto yy174;
+               } else {
+                       if (yych <= '@') goto yy3;
+                       if (yych <= 'L') goto yy178;
+               }
+       } else {
+               if (yych <= 'l') {
+                       if (yych <= 'Z') goto yy178;
+                       if (yych <= '`') goto yy3;
+                       goto yy178;
+               } else {
 -                      if (yych <= 'm') goto yy1514;
++                      if (yych <= 'm') goto yy1539;
+                       if (yych <= 'z') goto yy178;
+                       goto yy3;
                }
-               TIMELIB_DEINIT;
-               return TIMELIB_WEEK_DAY_OF_MONTH;
        }
- #line 21440 "<stdout>"
- yy1206:
-       YYDEBUG(1206, *YYCURSOR);
-       yyaccept = 24;
-       yych = *(YYMARKER = ++YYCURSOR);
-       if (yych == '\t') goto yy1110;
-       if (yych == ' ') goto yy1110;
-       goto yy944;
- yy1207:
-       YYDEBUG(1207, *YYCURSOR);
 -yy1514:
 -      YYDEBUG(1514, *YYCURSOR);
++yy1539:
++      YYDEBUG(1539, *YYCURSOR);
        yych = *++YYCURSOR;
-       if (yych == 'E') goto yy1237;
-       if (yych == 'e') goto yy1237;
-       goto yy56;
- yy1208:
-       YYDEBUG(1208, *YYCURSOR);
-       ++YYCURSOR;
-       YYDEBUG(1209, *YYCURSOR);
- #line 1135 "parse_date.re"
-       {
-               DEBUG_OUTPUT("firstdayof | lastdayof");
-               TIMELIB_INIT;
-               TIMELIB_HAVE_RELATIVE();
-               /* skip "last day of" or "first day of" */
-               if (*ptr == 'l' || *ptr == 'L') {
-                       s->time->relative.first_last_day_of = TIMELIB_SPECIAL_LAST_DAY_OF_MONTH;
+       if (yych <= 'B') {
+               if (yych <= ')') {
+                       if (yych <= '(') goto yy3;
+                       goto yy174;
                } else {
-                       s->time->relative.first_last_day_of = TIMELIB_SPECIAL_FIRST_DAY_OF_MONTH;
+                       if (yych <= '@') goto yy3;
+                       if (yych <= 'A') goto yy179;
+               }
+       } else {
+               if (yych <= 'a') {
+                       if (yych <= 'Z') goto yy179;
+                       if (yych <= '`') goto yy3;
+                       goto yy179;
+               } else {
 -                      if (yych <= 'b') goto yy1515;
++                      if (yych <= 'b') goto yy1540;
+                       if (yych <= 'z') goto yy179;
+                       goto yy3;
                }
-               TIMELIB_DEINIT;
-               return TIMELIB_LF_DAY_OF_MONTH;
        }
- #line 21474 "<stdout>"
- yy1210:
-       YYDEBUG(1210, *YYCURSOR);
-       ++YYCURSOR;
-       YYDEBUG(1211, *YYCURSOR);
- #line 1368 "parse_date.re"
-       {
-               DEBUG_OUTPUT("iso8601datex");
-               TIMELIB_INIT;
-               TIMELIB_HAVE_DATE();
-               s->time->y = timelib_get_unsigned_nr(&ptr, 19);
-               s->time->m = timelib_get_nr(&ptr, 2);
-               s->time->d = timelib_get_nr(&ptr, 2);
-               TIMELIB_DEINIT;
-               return TIMELIB_ISO_DATE;
 -yy1515:
 -      YYDEBUG(1515, *YYCURSOR);
++yy1540:
++      YYDEBUG(1540, *YYCURSOR);
+       yyaccept = 0;
+       yych = *(YYMARKER = ++YYCURSOR);
+       if (yych <= 'D') {
+               if (yych == ')') goto yy174;
+               goto yy3;
+       } else {
 -              if (yych <= 'E') goto yy1516;
++              if (yych <= 'E') goto yy1541;
+               if (yych != 'e') goto yy3;
        }
- #line 21490 "<stdout>"
- yy1212:
-       YYDEBUG(1212, *YYCURSOR);
-       yych = *++YYCURSOR;
-       if (yych == '-') goto yy864;
-       if (yych <= '/') goto yy186;
-       if (yych <= '9') goto yy1238;
-       goto yy186;
- yy1213:
-       YYDEBUG(1213, *YYCURSOR);
-       yych = *++YYCURSOR;
-       if (yych <= '/') goto yy56;
-       if (yych <= '9') goto yy1239;
-       goto yy56;
- yy1214:
-       YYDEBUG(1214, *YYCURSOR);
-       yych = *++YYCURSOR;
-       if (yych <= '/') goto yy56;
-       if (yych <= '4') goto yy1239;
-       goto yy56;
- yy1215:
-       YYDEBUG(1215, *YYCURSOR);
-       yych = *++YYCURSOR;
-       if (yych <= '/') goto yy56;
-       if (yych <= '9') goto yy1216;
-       if (yych <= ':') goto yy1240;
-       goto yy56;
- yy1216:
-       YYDEBUG(1216, *YYCURSOR);
-       yych = *++YYCURSOR;
-       if (yych == ':') goto yy1240;
-       goto yy56;
- yy1217:
-       YYDEBUG(1217, *YYCURSOR);
-       yych = *++YYCURSOR;
-       if (yych <= '/') goto yy56;
-       if (yych <= '9') goto yy1241;
-       if (yych <= ':') goto yy1182;
-       goto yy56;
- yy1218:
-       YYDEBUG(1218, *YYCURSOR);
-       yych = *++YYCURSOR;
-       if (yych <= '/') goto yy56;
-       if (yych <= '4') goto yy1241;
-       if (yych == ':') goto yy1182;
-       goto yy56;
- yy1219:
-       YYDEBUG(1219, *YYCURSOR);
-       yych = *++YYCURSOR;
-       if (yych <= '/') goto yy186;
-       if (yych <= '9') goto yy185;
-       goto yy186;
- yy1220:
-       YYDEBUG(1220, *YYCURSOR);
-       yych = *++YYCURSOR;
-       if (yych <= '/') goto yy56;
-       if (yych <= '5') goto yy1240;
-       if (yych <= '6') goto yy1242;
-       if (yych >= ':') goto yy56;
- yy1221:
-       YYDEBUG(1221, *YYCURSOR);
-       yych = *++YYCURSOR;
-       if (yych <= '/') goto yy56;
-       if (yych <= '5') goto yy1243;
-       if (yych <= '6') goto yy1244;
-       goto yy56;
- yy1222:
-       YYDEBUG(1222, *YYCURSOR);
-       yych = *++YYCURSOR;
-       if (yych <= '/') goto yy56;
-       if (yych <= '9') goto yy1245;
-       goto yy56;
- yy1223:
-       YYDEBUG(1223, *YYCURSOR);
-       yych = *++YYCURSOR;
-       if (yych <= '/') goto yy56;
-       if (yych <= '9') goto yy1246;
-       goto yy56;
- yy1224:
-       YYDEBUG(1224, *YYCURSOR);
 -yy1516:
 -      YYDEBUG(1516, *YYCURSOR);
++yy1541:
++      YYDEBUG(1541, *YYCURSOR);
        yych = *++YYCURSOR;
-       if (yych <= '/') goto yy56;
-       if (yych <= '4') goto yy1246;
-       goto yy56;
- yy1225:
-       YYDEBUG(1225, *YYCURSOR);
+       if (yych == 'R') goto yy239;
+       if (yych == 'r') goto yy239;
+       goto yy55;
 -yy1517:
 -      YYDEBUG(1517, *YYCURSOR);
++yy1542:
++      YYDEBUG(1542, *YYCURSOR);
        ++YYCURSOR;
-       YYDEBUG(1226, *YYCURSOR);
- #line 1214 "parse_date.re"
+       if ((yych = *YYCURSOR) <= '@') {
+               if (yych == ')') goto yy174;
+       } else {
+               if (yych <= 'Z') goto yy178;
 -              if (yych <= '`') goto yy1518;
++              if (yych <= '`') goto yy1543;
+               if (yych <= 'z') goto yy178;
+       }
 -yy1518:
 -      YYDEBUG(1518, *YYCURSOR);
 -#line 1037 "parse_date.re"
++yy1543:
++      YYDEBUG(1543, *YYCURSOR);
++#line 1042 "parse_date.re"
        {
-               DEBUG_OUTPUT("mssqltime");
+               DEBUG_OUTPUT("noon");
                TIMELIB_INIT;
+               TIMELIB_UNHAVE_TIME();
                TIMELIB_HAVE_TIME();
-               s->time->h = timelib_get_nr(&ptr, 2);
-               s->time->i = timelib_get_nr(&ptr, 2);
-               if (*ptr == ':' || *ptr == '.') {
-                       s->time->s = timelib_get_nr(&ptr, 2);
+               s->time->h = 12;
  
-                       if (*ptr == ':' || *ptr == '.') {
-                               s->time->us = timelib_get_frac_nr(&ptr, 8);
+               TIMELIB_DEINIT;
+               return TIMELIB_RELATIVE;
+       }
 -#line 24209 "<stdout>"
 -yy1519:
 -      YYDEBUG(1519, *YYCURSOR);
++#line 24353 "<stdout>"
++yy1544:
++      YYDEBUG(1544, *YYCURSOR);
+       yyaccept = 0;
+       yych = *(YYMARKER = ++YYCURSOR);
+       if (yych <= 'V') {
+               if (yych <= '.') {
+                       if (yych <= ')') {
+                               if (yych <= '(') goto yy3;
+                               goto yy174;
+                       } else {
+                               if (yych == '-') goto yy182;
+                               goto yy3;
+                       }
+               } else {
+                       if (yych <= 'N') {
+                               if (yych <= '/') goto yy182;
+                               if (yych <= '@') goto yy3;
+                               goto yy176;
+                       } else {
 -                              if (yych <= 'O') goto yy1511;
++                              if (yych <= 'O') goto yy1536;
+                               if (yych <= 'U') goto yy176;
 -                              goto yy1512;
++                              goto yy1537;
+                       }
+               }
+       } else {
+               if (yych <= 'n') {
+                       if (yych <= '^') {
 -                              if (yych <= 'W') goto yy1509;
++                              if (yych <= 'W') goto yy1534;
+                               if (yych <= 'Z') goto yy176;
+                               goto yy3;
+                       } else {
+                               if (yych <= '_') goto yy182;
+                               if (yych <= '`') goto yy3;
+                               goto yy181;
+                       }
+               } else {
+                       if (yych <= 'v') {
 -                              if (yych <= 'o') goto yy1526;
++                              if (yych <= 'o') goto yy1551;
+                               if (yych <= 'u') goto yy181;
 -                              goto yy1527;
++                              goto yy1552;
+                       } else {
 -                              if (yych <= 'w') goto yy1525;
++                              if (yych <= 'w') goto yy1550;
+                               if (yych <= 'z') goto yy181;
+                               goto yy3;
+                       }
+               }
+       }
 -yy1520:
 -      YYDEBUG(1520, *YYCURSOR);
++yy1545:
++      YYDEBUG(1545, *YYCURSOR);
+       yyaccept = 0;
+       yych = *(YYMARKER = ++YYCURSOR);
+       if (yych <= 'W') {
+               if (yych <= '-') {
+                       if (yych == ')') goto yy174;
+                       if (yych <= ',') goto yy3;
+                       goto yy182;
+               } else {
+                       if (yych == '/') goto yy182;
+                       if (yych <= '@') goto yy3;
+                       goto yy176;
+               }
+       } else {
+               if (yych <= '_') {
 -                      if (yych <= 'X') goto yy1508;
++                      if (yych <= 'X') goto yy1533;
+                       if (yych <= 'Z') goto yy176;
+                       if (yych <= '^') goto yy3;
+                       goto yy182;
+               } else {
+                       if (yych <= 'w') {
+                               if (yych <= '`') goto yy3;
+                               goto yy181;
+                       } else {
 -                              if (yych <= 'x') goto yy1524;
++                              if (yych <= 'x') goto yy1549;
+                               if (yych <= 'z') goto yy181;
+                               goto yy3;
+                       }
+               }
+       }
 -yy1521:
 -      YYDEBUG(1521, *YYCURSOR);
++yy1546:
++      YYDEBUG(1546, *YYCURSOR);
+       yyaccept = 0;
+       yych = *(YYMARKER = ++YYCURSOR);
+       if (yych <= 'M') {
+               if (yych <= '-') {
+                       if (yych == ')') goto yy174;
+                       if (yych <= ',') goto yy3;
+                       goto yy182;
+               } else {
+                       if (yych == '/') goto yy182;
+                       if (yych <= '@') goto yy3;
+                       goto yy176;
+               }
+       } else {
+               if (yych <= '_') {
 -                      if (yych <= 'N') goto yy1506;
++                      if (yych <= 'N') goto yy1531;
+                       if (yych <= 'Z') goto yy176;
+                       if (yych <= '^') goto yy3;
+                       goto yy182;
+               } else {
+                       if (yych <= 'm') {
+                               if (yych <= '`') goto yy3;
+                               goto yy181;
+                       } else {
 -                              if (yych <= 'n') goto yy1522;
++                              if (yych <= 'n') goto yy1547;
+                               if (yych <= 'z') goto yy181;
+                               goto yy3;
                        }
                }
-               timelib_eat_spaces(&ptr);
-               s->time->h += timelib_meridian(&ptr, s->time->h);
-               TIMELIB_DEINIT;
-               return TIMELIB_TIME24_WITH_ZONE;
        }
- #line 21597 "<stdout>"
- yy1227:
-       YYDEBUG(1227, *YYCURSOR);
-       yych = *++YYCURSOR;
-       if (yych <= '\t') {
-               if (yych <= 0x00) goto yy1225;
-               if (yych <= 0x08) goto yy56;
-               goto yy1225;
 -yy1522:
 -      YYDEBUG(1522, *YYCURSOR);
++yy1547:
++      YYDEBUG(1547, *YYCURSOR);
+       yyaccept = 0;
+       yych = *(YYMARKER = ++YYCURSOR);
+       if (yych <= 'S') {
+               if (yych <= '-') {
+                       if (yych == ')') goto yy174;
+                       if (yych <= ',') goto yy3;
+                       goto yy182;
+               } else {
+                       if (yych == '/') goto yy182;
+                       if (yych <= '@') goto yy3;
+                       goto yy177;
+               }
        } else {
-               if (yych == ' ') goto yy1225;
-               goto yy56;
+               if (yych <= '_') {
 -                      if (yych <= 'T') goto yy1507;
++                      if (yych <= 'T') goto yy1532;
+                       if (yych <= 'Z') goto yy177;
+                       if (yych <= '^') goto yy3;
+                       goto yy182;
+               } else {
+                       if (yych <= 's') {
+                               if (yych <= '`') goto yy3;
+                               goto yy185;
+                       } else {
 -                              if (yych <= 't') goto yy1523;
++                              if (yych <= 't') goto yy1548;
+                               if (yych <= 'z') goto yy185;
+                               goto yy3;
+                       }
+               }
        }
- yy1228:
-       YYDEBUG(1228, *YYCURSOR);
-       ++YYCURSOR;
-       goto yy1100;
- yy1229:
-       YYDEBUG(1229, *YYCURSOR);
-       yych = *++YYCURSOR;
-       if (yych <= '\t') {
-               if (yych <= 0x00) goto yy1228;
-               if (yych <= 0x08) goto yy56;
-               goto yy1228;
 -yy1523:
 -      YYDEBUG(1523, *YYCURSOR);
++yy1548:
++      YYDEBUG(1548, *YYCURSOR);
+       yyaccept = 0;
+       yych = *(YYMARKER = ++YYCURSOR);
+       if (yych <= 'G') {
+               if (yych <= '-') {
+                       if (yych == ')') goto yy174;
+                       if (yych <= ',') goto yy3;
+                       goto yy182;
+               } else {
+                       if (yych == '/') goto yy182;
+                       if (yych <= '@') goto yy3;
+                       goto yy178;
+               }
        } else {
-               if (yych == ' ') goto yy1228;
-               goto yy56;
+               if (yych <= '_') {
 -                      if (yych <= 'H') goto yy1238;
++                      if (yych <= 'H') goto yy1263;
+                       if (yych <= 'Z') goto yy178;
+                       if (yych <= '^') goto yy3;
+                       goto yy182;
+               } else {
+                       if (yych <= 'g') {
+                               if (yych <= '`') goto yy3;
+                               goto yy186;
+                       } else {
 -                              if (yych <= 'h') goto yy1267;
++                              if (yych <= 'h') goto yy1292;
+                               if (yych <= 'z') goto yy186;
+                               goto yy3;
+                       }
+               }
        }
- yy1230:
-       YYDEBUG(1230, *YYCURSOR);
-       yych = *++YYCURSOR;
-       if (yych <= '/') goto yy820;
-       if (yych <= '5') goto yy1231;
-       if (yych <= '9') goto yy1035;
-       goto yy820;
- yy1231:
-       YYDEBUG(1231, *YYCURSOR);
-       yych = *++YYCURSOR;
-       if (yych <= '/') goto yy820;
-       if (yych <= '9') goto yy1035;
-       goto yy820;
- yy1232:
-       YYDEBUG(1232, *YYCURSOR);
-       yych = *++YYCURSOR;
-       if (yych <= '@') {
-               if (yych == ')') goto yy1035;
-               goto yy820;
 -yy1524:
 -      YYDEBUG(1524, *YYCURSOR);
++yy1549:
++      YYDEBUG(1549, *YYCURSOR);
+       yyaccept = 0;
+       yych = *(YYMARKER = ++YYCURSOR);
+       if (yych <= 'S') {
+               if (yych <= '-') {
+                       if (yych == ')') goto yy174;
+                       if (yych <= ',') goto yy3;
+                       goto yy182;
+               } else {
+                       if (yych == '/') goto yy182;
+                       if (yych <= '@') goto yy3;
+                       goto yy177;
+               }
        } else {
-               if (yych <= 'Z') goto yy1247;
-               if (yych <= '`') goto yy820;
-               if (yych <= 'z') goto yy1247;
-               goto yy820;
+               if (yych <= '_') {
 -                      if (yych <= 'T') goto yy1438;
++                      if (yych <= 'T') goto yy1463;
+                       if (yych <= 'Z') goto yy177;
+                       if (yych <= '^') goto yy3;
+                       goto yy182;
+               } else {
+                       if (yych <= 's') {
+                               if (yych <= '`') goto yy3;
+                               goto yy185;
+                       } else {
 -                              if (yych <= 't') goto yy1470;
++                              if (yych <= 't') goto yy1495;
+                               if (yych <= 'z') goto yy185;
+                               goto yy3;
+                       }
+               }
        }
- yy1233:
-       YYDEBUG(1233, *YYCURSOR);
-       ++YYCURSOR;
-       if (YYLIMIT <= YYCURSOR) YYFILL(1);
-       yych = *YYCURSOR;
-       if (yych <= '@') goto yy56;
-       if (yych <= 'Z') goto yy1248;
-       if (yych <= '`') goto yy56;
-       if (yych <= 'z') goto yy1248;
-       goto yy56;
- yy1234:
-       YYDEBUG(1234, *YYCURSOR);
-       yyaccept = 20;
 -yy1525:
 -      YYDEBUG(1525, *YYCURSOR);
 -      yyaccept = 31;
++yy1550:
++      YYDEBUG(1550, *YYCURSOR);
++      yyaccept = 30;
        yych = *(YYMARKER = ++YYCURSOR);
        if (yych <= '/') {
                if (yych <= ',') {
-                       if (yych == ')') goto yy1035;
-                       goto yy820;
+                       if (yych == ')') goto yy174;
 -                      goto yy1510;
++                      goto yy1535;
                } else {
-                       if (yych == '.') goto yy820;
-                       goto yy1233;
 -                      if (yych == '.') goto yy1510;
++                      if (yych == '.') goto yy1535;
+                       goto yy182;
                }
        } else {
                if (yych <= '^') {
-                       if (yych <= '@') goto yy820;
-                       if (yych <= 'Z') goto yy1247;
-                       goto yy820;
 -                      if (yych <= '@') goto yy1510;
++                      if (yych <= '@') goto yy1535;
+                       if (yych <= 'Z') goto yy177;
 -                      goto yy1510;
++                      goto yy1535;
                } else {
-                       if (yych <= '_') goto yy1233;
-                       if (yych <= '`') goto yy820;
-                       if (yych <= 'z') goto yy1250;
-                       goto yy820;
+                       if (yych <= '_') goto yy182;
 -                      if (yych <= '`') goto yy1510;
++                      if (yych <= '`') goto yy1535;
+                       if (yych <= 'z') goto yy185;
 -                      goto yy1510;
++                      goto yy1535;
                }
        }
- yy1235:
-       YYDEBUG(1235, *YYCURSOR);
-       yyaccept = 20;
 -yy1526:
 -      YYDEBUG(1526, *YYCURSOR);
++yy1551:
++      YYDEBUG(1551, *YYCURSOR);
+       yyaccept = 0;
        yych = *(YYMARKER = ++YYCURSOR);
-       if (yych <= ',') {
-               if (yych <= ')') {
-                       if (yych <= '(') goto yy820;
-                       goto yy1035;
+       if (yych <= 'M') {
+               if (yych <= '-') {
+                       if (yych == ')') goto yy174;
+                       if (yych <= ',') goto yy3;
+                       goto yy182;
                } else {
-                       if (yych == '+') goto yy1159;
-                       goto yy820;
+                       if (yych == '/') goto yy182;
+                       if (yych <= '@') goto yy3;
+                       goto yy177;
                }
        } else {
-               if (yych <= 'Z') {
-                       if (yych <= '-') goto yy1159;
-                       if (yych <= '@') goto yy820;
-                       goto yy1247;
+               if (yych <= '_') {
 -                      if (yych <= 'N') goto yy1517;
++                      if (yych <= 'N') goto yy1542;
+                       if (yych <= 'Z') goto yy177;
+                       if (yych <= '^') goto yy3;
+                       goto yy182;
                } else {
-                       if (yych <= '`') goto yy820;
-                       if (yych <= 'z') goto yy1247;
-                       goto yy820;
+                       if (yych <= 'm') {
+                               if (yych <= '`') goto yy3;
+                               goto yy185;
+                       } else {
 -                              if (yych <= 'n') goto yy1532;
++                              if (yych <= 'n') goto yy1557;
+                               if (yych <= 'z') goto yy185;
+                               goto yy3;
+                       }
                }
        }
- yy1236:
-       YYDEBUG(1236, *YYCURSOR);
-       yych = *++YYCURSOR;
-       if (yych == 'H') goto yy1251;
-       if (yych == 'h') goto yy1251;
-       goto yy56;
- yy1237:
-       YYDEBUG(1237, *YYCURSOR);
-       yych = *++YYCURSOR;
-       if (yych == 'C') goto yy1252;
-       if (yych == 'c') goto yy1252;
-       goto yy56;
- yy1238:
-       YYDEBUG(1238, *YYCURSOR);
-       yych = *++YYCURSOR;
-       if (yych == '-') goto yy864;
-       if (yych <= '/') goto yy186;
-       if (yych <= '9') goto yy1253;
-       goto yy186;
- yy1239:
-       YYDEBUG(1239, *YYCURSOR);
-       yych = *++YYCURSOR;
-       if (yych == ':') goto yy1254;
-       goto yy56;
- yy1240:
-       YYDEBUG(1240, *YYCURSOR);
-       yych = *++YYCURSOR;
-       if (yych <= '/') goto yy56;
-       if (yych <= '5') goto yy1255;
-       if (yych <= '6') goto yy1257;
-       if (yych <= '9') goto yy1258;
-       goto yy56;
- yy1241:
-       YYDEBUG(1241, *YYCURSOR);
-       yych = *++YYCURSOR;
-       if (yych == ':') goto yy1259;
-       goto yy56;
- yy1242:
-       YYDEBUG(1242, *YYCURSOR);
-       yych = *++YYCURSOR;
-       if (yych <= '/') goto yy56;
-       if (yych <= '0') goto yy1255;
-       if (yych <= '5') goto yy1243;
-       if (yych <= '6') goto yy1244;
-       goto yy56;
- yy1243:
-       YYDEBUG(1243, *YYCURSOR);
-       yych = *++YYCURSOR;
-       if (yych <= '/') goto yy56;
-       if (yych <= '9') goto yy1258;
-       goto yy56;
- yy1244:
-       YYDEBUG(1244, *YYCURSOR);
-       yych = *++YYCURSOR;
-       if (yych == '0') goto yy1258;
-       goto yy56;
- yy1245:
-       YYDEBUG(1245, *YYCURSOR);
-       yych = *++YYCURSOR;
-       if (yych == ':') goto yy1221;
-       goto yy56;
- yy1246:
-       YYDEBUG(1246, *YYCURSOR);
-       yych = *++YYCURSOR;
-       if (yych == ':') goto yy1186;
-       goto yy56;
- yy1247:
-       YYDEBUG(1247, *YYCURSOR);
-       yych = *++YYCURSOR;
-       if (yych <= '@') {
-               if (yych == ')') goto yy1035;
-               goto yy820;
 -yy1527:
 -      YYDEBUG(1527, *YYCURSOR);
++yy1552:
++      YYDEBUG(1552, *YYCURSOR);
+       yyaccept = 5;
+       yych = *(YYMARKER = ++YYCURSOR);
+       if (yych <= '9') {
+               if (yych <= '(') {
+                       if (yych <= '\t') {
+                               if (yych <= 0x08) goto yy228;
+                               goto yy230;
+                       } else {
+                               if (yych == ' ') goto yy230;
+                               goto yy228;
+                       }
+               } else {
+                       if (yych <= '-') {
+                               if (yych <= ')') goto yy174;
+                               if (yych <= ',') goto yy228;
+                               goto yy346;
+                       } else {
+                               if (yych == '/') goto yy182;
+                               goto yy230;
+                       }
+               }
        } else {
-               if (yych <= 'Z') goto yy1260;
-               if (yych <= '`') goto yy820;
-               if (yych <= 'z') goto yy1260;
-               goto yy820;
+               if (yych <= '^') {
+                       if (yych <= 'D') {
+                               if (yych <= '@') goto yy228;
+                               goto yy177;
+                       } else {
 -                              if (yych <= 'E') goto yy1513;
++                              if (yych <= 'E') goto yy1538;
+                               if (yych <= 'Z') goto yy177;
+                               goto yy228;
+                       }
+               } else {
+                       if (yych <= 'd') {
+                               if (yych <= '_') goto yy182;
+                               if (yych <= '`') goto yy228;
+                               goto yy185;
+                       } else {
 -                              if (yych <= 'e') goto yy1528;
++                              if (yych <= 'e') goto yy1553;
+                               if (yych <= 'z') goto yy185;
+                               goto yy228;
+                       }
+               }
        }
- yy1248:
-       YYDEBUG(1248, *YYCURSOR);
-       yyaccept = 20;
-       YYMARKER = ++YYCURSOR;
-       if (YYLIMIT <= YYCURSOR) YYFILL(1);
-       yych = *YYCURSOR;
-       YYDEBUG(1249, *YYCURSOR);
-       if (yych <= '@') {
 -yy1528:
 -      YYDEBUG(1528, *YYCURSOR);
++yy1553:
++      YYDEBUG(1553, *YYCURSOR);
+       yyaccept = 0;
+       yych = *(YYMARKER = ++YYCURSOR);
+       if (yych <= 'L') {
                if (yych <= '-') {
-                       if (yych <= ',') goto yy820;
-                       goto yy1233;
+                       if (yych == ')') goto yy174;
+                       if (yych <= ',') goto yy3;
+                       goto yy182;
                } else {
-                       if (yych == '/') goto yy1233;
-                       goto yy820;
+                       if (yych == '/') goto yy182;
+                       if (yych <= '@') goto yy3;
+                       goto yy178;
                }
        } else {
                if (yych <= '_') {
-                       if (yych <= 'Z') goto yy1248;
-                       if (yych <= '^') goto yy820;
-                       goto yy1233;
 -                      if (yych <= 'M') goto yy1514;
++                      if (yych <= 'M') goto yy1539;
+                       if (yych <= 'Z') goto yy178;
+                       if (yych <= '^') goto yy3;
+                       goto yy182;
                } else {
-                       if (yych <= '`') goto yy820;
-                       if (yych <= 'z') goto yy1248;
-                       goto yy820;
+                       if (yych <= 'l') {
+                               if (yych <= '`') goto yy3;
+                               goto yy186;
+                       } else {
 -                              if (yych <= 'm') goto yy1529;
++                              if (yych <= 'm') goto yy1554;
+                               if (yych <= 'z') goto yy186;
+                               goto yy3;
+                       }
                }
        }
- yy1250:
-       YYDEBUG(1250, *YYCURSOR);
-       yyaccept = 20;
 -yy1529:
 -      YYDEBUG(1529, *YYCURSOR);
++yy1554:
++      YYDEBUG(1554, *YYCURSOR);
+       yyaccept = 0;
        yych = *(YYMARKER = ++YYCURSOR);
-       if (yych <= '/') {
+       if (yych <= 'A') {
+               if (yych <= '-') {
+                       if (yych == ')') goto yy174;
+                       if (yych <= ',') goto yy3;
+                       goto yy182;
+               } else {
+                       if (yych == '/') goto yy182;
+                       if (yych <= '@') goto yy3;
+                       goto yy179;
+               }
+       } else {
+               if (yych <= '_') {
 -                      if (yych <= 'B') goto yy1515;
++                      if (yych <= 'B') goto yy1540;
+                       if (yych <= 'Z') goto yy179;
+                       if (yych <= '^') goto yy3;
+                       goto yy182;
+               } else {
+                       if (yych <= 'a') {
+                               if (yych <= '`') goto yy3;
+                               goto yy187;
+                       } else {
 -                              if (yych <= 'b') goto yy1530;
++                              if (yych <= 'b') goto yy1555;
+                               if (yych <= 'z') goto yy187;
+                               goto yy3;
+                       }
+               }
+       }
 -yy1530:
 -      YYDEBUG(1530, *YYCURSOR);
++yy1555:
++      YYDEBUG(1555, *YYCURSOR);
+       yyaccept = 0;
+       yych = *(YYMARKER = ++YYCURSOR);
+       if (yych <= 'D') {
                if (yych <= ',') {
-                       if (yych == ')') goto yy1035;
-                       goto yy820;
+                       if (yych == ')') goto yy174;
+                       goto yy3;
                } else {
-                       if (yych == '.') goto yy820;
-                       goto yy1233;
+                       if (yych == '.') goto yy3;
+                       if (yych <= '/') goto yy182;
+                       goto yy3;
                }
        } else {
-               if (yych <= '^') {
-                       if (yych <= '@') goto yy820;
-                       if (yych <= 'Z') goto yy1260;
-                       goto yy820;
+               if (yych <= '`') {
 -                      if (yych <= 'E') goto yy1516;
++                      if (yych <= 'E') goto yy1541;
+                       if (yych == '_') goto yy182;
+                       goto yy3;
                } else {
-                       if (yych <= '_') goto yy1233;
-                       if (yych <= '`') goto yy820;
-                       if (yych <= 'z') goto yy1261;
-                       goto yy820;
 -                      if (yych == 'e') goto yy1531;
++                      if (yych == 'e') goto yy1556;
+                       if (yych <= 'z') goto yy188;
+                       goto yy3;
                }
        }
- yy1251:
-       YYDEBUG(1251, *YYCURSOR);
-       yych = *++YYCURSOR;
-       if (yych == 'T') goto yy1041;
-       if (yych == 't') goto yy1041;
-       goto yy56;
- yy1252:
-       YYDEBUG(1252, *YYCURSOR);
-       yych = *++YYCURSOR;
-       if (yych == 'O') goto yy1118;
-       if (yych == 'o') goto yy1118;
-       goto yy56;
- yy1253:
-       YYDEBUG(1253, *YYCURSOR);
-       yych = *++YYCURSOR;
-       if (yych == '-') goto yy864;
-       if (yych <= '/') goto yy186;
-       if (yych <= '9') goto yy1262;
-       goto yy186;
- yy1254:
-       YYDEBUG(1254, *YYCURSOR);
 -yy1531:
 -      YYDEBUG(1531, *YYCURSOR);
++yy1556:
++      YYDEBUG(1556, *YYCURSOR);
        yych = *++YYCURSOR;
-       if (yych <= '/') goto yy56;
-       if (yych <= '5') goto yy1263;
-       goto yy56;
- yy1255:
-       YYDEBUG(1255, *YYCURSOR);
-       yych = *++YYCURSOR;
-       if (yych <= '/') goto yy1256;
-       if (yych <= '9') goto yy1258;
- yy1256:
-       YYDEBUG(1256, *YYCURSOR);
- #line 1515 "parse_date.re"
-       {
-               int tz_not_found;
-               DEBUG_OUTPUT("xmlrpc | xmlrpcnocolon | soap | wddx | exif");
-               TIMELIB_INIT;
-               TIMELIB_HAVE_TIME();
-               TIMELIB_HAVE_DATE();
-               s->time->y = timelib_get_nr(&ptr, 4);
-               s->time->m = timelib_get_nr(&ptr, 2);
-               s->time->d = timelib_get_nr(&ptr, 2);
-               s->time->h = timelib_get_nr(&ptr, 2);
-               s->time->i = timelib_get_nr(&ptr, 2);
-               s->time->s = timelib_get_nr(&ptr, 2);
-               if (*ptr == '.') {
-                       s->time->us = timelib_get_frac_nr(&ptr, 9);
-                       if (*ptr) { /* timezone is optional */
-                               s->time->z = timelib_parse_zone(&ptr, &s->time->dst, s->time, &tz_not_found, s->tzdb, tz_get_wrapper);
-                               if (tz_not_found) {
-                                       add_error(s, TIMELIB_ERR_TZID_NOT_FOUND, "The timezone could not be found in the database");
-                               }
-                       }
+       if (yych == 'R') goto yy239;
+       if (yych == 'r') goto yy351;
+       goto yy189;
 -yy1532:
 -      YYDEBUG(1532, *YYCURSOR);
 -      yyaccept = 32;
++yy1557:
++      YYDEBUG(1557, *YYCURSOR);
++      yyaccept = 31;
+       yych = *(YYMARKER = ++YYCURSOR);
+       if (yych <= '/') {
+               if (yych <= ',') {
+                       if (yych == ')') goto yy174;
 -                      goto yy1518;
++                      goto yy1543;
+               } else {
 -                      if (yych == '.') goto yy1518;
++                      if (yych == '.') goto yy1543;
+                       goto yy182;
+               }
+       } else {
+               if (yych <= '^') {
 -                      if (yych <= '@') goto yy1518;
++                      if (yych <= '@') goto yy1543;
+                       if (yych <= 'Z') goto yy178;
 -                      goto yy1518;
++                      goto yy1543;
+               } else {
+                       if (yych <= '_') goto yy182;
 -                      if (yych <= '`') goto yy1518;
++                      if (yych <= '`') goto yy1543;
+                       if (yych <= 'z') goto yy186;
 -                      goto yy1518;
++                      goto yy1543;
                }
-               TIMELIB_DEINIT;
-               return TIMELIB_XMLRPC_SOAP;
        }
- #line 21891 "<stdout>"
- yy1257:
-       YYDEBUG(1257, *YYCURSOR);
-       yych = *++YYCURSOR;
-       if (yych != '0') goto yy1256;
- yy1258:
-       YYDEBUG(1258, *YYCURSOR);
-       ++YYCURSOR;
-       goto yy1256;
- yy1259:
-       YYDEBUG(1259, *YYCURSOR);
-       yych = *++YYCURSOR;
-       if (yych <= '/') goto yy56;
-       if (yych <= '5') goto yy1264;
-       if (yych <= '9') goto yy1216;
-       goto yy56;
- yy1260:
-       YYDEBUG(1260, *YYCURSOR);
 -yy1533:
 -      YYDEBUG(1533, *YYCURSOR);
++yy1558:
++      YYDEBUG(1558, *YYCURSOR);
        yych = *++YYCURSOR;
-       if (yych <= '@') {
-               if (yych == ')') goto yy1035;
-               goto yy820;
+       if (yych <= 'S') {
+               if (yych <= ')') {
+                       if (yych <= '(') goto yy3;
+                       goto yy174;
+               } else {
+                       if (yych <= '@') goto yy3;
+                       if (yych <= 'R') goto yy176;
+               }
        } else {
-               if (yych <= 'Z') goto yy1265;
-               if (yych <= '`') goto yy820;
-               if (yych <= 'z') goto yy1265;
-               goto yy820;
+               if (yych <= 'r') {
+                       if (yych <= 'Z') goto yy176;
+                       if (yych <= '`') goto yy3;
+                       goto yy176;
+               } else {
 -                      if (yych <= 's') goto yy1534;
++                      if (yych <= 's') goto yy1559;
+                       if (yych <= 'z') goto yy176;
+                       goto yy3;
+               }
        }
- yy1261:
-       YYDEBUG(1261, *YYCURSOR);
-       yyaccept = 20;
-       yych = *(YYMARKER = ++YYCURSOR);
-       if (yych <= '/') {
-               if (yych <= ',') {
-                       if (yych == ')') goto yy1035;
-                       goto yy820;
 -yy1534:
 -      YYDEBUG(1534, *YYCURSOR);
++yy1559:
++      YYDEBUG(1559, *YYCURSOR);
+       yych = *++YYCURSOR;
+       if (yych <= 'T') {
+               if (yych <= ')') {
+                       if (yych <= '(') goto yy3;
+                       goto yy174;
                } else {
-                       if (yych == '.') goto yy820;
-                       goto yy1233;
+                       if (yych <= '@') goto yy3;
+                       if (yych <= 'S') goto yy177;
                }
        } else {
-               if (yych <= '^') {
-                       if (yych <= '@') goto yy820;
-                       if (yych <= 'Z') goto yy1265;
-                       goto yy820;
+               if (yych <= 's') {
+                       if (yych <= 'Z') goto yy177;
+                       if (yych <= '`') goto yy3;
+                       goto yy177;
                } else {
-                       if (yych <= '_') goto yy1233;
-                       if (yych <= '`') goto yy820;
-                       if (yych <= 'z') goto yy1266;
-                       goto yy820;
 -                      if (yych <= 't') goto yy1535;
++                      if (yych <= 't') goto yy1560;
+                       if (yych <= 'z') goto yy177;
+                       goto yy3;
                }
        }
- yy1262:
-       YYDEBUG(1262, *YYCURSOR);
-       yych = *++YYCURSOR;
-       if (yych == '-') goto yy864;
-       if (yych <= '/') goto yy56;
-       if (yych <= '9') goto yy1267;
-       goto yy56;
- yy1263:
-       YYDEBUG(1263, *YYCURSOR);
-       yych = *++YYCURSOR;
-       if (yych <= '/') goto yy56;
-       if (yych <= '9') goto yy1268;
-       goto yy56;
- yy1264:
-       YYDEBUG(1264, *YYCURSOR);
-       yych = *++YYCURSOR;
-       if (yych <= '/') goto yy56;
-       if (yych <= '9') goto yy1269;
-       if (yych <= ':') goto yy1240;
-       goto yy56;
- yy1265:
-       YYDEBUG(1265, *YYCURSOR);
 -yy1535:
 -      YYDEBUG(1535, *YYCURSOR);
++yy1560:
++      YYDEBUG(1560, *YYCURSOR);
        yych = *++YYCURSOR;
-       if (yych == ')') goto yy1035;
-       goto yy820;
- yy1266:
-       YYDEBUG(1266, *YYCURSOR);
-       yyaccept = 20;
-       yych = *(YYMARKER = ++YYCURSOR);
-       if (yych <= '.') {
+       if (yych <= 'E') {
                if (yych <= ')') {
-                       if (yych <= '(') goto yy820;
-                       goto yy1035;
+                       if (yych <= '(') goto yy3;
+                       goto yy174;
                } else {
-                       if (yych == '-') goto yy1233;
-                       goto yy820;
+                       if (yych <= '@') goto yy3;
+                       if (yych <= 'D') goto yy178;
                }
        } else {
-               if (yych <= '_') {
-                       if (yych <= '/') goto yy1233;
-                       if (yych <= '^') goto yy820;
-                       goto yy1233;
+               if (yych <= 'd') {
+                       if (yych <= 'Z') goto yy178;
+                       if (yych <= '`') goto yy3;
+                       goto yy178;
                } else {
-                       if (yych <= '`') goto yy820;
-                       if (yych <= 'z') goto yy1270;
-                       goto yy820;
 -                      if (yych <= 'e') goto yy1536;
++                      if (yych <= 'e') goto yy1561;
+                       if (yych <= 'z') goto yy178;
+                       goto yy3;
                }
        }
- yy1267:
-       YYDEBUG(1267, *YYCURSOR);
 -yy1536:
 -      YYDEBUG(1536, *YYCURSOR);
++yy1561:
++      YYDEBUG(1561, *YYCURSOR);
        yych = *++YYCURSOR;
-       if (yych == '-') goto yy864;
-       if (yych <= '/') goto yy56;
-       if (yych <= '9') goto yy1272;
-       goto yy56;
- yy1268:
-       YYDEBUG(1268, *YYCURSOR);
+       if (yych <= 'R') {
+               if (yych <= ')') {
+                       if (yych <= '(') goto yy3;
+                       goto yy174;
+               } else {
+                       if (yych <= '@') goto yy3;
+                       if (yych <= 'Q') goto yy179;
+               }
+       } else {
+               if (yych <= 'q') {
+                       if (yych <= 'Z') goto yy179;
+                       if (yych <= '`') goto yy3;
+                       goto yy179;
+               } else {
 -                      if (yych <= 'r') goto yy1537;
++                      if (yych <= 'r') goto yy1562;
+                       if (yych <= 'z') goto yy179;
+                       goto yy3;
+               }
+       }
 -yy1537:
 -      YYDEBUG(1537, *YYCURSOR);
++yy1562:
++      YYDEBUG(1562, *YYCURSOR);
+       yyaccept = 0;
+       yych = *(YYMARKER = ++YYCURSOR);
+       if (yych <= 'C') {
+               if (yych == ')') goto yy174;
+               goto yy3;
+       } else {
 -              if (yych <= 'D') goto yy1538;
++              if (yych <= 'D') goto yy1563;
+               if (yych != 'd') goto yy3;
+       }
 -yy1538:
 -      YYDEBUG(1538, *YYCURSOR);
++yy1563:
++      YYDEBUG(1563, *YYCURSOR);
        yych = *++YYCURSOR;
-       if (yych == ':') goto yy1273;
-       goto yy56;
- yy1269:
-       YYDEBUG(1269, *YYCURSOR);
 -      if (yych == 'A') goto yy1539;
++      if (yych == 'A') goto yy1564;
+       if (yych != 'a') goto yy55;
 -yy1539:
 -      YYDEBUG(1539, *YYCURSOR);
++yy1564:
++      YYDEBUG(1564, *YYCURSOR);
        yych = *++YYCURSOR;
-       if (yych == ':') goto yy1274;
-       goto yy56;
- yy1270:
-       YYDEBUG(1270, *YYCURSOR);
 -      if (yych == 'Y') goto yy1540;
++      if (yych == 'Y') goto yy1565;
+       if (yych != 'y') goto yy55;
 -yy1540:
 -      YYDEBUG(1540, *YYCURSOR);
++yy1565:
++      YYDEBUG(1565, *YYCURSOR);
        ++YYCURSOR;
-       if (YYLIMIT <= YYCURSOR) YYFILL(1);
-       yych = *YYCURSOR;
-       YYDEBUG(1271, *YYCURSOR);
-       if (yych <= '/') {
-               if (yych == '-') goto yy1233;
-               if (yych <= '.') goto yy56;
-               goto yy1233;
 -yy1541:
 -      YYDEBUG(1541, *YYCURSOR);
 -#line 1016 "parse_date.re"
++yy1566:
++      YYDEBUG(1566, *YYCURSOR);
++#line 1021 "parse_date.re"
+       {
+               DEBUG_OUTPUT("yesterday");
+               TIMELIB_INIT;
+               TIMELIB_HAVE_RELATIVE();
+               TIMELIB_UNHAVE_TIME();
+               s->time->relative.d = -1;
+               TIMELIB_DEINIT;
+               return TIMELIB_RELATIVE;
+       }
 -#line 24753 "<stdout>"
 -yy1542:
 -      YYDEBUG(1542, *YYCURSOR);
++#line 24897 "<stdout>"
++yy1567:
++      YYDEBUG(1567, *YYCURSOR);
+       yyaccept = 0;
+       yych = *(YYMARKER = ++YYCURSOR);
+       if (yych <= 'R') {
+               if (yych <= '-') {
+                       if (yych == ')') goto yy174;
+                       if (yych <= ',') goto yy3;
+                       goto yy182;
+               } else {
+                       if (yych == '/') goto yy182;
+                       if (yych <= '@') goto yy3;
+                       goto yy176;
+               }
        } else {
                if (yych <= '_') {
-                       if (yych <= '^') goto yy56;
-                       goto yy1233;
 -                      if (yych <= 'S') goto yy1534;
++                      if (yych <= 'S') goto yy1559;
+                       if (yych <= 'Z') goto yy176;
+                       if (yych <= '^') goto yy3;
+                       goto yy182;
                } else {
-                       if (yych <= '`') goto yy56;
-                       if (yych <= 'z') goto yy1270;
-                       goto yy56;
+                       if (yych <= 'r') {
+                               if (yych <= '`') goto yy3;
+                               goto yy181;
+                       } else {
 -                              if (yych <= 's') goto yy1543;
++                              if (yych <= 's') goto yy1568;
+                               if (yych <= 'z') goto yy181;
+                               goto yy3;
+                       }
                }
        }
- yy1272:
-       YYDEBUG(1272, *YYCURSOR);
-       yych = *++YYCURSOR;
-       if (yych == '-') goto yy864;
-       if (yych <= '/') goto yy56;
-       if (yych <= '9') goto yy1275;
-       goto yy56;
- yy1273:
-       YYDEBUG(1273, *YYCURSOR);
-       yych = *++YYCURSOR;
-       if (yych <= '/') goto yy56;
-       if (yych <= '5') goto yy1276;
-       if (yych <= '6') goto yy1277;
-       goto yy56;
- yy1274:
-       YYDEBUG(1274, *YYCURSOR);
-       yych = *++YYCURSOR;
-       if (yych <= '/') goto yy56;
-       if (yych <= '5') goto yy1278;
-       if (yych <= '6') goto yy1279;
-       if (yych <= '9') goto yy1258;
-       goto yy56;
- yy1275:
-       YYDEBUG(1275, *YYCURSOR);
-       yych = *++YYCURSOR;
-       if (yych == '-') goto yy864;
-       if (yych <= '/') goto yy56;
-       if (yych <= '9') goto yy1280;
-       goto yy56;
- yy1276:
-       YYDEBUG(1276, *YYCURSOR);
-       yych = *++YYCURSOR;
-       if (yych <= '/') goto yy56;
-       if (yych <= '9') goto yy1281;
-       goto yy56;
- yy1277:
-       YYDEBUG(1277, *YYCURSOR);
-       yych = *++YYCURSOR;
-       if (yych == '0') goto yy1281;
-       goto yy56;
- yy1278:
-       YYDEBUG(1278, *YYCURSOR);
-       yych = *++YYCURSOR;
-       if (yych <= '/') goto yy1256;
-       if (yych <= '9') goto yy1282;
-       goto yy1256;
- yy1279:
-       YYDEBUG(1279, *YYCURSOR);
-       yych = *++YYCURSOR;
-       if (yych == '0') goto yy1282;
-       goto yy1256;
- yy1280:
-       YYDEBUG(1280, *YYCURSOR);
-       yych = *++YYCURSOR;
-       if (yych == '-') goto yy864;
-       if (yych <= '/') goto yy56;
-       if (yych <= '9') goto yy1283;
-       goto yy56;
- yy1281:
-       YYDEBUG(1281, *YYCURSOR);
-       yych = *++YYCURSOR;
-       if (yych == '\t') goto yy1284;
-       if (yych == ' ') goto yy1284;
-       goto yy56;
- yy1282:
-       YYDEBUG(1282, *YYCURSOR);
-       yyaccept = 32;
 -yy1543:
 -      YYDEBUG(1543, *YYCURSOR);
++yy1568:
++      YYDEBUG(1568, *YYCURSOR);
+       yyaccept = 0;
        yych = *(YYMARKER = ++YYCURSOR);
-       if (yych == '.') goto yy1286;
-       goto yy1256;
- yy1283:
-       YYDEBUG(1283, *YYCURSOR);
-       yych = *++YYCURSOR;
-       if (yych == '-') goto yy864;
-       goto yy56;
- yy1284:
-       YYDEBUG(1284, *YYCURSOR);
-       ++YYCURSOR;
-       if ((YYLIMIT - YYCURSOR) < 9) YYFILL(9);
-       yych = *YYCURSOR;
-       YYDEBUG(1285, *YYCURSOR);
-       if (yych <= '*') {
-               if (yych <= '\t') {
-                       if (yych <= 0x08) goto yy56;
-                       goto yy1284;
+       if (yych <= 'S') {
+               if (yych <= '-') {
+                       if (yych == ')') goto yy174;
+                       if (yych <= ',') goto yy3;
+                       goto yy182;
                } else {
-                       if (yych == ' ') goto yy1284;
-                       goto yy56;
+                       if (yych == '/') goto yy182;
+                       if (yych <= '@') goto yy3;
+                       goto yy177;
                }
        } else {
-               if (yych <= '-') {
-                       if (yych == ',') goto yy56;
-                       goto yy1287;
+               if (yych <= '_') {
 -                      if (yych <= 'T') goto yy1535;
++                      if (yych <= 'T') goto yy1560;
+                       if (yych <= 'Z') goto yy177;
+                       if (yych <= '^') goto yy3;
+                       goto yy182;
                } else {
-                       if (yych == 'G') goto yy1288;
-                       goto yy56;
+                       if (yych <= 's') {
+                               if (yych <= '`') goto yy3;
+                               goto yy185;
+                       } else {
 -                              if (yych <= 't') goto yy1544;
++                              if (yych <= 't') goto yy1569;
+                               if (yych <= 'z') goto yy185;
+                               goto yy3;
+                       }
                }
        }
- yy1286:
-       YYDEBUG(1286, *YYCURSOR);
-       yych = *++YYCURSOR;
-       if (yych <= '/') goto yy56;
-       if (yych <= '9') goto yy1289;
-       goto yy56;
- yy1287:
-       YYDEBUG(1287, *YYCURSOR);
-       yych = *++YYCURSOR;
-       if (yych <= '/') goto yy56;
-       if (yych <= '1') goto yy1291;
-       if (yych <= '2') goto yy1293;
-       if (yych <= '9') goto yy1294;
-       goto yy56;
- yy1288:
-       YYDEBUG(1288, *YYCURSOR);
-       yych = *++YYCURSOR;
-       if (yych == 'M') goto yy1295;
-       goto yy56;
- yy1289:
-       YYDEBUG(1289, *YYCURSOR);
-       yyaccept = 32;
-       YYMARKER = ++YYCURSOR;
-       if ((YYLIMIT - YYCURSOR) < 9) YYFILL(9);
-       yych = *YYCURSOR;
-       YYDEBUG(1290, *YYCURSOR);
-       if (yych <= '-') {
-               if (yych == '+') goto yy1296;
-               if (yych <= ',') goto yy1256;
-               goto yy1296;
 -yy1544:
 -      YYDEBUG(1544, *YYCURSOR);
++yy1569:
++      YYDEBUG(1569, *YYCURSOR);
+       yyaccept = 0;
+       yych = *(YYMARKER = ++YYCURSOR);
+       if (yych <= 'D') {
+               if (yych <= '-') {
+                       if (yych == ')') goto yy174;
+                       if (yych <= ',') goto yy3;
+                       goto yy182;
+               } else {
+                       if (yych == '/') goto yy182;
+                       if (yych <= '@') goto yy3;
+                       goto yy178;
+               }
        } else {
-               if (yych <= '9') {
-                       if (yych <= '/') goto yy1256;
-                       goto yy1289;
+               if (yych <= '_') {
 -                      if (yych <= 'E') goto yy1536;
++                      if (yych <= 'E') goto yy1561;
+                       if (yych <= 'Z') goto yy178;
+                       if (yych <= '^') goto yy3;
+                       goto yy182;
                } else {
-                       if (yych == 'G') goto yy1297;
-                       goto yy1256;
+                       if (yych <= 'd') {
+                               if (yych <= '`') goto yy3;
+                               goto yy186;
+                       } else {
 -                              if (yych <= 'e') goto yy1545;
++                              if (yych <= 'e') goto yy1570;
+                               if (yych <= 'z') goto yy186;
+                               goto yy3;
+                       }
                }
        }
- yy1291:
-       YYDEBUG(1291, *YYCURSOR);
-       yych = *++YYCURSOR;
-       if (yych <= '/') goto yy1292;
-       if (yych <= '9') goto yy1294;
-       if (yych <= ':') goto yy1298;
- yy1292:
-       YYDEBUG(1292, *YYCURSOR);
- #line 1621 "parse_date.re"
-       {
-               int tz_not_found;
-               DEBUG_OUTPUT("clf");
-               TIMELIB_INIT;
-               TIMELIB_HAVE_TIME();
-               TIMELIB_HAVE_DATE();
-               s->time->d = timelib_get_nr(&ptr, 2);
-               s->time->m = timelib_get_month(&ptr);
-               s->time->y = timelib_get_nr(&ptr, 4);
-               s->time->h = timelib_get_nr(&ptr, 2);
-               s->time->i = timelib_get_nr(&ptr, 2);
-               s->time->s = timelib_get_nr(&ptr, 2);
-               s->time->z = timelib_parse_zone(&ptr, &s->time->dst, s->time, &tz_not_found, s->tzdb, tz_get_wrapper);
-               if (tz_not_found) {
-                       add_error(s, TIMELIB_ERR_TZID_NOT_FOUND, "The timezone could not be found in the database");
 -yy1545:
 -      YYDEBUG(1545, *YYCURSOR);
++yy1570:
++      YYDEBUG(1570, *YYCURSOR);
+       yyaccept = 0;
+       yych = *(YYMARKER = ++YYCURSOR);
+       if (yych <= 'Q') {
+               if (yych <= '-') {
+                       if (yych == ')') goto yy174;
+                       if (yych <= ',') goto yy3;
+                       goto yy182;
+               } else {
+                       if (yych == '/') goto yy182;
+                       if (yych <= '@') goto yy3;
+                       goto yy179;
+               }
+       } else {
+               if (yych <= '_') {
 -                      if (yych <= 'R') goto yy1537;
++                      if (yych <= 'R') goto yy1562;
+                       if (yych <= 'Z') goto yy179;
+                       if (yych <= '^') goto yy3;
+                       goto yy182;
+               } else {
+                       if (yych <= 'q') {
+                               if (yych <= '`') goto yy3;
+                               goto yy187;
+                       } else {
 -                              if (yych <= 'r') goto yy1546;
++                              if (yych <= 'r') goto yy1571;
+                               if (yych <= 'z') goto yy187;
+                               goto yy3;
+                       }
                }
-               TIMELIB_DEINIT;
-               return TIMELIB_CLF;
        }
- #line 22193 "<stdout>"
- yy1293:
-       YYDEBUG(1293, *YYCURSOR);
-       yych = *++YYCURSOR;
-       if (yych <= '5') {
-               if (yych <= '/') goto yy1292;
-               if (yych >= '5') goto yy1299;
 -yy1546:
 -      YYDEBUG(1546, *YYCURSOR);
++yy1571:
++      YYDEBUG(1571, *YYCURSOR);
+       yyaccept = 0;
+       yych = *(YYMARKER = ++YYCURSOR);
+       if (yych <= 'C') {
+               if (yych <= ',') {
+                       if (yych == ')') goto yy174;
+                       goto yy3;
+               } else {
+                       if (yych == '.') goto yy3;
+                       if (yych <= '/') goto yy182;
+                       goto yy3;
+               }
        } else {
-               if (yych <= '9') goto yy1300;
-               if (yych <= ':') goto yy1298;
-               goto yy1292;
+               if (yych <= '`') {
 -                      if (yych <= 'D') goto yy1538;
++                      if (yych <= 'D') goto yy1563;
+                       if (yych == '_') goto yy182;
+                       goto yy3;
+               } else {
 -                      if (yych == 'd') goto yy1547;
++                      if (yych == 'd') goto yy1572;
+                       if (yych <= 'z') goto yy188;
+                       goto yy3;
+               }
        }
- yy1294:
-       YYDEBUG(1294, *YYCURSOR);
-       yych = *++YYCURSOR;
-       if (yych <= '/') goto yy1292;
-       if (yych <= '5') goto yy1299;
-       if (yych <= '9') goto yy1300;
-       if (yych <= ':') goto yy1298;
-       goto yy1292;
- yy1295:
-       YYDEBUG(1295, *YYCURSOR);
-       yych = *++YYCURSOR;
-       if (yych == 'T') goto yy1301;
-       goto yy56;
- yy1296:
-       YYDEBUG(1296, *YYCURSOR);
-       yych = *++YYCURSOR;
-       if (yych <= '/') goto yy56;
-       if (yych <= '1') goto yy1302;
-       if (yych <= '2') goto yy1303;
-       if (yych <= '9') goto yy1304;
-       goto yy56;
- yy1297:
-       YYDEBUG(1297, *YYCURSOR);
-       yych = *++YYCURSOR;
-       if (yych == 'M') goto yy1305;
-       goto yy56;
- yy1298:
-       YYDEBUG(1298, *YYCURSOR);
 -yy1547:
 -      YYDEBUG(1547, *YYCURSOR);
++yy1572:
++      YYDEBUG(1572, *YYCURSOR);
        yych = *++YYCURSOR;
-       if (yych <= '/') goto yy1292;
-       if (yych <= '5') goto yy1299;
-       if (yych <= '9') goto yy1300;
-       goto yy1292;
- yy1299:
-       YYDEBUG(1299, *YYCURSOR);
-       yych = *++YYCURSOR;
-       if (yych <= '/') goto yy1292;
-       if (yych >= ':') goto yy1292;
- yy1300:
-       YYDEBUG(1300, *YYCURSOR);
-       ++YYCURSOR;
-       goto yy1292;
- yy1301:
-       YYDEBUG(1301, *YYCURSOR);
 -      if (yych == 'A') goto yy1539;
++      if (yych == 'A') goto yy1564;
+       if (yych != 'a') goto yy189;
 -      YYDEBUG(1548, *YYCURSOR);
++      YYDEBUG(1573, *YYCURSOR);
        yych = *++YYCURSOR;
-       if (yych == '+') goto yy1287;
-       if (yych == '-') goto yy1287;
-       goto yy56;
- yy1302:
-       YYDEBUG(1302, *YYCURSOR);
-       yych = *++YYCURSOR;
-       if (yych <= '/') goto yy1256;
-       if (yych <= '9') goto yy1304;
-       if (yych <= ':') goto yy1306;
-       goto yy1256;
- yy1303:
-       YYDEBUG(1303, *YYCURSOR);
-       yych = *++YYCURSOR;
-       if (yych <= '5') {
-               if (yych <= '/') goto yy1256;
-               if (yych >= '5') goto yy1255;
 -      if (yych == 'Y') goto yy1540;
++      if (yych == 'Y') goto yy1565;
+       if (yych != 'y') goto yy189;
 -      YYDEBUG(1549, *YYCURSOR);
 -      yyaccept = 33;
++      YYDEBUG(1574, *YYCURSOR);
++      yyaccept = 32;
+       yych = *(YYMARKER = ++YYCURSOR);
+       if (yybm[0+yych] & 8) {
+               goto yy188;
+       }
+       if (yych <= '.') {
+               if (yych == '-') goto yy182;
 -              goto yy1541;
++              goto yy1566;
        } else {
-               if (yych <= '9') goto yy1258;
-               if (yych <= ':') goto yy1306;
-               goto yy1256;
+               if (yych <= '/') goto yy182;
+               if (yych == '_') goto yy182;
 -              goto yy1541;
++              goto yy1566;
        }
- yy1304:
-       YYDEBUG(1304, *YYCURSOR);
-       yych = *++YYCURSOR;
-       if (yych <= '/') goto yy1256;
-       if (yych <= '5') goto yy1255;
-       if (yych <= '9') goto yy1258;
-       if (yych <= ':') goto yy1306;
-       goto yy1256;
- yy1305:
-       YYDEBUG(1305, *YYCURSOR);
-       yych = *++YYCURSOR;
-       if (yych == 'T') goto yy1307;
-       goto yy56;
- yy1306:
-       YYDEBUG(1306, *YYCURSOR);
-       yych = *++YYCURSOR;
-       if (yych <= '/') goto yy1256;
-       if (yych <= '5') goto yy1255;
-       if (yych <= '9') goto yy1258;
-       goto yy1256;
- yy1307:
-       YYDEBUG(1307, *YYCURSOR);
-       yych = *++YYCURSOR;
-       if (yych == '+') goto yy1296;
-       if (yych == '-') goto yy1296;
-       goto yy56;
  }
 -#line 1818 "parse_date.re"
 +#line 1840 "parse_date.re"
  
  }
  
  #define YYMAXFILL 33
  
 -timelib_time* timelib_strtotime(char *s, size_t len, timelib_error_container **errors, const timelib_tzdb *tzdb, timelib_tz_get_wrapper tz_get_wrapper)
 +timelib_time *timelib_strtotime(const char *s, size_t len, timelib_error_container **errors, const timelib_tzdb *tzdb, timelib_tz_get_wrapper tz_get_wrapper)
  {
        Scanner in;
        int t;
index fe17d3d22a35599556a71cc6a56f060887a34bb7,4f7e2d439cce38e73b932097992cf66da55f905f..c79a42b87ab67dbca1ca57e77c1fb184c64e8937
@@@ -1,4 -1,4 +1,4 @@@
- /* Generated by re2c 2.0.3 on Mon Aug 31 12:21:19 2020 */
 -/* Generated by re2c 0.15.3 on Mon Dec 21 10:25:59 2020 */
++/* Generated by re2c 0.15.3 on Mon Dec 21 10:30:56 2020 */
  #line 1 "parse_iso_intervals.re"
  /*
   * The MIT License (MIT)
@@@ -233,63 -232,44 +234,44 @@@ std
                }
        } else {
                if (yych <= 'O') {
-                       if (yych <= '-') goto yy4;
-                       if (yych <= '/') goto yy6;
-                       if (yych <= '9') goto yy8;
-                       goto yy4;
+                       if (yych <= '-') goto yy11;
+                       if (yych <= '/') goto yy7;
+                       if (yych <= '9') goto yy4;
+                       goto yy11;
                } else {
-                       if (yych <= 'P') goto yy9;
-                       if (yych == 'R') goto yy11;
-                       goto yy4;
+                       if (yych <= 'P') goto yy5;
+                       if (yych != 'R') goto yy11;
                }
        }
- yy2:
        YYDEBUG(2, *YYCURSOR);
        ++YYCURSOR;
+       if ((yych = *YYCURSOR) <= '/') goto yy3;
+       if (yych <= '9') goto yy98;
+ yy3:
        YYDEBUG(3, *YYCURSOR);
- #line 311 "parse_iso_intervals.re"
-       {
-               s->pos = cursor; s->line++;
-               goto std;
-       }
- #line 256 "<stdout>"
- yy4:
-       YYDEBUG(4, *YYCURSOR);
-       ++YYCURSOR;
- yy5:
-       YYDEBUG(5, *YYCURSOR);
 -#line 315 "parse_iso_intervals.re"
 +#line 317 "parse_iso_intervals.re"
        {
                add_error(s, "Unexpected character");
                goto std;
        }
- #line 267 "<stdout>"
- yy6:
-       YYDEBUG(6, *YYCURSOR);
-       ++YYCURSOR;
-       YYDEBUG(7, *YYCURSOR);
- #line 306 "parse_iso_intervals.re"
-       {
-               goto std;
-       }
- #line 276 "<stdout>"
- yy8:
-       YYDEBUG(8, *YYCURSOR);
 -#line 256 "<stdout>"
++#line 258 "<stdout>"
+ yy4:
+       YYDEBUG(4, *YYCURSOR);
        yyaccept = 0;
        yych = *(YYMARKER = ++YYCURSOR);
-       if (yych <= '/') goto yy5;
-       if (yych <= '9') goto yy12;
-       goto yy5;
- yy9:
-       YYDEBUG(9, *YYCURSOR);
+       if (yych <= '/') goto yy3;
+       if (yych <= '9') goto yy59;
+       goto yy3;
+ yy5:
+       YYDEBUG(5, *YYCURSOR);
        yyaccept = 1;
        yych = *(YYMARKER = ++YYCURSOR);
-       if (yych <= '/') goto yy10;
-       if (yych <= '9') goto yy14;
-       if (yych == 'T') goto yy15;
- yy10:
-       YYDEBUG(10, *YYCURSOR);
+       if (yych <= '/') goto yy6;
+       if (yych <= '9') goto yy12;
+       if (yych == 'T') goto yy14;
+ yy6:
+       YYDEBUG(6, *YYCURSOR);
 -#line 242 "parse_iso_intervals.re"
 +#line 244 "parse_iso_intervals.re"
        {
                timelib_sll nr;
                int         in_time = 0;
                TIMELIB_DEINIT;
                return TIMELIB_PERIOD;
        }
- #line 334 "<stdout>"
 -#line 314 "<stdout>"
++#line 316 "<stdout>"
+ yy7:
+       YYDEBUG(7, *YYCURSOR);
+       ++YYCURSOR;
+       YYDEBUG(8, *YYCURSOR);
 -#line 304 "parse_iso_intervals.re"
++#line 306 "parse_iso_intervals.re"
+       {
+               goto std;
+       }
 -#line 323 "<stdout>"
++#line 325 "<stdout>"
+ yy9:
+       YYDEBUG(9, *YYCURSOR);
+       ++YYCURSOR;
+       YYDEBUG(10, *YYCURSOR);
 -#line 309 "parse_iso_intervals.re"
++#line 311 "parse_iso_intervals.re"
+       {
+               s->pos = cursor; s->line++;
+               goto std;
+       }
 -#line 333 "<stdout>"
++#line 335 "<stdout>"
  yy11:
        YYDEBUG(11, *YYCURSOR);
        yych = *++YYCURSOR;
@@@ -698,22 -655,30 +657,30 @@@ yy51
        YYDEBUG(56, *YYCURSOR);
        yych = *++YYCURSOR;
        if (yych <= '/') goto yy13;
-       if (yych <= '9') goto yy60;
-       goto yy13;
- yy57:
+       if (yych >= ':') goto yy13;
        YYDEBUG(57, *YYCURSOR);
-       yych = *++YYCURSOR;
-       if (yych <= '/') goto yy13;
-       if (yych <= '2') goto yy60;
-       goto yy13;
- yy58:
+       ++YYCURSOR;
        YYDEBUG(58, *YYCURSOR);
-       yych = *++YYCURSOR;
-       if (yych <= '/') goto yy13;
-       if (yych <= '0') goto yy61;
-       if (yych <= '2') goto yy62;
-       if (yych <= '3') goto yy63;
-       goto yy13;
 -#line 284 "parse_iso_intervals.re"
++#line 286 "parse_iso_intervals.re"
+       {
+               DEBUG_OUTPUT("combinedrep");
+               TIMELIB_INIT;
 -              s->period->y = timelib_get_unsigned_nr((char **) &ptr, 4);
++              s->period->y = timelib_get_unsigned_nr(&ptr, 4);
+               ptr++;
 -              s->period->m = timelib_get_unsigned_nr((char **) &ptr, 2);
++              s->period->m = timelib_get_unsigned_nr(&ptr, 2);
+               ptr++;
 -              s->period->d = timelib_get_unsigned_nr((char **) &ptr, 2);
++              s->period->d = timelib_get_unsigned_nr(&ptr, 2);
+               ptr++;
 -              s->period->h = timelib_get_unsigned_nr((char **) &ptr, 2);
++              s->period->h = timelib_get_unsigned_nr(&ptr, 2);
+               ptr++;
 -              s->period->i = timelib_get_unsigned_nr((char **) &ptr, 2);
++              s->period->i = timelib_get_unsigned_nr(&ptr, 2);
+               ptr++;
 -              s->period->s = timelib_get_unsigned_nr((char **) &ptr, 2);
++              s->period->s = timelib_get_unsigned_nr(&ptr, 2);
+               s->have_period = 1;
+               TIMELIB_DEINIT;
+               return TIMELIB_PERIOD;
+       }
 -#line 682 "<stdout>"
++#line 684 "<stdout>"
  yy59:
        YYDEBUG(59, *YYCURSOR);
        yych = *++YYCURSOR;
@@@ -849,52 -799,15 +801,15 @@@ yy76
        YYDEBUG(81, *YYCURSOR);
        yych = *++YYCURSOR;
        if (yych <= '/') goto yy13;
-       if (yych <= '4') goto yy84;
-       goto yy13;
- yy82:
+       if (yych >= ':') goto yy13;
        YYDEBUG(82, *YYCURSOR);
        yych = *++YYCURSOR;
-       if (yych <= '/') goto yy13;
-       if (yych <= '5') goto yy85;
-       goto yy13;
+       if (yych != 'Z') goto yy13;
  yy83:
        YYDEBUG(83, *YYCURSOR);
-       yych = *++YYCURSOR;
-       if (yych <= '/') goto yy13;
-       if (yych <= '9') goto yy86;
-       goto yy13;
- yy84:
-       YYDEBUG(84, *YYCURSOR);
-       yych = *++YYCURSOR;
-       if (yych == ':') goto yy87;
-       goto yy13;
- yy85:
-       YYDEBUG(85, *YYCURSOR);
-       yych = *++YYCURSOR;
-       if (yych <= '/') goto yy13;
-       if (yych <= '9') goto yy88;
-       goto yy13;
- yy86:
-       YYDEBUG(86, *YYCURSOR);
-       yych = *++YYCURSOR;
-       if (yych == 'Z') goto yy89;
-       goto yy13;
- yy87:
-       YYDEBUG(87, *YYCURSOR);
-       yych = *++YYCURSOR;
-       if (yych <= '/') goto yy13;
-       if (yych <= '5') goto yy91;
-       goto yy13;
- yy88:
-       YYDEBUG(88, *YYCURSOR);
-       yych = *++YYCURSOR;
-       if (yych == ':') goto yy79;
-       goto yy13;
- yy89:
-       YYDEBUG(89, *YYCURSOR);
        ++YYCURSOR;
-       YYDEBUG(90, *YYCURSOR);
+       YYDEBUG(84, *YYCURSOR);
 -#line 218 "parse_iso_intervals.re"
 +#line 220 "parse_iso_intervals.re"
        {
                timelib_time *current;
  
                TIMELIB_DEINIT;
                return TIMELIB_ISO_DATE;
        }
- #line 921 "<stdout>"
 -#line 834 "<stdout>"
++#line 836 "<stdout>"
+ yy85:
+       YYDEBUG(85, *YYCURSOR);
+       yych = *++YYCURSOR;
+       if (yych <= '/') goto yy13;
+       if (yych <= '0') goto yy86;
+       if (yych <= '2') goto yy87;
+       if (yych <= '3') goto yy88;
+       goto yy13;
+ yy86:
+       YYDEBUG(86, *YYCURSOR);
+       yych = *++YYCURSOR;
+       if (yych <= '0') goto yy13;
+       if (yych <= '9') goto yy89;
+       goto yy13;
+ yy87:
+       YYDEBUG(87, *YYCURSOR);
+       yych = *++YYCURSOR;
+       if (yych <= '/') goto yy13;
+       if (yych <= '9') goto yy89;
+       goto yy13;
+ yy88:
+       YYDEBUG(88, *YYCURSOR);
+       yych = *++YYCURSOR;
+       if (yych <= '/') goto yy13;
+       if (yych >= '2') goto yy13;
+ yy89:
+       YYDEBUG(89, *YYCURSOR);
+       yych = *++YYCURSOR;
+       if (yych != 'T') goto yy13;
+       YYDEBUG(90, *YYCURSOR);
+       yych = *++YYCURSOR;
+       if (yych <= '/') goto yy13;
+       if (yych <= '1') goto yy91;
+       if (yych <= '2') goto yy92;
+       goto yy13;
  yy91:
        YYDEBUG(91, *YYCURSOR);
        yych = *++YYCURSOR;
@@@ -935,30 -887,40 +889,40 @@@ yy93
        if (yych <= '/') goto yy13;
        if (yych >= ':') goto yy13;
        YYDEBUG(95, *YYCURSOR);
-       ++YYCURSOR;
+       yych = *++YYCURSOR;
+       if (yych <= '/') goto yy13;
+       if (yych >= '6') goto yy13;
        YYDEBUG(96, *YYCURSOR);
- #line 286 "parse_iso_intervals.re"
+       yych = *++YYCURSOR;
+       if (yych <= '/') goto yy13;
+       if (yych >= ':') goto yy13;
+       YYDEBUG(97, *YYCURSOR);
+       yych = *++YYCURSOR;
+       if (yych == 'Z') goto yy83;
+       goto yy13;
+ yy98:
+       YYDEBUG(98, *YYCURSOR);
+       ++YYCURSOR;
+       if (YYLIMIT <= YYCURSOR) YYFILL(1);
+       yych = *YYCURSOR;
+       YYDEBUG(99, *YYCURSOR);
+       if (yych <= '/') goto yy100;
+       if (yych <= '9') goto yy98;
+ yy100:
+       YYDEBUG(100, *YYCURSOR);
 -#line 207 "parse_iso_intervals.re"
++#line 209 "parse_iso_intervals.re"
        {
-               DEBUG_OUTPUT("combinedrep");
+               DEBUG_OUTPUT("recurrences");
                TIMELIB_INIT;
-               s->period->y = timelib_get_unsigned_nr(&ptr, 4);
-               ptr++;
-               s->period->m = timelib_get_unsigned_nr(&ptr, 2);
-               ptr++;
-               s->period->d = timelib_get_unsigned_nr(&ptr, 2);
-               ptr++;
-               s->period->h = timelib_get_unsigned_nr(&ptr, 2);
                ptr++;
-               s->period->i = timelib_get_unsigned_nr(&ptr, 2);
-               ptr++;
-               s->period->s = timelib_get_unsigned_nr(&ptr, 2);
-               s->have_period = 1;
 -              s->recurrences = timelib_get_unsigned_nr((char **) &ptr, 9);
++              s->recurrences = timelib_get_unsigned_nr(&ptr, 9);
                TIMELIB_DEINIT;
+               s->have_recurrences = 1;
                return TIMELIB_PERIOD;
        }
- #line 960 "<stdout>"
 -#line 922 "<stdout>"
++#line 924 "<stdout>"
  }
 -#line 319 "parse_iso_intervals.re"
 +#line 321 "parse_iso_intervals.re"
  
  }
  #ifdef PHP_WIN32
  
  #define YYMAXFILL 20
  
 -void timelib_strtointerval(char *s, size_t len,
 +void timelib_strtointerval(const char *s, size_t len,
                             timelib_time **begin, timelib_time **end,
                                                   timelib_rel_time **period, int *recurrences,
                                                   timelib_error_container **errors)