xref: /PHP-5.3/ext/date/lib/parse_date.c (revision 2326401f)
1 /* Generated by re2c 0.13.5 on Fri Jul 18 16:11:36 2014 */
2 #line 1 "ext/date/lib/parse_date.re"
3 /*
4    +----------------------------------------------------------------------+
5    | PHP Version 5                                                        |
6    +----------------------------------------------------------------------+
7    | Copyright (c) 1997-2013 The PHP Group                                |
8    +----------------------------------------------------------------------+
9    | This source file is subject to version 3.01 of the PHP license,      |
10    | that is bundled with this package in the file LICENSE, and is        |
11    | available through the world-wide-web at the following url:           |
12    | http://www.php.net/license/3_01.txt                                  |
13    | If you did not receive a copy of the PHP license and are unable to   |
14    | obtain it through the world-wide-web, please send a note to          |
15    | license@php.net so we can mail you a copy immediately.               |
16    +----------------------------------------------------------------------+
17    | Authors: Derick Rethans <derick@derickrethans.nl>                    |
18    +----------------------------------------------------------------------+
19  */
20 
21 /* $Id$ */
22 
23 #include "timelib.h"
24 
25 #include <stdio.h>
26 #include <ctype.h>
27 #include <math.h>
28 #include <assert.h>
29 
30 #ifdef HAVE_STDLIB_H
31 #include <stdlib.h>
32 #endif
33 #ifdef HAVE_STRING_H
34 #include <string.h>
35 #else
36 #include <strings.h>
37 #endif
38 
39 #if defined(_MSC_VER)
40 # define strtoll(s, f, b) _atoi64(s)
41 #elif !defined(HAVE_STRTOLL)
42 # if defined(HAVE_ATOLL)
43 #  define strtoll(s, f, b) atoll(s)
44 # else
45 #  define strtoll(s, f, b) strtol(s, f, b)
46 # endif
47 #endif
48 
49 #define TIMELIB_UNSET   -99999
50 
51 #define TIMELIB_SECOND  1
52 #define TIMELIB_MINUTE  2
53 #define TIMELIB_HOUR    3
54 #define TIMELIB_DAY     4
55 #define TIMELIB_MONTH   5
56 #define TIMELIB_YEAR    6
57 #define TIMELIB_WEEKDAY 7
58 #define TIMELIB_SPECIAL 8
59 
60 #define EOI      257
61 #define TIME     258
62 #define DATE     259
63 
64 #define TIMELIB_XMLRPC_SOAP    260
65 #define TIMELIB_TIME12         261
66 #define TIMELIB_TIME24         262
67 #define TIMELIB_GNU_NOCOLON    263
68 #define TIMELIB_GNU_NOCOLON_TZ 264
69 #define TIMELIB_ISO_NOCOLON    265
70 
71 #define TIMELIB_AMERICAN       266
72 #define TIMELIB_ISO_DATE       267
73 #define TIMELIB_DATE_FULL      268
74 #define TIMELIB_DATE_TEXT      269
75 #define TIMELIB_DATE_NOCOLON   270
76 #define TIMELIB_PG_YEARDAY     271
77 #define TIMELIB_PG_TEXT        272
78 #define TIMELIB_PG_REVERSE     273
79 #define TIMELIB_CLF            274
80 #define TIMELIB_DATE_NO_DAY    275
81 #define TIMELIB_SHORTDATE_WITH_TIME 276
82 #define TIMELIB_DATE_FULL_POINTED 277
83 #define TIMELIB_TIME24_WITH_ZONE 278
84 #define TIMELIB_ISO_WEEK       279
85 #define TIMELIB_LF_DAY_OF_MONTH 280
86 #define TIMELIB_WEEK_DAY_OF_MONTH 281
87 
88 #define TIMELIB_TIMEZONE       300
89 #define TIMELIB_AGO            301
90 
91 #define TIMELIB_RELATIVE       310
92 
93 #define TIMELIB_ERROR          999
94 
95 /* Some compilers like AIX, defines uchar in sys/types.h */
96 #undef uchar
97 typedef unsigned char uchar;
98 
99 #define   BSIZE	   8192
100 
101 #define   YYCTYPE      uchar
102 #define   YYCURSOR     cursor
103 #define   YYLIMIT      s->lim
104 #define   YYMARKER     s->ptr
105 #define   YYFILL(n)    return EOI;
106 
107 #define   RET(i)       {s->cur = cursor; return i;}
108 
109 #define timelib_string_free free
110 
111 #define TIMELIB_HAVE_TIME() { if (s->time->have_time) { add_error(s, "Double time specification"); timelib_string_free(str); return TIMELIB_ERROR; } else { s->time->have_time = 1; s->time->h = 0; s->time->i = 0; s->time->s = 0; s->time->f = 0; } }
112 #define TIMELIB_UNHAVE_TIME() { s->time->have_time = 0; s->time->h = 0; s->time->i = 0; s->time->s = 0; s->time->f = 0; }
113 #define TIMELIB_HAVE_DATE() { if (s->time->have_date) { add_error(s, "Double date specification"); timelib_string_free(str); return TIMELIB_ERROR; } else { s->time->have_date = 1; } }
114 #define TIMELIB_UNHAVE_DATE() { s->time->have_date = 0; s->time->d = 0; s->time->m = 0; s->time->y = 0; }
115 #define TIMELIB_HAVE_RELATIVE() { s->time->have_relative = 1; }
116 #define TIMELIB_HAVE_WEEKDAY_RELATIVE() { s->time->have_relative = 1; s->time->relative.have_weekday_relative = 1; }
117 #define TIMELIB_HAVE_SPECIAL_RELATIVE() { s->time->have_relative = 1; s->time->relative.have_special_relative = 1; }
118 #define TIMELIB_HAVE_TZ() { s->cur = cursor; if (s->time->have_zone) { s->time->have_zone > 1 ? add_error(s, "Double timezone specification") : add_warning(s, "Double timezone specification"); timelib_string_free(str); s->time->have_zone++; return TIMELIB_ERROR; } else { s->time->have_zone++; } }
119 
120 #define TIMELIB_INIT  s->cur = cursor; str = timelib_string(s); ptr = str
121 #define TIMELIB_DEINIT timelib_string_free(str)
122 #define TIMELIB_ADJUST_RELATIVE_WEEKDAY() if (in->time.have_weekday_relative && (in.rel.d > 0)) { in.rel.d -= 7; }
123 
124 #define TIMELIB_PROCESS_YEAR(x, l) { \
125 	if (((x) == TIMELIB_UNSET) || ((l) >= 4)) { \
126 	/*	(x) = 0; */          \
127 	} else if ((x) < 100) {  \
128 		if ((x) < 70) {      \
129 			(x) += 2000;     \
130 		} else {             \
131 			(x) += 1900;     \
132 		}                    \
133 	}                        \
134 }
135 
136 #ifdef DEBUG_PARSER
137 #define DEBUG_OUTPUT(s) printf("%s\n", s);
138 #define YYDEBUG(s,c) { if (s != -1) { printf("state: %d ", s); printf("[%c]\n", c); } }
139 #else
140 #define DEBUG_OUTPUT(s)
141 #define YYDEBUG(s,c)
142 #endif
143 
144 #include "timelib_structs.h"
145 
146 typedef struct timelib_elems {
147 	unsigned int   c; /* Number of elements */
148 	char         **v; /* Values */
149 } timelib_elems;
150 
151 typedef struct Scanner {
152 	int           fd;
153 	uchar        *lim, *str, *ptr, *cur, *tok, *pos;
154 	unsigned int  line, len;
155 	struct timelib_error_container *errors;
156 
157 	struct timelib_time *time;
158 	const timelib_tzdb  *tzdb;
159 } Scanner;
160 
161 typedef struct _timelib_lookup_table {
162     const char *name;
163     int         type;
164     int         value;
165 } timelib_lookup_table;
166 
167 typedef struct _timelib_relunit {
168 	const char *name;
169 	int         unit;
170 	int         multiplier;
171 } timelib_relunit;
172 
173 #define HOUR(a) (int)(a * 60)
174 
175 /* The timezone table. */
176 const static timelib_tz_lookup_table timelib_timezone_lookup[] = {
177 #include "timezonemap.h"
178 	{ NULL, 0, 0, NULL },
179 };
180 
181 const static timelib_tz_lookup_table timelib_timezone_fallbackmap[] = {
182 #include "fallbackmap.h"
183 	{ NULL, 0, 0, NULL },
184 };
185 
186 const static timelib_tz_lookup_table timelib_timezone_utc[] = {
187 	{ "utc", 0, 0, "UTC" },
188 };
189 
190 static timelib_relunit const timelib_relunit_lookup[] = {
191 	{ "sec",         TIMELIB_SECOND,  1 },
192 	{ "secs",        TIMELIB_SECOND,  1 },
193 	{ "second",      TIMELIB_SECOND,  1 },
194 	{ "seconds",     TIMELIB_SECOND,  1 },
195 	{ "min",         TIMELIB_MINUTE,  1 },
196 	{ "mins",        TIMELIB_MINUTE,  1 },
197 	{ "minute",      TIMELIB_MINUTE,  1 },
198 	{ "minutes",     TIMELIB_MINUTE,  1 },
199 	{ "hour",        TIMELIB_HOUR,    1 },
200 	{ "hours",       TIMELIB_HOUR,    1 },
201 	{ "day",         TIMELIB_DAY,     1 },
202 	{ "days",        TIMELIB_DAY,     1 },
203 	{ "week",        TIMELIB_DAY,     7 },
204 	{ "weeks",       TIMELIB_DAY,     7 },
205 	{ "fortnight",   TIMELIB_DAY,    14 },
206 	{ "fortnights",  TIMELIB_DAY,    14 },
207 	{ "forthnight",  TIMELIB_DAY,    14 },
208 	{ "forthnights", TIMELIB_DAY,    14 },
209 	{ "month",       TIMELIB_MONTH,   1 },
210 	{ "months",      TIMELIB_MONTH,   1 },
211 	{ "year",        TIMELIB_YEAR,    1 },
212 	{ "years",       TIMELIB_YEAR,    1 },
213 
214 	{ "monday",      TIMELIB_WEEKDAY, 1 },
215 	{ "mon",         TIMELIB_WEEKDAY, 1 },
216 	{ "tuesday",     TIMELIB_WEEKDAY, 2 },
217 	{ "tue",         TIMELIB_WEEKDAY, 2 },
218 	{ "wednesday",   TIMELIB_WEEKDAY, 3 },
219 	{ "wed",         TIMELIB_WEEKDAY, 3 },
220 	{ "thursday",    TIMELIB_WEEKDAY, 4 },
221 	{ "thu",         TIMELIB_WEEKDAY, 4 },
222 	{ "friday",      TIMELIB_WEEKDAY, 5 },
223 	{ "fri",         TIMELIB_WEEKDAY, 5 },
224 	{ "saturday",    TIMELIB_WEEKDAY, 6 },
225 	{ "sat",         TIMELIB_WEEKDAY, 6 },
226 	{ "sunday",      TIMELIB_WEEKDAY, 0 },
227 	{ "sun",         TIMELIB_WEEKDAY, 0 },
228 
229 	{ "weekday",     TIMELIB_SPECIAL, TIMELIB_SPECIAL_WEEKDAY },
230 	{ "weekdays",    TIMELIB_SPECIAL, TIMELIB_SPECIAL_WEEKDAY },
231 	{ NULL,          0,          0 }
232 };
233 
234 /* The relative text table. */
235 static timelib_lookup_table const timelib_reltext_lookup[] = {
236 	{ "first",    0,  1 },
237 	{ "next",     0,  1 },
238 	{ "second",   0,  2 },
239 	{ "third",    0,  3 },
240 	{ "fourth",   0,  4 },
241 	{ "fifth",    0,  5 },
242 	{ "sixth",    0,  6 },
243 	{ "seventh",  0,  7 },
244 	{ "eight",    0,  8 },
245 	{ "eighth",   0,  8 },
246 	{ "ninth",    0,  9 },
247 	{ "tenth",    0, 10 },
248 	{ "eleventh", 0, 11 },
249 	{ "twelfth",  0, 12 },
250 	{ "last",     0, -1 },
251 	{ "previous", 0, -1 },
252 	{ "this",     1,  0 },
253 	{ NULL,       1,  0 }
254 };
255 
256 /* The month table. */
257 static timelib_lookup_table const timelib_month_lookup[] = {
258 	{ "jan",  0,  1 },
259 	{ "feb",  0,  2 },
260 	{ "mar",  0,  3 },
261 	{ "apr",  0,  4 },
262 	{ "may",  0,  5 },
263 	{ "jun",  0,  6 },
264 	{ "jul",  0,  7 },
265 	{ "aug",  0,  8 },
266 	{ "sep",  0,  9 },
267 	{ "sept", 0,  9 },
268 	{ "oct",  0, 10 },
269 	{ "nov",  0, 11 },
270 	{ "dec",  0, 12 },
271 	{ "i",    0,  1 },
272 	{ "ii",   0,  2 },
273 	{ "iii",  0,  3 },
274 	{ "iv",   0,  4 },
275 	{ "v",    0,  5 },
276 	{ "vi",   0,  6 },
277 	{ "vii",  0,  7 },
278 	{ "viii", 0,  8 },
279 	{ "ix",   0,  9 },
280 	{ "x",    0, 10 },
281 	{ "xi",   0, 11 },
282 	{ "xii",  0, 12 },
283 
284 	{ "january",   0,  1 },
285 	{ "february",  0,  2 },
286 	{ "march",     0,  3 },
287 	{ "april",     0,  4 },
288 	{ "may",       0,  5 },
289 	{ "june",      0,  6 },
290 	{ "july",      0,  7 },
291 	{ "august",    0,  8 },
292 	{ "september", 0,  9 },
293 	{ "october",   0, 10 },
294 	{ "november",  0, 11 },
295 	{ "december",  0, 12 },
296 	{  NULL,       0,  0 }
297 };
298 
299 #if 0
300 static char* timelib_ltrim(char *s)
301 {
302 	char *ptr = s;
303 	while (ptr[0] == ' ' || ptr[0] == '\t') {
304 		ptr++;
305 	}
306 	return ptr;
307 }
308 #endif
309 
310 #if 0
311 uchar *fill(Scanner *s, uchar *cursor){
312 	if(!s->eof){
313 		unsigned int cnt = s->tok - s->bot;
314 		if(cnt){
315 			memcpy(s->bot, s->tok, s->lim - s->tok);
316 			s->tok = s->bot;
317 			s->ptr -= cnt;
318 			cursor -= cnt;
319 			s->pos -= cnt;
320 			s->lim -= cnt;
321 		}
322 		if((s->top - s->lim) < BSIZE){
323 			uchar *buf = (uchar*) malloc(((s->lim - s->bot) + BSIZE)*sizeof(uchar));
324 			memcpy(buf, s->tok, s->lim - s->tok);
325 			s->tok = buf;
326 			s->ptr = &buf[s->ptr - s->bot];
327 			cursor = &buf[cursor - s->bot];
328 			s->pos = &buf[s->pos - s->bot];
329 			s->lim = &buf[s->lim - s->bot];
330 			s->top = &s->lim[BSIZE];
331 			free(s->bot);
332 			s->bot = buf;
333 		}
334 		if((cnt = read(s->fd, (char*) s->lim, BSIZE)) != BSIZE){
335 			s->eof = &s->lim[cnt]; *(s->eof)++ = '\n';
336 		}
337 		s->lim += cnt;
338 	}
339 	return cursor;
340 }
341 #endif
342 
add_warning(Scanner * s,char * error)343 static void add_warning(Scanner *s, char *error)
344 {
345 	s->errors->warning_count++;
346 	s->errors->warning_messages = realloc(s->errors->warning_messages, s->errors->warning_count * sizeof(timelib_error_message));
347 	s->errors->warning_messages[s->errors->warning_count - 1].position = s->tok ? s->tok - s->str : 0;
348 	s->errors->warning_messages[s->errors->warning_count - 1].character = s->tok ? *s->tok : 0;
349 	s->errors->warning_messages[s->errors->warning_count - 1].message = strdup(error);
350 }
351 
add_error(Scanner * s,char * error)352 static void add_error(Scanner *s, char *error)
353 {
354 	s->errors->error_count++;
355 	s->errors->error_messages = realloc(s->errors->error_messages, s->errors->error_count * sizeof(timelib_error_message));
356 	s->errors->error_messages[s->errors->error_count - 1].position = s->tok ? s->tok - s->str : 0;
357 	s->errors->error_messages[s->errors->error_count - 1].character = s->tok ? *s->tok : 0;
358 	s->errors->error_messages[s->errors->error_count - 1].message = strdup(error);
359 }
360 
add_pbf_warning(Scanner * s,char * error,char * sptr,char * cptr)361 static void add_pbf_warning(Scanner *s, char *error, char *sptr, char *cptr)
362 {
363 	s->errors->warning_count++;
364 	s->errors->warning_messages = realloc(s->errors->warning_messages, s->errors->warning_count * sizeof(timelib_error_message));
365 	s->errors->warning_messages[s->errors->warning_count - 1].position = cptr - sptr;
366 	s->errors->warning_messages[s->errors->warning_count - 1].character = *cptr;
367 	s->errors->warning_messages[s->errors->warning_count - 1].message = strdup(error);
368 }
369 
add_pbf_error(Scanner * s,char * error,char * sptr,char * cptr)370 static void add_pbf_error(Scanner *s, char *error, char *sptr, char *cptr)
371 {
372 	s->errors->error_count++;
373 	s->errors->error_messages = realloc(s->errors->error_messages, s->errors->error_count * sizeof(timelib_error_message));
374 	s->errors->error_messages[s->errors->error_count - 1].position = cptr - sptr;
375 	s->errors->error_messages[s->errors->error_count - 1].character = *cptr;
376 	s->errors->error_messages[s->errors->error_count - 1].message = strdup(error);
377 }
378 
timelib_meridian(char ** ptr,timelib_sll h)379 static timelib_sll timelib_meridian(char **ptr, timelib_sll h)
380 {
381 	timelib_sll retval = 0;
382 
383 	while (!strchr("AaPp", **ptr)) {
384 		++*ptr;
385 	}
386 	if (**ptr == 'a' || **ptr == 'A') {
387 		if (h == 12) {
388 			retval = -12;
389 		}
390 	} else if (h != 12) {
391 		retval = 12;
392 	}
393 	++*ptr;
394 	if (**ptr == '.') {
395 		*ptr += 3;
396 	} else {
397 		++*ptr;
398 	}
399 	return retval;
400 }
401 
timelib_meridian_with_check(char ** ptr,timelib_sll h)402 static timelib_sll timelib_meridian_with_check(char **ptr, timelib_sll h)
403 {
404 	timelib_sll retval = 0;
405 
406 	while (**ptr && !strchr("AaPp", **ptr)) {
407 		++*ptr;
408 	}
409     if(!**ptr) {
410         return TIMELIB_UNSET;
411     }
412 	if (**ptr == 'a' || **ptr == 'A') {
413 		if (h == 12) {
414 			retval = -12;
415 		}
416 	} else if (h != 12) {
417 		retval = 12;
418 	}
419 	++*ptr;
420 	if (**ptr == '.') {
421 		++*ptr;
422 		if (**ptr != 'm' && **ptr != 'M') {
423 			return TIMELIB_UNSET;
424 		}
425 		++*ptr;
426 		if (**ptr != '.' ) {
427 			return TIMELIB_UNSET;
428 		}
429 		++*ptr;
430 	} else if (**ptr == 'm' || **ptr == 'M') {
431 		++*ptr;
432 	} else {
433 		return TIMELIB_UNSET;
434 	}
435 	return retval;
436 }
437 
timelib_string(Scanner * s)438 static char *timelib_string(Scanner *s)
439 {
440 	char *tmp = calloc(1, s->cur - s->tok + 1);
441 	memcpy(tmp, s->tok, s->cur - s->tok);
442 
443 	return tmp;
444 }
445 
timelib_get_nr_ex(char ** ptr,int max_length,int * scanned_length)446 static timelib_sll timelib_get_nr_ex(char **ptr, int max_length, int *scanned_length)
447 {
448 	char *begin, *end, *str;
449 	timelib_sll tmp_nr = TIMELIB_UNSET;
450 	int len = 0;
451 
452 	while ((**ptr < '0') || (**ptr > '9')) {
453 		if (**ptr == '\0') {
454 			return TIMELIB_UNSET;
455 		}
456 		++*ptr;
457 	}
458 	begin = *ptr;
459 	while ((**ptr >= '0') && (**ptr <= '9') && len < max_length) {
460 		++*ptr;
461 		++len;
462 	}
463 	end = *ptr;
464 	if (scanned_length) {
465 		*scanned_length = end - begin;
466 	}
467 	str = calloc(1, end - begin + 1);
468 	memcpy(str, begin, end - begin);
469 	tmp_nr = strtoll(str, NULL, 10);
470 	free(str);
471 	return tmp_nr;
472 }
473 
timelib_get_nr(char ** ptr,int max_length)474 static timelib_sll timelib_get_nr(char **ptr, int max_length)
475 {
476 	return timelib_get_nr_ex(ptr, max_length, NULL);
477 }
478 
timelib_skip_day_suffix(char ** ptr)479 static void timelib_skip_day_suffix(char **ptr)
480 {
481 	if (isspace(**ptr)) {
482 		return;
483 	}
484 	if (!strncasecmp(*ptr, "nd", 2) || !strncasecmp(*ptr, "rd", 2) ||!strncasecmp(*ptr, "st", 2) || !strncasecmp(*ptr, "th", 2)) {
485 		*ptr += 2;
486 	}
487 }
488 
timelib_get_frac_nr(char ** ptr,int max_length)489 static double timelib_get_frac_nr(char **ptr, int max_length)
490 {
491 	char *begin, *end, *str;
492 	double tmp_nr = TIMELIB_UNSET;
493 	int len = 0;
494 
495 	while ((**ptr != '.') && (**ptr != ':') && ((**ptr < '0') || (**ptr > '9'))) {
496 		if (**ptr == '\0') {
497 			return TIMELIB_UNSET;
498 		}
499 		++*ptr;
500 	}
501 	begin = *ptr;
502 	while (((**ptr == '.') || (**ptr == ':') || ((**ptr >= '0') && (**ptr <= '9'))) && len < max_length) {
503 		++*ptr;
504 		++len;
505 	}
506 	end = *ptr;
507 	str = calloc(1, end - begin + 1);
508 	memcpy(str, begin, end - begin);
509 	if (str[0] == ':') {
510 		str[0] = '.';
511 	}
512 	tmp_nr = strtod(str, NULL);
513 	free(str);
514 	return tmp_nr;
515 }
516 
timelib_get_unsigned_nr(char ** ptr,int max_length)517 static timelib_ull timelib_get_unsigned_nr(char **ptr, int max_length)
518 {
519 	timelib_ull dir = 1;
520 
521 	while (((**ptr < '0') || (**ptr > '9')) && (**ptr != '+') && (**ptr != '-')) {
522 		if (**ptr == '\0') {
523 			return TIMELIB_UNSET;
524 		}
525 		++*ptr;
526 	}
527 
528 	while (**ptr == '+' || **ptr == '-')
529 	{
530 		if (**ptr == '-') {
531 			dir *= -1;
532 		}
533 		++*ptr;
534 	}
535 	return dir * timelib_get_nr(ptr, max_length);
536 }
537 
timelib_parse_tz_cor(char ** ptr)538 static long timelib_parse_tz_cor(char **ptr)
539 {
540 	char *begin = *ptr, *end;
541 	long  tmp;
542 
543 	while (isdigit(**ptr) || **ptr == ':') {
544 		++*ptr;
545 	}
546 	end = *ptr;
547 	switch (end - begin) {
548 		case 1:
549 		case 2:
550 			return HOUR(strtol(begin, NULL, 10));
551 			break;
552 		case 3:
553 		case 4:
554 			if (begin[1] == ':') {
555 				tmp = HOUR(strtol(begin, NULL, 10)) + strtol(begin + 2, NULL, 10);
556 				return tmp;
557 			} else if (begin[2] == ':') {
558 				tmp = HOUR(strtol(begin, NULL, 10)) + strtol(begin + 3, NULL, 10);
559 				return tmp;
560 			} else {
561 				tmp = strtol(begin, NULL, 10);
562 				return HOUR(tmp / 100) + tmp % 100;
563 			}
564 		case 5:
565 			tmp = HOUR(strtol(begin, NULL, 10)) + strtol(begin + 3, NULL, 10);
566 			return tmp;
567 	}
568 	return 0;
569 }
570 
timelib_lookup_relative_text(char ** ptr,int * behavior)571 static timelib_sll timelib_lookup_relative_text(char **ptr, int *behavior)
572 {
573 	char *word;
574 	char *begin = *ptr, *end;
575 	timelib_sll  value = 0;
576 	const timelib_lookup_table *tp;
577 
578 	while ((**ptr >= 'A' && **ptr <= 'Z') || (**ptr >= 'a' && **ptr <= 'z')) {
579 		++*ptr;
580 	}
581 	end = *ptr;
582 	word = calloc(1, end - begin + 1);
583 	memcpy(word, begin, end - begin);
584 
585 	for (tp = timelib_reltext_lookup; tp->name; tp++) {
586 		if (strcasecmp(word, tp->name) == 0) {
587 			value = tp->value;
588 			*behavior = tp->type;
589 		}
590 	}
591 
592 	free(word);
593 	return value;
594 }
595 
timelib_get_relative_text(char ** ptr,int * behavior)596 static timelib_sll timelib_get_relative_text(char **ptr, int *behavior)
597 {
598 	while (**ptr == ' ' || **ptr == '\t' || **ptr == '-' || **ptr == '/') {
599 		++*ptr;
600 	}
601 	return timelib_lookup_relative_text(ptr, behavior);
602 }
603 
timelib_lookup_month(char ** ptr)604 static long timelib_lookup_month(char **ptr)
605 {
606 	char *word;
607 	char *begin = *ptr, *end;
608 	long  value = 0;
609 	const timelib_lookup_table *tp;
610 
611 	while ((**ptr >= 'A' && **ptr <= 'Z') || (**ptr >= 'a' && **ptr <= 'z')) {
612 		++*ptr;
613 	}
614 	end = *ptr;
615 	word = calloc(1, end - begin + 1);
616 	memcpy(word, begin, end - begin);
617 
618 	for (tp = timelib_month_lookup; tp->name; tp++) {
619 		if (strcasecmp(word, tp->name) == 0) {
620 			value = tp->value;
621 		}
622 	}
623 
624 	free(word);
625 	return value;
626 }
627 
timelib_get_month(char ** ptr)628 static long timelib_get_month(char **ptr)
629 {
630 	while (**ptr == ' ' || **ptr == '\t' || **ptr == '-' || **ptr == '.' || **ptr == '/') {
631 		++*ptr;
632 	}
633 	return timelib_lookup_month(ptr);
634 }
635 
timelib_eat_spaces(char ** ptr)636 static void timelib_eat_spaces(char **ptr)
637 {
638 	while (**ptr == ' ' || **ptr == '\t') {
639 		++*ptr;
640 	}
641 }
642 
timelib_eat_until_separator(char ** ptr)643 static void timelib_eat_until_separator(char **ptr)
644 {
645 	++*ptr;
646 	while (strchr(" \t.,:;/-0123456789", **ptr) == NULL) {
647 		++*ptr;
648 	}
649 }
650 
timelib_lookup_relunit(char ** ptr)651 static const timelib_relunit* timelib_lookup_relunit(char **ptr)
652 {
653 	char *word;
654 	char *begin = *ptr, *end;
655 	const timelib_relunit *tp, *value = NULL;
656 
657 	while (**ptr != '\0' && **ptr != ' ' && **ptr != ',' && **ptr != '\t') {
658 		++*ptr;
659 	}
660 	end = *ptr;
661 	word = calloc(1, end - begin + 1);
662 	memcpy(word, begin, end - begin);
663 
664 	for (tp = timelib_relunit_lookup; tp->name; tp++) {
665 		if (strcasecmp(word, tp->name) == 0) {
666 			value = tp;
667 			break;
668 		}
669 	}
670 
671 	free(word);
672 	return value;
673 }
674 
timelib_set_relative(char ** ptr,timelib_sll amount,int behavior,Scanner * s)675 static void timelib_set_relative(char **ptr, timelib_sll amount, int behavior, Scanner *s)
676 {
677 	const timelib_relunit* relunit;
678 
679 	if (!(relunit = timelib_lookup_relunit(ptr))) {
680 		return;
681 	}
682 
683 	switch (relunit->unit) {
684 		case TIMELIB_SECOND: s->time->relative.s += amount * relunit->multiplier; break;
685 		case TIMELIB_MINUTE: s->time->relative.i += amount * relunit->multiplier; break;
686 		case TIMELIB_HOUR:   s->time->relative.h += amount * relunit->multiplier; break;
687 		case TIMELIB_DAY:    s->time->relative.d += amount * relunit->multiplier; break;
688 		case TIMELIB_MONTH:  s->time->relative.m += amount * relunit->multiplier; break;
689 		case TIMELIB_YEAR:   s->time->relative.y += amount * relunit->multiplier; break;
690 
691 		case TIMELIB_WEEKDAY:
692 			TIMELIB_HAVE_WEEKDAY_RELATIVE();
693 			TIMELIB_UNHAVE_TIME();
694 			s->time->relative.d += (amount > 0 ? amount - 1 : amount) * 7;
695 			s->time->relative.weekday = relunit->multiplier;
696 			s->time->relative.weekday_behavior = behavior;
697 			break;
698 
699 		case TIMELIB_SPECIAL:
700 			TIMELIB_HAVE_SPECIAL_RELATIVE();
701 			TIMELIB_UNHAVE_TIME();
702 			s->time->relative.special.type = relunit->multiplier;
703 			s->time->relative.special.amount = amount;
704 	}
705 }
706 
zone_search(const char * word,long gmtoffset,int isdst)707 const static timelib_tz_lookup_table* zone_search(const char *word, long gmtoffset, int isdst)
708 {
709 	int first_found = 0;
710 	const timelib_tz_lookup_table  *tp, *first_found_elem = NULL;
711 	const timelib_tz_lookup_table  *fmp;
712 
713 	if (strcasecmp("utc", word) == 0 || strcasecmp("gmt", word) == 0) {
714 		return timelib_timezone_utc;
715 	}
716 
717 	for (tp = timelib_timezone_lookup; tp->name; tp++) {
718 		if (strcasecmp(word, tp->name) == 0) {
719 			if (!first_found) {
720 				first_found = 1;
721 				first_found_elem = tp;
722 				if (gmtoffset == -1) {
723 					return tp;
724 				}
725 			}
726 			if (tp->gmtoffset == gmtoffset) {
727 				return tp;
728 			}
729 		}
730 	}
731 	if (first_found) {
732 		return first_found_elem;
733 	}
734 
735 	for (tp = timelib_timezone_lookup; tp->name; tp++) {
736 		if (tp->full_tz_name && strcasecmp(word, tp->full_tz_name) == 0) {
737 			if (!first_found) {
738 				first_found = 1;
739 				first_found_elem = tp;
740 				if (gmtoffset == -1) {
741 					return tp;
742 				}
743 			}
744 			if (tp->gmtoffset == gmtoffset) {
745 				return tp;
746 			}
747 		}
748 	}
749 	if (first_found) {
750 		return first_found_elem;
751 	}
752 
753 
754 	/* Still didn't find anything, let's find the zone solely based on
755 	 * offset/isdst then */
756 	for (fmp = timelib_timezone_fallbackmap; fmp->name; fmp++) {
757 		if ((fmp->gmtoffset * 3600) == gmtoffset && fmp->type == isdst) {
758 			return fmp;
759 		}
760 	}
761 	return NULL;
762 }
763 
timelib_lookup_zone(char ** ptr,int * dst,char ** tz_abbr,int * found)764 static long timelib_lookup_zone(char **ptr, int *dst, char **tz_abbr, int *found)
765 {
766 	char *word;
767 	char *begin = *ptr, *end;
768 	long  value = 0;
769 	const timelib_tz_lookup_table *tp;
770 
771 	while (**ptr != '\0' && **ptr != ')' && **ptr != ' ') {
772 		++*ptr;
773 	}
774 	end = *ptr;
775 	word = calloc(1, end - begin + 1);
776 	memcpy(word, begin, end - begin);
777 
778 	if ((tp = zone_search(word, -1, 0))) {
779 		value = -tp->gmtoffset / 60;
780 		*dst = tp->type;
781 		value += tp->type * 60;
782 		*found = 1;
783 	} else {
784 		*found = 0;
785 	}
786 
787 	*tz_abbr = word;
788 	return value;
789 }
790 
timelib_get_zone(char ** ptr,int * dst,timelib_time * t,int * tz_not_found,const timelib_tzdb * tzdb,timelib_tz_get_wrapper tz_wrapper)791 static long timelib_get_zone(char **ptr, int *dst, timelib_time *t, int *tz_not_found, const timelib_tzdb *tzdb, timelib_tz_get_wrapper tz_wrapper)
792 {
793 	timelib_tzinfo *res;
794 	long            retval = 0;
795 
796 	*tz_not_found = 0;
797 
798 	while (**ptr == ' ' || **ptr == '\t' || **ptr == '(') {
799 		++*ptr;
800 	}
801 	if ((*ptr)[0] == 'G' && (*ptr)[1] == 'M' && (*ptr)[2] == 'T' && ((*ptr)[3] == '+' || (*ptr)[3] == '-')) {
802 		*ptr += 3;
803 	}
804 	if (**ptr == '+') {
805 		++*ptr;
806 		t->is_localtime = 1;
807 		t->zone_type = TIMELIB_ZONETYPE_OFFSET;
808 		*tz_not_found = 0;
809 		t->dst = 0;
810 
811 		retval = -1 * timelib_parse_tz_cor(ptr);
812 	} else if (**ptr == '-') {
813 		++*ptr;
814 		t->is_localtime = 1;
815 		t->zone_type = TIMELIB_ZONETYPE_OFFSET;
816 		*tz_not_found = 0;
817 		t->dst = 0;
818 
819 		retval = timelib_parse_tz_cor(ptr);
820 	} else {
821 		int found = 0;
822 		long offset;
823 		char *tz_abbr;
824 
825 		t->is_localtime = 1;
826 
827 		offset = timelib_lookup_zone(ptr, dst, &tz_abbr, &found);
828 		if (found) {
829 			t->zone_type = TIMELIB_ZONETYPE_ABBR;
830 		}
831 #if 0
832 		/* If we found a TimeZone identifier, use it */
833 		if (tz_name) {
834 			t->tz_info = timelib_parse_tzfile(tz_name);
835 			t->zone_type = TIMELIB_ZONETYPE_ID;
836 		}
837 #endif
838 		/* If we have a TimeZone identifier to start with, use it */
839 		if (strstr(tz_abbr, "/") || strcmp(tz_abbr, "UTC") == 0) {
840 			if ((res = tz_wrapper(tz_abbr, tzdb)) != NULL) {
841 				t->tz_info = res;
842 				t->zone_type = TIMELIB_ZONETYPE_ID;
843 				found++;
844 			}
845 		}
846 		if (found && t->zone_type != TIMELIB_ZONETYPE_ID) {
847 			timelib_time_tz_abbr_update(t, tz_abbr);
848 		}
849 		free(tz_abbr);
850 		*tz_not_found = (found == 0);
851 		retval = offset;
852 	}
853 	while (**ptr == ')') {
854 		++*ptr;
855 	}
856 	return retval;
857 }
858 
859 #define timelib_split_free(arg) {       \
860 	int i;                         \
861 	for (i = 0; i < arg.c; i++) {  \
862 		free(arg.v[i]);            \
863 	}                              \
864 	if (arg.v) {                   \
865 		free(arg.v);               \
866 	}                              \
867 }
868 
scan(Scanner * s,timelib_tz_get_wrapper tz_get_wrapper)869 static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper)
870 {
871 	uchar *cursor = s->cur;
872 	char *str, *ptr = NULL;
873 
874 std:
875 	s->tok = cursor;
876 	s->len = 0;
877 #line 1000 "ext/date/lib/parse_date.re"
878 
879 
880 
881 #line 882 "ext/date/lib/parse_date.c"
882 {
883 	YYCTYPE yych;
884 	unsigned int yyaccept = 0;
885 	static const unsigned char yybm[] = {
886 		  0,   0,   0,   0,   0,   0,   0,   0,
887 		  0, 100,   0,   0,   0,   0,   0,   0,
888 		  0,   0,   0,   0,   0,   0,   0,   0,
889 		  0,   0,   0,   0,   0,   0,   0,   0,
890 		100,   0,   0,   0,   0,   0,   0,   0,
891 		  0,   0,   0, 128,  64, 160,  96,   0,
892 		  2,   2,   2,   2,   2,   2,   2,   2,
893 		  2,   2,   0,   0,   0,   0,   0,   0,
894 		  0,   8,   8,   8,   8,   8,   8,   8,
895 		  8,   8,   8,   8,   8,   8,   8,   8,
896 		  8,   8,   8,   8,   8,   8,   8,   8,
897 		  8,   8,   8,   0,   0,   0,   0,   0,
898 		  0,  24,  24,  24,  88,  24,  24,  24,
899 		 88,  24,  24,  24,  24,  24,  88,  24,
900 		 24,  24,  88,  88,  88,  24,  24,  24,
901 		 24,  24,  24,   0,   0,   0,   0,   0,
902 		  0,   0,   0,   0,   0,   0,   0,   0,
903 		  0,   0,   0,   0,   0,   0,   0,   0,
904 		  0,   0,   0,   0,   0,   0,   0,   0,
905 		  0,   0,   0,   0,   0,   0,   0,   0,
906 		  0,   0,   0,   0,   0,   0,   0,   0,
907 		  0,   0,   0,   0,   0,   0,   0,   0,
908 		  0,   0,   0,   0,   0,   0,   0,   0,
909 		  0,   0,   0,   0,   0,   0,   0,   0,
910 		  0,   0,   0,   0,   0,   0,   0,   0,
911 		  0,   0,   0,   0,   0,   0,   0,   0,
912 		  0,   0,   0,   0,   0,   0,   0,   0,
913 		  0,   0,   0,   0,   0,   0,   0,   0,
914 		  0,   0,   0,   0,   0,   0,   0,   0,
915 		  0,   0,   0,   0,   0,   0,   0,   0,
916 		  0,   0,   0,   0,   0,   0,   0,   0,
917 		  0,   0,   0,   0,   0,   0,   0,   0,
918 	};
919 
920 	YYDEBUG(0, *YYCURSOR);
921 	if ((YYLIMIT - YYCURSOR) < 31) YYFILL(31);
922 	yych = *YYCURSOR;
923 	YYDEBUG(-1, yych);
924 	switch (yych) {
925 	case 0x00:
926 	case '\n':	goto yy52;
927 	case '\t':
928 	case ' ':	goto yy49;
929 	case '(':	goto yy46;
930 	case '+':
931 	case '-':	goto yy31;
932 	case ',':
933 	case '.':	goto yy51;
934 	case '0':	goto yy26;
935 	case '1':	goto yy27;
936 	case '2':	goto yy28;
937 	case '3':	goto yy29;
938 	case '4':
939 	case '5':
940 	case '6':
941 	case '7':
942 	case '8':
943 	case '9':	goto yy30;
944 	case '@':	goto yy12;
945 	case 'A':	goto yy37;
946 	case 'B':	goto yy18;
947 	case 'C':
948 	case 'H':
949 	case 'K':
950 	case 'Q':
951 	case 'R':
952 	case 'U':
953 	case 'Z':	goto yy47;
954 	case 'D':	goto yy41;
955 	case 'E':	goto yy22;
956 	case 'F':	goto yy14;
957 	case 'G':	goto yy45;
958 	case 'I':	goto yy32;
959 	case 'J':	goto yy35;
960 	case 'L':	goto yy16;
961 	case 'M':	goto yy8;
962 	case 'N':	goto yy6;
963 	case 'O':	goto yy39;
964 	case 'P':	goto yy24;
965 	case 'S':	goto yy20;
966 	case 'T':	goto yy10;
967 	case 'V':	goto yy33;
968 	case 'W':	goto yy43;
969 	case 'X':	goto yy34;
970 	case 'Y':	goto yy3;
971 	case 'a':	goto yy38;
972 	case 'b':	goto yy19;
973 	case 'c':
974 	case 'g':
975 	case 'h':
976 	case 'i':
977 	case 'k':
978 	case 'q':
979 	case 'r':
980 	case 'u':
981 	case 'v':
982 	case 'x':
983 	case 'z':	goto yy48;
984 	case 'd':	goto yy42;
985 	case 'e':	goto yy23;
986 	case 'f':	goto yy15;
987 	case 'j':	goto yy36;
988 	case 'l':	goto yy17;
989 	case 'm':	goto yy9;
990 	case 'n':	goto yy7;
991 	case 'o':	goto yy40;
992 	case 'p':	goto yy25;
993 	case 's':	goto yy21;
994 	case 't':	goto yy11;
995 	case 'w':	goto yy44;
996 	case 'y':	goto yy5;
997 	default:	goto yy54;
998 	}
999 yy2:
1000 	YYDEBUG(2, *YYCURSOR);
1001 #line 1085 "ext/date/lib/parse_date.re"
1002 	{
1003 		DEBUG_OUTPUT("firstdayof | lastdayof");
1004 		TIMELIB_INIT;
1005 		TIMELIB_HAVE_RELATIVE();
1006 
1007 		/* skip "last day of" or "first day of" */
1008 		if (*ptr == 'l') {
1009 			s->time->relative.first_last_day_of = 2;
1010 		} else {
1011 			s->time->relative.first_last_day_of = 1;
1012 		}
1013 
1014 		TIMELIB_DEINIT;
1015 		return TIMELIB_LF_DAY_OF_MONTH;
1016 	}
1017 #line 1018 "ext/date/lib/parse_date.c"
1018 yy3:
1019 	YYDEBUG(3, *YYCURSOR);
1020 	++YYCURSOR;
1021 	if ((yych = *YYCURSOR) <= 'E') {
1022 		if (yych <= ')') {
1023 			if (yych >= ')') goto yy140;
1024 		} else {
1025 			if (yych <= '@') goto yy4;
1026 			if (yych <= 'D') goto yy141;
1027 			goto yy1523;
1028 		}
1029 	} else {
1030 		if (yych <= 'd') {
1031 			if (yych <= 'Z') goto yy141;
1032 			if (yych >= 'a') goto yy146;
1033 		} else {
1034 			if (yych <= 'e') goto yy1532;
1035 			if (yych <= 'z') goto yy146;
1036 		}
1037 	}
1038 yy4:
1039 	YYDEBUG(4, *YYCURSOR);
1040 #line 1679 "ext/date/lib/parse_date.re"
1041 	{
1042 		int tz_not_found;
1043 		DEBUG_OUTPUT("tzcorrection | tz");
1044 		TIMELIB_INIT;
1045 		TIMELIB_HAVE_TZ();
1046 		s->time->z = timelib_get_zone((char **) &ptr, &s->time->dst, s->time, &tz_not_found, s->tzdb, tz_get_wrapper);
1047 		if (tz_not_found) {
1048 			add_error(s, "The timezone could not be found in the database");
1049 		}
1050 		TIMELIB_DEINIT;
1051 		return TIMELIB_TIMEZONE;
1052 	}
1053 #line 1054 "ext/date/lib/parse_date.c"
1054 yy5:
1055 	YYDEBUG(5, *YYCURSOR);
1056 	yych = *++YYCURSOR;
1057 	if (yych <= 'E') {
1058 		if (yych <= ')') {
1059 			if (yych <= '(') goto yy4;
1060 			goto yy140;
1061 		} else {
1062 			if (yych <= '@') goto yy4;
1063 			if (yych <= 'D') goto yy141;
1064 			goto yy1523;
1065 		}
1066 	} else {
1067 		if (yych <= 'd') {
1068 			if (yych <= 'Z') goto yy141;
1069 			if (yych <= '`') goto yy4;
1070 			goto yy141;
1071 		} else {
1072 			if (yych <= 'e') goto yy1523;
1073 			if (yych <= 'z') goto yy141;
1074 			goto yy4;
1075 		}
1076 	}
1077 yy6:
1078 	YYDEBUG(6, *YYCURSOR);
1079 	yych = *++YYCURSOR;
1080 	if (yych <= 'O') {
1081 		if (yych <= 'D') {
1082 			if (yych == ')') goto yy140;
1083 			if (yych <= '@') goto yy4;
1084 			goto yy141;
1085 		} else {
1086 			if (yych <= 'H') {
1087 				if (yych <= 'E') goto yy1494;
1088 				goto yy141;
1089 			} else {
1090 				if (yych <= 'I') goto yy1495;
1091 				if (yych <= 'N') goto yy141;
1092 				goto yy1493;
1093 			}
1094 		}
1095 	} else {
1096 		if (yych <= 'h') {
1097 			if (yych <= '`') {
1098 				if (yych <= 'Z') goto yy141;
1099 				goto yy4;
1100 			} else {
1101 				if (yych == 'e') goto yy1510;
1102 				goto yy146;
1103 			}
1104 		} else {
1105 			if (yych <= 'n') {
1106 				if (yych <= 'i') goto yy1511;
1107 				goto yy146;
1108 			} else {
1109 				if (yych <= 'o') goto yy1509;
1110 				if (yych <= 'z') goto yy146;
1111 				goto yy4;
1112 			}
1113 		}
1114 	}
1115 yy7:
1116 	YYDEBUG(7, *YYCURSOR);
1117 	yych = *++YYCURSOR;
1118 	if (yych <= 'O') {
1119 		if (yych <= 'D') {
1120 			if (yych == ')') goto yy140;
1121 			if (yych <= '@') goto yy4;
1122 			goto yy141;
1123 		} else {
1124 			if (yych <= 'H') {
1125 				if (yych <= 'E') goto yy1494;
1126 				goto yy141;
1127 			} else {
1128 				if (yych <= 'I') goto yy1495;
1129 				if (yych <= 'N') goto yy141;
1130 				goto yy1493;
1131 			}
1132 		}
1133 	} else {
1134 		if (yych <= 'h') {
1135 			if (yych <= '`') {
1136 				if (yych <= 'Z') goto yy141;
1137 				goto yy4;
1138 			} else {
1139 				if (yych == 'e') goto yy1494;
1140 				goto yy141;
1141 			}
1142 		} else {
1143 			if (yych <= 'n') {
1144 				if (yych <= 'i') goto yy1495;
1145 				goto yy141;
1146 			} else {
1147 				if (yych <= 'o') goto yy1493;
1148 				if (yych <= 'z') goto yy141;
1149 				goto yy4;
1150 			}
1151 		}
1152 	}
1153 yy8:
1154 	YYDEBUG(8, *YYCURSOR);
1155 	yych = *++YYCURSOR;
1156 	if (yych <= 'O') {
1157 		if (yych <= 'A') {
1158 			if (yych == ')') goto yy140;
1159 			if (yych <= '@') goto yy4;
1160 			goto yy1463;
1161 		} else {
1162 			if (yych == 'I') goto yy1464;
1163 			if (yych <= 'N') goto yy141;
1164 			goto yy1465;
1165 		}
1166 	} else {
1167 		if (yych <= 'h') {
1168 			if (yych <= 'Z') goto yy141;
1169 			if (yych <= '`') goto yy4;
1170 			if (yych <= 'a') goto yy1478;
1171 			goto yy146;
1172 		} else {
1173 			if (yych <= 'n') {
1174 				if (yych <= 'i') goto yy1479;
1175 				goto yy146;
1176 			} else {
1177 				if (yych <= 'o') goto yy1480;
1178 				if (yych <= 'z') goto yy146;
1179 				goto yy4;
1180 			}
1181 		}
1182 	}
1183 yy9:
1184 	YYDEBUG(9, *YYCURSOR);
1185 	yych = *++YYCURSOR;
1186 	if (yych <= 'O') {
1187 		if (yych <= 'A') {
1188 			if (yych == ')') goto yy140;
1189 			if (yych <= '@') goto yy4;
1190 			goto yy1463;
1191 		} else {
1192 			if (yych == 'I') goto yy1464;
1193 			if (yych <= 'N') goto yy141;
1194 			goto yy1465;
1195 		}
1196 	} else {
1197 		if (yych <= 'h') {
1198 			if (yych <= 'Z') goto yy141;
1199 			if (yych <= '`') goto yy4;
1200 			if (yych <= 'a') goto yy1463;
1201 			goto yy141;
1202 		} else {
1203 			if (yych <= 'n') {
1204 				if (yych <= 'i') goto yy1464;
1205 				goto yy141;
1206 			} else {
1207 				if (yych <= 'o') goto yy1465;
1208 				if (yych <= 'z') goto yy141;
1209 				goto yy4;
1210 			}
1211 		}
1212 	}
1213 yy10:
1214 	YYDEBUG(10, *YYCURSOR);
1215 	yyaccept = 0;
1216 	yych = *(YYMARKER = ++YYCURSOR);
1217 	YYDEBUG(-1, yych);
1218 	switch (yych) {
1219 	case ')':	goto yy140;
1220 	case '0':
1221 	case '1':	goto yy1393;
1222 	case '2':	goto yy1394;
1223 	case '3':
1224 	case '4':
1225 	case '5':
1226 	case '6':
1227 	case '7':
1228 	case '8':
1229 	case '9':	goto yy1395;
1230 	case 'A':
1231 	case 'B':
1232 	case 'C':
1233 	case 'D':
1234 	case 'F':
1235 	case 'G':
1236 	case 'I':
1237 	case 'J':
1238 	case 'K':
1239 	case 'L':
1240 	case 'M':
1241 	case 'N':
1242 	case 'P':
1243 	case 'Q':
1244 	case 'R':
1245 	case 'S':
1246 	case 'T':
1247 	case 'V':
1248 	case 'X':
1249 	case 'Y':
1250 	case 'Z':	goto yy141;
1251 	case 'E':	goto yy1388;
1252 	case 'H':	goto yy1389;
1253 	case 'O':	goto yy1390;
1254 	case 'U':	goto yy1391;
1255 	case 'W':	goto yy1392;
1256 	case 'a':
1257 	case 'b':
1258 	case 'c':
1259 	case 'd':
1260 	case 'f':
1261 	case 'g':
1262 	case 'i':
1263 	case 'j':
1264 	case 'k':
1265 	case 'l':
1266 	case 'm':
1267 	case 'n':
1268 	case 'p':
1269 	case 'q':
1270 	case 'r':
1271 	case 's':
1272 	case 't':
1273 	case 'v':
1274 	case 'x':
1275 	case 'y':
1276 	case 'z':	goto yy146;
1277 	case 'e':	goto yy1431;
1278 	case 'h':	goto yy1432;
1279 	case 'o':	goto yy1433;
1280 	case 'u':	goto yy1434;
1281 	case 'w':	goto yy1435;
1282 	default:	goto yy4;
1283 	}
1284 yy11:
1285 	YYDEBUG(11, *YYCURSOR);
1286 	yyaccept = 0;
1287 	yych = *(YYMARKER = ++YYCURSOR);
1288 	YYDEBUG(-1, yych);
1289 	switch (yych) {
1290 	case ')':	goto yy140;
1291 	case '0':
1292 	case '1':	goto yy1393;
1293 	case '2':	goto yy1394;
1294 	case '3':
1295 	case '4':
1296 	case '5':
1297 	case '6':
1298 	case '7':
1299 	case '8':
1300 	case '9':	goto yy1395;
1301 	case 'A':
1302 	case 'B':
1303 	case 'C':
1304 	case 'D':
1305 	case 'F':
1306 	case 'G':
1307 	case 'I':
1308 	case 'J':
1309 	case 'K':
1310 	case 'L':
1311 	case 'M':
1312 	case 'N':
1313 	case 'P':
1314 	case 'Q':
1315 	case 'R':
1316 	case 'S':
1317 	case 'T':
1318 	case 'V':
1319 	case 'X':
1320 	case 'Y':
1321 	case 'Z':
1322 	case 'a':
1323 	case 'b':
1324 	case 'c':
1325 	case 'd':
1326 	case 'f':
1327 	case 'g':
1328 	case 'i':
1329 	case 'j':
1330 	case 'k':
1331 	case 'l':
1332 	case 'm':
1333 	case 'n':
1334 	case 'p':
1335 	case 'q':
1336 	case 'r':
1337 	case 's':
1338 	case 't':
1339 	case 'v':
1340 	case 'x':
1341 	case 'y':
1342 	case 'z':	goto yy141;
1343 	case 'E':
1344 	case 'e':	goto yy1388;
1345 	case 'H':
1346 	case 'h':	goto yy1389;
1347 	case 'O':
1348 	case 'o':	goto yy1390;
1349 	case 'U':
1350 	case 'u':	goto yy1391;
1351 	case 'W':
1352 	case 'w':	goto yy1392;
1353 	default:	goto yy4;
1354 	}
1355 yy12:
1356 	YYDEBUG(12, *YYCURSOR);
1357 	yyaccept = 1;
1358 	yych = *(YYMARKER = ++YYCURSOR);
1359 	if (yych == '-') goto yy1384;
1360 	if (yych <= '/') goto yy13;
1361 	if (yych <= '9') goto yy1385;
1362 yy13:
1363 	YYDEBUG(13, *YYCURSOR);
1364 #line 1774 "ext/date/lib/parse_date.re"
1365 	{
1366 		add_error(s, "Unexpected character");
1367 		goto std;
1368 	}
1369 #line 1370 "ext/date/lib/parse_date.c"
1370 yy14:
1371 	YYDEBUG(14, *YYCURSOR);
1372 	yych = *++YYCURSOR;
1373 	if (yych <= 'R') {
1374 		if (yych <= 'E') {
1375 			if (yych <= ')') {
1376 				if (yych <= '(') goto yy4;
1377 				goto yy140;
1378 			} else {
1379 				if (yych <= '@') goto yy4;
1380 				if (yych <= 'D') goto yy141;
1381 				goto yy1320;
1382 			}
1383 		} else {
1384 			if (yych <= 'N') {
1385 				if (yych == 'I') goto yy1321;
1386 				goto yy141;
1387 			} else {
1388 				if (yych <= 'O') goto yy1322;
1389 				if (yych <= 'Q') goto yy141;
1390 				goto yy1323;
1391 			}
1392 		}
1393 	} else {
1394 		if (yych <= 'i') {
1395 			if (yych <= 'd') {
1396 				if (yych <= 'Z') goto yy141;
1397 				if (yych <= '`') goto yy4;
1398 				goto yy146;
1399 			} else {
1400 				if (yych <= 'e') goto yy1361;
1401 				if (yych <= 'h') goto yy146;
1402 				goto yy1362;
1403 			}
1404 		} else {
1405 			if (yych <= 'q') {
1406 				if (yych == 'o') goto yy1363;
1407 				goto yy146;
1408 			} else {
1409 				if (yych <= 'r') goto yy1364;
1410 				if (yych <= 'z') goto yy146;
1411 				goto yy4;
1412 			}
1413 		}
1414 	}
1415 yy15:
1416 	YYDEBUG(15, *YYCURSOR);
1417 	yych = *++YYCURSOR;
1418 	if (yych <= 'R') {
1419 		if (yych <= 'E') {
1420 			if (yych <= ')') {
1421 				if (yych <= '(') goto yy4;
1422 				goto yy140;
1423 			} else {
1424 				if (yych <= '@') goto yy4;
1425 				if (yych <= 'D') goto yy141;
1426 				goto yy1320;
1427 			}
1428 		} else {
1429 			if (yych <= 'N') {
1430 				if (yych == 'I') goto yy1321;
1431 				goto yy141;
1432 			} else {
1433 				if (yych <= 'O') goto yy1322;
1434 				if (yych <= 'Q') goto yy141;
1435 				goto yy1323;
1436 			}
1437 		}
1438 	} else {
1439 		if (yych <= 'i') {
1440 			if (yych <= 'd') {
1441 				if (yych <= 'Z') goto yy141;
1442 				if (yych <= '`') goto yy4;
1443 				goto yy141;
1444 			} else {
1445 				if (yych <= 'e') goto yy1320;
1446 				if (yych <= 'h') goto yy141;
1447 				goto yy1321;
1448 			}
1449 		} else {
1450 			if (yych <= 'q') {
1451 				if (yych == 'o') goto yy1322;
1452 				goto yy141;
1453 			} else {
1454 				if (yych <= 'r') goto yy1323;
1455 				if (yych <= 'z') goto yy141;
1456 				goto yy4;
1457 			}
1458 		}
1459 	}
1460 yy16:
1461 	YYDEBUG(16, *YYCURSOR);
1462 	yych = *++YYCURSOR;
1463 	if (yych <= 'A') {
1464 		if (yych == ')') goto yy140;
1465 		if (yych <= '@') goto yy4;
1466 		goto yy1307;
1467 	} else {
1468 		if (yych <= '`') {
1469 			if (yych <= 'Z') goto yy141;
1470 			goto yy4;
1471 		} else {
1472 			if (yych <= 'a') goto yy1317;
1473 			if (yych <= 'z') goto yy146;
1474 			goto yy4;
1475 		}
1476 	}
1477 yy17:
1478 	YYDEBUG(17, *YYCURSOR);
1479 	yych = *++YYCURSOR;
1480 	if (yych <= 'A') {
1481 		if (yych == ')') goto yy140;
1482 		if (yych <= '@') goto yy4;
1483 		goto yy1307;
1484 	} else {
1485 		if (yych <= '`') {
1486 			if (yych <= 'Z') goto yy141;
1487 			goto yy4;
1488 		} else {
1489 			if (yych <= 'a') goto yy1307;
1490 			if (yych <= 'z') goto yy141;
1491 			goto yy4;
1492 		}
1493 	}
1494 yy18:
1495 	YYDEBUG(18, *YYCURSOR);
1496 	yych = *++YYCURSOR;
1497 	if (yych <= 'A') {
1498 		if (yych == ')') goto yy140;
1499 		if (yych <= '@') goto yy4;
1500 		goto yy1287;
1501 	} else {
1502 		if (yych <= '`') {
1503 			if (yych <= 'Z') goto yy141;
1504 			goto yy4;
1505 		} else {
1506 			if (yych <= 'a') goto yy1304;
1507 			if (yych <= 'z') goto yy146;
1508 			goto yy4;
1509 		}
1510 	}
1511 yy19:
1512 	YYDEBUG(19, *YYCURSOR);
1513 	yych = *++YYCURSOR;
1514 	if (yych <= 'A') {
1515 		if (yych == ')') goto yy140;
1516 		if (yych <= '@') goto yy4;
1517 		goto yy1287;
1518 	} else {
1519 		if (yych <= '`') {
1520 			if (yych <= 'Z') goto yy141;
1521 			goto yy4;
1522 		} else {
1523 			if (yych <= 'a') goto yy1287;
1524 			if (yych <= 'z') goto yy141;
1525 			goto yy4;
1526 		}
1527 	}
1528 yy20:
1529 	YYDEBUG(20, *YYCURSOR);
1530 	yych = *++YYCURSOR;
1531 	if (yych <= 'U') {
1532 		if (yych <= 'D') {
1533 			if (yych <= ')') {
1534 				if (yych <= '(') goto yy4;
1535 				goto yy140;
1536 			} else {
1537 				if (yych <= '@') goto yy4;
1538 				if (yych <= 'A') goto yy1230;
1539 				goto yy141;
1540 			}
1541 		} else {
1542 			if (yych <= 'H') {
1543 				if (yych <= 'E') goto yy1229;
1544 				goto yy141;
1545 			} else {
1546 				if (yych <= 'I') goto yy1231;
1547 				if (yych <= 'T') goto yy141;
1548 				goto yy1232;
1549 			}
1550 		}
1551 	} else {
1552 		if (yych <= 'e') {
1553 			if (yych <= '`') {
1554 				if (yych <= 'Z') goto yy141;
1555 				goto yy4;
1556 			} else {
1557 				if (yych <= 'a') goto yy1259;
1558 				if (yych <= 'd') goto yy146;
1559 				goto yy1258;
1560 			}
1561 		} else {
1562 			if (yych <= 't') {
1563 				if (yych == 'i') goto yy1260;
1564 				goto yy146;
1565 			} else {
1566 				if (yych <= 'u') goto yy1261;
1567 				if (yych <= 'z') goto yy146;
1568 				goto yy4;
1569 			}
1570 		}
1571 	}
1572 yy21:
1573 	YYDEBUG(21, *YYCURSOR);
1574 	yych = *++YYCURSOR;
1575 	if (yych <= 'U') {
1576 		if (yych <= 'D') {
1577 			if (yych <= ')') {
1578 				if (yych <= '(') goto yy4;
1579 				goto yy140;
1580 			} else {
1581 				if (yych <= '@') goto yy4;
1582 				if (yych <= 'A') goto yy1230;
1583 				goto yy141;
1584 			}
1585 		} else {
1586 			if (yych <= 'H') {
1587 				if (yych <= 'E') goto yy1229;
1588 				goto yy141;
1589 			} else {
1590 				if (yych <= 'I') goto yy1231;
1591 				if (yych <= 'T') goto yy141;
1592 				goto yy1232;
1593 			}
1594 		}
1595 	} else {
1596 		if (yych <= 'e') {
1597 			if (yych <= '`') {
1598 				if (yych <= 'Z') goto yy141;
1599 				goto yy4;
1600 			} else {
1601 				if (yych <= 'a') goto yy1230;
1602 				if (yych <= 'd') goto yy141;
1603 				goto yy1229;
1604 			}
1605 		} else {
1606 			if (yych <= 't') {
1607 				if (yych == 'i') goto yy1231;
1608 				goto yy141;
1609 			} else {
1610 				if (yych <= 'u') goto yy1232;
1611 				if (yych <= 'z') goto yy141;
1612 				goto yy4;
1613 			}
1614 		}
1615 	}
1616 yy22:
1617 	YYDEBUG(22, *YYCURSOR);
1618 	yych = *++YYCURSOR;
1619 	if (yych <= 'L') {
1620 		if (yych <= '@') {
1621 			if (yych == ')') goto yy140;
1622 			goto yy4;
1623 		} else {
1624 			if (yych == 'I') goto yy1199;
1625 			if (yych <= 'K') goto yy141;
1626 			goto yy1200;
1627 		}
1628 	} else {
1629 		if (yych <= 'i') {
1630 			if (yych <= 'Z') goto yy141;
1631 			if (yych <= '`') goto yy4;
1632 			if (yych <= 'h') goto yy146;
1633 			goto yy1217;
1634 		} else {
1635 			if (yych == 'l') goto yy1218;
1636 			if (yych <= 'z') goto yy146;
1637 			goto yy4;
1638 		}
1639 	}
1640 yy23:
1641 	YYDEBUG(23, *YYCURSOR);
1642 	yych = *++YYCURSOR;
1643 	if (yych <= 'L') {
1644 		if (yych <= '@') {
1645 			if (yych == ')') goto yy140;
1646 			goto yy4;
1647 		} else {
1648 			if (yych == 'I') goto yy1199;
1649 			if (yych <= 'K') goto yy141;
1650 			goto yy1200;
1651 		}
1652 	} else {
1653 		if (yych <= 'i') {
1654 			if (yych <= 'Z') goto yy141;
1655 			if (yych <= '`') goto yy4;
1656 			if (yych <= 'h') goto yy141;
1657 			goto yy1199;
1658 		} else {
1659 			if (yych == 'l') goto yy1200;
1660 			if (yych <= 'z') goto yy141;
1661 			goto yy4;
1662 		}
1663 	}
1664 yy24:
1665 	YYDEBUG(24, *YYCURSOR);
1666 	yych = *++YYCURSOR;
1667 	if (yych <= 'R') {
1668 		if (yych <= ')') {
1669 			if (yych <= '(') goto yy4;
1670 			goto yy140;
1671 		} else {
1672 			if (yych <= '@') goto yy4;
1673 			if (yych <= 'Q') goto yy141;
1674 			goto yy1098;
1675 		}
1676 	} else {
1677 		if (yych <= 'q') {
1678 			if (yych <= 'Z') goto yy141;
1679 			if (yych <= '`') goto yy4;
1680 			goto yy146;
1681 		} else {
1682 			if (yych <= 'r') goto yy1192;
1683 			if (yych <= 'z') goto yy146;
1684 			goto yy4;
1685 		}
1686 	}
1687 yy25:
1688 	YYDEBUG(25, *YYCURSOR);
1689 	yych = *++YYCURSOR;
1690 	if (yych <= 'R') {
1691 		if (yych <= ')') {
1692 			if (yych <= '(') goto yy4;
1693 			goto yy140;
1694 		} else {
1695 			if (yych <= '@') goto yy4;
1696 			if (yych <= 'Q') goto yy141;
1697 			goto yy1098;
1698 		}
1699 	} else {
1700 		if (yych <= 'q') {
1701 			if (yych <= 'Z') goto yy141;
1702 			if (yych <= '`') goto yy4;
1703 			goto yy141;
1704 		} else {
1705 			if (yych <= 'r') goto yy1098;
1706 			if (yych <= 'z') goto yy141;
1707 			goto yy4;
1708 		}
1709 	}
1710 yy26:
1711 	YYDEBUG(26, *YYCURSOR);
1712 	yyaccept = 1;
1713 	yych = *(YYMARKER = ++YYCURSOR);
1714 	YYDEBUG(-1, yych);
1715 	switch (yych) {
1716 	case '\t':	goto yy1052;
1717 	case ' ':
1718 	case 'A':
1719 	case 'D':
1720 	case 'F':
1721 	case 'H':
1722 	case 'I':
1723 	case 'J':
1724 	case 'M':
1725 	case 'N':
1726 	case 'O':
1727 	case 'S':
1728 	case 'T':
1729 	case 'V':
1730 	case 'W':
1731 	case 'X':
1732 	case 'Y':
1733 	case 'a':
1734 	case 'd':
1735 	case 'f':
1736 	case 'h':
1737 	case 'j':
1738 	case 'm':
1739 	case 'o':
1740 	case 'w':
1741 	case 'y':	goto yy1054;
1742 	case '-':	goto yy473;
1743 	case '.':	goto yy1064;
1744 	case '/':	goto yy472;
1745 	case '0':	goto yy1097;
1746 	case '1':
1747 	case '2':
1748 	case '3':
1749 	case '4':
1750 	case '5':
1751 	case '6':
1752 	case '7':
1753 	case '8':
1754 	case '9':	goto yy1096;
1755 	case ':':	goto yy1065;
1756 	case 'n':	goto yy470;
1757 	case 'r':	goto yy471;
1758 	case 's':	goto yy464;
1759 	case 't':	goto yy468;
1760 	default:	goto yy13;
1761 	}
1762 yy27:
1763 	YYDEBUG(27, *YYCURSOR);
1764 	yyaccept = 1;
1765 	yych = *(YYMARKER = ++YYCURSOR);
1766 	YYDEBUG(-1, yych);
1767 	switch (yych) {
1768 	case '\t':	goto yy460;
1769 	case ' ':
1770 	case 'A':
1771 	case 'D':
1772 	case 'F':
1773 	case 'H':
1774 	case 'I':
1775 	case 'J':
1776 	case 'M':
1777 	case 'N':
1778 	case 'O':
1779 	case 'P':
1780 	case 'S':
1781 	case 'T':
1782 	case 'V':
1783 	case 'W':
1784 	case 'X':
1785 	case 'Y':
1786 	case 'a':
1787 	case 'd':
1788 	case 'f':
1789 	case 'h':
1790 	case 'j':
1791 	case 'm':
1792 	case 'o':
1793 	case 'p':
1794 	case 'w':
1795 	case 'y':	goto yy462;
1796 	case '-':	goto yy473;
1797 	case '.':	goto yy474;
1798 	case '/':	goto yy472;
1799 	case '0':
1800 	case '1':
1801 	case '2':	goto yy1096;
1802 	case '3':
1803 	case '4':
1804 	case '5':
1805 	case '6':
1806 	case '7':
1807 	case '8':
1808 	case '9':	goto yy1063;
1809 	case ':':	goto yy483;
1810 	case 'n':	goto yy470;
1811 	case 'r':	goto yy471;
1812 	case 's':	goto yy464;
1813 	case 't':	goto yy468;
1814 	default:	goto yy13;
1815 	}
1816 yy28:
1817 	YYDEBUG(28, *YYCURSOR);
1818 	yyaccept = 1;
1819 	yych = *(YYMARKER = ++YYCURSOR);
1820 	YYDEBUG(-1, yych);
1821 	switch (yych) {
1822 	case '\t':	goto yy460;
1823 	case ' ':
1824 	case 'A':
1825 	case 'D':
1826 	case 'F':
1827 	case 'H':
1828 	case 'I':
1829 	case 'J':
1830 	case 'M':
1831 	case 'N':
1832 	case 'O':
1833 	case 'P':
1834 	case 'S':
1835 	case 'T':
1836 	case 'V':
1837 	case 'W':
1838 	case 'X':
1839 	case 'Y':
1840 	case 'a':
1841 	case 'd':
1842 	case 'f':
1843 	case 'h':
1844 	case 'j':
1845 	case 'm':
1846 	case 'o':
1847 	case 'p':
1848 	case 'w':
1849 	case 'y':	goto yy462;
1850 	case '-':	goto yy473;
1851 	case '.':	goto yy474;
1852 	case '/':	goto yy472;
1853 	case '0':
1854 	case '1':
1855 	case '2':
1856 	case '3':
1857 	case '4':	goto yy1063;
1858 	case '5':
1859 	case '6':
1860 	case '7':
1861 	case '8':
1862 	case '9':	goto yy1050;
1863 	case ':':	goto yy483;
1864 	case 'n':	goto yy470;
1865 	case 'r':	goto yy471;
1866 	case 's':	goto yy464;
1867 	case 't':	goto yy468;
1868 	default:	goto yy13;
1869 	}
1870 yy29:
1871 	YYDEBUG(29, *YYCURSOR);
1872 	yyaccept = 1;
1873 	yych = *(YYMARKER = ++YYCURSOR);
1874 	YYDEBUG(-1, yych);
1875 	switch (yych) {
1876 	case '\t':	goto yy460;
1877 	case ' ':
1878 	case 'A':
1879 	case 'D':
1880 	case 'F':
1881 	case 'H':
1882 	case 'I':
1883 	case 'J':
1884 	case 'M':
1885 	case 'N':
1886 	case 'O':
1887 	case 'P':
1888 	case 'S':
1889 	case 'T':
1890 	case 'V':
1891 	case 'W':
1892 	case 'X':
1893 	case 'Y':
1894 	case 'a':
1895 	case 'd':
1896 	case 'f':
1897 	case 'h':
1898 	case 'j':
1899 	case 'm':
1900 	case 'o':
1901 	case 'p':
1902 	case 'w':
1903 	case 'y':	goto yy462;
1904 	case '-':	goto yy473;
1905 	case '.':	goto yy474;
1906 	case '/':	goto yy472;
1907 	case '0':
1908 	case '1':	goto yy1050;
1909 	case '2':
1910 	case '3':
1911 	case '4':
1912 	case '5':
1913 	case '6':
1914 	case '7':
1915 	case '8':
1916 	case '9':	goto yy469;
1917 	case ':':	goto yy483;
1918 	case 'n':	goto yy470;
1919 	case 'r':	goto yy471;
1920 	case 's':	goto yy464;
1921 	case 't':	goto yy468;
1922 	default:	goto yy13;
1923 	}
1924 yy30:
1925 	YYDEBUG(30, *YYCURSOR);
1926 	yyaccept = 1;
1927 	yych = *(YYMARKER = ++YYCURSOR);
1928 	YYDEBUG(-1, yych);
1929 	switch (yych) {
1930 	case '\t':	goto yy460;
1931 	case ' ':
1932 	case 'A':
1933 	case 'D':
1934 	case 'F':
1935 	case 'H':
1936 	case 'I':
1937 	case 'J':
1938 	case 'M':
1939 	case 'N':
1940 	case 'O':
1941 	case 'P':
1942 	case 'S':
1943 	case 'T':
1944 	case 'V':
1945 	case 'W':
1946 	case 'X':
1947 	case 'Y':
1948 	case 'a':
1949 	case 'd':
1950 	case 'f':
1951 	case 'h':
1952 	case 'j':
1953 	case 'm':
1954 	case 'o':
1955 	case 'p':
1956 	case 'w':
1957 	case 'y':	goto yy462;
1958 	case '-':	goto yy473;
1959 	case '.':	goto yy474;
1960 	case '/':	goto yy472;
1961 	case '0':
1962 	case '1':
1963 	case '2':
1964 	case '3':
1965 	case '4':
1966 	case '5':
1967 	case '6':
1968 	case '7':
1969 	case '8':
1970 	case '9':	goto yy469;
1971 	case ':':	goto yy483;
1972 	case 'n':	goto yy470;
1973 	case 'r':	goto yy471;
1974 	case 's':	goto yy464;
1975 	case 't':	goto yy468;
1976 	default:	goto yy13;
1977 	}
1978 yy31:
1979 	YYDEBUG(31, *YYCURSOR);
1980 	yyaccept = 1;
1981 	yych = *(YYMARKER = ++YYCURSOR);
1982 	if (yybm[0+yych] & 4) {
1983 		goto yy58;
1984 	}
1985 	YYDEBUG(-1, yych);
1986 	switch (yych) {
1987 	case '+':
1988 	case '-':	goto yy440;
1989 	case '0':
1990 	case '1':	goto yy437;
1991 	case '2':	goto yy438;
1992 	case '3':
1993 	case '4':
1994 	case '5':
1995 	case '6':
1996 	case '7':
1997 	case '8':
1998 	case '9':	goto yy439;
1999 	default:	goto yy13;
2000 	}
2001 yy32:
2002 	YYDEBUG(32, *YYCURSOR);
2003 	yyaccept = 0;
2004 	yych = *(YYMARKER = ++YYCURSOR);
2005 	if (yych <= '9') {
2006 		if (yych <= '(') {
2007 			if (yych <= '\t') {
2008 				if (yych <= 0x08) goto yy4;
2009 				goto yy196;
2010 			} else {
2011 				if (yych == ' ') goto yy196;
2012 				goto yy4;
2013 			}
2014 		} else {
2015 			if (yych <= ',') {
2016 				if (yych <= ')') goto yy140;
2017 				goto yy4;
2018 			} else {
2019 				if (yych == '/') goto yy4;
2020 				goto yy196;
2021 			}
2022 		}
2023 	} else {
2024 		if (yych <= 'V') {
2025 			if (yych <= 'H') {
2026 				if (yych <= '@') goto yy4;
2027 				goto yy141;
2028 			} else {
2029 				if (yych <= 'I') goto yy436;
2030 				if (yych <= 'U') goto yy141;
2031 				goto yy435;
2032 			}
2033 		} else {
2034 			if (yych <= 'Z') {
2035 				if (yych == 'X') goto yy435;
2036 				goto yy141;
2037 			} else {
2038 				if (yych <= '`') goto yy4;
2039 				if (yych <= 'z') goto yy146;
2040 				goto yy4;
2041 			}
2042 		}
2043 	}
2044 yy33:
2045 	YYDEBUG(33, *YYCURSOR);
2046 	yyaccept = 0;
2047 	yych = *(YYMARKER = ++YYCURSOR);
2048 	if (yych <= '.') {
2049 		if (yych <= ' ') {
2050 			if (yych == '\t') goto yy196;
2051 			if (yych <= 0x1F) goto yy4;
2052 			goto yy196;
2053 		} else {
2054 			if (yych == ')') goto yy140;
2055 			if (yych <= ',') goto yy4;
2056 			goto yy196;
2057 		}
2058 	} else {
2059 		if (yych <= 'H') {
2060 			if (yych <= '/') goto yy4;
2061 			if (yych <= '9') goto yy196;
2062 			if (yych <= '@') goto yy4;
2063 			goto yy141;
2064 		} else {
2065 			if (yych <= 'Z') {
2066 				if (yych <= 'I') goto yy432;
2067 				goto yy141;
2068 			} else {
2069 				if (yych <= '`') goto yy4;
2070 				if (yych <= 'z') goto yy146;
2071 				goto yy4;
2072 			}
2073 		}
2074 	}
2075 yy34:
2076 	YYDEBUG(34, *YYCURSOR);
2077 	yyaccept = 0;
2078 	yych = *(YYMARKER = ++YYCURSOR);
2079 	if (yych <= '.') {
2080 		if (yych <= ' ') {
2081 			if (yych == '\t') goto yy196;
2082 			if (yych <= 0x1F) goto yy4;
2083 			goto yy196;
2084 		} else {
2085 			if (yych == ')') goto yy140;
2086 			if (yych <= ',') goto yy4;
2087 			goto yy196;
2088 		}
2089 	} else {
2090 		if (yych <= 'H') {
2091 			if (yych <= '/') goto yy4;
2092 			if (yych <= '9') goto yy196;
2093 			if (yych <= '@') goto yy4;
2094 			goto yy141;
2095 		} else {
2096 			if (yych <= 'Z') {
2097 				if (yych <= 'I') goto yy430;
2098 				goto yy141;
2099 			} else {
2100 				if (yych <= '`') goto yy4;
2101 				if (yych <= 'z') goto yy146;
2102 				goto yy4;
2103 			}
2104 		}
2105 	}
2106 yy35:
2107 	YYDEBUG(35, *YYCURSOR);
2108 	yych = *++YYCURSOR;
2109 	if (yych <= 'U') {
2110 		if (yych <= '@') {
2111 			if (yych == ')') goto yy140;
2112 			goto yy4;
2113 		} else {
2114 			if (yych <= 'A') goto yy413;
2115 			if (yych <= 'T') goto yy141;
2116 			goto yy412;
2117 		}
2118 	} else {
2119 		if (yych <= 'a') {
2120 			if (yych <= 'Z') goto yy141;
2121 			if (yych <= '`') goto yy4;
2122 			goto yy422;
2123 		} else {
2124 			if (yych == 'u') goto yy421;
2125 			if (yych <= 'z') goto yy146;
2126 			goto yy4;
2127 		}
2128 	}
2129 yy36:
2130 	YYDEBUG(36, *YYCURSOR);
2131 	yych = *++YYCURSOR;
2132 	if (yych <= 'U') {
2133 		if (yych <= '@') {
2134 			if (yych == ')') goto yy140;
2135 			goto yy4;
2136 		} else {
2137 			if (yych <= 'A') goto yy413;
2138 			if (yych <= 'T') goto yy141;
2139 			goto yy412;
2140 		}
2141 	} else {
2142 		if (yych <= 'a') {
2143 			if (yych <= 'Z') goto yy141;
2144 			if (yych <= '`') goto yy4;
2145 			goto yy413;
2146 		} else {
2147 			if (yych == 'u') goto yy412;
2148 			if (yych <= 'z') goto yy141;
2149 			goto yy4;
2150 		}
2151 	}
2152 yy37:
2153 	YYDEBUG(37, *YYCURSOR);
2154 	yych = *++YYCURSOR;
2155 	if (yych <= 'U') {
2156 		if (yych <= 'F') {
2157 			if (yych == ')') goto yy140;
2158 			if (yych <= '@') goto yy4;
2159 			goto yy141;
2160 		} else {
2161 			if (yych <= 'O') {
2162 				if (yych <= 'G') goto yy391;
2163 				goto yy141;
2164 			} else {
2165 				if (yych <= 'P') goto yy390;
2166 				if (yych <= 'T') goto yy141;
2167 				goto yy389;
2168 			}
2169 		}
2170 	} else {
2171 		if (yych <= 'o') {
2172 			if (yych <= '`') {
2173 				if (yych <= 'Z') goto yy141;
2174 				goto yy4;
2175 			} else {
2176 				if (yych == 'g') goto yy403;
2177 				goto yy146;
2178 			}
2179 		} else {
2180 			if (yych <= 't') {
2181 				if (yych <= 'p') goto yy402;
2182 				goto yy146;
2183 			} else {
2184 				if (yych <= 'u') goto yy401;
2185 				if (yych <= 'z') goto yy146;
2186 				goto yy4;
2187 			}
2188 		}
2189 	}
2190 yy38:
2191 	YYDEBUG(38, *YYCURSOR);
2192 	yych = *++YYCURSOR;
2193 	if (yych <= 'U') {
2194 		if (yych <= 'F') {
2195 			if (yych == ')') goto yy140;
2196 			if (yych <= '@') goto yy4;
2197 			goto yy141;
2198 		} else {
2199 			if (yych <= 'O') {
2200 				if (yych <= 'G') goto yy391;
2201 				goto yy141;
2202 			} else {
2203 				if (yych <= 'P') goto yy390;
2204 				if (yych <= 'T') goto yy141;
2205 				goto yy389;
2206 			}
2207 		}
2208 	} else {
2209 		if (yych <= 'o') {
2210 			if (yych <= '`') {
2211 				if (yych <= 'Z') goto yy141;
2212 				goto yy4;
2213 			} else {
2214 				if (yych == 'g') goto yy391;
2215 				goto yy141;
2216 			}
2217 		} else {
2218 			if (yych <= 't') {
2219 				if (yych <= 'p') goto yy390;
2220 				goto yy141;
2221 			} else {
2222 				if (yych <= 'u') goto yy389;
2223 				if (yych <= 'z') goto yy141;
2224 				goto yy4;
2225 			}
2226 		}
2227 	}
2228 yy39:
2229 	YYDEBUG(39, *YYCURSOR);
2230 	yych = *++YYCURSOR;
2231 	if (yych <= 'C') {
2232 		if (yych <= ')') {
2233 			if (yych <= '(') goto yy4;
2234 			goto yy140;
2235 		} else {
2236 			if (yych <= '@') goto yy4;
2237 			if (yych <= 'B') goto yy141;
2238 			goto yy379;
2239 		}
2240 	} else {
2241 		if (yych <= 'b') {
2242 			if (yych <= 'Z') goto yy141;
2243 			if (yych <= '`') goto yy4;
2244 			goto yy146;
2245 		} else {
2246 			if (yych <= 'c') goto yy384;
2247 			if (yych <= 'z') goto yy146;
2248 			goto yy4;
2249 		}
2250 	}
2251 yy40:
2252 	YYDEBUG(40, *YYCURSOR);
2253 	yych = *++YYCURSOR;
2254 	if (yych <= 'C') {
2255 		if (yych <= ')') {
2256 			if (yych <= '(') goto yy4;
2257 			goto yy140;
2258 		} else {
2259 			if (yych <= '@') goto yy4;
2260 			if (yych <= 'B') goto yy141;
2261 			goto yy379;
2262 		}
2263 	} else {
2264 		if (yych <= 'b') {
2265 			if (yych <= 'Z') goto yy141;
2266 			if (yych <= '`') goto yy4;
2267 			goto yy141;
2268 		} else {
2269 			if (yych <= 'c') goto yy379;
2270 			if (yych <= 'z') goto yy141;
2271 			goto yy4;
2272 		}
2273 	}
2274 yy41:
2275 	YYDEBUG(41, *YYCURSOR);
2276 	yych = *++YYCURSOR;
2277 	if (yych <= 'E') {
2278 		if (yych <= ')') {
2279 			if (yych <= '(') goto yy4;
2280 			goto yy140;
2281 		} else {
2282 			if (yych <= '@') goto yy4;
2283 			if (yych <= 'D') goto yy141;
2284 			goto yy192;
2285 		}
2286 	} else {
2287 		if (yych <= 'd') {
2288 			if (yych <= 'Z') goto yy141;
2289 			if (yych <= '`') goto yy4;
2290 			goto yy146;
2291 		} else {
2292 			if (yych <= 'e') goto yy370;
2293 			if (yych <= 'z') goto yy146;
2294 			goto yy4;
2295 		}
2296 	}
2297 yy42:
2298 	YYDEBUG(42, *YYCURSOR);
2299 	yych = *++YYCURSOR;
2300 	if (yych <= 'E') {
2301 		if (yych <= ')') {
2302 			if (yych <= '(') goto yy4;
2303 			goto yy140;
2304 		} else {
2305 			if (yych <= '@') goto yy4;
2306 			if (yych <= 'D') goto yy141;
2307 			goto yy192;
2308 		}
2309 	} else {
2310 		if (yych <= 'd') {
2311 			if (yych <= 'Z') goto yy141;
2312 			if (yych <= '`') goto yy4;
2313 			goto yy141;
2314 		} else {
2315 			if (yych <= 'e') goto yy192;
2316 			if (yych <= 'z') goto yy141;
2317 			goto yy4;
2318 		}
2319 	}
2320 yy43:
2321 	YYDEBUG(43, *YYCURSOR);
2322 	yych = *++YYCURSOR;
2323 	if (yych <= 'E') {
2324 		if (yych <= ')') {
2325 			if (yych <= '(') goto yy4;
2326 			goto yy140;
2327 		} else {
2328 			if (yych <= '@') goto yy4;
2329 			if (yych <= 'D') goto yy141;
2330 			goto yy165;
2331 		}
2332 	} else {
2333 		if (yych <= 'd') {
2334 			if (yych <= 'Z') goto yy141;
2335 			if (yych <= '`') goto yy4;
2336 			goto yy146;
2337 		} else {
2338 			if (yych <= 'e') goto yy179;
2339 			if (yych <= 'z') goto yy146;
2340 			goto yy4;
2341 		}
2342 	}
2343 yy44:
2344 	YYDEBUG(44, *YYCURSOR);
2345 	yych = *++YYCURSOR;
2346 	if (yych <= 'E') {
2347 		if (yych <= ')') {
2348 			if (yych <= '(') goto yy4;
2349 			goto yy140;
2350 		} else {
2351 			if (yych <= '@') goto yy4;
2352 			if (yych <= 'D') goto yy141;
2353 			goto yy165;
2354 		}
2355 	} else {
2356 		if (yych <= 'd') {
2357 			if (yych <= 'Z') goto yy141;
2358 			if (yych <= '`') goto yy4;
2359 			goto yy141;
2360 		} else {
2361 			if (yych <= 'e') goto yy165;
2362 			if (yych <= 'z') goto yy141;
2363 			goto yy4;
2364 		}
2365 	}
2366 yy45:
2367 	YYDEBUG(45, *YYCURSOR);
2368 	yych = *++YYCURSOR;
2369 	if (yych <= 'L') {
2370 		if (yych == ')') goto yy140;
2371 		if (yych <= '@') goto yy4;
2372 		goto yy141;
2373 	} else {
2374 		if (yych <= 'Z') {
2375 			if (yych <= 'M') goto yy157;
2376 			goto yy141;
2377 		} else {
2378 			if (yych <= '`') goto yy4;
2379 			if (yych <= 'z') goto yy146;
2380 			goto yy4;
2381 		}
2382 	}
2383 yy46:
2384 	YYDEBUG(46, *YYCURSOR);
2385 	yych = *++YYCURSOR;
2386 	if (yych <= '@') goto yy13;
2387 	if (yych <= 'Z') goto yy156;
2388 	if (yych <= '`') goto yy13;
2389 	if (yych <= 'z') goto yy156;
2390 	goto yy13;
2391 yy47:
2392 	YYDEBUG(47, *YYCURSOR);
2393 	yych = *++YYCURSOR;
2394 	if (yych <= '@') {
2395 		if (yych == ')') goto yy140;
2396 		goto yy4;
2397 	} else {
2398 		if (yych <= 'Z') goto yy141;
2399 		if (yych <= '`') goto yy4;
2400 		if (yych <= 'z') goto yy146;
2401 		goto yy4;
2402 	}
2403 yy48:
2404 	YYDEBUG(48, *YYCURSOR);
2405 	yych = *++YYCURSOR;
2406 	if (yych <= '@') {
2407 		if (yych == ')') goto yy140;
2408 		goto yy4;
2409 	} else {
2410 		if (yych <= 'Z') goto yy141;
2411 		if (yych <= '`') goto yy4;
2412 		if (yych <= 'z') goto yy141;
2413 		goto yy4;
2414 	}
2415 yy49:
2416 	YYDEBUG(49, *YYCURSOR);
2417 	yyaccept = 2;
2418 	yych = *(YYMARKER = ++YYCURSOR);
2419 	if (yybm[0+yych] & 4) {
2420 		goto yy58;
2421 	}
2422 	if (yych <= '/') goto yy50;
2423 	if (yych <= '9') goto yy55;
2424 yy50:
2425 	YYDEBUG(50, *YYCURSOR);
2426 #line 1763 "ext/date/lib/parse_date.re"
2427 	{
2428 		goto std;
2429 	}
2430 #line 2431 "ext/date/lib/parse_date.c"
2431 yy51:
2432 	YYDEBUG(51, *YYCURSOR);
2433 	yych = *++YYCURSOR;
2434 	goto yy50;
2435 yy52:
2436 	YYDEBUG(52, *YYCURSOR);
2437 	++YYCURSOR;
2438 	YYDEBUG(53, *YYCURSOR);
2439 #line 1768 "ext/date/lib/parse_date.re"
2440 	{
2441 		s->pos = cursor; s->line++;
2442 		goto std;
2443 	}
2444 #line 2445 "ext/date/lib/parse_date.c"
2445 yy54:
2446 	YYDEBUG(54, *YYCURSOR);
2447 	yych = *++YYCURSOR;
2448 	goto yy13;
2449 yy55:
2450 	YYDEBUG(55, *YYCURSOR);
2451 	++YYCURSOR;
2452 	if ((YYLIMIT - YYCURSOR) < 11) YYFILL(11);
2453 	yych = *YYCURSOR;
2454 	YYDEBUG(56, *YYCURSOR);
2455 	if (yybm[0+yych] & 2) {
2456 		goto yy55;
2457 	}
2458 	if (yych <= 'W') {
2459 		if (yych <= 'F') {
2460 			if (yych <= ' ') {
2461 				if (yych == '\t') goto yy60;
2462 				if (yych >= ' ') goto yy60;
2463 			} else {
2464 				if (yych == 'D') goto yy65;
2465 				if (yych >= 'F') goto yy66;
2466 			}
2467 		} else {
2468 			if (yych <= 'M') {
2469 				if (yych == 'H') goto yy64;
2470 				if (yych >= 'M') goto yy63;
2471 			} else {
2472 				if (yych <= 'S') {
2473 					if (yych >= 'S') goto yy62;
2474 				} else {
2475 					if (yych <= 'T') goto yy69;
2476 					if (yych >= 'W') goto yy68;
2477 				}
2478 			}
2479 		}
2480 	} else {
2481 		if (yych <= 'l') {
2482 			if (yych <= 'd') {
2483 				if (yych == 'Y') goto yy67;
2484 				if (yych >= 'd') goto yy65;
2485 			} else {
2486 				if (yych <= 'f') {
2487 					if (yych >= 'f') goto yy66;
2488 				} else {
2489 					if (yych == 'h') goto yy64;
2490 				}
2491 			}
2492 		} else {
2493 			if (yych <= 't') {
2494 				if (yych <= 'm') goto yy63;
2495 				if (yych <= 'r') goto yy57;
2496 				if (yych <= 's') goto yy62;
2497 				goto yy69;
2498 			} else {
2499 				if (yych <= 'w') {
2500 					if (yych >= 'w') goto yy68;
2501 				} else {
2502 					if (yych == 'y') goto yy67;
2503 				}
2504 			}
2505 		}
2506 	}
2507 yy57:
2508 	YYDEBUG(57, *YYCURSOR);
2509 	YYCURSOR = YYMARKER;
2510 	if (yyaccept <= 16) {
2511 		if (yyaccept <= 8) {
2512 			if (yyaccept <= 4) {
2513 				if (yyaccept <= 2) {
2514 					if (yyaccept <= 1) {
2515 						if (yyaccept <= 0) {
2516 							goto yy4;
2517 						} else {
2518 							goto yy13;
2519 						}
2520 					} else {
2521 						goto yy50;
2522 					}
2523 				} else {
2524 					if (yyaccept <= 3) {
2525 						goto yy73;
2526 					} else {
2527 						goto yy167;
2528 					}
2529 				}
2530 			} else {
2531 				if (yyaccept <= 6) {
2532 					if (yyaccept <= 5) {
2533 						goto yy194;
2534 					} else {
2535 						goto yy199;
2536 					}
2537 				} else {
2538 					if (yyaccept <= 7) {
2539 						goto yy223;
2540 					} else {
2541 						goto yy295;
2542 					}
2543 				}
2544 			}
2545 		} else {
2546 			if (yyaccept <= 12) {
2547 				if (yyaccept <= 10) {
2548 					if (yyaccept <= 9) {
2549 						goto yy393;
2550 					} else {
2551 						goto yy476;
2552 					}
2553 				} else {
2554 					if (yyaccept <= 11) {
2555 						goto yy491;
2556 					} else {
2557 						goto yy612;
2558 					}
2559 				}
2560 			} else {
2561 				if (yyaccept <= 14) {
2562 					if (yyaccept <= 13) {
2563 						goto yy657;
2564 					} else {
2565 						goto yy667;
2566 					}
2567 				} else {
2568 					if (yyaccept <= 15) {
2569 						goto yy764;
2570 					} else {
2571 						goto yy784;
2572 					}
2573 				}
2574 			}
2575 		}
2576 	} else {
2577 		if (yyaccept <= 25) {
2578 			if (yyaccept <= 21) {
2579 				if (yyaccept <= 19) {
2580 					if (yyaccept <= 18) {
2581 						if (yyaccept <= 17) {
2582 							goto yy815;
2583 						} else {
2584 							goto yy822;
2585 						}
2586 					} else {
2587 						goto yy849;
2588 					}
2589 				} else {
2590 					if (yyaccept <= 20) {
2591 						goto yy794;
2592 					} else {
2593 						goto yy455;
2594 					}
2595 				}
2596 			} else {
2597 				if (yyaccept <= 23) {
2598 					if (yyaccept <= 22) {
2599 						goto yy974;
2600 					} else {
2601 						goto yy843;
2602 					}
2603 				} else {
2604 					if (yyaccept <= 24) {
2605 						goto yy1068;
2606 					} else {
2607 						goto yy1076;
2608 					}
2609 				}
2610 			}
2611 		} else {
2612 			if (yyaccept <= 29) {
2613 				if (yyaccept <= 27) {
2614 					if (yyaccept <= 26) {
2615 						goto yy1118;
2616 					} else {
2617 						goto yy1142;
2618 					}
2619 				} else {
2620 					if (yyaccept <= 28) {
2621 						goto yy1295;
2622 					} else {
2623 						goto yy1417;
2624 					}
2625 				}
2626 			} else {
2627 				if (yyaccept <= 31) {
2628 					if (yyaccept <= 30) {
2629 						goto yy1420;
2630 					} else {
2631 						goto yy1500;
2632 					}
2633 				} else {
2634 					if (yyaccept <= 32) {
2635 						goto yy1508;
2636 					} else {
2637 						goto yy1531;
2638 					}
2639 				}
2640 			}
2641 		}
2642 	}
2643 yy58:
2644 	YYDEBUG(58, *YYCURSOR);
2645 	++YYCURSOR;
2646 	if (YYLIMIT <= YYCURSOR) YYFILL(1);
2647 	yych = *YYCURSOR;
2648 	YYDEBUG(59, *YYCURSOR);
2649 	if (yybm[0+yych] & 4) {
2650 		goto yy58;
2651 	}
2652 	if (yych <= '/') goto yy57;
2653 	if (yych <= '9') goto yy55;
2654 	goto yy57;
2655 yy60:
2656 	YYDEBUG(60, *YYCURSOR);
2657 	++YYCURSOR;
2658 	if ((YYLIMIT - YYCURSOR) < 11) YYFILL(11);
2659 	yych = *YYCURSOR;
2660 yy61:
2661 	YYDEBUG(61, *YYCURSOR);
2662 	if (yych <= 'W') {
2663 		if (yych <= 'F') {
2664 			if (yych <= ' ') {
2665 				if (yych == '\t') goto yy60;
2666 				if (yych <= 0x1F) goto yy57;
2667 				goto yy60;
2668 			} else {
2669 				if (yych == 'D') goto yy65;
2670 				if (yych <= 'E') goto yy57;
2671 				goto yy66;
2672 			}
2673 		} else {
2674 			if (yych <= 'M') {
2675 				if (yych == 'H') goto yy64;
2676 				if (yych <= 'L') goto yy57;
2677 				goto yy63;
2678 			} else {
2679 				if (yych <= 'S') {
2680 					if (yych <= 'R') goto yy57;
2681 				} else {
2682 					if (yych <= 'T') goto yy69;
2683 					if (yych <= 'V') goto yy57;
2684 					goto yy68;
2685 				}
2686 			}
2687 		}
2688 	} else {
2689 		if (yych <= 'l') {
2690 			if (yych <= 'd') {
2691 				if (yych == 'Y') goto yy67;
2692 				if (yych <= 'c') goto yy57;
2693 				goto yy65;
2694 			} else {
2695 				if (yych <= 'f') {
2696 					if (yych <= 'e') goto yy57;
2697 					goto yy66;
2698 				} else {
2699 					if (yych == 'h') goto yy64;
2700 					goto yy57;
2701 				}
2702 			}
2703 		} else {
2704 			if (yych <= 't') {
2705 				if (yych <= 'm') goto yy63;
2706 				if (yych <= 'r') goto yy57;
2707 				if (yych >= 't') goto yy69;
2708 			} else {
2709 				if (yych <= 'w') {
2710 					if (yych <= 'v') goto yy57;
2711 					goto yy68;
2712 				} else {
2713 					if (yych == 'y') goto yy67;
2714 					goto yy57;
2715 				}
2716 			}
2717 		}
2718 	}
2719 yy62:
2720 	YYDEBUG(62, *YYCURSOR);
2721 	yych = *++YYCURSOR;
2722 	if (yych <= 'U') {
2723 		if (yych <= 'D') {
2724 			if (yych == 'A') goto yy127;
2725 			goto yy57;
2726 		} else {
2727 			if (yych <= 'E') goto yy128;
2728 			if (yych <= 'T') goto yy57;
2729 			goto yy126;
2730 		}
2731 	} else {
2732 		if (yych <= 'd') {
2733 			if (yych == 'a') goto yy127;
2734 			goto yy57;
2735 		} else {
2736 			if (yych <= 'e') goto yy128;
2737 			if (yych == 'u') goto yy126;
2738 			goto yy57;
2739 		}
2740 	}
2741 yy63:
2742 	YYDEBUG(63, *YYCURSOR);
2743 	yych = *++YYCURSOR;
2744 	if (yych <= 'O') {
2745 		if (yych == 'I') goto yy118;
2746 		if (yych <= 'N') goto yy57;
2747 		goto yy117;
2748 	} else {
2749 		if (yych <= 'i') {
2750 			if (yych <= 'h') goto yy57;
2751 			goto yy118;
2752 		} else {
2753 			if (yych == 'o') goto yy117;
2754 			goto yy57;
2755 		}
2756 	}
2757 yy64:
2758 	YYDEBUG(64, *YYCURSOR);
2759 	yych = *++YYCURSOR;
2760 	if (yych == 'O') goto yy115;
2761 	if (yych == 'o') goto yy115;
2762 	goto yy57;
2763 yy65:
2764 	YYDEBUG(65, *YYCURSOR);
2765 	yych = *++YYCURSOR;
2766 	if (yych == 'A') goto yy114;
2767 	if (yych == 'a') goto yy114;
2768 	goto yy57;
2769 yy66:
2770 	YYDEBUG(66, *YYCURSOR);
2771 	yych = *++YYCURSOR;
2772 	if (yych <= 'R') {
2773 		if (yych == 'O') goto yy99;
2774 		if (yych <= 'Q') goto yy57;
2775 		goto yy98;
2776 	} else {
2777 		if (yych <= 'o') {
2778 			if (yych <= 'n') goto yy57;
2779 			goto yy99;
2780 		} else {
2781 			if (yych == 'r') goto yy98;
2782 			goto yy57;
2783 		}
2784 	}
2785 yy67:
2786 	YYDEBUG(67, *YYCURSOR);
2787 	yych = *++YYCURSOR;
2788 	if (yych == 'E') goto yy95;
2789 	if (yych == 'e') goto yy95;
2790 	goto yy57;
2791 yy68:
2792 	YYDEBUG(68, *YYCURSOR);
2793 	yych = *++YYCURSOR;
2794 	if (yych == 'E') goto yy83;
2795 	if (yych == 'e') goto yy83;
2796 	goto yy57;
2797 yy69:
2798 	YYDEBUG(69, *YYCURSOR);
2799 	yych = *++YYCURSOR;
2800 	if (yych <= 'U') {
2801 		if (yych == 'H') goto yy70;
2802 		if (yych <= 'T') goto yy57;
2803 		goto yy71;
2804 	} else {
2805 		if (yych <= 'h') {
2806 			if (yych <= 'g') goto yy57;
2807 		} else {
2808 			if (yych == 'u') goto yy71;
2809 			goto yy57;
2810 		}
2811 	}
2812 yy70:
2813 	YYDEBUG(70, *YYCURSOR);
2814 	yych = *++YYCURSOR;
2815 	if (yych == 'U') goto yy78;
2816 	if (yych == 'u') goto yy78;
2817 	goto yy57;
2818 yy71:
2819 	YYDEBUG(71, *YYCURSOR);
2820 	yych = *++YYCURSOR;
2821 	if (yych == 'E') goto yy72;
2822 	if (yych != 'e') goto yy57;
2823 yy72:
2824 	YYDEBUG(72, *YYCURSOR);
2825 	yyaccept = 3;
2826 	yych = *(YYMARKER = ++YYCURSOR);
2827 	if (yych == 'S') goto yy74;
2828 	if (yych == 's') goto yy74;
2829 yy73:
2830 	YYDEBUG(73, *YYCURSOR);
2831 #line 1747 "ext/date/lib/parse_date.re"
2832 	{
2833 		timelib_ull i;
2834 		DEBUG_OUTPUT("relative");
2835 		TIMELIB_INIT;
2836 		TIMELIB_HAVE_RELATIVE();
2837 
2838 		while(*ptr) {
2839 			i = timelib_get_unsigned_nr((char **) &ptr, 24);
2840 			timelib_eat_spaces((char **) &ptr);
2841 			timelib_set_relative((char **) &ptr, i, 1, s);
2842 		}
2843 		TIMELIB_DEINIT;
2844 		return TIMELIB_RELATIVE;
2845 	}
2846 #line 2847 "ext/date/lib/parse_date.c"
2847 yy74:
2848 	YYDEBUG(74, *YYCURSOR);
2849 	yych = *++YYCURSOR;
2850 	if (yych == 'D') goto yy75;
2851 	if (yych != 'd') goto yy57;
2852 yy75:
2853 	YYDEBUG(75, *YYCURSOR);
2854 	yych = *++YYCURSOR;
2855 	if (yych == 'A') goto yy76;
2856 	if (yych != 'a') goto yy57;
2857 yy76:
2858 	YYDEBUG(76, *YYCURSOR);
2859 	yych = *++YYCURSOR;
2860 	if (yych == 'Y') goto yy77;
2861 	if (yych != 'y') goto yy57;
2862 yy77:
2863 	YYDEBUG(77, *YYCURSOR);
2864 	yych = *++YYCURSOR;
2865 	goto yy73;
2866 yy78:
2867 	YYDEBUG(78, *YYCURSOR);
2868 	yyaccept = 3;
2869 	yych = *(YYMARKER = ++YYCURSOR);
2870 	if (yych == 'R') goto yy79;
2871 	if (yych != 'r') goto yy73;
2872 yy79:
2873 	YYDEBUG(79, *YYCURSOR);
2874 	yych = *++YYCURSOR;
2875 	if (yych == 'S') goto yy80;
2876 	if (yych != 's') goto yy57;
2877 yy80:
2878 	YYDEBUG(80, *YYCURSOR);
2879 	yych = *++YYCURSOR;
2880 	if (yych == 'D') goto yy81;
2881 	if (yych != 'd') goto yy57;
2882 yy81:
2883 	YYDEBUG(81, *YYCURSOR);
2884 	yych = *++YYCURSOR;
2885 	if (yych == 'A') goto yy82;
2886 	if (yych != 'a') goto yy57;
2887 yy82:
2888 	YYDEBUG(82, *YYCURSOR);
2889 	yych = *++YYCURSOR;
2890 	if (yych == 'Y') goto yy77;
2891 	if (yych == 'y') goto yy77;
2892 	goto yy57;
2893 yy83:
2894 	YYDEBUG(83, *YYCURSOR);
2895 	yych = *++YYCURSOR;
2896 	if (yych <= 'E') {
2897 		if (yych <= 'C') goto yy57;
2898 		if (yych <= 'D') goto yy85;
2899 	} else {
2900 		if (yych <= 'c') goto yy57;
2901 		if (yych <= 'd') goto yy85;
2902 		if (yych >= 'f') goto yy57;
2903 	}
2904 	YYDEBUG(84, *YYCURSOR);
2905 	yych = *++YYCURSOR;
2906 	if (yych == 'K') goto yy91;
2907 	if (yych == 'k') goto yy91;
2908 	goto yy57;
2909 yy85:
2910 	YYDEBUG(85, *YYCURSOR);
2911 	yyaccept = 3;
2912 	yych = *(YYMARKER = ++YYCURSOR);
2913 	if (yych == 'N') goto yy86;
2914 	if (yych != 'n') goto yy73;
2915 yy86:
2916 	YYDEBUG(86, *YYCURSOR);
2917 	yych = *++YYCURSOR;
2918 	if (yych == 'E') goto yy87;
2919 	if (yych != 'e') goto yy57;
2920 yy87:
2921 	YYDEBUG(87, *YYCURSOR);
2922 	yych = *++YYCURSOR;
2923 	if (yych == 'S') goto yy88;
2924 	if (yych != 's') goto yy57;
2925 yy88:
2926 	YYDEBUG(88, *YYCURSOR);
2927 	yych = *++YYCURSOR;
2928 	if (yych == 'D') goto yy89;
2929 	if (yych != 'd') goto yy57;
2930 yy89:
2931 	YYDEBUG(89, *YYCURSOR);
2932 	yych = *++YYCURSOR;
2933 	if (yych == 'A') goto yy90;
2934 	if (yych != 'a') goto yy57;
2935 yy90:
2936 	YYDEBUG(90, *YYCURSOR);
2937 	yych = *++YYCURSOR;
2938 	if (yych == 'Y') goto yy77;
2939 	if (yych == 'y') goto yy77;
2940 	goto yy57;
2941 yy91:
2942 	YYDEBUG(91, *YYCURSOR);
2943 	yyaccept = 3;
2944 	yych = *(YYMARKER = ++YYCURSOR);
2945 	if (yych <= 'S') {
2946 		if (yych == 'D') goto yy92;
2947 		if (yych <= 'R') goto yy73;
2948 		goto yy77;
2949 	} else {
2950 		if (yych <= 'd') {
2951 			if (yych <= 'c') goto yy73;
2952 		} else {
2953 			if (yych == 's') goto yy77;
2954 			goto yy73;
2955 		}
2956 	}
2957 yy92:
2958 	YYDEBUG(92, *YYCURSOR);
2959 	yych = *++YYCURSOR;
2960 	if (yych == 'A') goto yy93;
2961 	if (yych != 'a') goto yy57;
2962 yy93:
2963 	YYDEBUG(93, *YYCURSOR);
2964 	yych = *++YYCURSOR;
2965 	if (yych == 'Y') goto yy94;
2966 	if (yych != 'y') goto yy57;
2967 yy94:
2968 	YYDEBUG(94, *YYCURSOR);
2969 	yych = *++YYCURSOR;
2970 	if (yych == 'S') goto yy77;
2971 	if (yych == 's') goto yy77;
2972 	goto yy73;
2973 yy95:
2974 	YYDEBUG(95, *YYCURSOR);
2975 	yych = *++YYCURSOR;
2976 	if (yych == 'A') goto yy96;
2977 	if (yych != 'a') goto yy57;
2978 yy96:
2979 	YYDEBUG(96, *YYCURSOR);
2980 	yych = *++YYCURSOR;
2981 	if (yych == 'R') goto yy97;
2982 	if (yych != 'r') goto yy57;
2983 yy97:
2984 	YYDEBUG(97, *YYCURSOR);
2985 	yych = *++YYCURSOR;
2986 	if (yych == 'S') goto yy77;
2987 	if (yych == 's') goto yy77;
2988 	goto yy73;
2989 yy98:
2990 	YYDEBUG(98, *YYCURSOR);
2991 	yych = *++YYCURSOR;
2992 	if (yych == 'I') goto yy111;
2993 	if (yych == 'i') goto yy111;
2994 	goto yy57;
2995 yy99:
2996 	YYDEBUG(99, *YYCURSOR);
2997 	yych = *++YYCURSOR;
2998 	if (yych == 'R') goto yy100;
2999 	if (yych != 'r') goto yy57;
3000 yy100:
3001 	YYDEBUG(100, *YYCURSOR);
3002 	yych = *++YYCURSOR;
3003 	if (yych == 'T') goto yy101;
3004 	if (yych != 't') goto yy57;
3005 yy101:
3006 	YYDEBUG(101, *YYCURSOR);
3007 	yych = *++YYCURSOR;
3008 	if (yych <= 'N') {
3009 		if (yych == 'H') goto yy103;
3010 		if (yych <= 'M') goto yy57;
3011 	} else {
3012 		if (yych <= 'h') {
3013 			if (yych <= 'g') goto yy57;
3014 			goto yy103;
3015 		} else {
3016 			if (yych != 'n') goto yy57;
3017 		}
3018 	}
3019 	YYDEBUG(102, *YYCURSOR);
3020 	yych = *++YYCURSOR;
3021 	if (yych == 'I') goto yy108;
3022 	if (yych == 'i') goto yy108;
3023 	goto yy57;
3024 yy103:
3025 	YYDEBUG(103, *YYCURSOR);
3026 	yych = *++YYCURSOR;
3027 	if (yych == 'N') goto yy104;
3028 	if (yych != 'n') goto yy57;
3029 yy104:
3030 	YYDEBUG(104, *YYCURSOR);
3031 	yych = *++YYCURSOR;
3032 	if (yych == 'I') goto yy105;
3033 	if (yych != 'i') goto yy57;
3034 yy105:
3035 	YYDEBUG(105, *YYCURSOR);
3036 	yych = *++YYCURSOR;
3037 	if (yych == 'G') goto yy106;
3038 	if (yych != 'g') goto yy57;
3039 yy106:
3040 	YYDEBUG(106, *YYCURSOR);
3041 	yych = *++YYCURSOR;
3042 	if (yych == 'H') goto yy107;
3043 	if (yych != 'h') goto yy57;
3044 yy107:
3045 	YYDEBUG(107, *YYCURSOR);
3046 	yych = *++YYCURSOR;
3047 	if (yych == 'T') goto yy97;
3048 	if (yych == 't') goto yy97;
3049 	goto yy57;
3050 yy108:
3051 	YYDEBUG(108, *YYCURSOR);
3052 	yych = *++YYCURSOR;
3053 	if (yych == 'G') goto yy109;
3054 	if (yych != 'g') goto yy57;
3055 yy109:
3056 	YYDEBUG(109, *YYCURSOR);
3057 	yych = *++YYCURSOR;
3058 	if (yych == 'H') goto yy110;
3059 	if (yych != 'h') goto yy57;
3060 yy110:
3061 	YYDEBUG(110, *YYCURSOR);
3062 	yych = *++YYCURSOR;
3063 	if (yych == 'T') goto yy97;
3064 	if (yych == 't') goto yy97;
3065 	goto yy57;
3066 yy111:
3067 	YYDEBUG(111, *YYCURSOR);
3068 	yyaccept = 3;
3069 	yych = *(YYMARKER = ++YYCURSOR);
3070 	if (yych == 'D') goto yy112;
3071 	if (yych != 'd') goto yy73;
3072 yy112:
3073 	YYDEBUG(112, *YYCURSOR);
3074 	yych = *++YYCURSOR;
3075 	if (yych == 'A') goto yy113;
3076 	if (yych != 'a') goto yy57;
3077 yy113:
3078 	YYDEBUG(113, *YYCURSOR);
3079 	yych = *++YYCURSOR;
3080 	if (yych == 'Y') goto yy77;
3081 	if (yych == 'y') goto yy77;
3082 	goto yy57;
3083 yy114:
3084 	YYDEBUG(114, *YYCURSOR);
3085 	yych = *++YYCURSOR;
3086 	if (yych == 'Y') goto yy97;
3087 	if (yych == 'y') goto yy97;
3088 	goto yy57;
3089 yy115:
3090 	YYDEBUG(115, *YYCURSOR);
3091 	yych = *++YYCURSOR;
3092 	if (yych == 'U') goto yy116;
3093 	if (yych != 'u') goto yy57;
3094 yy116:
3095 	YYDEBUG(116, *YYCURSOR);
3096 	yych = *++YYCURSOR;
3097 	if (yych == 'R') goto yy97;
3098 	if (yych == 'r') goto yy97;
3099 	goto yy57;
3100 yy117:
3101 	YYDEBUG(117, *YYCURSOR);
3102 	yych = *++YYCURSOR;
3103 	if (yych == 'N') goto yy122;
3104 	if (yych == 'n') goto yy122;
3105 	goto yy57;
3106 yy118:
3107 	YYDEBUG(118, *YYCURSOR);
3108 	yych = *++YYCURSOR;
3109 	if (yych == 'N') goto yy119;
3110 	if (yych != 'n') goto yy57;
3111 yy119:
3112 	YYDEBUG(119, *YYCURSOR);
3113 	yyaccept = 3;
3114 	yych = *(YYMARKER = ++YYCURSOR);
3115 	if (yych <= 'U') {
3116 		if (yych == 'S') goto yy77;
3117 		if (yych <= 'T') goto yy73;
3118 	} else {
3119 		if (yych <= 's') {
3120 			if (yych <= 'r') goto yy73;
3121 			goto yy77;
3122 		} else {
3123 			if (yych != 'u') goto yy73;
3124 		}
3125 	}
3126 	YYDEBUG(120, *YYCURSOR);
3127 	yych = *++YYCURSOR;
3128 	if (yych == 'T') goto yy121;
3129 	if (yych != 't') goto yy57;
3130 yy121:
3131 	YYDEBUG(121, *YYCURSOR);
3132 	yych = *++YYCURSOR;
3133 	if (yych == 'E') goto yy97;
3134 	if (yych == 'e') goto yy97;
3135 	goto yy57;
3136 yy122:
3137 	YYDEBUG(122, *YYCURSOR);
3138 	yyaccept = 3;
3139 	yych = *(YYMARKER = ++YYCURSOR);
3140 	if (yych <= 'T') {
3141 		if (yych == 'D') goto yy123;
3142 		if (yych <= 'S') goto yy73;
3143 		goto yy124;
3144 	} else {
3145 		if (yych <= 'd') {
3146 			if (yych <= 'c') goto yy73;
3147 		} else {
3148 			if (yych == 't') goto yy124;
3149 			goto yy73;
3150 		}
3151 	}
3152 yy123:
3153 	YYDEBUG(123, *YYCURSOR);
3154 	yych = *++YYCURSOR;
3155 	if (yych == 'A') goto yy125;
3156 	if (yych == 'a') goto yy125;
3157 	goto yy57;
3158 yy124:
3159 	YYDEBUG(124, *YYCURSOR);
3160 	yych = *++YYCURSOR;
3161 	if (yych == 'H') goto yy97;
3162 	if (yych == 'h') goto yy97;
3163 	goto yy57;
3164 yy125:
3165 	YYDEBUG(125, *YYCURSOR);
3166 	yych = *++YYCURSOR;
3167 	if (yych == 'Y') goto yy77;
3168 	if (yych == 'y') goto yy77;
3169 	goto yy57;
3170 yy126:
3171 	YYDEBUG(126, *YYCURSOR);
3172 	yych = *++YYCURSOR;
3173 	if (yych == 'N') goto yy137;
3174 	if (yych == 'n') goto yy137;
3175 	goto yy57;
3176 yy127:
3177 	YYDEBUG(127, *YYCURSOR);
3178 	yych = *++YYCURSOR;
3179 	if (yych == 'T') goto yy132;
3180 	if (yych == 't') goto yy132;
3181 	goto yy57;
3182 yy128:
3183 	YYDEBUG(128, *YYCURSOR);
3184 	yych = *++YYCURSOR;
3185 	if (yych == 'C') goto yy129;
3186 	if (yych != 'c') goto yy57;
3187 yy129:
3188 	YYDEBUG(129, *YYCURSOR);
3189 	yyaccept = 3;
3190 	yych = *(YYMARKER = ++YYCURSOR);
3191 	if (yych <= 'S') {
3192 		if (yych == 'O') goto yy130;
3193 		if (yych <= 'R') goto yy73;
3194 		goto yy77;
3195 	} else {
3196 		if (yych <= 'o') {
3197 			if (yych <= 'n') goto yy73;
3198 		} else {
3199 			if (yych == 's') goto yy77;
3200 			goto yy73;
3201 		}
3202 	}
3203 yy130:
3204 	YYDEBUG(130, *YYCURSOR);
3205 	yych = *++YYCURSOR;
3206 	if (yych == 'N') goto yy131;
3207 	if (yych != 'n') goto yy57;
3208 yy131:
3209 	YYDEBUG(131, *YYCURSOR);
3210 	yych = *++YYCURSOR;
3211 	if (yych == 'D') goto yy97;
3212 	if (yych == 'd') goto yy97;
3213 	goto yy57;
3214 yy132:
3215 	YYDEBUG(132, *YYCURSOR);
3216 	yyaccept = 3;
3217 	yych = *(YYMARKER = ++YYCURSOR);
3218 	if (yych == 'U') goto yy133;
3219 	if (yych != 'u') goto yy73;
3220 yy133:
3221 	YYDEBUG(133, *YYCURSOR);
3222 	yych = *++YYCURSOR;
3223 	if (yych == 'R') goto yy134;
3224 	if (yych != 'r') goto yy57;
3225 yy134:
3226 	YYDEBUG(134, *YYCURSOR);
3227 	yych = *++YYCURSOR;
3228 	if (yych == 'D') goto yy135;
3229 	if (yych != 'd') goto yy57;
3230 yy135:
3231 	YYDEBUG(135, *YYCURSOR);
3232 	yych = *++YYCURSOR;
3233 	if (yych == 'A') goto yy136;
3234 	if (yych != 'a') goto yy57;
3235 yy136:
3236 	YYDEBUG(136, *YYCURSOR);
3237 	yych = *++YYCURSOR;
3238 	if (yych == 'Y') goto yy77;
3239 	if (yych == 'y') goto yy77;
3240 	goto yy57;
3241 yy137:
3242 	YYDEBUG(137, *YYCURSOR);
3243 	yyaccept = 3;
3244 	yych = *(YYMARKER = ++YYCURSOR);
3245 	if (yych == 'D') goto yy138;
3246 	if (yych != 'd') goto yy73;
3247 yy138:
3248 	YYDEBUG(138, *YYCURSOR);
3249 	yych = *++YYCURSOR;
3250 	if (yych == 'A') goto yy139;
3251 	if (yych != 'a') goto yy57;
3252 yy139:
3253 	YYDEBUG(139, *YYCURSOR);
3254 	yych = *++YYCURSOR;
3255 	if (yych == 'Y') goto yy77;
3256 	if (yych == 'y') goto yy77;
3257 	goto yy57;
3258 yy140:
3259 	YYDEBUG(140, *YYCURSOR);
3260 	yych = *++YYCURSOR;
3261 	goto yy4;
3262 yy141:
3263 	YYDEBUG(141, *YYCURSOR);
3264 	yych = *++YYCURSOR;
3265 	if (yych <= '@') {
3266 		if (yych == ')') goto yy140;
3267 		goto yy4;
3268 	} else {
3269 		if (yych <= 'Z') goto yy142;
3270 		if (yych <= '`') goto yy4;
3271 		if (yych >= '{') goto yy4;
3272 	}
3273 yy142:
3274 	YYDEBUG(142, *YYCURSOR);
3275 	yych = *++YYCURSOR;
3276 	if (yych <= '@') {
3277 		if (yych == ')') goto yy140;
3278 		goto yy4;
3279 	} else {
3280 		if (yych <= 'Z') goto yy143;
3281 		if (yych <= '`') goto yy4;
3282 		if (yych >= '{') goto yy4;
3283 	}
3284 yy143:
3285 	YYDEBUG(143, *YYCURSOR);
3286 	yych = *++YYCURSOR;
3287 	if (yych <= '@') {
3288 		if (yych == ')') goto yy140;
3289 		goto yy4;
3290 	} else {
3291 		if (yych <= 'Z') goto yy144;
3292 		if (yych <= '`') goto yy4;
3293 		if (yych >= '{') goto yy4;
3294 	}
3295 yy144:
3296 	YYDEBUG(144, *YYCURSOR);
3297 	yych = *++YYCURSOR;
3298 	if (yych <= '@') {
3299 		if (yych == ')') goto yy140;
3300 		goto yy4;
3301 	} else {
3302 		if (yych <= 'Z') goto yy145;
3303 		if (yych <= '`') goto yy4;
3304 		if (yych >= '{') goto yy4;
3305 	}
3306 yy145:
3307 	YYDEBUG(145, *YYCURSOR);
3308 	yych = *++YYCURSOR;
3309 	if (yych == ')') goto yy140;
3310 	goto yy4;
3311 yy146:
3312 	YYDEBUG(146, *YYCURSOR);
3313 	yyaccept = 0;
3314 	yych = *(YYMARKER = ++YYCURSOR);
3315 	if (yych <= '/') {
3316 		if (yych <= ',') {
3317 			if (yych == ')') goto yy140;
3318 			goto yy4;
3319 		} else {
3320 			if (yych == '.') goto yy4;
3321 			goto yy148;
3322 		}
3323 	} else {
3324 		if (yych <= '^') {
3325 			if (yych <= '@') goto yy4;
3326 			if (yych <= 'Z') goto yy142;
3327 			goto yy4;
3328 		} else {
3329 			if (yych <= '_') goto yy148;
3330 			if (yych <= '`') goto yy4;
3331 			if (yych >= '{') goto yy4;
3332 		}
3333 	}
3334 yy147:
3335 	YYDEBUG(147, *YYCURSOR);
3336 	yyaccept = 0;
3337 	yych = *(YYMARKER = ++YYCURSOR);
3338 	if (yych <= '/') {
3339 		if (yych <= ',') {
3340 			if (yych == ')') goto yy140;
3341 			goto yy4;
3342 		} else {
3343 			if (yych == '.') goto yy4;
3344 		}
3345 	} else {
3346 		if (yych <= '^') {
3347 			if (yych <= '@') goto yy4;
3348 			if (yych <= 'Z') goto yy143;
3349 			goto yy4;
3350 		} else {
3351 			if (yych <= '_') goto yy148;
3352 			if (yych <= '`') goto yy4;
3353 			if (yych <= 'z') goto yy151;
3354 			goto yy4;
3355 		}
3356 	}
3357 yy148:
3358 	YYDEBUG(148, *YYCURSOR);
3359 	++YYCURSOR;
3360 	if (YYLIMIT <= YYCURSOR) YYFILL(1);
3361 	yych = *YYCURSOR;
3362 	if (yybm[0+yych] & 8) {
3363 		goto yy149;
3364 	}
3365 	goto yy57;
3366 yy149:
3367 	YYDEBUG(149, *YYCURSOR);
3368 	yyaccept = 0;
3369 	YYMARKER = ++YYCURSOR;
3370 	if (YYLIMIT <= YYCURSOR) YYFILL(1);
3371 	yych = *YYCURSOR;
3372 	YYDEBUG(150, *YYCURSOR);
3373 	if (yybm[0+yych] & 8) {
3374 		goto yy149;
3375 	}
3376 	if (yych <= '.') {
3377 		if (yych == '-') goto yy148;
3378 		goto yy4;
3379 	} else {
3380 		if (yych <= '/') goto yy148;
3381 		if (yych == '_') goto yy148;
3382 		goto yy4;
3383 	}
3384 yy151:
3385 	YYDEBUG(151, *YYCURSOR);
3386 	yyaccept = 0;
3387 	yych = *(YYMARKER = ++YYCURSOR);
3388 	if (yych <= '/') {
3389 		if (yych <= ',') {
3390 			if (yych == ')') goto yy140;
3391 			goto yy4;
3392 		} else {
3393 			if (yych == '.') goto yy4;
3394 			goto yy148;
3395 		}
3396 	} else {
3397 		if (yych <= '^') {
3398 			if (yych <= '@') goto yy4;
3399 			if (yych <= 'Z') goto yy144;
3400 			goto yy4;
3401 		} else {
3402 			if (yych <= '_') goto yy148;
3403 			if (yych <= '`') goto yy4;
3404 			if (yych >= '{') goto yy4;
3405 		}
3406 	}
3407 yy152:
3408 	YYDEBUG(152, *YYCURSOR);
3409 	yyaccept = 0;
3410 	yych = *(YYMARKER = ++YYCURSOR);
3411 	if (yych <= '/') {
3412 		if (yych <= ',') {
3413 			if (yych == ')') goto yy140;
3414 			goto yy4;
3415 		} else {
3416 			if (yych == '.') goto yy4;
3417 			goto yy148;
3418 		}
3419 	} else {
3420 		if (yych <= '^') {
3421 			if (yych <= '@') goto yy4;
3422 			if (yych <= 'Z') goto yy145;
3423 			goto yy4;
3424 		} else {
3425 			if (yych <= '_') goto yy148;
3426 			if (yych <= '`') goto yy4;
3427 			if (yych >= '{') goto yy4;
3428 		}
3429 	}
3430 yy153:
3431 	YYDEBUG(153, *YYCURSOR);
3432 	yyaccept = 0;
3433 	yych = *(YYMARKER = ++YYCURSOR);
3434 	if (yybm[0+yych] & 16) {
3435 		goto yy154;
3436 	}
3437 	if (yych <= '-') {
3438 		if (yych == ')') goto yy140;
3439 		if (yych <= ',') goto yy4;
3440 		goto yy148;
3441 	} else {
3442 		if (yych <= '/') {
3443 			if (yych <= '.') goto yy4;
3444 			goto yy148;
3445 		} else {
3446 			if (yych == '_') goto yy148;
3447 			goto yy4;
3448 		}
3449 	}
3450 yy154:
3451 	YYDEBUG(154, *YYCURSOR);
3452 	++YYCURSOR;
3453 	if (YYLIMIT <= YYCURSOR) YYFILL(1);
3454 	yych = *YYCURSOR;
3455 yy155:
3456 	YYDEBUG(155, *YYCURSOR);
3457 	if (yybm[0+yych] & 16) {
3458 		goto yy154;
3459 	}
3460 	if (yych <= '.') {
3461 		if (yych == '-') goto yy148;
3462 		goto yy57;
3463 	} else {
3464 		if (yych <= '/') goto yy148;
3465 		if (yych == '_') goto yy148;
3466 		goto yy57;
3467 	}
3468 yy156:
3469 	YYDEBUG(156, *YYCURSOR);
3470 	yych = *++YYCURSOR;
3471 	if (yych <= '@') {
3472 		if (yych == ')') goto yy140;
3473 		goto yy4;
3474 	} else {
3475 		if (yych <= 'Z') goto yy141;
3476 		if (yych <= '`') goto yy4;
3477 		if (yych <= 'z') goto yy141;
3478 		goto yy4;
3479 	}
3480 yy157:
3481 	YYDEBUG(157, *YYCURSOR);
3482 	yych = *++YYCURSOR;
3483 	if (yych <= 'S') {
3484 		if (yych == ')') goto yy140;
3485 		if (yych <= '@') goto yy4;
3486 		goto yy142;
3487 	} else {
3488 		if (yych <= 'Z') {
3489 			if (yych >= 'U') goto yy142;
3490 		} else {
3491 			if (yych <= '`') goto yy4;
3492 			if (yych <= 'z') goto yy142;
3493 			goto yy4;
3494 		}
3495 	}
3496 	YYDEBUG(158, *YYCURSOR);
3497 	yyaccept = 0;
3498 	yych = *(YYMARKER = ++YYCURSOR);
3499 	if (yych <= ',') {
3500 		if (yych <= ')') {
3501 			if (yych <= '(') goto yy4;
3502 			goto yy140;
3503 		} else {
3504 			if (yych != '+') goto yy4;
3505 		}
3506 	} else {
3507 		if (yych <= 'Z') {
3508 			if (yych <= '-') goto yy159;
3509 			if (yych <= '@') goto yy4;
3510 			goto yy143;
3511 		} else {
3512 			if (yych <= '`') goto yy4;
3513 			if (yych <= 'z') goto yy143;
3514 			goto yy4;
3515 		}
3516 	}
3517 yy159:
3518 	YYDEBUG(159, *YYCURSOR);
3519 	yych = *++YYCURSOR;
3520 	if (yych <= '/') goto yy57;
3521 	if (yych <= '1') goto yy160;
3522 	if (yych <= '2') goto yy161;
3523 	if (yych <= '9') goto yy162;
3524 	goto yy57;
3525 yy160:
3526 	YYDEBUG(160, *YYCURSOR);
3527 	yych = *++YYCURSOR;
3528 	if (yych <= '/') goto yy4;
3529 	if (yych <= '9') goto yy162;
3530 	if (yych <= ':') goto yy163;
3531 	goto yy4;
3532 yy161:
3533 	YYDEBUG(161, *YYCURSOR);
3534 	yych = *++YYCURSOR;
3535 	if (yych <= '5') {
3536 		if (yych <= '/') goto yy4;
3537 		if (yych >= '5') goto yy164;
3538 	} else {
3539 		if (yych <= '9') goto yy140;
3540 		if (yych <= ':') goto yy163;
3541 		goto yy4;
3542 	}
3543 yy162:
3544 	YYDEBUG(162, *YYCURSOR);
3545 	yych = *++YYCURSOR;
3546 	if (yych <= '/') goto yy4;
3547 	if (yych <= '5') goto yy164;
3548 	if (yych <= '9') goto yy140;
3549 	if (yych >= ';') goto yy4;
3550 yy163:
3551 	YYDEBUG(163, *YYCURSOR);
3552 	yych = *++YYCURSOR;
3553 	if (yych <= '/') goto yy4;
3554 	if (yych <= '5') goto yy164;
3555 	if (yych <= '9') goto yy140;
3556 	goto yy4;
3557 yy164:
3558 	YYDEBUG(164, *YYCURSOR);
3559 	yych = *++YYCURSOR;
3560 	if (yych <= '/') goto yy4;
3561 	if (yych <= '9') goto yy140;
3562 	goto yy4;
3563 yy165:
3564 	YYDEBUG(165, *YYCURSOR);
3565 	yych = *++YYCURSOR;
3566 	if (yych <= 'E') {
3567 		if (yych <= '@') {
3568 			if (yych == ')') goto yy140;
3569 			goto yy4;
3570 		} else {
3571 			if (yych <= 'C') goto yy142;
3572 			if (yych >= 'E') goto yy168;
3573 		}
3574 	} else {
3575 		if (yych <= 'c') {
3576 			if (yych <= 'Z') goto yy142;
3577 			if (yych <= '`') goto yy4;
3578 			goto yy142;
3579 		} else {
3580 			if (yych <= 'd') goto yy166;
3581 			if (yych <= 'e') goto yy168;
3582 			if (yych <= 'z') goto yy142;
3583 			goto yy4;
3584 		}
3585 	}
3586 yy166:
3587 	YYDEBUG(166, *YYCURSOR);
3588 	++YYCURSOR;
3589 	if ((yych = *YYCURSOR) <= 'N') {
3590 		if (yych <= ')') {
3591 			if (yych >= ')') goto yy140;
3592 		} else {
3593 			if (yych <= '@') goto yy167;
3594 			if (yych <= 'M') goto yy143;
3595 			goto yy174;
3596 		}
3597 	} else {
3598 		if (yych <= 'm') {
3599 			if (yych <= 'Z') goto yy143;
3600 			if (yych >= 'a') goto yy143;
3601 		} else {
3602 			if (yych <= 'n') goto yy174;
3603 			if (yych <= 'z') goto yy143;
3604 		}
3605 	}
3606 yy167:
3607 	YYDEBUG(167, *YYCURSOR);
3608 #line 1610 "ext/date/lib/parse_date.re"
3609 	{
3610 		const timelib_relunit* relunit;
3611 		DEBUG_OUTPUT("daytext");
3612 		TIMELIB_INIT;
3613 		TIMELIB_HAVE_RELATIVE();
3614 		TIMELIB_HAVE_WEEKDAY_RELATIVE();
3615 		TIMELIB_UNHAVE_TIME();
3616 		relunit = timelib_lookup_relunit((char**) &ptr);
3617 		s->time->relative.weekday = relunit->multiplier;
3618 		if (s->time->relative.weekday_behavior != 2) {
3619 			s->time->relative.weekday_behavior = 1;
3620 		}
3621 
3622 		TIMELIB_DEINIT;
3623 		return TIMELIB_WEEKDAY;
3624 	}
3625 #line 3626 "ext/date/lib/parse_date.c"
3626 yy168:
3627 	YYDEBUG(168, *YYCURSOR);
3628 	yych = *++YYCURSOR;
3629 	if (yych <= 'K') {
3630 		if (yych <= ')') {
3631 			if (yych <= '(') goto yy4;
3632 			goto yy140;
3633 		} else {
3634 			if (yych <= '@') goto yy4;
3635 			if (yych <= 'J') goto yy143;
3636 		}
3637 	} else {
3638 		if (yych <= 'j') {
3639 			if (yych <= 'Z') goto yy143;
3640 			if (yych <= '`') goto yy4;
3641 			goto yy143;
3642 		} else {
3643 			if (yych <= 'k') goto yy169;
3644 			if (yych <= 'z') goto yy143;
3645 			goto yy4;
3646 		}
3647 	}
3648 yy169:
3649 	YYDEBUG(169, *YYCURSOR);
3650 	yych = *++YYCURSOR;
3651 	if (yych <= 'D') {
3652 		if (yych <= ')') {
3653 			if (yych <= '(') goto yy4;
3654 			goto yy140;
3655 		} else {
3656 			if (yych <= '@') goto yy4;
3657 			if (yych <= 'C') goto yy144;
3658 		}
3659 	} else {
3660 		if (yych <= 'c') {
3661 			if (yych <= 'Z') goto yy144;
3662 			if (yych <= '`') goto yy4;
3663 			goto yy144;
3664 		} else {
3665 			if (yych <= 'd') goto yy170;
3666 			if (yych <= 'z') goto yy144;
3667 			goto yy4;
3668 		}
3669 	}
3670 yy170:
3671 	YYDEBUG(170, *YYCURSOR);
3672 	yych = *++YYCURSOR;
3673 	if (yych <= 'A') {
3674 		if (yych == ')') goto yy140;
3675 		if (yych <= '@') goto yy4;
3676 	} else {
3677 		if (yych <= '`') {
3678 			if (yych <= 'Z') goto yy145;
3679 			goto yy4;
3680 		} else {
3681 			if (yych <= 'a') goto yy171;
3682 			if (yych <= 'z') goto yy145;
3683 			goto yy4;
3684 		}
3685 	}
3686 yy171:
3687 	YYDEBUG(171, *YYCURSOR);
3688 	yych = *++YYCURSOR;
3689 	if (yych <= 'X') {
3690 		if (yych == ')') goto yy140;
3691 		goto yy4;
3692 	} else {
3693 		if (yych <= 'Y') goto yy172;
3694 		if (yych != 'y') goto yy4;
3695 	}
3696 yy172:
3697 	YYDEBUG(172, *YYCURSOR);
3698 	yych = *++YYCURSOR;
3699 	if (yych == 'S') goto yy173;
3700 	if (yych != 's') goto yy167;
3701 yy173:
3702 	YYDEBUG(173, *YYCURSOR);
3703 	yych = *++YYCURSOR;
3704 	goto yy167;
3705 yy174:
3706 	YYDEBUG(174, *YYCURSOR);
3707 	yych = *++YYCURSOR;
3708 	if (yych <= 'E') {
3709 		if (yych <= ')') {
3710 			if (yych <= '(') goto yy4;
3711 			goto yy140;
3712 		} else {
3713 			if (yych <= '@') goto yy4;
3714 			if (yych <= 'D') goto yy144;
3715 		}
3716 	} else {
3717 		if (yych <= 'd') {
3718 			if (yych <= 'Z') goto yy144;
3719 			if (yych <= '`') goto yy4;
3720 			goto yy144;
3721 		} else {
3722 			if (yych <= 'e') goto yy175;
3723 			if (yych <= 'z') goto yy144;
3724 			goto yy4;
3725 		}
3726 	}
3727 yy175:
3728 	YYDEBUG(175, *YYCURSOR);
3729 	yych = *++YYCURSOR;
3730 	if (yych <= 'S') {
3731 		if (yych <= ')') {
3732 			if (yych <= '(') goto yy4;
3733 			goto yy140;
3734 		} else {
3735 			if (yych <= '@') goto yy4;
3736 			if (yych <= 'R') goto yy145;
3737 		}
3738 	} else {
3739 		if (yych <= 'r') {
3740 			if (yych <= 'Z') goto yy145;
3741 			if (yych <= '`') goto yy4;
3742 			goto yy145;
3743 		} else {
3744 			if (yych <= 's') goto yy176;
3745 			if (yych <= 'z') goto yy145;
3746 			goto yy4;
3747 		}
3748 	}
3749 yy176:
3750 	YYDEBUG(176, *YYCURSOR);
3751 	yyaccept = 0;
3752 	yych = *(YYMARKER = ++YYCURSOR);
3753 	if (yych <= 'C') {
3754 		if (yych == ')') goto yy140;
3755 		goto yy4;
3756 	} else {
3757 		if (yych <= 'D') goto yy177;
3758 		if (yych != 'd') goto yy4;
3759 	}
3760 yy177:
3761 	YYDEBUG(177, *YYCURSOR);
3762 	yych = *++YYCURSOR;
3763 	if (yych == 'A') goto yy178;
3764 	if (yych != 'a') goto yy57;
3765 yy178:
3766 	YYDEBUG(178, *YYCURSOR);
3767 	yych = *++YYCURSOR;
3768 	if (yych == 'Y') goto yy173;
3769 	if (yych == 'y') goto yy173;
3770 	goto yy57;
3771 yy179:
3772 	YYDEBUG(179, *YYCURSOR);
3773 	yyaccept = 0;
3774 	yych = *(YYMARKER = ++YYCURSOR);
3775 	if (yych <= 'D') {
3776 		if (yych <= '-') {
3777 			if (yych == ')') goto yy140;
3778 			if (yych <= ',') goto yy4;
3779 			goto yy148;
3780 		} else {
3781 			if (yych <= '/') {
3782 				if (yych <= '.') goto yy4;
3783 				goto yy148;
3784 			} else {
3785 				if (yych <= '@') goto yy4;
3786 				if (yych <= 'C') goto yy142;
3787 				goto yy166;
3788 			}
3789 		}
3790 	} else {
3791 		if (yych <= '`') {
3792 			if (yych <= 'Z') {
3793 				if (yych <= 'E') goto yy168;
3794 				goto yy142;
3795 			} else {
3796 				if (yych == '_') goto yy148;
3797 				goto yy4;
3798 			}
3799 		} else {
3800 			if (yych <= 'd') {
3801 				if (yych <= 'c') goto yy147;
3802 			} else {
3803 				if (yych <= 'e') goto yy181;
3804 				if (yych <= 'z') goto yy147;
3805 				goto yy4;
3806 			}
3807 		}
3808 	}
3809 	YYDEBUG(180, *YYCURSOR);
3810 	yyaccept = 4;
3811 	yych = *(YYMARKER = ++YYCURSOR);
3812 	if (yych <= 'M') {
3813 		if (yych <= '-') {
3814 			if (yych == ')') goto yy140;
3815 			if (yych <= ',') goto yy167;
3816 			goto yy148;
3817 		} else {
3818 			if (yych == '/') goto yy148;
3819 			if (yych <= '@') goto yy167;
3820 			goto yy143;
3821 		}
3822 	} else {
3823 		if (yych <= '_') {
3824 			if (yych <= 'N') goto yy174;
3825 			if (yych <= 'Z') goto yy143;
3826 			if (yych <= '^') goto yy167;
3827 			goto yy148;
3828 		} else {
3829 			if (yych <= 'm') {
3830 				if (yych <= '`') goto yy167;
3831 				goto yy151;
3832 			} else {
3833 				if (yych <= 'n') goto yy187;
3834 				if (yych <= 'z') goto yy151;
3835 				goto yy167;
3836 			}
3837 		}
3838 	}
3839 yy181:
3840 	YYDEBUG(181, *YYCURSOR);
3841 	yyaccept = 0;
3842 	yych = *(YYMARKER = ++YYCURSOR);
3843 	if (yych <= 'J') {
3844 		if (yych <= '-') {
3845 			if (yych == ')') goto yy140;
3846 			if (yych <= ',') goto yy4;
3847 			goto yy148;
3848 		} else {
3849 			if (yych == '/') goto yy148;
3850 			if (yych <= '@') goto yy4;
3851 			goto yy143;
3852 		}
3853 	} else {
3854 		if (yych <= '_') {
3855 			if (yych <= 'K') goto yy169;
3856 			if (yych <= 'Z') goto yy143;
3857 			if (yych <= '^') goto yy4;
3858 			goto yy148;
3859 		} else {
3860 			if (yych <= 'j') {
3861 				if (yych <= '`') goto yy4;
3862 				goto yy151;
3863 			} else {
3864 				if (yych <= 'k') goto yy182;
3865 				if (yych <= 'z') goto yy151;
3866 				goto yy4;
3867 			}
3868 		}
3869 	}
3870 yy182:
3871 	YYDEBUG(182, *YYCURSOR);
3872 	yyaccept = 0;
3873 	yych = *(YYMARKER = ++YYCURSOR);
3874 	if (yych <= 'C') {
3875 		if (yych <= '-') {
3876 			if (yych == ')') goto yy140;
3877 			if (yych <= ',') goto yy4;
3878 			goto yy148;
3879 		} else {
3880 			if (yych == '/') goto yy148;
3881 			if (yych <= '@') goto yy4;
3882 			goto yy144;
3883 		}
3884 	} else {
3885 		if (yych <= '_') {
3886 			if (yych <= 'D') goto yy170;
3887 			if (yych <= 'Z') goto yy144;
3888 			if (yych <= '^') goto yy4;
3889 			goto yy148;
3890 		} else {
3891 			if (yych <= 'c') {
3892 				if (yych <= '`') goto yy4;
3893 				goto yy152;
3894 			} else {
3895 				if (yych <= 'd') goto yy183;
3896 				if (yych <= 'z') goto yy152;
3897 				goto yy4;
3898 			}
3899 		}
3900 	}
3901 yy183:
3902 	YYDEBUG(183, *YYCURSOR);
3903 	yyaccept = 0;
3904 	yych = *(YYMARKER = ++YYCURSOR);
3905 	if (yych <= '@') {
3906 		if (yych <= ',') {
3907 			if (yych == ')') goto yy140;
3908 			goto yy4;
3909 		} else {
3910 			if (yych == '.') goto yy4;
3911 			if (yych <= '/') goto yy148;
3912 			goto yy4;
3913 		}
3914 	} else {
3915 		if (yych <= '_') {
3916 			if (yych <= 'A') goto yy171;
3917 			if (yych <= 'Z') goto yy145;
3918 			if (yych <= '^') goto yy4;
3919 			goto yy148;
3920 		} else {
3921 			if (yych <= '`') goto yy4;
3922 			if (yych <= 'a') goto yy184;
3923 			if (yych <= 'z') goto yy153;
3924 			goto yy4;
3925 		}
3926 	}
3927 yy184:
3928 	YYDEBUG(184, *YYCURSOR);
3929 	yyaccept = 0;
3930 	yych = *(YYMARKER = ++YYCURSOR);
3931 	if (yych <= 'X') {
3932 		if (yych <= ',') {
3933 			if (yych == ')') goto yy140;
3934 			goto yy4;
3935 		} else {
3936 			if (yych == '.') goto yy4;
3937 			if (yych <= '/') goto yy148;
3938 			goto yy4;
3939 		}
3940 	} else {
3941 		if (yych <= '`') {
3942 			if (yych <= 'Y') goto yy172;
3943 			if (yych == '_') goto yy148;
3944 			goto yy4;
3945 		} else {
3946 			if (yych == 'y') goto yy185;
3947 			if (yych <= 'z') goto yy154;
3948 			goto yy4;
3949 		}
3950 	}
3951 yy185:
3952 	YYDEBUG(185, *YYCURSOR);
3953 	yyaccept = 4;
3954 	yych = *(YYMARKER = ++YYCURSOR);
3955 	if (yych <= 'S') {
3956 		if (yych <= '.') {
3957 			if (yych == '-') goto yy148;
3958 			goto yy167;
3959 		} else {
3960 			if (yych <= '/') goto yy148;
3961 			if (yych <= 'R') goto yy167;
3962 			goto yy173;
3963 		}
3964 	} else {
3965 		if (yych <= '`') {
3966 			if (yych == '_') goto yy148;
3967 			goto yy167;
3968 		} else {
3969 			if (yych == 's') goto yy186;
3970 			if (yych <= 'z') goto yy154;
3971 			goto yy167;
3972 		}
3973 	}
3974 yy186:
3975 	YYDEBUG(186, *YYCURSOR);
3976 	yyaccept = 4;
3977 	yych = *(YYMARKER = ++YYCURSOR);
3978 	if (yybm[0+yych] & 16) {
3979 		goto yy154;
3980 	}
3981 	if (yych <= '.') {
3982 		if (yych == '-') goto yy148;
3983 		goto yy167;
3984 	} else {
3985 		if (yych <= '/') goto yy148;
3986 		if (yych == '_') goto yy148;
3987 		goto yy167;
3988 	}
3989 yy187:
3990 	YYDEBUG(187, *YYCURSOR);
3991 	yyaccept = 0;
3992 	yych = *(YYMARKER = ++YYCURSOR);
3993 	if (yych <= 'D') {
3994 		if (yych <= '-') {
3995 			if (yych == ')') goto yy140;
3996 			if (yych <= ',') goto yy4;
3997 			goto yy148;
3998 		} else {
3999 			if (yych == '/') goto yy148;
4000 			if (yych <= '@') goto yy4;
4001 			goto yy144;
4002 		}
4003 	} else {
4004 		if (yych <= '_') {
4005 			if (yych <= 'E') goto yy175;
4006 			if (yych <= 'Z') goto yy144;
4007 			if (yych <= '^') goto yy4;
4008 			goto yy148;
4009 		} else {
4010 			if (yych <= 'd') {
4011 				if (yych <= '`') goto yy4;
4012 				goto yy152;
4013 			} else {
4014 				if (yych <= 'e') goto yy188;
4015 				if (yych <= 'z') goto yy152;
4016 				goto yy4;
4017 			}
4018 		}
4019 	}
4020 yy188:
4021 	YYDEBUG(188, *YYCURSOR);
4022 	yyaccept = 0;
4023 	yych = *(YYMARKER = ++YYCURSOR);
4024 	if (yych <= 'R') {
4025 		if (yych <= '-') {
4026 			if (yych == ')') goto yy140;
4027 			if (yych <= ',') goto yy4;
4028 			goto yy148;
4029 		} else {
4030 			if (yych == '/') goto yy148;
4031 			if (yych <= '@') goto yy4;
4032 			goto yy145;
4033 		}
4034 	} else {
4035 		if (yych <= '_') {
4036 			if (yych <= 'S') goto yy176;
4037 			if (yych <= 'Z') goto yy145;
4038 			if (yych <= '^') goto yy4;
4039 			goto yy148;
4040 		} else {
4041 			if (yych <= 'r') {
4042 				if (yych <= '`') goto yy4;
4043 				goto yy153;
4044 			} else {
4045 				if (yych <= 's') goto yy189;
4046 				if (yych <= 'z') goto yy153;
4047 				goto yy4;
4048 			}
4049 		}
4050 	}
4051 yy189:
4052 	YYDEBUG(189, *YYCURSOR);
4053 	yyaccept = 0;
4054 	yych = *(YYMARKER = ++YYCURSOR);
4055 	if (yych <= 'C') {
4056 		if (yych <= ',') {
4057 			if (yych == ')') goto yy140;
4058 			goto yy4;
4059 		} else {
4060 			if (yych == '.') goto yy4;
4061 			if (yych <= '/') goto yy148;
4062 			goto yy4;
4063 		}
4064 	} else {
4065 		if (yych <= '`') {
4066 			if (yych <= 'D') goto yy177;
4067 			if (yych == '_') goto yy148;
4068 			goto yy4;
4069 		} else {
4070 			if (yych == 'd') goto yy190;
4071 			if (yych <= 'z') goto yy154;
4072 			goto yy4;
4073 		}
4074 	}
4075 yy190:
4076 	YYDEBUG(190, *YYCURSOR);
4077 	yych = *++YYCURSOR;
4078 	if (yych == 'A') goto yy178;
4079 	if (yych != 'a') goto yy155;
4080 	YYDEBUG(191, *YYCURSOR);
4081 	yych = *++YYCURSOR;
4082 	if (yych == 'Y') goto yy173;
4083 	if (yych == 'y') goto yy186;
4084 	goto yy155;
4085 yy192:
4086 	YYDEBUG(192, *YYCURSOR);
4087 	yych = *++YYCURSOR;
4088 	if (yych <= 'C') {
4089 		if (yych <= ')') {
4090 			if (yych <= '(') goto yy4;
4091 			goto yy140;
4092 		} else {
4093 			if (yych <= '@') goto yy4;
4094 			if (yych <= 'B') goto yy142;
4095 		}
4096 	} else {
4097 		if (yych <= 'b') {
4098 			if (yych <= 'Z') goto yy142;
4099 			if (yych <= '`') goto yy4;
4100 			goto yy142;
4101 		} else {
4102 			if (yych <= 'c') goto yy193;
4103 			if (yych <= 'z') goto yy142;
4104 			goto yy4;
4105 		}
4106 	}
4107 yy193:
4108 	YYDEBUG(193, *YYCURSOR);
4109 	yyaccept = 5;
4110 	yych = *(YYMARKER = ++YYCURSOR);
4111 	if (yych <= '/') {
4112 		if (yych <= '(') {
4113 			if (yych <= '\t') {
4114 				if (yych >= '\t') goto yy196;
4115 			} else {
4116 				if (yych == ' ') goto yy196;
4117 			}
4118 		} else {
4119 			if (yych <= ',') {
4120 				if (yych <= ')') goto yy140;
4121 			} else {
4122 				if (yych <= '-') goto yy197;
4123 				if (yych <= '.') goto yy196;
4124 			}
4125 		}
4126 	} else {
4127 		if (yych <= 'Z') {
4128 			if (yych <= '@') {
4129 				if (yych <= '9') goto yy196;
4130 			} else {
4131 				if (yych == 'E') goto yy202;
4132 				goto yy143;
4133 			}
4134 		} else {
4135 			if (yych <= 'd') {
4136 				if (yych >= 'a') goto yy143;
4137 			} else {
4138 				if (yych <= 'e') goto yy202;
4139 				if (yych <= 'z') goto yy143;
4140 			}
4141 		}
4142 	}
4143 yy194:
4144 	YYDEBUG(194, *YYCURSOR);
4145 #line 1669 "ext/date/lib/parse_date.re"
4146 	{
4147 		DEBUG_OUTPUT("monthtext");
4148 		TIMELIB_INIT;
4149 		TIMELIB_HAVE_DATE();
4150 		s->time->m = timelib_lookup_month((char **) &ptr);
4151 		TIMELIB_DEINIT;
4152 		return TIMELIB_DATE_TEXT;
4153 	}
4154 #line 4155 "ext/date/lib/parse_date.c"
4155 yy195:
4156 	YYDEBUG(195, *YYCURSOR);
4157 	++YYCURSOR;
4158 	if ((YYLIMIT - YYCURSOR) < 21) YYFILL(21);
4159 	yych = *YYCURSOR;
4160 yy196:
4161 	YYDEBUG(196, *YYCURSOR);
4162 	if (yybm[0+yych] & 32) {
4163 		goto yy195;
4164 	}
4165 	if (yych <= '/') goto yy57;
4166 	if (yych <= '2') goto yy198;
4167 	if (yych <= '3') goto yy200;
4168 	if (yych <= '9') goto yy201;
4169 	goto yy57;
4170 yy197:
4171 	YYDEBUG(197, *YYCURSOR);
4172 	yych = *++YYCURSOR;
4173 	if (yych <= '/') goto yy196;
4174 	if (yych <= '0') goto yy357;
4175 	if (yych <= '2') goto yy358;
4176 	if (yych <= '3') goto yy359;
4177 	goto yy196;
4178 yy198:
4179 	YYDEBUG(198, *YYCURSOR);
4180 	yyaccept = 6;
4181 	yych = *(YYMARKER = ++YYCURSOR);
4182 	if (yych <= 'm') {
4183 		if (yych <= '1') {
4184 			if (yych <= '/') goto yy216;
4185 			if (yych <= '0') goto yy298;
4186 			goto yy299;
4187 		} else {
4188 			if (yych <= '2') goto yy355;
4189 			if (yych <= '9') goto yy356;
4190 			goto yy216;
4191 		}
4192 	} else {
4193 		if (yych <= 'r') {
4194 			if (yych <= 'n') goto yy212;
4195 			if (yych <= 'q') goto yy216;
4196 			goto yy213;
4197 		} else {
4198 			if (yych <= 's') goto yy211;
4199 			if (yych <= 't') goto yy214;
4200 			goto yy216;
4201 		}
4202 	}
4203 yy199:
4204 	YYDEBUG(199, *YYCURSOR);
4205 #line 1415 "ext/date/lib/parse_date.re"
4206 	{
4207 		int length = 0;
4208 		DEBUG_OUTPUT("datetextual | datenoyear");
4209 		TIMELIB_INIT;
4210 		TIMELIB_HAVE_DATE();
4211 		s->time->m = timelib_get_month((char **) &ptr);
4212 		s->time->d = timelib_get_nr((char **) &ptr, 2);
4213 		s->time->y = timelib_get_nr_ex((char **) &ptr, 4, &length);
4214 		TIMELIB_PROCESS_YEAR(s->time->y, length);
4215 		TIMELIB_DEINIT;
4216 		return TIMELIB_DATE_TEXT;
4217 	}
4218 #line 4219 "ext/date/lib/parse_date.c"
4219 yy200:
4220 	YYDEBUG(200, *YYCURSOR);
4221 	yyaccept = 6;
4222 	yych = *(YYMARKER = ++YYCURSOR);
4223 	if (yych <= 'm') {
4224 		if (yych <= '1') {
4225 			if (yych <= '/') goto yy216;
4226 			if (yych <= '0') goto yy298;
4227 			goto yy299;
4228 		} else {
4229 			if (yych <= '2') goto yy209;
4230 			if (yych <= '9') goto yy210;
4231 			goto yy216;
4232 		}
4233 	} else {
4234 		if (yych <= 'r') {
4235 			if (yych <= 'n') goto yy212;
4236 			if (yych <= 'q') goto yy216;
4237 			goto yy213;
4238 		} else {
4239 			if (yych <= 's') goto yy211;
4240 			if (yych <= 't') goto yy214;
4241 			goto yy216;
4242 		}
4243 	}
4244 yy201:
4245 	YYDEBUG(201, *YYCURSOR);
4246 	yyaccept = 6;
4247 	yych = *(YYMARKER = ++YYCURSOR);
4248 	if (yych <= 'm') {
4249 		if (yych <= '1') {
4250 			if (yych <= '/') goto yy216;
4251 			if (yych <= '0') goto yy207;
4252 			goto yy208;
4253 		} else {
4254 			if (yych <= '2') goto yy209;
4255 			if (yych <= '9') goto yy210;
4256 			goto yy216;
4257 		}
4258 	} else {
4259 		if (yych <= 'r') {
4260 			if (yych <= 'n') goto yy212;
4261 			if (yych <= 'q') goto yy216;
4262 			goto yy213;
4263 		} else {
4264 			if (yych <= 's') goto yy211;
4265 			if (yych <= 't') goto yy214;
4266 			goto yy216;
4267 		}
4268 	}
4269 yy202:
4270 	YYDEBUG(202, *YYCURSOR);
4271 	yych = *++YYCURSOR;
4272 	if (yych <= 'M') {
4273 		if (yych <= ')') {
4274 			if (yych <= '(') goto yy4;
4275 			goto yy140;
4276 		} else {
4277 			if (yych <= '@') goto yy4;
4278 			if (yych <= 'L') goto yy144;
4279 		}
4280 	} else {
4281 		if (yych <= 'l') {
4282 			if (yych <= 'Z') goto yy144;
4283 			if (yych <= '`') goto yy4;
4284 			goto yy144;
4285 		} else {
4286 			if (yych <= 'm') goto yy203;
4287 			if (yych <= 'z') goto yy144;
4288 			goto yy4;
4289 		}
4290 	}
4291 yy203:
4292 	YYDEBUG(203, *YYCURSOR);
4293 	yych = *++YYCURSOR;
4294 	if (yych <= 'B') {
4295 		if (yych <= ')') {
4296 			if (yych <= '(') goto yy4;
4297 			goto yy140;
4298 		} else {
4299 			if (yych <= '@') goto yy4;
4300 			if (yych <= 'A') goto yy145;
4301 		}
4302 	} else {
4303 		if (yych <= 'a') {
4304 			if (yych <= 'Z') goto yy145;
4305 			if (yych <= '`') goto yy4;
4306 			goto yy145;
4307 		} else {
4308 			if (yych <= 'b') goto yy204;
4309 			if (yych <= 'z') goto yy145;
4310 			goto yy4;
4311 		}
4312 	}
4313 yy204:
4314 	YYDEBUG(204, *YYCURSOR);
4315 	yyaccept = 0;
4316 	yych = *(YYMARKER = ++YYCURSOR);
4317 	if (yych <= 'D') {
4318 		if (yych == ')') goto yy140;
4319 		goto yy4;
4320 	} else {
4321 		if (yych <= 'E') goto yy205;
4322 		if (yych != 'e') goto yy4;
4323 	}
4324 yy205:
4325 	YYDEBUG(205, *YYCURSOR);
4326 	yych = *++YYCURSOR;
4327 	if (yych == 'R') goto yy206;
4328 	if (yych != 'r') goto yy57;
4329 yy206:
4330 	YYDEBUG(206, *YYCURSOR);
4331 	yyaccept = 5;
4332 	yych = *(YYMARKER = ++YYCURSOR);
4333 	if (yych <= ' ') {
4334 		if (yych == '\t') goto yy196;
4335 		if (yych <= 0x1F) goto yy194;
4336 		goto yy196;
4337 	} else {
4338 		if (yych <= '.') {
4339 			if (yych <= ',') goto yy194;
4340 			goto yy196;
4341 		} else {
4342 			if (yych <= '/') goto yy194;
4343 			if (yych <= '9') goto yy196;
4344 			goto yy194;
4345 		}
4346 	}
4347 yy207:
4348 	YYDEBUG(207, *YYCURSOR);
4349 	yych = *++YYCURSOR;
4350 	if (yych <= '/') {
4351 		if (yych == '.') goto yy221;
4352 		goto yy57;
4353 	} else {
4354 		if (yych <= '0') goto yy296;
4355 		if (yych <= '9') goto yy297;
4356 		if (yych <= ':') goto yy221;
4357 		goto yy57;
4358 	}
4359 yy208:
4360 	YYDEBUG(208, *YYCURSOR);
4361 	yych = *++YYCURSOR;
4362 	if (yych <= '/') {
4363 		if (yych == '.') goto yy264;
4364 		goto yy57;
4365 	} else {
4366 		if (yych <= '2') goto yy297;
4367 		if (yych <= '9') goto yy296;
4368 		if (yych <= ':') goto yy264;
4369 		goto yy57;
4370 	}
4371 yy209:
4372 	YYDEBUG(209, *YYCURSOR);
4373 	yych = *++YYCURSOR;
4374 	if (yych <= '/') {
4375 		if (yych == '.') goto yy264;
4376 		goto yy57;
4377 	} else {
4378 		if (yych <= '4') goto yy296;
4379 		if (yych <= '9') goto yy293;
4380 		if (yych <= ':') goto yy264;
4381 		goto yy57;
4382 	}
4383 yy210:
4384 	YYDEBUG(210, *YYCURSOR);
4385 	yych = *++YYCURSOR;
4386 	if (yych <= '/') {
4387 		if (yych == '.') goto yy264;
4388 		goto yy57;
4389 	} else {
4390 		if (yych <= '9') goto yy293;
4391 		if (yych <= ':') goto yy264;
4392 		goto yy57;
4393 	}
4394 yy211:
4395 	YYDEBUG(211, *YYCURSOR);
4396 	yyaccept = 6;
4397 	yych = *(YYMARKER = ++YYCURSOR);
4398 	goto yy216;
4399 yy212:
4400 	YYDEBUG(212, *YYCURSOR);
4401 	yyaccept = 6;
4402 	yych = *(YYMARKER = ++YYCURSOR);
4403 	goto yy216;
4404 yy213:
4405 	YYDEBUG(213, *YYCURSOR);
4406 	yyaccept = 6;
4407 	yych = *(YYMARKER = ++YYCURSOR);
4408 	goto yy216;
4409 yy214:
4410 	YYDEBUG(214, *YYCURSOR);
4411 	yyaccept = 6;
4412 	yych = *(YYMARKER = ++YYCURSOR);
4413 	goto yy216;
4414 yy215:
4415 	YYDEBUG(215, *YYCURSOR);
4416 	yyaccept = 6;
4417 	YYMARKER = ++YYCURSOR;
4418 	if ((YYLIMIT - YYCURSOR) < 18) YYFILL(18);
4419 	yych = *YYCURSOR;
4420 yy216:
4421 	YYDEBUG(216, *YYCURSOR);
4422 	if (yybm[0+yych] & 64) {
4423 		goto yy215;
4424 	}
4425 	if (yych <= '2') {
4426 		if (yych <= '/') goto yy199;
4427 		if (yych <= '0') goto yy259;
4428 		if (yych <= '1') goto yy260;
4429 		goto yy261;
4430 	} else {
4431 		if (yych <= '9') goto yy262;
4432 		if (yych != 'T') goto yy199;
4433 	}
4434 	YYDEBUG(217, *YYCURSOR);
4435 	yych = *++YYCURSOR;
4436 	if (yych <= '/') goto yy57;
4437 	if (yych <= '1') goto yy218;
4438 	if (yych <= '2') goto yy219;
4439 	if (yych <= '9') goto yy220;
4440 	goto yy57;
4441 yy218:
4442 	YYDEBUG(218, *YYCURSOR);
4443 	yych = *++YYCURSOR;
4444 	if (yych <= '/') {
4445 		if (yych == '.') goto yy221;
4446 		goto yy57;
4447 	} else {
4448 		if (yych <= '9') goto yy220;
4449 		if (yych <= ':') goto yy221;
4450 		goto yy57;
4451 	}
4452 yy219:
4453 	YYDEBUG(219, *YYCURSOR);
4454 	yych = *++YYCURSOR;
4455 	if (yych <= '/') {
4456 		if (yych == '.') goto yy221;
4457 		goto yy57;
4458 	} else {
4459 		if (yych <= '4') goto yy220;
4460 		if (yych == ':') goto yy221;
4461 		goto yy57;
4462 	}
4463 yy220:
4464 	YYDEBUG(220, *YYCURSOR);
4465 	yych = *++YYCURSOR;
4466 	if (yych == '.') goto yy221;
4467 	if (yych != ':') goto yy57;
4468 yy221:
4469 	YYDEBUG(221, *YYCURSOR);
4470 	yych = *++YYCURSOR;
4471 	if (yych <= '/') goto yy57;
4472 	if (yych <= '5') goto yy222;
4473 	if (yych <= '9') goto yy224;
4474 	goto yy57;
4475 yy222:
4476 	YYDEBUG(222, *YYCURSOR);
4477 	yyaccept = 7;
4478 	yych = *(YYMARKER = ++YYCURSOR);
4479 	if (yych <= '/') {
4480 		if (yych == '.') goto yy225;
4481 	} else {
4482 		if (yych <= '9') goto yy224;
4483 		if (yych <= ':') goto yy225;
4484 	}
4485 yy223:
4486 	YYDEBUG(223, *YYCURSOR);
4487 #line 1717 "ext/date/lib/parse_date.re"
4488 	{
4489 		int tz_not_found;
4490 		DEBUG_OUTPUT("dateshortwithtimeshort | dateshortwithtimelong | dateshortwithtimelongtz");
4491 		TIMELIB_INIT;
4492 		TIMELIB_HAVE_DATE();
4493 		s->time->m = timelib_get_month((char **) &ptr);
4494 		s->time->d = timelib_get_nr((char **) &ptr, 2);
4495 
4496 		TIMELIB_HAVE_TIME();
4497 		s->time->h = timelib_get_nr((char **) &ptr, 2);
4498 		s->time->i = timelib_get_nr((char **) &ptr, 2);
4499 		if (*ptr == ':') {
4500 			s->time->s = timelib_get_nr((char **) &ptr, 2);
4501 
4502 			if (*ptr == '.') {
4503 				s->time->f = timelib_get_frac_nr((char **) &ptr, 8);
4504 			}
4505 		}
4506 
4507 		if (*ptr != '\0') {
4508 			s->time->z = timelib_get_zone((char **) &ptr, &s->time->dst, s->time, &tz_not_found, s->tzdb, tz_get_wrapper);
4509 			if (tz_not_found) {
4510 				add_error(s, "The timezone could not be found in the database");
4511 			}
4512 		}
4513 		TIMELIB_DEINIT;
4514 		return TIMELIB_SHORTDATE_WITH_TIME;
4515 	}
4516 #line 4517 "ext/date/lib/parse_date.c"
4517 yy224:
4518 	YYDEBUG(224, *YYCURSOR);
4519 	yyaccept = 7;
4520 	yych = *(YYMARKER = ++YYCURSOR);
4521 	if (yych == '.') goto yy225;
4522 	if (yych != ':') goto yy223;
4523 yy225:
4524 	YYDEBUG(225, *YYCURSOR);
4525 	yych = *++YYCURSOR;
4526 	if (yych <= '/') goto yy57;
4527 	if (yych <= '5') goto yy226;
4528 	if (yych <= '6') goto yy227;
4529 	if (yych <= '9') goto yy228;
4530 	goto yy57;
4531 yy226:
4532 	YYDEBUG(226, *YYCURSOR);
4533 	yych = *++YYCURSOR;
4534 	if (yych <= '/') goto yy223;
4535 	if (yych <= '9') goto yy229;
4536 	goto yy223;
4537 yy227:
4538 	YYDEBUG(227, *YYCURSOR);
4539 	yych = *++YYCURSOR;
4540 	if (yych == '0') goto yy229;
4541 	goto yy223;
4542 yy228:
4543 	YYDEBUG(228, *YYCURSOR);
4544 	yych = *++YYCURSOR;
4545 	goto yy223;
4546 yy229:
4547 	YYDEBUG(229, *YYCURSOR);
4548 	yyaccept = 7;
4549 	yych = *(YYMARKER = ++YYCURSOR);
4550 	if (yych <= '*') {
4551 		if (yych <= 0x1F) {
4552 			if (yych == '\t') goto yy231;
4553 			goto yy223;
4554 		} else {
4555 			if (yych <= ' ') goto yy231;
4556 			if (yych == '(') goto yy231;
4557 			goto yy223;
4558 		}
4559 	} else {
4560 		if (yych <= '@') {
4561 			if (yych == ',') goto yy223;
4562 			if (yych <= '-') goto yy231;
4563 			goto yy223;
4564 		} else {
4565 			if (yych <= 'Z') goto yy231;
4566 			if (yych <= '`') goto yy223;
4567 			if (yych <= 'z') goto yy231;
4568 			goto yy223;
4569 		}
4570 	}
4571 yy230:
4572 	YYDEBUG(230, *YYCURSOR);
4573 	++YYCURSOR;
4574 	if ((YYLIMIT - YYCURSOR) < 9) YYFILL(9);
4575 	yych = *YYCURSOR;
4576 yy231:
4577 	YYDEBUG(231, *YYCURSOR);
4578 	if (yych <= '+') {
4579 		if (yych <= ' ') {
4580 			if (yych == '\t') goto yy230;
4581 			if (yych <= 0x1F) goto yy57;
4582 			goto yy230;
4583 		} else {
4584 			if (yych == '(') goto yy234;
4585 			if (yych <= '*') goto yy57;
4586 			goto yy233;
4587 		}
4588 	} else {
4589 		if (yych <= 'F') {
4590 			if (yych == '-') goto yy233;
4591 			if (yych <= '@') goto yy57;
4592 			goto yy235;
4593 		} else {
4594 			if (yych <= 'Z') {
4595 				if (yych >= 'H') goto yy235;
4596 			} else {
4597 				if (yych <= '`') goto yy57;
4598 				if (yych <= 'z') goto yy236;
4599 				goto yy57;
4600 			}
4601 		}
4602 	}
4603 yy232:
4604 	YYDEBUG(232, *YYCURSOR);
4605 	yych = *++YYCURSOR;
4606 	if (yych <= 'L') {
4607 		if (yych == ')') goto yy228;
4608 		if (yych <= '@') goto yy223;
4609 		goto yy237;
4610 	} else {
4611 		if (yych <= 'Z') {
4612 			if (yych <= 'M') goto yy257;
4613 			goto yy237;
4614 		} else {
4615 			if (yych <= '`') goto yy223;
4616 			if (yych <= 'z') goto yy242;
4617 			goto yy223;
4618 		}
4619 	}
4620 yy233:
4621 	YYDEBUG(233, *YYCURSOR);
4622 	yych = *++YYCURSOR;
4623 	if (yych <= '/') goto yy57;
4624 	if (yych <= '1') goto yy252;
4625 	if (yych <= '2') goto yy253;
4626 	if (yych <= '9') goto yy254;
4627 	goto yy57;
4628 yy234:
4629 	YYDEBUG(234, *YYCURSOR);
4630 	yych = *++YYCURSOR;
4631 	if (yych <= '@') goto yy57;
4632 	if (yych <= 'Z') goto yy236;
4633 	if (yych <= '`') goto yy57;
4634 	if (yych <= 'z') goto yy236;
4635 	goto yy57;
4636 yy235:
4637 	YYDEBUG(235, *YYCURSOR);
4638 	yych = *++YYCURSOR;
4639 	if (yych <= '@') {
4640 		if (yych == ')') goto yy228;
4641 		goto yy223;
4642 	} else {
4643 		if (yych <= 'Z') goto yy237;
4644 		if (yych <= '`') goto yy223;
4645 		if (yych <= 'z') goto yy242;
4646 		goto yy223;
4647 	}
4648 yy236:
4649 	YYDEBUG(236, *YYCURSOR);
4650 	yych = *++YYCURSOR;
4651 	if (yych <= '@') {
4652 		if (yych == ')') goto yy228;
4653 		goto yy223;
4654 	} else {
4655 		if (yych <= 'Z') goto yy237;
4656 		if (yych <= '`') goto yy223;
4657 		if (yych >= '{') goto yy223;
4658 	}
4659 yy237:
4660 	YYDEBUG(237, *YYCURSOR);
4661 	yych = *++YYCURSOR;
4662 	if (yych <= '@') {
4663 		if (yych == ')') goto yy228;
4664 		goto yy223;
4665 	} else {
4666 		if (yych <= 'Z') goto yy238;
4667 		if (yych <= '`') goto yy223;
4668 		if (yych >= '{') goto yy223;
4669 	}
4670 yy238:
4671 	YYDEBUG(238, *YYCURSOR);
4672 	yych = *++YYCURSOR;
4673 	if (yych <= '@') {
4674 		if (yych == ')') goto yy228;
4675 		goto yy223;
4676 	} else {
4677 		if (yych <= 'Z') goto yy239;
4678 		if (yych <= '`') goto yy223;
4679 		if (yych >= '{') goto yy223;
4680 	}
4681 yy239:
4682 	YYDEBUG(239, *YYCURSOR);
4683 	yych = *++YYCURSOR;
4684 	if (yych <= '@') {
4685 		if (yych == ')') goto yy228;
4686 		goto yy223;
4687 	} else {
4688 		if (yych <= 'Z') goto yy240;
4689 		if (yych <= '`') goto yy223;
4690 		if (yych >= '{') goto yy223;
4691 	}
4692 yy240:
4693 	YYDEBUG(240, *YYCURSOR);
4694 	yych = *++YYCURSOR;
4695 	if (yych <= '@') {
4696 		if (yych == ')') goto yy228;
4697 		goto yy223;
4698 	} else {
4699 		if (yych <= 'Z') goto yy241;
4700 		if (yych <= '`') goto yy223;
4701 		if (yych >= '{') goto yy223;
4702 	}
4703 yy241:
4704 	YYDEBUG(241, *YYCURSOR);
4705 	yych = *++YYCURSOR;
4706 	if (yych == ')') goto yy228;
4707 	goto yy223;
4708 yy242:
4709 	YYDEBUG(242, *YYCURSOR);
4710 	yyaccept = 7;
4711 	yych = *(YYMARKER = ++YYCURSOR);
4712 	if (yych <= '/') {
4713 		if (yych <= ',') {
4714 			if (yych == ')') goto yy228;
4715 			goto yy223;
4716 		} else {
4717 			if (yych == '.') goto yy223;
4718 			goto yy244;
4719 		}
4720 	} else {
4721 		if (yych <= '^') {
4722 			if (yych <= '@') goto yy223;
4723 			if (yych <= 'Z') goto yy238;
4724 			goto yy223;
4725 		} else {
4726 			if (yych <= '_') goto yy244;
4727 			if (yych <= '`') goto yy223;
4728 			if (yych >= '{') goto yy223;
4729 		}
4730 	}
4731 yy243:
4732 	YYDEBUG(243, *YYCURSOR);
4733 	yyaccept = 7;
4734 	yych = *(YYMARKER = ++YYCURSOR);
4735 	if (yych <= '/') {
4736 		if (yych <= ',') {
4737 			if (yych == ')') goto yy228;
4738 			goto yy223;
4739 		} else {
4740 			if (yych == '.') goto yy223;
4741 		}
4742 	} else {
4743 		if (yych <= '^') {
4744 			if (yych <= '@') goto yy223;
4745 			if (yych <= 'Z') goto yy239;
4746 			goto yy223;
4747 		} else {
4748 			if (yych <= '_') goto yy244;
4749 			if (yych <= '`') goto yy223;
4750 			if (yych <= 'z') goto yy247;
4751 			goto yy223;
4752 		}
4753 	}
4754 yy244:
4755 	YYDEBUG(244, *YYCURSOR);
4756 	++YYCURSOR;
4757 	if (YYLIMIT <= YYCURSOR) YYFILL(1);
4758 	yych = *YYCURSOR;
4759 	if (yych <= '@') goto yy57;
4760 	if (yych <= 'Z') goto yy245;
4761 	if (yych <= '`') goto yy57;
4762 	if (yych >= '{') goto yy57;
4763 yy245:
4764 	YYDEBUG(245, *YYCURSOR);
4765 	yyaccept = 7;
4766 	YYMARKER = ++YYCURSOR;
4767 	if (YYLIMIT <= YYCURSOR) YYFILL(1);
4768 	yych = *YYCURSOR;
4769 	YYDEBUG(246, *YYCURSOR);
4770 	if (yych <= '@') {
4771 		if (yych <= '-') {
4772 			if (yych <= ',') goto yy223;
4773 			goto yy244;
4774 		} else {
4775 			if (yych == '/') goto yy244;
4776 			goto yy223;
4777 		}
4778 	} else {
4779 		if (yych <= '_') {
4780 			if (yych <= 'Z') goto yy245;
4781 			if (yych <= '^') goto yy223;
4782 			goto yy244;
4783 		} else {
4784 			if (yych <= '`') goto yy223;
4785 			if (yych <= 'z') goto yy245;
4786 			goto yy223;
4787 		}
4788 	}
4789 yy247:
4790 	YYDEBUG(247, *YYCURSOR);
4791 	yyaccept = 7;
4792 	yych = *(YYMARKER = ++YYCURSOR);
4793 	if (yych <= '/') {
4794 		if (yych <= ',') {
4795 			if (yych == ')') goto yy228;
4796 			goto yy223;
4797 		} else {
4798 			if (yych == '.') goto yy223;
4799 			goto yy244;
4800 		}
4801 	} else {
4802 		if (yych <= '^') {
4803 			if (yych <= '@') goto yy223;
4804 			if (yych <= 'Z') goto yy240;
4805 			goto yy223;
4806 		} else {
4807 			if (yych <= '_') goto yy244;
4808 			if (yych <= '`') goto yy223;
4809 			if (yych >= '{') goto yy223;
4810 		}
4811 	}
4812 	YYDEBUG(248, *YYCURSOR);
4813 	yyaccept = 7;
4814 	yych = *(YYMARKER = ++YYCURSOR);
4815 	if (yych <= '/') {
4816 		if (yych <= ',') {
4817 			if (yych == ')') goto yy228;
4818 			goto yy223;
4819 		} else {
4820 			if (yych == '.') goto yy223;
4821 			goto yy244;
4822 		}
4823 	} else {
4824 		if (yych <= '^') {
4825 			if (yych <= '@') goto yy223;
4826 			if (yych <= 'Z') goto yy241;
4827 			goto yy223;
4828 		} else {
4829 			if (yych <= '_') goto yy244;
4830 			if (yych <= '`') goto yy223;
4831 			if (yych >= '{') goto yy223;
4832 		}
4833 	}
4834 	YYDEBUG(249, *YYCURSOR);
4835 	yyaccept = 7;
4836 	yych = *(YYMARKER = ++YYCURSOR);
4837 	if (yych <= '.') {
4838 		if (yych <= ')') {
4839 			if (yych <= '(') goto yy223;
4840 			goto yy228;
4841 		} else {
4842 			if (yych == '-') goto yy244;
4843 			goto yy223;
4844 		}
4845 	} else {
4846 		if (yych <= '_') {
4847 			if (yych <= '/') goto yy244;
4848 			if (yych <= '^') goto yy223;
4849 			goto yy244;
4850 		} else {
4851 			if (yych <= '`') goto yy223;
4852 			if (yych >= '{') goto yy223;
4853 		}
4854 	}
4855 yy250:
4856 	YYDEBUG(250, *YYCURSOR);
4857 	++YYCURSOR;
4858 	if (YYLIMIT <= YYCURSOR) YYFILL(1);
4859 	yych = *YYCURSOR;
4860 	YYDEBUG(251, *YYCURSOR);
4861 	if (yych <= '/') {
4862 		if (yych == '-') goto yy244;
4863 		if (yych <= '.') goto yy57;
4864 		goto yy244;
4865 	} else {
4866 		if (yych <= '_') {
4867 			if (yych <= '^') goto yy57;
4868 			goto yy244;
4869 		} else {
4870 			if (yych <= '`') goto yy57;
4871 			if (yych <= 'z') goto yy250;
4872 			goto yy57;
4873 		}
4874 	}
4875 yy252:
4876 	YYDEBUG(252, *YYCURSOR);
4877 	yych = *++YYCURSOR;
4878 	if (yych <= '/') goto yy223;
4879 	if (yych <= '9') goto yy254;
4880 	if (yych <= ':') goto yy255;
4881 	goto yy223;
4882 yy253:
4883 	YYDEBUG(253, *YYCURSOR);
4884 	yych = *++YYCURSOR;
4885 	if (yych <= '5') {
4886 		if (yych <= '/') goto yy223;
4887 		if (yych >= '5') goto yy256;
4888 	} else {
4889 		if (yych <= '9') goto yy228;
4890 		if (yych <= ':') goto yy255;
4891 		goto yy223;
4892 	}
4893 yy254:
4894 	YYDEBUG(254, *YYCURSOR);
4895 	yych = *++YYCURSOR;
4896 	if (yych <= '/') goto yy223;
4897 	if (yych <= '5') goto yy256;
4898 	if (yych <= '9') goto yy228;
4899 	if (yych >= ';') goto yy223;
4900 yy255:
4901 	YYDEBUG(255, *YYCURSOR);
4902 	yych = *++YYCURSOR;
4903 	if (yych <= '/') goto yy223;
4904 	if (yych <= '5') goto yy256;
4905 	if (yych <= '9') goto yy228;
4906 	goto yy223;
4907 yy256:
4908 	YYDEBUG(256, *YYCURSOR);
4909 	yych = *++YYCURSOR;
4910 	if (yych <= '/') goto yy223;
4911 	if (yych <= '9') goto yy228;
4912 	goto yy223;
4913 yy257:
4914 	YYDEBUG(257, *YYCURSOR);
4915 	yych = *++YYCURSOR;
4916 	if (yych <= 'S') {
4917 		if (yych == ')') goto yy228;
4918 		if (yych <= '@') goto yy223;
4919 		goto yy238;
4920 	} else {
4921 		if (yych <= 'Z') {
4922 			if (yych >= 'U') goto yy238;
4923 		} else {
4924 			if (yych <= '`') goto yy223;
4925 			if (yych <= 'z') goto yy238;
4926 			goto yy223;
4927 		}
4928 	}
4929 	YYDEBUG(258, *YYCURSOR);
4930 	yyaccept = 7;
4931 	yych = *(YYMARKER = ++YYCURSOR);
4932 	if (yych <= ',') {
4933 		if (yych <= ')') {
4934 			if (yych <= '(') goto yy223;
4935 			goto yy228;
4936 		} else {
4937 			if (yych == '+') goto yy233;
4938 			goto yy223;
4939 		}
4940 	} else {
4941 		if (yych <= 'Z') {
4942 			if (yych <= '-') goto yy233;
4943 			if (yych <= '@') goto yy223;
4944 			goto yy239;
4945 		} else {
4946 			if (yych <= '`') goto yy223;
4947 			if (yych <= 'z') goto yy239;
4948 			goto yy223;
4949 		}
4950 	}
4951 yy259:
4952 	YYDEBUG(259, *YYCURSOR);
4953 	yyaccept = 6;
4954 	yych = *(YYMARKER = ++YYCURSOR);
4955 	if (yych <= '/') {
4956 		if (yych == '.') goto yy221;
4957 		goto yy199;
4958 	} else {
4959 		if (yych <= '0') goto yy291;
4960 		if (yych <= '9') goto yy292;
4961 		if (yych <= ':') goto yy221;
4962 		goto yy199;
4963 	}
4964 yy260:
4965 	YYDEBUG(260, *YYCURSOR);
4966 	yyaccept = 6;
4967 	yych = *(YYMARKER = ++YYCURSOR);
4968 	if (yych <= '/') {
4969 		if (yych == '.') goto yy264;
4970 		goto yy199;
4971 	} else {
4972 		if (yych <= '2') goto yy292;
4973 		if (yych <= '9') goto yy291;
4974 		if (yych <= ':') goto yy264;
4975 		goto yy199;
4976 	}
4977 yy261:
4978 	YYDEBUG(261, *YYCURSOR);
4979 	yyaccept = 6;
4980 	yych = *(YYMARKER = ++YYCURSOR);
4981 	if (yych <= '/') {
4982 		if (yych == '.') goto yy264;
4983 		goto yy199;
4984 	} else {
4985 		if (yych <= '4') goto yy291;
4986 		if (yych <= '9') goto yy263;
4987 		if (yych <= ':') goto yy264;
4988 		goto yy199;
4989 	}
4990 yy262:
4991 	YYDEBUG(262, *YYCURSOR);
4992 	yyaccept = 6;
4993 	yych = *(YYMARKER = ++YYCURSOR);
4994 	if (yych <= '/') {
4995 		if (yych == '.') goto yy264;
4996 		goto yy199;
4997 	} else {
4998 		if (yych <= '9') goto yy263;
4999 		if (yych <= ':') goto yy264;
5000 		goto yy199;
5001 	}
5002 yy263:
5003 	YYDEBUG(263, *YYCURSOR);
5004 	yych = *++YYCURSOR;
5005 	if (yych <= '/') goto yy199;
5006 	if (yych <= '9') goto yy289;
5007 	goto yy199;
5008 yy264:
5009 	YYDEBUG(264, *YYCURSOR);
5010 	yych = *++YYCURSOR;
5011 	if (yych <= '/') goto yy57;
5012 	if (yych <= '5') goto yy265;
5013 	if (yych <= '9') goto yy266;
5014 	goto yy57;
5015 yy265:
5016 	YYDEBUG(265, *YYCURSOR);
5017 	yyaccept = 7;
5018 	yych = *(YYMARKER = ++YYCURSOR);
5019 	if (yych <= '/') {
5020 		if (yych == '.') goto yy267;
5021 		goto yy223;
5022 	} else {
5023 		if (yych <= '9') goto yy282;
5024 		if (yych <= ':') goto yy267;
5025 		goto yy223;
5026 	}
5027 yy266:
5028 	YYDEBUG(266, *YYCURSOR);
5029 	yyaccept = 7;
5030 	yych = *(YYMARKER = ++YYCURSOR);
5031 	if (yych == '.') goto yy267;
5032 	if (yych != ':') goto yy223;
5033 yy267:
5034 	YYDEBUG(267, *YYCURSOR);
5035 	yych = *++YYCURSOR;
5036 	if (yych <= '/') goto yy57;
5037 	if (yych <= '5') goto yy268;
5038 	if (yych <= '6') goto yy269;
5039 	if (yych <= '9') goto yy228;
5040 	goto yy57;
5041 yy268:
5042 	YYDEBUG(268, *YYCURSOR);
5043 	yych = *++YYCURSOR;
5044 	if (yych <= '/') goto yy223;
5045 	if (yych <= '9') goto yy270;
5046 	goto yy223;
5047 yy269:
5048 	YYDEBUG(269, *YYCURSOR);
5049 	yych = *++YYCURSOR;
5050 	if (yych != '0') goto yy223;
5051 yy270:
5052 	YYDEBUG(270, *YYCURSOR);
5053 	yyaccept = 7;
5054 	yych = *(YYMARKER = ++YYCURSOR);
5055 	if (yych <= '*') {
5056 		if (yych <= 0x1F) {
5057 			if (yych == '\t') goto yy272;
5058 			goto yy223;
5059 		} else {
5060 			if (yych <= ' ') goto yy272;
5061 			if (yych == '(') goto yy272;
5062 			goto yy223;
5063 		}
5064 	} else {
5065 		if (yych <= '@') {
5066 			if (yych == ',') goto yy223;
5067 			if (yych <= '-') goto yy272;
5068 			goto yy223;
5069 		} else {
5070 			if (yych <= 'Z') goto yy272;
5071 			if (yych <= '`') goto yy223;
5072 			if (yych <= 'z') goto yy272;
5073 			goto yy223;
5074 		}
5075 	}
5076 yy271:
5077 	YYDEBUG(271, *YYCURSOR);
5078 	++YYCURSOR;
5079 	if ((YYLIMIT - YYCURSOR) < 9) YYFILL(9);
5080 	yych = *YYCURSOR;
5081 yy272:
5082 	YYDEBUG(272, *YYCURSOR);
5083 	if (yych <= '@') {
5084 		if (yych <= '\'') {
5085 			if (yych <= '\t') {
5086 				if (yych <= 0x08) goto yy57;
5087 				goto yy271;
5088 			} else {
5089 				if (yych == ' ') goto yy271;
5090 				goto yy57;
5091 			}
5092 		} else {
5093 			if (yych <= '+') {
5094 				if (yych <= '(') goto yy234;
5095 				if (yych <= '*') goto yy57;
5096 				goto yy233;
5097 			} else {
5098 				if (yych == '-') goto yy233;
5099 				goto yy57;
5100 			}
5101 		}
5102 	} else {
5103 		if (yych <= 'Z') {
5104 			if (yych <= 'G') {
5105 				if (yych <= 'A') goto yy273;
5106 				if (yych <= 'F') goto yy235;
5107 				goto yy232;
5108 			} else {
5109 				if (yych != 'P') goto yy235;
5110 			}
5111 		} else {
5112 			if (yych <= 'o') {
5113 				if (yych <= '`') goto yy57;
5114 				if (yych <= 'a') goto yy274;
5115 				goto yy236;
5116 			} else {
5117 				if (yych <= 'p') goto yy274;
5118 				if (yych <= 'z') goto yy236;
5119 				goto yy57;
5120 			}
5121 		}
5122 	}
5123 yy273:
5124 	YYDEBUG(273, *YYCURSOR);
5125 	yyaccept = 7;
5126 	yych = *(YYMARKER = ++YYCURSOR);
5127 	if (yych <= 'L') {
5128 		if (yych <= '-') {
5129 			if (yych == ')') goto yy228;
5130 			goto yy223;
5131 		} else {
5132 			if (yych <= '.') goto yy275;
5133 			if (yych <= '@') goto yy223;
5134 			goto yy237;
5135 		}
5136 	} else {
5137 		if (yych <= '`') {
5138 			if (yych <= 'M') goto yy276;
5139 			if (yych <= 'Z') goto yy237;
5140 			goto yy223;
5141 		} else {
5142 			if (yych == 'm') goto yy281;
5143 			if (yych <= 'z') goto yy242;
5144 			goto yy223;
5145 		}
5146 	}
5147 yy274:
5148 	YYDEBUG(274, *YYCURSOR);
5149 	yyaccept = 7;
5150 	yych = *(YYMARKER = ++YYCURSOR);
5151 	if (yych <= 'L') {
5152 		if (yych <= '-') {
5153 			if (yych == ')') goto yy228;
5154 			goto yy223;
5155 		} else {
5156 			if (yych <= '.') goto yy275;
5157 			if (yych <= '@') goto yy223;
5158 			goto yy237;
5159 		}
5160 	} else {
5161 		if (yych <= '`') {
5162 			if (yych <= 'M') goto yy276;
5163 			if (yych <= 'Z') goto yy237;
5164 			goto yy223;
5165 		} else {
5166 			if (yych == 'm') goto yy276;
5167 			if (yych <= 'z') goto yy237;
5168 			goto yy223;
5169 		}
5170 	}
5171 yy275:
5172 	YYDEBUG(275, *YYCURSOR);
5173 	yych = *++YYCURSOR;
5174 	if (yych == 'M') goto yy280;
5175 	if (yych == 'm') goto yy280;
5176 	goto yy57;
5177 yy276:
5178 	YYDEBUG(276, *YYCURSOR);
5179 	yyaccept = 7;
5180 	yych = *(YYMARKER = ++YYCURSOR);
5181 	if (yych <= ')') {
5182 		if (yych <= '\t') {
5183 			if (yych <= 0x00) goto yy278;
5184 			if (yych <= 0x08) goto yy223;
5185 			goto yy278;
5186 		} else {
5187 			if (yych == ' ') goto yy278;
5188 			if (yych <= '(') goto yy223;
5189 			goto yy228;
5190 		}
5191 	} else {
5192 		if (yych <= '@') {
5193 			if (yych != '.') goto yy223;
5194 		} else {
5195 			if (yych <= 'Z') goto yy238;
5196 			if (yych <= '`') goto yy223;
5197 			if (yych <= 'z') goto yy238;
5198 			goto yy223;
5199 		}
5200 	}
5201 yy277:
5202 	YYDEBUG(277, *YYCURSOR);
5203 	yych = *++YYCURSOR;
5204 	if (yych <= '\t') {
5205 		if (yych <= 0x00) goto yy278;
5206 		if (yych <= 0x08) goto yy57;
5207 	} else {
5208 		if (yych != ' ') goto yy57;
5209 	}
5210 yy278:
5211 	YYDEBUG(278, *YYCURSOR);
5212 	++YYCURSOR;
5213 	YYDEBUG(279, *YYCURSOR);
5214 #line 1693 "ext/date/lib/parse_date.re"
5215 	{
5216 		DEBUG_OUTPUT("dateshortwithtimeshort12 | dateshortwithtimelong12");
5217 		TIMELIB_INIT;
5218 		TIMELIB_HAVE_DATE();
5219 		s->time->m = timelib_get_month((char **) &ptr);
5220 		s->time->d = timelib_get_nr((char **) &ptr, 2);
5221 
5222 		TIMELIB_HAVE_TIME();
5223 		s->time->h = timelib_get_nr((char **) &ptr, 2);
5224 		s->time->i = timelib_get_nr((char **) &ptr, 2);
5225 		if (*ptr == ':' || *ptr == '.') {
5226 			s->time->s = timelib_get_nr((char **) &ptr, 2);
5227 
5228 			if (*ptr == '.') {
5229 				s->time->f = timelib_get_frac_nr((char **) &ptr, 8);
5230 			}
5231 		}
5232 
5233 		s->time->h += timelib_meridian((char **) &ptr, s->time->h);
5234 		TIMELIB_DEINIT;
5235 		return TIMELIB_SHORTDATE_WITH_TIME;
5236 	}
5237 #line 5238 "ext/date/lib/parse_date.c"
5238 yy280:
5239 	YYDEBUG(280, *YYCURSOR);
5240 	yych = *++YYCURSOR;
5241 	if (yych <= 0x1F) {
5242 		if (yych <= 0x00) goto yy278;
5243 		if (yych == '\t') goto yy278;
5244 		goto yy57;
5245 	} else {
5246 		if (yych <= ' ') goto yy278;
5247 		if (yych == '.') goto yy277;
5248 		goto yy57;
5249 	}
5250 yy281:
5251 	YYDEBUG(281, *YYCURSOR);
5252 	yyaccept = 7;
5253 	yych = *(YYMARKER = ++YYCURSOR);
5254 	if (yych <= '-') {
5255 		if (yych <= 0x1F) {
5256 			if (yych <= 0x00) goto yy278;
5257 			if (yych == '\t') goto yy278;
5258 			goto yy223;
5259 		} else {
5260 			if (yych <= '(') {
5261 				if (yych <= ' ') goto yy278;
5262 				goto yy223;
5263 			} else {
5264 				if (yych <= ')') goto yy228;
5265 				if (yych <= ',') goto yy223;
5266 				goto yy244;
5267 			}
5268 		}
5269 	} else {
5270 		if (yych <= 'Z') {
5271 			if (yych <= '.') goto yy277;
5272 			if (yych <= '/') goto yy244;
5273 			if (yych <= '@') goto yy223;
5274 			goto yy238;
5275 		} else {
5276 			if (yych <= '_') {
5277 				if (yych <= '^') goto yy223;
5278 				goto yy244;
5279 			} else {
5280 				if (yych <= '`') goto yy223;
5281 				if (yych <= 'z') goto yy243;
5282 				goto yy223;
5283 			}
5284 		}
5285 	}
5286 yy282:
5287 	YYDEBUG(282, *YYCURSOR);
5288 	yyaccept = 7;
5289 	yych = *(YYMARKER = ++YYCURSOR);
5290 	if (yych <= ':') {
5291 		if (yych <= ' ') {
5292 			if (yych == '\t') goto yy283;
5293 			if (yych <= 0x1F) goto yy223;
5294 		} else {
5295 			if (yych == '.') goto yy267;
5296 			if (yych <= '9') goto yy223;
5297 			goto yy267;
5298 		}
5299 	} else {
5300 		if (yych <= 'P') {
5301 			if (yych == 'A') goto yy285;
5302 			if (yych <= 'O') goto yy223;
5303 			goto yy285;
5304 		} else {
5305 			if (yych <= 'a') {
5306 				if (yych <= '`') goto yy223;
5307 				goto yy285;
5308 			} else {
5309 				if (yych == 'p') goto yy285;
5310 				goto yy223;
5311 			}
5312 		}
5313 	}
5314 yy283:
5315 	YYDEBUG(283, *YYCURSOR);
5316 	++YYCURSOR;
5317 	if ((YYLIMIT - YYCURSOR) < 5) YYFILL(5);
5318 	yych = *YYCURSOR;
5319 	YYDEBUG(284, *YYCURSOR);
5320 	if (yych <= 'A') {
5321 		if (yych <= 0x1F) {
5322 			if (yych == '\t') goto yy283;
5323 			goto yy57;
5324 		} else {
5325 			if (yych <= ' ') goto yy283;
5326 			if (yych <= '@') goto yy57;
5327 		}
5328 	} else {
5329 		if (yych <= '`') {
5330 			if (yych != 'P') goto yy57;
5331 		} else {
5332 			if (yych <= 'a') goto yy285;
5333 			if (yych != 'p') goto yy57;
5334 		}
5335 	}
5336 yy285:
5337 	YYDEBUG(285, *YYCURSOR);
5338 	yych = *++YYCURSOR;
5339 	if (yych <= 'L') {
5340 		if (yych != '.') goto yy57;
5341 	} else {
5342 		if (yych <= 'M') goto yy287;
5343 		if (yych == 'm') goto yy287;
5344 		goto yy57;
5345 	}
5346 yy286:
5347 	YYDEBUG(286, *YYCURSOR);
5348 	yych = *++YYCURSOR;
5349 	if (yych == 'M') goto yy287;
5350 	if (yych != 'm') goto yy57;
5351 yy287:
5352 	YYDEBUG(287, *YYCURSOR);
5353 	yych = *++YYCURSOR;
5354 	if (yych <= 0x1F) {
5355 		if (yych <= 0x00) goto yy278;
5356 		if (yych == '\t') goto yy278;
5357 		goto yy57;
5358 	} else {
5359 		if (yych <= ' ') goto yy278;
5360 		if (yych != '.') goto yy57;
5361 	}
5362 yy288:
5363 	YYDEBUG(288, *YYCURSOR);
5364 	yych = *++YYCURSOR;
5365 	if (yych <= '\t') {
5366 		if (yych <= 0x00) goto yy278;
5367 		if (yych <= 0x08) goto yy57;
5368 		goto yy278;
5369 	} else {
5370 		if (yych == ' ') goto yy278;
5371 		goto yy57;
5372 	}
5373 yy289:
5374 	YYDEBUG(289, *YYCURSOR);
5375 	yych = *++YYCURSOR;
5376 	if (yych <= '/') goto yy199;
5377 	if (yych >= ':') goto yy199;
5378 	YYDEBUG(290, *YYCURSOR);
5379 	yych = *++YYCURSOR;
5380 	goto yy199;
5381 yy291:
5382 	YYDEBUG(291, *YYCURSOR);
5383 	yyaccept = 6;
5384 	yych = *(YYMARKER = ++YYCURSOR);
5385 	if (yych <= '/') {
5386 		if (yych == '.') goto yy221;
5387 		goto yy199;
5388 	} else {
5389 		if (yych <= '9') goto yy289;
5390 		if (yych <= ':') goto yy221;
5391 		goto yy199;
5392 	}
5393 yy292:
5394 	YYDEBUG(292, *YYCURSOR);
5395 	yyaccept = 6;
5396 	yych = *(YYMARKER = ++YYCURSOR);
5397 	if (yych <= '/') {
5398 		if (yych == '.') goto yy264;
5399 		goto yy199;
5400 	} else {
5401 		if (yych <= '9') goto yy289;
5402 		if (yych <= ':') goto yy264;
5403 		goto yy199;
5404 	}
5405 yy293:
5406 	YYDEBUG(293, *YYCURSOR);
5407 	yych = *++YYCURSOR;
5408 	if (yych <= '/') goto yy57;
5409 	if (yych >= ':') goto yy57;
5410 yy294:
5411 	YYDEBUG(294, *YYCURSOR);
5412 	++YYCURSOR;
5413 yy295:
5414 	YYDEBUG(295, *YYCURSOR);
5415 #line 1387 "ext/date/lib/parse_date.re"
5416 	{
5417 		int length = 0;
5418 		DEBUG_OUTPUT("datenoday");
5419 		TIMELIB_INIT;
5420 		TIMELIB_HAVE_DATE();
5421 		s->time->m = timelib_get_month((char **) &ptr);
5422 		s->time->y = timelib_get_nr_ex((char **) &ptr, 4, &length);
5423 		s->time->d = 1;
5424 		TIMELIB_PROCESS_YEAR(s->time->y, length);
5425 		TIMELIB_DEINIT;
5426 		return TIMELIB_DATE_NO_DAY;
5427 	}
5428 #line 5429 "ext/date/lib/parse_date.c"
5429 yy296:
5430 	YYDEBUG(296, *YYCURSOR);
5431 	yych = *++YYCURSOR;
5432 	if (yych <= '/') {
5433 		if (yych == '.') goto yy221;
5434 		goto yy57;
5435 	} else {
5436 		if (yych <= '9') goto yy294;
5437 		if (yych <= ':') goto yy221;
5438 		goto yy57;
5439 	}
5440 yy297:
5441 	YYDEBUG(297, *YYCURSOR);
5442 	yych = *++YYCURSOR;
5443 	if (yych <= '/') {
5444 		if (yych == '.') goto yy264;
5445 		goto yy57;
5446 	} else {
5447 		if (yych <= '9') goto yy294;
5448 		if (yych <= ':') goto yy264;
5449 		goto yy57;
5450 	}
5451 yy298:
5452 	YYDEBUG(298, *YYCURSOR);
5453 	yyaccept = 6;
5454 	yych = *(YYMARKER = ++YYCURSOR);
5455 	if (yych <= '9') {
5456 		if (yych <= '/') {
5457 			if (yych == '.') goto yy331;
5458 			goto yy216;
5459 		} else {
5460 			if (yych <= '0') goto yy332;
5461 			if (yych <= '1') goto yy302;
5462 			if (yych <= '2') goto yy303;
5463 			goto yy297;
5464 		}
5465 	} else {
5466 		if (yych <= 'q') {
5467 			if (yych <= ':') goto yy221;
5468 			if (yych == 'n') goto yy212;
5469 			goto yy216;
5470 		} else {
5471 			if (yych <= 'r') goto yy213;
5472 			if (yych <= 's') goto yy211;
5473 			if (yych <= 't') goto yy214;
5474 			goto yy216;
5475 		}
5476 	}
5477 yy299:
5478 	YYDEBUG(299, *YYCURSOR);
5479 	yyaccept = 6;
5480 	yych = *(YYMARKER = ++YYCURSOR);
5481 	if (yych <= '9') {
5482 		if (yych <= '/') {
5483 			if (yych != '.') goto yy216;
5484 		} else {
5485 			if (yych <= '0') goto yy301;
5486 			if (yych <= '1') goto yy302;
5487 			if (yych <= '2') goto yy303;
5488 			goto yy297;
5489 		}
5490 	} else {
5491 		if (yych <= 'q') {
5492 			if (yych <= ':') goto yy264;
5493 			if (yych == 'n') goto yy212;
5494 			goto yy216;
5495 		} else {
5496 			if (yych <= 'r') goto yy213;
5497 			if (yych <= 's') goto yy211;
5498 			if (yych <= 't') goto yy214;
5499 			goto yy216;
5500 		}
5501 	}
5502 yy300:
5503 	YYDEBUG(300, *YYCURSOR);
5504 	yyaccept = 6;
5505 	yych = *(YYMARKER = ++YYCURSOR);
5506 	if (yych <= '1') {
5507 		if (yych <= '/') goto yy216;
5508 		if (yych <= '0') goto yy306;
5509 		goto yy307;
5510 	} else {
5511 		if (yych <= '2') goto yy308;
5512 		if (yych <= '5') goto yy309;
5513 		if (yych <= '9') goto yy310;
5514 		goto yy216;
5515 	}
5516 yy301:
5517 	YYDEBUG(301, *YYCURSOR);
5518 	yych = *++YYCURSOR;
5519 	if (yych <= '/') {
5520 		if (yych == '.') goto yy264;
5521 		goto yy57;
5522 	} else {
5523 		if (yych <= '0') goto yy304;
5524 		if (yych <= '9') goto yy305;
5525 		if (yych <= ':') goto yy264;
5526 		goto yy57;
5527 	}
5528 yy302:
5529 	YYDEBUG(302, *YYCURSOR);
5530 	yych = *++YYCURSOR;
5531 	if (yych <= '/') {
5532 		if (yych == '.') goto yy264;
5533 		goto yy57;
5534 	} else {
5535 		if (yych <= '2') goto yy305;
5536 		if (yych <= '9') goto yy304;
5537 		if (yych <= ':') goto yy264;
5538 		goto yy57;
5539 	}
5540 yy303:
5541 	YYDEBUG(303, *YYCURSOR);
5542 	yych = *++YYCURSOR;
5543 	if (yych <= '/') {
5544 		if (yych == '.') goto yy264;
5545 		goto yy57;
5546 	} else {
5547 		if (yych <= '4') goto yy304;
5548 		if (yych <= '9') goto yy294;
5549 		if (yych <= ':') goto yy264;
5550 		goto yy57;
5551 	}
5552 yy304:
5553 	YYDEBUG(304, *YYCURSOR);
5554 	yyaccept = 8;
5555 	yych = *(YYMARKER = ++YYCURSOR);
5556 	if (yych == '.') goto yy221;
5557 	if (yych == ':') goto yy221;
5558 	goto yy295;
5559 yy305:
5560 	YYDEBUG(305, *YYCURSOR);
5561 	yyaccept = 8;
5562 	yych = *(YYMARKER = ++YYCURSOR);
5563 	if (yych == '.') goto yy264;
5564 	if (yych == ':') goto yy264;
5565 	goto yy295;
5566 yy306:
5567 	YYDEBUG(306, *YYCURSOR);
5568 	yyaccept = 6;
5569 	yych = *(YYMARKER = ++YYCURSOR);
5570 	if (yych <= '/') {
5571 		if (yych == '.') goto yy326;
5572 		goto yy199;
5573 	} else {
5574 		if (yych <= '0') goto yy325;
5575 		if (yych <= '9') goto yy330;
5576 		if (yych <= ':') goto yy326;
5577 		goto yy199;
5578 	}
5579 yy307:
5580 	YYDEBUG(307, *YYCURSOR);
5581 	yyaccept = 6;
5582 	yych = *(YYMARKER = ++YYCURSOR);
5583 	if (yych <= '/') {
5584 		if (yych == '.') goto yy311;
5585 		goto yy199;
5586 	} else {
5587 		if (yych <= '2') goto yy330;
5588 		if (yych <= '9') goto yy325;
5589 		if (yych <= ':') goto yy311;
5590 		goto yy199;
5591 	}
5592 yy308:
5593 	YYDEBUG(308, *YYCURSOR);
5594 	yyaccept = 6;
5595 	yych = *(YYMARKER = ++YYCURSOR);
5596 	if (yych <= '/') {
5597 		if (yych == '.') goto yy311;
5598 		goto yy199;
5599 	} else {
5600 		if (yych <= '4') goto yy325;
5601 		if (yych <= '9') goto yy324;
5602 		if (yych <= ':') goto yy311;
5603 		goto yy199;
5604 	}
5605 yy309:
5606 	YYDEBUG(309, *YYCURSOR);
5607 	yyaccept = 6;
5608 	yych = *(YYMARKER = ++YYCURSOR);
5609 	if (yych <= '/') {
5610 		if (yych == '.') goto yy311;
5611 		goto yy199;
5612 	} else {
5613 		if (yych <= '9') goto yy324;
5614 		if (yych <= ':') goto yy311;
5615 		goto yy199;
5616 	}
5617 yy310:
5618 	YYDEBUG(310, *YYCURSOR);
5619 	yyaccept = 6;
5620 	yych = *(YYMARKER = ++YYCURSOR);
5621 	if (yych <= '/') {
5622 		if (yych != '.') goto yy199;
5623 	} else {
5624 		if (yych <= '9') goto yy263;
5625 		if (yych >= ';') goto yy199;
5626 	}
5627 yy311:
5628 	YYDEBUG(311, *YYCURSOR);
5629 	yych = *++YYCURSOR;
5630 	if (yych <= '/') goto yy57;
5631 	if (yych <= '5') goto yy312;
5632 	if (yych <= '6') goto yy313;
5633 	if (yych <= '9') goto yy266;
5634 	goto yy57;
5635 yy312:
5636 	YYDEBUG(312, *YYCURSOR);
5637 	yyaccept = 7;
5638 	yych = *(YYMARKER = ++YYCURSOR);
5639 	if (yych <= '/') {
5640 		if (yych == '.') goto yy267;
5641 		goto yy223;
5642 	} else {
5643 		if (yych <= '9') goto yy314;
5644 		if (yych <= ':') goto yy267;
5645 		goto yy223;
5646 	}
5647 yy313:
5648 	YYDEBUG(313, *YYCURSOR);
5649 	yyaccept = 7;
5650 	yych = *(YYMARKER = ++YYCURSOR);
5651 	if (yych <= '/') {
5652 		if (yych == '.') goto yy267;
5653 		goto yy223;
5654 	} else {
5655 		if (yych <= '0') goto yy270;
5656 		if (yych == ':') goto yy267;
5657 		goto yy223;
5658 	}
5659 yy314:
5660 	YYDEBUG(314, *YYCURSOR);
5661 	yyaccept = 7;
5662 	yych = *(YYMARKER = ++YYCURSOR);
5663 	if (yych <= ',') {
5664 		if (yych <= ' ') {
5665 			if (yych == '\t') goto yy316;
5666 			if (yych <= 0x1F) goto yy223;
5667 			goto yy316;
5668 		} else {
5669 			if (yych <= '(') {
5670 				if (yych <= '\'') goto yy223;
5671 				goto yy316;
5672 			} else {
5673 				if (yych == '+') goto yy316;
5674 				goto yy223;
5675 			}
5676 		}
5677 	} else {
5678 		if (yych <= ':') {
5679 			if (yych <= '-') goto yy316;
5680 			if (yych <= '.') goto yy267;
5681 			if (yych <= '9') goto yy223;
5682 			goto yy267;
5683 		} else {
5684 			if (yych <= 'Z') {
5685 				if (yych <= '@') goto yy223;
5686 				goto yy316;
5687 			} else {
5688 				if (yych <= '`') goto yy223;
5689 				if (yych <= 'z') goto yy316;
5690 				goto yy223;
5691 			}
5692 		}
5693 	}
5694 yy315:
5695 	YYDEBUG(315, *YYCURSOR);
5696 	++YYCURSOR;
5697 	if ((YYLIMIT - YYCURSOR) < 9) YYFILL(9);
5698 	yych = *YYCURSOR;
5699 yy316:
5700 	YYDEBUG(316, *YYCURSOR);
5701 	if (yych <= '@') {
5702 		if (yych <= '\'') {
5703 			if (yych <= '\t') {
5704 				if (yych <= 0x08) goto yy57;
5705 				goto yy315;
5706 			} else {
5707 				if (yych == ' ') goto yy315;
5708 				goto yy57;
5709 			}
5710 		} else {
5711 			if (yych <= '+') {
5712 				if (yych <= '(') goto yy234;
5713 				if (yych <= '*') goto yy57;
5714 				goto yy233;
5715 			} else {
5716 				if (yych == '-') goto yy233;
5717 				goto yy57;
5718 			}
5719 		}
5720 	} else {
5721 		if (yych <= 'Z') {
5722 			if (yych <= 'G') {
5723 				if (yych <= 'A') goto yy317;
5724 				if (yych <= 'F') goto yy235;
5725 				goto yy232;
5726 			} else {
5727 				if (yych != 'P') goto yy235;
5728 			}
5729 		} else {
5730 			if (yych <= 'o') {
5731 				if (yych <= '`') goto yy57;
5732 				if (yych <= 'a') goto yy318;
5733 				goto yy236;
5734 			} else {
5735 				if (yych <= 'p') goto yy318;
5736 				if (yych <= 'z') goto yy236;
5737 				goto yy57;
5738 			}
5739 		}
5740 	}
5741 yy317:
5742 	YYDEBUG(317, *YYCURSOR);
5743 	yyaccept = 7;
5744 	yych = *(YYMARKER = ++YYCURSOR);
5745 	if (yych <= 'L') {
5746 		if (yych <= '-') {
5747 			if (yych == ')') goto yy228;
5748 			goto yy223;
5749 		} else {
5750 			if (yych <= '.') goto yy320;
5751 			if (yych <= '@') goto yy223;
5752 			goto yy237;
5753 		}
5754 	} else {
5755 		if (yych <= '`') {
5756 			if (yych <= 'M') goto yy319;
5757 			if (yych <= 'Z') goto yy237;
5758 			goto yy223;
5759 		} else {
5760 			if (yych == 'm') goto yy323;
5761 			if (yych <= 'z') goto yy242;
5762 			goto yy223;
5763 		}
5764 	}
5765 yy318:
5766 	YYDEBUG(318, *YYCURSOR);
5767 	yyaccept = 7;
5768 	yych = *(YYMARKER = ++YYCURSOR);
5769 	if (yych <= 'L') {
5770 		if (yych <= '-') {
5771 			if (yych == ')') goto yy228;
5772 			goto yy223;
5773 		} else {
5774 			if (yych <= '.') goto yy320;
5775 			if (yych <= '@') goto yy223;
5776 			goto yy237;
5777 		}
5778 	} else {
5779 		if (yych <= '`') {
5780 			if (yych <= 'M') goto yy319;
5781 			if (yych <= 'Z') goto yy237;
5782 			goto yy223;
5783 		} else {
5784 			if (yych == 'm') goto yy319;
5785 			if (yych <= 'z') goto yy237;
5786 			goto yy223;
5787 		}
5788 	}
5789 yy319:
5790 	YYDEBUG(319, *YYCURSOR);
5791 	yyaccept = 7;
5792 	yych = *(YYMARKER = ++YYCURSOR);
5793 	if (yych <= ')') {
5794 		if (yych <= '\t') {
5795 			if (yych <= 0x00) goto yy278;
5796 			if (yych <= 0x08) goto yy223;
5797 			goto yy278;
5798 		} else {
5799 			if (yych == ' ') goto yy278;
5800 			if (yych <= '(') goto yy223;
5801 			goto yy228;
5802 		}
5803 	} else {
5804 		if (yych <= '@') {
5805 			if (yych == '.') goto yy322;
5806 			goto yy223;
5807 		} else {
5808 			if (yych <= 'Z') goto yy238;
5809 			if (yych <= '`') goto yy223;
5810 			if (yych <= 'z') goto yy238;
5811 			goto yy223;
5812 		}
5813 	}
5814 yy320:
5815 	YYDEBUG(320, *YYCURSOR);
5816 	yych = *++YYCURSOR;
5817 	if (yych == 'M') goto yy321;
5818 	if (yych != 'm') goto yy57;
5819 yy321:
5820 	YYDEBUG(321, *YYCURSOR);
5821 	yych = *++YYCURSOR;
5822 	if (yych <= 0x1F) {
5823 		if (yych <= 0x00) goto yy278;
5824 		if (yych == '\t') goto yy278;
5825 		goto yy57;
5826 	} else {
5827 		if (yych <= ' ') goto yy278;
5828 		if (yych != '.') goto yy57;
5829 	}
5830 yy322:
5831 	YYDEBUG(322, *YYCURSOR);
5832 	yych = *++YYCURSOR;
5833 	if (yych <= '\t') {
5834 		if (yych <= 0x00) goto yy278;
5835 		if (yych <= 0x08) goto yy57;
5836 		goto yy278;
5837 	} else {
5838 		if (yych == ' ') goto yy278;
5839 		goto yy57;
5840 	}
5841 yy323:
5842 	YYDEBUG(323, *YYCURSOR);
5843 	yyaccept = 7;
5844 	yych = *(YYMARKER = ++YYCURSOR);
5845 	if (yych <= '-') {
5846 		if (yych <= 0x1F) {
5847 			if (yych <= 0x00) goto yy278;
5848 			if (yych == '\t') goto yy278;
5849 			goto yy223;
5850 		} else {
5851 			if (yych <= '(') {
5852 				if (yych <= ' ') goto yy278;
5853 				goto yy223;
5854 			} else {
5855 				if (yych <= ')') goto yy228;
5856 				if (yych <= ',') goto yy223;
5857 				goto yy244;
5858 			}
5859 		}
5860 	} else {
5861 		if (yych <= 'Z') {
5862 			if (yych <= '.') goto yy322;
5863 			if (yych <= '/') goto yy244;
5864 			if (yych <= '@') goto yy223;
5865 			goto yy238;
5866 		} else {
5867 			if (yych <= '_') {
5868 				if (yych <= '^') goto yy223;
5869 				goto yy244;
5870 			} else {
5871 				if (yych <= '`') goto yy223;
5872 				if (yych <= 'z') goto yy243;
5873 				goto yy223;
5874 			}
5875 		}
5876 	}
5877 yy324:
5878 	YYDEBUG(324, *YYCURSOR);
5879 	yyaccept = 6;
5880 	yych = *(YYMARKER = ++YYCURSOR);
5881 	if (yych <= ':') {
5882 		if (yych <= ' ') {
5883 			if (yych == '\t') goto yy283;
5884 			if (yych <= 0x1F) goto yy199;
5885 			goto yy283;
5886 		} else {
5887 			if (yych <= '.') {
5888 				if (yych <= '-') goto yy199;
5889 				goto yy267;
5890 			} else {
5891 				if (yych <= '/') goto yy199;
5892 				if (yych <= '9') goto yy289;
5893 				goto yy267;
5894 			}
5895 		}
5896 	} else {
5897 		if (yych <= 'P') {
5898 			if (yych == 'A') goto yy285;
5899 			if (yych <= 'O') goto yy199;
5900 			goto yy285;
5901 		} else {
5902 			if (yych <= 'a') {
5903 				if (yych <= '`') goto yy199;
5904 				goto yy285;
5905 			} else {
5906 				if (yych == 'p') goto yy285;
5907 				goto yy199;
5908 			}
5909 		}
5910 	}
5911 yy325:
5912 	YYDEBUG(325, *YYCURSOR);
5913 	yyaccept = 6;
5914 	yych = *(YYMARKER = ++YYCURSOR);
5915 	if (yych <= ':') {
5916 		if (yych <= ' ') {
5917 			if (yych == '\t') goto yy283;
5918 			if (yych <= 0x1F) goto yy199;
5919 			goto yy283;
5920 		} else {
5921 			if (yych <= '.') {
5922 				if (yych <= '-') goto yy199;
5923 			} else {
5924 				if (yych <= '/') goto yy199;
5925 				if (yych <= '9') goto yy289;
5926 			}
5927 		}
5928 	} else {
5929 		if (yych <= 'P') {
5930 			if (yych == 'A') goto yy285;
5931 			if (yych <= 'O') goto yy199;
5932 			goto yy285;
5933 		} else {
5934 			if (yych <= 'a') {
5935 				if (yych <= '`') goto yy199;
5936 				goto yy285;
5937 			} else {
5938 				if (yych == 'p') goto yy285;
5939 				goto yy199;
5940 			}
5941 		}
5942 	}
5943 yy326:
5944 	YYDEBUG(326, *YYCURSOR);
5945 	yych = *++YYCURSOR;
5946 	if (yych <= '/') goto yy57;
5947 	if (yych <= '5') goto yy327;
5948 	if (yych <= '6') goto yy328;
5949 	if (yych <= '9') goto yy224;
5950 	goto yy57;
5951 yy327:
5952 	YYDEBUG(327, *YYCURSOR);
5953 	yyaccept = 7;
5954 	yych = *(YYMARKER = ++YYCURSOR);
5955 	if (yych <= '/') {
5956 		if (yych == '.') goto yy225;
5957 		goto yy223;
5958 	} else {
5959 		if (yych <= '9') goto yy329;
5960 		if (yych <= ':') goto yy225;
5961 		goto yy223;
5962 	}
5963 yy328:
5964 	YYDEBUG(328, *YYCURSOR);
5965 	yyaccept = 7;
5966 	yych = *(YYMARKER = ++YYCURSOR);
5967 	if (yych <= '/') {
5968 		if (yych == '.') goto yy225;
5969 		goto yy223;
5970 	} else {
5971 		if (yych <= '0') goto yy270;
5972 		if (yych == ':') goto yy225;
5973 		goto yy223;
5974 	}
5975 yy329:
5976 	YYDEBUG(329, *YYCURSOR);
5977 	yyaccept = 7;
5978 	yych = *(YYMARKER = ++YYCURSOR);
5979 	if (yych <= ',') {
5980 		if (yych <= ' ') {
5981 			if (yych == '\t') goto yy272;
5982 			if (yych <= 0x1F) goto yy223;
5983 			goto yy272;
5984 		} else {
5985 			if (yych <= '(') {
5986 				if (yych <= '\'') goto yy223;
5987 				goto yy272;
5988 			} else {
5989 				if (yych == '+') goto yy272;
5990 				goto yy223;
5991 			}
5992 		}
5993 	} else {
5994 		if (yych <= ':') {
5995 			if (yych <= '-') goto yy272;
5996 			if (yych <= '.') goto yy225;
5997 			if (yych <= '9') goto yy223;
5998 			goto yy225;
5999 		} else {
6000 			if (yych <= 'Z') {
6001 				if (yych <= '@') goto yy223;
6002 				goto yy272;
6003 			} else {
6004 				if (yych <= '`') goto yy223;
6005 				if (yych <= 'z') goto yy272;
6006 				goto yy223;
6007 			}
6008 		}
6009 	}
6010 yy330:
6011 	YYDEBUG(330, *YYCURSOR);
6012 	yyaccept = 6;
6013 	yych = *(YYMARKER = ++YYCURSOR);
6014 	if (yych <= ':') {
6015 		if (yych <= ' ') {
6016 			if (yych == '\t') goto yy283;
6017 			if (yych <= 0x1F) goto yy199;
6018 			goto yy283;
6019 		} else {
6020 			if (yych <= '.') {
6021 				if (yych <= '-') goto yy199;
6022 				goto yy311;
6023 			} else {
6024 				if (yych <= '/') goto yy199;
6025 				if (yych <= '9') goto yy289;
6026 				goto yy311;
6027 			}
6028 		}
6029 	} else {
6030 		if (yych <= 'P') {
6031 			if (yych == 'A') goto yy285;
6032 			if (yych <= 'O') goto yy199;
6033 			goto yy285;
6034 		} else {
6035 			if (yych <= 'a') {
6036 				if (yych <= '`') goto yy199;
6037 				goto yy285;
6038 			} else {
6039 				if (yych == 'p') goto yy285;
6040 				goto yy199;
6041 			}
6042 		}
6043 	}
6044 yy331:
6045 	YYDEBUG(331, *YYCURSOR);
6046 	yyaccept = 6;
6047 	yych = *(YYMARKER = ++YYCURSOR);
6048 	if (yych <= '1') {
6049 		if (yych <= '/') goto yy216;
6050 		if (yych <= '0') goto yy333;
6051 		goto yy334;
6052 	} else {
6053 		if (yych <= '2') goto yy335;
6054 		if (yych <= '5') goto yy336;
6055 		if (yych <= '9') goto yy337;
6056 		goto yy216;
6057 	}
6058 yy332:
6059 	YYDEBUG(332, *YYCURSOR);
6060 	yych = *++YYCURSOR;
6061 	if (yych <= '/') {
6062 		if (yych == '.') goto yy221;
6063 		goto yy57;
6064 	} else {
6065 		if (yych <= '0') goto yy304;
6066 		if (yych <= '9') goto yy305;
6067 		if (yych <= ':') goto yy221;
6068 		goto yy57;
6069 	}
6070 yy333:
6071 	YYDEBUG(333, *YYCURSOR);
6072 	yyaccept = 6;
6073 	yych = *(YYMARKER = ++YYCURSOR);
6074 	if (yych <= '/') {
6075 		if (yych == '.') goto yy350;
6076 		goto yy199;
6077 	} else {
6078 		if (yych <= '0') goto yy349;
6079 		if (yych <= '9') goto yy354;
6080 		if (yych <= ':') goto yy350;
6081 		goto yy199;
6082 	}
6083 yy334:
6084 	YYDEBUG(334, *YYCURSOR);
6085 	yyaccept = 6;
6086 	yych = *(YYMARKER = ++YYCURSOR);
6087 	if (yych <= '/') {
6088 		if (yych == '.') goto yy338;
6089 		goto yy199;
6090 	} else {
6091 		if (yych <= '2') goto yy354;
6092 		if (yych <= '9') goto yy349;
6093 		if (yych <= ':') goto yy338;
6094 		goto yy199;
6095 	}
6096 yy335:
6097 	YYDEBUG(335, *YYCURSOR);
6098 	yyaccept = 6;
6099 	yych = *(YYMARKER = ++YYCURSOR);
6100 	if (yych <= '/') {
6101 		if (yych == '.') goto yy338;
6102 		goto yy199;
6103 	} else {
6104 		if (yych <= '4') goto yy349;
6105 		if (yych <= '9') goto yy348;
6106 		if (yych <= ':') goto yy338;
6107 		goto yy199;
6108 	}
6109 yy336:
6110 	YYDEBUG(336, *YYCURSOR);
6111 	yyaccept = 6;
6112 	yych = *(YYMARKER = ++YYCURSOR);
6113 	if (yych <= '/') {
6114 		if (yych == '.') goto yy338;
6115 		goto yy199;
6116 	} else {
6117 		if (yych <= '9') goto yy348;
6118 		if (yych <= ':') goto yy338;
6119 		goto yy199;
6120 	}
6121 yy337:
6122 	YYDEBUG(337, *YYCURSOR);
6123 	yyaccept = 6;
6124 	yych = *(YYMARKER = ++YYCURSOR);
6125 	if (yych <= '/') {
6126 		if (yych != '.') goto yy199;
6127 	} else {
6128 		if (yych <= '9') goto yy263;
6129 		if (yych >= ';') goto yy199;
6130 	}
6131 yy338:
6132 	YYDEBUG(338, *YYCURSOR);
6133 	yych = *++YYCURSOR;
6134 	if (yych <= '/') goto yy57;
6135 	if (yych <= '5') goto yy339;
6136 	if (yych <= '6') goto yy340;
6137 	if (yych <= '9') goto yy266;
6138 	goto yy57;
6139 yy339:
6140 	YYDEBUG(339, *YYCURSOR);
6141 	yyaccept = 7;
6142 	yych = *(YYMARKER = ++YYCURSOR);
6143 	if (yych <= '/') {
6144 		if (yych == '.') goto yy267;
6145 		goto yy223;
6146 	} else {
6147 		if (yych <= '9') goto yy341;
6148 		if (yych <= ':') goto yy267;
6149 		goto yy223;
6150 	}
6151 yy340:
6152 	YYDEBUG(340, *YYCURSOR);
6153 	yyaccept = 7;
6154 	yych = *(YYMARKER = ++YYCURSOR);
6155 	if (yych <= '/') {
6156 		if (yych == '.') goto yy267;
6157 		goto yy223;
6158 	} else {
6159 		if (yych <= '0') goto yy229;
6160 		if (yych == ':') goto yy267;
6161 		goto yy223;
6162 	}
6163 yy341:
6164 	YYDEBUG(341, *YYCURSOR);
6165 	yyaccept = 7;
6166 	yych = *(YYMARKER = ++YYCURSOR);
6167 	if (yych <= ',') {
6168 		if (yych <= ' ') {
6169 			if (yych == '\t') goto yy343;
6170 			if (yych <= 0x1F) goto yy223;
6171 			goto yy343;
6172 		} else {
6173 			if (yych <= '(') {
6174 				if (yych <= '\'') goto yy223;
6175 				goto yy343;
6176 			} else {
6177 				if (yych == '+') goto yy343;
6178 				goto yy223;
6179 			}
6180 		}
6181 	} else {
6182 		if (yych <= ':') {
6183 			if (yych <= '-') goto yy343;
6184 			if (yych <= '.') goto yy267;
6185 			if (yych <= '9') goto yy223;
6186 			goto yy267;
6187 		} else {
6188 			if (yych <= 'Z') {
6189 				if (yych <= '@') goto yy223;
6190 				goto yy343;
6191 			} else {
6192 				if (yych <= '`') goto yy223;
6193 				if (yych <= 'z') goto yy343;
6194 				goto yy223;
6195 			}
6196 		}
6197 	}
6198 yy342:
6199 	YYDEBUG(342, *YYCURSOR);
6200 	++YYCURSOR;
6201 	if ((YYLIMIT - YYCURSOR) < 9) YYFILL(9);
6202 	yych = *YYCURSOR;
6203 yy343:
6204 	YYDEBUG(343, *YYCURSOR);
6205 	if (yych <= '@') {
6206 		if (yych <= '\'') {
6207 			if (yych <= '\t') {
6208 				if (yych <= 0x08) goto yy57;
6209 				goto yy342;
6210 			} else {
6211 				if (yych == ' ') goto yy342;
6212 				goto yy57;
6213 			}
6214 		} else {
6215 			if (yych <= '+') {
6216 				if (yych <= '(') goto yy234;
6217 				if (yych <= '*') goto yy57;
6218 				goto yy233;
6219 			} else {
6220 				if (yych == '-') goto yy233;
6221 				goto yy57;
6222 			}
6223 		}
6224 	} else {
6225 		if (yych <= 'Z') {
6226 			if (yych <= 'G') {
6227 				if (yych <= 'A') goto yy344;
6228 				if (yych <= 'F') goto yy235;
6229 				goto yy232;
6230 			} else {
6231 				if (yych != 'P') goto yy235;
6232 			}
6233 		} else {
6234 			if (yych <= 'o') {
6235 				if (yych <= '`') goto yy57;
6236 				if (yych <= 'a') goto yy345;
6237 				goto yy236;
6238 			} else {
6239 				if (yych <= 'p') goto yy345;
6240 				if (yych <= 'z') goto yy236;
6241 				goto yy57;
6242 			}
6243 		}
6244 	}
6245 yy344:
6246 	YYDEBUG(344, *YYCURSOR);
6247 	yyaccept = 7;
6248 	yych = *(YYMARKER = ++YYCURSOR);
6249 	if (yych <= 'L') {
6250 		if (yych <= '-') {
6251 			if (yych == ')') goto yy228;
6252 			goto yy223;
6253 		} else {
6254 			if (yych <= '.') goto yy286;
6255 			if (yych <= '@') goto yy223;
6256 			goto yy237;
6257 		}
6258 	} else {
6259 		if (yych <= '`') {
6260 			if (yych <= 'M') goto yy346;
6261 			if (yych <= 'Z') goto yy237;
6262 			goto yy223;
6263 		} else {
6264 			if (yych == 'm') goto yy347;
6265 			if (yych <= 'z') goto yy242;
6266 			goto yy223;
6267 		}
6268 	}
6269 yy345:
6270 	YYDEBUG(345, *YYCURSOR);
6271 	yyaccept = 7;
6272 	yych = *(YYMARKER = ++YYCURSOR);
6273 	if (yych <= 'L') {
6274 		if (yych <= '-') {
6275 			if (yych == ')') goto yy228;
6276 			goto yy223;
6277 		} else {
6278 			if (yych <= '.') goto yy286;
6279 			if (yych <= '@') goto yy223;
6280 			goto yy237;
6281 		}
6282 	} else {
6283 		if (yych <= '`') {
6284 			if (yych <= 'M') goto yy346;
6285 			if (yych <= 'Z') goto yy237;
6286 			goto yy223;
6287 		} else {
6288 			if (yych == 'm') goto yy346;
6289 			if (yych <= 'z') goto yy237;
6290 			goto yy223;
6291 		}
6292 	}
6293 yy346:
6294 	YYDEBUG(346, *YYCURSOR);
6295 	yyaccept = 7;
6296 	yych = *(YYMARKER = ++YYCURSOR);
6297 	if (yych <= ')') {
6298 		if (yych <= '\t') {
6299 			if (yych <= 0x00) goto yy278;
6300 			if (yych <= 0x08) goto yy223;
6301 			goto yy278;
6302 		} else {
6303 			if (yych == ' ') goto yy278;
6304 			if (yych <= '(') goto yy223;
6305 			goto yy228;
6306 		}
6307 	} else {
6308 		if (yych <= '@') {
6309 			if (yych == '.') goto yy288;
6310 			goto yy223;
6311 		} else {
6312 			if (yych <= 'Z') goto yy238;
6313 			if (yych <= '`') goto yy223;
6314 			if (yych <= 'z') goto yy238;
6315 			goto yy223;
6316 		}
6317 	}
6318 yy347:
6319 	YYDEBUG(347, *YYCURSOR);
6320 	yyaccept = 7;
6321 	yych = *(YYMARKER = ++YYCURSOR);
6322 	if (yych <= '-') {
6323 		if (yych <= 0x1F) {
6324 			if (yych <= 0x00) goto yy278;
6325 			if (yych == '\t') goto yy278;
6326 			goto yy223;
6327 		} else {
6328 			if (yych <= '(') {
6329 				if (yych <= ' ') goto yy278;
6330 				goto yy223;
6331 			} else {
6332 				if (yych <= ')') goto yy228;
6333 				if (yych <= ',') goto yy223;
6334 				goto yy244;
6335 			}
6336 		}
6337 	} else {
6338 		if (yych <= 'Z') {
6339 			if (yych <= '.') goto yy288;
6340 			if (yych <= '/') goto yy244;
6341 			if (yych <= '@') goto yy223;
6342 			goto yy238;
6343 		} else {
6344 			if (yych <= '_') {
6345 				if (yych <= '^') goto yy223;
6346 				goto yy244;
6347 			} else {
6348 				if (yych <= '`') goto yy223;
6349 				if (yych <= 'z') goto yy243;
6350 				goto yy223;
6351 			}
6352 		}
6353 	}
6354 yy348:
6355 	YYDEBUG(348, *YYCURSOR);
6356 	yyaccept = 6;
6357 	yych = *(YYMARKER = ++YYCURSOR);
6358 	if (yych <= '/') {
6359 		if (yych == '.') goto yy225;
6360 		goto yy199;
6361 	} else {
6362 		if (yych <= '9') goto yy289;
6363 		if (yych <= ':') goto yy225;
6364 		goto yy199;
6365 	}
6366 yy349:
6367 	YYDEBUG(349, *YYCURSOR);
6368 	yyaccept = 6;
6369 	yych = *(YYMARKER = ++YYCURSOR);
6370 	if (yych <= '/') {
6371 		if (yych != '.') goto yy199;
6372 	} else {
6373 		if (yych <= '9') goto yy289;
6374 		if (yych >= ';') goto yy199;
6375 	}
6376 yy350:
6377 	YYDEBUG(350, *YYCURSOR);
6378 	yych = *++YYCURSOR;
6379 	if (yych <= '/') goto yy57;
6380 	if (yych <= '5') goto yy351;
6381 	if (yych <= '6') goto yy352;
6382 	if (yych <= '9') goto yy224;
6383 	goto yy57;
6384 yy351:
6385 	YYDEBUG(351, *YYCURSOR);
6386 	yyaccept = 7;
6387 	yych = *(YYMARKER = ++YYCURSOR);
6388 	if (yych <= '/') {
6389 		if (yych == '.') goto yy225;
6390 		goto yy223;
6391 	} else {
6392 		if (yych <= '9') goto yy353;
6393 		if (yych <= ':') goto yy225;
6394 		goto yy223;
6395 	}
6396 yy352:
6397 	YYDEBUG(352, *YYCURSOR);
6398 	yyaccept = 7;
6399 	yych = *(YYMARKER = ++YYCURSOR);
6400 	if (yych <= '/') {
6401 		if (yych == '.') goto yy225;
6402 		goto yy223;
6403 	} else {
6404 		if (yych <= '0') goto yy229;
6405 		if (yych == ':') goto yy225;
6406 		goto yy223;
6407 	}
6408 yy353:
6409 	YYDEBUG(353, *YYCURSOR);
6410 	yyaccept = 7;
6411 	yych = *(YYMARKER = ++YYCURSOR);
6412 	if (yych <= ',') {
6413 		if (yych <= ' ') {
6414 			if (yych == '\t') goto yy231;
6415 			if (yych <= 0x1F) goto yy223;
6416 			goto yy231;
6417 		} else {
6418 			if (yych <= '(') {
6419 				if (yych <= '\'') goto yy223;
6420 				goto yy231;
6421 			} else {
6422 				if (yych == '+') goto yy231;
6423 				goto yy223;
6424 			}
6425 		}
6426 	} else {
6427 		if (yych <= ':') {
6428 			if (yych <= '-') goto yy231;
6429 			if (yych <= '.') goto yy225;
6430 			if (yych <= '9') goto yy223;
6431 			goto yy225;
6432 		} else {
6433 			if (yych <= 'Z') {
6434 				if (yych <= '@') goto yy223;
6435 				goto yy231;
6436 			} else {
6437 				if (yych <= '`') goto yy223;
6438 				if (yych <= 'z') goto yy231;
6439 				goto yy223;
6440 			}
6441 		}
6442 	}
6443 yy354:
6444 	YYDEBUG(354, *YYCURSOR);
6445 	yyaccept = 6;
6446 	yych = *(YYMARKER = ++YYCURSOR);
6447 	if (yych <= '/') {
6448 		if (yych == '.') goto yy338;
6449 		goto yy199;
6450 	} else {
6451 		if (yych <= '9') goto yy289;
6452 		if (yych <= ':') goto yy338;
6453 		goto yy199;
6454 	}
6455 yy355:
6456 	YYDEBUG(355, *YYCURSOR);
6457 	yyaccept = 6;
6458 	yych = *(YYMARKER = ++YYCURSOR);
6459 	if (yych <= '9') {
6460 		if (yych <= '/') {
6461 			if (yych == '.') goto yy300;
6462 			goto yy216;
6463 		} else {
6464 			if (yych <= '0') goto yy332;
6465 			if (yych <= '1') goto yy302;
6466 			if (yych <= '2') goto yy303;
6467 			goto yy297;
6468 		}
6469 	} else {
6470 		if (yych <= 'q') {
6471 			if (yych <= ':') goto yy264;
6472 			if (yych == 'n') goto yy212;
6473 			goto yy216;
6474 		} else {
6475 			if (yych <= 'r') goto yy213;
6476 			if (yych <= 's') goto yy211;
6477 			if (yych <= 't') goto yy214;
6478 			goto yy216;
6479 		}
6480 	}
6481 yy356:
6482 	YYDEBUG(356, *YYCURSOR);
6483 	yyaccept = 6;
6484 	yych = *(YYMARKER = ++YYCURSOR);
6485 	if (yych <= '9') {
6486 		if (yych <= '/') {
6487 			if (yych == '.') goto yy300;
6488 			goto yy216;
6489 		} else {
6490 			if (yych <= '0') goto yy332;
6491 			if (yych <= '1') goto yy302;
6492 			if (yych <= '2') goto yy303;
6493 			goto yy297;
6494 		}
6495 	} else {
6496 		if (yych <= 'q') {
6497 			if (yych <= ':') goto yy264;
6498 			if (yych == 'n') goto yy212;
6499 			goto yy216;
6500 		} else {
6501 			if (yych <= 'r') goto yy213;
6502 			if (yych <= 's') goto yy211;
6503 			if (yych <= 't') goto yy214;
6504 			goto yy216;
6505 		}
6506 	}
6507 yy357:
6508 	YYDEBUG(357, *YYCURSOR);
6509 	yyaccept = 6;
6510 	yych = *(YYMARKER = ++YYCURSOR);
6511 	if (yych <= 'm') {
6512 		if (yych <= '1') {
6513 			if (yych <= '/') goto yy216;
6514 			if (yych <= '0') goto yy360;
6515 			goto yy361;
6516 		} else {
6517 			if (yych <= '2') goto yy368;
6518 			if (yych <= '9') goto yy369;
6519 			goto yy216;
6520 		}
6521 	} else {
6522 		if (yych <= 'r') {
6523 			if (yych <= 'n') goto yy212;
6524 			if (yych <= 'q') goto yy216;
6525 			goto yy213;
6526 		} else {
6527 			if (yych <= 's') goto yy211;
6528 			if (yych <= 't') goto yy214;
6529 			goto yy216;
6530 		}
6531 	}
6532 yy358:
6533 	YYDEBUG(358, *YYCURSOR);
6534 	yyaccept = 6;
6535 	yych = *(YYMARKER = ++YYCURSOR);
6536 	if (yych <= 'm') {
6537 		if (yych <= '1') {
6538 			if (yych <= '/') goto yy216;
6539 			if (yych <= '0') goto yy360;
6540 			goto yy361;
6541 		} else {
6542 			if (yych <= '2') goto yy368;
6543 			if (yych <= '9') goto yy369;
6544 			goto yy216;
6545 		}
6546 	} else {
6547 		if (yych <= 'r') {
6548 			if (yych <= 'n') goto yy212;
6549 			if (yych <= 'q') goto yy216;
6550 			goto yy213;
6551 		} else {
6552 			if (yych <= 's') goto yy211;
6553 			if (yych <= 't') goto yy214;
6554 			goto yy216;
6555 		}
6556 	}
6557 yy359:
6558 	YYDEBUG(359, *YYCURSOR);
6559 	yyaccept = 6;
6560 	yych = *(YYMARKER = ++YYCURSOR);
6561 	if (yych <= 'm') {
6562 		if (yych <= '1') {
6563 			if (yych <= '/') goto yy216;
6564 			if (yych >= '1') goto yy361;
6565 		} else {
6566 			if (yych <= '2') goto yy209;
6567 			if (yych <= '9') goto yy210;
6568 			goto yy216;
6569 		}
6570 	} else {
6571 		if (yych <= 'r') {
6572 			if (yych <= 'n') goto yy212;
6573 			if (yych <= 'q') goto yy216;
6574 			goto yy213;
6575 		} else {
6576 			if (yych <= 's') goto yy211;
6577 			if (yych <= 't') goto yy214;
6578 			goto yy216;
6579 		}
6580 	}
6581 yy360:
6582 	YYDEBUG(360, *YYCURSOR);
6583 	yyaccept = 6;
6584 	yych = *(YYMARKER = ++YYCURSOR);
6585 	if (yych <= '9') {
6586 		if (yych <= '/') {
6587 			if (yych <= ',') goto yy216;
6588 			if (yych <= '-') goto yy362;
6589 			if (yych <= '.') goto yy331;
6590 			goto yy216;
6591 		} else {
6592 			if (yych <= '0') goto yy332;
6593 			if (yych <= '1') goto yy302;
6594 			if (yych <= '2') goto yy303;
6595 			goto yy297;
6596 		}
6597 	} else {
6598 		if (yych <= 'q') {
6599 			if (yych <= ':') goto yy221;
6600 			if (yych == 'n') goto yy212;
6601 			goto yy216;
6602 		} else {
6603 			if (yych <= 'r') goto yy213;
6604 			if (yych <= 's') goto yy211;
6605 			if (yych <= 't') goto yy214;
6606 			goto yy216;
6607 		}
6608 	}
6609 yy361:
6610 	YYDEBUG(361, *YYCURSOR);
6611 	yyaccept = 6;
6612 	yych = *(YYMARKER = ++YYCURSOR);
6613 	if (yych <= '9') {
6614 		if (yych <= '/') {
6615 			if (yych <= ',') goto yy216;
6616 			if (yych <= '-') goto yy362;
6617 			if (yych <= '.') goto yy300;
6618 			goto yy216;
6619 		} else {
6620 			if (yych <= '0') goto yy301;
6621 			if (yych <= '1') goto yy302;
6622 			if (yych <= '2') goto yy303;
6623 			goto yy297;
6624 		}
6625 	} else {
6626 		if (yych <= 'q') {
6627 			if (yych <= ':') goto yy264;
6628 			if (yych == 'n') goto yy212;
6629 			goto yy216;
6630 		} else {
6631 			if (yych <= 'r') goto yy213;
6632 			if (yych <= 's') goto yy211;
6633 			if (yych <= 't') goto yy214;
6634 			goto yy216;
6635 		}
6636 	}
6637 yy362:
6638 	YYDEBUG(362, *YYCURSOR);
6639 	yych = *++YYCURSOR;
6640 	if (yych <= '/') goto yy57;
6641 	if (yych >= ':') goto yy57;
6642 	YYDEBUG(363, *YYCURSOR);
6643 	++YYCURSOR;
6644 	if ((yych = *YYCURSOR) <= '/') goto yy364;
6645 	if (yych <= '9') goto yy365;
6646 yy364:
6647 	YYDEBUG(364, *YYCURSOR);
6648 #line 1531 "ext/date/lib/parse_date.re"
6649 	{
6650 		int length = 0;
6651 		DEBUG_OUTPUT("pgtextshort");
6652 		TIMELIB_INIT;
6653 		TIMELIB_HAVE_DATE();
6654 		s->time->m = timelib_get_month((char **) &ptr);
6655 		s->time->d = timelib_get_nr((char **) &ptr, 2);
6656 		s->time->y = timelib_get_nr_ex((char **) &ptr, 4, &length);
6657 		TIMELIB_PROCESS_YEAR(s->time->y, length);
6658 		TIMELIB_DEINIT;
6659 		return TIMELIB_PG_TEXT;
6660 	}
6661 #line 6662 "ext/date/lib/parse_date.c"
6662 yy365:
6663 	YYDEBUG(365, *YYCURSOR);
6664 	yych = *++YYCURSOR;
6665 	if (yych <= '/') goto yy364;
6666 	if (yych >= ':') goto yy364;
6667 	YYDEBUG(366, *YYCURSOR);
6668 	yych = *++YYCURSOR;
6669 	if (yych <= '/') goto yy364;
6670 	if (yych >= ':') goto yy364;
6671 	YYDEBUG(367, *YYCURSOR);
6672 	yych = *++YYCURSOR;
6673 	goto yy364;
6674 yy368:
6675 	YYDEBUG(368, *YYCURSOR);
6676 	yyaccept = 6;
6677 	yych = *(YYMARKER = ++YYCURSOR);
6678 	if (yych <= '9') {
6679 		if (yych <= '/') {
6680 			if (yych <= ',') goto yy216;
6681 			if (yych <= '-') goto yy362;
6682 			if (yych <= '.') goto yy300;
6683 			goto yy216;
6684 		} else {
6685 			if (yych <= '0') goto yy332;
6686 			if (yych <= '1') goto yy302;
6687 			if (yych <= '2') goto yy303;
6688 			goto yy297;
6689 		}
6690 	} else {
6691 		if (yych <= 'q') {
6692 			if (yych <= ':') goto yy264;
6693 			if (yych == 'n') goto yy212;
6694 			goto yy216;
6695 		} else {
6696 			if (yych <= 'r') goto yy213;
6697 			if (yych <= 's') goto yy211;
6698 			if (yych <= 't') goto yy214;
6699 			goto yy216;
6700 		}
6701 	}
6702 yy369:
6703 	YYDEBUG(369, *YYCURSOR);
6704 	yyaccept = 6;
6705 	yych = *(YYMARKER = ++YYCURSOR);
6706 	if (yych <= '9') {
6707 		if (yych <= '/') {
6708 			if (yych <= ',') goto yy216;
6709 			if (yych <= '-') goto yy362;
6710 			if (yych <= '.') goto yy300;
6711 			goto yy216;
6712 		} else {
6713 			if (yych <= '0') goto yy332;
6714 			if (yych <= '1') goto yy302;
6715 			if (yych <= '2') goto yy303;
6716 			goto yy297;
6717 		}
6718 	} else {
6719 		if (yych <= 'q') {
6720 			if (yych <= ':') goto yy264;
6721 			if (yych == 'n') goto yy212;
6722 			goto yy216;
6723 		} else {
6724 			if (yych <= 'r') goto yy213;
6725 			if (yych <= 's') goto yy211;
6726 			if (yych <= 't') goto yy214;
6727 			goto yy216;
6728 		}
6729 	}
6730 yy370:
6731 	YYDEBUG(370, *YYCURSOR);
6732 	yyaccept = 0;
6733 	yych = *(YYMARKER = ++YYCURSOR);
6734 	if (yych <= 'B') {
6735 		if (yych <= '-') {
6736 			if (yych == ')') goto yy140;
6737 			if (yych <= ',') goto yy4;
6738 			goto yy148;
6739 		} else {
6740 			if (yych == '/') goto yy148;
6741 			if (yych <= '@') goto yy4;
6742 			goto yy142;
6743 		}
6744 	} else {
6745 		if (yych <= '_') {
6746 			if (yych <= 'C') goto yy193;
6747 			if (yych <= 'Z') goto yy142;
6748 			if (yych <= '^') goto yy4;
6749 			goto yy148;
6750 		} else {
6751 			if (yych <= 'b') {
6752 				if (yych <= '`') goto yy4;
6753 				goto yy147;
6754 			} else {
6755 				if (yych <= 'c') goto yy371;
6756 				if (yych <= 'z') goto yy147;
6757 				goto yy4;
6758 			}
6759 		}
6760 	}
6761 yy371:
6762 	YYDEBUG(371, *YYCURSOR);
6763 	yyaccept = 5;
6764 	yych = *(YYMARKER = ++YYCURSOR);
6765 	if (yych <= '9') {
6766 		if (yych <= '(') {
6767 			if (yych <= '\t') {
6768 				if (yych <= 0x08) goto yy194;
6769 				goto yy196;
6770 			} else {
6771 				if (yych == ' ') goto yy196;
6772 				goto yy194;
6773 			}
6774 		} else {
6775 			if (yych <= '-') {
6776 				if (yych <= ')') goto yy140;
6777 				if (yych <= ',') goto yy194;
6778 			} else {
6779 				if (yych == '/') goto yy148;
6780 				goto yy196;
6781 			}
6782 		}
6783 	} else {
6784 		if (yych <= '^') {
6785 			if (yych <= 'D') {
6786 				if (yych <= '@') goto yy194;
6787 				goto yy143;
6788 			} else {
6789 				if (yych <= 'E') goto yy202;
6790 				if (yych <= 'Z') goto yy143;
6791 				goto yy194;
6792 			}
6793 		} else {
6794 			if (yych <= 'd') {
6795 				if (yych <= '_') goto yy148;
6796 				if (yych <= '`') goto yy194;
6797 				goto yy151;
6798 			} else {
6799 				if (yych <= 'e') goto yy373;
6800 				if (yych <= 'z') goto yy151;
6801 				goto yy194;
6802 			}
6803 		}
6804 	}
6805 yy372:
6806 	YYDEBUG(372, *YYCURSOR);
6807 	yych = *++YYCURSOR;
6808 	if (yybm[0+yych] & 8) {
6809 		goto yy149;
6810 	}
6811 	if (yych <= '/') goto yy196;
6812 	if (yych <= '0') goto yy357;
6813 	if (yych <= '2') goto yy358;
6814 	if (yych <= '3') goto yy359;
6815 	goto yy196;
6816 yy373:
6817 	YYDEBUG(373, *YYCURSOR);
6818 	yyaccept = 0;
6819 	yych = *(YYMARKER = ++YYCURSOR);
6820 	if (yych <= 'L') {
6821 		if (yych <= '-') {
6822 			if (yych == ')') goto yy140;
6823 			if (yych <= ',') goto yy4;
6824 			goto yy148;
6825 		} else {
6826 			if (yych == '/') goto yy148;
6827 			if (yych <= '@') goto yy4;
6828 			goto yy144;
6829 		}
6830 	} else {
6831 		if (yych <= '_') {
6832 			if (yych <= 'M') goto yy203;
6833 			if (yych <= 'Z') goto yy144;
6834 			if (yych <= '^') goto yy4;
6835 			goto yy148;
6836 		} else {
6837 			if (yych <= 'l') {
6838 				if (yych <= '`') goto yy4;
6839 				goto yy152;
6840 			} else {
6841 				if (yych <= 'm') goto yy374;
6842 				if (yych <= 'z') goto yy152;
6843 				goto yy4;
6844 			}
6845 		}
6846 	}
6847 yy374:
6848 	YYDEBUG(374, *YYCURSOR);
6849 	yyaccept = 0;
6850 	yych = *(YYMARKER = ++YYCURSOR);
6851 	if (yych <= 'A') {
6852 		if (yych <= '-') {
6853 			if (yych == ')') goto yy140;
6854 			if (yych <= ',') goto yy4;
6855 			goto yy148;
6856 		} else {
6857 			if (yych == '/') goto yy148;
6858 			if (yych <= '@') goto yy4;
6859 			goto yy145;
6860 		}
6861 	} else {
6862 		if (yych <= '_') {
6863 			if (yych <= 'B') goto yy204;
6864 			if (yych <= 'Z') goto yy145;
6865 			if (yych <= '^') goto yy4;
6866 			goto yy148;
6867 		} else {
6868 			if (yych <= 'a') {
6869 				if (yych <= '`') goto yy4;
6870 				goto yy153;
6871 			} else {
6872 				if (yych <= 'b') goto yy375;
6873 				if (yych <= 'z') goto yy153;
6874 				goto yy4;
6875 			}
6876 		}
6877 	}
6878 yy375:
6879 	YYDEBUG(375, *YYCURSOR);
6880 	yyaccept = 0;
6881 	yych = *(YYMARKER = ++YYCURSOR);
6882 	if (yych <= 'D') {
6883 		if (yych <= ',') {
6884 			if (yych == ')') goto yy140;
6885 			goto yy4;
6886 		} else {
6887 			if (yych == '.') goto yy4;
6888 			if (yych <= '/') goto yy148;
6889 			goto yy4;
6890 		}
6891 	} else {
6892 		if (yych <= '`') {
6893 			if (yych <= 'E') goto yy205;
6894 			if (yych == '_') goto yy148;
6895 			goto yy4;
6896 		} else {
6897 			if (yych == 'e') goto yy376;
6898 			if (yych <= 'z') goto yy154;
6899 			goto yy4;
6900 		}
6901 	}
6902 yy376:
6903 	YYDEBUG(376, *YYCURSOR);
6904 	yych = *++YYCURSOR;
6905 	if (yych == 'R') goto yy206;
6906 	if (yych != 'r') goto yy155;
6907 yy377:
6908 	YYDEBUG(377, *YYCURSOR);
6909 	yyaccept = 5;
6910 	yych = *(YYMARKER = ++YYCURSOR);
6911 	if (yybm[0+yych] & 16) {
6912 		goto yy154;
6913 	}
6914 	if (yych <= '-') {
6915 		if (yych <= 0x1F) {
6916 			if (yych == '\t') goto yy196;
6917 			goto yy194;
6918 		} else {
6919 			if (yych <= ' ') goto yy196;
6920 			if (yych <= ',') goto yy194;
6921 		}
6922 	} else {
6923 		if (yych <= '9') {
6924 			if (yych == '/') goto yy148;
6925 			goto yy196;
6926 		} else {
6927 			if (yych == '_') goto yy148;
6928 			goto yy194;
6929 		}
6930 	}
6931 yy378:
6932 	YYDEBUG(378, *YYCURSOR);
6933 	yych = *++YYCURSOR;
6934 	if (yybm[0+yych] & 8) {
6935 		goto yy149;
6936 	}
6937 	goto yy196;
6938 yy379:
6939 	YYDEBUG(379, *YYCURSOR);
6940 	yych = *++YYCURSOR;
6941 	if (yych <= 'T') {
6942 		if (yych <= ')') {
6943 			if (yych <= '(') goto yy4;
6944 			goto yy140;
6945 		} else {
6946 			if (yych <= '@') goto yy4;
6947 			if (yych <= 'S') goto yy142;
6948 		}
6949 	} else {
6950 		if (yych <= 's') {
6951 			if (yych <= 'Z') goto yy142;
6952 			if (yych <= '`') goto yy4;
6953 			goto yy142;
6954 		} else {
6955 			if (yych <= 't') goto yy380;
6956 			if (yych <= 'z') goto yy142;
6957 			goto yy4;
6958 		}
6959 	}
6960 yy380:
6961 	YYDEBUG(380, *YYCURSOR);
6962 	yyaccept = 5;
6963 	yych = *(YYMARKER = ++YYCURSOR);
6964 	if (yych <= '/') {
6965 		if (yych <= '(') {
6966 			if (yych <= '\t') {
6967 				if (yych <= 0x08) goto yy194;
6968 				goto yy196;
6969 			} else {
6970 				if (yych == ' ') goto yy196;
6971 				goto yy194;
6972 			}
6973 		} else {
6974 			if (yych <= ',') {
6975 				if (yych <= ')') goto yy140;
6976 				goto yy194;
6977 			} else {
6978 				if (yych <= '-') goto yy197;
6979 				if (yych <= '.') goto yy196;
6980 				goto yy194;
6981 			}
6982 		}
6983 	} else {
6984 		if (yych <= 'Z') {
6985 			if (yych <= '@') {
6986 				if (yych <= '9') goto yy196;
6987 				goto yy194;
6988 			} else {
6989 				if (yych != 'O') goto yy143;
6990 			}
6991 		} else {
6992 			if (yych <= 'n') {
6993 				if (yych <= '`') goto yy194;
6994 				goto yy143;
6995 			} else {
6996 				if (yych <= 'o') goto yy381;
6997 				if (yych <= 'z') goto yy143;
6998 				goto yy194;
6999 			}
7000 		}
7001 	}
7002 yy381:
7003 	YYDEBUG(381, *YYCURSOR);
7004 	yych = *++YYCURSOR;
7005 	if (yych <= 'B') {
7006 		if (yych <= ')') {
7007 			if (yych <= '(') goto yy4;
7008 			goto yy140;
7009 		} else {
7010 			if (yych <= '@') goto yy4;
7011 			if (yych <= 'A') goto yy144;
7012 		}
7013 	} else {
7014 		if (yych <= 'a') {
7015 			if (yych <= 'Z') goto yy144;
7016 			if (yych <= '`') goto yy4;
7017 			goto yy144;
7018 		} else {
7019 			if (yych <= 'b') goto yy382;
7020 			if (yych <= 'z') goto yy144;
7021 			goto yy4;
7022 		}
7023 	}
7024 yy382:
7025 	YYDEBUG(382, *YYCURSOR);
7026 	yych = *++YYCURSOR;
7027 	if (yych <= 'E') {
7028 		if (yych <= ')') {
7029 			if (yych <= '(') goto yy4;
7030 			goto yy140;
7031 		} else {
7032 			if (yych <= '@') goto yy4;
7033 			if (yych <= 'D') goto yy145;
7034 		}
7035 	} else {
7036 		if (yych <= 'd') {
7037 			if (yych <= 'Z') goto yy145;
7038 			if (yych <= '`') goto yy4;
7039 			goto yy145;
7040 		} else {
7041 			if (yych <= 'e') goto yy383;
7042 			if (yych <= 'z') goto yy145;
7043 			goto yy4;
7044 		}
7045 	}
7046 yy383:
7047 	YYDEBUG(383, *YYCURSOR);
7048 	yych = *++YYCURSOR;
7049 	if (yych <= 'Q') {
7050 		if (yych == ')') goto yy140;
7051 		goto yy4;
7052 	} else {
7053 		if (yych <= 'R') goto yy206;
7054 		if (yych == 'r') goto yy206;
7055 		goto yy4;
7056 	}
7057 yy384:
7058 	YYDEBUG(384, *YYCURSOR);
7059 	yyaccept = 0;
7060 	yych = *(YYMARKER = ++YYCURSOR);
7061 	if (yych <= 'S') {
7062 		if (yych <= '-') {
7063 			if (yych == ')') goto yy140;
7064 			if (yych <= ',') goto yy4;
7065 			goto yy148;
7066 		} else {
7067 			if (yych == '/') goto yy148;
7068 			if (yych <= '@') goto yy4;
7069 			goto yy142;
7070 		}
7071 	} else {
7072 		if (yych <= '_') {
7073 			if (yych <= 'T') goto yy380;
7074 			if (yych <= 'Z') goto yy142;
7075 			if (yych <= '^') goto yy4;
7076 			goto yy148;
7077 		} else {
7078 			if (yych <= 's') {
7079 				if (yych <= '`') goto yy4;
7080 				goto yy147;
7081 			} else {
7082 				if (yych <= 't') goto yy385;
7083 				if (yych <= 'z') goto yy147;
7084 				goto yy4;
7085 			}
7086 		}
7087 	}
7088 yy385:
7089 	YYDEBUG(385, *YYCURSOR);
7090 	yyaccept = 5;
7091 	yych = *(YYMARKER = ++YYCURSOR);
7092 	if (yych <= '9') {
7093 		if (yych <= '(') {
7094 			if (yych <= '\t') {
7095 				if (yych <= 0x08) goto yy194;
7096 				goto yy196;
7097 			} else {
7098 				if (yych == ' ') goto yy196;
7099 				goto yy194;
7100 			}
7101 		} else {
7102 			if (yych <= '-') {
7103 				if (yych <= ')') goto yy140;
7104 				if (yych <= ',') goto yy194;
7105 				goto yy372;
7106 			} else {
7107 				if (yych == '/') goto yy148;
7108 				goto yy196;
7109 			}
7110 		}
7111 	} else {
7112 		if (yych <= '^') {
7113 			if (yych <= 'N') {
7114 				if (yych <= '@') goto yy194;
7115 				goto yy143;
7116 			} else {
7117 				if (yych <= 'O') goto yy381;
7118 				if (yych <= 'Z') goto yy143;
7119 				goto yy194;
7120 			}
7121 		} else {
7122 			if (yych <= 'n') {
7123 				if (yych <= '_') goto yy148;
7124 				if (yych <= '`') goto yy194;
7125 				goto yy151;
7126 			} else {
7127 				if (yych <= 'o') goto yy386;
7128 				if (yych <= 'z') goto yy151;
7129 				goto yy194;
7130 			}
7131 		}
7132 	}
7133 yy386:
7134 	YYDEBUG(386, *YYCURSOR);
7135 	yyaccept = 0;
7136 	yych = *(YYMARKER = ++YYCURSOR);
7137 	if (yych <= 'A') {
7138 		if (yych <= '-') {
7139 			if (yych == ')') goto yy140;
7140 			if (yych <= ',') goto yy4;
7141 			goto yy148;
7142 		} else {
7143 			if (yych == '/') goto yy148;
7144 			if (yych <= '@') goto yy4;
7145 			goto yy144;
7146 		}
7147 	} else {
7148 		if (yych <= '_') {
7149 			if (yych <= 'B') goto yy382;
7150 			if (yych <= 'Z') goto yy144;
7151 			if (yych <= '^') goto yy4;
7152 			goto yy148;
7153 		} else {
7154 			if (yych <= 'a') {
7155 				if (yych <= '`') goto yy4;
7156 				goto yy152;
7157 			} else {
7158 				if (yych <= 'b') goto yy387;
7159 				if (yych <= 'z') goto yy152;
7160 				goto yy4;
7161 			}
7162 		}
7163 	}
7164 yy387:
7165 	YYDEBUG(387, *YYCURSOR);
7166 	yyaccept = 0;
7167 	yych = *(YYMARKER = ++YYCURSOR);
7168 	if (yych <= 'D') {
7169 		if (yych <= '-') {
7170 			if (yych == ')') goto yy140;
7171 			if (yych <= ',') goto yy4;
7172 			goto yy148;
7173 		} else {
7174 			if (yych == '/') goto yy148;
7175 			if (yych <= '@') goto yy4;
7176 			goto yy145;
7177 		}
7178 	} else {
7179 		if (yych <= '_') {
7180 			if (yych <= 'E') goto yy383;
7181 			if (yych <= 'Z') goto yy145;
7182 			if (yych <= '^') goto yy4;
7183 			goto yy148;
7184 		} else {
7185 			if (yych <= 'd') {
7186 				if (yych <= '`') goto yy4;
7187 				goto yy153;
7188 			} else {
7189 				if (yych <= 'e') goto yy388;
7190 				if (yych <= 'z') goto yy153;
7191 				goto yy4;
7192 			}
7193 		}
7194 	}
7195 yy388:
7196 	YYDEBUG(388, *YYCURSOR);
7197 	yyaccept = 0;
7198 	yych = *(YYMARKER = ++YYCURSOR);
7199 	if (yych <= 'Q') {
7200 		if (yych <= ',') {
7201 			if (yych == ')') goto yy140;
7202 			goto yy4;
7203 		} else {
7204 			if (yych == '.') goto yy4;
7205 			if (yych <= '/') goto yy148;
7206 			goto yy4;
7207 		}
7208 	} else {
7209 		if (yych <= '`') {
7210 			if (yych <= 'R') goto yy206;
7211 			if (yych == '_') goto yy148;
7212 			goto yy4;
7213 		} else {
7214 			if (yych == 'r') goto yy377;
7215 			if (yych <= 'z') goto yy154;
7216 			goto yy4;
7217 		}
7218 	}
7219 yy389:
7220 	YYDEBUG(389, *YYCURSOR);
7221 	yych = *++YYCURSOR;
7222 	if (yych <= 'G') {
7223 		if (yych <= ')') {
7224 			if (yych <= '(') goto yy4;
7225 			goto yy140;
7226 		} else {
7227 			if (yych <= '@') goto yy4;
7228 			if (yych <= 'F') goto yy142;
7229 			goto yy397;
7230 		}
7231 	} else {
7232 		if (yych <= 'f') {
7233 			if (yych <= 'Z') goto yy142;
7234 			if (yych <= '`') goto yy4;
7235 			goto yy142;
7236 		} else {
7237 			if (yych <= 'g') goto yy397;
7238 			if (yych <= 'z') goto yy142;
7239 			goto yy4;
7240 		}
7241 	}
7242 yy390:
7243 	YYDEBUG(390, *YYCURSOR);
7244 	yych = *++YYCURSOR;
7245 	if (yych <= 'R') {
7246 		if (yych <= ')') {
7247 			if (yych <= '(') goto yy4;
7248 			goto yy140;
7249 		} else {
7250 			if (yych <= '@') goto yy4;
7251 			if (yych <= 'Q') goto yy142;
7252 			goto yy394;
7253 		}
7254 	} else {
7255 		if (yych <= 'q') {
7256 			if (yych <= 'Z') goto yy142;
7257 			if (yych <= '`') goto yy4;
7258 			goto yy142;
7259 		} else {
7260 			if (yych <= 'r') goto yy394;
7261 			if (yych <= 'z') goto yy142;
7262 			goto yy4;
7263 		}
7264 	}
7265 yy391:
7266 	YYDEBUG(391, *YYCURSOR);
7267 	yych = *++YYCURSOR;
7268 	if (yych <= 'O') {
7269 		if (yych <= ')') {
7270 			if (yych <= '(') goto yy4;
7271 			goto yy140;
7272 		} else {
7273 			if (yych <= '@') goto yy4;
7274 			if (yych <= 'N') goto yy142;
7275 		}
7276 	} else {
7277 		if (yych <= 'n') {
7278 			if (yych <= 'Z') goto yy142;
7279 			if (yych <= '`') goto yy4;
7280 			goto yy142;
7281 		} else {
7282 			if (yych <= 'o') goto yy392;
7283 			if (yych <= 'z') goto yy142;
7284 			goto yy4;
7285 		}
7286 	}
7287 yy392:
7288 	YYDEBUG(392, *YYCURSOR);
7289 	++YYCURSOR;
7290 	if ((yych = *YYCURSOR) <= '@') {
7291 		if (yych == ')') goto yy140;
7292 	} else {
7293 		if (yych <= 'Z') goto yy143;
7294 		if (yych <= '`') goto yy393;
7295 		if (yych <= 'z') goto yy143;
7296 	}
7297 yy393:
7298 	YYDEBUG(393, *YYCURSOR);
7299 #line 1589 "ext/date/lib/parse_date.re"
7300 	{
7301 		DEBUG_OUTPUT("ago");
7302 		TIMELIB_INIT;
7303 		s->time->relative.y = 0 - s->time->relative.y;
7304 		s->time->relative.m = 0 - s->time->relative.m;
7305 		s->time->relative.d = 0 - s->time->relative.d;
7306 		s->time->relative.h = 0 - s->time->relative.h;
7307 		s->time->relative.i = 0 - s->time->relative.i;
7308 		s->time->relative.s = 0 - s->time->relative.s;
7309 		s->time->relative.weekday = 0 - s->time->relative.weekday;
7310 		if (s->time->relative.weekday == 0) {
7311 			s->time->relative.weekday = -7;
7312 		}
7313 		if (s->time->relative.have_special_relative && s->time->relative.special.type == TIMELIB_SPECIAL_WEEKDAY) {
7314 			s->time->relative.special.amount = 0 - s->time->relative.special.amount;
7315 		}
7316 		TIMELIB_DEINIT;
7317 		return TIMELIB_AGO;
7318 	}
7319 #line 7320 "ext/date/lib/parse_date.c"
7320 yy394:
7321 	YYDEBUG(394, *YYCURSOR);
7322 	yyaccept = 5;
7323 	yych = *(YYMARKER = ++YYCURSOR);
7324 	if (yych <= '/') {
7325 		if (yych <= '(') {
7326 			if (yych <= '\t') {
7327 				if (yych <= 0x08) goto yy194;
7328 				goto yy196;
7329 			} else {
7330 				if (yych == ' ') goto yy196;
7331 				goto yy194;
7332 			}
7333 		} else {
7334 			if (yych <= ',') {
7335 				if (yych <= ')') goto yy140;
7336 				goto yy194;
7337 			} else {
7338 				if (yych <= '-') goto yy197;
7339 				if (yych <= '.') goto yy196;
7340 				goto yy194;
7341 			}
7342 		}
7343 	} else {
7344 		if (yych <= 'Z') {
7345 			if (yych <= '@') {
7346 				if (yych <= '9') goto yy196;
7347 				goto yy194;
7348 			} else {
7349 				if (yych != 'I') goto yy143;
7350 			}
7351 		} else {
7352 			if (yych <= 'h') {
7353 				if (yych <= '`') goto yy194;
7354 				goto yy143;
7355 			} else {
7356 				if (yych <= 'i') goto yy395;
7357 				if (yych <= 'z') goto yy143;
7358 				goto yy194;
7359 			}
7360 		}
7361 	}
7362 yy395:
7363 	YYDEBUG(395, *YYCURSOR);
7364 	yych = *++YYCURSOR;
7365 	if (yych <= 'L') {
7366 		if (yych <= ')') {
7367 			if (yych <= '(') goto yy4;
7368 			goto yy140;
7369 		} else {
7370 			if (yych <= '@') goto yy4;
7371 			if (yych <= 'K') goto yy144;
7372 		}
7373 	} else {
7374 		if (yych <= 'k') {
7375 			if (yych <= 'Z') goto yy144;
7376 			if (yych <= '`') goto yy4;
7377 			goto yy144;
7378 		} else {
7379 			if (yych <= 'l') goto yy396;
7380 			if (yych <= 'z') goto yy144;
7381 			goto yy4;
7382 		}
7383 	}
7384 yy396:
7385 	YYDEBUG(396, *YYCURSOR);
7386 	yyaccept = 5;
7387 	yych = *(YYMARKER = ++YYCURSOR);
7388 	if (yych <= ',') {
7389 		if (yych <= 0x1F) {
7390 			if (yych == '\t') goto yy196;
7391 			goto yy194;
7392 		} else {
7393 			if (yych <= ' ') goto yy196;
7394 			if (yych == ')') goto yy140;
7395 			goto yy194;
7396 		}
7397 	} else {
7398 		if (yych <= '@') {
7399 			if (yych == '/') goto yy194;
7400 			if (yych <= '9') goto yy196;
7401 			goto yy194;
7402 		} else {
7403 			if (yych <= 'Z') goto yy145;
7404 			if (yych <= '`') goto yy194;
7405 			if (yych <= 'z') goto yy145;
7406 			goto yy194;
7407 		}
7408 	}
7409 yy397:
7410 	YYDEBUG(397, *YYCURSOR);
7411 	yyaccept = 5;
7412 	yych = *(YYMARKER = ++YYCURSOR);
7413 	if (yych <= '/') {
7414 		if (yych <= '(') {
7415 			if (yych <= '\t') {
7416 				if (yych <= 0x08) goto yy194;
7417 				goto yy196;
7418 			} else {
7419 				if (yych == ' ') goto yy196;
7420 				goto yy194;
7421 			}
7422 		} else {
7423 			if (yych <= ',') {
7424 				if (yych <= ')') goto yy140;
7425 				goto yy194;
7426 			} else {
7427 				if (yych <= '-') goto yy197;
7428 				if (yych <= '.') goto yy196;
7429 				goto yy194;
7430 			}
7431 		}
7432 	} else {
7433 		if (yych <= 'Z') {
7434 			if (yych <= '@') {
7435 				if (yych <= '9') goto yy196;
7436 				goto yy194;
7437 			} else {
7438 				if (yych != 'U') goto yy143;
7439 			}
7440 		} else {
7441 			if (yych <= 't') {
7442 				if (yych <= '`') goto yy194;
7443 				goto yy143;
7444 			} else {
7445 				if (yych <= 'u') goto yy398;
7446 				if (yych <= 'z') goto yy143;
7447 				goto yy194;
7448 			}
7449 		}
7450 	}
7451 yy398:
7452 	YYDEBUG(398, *YYCURSOR);
7453 	yych = *++YYCURSOR;
7454 	if (yych <= 'S') {
7455 		if (yych <= ')') {
7456 			if (yych <= '(') goto yy4;
7457 			goto yy140;
7458 		} else {
7459 			if (yych <= '@') goto yy4;
7460 			if (yych <= 'R') goto yy144;
7461 		}
7462 	} else {
7463 		if (yych <= 'r') {
7464 			if (yych <= 'Z') goto yy144;
7465 			if (yych <= '`') goto yy4;
7466 			goto yy144;
7467 		} else {
7468 			if (yych <= 's') goto yy399;
7469 			if (yych <= 'z') goto yy144;
7470 			goto yy4;
7471 		}
7472 	}
7473 yy399:
7474 	YYDEBUG(399, *YYCURSOR);
7475 	yych = *++YYCURSOR;
7476 	if (yych <= 'T') {
7477 		if (yych <= ')') {
7478 			if (yych <= '(') goto yy4;
7479 			goto yy140;
7480 		} else {
7481 			if (yych <= '@') goto yy4;
7482 			if (yych <= 'S') goto yy145;
7483 		}
7484 	} else {
7485 		if (yych <= 's') {
7486 			if (yych <= 'Z') goto yy145;
7487 			if (yych <= '`') goto yy4;
7488 			goto yy145;
7489 		} else {
7490 			if (yych <= 't') goto yy400;
7491 			if (yych <= 'z') goto yy145;
7492 			goto yy4;
7493 		}
7494 	}
7495 yy400:
7496 	YYDEBUG(400, *YYCURSOR);
7497 	yyaccept = 5;
7498 	yych = *(YYMARKER = ++YYCURSOR);
7499 	if (yych <= '(') {
7500 		if (yych <= '\t') {
7501 			if (yych <= 0x08) goto yy194;
7502 			goto yy196;
7503 		} else {
7504 			if (yych == ' ') goto yy196;
7505 			goto yy194;
7506 		}
7507 	} else {
7508 		if (yych <= '.') {
7509 			if (yych <= ')') goto yy140;
7510 			if (yych <= ',') goto yy194;
7511 			goto yy196;
7512 		} else {
7513 			if (yych <= '/') goto yy194;
7514 			if (yych <= '9') goto yy196;
7515 			goto yy194;
7516 		}
7517 	}
7518 yy401:
7519 	YYDEBUG(401, *YYCURSOR);
7520 	yyaccept = 0;
7521 	yych = *(YYMARKER = ++YYCURSOR);
7522 	if (yych <= 'F') {
7523 		if (yych <= '-') {
7524 			if (yych == ')') goto yy140;
7525 			if (yych <= ',') goto yy4;
7526 			goto yy148;
7527 		} else {
7528 			if (yych == '/') goto yy148;
7529 			if (yych <= '@') goto yy4;
7530 			goto yy142;
7531 		}
7532 	} else {
7533 		if (yych <= '_') {
7534 			if (yych <= 'G') goto yy397;
7535 			if (yych <= 'Z') goto yy142;
7536 			if (yych <= '^') goto yy4;
7537 			goto yy148;
7538 		} else {
7539 			if (yych <= 'f') {
7540 				if (yych <= '`') goto yy4;
7541 				goto yy147;
7542 			} else {
7543 				if (yych <= 'g') goto yy408;
7544 				if (yych <= 'z') goto yy147;
7545 				goto yy4;
7546 			}
7547 		}
7548 	}
7549 yy402:
7550 	YYDEBUG(402, *YYCURSOR);
7551 	yyaccept = 0;
7552 	yych = *(YYMARKER = ++YYCURSOR);
7553 	if (yych <= 'Q') {
7554 		if (yych <= '-') {
7555 			if (yych == ')') goto yy140;
7556 			if (yych <= ',') goto yy4;
7557 			goto yy148;
7558 		} else {
7559 			if (yych == '/') goto yy148;
7560 			if (yych <= '@') goto yy4;
7561 			goto yy142;
7562 		}
7563 	} else {
7564 		if (yych <= '_') {
7565 			if (yych <= 'R') goto yy394;
7566 			if (yych <= 'Z') goto yy142;
7567 			if (yych <= '^') goto yy4;
7568 			goto yy148;
7569 		} else {
7570 			if (yych <= 'q') {
7571 				if (yych <= '`') goto yy4;
7572 				goto yy147;
7573 			} else {
7574 				if (yych <= 'r') goto yy405;
7575 				if (yych <= 'z') goto yy147;
7576 				goto yy4;
7577 			}
7578 		}
7579 	}
7580 yy403:
7581 	YYDEBUG(403, *YYCURSOR);
7582 	yyaccept = 0;
7583 	yych = *(YYMARKER = ++YYCURSOR);
7584 	if (yych <= 'N') {
7585 		if (yych <= '-') {
7586 			if (yych == ')') goto yy140;
7587 			if (yych <= ',') goto yy4;
7588 			goto yy148;
7589 		} else {
7590 			if (yych == '/') goto yy148;
7591 			if (yych <= '@') goto yy4;
7592 			goto yy142;
7593 		}
7594 	} else {
7595 		if (yych <= '_') {
7596 			if (yych <= 'O') goto yy392;
7597 			if (yych <= 'Z') goto yy142;
7598 			if (yych <= '^') goto yy4;
7599 			goto yy148;
7600 		} else {
7601 			if (yych <= 'n') {
7602 				if (yych <= '`') goto yy4;
7603 				goto yy147;
7604 			} else {
7605 				if (yych <= 'o') goto yy404;
7606 				if (yych <= 'z') goto yy147;
7607 				goto yy4;
7608 			}
7609 		}
7610 	}
7611 yy404:
7612 	YYDEBUG(404, *YYCURSOR);
7613 	yyaccept = 9;
7614 	yych = *(YYMARKER = ++YYCURSOR);
7615 	if (yych <= '/') {
7616 		if (yych <= ',') {
7617 			if (yych == ')') goto yy140;
7618 			goto yy393;
7619 		} else {
7620 			if (yych == '.') goto yy393;
7621 			goto yy148;
7622 		}
7623 	} else {
7624 		if (yych <= '^') {
7625 			if (yych <= '@') goto yy393;
7626 			if (yych <= 'Z') goto yy143;
7627 			goto yy393;
7628 		} else {
7629 			if (yych <= '_') goto yy148;
7630 			if (yych <= '`') goto yy393;
7631 			if (yych <= 'z') goto yy151;
7632 			goto yy393;
7633 		}
7634 	}
7635 yy405:
7636 	YYDEBUG(405, *YYCURSOR);
7637 	yyaccept = 5;
7638 	yych = *(YYMARKER = ++YYCURSOR);
7639 	if (yych <= '9') {
7640 		if (yych <= '(') {
7641 			if (yych <= '\t') {
7642 				if (yych <= 0x08) goto yy194;
7643 				goto yy196;
7644 			} else {
7645 				if (yych == ' ') goto yy196;
7646 				goto yy194;
7647 			}
7648 		} else {
7649 			if (yych <= '-') {
7650 				if (yych <= ')') goto yy140;
7651 				if (yych <= ',') goto yy194;
7652 				goto yy372;
7653 			} else {
7654 				if (yych == '/') goto yy148;
7655 				goto yy196;
7656 			}
7657 		}
7658 	} else {
7659 		if (yych <= '^') {
7660 			if (yych <= 'H') {
7661 				if (yych <= '@') goto yy194;
7662 				goto yy143;
7663 			} else {
7664 				if (yych <= 'I') goto yy395;
7665 				if (yych <= 'Z') goto yy143;
7666 				goto yy194;
7667 			}
7668 		} else {
7669 			if (yych <= 'h') {
7670 				if (yych <= '_') goto yy148;
7671 				if (yych <= '`') goto yy194;
7672 				goto yy151;
7673 			} else {
7674 				if (yych <= 'i') goto yy406;
7675 				if (yych <= 'z') goto yy151;
7676 				goto yy194;
7677 			}
7678 		}
7679 	}
7680 yy406:
7681 	YYDEBUG(406, *YYCURSOR);
7682 	yyaccept = 0;
7683 	yych = *(YYMARKER = ++YYCURSOR);
7684 	if (yych <= 'K') {
7685 		if (yych <= '-') {
7686 			if (yych == ')') goto yy140;
7687 			if (yych <= ',') goto yy4;
7688 			goto yy148;
7689 		} else {
7690 			if (yych == '/') goto yy148;
7691 			if (yych <= '@') goto yy4;
7692 			goto yy144;
7693 		}
7694 	} else {
7695 		if (yych <= '_') {
7696 			if (yych <= 'L') goto yy396;
7697 			if (yych <= 'Z') goto yy144;
7698 			if (yych <= '^') goto yy4;
7699 			goto yy148;
7700 		} else {
7701 			if (yych <= 'k') {
7702 				if (yych <= '`') goto yy4;
7703 				goto yy152;
7704 			} else {
7705 				if (yych <= 'l') goto yy407;
7706 				if (yych <= 'z') goto yy152;
7707 				goto yy4;
7708 			}
7709 		}
7710 	}
7711 yy407:
7712 	YYDEBUG(407, *YYCURSOR);
7713 	yyaccept = 5;
7714 	yych = *(YYMARKER = ++YYCURSOR);
7715 	if (yych <= '.') {
7716 		if (yych <= ' ') {
7717 			if (yych == '\t') goto yy196;
7718 			if (yych <= 0x1F) goto yy194;
7719 			goto yy196;
7720 		} else {
7721 			if (yych <= ')') {
7722 				if (yych <= '(') goto yy194;
7723 				goto yy140;
7724 			} else {
7725 				if (yych <= ',') goto yy194;
7726 				if (yych <= '-') goto yy378;
7727 				goto yy196;
7728 			}
7729 		}
7730 	} else {
7731 		if (yych <= 'Z') {
7732 			if (yych <= '/') goto yy148;
7733 			if (yych <= '9') goto yy196;
7734 			if (yych <= '@') goto yy194;
7735 			goto yy145;
7736 		} else {
7737 			if (yych <= '_') {
7738 				if (yych <= '^') goto yy194;
7739 				goto yy148;
7740 			} else {
7741 				if (yych <= '`') goto yy194;
7742 				if (yych <= 'z') goto yy153;
7743 				goto yy194;
7744 			}
7745 		}
7746 	}
7747 yy408:
7748 	YYDEBUG(408, *YYCURSOR);
7749 	yyaccept = 5;
7750 	yych = *(YYMARKER = ++YYCURSOR);
7751 	if (yych <= '9') {
7752 		if (yych <= '(') {
7753 			if (yych <= '\t') {
7754 				if (yych <= 0x08) goto yy194;
7755 				goto yy196;
7756 			} else {
7757 				if (yych == ' ') goto yy196;
7758 				goto yy194;
7759 			}
7760 		} else {
7761 			if (yych <= '-') {
7762 				if (yych <= ')') goto yy140;
7763 				if (yych <= ',') goto yy194;
7764 				goto yy372;
7765 			} else {
7766 				if (yych == '/') goto yy148;
7767 				goto yy196;
7768 			}
7769 		}
7770 	} else {
7771 		if (yych <= '^') {
7772 			if (yych <= 'T') {
7773 				if (yych <= '@') goto yy194;
7774 				goto yy143;
7775 			} else {
7776 				if (yych <= 'U') goto yy398;
7777 				if (yych <= 'Z') goto yy143;
7778 				goto yy194;
7779 			}
7780 		} else {
7781 			if (yych <= 't') {
7782 				if (yych <= '_') goto yy148;
7783 				if (yych <= '`') goto yy194;
7784 				goto yy151;
7785 			} else {
7786 				if (yych <= 'u') goto yy409;
7787 				if (yych <= 'z') goto yy151;
7788 				goto yy194;
7789 			}
7790 		}
7791 	}
7792 yy409:
7793 	YYDEBUG(409, *YYCURSOR);
7794 	yyaccept = 0;
7795 	yych = *(YYMARKER = ++YYCURSOR);
7796 	if (yych <= 'R') {
7797 		if (yych <= '-') {
7798 			if (yych == ')') goto yy140;
7799 			if (yych <= ',') goto yy4;
7800 			goto yy148;
7801 		} else {
7802 			if (yych == '/') goto yy148;
7803 			if (yych <= '@') goto yy4;
7804 			goto yy144;
7805 		}
7806 	} else {
7807 		if (yych <= '_') {
7808 			if (yych <= 'S') goto yy399;
7809 			if (yych <= 'Z') goto yy144;
7810 			if (yych <= '^') goto yy4;
7811 			goto yy148;
7812 		} else {
7813 			if (yych <= 'r') {
7814 				if (yych <= '`') goto yy4;
7815 				goto yy152;
7816 			} else {
7817 				if (yych <= 's') goto yy410;
7818 				if (yych <= 'z') goto yy152;
7819 				goto yy4;
7820 			}
7821 		}
7822 	}
7823 yy410:
7824 	YYDEBUG(410, *YYCURSOR);
7825 	yyaccept = 0;
7826 	yych = *(YYMARKER = ++YYCURSOR);
7827 	if (yych <= 'S') {
7828 		if (yych <= '-') {
7829 			if (yych == ')') goto yy140;
7830 			if (yych <= ',') goto yy4;
7831 			goto yy148;
7832 		} else {
7833 			if (yych == '/') goto yy148;
7834 			if (yych <= '@') goto yy4;
7835 			goto yy145;
7836 		}
7837 	} else {
7838 		if (yych <= '_') {
7839 			if (yych <= 'T') goto yy400;
7840 			if (yych <= 'Z') goto yy145;
7841 			if (yych <= '^') goto yy4;
7842 			goto yy148;
7843 		} else {
7844 			if (yych <= 's') {
7845 				if (yych <= '`') goto yy4;
7846 				goto yy153;
7847 			} else {
7848 				if (yych <= 't') goto yy411;
7849 				if (yych <= 'z') goto yy153;
7850 				goto yy4;
7851 			}
7852 		}
7853 	}
7854 yy411:
7855 	YYDEBUG(411, *YYCURSOR);
7856 	yyaccept = 5;
7857 	yych = *(YYMARKER = ++YYCURSOR);
7858 	if (yybm[0+yych] & 16) {
7859 		goto yy154;
7860 	}
7861 	if (yych <= ',') {
7862 		if (yych <= 0x1F) {
7863 			if (yych == '\t') goto yy196;
7864 			goto yy194;
7865 		} else {
7866 			if (yych <= ' ') goto yy196;
7867 			if (yych == ')') goto yy140;
7868 			goto yy194;
7869 		}
7870 	} else {
7871 		if (yych <= '/') {
7872 			if (yych <= '-') goto yy378;
7873 			if (yych <= '.') goto yy196;
7874 			goto yy148;
7875 		} else {
7876 			if (yych <= '9') goto yy196;
7877 			if (yych == '_') goto yy148;
7878 			goto yy194;
7879 		}
7880 	}
7881 yy412:
7882 	YYDEBUG(412, *YYCURSOR);
7883 	yych = *++YYCURSOR;
7884 	if (yych <= 'N') {
7885 		if (yych <= '@') {
7886 			if (yych == ')') goto yy140;
7887 			goto yy4;
7888 		} else {
7889 			if (yych == 'L') goto yy419;
7890 			if (yych <= 'M') goto yy142;
7891 			goto yy418;
7892 		}
7893 	} else {
7894 		if (yych <= 'l') {
7895 			if (yych <= 'Z') goto yy142;
7896 			if (yych <= '`') goto yy4;
7897 			if (yych <= 'k') goto yy142;
7898 			goto yy419;
7899 		} else {
7900 			if (yych == 'n') goto yy418;
7901 			if (yych <= 'z') goto yy142;
7902 			goto yy4;
7903 		}
7904 	}
7905 yy413:
7906 	YYDEBUG(413, *YYCURSOR);
7907 	yych = *++YYCURSOR;
7908 	if (yych <= 'N') {
7909 		if (yych <= ')') {
7910 			if (yych <= '(') goto yy4;
7911 			goto yy140;
7912 		} else {
7913 			if (yych <= '@') goto yy4;
7914 			if (yych <= 'M') goto yy142;
7915 		}
7916 	} else {
7917 		if (yych <= 'm') {
7918 			if (yych <= 'Z') goto yy142;
7919 			if (yych <= '`') goto yy4;
7920 			goto yy142;
7921 		} else {
7922 			if (yych <= 'n') goto yy414;
7923 			if (yych <= 'z') goto yy142;
7924 			goto yy4;
7925 		}
7926 	}
7927 yy414:
7928 	YYDEBUG(414, *YYCURSOR);
7929 	yyaccept = 5;
7930 	yych = *(YYMARKER = ++YYCURSOR);
7931 	if (yych <= '/') {
7932 		if (yych <= '(') {
7933 			if (yych <= '\t') {
7934 				if (yych <= 0x08) goto yy194;
7935 				goto yy196;
7936 			} else {
7937 				if (yych == ' ') goto yy196;
7938 				goto yy194;
7939 			}
7940 		} else {
7941 			if (yych <= ',') {
7942 				if (yych <= ')') goto yy140;
7943 				goto yy194;
7944 			} else {
7945 				if (yych <= '-') goto yy197;
7946 				if (yych <= '.') goto yy196;
7947 				goto yy194;
7948 			}
7949 		}
7950 	} else {
7951 		if (yych <= 'Z') {
7952 			if (yych <= '@') {
7953 				if (yych <= '9') goto yy196;
7954 				goto yy194;
7955 			} else {
7956 				if (yych != 'U') goto yy143;
7957 			}
7958 		} else {
7959 			if (yych <= 't') {
7960 				if (yych <= '`') goto yy194;
7961 				goto yy143;
7962 			} else {
7963 				if (yych <= 'u') goto yy415;
7964 				if (yych <= 'z') goto yy143;
7965 				goto yy194;
7966 			}
7967 		}
7968 	}
7969 yy415:
7970 	YYDEBUG(415, *YYCURSOR);
7971 	yych = *++YYCURSOR;
7972 	if (yych <= 'A') {
7973 		if (yych == ')') goto yy140;
7974 		if (yych <= '@') goto yy4;
7975 	} else {
7976 		if (yych <= '`') {
7977 			if (yych <= 'Z') goto yy144;
7978 			goto yy4;
7979 		} else {
7980 			if (yych <= 'a') goto yy416;
7981 			if (yych <= 'z') goto yy144;
7982 			goto yy4;
7983 		}
7984 	}
7985 yy416:
7986 	YYDEBUG(416, *YYCURSOR);
7987 	yych = *++YYCURSOR;
7988 	if (yych <= 'R') {
7989 		if (yych <= ')') {
7990 			if (yych <= '(') goto yy4;
7991 			goto yy140;
7992 		} else {
7993 			if (yych <= '@') goto yy4;
7994 			if (yych <= 'Q') goto yy145;
7995 		}
7996 	} else {
7997 		if (yych <= 'q') {
7998 			if (yych <= 'Z') goto yy145;
7999 			if (yych <= '`') goto yy4;
8000 			goto yy145;
8001 		} else {
8002 			if (yych <= 'r') goto yy417;
8003 			if (yych <= 'z') goto yy145;
8004 			goto yy4;
8005 		}
8006 	}
8007 yy417:
8008 	YYDEBUG(417, *YYCURSOR);
8009 	yych = *++YYCURSOR;
8010 	if (yych <= 'X') {
8011 		if (yych == ')') goto yy140;
8012 		goto yy4;
8013 	} else {
8014 		if (yych <= 'Y') goto yy206;
8015 		if (yych == 'y') goto yy206;
8016 		goto yy4;
8017 	}
8018 yy418:
8019 	YYDEBUG(418, *YYCURSOR);
8020 	yyaccept = 5;
8021 	yych = *(YYMARKER = ++YYCURSOR);
8022 	if (yych <= '/') {
8023 		if (yych <= '(') {
8024 			if (yych <= '\t') {
8025 				if (yych <= 0x08) goto yy194;
8026 				goto yy196;
8027 			} else {
8028 				if (yych == ' ') goto yy196;
8029 				goto yy194;
8030 			}
8031 		} else {
8032 			if (yych <= ',') {
8033 				if (yych <= ')') goto yy140;
8034 				goto yy194;
8035 			} else {
8036 				if (yych <= '-') goto yy197;
8037 				if (yych <= '.') goto yy196;
8038 				goto yy194;
8039 			}
8040 		}
8041 	} else {
8042 		if (yych <= 'Z') {
8043 			if (yych <= '@') {
8044 				if (yych <= '9') goto yy196;
8045 				goto yy194;
8046 			} else {
8047 				if (yych == 'E') goto yy420;
8048 				goto yy143;
8049 			}
8050 		} else {
8051 			if (yych <= 'd') {
8052 				if (yych <= '`') goto yy194;
8053 				goto yy143;
8054 			} else {
8055 				if (yych <= 'e') goto yy420;
8056 				if (yych <= 'z') goto yy143;
8057 				goto yy194;
8058 			}
8059 		}
8060 	}
8061 yy419:
8062 	YYDEBUG(419, *YYCURSOR);
8063 	yyaccept = 5;
8064 	yych = *(YYMARKER = ++YYCURSOR);
8065 	if (yych <= '/') {
8066 		if (yych <= '(') {
8067 			if (yych <= '\t') {
8068 				if (yych <= 0x08) goto yy194;
8069 				goto yy196;
8070 			} else {
8071 				if (yych == ' ') goto yy196;
8072 				goto yy194;
8073 			}
8074 		} else {
8075 			if (yych <= ',') {
8076 				if (yych <= ')') goto yy140;
8077 				goto yy194;
8078 			} else {
8079 				if (yych <= '-') goto yy197;
8080 				if (yych <= '.') goto yy196;
8081 				goto yy194;
8082 			}
8083 		}
8084 	} else {
8085 		if (yych <= 'Z') {
8086 			if (yych <= '@') {
8087 				if (yych <= '9') goto yy196;
8088 				goto yy194;
8089 			} else {
8090 				if (yych != 'Y') goto yy143;
8091 			}
8092 		} else {
8093 			if (yych <= 'x') {
8094 				if (yych <= '`') goto yy194;
8095 				goto yy143;
8096 			} else {
8097 				if (yych <= 'y') goto yy420;
8098 				if (yych <= 'z') goto yy143;
8099 				goto yy194;
8100 			}
8101 		}
8102 	}
8103 yy420:
8104 	YYDEBUG(420, *YYCURSOR);
8105 	yyaccept = 5;
8106 	yych = *(YYMARKER = ++YYCURSOR);
8107 	if (yych <= ',') {
8108 		if (yych <= 0x1F) {
8109 			if (yych == '\t') goto yy196;
8110 			goto yy194;
8111 		} else {
8112 			if (yych <= ' ') goto yy196;
8113 			if (yych == ')') goto yy140;
8114 			goto yy194;
8115 		}
8116 	} else {
8117 		if (yych <= '@') {
8118 			if (yych == '/') goto yy194;
8119 			if (yych <= '9') goto yy196;
8120 			goto yy194;
8121 		} else {
8122 			if (yych <= 'Z') goto yy144;
8123 			if (yych <= '`') goto yy194;
8124 			if (yych <= 'z') goto yy144;
8125 			goto yy194;
8126 		}
8127 	}
8128 yy421:
8129 	YYDEBUG(421, *YYCURSOR);
8130 	yyaccept = 0;
8131 	yych = *(YYMARKER = ++YYCURSOR);
8132 	if (yych <= 'M') {
8133 		if (yych <= '.') {
8134 			if (yych <= ')') {
8135 				if (yych <= '(') goto yy4;
8136 				goto yy140;
8137 			} else {
8138 				if (yych == '-') goto yy148;
8139 				goto yy4;
8140 			}
8141 		} else {
8142 			if (yych <= '@') {
8143 				if (yych <= '/') goto yy148;
8144 				goto yy4;
8145 			} else {
8146 				if (yych == 'L') goto yy419;
8147 				goto yy142;
8148 			}
8149 		}
8150 	} else {
8151 		if (yych <= '`') {
8152 			if (yych <= 'Z') {
8153 				if (yych <= 'N') goto yy418;
8154 				goto yy142;
8155 			} else {
8156 				if (yych == '_') goto yy148;
8157 				goto yy4;
8158 			}
8159 		} else {
8160 			if (yych <= 'm') {
8161 				if (yych == 'l') goto yy428;
8162 				goto yy147;
8163 			} else {
8164 				if (yych <= 'n') goto yy427;
8165 				if (yych <= 'z') goto yy147;
8166 				goto yy4;
8167 			}
8168 		}
8169 	}
8170 yy422:
8171 	YYDEBUG(422, *YYCURSOR);
8172 	yyaccept = 0;
8173 	yych = *(YYMARKER = ++YYCURSOR);
8174 	if (yych <= 'M') {
8175 		if (yych <= '-') {
8176 			if (yych == ')') goto yy140;
8177 			if (yych <= ',') goto yy4;
8178 			goto yy148;
8179 		} else {
8180 			if (yych == '/') goto yy148;
8181 			if (yych <= '@') goto yy4;
8182 			goto yy142;
8183 		}
8184 	} else {
8185 		if (yych <= '_') {
8186 			if (yych <= 'N') goto yy414;
8187 			if (yych <= 'Z') goto yy142;
8188 			if (yych <= '^') goto yy4;
8189 			goto yy148;
8190 		} else {
8191 			if (yych <= 'm') {
8192 				if (yych <= '`') goto yy4;
8193 				goto yy147;
8194 			} else {
8195 				if (yych <= 'n') goto yy423;
8196 				if (yych <= 'z') goto yy147;
8197 				goto yy4;
8198 			}
8199 		}
8200 	}
8201 yy423:
8202 	YYDEBUG(423, *YYCURSOR);
8203 	yyaccept = 5;
8204 	yych = *(YYMARKER = ++YYCURSOR);
8205 	if (yych <= '9') {
8206 		if (yych <= '(') {
8207 			if (yych <= '\t') {
8208 				if (yych <= 0x08) goto yy194;
8209 				goto yy196;
8210 			} else {
8211 				if (yych == ' ') goto yy196;
8212 				goto yy194;
8213 			}
8214 		} else {
8215 			if (yych <= '-') {
8216 				if (yych <= ')') goto yy140;
8217 				if (yych <= ',') goto yy194;
8218 				goto yy372;
8219 			} else {
8220 				if (yych == '/') goto yy148;
8221 				goto yy196;
8222 			}
8223 		}
8224 	} else {
8225 		if (yych <= '^') {
8226 			if (yych <= 'T') {
8227 				if (yych <= '@') goto yy194;
8228 				goto yy143;
8229 			} else {
8230 				if (yych <= 'U') goto yy415;
8231 				if (yych <= 'Z') goto yy143;
8232 				goto yy194;
8233 			}
8234 		} else {
8235 			if (yych <= 't') {
8236 				if (yych <= '_') goto yy148;
8237 				if (yych <= '`') goto yy194;
8238 				goto yy151;
8239 			} else {
8240 				if (yych <= 'u') goto yy424;
8241 				if (yych <= 'z') goto yy151;
8242 				goto yy194;
8243 			}
8244 		}
8245 	}
8246 yy424:
8247 	YYDEBUG(424, *YYCURSOR);
8248 	yyaccept = 0;
8249 	yych = *(YYMARKER = ++YYCURSOR);
8250 	if (yych <= '@') {
8251 		if (yych <= ',') {
8252 			if (yych == ')') goto yy140;
8253 			goto yy4;
8254 		} else {
8255 			if (yych == '.') goto yy4;
8256 			if (yych <= '/') goto yy148;
8257 			goto yy4;
8258 		}
8259 	} else {
8260 		if (yych <= '_') {
8261 			if (yych <= 'A') goto yy416;
8262 			if (yych <= 'Z') goto yy144;
8263 			if (yych <= '^') goto yy4;
8264 			goto yy148;
8265 		} else {
8266 			if (yych <= '`') goto yy4;
8267 			if (yych <= 'a') goto yy425;
8268 			if (yych <= 'z') goto yy152;
8269 			goto yy4;
8270 		}
8271 	}
8272 yy425:
8273 	YYDEBUG(425, *YYCURSOR);
8274 	yyaccept = 0;
8275 	yych = *(YYMARKER = ++YYCURSOR);
8276 	if (yych <= 'Q') {
8277 		if (yych <= '-') {
8278 			if (yych == ')') goto yy140;
8279 			if (yych <= ',') goto yy4;
8280 			goto yy148;
8281 		} else {
8282 			if (yych == '/') goto yy148;
8283 			if (yych <= '@') goto yy4;
8284 			goto yy145;
8285 		}
8286 	} else {
8287 		if (yych <= '_') {
8288 			if (yych <= 'R') goto yy417;
8289 			if (yych <= 'Z') goto yy145;
8290 			if (yych <= '^') goto yy4;
8291 			goto yy148;
8292 		} else {
8293 			if (yych <= 'q') {
8294 				if (yych <= '`') goto yy4;
8295 				goto yy153;
8296 			} else {
8297 				if (yych <= 'r') goto yy426;
8298 				if (yych <= 'z') goto yy153;
8299 				goto yy4;
8300 			}
8301 		}
8302 	}
8303 yy426:
8304 	YYDEBUG(426, *YYCURSOR);
8305 	yyaccept = 0;
8306 	yych = *(YYMARKER = ++YYCURSOR);
8307 	if (yych <= 'X') {
8308 		if (yych <= ',') {
8309 			if (yych == ')') goto yy140;
8310 			goto yy4;
8311 		} else {
8312 			if (yych == '.') goto yy4;
8313 			if (yych <= '/') goto yy148;
8314 			goto yy4;
8315 		}
8316 	} else {
8317 		if (yych <= '`') {
8318 			if (yych <= 'Y') goto yy206;
8319 			if (yych == '_') goto yy148;
8320 			goto yy4;
8321 		} else {
8322 			if (yych == 'y') goto yy377;
8323 			if (yych <= 'z') goto yy154;
8324 			goto yy4;
8325 		}
8326 	}
8327 yy427:
8328 	YYDEBUG(427, *YYCURSOR);
8329 	yyaccept = 5;
8330 	yych = *(YYMARKER = ++YYCURSOR);
8331 	if (yych <= '9') {
8332 		if (yych <= '(') {
8333 			if (yych <= '\t') {
8334 				if (yych <= 0x08) goto yy194;
8335 				goto yy196;
8336 			} else {
8337 				if (yych == ' ') goto yy196;
8338 				goto yy194;
8339 			}
8340 		} else {
8341 			if (yych <= '-') {
8342 				if (yych <= ')') goto yy140;
8343 				if (yych <= ',') goto yy194;
8344 				goto yy372;
8345 			} else {
8346 				if (yych == '/') goto yy148;
8347 				goto yy196;
8348 			}
8349 		}
8350 	} else {
8351 		if (yych <= '^') {
8352 			if (yych <= 'D') {
8353 				if (yych <= '@') goto yy194;
8354 				goto yy143;
8355 			} else {
8356 				if (yych <= 'E') goto yy420;
8357 				if (yych <= 'Z') goto yy143;
8358 				goto yy194;
8359 			}
8360 		} else {
8361 			if (yych <= 'd') {
8362 				if (yych <= '_') goto yy148;
8363 				if (yych <= '`') goto yy194;
8364 				goto yy151;
8365 			} else {
8366 				if (yych <= 'e') goto yy429;
8367 				if (yych <= 'z') goto yy151;
8368 				goto yy194;
8369 			}
8370 		}
8371 	}
8372 yy428:
8373 	YYDEBUG(428, *YYCURSOR);
8374 	yyaccept = 5;
8375 	yych = *(YYMARKER = ++YYCURSOR);
8376 	if (yych <= '9') {
8377 		if (yych <= '(') {
8378 			if (yych <= '\t') {
8379 				if (yych <= 0x08) goto yy194;
8380 				goto yy196;
8381 			} else {
8382 				if (yych == ' ') goto yy196;
8383 				goto yy194;
8384 			}
8385 		} else {
8386 			if (yych <= '-') {
8387 				if (yych <= ')') goto yy140;
8388 				if (yych <= ',') goto yy194;
8389 				goto yy372;
8390 			} else {
8391 				if (yych == '/') goto yy148;
8392 				goto yy196;
8393 			}
8394 		}
8395 	} else {
8396 		if (yych <= '^') {
8397 			if (yych <= 'X') {
8398 				if (yych <= '@') goto yy194;
8399 				goto yy143;
8400 			} else {
8401 				if (yych <= 'Y') goto yy420;
8402 				if (yych <= 'Z') goto yy143;
8403 				goto yy194;
8404 			}
8405 		} else {
8406 			if (yych <= 'x') {
8407 				if (yych <= '_') goto yy148;
8408 				if (yych <= '`') goto yy194;
8409 				goto yy151;
8410 			} else {
8411 				if (yych <= 'y') goto yy429;
8412 				if (yych <= 'z') goto yy151;
8413 				goto yy194;
8414 			}
8415 		}
8416 	}
8417 yy429:
8418 	YYDEBUG(429, *YYCURSOR);
8419 	yyaccept = 5;
8420 	yych = *(YYMARKER = ++YYCURSOR);
8421 	if (yych <= '.') {
8422 		if (yych <= ' ') {
8423 			if (yych == '\t') goto yy196;
8424 			if (yych <= 0x1F) goto yy194;
8425 			goto yy196;
8426 		} else {
8427 			if (yych <= ')') {
8428 				if (yych <= '(') goto yy194;
8429 				goto yy140;
8430 			} else {
8431 				if (yych <= ',') goto yy194;
8432 				if (yych <= '-') goto yy378;
8433 				goto yy196;
8434 			}
8435 		}
8436 	} else {
8437 		if (yych <= 'Z') {
8438 			if (yych <= '/') goto yy148;
8439 			if (yych <= '9') goto yy196;
8440 			if (yych <= '@') goto yy194;
8441 			goto yy144;
8442 		} else {
8443 			if (yych <= '_') {
8444 				if (yych <= '^') goto yy194;
8445 				goto yy148;
8446 			} else {
8447 				if (yych <= '`') goto yy194;
8448 				if (yych <= 'z') goto yy152;
8449 				goto yy194;
8450 			}
8451 		}
8452 	}
8453 yy430:
8454 	YYDEBUG(430, *YYCURSOR);
8455 	yyaccept = 0;
8456 	yych = *(YYMARKER = ++YYCURSOR);
8457 	if (yych <= '.') {
8458 		if (yych <= ' ') {
8459 			if (yych == '\t') goto yy196;
8460 			if (yych <= 0x1F) goto yy4;
8461 			goto yy196;
8462 		} else {
8463 			if (yych == ')') goto yy140;
8464 			if (yych <= ',') goto yy4;
8465 			goto yy196;
8466 		}
8467 	} else {
8468 		if (yych <= 'H') {
8469 			if (yych <= '/') goto yy4;
8470 			if (yych <= '9') goto yy196;
8471 			if (yych <= '@') goto yy4;
8472 			goto yy142;
8473 		} else {
8474 			if (yych <= 'Z') {
8475 				if (yych >= 'J') goto yy142;
8476 			} else {
8477 				if (yych <= '`') goto yy4;
8478 				if (yych <= 'z') goto yy142;
8479 				goto yy4;
8480 			}
8481 		}
8482 	}
8483 yy431:
8484 	YYDEBUG(431, *YYCURSOR);
8485 	yyaccept = 0;
8486 	yych = *(YYMARKER = ++YYCURSOR);
8487 	if (yych <= ',') {
8488 		if (yych <= 0x1F) {
8489 			if (yych == '\t') goto yy196;
8490 			goto yy4;
8491 		} else {
8492 			if (yych <= ' ') goto yy196;
8493 			if (yych == ')') goto yy140;
8494 			goto yy4;
8495 		}
8496 	} else {
8497 		if (yych <= '@') {
8498 			if (yych == '/') goto yy4;
8499 			if (yych <= '9') goto yy196;
8500 			goto yy4;
8501 		} else {
8502 			if (yych <= 'Z') goto yy143;
8503 			if (yych <= '`') goto yy4;
8504 			if (yych <= 'z') goto yy143;
8505 			goto yy4;
8506 		}
8507 	}
8508 yy432:
8509 	YYDEBUG(432, *YYCURSOR);
8510 	yyaccept = 0;
8511 	yych = *(YYMARKER = ++YYCURSOR);
8512 	if (yych <= '.') {
8513 		if (yych <= ' ') {
8514 			if (yych == '\t') goto yy196;
8515 			if (yych <= 0x1F) goto yy4;
8516 			goto yy196;
8517 		} else {
8518 			if (yych == ')') goto yy140;
8519 			if (yych <= ',') goto yy4;
8520 			goto yy196;
8521 		}
8522 	} else {
8523 		if (yych <= 'H') {
8524 			if (yych <= '/') goto yy4;
8525 			if (yych <= '9') goto yy196;
8526 			if (yych <= '@') goto yy4;
8527 			goto yy142;
8528 		} else {
8529 			if (yych <= 'Z') {
8530 				if (yych >= 'J') goto yy142;
8531 			} else {
8532 				if (yych <= '`') goto yy4;
8533 				if (yych <= 'z') goto yy142;
8534 				goto yy4;
8535 			}
8536 		}
8537 	}
8538 	YYDEBUG(433, *YYCURSOR);
8539 	yyaccept = 0;
8540 	yych = *(YYMARKER = ++YYCURSOR);
8541 	if (yych <= '.') {
8542 		if (yych <= ' ') {
8543 			if (yych == '\t') goto yy196;
8544 			if (yych <= 0x1F) goto yy4;
8545 			goto yy196;
8546 		} else {
8547 			if (yych == ')') goto yy140;
8548 			if (yych <= ',') goto yy4;
8549 			goto yy196;
8550 		}
8551 	} else {
8552 		if (yych <= 'H') {
8553 			if (yych <= '/') goto yy4;
8554 			if (yych <= '9') goto yy196;
8555 			if (yych <= '@') goto yy4;
8556 			goto yy143;
8557 		} else {
8558 			if (yych <= 'Z') {
8559 				if (yych >= 'J') goto yy143;
8560 			} else {
8561 				if (yych <= '`') goto yy4;
8562 				if (yych <= 'z') goto yy143;
8563 				goto yy4;
8564 			}
8565 		}
8566 	}
8567 	YYDEBUG(434, *YYCURSOR);
8568 	yyaccept = 0;
8569 	yych = *(YYMARKER = ++YYCURSOR);
8570 	if (yych <= ',') {
8571 		if (yych <= 0x1F) {
8572 			if (yych == '\t') goto yy196;
8573 			goto yy4;
8574 		} else {
8575 			if (yych <= ' ') goto yy196;
8576 			if (yych == ')') goto yy140;
8577 			goto yy4;
8578 		}
8579 	} else {
8580 		if (yych <= '@') {
8581 			if (yych == '/') goto yy4;
8582 			if (yych <= '9') goto yy196;
8583 			goto yy4;
8584 		} else {
8585 			if (yych <= 'Z') goto yy144;
8586 			if (yych <= '`') goto yy4;
8587 			if (yych <= 'z') goto yy144;
8588 			goto yy4;
8589 		}
8590 	}
8591 yy435:
8592 	YYDEBUG(435, *YYCURSOR);
8593 	yyaccept = 0;
8594 	yych = *(YYMARKER = ++YYCURSOR);
8595 	if (yych <= ',') {
8596 		if (yych <= 0x1F) {
8597 			if (yych == '\t') goto yy196;
8598 			goto yy4;
8599 		} else {
8600 			if (yych <= ' ') goto yy196;
8601 			if (yych == ')') goto yy140;
8602 			goto yy4;
8603 		}
8604 	} else {
8605 		if (yych <= '@') {
8606 			if (yych == '/') goto yy4;
8607 			if (yych <= '9') goto yy196;
8608 			goto yy4;
8609 		} else {
8610 			if (yych <= 'Z') goto yy142;
8611 			if (yych <= '`') goto yy4;
8612 			if (yych <= 'z') goto yy142;
8613 			goto yy4;
8614 		}
8615 	}
8616 yy436:
8617 	YYDEBUG(436, *YYCURSOR);
8618 	yyaccept = 0;
8619 	yych = *(YYMARKER = ++YYCURSOR);
8620 	if (yych <= '.') {
8621 		if (yych <= ' ') {
8622 			if (yych == '\t') goto yy196;
8623 			if (yych <= 0x1F) goto yy4;
8624 			goto yy196;
8625 		} else {
8626 			if (yych == ')') goto yy140;
8627 			if (yych <= ',') goto yy4;
8628 			goto yy196;
8629 		}
8630 	} else {
8631 		if (yych <= 'H') {
8632 			if (yych <= '/') goto yy4;
8633 			if (yych <= '9') goto yy196;
8634 			if (yych <= '@') goto yy4;
8635 			goto yy142;
8636 		} else {
8637 			if (yych <= 'Z') {
8638 				if (yych <= 'I') goto yy431;
8639 				goto yy142;
8640 			} else {
8641 				if (yych <= '`') goto yy4;
8642 				if (yych <= 'z') goto yy142;
8643 				goto yy4;
8644 			}
8645 		}
8646 	}
8647 yy437:
8648 	YYDEBUG(437, *YYCURSOR);
8649 	yyaccept = 0;
8650 	yych = *(YYMARKER = ++YYCURSOR);
8651 	if (yych <= 'V') {
8652 		if (yych <= 'D') {
8653 			if (yych <= ' ') {
8654 				if (yych == '\t') goto yy61;
8655 				if (yych <= 0x1F) goto yy4;
8656 				goto yy61;
8657 			} else {
8658 				if (yych <= '9') {
8659 					if (yych <= '/') goto yy4;
8660 					goto yy457;
8661 				} else {
8662 					if (yych <= ':') goto yy163;
8663 					if (yych <= 'C') goto yy4;
8664 					goto yy61;
8665 				}
8666 			}
8667 		} else {
8668 			if (yych <= 'H') {
8669 				if (yych == 'F') goto yy61;
8670 				if (yych <= 'G') goto yy4;
8671 				goto yy61;
8672 			} else {
8673 				if (yych <= 'M') {
8674 					if (yych <= 'L') goto yy4;
8675 					goto yy61;
8676 				} else {
8677 					if (yych <= 'R') goto yy4;
8678 					if (yych <= 'T') goto yy61;
8679 					goto yy4;
8680 				}
8681 			}
8682 		}
8683 	} else {
8684 		if (yych <= 'h') {
8685 			if (yych <= 'c') {
8686 				if (yych == 'X') goto yy4;
8687 				if (yych <= 'Y') goto yy61;
8688 				goto yy4;
8689 			} else {
8690 				if (yych <= 'e') {
8691 					if (yych <= 'd') goto yy61;
8692 					goto yy4;
8693 				} else {
8694 					if (yych == 'g') goto yy4;
8695 					goto yy61;
8696 				}
8697 			}
8698 		} else {
8699 			if (yych <= 't') {
8700 				if (yych == 'm') goto yy61;
8701 				if (yych <= 'r') goto yy4;
8702 				goto yy61;
8703 			} else {
8704 				if (yych <= 'w') {
8705 					if (yych <= 'v') goto yy4;
8706 					goto yy61;
8707 				} else {
8708 					if (yych == 'y') goto yy61;
8709 					goto yy4;
8710 				}
8711 			}
8712 		}
8713 	}
8714 yy438:
8715 	YYDEBUG(438, *YYCURSOR);
8716 	yyaccept = 0;
8717 	yych = *(YYMARKER = ++YYCURSOR);
8718 	if (yych <= 'T') {
8719 		if (yych <= ':') {
8720 			if (yych <= ' ') {
8721 				if (yych == '\t') goto yy61;
8722 				if (yych <= 0x1F) goto yy4;
8723 				goto yy61;
8724 			} else {
8725 				if (yych <= '4') {
8726 					if (yych <= '/') goto yy4;
8727 					goto yy457;
8728 				} else {
8729 					if (yych <= '5') goto yy442;
8730 					if (yych <= '9') goto yy443;
8731 					goto yy163;
8732 				}
8733 			}
8734 		} else {
8735 			if (yych <= 'G') {
8736 				if (yych <= 'D') {
8737 					if (yych <= 'C') goto yy4;
8738 					goto yy61;
8739 				} else {
8740 					if (yych == 'F') goto yy61;
8741 					goto yy4;
8742 				}
8743 			} else {
8744 				if (yych <= 'L') {
8745 					if (yych <= 'H') goto yy61;
8746 					goto yy4;
8747 				} else {
8748 					if (yych <= 'M') goto yy61;
8749 					if (yych <= 'R') goto yy4;
8750 					goto yy61;
8751 				}
8752 			}
8753 		}
8754 	} else {
8755 		if (yych <= 'g') {
8756 			if (yych <= 'Y') {
8757 				if (yych == 'W') goto yy61;
8758 				if (yych <= 'X') goto yy4;
8759 				goto yy61;
8760 			} else {
8761 				if (yych <= 'd') {
8762 					if (yych <= 'c') goto yy4;
8763 					goto yy61;
8764 				} else {
8765 					if (yych == 'f') goto yy61;
8766 					goto yy4;
8767 				}
8768 			}
8769 		} else {
8770 			if (yych <= 't') {
8771 				if (yych <= 'l') {
8772 					if (yych <= 'h') goto yy61;
8773 					goto yy4;
8774 				} else {
8775 					if (yych <= 'm') goto yy61;
8776 					if (yych <= 'r') goto yy4;
8777 					goto yy61;
8778 				}
8779 			} else {
8780 				if (yych <= 'w') {
8781 					if (yych <= 'v') goto yy4;
8782 					goto yy61;
8783 				} else {
8784 					if (yych == 'y') goto yy61;
8785 					goto yy4;
8786 				}
8787 			}
8788 		}
8789 	}
8790 yy439:
8791 	YYDEBUG(439, *YYCURSOR);
8792 	yyaccept = 0;
8793 	yych = *(YYMARKER = ++YYCURSOR);
8794 	if (yych <= 'T') {
8795 		if (yych <= 'C') {
8796 			if (yych <= ' ') {
8797 				if (yych == '\t') goto yy61;
8798 				if (yych <= 0x1F) goto yy4;
8799 				goto yy61;
8800 			} else {
8801 				if (yych <= '5') {
8802 					if (yych <= '/') goto yy4;
8803 					goto yy442;
8804 				} else {
8805 					if (yych <= '9') goto yy443;
8806 					if (yych <= ':') goto yy163;
8807 					goto yy4;
8808 				}
8809 			}
8810 		} else {
8811 			if (yych <= 'G') {
8812 				if (yych == 'E') goto yy4;
8813 				if (yych <= 'F') goto yy61;
8814 				goto yy4;
8815 			} else {
8816 				if (yych <= 'L') {
8817 					if (yych <= 'H') goto yy61;
8818 					goto yy4;
8819 				} else {
8820 					if (yych <= 'M') goto yy61;
8821 					if (yych <= 'R') goto yy4;
8822 					goto yy61;
8823 				}
8824 			}
8825 		}
8826 	} else {
8827 		if (yych <= 'g') {
8828 			if (yych <= 'Y') {
8829 				if (yych == 'W') goto yy61;
8830 				if (yych <= 'X') goto yy4;
8831 				goto yy61;
8832 			} else {
8833 				if (yych <= 'd') {
8834 					if (yych <= 'c') goto yy4;
8835 					goto yy61;
8836 				} else {
8837 					if (yych == 'f') goto yy61;
8838 					goto yy4;
8839 				}
8840 			}
8841 		} else {
8842 			if (yych <= 't') {
8843 				if (yych <= 'l') {
8844 					if (yych <= 'h') goto yy61;
8845 					goto yy4;
8846 				} else {
8847 					if (yych <= 'm') goto yy61;
8848 					if (yych <= 'r') goto yy4;
8849 					goto yy61;
8850 				}
8851 			} else {
8852 				if (yych <= 'w') {
8853 					if (yych <= 'v') goto yy4;
8854 					goto yy61;
8855 				} else {
8856 					if (yych == 'y') goto yy61;
8857 					goto yy4;
8858 				}
8859 			}
8860 		}
8861 	}
8862 yy440:
8863 	YYDEBUG(440, *YYCURSOR);
8864 	++YYCURSOR;
8865 	if (YYLIMIT <= YYCURSOR) YYFILL(1);
8866 	yych = *YYCURSOR;
8867 	YYDEBUG(441, *YYCURSOR);
8868 	if (yybm[0+yych] & 4) {
8869 		goto yy58;
8870 	}
8871 	if (yych <= ',') {
8872 		if (yych == '+') goto yy440;
8873 		goto yy57;
8874 	} else {
8875 		if (yych <= '-') goto yy440;
8876 		if (yych <= '/') goto yy57;
8877 		if (yych <= '9') goto yy55;
8878 		goto yy57;
8879 	}
8880 yy442:
8881 	YYDEBUG(442, *YYCURSOR);
8882 	yyaccept = 0;
8883 	yych = *(YYMARKER = ++YYCURSOR);
8884 	if (yych <= 'V') {
8885 		if (yych <= 'D') {
8886 			if (yych <= ' ') {
8887 				if (yych == '\t') goto yy61;
8888 				if (yych <= 0x1F) goto yy4;
8889 				goto yy61;
8890 			} else {
8891 				if (yych <= '/') goto yy4;
8892 				if (yych <= '9') goto yy456;
8893 				if (yych <= 'C') goto yy4;
8894 				goto yy61;
8895 			}
8896 		} else {
8897 			if (yych <= 'H') {
8898 				if (yych == 'F') goto yy61;
8899 				if (yych <= 'G') goto yy4;
8900 				goto yy61;
8901 			} else {
8902 				if (yych <= 'M') {
8903 					if (yych <= 'L') goto yy4;
8904 					goto yy61;
8905 				} else {
8906 					if (yych <= 'R') goto yy4;
8907 					if (yych <= 'T') goto yy61;
8908 					goto yy4;
8909 				}
8910 			}
8911 		}
8912 	} else {
8913 		if (yych <= 'h') {
8914 			if (yych <= 'c') {
8915 				if (yych == 'X') goto yy4;
8916 				if (yych <= 'Y') goto yy61;
8917 				goto yy4;
8918 			} else {
8919 				if (yych <= 'e') {
8920 					if (yych <= 'd') goto yy61;
8921 					goto yy4;
8922 				} else {
8923 					if (yych == 'g') goto yy4;
8924 					goto yy61;
8925 				}
8926 			}
8927 		} else {
8928 			if (yych <= 't') {
8929 				if (yych == 'm') goto yy61;
8930 				if (yych <= 'r') goto yy4;
8931 				goto yy61;
8932 			} else {
8933 				if (yych <= 'w') {
8934 					if (yych <= 'v') goto yy4;
8935 					goto yy61;
8936 				} else {
8937 					if (yych == 'y') goto yy61;
8938 					goto yy4;
8939 				}
8940 			}
8941 		}
8942 	}
8943 yy443:
8944 	YYDEBUG(443, *YYCURSOR);
8945 	yyaccept = 0;
8946 	yych = *(YYMARKER = ++YYCURSOR);
8947 	if (yych <= 'V') {
8948 		if (yych <= 'D') {
8949 			if (yych <= ' ') {
8950 				if (yych == '\t') goto yy61;
8951 				if (yych <= 0x1F) goto yy4;
8952 				goto yy61;
8953 			} else {
8954 				if (yych <= '/') goto yy4;
8955 				if (yych <= '9') goto yy444;
8956 				if (yych <= 'C') goto yy4;
8957 				goto yy61;
8958 			}
8959 		} else {
8960 			if (yych <= 'H') {
8961 				if (yych == 'F') goto yy61;
8962 				if (yych <= 'G') goto yy4;
8963 				goto yy61;
8964 			} else {
8965 				if (yych <= 'M') {
8966 					if (yych <= 'L') goto yy4;
8967 					goto yy61;
8968 				} else {
8969 					if (yych <= 'R') goto yy4;
8970 					if (yych <= 'T') goto yy61;
8971 					goto yy4;
8972 				}
8973 			}
8974 		}
8975 	} else {
8976 		if (yych <= 'h') {
8977 			if (yych <= 'c') {
8978 				if (yych == 'X') goto yy4;
8979 				if (yych <= 'Y') goto yy61;
8980 				goto yy4;
8981 			} else {
8982 				if (yych <= 'e') {
8983 					if (yych <= 'd') goto yy61;
8984 					goto yy4;
8985 				} else {
8986 					if (yych == 'g') goto yy4;
8987 					goto yy61;
8988 				}
8989 			}
8990 		} else {
8991 			if (yych <= 't') {
8992 				if (yych == 'm') goto yy61;
8993 				if (yych <= 'r') goto yy4;
8994 				goto yy61;
8995 			} else {
8996 				if (yych <= 'w') {
8997 					if (yych <= 'v') goto yy4;
8998 					goto yy61;
8999 				} else {
9000 					if (yych == 'y') goto yy61;
9001 					goto yy4;
9002 				}
9003 			}
9004 		}
9005 	}
9006 yy444:
9007 	YYDEBUG(444, *YYCURSOR);
9008 	yych = *++YYCURSOR;
9009 	if (yych <= '/') goto yy61;
9010 	if (yych >= ':') goto yy61;
9011 yy445:
9012 	YYDEBUG(445, *YYCURSOR);
9013 	yych = *++YYCURSOR;
9014 	if (yybm[0+yych] & 2) {
9015 		goto yy55;
9016 	}
9017 	if (yych != '-') goto yy61;
9018 yy446:
9019 	YYDEBUG(446, *YYCURSOR);
9020 	yych = *++YYCURSOR;
9021 	if (yych <= '/') goto yy57;
9022 	if (yych <= '0') goto yy447;
9023 	if (yych <= '1') goto yy448;
9024 	goto yy57;
9025 yy447:
9026 	YYDEBUG(447, *YYCURSOR);
9027 	yych = *++YYCURSOR;
9028 	if (yych <= '/') goto yy57;
9029 	if (yych <= '9') goto yy449;
9030 	goto yy57;
9031 yy448:
9032 	YYDEBUG(448, *YYCURSOR);
9033 	yych = *++YYCURSOR;
9034 	if (yych <= '/') goto yy57;
9035 	if (yych >= '3') goto yy57;
9036 yy449:
9037 	YYDEBUG(449, *YYCURSOR);
9038 	yych = *++YYCURSOR;
9039 	if (yych != '-') goto yy57;
9040 	YYDEBUG(450, *YYCURSOR);
9041 	yych = *++YYCURSOR;
9042 	if (yych <= '/') goto yy57;
9043 	if (yych <= '0') goto yy451;
9044 	if (yych <= '2') goto yy452;
9045 	if (yych <= '3') goto yy453;
9046 	goto yy57;
9047 yy451:
9048 	YYDEBUG(451, *YYCURSOR);
9049 	yych = *++YYCURSOR;
9050 	if (yych <= '/') goto yy57;
9051 	if (yych <= '9') goto yy454;
9052 	goto yy57;
9053 yy452:
9054 	YYDEBUG(452, *YYCURSOR);
9055 	yych = *++YYCURSOR;
9056 	if (yych <= '/') goto yy57;
9057 	if (yych <= '9') goto yy454;
9058 	goto yy57;
9059 yy453:
9060 	YYDEBUG(453, *YYCURSOR);
9061 	yych = *++YYCURSOR;
9062 	if (yych <= '/') goto yy57;
9063 	if (yych >= '2') goto yy57;
9064 yy454:
9065 	YYDEBUG(454, *YYCURSOR);
9066 	++YYCURSOR;
9067 yy455:
9068 	YYDEBUG(455, *YYCURSOR);
9069 #line 1292 "ext/date/lib/parse_date.re"
9070 	{
9071 		DEBUG_OUTPUT("iso8601date4 | iso8601date2 | iso8601dateslash | dateslash");
9072 		TIMELIB_INIT;
9073 		TIMELIB_HAVE_DATE();
9074 		s->time->y = timelib_get_unsigned_nr((char **) &ptr, 4);
9075 		s->time->m = timelib_get_nr((char **) &ptr, 2);
9076 		s->time->d = timelib_get_nr((char **) &ptr, 2);
9077 		TIMELIB_DEINIT;
9078 		return TIMELIB_ISO_DATE;
9079 	}
9080 #line 9081 "ext/date/lib/parse_date.c"
9081 yy456:
9082 	YYDEBUG(456, *YYCURSOR);
9083 	yyaccept = 0;
9084 	yych = *(YYMARKER = ++YYCURSOR);
9085 	if (yych <= 'V') {
9086 		if (yych <= 'D') {
9087 			if (yych <= ' ') {
9088 				if (yych == '\t') goto yy61;
9089 				if (yych <= 0x1F) goto yy4;
9090 				goto yy61;
9091 			} else {
9092 				if (yych <= '/') goto yy4;
9093 				if (yych <= '9') goto yy445;
9094 				if (yych <= 'C') goto yy4;
9095 				goto yy61;
9096 			}
9097 		} else {
9098 			if (yych <= 'H') {
9099 				if (yych == 'F') goto yy61;
9100 				if (yych <= 'G') goto yy4;
9101 				goto yy61;
9102 			} else {
9103 				if (yych <= 'M') {
9104 					if (yych <= 'L') goto yy4;
9105 					goto yy61;
9106 				} else {
9107 					if (yych <= 'R') goto yy4;
9108 					if (yych <= 'T') goto yy61;
9109 					goto yy4;
9110 				}
9111 			}
9112 		}
9113 	} else {
9114 		if (yych <= 'h') {
9115 			if (yych <= 'c') {
9116 				if (yych == 'X') goto yy4;
9117 				if (yych <= 'Y') goto yy61;
9118 				goto yy4;
9119 			} else {
9120 				if (yych <= 'e') {
9121 					if (yych <= 'd') goto yy61;
9122 					goto yy4;
9123 				} else {
9124 					if (yych == 'g') goto yy4;
9125 					goto yy61;
9126 				}
9127 			}
9128 		} else {
9129 			if (yych <= 't') {
9130 				if (yych == 'm') goto yy61;
9131 				if (yych <= 'r') goto yy4;
9132 				goto yy61;
9133 			} else {
9134 				if (yych <= 'w') {
9135 					if (yych <= 'v') goto yy4;
9136 					goto yy61;
9137 				} else {
9138 					if (yych == 'y') goto yy61;
9139 					goto yy4;
9140 				}
9141 			}
9142 		}
9143 	}
9144 yy457:
9145 	YYDEBUG(457, *YYCURSOR);
9146 	yyaccept = 0;
9147 	yych = *(YYMARKER = ++YYCURSOR);
9148 	if (yych <= 'T') {
9149 		if (yych <= 'C') {
9150 			if (yych <= ' ') {
9151 				if (yych == '\t') goto yy61;
9152 				if (yych <= 0x1F) goto yy4;
9153 				goto yy61;
9154 			} else {
9155 				if (yych <= '5') {
9156 					if (yych <= '/') goto yy4;
9157 				} else {
9158 					if (yych <= '9') goto yy456;
9159 					if (yych <= ':') goto yy163;
9160 					goto yy4;
9161 				}
9162 			}
9163 		} else {
9164 			if (yych <= 'G') {
9165 				if (yych == 'E') goto yy4;
9166 				if (yych <= 'F') goto yy61;
9167 				goto yy4;
9168 			} else {
9169 				if (yych <= 'L') {
9170 					if (yych <= 'H') goto yy61;
9171 					goto yy4;
9172 				} else {
9173 					if (yych <= 'M') goto yy61;
9174 					if (yych <= 'R') goto yy4;
9175 					goto yy61;
9176 				}
9177 			}
9178 		}
9179 	} else {
9180 		if (yych <= 'g') {
9181 			if (yych <= 'Y') {
9182 				if (yych == 'W') goto yy61;
9183 				if (yych <= 'X') goto yy4;
9184 				goto yy61;
9185 			} else {
9186 				if (yych <= 'd') {
9187 					if (yych <= 'c') goto yy4;
9188 					goto yy61;
9189 				} else {
9190 					if (yych == 'f') goto yy61;
9191 					goto yy4;
9192 				}
9193 			}
9194 		} else {
9195 			if (yych <= 't') {
9196 				if (yych <= 'l') {
9197 					if (yych <= 'h') goto yy61;
9198 					goto yy4;
9199 				} else {
9200 					if (yych <= 'm') goto yy61;
9201 					if (yych <= 'r') goto yy4;
9202 					goto yy61;
9203 				}
9204 			} else {
9205 				if (yych <= 'w') {
9206 					if (yych <= 'v') goto yy4;
9207 					goto yy61;
9208 				} else {
9209 					if (yych == 'y') goto yy61;
9210 					goto yy4;
9211 				}
9212 			}
9213 		}
9214 	}
9215 	YYDEBUG(458, *YYCURSOR);
9216 	yyaccept = 0;
9217 	yych = *(YYMARKER = ++YYCURSOR);
9218 	if (yych <= 'V') {
9219 		if (yych <= 'D') {
9220 			if (yych <= ' ') {
9221 				if (yych == '\t') goto yy61;
9222 				if (yych <= 0x1F) goto yy4;
9223 				goto yy61;
9224 			} else {
9225 				if (yych <= '/') goto yy4;
9226 				if (yych <= '9') goto yy459;
9227 				if (yych <= 'C') goto yy4;
9228 				goto yy61;
9229 			}
9230 		} else {
9231 			if (yych <= 'H') {
9232 				if (yych == 'F') goto yy61;
9233 				if (yych <= 'G') goto yy4;
9234 				goto yy61;
9235 			} else {
9236 				if (yych <= 'M') {
9237 					if (yych <= 'L') goto yy4;
9238 					goto yy61;
9239 				} else {
9240 					if (yych <= 'R') goto yy4;
9241 					if (yych <= 'T') goto yy61;
9242 					goto yy4;
9243 				}
9244 			}
9245 		}
9246 	} else {
9247 		if (yych <= 'h') {
9248 			if (yych <= 'c') {
9249 				if (yych == 'X') goto yy4;
9250 				if (yych <= 'Y') goto yy61;
9251 				goto yy4;
9252 			} else {
9253 				if (yych <= 'e') {
9254 					if (yych <= 'd') goto yy61;
9255 					goto yy4;
9256 				} else {
9257 					if (yych == 'g') goto yy4;
9258 					goto yy61;
9259 				}
9260 			}
9261 		} else {
9262 			if (yych <= 't') {
9263 				if (yych == 'm') goto yy61;
9264 				if (yych <= 'r') goto yy4;
9265 				goto yy61;
9266 			} else {
9267 				if (yych <= 'w') {
9268 					if (yych <= 'v') goto yy4;
9269 					goto yy61;
9270 				} else {
9271 					if (yych == 'y') goto yy61;
9272 					goto yy4;
9273 				}
9274 			}
9275 		}
9276 	}
9277 yy459:
9278 	YYDEBUG(459, *YYCURSOR);
9279 	yyaccept = 0;
9280 	yych = *(YYMARKER = ++YYCURSOR);
9281 	if (yybm[0+yych] & 2) {
9282 		goto yy55;
9283 	}
9284 	if (yych <= 'V') {
9285 		if (yych <= 'D') {
9286 			if (yych <= ' ') {
9287 				if (yych == '\t') goto yy61;
9288 				if (yych <= 0x1F) goto yy4;
9289 				goto yy61;
9290 			} else {
9291 				if (yych == '-') goto yy446;
9292 				if (yych <= 'C') goto yy4;
9293 				goto yy61;
9294 			}
9295 		} else {
9296 			if (yych <= 'H') {
9297 				if (yych == 'F') goto yy61;
9298 				if (yych <= 'G') goto yy4;
9299 				goto yy61;
9300 			} else {
9301 				if (yych <= 'M') {
9302 					if (yych <= 'L') goto yy4;
9303 					goto yy61;
9304 				} else {
9305 					if (yych <= 'R') goto yy4;
9306 					if (yych <= 'T') goto yy61;
9307 					goto yy4;
9308 				}
9309 			}
9310 		}
9311 	} else {
9312 		if (yych <= 'h') {
9313 			if (yych <= 'c') {
9314 				if (yych == 'X') goto yy4;
9315 				if (yych <= 'Y') goto yy61;
9316 				goto yy4;
9317 			} else {
9318 				if (yych <= 'e') {
9319 					if (yych <= 'd') goto yy61;
9320 					goto yy4;
9321 				} else {
9322 					if (yych == 'g') goto yy4;
9323 					goto yy61;
9324 				}
9325 			}
9326 		} else {
9327 			if (yych <= 't') {
9328 				if (yych == 'm') goto yy61;
9329 				if (yych <= 'r') goto yy4;
9330 				goto yy61;
9331 			} else {
9332 				if (yych <= 'w') {
9333 					if (yych <= 'v') goto yy4;
9334 					goto yy61;
9335 				} else {
9336 					if (yych == 'y') goto yy61;
9337 					goto yy4;
9338 				}
9339 			}
9340 		}
9341 	}
9342 yy460:
9343 	YYDEBUG(460, *YYCURSOR);
9344 	yych = *++YYCURSOR;
9345 	if (yych <= '/') goto yy462;
9346 	if (yych <= '0') goto yy736;
9347 	if (yych <= '1') goto yy737;
9348 	if (yych <= '9') goto yy738;
9349 	goto yy462;
9350 yy461:
9351 	YYDEBUG(461, *YYCURSOR);
9352 	++YYCURSOR;
9353 	if ((YYLIMIT - YYCURSOR) < 13) YYFILL(13);
9354 	yych = *YYCURSOR;
9355 yy462:
9356 	YYDEBUG(462, *YYCURSOR);
9357 	YYDEBUG(-1, yych);
9358 	switch (yych) {
9359 	case '\t':
9360 	case ' ':	goto yy461;
9361 	case '-':
9362 	case '.':	goto yy577;
9363 	case 'A':
9364 	case 'a':	goto yy480;
9365 	case 'D':
9366 	case 'd':	goto yy466;
9367 	case 'F':
9368 	case 'f':	goto yy467;
9369 	case 'H':
9370 	case 'h':	goto yy64;
9371 	case 'I':	goto yy475;
9372 	case 'J':
9373 	case 'j':	goto yy479;
9374 	case 'M':
9375 	case 'm':	goto yy465;
9376 	case 'N':
9377 	case 'n':	goto yy482;
9378 	case 'O':
9379 	case 'o':	goto yy481;
9380 	case 'P':
9381 	case 'p':	goto yy484;
9382 	case 'S':
9383 	case 's':	goto yy463;
9384 	case 'T':
9385 	case 't':	goto yy69;
9386 	case 'V':	goto yy477;
9387 	case 'W':
9388 	case 'w':	goto yy68;
9389 	case 'X':	goto yy478;
9390 	case 'Y':
9391 	case 'y':	goto yy67;
9392 	default:	goto yy57;
9393 	}
9394 yy463:
9395 	YYDEBUG(463, *YYCURSOR);
9396 	yych = *++YYCURSOR;
9397 	if (yych <= 'U') {
9398 		if (yych <= 'D') {
9399 			if (yych == 'A') goto yy127;
9400 			goto yy57;
9401 		} else {
9402 			if (yych <= 'E') goto yy1049;
9403 			if (yych <= 'T') goto yy57;
9404 			goto yy126;
9405 		}
9406 	} else {
9407 		if (yych <= 'd') {
9408 			if (yych == 'a') goto yy127;
9409 			goto yy57;
9410 		} else {
9411 			if (yych <= 'e') goto yy1049;
9412 			if (yych == 'u') goto yy126;
9413 			goto yy57;
9414 		}
9415 	}
9416 yy464:
9417 	YYDEBUG(464, *YYCURSOR);
9418 	yych = *++YYCURSOR;
9419 	if (yych <= '`') {
9420 		if (yych <= 'D') {
9421 			if (yych == 'A') goto yy127;
9422 			goto yy57;
9423 		} else {
9424 			if (yych <= 'E') goto yy1049;
9425 			if (yych == 'U') goto yy126;
9426 			goto yy57;
9427 		}
9428 	} else {
9429 		if (yych <= 'e') {
9430 			if (yych <= 'a') goto yy127;
9431 			if (yych <= 'd') goto yy57;
9432 			goto yy1049;
9433 		} else {
9434 			if (yych <= 's') goto yy57;
9435 			if (yych <= 't') goto yy729;
9436 			if (yych <= 'u') goto yy126;
9437 			goto yy57;
9438 		}
9439 	}
9440 yy465:
9441 	YYDEBUG(465, *YYCURSOR);
9442 	yych = *++YYCURSOR;
9443 	if (yych <= 'O') {
9444 		if (yych <= 'H') {
9445 			if (yych == 'A') goto yy592;
9446 			goto yy57;
9447 		} else {
9448 			if (yych <= 'I') goto yy118;
9449 			if (yych <= 'N') goto yy57;
9450 			goto yy117;
9451 		}
9452 	} else {
9453 		if (yych <= 'h') {
9454 			if (yych == 'a') goto yy592;
9455 			goto yy57;
9456 		} else {
9457 			if (yych <= 'i') goto yy118;
9458 			if (yych == 'o') goto yy117;
9459 			goto yy57;
9460 		}
9461 	}
9462 yy466:
9463 	YYDEBUG(466, *YYCURSOR);
9464 	yych = *++YYCURSOR;
9465 	if (yych <= 'E') {
9466 		if (yych == 'A') goto yy114;
9467 		if (yych <= 'D') goto yy57;
9468 		goto yy579;
9469 	} else {
9470 		if (yych <= 'a') {
9471 			if (yych <= '`') goto yy57;
9472 			goto yy114;
9473 		} else {
9474 			if (yych == 'e') goto yy579;
9475 			goto yy57;
9476 		}
9477 	}
9478 yy467:
9479 	YYDEBUG(467, *YYCURSOR);
9480 	yych = *++YYCURSOR;
9481 	if (yych <= 'R') {
9482 		if (yych <= 'N') {
9483 			if (yych == 'E') goto yy595;
9484 			goto yy57;
9485 		} else {
9486 			if (yych <= 'O') goto yy99;
9487 			if (yych <= 'Q') goto yy57;
9488 			goto yy98;
9489 		}
9490 	} else {
9491 		if (yych <= 'n') {
9492 			if (yych == 'e') goto yy595;
9493 			goto yy57;
9494 		} else {
9495 			if (yych <= 'o') goto yy99;
9496 			if (yych == 'r') goto yy98;
9497 			goto yy57;
9498 		}
9499 	}
9500 yy468:
9501 	YYDEBUG(468, *YYCURSOR);
9502 	yych = *++YYCURSOR;
9503 	if (yych <= 'U') {
9504 		if (yych == 'H') goto yy70;
9505 		if (yych <= 'T') goto yy57;
9506 		goto yy71;
9507 	} else {
9508 		if (yych <= 'h') {
9509 			if (yych <= 'g') goto yy57;
9510 			goto yy1048;
9511 		} else {
9512 			if (yych == 'u') goto yy71;
9513 			goto yy57;
9514 		}
9515 	}
9516 yy469:
9517 	YYDEBUG(469, *YYCURSOR);
9518 	yych = *++YYCURSOR;
9519 	if (yych == '-') goto yy742;
9520 	if (yych <= '/') goto yy61;
9521 	if (yych <= '9') goto yy741;
9522 	goto yy61;
9523 yy470:
9524 	YYDEBUG(470, *YYCURSOR);
9525 	yych = *++YYCURSOR;
9526 	if (yych <= 'c') {
9527 		if (yych == 'O') goto yy530;
9528 		goto yy57;
9529 	} else {
9530 		if (yych <= 'd') goto yy729;
9531 		if (yych == 'o') goto yy530;
9532 		goto yy57;
9533 	}
9534 yy471:
9535 	YYDEBUG(471, *YYCURSOR);
9536 	yych = *++YYCURSOR;
9537 	if (yych == 'd') goto yy729;
9538 	goto yy57;
9539 yy472:
9540 	YYDEBUG(472, *YYCURSOR);
9541 	yych = *++YYCURSOR;
9542 	YYDEBUG(-1, yych);
9543 	switch (yych) {
9544 	case '0':
9545 	case '1':
9546 	case '2':	goto yy666;
9547 	case '3':	goto yy668;
9548 	case '4':
9549 	case '5':
9550 	case '6':
9551 	case '7':
9552 	case '8':
9553 	case '9':	goto yy669;
9554 	case 'A':
9555 	case 'a':	goto yy673;
9556 	case 'D':
9557 	case 'd':	goto yy677;
9558 	case 'F':
9559 	case 'f':	goto yy671;
9560 	case 'J':
9561 	case 'j':	goto yy670;
9562 	case 'M':
9563 	case 'm':	goto yy672;
9564 	case 'N':
9565 	case 'n':	goto yy676;
9566 	case 'O':
9567 	case 'o':	goto yy675;
9568 	case 'S':
9569 	case 's':	goto yy674;
9570 	default:	goto yy57;
9571 	}
9572 yy473:
9573 	YYDEBUG(473, *YYCURSOR);
9574 	yych = *++YYCURSOR;
9575 	YYDEBUG(-1, yych);
9576 	switch (yych) {
9577 	case '0':	goto yy616;
9578 	case '1':	goto yy617;
9579 	case '2':
9580 	case '3':
9581 	case '4':
9582 	case '5':
9583 	case '6':
9584 	case '7':
9585 	case '8':
9586 	case '9':	goto yy618;
9587 	case 'A':
9588 	case 'a':	goto yy622;
9589 	case 'D':
9590 	case 'd':	goto yy626;
9591 	case 'F':
9592 	case 'f':	goto yy620;
9593 	case 'J':
9594 	case 'j':	goto yy619;
9595 	case 'M':
9596 	case 'm':	goto yy621;
9597 	case 'N':
9598 	case 'n':	goto yy625;
9599 	case 'O':
9600 	case 'o':	goto yy624;
9601 	case 'S':
9602 	case 's':	goto yy623;
9603 	default:	goto yy578;
9604 	}
9605 yy474:
9606 	YYDEBUG(474, *YYCURSOR);
9607 	yych = *++YYCURSOR;
9608 	if (yych <= '1') {
9609 		if (yych <= '/') goto yy578;
9610 		if (yych <= '0') goto yy568;
9611 		goto yy569;
9612 	} else {
9613 		if (yych <= '5') goto yy570;
9614 		if (yych <= '9') goto yy571;
9615 		goto yy578;
9616 	}
9617 yy475:
9618 	YYDEBUG(475, *YYCURSOR);
9619 	yyaccept = 10;
9620 	yych = *(YYMARKER = ++YYCURSOR);
9621 	if (yych <= '/') {
9622 		if (yych <= 0x1F) {
9623 			if (yych == '\t') goto yy532;
9624 		} else {
9625 			if (yych <= ' ') goto yy532;
9626 			if (yych <= ',') goto yy476;
9627 			if (yych <= '.') goto yy532;
9628 		}
9629 	} else {
9630 		if (yych <= 'U') {
9631 			if (yych <= '9') goto yy534;
9632 			if (yych == 'I') goto yy567;
9633 		} else {
9634 			if (yych == 'W') goto yy476;
9635 			if (yych <= 'X') goto yy540;
9636 		}
9637 	}
9638 yy476:
9639 	YYDEBUG(476, *YYCURSOR);
9640 #line 1429 "ext/date/lib/parse_date.re"
9641 	{
9642 		DEBUG_OUTPUT("datenoyearrev");
9643 		TIMELIB_INIT;
9644 		TIMELIB_HAVE_DATE();
9645 		s->time->d = timelib_get_nr((char **) &ptr, 2);
9646 		timelib_skip_day_suffix((char **) &ptr);
9647 		s->time->m = timelib_get_month((char **) &ptr);
9648 		TIMELIB_DEINIT;
9649 		return TIMELIB_DATE_TEXT;
9650 	}
9651 #line 9652 "ext/date/lib/parse_date.c"
9652 yy477:
9653 	YYDEBUG(477, *YYCURSOR);
9654 	yyaccept = 10;
9655 	yych = *(YYMARKER = ++YYCURSOR);
9656 	if (yych <= ',') {
9657 		if (yych <= '\t') {
9658 			if (yych <= 0x08) goto yy476;
9659 			goto yy532;
9660 		} else {
9661 			if (yych == ' ') goto yy532;
9662 			goto yy476;
9663 		}
9664 	} else {
9665 		if (yych <= '9') {
9666 			if (yych <= '.') goto yy532;
9667 			if (yych <= '/') goto yy476;
9668 			goto yy534;
9669 		} else {
9670 			if (yych == 'I') goto yy565;
9671 			goto yy476;
9672 		}
9673 	}
9674 yy478:
9675 	YYDEBUG(478, *YYCURSOR);
9676 	yyaccept = 10;
9677 	yych = *(YYMARKER = ++YYCURSOR);
9678 	if (yych <= ',') {
9679 		if (yych <= '\t') {
9680 			if (yych <= 0x08) goto yy476;
9681 			goto yy532;
9682 		} else {
9683 			if (yych == ' ') goto yy532;
9684 			goto yy476;
9685 		}
9686 	} else {
9687 		if (yych <= '9') {
9688 			if (yych <= '.') goto yy532;
9689 			if (yych <= '/') goto yy476;
9690 			goto yy534;
9691 		} else {
9692 			if (yych == 'I') goto yy564;
9693 			goto yy476;
9694 		}
9695 	}
9696 yy479:
9697 	YYDEBUG(479, *YYCURSOR);
9698 	yych = *++YYCURSOR;
9699 	if (yych <= 'U') {
9700 		if (yych == 'A') goto yy557;
9701 		if (yych <= 'T') goto yy57;
9702 		goto yy556;
9703 	} else {
9704 		if (yych <= 'a') {
9705 			if (yych <= '`') goto yy57;
9706 			goto yy557;
9707 		} else {
9708 			if (yych == 'u') goto yy556;
9709 			goto yy57;
9710 		}
9711 	}
9712 yy480:
9713 	YYDEBUG(480, *YYCURSOR);
9714 	yych = *++YYCURSOR;
9715 	if (yych <= 'T') {
9716 		if (yych <= 'L') {
9717 			if (yych == '.') goto yy485;
9718 			goto yy57;
9719 		} else {
9720 			if (yych <= 'M') goto yy486;
9721 			if (yych == 'P') goto yy550;
9722 			goto yy57;
9723 		}
9724 	} else {
9725 		if (yych <= 'o') {
9726 			if (yych <= 'U') goto yy549;
9727 			if (yych == 'm') goto yy486;
9728 			goto yy57;
9729 		} else {
9730 			if (yych <= 'p') goto yy550;
9731 			if (yych == 'u') goto yy549;
9732 			goto yy57;
9733 		}
9734 	}
9735 yy481:
9736 	YYDEBUG(481, *YYCURSOR);
9737 	yych = *++YYCURSOR;
9738 	if (yych == 'C') goto yy544;
9739 	if (yych == 'c') goto yy544;
9740 	goto yy57;
9741 yy482:
9742 	YYDEBUG(482, *YYCURSOR);
9743 	yych = *++YYCURSOR;
9744 	if (yych == 'O') goto yy530;
9745 	if (yych == 'o') goto yy530;
9746 	goto yy57;
9747 yy483:
9748 	YYDEBUG(483, *YYCURSOR);
9749 	yych = *++YYCURSOR;
9750 	if (yych <= '/') goto yy57;
9751 	if (yych <= '5') goto yy490;
9752 	if (yych <= '9') goto yy492;
9753 	goto yy57;
9754 yy484:
9755 	YYDEBUG(484, *YYCURSOR);
9756 	yych = *++YYCURSOR;
9757 	if (yych <= 'L') {
9758 		if (yych != '.') goto yy57;
9759 	} else {
9760 		if (yych <= 'M') goto yy486;
9761 		if (yych == 'm') goto yy486;
9762 		goto yy57;
9763 	}
9764 yy485:
9765 	YYDEBUG(485, *YYCURSOR);
9766 	yych = *++YYCURSOR;
9767 	if (yych == 'M') goto yy486;
9768 	if (yych != 'm') goto yy57;
9769 yy486:
9770 	YYDEBUG(486, *YYCURSOR);
9771 	yych = *++YYCURSOR;
9772 	if (yych <= 0x1F) {
9773 		if (yych <= 0x00) goto yy488;
9774 		if (yych == '\t') goto yy488;
9775 		goto yy57;
9776 	} else {
9777 		if (yych <= ' ') goto yy488;
9778 		if (yych != '.') goto yy57;
9779 	}
9780 	YYDEBUG(487, *YYCURSOR);
9781 	yych = *++YYCURSOR;
9782 	if (yych <= '\t') {
9783 		if (yych <= 0x00) goto yy488;
9784 		if (yych <= 0x08) goto yy57;
9785 	} else {
9786 		if (yych != ' ') goto yy57;
9787 	}
9788 yy488:
9789 	YYDEBUG(488, *YYCURSOR);
9790 	++YYCURSOR;
9791 	YYDEBUG(489, *YYCURSOR);
9792 #line 1147 "ext/date/lib/parse_date.re"
9793 	{
9794 		DEBUG_OUTPUT("timetiny12 | timeshort12 | timelong12");
9795 		TIMELIB_INIT;
9796 		TIMELIB_HAVE_TIME();
9797 		s->time->h = timelib_get_nr((char **) &ptr, 2);
9798 		if (*ptr == ':' || *ptr == '.') {
9799 			s->time->i = timelib_get_nr((char **) &ptr, 2);
9800 			if (*ptr == ':' || *ptr == '.') {
9801 				s->time->s = timelib_get_nr((char **) &ptr, 2);
9802 			}
9803 		}
9804 		s->time->h += timelib_meridian((char **) &ptr, s->time->h);
9805 		TIMELIB_DEINIT;
9806 		return TIMELIB_TIME12;
9807 	}
9808 #line 9809 "ext/date/lib/parse_date.c"
9809 yy490:
9810 	YYDEBUG(490, *YYCURSOR);
9811 	yyaccept = 11;
9812 	yych = *(YYMARKER = ++YYCURSOR);
9813 	if (yych <= '/') {
9814 		if (yych == '.') goto yy493;
9815 	} else {
9816 		if (yych <= '9') goto yy507;
9817 		if (yych <= ':') goto yy493;
9818 	}
9819 yy491:
9820 	YYDEBUG(491, *YYCURSOR);
9821 #line 1184 "ext/date/lib/parse_date.re"
9822 	{
9823 		int tz_not_found;
9824 		DEBUG_OUTPUT("timeshort24 | timelong24 | iso8601long");
9825 		TIMELIB_INIT;
9826 		TIMELIB_HAVE_TIME();
9827 		s->time->h = timelib_get_nr((char **) &ptr, 2);
9828 		s->time->i = timelib_get_nr((char **) &ptr, 2);
9829 		if (*ptr == ':' || *ptr == '.') {
9830 			s->time->s = timelib_get_nr((char **) &ptr, 2);
9831 
9832 			if (*ptr == '.') {
9833 				s->time->f = timelib_get_frac_nr((char **) &ptr, 8);
9834 			}
9835 		}
9836 
9837 		if (*ptr != '\0') {
9838 			s->time->z = timelib_get_zone((char **) &ptr, &s->time->dst, s->time, &tz_not_found, s->tzdb, tz_get_wrapper);
9839 			if (tz_not_found) {
9840 				add_error(s, "The timezone could not be found in the database");
9841 			}
9842 		}
9843 		TIMELIB_DEINIT;
9844 		return TIMELIB_TIME24_WITH_ZONE;
9845 	}
9846 #line 9847 "ext/date/lib/parse_date.c"
9847 yy492:
9848 	YYDEBUG(492, *YYCURSOR);
9849 	yyaccept = 11;
9850 	yych = *(YYMARKER = ++YYCURSOR);
9851 	if (yych == '.') goto yy493;
9852 	if (yych != ':') goto yy491;
9853 yy493:
9854 	YYDEBUG(493, *YYCURSOR);
9855 	yych = *++YYCURSOR;
9856 	if (yych <= '/') goto yy57;
9857 	if (yych <= '5') goto yy494;
9858 	if (yych <= '6') goto yy495;
9859 	if (yych <= '9') goto yy496;
9860 	goto yy57;
9861 yy494:
9862 	YYDEBUG(494, *YYCURSOR);
9863 	yyaccept = 11;
9864 	yych = *(YYMARKER = ++YYCURSOR);
9865 	if (yych == '.') goto yy497;
9866 	if (yych <= '/') goto yy491;
9867 	if (yych <= '9') goto yy500;
9868 	goto yy491;
9869 yy495:
9870 	YYDEBUG(495, *YYCURSOR);
9871 	yyaccept = 11;
9872 	yych = *(YYMARKER = ++YYCURSOR);
9873 	if (yych == '.') goto yy497;
9874 	if (yych == '0') goto yy500;
9875 	goto yy491;
9876 yy496:
9877 	YYDEBUG(496, *YYCURSOR);
9878 	yyaccept = 11;
9879 	yych = *(YYMARKER = ++YYCURSOR);
9880 	if (yych != '.') goto yy491;
9881 yy497:
9882 	YYDEBUG(497, *YYCURSOR);
9883 	yych = *++YYCURSOR;
9884 	if (yych <= '/') goto yy57;
9885 	if (yych >= ':') goto yy57;
9886 yy498:
9887 	YYDEBUG(498, *YYCURSOR);
9888 	++YYCURSOR;
9889 	if (YYLIMIT <= YYCURSOR) YYFILL(1);
9890 	yych = *YYCURSOR;
9891 	YYDEBUG(499, *YYCURSOR);
9892 	if (yych <= '/') goto yy491;
9893 	if (yych <= '9') goto yy498;
9894 	goto yy491;
9895 yy500:
9896 	YYDEBUG(500, *YYCURSOR);
9897 	yyaccept = 11;
9898 	yych = *(YYMARKER = ++YYCURSOR);
9899 	if (yych <= '@') {
9900 		if (yych <= 0x1F) {
9901 			if (yych != '\t') goto yy491;
9902 		} else {
9903 			if (yych <= ' ') goto yy501;
9904 			if (yych == '.') goto yy497;
9905 			goto yy491;
9906 		}
9907 	} else {
9908 		if (yych <= '`') {
9909 			if (yych <= 'A') goto yy503;
9910 			if (yych == 'P') goto yy503;
9911 			goto yy491;
9912 		} else {
9913 			if (yych <= 'a') goto yy503;
9914 			if (yych == 'p') goto yy503;
9915 			goto yy491;
9916 		}
9917 	}
9918 yy501:
9919 	YYDEBUG(501, *YYCURSOR);
9920 	++YYCURSOR;
9921 	if ((YYLIMIT - YYCURSOR) < 5) YYFILL(5);
9922 	yych = *YYCURSOR;
9923 	YYDEBUG(502, *YYCURSOR);
9924 	if (yych <= 'A') {
9925 		if (yych <= 0x1F) {
9926 			if (yych == '\t') goto yy501;
9927 			goto yy57;
9928 		} else {
9929 			if (yych <= ' ') goto yy501;
9930 			if (yych <= '@') goto yy57;
9931 		}
9932 	} else {
9933 		if (yych <= '`') {
9934 			if (yych != 'P') goto yy57;
9935 		} else {
9936 			if (yych <= 'a') goto yy503;
9937 			if (yych != 'p') goto yy57;
9938 		}
9939 	}
9940 yy503:
9941 	YYDEBUG(503, *YYCURSOR);
9942 	yych = *++YYCURSOR;
9943 	if (yych <= 'L') {
9944 		if (yych != '.') goto yy57;
9945 	} else {
9946 		if (yych <= 'M') goto yy505;
9947 		if (yych == 'm') goto yy505;
9948 		goto yy57;
9949 	}
9950 	YYDEBUG(504, *YYCURSOR);
9951 	yych = *++YYCURSOR;
9952 	if (yych == 'M') goto yy505;
9953 	if (yych != 'm') goto yy57;
9954 yy505:
9955 	YYDEBUG(505, *YYCURSOR);
9956 	yych = *++YYCURSOR;
9957 	if (yych <= 0x1F) {
9958 		if (yych <= 0x00) goto yy488;
9959 		if (yych == '\t') goto yy488;
9960 		goto yy57;
9961 	} else {
9962 		if (yych <= ' ') goto yy488;
9963 		if (yych != '.') goto yy57;
9964 	}
9965 	YYDEBUG(506, *YYCURSOR);
9966 	yych = *++YYCURSOR;
9967 	if (yych <= '\t') {
9968 		if (yych <= 0x00) goto yy488;
9969 		if (yych <= 0x08) goto yy57;
9970 		goto yy488;
9971 	} else {
9972 		if (yych == ' ') goto yy488;
9973 		goto yy57;
9974 	}
9975 yy507:
9976 	YYDEBUG(507, *YYCURSOR);
9977 	yyaccept = 11;
9978 	yych = *(YYMARKER = ++YYCURSOR);
9979 	if (yych <= ':') {
9980 		if (yych <= ' ') {
9981 			if (yych == '\t') goto yy508;
9982 			if (yych <= 0x1F) goto yy491;
9983 		} else {
9984 			if (yych == '.') goto yy493;
9985 			if (yych <= '9') goto yy491;
9986 			goto yy511;
9987 		}
9988 	} else {
9989 		if (yych <= 'P') {
9990 			if (yych == 'A') goto yy510;
9991 			if (yych <= 'O') goto yy491;
9992 			goto yy510;
9993 		} else {
9994 			if (yych <= 'a') {
9995 				if (yych <= '`') goto yy491;
9996 				goto yy510;
9997 			} else {
9998 				if (yych == 'p') goto yy510;
9999 				goto yy491;
10000 			}
10001 		}
10002 	}
10003 yy508:
10004 	YYDEBUG(508, *YYCURSOR);
10005 	++YYCURSOR;
10006 	if ((YYLIMIT - YYCURSOR) < 5) YYFILL(5);
10007 	yych = *YYCURSOR;
10008 	YYDEBUG(509, *YYCURSOR);
10009 	if (yych <= 'A') {
10010 		if (yych <= 0x1F) {
10011 			if (yych == '\t') goto yy508;
10012 			goto yy57;
10013 		} else {
10014 			if (yych <= ' ') goto yy508;
10015 			if (yych <= '@') goto yy57;
10016 		}
10017 	} else {
10018 		if (yych <= '`') {
10019 			if (yych != 'P') goto yy57;
10020 		} else {
10021 			if (yych <= 'a') goto yy510;
10022 			if (yych != 'p') goto yy57;
10023 		}
10024 	}
10025 yy510:
10026 	YYDEBUG(510, *YYCURSOR);
10027 	yych = *++YYCURSOR;
10028 	if (yych <= 'L') {
10029 		if (yych == '.') goto yy527;
10030 		goto yy57;
10031 	} else {
10032 		if (yych <= 'M') goto yy528;
10033 		if (yych == 'm') goto yy528;
10034 		goto yy57;
10035 	}
10036 yy511:
10037 	YYDEBUG(511, *YYCURSOR);
10038 	yych = *++YYCURSOR;
10039 	if (yych <= '/') goto yy57;
10040 	if (yych <= '5') goto yy512;
10041 	if (yych <= '6') goto yy513;
10042 	if (yych <= '9') goto yy496;
10043 	goto yy57;
10044 yy512:
10045 	YYDEBUG(512, *YYCURSOR);
10046 	yyaccept = 11;
10047 	yych = *(YYMARKER = ++YYCURSOR);
10048 	if (yych == '.') goto yy497;
10049 	if (yych <= '/') goto yy491;
10050 	if (yych <= '9') goto yy514;
10051 	goto yy491;
10052 yy513:
10053 	YYDEBUG(513, *YYCURSOR);
10054 	yyaccept = 11;
10055 	yych = *(YYMARKER = ++YYCURSOR);
10056 	if (yych == '.') goto yy497;
10057 	if (yych != '0') goto yy491;
10058 yy514:
10059 	YYDEBUG(514, *YYCURSOR);
10060 	yyaccept = 11;
10061 	yych = *(YYMARKER = ++YYCURSOR);
10062 	if (yych <= ':') {
10063 		if (yych <= ' ') {
10064 			if (yych == '\t') goto yy501;
10065 			if (yych <= 0x1F) goto yy491;
10066 			goto yy501;
10067 		} else {
10068 			if (yych == '.') goto yy515;
10069 			if (yych <= '9') goto yy491;
10070 			goto yy516;
10071 		}
10072 	} else {
10073 		if (yych <= 'P') {
10074 			if (yych == 'A') goto yy503;
10075 			if (yych <= 'O') goto yy491;
10076 			goto yy503;
10077 		} else {
10078 			if (yych <= 'a') {
10079 				if (yych <= '`') goto yy491;
10080 				goto yy503;
10081 			} else {
10082 				if (yych == 'p') goto yy503;
10083 				goto yy491;
10084 			}
10085 		}
10086 	}
10087 yy515:
10088 	YYDEBUG(515, *YYCURSOR);
10089 	yych = *++YYCURSOR;
10090 	if (yych <= '/') goto yy57;
10091 	if (yych <= '9') goto yy525;
10092 	goto yy57;
10093 yy516:
10094 	YYDEBUG(516, *YYCURSOR);
10095 	yych = *++YYCURSOR;
10096 	if (yych <= '/') goto yy57;
10097 	if (yych >= ':') goto yy57;
10098 yy517:
10099 	YYDEBUG(517, *YYCURSOR);
10100 	++YYCURSOR;
10101 	if ((YYLIMIT - YYCURSOR) < 5) YYFILL(5);
10102 	yych = *YYCURSOR;
10103 	YYDEBUG(518, *YYCURSOR);
10104 	if (yych <= 'O') {
10105 		if (yych <= '9') {
10106 			if (yych <= '/') goto yy57;
10107 			goto yy517;
10108 		} else {
10109 			if (yych != 'A') goto yy57;
10110 		}
10111 	} else {
10112 		if (yych <= 'a') {
10113 			if (yych <= 'P') goto yy519;
10114 			if (yych <= '`') goto yy57;
10115 		} else {
10116 			if (yych != 'p') goto yy57;
10117 		}
10118 	}
10119 yy519:
10120 	YYDEBUG(519, *YYCURSOR);
10121 	yych = *++YYCURSOR;
10122 	if (yych <= 'L') {
10123 		if (yych != '.') goto yy57;
10124 	} else {
10125 		if (yych <= 'M') goto yy521;
10126 		if (yych == 'm') goto yy521;
10127 		goto yy57;
10128 	}
10129 	YYDEBUG(520, *YYCURSOR);
10130 	yych = *++YYCURSOR;
10131 	if (yych == 'M') goto yy521;
10132 	if (yych != 'm') goto yy57;
10133 yy521:
10134 	YYDEBUG(521, *YYCURSOR);
10135 	yych = *++YYCURSOR;
10136 	if (yych <= 0x1F) {
10137 		if (yych <= 0x00) goto yy523;
10138 		if (yych == '\t') goto yy523;
10139 		goto yy57;
10140 	} else {
10141 		if (yych <= ' ') goto yy523;
10142 		if (yych != '.') goto yy57;
10143 	}
10144 	YYDEBUG(522, *YYCURSOR);
10145 	yych = *++YYCURSOR;
10146 	if (yych <= '\t') {
10147 		if (yych <= 0x00) goto yy523;
10148 		if (yych <= 0x08) goto yy57;
10149 	} else {
10150 		if (yych != ' ') goto yy57;
10151 	}
10152 yy523:
10153 	YYDEBUG(523, *YYCURSOR);
10154 	++YYCURSOR;
10155 	YYDEBUG(524, *YYCURSOR);
10156 #line 1164 "ext/date/lib/parse_date.re"
10157 	{
10158 		DEBUG_OUTPUT("mssqltime");
10159 		TIMELIB_INIT;
10160 		TIMELIB_HAVE_TIME();
10161 		s->time->h = timelib_get_nr((char **) &ptr, 2);
10162 		s->time->i = timelib_get_nr((char **) &ptr, 2);
10163 		if (*ptr == ':' || *ptr == '.') {
10164 			s->time->s = timelib_get_nr((char **) &ptr, 2);
10165 
10166 			if (*ptr == ':' || *ptr == '.') {
10167 				s->time->f = timelib_get_frac_nr((char **) &ptr, 8);
10168 			}
10169 		}
10170 		timelib_eat_spaces((char **) &ptr);
10171 		s->time->h += timelib_meridian((char **) &ptr, s->time->h);
10172 		TIMELIB_DEINIT;
10173 		return TIMELIB_TIME24_WITH_ZONE;
10174 	}
10175 #line 10176 "ext/date/lib/parse_date.c"
10176 yy525:
10177 	YYDEBUG(525, *YYCURSOR);
10178 	yyaccept = 11;
10179 	YYMARKER = ++YYCURSOR;
10180 	if ((YYLIMIT - YYCURSOR) < 5) YYFILL(5);
10181 	yych = *YYCURSOR;
10182 	YYDEBUG(526, *YYCURSOR);
10183 	if (yych <= 'O') {
10184 		if (yych <= '9') {
10185 			if (yych <= '/') goto yy491;
10186 			goto yy525;
10187 		} else {
10188 			if (yych == 'A') goto yy519;
10189 			goto yy491;
10190 		}
10191 	} else {
10192 		if (yych <= 'a') {
10193 			if (yych <= 'P') goto yy519;
10194 			if (yych <= '`') goto yy491;
10195 			goto yy519;
10196 		} else {
10197 			if (yych == 'p') goto yy519;
10198 			goto yy491;
10199 		}
10200 	}
10201 yy527:
10202 	YYDEBUG(527, *YYCURSOR);
10203 	yych = *++YYCURSOR;
10204 	if (yych == 'M') goto yy528;
10205 	if (yych != 'm') goto yy57;
10206 yy528:
10207 	YYDEBUG(528, *YYCURSOR);
10208 	yych = *++YYCURSOR;
10209 	if (yych <= 0x1F) {
10210 		if (yych <= 0x00) goto yy488;
10211 		if (yych == '\t') goto yy488;
10212 		goto yy57;
10213 	} else {
10214 		if (yych <= ' ') goto yy488;
10215 		if (yych != '.') goto yy57;
10216 	}
10217 	YYDEBUG(529, *YYCURSOR);
10218 	yych = *++YYCURSOR;
10219 	if (yych <= '\t') {
10220 		if (yych <= 0x00) goto yy488;
10221 		if (yych <= 0x08) goto yy57;
10222 		goto yy488;
10223 	} else {
10224 		if (yych == ' ') goto yy488;
10225 		goto yy57;
10226 	}
10227 yy530:
10228 	YYDEBUG(530, *YYCURSOR);
10229 	yych = *++YYCURSOR;
10230 	if (yych == 'V') goto yy531;
10231 	if (yych != 'v') goto yy57;
10232 yy531:
10233 	YYDEBUG(531, *YYCURSOR);
10234 	yyaccept = 10;
10235 	yych = *(YYMARKER = ++YYCURSOR);
10236 	if (yych <= '.') {
10237 		if (yych <= 0x1F) {
10238 			if (yych != '\t') goto yy476;
10239 		} else {
10240 			if (yych <= ' ') goto yy532;
10241 			if (yych <= ',') goto yy476;
10242 		}
10243 	} else {
10244 		if (yych <= 'D') {
10245 			if (yych <= '/') goto yy476;
10246 			if (yych <= '9') goto yy534;
10247 			goto yy476;
10248 		} else {
10249 			if (yych <= 'E') goto yy536;
10250 			if (yych == 'e') goto yy536;
10251 			goto yy476;
10252 		}
10253 	}
10254 yy532:
10255 	YYDEBUG(532, *YYCURSOR);
10256 	++YYCURSOR;
10257 	if ((YYLIMIT - YYCURSOR) < 4) YYFILL(4);
10258 	yych = *YYCURSOR;
10259 yy533:
10260 	YYDEBUG(533, *YYCURSOR);
10261 	if (yych <= ' ') {
10262 		if (yych == '\t') goto yy532;
10263 		if (yych <= 0x1F) goto yy57;
10264 		goto yy532;
10265 	} else {
10266 		if (yych <= '.') {
10267 			if (yych <= ',') goto yy57;
10268 			goto yy532;
10269 		} else {
10270 			if (yych <= '/') goto yy57;
10271 			if (yych >= ':') goto yy57;
10272 		}
10273 	}
10274 yy534:
10275 	YYDEBUG(534, *YYCURSOR);
10276 	++YYCURSOR;
10277 	if ((yych = *YYCURSOR) <= '/') goto yy535;
10278 	if (yych <= '9') goto yy541;
10279 yy535:
10280 	YYDEBUG(535, *YYCURSOR);
10281 #line 1346 "ext/date/lib/parse_date.re"
10282 	{
10283 		int length = 0;
10284 		DEBUG_OUTPUT("datefull");
10285 		TIMELIB_INIT;
10286 		TIMELIB_HAVE_DATE();
10287 		s->time->d = timelib_get_nr((char **) &ptr, 2);
10288 		timelib_skip_day_suffix((char **) &ptr);
10289 		s->time->m = timelib_get_month((char **) &ptr);
10290 		s->time->y = timelib_get_nr_ex((char **) &ptr, 4, &length);
10291 		TIMELIB_PROCESS_YEAR(s->time->y, length);
10292 		TIMELIB_DEINIT;
10293 		return TIMELIB_DATE_FULL;
10294 	}
10295 #line 10296 "ext/date/lib/parse_date.c"
10296 yy536:
10297 	YYDEBUG(536, *YYCURSOR);
10298 	yych = *++YYCURSOR;
10299 	if (yych == 'M') goto yy537;
10300 	if (yych != 'm') goto yy57;
10301 yy537:
10302 	YYDEBUG(537, *YYCURSOR);
10303 	yych = *++YYCURSOR;
10304 	if (yych == 'B') goto yy538;
10305 	if (yych != 'b') goto yy57;
10306 yy538:
10307 	YYDEBUG(538, *YYCURSOR);
10308 	yych = *++YYCURSOR;
10309 	if (yych == 'E') goto yy539;
10310 	if (yych != 'e') goto yy57;
10311 yy539:
10312 	YYDEBUG(539, *YYCURSOR);
10313 	yych = *++YYCURSOR;
10314 	if (yych == 'R') goto yy540;
10315 	if (yych != 'r') goto yy57;
10316 yy540:
10317 	YYDEBUG(540, *YYCURSOR);
10318 	yyaccept = 10;
10319 	yych = *(YYMARKER = ++YYCURSOR);
10320 	if (yych <= ' ') {
10321 		if (yych == '\t') goto yy532;
10322 		if (yych <= 0x1F) goto yy476;
10323 		goto yy532;
10324 	} else {
10325 		if (yych <= '.') {
10326 			if (yych <= ',') goto yy476;
10327 			goto yy532;
10328 		} else {
10329 			if (yych <= '/') goto yy476;
10330 			if (yych <= '9') goto yy534;
10331 			goto yy476;
10332 		}
10333 	}
10334 yy541:
10335 	YYDEBUG(541, *YYCURSOR);
10336 	yych = *++YYCURSOR;
10337 	if (yych <= '/') goto yy535;
10338 	if (yych >= ':') goto yy535;
10339 yy542:
10340 	YYDEBUG(542, *YYCURSOR);
10341 	yych = *++YYCURSOR;
10342 	if (yych <= '/') goto yy535;
10343 	if (yych >= ':') goto yy535;
10344 	YYDEBUG(543, *YYCURSOR);
10345 	yych = *++YYCURSOR;
10346 	goto yy535;
10347 yy544:
10348 	YYDEBUG(544, *YYCURSOR);
10349 	yych = *++YYCURSOR;
10350 	if (yych == 'T') goto yy545;
10351 	if (yych != 't') goto yy57;
10352 yy545:
10353 	YYDEBUG(545, *YYCURSOR);
10354 	yyaccept = 10;
10355 	yych = *(YYMARKER = ++YYCURSOR);
10356 	if (yych <= '.') {
10357 		if (yych <= 0x1F) {
10358 			if (yych == '\t') goto yy532;
10359 			goto yy476;
10360 		} else {
10361 			if (yych <= ' ') goto yy532;
10362 			if (yych <= ',') goto yy476;
10363 			goto yy532;
10364 		}
10365 	} else {
10366 		if (yych <= 'N') {
10367 			if (yych <= '/') goto yy476;
10368 			if (yych <= '9') goto yy534;
10369 			goto yy476;
10370 		} else {
10371 			if (yych <= 'O') goto yy546;
10372 			if (yych != 'o') goto yy476;
10373 		}
10374 	}
10375 yy546:
10376 	YYDEBUG(546, *YYCURSOR);
10377 	yych = *++YYCURSOR;
10378 	if (yych == 'B') goto yy547;
10379 	if (yych != 'b') goto yy57;
10380 yy547:
10381 	YYDEBUG(547, *YYCURSOR);
10382 	yych = *++YYCURSOR;
10383 	if (yych == 'E') goto yy548;
10384 	if (yych != 'e') goto yy57;
10385 yy548:
10386 	YYDEBUG(548, *YYCURSOR);
10387 	yych = *++YYCURSOR;
10388 	if (yych == 'R') goto yy540;
10389 	if (yych == 'r') goto yy540;
10390 	goto yy57;
10391 yy549:
10392 	YYDEBUG(549, *YYCURSOR);
10393 	yych = *++YYCURSOR;
10394 	if (yych == 'G') goto yy553;
10395 	if (yych == 'g') goto yy553;
10396 	goto yy57;
10397 yy550:
10398 	YYDEBUG(550, *YYCURSOR);
10399 	yych = *++YYCURSOR;
10400 	if (yych == 'R') goto yy551;
10401 	if (yych != 'r') goto yy57;
10402 yy551:
10403 	YYDEBUG(551, *YYCURSOR);
10404 	yyaccept = 10;
10405 	yych = *(YYMARKER = ++YYCURSOR);
10406 	if (yych <= '.') {
10407 		if (yych <= 0x1F) {
10408 			if (yych == '\t') goto yy532;
10409 			goto yy476;
10410 		} else {
10411 			if (yych <= ' ') goto yy532;
10412 			if (yych <= ',') goto yy476;
10413 			goto yy532;
10414 		}
10415 	} else {
10416 		if (yych <= 'H') {
10417 			if (yych <= '/') goto yy476;
10418 			if (yych <= '9') goto yy534;
10419 			goto yy476;
10420 		} else {
10421 			if (yych <= 'I') goto yy552;
10422 			if (yych != 'i') goto yy476;
10423 		}
10424 	}
10425 yy552:
10426 	YYDEBUG(552, *YYCURSOR);
10427 	yych = *++YYCURSOR;
10428 	if (yych == 'L') goto yy540;
10429 	if (yych == 'l') goto yy540;
10430 	goto yy57;
10431 yy553:
10432 	YYDEBUG(553, *YYCURSOR);
10433 	yyaccept = 10;
10434 	yych = *(YYMARKER = ++YYCURSOR);
10435 	if (yych <= '.') {
10436 		if (yych <= 0x1F) {
10437 			if (yych == '\t') goto yy532;
10438 			goto yy476;
10439 		} else {
10440 			if (yych <= ' ') goto yy532;
10441 			if (yych <= ',') goto yy476;
10442 			goto yy532;
10443 		}
10444 	} else {
10445 		if (yych <= 'T') {
10446 			if (yych <= '/') goto yy476;
10447 			if (yych <= '9') goto yy534;
10448 			goto yy476;
10449 		} else {
10450 			if (yych <= 'U') goto yy554;
10451 			if (yych != 'u') goto yy476;
10452 		}
10453 	}
10454 yy554:
10455 	YYDEBUG(554, *YYCURSOR);
10456 	yych = *++YYCURSOR;
10457 	if (yych == 'S') goto yy555;
10458 	if (yych != 's') goto yy57;
10459 yy555:
10460 	YYDEBUG(555, *YYCURSOR);
10461 	yych = *++YYCURSOR;
10462 	if (yych == 'T') goto yy540;
10463 	if (yych == 't') goto yy540;
10464 	goto yy57;
10465 yy556:
10466 	YYDEBUG(556, *YYCURSOR);
10467 	yych = *++YYCURSOR;
10468 	if (yych <= 'N') {
10469 		if (yych == 'L') goto yy563;
10470 		if (yych <= 'M') goto yy57;
10471 		goto yy562;
10472 	} else {
10473 		if (yych <= 'l') {
10474 			if (yych <= 'k') goto yy57;
10475 			goto yy563;
10476 		} else {
10477 			if (yych == 'n') goto yy562;
10478 			goto yy57;
10479 		}
10480 	}
10481 yy557:
10482 	YYDEBUG(557, *YYCURSOR);
10483 	yych = *++YYCURSOR;
10484 	if (yych == 'N') goto yy558;
10485 	if (yych != 'n') goto yy57;
10486 yy558:
10487 	YYDEBUG(558, *YYCURSOR);
10488 	yyaccept = 10;
10489 	yych = *(YYMARKER = ++YYCURSOR);
10490 	if (yych <= '.') {
10491 		if (yych <= 0x1F) {
10492 			if (yych == '\t') goto yy532;
10493 			goto yy476;
10494 		} else {
10495 			if (yych <= ' ') goto yy532;
10496 			if (yych <= ',') goto yy476;
10497 			goto yy532;
10498 		}
10499 	} else {
10500 		if (yych <= 'T') {
10501 			if (yych <= '/') goto yy476;
10502 			if (yych <= '9') goto yy534;
10503 			goto yy476;
10504 		} else {
10505 			if (yych <= 'U') goto yy559;
10506 			if (yych != 'u') goto yy476;
10507 		}
10508 	}
10509 yy559:
10510 	YYDEBUG(559, *YYCURSOR);
10511 	yych = *++YYCURSOR;
10512 	if (yych == 'A') goto yy560;
10513 	if (yych != 'a') goto yy57;
10514 yy560:
10515 	YYDEBUG(560, *YYCURSOR);
10516 	yych = *++YYCURSOR;
10517 	if (yych == 'R') goto yy561;
10518 	if (yych != 'r') goto yy57;
10519 yy561:
10520 	YYDEBUG(561, *YYCURSOR);
10521 	yych = *++YYCURSOR;
10522 	if (yych == 'Y') goto yy540;
10523 	if (yych == 'y') goto yy540;
10524 	goto yy57;
10525 yy562:
10526 	YYDEBUG(562, *YYCURSOR);
10527 	yyaccept = 10;
10528 	yych = *(YYMARKER = ++YYCURSOR);
10529 	if (yych <= '.') {
10530 		if (yych <= 0x1F) {
10531 			if (yych == '\t') goto yy532;
10532 			goto yy476;
10533 		} else {
10534 			if (yych <= ' ') goto yy532;
10535 			if (yych <= ',') goto yy476;
10536 			goto yy532;
10537 		}
10538 	} else {
10539 		if (yych <= 'D') {
10540 			if (yych <= '/') goto yy476;
10541 			if (yych <= '9') goto yy534;
10542 			goto yy476;
10543 		} else {
10544 			if (yych <= 'E') goto yy540;
10545 			if (yych == 'e') goto yy540;
10546 			goto yy476;
10547 		}
10548 	}
10549 yy563:
10550 	YYDEBUG(563, *YYCURSOR);
10551 	yyaccept = 10;
10552 	yych = *(YYMARKER = ++YYCURSOR);
10553 	if (yych <= '.') {
10554 		if (yych <= 0x1F) {
10555 			if (yych == '\t') goto yy532;
10556 			goto yy476;
10557 		} else {
10558 			if (yych <= ' ') goto yy532;
10559 			if (yych <= ',') goto yy476;
10560 			goto yy532;
10561 		}
10562 	} else {
10563 		if (yych <= 'X') {
10564 			if (yych <= '/') goto yy476;
10565 			if (yych <= '9') goto yy534;
10566 			goto yy476;
10567 		} else {
10568 			if (yych <= 'Y') goto yy540;
10569 			if (yych == 'y') goto yy540;
10570 			goto yy476;
10571 		}
10572 	}
10573 yy564:
10574 	YYDEBUG(564, *YYCURSOR);
10575 	yyaccept = 10;
10576 	yych = *(YYMARKER = ++YYCURSOR);
10577 	if (yych <= ',') {
10578 		if (yych <= '\t') {
10579 			if (yych <= 0x08) goto yy476;
10580 			goto yy532;
10581 		} else {
10582 			if (yych == ' ') goto yy532;
10583 			goto yy476;
10584 		}
10585 	} else {
10586 		if (yych <= '9') {
10587 			if (yych <= '.') goto yy532;
10588 			if (yych <= '/') goto yy476;
10589 			goto yy534;
10590 		} else {
10591 			if (yych == 'I') goto yy540;
10592 			goto yy476;
10593 		}
10594 	}
10595 yy565:
10596 	YYDEBUG(565, *YYCURSOR);
10597 	yyaccept = 10;
10598 	yych = *(YYMARKER = ++YYCURSOR);
10599 	if (yych <= ',') {
10600 		if (yych <= '\t') {
10601 			if (yych <= 0x08) goto yy476;
10602 			goto yy532;
10603 		} else {
10604 			if (yych == ' ') goto yy532;
10605 			goto yy476;
10606 		}
10607 	} else {
10608 		if (yych <= '9') {
10609 			if (yych <= '.') goto yy532;
10610 			if (yych <= '/') goto yy476;
10611 			goto yy534;
10612 		} else {
10613 			if (yych != 'I') goto yy476;
10614 		}
10615 	}
10616 	YYDEBUG(566, *YYCURSOR);
10617 	yyaccept = 10;
10618 	yych = *(YYMARKER = ++YYCURSOR);
10619 	if (yych <= ',') {
10620 		if (yych <= '\t') {
10621 			if (yych <= 0x08) goto yy476;
10622 			goto yy532;
10623 		} else {
10624 			if (yych == ' ') goto yy532;
10625 			goto yy476;
10626 		}
10627 	} else {
10628 		if (yych <= '9') {
10629 			if (yych <= '.') goto yy532;
10630 			if (yych <= '/') goto yy476;
10631 			goto yy534;
10632 		} else {
10633 			if (yych == 'I') goto yy540;
10634 			goto yy476;
10635 		}
10636 	}
10637 yy567:
10638 	YYDEBUG(567, *YYCURSOR);
10639 	yyaccept = 10;
10640 	yych = *(YYMARKER = ++YYCURSOR);
10641 	if (yych <= ',') {
10642 		if (yych <= '\t') {
10643 			if (yych <= 0x08) goto yy476;
10644 			goto yy532;
10645 		} else {
10646 			if (yych == ' ') goto yy532;
10647 			goto yy476;
10648 		}
10649 	} else {
10650 		if (yych <= '9') {
10651 			if (yych <= '.') goto yy532;
10652 			if (yych <= '/') goto yy476;
10653 			goto yy534;
10654 		} else {
10655 			if (yych == 'I') goto yy540;
10656 			goto yy476;
10657 		}
10658 	}
10659 yy568:
10660 	YYDEBUG(568, *YYCURSOR);
10661 	yyaccept = 11;
10662 	yych = *(YYMARKER = ++YYCURSOR);
10663 	if (yych <= '.') {
10664 		if (yych <= ',') goto yy491;
10665 		if (yych <= '-') goto yy602;
10666 		goto yy601;
10667 	} else {
10668 		if (yych <= '/') goto yy491;
10669 		if (yych <= '9') goto yy615;
10670 		if (yych <= ':') goto yy493;
10671 		goto yy491;
10672 	}
10673 yy569:
10674 	YYDEBUG(569, *YYCURSOR);
10675 	yyaccept = 11;
10676 	yych = *(YYMARKER = ++YYCURSOR);
10677 	if (yych <= '/') {
10678 		if (yych <= ',') goto yy491;
10679 		if (yych <= '-') goto yy602;
10680 		if (yych <= '.') goto yy601;
10681 		goto yy491;
10682 	} else {
10683 		if (yych <= '2') goto yy615;
10684 		if (yych <= '9') goto yy614;
10685 		if (yych <= ':') goto yy493;
10686 		goto yy491;
10687 	}
10688 yy570:
10689 	YYDEBUG(570, *YYCURSOR);
10690 	yyaccept = 11;
10691 	yych = *(YYMARKER = ++YYCURSOR);
10692 	if (yych <= '.') {
10693 		if (yych <= ',') goto yy491;
10694 		if (yych <= '-') goto yy602;
10695 		goto yy601;
10696 	} else {
10697 		if (yych <= '/') goto yy491;
10698 		if (yych <= '9') goto yy614;
10699 		if (yych <= ':') goto yy493;
10700 		goto yy491;
10701 	}
10702 yy571:
10703 	YYDEBUG(571, *YYCURSOR);
10704 	yyaccept = 11;
10705 	yych = *(YYMARKER = ++YYCURSOR);
10706 	if (yych <= '.') {
10707 		if (yych <= ',') goto yy491;
10708 		if (yych <= '-') goto yy602;
10709 		goto yy601;
10710 	} else {
10711 		if (yych == ':') goto yy493;
10712 		goto yy491;
10713 	}
10714 yy572:
10715 	YYDEBUG(572, *YYCURSOR);
10716 	yych = *++YYCURSOR;
10717 	if (yych == 'E') goto yy595;
10718 	if (yych == 'e') goto yy595;
10719 	goto yy57;
10720 yy573:
10721 	YYDEBUG(573, *YYCURSOR);
10722 	yych = *++YYCURSOR;
10723 	if (yych == 'A') goto yy592;
10724 	if (yych == 'a') goto yy592;
10725 	goto yy57;
10726 yy574:
10727 	YYDEBUG(574, *YYCURSOR);
10728 	yych = *++YYCURSOR;
10729 	if (yych <= 'U') {
10730 		if (yych == 'P') goto yy550;
10731 		if (yych <= 'T') goto yy57;
10732 		goto yy549;
10733 	} else {
10734 		if (yych <= 'p') {
10735 			if (yych <= 'o') goto yy57;
10736 			goto yy550;
10737 		} else {
10738 			if (yych == 'u') goto yy549;
10739 			goto yy57;
10740 		}
10741 	}
10742 yy575:
10743 	YYDEBUG(575, *YYCURSOR);
10744 	yych = *++YYCURSOR;
10745 	if (yych == 'E') goto yy585;
10746 	if (yych == 'e') goto yy585;
10747 	goto yy57;
10748 yy576:
10749 	YYDEBUG(576, *YYCURSOR);
10750 	yych = *++YYCURSOR;
10751 	if (yych == 'E') goto yy579;
10752 	if (yych == 'e') goto yy579;
10753 	goto yy57;
10754 yy577:
10755 	YYDEBUG(577, *YYCURSOR);
10756 	++YYCURSOR;
10757 	if ((YYLIMIT - YYCURSOR) < 13) YYFILL(13);
10758 	yych = *YYCURSOR;
10759 yy578:
10760 	YYDEBUG(578, *YYCURSOR);
10761 	YYDEBUG(-1, yych);
10762 	switch (yych) {
10763 	case '\t':
10764 	case ' ':
10765 	case '-':
10766 	case '.':	goto yy577;
10767 	case 'A':
10768 	case 'a':	goto yy574;
10769 	case 'D':
10770 	case 'd':	goto yy576;
10771 	case 'F':
10772 	case 'f':	goto yy572;
10773 	case 'I':	goto yy475;
10774 	case 'J':
10775 	case 'j':	goto yy479;
10776 	case 'M':
10777 	case 'm':	goto yy573;
10778 	case 'N':
10779 	case 'n':	goto yy482;
10780 	case 'O':
10781 	case 'o':	goto yy481;
10782 	case 'S':
10783 	case 's':	goto yy575;
10784 	case 'V':	goto yy477;
10785 	case 'X':	goto yy478;
10786 	default:	goto yy57;
10787 	}
10788 yy579:
10789 	YYDEBUG(579, *YYCURSOR);
10790 	yych = *++YYCURSOR;
10791 	if (yych == 'C') goto yy580;
10792 	if (yych != 'c') goto yy57;
10793 yy580:
10794 	YYDEBUG(580, *YYCURSOR);
10795 	yyaccept = 10;
10796 	yych = *(YYMARKER = ++YYCURSOR);
10797 	if (yych <= '.') {
10798 		if (yych <= 0x1F) {
10799 			if (yych == '\t') goto yy532;
10800 			goto yy476;
10801 		} else {
10802 			if (yych <= ' ') goto yy532;
10803 			if (yych <= ',') goto yy476;
10804 			goto yy532;
10805 		}
10806 	} else {
10807 		if (yych <= 'D') {
10808 			if (yych <= '/') goto yy476;
10809 			if (yych <= '9') goto yy534;
10810 			goto yy476;
10811 		} else {
10812 			if (yych <= 'E') goto yy581;
10813 			if (yych != 'e') goto yy476;
10814 		}
10815 	}
10816 yy581:
10817 	YYDEBUG(581, *YYCURSOR);
10818 	yych = *++YYCURSOR;
10819 	if (yych == 'M') goto yy582;
10820 	if (yych != 'm') goto yy57;
10821 yy582:
10822 	YYDEBUG(582, *YYCURSOR);
10823 	yych = *++YYCURSOR;
10824 	if (yych == 'B') goto yy583;
10825 	if (yych != 'b') goto yy57;
10826 yy583:
10827 	YYDEBUG(583, *YYCURSOR);
10828 	yych = *++YYCURSOR;
10829 	if (yych == 'E') goto yy584;
10830 	if (yych != 'e') goto yy57;
10831 yy584:
10832 	YYDEBUG(584, *YYCURSOR);
10833 	yych = *++YYCURSOR;
10834 	if (yych == 'R') goto yy540;
10835 	if (yych == 'r') goto yy540;
10836 	goto yy57;
10837 yy585:
10838 	YYDEBUG(585, *YYCURSOR);
10839 	yych = *++YYCURSOR;
10840 	if (yych == 'P') goto yy586;
10841 	if (yych != 'p') goto yy57;
10842 yy586:
10843 	YYDEBUG(586, *YYCURSOR);
10844 	yyaccept = 10;
10845 	yych = *(YYMARKER = ++YYCURSOR);
10846 	if (yych <= '.') {
10847 		if (yych <= 0x1F) {
10848 			if (yych == '\t') goto yy532;
10849 			goto yy476;
10850 		} else {
10851 			if (yych <= ' ') goto yy532;
10852 			if (yych <= ',') goto yy476;
10853 			goto yy532;
10854 		}
10855 	} else {
10856 		if (yych <= 'S') {
10857 			if (yych <= '/') goto yy476;
10858 			if (yych <= '9') goto yy534;
10859 			goto yy476;
10860 		} else {
10861 			if (yych <= 'T') goto yy587;
10862 			if (yych != 't') goto yy476;
10863 		}
10864 	}
10865 yy587:
10866 	YYDEBUG(587, *YYCURSOR);
10867 	yyaccept = 10;
10868 	yych = *(YYMARKER = ++YYCURSOR);
10869 	if (yych <= '.') {
10870 		if (yych <= 0x1F) {
10871 			if (yych == '\t') goto yy532;
10872 			goto yy476;
10873 		} else {
10874 			if (yych <= ' ') goto yy532;
10875 			if (yych <= ',') goto yy476;
10876 			goto yy532;
10877 		}
10878 	} else {
10879 		if (yych <= 'D') {
10880 			if (yych <= '/') goto yy476;
10881 			if (yych <= '9') goto yy534;
10882 			goto yy476;
10883 		} else {
10884 			if (yych <= 'E') goto yy588;
10885 			if (yych != 'e') goto yy476;
10886 		}
10887 	}
10888 yy588:
10889 	YYDEBUG(588, *YYCURSOR);
10890 	yych = *++YYCURSOR;
10891 	if (yych == 'M') goto yy589;
10892 	if (yych != 'm') goto yy57;
10893 yy589:
10894 	YYDEBUG(589, *YYCURSOR);
10895 	yych = *++YYCURSOR;
10896 	if (yych == 'B') goto yy590;
10897 	if (yych != 'b') goto yy57;
10898 yy590:
10899 	YYDEBUG(590, *YYCURSOR);
10900 	yych = *++YYCURSOR;
10901 	if (yych == 'E') goto yy591;
10902 	if (yych != 'e') goto yy57;
10903 yy591:
10904 	YYDEBUG(591, *YYCURSOR);
10905 	yych = *++YYCURSOR;
10906 	if (yych == 'R') goto yy540;
10907 	if (yych == 'r') goto yy540;
10908 	goto yy57;
10909 yy592:
10910 	YYDEBUG(592, *YYCURSOR);
10911 	yych = *++YYCURSOR;
10912 	if (yych <= 'Y') {
10913 		if (yych == 'R') goto yy593;
10914 		if (yych <= 'X') goto yy57;
10915 		goto yy540;
10916 	} else {
10917 		if (yych <= 'r') {
10918 			if (yych <= 'q') goto yy57;
10919 		} else {
10920 			if (yych == 'y') goto yy540;
10921 			goto yy57;
10922 		}
10923 	}
10924 yy593:
10925 	YYDEBUG(593, *YYCURSOR);
10926 	yyaccept = 10;
10927 	yych = *(YYMARKER = ++YYCURSOR);
10928 	if (yych <= '.') {
10929 		if (yych <= 0x1F) {
10930 			if (yych == '\t') goto yy532;
10931 			goto yy476;
10932 		} else {
10933 			if (yych <= ' ') goto yy532;
10934 			if (yych <= ',') goto yy476;
10935 			goto yy532;
10936 		}
10937 	} else {
10938 		if (yych <= 'B') {
10939 			if (yych <= '/') goto yy476;
10940 			if (yych <= '9') goto yy534;
10941 			goto yy476;
10942 		} else {
10943 			if (yych <= 'C') goto yy594;
10944 			if (yych != 'c') goto yy476;
10945 		}
10946 	}
10947 yy594:
10948 	YYDEBUG(594, *YYCURSOR);
10949 	yych = *++YYCURSOR;
10950 	if (yych == 'H') goto yy540;
10951 	if (yych == 'h') goto yy540;
10952 	goto yy57;
10953 yy595:
10954 	YYDEBUG(595, *YYCURSOR);
10955 	yych = *++YYCURSOR;
10956 	if (yych == 'B') goto yy596;
10957 	if (yych != 'b') goto yy57;
10958 yy596:
10959 	YYDEBUG(596, *YYCURSOR);
10960 	yyaccept = 10;
10961 	yych = *(YYMARKER = ++YYCURSOR);
10962 	if (yych <= '.') {
10963 		if (yych <= 0x1F) {
10964 			if (yych == '\t') goto yy532;
10965 			goto yy476;
10966 		} else {
10967 			if (yych <= ' ') goto yy532;
10968 			if (yych <= ',') goto yy476;
10969 			goto yy532;
10970 		}
10971 	} else {
10972 		if (yych <= 'Q') {
10973 			if (yych <= '/') goto yy476;
10974 			if (yych <= '9') goto yy534;
10975 			goto yy476;
10976 		} else {
10977 			if (yych <= 'R') goto yy597;
10978 			if (yych != 'r') goto yy476;
10979 		}
10980 	}
10981 yy597:
10982 	YYDEBUG(597, *YYCURSOR);
10983 	yych = *++YYCURSOR;
10984 	if (yych == 'U') goto yy598;
10985 	if (yych != 'u') goto yy57;
10986 yy598:
10987 	YYDEBUG(598, *YYCURSOR);
10988 	yych = *++YYCURSOR;
10989 	if (yych == 'A') goto yy599;
10990 	if (yych != 'a') goto yy57;
10991 yy599:
10992 	YYDEBUG(599, *YYCURSOR);
10993 	yych = *++YYCURSOR;
10994 	if (yych == 'R') goto yy600;
10995 	if (yych != 'r') goto yy57;
10996 yy600:
10997 	YYDEBUG(600, *YYCURSOR);
10998 	yych = *++YYCURSOR;
10999 	if (yych == 'Y') goto yy540;
11000 	if (yych == 'y') goto yy540;
11001 	goto yy57;
11002 yy601:
11003 	YYDEBUG(601, *YYCURSOR);
11004 	yych = *++YYCURSOR;
11005 	if (yych <= '/') goto yy57;
11006 	if (yych <= '5') goto yy608;
11007 	if (yych <= '6') goto yy609;
11008 	if (yych <= '9') goto yy610;
11009 	goto yy57;
11010 yy602:
11011 	YYDEBUG(602, *YYCURSOR);
11012 	yych = *++YYCURSOR;
11013 	if (yych <= '/') goto yy57;
11014 	if (yych >= ':') goto yy57;
11015 	YYDEBUG(603, *YYCURSOR);
11016 	yych = *++YYCURSOR;
11017 	if (yych <= '/') goto yy57;
11018 	if (yych >= ':') goto yy57;
11019 yy604:
11020 	YYDEBUG(604, *YYCURSOR);
11021 	yych = *++YYCURSOR;
11022 	if (yych <= '/') goto yy57;
11023 	if (yych >= ':') goto yy57;
11024 yy605:
11025 	YYDEBUG(605, *YYCURSOR);
11026 	yych = *++YYCURSOR;
11027 	if (yych <= '/') goto yy57;
11028 	if (yych >= ':') goto yy57;
11029 	YYDEBUG(606, *YYCURSOR);
11030 	++YYCURSOR;
11031 	YYDEBUG(607, *YYCURSOR);
11032 #line 1361 "ext/date/lib/parse_date.re"
11033 	{
11034 		DEBUG_OUTPUT("pointed date YYYY");
11035 		TIMELIB_INIT;
11036 		TIMELIB_HAVE_DATE();
11037 		s->time->d = timelib_get_nr((char **) &ptr, 2);
11038 		s->time->m = timelib_get_nr((char **) &ptr, 2);
11039 		s->time->y = timelib_get_nr((char **) &ptr, 4);
11040 		TIMELIB_DEINIT;
11041 		return TIMELIB_DATE_FULL_POINTED;
11042 	}
11043 #line 11044 "ext/date/lib/parse_date.c"
11044 yy608:
11045 	YYDEBUG(608, *YYCURSOR);
11046 	yyaccept = 11;
11047 	yych = *(YYMARKER = ++YYCURSOR);
11048 	if (yych == '.') goto yy497;
11049 	if (yych <= '/') goto yy491;
11050 	if (yych <= '9') goto yy613;
11051 	goto yy491;
11052 yy609:
11053 	YYDEBUG(609, *YYCURSOR);
11054 	yyaccept = 11;
11055 	yych = *(YYMARKER = ++YYCURSOR);
11056 	if (yych <= '/') {
11057 		if (yych == '.') goto yy497;
11058 		goto yy491;
11059 	} else {
11060 		if (yych <= '0') goto yy613;
11061 		if (yych <= '9') goto yy611;
11062 		goto yy491;
11063 	}
11064 yy610:
11065 	YYDEBUG(610, *YYCURSOR);
11066 	yyaccept = 11;
11067 	yych = *(YYMARKER = ++YYCURSOR);
11068 	if (yych == '.') goto yy497;
11069 	if (yych <= '/') goto yy491;
11070 	if (yych >= ':') goto yy491;
11071 yy611:
11072 	YYDEBUG(611, *YYCURSOR);
11073 	yyaccept = 12;
11074 	yych = *(YYMARKER = ++YYCURSOR);
11075 	if (yych <= '/') goto yy612;
11076 	if (yych <= '9') goto yy605;
11077 yy612:
11078 	YYDEBUG(612, *YYCURSOR);
11079 #line 1373 "ext/date/lib/parse_date.re"
11080 	{
11081 		int length = 0;
11082 		DEBUG_OUTPUT("pointed date YY");
11083 		TIMELIB_INIT;
11084 		TIMELIB_HAVE_DATE();
11085 		s->time->d = timelib_get_nr((char **) &ptr, 2);
11086 		s->time->m = timelib_get_nr((char **) &ptr, 2);
11087 		s->time->y = timelib_get_nr_ex((char **) &ptr, 2, &length);
11088 		TIMELIB_PROCESS_YEAR(s->time->y, length);
11089 		TIMELIB_DEINIT;
11090 		return TIMELIB_DATE_FULL_POINTED;
11091 	}
11092 #line 11093 "ext/date/lib/parse_date.c"
11093 yy613:
11094 	YYDEBUG(613, *YYCURSOR);
11095 	yyaccept = 11;
11096 	yych = *(YYMARKER = ++YYCURSOR);
11097 	if (yych <= '9') {
11098 		if (yych <= ' ') {
11099 			if (yych == '\t') goto yy501;
11100 			if (yych <= 0x1F) goto yy491;
11101 			goto yy501;
11102 		} else {
11103 			if (yych == '.') goto yy497;
11104 			if (yych <= '/') goto yy491;
11105 			goto yy605;
11106 		}
11107 	} else {
11108 		if (yych <= 'P') {
11109 			if (yych == 'A') goto yy503;
11110 			if (yych <= 'O') goto yy491;
11111 			goto yy503;
11112 		} else {
11113 			if (yych <= 'a') {
11114 				if (yych <= '`') goto yy491;
11115 				goto yy503;
11116 			} else {
11117 				if (yych == 'p') goto yy503;
11118 				goto yy491;
11119 			}
11120 		}
11121 	}
11122 yy614:
11123 	YYDEBUG(614, *YYCURSOR);
11124 	yyaccept = 11;
11125 	yych = *(YYMARKER = ++YYCURSOR);
11126 	if (yych <= ':') {
11127 		if (yych <= ' ') {
11128 			if (yych == '\t') goto yy508;
11129 			if (yych <= 0x1F) goto yy491;
11130 			goto yy508;
11131 		} else {
11132 			if (yych == '.') goto yy493;
11133 			if (yych <= '9') goto yy491;
11134 			goto yy493;
11135 		}
11136 	} else {
11137 		if (yych <= 'P') {
11138 			if (yych == 'A') goto yy510;
11139 			if (yych <= 'O') goto yy491;
11140 			goto yy510;
11141 		} else {
11142 			if (yych <= 'a') {
11143 				if (yych <= '`') goto yy491;
11144 				goto yy510;
11145 			} else {
11146 				if (yych == 'p') goto yy510;
11147 				goto yy491;
11148 			}
11149 		}
11150 	}
11151 yy615:
11152 	YYDEBUG(615, *YYCURSOR);
11153 	yyaccept = 11;
11154 	yych = *(YYMARKER = ++YYCURSOR);
11155 	if (yych <= ':') {
11156 		if (yych <= ' ') {
11157 			if (yych == '\t') goto yy508;
11158 			if (yych <= 0x1F) goto yy491;
11159 			goto yy508;
11160 		} else {
11161 			if (yych <= '-') {
11162 				if (yych <= ',') goto yy491;
11163 				goto yy602;
11164 			} else {
11165 				if (yych <= '.') goto yy601;
11166 				if (yych <= '9') goto yy491;
11167 				goto yy493;
11168 			}
11169 		}
11170 	} else {
11171 		if (yych <= 'P') {
11172 			if (yych == 'A') goto yy510;
11173 			if (yych <= 'O') goto yy491;
11174 			goto yy510;
11175 		} else {
11176 			if (yych <= 'a') {
11177 				if (yych <= '`') goto yy491;
11178 				goto yy510;
11179 			} else {
11180 				if (yych == 'p') goto yy510;
11181 				goto yy491;
11182 			}
11183 		}
11184 	}
11185 yy616:
11186 	YYDEBUG(616, *YYCURSOR);
11187 	yych = *++YYCURSOR;
11188 	if (yych <= '.') {
11189 		if (yych <= ',') goto yy57;
11190 		if (yych <= '-') goto yy655;
11191 		goto yy602;
11192 	} else {
11193 		if (yych <= '/') goto yy57;
11194 		if (yych <= '9') goto yy618;
11195 		goto yy57;
11196 	}
11197 yy617:
11198 	YYDEBUG(617, *YYCURSOR);
11199 	yych = *++YYCURSOR;
11200 	if (yych <= '.') {
11201 		if (yych <= ',') goto yy57;
11202 		if (yych <= '-') goto yy655;
11203 		goto yy602;
11204 	} else {
11205 		if (yych <= '/') goto yy57;
11206 		if (yych >= '3') goto yy57;
11207 	}
11208 yy618:
11209 	YYDEBUG(618, *YYCURSOR);
11210 	yych = *++YYCURSOR;
11211 	if (yych <= ',') goto yy57;
11212 	if (yych <= '-') goto yy655;
11213 	if (yych <= '.') goto yy602;
11214 	goto yy57;
11215 yy619:
11216 	YYDEBUG(619, *YYCURSOR);
11217 	yych = *++YYCURSOR;
11218 	if (yych <= 'U') {
11219 		if (yych == 'A') goto yy651;
11220 		if (yych <= 'T') goto yy57;
11221 		goto yy650;
11222 	} else {
11223 		if (yych <= 'a') {
11224 			if (yych <= '`') goto yy57;
11225 			goto yy651;
11226 		} else {
11227 			if (yych == 'u') goto yy650;
11228 			goto yy57;
11229 		}
11230 	}
11231 yy620:
11232 	YYDEBUG(620, *YYCURSOR);
11233 	yych = *++YYCURSOR;
11234 	if (yych == 'E') goto yy648;
11235 	if (yych == 'e') goto yy648;
11236 	goto yy57;
11237 yy621:
11238 	YYDEBUG(621, *YYCURSOR);
11239 	yych = *++YYCURSOR;
11240 	if (yych == 'A') goto yy645;
11241 	if (yych == 'a') goto yy645;
11242 	goto yy57;
11243 yy622:
11244 	YYDEBUG(622, *YYCURSOR);
11245 	yych = *++YYCURSOR;
11246 	if (yych <= 'U') {
11247 		if (yych == 'P') goto yy642;
11248 		if (yych <= 'T') goto yy57;
11249 		goto yy641;
11250 	} else {
11251 		if (yych <= 'p') {
11252 			if (yych <= 'o') goto yy57;
11253 			goto yy642;
11254 		} else {
11255 			if (yych == 'u') goto yy641;
11256 			goto yy57;
11257 		}
11258 	}
11259 yy623:
11260 	YYDEBUG(623, *YYCURSOR);
11261 	yych = *++YYCURSOR;
11262 	if (yych == 'E') goto yy638;
11263 	if (yych == 'e') goto yy638;
11264 	goto yy57;
11265 yy624:
11266 	YYDEBUG(624, *YYCURSOR);
11267 	yych = *++YYCURSOR;
11268 	if (yych == 'C') goto yy636;
11269 	if (yych == 'c') goto yy636;
11270 	goto yy57;
11271 yy625:
11272 	YYDEBUG(625, *YYCURSOR);
11273 	yych = *++YYCURSOR;
11274 	if (yych == 'O') goto yy634;
11275 	if (yych == 'o') goto yy634;
11276 	goto yy57;
11277 yy626:
11278 	YYDEBUG(626, *YYCURSOR);
11279 	yych = *++YYCURSOR;
11280 	if (yych == 'E') goto yy627;
11281 	if (yych != 'e') goto yy57;
11282 yy627:
11283 	YYDEBUG(627, *YYCURSOR);
11284 	yych = *++YYCURSOR;
11285 	if (yych == 'C') goto yy628;
11286 	if (yych != 'c') goto yy57;
11287 yy628:
11288 	YYDEBUG(628, *YYCURSOR);
11289 	yyaccept = 10;
11290 	yych = *(YYMARKER = ++YYCURSOR);
11291 	if (yych <= '.') {
11292 		if (yych <= 0x1F) {
11293 			if (yych == '\t') goto yy532;
11294 			goto yy476;
11295 		} else {
11296 			if (yych <= ' ') goto yy532;
11297 			if (yych <= ',') goto yy476;
11298 			if (yych >= '.') goto yy532;
11299 		}
11300 	} else {
11301 		if (yych <= 'D') {
11302 			if (yych <= '/') goto yy476;
11303 			if (yych <= '9') goto yy534;
11304 			goto yy476;
11305 		} else {
11306 			if (yych <= 'E') goto yy581;
11307 			if (yych == 'e') goto yy581;
11308 			goto yy476;
11309 		}
11310 	}
11311 yy629:
11312 	YYDEBUG(629, *YYCURSOR);
11313 	yych = *++YYCURSOR;
11314 	if (yych <= '/') goto yy533;
11315 	if (yych <= '0') goto yy630;
11316 	if (yych <= '2') goto yy631;
11317 	if (yych <= '3') goto yy632;
11318 	goto yy533;
11319 yy630:
11320 	YYDEBUG(630, *YYCURSOR);
11321 	yych = *++YYCURSOR;
11322 	if (yych <= '/') goto yy535;
11323 	if (yych <= '9') goto yy633;
11324 	goto yy535;
11325 yy631:
11326 	YYDEBUG(631, *YYCURSOR);
11327 	yych = *++YYCURSOR;
11328 	if (yych <= '/') goto yy535;
11329 	if (yych <= '9') goto yy633;
11330 	goto yy535;
11331 yy632:
11332 	YYDEBUG(632, *YYCURSOR);
11333 	yych = *++YYCURSOR;
11334 	if (yych <= '/') goto yy535;
11335 	if (yych <= '1') goto yy633;
11336 	if (yych <= '9') goto yy541;
11337 	goto yy535;
11338 yy633:
11339 	YYDEBUG(633, *YYCURSOR);
11340 	yych = *++YYCURSOR;
11341 	if (yych <= '/') goto yy535;
11342 	if (yych <= '9') goto yy542;
11343 	goto yy535;
11344 yy634:
11345 	YYDEBUG(634, *YYCURSOR);
11346 	yych = *++YYCURSOR;
11347 	if (yych == 'V') goto yy635;
11348 	if (yych != 'v') goto yy57;
11349 yy635:
11350 	YYDEBUG(635, *YYCURSOR);
11351 	yyaccept = 10;
11352 	yych = *(YYMARKER = ++YYCURSOR);
11353 	if (yych <= '.') {
11354 		if (yych <= 0x1F) {
11355 			if (yych == '\t') goto yy532;
11356 			goto yy476;
11357 		} else {
11358 			if (yych <= ' ') goto yy532;
11359 			if (yych <= ',') goto yy476;
11360 			if (yych <= '-') goto yy629;
11361 			goto yy532;
11362 		}
11363 	} else {
11364 		if (yych <= 'D') {
11365 			if (yych <= '/') goto yy476;
11366 			if (yych <= '9') goto yy534;
11367 			goto yy476;
11368 		} else {
11369 			if (yych <= 'E') goto yy536;
11370 			if (yych == 'e') goto yy536;
11371 			goto yy476;
11372 		}
11373 	}
11374 yy636:
11375 	YYDEBUG(636, *YYCURSOR);
11376 	yych = *++YYCURSOR;
11377 	if (yych == 'T') goto yy637;
11378 	if (yych != 't') goto yy57;
11379 yy637:
11380 	YYDEBUG(637, *YYCURSOR);
11381 	yyaccept = 10;
11382 	yych = *(YYMARKER = ++YYCURSOR);
11383 	if (yych <= '.') {
11384 		if (yych <= 0x1F) {
11385 			if (yych == '\t') goto yy532;
11386 			goto yy476;
11387 		} else {
11388 			if (yych <= ' ') goto yy532;
11389 			if (yych <= ',') goto yy476;
11390 			if (yych <= '-') goto yy629;
11391 			goto yy532;
11392 		}
11393 	} else {
11394 		if (yych <= 'N') {
11395 			if (yych <= '/') goto yy476;
11396 			if (yych <= '9') goto yy534;
11397 			goto yy476;
11398 		} else {
11399 			if (yych <= 'O') goto yy546;
11400 			if (yych == 'o') goto yy546;
11401 			goto yy476;
11402 		}
11403 	}
11404 yy638:
11405 	YYDEBUG(638, *YYCURSOR);
11406 	yych = *++YYCURSOR;
11407 	if (yych == 'P') goto yy639;
11408 	if (yych != 'p') goto yy57;
11409 yy639:
11410 	YYDEBUG(639, *YYCURSOR);
11411 	yyaccept = 10;
11412 	yych = *(YYMARKER = ++YYCURSOR);
11413 	if (yych <= '.') {
11414 		if (yych <= 0x1F) {
11415 			if (yych == '\t') goto yy532;
11416 			goto yy476;
11417 		} else {
11418 			if (yych <= ' ') goto yy532;
11419 			if (yych <= ',') goto yy476;
11420 			if (yych <= '-') goto yy629;
11421 			goto yy532;
11422 		}
11423 	} else {
11424 		if (yych <= 'S') {
11425 			if (yych <= '/') goto yy476;
11426 			if (yych <= '9') goto yy534;
11427 			goto yy476;
11428 		} else {
11429 			if (yych <= 'T') goto yy640;
11430 			if (yych != 't') goto yy476;
11431 		}
11432 	}
11433 yy640:
11434 	YYDEBUG(640, *YYCURSOR);
11435 	yyaccept = 10;
11436 	yych = *(YYMARKER = ++YYCURSOR);
11437 	if (yych <= '.') {
11438 		if (yych <= 0x1F) {
11439 			if (yych == '\t') goto yy532;
11440 			goto yy476;
11441 		} else {
11442 			if (yych <= ' ') goto yy532;
11443 			if (yych <= ',') goto yy476;
11444 			if (yych <= '-') goto yy629;
11445 			goto yy532;
11446 		}
11447 	} else {
11448 		if (yych <= 'D') {
11449 			if (yych <= '/') goto yy476;
11450 			if (yych <= '9') goto yy534;
11451 			goto yy476;
11452 		} else {
11453 			if (yych <= 'E') goto yy588;
11454 			if (yych == 'e') goto yy588;
11455 			goto yy476;
11456 		}
11457 	}
11458 yy641:
11459 	YYDEBUG(641, *YYCURSOR);
11460 	yych = *++YYCURSOR;
11461 	if (yych == 'G') goto yy644;
11462 	if (yych == 'g') goto yy644;
11463 	goto yy57;
11464 yy642:
11465 	YYDEBUG(642, *YYCURSOR);
11466 	yych = *++YYCURSOR;
11467 	if (yych == 'R') goto yy643;
11468 	if (yych != 'r') goto yy57;
11469 yy643:
11470 	YYDEBUG(643, *YYCURSOR);
11471 	yyaccept = 10;
11472 	yych = *(YYMARKER = ++YYCURSOR);
11473 	if (yych <= '.') {
11474 		if (yych <= 0x1F) {
11475 			if (yych == '\t') goto yy532;
11476 			goto yy476;
11477 		} else {
11478 			if (yych <= ' ') goto yy532;
11479 			if (yych <= ',') goto yy476;
11480 			if (yych <= '-') goto yy629;
11481 			goto yy532;
11482 		}
11483 	} else {
11484 		if (yych <= 'H') {
11485 			if (yych <= '/') goto yy476;
11486 			if (yych <= '9') goto yy534;
11487 			goto yy476;
11488 		} else {
11489 			if (yych <= 'I') goto yy552;
11490 			if (yych == 'i') goto yy552;
11491 			goto yy476;
11492 		}
11493 	}
11494 yy644:
11495 	YYDEBUG(644, *YYCURSOR);
11496 	yyaccept = 10;
11497 	yych = *(YYMARKER = ++YYCURSOR);
11498 	if (yych <= '.') {
11499 		if (yych <= 0x1F) {
11500 			if (yych == '\t') goto yy532;
11501 			goto yy476;
11502 		} else {
11503 			if (yych <= ' ') goto yy532;
11504 			if (yych <= ',') goto yy476;
11505 			if (yych <= '-') goto yy629;
11506 			goto yy532;
11507 		}
11508 	} else {
11509 		if (yych <= 'T') {
11510 			if (yych <= '/') goto yy476;
11511 			if (yych <= '9') goto yy534;
11512 			goto yy476;
11513 		} else {
11514 			if (yych <= 'U') goto yy554;
11515 			if (yych == 'u') goto yy554;
11516 			goto yy476;
11517 		}
11518 	}
11519 yy645:
11520 	YYDEBUG(645, *YYCURSOR);
11521 	yych = *++YYCURSOR;
11522 	if (yych <= 'Y') {
11523 		if (yych == 'R') goto yy646;
11524 		if (yych <= 'X') goto yy57;
11525 		goto yy647;
11526 	} else {
11527 		if (yych <= 'r') {
11528 			if (yych <= 'q') goto yy57;
11529 		} else {
11530 			if (yych == 'y') goto yy647;
11531 			goto yy57;
11532 		}
11533 	}
11534 yy646:
11535 	YYDEBUG(646, *YYCURSOR);
11536 	yyaccept = 10;
11537 	yych = *(YYMARKER = ++YYCURSOR);
11538 	if (yych <= '.') {
11539 		if (yych <= 0x1F) {
11540 			if (yych == '\t') goto yy532;
11541 			goto yy476;
11542 		} else {
11543 			if (yych <= ' ') goto yy532;
11544 			if (yych <= ',') goto yy476;
11545 			if (yych <= '-') goto yy629;
11546 			goto yy532;
11547 		}
11548 	} else {
11549 		if (yych <= 'B') {
11550 			if (yych <= '/') goto yy476;
11551 			if (yych <= '9') goto yy534;
11552 			goto yy476;
11553 		} else {
11554 			if (yych <= 'C') goto yy594;
11555 			if (yych == 'c') goto yy594;
11556 			goto yy476;
11557 		}
11558 	}
11559 yy647:
11560 	YYDEBUG(647, *YYCURSOR);
11561 	yyaccept = 10;
11562 	yych = *(YYMARKER = ++YYCURSOR);
11563 	if (yych <= ',') {
11564 		if (yych <= '\t') {
11565 			if (yych <= 0x08) goto yy476;
11566 			goto yy532;
11567 		} else {
11568 			if (yych == ' ') goto yy532;
11569 			goto yy476;
11570 		}
11571 	} else {
11572 		if (yych <= '.') {
11573 			if (yych <= '-') goto yy629;
11574 			goto yy532;
11575 		} else {
11576 			if (yych <= '/') goto yy476;
11577 			if (yych <= '9') goto yy534;
11578 			goto yy476;
11579 		}
11580 	}
11581 yy648:
11582 	YYDEBUG(648, *YYCURSOR);
11583 	yych = *++YYCURSOR;
11584 	if (yych == 'B') goto yy649;
11585 	if (yych != 'b') goto yy57;
11586 yy649:
11587 	YYDEBUG(649, *YYCURSOR);
11588 	yyaccept = 10;
11589 	yych = *(YYMARKER = ++YYCURSOR);
11590 	if (yych <= '.') {
11591 		if (yych <= 0x1F) {
11592 			if (yych == '\t') goto yy532;
11593 			goto yy476;
11594 		} else {
11595 			if (yych <= ' ') goto yy532;
11596 			if (yych <= ',') goto yy476;
11597 			if (yych <= '-') goto yy629;
11598 			goto yy532;
11599 		}
11600 	} else {
11601 		if (yych <= 'Q') {
11602 			if (yych <= '/') goto yy476;
11603 			if (yych <= '9') goto yy534;
11604 			goto yy476;
11605 		} else {
11606 			if (yych <= 'R') goto yy597;
11607 			if (yych == 'r') goto yy597;
11608 			goto yy476;
11609 		}
11610 	}
11611 yy650:
11612 	YYDEBUG(650, *YYCURSOR);
11613 	yych = *++YYCURSOR;
11614 	if (yych <= 'N') {
11615 		if (yych == 'L') goto yy654;
11616 		if (yych <= 'M') goto yy57;
11617 		goto yy653;
11618 	} else {
11619 		if (yych <= 'l') {
11620 			if (yych <= 'k') goto yy57;
11621 			goto yy654;
11622 		} else {
11623 			if (yych == 'n') goto yy653;
11624 			goto yy57;
11625 		}
11626 	}
11627 yy651:
11628 	YYDEBUG(651, *YYCURSOR);
11629 	yych = *++YYCURSOR;
11630 	if (yych == 'N') goto yy652;
11631 	if (yych != 'n') goto yy57;
11632 yy652:
11633 	YYDEBUG(652, *YYCURSOR);
11634 	yyaccept = 10;
11635 	yych = *(YYMARKER = ++YYCURSOR);
11636 	if (yych <= '.') {
11637 		if (yych <= 0x1F) {
11638 			if (yych == '\t') goto yy532;
11639 			goto yy476;
11640 		} else {
11641 			if (yych <= ' ') goto yy532;
11642 			if (yych <= ',') goto yy476;
11643 			if (yych <= '-') goto yy629;
11644 			goto yy532;
11645 		}
11646 	} else {
11647 		if (yych <= 'T') {
11648 			if (yych <= '/') goto yy476;
11649 			if (yych <= '9') goto yy534;
11650 			goto yy476;
11651 		} else {
11652 			if (yych <= 'U') goto yy559;
11653 			if (yych == 'u') goto yy559;
11654 			goto yy476;
11655 		}
11656 	}
11657 yy653:
11658 	YYDEBUG(653, *YYCURSOR);
11659 	yyaccept = 10;
11660 	yych = *(YYMARKER = ++YYCURSOR);
11661 	if (yych <= '.') {
11662 		if (yych <= 0x1F) {
11663 			if (yych == '\t') goto yy532;
11664 			goto yy476;
11665 		} else {
11666 			if (yych <= ' ') goto yy532;
11667 			if (yych <= ',') goto yy476;
11668 			if (yych <= '-') goto yy629;
11669 			goto yy532;
11670 		}
11671 	} else {
11672 		if (yych <= 'D') {
11673 			if (yych <= '/') goto yy476;
11674 			if (yych <= '9') goto yy534;
11675 			goto yy476;
11676 		} else {
11677 			if (yych <= 'E') goto yy540;
11678 			if (yych == 'e') goto yy540;
11679 			goto yy476;
11680 		}
11681 	}
11682 yy654:
11683 	YYDEBUG(654, *YYCURSOR);
11684 	yyaccept = 10;
11685 	yych = *(YYMARKER = ++YYCURSOR);
11686 	if (yych <= '.') {
11687 		if (yych <= 0x1F) {
11688 			if (yych == '\t') goto yy532;
11689 			goto yy476;
11690 		} else {
11691 			if (yych <= ' ') goto yy532;
11692 			if (yych <= ',') goto yy476;
11693 			if (yych <= '-') goto yy629;
11694 			goto yy532;
11695 		}
11696 	} else {
11697 		if (yych <= 'X') {
11698 			if (yych <= '/') goto yy476;
11699 			if (yych <= '9') goto yy534;
11700 			goto yy476;
11701 		} else {
11702 			if (yych <= 'Y') goto yy540;
11703 			if (yych == 'y') goto yy540;
11704 			goto yy476;
11705 		}
11706 	}
11707 yy655:
11708 	YYDEBUG(655, *YYCURSOR);
11709 	yych = *++YYCURSOR;
11710 	if (yych <= '/') goto yy57;
11711 	if (yych <= '2') goto yy656;
11712 	if (yych <= '3') goto yy658;
11713 	if (yych <= '9') goto yy659;
11714 	goto yy57;
11715 yy656:
11716 	YYDEBUG(656, *YYCURSOR);
11717 	yyaccept = 13;
11718 	yych = *(YYMARKER = ++YYCURSOR);
11719 	if (yych <= 'n') {
11720 		if (yych <= '/') goto yy657;
11721 		if (yych <= '9') goto yy665;
11722 		if (yych >= 'n') goto yy661;
11723 	} else {
11724 		if (yych <= 'r') {
11725 			if (yych >= 'r') goto yy662;
11726 		} else {
11727 			if (yych <= 's') goto yy660;
11728 			if (yych <= 't') goto yy663;
11729 		}
11730 	}
11731 yy657:
11732 	YYDEBUG(657, *YYCURSOR);
11733 #line 1332 "ext/date/lib/parse_date.re"
11734 	{
11735 		int length = 0;
11736 		DEBUG_OUTPUT("gnudateshort");
11737 		TIMELIB_INIT;
11738 		TIMELIB_HAVE_DATE();
11739 		s->time->y = timelib_get_nr_ex((char **) &ptr, 4, &length);
11740 		s->time->m = timelib_get_nr((char **) &ptr, 2);
11741 		s->time->d = timelib_get_nr((char **) &ptr, 2);
11742 		TIMELIB_PROCESS_YEAR(s->time->y, length);
11743 		TIMELIB_DEINIT;
11744 		return TIMELIB_ISO_DATE;
11745 	}
11746 #line 11747 "ext/date/lib/parse_date.c"
11747 yy658:
11748 	YYDEBUG(658, *YYCURSOR);
11749 	yyaccept = 13;
11750 	yych = *(YYMARKER = ++YYCURSOR);
11751 	if (yych <= 'n') {
11752 		if (yych <= '1') {
11753 			if (yych <= '/') goto yy657;
11754 			goto yy665;
11755 		} else {
11756 			if (yych <= '9') goto yy604;
11757 			if (yych <= 'm') goto yy657;
11758 			goto yy661;
11759 		}
11760 	} else {
11761 		if (yych <= 'r') {
11762 			if (yych <= 'q') goto yy657;
11763 			goto yy662;
11764 		} else {
11765 			if (yych <= 's') goto yy660;
11766 			if (yych <= 't') goto yy663;
11767 			goto yy657;
11768 		}
11769 	}
11770 yy659:
11771 	YYDEBUG(659, *YYCURSOR);
11772 	yyaccept = 13;
11773 	yych = *(YYMARKER = ++YYCURSOR);
11774 	if (yych <= 'n') {
11775 		if (yych <= '/') goto yy657;
11776 		if (yych <= '9') goto yy604;
11777 		if (yych <= 'm') goto yy657;
11778 		goto yy661;
11779 	} else {
11780 		if (yych <= 'r') {
11781 			if (yych <= 'q') goto yy657;
11782 			goto yy662;
11783 		} else {
11784 			if (yych <= 's') goto yy660;
11785 			if (yych <= 't') goto yy663;
11786 			goto yy657;
11787 		}
11788 	}
11789 yy660:
11790 	YYDEBUG(660, *YYCURSOR);
11791 	yych = *++YYCURSOR;
11792 	if (yych == 't') goto yy664;
11793 	goto yy57;
11794 yy661:
11795 	YYDEBUG(661, *YYCURSOR);
11796 	yych = *++YYCURSOR;
11797 	if (yych == 'd') goto yy664;
11798 	goto yy57;
11799 yy662:
11800 	YYDEBUG(662, *YYCURSOR);
11801 	yych = *++YYCURSOR;
11802 	if (yych == 'd') goto yy664;
11803 	goto yy57;
11804 yy663:
11805 	YYDEBUG(663, *YYCURSOR);
11806 	yych = *++YYCURSOR;
11807 	if (yych != 'h') goto yy57;
11808 yy664:
11809 	YYDEBUG(664, *YYCURSOR);
11810 	yych = *++YYCURSOR;
11811 	goto yy657;
11812 yy665:
11813 	YYDEBUG(665, *YYCURSOR);
11814 	yyaccept = 13;
11815 	yych = *(YYMARKER = ++YYCURSOR);
11816 	if (yych <= 'n') {
11817 		if (yych <= '/') goto yy657;
11818 		if (yych <= '9') goto yy605;
11819 		if (yych <= 'm') goto yy657;
11820 		goto yy661;
11821 	} else {
11822 		if (yych <= 'r') {
11823 			if (yych <= 'q') goto yy657;
11824 			goto yy662;
11825 		} else {
11826 			if (yych <= 's') goto yy660;
11827 			if (yych <= 't') goto yy663;
11828 			goto yy657;
11829 		}
11830 	}
11831 yy666:
11832 	YYDEBUG(666, *YYCURSOR);
11833 	yyaccept = 14;
11834 	yych = *(YYMARKER = ++YYCURSOR);
11835 	if (yych <= 'n') {
11836 		if (yych <= '/') {
11837 			if (yych >= '/') goto yy723;
11838 		} else {
11839 			if (yych <= '9') goto yy669;
11840 			if (yych >= 'n') goto yy720;
11841 		}
11842 	} else {
11843 		if (yych <= 'r') {
11844 			if (yych >= 'r') goto yy721;
11845 		} else {
11846 			if (yych <= 's') goto yy719;
11847 			if (yych <= 't') goto yy722;
11848 		}
11849 	}
11850 yy667:
11851 	YYDEBUG(667, *YYCURSOR);
11852 #line 1276 "ext/date/lib/parse_date.re"
11853 	{
11854 		int length = 0;
11855 		DEBUG_OUTPUT("americanshort | american");
11856 		TIMELIB_INIT;
11857 		TIMELIB_HAVE_DATE();
11858 		s->time->m = timelib_get_nr((char **) &ptr, 2);
11859 		s->time->d = timelib_get_nr((char **) &ptr, 2);
11860 		if (*ptr == '/') {
11861 			s->time->y = timelib_get_nr_ex((char **) &ptr, 4, &length);
11862 			TIMELIB_PROCESS_YEAR(s->time->y, length);
11863 		}
11864 		TIMELIB_DEINIT;
11865 		return TIMELIB_AMERICAN;
11866 	}
11867 #line 11868 "ext/date/lib/parse_date.c"
11868 yy668:
11869 	YYDEBUG(668, *YYCURSOR);
11870 	yyaccept = 14;
11871 	yych = *(YYMARKER = ++YYCURSOR);
11872 	if (yych <= 'n') {
11873 		if (yych <= '/') {
11874 			if (yych <= '.') goto yy667;
11875 			goto yy723;
11876 		} else {
11877 			if (yych <= '1') goto yy669;
11878 			if (yych <= 'm') goto yy667;
11879 			goto yy720;
11880 		}
11881 	} else {
11882 		if (yych <= 'r') {
11883 			if (yych <= 'q') goto yy667;
11884 			goto yy721;
11885 		} else {
11886 			if (yych <= 's') goto yy719;
11887 			if (yych <= 't') goto yy722;
11888 			goto yy667;
11889 		}
11890 	}
11891 yy669:
11892 	YYDEBUG(669, *YYCURSOR);
11893 	yyaccept = 14;
11894 	yych = *(YYMARKER = ++YYCURSOR);
11895 	if (yych <= 'n') {
11896 		if (yych == '/') goto yy723;
11897 		if (yych <= 'm') goto yy667;
11898 		goto yy720;
11899 	} else {
11900 		if (yych <= 'r') {
11901 			if (yych <= 'q') goto yy667;
11902 			goto yy721;
11903 		} else {
11904 			if (yych <= 's') goto yy719;
11905 			if (yych <= 't') goto yy722;
11906 			goto yy667;
11907 		}
11908 	}
11909 yy670:
11910 	YYDEBUG(670, *YYCURSOR);
11911 	yych = *++YYCURSOR;
11912 	if (yych <= 'U') {
11913 		if (yych == 'A') goto yy718;
11914 		if (yych <= 'T') goto yy57;
11915 		goto yy717;
11916 	} else {
11917 		if (yych <= 'a') {
11918 			if (yych <= '`') goto yy57;
11919 			goto yy718;
11920 		} else {
11921 			if (yych == 'u') goto yy717;
11922 			goto yy57;
11923 		}
11924 	}
11925 yy671:
11926 	YYDEBUG(671, *YYCURSOR);
11927 	yych = *++YYCURSOR;
11928 	if (yych == 'E') goto yy716;
11929 	if (yych == 'e') goto yy716;
11930 	goto yy57;
11931 yy672:
11932 	YYDEBUG(672, *YYCURSOR);
11933 	yych = *++YYCURSOR;
11934 	if (yych == 'A') goto yy715;
11935 	if (yych == 'a') goto yy715;
11936 	goto yy57;
11937 yy673:
11938 	YYDEBUG(673, *YYCURSOR);
11939 	yych = *++YYCURSOR;
11940 	if (yych <= 'U') {
11941 		if (yych == 'P') goto yy714;
11942 		if (yych <= 'T') goto yy57;
11943 		goto yy713;
11944 	} else {
11945 		if (yych <= 'p') {
11946 			if (yych <= 'o') goto yy57;
11947 			goto yy714;
11948 		} else {
11949 			if (yych == 'u') goto yy713;
11950 			goto yy57;
11951 		}
11952 	}
11953 yy674:
11954 	YYDEBUG(674, *YYCURSOR);
11955 	yych = *++YYCURSOR;
11956 	if (yych == 'E') goto yy711;
11957 	if (yych == 'e') goto yy711;
11958 	goto yy57;
11959 yy675:
11960 	YYDEBUG(675, *YYCURSOR);
11961 	yych = *++YYCURSOR;
11962 	if (yych == 'C') goto yy710;
11963 	if (yych == 'c') goto yy710;
11964 	goto yy57;
11965 yy676:
11966 	YYDEBUG(676, *YYCURSOR);
11967 	yych = *++YYCURSOR;
11968 	if (yych == 'O') goto yy709;
11969 	if (yych == 'o') goto yy709;
11970 	goto yy57;
11971 yy677:
11972 	YYDEBUG(677, *YYCURSOR);
11973 	yych = *++YYCURSOR;
11974 	if (yych == 'E') goto yy678;
11975 	if (yych != 'e') goto yy57;
11976 yy678:
11977 	YYDEBUG(678, *YYCURSOR);
11978 	yych = *++YYCURSOR;
11979 	if (yych == 'C') goto yy679;
11980 	if (yych != 'c') goto yy57;
11981 yy679:
11982 	YYDEBUG(679, *YYCURSOR);
11983 	yych = *++YYCURSOR;
11984 	if (yych != '/') goto yy57;
11985 yy680:
11986 	YYDEBUG(680, *YYCURSOR);
11987 	yych = *++YYCURSOR;
11988 	if (yych <= '/') goto yy57;
11989 	if (yych >= ':') goto yy57;
11990 	YYDEBUG(681, *YYCURSOR);
11991 	yych = *++YYCURSOR;
11992 	if (yych <= '/') goto yy57;
11993 	if (yych >= ':') goto yy57;
11994 	YYDEBUG(682, *YYCURSOR);
11995 	yych = *++YYCURSOR;
11996 	if (yych <= '/') goto yy57;
11997 	if (yych >= ':') goto yy57;
11998 	YYDEBUG(683, *YYCURSOR);
11999 	yych = *++YYCURSOR;
12000 	if (yych <= '/') goto yy57;
12001 	if (yych >= ':') goto yy57;
12002 	YYDEBUG(684, *YYCURSOR);
12003 	yych = *++YYCURSOR;
12004 	if (yych != ':') goto yy57;
12005 	YYDEBUG(685, *YYCURSOR);
12006 	yych = *++YYCURSOR;
12007 	if (yych <= '/') goto yy57;
12008 	if (yych <= '1') goto yy686;
12009 	if (yych <= '2') goto yy687;
12010 	goto yy57;
12011 yy686:
12012 	YYDEBUG(686, *YYCURSOR);
12013 	yych = *++YYCURSOR;
12014 	if (yych <= '/') goto yy57;
12015 	if (yych <= '9') goto yy688;
12016 	goto yy57;
12017 yy687:
12018 	YYDEBUG(687, *YYCURSOR);
12019 	yych = *++YYCURSOR;
12020 	if (yych <= '/') goto yy57;
12021 	if (yych >= '5') goto yy57;
12022 yy688:
12023 	YYDEBUG(688, *YYCURSOR);
12024 	yych = *++YYCURSOR;
12025 	if (yych != ':') goto yy57;
12026 	YYDEBUG(689, *YYCURSOR);
12027 	yych = *++YYCURSOR;
12028 	if (yych <= '/') goto yy57;
12029 	if (yych >= '6') goto yy57;
12030 	YYDEBUG(690, *YYCURSOR);
12031 	yych = *++YYCURSOR;
12032 	if (yych <= '/') goto yy57;
12033 	if (yych >= ':') goto yy57;
12034 	YYDEBUG(691, *YYCURSOR);
12035 	yych = *++YYCURSOR;
12036 	if (yych != ':') goto yy57;
12037 	YYDEBUG(692, *YYCURSOR);
12038 	yych = *++YYCURSOR;
12039 	if (yych <= '/') goto yy57;
12040 	if (yych <= '5') goto yy693;
12041 	if (yych <= '6') goto yy694;
12042 	goto yy57;
12043 yy693:
12044 	YYDEBUG(693, *YYCURSOR);
12045 	yych = *++YYCURSOR;
12046 	if (yych <= '/') goto yy57;
12047 	if (yych <= '9') goto yy695;
12048 	goto yy57;
12049 yy694:
12050 	YYDEBUG(694, *YYCURSOR);
12051 	yych = *++YYCURSOR;
12052 	if (yych != '0') goto yy57;
12053 yy695:
12054 	YYDEBUG(695, *YYCURSOR);
12055 	yych = *++YYCURSOR;
12056 	if (yych == '\t') goto yy696;
12057 	if (yych != ' ') goto yy57;
12058 yy696:
12059 	YYDEBUG(696, *YYCURSOR);
12060 	++YYCURSOR;
12061 	if ((YYLIMIT - YYCURSOR) < 9) YYFILL(9);
12062 	yych = *YYCURSOR;
12063 	YYDEBUG(697, *YYCURSOR);
12064 	if (yych <= '*') {
12065 		if (yych <= '\t') {
12066 			if (yych <= 0x08) goto yy57;
12067 			goto yy696;
12068 		} else {
12069 			if (yych == ' ') goto yy696;
12070 			goto yy57;
12071 		}
12072 	} else {
12073 		if (yych <= '-') {
12074 			if (yych == ',') goto yy57;
12075 			goto yy699;
12076 		} else {
12077 			if (yych != 'G') goto yy57;
12078 		}
12079 	}
12080 	YYDEBUG(698, *YYCURSOR);
12081 	yych = *++YYCURSOR;
12082 	if (yych == 'M') goto yy707;
12083 	goto yy57;
12084 yy699:
12085 	YYDEBUG(699, *YYCURSOR);
12086 	yych = *++YYCURSOR;
12087 	if (yych <= '/') goto yy57;
12088 	if (yych <= '1') goto yy700;
12089 	if (yych <= '2') goto yy702;
12090 	if (yych <= '9') goto yy703;
12091 	goto yy57;
12092 yy700:
12093 	YYDEBUG(700, *YYCURSOR);
12094 	++YYCURSOR;
12095 	if ((yych = *YYCURSOR) <= '/') goto yy701;
12096 	if (yych <= '9') goto yy703;
12097 	if (yych <= ':') goto yy704;
12098 yy701:
12099 	YYDEBUG(701, *YYCURSOR);
12100 #line 1559 "ext/date/lib/parse_date.re"
12101 	{
12102 		int tz_not_found;
12103 		DEBUG_OUTPUT("clf");
12104 		TIMELIB_INIT;
12105 		TIMELIB_HAVE_TIME();
12106 		TIMELIB_HAVE_DATE();
12107 		s->time->d = timelib_get_nr((char **) &ptr, 2);
12108 		s->time->m = timelib_get_month((char **) &ptr);
12109 		s->time->y = timelib_get_nr((char **) &ptr, 4);
12110 		s->time->h = timelib_get_nr((char **) &ptr, 2);
12111 		s->time->i = timelib_get_nr((char **) &ptr, 2);
12112 		s->time->s = timelib_get_nr((char **) &ptr, 2);
12113 		s->time->z = timelib_get_zone((char **) &ptr, &s->time->dst, s->time, &tz_not_found, s->tzdb, tz_get_wrapper);
12114 		if (tz_not_found) {
12115 			add_error(s, "The timezone could not be found in the database");
12116 		}
12117 		TIMELIB_DEINIT;
12118 		return TIMELIB_CLF;
12119 	}
12120 #line 12121 "ext/date/lib/parse_date.c"
12121 yy702:
12122 	YYDEBUG(702, *YYCURSOR);
12123 	yych = *++YYCURSOR;
12124 	if (yych <= '5') {
12125 		if (yych <= '/') goto yy701;
12126 		if (yych >= '5') goto yy705;
12127 	} else {
12128 		if (yych <= '9') goto yy706;
12129 		if (yych <= ':') goto yy704;
12130 		goto yy701;
12131 	}
12132 yy703:
12133 	YYDEBUG(703, *YYCURSOR);
12134 	yych = *++YYCURSOR;
12135 	if (yych <= '/') goto yy701;
12136 	if (yych <= '5') goto yy705;
12137 	if (yych <= '9') goto yy706;
12138 	if (yych >= ';') goto yy701;
12139 yy704:
12140 	YYDEBUG(704, *YYCURSOR);
12141 	yych = *++YYCURSOR;
12142 	if (yych <= '/') goto yy701;
12143 	if (yych <= '5') goto yy705;
12144 	if (yych <= '9') goto yy706;
12145 	goto yy701;
12146 yy705:
12147 	YYDEBUG(705, *YYCURSOR);
12148 	yych = *++YYCURSOR;
12149 	if (yych <= '/') goto yy701;
12150 	if (yych >= ':') goto yy701;
12151 yy706:
12152 	YYDEBUG(706, *YYCURSOR);
12153 	yych = *++YYCURSOR;
12154 	goto yy701;
12155 yy707:
12156 	YYDEBUG(707, *YYCURSOR);
12157 	yych = *++YYCURSOR;
12158 	if (yych != 'T') goto yy57;
12159 	YYDEBUG(708, *YYCURSOR);
12160 	yych = *++YYCURSOR;
12161 	if (yych == '+') goto yy699;
12162 	if (yych == '-') goto yy699;
12163 	goto yy57;
12164 yy709:
12165 	YYDEBUG(709, *YYCURSOR);
12166 	yych = *++YYCURSOR;
12167 	if (yych == 'V') goto yy679;
12168 	if (yych == 'v') goto yy679;
12169 	goto yy57;
12170 yy710:
12171 	YYDEBUG(710, *YYCURSOR);
12172 	yych = *++YYCURSOR;
12173 	if (yych == 'T') goto yy679;
12174 	if (yych == 't') goto yy679;
12175 	goto yy57;
12176 yy711:
12177 	YYDEBUG(711, *YYCURSOR);
12178 	yych = *++YYCURSOR;
12179 	if (yych == 'P') goto yy712;
12180 	if (yych != 'p') goto yy57;
12181 yy712:
12182 	YYDEBUG(712, *YYCURSOR);
12183 	yych = *++YYCURSOR;
12184 	if (yych <= 'S') {
12185 		if (yych == '/') goto yy680;
12186 		goto yy57;
12187 	} else {
12188 		if (yych <= 'T') goto yy679;
12189 		if (yych == 't') goto yy679;
12190 		goto yy57;
12191 	}
12192 yy713:
12193 	YYDEBUG(713, *YYCURSOR);
12194 	yych = *++YYCURSOR;
12195 	if (yych == 'G') goto yy679;
12196 	if (yych == 'g') goto yy679;
12197 	goto yy57;
12198 yy714:
12199 	YYDEBUG(714, *YYCURSOR);
12200 	yych = *++YYCURSOR;
12201 	if (yych == 'R') goto yy679;
12202 	if (yych == 'r') goto yy679;
12203 	goto yy57;
12204 yy715:
12205 	YYDEBUG(715, *YYCURSOR);
12206 	yych = *++YYCURSOR;
12207 	if (yych <= 'Y') {
12208 		if (yych == 'R') goto yy679;
12209 		if (yych <= 'X') goto yy57;
12210 		goto yy679;
12211 	} else {
12212 		if (yych <= 'r') {
12213 			if (yych <= 'q') goto yy57;
12214 			goto yy679;
12215 		} else {
12216 			if (yych == 'y') goto yy679;
12217 			goto yy57;
12218 		}
12219 	}
12220 yy716:
12221 	YYDEBUG(716, *YYCURSOR);
12222 	yych = *++YYCURSOR;
12223 	if (yych == 'B') goto yy679;
12224 	if (yych == 'b') goto yy679;
12225 	goto yy57;
12226 yy717:
12227 	YYDEBUG(717, *YYCURSOR);
12228 	yych = *++YYCURSOR;
12229 	if (yych <= 'N') {
12230 		if (yych == 'L') goto yy679;
12231 		if (yych <= 'M') goto yy57;
12232 		goto yy679;
12233 	} else {
12234 		if (yych <= 'l') {
12235 			if (yych <= 'k') goto yy57;
12236 			goto yy679;
12237 		} else {
12238 			if (yych == 'n') goto yy679;
12239 			goto yy57;
12240 		}
12241 	}
12242 yy718:
12243 	YYDEBUG(718, *YYCURSOR);
12244 	yych = *++YYCURSOR;
12245 	if (yych == 'N') goto yy679;
12246 	if (yych == 'n') goto yy679;
12247 	goto yy57;
12248 yy719:
12249 	YYDEBUG(719, *YYCURSOR);
12250 	yych = *++YYCURSOR;
12251 	if (yych == 't') goto yy728;
12252 	goto yy57;
12253 yy720:
12254 	YYDEBUG(720, *YYCURSOR);
12255 	yych = *++YYCURSOR;
12256 	if (yych == 'd') goto yy728;
12257 	goto yy57;
12258 yy721:
12259 	YYDEBUG(721, *YYCURSOR);
12260 	yych = *++YYCURSOR;
12261 	if (yych == 'd') goto yy728;
12262 	goto yy57;
12263 yy722:
12264 	YYDEBUG(722, *YYCURSOR);
12265 	yych = *++YYCURSOR;
12266 	if (yych == 'h') goto yy728;
12267 	goto yy57;
12268 yy723:
12269 	YYDEBUG(723, *YYCURSOR);
12270 	yych = *++YYCURSOR;
12271 	if (yych <= '/') goto yy57;
12272 	if (yych >= ':') goto yy57;
12273 	YYDEBUG(724, *YYCURSOR);
12274 	yych = *++YYCURSOR;
12275 	if (yych <= '/') goto yy667;
12276 	if (yych >= ':') goto yy667;
12277 	YYDEBUG(725, *YYCURSOR);
12278 	yych = *++YYCURSOR;
12279 	if (yych <= '/') goto yy667;
12280 	if (yych >= ':') goto yy667;
12281 	YYDEBUG(726, *YYCURSOR);
12282 	yych = *++YYCURSOR;
12283 	if (yych <= '/') goto yy667;
12284 	if (yych >= ':') goto yy667;
12285 	YYDEBUG(727, *YYCURSOR);
12286 	yych = *++YYCURSOR;
12287 	goto yy667;
12288 yy728:
12289 	YYDEBUG(728, *YYCURSOR);
12290 	yyaccept = 14;
12291 	yych = *(YYMARKER = ++YYCURSOR);
12292 	if (yych == '/') goto yy723;
12293 	goto yy667;
12294 yy729:
12295 	YYDEBUG(729, *YYCURSOR);
12296 	yych = *++YYCURSOR;
12297 	if (yych <= ',') {
12298 		if (yych == '\t') goto yy731;
12299 		goto yy578;
12300 	} else {
12301 		if (yych <= '-') goto yy732;
12302 		if (yych <= '.') goto yy731;
12303 		if (yych >= '0') goto yy578;
12304 	}
12305 yy730:
12306 	YYDEBUG(730, *YYCURSOR);
12307 	yych = *++YYCURSOR;
12308 	YYDEBUG(-1, yych);
12309 	switch (yych) {
12310 	case 'A':
12311 	case 'a':	goto yy673;
12312 	case 'D':
12313 	case 'd':	goto yy677;
12314 	case 'F':
12315 	case 'f':	goto yy671;
12316 	case 'J':
12317 	case 'j':	goto yy670;
12318 	case 'M':
12319 	case 'm':	goto yy672;
12320 	case 'N':
12321 	case 'n':	goto yy676;
12322 	case 'O':
12323 	case 'o':	goto yy675;
12324 	case 'S':
12325 	case 's':	goto yy674;
12326 	default:	goto yy57;
12327 	}
12328 yy731:
12329 	YYDEBUG(731, *YYCURSOR);
12330 	yych = *++YYCURSOR;
12331 	if (yych <= '/') goto yy578;
12332 	if (yych <= '0') goto yy736;
12333 	if (yych <= '1') goto yy737;
12334 	if (yych <= '9') goto yy738;
12335 	goto yy578;
12336 yy732:
12337 	YYDEBUG(732, *YYCURSOR);
12338 	yych = *++YYCURSOR;
12339 	if (yych <= '/') goto yy578;
12340 	if (yych <= '0') goto yy733;
12341 	if (yych <= '1') goto yy734;
12342 	if (yych <= '9') goto yy735;
12343 	goto yy578;
12344 yy733:
12345 	YYDEBUG(733, *YYCURSOR);
12346 	yych = *++YYCURSOR;
12347 	if (yych <= ',') goto yy57;
12348 	if (yych <= '.') goto yy602;
12349 	if (yych <= '/') goto yy57;
12350 	if (yych <= '9') goto yy735;
12351 	goto yy57;
12352 yy734:
12353 	YYDEBUG(734, *YYCURSOR);
12354 	yych = *++YYCURSOR;
12355 	if (yych <= ',') goto yy57;
12356 	if (yych <= '.') goto yy602;
12357 	if (yych <= '/') goto yy57;
12358 	if (yych >= '3') goto yy57;
12359 yy735:
12360 	YYDEBUG(735, *YYCURSOR);
12361 	yych = *++YYCURSOR;
12362 	if (yych <= ',') goto yy57;
12363 	if (yych <= '.') goto yy602;
12364 	goto yy57;
12365 yy736:
12366 	YYDEBUG(736, *YYCURSOR);
12367 	yych = *++YYCURSOR;
12368 	if (yych <= '.') {
12369 		if (yych <= ',') goto yy57;
12370 		if (yych <= '-') goto yy602;
12371 		goto yy739;
12372 	} else {
12373 		if (yych <= '/') goto yy57;
12374 		if (yych <= '9') goto yy738;
12375 		goto yy57;
12376 	}
12377 yy737:
12378 	YYDEBUG(737, *YYCURSOR);
12379 	yych = *++YYCURSOR;
12380 	if (yych <= '.') {
12381 		if (yych <= ',') goto yy57;
12382 		if (yych <= '-') goto yy602;
12383 		goto yy739;
12384 	} else {
12385 		if (yych <= '/') goto yy57;
12386 		if (yych >= '3') goto yy57;
12387 	}
12388 yy738:
12389 	YYDEBUG(738, *YYCURSOR);
12390 	yych = *++YYCURSOR;
12391 	if (yych <= ',') goto yy57;
12392 	if (yych <= '-') goto yy602;
12393 	if (yych >= '/') goto yy57;
12394 yy739:
12395 	YYDEBUG(739, *YYCURSOR);
12396 	yych = *++YYCURSOR;
12397 	if (yych <= '/') goto yy57;
12398 	if (yych >= ':') goto yy57;
12399 	YYDEBUG(740, *YYCURSOR);
12400 	yych = *++YYCURSOR;
12401 	if (yych <= '/') goto yy57;
12402 	if (yych <= '9') goto yy611;
12403 	goto yy57;
12404 yy741:
12405 	YYDEBUG(741, *YYCURSOR);
12406 	yych = *++YYCURSOR;
12407 	if (yych == '-') goto yy785;
12408 	if (yych <= '/') goto yy61;
12409 	if (yych <= '9') goto yy783;
12410 	goto yy61;
12411 yy742:
12412 	YYDEBUG(742, *YYCURSOR);
12413 	yych = *++YYCURSOR;
12414 	YYDEBUG(-1, yych);
12415 	switch (yych) {
12416 	case '0':	goto yy751;
12417 	case '1':	goto yy752;
12418 	case '2':
12419 	case '3':
12420 	case '4':
12421 	case '5':
12422 	case '6':
12423 	case '7':
12424 	case '8':
12425 	case '9':	goto yy753;
12426 	case 'A':
12427 	case 'a':	goto yy746;
12428 	case 'D':
12429 	case 'd':	goto yy750;
12430 	case 'F':
12431 	case 'f':	goto yy744;
12432 	case 'J':
12433 	case 'j':	goto yy743;
12434 	case 'M':
12435 	case 'm':	goto yy745;
12436 	case 'N':
12437 	case 'n':	goto yy749;
12438 	case 'O':
12439 	case 'o':	goto yy748;
12440 	case 'S':
12441 	case 's':	goto yy747;
12442 	default:	goto yy57;
12443 	}
12444 yy743:
12445 	YYDEBUG(743, *YYCURSOR);
12446 	yych = *++YYCURSOR;
12447 	if (yych <= 'U') {
12448 		if (yych == 'A') goto yy782;
12449 		if (yych <= 'T') goto yy57;
12450 		goto yy781;
12451 	} else {
12452 		if (yych <= 'a') {
12453 			if (yych <= '`') goto yy57;
12454 			goto yy782;
12455 		} else {
12456 			if (yych == 'u') goto yy781;
12457 			goto yy57;
12458 		}
12459 	}
12460 yy744:
12461 	YYDEBUG(744, *YYCURSOR);
12462 	yych = *++YYCURSOR;
12463 	if (yych == 'E') goto yy780;
12464 	if (yych == 'e') goto yy780;
12465 	goto yy57;
12466 yy745:
12467 	YYDEBUG(745, *YYCURSOR);
12468 	yych = *++YYCURSOR;
12469 	if (yych == 'A') goto yy779;
12470 	if (yych == 'a') goto yy779;
12471 	goto yy57;
12472 yy746:
12473 	YYDEBUG(746, *YYCURSOR);
12474 	yych = *++YYCURSOR;
12475 	if (yych <= 'U') {
12476 		if (yych == 'P') goto yy778;
12477 		if (yych <= 'T') goto yy57;
12478 		goto yy777;
12479 	} else {
12480 		if (yych <= 'p') {
12481 			if (yych <= 'o') goto yy57;
12482 			goto yy778;
12483 		} else {
12484 			if (yych == 'u') goto yy777;
12485 			goto yy57;
12486 		}
12487 	}
12488 yy747:
12489 	YYDEBUG(747, *YYCURSOR);
12490 	yych = *++YYCURSOR;
12491 	if (yych == 'E') goto yy775;
12492 	if (yych == 'e') goto yy775;
12493 	goto yy57;
12494 yy748:
12495 	YYDEBUG(748, *YYCURSOR);
12496 	yych = *++YYCURSOR;
12497 	if (yych == 'C') goto yy774;
12498 	if (yych == 'c') goto yy774;
12499 	goto yy57;
12500 yy749:
12501 	YYDEBUG(749, *YYCURSOR);
12502 	yych = *++YYCURSOR;
12503 	if (yych == 'O') goto yy773;
12504 	if (yych == 'o') goto yy773;
12505 	goto yy57;
12506 yy750:
12507 	YYDEBUG(750, *YYCURSOR);
12508 	yych = *++YYCURSOR;
12509 	if (yych == 'E') goto yy765;
12510 	if (yych == 'e') goto yy765;
12511 	goto yy57;
12512 yy751:
12513 	YYDEBUG(751, *YYCURSOR);
12514 	yych = *++YYCURSOR;
12515 	if (yych == '-') goto yy754;
12516 	if (yych <= '/') goto yy57;
12517 	if (yych <= '9') goto yy758;
12518 	goto yy57;
12519 yy752:
12520 	YYDEBUG(752, *YYCURSOR);
12521 	yych = *++YYCURSOR;
12522 	if (yych == '-') goto yy754;
12523 	if (yych <= '/') goto yy57;
12524 	if (yych <= '2') goto yy758;
12525 	goto yy57;
12526 yy753:
12527 	YYDEBUG(753, *YYCURSOR);
12528 	yych = *++YYCURSOR;
12529 	if (yych != '-') goto yy57;
12530 yy754:
12531 	YYDEBUG(754, *YYCURSOR);
12532 	yych = *++YYCURSOR;
12533 	if (yych <= '/') goto yy57;
12534 	if (yych <= '2') goto yy755;
12535 	if (yych <= '3') goto yy756;
12536 	if (yych <= '9') goto yy757;
12537 	goto yy57;
12538 yy755:
12539 	YYDEBUG(755, *YYCURSOR);
12540 	yyaccept = 13;
12541 	yych = *(YYMARKER = ++YYCURSOR);
12542 	if (yych <= 'n') {
12543 		if (yych <= '/') goto yy657;
12544 		if (yych <= '9') goto yy757;
12545 		if (yych <= 'm') goto yy657;
12546 		goto yy661;
12547 	} else {
12548 		if (yych <= 'r') {
12549 			if (yych <= 'q') goto yy657;
12550 			goto yy662;
12551 		} else {
12552 			if (yych <= 's') goto yy660;
12553 			if (yych <= 't') goto yy663;
12554 			goto yy657;
12555 		}
12556 	}
12557 yy756:
12558 	YYDEBUG(756, *YYCURSOR);
12559 	yyaccept = 13;
12560 	yych = *(YYMARKER = ++YYCURSOR);
12561 	if (yych <= 'n') {
12562 		if (yych <= '/') goto yy657;
12563 		if (yych <= '1') goto yy757;
12564 		if (yych <= 'm') goto yy657;
12565 		goto yy661;
12566 	} else {
12567 		if (yych <= 'r') {
12568 			if (yych <= 'q') goto yy657;
12569 			goto yy662;
12570 		} else {
12571 			if (yych <= 's') goto yy660;
12572 			if (yych <= 't') goto yy663;
12573 			goto yy657;
12574 		}
12575 	}
12576 yy757:
12577 	YYDEBUG(757, *YYCURSOR);
12578 	yyaccept = 13;
12579 	yych = *(YYMARKER = ++YYCURSOR);
12580 	if (yych <= 'q') {
12581 		if (yych == 'n') goto yy661;
12582 		goto yy657;
12583 	} else {
12584 		if (yych <= 'r') goto yy662;
12585 		if (yych <= 's') goto yy660;
12586 		if (yych <= 't') goto yy663;
12587 		goto yy657;
12588 	}
12589 yy758:
12590 	YYDEBUG(758, *YYCURSOR);
12591 	yych = *++YYCURSOR;
12592 	if (yych != '-') goto yy57;
12593 	YYDEBUG(759, *YYCURSOR);
12594 	yych = *++YYCURSOR;
12595 	if (yych <= '2') {
12596 		if (yych <= '/') goto yy57;
12597 		if (yych >= '1') goto yy761;
12598 	} else {
12599 		if (yych <= '3') goto yy762;
12600 		if (yych <= '9') goto yy757;
12601 		goto yy57;
12602 	}
12603 	YYDEBUG(760, *YYCURSOR);
12604 	yyaccept = 13;
12605 	yych = *(YYMARKER = ++YYCURSOR);
12606 	if (yych <= 'n') {
12607 		if (yych <= '/') goto yy657;
12608 		if (yych <= '9') goto yy763;
12609 		if (yych <= 'm') goto yy657;
12610 		goto yy661;
12611 	} else {
12612 		if (yych <= 'r') {
12613 			if (yych <= 'q') goto yy657;
12614 			goto yy662;
12615 		} else {
12616 			if (yych <= 's') goto yy660;
12617 			if (yych <= 't') goto yy663;
12618 			goto yy657;
12619 		}
12620 	}
12621 yy761:
12622 	YYDEBUG(761, *YYCURSOR);
12623 	yyaccept = 13;
12624 	yych = *(YYMARKER = ++YYCURSOR);
12625 	if (yych <= 'n') {
12626 		if (yych <= '/') goto yy657;
12627 		if (yych <= '9') goto yy763;
12628 		if (yych <= 'm') goto yy657;
12629 		goto yy661;
12630 	} else {
12631 		if (yych <= 'r') {
12632 			if (yych <= 'q') goto yy657;
12633 			goto yy662;
12634 		} else {
12635 			if (yych <= 's') goto yy660;
12636 			if (yych <= 't') goto yy663;
12637 			goto yy657;
12638 		}
12639 	}
12640 yy762:
12641 	YYDEBUG(762, *YYCURSOR);
12642 	yyaccept = 13;
12643 	yych = *(YYMARKER = ++YYCURSOR);
12644 	if (yych <= 'n') {
12645 		if (yych <= '/') goto yy657;
12646 		if (yych <= '1') goto yy763;
12647 		if (yych <= 'm') goto yy657;
12648 		goto yy661;
12649 	} else {
12650 		if (yych <= 'r') {
12651 			if (yych <= 'q') goto yy657;
12652 			goto yy662;
12653 		} else {
12654 			if (yych <= 's') goto yy660;
12655 			if (yych <= 't') goto yy663;
12656 			goto yy657;
12657 		}
12658 	}
12659 yy763:
12660 	YYDEBUG(763, *YYCURSOR);
12661 	yyaccept = 15;
12662 	yych = *(YYMARKER = ++YYCURSOR);
12663 	if (yych <= 'q') {
12664 		if (yych == 'n') goto yy661;
12665 	} else {
12666 		if (yych <= 'r') goto yy662;
12667 		if (yych <= 's') goto yy660;
12668 		if (yych <= 't') goto yy663;
12669 	}
12670 yy764:
12671 	YYDEBUG(764, *YYCURSOR);
12672 #line 1304 "ext/date/lib/parse_date.re"
12673 	{
12674 		int length = 0;
12675 		DEBUG_OUTPUT("iso8601date2");
12676 		TIMELIB_INIT;
12677 		TIMELIB_HAVE_DATE();
12678 		s->time->y = timelib_get_nr_ex((char **) &ptr, 4, &length);
12679 		s->time->m = timelib_get_nr((char **) &ptr, 2);
12680 		s->time->d = timelib_get_nr((char **) &ptr, 2);
12681 		TIMELIB_PROCESS_YEAR(s->time->y, length);
12682 		TIMELIB_DEINIT;
12683 		return TIMELIB_ISO_DATE;
12684 	}
12685 #line 12686 "ext/date/lib/parse_date.c"
12686 yy765:
12687 	YYDEBUG(765, *YYCURSOR);
12688 	yych = *++YYCURSOR;
12689 	if (yych == 'C') goto yy766;
12690 	if (yych != 'c') goto yy57;
12691 yy766:
12692 	YYDEBUG(766, *YYCURSOR);
12693 	yych = *++YYCURSOR;
12694 	if (yych != '-') goto yy57;
12695 yy767:
12696 	YYDEBUG(767, *YYCURSOR);
12697 	yych = *++YYCURSOR;
12698 	if (yych <= '/') goto yy57;
12699 	if (yych <= '0') goto yy768;
12700 	if (yych <= '2') goto yy769;
12701 	if (yych <= '3') goto yy770;
12702 	goto yy57;
12703 yy768:
12704 	YYDEBUG(768, *YYCURSOR);
12705 	yych = *++YYCURSOR;
12706 	if (yych <= '/') goto yy57;
12707 	if (yych <= '9') goto yy771;
12708 	goto yy57;
12709 yy769:
12710 	YYDEBUG(769, *YYCURSOR);
12711 	yych = *++YYCURSOR;
12712 	if (yych <= '/') goto yy57;
12713 	if (yych <= '9') goto yy771;
12714 	goto yy57;
12715 yy770:
12716 	YYDEBUG(770, *YYCURSOR);
12717 	yych = *++YYCURSOR;
12718 	if (yych <= '/') goto yy57;
12719 	if (yych >= '2') goto yy57;
12720 yy771:
12721 	YYDEBUG(771, *YYCURSOR);
12722 	++YYCURSOR;
12723 	YYDEBUG(772, *YYCURSOR);
12724 #line 1545 "ext/date/lib/parse_date.re"
12725 	{
12726 		int length = 0;
12727 		DEBUG_OUTPUT("pgtextreverse");
12728 		TIMELIB_INIT;
12729 		TIMELIB_HAVE_DATE();
12730 		s->time->y = timelib_get_nr_ex((char **) &ptr, 4, &length);
12731 		s->time->m = timelib_get_month((char **) &ptr);
12732 		s->time->d = timelib_get_nr((char **) &ptr, 2);
12733 		TIMELIB_PROCESS_YEAR(s->time->y, length);
12734 		TIMELIB_DEINIT;
12735 		return TIMELIB_PG_TEXT;
12736 	}
12737 #line 12738 "ext/date/lib/parse_date.c"
12738 yy773:
12739 	YYDEBUG(773, *YYCURSOR);
12740 	yych = *++YYCURSOR;
12741 	if (yych == 'V') goto yy766;
12742 	if (yych == 'v') goto yy766;
12743 	goto yy57;
12744 yy774:
12745 	YYDEBUG(774, *YYCURSOR);
12746 	yych = *++YYCURSOR;
12747 	if (yych == 'T') goto yy766;
12748 	if (yych == 't') goto yy766;
12749 	goto yy57;
12750 yy775:
12751 	YYDEBUG(775, *YYCURSOR);
12752 	yych = *++YYCURSOR;
12753 	if (yych == 'P') goto yy776;
12754 	if (yych != 'p') goto yy57;
12755 yy776:
12756 	YYDEBUG(776, *YYCURSOR);
12757 	yych = *++YYCURSOR;
12758 	if (yych <= 'S') {
12759 		if (yych == '-') goto yy767;
12760 		goto yy57;
12761 	} else {
12762 		if (yych <= 'T') goto yy766;
12763 		if (yych == 't') goto yy766;
12764 		goto yy57;
12765 	}
12766 yy777:
12767 	YYDEBUG(777, *YYCURSOR);
12768 	yych = *++YYCURSOR;
12769 	if (yych == 'G') goto yy766;
12770 	if (yych == 'g') goto yy766;
12771 	goto yy57;
12772 yy778:
12773 	YYDEBUG(778, *YYCURSOR);
12774 	yych = *++YYCURSOR;
12775 	if (yych == 'R') goto yy766;
12776 	if (yych == 'r') goto yy766;
12777 	goto yy57;
12778 yy779:
12779 	YYDEBUG(779, *YYCURSOR);
12780 	yych = *++YYCURSOR;
12781 	if (yych <= 'Y') {
12782 		if (yych == 'R') goto yy766;
12783 		if (yych <= 'X') goto yy57;
12784 		goto yy766;
12785 	} else {
12786 		if (yych <= 'r') {
12787 			if (yych <= 'q') goto yy57;
12788 			goto yy766;
12789 		} else {
12790 			if (yych == 'y') goto yy766;
12791 			goto yy57;
12792 		}
12793 	}
12794 yy780:
12795 	YYDEBUG(780, *YYCURSOR);
12796 	yych = *++YYCURSOR;
12797 	if (yych == 'B') goto yy766;
12798 	if (yych == 'b') goto yy766;
12799 	goto yy57;
12800 yy781:
12801 	YYDEBUG(781, *YYCURSOR);
12802 	yych = *++YYCURSOR;
12803 	if (yych <= 'N') {
12804 		if (yych == 'L') goto yy766;
12805 		if (yych <= 'M') goto yy57;
12806 		goto yy766;
12807 	} else {
12808 		if (yych <= 'l') {
12809 			if (yych <= 'k') goto yy57;
12810 			goto yy766;
12811 		} else {
12812 			if (yych == 'n') goto yy766;
12813 			goto yy57;
12814 		}
12815 	}
12816 yy782:
12817 	YYDEBUG(782, *YYCURSOR);
12818 	yych = *++YYCURSOR;
12819 	if (yych == 'N') goto yy766;
12820 	if (yych == 'n') goto yy766;
12821 	goto yy57;
12822 yy783:
12823 	YYDEBUG(783, *YYCURSOR);
12824 	yyaccept = 16;
12825 	yych = *(YYMARKER = ++YYCURSOR);
12826 	YYDEBUG(-1, yych);
12827 	switch (yych) {
12828 	case '\t':
12829 	case ' ':
12830 	case 'A':
12831 	case 'D':
12832 	case 'F':
12833 	case 'H':
12834 	case 'I':
12835 	case 'J':
12836 	case 'M':
12837 	case 'N':
12838 	case 'O':
12839 	case 'S':
12840 	case 'T':
12841 	case 'V':
12842 	case 'X':
12843 	case 'Y':
12844 	case 'a':
12845 	case 'd':
12846 	case 'f':
12847 	case 'h':
12848 	case 'j':
12849 	case 'm':
12850 	case 'n':
12851 	case 'o':
12852 	case 's':
12853 	case 't':
12854 	case 'w':
12855 	case 'y':	goto yy791;
12856 	case '-':	goto yy788;
12857 	case '.':	goto yy792;
12858 	case '/':	goto yy789;
12859 	case '0':	goto yy805;
12860 	case '1':	goto yy806;
12861 	case '2':	goto yy808;
12862 	case '3':	goto yy809;
12863 	case '4':
12864 	case '5':
12865 	case '6':
12866 	case '7':
12867 	case '8':
12868 	case '9':	goto yy55;
12869 	case ':':	goto yy807;
12870 	case 'W':	goto yy810;
12871 	default:	goto yy784;
12872 	}
12873 yy784:
12874 	YYDEBUG(784, *YYCURSOR);
12875 #line 1580 "ext/date/lib/parse_date.re"
12876 	{
12877 		DEBUG_OUTPUT("year4");
12878 		TIMELIB_INIT;
12879 		s->time->y = timelib_get_nr((char **) &ptr, 4);
12880 		TIMELIB_DEINIT;
12881 		return TIMELIB_CLF;
12882 	}
12883 #line 12884 "ext/date/lib/parse_date.c"
12884 yy785:
12885 	YYDEBUG(785, *YYCURSOR);
12886 	yych = *++YYCURSOR;
12887 	YYDEBUG(-1, yych);
12888 	switch (yych) {
12889 	case '0':	goto yy786;
12890 	case '1':	goto yy787;
12891 	case '2':
12892 	case '3':
12893 	case '4':
12894 	case '5':
12895 	case '6':
12896 	case '7':
12897 	case '8':
12898 	case '9':	goto yy753;
12899 	case 'A':
12900 	case 'a':	goto yy746;
12901 	case 'D':
12902 	case 'd':	goto yy750;
12903 	case 'F':
12904 	case 'f':	goto yy744;
12905 	case 'J':
12906 	case 'j':	goto yy743;
12907 	case 'M':
12908 	case 'm':	goto yy745;
12909 	case 'N':
12910 	case 'n':	goto yy749;
12911 	case 'O':
12912 	case 'o':	goto yy748;
12913 	case 'S':
12914 	case 's':	goto yy747;
12915 	default:	goto yy57;
12916 	}
12917 yy786:
12918 	YYDEBUG(786, *YYCURSOR);
12919 	yych = *++YYCURSOR;
12920 	if (yych == '-') goto yy754;
12921 	if (yych <= '/') goto yy57;
12922 	if (yych <= '9') goto yy753;
12923 	goto yy57;
12924 yy787:
12925 	YYDEBUG(787, *YYCURSOR);
12926 	yych = *++YYCURSOR;
12927 	if (yych == '-') goto yy754;
12928 	if (yych <= '/') goto yy57;
12929 	if (yych <= '2') goto yy753;
12930 	goto yy57;
12931 yy788:
12932 	YYDEBUG(788, *YYCURSOR);
12933 	yych = *++YYCURSOR;
12934 	YYDEBUG(-1, yych);
12935 	switch (yych) {
12936 	case '0':	goto yy973;
12937 	case '1':	goto yy975;
12938 	case '2':
12939 	case '3':
12940 	case '4':
12941 	case '5':
12942 	case '6':
12943 	case '7':
12944 	case '8':
12945 	case '9':	goto yy976;
12946 	case 'A':
12947 	case 'a':	goto yy967;
12948 	case 'D':
12949 	case 'd':	goto yy971;
12950 	case 'F':
12951 	case 'f':	goto yy965;
12952 	case 'J':
12953 	case 'j':	goto yy964;
12954 	case 'M':
12955 	case 'm':	goto yy966;
12956 	case 'N':
12957 	case 'n':	goto yy970;
12958 	case 'O':
12959 	case 'o':	goto yy969;
12960 	case 'S':
12961 	case 's':	goto yy968;
12962 	case 'W':	goto yy972;
12963 	default:	goto yy939;
12964 	}
12965 yy789:
12966 	YYDEBUG(789, *YYCURSOR);
12967 	yych = *++YYCURSOR;
12968 	if (yych <= '/') goto yy57;
12969 	if (yych <= '0') goto yy947;
12970 	if (yych <= '1') goto yy948;
12971 	if (yych <= '9') goto yy949;
12972 	goto yy57;
12973 yy790:
12974 	YYDEBUG(790, *YYCURSOR);
12975 	++YYCURSOR;
12976 	if ((YYLIMIT - YYCURSOR) < 11) YYFILL(11);
12977 	yych = *YYCURSOR;
12978 yy791:
12979 	YYDEBUG(791, *YYCURSOR);
12980 	YYDEBUG(-1, yych);
12981 	switch (yych) {
12982 	case '\t':
12983 	case ' ':	goto yy790;
12984 	case '-':
12985 	case '.':	goto yy938;
12986 	case 'A':
12987 	case 'a':	goto yy800;
12988 	case 'D':
12989 	case 'd':	goto yy804;
12990 	case 'F':
12991 	case 'f':	goto yy798;
12992 	case 'H':
12993 	case 'h':	goto yy64;
12994 	case 'I':	goto yy793;
12995 	case 'J':
12996 	case 'j':	goto yy797;
12997 	case 'M':
12998 	case 'm':	goto yy799;
12999 	case 'N':
13000 	case 'n':	goto yy803;
13001 	case 'O':
13002 	case 'o':	goto yy802;
13003 	case 'S':
13004 	case 's':	goto yy801;
13005 	case 'T':
13006 	case 't':	goto yy69;
13007 	case 'V':	goto yy795;
13008 	case 'W':
13009 	case 'w':	goto yy68;
13010 	case 'X':	goto yy796;
13011 	case 'Y':
13012 	case 'y':	goto yy67;
13013 	default:	goto yy57;
13014 	}
13015 yy792:
13016 	YYDEBUG(792, *YYCURSOR);
13017 	yych = *++YYCURSOR;
13018 	if (yych <= '/') goto yy939;
13019 	if (yych <= '0') goto yy931;
13020 	if (yych <= '2') goto yy932;
13021 	if (yych <= '3') goto yy933;
13022 	goto yy939;
13023 yy793:
13024 	YYDEBUG(793, *YYCURSOR);
13025 	++YYCURSOR;
13026 	if ((yych = *YYCURSOR) <= 'U') {
13027 		if (yych == 'I') goto yy930;
13028 	} else {
13029 		if (yych == 'W') goto yy794;
13030 		if (yych <= 'X') goto yy884;
13031 	}
13032 yy794:
13033 	YYDEBUG(794, *YYCURSOR);
13034 #line 1401 "ext/date/lib/parse_date.re"
13035 	{
13036 		int length = 0;
13037 		DEBUG_OUTPUT("datenodayrev");
13038 		TIMELIB_INIT;
13039 		TIMELIB_HAVE_DATE();
13040 		s->time->y = timelib_get_nr_ex((char **) &ptr, 4, &length);
13041 		s->time->m = timelib_get_month((char **) &ptr);
13042 		s->time->d = 1;
13043 		TIMELIB_PROCESS_YEAR(s->time->y, length);
13044 		TIMELIB_DEINIT;
13045 		return TIMELIB_DATE_NO_DAY;
13046 	}
13047 #line 13048 "ext/date/lib/parse_date.c"
13048 yy795:
13049 	YYDEBUG(795, *YYCURSOR);
13050 	yych = *++YYCURSOR;
13051 	if (yych == 'I') goto yy928;
13052 	goto yy794;
13053 yy796:
13054 	YYDEBUG(796, *YYCURSOR);
13055 	yych = *++YYCURSOR;
13056 	if (yych == 'I') goto yy927;
13057 	goto yy794;
13058 yy797:
13059 	YYDEBUG(797, *YYCURSOR);
13060 	yych = *++YYCURSOR;
13061 	if (yych <= 'U') {
13062 		if (yych == 'A') goto yy920;
13063 		if (yych <= 'T') goto yy57;
13064 		goto yy919;
13065 	} else {
13066 		if (yych <= 'a') {
13067 			if (yych <= '`') goto yy57;
13068 			goto yy920;
13069 		} else {
13070 			if (yych == 'u') goto yy919;
13071 			goto yy57;
13072 		}
13073 	}
13074 yy798:
13075 	YYDEBUG(798, *YYCURSOR);
13076 	yych = *++YYCURSOR;
13077 	if (yych <= 'R') {
13078 		if (yych <= 'N') {
13079 			if (yych == 'E') goto yy913;
13080 			goto yy57;
13081 		} else {
13082 			if (yych <= 'O') goto yy99;
13083 			if (yych <= 'Q') goto yy57;
13084 			goto yy98;
13085 		}
13086 	} else {
13087 		if (yych <= 'n') {
13088 			if (yych == 'e') goto yy913;
13089 			goto yy57;
13090 		} else {
13091 			if (yych <= 'o') goto yy99;
13092 			if (yych == 'r') goto yy98;
13093 			goto yy57;
13094 		}
13095 	}
13096 yy799:
13097 	YYDEBUG(799, *YYCURSOR);
13098 	yych = *++YYCURSOR;
13099 	if (yych <= 'O') {
13100 		if (yych <= 'H') {
13101 			if (yych == 'A') goto yy910;
13102 			goto yy57;
13103 		} else {
13104 			if (yych <= 'I') goto yy118;
13105 			if (yych <= 'N') goto yy57;
13106 			goto yy117;
13107 		}
13108 	} else {
13109 		if (yych <= 'h') {
13110 			if (yych == 'a') goto yy910;
13111 			goto yy57;
13112 		} else {
13113 			if (yych <= 'i') goto yy118;
13114 			if (yych == 'o') goto yy117;
13115 			goto yy57;
13116 		}
13117 	}
13118 yy800:
13119 	YYDEBUG(800, *YYCURSOR);
13120 	yych = *++YYCURSOR;
13121 	if (yych <= 'U') {
13122 		if (yych == 'P') goto yy904;
13123 		if (yych <= 'T') goto yy57;
13124 		goto yy903;
13125 	} else {
13126 		if (yych <= 'p') {
13127 			if (yych <= 'o') goto yy57;
13128 			goto yy904;
13129 		} else {
13130 			if (yych == 'u') goto yy903;
13131 			goto yy57;
13132 		}
13133 	}
13134 yy801:
13135 	YYDEBUG(801, *YYCURSOR);
13136 	yych = *++YYCURSOR;
13137 	if (yych <= 'U') {
13138 		if (yych <= 'D') {
13139 			if (yych == 'A') goto yy127;
13140 			goto yy57;
13141 		} else {
13142 			if (yych <= 'E') goto yy896;
13143 			if (yych <= 'T') goto yy57;
13144 			goto yy126;
13145 		}
13146 	} else {
13147 		if (yych <= 'd') {
13148 			if (yych == 'a') goto yy127;
13149 			goto yy57;
13150 		} else {
13151 			if (yych <= 'e') goto yy896;
13152 			if (yych == 'u') goto yy126;
13153 			goto yy57;
13154 		}
13155 	}
13156 yy802:
13157 	YYDEBUG(802, *YYCURSOR);
13158 	yych = *++YYCURSOR;
13159 	if (yych == 'C') goto yy891;
13160 	if (yych == 'c') goto yy891;
13161 	goto yy57;
13162 yy803:
13163 	YYDEBUG(803, *YYCURSOR);
13164 	yych = *++YYCURSOR;
13165 	if (yych == 'O') goto yy885;
13166 	if (yych == 'o') goto yy885;
13167 	goto yy57;
13168 yy804:
13169 	YYDEBUG(804, *YYCURSOR);
13170 	yych = *++YYCURSOR;
13171 	if (yych <= 'E') {
13172 		if (yych == 'A') goto yy114;
13173 		if (yych <= 'D') goto yy57;
13174 		goto yy878;
13175 	} else {
13176 		if (yych <= 'a') {
13177 			if (yych <= '`') goto yy57;
13178 			goto yy114;
13179 		} else {
13180 			if (yych == 'e') goto yy878;
13181 			goto yy57;
13182 		}
13183 	}
13184 yy805:
13185 	YYDEBUG(805, *YYCURSOR);
13186 	yych = *++YYCURSOR;
13187 	if (yych <= '/') goto yy61;
13188 	if (yych <= '0') goto yy875;
13189 	if (yych <= '9') goto yy876;
13190 	goto yy61;
13191 yy806:
13192 	YYDEBUG(806, *YYCURSOR);
13193 	yych = *++YYCURSOR;
13194 	if (yych <= '/') goto yy61;
13195 	if (yych <= '2') goto yy844;
13196 	if (yych <= '9') goto yy823;
13197 	goto yy61;
13198 yy807:
13199 	YYDEBUG(807, *YYCURSOR);
13200 	yych = *++YYCURSOR;
13201 	if (yych <= '/') goto yy57;
13202 	if (yych <= '0') goto yy824;
13203 	if (yych <= '1') goto yy825;
13204 	goto yy57;
13205 yy808:
13206 	YYDEBUG(808, *YYCURSOR);
13207 	yych = *++YYCURSOR;
13208 	if (yych <= '/') goto yy61;
13209 	if (yych <= '9') goto yy823;
13210 	goto yy61;
13211 yy809:
13212 	YYDEBUG(809, *YYCURSOR);
13213 	yych = *++YYCURSOR;
13214 	if (yych <= '/') goto yy61;
13215 	if (yych <= '5') goto yy819;
13216 	if (yych <= '6') goto yy820;
13217 	if (yych <= '9') goto yy55;
13218 	goto yy61;
13219 yy810:
13220 	YYDEBUG(810, *YYCURSOR);
13221 	yych = *++YYCURSOR;
13222 	if (yych <= '5') {
13223 		if (yych <= '/') goto yy57;
13224 		if (yych <= '0') goto yy811;
13225 		if (yych <= '4') goto yy812;
13226 		goto yy813;
13227 	} else {
13228 		if (yych <= 'E') {
13229 			if (yych <= 'D') goto yy57;
13230 			goto yy83;
13231 		} else {
13232 			if (yych == 'e') goto yy83;
13233 			goto yy57;
13234 		}
13235 	}
13236 yy811:
13237 	YYDEBUG(811, *YYCURSOR);
13238 	yych = *++YYCURSOR;
13239 	if (yych <= '0') goto yy57;
13240 	if (yych <= '9') goto yy814;
13241 	goto yy57;
13242 yy812:
13243 	YYDEBUG(812, *YYCURSOR);
13244 	yych = *++YYCURSOR;
13245 	if (yych <= '/') goto yy57;
13246 	if (yych <= '9') goto yy814;
13247 	goto yy57;
13248 yy813:
13249 	YYDEBUG(813, *YYCURSOR);
13250 	yych = *++YYCURSOR;
13251 	if (yych <= '/') goto yy57;
13252 	if (yych >= '4') goto yy57;
13253 yy814:
13254 	YYDEBUG(814, *YYCURSOR);
13255 	yyaccept = 17;
13256 	yych = *(YYMARKER = ++YYCURSOR);
13257 	if (yych == '-') goto yy816;
13258 	if (yych <= '/') goto yy815;
13259 	if (yych <= '7') goto yy817;
13260 yy815:
13261 	YYDEBUG(815, *YYCURSOR);
13262 #line 1512 "ext/date/lib/parse_date.re"
13263 	{
13264 		timelib_sll w, d;
13265 		DEBUG_OUTPUT("isoweek");
13266 		TIMELIB_INIT;
13267 		TIMELIB_HAVE_DATE();
13268 		TIMELIB_HAVE_RELATIVE();
13269 
13270 		s->time->y = timelib_get_nr((char **) &ptr, 4);
13271 		w = timelib_get_nr((char **) &ptr, 2);
13272 		d = 1;
13273 		s->time->m = 1;
13274 		s->time->d = 1;
13275 		s->time->relative.d = timelib_daynr_from_weeknr(s->time->y, w, d);
13276 
13277 		TIMELIB_DEINIT;
13278 		return TIMELIB_ISO_WEEK;
13279 	}
13280 #line 13281 "ext/date/lib/parse_date.c"
13281 yy816:
13282 	YYDEBUG(816, *YYCURSOR);
13283 	yych = *++YYCURSOR;
13284 	if (yych <= '/') goto yy57;
13285 	if (yych >= '8') goto yy57;
13286 yy817:
13287 	YYDEBUG(817, *YYCURSOR);
13288 	++YYCURSOR;
13289 	YYDEBUG(818, *YYCURSOR);
13290 #line 1493 "ext/date/lib/parse_date.re"
13291 	{
13292 		timelib_sll w, d;
13293 		DEBUG_OUTPUT("isoweekday");
13294 		TIMELIB_INIT;
13295 		TIMELIB_HAVE_DATE();
13296 		TIMELIB_HAVE_RELATIVE();
13297 
13298 		s->time->y = timelib_get_nr((char **) &ptr, 4);
13299 		w = timelib_get_nr((char **) &ptr, 2);
13300 		d = timelib_get_nr((char **) &ptr, 1);
13301 		s->time->m = 1;
13302 		s->time->d = 1;
13303 		s->time->relative.d = timelib_daynr_from_weeknr(s->time->y, w, d);
13304 
13305 		TIMELIB_DEINIT;
13306 		return TIMELIB_ISO_WEEK;
13307 	}
13308 #line 13309 "ext/date/lib/parse_date.c"
13309 yy819:
13310 	YYDEBUG(819, *YYCURSOR);
13311 	yych = *++YYCURSOR;
13312 	if (yych <= '/') goto yy61;
13313 	if (yych <= '9') goto yy821;
13314 	goto yy61;
13315 yy820:
13316 	YYDEBUG(820, *YYCURSOR);
13317 	yych = *++YYCURSOR;
13318 	if (yych <= '/') goto yy61;
13319 	if (yych <= '6') goto yy821;
13320 	if (yych <= '9') goto yy55;
13321 	goto yy61;
13322 yy821:
13323 	YYDEBUG(821, *YYCURSOR);
13324 	yyaccept = 18;
13325 	yych = *(YYMARKER = ++YYCURSOR);
13326 	if (yybm[0+yych] & 2) {
13327 		goto yy55;
13328 	}
13329 	if (yych <= 'W') {
13330 		if (yych <= 'F') {
13331 			if (yych <= ' ') {
13332 				if (yych == '\t') goto yy61;
13333 				if (yych >= ' ') goto yy61;
13334 			} else {
13335 				if (yych == 'D') goto yy61;
13336 				if (yych >= 'F') goto yy61;
13337 			}
13338 		} else {
13339 			if (yych <= 'M') {
13340 				if (yych == 'H') goto yy61;
13341 				if (yych >= 'M') goto yy61;
13342 			} else {
13343 				if (yych <= 'R') goto yy822;
13344 				if (yych <= 'T') goto yy61;
13345 				if (yych >= 'W') goto yy61;
13346 			}
13347 		}
13348 	} else {
13349 		if (yych <= 'h') {
13350 			if (yych <= 'd') {
13351 				if (yych == 'Y') goto yy61;
13352 				if (yych >= 'd') goto yy61;
13353 			} else {
13354 				if (yych == 'f') goto yy61;
13355 				if (yych >= 'h') goto yy61;
13356 			}
13357 		} else {
13358 			if (yych <= 't') {
13359 				if (yych == 'm') goto yy61;
13360 				if (yych >= 's') goto yy61;
13361 			} else {
13362 				if (yych <= 'w') {
13363 					if (yych >= 'w') goto yy61;
13364 				} else {
13365 					if (yych == 'y') goto yy61;
13366 				}
13367 			}
13368 		}
13369 	}
13370 yy822:
13371 	YYDEBUG(822, *YYCURSOR);
13372 #line 1479 "ext/date/lib/parse_date.re"
13373 	{
13374 		int length = 0;
13375 		DEBUG_OUTPUT("pgydotd");
13376 		TIMELIB_INIT;
13377 		TIMELIB_HAVE_DATE();
13378 		s->time->y = timelib_get_nr_ex((char **) &ptr, 4, &length);
13379 		s->time->d = timelib_get_nr((char **) &ptr, 3);
13380 		s->time->m = 1;
13381 		TIMELIB_PROCESS_YEAR(s->time->y, length);
13382 		TIMELIB_DEINIT;
13383 		return TIMELIB_PG_YEARDAY;
13384 	}
13385 #line 13386 "ext/date/lib/parse_date.c"
13386 yy823:
13387 	YYDEBUG(823, *YYCURSOR);
13388 	yych = *++YYCURSOR;
13389 	if (yych <= '/') goto yy61;
13390 	if (yych <= '9') goto yy821;
13391 	goto yy61;
13392 yy824:
13393 	YYDEBUG(824, *YYCURSOR);
13394 	yych = *++YYCURSOR;
13395 	if (yych <= '/') goto yy57;
13396 	if (yych <= '9') goto yy826;
13397 	goto yy57;
13398 yy825:
13399 	YYDEBUG(825, *YYCURSOR);
13400 	yych = *++YYCURSOR;
13401 	if (yych <= '/') goto yy57;
13402 	if (yych >= '3') goto yy57;
13403 yy826:
13404 	YYDEBUG(826, *YYCURSOR);
13405 	yych = *++YYCURSOR;
13406 	if (yych != ':') goto yy57;
13407 	YYDEBUG(827, *YYCURSOR);
13408 	yych = *++YYCURSOR;
13409 	if (yych <= '/') goto yy57;
13410 	if (yych <= '0') goto yy828;
13411 	if (yych <= '2') goto yy829;
13412 	if (yych <= '3') goto yy830;
13413 	goto yy57;
13414 yy828:
13415 	YYDEBUG(828, *YYCURSOR);
13416 	yych = *++YYCURSOR;
13417 	if (yych <= '/') goto yy57;
13418 	if (yych <= '9') goto yy831;
13419 	goto yy57;
13420 yy829:
13421 	YYDEBUG(829, *YYCURSOR);
13422 	yych = *++YYCURSOR;
13423 	if (yych <= '/') goto yy57;
13424 	if (yych <= '9') goto yy831;
13425 	goto yy57;
13426 yy830:
13427 	YYDEBUG(830, *YYCURSOR);
13428 	yych = *++YYCURSOR;
13429 	if (yych <= '/') goto yy57;
13430 	if (yych >= '2') goto yy57;
13431 yy831:
13432 	YYDEBUG(831, *YYCURSOR);
13433 	yych = *++YYCURSOR;
13434 	if (yych != ' ') goto yy57;
13435 	YYDEBUG(832, *YYCURSOR);
13436 	yych = *++YYCURSOR;
13437 	if (yych <= '/') goto yy57;
13438 	if (yych <= '1') goto yy833;
13439 	if (yych <= '2') goto yy834;
13440 	goto yy57;
13441 yy833:
13442 	YYDEBUG(833, *YYCURSOR);
13443 	yych = *++YYCURSOR;
13444 	if (yych <= '/') goto yy57;
13445 	if (yych <= '9') goto yy835;
13446 	goto yy57;
13447 yy834:
13448 	YYDEBUG(834, *YYCURSOR);
13449 	yych = *++YYCURSOR;
13450 	if (yych <= '/') goto yy57;
13451 	if (yych >= '5') goto yy57;
13452 yy835:
13453 	YYDEBUG(835, *YYCURSOR);
13454 	yych = *++YYCURSOR;
13455 	if (yych != ':') goto yy57;
13456 	YYDEBUG(836, *YYCURSOR);
13457 	yych = *++YYCURSOR;
13458 	if (yych <= '/') goto yy57;
13459 	if (yych >= '6') goto yy57;
13460 	YYDEBUG(837, *YYCURSOR);
13461 	yych = *++YYCURSOR;
13462 	if (yych <= '/') goto yy57;
13463 	if (yych >= ':') goto yy57;
13464 	YYDEBUG(838, *YYCURSOR);
13465 	yych = *++YYCURSOR;
13466 	if (yych != ':') goto yy57;
13467 	YYDEBUG(839, *YYCURSOR);
13468 	yych = *++YYCURSOR;
13469 	if (yych <= '/') goto yy57;
13470 	if (yych <= '5') goto yy840;
13471 	if (yych <= '6') goto yy841;
13472 	goto yy57;
13473 yy840:
13474 	YYDEBUG(840, *YYCURSOR);
13475 	yych = *++YYCURSOR;
13476 	if (yych <= '/') goto yy57;
13477 	if (yych <= '9') goto yy842;
13478 	goto yy57;
13479 yy841:
13480 	YYDEBUG(841, *YYCURSOR);
13481 	yych = *++YYCURSOR;
13482 	if (yych != '0') goto yy57;
13483 yy842:
13484 	YYDEBUG(842, *YYCURSOR);
13485 	++YYCURSOR;
13486 yy843:
13487 	YYDEBUG(843, *YYCURSOR);
13488 #line 1453 "ext/date/lib/parse_date.re"
13489 	{
13490 		int tz_not_found;
13491 		DEBUG_OUTPUT("xmlrpc | xmlrpcnocolon | soap | wddx | exif");
13492 		TIMELIB_INIT;
13493 		TIMELIB_HAVE_TIME();
13494 		TIMELIB_HAVE_DATE();
13495 		s->time->y = timelib_get_nr((char **) &ptr, 4);
13496 		s->time->m = timelib_get_nr((char **) &ptr, 2);
13497 		s->time->d = timelib_get_nr((char **) &ptr, 2);
13498 		s->time->h = timelib_get_nr((char **) &ptr, 2);
13499 		s->time->i = timelib_get_nr((char **) &ptr, 2);
13500 		s->time->s = timelib_get_nr((char **) &ptr, 2);
13501 		if (*ptr == '.') {
13502 			s->time->f = timelib_get_frac_nr((char **) &ptr, 9);
13503 			if (*ptr) { /* timezone is optional */
13504 				s->time->z = timelib_get_zone((char **) &ptr, &s->time->dst, s->time, &tz_not_found, s->tzdb, tz_get_wrapper);
13505 				if (tz_not_found) {
13506 					add_error(s, "The timezone could not be found in the database");
13507 				}
13508 			}
13509 		}
13510 		TIMELIB_DEINIT;
13511 		return TIMELIB_XMLRPC_SOAP;
13512 	}
13513 #line 13514 "ext/date/lib/parse_date.c"
13514 yy844:
13515 	YYDEBUG(844, *YYCURSOR);
13516 	yych = *++YYCURSOR;
13517 	if (yych <= '2') {
13518 		if (yych <= '/') goto yy61;
13519 		if (yych >= '1') goto yy846;
13520 	} else {
13521 		if (yych <= '3') goto yy847;
13522 		if (yych <= '9') goto yy821;
13523 		goto yy61;
13524 	}
13525 yy845:
13526 	YYDEBUG(845, *YYCURSOR);
13527 	yyaccept = 18;
13528 	yych = *(YYMARKER = ++YYCURSOR);
13529 	if (yych <= 'V') {
13530 		if (yych <= 'D') {
13531 			if (yych <= ' ') {
13532 				if (yych == '\t') goto yy61;
13533 				if (yych <= 0x1F) goto yy822;
13534 				goto yy61;
13535 			} else {
13536 				if (yych <= '/') goto yy822;
13537 				if (yych <= '9') goto yy848;
13538 				if (yych <= 'C') goto yy822;
13539 				goto yy61;
13540 			}
13541 		} else {
13542 			if (yych <= 'H') {
13543 				if (yych == 'F') goto yy61;
13544 				if (yych <= 'G') goto yy822;
13545 				goto yy61;
13546 			} else {
13547 				if (yych <= 'M') {
13548 					if (yych <= 'L') goto yy822;
13549 					goto yy61;
13550 				} else {
13551 					if (yych <= 'R') goto yy822;
13552 					if (yych <= 'T') goto yy61;
13553 					goto yy822;
13554 				}
13555 			}
13556 		}
13557 	} else {
13558 		if (yych <= 'h') {
13559 			if (yych <= 'c') {
13560 				if (yych == 'X') goto yy822;
13561 				if (yych <= 'Y') goto yy61;
13562 				goto yy822;
13563 			} else {
13564 				if (yych <= 'e') {
13565 					if (yych <= 'd') goto yy61;
13566 					goto yy822;
13567 				} else {
13568 					if (yych == 'g') goto yy822;
13569 					goto yy61;
13570 				}
13571 			}
13572 		} else {
13573 			if (yych <= 't') {
13574 				if (yych == 'm') goto yy61;
13575 				if (yych <= 'r') goto yy822;
13576 				goto yy61;
13577 			} else {
13578 				if (yych <= 'w') {
13579 					if (yych <= 'v') goto yy822;
13580 					goto yy61;
13581 				} else {
13582 					if (yych == 'y') goto yy61;
13583 					goto yy822;
13584 				}
13585 			}
13586 		}
13587 	}
13588 yy846:
13589 	YYDEBUG(846, *YYCURSOR);
13590 	yyaccept = 18;
13591 	yych = *(YYMARKER = ++YYCURSOR);
13592 	if (yych <= 'V') {
13593 		if (yych <= 'D') {
13594 			if (yych <= ' ') {
13595 				if (yych == '\t') goto yy61;
13596 				if (yych <= 0x1F) goto yy822;
13597 				goto yy61;
13598 			} else {
13599 				if (yych <= '/') goto yy822;
13600 				if (yych <= '9') goto yy848;
13601 				if (yych <= 'C') goto yy822;
13602 				goto yy61;
13603 			}
13604 		} else {
13605 			if (yych <= 'H') {
13606 				if (yych == 'F') goto yy61;
13607 				if (yych <= 'G') goto yy822;
13608 				goto yy61;
13609 			} else {
13610 				if (yych <= 'M') {
13611 					if (yych <= 'L') goto yy822;
13612 					goto yy61;
13613 				} else {
13614 					if (yych <= 'R') goto yy822;
13615 					if (yych <= 'T') goto yy61;
13616 					goto yy822;
13617 				}
13618 			}
13619 		}
13620 	} else {
13621 		if (yych <= 'h') {
13622 			if (yych <= 'c') {
13623 				if (yych == 'X') goto yy822;
13624 				if (yych <= 'Y') goto yy61;
13625 				goto yy822;
13626 			} else {
13627 				if (yych <= 'e') {
13628 					if (yych <= 'd') goto yy61;
13629 					goto yy822;
13630 				} else {
13631 					if (yych == 'g') goto yy822;
13632 					goto yy61;
13633 				}
13634 			}
13635 		} else {
13636 			if (yych <= 't') {
13637 				if (yych == 'm') goto yy61;
13638 				if (yych <= 'r') goto yy822;
13639 				goto yy61;
13640 			} else {
13641 				if (yych <= 'w') {
13642 					if (yych <= 'v') goto yy822;
13643 					goto yy61;
13644 				} else {
13645 					if (yych == 'y') goto yy61;
13646 					goto yy822;
13647 				}
13648 			}
13649 		}
13650 	}
13651 yy847:
13652 	YYDEBUG(847, *YYCURSOR);
13653 	yyaccept = 18;
13654 	yych = *(YYMARKER = ++YYCURSOR);
13655 	if (yych <= 'V') {
13656 		if (yych <= 'D') {
13657 			if (yych <= ' ') {
13658 				if (yych == '\t') goto yy61;
13659 				if (yych <= 0x1F) goto yy822;
13660 				goto yy61;
13661 			} else {
13662 				if (yych <= '1') {
13663 					if (yych <= '/') goto yy822;
13664 				} else {
13665 					if (yych <= '9') goto yy55;
13666 					if (yych <= 'C') goto yy822;
13667 					goto yy61;
13668 				}
13669 			}
13670 		} else {
13671 			if (yych <= 'H') {
13672 				if (yych == 'F') goto yy61;
13673 				if (yych <= 'G') goto yy822;
13674 				goto yy61;
13675 			} else {
13676 				if (yych <= 'M') {
13677 					if (yych <= 'L') goto yy822;
13678 					goto yy61;
13679 				} else {
13680 					if (yych <= 'R') goto yy822;
13681 					if (yych <= 'T') goto yy61;
13682 					goto yy822;
13683 				}
13684 			}
13685 		}
13686 	} else {
13687 		if (yych <= 'h') {
13688 			if (yych <= 'c') {
13689 				if (yych == 'X') goto yy822;
13690 				if (yych <= 'Y') goto yy61;
13691 				goto yy822;
13692 			} else {
13693 				if (yych <= 'e') {
13694 					if (yych <= 'd') goto yy61;
13695 					goto yy822;
13696 				} else {
13697 					if (yych == 'g') goto yy822;
13698 					goto yy61;
13699 				}
13700 			}
13701 		} else {
13702 			if (yych <= 't') {
13703 				if (yych == 'm') goto yy61;
13704 				if (yych <= 'r') goto yy822;
13705 				goto yy61;
13706 			} else {
13707 				if (yych <= 'w') {
13708 					if (yych <= 'v') goto yy822;
13709 					goto yy61;
13710 				} else {
13711 					if (yych == 'y') goto yy61;
13712 					goto yy822;
13713 				}
13714 			}
13715 		}
13716 	}
13717 yy848:
13718 	YYDEBUG(848, *YYCURSOR);
13719 	yyaccept = 19;
13720 	yych = *(YYMARKER = ++YYCURSOR);
13721 	if (yybm[0+yych] & 2) {
13722 		goto yy55;
13723 	}
13724 	if (yych <= 'W') {
13725 		if (yych <= 'F') {
13726 			if (yych <= ' ') {
13727 				if (yych == '\t') goto yy60;
13728 				if (yych >= ' ') goto yy60;
13729 			} else {
13730 				if (yych == 'D') goto yy65;
13731 				if (yych >= 'F') goto yy66;
13732 			}
13733 		} else {
13734 			if (yych <= 'M') {
13735 				if (yych == 'H') goto yy64;
13736 				if (yych >= 'M') goto yy63;
13737 			} else {
13738 				if (yych <= 'S') {
13739 					if (yych >= 'S') goto yy62;
13740 				} else {
13741 					if (yych <= 'T') goto yy850;
13742 					if (yych >= 'W') goto yy68;
13743 				}
13744 			}
13745 		}
13746 	} else {
13747 		if (yych <= 'l') {
13748 			if (yych <= 'd') {
13749 				if (yych == 'Y') goto yy67;
13750 				if (yych >= 'd') goto yy65;
13751 			} else {
13752 				if (yych <= 'f') {
13753 					if (yych >= 'f') goto yy66;
13754 				} else {
13755 					if (yych == 'h') goto yy64;
13756 				}
13757 			}
13758 		} else {
13759 			if (yych <= 't') {
13760 				if (yych <= 'm') goto yy63;
13761 				if (yych <= 'r') goto yy849;
13762 				if (yych <= 's') goto yy62;
13763 				goto yy851;
13764 			} else {
13765 				if (yych <= 'w') {
13766 					if (yych >= 'w') goto yy68;
13767 				} else {
13768 					if (yych == 'y') goto yy67;
13769 				}
13770 			}
13771 		}
13772 	}
13773 yy849:
13774 	YYDEBUG(849, *YYCURSOR);
13775 #line 1441 "ext/date/lib/parse_date.re"
13776 	{
13777 		DEBUG_OUTPUT("datenocolon");
13778 		TIMELIB_INIT;
13779 		TIMELIB_HAVE_DATE();
13780 		s->time->y = timelib_get_nr((char **) &ptr, 4);
13781 		s->time->m = timelib_get_nr((char **) &ptr, 2);
13782 		s->time->d = timelib_get_nr((char **) &ptr, 2);
13783 		TIMELIB_DEINIT;
13784 		return TIMELIB_DATE_NOCOLON;
13785 	}
13786 #line 13787 "ext/date/lib/parse_date.c"
13787 yy850:
13788 	YYDEBUG(850, *YYCURSOR);
13789 	yych = *++YYCURSOR;
13790 	if (yych <= 'H') {
13791 		if (yych <= '2') {
13792 			if (yych <= '/') goto yy57;
13793 			if (yych <= '1') goto yy865;
13794 			goto yy866;
13795 		} else {
13796 			if (yych <= '9') goto yy867;
13797 			if (yych <= 'G') goto yy57;
13798 			goto yy70;
13799 		}
13800 	} else {
13801 		if (yych <= 'g') {
13802 			if (yych == 'U') goto yy71;
13803 			goto yy57;
13804 		} else {
13805 			if (yych <= 'h') goto yy70;
13806 			if (yych == 'u') goto yy71;
13807 			goto yy57;
13808 		}
13809 	}
13810 yy851:
13811 	YYDEBUG(851, *YYCURSOR);
13812 	yych = *++YYCURSOR;
13813 	if (yych <= 'H') {
13814 		if (yych <= '2') {
13815 			if (yych <= '/') goto yy57;
13816 			if (yych >= '2') goto yy853;
13817 		} else {
13818 			if (yych <= '9') goto yy854;
13819 			if (yych <= 'G') goto yy57;
13820 			goto yy70;
13821 		}
13822 	} else {
13823 		if (yych <= 'g') {
13824 			if (yych == 'U') goto yy71;
13825 			goto yy57;
13826 		} else {
13827 			if (yych <= 'h') goto yy70;
13828 			if (yych == 'u') goto yy71;
13829 			goto yy57;
13830 		}
13831 	}
13832 	YYDEBUG(852, *YYCURSOR);
13833 	yych = *++YYCURSOR;
13834 	if (yych <= '/') goto yy57;
13835 	if (yych <= '5') goto yy859;
13836 	if (yych <= '9') goto yy854;
13837 	goto yy57;
13838 yy853:
13839 	YYDEBUG(853, *YYCURSOR);
13840 	yych = *++YYCURSOR;
13841 	if (yych <= '/') goto yy57;
13842 	if (yych <= '4') goto yy859;
13843 	if (yych <= '5') goto yy855;
13844 	goto yy57;
13845 yy854:
13846 	YYDEBUG(854, *YYCURSOR);
13847 	yych = *++YYCURSOR;
13848 	if (yych <= '/') goto yy57;
13849 	if (yych >= '6') goto yy57;
13850 yy855:
13851 	YYDEBUG(855, *YYCURSOR);
13852 	yych = *++YYCURSOR;
13853 	if (yych <= '/') goto yy57;
13854 	if (yych >= ':') goto yy57;
13855 yy856:
13856 	YYDEBUG(856, *YYCURSOR);
13857 	yych = *++YYCURSOR;
13858 	if (yych <= '/') goto yy57;
13859 	if (yych <= '5') goto yy857;
13860 	if (yych <= '6') goto yy858;
13861 	goto yy57;
13862 yy857:
13863 	YYDEBUG(857, *YYCURSOR);
13864 	yych = *++YYCURSOR;
13865 	if (yych <= '/') goto yy57;
13866 	if (yych <= '9') goto yy842;
13867 	goto yy57;
13868 yy858:
13869 	YYDEBUG(858, *YYCURSOR);
13870 	yych = *++YYCURSOR;
13871 	if (yych == '0') goto yy842;
13872 	goto yy57;
13873 yy859:
13874 	YYDEBUG(859, *YYCURSOR);
13875 	yych = *++YYCURSOR;
13876 	if (yych <= '/') goto yy57;
13877 	if (yych <= '5') goto yy860;
13878 	if (yych <= '9') goto yy856;
13879 	goto yy57;
13880 yy860:
13881 	YYDEBUG(860, *YYCURSOR);
13882 	yych = *++YYCURSOR;
13883 	if (yych <= '/') goto yy57;
13884 	if (yych <= '5') goto yy861;
13885 	if (yych <= '6') goto yy862;
13886 	if (yych <= '9') goto yy856;
13887 	goto yy57;
13888 yy861:
13889 	YYDEBUG(861, *YYCURSOR);
13890 	yych = *++YYCURSOR;
13891 	if (yych <= '/') goto yy57;
13892 	if (yych <= '5') goto yy863;
13893 	if (yych <= '6') goto yy864;
13894 	if (yych <= '9') goto yy842;
13895 	goto yy57;
13896 yy862:
13897 	YYDEBUG(862, *YYCURSOR);
13898 	yych = *++YYCURSOR;
13899 	if (yych <= '/') goto yy57;
13900 	if (yych <= '0') goto yy863;
13901 	if (yych <= '5') goto yy857;
13902 	if (yych <= '6') goto yy858;
13903 	goto yy57;
13904 yy863:
13905 	YYDEBUG(863, *YYCURSOR);
13906 	yych = *++YYCURSOR;
13907 	if (yych <= '/') goto yy843;
13908 	if (yych <= '9') goto yy842;
13909 	goto yy843;
13910 yy864:
13911 	YYDEBUG(864, *YYCURSOR);
13912 	yych = *++YYCURSOR;
13913 	if (yych == '0') goto yy842;
13914 	goto yy843;
13915 yy865:
13916 	YYDEBUG(865, *YYCURSOR);
13917 	yych = *++YYCURSOR;
13918 	if (yych <= '/') goto yy57;
13919 	if (yych <= '5') goto yy874;
13920 	if (yych <= '9') goto yy867;
13921 	if (yych <= ':') goto yy868;
13922 	goto yy57;
13923 yy866:
13924 	YYDEBUG(866, *YYCURSOR);
13925 	yych = *++YYCURSOR;
13926 	if (yych <= '5') {
13927 		if (yych <= '/') goto yy57;
13928 		if (yych <= '4') goto yy874;
13929 		goto yy855;
13930 	} else {
13931 		if (yych == ':') goto yy868;
13932 		goto yy57;
13933 	}
13934 yy867:
13935 	YYDEBUG(867, *YYCURSOR);
13936 	yych = *++YYCURSOR;
13937 	if (yych <= '/') goto yy57;
13938 	if (yych <= '5') goto yy855;
13939 	if (yych != ':') goto yy57;
13940 yy868:
13941 	YYDEBUG(868, *YYCURSOR);
13942 	yych = *++YYCURSOR;
13943 	if (yych <= '/') goto yy57;
13944 	if (yych >= '6') goto yy57;
13945 	YYDEBUG(869, *YYCURSOR);
13946 	yych = *++YYCURSOR;
13947 	if (yych <= '/') goto yy57;
13948 	if (yych >= ':') goto yy57;
13949 	YYDEBUG(870, *YYCURSOR);
13950 	yych = *++YYCURSOR;
13951 	if (yych != ':') goto yy57;
13952 	YYDEBUG(871, *YYCURSOR);
13953 	yych = *++YYCURSOR;
13954 	if (yych <= '/') goto yy57;
13955 	if (yych <= '5') goto yy872;
13956 	if (yych <= '6') goto yy873;
13957 	goto yy57;
13958 yy872:
13959 	YYDEBUG(872, *YYCURSOR);
13960 	yych = *++YYCURSOR;
13961 	if (yych <= '/') goto yy57;
13962 	if (yych <= '9') goto yy842;
13963 	goto yy57;
13964 yy873:
13965 	YYDEBUG(873, *YYCURSOR);
13966 	yych = *++YYCURSOR;
13967 	if (yych == '0') goto yy842;
13968 	goto yy57;
13969 yy874:
13970 	YYDEBUG(874, *YYCURSOR);
13971 	yych = *++YYCURSOR;
13972 	if (yych <= '/') goto yy57;
13973 	if (yych <= '5') goto yy860;
13974 	if (yych <= '9') goto yy856;
13975 	if (yych <= ':') goto yy868;
13976 	goto yy57;
13977 yy875:
13978 	YYDEBUG(875, *YYCURSOR);
13979 	yych = *++YYCURSOR;
13980 	if (yych <= '2') {
13981 		if (yych <= '/') goto yy61;
13982 		if (yych <= '0') goto yy877;
13983 		goto yy846;
13984 	} else {
13985 		if (yych <= '3') goto yy847;
13986 		if (yych <= '9') goto yy821;
13987 		goto yy61;
13988 	}
13989 yy876:
13990 	YYDEBUG(876, *YYCURSOR);
13991 	yych = *++YYCURSOR;
13992 	if (yych <= '2') {
13993 		if (yych <= '/') goto yy61;
13994 		if (yych <= '0') goto yy845;
13995 		goto yy846;
13996 	} else {
13997 		if (yych <= '3') goto yy847;
13998 		if (yych <= '9') goto yy821;
13999 		goto yy61;
14000 	}
14001 yy877:
14002 	YYDEBUG(877, *YYCURSOR);
14003 	yych = *++YYCURSOR;
14004 	if (yych <= '/') goto yy61;
14005 	if (yych <= '9') goto yy848;
14006 	goto yy61;
14007 yy878:
14008 	YYDEBUG(878, *YYCURSOR);
14009 	yych = *++YYCURSOR;
14010 	if (yych == 'C') goto yy879;
14011 	if (yych != 'c') goto yy57;
14012 yy879:
14013 	YYDEBUG(879, *YYCURSOR);
14014 	yyaccept = 20;
14015 	yych = *(YYMARKER = ++YYCURSOR);
14016 	if (yych == 'E') goto yy880;
14017 	if (yych != 'e') goto yy794;
14018 yy880:
14019 	YYDEBUG(880, *YYCURSOR);
14020 	yych = *++YYCURSOR;
14021 	if (yych == 'M') goto yy881;
14022 	if (yych != 'm') goto yy57;
14023 yy881:
14024 	YYDEBUG(881, *YYCURSOR);
14025 	yych = *++YYCURSOR;
14026 	if (yych == 'B') goto yy882;
14027 	if (yych != 'b') goto yy57;
14028 yy882:
14029 	YYDEBUG(882, *YYCURSOR);
14030 	yych = *++YYCURSOR;
14031 	if (yych == 'E') goto yy883;
14032 	if (yych != 'e') goto yy57;
14033 yy883:
14034 	YYDEBUG(883, *YYCURSOR);
14035 	yych = *++YYCURSOR;
14036 	if (yych == 'R') goto yy884;
14037 	if (yych != 'r') goto yy57;
14038 yy884:
14039 	YYDEBUG(884, *YYCURSOR);
14040 	yych = *++YYCURSOR;
14041 	goto yy794;
14042 yy885:
14043 	YYDEBUG(885, *YYCURSOR);
14044 	yych = *++YYCURSOR;
14045 	if (yych == 'V') goto yy886;
14046 	if (yych != 'v') goto yy57;
14047 yy886:
14048 	YYDEBUG(886, *YYCURSOR);
14049 	yyaccept = 20;
14050 	yych = *(YYMARKER = ++YYCURSOR);
14051 	if (yych == 'E') goto yy887;
14052 	if (yych != 'e') goto yy794;
14053 yy887:
14054 	YYDEBUG(887, *YYCURSOR);
14055 	yych = *++YYCURSOR;
14056 	if (yych == 'M') goto yy888;
14057 	if (yych != 'm') goto yy57;
14058 yy888:
14059 	YYDEBUG(888, *YYCURSOR);
14060 	yych = *++YYCURSOR;
14061 	if (yych == 'B') goto yy889;
14062 	if (yych != 'b') goto yy57;
14063 yy889:
14064 	YYDEBUG(889, *YYCURSOR);
14065 	yych = *++YYCURSOR;
14066 	if (yych == 'E') goto yy890;
14067 	if (yych != 'e') goto yy57;
14068 yy890:
14069 	YYDEBUG(890, *YYCURSOR);
14070 	yych = *++YYCURSOR;
14071 	if (yych == 'R') goto yy884;
14072 	if (yych == 'r') goto yy884;
14073 	goto yy57;
14074 yy891:
14075 	YYDEBUG(891, *YYCURSOR);
14076 	yych = *++YYCURSOR;
14077 	if (yych == 'T') goto yy892;
14078 	if (yych != 't') goto yy57;
14079 yy892:
14080 	YYDEBUG(892, *YYCURSOR);
14081 	yyaccept = 20;
14082 	yych = *(YYMARKER = ++YYCURSOR);
14083 	if (yych == 'O') goto yy893;
14084 	if (yych != 'o') goto yy794;
14085 yy893:
14086 	YYDEBUG(893, *YYCURSOR);
14087 	yych = *++YYCURSOR;
14088 	if (yych == 'B') goto yy894;
14089 	if (yych != 'b') goto yy57;
14090 yy894:
14091 	YYDEBUG(894, *YYCURSOR);
14092 	yych = *++YYCURSOR;
14093 	if (yych == 'E') goto yy895;
14094 	if (yych != 'e') goto yy57;
14095 yy895:
14096 	YYDEBUG(895, *YYCURSOR);
14097 	yych = *++YYCURSOR;
14098 	if (yych == 'R') goto yy884;
14099 	if (yych == 'r') goto yy884;
14100 	goto yy57;
14101 yy896:
14102 	YYDEBUG(896, *YYCURSOR);
14103 	yych = *++YYCURSOR;
14104 	if (yych <= 'P') {
14105 		if (yych == 'C') goto yy129;
14106 		if (yych <= 'O') goto yy57;
14107 	} else {
14108 		if (yych <= 'c') {
14109 			if (yych <= 'b') goto yy57;
14110 			goto yy129;
14111 		} else {
14112 			if (yych != 'p') goto yy57;
14113 		}
14114 	}
14115 yy897:
14116 	YYDEBUG(897, *YYCURSOR);
14117 	yych = *++YYCURSOR;
14118 	if (yych == 'T') goto yy898;
14119 	if (yych != 't') goto yy794;
14120 yy898:
14121 	YYDEBUG(898, *YYCURSOR);
14122 	yyaccept = 20;
14123 	yych = *(YYMARKER = ++YYCURSOR);
14124 	if (yych == 'E') goto yy899;
14125 	if (yych != 'e') goto yy794;
14126 yy899:
14127 	YYDEBUG(899, *YYCURSOR);
14128 	yych = *++YYCURSOR;
14129 	if (yych == 'M') goto yy900;
14130 	if (yych != 'm') goto yy57;
14131 yy900:
14132 	YYDEBUG(900, *YYCURSOR);
14133 	yych = *++YYCURSOR;
14134 	if (yych == 'B') goto yy901;
14135 	if (yych != 'b') goto yy57;
14136 yy901:
14137 	YYDEBUG(901, *YYCURSOR);
14138 	yych = *++YYCURSOR;
14139 	if (yych == 'E') goto yy902;
14140 	if (yych != 'e') goto yy57;
14141 yy902:
14142 	YYDEBUG(902, *YYCURSOR);
14143 	yych = *++YYCURSOR;
14144 	if (yych == 'R') goto yy884;
14145 	if (yych == 'r') goto yy884;
14146 	goto yy57;
14147 yy903:
14148 	YYDEBUG(903, *YYCURSOR);
14149 	yych = *++YYCURSOR;
14150 	if (yych == 'G') goto yy907;
14151 	if (yych == 'g') goto yy907;
14152 	goto yy57;
14153 yy904:
14154 	YYDEBUG(904, *YYCURSOR);
14155 	yych = *++YYCURSOR;
14156 	if (yych == 'R') goto yy905;
14157 	if (yych != 'r') goto yy57;
14158 yy905:
14159 	YYDEBUG(905, *YYCURSOR);
14160 	yyaccept = 20;
14161 	yych = *(YYMARKER = ++YYCURSOR);
14162 	if (yych == 'I') goto yy906;
14163 	if (yych != 'i') goto yy794;
14164 yy906:
14165 	YYDEBUG(906, *YYCURSOR);
14166 	yych = *++YYCURSOR;
14167 	if (yych == 'L') goto yy884;
14168 	if (yych == 'l') goto yy884;
14169 	goto yy57;
14170 yy907:
14171 	YYDEBUG(907, *YYCURSOR);
14172 	yyaccept = 20;
14173 	yych = *(YYMARKER = ++YYCURSOR);
14174 	if (yych == 'U') goto yy908;
14175 	if (yych != 'u') goto yy794;
14176 yy908:
14177 	YYDEBUG(908, *YYCURSOR);
14178 	yych = *++YYCURSOR;
14179 	if (yych == 'S') goto yy909;
14180 	if (yych != 's') goto yy57;
14181 yy909:
14182 	YYDEBUG(909, *YYCURSOR);
14183 	yych = *++YYCURSOR;
14184 	if (yych == 'T') goto yy884;
14185 	if (yych == 't') goto yy884;
14186 	goto yy57;
14187 yy910:
14188 	YYDEBUG(910, *YYCURSOR);
14189 	yych = *++YYCURSOR;
14190 	if (yych <= 'Y') {
14191 		if (yych == 'R') goto yy911;
14192 		if (yych <= 'X') goto yy57;
14193 		goto yy884;
14194 	} else {
14195 		if (yych <= 'r') {
14196 			if (yych <= 'q') goto yy57;
14197 		} else {
14198 			if (yych == 'y') goto yy884;
14199 			goto yy57;
14200 		}
14201 	}
14202 yy911:
14203 	YYDEBUG(911, *YYCURSOR);
14204 	yyaccept = 20;
14205 	yych = *(YYMARKER = ++YYCURSOR);
14206 	if (yych == 'C') goto yy912;
14207 	if (yych != 'c') goto yy794;
14208 yy912:
14209 	YYDEBUG(912, *YYCURSOR);
14210 	yych = *++YYCURSOR;
14211 	if (yych == 'H') goto yy884;
14212 	if (yych == 'h') goto yy884;
14213 	goto yy57;
14214 yy913:
14215 	YYDEBUG(913, *YYCURSOR);
14216 	yych = *++YYCURSOR;
14217 	if (yych == 'B') goto yy914;
14218 	if (yych != 'b') goto yy57;
14219 yy914:
14220 	YYDEBUG(914, *YYCURSOR);
14221 	yyaccept = 20;
14222 	yych = *(YYMARKER = ++YYCURSOR);
14223 	if (yych == 'R') goto yy915;
14224 	if (yych != 'r') goto yy794;
14225 yy915:
14226 	YYDEBUG(915, *YYCURSOR);
14227 	yych = *++YYCURSOR;
14228 	if (yych == 'U') goto yy916;
14229 	if (yych != 'u') goto yy57;
14230 yy916:
14231 	YYDEBUG(916, *YYCURSOR);
14232 	yych = *++YYCURSOR;
14233 	if (yych == 'A') goto yy917;
14234 	if (yych != 'a') goto yy57;
14235 yy917:
14236 	YYDEBUG(917, *YYCURSOR);
14237 	yych = *++YYCURSOR;
14238 	if (yych == 'R') goto yy918;
14239 	if (yych != 'r') goto yy57;
14240 yy918:
14241 	YYDEBUG(918, *YYCURSOR);
14242 	yych = *++YYCURSOR;
14243 	if (yych == 'Y') goto yy884;
14244 	if (yych == 'y') goto yy884;
14245 	goto yy57;
14246 yy919:
14247 	YYDEBUG(919, *YYCURSOR);
14248 	yych = *++YYCURSOR;
14249 	if (yych <= 'N') {
14250 		if (yych == 'L') goto yy926;
14251 		if (yych <= 'M') goto yy57;
14252 		goto yy925;
14253 	} else {
14254 		if (yych <= 'l') {
14255 			if (yych <= 'k') goto yy57;
14256 			goto yy926;
14257 		} else {
14258 			if (yych == 'n') goto yy925;
14259 			goto yy57;
14260 		}
14261 	}
14262 yy920:
14263 	YYDEBUG(920, *YYCURSOR);
14264 	yych = *++YYCURSOR;
14265 	if (yych == 'N') goto yy921;
14266 	if (yych != 'n') goto yy57;
14267 yy921:
14268 	YYDEBUG(921, *YYCURSOR);
14269 	yyaccept = 20;
14270 	yych = *(YYMARKER = ++YYCURSOR);
14271 	if (yych == 'U') goto yy922;
14272 	if (yych != 'u') goto yy794;
14273 yy922:
14274 	YYDEBUG(922, *YYCURSOR);
14275 	yych = *++YYCURSOR;
14276 	if (yych == 'A') goto yy923;
14277 	if (yych != 'a') goto yy57;
14278 yy923:
14279 	YYDEBUG(923, *YYCURSOR);
14280 	yych = *++YYCURSOR;
14281 	if (yych == 'R') goto yy924;
14282 	if (yych != 'r') goto yy57;
14283 yy924:
14284 	YYDEBUG(924, *YYCURSOR);
14285 	yych = *++YYCURSOR;
14286 	if (yych == 'Y') goto yy884;
14287 	if (yych == 'y') goto yy884;
14288 	goto yy57;
14289 yy925:
14290 	YYDEBUG(925, *YYCURSOR);
14291 	yych = *++YYCURSOR;
14292 	if (yych == 'E') goto yy884;
14293 	if (yych == 'e') goto yy884;
14294 	goto yy794;
14295 yy926:
14296 	YYDEBUG(926, *YYCURSOR);
14297 	yych = *++YYCURSOR;
14298 	if (yych == 'Y') goto yy884;
14299 	if (yych == 'y') goto yy884;
14300 	goto yy794;
14301 yy927:
14302 	YYDEBUG(927, *YYCURSOR);
14303 	yych = *++YYCURSOR;
14304 	if (yych == 'I') goto yy884;
14305 	goto yy794;
14306 yy928:
14307 	YYDEBUG(928, *YYCURSOR);
14308 	yych = *++YYCURSOR;
14309 	if (yych != 'I') goto yy794;
14310 	YYDEBUG(929, *YYCURSOR);
14311 	yych = *++YYCURSOR;
14312 	if (yych == 'I') goto yy884;
14313 	goto yy794;
14314 yy930:
14315 	YYDEBUG(930, *YYCURSOR);
14316 	yych = *++YYCURSOR;
14317 	if (yych == 'I') goto yy884;
14318 	goto yy794;
14319 yy931:
14320 	YYDEBUG(931, *YYCURSOR);
14321 	yych = *++YYCURSOR;
14322 	if (yych <= '/') goto yy57;
14323 	if (yych <= '0') goto yy946;
14324 	if (yych <= '9') goto yy945;
14325 	goto yy57;
14326 yy932:
14327 	YYDEBUG(932, *YYCURSOR);
14328 	yych = *++YYCURSOR;
14329 	if (yych <= '/') goto yy57;
14330 	if (yych <= '9') goto yy944;
14331 	goto yy57;
14332 yy933:
14333 	YYDEBUG(933, *YYCURSOR);
14334 	yych = *++YYCURSOR;
14335 	if (yych <= '/') goto yy57;
14336 	if (yych <= '5') goto yy942;
14337 	if (yych <= '6') goto yy941;
14338 	goto yy57;
14339 yy934:
14340 	YYDEBUG(934, *YYCURSOR);
14341 	yych = *++YYCURSOR;
14342 	if (yych == 'E') goto yy913;
14343 	if (yych == 'e') goto yy913;
14344 	goto yy57;
14345 yy935:
14346 	YYDEBUG(935, *YYCURSOR);
14347 	yych = *++YYCURSOR;
14348 	if (yych == 'A') goto yy910;
14349 	if (yych == 'a') goto yy910;
14350 	goto yy57;
14351 yy936:
14352 	YYDEBUG(936, *YYCURSOR);
14353 	yych = *++YYCURSOR;
14354 	if (yych == 'E') goto yy940;
14355 	if (yych == 'e') goto yy940;
14356 	goto yy57;
14357 yy937:
14358 	YYDEBUG(937, *YYCURSOR);
14359 	yych = *++YYCURSOR;
14360 	if (yych == 'E') goto yy878;
14361 	if (yych == 'e') goto yy878;
14362 	goto yy57;
14363 yy938:
14364 	YYDEBUG(938, *YYCURSOR);
14365 	++YYCURSOR;
14366 	if ((YYLIMIT - YYCURSOR) < 9) YYFILL(9);
14367 	yych = *YYCURSOR;
14368 yy939:
14369 	YYDEBUG(939, *YYCURSOR);
14370 	YYDEBUG(-1, yych);
14371 	switch (yych) {
14372 	case '\t':
14373 	case ' ':
14374 	case '-':
14375 	case '.':	goto yy938;
14376 	case 'A':
14377 	case 'a':	goto yy800;
14378 	case 'D':
14379 	case 'd':	goto yy937;
14380 	case 'F':
14381 	case 'f':	goto yy934;
14382 	case 'I':	goto yy793;
14383 	case 'J':
14384 	case 'j':	goto yy797;
14385 	case 'M':
14386 	case 'm':	goto yy935;
14387 	case 'N':
14388 	case 'n':	goto yy803;
14389 	case 'O':
14390 	case 'o':	goto yy802;
14391 	case 'S':
14392 	case 's':	goto yy936;
14393 	case 'V':	goto yy795;
14394 	case 'X':	goto yy796;
14395 	default:	goto yy57;
14396 	}
14397 yy940:
14398 	YYDEBUG(940, *YYCURSOR);
14399 	yych = *++YYCURSOR;
14400 	if (yych == 'P') goto yy897;
14401 	if (yych == 'p') goto yy897;
14402 	goto yy57;
14403 yy941:
14404 	YYDEBUG(941, *YYCURSOR);
14405 	yych = *++YYCURSOR;
14406 	if (yych <= '/') goto yy57;
14407 	if (yych <= '6') goto yy943;
14408 	goto yy57;
14409 yy942:
14410 	YYDEBUG(942, *YYCURSOR);
14411 	yych = *++YYCURSOR;
14412 	if (yych <= '/') goto yy57;
14413 	if (yych >= ':') goto yy57;
14414 yy943:
14415 	YYDEBUG(943, *YYCURSOR);
14416 	yych = *++YYCURSOR;
14417 	goto yy822;
14418 yy944:
14419 	YYDEBUG(944, *YYCURSOR);
14420 	yych = *++YYCURSOR;
14421 	if (yych <= '/') goto yy57;
14422 	if (yych <= '9') goto yy943;
14423 	goto yy57;
14424 yy945:
14425 	YYDEBUG(945, *YYCURSOR);
14426 	yych = *++YYCURSOR;
14427 	if (yych <= '/') goto yy57;
14428 	if (yych <= '9') goto yy943;
14429 	goto yy57;
14430 yy946:
14431 	YYDEBUG(946, *YYCURSOR);
14432 	yych = *++YYCURSOR;
14433 	if (yych <= '0') goto yy57;
14434 	if (yych <= '9') goto yy943;
14435 	goto yy57;
14436 yy947:
14437 	YYDEBUG(947, *YYCURSOR);
14438 	yych = *++YYCURSOR;
14439 	if (yych <= '.') goto yy57;
14440 	if (yych <= '/') goto yy950;
14441 	if (yych <= '9') goto yy958;
14442 	goto yy57;
14443 yy948:
14444 	YYDEBUG(948, *YYCURSOR);
14445 	yych = *++YYCURSOR;
14446 	if (yych <= '.') goto yy57;
14447 	if (yych <= '/') goto yy950;
14448 	if (yych <= '2') goto yy958;
14449 	goto yy57;
14450 yy949:
14451 	YYDEBUG(949, *YYCURSOR);
14452 	yych = *++YYCURSOR;
14453 	if (yych != '/') goto yy57;
14454 yy950:
14455 	YYDEBUG(950, *YYCURSOR);
14456 	yych = *++YYCURSOR;
14457 	if (yych <= '/') goto yy57;
14458 	if (yych <= '2') goto yy951;
14459 	if (yych <= '3') goto yy952;
14460 	if (yych <= '9') goto yy953;
14461 	goto yy57;
14462 yy951:
14463 	YYDEBUG(951, *YYCURSOR);
14464 	yyaccept = 21;
14465 	yych = *(YYMARKER = ++YYCURSOR);
14466 	if (yych <= 'n') {
14467 		if (yych <= '/') goto yy455;
14468 		if (yych <= '9') goto yy953;
14469 		if (yych <= 'm') goto yy455;
14470 		goto yy955;
14471 	} else {
14472 		if (yych <= 'r') {
14473 			if (yych <= 'q') goto yy455;
14474 			goto yy956;
14475 		} else {
14476 			if (yych <= 's') goto yy954;
14477 			if (yych <= 't') goto yy957;
14478 			goto yy455;
14479 		}
14480 	}
14481 yy952:
14482 	YYDEBUG(952, *YYCURSOR);
14483 	yyaccept = 21;
14484 	yych = *(YYMARKER = ++YYCURSOR);
14485 	if (yych <= 'n') {
14486 		if (yych <= '/') goto yy455;
14487 		if (yych <= '1') goto yy953;
14488 		if (yych <= 'm') goto yy455;
14489 		goto yy955;
14490 	} else {
14491 		if (yych <= 'r') {
14492 			if (yych <= 'q') goto yy455;
14493 			goto yy956;
14494 		} else {
14495 			if (yych <= 's') goto yy954;
14496 			if (yych <= 't') goto yy957;
14497 			goto yy455;
14498 		}
14499 	}
14500 yy953:
14501 	YYDEBUG(953, *YYCURSOR);
14502 	yyaccept = 21;
14503 	yych = *(YYMARKER = ++YYCURSOR);
14504 	if (yych <= 'q') {
14505 		if (yych == 'n') goto yy955;
14506 		goto yy455;
14507 	} else {
14508 		if (yych <= 'r') goto yy956;
14509 		if (yych <= 's') goto yy954;
14510 		if (yych <= 't') goto yy957;
14511 		goto yy455;
14512 	}
14513 yy954:
14514 	YYDEBUG(954, *YYCURSOR);
14515 	yych = *++YYCURSOR;
14516 	if (yych == 't') goto yy454;
14517 	goto yy57;
14518 yy955:
14519 	YYDEBUG(955, *YYCURSOR);
14520 	yych = *++YYCURSOR;
14521 	if (yych == 'd') goto yy454;
14522 	goto yy57;
14523 yy956:
14524 	YYDEBUG(956, *YYCURSOR);
14525 	yych = *++YYCURSOR;
14526 	if (yych == 'd') goto yy454;
14527 	goto yy57;
14528 yy957:
14529 	YYDEBUG(957, *YYCURSOR);
14530 	yych = *++YYCURSOR;
14531 	if (yych == 'h') goto yy454;
14532 	goto yy57;
14533 yy958:
14534 	YYDEBUG(958, *YYCURSOR);
14535 	yych = *++YYCURSOR;
14536 	if (yych != '/') goto yy57;
14537 	YYDEBUG(959, *YYCURSOR);
14538 	yych = *++YYCURSOR;
14539 	if (yych <= '2') {
14540 		if (yych <= '/') goto yy57;
14541 		if (yych >= '1') goto yy961;
14542 	} else {
14543 		if (yych <= '3') goto yy962;
14544 		if (yych <= '9') goto yy953;
14545 		goto yy57;
14546 	}
14547 	YYDEBUG(960, *YYCURSOR);
14548 	yyaccept = 21;
14549 	yych = *(YYMARKER = ++YYCURSOR);
14550 	if (yych <= 'n') {
14551 		if (yych <= '/') goto yy455;
14552 		if (yych <= '9') goto yy963;
14553 		if (yych <= 'm') goto yy455;
14554 		goto yy955;
14555 	} else {
14556 		if (yych <= 'r') {
14557 			if (yych <= 'q') goto yy455;
14558 			goto yy956;
14559 		} else {
14560 			if (yych <= 's') goto yy954;
14561 			if (yych <= 't') goto yy957;
14562 			goto yy455;
14563 		}
14564 	}
14565 yy961:
14566 	YYDEBUG(961, *YYCURSOR);
14567 	yyaccept = 21;
14568 	yych = *(YYMARKER = ++YYCURSOR);
14569 	if (yych <= 'n') {
14570 		if (yych <= '/') goto yy455;
14571 		if (yych <= '9') goto yy963;
14572 		if (yych <= 'm') goto yy455;
14573 		goto yy955;
14574 	} else {
14575 		if (yych <= 'r') {
14576 			if (yych <= 'q') goto yy455;
14577 			goto yy956;
14578 		} else {
14579 			if (yych <= 's') goto yy954;
14580 			if (yych <= 't') goto yy957;
14581 			goto yy455;
14582 		}
14583 	}
14584 yy962:
14585 	YYDEBUG(962, *YYCURSOR);
14586 	yyaccept = 21;
14587 	yych = *(YYMARKER = ++YYCURSOR);
14588 	if (yych <= 'n') {
14589 		if (yych <= '/') goto yy455;
14590 		if (yych <= '1') goto yy963;
14591 		if (yych <= 'm') goto yy455;
14592 		goto yy955;
14593 	} else {
14594 		if (yych <= 'r') {
14595 			if (yych <= 'q') goto yy455;
14596 			goto yy956;
14597 		} else {
14598 			if (yych <= 's') goto yy954;
14599 			if (yych <= 't') goto yy957;
14600 			goto yy455;
14601 		}
14602 	}
14603 yy963:
14604 	YYDEBUG(963, *YYCURSOR);
14605 	yyaccept = 21;
14606 	yych = *(YYMARKER = ++YYCURSOR);
14607 	if (yych <= 'n') {
14608 		if (yych == '/') goto yy454;
14609 		if (yych <= 'm') goto yy455;
14610 		goto yy955;
14611 	} else {
14612 		if (yych <= 'r') {
14613 			if (yych <= 'q') goto yy455;
14614 			goto yy956;
14615 		} else {
14616 			if (yych <= 's') goto yy954;
14617 			if (yych <= 't') goto yy957;
14618 			goto yy455;
14619 		}
14620 	}
14621 yy964:
14622 	YYDEBUG(964, *YYCURSOR);
14623 	yych = *++YYCURSOR;
14624 	if (yych <= 'U') {
14625 		if (yych == 'A') goto yy1044;
14626 		if (yych <= 'T') goto yy57;
14627 		goto yy1043;
14628 	} else {
14629 		if (yych <= 'a') {
14630 			if (yych <= '`') goto yy57;
14631 			goto yy1044;
14632 		} else {
14633 			if (yych == 'u') goto yy1043;
14634 			goto yy57;
14635 		}
14636 	}
14637 yy965:
14638 	YYDEBUG(965, *YYCURSOR);
14639 	yych = *++YYCURSOR;
14640 	if (yych == 'E') goto yy1041;
14641 	if (yych == 'e') goto yy1041;
14642 	goto yy57;
14643 yy966:
14644 	YYDEBUG(966, *YYCURSOR);
14645 	yych = *++YYCURSOR;
14646 	if (yych == 'A') goto yy1038;
14647 	if (yych == 'a') goto yy1038;
14648 	goto yy57;
14649 yy967:
14650 	YYDEBUG(967, *YYCURSOR);
14651 	yych = *++YYCURSOR;
14652 	if (yych <= 'U') {
14653 		if (yych == 'P') goto yy1035;
14654 		if (yych <= 'T') goto yy57;
14655 		goto yy1034;
14656 	} else {
14657 		if (yych <= 'p') {
14658 			if (yych <= 'o') goto yy57;
14659 			goto yy1035;
14660 		} else {
14661 			if (yych == 'u') goto yy1034;
14662 			goto yy57;
14663 		}
14664 	}
14665 yy968:
14666 	YYDEBUG(968, *YYCURSOR);
14667 	yych = *++YYCURSOR;
14668 	if (yych == 'E') goto yy1031;
14669 	if (yych == 'e') goto yy1031;
14670 	goto yy57;
14671 yy969:
14672 	YYDEBUG(969, *YYCURSOR);
14673 	yych = *++YYCURSOR;
14674 	if (yych == 'C') goto yy1029;
14675 	if (yych == 'c') goto yy1029;
14676 	goto yy57;
14677 yy970:
14678 	YYDEBUG(970, *YYCURSOR);
14679 	yych = *++YYCURSOR;
14680 	if (yych == 'O') goto yy1027;
14681 	if (yych == 'o') goto yy1027;
14682 	goto yy57;
14683 yy971:
14684 	YYDEBUG(971, *YYCURSOR);
14685 	yych = *++YYCURSOR;
14686 	if (yych == 'E') goto yy1025;
14687 	if (yych == 'e') goto yy1025;
14688 	goto yy57;
14689 yy972:
14690 	YYDEBUG(972, *YYCURSOR);
14691 	yych = *++YYCURSOR;
14692 	if (yych <= '/') goto yy57;
14693 	if (yych <= '0') goto yy811;
14694 	if (yych <= '4') goto yy812;
14695 	if (yych <= '5') goto yy813;
14696 	goto yy57;
14697 yy973:
14698 	YYDEBUG(973, *YYCURSOR);
14699 	yyaccept = 22;
14700 	yych = *(YYMARKER = ++YYCURSOR);
14701 	if (yych == '-') goto yy977;
14702 	if (yych <= '/') goto yy974;
14703 	if (yych <= '9') goto yy996;
14704 yy974:
14705 	YYDEBUG(974, *YYCURSOR);
14706 #line 1318 "ext/date/lib/parse_date.re"
14707 	{
14708 		int length = 0;
14709 		DEBUG_OUTPUT("gnudateshorter");
14710 		TIMELIB_INIT;
14711 		TIMELIB_HAVE_DATE();
14712 		s->time->y = timelib_get_nr_ex((char **) &ptr, 4, &length);
14713 		s->time->m = timelib_get_nr((char **) &ptr, 2);
14714 		s->time->d = 1;
14715 		TIMELIB_PROCESS_YEAR(s->time->y, length);
14716 		TIMELIB_DEINIT;
14717 		return TIMELIB_ISO_DATE;
14718 	}
14719 #line 14720 "ext/date/lib/parse_date.c"
14720 yy975:
14721 	YYDEBUG(975, *YYCURSOR);
14722 	yyaccept = 22;
14723 	yych = *(YYMARKER = ++YYCURSOR);
14724 	if (yych == '-') goto yy977;
14725 	if (yych <= '/') goto yy974;
14726 	if (yych <= '2') goto yy996;
14727 	goto yy974;
14728 yy976:
14729 	YYDEBUG(976, *YYCURSOR);
14730 	yyaccept = 22;
14731 	yych = *(YYMARKER = ++YYCURSOR);
14732 	if (yych != '-') goto yy974;
14733 yy977:
14734 	YYDEBUG(977, *YYCURSOR);
14735 	yych = *++YYCURSOR;
14736 	if (yych <= '/') goto yy57;
14737 	if (yych <= '2') goto yy978;
14738 	if (yych <= '3') goto yy979;
14739 	if (yych <= '9') goto yy980;
14740 	goto yy57;
14741 yy978:
14742 	YYDEBUG(978, *YYCURSOR);
14743 	yyaccept = 13;
14744 	yych = *(YYMARKER = ++YYCURSOR);
14745 	if (yych <= 'm') {
14746 		if (yych <= '9') {
14747 			if (yych <= '/') goto yy657;
14748 			goto yy980;
14749 		} else {
14750 			if (yych == 'T') goto yy985;
14751 			goto yy657;
14752 		}
14753 	} else {
14754 		if (yych <= 'r') {
14755 			if (yych <= 'n') goto yy982;
14756 			if (yych <= 'q') goto yy657;
14757 			goto yy983;
14758 		} else {
14759 			if (yych <= 's') goto yy981;
14760 			if (yych <= 't') goto yy984;
14761 			goto yy657;
14762 		}
14763 	}
14764 yy979:
14765 	YYDEBUG(979, *YYCURSOR);
14766 	yyaccept = 13;
14767 	yych = *(YYMARKER = ++YYCURSOR);
14768 	if (yych <= 'm') {
14769 		if (yych <= '1') {
14770 			if (yych <= '/') goto yy657;
14771 		} else {
14772 			if (yych == 'T') goto yy985;
14773 			goto yy657;
14774 		}
14775 	} else {
14776 		if (yych <= 'r') {
14777 			if (yych <= 'n') goto yy982;
14778 			if (yych <= 'q') goto yy657;
14779 			goto yy983;
14780 		} else {
14781 			if (yych <= 's') goto yy981;
14782 			if (yych <= 't') goto yy984;
14783 			goto yy657;
14784 		}
14785 	}
14786 yy980:
14787 	YYDEBUG(980, *YYCURSOR);
14788 	yyaccept = 13;
14789 	yych = *(YYMARKER = ++YYCURSOR);
14790 	if (yych <= 'n') {
14791 		if (yych == 'T') goto yy985;
14792 		if (yych <= 'm') goto yy657;
14793 		goto yy982;
14794 	} else {
14795 		if (yych <= 'r') {
14796 			if (yych <= 'q') goto yy657;
14797 			goto yy983;
14798 		} else {
14799 			if (yych <= 's') goto yy981;
14800 			if (yych <= 't') goto yy984;
14801 			goto yy657;
14802 		}
14803 	}
14804 yy981:
14805 	YYDEBUG(981, *YYCURSOR);
14806 	yych = *++YYCURSOR;
14807 	if (yych == 't') goto yy995;
14808 	goto yy57;
14809 yy982:
14810 	YYDEBUG(982, *YYCURSOR);
14811 	yych = *++YYCURSOR;
14812 	if (yych == 'd') goto yy995;
14813 	goto yy57;
14814 yy983:
14815 	YYDEBUG(983, *YYCURSOR);
14816 	yych = *++YYCURSOR;
14817 	if (yych == 'd') goto yy995;
14818 	goto yy57;
14819 yy984:
14820 	YYDEBUG(984, *YYCURSOR);
14821 	yych = *++YYCURSOR;
14822 	if (yych == 'h') goto yy995;
14823 	goto yy57;
14824 yy985:
14825 	YYDEBUG(985, *YYCURSOR);
14826 	yych = *++YYCURSOR;
14827 	if (yych <= '/') goto yy57;
14828 	if (yych <= '1') goto yy986;
14829 	if (yych <= '2') goto yy987;
14830 	if (yych <= '9') goto yy988;
14831 	goto yy57;
14832 yy986:
14833 	YYDEBUG(986, *YYCURSOR);
14834 	yych = *++YYCURSOR;
14835 	if (yych <= '/') goto yy57;
14836 	if (yych <= '9') goto yy988;
14837 	if (yych <= ':') goto yy989;
14838 	goto yy57;
14839 yy987:
14840 	YYDEBUG(987, *YYCURSOR);
14841 	yych = *++YYCURSOR;
14842 	if (yych <= '/') goto yy57;
14843 	if (yych <= '4') goto yy988;
14844 	if (yych == ':') goto yy989;
14845 	goto yy57;
14846 yy988:
14847 	YYDEBUG(988, *YYCURSOR);
14848 	yych = *++YYCURSOR;
14849 	if (yych != ':') goto yy57;
14850 yy989:
14851 	YYDEBUG(989, *YYCURSOR);
14852 	yych = *++YYCURSOR;
14853 	if (yych <= '/') goto yy57;
14854 	if (yych <= '5') goto yy990;
14855 	if (yych <= '9') goto yy991;
14856 	goto yy57;
14857 yy990:
14858 	YYDEBUG(990, *YYCURSOR);
14859 	yych = *++YYCURSOR;
14860 	if (yych <= '/') goto yy57;
14861 	if (yych <= '9') goto yy991;
14862 	if (yych <= ':') goto yy992;
14863 	goto yy57;
14864 yy991:
14865 	YYDEBUG(991, *YYCURSOR);
14866 	yych = *++YYCURSOR;
14867 	if (yych != ':') goto yy57;
14868 yy992:
14869 	YYDEBUG(992, *YYCURSOR);
14870 	yych = *++YYCURSOR;
14871 	if (yych <= '/') goto yy57;
14872 	if (yych <= '5') goto yy993;
14873 	if (yych <= '6') goto yy994;
14874 	if (yych <= '9') goto yy842;
14875 	goto yy57;
14876 yy993:
14877 	YYDEBUG(993, *YYCURSOR);
14878 	yych = *++YYCURSOR;
14879 	if (yych <= '/') goto yy843;
14880 	if (yych <= '9') goto yy842;
14881 	goto yy843;
14882 yy994:
14883 	YYDEBUG(994, *YYCURSOR);
14884 	yych = *++YYCURSOR;
14885 	if (yych == '0') goto yy842;
14886 	goto yy843;
14887 yy995:
14888 	YYDEBUG(995, *YYCURSOR);
14889 	yyaccept = 13;
14890 	yych = *(YYMARKER = ++YYCURSOR);
14891 	if (yych == 'T') goto yy985;
14892 	goto yy657;
14893 yy996:
14894 	YYDEBUG(996, *YYCURSOR);
14895 	yyaccept = 22;
14896 	yych = *(YYMARKER = ++YYCURSOR);
14897 	if (yych != '-') goto yy974;
14898 	YYDEBUG(997, *YYCURSOR);
14899 	yych = *++YYCURSOR;
14900 	if (yych <= '2') {
14901 		if (yych <= '/') goto yy57;
14902 		if (yych >= '1') goto yy999;
14903 	} else {
14904 		if (yych <= '3') goto yy1000;
14905 		if (yych <= '9') goto yy980;
14906 		goto yy57;
14907 	}
14908 	YYDEBUG(998, *YYCURSOR);
14909 	yyaccept = 13;
14910 	yych = *(YYMARKER = ++YYCURSOR);
14911 	if (yych <= 'm') {
14912 		if (yych <= '9') {
14913 			if (yych <= '/') goto yy657;
14914 			goto yy1001;
14915 		} else {
14916 			if (yych == 'T') goto yy985;
14917 			goto yy657;
14918 		}
14919 	} else {
14920 		if (yych <= 'r') {
14921 			if (yych <= 'n') goto yy982;
14922 			if (yych <= 'q') goto yy657;
14923 			goto yy983;
14924 		} else {
14925 			if (yych <= 's') goto yy981;
14926 			if (yych <= 't') goto yy984;
14927 			goto yy657;
14928 		}
14929 	}
14930 yy999:
14931 	YYDEBUG(999, *YYCURSOR);
14932 	yyaccept = 13;
14933 	yych = *(YYMARKER = ++YYCURSOR);
14934 	if (yych <= 'm') {
14935 		if (yych <= '9') {
14936 			if (yych <= '/') goto yy657;
14937 			goto yy1001;
14938 		} else {
14939 			if (yych == 'T') goto yy985;
14940 			goto yy657;
14941 		}
14942 	} else {
14943 		if (yych <= 'r') {
14944 			if (yych <= 'n') goto yy982;
14945 			if (yych <= 'q') goto yy657;
14946 			goto yy983;
14947 		} else {
14948 			if (yych <= 's') goto yy981;
14949 			if (yych <= 't') goto yy984;
14950 			goto yy657;
14951 		}
14952 	}
14953 yy1000:
14954 	YYDEBUG(1000, *YYCURSOR);
14955 	yyaccept = 13;
14956 	yych = *(YYMARKER = ++YYCURSOR);
14957 	if (yych <= 'm') {
14958 		if (yych <= '1') {
14959 			if (yych <= '/') goto yy657;
14960 		} else {
14961 			if (yych == 'T') goto yy985;
14962 			goto yy657;
14963 		}
14964 	} else {
14965 		if (yych <= 'r') {
14966 			if (yych <= 'n') goto yy982;
14967 			if (yych <= 'q') goto yy657;
14968 			goto yy983;
14969 		} else {
14970 			if (yych <= 's') goto yy981;
14971 			if (yych <= 't') goto yy984;
14972 			goto yy657;
14973 		}
14974 	}
14975 yy1001:
14976 	YYDEBUG(1001, *YYCURSOR);
14977 	yyaccept = 21;
14978 	yych = *(YYMARKER = ++YYCURSOR);
14979 	if (yych <= 'n') {
14980 		if (yych == 'T') goto yy1002;
14981 		if (yych <= 'm') goto yy455;
14982 		goto yy982;
14983 	} else {
14984 		if (yych <= 'r') {
14985 			if (yych <= 'q') goto yy455;
14986 			goto yy983;
14987 		} else {
14988 			if (yych <= 's') goto yy981;
14989 			if (yych <= 't') goto yy984;
14990 			goto yy455;
14991 		}
14992 	}
14993 yy1002:
14994 	YYDEBUG(1002, *YYCURSOR);
14995 	yych = *++YYCURSOR;
14996 	if (yych <= '/') goto yy57;
14997 	if (yych <= '1') goto yy1003;
14998 	if (yych <= '2') goto yy1004;
14999 	if (yych <= '9') goto yy988;
15000 	goto yy57;
15001 yy1003:
15002 	YYDEBUG(1003, *YYCURSOR);
15003 	yych = *++YYCURSOR;
15004 	if (yych <= '/') goto yy57;
15005 	if (yych <= '9') goto yy1005;
15006 	if (yych <= ':') goto yy989;
15007 	goto yy57;
15008 yy1004:
15009 	YYDEBUG(1004, *YYCURSOR);
15010 	yych = *++YYCURSOR;
15011 	if (yych <= '/') goto yy57;
15012 	if (yych <= '4') goto yy1005;
15013 	if (yych == ':') goto yy989;
15014 	goto yy57;
15015 yy1005:
15016 	YYDEBUG(1005, *YYCURSOR);
15017 	yych = *++YYCURSOR;
15018 	if (yych != ':') goto yy57;
15019 	YYDEBUG(1006, *YYCURSOR);
15020 	yych = *++YYCURSOR;
15021 	if (yych <= '/') goto yy57;
15022 	if (yych <= '5') goto yy1007;
15023 	if (yych <= '9') goto yy991;
15024 	goto yy57;
15025 yy1007:
15026 	YYDEBUG(1007, *YYCURSOR);
15027 	yych = *++YYCURSOR;
15028 	if (yych <= '/') goto yy57;
15029 	if (yych <= '9') goto yy1008;
15030 	if (yych <= ':') goto yy992;
15031 	goto yy57;
15032 yy1008:
15033 	YYDEBUG(1008, *YYCURSOR);
15034 	yych = *++YYCURSOR;
15035 	if (yych != ':') goto yy57;
15036 	YYDEBUG(1009, *YYCURSOR);
15037 	yych = *++YYCURSOR;
15038 	if (yych <= '/') goto yy57;
15039 	if (yych <= '5') goto yy1010;
15040 	if (yych <= '6') goto yy1011;
15041 	if (yych <= '9') goto yy842;
15042 	goto yy57;
15043 yy1010:
15044 	YYDEBUG(1010, *YYCURSOR);
15045 	yych = *++YYCURSOR;
15046 	if (yych <= '/') goto yy843;
15047 	if (yych <= '9') goto yy1012;
15048 	goto yy843;
15049 yy1011:
15050 	YYDEBUG(1011, *YYCURSOR);
15051 	yych = *++YYCURSOR;
15052 	if (yych != '0') goto yy843;
15053 yy1012:
15054 	YYDEBUG(1012, *YYCURSOR);
15055 	yyaccept = 23;
15056 	yych = *(YYMARKER = ++YYCURSOR);
15057 	if (yych != '.') goto yy843;
15058 	YYDEBUG(1013, *YYCURSOR);
15059 	yych = *++YYCURSOR;
15060 	if (yych <= '/') goto yy57;
15061 	if (yych >= ':') goto yy57;
15062 yy1014:
15063 	YYDEBUG(1014, *YYCURSOR);
15064 	yyaccept = 23;
15065 	YYMARKER = ++YYCURSOR;
15066 	if ((YYLIMIT - YYCURSOR) < 9) YYFILL(9);
15067 	yych = *YYCURSOR;
15068 	YYDEBUG(1015, *YYCURSOR);
15069 	if (yych <= '-') {
15070 		if (yych == '+') goto yy1017;
15071 		if (yych <= ',') goto yy843;
15072 		goto yy1017;
15073 	} else {
15074 		if (yych <= '9') {
15075 			if (yych <= '/') goto yy843;
15076 			goto yy1014;
15077 		} else {
15078 			if (yych != 'G') goto yy843;
15079 		}
15080 	}
15081 	YYDEBUG(1016, *YYCURSOR);
15082 	yych = *++YYCURSOR;
15083 	if (yych == 'M') goto yy1023;
15084 	goto yy57;
15085 yy1017:
15086 	YYDEBUG(1017, *YYCURSOR);
15087 	yych = *++YYCURSOR;
15088 	if (yych <= '/') goto yy57;
15089 	if (yych <= '1') goto yy1018;
15090 	if (yych <= '2') goto yy1019;
15091 	if (yych <= '9') goto yy1020;
15092 	goto yy57;
15093 yy1018:
15094 	YYDEBUG(1018, *YYCURSOR);
15095 	yych = *++YYCURSOR;
15096 	if (yych <= '/') goto yy843;
15097 	if (yych <= '9') goto yy1020;
15098 	if (yych <= ':') goto yy1021;
15099 	goto yy843;
15100 yy1019:
15101 	YYDEBUG(1019, *YYCURSOR);
15102 	yych = *++YYCURSOR;
15103 	if (yych <= '5') {
15104 		if (yych <= '/') goto yy843;
15105 		if (yych >= '5') goto yy1022;
15106 	} else {
15107 		if (yych <= '9') goto yy842;
15108 		if (yych <= ':') goto yy1021;
15109 		goto yy843;
15110 	}
15111 yy1020:
15112 	YYDEBUG(1020, *YYCURSOR);
15113 	yych = *++YYCURSOR;
15114 	if (yych <= '/') goto yy843;
15115 	if (yych <= '5') goto yy1022;
15116 	if (yych <= '9') goto yy842;
15117 	if (yych >= ';') goto yy843;
15118 yy1021:
15119 	YYDEBUG(1021, *YYCURSOR);
15120 	yych = *++YYCURSOR;
15121 	if (yych <= '/') goto yy843;
15122 	if (yych <= '5') goto yy1022;
15123 	if (yych <= '9') goto yy842;
15124 	goto yy843;
15125 yy1022:
15126 	YYDEBUG(1022, *YYCURSOR);
15127 	yych = *++YYCURSOR;
15128 	if (yych <= '/') goto yy843;
15129 	if (yych <= '9') goto yy842;
15130 	goto yy843;
15131 yy1023:
15132 	YYDEBUG(1023, *YYCURSOR);
15133 	yych = *++YYCURSOR;
15134 	if (yych != 'T') goto yy57;
15135 	YYDEBUG(1024, *YYCURSOR);
15136 	yych = *++YYCURSOR;
15137 	if (yych == '+') goto yy1017;
15138 	if (yych == '-') goto yy1017;
15139 	goto yy57;
15140 yy1025:
15141 	YYDEBUG(1025, *YYCURSOR);
15142 	yych = *++YYCURSOR;
15143 	if (yych == 'C') goto yy1026;
15144 	if (yych != 'c') goto yy57;
15145 yy1026:
15146 	YYDEBUG(1026, *YYCURSOR);
15147 	yyaccept = 20;
15148 	yych = *(YYMARKER = ++YYCURSOR);
15149 	if (yych <= 'D') {
15150 		if (yych == '-') goto yy767;
15151 		goto yy794;
15152 	} else {
15153 		if (yych <= 'E') goto yy880;
15154 		if (yych == 'e') goto yy880;
15155 		goto yy794;
15156 	}
15157 yy1027:
15158 	YYDEBUG(1027, *YYCURSOR);
15159 	yych = *++YYCURSOR;
15160 	if (yych == 'V') goto yy1028;
15161 	if (yych != 'v') goto yy57;
15162 yy1028:
15163 	YYDEBUG(1028, *YYCURSOR);
15164 	yyaccept = 20;
15165 	yych = *(YYMARKER = ++YYCURSOR);
15166 	if (yych <= 'D') {
15167 		if (yych == '-') goto yy767;
15168 		goto yy794;
15169 	} else {
15170 		if (yych <= 'E') goto yy887;
15171 		if (yych == 'e') goto yy887;
15172 		goto yy794;
15173 	}
15174 yy1029:
15175 	YYDEBUG(1029, *YYCURSOR);
15176 	yych = *++YYCURSOR;
15177 	if (yych == 'T') goto yy1030;
15178 	if (yych != 't') goto yy57;
15179 yy1030:
15180 	YYDEBUG(1030, *YYCURSOR);
15181 	yyaccept = 20;
15182 	yych = *(YYMARKER = ++YYCURSOR);
15183 	if (yych <= 'N') {
15184 		if (yych == '-') goto yy767;
15185 		goto yy794;
15186 	} else {
15187 		if (yych <= 'O') goto yy893;
15188 		if (yych == 'o') goto yy893;
15189 		goto yy794;
15190 	}
15191 yy1031:
15192 	YYDEBUG(1031, *YYCURSOR);
15193 	yych = *++YYCURSOR;
15194 	if (yych == 'P') goto yy1032;
15195 	if (yych != 'p') goto yy57;
15196 yy1032:
15197 	YYDEBUG(1032, *YYCURSOR);
15198 	yyaccept = 20;
15199 	yych = *(YYMARKER = ++YYCURSOR);
15200 	if (yych <= 'S') {
15201 		if (yych == '-') goto yy767;
15202 		goto yy794;
15203 	} else {
15204 		if (yych <= 'T') goto yy1033;
15205 		if (yych != 't') goto yy794;
15206 	}
15207 yy1033:
15208 	YYDEBUG(1033, *YYCURSOR);
15209 	yyaccept = 20;
15210 	yych = *(YYMARKER = ++YYCURSOR);
15211 	if (yych <= 'D') {
15212 		if (yych == '-') goto yy767;
15213 		goto yy794;
15214 	} else {
15215 		if (yych <= 'E') goto yy899;
15216 		if (yych == 'e') goto yy899;
15217 		goto yy794;
15218 	}
15219 yy1034:
15220 	YYDEBUG(1034, *YYCURSOR);
15221 	yych = *++YYCURSOR;
15222 	if (yych == 'G') goto yy1037;
15223 	if (yych == 'g') goto yy1037;
15224 	goto yy57;
15225 yy1035:
15226 	YYDEBUG(1035, *YYCURSOR);
15227 	yych = *++YYCURSOR;
15228 	if (yych == 'R') goto yy1036;
15229 	if (yych != 'r') goto yy57;
15230 yy1036:
15231 	YYDEBUG(1036, *YYCURSOR);
15232 	yyaccept = 20;
15233 	yych = *(YYMARKER = ++YYCURSOR);
15234 	if (yych <= 'H') {
15235 		if (yych == '-') goto yy767;
15236 		goto yy794;
15237 	} else {
15238 		if (yych <= 'I') goto yy906;
15239 		if (yych == 'i') goto yy906;
15240 		goto yy794;
15241 	}
15242 yy1037:
15243 	YYDEBUG(1037, *YYCURSOR);
15244 	yyaccept = 20;
15245 	yych = *(YYMARKER = ++YYCURSOR);
15246 	if (yych <= 'T') {
15247 		if (yych == '-') goto yy767;
15248 		goto yy794;
15249 	} else {
15250 		if (yych <= 'U') goto yy908;
15251 		if (yych == 'u') goto yy908;
15252 		goto yy794;
15253 	}
15254 yy1038:
15255 	YYDEBUG(1038, *YYCURSOR);
15256 	yych = *++YYCURSOR;
15257 	if (yych <= 'Y') {
15258 		if (yych == 'R') goto yy1039;
15259 		if (yych <= 'X') goto yy57;
15260 		goto yy1040;
15261 	} else {
15262 		if (yych <= 'r') {
15263 			if (yych <= 'q') goto yy57;
15264 		} else {
15265 			if (yych == 'y') goto yy1040;
15266 			goto yy57;
15267 		}
15268 	}
15269 yy1039:
15270 	YYDEBUG(1039, *YYCURSOR);
15271 	yyaccept = 20;
15272 	yych = *(YYMARKER = ++YYCURSOR);
15273 	if (yych <= 'B') {
15274 		if (yych == '-') goto yy767;
15275 		goto yy794;
15276 	} else {
15277 		if (yych <= 'C') goto yy912;
15278 		if (yych == 'c') goto yy912;
15279 		goto yy794;
15280 	}
15281 yy1040:
15282 	YYDEBUG(1040, *YYCURSOR);
15283 	yyaccept = 20;
15284 	yych = *(YYMARKER = ++YYCURSOR);
15285 	if (yych == '-') goto yy767;
15286 	goto yy794;
15287 yy1041:
15288 	YYDEBUG(1041, *YYCURSOR);
15289 	yych = *++YYCURSOR;
15290 	if (yych == 'B') goto yy1042;
15291 	if (yych != 'b') goto yy57;
15292 yy1042:
15293 	YYDEBUG(1042, *YYCURSOR);
15294 	yyaccept = 20;
15295 	yych = *(YYMARKER = ++YYCURSOR);
15296 	if (yych <= 'Q') {
15297 		if (yych == '-') goto yy767;
15298 		goto yy794;
15299 	} else {
15300 		if (yych <= 'R') goto yy915;
15301 		if (yych == 'r') goto yy915;
15302 		goto yy794;
15303 	}
15304 yy1043:
15305 	YYDEBUG(1043, *YYCURSOR);
15306 	yych = *++YYCURSOR;
15307 	if (yych <= 'N') {
15308 		if (yych == 'L') goto yy1047;
15309 		if (yych <= 'M') goto yy57;
15310 		goto yy1046;
15311 	} else {
15312 		if (yych <= 'l') {
15313 			if (yych <= 'k') goto yy57;
15314 			goto yy1047;
15315 		} else {
15316 			if (yych == 'n') goto yy1046;
15317 			goto yy57;
15318 		}
15319 	}
15320 yy1044:
15321 	YYDEBUG(1044, *YYCURSOR);
15322 	yych = *++YYCURSOR;
15323 	if (yych == 'N') goto yy1045;
15324 	if (yych != 'n') goto yy57;
15325 yy1045:
15326 	YYDEBUG(1045, *YYCURSOR);
15327 	yyaccept = 20;
15328 	yych = *(YYMARKER = ++YYCURSOR);
15329 	if (yych <= 'T') {
15330 		if (yych == '-') goto yy767;
15331 		goto yy794;
15332 	} else {
15333 		if (yych <= 'U') goto yy922;
15334 		if (yych == 'u') goto yy922;
15335 		goto yy794;
15336 	}
15337 yy1046:
15338 	YYDEBUG(1046, *YYCURSOR);
15339 	yyaccept = 20;
15340 	yych = *(YYMARKER = ++YYCURSOR);
15341 	if (yych <= 'D') {
15342 		if (yych == '-') goto yy767;
15343 		goto yy794;
15344 	} else {
15345 		if (yych <= 'E') goto yy884;
15346 		if (yych == 'e') goto yy884;
15347 		goto yy794;
15348 	}
15349 yy1047:
15350 	YYDEBUG(1047, *YYCURSOR);
15351 	yyaccept = 20;
15352 	yych = *(YYMARKER = ++YYCURSOR);
15353 	if (yych <= 'X') {
15354 		if (yych == '-') goto yy767;
15355 		goto yy794;
15356 	} else {
15357 		if (yych <= 'Y') goto yy884;
15358 		if (yych == 'y') goto yy884;
15359 		goto yy794;
15360 	}
15361 yy1048:
15362 	YYDEBUG(1048, *YYCURSOR);
15363 	yych = *++YYCURSOR;
15364 	if (yych <= '.') {
15365 		if (yych <= '\t') {
15366 			if (yych <= 0x08) goto yy578;
15367 			goto yy731;
15368 		} else {
15369 			if (yych <= ',') goto yy578;
15370 			if (yych <= '-') goto yy732;
15371 			goto yy731;
15372 		}
15373 	} else {
15374 		if (yych <= 'U') {
15375 			if (yych <= '/') goto yy730;
15376 			if (yych <= 'T') goto yy578;
15377 			goto yy78;
15378 		} else {
15379 			if (yych == 'u') goto yy78;
15380 			goto yy578;
15381 		}
15382 	}
15383 yy1049:
15384 	YYDEBUG(1049, *YYCURSOR);
15385 	yych = *++YYCURSOR;
15386 	if (yych <= 'P') {
15387 		if (yych == 'C') goto yy129;
15388 		if (yych <= 'O') goto yy57;
15389 		goto yy586;
15390 	} else {
15391 		if (yych <= 'c') {
15392 			if (yych <= 'b') goto yy57;
15393 			goto yy129;
15394 		} else {
15395 			if (yych == 'p') goto yy586;
15396 			goto yy57;
15397 		}
15398 	}
15399 yy1050:
15400 	YYDEBUG(1050, *YYCURSOR);
15401 	yych = *++YYCURSOR;
15402 	if (yych <= '9') {
15403 		if (yych <= ',') {
15404 			if (yych == '\t') goto yy1052;
15405 			goto yy1054;
15406 		} else {
15407 			if (yych <= '-') goto yy1051;
15408 			if (yych <= '.') goto yy731;
15409 			if (yych <= '/') goto yy730;
15410 			goto yy741;
15411 		}
15412 	} else {
15413 		if (yych <= 'q') {
15414 			if (yych == 'n') goto yy470;
15415 			goto yy1054;
15416 		} else {
15417 			if (yych <= 'r') goto yy471;
15418 			if (yych <= 's') goto yy464;
15419 			if (yych <= 't') goto yy468;
15420 			goto yy1054;
15421 		}
15422 	}
15423 yy1051:
15424 	YYDEBUG(1051, *YYCURSOR);
15425 	yych = *++YYCURSOR;
15426 	YYDEBUG(-1, yych);
15427 	switch (yych) {
15428 	case '0':	goto yy1055;
15429 	case '1':	goto yy1056;
15430 	case '2':
15431 	case '3':
15432 	case '4':
15433 	case '5':
15434 	case '6':
15435 	case '7':
15436 	case '8':
15437 	case '9':	goto yy618;
15438 	case 'A':
15439 	case 'a':	goto yy622;
15440 	case 'D':
15441 	case 'd':	goto yy626;
15442 	case 'F':
15443 	case 'f':	goto yy620;
15444 	case 'J':
15445 	case 'j':	goto yy619;
15446 	case 'M':
15447 	case 'm':	goto yy621;
15448 	case 'N':
15449 	case 'n':	goto yy625;
15450 	case 'O':
15451 	case 'o':	goto yy624;
15452 	case 'S':
15453 	case 's':	goto yy623;
15454 	default:	goto yy578;
15455 	}
15456 yy1052:
15457 	YYDEBUG(1052, *YYCURSOR);
15458 	yych = *++YYCURSOR;
15459 	if (yych <= '/') goto yy1054;
15460 	if (yych <= '0') goto yy736;
15461 	if (yych <= '1') goto yy737;
15462 	if (yych <= '9') goto yy738;
15463 	goto yy1054;
15464 yy1053:
15465 	YYDEBUG(1053, *YYCURSOR);
15466 	++YYCURSOR;
15467 	if ((YYLIMIT - YYCURSOR) < 13) YYFILL(13);
15468 	yych = *YYCURSOR;
15469 yy1054:
15470 	YYDEBUG(1054, *YYCURSOR);
15471 	YYDEBUG(-1, yych);
15472 	switch (yych) {
15473 	case '\t':
15474 	case ' ':	goto yy1053;
15475 	case '-':
15476 	case '.':	goto yy577;
15477 	case 'A':
15478 	case 'a':	goto yy574;
15479 	case 'D':
15480 	case 'd':	goto yy466;
15481 	case 'F':
15482 	case 'f':	goto yy467;
15483 	case 'H':
15484 	case 'h':	goto yy64;
15485 	case 'I':	goto yy475;
15486 	case 'J':
15487 	case 'j':	goto yy479;
15488 	case 'M':
15489 	case 'm':	goto yy465;
15490 	case 'N':
15491 	case 'n':	goto yy482;
15492 	case 'O':
15493 	case 'o':	goto yy481;
15494 	case 'S':
15495 	case 's':	goto yy463;
15496 	case 'T':
15497 	case 't':	goto yy69;
15498 	case 'V':	goto yy477;
15499 	case 'W':
15500 	case 'w':	goto yy68;
15501 	case 'X':	goto yy478;
15502 	case 'Y':
15503 	case 'y':	goto yy67;
15504 	default:	goto yy57;
15505 	}
15506 yy1055:
15507 	YYDEBUG(1055, *YYCURSOR);
15508 	yych = *++YYCURSOR;
15509 	if (yych <= '.') {
15510 		if (yych <= ',') goto yy57;
15511 		if (yych <= '-') goto yy655;
15512 		goto yy602;
15513 	} else {
15514 		if (yych <= '/') goto yy57;
15515 		if (yych <= '9') goto yy1057;
15516 		goto yy57;
15517 	}
15518 yy1056:
15519 	YYDEBUG(1056, *YYCURSOR);
15520 	yych = *++YYCURSOR;
15521 	if (yych <= '.') {
15522 		if (yych <= ',') goto yy57;
15523 		if (yych <= '-') goto yy655;
15524 		goto yy602;
15525 	} else {
15526 		if (yych <= '/') goto yy57;
15527 		if (yych >= '3') goto yy57;
15528 	}
15529 yy1057:
15530 	YYDEBUG(1057, *YYCURSOR);
15531 	yych = *++YYCURSOR;
15532 	if (yych <= ',') goto yy57;
15533 	if (yych <= '-') goto yy1058;
15534 	if (yych <= '.') goto yy602;
15535 	goto yy57;
15536 yy1058:
15537 	YYDEBUG(1058, *YYCURSOR);
15538 	yych = *++YYCURSOR;
15539 	if (yych <= '2') {
15540 		if (yych <= '/') goto yy57;
15541 		if (yych >= '1') goto yy1060;
15542 	} else {
15543 		if (yych <= '3') goto yy1061;
15544 		if (yych <= '9') goto yy659;
15545 		goto yy57;
15546 	}
15547 	YYDEBUG(1059, *YYCURSOR);
15548 	yyaccept = 13;
15549 	yych = *(YYMARKER = ++YYCURSOR);
15550 	if (yych <= 'n') {
15551 		if (yych <= '/') goto yy657;
15552 		if (yych <= '9') goto yy1062;
15553 		if (yych <= 'm') goto yy657;
15554 		goto yy661;
15555 	} else {
15556 		if (yych <= 'r') {
15557 			if (yych <= 'q') goto yy657;
15558 			goto yy662;
15559 		} else {
15560 			if (yych <= 's') goto yy660;
15561 			if (yych <= 't') goto yy663;
15562 			goto yy657;
15563 		}
15564 	}
15565 yy1060:
15566 	YYDEBUG(1060, *YYCURSOR);
15567 	yyaccept = 13;
15568 	yych = *(YYMARKER = ++YYCURSOR);
15569 	if (yych <= 'n') {
15570 		if (yych <= '/') goto yy657;
15571 		if (yych <= '9') goto yy1062;
15572 		if (yych <= 'm') goto yy657;
15573 		goto yy661;
15574 	} else {
15575 		if (yych <= 'r') {
15576 			if (yych <= 'q') goto yy657;
15577 			goto yy662;
15578 		} else {
15579 			if (yych <= 's') goto yy660;
15580 			if (yych <= 't') goto yy663;
15581 			goto yy657;
15582 		}
15583 	}
15584 yy1061:
15585 	YYDEBUG(1061, *YYCURSOR);
15586 	yyaccept = 13;
15587 	yych = *(YYMARKER = ++YYCURSOR);
15588 	if (yych <= 'n') {
15589 		if (yych <= '1') {
15590 			if (yych <= '/') goto yy657;
15591 		} else {
15592 			if (yych <= '9') goto yy604;
15593 			if (yych <= 'm') goto yy657;
15594 			goto yy661;
15595 		}
15596 	} else {
15597 		if (yych <= 'r') {
15598 			if (yych <= 'q') goto yy657;
15599 			goto yy662;
15600 		} else {
15601 			if (yych <= 's') goto yy660;
15602 			if (yych <= 't') goto yy663;
15603 			goto yy657;
15604 		}
15605 	}
15606 yy1062:
15607 	YYDEBUG(1062, *YYCURSOR);
15608 	yyaccept = 15;
15609 	yych = *(YYMARKER = ++YYCURSOR);
15610 	if (yych <= 'n') {
15611 		if (yych <= '/') goto yy764;
15612 		if (yych <= '9') goto yy605;
15613 		if (yych <= 'm') goto yy764;
15614 		goto yy661;
15615 	} else {
15616 		if (yych <= 'r') {
15617 			if (yych <= 'q') goto yy764;
15618 			goto yy662;
15619 		} else {
15620 			if (yych <= 's') goto yy660;
15621 			if (yych <= 't') goto yy663;
15622 			goto yy764;
15623 		}
15624 	}
15625 yy1063:
15626 	YYDEBUG(1063, *YYCURSOR);
15627 	yych = *++YYCURSOR;
15628 	if (yych <= '9') {
15629 		if (yych <= '-') {
15630 			if (yych == '\t') goto yy1052;
15631 			if (yych <= ',') goto yy1054;
15632 			goto yy1051;
15633 		} else {
15634 			if (yych <= '.') goto yy1064;
15635 			if (yych <= '/') goto yy730;
15636 			if (yych <= '5') goto yy1066;
15637 			goto yy741;
15638 		}
15639 	} else {
15640 		if (yych <= 'q') {
15641 			if (yych <= ':') goto yy1065;
15642 			if (yych == 'n') goto yy470;
15643 			goto yy1054;
15644 		} else {
15645 			if (yych <= 'r') goto yy471;
15646 			if (yych <= 's') goto yy464;
15647 			if (yych <= 't') goto yy468;
15648 			goto yy1054;
15649 		}
15650 	}
15651 yy1064:
15652 	YYDEBUG(1064, *YYCURSOR);
15653 	yych = *++YYCURSOR;
15654 	if (yych <= '1') {
15655 		if (yych <= '/') goto yy578;
15656 		if (yych <= '0') goto yy1088;
15657 		goto yy1089;
15658 	} else {
15659 		if (yych <= '5') goto yy1090;
15660 		if (yych <= '9') goto yy1091;
15661 		goto yy578;
15662 	}
15663 yy1065:
15664 	YYDEBUG(1065, *YYCURSOR);
15665 	yych = *++YYCURSOR;
15666 	if (yych <= '/') goto yy57;
15667 	if (yych <= '5') goto yy1083;
15668 	if (yych <= '9') goto yy1084;
15669 	goto yy57;
15670 yy1066:
15671 	YYDEBUG(1066, *YYCURSOR);
15672 	yych = *++YYCURSOR;
15673 	if (yych == '-') goto yy785;
15674 	if (yych <= '/') goto yy61;
15675 	if (yych >= ':') goto yy61;
15676 	YYDEBUG(1067, *YYCURSOR);
15677 	yyaccept = 24;
15678 	yych = *(YYMARKER = ++YYCURSOR);
15679 	YYDEBUG(-1, yych);
15680 	switch (yych) {
15681 	case '\t':
15682 	case ' ':
15683 	case 'A':
15684 	case 'D':
15685 	case 'F':
15686 	case 'H':
15687 	case 'I':
15688 	case 'J':
15689 	case 'M':
15690 	case 'N':
15691 	case 'O':
15692 	case 'S':
15693 	case 'T':
15694 	case 'V':
15695 	case 'X':
15696 	case 'Y':
15697 	case 'a':
15698 	case 'd':
15699 	case 'f':
15700 	case 'h':
15701 	case 'j':
15702 	case 'm':
15703 	case 'n':
15704 	case 'o':
15705 	case 's':
15706 	case 't':
15707 	case 'w':
15708 	case 'y':	goto yy791;
15709 	case '-':	goto yy788;
15710 	case '.':	goto yy792;
15711 	case '/':	goto yy789;
15712 	case '0':	goto yy1069;
15713 	case '1':	goto yy1070;
15714 	case '2':	goto yy1071;
15715 	case '3':	goto yy1072;
15716 	case '4':
15717 	case '5':	goto yy1073;
15718 	case '6':	goto yy1074;
15719 	case '7':
15720 	case '8':
15721 	case '9':	goto yy55;
15722 	case ':':	goto yy807;
15723 	case 'W':	goto yy810;
15724 	default:	goto yy1068;
15725 	}
15726 yy1068:
15727 	YYDEBUG(1068, *YYCURSOR);
15728 #line 1210 "ext/date/lib/parse_date.re"
15729 	{
15730 		DEBUG_OUTPUT("gnunocolon");
15731 		TIMELIB_INIT;
15732 		switch (s->time->have_time) {
15733 			case 0:
15734 				s->time->h = timelib_get_nr((char **) &ptr, 2);
15735 				s->time->i = timelib_get_nr((char **) &ptr, 2);
15736 				s->time->s = 0;
15737 				break;
15738 			case 1:
15739 				s->time->y = timelib_get_nr((char **) &ptr, 4);
15740 				break;
15741 			default:
15742 				TIMELIB_DEINIT;
15743 				add_error(s, "Double time specification");
15744 				return TIMELIB_ERROR;
15745 		}
15746 		s->time->have_time++;
15747 		TIMELIB_DEINIT;
15748 		return TIMELIB_GNU_NOCOLON;
15749 	}
15750 #line 15751 "ext/date/lib/parse_date.c"
15751 yy1069:
15752 	YYDEBUG(1069, *YYCURSOR);
15753 	yych = *++YYCURSOR;
15754 	if (yych <= '/') goto yy61;
15755 	if (yych <= '0') goto yy1081;
15756 	if (yych <= '9') goto yy1082;
15757 	goto yy61;
15758 yy1070:
15759 	YYDEBUG(1070, *YYCURSOR);
15760 	yych = *++YYCURSOR;
15761 	if (yych <= '/') goto yy61;
15762 	if (yych <= '2') goto yy1080;
15763 	if (yych <= '9') goto yy1079;
15764 	goto yy61;
15765 yy1071:
15766 	YYDEBUG(1071, *YYCURSOR);
15767 	yych = *++YYCURSOR;
15768 	if (yych <= '/') goto yy61;
15769 	if (yych <= '9') goto yy1079;
15770 	goto yy61;
15771 yy1072:
15772 	YYDEBUG(1072, *YYCURSOR);
15773 	yych = *++YYCURSOR;
15774 	if (yych <= '/') goto yy61;
15775 	if (yych <= '5') goto yy1077;
15776 	if (yych <= '6') goto yy1078;
15777 	if (yych <= '9') goto yy1075;
15778 	goto yy61;
15779 yy1073:
15780 	YYDEBUG(1073, *YYCURSOR);
15781 	yych = *++YYCURSOR;
15782 	if (yych <= '/') goto yy61;
15783 	if (yych <= '9') goto yy1075;
15784 	goto yy61;
15785 yy1074:
15786 	YYDEBUG(1074, *YYCURSOR);
15787 	yych = *++YYCURSOR;
15788 	if (yych <= '/') goto yy61;
15789 	if (yych <= '0') goto yy1075;
15790 	if (yych <= '9') goto yy55;
15791 	goto yy61;
15792 yy1075:
15793 	YYDEBUG(1075, *YYCURSOR);
15794 	yyaccept = 25;
15795 	yych = *(YYMARKER = ++YYCURSOR);
15796 	if (yybm[0+yych] & 2) {
15797 		goto yy55;
15798 	}
15799 	if (yych <= 'W') {
15800 		if (yych <= 'F') {
15801 			if (yych <= ' ') {
15802 				if (yych == '\t') goto yy61;
15803 				if (yych >= ' ') goto yy61;
15804 			} else {
15805 				if (yych == 'D') goto yy61;
15806 				if (yych >= 'F') goto yy61;
15807 			}
15808 		} else {
15809 			if (yych <= 'M') {
15810 				if (yych == 'H') goto yy61;
15811 				if (yych >= 'M') goto yy61;
15812 			} else {
15813 				if (yych <= 'R') goto yy1076;
15814 				if (yych <= 'T') goto yy61;
15815 				if (yych >= 'W') goto yy61;
15816 			}
15817 		}
15818 	} else {
15819 		if (yych <= 'h') {
15820 			if (yych <= 'd') {
15821 				if (yych == 'Y') goto yy61;
15822 				if (yych >= 'd') goto yy61;
15823 			} else {
15824 				if (yych == 'f') goto yy61;
15825 				if (yych >= 'h') goto yy61;
15826 			}
15827 		} else {
15828 			if (yych <= 't') {
15829 				if (yych == 'm') goto yy61;
15830 				if (yych >= 's') goto yy61;
15831 			} else {
15832 				if (yych <= 'w') {
15833 					if (yych >= 'w') goto yy61;
15834 				} else {
15835 					if (yych == 'y') goto yy61;
15836 				}
15837 			}
15838 		}
15839 	}
15840 yy1076:
15841 	YYDEBUG(1076, *YYCURSOR);
15842 #line 1256 "ext/date/lib/parse_date.re"
15843 	{
15844 		int tz_not_found;
15845 		DEBUG_OUTPUT("iso8601nocolon");
15846 		TIMELIB_INIT;
15847 		TIMELIB_HAVE_TIME();
15848 		s->time->h = timelib_get_nr((char **) &ptr, 2);
15849 		s->time->i = timelib_get_nr((char **) &ptr, 2);
15850 		s->time->s = timelib_get_nr((char **) &ptr, 2);
15851 
15852 		if (*ptr != '\0') {
15853 			s->time->z = timelib_get_zone((char **) &ptr, &s->time->dst, s->time, &tz_not_found, s->tzdb, tz_get_wrapper);
15854 			if (tz_not_found) {
15855 				add_error(s, "The timezone could not be found in the database");
15856 			}
15857 		}
15858 		TIMELIB_DEINIT;
15859 		return TIMELIB_ISO_NOCOLON;
15860 	}
15861 #line 15862 "ext/date/lib/parse_date.c"
15862 yy1077:
15863 	YYDEBUG(1077, *YYCURSOR);
15864 	yyaccept = 25;
15865 	yych = *(YYMARKER = ++YYCURSOR);
15866 	if (yych <= 'V') {
15867 		if (yych <= 'D') {
15868 			if (yych <= ' ') {
15869 				if (yych == '\t') goto yy61;
15870 				if (yych <= 0x1F) goto yy1076;
15871 				goto yy61;
15872 			} else {
15873 				if (yych <= '/') goto yy1076;
15874 				if (yych <= '9') goto yy821;
15875 				if (yych <= 'C') goto yy1076;
15876 				goto yy61;
15877 			}
15878 		} else {
15879 			if (yych <= 'H') {
15880 				if (yych == 'F') goto yy61;
15881 				if (yych <= 'G') goto yy1076;
15882 				goto yy61;
15883 			} else {
15884 				if (yych <= 'M') {
15885 					if (yych <= 'L') goto yy1076;
15886 					goto yy61;
15887 				} else {
15888 					if (yych <= 'R') goto yy1076;
15889 					if (yych <= 'T') goto yy61;
15890 					goto yy1076;
15891 				}
15892 			}
15893 		}
15894 	} else {
15895 		if (yych <= 'h') {
15896 			if (yych <= 'c') {
15897 				if (yych == 'X') goto yy1076;
15898 				if (yych <= 'Y') goto yy61;
15899 				goto yy1076;
15900 			} else {
15901 				if (yych <= 'e') {
15902 					if (yych <= 'd') goto yy61;
15903 					goto yy1076;
15904 				} else {
15905 					if (yych == 'g') goto yy1076;
15906 					goto yy61;
15907 				}
15908 			}
15909 		} else {
15910 			if (yych <= 't') {
15911 				if (yych == 'm') goto yy61;
15912 				if (yych <= 'r') goto yy1076;
15913 				goto yy61;
15914 			} else {
15915 				if (yych <= 'w') {
15916 					if (yych <= 'v') goto yy1076;
15917 					goto yy61;
15918 				} else {
15919 					if (yych == 'y') goto yy61;
15920 					goto yy1076;
15921 				}
15922 			}
15923 		}
15924 	}
15925 yy1078:
15926 	YYDEBUG(1078, *YYCURSOR);
15927 	yyaccept = 25;
15928 	yych = *(YYMARKER = ++YYCURSOR);
15929 	if (yych <= 'V') {
15930 		if (yych <= 'D') {
15931 			if (yych <= ' ') {
15932 				if (yych == '\t') goto yy61;
15933 				if (yych <= 0x1F) goto yy1076;
15934 				goto yy61;
15935 			} else {
15936 				if (yych <= '6') {
15937 					if (yych <= '/') goto yy1076;
15938 					goto yy821;
15939 				} else {
15940 					if (yych <= '9') goto yy55;
15941 					if (yych <= 'C') goto yy1076;
15942 					goto yy61;
15943 				}
15944 			}
15945 		} else {
15946 			if (yych <= 'H') {
15947 				if (yych == 'F') goto yy61;
15948 				if (yych <= 'G') goto yy1076;
15949 				goto yy61;
15950 			} else {
15951 				if (yych <= 'M') {
15952 					if (yych <= 'L') goto yy1076;
15953 					goto yy61;
15954 				} else {
15955 					if (yych <= 'R') goto yy1076;
15956 					if (yych <= 'T') goto yy61;
15957 					goto yy1076;
15958 				}
15959 			}
15960 		}
15961 	} else {
15962 		if (yych <= 'h') {
15963 			if (yych <= 'c') {
15964 				if (yych == 'X') goto yy1076;
15965 				if (yych <= 'Y') goto yy61;
15966 				goto yy1076;
15967 			} else {
15968 				if (yych <= 'e') {
15969 					if (yych <= 'd') goto yy61;
15970 					goto yy1076;
15971 				} else {
15972 					if (yych == 'g') goto yy1076;
15973 					goto yy61;
15974 				}
15975 			}
15976 		} else {
15977 			if (yych <= 't') {
15978 				if (yych == 'm') goto yy61;
15979 				if (yych <= 'r') goto yy1076;
15980 				goto yy61;
15981 			} else {
15982 				if (yych <= 'w') {
15983 					if (yych <= 'v') goto yy1076;
15984 					goto yy61;
15985 				} else {
15986 					if (yych == 'y') goto yy61;
15987 					goto yy1076;
15988 				}
15989 			}
15990 		}
15991 	}
15992 yy1079:
15993 	YYDEBUG(1079, *YYCURSOR);
15994 	yyaccept = 25;
15995 	yych = *(YYMARKER = ++YYCURSOR);
15996 	if (yych <= 'V') {
15997 		if (yych <= 'D') {
15998 			if (yych <= ' ') {
15999 				if (yych == '\t') goto yy61;
16000 				if (yych <= 0x1F) goto yy1076;
16001 				goto yy61;
16002 			} else {
16003 				if (yych <= '/') goto yy1076;
16004 				if (yych <= '9') goto yy821;
16005 				if (yych <= 'C') goto yy1076;
16006 				goto yy61;
16007 			}
16008 		} else {
16009 			if (yych <= 'H') {
16010 				if (yych == 'F') goto yy61;
16011 				if (yych <= 'G') goto yy1076;
16012 				goto yy61;
16013 			} else {
16014 				if (yych <= 'M') {
16015 					if (yych <= 'L') goto yy1076;
16016 					goto yy61;
16017 				} else {
16018 					if (yych <= 'R') goto yy1076;
16019 					if (yych <= 'T') goto yy61;
16020 					goto yy1076;
16021 				}
16022 			}
16023 		}
16024 	} else {
16025 		if (yych <= 'h') {
16026 			if (yych <= 'c') {
16027 				if (yych == 'X') goto yy1076;
16028 				if (yych <= 'Y') goto yy61;
16029 				goto yy1076;
16030 			} else {
16031 				if (yych <= 'e') {
16032 					if (yych <= 'd') goto yy61;
16033 					goto yy1076;
16034 				} else {
16035 					if (yych == 'g') goto yy1076;
16036 					goto yy61;
16037 				}
16038 			}
16039 		} else {
16040 			if (yych <= 't') {
16041 				if (yych == 'm') goto yy61;
16042 				if (yych <= 'r') goto yy1076;
16043 				goto yy61;
16044 			} else {
16045 				if (yych <= 'w') {
16046 					if (yych <= 'v') goto yy1076;
16047 					goto yy61;
16048 				} else {
16049 					if (yych == 'y') goto yy61;
16050 					goto yy1076;
16051 				}
16052 			}
16053 		}
16054 	}
16055 yy1080:
16056 	YYDEBUG(1080, *YYCURSOR);
16057 	yyaccept = 25;
16058 	yych = *(YYMARKER = ++YYCURSOR);
16059 	if (yych <= 'T') {
16060 		if (yych <= '9') {
16061 			if (yych <= ' ') {
16062 				if (yych == '\t') goto yy61;
16063 				if (yych <= 0x1F) goto yy1076;
16064 				goto yy61;
16065 			} else {
16066 				if (yych <= '0') {
16067 					if (yych <= '/') goto yy1076;
16068 					goto yy845;
16069 				} else {
16070 					if (yych <= '2') goto yy846;
16071 					if (yych <= '3') goto yy847;
16072 					goto yy821;
16073 				}
16074 			}
16075 		} else {
16076 			if (yych <= 'G') {
16077 				if (yych <= 'D') {
16078 					if (yych <= 'C') goto yy1076;
16079 					goto yy61;
16080 				} else {
16081 					if (yych == 'F') goto yy61;
16082 					goto yy1076;
16083 				}
16084 			} else {
16085 				if (yych <= 'L') {
16086 					if (yych <= 'H') goto yy61;
16087 					goto yy1076;
16088 				} else {
16089 					if (yych <= 'M') goto yy61;
16090 					if (yych <= 'R') goto yy1076;
16091 					goto yy61;
16092 				}
16093 			}
16094 		}
16095 	} else {
16096 		if (yych <= 'g') {
16097 			if (yych <= 'Y') {
16098 				if (yych == 'W') goto yy61;
16099 				if (yych <= 'X') goto yy1076;
16100 				goto yy61;
16101 			} else {
16102 				if (yych <= 'd') {
16103 					if (yych <= 'c') goto yy1076;
16104 					goto yy61;
16105 				} else {
16106 					if (yych == 'f') goto yy61;
16107 					goto yy1076;
16108 				}
16109 			}
16110 		} else {
16111 			if (yych <= 't') {
16112 				if (yych <= 'l') {
16113 					if (yych <= 'h') goto yy61;
16114 					goto yy1076;
16115 				} else {
16116 					if (yych <= 'm') goto yy61;
16117 					if (yych <= 'r') goto yy1076;
16118 					goto yy61;
16119 				}
16120 			} else {
16121 				if (yych <= 'w') {
16122 					if (yych <= 'v') goto yy1076;
16123 					goto yy61;
16124 				} else {
16125 					if (yych == 'y') goto yy61;
16126 					goto yy1076;
16127 				}
16128 			}
16129 		}
16130 	}
16131 yy1081:
16132 	YYDEBUG(1081, *YYCURSOR);
16133 	yyaccept = 25;
16134 	yych = *(YYMARKER = ++YYCURSOR);
16135 	if (yych <= 'T') {
16136 		if (yych <= '9') {
16137 			if (yych <= ' ') {
16138 				if (yych == '\t') goto yy61;
16139 				if (yych <= 0x1F) goto yy1076;
16140 				goto yy61;
16141 			} else {
16142 				if (yych <= '0') {
16143 					if (yych <= '/') goto yy1076;
16144 					goto yy877;
16145 				} else {
16146 					if (yych <= '2') goto yy846;
16147 					if (yych <= '3') goto yy847;
16148 					goto yy821;
16149 				}
16150 			}
16151 		} else {
16152 			if (yych <= 'G') {
16153 				if (yych <= 'D') {
16154 					if (yych <= 'C') goto yy1076;
16155 					goto yy61;
16156 				} else {
16157 					if (yych == 'F') goto yy61;
16158 					goto yy1076;
16159 				}
16160 			} else {
16161 				if (yych <= 'L') {
16162 					if (yych <= 'H') goto yy61;
16163 					goto yy1076;
16164 				} else {
16165 					if (yych <= 'M') goto yy61;
16166 					if (yych <= 'R') goto yy1076;
16167 					goto yy61;
16168 				}
16169 			}
16170 		}
16171 	} else {
16172 		if (yych <= 'g') {
16173 			if (yych <= 'Y') {
16174 				if (yych == 'W') goto yy61;
16175 				if (yych <= 'X') goto yy1076;
16176 				goto yy61;
16177 			} else {
16178 				if (yych <= 'd') {
16179 					if (yych <= 'c') goto yy1076;
16180 					goto yy61;
16181 				} else {
16182 					if (yych == 'f') goto yy61;
16183 					goto yy1076;
16184 				}
16185 			}
16186 		} else {
16187 			if (yych <= 't') {
16188 				if (yych <= 'l') {
16189 					if (yych <= 'h') goto yy61;
16190 					goto yy1076;
16191 				} else {
16192 					if (yych <= 'm') goto yy61;
16193 					if (yych <= 'r') goto yy1076;
16194 					goto yy61;
16195 				}
16196 			} else {
16197 				if (yych <= 'w') {
16198 					if (yych <= 'v') goto yy1076;
16199 					goto yy61;
16200 				} else {
16201 					if (yych == 'y') goto yy61;
16202 					goto yy1076;
16203 				}
16204 			}
16205 		}
16206 	}
16207 yy1082:
16208 	YYDEBUG(1082, *YYCURSOR);
16209 	yyaccept = 25;
16210 	yych = *(YYMARKER = ++YYCURSOR);
16211 	if (yych <= 'T') {
16212 		if (yych <= '9') {
16213 			if (yych <= ' ') {
16214 				if (yych == '\t') goto yy61;
16215 				if (yych <= 0x1F) goto yy1076;
16216 				goto yy61;
16217 			} else {
16218 				if (yych <= '0') {
16219 					if (yych <= '/') goto yy1076;
16220 					goto yy845;
16221 				} else {
16222 					if (yych <= '2') goto yy846;
16223 					if (yych <= '3') goto yy847;
16224 					goto yy821;
16225 				}
16226 			}
16227 		} else {
16228 			if (yych <= 'G') {
16229 				if (yych <= 'D') {
16230 					if (yych <= 'C') goto yy1076;
16231 					goto yy61;
16232 				} else {
16233 					if (yych == 'F') goto yy61;
16234 					goto yy1076;
16235 				}
16236 			} else {
16237 				if (yych <= 'L') {
16238 					if (yych <= 'H') goto yy61;
16239 					goto yy1076;
16240 				} else {
16241 					if (yych <= 'M') goto yy61;
16242 					if (yych <= 'R') goto yy1076;
16243 					goto yy61;
16244 				}
16245 			}
16246 		}
16247 	} else {
16248 		if (yych <= 'g') {
16249 			if (yych <= 'Y') {
16250 				if (yych == 'W') goto yy61;
16251 				if (yych <= 'X') goto yy1076;
16252 				goto yy61;
16253 			} else {
16254 				if (yych <= 'd') {
16255 					if (yych <= 'c') goto yy1076;
16256 					goto yy61;
16257 				} else {
16258 					if (yych == 'f') goto yy61;
16259 					goto yy1076;
16260 				}
16261 			}
16262 		} else {
16263 			if (yych <= 't') {
16264 				if (yych <= 'l') {
16265 					if (yych <= 'h') goto yy61;
16266 					goto yy1076;
16267 				} else {
16268 					if (yych <= 'm') goto yy61;
16269 					if (yych <= 'r') goto yy1076;
16270 					goto yy61;
16271 				}
16272 			} else {
16273 				if (yych <= 'w') {
16274 					if (yych <= 'v') goto yy1076;
16275 					goto yy61;
16276 				} else {
16277 					if (yych == 'y') goto yy61;
16278 					goto yy1076;
16279 				}
16280 			}
16281 		}
16282 	}
16283 yy1083:
16284 	YYDEBUG(1083, *YYCURSOR);
16285 	yyaccept = 11;
16286 	yych = *(YYMARKER = ++YYCURSOR);
16287 	if (yych <= '/') {
16288 		if (yych == '.') goto yy1085;
16289 		goto yy491;
16290 	} else {
16291 		if (yych <= '9') goto yy1084;
16292 		if (yych <= ':') goto yy1085;
16293 		goto yy491;
16294 	}
16295 yy1084:
16296 	YYDEBUG(1084, *YYCURSOR);
16297 	yyaccept = 11;
16298 	yych = *(YYMARKER = ++YYCURSOR);
16299 	if (yych == '.') goto yy1085;
16300 	if (yych != ':') goto yy491;
16301 yy1085:
16302 	YYDEBUG(1085, *YYCURSOR);
16303 	yych = *++YYCURSOR;
16304 	if (yych <= '/') goto yy57;
16305 	if (yych <= '5') goto yy1086;
16306 	if (yych <= '6') goto yy1087;
16307 	if (yych <= '9') goto yy496;
16308 	goto yy57;
16309 yy1086:
16310 	YYDEBUG(1086, *YYCURSOR);
16311 	yyaccept = 11;
16312 	yych = *(YYMARKER = ++YYCURSOR);
16313 	if (yych == '.') goto yy497;
16314 	if (yych <= '/') goto yy491;
16315 	if (yych <= '9') goto yy496;
16316 	goto yy491;
16317 yy1087:
16318 	YYDEBUG(1087, *YYCURSOR);
16319 	yyaccept = 11;
16320 	yych = *(YYMARKER = ++YYCURSOR);
16321 	if (yych == '.') goto yy497;
16322 	if (yych == '0') goto yy496;
16323 	goto yy491;
16324 yy1088:
16325 	YYDEBUG(1088, *YYCURSOR);
16326 	yyaccept = 11;
16327 	yych = *(YYMARKER = ++YYCURSOR);
16328 	if (yych <= '.') {
16329 		if (yych <= ',') goto yy491;
16330 		if (yych <= '-') goto yy602;
16331 		goto yy1092;
16332 	} else {
16333 		if (yych <= '/') goto yy491;
16334 		if (yych <= '9') goto yy1091;
16335 		if (yych <= ':') goto yy1085;
16336 		goto yy491;
16337 	}
16338 yy1089:
16339 	YYDEBUG(1089, *YYCURSOR);
16340 	yyaccept = 11;
16341 	yych = *(YYMARKER = ++YYCURSOR);
16342 	if (yych <= '/') {
16343 		if (yych <= ',') goto yy491;
16344 		if (yych <= '-') goto yy602;
16345 		if (yych <= '.') goto yy1092;
16346 		goto yy491;
16347 	} else {
16348 		if (yych <= '2') goto yy1091;
16349 		if (yych <= '9') goto yy1084;
16350 		if (yych <= ':') goto yy1085;
16351 		goto yy491;
16352 	}
16353 yy1090:
16354 	YYDEBUG(1090, *YYCURSOR);
16355 	yyaccept = 11;
16356 	yych = *(YYMARKER = ++YYCURSOR);
16357 	if (yych <= '.') {
16358 		if (yych <= ',') goto yy491;
16359 		if (yych <= '-') goto yy602;
16360 		goto yy1092;
16361 	} else {
16362 		if (yych <= '/') goto yy491;
16363 		if (yych <= '9') goto yy1084;
16364 		if (yych <= ':') goto yy1085;
16365 		goto yy491;
16366 	}
16367 yy1091:
16368 	YYDEBUG(1091, *YYCURSOR);
16369 	yyaccept = 11;
16370 	yych = *(YYMARKER = ++YYCURSOR);
16371 	if (yych <= '.') {
16372 		if (yych <= ',') goto yy491;
16373 		if (yych <= '-') goto yy602;
16374 	} else {
16375 		if (yych == ':') goto yy1085;
16376 		goto yy491;
16377 	}
16378 yy1092:
16379 	YYDEBUG(1092, *YYCURSOR);
16380 	yych = *++YYCURSOR;
16381 	if (yych <= '/') goto yy57;
16382 	if (yych <= '5') goto yy1093;
16383 	if (yych <= '6') goto yy1094;
16384 	if (yych <= '9') goto yy610;
16385 	goto yy57;
16386 yy1093:
16387 	YYDEBUG(1093, *YYCURSOR);
16388 	yyaccept = 11;
16389 	yych = *(YYMARKER = ++YYCURSOR);
16390 	if (yych == '.') goto yy497;
16391 	if (yych <= '/') goto yy491;
16392 	if (yych <= '9') goto yy1095;
16393 	goto yy491;
16394 yy1094:
16395 	YYDEBUG(1094, *YYCURSOR);
16396 	yyaccept = 11;
16397 	yych = *(YYMARKER = ++YYCURSOR);
16398 	if (yych <= '/') {
16399 		if (yych == '.') goto yy497;
16400 		goto yy491;
16401 	} else {
16402 		if (yych <= '0') goto yy1095;
16403 		if (yych <= '9') goto yy611;
16404 		goto yy491;
16405 	}
16406 yy1095:
16407 	YYDEBUG(1095, *YYCURSOR);
16408 	yyaccept = 11;
16409 	yych = *(YYMARKER = ++YYCURSOR);
16410 	if (yych == '.') goto yy497;
16411 	if (yych <= '/') goto yy491;
16412 	if (yych <= '9') goto yy605;
16413 	goto yy491;
16414 yy1096:
16415 	YYDEBUG(1096, *YYCURSOR);
16416 	yych = *++YYCURSOR;
16417 	if (yych <= '9') {
16418 		if (yych <= '-') {
16419 			if (yych == '\t') goto yy460;
16420 			if (yych <= ',') goto yy462;
16421 			goto yy1051;
16422 		} else {
16423 			if (yych <= '.') goto yy474;
16424 			if (yych <= '/') goto yy472;
16425 			if (yych <= '5') goto yy1066;
16426 			goto yy741;
16427 		}
16428 	} else {
16429 		if (yych <= 'q') {
16430 			if (yych <= ':') goto yy483;
16431 			if (yych == 'n') goto yy470;
16432 			goto yy462;
16433 		} else {
16434 			if (yych <= 'r') goto yy471;
16435 			if (yych <= 's') goto yy464;
16436 			if (yych <= 't') goto yy468;
16437 			goto yy462;
16438 		}
16439 	}
16440 yy1097:
16441 	YYDEBUG(1097, *YYCURSOR);
16442 	yych = *++YYCURSOR;
16443 	if (yych <= '9') {
16444 		if (yych <= '-') {
16445 			if (yych == '\t') goto yy1052;
16446 			if (yych <= ',') goto yy1054;
16447 			goto yy1051;
16448 		} else {
16449 			if (yych <= '.') goto yy1064;
16450 			if (yych <= '/') goto yy472;
16451 			if (yych <= '5') goto yy1066;
16452 			goto yy741;
16453 		}
16454 	} else {
16455 		if (yych <= 'q') {
16456 			if (yych <= ':') goto yy1065;
16457 			if (yych == 'n') goto yy470;
16458 			goto yy1054;
16459 		} else {
16460 			if (yych <= 'r') goto yy471;
16461 			if (yych <= 's') goto yy464;
16462 			if (yych <= 't') goto yy468;
16463 			goto yy1054;
16464 		}
16465 	}
16466 yy1098:
16467 	YYDEBUG(1098, *YYCURSOR);
16468 	yych = *++YYCURSOR;
16469 	if (yych <= 'E') {
16470 		if (yych <= ')') {
16471 			if (yych <= '(') goto yy4;
16472 			goto yy140;
16473 		} else {
16474 			if (yych <= '@') goto yy4;
16475 			if (yych <= 'D') goto yy142;
16476 		}
16477 	} else {
16478 		if (yych <= 'd') {
16479 			if (yych <= 'Z') goto yy142;
16480 			if (yych <= '`') goto yy4;
16481 			goto yy142;
16482 		} else {
16483 			if (yych <= 'e') goto yy1099;
16484 			if (yych <= 'z') goto yy142;
16485 			goto yy4;
16486 		}
16487 	}
16488 yy1099:
16489 	YYDEBUG(1099, *YYCURSOR);
16490 	yych = *++YYCURSOR;
16491 	if (yych <= 'V') {
16492 		if (yych <= ')') {
16493 			if (yych <= '(') goto yy4;
16494 			goto yy140;
16495 		} else {
16496 			if (yych <= '@') goto yy4;
16497 			if (yych <= 'U') goto yy143;
16498 		}
16499 	} else {
16500 		if (yych <= 'u') {
16501 			if (yych <= 'Z') goto yy143;
16502 			if (yych <= '`') goto yy4;
16503 			goto yy143;
16504 		} else {
16505 			if (yych <= 'v') goto yy1100;
16506 			if (yych <= 'z') goto yy143;
16507 			goto yy4;
16508 		}
16509 	}
16510 yy1100:
16511 	YYDEBUG(1100, *YYCURSOR);
16512 	yych = *++YYCURSOR;
16513 	if (yych <= 'I') {
16514 		if (yych <= ')') {
16515 			if (yych <= '(') goto yy4;
16516 			goto yy140;
16517 		} else {
16518 			if (yych <= '@') goto yy4;
16519 			if (yych <= 'H') goto yy144;
16520 		}
16521 	} else {
16522 		if (yych <= 'h') {
16523 			if (yych <= 'Z') goto yy144;
16524 			if (yych <= '`') goto yy4;
16525 			goto yy144;
16526 		} else {
16527 			if (yych <= 'i') goto yy1101;
16528 			if (yych <= 'z') goto yy144;
16529 			goto yy4;
16530 		}
16531 	}
16532 yy1101:
16533 	YYDEBUG(1101, *YYCURSOR);
16534 	yych = *++YYCURSOR;
16535 	if (yych <= 'O') {
16536 		if (yych <= ')') {
16537 			if (yych <= '(') goto yy4;
16538 			goto yy140;
16539 		} else {
16540 			if (yych <= '@') goto yy4;
16541 			if (yych <= 'N') goto yy145;
16542 		}
16543 	} else {
16544 		if (yych <= 'n') {
16545 			if (yych <= 'Z') goto yy145;
16546 			if (yych <= '`') goto yy4;
16547 			goto yy145;
16548 		} else {
16549 			if (yych <= 'o') goto yy1102;
16550 			if (yych <= 'z') goto yy145;
16551 			goto yy4;
16552 		}
16553 	}
16554 yy1102:
16555 	YYDEBUG(1102, *YYCURSOR);
16556 	yyaccept = 0;
16557 	yych = *(YYMARKER = ++YYCURSOR);
16558 	if (yych <= 'T') {
16559 		if (yych == ')') goto yy140;
16560 		goto yy4;
16561 	} else {
16562 		if (yych <= 'U') goto yy1103;
16563 		if (yych != 'u') goto yy4;
16564 	}
16565 yy1103:
16566 	YYDEBUG(1103, *YYCURSOR);
16567 	yych = *++YYCURSOR;
16568 	if (yych == 'S') goto yy1104;
16569 	if (yych != 's') goto yy57;
16570 yy1104:
16571 	YYDEBUG(1104, *YYCURSOR);
16572 	yych = *++YYCURSOR;
16573 	if (yych == '\t') goto yy1105;
16574 	if (yych != ' ') goto yy57;
16575 yy1105:
16576 	YYDEBUG(1105, *YYCURSOR);
16577 	++YYCURSOR;
16578 	if ((YYLIMIT - YYCURSOR) < 11) YYFILL(11);
16579 	yych = *YYCURSOR;
16580 yy1106:
16581 	YYDEBUG(1106, *YYCURSOR);
16582 	if (yych <= 'W') {
16583 		if (yych <= 'F') {
16584 			if (yych <= ' ') {
16585 				if (yych == '\t') goto yy1105;
16586 				if (yych <= 0x1F) goto yy57;
16587 				goto yy1105;
16588 			} else {
16589 				if (yych == 'D') goto yy1110;
16590 				if (yych <= 'E') goto yy57;
16591 				goto yy1111;
16592 			}
16593 		} else {
16594 			if (yych <= 'M') {
16595 				if (yych == 'H') goto yy1109;
16596 				if (yych <= 'L') goto yy57;
16597 				goto yy1108;
16598 			} else {
16599 				if (yych <= 'S') {
16600 					if (yych <= 'R') goto yy57;
16601 				} else {
16602 					if (yych <= 'T') goto yy1114;
16603 					if (yych <= 'V') goto yy57;
16604 					goto yy1113;
16605 				}
16606 			}
16607 		}
16608 	} else {
16609 		if (yych <= 'l') {
16610 			if (yych <= 'd') {
16611 				if (yych == 'Y') goto yy1112;
16612 				if (yych <= 'c') goto yy57;
16613 				goto yy1110;
16614 			} else {
16615 				if (yych <= 'f') {
16616 					if (yych <= 'e') goto yy57;
16617 					goto yy1111;
16618 				} else {
16619 					if (yych == 'h') goto yy1109;
16620 					goto yy57;
16621 				}
16622 			}
16623 		} else {
16624 			if (yych <= 't') {
16625 				if (yych <= 'm') goto yy1108;
16626 				if (yych <= 'r') goto yy57;
16627 				if (yych >= 't') goto yy1114;
16628 			} else {
16629 				if (yych <= 'w') {
16630 					if (yych <= 'v') goto yy57;
16631 					goto yy1113;
16632 				} else {
16633 					if (yych == 'y') goto yy1112;
16634 					goto yy57;
16635 				}
16636 			}
16637 		}
16638 	}
16639 yy1107:
16640 	YYDEBUG(1107, *YYCURSOR);
16641 	yych = *++YYCURSOR;
16642 	if (yych <= 'U') {
16643 		if (yych <= 'D') {
16644 			if (yych == 'A') goto yy1179;
16645 			goto yy57;
16646 		} else {
16647 			if (yych <= 'E') goto yy1180;
16648 			if (yych <= 'T') goto yy57;
16649 			goto yy1178;
16650 		}
16651 	} else {
16652 		if (yych <= 'd') {
16653 			if (yych == 'a') goto yy1179;
16654 			goto yy57;
16655 		} else {
16656 			if (yych <= 'e') goto yy1180;
16657 			if (yych == 'u') goto yy1178;
16658 			goto yy57;
16659 		}
16660 	}
16661 yy1108:
16662 	YYDEBUG(1108, *YYCURSOR);
16663 	yych = *++YYCURSOR;
16664 	if (yych <= 'O') {
16665 		if (yych == 'I') goto yy1170;
16666 		if (yych <= 'N') goto yy57;
16667 		goto yy1169;
16668 	} else {
16669 		if (yych <= 'i') {
16670 			if (yych <= 'h') goto yy57;
16671 			goto yy1170;
16672 		} else {
16673 			if (yych == 'o') goto yy1169;
16674 			goto yy57;
16675 		}
16676 	}
16677 yy1109:
16678 	YYDEBUG(1109, *YYCURSOR);
16679 	yych = *++YYCURSOR;
16680 	if (yych == 'O') goto yy1167;
16681 	if (yych == 'o') goto yy1167;
16682 	goto yy57;
16683 yy1110:
16684 	YYDEBUG(1110, *YYCURSOR);
16685 	yych = *++YYCURSOR;
16686 	if (yych == 'A') goto yy1166;
16687 	if (yych == 'a') goto yy1166;
16688 	goto yy57;
16689 yy1111:
16690 	YYDEBUG(1111, *YYCURSOR);
16691 	yych = *++YYCURSOR;
16692 	if (yych <= 'R') {
16693 		if (yych == 'O') goto yy1151;
16694 		if (yych <= 'Q') goto yy57;
16695 		goto yy1150;
16696 	} else {
16697 		if (yych <= 'o') {
16698 			if (yych <= 'n') goto yy57;
16699 			goto yy1151;
16700 		} else {
16701 			if (yych == 'r') goto yy1150;
16702 			goto yy57;
16703 		}
16704 	}
16705 yy1112:
16706 	YYDEBUG(1112, *YYCURSOR);
16707 	yych = *++YYCURSOR;
16708 	if (yych == 'E') goto yy1147;
16709 	if (yych == 'e') goto yy1147;
16710 	goto yy57;
16711 yy1113:
16712 	YYDEBUG(1113, *YYCURSOR);
16713 	yych = *++YYCURSOR;
16714 	if (yych == 'E') goto yy1133;
16715 	if (yych == 'e') goto yy1133;
16716 	goto yy57;
16717 yy1114:
16718 	YYDEBUG(1114, *YYCURSOR);
16719 	yych = *++YYCURSOR;
16720 	if (yych <= 'U') {
16721 		if (yych == 'H') goto yy1115;
16722 		if (yych <= 'T') goto yy57;
16723 		goto yy1116;
16724 	} else {
16725 		if (yych <= 'h') {
16726 			if (yych <= 'g') goto yy57;
16727 		} else {
16728 			if (yych == 'u') goto yy1116;
16729 			goto yy57;
16730 		}
16731 	}
16732 yy1115:
16733 	YYDEBUG(1115, *YYCURSOR);
16734 	yych = *++YYCURSOR;
16735 	if (yych == 'U') goto yy1128;
16736 	if (yych == 'u') goto yy1128;
16737 	goto yy57;
16738 yy1116:
16739 	YYDEBUG(1116, *YYCURSOR);
16740 	yych = *++YYCURSOR;
16741 	if (yych == 'E') goto yy1117;
16742 	if (yych != 'e') goto yy57;
16743 yy1117:
16744 	YYDEBUG(1117, *YYCURSOR);
16745 	yyaccept = 26;
16746 	yych = *(YYMARKER = ++YYCURSOR);
16747 	if (yych <= ' ') {
16748 		if (yych == '\t') goto yy1119;
16749 		if (yych >= ' ') goto yy1119;
16750 	} else {
16751 		if (yych <= 'S') {
16752 			if (yych >= 'S') goto yy1121;
16753 		} else {
16754 			if (yych == 's') goto yy1121;
16755 		}
16756 	}
16757 yy1118:
16758 	YYDEBUG(1118, *YYCURSOR);
16759 #line 1652 "ext/date/lib/parse_date.re"
16760 	{
16761 		timelib_sll i;
16762 		int         behavior = 0;
16763 		DEBUG_OUTPUT("relativetext");
16764 		TIMELIB_INIT;
16765 		TIMELIB_HAVE_RELATIVE();
16766 
16767 		while(*ptr) {
16768 			i = timelib_get_relative_text((char **) &ptr, &behavior);
16769 			timelib_eat_spaces((char **) &ptr);
16770 			timelib_set_relative((char **) &ptr, i, behavior, s);
16771 		}
16772 		TIMELIB_DEINIT;
16773 		return TIMELIB_RELATIVE;
16774 	}
16775 #line 16776 "ext/date/lib/parse_date.c"
16776 yy1119:
16777 	YYDEBUG(1119, *YYCURSOR);
16778 	++YYCURSOR;
16779 	if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2);
16780 	yych = *YYCURSOR;
16781 	YYDEBUG(1120, *YYCURSOR);
16782 	if (yych <= ' ') {
16783 		if (yych == '\t') goto yy1119;
16784 		if (yych <= 0x1F) goto yy57;
16785 		goto yy1119;
16786 	} else {
16787 		if (yych <= 'O') {
16788 			if (yych <= 'N') goto yy57;
16789 			goto yy1125;
16790 		} else {
16791 			if (yych == 'o') goto yy1125;
16792 			goto yy57;
16793 		}
16794 	}
16795 yy1121:
16796 	YYDEBUG(1121, *YYCURSOR);
16797 	yych = *++YYCURSOR;
16798 	if (yych == 'D') goto yy1122;
16799 	if (yych != 'd') goto yy57;
16800 yy1122:
16801 	YYDEBUG(1122, *YYCURSOR);
16802 	yych = *++YYCURSOR;
16803 	if (yych == 'A') goto yy1123;
16804 	if (yych != 'a') goto yy57;
16805 yy1123:
16806 	YYDEBUG(1123, *YYCURSOR);
16807 	yych = *++YYCURSOR;
16808 	if (yych == 'Y') goto yy1124;
16809 	if (yych != 'y') goto yy57;
16810 yy1124:
16811 	YYDEBUG(1124, *YYCURSOR);
16812 	yyaccept = 26;
16813 	yych = *(YYMARKER = ++YYCURSOR);
16814 	if (yych == '\t') goto yy1119;
16815 	if (yych == ' ') goto yy1119;
16816 	goto yy1118;
16817 yy1125:
16818 	YYDEBUG(1125, *YYCURSOR);
16819 	yych = *++YYCURSOR;
16820 	if (yych == 'F') goto yy1126;
16821 	if (yych != 'f') goto yy57;
16822 yy1126:
16823 	YYDEBUG(1126, *YYCURSOR);
16824 	++YYCURSOR;
16825 	YYDEBUG(1127, *YYCURSOR);
16826 #line 1125 "ext/date/lib/parse_date.re"
16827 	{
16828 		timelib_sll i;
16829 		int         behavior = 0;
16830 		DEBUG_OUTPUT("weekdayof");
16831 		TIMELIB_INIT;
16832 		TIMELIB_HAVE_RELATIVE();
16833 		TIMELIB_HAVE_SPECIAL_RELATIVE();
16834 
16835 		i = timelib_get_relative_text((char **) &ptr, &behavior);
16836 		timelib_eat_spaces((char **) &ptr);
16837 		if (i > 0) { /* first, second... etc */
16838 			s->time->relative.special.type = TIMELIB_SPECIAL_DAY_OF_WEEK_IN_MONTH;
16839 			timelib_set_relative((char **) &ptr, i, 1, s);
16840 		} else { /* last */
16841 			s->time->relative.special.type = TIMELIB_SPECIAL_LAST_DAY_OF_WEEK_IN_MONTH;
16842 			timelib_set_relative((char **) &ptr, i, behavior, s);
16843 		}
16844 		TIMELIB_DEINIT;
16845 		return TIMELIB_WEEK_DAY_OF_MONTH;
16846 	}
16847 #line 16848 "ext/date/lib/parse_date.c"
16848 yy1128:
16849 	YYDEBUG(1128, *YYCURSOR);
16850 	yyaccept = 26;
16851 	yych = *(YYMARKER = ++YYCURSOR);
16852 	if (yych <= ' ') {
16853 		if (yych == '\t') goto yy1119;
16854 		if (yych <= 0x1F) goto yy1118;
16855 		goto yy1119;
16856 	} else {
16857 		if (yych <= 'R') {
16858 			if (yych <= 'Q') goto yy1118;
16859 		} else {
16860 			if (yych != 'r') goto yy1118;
16861 		}
16862 	}
16863 	YYDEBUG(1129, *YYCURSOR);
16864 	yych = *++YYCURSOR;
16865 	if (yych == 'S') goto yy1130;
16866 	if (yych != 's') goto yy57;
16867 yy1130:
16868 	YYDEBUG(1130, *YYCURSOR);
16869 	yych = *++YYCURSOR;
16870 	if (yych == 'D') goto yy1131;
16871 	if (yych != 'd') goto yy57;
16872 yy1131:
16873 	YYDEBUG(1131, *YYCURSOR);
16874 	yych = *++YYCURSOR;
16875 	if (yych == 'A') goto yy1132;
16876 	if (yych != 'a') goto yy57;
16877 yy1132:
16878 	YYDEBUG(1132, *YYCURSOR);
16879 	yych = *++YYCURSOR;
16880 	if (yych == 'Y') goto yy1124;
16881 	if (yych == 'y') goto yy1124;
16882 	goto yy57;
16883 yy1133:
16884 	YYDEBUG(1133, *YYCURSOR);
16885 	yych = *++YYCURSOR;
16886 	if (yych <= 'E') {
16887 		if (yych <= 'C') goto yy57;
16888 		if (yych <= 'D') goto yy1135;
16889 	} else {
16890 		if (yych <= 'c') goto yy57;
16891 		if (yych <= 'd') goto yy1135;
16892 		if (yych >= 'f') goto yy57;
16893 	}
16894 	YYDEBUG(1134, *YYCURSOR);
16895 	yych = *++YYCURSOR;
16896 	if (yych == 'K') goto yy1141;
16897 	if (yych == 'k') goto yy1141;
16898 	goto yy57;
16899 yy1135:
16900 	YYDEBUG(1135, *YYCURSOR);
16901 	yyaccept = 26;
16902 	yych = *(YYMARKER = ++YYCURSOR);
16903 	if (yych <= ' ') {
16904 		if (yych == '\t') goto yy1119;
16905 		if (yych <= 0x1F) goto yy1118;
16906 		goto yy1119;
16907 	} else {
16908 		if (yych <= 'N') {
16909 			if (yych <= 'M') goto yy1118;
16910 		} else {
16911 			if (yych != 'n') goto yy1118;
16912 		}
16913 	}
16914 	YYDEBUG(1136, *YYCURSOR);
16915 	yych = *++YYCURSOR;
16916 	if (yych == 'E') goto yy1137;
16917 	if (yych != 'e') goto yy57;
16918 yy1137:
16919 	YYDEBUG(1137, *YYCURSOR);
16920 	yych = *++YYCURSOR;
16921 	if (yych == 'S') goto yy1138;
16922 	if (yych != 's') goto yy57;
16923 yy1138:
16924 	YYDEBUG(1138, *YYCURSOR);
16925 	yych = *++YYCURSOR;
16926 	if (yych == 'D') goto yy1139;
16927 	if (yych != 'd') goto yy57;
16928 yy1139:
16929 	YYDEBUG(1139, *YYCURSOR);
16930 	yych = *++YYCURSOR;
16931 	if (yych == 'A') goto yy1140;
16932 	if (yych != 'a') goto yy57;
16933 yy1140:
16934 	YYDEBUG(1140, *YYCURSOR);
16935 	yych = *++YYCURSOR;
16936 	if (yych == 'Y') goto yy1124;
16937 	if (yych == 'y') goto yy1124;
16938 	goto yy57;
16939 yy1141:
16940 	YYDEBUG(1141, *YYCURSOR);
16941 	yyaccept = 27;
16942 	yych = *(YYMARKER = ++YYCURSOR);
16943 	if (yych <= 'S') {
16944 		if (yych == 'D') goto yy1144;
16945 		if (yych >= 'S') goto yy1143;
16946 	} else {
16947 		if (yych <= 'd') {
16948 			if (yych >= 'd') goto yy1144;
16949 		} else {
16950 			if (yych == 's') goto yy1143;
16951 		}
16952 	}
16953 yy1142:
16954 	YYDEBUG(1142, *YYCURSOR);
16955 #line 1628 "ext/date/lib/parse_date.re"
16956 	{
16957 		timelib_sll i;
16958 		int         behavior = 0;
16959 		DEBUG_OUTPUT("relativetextweek");
16960 		TIMELIB_INIT;
16961 		TIMELIB_HAVE_RELATIVE();
16962 
16963 		while(*ptr) {
16964 			i = timelib_get_relative_text((char **) &ptr, &behavior);
16965 			timelib_eat_spaces((char **) &ptr);
16966 			timelib_set_relative((char **) &ptr, i, behavior, s);
16967 			s->time->relative.weekday_behavior = 2;
16968 
16969 			/* to handle the format weekday + last/this/next week */
16970 			if (s->time->relative.have_weekday_relative == 0) {
16971 				TIMELIB_HAVE_WEEKDAY_RELATIVE();
16972 				s->time->relative.weekday = 1;
16973 			}
16974 		}
16975 		TIMELIB_DEINIT;
16976 		return TIMELIB_RELATIVE;
16977 	}
16978 #line 16979 "ext/date/lib/parse_date.c"
16979 yy1143:
16980 	YYDEBUG(1143, *YYCURSOR);
16981 	yych = *++YYCURSOR;
16982 	goto yy1118;
16983 yy1144:
16984 	YYDEBUG(1144, *YYCURSOR);
16985 	yych = *++YYCURSOR;
16986 	if (yych == 'A') goto yy1145;
16987 	if (yych != 'a') goto yy57;
16988 yy1145:
16989 	YYDEBUG(1145, *YYCURSOR);
16990 	yych = *++YYCURSOR;
16991 	if (yych == 'Y') goto yy1146;
16992 	if (yych != 'y') goto yy57;
16993 yy1146:
16994 	YYDEBUG(1146, *YYCURSOR);
16995 	yych = *++YYCURSOR;
16996 	if (yych == 'S') goto yy1143;
16997 	if (yych == 's') goto yy1143;
16998 	goto yy1118;
16999 yy1147:
17000 	YYDEBUG(1147, *YYCURSOR);
17001 	yych = *++YYCURSOR;
17002 	if (yych == 'A') goto yy1148;
17003 	if (yych != 'a') goto yy57;
17004 yy1148:
17005 	YYDEBUG(1148, *YYCURSOR);
17006 	yych = *++YYCURSOR;
17007 	if (yych == 'R') goto yy1149;
17008 	if (yych != 'r') goto yy57;
17009 yy1149:
17010 	YYDEBUG(1149, *YYCURSOR);
17011 	yych = *++YYCURSOR;
17012 	if (yych == 'S') goto yy1143;
17013 	if (yych == 's') goto yy1143;
17014 	goto yy1118;
17015 yy1150:
17016 	YYDEBUG(1150, *YYCURSOR);
17017 	yych = *++YYCURSOR;
17018 	if (yych == 'I') goto yy1163;
17019 	if (yych == 'i') goto yy1163;
17020 	goto yy57;
17021 yy1151:
17022 	YYDEBUG(1151, *YYCURSOR);
17023 	yych = *++YYCURSOR;
17024 	if (yych == 'R') goto yy1152;
17025 	if (yych != 'r') goto yy57;
17026 yy1152:
17027 	YYDEBUG(1152, *YYCURSOR);
17028 	yych = *++YYCURSOR;
17029 	if (yych == 'T') goto yy1153;
17030 	if (yych != 't') goto yy57;
17031 yy1153:
17032 	YYDEBUG(1153, *YYCURSOR);
17033 	yych = *++YYCURSOR;
17034 	if (yych <= 'N') {
17035 		if (yych == 'H') goto yy1155;
17036 		if (yych <= 'M') goto yy57;
17037 	} else {
17038 		if (yych <= 'h') {
17039 			if (yych <= 'g') goto yy57;
17040 			goto yy1155;
17041 		} else {
17042 			if (yych != 'n') goto yy57;
17043 		}
17044 	}
17045 	YYDEBUG(1154, *YYCURSOR);
17046 	yych = *++YYCURSOR;
17047 	if (yych == 'I') goto yy1160;
17048 	if (yych == 'i') goto yy1160;
17049 	goto yy57;
17050 yy1155:
17051 	YYDEBUG(1155, *YYCURSOR);
17052 	yych = *++YYCURSOR;
17053 	if (yych == 'N') goto yy1156;
17054 	if (yych != 'n') goto yy57;
17055 yy1156:
17056 	YYDEBUG(1156, *YYCURSOR);
17057 	yych = *++YYCURSOR;
17058 	if (yych == 'I') goto yy1157;
17059 	if (yych != 'i') goto yy57;
17060 yy1157:
17061 	YYDEBUG(1157, *YYCURSOR);
17062 	yych = *++YYCURSOR;
17063 	if (yych == 'G') goto yy1158;
17064 	if (yych != 'g') goto yy57;
17065 yy1158:
17066 	YYDEBUG(1158, *YYCURSOR);
17067 	yych = *++YYCURSOR;
17068 	if (yych == 'H') goto yy1159;
17069 	if (yych != 'h') goto yy57;
17070 yy1159:
17071 	YYDEBUG(1159, *YYCURSOR);
17072 	yych = *++YYCURSOR;
17073 	if (yych == 'T') goto yy1149;
17074 	if (yych == 't') goto yy1149;
17075 	goto yy57;
17076 yy1160:
17077 	YYDEBUG(1160, *YYCURSOR);
17078 	yych = *++YYCURSOR;
17079 	if (yych == 'G') goto yy1161;
17080 	if (yych != 'g') goto yy57;
17081 yy1161:
17082 	YYDEBUG(1161, *YYCURSOR);
17083 	yych = *++YYCURSOR;
17084 	if (yych == 'H') goto yy1162;
17085 	if (yych != 'h') goto yy57;
17086 yy1162:
17087 	YYDEBUG(1162, *YYCURSOR);
17088 	yych = *++YYCURSOR;
17089 	if (yych == 'T') goto yy1149;
17090 	if (yych == 't') goto yy1149;
17091 	goto yy57;
17092 yy1163:
17093 	YYDEBUG(1163, *YYCURSOR);
17094 	yyaccept = 26;
17095 	yych = *(YYMARKER = ++YYCURSOR);
17096 	if (yych <= ' ') {
17097 		if (yych == '\t') goto yy1119;
17098 		if (yych <= 0x1F) goto yy1118;
17099 		goto yy1119;
17100 	} else {
17101 		if (yych <= 'D') {
17102 			if (yych <= 'C') goto yy1118;
17103 		} else {
17104 			if (yych != 'd') goto yy1118;
17105 		}
17106 	}
17107 	YYDEBUG(1164, *YYCURSOR);
17108 	yych = *++YYCURSOR;
17109 	if (yych == 'A') goto yy1165;
17110 	if (yych != 'a') goto yy57;
17111 yy1165:
17112 	YYDEBUG(1165, *YYCURSOR);
17113 	yych = *++YYCURSOR;
17114 	if (yych == 'Y') goto yy1124;
17115 	if (yych == 'y') goto yy1124;
17116 	goto yy57;
17117 yy1166:
17118 	YYDEBUG(1166, *YYCURSOR);
17119 	yych = *++YYCURSOR;
17120 	if (yych == 'Y') goto yy1149;
17121 	if (yych == 'y') goto yy1149;
17122 	goto yy57;
17123 yy1167:
17124 	YYDEBUG(1167, *YYCURSOR);
17125 	yych = *++YYCURSOR;
17126 	if (yych == 'U') goto yy1168;
17127 	if (yych != 'u') goto yy57;
17128 yy1168:
17129 	YYDEBUG(1168, *YYCURSOR);
17130 	yych = *++YYCURSOR;
17131 	if (yych == 'R') goto yy1149;
17132 	if (yych == 'r') goto yy1149;
17133 	goto yy57;
17134 yy1169:
17135 	YYDEBUG(1169, *YYCURSOR);
17136 	yych = *++YYCURSOR;
17137 	if (yych == 'N') goto yy1174;
17138 	if (yych == 'n') goto yy1174;
17139 	goto yy57;
17140 yy1170:
17141 	YYDEBUG(1170, *YYCURSOR);
17142 	yych = *++YYCURSOR;
17143 	if (yych == 'N') goto yy1171;
17144 	if (yych != 'n') goto yy57;
17145 yy1171:
17146 	YYDEBUG(1171, *YYCURSOR);
17147 	yyaccept = 26;
17148 	yych = *(YYMARKER = ++YYCURSOR);
17149 	if (yych <= 'U') {
17150 		if (yych == 'S') goto yy1143;
17151 		if (yych <= 'T') goto yy1118;
17152 	} else {
17153 		if (yych <= 's') {
17154 			if (yych <= 'r') goto yy1118;
17155 			goto yy1143;
17156 		} else {
17157 			if (yych != 'u') goto yy1118;
17158 		}
17159 	}
17160 	YYDEBUG(1172, *YYCURSOR);
17161 	yych = *++YYCURSOR;
17162 	if (yych == 'T') goto yy1173;
17163 	if (yych != 't') goto yy57;
17164 yy1173:
17165 	YYDEBUG(1173, *YYCURSOR);
17166 	yych = *++YYCURSOR;
17167 	if (yych == 'E') goto yy1149;
17168 	if (yych == 'e') goto yy1149;
17169 	goto yy57;
17170 yy1174:
17171 	YYDEBUG(1174, *YYCURSOR);
17172 	yyaccept = 26;
17173 	yych = *(YYMARKER = ++YYCURSOR);
17174 	if (yych <= 'D') {
17175 		if (yych <= 0x1F) {
17176 			if (yych == '\t') goto yy1119;
17177 			goto yy1118;
17178 		} else {
17179 			if (yych <= ' ') goto yy1119;
17180 			if (yych <= 'C') goto yy1118;
17181 		}
17182 	} else {
17183 		if (yych <= 'c') {
17184 			if (yych == 'T') goto yy1176;
17185 			goto yy1118;
17186 		} else {
17187 			if (yych <= 'd') goto yy1175;
17188 			if (yych == 't') goto yy1176;
17189 			goto yy1118;
17190 		}
17191 	}
17192 yy1175:
17193 	YYDEBUG(1175, *YYCURSOR);
17194 	yych = *++YYCURSOR;
17195 	if (yych == 'A') goto yy1177;
17196 	if (yych == 'a') goto yy1177;
17197 	goto yy57;
17198 yy1176:
17199 	YYDEBUG(1176, *YYCURSOR);
17200 	yych = *++YYCURSOR;
17201 	if (yych == 'H') goto yy1149;
17202 	if (yych == 'h') goto yy1149;
17203 	goto yy57;
17204 yy1177:
17205 	YYDEBUG(1177, *YYCURSOR);
17206 	yych = *++YYCURSOR;
17207 	if (yych == 'Y') goto yy1124;
17208 	if (yych == 'y') goto yy1124;
17209 	goto yy57;
17210 yy1178:
17211 	YYDEBUG(1178, *YYCURSOR);
17212 	yych = *++YYCURSOR;
17213 	if (yych == 'N') goto yy1189;
17214 	if (yych == 'n') goto yy1189;
17215 	goto yy57;
17216 yy1179:
17217 	YYDEBUG(1179, *YYCURSOR);
17218 	yych = *++YYCURSOR;
17219 	if (yych == 'T') goto yy1184;
17220 	if (yych == 't') goto yy1184;
17221 	goto yy57;
17222 yy1180:
17223 	YYDEBUG(1180, *YYCURSOR);
17224 	yych = *++YYCURSOR;
17225 	if (yych == 'C') goto yy1181;
17226 	if (yych != 'c') goto yy57;
17227 yy1181:
17228 	YYDEBUG(1181, *YYCURSOR);
17229 	yyaccept = 26;
17230 	yych = *(YYMARKER = ++YYCURSOR);
17231 	if (yych <= 'S') {
17232 		if (yych == 'O') goto yy1182;
17233 		if (yych <= 'R') goto yy1118;
17234 		goto yy1143;
17235 	} else {
17236 		if (yych <= 'o') {
17237 			if (yych <= 'n') goto yy1118;
17238 		} else {
17239 			if (yych == 's') goto yy1143;
17240 			goto yy1118;
17241 		}
17242 	}
17243 yy1182:
17244 	YYDEBUG(1182, *YYCURSOR);
17245 	yych = *++YYCURSOR;
17246 	if (yych == 'N') goto yy1183;
17247 	if (yych != 'n') goto yy57;
17248 yy1183:
17249 	YYDEBUG(1183, *YYCURSOR);
17250 	yych = *++YYCURSOR;
17251 	if (yych == 'D') goto yy1149;
17252 	if (yych == 'd') goto yy1149;
17253 	goto yy57;
17254 yy1184:
17255 	YYDEBUG(1184, *YYCURSOR);
17256 	yyaccept = 26;
17257 	yych = *(YYMARKER = ++YYCURSOR);
17258 	if (yych <= ' ') {
17259 		if (yych == '\t') goto yy1119;
17260 		if (yych <= 0x1F) goto yy1118;
17261 		goto yy1119;
17262 	} else {
17263 		if (yych <= 'U') {
17264 			if (yych <= 'T') goto yy1118;
17265 		} else {
17266 			if (yych != 'u') goto yy1118;
17267 		}
17268 	}
17269 	YYDEBUG(1185, *YYCURSOR);
17270 	yych = *++YYCURSOR;
17271 	if (yych == 'R') goto yy1186;
17272 	if (yych != 'r') goto yy57;
17273 yy1186:
17274 	YYDEBUG(1186, *YYCURSOR);
17275 	yych = *++YYCURSOR;
17276 	if (yych == 'D') goto yy1187;
17277 	if (yych != 'd') goto yy57;
17278 yy1187:
17279 	YYDEBUG(1187, *YYCURSOR);
17280 	yych = *++YYCURSOR;
17281 	if (yych == 'A') goto yy1188;
17282 	if (yych != 'a') goto yy57;
17283 yy1188:
17284 	YYDEBUG(1188, *YYCURSOR);
17285 	yych = *++YYCURSOR;
17286 	if (yych == 'Y') goto yy1124;
17287 	if (yych == 'y') goto yy1124;
17288 	goto yy57;
17289 yy1189:
17290 	YYDEBUG(1189, *YYCURSOR);
17291 	yyaccept = 26;
17292 	yych = *(YYMARKER = ++YYCURSOR);
17293 	if (yych <= ' ') {
17294 		if (yych == '\t') goto yy1119;
17295 		if (yych <= 0x1F) goto yy1118;
17296 		goto yy1119;
17297 	} else {
17298 		if (yych <= 'D') {
17299 			if (yych <= 'C') goto yy1118;
17300 		} else {
17301 			if (yych != 'd') goto yy1118;
17302 		}
17303 	}
17304 	YYDEBUG(1190, *YYCURSOR);
17305 	yych = *++YYCURSOR;
17306 	if (yych == 'A') goto yy1191;
17307 	if (yych != 'a') goto yy57;
17308 yy1191:
17309 	YYDEBUG(1191, *YYCURSOR);
17310 	yych = *++YYCURSOR;
17311 	if (yych == 'Y') goto yy1124;
17312 	if (yych == 'y') goto yy1124;
17313 	goto yy57;
17314 yy1192:
17315 	YYDEBUG(1192, *YYCURSOR);
17316 	yyaccept = 0;
17317 	yych = *(YYMARKER = ++YYCURSOR);
17318 	if (yych <= 'D') {
17319 		if (yych <= '-') {
17320 			if (yych == ')') goto yy140;
17321 			if (yych <= ',') goto yy4;
17322 			goto yy148;
17323 		} else {
17324 			if (yych == '/') goto yy148;
17325 			if (yych <= '@') goto yy4;
17326 			goto yy142;
17327 		}
17328 	} else {
17329 		if (yych <= '_') {
17330 			if (yych <= 'E') goto yy1099;
17331 			if (yych <= 'Z') goto yy142;
17332 			if (yych <= '^') goto yy4;
17333 			goto yy148;
17334 		} else {
17335 			if (yych <= 'd') {
17336 				if (yych <= '`') goto yy4;
17337 				goto yy147;
17338 			} else {
17339 				if (yych <= 'e') goto yy1193;
17340 				if (yych <= 'z') goto yy147;
17341 				goto yy4;
17342 			}
17343 		}
17344 	}
17345 yy1193:
17346 	YYDEBUG(1193, *YYCURSOR);
17347 	yyaccept = 0;
17348 	yych = *(YYMARKER = ++YYCURSOR);
17349 	if (yych <= 'U') {
17350 		if (yych <= '-') {
17351 			if (yych == ')') goto yy140;
17352 			if (yych <= ',') goto yy4;
17353 			goto yy148;
17354 		} else {
17355 			if (yych == '/') goto yy148;
17356 			if (yych <= '@') goto yy4;
17357 			goto yy143;
17358 		}
17359 	} else {
17360 		if (yych <= '_') {
17361 			if (yych <= 'V') goto yy1100;
17362 			if (yych <= 'Z') goto yy143;
17363 			if (yych <= '^') goto yy4;
17364 			goto yy148;
17365 		} else {
17366 			if (yych <= 'u') {
17367 				if (yych <= '`') goto yy4;
17368 				goto yy151;
17369 			} else {
17370 				if (yych <= 'v') goto yy1194;
17371 				if (yych <= 'z') goto yy151;
17372 				goto yy4;
17373 			}
17374 		}
17375 	}
17376 yy1194:
17377 	YYDEBUG(1194, *YYCURSOR);
17378 	yyaccept = 0;
17379 	yych = *(YYMARKER = ++YYCURSOR);
17380 	if (yych <= 'H') {
17381 		if (yych <= '-') {
17382 			if (yych == ')') goto yy140;
17383 			if (yych <= ',') goto yy4;
17384 			goto yy148;
17385 		} else {
17386 			if (yych == '/') goto yy148;
17387 			if (yych <= '@') goto yy4;
17388 			goto yy144;
17389 		}
17390 	} else {
17391 		if (yych <= '_') {
17392 			if (yych <= 'I') goto yy1101;
17393 			if (yych <= 'Z') goto yy144;
17394 			if (yych <= '^') goto yy4;
17395 			goto yy148;
17396 		} else {
17397 			if (yych <= 'h') {
17398 				if (yych <= '`') goto yy4;
17399 				goto yy152;
17400 			} else {
17401 				if (yych <= 'i') goto yy1195;
17402 				if (yych <= 'z') goto yy152;
17403 				goto yy4;
17404 			}
17405 		}
17406 	}
17407 yy1195:
17408 	YYDEBUG(1195, *YYCURSOR);
17409 	yyaccept = 0;
17410 	yych = *(YYMARKER = ++YYCURSOR);
17411 	if (yych <= 'N') {
17412 		if (yych <= '-') {
17413 			if (yych == ')') goto yy140;
17414 			if (yych <= ',') goto yy4;
17415 			goto yy148;
17416 		} else {
17417 			if (yych == '/') goto yy148;
17418 			if (yych <= '@') goto yy4;
17419 			goto yy145;
17420 		}
17421 	} else {
17422 		if (yych <= '_') {
17423 			if (yych <= 'O') goto yy1102;
17424 			if (yych <= 'Z') goto yy145;
17425 			if (yych <= '^') goto yy4;
17426 			goto yy148;
17427 		} else {
17428 			if (yych <= 'n') {
17429 				if (yych <= '`') goto yy4;
17430 				goto yy153;
17431 			} else {
17432 				if (yych <= 'o') goto yy1196;
17433 				if (yych <= 'z') goto yy153;
17434 				goto yy4;
17435 			}
17436 		}
17437 	}
17438 yy1196:
17439 	YYDEBUG(1196, *YYCURSOR);
17440 	yyaccept = 0;
17441 	yych = *(YYMARKER = ++YYCURSOR);
17442 	if (yych <= 'T') {
17443 		if (yych <= ',') {
17444 			if (yych == ')') goto yy140;
17445 			goto yy4;
17446 		} else {
17447 			if (yych == '.') goto yy4;
17448 			if (yych <= '/') goto yy148;
17449 			goto yy4;
17450 		}
17451 	} else {
17452 		if (yych <= '`') {
17453 			if (yych <= 'U') goto yy1103;
17454 			if (yych == '_') goto yy148;
17455 			goto yy4;
17456 		} else {
17457 			if (yych == 'u') goto yy1197;
17458 			if (yych <= 'z') goto yy154;
17459 			goto yy4;
17460 		}
17461 	}
17462 yy1197:
17463 	YYDEBUG(1197, *YYCURSOR);
17464 	yych = *++YYCURSOR;
17465 	if (yych == 'S') goto yy1104;
17466 	if (yych != 's') goto yy155;
17467 	YYDEBUG(1198, *YYCURSOR);
17468 	yych = *++YYCURSOR;
17469 	if (yybm[0+yych] & 16) {
17470 		goto yy154;
17471 	}
17472 	if (yych <= ',') {
17473 		if (yych <= '\t') {
17474 			if (yych <= 0x08) goto yy57;
17475 			goto yy1105;
17476 		} else {
17477 			if (yych == ' ') goto yy1105;
17478 			goto yy57;
17479 		}
17480 	} else {
17481 		if (yych <= '/') {
17482 			if (yych == '.') goto yy57;
17483 			goto yy148;
17484 		} else {
17485 			if (yych == '_') goto yy148;
17486 			goto yy57;
17487 		}
17488 	}
17489 yy1199:
17490 	YYDEBUG(1199, *YYCURSOR);
17491 	yych = *++YYCURSOR;
17492 	if (yych <= 'G') {
17493 		if (yych <= ')') {
17494 			if (yych <= '(') goto yy4;
17495 			goto yy140;
17496 		} else {
17497 			if (yych <= '@') goto yy4;
17498 			if (yych <= 'F') goto yy142;
17499 			goto yy1213;
17500 		}
17501 	} else {
17502 		if (yych <= 'f') {
17503 			if (yych <= 'Z') goto yy142;
17504 			if (yych <= '`') goto yy4;
17505 			goto yy142;
17506 		} else {
17507 			if (yych <= 'g') goto yy1213;
17508 			if (yych <= 'z') goto yy142;
17509 			goto yy4;
17510 		}
17511 	}
17512 yy1200:
17513 	YYDEBUG(1200, *YYCURSOR);
17514 	yych = *++YYCURSOR;
17515 	if (yych <= 'E') {
17516 		if (yych <= ')') {
17517 			if (yych <= '(') goto yy4;
17518 			goto yy140;
17519 		} else {
17520 			if (yych <= '@') goto yy4;
17521 			if (yych <= 'D') goto yy142;
17522 		}
17523 	} else {
17524 		if (yych <= 'd') {
17525 			if (yych <= 'Z') goto yy142;
17526 			if (yych <= '`') goto yy4;
17527 			goto yy142;
17528 		} else {
17529 			if (yych <= 'e') goto yy1201;
17530 			if (yych <= 'z') goto yy142;
17531 			goto yy4;
17532 		}
17533 	}
17534 yy1201:
17535 	YYDEBUG(1201, *YYCURSOR);
17536 	yych = *++YYCURSOR;
17537 	if (yych <= 'V') {
17538 		if (yych <= ')') {
17539 			if (yych <= '(') goto yy4;
17540 			goto yy140;
17541 		} else {
17542 			if (yych <= '@') goto yy4;
17543 			if (yych <= 'U') goto yy143;
17544 		}
17545 	} else {
17546 		if (yych <= 'u') {
17547 			if (yych <= 'Z') goto yy143;
17548 			if (yych <= '`') goto yy4;
17549 			goto yy143;
17550 		} else {
17551 			if (yych <= 'v') goto yy1202;
17552 			if (yych <= 'z') goto yy143;
17553 			goto yy4;
17554 		}
17555 	}
17556 yy1202:
17557 	YYDEBUG(1202, *YYCURSOR);
17558 	yych = *++YYCURSOR;
17559 	if (yych <= 'E') {
17560 		if (yych <= ')') {
17561 			if (yych <= '(') goto yy4;
17562 			goto yy140;
17563 		} else {
17564 			if (yych <= '@') goto yy4;
17565 			if (yych <= 'D') goto yy144;
17566 		}
17567 	} else {
17568 		if (yych <= 'd') {
17569 			if (yych <= 'Z') goto yy144;
17570 			if (yych <= '`') goto yy4;
17571 			goto yy144;
17572 		} else {
17573 			if (yych <= 'e') goto yy1203;
17574 			if (yych <= 'z') goto yy144;
17575 			goto yy4;
17576 		}
17577 	}
17578 yy1203:
17579 	YYDEBUG(1203, *YYCURSOR);
17580 	yych = *++YYCURSOR;
17581 	if (yych <= 'N') {
17582 		if (yych <= ')') {
17583 			if (yych <= '(') goto yy4;
17584 			goto yy140;
17585 		} else {
17586 			if (yych <= '@') goto yy4;
17587 			if (yych <= 'M') goto yy145;
17588 		}
17589 	} else {
17590 		if (yych <= 'm') {
17591 			if (yych <= 'Z') goto yy145;
17592 			if (yych <= '`') goto yy4;
17593 			goto yy145;
17594 		} else {
17595 			if (yych <= 'n') goto yy1204;
17596 			if (yych <= 'z') goto yy145;
17597 			goto yy4;
17598 		}
17599 	}
17600 yy1204:
17601 	YYDEBUG(1204, *YYCURSOR);
17602 	yyaccept = 0;
17603 	yych = *(YYMARKER = ++YYCURSOR);
17604 	if (yych <= 'S') {
17605 		if (yych == ')') goto yy140;
17606 		goto yy4;
17607 	} else {
17608 		if (yych <= 'T') goto yy1205;
17609 		if (yych != 't') goto yy4;
17610 	}
17611 yy1205:
17612 	YYDEBUG(1205, *YYCURSOR);
17613 	yych = *++YYCURSOR;
17614 	if (yych == 'H') goto yy1206;
17615 	if (yych != 'h') goto yy57;
17616 yy1206:
17617 	YYDEBUG(1206, *YYCURSOR);
17618 	yych = *++YYCURSOR;
17619 	if (yych == '\t') goto yy1207;
17620 	if (yych != ' ') goto yy57;
17621 yy1207:
17622 	YYDEBUG(1207, *YYCURSOR);
17623 	++YYCURSOR;
17624 	if ((YYLIMIT - YYCURSOR) < 11) YYFILL(11);
17625 	yych = *YYCURSOR;
17626 yy1208:
17627 	YYDEBUG(1208, *YYCURSOR);
17628 	if (yych <= 'W') {
17629 		if (yych <= 'F') {
17630 			if (yych <= ' ') {
17631 				if (yych == '\t') goto yy1207;
17632 				if (yych <= 0x1F) goto yy57;
17633 				goto yy1207;
17634 			} else {
17635 				if (yych == 'D') goto yy1110;
17636 				if (yych <= 'E') goto yy57;
17637 				goto yy1111;
17638 			}
17639 		} else {
17640 			if (yych <= 'M') {
17641 				if (yych == 'H') goto yy1109;
17642 				if (yych <= 'L') goto yy57;
17643 				goto yy1108;
17644 			} else {
17645 				if (yych <= 'S') {
17646 					if (yych <= 'R') goto yy57;
17647 					goto yy1107;
17648 				} else {
17649 					if (yych <= 'T') goto yy1114;
17650 					if (yych <= 'V') goto yy57;
17651 				}
17652 			}
17653 		}
17654 	} else {
17655 		if (yych <= 'l') {
17656 			if (yych <= 'd') {
17657 				if (yych == 'Y') goto yy1112;
17658 				if (yych <= 'c') goto yy57;
17659 				goto yy1110;
17660 			} else {
17661 				if (yych <= 'f') {
17662 					if (yych <= 'e') goto yy57;
17663 					goto yy1111;
17664 				} else {
17665 					if (yych == 'h') goto yy1109;
17666 					goto yy57;
17667 				}
17668 			}
17669 		} else {
17670 			if (yych <= 't') {
17671 				if (yych <= 'm') goto yy1108;
17672 				if (yych <= 'r') goto yy57;
17673 				if (yych <= 's') goto yy1107;
17674 				goto yy1114;
17675 			} else {
17676 				if (yych <= 'w') {
17677 					if (yych <= 'v') goto yy57;
17678 				} else {
17679 					if (yych == 'y') goto yy1112;
17680 					goto yy57;
17681 				}
17682 			}
17683 		}
17684 	}
17685 	YYDEBUG(1209, *YYCURSOR);
17686 	yych = *++YYCURSOR;
17687 	if (yych == 'E') goto yy1210;
17688 	if (yych != 'e') goto yy57;
17689 yy1210:
17690 	YYDEBUG(1210, *YYCURSOR);
17691 	yych = *++YYCURSOR;
17692 	if (yych <= 'E') {
17693 		if (yych <= 'C') goto yy57;
17694 		if (yych <= 'D') goto yy1135;
17695 	} else {
17696 		if (yych <= 'c') goto yy57;
17697 		if (yych <= 'd') goto yy1135;
17698 		if (yych >= 'f') goto yy57;
17699 	}
17700 	YYDEBUG(1211, *YYCURSOR);
17701 	yych = *++YYCURSOR;
17702 	if (yych == 'K') goto yy1212;
17703 	if (yych != 'k') goto yy57;
17704 yy1212:
17705 	YYDEBUG(1212, *YYCURSOR);
17706 	yych = *++YYCURSOR;
17707 	if (yych <= 'S') {
17708 		if (yych == 'D') goto yy1144;
17709 		if (yych <= 'R') goto yy57;
17710 		goto yy1143;
17711 	} else {
17712 		if (yych <= 'd') {
17713 			if (yych <= 'c') goto yy57;
17714 			goto yy1144;
17715 		} else {
17716 			if (yych == 's') goto yy1143;
17717 			goto yy57;
17718 		}
17719 	}
17720 yy1213:
17721 	YYDEBUG(1213, *YYCURSOR);
17722 	yych = *++YYCURSOR;
17723 	if (yych <= 'H') {
17724 		if (yych <= ')') {
17725 			if (yych <= '(') goto yy4;
17726 			goto yy140;
17727 		} else {
17728 			if (yych <= '@') goto yy4;
17729 			if (yych <= 'G') goto yy143;
17730 		}
17731 	} else {
17732 		if (yych <= 'g') {
17733 			if (yych <= 'Z') goto yy143;
17734 			if (yych <= '`') goto yy4;
17735 			goto yy143;
17736 		} else {
17737 			if (yych <= 'h') goto yy1214;
17738 			if (yych <= 'z') goto yy143;
17739 			goto yy4;
17740 		}
17741 	}
17742 yy1214:
17743 	YYDEBUG(1214, *YYCURSOR);
17744 	yych = *++YYCURSOR;
17745 	if (yych <= 'T') {
17746 		if (yych <= ')') {
17747 			if (yych <= '(') goto yy4;
17748 			goto yy140;
17749 		} else {
17750 			if (yych <= '@') goto yy4;
17751 			if (yych <= 'S') goto yy144;
17752 		}
17753 	} else {
17754 		if (yych <= 's') {
17755 			if (yych <= 'Z') goto yy144;
17756 			if (yych <= '`') goto yy4;
17757 			goto yy144;
17758 		} else {
17759 			if (yych <= 't') goto yy1215;
17760 			if (yych <= 'z') goto yy144;
17761 			goto yy4;
17762 		}
17763 	}
17764 yy1215:
17765 	YYDEBUG(1215, *YYCURSOR);
17766 	yyaccept = 0;
17767 	yych = *(YYMARKER = ++YYCURSOR);
17768 	if (yych <= '@') {
17769 		if (yych <= 0x1F) {
17770 			if (yych == '\t') goto yy1207;
17771 			goto yy4;
17772 		} else {
17773 			if (yych <= ' ') goto yy1207;
17774 			if (yych == ')') goto yy140;
17775 			goto yy4;
17776 		}
17777 	} else {
17778 		if (yych <= '`') {
17779 			if (yych == 'H') goto yy1216;
17780 			if (yych <= 'Z') goto yy145;
17781 			goto yy4;
17782 		} else {
17783 			if (yych == 'h') goto yy1216;
17784 			if (yych <= 'z') goto yy145;
17785 			goto yy4;
17786 		}
17787 	}
17788 yy1216:
17789 	YYDEBUG(1216, *YYCURSOR);
17790 	yyaccept = 0;
17791 	yych = *(YYMARKER = ++YYCURSOR);
17792 	if (yych <= 0x1F) {
17793 		if (yych == '\t') goto yy1207;
17794 		goto yy4;
17795 	} else {
17796 		if (yych <= ' ') goto yy1207;
17797 		if (yych == ')') goto yy140;
17798 		goto yy4;
17799 	}
17800 yy1217:
17801 	YYDEBUG(1217, *YYCURSOR);
17802 	yyaccept = 0;
17803 	yych = *(YYMARKER = ++YYCURSOR);
17804 	if (yych <= 'F') {
17805 		if (yych <= '-') {
17806 			if (yych == ')') goto yy140;
17807 			if (yych <= ',') goto yy4;
17808 			goto yy148;
17809 		} else {
17810 			if (yych == '/') goto yy148;
17811 			if (yych <= '@') goto yy4;
17812 			goto yy142;
17813 		}
17814 	} else {
17815 		if (yych <= '_') {
17816 			if (yych <= 'G') goto yy1213;
17817 			if (yych <= 'Z') goto yy142;
17818 			if (yych <= '^') goto yy4;
17819 			goto yy148;
17820 		} else {
17821 			if (yych <= 'f') {
17822 				if (yych <= '`') goto yy4;
17823 				goto yy147;
17824 			} else {
17825 				if (yych <= 'g') goto yy1225;
17826 				if (yych <= 'z') goto yy147;
17827 				goto yy4;
17828 			}
17829 		}
17830 	}
17831 yy1218:
17832 	YYDEBUG(1218, *YYCURSOR);
17833 	yyaccept = 0;
17834 	yych = *(YYMARKER = ++YYCURSOR);
17835 	if (yych <= 'D') {
17836 		if (yych <= '-') {
17837 			if (yych == ')') goto yy140;
17838 			if (yych <= ',') goto yy4;
17839 			goto yy148;
17840 		} else {
17841 			if (yych == '/') goto yy148;
17842 			if (yych <= '@') goto yy4;
17843 			goto yy142;
17844 		}
17845 	} else {
17846 		if (yych <= '_') {
17847 			if (yych <= 'E') goto yy1201;
17848 			if (yych <= 'Z') goto yy142;
17849 			if (yych <= '^') goto yy4;
17850 			goto yy148;
17851 		} else {
17852 			if (yych <= 'd') {
17853 				if (yych <= '`') goto yy4;
17854 				goto yy147;
17855 			} else {
17856 				if (yych <= 'e') goto yy1219;
17857 				if (yych <= 'z') goto yy147;
17858 				goto yy4;
17859 			}
17860 		}
17861 	}
17862 yy1219:
17863 	YYDEBUG(1219, *YYCURSOR);
17864 	yyaccept = 0;
17865 	yych = *(YYMARKER = ++YYCURSOR);
17866 	if (yych <= 'U') {
17867 		if (yych <= '-') {
17868 			if (yych == ')') goto yy140;
17869 			if (yych <= ',') goto yy4;
17870 			goto yy148;
17871 		} else {
17872 			if (yych == '/') goto yy148;
17873 			if (yych <= '@') goto yy4;
17874 			goto yy143;
17875 		}
17876 	} else {
17877 		if (yych <= '_') {
17878 			if (yych <= 'V') goto yy1202;
17879 			if (yych <= 'Z') goto yy143;
17880 			if (yych <= '^') goto yy4;
17881 			goto yy148;
17882 		} else {
17883 			if (yych <= 'u') {
17884 				if (yych <= '`') goto yy4;
17885 				goto yy151;
17886 			} else {
17887 				if (yych <= 'v') goto yy1220;
17888 				if (yych <= 'z') goto yy151;
17889 				goto yy4;
17890 			}
17891 		}
17892 	}
17893 yy1220:
17894 	YYDEBUG(1220, *YYCURSOR);
17895 	yyaccept = 0;
17896 	yych = *(YYMARKER = ++YYCURSOR);
17897 	if (yych <= 'D') {
17898 		if (yych <= '-') {
17899 			if (yych == ')') goto yy140;
17900 			if (yych <= ',') goto yy4;
17901 			goto yy148;
17902 		} else {
17903 			if (yych == '/') goto yy148;
17904 			if (yych <= '@') goto yy4;
17905 			goto yy144;
17906 		}
17907 	} else {
17908 		if (yych <= '_') {
17909 			if (yych <= 'E') goto yy1203;
17910 			if (yych <= 'Z') goto yy144;
17911 			if (yych <= '^') goto yy4;
17912 			goto yy148;
17913 		} else {
17914 			if (yych <= 'd') {
17915 				if (yych <= '`') goto yy4;
17916 				goto yy152;
17917 			} else {
17918 				if (yych <= 'e') goto yy1221;
17919 				if (yych <= 'z') goto yy152;
17920 				goto yy4;
17921 			}
17922 		}
17923 	}
17924 yy1221:
17925 	YYDEBUG(1221, *YYCURSOR);
17926 	yyaccept = 0;
17927 	yych = *(YYMARKER = ++YYCURSOR);
17928 	if (yych <= 'M') {
17929 		if (yych <= '-') {
17930 			if (yych == ')') goto yy140;
17931 			if (yych <= ',') goto yy4;
17932 			goto yy148;
17933 		} else {
17934 			if (yych == '/') goto yy148;
17935 			if (yych <= '@') goto yy4;
17936 			goto yy145;
17937 		}
17938 	} else {
17939 		if (yych <= '_') {
17940 			if (yych <= 'N') goto yy1204;
17941 			if (yych <= 'Z') goto yy145;
17942 			if (yych <= '^') goto yy4;
17943 			goto yy148;
17944 		} else {
17945 			if (yych <= 'm') {
17946 				if (yych <= '`') goto yy4;
17947 				goto yy153;
17948 			} else {
17949 				if (yych <= 'n') goto yy1222;
17950 				if (yych <= 'z') goto yy153;
17951 				goto yy4;
17952 			}
17953 		}
17954 	}
17955 yy1222:
17956 	YYDEBUG(1222, *YYCURSOR);
17957 	yyaccept = 0;
17958 	yych = *(YYMARKER = ++YYCURSOR);
17959 	if (yych <= 'S') {
17960 		if (yych <= ',') {
17961 			if (yych == ')') goto yy140;
17962 			goto yy4;
17963 		} else {
17964 			if (yych == '.') goto yy4;
17965 			if (yych <= '/') goto yy148;
17966 			goto yy4;
17967 		}
17968 	} else {
17969 		if (yych <= '`') {
17970 			if (yych <= 'T') goto yy1205;
17971 			if (yych == '_') goto yy148;
17972 			goto yy4;
17973 		} else {
17974 			if (yych == 't') goto yy1223;
17975 			if (yych <= 'z') goto yy154;
17976 			goto yy4;
17977 		}
17978 	}
17979 yy1223:
17980 	YYDEBUG(1223, *YYCURSOR);
17981 	yych = *++YYCURSOR;
17982 	if (yych == 'H') goto yy1206;
17983 	if (yych != 'h') goto yy155;
17984 yy1224:
17985 	YYDEBUG(1224, *YYCURSOR);
17986 	yych = *++YYCURSOR;
17987 	if (yybm[0+yych] & 16) {
17988 		goto yy154;
17989 	}
17990 	if (yych <= ',') {
17991 		if (yych <= '\t') {
17992 			if (yych <= 0x08) goto yy57;
17993 			goto yy1207;
17994 		} else {
17995 			if (yych == ' ') goto yy1207;
17996 			goto yy57;
17997 		}
17998 	} else {
17999 		if (yych <= '/') {
18000 			if (yych == '.') goto yy57;
18001 			goto yy148;
18002 		} else {
18003 			if (yych == '_') goto yy148;
18004 			goto yy57;
18005 		}
18006 	}
18007 yy1225:
18008 	YYDEBUG(1225, *YYCURSOR);
18009 	yyaccept = 0;
18010 	yych = *(YYMARKER = ++YYCURSOR);
18011 	if (yych <= 'G') {
18012 		if (yych <= '-') {
18013 			if (yych == ')') goto yy140;
18014 			if (yych <= ',') goto yy4;
18015 			goto yy148;
18016 		} else {
18017 			if (yych == '/') goto yy148;
18018 			if (yych <= '@') goto yy4;
18019 			goto yy143;
18020 		}
18021 	} else {
18022 		if (yych <= '_') {
18023 			if (yych <= 'H') goto yy1214;
18024 			if (yych <= 'Z') goto yy143;
18025 			if (yych <= '^') goto yy4;
18026 			goto yy148;
18027 		} else {
18028 			if (yych <= 'g') {
18029 				if (yych <= '`') goto yy4;
18030 				goto yy151;
18031 			} else {
18032 				if (yych <= 'h') goto yy1226;
18033 				if (yych <= 'z') goto yy151;
18034 				goto yy4;
18035 			}
18036 		}
18037 	}
18038 yy1226:
18039 	YYDEBUG(1226, *YYCURSOR);
18040 	yyaccept = 0;
18041 	yych = *(YYMARKER = ++YYCURSOR);
18042 	if (yych <= 'S') {
18043 		if (yych <= '-') {
18044 			if (yych == ')') goto yy140;
18045 			if (yych <= ',') goto yy4;
18046 			goto yy148;
18047 		} else {
18048 			if (yych == '/') goto yy148;
18049 			if (yych <= '@') goto yy4;
18050 			goto yy144;
18051 		}
18052 	} else {
18053 		if (yych <= '_') {
18054 			if (yych <= 'T') goto yy1215;
18055 			if (yych <= 'Z') goto yy144;
18056 			if (yych <= '^') goto yy4;
18057 			goto yy148;
18058 		} else {
18059 			if (yych <= 's') {
18060 				if (yych <= '`') goto yy4;
18061 				goto yy152;
18062 			} else {
18063 				if (yych <= 't') goto yy1227;
18064 				if (yych <= 'z') goto yy152;
18065 				goto yy4;
18066 			}
18067 		}
18068 	}
18069 yy1227:
18070 	YYDEBUG(1227, *YYCURSOR);
18071 	yyaccept = 0;
18072 	yych = *(YYMARKER = ++YYCURSOR);
18073 	if (yych <= '/') {
18074 		if (yych <= '(') {
18075 			if (yych <= '\t') {
18076 				if (yych <= 0x08) goto yy4;
18077 				goto yy1207;
18078 			} else {
18079 				if (yych == ' ') goto yy1207;
18080 				goto yy4;
18081 			}
18082 		} else {
18083 			if (yych <= ',') {
18084 				if (yych <= ')') goto yy140;
18085 				goto yy4;
18086 			} else {
18087 				if (yych == '.') goto yy4;
18088 				goto yy148;
18089 			}
18090 		}
18091 	} else {
18092 		if (yych <= '^') {
18093 			if (yych <= 'G') {
18094 				if (yych <= '@') goto yy4;
18095 				goto yy145;
18096 			} else {
18097 				if (yych <= 'H') goto yy1216;
18098 				if (yych <= 'Z') goto yy145;
18099 				goto yy4;
18100 			}
18101 		} else {
18102 			if (yych <= 'g') {
18103 				if (yych <= '_') goto yy148;
18104 				if (yych <= '`') goto yy4;
18105 				goto yy153;
18106 			} else {
18107 				if (yych <= 'h') goto yy1228;
18108 				if (yych <= 'z') goto yy153;
18109 				goto yy4;
18110 			}
18111 		}
18112 	}
18113 yy1228:
18114 	YYDEBUG(1228, *YYCURSOR);
18115 	yyaccept = 0;
18116 	yych = *(YYMARKER = ++YYCURSOR);
18117 	if (yybm[0+yych] & 16) {
18118 		goto yy154;
18119 	}
18120 	if (yych <= ')') {
18121 		if (yych <= 0x1F) {
18122 			if (yych == '\t') goto yy1207;
18123 			goto yy4;
18124 		} else {
18125 			if (yych <= ' ') goto yy1207;
18126 			if (yych <= '(') goto yy4;
18127 			goto yy140;
18128 		}
18129 	} else {
18130 		if (yych <= '.') {
18131 			if (yych == '-') goto yy148;
18132 			goto yy4;
18133 		} else {
18134 			if (yych <= '/') goto yy148;
18135 			if (yych == '_') goto yy148;
18136 			goto yy4;
18137 		}
18138 	}
18139 yy1229:
18140 	YYDEBUG(1229, *YYCURSOR);
18141 	yych = *++YYCURSOR;
18142 	if (yych <= 'V') {
18143 		if (yych <= 'B') {
18144 			if (yych == ')') goto yy140;
18145 			if (yych <= '@') goto yy4;
18146 			goto yy142;
18147 		} else {
18148 			if (yych <= 'O') {
18149 				if (yych <= 'C') goto yy1245;
18150 				goto yy142;
18151 			} else {
18152 				if (yych <= 'P') goto yy1247;
18153 				if (yych <= 'U') goto yy142;
18154 				goto yy1246;
18155 			}
18156 		}
18157 	} else {
18158 		if (yych <= 'o') {
18159 			if (yych <= '`') {
18160 				if (yych <= 'Z') goto yy142;
18161 				goto yy4;
18162 			} else {
18163 				if (yych == 'c') goto yy1245;
18164 				goto yy142;
18165 			}
18166 		} else {
18167 			if (yych <= 'u') {
18168 				if (yych <= 'p') goto yy1247;
18169 				goto yy142;
18170 			} else {
18171 				if (yych <= 'v') goto yy1246;
18172 				if (yych <= 'z') goto yy142;
18173 				goto yy4;
18174 			}
18175 		}
18176 	}
18177 yy1230:
18178 	YYDEBUG(1230, *YYCURSOR);
18179 	yych = *++YYCURSOR;
18180 	if (yych <= 'T') {
18181 		if (yych <= ')') {
18182 			if (yych <= '(') goto yy4;
18183 			goto yy140;
18184 		} else {
18185 			if (yych <= '@') goto yy4;
18186 			if (yych <= 'S') goto yy142;
18187 			goto yy1240;
18188 		}
18189 	} else {
18190 		if (yych <= 's') {
18191 			if (yych <= 'Z') goto yy142;
18192 			if (yych <= '`') goto yy4;
18193 			goto yy142;
18194 		} else {
18195 			if (yych <= 't') goto yy1240;
18196 			if (yych <= 'z') goto yy142;
18197 			goto yy4;
18198 		}
18199 	}
18200 yy1231:
18201 	YYDEBUG(1231, *YYCURSOR);
18202 	yych = *++YYCURSOR;
18203 	if (yych <= 'X') {
18204 		if (yych <= ')') {
18205 			if (yych <= '(') goto yy4;
18206 			goto yy140;
18207 		} else {
18208 			if (yych <= '@') goto yy4;
18209 			if (yych <= 'W') goto yy142;
18210 			goto yy1237;
18211 		}
18212 	} else {
18213 		if (yych <= 'w') {
18214 			if (yych <= 'Z') goto yy142;
18215 			if (yych <= '`') goto yy4;
18216 			goto yy142;
18217 		} else {
18218 			if (yych <= 'x') goto yy1237;
18219 			if (yych <= 'z') goto yy142;
18220 			goto yy4;
18221 		}
18222 	}
18223 yy1232:
18224 	YYDEBUG(1232, *YYCURSOR);
18225 	yych = *++YYCURSOR;
18226 	if (yych <= 'N') {
18227 		if (yych <= ')') {
18228 			if (yych <= '(') goto yy4;
18229 			goto yy140;
18230 		} else {
18231 			if (yych <= '@') goto yy4;
18232 			if (yych <= 'M') goto yy142;
18233 		}
18234 	} else {
18235 		if (yych <= 'm') {
18236 			if (yych <= 'Z') goto yy142;
18237 			if (yych <= '`') goto yy4;
18238 			goto yy142;
18239 		} else {
18240 			if (yych <= 'n') goto yy1233;
18241 			if (yych <= 'z') goto yy142;
18242 			goto yy4;
18243 		}
18244 	}
18245 yy1233:
18246 	YYDEBUG(1233, *YYCURSOR);
18247 	yych = *++YYCURSOR;
18248 	if (yych <= 'D') {
18249 		if (yych <= ')') {
18250 			if (yych <= '(') goto yy167;
18251 			goto yy140;
18252 		} else {
18253 			if (yych <= '@') goto yy167;
18254 			if (yych <= 'C') goto yy143;
18255 		}
18256 	} else {
18257 		if (yych <= 'c') {
18258 			if (yych <= 'Z') goto yy143;
18259 			if (yych <= '`') goto yy167;
18260 			goto yy143;
18261 		} else {
18262 			if (yych <= 'd') goto yy1234;
18263 			if (yych <= 'z') goto yy143;
18264 			goto yy167;
18265 		}
18266 	}
18267 yy1234:
18268 	YYDEBUG(1234, *YYCURSOR);
18269 	yych = *++YYCURSOR;
18270 	if (yych <= 'A') {
18271 		if (yych == ')') goto yy140;
18272 		if (yych <= '@') goto yy4;
18273 	} else {
18274 		if (yych <= '`') {
18275 			if (yych <= 'Z') goto yy144;
18276 			goto yy4;
18277 		} else {
18278 			if (yych <= 'a') goto yy1235;
18279 			if (yych <= 'z') goto yy144;
18280 			goto yy4;
18281 		}
18282 	}
18283 yy1235:
18284 	YYDEBUG(1235, *YYCURSOR);
18285 	yych = *++YYCURSOR;
18286 	if (yych <= 'Y') {
18287 		if (yych <= ')') {
18288 			if (yych <= '(') goto yy4;
18289 			goto yy140;
18290 		} else {
18291 			if (yych <= '@') goto yy4;
18292 			if (yych <= 'X') goto yy145;
18293 		}
18294 	} else {
18295 		if (yych <= 'x') {
18296 			if (yych <= 'Z') goto yy145;
18297 			if (yych <= '`') goto yy4;
18298 			goto yy145;
18299 		} else {
18300 			if (yych <= 'y') goto yy1236;
18301 			if (yych <= 'z') goto yy145;
18302 			goto yy4;
18303 		}
18304 	}
18305 yy1236:
18306 	YYDEBUG(1236, *YYCURSOR);
18307 	yych = *++YYCURSOR;
18308 	if (yych == ')') goto yy140;
18309 	goto yy167;
18310 yy1237:
18311 	YYDEBUG(1237, *YYCURSOR);
18312 	yych = *++YYCURSOR;
18313 	if (yych <= 'T') {
18314 		if (yych <= ')') {
18315 			if (yych <= '(') goto yy4;
18316 			goto yy140;
18317 		} else {
18318 			if (yych <= '@') goto yy4;
18319 			if (yych <= 'S') goto yy143;
18320 		}
18321 	} else {
18322 		if (yych <= 's') {
18323 			if (yych <= 'Z') goto yy143;
18324 			if (yych <= '`') goto yy4;
18325 			goto yy143;
18326 		} else {
18327 			if (yych <= 't') goto yy1238;
18328 			if (yych <= 'z') goto yy143;
18329 			goto yy4;
18330 		}
18331 	}
18332 yy1238:
18333 	YYDEBUG(1238, *YYCURSOR);
18334 	yych = *++YYCURSOR;
18335 	if (yych <= 'H') {
18336 		if (yych <= ')') {
18337 			if (yych <= '(') goto yy4;
18338 			goto yy140;
18339 		} else {
18340 			if (yych <= '@') goto yy4;
18341 			if (yych <= 'G') goto yy144;
18342 		}
18343 	} else {
18344 		if (yych <= 'g') {
18345 			if (yych <= 'Z') goto yy144;
18346 			if (yych <= '`') goto yy4;
18347 			goto yy144;
18348 		} else {
18349 			if (yych <= 'h') goto yy1239;
18350 			if (yych <= 'z') goto yy144;
18351 			goto yy4;
18352 		}
18353 	}
18354 yy1239:
18355 	YYDEBUG(1239, *YYCURSOR);
18356 	yyaccept = 0;
18357 	yych = *(YYMARKER = ++YYCURSOR);
18358 	if (yych <= '(') {
18359 		if (yych <= '\t') {
18360 			if (yych <= 0x08) goto yy4;
18361 			goto yy1207;
18362 		} else {
18363 			if (yych == ' ') goto yy1207;
18364 			goto yy4;
18365 		}
18366 	} else {
18367 		if (yych <= 'Z') {
18368 			if (yych <= ')') goto yy140;
18369 			if (yych <= '@') goto yy4;
18370 			goto yy145;
18371 		} else {
18372 			if (yych <= '`') goto yy4;
18373 			if (yych <= 'z') goto yy145;
18374 			goto yy4;
18375 		}
18376 	}
18377 yy1240:
18378 	YYDEBUG(1240, *YYCURSOR);
18379 	yych = *++YYCURSOR;
18380 	if (yych <= 'U') {
18381 		if (yych <= ')') {
18382 			if (yych <= '(') goto yy167;
18383 			goto yy140;
18384 		} else {
18385 			if (yych <= '@') goto yy167;
18386 			if (yych <= 'T') goto yy143;
18387 		}
18388 	} else {
18389 		if (yych <= 't') {
18390 			if (yych <= 'Z') goto yy143;
18391 			if (yych <= '`') goto yy167;
18392 			goto yy143;
18393 		} else {
18394 			if (yych <= 'u') goto yy1241;
18395 			if (yych <= 'z') goto yy143;
18396 			goto yy167;
18397 		}
18398 	}
18399 yy1241:
18400 	YYDEBUG(1241, *YYCURSOR);
18401 	yych = *++YYCURSOR;
18402 	if (yych <= 'R') {
18403 		if (yych <= ')') {
18404 			if (yych <= '(') goto yy4;
18405 			goto yy140;
18406 		} else {
18407 			if (yych <= '@') goto yy4;
18408 			if (yych <= 'Q') goto yy144;
18409 		}
18410 	} else {
18411 		if (yych <= 'q') {
18412 			if (yych <= 'Z') goto yy144;
18413 			if (yych <= '`') goto yy4;
18414 			goto yy144;
18415 		} else {
18416 			if (yych <= 'r') goto yy1242;
18417 			if (yych <= 'z') goto yy144;
18418 			goto yy4;
18419 		}
18420 	}
18421 yy1242:
18422 	YYDEBUG(1242, *YYCURSOR);
18423 	yych = *++YYCURSOR;
18424 	if (yych <= 'D') {
18425 		if (yych <= ')') {
18426 			if (yych <= '(') goto yy4;
18427 			goto yy140;
18428 		} else {
18429 			if (yych <= '@') goto yy4;
18430 			if (yych <= 'C') goto yy145;
18431 		}
18432 	} else {
18433 		if (yych <= 'c') {
18434 			if (yych <= 'Z') goto yy145;
18435 			if (yych <= '`') goto yy4;
18436 			goto yy145;
18437 		} else {
18438 			if (yych <= 'd') goto yy1243;
18439 			if (yych <= 'z') goto yy145;
18440 			goto yy4;
18441 		}
18442 	}
18443 yy1243:
18444 	YYDEBUG(1243, *YYCURSOR);
18445 	yyaccept = 0;
18446 	yych = *(YYMARKER = ++YYCURSOR);
18447 	if (yych <= '@') {
18448 		if (yych == ')') goto yy140;
18449 		goto yy4;
18450 	} else {
18451 		if (yych <= 'A') goto yy1244;
18452 		if (yych != 'a') goto yy4;
18453 	}
18454 yy1244:
18455 	YYDEBUG(1244, *YYCURSOR);
18456 	yych = *++YYCURSOR;
18457 	if (yych == 'Y') goto yy173;
18458 	if (yych == 'y') goto yy173;
18459 	goto yy57;
18460 yy1245:
18461 	YYDEBUG(1245, *YYCURSOR);
18462 	yych = *++YYCURSOR;
18463 	if (yych <= 'O') {
18464 		if (yych <= ')') {
18465 			if (yych <= '(') goto yy4;
18466 			goto yy140;
18467 		} else {
18468 			if (yych <= '@') goto yy4;
18469 			if (yych <= 'N') goto yy143;
18470 			goto yy1256;
18471 		}
18472 	} else {
18473 		if (yych <= 'n') {
18474 			if (yych <= 'Z') goto yy143;
18475 			if (yych <= '`') goto yy4;
18476 			goto yy143;
18477 		} else {
18478 			if (yych <= 'o') goto yy1256;
18479 			if (yych <= 'z') goto yy143;
18480 			goto yy4;
18481 		}
18482 	}
18483 yy1246:
18484 	YYDEBUG(1246, *YYCURSOR);
18485 	yych = *++YYCURSOR;
18486 	if (yych <= 'E') {
18487 		if (yych <= ')') {
18488 			if (yych <= '(') goto yy4;
18489 			goto yy140;
18490 		} else {
18491 			if (yych <= '@') goto yy4;
18492 			if (yych <= 'D') goto yy143;
18493 			goto yy1253;
18494 		}
18495 	} else {
18496 		if (yych <= 'd') {
18497 			if (yych <= 'Z') goto yy143;
18498 			if (yych <= '`') goto yy4;
18499 			goto yy143;
18500 		} else {
18501 			if (yych <= 'e') goto yy1253;
18502 			if (yych <= 'z') goto yy143;
18503 			goto yy4;
18504 		}
18505 	}
18506 yy1247:
18507 	YYDEBUG(1247, *YYCURSOR);
18508 	yyaccept = 5;
18509 	yych = *(YYMARKER = ++YYCURSOR);
18510 	if (yych <= '/') {
18511 		if (yych <= '(') {
18512 			if (yych <= '\t') {
18513 				if (yych <= 0x08) goto yy194;
18514 				goto yy196;
18515 			} else {
18516 				if (yych == ' ') goto yy196;
18517 				goto yy194;
18518 			}
18519 		} else {
18520 			if (yych <= ',') {
18521 				if (yych <= ')') goto yy140;
18522 				goto yy194;
18523 			} else {
18524 				if (yych <= '-') goto yy197;
18525 				if (yych <= '.') goto yy196;
18526 				goto yy194;
18527 			}
18528 		}
18529 	} else {
18530 		if (yych <= 'Z') {
18531 			if (yych <= '@') {
18532 				if (yych <= '9') goto yy196;
18533 				goto yy194;
18534 			} else {
18535 				if (yych != 'T') goto yy143;
18536 			}
18537 		} else {
18538 			if (yych <= 's') {
18539 				if (yych <= '`') goto yy194;
18540 				goto yy143;
18541 			} else {
18542 				if (yych <= 't') goto yy1248;
18543 				if (yych <= 'z') goto yy143;
18544 				goto yy194;
18545 			}
18546 		}
18547 	}
18548 yy1248:
18549 	YYDEBUG(1248, *YYCURSOR);
18550 	yyaccept = 5;
18551 	yych = *(YYMARKER = ++YYCURSOR);
18552 	if (yych <= '/') {
18553 		if (yych <= '(') {
18554 			if (yych <= '\t') {
18555 				if (yych <= 0x08) goto yy194;
18556 				goto yy196;
18557 			} else {
18558 				if (yych == ' ') goto yy196;
18559 				goto yy194;
18560 			}
18561 		} else {
18562 			if (yych <= ',') {
18563 				if (yych <= ')') goto yy140;
18564 				goto yy194;
18565 			} else {
18566 				if (yych <= '-') goto yy197;
18567 				if (yych <= '.') goto yy196;
18568 				goto yy194;
18569 			}
18570 		}
18571 	} else {
18572 		if (yych <= 'Z') {
18573 			if (yych <= '@') {
18574 				if (yych <= '9') goto yy196;
18575 				goto yy194;
18576 			} else {
18577 				if (yych != 'E') goto yy144;
18578 			}
18579 		} else {
18580 			if (yych <= 'd') {
18581 				if (yych <= '`') goto yy194;
18582 				goto yy144;
18583 			} else {
18584 				if (yych <= 'e') goto yy1249;
18585 				if (yych <= 'z') goto yy144;
18586 				goto yy194;
18587 			}
18588 		}
18589 	}
18590 yy1249:
18591 	YYDEBUG(1249, *YYCURSOR);
18592 	yych = *++YYCURSOR;
18593 	if (yych <= 'M') {
18594 		if (yych <= ')') {
18595 			if (yych <= '(') goto yy4;
18596 			goto yy140;
18597 		} else {
18598 			if (yych <= '@') goto yy4;
18599 			if (yych <= 'L') goto yy145;
18600 		}
18601 	} else {
18602 		if (yych <= 'l') {
18603 			if (yych <= 'Z') goto yy145;
18604 			if (yych <= '`') goto yy4;
18605 			goto yy145;
18606 		} else {
18607 			if (yych <= 'm') goto yy1250;
18608 			if (yych <= 'z') goto yy145;
18609 			goto yy4;
18610 		}
18611 	}
18612 yy1250:
18613 	YYDEBUG(1250, *YYCURSOR);
18614 	yyaccept = 0;
18615 	yych = *(YYMARKER = ++YYCURSOR);
18616 	if (yych <= 'A') {
18617 		if (yych == ')') goto yy140;
18618 		goto yy4;
18619 	} else {
18620 		if (yych <= 'B') goto yy1251;
18621 		if (yych != 'b') goto yy4;
18622 	}
18623 yy1251:
18624 	YYDEBUG(1251, *YYCURSOR);
18625 	yych = *++YYCURSOR;
18626 	if (yych == 'E') goto yy1252;
18627 	if (yych != 'e') goto yy57;
18628 yy1252:
18629 	YYDEBUG(1252, *YYCURSOR);
18630 	yych = *++YYCURSOR;
18631 	if (yych == 'R') goto yy206;
18632 	if (yych == 'r') goto yy206;
18633 	goto yy57;
18634 yy1253:
18635 	YYDEBUG(1253, *YYCURSOR);
18636 	yych = *++YYCURSOR;
18637 	if (yych <= 'N') {
18638 		if (yych <= ')') {
18639 			if (yych <= '(') goto yy4;
18640 			goto yy140;
18641 		} else {
18642 			if (yych <= '@') goto yy4;
18643 			if (yych <= 'M') goto yy144;
18644 		}
18645 	} else {
18646 		if (yych <= 'm') {
18647 			if (yych <= 'Z') goto yy144;
18648 			if (yych <= '`') goto yy4;
18649 			goto yy144;
18650 		} else {
18651 			if (yych <= 'n') goto yy1254;
18652 			if (yych <= 'z') goto yy144;
18653 			goto yy4;
18654 		}
18655 	}
18656 yy1254:
18657 	YYDEBUG(1254, *YYCURSOR);
18658 	yych = *++YYCURSOR;
18659 	if (yych <= 'T') {
18660 		if (yych <= ')') {
18661 			if (yych <= '(') goto yy4;
18662 			goto yy140;
18663 		} else {
18664 			if (yych <= '@') goto yy4;
18665 			if (yych <= 'S') goto yy145;
18666 		}
18667 	} else {
18668 		if (yych <= 's') {
18669 			if (yych <= 'Z') goto yy145;
18670 			if (yych <= '`') goto yy4;
18671 			goto yy145;
18672 		} else {
18673 			if (yych <= 't') goto yy1255;
18674 			if (yych <= 'z') goto yy145;
18675 			goto yy4;
18676 		}
18677 	}
18678 yy1255:
18679 	YYDEBUG(1255, *YYCURSOR);
18680 	yyaccept = 0;
18681 	yych = *(YYMARKER = ++YYCURSOR);
18682 	if (yych <= 'G') {
18683 		if (yych == ')') goto yy140;
18684 		goto yy4;
18685 	} else {
18686 		if (yych <= 'H') goto yy1206;
18687 		if (yych == 'h') goto yy1206;
18688 		goto yy4;
18689 	}
18690 yy1256:
18691 	YYDEBUG(1256, *YYCURSOR);
18692 	yych = *++YYCURSOR;
18693 	if (yych <= 'N') {
18694 		if (yych <= ')') {
18695 			if (yych <= '(') goto yy4;
18696 			goto yy140;
18697 		} else {
18698 			if (yych <= '@') goto yy4;
18699 			if (yych <= 'M') goto yy144;
18700 		}
18701 	} else {
18702 		if (yych <= 'm') {
18703 			if (yych <= 'Z') goto yy144;
18704 			if (yych <= '`') goto yy4;
18705 			goto yy144;
18706 		} else {
18707 			if (yych <= 'n') goto yy1257;
18708 			if (yych <= 'z') goto yy144;
18709 			goto yy4;
18710 		}
18711 	}
18712 yy1257:
18713 	YYDEBUG(1257, *YYCURSOR);
18714 	yych = *++YYCURSOR;
18715 	if (yych <= 'D') {
18716 		if (yych <= ')') {
18717 			if (yych <= '(') goto yy4;
18718 			goto yy140;
18719 		} else {
18720 			if (yych <= '@') goto yy4;
18721 			if (yych <= 'C') goto yy145;
18722 			goto yy1216;
18723 		}
18724 	} else {
18725 		if (yych <= 'c') {
18726 			if (yych <= 'Z') goto yy145;
18727 			if (yych <= '`') goto yy4;
18728 			goto yy145;
18729 		} else {
18730 			if (yych <= 'd') goto yy1216;
18731 			if (yych <= 'z') goto yy145;
18732 			goto yy4;
18733 		}
18734 	}
18735 yy1258:
18736 	YYDEBUG(1258, *YYCURSOR);
18737 	yyaccept = 0;
18738 	yych = *(YYMARKER = ++YYCURSOR);
18739 	if (yych <= 'U') {
18740 		if (yych <= '/') {
18741 			if (yych <= ',') {
18742 				if (yych == ')') goto yy140;
18743 				goto yy4;
18744 			} else {
18745 				if (yych == '.') goto yy4;
18746 				goto yy148;
18747 			}
18748 		} else {
18749 			if (yych <= 'C') {
18750 				if (yych <= '@') goto yy4;
18751 				if (yych <= 'B') goto yy142;
18752 				goto yy1245;
18753 			} else {
18754 				if (yych == 'P') goto yy1247;
18755 				goto yy142;
18756 			}
18757 		}
18758 	} else {
18759 		if (yych <= 'b') {
18760 			if (yych <= '^') {
18761 				if (yych <= 'V') goto yy1246;
18762 				if (yych <= 'Z') goto yy142;
18763 				goto yy4;
18764 			} else {
18765 				if (yych <= '_') goto yy148;
18766 				if (yych <= '`') goto yy4;
18767 				goto yy147;
18768 			}
18769 		} else {
18770 			if (yych <= 'p') {
18771 				if (yych <= 'c') goto yy1274;
18772 				if (yych <= 'o') goto yy147;
18773 				goto yy1276;
18774 			} else {
18775 				if (yych == 'v') goto yy1275;
18776 				if (yych <= 'z') goto yy147;
18777 				goto yy4;
18778 			}
18779 		}
18780 	}
18781 yy1259:
18782 	YYDEBUG(1259, *YYCURSOR);
18783 	yyaccept = 0;
18784 	yych = *(YYMARKER = ++YYCURSOR);
18785 	if (yych <= 'S') {
18786 		if (yych <= '-') {
18787 			if (yych == ')') goto yy140;
18788 			if (yych <= ',') goto yy4;
18789 			goto yy148;
18790 		} else {
18791 			if (yych == '/') goto yy148;
18792 			if (yych <= '@') goto yy4;
18793 			goto yy142;
18794 		}
18795 	} else {
18796 		if (yych <= '_') {
18797 			if (yych <= 'T') goto yy1240;
18798 			if (yych <= 'Z') goto yy142;
18799 			if (yych <= '^') goto yy4;
18800 			goto yy148;
18801 		} else {
18802 			if (yych <= 's') {
18803 				if (yych <= '`') goto yy4;
18804 				goto yy147;
18805 			} else {
18806 				if (yych <= 't') goto yy1269;
18807 				if (yych <= 'z') goto yy147;
18808 				goto yy4;
18809 			}
18810 		}
18811 	}
18812 yy1260:
18813 	YYDEBUG(1260, *YYCURSOR);
18814 	yyaccept = 0;
18815 	yych = *(YYMARKER = ++YYCURSOR);
18816 	if (yych <= 'W') {
18817 		if (yych <= '-') {
18818 			if (yych == ')') goto yy140;
18819 			if (yych <= ',') goto yy4;
18820 			goto yy148;
18821 		} else {
18822 			if (yych == '/') goto yy148;
18823 			if (yych <= '@') goto yy4;
18824 			goto yy142;
18825 		}
18826 	} else {
18827 		if (yych <= '_') {
18828 			if (yych <= 'X') goto yy1237;
18829 			if (yych <= 'Z') goto yy142;
18830 			if (yych <= '^') goto yy4;
18831 			goto yy148;
18832 		} else {
18833 			if (yych <= 'w') {
18834 				if (yych <= '`') goto yy4;
18835 				goto yy147;
18836 			} else {
18837 				if (yych <= 'x') goto yy1266;
18838 				if (yych <= 'z') goto yy147;
18839 				goto yy4;
18840 			}
18841 		}
18842 	}
18843 yy1261:
18844 	YYDEBUG(1261, *YYCURSOR);
18845 	yyaccept = 0;
18846 	yych = *(YYMARKER = ++YYCURSOR);
18847 	if (yych <= 'M') {
18848 		if (yych <= '-') {
18849 			if (yych == ')') goto yy140;
18850 			if (yych <= ',') goto yy4;
18851 			goto yy148;
18852 		} else {
18853 			if (yych == '/') goto yy148;
18854 			if (yych <= '@') goto yy4;
18855 			goto yy142;
18856 		}
18857 	} else {
18858 		if (yych <= '_') {
18859 			if (yych <= 'N') goto yy1233;
18860 			if (yych <= 'Z') goto yy142;
18861 			if (yych <= '^') goto yy4;
18862 			goto yy148;
18863 		} else {
18864 			if (yych <= 'm') {
18865 				if (yych <= '`') goto yy4;
18866 				goto yy147;
18867 			} else {
18868 				if (yych <= 'n') goto yy1262;
18869 				if (yych <= 'z') goto yy147;
18870 				goto yy4;
18871 			}
18872 		}
18873 	}
18874 yy1262:
18875 	YYDEBUG(1262, *YYCURSOR);
18876 	yyaccept = 4;
18877 	yych = *(YYMARKER = ++YYCURSOR);
18878 	if (yych <= 'C') {
18879 		if (yych <= '-') {
18880 			if (yych == ')') goto yy140;
18881 			if (yych <= ',') goto yy167;
18882 			goto yy148;
18883 		} else {
18884 			if (yych == '/') goto yy148;
18885 			if (yych <= '@') goto yy167;
18886 			goto yy143;
18887 		}
18888 	} else {
18889 		if (yych <= '_') {
18890 			if (yych <= 'D') goto yy1234;
18891 			if (yych <= 'Z') goto yy143;
18892 			if (yych <= '^') goto yy167;
18893 			goto yy148;
18894 		} else {
18895 			if (yych <= 'c') {
18896 				if (yych <= '`') goto yy167;
18897 				goto yy151;
18898 			} else {
18899 				if (yych <= 'd') goto yy1263;
18900 				if (yych <= 'z') goto yy151;
18901 				goto yy167;
18902 			}
18903 		}
18904 	}
18905 yy1263:
18906 	YYDEBUG(1263, *YYCURSOR);
18907 	yyaccept = 0;
18908 	yych = *(YYMARKER = ++YYCURSOR);
18909 	if (yych <= '@') {
18910 		if (yych <= ',') {
18911 			if (yych == ')') goto yy140;
18912 			goto yy4;
18913 		} else {
18914 			if (yych == '.') goto yy4;
18915 			if (yych <= '/') goto yy148;
18916 			goto yy4;
18917 		}
18918 	} else {
18919 		if (yych <= '_') {
18920 			if (yych <= 'A') goto yy1235;
18921 			if (yych <= 'Z') goto yy144;
18922 			if (yych <= '^') goto yy4;
18923 			goto yy148;
18924 		} else {
18925 			if (yych <= '`') goto yy4;
18926 			if (yych <= 'a') goto yy1264;
18927 			if (yych <= 'z') goto yy152;
18928 			goto yy4;
18929 		}
18930 	}
18931 yy1264:
18932 	YYDEBUG(1264, *YYCURSOR);
18933 	yyaccept = 0;
18934 	yych = *(YYMARKER = ++YYCURSOR);
18935 	if (yych <= 'X') {
18936 		if (yych <= '-') {
18937 			if (yych == ')') goto yy140;
18938 			if (yych <= ',') goto yy4;
18939 			goto yy148;
18940 		} else {
18941 			if (yych == '/') goto yy148;
18942 			if (yych <= '@') goto yy4;
18943 			goto yy145;
18944 		}
18945 	} else {
18946 		if (yych <= '_') {
18947 			if (yych <= 'Y') goto yy1236;
18948 			if (yych <= 'Z') goto yy145;
18949 			if (yych <= '^') goto yy4;
18950 			goto yy148;
18951 		} else {
18952 			if (yych <= 'x') {
18953 				if (yych <= '`') goto yy4;
18954 				goto yy153;
18955 			} else {
18956 				if (yych <= 'y') goto yy1265;
18957 				if (yych <= 'z') goto yy153;
18958 				goto yy4;
18959 			}
18960 		}
18961 	}
18962 yy1265:
18963 	YYDEBUG(1265, *YYCURSOR);
18964 	yyaccept = 4;
18965 	yych = *(YYMARKER = ++YYCURSOR);
18966 	if (yybm[0+yych] & 16) {
18967 		goto yy154;
18968 	}
18969 	if (yych <= '-') {
18970 		if (yych == ')') goto yy140;
18971 		if (yych <= ',') goto yy167;
18972 		goto yy148;
18973 	} else {
18974 		if (yych <= '/') {
18975 			if (yych <= '.') goto yy167;
18976 			goto yy148;
18977 		} else {
18978 			if (yych == '_') goto yy148;
18979 			goto yy167;
18980 		}
18981 	}
18982 yy1266:
18983 	YYDEBUG(1266, *YYCURSOR);
18984 	yyaccept = 0;
18985 	yych = *(YYMARKER = ++YYCURSOR);
18986 	if (yych <= 'S') {
18987 		if (yych <= '-') {
18988 			if (yych == ')') goto yy140;
18989 			if (yych <= ',') goto yy4;
18990 			goto yy148;
18991 		} else {
18992 			if (yych == '/') goto yy148;
18993 			if (yych <= '@') goto yy4;
18994 			goto yy143;
18995 		}
18996 	} else {
18997 		if (yych <= '_') {
18998 			if (yych <= 'T') goto yy1238;
18999 			if (yych <= 'Z') goto yy143;
19000 			if (yych <= '^') goto yy4;
19001 			goto yy148;
19002 		} else {
19003 			if (yych <= 's') {
19004 				if (yych <= '`') goto yy4;
19005 				goto yy151;
19006 			} else {
19007 				if (yych <= 't') goto yy1267;
19008 				if (yych <= 'z') goto yy151;
19009 				goto yy4;
19010 			}
19011 		}
19012 	}
19013 yy1267:
19014 	YYDEBUG(1267, *YYCURSOR);
19015 	yyaccept = 0;
19016 	yych = *(YYMARKER = ++YYCURSOR);
19017 	if (yych <= 'G') {
19018 		if (yych <= '-') {
19019 			if (yych == ')') goto yy140;
19020 			if (yych <= ',') goto yy4;
19021 			goto yy148;
19022 		} else {
19023 			if (yych == '/') goto yy148;
19024 			if (yych <= '@') goto yy4;
19025 			goto yy144;
19026 		}
19027 	} else {
19028 		if (yych <= '_') {
19029 			if (yych <= 'H') goto yy1239;
19030 			if (yych <= 'Z') goto yy144;
19031 			if (yych <= '^') goto yy4;
19032 			goto yy148;
19033 		} else {
19034 			if (yych <= 'g') {
19035 				if (yych <= '`') goto yy4;
19036 				goto yy152;
19037 			} else {
19038 				if (yych <= 'h') goto yy1268;
19039 				if (yych <= 'z') goto yy152;
19040 				goto yy4;
19041 			}
19042 		}
19043 	}
19044 yy1268:
19045 	YYDEBUG(1268, *YYCURSOR);
19046 	yyaccept = 0;
19047 	yych = *(YYMARKER = ++YYCURSOR);
19048 	if (yych <= '-') {
19049 		if (yych <= ' ') {
19050 			if (yych == '\t') goto yy1207;
19051 			if (yych <= 0x1F) goto yy4;
19052 			goto yy1207;
19053 		} else {
19054 			if (yych == ')') goto yy140;
19055 			if (yych <= ',') goto yy4;
19056 			goto yy148;
19057 		}
19058 	} else {
19059 		if (yych <= 'Z') {
19060 			if (yych == '/') goto yy148;
19061 			if (yych <= '@') goto yy4;
19062 			goto yy145;
19063 		} else {
19064 			if (yych <= '_') {
19065 				if (yych <= '^') goto yy4;
19066 				goto yy148;
19067 			} else {
19068 				if (yych <= '`') goto yy4;
19069 				if (yych <= 'z') goto yy153;
19070 				goto yy4;
19071 			}
19072 		}
19073 	}
19074 yy1269:
19075 	YYDEBUG(1269, *YYCURSOR);
19076 	yyaccept = 4;
19077 	yych = *(YYMARKER = ++YYCURSOR);
19078 	if (yych <= 'T') {
19079 		if (yych <= '-') {
19080 			if (yych == ')') goto yy140;
19081 			if (yych <= ',') goto yy167;
19082 			goto yy148;
19083 		} else {
19084 			if (yych == '/') goto yy148;
19085 			if (yych <= '@') goto yy167;
19086 			goto yy143;
19087 		}
19088 	} else {
19089 		if (yych <= '_') {
19090 			if (yych <= 'U') goto yy1241;
19091 			if (yych <= 'Z') goto yy143;
19092 			if (yych <= '^') goto yy167;
19093 			goto yy148;
19094 		} else {
19095 			if (yych <= 't') {
19096 				if (yych <= '`') goto yy167;
19097 				goto yy151;
19098 			} else {
19099 				if (yych <= 'u') goto yy1270;
19100 				if (yych <= 'z') goto yy151;
19101 				goto yy167;
19102 			}
19103 		}
19104 	}
19105 yy1270:
19106 	YYDEBUG(1270, *YYCURSOR);
19107 	yyaccept = 0;
19108 	yych = *(YYMARKER = ++YYCURSOR);
19109 	if (yych <= 'Q') {
19110 		if (yych <= '-') {
19111 			if (yych == ')') goto yy140;
19112 			if (yych <= ',') goto yy4;
19113 			goto yy148;
19114 		} else {
19115 			if (yych == '/') goto yy148;
19116 			if (yych <= '@') goto yy4;
19117 			goto yy144;
19118 		}
19119 	} else {
19120 		if (yych <= '_') {
19121 			if (yych <= 'R') goto yy1242;
19122 			if (yych <= 'Z') goto yy144;
19123 			if (yych <= '^') goto yy4;
19124 			goto yy148;
19125 		} else {
19126 			if (yych <= 'q') {
19127 				if (yych <= '`') goto yy4;
19128 				goto yy152;
19129 			} else {
19130 				if (yych <= 'r') goto yy1271;
19131 				if (yych <= 'z') goto yy152;
19132 				goto yy4;
19133 			}
19134 		}
19135 	}
19136 yy1271:
19137 	YYDEBUG(1271, *YYCURSOR);
19138 	yyaccept = 0;
19139 	yych = *(YYMARKER = ++YYCURSOR);
19140 	if (yych <= 'C') {
19141 		if (yych <= '-') {
19142 			if (yych == ')') goto yy140;
19143 			if (yych <= ',') goto yy4;
19144 			goto yy148;
19145 		} else {
19146 			if (yych == '/') goto yy148;
19147 			if (yych <= '@') goto yy4;
19148 			goto yy145;
19149 		}
19150 	} else {
19151 		if (yych <= '_') {
19152 			if (yych <= 'D') goto yy1243;
19153 			if (yych <= 'Z') goto yy145;
19154 			if (yych <= '^') goto yy4;
19155 			goto yy148;
19156 		} else {
19157 			if (yych <= 'c') {
19158 				if (yych <= '`') goto yy4;
19159 				goto yy153;
19160 			} else {
19161 				if (yych <= 'd') goto yy1272;
19162 				if (yych <= 'z') goto yy153;
19163 				goto yy4;
19164 			}
19165 		}
19166 	}
19167 yy1272:
19168 	YYDEBUG(1272, *YYCURSOR);
19169 	yyaccept = 0;
19170 	yych = *(YYMARKER = ++YYCURSOR);
19171 	if (yych <= '@') {
19172 		if (yych <= ',') {
19173 			if (yych == ')') goto yy140;
19174 			goto yy4;
19175 		} else {
19176 			if (yych == '.') goto yy4;
19177 			if (yych <= '/') goto yy148;
19178 			goto yy4;
19179 		}
19180 	} else {
19181 		if (yych <= '_') {
19182 			if (yych <= 'A') goto yy1244;
19183 			if (yych <= '^') goto yy4;
19184 			goto yy148;
19185 		} else {
19186 			if (yych <= '`') goto yy4;
19187 			if (yych <= 'a') goto yy1273;
19188 			if (yych <= 'z') goto yy154;
19189 			goto yy4;
19190 		}
19191 	}
19192 yy1273:
19193 	YYDEBUG(1273, *YYCURSOR);
19194 	yych = *++YYCURSOR;
19195 	if (yych == 'Y') goto yy173;
19196 	if (yych == 'y') goto yy186;
19197 	goto yy155;
19198 yy1274:
19199 	YYDEBUG(1274, *YYCURSOR);
19200 	yyaccept = 0;
19201 	yych = *(YYMARKER = ++YYCURSOR);
19202 	if (yych <= 'N') {
19203 		if (yych <= '-') {
19204 			if (yych == ')') goto yy140;
19205 			if (yych <= ',') goto yy4;
19206 			goto yy148;
19207 		} else {
19208 			if (yych == '/') goto yy148;
19209 			if (yych <= '@') goto yy4;
19210 			goto yy143;
19211 		}
19212 	} else {
19213 		if (yych <= '_') {
19214 			if (yych <= 'O') goto yy1256;
19215 			if (yych <= 'Z') goto yy143;
19216 			if (yych <= '^') goto yy4;
19217 			goto yy148;
19218 		} else {
19219 			if (yych <= 'n') {
19220 				if (yych <= '`') goto yy4;
19221 				goto yy151;
19222 			} else {
19223 				if (yych <= 'o') goto yy1285;
19224 				if (yych <= 'z') goto yy151;
19225 				goto yy4;
19226 			}
19227 		}
19228 	}
19229 yy1275:
19230 	YYDEBUG(1275, *YYCURSOR);
19231 	yyaccept = 0;
19232 	yych = *(YYMARKER = ++YYCURSOR);
19233 	if (yych <= 'D') {
19234 		if (yych <= '-') {
19235 			if (yych == ')') goto yy140;
19236 			if (yych <= ',') goto yy4;
19237 			goto yy148;
19238 		} else {
19239 			if (yych == '/') goto yy148;
19240 			if (yych <= '@') goto yy4;
19241 			goto yy143;
19242 		}
19243 	} else {
19244 		if (yych <= '_') {
19245 			if (yych <= 'E') goto yy1253;
19246 			if (yych <= 'Z') goto yy143;
19247 			if (yych <= '^') goto yy4;
19248 			goto yy148;
19249 		} else {
19250 			if (yych <= 'd') {
19251 				if (yych <= '`') goto yy4;
19252 				goto yy151;
19253 			} else {
19254 				if (yych <= 'e') goto yy1282;
19255 				if (yych <= 'z') goto yy151;
19256 				goto yy4;
19257 			}
19258 		}
19259 	}
19260 yy1276:
19261 	YYDEBUG(1276, *YYCURSOR);
19262 	yyaccept = 5;
19263 	yych = *(YYMARKER = ++YYCURSOR);
19264 	if (yych <= '9') {
19265 		if (yych <= '(') {
19266 			if (yych <= '\t') {
19267 				if (yych <= 0x08) goto yy194;
19268 				goto yy196;
19269 			} else {
19270 				if (yych == ' ') goto yy196;
19271 				goto yy194;
19272 			}
19273 		} else {
19274 			if (yych <= '-') {
19275 				if (yych <= ')') goto yy140;
19276 				if (yych <= ',') goto yy194;
19277 				goto yy372;
19278 			} else {
19279 				if (yych == '/') goto yy148;
19280 				goto yy196;
19281 			}
19282 		}
19283 	} else {
19284 		if (yych <= '^') {
19285 			if (yych <= 'S') {
19286 				if (yych <= '@') goto yy194;
19287 				goto yy143;
19288 			} else {
19289 				if (yych <= 'T') goto yy1248;
19290 				if (yych <= 'Z') goto yy143;
19291 				goto yy194;
19292 			}
19293 		} else {
19294 			if (yych <= 's') {
19295 				if (yych <= '_') goto yy148;
19296 				if (yych <= '`') goto yy194;
19297 				goto yy151;
19298 			} else {
19299 				if (yych <= 't') goto yy1277;
19300 				if (yych <= 'z') goto yy151;
19301 				goto yy194;
19302 			}
19303 		}
19304 	}
19305 yy1277:
19306 	YYDEBUG(1277, *YYCURSOR);
19307 	yyaccept = 5;
19308 	yych = *(YYMARKER = ++YYCURSOR);
19309 	if (yych <= '9') {
19310 		if (yych <= '(') {
19311 			if (yych <= '\t') {
19312 				if (yych <= 0x08) goto yy194;
19313 				goto yy196;
19314 			} else {
19315 				if (yych == ' ') goto yy196;
19316 				goto yy194;
19317 			}
19318 		} else {
19319 			if (yych <= '-') {
19320 				if (yych <= ')') goto yy140;
19321 				if (yych <= ',') goto yy194;
19322 				goto yy372;
19323 			} else {
19324 				if (yych == '/') goto yy148;
19325 				goto yy196;
19326 			}
19327 		}
19328 	} else {
19329 		if (yych <= '^') {
19330 			if (yych <= 'D') {
19331 				if (yych <= '@') goto yy194;
19332 				goto yy144;
19333 			} else {
19334 				if (yych <= 'E') goto yy1249;
19335 				if (yych <= 'Z') goto yy144;
19336 				goto yy194;
19337 			}
19338 		} else {
19339 			if (yych <= 'd') {
19340 				if (yych <= '_') goto yy148;
19341 				if (yych <= '`') goto yy194;
19342 				goto yy152;
19343 			} else {
19344 				if (yych <= 'e') goto yy1278;
19345 				if (yych <= 'z') goto yy152;
19346 				goto yy194;
19347 			}
19348 		}
19349 	}
19350 yy1278:
19351 	YYDEBUG(1278, *YYCURSOR);
19352 	yyaccept = 0;
19353 	yych = *(YYMARKER = ++YYCURSOR);
19354 	if (yych <= 'L') {
19355 		if (yych <= '-') {
19356 			if (yych == ')') goto yy140;
19357 			if (yych <= ',') goto yy4;
19358 			goto yy148;
19359 		} else {
19360 			if (yych == '/') goto yy148;
19361 			if (yych <= '@') goto yy4;
19362 			goto yy145;
19363 		}
19364 	} else {
19365 		if (yych <= '_') {
19366 			if (yych <= 'M') goto yy1250;
19367 			if (yych <= 'Z') goto yy145;
19368 			if (yych <= '^') goto yy4;
19369 			goto yy148;
19370 		} else {
19371 			if (yych <= 'l') {
19372 				if (yych <= '`') goto yy4;
19373 				goto yy153;
19374 			} else {
19375 				if (yych <= 'm') goto yy1279;
19376 				if (yych <= 'z') goto yy153;
19377 				goto yy4;
19378 			}
19379 		}
19380 	}
19381 yy1279:
19382 	YYDEBUG(1279, *YYCURSOR);
19383 	yyaccept = 0;
19384 	yych = *(YYMARKER = ++YYCURSOR);
19385 	if (yych <= 'A') {
19386 		if (yych <= ',') {
19387 			if (yych == ')') goto yy140;
19388 			goto yy4;
19389 		} else {
19390 			if (yych == '.') goto yy4;
19391 			if (yych <= '/') goto yy148;
19392 			goto yy4;
19393 		}
19394 	} else {
19395 		if (yych <= '`') {
19396 			if (yych <= 'B') goto yy1251;
19397 			if (yych == '_') goto yy148;
19398 			goto yy4;
19399 		} else {
19400 			if (yych == 'b') goto yy1280;
19401 			if (yych <= 'z') goto yy154;
19402 			goto yy4;
19403 		}
19404 	}
19405 yy1280:
19406 	YYDEBUG(1280, *YYCURSOR);
19407 	yych = *++YYCURSOR;
19408 	if (yych == 'E') goto yy1252;
19409 	if (yych != 'e') goto yy155;
19410 	YYDEBUG(1281, *YYCURSOR);
19411 	yych = *++YYCURSOR;
19412 	if (yych == 'R') goto yy206;
19413 	if (yych == 'r') goto yy377;
19414 	goto yy155;
19415 yy1282:
19416 	YYDEBUG(1282, *YYCURSOR);
19417 	yyaccept = 0;
19418 	yych = *(YYMARKER = ++YYCURSOR);
19419 	if (yych <= 'M') {
19420 		if (yych <= '-') {
19421 			if (yych == ')') goto yy140;
19422 			if (yych <= ',') goto yy4;
19423 			goto yy148;
19424 		} else {
19425 			if (yych == '/') goto yy148;
19426 			if (yych <= '@') goto yy4;
19427 			goto yy144;
19428 		}
19429 	} else {
19430 		if (yych <= '_') {
19431 			if (yych <= 'N') goto yy1254;
19432 			if (yych <= 'Z') goto yy144;
19433 			if (yych <= '^') goto yy4;
19434 			goto yy148;
19435 		} else {
19436 			if (yych <= 'm') {
19437 				if (yych <= '`') goto yy4;
19438 				goto yy152;
19439 			} else {
19440 				if (yych <= 'n') goto yy1283;
19441 				if (yych <= 'z') goto yy152;
19442 				goto yy4;
19443 			}
19444 		}
19445 	}
19446 yy1283:
19447 	YYDEBUG(1283, *YYCURSOR);
19448 	yyaccept = 0;
19449 	yych = *(YYMARKER = ++YYCURSOR);
19450 	if (yych <= 'S') {
19451 		if (yych <= '-') {
19452 			if (yych == ')') goto yy140;
19453 			if (yych <= ',') goto yy4;
19454 			goto yy148;
19455 		} else {
19456 			if (yych == '/') goto yy148;
19457 			if (yych <= '@') goto yy4;
19458 			goto yy145;
19459 		}
19460 	} else {
19461 		if (yych <= '_') {
19462 			if (yych <= 'T') goto yy1255;
19463 			if (yych <= 'Z') goto yy145;
19464 			if (yych <= '^') goto yy4;
19465 			goto yy148;
19466 		} else {
19467 			if (yych <= 's') {
19468 				if (yych <= '`') goto yy4;
19469 				goto yy153;
19470 			} else {
19471 				if (yych <= 't') goto yy1284;
19472 				if (yych <= 'z') goto yy153;
19473 				goto yy4;
19474 			}
19475 		}
19476 	}
19477 yy1284:
19478 	YYDEBUG(1284, *YYCURSOR);
19479 	yyaccept = 0;
19480 	yych = *(YYMARKER = ++YYCURSOR);
19481 	if (yych <= 'G') {
19482 		if (yych <= ',') {
19483 			if (yych == ')') goto yy140;
19484 			goto yy4;
19485 		} else {
19486 			if (yych == '.') goto yy4;
19487 			if (yych <= '/') goto yy148;
19488 			goto yy4;
19489 		}
19490 	} else {
19491 		if (yych <= '`') {
19492 			if (yych <= 'H') goto yy1206;
19493 			if (yych == '_') goto yy148;
19494 			goto yy4;
19495 		} else {
19496 			if (yych == 'h') goto yy1224;
19497 			if (yych <= 'z') goto yy154;
19498 			goto yy4;
19499 		}
19500 	}
19501 yy1285:
19502 	YYDEBUG(1285, *YYCURSOR);
19503 	yyaccept = 0;
19504 	yych = *(YYMARKER = ++YYCURSOR);
19505 	if (yych <= 'M') {
19506 		if (yych <= '-') {
19507 			if (yych == ')') goto yy140;
19508 			if (yych <= ',') goto yy4;
19509 			goto yy148;
19510 		} else {
19511 			if (yych == '/') goto yy148;
19512 			if (yych <= '@') goto yy4;
19513 			goto yy144;
19514 		}
19515 	} else {
19516 		if (yych <= '_') {
19517 			if (yych <= 'N') goto yy1257;
19518 			if (yych <= 'Z') goto yy144;
19519 			if (yych <= '^') goto yy4;
19520 			goto yy148;
19521 		} else {
19522 			if (yych <= 'm') {
19523 				if (yych <= '`') goto yy4;
19524 				goto yy152;
19525 			} else {
19526 				if (yych <= 'n') goto yy1286;
19527 				if (yych <= 'z') goto yy152;
19528 				goto yy4;
19529 			}
19530 		}
19531 	}
19532 yy1286:
19533 	YYDEBUG(1286, *YYCURSOR);
19534 	yyaccept = 0;
19535 	yych = *(YYMARKER = ++YYCURSOR);
19536 	if (yych <= 'C') {
19537 		if (yych <= '-') {
19538 			if (yych == ')') goto yy140;
19539 			if (yych <= ',') goto yy4;
19540 			goto yy148;
19541 		} else {
19542 			if (yych == '/') goto yy148;
19543 			if (yych <= '@') goto yy4;
19544 			goto yy145;
19545 		}
19546 	} else {
19547 		if (yych <= '_') {
19548 			if (yych <= 'D') goto yy1216;
19549 			if (yych <= 'Z') goto yy145;
19550 			if (yych <= '^') goto yy4;
19551 			goto yy148;
19552 		} else {
19553 			if (yych <= 'c') {
19554 				if (yych <= '`') goto yy4;
19555 				goto yy153;
19556 			} else {
19557 				if (yych <= 'd') goto yy1228;
19558 				if (yych <= 'z') goto yy153;
19559 				goto yy4;
19560 			}
19561 		}
19562 	}
19563 yy1287:
19564 	YYDEBUG(1287, *YYCURSOR);
19565 	yych = *++YYCURSOR;
19566 	if (yych <= 'C') {
19567 		if (yych <= ')') {
19568 			if (yych <= '(') goto yy4;
19569 			goto yy140;
19570 		} else {
19571 			if (yych <= '@') goto yy4;
19572 			if (yych <= 'B') goto yy142;
19573 		}
19574 	} else {
19575 		if (yych <= 'b') {
19576 			if (yych <= 'Z') goto yy142;
19577 			if (yych <= '`') goto yy4;
19578 			goto yy142;
19579 		} else {
19580 			if (yych <= 'c') goto yy1288;
19581 			if (yych <= 'z') goto yy142;
19582 			goto yy4;
19583 		}
19584 	}
19585 yy1288:
19586 	YYDEBUG(1288, *YYCURSOR);
19587 	yych = *++YYCURSOR;
19588 	if (yych <= 'K') {
19589 		if (yych <= ')') {
19590 			if (yych <= '(') goto yy4;
19591 			goto yy140;
19592 		} else {
19593 			if (yych <= '@') goto yy4;
19594 			if (yych <= 'J') goto yy143;
19595 		}
19596 	} else {
19597 		if (yych <= 'j') {
19598 			if (yych <= 'Z') goto yy143;
19599 			if (yych <= '`') goto yy4;
19600 			goto yy143;
19601 		} else {
19602 			if (yych <= 'k') goto yy1289;
19603 			if (yych <= 'z') goto yy143;
19604 			goto yy4;
19605 		}
19606 	}
19607 yy1289:
19608 	YYDEBUG(1289, *YYCURSOR);
19609 	yyaccept = 0;
19610 	yych = *(YYMARKER = ++YYCURSOR);
19611 	if (yych <= ')') {
19612 		if (yych == ' ') goto yy1290;
19613 		if (yych <= '(') goto yy4;
19614 		goto yy140;
19615 	} else {
19616 		if (yych <= 'Z') {
19617 			if (yych <= '@') goto yy4;
19618 			goto yy144;
19619 		} else {
19620 			if (yych <= '`') goto yy4;
19621 			if (yych <= 'z') goto yy144;
19622 			goto yy4;
19623 		}
19624 	}
19625 yy1290:
19626 	YYDEBUG(1290, *YYCURSOR);
19627 	yych = *++YYCURSOR;
19628 	if (yych == 'O') goto yy1291;
19629 	if (yych != 'o') goto yy57;
19630 yy1291:
19631 	YYDEBUG(1291, *YYCURSOR);
19632 	yych = *++YYCURSOR;
19633 	if (yych == 'F') goto yy1292;
19634 	if (yych != 'f') goto yy57;
19635 yy1292:
19636 	YYDEBUG(1292, *YYCURSOR);
19637 	yych = *++YYCURSOR;
19638 	if (yych != ' ') goto yy57;
19639 	YYDEBUG(1293, *YYCURSOR);
19640 	yych = *++YYCURSOR;
19641 	if (yych <= '/') goto yy57;
19642 	if (yych <= '1') goto yy1294;
19643 	if (yych <= '2') goto yy1296;
19644 	if (yych <= '9') goto yy1297;
19645 	goto yy57;
19646 yy1294:
19647 	YYDEBUG(1294, *YYCURSOR);
19648 	yyaccept = 28;
19649 	yych = *(YYMARKER = ++YYCURSOR);
19650 	if (yych <= '/') goto yy1298;
19651 	if (yych <= '9') goto yy1297;
19652 	goto yy1298;
19653 yy1295:
19654 	YYDEBUG(1295, *YYCURSOR);
19655 #line 1102 "ext/date/lib/parse_date.re"
19656 	{
19657 		DEBUG_OUTPUT("backof | frontof");
19658 		TIMELIB_INIT;
19659 		TIMELIB_UNHAVE_TIME();
19660 		TIMELIB_HAVE_TIME();
19661 
19662 		if (*ptr == 'b') {
19663 			s->time->h = timelib_get_nr((char **) &ptr, 2);
19664 			s->time->i = 15;
19665 		} else {
19666 			s->time->h = timelib_get_nr((char **) &ptr, 2) - 1;
19667 			s->time->i = 45;
19668 		}
19669 		if (*ptr != '\0' ) {
19670 			timelib_eat_spaces((char **) &ptr);
19671 			s->time->h += timelib_meridian((char **) &ptr, s->time->h);
19672 		}
19673 
19674 		TIMELIB_DEINIT;
19675 		return TIMELIB_LF_DAY_OF_MONTH;
19676 	}
19677 #line 19678 "ext/date/lib/parse_date.c"
19678 yy1296:
19679 	YYDEBUG(1296, *YYCURSOR);
19680 	yyaccept = 28;
19681 	yych = *(YYMARKER = ++YYCURSOR);
19682 	if (yych <= '/') goto yy1298;
19683 	if (yych >= '5') goto yy1298;
19684 yy1297:
19685 	YYDEBUG(1297, *YYCURSOR);
19686 	yyaccept = 28;
19687 	YYMARKER = ++YYCURSOR;
19688 	if ((YYLIMIT - YYCURSOR) < 5) YYFILL(5);
19689 	yych = *YYCURSOR;
19690 yy1298:
19691 	YYDEBUG(1298, *YYCURSOR);
19692 	if (yych <= 'A') {
19693 		if (yych <= 0x1F) {
19694 			if (yych == '\t') goto yy1297;
19695 			goto yy1295;
19696 		} else {
19697 			if (yych <= ' ') goto yy1297;
19698 			if (yych <= '@') goto yy1295;
19699 		}
19700 	} else {
19701 		if (yych <= '`') {
19702 			if (yych != 'P') goto yy1295;
19703 		} else {
19704 			if (yych <= 'a') goto yy1299;
19705 			if (yych != 'p') goto yy1295;
19706 		}
19707 	}
19708 yy1299:
19709 	YYDEBUG(1299, *YYCURSOR);
19710 	yych = *++YYCURSOR;
19711 	if (yych <= 'L') {
19712 		if (yych != '.') goto yy57;
19713 	} else {
19714 		if (yych <= 'M') goto yy1301;
19715 		if (yych == 'm') goto yy1301;
19716 		goto yy57;
19717 	}
19718 	YYDEBUG(1300, *YYCURSOR);
19719 	yych = *++YYCURSOR;
19720 	if (yych == 'M') goto yy1301;
19721 	if (yych != 'm') goto yy57;
19722 yy1301:
19723 	YYDEBUG(1301, *YYCURSOR);
19724 	yych = *++YYCURSOR;
19725 	if (yych <= 0x1F) {
19726 		if (yych <= 0x00) goto yy1303;
19727 		if (yych == '\t') goto yy1303;
19728 		goto yy57;
19729 	} else {
19730 		if (yych <= ' ') goto yy1303;
19731 		if (yych != '.') goto yy57;
19732 	}
19733 	YYDEBUG(1302, *YYCURSOR);
19734 	yych = *++YYCURSOR;
19735 	if (yych <= '\t') {
19736 		if (yych <= 0x00) goto yy1303;
19737 		if (yych <= 0x08) goto yy57;
19738 	} else {
19739 		if (yych != ' ') goto yy57;
19740 	}
19741 yy1303:
19742 	YYDEBUG(1303, *YYCURSOR);
19743 	yych = *++YYCURSOR;
19744 	goto yy1295;
19745 yy1304:
19746 	YYDEBUG(1304, *YYCURSOR);
19747 	yyaccept = 0;
19748 	yych = *(YYMARKER = ++YYCURSOR);
19749 	if (yych <= 'B') {
19750 		if (yych <= '-') {
19751 			if (yych == ')') goto yy140;
19752 			if (yych <= ',') goto yy4;
19753 			goto yy148;
19754 		} else {
19755 			if (yych == '/') goto yy148;
19756 			if (yych <= '@') goto yy4;
19757 			goto yy142;
19758 		}
19759 	} else {
19760 		if (yych <= '_') {
19761 			if (yych <= 'C') goto yy1288;
19762 			if (yych <= 'Z') goto yy142;
19763 			if (yych <= '^') goto yy4;
19764 			goto yy148;
19765 		} else {
19766 			if (yych <= 'b') {
19767 				if (yych <= '`') goto yy4;
19768 				goto yy147;
19769 			} else {
19770 				if (yych <= 'c') goto yy1305;
19771 				if (yych <= 'z') goto yy147;
19772 				goto yy4;
19773 			}
19774 		}
19775 	}
19776 yy1305:
19777 	YYDEBUG(1305, *YYCURSOR);
19778 	yyaccept = 0;
19779 	yych = *(YYMARKER = ++YYCURSOR);
19780 	if (yych <= 'J') {
19781 		if (yych <= '-') {
19782 			if (yych == ')') goto yy140;
19783 			if (yych <= ',') goto yy4;
19784 			goto yy148;
19785 		} else {
19786 			if (yych == '/') goto yy148;
19787 			if (yych <= '@') goto yy4;
19788 			goto yy143;
19789 		}
19790 	} else {
19791 		if (yych <= '_') {
19792 			if (yych <= 'K') goto yy1289;
19793 			if (yych <= 'Z') goto yy143;
19794 			if (yych <= '^') goto yy4;
19795 			goto yy148;
19796 		} else {
19797 			if (yych <= 'j') {
19798 				if (yych <= '`') goto yy4;
19799 				goto yy151;
19800 			} else {
19801 				if (yych <= 'k') goto yy1306;
19802 				if (yych <= 'z') goto yy151;
19803 				goto yy4;
19804 			}
19805 		}
19806 	}
19807 yy1306:
19808 	YYDEBUG(1306, *YYCURSOR);
19809 	yyaccept = 0;
19810 	yych = *(YYMARKER = ++YYCURSOR);
19811 	if (yych <= '.') {
19812 		if (yych <= '(') {
19813 			if (yych == ' ') goto yy1290;
19814 			goto yy4;
19815 		} else {
19816 			if (yych <= ')') goto yy140;
19817 			if (yych == '-') goto yy148;
19818 			goto yy4;
19819 		}
19820 	} else {
19821 		if (yych <= '^') {
19822 			if (yych <= '/') goto yy148;
19823 			if (yych <= '@') goto yy4;
19824 			if (yych <= 'Z') goto yy144;
19825 			goto yy4;
19826 		} else {
19827 			if (yych <= '_') goto yy148;
19828 			if (yych <= '`') goto yy4;
19829 			if (yych <= 'z') goto yy152;
19830 			goto yy4;
19831 		}
19832 	}
19833 yy1307:
19834 	YYDEBUG(1307, *YYCURSOR);
19835 	yych = *++YYCURSOR;
19836 	if (yych <= 'S') {
19837 		if (yych <= ')') {
19838 			if (yych <= '(') goto yy4;
19839 			goto yy140;
19840 		} else {
19841 			if (yych <= '@') goto yy4;
19842 			if (yych <= 'R') goto yy142;
19843 		}
19844 	} else {
19845 		if (yych <= 'r') {
19846 			if (yych <= 'Z') goto yy142;
19847 			if (yych <= '`') goto yy4;
19848 			goto yy142;
19849 		} else {
19850 			if (yych <= 's') goto yy1308;
19851 			if (yych <= 'z') goto yy142;
19852 			goto yy4;
19853 		}
19854 	}
19855 yy1308:
19856 	YYDEBUG(1308, *YYCURSOR);
19857 	yych = *++YYCURSOR;
19858 	if (yych <= 'T') {
19859 		if (yych <= ')') {
19860 			if (yych <= '(') goto yy4;
19861 			goto yy140;
19862 		} else {
19863 			if (yych <= '@') goto yy4;
19864 			if (yych <= 'S') goto yy143;
19865 		}
19866 	} else {
19867 		if (yych <= 's') {
19868 			if (yych <= 'Z') goto yy143;
19869 			if (yych <= '`') goto yy4;
19870 			goto yy143;
19871 		} else {
19872 			if (yych <= 't') goto yy1309;
19873 			if (yych <= 'z') goto yy143;
19874 			goto yy4;
19875 		}
19876 	}
19877 yy1309:
19878 	YYDEBUG(1309, *YYCURSOR);
19879 	yyaccept = 0;
19880 	yych = *(YYMARKER = ++YYCURSOR);
19881 	if (yych <= '(') {
19882 		if (yych <= '\t') {
19883 			if (yych <= 0x08) goto yy4;
19884 			goto yy1105;
19885 		} else {
19886 			if (yych != ' ') goto yy4;
19887 		}
19888 	} else {
19889 		if (yych <= 'Z') {
19890 			if (yych <= ')') goto yy140;
19891 			if (yych <= '@') goto yy4;
19892 			goto yy144;
19893 		} else {
19894 			if (yych <= '`') goto yy4;
19895 			if (yych <= 'z') goto yy144;
19896 			goto yy4;
19897 		}
19898 	}
19899 yy1310:
19900 	YYDEBUG(1310, *YYCURSOR);
19901 	yych = *++YYCURSOR;
19902 	if (yych == 'D') goto yy1311;
19903 	if (yych != 'd') goto yy1106;
19904 yy1311:
19905 	YYDEBUG(1311, *YYCURSOR);
19906 	yych = *++YYCURSOR;
19907 	if (yych == 'A') goto yy1312;
19908 	if (yych != 'a') goto yy57;
19909 yy1312:
19910 	YYDEBUG(1312, *YYCURSOR);
19911 	yych = *++YYCURSOR;
19912 	if (yych == 'Y') goto yy1313;
19913 	if (yych != 'y') goto yy57;
19914 yy1313:
19915 	YYDEBUG(1313, *YYCURSOR);
19916 	yyaccept = 26;
19917 	yych = *(YYMARKER = ++YYCURSOR);
19918 	if (yych <= 'R') {
19919 		if (yych != ' ') goto yy1118;
19920 	} else {
19921 		if (yych <= 'S') goto yy1143;
19922 		if (yych == 's') goto yy1143;
19923 		goto yy1118;
19924 	}
19925 	YYDEBUG(1314, *YYCURSOR);
19926 	yych = *++YYCURSOR;
19927 	if (yych == 'O') goto yy1315;
19928 	if (yych != 'o') goto yy57;
19929 yy1315:
19930 	YYDEBUG(1315, *YYCURSOR);
19931 	yych = *++YYCURSOR;
19932 	if (yych == 'F') goto yy1316;
19933 	if (yych != 'f') goto yy57;
19934 yy1316:
19935 	YYDEBUG(1316, *YYCURSOR);
19936 	yych = *++YYCURSOR;
19937 	goto yy2;
19938 yy1317:
19939 	YYDEBUG(1317, *YYCURSOR);
19940 	yyaccept = 0;
19941 	yych = *(YYMARKER = ++YYCURSOR);
19942 	if (yych <= 'R') {
19943 		if (yych <= '-') {
19944 			if (yych == ')') goto yy140;
19945 			if (yych <= ',') goto yy4;
19946 			goto yy148;
19947 		} else {
19948 			if (yych == '/') goto yy148;
19949 			if (yych <= '@') goto yy4;
19950 			goto yy142;
19951 		}
19952 	} else {
19953 		if (yych <= '_') {
19954 			if (yych <= 'S') goto yy1308;
19955 			if (yych <= 'Z') goto yy142;
19956 			if (yych <= '^') goto yy4;
19957 			goto yy148;
19958 		} else {
19959 			if (yych <= 'r') {
19960 				if (yych <= '`') goto yy4;
19961 				goto yy147;
19962 			} else {
19963 				if (yych <= 's') goto yy1318;
19964 				if (yych <= 'z') goto yy147;
19965 				goto yy4;
19966 			}
19967 		}
19968 	}
19969 yy1318:
19970 	YYDEBUG(1318, *YYCURSOR);
19971 	yyaccept = 0;
19972 	yych = *(YYMARKER = ++YYCURSOR);
19973 	if (yych <= 'S') {
19974 		if (yych <= '-') {
19975 			if (yych == ')') goto yy140;
19976 			if (yych <= ',') goto yy4;
19977 			goto yy148;
19978 		} else {
19979 			if (yych == '/') goto yy148;
19980 			if (yych <= '@') goto yy4;
19981 			goto yy143;
19982 		}
19983 	} else {
19984 		if (yych <= '_') {
19985 			if (yych <= 'T') goto yy1309;
19986 			if (yych <= 'Z') goto yy143;
19987 			if (yych <= '^') goto yy4;
19988 			goto yy148;
19989 		} else {
19990 			if (yych <= 's') {
19991 				if (yych <= '`') goto yy4;
19992 				goto yy151;
19993 			} else {
19994 				if (yych <= 't') goto yy1319;
19995 				if (yych <= 'z') goto yy151;
19996 				goto yy4;
19997 			}
19998 		}
19999 	}
20000 yy1319:
20001 	YYDEBUG(1319, *YYCURSOR);
20002 	yyaccept = 0;
20003 	yych = *(YYMARKER = ++YYCURSOR);
20004 	if (yych <= '-') {
20005 		if (yych <= ' ') {
20006 			if (yych == '\t') goto yy1105;
20007 			if (yych <= 0x1F) goto yy4;
20008 			goto yy1310;
20009 		} else {
20010 			if (yych == ')') goto yy140;
20011 			if (yych <= ',') goto yy4;
20012 			goto yy148;
20013 		}
20014 	} else {
20015 		if (yych <= 'Z') {
20016 			if (yych == '/') goto yy148;
20017 			if (yych <= '@') goto yy4;
20018 			goto yy144;
20019 		} else {
20020 			if (yych <= '_') {
20021 				if (yych <= '^') goto yy4;
20022 				goto yy148;
20023 			} else {
20024 				if (yych <= '`') goto yy4;
20025 				if (yych <= 'z') goto yy152;
20026 				goto yy4;
20027 			}
20028 		}
20029 	}
20030 yy1320:
20031 	YYDEBUG(1320, *YYCURSOR);
20032 	yych = *++YYCURSOR;
20033 	if (yych <= 'B') {
20034 		if (yych <= ')') {
20035 			if (yych <= '(') goto yy4;
20036 			goto yy140;
20037 		} else {
20038 			if (yych <= '@') goto yy4;
20039 			if (yych <= 'A') goto yy142;
20040 			goto yy1356;
20041 		}
20042 	} else {
20043 		if (yych <= 'a') {
20044 			if (yych <= 'Z') goto yy142;
20045 			if (yych <= '`') goto yy4;
20046 			goto yy142;
20047 		} else {
20048 			if (yych <= 'b') goto yy1356;
20049 			if (yych <= 'z') goto yy142;
20050 			goto yy4;
20051 		}
20052 	}
20053 yy1321:
20054 	YYDEBUG(1321, *YYCURSOR);
20055 	yych = *++YYCURSOR;
20056 	if (yych <= 'R') {
20057 		if (yych <= '@') {
20058 			if (yych == ')') goto yy140;
20059 			goto yy4;
20060 		} else {
20061 			if (yych == 'F') goto yy1346;
20062 			if (yych <= 'Q') goto yy142;
20063 			goto yy1345;
20064 		}
20065 	} else {
20066 		if (yych <= 'f') {
20067 			if (yych <= 'Z') goto yy142;
20068 			if (yych <= '`') goto yy4;
20069 			if (yych <= 'e') goto yy142;
20070 			goto yy1346;
20071 		} else {
20072 			if (yych == 'r') goto yy1345;
20073 			if (yych <= 'z') goto yy142;
20074 			goto yy4;
20075 		}
20076 	}
20077 yy1322:
20078 	YYDEBUG(1322, *YYCURSOR);
20079 	yych = *++YYCURSOR;
20080 	if (yych <= 'U') {
20081 		if (yych <= ')') {
20082 			if (yych <= '(') goto yy4;
20083 			goto yy140;
20084 		} else {
20085 			if (yych <= '@') goto yy4;
20086 			if (yych <= 'T') goto yy142;
20087 			goto yy1342;
20088 		}
20089 	} else {
20090 		if (yych <= 't') {
20091 			if (yych <= 'Z') goto yy142;
20092 			if (yych <= '`') goto yy4;
20093 			goto yy142;
20094 		} else {
20095 			if (yych <= 'u') goto yy1342;
20096 			if (yych <= 'z') goto yy142;
20097 			goto yy4;
20098 		}
20099 	}
20100 yy1323:
20101 	YYDEBUG(1323, *YYCURSOR);
20102 	yych = *++YYCURSOR;
20103 	if (yych <= 'O') {
20104 		if (yych <= '@') {
20105 			if (yych == ')') goto yy140;
20106 			goto yy4;
20107 		} else {
20108 			if (yych == 'I') goto yy1325;
20109 			if (yych <= 'N') goto yy142;
20110 		}
20111 	} else {
20112 		if (yych <= 'i') {
20113 			if (yych <= 'Z') goto yy142;
20114 			if (yych <= '`') goto yy4;
20115 			if (yych <= 'h') goto yy142;
20116 			goto yy1325;
20117 		} else {
20118 			if (yych == 'o') goto yy1324;
20119 			if (yych <= 'z') goto yy142;
20120 			goto yy4;
20121 		}
20122 	}
20123 yy1324:
20124 	YYDEBUG(1324, *YYCURSOR);
20125 	yych = *++YYCURSOR;
20126 	if (yych <= 'N') {
20127 		if (yych <= ')') {
20128 			if (yych <= '(') goto yy4;
20129 			goto yy140;
20130 		} else {
20131 			if (yych <= '@') goto yy4;
20132 			if (yych <= 'M') goto yy143;
20133 			goto yy1328;
20134 		}
20135 	} else {
20136 		if (yych <= 'm') {
20137 			if (yych <= 'Z') goto yy143;
20138 			if (yych <= '`') goto yy4;
20139 			goto yy143;
20140 		} else {
20141 			if (yych <= 'n') goto yy1328;
20142 			if (yych <= 'z') goto yy143;
20143 			goto yy4;
20144 		}
20145 	}
20146 yy1325:
20147 	YYDEBUG(1325, *YYCURSOR);
20148 	yych = *++YYCURSOR;
20149 	if (yych <= 'D') {
20150 		if (yych <= ')') {
20151 			if (yych <= '(') goto yy167;
20152 			goto yy140;
20153 		} else {
20154 			if (yych <= '@') goto yy167;
20155 			if (yych <= 'C') goto yy143;
20156 		}
20157 	} else {
20158 		if (yych <= 'c') {
20159 			if (yych <= 'Z') goto yy143;
20160 			if (yych <= '`') goto yy167;
20161 			goto yy143;
20162 		} else {
20163 			if (yych <= 'd') goto yy1326;
20164 			if (yych <= 'z') goto yy143;
20165 			goto yy167;
20166 		}
20167 	}
20168 yy1326:
20169 	YYDEBUG(1326, *YYCURSOR);
20170 	yych = *++YYCURSOR;
20171 	if (yych <= 'A') {
20172 		if (yych == ')') goto yy140;
20173 		if (yych <= '@') goto yy4;
20174 	} else {
20175 		if (yych <= '`') {
20176 			if (yych <= 'Z') goto yy144;
20177 			goto yy4;
20178 		} else {
20179 			if (yych <= 'a') goto yy1327;
20180 			if (yych <= 'z') goto yy144;
20181 			goto yy4;
20182 		}
20183 	}
20184 yy1327:
20185 	YYDEBUG(1327, *YYCURSOR);
20186 	yych = *++YYCURSOR;
20187 	if (yych <= 'Y') {
20188 		if (yych <= ')') {
20189 			if (yych <= '(') goto yy4;
20190 			goto yy140;
20191 		} else {
20192 			if (yych <= '@') goto yy4;
20193 			if (yych <= 'X') goto yy145;
20194 			goto yy1236;
20195 		}
20196 	} else {
20197 		if (yych <= 'x') {
20198 			if (yych <= 'Z') goto yy145;
20199 			if (yych <= '`') goto yy4;
20200 			goto yy145;
20201 		} else {
20202 			if (yych <= 'y') goto yy1236;
20203 			if (yych <= 'z') goto yy145;
20204 			goto yy4;
20205 		}
20206 	}
20207 yy1328:
20208 	YYDEBUG(1328, *YYCURSOR);
20209 	yych = *++YYCURSOR;
20210 	if (yych <= 'T') {
20211 		if (yych <= ')') {
20212 			if (yych <= '(') goto yy4;
20213 			goto yy140;
20214 		} else {
20215 			if (yych <= '@') goto yy4;
20216 			if (yych <= 'S') goto yy144;
20217 		}
20218 	} else {
20219 		if (yych <= 's') {
20220 			if (yych <= 'Z') goto yy144;
20221 			if (yych <= '`') goto yy4;
20222 			goto yy144;
20223 		} else {
20224 			if (yych <= 't') goto yy1329;
20225 			if (yych <= 'z') goto yy144;
20226 			goto yy4;
20227 		}
20228 	}
20229 yy1329:
20230 	YYDEBUG(1329, *YYCURSOR);
20231 	yyaccept = 0;
20232 	yych = *(YYMARKER = ++YYCURSOR);
20233 	if (yych <= ')') {
20234 		if (yych == ' ') goto yy1330;
20235 		if (yych <= '(') goto yy4;
20236 		goto yy140;
20237 	} else {
20238 		if (yych <= 'Z') {
20239 			if (yych <= '@') goto yy4;
20240 			goto yy145;
20241 		} else {
20242 			if (yych <= '`') goto yy4;
20243 			if (yych <= 'z') goto yy145;
20244 			goto yy4;
20245 		}
20246 	}
20247 yy1330:
20248 	YYDEBUG(1330, *YYCURSOR);
20249 	yych = *++YYCURSOR;
20250 	if (yych == 'O') goto yy1331;
20251 	if (yych != 'o') goto yy57;
20252 yy1331:
20253 	YYDEBUG(1331, *YYCURSOR);
20254 	yych = *++YYCURSOR;
20255 	if (yych == 'F') goto yy1332;
20256 	if (yych != 'f') goto yy57;
20257 yy1332:
20258 	YYDEBUG(1332, *YYCURSOR);
20259 	yych = *++YYCURSOR;
20260 	if (yych != ' ') goto yy57;
20261 	YYDEBUG(1333, *YYCURSOR);
20262 	yych = *++YYCURSOR;
20263 	if (yych <= '/') goto yy57;
20264 	if (yych <= '1') goto yy1334;
20265 	if (yych <= '2') goto yy1335;
20266 	if (yych <= '9') goto yy1336;
20267 	goto yy57;
20268 yy1334:
20269 	YYDEBUG(1334, *YYCURSOR);
20270 	yyaccept = 28;
20271 	yych = *(YYMARKER = ++YYCURSOR);
20272 	if (yych <= '/') goto yy1337;
20273 	if (yych <= '9') goto yy1336;
20274 	goto yy1337;
20275 yy1335:
20276 	YYDEBUG(1335, *YYCURSOR);
20277 	yyaccept = 28;
20278 	yych = *(YYMARKER = ++YYCURSOR);
20279 	if (yych <= '/') goto yy1337;
20280 	if (yych >= '5') goto yy1337;
20281 yy1336:
20282 	YYDEBUG(1336, *YYCURSOR);
20283 	yyaccept = 28;
20284 	YYMARKER = ++YYCURSOR;
20285 	if ((YYLIMIT - YYCURSOR) < 5) YYFILL(5);
20286 	yych = *YYCURSOR;
20287 yy1337:
20288 	YYDEBUG(1337, *YYCURSOR);
20289 	if (yych <= 'A') {
20290 		if (yych <= 0x1F) {
20291 			if (yych == '\t') goto yy1336;
20292 			goto yy1295;
20293 		} else {
20294 			if (yych <= ' ') goto yy1336;
20295 			if (yych <= '@') goto yy1295;
20296 		}
20297 	} else {
20298 		if (yych <= '`') {
20299 			if (yych != 'P') goto yy1295;
20300 		} else {
20301 			if (yych <= 'a') goto yy1338;
20302 			if (yych != 'p') goto yy1295;
20303 		}
20304 	}
20305 yy1338:
20306 	YYDEBUG(1338, *YYCURSOR);
20307 	yych = *++YYCURSOR;
20308 	if (yych <= 'L') {
20309 		if (yych != '.') goto yy57;
20310 	} else {
20311 		if (yych <= 'M') goto yy1340;
20312 		if (yych == 'm') goto yy1340;
20313 		goto yy57;
20314 	}
20315 	YYDEBUG(1339, *YYCURSOR);
20316 	yych = *++YYCURSOR;
20317 	if (yych == 'M') goto yy1340;
20318 	if (yych != 'm') goto yy57;
20319 yy1340:
20320 	YYDEBUG(1340, *YYCURSOR);
20321 	yych = *++YYCURSOR;
20322 	if (yych <= 0x1F) {
20323 		if (yych <= 0x00) goto yy1303;
20324 		if (yych == '\t') goto yy1303;
20325 		goto yy57;
20326 	} else {
20327 		if (yych <= ' ') goto yy1303;
20328 		if (yych != '.') goto yy57;
20329 	}
20330 	YYDEBUG(1341, *YYCURSOR);
20331 	yych = *++YYCURSOR;
20332 	if (yych <= '\t') {
20333 		if (yych <= 0x00) goto yy1303;
20334 		if (yych <= 0x08) goto yy57;
20335 		goto yy1303;
20336 	} else {
20337 		if (yych == ' ') goto yy1303;
20338 		goto yy57;
20339 	}
20340 yy1342:
20341 	YYDEBUG(1342, *YYCURSOR);
20342 	yych = *++YYCURSOR;
20343 	if (yych <= 'R') {
20344 		if (yych <= ')') {
20345 			if (yych <= '(') goto yy4;
20346 			goto yy140;
20347 		} else {
20348 			if (yych <= '@') goto yy4;
20349 			if (yych <= 'Q') goto yy143;
20350 		}
20351 	} else {
20352 		if (yych <= 'q') {
20353 			if (yych <= 'Z') goto yy143;
20354 			if (yych <= '`') goto yy4;
20355 			goto yy143;
20356 		} else {
20357 			if (yych <= 'r') goto yy1343;
20358 			if (yych <= 'z') goto yy143;
20359 			goto yy4;
20360 		}
20361 	}
20362 yy1343:
20363 	YYDEBUG(1343, *YYCURSOR);
20364 	yych = *++YYCURSOR;
20365 	if (yych <= 'T') {
20366 		if (yych <= ')') {
20367 			if (yych <= '(') goto yy4;
20368 			goto yy140;
20369 		} else {
20370 			if (yych <= '@') goto yy4;
20371 			if (yych <= 'S') goto yy144;
20372 		}
20373 	} else {
20374 		if (yych <= 's') {
20375 			if (yych <= 'Z') goto yy144;
20376 			if (yych <= '`') goto yy4;
20377 			goto yy144;
20378 		} else {
20379 			if (yych <= 't') goto yy1344;
20380 			if (yych <= 'z') goto yy144;
20381 			goto yy4;
20382 		}
20383 	}
20384 yy1344:
20385 	YYDEBUG(1344, *YYCURSOR);
20386 	yych = *++YYCURSOR;
20387 	if (yych <= 'H') {
20388 		if (yych <= ')') {
20389 			if (yych <= '(') goto yy4;
20390 			goto yy140;
20391 		} else {
20392 			if (yych <= '@') goto yy4;
20393 			if (yych <= 'G') goto yy145;
20394 			goto yy1216;
20395 		}
20396 	} else {
20397 		if (yych <= 'g') {
20398 			if (yych <= 'Z') goto yy145;
20399 			if (yych <= '`') goto yy4;
20400 			goto yy145;
20401 		} else {
20402 			if (yych <= 'h') goto yy1216;
20403 			if (yych <= 'z') goto yy145;
20404 			goto yy4;
20405 		}
20406 	}
20407 yy1345:
20408 	YYDEBUG(1345, *YYCURSOR);
20409 	yych = *++YYCURSOR;
20410 	if (yych <= 'S') {
20411 		if (yych <= ')') {
20412 			if (yych <= '(') goto yy4;
20413 			goto yy140;
20414 		} else {
20415 			if (yych <= '@') goto yy4;
20416 			if (yych <= 'R') goto yy143;
20417 			goto yy1348;
20418 		}
20419 	} else {
20420 		if (yych <= 'r') {
20421 			if (yych <= 'Z') goto yy143;
20422 			if (yych <= '`') goto yy4;
20423 			goto yy143;
20424 		} else {
20425 			if (yych <= 's') goto yy1348;
20426 			if (yych <= 'z') goto yy143;
20427 			goto yy4;
20428 		}
20429 	}
20430 yy1346:
20431 	YYDEBUG(1346, *YYCURSOR);
20432 	yych = *++YYCURSOR;
20433 	if (yych <= 'T') {
20434 		if (yych <= ')') {
20435 			if (yych <= '(') goto yy4;
20436 			goto yy140;
20437 		} else {
20438 			if (yych <= '@') goto yy4;
20439 			if (yych <= 'S') goto yy143;
20440 		}
20441 	} else {
20442 		if (yych <= 's') {
20443 			if (yych <= 'Z') goto yy143;
20444 			if (yych <= '`') goto yy4;
20445 			goto yy143;
20446 		} else {
20447 			if (yych <= 't') goto yy1347;
20448 			if (yych <= 'z') goto yy143;
20449 			goto yy4;
20450 		}
20451 	}
20452 yy1347:
20453 	YYDEBUG(1347, *YYCURSOR);
20454 	yych = *++YYCURSOR;
20455 	if (yych <= 'H') {
20456 		if (yych <= ')') {
20457 			if (yych <= '(') goto yy4;
20458 			goto yy140;
20459 		} else {
20460 			if (yych <= '@') goto yy4;
20461 			if (yych <= 'G') goto yy144;
20462 			goto yy1239;
20463 		}
20464 	} else {
20465 		if (yych <= 'g') {
20466 			if (yych <= 'Z') goto yy144;
20467 			if (yych <= '`') goto yy4;
20468 			goto yy144;
20469 		} else {
20470 			if (yych <= 'h') goto yy1239;
20471 			if (yych <= 'z') goto yy144;
20472 			goto yy4;
20473 		}
20474 	}
20475 yy1348:
20476 	YYDEBUG(1348, *YYCURSOR);
20477 	yych = *++YYCURSOR;
20478 	if (yych <= 'T') {
20479 		if (yych <= ')') {
20480 			if (yych <= '(') goto yy4;
20481 			goto yy140;
20482 		} else {
20483 			if (yych <= '@') goto yy4;
20484 			if (yych <= 'S') goto yy144;
20485 		}
20486 	} else {
20487 		if (yych <= 's') {
20488 			if (yych <= 'Z') goto yy144;
20489 			if (yych <= '`') goto yy4;
20490 			goto yy144;
20491 		} else {
20492 			if (yych <= 't') goto yy1349;
20493 			if (yych <= 'z') goto yy144;
20494 			goto yy4;
20495 		}
20496 	}
20497 yy1349:
20498 	YYDEBUG(1349, *YYCURSOR);
20499 	yyaccept = 0;
20500 	yych = *(YYMARKER = ++YYCURSOR);
20501 	if (yych <= '(') {
20502 		if (yych <= '\t') {
20503 			if (yych <= 0x08) goto yy4;
20504 			goto yy1207;
20505 		} else {
20506 			if (yych != ' ') goto yy4;
20507 		}
20508 	} else {
20509 		if (yych <= 'Z') {
20510 			if (yych <= ')') goto yy140;
20511 			if (yych <= '@') goto yy4;
20512 			goto yy145;
20513 		} else {
20514 			if (yych <= '`') goto yy4;
20515 			if (yych <= 'z') goto yy145;
20516 			goto yy4;
20517 		}
20518 	}
20519 yy1350:
20520 	YYDEBUG(1350, *YYCURSOR);
20521 	yych = *++YYCURSOR;
20522 	if (yych == 'D') goto yy1351;
20523 	if (yych != 'd') goto yy1208;
20524 yy1351:
20525 	YYDEBUG(1351, *YYCURSOR);
20526 	yych = *++YYCURSOR;
20527 	if (yych == 'A') goto yy1352;
20528 	if (yych != 'a') goto yy57;
20529 yy1352:
20530 	YYDEBUG(1352, *YYCURSOR);
20531 	yych = *++YYCURSOR;
20532 	if (yych == 'Y') goto yy1353;
20533 	if (yych != 'y') goto yy57;
20534 yy1353:
20535 	YYDEBUG(1353, *YYCURSOR);
20536 	yyaccept = 26;
20537 	yych = *(YYMARKER = ++YYCURSOR);
20538 	if (yych <= 'R') {
20539 		if (yych != ' ') goto yy1118;
20540 	} else {
20541 		if (yych <= 'S') goto yy1143;
20542 		if (yych == 's') goto yy1143;
20543 		goto yy1118;
20544 	}
20545 	YYDEBUG(1354, *YYCURSOR);
20546 	yych = *++YYCURSOR;
20547 	if (yych == 'O') goto yy1355;
20548 	if (yych != 'o') goto yy57;
20549 yy1355:
20550 	YYDEBUG(1355, *YYCURSOR);
20551 	yych = *++YYCURSOR;
20552 	if (yych == 'F') goto yy1316;
20553 	if (yych == 'f') goto yy1316;
20554 	goto yy57;
20555 yy1356:
20556 	YYDEBUG(1356, *YYCURSOR);
20557 	yyaccept = 5;
20558 	yych = *(YYMARKER = ++YYCURSOR);
20559 	if (yych <= '/') {
20560 		if (yych <= '(') {
20561 			if (yych <= '\t') {
20562 				if (yych <= 0x08) goto yy194;
20563 				goto yy196;
20564 			} else {
20565 				if (yych == ' ') goto yy196;
20566 				goto yy194;
20567 			}
20568 		} else {
20569 			if (yych <= ',') {
20570 				if (yych <= ')') goto yy140;
20571 				goto yy194;
20572 			} else {
20573 				if (yych <= '-') goto yy197;
20574 				if (yych <= '.') goto yy196;
20575 				goto yy194;
20576 			}
20577 		}
20578 	} else {
20579 		if (yych <= 'Z') {
20580 			if (yych <= '@') {
20581 				if (yych <= '9') goto yy196;
20582 				goto yy194;
20583 			} else {
20584 				if (yych != 'R') goto yy143;
20585 			}
20586 		} else {
20587 			if (yych <= 'q') {
20588 				if (yych <= '`') goto yy194;
20589 				goto yy143;
20590 			} else {
20591 				if (yych <= 'r') goto yy1357;
20592 				if (yych <= 'z') goto yy143;
20593 				goto yy194;
20594 			}
20595 		}
20596 	}
20597 yy1357:
20598 	YYDEBUG(1357, *YYCURSOR);
20599 	yych = *++YYCURSOR;
20600 	if (yych <= 'U') {
20601 		if (yych <= ')') {
20602 			if (yych <= '(') goto yy4;
20603 			goto yy140;
20604 		} else {
20605 			if (yych <= '@') goto yy4;
20606 			if (yych <= 'T') goto yy144;
20607 		}
20608 	} else {
20609 		if (yych <= 't') {
20610 			if (yych <= 'Z') goto yy144;
20611 			if (yych <= '`') goto yy4;
20612 			goto yy144;
20613 		} else {
20614 			if (yych <= 'u') goto yy1358;
20615 			if (yych <= 'z') goto yy144;
20616 			goto yy4;
20617 		}
20618 	}
20619 yy1358:
20620 	YYDEBUG(1358, *YYCURSOR);
20621 	yych = *++YYCURSOR;
20622 	if (yych <= 'A') {
20623 		if (yych == ')') goto yy140;
20624 		if (yych <= '@') goto yy4;
20625 	} else {
20626 		if (yych <= '`') {
20627 			if (yych <= 'Z') goto yy145;
20628 			goto yy4;
20629 		} else {
20630 			if (yych <= 'a') goto yy1359;
20631 			if (yych <= 'z') goto yy145;
20632 			goto yy4;
20633 		}
20634 	}
20635 yy1359:
20636 	YYDEBUG(1359, *YYCURSOR);
20637 	yyaccept = 0;
20638 	yych = *(YYMARKER = ++YYCURSOR);
20639 	if (yych <= 'Q') {
20640 		if (yych == ')') goto yy140;
20641 		goto yy4;
20642 	} else {
20643 		if (yych <= 'R') goto yy1360;
20644 		if (yych != 'r') goto yy4;
20645 	}
20646 yy1360:
20647 	YYDEBUG(1360, *YYCURSOR);
20648 	yych = *++YYCURSOR;
20649 	if (yych == 'Y') goto yy206;
20650 	if (yych == 'y') goto yy206;
20651 	goto yy57;
20652 yy1361:
20653 	YYDEBUG(1361, *YYCURSOR);
20654 	yyaccept = 0;
20655 	yych = *(YYMARKER = ++YYCURSOR);
20656 	if (yych <= 'A') {
20657 		if (yych <= '-') {
20658 			if (yych == ')') goto yy140;
20659 			if (yych <= ',') goto yy4;
20660 			goto yy148;
20661 		} else {
20662 			if (yych == '/') goto yy148;
20663 			if (yych <= '@') goto yy4;
20664 			goto yy142;
20665 		}
20666 	} else {
20667 		if (yych <= '_') {
20668 			if (yych <= 'B') goto yy1356;
20669 			if (yych <= 'Z') goto yy142;
20670 			if (yych <= '^') goto yy4;
20671 			goto yy148;
20672 		} else {
20673 			if (yych <= 'a') {
20674 				if (yych <= '`') goto yy4;
20675 				goto yy147;
20676 			} else {
20677 				if (yych <= 'b') goto yy1379;
20678 				if (yych <= 'z') goto yy147;
20679 				goto yy4;
20680 			}
20681 		}
20682 	}
20683 yy1362:
20684 	YYDEBUG(1362, *YYCURSOR);
20685 	yyaccept = 0;
20686 	yych = *(YYMARKER = ++YYCURSOR);
20687 	if (yych <= 'Q') {
20688 		if (yych <= '.') {
20689 			if (yych <= ')') {
20690 				if (yych <= '(') goto yy4;
20691 				goto yy140;
20692 			} else {
20693 				if (yych == '-') goto yy148;
20694 				goto yy4;
20695 			}
20696 		} else {
20697 			if (yych <= '@') {
20698 				if (yych <= '/') goto yy148;
20699 				goto yy4;
20700 			} else {
20701 				if (yych == 'F') goto yy1346;
20702 				goto yy142;
20703 			}
20704 		}
20705 	} else {
20706 		if (yych <= '`') {
20707 			if (yych <= 'Z') {
20708 				if (yych <= 'R') goto yy1345;
20709 				goto yy142;
20710 			} else {
20711 				if (yych == '_') goto yy148;
20712 				goto yy4;
20713 			}
20714 		} else {
20715 			if (yych <= 'q') {
20716 				if (yych == 'f') goto yy1375;
20717 				goto yy147;
20718 			} else {
20719 				if (yych <= 'r') goto yy1374;
20720 				if (yych <= 'z') goto yy147;
20721 				goto yy4;
20722 			}
20723 		}
20724 	}
20725 yy1363:
20726 	YYDEBUG(1363, *YYCURSOR);
20727 	yyaccept = 0;
20728 	yych = *(YYMARKER = ++YYCURSOR);
20729 	if (yych <= 'T') {
20730 		if (yych <= '-') {
20731 			if (yych == ')') goto yy140;
20732 			if (yych <= ',') goto yy4;
20733 			goto yy148;
20734 		} else {
20735 			if (yych == '/') goto yy148;
20736 			if (yych <= '@') goto yy4;
20737 			goto yy142;
20738 		}
20739 	} else {
20740 		if (yych <= '_') {
20741 			if (yych <= 'U') goto yy1342;
20742 			if (yych <= 'Z') goto yy142;
20743 			if (yych <= '^') goto yy4;
20744 			goto yy148;
20745 		} else {
20746 			if (yych <= 't') {
20747 				if (yych <= '`') goto yy4;
20748 				goto yy147;
20749 			} else {
20750 				if (yych <= 'u') goto yy1371;
20751 				if (yych <= 'z') goto yy147;
20752 				goto yy4;
20753 			}
20754 		}
20755 	}
20756 yy1364:
20757 	YYDEBUG(1364, *YYCURSOR);
20758 	yyaccept = 0;
20759 	yych = *(YYMARKER = ++YYCURSOR);
20760 	if (yych <= 'N') {
20761 		if (yych <= '.') {
20762 			if (yych <= ')') {
20763 				if (yych <= '(') goto yy4;
20764 				goto yy140;
20765 			} else {
20766 				if (yych == '-') goto yy148;
20767 				goto yy4;
20768 			}
20769 		} else {
20770 			if (yych <= '@') {
20771 				if (yych <= '/') goto yy148;
20772 				goto yy4;
20773 			} else {
20774 				if (yych == 'I') goto yy1325;
20775 				goto yy142;
20776 			}
20777 		}
20778 	} else {
20779 		if (yych <= '`') {
20780 			if (yych <= 'Z') {
20781 				if (yych <= 'O') goto yy1324;
20782 				goto yy142;
20783 			} else {
20784 				if (yych == '_') goto yy148;
20785 				goto yy4;
20786 			}
20787 		} else {
20788 			if (yych <= 'n') {
20789 				if (yych == 'i') goto yy1366;
20790 				goto yy147;
20791 			} else {
20792 				if (yych <= 'o') goto yy1365;
20793 				if (yych <= 'z') goto yy147;
20794 				goto yy4;
20795 			}
20796 		}
20797 	}
20798 yy1365:
20799 	YYDEBUG(1365, *YYCURSOR);
20800 	yyaccept = 0;
20801 	yych = *(YYMARKER = ++YYCURSOR);
20802 	if (yych <= 'M') {
20803 		if (yych <= '-') {
20804 			if (yych == ')') goto yy140;
20805 			if (yych <= ',') goto yy4;
20806 			goto yy148;
20807 		} else {
20808 			if (yych == '/') goto yy148;
20809 			if (yych <= '@') goto yy4;
20810 			goto yy143;
20811 		}
20812 	} else {
20813 		if (yych <= '_') {
20814 			if (yych <= 'N') goto yy1328;
20815 			if (yych <= 'Z') goto yy143;
20816 			if (yych <= '^') goto yy4;
20817 			goto yy148;
20818 		} else {
20819 			if (yych <= 'm') {
20820 				if (yych <= '`') goto yy4;
20821 				goto yy151;
20822 			} else {
20823 				if (yych <= 'n') goto yy1369;
20824 				if (yych <= 'z') goto yy151;
20825 				goto yy4;
20826 			}
20827 		}
20828 	}
20829 yy1366:
20830 	YYDEBUG(1366, *YYCURSOR);
20831 	yyaccept = 4;
20832 	yych = *(YYMARKER = ++YYCURSOR);
20833 	if (yych <= 'C') {
20834 		if (yych <= '-') {
20835 			if (yych == ')') goto yy140;
20836 			if (yych <= ',') goto yy167;
20837 			goto yy148;
20838 		} else {
20839 			if (yych == '/') goto yy148;
20840 			if (yych <= '@') goto yy167;
20841 			goto yy143;
20842 		}
20843 	} else {
20844 		if (yych <= '_') {
20845 			if (yych <= 'D') goto yy1326;
20846 			if (yych <= 'Z') goto yy143;
20847 			if (yych <= '^') goto yy167;
20848 			goto yy148;
20849 		} else {
20850 			if (yych <= 'c') {
20851 				if (yych <= '`') goto yy167;
20852 				goto yy151;
20853 			} else {
20854 				if (yych <= 'd') goto yy1367;
20855 				if (yych <= 'z') goto yy151;
20856 				goto yy167;
20857 			}
20858 		}
20859 	}
20860 yy1367:
20861 	YYDEBUG(1367, *YYCURSOR);
20862 	yyaccept = 0;
20863 	yych = *(YYMARKER = ++YYCURSOR);
20864 	if (yych <= '@') {
20865 		if (yych <= ',') {
20866 			if (yych == ')') goto yy140;
20867 			goto yy4;
20868 		} else {
20869 			if (yych == '.') goto yy4;
20870 			if (yych <= '/') goto yy148;
20871 			goto yy4;
20872 		}
20873 	} else {
20874 		if (yych <= '_') {
20875 			if (yych <= 'A') goto yy1327;
20876 			if (yych <= 'Z') goto yy144;
20877 			if (yych <= '^') goto yy4;
20878 			goto yy148;
20879 		} else {
20880 			if (yych <= '`') goto yy4;
20881 			if (yych <= 'a') goto yy1368;
20882 			if (yych <= 'z') goto yy152;
20883 			goto yy4;
20884 		}
20885 	}
20886 yy1368:
20887 	YYDEBUG(1368, *YYCURSOR);
20888 	yyaccept = 0;
20889 	yych = *(YYMARKER = ++YYCURSOR);
20890 	if (yych <= 'X') {
20891 		if (yych <= '-') {
20892 			if (yych == ')') goto yy140;
20893 			if (yych <= ',') goto yy4;
20894 			goto yy148;
20895 		} else {
20896 			if (yych == '/') goto yy148;
20897 			if (yych <= '@') goto yy4;
20898 			goto yy145;
20899 		}
20900 	} else {
20901 		if (yych <= '_') {
20902 			if (yych <= 'Y') goto yy1236;
20903 			if (yych <= 'Z') goto yy145;
20904 			if (yych <= '^') goto yy4;
20905 			goto yy148;
20906 		} else {
20907 			if (yych <= 'x') {
20908 				if (yych <= '`') goto yy4;
20909 				goto yy153;
20910 			} else {
20911 				if (yych <= 'y') goto yy1265;
20912 				if (yych <= 'z') goto yy153;
20913 				goto yy4;
20914 			}
20915 		}
20916 	}
20917 yy1369:
20918 	YYDEBUG(1369, *YYCURSOR);
20919 	yyaccept = 0;
20920 	yych = *(YYMARKER = ++YYCURSOR);
20921 	if (yych <= 'S') {
20922 		if (yych <= '-') {
20923 			if (yych == ')') goto yy140;
20924 			if (yych <= ',') goto yy4;
20925 			goto yy148;
20926 		} else {
20927 			if (yych == '/') goto yy148;
20928 			if (yych <= '@') goto yy4;
20929 			goto yy144;
20930 		}
20931 	} else {
20932 		if (yych <= '_') {
20933 			if (yych <= 'T') goto yy1329;
20934 			if (yych <= 'Z') goto yy144;
20935 			if (yych <= '^') goto yy4;
20936 			goto yy148;
20937 		} else {
20938 			if (yych <= 's') {
20939 				if (yych <= '`') goto yy4;
20940 				goto yy152;
20941 			} else {
20942 				if (yych <= 't') goto yy1370;
20943 				if (yych <= 'z') goto yy152;
20944 				goto yy4;
20945 			}
20946 		}
20947 	}
20948 yy1370:
20949 	YYDEBUG(1370, *YYCURSOR);
20950 	yyaccept = 0;
20951 	yych = *(YYMARKER = ++YYCURSOR);
20952 	if (yych <= '.') {
20953 		if (yych <= '(') {
20954 			if (yych == ' ') goto yy1330;
20955 			goto yy4;
20956 		} else {
20957 			if (yych <= ')') goto yy140;
20958 			if (yych == '-') goto yy148;
20959 			goto yy4;
20960 		}
20961 	} else {
20962 		if (yych <= '^') {
20963 			if (yych <= '/') goto yy148;
20964 			if (yych <= '@') goto yy4;
20965 			if (yych <= 'Z') goto yy145;
20966 			goto yy4;
20967 		} else {
20968 			if (yych <= '_') goto yy148;
20969 			if (yych <= '`') goto yy4;
20970 			if (yych <= 'z') goto yy153;
20971 			goto yy4;
20972 		}
20973 	}
20974 yy1371:
20975 	YYDEBUG(1371, *YYCURSOR);
20976 	yyaccept = 0;
20977 	yych = *(YYMARKER = ++YYCURSOR);
20978 	if (yych <= 'Q') {
20979 		if (yych <= '-') {
20980 			if (yych == ')') goto yy140;
20981 			if (yych <= ',') goto yy4;
20982 			goto yy148;
20983 		} else {
20984 			if (yych == '/') goto yy148;
20985 			if (yych <= '@') goto yy4;
20986 			goto yy143;
20987 		}
20988 	} else {
20989 		if (yych <= '_') {
20990 			if (yych <= 'R') goto yy1343;
20991 			if (yych <= 'Z') goto yy143;
20992 			if (yych <= '^') goto yy4;
20993 			goto yy148;
20994 		} else {
20995 			if (yych <= 'q') {
20996 				if (yych <= '`') goto yy4;
20997 				goto yy151;
20998 			} else {
20999 				if (yych <= 'r') goto yy1372;
21000 				if (yych <= 'z') goto yy151;
21001 				goto yy4;
21002 			}
21003 		}
21004 	}
21005 yy1372:
21006 	YYDEBUG(1372, *YYCURSOR);
21007 	yyaccept = 0;
21008 	yych = *(YYMARKER = ++YYCURSOR);
21009 	if (yych <= 'S') {
21010 		if (yych <= '-') {
21011 			if (yych == ')') goto yy140;
21012 			if (yych <= ',') goto yy4;
21013 			goto yy148;
21014 		} else {
21015 			if (yych == '/') goto yy148;
21016 			if (yych <= '@') goto yy4;
21017 			goto yy144;
21018 		}
21019 	} else {
21020 		if (yych <= '_') {
21021 			if (yych <= 'T') goto yy1344;
21022 			if (yych <= 'Z') goto yy144;
21023 			if (yych <= '^') goto yy4;
21024 			goto yy148;
21025 		} else {
21026 			if (yych <= 's') {
21027 				if (yych <= '`') goto yy4;
21028 				goto yy152;
21029 			} else {
21030 				if (yych <= 't') goto yy1373;
21031 				if (yych <= 'z') goto yy152;
21032 				goto yy4;
21033 			}
21034 		}
21035 	}
21036 yy1373:
21037 	YYDEBUG(1373, *YYCURSOR);
21038 	yyaccept = 0;
21039 	yych = *(YYMARKER = ++YYCURSOR);
21040 	if (yych <= 'G') {
21041 		if (yych <= '-') {
21042 			if (yych == ')') goto yy140;
21043 			if (yych <= ',') goto yy4;
21044 			goto yy148;
21045 		} else {
21046 			if (yych == '/') goto yy148;
21047 			if (yych <= '@') goto yy4;
21048 			goto yy145;
21049 		}
21050 	} else {
21051 		if (yych <= '_') {
21052 			if (yych <= 'H') goto yy1216;
21053 			if (yych <= 'Z') goto yy145;
21054 			if (yych <= '^') goto yy4;
21055 			goto yy148;
21056 		} else {
21057 			if (yych <= 'g') {
21058 				if (yych <= '`') goto yy4;
21059 				goto yy153;
21060 			} else {
21061 				if (yych <= 'h') goto yy1228;
21062 				if (yych <= 'z') goto yy153;
21063 				goto yy4;
21064 			}
21065 		}
21066 	}
21067 yy1374:
21068 	YYDEBUG(1374, *YYCURSOR);
21069 	yyaccept = 0;
21070 	yych = *(YYMARKER = ++YYCURSOR);
21071 	if (yych <= 'R') {
21072 		if (yych <= '-') {
21073 			if (yych == ')') goto yy140;
21074 			if (yych <= ',') goto yy4;
21075 			goto yy148;
21076 		} else {
21077 			if (yych == '/') goto yy148;
21078 			if (yych <= '@') goto yy4;
21079 			goto yy143;
21080 		}
21081 	} else {
21082 		if (yych <= '_') {
21083 			if (yych <= 'S') goto yy1348;
21084 			if (yych <= 'Z') goto yy143;
21085 			if (yych <= '^') goto yy4;
21086 			goto yy148;
21087 		} else {
21088 			if (yych <= 'r') {
21089 				if (yych <= '`') goto yy4;
21090 				goto yy151;
21091 			} else {
21092 				if (yych <= 's') goto yy1377;
21093 				if (yych <= 'z') goto yy151;
21094 				goto yy4;
21095 			}
21096 		}
21097 	}
21098 yy1375:
21099 	YYDEBUG(1375, *YYCURSOR);
21100 	yyaccept = 0;
21101 	yych = *(YYMARKER = ++YYCURSOR);
21102 	if (yych <= 'S') {
21103 		if (yych <= '-') {
21104 			if (yych == ')') goto yy140;
21105 			if (yych <= ',') goto yy4;
21106 			goto yy148;
21107 		} else {
21108 			if (yych == '/') goto yy148;
21109 			if (yych <= '@') goto yy4;
21110 			goto yy143;
21111 		}
21112 	} else {
21113 		if (yych <= '_') {
21114 			if (yych <= 'T') goto yy1347;
21115 			if (yych <= 'Z') goto yy143;
21116 			if (yych <= '^') goto yy4;
21117 			goto yy148;
21118 		} else {
21119 			if (yych <= 's') {
21120 				if (yych <= '`') goto yy4;
21121 				goto yy151;
21122 			} else {
21123 				if (yych <= 't') goto yy1376;
21124 				if (yych <= 'z') goto yy151;
21125 				goto yy4;
21126 			}
21127 		}
21128 	}
21129 yy1376:
21130 	YYDEBUG(1376, *YYCURSOR);
21131 	yyaccept = 0;
21132 	yych = *(YYMARKER = ++YYCURSOR);
21133 	if (yych <= 'G') {
21134 		if (yych <= '-') {
21135 			if (yych == ')') goto yy140;
21136 			if (yych <= ',') goto yy4;
21137 			goto yy148;
21138 		} else {
21139 			if (yych == '/') goto yy148;
21140 			if (yych <= '@') goto yy4;
21141 			goto yy144;
21142 		}
21143 	} else {
21144 		if (yych <= '_') {
21145 			if (yych <= 'H') goto yy1239;
21146 			if (yych <= 'Z') goto yy144;
21147 			if (yych <= '^') goto yy4;
21148 			goto yy148;
21149 		} else {
21150 			if (yych <= 'g') {
21151 				if (yych <= '`') goto yy4;
21152 				goto yy152;
21153 			} else {
21154 				if (yych <= 'h') goto yy1268;
21155 				if (yych <= 'z') goto yy152;
21156 				goto yy4;
21157 			}
21158 		}
21159 	}
21160 yy1377:
21161 	YYDEBUG(1377, *YYCURSOR);
21162 	yyaccept = 0;
21163 	yych = *(YYMARKER = ++YYCURSOR);
21164 	if (yych <= 'S') {
21165 		if (yych <= '-') {
21166 			if (yych == ')') goto yy140;
21167 			if (yych <= ',') goto yy4;
21168 			goto yy148;
21169 		} else {
21170 			if (yych == '/') goto yy148;
21171 			if (yych <= '@') goto yy4;
21172 			goto yy144;
21173 		}
21174 	} else {
21175 		if (yych <= '_') {
21176 			if (yych <= 'T') goto yy1349;
21177 			if (yych <= 'Z') goto yy144;
21178 			if (yych <= '^') goto yy4;
21179 			goto yy148;
21180 		} else {
21181 			if (yych <= 's') {
21182 				if (yych <= '`') goto yy4;
21183 				goto yy152;
21184 			} else {
21185 				if (yych <= 't') goto yy1378;
21186 				if (yych <= 'z') goto yy152;
21187 				goto yy4;
21188 			}
21189 		}
21190 	}
21191 yy1378:
21192 	YYDEBUG(1378, *YYCURSOR);
21193 	yyaccept = 0;
21194 	yych = *(YYMARKER = ++YYCURSOR);
21195 	if (yych <= '-') {
21196 		if (yych <= ' ') {
21197 			if (yych == '\t') goto yy1207;
21198 			if (yych <= 0x1F) goto yy4;
21199 			goto yy1350;
21200 		} else {
21201 			if (yych == ')') goto yy140;
21202 			if (yych <= ',') goto yy4;
21203 			goto yy148;
21204 		}
21205 	} else {
21206 		if (yych <= 'Z') {
21207 			if (yych == '/') goto yy148;
21208 			if (yych <= '@') goto yy4;
21209 			goto yy145;
21210 		} else {
21211 			if (yych <= '_') {
21212 				if (yych <= '^') goto yy4;
21213 				goto yy148;
21214 			} else {
21215 				if (yych <= '`') goto yy4;
21216 				if (yych <= 'z') goto yy153;
21217 				goto yy4;
21218 			}
21219 		}
21220 	}
21221 yy1379:
21222 	YYDEBUG(1379, *YYCURSOR);
21223 	yyaccept = 5;
21224 	yych = *(YYMARKER = ++YYCURSOR);
21225 	if (yych <= '9') {
21226 		if (yych <= '(') {
21227 			if (yych <= '\t') {
21228 				if (yych <= 0x08) goto yy194;
21229 				goto yy196;
21230 			} else {
21231 				if (yych == ' ') goto yy196;
21232 				goto yy194;
21233 			}
21234 		} else {
21235 			if (yych <= '-') {
21236 				if (yych <= ')') goto yy140;
21237 				if (yych <= ',') goto yy194;
21238 				goto yy372;
21239 			} else {
21240 				if (yych == '/') goto yy148;
21241 				goto yy196;
21242 			}
21243 		}
21244 	} else {
21245 		if (yych <= '^') {
21246 			if (yych <= 'Q') {
21247 				if (yych <= '@') goto yy194;
21248 				goto yy143;
21249 			} else {
21250 				if (yych <= 'R') goto yy1357;
21251 				if (yych <= 'Z') goto yy143;
21252 				goto yy194;
21253 			}
21254 		} else {
21255 			if (yych <= 'q') {
21256 				if (yych <= '_') goto yy148;
21257 				if (yych <= '`') goto yy194;
21258 				goto yy151;
21259 			} else {
21260 				if (yych <= 'r') goto yy1380;
21261 				if (yych <= 'z') goto yy151;
21262 				goto yy194;
21263 			}
21264 		}
21265 	}
21266 yy1380:
21267 	YYDEBUG(1380, *YYCURSOR);
21268 	yyaccept = 0;
21269 	yych = *(YYMARKER = ++YYCURSOR);
21270 	if (yych <= 'T') {
21271 		if (yych <= '-') {
21272 			if (yych == ')') goto yy140;
21273 			if (yych <= ',') goto yy4;
21274 			goto yy148;
21275 		} else {
21276 			if (yych == '/') goto yy148;
21277 			if (yych <= '@') goto yy4;
21278 			goto yy144;
21279 		}
21280 	} else {
21281 		if (yych <= '_') {
21282 			if (yych <= 'U') goto yy1358;
21283 			if (yych <= 'Z') goto yy144;
21284 			if (yych <= '^') goto yy4;
21285 			goto yy148;
21286 		} else {
21287 			if (yych <= 't') {
21288 				if (yych <= '`') goto yy4;
21289 				goto yy152;
21290 			} else {
21291 				if (yych <= 'u') goto yy1381;
21292 				if (yych <= 'z') goto yy152;
21293 				goto yy4;
21294 			}
21295 		}
21296 	}
21297 yy1381:
21298 	YYDEBUG(1381, *YYCURSOR);
21299 	yyaccept = 0;
21300 	yych = *(YYMARKER = ++YYCURSOR);
21301 	if (yych <= '@') {
21302 		if (yych <= ',') {
21303 			if (yych == ')') goto yy140;
21304 			goto yy4;
21305 		} else {
21306 			if (yych == '.') goto yy4;
21307 			if (yych <= '/') goto yy148;
21308 			goto yy4;
21309 		}
21310 	} else {
21311 		if (yych <= '_') {
21312 			if (yych <= 'A') goto yy1359;
21313 			if (yych <= 'Z') goto yy145;
21314 			if (yych <= '^') goto yy4;
21315 			goto yy148;
21316 		} else {
21317 			if (yych <= '`') goto yy4;
21318 			if (yych <= 'a') goto yy1382;
21319 			if (yych <= 'z') goto yy153;
21320 			goto yy4;
21321 		}
21322 	}
21323 yy1382:
21324 	YYDEBUG(1382, *YYCURSOR);
21325 	yyaccept = 0;
21326 	yych = *(YYMARKER = ++YYCURSOR);
21327 	if (yych <= 'Q') {
21328 		if (yych <= ',') {
21329 			if (yych == ')') goto yy140;
21330 			goto yy4;
21331 		} else {
21332 			if (yych == '.') goto yy4;
21333 			if (yych <= '/') goto yy148;
21334 			goto yy4;
21335 		}
21336 	} else {
21337 		if (yych <= '`') {
21338 			if (yych <= 'R') goto yy1360;
21339 			if (yych == '_') goto yy148;
21340 			goto yy4;
21341 		} else {
21342 			if (yych == 'r') goto yy1383;
21343 			if (yych <= 'z') goto yy154;
21344 			goto yy4;
21345 		}
21346 	}
21347 yy1383:
21348 	YYDEBUG(1383, *YYCURSOR);
21349 	yych = *++YYCURSOR;
21350 	if (yych == 'Y') goto yy206;
21351 	if (yych == 'y') goto yy377;
21352 	goto yy155;
21353 yy1384:
21354 	YYDEBUG(1384, *YYCURSOR);
21355 	yych = *++YYCURSOR;
21356 	if (yych <= '/') goto yy57;
21357 	if (yych >= ':') goto yy57;
21358 yy1385:
21359 	YYDEBUG(1385, *YYCURSOR);
21360 	++YYCURSOR;
21361 	if (YYLIMIT <= YYCURSOR) YYFILL(1);
21362 	yych = *YYCURSOR;
21363 	YYDEBUG(1386, *YYCURSOR);
21364 	if (yych <= '/') goto yy1387;
21365 	if (yych <= '9') goto yy1385;
21366 yy1387:
21367 	YYDEBUG(1387, *YYCURSOR);
21368 #line 1060 "ext/date/lib/parse_date.re"
21369 	{
21370 		timelib_ull i;
21371 
21372 		TIMELIB_INIT;
21373 		TIMELIB_HAVE_RELATIVE();
21374 		TIMELIB_UNHAVE_DATE();
21375 		TIMELIB_UNHAVE_TIME();
21376 		TIMELIB_HAVE_TZ();
21377 
21378 		i = timelib_get_unsigned_nr((char **) &ptr, 24);
21379 		s->time->y = 1970;
21380 		s->time->m = 1;
21381 		s->time->d = 1;
21382 		s->time->h = s->time->i = s->time->s = 0;
21383 		s->time->f = 0.0;
21384 		s->time->relative.s += i;
21385 		s->time->is_localtime = 1;
21386 		s->time->zone_type = TIMELIB_ZONETYPE_OFFSET;
21387 		s->time->z = 0;
21388 
21389 		TIMELIB_DEINIT;
21390 		return TIMELIB_RELATIVE;
21391 	}
21392 #line 21393 "ext/date/lib/parse_date.c"
21393 yy1388:
21394 	YYDEBUG(1388, *YYCURSOR);
21395 	yych = *++YYCURSOR;
21396 	if (yych <= 'N') {
21397 		if (yych <= ')') {
21398 			if (yych <= '(') goto yy4;
21399 			goto yy140;
21400 		} else {
21401 			if (yych <= '@') goto yy4;
21402 			if (yych <= 'M') goto yy142;
21403 			goto yy1429;
21404 		}
21405 	} else {
21406 		if (yych <= 'm') {
21407 			if (yych <= 'Z') goto yy142;
21408 			if (yych <= '`') goto yy4;
21409 			goto yy142;
21410 		} else {
21411 			if (yych <= 'n') goto yy1429;
21412 			if (yych <= 'z') goto yy142;
21413 			goto yy4;
21414 		}
21415 	}
21416 yy1389:
21417 	YYDEBUG(1389, *YYCURSOR);
21418 	yych = *++YYCURSOR;
21419 	if (yych <= 'U') {
21420 		if (yych <= '@') {
21421 			if (yych == ')') goto yy140;
21422 			goto yy4;
21423 		} else {
21424 			if (yych == 'I') goto yy1421;
21425 			if (yych <= 'T') goto yy142;
21426 			goto yy1422;
21427 		}
21428 	} else {
21429 		if (yych <= 'i') {
21430 			if (yych <= 'Z') goto yy142;
21431 			if (yych <= '`') goto yy4;
21432 			if (yych <= 'h') goto yy142;
21433 			goto yy1421;
21434 		} else {
21435 			if (yych == 'u') goto yy1422;
21436 			if (yych <= 'z') goto yy142;
21437 			goto yy4;
21438 		}
21439 	}
21440 yy1390:
21441 	YYDEBUG(1390, *YYCURSOR);
21442 	yych = *++YYCURSOR;
21443 	if (yych <= 'M') {
21444 		if (yych <= '@') {
21445 			if (yych == ')') goto yy140;
21446 			goto yy4;
21447 		} else {
21448 			if (yych == 'D') goto yy1410;
21449 			if (yych <= 'L') goto yy142;
21450 			goto yy1411;
21451 		}
21452 	} else {
21453 		if (yych <= 'd') {
21454 			if (yych <= 'Z') goto yy142;
21455 			if (yych <= '`') goto yy4;
21456 			if (yych <= 'c') goto yy142;
21457 			goto yy1410;
21458 		} else {
21459 			if (yych == 'm') goto yy1411;
21460 			if (yych <= 'z') goto yy142;
21461 			goto yy4;
21462 		}
21463 	}
21464 yy1391:
21465 	YYDEBUG(1391, *YYCURSOR);
21466 	yych = *++YYCURSOR;
21467 	if (yych <= 'E') {
21468 		if (yych <= ')') {
21469 			if (yych <= '(') goto yy4;
21470 			goto yy140;
21471 		} else {
21472 			if (yych <= '@') goto yy4;
21473 			if (yych <= 'D') goto yy142;
21474 			goto yy1406;
21475 		}
21476 	} else {
21477 		if (yych <= 'd') {
21478 			if (yych <= 'Z') goto yy142;
21479 			if (yych <= '`') goto yy4;
21480 			goto yy142;
21481 		} else {
21482 			if (yych <= 'e') goto yy1406;
21483 			if (yych <= 'z') goto yy142;
21484 			goto yy4;
21485 		}
21486 	}
21487 yy1392:
21488 	YYDEBUG(1392, *YYCURSOR);
21489 	yych = *++YYCURSOR;
21490 	if (yych <= 'E') {
21491 		if (yych <= ')') {
21492 			if (yych <= '(') goto yy4;
21493 			goto yy140;
21494 		} else {
21495 			if (yych <= '@') goto yy4;
21496 			if (yych <= 'D') goto yy142;
21497 			goto yy1402;
21498 		}
21499 	} else {
21500 		if (yych <= 'd') {
21501 			if (yych <= 'Z') goto yy142;
21502 			if (yych <= '`') goto yy4;
21503 			goto yy142;
21504 		} else {
21505 			if (yych <= 'e') goto yy1402;
21506 			if (yych <= 'z') goto yy142;
21507 			goto yy4;
21508 		}
21509 	}
21510 yy1393:
21511 	YYDEBUG(1393, *YYCURSOR);
21512 	yych = *++YYCURSOR;
21513 	if (yych <= '/') {
21514 		if (yych == '.') goto yy1065;
21515 		goto yy57;
21516 	} else {
21517 		if (yych <= '9') goto yy1396;
21518 		if (yych <= ':') goto yy1065;
21519 		goto yy57;
21520 	}
21521 yy1394:
21522 	YYDEBUG(1394, *YYCURSOR);
21523 	yych = *++YYCURSOR;
21524 	if (yych <= '/') {
21525 		if (yych == '.') goto yy1065;
21526 		goto yy57;
21527 	} else {
21528 		if (yych <= '4') goto yy1396;
21529 		if (yych == ':') goto yy1065;
21530 		goto yy57;
21531 	}
21532 yy1395:
21533 	YYDEBUG(1395, *YYCURSOR);
21534 	yych = *++YYCURSOR;
21535 	if (yych == '.') goto yy1065;
21536 	if (yych == ':') goto yy1065;
21537 	goto yy57;
21538 yy1396:
21539 	YYDEBUG(1396, *YYCURSOR);
21540 	yych = *++YYCURSOR;
21541 	if (yych <= '/') {
21542 		if (yych == '.') goto yy1065;
21543 		goto yy57;
21544 	} else {
21545 		if (yych <= '5') goto yy1397;
21546 		if (yych == ':') goto yy1065;
21547 		goto yy57;
21548 	}
21549 yy1397:
21550 	YYDEBUG(1397, *YYCURSOR);
21551 	yych = *++YYCURSOR;
21552 	if (yych <= '/') goto yy57;
21553 	if (yych >= ':') goto yy57;
21554 	YYDEBUG(1398, *YYCURSOR);
21555 	yyaccept = 24;
21556 	yych = *(YYMARKER = ++YYCURSOR);
21557 	if (yych <= '/') goto yy1068;
21558 	if (yych <= '5') goto yy1399;
21559 	if (yych <= '6') goto yy1400;
21560 	goto yy1068;
21561 yy1399:
21562 	YYDEBUG(1399, *YYCURSOR);
21563 	yych = *++YYCURSOR;
21564 	if (yych <= '/') goto yy57;
21565 	if (yych <= '9') goto yy1401;
21566 	goto yy57;
21567 yy1400:
21568 	YYDEBUG(1400, *YYCURSOR);
21569 	yych = *++YYCURSOR;
21570 	if (yych != '0') goto yy57;
21571 yy1401:
21572 	YYDEBUG(1401, *YYCURSOR);
21573 	yych = *++YYCURSOR;
21574 	goto yy1076;
21575 yy1402:
21576 	YYDEBUG(1402, *YYCURSOR);
21577 	yych = *++YYCURSOR;
21578 	if (yych <= 'L') {
21579 		if (yych <= ')') {
21580 			if (yych <= '(') goto yy4;
21581 			goto yy140;
21582 		} else {
21583 			if (yych <= '@') goto yy4;
21584 			if (yych <= 'K') goto yy143;
21585 		}
21586 	} else {
21587 		if (yych <= 'k') {
21588 			if (yych <= 'Z') goto yy143;
21589 			if (yych <= '`') goto yy4;
21590 			goto yy143;
21591 		} else {
21592 			if (yych <= 'l') goto yy1403;
21593 			if (yych <= 'z') goto yy143;
21594 			goto yy4;
21595 		}
21596 	}
21597 yy1403:
21598 	YYDEBUG(1403, *YYCURSOR);
21599 	yych = *++YYCURSOR;
21600 	if (yych <= 'F') {
21601 		if (yych <= ')') {
21602 			if (yych <= '(') goto yy4;
21603 			goto yy140;
21604 		} else {
21605 			if (yych <= '@') goto yy4;
21606 			if (yych <= 'E') goto yy144;
21607 		}
21608 	} else {
21609 		if (yych <= 'e') {
21610 			if (yych <= 'Z') goto yy144;
21611 			if (yych <= '`') goto yy4;
21612 			goto yy144;
21613 		} else {
21614 			if (yych <= 'f') goto yy1404;
21615 			if (yych <= 'z') goto yy144;
21616 			goto yy4;
21617 		}
21618 	}
21619 yy1404:
21620 	YYDEBUG(1404, *YYCURSOR);
21621 	yych = *++YYCURSOR;
21622 	if (yych <= 'T') {
21623 		if (yych <= ')') {
21624 			if (yych <= '(') goto yy4;
21625 			goto yy140;
21626 		} else {
21627 			if (yych <= '@') goto yy4;
21628 			if (yych <= 'S') goto yy145;
21629 		}
21630 	} else {
21631 		if (yych <= 's') {
21632 			if (yych <= 'Z') goto yy145;
21633 			if (yych <= '`') goto yy4;
21634 			goto yy145;
21635 		} else {
21636 			if (yych <= 't') goto yy1405;
21637 			if (yych <= 'z') goto yy145;
21638 			goto yy4;
21639 		}
21640 	}
21641 yy1405:
21642 	YYDEBUG(1405, *YYCURSOR);
21643 	yyaccept = 0;
21644 	yych = *(YYMARKER = ++YYCURSOR);
21645 	if (yych <= 'G') {
21646 		if (yych == ')') goto yy140;
21647 		goto yy4;
21648 	} else {
21649 		if (yych <= 'H') goto yy1206;
21650 		if (yych == 'h') goto yy1206;
21651 		goto yy4;
21652 	}
21653 yy1406:
21654 	YYDEBUG(1406, *YYCURSOR);
21655 	yych = *++YYCURSOR;
21656 	if (yych <= 'S') {
21657 		if (yych <= ')') {
21658 			if (yych <= '(') goto yy167;
21659 			goto yy140;
21660 		} else {
21661 			if (yych <= '@') goto yy167;
21662 			if (yych <= 'R') goto yy143;
21663 		}
21664 	} else {
21665 		if (yych <= 'r') {
21666 			if (yych <= 'Z') goto yy143;
21667 			if (yych <= '`') goto yy167;
21668 			goto yy143;
21669 		} else {
21670 			if (yych <= 's') goto yy1407;
21671 			if (yych <= 'z') goto yy143;
21672 			goto yy167;
21673 		}
21674 	}
21675 yy1407:
21676 	YYDEBUG(1407, *YYCURSOR);
21677 	yych = *++YYCURSOR;
21678 	if (yych <= 'D') {
21679 		if (yych <= ')') {
21680 			if (yych <= '(') goto yy4;
21681 			goto yy140;
21682 		} else {
21683 			if (yych <= '@') goto yy4;
21684 			if (yych <= 'C') goto yy144;
21685 		}
21686 	} else {
21687 		if (yych <= 'c') {
21688 			if (yych <= 'Z') goto yy144;
21689 			if (yych <= '`') goto yy4;
21690 			goto yy144;
21691 		} else {
21692 			if (yych <= 'd') goto yy1408;
21693 			if (yych <= 'z') goto yy144;
21694 			goto yy4;
21695 		}
21696 	}
21697 yy1408:
21698 	YYDEBUG(1408, *YYCURSOR);
21699 	yych = *++YYCURSOR;
21700 	if (yych <= 'A') {
21701 		if (yych == ')') goto yy140;
21702 		if (yych <= '@') goto yy4;
21703 	} else {
21704 		if (yych <= '`') {
21705 			if (yych <= 'Z') goto yy145;
21706 			goto yy4;
21707 		} else {
21708 			if (yych <= 'a') goto yy1409;
21709 			if (yych <= 'z') goto yy145;
21710 			goto yy4;
21711 		}
21712 	}
21713 yy1409:
21714 	YYDEBUG(1409, *YYCURSOR);
21715 	yych = *++YYCURSOR;
21716 	if (yych <= 'X') {
21717 		if (yych == ')') goto yy140;
21718 		goto yy4;
21719 	} else {
21720 		if (yych <= 'Y') goto yy173;
21721 		if (yych == 'y') goto yy173;
21722 		goto yy4;
21723 	}
21724 yy1410:
21725 	YYDEBUG(1410, *YYCURSOR);
21726 	yych = *++YYCURSOR;
21727 	if (yych <= 'A') {
21728 		if (yych == ')') goto yy140;
21729 		if (yych <= '@') goto yy4;
21730 		goto yy1418;
21731 	} else {
21732 		if (yych <= '`') {
21733 			if (yych <= 'Z') goto yy143;
21734 			goto yy4;
21735 		} else {
21736 			if (yych <= 'a') goto yy1418;
21737 			if (yych <= 'z') goto yy143;
21738 			goto yy4;
21739 		}
21740 	}
21741 yy1411:
21742 	YYDEBUG(1411, *YYCURSOR);
21743 	yych = *++YYCURSOR;
21744 	if (yych <= 'O') {
21745 		if (yych <= ')') {
21746 			if (yych <= '(') goto yy4;
21747 			goto yy140;
21748 		} else {
21749 			if (yych <= '@') goto yy4;
21750 			if (yych <= 'N') goto yy143;
21751 		}
21752 	} else {
21753 		if (yych <= 'n') {
21754 			if (yych <= 'Z') goto yy143;
21755 			if (yych <= '`') goto yy4;
21756 			goto yy143;
21757 		} else {
21758 			if (yych <= 'o') goto yy1412;
21759 			if (yych <= 'z') goto yy143;
21760 			goto yy4;
21761 		}
21762 	}
21763 yy1412:
21764 	YYDEBUG(1412, *YYCURSOR);
21765 	yych = *++YYCURSOR;
21766 	if (yych <= 'R') {
21767 		if (yych <= ')') {
21768 			if (yych <= '(') goto yy4;
21769 			goto yy140;
21770 		} else {
21771 			if (yych <= '@') goto yy4;
21772 			if (yych <= 'Q') goto yy144;
21773 		}
21774 	} else {
21775 		if (yych <= 'q') {
21776 			if (yych <= 'Z') goto yy144;
21777 			if (yych <= '`') goto yy4;
21778 			goto yy144;
21779 		} else {
21780 			if (yych <= 'r') goto yy1413;
21781 			if (yych <= 'z') goto yy144;
21782 			goto yy4;
21783 		}
21784 	}
21785 yy1413:
21786 	YYDEBUG(1413, *YYCURSOR);
21787 	yych = *++YYCURSOR;
21788 	if (yych <= 'R') {
21789 		if (yych <= ')') {
21790 			if (yych <= '(') goto yy4;
21791 			goto yy140;
21792 		} else {
21793 			if (yych <= '@') goto yy4;
21794 			if (yych <= 'Q') goto yy145;
21795 		}
21796 	} else {
21797 		if (yych <= 'q') {
21798 			if (yych <= 'Z') goto yy145;
21799 			if (yych <= '`') goto yy4;
21800 			goto yy145;
21801 		} else {
21802 			if (yych <= 'r') goto yy1414;
21803 			if (yych <= 'z') goto yy145;
21804 			goto yy4;
21805 		}
21806 	}
21807 yy1414:
21808 	YYDEBUG(1414, *YYCURSOR);
21809 	yyaccept = 0;
21810 	yych = *(YYMARKER = ++YYCURSOR);
21811 	if (yych <= 'N') {
21812 		if (yych == ')') goto yy140;
21813 		goto yy4;
21814 	} else {
21815 		if (yych <= 'O') goto yy1415;
21816 		if (yych != 'o') goto yy4;
21817 	}
21818 yy1415:
21819 	YYDEBUG(1415, *YYCURSOR);
21820 	yych = *++YYCURSOR;
21821 	if (yych == 'W') goto yy1416;
21822 	if (yych != 'w') goto yy57;
21823 yy1416:
21824 	YYDEBUG(1416, *YYCURSOR);
21825 	++YYCURSOR;
21826 yy1417:
21827 	YYDEBUG(1417, *YYCURSOR);
21828 #line 1048 "ext/date/lib/parse_date.re"
21829 	{
21830 		DEBUG_OUTPUT("tomorrow");
21831 		TIMELIB_INIT;
21832 		TIMELIB_HAVE_RELATIVE();
21833 		TIMELIB_UNHAVE_TIME();
21834 
21835 		s->time->relative.d = 1;
21836 		TIMELIB_DEINIT;
21837 		return TIMELIB_RELATIVE;
21838 	}
21839 #line 21840 "ext/date/lib/parse_date.c"
21840 yy1418:
21841 	YYDEBUG(1418, *YYCURSOR);
21842 	yych = *++YYCURSOR;
21843 	if (yych <= 'Y') {
21844 		if (yych <= ')') {
21845 			if (yych <= '(') goto yy4;
21846 			goto yy140;
21847 		} else {
21848 			if (yych <= '@') goto yy4;
21849 			if (yych <= 'X') goto yy144;
21850 		}
21851 	} else {
21852 		if (yych <= 'x') {
21853 			if (yych <= 'Z') goto yy144;
21854 			if (yych <= '`') goto yy4;
21855 			goto yy144;
21856 		} else {
21857 			if (yych <= 'y') goto yy1419;
21858 			if (yych <= 'z') goto yy144;
21859 			goto yy4;
21860 		}
21861 	}
21862 yy1419:
21863 	YYDEBUG(1419, *YYCURSOR);
21864 	++YYCURSOR;
21865 	if ((yych = *YYCURSOR) <= '@') {
21866 		if (yych == ')') goto yy140;
21867 	} else {
21868 		if (yych <= 'Z') goto yy145;
21869 		if (yych <= '`') goto yy1420;
21870 		if (yych <= 'z') goto yy145;
21871 	}
21872 yy1420:
21873 	YYDEBUG(1420, *YYCURSOR);
21874 #line 1038 "ext/date/lib/parse_date.re"
21875 	{
21876 		DEBUG_OUTPUT("midnight | today");
21877 		TIMELIB_INIT;
21878 		TIMELIB_UNHAVE_TIME();
21879 
21880 		TIMELIB_DEINIT;
21881 		return TIMELIB_RELATIVE;
21882 	}
21883 #line 21884 "ext/date/lib/parse_date.c"
21884 yy1421:
21885 	YYDEBUG(1421, *YYCURSOR);
21886 	yych = *++YYCURSOR;
21887 	if (yych <= 'S') {
21888 		if (yych <= '@') {
21889 			if (yych == ')') goto yy140;
21890 			goto yy4;
21891 		} else {
21892 			if (yych <= 'Q') goto yy143;
21893 			if (yych <= 'R') goto yy1427;
21894 			goto yy1428;
21895 		}
21896 	} else {
21897 		if (yych <= 'q') {
21898 			if (yych <= 'Z') goto yy143;
21899 			if (yych <= '`') goto yy4;
21900 			goto yy143;
21901 		} else {
21902 			if (yych <= 'r') goto yy1427;
21903 			if (yych <= 's') goto yy1428;
21904 			if (yych <= 'z') goto yy143;
21905 			goto yy4;
21906 		}
21907 	}
21908 yy1422:
21909 	YYDEBUG(1422, *YYCURSOR);
21910 	yych = *++YYCURSOR;
21911 	if (yych <= 'R') {
21912 		if (yych <= ')') {
21913 			if (yych <= '(') goto yy167;
21914 			goto yy140;
21915 		} else {
21916 			if (yych <= '@') goto yy167;
21917 			if (yych <= 'Q') goto yy143;
21918 		}
21919 	} else {
21920 		if (yych <= 'q') {
21921 			if (yych <= 'Z') goto yy143;
21922 			if (yych <= '`') goto yy167;
21923 			goto yy143;
21924 		} else {
21925 			if (yych <= 'r') goto yy1423;
21926 			if (yych <= 'z') goto yy143;
21927 			goto yy167;
21928 		}
21929 	}
21930 yy1423:
21931 	YYDEBUG(1423, *YYCURSOR);
21932 	yych = *++YYCURSOR;
21933 	if (yych <= 'S') {
21934 		if (yych <= ')') {
21935 			if (yych <= '(') goto yy4;
21936 			goto yy140;
21937 		} else {
21938 			if (yych <= '@') goto yy4;
21939 			if (yych <= 'R') goto yy144;
21940 		}
21941 	} else {
21942 		if (yych <= 'r') {
21943 			if (yych <= 'Z') goto yy144;
21944 			if (yych <= '`') goto yy4;
21945 			goto yy144;
21946 		} else {
21947 			if (yych <= 's') goto yy1424;
21948 			if (yych <= 'z') goto yy144;
21949 			goto yy4;
21950 		}
21951 	}
21952 yy1424:
21953 	YYDEBUG(1424, *YYCURSOR);
21954 	yych = *++YYCURSOR;
21955 	if (yych <= 'D') {
21956 		if (yych <= ')') {
21957 			if (yych <= '(') goto yy4;
21958 			goto yy140;
21959 		} else {
21960 			if (yych <= '@') goto yy4;
21961 			if (yych <= 'C') goto yy145;
21962 		}
21963 	} else {
21964 		if (yych <= 'c') {
21965 			if (yych <= 'Z') goto yy145;
21966 			if (yych <= '`') goto yy4;
21967 			goto yy145;
21968 		} else {
21969 			if (yych <= 'd') goto yy1425;
21970 			if (yych <= 'z') goto yy145;
21971 			goto yy4;
21972 		}
21973 	}
21974 yy1425:
21975 	YYDEBUG(1425, *YYCURSOR);
21976 	yyaccept = 0;
21977 	yych = *(YYMARKER = ++YYCURSOR);
21978 	if (yych <= '@') {
21979 		if (yych == ')') goto yy140;
21980 		goto yy4;
21981 	} else {
21982 		if (yych <= 'A') goto yy1426;
21983 		if (yych != 'a') goto yy4;
21984 	}
21985 yy1426:
21986 	YYDEBUG(1426, *YYCURSOR);
21987 	yych = *++YYCURSOR;
21988 	if (yych == 'Y') goto yy173;
21989 	if (yych == 'y') goto yy173;
21990 	goto yy57;
21991 yy1427:
21992 	YYDEBUG(1427, *YYCURSOR);
21993 	yych = *++YYCURSOR;
21994 	if (yych <= 'D') {
21995 		if (yych <= ')') {
21996 			if (yych <= '(') goto yy4;
21997 			goto yy140;
21998 		} else {
21999 			if (yych <= '@') goto yy4;
22000 			if (yych <= 'C') goto yy144;
22001 			goto yy1239;
22002 		}
22003 	} else {
22004 		if (yych <= 'c') {
22005 			if (yych <= 'Z') goto yy144;
22006 			if (yych <= '`') goto yy4;
22007 			goto yy144;
22008 		} else {
22009 			if (yych <= 'd') goto yy1239;
22010 			if (yych <= 'z') goto yy144;
22011 			goto yy4;
22012 		}
22013 	}
22014 yy1428:
22015 	YYDEBUG(1428, *YYCURSOR);
22016 	yyaccept = 0;
22017 	yych = *(YYMARKER = ++YYCURSOR);
22018 	if (yych <= '(') {
22019 		if (yych <= '\t') {
22020 			if (yych <= 0x08) goto yy4;
22021 			goto yy1105;
22022 		} else {
22023 			if (yych == ' ') goto yy1105;
22024 			goto yy4;
22025 		}
22026 	} else {
22027 		if (yych <= 'Z') {
22028 			if (yych <= ')') goto yy140;
22029 			if (yych <= '@') goto yy4;
22030 			goto yy144;
22031 		} else {
22032 			if (yych <= '`') goto yy4;
22033 			if (yych <= 'z') goto yy144;
22034 			goto yy4;
22035 		}
22036 	}
22037 yy1429:
22038 	YYDEBUG(1429, *YYCURSOR);
22039 	yych = *++YYCURSOR;
22040 	if (yych <= 'T') {
22041 		if (yych <= ')') {
22042 			if (yych <= '(') goto yy4;
22043 			goto yy140;
22044 		} else {
22045 			if (yych <= '@') goto yy4;
22046 			if (yych <= 'S') goto yy143;
22047 		}
22048 	} else {
22049 		if (yych <= 's') {
22050 			if (yych <= 'Z') goto yy143;
22051 			if (yych <= '`') goto yy4;
22052 			goto yy143;
22053 		} else {
22054 			if (yych <= 't') goto yy1430;
22055 			if (yych <= 'z') goto yy143;
22056 			goto yy4;
22057 		}
22058 	}
22059 yy1430:
22060 	YYDEBUG(1430, *YYCURSOR);
22061 	yych = *++YYCURSOR;
22062 	if (yych <= 'H') {
22063 		if (yych <= ')') {
22064 			if (yych <= '(') goto yy4;
22065 			goto yy140;
22066 		} else {
22067 			if (yych <= '@') goto yy4;
22068 			if (yych <= 'G') goto yy144;
22069 			goto yy1239;
22070 		}
22071 	} else {
22072 		if (yych <= 'g') {
22073 			if (yych <= 'Z') goto yy144;
22074 			if (yych <= '`') goto yy4;
22075 			goto yy144;
22076 		} else {
22077 			if (yych <= 'h') goto yy1239;
22078 			if (yych <= 'z') goto yy144;
22079 			goto yy4;
22080 		}
22081 	}
22082 yy1431:
22083 	YYDEBUG(1431, *YYCURSOR);
22084 	yyaccept = 0;
22085 	yych = *(YYMARKER = ++YYCURSOR);
22086 	if (yych <= 'M') {
22087 		if (yych <= '-') {
22088 			if (yych == ')') goto yy140;
22089 			if (yych <= ',') goto yy4;
22090 			goto yy148;
22091 		} else {
22092 			if (yych == '/') goto yy148;
22093 			if (yych <= '@') goto yy4;
22094 			goto yy142;
22095 		}
22096 	} else {
22097 		if (yych <= '_') {
22098 			if (yych <= 'N') goto yy1429;
22099 			if (yych <= 'Z') goto yy142;
22100 			if (yych <= '^') goto yy4;
22101 			goto yy148;
22102 		} else {
22103 			if (yych <= 'm') {
22104 				if (yych <= '`') goto yy4;
22105 				goto yy147;
22106 			} else {
22107 				if (yych <= 'n') goto yy1461;
22108 				if (yych <= 'z') goto yy147;
22109 				goto yy4;
22110 			}
22111 		}
22112 	}
22113 yy1432:
22114 	YYDEBUG(1432, *YYCURSOR);
22115 	yyaccept = 0;
22116 	yych = *(YYMARKER = ++YYCURSOR);
22117 	if (yych <= 'T') {
22118 		if (yych <= '.') {
22119 			if (yych <= ')') {
22120 				if (yych <= '(') goto yy4;
22121 				goto yy140;
22122 			} else {
22123 				if (yych == '-') goto yy148;
22124 				goto yy4;
22125 			}
22126 		} else {
22127 			if (yych <= '@') {
22128 				if (yych <= '/') goto yy148;
22129 				goto yy4;
22130 			} else {
22131 				if (yych == 'I') goto yy1421;
22132 				goto yy142;
22133 			}
22134 		}
22135 	} else {
22136 		if (yych <= '`') {
22137 			if (yych <= 'Z') {
22138 				if (yych <= 'U') goto yy1422;
22139 				goto yy142;
22140 			} else {
22141 				if (yych == '_') goto yy148;
22142 				goto yy4;
22143 			}
22144 		} else {
22145 			if (yych <= 't') {
22146 				if (yych == 'i') goto yy1453;
22147 				goto yy147;
22148 			} else {
22149 				if (yych <= 'u') goto yy1454;
22150 				if (yych <= 'z') goto yy147;
22151 				goto yy4;
22152 			}
22153 		}
22154 	}
22155 yy1433:
22156 	YYDEBUG(1433, *YYCURSOR);
22157 	yyaccept = 0;
22158 	yych = *(YYMARKER = ++YYCURSOR);
22159 	if (yych <= 'L') {
22160 		if (yych <= '.') {
22161 			if (yych <= ')') {
22162 				if (yych <= '(') goto yy4;
22163 				goto yy140;
22164 			} else {
22165 				if (yych == '-') goto yy148;
22166 				goto yy4;
22167 			}
22168 		} else {
22169 			if (yych <= '@') {
22170 				if (yych <= '/') goto yy148;
22171 				goto yy4;
22172 			} else {
22173 				if (yych == 'D') goto yy1410;
22174 				goto yy142;
22175 			}
22176 		}
22177 	} else {
22178 		if (yych <= '`') {
22179 			if (yych <= 'Z') {
22180 				if (yych <= 'M') goto yy1411;
22181 				goto yy142;
22182 			} else {
22183 				if (yych == '_') goto yy148;
22184 				goto yy4;
22185 			}
22186 		} else {
22187 			if (yych <= 'l') {
22188 				if (yych == 'd') goto yy1444;
22189 				goto yy147;
22190 			} else {
22191 				if (yych <= 'm') goto yy1445;
22192 				if (yych <= 'z') goto yy147;
22193 				goto yy4;
22194 			}
22195 		}
22196 	}
22197 yy1434:
22198 	YYDEBUG(1434, *YYCURSOR);
22199 	yyaccept = 0;
22200 	yych = *(YYMARKER = ++YYCURSOR);
22201 	if (yych <= 'D') {
22202 		if (yych <= '-') {
22203 			if (yych == ')') goto yy140;
22204 			if (yych <= ',') goto yy4;
22205 			goto yy148;
22206 		} else {
22207 			if (yych == '/') goto yy148;
22208 			if (yych <= '@') goto yy4;
22209 			goto yy142;
22210 		}
22211 	} else {
22212 		if (yych <= '_') {
22213 			if (yych <= 'E') goto yy1406;
22214 			if (yych <= 'Z') goto yy142;
22215 			if (yych <= '^') goto yy4;
22216 			goto yy148;
22217 		} else {
22218 			if (yych <= 'd') {
22219 				if (yych <= '`') goto yy4;
22220 				goto yy147;
22221 			} else {
22222 				if (yych <= 'e') goto yy1440;
22223 				if (yych <= 'z') goto yy147;
22224 				goto yy4;
22225 			}
22226 		}
22227 	}
22228 yy1435:
22229 	YYDEBUG(1435, *YYCURSOR);
22230 	yyaccept = 0;
22231 	yych = *(YYMARKER = ++YYCURSOR);
22232 	if (yych <= 'D') {
22233 		if (yych <= '-') {
22234 			if (yych == ')') goto yy140;
22235 			if (yych <= ',') goto yy4;
22236 			goto yy148;
22237 		} else {
22238 			if (yych == '/') goto yy148;
22239 			if (yych <= '@') goto yy4;
22240 			goto yy142;
22241 		}
22242 	} else {
22243 		if (yych <= '_') {
22244 			if (yych <= 'E') goto yy1402;
22245 			if (yych <= 'Z') goto yy142;
22246 			if (yych <= '^') goto yy4;
22247 			goto yy148;
22248 		} else {
22249 			if (yych <= 'd') {
22250 				if (yych <= '`') goto yy4;
22251 				goto yy147;
22252 			} else {
22253 				if (yych <= 'e') goto yy1436;
22254 				if (yych <= 'z') goto yy147;
22255 				goto yy4;
22256 			}
22257 		}
22258 	}
22259 yy1436:
22260 	YYDEBUG(1436, *YYCURSOR);
22261 	yyaccept = 0;
22262 	yych = *(YYMARKER = ++YYCURSOR);
22263 	if (yych <= 'K') {
22264 		if (yych <= '-') {
22265 			if (yych == ')') goto yy140;
22266 			if (yych <= ',') goto yy4;
22267 			goto yy148;
22268 		} else {
22269 			if (yych == '/') goto yy148;
22270 			if (yych <= '@') goto yy4;
22271 			goto yy143;
22272 		}
22273 	} else {
22274 		if (yych <= '_') {
22275 			if (yych <= 'L') goto yy1403;
22276 			if (yych <= 'Z') goto yy143;
22277 			if (yych <= '^') goto yy4;
22278 			goto yy148;
22279 		} else {
22280 			if (yych <= 'k') {
22281 				if (yych <= '`') goto yy4;
22282 				goto yy151;
22283 			} else {
22284 				if (yych <= 'l') goto yy1437;
22285 				if (yych <= 'z') goto yy151;
22286 				goto yy4;
22287 			}
22288 		}
22289 	}
22290 yy1437:
22291 	YYDEBUG(1437, *YYCURSOR);
22292 	yyaccept = 0;
22293 	yych = *(YYMARKER = ++YYCURSOR);
22294 	if (yych <= 'E') {
22295 		if (yych <= '-') {
22296 			if (yych == ')') goto yy140;
22297 			if (yych <= ',') goto yy4;
22298 			goto yy148;
22299 		} else {
22300 			if (yych == '/') goto yy148;
22301 			if (yych <= '@') goto yy4;
22302 			goto yy144;
22303 		}
22304 	} else {
22305 		if (yych <= '_') {
22306 			if (yych <= 'F') goto yy1404;
22307 			if (yych <= 'Z') goto yy144;
22308 			if (yych <= '^') goto yy4;
22309 			goto yy148;
22310 		} else {
22311 			if (yych <= 'e') {
22312 				if (yych <= '`') goto yy4;
22313 				goto yy152;
22314 			} else {
22315 				if (yych <= 'f') goto yy1438;
22316 				if (yych <= 'z') goto yy152;
22317 				goto yy4;
22318 			}
22319 		}
22320 	}
22321 yy1438:
22322 	YYDEBUG(1438, *YYCURSOR);
22323 	yyaccept = 0;
22324 	yych = *(YYMARKER = ++YYCURSOR);
22325 	if (yych <= 'S') {
22326 		if (yych <= '-') {
22327 			if (yych == ')') goto yy140;
22328 			if (yych <= ',') goto yy4;
22329 			goto yy148;
22330 		} else {
22331 			if (yych == '/') goto yy148;
22332 			if (yych <= '@') goto yy4;
22333 			goto yy145;
22334 		}
22335 	} else {
22336 		if (yych <= '_') {
22337 			if (yych <= 'T') goto yy1405;
22338 			if (yych <= 'Z') goto yy145;
22339 			if (yych <= '^') goto yy4;
22340 			goto yy148;
22341 		} else {
22342 			if (yych <= 's') {
22343 				if (yych <= '`') goto yy4;
22344 				goto yy153;
22345 			} else {
22346 				if (yych <= 't') goto yy1439;
22347 				if (yych <= 'z') goto yy153;
22348 				goto yy4;
22349 			}
22350 		}
22351 	}
22352 yy1439:
22353 	YYDEBUG(1439, *YYCURSOR);
22354 	yyaccept = 0;
22355 	yych = *(YYMARKER = ++YYCURSOR);
22356 	if (yych <= 'G') {
22357 		if (yych <= ',') {
22358 			if (yych == ')') goto yy140;
22359 			goto yy4;
22360 		} else {
22361 			if (yych == '.') goto yy4;
22362 			if (yych <= '/') goto yy148;
22363 			goto yy4;
22364 		}
22365 	} else {
22366 		if (yych <= '`') {
22367 			if (yych <= 'H') goto yy1206;
22368 			if (yych == '_') goto yy148;
22369 			goto yy4;
22370 		} else {
22371 			if (yych == 'h') goto yy1224;
22372 			if (yych <= 'z') goto yy154;
22373 			goto yy4;
22374 		}
22375 	}
22376 yy1440:
22377 	YYDEBUG(1440, *YYCURSOR);
22378 	yyaccept = 4;
22379 	yych = *(YYMARKER = ++YYCURSOR);
22380 	if (yych <= 'R') {
22381 		if (yych <= '-') {
22382 			if (yych == ')') goto yy140;
22383 			if (yych <= ',') goto yy167;
22384 			goto yy148;
22385 		} else {
22386 			if (yych == '/') goto yy148;
22387 			if (yych <= '@') goto yy167;
22388 			goto yy143;
22389 		}
22390 	} else {
22391 		if (yych <= '_') {
22392 			if (yych <= 'S') goto yy1407;
22393 			if (yych <= 'Z') goto yy143;
22394 			if (yych <= '^') goto yy167;
22395 			goto yy148;
22396 		} else {
22397 			if (yych <= 'r') {
22398 				if (yych <= '`') goto yy167;
22399 				goto yy151;
22400 			} else {
22401 				if (yych <= 's') goto yy1441;
22402 				if (yych <= 'z') goto yy151;
22403 				goto yy167;
22404 			}
22405 		}
22406 	}
22407 yy1441:
22408 	YYDEBUG(1441, *YYCURSOR);
22409 	yyaccept = 0;
22410 	yych = *(YYMARKER = ++YYCURSOR);
22411 	if (yych <= 'C') {
22412 		if (yych <= '-') {
22413 			if (yych == ')') goto yy140;
22414 			if (yych <= ',') goto yy4;
22415 			goto yy148;
22416 		} else {
22417 			if (yych == '/') goto yy148;
22418 			if (yych <= '@') goto yy4;
22419 			goto yy144;
22420 		}
22421 	} else {
22422 		if (yych <= '_') {
22423 			if (yych <= 'D') goto yy1408;
22424 			if (yych <= 'Z') goto yy144;
22425 			if (yych <= '^') goto yy4;
22426 			goto yy148;
22427 		} else {
22428 			if (yych <= 'c') {
22429 				if (yych <= '`') goto yy4;
22430 				goto yy152;
22431 			} else {
22432 				if (yych <= 'd') goto yy1442;
22433 				if (yych <= 'z') goto yy152;
22434 				goto yy4;
22435 			}
22436 		}
22437 	}
22438 yy1442:
22439 	YYDEBUG(1442, *YYCURSOR);
22440 	yyaccept = 0;
22441 	yych = *(YYMARKER = ++YYCURSOR);
22442 	if (yych <= '@') {
22443 		if (yych <= ',') {
22444 			if (yych == ')') goto yy140;
22445 			goto yy4;
22446 		} else {
22447 			if (yych == '.') goto yy4;
22448 			if (yych <= '/') goto yy148;
22449 			goto yy4;
22450 		}
22451 	} else {
22452 		if (yych <= '_') {
22453 			if (yych <= 'A') goto yy1409;
22454 			if (yych <= 'Z') goto yy145;
22455 			if (yych <= '^') goto yy4;
22456 			goto yy148;
22457 		} else {
22458 			if (yych <= '`') goto yy4;
22459 			if (yych <= 'a') goto yy1443;
22460 			if (yych <= 'z') goto yy153;
22461 			goto yy4;
22462 		}
22463 	}
22464 yy1443:
22465 	YYDEBUG(1443, *YYCURSOR);
22466 	yyaccept = 0;
22467 	yych = *(YYMARKER = ++YYCURSOR);
22468 	if (yych <= 'X') {
22469 		if (yych <= ',') {
22470 			if (yych == ')') goto yy140;
22471 			goto yy4;
22472 		} else {
22473 			if (yych == '.') goto yy4;
22474 			if (yych <= '/') goto yy148;
22475 			goto yy4;
22476 		}
22477 	} else {
22478 		if (yych <= '`') {
22479 			if (yych <= 'Y') goto yy173;
22480 			if (yych == '_') goto yy148;
22481 			goto yy4;
22482 		} else {
22483 			if (yych == 'y') goto yy186;
22484 			if (yych <= 'z') goto yy154;
22485 			goto yy4;
22486 		}
22487 	}
22488 yy1444:
22489 	YYDEBUG(1444, *YYCURSOR);
22490 	yyaccept = 0;
22491 	yych = *(YYMARKER = ++YYCURSOR);
22492 	if (yych <= '@') {
22493 		if (yych <= ',') {
22494 			if (yych == ')') goto yy140;
22495 			goto yy4;
22496 		} else {
22497 			if (yych == '.') goto yy4;
22498 			if (yych <= '/') goto yy148;
22499 			goto yy4;
22500 		}
22501 	} else {
22502 		if (yych <= '_') {
22503 			if (yych <= 'A') goto yy1418;
22504 			if (yych <= 'Z') goto yy143;
22505 			if (yych <= '^') goto yy4;
22506 			goto yy148;
22507 		} else {
22508 			if (yych <= '`') goto yy4;
22509 			if (yych <= 'a') goto yy1451;
22510 			if (yych <= 'z') goto yy151;
22511 			goto yy4;
22512 		}
22513 	}
22514 yy1445:
22515 	YYDEBUG(1445, *YYCURSOR);
22516 	yyaccept = 0;
22517 	yych = *(YYMARKER = ++YYCURSOR);
22518 	if (yych <= 'N') {
22519 		if (yych <= '-') {
22520 			if (yych == ')') goto yy140;
22521 			if (yych <= ',') goto yy4;
22522 			goto yy148;
22523 		} else {
22524 			if (yych == '/') goto yy148;
22525 			if (yych <= '@') goto yy4;
22526 			goto yy143;
22527 		}
22528 	} else {
22529 		if (yych <= '_') {
22530 			if (yych <= 'O') goto yy1412;
22531 			if (yych <= 'Z') goto yy143;
22532 			if (yych <= '^') goto yy4;
22533 			goto yy148;
22534 		} else {
22535 			if (yych <= 'n') {
22536 				if (yych <= '`') goto yy4;
22537 				goto yy151;
22538 			} else {
22539 				if (yych <= 'o') goto yy1446;
22540 				if (yych <= 'z') goto yy151;
22541 				goto yy4;
22542 			}
22543 		}
22544 	}
22545 yy1446:
22546 	YYDEBUG(1446, *YYCURSOR);
22547 	yyaccept = 0;
22548 	yych = *(YYMARKER = ++YYCURSOR);
22549 	if (yych <= 'Q') {
22550 		if (yych <= '-') {
22551 			if (yych == ')') goto yy140;
22552 			if (yych <= ',') goto yy4;
22553 			goto yy148;
22554 		} else {
22555 			if (yych == '/') goto yy148;
22556 			if (yych <= '@') goto yy4;
22557 			goto yy144;
22558 		}
22559 	} else {
22560 		if (yych <= '_') {
22561 			if (yych <= 'R') goto yy1413;
22562 			if (yych <= 'Z') goto yy144;
22563 			if (yych <= '^') goto yy4;
22564 			goto yy148;
22565 		} else {
22566 			if (yych <= 'q') {
22567 				if (yych <= '`') goto yy4;
22568 				goto yy152;
22569 			} else {
22570 				if (yych <= 'r') goto yy1447;
22571 				if (yych <= 'z') goto yy152;
22572 				goto yy4;
22573 			}
22574 		}
22575 	}
22576 yy1447:
22577 	YYDEBUG(1447, *YYCURSOR);
22578 	yyaccept = 0;
22579 	yych = *(YYMARKER = ++YYCURSOR);
22580 	if (yych <= 'Q') {
22581 		if (yych <= '-') {
22582 			if (yych == ')') goto yy140;
22583 			if (yych <= ',') goto yy4;
22584 			goto yy148;
22585 		} else {
22586 			if (yych == '/') goto yy148;
22587 			if (yych <= '@') goto yy4;
22588 			goto yy145;
22589 		}
22590 	} else {
22591 		if (yych <= '_') {
22592 			if (yych <= 'R') goto yy1414;
22593 			if (yych <= 'Z') goto yy145;
22594 			if (yych <= '^') goto yy4;
22595 			goto yy148;
22596 		} else {
22597 			if (yych <= 'q') {
22598 				if (yych <= '`') goto yy4;
22599 				goto yy153;
22600 			} else {
22601 				if (yych <= 'r') goto yy1448;
22602 				if (yych <= 'z') goto yy153;
22603 				goto yy4;
22604 			}
22605 		}
22606 	}
22607 yy1448:
22608 	YYDEBUG(1448, *YYCURSOR);
22609 	yyaccept = 0;
22610 	yych = *(YYMARKER = ++YYCURSOR);
22611 	if (yych <= 'N') {
22612 		if (yych <= ',') {
22613 			if (yych == ')') goto yy140;
22614 			goto yy4;
22615 		} else {
22616 			if (yych == '.') goto yy4;
22617 			if (yych <= '/') goto yy148;
22618 			goto yy4;
22619 		}
22620 	} else {
22621 		if (yych <= '`') {
22622 			if (yych <= 'O') goto yy1415;
22623 			if (yych == '_') goto yy148;
22624 			goto yy4;
22625 		} else {
22626 			if (yych == 'o') goto yy1449;
22627 			if (yych <= 'z') goto yy154;
22628 			goto yy4;
22629 		}
22630 	}
22631 yy1449:
22632 	YYDEBUG(1449, *YYCURSOR);
22633 	yych = *++YYCURSOR;
22634 	if (yych == 'W') goto yy1416;
22635 	if (yych != 'w') goto yy155;
22636 	YYDEBUG(1450, *YYCURSOR);
22637 	yyaccept = 29;
22638 	yych = *(YYMARKER = ++YYCURSOR);
22639 	if (yybm[0+yych] & 16) {
22640 		goto yy154;
22641 	}
22642 	if (yych <= '.') {
22643 		if (yych == '-') goto yy148;
22644 		goto yy1417;
22645 	} else {
22646 		if (yych <= '/') goto yy148;
22647 		if (yych == '_') goto yy148;
22648 		goto yy1417;
22649 	}
22650 yy1451:
22651 	YYDEBUG(1451, *YYCURSOR);
22652 	yyaccept = 0;
22653 	yych = *(YYMARKER = ++YYCURSOR);
22654 	if (yych <= 'X') {
22655 		if (yych <= '-') {
22656 			if (yych == ')') goto yy140;
22657 			if (yych <= ',') goto yy4;
22658 			goto yy148;
22659 		} else {
22660 			if (yych == '/') goto yy148;
22661 			if (yych <= '@') goto yy4;
22662 			goto yy144;
22663 		}
22664 	} else {
22665 		if (yych <= '_') {
22666 			if (yych <= 'Y') goto yy1419;
22667 			if (yych <= 'Z') goto yy144;
22668 			if (yych <= '^') goto yy4;
22669 			goto yy148;
22670 		} else {
22671 			if (yych <= 'x') {
22672 				if (yych <= '`') goto yy4;
22673 				goto yy152;
22674 			} else {
22675 				if (yych <= 'y') goto yy1452;
22676 				if (yych <= 'z') goto yy152;
22677 				goto yy4;
22678 			}
22679 		}
22680 	}
22681 yy1452:
22682 	YYDEBUG(1452, *YYCURSOR);
22683 	yyaccept = 30;
22684 	yych = *(YYMARKER = ++YYCURSOR);
22685 	if (yych <= '/') {
22686 		if (yych <= ',') {
22687 			if (yych == ')') goto yy140;
22688 			goto yy1420;
22689 		} else {
22690 			if (yych == '.') goto yy1420;
22691 			goto yy148;
22692 		}
22693 	} else {
22694 		if (yych <= '^') {
22695 			if (yych <= '@') goto yy1420;
22696 			if (yych <= 'Z') goto yy145;
22697 			goto yy1420;
22698 		} else {
22699 			if (yych <= '_') goto yy148;
22700 			if (yych <= '`') goto yy1420;
22701 			if (yych <= 'z') goto yy153;
22702 			goto yy1420;
22703 		}
22704 	}
22705 yy1453:
22706 	YYDEBUG(1453, *YYCURSOR);
22707 	yyaccept = 0;
22708 	yych = *(YYMARKER = ++YYCURSOR);
22709 	if (yych <= 'R') {
22710 		if (yych <= '-') {
22711 			if (yych == ')') goto yy140;
22712 			if (yych <= ',') goto yy4;
22713 			goto yy148;
22714 		} else {
22715 			if (yych <= '/') {
22716 				if (yych <= '.') goto yy4;
22717 				goto yy148;
22718 			} else {
22719 				if (yych <= '@') goto yy4;
22720 				if (yych <= 'Q') goto yy143;
22721 				goto yy1427;
22722 			}
22723 		}
22724 	} else {
22725 		if (yych <= '`') {
22726 			if (yych <= 'Z') {
22727 				if (yych <= 'S') goto yy1428;
22728 				goto yy143;
22729 			} else {
22730 				if (yych == '_') goto yy148;
22731 				goto yy4;
22732 			}
22733 		} else {
22734 			if (yych <= 'r') {
22735 				if (yych <= 'q') goto yy151;
22736 				goto yy1459;
22737 			} else {
22738 				if (yych <= 's') goto yy1460;
22739 				if (yych <= 'z') goto yy151;
22740 				goto yy4;
22741 			}
22742 		}
22743 	}
22744 yy1454:
22745 	YYDEBUG(1454, *YYCURSOR);
22746 	yyaccept = 4;
22747 	yych = *(YYMARKER = ++YYCURSOR);
22748 	if (yych <= 'Q') {
22749 		if (yych <= '-') {
22750 			if (yych == ')') goto yy140;
22751 			if (yych <= ',') goto yy167;
22752 			goto yy148;
22753 		} else {
22754 			if (yych == '/') goto yy148;
22755 			if (yych <= '@') goto yy167;
22756 			goto yy143;
22757 		}
22758 	} else {
22759 		if (yych <= '_') {
22760 			if (yych <= 'R') goto yy1423;
22761 			if (yych <= 'Z') goto yy143;
22762 			if (yych <= '^') goto yy167;
22763 			goto yy148;
22764 		} else {
22765 			if (yych <= 'q') {
22766 				if (yych <= '`') goto yy167;
22767 				goto yy151;
22768 			} else {
22769 				if (yych <= 'r') goto yy1455;
22770 				if (yych <= 'z') goto yy151;
22771 				goto yy167;
22772 			}
22773 		}
22774 	}
22775 yy1455:
22776 	YYDEBUG(1455, *YYCURSOR);
22777 	yyaccept = 0;
22778 	yych = *(YYMARKER = ++YYCURSOR);
22779 	if (yych <= 'R') {
22780 		if (yych <= '-') {
22781 			if (yych == ')') goto yy140;
22782 			if (yych <= ',') goto yy4;
22783 			goto yy148;
22784 		} else {
22785 			if (yych == '/') goto yy148;
22786 			if (yych <= '@') goto yy4;
22787 			goto yy144;
22788 		}
22789 	} else {
22790 		if (yych <= '_') {
22791 			if (yych <= 'S') goto yy1424;
22792 			if (yych <= 'Z') goto yy144;
22793 			if (yych <= '^') goto yy4;
22794 			goto yy148;
22795 		} else {
22796 			if (yych <= 'r') {
22797 				if (yych <= '`') goto yy4;
22798 				goto yy152;
22799 			} else {
22800 				if (yych <= 's') goto yy1456;
22801 				if (yych <= 'z') goto yy152;
22802 				goto yy4;
22803 			}
22804 		}
22805 	}
22806 yy1456:
22807 	YYDEBUG(1456, *YYCURSOR);
22808 	yyaccept = 0;
22809 	yych = *(YYMARKER = ++YYCURSOR);
22810 	if (yych <= 'C') {
22811 		if (yych <= '-') {
22812 			if (yych == ')') goto yy140;
22813 			if (yych <= ',') goto yy4;
22814 			goto yy148;
22815 		} else {
22816 			if (yych == '/') goto yy148;
22817 			if (yych <= '@') goto yy4;
22818 			goto yy145;
22819 		}
22820 	} else {
22821 		if (yych <= '_') {
22822 			if (yych <= 'D') goto yy1425;
22823 			if (yych <= 'Z') goto yy145;
22824 			if (yych <= '^') goto yy4;
22825 			goto yy148;
22826 		} else {
22827 			if (yych <= 'c') {
22828 				if (yych <= '`') goto yy4;
22829 				goto yy153;
22830 			} else {
22831 				if (yych <= 'd') goto yy1457;
22832 				if (yych <= 'z') goto yy153;
22833 				goto yy4;
22834 			}
22835 		}
22836 	}
22837 yy1457:
22838 	YYDEBUG(1457, *YYCURSOR);
22839 	yyaccept = 0;
22840 	yych = *(YYMARKER = ++YYCURSOR);
22841 	if (yych <= '@') {
22842 		if (yych <= ',') {
22843 			if (yych == ')') goto yy140;
22844 			goto yy4;
22845 		} else {
22846 			if (yych == '.') goto yy4;
22847 			if (yych <= '/') goto yy148;
22848 			goto yy4;
22849 		}
22850 	} else {
22851 		if (yych <= '_') {
22852 			if (yych <= 'A') goto yy1426;
22853 			if (yych <= '^') goto yy4;
22854 			goto yy148;
22855 		} else {
22856 			if (yych <= '`') goto yy4;
22857 			if (yych <= 'a') goto yy1458;
22858 			if (yych <= 'z') goto yy154;
22859 			goto yy4;
22860 		}
22861 	}
22862 yy1458:
22863 	YYDEBUG(1458, *YYCURSOR);
22864 	yych = *++YYCURSOR;
22865 	if (yych == 'Y') goto yy173;
22866 	if (yych == 'y') goto yy186;
22867 	goto yy155;
22868 yy1459:
22869 	YYDEBUG(1459, *YYCURSOR);
22870 	yyaccept = 0;
22871 	yych = *(YYMARKER = ++YYCURSOR);
22872 	if (yych <= 'C') {
22873 		if (yych <= '-') {
22874 			if (yych == ')') goto yy140;
22875 			if (yych <= ',') goto yy4;
22876 			goto yy148;
22877 		} else {
22878 			if (yych == '/') goto yy148;
22879 			if (yych <= '@') goto yy4;
22880 			goto yy144;
22881 		}
22882 	} else {
22883 		if (yych <= '_') {
22884 			if (yych <= 'D') goto yy1239;
22885 			if (yych <= 'Z') goto yy144;
22886 			if (yych <= '^') goto yy4;
22887 			goto yy148;
22888 		} else {
22889 			if (yych <= 'c') {
22890 				if (yych <= '`') goto yy4;
22891 				goto yy152;
22892 			} else {
22893 				if (yych <= 'd') goto yy1268;
22894 				if (yych <= 'z') goto yy152;
22895 				goto yy4;
22896 			}
22897 		}
22898 	}
22899 yy1460:
22900 	YYDEBUG(1460, *YYCURSOR);
22901 	yyaccept = 0;
22902 	yych = *(YYMARKER = ++YYCURSOR);
22903 	if (yych <= '-') {
22904 		if (yych <= ' ') {
22905 			if (yych == '\t') goto yy1105;
22906 			if (yych <= 0x1F) goto yy4;
22907 			goto yy1105;
22908 		} else {
22909 			if (yych == ')') goto yy140;
22910 			if (yych <= ',') goto yy4;
22911 			goto yy148;
22912 		}
22913 	} else {
22914 		if (yych <= 'Z') {
22915 			if (yych == '/') goto yy148;
22916 			if (yych <= '@') goto yy4;
22917 			goto yy144;
22918 		} else {
22919 			if (yych <= '_') {
22920 				if (yych <= '^') goto yy4;
22921 				goto yy148;
22922 			} else {
22923 				if (yych <= '`') goto yy4;
22924 				if (yych <= 'z') goto yy152;
22925 				goto yy4;
22926 			}
22927 		}
22928 	}
22929 yy1461:
22930 	YYDEBUG(1461, *YYCURSOR);
22931 	yyaccept = 0;
22932 	yych = *(YYMARKER = ++YYCURSOR);
22933 	if (yych <= 'S') {
22934 		if (yych <= '-') {
22935 			if (yych == ')') goto yy140;
22936 			if (yych <= ',') goto yy4;
22937 			goto yy148;
22938 		} else {
22939 			if (yych == '/') goto yy148;
22940 			if (yych <= '@') goto yy4;
22941 			goto yy143;
22942 		}
22943 	} else {
22944 		if (yych <= '_') {
22945 			if (yych <= 'T') goto yy1430;
22946 			if (yych <= 'Z') goto yy143;
22947 			if (yych <= '^') goto yy4;
22948 			goto yy148;
22949 		} else {
22950 			if (yych <= 's') {
22951 				if (yych <= '`') goto yy4;
22952 				goto yy151;
22953 			} else {
22954 				if (yych <= 't') goto yy1462;
22955 				if (yych <= 'z') goto yy151;
22956 				goto yy4;
22957 			}
22958 		}
22959 	}
22960 yy1462:
22961 	YYDEBUG(1462, *YYCURSOR);
22962 	yyaccept = 0;
22963 	yych = *(YYMARKER = ++YYCURSOR);
22964 	if (yych <= 'G') {
22965 		if (yych <= '-') {
22966 			if (yych == ')') goto yy140;
22967 			if (yych <= ',') goto yy4;
22968 			goto yy148;
22969 		} else {
22970 			if (yych == '/') goto yy148;
22971 			if (yych <= '@') goto yy4;
22972 			goto yy144;
22973 		}
22974 	} else {
22975 		if (yych <= '_') {
22976 			if (yych <= 'H') goto yy1239;
22977 			if (yych <= 'Z') goto yy144;
22978 			if (yych <= '^') goto yy4;
22979 			goto yy148;
22980 		} else {
22981 			if (yych <= 'g') {
22982 				if (yych <= '`') goto yy4;
22983 				goto yy152;
22984 			} else {
22985 				if (yych <= 'h') goto yy1268;
22986 				if (yych <= 'z') goto yy152;
22987 				goto yy4;
22988 			}
22989 		}
22990 	}
22991 yy1463:
22992 	YYDEBUG(1463, *YYCURSOR);
22993 	yych = *++YYCURSOR;
22994 	if (yych <= 'Y') {
22995 		if (yych <= '@') {
22996 			if (yych == ')') goto yy140;
22997 			goto yy4;
22998 		} else {
22999 			if (yych == 'R') goto yy1475;
23000 			if (yych <= 'X') goto yy142;
23001 			goto yy1476;
23002 		}
23003 	} else {
23004 		if (yych <= 'r') {
23005 			if (yych <= 'Z') goto yy142;
23006 			if (yych <= '`') goto yy4;
23007 			if (yych <= 'q') goto yy142;
23008 			goto yy1475;
23009 		} else {
23010 			if (yych == 'y') goto yy1476;
23011 			if (yych <= 'z') goto yy142;
23012 			goto yy4;
23013 		}
23014 	}
23015 yy1464:
23016 	YYDEBUG(1464, *YYCURSOR);
23017 	yych = *++YYCURSOR;
23018 	if (yych <= 'D') {
23019 		if (yych <= ')') {
23020 			if (yych <= '(') goto yy4;
23021 			goto yy140;
23022 		} else {
23023 			if (yych <= '@') goto yy4;
23024 			if (yych <= 'C') goto yy142;
23025 			goto yy1469;
23026 		}
23027 	} else {
23028 		if (yych <= 'c') {
23029 			if (yych <= 'Z') goto yy142;
23030 			if (yych <= '`') goto yy4;
23031 			goto yy142;
23032 		} else {
23033 			if (yych <= 'd') goto yy1469;
23034 			if (yych <= 'z') goto yy142;
23035 			goto yy4;
23036 		}
23037 	}
23038 yy1465:
23039 	YYDEBUG(1465, *YYCURSOR);
23040 	yych = *++YYCURSOR;
23041 	if (yych <= 'N') {
23042 		if (yych <= ')') {
23043 			if (yych <= '(') goto yy4;
23044 			goto yy140;
23045 		} else {
23046 			if (yych <= '@') goto yy4;
23047 			if (yych <= 'M') goto yy142;
23048 		}
23049 	} else {
23050 		if (yych <= 'm') {
23051 			if (yych <= 'Z') goto yy142;
23052 			if (yych <= '`') goto yy4;
23053 			goto yy142;
23054 		} else {
23055 			if (yych <= 'n') goto yy1466;
23056 			if (yych <= 'z') goto yy142;
23057 			goto yy4;
23058 		}
23059 	}
23060 yy1466:
23061 	YYDEBUG(1466, *YYCURSOR);
23062 	yych = *++YYCURSOR;
23063 	if (yych <= 'D') {
23064 		if (yych <= ')') {
23065 			if (yych <= '(') goto yy167;
23066 			goto yy140;
23067 		} else {
23068 			if (yych <= '@') goto yy167;
23069 			if (yych <= 'C') goto yy143;
23070 		}
23071 	} else {
23072 		if (yych <= 'c') {
23073 			if (yych <= 'Z') goto yy143;
23074 			if (yych <= '`') goto yy167;
23075 			goto yy143;
23076 		} else {
23077 			if (yych <= 'd') goto yy1467;
23078 			if (yych <= 'z') goto yy143;
23079 			goto yy167;
23080 		}
23081 	}
23082 yy1467:
23083 	YYDEBUG(1467, *YYCURSOR);
23084 	yych = *++YYCURSOR;
23085 	if (yych <= 'A') {
23086 		if (yych == ')') goto yy140;
23087 		if (yych <= '@') goto yy4;
23088 	} else {
23089 		if (yych <= '`') {
23090 			if (yych <= 'Z') goto yy144;
23091 			goto yy4;
23092 		} else {
23093 			if (yych <= 'a') goto yy1468;
23094 			if (yych <= 'z') goto yy144;
23095 			goto yy4;
23096 		}
23097 	}
23098 yy1468:
23099 	YYDEBUG(1468, *YYCURSOR);
23100 	yych = *++YYCURSOR;
23101 	if (yych <= 'Y') {
23102 		if (yych <= ')') {
23103 			if (yych <= '(') goto yy4;
23104 			goto yy140;
23105 		} else {
23106 			if (yych <= '@') goto yy4;
23107 			if (yych <= 'X') goto yy145;
23108 			goto yy1236;
23109 		}
23110 	} else {
23111 		if (yych <= 'x') {
23112 			if (yych <= 'Z') goto yy145;
23113 			if (yych <= '`') goto yy4;
23114 			goto yy145;
23115 		} else {
23116 			if (yych <= 'y') goto yy1236;
23117 			if (yych <= 'z') goto yy145;
23118 			goto yy4;
23119 		}
23120 	}
23121 yy1469:
23122 	YYDEBUG(1469, *YYCURSOR);
23123 	yych = *++YYCURSOR;
23124 	if (yych <= 'N') {
23125 		if (yych <= ')') {
23126 			if (yych <= '(') goto yy4;
23127 			goto yy140;
23128 		} else {
23129 			if (yych <= '@') goto yy4;
23130 			if (yych <= 'M') goto yy143;
23131 		}
23132 	} else {
23133 		if (yych <= 'm') {
23134 			if (yych <= 'Z') goto yy143;
23135 			if (yych <= '`') goto yy4;
23136 			goto yy143;
23137 		} else {
23138 			if (yych <= 'n') goto yy1470;
23139 			if (yych <= 'z') goto yy143;
23140 			goto yy4;
23141 		}
23142 	}
23143 yy1470:
23144 	YYDEBUG(1470, *YYCURSOR);
23145 	yych = *++YYCURSOR;
23146 	if (yych <= 'I') {
23147 		if (yych <= ')') {
23148 			if (yych <= '(') goto yy4;
23149 			goto yy140;
23150 		} else {
23151 			if (yych <= '@') goto yy4;
23152 			if (yych <= 'H') goto yy144;
23153 		}
23154 	} else {
23155 		if (yych <= 'h') {
23156 			if (yych <= 'Z') goto yy144;
23157 			if (yych <= '`') goto yy4;
23158 			goto yy144;
23159 		} else {
23160 			if (yych <= 'i') goto yy1471;
23161 			if (yych <= 'z') goto yy144;
23162 			goto yy4;
23163 		}
23164 	}
23165 yy1471:
23166 	YYDEBUG(1471, *YYCURSOR);
23167 	yych = *++YYCURSOR;
23168 	if (yych <= 'G') {
23169 		if (yych <= ')') {
23170 			if (yych <= '(') goto yy4;
23171 			goto yy140;
23172 		} else {
23173 			if (yych <= '@') goto yy4;
23174 			if (yych <= 'F') goto yy145;
23175 		}
23176 	} else {
23177 		if (yych <= 'f') {
23178 			if (yych <= 'Z') goto yy145;
23179 			if (yych <= '`') goto yy4;
23180 			goto yy145;
23181 		} else {
23182 			if (yych <= 'g') goto yy1472;
23183 			if (yych <= 'z') goto yy145;
23184 			goto yy4;
23185 		}
23186 	}
23187 yy1472:
23188 	YYDEBUG(1472, *YYCURSOR);
23189 	yyaccept = 0;
23190 	yych = *(YYMARKER = ++YYCURSOR);
23191 	if (yych <= 'G') {
23192 		if (yych == ')') goto yy140;
23193 		goto yy4;
23194 	} else {
23195 		if (yych <= 'H') goto yy1473;
23196 		if (yych != 'h') goto yy4;
23197 	}
23198 yy1473:
23199 	YYDEBUG(1473, *YYCURSOR);
23200 	yych = *++YYCURSOR;
23201 	if (yych == 'T') goto yy1474;
23202 	if (yych != 't') goto yy57;
23203 yy1474:
23204 	YYDEBUG(1474, *YYCURSOR);
23205 	yych = *++YYCURSOR;
23206 	goto yy1420;
23207 yy1475:
23208 	YYDEBUG(1475, *YYCURSOR);
23209 	yyaccept = 5;
23210 	yych = *(YYMARKER = ++YYCURSOR);
23211 	if (yych <= '/') {
23212 		if (yych <= '(') {
23213 			if (yych <= '\t') {
23214 				if (yych <= 0x08) goto yy194;
23215 				goto yy196;
23216 			} else {
23217 				if (yych == ' ') goto yy196;
23218 				goto yy194;
23219 			}
23220 		} else {
23221 			if (yych <= ',') {
23222 				if (yych <= ')') goto yy140;
23223 				goto yy194;
23224 			} else {
23225 				if (yych <= '-') goto yy197;
23226 				if (yych <= '.') goto yy196;
23227 				goto yy194;
23228 			}
23229 		}
23230 	} else {
23231 		if (yych <= 'Z') {
23232 			if (yych <= '@') {
23233 				if (yych <= '9') goto yy196;
23234 				goto yy194;
23235 			} else {
23236 				if (yych == 'C') goto yy1477;
23237 				goto yy143;
23238 			}
23239 		} else {
23240 			if (yych <= 'b') {
23241 				if (yych <= '`') goto yy194;
23242 				goto yy143;
23243 			} else {
23244 				if (yych <= 'c') goto yy1477;
23245 				if (yych <= 'z') goto yy143;
23246 				goto yy194;
23247 			}
23248 		}
23249 	}
23250 yy1476:
23251 	YYDEBUG(1476, *YYCURSOR);
23252 	yyaccept = 5;
23253 	yych = *(YYMARKER = ++YYCURSOR);
23254 	if (yych <= '-') {
23255 		if (yych <= ' ') {
23256 			if (yych == '\t') goto yy196;
23257 			if (yych <= 0x1F) goto yy194;
23258 			goto yy196;
23259 		} else {
23260 			if (yych == ')') goto yy140;
23261 			if (yych <= ',') goto yy194;
23262 			goto yy197;
23263 		}
23264 	} else {
23265 		if (yych <= '@') {
23266 			if (yych == '/') goto yy194;
23267 			if (yych <= '9') goto yy196;
23268 			goto yy194;
23269 		} else {
23270 			if (yych <= 'Z') goto yy143;
23271 			if (yych <= '`') goto yy194;
23272 			if (yych <= 'z') goto yy143;
23273 			goto yy194;
23274 		}
23275 	}
23276 yy1477:
23277 	YYDEBUG(1477, *YYCURSOR);
23278 	yych = *++YYCURSOR;
23279 	if (yych <= 'H') {
23280 		if (yych <= ')') {
23281 			if (yych <= '(') goto yy4;
23282 			goto yy140;
23283 		} else {
23284 			if (yych <= '@') goto yy4;
23285 			if (yych <= 'G') goto yy144;
23286 			goto yy396;
23287 		}
23288 	} else {
23289 		if (yych <= 'g') {
23290 			if (yych <= 'Z') goto yy144;
23291 			if (yych <= '`') goto yy4;
23292 			goto yy144;
23293 		} else {
23294 			if (yych <= 'h') goto yy396;
23295 			if (yych <= 'z') goto yy144;
23296 			goto yy4;
23297 		}
23298 	}
23299 yy1478:
23300 	YYDEBUG(1478, *YYCURSOR);
23301 	yyaccept = 0;
23302 	yych = *(YYMARKER = ++YYCURSOR);
23303 	if (yych <= 'X') {
23304 		if (yych <= '.') {
23305 			if (yych <= ')') {
23306 				if (yych <= '(') goto yy4;
23307 				goto yy140;
23308 			} else {
23309 				if (yych == '-') goto yy148;
23310 				goto yy4;
23311 			}
23312 		} else {
23313 			if (yych <= '@') {
23314 				if (yych <= '/') goto yy148;
23315 				goto yy4;
23316 			} else {
23317 				if (yych == 'R') goto yy1475;
23318 				goto yy142;
23319 			}
23320 		}
23321 	} else {
23322 		if (yych <= '`') {
23323 			if (yych <= 'Z') {
23324 				if (yych <= 'Y') goto yy1476;
23325 				goto yy142;
23326 			} else {
23327 				if (yych == '_') goto yy148;
23328 				goto yy4;
23329 			}
23330 		} else {
23331 			if (yych <= 'x') {
23332 				if (yych == 'r') goto yy1490;
23333 				goto yy147;
23334 			} else {
23335 				if (yych <= 'y') goto yy1491;
23336 				if (yych <= 'z') goto yy147;
23337 				goto yy4;
23338 			}
23339 		}
23340 	}
23341 yy1479:
23342 	YYDEBUG(1479, *YYCURSOR);
23343 	yyaccept = 0;
23344 	yych = *(YYMARKER = ++YYCURSOR);
23345 	if (yych <= 'C') {
23346 		if (yych <= '-') {
23347 			if (yych == ')') goto yy140;
23348 			if (yych <= ',') goto yy4;
23349 			goto yy148;
23350 		} else {
23351 			if (yych == '/') goto yy148;
23352 			if (yych <= '@') goto yy4;
23353 			goto yy142;
23354 		}
23355 	} else {
23356 		if (yych <= '_') {
23357 			if (yych <= 'D') goto yy1469;
23358 			if (yych <= 'Z') goto yy142;
23359 			if (yych <= '^') goto yy4;
23360 			goto yy148;
23361 		} else {
23362 			if (yych <= 'c') {
23363 				if (yych <= '`') goto yy4;
23364 				goto yy147;
23365 			} else {
23366 				if (yych <= 'd') goto yy1484;
23367 				if (yych <= 'z') goto yy147;
23368 				goto yy4;
23369 			}
23370 		}
23371 	}
23372 yy1480:
23373 	YYDEBUG(1480, *YYCURSOR);
23374 	yyaccept = 0;
23375 	yych = *(YYMARKER = ++YYCURSOR);
23376 	if (yych <= 'M') {
23377 		if (yych <= '-') {
23378 			if (yych == ')') goto yy140;
23379 			if (yych <= ',') goto yy4;
23380 			goto yy148;
23381 		} else {
23382 			if (yych == '/') goto yy148;
23383 			if (yych <= '@') goto yy4;
23384 			goto yy142;
23385 		}
23386 	} else {
23387 		if (yych <= '_') {
23388 			if (yych <= 'N') goto yy1466;
23389 			if (yych <= 'Z') goto yy142;
23390 			if (yych <= '^') goto yy4;
23391 			goto yy148;
23392 		} else {
23393 			if (yych <= 'm') {
23394 				if (yych <= '`') goto yy4;
23395 				goto yy147;
23396 			} else {
23397 				if (yych <= 'n') goto yy1481;
23398 				if (yych <= 'z') goto yy147;
23399 				goto yy4;
23400 			}
23401 		}
23402 	}
23403 yy1481:
23404 	YYDEBUG(1481, *YYCURSOR);
23405 	yyaccept = 4;
23406 	yych = *(YYMARKER = ++YYCURSOR);
23407 	if (yych <= 'C') {
23408 		if (yych <= '-') {
23409 			if (yych == ')') goto yy140;
23410 			if (yych <= ',') goto yy167;
23411 			goto yy148;
23412 		} else {
23413 			if (yych == '/') goto yy148;
23414 			if (yych <= '@') goto yy167;
23415 			goto yy143;
23416 		}
23417 	} else {
23418 		if (yych <= '_') {
23419 			if (yych <= 'D') goto yy1467;
23420 			if (yych <= 'Z') goto yy143;
23421 			if (yych <= '^') goto yy167;
23422 			goto yy148;
23423 		} else {
23424 			if (yych <= 'c') {
23425 				if (yych <= '`') goto yy167;
23426 				goto yy151;
23427 			} else {
23428 				if (yych <= 'd') goto yy1482;
23429 				if (yych <= 'z') goto yy151;
23430 				goto yy167;
23431 			}
23432 		}
23433 	}
23434 yy1482:
23435 	YYDEBUG(1482, *YYCURSOR);
23436 	yyaccept = 0;
23437 	yych = *(YYMARKER = ++YYCURSOR);
23438 	if (yych <= '@') {
23439 		if (yych <= ',') {
23440 			if (yych == ')') goto yy140;
23441 			goto yy4;
23442 		} else {
23443 			if (yych == '.') goto yy4;
23444 			if (yych <= '/') goto yy148;
23445 			goto yy4;
23446 		}
23447 	} else {
23448 		if (yych <= '_') {
23449 			if (yych <= 'A') goto yy1468;
23450 			if (yych <= 'Z') goto yy144;
23451 			if (yych <= '^') goto yy4;
23452 			goto yy148;
23453 		} else {
23454 			if (yych <= '`') goto yy4;
23455 			if (yych <= 'a') goto yy1483;
23456 			if (yych <= 'z') goto yy152;
23457 			goto yy4;
23458 		}
23459 	}
23460 yy1483:
23461 	YYDEBUG(1483, *YYCURSOR);
23462 	yyaccept = 0;
23463 	yych = *(YYMARKER = ++YYCURSOR);
23464 	if (yych <= 'X') {
23465 		if (yych <= '-') {
23466 			if (yych == ')') goto yy140;
23467 			if (yych <= ',') goto yy4;
23468 			goto yy148;
23469 		} else {
23470 			if (yych == '/') goto yy148;
23471 			if (yych <= '@') goto yy4;
23472 			goto yy145;
23473 		}
23474 	} else {
23475 		if (yych <= '_') {
23476 			if (yych <= 'Y') goto yy1236;
23477 			if (yych <= 'Z') goto yy145;
23478 			if (yych <= '^') goto yy4;
23479 			goto yy148;
23480 		} else {
23481 			if (yych <= 'x') {
23482 				if (yych <= '`') goto yy4;
23483 				goto yy153;
23484 			} else {
23485 				if (yych <= 'y') goto yy1265;
23486 				if (yych <= 'z') goto yy153;
23487 				goto yy4;
23488 			}
23489 		}
23490 	}
23491 yy1484:
23492 	YYDEBUG(1484, *YYCURSOR);
23493 	yyaccept = 0;
23494 	yych = *(YYMARKER = ++YYCURSOR);
23495 	if (yych <= 'M') {
23496 		if (yych <= '-') {
23497 			if (yych == ')') goto yy140;
23498 			if (yych <= ',') goto yy4;
23499 			goto yy148;
23500 		} else {
23501 			if (yych == '/') goto yy148;
23502 			if (yych <= '@') goto yy4;
23503 			goto yy143;
23504 		}
23505 	} else {
23506 		if (yych <= '_') {
23507 			if (yych <= 'N') goto yy1470;
23508 			if (yych <= 'Z') goto yy143;
23509 			if (yych <= '^') goto yy4;
23510 			goto yy148;
23511 		} else {
23512 			if (yych <= 'm') {
23513 				if (yych <= '`') goto yy4;
23514 				goto yy151;
23515 			} else {
23516 				if (yych <= 'n') goto yy1485;
23517 				if (yych <= 'z') goto yy151;
23518 				goto yy4;
23519 			}
23520 		}
23521 	}
23522 yy1485:
23523 	YYDEBUG(1485, *YYCURSOR);
23524 	yyaccept = 0;
23525 	yych = *(YYMARKER = ++YYCURSOR);
23526 	if (yych <= 'H') {
23527 		if (yych <= '-') {
23528 			if (yych == ')') goto yy140;
23529 			if (yych <= ',') goto yy4;
23530 			goto yy148;
23531 		} else {
23532 			if (yych == '/') goto yy148;
23533 			if (yych <= '@') goto yy4;
23534 			goto yy144;
23535 		}
23536 	} else {
23537 		if (yych <= '_') {
23538 			if (yych <= 'I') goto yy1471;
23539 			if (yych <= 'Z') goto yy144;
23540 			if (yych <= '^') goto yy4;
23541 			goto yy148;
23542 		} else {
23543 			if (yych <= 'h') {
23544 				if (yych <= '`') goto yy4;
23545 				goto yy152;
23546 			} else {
23547 				if (yych <= 'i') goto yy1486;
23548 				if (yych <= 'z') goto yy152;
23549 				goto yy4;
23550 			}
23551 		}
23552 	}
23553 yy1486:
23554 	YYDEBUG(1486, *YYCURSOR);
23555 	yyaccept = 0;
23556 	yych = *(YYMARKER = ++YYCURSOR);
23557 	if (yych <= 'F') {
23558 		if (yych <= '-') {
23559 			if (yych == ')') goto yy140;
23560 			if (yych <= ',') goto yy4;
23561 			goto yy148;
23562 		} else {
23563 			if (yych == '/') goto yy148;
23564 			if (yych <= '@') goto yy4;
23565 			goto yy145;
23566 		}
23567 	} else {
23568 		if (yych <= '_') {
23569 			if (yych <= 'G') goto yy1472;
23570 			if (yych <= 'Z') goto yy145;
23571 			if (yych <= '^') goto yy4;
23572 			goto yy148;
23573 		} else {
23574 			if (yych <= 'f') {
23575 				if (yych <= '`') goto yy4;
23576 				goto yy153;
23577 			} else {
23578 				if (yych <= 'g') goto yy1487;
23579 				if (yych <= 'z') goto yy153;
23580 				goto yy4;
23581 			}
23582 		}
23583 	}
23584 yy1487:
23585 	YYDEBUG(1487, *YYCURSOR);
23586 	yyaccept = 0;
23587 	yych = *(YYMARKER = ++YYCURSOR);
23588 	if (yych <= 'G') {
23589 		if (yych <= ',') {
23590 			if (yych == ')') goto yy140;
23591 			goto yy4;
23592 		} else {
23593 			if (yych == '.') goto yy4;
23594 			if (yych <= '/') goto yy148;
23595 			goto yy4;
23596 		}
23597 	} else {
23598 		if (yych <= '`') {
23599 			if (yych <= 'H') goto yy1473;
23600 			if (yych == '_') goto yy148;
23601 			goto yy4;
23602 		} else {
23603 			if (yych == 'h') goto yy1488;
23604 			if (yych <= 'z') goto yy154;
23605 			goto yy4;
23606 		}
23607 	}
23608 yy1488:
23609 	YYDEBUG(1488, *YYCURSOR);
23610 	yych = *++YYCURSOR;
23611 	if (yych == 'T') goto yy1474;
23612 	if (yych != 't') goto yy155;
23613 	YYDEBUG(1489, *YYCURSOR);
23614 	yyaccept = 30;
23615 	yych = *(YYMARKER = ++YYCURSOR);
23616 	if (yybm[0+yych] & 16) {
23617 		goto yy154;
23618 	}
23619 	if (yych <= '.') {
23620 		if (yych == '-') goto yy148;
23621 		goto yy1420;
23622 	} else {
23623 		if (yych <= '/') goto yy148;
23624 		if (yych == '_') goto yy148;
23625 		goto yy1420;
23626 	}
23627 yy1490:
23628 	YYDEBUG(1490, *YYCURSOR);
23629 	yyaccept = 5;
23630 	yych = *(YYMARKER = ++YYCURSOR);
23631 	if (yych <= '9') {
23632 		if (yych <= '(') {
23633 			if (yych <= '\t') {
23634 				if (yych <= 0x08) goto yy194;
23635 				goto yy196;
23636 			} else {
23637 				if (yych == ' ') goto yy196;
23638 				goto yy194;
23639 			}
23640 		} else {
23641 			if (yych <= '-') {
23642 				if (yych <= ')') goto yy140;
23643 				if (yych <= ',') goto yy194;
23644 				goto yy372;
23645 			} else {
23646 				if (yych == '/') goto yy148;
23647 				goto yy196;
23648 			}
23649 		}
23650 	} else {
23651 		if (yych <= '^') {
23652 			if (yych <= 'B') {
23653 				if (yych <= '@') goto yy194;
23654 				goto yy143;
23655 			} else {
23656 				if (yych <= 'C') goto yy1477;
23657 				if (yych <= 'Z') goto yy143;
23658 				goto yy194;
23659 			}
23660 		} else {
23661 			if (yych <= 'b') {
23662 				if (yych <= '_') goto yy148;
23663 				if (yych <= '`') goto yy194;
23664 				goto yy151;
23665 			} else {
23666 				if (yych <= 'c') goto yy1492;
23667 				if (yych <= 'z') goto yy151;
23668 				goto yy194;
23669 			}
23670 		}
23671 	}
23672 yy1491:
23673 	YYDEBUG(1491, *YYCURSOR);
23674 	yyaccept = 5;
23675 	yych = *(YYMARKER = ++YYCURSOR);
23676 	if (yych <= '.') {
23677 		if (yych <= ' ') {
23678 			if (yych == '\t') goto yy196;
23679 			if (yych <= 0x1F) goto yy194;
23680 			goto yy196;
23681 		} else {
23682 			if (yych <= ')') {
23683 				if (yych <= '(') goto yy194;
23684 				goto yy140;
23685 			} else {
23686 				if (yych <= ',') goto yy194;
23687 				if (yych <= '-') goto yy372;
23688 				goto yy196;
23689 			}
23690 		}
23691 	} else {
23692 		if (yych <= 'Z') {
23693 			if (yych <= '/') goto yy148;
23694 			if (yych <= '9') goto yy196;
23695 			if (yych <= '@') goto yy194;
23696 			goto yy143;
23697 		} else {
23698 			if (yych <= '_') {
23699 				if (yych <= '^') goto yy194;
23700 				goto yy148;
23701 			} else {
23702 				if (yych <= '`') goto yy194;
23703 				if (yych <= 'z') goto yy151;
23704 				goto yy194;
23705 			}
23706 		}
23707 	}
23708 yy1492:
23709 	YYDEBUG(1492, *YYCURSOR);
23710 	yyaccept = 0;
23711 	yych = *(YYMARKER = ++YYCURSOR);
23712 	if (yych <= 'G') {
23713 		if (yych <= '-') {
23714 			if (yych == ')') goto yy140;
23715 			if (yych <= ',') goto yy4;
23716 			goto yy148;
23717 		} else {
23718 			if (yych == '/') goto yy148;
23719 			if (yych <= '@') goto yy4;
23720 			goto yy144;
23721 		}
23722 	} else {
23723 		if (yych <= '_') {
23724 			if (yych <= 'H') goto yy396;
23725 			if (yych <= 'Z') goto yy144;
23726 			if (yych <= '^') goto yy4;
23727 			goto yy148;
23728 		} else {
23729 			if (yych <= 'g') {
23730 				if (yych <= '`') goto yy4;
23731 				goto yy152;
23732 			} else {
23733 				if (yych <= 'h') goto yy407;
23734 				if (yych <= 'z') goto yy152;
23735 				goto yy4;
23736 			}
23737 		}
23738 	}
23739 yy1493:
23740 	YYDEBUG(1493, *YYCURSOR);
23741 	yych = *++YYCURSOR;
23742 	if (yych <= 'W') {
23743 		if (yych <= 'N') {
23744 			if (yych == ')') goto yy140;
23745 			if (yych <= '@') goto yy4;
23746 			goto yy142;
23747 		} else {
23748 			if (yych <= 'O') goto yy1501;
23749 			if (yych <= 'U') goto yy142;
23750 			if (yych <= 'V') goto yy1502;
23751 			goto yy1499;
23752 		}
23753 	} else {
23754 		if (yych <= 'o') {
23755 			if (yych <= 'Z') goto yy142;
23756 			if (yych <= '`') goto yy4;
23757 			if (yych <= 'n') goto yy142;
23758 			goto yy1501;
23759 		} else {
23760 			if (yych <= 'v') {
23761 				if (yych <= 'u') goto yy142;
23762 				goto yy1502;
23763 			} else {
23764 				if (yych <= 'w') goto yy1499;
23765 				if (yych <= 'z') goto yy142;
23766 				goto yy4;
23767 			}
23768 		}
23769 	}
23770 yy1494:
23771 	YYDEBUG(1494, *YYCURSOR);
23772 	yych = *++YYCURSOR;
23773 	if (yych <= 'X') {
23774 		if (yych <= ')') {
23775 			if (yych <= '(') goto yy4;
23776 			goto yy140;
23777 		} else {
23778 			if (yych <= '@') goto yy4;
23779 			if (yych <= 'W') goto yy142;
23780 			goto yy1498;
23781 		}
23782 	} else {
23783 		if (yych <= 'w') {
23784 			if (yych <= 'Z') goto yy142;
23785 			if (yych <= '`') goto yy4;
23786 			goto yy142;
23787 		} else {
23788 			if (yych <= 'x') goto yy1498;
23789 			if (yych <= 'z') goto yy142;
23790 			goto yy4;
23791 		}
23792 	}
23793 yy1495:
23794 	YYDEBUG(1495, *YYCURSOR);
23795 	yych = *++YYCURSOR;
23796 	if (yych <= 'N') {
23797 		if (yych <= ')') {
23798 			if (yych <= '(') goto yy4;
23799 			goto yy140;
23800 		} else {
23801 			if (yych <= '@') goto yy4;
23802 			if (yych <= 'M') goto yy142;
23803 		}
23804 	} else {
23805 		if (yych <= 'm') {
23806 			if (yych <= 'Z') goto yy142;
23807 			if (yych <= '`') goto yy4;
23808 			goto yy142;
23809 		} else {
23810 			if (yych <= 'n') goto yy1496;
23811 			if (yych <= 'z') goto yy142;
23812 			goto yy4;
23813 		}
23814 	}
23815 yy1496:
23816 	YYDEBUG(1496, *YYCURSOR);
23817 	yych = *++YYCURSOR;
23818 	if (yych <= 'T') {
23819 		if (yych <= ')') {
23820 			if (yych <= '(') goto yy4;
23821 			goto yy140;
23822 		} else {
23823 			if (yych <= '@') goto yy4;
23824 			if (yych <= 'S') goto yy143;
23825 		}
23826 	} else {
23827 		if (yych <= 's') {
23828 			if (yych <= 'Z') goto yy143;
23829 			if (yych <= '`') goto yy4;
23830 			goto yy143;
23831 		} else {
23832 			if (yych <= 't') goto yy1497;
23833 			if (yych <= 'z') goto yy143;
23834 			goto yy4;
23835 		}
23836 	}
23837 yy1497:
23838 	YYDEBUG(1497, *YYCURSOR);
23839 	yych = *++YYCURSOR;
23840 	if (yych <= 'H') {
23841 		if (yych <= ')') {
23842 			if (yych <= '(') goto yy4;
23843 			goto yy140;
23844 		} else {
23845 			if (yych <= '@') goto yy4;
23846 			if (yych <= 'G') goto yy144;
23847 			goto yy1239;
23848 		}
23849 	} else {
23850 		if (yych <= 'g') {
23851 			if (yych <= 'Z') goto yy144;
23852 			if (yych <= '`') goto yy4;
23853 			goto yy144;
23854 		} else {
23855 			if (yych <= 'h') goto yy1239;
23856 			if (yych <= 'z') goto yy144;
23857 			goto yy4;
23858 		}
23859 	}
23860 yy1498:
23861 	YYDEBUG(1498, *YYCURSOR);
23862 	yych = *++YYCURSOR;
23863 	if (yych <= 'T') {
23864 		if (yych <= ')') {
23865 			if (yych <= '(') goto yy4;
23866 			goto yy140;
23867 		} else {
23868 			if (yych <= '@') goto yy4;
23869 			if (yych <= 'S') goto yy143;
23870 			goto yy1428;
23871 		}
23872 	} else {
23873 		if (yych <= 's') {
23874 			if (yych <= 'Z') goto yy143;
23875 			if (yych <= '`') goto yy4;
23876 			goto yy143;
23877 		} else {
23878 			if (yych <= 't') goto yy1428;
23879 			if (yych <= 'z') goto yy143;
23880 			goto yy4;
23881 		}
23882 	}
23883 yy1499:
23884 	YYDEBUG(1499, *YYCURSOR);
23885 	++YYCURSOR;
23886 	if ((yych = *YYCURSOR) <= '@') {
23887 		if (yych == ')') goto yy140;
23888 	} else {
23889 		if (yych <= 'Z') goto yy143;
23890 		if (yych <= '`') goto yy1500;
23891 		if (yych <= 'z') goto yy143;
23892 	}
23893 yy1500:
23894 	YYDEBUG(1500, *YYCURSOR);
23895 #line 1017 "ext/date/lib/parse_date.re"
23896 	{
23897 		DEBUG_OUTPUT("now");
23898 		TIMELIB_INIT;
23899 
23900 		TIMELIB_DEINIT;
23901 		return TIMELIB_RELATIVE;
23902 	}
23903 #line 23904 "ext/date/lib/parse_date.c"
23904 yy1501:
23905 	YYDEBUG(1501, *YYCURSOR);
23906 	yych = *++YYCURSOR;
23907 	if (yych <= 'N') {
23908 		if (yych <= ')') {
23909 			if (yych <= '(') goto yy4;
23910 			goto yy140;
23911 		} else {
23912 			if (yych <= '@') goto yy4;
23913 			if (yych <= 'M') goto yy143;
23914 			goto yy1507;
23915 		}
23916 	} else {
23917 		if (yych <= 'm') {
23918 			if (yych <= 'Z') goto yy143;
23919 			if (yych <= '`') goto yy4;
23920 			goto yy143;
23921 		} else {
23922 			if (yych <= 'n') goto yy1507;
23923 			if (yych <= 'z') goto yy143;
23924 			goto yy4;
23925 		}
23926 	}
23927 yy1502:
23928 	YYDEBUG(1502, *YYCURSOR);
23929 	yyaccept = 5;
23930 	yych = *(YYMARKER = ++YYCURSOR);
23931 	if (yych <= '/') {
23932 		if (yych <= '(') {
23933 			if (yych <= '\t') {
23934 				if (yych <= 0x08) goto yy194;
23935 				goto yy196;
23936 			} else {
23937 				if (yych == ' ') goto yy196;
23938 				goto yy194;
23939 			}
23940 		} else {
23941 			if (yych <= ',') {
23942 				if (yych <= ')') goto yy140;
23943 				goto yy194;
23944 			} else {
23945 				if (yych <= '-') goto yy197;
23946 				if (yych <= '.') goto yy196;
23947 				goto yy194;
23948 			}
23949 		}
23950 	} else {
23951 		if (yych <= 'Z') {
23952 			if (yych <= '@') {
23953 				if (yych <= '9') goto yy196;
23954 				goto yy194;
23955 			} else {
23956 				if (yych != 'E') goto yy143;
23957 			}
23958 		} else {
23959 			if (yych <= 'd') {
23960 				if (yych <= '`') goto yy194;
23961 				goto yy143;
23962 			} else {
23963 				if (yych <= 'e') goto yy1503;
23964 				if (yych <= 'z') goto yy143;
23965 				goto yy194;
23966 			}
23967 		}
23968 	}
23969 yy1503:
23970 	YYDEBUG(1503, *YYCURSOR);
23971 	yych = *++YYCURSOR;
23972 	if (yych <= 'M') {
23973 		if (yych <= ')') {
23974 			if (yych <= '(') goto yy4;
23975 			goto yy140;
23976 		} else {
23977 			if (yych <= '@') goto yy4;
23978 			if (yych <= 'L') goto yy144;
23979 		}
23980 	} else {
23981 		if (yych <= 'l') {
23982 			if (yych <= 'Z') goto yy144;
23983 			if (yych <= '`') goto yy4;
23984 			goto yy144;
23985 		} else {
23986 			if (yych <= 'm') goto yy1504;
23987 			if (yych <= 'z') goto yy144;
23988 			goto yy4;
23989 		}
23990 	}
23991 yy1504:
23992 	YYDEBUG(1504, *YYCURSOR);
23993 	yych = *++YYCURSOR;
23994 	if (yych <= 'B') {
23995 		if (yych <= ')') {
23996 			if (yych <= '(') goto yy4;
23997 			goto yy140;
23998 		} else {
23999 			if (yych <= '@') goto yy4;
24000 			if (yych <= 'A') goto yy145;
24001 		}
24002 	} else {
24003 		if (yych <= 'a') {
24004 			if (yych <= 'Z') goto yy145;
24005 			if (yych <= '`') goto yy4;
24006 			goto yy145;
24007 		} else {
24008 			if (yych <= 'b') goto yy1505;
24009 			if (yych <= 'z') goto yy145;
24010 			goto yy4;
24011 		}
24012 	}
24013 yy1505:
24014 	YYDEBUG(1505, *YYCURSOR);
24015 	yyaccept = 0;
24016 	yych = *(YYMARKER = ++YYCURSOR);
24017 	if (yych <= 'D') {
24018 		if (yych == ')') goto yy140;
24019 		goto yy4;
24020 	} else {
24021 		if (yych <= 'E') goto yy1506;
24022 		if (yych != 'e') goto yy4;
24023 	}
24024 yy1506:
24025 	YYDEBUG(1506, *YYCURSOR);
24026 	yych = *++YYCURSOR;
24027 	if (yych == 'R') goto yy206;
24028 	if (yych == 'r') goto yy206;
24029 	goto yy57;
24030 yy1507:
24031 	YYDEBUG(1507, *YYCURSOR);
24032 	++YYCURSOR;
24033 	if ((yych = *YYCURSOR) <= '@') {
24034 		if (yych == ')') goto yy140;
24035 	} else {
24036 		if (yych <= 'Z') goto yy144;
24037 		if (yych <= '`') goto yy1508;
24038 		if (yych <= 'z') goto yy144;
24039 	}
24040 yy1508:
24041 	YYDEBUG(1508, *YYCURSOR);
24042 #line 1026 "ext/date/lib/parse_date.re"
24043 	{
24044 		DEBUG_OUTPUT("noon");
24045 		TIMELIB_INIT;
24046 		TIMELIB_UNHAVE_TIME();
24047 		TIMELIB_HAVE_TIME();
24048 		s->time->h = 12;
24049 
24050 		TIMELIB_DEINIT;
24051 		return TIMELIB_RELATIVE;
24052 	}
24053 #line 24054 "ext/date/lib/parse_date.c"
24054 yy1509:
24055 	YYDEBUG(1509, *YYCURSOR);
24056 	yyaccept = 0;
24057 	yych = *(YYMARKER = ++YYCURSOR);
24058 	if (yych <= 'V') {
24059 		if (yych <= '.') {
24060 			if (yych <= ')') {
24061 				if (yych <= '(') goto yy4;
24062 				goto yy140;
24063 			} else {
24064 				if (yych == '-') goto yy148;
24065 				goto yy4;
24066 			}
24067 		} else {
24068 			if (yych <= 'N') {
24069 				if (yych <= '/') goto yy148;
24070 				if (yych <= '@') goto yy4;
24071 				goto yy142;
24072 			} else {
24073 				if (yych <= 'O') goto yy1501;
24074 				if (yych <= 'U') goto yy142;
24075 				goto yy1502;
24076 			}
24077 		}
24078 	} else {
24079 		if (yych <= 'n') {
24080 			if (yych <= '^') {
24081 				if (yych <= 'W') goto yy1499;
24082 				if (yych <= 'Z') goto yy142;
24083 				goto yy4;
24084 			} else {
24085 				if (yych <= '_') goto yy148;
24086 				if (yych <= '`') goto yy4;
24087 				goto yy147;
24088 			}
24089 		} else {
24090 			if (yych <= 'v') {
24091 				if (yych <= 'o') goto yy1516;
24092 				if (yych <= 'u') goto yy147;
24093 				goto yy1517;
24094 			} else {
24095 				if (yych <= 'w') goto yy1515;
24096 				if (yych <= 'z') goto yy147;
24097 				goto yy4;
24098 			}
24099 		}
24100 	}
24101 yy1510:
24102 	YYDEBUG(1510, *YYCURSOR);
24103 	yyaccept = 0;
24104 	yych = *(YYMARKER = ++YYCURSOR);
24105 	if (yych <= 'W') {
24106 		if (yych <= '-') {
24107 			if (yych == ')') goto yy140;
24108 			if (yych <= ',') goto yy4;
24109 			goto yy148;
24110 		} else {
24111 			if (yych == '/') goto yy148;
24112 			if (yych <= '@') goto yy4;
24113 			goto yy142;
24114 		}
24115 	} else {
24116 		if (yych <= '_') {
24117 			if (yych <= 'X') goto yy1498;
24118 			if (yych <= 'Z') goto yy142;
24119 			if (yych <= '^') goto yy4;
24120 			goto yy148;
24121 		} else {
24122 			if (yych <= 'w') {
24123 				if (yych <= '`') goto yy4;
24124 				goto yy147;
24125 			} else {
24126 				if (yych <= 'x') goto yy1514;
24127 				if (yych <= 'z') goto yy147;
24128 				goto yy4;
24129 			}
24130 		}
24131 	}
24132 yy1511:
24133 	YYDEBUG(1511, *YYCURSOR);
24134 	yyaccept = 0;
24135 	yych = *(YYMARKER = ++YYCURSOR);
24136 	if (yych <= 'M') {
24137 		if (yych <= '-') {
24138 			if (yych == ')') goto yy140;
24139 			if (yych <= ',') goto yy4;
24140 			goto yy148;
24141 		} else {
24142 			if (yych == '/') goto yy148;
24143 			if (yych <= '@') goto yy4;
24144 			goto yy142;
24145 		}
24146 	} else {
24147 		if (yych <= '_') {
24148 			if (yych <= 'N') goto yy1496;
24149 			if (yych <= 'Z') goto yy142;
24150 			if (yych <= '^') goto yy4;
24151 			goto yy148;
24152 		} else {
24153 			if (yych <= 'm') {
24154 				if (yych <= '`') goto yy4;
24155 				goto yy147;
24156 			} else {
24157 				if (yych <= 'n') goto yy1512;
24158 				if (yych <= 'z') goto yy147;
24159 				goto yy4;
24160 			}
24161 		}
24162 	}
24163 yy1512:
24164 	YYDEBUG(1512, *YYCURSOR);
24165 	yyaccept = 0;
24166 	yych = *(YYMARKER = ++YYCURSOR);
24167 	if (yych <= 'S') {
24168 		if (yych <= '-') {
24169 			if (yych == ')') goto yy140;
24170 			if (yych <= ',') goto yy4;
24171 			goto yy148;
24172 		} else {
24173 			if (yych == '/') goto yy148;
24174 			if (yych <= '@') goto yy4;
24175 			goto yy143;
24176 		}
24177 	} else {
24178 		if (yych <= '_') {
24179 			if (yych <= 'T') goto yy1497;
24180 			if (yych <= 'Z') goto yy143;
24181 			if (yych <= '^') goto yy4;
24182 			goto yy148;
24183 		} else {
24184 			if (yych <= 's') {
24185 				if (yych <= '`') goto yy4;
24186 				goto yy151;
24187 			} else {
24188 				if (yych <= 't') goto yy1513;
24189 				if (yych <= 'z') goto yy151;
24190 				goto yy4;
24191 			}
24192 		}
24193 	}
24194 yy1513:
24195 	YYDEBUG(1513, *YYCURSOR);
24196 	yyaccept = 0;
24197 	yych = *(YYMARKER = ++YYCURSOR);
24198 	if (yych <= 'G') {
24199 		if (yych <= '-') {
24200 			if (yych == ')') goto yy140;
24201 			if (yych <= ',') goto yy4;
24202 			goto yy148;
24203 		} else {
24204 			if (yych == '/') goto yy148;
24205 			if (yych <= '@') goto yy4;
24206 			goto yy144;
24207 		}
24208 	} else {
24209 		if (yych <= '_') {
24210 			if (yych <= 'H') goto yy1239;
24211 			if (yych <= 'Z') goto yy144;
24212 			if (yych <= '^') goto yy4;
24213 			goto yy148;
24214 		} else {
24215 			if (yych <= 'g') {
24216 				if (yych <= '`') goto yy4;
24217 				goto yy152;
24218 			} else {
24219 				if (yych <= 'h') goto yy1268;
24220 				if (yych <= 'z') goto yy152;
24221 				goto yy4;
24222 			}
24223 		}
24224 	}
24225 yy1514:
24226 	YYDEBUG(1514, *YYCURSOR);
24227 	yyaccept = 0;
24228 	yych = *(YYMARKER = ++YYCURSOR);
24229 	if (yych <= 'S') {
24230 		if (yych <= '-') {
24231 			if (yych == ')') goto yy140;
24232 			if (yych <= ',') goto yy4;
24233 			goto yy148;
24234 		} else {
24235 			if (yych == '/') goto yy148;
24236 			if (yych <= '@') goto yy4;
24237 			goto yy143;
24238 		}
24239 	} else {
24240 		if (yych <= '_') {
24241 			if (yych <= 'T') goto yy1428;
24242 			if (yych <= 'Z') goto yy143;
24243 			if (yych <= '^') goto yy4;
24244 			goto yy148;
24245 		} else {
24246 			if (yych <= 's') {
24247 				if (yych <= '`') goto yy4;
24248 				goto yy151;
24249 			} else {
24250 				if (yych <= 't') goto yy1460;
24251 				if (yych <= 'z') goto yy151;
24252 				goto yy4;
24253 			}
24254 		}
24255 	}
24256 yy1515:
24257 	YYDEBUG(1515, *YYCURSOR);
24258 	yyaccept = 31;
24259 	yych = *(YYMARKER = ++YYCURSOR);
24260 	if (yych <= '/') {
24261 		if (yych <= ',') {
24262 			if (yych == ')') goto yy140;
24263 			goto yy1500;
24264 		} else {
24265 			if (yych == '.') goto yy1500;
24266 			goto yy148;
24267 		}
24268 	} else {
24269 		if (yych <= '^') {
24270 			if (yych <= '@') goto yy1500;
24271 			if (yych <= 'Z') goto yy143;
24272 			goto yy1500;
24273 		} else {
24274 			if (yych <= '_') goto yy148;
24275 			if (yych <= '`') goto yy1500;
24276 			if (yych <= 'z') goto yy151;
24277 			goto yy1500;
24278 		}
24279 	}
24280 yy1516:
24281 	YYDEBUG(1516, *YYCURSOR);
24282 	yyaccept = 0;
24283 	yych = *(YYMARKER = ++YYCURSOR);
24284 	if (yych <= 'M') {
24285 		if (yych <= '-') {
24286 			if (yych == ')') goto yy140;
24287 			if (yych <= ',') goto yy4;
24288 			goto yy148;
24289 		} else {
24290 			if (yych == '/') goto yy148;
24291 			if (yych <= '@') goto yy4;
24292 			goto yy143;
24293 		}
24294 	} else {
24295 		if (yych <= '_') {
24296 			if (yych <= 'N') goto yy1507;
24297 			if (yych <= 'Z') goto yy143;
24298 			if (yych <= '^') goto yy4;
24299 			goto yy148;
24300 		} else {
24301 			if (yych <= 'm') {
24302 				if (yych <= '`') goto yy4;
24303 				goto yy151;
24304 			} else {
24305 				if (yych <= 'n') goto yy1522;
24306 				if (yych <= 'z') goto yy151;
24307 				goto yy4;
24308 			}
24309 		}
24310 	}
24311 yy1517:
24312 	YYDEBUG(1517, *YYCURSOR);
24313 	yyaccept = 5;
24314 	yych = *(YYMARKER = ++YYCURSOR);
24315 	if (yych <= '9') {
24316 		if (yych <= '(') {
24317 			if (yych <= '\t') {
24318 				if (yych <= 0x08) goto yy194;
24319 				goto yy196;
24320 			} else {
24321 				if (yych == ' ') goto yy196;
24322 				goto yy194;
24323 			}
24324 		} else {
24325 			if (yych <= '-') {
24326 				if (yych <= ')') goto yy140;
24327 				if (yych <= ',') goto yy194;
24328 				goto yy372;
24329 			} else {
24330 				if (yych == '/') goto yy148;
24331 				goto yy196;
24332 			}
24333 		}
24334 	} else {
24335 		if (yych <= '^') {
24336 			if (yych <= 'D') {
24337 				if (yych <= '@') goto yy194;
24338 				goto yy143;
24339 			} else {
24340 				if (yych <= 'E') goto yy1503;
24341 				if (yych <= 'Z') goto yy143;
24342 				goto yy194;
24343 			}
24344 		} else {
24345 			if (yych <= 'd') {
24346 				if (yych <= '_') goto yy148;
24347 				if (yych <= '`') goto yy194;
24348 				goto yy151;
24349 			} else {
24350 				if (yych <= 'e') goto yy1518;
24351 				if (yych <= 'z') goto yy151;
24352 				goto yy194;
24353 			}
24354 		}
24355 	}
24356 yy1518:
24357 	YYDEBUG(1518, *YYCURSOR);
24358 	yyaccept = 0;
24359 	yych = *(YYMARKER = ++YYCURSOR);
24360 	if (yych <= 'L') {
24361 		if (yych <= '-') {
24362 			if (yych == ')') goto yy140;
24363 			if (yych <= ',') goto yy4;
24364 			goto yy148;
24365 		} else {
24366 			if (yych == '/') goto yy148;
24367 			if (yych <= '@') goto yy4;
24368 			goto yy144;
24369 		}
24370 	} else {
24371 		if (yych <= '_') {
24372 			if (yych <= 'M') goto yy1504;
24373 			if (yych <= 'Z') goto yy144;
24374 			if (yych <= '^') goto yy4;
24375 			goto yy148;
24376 		} else {
24377 			if (yych <= 'l') {
24378 				if (yych <= '`') goto yy4;
24379 				goto yy152;
24380 			} else {
24381 				if (yych <= 'm') goto yy1519;
24382 				if (yych <= 'z') goto yy152;
24383 				goto yy4;
24384 			}
24385 		}
24386 	}
24387 yy1519:
24388 	YYDEBUG(1519, *YYCURSOR);
24389 	yyaccept = 0;
24390 	yych = *(YYMARKER = ++YYCURSOR);
24391 	if (yych <= 'A') {
24392 		if (yych <= '-') {
24393 			if (yych == ')') goto yy140;
24394 			if (yych <= ',') goto yy4;
24395 			goto yy148;
24396 		} else {
24397 			if (yych == '/') goto yy148;
24398 			if (yych <= '@') goto yy4;
24399 			goto yy145;
24400 		}
24401 	} else {
24402 		if (yych <= '_') {
24403 			if (yych <= 'B') goto yy1505;
24404 			if (yych <= 'Z') goto yy145;
24405 			if (yych <= '^') goto yy4;
24406 			goto yy148;
24407 		} else {
24408 			if (yych <= 'a') {
24409 				if (yych <= '`') goto yy4;
24410 				goto yy153;
24411 			} else {
24412 				if (yych <= 'b') goto yy1520;
24413 				if (yych <= 'z') goto yy153;
24414 				goto yy4;
24415 			}
24416 		}
24417 	}
24418 yy1520:
24419 	YYDEBUG(1520, *YYCURSOR);
24420 	yyaccept = 0;
24421 	yych = *(YYMARKER = ++YYCURSOR);
24422 	if (yych <= 'D') {
24423 		if (yych <= ',') {
24424 			if (yych == ')') goto yy140;
24425 			goto yy4;
24426 		} else {
24427 			if (yych == '.') goto yy4;
24428 			if (yych <= '/') goto yy148;
24429 			goto yy4;
24430 		}
24431 	} else {
24432 		if (yych <= '`') {
24433 			if (yych <= 'E') goto yy1506;
24434 			if (yych == '_') goto yy148;
24435 			goto yy4;
24436 		} else {
24437 			if (yych == 'e') goto yy1521;
24438 			if (yych <= 'z') goto yy154;
24439 			goto yy4;
24440 		}
24441 	}
24442 yy1521:
24443 	YYDEBUG(1521, *YYCURSOR);
24444 	yych = *++YYCURSOR;
24445 	if (yych == 'R') goto yy206;
24446 	if (yych == 'r') goto yy377;
24447 	goto yy155;
24448 yy1522:
24449 	YYDEBUG(1522, *YYCURSOR);
24450 	yyaccept = 32;
24451 	yych = *(YYMARKER = ++YYCURSOR);
24452 	if (yych <= '/') {
24453 		if (yych <= ',') {
24454 			if (yych == ')') goto yy140;
24455 			goto yy1508;
24456 		} else {
24457 			if (yych == '.') goto yy1508;
24458 			goto yy148;
24459 		}
24460 	} else {
24461 		if (yych <= '^') {
24462 			if (yych <= '@') goto yy1508;
24463 			if (yych <= 'Z') goto yy144;
24464 			goto yy1508;
24465 		} else {
24466 			if (yych <= '_') goto yy148;
24467 			if (yych <= '`') goto yy1508;
24468 			if (yych <= 'z') goto yy152;
24469 			goto yy1508;
24470 		}
24471 	}
24472 yy1523:
24473 	YYDEBUG(1523, *YYCURSOR);
24474 	yych = *++YYCURSOR;
24475 	if (yych <= 'S') {
24476 		if (yych <= ')') {
24477 			if (yych <= '(') goto yy4;
24478 			goto yy140;
24479 		} else {
24480 			if (yych <= '@') goto yy4;
24481 			if (yych <= 'R') goto yy142;
24482 		}
24483 	} else {
24484 		if (yych <= 'r') {
24485 			if (yych <= 'Z') goto yy142;
24486 			if (yych <= '`') goto yy4;
24487 			goto yy142;
24488 		} else {
24489 			if (yych <= 's') goto yy1524;
24490 			if (yych <= 'z') goto yy142;
24491 			goto yy4;
24492 		}
24493 	}
24494 yy1524:
24495 	YYDEBUG(1524, *YYCURSOR);
24496 	yych = *++YYCURSOR;
24497 	if (yych <= 'T') {
24498 		if (yych <= ')') {
24499 			if (yych <= '(') goto yy4;
24500 			goto yy140;
24501 		} else {
24502 			if (yych <= '@') goto yy4;
24503 			if (yych <= 'S') goto yy143;
24504 		}
24505 	} else {
24506 		if (yych <= 's') {
24507 			if (yych <= 'Z') goto yy143;
24508 			if (yych <= '`') goto yy4;
24509 			goto yy143;
24510 		} else {
24511 			if (yych <= 't') goto yy1525;
24512 			if (yych <= 'z') goto yy143;
24513 			goto yy4;
24514 		}
24515 	}
24516 yy1525:
24517 	YYDEBUG(1525, *YYCURSOR);
24518 	yych = *++YYCURSOR;
24519 	if (yych <= 'E') {
24520 		if (yych <= ')') {
24521 			if (yych <= '(') goto yy4;
24522 			goto yy140;
24523 		} else {
24524 			if (yych <= '@') goto yy4;
24525 			if (yych <= 'D') goto yy144;
24526 		}
24527 	} else {
24528 		if (yych <= 'd') {
24529 			if (yych <= 'Z') goto yy144;
24530 			if (yych <= '`') goto yy4;
24531 			goto yy144;
24532 		} else {
24533 			if (yych <= 'e') goto yy1526;
24534 			if (yych <= 'z') goto yy144;
24535 			goto yy4;
24536 		}
24537 	}
24538 yy1526:
24539 	YYDEBUG(1526, *YYCURSOR);
24540 	yych = *++YYCURSOR;
24541 	if (yych <= 'R') {
24542 		if (yych <= ')') {
24543 			if (yych <= '(') goto yy4;
24544 			goto yy140;
24545 		} else {
24546 			if (yych <= '@') goto yy4;
24547 			if (yych <= 'Q') goto yy145;
24548 		}
24549 	} else {
24550 		if (yych <= 'q') {
24551 			if (yych <= 'Z') goto yy145;
24552 			if (yych <= '`') goto yy4;
24553 			goto yy145;
24554 		} else {
24555 			if (yych <= 'r') goto yy1527;
24556 			if (yych <= 'z') goto yy145;
24557 			goto yy4;
24558 		}
24559 	}
24560 yy1527:
24561 	YYDEBUG(1527, *YYCURSOR);
24562 	yyaccept = 0;
24563 	yych = *(YYMARKER = ++YYCURSOR);
24564 	if (yych <= 'C') {
24565 		if (yych == ')') goto yy140;
24566 		goto yy4;
24567 	} else {
24568 		if (yych <= 'D') goto yy1528;
24569 		if (yych != 'd') goto yy4;
24570 	}
24571 yy1528:
24572 	YYDEBUG(1528, *YYCURSOR);
24573 	yych = *++YYCURSOR;
24574 	if (yych == 'A') goto yy1529;
24575 	if (yych != 'a') goto yy57;
24576 yy1529:
24577 	YYDEBUG(1529, *YYCURSOR);
24578 	yych = *++YYCURSOR;
24579 	if (yych == 'Y') goto yy1530;
24580 	if (yych != 'y') goto yy57;
24581 yy1530:
24582 	YYDEBUG(1530, *YYCURSOR);
24583 	++YYCURSOR;
24584 yy1531:
24585 	YYDEBUG(1531, *YYCURSOR);
24586 #line 1005 "ext/date/lib/parse_date.re"
24587 	{
24588 		DEBUG_OUTPUT("yesterday");
24589 		TIMELIB_INIT;
24590 		TIMELIB_HAVE_RELATIVE();
24591 		TIMELIB_UNHAVE_TIME();
24592 
24593 		s->time->relative.d = -1;
24594 		TIMELIB_DEINIT;
24595 		return TIMELIB_RELATIVE;
24596 	}
24597 #line 24598 "ext/date/lib/parse_date.c"
24598 yy1532:
24599 	YYDEBUG(1532, *YYCURSOR);
24600 	yyaccept = 0;
24601 	yych = *(YYMARKER = ++YYCURSOR);
24602 	if (yych <= 'R') {
24603 		if (yych <= '-') {
24604 			if (yych == ')') goto yy140;
24605 			if (yych <= ',') goto yy4;
24606 			goto yy148;
24607 		} else {
24608 			if (yych == '/') goto yy148;
24609 			if (yych <= '@') goto yy4;
24610 			goto yy142;
24611 		}
24612 	} else {
24613 		if (yych <= '_') {
24614 			if (yych <= 'S') goto yy1524;
24615 			if (yych <= 'Z') goto yy142;
24616 			if (yych <= '^') goto yy4;
24617 			goto yy148;
24618 		} else {
24619 			if (yych <= 'r') {
24620 				if (yych <= '`') goto yy4;
24621 				goto yy147;
24622 			} else {
24623 				if (yych <= 's') goto yy1533;
24624 				if (yych <= 'z') goto yy147;
24625 				goto yy4;
24626 			}
24627 		}
24628 	}
24629 yy1533:
24630 	YYDEBUG(1533, *YYCURSOR);
24631 	yyaccept = 0;
24632 	yych = *(YYMARKER = ++YYCURSOR);
24633 	if (yych <= 'S') {
24634 		if (yych <= '-') {
24635 			if (yych == ')') goto yy140;
24636 			if (yych <= ',') goto yy4;
24637 			goto yy148;
24638 		} else {
24639 			if (yych == '/') goto yy148;
24640 			if (yych <= '@') goto yy4;
24641 			goto yy143;
24642 		}
24643 	} else {
24644 		if (yych <= '_') {
24645 			if (yych <= 'T') goto yy1525;
24646 			if (yych <= 'Z') goto yy143;
24647 			if (yych <= '^') goto yy4;
24648 			goto yy148;
24649 		} else {
24650 			if (yych <= 's') {
24651 				if (yych <= '`') goto yy4;
24652 				goto yy151;
24653 			} else {
24654 				if (yych <= 't') goto yy1534;
24655 				if (yych <= 'z') goto yy151;
24656 				goto yy4;
24657 			}
24658 		}
24659 	}
24660 yy1534:
24661 	YYDEBUG(1534, *YYCURSOR);
24662 	yyaccept = 0;
24663 	yych = *(YYMARKER = ++YYCURSOR);
24664 	if (yych <= 'D') {
24665 		if (yych <= '-') {
24666 			if (yych == ')') goto yy140;
24667 			if (yych <= ',') goto yy4;
24668 			goto yy148;
24669 		} else {
24670 			if (yych == '/') goto yy148;
24671 			if (yych <= '@') goto yy4;
24672 			goto yy144;
24673 		}
24674 	} else {
24675 		if (yych <= '_') {
24676 			if (yych <= 'E') goto yy1526;
24677 			if (yych <= 'Z') goto yy144;
24678 			if (yych <= '^') goto yy4;
24679 			goto yy148;
24680 		} else {
24681 			if (yych <= 'd') {
24682 				if (yych <= '`') goto yy4;
24683 				goto yy152;
24684 			} else {
24685 				if (yych <= 'e') goto yy1535;
24686 				if (yych <= 'z') goto yy152;
24687 				goto yy4;
24688 			}
24689 		}
24690 	}
24691 yy1535:
24692 	YYDEBUG(1535, *YYCURSOR);
24693 	yyaccept = 0;
24694 	yych = *(YYMARKER = ++YYCURSOR);
24695 	if (yych <= 'Q') {
24696 		if (yych <= '-') {
24697 			if (yych == ')') goto yy140;
24698 			if (yych <= ',') goto yy4;
24699 			goto yy148;
24700 		} else {
24701 			if (yych == '/') goto yy148;
24702 			if (yych <= '@') goto yy4;
24703 			goto yy145;
24704 		}
24705 	} else {
24706 		if (yych <= '_') {
24707 			if (yych <= 'R') goto yy1527;
24708 			if (yych <= 'Z') goto yy145;
24709 			if (yych <= '^') goto yy4;
24710 			goto yy148;
24711 		} else {
24712 			if (yych <= 'q') {
24713 				if (yych <= '`') goto yy4;
24714 				goto yy153;
24715 			} else {
24716 				if (yych <= 'r') goto yy1536;
24717 				if (yych <= 'z') goto yy153;
24718 				goto yy4;
24719 			}
24720 		}
24721 	}
24722 yy1536:
24723 	YYDEBUG(1536, *YYCURSOR);
24724 	yyaccept = 0;
24725 	yych = *(YYMARKER = ++YYCURSOR);
24726 	if (yych <= 'C') {
24727 		if (yych <= ',') {
24728 			if (yych == ')') goto yy140;
24729 			goto yy4;
24730 		} else {
24731 			if (yych == '.') goto yy4;
24732 			if (yych <= '/') goto yy148;
24733 			goto yy4;
24734 		}
24735 	} else {
24736 		if (yych <= '`') {
24737 			if (yych <= 'D') goto yy1528;
24738 			if (yych == '_') goto yy148;
24739 			goto yy4;
24740 		} else {
24741 			if (yych == 'd') goto yy1537;
24742 			if (yych <= 'z') goto yy154;
24743 			goto yy4;
24744 		}
24745 	}
24746 yy1537:
24747 	YYDEBUG(1537, *YYCURSOR);
24748 	yych = *++YYCURSOR;
24749 	if (yych == 'A') goto yy1529;
24750 	if (yych != 'a') goto yy155;
24751 	YYDEBUG(1538, *YYCURSOR);
24752 	yych = *++YYCURSOR;
24753 	if (yych == 'Y') goto yy1530;
24754 	if (yych != 'y') goto yy155;
24755 	YYDEBUG(1539, *YYCURSOR);
24756 	yyaccept = 33;
24757 	yych = *(YYMARKER = ++YYCURSOR);
24758 	if (yybm[0+yych] & 16) {
24759 		goto yy154;
24760 	}
24761 	if (yych <= '.') {
24762 		if (yych == '-') goto yy148;
24763 		goto yy1531;
24764 	} else {
24765 		if (yych <= '/') goto yy148;
24766 		if (yych == '_') goto yy148;
24767 		goto yy1531;
24768 	}
24769 }
24770 #line 1778 "ext/date/lib/parse_date.re"
24771 
24772 }
24773 
24774 #define YYMAXFILL 31
24775 
timelib_strtotime(char * s,int len,struct timelib_error_container ** errors,const timelib_tzdb * tzdb,timelib_tz_get_wrapper tz_get_wrapper)24776 timelib_time* timelib_strtotime(char *s, int len, struct timelib_error_container **errors, const timelib_tzdb *tzdb, timelib_tz_get_wrapper tz_get_wrapper)
24777 {
24778 	Scanner in;
24779 	int t;
24780 	char *e = s + len - 1;
24781 
24782 	memset(&in, 0, sizeof(in));
24783 	in.errors = malloc(sizeof(struct timelib_error_container));
24784 	in.errors->warning_count = 0;
24785 	in.errors->warning_messages = NULL;
24786 	in.errors->error_count = 0;
24787 	in.errors->error_messages = NULL;
24788 
24789 	if (len > 0) {
24790 		while (isspace(*s) && s < e) {
24791 			s++;
24792 		}
24793 		while (isspace(*e) && e > s) {
24794 			e--;
24795 		}
24796 	}
24797 	if (e - s < 0) {
24798 		in.time = timelib_time_ctor();
24799 		add_error(&in, "Empty string");
24800 		if (errors) {
24801 			*errors = in.errors;
24802 		} else {
24803 			timelib_error_container_dtor(in.errors);
24804 		}
24805 		in.time->y = in.time->d = in.time->m = in.time->h = in.time->i = in.time->s = in.time->f = in.time->dst = in.time->z = TIMELIB_UNSET;
24806 		in.time->is_localtime = in.time->zone_type = 0;
24807 		return in.time;
24808 	}
24809 	e++;
24810 
24811 	in.str = malloc((e - s) + YYMAXFILL);
24812 	memset(in.str, 0, (e - s) + YYMAXFILL);
24813 	memcpy(in.str, s, (e - s));
24814 	in.lim = in.str + (e - s) + YYMAXFILL;
24815 	in.cur = in.str;
24816 	in.time = timelib_time_ctor();
24817 	in.time->y = TIMELIB_UNSET;
24818 	in.time->d = TIMELIB_UNSET;
24819 	in.time->m = TIMELIB_UNSET;
24820 	in.time->h = TIMELIB_UNSET;
24821 	in.time->i = TIMELIB_UNSET;
24822 	in.time->s = TIMELIB_UNSET;
24823 	in.time->f = TIMELIB_UNSET;
24824 	in.time->z = TIMELIB_UNSET;
24825 	in.time->dst = TIMELIB_UNSET;
24826 	in.tzdb = tzdb;
24827 	in.time->is_localtime = 0;
24828 	in.time->zone_type = 0;
24829 
24830 	do {
24831 		t = scan(&in, tz_get_wrapper);
24832 #ifdef DEBUG_PARSER
24833 		printf("%d\n", t);
24834 #endif
24835 	} while(t != EOI);
24836 
24837 	/* do funky checking whether the parsed time was valid time */
24838 	if (in.time->have_time && !timelib_valid_time( in.time->h, in.time->i, in.time->s)) {
24839 		add_warning(&in, "The parsed time was invalid");
24840 	}
24841 	/* do funky checking whether the parsed date was valid date */
24842 	if (in.time->have_date && !timelib_valid_date( in.time->y, in.time->m, in.time->d)) {
24843 		add_warning(&in, "The parsed date was invalid");
24844 	}
24845 
24846 	free(in.str);
24847 	if (errors) {
24848 		*errors = in.errors;
24849 	} else {
24850 		timelib_error_container_dtor(in.errors);
24851 	}
24852 	return in.time;
24853 }
24854 
24855 #define TIMELIB_CHECK_NUMBER                                           \
24856 		if (strchr("0123456789", *ptr) == NULL)                        \
24857 		{                                                              \
24858 			add_pbf_error(s, "Unexpected data found.", string, begin); \
24859 		}
24860 
timelib_time_reset_fields(timelib_time * time)24861 static void timelib_time_reset_fields(timelib_time *time)
24862 {
24863 	assert(time != NULL);
24864 
24865 	time->y = 1970;
24866 	time->m = 1;
24867 	time->d = 1;
24868 	time->h = time->i = time->s = 0;
24869 	time->f = 0.0;
24870 	time->tz_info = NULL;
24871 }
24872 
timelib_time_reset_unset_fields(timelib_time * time)24873 static void timelib_time_reset_unset_fields(timelib_time *time)
24874 {
24875 	assert(time != NULL);
24876 
24877 	if (time->y == TIMELIB_UNSET ) time->y = 1970;
24878 	if (time->m == TIMELIB_UNSET ) time->m = 1;
24879 	if (time->d == TIMELIB_UNSET ) time->d = 1;
24880 	if (time->h == TIMELIB_UNSET ) time->h = 0;
24881 	if (time->i == TIMELIB_UNSET ) time->i = 0;
24882 	if (time->s == TIMELIB_UNSET ) time->s = 0;
24883 	if (time->f == TIMELIB_UNSET ) time->f = 0.0;
24884 }
24885 
timelib_parse_from_format(char * format,char * string,int len,timelib_error_container ** errors,const timelib_tzdb * tzdb,timelib_tz_get_wrapper tz_get_wrapper)24886 timelib_time *timelib_parse_from_format(char *format, char *string, int len, timelib_error_container **errors, const timelib_tzdb *tzdb, timelib_tz_get_wrapper tz_get_wrapper)
24887 {
24888 	char       *fptr = format;
24889 	char       *ptr = string;
24890 	char       *begin;
24891 	timelib_sll tmp;
24892 	Scanner in;
24893 	Scanner *s = &in;
24894 	int allow_extra = 0;
24895 
24896 	memset(&in, 0, sizeof(in));
24897 	in.errors = malloc(sizeof(struct timelib_error_container));
24898 	in.errors->warning_count = 0;
24899 	in.errors->warning_messages = NULL;
24900 	in.errors->error_count = 0;
24901 	in.errors->error_messages = NULL;
24902 
24903 	in.time = timelib_time_ctor();
24904 	in.time->y = TIMELIB_UNSET;
24905 	in.time->d = TIMELIB_UNSET;
24906 	in.time->m = TIMELIB_UNSET;
24907 	in.time->h = TIMELIB_UNSET;
24908 	in.time->i = TIMELIB_UNSET;
24909 	in.time->s = TIMELIB_UNSET;
24910 	in.time->f = TIMELIB_UNSET;
24911 	in.time->z = TIMELIB_UNSET;
24912 	in.time->dst = TIMELIB_UNSET;
24913 	in.tzdb = tzdb;
24914 	in.time->is_localtime = 0;
24915 	in.time->zone_type = 0;
24916 
24917 	/* Loop over the format string */
24918 	while (*fptr && *ptr) {
24919 		begin = ptr;
24920 		switch (*fptr) {
24921 			case 'D': /* three letter day */
24922 			case 'l': /* full day */
24923 				{
24924 					const timelib_relunit* tmprel = 0;
24925 
24926 					tmprel = timelib_lookup_relunit((char **) &ptr);
24927 					if (!tmprel) {
24928 						add_pbf_error(s, "A textual day could not be found", string, begin);
24929 						break;
24930 					} else {
24931 						in.time->have_relative = 1;
24932 						in.time->relative.have_weekday_relative = 1;
24933 						in.time->relative.weekday = tmprel->multiplier;
24934 						in.time->relative.weekday_behavior = 1;
24935 					}
24936 				}
24937 				break;
24938 			case 'd': /* two digit day, with leading zero */
24939 			case 'j': /* two digit day, without leading zero */
24940 				TIMELIB_CHECK_NUMBER;
24941 				if ((s->time->d = timelib_get_nr((char **) &ptr, 2)) == TIMELIB_UNSET) {
24942 					add_pbf_error(s, "A two digit day could not be found", string, begin);
24943 				}
24944 				break;
24945 			case 'S': /* day suffix, ignored, nor checked */
24946 				timelib_skip_day_suffix((char **) &ptr);
24947 				break;
24948 			case 'z': /* day of year - resets month (0 based) - also initializes everything else to !TIMELIB_UNSET */
24949 				TIMELIB_CHECK_NUMBER;
24950 				if ((tmp = timelib_get_nr((char **) &ptr, 3)) == TIMELIB_UNSET) {
24951 					add_pbf_error(s, "A three digit day-of-year could not be found", string, begin);
24952 				} else {
24953 					s->time->m = 1;
24954 					s->time->d = tmp + 1;
24955 					timelib_do_normalize(s->time);
24956 				}
24957 				break;
24958 
24959 			case 'm': /* two digit month, with leading zero */
24960 			case 'n': /* two digit month, without leading zero */
24961 				TIMELIB_CHECK_NUMBER;
24962 				if ((s->time->m = timelib_get_nr((char **) &ptr, 2)) == TIMELIB_UNSET) {
24963 					add_pbf_error(s, "A two digit month could not be found", string, begin);
24964 				}
24965 				break;
24966 			case 'M': /* three letter month */
24967 			case 'F': /* full month */
24968 				tmp = timelib_lookup_month((char **) &ptr);
24969 				if (!tmp) {
24970 					add_pbf_error(s, "A textual month could not be found", string, begin);
24971 				} else {
24972 					s->time->m = tmp;
24973 				}
24974 				break;
24975 			case 'y': /* two digit year */
24976 				{
24977 					int length = 0;
24978 					TIMELIB_CHECK_NUMBER;
24979 					if ((s->time->y = timelib_get_nr_ex((char **) &ptr, 2, &length)) == TIMELIB_UNSET) {
24980 						add_pbf_error(s, "A two digit year could not be found", string, begin);
24981 					}
24982 					TIMELIB_PROCESS_YEAR(s->time->y, length);
24983 				}
24984 				break;
24985 			case 'Y': /* four digit year */
24986 				TIMELIB_CHECK_NUMBER;
24987 				if ((s->time->y = timelib_get_nr((char **) &ptr, 4)) == TIMELIB_UNSET) {
24988 					add_pbf_error(s, "A four digit year could not be found", string, begin);
24989 				}
24990 				break;
24991 			case 'g': /* two digit hour, with leading zero */
24992 			case 'h': /* two digit hour, without leading zero */
24993 				TIMELIB_CHECK_NUMBER;
24994 				if ((s->time->h = timelib_get_nr((char **) &ptr, 2)) == TIMELIB_UNSET) {
24995 					add_pbf_error(s, "A two digit hour could not be found", string, begin);
24996 				}
24997 				if (s->time->h > 12) {
24998 					add_pbf_error(s, "Hour can not be higher than 12", string, begin);
24999 				}
25000 				break;
25001 			case 'G': /* two digit hour, with leading zero */
25002 			case 'H': /* two digit hour, without leading zero */
25003 				TIMELIB_CHECK_NUMBER;
25004 				if ((s->time->h = timelib_get_nr((char **) &ptr, 2)) == TIMELIB_UNSET) {
25005 					add_pbf_error(s, "A two digit hour could not be found", string, begin);
25006 				}
25007 				break;
25008 			case 'a': /* am/pm/a.m./p.m. */
25009 			case 'A': /* AM/PM/A.M./P.M. */
25010 				if (s->time->h == TIMELIB_UNSET) {
25011 					add_pbf_error(s, "Meridian can only come after an hour has been found", string, begin);
25012 				} else if ((tmp = timelib_meridian_with_check((char **) &ptr, s->time->h)) == TIMELIB_UNSET) {
25013 					add_pbf_error(s, "A meridian could not be found", string, begin);
25014 				} else {
25015 					s->time->h += tmp;
25016 				}
25017 				break;
25018 			case 'i': /* two digit minute, with leading zero */
25019 				{
25020 					int length;
25021 					timelib_sll min;
25022 
25023 					TIMELIB_CHECK_NUMBER;
25024 					min = timelib_get_nr_ex((char **) &ptr, 2, &length);
25025 					if (min == TIMELIB_UNSET || length != 2) {
25026 						add_pbf_error(s, "A two digit minute could not be found", string, begin);
25027 					} else {
25028 						s->time->i = min;
25029 					}
25030 				}
25031 				break;
25032 			case 's': /* two digit second, with leading zero */
25033 				{
25034 					int length;
25035 					timelib_sll sec;
25036 
25037 					TIMELIB_CHECK_NUMBER;
25038 					sec = timelib_get_nr_ex((char **) &ptr, 2, &length);
25039 					if (sec == TIMELIB_UNSET || length != 2) {
25040 						add_pbf_error(s, "A two second minute could not be found", string, begin);
25041 					} else {
25042 						s->time->s = sec;
25043 					}
25044 				}
25045 				break;
25046 			case 'u': /* up to six digit millisecond */
25047 				{
25048 					double f;
25049 					char *tptr;
25050 
25051 					TIMELIB_CHECK_NUMBER;
25052 					tptr = ptr;
25053 					if ((f = timelib_get_nr((char **) &ptr, 6)) == TIMELIB_UNSET || (ptr - tptr < 1)) {
25054 						add_pbf_error(s, "A six digit millisecond could not be found", string, begin);
25055 					} else {
25056 						s->time->f = (f / pow(10, (ptr - tptr)));
25057 					}
25058 				}
25059 				break;
25060 			case ' ': /* any sort of whitespace (' ' and \t) */
25061 				timelib_eat_spaces((char **) &ptr);
25062 				break;
25063 			case 'U': /* epoch seconds */
25064 				TIMELIB_CHECK_NUMBER;
25065 				TIMELIB_HAVE_RELATIVE();
25066 				tmp = timelib_get_unsigned_nr((char **) &ptr, 24);
25067 				s->time->y = 1970;
25068 				s->time->m = 1;
25069 				s->time->d = 1;
25070 				s->time->h = s->time->i = s->time->s = 0;
25071 				s->time->f = 0.0;
25072 				s->time->relative.s += tmp;
25073 				s->time->is_localtime = 1;
25074 				s->time->zone_type = TIMELIB_ZONETYPE_OFFSET;
25075 				s->time->z = 0;
25076 				break;
25077 
25078 			case 'e': /* timezone */
25079 			case 'P': /* timezone */
25080 			case 'T': /* timezone */
25081 			case 'O': /* timezone */
25082 				{
25083 					int tz_not_found;
25084 					s->time->z = timelib_get_zone((char **) &ptr, &s->time->dst, s->time, &tz_not_found, s->tzdb, tz_get_wrapper);
25085 					if (tz_not_found) {
25086 						add_pbf_error(s, "The timezone could not be found in the database", string, begin);
25087 					}
25088 				}
25089 				break;
25090 
25091 			case '#': /* separation symbol */
25092 				if (*ptr == ';' || *ptr == ':' || *ptr == '/' || *ptr == '.' || *ptr == ',' || *ptr == '-' || *ptr == '(' || *ptr == ')') {
25093 					++ptr;
25094 				} else {
25095 					add_pbf_error(s, "The separation symbol ([;:/.,-]) could not be found", string, begin);
25096 				}
25097 				break;
25098 
25099 			case ';':
25100 			case ':':
25101 			case '/':
25102 			case '.':
25103 			case ',':
25104 			case '-':
25105 			case '(':
25106 			case ')':
25107 				if (*ptr == *fptr) {
25108 					++ptr;
25109 				} else {
25110 					add_pbf_error(s, "The separation symbol could not be found", string, begin);
25111 				}
25112 				break;
25113 
25114 			case '!': /* reset all fields to default */
25115 				timelib_time_reset_fields(s->time);
25116 				break; /* break intentionally not missing */
25117 
25118 			case '|': /* reset all fields to default when not set */
25119 				timelib_time_reset_unset_fields(s->time);
25120 				break; /* break intentionally not missing */
25121 
25122 			case '?': /* random char */
25123 				++ptr;
25124 				break;
25125 
25126 			case '\\': /* escaped char */
25127                 if(!fptr[1]) {
25128 				    add_pbf_error(s, "Escaped character expected", string, begin);
25129                     break;
25130                 }
25131 				fptr++;
25132 				if (*ptr == *fptr) {
25133 					++ptr;
25134 				} else {
25135 					add_pbf_error(s, "The escaped character could not be found", string, begin);
25136 				}
25137 				break;
25138 
25139 			case '*': /* random chars until a separator or number ([ \t.,:;/-0123456789]) */
25140 				timelib_eat_until_separator((char **) &ptr);
25141 				break;
25142 
25143 			case '+': /* allow extra chars in the format */
25144 				allow_extra = 1;
25145 				break;
25146 
25147 			default:
25148 				if (*fptr != *ptr) {
25149 					add_pbf_error(s, "The format separator does not match", string, begin);
25150 				}
25151 				ptr++;
25152 		}
25153 		fptr++;
25154 	}
25155 	if (*ptr) {
25156 		if (allow_extra) {
25157 			add_pbf_warning(s, "Trailing data", string, ptr);
25158 		} else {
25159 			add_pbf_error(s, "Trailing data", string, ptr);
25160 		}
25161 	}
25162 	/* ignore trailing +'s */
25163 	while (*fptr == '+') {
25164 		fptr++;
25165 	}
25166 	if (*fptr) {
25167 		/* Trailing | and ! specifiers are valid. */
25168 		int done = 0;
25169 		while (*fptr && !done) {
25170 			switch (*fptr++) {
25171 				case '!': /* reset all fields to default */
25172 					timelib_time_reset_fields(s->time);
25173 					break;
25174 
25175 				case '|': /* reset all fields to default when not set */
25176 					timelib_time_reset_unset_fields(s->time);
25177 					break;
25178 
25179 				default:
25180 					add_pbf_error(s, "Data missing", string, ptr);
25181 					done = 1;
25182 			}
25183 		}
25184 	}
25185 
25186 	/* clean up a bit */
25187 	if (s->time->h != TIMELIB_UNSET || s->time->i != TIMELIB_UNSET || s->time->s != TIMELIB_UNSET) {
25188 		if (s->time->h == TIMELIB_UNSET ) {
25189 			s->time->h = 0;
25190 		}
25191 		if (s->time->i == TIMELIB_UNSET ) {
25192 			s->time->i = 0;
25193 		}
25194 		if (s->time->s == TIMELIB_UNSET ) {
25195 			s->time->s = 0;
25196 		}
25197 	}
25198 
25199 	/* do funky checking whether the parsed time was valid time */
25200 	if (s->time->h != TIMELIB_UNSET && s->time->i != TIMELIB_UNSET &&
25201 		s->time->s != TIMELIB_UNSET &&
25202 		!timelib_valid_time( s->time->h, s->time->i, s->time->s)) {
25203 		add_pbf_warning(s, "The parsed time was invalid", string, ptr);
25204 	}
25205 	/* do funky checking whether the parsed date was valid date */
25206 	if (s->time->y != TIMELIB_UNSET && s->time->m != TIMELIB_UNSET &&
25207 		s->time->d != TIMELIB_UNSET &&
25208 		!timelib_valid_date( s->time->y, s->time->m, s->time->d)) {
25209 		add_pbf_warning(s, "The parsed date was invalid", string, ptr);
25210 	}
25211 
25212 	if (errors) {
25213 		*errors = in.errors;
25214 	} else {
25215 		timelib_error_container_dtor(in.errors);
25216 	}
25217 	return in.time;
25218 }
25219 
timelib_fill_holes(timelib_time * parsed,timelib_time * now,int options)25220 void timelib_fill_holes(timelib_time *parsed, timelib_time *now, int options)
25221 {
25222 	if (!(options & TIMELIB_OVERRIDE_TIME) && parsed->have_date && !parsed->have_time) {
25223 		parsed->h = 0;
25224 		parsed->i = 0;
25225 		parsed->s = 0;
25226 		parsed->f = 0;
25227 	}
25228 	if (parsed->y == TIMELIB_UNSET) parsed->y = now->y != TIMELIB_UNSET ? now->y : 0;
25229 	if (parsed->d == TIMELIB_UNSET) parsed->d = now->d != TIMELIB_UNSET ? now->d : 0;
25230 	if (parsed->m == TIMELIB_UNSET) parsed->m = now->m != TIMELIB_UNSET ? now->m : 0;
25231 	if (parsed->h == TIMELIB_UNSET) parsed->h = now->h != TIMELIB_UNSET ? now->h : 0;
25232 	if (parsed->i == TIMELIB_UNSET) parsed->i = now->i != TIMELIB_UNSET ? now->i : 0;
25233 	if (parsed->s == TIMELIB_UNSET) parsed->s = now->s != TIMELIB_UNSET ? now->s : 0;
25234 	if (parsed->f == TIMELIB_UNSET) parsed->f = now->f != TIMELIB_UNSET ? now->f : 0;
25235 	if (parsed->z == TIMELIB_UNSET) parsed->z = now->z != TIMELIB_UNSET ? now->z : 0;
25236 	if (parsed->dst == TIMELIB_UNSET) parsed->dst = now->dst != TIMELIB_UNSET ? now->dst : 0;
25237 
25238 	if (!parsed->tz_abbr) {
25239 		parsed->tz_abbr = now->tz_abbr ? strdup(now->tz_abbr) : NULL;
25240 	}
25241 	if (!parsed->tz_info) {
25242 		parsed->tz_info = now->tz_info ? (!(options & TIMELIB_NO_CLONE) ? timelib_tzinfo_clone(now->tz_info) : now->tz_info) : NULL;
25243 	}
25244 	if (parsed->zone_type == 0 && now->zone_type != 0) {
25245 		parsed->zone_type = now->zone_type;
25246 /*		parsed->tz_abbr = now->tz_abbr ? strdup(now->tz_abbr) : NULL;
25247 		parsed->tz_info = now->tz_info ? timelib_tzinfo_clone(now->tz_info) : NULL;
25248 */		parsed->is_localtime = 1;
25249 	}
25250 /*	timelib_dump_date(parsed, 2);
25251 	timelib_dump_date(now, 2);
25252 */
25253 }
25254 
timelib_timezone_id_from_abbr(const char * abbr,long gmtoffset,int isdst)25255 char *timelib_timezone_id_from_abbr(const char *abbr, long gmtoffset, int isdst)
25256 {
25257 	const timelib_tz_lookup_table *tp;
25258 
25259 	tp = zone_search(abbr, gmtoffset, isdst);
25260 	if (tp) {
25261 		return (tp->full_tz_name);
25262 	} else {
25263 		return NULL;
25264 	}
25265 }
25266 
timelib_timezone_abbreviations_list(void)25267 const timelib_tz_lookup_table *timelib_timezone_abbreviations_list(void)
25268 {
25269 	return timelib_timezone_lookup;
25270 }
25271 
25272 #ifdef DEBUG_PARSER_STUB
main(void)25273 int main(void)
25274 {
25275 	timelib_time time = timelib_strtotime("May 12");
25276 
25277 	printf ("%04d-%02d-%02d %02d:%02d:%02d.%-5d %+04d %1d",
25278 		time.y, time.m, time.d, time.h, time.i, time.s, time.f, time.z, time.dst);
25279 	if (time.have_relative) {
25280 		printf ("%3dY %3dM %3dD / %3dH %3dM %3dS",
25281 			time.relative.y, time.relative.m, time.relative.d, time.relative.h, time.relative.i, time.relative.s);
25282 	}
25283 	if (time.have_weekday_relative) {
25284 		printf (" / %d", time.relative.weekday);
25285 	}
25286 	if (time.have_weeknr_day) {
25287 		printf(" / %dW%d", time.relative.weeknr_day.weeknr, time.relative.weeknr_day.dayofweek);
25288 	}
25289 	return 0;
25290 }
25291 #endif
25292 
25293 /*
25294  * vim: syntax=c
25295  */
25296