summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLi Zhou <li.zhou@windriver.com>2017-11-23 13:33:48 +0800
committerArmin Kuster <akuster808@gmail.com>2018-02-01 07:32:03 -0800
commit45bcac83b310faa7396c22e9923c8fbcde238494 (patch)
tree667079de9b96744446a5fd526f92a42f1f2fb352
parentab3630f07864c9682a3d8cebd87a6e34245ed9fb (diff)
downloadmeta-openembedded-45bcac83b310faa7396c22e9923c8fbcde238494.tar.gz
php: Security Advisory - php - CVE-2017-16642
Porting the patch from <https://github.com/php/php-src/commit/ 5c0455bf2c8cd3c25401407f158e820aa3b239e1> to solve CVE-2017-16642. Signed-off-by: Li Zhou <li.zhou@windriver.com> Signed-off-by: Armin Kuster <akuster808@gmail.com> (cherry picked from commit 90f4b75fe7313ada0974df47912d1e3c57256ae3) Signed-off-by: Armin Kuster <akuster808@gmail.com>
-rw-r--r--meta-oe/recipes-devtools/php/php-7.1.9/CVE-2017-16642.patch5241
-rw-r--r--meta-oe/recipes-devtools/php/php_7.1.9.bb1
2 files changed, 5242 insertions, 0 deletions
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
new file mode 100644
index 000000000..41d2a0f61
--- /dev/null
+++ b/meta-oe/recipes-devtools/php/php-7.1.9/CVE-2017-16642.patch
@@ -0,0 +1,5241 @@
1From f2f90767311355cafabff604a7a857ca60ee3f01 Mon Sep 17 00:00:00 2001
2From: Li Zhou <li.zhou@windriver.com>
3Date: Wed, 22 Nov 2017 21:14:59 -0800
4Subject: [PATCH] Fixed bug #75055 Out-Of-Bounds Read in timelib_meridian()
5
6Upstream-Status: Backport
7CVE: CVE-2017-16642
8Signed-off-by: Li Zhou <li.zhou@windriver.com>
9---
10 ext/date/lib/parse_date.c | 1544 +++++++++++++++++++++----------------
11 ext/date/lib/parse_date.re | 4 +-
12 ext/date/tests/bug53437_var3.phpt | 2 +-
13 ext/wddx/tests/bug75055.phpt | 20 +
14 ext/wddx/tests/bug75055.wddx | 13 +
15 5 files changed, 911 insertions(+), 672 deletions(-)
16 create mode 100644 ext/wddx/tests/bug75055.phpt
17 create mode 100644 ext/wddx/tests/bug75055.wddx
18
19diff --git a/ext/date/lib/parse_date.c b/ext/date/lib/parse_date.c
20index f929619..6b11418 100644
21--- a/ext/date/lib/parse_date.c
22+++ b/ext/date/lib/parse_date.c
23@@ -1,4 +1,5 @@
24-/* Generated by re2c 0.15.3 on Tue Jul 4 21:15:17 2017 */
25+/* Generated by re2c 0.15.3 on Wed Nov 22 21:14:47 2017 */
26+#line 1 "ext/date/lib/parse_date.re"
27 /*
28 * The MIT License (MIT)
29 *
30@@ -837,9 +838,11 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper)
31 std:
32 s->tok = cursor;
33 s->len = 0;
34+#line 965 "ext/date/lib/parse_date.re"
35
36
37
38+#line 846 "ext/date/lib/parse_date.c"
39 {
40 YYCTYPE yych;
41 unsigned int yyaccept = 0;
42@@ -962,18 +965,19 @@ yy2:
43 } else {
44 if (yych <= '@') goto yy3;
45 if (yych <= 'D') goto yy165;
46- goto yy1521;
47+ goto yy1523;
48 }
49 } else {
50 if (yych <= 'd') {
51 if (yych <= 'Z') goto yy165;
52 if (yych >= 'a') goto yy170;
53 } else {
54- if (yych <= 'e') goto yy1530;
55+ if (yych <= 'e') goto yy1532;
56 if (yych <= 'z') goto yy170;
57 }
58 }
59 yy3:
60+#line 1673 "ext/date/lib/parse_date.re"
61 {
62 int tz_not_found;
63 DEBUG_OUTPUT("tzcorrection | tz");
64@@ -986,6 +990,7 @@ yy3:
65 TIMELIB_DEINIT;
66 return TIMELIB_TIMEZONE;
67 }
68+#line 994 "ext/date/lib/parse_date.c"
69 yy4:
70 yych = *++YYCURSOR;
71 if (yych <= 'E') {
72@@ -995,7 +1000,7 @@ yy4:
73 } else {
74 if (yych <= '@') goto yy3;
75 if (yych <= 'D') goto yy165;
76- goto yy1521;
77+ goto yy1523;
78 }
79 } else {
80 if (yych <= 'd') {
81@@ -1003,7 +1008,7 @@ yy4:
82 if (yych <= '`') goto yy3;
83 goto yy165;
84 } else {
85- if (yych <= 'e') goto yy1521;
86+ if (yych <= 'e') goto yy1523;
87 if (yych <= 'z') goto yy165;
88 goto yy3;
89 }
90@@ -1017,12 +1022,12 @@ yy5:
91 goto yy165;
92 } else {
93 if (yych <= 'H') {
94- if (yych <= 'E') goto yy1492;
95+ if (yych <= 'E') goto yy1494;
96 goto yy165;
97 } else {
98- if (yych <= 'I') goto yy1493;
99+ if (yych <= 'I') goto yy1495;
100 if (yych <= 'N') goto yy165;
101- goto yy1491;
102+ goto yy1493;
103 }
104 }
105 } else {
106@@ -1031,15 +1036,15 @@ yy5:
107 if (yych <= 'Z') goto yy165;
108 goto yy3;
109 } else {
110- if (yych == 'e') goto yy1508;
111+ if (yych == 'e') goto yy1510;
112 goto yy170;
113 }
114 } else {
115 if (yych <= 'n') {
116- if (yych <= 'i') goto yy1509;
117+ if (yych <= 'i') goto yy1511;
118 goto yy170;
119 } else {
120- if (yych <= 'o') goto yy1507;
121+ if (yych <= 'o') goto yy1509;
122 if (yych <= 'z') goto yy170;
123 goto yy3;
124 }
125@@ -1054,12 +1059,12 @@ yy6:
126 goto yy165;
127 } else {
128 if (yych <= 'H') {
129- if (yych <= 'E') goto yy1492;
130+ if (yych <= 'E') goto yy1494;
131 goto yy165;
132 } else {
133- if (yych <= 'I') goto yy1493;
134+ if (yych <= 'I') goto yy1495;
135 if (yych <= 'N') goto yy165;
136- goto yy1491;
137+ goto yy1493;
138 }
139 }
140 } else {
141@@ -1068,15 +1073,15 @@ yy6:
142 if (yych <= 'Z') goto yy165;
143 goto yy3;
144 } else {
145- if (yych == 'e') goto yy1492;
146+ if (yych == 'e') goto yy1494;
147 goto yy165;
148 }
149 } else {
150 if (yych <= 'n') {
151- if (yych <= 'i') goto yy1493;
152+ if (yych <= 'i') goto yy1495;
153 goto yy165;
154 } else {
155- if (yych <= 'o') goto yy1491;
156+ if (yych <= 'o') goto yy1493;
157 if (yych <= 'z') goto yy165;
158 goto yy3;
159 }
160@@ -1088,24 +1093,24 @@ yy7:
161 if (yych <= 'A') {
162 if (yych == ')') goto yy164;
163 if (yych <= '@') goto yy3;
164- goto yy1461;
165+ goto yy1463;
166 } else {
167- if (yych == 'I') goto yy1462;
168+ if (yych == 'I') goto yy1464;
169 if (yych <= 'N') goto yy165;
170- goto yy1463;
171+ goto yy1465;
172 }
173 } else {
174 if (yych <= 'h') {
175 if (yych <= 'Z') goto yy165;
176 if (yych <= '`') goto yy3;
177- if (yych <= 'a') goto yy1476;
178+ if (yych <= 'a') goto yy1478;
179 goto yy170;
180 } else {
181 if (yych <= 'n') {
182- if (yych <= 'i') goto yy1477;
183+ if (yych <= 'i') goto yy1479;
184 goto yy170;
185 } else {
186- if (yych <= 'o') goto yy1478;
187+ if (yych <= 'o') goto yy1480;
188 if (yych <= 'z') goto yy170;
189 goto yy3;
190 }
191@@ -1117,24 +1122,24 @@ yy8:
192 if (yych <= 'A') {
193 if (yych == ')') goto yy164;
194 if (yych <= '@') goto yy3;
195- goto yy1461;
196+ goto yy1463;
197 } else {
198- if (yych == 'I') goto yy1462;
199+ if (yych == 'I') goto yy1464;
200 if (yych <= 'N') goto yy165;
201- goto yy1463;
202+ goto yy1465;
203 }
204 } else {
205 if (yych <= 'h') {
206 if (yych <= 'Z') goto yy165;
207 if (yych <= '`') goto yy3;
208- if (yych <= 'a') goto yy1461;
209+ if (yych <= 'a') goto yy1463;
210 goto yy165;
211 } else {
212 if (yych <= 'n') {
213- if (yych <= 'i') goto yy1462;
214+ if (yych <= 'i') goto yy1464;
215 goto yy165;
216 } else {
217- if (yych <= 'o') goto yy1463;
218+ if (yych <= 'o') goto yy1465;
219 if (yych <= 'z') goto yy165;
220 goto yy3;
221 }
222@@ -1146,15 +1151,15 @@ yy9:
223 switch (yych) {
224 case ')': goto yy164;
225 case '0':
226- case '1': goto yy1391;
227- case '2': goto yy1392;
228+ case '1': goto yy1393;
229+ case '2': goto yy1394;
230 case '3':
231 case '4':
232 case '5':
233 case '6':
234 case '7':
235 case '8':
236- case '9': goto yy1393;
237+ case '9': goto yy1395;
238 case 'A':
239 case 'B':
240 case 'C':
241@@ -1176,11 +1181,11 @@ yy9:
242 case 'X':
243 case 'Y':
244 case 'Z': goto yy165;
245- case 'E': goto yy1386;
246- case 'H': goto yy1387;
247- case 'O': goto yy1388;
248- case 'U': goto yy1389;
249- case 'W': goto yy1390;
250+ case 'E': goto yy1388;
251+ case 'H': goto yy1389;
252+ case 'O': goto yy1390;
253+ case 'U': goto yy1391;
254+ case 'W': goto yy1392;
255 case 'a':
256 case 'b':
257 case 'c':
258@@ -1202,11 +1207,11 @@ yy9:
259 case 'x':
260 case 'y':
261 case 'z': goto yy170;
262- case 'e': goto yy1429;
263- case 'h': goto yy1430;
264- case 'o': goto yy1431;
265- case 'u': goto yy1432;
266- case 'w': goto yy1433;
267+ case 'e': goto yy1431;
268+ case 'h': goto yy1432;
269+ case 'o': goto yy1433;
270+ case 'u': goto yy1434;
271+ case 'w': goto yy1435;
272 default: goto yy3;
273 }
274 yy10:
275@@ -1215,15 +1220,15 @@ yy10:
276 switch (yych) {
277 case ')': goto yy164;
278 case '0':
279- case '1': goto yy1391;
280- case '2': goto yy1392;
281+ case '1': goto yy1393;
282+ case '2': goto yy1394;
283 case '3':
284 case '4':
285 case '5':
286 case '6':
287 case '7':
288 case '8':
289- case '9': goto yy1393;
290+ case '9': goto yy1395;
291 case 'A':
292 case 'B':
293 case 'C':
294@@ -1267,28 +1272,30 @@ yy10:
295 case 'y':
296 case 'z': goto yy165;
297 case 'E':
298- case 'e': goto yy1386;
299+ case 'e': goto yy1388;
300 case 'H':
301- case 'h': goto yy1387;
302+ case 'h': goto yy1389;
303 case 'O':
304- case 'o': goto yy1388;
305+ case 'o': goto yy1390;
306 case 'U':
307- case 'u': goto yy1389;
308+ case 'u': goto yy1391;
309 case 'W':
310- case 'w': goto yy1390;
311+ case 'w': goto yy1392;
312 default: goto yy3;
313 }
314 yy11:
315 yyaccept = 1;
316 yych = *(YYMARKER = ++YYCURSOR);
317- if (yych == '-') goto yy1374;
318+ if (yych == '-') goto yy1376;
319 if (yych <= '/') goto yy12;
320- if (yych <= '9') goto yy1375;
321+ if (yych <= '9') goto yy1377;
322 yy12:
323+#line 1768 "ext/date/lib/parse_date.re"
324 {
325 add_error(s, "Unexpected character");
326 goto std;
327 }
328+#line 1299 "ext/date/lib/parse_date.c"
329 yy13:
330 yych = *++YYCURSOR;
331 if (yych <= 'R') {
332@@ -1299,16 +1306,16 @@ yy13:
333 } else {
334 if (yych <= '@') goto yy3;
335 if (yych <= 'D') goto yy165;
336- goto yy1310;
337+ goto yy1311;
338 }
339 } else {
340 if (yych <= 'N') {
341- if (yych == 'I') goto yy1311;
342+ if (yych == 'I') goto yy1312;
343 goto yy165;
344 } else {
345- if (yych <= 'O') goto yy1312;
346+ if (yych <= 'O') goto yy1313;
347 if (yych <= 'Q') goto yy165;
348- goto yy1313;
349+ goto yy1314;
350 }
351 }
352 } else {
353@@ -1318,16 +1325,16 @@ yy13:
354 if (yych <= '`') goto yy3;
355 goto yy170;
356 } else {
357- if (yych <= 'e') goto yy1351;
358+ if (yych <= 'e') goto yy1353;
359 if (yych <= 'h') goto yy170;
360- goto yy1352;
361+ goto yy1354;
362 }
363 } else {
364 if (yych <= 'q') {
365- if (yych == 'o') goto yy1353;
366+ if (yych == 'o') goto yy1355;
367 goto yy170;
368 } else {
369- if (yych <= 'r') goto yy1354;
370+ if (yych <= 'r') goto yy1356;
371 if (yych <= 'z') goto yy170;
372 goto yy3;
373 }
374@@ -1343,16 +1350,16 @@ yy14:
375 } else {
376 if (yych <= '@') goto yy3;
377 if (yych <= 'D') goto yy165;
378- goto yy1310;
379+ goto yy1311;
380 }
381 } else {
382 if (yych <= 'N') {
383- if (yych == 'I') goto yy1311;
384+ if (yych == 'I') goto yy1312;
385 goto yy165;
386 } else {
387- if (yych <= 'O') goto yy1312;
388+ if (yych <= 'O') goto yy1313;
389 if (yych <= 'Q') goto yy165;
390- goto yy1313;
391+ goto yy1314;
392 }
393 }
394 } else {
395@@ -1362,16 +1369,16 @@ yy14:
396 if (yych <= '`') goto yy3;
397 goto yy165;
398 } else {
399- if (yych <= 'e') goto yy1310;
400+ if (yych <= 'e') goto yy1311;
401 if (yych <= 'h') goto yy165;
402- goto yy1311;
403+ goto yy1312;
404 }
405 } else {
406 if (yych <= 'q') {
407- if (yych == 'o') goto yy1312;
408+ if (yych == 'o') goto yy1313;
409 goto yy165;
410 } else {
411- if (yych <= 'r') goto yy1313;
412+ if (yych <= 'r') goto yy1314;
413 if (yych <= 'z') goto yy165;
414 goto yy3;
415 }
416@@ -1382,13 +1389,13 @@ yy15:
417 if (yych <= 'A') {
418 if (yych == ')') goto yy164;
419 if (yych <= '@') goto yy3;
420- goto yy1296;
421+ goto yy1297;
422 } else {
423 if (yych <= '`') {
424 if (yych <= 'Z') goto yy165;
425 goto yy3;
426 } else {
427- if (yych <= 'a') goto yy1307;
428+ if (yych <= 'a') goto yy1308;
429 if (yych <= 'z') goto yy170;
430 goto yy3;
431 }
432@@ -1398,13 +1405,13 @@ yy16:
433 if (yych <= 'A') {
434 if (yych == ')') goto yy164;
435 if (yych <= '@') goto yy3;
436- goto yy1296;
437+ goto yy1297;
438 } else {
439 if (yych <= '`') {
440 if (yych <= 'Z') goto yy165;
441 goto yy3;
442 } else {
443- if (yych <= 'a') goto yy1296;
444+ if (yych <= 'a') goto yy1297;
445 if (yych <= 'z') goto yy165;
446 goto yy3;
447 }
448@@ -1420,7 +1427,7 @@ yy17:
449 if (yych <= 'Z') goto yy165;
450 goto yy3;
451 } else {
452- if (yych <= 'a') goto yy1293;
453+ if (yych <= 'a') goto yy1294;
454 if (yych <= 'z') goto yy170;
455 goto yy3;
456 }
457@@ -2495,18 +2502,22 @@ yy48:
458 if (yych <= '/') goto yy49;
459 if (yych <= '9') goto yy54;
460 yy49:
461+#line 1757 "ext/date/lib/parse_date.re"
462 {
463 goto std;
464 }
465+#line 2510 "ext/date/lib/parse_date.c"
466 yy50:
467 yych = *++YYCURSOR;
468 goto yy49;
469 yy51:
470 ++YYCURSOR;
471+#line 1762 "ext/date/lib/parse_date.re"
472 {
473 s->pos = cursor; s->line++;
474 goto std;
475 }
476+#line 2521 "ext/date/lib/parse_date.c"
477 yy53:
478 yych = *++YYCURSOR;
479 goto yy12;
480@@ -2693,23 +2704,23 @@ yy56:
481 }
482 } else {
483 if (yyaccept == 28) {
484- goto yy1377;
485+ goto yy1379;
486 } else {
487- goto yy1415;
488+ goto yy1417;
489 }
490 }
491 } else {
492 if (yyaccept <= 31) {
493 if (yyaccept == 30) {
494- goto yy1418;
495+ goto yy1420;
496 } else {
497- goto yy1498;
498+ goto yy1500;
499 }
500 } else {
501 if (yyaccept == 32) {
502- goto yy1506;
503+ goto yy1508;
504 } else {
505- goto yy1529;
506+ goto yy1531;
507 }
508 }
509 }
510@@ -2920,6 +2931,7 @@ yy73:
511 if (yych == 'S') goto yy75;
512 if (yych == 's') goto yy75;
513 yy74:
514+#line 1741 "ext/date/lib/parse_date.re"
515 {
516 timelib_ull i;
517 DEBUG_OUTPUT("relative");
518@@ -2934,6 +2946,7 @@ yy74:
519 TIMELIB_DEINIT;
520 return TIMELIB_RELATIVE;
521 }
522+#line 2950 "ext/date/lib/parse_date.c"
523 yy75:
524 yych = *++YYCURSOR;
525 if (yych == 'D') goto yy76;
526@@ -3719,6 +3732,7 @@ yy190:
527 }
528 }
529 yy191:
530+#line 1604 "ext/date/lib/parse_date.re"
531 {
532 const timelib_relunit* relunit;
533 DEBUG_OUTPUT("daytext");
534@@ -3735,6 +3749,7 @@ yy191:
535 TIMELIB_DEINIT;
536 return TIMELIB_WEEKDAY;
537 }
538+#line 3753 "ext/date/lib/parse_date.c"
539 yy192:
540 yych = *++YYCURSOR;
541 if (yych <= 'K') {
542@@ -4227,6 +4242,7 @@ yy217:
543 }
544 }
545 yy218:
546+#line 1663 "ext/date/lib/parse_date.re"
547 {
548 DEBUG_OUTPUT("monthtext");
549 TIMELIB_INIT;
550@@ -4235,6 +4251,7 @@ yy218:
551 TIMELIB_DEINIT;
552 return TIMELIB_DATE_TEXT;
553 }
554+#line 4255 "ext/date/lib/parse_date.c"
555 yy219:
556 ++YYCURSOR;
557 if ((YYLIMIT - YYCURSOR) < 23) YYFILL(23);
558@@ -4469,6 +4486,7 @@ yy231:
559 if (yych == 't') goto yy319;
560 goto yy237;
561 yy232:
562+#line 1409 "ext/date/lib/parse_date.re"
563 {
564 int length = 0;
565 DEBUG_OUTPUT("datetextual | datenoyear");
566@@ -4481,6 +4499,7 @@ yy232:
567 TIMELIB_DEINIT;
568 return TIMELIB_DATE_TEXT;
569 }
570+#line 4503 "ext/date/lib/parse_date.c"
571 yy233:
572 yyaccept = 6;
573 yych = *(YYMARKER = ++YYCURSOR);
574@@ -4593,6 +4612,7 @@ yy245:
575 if (yych <= ':') goto yy248;
576 }
577 yy246:
578+#line 1711 "ext/date/lib/parse_date.re"
579 {
580 int tz_not_found;
581 DEBUG_OUTPUT("dateshortwithtimeshort | dateshortwithtimelong | dateshortwithtimelongtz");
582@@ -4621,6 +4641,7 @@ yy246:
583 TIMELIB_DEINIT;
584 return TIMELIB_SHORTDATE_WITH_TIME;
585 }
586+#line 4645 "ext/date/lib/parse_date.c"
587 yy247:
588 yyaccept = 7;
589 yych = *(YYMARKER = ++YYCURSOR);
590@@ -4893,6 +4914,7 @@ yy269:
591 }
592 yy270:
593 ++YYCURSOR;
594+#line 1687 "ext/date/lib/parse_date.re"
595 {
596 DEBUG_OUTPUT("dateshortwithtimeshort12 | dateshortwithtimelong12");
597 TIMELIB_INIT;
598@@ -4915,6 +4937,7 @@ yy270:
599 TIMELIB_DEINIT;
600 return TIMELIB_SHORTDATE_WITH_TIME;
601 }
602+#line 4941 "ext/date/lib/parse_date.c"
603 yy272:
604 yych = *++YYCURSOR;
605 if (yych <= 0x1F) {
606@@ -5470,6 +5493,7 @@ yy320:
607 if (yych <= '/') goto yy56;
608 if (yych >= ':') goto yy56;
609 ++YYCURSOR;
610+#line 1381 "ext/date/lib/parse_date.re"
611 {
612 int length = 0;
613 DEBUG_OUTPUT("datenoday");
614@@ -5482,6 +5506,7 @@ yy320:
615 TIMELIB_DEINIT;
616 return TIMELIB_DATE_NO_DAY;
617 }
618+#line 5510 "ext/date/lib/parse_date.c"
619 yy323:
620 yych = *++YYCURSOR;
621 if (yych <= '9') {
622@@ -5704,6 +5729,7 @@ yy327:
623 if ((yych = *YYCURSOR) <= '/') goto yy330;
624 if (yych <= '9') goto yy331;
625 yy330:
626+#line 1525 "ext/date/lib/parse_date.re"
627 {
628 int length = 0;
629 DEBUG_OUTPUT("pgtextshort");
630@@ -5716,6 +5742,7 @@ yy330:
631 TIMELIB_DEINIT;
632 return TIMELIB_PG_TEXT;
633 }
634+#line 5746 "ext/date/lib/parse_date.c"
635 yy331:
636 yych = *++YYCURSOR;
637 if (yych <= '/') goto yy330;
638@@ -6270,6 +6297,7 @@ yy356:
639 if (yych <= 'z') goto yy167;
640 }
641 yy357:
642+#line 1583 "ext/date/lib/parse_date.re"
643 {
644 DEBUG_OUTPUT("ago");
645 TIMELIB_INIT;
646@@ -6289,6 +6317,7 @@ yy357:
647 TIMELIB_DEINIT;
648 return TIMELIB_AGO;
649 }
650+#line 6321 "ext/date/lib/parse_date.c"
651 yy358:
652 yyaccept = 5;
653 yych = *(YYMARKER = ++YYCURSOR);
654@@ -8009,6 +8038,7 @@ yy417:
655 yy418:
656 ++YYCURSOR;
657 yy419:
658+#line 1286 "ext/date/lib/parse_date.re"
659 {
660 DEBUG_OUTPUT("iso8601date4 | iso8601date2 | iso8601dateslash | dateslash");
661 TIMELIB_INIT;
662@@ -8019,6 +8049,7 @@ yy419:
663 TIMELIB_DEINIT;
664 return TIMELIB_ISO_DATE;
665 }
666+#line 8053 "ext/date/lib/parse_date.c"
667 yy420:
668 yyaccept = 0;
669 yych = *(YYMARKER = ++YYCURSOR);
670@@ -8641,6 +8672,7 @@ yy439:
671 }
672 }
673 yy440:
674+#line 1423 "ext/date/lib/parse_date.re"
675 {
676 DEBUG_OUTPUT("datenoyearrev");
677 TIMELIB_INIT;
678@@ -8651,6 +8683,7 @@ yy440:
679 TIMELIB_DEINIT;
680 return TIMELIB_DATE_TEXT;
681 }
682+#line 8687 "ext/date/lib/parse_date.c"
683 yy441:
684 yyaccept = 9;
685 yych = *(YYMARKER = ++YYCURSOR);
686@@ -8778,6 +8811,7 @@ yy450:
687 }
688 yy452:
689 ++YYCURSOR;
690+#line 1141 "ext/date/lib/parse_date.re"
691 {
692 DEBUG_OUTPUT("timetiny12 | timeshort12 | timelong12");
693 TIMELIB_INIT;
694@@ -8793,6 +8827,7 @@ yy452:
695 TIMELIB_DEINIT;
696 return TIMELIB_TIME12;
697 }
698+#line 8831 "ext/date/lib/parse_date.c"
699 yy454:
700 yyaccept = 10;
701 yych = *(YYMARKER = ++YYCURSOR);
702@@ -8803,6 +8838,7 @@ yy454:
703 if (yych <= ':') goto yy457;
704 }
705 yy455:
706+#line 1178 "ext/date/lib/parse_date.re"
707 {
708 int tz_not_found;
709 DEBUG_OUTPUT("timeshort24 | timelong24 | iso8601long");
710@@ -8827,6 +8863,7 @@ yy455:
711 TIMELIB_DEINIT;
712 return TIMELIB_TIME24_WITH_ZONE;
713 }
714+#line 8867 "ext/date/lib/parse_date.c"
715 yy456:
716 yyaccept = 10;
717 yych = *(YYMARKER = ++YYCURSOR);
718@@ -9103,6 +9140,7 @@ yy485:
719 }
720 yy487:
721 ++YYCURSOR;
722+#line 1158 "ext/date/lib/parse_date.re"
723 {
724 DEBUG_OUTPUT("mssqltime");
725 TIMELIB_INIT;
726@@ -9121,6 +9159,7 @@ yy487:
727 TIMELIB_DEINIT;
728 return TIMELIB_TIME24_WITH_ZONE;
729 }
730+#line 9163 "ext/date/lib/parse_date.c"
731 yy489:
732 yyaccept = 10;
733 YYMARKER = ++YYCURSOR;
734@@ -9215,6 +9254,7 @@ yy498:
735 if ((yych = *YYCURSOR) <= '/') goto yy499;
736 if (yych <= '9') goto yy505;
737 yy499:
738+#line 1340 "ext/date/lib/parse_date.re"
739 {
740 int length = 0;
741 DEBUG_OUTPUT("datefull");
742@@ -9228,6 +9268,7 @@ yy499:
743 TIMELIB_DEINIT;
744 return TIMELIB_DATE_FULL;
745 }
746+#line 9272 "ext/date/lib/parse_date.c"
747 yy500:
748 yych = *++YYCURSOR;
749 if (yych == 'M') goto yy501;
750@@ -9891,6 +9932,7 @@ yy569:
751 if (yych <= '/') goto yy56;
752 if (yych >= ':') goto yy56;
753 ++YYCURSOR;
754+#line 1355 "ext/date/lib/parse_date.re"
755 {
756 DEBUG_OUTPUT("pointed date YYYY");
757 TIMELIB_INIT;
758@@ -9901,6 +9943,7 @@ yy569:
759 TIMELIB_DEINIT;
760 return TIMELIB_DATE_FULL_POINTED;
761 }
762+#line 9947 "ext/date/lib/parse_date.c"
763 yy572:
764 yyaccept = 10;
765 yych = *(YYMARKER = ++YYCURSOR);
766@@ -9931,6 +9974,7 @@ yy575:
767 if (yych <= '/') goto yy576;
768 if (yych <= '9') goto yy569;
769 yy576:
770+#line 1367 "ext/date/lib/parse_date.re"
771 {
772 int length = 0;
773 DEBUG_OUTPUT("pointed date YY");
774@@ -9943,6 +9987,7 @@ yy576:
775 TIMELIB_DEINIT;
776 return TIMELIB_DATE_FULL_POINTED;
777 }
778+#line 9991 "ext/date/lib/parse_date.c"
779 yy577:
780 yyaccept = 10;
781 yych = *(YYMARKER = ++YYCURSOR);
782@@ -10538,6 +10583,7 @@ yy620:
783 }
784 }
785 yy621:
786+#line 1326 "ext/date/lib/parse_date.re"
787 {
788 int length = 0;
789 DEBUG_OUTPUT("gnudateshort");
790@@ -10550,6 +10596,7 @@ yy621:
791 TIMELIB_DEINIT;
792 return TIMELIB_ISO_DATE;
793 }
794+#line 10600 "ext/date/lib/parse_date.c"
795 yy622:
796 yyaccept = 12;
797 yych = *(YYMARKER = ++YYCURSOR);
798@@ -10645,6 +10692,7 @@ yy630:
799 }
800 }
801 yy631:
802+#line 1270 "ext/date/lib/parse_date.re"
803 {
804 int length = 0;
805 DEBUG_OUTPUT("americanshort | american");
806@@ -10659,6 +10707,7 @@ yy631:
807 TIMELIB_DEINIT;
808 return TIMELIB_AMERICAN;
809 }
810+#line 10711 "ext/date/lib/parse_date.c"
811 yy632:
812 yyaccept = 13;
813 yych = *(YYMARKER = ++YYCURSOR);
814@@ -10857,6 +10906,7 @@ yy664:
815 if (yych <= '9') goto yy667;
816 if (yych <= ':') goto yy668;
817 yy665:
818+#line 1553 "ext/date/lib/parse_date.re"
819 {
820 int tz_not_found;
821 DEBUG_OUTPUT("clf");
822@@ -10876,6 +10926,7 @@ yy665:
823 TIMELIB_DEINIT;
824 return TIMELIB_CLF;
825 }
826+#line 10930 "ext/date/lib/parse_date.c"
827 yy666:
828 yych = *++YYCURSOR;
829 if (yych <= '5') {
830@@ -11362,6 +11413,7 @@ yy727:
831 if (yych <= 't') goto yy627;
832 }
833 yy728:
834+#line 1298 "ext/date/lib/parse_date.re"
835 {
836 int length = 0;
837 DEBUG_OUTPUT("iso8601date2");
838@@ -11374,6 +11426,7 @@ yy728:
839 TIMELIB_DEINIT;
840 return TIMELIB_ISO_DATE;
841 }
842+#line 11430 "ext/date/lib/parse_date.c"
843 yy729:
844 yych = *++YYCURSOR;
845 if (yych == 'C') goto yy730;
846@@ -11404,6 +11457,7 @@ yy734:
847 if (yych >= '2') goto yy56;
848 yy735:
849 ++YYCURSOR;
850+#line 1539 "ext/date/lib/parse_date.re"
851 {
852 int length = 0;
853 DEBUG_OUTPUT("pgtextreverse");
854@@ -11416,6 +11470,7 @@ yy735:
855 TIMELIB_DEINIT;
856 return TIMELIB_PG_TEXT;
857 }
858+#line 11474 "ext/date/lib/parse_date.c"
859 yy737:
860 yych = *++YYCURSOR;
861 if (yych == 'V') goto yy730;
862@@ -11568,6 +11623,7 @@ yy747:
863 }
864 }
865 yy748:
866+#line 1574 "ext/date/lib/parse_date.re"
867 {
868 DEBUG_OUTPUT("year4");
869 TIMELIB_INIT;
870@@ -11575,6 +11631,7 @@ yy748:
871 TIMELIB_DEINIT;
872 return TIMELIB_CLF;
873 }
874+#line 11635 "ext/date/lib/parse_date.c"
875 yy749:
876 yych = *++YYCURSOR;
877 switch (yych) {
878@@ -11769,6 +11826,7 @@ yy757:
879 if (yych <= 'X') goto yy848;
880 }
881 yy758:
882+#line 1395 "ext/date/lib/parse_date.re"
883 {
884 int length = 0;
885 DEBUG_OUTPUT("datenodayrev");
886@@ -11781,6 +11839,7 @@ yy758:
887 TIMELIB_DEINIT;
888 return TIMELIB_DATE_NO_DAY;
889 }
890+#line 11843 "ext/date/lib/parse_date.c"
891 yy759:
892 yych = *++YYCURSOR;
893 if (yych == 'I') goto yy892;
894@@ -11980,6 +12039,7 @@ yy778:
895 if (yych <= '/') goto yy779;
896 if (yych <= '7') goto yy781;
897 yy779:
898+#line 1506 "ext/date/lib/parse_date.re"
899 {
900 timelib_sll w, d;
901 DEBUG_OUTPUT("isoweek");
902@@ -11997,12 +12057,14 @@ yy779:
903 TIMELIB_DEINIT;
904 return TIMELIB_ISO_WEEK;
905 }
906+#line 12061 "ext/date/lib/parse_date.c"
907 yy780:
908 yych = *++YYCURSOR;
909 if (yych <= '/') goto yy56;
910 if (yych >= '8') goto yy56;
911 yy781:
912 ++YYCURSOR;
913+#line 1487 "ext/date/lib/parse_date.re"
914 {
915 timelib_sll w, d;
916 DEBUG_OUTPUT("isoweekday");
917@@ -12020,6 +12082,7 @@ yy781:
918 TIMELIB_DEINIT;
919 return TIMELIB_ISO_WEEK;
920 }
921+#line 12086 "ext/date/lib/parse_date.c"
922 yy783:
923 yych = *++YYCURSOR;
924 if (yych <= '/') goto yy60;
925@@ -12085,6 +12148,7 @@ yy785:
926 }
927 }
928 yy786:
929+#line 1473 "ext/date/lib/parse_date.re"
930 {
931 int length = 0;
932 DEBUG_OUTPUT("pgydotd");
933@@ -12097,6 +12161,7 @@ yy786:
934 TIMELIB_DEINIT;
935 return TIMELIB_PG_YEARDAY;
936 }
937+#line 12165 "ext/date/lib/parse_date.c"
938 yy787:
939 yych = *++YYCURSOR;
940 if (yych <= '/') goto yy60;
941@@ -12178,6 +12243,7 @@ yy805:
942 yy806:
943 ++YYCURSOR;
944 yy807:
945+#line 1447 "ext/date/lib/parse_date.re"
946 {
947 int tz_not_found;
948 DEBUG_OUTPUT("xmlrpc | xmlrpcnocolon | soap | wddx | exif");
949@@ -12202,6 +12268,7 @@ yy807:
950 TIMELIB_DEINIT;
951 return TIMELIB_XMLRPC_SOAP;
952 }
953+#line 12272 "ext/date/lib/parse_date.c"
954 yy808:
955 yych = *++YYCURSOR;
956 if (yych <= '2') {
957@@ -12490,6 +12557,7 @@ yy812:
958 }
959 }
960 yy813:
961+#line 1435 "ext/date/lib/parse_date.re"
962 {
963 DEBUG_OUTPUT("datenocolon");
964 TIMELIB_INIT;
965@@ -12500,6 +12568,7 @@ yy813:
966 TIMELIB_DEINIT;
967 return TIMELIB_DATE_NOCOLON;
968 }
969+#line 12572 "ext/date/lib/parse_date.c"
970 yy814:
971 yych = *++YYCURSOR;
972 if (yych <= 'H') {
973@@ -13293,6 +13362,7 @@ yy937:
974 if (yych <= '/') goto yy938;
975 if (yych <= '9') goto yy960;
976 yy938:
977+#line 1312 "ext/date/lib/parse_date.re"
978 {
979 int length = 0;
980 DEBUG_OUTPUT("gnudateshorter");
981@@ -13305,6 +13375,7 @@ yy938:
982 TIMELIB_DEINIT;
983 return TIMELIB_ISO_DATE;
984 }
985+#line 13379 "ext/date/lib/parse_date.c"
986 yy939:
987 yyaccept = 21;
988 yych = *(YYMARKER = ++YYCURSOR);
989@@ -14303,6 +14374,7 @@ yy1030:
990 }
991 }
992 yy1032:
993+#line 1204 "ext/date/lib/parse_date.re"
994 {
995 DEBUG_OUTPUT("gnunocolon");
996 TIMELIB_INIT;
997@@ -14324,6 +14396,7 @@ yy1032:
998 TIMELIB_DEINIT;
999 return TIMELIB_GNU_NOCOLON;
1000 }
1001+#line 14400 "ext/date/lib/parse_date.c"
1002 yy1033:
1003 yych = *++YYCURSOR;
1004 if (yych <= '/') goto yy60;
1005@@ -14413,6 +14486,7 @@ yy1039:
1006 }
1007 }
1008 yy1040:
1009+#line 1250 "ext/date/lib/parse_date.re"
1010 {
1011 int tz_not_found;
1012 DEBUG_OUTPUT("iso8601nocolon");
1013@@ -14431,6 +14505,7 @@ yy1040:
1014 TIMELIB_DEINIT;
1015 return TIMELIB_ISO_NOCOLON;
1016 }
1017+#line 14509 "ext/date/lib/parse_date.c"
1018 yy1041:
1019 yyaccept = 24;
1020 yych = *(YYMARKER = ++YYCURSOR);
1021@@ -15362,6 +15437,7 @@ yy1083:
1022 }
1023 }
1024 yy1084:
1025+#line 1646 "ext/date/lib/parse_date.re"
1026 {
1027 timelib_sll i;
1028 int behavior = 0;
1029@@ -15377,6 +15453,7 @@ yy1084:
1030 TIMELIB_DEINIT;
1031 return TIMELIB_RELATIVE;
1032 }
1033+#line 15457 "ext/date/lib/parse_date.c"
1034 yy1085:
1035 ++YYCURSOR;
1036 if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2);
1037@@ -15418,6 +15495,7 @@ yy1091:
1038 if (yych != 'f') goto yy56;
1039 yy1092:
1040 ++YYCURSOR;
1041+#line 1119 "ext/date/lib/parse_date.re"
1042 {
1043 timelib_sll i;
1044 int behavior = 0;
1045@@ -15438,6 +15516,7 @@ yy1092:
1046 TIMELIB_DEINIT;
1047 return TIMELIB_WEEK_DAY_OF_MONTH;
1048 }
1049+#line 15520 "ext/date/lib/parse_date.c"
1050 yy1094:
1051 yyaccept = 25;
1052 yych = *(YYMARKER = ++YYCURSOR);
1053@@ -15530,6 +15609,7 @@ yy1107:
1054 }
1055 }
1056 yy1108:
1057+#line 1622 "ext/date/lib/parse_date.re"
1058 {
1059 timelib_sll i;
1060 int behavior = 0;
1061@@ -15552,6 +15632,7 @@ yy1108:
1062 TIMELIB_DEINIT;
1063 return TIMELIB_RELATIVE;
1064 }
1065+#line 15636 "ext/date/lib/parse_date.c"
1066 yy1109:
1067 yych = *++YYCURSOR;
1068 goto yy1084;
1069@@ -18206,10 +18287,25 @@ yy1281:
1070 yy1283:
1071 yyaccept = 27;
1072 yych = *(YYMARKER = ++YYCURSOR);
1073- if (yych <= '/') goto yy1287;
1074- if (yych <= '9') goto yy1286;
1075- goto yy1287;
1076+ if (yych <= '@') {
1077+ if (yych <= 0x1F) {
1078+ if (yych == '\t') goto yy1287;
1079+ } else {
1080+ if (yych <= ' ') goto yy1287;
1081+ if (yych <= '/') goto yy1284;
1082+ if (yych <= '9') goto yy1286;
1083+ }
1084+ } else {
1085+ if (yych <= '`') {
1086+ if (yych <= 'A') goto yy1289;
1087+ if (yych == 'P') goto yy1289;
1088+ } else {
1089+ if (yych <= 'a') goto yy1289;
1090+ if (yych == 'p') goto yy1289;
1091+ }
1092+ }
1093 yy1284:
1094+#line 1096 "ext/date/lib/parse_date.re"
1095 {
1096 DEBUG_OUTPUT("backof | frontof");
1097 TIMELIB_INIT;
1098@@ -18231,66 +18327,104 @@ yy1284:
1099 TIMELIB_DEINIT;
1100 return TIMELIB_LF_DAY_OF_MONTH;
1101 }
1102+#line 18331 "ext/date/lib/parse_date.c"
1103 yy1285:
1104 yyaccept = 27;
1105 yych = *(YYMARKER = ++YYCURSOR);
1106- if (yych <= '/') goto yy1287;
1107- if (yych >= '5') goto yy1287;
1108+ if (yych <= '@') {
1109+ if (yych <= 0x1F) {
1110+ if (yych == '\t') goto yy1287;
1111+ goto yy1284;
1112+ } else {
1113+ if (yych <= ' ') goto yy1287;
1114+ if (yych <= '/') goto yy1284;
1115+ if (yych >= '5') goto yy1284;
1116+ }
1117+ } else {
1118+ if (yych <= '`') {
1119+ if (yych <= 'A') goto yy1289;
1120+ if (yych == 'P') goto yy1289;
1121+ goto yy1284;
1122+ } else {
1123+ if (yych <= 'a') goto yy1289;
1124+ if (yych == 'p') goto yy1289;
1125+ goto yy1284;
1126+ }
1127+ }
1128 yy1286:
1129 yyaccept = 27;
1130- YYMARKER = ++YYCURSOR;
1131+ yych = *(YYMARKER = ++YYCURSOR);
1132+ if (yych <= 'A') {
1133+ if (yych <= 0x1F) {
1134+ if (yych != '\t') goto yy1284;
1135+ } else {
1136+ if (yych <= ' ') goto yy1287;
1137+ if (yych <= '@') goto yy1284;
1138+ goto yy1289;
1139+ }
1140+ } else {
1141+ if (yych <= '`') {
1142+ if (yych == 'P') goto yy1289;
1143+ goto yy1284;
1144+ } else {
1145+ if (yych <= 'a') goto yy1289;
1146+ if (yych == 'p') goto yy1289;
1147+ goto yy1284;
1148+ }
1149+ }
1150+yy1287:
1151+ ++YYCURSOR;
1152 if ((YYLIMIT - YYCURSOR) < 5) YYFILL(5);
1153 yych = *YYCURSOR;
1154-yy1287:
1155 if (yych <= 'A') {
1156 if (yych <= 0x1F) {
1157- if (yych == '\t') goto yy1286;
1158- goto yy1284;
1159+ if (yych == '\t') goto yy1287;
1160+ goto yy56;
1161 } else {
1162- if (yych <= ' ') goto yy1286;
1163- if (yych <= '@') goto yy1284;
1164+ if (yych <= ' ') goto yy1287;
1165+ if (yych <= '@') goto yy56;
1166 }
1167 } else {
1168 if (yych <= '`') {
1169- if (yych != 'P') goto yy1284;
1170+ if (yych != 'P') goto yy56;
1171 } else {
1172- if (yych <= 'a') goto yy1288;
1173- if (yych != 'p') goto yy1284;
1174+ if (yych <= 'a') goto yy1289;
1175+ if (yych != 'p') goto yy56;
1176 }
1177 }
1178-yy1288:
1179+yy1289:
1180 yych = *++YYCURSOR;
1181 if (yych <= 'L') {
1182 if (yych != '.') goto yy56;
1183 } else {
1184- if (yych <= 'M') goto yy1290;
1185- if (yych == 'm') goto yy1290;
1186+ if (yych <= 'M') goto yy1291;
1187+ if (yych == 'm') goto yy1291;
1188 goto yy56;
1189 }
1190 yych = *++YYCURSOR;
1191- if (yych == 'M') goto yy1290;
1192+ if (yych == 'M') goto yy1291;
1193 if (yych != 'm') goto yy56;
1194-yy1290:
1195+yy1291:
1196 yych = *++YYCURSOR;
1197 if (yych <= 0x1F) {
1198- if (yych <= 0x00) goto yy1292;
1199- if (yych == '\t') goto yy1292;
1200+ if (yych <= 0x00) goto yy1293;
1201+ if (yych == '\t') goto yy1293;
1202 goto yy56;
1203 } else {
1204- if (yych <= ' ') goto yy1292;
1205+ if (yych <= ' ') goto yy1293;
1206 if (yych != '.') goto yy56;
1207 }
1208 yych = *++YYCURSOR;
1209 if (yych <= '\t') {
1210- if (yych <= 0x00) goto yy1292;
1211+ if (yych <= 0x00) goto yy1293;
1212 if (yych <= 0x08) goto yy56;
1213 } else {
1214 if (yych != ' ') goto yy56;
1215 }
1216-yy1292:
1217+yy1293:
1218 yych = *++YYCURSOR;
1219 goto yy1284;
1220-yy1293:
1221+yy1294:
1222 yyaccept = 0;
1223 yych = *(YYMARKER = ++YYCURSOR);
1224 if (yych <= 'B') {
1225@@ -18314,13 +18448,13 @@ yy1293:
1226 if (yych <= '`') goto yy3;
1227 goto yy171;
1228 } else {
1229- if (yych <= 'c') goto yy1294;
1230+ if (yych <= 'c') goto yy1295;
1231 if (yych <= 'z') goto yy171;
1232 goto yy3;
1233 }
1234 }
1235 }
1236-yy1294:
1237+yy1295:
1238 yyaccept = 0;
1239 yych = *(YYMARKER = ++YYCURSOR);
1240 if (yych <= 'J') {
1241@@ -18344,13 +18478,13 @@ yy1294:
1242 if (yych <= '`') goto yy3;
1243 goto yy175;
1244 } else {
1245- if (yych <= 'k') goto yy1295;
1246+ if (yych <= 'k') goto yy1296;
1247 if (yych <= 'z') goto yy175;
1248 goto yy3;
1249 }
1250 }
1251 }
1252-yy1295:
1253+yy1296:
1254 yyaccept = 0;
1255 yych = *(YYMARKER = ++YYCURSOR);
1256 if (yych <= '.') {
1257@@ -18375,7 +18509,7 @@ yy1295:
1258 goto yy3;
1259 }
1260 }
1261-yy1296:
1262+yy1297:
1263 yych = *++YYCURSOR;
1264 if (yych <= 'S') {
1265 if (yych <= ')') {
1266@@ -18391,12 +18525,12 @@ yy1296:
1267 if (yych <= '`') goto yy3;
1268 goto yy166;
1269 } else {
1270- if (yych <= 's') goto yy1297;
1271+ if (yych <= 's') goto yy1298;
1272 if (yych <= 'z') goto yy166;
1273 goto yy3;
1274 }
1275 }
1276-yy1297:
1277+yy1298:
1278 yych = *++YYCURSOR;
1279 if (yych <= 'T') {
1280 if (yych <= ')') {
1281@@ -18412,12 +18546,12 @@ yy1297:
1282 if (yych <= '`') goto yy3;
1283 goto yy167;
1284 } else {
1285- if (yych <= 't') goto yy1298;
1286+ if (yych <= 't') goto yy1299;
1287 if (yych <= 'z') goto yy167;
1288 goto yy3;
1289 }
1290 }
1291-yy1298:
1292+yy1299:
1293 yyaccept = 0;
1294 yych = *(YYMARKER = ++YYCURSOR);
1295 if (yych <= '(') {
1296@@ -18438,19 +18572,19 @@ yy1298:
1297 goto yy3;
1298 }
1299 }
1300-yy1299:
1301+yy1300:
1302 yych = *++YYCURSOR;
1303- if (yych == 'D') goto yy1300;
1304+ if (yych == 'D') goto yy1301;
1305 if (yych != 'd') goto yy1070;
1306-yy1300:
1307+yy1301:
1308 yych = *++YYCURSOR;
1309- if (yych == 'A') goto yy1301;
1310+ if (yych == 'A') goto yy1302;
1311 if (yych != 'a') goto yy56;
1312-yy1301:
1313+yy1302:
1314 yych = *++YYCURSOR;
1315- if (yych == 'Y') goto yy1302;
1316+ if (yych == 'Y') goto yy1303;
1317 if (yych != 'y') goto yy56;
1318-yy1302:
1319+yy1303:
1320 yyaccept = 25;
1321 yych = *(YYMARKER = ++YYCURSOR);
1322 if (yych <= 'R') {
1323@@ -18461,14 +18595,15 @@ yy1302:
1324 goto yy1084;
1325 }
1326 yych = *++YYCURSOR;
1327- if (yych == 'O') goto yy1304;
1328+ if (yych == 'O') goto yy1305;
1329 if (yych != 'o') goto yy56;
1330-yy1304:
1331+yy1305:
1332 yych = *++YYCURSOR;
1333- if (yych == 'F') goto yy1305;
1334+ if (yych == 'F') goto yy1306;
1335 if (yych != 'f') goto yy56;
1336-yy1305:
1337+yy1306:
1338 ++YYCURSOR;
1339+#line 1079 "ext/date/lib/parse_date.re"
1340 {
1341 DEBUG_OUTPUT("firstdayof | lastdayof");
1342 TIMELIB_INIT;
1343@@ -18484,7 +18619,8 @@ yy1305:
1344 TIMELIB_DEINIT;
1345 return TIMELIB_LF_DAY_OF_MONTH;
1346 }
1347-yy1307:
1348+#line 18623 "ext/date/lib/parse_date.c"
1349+yy1308:
1350 yyaccept = 0;
1351 yych = *(YYMARKER = ++YYCURSOR);
1352 if (yych <= 'R') {
1353@@ -18499,7 +18635,7 @@ yy1307:
1354 }
1355 } else {
1356 if (yych <= '_') {
1357- if (yych <= 'S') goto yy1297;
1358+ if (yych <= 'S') goto yy1298;
1359 if (yych <= 'Z') goto yy166;
1360 if (yych <= '^') goto yy3;
1361 goto yy172;
1362@@ -18508,13 +18644,13 @@ yy1307:
1363 if (yych <= '`') goto yy3;
1364 goto yy171;
1365 } else {
1366- if (yych <= 's') goto yy1308;
1367+ if (yych <= 's') goto yy1309;
1368 if (yych <= 'z') goto yy171;
1369 goto yy3;
1370 }
1371 }
1372 }
1373-yy1308:
1374+yy1309:
1375 yyaccept = 0;
1376 yych = *(YYMARKER = ++YYCURSOR);
1377 if (yych <= 'S') {
1378@@ -18529,7 +18665,7 @@ yy1308:
1379 }
1380 } else {
1381 if (yych <= '_') {
1382- if (yych <= 'T') goto yy1298;
1383+ if (yych <= 'T') goto yy1299;
1384 if (yych <= 'Z') goto yy167;
1385 if (yych <= '^') goto yy3;
1386 goto yy172;
1387@@ -18538,20 +18674,20 @@ yy1308:
1388 if (yych <= '`') goto yy3;
1389 goto yy175;
1390 } else {
1391- if (yych <= 't') goto yy1309;
1392+ if (yych <= 't') goto yy1310;
1393 if (yych <= 'z') goto yy175;
1394 goto yy3;
1395 }
1396 }
1397 }
1398-yy1309:
1399+yy1310:
1400 yyaccept = 0;
1401 yych = *(YYMARKER = ++YYCURSOR);
1402 if (yych <= '-') {
1403 if (yych <= ' ') {
1404 if (yych == '\t') goto yy1069;
1405 if (yych <= 0x1F) goto yy3;
1406- goto yy1299;
1407+ goto yy1300;
1408 } else {
1409 if (yych == ')') goto yy164;
1410 if (yych <= ',') goto yy3;
1411@@ -18573,7 +18709,7 @@ yy1309:
1412 }
1413 }
1414 }
1415-yy1310:
1416+yy1311:
1417 yych = *++YYCURSOR;
1418 if (yych <= 'B') {
1419 if (yych <= ')') {
1420@@ -18582,7 +18718,7 @@ yy1310:
1421 } else {
1422 if (yych <= '@') goto yy3;
1423 if (yych <= 'A') goto yy166;
1424- goto yy1346;
1425+ goto yy1348;
1426 }
1427 } else {
1428 if (yych <= 'a') {
1429@@ -18590,35 +18726,35 @@ yy1310:
1430 if (yych <= '`') goto yy3;
1431 goto yy166;
1432 } else {
1433- if (yych <= 'b') goto yy1346;
1434+ if (yych <= 'b') goto yy1348;
1435 if (yych <= 'z') goto yy166;
1436 goto yy3;
1437 }
1438 }
1439-yy1311:
1440+yy1312:
1441 yych = *++YYCURSOR;
1442 if (yych <= 'R') {
1443 if (yych <= '@') {
1444 if (yych == ')') goto yy164;
1445 goto yy3;
1446 } else {
1447- if (yych == 'F') goto yy1336;
1448+ if (yych == 'F') goto yy1338;
1449 if (yych <= 'Q') goto yy166;
1450- goto yy1335;
1451+ goto yy1337;
1452 }
1453 } else {
1454 if (yych <= 'f') {
1455 if (yych <= 'Z') goto yy166;
1456 if (yych <= '`') goto yy3;
1457 if (yych <= 'e') goto yy166;
1458- goto yy1336;
1459+ goto yy1338;
1460 } else {
1461- if (yych == 'r') goto yy1335;
1462+ if (yych == 'r') goto yy1337;
1463 if (yych <= 'z') goto yy166;
1464 goto yy3;
1465 }
1466 }
1467-yy1312:
1468+yy1313:
1469 yych = *++YYCURSOR;
1470 if (yych <= 'U') {
1471 if (yych <= ')') {
1472@@ -18627,7 +18763,7 @@ yy1312:
1473 } else {
1474 if (yych <= '@') goto yy3;
1475 if (yych <= 'T') goto yy166;
1476- goto yy1332;
1477+ goto yy1334;
1478 }
1479 } else {
1480 if (yych <= 't') {
1481@@ -18635,19 +18771,19 @@ yy1312:
1482 if (yych <= '`') goto yy3;
1483 goto yy166;
1484 } else {
1485- if (yych <= 'u') goto yy1332;
1486+ if (yych <= 'u') goto yy1334;
1487 if (yych <= 'z') goto yy166;
1488 goto yy3;
1489 }
1490 }
1491-yy1313:
1492+yy1314:
1493 yych = *++YYCURSOR;
1494 if (yych <= 'O') {
1495 if (yych <= '@') {
1496 if (yych == ')') goto yy164;
1497 goto yy3;
1498 } else {
1499- if (yych == 'I') goto yy1315;
1500+ if (yych == 'I') goto yy1316;
1501 if (yych <= 'N') goto yy166;
1502 }
1503 } else {
1504@@ -18655,14 +18791,14 @@ yy1313:
1505 if (yych <= 'Z') goto yy166;
1506 if (yych <= '`') goto yy3;
1507 if (yych <= 'h') goto yy166;
1508- goto yy1315;
1509+ goto yy1316;
1510 } else {
1511- if (yych == 'o') goto yy1314;
1512+ if (yych == 'o') goto yy1315;
1513 if (yych <= 'z') goto yy166;
1514 goto yy3;
1515 }
1516 }
1517-yy1314:
1518+yy1315:
1519 yych = *++YYCURSOR;
1520 if (yych <= 'N') {
1521 if (yych <= ')') {
1522@@ -18671,7 +18807,7 @@ yy1314:
1523 } else {
1524 if (yych <= '@') goto yy3;
1525 if (yych <= 'M') goto yy167;
1526- goto yy1318;
1527+ goto yy1319;
1528 }
1529 } else {
1530 if (yych <= 'm') {
1531@@ -18679,12 +18815,12 @@ yy1314:
1532 if (yych <= '`') goto yy3;
1533 goto yy167;
1534 } else {
1535- if (yych <= 'n') goto yy1318;
1536+ if (yych <= 'n') goto yy1319;
1537 if (yych <= 'z') goto yy167;
1538 goto yy3;
1539 }
1540 }
1541-yy1315:
1542+yy1316:
1543 yych = *++YYCURSOR;
1544 if (yych <= 'D') {
1545 if (yych <= ')') {
1546@@ -18700,12 +18836,12 @@ yy1315:
1547 if (yych <= '`') goto yy191;
1548 goto yy167;
1549 } else {
1550- if (yych <= 'd') goto yy1316;
1551+ if (yych <= 'd') goto yy1317;
1552 if (yych <= 'z') goto yy167;
1553 goto yy191;
1554 }
1555 }
1556-yy1316:
1557+yy1317:
1558 yych = *++YYCURSOR;
1559 if (yych <= 'A') {
1560 if (yych == ')') goto yy164;
1561@@ -18715,12 +18851,12 @@ yy1316:
1562 if (yych <= 'Z') goto yy168;
1563 goto yy3;
1564 } else {
1565- if (yych <= 'a') goto yy1317;
1566+ if (yych <= 'a') goto yy1318;
1567 if (yych <= 'z') goto yy168;
1568 goto yy3;
1569 }
1570 }
1571-yy1317:
1572+yy1318:
1573 yych = *++YYCURSOR;
1574 if (yych <= 'Y') {
1575 if (yych <= ')') {
1576@@ -18742,7 +18878,7 @@ yy1317:
1577 goto yy3;
1578 }
1579 }
1580-yy1318:
1581+yy1319:
1582 yych = *++YYCURSOR;
1583 if (yych <= 'T') {
1584 if (yych <= ')') {
1585@@ -18758,16 +18894,16 @@ yy1318:
1586 if (yych <= '`') goto yy3;
1587 goto yy168;
1588 } else {
1589- if (yych <= 't') goto yy1319;
1590+ if (yych <= 't') goto yy1320;
1591 if (yych <= 'z') goto yy168;
1592 goto yy3;
1593 }
1594 }
1595-yy1319:
1596+yy1320:
1597 yyaccept = 0;
1598 yych = *(YYMARKER = ++YYCURSOR);
1599 if (yych <= ')') {
1600- if (yych == ' ') goto yy1320;
1601+ if (yych == ' ') goto yy1321;
1602 if (yych <= '(') goto yy3;
1603 goto yy164;
1604 } else {
1605@@ -18780,88 +18916,143 @@ yy1319:
1606 goto yy3;
1607 }
1608 }
1609-yy1320:
1610+yy1321:
1611 yych = *++YYCURSOR;
1612- if (yych == 'O') goto yy1321;
1613+ if (yych == 'O') goto yy1322;
1614 if (yych != 'o') goto yy56;
1615-yy1321:
1616+yy1322:
1617 yych = *++YYCURSOR;
1618- if (yych == 'F') goto yy1322;
1619+ if (yych == 'F') goto yy1323;
1620 if (yych != 'f') goto yy56;
1621-yy1322:
1622+yy1323:
1623 yych = *++YYCURSOR;
1624 if (yych != ' ') goto yy56;
1625 yych = *++YYCURSOR;
1626 if (yych <= '/') goto yy56;
1627- if (yych <= '1') goto yy1324;
1628- if (yych <= '2') goto yy1325;
1629- if (yych <= '9') goto yy1326;
1630+ if (yych <= '1') goto yy1325;
1631+ if (yych <= '2') goto yy1326;
1632+ if (yych <= '9') goto yy1327;
1633 goto yy56;
1634-yy1324:
1635- yyaccept = 27;
1636- yych = *(YYMARKER = ++YYCURSOR);
1637- if (yych <= '/') goto yy1327;
1638- if (yych <= '9') goto yy1326;
1639- goto yy1327;
1640 yy1325:
1641 yyaccept = 27;
1642 yych = *(YYMARKER = ++YYCURSOR);
1643- if (yych <= '/') goto yy1327;
1644- if (yych >= '5') goto yy1327;
1645+ if (yych <= '@') {
1646+ if (yych <= 0x1F) {
1647+ if (yych == '\t') goto yy1328;
1648+ goto yy1284;
1649+ } else {
1650+ if (yych <= ' ') goto yy1328;
1651+ if (yych <= '/') goto yy1284;
1652+ if (yych <= '9') goto yy1327;
1653+ goto yy1284;
1654+ }
1655+ } else {
1656+ if (yych <= '`') {
1657+ if (yych <= 'A') goto yy1330;
1658+ if (yych == 'P') goto yy1330;
1659+ goto yy1284;
1660+ } else {
1661+ if (yych <= 'a') goto yy1330;
1662+ if (yych == 'p') goto yy1330;
1663+ goto yy1284;
1664+ }
1665+ }
1666 yy1326:
1667 yyaccept = 27;
1668- YYMARKER = ++YYCURSOR;
1669- if ((YYLIMIT - YYCURSOR) < 5) YYFILL(5);
1670- yych = *YYCURSOR;
1671+ yych = *(YYMARKER = ++YYCURSOR);
1672+ if (yych <= '@') {
1673+ if (yych <= 0x1F) {
1674+ if (yych == '\t') goto yy1328;
1675+ goto yy1284;
1676+ } else {
1677+ if (yych <= ' ') goto yy1328;
1678+ if (yych <= '/') goto yy1284;
1679+ if (yych >= '5') goto yy1284;
1680+ }
1681+ } else {
1682+ if (yych <= '`') {
1683+ if (yych <= 'A') goto yy1330;
1684+ if (yych == 'P') goto yy1330;
1685+ goto yy1284;
1686+ } else {
1687+ if (yych <= 'a') goto yy1330;
1688+ if (yych == 'p') goto yy1330;
1689+ goto yy1284;
1690+ }
1691+ }
1692 yy1327:
1693+ yyaccept = 27;
1694+ yych = *(YYMARKER = ++YYCURSOR);
1695 if (yych <= 'A') {
1696 if (yych <= 0x1F) {
1697- if (yych == '\t') goto yy1326;
1698- goto yy1284;
1699+ if (yych != '\t') goto yy1284;
1700 } else {
1701- if (yych <= ' ') goto yy1326;
1702+ if (yych <= ' ') goto yy1328;
1703 if (yych <= '@') goto yy1284;
1704+ goto yy1330;
1705 }
1706 } else {
1707 if (yych <= '`') {
1708- if (yych != 'P') goto yy1284;
1709+ if (yych == 'P') goto yy1330;
1710+ goto yy1284;
1711 } else {
1712- if (yych <= 'a') goto yy1328;
1713- if (yych != 'p') goto yy1284;
1714+ if (yych <= 'a') goto yy1330;
1715+ if (yych == 'p') goto yy1330;
1716+ goto yy1284;
1717 }
1718 }
1719 yy1328:
1720+ ++YYCURSOR;
1721+ if ((YYLIMIT - YYCURSOR) < 5) YYFILL(5);
1722+ yych = *YYCURSOR;
1723+ if (yych <= 'A') {
1724+ if (yych <= 0x1F) {
1725+ if (yych == '\t') goto yy1328;
1726+ goto yy56;
1727+ } else {
1728+ if (yych <= ' ') goto yy1328;
1729+ if (yych <= '@') goto yy56;
1730+ }
1731+ } else {
1732+ if (yych <= '`') {
1733+ if (yych != 'P') goto yy56;
1734+ } else {
1735+ if (yych <= 'a') goto yy1330;
1736+ if (yych != 'p') goto yy56;
1737+ }
1738+ }
1739+yy1330:
1740 yych = *++YYCURSOR;
1741 if (yych <= 'L') {
1742 if (yych != '.') goto yy56;
1743 } else {
1744- if (yych <= 'M') goto yy1330;
1745- if (yych == 'm') goto yy1330;
1746+ if (yych <= 'M') goto yy1332;
1747+ if (yych == 'm') goto yy1332;
1748 goto yy56;
1749 }
1750 yych = *++YYCURSOR;
1751- if (yych == 'M') goto yy1330;
1752+ if (yych == 'M') goto yy1332;
1753 if (yych != 'm') goto yy56;
1754-yy1330:
1755+yy1332:
1756 yych = *++YYCURSOR;
1757 if (yych <= 0x1F) {
1758- if (yych <= 0x00) goto yy1292;
1759- if (yych == '\t') goto yy1292;
1760+ if (yych <= 0x00) goto yy1293;
1761+ if (yych == '\t') goto yy1293;
1762 goto yy56;
1763 } else {
1764- if (yych <= ' ') goto yy1292;
1765+ if (yych <= ' ') goto yy1293;
1766 if (yych != '.') goto yy56;
1767 }
1768 yych = *++YYCURSOR;
1769 if (yych <= '\t') {
1770- if (yych <= 0x00) goto yy1292;
1771+ if (yych <= 0x00) goto yy1293;
1772 if (yych <= 0x08) goto yy56;
1773- goto yy1292;
1774+ goto yy1293;
1775 } else {
1776- if (yych == ' ') goto yy1292;
1777+ if (yych == ' ') goto yy1293;
1778 goto yy56;
1779 }
1780-yy1332:
1781+yy1334:
1782 yych = *++YYCURSOR;
1783 if (yych <= 'R') {
1784 if (yych <= ')') {
1785@@ -18877,12 +19068,12 @@ yy1332:
1786 if (yych <= '`') goto yy3;
1787 goto yy167;
1788 } else {
1789- if (yych <= 'r') goto yy1333;
1790+ if (yych <= 'r') goto yy1335;
1791 if (yych <= 'z') goto yy167;
1792 goto yy3;
1793 }
1794 }
1795-yy1333:
1796+yy1335:
1797 yych = *++YYCURSOR;
1798 if (yych <= 'T') {
1799 if (yych <= ')') {
1800@@ -18898,12 +19089,12 @@ yy1333:
1801 if (yych <= '`') goto yy3;
1802 goto yy168;
1803 } else {
1804- if (yych <= 't') goto yy1334;
1805+ if (yych <= 't') goto yy1336;
1806 if (yych <= 'z') goto yy168;
1807 goto yy3;
1808 }
1809 }
1810-yy1334:
1811+yy1336:
1812 yych = *++YYCURSOR;
1813 if (yych <= 'H') {
1814 if (yych <= ')') {
1815@@ -18925,7 +19116,7 @@ yy1334:
1816 goto yy3;
1817 }
1818 }
1819-yy1335:
1820+yy1337:
1821 yych = *++YYCURSOR;
1822 if (yych <= 'S') {
1823 if (yych <= ')') {
1824@@ -18934,7 +19125,7 @@ yy1335:
1825 } else {
1826 if (yych <= '@') goto yy3;
1827 if (yych <= 'R') goto yy167;
1828- goto yy1338;
1829+ goto yy1340;
1830 }
1831 } else {
1832 if (yych <= 'r') {
1833@@ -18942,12 +19133,12 @@ yy1335:
1834 if (yych <= '`') goto yy3;
1835 goto yy167;
1836 } else {
1837- if (yych <= 's') goto yy1338;
1838+ if (yych <= 's') goto yy1340;
1839 if (yych <= 'z') goto yy167;
1840 goto yy3;
1841 }
1842 }
1843-yy1336:
1844+yy1338:
1845 yych = *++YYCURSOR;
1846 if (yych <= 'T') {
1847 if (yych <= ')') {
1848@@ -18963,12 +19154,12 @@ yy1336:
1849 if (yych <= '`') goto yy3;
1850 goto yy167;
1851 } else {
1852- if (yych <= 't') goto yy1337;
1853+ if (yych <= 't') goto yy1339;
1854 if (yych <= 'z') goto yy167;
1855 goto yy3;
1856 }
1857 }
1858-yy1337:
1859+yy1339:
1860 yych = *++YYCURSOR;
1861 if (yych <= 'H') {
1862 if (yych <= ')') {
1863@@ -18990,7 +19181,7 @@ yy1337:
1864 goto yy3;
1865 }
1866 }
1867-yy1338:
1868+yy1340:
1869 yych = *++YYCURSOR;
1870 if (yych <= 'T') {
1871 if (yych <= ')') {
1872@@ -19006,12 +19197,12 @@ yy1338:
1873 if (yych <= '`') goto yy3;
1874 goto yy168;
1875 } else {
1876- if (yych <= 't') goto yy1339;
1877+ if (yych <= 't') goto yy1341;
1878 if (yych <= 'z') goto yy168;
1879 goto yy3;
1880 }
1881 }
1882-yy1339:
1883+yy1341:
1884 yyaccept = 0;
1885 yych = *(YYMARKER = ++YYCURSOR);
1886 if (yych <= '(') {
1887@@ -19032,19 +19223,19 @@ yy1339:
1888 goto yy3;
1889 }
1890 }
1891-yy1340:
1892+yy1342:
1893 yych = *++YYCURSOR;
1894- if (yych == 'D') goto yy1341;
1895+ if (yych == 'D') goto yy1343;
1896 if (yych != 'd') goto yy1197;
1897-yy1341:
1898+yy1343:
1899 yych = *++YYCURSOR;
1900- if (yych == 'A') goto yy1342;
1901+ if (yych == 'A') goto yy1344;
1902 if (yych != 'a') goto yy56;
1903-yy1342:
1904+yy1344:
1905 yych = *++YYCURSOR;
1906- if (yych == 'Y') goto yy1343;
1907+ if (yych == 'Y') goto yy1345;
1908 if (yych != 'y') goto yy56;
1909-yy1343:
1910+yy1345:
1911 yyaccept = 25;
1912 yych = *(YYMARKER = ++YYCURSOR);
1913 if (yych <= 'R') {
1914@@ -19055,14 +19246,14 @@ yy1343:
1915 goto yy1084;
1916 }
1917 yych = *++YYCURSOR;
1918- if (yych == 'O') goto yy1345;
1919+ if (yych == 'O') goto yy1347;
1920 if (yych != 'o') goto yy56;
1921-yy1345:
1922+yy1347:
1923 yych = *++YYCURSOR;
1924- if (yych == 'F') goto yy1305;
1925- if (yych == 'f') goto yy1305;
1926+ if (yych == 'F') goto yy1306;
1927+ if (yych == 'f') goto yy1306;
1928 goto yy56;
1929-yy1346:
1930+yy1348:
1931 yyaccept = 5;
1932 yych = *(YYMARKER = ++YYCURSOR);
1933 if (yych <= '/') {
1934@@ -19097,13 +19288,13 @@ yy1346:
1935 if (yych <= '`') goto yy218;
1936 goto yy167;
1937 } else {
1938- if (yych <= 'r') goto yy1347;
1939+ if (yych <= 'r') goto yy1349;
1940 if (yych <= 'z') goto yy167;
1941 goto yy218;
1942 }
1943 }
1944 }
1945-yy1347:
1946+yy1349:
1947 yych = *++YYCURSOR;
1948 if (yych <= 'U') {
1949 if (yych <= ')') {
1950@@ -19119,12 +19310,12 @@ yy1347:
1951 if (yych <= '`') goto yy3;
1952 goto yy168;
1953 } else {
1954- if (yych <= 'u') goto yy1348;
1955+ if (yych <= 'u') goto yy1350;
1956 if (yych <= 'z') goto yy168;
1957 goto yy3;
1958 }
1959 }
1960-yy1348:
1961+yy1350:
1962 yych = *++YYCURSOR;
1963 if (yych <= 'A') {
1964 if (yych == ')') goto yy164;
1965@@ -19134,27 +19325,27 @@ yy1348:
1966 if (yych <= 'Z') goto yy169;
1967 goto yy3;
1968 } else {
1969- if (yych <= 'a') goto yy1349;
1970+ if (yych <= 'a') goto yy1351;
1971 if (yych <= 'z') goto yy169;
1972 goto yy3;
1973 }
1974 }
1975-yy1349:
1976+yy1351:
1977 yyaccept = 0;
1978 yych = *(YYMARKER = ++YYCURSOR);
1979 if (yych <= 'Q') {
1980 if (yych == ')') goto yy164;
1981 goto yy3;
1982 } else {
1983- if (yych <= 'R') goto yy1350;
1984+ if (yych <= 'R') goto yy1352;
1985 if (yych != 'r') goto yy3;
1986 }
1987-yy1350:
1988+yy1352:
1989 yych = *++YYCURSOR;
1990 if (yych == 'Y') goto yy229;
1991 if (yych == 'y') goto yy229;
1992 goto yy56;
1993-yy1351:
1994+yy1353:
1995 yyaccept = 0;
1996 yych = *(YYMARKER = ++YYCURSOR);
1997 if (yych <= 'A') {
1998@@ -19169,7 +19360,7 @@ yy1351:
1999 }
2000 } else {
2001 if (yych <= '_') {
2002- if (yych <= 'B') goto yy1346;
2003+ if (yych <= 'B') goto yy1348;
2004 if (yych <= 'Z') goto yy166;
2005 if (yych <= '^') goto yy3;
2006 goto yy172;
2007@@ -19178,13 +19369,13 @@ yy1351:
2008 if (yych <= '`') goto yy3;
2009 goto yy171;
2010 } else {
2011- if (yych <= 'b') goto yy1369;
2012+ if (yych <= 'b') goto yy1371;
2013 if (yych <= 'z') goto yy171;
2014 goto yy3;
2015 }
2016 }
2017 }
2018-yy1352:
2019+yy1354:
2020 yyaccept = 0;
2021 yych = *(YYMARKER = ++YYCURSOR);
2022 if (yych <= 'Q') {
2023@@ -19201,14 +19392,14 @@ yy1352:
2024 if (yych <= '/') goto yy172;
2025 goto yy3;
2026 } else {
2027- if (yych == 'F') goto yy1336;
2028+ if (yych == 'F') goto yy1338;
2029 goto yy166;
2030 }
2031 }
2032 } else {
2033 if (yych <= '`') {
2034 if (yych <= 'Z') {
2035- if (yych <= 'R') goto yy1335;
2036+ if (yych <= 'R') goto yy1337;
2037 goto yy166;
2038 } else {
2039 if (yych == '_') goto yy172;
2040@@ -19216,16 +19407,16 @@ yy1352:
2041 }
2042 } else {
2043 if (yych <= 'q') {
2044- if (yych == 'f') goto yy1365;
2045+ if (yych == 'f') goto yy1367;
2046 goto yy171;
2047 } else {
2048- if (yych <= 'r') goto yy1364;
2049+ if (yych <= 'r') goto yy1366;
2050 if (yych <= 'z') goto yy171;
2051 goto yy3;
2052 }
2053 }
2054 }
2055-yy1353:
2056+yy1355:
2057 yyaccept = 0;
2058 yych = *(YYMARKER = ++YYCURSOR);
2059 if (yych <= 'T') {
2060@@ -19240,7 +19431,7 @@ yy1353:
2061 }
2062 } else {
2063 if (yych <= '_') {
2064- if (yych <= 'U') goto yy1332;
2065+ if (yych <= 'U') goto yy1334;
2066 if (yych <= 'Z') goto yy166;
2067 if (yych <= '^') goto yy3;
2068 goto yy172;
2069@@ -19249,13 +19440,13 @@ yy1353:
2070 if (yych <= '`') goto yy3;
2071 goto yy171;
2072 } else {
2073- if (yych <= 'u') goto yy1361;
2074+ if (yych <= 'u') goto yy1363;
2075 if (yych <= 'z') goto yy171;
2076 goto yy3;
2077 }
2078 }
2079 }
2080-yy1354:
2081+yy1356:
2082 yyaccept = 0;
2083 yych = *(YYMARKER = ++YYCURSOR);
2084 if (yych <= 'N') {
2085@@ -19272,14 +19463,14 @@ yy1354:
2086 if (yych <= '/') goto yy172;
2087 goto yy3;
2088 } else {
2089- if (yych == 'I') goto yy1315;
2090+ if (yych == 'I') goto yy1316;
2091 goto yy166;
2092 }
2093 }
2094 } else {
2095 if (yych <= '`') {
2096 if (yych <= 'Z') {
2097- if (yych <= 'O') goto yy1314;
2098+ if (yych <= 'O') goto yy1315;
2099 goto yy166;
2100 } else {
2101 if (yych == '_') goto yy172;
2102@@ -19287,16 +19478,16 @@ yy1354:
2103 }
2104 } else {
2105 if (yych <= 'n') {
2106- if (yych == 'i') goto yy1356;
2107+ if (yych == 'i') goto yy1358;
2108 goto yy171;
2109 } else {
2110- if (yych <= 'o') goto yy1355;
2111+ if (yych <= 'o') goto yy1357;
2112 if (yych <= 'z') goto yy171;
2113 goto yy3;
2114 }
2115 }
2116 }
2117-yy1355:
2118+yy1357:
2119 yyaccept = 0;
2120 yych = *(YYMARKER = ++YYCURSOR);
2121 if (yych <= 'M') {
2122@@ -19311,7 +19502,7 @@ yy1355:
2123 }
2124 } else {
2125 if (yych <= '_') {
2126- if (yych <= 'N') goto yy1318;
2127+ if (yych <= 'N') goto yy1319;
2128 if (yych <= 'Z') goto yy167;
2129 if (yych <= '^') goto yy3;
2130 goto yy172;
2131@@ -19320,13 +19511,13 @@ yy1355:
2132 if (yych <= '`') goto yy3;
2133 goto yy175;
2134 } else {
2135- if (yych <= 'n') goto yy1359;
2136+ if (yych <= 'n') goto yy1361;
2137 if (yych <= 'z') goto yy175;
2138 goto yy3;
2139 }
2140 }
2141 }
2142-yy1356:
2143+yy1358:
2144 yyaccept = 4;
2145 yych = *(YYMARKER = ++YYCURSOR);
2146 if (yych <= 'C') {
2147@@ -19341,7 +19532,7 @@ yy1356:
2148 }
2149 } else {
2150 if (yych <= '_') {
2151- if (yych <= 'D') goto yy1316;
2152+ if (yych <= 'D') goto yy1317;
2153 if (yych <= 'Z') goto yy167;
2154 if (yych <= '^') goto yy191;
2155 goto yy172;
2156@@ -19350,13 +19541,13 @@ yy1356:
2157 if (yych <= '`') goto yy191;
2158 goto yy175;
2159 } else {
2160- if (yych <= 'd') goto yy1357;
2161+ if (yych <= 'd') goto yy1359;
2162 if (yych <= 'z') goto yy175;
2163 goto yy191;
2164 }
2165 }
2166 }
2167-yy1357:
2168+yy1359:
2169 yyaccept = 0;
2170 yych = *(YYMARKER = ++YYCURSOR);
2171 if (yych <= '@') {
2172@@ -19370,18 +19561,18 @@ yy1357:
2173 }
2174 } else {
2175 if (yych <= '_') {
2176- if (yych <= 'A') goto yy1317;
2177+ if (yych <= 'A') goto yy1318;
2178 if (yych <= 'Z') goto yy168;
2179 if (yych <= '^') goto yy3;
2180 goto yy172;
2181 } else {
2182 if (yych <= '`') goto yy3;
2183- if (yych <= 'a') goto yy1358;
2184+ if (yych <= 'a') goto yy1360;
2185 if (yych <= 'z') goto yy176;
2186 goto yy3;
2187 }
2188 }
2189-yy1358:
2190+yy1360:
2191 yyaccept = 0;
2192 yych = *(YYMARKER = ++YYCURSOR);
2193 if (yych <= 'X') {
2194@@ -19411,7 +19602,7 @@ yy1358:
2195 }
2196 }
2197 }
2198-yy1359:
2199+yy1361:
2200 yyaccept = 0;
2201 yych = *(YYMARKER = ++YYCURSOR);
2202 if (yych <= 'S') {
2203@@ -19426,7 +19617,7 @@ yy1359:
2204 }
2205 } else {
2206 if (yych <= '_') {
2207- if (yych <= 'T') goto yy1319;
2208+ if (yych <= 'T') goto yy1320;
2209 if (yych <= 'Z') goto yy168;
2210 if (yych <= '^') goto yy3;
2211 goto yy172;
2212@@ -19435,18 +19626,18 @@ yy1359:
2213 if (yych <= '`') goto yy3;
2214 goto yy176;
2215 } else {
2216- if (yych <= 't') goto yy1360;
2217+ if (yych <= 't') goto yy1362;
2218 if (yych <= 'z') goto yy176;
2219 goto yy3;
2220 }
2221 }
2222 }
2223-yy1360:
2224+yy1362:
2225 yyaccept = 0;
2226 yych = *(YYMARKER = ++YYCURSOR);
2227 if (yych <= '.') {
2228 if (yych <= '(') {
2229- if (yych == ' ') goto yy1320;
2230+ if (yych == ' ') goto yy1321;
2231 goto yy3;
2232 } else {
2233 if (yych <= ')') goto yy164;
2234@@ -19466,7 +19657,7 @@ yy1360:
2235 goto yy3;
2236 }
2237 }
2238-yy1361:
2239+yy1363:
2240 yyaccept = 0;
2241 yych = *(YYMARKER = ++YYCURSOR);
2242 if (yych <= 'Q') {
2243@@ -19481,7 +19672,7 @@ yy1361:
2244 }
2245 } else {
2246 if (yych <= '_') {
2247- if (yych <= 'R') goto yy1333;
2248+ if (yych <= 'R') goto yy1335;
2249 if (yych <= 'Z') goto yy167;
2250 if (yych <= '^') goto yy3;
2251 goto yy172;
2252@@ -19490,13 +19681,13 @@ yy1361:
2253 if (yych <= '`') goto yy3;
2254 goto yy175;
2255 } else {
2256- if (yych <= 'r') goto yy1362;
2257+ if (yych <= 'r') goto yy1364;
2258 if (yych <= 'z') goto yy175;
2259 goto yy3;
2260 }
2261 }
2262 }
2263-yy1362:
2264+yy1364:
2265 yyaccept = 0;
2266 yych = *(YYMARKER = ++YYCURSOR);
2267 if (yych <= 'S') {
2268@@ -19511,7 +19702,7 @@ yy1362:
2269 }
2270 } else {
2271 if (yych <= '_') {
2272- if (yych <= 'T') goto yy1334;
2273+ if (yych <= 'T') goto yy1336;
2274 if (yych <= 'Z') goto yy168;
2275 if (yych <= '^') goto yy3;
2276 goto yy172;
2277@@ -19520,13 +19711,13 @@ yy1362:
2278 if (yych <= '`') goto yy3;
2279 goto yy176;
2280 } else {
2281- if (yych <= 't') goto yy1363;
2282+ if (yych <= 't') goto yy1365;
2283 if (yych <= 'z') goto yy176;
2284 goto yy3;
2285 }
2286 }
2287 }
2288-yy1363:
2289+yy1365:
2290 yyaccept = 0;
2291 yych = *(YYMARKER = ++YYCURSOR);
2292 if (yych <= 'G') {
2293@@ -19556,7 +19747,7 @@ yy1363:
2294 }
2295 }
2296 }
2297-yy1364:
2298+yy1366:
2299 yyaccept = 0;
2300 yych = *(YYMARKER = ++YYCURSOR);
2301 if (yych <= 'R') {
2302@@ -19571,7 +19762,7 @@ yy1364:
2303 }
2304 } else {
2305 if (yych <= '_') {
2306- if (yych <= 'S') goto yy1338;
2307+ if (yych <= 'S') goto yy1340;
2308 if (yych <= 'Z') goto yy167;
2309 if (yych <= '^') goto yy3;
2310 goto yy172;
2311@@ -19580,13 +19771,13 @@ yy1364:
2312 if (yych <= '`') goto yy3;
2313 goto yy175;
2314 } else {
2315- if (yych <= 's') goto yy1367;
2316+ if (yych <= 's') goto yy1369;
2317 if (yych <= 'z') goto yy175;
2318 goto yy3;
2319 }
2320 }
2321 }
2322-yy1365:
2323+yy1367:
2324 yyaccept = 0;
2325 yych = *(YYMARKER = ++YYCURSOR);
2326 if (yych <= 'S') {
2327@@ -19601,7 +19792,7 @@ yy1365:
2328 }
2329 } else {
2330 if (yych <= '_') {
2331- if (yych <= 'T') goto yy1337;
2332+ if (yych <= 'T') goto yy1339;
2333 if (yych <= 'Z') goto yy167;
2334 if (yych <= '^') goto yy3;
2335 goto yy172;
2336@@ -19610,13 +19801,13 @@ yy1365:
2337 if (yych <= '`') goto yy3;
2338 goto yy175;
2339 } else {
2340- if (yych <= 't') goto yy1366;
2341+ if (yych <= 't') goto yy1368;
2342 if (yych <= 'z') goto yy175;
2343 goto yy3;
2344 }
2345 }
2346 }
2347-yy1366:
2348+yy1368:
2349 yyaccept = 0;
2350 yych = *(YYMARKER = ++YYCURSOR);
2351 if (yych <= 'G') {
2352@@ -19646,7 +19837,7 @@ yy1366:
2353 }
2354 }
2355 }
2356-yy1367:
2357+yy1369:
2358 yyaccept = 0;
2359 yych = *(YYMARKER = ++YYCURSOR);
2360 if (yych <= 'S') {
2361@@ -19661,7 +19852,7 @@ yy1367:
2362 }
2363 } else {
2364 if (yych <= '_') {
2365- if (yych <= 'T') goto yy1339;
2366+ if (yych <= 'T') goto yy1341;
2367 if (yych <= 'Z') goto yy168;
2368 if (yych <= '^') goto yy3;
2369 goto yy172;
2370@@ -19670,20 +19861,20 @@ yy1367:
2371 if (yych <= '`') goto yy3;
2372 goto yy176;
2373 } else {
2374- if (yych <= 't') goto yy1368;
2375+ if (yych <= 't') goto yy1370;
2376 if (yych <= 'z') goto yy176;
2377 goto yy3;
2378 }
2379 }
2380 }
2381-yy1368:
2382+yy1370:
2383 yyaccept = 0;
2384 yych = *(YYMARKER = ++YYCURSOR);
2385 if (yych <= '-') {
2386 if (yych <= ' ') {
2387 if (yych == '\t') goto yy1196;
2388 if (yych <= 0x1F) goto yy3;
2389- goto yy1340;
2390+ goto yy1342;
2391 } else {
2392 if (yych == ')') goto yy164;
2393 if (yych <= ',') goto yy3;
2394@@ -19705,7 +19896,7 @@ yy1368:
2395 }
2396 }
2397 }
2398-yy1369:
2399+yy1371:
2400 yyaccept = 5;
2401 yych = *(YYMARKER = ++YYCURSOR);
2402 if (yych <= '9') {
2403@@ -19733,7 +19924,7 @@ yy1369:
2404 if (yych <= '@') goto yy218;
2405 goto yy167;
2406 } else {
2407- if (yych <= 'R') goto yy1347;
2408+ if (yych <= 'R') goto yy1349;
2409 if (yych <= 'Z') goto yy167;
2410 goto yy218;
2411 }
2412@@ -19743,13 +19934,13 @@ yy1369:
2413 if (yych <= '`') goto yy218;
2414 goto yy175;
2415 } else {
2416- if (yych <= 'r') goto yy1370;
2417+ if (yych <= 'r') goto yy1372;
2418 if (yych <= 'z') goto yy175;
2419 goto yy218;
2420 }
2421 }
2422 }
2423-yy1370:
2424+yy1372:
2425 yyaccept = 0;
2426 yych = *(YYMARKER = ++YYCURSOR);
2427 if (yych <= 'T') {
2428@@ -19764,7 +19955,7 @@ yy1370:
2429 }
2430 } else {
2431 if (yych <= '_') {
2432- if (yych <= 'U') goto yy1348;
2433+ if (yych <= 'U') goto yy1350;
2434 if (yych <= 'Z') goto yy168;
2435 if (yych <= '^') goto yy3;
2436 goto yy172;
2437@@ -19773,13 +19964,13 @@ yy1370:
2438 if (yych <= '`') goto yy3;
2439 goto yy176;
2440 } else {
2441- if (yych <= 'u') goto yy1371;
2442+ if (yych <= 'u') goto yy1373;
2443 if (yych <= 'z') goto yy176;
2444 goto yy3;
2445 }
2446 }
2447 }
2448-yy1371:
2449+yy1373:
2450 yyaccept = 0;
2451 yych = *(YYMARKER = ++YYCURSOR);
2452 if (yych <= '@') {
2453@@ -19793,18 +19984,18 @@ yy1371:
2454 }
2455 } else {
2456 if (yych <= '_') {
2457- if (yych <= 'A') goto yy1349;
2458+ if (yych <= 'A') goto yy1351;
2459 if (yych <= 'Z') goto yy169;
2460 if (yych <= '^') goto yy3;
2461 goto yy172;
2462 } else {
2463 if (yych <= '`') goto yy3;
2464- if (yych <= 'a') goto yy1372;
2465+ if (yych <= 'a') goto yy1374;
2466 if (yych <= 'z') goto yy177;
2467 goto yy3;
2468 }
2469 }
2470-yy1372:
2471+yy1374:
2472 yyaccept = 0;
2473 yych = *(YYMARKER = ++YYCURSOR);
2474 if (yych <= 'Q') {
2475@@ -19818,33 +20009,34 @@ yy1372:
2476 }
2477 } else {
2478 if (yych <= '`') {
2479- if (yych <= 'R') goto yy1350;
2480+ if (yych <= 'R') goto yy1352;
2481 if (yych == '_') goto yy172;
2482 goto yy3;
2483 } else {
2484- if (yych == 'r') goto yy1373;
2485+ if (yych == 'r') goto yy1375;
2486 if (yych <= 'z') goto yy178;
2487 goto yy3;
2488 }
2489 }
2490-yy1373:
2491+yy1375:
2492 yych = *++YYCURSOR;
2493 if (yych == 'Y') goto yy229;
2494 if (yych == 'y') goto yy341;
2495 goto yy179;
2496-yy1374:
2497+yy1376:
2498 yych = *++YYCURSOR;
2499 if (yych <= '/') goto yy56;
2500 if (yych >= ':') goto yy56;
2501-yy1375:
2502+yy1377:
2503 yyaccept = 28;
2504 YYMARKER = ++YYCURSOR;
2505 if ((YYLIMIT - YYCURSOR) < 7) YYFILL(7);
2506 yych = *YYCURSOR;
2507- if (yych == '.') goto yy1378;
2508- if (yych <= '/') goto yy1377;
2509- if (yych <= '9') goto yy1375;
2510-yy1377:
2511+ if (yych == '.') goto yy1380;
2512+ if (yych <= '/') goto yy1379;
2513+ if (yych <= '9') goto yy1377;
2514+yy1379:
2515+#line 1025 "ext/date/lib/parse_date.re"
2516 {
2517 timelib_ull i;
2518
2519@@ -19869,7 +20061,8 @@ yy1377:
2520 TIMELIB_DEINIT;
2521 return TIMELIB_RELATIVE;
2522 }
2523-yy1378:
2524+#line 20065 "ext/date/lib/parse_date.c"
2525+yy1380:
2526 yych = *++YYCURSOR;
2527 if (yych <= '/') goto yy56;
2528 if (yych >= ':') goto yy56;
2529@@ -19889,6 +20082,7 @@ yy1378:
2530 if (yych <= '/') goto yy56;
2531 if (yych >= ':') goto yy56;
2532 ++YYCURSOR;
2533+#line 1051 "ext/date/lib/parse_date.re"
2534 {
2535 timelib_ull i, ms;
2536
2537@@ -19915,7 +20109,8 @@ yy1378:
2538 TIMELIB_DEINIT;
2539 return TIMELIB_RELATIVE;
2540 }
2541-yy1386:
2542+#line 20113 "ext/date/lib/parse_date.c"
2543+yy1388:
2544 yych = *++YYCURSOR;
2545 if (yych <= 'N') {
2546 if (yych <= ')') {
2547@@ -19924,7 +20119,7 @@ yy1386:
2548 } else {
2549 if (yych <= '@') goto yy3;
2550 if (yych <= 'M') goto yy166;
2551- goto yy1427;
2552+ goto yy1429;
2553 }
2554 } else {
2555 if (yych <= 'm') {
2556@@ -19932,58 +20127,58 @@ yy1386:
2557 if (yych <= '`') goto yy3;
2558 goto yy166;
2559 } else {
2560- if (yych <= 'n') goto yy1427;
2561+ if (yych <= 'n') goto yy1429;
2562 if (yych <= 'z') goto yy166;
2563 goto yy3;
2564 }
2565 }
2566-yy1387:
2567+yy1389:
2568 yych = *++YYCURSOR;
2569 if (yych <= 'U') {
2570 if (yych <= '@') {
2571 if (yych == ')') goto yy164;
2572 goto yy3;
2573 } else {
2574- if (yych == 'I') goto yy1419;
2575+ if (yych == 'I') goto yy1421;
2576 if (yych <= 'T') goto yy166;
2577- goto yy1420;
2578+ goto yy1422;
2579 }
2580 } else {
2581 if (yych <= 'i') {
2582 if (yych <= 'Z') goto yy166;
2583 if (yych <= '`') goto yy3;
2584 if (yych <= 'h') goto yy166;
2585- goto yy1419;
2586+ goto yy1421;
2587 } else {
2588- if (yych == 'u') goto yy1420;
2589+ if (yych == 'u') goto yy1422;
2590 if (yych <= 'z') goto yy166;
2591 goto yy3;
2592 }
2593 }
2594-yy1388:
2595+yy1390:
2596 yych = *++YYCURSOR;
2597 if (yych <= 'M') {
2598 if (yych <= '@') {
2599 if (yych == ')') goto yy164;
2600 goto yy3;
2601 } else {
2602- if (yych == 'D') goto yy1408;
2603+ if (yych == 'D') goto yy1410;
2604 if (yych <= 'L') goto yy166;
2605- goto yy1409;
2606+ goto yy1411;
2607 }
2608 } else {
2609 if (yych <= 'd') {
2610 if (yych <= 'Z') goto yy166;
2611 if (yych <= '`') goto yy3;
2612 if (yych <= 'c') goto yy166;
2613- goto yy1408;
2614+ goto yy1410;
2615 } else {
2616- if (yych == 'm') goto yy1409;
2617+ if (yych == 'm') goto yy1411;
2618 if (yych <= 'z') goto yy166;
2619 goto yy3;
2620 }
2621 }
2622-yy1389:
2623+yy1391:
2624 yych = *++YYCURSOR;
2625 if (yych <= 'E') {
2626 if (yych <= ')') {
2627@@ -19992,7 +20187,7 @@ yy1389:
2628 } else {
2629 if (yych <= '@') goto yy3;
2630 if (yych <= 'D') goto yy166;
2631- goto yy1404;
2632+ goto yy1406;
2633 }
2634 } else {
2635 if (yych <= 'd') {
2636@@ -20000,12 +20195,12 @@ yy1389:
2637 if (yych <= '`') goto yy3;
2638 goto yy166;
2639 } else {
2640- if (yych <= 'e') goto yy1404;
2641+ if (yych <= 'e') goto yy1406;
2642 if (yych <= 'z') goto yy166;
2643 goto yy3;
2644 }
2645 }
2646-yy1390:
2647+yy1392:
2648 yych = *++YYCURSOR;
2649 if (yych <= 'E') {
2650 if (yych <= ')') {
2651@@ -20014,7 +20209,7 @@ yy1390:
2652 } else {
2653 if (yych <= '@') goto yy3;
2654 if (yych <= 'D') goto yy166;
2655- goto yy1400;
2656+ goto yy1402;
2657 }
2658 } else {
2659 if (yych <= 'd') {
2660@@ -20022,68 +20217,68 @@ yy1390:
2661 if (yych <= '`') goto yy3;
2662 goto yy166;
2663 } else {
2664- if (yych <= 'e') goto yy1400;
2665+ if (yych <= 'e') goto yy1402;
2666 if (yych <= 'z') goto yy166;
2667 goto yy3;
2668 }
2669 }
2670-yy1391:
2671+yy1393:
2672 yych = *++YYCURSOR;
2673 if (yych <= '/') {
2674 if (yych == '.') goto yy1029;
2675 goto yy56;
2676 } else {
2677- if (yych <= '9') goto yy1394;
2678+ if (yych <= '9') goto yy1396;
2679 if (yych <= ':') goto yy1029;
2680 goto yy56;
2681 }
2682-yy1392:
2683+yy1394:
2684 yych = *++YYCURSOR;
2685 if (yych <= '/') {
2686 if (yych == '.') goto yy1029;
2687 goto yy56;
2688 } else {
2689- if (yych <= '4') goto yy1394;
2690+ if (yych <= '4') goto yy1396;
2691 if (yych == ':') goto yy1029;
2692 goto yy56;
2693 }
2694-yy1393:
2695+yy1395:
2696 yych = *++YYCURSOR;
2697 if (yych == '.') goto yy1029;
2698 if (yych == ':') goto yy1029;
2699 goto yy56;
2700-yy1394:
2701+yy1396:
2702 yych = *++YYCURSOR;
2703 if (yych <= '/') {
2704 if (yych == '.') goto yy1029;
2705 goto yy56;
2706 } else {
2707- if (yych <= '5') goto yy1395;
2708+ if (yych <= '5') goto yy1397;
2709 if (yych == ':') goto yy1029;
2710 goto yy56;
2711 }
2712-yy1395:
2713+yy1397:
2714 yych = *++YYCURSOR;
2715 if (yych <= '/') goto yy56;
2716 if (yych >= ':') goto yy56;
2717 yyaccept = 23;
2718 yych = *(YYMARKER = ++YYCURSOR);
2719 if (yych <= '/') goto yy1032;
2720- if (yych <= '5') goto yy1397;
2721- if (yych <= '6') goto yy1398;
2722+ if (yych <= '5') goto yy1399;
2723+ if (yych <= '6') goto yy1400;
2724 goto yy1032;
2725-yy1397:
2726+yy1399:
2727 yych = *++YYCURSOR;
2728 if (yych <= '/') goto yy56;
2729- if (yych <= '9') goto yy1399;
2730+ if (yych <= '9') goto yy1401;
2731 goto yy56;
2732-yy1398:
2733+yy1400:
2734 yych = *++YYCURSOR;
2735 if (yych != '0') goto yy56;
2736-yy1399:
2737+yy1401:
2738 yych = *++YYCURSOR;
2739 goto yy1040;
2740-yy1400:
2741+yy1402:
2742 yych = *++YYCURSOR;
2743 if (yych <= 'L') {
2744 if (yych <= ')') {
2745@@ -20099,12 +20294,12 @@ yy1400:
2746 if (yych <= '`') goto yy3;
2747 goto yy167;
2748 } else {
2749- if (yych <= 'l') goto yy1401;
2750+ if (yych <= 'l') goto yy1403;
2751 if (yych <= 'z') goto yy167;
2752 goto yy3;
2753 }
2754 }
2755-yy1401:
2756+yy1403:
2757 yych = *++YYCURSOR;
2758 if (yych <= 'F') {
2759 if (yych <= ')') {
2760@@ -20120,12 +20315,12 @@ yy1401:
2761 if (yych <= '`') goto yy3;
2762 goto yy168;
2763 } else {
2764- if (yych <= 'f') goto yy1402;
2765+ if (yych <= 'f') goto yy1404;
2766 if (yych <= 'z') goto yy168;
2767 goto yy3;
2768 }
2769 }
2770-yy1402:
2771+yy1404:
2772 yych = *++YYCURSOR;
2773 if (yych <= 'T') {
2774 if (yych <= ')') {
2775@@ -20141,12 +20336,12 @@ yy1402:
2776 if (yych <= '`') goto yy3;
2777 goto yy169;
2778 } else {
2779- if (yych <= 't') goto yy1403;
2780+ if (yych <= 't') goto yy1405;
2781 if (yych <= 'z') goto yy169;
2782 goto yy3;
2783 }
2784 }
2785-yy1403:
2786+yy1405:
2787 yyaccept = 0;
2788 yych = *(YYMARKER = ++YYCURSOR);
2789 if (yych <= 'G') {
2790@@ -20157,7 +20352,7 @@ yy1403:
2791 if (yych == 'h') goto yy1195;
2792 goto yy3;
2793 }
2794-yy1404:
2795+yy1406:
2796 yych = *++YYCURSOR;
2797 if (yych <= 'S') {
2798 if (yych <= ')') {
2799@@ -20173,12 +20368,12 @@ yy1404:
2800 if (yych <= '`') goto yy191;
2801 goto yy167;
2802 } else {
2803- if (yych <= 's') goto yy1405;
2804+ if (yych <= 's') goto yy1407;
2805 if (yych <= 'z') goto yy167;
2806 goto yy191;
2807 }
2808 }
2809-yy1405:
2810+yy1407:
2811 yych = *++YYCURSOR;
2812 if (yych <= 'D') {
2813 if (yych <= ')') {
2814@@ -20194,12 +20389,12 @@ yy1405:
2815 if (yych <= '`') goto yy3;
2816 goto yy168;
2817 } else {
2818- if (yych <= 'd') goto yy1406;
2819+ if (yych <= 'd') goto yy1408;
2820 if (yych <= 'z') goto yy168;
2821 goto yy3;
2822 }
2823 }
2824-yy1406:
2825+yy1408:
2826 yych = *++YYCURSOR;
2827 if (yych <= 'A') {
2828 if (yych == ')') goto yy164;
2829@@ -20209,12 +20404,12 @@ yy1406:
2830 if (yych <= 'Z') goto yy169;
2831 goto yy3;
2832 } else {
2833- if (yych <= 'a') goto yy1407;
2834+ if (yych <= 'a') goto yy1409;
2835 if (yych <= 'z') goto yy169;
2836 goto yy3;
2837 }
2838 }
2839-yy1407:
2840+yy1409:
2841 yych = *++YYCURSOR;
2842 if (yych <= 'X') {
2843 if (yych == ')') goto yy164;
2844@@ -20224,23 +20419,23 @@ yy1407:
2845 if (yych == 'y') goto yy197;
2846 goto yy3;
2847 }
2848-yy1408:
2849+yy1410:
2850 yych = *++YYCURSOR;
2851 if (yych <= 'A') {
2852 if (yych == ')') goto yy164;
2853 if (yych <= '@') goto yy3;
2854- goto yy1416;
2855+ goto yy1418;
2856 } else {
2857 if (yych <= '`') {
2858 if (yych <= 'Z') goto yy167;
2859 goto yy3;
2860 } else {
2861- if (yych <= 'a') goto yy1416;
2862+ if (yych <= 'a') goto yy1418;
2863 if (yych <= 'z') goto yy167;
2864 goto yy3;
2865 }
2866 }
2867-yy1409:
2868+yy1411:
2869 yych = *++YYCURSOR;
2870 if (yych <= 'O') {
2871 if (yych <= ')') {
2872@@ -20256,12 +20451,12 @@ yy1409:
2873 if (yych <= '`') goto yy3;
2874 goto yy167;
2875 } else {
2876- if (yych <= 'o') goto yy1410;
2877+ if (yych <= 'o') goto yy1412;
2878 if (yych <= 'z') goto yy167;
2879 goto yy3;
2880 }
2881 }
2882-yy1410:
2883+yy1412:
2884 yych = *++YYCURSOR;
2885 if (yych <= 'R') {
2886 if (yych <= ')') {
2887@@ -20277,12 +20472,12 @@ yy1410:
2888 if (yych <= '`') goto yy3;
2889 goto yy168;
2890 } else {
2891- if (yych <= 'r') goto yy1411;
2892+ if (yych <= 'r') goto yy1413;
2893 if (yych <= 'z') goto yy168;
2894 goto yy3;
2895 }
2896 }
2897-yy1411:
2898+yy1413:
2899 yych = *++YYCURSOR;
2900 if (yych <= 'R') {
2901 if (yych <= ')') {
2902@@ -20298,28 +20493,29 @@ yy1411:
2903 if (yych <= '`') goto yy3;
2904 goto yy169;
2905 } else {
2906- if (yych <= 'r') goto yy1412;
2907+ if (yych <= 'r') goto yy1414;
2908 if (yych <= 'z') goto yy169;
2909 goto yy3;
2910 }
2911 }
2912-yy1412:
2913+yy1414:
2914 yyaccept = 0;
2915 yych = *(YYMARKER = ++YYCURSOR);
2916 if (yych <= 'N') {
2917 if (yych == ')') goto yy164;
2918 goto yy3;
2919 } else {
2920- if (yych <= 'O') goto yy1413;
2921+ if (yych <= 'O') goto yy1415;
2922 if (yych != 'o') goto yy3;
2923 }
2924-yy1413:
2925+yy1415:
2926 yych = *++YYCURSOR;
2927- if (yych == 'W') goto yy1414;
2928+ if (yych == 'W') goto yy1416;
2929 if (yych != 'w') goto yy56;
2930-yy1414:
2931+yy1416:
2932 ++YYCURSOR;
2933-yy1415:
2934+yy1417:
2935+#line 1013 "ext/date/lib/parse_date.re"
2936 {
2937 DEBUG_OUTPUT("tomorrow");
2938 TIMELIB_INIT;
2939@@ -20330,7 +20526,8 @@ yy1415:
2940 TIMELIB_DEINIT;
2941 return TIMELIB_RELATIVE;
2942 }
2943-yy1416:
2944+#line 20530 "ext/date/lib/parse_date.c"
2945+yy1418:
2946 yych = *++YYCURSOR;
2947 if (yych <= 'Y') {
2948 if (yych <= ')') {
2949@@ -20346,21 +20543,22 @@ yy1416:
2950 if (yych <= '`') goto yy3;
2951 goto yy168;
2952 } else {
2953- if (yych <= 'y') goto yy1417;
2954+ if (yych <= 'y') goto yy1419;
2955 if (yych <= 'z') goto yy168;
2956 goto yy3;
2957 }
2958 }
2959-yy1417:
2960+yy1419:
2961 ++YYCURSOR;
2962 if ((yych = *YYCURSOR) <= '@') {
2963 if (yych == ')') goto yy164;
2964 } else {
2965 if (yych <= 'Z') goto yy169;
2966- if (yych <= '`') goto yy1418;
2967+ if (yych <= '`') goto yy1420;
2968 if (yych <= 'z') goto yy169;
2969 }
2970-yy1418:
2971+yy1420:
2972+#line 1003 "ext/date/lib/parse_date.re"
2973 {
2974 DEBUG_OUTPUT("midnight | today");
2975 TIMELIB_INIT;
2976@@ -20369,7 +20567,8 @@ yy1418:
2977 TIMELIB_DEINIT;
2978 return TIMELIB_RELATIVE;
2979 }
2980-yy1419:
2981+#line 20571 "ext/date/lib/parse_date.c"
2982+yy1421:
2983 yych = *++YYCURSOR;
2984 if (yych <= 'S') {
2985 if (yych <= '@') {
2986@@ -20377,8 +20576,8 @@ yy1419:
2987 goto yy3;
2988 } else {
2989 if (yych <= 'Q') goto yy167;
2990- if (yych <= 'R') goto yy1425;
2991- goto yy1426;
2992+ if (yych <= 'R') goto yy1427;
2993+ goto yy1428;
2994 }
2995 } else {
2996 if (yych <= 'q') {
2997@@ -20386,13 +20585,13 @@ yy1419:
2998 if (yych <= '`') goto yy3;
2999 goto yy167;
3000 } else {
3001- if (yych <= 'r') goto yy1425;
3002- if (yych <= 's') goto yy1426;
3003+ if (yych <= 'r') goto yy1427;
3004+ if (yych <= 's') goto yy1428;
3005 if (yych <= 'z') goto yy167;
3006 goto yy3;
3007 }
3008 }
3009-yy1420:
3010+yy1422:
3011 yych = *++YYCURSOR;
3012 if (yych <= 'R') {
3013 if (yych <= ')') {
3014@@ -20408,12 +20607,12 @@ yy1420:
3015 if (yych <= '`') goto yy191;
3016 goto yy167;
3017 } else {
3018- if (yych <= 'r') goto yy1421;
3019+ if (yych <= 'r') goto yy1423;
3020 if (yych <= 'z') goto yy167;
3021 goto yy191;
3022 }
3023 }
3024-yy1421:
3025+yy1423:
3026 yych = *++YYCURSOR;
3027 if (yych <= 'S') {
3028 if (yych <= ')') {
3029@@ -20429,12 +20628,12 @@ yy1421:
3030 if (yych <= '`') goto yy3;
3031 goto yy168;
3032 } else {
3033- if (yych <= 's') goto yy1422;
3034+ if (yych <= 's') goto yy1424;
3035 if (yych <= 'z') goto yy168;
3036 goto yy3;
3037 }
3038 }
3039-yy1422:
3040+yy1424:
3041 yych = *++YYCURSOR;
3042 if (yych <= 'D') {
3043 if (yych <= ')') {
3044@@ -20450,27 +20649,27 @@ yy1422:
3045 if (yych <= '`') goto yy3;
3046 goto yy169;
3047 } else {
3048- if (yych <= 'd') goto yy1423;
3049+ if (yych <= 'd') goto yy1425;
3050 if (yych <= 'z') goto yy169;
3051 goto yy3;
3052 }
3053 }
3054-yy1423:
3055+yy1425:
3056 yyaccept = 0;
3057 yych = *(YYMARKER = ++YYCURSOR);
3058 if (yych <= '@') {
3059 if (yych == ')') goto yy164;
3060 goto yy3;
3061 } else {
3062- if (yych <= 'A') goto yy1424;
3063+ if (yych <= 'A') goto yy1426;
3064 if (yych != 'a') goto yy3;
3065 }
3066-yy1424:
3067+yy1426:
3068 yych = *++YYCURSOR;
3069 if (yych == 'Y') goto yy197;
3070 if (yych == 'y') goto yy197;
3071 goto yy56;
3072-yy1425:
3073+yy1427:
3074 yych = *++YYCURSOR;
3075 if (yych <= 'D') {
3076 if (yych <= ')') {
3077@@ -20492,7 +20691,7 @@ yy1425:
3078 goto yy3;
3079 }
3080 }
3081-yy1426:
3082+yy1428:
3083 yyaccept = 0;
3084 yych = *(YYMARKER = ++YYCURSOR);
3085 if (yych <= '(') {
3086@@ -20514,7 +20713,7 @@ yy1426:
3087 goto yy3;
3088 }
3089 }
3090-yy1427:
3091+yy1429:
3092 yych = *++YYCURSOR;
3093 if (yych <= 'T') {
3094 if (yych <= ')') {
3095@@ -20530,12 +20729,12 @@ yy1427:
3096 if (yych <= '`') goto yy3;
3097 goto yy167;
3098 } else {
3099- if (yych <= 't') goto yy1428;
3100+ if (yych <= 't') goto yy1430;
3101 if (yych <= 'z') goto yy167;
3102 goto yy3;
3103 }
3104 }
3105-yy1428:
3106+yy1430:
3107 yych = *++YYCURSOR;
3108 if (yych <= 'H') {
3109 if (yych <= ')') {
3110@@ -20557,7 +20756,7 @@ yy1428:
3111 goto yy3;
3112 }
3113 }
3114-yy1429:
3115+yy1431:
3116 yyaccept = 0;
3117 yych = *(YYMARKER = ++YYCURSOR);
3118 if (yych <= 'M') {
3119@@ -20572,7 +20771,7 @@ yy1429:
3120 }
3121 } else {
3122 if (yych <= '_') {
3123- if (yych <= 'N') goto yy1427;
3124+ if (yych <= 'N') goto yy1429;
3125 if (yych <= 'Z') goto yy166;
3126 if (yych <= '^') goto yy3;
3127 goto yy172;
3128@@ -20581,13 +20780,13 @@ yy1429:
3129 if (yych <= '`') goto yy3;
3130 goto yy171;
3131 } else {
3132- if (yych <= 'n') goto yy1459;
3133+ if (yych <= 'n') goto yy1461;
3134 if (yych <= 'z') goto yy171;
3135 goto yy3;
3136 }
3137 }
3138 }
3139-yy1430:
3140+yy1432:
3141 yyaccept = 0;
3142 yych = *(YYMARKER = ++YYCURSOR);
3143 if (yych <= 'T') {
3144@@ -20604,14 +20803,14 @@ yy1430:
3145 if (yych <= '/') goto yy172;
3146 goto yy3;
3147 } else {
3148- if (yych == 'I') goto yy1419;
3149+ if (yych == 'I') goto yy1421;
3150 goto yy166;
3151 }
3152 }
3153 } else {
3154 if (yych <= '`') {
3155 if (yych <= 'Z') {
3156- if (yych <= 'U') goto yy1420;
3157+ if (yych <= 'U') goto yy1422;
3158 goto yy166;
3159 } else {
3160 if (yych == '_') goto yy172;
3161@@ -20619,16 +20818,16 @@ yy1430:
3162 }
3163 } else {
3164 if (yych <= 't') {
3165- if (yych == 'i') goto yy1451;
3166+ if (yych == 'i') goto yy1453;
3167 goto yy171;
3168 } else {
3169- if (yych <= 'u') goto yy1452;
3170+ if (yych <= 'u') goto yy1454;
3171 if (yych <= 'z') goto yy171;
3172 goto yy3;
3173 }
3174 }
3175 }
3176-yy1431:
3177+yy1433:
3178 yyaccept = 0;
3179 yych = *(YYMARKER = ++YYCURSOR);
3180 if (yych <= 'L') {
3181@@ -20645,14 +20844,14 @@ yy1431:
3182 if (yych <= '/') goto yy172;
3183 goto yy3;
3184 } else {
3185- if (yych == 'D') goto yy1408;
3186+ if (yych == 'D') goto yy1410;
3187 goto yy166;
3188 }
3189 }
3190 } else {
3191 if (yych <= '`') {
3192 if (yych <= 'Z') {
3193- if (yych <= 'M') goto yy1409;
3194+ if (yych <= 'M') goto yy1411;
3195 goto yy166;
3196 } else {
3197 if (yych == '_') goto yy172;
3198@@ -20660,16 +20859,16 @@ yy1431:
3199 }
3200 } else {
3201 if (yych <= 'l') {
3202- if (yych == 'd') goto yy1442;
3203+ if (yych == 'd') goto yy1444;
3204 goto yy171;
3205 } else {
3206- if (yych <= 'm') goto yy1443;
3207+ if (yych <= 'm') goto yy1445;
3208 if (yych <= 'z') goto yy171;
3209 goto yy3;
3210 }
3211 }
3212 }
3213-yy1432:
3214+yy1434:
3215 yyaccept = 0;
3216 yych = *(YYMARKER = ++YYCURSOR);
3217 if (yych <= 'D') {
3218@@ -20684,7 +20883,7 @@ yy1432:
3219 }
3220 } else {
3221 if (yych <= '_') {
3222- if (yych <= 'E') goto yy1404;
3223+ if (yych <= 'E') goto yy1406;
3224 if (yych <= 'Z') goto yy166;
3225 if (yych <= '^') goto yy3;
3226 goto yy172;
3227@@ -20693,13 +20892,13 @@ yy1432:
3228 if (yych <= '`') goto yy3;
3229 goto yy171;
3230 } else {
3231- if (yych <= 'e') goto yy1438;
3232+ if (yych <= 'e') goto yy1440;
3233 if (yych <= 'z') goto yy171;
3234 goto yy3;
3235 }
3236 }
3237 }
3238-yy1433:
3239+yy1435:
3240 yyaccept = 0;
3241 yych = *(YYMARKER = ++YYCURSOR);
3242 if (yych <= 'D') {
3243@@ -20714,7 +20913,7 @@ yy1433:
3244 }
3245 } else {
3246 if (yych <= '_') {
3247- if (yych <= 'E') goto yy1400;
3248+ if (yych <= 'E') goto yy1402;
3249 if (yych <= 'Z') goto yy166;
3250 if (yych <= '^') goto yy3;
3251 goto yy172;
3252@@ -20723,13 +20922,13 @@ yy1433:
3253 if (yych <= '`') goto yy3;
3254 goto yy171;
3255 } else {
3256- if (yych <= 'e') goto yy1434;
3257+ if (yych <= 'e') goto yy1436;
3258 if (yych <= 'z') goto yy171;
3259 goto yy3;
3260 }
3261 }
3262 }
3263-yy1434:
3264+yy1436:
3265 yyaccept = 0;
3266 yych = *(YYMARKER = ++YYCURSOR);
3267 if (yych <= 'K') {
3268@@ -20744,7 +20943,7 @@ yy1434:
3269 }
3270 } else {
3271 if (yych <= '_') {
3272- if (yych <= 'L') goto yy1401;
3273+ if (yych <= 'L') goto yy1403;
3274 if (yych <= 'Z') goto yy167;
3275 if (yych <= '^') goto yy3;
3276 goto yy172;
3277@@ -20753,13 +20952,13 @@ yy1434:
3278 if (yych <= '`') goto yy3;
3279 goto yy175;
3280 } else {
3281- if (yych <= 'l') goto yy1435;
3282+ if (yych <= 'l') goto yy1437;
3283 if (yych <= 'z') goto yy175;
3284 goto yy3;
3285 }
3286 }
3287 }
3288-yy1435:
3289+yy1437:
3290 yyaccept = 0;
3291 yych = *(YYMARKER = ++YYCURSOR);
3292 if (yych <= 'E') {
3293@@ -20774,7 +20973,7 @@ yy1435:
3294 }
3295 } else {
3296 if (yych <= '_') {
3297- if (yych <= 'F') goto yy1402;
3298+ if (yych <= 'F') goto yy1404;
3299 if (yych <= 'Z') goto yy168;
3300 if (yych <= '^') goto yy3;
3301 goto yy172;
3302@@ -20783,13 +20982,13 @@ yy1435:
3303 if (yych <= '`') goto yy3;
3304 goto yy176;
3305 } else {
3306- if (yych <= 'f') goto yy1436;
3307+ if (yych <= 'f') goto yy1438;
3308 if (yych <= 'z') goto yy176;
3309 goto yy3;
3310 }
3311 }
3312 }
3313-yy1436:
3314+yy1438:
3315 yyaccept = 0;
3316 yych = *(YYMARKER = ++YYCURSOR);
3317 if (yych <= 'S') {
3318@@ -20804,7 +21003,7 @@ yy1436:
3319 }
3320 } else {
3321 if (yych <= '_') {
3322- if (yych <= 'T') goto yy1403;
3323+ if (yych <= 'T') goto yy1405;
3324 if (yych <= 'Z') goto yy169;
3325 if (yych <= '^') goto yy3;
3326 goto yy172;
3327@@ -20813,13 +21012,13 @@ yy1436:
3328 if (yych <= '`') goto yy3;
3329 goto yy177;
3330 } else {
3331- if (yych <= 't') goto yy1437;
3332+ if (yych <= 't') goto yy1439;
3333 if (yych <= 'z') goto yy177;
3334 goto yy3;
3335 }
3336 }
3337 }
3338-yy1437:
3339+yy1439:
3340 yyaccept = 0;
3341 yych = *(YYMARKER = ++YYCURSOR);
3342 if (yych <= 'G') {
3343@@ -20842,7 +21041,7 @@ yy1437:
3344 goto yy3;
3345 }
3346 }
3347-yy1438:
3348+yy1440:
3349 yyaccept = 4;
3350 yych = *(YYMARKER = ++YYCURSOR);
3351 if (yych <= 'R') {
3352@@ -20857,7 +21056,7 @@ yy1438:
3353 }
3354 } else {
3355 if (yych <= '_') {
3356- if (yych <= 'S') goto yy1405;
3357+ if (yych <= 'S') goto yy1407;
3358 if (yych <= 'Z') goto yy167;
3359 if (yych <= '^') goto yy191;
3360 goto yy172;
3361@@ -20866,13 +21065,13 @@ yy1438:
3362 if (yych <= '`') goto yy191;
3363 goto yy175;
3364 } else {
3365- if (yych <= 's') goto yy1439;
3366+ if (yych <= 's') goto yy1441;
3367 if (yych <= 'z') goto yy175;
3368 goto yy191;
3369 }
3370 }
3371 }
3372-yy1439:
3373+yy1441:
3374 yyaccept = 0;
3375 yych = *(YYMARKER = ++YYCURSOR);
3376 if (yych <= 'C') {
3377@@ -20887,7 +21086,7 @@ yy1439:
3378 }
3379 } else {
3380 if (yych <= '_') {
3381- if (yych <= 'D') goto yy1406;
3382+ if (yych <= 'D') goto yy1408;
3383 if (yych <= 'Z') goto yy168;
3384 if (yych <= '^') goto yy3;
3385 goto yy172;
3386@@ -20896,13 +21095,13 @@ yy1439:
3387 if (yych <= '`') goto yy3;
3388 goto yy176;
3389 } else {
3390- if (yych <= 'd') goto yy1440;
3391+ if (yych <= 'd') goto yy1442;
3392 if (yych <= 'z') goto yy176;
3393 goto yy3;
3394 }
3395 }
3396 }
3397-yy1440:
3398+yy1442:
3399 yyaccept = 0;
3400 yych = *(YYMARKER = ++YYCURSOR);
3401 if (yych <= '@') {
3402@@ -20916,18 +21115,18 @@ yy1440:
3403 }
3404 } else {
3405 if (yych <= '_') {
3406- if (yych <= 'A') goto yy1407;
3407+ if (yych <= 'A') goto yy1409;
3408 if (yych <= 'Z') goto yy169;
3409 if (yych <= '^') goto yy3;
3410 goto yy172;
3411 } else {
3412 if (yych <= '`') goto yy3;
3413- if (yych <= 'a') goto yy1441;
3414+ if (yych <= 'a') goto yy1443;
3415 if (yych <= 'z') goto yy177;
3416 goto yy3;
3417 }
3418 }
3419-yy1441:
3420+yy1443:
3421 yyaccept = 0;
3422 yych = *(YYMARKER = ++YYCURSOR);
3423 if (yych <= 'X') {
3424@@ -20950,7 +21149,7 @@ yy1441:
3425 goto yy3;
3426 }
3427 }
3428-yy1442:
3429+yy1444:
3430 yyaccept = 0;
3431 yych = *(YYMARKER = ++YYCURSOR);
3432 if (yych <= '@') {
3433@@ -20964,18 +21163,18 @@ yy1442:
3434 }
3435 } else {
3436 if (yych <= '_') {
3437- if (yych <= 'A') goto yy1416;
3438+ if (yych <= 'A') goto yy1418;
3439 if (yych <= 'Z') goto yy167;
3440 if (yych <= '^') goto yy3;
3441 goto yy172;
3442 } else {
3443 if (yych <= '`') goto yy3;
3444- if (yych <= 'a') goto yy1449;
3445+ if (yych <= 'a') goto yy1451;
3446 if (yych <= 'z') goto yy175;
3447 goto yy3;
3448 }
3449 }
3450-yy1443:
3451+yy1445:
3452 yyaccept = 0;
3453 yych = *(YYMARKER = ++YYCURSOR);
3454 if (yych <= 'N') {
3455@@ -20990,7 +21189,7 @@ yy1443:
3456 }
3457 } else {
3458 if (yych <= '_') {
3459- if (yych <= 'O') goto yy1410;
3460+ if (yych <= 'O') goto yy1412;
3461 if (yych <= 'Z') goto yy167;
3462 if (yych <= '^') goto yy3;
3463 goto yy172;
3464@@ -20999,13 +21198,13 @@ yy1443:
3465 if (yych <= '`') goto yy3;
3466 goto yy175;
3467 } else {
3468- if (yych <= 'o') goto yy1444;
3469+ if (yych <= 'o') goto yy1446;
3470 if (yych <= 'z') goto yy175;
3471 goto yy3;
3472 }
3473 }
3474 }
3475-yy1444:
3476+yy1446:
3477 yyaccept = 0;
3478 yych = *(YYMARKER = ++YYCURSOR);
3479 if (yych <= 'Q') {
3480@@ -21020,7 +21219,7 @@ yy1444:
3481 }
3482 } else {
3483 if (yych <= '_') {
3484- if (yych <= 'R') goto yy1411;
3485+ if (yych <= 'R') goto yy1413;
3486 if (yych <= 'Z') goto yy168;
3487 if (yych <= '^') goto yy3;
3488 goto yy172;
3489@@ -21029,13 +21228,13 @@ yy1444:
3490 if (yych <= '`') goto yy3;
3491 goto yy176;
3492 } else {
3493- if (yych <= 'r') goto yy1445;
3494+ if (yych <= 'r') goto yy1447;
3495 if (yych <= 'z') goto yy176;
3496 goto yy3;
3497 }
3498 }
3499 }
3500-yy1445:
3501+yy1447:
3502 yyaccept = 0;
3503 yych = *(YYMARKER = ++YYCURSOR);
3504 if (yych <= 'Q') {
3505@@ -21050,7 +21249,7 @@ yy1445:
3506 }
3507 } else {
3508 if (yych <= '_') {
3509- if (yych <= 'R') goto yy1412;
3510+ if (yych <= 'R') goto yy1414;
3511 if (yych <= 'Z') goto yy169;
3512 if (yych <= '^') goto yy3;
3513 goto yy172;
3514@@ -21059,13 +21258,13 @@ yy1445:
3515 if (yych <= '`') goto yy3;
3516 goto yy177;
3517 } else {
3518- if (yych <= 'r') goto yy1446;
3519+ if (yych <= 'r') goto yy1448;
3520 if (yych <= 'z') goto yy177;
3521 goto yy3;
3522 }
3523 }
3524 }
3525-yy1446:
3526+yy1448:
3527 yyaccept = 0;
3528 yych = *(YYMARKER = ++YYCURSOR);
3529 if (yych <= 'N') {
3530@@ -21079,18 +21278,18 @@ yy1446:
3531 }
3532 } else {
3533 if (yych <= '`') {
3534- if (yych <= 'O') goto yy1413;
3535+ if (yych <= 'O') goto yy1415;
3536 if (yych == '_') goto yy172;
3537 goto yy3;
3538 } else {
3539- if (yych == 'o') goto yy1447;
3540+ if (yych == 'o') goto yy1449;
3541 if (yych <= 'z') goto yy178;
3542 goto yy3;
3543 }
3544 }
3545-yy1447:
3546+yy1449:
3547 yych = *++YYCURSOR;
3548- if (yych == 'W') goto yy1414;
3549+ if (yych == 'W') goto yy1416;
3550 if (yych != 'w') goto yy179;
3551 yyaccept = 29;
3552 yych = *(YYMARKER = ++YYCURSOR);
3553@@ -21099,13 +21298,13 @@ yy1447:
3554 }
3555 if (yych <= '.') {
3556 if (yych == '-') goto yy172;
3557- goto yy1415;
3558+ goto yy1417;
3559 } else {
3560 if (yych <= '/') goto yy172;
3561 if (yych == '_') goto yy172;
3562- goto yy1415;
3563+ goto yy1417;
3564 }
3565-yy1449:
3566+yy1451:
3567 yyaccept = 0;
3568 yych = *(YYMARKER = ++YYCURSOR);
3569 if (yych <= 'X') {
3570@@ -21120,7 +21319,7 @@ yy1449:
3571 }
3572 } else {
3573 if (yych <= '_') {
3574- if (yych <= 'Y') goto yy1417;
3575+ if (yych <= 'Y') goto yy1419;
3576 if (yych <= 'Z') goto yy168;
3577 if (yych <= '^') goto yy3;
3578 goto yy172;
3579@@ -21129,36 +21328,36 @@ yy1449:
3580 if (yych <= '`') goto yy3;
3581 goto yy176;
3582 } else {
3583- if (yych <= 'y') goto yy1450;
3584+ if (yych <= 'y') goto yy1452;
3585 if (yych <= 'z') goto yy176;
3586 goto yy3;
3587 }
3588 }
3589 }
3590-yy1450:
3591+yy1452:
3592 yyaccept = 30;
3593 yych = *(YYMARKER = ++YYCURSOR);
3594 if (yych <= '/') {
3595 if (yych <= ',') {
3596 if (yych == ')') goto yy164;
3597- goto yy1418;
3598+ goto yy1420;
3599 } else {
3600- if (yych == '.') goto yy1418;
3601+ if (yych == '.') goto yy1420;
3602 goto yy172;
3603 }
3604 } else {
3605 if (yych <= '^') {
3606- if (yych <= '@') goto yy1418;
3607+ if (yych <= '@') goto yy1420;
3608 if (yych <= 'Z') goto yy169;
3609- goto yy1418;
3610+ goto yy1420;
3611 } else {
3612 if (yych <= '_') goto yy172;
3613- if (yych <= '`') goto yy1418;
3614+ if (yych <= '`') goto yy1420;
3615 if (yych <= 'z') goto yy177;
3616- goto yy1418;
3617+ goto yy1420;
3618 }
3619 }
3620-yy1451:
3621+yy1453:
3622 yyaccept = 0;
3623 yych = *(YYMARKER = ++YYCURSOR);
3624 if (yych <= 'R') {
3625@@ -21173,13 +21372,13 @@ yy1451:
3626 } else {
3627 if (yych <= '@') goto yy3;
3628 if (yych <= 'Q') goto yy167;
3629- goto yy1425;
3630+ goto yy1427;
3631 }
3632 }
3633 } else {
3634 if (yych <= '`') {
3635 if (yych <= 'Z') {
3636- if (yych <= 'S') goto yy1426;
3637+ if (yych <= 'S') goto yy1428;
3638 goto yy167;
3639 } else {
3640 if (yych == '_') goto yy172;
3641@@ -21188,15 +21387,15 @@ yy1451:
3642 } else {
3643 if (yych <= 'r') {
3644 if (yych <= 'q') goto yy175;
3645- goto yy1457;
3646+ goto yy1459;
3647 } else {
3648- if (yych <= 's') goto yy1458;
3649+ if (yych <= 's') goto yy1460;
3650 if (yych <= 'z') goto yy175;
3651 goto yy3;
3652 }
3653 }
3654 }
3655-yy1452:
3656+yy1454:
3657 yyaccept = 4;
3658 yych = *(YYMARKER = ++YYCURSOR);
3659 if (yych <= 'Q') {
3660@@ -21211,7 +21410,7 @@ yy1452:
3661 }
3662 } else {
3663 if (yych <= '_') {
3664- if (yych <= 'R') goto yy1421;
3665+ if (yych <= 'R') goto yy1423;
3666 if (yych <= 'Z') goto yy167;
3667 if (yych <= '^') goto yy191;
3668 goto yy172;
3669@@ -21220,13 +21419,13 @@ yy1452:
3670 if (yych <= '`') goto yy191;
3671 goto yy175;
3672 } else {
3673- if (yych <= 'r') goto yy1453;
3674+ if (yych <= 'r') goto yy1455;
3675 if (yych <= 'z') goto yy175;
3676 goto yy191;
3677 }
3678 }
3679 }
3680-yy1453:
3681+yy1455:
3682 yyaccept = 0;
3683 yych = *(YYMARKER = ++YYCURSOR);
3684 if (yych <= 'R') {
3685@@ -21241,7 +21440,7 @@ yy1453:
3686 }
3687 } else {
3688 if (yych <= '_') {
3689- if (yych <= 'S') goto yy1422;
3690+ if (yych <= 'S') goto yy1424;
3691 if (yych <= 'Z') goto yy168;
3692 if (yych <= '^') goto yy3;
3693 goto yy172;
3694@@ -21250,13 +21449,13 @@ yy1453:
3695 if (yych <= '`') goto yy3;
3696 goto yy176;
3697 } else {
3698- if (yych <= 's') goto yy1454;
3699+ if (yych <= 's') goto yy1456;
3700 if (yych <= 'z') goto yy176;
3701 goto yy3;
3702 }
3703 }
3704 }
3705-yy1454:
3706+yy1456:
3707 yyaccept = 0;
3708 yych = *(YYMARKER = ++YYCURSOR);
3709 if (yych <= 'C') {
3710@@ -21271,7 +21470,7 @@ yy1454:
3711 }
3712 } else {
3713 if (yych <= '_') {
3714- if (yych <= 'D') goto yy1423;
3715+ if (yych <= 'D') goto yy1425;
3716 if (yych <= 'Z') goto yy169;
3717 if (yych <= '^') goto yy3;
3718 goto yy172;
3719@@ -21280,13 +21479,13 @@ yy1454:
3720 if (yych <= '`') goto yy3;
3721 goto yy177;
3722 } else {
3723- if (yych <= 'd') goto yy1455;
3724+ if (yych <= 'd') goto yy1457;
3725 if (yych <= 'z') goto yy177;
3726 goto yy3;
3727 }
3728 }
3729 }
3730-yy1455:
3731+yy1457:
3732 yyaccept = 0;
3733 yych = *(YYMARKER = ++YYCURSOR);
3734 if (yych <= '@') {
3735@@ -21300,22 +21499,22 @@ yy1455:
3736 }
3737 } else {
3738 if (yych <= '_') {
3739- if (yych <= 'A') goto yy1424;
3740+ if (yych <= 'A') goto yy1426;
3741 if (yych <= '^') goto yy3;
3742 goto yy172;
3743 } else {
3744 if (yych <= '`') goto yy3;
3745- if (yych <= 'a') goto yy1456;
3746+ if (yych <= 'a') goto yy1458;
3747 if (yych <= 'z') goto yy178;
3748 goto yy3;
3749 }
3750 }
3751-yy1456:
3752+yy1458:
3753 yych = *++YYCURSOR;
3754 if (yych == 'Y') goto yy197;
3755 if (yych == 'y') goto yy210;
3756 goto yy179;
3757-yy1457:
3758+yy1459:
3759 yyaccept = 0;
3760 yych = *(YYMARKER = ++YYCURSOR);
3761 if (yych <= 'C') {
3762@@ -21345,7 +21544,7 @@ yy1457:
3763 }
3764 }
3765 }
3766-yy1458:
3767+yy1460:
3768 yyaccept = 0;
3769 yych = *(YYMARKER = ++YYCURSOR);
3770 if (yych <= '-') {
3771@@ -21374,7 +21573,7 @@ yy1458:
3772 }
3773 }
3774 }
3775-yy1459:
3776+yy1461:
3777 yyaccept = 0;
3778 yych = *(YYMARKER = ++YYCURSOR);
3779 if (yych <= 'S') {
3780@@ -21389,7 +21588,7 @@ yy1459:
3781 }
3782 } else {
3783 if (yych <= '_') {
3784- if (yych <= 'T') goto yy1428;
3785+ if (yych <= 'T') goto yy1430;
3786 if (yych <= 'Z') goto yy167;
3787 if (yych <= '^') goto yy3;
3788 goto yy172;
3789@@ -21398,13 +21597,13 @@ yy1459:
3790 if (yych <= '`') goto yy3;
3791 goto yy175;
3792 } else {
3793- if (yych <= 't') goto yy1460;
3794+ if (yych <= 't') goto yy1462;
3795 if (yych <= 'z') goto yy175;
3796 goto yy3;
3797 }
3798 }
3799 }
3800-yy1460:
3801+yy1462:
3802 yyaccept = 0;
3803 yych = *(YYMARKER = ++YYCURSOR);
3804 if (yych <= 'G') {
3805@@ -21434,30 +21633,30 @@ yy1460:
3806 }
3807 }
3808 }
3809-yy1461:
3810+yy1463:
3811 yych = *++YYCURSOR;
3812 if (yych <= 'Y') {
3813 if (yych <= '@') {
3814 if (yych == ')') goto yy164;
3815 goto yy3;
3816 } else {
3817- if (yych == 'R') goto yy1473;
3818+ if (yych == 'R') goto yy1475;
3819 if (yych <= 'X') goto yy166;
3820- goto yy1474;
3821+ goto yy1476;
3822 }
3823 } else {
3824 if (yych <= 'r') {
3825 if (yych <= 'Z') goto yy166;
3826 if (yych <= '`') goto yy3;
3827 if (yych <= 'q') goto yy166;
3828- goto yy1473;
3829+ goto yy1475;
3830 } else {
3831- if (yych == 'y') goto yy1474;
3832+ if (yych == 'y') goto yy1476;
3833 if (yych <= 'z') goto yy166;
3834 goto yy3;
3835 }
3836 }
3837-yy1462:
3838+yy1464:
3839 yych = *++YYCURSOR;
3840 if (yych <= 'D') {
3841 if (yych <= ')') {
3842@@ -21466,7 +21665,7 @@ yy1462:
3843 } else {
3844 if (yych <= '@') goto yy3;
3845 if (yych <= 'C') goto yy166;
3846- goto yy1467;
3847+ goto yy1469;
3848 }
3849 } else {
3850 if (yych <= 'c') {
3851@@ -21474,12 +21673,12 @@ yy1462:
3852 if (yych <= '`') goto yy3;
3853 goto yy166;
3854 } else {
3855- if (yych <= 'd') goto yy1467;
3856+ if (yych <= 'd') goto yy1469;
3857 if (yych <= 'z') goto yy166;
3858 goto yy3;
3859 }
3860 }
3861-yy1463:
3862+yy1465:
3863 yych = *++YYCURSOR;
3864 if (yych <= 'N') {
3865 if (yych <= ')') {
3866@@ -21495,12 +21694,12 @@ yy1463:
3867 if (yych <= '`') goto yy3;
3868 goto yy166;
3869 } else {
3870- if (yych <= 'n') goto yy1464;
3871+ if (yych <= 'n') goto yy1466;
3872 if (yych <= 'z') goto yy166;
3873 goto yy3;
3874 }
3875 }
3876-yy1464:
3877+yy1466:
3878 yych = *++YYCURSOR;
3879 if (yych <= 'D') {
3880 if (yych <= ')') {
3881@@ -21516,12 +21715,12 @@ yy1464:
3882 if (yych <= '`') goto yy191;
3883 goto yy167;
3884 } else {
3885- if (yych <= 'd') goto yy1465;
3886+ if (yych <= 'd') goto yy1467;
3887 if (yych <= 'z') goto yy167;
3888 goto yy191;
3889 }
3890 }
3891-yy1465:
3892+yy1467:
3893 yych = *++YYCURSOR;
3894 if (yych <= 'A') {
3895 if (yych == ')') goto yy164;
3896@@ -21531,12 +21730,12 @@ yy1465:
3897 if (yych <= 'Z') goto yy168;
3898 goto yy3;
3899 } else {
3900- if (yych <= 'a') goto yy1466;
3901+ if (yych <= 'a') goto yy1468;
3902 if (yych <= 'z') goto yy168;
3903 goto yy3;
3904 }
3905 }
3906-yy1466:
3907+yy1468:
3908 yych = *++YYCURSOR;
3909 if (yych <= 'Y') {
3910 if (yych <= ')') {
3911@@ -21558,7 +21757,7 @@ yy1466:
3912 goto yy3;
3913 }
3914 }
3915-yy1467:
3916+yy1469:
3917 yych = *++YYCURSOR;
3918 if (yych <= 'N') {
3919 if (yych <= ')') {
3920@@ -21574,12 +21773,12 @@ yy1467:
3921 if (yych <= '`') goto yy3;
3922 goto yy167;
3923 } else {
3924- if (yych <= 'n') goto yy1468;
3925+ if (yych <= 'n') goto yy1470;
3926 if (yych <= 'z') goto yy167;
3927 goto yy3;
3928 }
3929 }
3930-yy1468:
3931+yy1470:
3932 yych = *++YYCURSOR;
3933 if (yych <= 'I') {
3934 if (yych <= ')') {
3935@@ -21595,12 +21794,12 @@ yy1468:
3936 if (yych <= '`') goto yy3;
3937 goto yy168;
3938 } else {
3939- if (yych <= 'i') goto yy1469;
3940+ if (yych <= 'i') goto yy1471;
3941 if (yych <= 'z') goto yy168;
3942 goto yy3;
3943 }
3944 }
3945-yy1469:
3946+yy1471:
3947 yych = *++YYCURSOR;
3948 if (yych <= 'G') {
3949 if (yych <= ')') {
3950@@ -21616,29 +21815,29 @@ yy1469:
3951 if (yych <= '`') goto yy3;
3952 goto yy169;
3953 } else {
3954- if (yych <= 'g') goto yy1470;
3955+ if (yych <= 'g') goto yy1472;
3956 if (yych <= 'z') goto yy169;
3957 goto yy3;
3958 }
3959 }
3960-yy1470:
3961+yy1472:
3962 yyaccept = 0;
3963 yych = *(YYMARKER = ++YYCURSOR);
3964 if (yych <= 'G') {
3965 if (yych == ')') goto yy164;
3966 goto yy3;
3967 } else {
3968- if (yych <= 'H') goto yy1471;
3969+ if (yych <= 'H') goto yy1473;
3970 if (yych != 'h') goto yy3;
3971 }
3972-yy1471:
3973+yy1473:
3974 yych = *++YYCURSOR;
3975- if (yych == 'T') goto yy1472;
3976+ if (yych == 'T') goto yy1474;
3977 if (yych != 't') goto yy56;
3978-yy1472:
3979+yy1474:
3980 yych = *++YYCURSOR;
3981- goto yy1418;
3982-yy1473:
3983+ goto yy1420;
3984+yy1475:
3985 yyaccept = 5;
3986 yych = *(YYMARKER = ++YYCURSOR);
3987 if (yych <= '/') {
3988@@ -21666,7 +21865,7 @@ yy1473:
3989 if (yych <= '9') goto yy220;
3990 goto yy218;
3991 } else {
3992- if (yych == 'C') goto yy1475;
3993+ if (yych == 'C') goto yy1477;
3994 goto yy167;
3995 }
3996 } else {
3997@@ -21674,13 +21873,13 @@ yy1473:
3998 if (yych <= '`') goto yy218;
3999 goto yy167;
4000 } else {
4001- if (yych <= 'c') goto yy1475;
4002+ if (yych <= 'c') goto yy1477;
4003 if (yych <= 'z') goto yy167;
4004 goto yy218;
4005 }
4006 }
4007 }
4008-yy1474:
4009+yy1476:
4010 yyaccept = 5;
4011 yych = *(YYMARKER = ++YYCURSOR);
4012 if (yych <= '-') {
4013@@ -21705,7 +21904,7 @@ yy1474:
4014 goto yy218;
4015 }
4016 }
4017-yy1475:
4018+yy1477:
4019 yych = *++YYCURSOR;
4020 if (yych <= 'H') {
4021 if (yych <= ')') {
4022@@ -21727,7 +21926,7 @@ yy1475:
4023 goto yy3;
4024 }
4025 }
4026-yy1476:
4027+yy1478:
4028 yyaccept = 0;
4029 yych = *(YYMARKER = ++YYCURSOR);
4030 if (yych <= 'X') {
4031@@ -21744,14 +21943,14 @@ yy1476:
4032 if (yych <= '/') goto yy172;
4033 goto yy3;
4034 } else {
4035- if (yych == 'R') goto yy1473;
4036+ if (yych == 'R') goto yy1475;
4037 goto yy166;
4038 }
4039 }
4040 } else {
4041 if (yych <= '`') {
4042 if (yych <= 'Z') {
4043- if (yych <= 'Y') goto yy1474;
4044+ if (yych <= 'Y') goto yy1476;
4045 goto yy166;
4046 } else {
4047 if (yych == '_') goto yy172;
4048@@ -21759,16 +21958,16 @@ yy1476:
4049 }
4050 } else {
4051 if (yych <= 'x') {
4052- if (yych == 'r') goto yy1488;
4053+ if (yych == 'r') goto yy1490;
4054 goto yy171;
4055 } else {
4056- if (yych <= 'y') goto yy1489;
4057+ if (yych <= 'y') goto yy1491;
4058 if (yych <= 'z') goto yy171;
4059 goto yy3;
4060 }
4061 }
4062 }
4063-yy1477:
4064+yy1479:
4065 yyaccept = 0;
4066 yych = *(YYMARKER = ++YYCURSOR);
4067 if (yych <= 'C') {
4068@@ -21783,7 +21982,7 @@ yy1477:
4069 }
4070 } else {
4071 if (yych <= '_') {
4072- if (yych <= 'D') goto yy1467;
4073+ if (yych <= 'D') goto yy1469;
4074 if (yych <= 'Z') goto yy166;
4075 if (yych <= '^') goto yy3;
4076 goto yy172;
4077@@ -21792,13 +21991,13 @@ yy1477:
4078 if (yych <= '`') goto yy3;
4079 goto yy171;
4080 } else {
4081- if (yych <= 'd') goto yy1482;
4082+ if (yych <= 'd') goto yy1484;
4083 if (yych <= 'z') goto yy171;
4084 goto yy3;
4085 }
4086 }
4087 }
4088-yy1478:
4089+yy1480:
4090 yyaccept = 0;
4091 yych = *(YYMARKER = ++YYCURSOR);
4092 if (yych <= 'M') {
4093@@ -21813,7 +22012,7 @@ yy1478:
4094 }
4095 } else {
4096 if (yych <= '_') {
4097- if (yych <= 'N') goto yy1464;
4098+ if (yych <= 'N') goto yy1466;
4099 if (yych <= 'Z') goto yy166;
4100 if (yych <= '^') goto yy3;
4101 goto yy172;
4102@@ -21822,13 +22021,13 @@ yy1478:
4103 if (yych <= '`') goto yy3;
4104 goto yy171;
4105 } else {
4106- if (yych <= 'n') goto yy1479;
4107+ if (yych <= 'n') goto yy1481;
4108 if (yych <= 'z') goto yy171;
4109 goto yy3;
4110 }
4111 }
4112 }
4113-yy1479:
4114+yy1481:
4115 yyaccept = 4;
4116 yych = *(YYMARKER = ++YYCURSOR);
4117 if (yych <= 'C') {
4118@@ -21843,7 +22042,7 @@ yy1479:
4119 }
4120 } else {
4121 if (yych <= '_') {
4122- if (yych <= 'D') goto yy1465;
4123+ if (yych <= 'D') goto yy1467;
4124 if (yych <= 'Z') goto yy167;
4125 if (yych <= '^') goto yy191;
4126 goto yy172;
4127@@ -21852,13 +22051,13 @@ yy1479:
4128 if (yych <= '`') goto yy191;
4129 goto yy175;
4130 } else {
4131- if (yych <= 'd') goto yy1480;
4132+ if (yych <= 'd') goto yy1482;
4133 if (yych <= 'z') goto yy175;
4134 goto yy191;
4135 }
4136 }
4137 }
4138-yy1480:
4139+yy1482:
4140 yyaccept = 0;
4141 yych = *(YYMARKER = ++YYCURSOR);
4142 if (yych <= '@') {
4143@@ -21872,18 +22071,18 @@ yy1480:
4144 }
4145 } else {
4146 if (yych <= '_') {
4147- if (yych <= 'A') goto yy1466;
4148+ if (yych <= 'A') goto yy1468;
4149 if (yych <= 'Z') goto yy168;
4150 if (yych <= '^') goto yy3;
4151 goto yy172;
4152 } else {
4153 if (yych <= '`') goto yy3;
4154- if (yych <= 'a') goto yy1481;
4155+ if (yych <= 'a') goto yy1483;
4156 if (yych <= 'z') goto yy176;
4157 goto yy3;
4158 }
4159 }
4160-yy1481:
4161+yy1483:
4162 yyaccept = 0;
4163 yych = *(YYMARKER = ++YYCURSOR);
4164 if (yych <= 'X') {
4165@@ -21913,7 +22112,7 @@ yy1481:
4166 }
4167 }
4168 }
4169-yy1482:
4170+yy1484:
4171 yyaccept = 0;
4172 yych = *(YYMARKER = ++YYCURSOR);
4173 if (yych <= 'M') {
4174@@ -21928,7 +22127,7 @@ yy1482:
4175 }
4176 } else {
4177 if (yych <= '_') {
4178- if (yych <= 'N') goto yy1468;
4179+ if (yych <= 'N') goto yy1470;
4180 if (yych <= 'Z') goto yy167;
4181 if (yych <= '^') goto yy3;
4182 goto yy172;
4183@@ -21937,13 +22136,13 @@ yy1482:
4184 if (yych <= '`') goto yy3;
4185 goto yy175;
4186 } else {
4187- if (yych <= 'n') goto yy1483;
4188+ if (yych <= 'n') goto yy1485;
4189 if (yych <= 'z') goto yy175;
4190 goto yy3;
4191 }
4192 }
4193 }
4194-yy1483:
4195+yy1485:
4196 yyaccept = 0;
4197 yych = *(YYMARKER = ++YYCURSOR);
4198 if (yych <= 'H') {
4199@@ -21958,7 +22157,7 @@ yy1483:
4200 }
4201 } else {
4202 if (yych <= '_') {
4203- if (yych <= 'I') goto yy1469;
4204+ if (yych <= 'I') goto yy1471;
4205 if (yych <= 'Z') goto yy168;
4206 if (yych <= '^') goto yy3;
4207 goto yy172;
4208@@ -21967,13 +22166,13 @@ yy1483:
4209 if (yych <= '`') goto yy3;
4210 goto yy176;
4211 } else {
4212- if (yych <= 'i') goto yy1484;
4213+ if (yych <= 'i') goto yy1486;
4214 if (yych <= 'z') goto yy176;
4215 goto yy3;
4216 }
4217 }
4218 }
4219-yy1484:
4220+yy1486:
4221 yyaccept = 0;
4222 yych = *(YYMARKER = ++YYCURSOR);
4223 if (yych <= 'F') {
4224@@ -21988,7 +22187,7 @@ yy1484:
4225 }
4226 } else {
4227 if (yych <= '_') {
4228- if (yych <= 'G') goto yy1470;
4229+ if (yych <= 'G') goto yy1472;
4230 if (yych <= 'Z') goto yy169;
4231 if (yych <= '^') goto yy3;
4232 goto yy172;
4233@@ -21997,13 +22196,13 @@ yy1484:
4234 if (yych <= '`') goto yy3;
4235 goto yy177;
4236 } else {
4237- if (yych <= 'g') goto yy1485;
4238+ if (yych <= 'g') goto yy1487;
4239 if (yych <= 'z') goto yy177;
4240 goto yy3;
4241 }
4242 }
4243 }
4244-yy1485:
4245+yy1487:
4246 yyaccept = 0;
4247 yych = *(YYMARKER = ++YYCURSOR);
4248 if (yych <= 'G') {
4249@@ -22017,18 +22216,18 @@ yy1485:
4250 }
4251 } else {
4252 if (yych <= '`') {
4253- if (yych <= 'H') goto yy1471;
4254+ if (yych <= 'H') goto yy1473;
4255 if (yych == '_') goto yy172;
4256 goto yy3;
4257 } else {
4258- if (yych == 'h') goto yy1486;
4259+ if (yych == 'h') goto yy1488;
4260 if (yych <= 'z') goto yy178;
4261 goto yy3;
4262 }
4263 }
4264-yy1486:
4265+yy1488:
4266 yych = *++YYCURSOR;
4267- if (yych == 'T') goto yy1472;
4268+ if (yych == 'T') goto yy1474;
4269 if (yych != 't') goto yy179;
4270 yyaccept = 30;
4271 yych = *(YYMARKER = ++YYCURSOR);
4272@@ -22037,13 +22236,13 @@ yy1486:
4273 }
4274 if (yych <= '.') {
4275 if (yych == '-') goto yy172;
4276- goto yy1418;
4277+ goto yy1420;
4278 } else {
4279 if (yych <= '/') goto yy172;
4280 if (yych == '_') goto yy172;
4281- goto yy1418;
4282+ goto yy1420;
4283 }
4284-yy1488:
4285+yy1490:
4286 yyaccept = 5;
4287 yych = *(YYMARKER = ++YYCURSOR);
4288 if (yych <= '9') {
4289@@ -22071,7 +22270,7 @@ yy1488:
4290 if (yych <= '@') goto yy218;
4291 goto yy167;
4292 } else {
4293- if (yych <= 'C') goto yy1475;
4294+ if (yych <= 'C') goto yy1477;
4295 if (yych <= 'Z') goto yy167;
4296 goto yy218;
4297 }
4298@@ -22081,13 +22280,13 @@ yy1488:
4299 if (yych <= '`') goto yy218;
4300 goto yy175;
4301 } else {
4302- if (yych <= 'c') goto yy1490;
4303+ if (yych <= 'c') goto yy1492;
4304 if (yych <= 'z') goto yy175;
4305 goto yy218;
4306 }
4307 }
4308 }
4309-yy1489:
4310+yy1491:
4311 yyaccept = 5;
4312 yych = *(YYMARKER = ++YYCURSOR);
4313 if (yych <= '.') {
4314@@ -22122,7 +22321,7 @@ yy1489:
4315 }
4316 }
4317 }
4318-yy1490:
4319+yy1492:
4320 yyaccept = 0;
4321 yych = *(YYMARKER = ++YYCURSOR);
4322 if (yych <= 'G') {
4323@@ -22152,7 +22351,7 @@ yy1490:
4324 }
4325 }
4326 }
4327-yy1491:
4328+yy1493:
4329 yych = *++YYCURSOR;
4330 if (yych <= 'W') {
4331 if (yych <= 'N') {
4332@@ -22160,29 +22359,29 @@ yy1491:
4333 if (yych <= '@') goto yy3;
4334 goto yy166;
4335 } else {
4336- if (yych <= 'O') goto yy1499;
4337+ if (yych <= 'O') goto yy1501;
4338 if (yych <= 'U') goto yy166;
4339- if (yych <= 'V') goto yy1500;
4340- goto yy1497;
4341+ if (yych <= 'V') goto yy1502;
4342+ goto yy1499;
4343 }
4344 } else {
4345 if (yych <= 'o') {
4346 if (yych <= 'Z') goto yy166;
4347 if (yych <= '`') goto yy3;
4348 if (yych <= 'n') goto yy166;
4349- goto yy1499;
4350+ goto yy1501;
4351 } else {
4352 if (yych <= 'v') {
4353 if (yych <= 'u') goto yy166;
4354- goto yy1500;
4355+ goto yy1502;
4356 } else {
4357- if (yych <= 'w') goto yy1497;
4358+ if (yych <= 'w') goto yy1499;
4359 if (yych <= 'z') goto yy166;
4360 goto yy3;
4361 }
4362 }
4363 }
4364-yy1492:
4365+yy1494:
4366 yych = *++YYCURSOR;
4367 if (yych <= 'X') {
4368 if (yych <= ')') {
4369@@ -22191,7 +22390,7 @@ yy1492:
4370 } else {
4371 if (yych <= '@') goto yy3;
4372 if (yych <= 'W') goto yy166;
4373- goto yy1496;
4374+ goto yy1498;
4375 }
4376 } else {
4377 if (yych <= 'w') {
4378@@ -22199,12 +22398,12 @@ yy1492:
4379 if (yych <= '`') goto yy3;
4380 goto yy166;
4381 } else {
4382- if (yych <= 'x') goto yy1496;
4383+ if (yych <= 'x') goto yy1498;
4384 if (yych <= 'z') goto yy166;
4385 goto yy3;
4386 }
4387 }
4388-yy1493:
4389+yy1495:
4390 yych = *++YYCURSOR;
4391 if (yych <= 'N') {
4392 if (yych <= ')') {
4393@@ -22220,12 +22419,12 @@ yy1493:
4394 if (yych <= '`') goto yy3;
4395 goto yy166;
4396 } else {
4397- if (yych <= 'n') goto yy1494;
4398+ if (yych <= 'n') goto yy1496;
4399 if (yych <= 'z') goto yy166;
4400 goto yy3;
4401 }
4402 }
4403-yy1494:
4404+yy1496:
4405 yych = *++YYCURSOR;
4406 if (yych <= 'T') {
4407 if (yych <= ')') {
4408@@ -22241,12 +22440,12 @@ yy1494:
4409 if (yych <= '`') goto yy3;
4410 goto yy167;
4411 } else {
4412- if (yych <= 't') goto yy1495;
4413+ if (yych <= 't') goto yy1497;
4414 if (yych <= 'z') goto yy167;
4415 goto yy3;
4416 }
4417 }
4418-yy1495:
4419+yy1497:
4420 yych = *++YYCURSOR;
4421 if (yych <= 'H') {
4422 if (yych <= ')') {
4423@@ -22268,7 +22467,7 @@ yy1495:
4424 goto yy3;
4425 }
4426 }
4427-yy1496:
4428+yy1498:
4429 yych = *++YYCURSOR;
4430 if (yych <= 'T') {
4431 if (yych <= ')') {
4432@@ -22277,7 +22476,7 @@ yy1496:
4433 } else {
4434 if (yych <= '@') goto yy3;
4435 if (yych <= 'S') goto yy167;
4436- goto yy1426;
4437+ goto yy1428;
4438 }
4439 } else {
4440 if (yych <= 's') {
4441@@ -22285,21 +22484,22 @@ yy1496:
4442 if (yych <= '`') goto yy3;
4443 goto yy167;
4444 } else {
4445- if (yych <= 't') goto yy1426;
4446+ if (yych <= 't') goto yy1428;
4447 if (yych <= 'z') goto yy167;
4448 goto yy3;
4449 }
4450 }
4451-yy1497:
4452+yy1499:
4453 ++YYCURSOR;
4454 if ((yych = *YYCURSOR) <= '@') {
4455 if (yych == ')') goto yy164;
4456 } else {
4457 if (yych <= 'Z') goto yy167;
4458- if (yych <= '`') goto yy1498;
4459+ if (yych <= '`') goto yy1500;
4460 if (yych <= 'z') goto yy167;
4461 }
4462-yy1498:
4463+yy1500:
4464+#line 982 "ext/date/lib/parse_date.re"
4465 {
4466 DEBUG_OUTPUT("now");
4467 TIMELIB_INIT;
4468@@ -22307,7 +22507,8 @@ yy1498:
4469 TIMELIB_DEINIT;
4470 return TIMELIB_RELATIVE;
4471 }
4472-yy1499:
4473+#line 22511 "ext/date/lib/parse_date.c"
4474+yy1501:
4475 yych = *++YYCURSOR;
4476 if (yych <= 'N') {
4477 if (yych <= ')') {
4478@@ -22316,7 +22517,7 @@ yy1499:
4479 } else {
4480 if (yych <= '@') goto yy3;
4481 if (yych <= 'M') goto yy167;
4482- goto yy1505;
4483+ goto yy1507;
4484 }
4485 } else {
4486 if (yych <= 'm') {
4487@@ -22324,12 +22525,12 @@ yy1499:
4488 if (yych <= '`') goto yy3;
4489 goto yy167;
4490 } else {
4491- if (yych <= 'n') goto yy1505;
4492+ if (yych <= 'n') goto yy1507;
4493 if (yych <= 'z') goto yy167;
4494 goto yy3;
4495 }
4496 }
4497-yy1500:
4498+yy1502:
4499 yyaccept = 5;
4500 yych = *(YYMARKER = ++YYCURSOR);
4501 if (yych <= '/') {
4502@@ -22364,13 +22565,13 @@ yy1500:
4503 if (yych <= '`') goto yy218;
4504 goto yy167;
4505 } else {
4506- if (yych <= 'e') goto yy1501;
4507+ if (yych <= 'e') goto yy1503;
4508 if (yych <= 'z') goto yy167;
4509 goto yy218;
4510 }
4511 }
4512 }
4513-yy1501:
4514+yy1503:
4515 yych = *++YYCURSOR;
4516 if (yych <= 'M') {
4517 if (yych <= ')') {
4518@@ -22386,12 +22587,12 @@ yy1501:
4519 if (yych <= '`') goto yy3;
4520 goto yy168;
4521 } else {
4522- if (yych <= 'm') goto yy1502;
4523+ if (yych <= 'm') goto yy1504;
4524 if (yych <= 'z') goto yy168;
4525 goto yy3;
4526 }
4527 }
4528-yy1502:
4529+yy1504:
4530 yych = *++YYCURSOR;
4531 if (yych <= 'B') {
4532 if (yych <= ')') {
4533@@ -22407,36 +22608,37 @@ yy1502:
4534 if (yych <= '`') goto yy3;
4535 goto yy169;
4536 } else {
4537- if (yych <= 'b') goto yy1503;
4538+ if (yych <= 'b') goto yy1505;
4539 if (yych <= 'z') goto yy169;
4540 goto yy3;
4541 }
4542 }
4543-yy1503:
4544+yy1505:
4545 yyaccept = 0;
4546 yych = *(YYMARKER = ++YYCURSOR);
4547 if (yych <= 'D') {
4548 if (yych == ')') goto yy164;
4549 goto yy3;
4550 } else {
4551- if (yych <= 'E') goto yy1504;
4552+ if (yych <= 'E') goto yy1506;
4553 if (yych != 'e') goto yy3;
4554 }
4555-yy1504:
4556+yy1506:
4557 yych = *++YYCURSOR;
4558 if (yych == 'R') goto yy229;
4559 if (yych == 'r') goto yy229;
4560 goto yy56;
4561-yy1505:
4562+yy1507:
4563 ++YYCURSOR;
4564 if ((yych = *YYCURSOR) <= '@') {
4565 if (yych == ')') goto yy164;
4566 } else {
4567 if (yych <= 'Z') goto yy168;
4568- if (yych <= '`') goto yy1506;
4569+ if (yych <= '`') goto yy1508;
4570 if (yych <= 'z') goto yy168;
4571 }
4572-yy1506:
4573+yy1508:
4574+#line 991 "ext/date/lib/parse_date.re"
4575 {
4576 DEBUG_OUTPUT("noon");
4577 TIMELIB_INIT;
4578@@ -22447,7 +22649,8 @@ yy1506:
4579 TIMELIB_DEINIT;
4580 return TIMELIB_RELATIVE;
4581 }
4582-yy1507:
4583+#line 22653 "ext/date/lib/parse_date.c"
4584+yy1509:
4585 yyaccept = 0;
4586 yych = *(YYMARKER = ++YYCURSOR);
4587 if (yych <= 'V') {
4588@@ -22465,15 +22668,15 @@ yy1507:
4589 if (yych <= '@') goto yy3;
4590 goto yy166;
4591 } else {
4592- if (yych <= 'O') goto yy1499;
4593+ if (yych <= 'O') goto yy1501;
4594 if (yych <= 'U') goto yy166;
4595- goto yy1500;
4596+ goto yy1502;
4597 }
4598 }
4599 } else {
4600 if (yych <= 'n') {
4601 if (yych <= '^') {
4602- if (yych <= 'W') goto yy1497;
4603+ if (yych <= 'W') goto yy1499;
4604 if (yych <= 'Z') goto yy166;
4605 goto yy3;
4606 } else {
4607@@ -22483,17 +22686,17 @@ yy1507:
4608 }
4609 } else {
4610 if (yych <= 'v') {
4611- if (yych <= 'o') goto yy1514;
4612+ if (yych <= 'o') goto yy1516;
4613 if (yych <= 'u') goto yy171;
4614- goto yy1515;
4615+ goto yy1517;
4616 } else {
4617- if (yych <= 'w') goto yy1513;
4618+ if (yych <= 'w') goto yy1515;
4619 if (yych <= 'z') goto yy171;
4620 goto yy3;
4621 }
4622 }
4623 }
4624-yy1508:
4625+yy1510:
4626 yyaccept = 0;
4627 yych = *(YYMARKER = ++YYCURSOR);
4628 if (yych <= 'W') {
4629@@ -22508,7 +22711,7 @@ yy1508:
4630 }
4631 } else {
4632 if (yych <= '_') {
4633- if (yych <= 'X') goto yy1496;
4634+ if (yych <= 'X') goto yy1498;
4635 if (yych <= 'Z') goto yy166;
4636 if (yych <= '^') goto yy3;
4637 goto yy172;
4638@@ -22517,13 +22720,13 @@ yy1508:
4639 if (yych <= '`') goto yy3;
4640 goto yy171;
4641 } else {
4642- if (yych <= 'x') goto yy1512;
4643+ if (yych <= 'x') goto yy1514;
4644 if (yych <= 'z') goto yy171;
4645 goto yy3;
4646 }
4647 }
4648 }
4649-yy1509:
4650+yy1511:
4651 yyaccept = 0;
4652 yych = *(YYMARKER = ++YYCURSOR);
4653 if (yych <= 'M') {
4654@@ -22538,7 +22741,7 @@ yy1509:
4655 }
4656 } else {
4657 if (yych <= '_') {
4658- if (yych <= 'N') goto yy1494;
4659+ if (yych <= 'N') goto yy1496;
4660 if (yych <= 'Z') goto yy166;
4661 if (yych <= '^') goto yy3;
4662 goto yy172;
4663@@ -22547,13 +22750,13 @@ yy1509:
4664 if (yych <= '`') goto yy3;
4665 goto yy171;
4666 } else {
4667- if (yych <= 'n') goto yy1510;
4668+ if (yych <= 'n') goto yy1512;
4669 if (yych <= 'z') goto yy171;
4670 goto yy3;
4671 }
4672 }
4673 }
4674-yy1510:
4675+yy1512:
4676 yyaccept = 0;
4677 yych = *(YYMARKER = ++YYCURSOR);
4678 if (yych <= 'S') {
4679@@ -22568,7 +22771,7 @@ yy1510:
4680 }
4681 } else {
4682 if (yych <= '_') {
4683- if (yych <= 'T') goto yy1495;
4684+ if (yych <= 'T') goto yy1497;
4685 if (yych <= 'Z') goto yy167;
4686 if (yych <= '^') goto yy3;
4687 goto yy172;
4688@@ -22577,13 +22780,13 @@ yy1510:
4689 if (yych <= '`') goto yy3;
4690 goto yy175;
4691 } else {
4692- if (yych <= 't') goto yy1511;
4693+ if (yych <= 't') goto yy1513;
4694 if (yych <= 'z') goto yy175;
4695 goto yy3;
4696 }
4697 }
4698 }
4699-yy1511:
4700+yy1513:
4701 yyaccept = 0;
4702 yych = *(YYMARKER = ++YYCURSOR);
4703 if (yych <= 'G') {
4704@@ -22613,7 +22816,7 @@ yy1511:
4705 }
4706 }
4707 }
4708-yy1512:
4709+yy1514:
4710 yyaccept = 0;
4711 yych = *(YYMARKER = ++YYCURSOR);
4712 if (yych <= 'S') {
4713@@ -22628,7 +22831,7 @@ yy1512:
4714 }
4715 } else {
4716 if (yych <= '_') {
4717- if (yych <= 'T') goto yy1426;
4718+ if (yych <= 'T') goto yy1428;
4719 if (yych <= 'Z') goto yy167;
4720 if (yych <= '^') goto yy3;
4721 goto yy172;
4722@@ -22637,36 +22840,36 @@ yy1512:
4723 if (yych <= '`') goto yy3;
4724 goto yy175;
4725 } else {
4726- if (yych <= 't') goto yy1458;
4727+ if (yych <= 't') goto yy1460;
4728 if (yych <= 'z') goto yy175;
4729 goto yy3;
4730 }
4731 }
4732 }
4733-yy1513:
4734+yy1515:
4735 yyaccept = 31;
4736 yych = *(YYMARKER = ++YYCURSOR);
4737 if (yych <= '/') {
4738 if (yych <= ',') {
4739 if (yych == ')') goto yy164;
4740- goto yy1498;
4741+ goto yy1500;
4742 } else {
4743- if (yych == '.') goto yy1498;
4744+ if (yych == '.') goto yy1500;
4745 goto yy172;
4746 }
4747 } else {
4748 if (yych <= '^') {
4749- if (yych <= '@') goto yy1498;
4750+ if (yych <= '@') goto yy1500;
4751 if (yych <= 'Z') goto yy167;
4752- goto yy1498;
4753+ goto yy1500;
4754 } else {
4755 if (yych <= '_') goto yy172;
4756- if (yych <= '`') goto yy1498;
4757+ if (yych <= '`') goto yy1500;
4758 if (yych <= 'z') goto yy175;
4759- goto yy1498;
4760+ goto yy1500;
4761 }
4762 }
4763-yy1514:
4764+yy1516:
4765 yyaccept = 0;
4766 yych = *(YYMARKER = ++YYCURSOR);
4767 if (yych <= 'M') {
4768@@ -22681,7 +22884,7 @@ yy1514:
4769 }
4770 } else {
4771 if (yych <= '_') {
4772- if (yych <= 'N') goto yy1505;
4773+ if (yych <= 'N') goto yy1507;
4774 if (yych <= 'Z') goto yy167;
4775 if (yych <= '^') goto yy3;
4776 goto yy172;
4777@@ -22690,13 +22893,13 @@ yy1514:
4778 if (yych <= '`') goto yy3;
4779 goto yy175;
4780 } else {
4781- if (yych <= 'n') goto yy1520;
4782+ if (yych <= 'n') goto yy1522;
4783 if (yych <= 'z') goto yy175;
4784 goto yy3;
4785 }
4786 }
4787 }
4788-yy1515:
4789+yy1517:
4790 yyaccept = 5;
4791 yych = *(YYMARKER = ++YYCURSOR);
4792 if (yych <= '9') {
4793@@ -22724,7 +22927,7 @@ yy1515:
4794 if (yych <= '@') goto yy218;
4795 goto yy167;
4796 } else {
4797- if (yych <= 'E') goto yy1501;
4798+ if (yych <= 'E') goto yy1503;
4799 if (yych <= 'Z') goto yy167;
4800 goto yy218;
4801 }
4802@@ -22734,13 +22937,13 @@ yy1515:
4803 if (yych <= '`') goto yy218;
4804 goto yy175;
4805 } else {
4806- if (yych <= 'e') goto yy1516;
4807+ if (yych <= 'e') goto yy1518;
4808 if (yych <= 'z') goto yy175;
4809 goto yy218;
4810 }
4811 }
4812 }
4813-yy1516:
4814+yy1518:
4815 yyaccept = 0;
4816 yych = *(YYMARKER = ++YYCURSOR);
4817 if (yych <= 'L') {
4818@@ -22755,7 +22958,7 @@ yy1516:
4819 }
4820 } else {
4821 if (yych <= '_') {
4822- if (yych <= 'M') goto yy1502;
4823+ if (yych <= 'M') goto yy1504;
4824 if (yych <= 'Z') goto yy168;
4825 if (yych <= '^') goto yy3;
4826 goto yy172;
4827@@ -22764,13 +22967,13 @@ yy1516:
4828 if (yych <= '`') goto yy3;
4829 goto yy176;
4830 } else {
4831- if (yych <= 'm') goto yy1517;
4832+ if (yych <= 'm') goto yy1519;
4833 if (yych <= 'z') goto yy176;
4834 goto yy3;
4835 }
4836 }
4837 }
4838-yy1517:
4839+yy1519:
4840 yyaccept = 0;
4841 yych = *(YYMARKER = ++YYCURSOR);
4842 if (yych <= 'A') {
4843@@ -22785,7 +22988,7 @@ yy1517:
4844 }
4845 } else {
4846 if (yych <= '_') {
4847- if (yych <= 'B') goto yy1503;
4848+ if (yych <= 'B') goto yy1505;
4849 if (yych <= 'Z') goto yy169;
4850 if (yych <= '^') goto yy3;
4851 goto yy172;
4852@@ -22794,13 +22997,13 @@ yy1517:
4853 if (yych <= '`') goto yy3;
4854 goto yy177;
4855 } else {
4856- if (yych <= 'b') goto yy1518;
4857+ if (yych <= 'b') goto yy1520;
4858 if (yych <= 'z') goto yy177;
4859 goto yy3;
4860 }
4861 }
4862 }
4863-yy1518:
4864+yy1520:
4865 yyaccept = 0;
4866 yych = *(YYMARKER = ++YYCURSOR);
4867 if (yych <= 'D') {
4868@@ -22814,44 +23017,44 @@ yy1518:
4869 }
4870 } else {
4871 if (yych <= '`') {
4872- if (yych <= 'E') goto yy1504;
4873+ if (yych <= 'E') goto yy1506;
4874 if (yych == '_') goto yy172;
4875 goto yy3;
4876 } else {
4877- if (yych == 'e') goto yy1519;
4878+ if (yych == 'e') goto yy1521;
4879 if (yych <= 'z') goto yy178;
4880 goto yy3;
4881 }
4882 }
4883-yy1519:
4884+yy1521:
4885 yych = *++YYCURSOR;
4886 if (yych == 'R') goto yy229;
4887 if (yych == 'r') goto yy341;
4888 goto yy179;
4889-yy1520:
4890+yy1522:
4891 yyaccept = 32;
4892 yych = *(YYMARKER = ++YYCURSOR);
4893 if (yych <= '/') {
4894 if (yych <= ',') {
4895 if (yych == ')') goto yy164;
4896- goto yy1506;
4897+ goto yy1508;
4898 } else {
4899- if (yych == '.') goto yy1506;
4900+ if (yych == '.') goto yy1508;
4901 goto yy172;
4902 }
4903 } else {
4904 if (yych <= '^') {
4905- if (yych <= '@') goto yy1506;
4906+ if (yych <= '@') goto yy1508;
4907 if (yych <= 'Z') goto yy168;
4908- goto yy1506;
4909+ goto yy1508;
4910 } else {
4911 if (yych <= '_') goto yy172;
4912- if (yych <= '`') goto yy1506;
4913+ if (yych <= '`') goto yy1508;
4914 if (yych <= 'z') goto yy176;
4915- goto yy1506;
4916+ goto yy1508;
4917 }
4918 }
4919-yy1521:
4920+yy1523:
4921 yych = *++YYCURSOR;
4922 if (yych <= 'S') {
4923 if (yych <= ')') {
4924@@ -22867,12 +23070,12 @@ yy1521:
4925 if (yych <= '`') goto yy3;
4926 goto yy166;
4927 } else {
4928- if (yych <= 's') goto yy1522;
4929+ if (yych <= 's') goto yy1524;
4930 if (yych <= 'z') goto yy166;
4931 goto yy3;
4932 }
4933 }
4934-yy1522:
4935+yy1524:
4936 yych = *++YYCURSOR;
4937 if (yych <= 'T') {
4938 if (yych <= ')') {
4939@@ -22888,12 +23091,12 @@ yy1522:
4940 if (yych <= '`') goto yy3;
4941 goto yy167;
4942 } else {
4943- if (yych <= 't') goto yy1523;
4944+ if (yych <= 't') goto yy1525;
4945 if (yych <= 'z') goto yy167;
4946 goto yy3;
4947 }
4948 }
4949-yy1523:
4950+yy1525:
4951 yych = *++YYCURSOR;
4952 if (yych <= 'E') {
4953 if (yych <= ')') {
4954@@ -22909,12 +23112,12 @@ yy1523:
4955 if (yych <= '`') goto yy3;
4956 goto yy168;
4957 } else {
4958- if (yych <= 'e') goto yy1524;
4959+ if (yych <= 'e') goto yy1526;
4960 if (yych <= 'z') goto yy168;
4961 goto yy3;
4962 }
4963 }
4964-yy1524:
4965+yy1526:
4966 yych = *++YYCURSOR;
4967 if (yych <= 'R') {
4968 if (yych <= ')') {
4969@@ -22930,32 +23133,33 @@ yy1524:
4970 if (yych <= '`') goto yy3;
4971 goto yy169;
4972 } else {
4973- if (yych <= 'r') goto yy1525;
4974+ if (yych <= 'r') goto yy1527;
4975 if (yych <= 'z') goto yy169;
4976 goto yy3;
4977 }
4978 }
4979-yy1525:
4980+yy1527:
4981 yyaccept = 0;
4982 yych = *(YYMARKER = ++YYCURSOR);
4983 if (yych <= 'C') {
4984 if (yych == ')') goto yy164;
4985 goto yy3;
4986 } else {
4987- if (yych <= 'D') goto yy1526;
4988+ if (yych <= 'D') goto yy1528;
4989 if (yych != 'd') goto yy3;
4990 }
4991-yy1526:
4992+yy1528:
4993 yych = *++YYCURSOR;
4994- if (yych == 'A') goto yy1527;
4995+ if (yych == 'A') goto yy1529;
4996 if (yych != 'a') goto yy56;
4997-yy1527:
4998+yy1529:
4999 yych = *++YYCURSOR;
5000- if (yych == 'Y') goto yy1528;
5001+ if (yych == 'Y') goto yy1530;
5002 if (yych != 'y') goto yy56;
5003-yy1528:
5004+yy1530:
5005 ++YYCURSOR;
5006-yy1529:
5007+yy1531:
5008+#line 970 "ext/date/lib/parse_date.re"
5009 {
5010 DEBUG_OUTPUT("yesterday");
5011 TIMELIB_INIT;
5012@@ -22966,7 +23170,8 @@ yy1529:
5013 TIMELIB_DEINIT;
5014 return TIMELIB_RELATIVE;
5015 }
5016-yy1530:
5017+#line 23174 "ext/date/lib/parse_date.c"
5018+yy1532:
5019 yyaccept = 0;
5020 yych = *(YYMARKER = ++YYCURSOR);
5021 if (yych <= 'R') {
5022@@ -22981,7 +23186,7 @@ yy1530:
5023 }
5024 } else {
5025 if (yych <= '_') {
5026- if (yych <= 'S') goto yy1522;
5027+ if (yych <= 'S') goto yy1524;
5028 if (yych <= 'Z') goto yy166;
5029 if (yych <= '^') goto yy3;
5030 goto yy172;
5031@@ -22990,13 +23195,13 @@ yy1530:
5032 if (yych <= '`') goto yy3;
5033 goto yy171;
5034 } else {
5035- if (yych <= 's') goto yy1531;
5036+ if (yych <= 's') goto yy1533;
5037 if (yych <= 'z') goto yy171;
5038 goto yy3;
5039 }
5040 }
5041 }
5042-yy1531:
5043+yy1533:
5044 yyaccept = 0;
5045 yych = *(YYMARKER = ++YYCURSOR);
5046 if (yych <= 'S') {
5047@@ -23011,7 +23216,7 @@ yy1531:
5048 }
5049 } else {
5050 if (yych <= '_') {
5051- if (yych <= 'T') goto yy1523;
5052+ if (yych <= 'T') goto yy1525;
5053 if (yych <= 'Z') goto yy167;
5054 if (yych <= '^') goto yy3;
5055 goto yy172;
5056@@ -23020,13 +23225,13 @@ yy1531:
5057 if (yych <= '`') goto yy3;
5058 goto yy175;
5059 } else {
5060- if (yych <= 't') goto yy1532;
5061+ if (yych <= 't') goto yy1534;
5062 if (yych <= 'z') goto yy175;
5063 goto yy3;
5064 }
5065 }
5066 }
5067-yy1532:
5068+yy1534:
5069 yyaccept = 0;
5070 yych = *(YYMARKER = ++YYCURSOR);
5071 if (yych <= 'D') {
5072@@ -23041,7 +23246,7 @@ yy1532:
5073 }
5074 } else {
5075 if (yych <= '_') {
5076- if (yych <= 'E') goto yy1524;
5077+ if (yych <= 'E') goto yy1526;
5078 if (yych <= 'Z') goto yy168;
5079 if (yych <= '^') goto yy3;
5080 goto yy172;
5081@@ -23050,13 +23255,13 @@ yy1532:
5082 if (yych <= '`') goto yy3;
5083 goto yy176;
5084 } else {
5085- if (yych <= 'e') goto yy1533;
5086+ if (yych <= 'e') goto yy1535;
5087 if (yych <= 'z') goto yy176;
5088 goto yy3;
5089 }
5090 }
5091 }
5092-yy1533:
5093+yy1535:
5094 yyaccept = 0;
5095 yych = *(YYMARKER = ++YYCURSOR);
5096 if (yych <= 'Q') {
5097@@ -23071,7 +23276,7 @@ yy1533:
5098 }
5099 } else {
5100 if (yych <= '_') {
5101- if (yych <= 'R') goto yy1525;
5102+ if (yych <= 'R') goto yy1527;
5103 if (yych <= 'Z') goto yy169;
5104 if (yych <= '^') goto yy3;
5105 goto yy172;
5106@@ -23080,13 +23285,13 @@ yy1533:
5107 if (yych <= '`') goto yy3;
5108 goto yy177;
5109 } else {
5110- if (yych <= 'r') goto yy1534;
5111+ if (yych <= 'r') goto yy1536;
5112 if (yych <= 'z') goto yy177;
5113 goto yy3;
5114 }
5115 }
5116 }
5117-yy1534:
5118+yy1536:
5119 yyaccept = 0;
5120 yych = *(YYMARKER = ++YYCURSOR);
5121 if (yych <= 'C') {
5122@@ -23100,21 +23305,21 @@ yy1534:
5123 }
5124 } else {
5125 if (yych <= '`') {
5126- if (yych <= 'D') goto yy1526;
5127+ if (yych <= 'D') goto yy1528;
5128 if (yych == '_') goto yy172;
5129 goto yy3;
5130 } else {
5131- if (yych == 'd') goto yy1535;
5132+ if (yych == 'd') goto yy1537;
5133 if (yych <= 'z') goto yy178;
5134 goto yy3;
5135 }
5136 }
5137-yy1535:
5138+yy1537:
5139 yych = *++YYCURSOR;
5140- if (yych == 'A') goto yy1527;
5141+ if (yych == 'A') goto yy1529;
5142 if (yych != 'a') goto yy179;
5143 yych = *++YYCURSOR;
5144- if (yych == 'Y') goto yy1528;
5145+ if (yych == 'Y') goto yy1530;
5146 if (yych != 'y') goto yy179;
5147 yyaccept = 33;
5148 yych = *(YYMARKER = ++YYCURSOR);
5149@@ -23123,13 +23328,14 @@ yy1535:
5150 }
5151 if (yych <= '.') {
5152 if (yych == '-') goto yy172;
5153- goto yy1529;
5154+ goto yy1531;
5155 } else {
5156 if (yych <= '/') goto yy172;
5157 if (yych == '_') goto yy172;
5158- goto yy1529;
5159+ goto yy1531;
5160 }
5161 }
5162+#line 1772 "ext/date/lib/parse_date.re"
5163
5164 }
5165
5166diff --git a/ext/date/lib/parse_date.re b/ext/date/lib/parse_date.re
5167index 74d9ea3..f26e276 100644
5168--- a/ext/date/lib/parse_date.re
5169+++ b/ext/date/lib/parse_date.re
5170@@ -931,8 +931,8 @@ isoweek = year4 "-"? "W" weekofyear;
5171 exif = year4 ":" monthlz ":" daylz " " hour24lz ":" minutelz ":" secondlz;
5172 firstdayof = 'first day of';
5173 lastdayof = 'last day of';
5174-backof = 'back of ' hour24 space? meridian?;
5175-frontof = 'front of ' hour24 space? meridian?;
5176+backof = 'back of ' hour24 (space? meridian)?;
5177+frontof = 'front of ' hour24 (space? meridian)?;
5178
5179 /* Common Log Format: 10/Oct/2000:13:55:36 -0700 */
5180 clf = day "/" monthabbr "/" year4 ":" hour24lz ":" minutelz ":" secondlz space tzcorrection;
5181diff --git a/ext/date/tests/bug53437_var3.phpt b/ext/date/tests/bug53437_var3.phpt
5182index 8f48b1b..8dcd4c8 100644
5183--- a/ext/date/tests/bug53437_var3.phpt
5184+++ b/ext/date/tests/bug53437_var3.phpt
5185@@ -40,7 +40,7 @@ object(DateInterval)#%d (16) {
5186 ["special_amount"]=>
5187 int(-1)
5188 ["have_weekday_relative"]=>
5189- int(9)
5190+ int(0)
5191 ["have_special_relative"]=>
5192 int(0)
5193 ["f"]=>
5194diff --git a/ext/wddx/tests/bug75055.phpt b/ext/wddx/tests/bug75055.phpt
5195new file mode 100644
5196index 0000000..2956284
5197--- /dev/null
5198+++ b/ext/wddx/tests/bug75055.phpt
5199@@ -0,0 +1,20 @@
5200+--TEST--
5201+Bug #75055 Out-Of-Bounds Read in timelib_meridian()
5202+--SKIPIF--
5203+<?php if (!extension_loaded("wddx")) print "skip"; ?>
5204+--FILE--
5205+<?php
5206+
5207+$file_str = dirname(__FILE__) . "/bug75055.wddx";
5208+
5209+$wddx_str = file_get_contents($file_str);
5210+print strlen($wddx_str) . " bytes read.\n";
5211+
5212+var_dump(wddx_deserialize($wddx_str));
5213+?>
5214+--EXPECT--
5215+323 bytes read.
5216+array(1) {
5217+ ["aDateTime"]=>
5218+ string(12) "frONt of 0 0"
5219+}
5220diff --git a/ext/wddx/tests/bug75055.wddx b/ext/wddx/tests/bug75055.wddx
5221new file mode 100644
5222index 0000000..6493352
5223--- /dev/null
5224+++ b/ext/wddx/tests/bug75055.wddx
5225@@ -0,0 +1,13 @@
5226+<?xml version='1.0'?>
5227+<!DOCTYPE wddxPacket SYSTEM 'wddx_0100.dtd'>
5228+<wddxPacket version='1.0'>
5229+<header/>
5230+ <data>
5231+ <struct>
5232+ <var name='aDateTime'>
5233+ <dateTime>frONt of 0 0</dateTime>
5234+ </var>
5235+ </struct>
5236+ </data>
5237+</wddxPacket>
5238+
5239--
52402.11.0
5241
diff --git a/meta-oe/recipes-devtools/php/php_7.1.9.bb b/meta-oe/recipes-devtools/php/php_7.1.9.bb
index 157369e03..acf68a059 100644
--- a/meta-oe/recipes-devtools/php/php_7.1.9.bb
+++ b/meta-oe/recipes-devtools/php/php_7.1.9.bb
@@ -4,6 +4,7 @@ LIC_FILES_CHKSUM = "file://LICENSE;md5=c0af599f66d0461c5837c695fcbc5c1e"
4 4
5SRC_URI += "file://change-AC_TRY_RUN-to-AC_TRY_LINK.patch \ 5SRC_URI += "file://change-AC_TRY_RUN-to-AC_TRY_LINK.patch \
6 file://0001-Specify-tag-with-libtool.patch \ 6 file://0001-Specify-tag-with-libtool.patch \
7 file://CVE-2017-16642.patch \
7 " 8 "
8SRC_URI[md5sum] = "2397be54f3281cdf30c7ef076b28f7d0" 9SRC_URI[md5sum] = "2397be54f3281cdf30c7ef076b28f7d0"
9SRC_URI[sha256sum] = "314dcc10dfdd7c4443edb4fe1e133a44f2b2a8351be8c9eb6ab9222d45fd9bae" 10SRC_URI[sha256sum] = "314dcc10dfdd7c4443edb4fe1e133a44f2b2a8351be8c9eb6ab9222d45fd9bae"