From 08c5797ccb39ace8d53a43d3c706a0fb80415daa Mon Sep 17 00:00:00 2001 From: Anuj Mittal Date: Tue, 3 Apr 2018 17:50:12 +0800 Subject: php: move patches to a single directory Having two directories with version numbers just leads to unnecessary churn everytime there's a version update. We can have all patches in one single directory and differentiate b/w specific version by prefix php5-/php7- Signed-off-by: Anuj Mittal Signed-off-by: Armin Kuster --- .../php/php-5.6.33/0001-Add-lpthread-to-link.patch | 38 - .../change-AC_TRY_RUN-to-AC_TRY_LINK.patch | 56 - .../php-7.1.9/0001-Specify-tag-with-libtool.patch | 62 - .../php/php-7.1.9/CVE-2017-16642.patch | 5241 -------------------- .../php/php-7.1.9/CVE-2018-5711.patch | 56 - .../change-AC_TRY_RUN-to-AC_TRY_LINK.patch | 56 - .../php/php/0001-Add-lpthread-to-link.patch | 38 + .../php/php/0001-Specify-tag-with-libtool.patch | 62 + .../recipes-devtools/php/php/CVE-2017-16642.patch | 5241 ++++++++++++++++++++ .../recipes-devtools/php/php/CVE-2018-5711.patch | 56 + .../php/php/change-AC_TRY_RUN-to-AC_TRY_LINK.patch | 56 + 11 files changed, 5453 insertions(+), 5509 deletions(-) delete mode 100644 meta-oe/recipes-devtools/php/php-5.6.33/0001-Add-lpthread-to-link.patch delete mode 100644 meta-oe/recipes-devtools/php/php-5.6.33/change-AC_TRY_RUN-to-AC_TRY_LINK.patch delete mode 100644 meta-oe/recipes-devtools/php/php-7.1.9/0001-Specify-tag-with-libtool.patch delete mode 100644 meta-oe/recipes-devtools/php/php-7.1.9/CVE-2017-16642.patch delete mode 100644 meta-oe/recipes-devtools/php/php-7.1.9/CVE-2018-5711.patch delete mode 100644 meta-oe/recipes-devtools/php/php-7.1.9/change-AC_TRY_RUN-to-AC_TRY_LINK.patch create mode 100644 meta-oe/recipes-devtools/php/php/0001-Add-lpthread-to-link.patch create mode 100644 meta-oe/recipes-devtools/php/php/0001-Specify-tag-with-libtool.patch create mode 100644 meta-oe/recipes-devtools/php/php/CVE-2017-16642.patch create mode 100644 meta-oe/recipes-devtools/php/php/CVE-2018-5711.patch create mode 100644 meta-oe/recipes-devtools/php/php/change-AC_TRY_RUN-to-AC_TRY_LINK.patch (limited to 'meta-oe/recipes-devtools') diff --git a/meta-oe/recipes-devtools/php/php-5.6.33/0001-Add-lpthread-to-link.patch b/meta-oe/recipes-devtools/php/php-5.6.33/0001-Add-lpthread-to-link.patch deleted file mode 100644 index f70e550ff6..0000000000 --- a/meta-oe/recipes-devtools/php/php-5.6.33/0001-Add-lpthread-to-link.patch +++ /dev/null @@ -1,38 +0,0 @@ -From ed0a954983d50267c2fc0bc13aba929ea0cad971 Mon Sep 17 00:00:00 2001 -From: Dengke Du -Date: Tue, 2 May 2017 06:34:40 +0000 -Subject: [PATCH] Add -lpthread to link - -When building the php-5.6.26, the following errors occured: - - ld: TSRM/.libs/TSRM.o: undefined reference to symbol - 'pthread_sigmask@@GLIBC_2.2.5' - - error adding symbols: DSO missing from command line - -This is because no pthread to link, so we should add it. - -Upstream-Status: Pending - -Signed-off-by: Dengke Du ---- - configure.in | 3 ++- - 1 file changed, 2 insertions(+), 1 deletion(-) - -diff --git a/configure.in b/configure.in -index a467dff1..9afef652 100644 ---- a/configure.in -+++ b/configure.in -@@ -1058,7 +1058,8 @@ case $php_sapi_module in - ;; - esac - --EXTRA_LIBS="$EXTRA_LIBS $DLIBS $LIBS" -+PTHREAD_LIBS="-lpthread" -+EXTRA_LIBS="$EXTRA_LIBS $DLIBS $LIBS $PTHREAD_LIBS" - - dnl this has to be here to prevent the openssl crypt() from - dnl overriding the system provided crypt(). --- -2.11.0 - diff --git a/meta-oe/recipes-devtools/php/php-5.6.33/change-AC_TRY_RUN-to-AC_TRY_LINK.patch b/meta-oe/recipes-devtools/php/php-5.6.33/change-AC_TRY_RUN-to-AC_TRY_LINK.patch deleted file mode 100644 index 39c334f39d..0000000000 --- a/meta-oe/recipes-devtools/php/php-5.6.33/change-AC_TRY_RUN-to-AC_TRY_LINK.patch +++ /dev/null @@ -1,56 +0,0 @@ -[PATCH] config.m4: change AC_TRY_RUN to AC_TRY_LINK - -Upstream-Status: Pending - -AC_TRY_RUN is not suitable for cross-compile - -Signed-off-by: Roy Li ---- - ext/fileinfo/config.m4 | 31 ++++++------------------------- - 1 file changed, 6 insertions(+), 25 deletions(-) - -diff --git a/ext/fileinfo/config.m4 b/ext/fileinfo/config.m4 -index 7e98d62..8a8ea0e 100644 ---- a/ext/fileinfo/config.m4 -+++ b/ext/fileinfo/config.m4 -@@ -14,31 +14,12 @@ if test "$PHP_FILEINFO" != "no"; then - libmagic/readcdf.c libmagic/softmagic.c" - - AC_MSG_CHECKING([for strcasestr]) -- AC_TRY_RUN([ --#include --#include --#include -- --int main(void) --{ -- char *s0, *s1, *ret; -- -- s0 = (char *) malloc(42); -- s1 = (char *) malloc(8); -- -- memset(s0, 'X', 42); -- s0[24] = 'Y'; -- s0[26] = 'Z'; -- s0[41] = '\0'; -- memset(s1, 'x', 8); -- s1[0] = 'y'; -- s1[2] = 'Z'; -- s1[7] = '\0'; -- -- ret = strcasestr(s0, s1); -- -- return !(NULL != ret); --} -+ AC_TRY_COMPILE([ -+ #include -+ #include -+ #include -+ ],[ -+ strcasestr(NULL, NULL); - ],[ - dnl using the platform implementation - AC_MSG_RESULT(yes) --- -1.9.1 - diff --git a/meta-oe/recipes-devtools/php/php-7.1.9/0001-Specify-tag-with-libtool.patch b/meta-oe/recipes-devtools/php/php-7.1.9/0001-Specify-tag-with-libtool.patch deleted file mode 100644 index 18b4937dbd..0000000000 --- a/meta-oe/recipes-devtools/php/php-7.1.9/0001-Specify-tag-with-libtool.patch +++ /dev/null @@ -1,62 +0,0 @@ -From 5c84b039e97abd88f6a18da0e6d27383c00fea92 Mon Sep 17 00:00:00 2001 -From: Khem Raj -Date: Wed, 26 Jul 2017 23:06:56 -0700 -Subject: [PATCH] Specify --tag with libtool - -This helps in compiling with external toolchains -with -fPIE appended to CC e.g. via hardening flags - -Signed-off-by: Khem Raj ---- - acinclude.m4 | 8 ++++---- - configure.in | 4 ++-- - 2 files changed, 6 insertions(+), 6 deletions(-) - -diff --git a/acinclude.m4 b/acinclude.m4 -index a114a98..1cc7a26 100644 ---- a/acinclude.m4 -+++ b/acinclude.m4 -@@ -806,10 +806,10 @@ dnl - dnl PHP_BUILD_PROGRAM - dnl - AC_DEFUN([PHP_BUILD_PROGRAM],[ -- php_c_pre='$(LIBTOOL) --mode=compile $(CC)' -+ php_c_pre='$(LIBTOOL) --tag=CC --mode=compile $(CC)' - php_c_meta='$(COMMON_FLAGS) $(CFLAGS_CLEAN) $(EXTRA_CFLAGS)' - php_c_post= -- php_cxx_pre='$(LIBTOOL) --mode=compile $(CXX)' -+ php_cxx_pre='$(LIBTOOL) --tag=CXX --mode=compile $(CXX)' - php_cxx_meta='$(COMMON_FLAGS) $(CXXFLAGS_CLEAN) $(EXTRA_CXXFLAGS)' - php_cxx_post= - php_lo=lo -@@ -819,10 +819,10 @@ AC_DEFUN([PHP_BUILD_PROGRAM],[ - no) pic_setting='-prefer-non-pic';; - esac - -- shared_c_pre='$(LIBTOOL) --mode=compile $(CC)' -+ shared_c_pre='$(LIBTOOL) --tag=CC --mode=compile $(CC)' - shared_c_meta='$(COMMON_FLAGS) $(CFLAGS_CLEAN) $(EXTRA_CFLAGS) '$pic_setting - shared_c_post= -- shared_cxx_pre='$(LIBTOOL) --mode=compile $(CXX)' -+ shared_cxx_pre='$(LIBTOOL) --tag=CXX --mode=compile $(CXX)' - shared_cxx_meta='$(COMMON_FLAGS) $(CXXFLAGS_CLEAN) $(EXTRA_CXXFLAGS) '$pic_setting - shared_cxx_post= - shared_lo=lo -diff --git a/configure.in b/configure.in -index 7d65b63..7221af9 100644 ---- a/configure.in -+++ b/configure.in -@@ -1431,8 +1431,8 @@ PHP_SET_LIBTOOL_VARIABLE([--silent]) - dnl libtool 1.4.3 needs this. - PHP_SET_LIBTOOL_VARIABLE([--preserve-dup-deps]) - --test -z "$PHP_COMPILE" && PHP_COMPILE='$(LIBTOOL) --mode=compile $(COMPILE) -c $<' --test -z "$CXX_PHP_COMPILE" && CXX_PHP_COMPILE='$(LIBTOOL) --mode=compile $(CXX_COMPILE) -c $<' -+test -z "$PHP_COMPILE" && PHP_COMPILE='$(LIBTOOL) --tag=CC --mode=compile $(COMPILE) -c $<' -+test -z "$CXX_PHP_COMPILE" && CXX_PHP_COMPILE='$(LIBTOOL) --tag=CXX --mode=compile $(CXX_COMPILE) -c $<' - SHARED_LIBTOOL='$(LIBTOOL)' - - CC=$old_CC --- -2.13.3 - diff --git a/meta-oe/recipes-devtools/php/php-7.1.9/CVE-2017-16642.patch b/meta-oe/recipes-devtools/php/php-7.1.9/CVE-2017-16642.patch deleted file mode 100644 index 41d2a0f612..0000000000 --- a/meta-oe/recipes-devtools/php/php-7.1.9/CVE-2017-16642.patch +++ /dev/null @@ -1,5241 +0,0 @@ -From f2f90767311355cafabff604a7a857ca60ee3f01 Mon Sep 17 00:00:00 2001 -From: Li Zhou -Date: Wed, 22 Nov 2017 21:14:59 -0800 -Subject: [PATCH] Fixed bug #75055 Out-Of-Bounds Read in timelib_meridian() - -Upstream-Status: Backport -CVE: CVE-2017-16642 -Signed-off-by: Li Zhou ---- - ext/date/lib/parse_date.c | 1544 +++++++++++++++++++++---------------- - ext/date/lib/parse_date.re | 4 +- - ext/date/tests/bug53437_var3.phpt | 2 +- - ext/wddx/tests/bug75055.phpt | 20 + - ext/wddx/tests/bug75055.wddx | 13 + - 5 files changed, 911 insertions(+), 672 deletions(-) - create mode 100644 ext/wddx/tests/bug75055.phpt - create mode 100644 ext/wddx/tests/bug75055.wddx - -diff --git a/ext/date/lib/parse_date.c b/ext/date/lib/parse_date.c -index f929619..6b11418 100644 ---- a/ext/date/lib/parse_date.c -+++ b/ext/date/lib/parse_date.c -@@ -1,4 +1,5 @@ --/* Generated by re2c 0.15.3 on Tue Jul 4 21:15:17 2017 */ -+/* Generated by re2c 0.15.3 on Wed Nov 22 21:14:47 2017 */ -+#line 1 "ext/date/lib/parse_date.re" - /* - * The MIT License (MIT) - * -@@ -837,9 +838,11 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) - std: - s->tok = cursor; - s->len = 0; -+#line 965 "ext/date/lib/parse_date.re" - - - -+#line 846 "ext/date/lib/parse_date.c" - { - YYCTYPE yych; - unsigned int yyaccept = 0; -@@ -962,18 +965,19 @@ yy2: - } else { - if (yych <= '@') goto yy3; - if (yych <= 'D') goto yy165; -- goto yy1521; -+ goto yy1523; - } - } else { - if (yych <= 'd') { - if (yych <= 'Z') goto yy165; - if (yych >= 'a') goto yy170; - } else { -- if (yych <= 'e') goto yy1530; -+ if (yych <= 'e') goto yy1532; - if (yych <= 'z') goto yy170; - } - } - yy3: -+#line 1673 "ext/date/lib/parse_date.re" - { - int tz_not_found; - DEBUG_OUTPUT("tzcorrection | tz"); -@@ -986,6 +990,7 @@ yy3: - TIMELIB_DEINIT; - return TIMELIB_TIMEZONE; - } -+#line 994 "ext/date/lib/parse_date.c" - yy4: - yych = *++YYCURSOR; - if (yych <= 'E') { -@@ -995,7 +1000,7 @@ yy4: - } else { - if (yych <= '@') goto yy3; - if (yych <= 'D') goto yy165; -- goto yy1521; -+ goto yy1523; - } - } else { - if (yych <= 'd') { -@@ -1003,7 +1008,7 @@ yy4: - if (yych <= '`') goto yy3; - goto yy165; - } else { -- if (yych <= 'e') goto yy1521; -+ if (yych <= 'e') goto yy1523; - if (yych <= 'z') goto yy165; - goto yy3; - } -@@ -1017,12 +1022,12 @@ yy5: - goto yy165; - } else { - if (yych <= 'H') { -- if (yych <= 'E') goto yy1492; -+ if (yych <= 'E') goto yy1494; - goto yy165; - } else { -- if (yych <= 'I') goto yy1493; -+ if (yych <= 'I') goto yy1495; - if (yych <= 'N') goto yy165; -- goto yy1491; -+ goto yy1493; - } - } - } else { -@@ -1031,15 +1036,15 @@ yy5: - if (yych <= 'Z') goto yy165; - goto yy3; - } else { -- if (yych == 'e') goto yy1508; -+ if (yych == 'e') goto yy1510; - goto yy170; - } - } else { - if (yych <= 'n') { -- if (yych <= 'i') goto yy1509; -+ if (yych <= 'i') goto yy1511; - goto yy170; - } else { -- if (yych <= 'o') goto yy1507; -+ if (yych <= 'o') goto yy1509; - if (yych <= 'z') goto yy170; - goto yy3; - } -@@ -1054,12 +1059,12 @@ yy6: - goto yy165; - } else { - if (yych <= 'H') { -- if (yych <= 'E') goto yy1492; -+ if (yych <= 'E') goto yy1494; - goto yy165; - } else { -- if (yych <= 'I') goto yy1493; -+ if (yych <= 'I') goto yy1495; - if (yych <= 'N') goto yy165; -- goto yy1491; -+ goto yy1493; - } - } - } else { -@@ -1068,15 +1073,15 @@ yy6: - if (yych <= 'Z') goto yy165; - goto yy3; - } else { -- if (yych == 'e') goto yy1492; -+ if (yych == 'e') goto yy1494; - goto yy165; - } - } else { - if (yych <= 'n') { -- if (yych <= 'i') goto yy1493; -+ if (yych <= 'i') goto yy1495; - goto yy165; - } else { -- if (yych <= 'o') goto yy1491; -+ if (yych <= 'o') goto yy1493; - if (yych <= 'z') goto yy165; - goto yy3; - } -@@ -1088,24 +1093,24 @@ yy7: - if (yych <= 'A') { - if (yych == ')') goto yy164; - if (yych <= '@') goto yy3; -- goto yy1461; -+ goto yy1463; - } else { -- if (yych == 'I') goto yy1462; -+ if (yych == 'I') goto yy1464; - if (yych <= 'N') goto yy165; -- goto yy1463; -+ goto yy1465; - } - } else { - if (yych <= 'h') { - if (yych <= 'Z') goto yy165; - if (yych <= '`') goto yy3; -- if (yych <= 'a') goto yy1476; -+ if (yych <= 'a') goto yy1478; - goto yy170; - } else { - if (yych <= 'n') { -- if (yych <= 'i') goto yy1477; -+ if (yych <= 'i') goto yy1479; - goto yy170; - } else { -- if (yych <= 'o') goto yy1478; -+ if (yych <= 'o') goto yy1480; - if (yych <= 'z') goto yy170; - goto yy3; - } -@@ -1117,24 +1122,24 @@ yy8: - if (yych <= 'A') { - if (yych == ')') goto yy164; - if (yych <= '@') goto yy3; -- goto yy1461; -+ goto yy1463; - } else { -- if (yych == 'I') goto yy1462; -+ if (yych == 'I') goto yy1464; - if (yych <= 'N') goto yy165; -- goto yy1463; -+ goto yy1465; - } - } else { - if (yych <= 'h') { - if (yych <= 'Z') goto yy165; - if (yych <= '`') goto yy3; -- if (yych <= 'a') goto yy1461; -+ if (yych <= 'a') goto yy1463; - goto yy165; - } else { - if (yych <= 'n') { -- if (yych <= 'i') goto yy1462; -+ if (yych <= 'i') goto yy1464; - goto yy165; - } else { -- if (yych <= 'o') goto yy1463; -+ if (yych <= 'o') goto yy1465; - if (yych <= 'z') goto yy165; - goto yy3; - } -@@ -1146,15 +1151,15 @@ yy9: - switch (yych) { - case ')': goto yy164; - case '0': -- case '1': goto yy1391; -- case '2': goto yy1392; -+ case '1': goto yy1393; -+ case '2': goto yy1394; - case '3': - case '4': - case '5': - case '6': - case '7': - case '8': -- case '9': goto yy1393; -+ case '9': goto yy1395; - case 'A': - case 'B': - case 'C': -@@ -1176,11 +1181,11 @@ yy9: - case 'X': - case 'Y': - case 'Z': goto yy165; -- case 'E': goto yy1386; -- case 'H': goto yy1387; -- case 'O': goto yy1388; -- case 'U': goto yy1389; -- case 'W': goto yy1390; -+ case 'E': goto yy1388; -+ case 'H': goto yy1389; -+ case 'O': goto yy1390; -+ case 'U': goto yy1391; -+ case 'W': goto yy1392; - case 'a': - case 'b': - case 'c': -@@ -1202,11 +1207,11 @@ yy9: - case 'x': - case 'y': - case 'z': goto yy170; -- case 'e': goto yy1429; -- case 'h': goto yy1430; -- case 'o': goto yy1431; -- case 'u': goto yy1432; -- case 'w': goto yy1433; -+ case 'e': goto yy1431; -+ case 'h': goto yy1432; -+ case 'o': goto yy1433; -+ case 'u': goto yy1434; -+ case 'w': goto yy1435; - default: goto yy3; - } - yy10: -@@ -1215,15 +1220,15 @@ yy10: - switch (yych) { - case ')': goto yy164; - case '0': -- case '1': goto yy1391; -- case '2': goto yy1392; -+ case '1': goto yy1393; -+ case '2': goto yy1394; - case '3': - case '4': - case '5': - case '6': - case '7': - case '8': -- case '9': goto yy1393; -+ case '9': goto yy1395; - case 'A': - case 'B': - case 'C': -@@ -1267,28 +1272,30 @@ yy10: - case 'y': - case 'z': goto yy165; - case 'E': -- case 'e': goto yy1386; -+ case 'e': goto yy1388; - case 'H': -- case 'h': goto yy1387; -+ case 'h': goto yy1389; - case 'O': -- case 'o': goto yy1388; -+ case 'o': goto yy1390; - case 'U': -- case 'u': goto yy1389; -+ case 'u': goto yy1391; - case 'W': -- case 'w': goto yy1390; -+ case 'w': goto yy1392; - default: goto yy3; - } - yy11: - yyaccept = 1; - yych = *(YYMARKER = ++YYCURSOR); -- if (yych == '-') goto yy1374; -+ if (yych == '-') goto yy1376; - if (yych <= '/') goto yy12; -- if (yych <= '9') goto yy1375; -+ if (yych <= '9') goto yy1377; - yy12: -+#line 1768 "ext/date/lib/parse_date.re" - { - add_error(s, "Unexpected character"); - goto std; - } -+#line 1299 "ext/date/lib/parse_date.c" - yy13: - yych = *++YYCURSOR; - if (yych <= 'R') { -@@ -1299,16 +1306,16 @@ yy13: - } else { - if (yych <= '@') goto yy3; - if (yych <= 'D') goto yy165; -- goto yy1310; -+ goto yy1311; - } - } else { - if (yych <= 'N') { -- if (yych == 'I') goto yy1311; -+ if (yych == 'I') goto yy1312; - goto yy165; - } else { -- if (yych <= 'O') goto yy1312; -+ if (yych <= 'O') goto yy1313; - if (yych <= 'Q') goto yy165; -- goto yy1313; -+ goto yy1314; - } - } - } else { -@@ -1318,16 +1325,16 @@ yy13: - if (yych <= '`') goto yy3; - goto yy170; - } else { -- if (yych <= 'e') goto yy1351; -+ if (yych <= 'e') goto yy1353; - if (yych <= 'h') goto yy170; -- goto yy1352; -+ goto yy1354; - } - } else { - if (yych <= 'q') { -- if (yych == 'o') goto yy1353; -+ if (yych == 'o') goto yy1355; - goto yy170; - } else { -- if (yych <= 'r') goto yy1354; -+ if (yych <= 'r') goto yy1356; - if (yych <= 'z') goto yy170; - goto yy3; - } -@@ -1343,16 +1350,16 @@ yy14: - } else { - if (yych <= '@') goto yy3; - if (yych <= 'D') goto yy165; -- goto yy1310; -+ goto yy1311; - } - } else { - if (yych <= 'N') { -- if (yych == 'I') goto yy1311; -+ if (yych == 'I') goto yy1312; - goto yy165; - } else { -- if (yych <= 'O') goto yy1312; -+ if (yych <= 'O') goto yy1313; - if (yych <= 'Q') goto yy165; -- goto yy1313; -+ goto yy1314; - } - } - } else { -@@ -1362,16 +1369,16 @@ yy14: - if (yych <= '`') goto yy3; - goto yy165; - } else { -- if (yych <= 'e') goto yy1310; -+ if (yych <= 'e') goto yy1311; - if (yych <= 'h') goto yy165; -- goto yy1311; -+ goto yy1312; - } - } else { - if (yych <= 'q') { -- if (yych == 'o') goto yy1312; -+ if (yych == 'o') goto yy1313; - goto yy165; - } else { -- if (yych <= 'r') goto yy1313; -+ if (yych <= 'r') goto yy1314; - if (yych <= 'z') goto yy165; - goto yy3; - } -@@ -1382,13 +1389,13 @@ yy15: - if (yych <= 'A') { - if (yych == ')') goto yy164; - if (yych <= '@') goto yy3; -- goto yy1296; -+ goto yy1297; - } else { - if (yych <= '`') { - if (yych <= 'Z') goto yy165; - goto yy3; - } else { -- if (yych <= 'a') goto yy1307; -+ if (yych <= 'a') goto yy1308; - if (yych <= 'z') goto yy170; - goto yy3; - } -@@ -1398,13 +1405,13 @@ yy16: - if (yych <= 'A') { - if (yych == ')') goto yy164; - if (yych <= '@') goto yy3; -- goto yy1296; -+ goto yy1297; - } else { - if (yych <= '`') { - if (yych <= 'Z') goto yy165; - goto yy3; - } else { -- if (yych <= 'a') goto yy1296; -+ if (yych <= 'a') goto yy1297; - if (yych <= 'z') goto yy165; - goto yy3; - } -@@ -1420,7 +1427,7 @@ yy17: - if (yych <= 'Z') goto yy165; - goto yy3; - } else { -- if (yych <= 'a') goto yy1293; -+ if (yych <= 'a') goto yy1294; - if (yych <= 'z') goto yy170; - goto yy3; - } -@@ -2495,18 +2502,22 @@ yy48: - if (yych <= '/') goto yy49; - if (yych <= '9') goto yy54; - yy49: -+#line 1757 "ext/date/lib/parse_date.re" - { - goto std; - } -+#line 2510 "ext/date/lib/parse_date.c" - yy50: - yych = *++YYCURSOR; - goto yy49; - yy51: - ++YYCURSOR; -+#line 1762 "ext/date/lib/parse_date.re" - { - s->pos = cursor; s->line++; - goto std; - } -+#line 2521 "ext/date/lib/parse_date.c" - yy53: - yych = *++YYCURSOR; - goto yy12; -@@ -2693,23 +2704,23 @@ yy56: - } - } else { - if (yyaccept == 28) { -- goto yy1377; -+ goto yy1379; - } else { -- goto yy1415; -+ goto yy1417; - } - } - } else { - if (yyaccept <= 31) { - if (yyaccept == 30) { -- goto yy1418; -+ goto yy1420; - } else { -- goto yy1498; -+ goto yy1500; - } - } else { - if (yyaccept == 32) { -- goto yy1506; -+ goto yy1508; - } else { -- goto yy1529; -+ goto yy1531; - } - } - } -@@ -2920,6 +2931,7 @@ yy73: - if (yych == 'S') goto yy75; - if (yych == 's') goto yy75; - yy74: -+#line 1741 "ext/date/lib/parse_date.re" - { - timelib_ull i; - DEBUG_OUTPUT("relative"); -@@ -2934,6 +2946,7 @@ yy74: - TIMELIB_DEINIT; - return TIMELIB_RELATIVE; - } -+#line 2950 "ext/date/lib/parse_date.c" - yy75: - yych = *++YYCURSOR; - if (yych == 'D') goto yy76; -@@ -3719,6 +3732,7 @@ yy190: - } - } - yy191: -+#line 1604 "ext/date/lib/parse_date.re" - { - const timelib_relunit* relunit; - DEBUG_OUTPUT("daytext"); -@@ -3735,6 +3749,7 @@ yy191: - TIMELIB_DEINIT; - return TIMELIB_WEEKDAY; - } -+#line 3753 "ext/date/lib/parse_date.c" - yy192: - yych = *++YYCURSOR; - if (yych <= 'K') { -@@ -4227,6 +4242,7 @@ yy217: - } - } - yy218: -+#line 1663 "ext/date/lib/parse_date.re" - { - DEBUG_OUTPUT("monthtext"); - TIMELIB_INIT; -@@ -4235,6 +4251,7 @@ yy218: - TIMELIB_DEINIT; - return TIMELIB_DATE_TEXT; - } -+#line 4255 "ext/date/lib/parse_date.c" - yy219: - ++YYCURSOR; - if ((YYLIMIT - YYCURSOR) < 23) YYFILL(23); -@@ -4469,6 +4486,7 @@ yy231: - if (yych == 't') goto yy319; - goto yy237; - yy232: -+#line 1409 "ext/date/lib/parse_date.re" - { - int length = 0; - DEBUG_OUTPUT("datetextual | datenoyear"); -@@ -4481,6 +4499,7 @@ yy232: - TIMELIB_DEINIT; - return TIMELIB_DATE_TEXT; - } -+#line 4503 "ext/date/lib/parse_date.c" - yy233: - yyaccept = 6; - yych = *(YYMARKER = ++YYCURSOR); -@@ -4593,6 +4612,7 @@ yy245: - if (yych <= ':') goto yy248; - } - yy246: -+#line 1711 "ext/date/lib/parse_date.re" - { - int tz_not_found; - DEBUG_OUTPUT("dateshortwithtimeshort | dateshortwithtimelong | dateshortwithtimelongtz"); -@@ -4621,6 +4641,7 @@ yy246: - TIMELIB_DEINIT; - return TIMELIB_SHORTDATE_WITH_TIME; - } -+#line 4645 "ext/date/lib/parse_date.c" - yy247: - yyaccept = 7; - yych = *(YYMARKER = ++YYCURSOR); -@@ -4893,6 +4914,7 @@ yy269: - } - yy270: - ++YYCURSOR; -+#line 1687 "ext/date/lib/parse_date.re" - { - DEBUG_OUTPUT("dateshortwithtimeshort12 | dateshortwithtimelong12"); - TIMELIB_INIT; -@@ -4915,6 +4937,7 @@ yy270: - TIMELIB_DEINIT; - return TIMELIB_SHORTDATE_WITH_TIME; - } -+#line 4941 "ext/date/lib/parse_date.c" - yy272: - yych = *++YYCURSOR; - if (yych <= 0x1F) { -@@ -5470,6 +5493,7 @@ yy320: - if (yych <= '/') goto yy56; - if (yych >= ':') goto yy56; - ++YYCURSOR; -+#line 1381 "ext/date/lib/parse_date.re" - { - int length = 0; - DEBUG_OUTPUT("datenoday"); -@@ -5482,6 +5506,7 @@ yy320: - TIMELIB_DEINIT; - return TIMELIB_DATE_NO_DAY; - } -+#line 5510 "ext/date/lib/parse_date.c" - yy323: - yych = *++YYCURSOR; - if (yych <= '9') { -@@ -5704,6 +5729,7 @@ yy327: - if ((yych = *YYCURSOR) <= '/') goto yy330; - if (yych <= '9') goto yy331; - yy330: -+#line 1525 "ext/date/lib/parse_date.re" - { - int length = 0; - DEBUG_OUTPUT("pgtextshort"); -@@ -5716,6 +5742,7 @@ yy330: - TIMELIB_DEINIT; - return TIMELIB_PG_TEXT; - } -+#line 5746 "ext/date/lib/parse_date.c" - yy331: - yych = *++YYCURSOR; - if (yych <= '/') goto yy330; -@@ -6270,6 +6297,7 @@ yy356: - if (yych <= 'z') goto yy167; - } - yy357: -+#line 1583 "ext/date/lib/parse_date.re" - { - DEBUG_OUTPUT("ago"); - TIMELIB_INIT; -@@ -6289,6 +6317,7 @@ yy357: - TIMELIB_DEINIT; - return TIMELIB_AGO; - } -+#line 6321 "ext/date/lib/parse_date.c" - yy358: - yyaccept = 5; - yych = *(YYMARKER = ++YYCURSOR); -@@ -8009,6 +8038,7 @@ yy417: - yy418: - ++YYCURSOR; - yy419: -+#line 1286 "ext/date/lib/parse_date.re" - { - DEBUG_OUTPUT("iso8601date4 | iso8601date2 | iso8601dateslash | dateslash"); - TIMELIB_INIT; -@@ -8019,6 +8049,7 @@ yy419: - TIMELIB_DEINIT; - return TIMELIB_ISO_DATE; - } -+#line 8053 "ext/date/lib/parse_date.c" - yy420: - yyaccept = 0; - yych = *(YYMARKER = ++YYCURSOR); -@@ -8641,6 +8672,7 @@ yy439: - } - } - yy440: -+#line 1423 "ext/date/lib/parse_date.re" - { - DEBUG_OUTPUT("datenoyearrev"); - TIMELIB_INIT; -@@ -8651,6 +8683,7 @@ yy440: - TIMELIB_DEINIT; - return TIMELIB_DATE_TEXT; - } -+#line 8687 "ext/date/lib/parse_date.c" - yy441: - yyaccept = 9; - yych = *(YYMARKER = ++YYCURSOR); -@@ -8778,6 +8811,7 @@ yy450: - } - yy452: - ++YYCURSOR; -+#line 1141 "ext/date/lib/parse_date.re" - { - DEBUG_OUTPUT("timetiny12 | timeshort12 | timelong12"); - TIMELIB_INIT; -@@ -8793,6 +8827,7 @@ yy452: - TIMELIB_DEINIT; - return TIMELIB_TIME12; - } -+#line 8831 "ext/date/lib/parse_date.c" - yy454: - yyaccept = 10; - yych = *(YYMARKER = ++YYCURSOR); -@@ -8803,6 +8838,7 @@ yy454: - if (yych <= ':') goto yy457; - } - yy455: -+#line 1178 "ext/date/lib/parse_date.re" - { - int tz_not_found; - DEBUG_OUTPUT("timeshort24 | timelong24 | iso8601long"); -@@ -8827,6 +8863,7 @@ yy455: - TIMELIB_DEINIT; - return TIMELIB_TIME24_WITH_ZONE; - } -+#line 8867 "ext/date/lib/parse_date.c" - yy456: - yyaccept = 10; - yych = *(YYMARKER = ++YYCURSOR); -@@ -9103,6 +9140,7 @@ yy485: - } - yy487: - ++YYCURSOR; -+#line 1158 "ext/date/lib/parse_date.re" - { - DEBUG_OUTPUT("mssqltime"); - TIMELIB_INIT; -@@ -9121,6 +9159,7 @@ yy487: - TIMELIB_DEINIT; - return TIMELIB_TIME24_WITH_ZONE; - } -+#line 9163 "ext/date/lib/parse_date.c" - yy489: - yyaccept = 10; - YYMARKER = ++YYCURSOR; -@@ -9215,6 +9254,7 @@ yy498: - if ((yych = *YYCURSOR) <= '/') goto yy499; - if (yych <= '9') goto yy505; - yy499: -+#line 1340 "ext/date/lib/parse_date.re" - { - int length = 0; - DEBUG_OUTPUT("datefull"); -@@ -9228,6 +9268,7 @@ yy499: - TIMELIB_DEINIT; - return TIMELIB_DATE_FULL; - } -+#line 9272 "ext/date/lib/parse_date.c" - yy500: - yych = *++YYCURSOR; - if (yych == 'M') goto yy501; -@@ -9891,6 +9932,7 @@ yy569: - if (yych <= '/') goto yy56; - if (yych >= ':') goto yy56; - ++YYCURSOR; -+#line 1355 "ext/date/lib/parse_date.re" - { - DEBUG_OUTPUT("pointed date YYYY"); - TIMELIB_INIT; -@@ -9901,6 +9943,7 @@ yy569: - TIMELIB_DEINIT; - return TIMELIB_DATE_FULL_POINTED; - } -+#line 9947 "ext/date/lib/parse_date.c" - yy572: - yyaccept = 10; - yych = *(YYMARKER = ++YYCURSOR); -@@ -9931,6 +9974,7 @@ yy575: - if (yych <= '/') goto yy576; - if (yych <= '9') goto yy569; - yy576: -+#line 1367 "ext/date/lib/parse_date.re" - { - int length = 0; - DEBUG_OUTPUT("pointed date YY"); -@@ -9943,6 +9987,7 @@ yy576: - TIMELIB_DEINIT; - return TIMELIB_DATE_FULL_POINTED; - } -+#line 9991 "ext/date/lib/parse_date.c" - yy577: - yyaccept = 10; - yych = *(YYMARKER = ++YYCURSOR); -@@ -10538,6 +10583,7 @@ yy620: - } - } - yy621: -+#line 1326 "ext/date/lib/parse_date.re" - { - int length = 0; - DEBUG_OUTPUT("gnudateshort"); -@@ -10550,6 +10596,7 @@ yy621: - TIMELIB_DEINIT; - return TIMELIB_ISO_DATE; - } -+#line 10600 "ext/date/lib/parse_date.c" - yy622: - yyaccept = 12; - yych = *(YYMARKER = ++YYCURSOR); -@@ -10645,6 +10692,7 @@ yy630: - } - } - yy631: -+#line 1270 "ext/date/lib/parse_date.re" - { - int length = 0; - DEBUG_OUTPUT("americanshort | american"); -@@ -10659,6 +10707,7 @@ yy631: - TIMELIB_DEINIT; - return TIMELIB_AMERICAN; - } -+#line 10711 "ext/date/lib/parse_date.c" - yy632: - yyaccept = 13; - yych = *(YYMARKER = ++YYCURSOR); -@@ -10857,6 +10906,7 @@ yy664: - if (yych <= '9') goto yy667; - if (yych <= ':') goto yy668; - yy665: -+#line 1553 "ext/date/lib/parse_date.re" - { - int tz_not_found; - DEBUG_OUTPUT("clf"); -@@ -10876,6 +10926,7 @@ yy665: - TIMELIB_DEINIT; - return TIMELIB_CLF; - } -+#line 10930 "ext/date/lib/parse_date.c" - yy666: - yych = *++YYCURSOR; - if (yych <= '5') { -@@ -11362,6 +11413,7 @@ yy727: - if (yych <= 't') goto yy627; - } - yy728: -+#line 1298 "ext/date/lib/parse_date.re" - { - int length = 0; - DEBUG_OUTPUT("iso8601date2"); -@@ -11374,6 +11426,7 @@ yy728: - TIMELIB_DEINIT; - return TIMELIB_ISO_DATE; - } -+#line 11430 "ext/date/lib/parse_date.c" - yy729: - yych = *++YYCURSOR; - if (yych == 'C') goto yy730; -@@ -11404,6 +11457,7 @@ yy734: - if (yych >= '2') goto yy56; - yy735: - ++YYCURSOR; -+#line 1539 "ext/date/lib/parse_date.re" - { - int length = 0; - DEBUG_OUTPUT("pgtextreverse"); -@@ -11416,6 +11470,7 @@ yy735: - TIMELIB_DEINIT; - return TIMELIB_PG_TEXT; - } -+#line 11474 "ext/date/lib/parse_date.c" - yy737: - yych = *++YYCURSOR; - if (yych == 'V') goto yy730; -@@ -11568,6 +11623,7 @@ yy747: - } - } - yy748: -+#line 1574 "ext/date/lib/parse_date.re" - { - DEBUG_OUTPUT("year4"); - TIMELIB_INIT; -@@ -11575,6 +11631,7 @@ yy748: - TIMELIB_DEINIT; - return TIMELIB_CLF; - } -+#line 11635 "ext/date/lib/parse_date.c" - yy749: - yych = *++YYCURSOR; - switch (yych) { -@@ -11769,6 +11826,7 @@ yy757: - if (yych <= 'X') goto yy848; - } - yy758: -+#line 1395 "ext/date/lib/parse_date.re" - { - int length = 0; - DEBUG_OUTPUT("datenodayrev"); -@@ -11781,6 +11839,7 @@ yy758: - TIMELIB_DEINIT; - return TIMELIB_DATE_NO_DAY; - } -+#line 11843 "ext/date/lib/parse_date.c" - yy759: - yych = *++YYCURSOR; - if (yych == 'I') goto yy892; -@@ -11980,6 +12039,7 @@ yy778: - if (yych <= '/') goto yy779; - if (yych <= '7') goto yy781; - yy779: -+#line 1506 "ext/date/lib/parse_date.re" - { - timelib_sll w, d; - DEBUG_OUTPUT("isoweek"); -@@ -11997,12 +12057,14 @@ yy779: - TIMELIB_DEINIT; - return TIMELIB_ISO_WEEK; - } -+#line 12061 "ext/date/lib/parse_date.c" - yy780: - yych = *++YYCURSOR; - if (yych <= '/') goto yy56; - if (yych >= '8') goto yy56; - yy781: - ++YYCURSOR; -+#line 1487 "ext/date/lib/parse_date.re" - { - timelib_sll w, d; - DEBUG_OUTPUT("isoweekday"); -@@ -12020,6 +12082,7 @@ yy781: - TIMELIB_DEINIT; - return TIMELIB_ISO_WEEK; - } -+#line 12086 "ext/date/lib/parse_date.c" - yy783: - yych = *++YYCURSOR; - if (yych <= '/') goto yy60; -@@ -12085,6 +12148,7 @@ yy785: - } - } - yy786: -+#line 1473 "ext/date/lib/parse_date.re" - { - int length = 0; - DEBUG_OUTPUT("pgydotd"); -@@ -12097,6 +12161,7 @@ yy786: - TIMELIB_DEINIT; - return TIMELIB_PG_YEARDAY; - } -+#line 12165 "ext/date/lib/parse_date.c" - yy787: - yych = *++YYCURSOR; - if (yych <= '/') goto yy60; -@@ -12178,6 +12243,7 @@ yy805: - yy806: - ++YYCURSOR; - yy807: -+#line 1447 "ext/date/lib/parse_date.re" - { - int tz_not_found; - DEBUG_OUTPUT("xmlrpc | xmlrpcnocolon | soap | wddx | exif"); -@@ -12202,6 +12268,7 @@ yy807: - TIMELIB_DEINIT; - return TIMELIB_XMLRPC_SOAP; - } -+#line 12272 "ext/date/lib/parse_date.c" - yy808: - yych = *++YYCURSOR; - if (yych <= '2') { -@@ -12490,6 +12557,7 @@ yy812: - } - } - yy813: -+#line 1435 "ext/date/lib/parse_date.re" - { - DEBUG_OUTPUT("datenocolon"); - TIMELIB_INIT; -@@ -12500,6 +12568,7 @@ yy813: - TIMELIB_DEINIT; - return TIMELIB_DATE_NOCOLON; - } -+#line 12572 "ext/date/lib/parse_date.c" - yy814: - yych = *++YYCURSOR; - if (yych <= 'H') { -@@ -13293,6 +13362,7 @@ yy937: - if (yych <= '/') goto yy938; - if (yych <= '9') goto yy960; - yy938: -+#line 1312 "ext/date/lib/parse_date.re" - { - int length = 0; - DEBUG_OUTPUT("gnudateshorter"); -@@ -13305,6 +13375,7 @@ yy938: - TIMELIB_DEINIT; - return TIMELIB_ISO_DATE; - } -+#line 13379 "ext/date/lib/parse_date.c" - yy939: - yyaccept = 21; - yych = *(YYMARKER = ++YYCURSOR); -@@ -14303,6 +14374,7 @@ yy1030: - } - } - yy1032: -+#line 1204 "ext/date/lib/parse_date.re" - { - DEBUG_OUTPUT("gnunocolon"); - TIMELIB_INIT; -@@ -14324,6 +14396,7 @@ yy1032: - TIMELIB_DEINIT; - return TIMELIB_GNU_NOCOLON; - } -+#line 14400 "ext/date/lib/parse_date.c" - yy1033: - yych = *++YYCURSOR; - if (yych <= '/') goto yy60; -@@ -14413,6 +14486,7 @@ yy1039: - } - } - yy1040: -+#line 1250 "ext/date/lib/parse_date.re" - { - int tz_not_found; - DEBUG_OUTPUT("iso8601nocolon"); -@@ -14431,6 +14505,7 @@ yy1040: - TIMELIB_DEINIT; - return TIMELIB_ISO_NOCOLON; - } -+#line 14509 "ext/date/lib/parse_date.c" - yy1041: - yyaccept = 24; - yych = *(YYMARKER = ++YYCURSOR); -@@ -15362,6 +15437,7 @@ yy1083: - } - } - yy1084: -+#line 1646 "ext/date/lib/parse_date.re" - { - timelib_sll i; - int behavior = 0; -@@ -15377,6 +15453,7 @@ yy1084: - TIMELIB_DEINIT; - return TIMELIB_RELATIVE; - } -+#line 15457 "ext/date/lib/parse_date.c" - yy1085: - ++YYCURSOR; - if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2); -@@ -15418,6 +15495,7 @@ yy1091: - if (yych != 'f') goto yy56; - yy1092: - ++YYCURSOR; -+#line 1119 "ext/date/lib/parse_date.re" - { - timelib_sll i; - int behavior = 0; -@@ -15438,6 +15516,7 @@ yy1092: - TIMELIB_DEINIT; - return TIMELIB_WEEK_DAY_OF_MONTH; - } -+#line 15520 "ext/date/lib/parse_date.c" - yy1094: - yyaccept = 25; - yych = *(YYMARKER = ++YYCURSOR); -@@ -15530,6 +15609,7 @@ yy1107: - } - } - yy1108: -+#line 1622 "ext/date/lib/parse_date.re" - { - timelib_sll i; - int behavior = 0; -@@ -15552,6 +15632,7 @@ yy1108: - TIMELIB_DEINIT; - return TIMELIB_RELATIVE; - } -+#line 15636 "ext/date/lib/parse_date.c" - yy1109: - yych = *++YYCURSOR; - goto yy1084; -@@ -18206,10 +18287,25 @@ yy1281: - yy1283: - yyaccept = 27; - yych = *(YYMARKER = ++YYCURSOR); -- if (yych <= '/') goto yy1287; -- if (yych <= '9') goto yy1286; -- goto yy1287; -+ if (yych <= '@') { -+ if (yych <= 0x1F) { -+ if (yych == '\t') goto yy1287; -+ } else { -+ if (yych <= ' ') goto yy1287; -+ if (yych <= '/') goto yy1284; -+ if (yych <= '9') goto yy1286; -+ } -+ } else { -+ if (yych <= '`') { -+ if (yych <= 'A') goto yy1289; -+ if (yych == 'P') goto yy1289; -+ } else { -+ if (yych <= 'a') goto yy1289; -+ if (yych == 'p') goto yy1289; -+ } -+ } - yy1284: -+#line 1096 "ext/date/lib/parse_date.re" - { - DEBUG_OUTPUT("backof | frontof"); - TIMELIB_INIT; -@@ -18231,66 +18327,104 @@ yy1284: - TIMELIB_DEINIT; - return TIMELIB_LF_DAY_OF_MONTH; - } -+#line 18331 "ext/date/lib/parse_date.c" - yy1285: - yyaccept = 27; - yych = *(YYMARKER = ++YYCURSOR); -- if (yych <= '/') goto yy1287; -- if (yych >= '5') goto yy1287; -+ if (yych <= '@') { -+ if (yych <= 0x1F) { -+ if (yych == '\t') goto yy1287; -+ goto yy1284; -+ } else { -+ if (yych <= ' ') goto yy1287; -+ if (yych <= '/') goto yy1284; -+ if (yych >= '5') goto yy1284; -+ } -+ } else { -+ if (yych <= '`') { -+ if (yych <= 'A') goto yy1289; -+ if (yych == 'P') goto yy1289; -+ goto yy1284; -+ } else { -+ if (yych <= 'a') goto yy1289; -+ if (yych == 'p') goto yy1289; -+ goto yy1284; -+ } -+ } - yy1286: - yyaccept = 27; -- YYMARKER = ++YYCURSOR; -+ yych = *(YYMARKER = ++YYCURSOR); -+ if (yych <= 'A') { -+ if (yych <= 0x1F) { -+ if (yych != '\t') goto yy1284; -+ } else { -+ if (yych <= ' ') goto yy1287; -+ if (yych <= '@') goto yy1284; -+ goto yy1289; -+ } -+ } else { -+ if (yych <= '`') { -+ if (yych == 'P') goto yy1289; -+ goto yy1284; -+ } else { -+ if (yych <= 'a') goto yy1289; -+ if (yych == 'p') goto yy1289; -+ goto yy1284; -+ } -+ } -+yy1287: -+ ++YYCURSOR; - if ((YYLIMIT - YYCURSOR) < 5) YYFILL(5); - yych = *YYCURSOR; --yy1287: - if (yych <= 'A') { - if (yych <= 0x1F) { -- if (yych == '\t') goto yy1286; -- goto yy1284; -+ if (yych == '\t') goto yy1287; -+ goto yy56; - } else { -- if (yych <= ' ') goto yy1286; -- if (yych <= '@') goto yy1284; -+ if (yych <= ' ') goto yy1287; -+ if (yych <= '@') goto yy56; - } - } else { - if (yych <= '`') { -- if (yych != 'P') goto yy1284; -+ if (yych != 'P') goto yy56; - } else { -- if (yych <= 'a') goto yy1288; -- if (yych != 'p') goto yy1284; -+ if (yych <= 'a') goto yy1289; -+ if (yych != 'p') goto yy56; - } - } --yy1288: -+yy1289: - yych = *++YYCURSOR; - if (yych <= 'L') { - if (yych != '.') goto yy56; - } else { -- if (yych <= 'M') goto yy1290; -- if (yych == 'm') goto yy1290; -+ if (yych <= 'M') goto yy1291; -+ if (yych == 'm') goto yy1291; - goto yy56; - } - yych = *++YYCURSOR; -- if (yych == 'M') goto yy1290; -+ if (yych == 'M') goto yy1291; - if (yych != 'm') goto yy56; --yy1290: -+yy1291: - yych = *++YYCURSOR; - if (yych <= 0x1F) { -- if (yych <= 0x00) goto yy1292; -- if (yych == '\t') goto yy1292; -+ if (yych <= 0x00) goto yy1293; -+ if (yych == '\t') goto yy1293; - goto yy56; - } else { -- if (yych <= ' ') goto yy1292; -+ if (yych <= ' ') goto yy1293; - if (yych != '.') goto yy56; - } - yych = *++YYCURSOR; - if (yych <= '\t') { -- if (yych <= 0x00) goto yy1292; -+ if (yych <= 0x00) goto yy1293; - if (yych <= 0x08) goto yy56; - } else { - if (yych != ' ') goto yy56; - } --yy1292: -+yy1293: - yych = *++YYCURSOR; - goto yy1284; --yy1293: -+yy1294: - yyaccept = 0; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'B') { -@@ -18314,13 +18448,13 @@ yy1293: - if (yych <= '`') goto yy3; - goto yy171; - } else { -- if (yych <= 'c') goto yy1294; -+ if (yych <= 'c') goto yy1295; - if (yych <= 'z') goto yy171; - goto yy3; - } - } - } --yy1294: -+yy1295: - yyaccept = 0; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'J') { -@@ -18344,13 +18478,13 @@ yy1294: - if (yych <= '`') goto yy3; - goto yy175; - } else { -- if (yych <= 'k') goto yy1295; -+ if (yych <= 'k') goto yy1296; - if (yych <= 'z') goto yy175; - goto yy3; - } - } - } --yy1295: -+yy1296: - yyaccept = 0; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= '.') { -@@ -18375,7 +18509,7 @@ yy1295: - goto yy3; - } - } --yy1296: -+yy1297: - yych = *++YYCURSOR; - if (yych <= 'S') { - if (yych <= ')') { -@@ -18391,12 +18525,12 @@ yy1296: - if (yych <= '`') goto yy3; - goto yy166; - } else { -- if (yych <= 's') goto yy1297; -+ if (yych <= 's') goto yy1298; - if (yych <= 'z') goto yy166; - goto yy3; - } - } --yy1297: -+yy1298: - yych = *++YYCURSOR; - if (yych <= 'T') { - if (yych <= ')') { -@@ -18412,12 +18546,12 @@ yy1297: - if (yych <= '`') goto yy3; - goto yy167; - } else { -- if (yych <= 't') goto yy1298; -+ if (yych <= 't') goto yy1299; - if (yych <= 'z') goto yy167; - goto yy3; - } - } --yy1298: -+yy1299: - yyaccept = 0; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= '(') { -@@ -18438,19 +18572,19 @@ yy1298: - goto yy3; - } - } --yy1299: -+yy1300: - yych = *++YYCURSOR; -- if (yych == 'D') goto yy1300; -+ if (yych == 'D') goto yy1301; - if (yych != 'd') goto yy1070; --yy1300: -+yy1301: - yych = *++YYCURSOR; -- if (yych == 'A') goto yy1301; -+ if (yych == 'A') goto yy1302; - if (yych != 'a') goto yy56; --yy1301: -+yy1302: - yych = *++YYCURSOR; -- if (yych == 'Y') goto yy1302; -+ if (yych == 'Y') goto yy1303; - if (yych != 'y') goto yy56; --yy1302: -+yy1303: - yyaccept = 25; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'R') { -@@ -18461,14 +18595,15 @@ yy1302: - goto yy1084; - } - yych = *++YYCURSOR; -- if (yych == 'O') goto yy1304; -+ if (yych == 'O') goto yy1305; - if (yych != 'o') goto yy56; --yy1304: -+yy1305: - yych = *++YYCURSOR; -- if (yych == 'F') goto yy1305; -+ if (yych == 'F') goto yy1306; - if (yych != 'f') goto yy56; --yy1305: -+yy1306: - ++YYCURSOR; -+#line 1079 "ext/date/lib/parse_date.re" - { - DEBUG_OUTPUT("firstdayof | lastdayof"); - TIMELIB_INIT; -@@ -18484,7 +18619,8 @@ yy1305: - TIMELIB_DEINIT; - return TIMELIB_LF_DAY_OF_MONTH; - } --yy1307: -+#line 18623 "ext/date/lib/parse_date.c" -+yy1308: - yyaccept = 0; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'R') { -@@ -18499,7 +18635,7 @@ yy1307: - } - } else { - if (yych <= '_') { -- if (yych <= 'S') goto yy1297; -+ if (yych <= 'S') goto yy1298; - if (yych <= 'Z') goto yy166; - if (yych <= '^') goto yy3; - goto yy172; -@@ -18508,13 +18644,13 @@ yy1307: - if (yych <= '`') goto yy3; - goto yy171; - } else { -- if (yych <= 's') goto yy1308; -+ if (yych <= 's') goto yy1309; - if (yych <= 'z') goto yy171; - goto yy3; - } - } - } --yy1308: -+yy1309: - yyaccept = 0; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'S') { -@@ -18529,7 +18665,7 @@ yy1308: - } - } else { - if (yych <= '_') { -- if (yych <= 'T') goto yy1298; -+ if (yych <= 'T') goto yy1299; - if (yych <= 'Z') goto yy167; - if (yych <= '^') goto yy3; - goto yy172; -@@ -18538,20 +18674,20 @@ yy1308: - if (yych <= '`') goto yy3; - goto yy175; - } else { -- if (yych <= 't') goto yy1309; -+ if (yych <= 't') goto yy1310; - if (yych <= 'z') goto yy175; - goto yy3; - } - } - } --yy1309: -+yy1310: - yyaccept = 0; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= '-') { - if (yych <= ' ') { - if (yych == '\t') goto yy1069; - if (yych <= 0x1F) goto yy3; -- goto yy1299; -+ goto yy1300; - } else { - if (yych == ')') goto yy164; - if (yych <= ',') goto yy3; -@@ -18573,7 +18709,7 @@ yy1309: - } - } - } --yy1310: -+yy1311: - yych = *++YYCURSOR; - if (yych <= 'B') { - if (yych <= ')') { -@@ -18582,7 +18718,7 @@ yy1310: - } else { - if (yych <= '@') goto yy3; - if (yych <= 'A') goto yy166; -- goto yy1346; -+ goto yy1348; - } - } else { - if (yych <= 'a') { -@@ -18590,35 +18726,35 @@ yy1310: - if (yych <= '`') goto yy3; - goto yy166; - } else { -- if (yych <= 'b') goto yy1346; -+ if (yych <= 'b') goto yy1348; - if (yych <= 'z') goto yy166; - goto yy3; - } - } --yy1311: -+yy1312: - yych = *++YYCURSOR; - if (yych <= 'R') { - if (yych <= '@') { - if (yych == ')') goto yy164; - goto yy3; - } else { -- if (yych == 'F') goto yy1336; -+ if (yych == 'F') goto yy1338; - if (yych <= 'Q') goto yy166; -- goto yy1335; -+ goto yy1337; - } - } else { - if (yych <= 'f') { - if (yych <= 'Z') goto yy166; - if (yych <= '`') goto yy3; - if (yych <= 'e') goto yy166; -- goto yy1336; -+ goto yy1338; - } else { -- if (yych == 'r') goto yy1335; -+ if (yych == 'r') goto yy1337; - if (yych <= 'z') goto yy166; - goto yy3; - } - } --yy1312: -+yy1313: - yych = *++YYCURSOR; - if (yych <= 'U') { - if (yych <= ')') { -@@ -18627,7 +18763,7 @@ yy1312: - } else { - if (yych <= '@') goto yy3; - if (yych <= 'T') goto yy166; -- goto yy1332; -+ goto yy1334; - } - } else { - if (yych <= 't') { -@@ -18635,19 +18771,19 @@ yy1312: - if (yych <= '`') goto yy3; - goto yy166; - } else { -- if (yych <= 'u') goto yy1332; -+ if (yych <= 'u') goto yy1334; - if (yych <= 'z') goto yy166; - goto yy3; - } - } --yy1313: -+yy1314: - yych = *++YYCURSOR; - if (yych <= 'O') { - if (yych <= '@') { - if (yych == ')') goto yy164; - goto yy3; - } else { -- if (yych == 'I') goto yy1315; -+ if (yych == 'I') goto yy1316; - if (yych <= 'N') goto yy166; - } - } else { -@@ -18655,14 +18791,14 @@ yy1313: - if (yych <= 'Z') goto yy166; - if (yych <= '`') goto yy3; - if (yych <= 'h') goto yy166; -- goto yy1315; -+ goto yy1316; - } else { -- if (yych == 'o') goto yy1314; -+ if (yych == 'o') goto yy1315; - if (yych <= 'z') goto yy166; - goto yy3; - } - } --yy1314: -+yy1315: - yych = *++YYCURSOR; - if (yych <= 'N') { - if (yych <= ')') { -@@ -18671,7 +18807,7 @@ yy1314: - } else { - if (yych <= '@') goto yy3; - if (yych <= 'M') goto yy167; -- goto yy1318; -+ goto yy1319; - } - } else { - if (yych <= 'm') { -@@ -18679,12 +18815,12 @@ yy1314: - if (yych <= '`') goto yy3; - goto yy167; - } else { -- if (yych <= 'n') goto yy1318; -+ if (yych <= 'n') goto yy1319; - if (yych <= 'z') goto yy167; - goto yy3; - } - } --yy1315: -+yy1316: - yych = *++YYCURSOR; - if (yych <= 'D') { - if (yych <= ')') { -@@ -18700,12 +18836,12 @@ yy1315: - if (yych <= '`') goto yy191; - goto yy167; - } else { -- if (yych <= 'd') goto yy1316; -+ if (yych <= 'd') goto yy1317; - if (yych <= 'z') goto yy167; - goto yy191; - } - } --yy1316: -+yy1317: - yych = *++YYCURSOR; - if (yych <= 'A') { - if (yych == ')') goto yy164; -@@ -18715,12 +18851,12 @@ yy1316: - if (yych <= 'Z') goto yy168; - goto yy3; - } else { -- if (yych <= 'a') goto yy1317; -+ if (yych <= 'a') goto yy1318; - if (yych <= 'z') goto yy168; - goto yy3; - } - } --yy1317: -+yy1318: - yych = *++YYCURSOR; - if (yych <= 'Y') { - if (yych <= ')') { -@@ -18742,7 +18878,7 @@ yy1317: - goto yy3; - } - } --yy1318: -+yy1319: - yych = *++YYCURSOR; - if (yych <= 'T') { - if (yych <= ')') { -@@ -18758,16 +18894,16 @@ yy1318: - if (yych <= '`') goto yy3; - goto yy168; - } else { -- if (yych <= 't') goto yy1319; -+ if (yych <= 't') goto yy1320; - if (yych <= 'z') goto yy168; - goto yy3; - } - } --yy1319: -+yy1320: - yyaccept = 0; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= ')') { -- if (yych == ' ') goto yy1320; -+ if (yych == ' ') goto yy1321; - if (yych <= '(') goto yy3; - goto yy164; - } else { -@@ -18780,88 +18916,143 @@ yy1319: - goto yy3; - } - } --yy1320: -+yy1321: - yych = *++YYCURSOR; -- if (yych == 'O') goto yy1321; -+ if (yych == 'O') goto yy1322; - if (yych != 'o') goto yy56; --yy1321: -+yy1322: - yych = *++YYCURSOR; -- if (yych == 'F') goto yy1322; -+ if (yych == 'F') goto yy1323; - if (yych != 'f') goto yy56; --yy1322: -+yy1323: - yych = *++YYCURSOR; - if (yych != ' ') goto yy56; - yych = *++YYCURSOR; - if (yych <= '/') goto yy56; -- if (yych <= '1') goto yy1324; -- if (yych <= '2') goto yy1325; -- if (yych <= '9') goto yy1326; -+ if (yych <= '1') goto yy1325; -+ if (yych <= '2') goto yy1326; -+ if (yych <= '9') goto yy1327; - goto yy56; --yy1324: -- yyaccept = 27; -- yych = *(YYMARKER = ++YYCURSOR); -- if (yych <= '/') goto yy1327; -- if (yych <= '9') goto yy1326; -- goto yy1327; - yy1325: - yyaccept = 27; - yych = *(YYMARKER = ++YYCURSOR); -- if (yych <= '/') goto yy1327; -- if (yych >= '5') goto yy1327; -+ if (yych <= '@') { -+ if (yych <= 0x1F) { -+ if (yych == '\t') goto yy1328; -+ goto yy1284; -+ } else { -+ if (yych <= ' ') goto yy1328; -+ if (yych <= '/') goto yy1284; -+ if (yych <= '9') goto yy1327; -+ goto yy1284; -+ } -+ } else { -+ if (yych <= '`') { -+ if (yych <= 'A') goto yy1330; -+ if (yych == 'P') goto yy1330; -+ goto yy1284; -+ } else { -+ if (yych <= 'a') goto yy1330; -+ if (yych == 'p') goto yy1330; -+ goto yy1284; -+ } -+ } - yy1326: - yyaccept = 27; -- YYMARKER = ++YYCURSOR; -- if ((YYLIMIT - YYCURSOR) < 5) YYFILL(5); -- yych = *YYCURSOR; -+ yych = *(YYMARKER = ++YYCURSOR); -+ if (yych <= '@') { -+ if (yych <= 0x1F) { -+ if (yych == '\t') goto yy1328; -+ goto yy1284; -+ } else { -+ if (yych <= ' ') goto yy1328; -+ if (yych <= '/') goto yy1284; -+ if (yych >= '5') goto yy1284; -+ } -+ } else { -+ if (yych <= '`') { -+ if (yych <= 'A') goto yy1330; -+ if (yych == 'P') goto yy1330; -+ goto yy1284; -+ } else { -+ if (yych <= 'a') goto yy1330; -+ if (yych == 'p') goto yy1330; -+ goto yy1284; -+ } -+ } - yy1327: -+ yyaccept = 27; -+ yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'A') { - if (yych <= 0x1F) { -- if (yych == '\t') goto yy1326; -- goto yy1284; -+ if (yych != '\t') goto yy1284; - } else { -- if (yych <= ' ') goto yy1326; -+ if (yych <= ' ') goto yy1328; - if (yych <= '@') goto yy1284; -+ goto yy1330; - } - } else { - if (yych <= '`') { -- if (yych != 'P') goto yy1284; -+ if (yych == 'P') goto yy1330; -+ goto yy1284; - } else { -- if (yych <= 'a') goto yy1328; -- if (yych != 'p') goto yy1284; -+ if (yych <= 'a') goto yy1330; -+ if (yych == 'p') goto yy1330; -+ goto yy1284; - } - } - yy1328: -+ ++YYCURSOR; -+ if ((YYLIMIT - YYCURSOR) < 5) YYFILL(5); -+ yych = *YYCURSOR; -+ if (yych <= 'A') { -+ if (yych <= 0x1F) { -+ if (yych == '\t') goto yy1328; -+ goto yy56; -+ } else { -+ if (yych <= ' ') goto yy1328; -+ if (yych <= '@') goto yy56; -+ } -+ } else { -+ if (yych <= '`') { -+ if (yych != 'P') goto yy56; -+ } else { -+ if (yych <= 'a') goto yy1330; -+ if (yych != 'p') goto yy56; -+ } -+ } -+yy1330: - yych = *++YYCURSOR; - if (yych <= 'L') { - if (yych != '.') goto yy56; - } else { -- if (yych <= 'M') goto yy1330; -- if (yych == 'm') goto yy1330; -+ if (yych <= 'M') goto yy1332; -+ if (yych == 'm') goto yy1332; - goto yy56; - } - yych = *++YYCURSOR; -- if (yych == 'M') goto yy1330; -+ if (yych == 'M') goto yy1332; - if (yych != 'm') goto yy56; --yy1330: -+yy1332: - yych = *++YYCURSOR; - if (yych <= 0x1F) { -- if (yych <= 0x00) goto yy1292; -- if (yych == '\t') goto yy1292; -+ if (yych <= 0x00) goto yy1293; -+ if (yych == '\t') goto yy1293; - goto yy56; - } else { -- if (yych <= ' ') goto yy1292; -+ if (yych <= ' ') goto yy1293; - if (yych != '.') goto yy56; - } - yych = *++YYCURSOR; - if (yych <= '\t') { -- if (yych <= 0x00) goto yy1292; -+ if (yych <= 0x00) goto yy1293; - if (yych <= 0x08) goto yy56; -- goto yy1292; -+ goto yy1293; - } else { -- if (yych == ' ') goto yy1292; -+ if (yych == ' ') goto yy1293; - goto yy56; - } --yy1332: -+yy1334: - yych = *++YYCURSOR; - if (yych <= 'R') { - if (yych <= ')') { -@@ -18877,12 +19068,12 @@ yy1332: - if (yych <= '`') goto yy3; - goto yy167; - } else { -- if (yych <= 'r') goto yy1333; -+ if (yych <= 'r') goto yy1335; - if (yych <= 'z') goto yy167; - goto yy3; - } - } --yy1333: -+yy1335: - yych = *++YYCURSOR; - if (yych <= 'T') { - if (yych <= ')') { -@@ -18898,12 +19089,12 @@ yy1333: - if (yych <= '`') goto yy3; - goto yy168; - } else { -- if (yych <= 't') goto yy1334; -+ if (yych <= 't') goto yy1336; - if (yych <= 'z') goto yy168; - goto yy3; - } - } --yy1334: -+yy1336: - yych = *++YYCURSOR; - if (yych <= 'H') { - if (yych <= ')') { -@@ -18925,7 +19116,7 @@ yy1334: - goto yy3; - } - } --yy1335: -+yy1337: - yych = *++YYCURSOR; - if (yych <= 'S') { - if (yych <= ')') { -@@ -18934,7 +19125,7 @@ yy1335: - } else { - if (yych <= '@') goto yy3; - if (yych <= 'R') goto yy167; -- goto yy1338; -+ goto yy1340; - } - } else { - if (yych <= 'r') { -@@ -18942,12 +19133,12 @@ yy1335: - if (yych <= '`') goto yy3; - goto yy167; - } else { -- if (yych <= 's') goto yy1338; -+ if (yych <= 's') goto yy1340; - if (yych <= 'z') goto yy167; - goto yy3; - } - } --yy1336: -+yy1338: - yych = *++YYCURSOR; - if (yych <= 'T') { - if (yych <= ')') { -@@ -18963,12 +19154,12 @@ yy1336: - if (yych <= '`') goto yy3; - goto yy167; - } else { -- if (yych <= 't') goto yy1337; -+ if (yych <= 't') goto yy1339; - if (yych <= 'z') goto yy167; - goto yy3; - } - } --yy1337: -+yy1339: - yych = *++YYCURSOR; - if (yych <= 'H') { - if (yych <= ')') { -@@ -18990,7 +19181,7 @@ yy1337: - goto yy3; - } - } --yy1338: -+yy1340: - yych = *++YYCURSOR; - if (yych <= 'T') { - if (yych <= ')') { -@@ -19006,12 +19197,12 @@ yy1338: - if (yych <= '`') goto yy3; - goto yy168; - } else { -- if (yych <= 't') goto yy1339; -+ if (yych <= 't') goto yy1341; - if (yych <= 'z') goto yy168; - goto yy3; - } - } --yy1339: -+yy1341: - yyaccept = 0; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= '(') { -@@ -19032,19 +19223,19 @@ yy1339: - goto yy3; - } - } --yy1340: -+yy1342: - yych = *++YYCURSOR; -- if (yych == 'D') goto yy1341; -+ if (yych == 'D') goto yy1343; - if (yych != 'd') goto yy1197; --yy1341: -+yy1343: - yych = *++YYCURSOR; -- if (yych == 'A') goto yy1342; -+ if (yych == 'A') goto yy1344; - if (yych != 'a') goto yy56; --yy1342: -+yy1344: - yych = *++YYCURSOR; -- if (yych == 'Y') goto yy1343; -+ if (yych == 'Y') goto yy1345; - if (yych != 'y') goto yy56; --yy1343: -+yy1345: - yyaccept = 25; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'R') { -@@ -19055,14 +19246,14 @@ yy1343: - goto yy1084; - } - yych = *++YYCURSOR; -- if (yych == 'O') goto yy1345; -+ if (yych == 'O') goto yy1347; - if (yych != 'o') goto yy56; --yy1345: -+yy1347: - yych = *++YYCURSOR; -- if (yych == 'F') goto yy1305; -- if (yych == 'f') goto yy1305; -+ if (yych == 'F') goto yy1306; -+ if (yych == 'f') goto yy1306; - goto yy56; --yy1346: -+yy1348: - yyaccept = 5; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= '/') { -@@ -19097,13 +19288,13 @@ yy1346: - if (yych <= '`') goto yy218; - goto yy167; - } else { -- if (yych <= 'r') goto yy1347; -+ if (yych <= 'r') goto yy1349; - if (yych <= 'z') goto yy167; - goto yy218; - } - } - } --yy1347: -+yy1349: - yych = *++YYCURSOR; - if (yych <= 'U') { - if (yych <= ')') { -@@ -19119,12 +19310,12 @@ yy1347: - if (yych <= '`') goto yy3; - goto yy168; - } else { -- if (yych <= 'u') goto yy1348; -+ if (yych <= 'u') goto yy1350; - if (yych <= 'z') goto yy168; - goto yy3; - } - } --yy1348: -+yy1350: - yych = *++YYCURSOR; - if (yych <= 'A') { - if (yych == ')') goto yy164; -@@ -19134,27 +19325,27 @@ yy1348: - if (yych <= 'Z') goto yy169; - goto yy3; - } else { -- if (yych <= 'a') goto yy1349; -+ if (yych <= 'a') goto yy1351; - if (yych <= 'z') goto yy169; - goto yy3; - } - } --yy1349: -+yy1351: - yyaccept = 0; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'Q') { - if (yych == ')') goto yy164; - goto yy3; - } else { -- if (yych <= 'R') goto yy1350; -+ if (yych <= 'R') goto yy1352; - if (yych != 'r') goto yy3; - } --yy1350: -+yy1352: - yych = *++YYCURSOR; - if (yych == 'Y') goto yy229; - if (yych == 'y') goto yy229; - goto yy56; --yy1351: -+yy1353: - yyaccept = 0; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'A') { -@@ -19169,7 +19360,7 @@ yy1351: - } - } else { - if (yych <= '_') { -- if (yych <= 'B') goto yy1346; -+ if (yych <= 'B') goto yy1348; - if (yych <= 'Z') goto yy166; - if (yych <= '^') goto yy3; - goto yy172; -@@ -19178,13 +19369,13 @@ yy1351: - if (yych <= '`') goto yy3; - goto yy171; - } else { -- if (yych <= 'b') goto yy1369; -+ if (yych <= 'b') goto yy1371; - if (yych <= 'z') goto yy171; - goto yy3; - } - } - } --yy1352: -+yy1354: - yyaccept = 0; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'Q') { -@@ -19201,14 +19392,14 @@ yy1352: - if (yych <= '/') goto yy172; - goto yy3; - } else { -- if (yych == 'F') goto yy1336; -+ if (yych == 'F') goto yy1338; - goto yy166; - } - } - } else { - if (yych <= '`') { - if (yych <= 'Z') { -- if (yych <= 'R') goto yy1335; -+ if (yych <= 'R') goto yy1337; - goto yy166; - } else { - if (yych == '_') goto yy172; -@@ -19216,16 +19407,16 @@ yy1352: - } - } else { - if (yych <= 'q') { -- if (yych == 'f') goto yy1365; -+ if (yych == 'f') goto yy1367; - goto yy171; - } else { -- if (yych <= 'r') goto yy1364; -+ if (yych <= 'r') goto yy1366; - if (yych <= 'z') goto yy171; - goto yy3; - } - } - } --yy1353: -+yy1355: - yyaccept = 0; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'T') { -@@ -19240,7 +19431,7 @@ yy1353: - } - } else { - if (yych <= '_') { -- if (yych <= 'U') goto yy1332; -+ if (yych <= 'U') goto yy1334; - if (yych <= 'Z') goto yy166; - if (yych <= '^') goto yy3; - goto yy172; -@@ -19249,13 +19440,13 @@ yy1353: - if (yych <= '`') goto yy3; - goto yy171; - } else { -- if (yych <= 'u') goto yy1361; -+ if (yych <= 'u') goto yy1363; - if (yych <= 'z') goto yy171; - goto yy3; - } - } - } --yy1354: -+yy1356: - yyaccept = 0; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'N') { -@@ -19272,14 +19463,14 @@ yy1354: - if (yych <= '/') goto yy172; - goto yy3; - } else { -- if (yych == 'I') goto yy1315; -+ if (yych == 'I') goto yy1316; - goto yy166; - } - } - } else { - if (yych <= '`') { - if (yych <= 'Z') { -- if (yych <= 'O') goto yy1314; -+ if (yych <= 'O') goto yy1315; - goto yy166; - } else { - if (yych == '_') goto yy172; -@@ -19287,16 +19478,16 @@ yy1354: - } - } else { - if (yych <= 'n') { -- if (yych == 'i') goto yy1356; -+ if (yych == 'i') goto yy1358; - goto yy171; - } else { -- if (yych <= 'o') goto yy1355; -+ if (yych <= 'o') goto yy1357; - if (yych <= 'z') goto yy171; - goto yy3; - } - } - } --yy1355: -+yy1357: - yyaccept = 0; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'M') { -@@ -19311,7 +19502,7 @@ yy1355: - } - } else { - if (yych <= '_') { -- if (yych <= 'N') goto yy1318; -+ if (yych <= 'N') goto yy1319; - if (yych <= 'Z') goto yy167; - if (yych <= '^') goto yy3; - goto yy172; -@@ -19320,13 +19511,13 @@ yy1355: - if (yych <= '`') goto yy3; - goto yy175; - } else { -- if (yych <= 'n') goto yy1359; -+ if (yych <= 'n') goto yy1361; - if (yych <= 'z') goto yy175; - goto yy3; - } - } - } --yy1356: -+yy1358: - yyaccept = 4; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'C') { -@@ -19341,7 +19532,7 @@ yy1356: - } - } else { - if (yych <= '_') { -- if (yych <= 'D') goto yy1316; -+ if (yych <= 'D') goto yy1317; - if (yych <= 'Z') goto yy167; - if (yych <= '^') goto yy191; - goto yy172; -@@ -19350,13 +19541,13 @@ yy1356: - if (yych <= '`') goto yy191; - goto yy175; - } else { -- if (yych <= 'd') goto yy1357; -+ if (yych <= 'd') goto yy1359; - if (yych <= 'z') goto yy175; - goto yy191; - } - } - } --yy1357: -+yy1359: - yyaccept = 0; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= '@') { -@@ -19370,18 +19561,18 @@ yy1357: - } - } else { - if (yych <= '_') { -- if (yych <= 'A') goto yy1317; -+ if (yych <= 'A') goto yy1318; - if (yych <= 'Z') goto yy168; - if (yych <= '^') goto yy3; - goto yy172; - } else { - if (yych <= '`') goto yy3; -- if (yych <= 'a') goto yy1358; -+ if (yych <= 'a') goto yy1360; - if (yych <= 'z') goto yy176; - goto yy3; - } - } --yy1358: -+yy1360: - yyaccept = 0; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'X') { -@@ -19411,7 +19602,7 @@ yy1358: - } - } - } --yy1359: -+yy1361: - yyaccept = 0; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'S') { -@@ -19426,7 +19617,7 @@ yy1359: - } - } else { - if (yych <= '_') { -- if (yych <= 'T') goto yy1319; -+ if (yych <= 'T') goto yy1320; - if (yych <= 'Z') goto yy168; - if (yych <= '^') goto yy3; - goto yy172; -@@ -19435,18 +19626,18 @@ yy1359: - if (yych <= '`') goto yy3; - goto yy176; - } else { -- if (yych <= 't') goto yy1360; -+ if (yych <= 't') goto yy1362; - if (yych <= 'z') goto yy176; - goto yy3; - } - } - } --yy1360: -+yy1362: - yyaccept = 0; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= '.') { - if (yych <= '(') { -- if (yych == ' ') goto yy1320; -+ if (yych == ' ') goto yy1321; - goto yy3; - } else { - if (yych <= ')') goto yy164; -@@ -19466,7 +19657,7 @@ yy1360: - goto yy3; - } - } --yy1361: -+yy1363: - yyaccept = 0; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'Q') { -@@ -19481,7 +19672,7 @@ yy1361: - } - } else { - if (yych <= '_') { -- if (yych <= 'R') goto yy1333; -+ if (yych <= 'R') goto yy1335; - if (yych <= 'Z') goto yy167; - if (yych <= '^') goto yy3; - goto yy172; -@@ -19490,13 +19681,13 @@ yy1361: - if (yych <= '`') goto yy3; - goto yy175; - } else { -- if (yych <= 'r') goto yy1362; -+ if (yych <= 'r') goto yy1364; - if (yych <= 'z') goto yy175; - goto yy3; - } - } - } --yy1362: -+yy1364: - yyaccept = 0; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'S') { -@@ -19511,7 +19702,7 @@ yy1362: - } - } else { - if (yych <= '_') { -- if (yych <= 'T') goto yy1334; -+ if (yych <= 'T') goto yy1336; - if (yych <= 'Z') goto yy168; - if (yych <= '^') goto yy3; - goto yy172; -@@ -19520,13 +19711,13 @@ yy1362: - if (yych <= '`') goto yy3; - goto yy176; - } else { -- if (yych <= 't') goto yy1363; -+ if (yych <= 't') goto yy1365; - if (yych <= 'z') goto yy176; - goto yy3; - } - } - } --yy1363: -+yy1365: - yyaccept = 0; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'G') { -@@ -19556,7 +19747,7 @@ yy1363: - } - } - } --yy1364: -+yy1366: - yyaccept = 0; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'R') { -@@ -19571,7 +19762,7 @@ yy1364: - } - } else { - if (yych <= '_') { -- if (yych <= 'S') goto yy1338; -+ if (yych <= 'S') goto yy1340; - if (yych <= 'Z') goto yy167; - if (yych <= '^') goto yy3; - goto yy172; -@@ -19580,13 +19771,13 @@ yy1364: - if (yych <= '`') goto yy3; - goto yy175; - } else { -- if (yych <= 's') goto yy1367; -+ if (yych <= 's') goto yy1369; - if (yych <= 'z') goto yy175; - goto yy3; - } - } - } --yy1365: -+yy1367: - yyaccept = 0; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'S') { -@@ -19601,7 +19792,7 @@ yy1365: - } - } else { - if (yych <= '_') { -- if (yych <= 'T') goto yy1337; -+ if (yych <= 'T') goto yy1339; - if (yych <= 'Z') goto yy167; - if (yych <= '^') goto yy3; - goto yy172; -@@ -19610,13 +19801,13 @@ yy1365: - if (yych <= '`') goto yy3; - goto yy175; - } else { -- if (yych <= 't') goto yy1366; -+ if (yych <= 't') goto yy1368; - if (yych <= 'z') goto yy175; - goto yy3; - } - } - } --yy1366: -+yy1368: - yyaccept = 0; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'G') { -@@ -19646,7 +19837,7 @@ yy1366: - } - } - } --yy1367: -+yy1369: - yyaccept = 0; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'S') { -@@ -19661,7 +19852,7 @@ yy1367: - } - } else { - if (yych <= '_') { -- if (yych <= 'T') goto yy1339; -+ if (yych <= 'T') goto yy1341; - if (yych <= 'Z') goto yy168; - if (yych <= '^') goto yy3; - goto yy172; -@@ -19670,20 +19861,20 @@ yy1367: - if (yych <= '`') goto yy3; - goto yy176; - } else { -- if (yych <= 't') goto yy1368; -+ if (yych <= 't') goto yy1370; - if (yych <= 'z') goto yy176; - goto yy3; - } - } - } --yy1368: -+yy1370: - yyaccept = 0; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= '-') { - if (yych <= ' ') { - if (yych == '\t') goto yy1196; - if (yych <= 0x1F) goto yy3; -- goto yy1340; -+ goto yy1342; - } else { - if (yych == ')') goto yy164; - if (yych <= ',') goto yy3; -@@ -19705,7 +19896,7 @@ yy1368: - } - } - } --yy1369: -+yy1371: - yyaccept = 5; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= '9') { -@@ -19733,7 +19924,7 @@ yy1369: - if (yych <= '@') goto yy218; - goto yy167; - } else { -- if (yych <= 'R') goto yy1347; -+ if (yych <= 'R') goto yy1349; - if (yych <= 'Z') goto yy167; - goto yy218; - } -@@ -19743,13 +19934,13 @@ yy1369: - if (yych <= '`') goto yy218; - goto yy175; - } else { -- if (yych <= 'r') goto yy1370; -+ if (yych <= 'r') goto yy1372; - if (yych <= 'z') goto yy175; - goto yy218; - } - } - } --yy1370: -+yy1372: - yyaccept = 0; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'T') { -@@ -19764,7 +19955,7 @@ yy1370: - } - } else { - if (yych <= '_') { -- if (yych <= 'U') goto yy1348; -+ if (yych <= 'U') goto yy1350; - if (yych <= 'Z') goto yy168; - if (yych <= '^') goto yy3; - goto yy172; -@@ -19773,13 +19964,13 @@ yy1370: - if (yych <= '`') goto yy3; - goto yy176; - } else { -- if (yych <= 'u') goto yy1371; -+ if (yych <= 'u') goto yy1373; - if (yych <= 'z') goto yy176; - goto yy3; - } - } - } --yy1371: -+yy1373: - yyaccept = 0; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= '@') { -@@ -19793,18 +19984,18 @@ yy1371: - } - } else { - if (yych <= '_') { -- if (yych <= 'A') goto yy1349; -+ if (yych <= 'A') goto yy1351; - if (yych <= 'Z') goto yy169; - if (yych <= '^') goto yy3; - goto yy172; - } else { - if (yych <= '`') goto yy3; -- if (yych <= 'a') goto yy1372; -+ if (yych <= 'a') goto yy1374; - if (yych <= 'z') goto yy177; - goto yy3; - } - } --yy1372: -+yy1374: - yyaccept = 0; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'Q') { -@@ -19818,33 +20009,34 @@ yy1372: - } - } else { - if (yych <= '`') { -- if (yych <= 'R') goto yy1350; -+ if (yych <= 'R') goto yy1352; - if (yych == '_') goto yy172; - goto yy3; - } else { -- if (yych == 'r') goto yy1373; -+ if (yych == 'r') goto yy1375; - if (yych <= 'z') goto yy178; - goto yy3; - } - } --yy1373: -+yy1375: - yych = *++YYCURSOR; - if (yych == 'Y') goto yy229; - if (yych == 'y') goto yy341; - goto yy179; --yy1374: -+yy1376: - yych = *++YYCURSOR; - if (yych <= '/') goto yy56; - if (yych >= ':') goto yy56; --yy1375: -+yy1377: - yyaccept = 28; - YYMARKER = ++YYCURSOR; - if ((YYLIMIT - YYCURSOR) < 7) YYFILL(7); - yych = *YYCURSOR; -- if (yych == '.') goto yy1378; -- if (yych <= '/') goto yy1377; -- if (yych <= '9') goto yy1375; --yy1377: -+ if (yych == '.') goto yy1380; -+ if (yych <= '/') goto yy1379; -+ if (yych <= '9') goto yy1377; -+yy1379: -+#line 1025 "ext/date/lib/parse_date.re" - { - timelib_ull i; - -@@ -19869,7 +20061,8 @@ yy1377: - TIMELIB_DEINIT; - return TIMELIB_RELATIVE; - } --yy1378: -+#line 20065 "ext/date/lib/parse_date.c" -+yy1380: - yych = *++YYCURSOR; - if (yych <= '/') goto yy56; - if (yych >= ':') goto yy56; -@@ -19889,6 +20082,7 @@ yy1378: - if (yych <= '/') goto yy56; - if (yych >= ':') goto yy56; - ++YYCURSOR; -+#line 1051 "ext/date/lib/parse_date.re" - { - timelib_ull i, ms; - -@@ -19915,7 +20109,8 @@ yy1378: - TIMELIB_DEINIT; - return TIMELIB_RELATIVE; - } --yy1386: -+#line 20113 "ext/date/lib/parse_date.c" -+yy1388: - yych = *++YYCURSOR; - if (yych <= 'N') { - if (yych <= ')') { -@@ -19924,7 +20119,7 @@ yy1386: - } else { - if (yych <= '@') goto yy3; - if (yych <= 'M') goto yy166; -- goto yy1427; -+ goto yy1429; - } - } else { - if (yych <= 'm') { -@@ -19932,58 +20127,58 @@ yy1386: - if (yych <= '`') goto yy3; - goto yy166; - } else { -- if (yych <= 'n') goto yy1427; -+ if (yych <= 'n') goto yy1429; - if (yych <= 'z') goto yy166; - goto yy3; - } - } --yy1387: -+yy1389: - yych = *++YYCURSOR; - if (yych <= 'U') { - if (yych <= '@') { - if (yych == ')') goto yy164; - goto yy3; - } else { -- if (yych == 'I') goto yy1419; -+ if (yych == 'I') goto yy1421; - if (yych <= 'T') goto yy166; -- goto yy1420; -+ goto yy1422; - } - } else { - if (yych <= 'i') { - if (yych <= 'Z') goto yy166; - if (yych <= '`') goto yy3; - if (yych <= 'h') goto yy166; -- goto yy1419; -+ goto yy1421; - } else { -- if (yych == 'u') goto yy1420; -+ if (yych == 'u') goto yy1422; - if (yych <= 'z') goto yy166; - goto yy3; - } - } --yy1388: -+yy1390: - yych = *++YYCURSOR; - if (yych <= 'M') { - if (yych <= '@') { - if (yych == ')') goto yy164; - goto yy3; - } else { -- if (yych == 'D') goto yy1408; -+ if (yych == 'D') goto yy1410; - if (yych <= 'L') goto yy166; -- goto yy1409; -+ goto yy1411; - } - } else { - if (yych <= 'd') { - if (yych <= 'Z') goto yy166; - if (yych <= '`') goto yy3; - if (yych <= 'c') goto yy166; -- goto yy1408; -+ goto yy1410; - } else { -- if (yych == 'm') goto yy1409; -+ if (yych == 'm') goto yy1411; - if (yych <= 'z') goto yy166; - goto yy3; - } - } --yy1389: -+yy1391: - yych = *++YYCURSOR; - if (yych <= 'E') { - if (yych <= ')') { -@@ -19992,7 +20187,7 @@ yy1389: - } else { - if (yych <= '@') goto yy3; - if (yych <= 'D') goto yy166; -- goto yy1404; -+ goto yy1406; - } - } else { - if (yych <= 'd') { -@@ -20000,12 +20195,12 @@ yy1389: - if (yych <= '`') goto yy3; - goto yy166; - } else { -- if (yych <= 'e') goto yy1404; -+ if (yych <= 'e') goto yy1406; - if (yych <= 'z') goto yy166; - goto yy3; - } - } --yy1390: -+yy1392: - yych = *++YYCURSOR; - if (yych <= 'E') { - if (yych <= ')') { -@@ -20014,7 +20209,7 @@ yy1390: - } else { - if (yych <= '@') goto yy3; - if (yych <= 'D') goto yy166; -- goto yy1400; -+ goto yy1402; - } - } else { - if (yych <= 'd') { -@@ -20022,68 +20217,68 @@ yy1390: - if (yych <= '`') goto yy3; - goto yy166; - } else { -- if (yych <= 'e') goto yy1400; -+ if (yych <= 'e') goto yy1402; - if (yych <= 'z') goto yy166; - goto yy3; - } - } --yy1391: -+yy1393: - yych = *++YYCURSOR; - if (yych <= '/') { - if (yych == '.') goto yy1029; - goto yy56; - } else { -- if (yych <= '9') goto yy1394; -+ if (yych <= '9') goto yy1396; - if (yych <= ':') goto yy1029; - goto yy56; - } --yy1392: -+yy1394: - yych = *++YYCURSOR; - if (yych <= '/') { - if (yych == '.') goto yy1029; - goto yy56; - } else { -- if (yych <= '4') goto yy1394; -+ if (yych <= '4') goto yy1396; - if (yych == ':') goto yy1029; - goto yy56; - } --yy1393: -+yy1395: - yych = *++YYCURSOR; - if (yych == '.') goto yy1029; - if (yych == ':') goto yy1029; - goto yy56; --yy1394: -+yy1396: - yych = *++YYCURSOR; - if (yych <= '/') { - if (yych == '.') goto yy1029; - goto yy56; - } else { -- if (yych <= '5') goto yy1395; -+ if (yych <= '5') goto yy1397; - if (yych == ':') goto yy1029; - goto yy56; - } --yy1395: -+yy1397: - yych = *++YYCURSOR; - if (yych <= '/') goto yy56; - if (yych >= ':') goto yy56; - yyaccept = 23; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= '/') goto yy1032; -- if (yych <= '5') goto yy1397; -- if (yych <= '6') goto yy1398; -+ if (yych <= '5') goto yy1399; -+ if (yych <= '6') goto yy1400; - goto yy1032; --yy1397: -+yy1399: - yych = *++YYCURSOR; - if (yych <= '/') goto yy56; -- if (yych <= '9') goto yy1399; -+ if (yych <= '9') goto yy1401; - goto yy56; --yy1398: -+yy1400: - yych = *++YYCURSOR; - if (yych != '0') goto yy56; --yy1399: -+yy1401: - yych = *++YYCURSOR; - goto yy1040; --yy1400: -+yy1402: - yych = *++YYCURSOR; - if (yych <= 'L') { - if (yych <= ')') { -@@ -20099,12 +20294,12 @@ yy1400: - if (yych <= '`') goto yy3; - goto yy167; - } else { -- if (yych <= 'l') goto yy1401; -+ if (yych <= 'l') goto yy1403; - if (yych <= 'z') goto yy167; - goto yy3; - } - } --yy1401: -+yy1403: - yych = *++YYCURSOR; - if (yych <= 'F') { - if (yych <= ')') { -@@ -20120,12 +20315,12 @@ yy1401: - if (yych <= '`') goto yy3; - goto yy168; - } else { -- if (yych <= 'f') goto yy1402; -+ if (yych <= 'f') goto yy1404; - if (yych <= 'z') goto yy168; - goto yy3; - } - } --yy1402: -+yy1404: - yych = *++YYCURSOR; - if (yych <= 'T') { - if (yych <= ')') { -@@ -20141,12 +20336,12 @@ yy1402: - if (yych <= '`') goto yy3; - goto yy169; - } else { -- if (yych <= 't') goto yy1403; -+ if (yych <= 't') goto yy1405; - if (yych <= 'z') goto yy169; - goto yy3; - } - } --yy1403: -+yy1405: - yyaccept = 0; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'G') { -@@ -20157,7 +20352,7 @@ yy1403: - if (yych == 'h') goto yy1195; - goto yy3; - } --yy1404: -+yy1406: - yych = *++YYCURSOR; - if (yych <= 'S') { - if (yych <= ')') { -@@ -20173,12 +20368,12 @@ yy1404: - if (yych <= '`') goto yy191; - goto yy167; - } else { -- if (yych <= 's') goto yy1405; -+ if (yych <= 's') goto yy1407; - if (yych <= 'z') goto yy167; - goto yy191; - } - } --yy1405: -+yy1407: - yych = *++YYCURSOR; - if (yych <= 'D') { - if (yych <= ')') { -@@ -20194,12 +20389,12 @@ yy1405: - if (yych <= '`') goto yy3; - goto yy168; - } else { -- if (yych <= 'd') goto yy1406; -+ if (yych <= 'd') goto yy1408; - if (yych <= 'z') goto yy168; - goto yy3; - } - } --yy1406: -+yy1408: - yych = *++YYCURSOR; - if (yych <= 'A') { - if (yych == ')') goto yy164; -@@ -20209,12 +20404,12 @@ yy1406: - if (yych <= 'Z') goto yy169; - goto yy3; - } else { -- if (yych <= 'a') goto yy1407; -+ if (yych <= 'a') goto yy1409; - if (yych <= 'z') goto yy169; - goto yy3; - } - } --yy1407: -+yy1409: - yych = *++YYCURSOR; - if (yych <= 'X') { - if (yych == ')') goto yy164; -@@ -20224,23 +20419,23 @@ yy1407: - if (yych == 'y') goto yy197; - goto yy3; - } --yy1408: -+yy1410: - yych = *++YYCURSOR; - if (yych <= 'A') { - if (yych == ')') goto yy164; - if (yych <= '@') goto yy3; -- goto yy1416; -+ goto yy1418; - } else { - if (yych <= '`') { - if (yych <= 'Z') goto yy167; - goto yy3; - } else { -- if (yych <= 'a') goto yy1416; -+ if (yych <= 'a') goto yy1418; - if (yych <= 'z') goto yy167; - goto yy3; - } - } --yy1409: -+yy1411: - yych = *++YYCURSOR; - if (yych <= 'O') { - if (yych <= ')') { -@@ -20256,12 +20451,12 @@ yy1409: - if (yych <= '`') goto yy3; - goto yy167; - } else { -- if (yych <= 'o') goto yy1410; -+ if (yych <= 'o') goto yy1412; - if (yych <= 'z') goto yy167; - goto yy3; - } - } --yy1410: -+yy1412: - yych = *++YYCURSOR; - if (yych <= 'R') { - if (yych <= ')') { -@@ -20277,12 +20472,12 @@ yy1410: - if (yych <= '`') goto yy3; - goto yy168; - } else { -- if (yych <= 'r') goto yy1411; -+ if (yych <= 'r') goto yy1413; - if (yych <= 'z') goto yy168; - goto yy3; - } - } --yy1411: -+yy1413: - yych = *++YYCURSOR; - if (yych <= 'R') { - if (yych <= ')') { -@@ -20298,28 +20493,29 @@ yy1411: - if (yych <= '`') goto yy3; - goto yy169; - } else { -- if (yych <= 'r') goto yy1412; -+ if (yych <= 'r') goto yy1414; - if (yych <= 'z') goto yy169; - goto yy3; - } - } --yy1412: -+yy1414: - yyaccept = 0; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'N') { - if (yych == ')') goto yy164; - goto yy3; - } else { -- if (yych <= 'O') goto yy1413; -+ if (yych <= 'O') goto yy1415; - if (yych != 'o') goto yy3; - } --yy1413: -+yy1415: - yych = *++YYCURSOR; -- if (yych == 'W') goto yy1414; -+ if (yych == 'W') goto yy1416; - if (yych != 'w') goto yy56; --yy1414: -+yy1416: - ++YYCURSOR; --yy1415: -+yy1417: -+#line 1013 "ext/date/lib/parse_date.re" - { - DEBUG_OUTPUT("tomorrow"); - TIMELIB_INIT; -@@ -20330,7 +20526,8 @@ yy1415: - TIMELIB_DEINIT; - return TIMELIB_RELATIVE; - } --yy1416: -+#line 20530 "ext/date/lib/parse_date.c" -+yy1418: - yych = *++YYCURSOR; - if (yych <= 'Y') { - if (yych <= ')') { -@@ -20346,21 +20543,22 @@ yy1416: - if (yych <= '`') goto yy3; - goto yy168; - } else { -- if (yych <= 'y') goto yy1417; -+ if (yych <= 'y') goto yy1419; - if (yych <= 'z') goto yy168; - goto yy3; - } - } --yy1417: -+yy1419: - ++YYCURSOR; - if ((yych = *YYCURSOR) <= '@') { - if (yych == ')') goto yy164; - } else { - if (yych <= 'Z') goto yy169; -- if (yych <= '`') goto yy1418; -+ if (yych <= '`') goto yy1420; - if (yych <= 'z') goto yy169; - } --yy1418: -+yy1420: -+#line 1003 "ext/date/lib/parse_date.re" - { - DEBUG_OUTPUT("midnight | today"); - TIMELIB_INIT; -@@ -20369,7 +20567,8 @@ yy1418: - TIMELIB_DEINIT; - return TIMELIB_RELATIVE; - } --yy1419: -+#line 20571 "ext/date/lib/parse_date.c" -+yy1421: - yych = *++YYCURSOR; - if (yych <= 'S') { - if (yych <= '@') { -@@ -20377,8 +20576,8 @@ yy1419: - goto yy3; - } else { - if (yych <= 'Q') goto yy167; -- if (yych <= 'R') goto yy1425; -- goto yy1426; -+ if (yych <= 'R') goto yy1427; -+ goto yy1428; - } - } else { - if (yych <= 'q') { -@@ -20386,13 +20585,13 @@ yy1419: - if (yych <= '`') goto yy3; - goto yy167; - } else { -- if (yych <= 'r') goto yy1425; -- if (yych <= 's') goto yy1426; -+ if (yych <= 'r') goto yy1427; -+ if (yych <= 's') goto yy1428; - if (yych <= 'z') goto yy167; - goto yy3; - } - } --yy1420: -+yy1422: - yych = *++YYCURSOR; - if (yych <= 'R') { - if (yych <= ')') { -@@ -20408,12 +20607,12 @@ yy1420: - if (yych <= '`') goto yy191; - goto yy167; - } else { -- if (yych <= 'r') goto yy1421; -+ if (yych <= 'r') goto yy1423; - if (yych <= 'z') goto yy167; - goto yy191; - } - } --yy1421: -+yy1423: - yych = *++YYCURSOR; - if (yych <= 'S') { - if (yych <= ')') { -@@ -20429,12 +20628,12 @@ yy1421: - if (yych <= '`') goto yy3; - goto yy168; - } else { -- if (yych <= 's') goto yy1422; -+ if (yych <= 's') goto yy1424; - if (yych <= 'z') goto yy168; - goto yy3; - } - } --yy1422: -+yy1424: - yych = *++YYCURSOR; - if (yych <= 'D') { - if (yych <= ')') { -@@ -20450,27 +20649,27 @@ yy1422: - if (yych <= '`') goto yy3; - goto yy169; - } else { -- if (yych <= 'd') goto yy1423; -+ if (yych <= 'd') goto yy1425; - if (yych <= 'z') goto yy169; - goto yy3; - } - } --yy1423: -+yy1425: - yyaccept = 0; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= '@') { - if (yych == ')') goto yy164; - goto yy3; - } else { -- if (yych <= 'A') goto yy1424; -+ if (yych <= 'A') goto yy1426; - if (yych != 'a') goto yy3; - } --yy1424: -+yy1426: - yych = *++YYCURSOR; - if (yych == 'Y') goto yy197; - if (yych == 'y') goto yy197; - goto yy56; --yy1425: -+yy1427: - yych = *++YYCURSOR; - if (yych <= 'D') { - if (yych <= ')') { -@@ -20492,7 +20691,7 @@ yy1425: - goto yy3; - } - } --yy1426: -+yy1428: - yyaccept = 0; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= '(') { -@@ -20514,7 +20713,7 @@ yy1426: - goto yy3; - } - } --yy1427: -+yy1429: - yych = *++YYCURSOR; - if (yych <= 'T') { - if (yych <= ')') { -@@ -20530,12 +20729,12 @@ yy1427: - if (yych <= '`') goto yy3; - goto yy167; - } else { -- if (yych <= 't') goto yy1428; -+ if (yych <= 't') goto yy1430; - if (yych <= 'z') goto yy167; - goto yy3; - } - } --yy1428: -+yy1430: - yych = *++YYCURSOR; - if (yych <= 'H') { - if (yych <= ')') { -@@ -20557,7 +20756,7 @@ yy1428: - goto yy3; - } - } --yy1429: -+yy1431: - yyaccept = 0; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'M') { -@@ -20572,7 +20771,7 @@ yy1429: - } - } else { - if (yych <= '_') { -- if (yych <= 'N') goto yy1427; -+ if (yych <= 'N') goto yy1429; - if (yych <= 'Z') goto yy166; - if (yych <= '^') goto yy3; - goto yy172; -@@ -20581,13 +20780,13 @@ yy1429: - if (yych <= '`') goto yy3; - goto yy171; - } else { -- if (yych <= 'n') goto yy1459; -+ if (yych <= 'n') goto yy1461; - if (yych <= 'z') goto yy171; - goto yy3; - } - } - } --yy1430: -+yy1432: - yyaccept = 0; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'T') { -@@ -20604,14 +20803,14 @@ yy1430: - if (yych <= '/') goto yy172; - goto yy3; - } else { -- if (yych == 'I') goto yy1419; -+ if (yych == 'I') goto yy1421; - goto yy166; - } - } - } else { - if (yych <= '`') { - if (yych <= 'Z') { -- if (yych <= 'U') goto yy1420; -+ if (yych <= 'U') goto yy1422; - goto yy166; - } else { - if (yych == '_') goto yy172; -@@ -20619,16 +20818,16 @@ yy1430: - } - } else { - if (yych <= 't') { -- if (yych == 'i') goto yy1451; -+ if (yych == 'i') goto yy1453; - goto yy171; - } else { -- if (yych <= 'u') goto yy1452; -+ if (yych <= 'u') goto yy1454; - if (yych <= 'z') goto yy171; - goto yy3; - } - } - } --yy1431: -+yy1433: - yyaccept = 0; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'L') { -@@ -20645,14 +20844,14 @@ yy1431: - if (yych <= '/') goto yy172; - goto yy3; - } else { -- if (yych == 'D') goto yy1408; -+ if (yych == 'D') goto yy1410; - goto yy166; - } - } - } else { - if (yych <= '`') { - if (yych <= 'Z') { -- if (yych <= 'M') goto yy1409; -+ if (yych <= 'M') goto yy1411; - goto yy166; - } else { - if (yych == '_') goto yy172; -@@ -20660,16 +20859,16 @@ yy1431: - } - } else { - if (yych <= 'l') { -- if (yych == 'd') goto yy1442; -+ if (yych == 'd') goto yy1444; - goto yy171; - } else { -- if (yych <= 'm') goto yy1443; -+ if (yych <= 'm') goto yy1445; - if (yych <= 'z') goto yy171; - goto yy3; - } - } - } --yy1432: -+yy1434: - yyaccept = 0; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'D') { -@@ -20684,7 +20883,7 @@ yy1432: - } - } else { - if (yych <= '_') { -- if (yych <= 'E') goto yy1404; -+ if (yych <= 'E') goto yy1406; - if (yych <= 'Z') goto yy166; - if (yych <= '^') goto yy3; - goto yy172; -@@ -20693,13 +20892,13 @@ yy1432: - if (yych <= '`') goto yy3; - goto yy171; - } else { -- if (yych <= 'e') goto yy1438; -+ if (yych <= 'e') goto yy1440; - if (yych <= 'z') goto yy171; - goto yy3; - } - } - } --yy1433: -+yy1435: - yyaccept = 0; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'D') { -@@ -20714,7 +20913,7 @@ yy1433: - } - } else { - if (yych <= '_') { -- if (yych <= 'E') goto yy1400; -+ if (yych <= 'E') goto yy1402; - if (yych <= 'Z') goto yy166; - if (yych <= '^') goto yy3; - goto yy172; -@@ -20723,13 +20922,13 @@ yy1433: - if (yych <= '`') goto yy3; - goto yy171; - } else { -- if (yych <= 'e') goto yy1434; -+ if (yych <= 'e') goto yy1436; - if (yych <= 'z') goto yy171; - goto yy3; - } - } - } --yy1434: -+yy1436: - yyaccept = 0; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'K') { -@@ -20744,7 +20943,7 @@ yy1434: - } - } else { - if (yych <= '_') { -- if (yych <= 'L') goto yy1401; -+ if (yych <= 'L') goto yy1403; - if (yych <= 'Z') goto yy167; - if (yych <= '^') goto yy3; - goto yy172; -@@ -20753,13 +20952,13 @@ yy1434: - if (yych <= '`') goto yy3; - goto yy175; - } else { -- if (yych <= 'l') goto yy1435; -+ if (yych <= 'l') goto yy1437; - if (yych <= 'z') goto yy175; - goto yy3; - } - } - } --yy1435: -+yy1437: - yyaccept = 0; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'E') { -@@ -20774,7 +20973,7 @@ yy1435: - } - } else { - if (yych <= '_') { -- if (yych <= 'F') goto yy1402; -+ if (yych <= 'F') goto yy1404; - if (yych <= 'Z') goto yy168; - if (yych <= '^') goto yy3; - goto yy172; -@@ -20783,13 +20982,13 @@ yy1435: - if (yych <= '`') goto yy3; - goto yy176; - } else { -- if (yych <= 'f') goto yy1436; -+ if (yych <= 'f') goto yy1438; - if (yych <= 'z') goto yy176; - goto yy3; - } - } - } --yy1436: -+yy1438: - yyaccept = 0; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'S') { -@@ -20804,7 +21003,7 @@ yy1436: - } - } else { - if (yych <= '_') { -- if (yych <= 'T') goto yy1403; -+ if (yych <= 'T') goto yy1405; - if (yych <= 'Z') goto yy169; - if (yych <= '^') goto yy3; - goto yy172; -@@ -20813,13 +21012,13 @@ yy1436: - if (yych <= '`') goto yy3; - goto yy177; - } else { -- if (yych <= 't') goto yy1437; -+ if (yych <= 't') goto yy1439; - if (yych <= 'z') goto yy177; - goto yy3; - } - } - } --yy1437: -+yy1439: - yyaccept = 0; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'G') { -@@ -20842,7 +21041,7 @@ yy1437: - goto yy3; - } - } --yy1438: -+yy1440: - yyaccept = 4; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'R') { -@@ -20857,7 +21056,7 @@ yy1438: - } - } else { - if (yych <= '_') { -- if (yych <= 'S') goto yy1405; -+ if (yych <= 'S') goto yy1407; - if (yych <= 'Z') goto yy167; - if (yych <= '^') goto yy191; - goto yy172; -@@ -20866,13 +21065,13 @@ yy1438: - if (yych <= '`') goto yy191; - goto yy175; - } else { -- if (yych <= 's') goto yy1439; -+ if (yych <= 's') goto yy1441; - if (yych <= 'z') goto yy175; - goto yy191; - } - } - } --yy1439: -+yy1441: - yyaccept = 0; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'C') { -@@ -20887,7 +21086,7 @@ yy1439: - } - } else { - if (yych <= '_') { -- if (yych <= 'D') goto yy1406; -+ if (yych <= 'D') goto yy1408; - if (yych <= 'Z') goto yy168; - if (yych <= '^') goto yy3; - goto yy172; -@@ -20896,13 +21095,13 @@ yy1439: - if (yych <= '`') goto yy3; - goto yy176; - } else { -- if (yych <= 'd') goto yy1440; -+ if (yych <= 'd') goto yy1442; - if (yych <= 'z') goto yy176; - goto yy3; - } - } - } --yy1440: -+yy1442: - yyaccept = 0; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= '@') { -@@ -20916,18 +21115,18 @@ yy1440: - } - } else { - if (yych <= '_') { -- if (yych <= 'A') goto yy1407; -+ if (yych <= 'A') goto yy1409; - if (yych <= 'Z') goto yy169; - if (yych <= '^') goto yy3; - goto yy172; - } else { - if (yych <= '`') goto yy3; -- if (yych <= 'a') goto yy1441; -+ if (yych <= 'a') goto yy1443; - if (yych <= 'z') goto yy177; - goto yy3; - } - } --yy1441: -+yy1443: - yyaccept = 0; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'X') { -@@ -20950,7 +21149,7 @@ yy1441: - goto yy3; - } - } --yy1442: -+yy1444: - yyaccept = 0; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= '@') { -@@ -20964,18 +21163,18 @@ yy1442: - } - } else { - if (yych <= '_') { -- if (yych <= 'A') goto yy1416; -+ if (yych <= 'A') goto yy1418; - if (yych <= 'Z') goto yy167; - if (yych <= '^') goto yy3; - goto yy172; - } else { - if (yych <= '`') goto yy3; -- if (yych <= 'a') goto yy1449; -+ if (yych <= 'a') goto yy1451; - if (yych <= 'z') goto yy175; - goto yy3; - } - } --yy1443: -+yy1445: - yyaccept = 0; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'N') { -@@ -20990,7 +21189,7 @@ yy1443: - } - } else { - if (yych <= '_') { -- if (yych <= 'O') goto yy1410; -+ if (yych <= 'O') goto yy1412; - if (yych <= 'Z') goto yy167; - if (yych <= '^') goto yy3; - goto yy172; -@@ -20999,13 +21198,13 @@ yy1443: - if (yych <= '`') goto yy3; - goto yy175; - } else { -- if (yych <= 'o') goto yy1444; -+ if (yych <= 'o') goto yy1446; - if (yych <= 'z') goto yy175; - goto yy3; - } - } - } --yy1444: -+yy1446: - yyaccept = 0; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'Q') { -@@ -21020,7 +21219,7 @@ yy1444: - } - } else { - if (yych <= '_') { -- if (yych <= 'R') goto yy1411; -+ if (yych <= 'R') goto yy1413; - if (yych <= 'Z') goto yy168; - if (yych <= '^') goto yy3; - goto yy172; -@@ -21029,13 +21228,13 @@ yy1444: - if (yych <= '`') goto yy3; - goto yy176; - } else { -- if (yych <= 'r') goto yy1445; -+ if (yych <= 'r') goto yy1447; - if (yych <= 'z') goto yy176; - goto yy3; - } - } - } --yy1445: -+yy1447: - yyaccept = 0; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'Q') { -@@ -21050,7 +21249,7 @@ yy1445: - } - } else { - if (yych <= '_') { -- if (yych <= 'R') goto yy1412; -+ if (yych <= 'R') goto yy1414; - if (yych <= 'Z') goto yy169; - if (yych <= '^') goto yy3; - goto yy172; -@@ -21059,13 +21258,13 @@ yy1445: - if (yych <= '`') goto yy3; - goto yy177; - } else { -- if (yych <= 'r') goto yy1446; -+ if (yych <= 'r') goto yy1448; - if (yych <= 'z') goto yy177; - goto yy3; - } - } - } --yy1446: -+yy1448: - yyaccept = 0; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'N') { -@@ -21079,18 +21278,18 @@ yy1446: - } - } else { - if (yych <= '`') { -- if (yych <= 'O') goto yy1413; -+ if (yych <= 'O') goto yy1415; - if (yych == '_') goto yy172; - goto yy3; - } else { -- if (yych == 'o') goto yy1447; -+ if (yych == 'o') goto yy1449; - if (yych <= 'z') goto yy178; - goto yy3; - } - } --yy1447: -+yy1449: - yych = *++YYCURSOR; -- if (yych == 'W') goto yy1414; -+ if (yych == 'W') goto yy1416; - if (yych != 'w') goto yy179; - yyaccept = 29; - yych = *(YYMARKER = ++YYCURSOR); -@@ -21099,13 +21298,13 @@ yy1447: - } - if (yych <= '.') { - if (yych == '-') goto yy172; -- goto yy1415; -+ goto yy1417; - } else { - if (yych <= '/') goto yy172; - if (yych == '_') goto yy172; -- goto yy1415; -+ goto yy1417; - } --yy1449: -+yy1451: - yyaccept = 0; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'X') { -@@ -21120,7 +21319,7 @@ yy1449: - } - } else { - if (yych <= '_') { -- if (yych <= 'Y') goto yy1417; -+ if (yych <= 'Y') goto yy1419; - if (yych <= 'Z') goto yy168; - if (yych <= '^') goto yy3; - goto yy172; -@@ -21129,36 +21328,36 @@ yy1449: - if (yych <= '`') goto yy3; - goto yy176; - } else { -- if (yych <= 'y') goto yy1450; -+ if (yych <= 'y') goto yy1452; - if (yych <= 'z') goto yy176; - goto yy3; - } - } - } --yy1450: -+yy1452: - yyaccept = 30; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= '/') { - if (yych <= ',') { - if (yych == ')') goto yy164; -- goto yy1418; -+ goto yy1420; - } else { -- if (yych == '.') goto yy1418; -+ if (yych == '.') goto yy1420; - goto yy172; - } - } else { - if (yych <= '^') { -- if (yych <= '@') goto yy1418; -+ if (yych <= '@') goto yy1420; - if (yych <= 'Z') goto yy169; -- goto yy1418; -+ goto yy1420; - } else { - if (yych <= '_') goto yy172; -- if (yych <= '`') goto yy1418; -+ if (yych <= '`') goto yy1420; - if (yych <= 'z') goto yy177; -- goto yy1418; -+ goto yy1420; - } - } --yy1451: -+yy1453: - yyaccept = 0; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'R') { -@@ -21173,13 +21372,13 @@ yy1451: - } else { - if (yych <= '@') goto yy3; - if (yych <= 'Q') goto yy167; -- goto yy1425; -+ goto yy1427; - } - } - } else { - if (yych <= '`') { - if (yych <= 'Z') { -- if (yych <= 'S') goto yy1426; -+ if (yych <= 'S') goto yy1428; - goto yy167; - } else { - if (yych == '_') goto yy172; -@@ -21188,15 +21387,15 @@ yy1451: - } else { - if (yych <= 'r') { - if (yych <= 'q') goto yy175; -- goto yy1457; -+ goto yy1459; - } else { -- if (yych <= 's') goto yy1458; -+ if (yych <= 's') goto yy1460; - if (yych <= 'z') goto yy175; - goto yy3; - } - } - } --yy1452: -+yy1454: - yyaccept = 4; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'Q') { -@@ -21211,7 +21410,7 @@ yy1452: - } - } else { - if (yych <= '_') { -- if (yych <= 'R') goto yy1421; -+ if (yych <= 'R') goto yy1423; - if (yych <= 'Z') goto yy167; - if (yych <= '^') goto yy191; - goto yy172; -@@ -21220,13 +21419,13 @@ yy1452: - if (yych <= '`') goto yy191; - goto yy175; - } else { -- if (yych <= 'r') goto yy1453; -+ if (yych <= 'r') goto yy1455; - if (yych <= 'z') goto yy175; - goto yy191; - } - } - } --yy1453: -+yy1455: - yyaccept = 0; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'R') { -@@ -21241,7 +21440,7 @@ yy1453: - } - } else { - if (yych <= '_') { -- if (yych <= 'S') goto yy1422; -+ if (yych <= 'S') goto yy1424; - if (yych <= 'Z') goto yy168; - if (yych <= '^') goto yy3; - goto yy172; -@@ -21250,13 +21449,13 @@ yy1453: - if (yych <= '`') goto yy3; - goto yy176; - } else { -- if (yych <= 's') goto yy1454; -+ if (yych <= 's') goto yy1456; - if (yych <= 'z') goto yy176; - goto yy3; - } - } - } --yy1454: -+yy1456: - yyaccept = 0; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'C') { -@@ -21271,7 +21470,7 @@ yy1454: - } - } else { - if (yych <= '_') { -- if (yych <= 'D') goto yy1423; -+ if (yych <= 'D') goto yy1425; - if (yych <= 'Z') goto yy169; - if (yych <= '^') goto yy3; - goto yy172; -@@ -21280,13 +21479,13 @@ yy1454: - if (yych <= '`') goto yy3; - goto yy177; - } else { -- if (yych <= 'd') goto yy1455; -+ if (yych <= 'd') goto yy1457; - if (yych <= 'z') goto yy177; - goto yy3; - } - } - } --yy1455: -+yy1457: - yyaccept = 0; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= '@') { -@@ -21300,22 +21499,22 @@ yy1455: - } - } else { - if (yych <= '_') { -- if (yych <= 'A') goto yy1424; -+ if (yych <= 'A') goto yy1426; - if (yych <= '^') goto yy3; - goto yy172; - } else { - if (yych <= '`') goto yy3; -- if (yych <= 'a') goto yy1456; -+ if (yych <= 'a') goto yy1458; - if (yych <= 'z') goto yy178; - goto yy3; - } - } --yy1456: -+yy1458: - yych = *++YYCURSOR; - if (yych == 'Y') goto yy197; - if (yych == 'y') goto yy210; - goto yy179; --yy1457: -+yy1459: - yyaccept = 0; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'C') { -@@ -21345,7 +21544,7 @@ yy1457: - } - } - } --yy1458: -+yy1460: - yyaccept = 0; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= '-') { -@@ -21374,7 +21573,7 @@ yy1458: - } - } - } --yy1459: -+yy1461: - yyaccept = 0; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'S') { -@@ -21389,7 +21588,7 @@ yy1459: - } - } else { - if (yych <= '_') { -- if (yych <= 'T') goto yy1428; -+ if (yych <= 'T') goto yy1430; - if (yych <= 'Z') goto yy167; - if (yych <= '^') goto yy3; - goto yy172; -@@ -21398,13 +21597,13 @@ yy1459: - if (yych <= '`') goto yy3; - goto yy175; - } else { -- if (yych <= 't') goto yy1460; -+ if (yych <= 't') goto yy1462; - if (yych <= 'z') goto yy175; - goto yy3; - } - } - } --yy1460: -+yy1462: - yyaccept = 0; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'G') { -@@ -21434,30 +21633,30 @@ yy1460: - } - } - } --yy1461: -+yy1463: - yych = *++YYCURSOR; - if (yych <= 'Y') { - if (yych <= '@') { - if (yych == ')') goto yy164; - goto yy3; - } else { -- if (yych == 'R') goto yy1473; -+ if (yych == 'R') goto yy1475; - if (yych <= 'X') goto yy166; -- goto yy1474; -+ goto yy1476; - } - } else { - if (yych <= 'r') { - if (yych <= 'Z') goto yy166; - if (yych <= '`') goto yy3; - if (yych <= 'q') goto yy166; -- goto yy1473; -+ goto yy1475; - } else { -- if (yych == 'y') goto yy1474; -+ if (yych == 'y') goto yy1476; - if (yych <= 'z') goto yy166; - goto yy3; - } - } --yy1462: -+yy1464: - yych = *++YYCURSOR; - if (yych <= 'D') { - if (yych <= ')') { -@@ -21466,7 +21665,7 @@ yy1462: - } else { - if (yych <= '@') goto yy3; - if (yych <= 'C') goto yy166; -- goto yy1467; -+ goto yy1469; - } - } else { - if (yych <= 'c') { -@@ -21474,12 +21673,12 @@ yy1462: - if (yych <= '`') goto yy3; - goto yy166; - } else { -- if (yych <= 'd') goto yy1467; -+ if (yych <= 'd') goto yy1469; - if (yych <= 'z') goto yy166; - goto yy3; - } - } --yy1463: -+yy1465: - yych = *++YYCURSOR; - if (yych <= 'N') { - if (yych <= ')') { -@@ -21495,12 +21694,12 @@ yy1463: - if (yych <= '`') goto yy3; - goto yy166; - } else { -- if (yych <= 'n') goto yy1464; -+ if (yych <= 'n') goto yy1466; - if (yych <= 'z') goto yy166; - goto yy3; - } - } --yy1464: -+yy1466: - yych = *++YYCURSOR; - if (yych <= 'D') { - if (yych <= ')') { -@@ -21516,12 +21715,12 @@ yy1464: - if (yych <= '`') goto yy191; - goto yy167; - } else { -- if (yych <= 'd') goto yy1465; -+ if (yych <= 'd') goto yy1467; - if (yych <= 'z') goto yy167; - goto yy191; - } - } --yy1465: -+yy1467: - yych = *++YYCURSOR; - if (yych <= 'A') { - if (yych == ')') goto yy164; -@@ -21531,12 +21730,12 @@ yy1465: - if (yych <= 'Z') goto yy168; - goto yy3; - } else { -- if (yych <= 'a') goto yy1466; -+ if (yych <= 'a') goto yy1468; - if (yych <= 'z') goto yy168; - goto yy3; - } - } --yy1466: -+yy1468: - yych = *++YYCURSOR; - if (yych <= 'Y') { - if (yych <= ')') { -@@ -21558,7 +21757,7 @@ yy1466: - goto yy3; - } - } --yy1467: -+yy1469: - yych = *++YYCURSOR; - if (yych <= 'N') { - if (yych <= ')') { -@@ -21574,12 +21773,12 @@ yy1467: - if (yych <= '`') goto yy3; - goto yy167; - } else { -- if (yych <= 'n') goto yy1468; -+ if (yych <= 'n') goto yy1470; - if (yych <= 'z') goto yy167; - goto yy3; - } - } --yy1468: -+yy1470: - yych = *++YYCURSOR; - if (yych <= 'I') { - if (yych <= ')') { -@@ -21595,12 +21794,12 @@ yy1468: - if (yych <= '`') goto yy3; - goto yy168; - } else { -- if (yych <= 'i') goto yy1469; -+ if (yych <= 'i') goto yy1471; - if (yych <= 'z') goto yy168; - goto yy3; - } - } --yy1469: -+yy1471: - yych = *++YYCURSOR; - if (yych <= 'G') { - if (yych <= ')') { -@@ -21616,29 +21815,29 @@ yy1469: - if (yych <= '`') goto yy3; - goto yy169; - } else { -- if (yych <= 'g') goto yy1470; -+ if (yych <= 'g') goto yy1472; - if (yych <= 'z') goto yy169; - goto yy3; - } - } --yy1470: -+yy1472: - yyaccept = 0; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'G') { - if (yych == ')') goto yy164; - goto yy3; - } else { -- if (yych <= 'H') goto yy1471; -+ if (yych <= 'H') goto yy1473; - if (yych != 'h') goto yy3; - } --yy1471: -+yy1473: - yych = *++YYCURSOR; -- if (yych == 'T') goto yy1472; -+ if (yych == 'T') goto yy1474; - if (yych != 't') goto yy56; --yy1472: -+yy1474: - yych = *++YYCURSOR; -- goto yy1418; --yy1473: -+ goto yy1420; -+yy1475: - yyaccept = 5; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= '/') { -@@ -21666,7 +21865,7 @@ yy1473: - if (yych <= '9') goto yy220; - goto yy218; - } else { -- if (yych == 'C') goto yy1475; -+ if (yych == 'C') goto yy1477; - goto yy167; - } - } else { -@@ -21674,13 +21873,13 @@ yy1473: - if (yych <= '`') goto yy218; - goto yy167; - } else { -- if (yych <= 'c') goto yy1475; -+ if (yych <= 'c') goto yy1477; - if (yych <= 'z') goto yy167; - goto yy218; - } - } - } --yy1474: -+yy1476: - yyaccept = 5; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= '-') { -@@ -21705,7 +21904,7 @@ yy1474: - goto yy218; - } - } --yy1475: -+yy1477: - yych = *++YYCURSOR; - if (yych <= 'H') { - if (yych <= ')') { -@@ -21727,7 +21926,7 @@ yy1475: - goto yy3; - } - } --yy1476: -+yy1478: - yyaccept = 0; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'X') { -@@ -21744,14 +21943,14 @@ yy1476: - if (yych <= '/') goto yy172; - goto yy3; - } else { -- if (yych == 'R') goto yy1473; -+ if (yych == 'R') goto yy1475; - goto yy166; - } - } - } else { - if (yych <= '`') { - if (yych <= 'Z') { -- if (yych <= 'Y') goto yy1474; -+ if (yych <= 'Y') goto yy1476; - goto yy166; - } else { - if (yych == '_') goto yy172; -@@ -21759,16 +21958,16 @@ yy1476: - } - } else { - if (yych <= 'x') { -- if (yych == 'r') goto yy1488; -+ if (yych == 'r') goto yy1490; - goto yy171; - } else { -- if (yych <= 'y') goto yy1489; -+ if (yych <= 'y') goto yy1491; - if (yych <= 'z') goto yy171; - goto yy3; - } - } - } --yy1477: -+yy1479: - yyaccept = 0; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'C') { -@@ -21783,7 +21982,7 @@ yy1477: - } - } else { - if (yych <= '_') { -- if (yych <= 'D') goto yy1467; -+ if (yych <= 'D') goto yy1469; - if (yych <= 'Z') goto yy166; - if (yych <= '^') goto yy3; - goto yy172; -@@ -21792,13 +21991,13 @@ yy1477: - if (yych <= '`') goto yy3; - goto yy171; - } else { -- if (yych <= 'd') goto yy1482; -+ if (yych <= 'd') goto yy1484; - if (yych <= 'z') goto yy171; - goto yy3; - } - } - } --yy1478: -+yy1480: - yyaccept = 0; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'M') { -@@ -21813,7 +22012,7 @@ yy1478: - } - } else { - if (yych <= '_') { -- if (yych <= 'N') goto yy1464; -+ if (yych <= 'N') goto yy1466; - if (yych <= 'Z') goto yy166; - if (yych <= '^') goto yy3; - goto yy172; -@@ -21822,13 +22021,13 @@ yy1478: - if (yych <= '`') goto yy3; - goto yy171; - } else { -- if (yych <= 'n') goto yy1479; -+ if (yych <= 'n') goto yy1481; - if (yych <= 'z') goto yy171; - goto yy3; - } - } - } --yy1479: -+yy1481: - yyaccept = 4; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'C') { -@@ -21843,7 +22042,7 @@ yy1479: - } - } else { - if (yych <= '_') { -- if (yych <= 'D') goto yy1465; -+ if (yych <= 'D') goto yy1467; - if (yych <= 'Z') goto yy167; - if (yych <= '^') goto yy191; - goto yy172; -@@ -21852,13 +22051,13 @@ yy1479: - if (yych <= '`') goto yy191; - goto yy175; - } else { -- if (yych <= 'd') goto yy1480; -+ if (yych <= 'd') goto yy1482; - if (yych <= 'z') goto yy175; - goto yy191; - } - } - } --yy1480: -+yy1482: - yyaccept = 0; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= '@') { -@@ -21872,18 +22071,18 @@ yy1480: - } - } else { - if (yych <= '_') { -- if (yych <= 'A') goto yy1466; -+ if (yych <= 'A') goto yy1468; - if (yych <= 'Z') goto yy168; - if (yych <= '^') goto yy3; - goto yy172; - } else { - if (yych <= '`') goto yy3; -- if (yych <= 'a') goto yy1481; -+ if (yych <= 'a') goto yy1483; - if (yych <= 'z') goto yy176; - goto yy3; - } - } --yy1481: -+yy1483: - yyaccept = 0; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'X') { -@@ -21913,7 +22112,7 @@ yy1481: - } - } - } --yy1482: -+yy1484: - yyaccept = 0; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'M') { -@@ -21928,7 +22127,7 @@ yy1482: - } - } else { - if (yych <= '_') { -- if (yych <= 'N') goto yy1468; -+ if (yych <= 'N') goto yy1470; - if (yych <= 'Z') goto yy167; - if (yych <= '^') goto yy3; - goto yy172; -@@ -21937,13 +22136,13 @@ yy1482: - if (yych <= '`') goto yy3; - goto yy175; - } else { -- if (yych <= 'n') goto yy1483; -+ if (yych <= 'n') goto yy1485; - if (yych <= 'z') goto yy175; - goto yy3; - } - } - } --yy1483: -+yy1485: - yyaccept = 0; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'H') { -@@ -21958,7 +22157,7 @@ yy1483: - } - } else { - if (yych <= '_') { -- if (yych <= 'I') goto yy1469; -+ if (yych <= 'I') goto yy1471; - if (yych <= 'Z') goto yy168; - if (yych <= '^') goto yy3; - goto yy172; -@@ -21967,13 +22166,13 @@ yy1483: - if (yych <= '`') goto yy3; - goto yy176; - } else { -- if (yych <= 'i') goto yy1484; -+ if (yych <= 'i') goto yy1486; - if (yych <= 'z') goto yy176; - goto yy3; - } - } - } --yy1484: -+yy1486: - yyaccept = 0; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'F') { -@@ -21988,7 +22187,7 @@ yy1484: - } - } else { - if (yych <= '_') { -- if (yych <= 'G') goto yy1470; -+ if (yych <= 'G') goto yy1472; - if (yych <= 'Z') goto yy169; - if (yych <= '^') goto yy3; - goto yy172; -@@ -21997,13 +22196,13 @@ yy1484: - if (yych <= '`') goto yy3; - goto yy177; - } else { -- if (yych <= 'g') goto yy1485; -+ if (yych <= 'g') goto yy1487; - if (yych <= 'z') goto yy177; - goto yy3; - } - } - } --yy1485: -+yy1487: - yyaccept = 0; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'G') { -@@ -22017,18 +22216,18 @@ yy1485: - } - } else { - if (yych <= '`') { -- if (yych <= 'H') goto yy1471; -+ if (yych <= 'H') goto yy1473; - if (yych == '_') goto yy172; - goto yy3; - } else { -- if (yych == 'h') goto yy1486; -+ if (yych == 'h') goto yy1488; - if (yych <= 'z') goto yy178; - goto yy3; - } - } --yy1486: -+yy1488: - yych = *++YYCURSOR; -- if (yych == 'T') goto yy1472; -+ if (yych == 'T') goto yy1474; - if (yych != 't') goto yy179; - yyaccept = 30; - yych = *(YYMARKER = ++YYCURSOR); -@@ -22037,13 +22236,13 @@ yy1486: - } - if (yych <= '.') { - if (yych == '-') goto yy172; -- goto yy1418; -+ goto yy1420; - } else { - if (yych <= '/') goto yy172; - if (yych == '_') goto yy172; -- goto yy1418; -+ goto yy1420; - } --yy1488: -+yy1490: - yyaccept = 5; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= '9') { -@@ -22071,7 +22270,7 @@ yy1488: - if (yych <= '@') goto yy218; - goto yy167; - } else { -- if (yych <= 'C') goto yy1475; -+ if (yych <= 'C') goto yy1477; - if (yych <= 'Z') goto yy167; - goto yy218; - } -@@ -22081,13 +22280,13 @@ yy1488: - if (yych <= '`') goto yy218; - goto yy175; - } else { -- if (yych <= 'c') goto yy1490; -+ if (yych <= 'c') goto yy1492; - if (yych <= 'z') goto yy175; - goto yy218; - } - } - } --yy1489: -+yy1491: - yyaccept = 5; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= '.') { -@@ -22122,7 +22321,7 @@ yy1489: - } - } - } --yy1490: -+yy1492: - yyaccept = 0; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'G') { -@@ -22152,7 +22351,7 @@ yy1490: - } - } - } --yy1491: -+yy1493: - yych = *++YYCURSOR; - if (yych <= 'W') { - if (yych <= 'N') { -@@ -22160,29 +22359,29 @@ yy1491: - if (yych <= '@') goto yy3; - goto yy166; - } else { -- if (yych <= 'O') goto yy1499; -+ if (yych <= 'O') goto yy1501; - if (yych <= 'U') goto yy166; -- if (yych <= 'V') goto yy1500; -- goto yy1497; -+ if (yych <= 'V') goto yy1502; -+ goto yy1499; - } - } else { - if (yych <= 'o') { - if (yych <= 'Z') goto yy166; - if (yych <= '`') goto yy3; - if (yych <= 'n') goto yy166; -- goto yy1499; -+ goto yy1501; - } else { - if (yych <= 'v') { - if (yych <= 'u') goto yy166; -- goto yy1500; -+ goto yy1502; - } else { -- if (yych <= 'w') goto yy1497; -+ if (yych <= 'w') goto yy1499; - if (yych <= 'z') goto yy166; - goto yy3; - } - } - } --yy1492: -+yy1494: - yych = *++YYCURSOR; - if (yych <= 'X') { - if (yych <= ')') { -@@ -22191,7 +22390,7 @@ yy1492: - } else { - if (yych <= '@') goto yy3; - if (yych <= 'W') goto yy166; -- goto yy1496; -+ goto yy1498; - } - } else { - if (yych <= 'w') { -@@ -22199,12 +22398,12 @@ yy1492: - if (yych <= '`') goto yy3; - goto yy166; - } else { -- if (yych <= 'x') goto yy1496; -+ if (yych <= 'x') goto yy1498; - if (yych <= 'z') goto yy166; - goto yy3; - } - } --yy1493: -+yy1495: - yych = *++YYCURSOR; - if (yych <= 'N') { - if (yych <= ')') { -@@ -22220,12 +22419,12 @@ yy1493: - if (yych <= '`') goto yy3; - goto yy166; - } else { -- if (yych <= 'n') goto yy1494; -+ if (yych <= 'n') goto yy1496; - if (yych <= 'z') goto yy166; - goto yy3; - } - } --yy1494: -+yy1496: - yych = *++YYCURSOR; - if (yych <= 'T') { - if (yych <= ')') { -@@ -22241,12 +22440,12 @@ yy1494: - if (yych <= '`') goto yy3; - goto yy167; - } else { -- if (yych <= 't') goto yy1495; -+ if (yych <= 't') goto yy1497; - if (yych <= 'z') goto yy167; - goto yy3; - } - } --yy1495: -+yy1497: - yych = *++YYCURSOR; - if (yych <= 'H') { - if (yych <= ')') { -@@ -22268,7 +22467,7 @@ yy1495: - goto yy3; - } - } --yy1496: -+yy1498: - yych = *++YYCURSOR; - if (yych <= 'T') { - if (yych <= ')') { -@@ -22277,7 +22476,7 @@ yy1496: - } else { - if (yych <= '@') goto yy3; - if (yych <= 'S') goto yy167; -- goto yy1426; -+ goto yy1428; - } - } else { - if (yych <= 's') { -@@ -22285,21 +22484,22 @@ yy1496: - if (yych <= '`') goto yy3; - goto yy167; - } else { -- if (yych <= 't') goto yy1426; -+ if (yych <= 't') goto yy1428; - if (yych <= 'z') goto yy167; - goto yy3; - } - } --yy1497: -+yy1499: - ++YYCURSOR; - if ((yych = *YYCURSOR) <= '@') { - if (yych == ')') goto yy164; - } else { - if (yych <= 'Z') goto yy167; -- if (yych <= '`') goto yy1498; -+ if (yych <= '`') goto yy1500; - if (yych <= 'z') goto yy167; - } --yy1498: -+yy1500: -+#line 982 "ext/date/lib/parse_date.re" - { - DEBUG_OUTPUT("now"); - TIMELIB_INIT; -@@ -22307,7 +22507,8 @@ yy1498: - TIMELIB_DEINIT; - return TIMELIB_RELATIVE; - } --yy1499: -+#line 22511 "ext/date/lib/parse_date.c" -+yy1501: - yych = *++YYCURSOR; - if (yych <= 'N') { - if (yych <= ')') { -@@ -22316,7 +22517,7 @@ yy1499: - } else { - if (yych <= '@') goto yy3; - if (yych <= 'M') goto yy167; -- goto yy1505; -+ goto yy1507; - } - } else { - if (yych <= 'm') { -@@ -22324,12 +22525,12 @@ yy1499: - if (yych <= '`') goto yy3; - goto yy167; - } else { -- if (yych <= 'n') goto yy1505; -+ if (yych <= 'n') goto yy1507; - if (yych <= 'z') goto yy167; - goto yy3; - } - } --yy1500: -+yy1502: - yyaccept = 5; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= '/') { -@@ -22364,13 +22565,13 @@ yy1500: - if (yych <= '`') goto yy218; - goto yy167; - } else { -- if (yych <= 'e') goto yy1501; -+ if (yych <= 'e') goto yy1503; - if (yych <= 'z') goto yy167; - goto yy218; - } - } - } --yy1501: -+yy1503: - yych = *++YYCURSOR; - if (yych <= 'M') { - if (yych <= ')') { -@@ -22386,12 +22587,12 @@ yy1501: - if (yych <= '`') goto yy3; - goto yy168; - } else { -- if (yych <= 'm') goto yy1502; -+ if (yych <= 'm') goto yy1504; - if (yych <= 'z') goto yy168; - goto yy3; - } - } --yy1502: -+yy1504: - yych = *++YYCURSOR; - if (yych <= 'B') { - if (yych <= ')') { -@@ -22407,36 +22608,37 @@ yy1502: - if (yych <= '`') goto yy3; - goto yy169; - } else { -- if (yych <= 'b') goto yy1503; -+ if (yych <= 'b') goto yy1505; - if (yych <= 'z') goto yy169; - goto yy3; - } - } --yy1503: -+yy1505: - yyaccept = 0; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'D') { - if (yych == ')') goto yy164; - goto yy3; - } else { -- if (yych <= 'E') goto yy1504; -+ if (yych <= 'E') goto yy1506; - if (yych != 'e') goto yy3; - } --yy1504: -+yy1506: - yych = *++YYCURSOR; - if (yych == 'R') goto yy229; - if (yych == 'r') goto yy229; - goto yy56; --yy1505: -+yy1507: - ++YYCURSOR; - if ((yych = *YYCURSOR) <= '@') { - if (yych == ')') goto yy164; - } else { - if (yych <= 'Z') goto yy168; -- if (yych <= '`') goto yy1506; -+ if (yych <= '`') goto yy1508; - if (yych <= 'z') goto yy168; - } --yy1506: -+yy1508: -+#line 991 "ext/date/lib/parse_date.re" - { - DEBUG_OUTPUT("noon"); - TIMELIB_INIT; -@@ -22447,7 +22649,8 @@ yy1506: - TIMELIB_DEINIT; - return TIMELIB_RELATIVE; - } --yy1507: -+#line 22653 "ext/date/lib/parse_date.c" -+yy1509: - yyaccept = 0; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'V') { -@@ -22465,15 +22668,15 @@ yy1507: - if (yych <= '@') goto yy3; - goto yy166; - } else { -- if (yych <= 'O') goto yy1499; -+ if (yych <= 'O') goto yy1501; - if (yych <= 'U') goto yy166; -- goto yy1500; -+ goto yy1502; - } - } - } else { - if (yych <= 'n') { - if (yych <= '^') { -- if (yych <= 'W') goto yy1497; -+ if (yych <= 'W') goto yy1499; - if (yych <= 'Z') goto yy166; - goto yy3; - } else { -@@ -22483,17 +22686,17 @@ yy1507: - } - } else { - if (yych <= 'v') { -- if (yych <= 'o') goto yy1514; -+ if (yych <= 'o') goto yy1516; - if (yych <= 'u') goto yy171; -- goto yy1515; -+ goto yy1517; - } else { -- if (yych <= 'w') goto yy1513; -+ if (yych <= 'w') goto yy1515; - if (yych <= 'z') goto yy171; - goto yy3; - } - } - } --yy1508: -+yy1510: - yyaccept = 0; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'W') { -@@ -22508,7 +22711,7 @@ yy1508: - } - } else { - if (yych <= '_') { -- if (yych <= 'X') goto yy1496; -+ if (yych <= 'X') goto yy1498; - if (yych <= 'Z') goto yy166; - if (yych <= '^') goto yy3; - goto yy172; -@@ -22517,13 +22720,13 @@ yy1508: - if (yych <= '`') goto yy3; - goto yy171; - } else { -- if (yych <= 'x') goto yy1512; -+ if (yych <= 'x') goto yy1514; - if (yych <= 'z') goto yy171; - goto yy3; - } - } - } --yy1509: -+yy1511: - yyaccept = 0; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'M') { -@@ -22538,7 +22741,7 @@ yy1509: - } - } else { - if (yych <= '_') { -- if (yych <= 'N') goto yy1494; -+ if (yych <= 'N') goto yy1496; - if (yych <= 'Z') goto yy166; - if (yych <= '^') goto yy3; - goto yy172; -@@ -22547,13 +22750,13 @@ yy1509: - if (yych <= '`') goto yy3; - goto yy171; - } else { -- if (yych <= 'n') goto yy1510; -+ if (yych <= 'n') goto yy1512; - if (yych <= 'z') goto yy171; - goto yy3; - } - } - } --yy1510: -+yy1512: - yyaccept = 0; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'S') { -@@ -22568,7 +22771,7 @@ yy1510: - } - } else { - if (yych <= '_') { -- if (yych <= 'T') goto yy1495; -+ if (yych <= 'T') goto yy1497; - if (yych <= 'Z') goto yy167; - if (yych <= '^') goto yy3; - goto yy172; -@@ -22577,13 +22780,13 @@ yy1510: - if (yych <= '`') goto yy3; - goto yy175; - } else { -- if (yych <= 't') goto yy1511; -+ if (yych <= 't') goto yy1513; - if (yych <= 'z') goto yy175; - goto yy3; - } - } - } --yy1511: -+yy1513: - yyaccept = 0; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'G') { -@@ -22613,7 +22816,7 @@ yy1511: - } - } - } --yy1512: -+yy1514: - yyaccept = 0; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'S') { -@@ -22628,7 +22831,7 @@ yy1512: - } - } else { - if (yych <= '_') { -- if (yych <= 'T') goto yy1426; -+ if (yych <= 'T') goto yy1428; - if (yych <= 'Z') goto yy167; - if (yych <= '^') goto yy3; - goto yy172; -@@ -22637,36 +22840,36 @@ yy1512: - if (yych <= '`') goto yy3; - goto yy175; - } else { -- if (yych <= 't') goto yy1458; -+ if (yych <= 't') goto yy1460; - if (yych <= 'z') goto yy175; - goto yy3; - } - } - } --yy1513: -+yy1515: - yyaccept = 31; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= '/') { - if (yych <= ',') { - if (yych == ')') goto yy164; -- goto yy1498; -+ goto yy1500; - } else { -- if (yych == '.') goto yy1498; -+ if (yych == '.') goto yy1500; - goto yy172; - } - } else { - if (yych <= '^') { -- if (yych <= '@') goto yy1498; -+ if (yych <= '@') goto yy1500; - if (yych <= 'Z') goto yy167; -- goto yy1498; -+ goto yy1500; - } else { - if (yych <= '_') goto yy172; -- if (yych <= '`') goto yy1498; -+ if (yych <= '`') goto yy1500; - if (yych <= 'z') goto yy175; -- goto yy1498; -+ goto yy1500; - } - } --yy1514: -+yy1516: - yyaccept = 0; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'M') { -@@ -22681,7 +22884,7 @@ yy1514: - } - } else { - if (yych <= '_') { -- if (yych <= 'N') goto yy1505; -+ if (yych <= 'N') goto yy1507; - if (yych <= 'Z') goto yy167; - if (yych <= '^') goto yy3; - goto yy172; -@@ -22690,13 +22893,13 @@ yy1514: - if (yych <= '`') goto yy3; - goto yy175; - } else { -- if (yych <= 'n') goto yy1520; -+ if (yych <= 'n') goto yy1522; - if (yych <= 'z') goto yy175; - goto yy3; - } - } - } --yy1515: -+yy1517: - yyaccept = 5; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= '9') { -@@ -22724,7 +22927,7 @@ yy1515: - if (yych <= '@') goto yy218; - goto yy167; - } else { -- if (yych <= 'E') goto yy1501; -+ if (yych <= 'E') goto yy1503; - if (yych <= 'Z') goto yy167; - goto yy218; - } -@@ -22734,13 +22937,13 @@ yy1515: - if (yych <= '`') goto yy218; - goto yy175; - } else { -- if (yych <= 'e') goto yy1516; -+ if (yych <= 'e') goto yy1518; - if (yych <= 'z') goto yy175; - goto yy218; - } - } - } --yy1516: -+yy1518: - yyaccept = 0; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'L') { -@@ -22755,7 +22958,7 @@ yy1516: - } - } else { - if (yych <= '_') { -- if (yych <= 'M') goto yy1502; -+ if (yych <= 'M') goto yy1504; - if (yych <= 'Z') goto yy168; - if (yych <= '^') goto yy3; - goto yy172; -@@ -22764,13 +22967,13 @@ yy1516: - if (yych <= '`') goto yy3; - goto yy176; - } else { -- if (yych <= 'm') goto yy1517; -+ if (yych <= 'm') goto yy1519; - if (yych <= 'z') goto yy176; - goto yy3; - } - } - } --yy1517: -+yy1519: - yyaccept = 0; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'A') { -@@ -22785,7 +22988,7 @@ yy1517: - } - } else { - if (yych <= '_') { -- if (yych <= 'B') goto yy1503; -+ if (yych <= 'B') goto yy1505; - if (yych <= 'Z') goto yy169; - if (yych <= '^') goto yy3; - goto yy172; -@@ -22794,13 +22997,13 @@ yy1517: - if (yych <= '`') goto yy3; - goto yy177; - } else { -- if (yych <= 'b') goto yy1518; -+ if (yych <= 'b') goto yy1520; - if (yych <= 'z') goto yy177; - goto yy3; - } - } - } --yy1518: -+yy1520: - yyaccept = 0; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'D') { -@@ -22814,44 +23017,44 @@ yy1518: - } - } else { - if (yych <= '`') { -- if (yych <= 'E') goto yy1504; -+ if (yych <= 'E') goto yy1506; - if (yych == '_') goto yy172; - goto yy3; - } else { -- if (yych == 'e') goto yy1519; -+ if (yych == 'e') goto yy1521; - if (yych <= 'z') goto yy178; - goto yy3; - } - } --yy1519: -+yy1521: - yych = *++YYCURSOR; - if (yych == 'R') goto yy229; - if (yych == 'r') goto yy341; - goto yy179; --yy1520: -+yy1522: - yyaccept = 32; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= '/') { - if (yych <= ',') { - if (yych == ')') goto yy164; -- goto yy1506; -+ goto yy1508; - } else { -- if (yych == '.') goto yy1506; -+ if (yych == '.') goto yy1508; - goto yy172; - } - } else { - if (yych <= '^') { -- if (yych <= '@') goto yy1506; -+ if (yych <= '@') goto yy1508; - if (yych <= 'Z') goto yy168; -- goto yy1506; -+ goto yy1508; - } else { - if (yych <= '_') goto yy172; -- if (yych <= '`') goto yy1506; -+ if (yych <= '`') goto yy1508; - if (yych <= 'z') goto yy176; -- goto yy1506; -+ goto yy1508; - } - } --yy1521: -+yy1523: - yych = *++YYCURSOR; - if (yych <= 'S') { - if (yych <= ')') { -@@ -22867,12 +23070,12 @@ yy1521: - if (yych <= '`') goto yy3; - goto yy166; - } else { -- if (yych <= 's') goto yy1522; -+ if (yych <= 's') goto yy1524; - if (yych <= 'z') goto yy166; - goto yy3; - } - } --yy1522: -+yy1524: - yych = *++YYCURSOR; - if (yych <= 'T') { - if (yych <= ')') { -@@ -22888,12 +23091,12 @@ yy1522: - if (yych <= '`') goto yy3; - goto yy167; - } else { -- if (yych <= 't') goto yy1523; -+ if (yych <= 't') goto yy1525; - if (yych <= 'z') goto yy167; - goto yy3; - } - } --yy1523: -+yy1525: - yych = *++YYCURSOR; - if (yych <= 'E') { - if (yych <= ')') { -@@ -22909,12 +23112,12 @@ yy1523: - if (yych <= '`') goto yy3; - goto yy168; - } else { -- if (yych <= 'e') goto yy1524; -+ if (yych <= 'e') goto yy1526; - if (yych <= 'z') goto yy168; - goto yy3; - } - } --yy1524: -+yy1526: - yych = *++YYCURSOR; - if (yych <= 'R') { - if (yych <= ')') { -@@ -22930,32 +23133,33 @@ yy1524: - if (yych <= '`') goto yy3; - goto yy169; - } else { -- if (yych <= 'r') goto yy1525; -+ if (yych <= 'r') goto yy1527; - if (yych <= 'z') goto yy169; - goto yy3; - } - } --yy1525: -+yy1527: - yyaccept = 0; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'C') { - if (yych == ')') goto yy164; - goto yy3; - } else { -- if (yych <= 'D') goto yy1526; -+ if (yych <= 'D') goto yy1528; - if (yych != 'd') goto yy3; - } --yy1526: -+yy1528: - yych = *++YYCURSOR; -- if (yych == 'A') goto yy1527; -+ if (yych == 'A') goto yy1529; - if (yych != 'a') goto yy56; --yy1527: -+yy1529: - yych = *++YYCURSOR; -- if (yych == 'Y') goto yy1528; -+ if (yych == 'Y') goto yy1530; - if (yych != 'y') goto yy56; --yy1528: -+yy1530: - ++YYCURSOR; --yy1529: -+yy1531: -+#line 970 "ext/date/lib/parse_date.re" - { - DEBUG_OUTPUT("yesterday"); - TIMELIB_INIT; -@@ -22966,7 +23170,8 @@ yy1529: - TIMELIB_DEINIT; - return TIMELIB_RELATIVE; - } --yy1530: -+#line 23174 "ext/date/lib/parse_date.c" -+yy1532: - yyaccept = 0; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'R') { -@@ -22981,7 +23186,7 @@ yy1530: - } - } else { - if (yych <= '_') { -- if (yych <= 'S') goto yy1522; -+ if (yych <= 'S') goto yy1524; - if (yych <= 'Z') goto yy166; - if (yych <= '^') goto yy3; - goto yy172; -@@ -22990,13 +23195,13 @@ yy1530: - if (yych <= '`') goto yy3; - goto yy171; - } else { -- if (yych <= 's') goto yy1531; -+ if (yych <= 's') goto yy1533; - if (yych <= 'z') goto yy171; - goto yy3; - } - } - } --yy1531: -+yy1533: - yyaccept = 0; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'S') { -@@ -23011,7 +23216,7 @@ yy1531: - } - } else { - if (yych <= '_') { -- if (yych <= 'T') goto yy1523; -+ if (yych <= 'T') goto yy1525; - if (yych <= 'Z') goto yy167; - if (yych <= '^') goto yy3; - goto yy172; -@@ -23020,13 +23225,13 @@ yy1531: - if (yych <= '`') goto yy3; - goto yy175; - } else { -- if (yych <= 't') goto yy1532; -+ if (yych <= 't') goto yy1534; - if (yych <= 'z') goto yy175; - goto yy3; - } - } - } --yy1532: -+yy1534: - yyaccept = 0; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'D') { -@@ -23041,7 +23246,7 @@ yy1532: - } - } else { - if (yych <= '_') { -- if (yych <= 'E') goto yy1524; -+ if (yych <= 'E') goto yy1526; - if (yych <= 'Z') goto yy168; - if (yych <= '^') goto yy3; - goto yy172; -@@ -23050,13 +23255,13 @@ yy1532: - if (yych <= '`') goto yy3; - goto yy176; - } else { -- if (yych <= 'e') goto yy1533; -+ if (yych <= 'e') goto yy1535; - if (yych <= 'z') goto yy176; - goto yy3; - } - } - } --yy1533: -+yy1535: - yyaccept = 0; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'Q') { -@@ -23071,7 +23276,7 @@ yy1533: - } - } else { - if (yych <= '_') { -- if (yych <= 'R') goto yy1525; -+ if (yych <= 'R') goto yy1527; - if (yych <= 'Z') goto yy169; - if (yych <= '^') goto yy3; - goto yy172; -@@ -23080,13 +23285,13 @@ yy1533: - if (yych <= '`') goto yy3; - goto yy177; - } else { -- if (yych <= 'r') goto yy1534; -+ if (yych <= 'r') goto yy1536; - if (yych <= 'z') goto yy177; - goto yy3; - } - } - } --yy1534: -+yy1536: - yyaccept = 0; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 'C') { -@@ -23100,21 +23305,21 @@ yy1534: - } - } else { - if (yych <= '`') { -- if (yych <= 'D') goto yy1526; -+ if (yych <= 'D') goto yy1528; - if (yych == '_') goto yy172; - goto yy3; - } else { -- if (yych == 'd') goto yy1535; -+ if (yych == 'd') goto yy1537; - if (yych <= 'z') goto yy178; - goto yy3; - } - } --yy1535: -+yy1537: - yych = *++YYCURSOR; -- if (yych == 'A') goto yy1527; -+ if (yych == 'A') goto yy1529; - if (yych != 'a') goto yy179; - yych = *++YYCURSOR; -- if (yych == 'Y') goto yy1528; -+ if (yych == 'Y') goto yy1530; - if (yych != 'y') goto yy179; - yyaccept = 33; - yych = *(YYMARKER = ++YYCURSOR); -@@ -23123,13 +23328,14 @@ yy1535: - } - if (yych <= '.') { - if (yych == '-') goto yy172; -- goto yy1529; -+ goto yy1531; - } else { - if (yych <= '/') goto yy172; - if (yych == '_') goto yy172; -- goto yy1529; -+ goto yy1531; - } - } -+#line 1772 "ext/date/lib/parse_date.re" - - } - -diff --git a/ext/date/lib/parse_date.re b/ext/date/lib/parse_date.re -index 74d9ea3..f26e276 100644 ---- a/ext/date/lib/parse_date.re -+++ b/ext/date/lib/parse_date.re -@@ -931,8 +931,8 @@ isoweek = year4 "-"? "W" weekofyear; - exif = year4 ":" monthlz ":" daylz " " hour24lz ":" minutelz ":" secondlz; - firstdayof = 'first day of'; - lastdayof = 'last day of'; --backof = 'back of ' hour24 space? meridian?; --frontof = 'front of ' hour24 space? meridian?; -+backof = 'back of ' hour24 (space? meridian)?; -+frontof = 'front of ' hour24 (space? meridian)?; - - /* Common Log Format: 10/Oct/2000:13:55:36 -0700 */ - clf = day "/" monthabbr "/" year4 ":" hour24lz ":" minutelz ":" secondlz space tzcorrection; -diff --git a/ext/date/tests/bug53437_var3.phpt b/ext/date/tests/bug53437_var3.phpt -index 8f48b1b..8dcd4c8 100644 ---- a/ext/date/tests/bug53437_var3.phpt -+++ b/ext/date/tests/bug53437_var3.phpt -@@ -40,7 +40,7 @@ object(DateInterval)#%d (16) { - ["special_amount"]=> - int(-1) - ["have_weekday_relative"]=> -- int(9) -+ int(0) - ["have_special_relative"]=> - int(0) - ["f"]=> -diff --git a/ext/wddx/tests/bug75055.phpt b/ext/wddx/tests/bug75055.phpt -new file mode 100644 -index 0000000..2956284 ---- /dev/null -+++ b/ext/wddx/tests/bug75055.phpt -@@ -0,0 +1,20 @@ -+--TEST-- -+Bug #75055 Out-Of-Bounds Read in timelib_meridian() -+--SKIPIF-- -+ -+--FILE-- -+ -+--EXPECT-- -+323 bytes read. -+array(1) { -+ ["aDateTime"]=> -+ string(12) "frONt of 0 0" -+} -diff --git a/ext/wddx/tests/bug75055.wddx b/ext/wddx/tests/bug75055.wddx -new file mode 100644 -index 0000000..6493352 ---- /dev/null -+++ b/ext/wddx/tests/bug75055.wddx -@@ -0,0 +1,13 @@ -+ -+ -+ -+
-+ -+ -+ -+ frONt of 0 0 -+ -+ -+ -+ -+ --- -2.11.0 - diff --git a/meta-oe/recipes-devtools/php/php-7.1.9/CVE-2018-5711.patch b/meta-oe/recipes-devtools/php/php-7.1.9/CVE-2018-5711.patch deleted file mode 100644 index 596244d6ba..0000000000 --- a/meta-oe/recipes-devtools/php/php-7.1.9/CVE-2018-5711.patch +++ /dev/null @@ -1,56 +0,0 @@ -From b04cd19b76374ebce8f3326275bdfd7e9b9aeab5 Mon Sep 17 00:00:00 2001 -From: Li Zhou -Date: Sun, 11 Feb 2018 15:03:21 +0800 -Subject: [PATCH] Fixed bug #75571: Potential infinite loop in - gdImageCreateFromGifCtx - -Due to a signedness confusion in `GetCode_` a corrupt GIF file can -trigger an infinite loop. Furthermore we make sure that a GIF without -any palette entries is treated as invalid *after* open palette entries -have been removed. - -Upstream-Status: Backport -CVE: CVE-2018-5711 -Signed-off-by: Li Zhou ---- - ext/gd/libgd/gd_gif_in.c | 10 +++++----- - 1 file changed, 5 insertions(+), 5 deletions(-) - -diff --git a/ext/gd/libgd/gd_gif_in.c b/ext/gd/libgd/gd_gif_in.c -index 76ba152..7156e4b 100644 ---- a/ext/gd/libgd/gd_gif_in.c -+++ b/ext/gd/libgd/gd_gif_in.c -@@ -261,10 +261,6 @@ terminated: - if (!im) { - return 0; - } -- if (!im->colorsTotal) { -- gdImageDestroy(im); -- return 0; -- } - /* Check for open colors at the end, so - we can reduce colorsTotal and ultimately - BitsPerPixel */ -@@ -275,6 +271,10 @@ terminated: - break; - } - } -+ if (!im->colorsTotal) { -+ gdImageDestroy(im); -+ return 0; -+ } - return im; - } - /* }}} */ -@@ -375,7 +375,7 @@ static int - GetCode_(gdIOCtx *fd, CODE_STATIC_DATA *scd, int code_size, int flag, int *ZeroDataBlockP) - { - int i, j, ret; -- unsigned char count; -+ int count; - - if (flag) { - scd->curbit = 0; --- -1.9.1 - diff --git a/meta-oe/recipes-devtools/php/php-7.1.9/change-AC_TRY_RUN-to-AC_TRY_LINK.patch b/meta-oe/recipes-devtools/php/php-7.1.9/change-AC_TRY_RUN-to-AC_TRY_LINK.patch deleted file mode 100644 index 39c334f39d..0000000000 --- a/meta-oe/recipes-devtools/php/php-7.1.9/change-AC_TRY_RUN-to-AC_TRY_LINK.patch +++ /dev/null @@ -1,56 +0,0 @@ -[PATCH] config.m4: change AC_TRY_RUN to AC_TRY_LINK - -Upstream-Status: Pending - -AC_TRY_RUN is not suitable for cross-compile - -Signed-off-by: Roy Li ---- - ext/fileinfo/config.m4 | 31 ++++++------------------------- - 1 file changed, 6 insertions(+), 25 deletions(-) - -diff --git a/ext/fileinfo/config.m4 b/ext/fileinfo/config.m4 -index 7e98d62..8a8ea0e 100644 ---- a/ext/fileinfo/config.m4 -+++ b/ext/fileinfo/config.m4 -@@ -14,31 +14,12 @@ if test "$PHP_FILEINFO" != "no"; then - libmagic/readcdf.c libmagic/softmagic.c" - - AC_MSG_CHECKING([for strcasestr]) -- AC_TRY_RUN([ --#include --#include --#include -- --int main(void) --{ -- char *s0, *s1, *ret; -- -- s0 = (char *) malloc(42); -- s1 = (char *) malloc(8); -- -- memset(s0, 'X', 42); -- s0[24] = 'Y'; -- s0[26] = 'Z'; -- s0[41] = '\0'; -- memset(s1, 'x', 8); -- s1[0] = 'y'; -- s1[2] = 'Z'; -- s1[7] = '\0'; -- -- ret = strcasestr(s0, s1); -- -- return !(NULL != ret); --} -+ AC_TRY_COMPILE([ -+ #include -+ #include -+ #include -+ ],[ -+ strcasestr(NULL, NULL); - ],[ - dnl using the platform implementation - AC_MSG_RESULT(yes) --- -1.9.1 - diff --git a/meta-oe/recipes-devtools/php/php/0001-Add-lpthread-to-link.patch b/meta-oe/recipes-devtools/php/php/0001-Add-lpthread-to-link.patch new file mode 100644 index 0000000000..f70e550ff6 --- /dev/null +++ b/meta-oe/recipes-devtools/php/php/0001-Add-lpthread-to-link.patch @@ -0,0 +1,38 @@ +From ed0a954983d50267c2fc0bc13aba929ea0cad971 Mon Sep 17 00:00:00 2001 +From: Dengke Du +Date: Tue, 2 May 2017 06:34:40 +0000 +Subject: [PATCH] Add -lpthread to link + +When building the php-5.6.26, the following errors occured: + + ld: TSRM/.libs/TSRM.o: undefined reference to symbol + 'pthread_sigmask@@GLIBC_2.2.5' + + error adding symbols: DSO missing from command line + +This is because no pthread to link, so we should add it. + +Upstream-Status: Pending + +Signed-off-by: Dengke Du +--- + configure.in | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +diff --git a/configure.in b/configure.in +index a467dff1..9afef652 100644 +--- a/configure.in ++++ b/configure.in +@@ -1058,7 +1058,8 @@ case $php_sapi_module in + ;; + esac + +-EXTRA_LIBS="$EXTRA_LIBS $DLIBS $LIBS" ++PTHREAD_LIBS="-lpthread" ++EXTRA_LIBS="$EXTRA_LIBS $DLIBS $LIBS $PTHREAD_LIBS" + + dnl this has to be here to prevent the openssl crypt() from + dnl overriding the system provided crypt(). +-- +2.11.0 + diff --git a/meta-oe/recipes-devtools/php/php/0001-Specify-tag-with-libtool.patch b/meta-oe/recipes-devtools/php/php/0001-Specify-tag-with-libtool.patch new file mode 100644 index 0000000000..18b4937dbd --- /dev/null +++ b/meta-oe/recipes-devtools/php/php/0001-Specify-tag-with-libtool.patch @@ -0,0 +1,62 @@ +From 5c84b039e97abd88f6a18da0e6d27383c00fea92 Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Wed, 26 Jul 2017 23:06:56 -0700 +Subject: [PATCH] Specify --tag with libtool + +This helps in compiling with external toolchains +with -fPIE appended to CC e.g. via hardening flags + +Signed-off-by: Khem Raj +--- + acinclude.m4 | 8 ++++---- + configure.in | 4 ++-- + 2 files changed, 6 insertions(+), 6 deletions(-) + +diff --git a/acinclude.m4 b/acinclude.m4 +index a114a98..1cc7a26 100644 +--- a/acinclude.m4 ++++ b/acinclude.m4 +@@ -806,10 +806,10 @@ dnl + dnl PHP_BUILD_PROGRAM + dnl + AC_DEFUN([PHP_BUILD_PROGRAM],[ +- php_c_pre='$(LIBTOOL) --mode=compile $(CC)' ++ php_c_pre='$(LIBTOOL) --tag=CC --mode=compile $(CC)' + php_c_meta='$(COMMON_FLAGS) $(CFLAGS_CLEAN) $(EXTRA_CFLAGS)' + php_c_post= +- php_cxx_pre='$(LIBTOOL) --mode=compile $(CXX)' ++ php_cxx_pre='$(LIBTOOL) --tag=CXX --mode=compile $(CXX)' + php_cxx_meta='$(COMMON_FLAGS) $(CXXFLAGS_CLEAN) $(EXTRA_CXXFLAGS)' + php_cxx_post= + php_lo=lo +@@ -819,10 +819,10 @@ AC_DEFUN([PHP_BUILD_PROGRAM],[ + no) pic_setting='-prefer-non-pic';; + esac + +- shared_c_pre='$(LIBTOOL) --mode=compile $(CC)' ++ shared_c_pre='$(LIBTOOL) --tag=CC --mode=compile $(CC)' + shared_c_meta='$(COMMON_FLAGS) $(CFLAGS_CLEAN) $(EXTRA_CFLAGS) '$pic_setting + shared_c_post= +- shared_cxx_pre='$(LIBTOOL) --mode=compile $(CXX)' ++ shared_cxx_pre='$(LIBTOOL) --tag=CXX --mode=compile $(CXX)' + shared_cxx_meta='$(COMMON_FLAGS) $(CXXFLAGS_CLEAN) $(EXTRA_CXXFLAGS) '$pic_setting + shared_cxx_post= + shared_lo=lo +diff --git a/configure.in b/configure.in +index 7d65b63..7221af9 100644 +--- a/configure.in ++++ b/configure.in +@@ -1431,8 +1431,8 @@ PHP_SET_LIBTOOL_VARIABLE([--silent]) + dnl libtool 1.4.3 needs this. + PHP_SET_LIBTOOL_VARIABLE([--preserve-dup-deps]) + +-test -z "$PHP_COMPILE" && PHP_COMPILE='$(LIBTOOL) --mode=compile $(COMPILE) -c $<' +-test -z "$CXX_PHP_COMPILE" && CXX_PHP_COMPILE='$(LIBTOOL) --mode=compile $(CXX_COMPILE) -c $<' ++test -z "$PHP_COMPILE" && PHP_COMPILE='$(LIBTOOL) --tag=CC --mode=compile $(COMPILE) -c $<' ++test -z "$CXX_PHP_COMPILE" && CXX_PHP_COMPILE='$(LIBTOOL) --tag=CXX --mode=compile $(CXX_COMPILE) -c $<' + SHARED_LIBTOOL='$(LIBTOOL)' + + CC=$old_CC +-- +2.13.3 + diff --git a/meta-oe/recipes-devtools/php/php/CVE-2017-16642.patch b/meta-oe/recipes-devtools/php/php/CVE-2017-16642.patch new file mode 100644 index 0000000000..41d2a0f612 --- /dev/null +++ b/meta-oe/recipes-devtools/php/php/CVE-2017-16642.patch @@ -0,0 +1,5241 @@ +From f2f90767311355cafabff604a7a857ca60ee3f01 Mon Sep 17 00:00:00 2001 +From: Li Zhou +Date: Wed, 22 Nov 2017 21:14:59 -0800 +Subject: [PATCH] Fixed bug #75055 Out-Of-Bounds Read in timelib_meridian() + +Upstream-Status: Backport +CVE: CVE-2017-16642 +Signed-off-by: Li Zhou +--- + ext/date/lib/parse_date.c | 1544 +++++++++++++++++++++---------------- + ext/date/lib/parse_date.re | 4 +- + ext/date/tests/bug53437_var3.phpt | 2 +- + ext/wddx/tests/bug75055.phpt | 20 + + ext/wddx/tests/bug75055.wddx | 13 + + 5 files changed, 911 insertions(+), 672 deletions(-) + create mode 100644 ext/wddx/tests/bug75055.phpt + create mode 100644 ext/wddx/tests/bug75055.wddx + +diff --git a/ext/date/lib/parse_date.c b/ext/date/lib/parse_date.c +index f929619..6b11418 100644 +--- a/ext/date/lib/parse_date.c ++++ b/ext/date/lib/parse_date.c +@@ -1,4 +1,5 @@ +-/* Generated by re2c 0.15.3 on Tue Jul 4 21:15:17 2017 */ ++/* Generated by re2c 0.15.3 on Wed Nov 22 21:14:47 2017 */ ++#line 1 "ext/date/lib/parse_date.re" + /* + * The MIT License (MIT) + * +@@ -837,9 +838,11 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) + std: + s->tok = cursor; + s->len = 0; ++#line 965 "ext/date/lib/parse_date.re" + + + ++#line 846 "ext/date/lib/parse_date.c" + { + YYCTYPE yych; + unsigned int yyaccept = 0; +@@ -962,18 +965,19 @@ yy2: + } else { + if (yych <= '@') goto yy3; + if (yych <= 'D') goto yy165; +- goto yy1521; ++ goto yy1523; + } + } else { + if (yych <= 'd') { + if (yych <= 'Z') goto yy165; + if (yych >= 'a') goto yy170; + } else { +- if (yych <= 'e') goto yy1530; ++ if (yych <= 'e') goto yy1532; + if (yych <= 'z') goto yy170; + } + } + yy3: ++#line 1673 "ext/date/lib/parse_date.re" + { + int tz_not_found; + DEBUG_OUTPUT("tzcorrection | tz"); +@@ -986,6 +990,7 @@ yy3: + TIMELIB_DEINIT; + return TIMELIB_TIMEZONE; + } ++#line 994 "ext/date/lib/parse_date.c" + yy4: + yych = *++YYCURSOR; + if (yych <= 'E') { +@@ -995,7 +1000,7 @@ yy4: + } else { + if (yych <= '@') goto yy3; + if (yych <= 'D') goto yy165; +- goto yy1521; ++ goto yy1523; + } + } else { + if (yych <= 'd') { +@@ -1003,7 +1008,7 @@ yy4: + if (yych <= '`') goto yy3; + goto yy165; + } else { +- if (yych <= 'e') goto yy1521; ++ if (yych <= 'e') goto yy1523; + if (yych <= 'z') goto yy165; + goto yy3; + } +@@ -1017,12 +1022,12 @@ yy5: + goto yy165; + } else { + if (yych <= 'H') { +- if (yych <= 'E') goto yy1492; ++ if (yych <= 'E') goto yy1494; + goto yy165; + } else { +- if (yych <= 'I') goto yy1493; ++ if (yych <= 'I') goto yy1495; + if (yych <= 'N') goto yy165; +- goto yy1491; ++ goto yy1493; + } + } + } else { +@@ -1031,15 +1036,15 @@ yy5: + if (yych <= 'Z') goto yy165; + goto yy3; + } else { +- if (yych == 'e') goto yy1508; ++ if (yych == 'e') goto yy1510; + goto yy170; + } + } else { + if (yych <= 'n') { +- if (yych <= 'i') goto yy1509; ++ if (yych <= 'i') goto yy1511; + goto yy170; + } else { +- if (yych <= 'o') goto yy1507; ++ if (yych <= 'o') goto yy1509; + if (yych <= 'z') goto yy170; + goto yy3; + } +@@ -1054,12 +1059,12 @@ yy6: + goto yy165; + } else { + if (yych <= 'H') { +- if (yych <= 'E') goto yy1492; ++ if (yych <= 'E') goto yy1494; + goto yy165; + } else { +- if (yych <= 'I') goto yy1493; ++ if (yych <= 'I') goto yy1495; + if (yych <= 'N') goto yy165; +- goto yy1491; ++ goto yy1493; + } + } + } else { +@@ -1068,15 +1073,15 @@ yy6: + if (yych <= 'Z') goto yy165; + goto yy3; + } else { +- if (yych == 'e') goto yy1492; ++ if (yych == 'e') goto yy1494; + goto yy165; + } + } else { + if (yych <= 'n') { +- if (yych <= 'i') goto yy1493; ++ if (yych <= 'i') goto yy1495; + goto yy165; + } else { +- if (yych <= 'o') goto yy1491; ++ if (yych <= 'o') goto yy1493; + if (yych <= 'z') goto yy165; + goto yy3; + } +@@ -1088,24 +1093,24 @@ yy7: + if (yych <= 'A') { + if (yych == ')') goto yy164; + if (yych <= '@') goto yy3; +- goto yy1461; ++ goto yy1463; + } else { +- if (yych == 'I') goto yy1462; ++ if (yych == 'I') goto yy1464; + if (yych <= 'N') goto yy165; +- goto yy1463; ++ goto yy1465; + } + } else { + if (yych <= 'h') { + if (yych <= 'Z') goto yy165; + if (yych <= '`') goto yy3; +- if (yych <= 'a') goto yy1476; ++ if (yych <= 'a') goto yy1478; + goto yy170; + } else { + if (yych <= 'n') { +- if (yych <= 'i') goto yy1477; ++ if (yych <= 'i') goto yy1479; + goto yy170; + } else { +- if (yych <= 'o') goto yy1478; ++ if (yych <= 'o') goto yy1480; + if (yych <= 'z') goto yy170; + goto yy3; + } +@@ -1117,24 +1122,24 @@ yy8: + if (yych <= 'A') { + if (yych == ')') goto yy164; + if (yych <= '@') goto yy3; +- goto yy1461; ++ goto yy1463; + } else { +- if (yych == 'I') goto yy1462; ++ if (yych == 'I') goto yy1464; + if (yych <= 'N') goto yy165; +- goto yy1463; ++ goto yy1465; + } + } else { + if (yych <= 'h') { + if (yych <= 'Z') goto yy165; + if (yych <= '`') goto yy3; +- if (yych <= 'a') goto yy1461; ++ if (yych <= 'a') goto yy1463; + goto yy165; + } else { + if (yych <= 'n') { +- if (yych <= 'i') goto yy1462; ++ if (yych <= 'i') goto yy1464; + goto yy165; + } else { +- if (yych <= 'o') goto yy1463; ++ if (yych <= 'o') goto yy1465; + if (yych <= 'z') goto yy165; + goto yy3; + } +@@ -1146,15 +1151,15 @@ yy9: + switch (yych) { + case ')': goto yy164; + case '0': +- case '1': goto yy1391; +- case '2': goto yy1392; ++ case '1': goto yy1393; ++ case '2': goto yy1394; + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': +- case '9': goto yy1393; ++ case '9': goto yy1395; + case 'A': + case 'B': + case 'C': +@@ -1176,11 +1181,11 @@ yy9: + case 'X': + case 'Y': + case 'Z': goto yy165; +- case 'E': goto yy1386; +- case 'H': goto yy1387; +- case 'O': goto yy1388; +- case 'U': goto yy1389; +- case 'W': goto yy1390; ++ case 'E': goto yy1388; ++ case 'H': goto yy1389; ++ case 'O': goto yy1390; ++ case 'U': goto yy1391; ++ case 'W': goto yy1392; + case 'a': + case 'b': + case 'c': +@@ -1202,11 +1207,11 @@ yy9: + case 'x': + case 'y': + case 'z': goto yy170; +- case 'e': goto yy1429; +- case 'h': goto yy1430; +- case 'o': goto yy1431; +- case 'u': goto yy1432; +- case 'w': goto yy1433; ++ case 'e': goto yy1431; ++ case 'h': goto yy1432; ++ case 'o': goto yy1433; ++ case 'u': goto yy1434; ++ case 'w': goto yy1435; + default: goto yy3; + } + yy10: +@@ -1215,15 +1220,15 @@ yy10: + switch (yych) { + case ')': goto yy164; + case '0': +- case '1': goto yy1391; +- case '2': goto yy1392; ++ case '1': goto yy1393; ++ case '2': goto yy1394; + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': +- case '9': goto yy1393; ++ case '9': goto yy1395; + case 'A': + case 'B': + case 'C': +@@ -1267,28 +1272,30 @@ yy10: + case 'y': + case 'z': goto yy165; + case 'E': +- case 'e': goto yy1386; ++ case 'e': goto yy1388; + case 'H': +- case 'h': goto yy1387; ++ case 'h': goto yy1389; + case 'O': +- case 'o': goto yy1388; ++ case 'o': goto yy1390; + case 'U': +- case 'u': goto yy1389; ++ case 'u': goto yy1391; + case 'W': +- case 'w': goto yy1390; ++ case 'w': goto yy1392; + default: goto yy3; + } + yy11: + yyaccept = 1; + yych = *(YYMARKER = ++YYCURSOR); +- if (yych == '-') goto yy1374; ++ if (yych == '-') goto yy1376; + if (yych <= '/') goto yy12; +- if (yych <= '9') goto yy1375; ++ if (yych <= '9') goto yy1377; + yy12: ++#line 1768 "ext/date/lib/parse_date.re" + { + add_error(s, "Unexpected character"); + goto std; + } ++#line 1299 "ext/date/lib/parse_date.c" + yy13: + yych = *++YYCURSOR; + if (yych <= 'R') { +@@ -1299,16 +1306,16 @@ yy13: + } else { + if (yych <= '@') goto yy3; + if (yych <= 'D') goto yy165; +- goto yy1310; ++ goto yy1311; + } + } else { + if (yych <= 'N') { +- if (yych == 'I') goto yy1311; ++ if (yych == 'I') goto yy1312; + goto yy165; + } else { +- if (yych <= 'O') goto yy1312; ++ if (yych <= 'O') goto yy1313; + if (yych <= 'Q') goto yy165; +- goto yy1313; ++ goto yy1314; + } + } + } else { +@@ -1318,16 +1325,16 @@ yy13: + if (yych <= '`') goto yy3; + goto yy170; + } else { +- if (yych <= 'e') goto yy1351; ++ if (yych <= 'e') goto yy1353; + if (yych <= 'h') goto yy170; +- goto yy1352; ++ goto yy1354; + } + } else { + if (yych <= 'q') { +- if (yych == 'o') goto yy1353; ++ if (yych == 'o') goto yy1355; + goto yy170; + } else { +- if (yych <= 'r') goto yy1354; ++ if (yych <= 'r') goto yy1356; + if (yych <= 'z') goto yy170; + goto yy3; + } +@@ -1343,16 +1350,16 @@ yy14: + } else { + if (yych <= '@') goto yy3; + if (yych <= 'D') goto yy165; +- goto yy1310; ++ goto yy1311; + } + } else { + if (yych <= 'N') { +- if (yych == 'I') goto yy1311; ++ if (yych == 'I') goto yy1312; + goto yy165; + } else { +- if (yych <= 'O') goto yy1312; ++ if (yych <= 'O') goto yy1313; + if (yych <= 'Q') goto yy165; +- goto yy1313; ++ goto yy1314; + } + } + } else { +@@ -1362,16 +1369,16 @@ yy14: + if (yych <= '`') goto yy3; + goto yy165; + } else { +- if (yych <= 'e') goto yy1310; ++ if (yych <= 'e') goto yy1311; + if (yych <= 'h') goto yy165; +- goto yy1311; ++ goto yy1312; + } + } else { + if (yych <= 'q') { +- if (yych == 'o') goto yy1312; ++ if (yych == 'o') goto yy1313; + goto yy165; + } else { +- if (yych <= 'r') goto yy1313; ++ if (yych <= 'r') goto yy1314; + if (yych <= 'z') goto yy165; + goto yy3; + } +@@ -1382,13 +1389,13 @@ yy15: + if (yych <= 'A') { + if (yych == ')') goto yy164; + if (yych <= '@') goto yy3; +- goto yy1296; ++ goto yy1297; + } else { + if (yych <= '`') { + if (yych <= 'Z') goto yy165; + goto yy3; + } else { +- if (yych <= 'a') goto yy1307; ++ if (yych <= 'a') goto yy1308; + if (yych <= 'z') goto yy170; + goto yy3; + } +@@ -1398,13 +1405,13 @@ yy16: + if (yych <= 'A') { + if (yych == ')') goto yy164; + if (yych <= '@') goto yy3; +- goto yy1296; ++ goto yy1297; + } else { + if (yych <= '`') { + if (yych <= 'Z') goto yy165; + goto yy3; + } else { +- if (yych <= 'a') goto yy1296; ++ if (yych <= 'a') goto yy1297; + if (yych <= 'z') goto yy165; + goto yy3; + } +@@ -1420,7 +1427,7 @@ yy17: + if (yych <= 'Z') goto yy165; + goto yy3; + } else { +- if (yych <= 'a') goto yy1293; ++ if (yych <= 'a') goto yy1294; + if (yych <= 'z') goto yy170; + goto yy3; + } +@@ -2495,18 +2502,22 @@ yy48: + if (yych <= '/') goto yy49; + if (yych <= '9') goto yy54; + yy49: ++#line 1757 "ext/date/lib/parse_date.re" + { + goto std; + } ++#line 2510 "ext/date/lib/parse_date.c" + yy50: + yych = *++YYCURSOR; + goto yy49; + yy51: + ++YYCURSOR; ++#line 1762 "ext/date/lib/parse_date.re" + { + s->pos = cursor; s->line++; + goto std; + } ++#line 2521 "ext/date/lib/parse_date.c" + yy53: + yych = *++YYCURSOR; + goto yy12; +@@ -2693,23 +2704,23 @@ yy56: + } + } else { + if (yyaccept == 28) { +- goto yy1377; ++ goto yy1379; + } else { +- goto yy1415; ++ goto yy1417; + } + } + } else { + if (yyaccept <= 31) { + if (yyaccept == 30) { +- goto yy1418; ++ goto yy1420; + } else { +- goto yy1498; ++ goto yy1500; + } + } else { + if (yyaccept == 32) { +- goto yy1506; ++ goto yy1508; + } else { +- goto yy1529; ++ goto yy1531; + } + } + } +@@ -2920,6 +2931,7 @@ yy73: + if (yych == 'S') goto yy75; + if (yych == 's') goto yy75; + yy74: ++#line 1741 "ext/date/lib/parse_date.re" + { + timelib_ull i; + DEBUG_OUTPUT("relative"); +@@ -2934,6 +2946,7 @@ yy74: + TIMELIB_DEINIT; + return TIMELIB_RELATIVE; + } ++#line 2950 "ext/date/lib/parse_date.c" + yy75: + yych = *++YYCURSOR; + if (yych == 'D') goto yy76; +@@ -3719,6 +3732,7 @@ yy190: + } + } + yy191: ++#line 1604 "ext/date/lib/parse_date.re" + { + const timelib_relunit* relunit; + DEBUG_OUTPUT("daytext"); +@@ -3735,6 +3749,7 @@ yy191: + TIMELIB_DEINIT; + return TIMELIB_WEEKDAY; + } ++#line 3753 "ext/date/lib/parse_date.c" + yy192: + yych = *++YYCURSOR; + if (yych <= 'K') { +@@ -4227,6 +4242,7 @@ yy217: + } + } + yy218: ++#line 1663 "ext/date/lib/parse_date.re" + { + DEBUG_OUTPUT("monthtext"); + TIMELIB_INIT; +@@ -4235,6 +4251,7 @@ yy218: + TIMELIB_DEINIT; + return TIMELIB_DATE_TEXT; + } ++#line 4255 "ext/date/lib/parse_date.c" + yy219: + ++YYCURSOR; + if ((YYLIMIT - YYCURSOR) < 23) YYFILL(23); +@@ -4469,6 +4486,7 @@ yy231: + if (yych == 't') goto yy319; + goto yy237; + yy232: ++#line 1409 "ext/date/lib/parse_date.re" + { + int length = 0; + DEBUG_OUTPUT("datetextual | datenoyear"); +@@ -4481,6 +4499,7 @@ yy232: + TIMELIB_DEINIT; + return TIMELIB_DATE_TEXT; + } ++#line 4503 "ext/date/lib/parse_date.c" + yy233: + yyaccept = 6; + yych = *(YYMARKER = ++YYCURSOR); +@@ -4593,6 +4612,7 @@ yy245: + if (yych <= ':') goto yy248; + } + yy246: ++#line 1711 "ext/date/lib/parse_date.re" + { + int tz_not_found; + DEBUG_OUTPUT("dateshortwithtimeshort | dateshortwithtimelong | dateshortwithtimelongtz"); +@@ -4621,6 +4641,7 @@ yy246: + TIMELIB_DEINIT; + return TIMELIB_SHORTDATE_WITH_TIME; + } ++#line 4645 "ext/date/lib/parse_date.c" + yy247: + yyaccept = 7; + yych = *(YYMARKER = ++YYCURSOR); +@@ -4893,6 +4914,7 @@ yy269: + } + yy270: + ++YYCURSOR; ++#line 1687 "ext/date/lib/parse_date.re" + { + DEBUG_OUTPUT("dateshortwithtimeshort12 | dateshortwithtimelong12"); + TIMELIB_INIT; +@@ -4915,6 +4937,7 @@ yy270: + TIMELIB_DEINIT; + return TIMELIB_SHORTDATE_WITH_TIME; + } ++#line 4941 "ext/date/lib/parse_date.c" + yy272: + yych = *++YYCURSOR; + if (yych <= 0x1F) { +@@ -5470,6 +5493,7 @@ yy320: + if (yych <= '/') goto yy56; + if (yych >= ':') goto yy56; + ++YYCURSOR; ++#line 1381 "ext/date/lib/parse_date.re" + { + int length = 0; + DEBUG_OUTPUT("datenoday"); +@@ -5482,6 +5506,7 @@ yy320: + TIMELIB_DEINIT; + return TIMELIB_DATE_NO_DAY; + } ++#line 5510 "ext/date/lib/parse_date.c" + yy323: + yych = *++YYCURSOR; + if (yych <= '9') { +@@ -5704,6 +5729,7 @@ yy327: + if ((yych = *YYCURSOR) <= '/') goto yy330; + if (yych <= '9') goto yy331; + yy330: ++#line 1525 "ext/date/lib/parse_date.re" + { + int length = 0; + DEBUG_OUTPUT("pgtextshort"); +@@ -5716,6 +5742,7 @@ yy330: + TIMELIB_DEINIT; + return TIMELIB_PG_TEXT; + } ++#line 5746 "ext/date/lib/parse_date.c" + yy331: + yych = *++YYCURSOR; + if (yych <= '/') goto yy330; +@@ -6270,6 +6297,7 @@ yy356: + if (yych <= 'z') goto yy167; + } + yy357: ++#line 1583 "ext/date/lib/parse_date.re" + { + DEBUG_OUTPUT("ago"); + TIMELIB_INIT; +@@ -6289,6 +6317,7 @@ yy357: + TIMELIB_DEINIT; + return TIMELIB_AGO; + } ++#line 6321 "ext/date/lib/parse_date.c" + yy358: + yyaccept = 5; + yych = *(YYMARKER = ++YYCURSOR); +@@ -8009,6 +8038,7 @@ yy417: + yy418: + ++YYCURSOR; + yy419: ++#line 1286 "ext/date/lib/parse_date.re" + { + DEBUG_OUTPUT("iso8601date4 | iso8601date2 | iso8601dateslash | dateslash"); + TIMELIB_INIT; +@@ -8019,6 +8049,7 @@ yy419: + TIMELIB_DEINIT; + return TIMELIB_ISO_DATE; + } ++#line 8053 "ext/date/lib/parse_date.c" + yy420: + yyaccept = 0; + yych = *(YYMARKER = ++YYCURSOR); +@@ -8641,6 +8672,7 @@ yy439: + } + } + yy440: ++#line 1423 "ext/date/lib/parse_date.re" + { + DEBUG_OUTPUT("datenoyearrev"); + TIMELIB_INIT; +@@ -8651,6 +8683,7 @@ yy440: + TIMELIB_DEINIT; + return TIMELIB_DATE_TEXT; + } ++#line 8687 "ext/date/lib/parse_date.c" + yy441: + yyaccept = 9; + yych = *(YYMARKER = ++YYCURSOR); +@@ -8778,6 +8811,7 @@ yy450: + } + yy452: + ++YYCURSOR; ++#line 1141 "ext/date/lib/parse_date.re" + { + DEBUG_OUTPUT("timetiny12 | timeshort12 | timelong12"); + TIMELIB_INIT; +@@ -8793,6 +8827,7 @@ yy452: + TIMELIB_DEINIT; + return TIMELIB_TIME12; + } ++#line 8831 "ext/date/lib/parse_date.c" + yy454: + yyaccept = 10; + yych = *(YYMARKER = ++YYCURSOR); +@@ -8803,6 +8838,7 @@ yy454: + if (yych <= ':') goto yy457; + } + yy455: ++#line 1178 "ext/date/lib/parse_date.re" + { + int tz_not_found; + DEBUG_OUTPUT("timeshort24 | timelong24 | iso8601long"); +@@ -8827,6 +8863,7 @@ yy455: + TIMELIB_DEINIT; + return TIMELIB_TIME24_WITH_ZONE; + } ++#line 8867 "ext/date/lib/parse_date.c" + yy456: + yyaccept = 10; + yych = *(YYMARKER = ++YYCURSOR); +@@ -9103,6 +9140,7 @@ yy485: + } + yy487: + ++YYCURSOR; ++#line 1158 "ext/date/lib/parse_date.re" + { + DEBUG_OUTPUT("mssqltime"); + TIMELIB_INIT; +@@ -9121,6 +9159,7 @@ yy487: + TIMELIB_DEINIT; + return TIMELIB_TIME24_WITH_ZONE; + } ++#line 9163 "ext/date/lib/parse_date.c" + yy489: + yyaccept = 10; + YYMARKER = ++YYCURSOR; +@@ -9215,6 +9254,7 @@ yy498: + if ((yych = *YYCURSOR) <= '/') goto yy499; + if (yych <= '9') goto yy505; + yy499: ++#line 1340 "ext/date/lib/parse_date.re" + { + int length = 0; + DEBUG_OUTPUT("datefull"); +@@ -9228,6 +9268,7 @@ yy499: + TIMELIB_DEINIT; + return TIMELIB_DATE_FULL; + } ++#line 9272 "ext/date/lib/parse_date.c" + yy500: + yych = *++YYCURSOR; + if (yych == 'M') goto yy501; +@@ -9891,6 +9932,7 @@ yy569: + if (yych <= '/') goto yy56; + if (yych >= ':') goto yy56; + ++YYCURSOR; ++#line 1355 "ext/date/lib/parse_date.re" + { + DEBUG_OUTPUT("pointed date YYYY"); + TIMELIB_INIT; +@@ -9901,6 +9943,7 @@ yy569: + TIMELIB_DEINIT; + return TIMELIB_DATE_FULL_POINTED; + } ++#line 9947 "ext/date/lib/parse_date.c" + yy572: + yyaccept = 10; + yych = *(YYMARKER = ++YYCURSOR); +@@ -9931,6 +9974,7 @@ yy575: + if (yych <= '/') goto yy576; + if (yych <= '9') goto yy569; + yy576: ++#line 1367 "ext/date/lib/parse_date.re" + { + int length = 0; + DEBUG_OUTPUT("pointed date YY"); +@@ -9943,6 +9987,7 @@ yy576: + TIMELIB_DEINIT; + return TIMELIB_DATE_FULL_POINTED; + } ++#line 9991 "ext/date/lib/parse_date.c" + yy577: + yyaccept = 10; + yych = *(YYMARKER = ++YYCURSOR); +@@ -10538,6 +10583,7 @@ yy620: + } + } + yy621: ++#line 1326 "ext/date/lib/parse_date.re" + { + int length = 0; + DEBUG_OUTPUT("gnudateshort"); +@@ -10550,6 +10596,7 @@ yy621: + TIMELIB_DEINIT; + return TIMELIB_ISO_DATE; + } ++#line 10600 "ext/date/lib/parse_date.c" + yy622: + yyaccept = 12; + yych = *(YYMARKER = ++YYCURSOR); +@@ -10645,6 +10692,7 @@ yy630: + } + } + yy631: ++#line 1270 "ext/date/lib/parse_date.re" + { + int length = 0; + DEBUG_OUTPUT("americanshort | american"); +@@ -10659,6 +10707,7 @@ yy631: + TIMELIB_DEINIT; + return TIMELIB_AMERICAN; + } ++#line 10711 "ext/date/lib/parse_date.c" + yy632: + yyaccept = 13; + yych = *(YYMARKER = ++YYCURSOR); +@@ -10857,6 +10906,7 @@ yy664: + if (yych <= '9') goto yy667; + if (yych <= ':') goto yy668; + yy665: ++#line 1553 "ext/date/lib/parse_date.re" + { + int tz_not_found; + DEBUG_OUTPUT("clf"); +@@ -10876,6 +10926,7 @@ yy665: + TIMELIB_DEINIT; + return TIMELIB_CLF; + } ++#line 10930 "ext/date/lib/parse_date.c" + yy666: + yych = *++YYCURSOR; + if (yych <= '5') { +@@ -11362,6 +11413,7 @@ yy727: + if (yych <= 't') goto yy627; + } + yy728: ++#line 1298 "ext/date/lib/parse_date.re" + { + int length = 0; + DEBUG_OUTPUT("iso8601date2"); +@@ -11374,6 +11426,7 @@ yy728: + TIMELIB_DEINIT; + return TIMELIB_ISO_DATE; + } ++#line 11430 "ext/date/lib/parse_date.c" + yy729: + yych = *++YYCURSOR; + if (yych == 'C') goto yy730; +@@ -11404,6 +11457,7 @@ yy734: + if (yych >= '2') goto yy56; + yy735: + ++YYCURSOR; ++#line 1539 "ext/date/lib/parse_date.re" + { + int length = 0; + DEBUG_OUTPUT("pgtextreverse"); +@@ -11416,6 +11470,7 @@ yy735: + TIMELIB_DEINIT; + return TIMELIB_PG_TEXT; + } ++#line 11474 "ext/date/lib/parse_date.c" + yy737: + yych = *++YYCURSOR; + if (yych == 'V') goto yy730; +@@ -11568,6 +11623,7 @@ yy747: + } + } + yy748: ++#line 1574 "ext/date/lib/parse_date.re" + { + DEBUG_OUTPUT("year4"); + TIMELIB_INIT; +@@ -11575,6 +11631,7 @@ yy748: + TIMELIB_DEINIT; + return TIMELIB_CLF; + } ++#line 11635 "ext/date/lib/parse_date.c" + yy749: + yych = *++YYCURSOR; + switch (yych) { +@@ -11769,6 +11826,7 @@ yy757: + if (yych <= 'X') goto yy848; + } + yy758: ++#line 1395 "ext/date/lib/parse_date.re" + { + int length = 0; + DEBUG_OUTPUT("datenodayrev"); +@@ -11781,6 +11839,7 @@ yy758: + TIMELIB_DEINIT; + return TIMELIB_DATE_NO_DAY; + } ++#line 11843 "ext/date/lib/parse_date.c" + yy759: + yych = *++YYCURSOR; + if (yych == 'I') goto yy892; +@@ -11980,6 +12039,7 @@ yy778: + if (yych <= '/') goto yy779; + if (yych <= '7') goto yy781; + yy779: ++#line 1506 "ext/date/lib/parse_date.re" + { + timelib_sll w, d; + DEBUG_OUTPUT("isoweek"); +@@ -11997,12 +12057,14 @@ yy779: + TIMELIB_DEINIT; + return TIMELIB_ISO_WEEK; + } ++#line 12061 "ext/date/lib/parse_date.c" + yy780: + yych = *++YYCURSOR; + if (yych <= '/') goto yy56; + if (yych >= '8') goto yy56; + yy781: + ++YYCURSOR; ++#line 1487 "ext/date/lib/parse_date.re" + { + timelib_sll w, d; + DEBUG_OUTPUT("isoweekday"); +@@ -12020,6 +12082,7 @@ yy781: + TIMELIB_DEINIT; + return TIMELIB_ISO_WEEK; + } ++#line 12086 "ext/date/lib/parse_date.c" + yy783: + yych = *++YYCURSOR; + if (yych <= '/') goto yy60; +@@ -12085,6 +12148,7 @@ yy785: + } + } + yy786: ++#line 1473 "ext/date/lib/parse_date.re" + { + int length = 0; + DEBUG_OUTPUT("pgydotd"); +@@ -12097,6 +12161,7 @@ yy786: + TIMELIB_DEINIT; + return TIMELIB_PG_YEARDAY; + } ++#line 12165 "ext/date/lib/parse_date.c" + yy787: + yych = *++YYCURSOR; + if (yych <= '/') goto yy60; +@@ -12178,6 +12243,7 @@ yy805: + yy806: + ++YYCURSOR; + yy807: ++#line 1447 "ext/date/lib/parse_date.re" + { + int tz_not_found; + DEBUG_OUTPUT("xmlrpc | xmlrpcnocolon | soap | wddx | exif"); +@@ -12202,6 +12268,7 @@ yy807: + TIMELIB_DEINIT; + return TIMELIB_XMLRPC_SOAP; + } ++#line 12272 "ext/date/lib/parse_date.c" + yy808: + yych = *++YYCURSOR; + if (yych <= '2') { +@@ -12490,6 +12557,7 @@ yy812: + } + } + yy813: ++#line 1435 "ext/date/lib/parse_date.re" + { + DEBUG_OUTPUT("datenocolon"); + TIMELIB_INIT; +@@ -12500,6 +12568,7 @@ yy813: + TIMELIB_DEINIT; + return TIMELIB_DATE_NOCOLON; + } ++#line 12572 "ext/date/lib/parse_date.c" + yy814: + yych = *++YYCURSOR; + if (yych <= 'H') { +@@ -13293,6 +13362,7 @@ yy937: + if (yych <= '/') goto yy938; + if (yych <= '9') goto yy960; + yy938: ++#line 1312 "ext/date/lib/parse_date.re" + { + int length = 0; + DEBUG_OUTPUT("gnudateshorter"); +@@ -13305,6 +13375,7 @@ yy938: + TIMELIB_DEINIT; + return TIMELIB_ISO_DATE; + } ++#line 13379 "ext/date/lib/parse_date.c" + yy939: + yyaccept = 21; + yych = *(YYMARKER = ++YYCURSOR); +@@ -14303,6 +14374,7 @@ yy1030: + } + } + yy1032: ++#line 1204 "ext/date/lib/parse_date.re" + { + DEBUG_OUTPUT("gnunocolon"); + TIMELIB_INIT; +@@ -14324,6 +14396,7 @@ yy1032: + TIMELIB_DEINIT; + return TIMELIB_GNU_NOCOLON; + } ++#line 14400 "ext/date/lib/parse_date.c" + yy1033: + yych = *++YYCURSOR; + if (yych <= '/') goto yy60; +@@ -14413,6 +14486,7 @@ yy1039: + } + } + yy1040: ++#line 1250 "ext/date/lib/parse_date.re" + { + int tz_not_found; + DEBUG_OUTPUT("iso8601nocolon"); +@@ -14431,6 +14505,7 @@ yy1040: + TIMELIB_DEINIT; + return TIMELIB_ISO_NOCOLON; + } ++#line 14509 "ext/date/lib/parse_date.c" + yy1041: + yyaccept = 24; + yych = *(YYMARKER = ++YYCURSOR); +@@ -15362,6 +15437,7 @@ yy1083: + } + } + yy1084: ++#line 1646 "ext/date/lib/parse_date.re" + { + timelib_sll i; + int behavior = 0; +@@ -15377,6 +15453,7 @@ yy1084: + TIMELIB_DEINIT; + return TIMELIB_RELATIVE; + } ++#line 15457 "ext/date/lib/parse_date.c" + yy1085: + ++YYCURSOR; + if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2); +@@ -15418,6 +15495,7 @@ yy1091: + if (yych != 'f') goto yy56; + yy1092: + ++YYCURSOR; ++#line 1119 "ext/date/lib/parse_date.re" + { + timelib_sll i; + int behavior = 0; +@@ -15438,6 +15516,7 @@ yy1092: + TIMELIB_DEINIT; + return TIMELIB_WEEK_DAY_OF_MONTH; + } ++#line 15520 "ext/date/lib/parse_date.c" + yy1094: + yyaccept = 25; + yych = *(YYMARKER = ++YYCURSOR); +@@ -15530,6 +15609,7 @@ yy1107: + } + } + yy1108: ++#line 1622 "ext/date/lib/parse_date.re" + { + timelib_sll i; + int behavior = 0; +@@ -15552,6 +15632,7 @@ yy1108: + TIMELIB_DEINIT; + return TIMELIB_RELATIVE; + } ++#line 15636 "ext/date/lib/parse_date.c" + yy1109: + yych = *++YYCURSOR; + goto yy1084; +@@ -18206,10 +18287,25 @@ yy1281: + yy1283: + yyaccept = 27; + yych = *(YYMARKER = ++YYCURSOR); +- if (yych <= '/') goto yy1287; +- if (yych <= '9') goto yy1286; +- goto yy1287; ++ if (yych <= '@') { ++ if (yych <= 0x1F) { ++ if (yych == '\t') goto yy1287; ++ } else { ++ if (yych <= ' ') goto yy1287; ++ if (yych <= '/') goto yy1284; ++ if (yych <= '9') goto yy1286; ++ } ++ } else { ++ if (yych <= '`') { ++ if (yych <= 'A') goto yy1289; ++ if (yych == 'P') goto yy1289; ++ } else { ++ if (yych <= 'a') goto yy1289; ++ if (yych == 'p') goto yy1289; ++ } ++ } + yy1284: ++#line 1096 "ext/date/lib/parse_date.re" + { + DEBUG_OUTPUT("backof | frontof"); + TIMELIB_INIT; +@@ -18231,66 +18327,104 @@ yy1284: + TIMELIB_DEINIT; + return TIMELIB_LF_DAY_OF_MONTH; + } ++#line 18331 "ext/date/lib/parse_date.c" + yy1285: + yyaccept = 27; + yych = *(YYMARKER = ++YYCURSOR); +- if (yych <= '/') goto yy1287; +- if (yych >= '5') goto yy1287; ++ if (yych <= '@') { ++ if (yych <= 0x1F) { ++ if (yych == '\t') goto yy1287; ++ goto yy1284; ++ } else { ++ if (yych <= ' ') goto yy1287; ++ if (yych <= '/') goto yy1284; ++ if (yych >= '5') goto yy1284; ++ } ++ } else { ++ if (yych <= '`') { ++ if (yych <= 'A') goto yy1289; ++ if (yych == 'P') goto yy1289; ++ goto yy1284; ++ } else { ++ if (yych <= 'a') goto yy1289; ++ if (yych == 'p') goto yy1289; ++ goto yy1284; ++ } ++ } + yy1286: + yyaccept = 27; +- YYMARKER = ++YYCURSOR; ++ yych = *(YYMARKER = ++YYCURSOR); ++ if (yych <= 'A') { ++ if (yych <= 0x1F) { ++ if (yych != '\t') goto yy1284; ++ } else { ++ if (yych <= ' ') goto yy1287; ++ if (yych <= '@') goto yy1284; ++ goto yy1289; ++ } ++ } else { ++ if (yych <= '`') { ++ if (yych == 'P') goto yy1289; ++ goto yy1284; ++ } else { ++ if (yych <= 'a') goto yy1289; ++ if (yych == 'p') goto yy1289; ++ goto yy1284; ++ } ++ } ++yy1287: ++ ++YYCURSOR; + if ((YYLIMIT - YYCURSOR) < 5) YYFILL(5); + yych = *YYCURSOR; +-yy1287: + if (yych <= 'A') { + if (yych <= 0x1F) { +- if (yych == '\t') goto yy1286; +- goto yy1284; ++ if (yych == '\t') goto yy1287; ++ goto yy56; + } else { +- if (yych <= ' ') goto yy1286; +- if (yych <= '@') goto yy1284; ++ if (yych <= ' ') goto yy1287; ++ if (yych <= '@') goto yy56; + } + } else { + if (yych <= '`') { +- if (yych != 'P') goto yy1284; ++ if (yych != 'P') goto yy56; + } else { +- if (yych <= 'a') goto yy1288; +- if (yych != 'p') goto yy1284; ++ if (yych <= 'a') goto yy1289; ++ if (yych != 'p') goto yy56; + } + } +-yy1288: ++yy1289: + yych = *++YYCURSOR; + if (yych <= 'L') { + if (yych != '.') goto yy56; + } else { +- if (yych <= 'M') goto yy1290; +- if (yych == 'm') goto yy1290; ++ if (yych <= 'M') goto yy1291; ++ if (yych == 'm') goto yy1291; + goto yy56; + } + yych = *++YYCURSOR; +- if (yych == 'M') goto yy1290; ++ if (yych == 'M') goto yy1291; + if (yych != 'm') goto yy56; +-yy1290: ++yy1291: + yych = *++YYCURSOR; + if (yych <= 0x1F) { +- if (yych <= 0x00) goto yy1292; +- if (yych == '\t') goto yy1292; ++ if (yych <= 0x00) goto yy1293; ++ if (yych == '\t') goto yy1293; + goto yy56; + } else { +- if (yych <= ' ') goto yy1292; ++ if (yych <= ' ') goto yy1293; + if (yych != '.') goto yy56; + } + yych = *++YYCURSOR; + if (yych <= '\t') { +- if (yych <= 0x00) goto yy1292; ++ if (yych <= 0x00) goto yy1293; + if (yych <= 0x08) goto yy56; + } else { + if (yych != ' ') goto yy56; + } +-yy1292: ++yy1293: + yych = *++YYCURSOR; + goto yy1284; +-yy1293: ++yy1294: + yyaccept = 0; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'B') { +@@ -18314,13 +18448,13 @@ yy1293: + if (yych <= '`') goto yy3; + goto yy171; + } else { +- if (yych <= 'c') goto yy1294; ++ if (yych <= 'c') goto yy1295; + if (yych <= 'z') goto yy171; + goto yy3; + } + } + } +-yy1294: ++yy1295: + yyaccept = 0; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'J') { +@@ -18344,13 +18478,13 @@ yy1294: + if (yych <= '`') goto yy3; + goto yy175; + } else { +- if (yych <= 'k') goto yy1295; ++ if (yych <= 'k') goto yy1296; + if (yych <= 'z') goto yy175; + goto yy3; + } + } + } +-yy1295: ++yy1296: + yyaccept = 0; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= '.') { +@@ -18375,7 +18509,7 @@ yy1295: + goto yy3; + } + } +-yy1296: ++yy1297: + yych = *++YYCURSOR; + if (yych <= 'S') { + if (yych <= ')') { +@@ -18391,12 +18525,12 @@ yy1296: + if (yych <= '`') goto yy3; + goto yy166; + } else { +- if (yych <= 's') goto yy1297; ++ if (yych <= 's') goto yy1298; + if (yych <= 'z') goto yy166; + goto yy3; + } + } +-yy1297: ++yy1298: + yych = *++YYCURSOR; + if (yych <= 'T') { + if (yych <= ')') { +@@ -18412,12 +18546,12 @@ yy1297: + if (yych <= '`') goto yy3; + goto yy167; + } else { +- if (yych <= 't') goto yy1298; ++ if (yych <= 't') goto yy1299; + if (yych <= 'z') goto yy167; + goto yy3; + } + } +-yy1298: ++yy1299: + yyaccept = 0; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= '(') { +@@ -18438,19 +18572,19 @@ yy1298: + goto yy3; + } + } +-yy1299: ++yy1300: + yych = *++YYCURSOR; +- if (yych == 'D') goto yy1300; ++ if (yych == 'D') goto yy1301; + if (yych != 'd') goto yy1070; +-yy1300: ++yy1301: + yych = *++YYCURSOR; +- if (yych == 'A') goto yy1301; ++ if (yych == 'A') goto yy1302; + if (yych != 'a') goto yy56; +-yy1301: ++yy1302: + yych = *++YYCURSOR; +- if (yych == 'Y') goto yy1302; ++ if (yych == 'Y') goto yy1303; + if (yych != 'y') goto yy56; +-yy1302: ++yy1303: + yyaccept = 25; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'R') { +@@ -18461,14 +18595,15 @@ yy1302: + goto yy1084; + } + yych = *++YYCURSOR; +- if (yych == 'O') goto yy1304; ++ if (yych == 'O') goto yy1305; + if (yych != 'o') goto yy56; +-yy1304: ++yy1305: + yych = *++YYCURSOR; +- if (yych == 'F') goto yy1305; ++ if (yych == 'F') goto yy1306; + if (yych != 'f') goto yy56; +-yy1305: ++yy1306: + ++YYCURSOR; ++#line 1079 "ext/date/lib/parse_date.re" + { + DEBUG_OUTPUT("firstdayof | lastdayof"); + TIMELIB_INIT; +@@ -18484,7 +18619,8 @@ yy1305: + TIMELIB_DEINIT; + return TIMELIB_LF_DAY_OF_MONTH; + } +-yy1307: ++#line 18623 "ext/date/lib/parse_date.c" ++yy1308: + yyaccept = 0; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'R') { +@@ -18499,7 +18635,7 @@ yy1307: + } + } else { + if (yych <= '_') { +- if (yych <= 'S') goto yy1297; ++ if (yych <= 'S') goto yy1298; + if (yych <= 'Z') goto yy166; + if (yych <= '^') goto yy3; + goto yy172; +@@ -18508,13 +18644,13 @@ yy1307: + if (yych <= '`') goto yy3; + goto yy171; + } else { +- if (yych <= 's') goto yy1308; ++ if (yych <= 's') goto yy1309; + if (yych <= 'z') goto yy171; + goto yy3; + } + } + } +-yy1308: ++yy1309: + yyaccept = 0; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'S') { +@@ -18529,7 +18665,7 @@ yy1308: + } + } else { + if (yych <= '_') { +- if (yych <= 'T') goto yy1298; ++ if (yych <= 'T') goto yy1299; + if (yych <= 'Z') goto yy167; + if (yych <= '^') goto yy3; + goto yy172; +@@ -18538,20 +18674,20 @@ yy1308: + if (yych <= '`') goto yy3; + goto yy175; + } else { +- if (yych <= 't') goto yy1309; ++ if (yych <= 't') goto yy1310; + if (yych <= 'z') goto yy175; + goto yy3; + } + } + } +-yy1309: ++yy1310: + yyaccept = 0; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= '-') { + if (yych <= ' ') { + if (yych == '\t') goto yy1069; + if (yych <= 0x1F) goto yy3; +- goto yy1299; ++ goto yy1300; + } else { + if (yych == ')') goto yy164; + if (yych <= ',') goto yy3; +@@ -18573,7 +18709,7 @@ yy1309: + } + } + } +-yy1310: ++yy1311: + yych = *++YYCURSOR; + if (yych <= 'B') { + if (yych <= ')') { +@@ -18582,7 +18718,7 @@ yy1310: + } else { + if (yych <= '@') goto yy3; + if (yych <= 'A') goto yy166; +- goto yy1346; ++ goto yy1348; + } + } else { + if (yych <= 'a') { +@@ -18590,35 +18726,35 @@ yy1310: + if (yych <= '`') goto yy3; + goto yy166; + } else { +- if (yych <= 'b') goto yy1346; ++ if (yych <= 'b') goto yy1348; + if (yych <= 'z') goto yy166; + goto yy3; + } + } +-yy1311: ++yy1312: + yych = *++YYCURSOR; + if (yych <= 'R') { + if (yych <= '@') { + if (yych == ')') goto yy164; + goto yy3; + } else { +- if (yych == 'F') goto yy1336; ++ if (yych == 'F') goto yy1338; + if (yych <= 'Q') goto yy166; +- goto yy1335; ++ goto yy1337; + } + } else { + if (yych <= 'f') { + if (yych <= 'Z') goto yy166; + if (yych <= '`') goto yy3; + if (yych <= 'e') goto yy166; +- goto yy1336; ++ goto yy1338; + } else { +- if (yych == 'r') goto yy1335; ++ if (yych == 'r') goto yy1337; + if (yych <= 'z') goto yy166; + goto yy3; + } + } +-yy1312: ++yy1313: + yych = *++YYCURSOR; + if (yych <= 'U') { + if (yych <= ')') { +@@ -18627,7 +18763,7 @@ yy1312: + } else { + if (yych <= '@') goto yy3; + if (yych <= 'T') goto yy166; +- goto yy1332; ++ goto yy1334; + } + } else { + if (yych <= 't') { +@@ -18635,19 +18771,19 @@ yy1312: + if (yych <= '`') goto yy3; + goto yy166; + } else { +- if (yych <= 'u') goto yy1332; ++ if (yych <= 'u') goto yy1334; + if (yych <= 'z') goto yy166; + goto yy3; + } + } +-yy1313: ++yy1314: + yych = *++YYCURSOR; + if (yych <= 'O') { + if (yych <= '@') { + if (yych == ')') goto yy164; + goto yy3; + } else { +- if (yych == 'I') goto yy1315; ++ if (yych == 'I') goto yy1316; + if (yych <= 'N') goto yy166; + } + } else { +@@ -18655,14 +18791,14 @@ yy1313: + if (yych <= 'Z') goto yy166; + if (yych <= '`') goto yy3; + if (yych <= 'h') goto yy166; +- goto yy1315; ++ goto yy1316; + } else { +- if (yych == 'o') goto yy1314; ++ if (yych == 'o') goto yy1315; + if (yych <= 'z') goto yy166; + goto yy3; + } + } +-yy1314: ++yy1315: + yych = *++YYCURSOR; + if (yych <= 'N') { + if (yych <= ')') { +@@ -18671,7 +18807,7 @@ yy1314: + } else { + if (yych <= '@') goto yy3; + if (yych <= 'M') goto yy167; +- goto yy1318; ++ goto yy1319; + } + } else { + if (yych <= 'm') { +@@ -18679,12 +18815,12 @@ yy1314: + if (yych <= '`') goto yy3; + goto yy167; + } else { +- if (yych <= 'n') goto yy1318; ++ if (yych <= 'n') goto yy1319; + if (yych <= 'z') goto yy167; + goto yy3; + } + } +-yy1315: ++yy1316: + yych = *++YYCURSOR; + if (yych <= 'D') { + if (yych <= ')') { +@@ -18700,12 +18836,12 @@ yy1315: + if (yych <= '`') goto yy191; + goto yy167; + } else { +- if (yych <= 'd') goto yy1316; ++ if (yych <= 'd') goto yy1317; + if (yych <= 'z') goto yy167; + goto yy191; + } + } +-yy1316: ++yy1317: + yych = *++YYCURSOR; + if (yych <= 'A') { + if (yych == ')') goto yy164; +@@ -18715,12 +18851,12 @@ yy1316: + if (yych <= 'Z') goto yy168; + goto yy3; + } else { +- if (yych <= 'a') goto yy1317; ++ if (yych <= 'a') goto yy1318; + if (yych <= 'z') goto yy168; + goto yy3; + } + } +-yy1317: ++yy1318: + yych = *++YYCURSOR; + if (yych <= 'Y') { + if (yych <= ')') { +@@ -18742,7 +18878,7 @@ yy1317: + goto yy3; + } + } +-yy1318: ++yy1319: + yych = *++YYCURSOR; + if (yych <= 'T') { + if (yych <= ')') { +@@ -18758,16 +18894,16 @@ yy1318: + if (yych <= '`') goto yy3; + goto yy168; + } else { +- if (yych <= 't') goto yy1319; ++ if (yych <= 't') goto yy1320; + if (yych <= 'z') goto yy168; + goto yy3; + } + } +-yy1319: ++yy1320: + yyaccept = 0; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= ')') { +- if (yych == ' ') goto yy1320; ++ if (yych == ' ') goto yy1321; + if (yych <= '(') goto yy3; + goto yy164; + } else { +@@ -18780,88 +18916,143 @@ yy1319: + goto yy3; + } + } +-yy1320: ++yy1321: + yych = *++YYCURSOR; +- if (yych == 'O') goto yy1321; ++ if (yych == 'O') goto yy1322; + if (yych != 'o') goto yy56; +-yy1321: ++yy1322: + yych = *++YYCURSOR; +- if (yych == 'F') goto yy1322; ++ if (yych == 'F') goto yy1323; + if (yych != 'f') goto yy56; +-yy1322: ++yy1323: + yych = *++YYCURSOR; + if (yych != ' ') goto yy56; + yych = *++YYCURSOR; + if (yych <= '/') goto yy56; +- if (yych <= '1') goto yy1324; +- if (yych <= '2') goto yy1325; +- if (yych <= '9') goto yy1326; ++ if (yych <= '1') goto yy1325; ++ if (yych <= '2') goto yy1326; ++ if (yych <= '9') goto yy1327; + goto yy56; +-yy1324: +- yyaccept = 27; +- yych = *(YYMARKER = ++YYCURSOR); +- if (yych <= '/') goto yy1327; +- if (yych <= '9') goto yy1326; +- goto yy1327; + yy1325: + yyaccept = 27; + yych = *(YYMARKER = ++YYCURSOR); +- if (yych <= '/') goto yy1327; +- if (yych >= '5') goto yy1327; ++ if (yych <= '@') { ++ if (yych <= 0x1F) { ++ if (yych == '\t') goto yy1328; ++ goto yy1284; ++ } else { ++ if (yych <= ' ') goto yy1328; ++ if (yych <= '/') goto yy1284; ++ if (yych <= '9') goto yy1327; ++ goto yy1284; ++ } ++ } else { ++ if (yych <= '`') { ++ if (yych <= 'A') goto yy1330; ++ if (yych == 'P') goto yy1330; ++ goto yy1284; ++ } else { ++ if (yych <= 'a') goto yy1330; ++ if (yych == 'p') goto yy1330; ++ goto yy1284; ++ } ++ } + yy1326: + yyaccept = 27; +- YYMARKER = ++YYCURSOR; +- if ((YYLIMIT - YYCURSOR) < 5) YYFILL(5); +- yych = *YYCURSOR; ++ yych = *(YYMARKER = ++YYCURSOR); ++ if (yych <= '@') { ++ if (yych <= 0x1F) { ++ if (yych == '\t') goto yy1328; ++ goto yy1284; ++ } else { ++ if (yych <= ' ') goto yy1328; ++ if (yych <= '/') goto yy1284; ++ if (yych >= '5') goto yy1284; ++ } ++ } else { ++ if (yych <= '`') { ++ if (yych <= 'A') goto yy1330; ++ if (yych == 'P') goto yy1330; ++ goto yy1284; ++ } else { ++ if (yych <= 'a') goto yy1330; ++ if (yych == 'p') goto yy1330; ++ goto yy1284; ++ } ++ } + yy1327: ++ yyaccept = 27; ++ yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'A') { + if (yych <= 0x1F) { +- if (yych == '\t') goto yy1326; +- goto yy1284; ++ if (yych != '\t') goto yy1284; + } else { +- if (yych <= ' ') goto yy1326; ++ if (yych <= ' ') goto yy1328; + if (yych <= '@') goto yy1284; ++ goto yy1330; + } + } else { + if (yych <= '`') { +- if (yych != 'P') goto yy1284; ++ if (yych == 'P') goto yy1330; ++ goto yy1284; + } else { +- if (yych <= 'a') goto yy1328; +- if (yych != 'p') goto yy1284; ++ if (yych <= 'a') goto yy1330; ++ if (yych == 'p') goto yy1330; ++ goto yy1284; + } + } + yy1328: ++ ++YYCURSOR; ++ if ((YYLIMIT - YYCURSOR) < 5) YYFILL(5); ++ yych = *YYCURSOR; ++ if (yych <= 'A') { ++ if (yych <= 0x1F) { ++ if (yych == '\t') goto yy1328; ++ goto yy56; ++ } else { ++ if (yych <= ' ') goto yy1328; ++ if (yych <= '@') goto yy56; ++ } ++ } else { ++ if (yych <= '`') { ++ if (yych != 'P') goto yy56; ++ } else { ++ if (yych <= 'a') goto yy1330; ++ if (yych != 'p') goto yy56; ++ } ++ } ++yy1330: + yych = *++YYCURSOR; + if (yych <= 'L') { + if (yych != '.') goto yy56; + } else { +- if (yych <= 'M') goto yy1330; +- if (yych == 'm') goto yy1330; ++ if (yych <= 'M') goto yy1332; ++ if (yych == 'm') goto yy1332; + goto yy56; + } + yych = *++YYCURSOR; +- if (yych == 'M') goto yy1330; ++ if (yych == 'M') goto yy1332; + if (yych != 'm') goto yy56; +-yy1330: ++yy1332: + yych = *++YYCURSOR; + if (yych <= 0x1F) { +- if (yych <= 0x00) goto yy1292; +- if (yych == '\t') goto yy1292; ++ if (yych <= 0x00) goto yy1293; ++ if (yych == '\t') goto yy1293; + goto yy56; + } else { +- if (yych <= ' ') goto yy1292; ++ if (yych <= ' ') goto yy1293; + if (yych != '.') goto yy56; + } + yych = *++YYCURSOR; + if (yych <= '\t') { +- if (yych <= 0x00) goto yy1292; ++ if (yych <= 0x00) goto yy1293; + if (yych <= 0x08) goto yy56; +- goto yy1292; ++ goto yy1293; + } else { +- if (yych == ' ') goto yy1292; ++ if (yych == ' ') goto yy1293; + goto yy56; + } +-yy1332: ++yy1334: + yych = *++YYCURSOR; + if (yych <= 'R') { + if (yych <= ')') { +@@ -18877,12 +19068,12 @@ yy1332: + if (yych <= '`') goto yy3; + goto yy167; + } else { +- if (yych <= 'r') goto yy1333; ++ if (yych <= 'r') goto yy1335; + if (yych <= 'z') goto yy167; + goto yy3; + } + } +-yy1333: ++yy1335: + yych = *++YYCURSOR; + if (yych <= 'T') { + if (yych <= ')') { +@@ -18898,12 +19089,12 @@ yy1333: + if (yych <= '`') goto yy3; + goto yy168; + } else { +- if (yych <= 't') goto yy1334; ++ if (yych <= 't') goto yy1336; + if (yych <= 'z') goto yy168; + goto yy3; + } + } +-yy1334: ++yy1336: + yych = *++YYCURSOR; + if (yych <= 'H') { + if (yych <= ')') { +@@ -18925,7 +19116,7 @@ yy1334: + goto yy3; + } + } +-yy1335: ++yy1337: + yych = *++YYCURSOR; + if (yych <= 'S') { + if (yych <= ')') { +@@ -18934,7 +19125,7 @@ yy1335: + } else { + if (yych <= '@') goto yy3; + if (yych <= 'R') goto yy167; +- goto yy1338; ++ goto yy1340; + } + } else { + if (yych <= 'r') { +@@ -18942,12 +19133,12 @@ yy1335: + if (yych <= '`') goto yy3; + goto yy167; + } else { +- if (yych <= 's') goto yy1338; ++ if (yych <= 's') goto yy1340; + if (yych <= 'z') goto yy167; + goto yy3; + } + } +-yy1336: ++yy1338: + yych = *++YYCURSOR; + if (yych <= 'T') { + if (yych <= ')') { +@@ -18963,12 +19154,12 @@ yy1336: + if (yych <= '`') goto yy3; + goto yy167; + } else { +- if (yych <= 't') goto yy1337; ++ if (yych <= 't') goto yy1339; + if (yych <= 'z') goto yy167; + goto yy3; + } + } +-yy1337: ++yy1339: + yych = *++YYCURSOR; + if (yych <= 'H') { + if (yych <= ')') { +@@ -18990,7 +19181,7 @@ yy1337: + goto yy3; + } + } +-yy1338: ++yy1340: + yych = *++YYCURSOR; + if (yych <= 'T') { + if (yych <= ')') { +@@ -19006,12 +19197,12 @@ yy1338: + if (yych <= '`') goto yy3; + goto yy168; + } else { +- if (yych <= 't') goto yy1339; ++ if (yych <= 't') goto yy1341; + if (yych <= 'z') goto yy168; + goto yy3; + } + } +-yy1339: ++yy1341: + yyaccept = 0; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= '(') { +@@ -19032,19 +19223,19 @@ yy1339: + goto yy3; + } + } +-yy1340: ++yy1342: + yych = *++YYCURSOR; +- if (yych == 'D') goto yy1341; ++ if (yych == 'D') goto yy1343; + if (yych != 'd') goto yy1197; +-yy1341: ++yy1343: + yych = *++YYCURSOR; +- if (yych == 'A') goto yy1342; ++ if (yych == 'A') goto yy1344; + if (yych != 'a') goto yy56; +-yy1342: ++yy1344: + yych = *++YYCURSOR; +- if (yych == 'Y') goto yy1343; ++ if (yych == 'Y') goto yy1345; + if (yych != 'y') goto yy56; +-yy1343: ++yy1345: + yyaccept = 25; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'R') { +@@ -19055,14 +19246,14 @@ yy1343: + goto yy1084; + } + yych = *++YYCURSOR; +- if (yych == 'O') goto yy1345; ++ if (yych == 'O') goto yy1347; + if (yych != 'o') goto yy56; +-yy1345: ++yy1347: + yych = *++YYCURSOR; +- if (yych == 'F') goto yy1305; +- if (yych == 'f') goto yy1305; ++ if (yych == 'F') goto yy1306; ++ if (yych == 'f') goto yy1306; + goto yy56; +-yy1346: ++yy1348: + yyaccept = 5; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= '/') { +@@ -19097,13 +19288,13 @@ yy1346: + if (yych <= '`') goto yy218; + goto yy167; + } else { +- if (yych <= 'r') goto yy1347; ++ if (yych <= 'r') goto yy1349; + if (yych <= 'z') goto yy167; + goto yy218; + } + } + } +-yy1347: ++yy1349: + yych = *++YYCURSOR; + if (yych <= 'U') { + if (yych <= ')') { +@@ -19119,12 +19310,12 @@ yy1347: + if (yych <= '`') goto yy3; + goto yy168; + } else { +- if (yych <= 'u') goto yy1348; ++ if (yych <= 'u') goto yy1350; + if (yych <= 'z') goto yy168; + goto yy3; + } + } +-yy1348: ++yy1350: + yych = *++YYCURSOR; + if (yych <= 'A') { + if (yych == ')') goto yy164; +@@ -19134,27 +19325,27 @@ yy1348: + if (yych <= 'Z') goto yy169; + goto yy3; + } else { +- if (yych <= 'a') goto yy1349; ++ if (yych <= 'a') goto yy1351; + if (yych <= 'z') goto yy169; + goto yy3; + } + } +-yy1349: ++yy1351: + yyaccept = 0; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'Q') { + if (yych == ')') goto yy164; + goto yy3; + } else { +- if (yych <= 'R') goto yy1350; ++ if (yych <= 'R') goto yy1352; + if (yych != 'r') goto yy3; + } +-yy1350: ++yy1352: + yych = *++YYCURSOR; + if (yych == 'Y') goto yy229; + if (yych == 'y') goto yy229; + goto yy56; +-yy1351: ++yy1353: + yyaccept = 0; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'A') { +@@ -19169,7 +19360,7 @@ yy1351: + } + } else { + if (yych <= '_') { +- if (yych <= 'B') goto yy1346; ++ if (yych <= 'B') goto yy1348; + if (yych <= 'Z') goto yy166; + if (yych <= '^') goto yy3; + goto yy172; +@@ -19178,13 +19369,13 @@ yy1351: + if (yych <= '`') goto yy3; + goto yy171; + } else { +- if (yych <= 'b') goto yy1369; ++ if (yych <= 'b') goto yy1371; + if (yych <= 'z') goto yy171; + goto yy3; + } + } + } +-yy1352: ++yy1354: + yyaccept = 0; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'Q') { +@@ -19201,14 +19392,14 @@ yy1352: + if (yych <= '/') goto yy172; + goto yy3; + } else { +- if (yych == 'F') goto yy1336; ++ if (yych == 'F') goto yy1338; + goto yy166; + } + } + } else { + if (yych <= '`') { + if (yych <= 'Z') { +- if (yych <= 'R') goto yy1335; ++ if (yych <= 'R') goto yy1337; + goto yy166; + } else { + if (yych == '_') goto yy172; +@@ -19216,16 +19407,16 @@ yy1352: + } + } else { + if (yych <= 'q') { +- if (yych == 'f') goto yy1365; ++ if (yych == 'f') goto yy1367; + goto yy171; + } else { +- if (yych <= 'r') goto yy1364; ++ if (yych <= 'r') goto yy1366; + if (yych <= 'z') goto yy171; + goto yy3; + } + } + } +-yy1353: ++yy1355: + yyaccept = 0; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'T') { +@@ -19240,7 +19431,7 @@ yy1353: + } + } else { + if (yych <= '_') { +- if (yych <= 'U') goto yy1332; ++ if (yych <= 'U') goto yy1334; + if (yych <= 'Z') goto yy166; + if (yych <= '^') goto yy3; + goto yy172; +@@ -19249,13 +19440,13 @@ yy1353: + if (yych <= '`') goto yy3; + goto yy171; + } else { +- if (yych <= 'u') goto yy1361; ++ if (yych <= 'u') goto yy1363; + if (yych <= 'z') goto yy171; + goto yy3; + } + } + } +-yy1354: ++yy1356: + yyaccept = 0; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'N') { +@@ -19272,14 +19463,14 @@ yy1354: + if (yych <= '/') goto yy172; + goto yy3; + } else { +- if (yych == 'I') goto yy1315; ++ if (yych == 'I') goto yy1316; + goto yy166; + } + } + } else { + if (yych <= '`') { + if (yych <= 'Z') { +- if (yych <= 'O') goto yy1314; ++ if (yych <= 'O') goto yy1315; + goto yy166; + } else { + if (yych == '_') goto yy172; +@@ -19287,16 +19478,16 @@ yy1354: + } + } else { + if (yych <= 'n') { +- if (yych == 'i') goto yy1356; ++ if (yych == 'i') goto yy1358; + goto yy171; + } else { +- if (yych <= 'o') goto yy1355; ++ if (yych <= 'o') goto yy1357; + if (yych <= 'z') goto yy171; + goto yy3; + } + } + } +-yy1355: ++yy1357: + yyaccept = 0; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'M') { +@@ -19311,7 +19502,7 @@ yy1355: + } + } else { + if (yych <= '_') { +- if (yych <= 'N') goto yy1318; ++ if (yych <= 'N') goto yy1319; + if (yych <= 'Z') goto yy167; + if (yych <= '^') goto yy3; + goto yy172; +@@ -19320,13 +19511,13 @@ yy1355: + if (yych <= '`') goto yy3; + goto yy175; + } else { +- if (yych <= 'n') goto yy1359; ++ if (yych <= 'n') goto yy1361; + if (yych <= 'z') goto yy175; + goto yy3; + } + } + } +-yy1356: ++yy1358: + yyaccept = 4; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'C') { +@@ -19341,7 +19532,7 @@ yy1356: + } + } else { + if (yych <= '_') { +- if (yych <= 'D') goto yy1316; ++ if (yych <= 'D') goto yy1317; + if (yych <= 'Z') goto yy167; + if (yych <= '^') goto yy191; + goto yy172; +@@ -19350,13 +19541,13 @@ yy1356: + if (yych <= '`') goto yy191; + goto yy175; + } else { +- if (yych <= 'd') goto yy1357; ++ if (yych <= 'd') goto yy1359; + if (yych <= 'z') goto yy175; + goto yy191; + } + } + } +-yy1357: ++yy1359: + yyaccept = 0; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= '@') { +@@ -19370,18 +19561,18 @@ yy1357: + } + } else { + if (yych <= '_') { +- if (yych <= 'A') goto yy1317; ++ if (yych <= 'A') goto yy1318; + if (yych <= 'Z') goto yy168; + if (yych <= '^') goto yy3; + goto yy172; + } else { + if (yych <= '`') goto yy3; +- if (yych <= 'a') goto yy1358; ++ if (yych <= 'a') goto yy1360; + if (yych <= 'z') goto yy176; + goto yy3; + } + } +-yy1358: ++yy1360: + yyaccept = 0; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'X') { +@@ -19411,7 +19602,7 @@ yy1358: + } + } + } +-yy1359: ++yy1361: + yyaccept = 0; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'S') { +@@ -19426,7 +19617,7 @@ yy1359: + } + } else { + if (yych <= '_') { +- if (yych <= 'T') goto yy1319; ++ if (yych <= 'T') goto yy1320; + if (yych <= 'Z') goto yy168; + if (yych <= '^') goto yy3; + goto yy172; +@@ -19435,18 +19626,18 @@ yy1359: + if (yych <= '`') goto yy3; + goto yy176; + } else { +- if (yych <= 't') goto yy1360; ++ if (yych <= 't') goto yy1362; + if (yych <= 'z') goto yy176; + goto yy3; + } + } + } +-yy1360: ++yy1362: + yyaccept = 0; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= '.') { + if (yych <= '(') { +- if (yych == ' ') goto yy1320; ++ if (yych == ' ') goto yy1321; + goto yy3; + } else { + if (yych <= ')') goto yy164; +@@ -19466,7 +19657,7 @@ yy1360: + goto yy3; + } + } +-yy1361: ++yy1363: + yyaccept = 0; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'Q') { +@@ -19481,7 +19672,7 @@ yy1361: + } + } else { + if (yych <= '_') { +- if (yych <= 'R') goto yy1333; ++ if (yych <= 'R') goto yy1335; + if (yych <= 'Z') goto yy167; + if (yych <= '^') goto yy3; + goto yy172; +@@ -19490,13 +19681,13 @@ yy1361: + if (yych <= '`') goto yy3; + goto yy175; + } else { +- if (yych <= 'r') goto yy1362; ++ if (yych <= 'r') goto yy1364; + if (yych <= 'z') goto yy175; + goto yy3; + } + } + } +-yy1362: ++yy1364: + yyaccept = 0; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'S') { +@@ -19511,7 +19702,7 @@ yy1362: + } + } else { + if (yych <= '_') { +- if (yych <= 'T') goto yy1334; ++ if (yych <= 'T') goto yy1336; + if (yych <= 'Z') goto yy168; + if (yych <= '^') goto yy3; + goto yy172; +@@ -19520,13 +19711,13 @@ yy1362: + if (yych <= '`') goto yy3; + goto yy176; + } else { +- if (yych <= 't') goto yy1363; ++ if (yych <= 't') goto yy1365; + if (yych <= 'z') goto yy176; + goto yy3; + } + } + } +-yy1363: ++yy1365: + yyaccept = 0; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'G') { +@@ -19556,7 +19747,7 @@ yy1363: + } + } + } +-yy1364: ++yy1366: + yyaccept = 0; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'R') { +@@ -19571,7 +19762,7 @@ yy1364: + } + } else { + if (yych <= '_') { +- if (yych <= 'S') goto yy1338; ++ if (yych <= 'S') goto yy1340; + if (yych <= 'Z') goto yy167; + if (yych <= '^') goto yy3; + goto yy172; +@@ -19580,13 +19771,13 @@ yy1364: + if (yych <= '`') goto yy3; + goto yy175; + } else { +- if (yych <= 's') goto yy1367; ++ if (yych <= 's') goto yy1369; + if (yych <= 'z') goto yy175; + goto yy3; + } + } + } +-yy1365: ++yy1367: + yyaccept = 0; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'S') { +@@ -19601,7 +19792,7 @@ yy1365: + } + } else { + if (yych <= '_') { +- if (yych <= 'T') goto yy1337; ++ if (yych <= 'T') goto yy1339; + if (yych <= 'Z') goto yy167; + if (yych <= '^') goto yy3; + goto yy172; +@@ -19610,13 +19801,13 @@ yy1365: + if (yych <= '`') goto yy3; + goto yy175; + } else { +- if (yych <= 't') goto yy1366; ++ if (yych <= 't') goto yy1368; + if (yych <= 'z') goto yy175; + goto yy3; + } + } + } +-yy1366: ++yy1368: + yyaccept = 0; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'G') { +@@ -19646,7 +19837,7 @@ yy1366: + } + } + } +-yy1367: ++yy1369: + yyaccept = 0; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'S') { +@@ -19661,7 +19852,7 @@ yy1367: + } + } else { + if (yych <= '_') { +- if (yych <= 'T') goto yy1339; ++ if (yych <= 'T') goto yy1341; + if (yych <= 'Z') goto yy168; + if (yych <= '^') goto yy3; + goto yy172; +@@ -19670,20 +19861,20 @@ yy1367: + if (yych <= '`') goto yy3; + goto yy176; + } else { +- if (yych <= 't') goto yy1368; ++ if (yych <= 't') goto yy1370; + if (yych <= 'z') goto yy176; + goto yy3; + } + } + } +-yy1368: ++yy1370: + yyaccept = 0; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= '-') { + if (yych <= ' ') { + if (yych == '\t') goto yy1196; + if (yych <= 0x1F) goto yy3; +- goto yy1340; ++ goto yy1342; + } else { + if (yych == ')') goto yy164; + if (yych <= ',') goto yy3; +@@ -19705,7 +19896,7 @@ yy1368: + } + } + } +-yy1369: ++yy1371: + yyaccept = 5; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= '9') { +@@ -19733,7 +19924,7 @@ yy1369: + if (yych <= '@') goto yy218; + goto yy167; + } else { +- if (yych <= 'R') goto yy1347; ++ if (yych <= 'R') goto yy1349; + if (yych <= 'Z') goto yy167; + goto yy218; + } +@@ -19743,13 +19934,13 @@ yy1369: + if (yych <= '`') goto yy218; + goto yy175; + } else { +- if (yych <= 'r') goto yy1370; ++ if (yych <= 'r') goto yy1372; + if (yych <= 'z') goto yy175; + goto yy218; + } + } + } +-yy1370: ++yy1372: + yyaccept = 0; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'T') { +@@ -19764,7 +19955,7 @@ yy1370: + } + } else { + if (yych <= '_') { +- if (yych <= 'U') goto yy1348; ++ if (yych <= 'U') goto yy1350; + if (yych <= 'Z') goto yy168; + if (yych <= '^') goto yy3; + goto yy172; +@@ -19773,13 +19964,13 @@ yy1370: + if (yych <= '`') goto yy3; + goto yy176; + } else { +- if (yych <= 'u') goto yy1371; ++ if (yych <= 'u') goto yy1373; + if (yych <= 'z') goto yy176; + goto yy3; + } + } + } +-yy1371: ++yy1373: + yyaccept = 0; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= '@') { +@@ -19793,18 +19984,18 @@ yy1371: + } + } else { + if (yych <= '_') { +- if (yych <= 'A') goto yy1349; ++ if (yych <= 'A') goto yy1351; + if (yych <= 'Z') goto yy169; + if (yych <= '^') goto yy3; + goto yy172; + } else { + if (yych <= '`') goto yy3; +- if (yych <= 'a') goto yy1372; ++ if (yych <= 'a') goto yy1374; + if (yych <= 'z') goto yy177; + goto yy3; + } + } +-yy1372: ++yy1374: + yyaccept = 0; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'Q') { +@@ -19818,33 +20009,34 @@ yy1372: + } + } else { + if (yych <= '`') { +- if (yych <= 'R') goto yy1350; ++ if (yych <= 'R') goto yy1352; + if (yych == '_') goto yy172; + goto yy3; + } else { +- if (yych == 'r') goto yy1373; ++ if (yych == 'r') goto yy1375; + if (yych <= 'z') goto yy178; + goto yy3; + } + } +-yy1373: ++yy1375: + yych = *++YYCURSOR; + if (yych == 'Y') goto yy229; + if (yych == 'y') goto yy341; + goto yy179; +-yy1374: ++yy1376: + yych = *++YYCURSOR; + if (yych <= '/') goto yy56; + if (yych >= ':') goto yy56; +-yy1375: ++yy1377: + yyaccept = 28; + YYMARKER = ++YYCURSOR; + if ((YYLIMIT - YYCURSOR) < 7) YYFILL(7); + yych = *YYCURSOR; +- if (yych == '.') goto yy1378; +- if (yych <= '/') goto yy1377; +- if (yych <= '9') goto yy1375; +-yy1377: ++ if (yych == '.') goto yy1380; ++ if (yych <= '/') goto yy1379; ++ if (yych <= '9') goto yy1377; ++yy1379: ++#line 1025 "ext/date/lib/parse_date.re" + { + timelib_ull i; + +@@ -19869,7 +20061,8 @@ yy1377: + TIMELIB_DEINIT; + return TIMELIB_RELATIVE; + } +-yy1378: ++#line 20065 "ext/date/lib/parse_date.c" ++yy1380: + yych = *++YYCURSOR; + if (yych <= '/') goto yy56; + if (yych >= ':') goto yy56; +@@ -19889,6 +20082,7 @@ yy1378: + if (yych <= '/') goto yy56; + if (yych >= ':') goto yy56; + ++YYCURSOR; ++#line 1051 "ext/date/lib/parse_date.re" + { + timelib_ull i, ms; + +@@ -19915,7 +20109,8 @@ yy1378: + TIMELIB_DEINIT; + return TIMELIB_RELATIVE; + } +-yy1386: ++#line 20113 "ext/date/lib/parse_date.c" ++yy1388: + yych = *++YYCURSOR; + if (yych <= 'N') { + if (yych <= ')') { +@@ -19924,7 +20119,7 @@ yy1386: + } else { + if (yych <= '@') goto yy3; + if (yych <= 'M') goto yy166; +- goto yy1427; ++ goto yy1429; + } + } else { + if (yych <= 'm') { +@@ -19932,58 +20127,58 @@ yy1386: + if (yych <= '`') goto yy3; + goto yy166; + } else { +- if (yych <= 'n') goto yy1427; ++ if (yych <= 'n') goto yy1429; + if (yych <= 'z') goto yy166; + goto yy3; + } + } +-yy1387: ++yy1389: + yych = *++YYCURSOR; + if (yych <= 'U') { + if (yych <= '@') { + if (yych == ')') goto yy164; + goto yy3; + } else { +- if (yych == 'I') goto yy1419; ++ if (yych == 'I') goto yy1421; + if (yych <= 'T') goto yy166; +- goto yy1420; ++ goto yy1422; + } + } else { + if (yych <= 'i') { + if (yych <= 'Z') goto yy166; + if (yych <= '`') goto yy3; + if (yych <= 'h') goto yy166; +- goto yy1419; ++ goto yy1421; + } else { +- if (yych == 'u') goto yy1420; ++ if (yych == 'u') goto yy1422; + if (yych <= 'z') goto yy166; + goto yy3; + } + } +-yy1388: ++yy1390: + yych = *++YYCURSOR; + if (yych <= 'M') { + if (yych <= '@') { + if (yych == ')') goto yy164; + goto yy3; + } else { +- if (yych == 'D') goto yy1408; ++ if (yych == 'D') goto yy1410; + if (yych <= 'L') goto yy166; +- goto yy1409; ++ goto yy1411; + } + } else { + if (yych <= 'd') { + if (yych <= 'Z') goto yy166; + if (yych <= '`') goto yy3; + if (yych <= 'c') goto yy166; +- goto yy1408; ++ goto yy1410; + } else { +- if (yych == 'm') goto yy1409; ++ if (yych == 'm') goto yy1411; + if (yych <= 'z') goto yy166; + goto yy3; + } + } +-yy1389: ++yy1391: + yych = *++YYCURSOR; + if (yych <= 'E') { + if (yych <= ')') { +@@ -19992,7 +20187,7 @@ yy1389: + } else { + if (yych <= '@') goto yy3; + if (yych <= 'D') goto yy166; +- goto yy1404; ++ goto yy1406; + } + } else { + if (yych <= 'd') { +@@ -20000,12 +20195,12 @@ yy1389: + if (yych <= '`') goto yy3; + goto yy166; + } else { +- if (yych <= 'e') goto yy1404; ++ if (yych <= 'e') goto yy1406; + if (yych <= 'z') goto yy166; + goto yy3; + } + } +-yy1390: ++yy1392: + yych = *++YYCURSOR; + if (yych <= 'E') { + if (yych <= ')') { +@@ -20014,7 +20209,7 @@ yy1390: + } else { + if (yych <= '@') goto yy3; + if (yych <= 'D') goto yy166; +- goto yy1400; ++ goto yy1402; + } + } else { + if (yych <= 'd') { +@@ -20022,68 +20217,68 @@ yy1390: + if (yych <= '`') goto yy3; + goto yy166; + } else { +- if (yych <= 'e') goto yy1400; ++ if (yych <= 'e') goto yy1402; + if (yych <= 'z') goto yy166; + goto yy3; + } + } +-yy1391: ++yy1393: + yych = *++YYCURSOR; + if (yych <= '/') { + if (yych == '.') goto yy1029; + goto yy56; + } else { +- if (yych <= '9') goto yy1394; ++ if (yych <= '9') goto yy1396; + if (yych <= ':') goto yy1029; + goto yy56; + } +-yy1392: ++yy1394: + yych = *++YYCURSOR; + if (yych <= '/') { + if (yych == '.') goto yy1029; + goto yy56; + } else { +- if (yych <= '4') goto yy1394; ++ if (yych <= '4') goto yy1396; + if (yych == ':') goto yy1029; + goto yy56; + } +-yy1393: ++yy1395: + yych = *++YYCURSOR; + if (yych == '.') goto yy1029; + if (yych == ':') goto yy1029; + goto yy56; +-yy1394: ++yy1396: + yych = *++YYCURSOR; + if (yych <= '/') { + if (yych == '.') goto yy1029; + goto yy56; + } else { +- if (yych <= '5') goto yy1395; ++ if (yych <= '5') goto yy1397; + if (yych == ':') goto yy1029; + goto yy56; + } +-yy1395: ++yy1397: + yych = *++YYCURSOR; + if (yych <= '/') goto yy56; + if (yych >= ':') goto yy56; + yyaccept = 23; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= '/') goto yy1032; +- if (yych <= '5') goto yy1397; +- if (yych <= '6') goto yy1398; ++ if (yych <= '5') goto yy1399; ++ if (yych <= '6') goto yy1400; + goto yy1032; +-yy1397: ++yy1399: + yych = *++YYCURSOR; + if (yych <= '/') goto yy56; +- if (yych <= '9') goto yy1399; ++ if (yych <= '9') goto yy1401; + goto yy56; +-yy1398: ++yy1400: + yych = *++YYCURSOR; + if (yych != '0') goto yy56; +-yy1399: ++yy1401: + yych = *++YYCURSOR; + goto yy1040; +-yy1400: ++yy1402: + yych = *++YYCURSOR; + if (yych <= 'L') { + if (yych <= ')') { +@@ -20099,12 +20294,12 @@ yy1400: + if (yych <= '`') goto yy3; + goto yy167; + } else { +- if (yych <= 'l') goto yy1401; ++ if (yych <= 'l') goto yy1403; + if (yych <= 'z') goto yy167; + goto yy3; + } + } +-yy1401: ++yy1403: + yych = *++YYCURSOR; + if (yych <= 'F') { + if (yych <= ')') { +@@ -20120,12 +20315,12 @@ yy1401: + if (yych <= '`') goto yy3; + goto yy168; + } else { +- if (yych <= 'f') goto yy1402; ++ if (yych <= 'f') goto yy1404; + if (yych <= 'z') goto yy168; + goto yy3; + } + } +-yy1402: ++yy1404: + yych = *++YYCURSOR; + if (yych <= 'T') { + if (yych <= ')') { +@@ -20141,12 +20336,12 @@ yy1402: + if (yych <= '`') goto yy3; + goto yy169; + } else { +- if (yych <= 't') goto yy1403; ++ if (yych <= 't') goto yy1405; + if (yych <= 'z') goto yy169; + goto yy3; + } + } +-yy1403: ++yy1405: + yyaccept = 0; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'G') { +@@ -20157,7 +20352,7 @@ yy1403: + if (yych == 'h') goto yy1195; + goto yy3; + } +-yy1404: ++yy1406: + yych = *++YYCURSOR; + if (yych <= 'S') { + if (yych <= ')') { +@@ -20173,12 +20368,12 @@ yy1404: + if (yych <= '`') goto yy191; + goto yy167; + } else { +- if (yych <= 's') goto yy1405; ++ if (yych <= 's') goto yy1407; + if (yych <= 'z') goto yy167; + goto yy191; + } + } +-yy1405: ++yy1407: + yych = *++YYCURSOR; + if (yych <= 'D') { + if (yych <= ')') { +@@ -20194,12 +20389,12 @@ yy1405: + if (yych <= '`') goto yy3; + goto yy168; + } else { +- if (yych <= 'd') goto yy1406; ++ if (yych <= 'd') goto yy1408; + if (yych <= 'z') goto yy168; + goto yy3; + } + } +-yy1406: ++yy1408: + yych = *++YYCURSOR; + if (yych <= 'A') { + if (yych == ')') goto yy164; +@@ -20209,12 +20404,12 @@ yy1406: + if (yych <= 'Z') goto yy169; + goto yy3; + } else { +- if (yych <= 'a') goto yy1407; ++ if (yych <= 'a') goto yy1409; + if (yych <= 'z') goto yy169; + goto yy3; + } + } +-yy1407: ++yy1409: + yych = *++YYCURSOR; + if (yych <= 'X') { + if (yych == ')') goto yy164; +@@ -20224,23 +20419,23 @@ yy1407: + if (yych == 'y') goto yy197; + goto yy3; + } +-yy1408: ++yy1410: + yych = *++YYCURSOR; + if (yych <= 'A') { + if (yych == ')') goto yy164; + if (yych <= '@') goto yy3; +- goto yy1416; ++ goto yy1418; + } else { + if (yych <= '`') { + if (yych <= 'Z') goto yy167; + goto yy3; + } else { +- if (yych <= 'a') goto yy1416; ++ if (yych <= 'a') goto yy1418; + if (yych <= 'z') goto yy167; + goto yy3; + } + } +-yy1409: ++yy1411: + yych = *++YYCURSOR; + if (yych <= 'O') { + if (yych <= ')') { +@@ -20256,12 +20451,12 @@ yy1409: + if (yych <= '`') goto yy3; + goto yy167; + } else { +- if (yych <= 'o') goto yy1410; ++ if (yych <= 'o') goto yy1412; + if (yych <= 'z') goto yy167; + goto yy3; + } + } +-yy1410: ++yy1412: + yych = *++YYCURSOR; + if (yych <= 'R') { + if (yych <= ')') { +@@ -20277,12 +20472,12 @@ yy1410: + if (yych <= '`') goto yy3; + goto yy168; + } else { +- if (yych <= 'r') goto yy1411; ++ if (yych <= 'r') goto yy1413; + if (yych <= 'z') goto yy168; + goto yy3; + } + } +-yy1411: ++yy1413: + yych = *++YYCURSOR; + if (yych <= 'R') { + if (yych <= ')') { +@@ -20298,28 +20493,29 @@ yy1411: + if (yych <= '`') goto yy3; + goto yy169; + } else { +- if (yych <= 'r') goto yy1412; ++ if (yych <= 'r') goto yy1414; + if (yych <= 'z') goto yy169; + goto yy3; + } + } +-yy1412: ++yy1414: + yyaccept = 0; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'N') { + if (yych == ')') goto yy164; + goto yy3; + } else { +- if (yych <= 'O') goto yy1413; ++ if (yych <= 'O') goto yy1415; + if (yych != 'o') goto yy3; + } +-yy1413: ++yy1415: + yych = *++YYCURSOR; +- if (yych == 'W') goto yy1414; ++ if (yych == 'W') goto yy1416; + if (yych != 'w') goto yy56; +-yy1414: ++yy1416: + ++YYCURSOR; +-yy1415: ++yy1417: ++#line 1013 "ext/date/lib/parse_date.re" + { + DEBUG_OUTPUT("tomorrow"); + TIMELIB_INIT; +@@ -20330,7 +20526,8 @@ yy1415: + TIMELIB_DEINIT; + return TIMELIB_RELATIVE; + } +-yy1416: ++#line 20530 "ext/date/lib/parse_date.c" ++yy1418: + yych = *++YYCURSOR; + if (yych <= 'Y') { + if (yych <= ')') { +@@ -20346,21 +20543,22 @@ yy1416: + if (yych <= '`') goto yy3; + goto yy168; + } else { +- if (yych <= 'y') goto yy1417; ++ if (yych <= 'y') goto yy1419; + if (yych <= 'z') goto yy168; + goto yy3; + } + } +-yy1417: ++yy1419: + ++YYCURSOR; + if ((yych = *YYCURSOR) <= '@') { + if (yych == ')') goto yy164; + } else { + if (yych <= 'Z') goto yy169; +- if (yych <= '`') goto yy1418; ++ if (yych <= '`') goto yy1420; + if (yych <= 'z') goto yy169; + } +-yy1418: ++yy1420: ++#line 1003 "ext/date/lib/parse_date.re" + { + DEBUG_OUTPUT("midnight | today"); + TIMELIB_INIT; +@@ -20369,7 +20567,8 @@ yy1418: + TIMELIB_DEINIT; + return TIMELIB_RELATIVE; + } +-yy1419: ++#line 20571 "ext/date/lib/parse_date.c" ++yy1421: + yych = *++YYCURSOR; + if (yych <= 'S') { + if (yych <= '@') { +@@ -20377,8 +20576,8 @@ yy1419: + goto yy3; + } else { + if (yych <= 'Q') goto yy167; +- if (yych <= 'R') goto yy1425; +- goto yy1426; ++ if (yych <= 'R') goto yy1427; ++ goto yy1428; + } + } else { + if (yych <= 'q') { +@@ -20386,13 +20585,13 @@ yy1419: + if (yych <= '`') goto yy3; + goto yy167; + } else { +- if (yych <= 'r') goto yy1425; +- if (yych <= 's') goto yy1426; ++ if (yych <= 'r') goto yy1427; ++ if (yych <= 's') goto yy1428; + if (yych <= 'z') goto yy167; + goto yy3; + } + } +-yy1420: ++yy1422: + yych = *++YYCURSOR; + if (yych <= 'R') { + if (yych <= ')') { +@@ -20408,12 +20607,12 @@ yy1420: + if (yych <= '`') goto yy191; + goto yy167; + } else { +- if (yych <= 'r') goto yy1421; ++ if (yych <= 'r') goto yy1423; + if (yych <= 'z') goto yy167; + goto yy191; + } + } +-yy1421: ++yy1423: + yych = *++YYCURSOR; + if (yych <= 'S') { + if (yych <= ')') { +@@ -20429,12 +20628,12 @@ yy1421: + if (yych <= '`') goto yy3; + goto yy168; + } else { +- if (yych <= 's') goto yy1422; ++ if (yych <= 's') goto yy1424; + if (yych <= 'z') goto yy168; + goto yy3; + } + } +-yy1422: ++yy1424: + yych = *++YYCURSOR; + if (yych <= 'D') { + if (yych <= ')') { +@@ -20450,27 +20649,27 @@ yy1422: + if (yych <= '`') goto yy3; + goto yy169; + } else { +- if (yych <= 'd') goto yy1423; ++ if (yych <= 'd') goto yy1425; + if (yych <= 'z') goto yy169; + goto yy3; + } + } +-yy1423: ++yy1425: + yyaccept = 0; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= '@') { + if (yych == ')') goto yy164; + goto yy3; + } else { +- if (yych <= 'A') goto yy1424; ++ if (yych <= 'A') goto yy1426; + if (yych != 'a') goto yy3; + } +-yy1424: ++yy1426: + yych = *++YYCURSOR; + if (yych == 'Y') goto yy197; + if (yych == 'y') goto yy197; + goto yy56; +-yy1425: ++yy1427: + yych = *++YYCURSOR; + if (yych <= 'D') { + if (yych <= ')') { +@@ -20492,7 +20691,7 @@ yy1425: + goto yy3; + } + } +-yy1426: ++yy1428: + yyaccept = 0; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= '(') { +@@ -20514,7 +20713,7 @@ yy1426: + goto yy3; + } + } +-yy1427: ++yy1429: + yych = *++YYCURSOR; + if (yych <= 'T') { + if (yych <= ')') { +@@ -20530,12 +20729,12 @@ yy1427: + if (yych <= '`') goto yy3; + goto yy167; + } else { +- if (yych <= 't') goto yy1428; ++ if (yych <= 't') goto yy1430; + if (yych <= 'z') goto yy167; + goto yy3; + } + } +-yy1428: ++yy1430: + yych = *++YYCURSOR; + if (yych <= 'H') { + if (yych <= ')') { +@@ -20557,7 +20756,7 @@ yy1428: + goto yy3; + } + } +-yy1429: ++yy1431: + yyaccept = 0; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'M') { +@@ -20572,7 +20771,7 @@ yy1429: + } + } else { + if (yych <= '_') { +- if (yych <= 'N') goto yy1427; ++ if (yych <= 'N') goto yy1429; + if (yych <= 'Z') goto yy166; + if (yych <= '^') goto yy3; + goto yy172; +@@ -20581,13 +20780,13 @@ yy1429: + if (yych <= '`') goto yy3; + goto yy171; + } else { +- if (yych <= 'n') goto yy1459; ++ if (yych <= 'n') goto yy1461; + if (yych <= 'z') goto yy171; + goto yy3; + } + } + } +-yy1430: ++yy1432: + yyaccept = 0; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'T') { +@@ -20604,14 +20803,14 @@ yy1430: + if (yych <= '/') goto yy172; + goto yy3; + } else { +- if (yych == 'I') goto yy1419; ++ if (yych == 'I') goto yy1421; + goto yy166; + } + } + } else { + if (yych <= '`') { + if (yych <= 'Z') { +- if (yych <= 'U') goto yy1420; ++ if (yych <= 'U') goto yy1422; + goto yy166; + } else { + if (yych == '_') goto yy172; +@@ -20619,16 +20818,16 @@ yy1430: + } + } else { + if (yych <= 't') { +- if (yych == 'i') goto yy1451; ++ if (yych == 'i') goto yy1453; + goto yy171; + } else { +- if (yych <= 'u') goto yy1452; ++ if (yych <= 'u') goto yy1454; + if (yych <= 'z') goto yy171; + goto yy3; + } + } + } +-yy1431: ++yy1433: + yyaccept = 0; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'L') { +@@ -20645,14 +20844,14 @@ yy1431: + if (yych <= '/') goto yy172; + goto yy3; + } else { +- if (yych == 'D') goto yy1408; ++ if (yych == 'D') goto yy1410; + goto yy166; + } + } + } else { + if (yych <= '`') { + if (yych <= 'Z') { +- if (yych <= 'M') goto yy1409; ++ if (yych <= 'M') goto yy1411; + goto yy166; + } else { + if (yych == '_') goto yy172; +@@ -20660,16 +20859,16 @@ yy1431: + } + } else { + if (yych <= 'l') { +- if (yych == 'd') goto yy1442; ++ if (yych == 'd') goto yy1444; + goto yy171; + } else { +- if (yych <= 'm') goto yy1443; ++ if (yych <= 'm') goto yy1445; + if (yych <= 'z') goto yy171; + goto yy3; + } + } + } +-yy1432: ++yy1434: + yyaccept = 0; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'D') { +@@ -20684,7 +20883,7 @@ yy1432: + } + } else { + if (yych <= '_') { +- if (yych <= 'E') goto yy1404; ++ if (yych <= 'E') goto yy1406; + if (yych <= 'Z') goto yy166; + if (yych <= '^') goto yy3; + goto yy172; +@@ -20693,13 +20892,13 @@ yy1432: + if (yych <= '`') goto yy3; + goto yy171; + } else { +- if (yych <= 'e') goto yy1438; ++ if (yych <= 'e') goto yy1440; + if (yych <= 'z') goto yy171; + goto yy3; + } + } + } +-yy1433: ++yy1435: + yyaccept = 0; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'D') { +@@ -20714,7 +20913,7 @@ yy1433: + } + } else { + if (yych <= '_') { +- if (yych <= 'E') goto yy1400; ++ if (yych <= 'E') goto yy1402; + if (yych <= 'Z') goto yy166; + if (yych <= '^') goto yy3; + goto yy172; +@@ -20723,13 +20922,13 @@ yy1433: + if (yych <= '`') goto yy3; + goto yy171; + } else { +- if (yych <= 'e') goto yy1434; ++ if (yych <= 'e') goto yy1436; + if (yych <= 'z') goto yy171; + goto yy3; + } + } + } +-yy1434: ++yy1436: + yyaccept = 0; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'K') { +@@ -20744,7 +20943,7 @@ yy1434: + } + } else { + if (yych <= '_') { +- if (yych <= 'L') goto yy1401; ++ if (yych <= 'L') goto yy1403; + if (yych <= 'Z') goto yy167; + if (yych <= '^') goto yy3; + goto yy172; +@@ -20753,13 +20952,13 @@ yy1434: + if (yych <= '`') goto yy3; + goto yy175; + } else { +- if (yych <= 'l') goto yy1435; ++ if (yych <= 'l') goto yy1437; + if (yych <= 'z') goto yy175; + goto yy3; + } + } + } +-yy1435: ++yy1437: + yyaccept = 0; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'E') { +@@ -20774,7 +20973,7 @@ yy1435: + } + } else { + if (yych <= '_') { +- if (yych <= 'F') goto yy1402; ++ if (yych <= 'F') goto yy1404; + if (yych <= 'Z') goto yy168; + if (yych <= '^') goto yy3; + goto yy172; +@@ -20783,13 +20982,13 @@ yy1435: + if (yych <= '`') goto yy3; + goto yy176; + } else { +- if (yych <= 'f') goto yy1436; ++ if (yych <= 'f') goto yy1438; + if (yych <= 'z') goto yy176; + goto yy3; + } + } + } +-yy1436: ++yy1438: + yyaccept = 0; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'S') { +@@ -20804,7 +21003,7 @@ yy1436: + } + } else { + if (yych <= '_') { +- if (yych <= 'T') goto yy1403; ++ if (yych <= 'T') goto yy1405; + if (yych <= 'Z') goto yy169; + if (yych <= '^') goto yy3; + goto yy172; +@@ -20813,13 +21012,13 @@ yy1436: + if (yych <= '`') goto yy3; + goto yy177; + } else { +- if (yych <= 't') goto yy1437; ++ if (yych <= 't') goto yy1439; + if (yych <= 'z') goto yy177; + goto yy3; + } + } + } +-yy1437: ++yy1439: + yyaccept = 0; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'G') { +@@ -20842,7 +21041,7 @@ yy1437: + goto yy3; + } + } +-yy1438: ++yy1440: + yyaccept = 4; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'R') { +@@ -20857,7 +21056,7 @@ yy1438: + } + } else { + if (yych <= '_') { +- if (yych <= 'S') goto yy1405; ++ if (yych <= 'S') goto yy1407; + if (yych <= 'Z') goto yy167; + if (yych <= '^') goto yy191; + goto yy172; +@@ -20866,13 +21065,13 @@ yy1438: + if (yych <= '`') goto yy191; + goto yy175; + } else { +- if (yych <= 's') goto yy1439; ++ if (yych <= 's') goto yy1441; + if (yych <= 'z') goto yy175; + goto yy191; + } + } + } +-yy1439: ++yy1441: + yyaccept = 0; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'C') { +@@ -20887,7 +21086,7 @@ yy1439: + } + } else { + if (yych <= '_') { +- if (yych <= 'D') goto yy1406; ++ if (yych <= 'D') goto yy1408; + if (yych <= 'Z') goto yy168; + if (yych <= '^') goto yy3; + goto yy172; +@@ -20896,13 +21095,13 @@ yy1439: + if (yych <= '`') goto yy3; + goto yy176; + } else { +- if (yych <= 'd') goto yy1440; ++ if (yych <= 'd') goto yy1442; + if (yych <= 'z') goto yy176; + goto yy3; + } + } + } +-yy1440: ++yy1442: + yyaccept = 0; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= '@') { +@@ -20916,18 +21115,18 @@ yy1440: + } + } else { + if (yych <= '_') { +- if (yych <= 'A') goto yy1407; ++ if (yych <= 'A') goto yy1409; + if (yych <= 'Z') goto yy169; + if (yych <= '^') goto yy3; + goto yy172; + } else { + if (yych <= '`') goto yy3; +- if (yych <= 'a') goto yy1441; ++ if (yych <= 'a') goto yy1443; + if (yych <= 'z') goto yy177; + goto yy3; + } + } +-yy1441: ++yy1443: + yyaccept = 0; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'X') { +@@ -20950,7 +21149,7 @@ yy1441: + goto yy3; + } + } +-yy1442: ++yy1444: + yyaccept = 0; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= '@') { +@@ -20964,18 +21163,18 @@ yy1442: + } + } else { + if (yych <= '_') { +- if (yych <= 'A') goto yy1416; ++ if (yych <= 'A') goto yy1418; + if (yych <= 'Z') goto yy167; + if (yych <= '^') goto yy3; + goto yy172; + } else { + if (yych <= '`') goto yy3; +- if (yych <= 'a') goto yy1449; ++ if (yych <= 'a') goto yy1451; + if (yych <= 'z') goto yy175; + goto yy3; + } + } +-yy1443: ++yy1445: + yyaccept = 0; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'N') { +@@ -20990,7 +21189,7 @@ yy1443: + } + } else { + if (yych <= '_') { +- if (yych <= 'O') goto yy1410; ++ if (yych <= 'O') goto yy1412; + if (yych <= 'Z') goto yy167; + if (yych <= '^') goto yy3; + goto yy172; +@@ -20999,13 +21198,13 @@ yy1443: + if (yych <= '`') goto yy3; + goto yy175; + } else { +- if (yych <= 'o') goto yy1444; ++ if (yych <= 'o') goto yy1446; + if (yych <= 'z') goto yy175; + goto yy3; + } + } + } +-yy1444: ++yy1446: + yyaccept = 0; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'Q') { +@@ -21020,7 +21219,7 @@ yy1444: + } + } else { + if (yych <= '_') { +- if (yych <= 'R') goto yy1411; ++ if (yych <= 'R') goto yy1413; + if (yych <= 'Z') goto yy168; + if (yych <= '^') goto yy3; + goto yy172; +@@ -21029,13 +21228,13 @@ yy1444: + if (yych <= '`') goto yy3; + goto yy176; + } else { +- if (yych <= 'r') goto yy1445; ++ if (yych <= 'r') goto yy1447; + if (yych <= 'z') goto yy176; + goto yy3; + } + } + } +-yy1445: ++yy1447: + yyaccept = 0; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'Q') { +@@ -21050,7 +21249,7 @@ yy1445: + } + } else { + if (yych <= '_') { +- if (yych <= 'R') goto yy1412; ++ if (yych <= 'R') goto yy1414; + if (yych <= 'Z') goto yy169; + if (yych <= '^') goto yy3; + goto yy172; +@@ -21059,13 +21258,13 @@ yy1445: + if (yych <= '`') goto yy3; + goto yy177; + } else { +- if (yych <= 'r') goto yy1446; ++ if (yych <= 'r') goto yy1448; + if (yych <= 'z') goto yy177; + goto yy3; + } + } + } +-yy1446: ++yy1448: + yyaccept = 0; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'N') { +@@ -21079,18 +21278,18 @@ yy1446: + } + } else { + if (yych <= '`') { +- if (yych <= 'O') goto yy1413; ++ if (yych <= 'O') goto yy1415; + if (yych == '_') goto yy172; + goto yy3; + } else { +- if (yych == 'o') goto yy1447; ++ if (yych == 'o') goto yy1449; + if (yych <= 'z') goto yy178; + goto yy3; + } + } +-yy1447: ++yy1449: + yych = *++YYCURSOR; +- if (yych == 'W') goto yy1414; ++ if (yych == 'W') goto yy1416; + if (yych != 'w') goto yy179; + yyaccept = 29; + yych = *(YYMARKER = ++YYCURSOR); +@@ -21099,13 +21298,13 @@ yy1447: + } + if (yych <= '.') { + if (yych == '-') goto yy172; +- goto yy1415; ++ goto yy1417; + } else { + if (yych <= '/') goto yy172; + if (yych == '_') goto yy172; +- goto yy1415; ++ goto yy1417; + } +-yy1449: ++yy1451: + yyaccept = 0; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'X') { +@@ -21120,7 +21319,7 @@ yy1449: + } + } else { + if (yych <= '_') { +- if (yych <= 'Y') goto yy1417; ++ if (yych <= 'Y') goto yy1419; + if (yych <= 'Z') goto yy168; + if (yych <= '^') goto yy3; + goto yy172; +@@ -21129,36 +21328,36 @@ yy1449: + if (yych <= '`') goto yy3; + goto yy176; + } else { +- if (yych <= 'y') goto yy1450; ++ if (yych <= 'y') goto yy1452; + if (yych <= 'z') goto yy176; + goto yy3; + } + } + } +-yy1450: ++yy1452: + yyaccept = 30; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= '/') { + if (yych <= ',') { + if (yych == ')') goto yy164; +- goto yy1418; ++ goto yy1420; + } else { +- if (yych == '.') goto yy1418; ++ if (yych == '.') goto yy1420; + goto yy172; + } + } else { + if (yych <= '^') { +- if (yych <= '@') goto yy1418; ++ if (yych <= '@') goto yy1420; + if (yych <= 'Z') goto yy169; +- goto yy1418; ++ goto yy1420; + } else { + if (yych <= '_') goto yy172; +- if (yych <= '`') goto yy1418; ++ if (yych <= '`') goto yy1420; + if (yych <= 'z') goto yy177; +- goto yy1418; ++ goto yy1420; + } + } +-yy1451: ++yy1453: + yyaccept = 0; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'R') { +@@ -21173,13 +21372,13 @@ yy1451: + } else { + if (yych <= '@') goto yy3; + if (yych <= 'Q') goto yy167; +- goto yy1425; ++ goto yy1427; + } + } + } else { + if (yych <= '`') { + if (yych <= 'Z') { +- if (yych <= 'S') goto yy1426; ++ if (yych <= 'S') goto yy1428; + goto yy167; + } else { + if (yych == '_') goto yy172; +@@ -21188,15 +21387,15 @@ yy1451: + } else { + if (yych <= 'r') { + if (yych <= 'q') goto yy175; +- goto yy1457; ++ goto yy1459; + } else { +- if (yych <= 's') goto yy1458; ++ if (yych <= 's') goto yy1460; + if (yych <= 'z') goto yy175; + goto yy3; + } + } + } +-yy1452: ++yy1454: + yyaccept = 4; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'Q') { +@@ -21211,7 +21410,7 @@ yy1452: + } + } else { + if (yych <= '_') { +- if (yych <= 'R') goto yy1421; ++ if (yych <= 'R') goto yy1423; + if (yych <= 'Z') goto yy167; + if (yych <= '^') goto yy191; + goto yy172; +@@ -21220,13 +21419,13 @@ yy1452: + if (yych <= '`') goto yy191; + goto yy175; + } else { +- if (yych <= 'r') goto yy1453; ++ if (yych <= 'r') goto yy1455; + if (yych <= 'z') goto yy175; + goto yy191; + } + } + } +-yy1453: ++yy1455: + yyaccept = 0; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'R') { +@@ -21241,7 +21440,7 @@ yy1453: + } + } else { + if (yych <= '_') { +- if (yych <= 'S') goto yy1422; ++ if (yych <= 'S') goto yy1424; + if (yych <= 'Z') goto yy168; + if (yych <= '^') goto yy3; + goto yy172; +@@ -21250,13 +21449,13 @@ yy1453: + if (yych <= '`') goto yy3; + goto yy176; + } else { +- if (yych <= 's') goto yy1454; ++ if (yych <= 's') goto yy1456; + if (yych <= 'z') goto yy176; + goto yy3; + } + } + } +-yy1454: ++yy1456: + yyaccept = 0; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'C') { +@@ -21271,7 +21470,7 @@ yy1454: + } + } else { + if (yych <= '_') { +- if (yych <= 'D') goto yy1423; ++ if (yych <= 'D') goto yy1425; + if (yych <= 'Z') goto yy169; + if (yych <= '^') goto yy3; + goto yy172; +@@ -21280,13 +21479,13 @@ yy1454: + if (yych <= '`') goto yy3; + goto yy177; + } else { +- if (yych <= 'd') goto yy1455; ++ if (yych <= 'd') goto yy1457; + if (yych <= 'z') goto yy177; + goto yy3; + } + } + } +-yy1455: ++yy1457: + yyaccept = 0; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= '@') { +@@ -21300,22 +21499,22 @@ yy1455: + } + } else { + if (yych <= '_') { +- if (yych <= 'A') goto yy1424; ++ if (yych <= 'A') goto yy1426; + if (yych <= '^') goto yy3; + goto yy172; + } else { + if (yych <= '`') goto yy3; +- if (yych <= 'a') goto yy1456; ++ if (yych <= 'a') goto yy1458; + if (yych <= 'z') goto yy178; + goto yy3; + } + } +-yy1456: ++yy1458: + yych = *++YYCURSOR; + if (yych == 'Y') goto yy197; + if (yych == 'y') goto yy210; + goto yy179; +-yy1457: ++yy1459: + yyaccept = 0; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'C') { +@@ -21345,7 +21544,7 @@ yy1457: + } + } + } +-yy1458: ++yy1460: + yyaccept = 0; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= '-') { +@@ -21374,7 +21573,7 @@ yy1458: + } + } + } +-yy1459: ++yy1461: + yyaccept = 0; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'S') { +@@ -21389,7 +21588,7 @@ yy1459: + } + } else { + if (yych <= '_') { +- if (yych <= 'T') goto yy1428; ++ if (yych <= 'T') goto yy1430; + if (yych <= 'Z') goto yy167; + if (yych <= '^') goto yy3; + goto yy172; +@@ -21398,13 +21597,13 @@ yy1459: + if (yych <= '`') goto yy3; + goto yy175; + } else { +- if (yych <= 't') goto yy1460; ++ if (yych <= 't') goto yy1462; + if (yych <= 'z') goto yy175; + goto yy3; + } + } + } +-yy1460: ++yy1462: + yyaccept = 0; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'G') { +@@ -21434,30 +21633,30 @@ yy1460: + } + } + } +-yy1461: ++yy1463: + yych = *++YYCURSOR; + if (yych <= 'Y') { + if (yych <= '@') { + if (yych == ')') goto yy164; + goto yy3; + } else { +- if (yych == 'R') goto yy1473; ++ if (yych == 'R') goto yy1475; + if (yych <= 'X') goto yy166; +- goto yy1474; ++ goto yy1476; + } + } else { + if (yych <= 'r') { + if (yych <= 'Z') goto yy166; + if (yych <= '`') goto yy3; + if (yych <= 'q') goto yy166; +- goto yy1473; ++ goto yy1475; + } else { +- if (yych == 'y') goto yy1474; ++ if (yych == 'y') goto yy1476; + if (yych <= 'z') goto yy166; + goto yy3; + } + } +-yy1462: ++yy1464: + yych = *++YYCURSOR; + if (yych <= 'D') { + if (yych <= ')') { +@@ -21466,7 +21665,7 @@ yy1462: + } else { + if (yych <= '@') goto yy3; + if (yych <= 'C') goto yy166; +- goto yy1467; ++ goto yy1469; + } + } else { + if (yych <= 'c') { +@@ -21474,12 +21673,12 @@ yy1462: + if (yych <= '`') goto yy3; + goto yy166; + } else { +- if (yych <= 'd') goto yy1467; ++ if (yych <= 'd') goto yy1469; + if (yych <= 'z') goto yy166; + goto yy3; + } + } +-yy1463: ++yy1465: + yych = *++YYCURSOR; + if (yych <= 'N') { + if (yych <= ')') { +@@ -21495,12 +21694,12 @@ yy1463: + if (yych <= '`') goto yy3; + goto yy166; + } else { +- if (yych <= 'n') goto yy1464; ++ if (yych <= 'n') goto yy1466; + if (yych <= 'z') goto yy166; + goto yy3; + } + } +-yy1464: ++yy1466: + yych = *++YYCURSOR; + if (yych <= 'D') { + if (yych <= ')') { +@@ -21516,12 +21715,12 @@ yy1464: + if (yych <= '`') goto yy191; + goto yy167; + } else { +- if (yych <= 'd') goto yy1465; ++ if (yych <= 'd') goto yy1467; + if (yych <= 'z') goto yy167; + goto yy191; + } + } +-yy1465: ++yy1467: + yych = *++YYCURSOR; + if (yych <= 'A') { + if (yych == ')') goto yy164; +@@ -21531,12 +21730,12 @@ yy1465: + if (yych <= 'Z') goto yy168; + goto yy3; + } else { +- if (yych <= 'a') goto yy1466; ++ if (yych <= 'a') goto yy1468; + if (yych <= 'z') goto yy168; + goto yy3; + } + } +-yy1466: ++yy1468: + yych = *++YYCURSOR; + if (yych <= 'Y') { + if (yych <= ')') { +@@ -21558,7 +21757,7 @@ yy1466: + goto yy3; + } + } +-yy1467: ++yy1469: + yych = *++YYCURSOR; + if (yych <= 'N') { + if (yych <= ')') { +@@ -21574,12 +21773,12 @@ yy1467: + if (yych <= '`') goto yy3; + goto yy167; + } else { +- if (yych <= 'n') goto yy1468; ++ if (yych <= 'n') goto yy1470; + if (yych <= 'z') goto yy167; + goto yy3; + } + } +-yy1468: ++yy1470: + yych = *++YYCURSOR; + if (yych <= 'I') { + if (yych <= ')') { +@@ -21595,12 +21794,12 @@ yy1468: + if (yych <= '`') goto yy3; + goto yy168; + } else { +- if (yych <= 'i') goto yy1469; ++ if (yych <= 'i') goto yy1471; + if (yych <= 'z') goto yy168; + goto yy3; + } + } +-yy1469: ++yy1471: + yych = *++YYCURSOR; + if (yych <= 'G') { + if (yych <= ')') { +@@ -21616,29 +21815,29 @@ yy1469: + if (yych <= '`') goto yy3; + goto yy169; + } else { +- if (yych <= 'g') goto yy1470; ++ if (yych <= 'g') goto yy1472; + if (yych <= 'z') goto yy169; + goto yy3; + } + } +-yy1470: ++yy1472: + yyaccept = 0; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'G') { + if (yych == ')') goto yy164; + goto yy3; + } else { +- if (yych <= 'H') goto yy1471; ++ if (yych <= 'H') goto yy1473; + if (yych != 'h') goto yy3; + } +-yy1471: ++yy1473: + yych = *++YYCURSOR; +- if (yych == 'T') goto yy1472; ++ if (yych == 'T') goto yy1474; + if (yych != 't') goto yy56; +-yy1472: ++yy1474: + yych = *++YYCURSOR; +- goto yy1418; +-yy1473: ++ goto yy1420; ++yy1475: + yyaccept = 5; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= '/') { +@@ -21666,7 +21865,7 @@ yy1473: + if (yych <= '9') goto yy220; + goto yy218; + } else { +- if (yych == 'C') goto yy1475; ++ if (yych == 'C') goto yy1477; + goto yy167; + } + } else { +@@ -21674,13 +21873,13 @@ yy1473: + if (yych <= '`') goto yy218; + goto yy167; + } else { +- if (yych <= 'c') goto yy1475; ++ if (yych <= 'c') goto yy1477; + if (yych <= 'z') goto yy167; + goto yy218; + } + } + } +-yy1474: ++yy1476: + yyaccept = 5; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= '-') { +@@ -21705,7 +21904,7 @@ yy1474: + goto yy218; + } + } +-yy1475: ++yy1477: + yych = *++YYCURSOR; + if (yych <= 'H') { + if (yych <= ')') { +@@ -21727,7 +21926,7 @@ yy1475: + goto yy3; + } + } +-yy1476: ++yy1478: + yyaccept = 0; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'X') { +@@ -21744,14 +21943,14 @@ yy1476: + if (yych <= '/') goto yy172; + goto yy3; + } else { +- if (yych == 'R') goto yy1473; ++ if (yych == 'R') goto yy1475; + goto yy166; + } + } + } else { + if (yych <= '`') { + if (yych <= 'Z') { +- if (yych <= 'Y') goto yy1474; ++ if (yych <= 'Y') goto yy1476; + goto yy166; + } else { + if (yych == '_') goto yy172; +@@ -21759,16 +21958,16 @@ yy1476: + } + } else { + if (yych <= 'x') { +- if (yych == 'r') goto yy1488; ++ if (yych == 'r') goto yy1490; + goto yy171; + } else { +- if (yych <= 'y') goto yy1489; ++ if (yych <= 'y') goto yy1491; + if (yych <= 'z') goto yy171; + goto yy3; + } + } + } +-yy1477: ++yy1479: + yyaccept = 0; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'C') { +@@ -21783,7 +21982,7 @@ yy1477: + } + } else { + if (yych <= '_') { +- if (yych <= 'D') goto yy1467; ++ if (yych <= 'D') goto yy1469; + if (yych <= 'Z') goto yy166; + if (yych <= '^') goto yy3; + goto yy172; +@@ -21792,13 +21991,13 @@ yy1477: + if (yych <= '`') goto yy3; + goto yy171; + } else { +- if (yych <= 'd') goto yy1482; ++ if (yych <= 'd') goto yy1484; + if (yych <= 'z') goto yy171; + goto yy3; + } + } + } +-yy1478: ++yy1480: + yyaccept = 0; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'M') { +@@ -21813,7 +22012,7 @@ yy1478: + } + } else { + if (yych <= '_') { +- if (yych <= 'N') goto yy1464; ++ if (yych <= 'N') goto yy1466; + if (yych <= 'Z') goto yy166; + if (yych <= '^') goto yy3; + goto yy172; +@@ -21822,13 +22021,13 @@ yy1478: + if (yych <= '`') goto yy3; + goto yy171; + } else { +- if (yych <= 'n') goto yy1479; ++ if (yych <= 'n') goto yy1481; + if (yych <= 'z') goto yy171; + goto yy3; + } + } + } +-yy1479: ++yy1481: + yyaccept = 4; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'C') { +@@ -21843,7 +22042,7 @@ yy1479: + } + } else { + if (yych <= '_') { +- if (yych <= 'D') goto yy1465; ++ if (yych <= 'D') goto yy1467; + if (yych <= 'Z') goto yy167; + if (yych <= '^') goto yy191; + goto yy172; +@@ -21852,13 +22051,13 @@ yy1479: + if (yych <= '`') goto yy191; + goto yy175; + } else { +- if (yych <= 'd') goto yy1480; ++ if (yych <= 'd') goto yy1482; + if (yych <= 'z') goto yy175; + goto yy191; + } + } + } +-yy1480: ++yy1482: + yyaccept = 0; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= '@') { +@@ -21872,18 +22071,18 @@ yy1480: + } + } else { + if (yych <= '_') { +- if (yych <= 'A') goto yy1466; ++ if (yych <= 'A') goto yy1468; + if (yych <= 'Z') goto yy168; + if (yych <= '^') goto yy3; + goto yy172; + } else { + if (yych <= '`') goto yy3; +- if (yych <= 'a') goto yy1481; ++ if (yych <= 'a') goto yy1483; + if (yych <= 'z') goto yy176; + goto yy3; + } + } +-yy1481: ++yy1483: + yyaccept = 0; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'X') { +@@ -21913,7 +22112,7 @@ yy1481: + } + } + } +-yy1482: ++yy1484: + yyaccept = 0; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'M') { +@@ -21928,7 +22127,7 @@ yy1482: + } + } else { + if (yych <= '_') { +- if (yych <= 'N') goto yy1468; ++ if (yych <= 'N') goto yy1470; + if (yych <= 'Z') goto yy167; + if (yych <= '^') goto yy3; + goto yy172; +@@ -21937,13 +22136,13 @@ yy1482: + if (yych <= '`') goto yy3; + goto yy175; + } else { +- if (yych <= 'n') goto yy1483; ++ if (yych <= 'n') goto yy1485; + if (yych <= 'z') goto yy175; + goto yy3; + } + } + } +-yy1483: ++yy1485: + yyaccept = 0; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'H') { +@@ -21958,7 +22157,7 @@ yy1483: + } + } else { + if (yych <= '_') { +- if (yych <= 'I') goto yy1469; ++ if (yych <= 'I') goto yy1471; + if (yych <= 'Z') goto yy168; + if (yych <= '^') goto yy3; + goto yy172; +@@ -21967,13 +22166,13 @@ yy1483: + if (yych <= '`') goto yy3; + goto yy176; + } else { +- if (yych <= 'i') goto yy1484; ++ if (yych <= 'i') goto yy1486; + if (yych <= 'z') goto yy176; + goto yy3; + } + } + } +-yy1484: ++yy1486: + yyaccept = 0; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'F') { +@@ -21988,7 +22187,7 @@ yy1484: + } + } else { + if (yych <= '_') { +- if (yych <= 'G') goto yy1470; ++ if (yych <= 'G') goto yy1472; + if (yych <= 'Z') goto yy169; + if (yych <= '^') goto yy3; + goto yy172; +@@ -21997,13 +22196,13 @@ yy1484: + if (yych <= '`') goto yy3; + goto yy177; + } else { +- if (yych <= 'g') goto yy1485; ++ if (yych <= 'g') goto yy1487; + if (yych <= 'z') goto yy177; + goto yy3; + } + } + } +-yy1485: ++yy1487: + yyaccept = 0; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'G') { +@@ -22017,18 +22216,18 @@ yy1485: + } + } else { + if (yych <= '`') { +- if (yych <= 'H') goto yy1471; ++ if (yych <= 'H') goto yy1473; + if (yych == '_') goto yy172; + goto yy3; + } else { +- if (yych == 'h') goto yy1486; ++ if (yych == 'h') goto yy1488; + if (yych <= 'z') goto yy178; + goto yy3; + } + } +-yy1486: ++yy1488: + yych = *++YYCURSOR; +- if (yych == 'T') goto yy1472; ++ if (yych == 'T') goto yy1474; + if (yych != 't') goto yy179; + yyaccept = 30; + yych = *(YYMARKER = ++YYCURSOR); +@@ -22037,13 +22236,13 @@ yy1486: + } + if (yych <= '.') { + if (yych == '-') goto yy172; +- goto yy1418; ++ goto yy1420; + } else { + if (yych <= '/') goto yy172; + if (yych == '_') goto yy172; +- goto yy1418; ++ goto yy1420; + } +-yy1488: ++yy1490: + yyaccept = 5; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= '9') { +@@ -22071,7 +22270,7 @@ yy1488: + if (yych <= '@') goto yy218; + goto yy167; + } else { +- if (yych <= 'C') goto yy1475; ++ if (yych <= 'C') goto yy1477; + if (yych <= 'Z') goto yy167; + goto yy218; + } +@@ -22081,13 +22280,13 @@ yy1488: + if (yych <= '`') goto yy218; + goto yy175; + } else { +- if (yych <= 'c') goto yy1490; ++ if (yych <= 'c') goto yy1492; + if (yych <= 'z') goto yy175; + goto yy218; + } + } + } +-yy1489: ++yy1491: + yyaccept = 5; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= '.') { +@@ -22122,7 +22321,7 @@ yy1489: + } + } + } +-yy1490: ++yy1492: + yyaccept = 0; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'G') { +@@ -22152,7 +22351,7 @@ yy1490: + } + } + } +-yy1491: ++yy1493: + yych = *++YYCURSOR; + if (yych <= 'W') { + if (yych <= 'N') { +@@ -22160,29 +22359,29 @@ yy1491: + if (yych <= '@') goto yy3; + goto yy166; + } else { +- if (yych <= 'O') goto yy1499; ++ if (yych <= 'O') goto yy1501; + if (yych <= 'U') goto yy166; +- if (yych <= 'V') goto yy1500; +- goto yy1497; ++ if (yych <= 'V') goto yy1502; ++ goto yy1499; + } + } else { + if (yych <= 'o') { + if (yych <= 'Z') goto yy166; + if (yych <= '`') goto yy3; + if (yych <= 'n') goto yy166; +- goto yy1499; ++ goto yy1501; + } else { + if (yych <= 'v') { + if (yych <= 'u') goto yy166; +- goto yy1500; ++ goto yy1502; + } else { +- if (yych <= 'w') goto yy1497; ++ if (yych <= 'w') goto yy1499; + if (yych <= 'z') goto yy166; + goto yy3; + } + } + } +-yy1492: ++yy1494: + yych = *++YYCURSOR; + if (yych <= 'X') { + if (yych <= ')') { +@@ -22191,7 +22390,7 @@ yy1492: + } else { + if (yych <= '@') goto yy3; + if (yych <= 'W') goto yy166; +- goto yy1496; ++ goto yy1498; + } + } else { + if (yych <= 'w') { +@@ -22199,12 +22398,12 @@ yy1492: + if (yych <= '`') goto yy3; + goto yy166; + } else { +- if (yych <= 'x') goto yy1496; ++ if (yych <= 'x') goto yy1498; + if (yych <= 'z') goto yy166; + goto yy3; + } + } +-yy1493: ++yy1495: + yych = *++YYCURSOR; + if (yych <= 'N') { + if (yych <= ')') { +@@ -22220,12 +22419,12 @@ yy1493: + if (yych <= '`') goto yy3; + goto yy166; + } else { +- if (yych <= 'n') goto yy1494; ++ if (yych <= 'n') goto yy1496; + if (yych <= 'z') goto yy166; + goto yy3; + } + } +-yy1494: ++yy1496: + yych = *++YYCURSOR; + if (yych <= 'T') { + if (yych <= ')') { +@@ -22241,12 +22440,12 @@ yy1494: + if (yych <= '`') goto yy3; + goto yy167; + } else { +- if (yych <= 't') goto yy1495; ++ if (yych <= 't') goto yy1497; + if (yych <= 'z') goto yy167; + goto yy3; + } + } +-yy1495: ++yy1497: + yych = *++YYCURSOR; + if (yych <= 'H') { + if (yych <= ')') { +@@ -22268,7 +22467,7 @@ yy1495: + goto yy3; + } + } +-yy1496: ++yy1498: + yych = *++YYCURSOR; + if (yych <= 'T') { + if (yych <= ')') { +@@ -22277,7 +22476,7 @@ yy1496: + } else { + if (yych <= '@') goto yy3; + if (yych <= 'S') goto yy167; +- goto yy1426; ++ goto yy1428; + } + } else { + if (yych <= 's') { +@@ -22285,21 +22484,22 @@ yy1496: + if (yych <= '`') goto yy3; + goto yy167; + } else { +- if (yych <= 't') goto yy1426; ++ if (yych <= 't') goto yy1428; + if (yych <= 'z') goto yy167; + goto yy3; + } + } +-yy1497: ++yy1499: + ++YYCURSOR; + if ((yych = *YYCURSOR) <= '@') { + if (yych == ')') goto yy164; + } else { + if (yych <= 'Z') goto yy167; +- if (yych <= '`') goto yy1498; ++ if (yych <= '`') goto yy1500; + if (yych <= 'z') goto yy167; + } +-yy1498: ++yy1500: ++#line 982 "ext/date/lib/parse_date.re" + { + DEBUG_OUTPUT("now"); + TIMELIB_INIT; +@@ -22307,7 +22507,8 @@ yy1498: + TIMELIB_DEINIT; + return TIMELIB_RELATIVE; + } +-yy1499: ++#line 22511 "ext/date/lib/parse_date.c" ++yy1501: + yych = *++YYCURSOR; + if (yych <= 'N') { + if (yych <= ')') { +@@ -22316,7 +22517,7 @@ yy1499: + } else { + if (yych <= '@') goto yy3; + if (yych <= 'M') goto yy167; +- goto yy1505; ++ goto yy1507; + } + } else { + if (yych <= 'm') { +@@ -22324,12 +22525,12 @@ yy1499: + if (yych <= '`') goto yy3; + goto yy167; + } else { +- if (yych <= 'n') goto yy1505; ++ if (yych <= 'n') goto yy1507; + if (yych <= 'z') goto yy167; + goto yy3; + } + } +-yy1500: ++yy1502: + yyaccept = 5; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= '/') { +@@ -22364,13 +22565,13 @@ yy1500: + if (yych <= '`') goto yy218; + goto yy167; + } else { +- if (yych <= 'e') goto yy1501; ++ if (yych <= 'e') goto yy1503; + if (yych <= 'z') goto yy167; + goto yy218; + } + } + } +-yy1501: ++yy1503: + yych = *++YYCURSOR; + if (yych <= 'M') { + if (yych <= ')') { +@@ -22386,12 +22587,12 @@ yy1501: + if (yych <= '`') goto yy3; + goto yy168; + } else { +- if (yych <= 'm') goto yy1502; ++ if (yych <= 'm') goto yy1504; + if (yych <= 'z') goto yy168; + goto yy3; + } + } +-yy1502: ++yy1504: + yych = *++YYCURSOR; + if (yych <= 'B') { + if (yych <= ')') { +@@ -22407,36 +22608,37 @@ yy1502: + if (yych <= '`') goto yy3; + goto yy169; + } else { +- if (yych <= 'b') goto yy1503; ++ if (yych <= 'b') goto yy1505; + if (yych <= 'z') goto yy169; + goto yy3; + } + } +-yy1503: ++yy1505: + yyaccept = 0; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'D') { + if (yych == ')') goto yy164; + goto yy3; + } else { +- if (yych <= 'E') goto yy1504; ++ if (yych <= 'E') goto yy1506; + if (yych != 'e') goto yy3; + } +-yy1504: ++yy1506: + yych = *++YYCURSOR; + if (yych == 'R') goto yy229; + if (yych == 'r') goto yy229; + goto yy56; +-yy1505: ++yy1507: + ++YYCURSOR; + if ((yych = *YYCURSOR) <= '@') { + if (yych == ')') goto yy164; + } else { + if (yych <= 'Z') goto yy168; +- if (yych <= '`') goto yy1506; ++ if (yych <= '`') goto yy1508; + if (yych <= 'z') goto yy168; + } +-yy1506: ++yy1508: ++#line 991 "ext/date/lib/parse_date.re" + { + DEBUG_OUTPUT("noon"); + TIMELIB_INIT; +@@ -22447,7 +22649,8 @@ yy1506: + TIMELIB_DEINIT; + return TIMELIB_RELATIVE; + } +-yy1507: ++#line 22653 "ext/date/lib/parse_date.c" ++yy1509: + yyaccept = 0; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'V') { +@@ -22465,15 +22668,15 @@ yy1507: + if (yych <= '@') goto yy3; + goto yy166; + } else { +- if (yych <= 'O') goto yy1499; ++ if (yych <= 'O') goto yy1501; + if (yych <= 'U') goto yy166; +- goto yy1500; ++ goto yy1502; + } + } + } else { + if (yych <= 'n') { + if (yych <= '^') { +- if (yych <= 'W') goto yy1497; ++ if (yych <= 'W') goto yy1499; + if (yych <= 'Z') goto yy166; + goto yy3; + } else { +@@ -22483,17 +22686,17 @@ yy1507: + } + } else { + if (yych <= 'v') { +- if (yych <= 'o') goto yy1514; ++ if (yych <= 'o') goto yy1516; + if (yych <= 'u') goto yy171; +- goto yy1515; ++ goto yy1517; + } else { +- if (yych <= 'w') goto yy1513; ++ if (yych <= 'w') goto yy1515; + if (yych <= 'z') goto yy171; + goto yy3; + } + } + } +-yy1508: ++yy1510: + yyaccept = 0; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'W') { +@@ -22508,7 +22711,7 @@ yy1508: + } + } else { + if (yych <= '_') { +- if (yych <= 'X') goto yy1496; ++ if (yych <= 'X') goto yy1498; + if (yych <= 'Z') goto yy166; + if (yych <= '^') goto yy3; + goto yy172; +@@ -22517,13 +22720,13 @@ yy1508: + if (yych <= '`') goto yy3; + goto yy171; + } else { +- if (yych <= 'x') goto yy1512; ++ if (yych <= 'x') goto yy1514; + if (yych <= 'z') goto yy171; + goto yy3; + } + } + } +-yy1509: ++yy1511: + yyaccept = 0; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'M') { +@@ -22538,7 +22741,7 @@ yy1509: + } + } else { + if (yych <= '_') { +- if (yych <= 'N') goto yy1494; ++ if (yych <= 'N') goto yy1496; + if (yych <= 'Z') goto yy166; + if (yych <= '^') goto yy3; + goto yy172; +@@ -22547,13 +22750,13 @@ yy1509: + if (yych <= '`') goto yy3; + goto yy171; + } else { +- if (yych <= 'n') goto yy1510; ++ if (yych <= 'n') goto yy1512; + if (yych <= 'z') goto yy171; + goto yy3; + } + } + } +-yy1510: ++yy1512: + yyaccept = 0; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'S') { +@@ -22568,7 +22771,7 @@ yy1510: + } + } else { + if (yych <= '_') { +- if (yych <= 'T') goto yy1495; ++ if (yych <= 'T') goto yy1497; + if (yych <= 'Z') goto yy167; + if (yych <= '^') goto yy3; + goto yy172; +@@ -22577,13 +22780,13 @@ yy1510: + if (yych <= '`') goto yy3; + goto yy175; + } else { +- if (yych <= 't') goto yy1511; ++ if (yych <= 't') goto yy1513; + if (yych <= 'z') goto yy175; + goto yy3; + } + } + } +-yy1511: ++yy1513: + yyaccept = 0; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'G') { +@@ -22613,7 +22816,7 @@ yy1511: + } + } + } +-yy1512: ++yy1514: + yyaccept = 0; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'S') { +@@ -22628,7 +22831,7 @@ yy1512: + } + } else { + if (yych <= '_') { +- if (yych <= 'T') goto yy1426; ++ if (yych <= 'T') goto yy1428; + if (yych <= 'Z') goto yy167; + if (yych <= '^') goto yy3; + goto yy172; +@@ -22637,36 +22840,36 @@ yy1512: + if (yych <= '`') goto yy3; + goto yy175; + } else { +- if (yych <= 't') goto yy1458; ++ if (yych <= 't') goto yy1460; + if (yych <= 'z') goto yy175; + goto yy3; + } + } + } +-yy1513: ++yy1515: + yyaccept = 31; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= '/') { + if (yych <= ',') { + if (yych == ')') goto yy164; +- goto yy1498; ++ goto yy1500; + } else { +- if (yych == '.') goto yy1498; ++ if (yych == '.') goto yy1500; + goto yy172; + } + } else { + if (yych <= '^') { +- if (yych <= '@') goto yy1498; ++ if (yych <= '@') goto yy1500; + if (yych <= 'Z') goto yy167; +- goto yy1498; ++ goto yy1500; + } else { + if (yych <= '_') goto yy172; +- if (yych <= '`') goto yy1498; ++ if (yych <= '`') goto yy1500; + if (yych <= 'z') goto yy175; +- goto yy1498; ++ goto yy1500; + } + } +-yy1514: ++yy1516: + yyaccept = 0; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'M') { +@@ -22681,7 +22884,7 @@ yy1514: + } + } else { + if (yych <= '_') { +- if (yych <= 'N') goto yy1505; ++ if (yych <= 'N') goto yy1507; + if (yych <= 'Z') goto yy167; + if (yych <= '^') goto yy3; + goto yy172; +@@ -22690,13 +22893,13 @@ yy1514: + if (yych <= '`') goto yy3; + goto yy175; + } else { +- if (yych <= 'n') goto yy1520; ++ if (yych <= 'n') goto yy1522; + if (yych <= 'z') goto yy175; + goto yy3; + } + } + } +-yy1515: ++yy1517: + yyaccept = 5; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= '9') { +@@ -22724,7 +22927,7 @@ yy1515: + if (yych <= '@') goto yy218; + goto yy167; + } else { +- if (yych <= 'E') goto yy1501; ++ if (yych <= 'E') goto yy1503; + if (yych <= 'Z') goto yy167; + goto yy218; + } +@@ -22734,13 +22937,13 @@ yy1515: + if (yych <= '`') goto yy218; + goto yy175; + } else { +- if (yych <= 'e') goto yy1516; ++ if (yych <= 'e') goto yy1518; + if (yych <= 'z') goto yy175; + goto yy218; + } + } + } +-yy1516: ++yy1518: + yyaccept = 0; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'L') { +@@ -22755,7 +22958,7 @@ yy1516: + } + } else { + if (yych <= '_') { +- if (yych <= 'M') goto yy1502; ++ if (yych <= 'M') goto yy1504; + if (yych <= 'Z') goto yy168; + if (yych <= '^') goto yy3; + goto yy172; +@@ -22764,13 +22967,13 @@ yy1516: + if (yych <= '`') goto yy3; + goto yy176; + } else { +- if (yych <= 'm') goto yy1517; ++ if (yych <= 'm') goto yy1519; + if (yych <= 'z') goto yy176; + goto yy3; + } + } + } +-yy1517: ++yy1519: + yyaccept = 0; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'A') { +@@ -22785,7 +22988,7 @@ yy1517: + } + } else { + if (yych <= '_') { +- if (yych <= 'B') goto yy1503; ++ if (yych <= 'B') goto yy1505; + if (yych <= 'Z') goto yy169; + if (yych <= '^') goto yy3; + goto yy172; +@@ -22794,13 +22997,13 @@ yy1517: + if (yych <= '`') goto yy3; + goto yy177; + } else { +- if (yych <= 'b') goto yy1518; ++ if (yych <= 'b') goto yy1520; + if (yych <= 'z') goto yy177; + goto yy3; + } + } + } +-yy1518: ++yy1520: + yyaccept = 0; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'D') { +@@ -22814,44 +23017,44 @@ yy1518: + } + } else { + if (yych <= '`') { +- if (yych <= 'E') goto yy1504; ++ if (yych <= 'E') goto yy1506; + if (yych == '_') goto yy172; + goto yy3; + } else { +- if (yych == 'e') goto yy1519; ++ if (yych == 'e') goto yy1521; + if (yych <= 'z') goto yy178; + goto yy3; + } + } +-yy1519: ++yy1521: + yych = *++YYCURSOR; + if (yych == 'R') goto yy229; + if (yych == 'r') goto yy341; + goto yy179; +-yy1520: ++yy1522: + yyaccept = 32; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= '/') { + if (yych <= ',') { + if (yych == ')') goto yy164; +- goto yy1506; ++ goto yy1508; + } else { +- if (yych == '.') goto yy1506; ++ if (yych == '.') goto yy1508; + goto yy172; + } + } else { + if (yych <= '^') { +- if (yych <= '@') goto yy1506; ++ if (yych <= '@') goto yy1508; + if (yych <= 'Z') goto yy168; +- goto yy1506; ++ goto yy1508; + } else { + if (yych <= '_') goto yy172; +- if (yych <= '`') goto yy1506; ++ if (yych <= '`') goto yy1508; + if (yych <= 'z') goto yy176; +- goto yy1506; ++ goto yy1508; + } + } +-yy1521: ++yy1523: + yych = *++YYCURSOR; + if (yych <= 'S') { + if (yych <= ')') { +@@ -22867,12 +23070,12 @@ yy1521: + if (yych <= '`') goto yy3; + goto yy166; + } else { +- if (yych <= 's') goto yy1522; ++ if (yych <= 's') goto yy1524; + if (yych <= 'z') goto yy166; + goto yy3; + } + } +-yy1522: ++yy1524: + yych = *++YYCURSOR; + if (yych <= 'T') { + if (yych <= ')') { +@@ -22888,12 +23091,12 @@ yy1522: + if (yych <= '`') goto yy3; + goto yy167; + } else { +- if (yych <= 't') goto yy1523; ++ if (yych <= 't') goto yy1525; + if (yych <= 'z') goto yy167; + goto yy3; + } + } +-yy1523: ++yy1525: + yych = *++YYCURSOR; + if (yych <= 'E') { + if (yych <= ')') { +@@ -22909,12 +23112,12 @@ yy1523: + if (yych <= '`') goto yy3; + goto yy168; + } else { +- if (yych <= 'e') goto yy1524; ++ if (yych <= 'e') goto yy1526; + if (yych <= 'z') goto yy168; + goto yy3; + } + } +-yy1524: ++yy1526: + yych = *++YYCURSOR; + if (yych <= 'R') { + if (yych <= ')') { +@@ -22930,32 +23133,33 @@ yy1524: + if (yych <= '`') goto yy3; + goto yy169; + } else { +- if (yych <= 'r') goto yy1525; ++ if (yych <= 'r') goto yy1527; + if (yych <= 'z') goto yy169; + goto yy3; + } + } +-yy1525: ++yy1527: + yyaccept = 0; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'C') { + if (yych == ')') goto yy164; + goto yy3; + } else { +- if (yych <= 'D') goto yy1526; ++ if (yych <= 'D') goto yy1528; + if (yych != 'd') goto yy3; + } +-yy1526: ++yy1528: + yych = *++YYCURSOR; +- if (yych == 'A') goto yy1527; ++ if (yych == 'A') goto yy1529; + if (yych != 'a') goto yy56; +-yy1527: ++yy1529: + yych = *++YYCURSOR; +- if (yych == 'Y') goto yy1528; ++ if (yych == 'Y') goto yy1530; + if (yych != 'y') goto yy56; +-yy1528: ++yy1530: + ++YYCURSOR; +-yy1529: ++yy1531: ++#line 970 "ext/date/lib/parse_date.re" + { + DEBUG_OUTPUT("yesterday"); + TIMELIB_INIT; +@@ -22966,7 +23170,8 @@ yy1529: + TIMELIB_DEINIT; + return TIMELIB_RELATIVE; + } +-yy1530: ++#line 23174 "ext/date/lib/parse_date.c" ++yy1532: + yyaccept = 0; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'R') { +@@ -22981,7 +23186,7 @@ yy1530: + } + } else { + if (yych <= '_') { +- if (yych <= 'S') goto yy1522; ++ if (yych <= 'S') goto yy1524; + if (yych <= 'Z') goto yy166; + if (yych <= '^') goto yy3; + goto yy172; +@@ -22990,13 +23195,13 @@ yy1530: + if (yych <= '`') goto yy3; + goto yy171; + } else { +- if (yych <= 's') goto yy1531; ++ if (yych <= 's') goto yy1533; + if (yych <= 'z') goto yy171; + goto yy3; + } + } + } +-yy1531: ++yy1533: + yyaccept = 0; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'S') { +@@ -23011,7 +23216,7 @@ yy1531: + } + } else { + if (yych <= '_') { +- if (yych <= 'T') goto yy1523; ++ if (yych <= 'T') goto yy1525; + if (yych <= 'Z') goto yy167; + if (yych <= '^') goto yy3; + goto yy172; +@@ -23020,13 +23225,13 @@ yy1531: + if (yych <= '`') goto yy3; + goto yy175; + } else { +- if (yych <= 't') goto yy1532; ++ if (yych <= 't') goto yy1534; + if (yych <= 'z') goto yy175; + goto yy3; + } + } + } +-yy1532: ++yy1534: + yyaccept = 0; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'D') { +@@ -23041,7 +23246,7 @@ yy1532: + } + } else { + if (yych <= '_') { +- if (yych <= 'E') goto yy1524; ++ if (yych <= 'E') goto yy1526; + if (yych <= 'Z') goto yy168; + if (yych <= '^') goto yy3; + goto yy172; +@@ -23050,13 +23255,13 @@ yy1532: + if (yych <= '`') goto yy3; + goto yy176; + } else { +- if (yych <= 'e') goto yy1533; ++ if (yych <= 'e') goto yy1535; + if (yych <= 'z') goto yy176; + goto yy3; + } + } + } +-yy1533: ++yy1535: + yyaccept = 0; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'Q') { +@@ -23071,7 +23276,7 @@ yy1533: + } + } else { + if (yych <= '_') { +- if (yych <= 'R') goto yy1525; ++ if (yych <= 'R') goto yy1527; + if (yych <= 'Z') goto yy169; + if (yych <= '^') goto yy3; + goto yy172; +@@ -23080,13 +23285,13 @@ yy1533: + if (yych <= '`') goto yy3; + goto yy177; + } else { +- if (yych <= 'r') goto yy1534; ++ if (yych <= 'r') goto yy1536; + if (yych <= 'z') goto yy177; + goto yy3; + } + } + } +-yy1534: ++yy1536: + yyaccept = 0; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 'C') { +@@ -23100,21 +23305,21 @@ yy1534: + } + } else { + if (yych <= '`') { +- if (yych <= 'D') goto yy1526; ++ if (yych <= 'D') goto yy1528; + if (yych == '_') goto yy172; + goto yy3; + } else { +- if (yych == 'd') goto yy1535; ++ if (yych == 'd') goto yy1537; + if (yych <= 'z') goto yy178; + goto yy3; + } + } +-yy1535: ++yy1537: + yych = *++YYCURSOR; +- if (yych == 'A') goto yy1527; ++ if (yych == 'A') goto yy1529; + if (yych != 'a') goto yy179; + yych = *++YYCURSOR; +- if (yych == 'Y') goto yy1528; ++ if (yych == 'Y') goto yy1530; + if (yych != 'y') goto yy179; + yyaccept = 33; + yych = *(YYMARKER = ++YYCURSOR); +@@ -23123,13 +23328,14 @@ yy1535: + } + if (yych <= '.') { + if (yych == '-') goto yy172; +- goto yy1529; ++ goto yy1531; + } else { + if (yych <= '/') goto yy172; + if (yych == '_') goto yy172; +- goto yy1529; ++ goto yy1531; + } + } ++#line 1772 "ext/date/lib/parse_date.re" + + } + +diff --git a/ext/date/lib/parse_date.re b/ext/date/lib/parse_date.re +index 74d9ea3..f26e276 100644 +--- a/ext/date/lib/parse_date.re ++++ b/ext/date/lib/parse_date.re +@@ -931,8 +931,8 @@ isoweek = year4 "-"? "W" weekofyear; + exif = year4 ":" monthlz ":" daylz " " hour24lz ":" minutelz ":" secondlz; + firstdayof = 'first day of'; + lastdayof = 'last day of'; +-backof = 'back of ' hour24 space? meridian?; +-frontof = 'front of ' hour24 space? meridian?; ++backof = 'back of ' hour24 (space? meridian)?; ++frontof = 'front of ' hour24 (space? meridian)?; + + /* Common Log Format: 10/Oct/2000:13:55:36 -0700 */ + clf = day "/" monthabbr "/" year4 ":" hour24lz ":" minutelz ":" secondlz space tzcorrection; +diff --git a/ext/date/tests/bug53437_var3.phpt b/ext/date/tests/bug53437_var3.phpt +index 8f48b1b..8dcd4c8 100644 +--- a/ext/date/tests/bug53437_var3.phpt ++++ b/ext/date/tests/bug53437_var3.phpt +@@ -40,7 +40,7 @@ object(DateInterval)#%d (16) { + ["special_amount"]=> + int(-1) + ["have_weekday_relative"]=> +- int(9) ++ int(0) + ["have_special_relative"]=> + int(0) + ["f"]=> +diff --git a/ext/wddx/tests/bug75055.phpt b/ext/wddx/tests/bug75055.phpt +new file mode 100644 +index 0000000..2956284 +--- /dev/null ++++ b/ext/wddx/tests/bug75055.phpt +@@ -0,0 +1,20 @@ ++--TEST-- ++Bug #75055 Out-Of-Bounds Read in timelib_meridian() ++--SKIPIF-- ++ ++--FILE-- ++ ++--EXPECT-- ++323 bytes read. ++array(1) { ++ ["aDateTime"]=> ++ string(12) "frONt of 0 0" ++} +diff --git a/ext/wddx/tests/bug75055.wddx b/ext/wddx/tests/bug75055.wddx +new file mode 100644 +index 0000000..6493352 +--- /dev/null ++++ b/ext/wddx/tests/bug75055.wddx +@@ -0,0 +1,13 @@ ++ ++ ++ ++
++ ++ ++ ++ frONt of 0 0 ++ ++ ++ ++ ++ +-- +2.11.0 + diff --git a/meta-oe/recipes-devtools/php/php/CVE-2018-5711.patch b/meta-oe/recipes-devtools/php/php/CVE-2018-5711.patch new file mode 100644 index 0000000000..596244d6ba --- /dev/null +++ b/meta-oe/recipes-devtools/php/php/CVE-2018-5711.patch @@ -0,0 +1,56 @@ +From b04cd19b76374ebce8f3326275bdfd7e9b9aeab5 Mon Sep 17 00:00:00 2001 +From: Li Zhou +Date: Sun, 11 Feb 2018 15:03:21 +0800 +Subject: [PATCH] Fixed bug #75571: Potential infinite loop in + gdImageCreateFromGifCtx + +Due to a signedness confusion in `GetCode_` a corrupt GIF file can +trigger an infinite loop. Furthermore we make sure that a GIF without +any palette entries is treated as invalid *after* open palette entries +have been removed. + +Upstream-Status: Backport +CVE: CVE-2018-5711 +Signed-off-by: Li Zhou +--- + ext/gd/libgd/gd_gif_in.c | 10 +++++----- + 1 file changed, 5 insertions(+), 5 deletions(-) + +diff --git a/ext/gd/libgd/gd_gif_in.c b/ext/gd/libgd/gd_gif_in.c +index 76ba152..7156e4b 100644 +--- a/ext/gd/libgd/gd_gif_in.c ++++ b/ext/gd/libgd/gd_gif_in.c +@@ -261,10 +261,6 @@ terminated: + if (!im) { + return 0; + } +- if (!im->colorsTotal) { +- gdImageDestroy(im); +- return 0; +- } + /* Check for open colors at the end, so + we can reduce colorsTotal and ultimately + BitsPerPixel */ +@@ -275,6 +271,10 @@ terminated: + break; + } + } ++ if (!im->colorsTotal) { ++ gdImageDestroy(im); ++ return 0; ++ } + return im; + } + /* }}} */ +@@ -375,7 +375,7 @@ static int + GetCode_(gdIOCtx *fd, CODE_STATIC_DATA *scd, int code_size, int flag, int *ZeroDataBlockP) + { + int i, j, ret; +- unsigned char count; ++ int count; + + if (flag) { + scd->curbit = 0; +-- +1.9.1 + diff --git a/meta-oe/recipes-devtools/php/php/change-AC_TRY_RUN-to-AC_TRY_LINK.patch b/meta-oe/recipes-devtools/php/php/change-AC_TRY_RUN-to-AC_TRY_LINK.patch new file mode 100644 index 0000000000..39c334f39d --- /dev/null +++ b/meta-oe/recipes-devtools/php/php/change-AC_TRY_RUN-to-AC_TRY_LINK.patch @@ -0,0 +1,56 @@ +[PATCH] config.m4: change AC_TRY_RUN to AC_TRY_LINK + +Upstream-Status: Pending + +AC_TRY_RUN is not suitable for cross-compile + +Signed-off-by: Roy Li +--- + ext/fileinfo/config.m4 | 31 ++++++------------------------- + 1 file changed, 6 insertions(+), 25 deletions(-) + +diff --git a/ext/fileinfo/config.m4 b/ext/fileinfo/config.m4 +index 7e98d62..8a8ea0e 100644 +--- a/ext/fileinfo/config.m4 ++++ b/ext/fileinfo/config.m4 +@@ -14,31 +14,12 @@ if test "$PHP_FILEINFO" != "no"; then + libmagic/readcdf.c libmagic/softmagic.c" + + AC_MSG_CHECKING([for strcasestr]) +- AC_TRY_RUN([ +-#include +-#include +-#include +- +-int main(void) +-{ +- char *s0, *s1, *ret; +- +- s0 = (char *) malloc(42); +- s1 = (char *) malloc(8); +- +- memset(s0, 'X', 42); +- s0[24] = 'Y'; +- s0[26] = 'Z'; +- s0[41] = '\0'; +- memset(s1, 'x', 8); +- s1[0] = 'y'; +- s1[2] = 'Z'; +- s1[7] = '\0'; +- +- ret = strcasestr(s0, s1); +- +- return !(NULL != ret); +-} ++ AC_TRY_COMPILE([ ++ #include ++ #include ++ #include ++ ],[ ++ strcasestr(NULL, NULL); + ],[ + dnl using the platform implementation + AC_MSG_RESULT(yes) +-- +1.9.1 + -- cgit 1.2.3-korg